catch up with branch development

Signed-off-by: Ralf Mollik <ramollik@compex-commerce.com>
diff --git a/org.eclipse.osbp.xtext.reportdsl.ide/src-gen/org/eclipse/osbp/xtext/reportdsl/ide/contentassist/antlr/ReportDSLParser.java b/org.eclipse.osbp.xtext.reportdsl.ide/src-gen/org/eclipse/osbp/xtext/reportdsl/ide/contentassist/antlr/ReportDSLParser.java
index 3e7ef81..3f1dd0e 100644
--- a/org.eclipse.osbp.xtext.reportdsl.ide/src-gen/org/eclipse/osbp/xtext/reportdsl/ide/contentassist/antlr/ReportDSLParser.java
+++ b/org.eclipse.osbp.xtext.reportdsl.ide/src-gen/org/eclipse/osbp/xtext/reportdsl/ide/contentassist/antlr/ReportDSLParser.java
@@ -93,6 +93,7 @@
 					put(grammarAccess.getFontStyleEnumAccess().getAlternatives(), "rule__FontStyleEnum__Alternatives");
 					put(grammarAccess.getBuildInFontFamilyEnumAccess().getAlternatives(), "rule__BuildInFontFamilyEnum__Alternatives");
 					put(grammarAccess.getTextAlignEnumAccess().getAlternatives(), "rule__TextAlignEnum__Alternatives");
+					put(grammarAccess.getVerticalTextAlignEnumAccess().getAlternatives(), "rule__VerticalTextAlignEnum__Alternatives");
 					put(grammarAccess.getNumberFormatCategoryEnumAccess().getAlternatives(), "rule__NumberFormatCategoryEnum__Alternatives");
 					put(grammarAccess.getCurrencyFormatCategoryEnumAccess().getAlternatives(), "rule__CurrencyFormatCategoryEnum__Alternatives");
 					put(grammarAccess.getRenderingEnumAccess().getAlternatives(), "rule__RenderingEnum__Alternatives");
@@ -148,6 +149,7 @@
 					put(grammarAccess.getStyleAccess().getGroup_4_14(), "rule__Style__Group_4_14__0");
 					put(grammarAccess.getStyleAccess().getGroup_4_15(), "rule__Style__Group_4_15__0");
 					put(grammarAccess.getStyleAccess().getGroup_4_16(), "rule__Style__Group_4_16__0");
+					put(grammarAccess.getStyleAccess().getGroup_4_17(), "rule__Style__Group_4_17__0");
 					put(grammarAccess.getMediaStyleAccess().getGroup(), "rule__MediaStyle__Group__0");
 					put(grammarAccess.getMediaStyleAccess().getGroup_3_0(), "rule__MediaStyle__Group_3_0__0");
 					put(grammarAccess.getMediaStyleAccess().getGroup_3_1(), "rule__MediaStyle__Group_3_1__0");
@@ -167,6 +169,7 @@
 					put(grammarAccess.getMediaStyleAccess().getGroup_3_14(), "rule__MediaStyle__Group_3_14__0");
 					put(grammarAccess.getMediaStyleAccess().getGroup_3_15(), "rule__MediaStyle__Group_3_15__0");
 					put(grammarAccess.getMediaStyleAccess().getGroup_3_16(), "rule__MediaStyle__Group_3_16__0");
+					put(grammarAccess.getMediaStyleAccess().getGroup_3_17(), "rule__MediaStyle__Group_3_17__0");
 					put(grammarAccess.getUomoFormatAccess().getGroup(), "rule__UomoFormat__Group__0");
 					put(grammarAccess.getNumberFormatAccess().getGroup(), "rule__NumberFormat__Group__0");
 					put(grammarAccess.getCurrencyFormatAccess().getGroup(), "rule__CurrencyFormat__Group__0");
@@ -187,31 +190,28 @@
 					put(grammarAccess.getPageFooterAccess().getGroup(), "rule__PageFooter__Group__0");
 					put(grammarAccess.getGridAccess().getGroup(), "rule__Grid__Group__0");
 					put(grammarAccess.getGridAccess().getGroup_2(), "rule__Grid__Group_2__0");
-					put(grammarAccess.getGridAccess().getGroup_3(), "rule__Grid__Group_3__0");
+					put(grammarAccess.getGridAccess().getGroup_3_0(), "rule__Grid__Group_3_0__0");
+					put(grammarAccess.getGridAccess().getGroup_3_1(), "rule__Grid__Group_3_1__0");
 					put(grammarAccess.getGridRowAccess().getGroup(), "rule__GridRow__Group__0");
 					put(grammarAccess.getGridRowAccess().getGroup_2(), "rule__GridRow__Group_2__0");
-					put(grammarAccess.getGridRowAccess().getGroup_3(), "rule__GridRow__Group_3__0");
-					put(grammarAccess.getGridRowAccess().getGroup_4(), "rule__GridRow__Group_4__0");
+					put(grammarAccess.getGridRowAccess().getGroup_3_0(), "rule__GridRow__Group_3_0__0");
+					put(grammarAccess.getGridRowAccess().getGroup_3_1(), "rule__GridRow__Group_3_1__0");
 					put(grammarAccess.getGridCellAccess().getGroup(), "rule__GridCell__Group__0");
 					put(grammarAccess.getGridCellAccess().getGroup_2(), "rule__GridCell__Group_2__0");
-					put(grammarAccess.getGridCellAccess().getGroup_3(), "rule__GridCell__Group_3__0");
-					put(grammarAccess.getGridCellAccess().getGroup_4(), "rule__GridCell__Group_4__0");
-					put(grammarAccess.getGridCellAccess().getGroup_5(), "rule__GridCell__Group_5__0");
+					put(grammarAccess.getGridCellAccess().getGroup_3_0(), "rule__GridCell__Group_3_0__0");
+					put(grammarAccess.getGridCellAccess().getGroup_3_1(), "rule__GridCell__Group_3_1__0");
+					put(grammarAccess.getGridCellAccess().getGroup_3_2(), "rule__GridCell__Group_3_2__0");
 					put(grammarAccess.getDatamartTableAccess().getGroup(), "rule__DatamartTable__Group__0");
 					put(grammarAccess.getDatamartTableAccess().getGroup_1(), "rule__DatamartTable__Group_1__0");
-					put(grammarAccess.getDatamartTableAccess().getGroup_5(), "rule__DatamartTable__Group_5__0");
-					put(grammarAccess.getDatamartTableAccess().getGroup_5_1(), "rule__DatamartTable__Group_5_1__0");
-					put(grammarAccess.getDatamartTableAccess().getGroup_6(), "rule__DatamartTable__Group_6__0");
-					put(grammarAccess.getDatamartTableAccess().getGroup_6_1(), "rule__DatamartTable__Group_6_1__0");
+					put(grammarAccess.getDatamartTableAccess().getGroup_1_2(), "rule__DatamartTable__Group_1_2__0");
+					put(grammarAccess.getDatamartTableAccess().getGroup_2_0(), "rule__DatamartTable__Group_2_0__0");
 					put(grammarAccess.getDatamartTableGroupAccess().getGroup(), "rule__DatamartTableGroup__Group__0");
-					put(grammarAccess.getDatamartTableGroupAccess().getGroup_8(), "rule__DatamartTableGroup__Group_8__0");
-					put(grammarAccess.getDatamartTableGroupAccess().getGroup_8_1(), "rule__DatamartTableGroup__Group_8_1__0");
-					put(grammarAccess.getDatamartTableGroupAccess().getGroup_9(), "rule__DatamartTableGroup__Group_9__0");
-					put(grammarAccess.getDatamartTableGroupAccess().getGroup_9_1(), "rule__DatamartTableGroup__Group_9_1__0");
-					put(grammarAccess.getDatamartTableGroupHeaderAccess().getGroup(), "rule__DatamartTableGroupHeader__Group__0");
-					put(grammarAccess.getDatamartTableGroupHeaderAccess().getGroup_2(), "rule__DatamartTableGroupHeader__Group_2__0");
-					put(grammarAccess.getDatamartTableGroupFooterAccess().getGroup(), "rule__DatamartTableGroupFooter__Group__0");
-					put(grammarAccess.getDatamartTableGroupFooterAccess().getGroup_2(), "rule__DatamartTableGroupFooter__Group_2__0");
+					put(grammarAccess.getDatamartTableHeaderAccess().getGroup(), "rule__DatamartTableHeader__Group__0");
+					put(grammarAccess.getDatamartTableHeaderAccess().getGroup_2_0(), "rule__DatamartTableHeader__Group_2_0__0");
+					put(grammarAccess.getDatamartTableHeaderAccess().getGroup_3(), "rule__DatamartTableHeader__Group_3__0");
+					put(grammarAccess.getDatamartTableFooterAccess().getGroup(), "rule__DatamartTableFooter__Group__0");
+					put(grammarAccess.getDatamartTableFooterAccess().getGroup_2_0(), "rule__DatamartTableFooter__Group_2_0__0");
+					put(grammarAccess.getDatamartTableFooterAccess().getGroup_3(), "rule__DatamartTableFooter__Group_3__0");
 					put(grammarAccess.getDatamartTableDetailAccess().getGroup(), "rule__DatamartTableDetail__Group__0");
 					put(grammarAccess.getDatamartTableDetailAccess().getGroup_2(), "rule__DatamartTableDetail__Group_2__0");
 					put(grammarAccess.getDatamartTableDetailAccess().getGroup_3_1(), "rule__DatamartTableDetail__Group_3_1__0");
@@ -234,9 +234,9 @@
 					put(grammarAccess.getStringBinderAccess().getGroup(), "rule__StringBinder__Group__0");
 					put(grammarAccess.getStringBinderAccess().getGroup_5(), "rule__StringBinder__Group_5__0");
 					put(grammarAccess.getPageBreakAccess().getGroup(), "rule__PageBreak__Group__0");
-					put(grammarAccess.getPageBreakAccess().getGroup_2(), "rule__PageBreak__Group_2__0");
 					put(grammarAccess.getPageBreakAccess().getGroup_3(), "rule__PageBreak__Group_3__0");
 					put(grammarAccess.getPageBreakAccess().getGroup_4(), "rule__PageBreak__Group_4__0");
+					put(grammarAccess.getPageBreakAccess().getGroup_5(), "rule__PageBreak__Group_5__0");
 					put(grammarAccess.getTableBinaryAggregationAccess().getGroup(), "rule__TableBinaryAggregation__Group__0");
 					put(grammarAccess.getTableNumberIntervalAccess().getGroup(), "rule__TableNumberInterval__Group__0");
 					put(grammarAccess.getTableDateDayIntervalAccess().getGroup(), "rule__TableDateDayInterval__Group__0");
@@ -522,18 +522,19 @@
 					put(grammarAccess.getStyleAccess().getBackgroundcolor_alternateAssignment_4_2_2_1(), "rule__Style__Backgroundcolor_alternateAssignment_4_2_2_1");
 					put(grammarAccess.getStyleAccess().getTextcolorAssignment_4_3_1(), "rule__Style__TextcolorAssignment_4_3_1");
 					put(grammarAccess.getStyleAccess().getTextalignAssignment_4_4_1(), "rule__Style__TextalignAssignment_4_4_1");
-					put(grammarAccess.getStyleAccess().getBorderTopAssignment_4_5_1(), "rule__Style__BorderTopAssignment_4_5_1");
-					put(grammarAccess.getStyleAccess().getBorderBottomAssignment_4_6_1(), "rule__Style__BorderBottomAssignment_4_6_1");
-					put(grammarAccess.getStyleAccess().getBorderLeftAssignment_4_7_1(), "rule__Style__BorderLeftAssignment_4_7_1");
-					put(grammarAccess.getStyleAccess().getBorderRightAssignment_4_8_1(), "rule__Style__BorderRightAssignment_4_8_1");
-					put(grammarAccess.getStyleAccess().getPaddingTopValueAssignment_4_9_1(), "rule__Style__PaddingTopValueAssignment_4_9_1");
-					put(grammarAccess.getStyleAccess().getPaddingBottomValueAssignment_4_10_1(), "rule__Style__PaddingBottomValueAssignment_4_10_1");
-					put(grammarAccess.getStyleAccess().getPaddingLeftValueAssignment_4_11_1(), "rule__Style__PaddingLeftValueAssignment_4_11_1");
-					put(grammarAccess.getStyleAccess().getPaddingRightValueAssignment_4_12_1(), "rule__Style__PaddingRightValueAssignment_4_12_1");
-					put(grammarAccess.getStyleAccess().getMarginTopValueAssignment_4_13_1(), "rule__Style__MarginTopValueAssignment_4_13_1");
-					put(grammarAccess.getStyleAccess().getMarginBottomValueAssignment_4_14_1(), "rule__Style__MarginBottomValueAssignment_4_14_1");
-					put(grammarAccess.getStyleAccess().getMarginLeftValueAssignment_4_15_1(), "rule__Style__MarginLeftValueAssignment_4_15_1");
-					put(grammarAccess.getStyleAccess().getMarginRightValueAssignment_4_16_1(), "rule__Style__MarginRightValueAssignment_4_16_1");
+					put(grammarAccess.getStyleAccess().getVerticalalignAssignment_4_5_1(), "rule__Style__VerticalalignAssignment_4_5_1");
+					put(grammarAccess.getStyleAccess().getBorderTopAssignment_4_6_1(), "rule__Style__BorderTopAssignment_4_6_1");
+					put(grammarAccess.getStyleAccess().getBorderBottomAssignment_4_7_1(), "rule__Style__BorderBottomAssignment_4_7_1");
+					put(grammarAccess.getStyleAccess().getBorderLeftAssignment_4_8_1(), "rule__Style__BorderLeftAssignment_4_8_1");
+					put(grammarAccess.getStyleAccess().getBorderRightAssignment_4_9_1(), "rule__Style__BorderRightAssignment_4_9_1");
+					put(grammarAccess.getStyleAccess().getPaddingTopValueAssignment_4_10_1(), "rule__Style__PaddingTopValueAssignment_4_10_1");
+					put(grammarAccess.getStyleAccess().getPaddingBottomValueAssignment_4_11_1(), "rule__Style__PaddingBottomValueAssignment_4_11_1");
+					put(grammarAccess.getStyleAccess().getPaddingLeftValueAssignment_4_12_1(), "rule__Style__PaddingLeftValueAssignment_4_12_1");
+					put(grammarAccess.getStyleAccess().getPaddingRightValueAssignment_4_13_1(), "rule__Style__PaddingRightValueAssignment_4_13_1");
+					put(grammarAccess.getStyleAccess().getMarginTopValueAssignment_4_14_1(), "rule__Style__MarginTopValueAssignment_4_14_1");
+					put(grammarAccess.getStyleAccess().getMarginBottomValueAssignment_4_15_1(), "rule__Style__MarginBottomValueAssignment_4_15_1");
+					put(grammarAccess.getStyleAccess().getMarginLeftValueAssignment_4_16_1(), "rule__Style__MarginLeftValueAssignment_4_16_1");
+					put(grammarAccess.getStyleAccess().getMarginRightValueAssignment_4_17_1(), "rule__Style__MarginRightValueAssignment_4_17_1");
 					put(grammarAccess.getStyleAccess().getMediastylesAssignment_5(), "rule__Style__MediastylesAssignment_5");
 					put(grammarAccess.getMediaStyleAccess().getMediaAssignment_1(), "rule__MediaStyle__MediaAssignment_1");
 					put(grammarAccess.getMediaStyleAccess().getFormatAssignment_3_0_1(), "rule__MediaStyle__FormatAssignment_3_0_1");
@@ -542,18 +543,19 @@
 					put(grammarAccess.getMediaStyleAccess().getBackgroundcolor_alternateAssignment_3_2_2_1(), "rule__MediaStyle__Backgroundcolor_alternateAssignment_3_2_2_1");
 					put(grammarAccess.getMediaStyleAccess().getTextcolorAssignment_3_3_1(), "rule__MediaStyle__TextcolorAssignment_3_3_1");
 					put(grammarAccess.getMediaStyleAccess().getTextalignAssignment_3_4_1(), "rule__MediaStyle__TextalignAssignment_3_4_1");
-					put(grammarAccess.getMediaStyleAccess().getBorderTopAssignment_3_5_1(), "rule__MediaStyle__BorderTopAssignment_3_5_1");
-					put(grammarAccess.getMediaStyleAccess().getBorderBottomAssignment_3_6_1(), "rule__MediaStyle__BorderBottomAssignment_3_6_1");
-					put(grammarAccess.getMediaStyleAccess().getBorderLeftAssignment_3_7_1(), "rule__MediaStyle__BorderLeftAssignment_3_7_1");
-					put(grammarAccess.getMediaStyleAccess().getBorderRightAssignment_3_8_1(), "rule__MediaStyle__BorderRightAssignment_3_8_1");
-					put(grammarAccess.getMediaStyleAccess().getPaddingTopValueAssignment_3_9_1(), "rule__MediaStyle__PaddingTopValueAssignment_3_9_1");
-					put(grammarAccess.getMediaStyleAccess().getPaddingBottomValueAssignment_3_10_1(), "rule__MediaStyle__PaddingBottomValueAssignment_3_10_1");
-					put(grammarAccess.getMediaStyleAccess().getPaddingLeftValueAssignment_3_11_1(), "rule__MediaStyle__PaddingLeftValueAssignment_3_11_1");
-					put(grammarAccess.getMediaStyleAccess().getPaddingRightValueAssignment_3_12_1(), "rule__MediaStyle__PaddingRightValueAssignment_3_12_1");
-					put(grammarAccess.getMediaStyleAccess().getMarginTopValueAssignment_3_13_1(), "rule__MediaStyle__MarginTopValueAssignment_3_13_1");
-					put(grammarAccess.getMediaStyleAccess().getMarginBottomValueAssignment_3_14_1(), "rule__MediaStyle__MarginBottomValueAssignment_3_14_1");
-					put(grammarAccess.getMediaStyleAccess().getMarginLeftValueAssignment_3_15_1(), "rule__MediaStyle__MarginLeftValueAssignment_3_15_1");
-					put(grammarAccess.getMediaStyleAccess().getMarginRightValueAssignment_3_16_1(), "rule__MediaStyle__MarginRightValueAssignment_3_16_1");
+					put(grammarAccess.getMediaStyleAccess().getVerticalalignAssignment_3_5_1(), "rule__MediaStyle__VerticalalignAssignment_3_5_1");
+					put(grammarAccess.getMediaStyleAccess().getBorderTopAssignment_3_6_1(), "rule__MediaStyle__BorderTopAssignment_3_6_1");
+					put(grammarAccess.getMediaStyleAccess().getBorderBottomAssignment_3_7_1(), "rule__MediaStyle__BorderBottomAssignment_3_7_1");
+					put(grammarAccess.getMediaStyleAccess().getBorderLeftAssignment_3_8_1(), "rule__MediaStyle__BorderLeftAssignment_3_8_1");
+					put(grammarAccess.getMediaStyleAccess().getBorderRightAssignment_3_9_1(), "rule__MediaStyle__BorderRightAssignment_3_9_1");
+					put(grammarAccess.getMediaStyleAccess().getPaddingTopValueAssignment_3_10_1(), "rule__MediaStyle__PaddingTopValueAssignment_3_10_1");
+					put(grammarAccess.getMediaStyleAccess().getPaddingBottomValueAssignment_3_11_1(), "rule__MediaStyle__PaddingBottomValueAssignment_3_11_1");
+					put(grammarAccess.getMediaStyleAccess().getPaddingLeftValueAssignment_3_12_1(), "rule__MediaStyle__PaddingLeftValueAssignment_3_12_1");
+					put(grammarAccess.getMediaStyleAccess().getPaddingRightValueAssignment_3_13_1(), "rule__MediaStyle__PaddingRightValueAssignment_3_13_1");
+					put(grammarAccess.getMediaStyleAccess().getMarginTopValueAssignment_3_14_1(), "rule__MediaStyle__MarginTopValueAssignment_3_14_1");
+					put(grammarAccess.getMediaStyleAccess().getMarginBottomValueAssignment_3_15_1(), "rule__MediaStyle__MarginBottomValueAssignment_3_15_1");
+					put(grammarAccess.getMediaStyleAccess().getMarginLeftValueAssignment_3_16_1(), "rule__MediaStyle__MarginLeftValueAssignment_3_16_1");
+					put(grammarAccess.getMediaStyleAccess().getMarginRightValueAssignment_3_17_1(), "rule__MediaStyle__MarginRightValueAssignment_3_17_1");
 					put(grammarAccess.getUomoFormatAccess().getNameAssignment_1(), "rule__UomoFormat__NameAssignment_1");
 					put(grammarAccess.getUomoFormatAccess().getUi_patternAssignment_4(), "rule__UomoFormat__Ui_patternAssignment_4");
 					put(grammarAccess.getUomoFormatAccess().getReport_patternAssignment_6(), "rule__UomoFormat__Report_patternAssignment_6");
@@ -609,45 +611,42 @@
 					put(grammarAccess.getPageFooterAccess().getHeightValueAssignment_5(), "rule__PageFooter__HeightValueAssignment_5");
 					put(grammarAccess.getPageFooterAccess().getElementsAssignment_6(), "rule__PageFooter__ElementsAssignment_6");
 					put(grammarAccess.getGridAccess().getNameAssignment_2_1(), "rule__Grid__NameAssignment_2_1");
-					put(grammarAccess.getGridAccess().getWidthValueAssignment_3_1(), "rule__Grid__WidthValueAssignment_3_1");
-					put(grammarAccess.getGridAccess().getVisibilityItemAssignment_4(), "rule__Grid__VisibilityItemAssignment_4");
-					put(grammarAccess.getGridAccess().getRowsAssignment_6(), "rule__Grid__RowsAssignment_6");
+					put(grammarAccess.getGridAccess().getStyleAssignment_3_0_1(), "rule__Grid__StyleAssignment_3_0_1");
+					put(grammarAccess.getGridAccess().getWidthValueAssignment_3_1_1(), "rule__Grid__WidthValueAssignment_3_1_1");
+					put(grammarAccess.getGridAccess().getVisibilityItemAssignment_3_2(), "rule__Grid__VisibilityItemAssignment_3_2");
+					put(grammarAccess.getGridAccess().getRowsAssignment_5(), "rule__Grid__RowsAssignment_5");
 					put(grammarAccess.getGridRowAccess().getNameAssignment_2_1(), "rule__GridRow__NameAssignment_2_1");
-					put(grammarAccess.getGridRowAccess().getStyleAssignment_3_1(), "rule__GridRow__StyleAssignment_3_1");
-					put(grammarAccess.getGridRowAccess().getHeightValueAssignment_4_1(), "rule__GridRow__HeightValueAssignment_4_1");
-					put(grammarAccess.getGridRowAccess().getVisibilityItemAssignment_5(), "rule__GridRow__VisibilityItemAssignment_5");
-					put(grammarAccess.getGridRowAccess().getCellsAssignment_7(), "rule__GridRow__CellsAssignment_7");
+					put(grammarAccess.getGridRowAccess().getStyleAssignment_3_0_1(), "rule__GridRow__StyleAssignment_3_0_1");
+					put(grammarAccess.getGridRowAccess().getHeightValueAssignment_3_1_1(), "rule__GridRow__HeightValueAssignment_3_1_1");
+					put(grammarAccess.getGridRowAccess().getVisibilityItemAssignment_3_2(), "rule__GridRow__VisibilityItemAssignment_3_2");
+					put(grammarAccess.getGridRowAccess().getCellsAssignment_5(), "rule__GridRow__CellsAssignment_5");
 					put(grammarAccess.getGridCellAccess().getNameAssignment_2_1(), "rule__GridCell__NameAssignment_2_1");
-					put(grammarAccess.getGridCellAccess().getStyleAssignment_3_1(), "rule__GridCell__StyleAssignment_3_1");
-					put(grammarAccess.getGridCellAccess().getWidthValueAssignment_4_1(), "rule__GridCell__WidthValueAssignment_4_1");
-					put(grammarAccess.getGridCellAccess().getColumnspanAssignment_5_1(), "rule__GridCell__ColumnspanAssignment_5_1");
-					put(grammarAccess.getGridCellAccess().getVisibilityItemAssignment_6(), "rule__GridCell__VisibilityItemAssignment_6");
-					put(grammarAccess.getGridCellAccess().getElementsAssignment_8(), "rule__GridCell__ElementsAssignment_8");
-					put(grammarAccess.getDatamartTableAccess().getStyleAssignment_1_1(), "rule__DatamartTable__StyleAssignment_1_1");
-					put(grammarAccess.getDatamartTableAccess().getVisibilityItemAssignment_2(), "rule__DatamartTable__VisibilityItemAssignment_2");
-					put(grammarAccess.getDatamartTableAccess().getPageBreakAssignment_3(), "rule__DatamartTable__PageBreakAssignment_3");
-					put(grammarAccess.getDatamartTableAccess().getDetailheaderAssignment_5_0(), "rule__DatamartTable__DetailheaderAssignment_5_0");
-					put(grammarAccess.getDatamartTableAccess().getHeaderstyleAssignment_5_1_1(), "rule__DatamartTable__HeaderstyleAssignment_5_1_1");
-					put(grammarAccess.getDatamartTableAccess().getDetailfooterAssignment_6_0(), "rule__DatamartTable__DetailfooterAssignment_6_0");
-					put(grammarAccess.getDatamartTableAccess().getFooterstyleAssignment_6_1_1(), "rule__DatamartTable__FooterstyleAssignment_6_1_1");
-					put(grammarAccess.getDatamartTableAccess().getGroupsAssignment_7(), "rule__DatamartTable__GroupsAssignment_7");
-					put(grammarAccess.getDatamartTableAccess().getDetailAssignment_8(), "rule__DatamartTable__DetailAssignment_8");
+					put(grammarAccess.getGridCellAccess().getStyleAssignment_3_0_1(), "rule__GridCell__StyleAssignment_3_0_1");
+					put(grammarAccess.getGridCellAccess().getWidthValueAssignment_3_1_1(), "rule__GridCell__WidthValueAssignment_3_1_1");
+					put(grammarAccess.getGridCellAccess().getColumnspanAssignment_3_2_1(), "rule__GridCell__ColumnspanAssignment_3_2_1");
+					put(grammarAccess.getGridCellAccess().getVisibilityItemAssignment_3_3(), "rule__GridCell__VisibilityItemAssignment_3_3");
+					put(grammarAccess.getGridCellAccess().getElementsAssignment_5(), "rule__GridCell__ElementsAssignment_5");
+					put(grammarAccess.getDatamartTableAccess().getDatamartRefAssignment_1_1(), "rule__DatamartTable__DatamartRefAssignment_1_1");
+					put(grammarAccess.getDatamartTableAccess().getNameAssignment_1_2_1(), "rule__DatamartTable__NameAssignment_1_2_1");
+					put(grammarAccess.getDatamartTableAccess().getStyleAssignment_2_0_1(), "rule__DatamartTable__StyleAssignment_2_0_1");
+					put(grammarAccess.getDatamartTableAccess().getVisibilityItemAssignment_2_1(), "rule__DatamartTable__VisibilityItemAssignment_2_1");
+					put(grammarAccess.getDatamartTableAccess().getPageBreakAssignment_2_2(), "rule__DatamartTable__PageBreakAssignment_2_2");
+					put(grammarAccess.getDatamartTableAccess().getHeaderAssignment_4(), "rule__DatamartTable__HeaderAssignment_4");
+					put(grammarAccess.getDatamartTableAccess().getGroupsAssignment_5(), "rule__DatamartTable__GroupsAssignment_5");
+					put(grammarAccess.getDatamartTableAccess().getDetailAssignment_6(), "rule__DatamartTable__DetailAssignment_6");
+					put(grammarAccess.getDatamartTableAccess().getFooterAssignment_7(), "rule__DatamartTable__FooterAssignment_7");
 					put(grammarAccess.getDatamartTableGroupAccess().getNameAssignment_1(), "rule__DatamartTableGroup__NameAssignment_1");
 					put(grammarAccess.getDatamartTableGroupAccess().getGroupingRefAssignment_3(), "rule__DatamartTableGroup__GroupingRefAssignment_3");
-					put(grammarAccess.getDatamartTableGroupAccess().getVisibilityItemAssignment_4(), "rule__DatamartTableGroup__VisibilityItemAssignment_4");
-					put(grammarAccess.getDatamartTableGroupAccess().getPageBreakAssignment_5(), "rule__DatamartTableGroup__PageBreakAssignment_5");
-					put(grammarAccess.getDatamartTableGroupAccess().getHeaderAssignment_7(), "rule__DatamartTableGroup__HeaderAssignment_7");
-					put(grammarAccess.getDatamartTableGroupAccess().getDetailheaderAssignment_8_0(), "rule__DatamartTableGroup__DetailheaderAssignment_8_0");
-					put(grammarAccess.getDatamartTableGroupAccess().getHeaderstyleAssignment_8_1_1(), "rule__DatamartTableGroup__HeaderstyleAssignment_8_1_1");
-					put(grammarAccess.getDatamartTableGroupAccess().getDetailfooterAssignment_9_0(), "rule__DatamartTableGroup__DetailfooterAssignment_9_0");
-					put(grammarAccess.getDatamartTableGroupAccess().getFooterstyleAssignment_9_1_1(), "rule__DatamartTableGroup__FooterstyleAssignment_9_1_1");
-					put(grammarAccess.getDatamartTableGroupAccess().getFooterAssignment_10(), "rule__DatamartTableGroup__FooterAssignment_10");
-					put(grammarAccess.getDatamartTableGroupHeaderAccess().getStyleAssignment_2_1(), "rule__DatamartTableGroupHeader__StyleAssignment_2_1");
-					put(grammarAccess.getDatamartTableGroupHeaderAccess().getPageBreakAssignment_3(), "rule__DatamartTableGroupHeader__PageBreakAssignment_3");
-					put(grammarAccess.getDatamartTableGroupHeaderAccess().getRowsAssignment_5(), "rule__DatamartTableGroupHeader__RowsAssignment_5");
-					put(grammarAccess.getDatamartTableGroupFooterAccess().getStyleAssignment_2_1(), "rule__DatamartTableGroupFooter__StyleAssignment_2_1");
-					put(grammarAccess.getDatamartTableGroupFooterAccess().getPageBreakAssignment_3(), "rule__DatamartTableGroupFooter__PageBreakAssignment_3");
-					put(grammarAccess.getDatamartTableGroupFooterAccess().getRowsAssignment_5(), "rule__DatamartTableGroupFooter__RowsAssignment_5");
+					put(grammarAccess.getDatamartTableGroupAccess().getVisibilityItemAssignment_4_0(), "rule__DatamartTableGroup__VisibilityItemAssignment_4_0");
+					put(grammarAccess.getDatamartTableGroupAccess().getPageBreakAssignment_4_1(), "rule__DatamartTableGroup__PageBreakAssignment_4_1");
+					put(grammarAccess.getDatamartTableGroupAccess().getHeaderAssignment_6(), "rule__DatamartTableGroup__HeaderAssignment_6");
+					put(grammarAccess.getDatamartTableGroupAccess().getFooterAssignment_7(), "rule__DatamartTableGroup__FooterAssignment_7");
+					put(grammarAccess.getDatamartTableHeaderAccess().getStyleAssignment_2_0_1(), "rule__DatamartTableHeader__StyleAssignment_2_0_1");
+					put(grammarAccess.getDatamartTableHeaderAccess().getPageBreakAssignment_2_1(), "rule__DatamartTableHeader__PageBreakAssignment_2_1");
+					put(grammarAccess.getDatamartTableHeaderAccess().getRowsAssignment_3_1(), "rule__DatamartTableHeader__RowsAssignment_3_1");
+					put(grammarAccess.getDatamartTableFooterAccess().getStyleAssignment_2_0_1(), "rule__DatamartTableFooter__StyleAssignment_2_0_1");
+					put(grammarAccess.getDatamartTableFooterAccess().getPageBreakAssignment_2_1(), "rule__DatamartTableFooter__PageBreakAssignment_2_1");
+					put(grammarAccess.getDatamartTableFooterAccess().getRowsAssignment_3_1(), "rule__DatamartTableFooter__RowsAssignment_3_1");
 					put(grammarAccess.getDatamartTableDetailAccess().getStyleAssignment_2_1(), "rule__DatamartTableDetail__StyleAssignment_2_1");
 					put(grammarAccess.getDatamartTableDetailAccess().getColumnFormattersAssignment_3_1_1(), "rule__DatamartTableDetail__ColumnFormattersAssignment_3_1_1");
 					put(grammarAccess.getDatamartTableAttributeAccess().getColumnAssignment_0(), "rule__DatamartTableAttribute__ColumnAssignment_0");
@@ -676,9 +675,9 @@
 					put(grammarAccess.getNonTranslatableTextAccess().getValueAssignment_1(), "rule__NonTranslatableText__ValueAssignment_1");
 					put(grammarAccess.getStringBinderAccess().getElementsAssignment_3(), "rule__StringBinder__ElementsAssignment_3");
 					put(grammarAccess.getStringBinderAccess().getStyleAssignment_5_1(), "rule__StringBinder__StyleAssignment_5_1");
-					put(grammarAccess.getPageBreakAccess().getBeforePageBreakAssignment_2_1(), "rule__PageBreak__BeforePageBreakAssignment_2_1");
-					put(grammarAccess.getPageBreakAccess().getAfterPageBreakAssignment_3_1(), "rule__PageBreak__AfterPageBreakAssignment_3_1");
-					put(grammarAccess.getPageBreakAccess().getInsidePageBreakAssignment_4_1(), "rule__PageBreak__InsidePageBreakAssignment_4_1");
+					put(grammarAccess.getPageBreakAccess().getBeforePageBreakAssignment_3_1(), "rule__PageBreak__BeforePageBreakAssignment_3_1");
+					put(grammarAccess.getPageBreakAccess().getAfterPageBreakAssignment_4_1(), "rule__PageBreak__AfterPageBreakAssignment_4_1");
+					put(grammarAccess.getPageBreakAccess().getInsidePageBreakAssignment_5_1(), "rule__PageBreak__InsidePageBreakAssignment_5_1");
 					put(grammarAccess.getTableBinaryAggregationAccess().getAggregationAssignment_0(), "rule__TableBinaryAggregation__AggregationAssignment_0");
 					put(grammarAccess.getTableBinaryAggregationAccess().getValueRefsAssignment_2(), "rule__TableBinaryAggregation__ValueRefsAssignment_2");
 					put(grammarAccess.getTableBinaryAggregationAccess().getValueRefsAssignment_3(), "rule__TableBinaryAggregation__ValueRefsAssignment_3");
@@ -879,6 +878,13 @@
 					put(grammarAccess.getFontAccess().getUnorderedGroup_4(), "rule__Font__UnorderedGroup_4");
 					put(grammarAccess.getStyleAccess().getUnorderedGroup_4(), "rule__Style__UnorderedGroup_4");
 					put(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), "rule__MediaStyle__UnorderedGroup_3");
+					put(grammarAccess.getGridAccess().getUnorderedGroup_3(), "rule__Grid__UnorderedGroup_3");
+					put(grammarAccess.getGridRowAccess().getUnorderedGroup_3(), "rule__GridRow__UnorderedGroup_3");
+					put(grammarAccess.getGridCellAccess().getUnorderedGroup_3(), "rule__GridCell__UnorderedGroup_3");
+					put(grammarAccess.getDatamartTableAccess().getUnorderedGroup_2(), "rule__DatamartTable__UnorderedGroup_2");
+					put(grammarAccess.getDatamartTableGroupAccess().getUnorderedGroup_4(), "rule__DatamartTableGroup__UnorderedGroup_4");
+					put(grammarAccess.getDatamartTableHeaderAccess().getUnorderedGroup_2(), "rule__DatamartTableHeader__UnorderedGroup_2");
+					put(grammarAccess.getDatamartTableFooterAccess().getUnorderedGroup_2(), "rule__DatamartTableFooter__UnorderedGroup_2");
 					put(grammarAccess.getDatamartTableAttributeAccess().getUnorderedGroup_1(), "rule__DatamartTableAttribute__UnorderedGroup_1");
 					put(grammarAccess.getTableImageAccess().getUnorderedGroup_3(), "rule__TableImage__UnorderedGroup_3");
 					put(grammarAccess.getTableAggregationAccess().getUnorderedGroup_2(), "rule__TableAggregation__UnorderedGroup_2");
diff --git a/org.eclipse.osbp.xtext.reportdsl.ide/src-gen/org/eclipse/osbp/xtext/reportdsl/ide/contentassist/antlr/internal/InternalReportDSL.g b/org.eclipse.osbp.xtext.reportdsl.ide/src-gen/org/eclipse/osbp/xtext/reportdsl/ide/contentassist/antlr/internal/InternalReportDSL.g
index 4e535f4..d884d60 100644
--- a/org.eclipse.osbp.xtext.reportdsl.ide/src-gen/org/eclipse/osbp/xtext/reportdsl/ide/contentassist/antlr/internal/InternalReportDSL.g
+++ b/org.eclipse.osbp.xtext.reportdsl.ide/src-gen/org/eclipse/osbp/xtext/reportdsl/ide/contentassist/antlr/internal/InternalReportDSL.g
@@ -1025,50 +1025,50 @@
 	restoreStackSize(stackSize);
 }
 
-// Entry rule entryRuleDatamartTableGroupHeader
-entryRuleDatamartTableGroupHeader
+// Entry rule entryRuleDatamartTableHeader
+entryRuleDatamartTableHeader
 :
-{ before(grammarAccess.getDatamartTableGroupHeaderRule()); }
-	 ruleDatamartTableGroupHeader
-{ after(grammarAccess.getDatamartTableGroupHeaderRule()); } 
+{ before(grammarAccess.getDatamartTableHeaderRule()); }
+	 ruleDatamartTableHeader
+{ after(grammarAccess.getDatamartTableHeaderRule()); } 
 	 EOF 
 ;
 
-// Rule DatamartTableGroupHeader
-ruleDatamartTableGroupHeader 
+// Rule DatamartTableHeader
+ruleDatamartTableHeader 
 	@init {
 		int stackSize = keepStackSize();
 	}
 	:
 	(
-		{ before(grammarAccess.getDatamartTableGroupHeaderAccess().getGroup()); }
-		(rule__DatamartTableGroupHeader__Group__0)
-		{ after(grammarAccess.getDatamartTableGroupHeaderAccess().getGroup()); }
+		{ before(grammarAccess.getDatamartTableHeaderAccess().getGroup()); }
+		(rule__DatamartTableHeader__Group__0)
+		{ after(grammarAccess.getDatamartTableHeaderAccess().getGroup()); }
 	)
 ;
 finally {
 	restoreStackSize(stackSize);
 }
 
-// Entry rule entryRuleDatamartTableGroupFooter
-entryRuleDatamartTableGroupFooter
+// Entry rule entryRuleDatamartTableFooter
+entryRuleDatamartTableFooter
 :
-{ before(grammarAccess.getDatamartTableGroupFooterRule()); }
-	 ruleDatamartTableGroupFooter
-{ after(grammarAccess.getDatamartTableGroupFooterRule()); } 
+{ before(grammarAccess.getDatamartTableFooterRule()); }
+	 ruleDatamartTableFooter
+{ after(grammarAccess.getDatamartTableFooterRule()); } 
 	 EOF 
 ;
 
-// Rule DatamartTableGroupFooter
-ruleDatamartTableGroupFooter 
+// Rule DatamartTableFooter
+ruleDatamartTableFooter 
 	@init {
 		int stackSize = keepStackSize();
 	}
 	:
 	(
-		{ before(grammarAccess.getDatamartTableGroupFooterAccess().getGroup()); }
-		(rule__DatamartTableGroupFooter__Group__0)
-		{ after(grammarAccess.getDatamartTableGroupFooterAccess().getGroup()); }
+		{ before(grammarAccess.getDatamartTableFooterAccess().getGroup()); }
+		(rule__DatamartTableFooter__Group__0)
+		{ after(grammarAccess.getDatamartTableFooterAccess().getGroup()); }
 	)
 ;
 finally {
@@ -4143,6 +4143,22 @@
 	restoreStackSize(stackSize);
 }
 
+// Rule VerticalTextAlignEnum
+ruleVerticalTextAlignEnum
+	@init {
+		int stackSize = keepStackSize();
+	}
+:
+	(
+		{ before(grammarAccess.getVerticalTextAlignEnumAccess().getAlternatives()); }
+		(rule__VerticalTextAlignEnum__Alternatives)
+		{ after(grammarAccess.getVerticalTextAlignEnumAccess().getAlternatives()); }
+	)
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
 // Rule NumberFormatCategoryEnum
 ruleNumberFormatCategoryEnum
 	@init {
@@ -6198,6 +6214,33 @@
 	restoreStackSize(stackSize);
 }
 
+rule__VerticalTextAlignEnum__Alternatives
+	@init {
+		int stackSize = keepStackSize();
+	}
+:
+	(
+		{ before(grammarAccess.getVerticalTextAlignEnumAccess().getBOTTOMEnumLiteralDeclaration_0()); }
+		('bottom')
+		{ after(grammarAccess.getVerticalTextAlignEnumAccess().getBOTTOMEnumLiteralDeclaration_0()); }
+	)
+	|
+	(
+		{ before(grammarAccess.getVerticalTextAlignEnumAccess().getMIDDLEEnumLiteralDeclaration_1()); }
+		('middle')
+		{ after(grammarAccess.getVerticalTextAlignEnumAccess().getMIDDLEEnumLiteralDeclaration_1()); }
+	)
+	|
+	(
+		{ before(grammarAccess.getVerticalTextAlignEnumAccess().getTOPEnumLiteralDeclaration_2()); }
+		('top')
+		{ after(grammarAccess.getVerticalTextAlignEnumAccess().getTOPEnumLiteralDeclaration_2()); }
+	)
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
 rule__NumberFormatCategoryEnum__Alternatives
 	@init {
 		int stackSize = keepStackSize();
@@ -6535,6 +6578,24 @@
 		('page-variable')
 		{ after(grammarAccess.getAutoTextEnumAccess().getPAGE_VARIABLEEnumLiteralDeclaration_4()); }
 	)
+	|
+	(
+		{ before(grammarAccess.getAutoTextEnumAccess().getACTUAL_DATEEnumLiteralDeclaration_5()); }
+		('actual-date')
+		{ after(grammarAccess.getAutoTextEnumAccess().getACTUAL_DATEEnumLiteralDeclaration_5()); }
+	)
+	|
+	(
+		{ before(grammarAccess.getAutoTextEnumAccess().getACTUAL_TIMEEnumLiteralDeclaration_6()); }
+		('actual-time')
+		{ after(grammarAccess.getAutoTextEnumAccess().getACTUAL_TIMEEnumLiteralDeclaration_6()); }
+	)
+	|
+	(
+		{ before(grammarAccess.getAutoTextEnumAccess().getREPORT_NAMEEnumLiteralDeclaration_7()); }
+		('report-name')
+		{ after(grammarAccess.getAutoTextEnumAccess().getREPORT_NAMEEnumLiteralDeclaration_7()); }
+	)
 ;
 finally {
 	restoreStackSize(stackSize);
@@ -9414,7 +9475,7 @@
 :
 (
 	{ before(grammarAccess.getBorderStyleAccess().getColorAssignment_2()); }
-	(rule__BorderStyle__ColorAssignment_2)
+	(rule__BorderStyle__ColorAssignment_2)?
 	{ after(grammarAccess.getBorderStyleAccess().getColorAssignment_2()); }
 )
 ;
@@ -10035,9 +10096,9 @@
 	}
 :
 (
-	{ before(grammarAccess.getStyleAccess().getBorderTopKeyword_4_5_0()); }
-	'border-top'
-	{ after(grammarAccess.getStyleAccess().getBorderTopKeyword_4_5_0()); }
+	{ before(grammarAccess.getStyleAccess().getVerticalalignKeyword_4_5_0()); }
+	'verticalalign'
+	{ after(grammarAccess.getStyleAccess().getVerticalalignKeyword_4_5_0()); }
 )
 ;
 finally {
@@ -10061,9 +10122,9 @@
 	}
 :
 (
-	{ before(grammarAccess.getStyleAccess().getBorderTopAssignment_4_5_1()); }
-	(rule__Style__BorderTopAssignment_4_5_1)
-	{ after(grammarAccess.getStyleAccess().getBorderTopAssignment_4_5_1()); }
+	{ before(grammarAccess.getStyleAccess().getVerticalalignAssignment_4_5_1()); }
+	(rule__Style__VerticalalignAssignment_4_5_1)
+	{ after(grammarAccess.getStyleAccess().getVerticalalignAssignment_4_5_1()); }
 )
 ;
 finally {
@@ -10089,9 +10150,9 @@
 	}
 :
 (
-	{ before(grammarAccess.getStyleAccess().getBorderBottomKeyword_4_6_0()); }
-	'border-bottom'
-	{ after(grammarAccess.getStyleAccess().getBorderBottomKeyword_4_6_0()); }
+	{ before(grammarAccess.getStyleAccess().getBorderTopKeyword_4_6_0()); }
+	'border-top'
+	{ after(grammarAccess.getStyleAccess().getBorderTopKeyword_4_6_0()); }
 )
 ;
 finally {
@@ -10115,9 +10176,9 @@
 	}
 :
 (
-	{ before(grammarAccess.getStyleAccess().getBorderBottomAssignment_4_6_1()); }
-	(rule__Style__BorderBottomAssignment_4_6_1)
-	{ after(grammarAccess.getStyleAccess().getBorderBottomAssignment_4_6_1()); }
+	{ before(grammarAccess.getStyleAccess().getBorderTopAssignment_4_6_1()); }
+	(rule__Style__BorderTopAssignment_4_6_1)
+	{ after(grammarAccess.getStyleAccess().getBorderTopAssignment_4_6_1()); }
 )
 ;
 finally {
@@ -10143,9 +10204,9 @@
 	}
 :
 (
-	{ before(grammarAccess.getStyleAccess().getBorderLeftKeyword_4_7_0()); }
-	'border-left'
-	{ after(grammarAccess.getStyleAccess().getBorderLeftKeyword_4_7_0()); }
+	{ before(grammarAccess.getStyleAccess().getBorderBottomKeyword_4_7_0()); }
+	'border-bottom'
+	{ after(grammarAccess.getStyleAccess().getBorderBottomKeyword_4_7_0()); }
 )
 ;
 finally {
@@ -10169,9 +10230,9 @@
 	}
 :
 (
-	{ before(grammarAccess.getStyleAccess().getBorderLeftAssignment_4_7_1()); }
-	(rule__Style__BorderLeftAssignment_4_7_1)
-	{ after(grammarAccess.getStyleAccess().getBorderLeftAssignment_4_7_1()); }
+	{ before(grammarAccess.getStyleAccess().getBorderBottomAssignment_4_7_1()); }
+	(rule__Style__BorderBottomAssignment_4_7_1)
+	{ after(grammarAccess.getStyleAccess().getBorderBottomAssignment_4_7_1()); }
 )
 ;
 finally {
@@ -10197,9 +10258,9 @@
 	}
 :
 (
-	{ before(grammarAccess.getStyleAccess().getBorderRightKeyword_4_8_0()); }
-	'border-right'
-	{ after(grammarAccess.getStyleAccess().getBorderRightKeyword_4_8_0()); }
+	{ before(grammarAccess.getStyleAccess().getBorderLeftKeyword_4_8_0()); }
+	'border-left'
+	{ after(grammarAccess.getStyleAccess().getBorderLeftKeyword_4_8_0()); }
 )
 ;
 finally {
@@ -10223,9 +10284,9 @@
 	}
 :
 (
-	{ before(grammarAccess.getStyleAccess().getBorderRightAssignment_4_8_1()); }
-	(rule__Style__BorderRightAssignment_4_8_1)
-	{ after(grammarAccess.getStyleAccess().getBorderRightAssignment_4_8_1()); }
+	{ before(grammarAccess.getStyleAccess().getBorderLeftAssignment_4_8_1()); }
+	(rule__Style__BorderLeftAssignment_4_8_1)
+	{ after(grammarAccess.getStyleAccess().getBorderLeftAssignment_4_8_1()); }
 )
 ;
 finally {
@@ -10251,9 +10312,9 @@
 	}
 :
 (
-	{ before(grammarAccess.getStyleAccess().getPaddingTopKeyword_4_9_0()); }
-	'padding-top'
-	{ after(grammarAccess.getStyleAccess().getPaddingTopKeyword_4_9_0()); }
+	{ before(grammarAccess.getStyleAccess().getBorderRightKeyword_4_9_0()); }
+	'border-right'
+	{ after(grammarAccess.getStyleAccess().getBorderRightKeyword_4_9_0()); }
 )
 ;
 finally {
@@ -10277,9 +10338,9 @@
 	}
 :
 (
-	{ before(grammarAccess.getStyleAccess().getPaddingTopValueAssignment_4_9_1()); }
-	(rule__Style__PaddingTopValueAssignment_4_9_1)
-	{ after(grammarAccess.getStyleAccess().getPaddingTopValueAssignment_4_9_1()); }
+	{ before(grammarAccess.getStyleAccess().getBorderRightAssignment_4_9_1()); }
+	(rule__Style__BorderRightAssignment_4_9_1)
+	{ after(grammarAccess.getStyleAccess().getBorderRightAssignment_4_9_1()); }
 )
 ;
 finally {
@@ -10305,9 +10366,9 @@
 	}
 :
 (
-	{ before(grammarAccess.getStyleAccess().getPaddingBottomKeyword_4_10_0()); }
-	'padding-bottom'
-	{ after(grammarAccess.getStyleAccess().getPaddingBottomKeyword_4_10_0()); }
+	{ before(grammarAccess.getStyleAccess().getPaddingTopKeyword_4_10_0()); }
+	'padding-top'
+	{ after(grammarAccess.getStyleAccess().getPaddingTopKeyword_4_10_0()); }
 )
 ;
 finally {
@@ -10331,9 +10392,9 @@
 	}
 :
 (
-	{ before(grammarAccess.getStyleAccess().getPaddingBottomValueAssignment_4_10_1()); }
-	(rule__Style__PaddingBottomValueAssignment_4_10_1)
-	{ after(grammarAccess.getStyleAccess().getPaddingBottomValueAssignment_4_10_1()); }
+	{ before(grammarAccess.getStyleAccess().getPaddingTopValueAssignment_4_10_1()); }
+	(rule__Style__PaddingTopValueAssignment_4_10_1)
+	{ after(grammarAccess.getStyleAccess().getPaddingTopValueAssignment_4_10_1()); }
 )
 ;
 finally {
@@ -10359,9 +10420,9 @@
 	}
 :
 (
-	{ before(grammarAccess.getStyleAccess().getPaddingLeftKeyword_4_11_0()); }
-	'padding-left'
-	{ after(grammarAccess.getStyleAccess().getPaddingLeftKeyword_4_11_0()); }
+	{ before(grammarAccess.getStyleAccess().getPaddingBottomKeyword_4_11_0()); }
+	'padding-bottom'
+	{ after(grammarAccess.getStyleAccess().getPaddingBottomKeyword_4_11_0()); }
 )
 ;
 finally {
@@ -10385,9 +10446,9 @@
 	}
 :
 (
-	{ before(grammarAccess.getStyleAccess().getPaddingLeftValueAssignment_4_11_1()); }
-	(rule__Style__PaddingLeftValueAssignment_4_11_1)
-	{ after(grammarAccess.getStyleAccess().getPaddingLeftValueAssignment_4_11_1()); }
+	{ before(grammarAccess.getStyleAccess().getPaddingBottomValueAssignment_4_11_1()); }
+	(rule__Style__PaddingBottomValueAssignment_4_11_1)
+	{ after(grammarAccess.getStyleAccess().getPaddingBottomValueAssignment_4_11_1()); }
 )
 ;
 finally {
@@ -10413,9 +10474,9 @@
 	}
 :
 (
-	{ before(grammarAccess.getStyleAccess().getPaddingRightKeyword_4_12_0()); }
-	'padding-right'
-	{ after(grammarAccess.getStyleAccess().getPaddingRightKeyword_4_12_0()); }
+	{ before(grammarAccess.getStyleAccess().getPaddingLeftKeyword_4_12_0()); }
+	'padding-left'
+	{ after(grammarAccess.getStyleAccess().getPaddingLeftKeyword_4_12_0()); }
 )
 ;
 finally {
@@ -10439,9 +10500,9 @@
 	}
 :
 (
-	{ before(grammarAccess.getStyleAccess().getPaddingRightValueAssignment_4_12_1()); }
-	(rule__Style__PaddingRightValueAssignment_4_12_1)
-	{ after(grammarAccess.getStyleAccess().getPaddingRightValueAssignment_4_12_1()); }
+	{ before(grammarAccess.getStyleAccess().getPaddingLeftValueAssignment_4_12_1()); }
+	(rule__Style__PaddingLeftValueAssignment_4_12_1)
+	{ after(grammarAccess.getStyleAccess().getPaddingLeftValueAssignment_4_12_1()); }
 )
 ;
 finally {
@@ -10467,9 +10528,9 @@
 	}
 :
 (
-	{ before(grammarAccess.getStyleAccess().getMarginTopKeyword_4_13_0()); }
-	'margin-top'
-	{ after(grammarAccess.getStyleAccess().getMarginTopKeyword_4_13_0()); }
+	{ before(grammarAccess.getStyleAccess().getPaddingRightKeyword_4_13_0()); }
+	'padding-right'
+	{ after(grammarAccess.getStyleAccess().getPaddingRightKeyword_4_13_0()); }
 )
 ;
 finally {
@@ -10493,9 +10554,9 @@
 	}
 :
 (
-	{ before(grammarAccess.getStyleAccess().getMarginTopValueAssignment_4_13_1()); }
-	(rule__Style__MarginTopValueAssignment_4_13_1)
-	{ after(grammarAccess.getStyleAccess().getMarginTopValueAssignment_4_13_1()); }
+	{ before(grammarAccess.getStyleAccess().getPaddingRightValueAssignment_4_13_1()); }
+	(rule__Style__PaddingRightValueAssignment_4_13_1)
+	{ after(grammarAccess.getStyleAccess().getPaddingRightValueAssignment_4_13_1()); }
 )
 ;
 finally {
@@ -10521,9 +10582,9 @@
 	}
 :
 (
-	{ before(grammarAccess.getStyleAccess().getMarginBottomKeyword_4_14_0()); }
-	'margin-bottom'
-	{ after(grammarAccess.getStyleAccess().getMarginBottomKeyword_4_14_0()); }
+	{ before(grammarAccess.getStyleAccess().getMarginTopKeyword_4_14_0()); }
+	'margin-top'
+	{ after(grammarAccess.getStyleAccess().getMarginTopKeyword_4_14_0()); }
 )
 ;
 finally {
@@ -10547,9 +10608,9 @@
 	}
 :
 (
-	{ before(grammarAccess.getStyleAccess().getMarginBottomValueAssignment_4_14_1()); }
-	(rule__Style__MarginBottomValueAssignment_4_14_1)
-	{ after(grammarAccess.getStyleAccess().getMarginBottomValueAssignment_4_14_1()); }
+	{ before(grammarAccess.getStyleAccess().getMarginTopValueAssignment_4_14_1()); }
+	(rule__Style__MarginTopValueAssignment_4_14_1)
+	{ after(grammarAccess.getStyleAccess().getMarginTopValueAssignment_4_14_1()); }
 )
 ;
 finally {
@@ -10575,9 +10636,9 @@
 	}
 :
 (
-	{ before(grammarAccess.getStyleAccess().getMarginLeftKeyword_4_15_0()); }
-	'margin-left'
-	{ after(grammarAccess.getStyleAccess().getMarginLeftKeyword_4_15_0()); }
+	{ before(grammarAccess.getStyleAccess().getMarginBottomKeyword_4_15_0()); }
+	'margin-bottom'
+	{ after(grammarAccess.getStyleAccess().getMarginBottomKeyword_4_15_0()); }
 )
 ;
 finally {
@@ -10601,9 +10662,9 @@
 	}
 :
 (
-	{ before(grammarAccess.getStyleAccess().getMarginLeftValueAssignment_4_15_1()); }
-	(rule__Style__MarginLeftValueAssignment_4_15_1)
-	{ after(grammarAccess.getStyleAccess().getMarginLeftValueAssignment_4_15_1()); }
+	{ before(grammarAccess.getStyleAccess().getMarginBottomValueAssignment_4_15_1()); }
+	(rule__Style__MarginBottomValueAssignment_4_15_1)
+	{ after(grammarAccess.getStyleAccess().getMarginBottomValueAssignment_4_15_1()); }
 )
 ;
 finally {
@@ -10629,9 +10690,9 @@
 	}
 :
 (
-	{ before(grammarAccess.getStyleAccess().getMarginRightKeyword_4_16_0()); }
-	'margin-right'
-	{ after(grammarAccess.getStyleAccess().getMarginRightKeyword_4_16_0()); }
+	{ before(grammarAccess.getStyleAccess().getMarginLeftKeyword_4_16_0()); }
+	'margin-left'
+	{ after(grammarAccess.getStyleAccess().getMarginLeftKeyword_4_16_0()); }
 )
 ;
 finally {
@@ -10655,9 +10716,63 @@
 	}
 :
 (
-	{ before(grammarAccess.getStyleAccess().getMarginRightValueAssignment_4_16_1()); }
-	(rule__Style__MarginRightValueAssignment_4_16_1)
-	{ after(grammarAccess.getStyleAccess().getMarginRightValueAssignment_4_16_1()); }
+	{ before(grammarAccess.getStyleAccess().getMarginLeftValueAssignment_4_16_1()); }
+	(rule__Style__MarginLeftValueAssignment_4_16_1)
+	{ after(grammarAccess.getStyleAccess().getMarginLeftValueAssignment_4_16_1()); }
+)
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+rule__Style__Group_4_17__0
+	@init {
+		int stackSize = keepStackSize();
+	}
+:
+	rule__Style__Group_4_17__0__Impl
+	rule__Style__Group_4_17__1
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__Style__Group_4_17__0__Impl
+	@init {
+		int stackSize = keepStackSize();
+	}
+:
+(
+	{ before(grammarAccess.getStyleAccess().getMarginRightKeyword_4_17_0()); }
+	'margin-right'
+	{ after(grammarAccess.getStyleAccess().getMarginRightKeyword_4_17_0()); }
+)
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__Style__Group_4_17__1
+	@init {
+		int stackSize = keepStackSize();
+	}
+:
+	rule__Style__Group_4_17__1__Impl
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__Style__Group_4_17__1__Impl
+	@init {
+		int stackSize = keepStackSize();
+	}
+:
+(
+	{ before(grammarAccess.getStyleAccess().getMarginRightValueAssignment_4_17_1()); }
+	(rule__Style__MarginRightValueAssignment_4_17_1)
+	{ after(grammarAccess.getStyleAccess().getMarginRightValueAssignment_4_17_1()); }
 )
 ;
 finally {
@@ -11169,9 +11284,9 @@
 	}
 :
 (
-	{ before(grammarAccess.getMediaStyleAccess().getBorderTopKeyword_3_5_0()); }
-	'border-top'
-	{ after(grammarAccess.getMediaStyleAccess().getBorderTopKeyword_3_5_0()); }
+	{ before(grammarAccess.getMediaStyleAccess().getVerticalalignKeyword_3_5_0()); }
+	'verticalalign'
+	{ after(grammarAccess.getMediaStyleAccess().getVerticalalignKeyword_3_5_0()); }
 )
 ;
 finally {
@@ -11195,9 +11310,9 @@
 	}
 :
 (
-	{ before(grammarAccess.getMediaStyleAccess().getBorderTopAssignment_3_5_1()); }
-	(rule__MediaStyle__BorderTopAssignment_3_5_1)
-	{ after(grammarAccess.getMediaStyleAccess().getBorderTopAssignment_3_5_1()); }
+	{ before(grammarAccess.getMediaStyleAccess().getVerticalalignAssignment_3_5_1()); }
+	(rule__MediaStyle__VerticalalignAssignment_3_5_1)
+	{ after(grammarAccess.getMediaStyleAccess().getVerticalalignAssignment_3_5_1()); }
 )
 ;
 finally {
@@ -11223,9 +11338,9 @@
 	}
 :
 (
-	{ before(grammarAccess.getMediaStyleAccess().getBorderBottomKeyword_3_6_0()); }
-	'border-bottom'
-	{ after(grammarAccess.getMediaStyleAccess().getBorderBottomKeyword_3_6_0()); }
+	{ before(grammarAccess.getMediaStyleAccess().getBorderTopKeyword_3_6_0()); }
+	'border-top'
+	{ after(grammarAccess.getMediaStyleAccess().getBorderTopKeyword_3_6_0()); }
 )
 ;
 finally {
@@ -11249,9 +11364,9 @@
 	}
 :
 (
-	{ before(grammarAccess.getMediaStyleAccess().getBorderBottomAssignment_3_6_1()); }
-	(rule__MediaStyle__BorderBottomAssignment_3_6_1)
-	{ after(grammarAccess.getMediaStyleAccess().getBorderBottomAssignment_3_6_1()); }
+	{ before(grammarAccess.getMediaStyleAccess().getBorderTopAssignment_3_6_1()); }
+	(rule__MediaStyle__BorderTopAssignment_3_6_1)
+	{ after(grammarAccess.getMediaStyleAccess().getBorderTopAssignment_3_6_1()); }
 )
 ;
 finally {
@@ -11277,9 +11392,9 @@
 	}
 :
 (
-	{ before(grammarAccess.getMediaStyleAccess().getBorderLeftKeyword_3_7_0()); }
-	'border-left'
-	{ after(grammarAccess.getMediaStyleAccess().getBorderLeftKeyword_3_7_0()); }
+	{ before(grammarAccess.getMediaStyleAccess().getBorderBottomKeyword_3_7_0()); }
+	'border-bottom'
+	{ after(grammarAccess.getMediaStyleAccess().getBorderBottomKeyword_3_7_0()); }
 )
 ;
 finally {
@@ -11303,9 +11418,9 @@
 	}
 :
 (
-	{ before(grammarAccess.getMediaStyleAccess().getBorderLeftAssignment_3_7_1()); }
-	(rule__MediaStyle__BorderLeftAssignment_3_7_1)
-	{ after(grammarAccess.getMediaStyleAccess().getBorderLeftAssignment_3_7_1()); }
+	{ before(grammarAccess.getMediaStyleAccess().getBorderBottomAssignment_3_7_1()); }
+	(rule__MediaStyle__BorderBottomAssignment_3_7_1)
+	{ after(grammarAccess.getMediaStyleAccess().getBorderBottomAssignment_3_7_1()); }
 )
 ;
 finally {
@@ -11331,9 +11446,9 @@
 	}
 :
 (
-	{ before(grammarAccess.getMediaStyleAccess().getBorderRightKeyword_3_8_0()); }
-	'border-right'
-	{ after(grammarAccess.getMediaStyleAccess().getBorderRightKeyword_3_8_0()); }
+	{ before(grammarAccess.getMediaStyleAccess().getBorderLeftKeyword_3_8_0()); }
+	'border-left'
+	{ after(grammarAccess.getMediaStyleAccess().getBorderLeftKeyword_3_8_0()); }
 )
 ;
 finally {
@@ -11357,9 +11472,9 @@
 	}
 :
 (
-	{ before(grammarAccess.getMediaStyleAccess().getBorderRightAssignment_3_8_1()); }
-	(rule__MediaStyle__BorderRightAssignment_3_8_1)
-	{ after(grammarAccess.getMediaStyleAccess().getBorderRightAssignment_3_8_1()); }
+	{ before(grammarAccess.getMediaStyleAccess().getBorderLeftAssignment_3_8_1()); }
+	(rule__MediaStyle__BorderLeftAssignment_3_8_1)
+	{ after(grammarAccess.getMediaStyleAccess().getBorderLeftAssignment_3_8_1()); }
 )
 ;
 finally {
@@ -11385,9 +11500,9 @@
 	}
 :
 (
-	{ before(grammarAccess.getMediaStyleAccess().getPaddingTopKeyword_3_9_0()); }
-	'padding-top'
-	{ after(grammarAccess.getMediaStyleAccess().getPaddingTopKeyword_3_9_0()); }
+	{ before(grammarAccess.getMediaStyleAccess().getBorderRightKeyword_3_9_0()); }
+	'border-right'
+	{ after(grammarAccess.getMediaStyleAccess().getBorderRightKeyword_3_9_0()); }
 )
 ;
 finally {
@@ -11411,9 +11526,9 @@
 	}
 :
 (
-	{ before(grammarAccess.getMediaStyleAccess().getPaddingTopValueAssignment_3_9_1()); }
-	(rule__MediaStyle__PaddingTopValueAssignment_3_9_1)
-	{ after(grammarAccess.getMediaStyleAccess().getPaddingTopValueAssignment_3_9_1()); }
+	{ before(grammarAccess.getMediaStyleAccess().getBorderRightAssignment_3_9_1()); }
+	(rule__MediaStyle__BorderRightAssignment_3_9_1)
+	{ after(grammarAccess.getMediaStyleAccess().getBorderRightAssignment_3_9_1()); }
 )
 ;
 finally {
@@ -11439,9 +11554,9 @@
 	}
 :
 (
-	{ before(grammarAccess.getMediaStyleAccess().getPaddingBottomKeyword_3_10_0()); }
-	'padding-bottom'
-	{ after(grammarAccess.getMediaStyleAccess().getPaddingBottomKeyword_3_10_0()); }
+	{ before(grammarAccess.getMediaStyleAccess().getPaddingTopKeyword_3_10_0()); }
+	'padding-top'
+	{ after(grammarAccess.getMediaStyleAccess().getPaddingTopKeyword_3_10_0()); }
 )
 ;
 finally {
@@ -11465,9 +11580,9 @@
 	}
 :
 (
-	{ before(grammarAccess.getMediaStyleAccess().getPaddingBottomValueAssignment_3_10_1()); }
-	(rule__MediaStyle__PaddingBottomValueAssignment_3_10_1)
-	{ after(grammarAccess.getMediaStyleAccess().getPaddingBottomValueAssignment_3_10_1()); }
+	{ before(grammarAccess.getMediaStyleAccess().getPaddingTopValueAssignment_3_10_1()); }
+	(rule__MediaStyle__PaddingTopValueAssignment_3_10_1)
+	{ after(grammarAccess.getMediaStyleAccess().getPaddingTopValueAssignment_3_10_1()); }
 )
 ;
 finally {
@@ -11493,9 +11608,9 @@
 	}
 :
 (
-	{ before(grammarAccess.getMediaStyleAccess().getPaddingLeftKeyword_3_11_0()); }
-	'padding-left'
-	{ after(grammarAccess.getMediaStyleAccess().getPaddingLeftKeyword_3_11_0()); }
+	{ before(grammarAccess.getMediaStyleAccess().getPaddingBottomKeyword_3_11_0()); }
+	'padding-bottom'
+	{ after(grammarAccess.getMediaStyleAccess().getPaddingBottomKeyword_3_11_0()); }
 )
 ;
 finally {
@@ -11519,9 +11634,9 @@
 	}
 :
 (
-	{ before(grammarAccess.getMediaStyleAccess().getPaddingLeftValueAssignment_3_11_1()); }
-	(rule__MediaStyle__PaddingLeftValueAssignment_3_11_1)
-	{ after(grammarAccess.getMediaStyleAccess().getPaddingLeftValueAssignment_3_11_1()); }
+	{ before(grammarAccess.getMediaStyleAccess().getPaddingBottomValueAssignment_3_11_1()); }
+	(rule__MediaStyle__PaddingBottomValueAssignment_3_11_1)
+	{ after(grammarAccess.getMediaStyleAccess().getPaddingBottomValueAssignment_3_11_1()); }
 )
 ;
 finally {
@@ -11547,9 +11662,9 @@
 	}
 :
 (
-	{ before(grammarAccess.getMediaStyleAccess().getPaddingRightKeyword_3_12_0()); }
-	'padding-right'
-	{ after(grammarAccess.getMediaStyleAccess().getPaddingRightKeyword_3_12_0()); }
+	{ before(grammarAccess.getMediaStyleAccess().getPaddingLeftKeyword_3_12_0()); }
+	'padding-left'
+	{ after(grammarAccess.getMediaStyleAccess().getPaddingLeftKeyword_3_12_0()); }
 )
 ;
 finally {
@@ -11573,9 +11688,9 @@
 	}
 :
 (
-	{ before(grammarAccess.getMediaStyleAccess().getPaddingRightValueAssignment_3_12_1()); }
-	(rule__MediaStyle__PaddingRightValueAssignment_3_12_1)
-	{ after(grammarAccess.getMediaStyleAccess().getPaddingRightValueAssignment_3_12_1()); }
+	{ before(grammarAccess.getMediaStyleAccess().getPaddingLeftValueAssignment_3_12_1()); }
+	(rule__MediaStyle__PaddingLeftValueAssignment_3_12_1)
+	{ after(grammarAccess.getMediaStyleAccess().getPaddingLeftValueAssignment_3_12_1()); }
 )
 ;
 finally {
@@ -11601,9 +11716,9 @@
 	}
 :
 (
-	{ before(grammarAccess.getMediaStyleAccess().getMarginTopKeyword_3_13_0()); }
-	'margin-top'
-	{ after(grammarAccess.getMediaStyleAccess().getMarginTopKeyword_3_13_0()); }
+	{ before(grammarAccess.getMediaStyleAccess().getPaddingRightKeyword_3_13_0()); }
+	'padding-right'
+	{ after(grammarAccess.getMediaStyleAccess().getPaddingRightKeyword_3_13_0()); }
 )
 ;
 finally {
@@ -11627,9 +11742,9 @@
 	}
 :
 (
-	{ before(grammarAccess.getMediaStyleAccess().getMarginTopValueAssignment_3_13_1()); }
-	(rule__MediaStyle__MarginTopValueAssignment_3_13_1)
-	{ after(grammarAccess.getMediaStyleAccess().getMarginTopValueAssignment_3_13_1()); }
+	{ before(grammarAccess.getMediaStyleAccess().getPaddingRightValueAssignment_3_13_1()); }
+	(rule__MediaStyle__PaddingRightValueAssignment_3_13_1)
+	{ after(grammarAccess.getMediaStyleAccess().getPaddingRightValueAssignment_3_13_1()); }
 )
 ;
 finally {
@@ -11655,9 +11770,9 @@
 	}
 :
 (
-	{ before(grammarAccess.getMediaStyleAccess().getMarginBottomKeyword_3_14_0()); }
-	'margin-bottom'
-	{ after(grammarAccess.getMediaStyleAccess().getMarginBottomKeyword_3_14_0()); }
+	{ before(grammarAccess.getMediaStyleAccess().getMarginTopKeyword_3_14_0()); }
+	'margin-top'
+	{ after(grammarAccess.getMediaStyleAccess().getMarginTopKeyword_3_14_0()); }
 )
 ;
 finally {
@@ -11681,9 +11796,9 @@
 	}
 :
 (
-	{ before(grammarAccess.getMediaStyleAccess().getMarginBottomValueAssignment_3_14_1()); }
-	(rule__MediaStyle__MarginBottomValueAssignment_3_14_1)
-	{ after(grammarAccess.getMediaStyleAccess().getMarginBottomValueAssignment_3_14_1()); }
+	{ before(grammarAccess.getMediaStyleAccess().getMarginTopValueAssignment_3_14_1()); }
+	(rule__MediaStyle__MarginTopValueAssignment_3_14_1)
+	{ after(grammarAccess.getMediaStyleAccess().getMarginTopValueAssignment_3_14_1()); }
 )
 ;
 finally {
@@ -11709,9 +11824,9 @@
 	}
 :
 (
-	{ before(grammarAccess.getMediaStyleAccess().getMarginLeftKeyword_3_15_0()); }
-	'margin-left'
-	{ after(grammarAccess.getMediaStyleAccess().getMarginLeftKeyword_3_15_0()); }
+	{ before(grammarAccess.getMediaStyleAccess().getMarginBottomKeyword_3_15_0()); }
+	'margin-bottom'
+	{ after(grammarAccess.getMediaStyleAccess().getMarginBottomKeyword_3_15_0()); }
 )
 ;
 finally {
@@ -11735,9 +11850,9 @@
 	}
 :
 (
-	{ before(grammarAccess.getMediaStyleAccess().getMarginLeftValueAssignment_3_15_1()); }
-	(rule__MediaStyle__MarginLeftValueAssignment_3_15_1)
-	{ after(grammarAccess.getMediaStyleAccess().getMarginLeftValueAssignment_3_15_1()); }
+	{ before(grammarAccess.getMediaStyleAccess().getMarginBottomValueAssignment_3_15_1()); }
+	(rule__MediaStyle__MarginBottomValueAssignment_3_15_1)
+	{ after(grammarAccess.getMediaStyleAccess().getMarginBottomValueAssignment_3_15_1()); }
 )
 ;
 finally {
@@ -11763,9 +11878,9 @@
 	}
 :
 (
-	{ before(grammarAccess.getMediaStyleAccess().getMarginRightKeyword_3_16_0()); }
-	'margin-right'
-	{ after(grammarAccess.getMediaStyleAccess().getMarginRightKeyword_3_16_0()); }
+	{ before(grammarAccess.getMediaStyleAccess().getMarginLeftKeyword_3_16_0()); }
+	'margin-left'
+	{ after(grammarAccess.getMediaStyleAccess().getMarginLeftKeyword_3_16_0()); }
 )
 ;
 finally {
@@ -11789,9 +11904,63 @@
 	}
 :
 (
-	{ before(grammarAccess.getMediaStyleAccess().getMarginRightValueAssignment_3_16_1()); }
-	(rule__MediaStyle__MarginRightValueAssignment_3_16_1)
-	{ after(grammarAccess.getMediaStyleAccess().getMarginRightValueAssignment_3_16_1()); }
+	{ before(grammarAccess.getMediaStyleAccess().getMarginLeftValueAssignment_3_16_1()); }
+	(rule__MediaStyle__MarginLeftValueAssignment_3_16_1)
+	{ after(grammarAccess.getMediaStyleAccess().getMarginLeftValueAssignment_3_16_1()); }
+)
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+rule__MediaStyle__Group_3_17__0
+	@init {
+		int stackSize = keepStackSize();
+	}
+:
+	rule__MediaStyle__Group_3_17__0__Impl
+	rule__MediaStyle__Group_3_17__1
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__MediaStyle__Group_3_17__0__Impl
+	@init {
+		int stackSize = keepStackSize();
+	}
+:
+(
+	{ before(grammarAccess.getMediaStyleAccess().getMarginRightKeyword_3_17_0()); }
+	'margin-right'
+	{ after(grammarAccess.getMediaStyleAccess().getMarginRightKeyword_3_17_0()); }
+)
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__MediaStyle__Group_3_17__1
+	@init {
+		int stackSize = keepStackSize();
+	}
+:
+	rule__MediaStyle__Group_3_17__1__Impl
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__MediaStyle__Group_3_17__1__Impl
+	@init {
+		int stackSize = keepStackSize();
+	}
+:
+(
+	{ before(grammarAccess.getMediaStyleAccess().getMarginRightValueAssignment_3_17_1()); }
+	(rule__MediaStyle__MarginRightValueAssignment_3_17_1)
+	{ after(grammarAccess.getMediaStyleAccess().getMarginRightValueAssignment_3_17_1()); }
 )
 ;
 finally {
@@ -15300,9 +15469,9 @@
 	}
 :
 (
-	{ before(grammarAccess.getGridAccess().getGroup_3()); }
-	(rule__Grid__Group_3__0)?
-	{ after(grammarAccess.getGridAccess().getGroup_3()); }
+	{ before(grammarAccess.getGridAccess().getUnorderedGroup_3()); }
+	(rule__Grid__UnorderedGroup_3)
+	{ after(grammarAccess.getGridAccess().getUnorderedGroup_3()); }
 )
 ;
 finally {
@@ -15327,9 +15496,9 @@
 	}
 :
 (
-	{ before(grammarAccess.getGridAccess().getVisibilityItemAssignment_4()); }
-	(rule__Grid__VisibilityItemAssignment_4)?
-	{ after(grammarAccess.getGridAccess().getVisibilityItemAssignment_4()); }
+	{ before(grammarAccess.getGridAccess().getLeftCurlyBracketKeyword_4()); }
+	'{'
+	{ after(grammarAccess.getGridAccess().getLeftCurlyBracketKeyword_4()); }
 )
 ;
 finally {
@@ -15354,9 +15523,9 @@
 	}
 :
 (
-	{ before(grammarAccess.getGridAccess().getLeftCurlyBracketKeyword_5()); }
-	'{'
-	{ after(grammarAccess.getGridAccess().getLeftCurlyBracketKeyword_5()); }
+	{ before(grammarAccess.getGridAccess().getRowsAssignment_5()); }
+	(rule__Grid__RowsAssignment_5)*
+	{ after(grammarAccess.getGridAccess().getRowsAssignment_5()); }
 )
 ;
 finally {
@@ -15369,7 +15538,6 @@
 	}
 :
 	rule__Grid__Group__6__Impl
-	rule__Grid__Group__7
 ;
 finally {
 	restoreStackSize(stackSize);
@@ -15381,35 +15549,9 @@
 	}
 :
 (
-	{ before(grammarAccess.getGridAccess().getRowsAssignment_6()); }
-	(rule__Grid__RowsAssignment_6)*
-	{ after(grammarAccess.getGridAccess().getRowsAssignment_6()); }
-)
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__Grid__Group__7
-	@init {
-		int stackSize = keepStackSize();
-	}
-:
-	rule__Grid__Group__7__Impl
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__Grid__Group__7__Impl
-	@init {
-		int stackSize = keepStackSize();
-	}
-:
-(
-	{ before(grammarAccess.getGridAccess().getRightCurlyBracketKeyword_7()); }
+	{ before(grammarAccess.getGridAccess().getRightCurlyBracketKeyword_6()); }
 	'}'
-	{ after(grammarAccess.getGridAccess().getRightCurlyBracketKeyword_7()); }
+	{ after(grammarAccess.getGridAccess().getRightCurlyBracketKeyword_6()); }
 )
 ;
 finally {
@@ -15471,53 +15613,107 @@
 }
 
 
-rule__Grid__Group_3__0
+rule__Grid__Group_3_0__0
 	@init {
 		int stackSize = keepStackSize();
 	}
 :
-	rule__Grid__Group_3__0__Impl
-	rule__Grid__Group_3__1
+	rule__Grid__Group_3_0__0__Impl
+	rule__Grid__Group_3_0__1
 ;
 finally {
 	restoreStackSize(stackSize);
 }
 
-rule__Grid__Group_3__0__Impl
+rule__Grid__Group_3_0__0__Impl
 	@init {
 		int stackSize = keepStackSize();
 	}
 :
 (
-	{ before(grammarAccess.getGridAccess().getWidthKeyword_3_0()); }
-	'width'
-	{ after(grammarAccess.getGridAccess().getWidthKeyword_3_0()); }
+	{ before(grammarAccess.getGridAccess().getStyleKeyword_3_0_0()); }
+	'style'
+	{ after(grammarAccess.getGridAccess().getStyleKeyword_3_0_0()); }
 )
 ;
 finally {
 	restoreStackSize(stackSize);
 }
 
-rule__Grid__Group_3__1
+rule__Grid__Group_3_0__1
 	@init {
 		int stackSize = keepStackSize();
 	}
 :
-	rule__Grid__Group_3__1__Impl
+	rule__Grid__Group_3_0__1__Impl
 ;
 finally {
 	restoreStackSize(stackSize);
 }
 
-rule__Grid__Group_3__1__Impl
+rule__Grid__Group_3_0__1__Impl
 	@init {
 		int stackSize = keepStackSize();
 	}
 :
 (
-	{ before(grammarAccess.getGridAccess().getWidthValueAssignment_3_1()); }
-	(rule__Grid__WidthValueAssignment_3_1)
-	{ after(grammarAccess.getGridAccess().getWidthValueAssignment_3_1()); }
+	{ before(grammarAccess.getGridAccess().getStyleAssignment_3_0_1()); }
+	(rule__Grid__StyleAssignment_3_0_1)
+	{ after(grammarAccess.getGridAccess().getStyleAssignment_3_0_1()); }
+)
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+rule__Grid__Group_3_1__0
+	@init {
+		int stackSize = keepStackSize();
+	}
+:
+	rule__Grid__Group_3_1__0__Impl
+	rule__Grid__Group_3_1__1
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__Grid__Group_3_1__0__Impl
+	@init {
+		int stackSize = keepStackSize();
+	}
+:
+(
+	{ before(grammarAccess.getGridAccess().getWidthKeyword_3_1_0()); }
+	'width'
+	{ after(grammarAccess.getGridAccess().getWidthKeyword_3_1_0()); }
+)
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__Grid__Group_3_1__1
+	@init {
+		int stackSize = keepStackSize();
+	}
+:
+	rule__Grid__Group_3_1__1__Impl
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__Grid__Group_3_1__1__Impl
+	@init {
+		int stackSize = keepStackSize();
+	}
+:
+(
+	{ before(grammarAccess.getGridAccess().getWidthValueAssignment_3_1_1()); }
+	(rule__Grid__WidthValueAssignment_3_1_1)
+	{ after(grammarAccess.getGridAccess().getWidthValueAssignment_3_1_1()); }
 )
 ;
 finally {
@@ -15624,9 +15820,9 @@
 	}
 :
 (
-	{ before(grammarAccess.getGridRowAccess().getGroup_3()); }
-	(rule__GridRow__Group_3__0)?
-	{ after(grammarAccess.getGridRowAccess().getGroup_3()); }
+	{ before(grammarAccess.getGridRowAccess().getUnorderedGroup_3()); }
+	(rule__GridRow__UnorderedGroup_3)
+	{ after(grammarAccess.getGridRowAccess().getUnorderedGroup_3()); }
 )
 ;
 finally {
@@ -15651,9 +15847,9 @@
 	}
 :
 (
-	{ before(grammarAccess.getGridRowAccess().getGroup_4()); }
-	(rule__GridRow__Group_4__0)?
-	{ after(grammarAccess.getGridRowAccess().getGroup_4()); }
+	{ before(grammarAccess.getGridRowAccess().getLeftCurlyBracketKeyword_4()); }
+	'{'
+	{ after(grammarAccess.getGridRowAccess().getLeftCurlyBracketKeyword_4()); }
 )
 ;
 finally {
@@ -15678,9 +15874,9 @@
 	}
 :
 (
-	{ before(grammarAccess.getGridRowAccess().getVisibilityItemAssignment_5()); }
-	(rule__GridRow__VisibilityItemAssignment_5)?
-	{ after(grammarAccess.getGridRowAccess().getVisibilityItemAssignment_5()); }
+	{ before(grammarAccess.getGridRowAccess().getCellsAssignment_5()); }
+	(rule__GridRow__CellsAssignment_5)*
+	{ after(grammarAccess.getGridRowAccess().getCellsAssignment_5()); }
 )
 ;
 finally {
@@ -15693,7 +15889,6 @@
 	}
 :
 	rule__GridRow__Group__6__Impl
-	rule__GridRow__Group__7
 ;
 finally {
 	restoreStackSize(stackSize);
@@ -15705,62 +15900,9 @@
 	}
 :
 (
-	{ before(grammarAccess.getGridRowAccess().getLeftCurlyBracketKeyword_6()); }
-	'{'
-	{ after(grammarAccess.getGridRowAccess().getLeftCurlyBracketKeyword_6()); }
-)
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__GridRow__Group__7
-	@init {
-		int stackSize = keepStackSize();
-	}
-:
-	rule__GridRow__Group__7__Impl
-	rule__GridRow__Group__8
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__GridRow__Group__7__Impl
-	@init {
-		int stackSize = keepStackSize();
-	}
-:
-(
-	{ before(grammarAccess.getGridRowAccess().getCellsAssignment_7()); }
-	(rule__GridRow__CellsAssignment_7)*
-	{ after(grammarAccess.getGridRowAccess().getCellsAssignment_7()); }
-)
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__GridRow__Group__8
-	@init {
-		int stackSize = keepStackSize();
-	}
-:
-	rule__GridRow__Group__8__Impl
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__GridRow__Group__8__Impl
-	@init {
-		int stackSize = keepStackSize();
-	}
-:
-(
-	{ before(grammarAccess.getGridRowAccess().getRightCurlyBracketKeyword_8()); }
+	{ before(grammarAccess.getGridRowAccess().getRightCurlyBracketKeyword_6()); }
 	'}'
-	{ after(grammarAccess.getGridRowAccess().getRightCurlyBracketKeyword_8()); }
+	{ after(grammarAccess.getGridRowAccess().getRightCurlyBracketKeyword_6()); }
 )
 ;
 finally {
@@ -15822,53 +15964,53 @@
 }
 
 
-rule__GridRow__Group_3__0
+rule__GridRow__Group_3_0__0
 	@init {
 		int stackSize = keepStackSize();
 	}
 :
-	rule__GridRow__Group_3__0__Impl
-	rule__GridRow__Group_3__1
+	rule__GridRow__Group_3_0__0__Impl
+	rule__GridRow__Group_3_0__1
 ;
 finally {
 	restoreStackSize(stackSize);
 }
 
-rule__GridRow__Group_3__0__Impl
+rule__GridRow__Group_3_0__0__Impl
 	@init {
 		int stackSize = keepStackSize();
 	}
 :
 (
-	{ before(grammarAccess.getGridRowAccess().getStyleKeyword_3_0()); }
+	{ before(grammarAccess.getGridRowAccess().getStyleKeyword_3_0_0()); }
 	'style'
-	{ after(grammarAccess.getGridRowAccess().getStyleKeyword_3_0()); }
+	{ after(grammarAccess.getGridRowAccess().getStyleKeyword_3_0_0()); }
 )
 ;
 finally {
 	restoreStackSize(stackSize);
 }
 
-rule__GridRow__Group_3__1
+rule__GridRow__Group_3_0__1
 	@init {
 		int stackSize = keepStackSize();
 	}
 :
-	rule__GridRow__Group_3__1__Impl
+	rule__GridRow__Group_3_0__1__Impl
 ;
 finally {
 	restoreStackSize(stackSize);
 }
 
-rule__GridRow__Group_3__1__Impl
+rule__GridRow__Group_3_0__1__Impl
 	@init {
 		int stackSize = keepStackSize();
 	}
 :
 (
-	{ before(grammarAccess.getGridRowAccess().getStyleAssignment_3_1()); }
-	(rule__GridRow__StyleAssignment_3_1)
-	{ after(grammarAccess.getGridRowAccess().getStyleAssignment_3_1()); }
+	{ before(grammarAccess.getGridRowAccess().getStyleAssignment_3_0_1()); }
+	(rule__GridRow__StyleAssignment_3_0_1)
+	{ after(grammarAccess.getGridRowAccess().getStyleAssignment_3_0_1()); }
 )
 ;
 finally {
@@ -15876,53 +16018,53 @@
 }
 
 
-rule__GridRow__Group_4__0
+rule__GridRow__Group_3_1__0
 	@init {
 		int stackSize = keepStackSize();
 	}
 :
-	rule__GridRow__Group_4__0__Impl
-	rule__GridRow__Group_4__1
+	rule__GridRow__Group_3_1__0__Impl
+	rule__GridRow__Group_3_1__1
 ;
 finally {
 	restoreStackSize(stackSize);
 }
 
-rule__GridRow__Group_4__0__Impl
+rule__GridRow__Group_3_1__0__Impl
 	@init {
 		int stackSize = keepStackSize();
 	}
 :
 (
-	{ before(grammarAccess.getGridRowAccess().getHeightKeyword_4_0()); }
+	{ before(grammarAccess.getGridRowAccess().getHeightKeyword_3_1_0()); }
 	'height'
-	{ after(grammarAccess.getGridRowAccess().getHeightKeyword_4_0()); }
+	{ after(grammarAccess.getGridRowAccess().getHeightKeyword_3_1_0()); }
 )
 ;
 finally {
 	restoreStackSize(stackSize);
 }
 
-rule__GridRow__Group_4__1
+rule__GridRow__Group_3_1__1
 	@init {
 		int stackSize = keepStackSize();
 	}
 :
-	rule__GridRow__Group_4__1__Impl
+	rule__GridRow__Group_3_1__1__Impl
 ;
 finally {
 	restoreStackSize(stackSize);
 }
 
-rule__GridRow__Group_4__1__Impl
+rule__GridRow__Group_3_1__1__Impl
 	@init {
 		int stackSize = keepStackSize();
 	}
 :
 (
-	{ before(grammarAccess.getGridRowAccess().getHeightValueAssignment_4_1()); }
-	(rule__GridRow__HeightValueAssignment_4_1)
-	{ after(grammarAccess.getGridRowAccess().getHeightValueAssignment_4_1()); }
+	{ before(grammarAccess.getGridRowAccess().getHeightValueAssignment_3_1_1()); }
+	(rule__GridRow__HeightValueAssignment_3_1_1)
+	{ after(grammarAccess.getGridRowAccess().getHeightValueAssignment_3_1_1()); }
 )
 ;
 finally {
@@ -16029,9 +16171,9 @@
 	}
 :
 (
-	{ before(grammarAccess.getGridCellAccess().getGroup_3()); }
-	(rule__GridCell__Group_3__0)?
-	{ after(grammarAccess.getGridCellAccess().getGroup_3()); }
+	{ before(grammarAccess.getGridCellAccess().getUnorderedGroup_3()); }
+	(rule__GridCell__UnorderedGroup_3)
+	{ after(grammarAccess.getGridCellAccess().getUnorderedGroup_3()); }
 )
 ;
 finally {
@@ -16056,9 +16198,9 @@
 	}
 :
 (
-	{ before(grammarAccess.getGridCellAccess().getGroup_4()); }
-	(rule__GridCell__Group_4__0)?
-	{ after(grammarAccess.getGridCellAccess().getGroup_4()); }
+	{ before(grammarAccess.getGridCellAccess().getLeftCurlyBracketKeyword_4()); }
+	'{'
+	{ after(grammarAccess.getGridCellAccess().getLeftCurlyBracketKeyword_4()); }
 )
 ;
 finally {
@@ -16083,9 +16225,9 @@
 	}
 :
 (
-	{ before(grammarAccess.getGridCellAccess().getGroup_5()); }
-	(rule__GridCell__Group_5__0)?
-	{ after(grammarAccess.getGridCellAccess().getGroup_5()); }
+	{ before(grammarAccess.getGridCellAccess().getElementsAssignment_5()); }
+	(rule__GridCell__ElementsAssignment_5)*
+	{ after(grammarAccess.getGridCellAccess().getElementsAssignment_5()); }
 )
 ;
 finally {
@@ -16098,7 +16240,6 @@
 	}
 :
 	rule__GridCell__Group__6__Impl
-	rule__GridCell__Group__7
 ;
 finally {
 	restoreStackSize(stackSize);
@@ -16110,89 +16251,9 @@
 	}
 :
 (
-	{ before(grammarAccess.getGridCellAccess().getVisibilityItemAssignment_6()); }
-	(rule__GridCell__VisibilityItemAssignment_6)?
-	{ after(grammarAccess.getGridCellAccess().getVisibilityItemAssignment_6()); }
-)
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__GridCell__Group__7
-	@init {
-		int stackSize = keepStackSize();
-	}
-:
-	rule__GridCell__Group__7__Impl
-	rule__GridCell__Group__8
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__GridCell__Group__7__Impl
-	@init {
-		int stackSize = keepStackSize();
-	}
-:
-(
-	{ before(grammarAccess.getGridCellAccess().getLeftCurlyBracketKeyword_7()); }
-	'{'
-	{ after(grammarAccess.getGridCellAccess().getLeftCurlyBracketKeyword_7()); }
-)
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__GridCell__Group__8
-	@init {
-		int stackSize = keepStackSize();
-	}
-:
-	rule__GridCell__Group__8__Impl
-	rule__GridCell__Group__9
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__GridCell__Group__8__Impl
-	@init {
-		int stackSize = keepStackSize();
-	}
-:
-(
-	{ before(grammarAccess.getGridCellAccess().getElementsAssignment_8()); }
-	(rule__GridCell__ElementsAssignment_8)*
-	{ after(grammarAccess.getGridCellAccess().getElementsAssignment_8()); }
-)
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__GridCell__Group__9
-	@init {
-		int stackSize = keepStackSize();
-	}
-:
-	rule__GridCell__Group__9__Impl
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__GridCell__Group__9__Impl
-	@init {
-		int stackSize = keepStackSize();
-	}
-:
-(
-	{ before(grammarAccess.getGridCellAccess().getRightCurlyBracketKeyword_9()); }
+	{ before(grammarAccess.getGridCellAccess().getRightCurlyBracketKeyword_6()); }
 	'}'
-	{ after(grammarAccess.getGridCellAccess().getRightCurlyBracketKeyword_9()); }
+	{ after(grammarAccess.getGridCellAccess().getRightCurlyBracketKeyword_6()); }
 )
 ;
 finally {
@@ -16254,53 +16315,53 @@
 }
 
 
-rule__GridCell__Group_3__0
+rule__GridCell__Group_3_0__0
 	@init {
 		int stackSize = keepStackSize();
 	}
 :
-	rule__GridCell__Group_3__0__Impl
-	rule__GridCell__Group_3__1
+	rule__GridCell__Group_3_0__0__Impl
+	rule__GridCell__Group_3_0__1
 ;
 finally {
 	restoreStackSize(stackSize);
 }
 
-rule__GridCell__Group_3__0__Impl
+rule__GridCell__Group_3_0__0__Impl
 	@init {
 		int stackSize = keepStackSize();
 	}
 :
 (
-	{ before(grammarAccess.getGridCellAccess().getStyleKeyword_3_0()); }
+	{ before(grammarAccess.getGridCellAccess().getStyleKeyword_3_0_0()); }
 	'style'
-	{ after(grammarAccess.getGridCellAccess().getStyleKeyword_3_0()); }
+	{ after(grammarAccess.getGridCellAccess().getStyleKeyword_3_0_0()); }
 )
 ;
 finally {
 	restoreStackSize(stackSize);
 }
 
-rule__GridCell__Group_3__1
+rule__GridCell__Group_3_0__1
 	@init {
 		int stackSize = keepStackSize();
 	}
 :
-	rule__GridCell__Group_3__1__Impl
+	rule__GridCell__Group_3_0__1__Impl
 ;
 finally {
 	restoreStackSize(stackSize);
 }
 
-rule__GridCell__Group_3__1__Impl
+rule__GridCell__Group_3_0__1__Impl
 	@init {
 		int stackSize = keepStackSize();
 	}
 :
 (
-	{ before(grammarAccess.getGridCellAccess().getStyleAssignment_3_1()); }
-	(rule__GridCell__StyleAssignment_3_1)
-	{ after(grammarAccess.getGridCellAccess().getStyleAssignment_3_1()); }
+	{ before(grammarAccess.getGridCellAccess().getStyleAssignment_3_0_1()); }
+	(rule__GridCell__StyleAssignment_3_0_1)
+	{ after(grammarAccess.getGridCellAccess().getStyleAssignment_3_0_1()); }
 )
 ;
 finally {
@@ -16308,53 +16369,53 @@
 }
 
 
-rule__GridCell__Group_4__0
+rule__GridCell__Group_3_1__0
 	@init {
 		int stackSize = keepStackSize();
 	}
 :
-	rule__GridCell__Group_4__0__Impl
-	rule__GridCell__Group_4__1
+	rule__GridCell__Group_3_1__0__Impl
+	rule__GridCell__Group_3_1__1
 ;
 finally {
 	restoreStackSize(stackSize);
 }
 
-rule__GridCell__Group_4__0__Impl
+rule__GridCell__Group_3_1__0__Impl
 	@init {
 		int stackSize = keepStackSize();
 	}
 :
 (
-	{ before(grammarAccess.getGridCellAccess().getWidthKeyword_4_0()); }
+	{ before(grammarAccess.getGridCellAccess().getWidthKeyword_3_1_0()); }
 	'width'
-	{ after(grammarAccess.getGridCellAccess().getWidthKeyword_4_0()); }
+	{ after(grammarAccess.getGridCellAccess().getWidthKeyword_3_1_0()); }
 )
 ;
 finally {
 	restoreStackSize(stackSize);
 }
 
-rule__GridCell__Group_4__1
+rule__GridCell__Group_3_1__1
 	@init {
 		int stackSize = keepStackSize();
 	}
 :
-	rule__GridCell__Group_4__1__Impl
+	rule__GridCell__Group_3_1__1__Impl
 ;
 finally {
 	restoreStackSize(stackSize);
 }
 
-rule__GridCell__Group_4__1__Impl
+rule__GridCell__Group_3_1__1__Impl
 	@init {
 		int stackSize = keepStackSize();
 	}
 :
 (
-	{ before(grammarAccess.getGridCellAccess().getWidthValueAssignment_4_1()); }
-	(rule__GridCell__WidthValueAssignment_4_1)
-	{ after(grammarAccess.getGridCellAccess().getWidthValueAssignment_4_1()); }
+	{ before(grammarAccess.getGridCellAccess().getWidthValueAssignment_3_1_1()); }
+	(rule__GridCell__WidthValueAssignment_3_1_1)
+	{ after(grammarAccess.getGridCellAccess().getWidthValueAssignment_3_1_1()); }
 )
 ;
 finally {
@@ -16362,53 +16423,53 @@
 }
 
 
-rule__GridCell__Group_5__0
+rule__GridCell__Group_3_2__0
 	@init {
 		int stackSize = keepStackSize();
 	}
 :
-	rule__GridCell__Group_5__0__Impl
-	rule__GridCell__Group_5__1
+	rule__GridCell__Group_3_2__0__Impl
+	rule__GridCell__Group_3_2__1
 ;
 finally {
 	restoreStackSize(stackSize);
 }
 
-rule__GridCell__Group_5__0__Impl
+rule__GridCell__Group_3_2__0__Impl
 	@init {
 		int stackSize = keepStackSize();
 	}
 :
 (
-	{ before(grammarAccess.getGridCellAccess().getColumnspanKeyword_5_0()); }
+	{ before(grammarAccess.getGridCellAccess().getColumnspanKeyword_3_2_0()); }
 	'columnspan'
-	{ after(grammarAccess.getGridCellAccess().getColumnspanKeyword_5_0()); }
+	{ after(grammarAccess.getGridCellAccess().getColumnspanKeyword_3_2_0()); }
 )
 ;
 finally {
 	restoreStackSize(stackSize);
 }
 
-rule__GridCell__Group_5__1
+rule__GridCell__Group_3_2__1
 	@init {
 		int stackSize = keepStackSize();
 	}
 :
-	rule__GridCell__Group_5__1__Impl
+	rule__GridCell__Group_3_2__1__Impl
 ;
 finally {
 	restoreStackSize(stackSize);
 }
 
-rule__GridCell__Group_5__1__Impl
+rule__GridCell__Group_3_2__1__Impl
 	@init {
 		int stackSize = keepStackSize();
 	}
 :
 (
-	{ before(grammarAccess.getGridCellAccess().getColumnspanAssignment_5_1()); }
-	(rule__GridCell__ColumnspanAssignment_5_1)
-	{ after(grammarAccess.getGridCellAccess().getColumnspanAssignment_5_1()); }
+	{ before(grammarAccess.getGridCellAccess().getColumnspanAssignment_3_2_1()); }
+	(rule__GridCell__ColumnspanAssignment_3_2_1)
+	{ after(grammarAccess.getGridCellAccess().getColumnspanAssignment_3_2_1()); }
 )
 ;
 finally {
@@ -16488,9 +16549,9 @@
 	}
 :
 (
-	{ before(grammarAccess.getDatamartTableAccess().getVisibilityItemAssignment_2()); }
-	(rule__DatamartTable__VisibilityItemAssignment_2)?
-	{ after(grammarAccess.getDatamartTableAccess().getVisibilityItemAssignment_2()); }
+	{ before(grammarAccess.getDatamartTableAccess().getUnorderedGroup_2()); }
+	(rule__DatamartTable__UnorderedGroup_2)
+	{ after(grammarAccess.getDatamartTableAccess().getUnorderedGroup_2()); }
 )
 ;
 finally {
@@ -16515,9 +16576,9 @@
 	}
 :
 (
-	{ before(grammarAccess.getDatamartTableAccess().getPageBreakAssignment_3()); }
-	(rule__DatamartTable__PageBreakAssignment_3)?
-	{ after(grammarAccess.getDatamartTableAccess().getPageBreakAssignment_3()); }
+	{ before(grammarAccess.getDatamartTableAccess().getLeftCurlyBracketKeyword_3()); }
+	'{'
+	{ after(grammarAccess.getDatamartTableAccess().getLeftCurlyBracketKeyword_3()); }
 )
 ;
 finally {
@@ -16542,9 +16603,9 @@
 	}
 :
 (
-	{ before(grammarAccess.getDatamartTableAccess().getLeftCurlyBracketKeyword_4()); }
-	'{'
-	{ after(grammarAccess.getDatamartTableAccess().getLeftCurlyBracketKeyword_4()); }
+	{ before(grammarAccess.getDatamartTableAccess().getHeaderAssignment_4()); }
+	(rule__DatamartTable__HeaderAssignment_4)?
+	{ after(grammarAccess.getDatamartTableAccess().getHeaderAssignment_4()); }
 )
 ;
 finally {
@@ -16569,9 +16630,9 @@
 	}
 :
 (
-	{ before(grammarAccess.getDatamartTableAccess().getGroup_5()); }
-	(rule__DatamartTable__Group_5__0)?
-	{ after(grammarAccess.getDatamartTableAccess().getGroup_5()); }
+	{ before(grammarAccess.getDatamartTableAccess().getGroupsAssignment_5()); }
+	(rule__DatamartTable__GroupsAssignment_5)*
+	{ after(grammarAccess.getDatamartTableAccess().getGroupsAssignment_5()); }
 )
 ;
 finally {
@@ -16596,9 +16657,9 @@
 	}
 :
 (
-	{ before(grammarAccess.getDatamartTableAccess().getGroup_6()); }
-	(rule__DatamartTable__Group_6__0)?
-	{ after(grammarAccess.getDatamartTableAccess().getGroup_6()); }
+	{ before(grammarAccess.getDatamartTableAccess().getDetailAssignment_6()); }
+	(rule__DatamartTable__DetailAssignment_6)
+	{ after(grammarAccess.getDatamartTableAccess().getDetailAssignment_6()); }
 )
 ;
 finally {
@@ -16623,9 +16684,9 @@
 	}
 :
 (
-	{ before(grammarAccess.getDatamartTableAccess().getGroupsAssignment_7()); }
-	(rule__DatamartTable__GroupsAssignment_7)*
-	{ after(grammarAccess.getDatamartTableAccess().getGroupsAssignment_7()); }
+	{ before(grammarAccess.getDatamartTableAccess().getFooterAssignment_7()); }
+	(rule__DatamartTable__FooterAssignment_7)?
+	{ after(grammarAccess.getDatamartTableAccess().getFooterAssignment_7()); }
 )
 ;
 finally {
@@ -16638,7 +16699,6 @@
 	}
 :
 	rule__DatamartTable__Group__8__Impl
-	rule__DatamartTable__Group__9
 ;
 finally {
 	restoreStackSize(stackSize);
@@ -16650,35 +16710,9 @@
 	}
 :
 (
-	{ before(grammarAccess.getDatamartTableAccess().getDetailAssignment_8()); }
-	(rule__DatamartTable__DetailAssignment_8)
-	{ after(grammarAccess.getDatamartTableAccess().getDetailAssignment_8()); }
-)
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__DatamartTable__Group__9
-	@init {
-		int stackSize = keepStackSize();
-	}
-:
-	rule__DatamartTable__Group__9__Impl
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__DatamartTable__Group__9__Impl
-	@init {
-		int stackSize = keepStackSize();
-	}
-:
-(
-	{ before(grammarAccess.getDatamartTableAccess().getRightCurlyBracketKeyword_9()); }
+	{ before(grammarAccess.getDatamartTableAccess().getRightCurlyBracketKeyword_8()); }
 	'}'
-	{ after(grammarAccess.getDatamartTableAccess().getRightCurlyBracketKeyword_9()); }
+	{ after(grammarAccess.getDatamartTableAccess().getRightCurlyBracketKeyword_8()); }
 )
 ;
 finally {
@@ -16704,9 +16738,9 @@
 	}
 :
 (
-	{ before(grammarAccess.getDatamartTableAccess().getStyleKeyword_1_0()); }
-	'style'
-	{ after(grammarAccess.getDatamartTableAccess().getStyleKeyword_1_0()); }
+	{ before(grammarAccess.getDatamartTableAccess().getDatamartKeyword_1_0()); }
+	'datamart'
+	{ after(grammarAccess.getDatamartTableAccess().getDatamartKeyword_1_0()); }
 )
 ;
 finally {
@@ -16719,6 +16753,7 @@
 	}
 :
 	rule__DatamartTable__Group_1__1__Impl
+	rule__DatamartTable__Group_1__2
 ;
 finally {
 	restoreStackSize(stackSize);
@@ -16730,9 +16765,35 @@
 	}
 :
 (
-	{ before(grammarAccess.getDatamartTableAccess().getStyleAssignment_1_1()); }
-	(rule__DatamartTable__StyleAssignment_1_1)
-	{ after(grammarAccess.getDatamartTableAccess().getStyleAssignment_1_1()); }
+	{ before(grammarAccess.getDatamartTableAccess().getDatamartRefAssignment_1_1()); }
+	(rule__DatamartTable__DatamartRefAssignment_1_1)
+	{ after(grammarAccess.getDatamartTableAccess().getDatamartRefAssignment_1_1()); }
+)
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__DatamartTable__Group_1__2
+	@init {
+		int stackSize = keepStackSize();
+	}
+:
+	rule__DatamartTable__Group_1__2__Impl
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__DatamartTable__Group_1__2__Impl
+	@init {
+		int stackSize = keepStackSize();
+	}
+:
+(
+	{ before(grammarAccess.getDatamartTableAccess().getGroup_1_2()); }
+	(rule__DatamartTable__Group_1_2__0)?
+	{ after(grammarAccess.getDatamartTableAccess().getGroup_1_2()); }
 )
 ;
 finally {
@@ -16740,53 +16801,53 @@
 }
 
 
-rule__DatamartTable__Group_5__0
+rule__DatamartTable__Group_1_2__0
 	@init {
 		int stackSize = keepStackSize();
 	}
 :
-	rule__DatamartTable__Group_5__0__Impl
-	rule__DatamartTable__Group_5__1
+	rule__DatamartTable__Group_1_2__0__Impl
+	rule__DatamartTable__Group_1_2__1
 ;
 finally {
 	restoreStackSize(stackSize);
 }
 
-rule__DatamartTable__Group_5__0__Impl
+rule__DatamartTable__Group_1_2__0__Impl
 	@init {
 		int stackSize = keepStackSize();
 	}
 :
 (
-	{ before(grammarAccess.getDatamartTableAccess().getDetailheaderAssignment_5_0()); }
-	(rule__DatamartTable__DetailheaderAssignment_5_0)
-	{ after(grammarAccess.getDatamartTableAccess().getDetailheaderAssignment_5_0()); }
+	{ before(grammarAccess.getDatamartTableAccess().getAsKeyword_1_2_0()); }
+	'as'
+	{ after(grammarAccess.getDatamartTableAccess().getAsKeyword_1_2_0()); }
 )
 ;
 finally {
 	restoreStackSize(stackSize);
 }
 
-rule__DatamartTable__Group_5__1
+rule__DatamartTable__Group_1_2__1
 	@init {
 		int stackSize = keepStackSize();
 	}
 :
-	rule__DatamartTable__Group_5__1__Impl
+	rule__DatamartTable__Group_1_2__1__Impl
 ;
 finally {
 	restoreStackSize(stackSize);
 }
 
-rule__DatamartTable__Group_5__1__Impl
+rule__DatamartTable__Group_1_2__1__Impl
 	@init {
 		int stackSize = keepStackSize();
 	}
 :
 (
-	{ before(grammarAccess.getDatamartTableAccess().getGroup_5_1()); }
-	(rule__DatamartTable__Group_5_1__0)?
-	{ after(grammarAccess.getDatamartTableAccess().getGroup_5_1()); }
+	{ before(grammarAccess.getDatamartTableAccess().getNameAssignment_1_2_1()); }
+	(rule__DatamartTable__NameAssignment_1_2_1)
+	{ after(grammarAccess.getDatamartTableAccess().getNameAssignment_1_2_1()); }
 )
 ;
 finally {
@@ -16794,161 +16855,53 @@
 }
 
 
-rule__DatamartTable__Group_5_1__0
+rule__DatamartTable__Group_2_0__0
 	@init {
 		int stackSize = keepStackSize();
 	}
 :
-	rule__DatamartTable__Group_5_1__0__Impl
-	rule__DatamartTable__Group_5_1__1
+	rule__DatamartTable__Group_2_0__0__Impl
+	rule__DatamartTable__Group_2_0__1
 ;
 finally {
 	restoreStackSize(stackSize);
 }
 
-rule__DatamartTable__Group_5_1__0__Impl
+rule__DatamartTable__Group_2_0__0__Impl
 	@init {
 		int stackSize = keepStackSize();
 	}
 :
 (
-	{ before(grammarAccess.getDatamartTableAccess().getStyleKeyword_5_1_0()); }
+	{ before(grammarAccess.getDatamartTableAccess().getStyleKeyword_2_0_0()); }
 	'style'
-	{ after(grammarAccess.getDatamartTableAccess().getStyleKeyword_5_1_0()); }
+	{ after(grammarAccess.getDatamartTableAccess().getStyleKeyword_2_0_0()); }
 )
 ;
 finally {
 	restoreStackSize(stackSize);
 }
 
-rule__DatamartTable__Group_5_1__1
+rule__DatamartTable__Group_2_0__1
 	@init {
 		int stackSize = keepStackSize();
 	}
 :
-	rule__DatamartTable__Group_5_1__1__Impl
+	rule__DatamartTable__Group_2_0__1__Impl
 ;
 finally {
 	restoreStackSize(stackSize);
 }
 
-rule__DatamartTable__Group_5_1__1__Impl
+rule__DatamartTable__Group_2_0__1__Impl
 	@init {
 		int stackSize = keepStackSize();
 	}
 :
 (
-	{ before(grammarAccess.getDatamartTableAccess().getHeaderstyleAssignment_5_1_1()); }
-	(rule__DatamartTable__HeaderstyleAssignment_5_1_1)
-	{ after(grammarAccess.getDatamartTableAccess().getHeaderstyleAssignment_5_1_1()); }
-)
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
-rule__DatamartTable__Group_6__0
-	@init {
-		int stackSize = keepStackSize();
-	}
-:
-	rule__DatamartTable__Group_6__0__Impl
-	rule__DatamartTable__Group_6__1
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__DatamartTable__Group_6__0__Impl
-	@init {
-		int stackSize = keepStackSize();
-	}
-:
-(
-	{ before(grammarAccess.getDatamartTableAccess().getDetailfooterAssignment_6_0()); }
-	(rule__DatamartTable__DetailfooterAssignment_6_0)
-	{ after(grammarAccess.getDatamartTableAccess().getDetailfooterAssignment_6_0()); }
-)
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__DatamartTable__Group_6__1
-	@init {
-		int stackSize = keepStackSize();
-	}
-:
-	rule__DatamartTable__Group_6__1__Impl
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__DatamartTable__Group_6__1__Impl
-	@init {
-		int stackSize = keepStackSize();
-	}
-:
-(
-	{ before(grammarAccess.getDatamartTableAccess().getGroup_6_1()); }
-	(rule__DatamartTable__Group_6_1__0)?
-	{ after(grammarAccess.getDatamartTableAccess().getGroup_6_1()); }
-)
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
-rule__DatamartTable__Group_6_1__0
-	@init {
-		int stackSize = keepStackSize();
-	}
-:
-	rule__DatamartTable__Group_6_1__0__Impl
-	rule__DatamartTable__Group_6_1__1
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__DatamartTable__Group_6_1__0__Impl
-	@init {
-		int stackSize = keepStackSize();
-	}
-:
-(
-	{ before(grammarAccess.getDatamartTableAccess().getStyleKeyword_6_1_0()); }
-	'style'
-	{ after(grammarAccess.getDatamartTableAccess().getStyleKeyword_6_1_0()); }
-)
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__DatamartTable__Group_6_1__1
-	@init {
-		int stackSize = keepStackSize();
-	}
-:
-	rule__DatamartTable__Group_6_1__1__Impl
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__DatamartTable__Group_6_1__1__Impl
-	@init {
-		int stackSize = keepStackSize();
-	}
-:
-(
-	{ before(grammarAccess.getDatamartTableAccess().getFooterstyleAssignment_6_1_1()); }
-	(rule__DatamartTable__FooterstyleAssignment_6_1_1)
-	{ after(grammarAccess.getDatamartTableAccess().getFooterstyleAssignment_6_1_1()); }
+	{ before(grammarAccess.getDatamartTableAccess().getStyleAssignment_2_0_1()); }
+	(rule__DatamartTable__StyleAssignment_2_0_1)
+	{ after(grammarAccess.getDatamartTableAccess().getStyleAssignment_2_0_1()); }
 )
 ;
 finally {
@@ -17082,9 +17035,9 @@
 	}
 :
 (
-	{ before(grammarAccess.getDatamartTableGroupAccess().getVisibilityItemAssignment_4()); }
-	(rule__DatamartTableGroup__VisibilityItemAssignment_4)?
-	{ after(grammarAccess.getDatamartTableGroupAccess().getVisibilityItemAssignment_4()); }
+	{ before(grammarAccess.getDatamartTableGroupAccess().getUnorderedGroup_4()); }
+	(rule__DatamartTableGroup__UnorderedGroup_4)
+	{ after(grammarAccess.getDatamartTableGroupAccess().getUnorderedGroup_4()); }
 )
 ;
 finally {
@@ -17109,9 +17062,9 @@
 	}
 :
 (
-	{ before(grammarAccess.getDatamartTableGroupAccess().getPageBreakAssignment_5()); }
-	(rule__DatamartTableGroup__PageBreakAssignment_5)?
-	{ after(grammarAccess.getDatamartTableGroupAccess().getPageBreakAssignment_5()); }
+	{ before(grammarAccess.getDatamartTableGroupAccess().getLeftCurlyBracketKeyword_5()); }
+	'{'
+	{ after(grammarAccess.getDatamartTableGroupAccess().getLeftCurlyBracketKeyword_5()); }
 )
 ;
 finally {
@@ -17136,9 +17089,9 @@
 	}
 :
 (
-	{ before(grammarAccess.getDatamartTableGroupAccess().getLeftCurlyBracketKeyword_6()); }
-	'{'
-	{ after(grammarAccess.getDatamartTableGroupAccess().getLeftCurlyBracketKeyword_6()); }
+	{ before(grammarAccess.getDatamartTableGroupAccess().getHeaderAssignment_6()); }
+	(rule__DatamartTableGroup__HeaderAssignment_6)?
+	{ after(grammarAccess.getDatamartTableGroupAccess().getHeaderAssignment_6()); }
 )
 ;
 finally {
@@ -17163,9 +17116,9 @@
 	}
 :
 (
-	{ before(grammarAccess.getDatamartTableGroupAccess().getHeaderAssignment_7()); }
-	(rule__DatamartTableGroup__HeaderAssignment_7)?
-	{ after(grammarAccess.getDatamartTableGroupAccess().getHeaderAssignment_7()); }
+	{ before(grammarAccess.getDatamartTableGroupAccess().getFooterAssignment_7()); }
+	(rule__DatamartTableGroup__FooterAssignment_7)?
+	{ after(grammarAccess.getDatamartTableGroupAccess().getFooterAssignment_7()); }
 )
 ;
 finally {
@@ -17178,7 +17131,6 @@
 	}
 :
 	rule__DatamartTableGroup__Group__8__Impl
-	rule__DatamartTableGroup__Group__9
 ;
 finally {
 	restoreStackSize(stackSize);
@@ -17190,89 +17142,9 @@
 	}
 :
 (
-	{ before(grammarAccess.getDatamartTableGroupAccess().getGroup_8()); }
-	(rule__DatamartTableGroup__Group_8__0)?
-	{ after(grammarAccess.getDatamartTableGroupAccess().getGroup_8()); }
-)
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__DatamartTableGroup__Group__9
-	@init {
-		int stackSize = keepStackSize();
-	}
-:
-	rule__DatamartTableGroup__Group__9__Impl
-	rule__DatamartTableGroup__Group__10
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__DatamartTableGroup__Group__9__Impl
-	@init {
-		int stackSize = keepStackSize();
-	}
-:
-(
-	{ before(grammarAccess.getDatamartTableGroupAccess().getGroup_9()); }
-	(rule__DatamartTableGroup__Group_9__0)?
-	{ after(grammarAccess.getDatamartTableGroupAccess().getGroup_9()); }
-)
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__DatamartTableGroup__Group__10
-	@init {
-		int stackSize = keepStackSize();
-	}
-:
-	rule__DatamartTableGroup__Group__10__Impl
-	rule__DatamartTableGroup__Group__11
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__DatamartTableGroup__Group__10__Impl
-	@init {
-		int stackSize = keepStackSize();
-	}
-:
-(
-	{ before(grammarAccess.getDatamartTableGroupAccess().getFooterAssignment_10()); }
-	(rule__DatamartTableGroup__FooterAssignment_10)?
-	{ after(grammarAccess.getDatamartTableGroupAccess().getFooterAssignment_10()); }
-)
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__DatamartTableGroup__Group__11
-	@init {
-		int stackSize = keepStackSize();
-	}
-:
-	rule__DatamartTableGroup__Group__11__Impl
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__DatamartTableGroup__Group__11__Impl
-	@init {
-		int stackSize = keepStackSize();
-	}
-:
-(
-	{ before(grammarAccess.getDatamartTableGroupAccess().getRightCurlyBracketKeyword_11()); }
+	{ before(grammarAccess.getDatamartTableGroupAccess().getRightCurlyBracketKeyword_8()); }
 	'}'
-	{ after(grammarAccess.getDatamartTableGroupAccess().getRightCurlyBracketKeyword_11()); }
+	{ after(grammarAccess.getDatamartTableGroupAccess().getRightCurlyBracketKeyword_8()); }
 )
 ;
 finally {
@@ -17280,404 +17152,107 @@
 }
 
 
-rule__DatamartTableGroup__Group_8__0
+rule__DatamartTableHeader__Group__0
 	@init {
 		int stackSize = keepStackSize();
 	}
 :
-	rule__DatamartTableGroup__Group_8__0__Impl
-	rule__DatamartTableGroup__Group_8__1
+	rule__DatamartTableHeader__Group__0__Impl
+	rule__DatamartTableHeader__Group__1
 ;
 finally {
 	restoreStackSize(stackSize);
 }
 
-rule__DatamartTableGroup__Group_8__0__Impl
+rule__DatamartTableHeader__Group__0__Impl
 	@init {
 		int stackSize = keepStackSize();
 	}
 :
 (
-	{ before(grammarAccess.getDatamartTableGroupAccess().getDetailheaderAssignment_8_0()); }
-	(rule__DatamartTableGroup__DetailheaderAssignment_8_0)
-	{ after(grammarAccess.getDatamartTableGroupAccess().getDetailheaderAssignment_8_0()); }
-)
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__DatamartTableGroup__Group_8__1
-	@init {
-		int stackSize = keepStackSize();
-	}
-:
-	rule__DatamartTableGroup__Group_8__1__Impl
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__DatamartTableGroup__Group_8__1__Impl
-	@init {
-		int stackSize = keepStackSize();
-	}
-:
-(
-	{ before(grammarAccess.getDatamartTableGroupAccess().getGroup_8_1()); }
-	(rule__DatamartTableGroup__Group_8_1__0)?
-	{ after(grammarAccess.getDatamartTableGroupAccess().getGroup_8_1()); }
-)
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
-rule__DatamartTableGroup__Group_8_1__0
-	@init {
-		int stackSize = keepStackSize();
-	}
-:
-	rule__DatamartTableGroup__Group_8_1__0__Impl
-	rule__DatamartTableGroup__Group_8_1__1
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__DatamartTableGroup__Group_8_1__0__Impl
-	@init {
-		int stackSize = keepStackSize();
-	}
-:
-(
-	{ before(grammarAccess.getDatamartTableGroupAccess().getStyleKeyword_8_1_0()); }
-	'style'
-	{ after(grammarAccess.getDatamartTableGroupAccess().getStyleKeyword_8_1_0()); }
-)
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__DatamartTableGroup__Group_8_1__1
-	@init {
-		int stackSize = keepStackSize();
-	}
-:
-	rule__DatamartTableGroup__Group_8_1__1__Impl
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__DatamartTableGroup__Group_8_1__1__Impl
-	@init {
-		int stackSize = keepStackSize();
-	}
-:
-(
-	{ before(grammarAccess.getDatamartTableGroupAccess().getHeaderstyleAssignment_8_1_1()); }
-	(rule__DatamartTableGroup__HeaderstyleAssignment_8_1_1)
-	{ after(grammarAccess.getDatamartTableGroupAccess().getHeaderstyleAssignment_8_1_1()); }
-)
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
-rule__DatamartTableGroup__Group_9__0
-	@init {
-		int stackSize = keepStackSize();
-	}
-:
-	rule__DatamartTableGroup__Group_9__0__Impl
-	rule__DatamartTableGroup__Group_9__1
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__DatamartTableGroup__Group_9__0__Impl
-	@init {
-		int stackSize = keepStackSize();
-	}
-:
-(
-	{ before(grammarAccess.getDatamartTableGroupAccess().getDetailfooterAssignment_9_0()); }
-	(rule__DatamartTableGroup__DetailfooterAssignment_9_0)
-	{ after(grammarAccess.getDatamartTableGroupAccess().getDetailfooterAssignment_9_0()); }
-)
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__DatamartTableGroup__Group_9__1
-	@init {
-		int stackSize = keepStackSize();
-	}
-:
-	rule__DatamartTableGroup__Group_9__1__Impl
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__DatamartTableGroup__Group_9__1__Impl
-	@init {
-		int stackSize = keepStackSize();
-	}
-:
-(
-	{ before(grammarAccess.getDatamartTableGroupAccess().getGroup_9_1()); }
-	(rule__DatamartTableGroup__Group_9_1__0)?
-	{ after(grammarAccess.getDatamartTableGroupAccess().getGroup_9_1()); }
-)
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
-rule__DatamartTableGroup__Group_9_1__0
-	@init {
-		int stackSize = keepStackSize();
-	}
-:
-	rule__DatamartTableGroup__Group_9_1__0__Impl
-	rule__DatamartTableGroup__Group_9_1__1
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__DatamartTableGroup__Group_9_1__0__Impl
-	@init {
-		int stackSize = keepStackSize();
-	}
-:
-(
-	{ before(grammarAccess.getDatamartTableGroupAccess().getStyleKeyword_9_1_0()); }
-	'style'
-	{ after(grammarAccess.getDatamartTableGroupAccess().getStyleKeyword_9_1_0()); }
-)
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__DatamartTableGroup__Group_9_1__1
-	@init {
-		int stackSize = keepStackSize();
-	}
-:
-	rule__DatamartTableGroup__Group_9_1__1__Impl
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__DatamartTableGroup__Group_9_1__1__Impl
-	@init {
-		int stackSize = keepStackSize();
-	}
-:
-(
-	{ before(grammarAccess.getDatamartTableGroupAccess().getFooterstyleAssignment_9_1_1()); }
-	(rule__DatamartTableGroup__FooterstyleAssignment_9_1_1)
-	{ after(grammarAccess.getDatamartTableGroupAccess().getFooterstyleAssignment_9_1_1()); }
-)
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
-rule__DatamartTableGroupHeader__Group__0
-	@init {
-		int stackSize = keepStackSize();
-	}
-:
-	rule__DatamartTableGroupHeader__Group__0__Impl
-	rule__DatamartTableGroupHeader__Group__1
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__DatamartTableGroupHeader__Group__0__Impl
-	@init {
-		int stackSize = keepStackSize();
-	}
-:
-(
-	{ before(grammarAccess.getDatamartTableGroupHeaderAccess().getDatamartTableGroupHeaderAction_0()); }
+	{ before(grammarAccess.getDatamartTableHeaderAccess().getDatamartTableHeaderAction_0()); }
 	()
-	{ after(grammarAccess.getDatamartTableGroupHeaderAccess().getDatamartTableGroupHeaderAction_0()); }
+	{ after(grammarAccess.getDatamartTableHeaderAccess().getDatamartTableHeaderAction_0()); }
 )
 ;
 finally {
 	restoreStackSize(stackSize);
 }
 
-rule__DatamartTableGroupHeader__Group__1
+rule__DatamartTableHeader__Group__1
 	@init {
 		int stackSize = keepStackSize();
 	}
 :
-	rule__DatamartTableGroupHeader__Group__1__Impl
-	rule__DatamartTableGroupHeader__Group__2
+	rule__DatamartTableHeader__Group__1__Impl
+	rule__DatamartTableHeader__Group__2
 ;
 finally {
 	restoreStackSize(stackSize);
 }
 
-rule__DatamartTableGroupHeader__Group__1__Impl
+rule__DatamartTableHeader__Group__1__Impl
 	@init {
 		int stackSize = keepStackSize();
 	}
 :
 (
-	{ before(grammarAccess.getDatamartTableGroupHeaderAccess().getHeaderKeyword_1()); }
+	{ before(grammarAccess.getDatamartTableHeaderAccess().getHeaderKeyword_1()); }
 	'header'
-	{ after(grammarAccess.getDatamartTableGroupHeaderAccess().getHeaderKeyword_1()); }
+	{ after(grammarAccess.getDatamartTableHeaderAccess().getHeaderKeyword_1()); }
 )
 ;
 finally {
 	restoreStackSize(stackSize);
 }
 
-rule__DatamartTableGroupHeader__Group__2
+rule__DatamartTableHeader__Group__2
 	@init {
 		int stackSize = keepStackSize();
 	}
 :
-	rule__DatamartTableGroupHeader__Group__2__Impl
-	rule__DatamartTableGroupHeader__Group__3
+	rule__DatamartTableHeader__Group__2__Impl
+	rule__DatamartTableHeader__Group__3
 ;
 finally {
 	restoreStackSize(stackSize);
 }
 
-rule__DatamartTableGroupHeader__Group__2__Impl
+rule__DatamartTableHeader__Group__2__Impl
 	@init {
 		int stackSize = keepStackSize();
 	}
 :
 (
-	{ before(grammarAccess.getDatamartTableGroupHeaderAccess().getGroup_2()); }
-	(rule__DatamartTableGroupHeader__Group_2__0)?
-	{ after(grammarAccess.getDatamartTableGroupHeaderAccess().getGroup_2()); }
+	{ before(grammarAccess.getDatamartTableHeaderAccess().getUnorderedGroup_2()); }
+	(rule__DatamartTableHeader__UnorderedGroup_2)
+	{ after(grammarAccess.getDatamartTableHeaderAccess().getUnorderedGroup_2()); }
 )
 ;
 finally {
 	restoreStackSize(stackSize);
 }
 
-rule__DatamartTableGroupHeader__Group__3
+rule__DatamartTableHeader__Group__3
 	@init {
 		int stackSize = keepStackSize();
 	}
 :
-	rule__DatamartTableGroupHeader__Group__3__Impl
-	rule__DatamartTableGroupHeader__Group__4
+	rule__DatamartTableHeader__Group__3__Impl
 ;
 finally {
 	restoreStackSize(stackSize);
 }
 
-rule__DatamartTableGroupHeader__Group__3__Impl
+rule__DatamartTableHeader__Group__3__Impl
 	@init {
 		int stackSize = keepStackSize();
 	}
 :
 (
-	{ before(grammarAccess.getDatamartTableGroupHeaderAccess().getPageBreakAssignment_3()); }
-	(rule__DatamartTableGroupHeader__PageBreakAssignment_3)?
-	{ after(grammarAccess.getDatamartTableGroupHeaderAccess().getPageBreakAssignment_3()); }
-)
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__DatamartTableGroupHeader__Group__4
-	@init {
-		int stackSize = keepStackSize();
-	}
-:
-	rule__DatamartTableGroupHeader__Group__4__Impl
-	rule__DatamartTableGroupHeader__Group__5
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__DatamartTableGroupHeader__Group__4__Impl
-	@init {
-		int stackSize = keepStackSize();
-	}
-:
-(
-	{ before(grammarAccess.getDatamartTableGroupHeaderAccess().getLeftCurlyBracketKeyword_4()); }
-	'{'
-	{ after(grammarAccess.getDatamartTableGroupHeaderAccess().getLeftCurlyBracketKeyword_4()); }
-)
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__DatamartTableGroupHeader__Group__5
-	@init {
-		int stackSize = keepStackSize();
-	}
-:
-	rule__DatamartTableGroupHeader__Group__5__Impl
-	rule__DatamartTableGroupHeader__Group__6
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__DatamartTableGroupHeader__Group__5__Impl
-	@init {
-		int stackSize = keepStackSize();
-	}
-:
-(
-	{ before(grammarAccess.getDatamartTableGroupHeaderAccess().getRowsAssignment_5()); }
-	(rule__DatamartTableGroupHeader__RowsAssignment_5)*
-	{ after(grammarAccess.getDatamartTableGroupHeaderAccess().getRowsAssignment_5()); }
-)
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__DatamartTableGroupHeader__Group__6
-	@init {
-		int stackSize = keepStackSize();
-	}
-:
-	rule__DatamartTableGroupHeader__Group__6__Impl
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__DatamartTableGroupHeader__Group__6__Impl
-	@init {
-		int stackSize = keepStackSize();
-	}
-:
-(
-	{ before(grammarAccess.getDatamartTableGroupHeaderAccess().getRightCurlyBracketKeyword_6()); }
-	'}'
-	{ after(grammarAccess.getDatamartTableGroupHeaderAccess().getRightCurlyBracketKeyword_6()); }
+	{ before(grammarAccess.getDatamartTableHeaderAccess().getGroup_3()); }
+	(rule__DatamartTableHeader__Group_3__0)?
+	{ after(grammarAccess.getDatamartTableHeaderAccess().getGroup_3()); }
 )
 ;
 finally {
@@ -17685,53 +17260,53 @@
 }
 
 
-rule__DatamartTableGroupHeader__Group_2__0
+rule__DatamartTableHeader__Group_2_0__0
 	@init {
 		int stackSize = keepStackSize();
 	}
 :
-	rule__DatamartTableGroupHeader__Group_2__0__Impl
-	rule__DatamartTableGroupHeader__Group_2__1
+	rule__DatamartTableHeader__Group_2_0__0__Impl
+	rule__DatamartTableHeader__Group_2_0__1
 ;
 finally {
 	restoreStackSize(stackSize);
 }
 
-rule__DatamartTableGroupHeader__Group_2__0__Impl
+rule__DatamartTableHeader__Group_2_0__0__Impl
 	@init {
 		int stackSize = keepStackSize();
 	}
 :
 (
-	{ before(grammarAccess.getDatamartTableGroupHeaderAccess().getStyleKeyword_2_0()); }
+	{ before(grammarAccess.getDatamartTableHeaderAccess().getStyleKeyword_2_0_0()); }
 	'style'
-	{ after(grammarAccess.getDatamartTableGroupHeaderAccess().getStyleKeyword_2_0()); }
+	{ after(grammarAccess.getDatamartTableHeaderAccess().getStyleKeyword_2_0_0()); }
 )
 ;
 finally {
 	restoreStackSize(stackSize);
 }
 
-rule__DatamartTableGroupHeader__Group_2__1
+rule__DatamartTableHeader__Group_2_0__1
 	@init {
 		int stackSize = keepStackSize();
 	}
 :
-	rule__DatamartTableGroupHeader__Group_2__1__Impl
+	rule__DatamartTableHeader__Group_2_0__1__Impl
 ;
 finally {
 	restoreStackSize(stackSize);
 }
 
-rule__DatamartTableGroupHeader__Group_2__1__Impl
+rule__DatamartTableHeader__Group_2_0__1__Impl
 	@init {
 		int stackSize = keepStackSize();
 	}
 :
 (
-	{ before(grammarAccess.getDatamartTableGroupHeaderAccess().getStyleAssignment_2_1()); }
-	(rule__DatamartTableGroupHeader__StyleAssignment_2_1)
-	{ after(grammarAccess.getDatamartTableGroupHeaderAccess().getStyleAssignment_2_1()); }
+	{ before(grammarAccess.getDatamartTableHeaderAccess().getStyleAssignment_2_0_1()); }
+	(rule__DatamartTableHeader__StyleAssignment_2_0_1)
+	{ after(grammarAccess.getDatamartTableHeaderAccess().getStyleAssignment_2_0_1()); }
 )
 ;
 finally {
@@ -17739,188 +17314,188 @@
 }
 
 
-rule__DatamartTableGroupFooter__Group__0
+rule__DatamartTableHeader__Group_3__0
 	@init {
 		int stackSize = keepStackSize();
 	}
 :
-	rule__DatamartTableGroupFooter__Group__0__Impl
-	rule__DatamartTableGroupFooter__Group__1
+	rule__DatamartTableHeader__Group_3__0__Impl
+	rule__DatamartTableHeader__Group_3__1
 ;
 finally {
 	restoreStackSize(stackSize);
 }
 
-rule__DatamartTableGroupFooter__Group__0__Impl
+rule__DatamartTableHeader__Group_3__0__Impl
 	@init {
 		int stackSize = keepStackSize();
 	}
 :
 (
-	{ before(grammarAccess.getDatamartTableGroupFooterAccess().getDatamartTableGroupFooterAction_0()); }
+	{ before(grammarAccess.getDatamartTableHeaderAccess().getLeftCurlyBracketKeyword_3_0()); }
+	'{'
+	{ after(grammarAccess.getDatamartTableHeaderAccess().getLeftCurlyBracketKeyword_3_0()); }
+)
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__DatamartTableHeader__Group_3__1
+	@init {
+		int stackSize = keepStackSize();
+	}
+:
+	rule__DatamartTableHeader__Group_3__1__Impl
+	rule__DatamartTableHeader__Group_3__2
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__DatamartTableHeader__Group_3__1__Impl
+	@init {
+		int stackSize = keepStackSize();
+	}
+:
+(
+	{ before(grammarAccess.getDatamartTableHeaderAccess().getRowsAssignment_3_1()); }
+	(rule__DatamartTableHeader__RowsAssignment_3_1)*
+	{ after(grammarAccess.getDatamartTableHeaderAccess().getRowsAssignment_3_1()); }
+)
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__DatamartTableHeader__Group_3__2
+	@init {
+		int stackSize = keepStackSize();
+	}
+:
+	rule__DatamartTableHeader__Group_3__2__Impl
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__DatamartTableHeader__Group_3__2__Impl
+	@init {
+		int stackSize = keepStackSize();
+	}
+:
+(
+	{ before(grammarAccess.getDatamartTableHeaderAccess().getRightCurlyBracketKeyword_3_2()); }
+	'}'
+	{ after(grammarAccess.getDatamartTableHeaderAccess().getRightCurlyBracketKeyword_3_2()); }
+)
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+rule__DatamartTableFooter__Group__0
+	@init {
+		int stackSize = keepStackSize();
+	}
+:
+	rule__DatamartTableFooter__Group__0__Impl
+	rule__DatamartTableFooter__Group__1
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__DatamartTableFooter__Group__0__Impl
+	@init {
+		int stackSize = keepStackSize();
+	}
+:
+(
+	{ before(grammarAccess.getDatamartTableFooterAccess().getDatamartTableFooterAction_0()); }
 	()
-	{ after(grammarAccess.getDatamartTableGroupFooterAccess().getDatamartTableGroupFooterAction_0()); }
+	{ after(grammarAccess.getDatamartTableFooterAccess().getDatamartTableFooterAction_0()); }
 )
 ;
 finally {
 	restoreStackSize(stackSize);
 }
 
-rule__DatamartTableGroupFooter__Group__1
+rule__DatamartTableFooter__Group__1
 	@init {
 		int stackSize = keepStackSize();
 	}
 :
-	rule__DatamartTableGroupFooter__Group__1__Impl
-	rule__DatamartTableGroupFooter__Group__2
+	rule__DatamartTableFooter__Group__1__Impl
+	rule__DatamartTableFooter__Group__2
 ;
 finally {
 	restoreStackSize(stackSize);
 }
 
-rule__DatamartTableGroupFooter__Group__1__Impl
+rule__DatamartTableFooter__Group__1__Impl
 	@init {
 		int stackSize = keepStackSize();
 	}
 :
 (
-	{ before(grammarAccess.getDatamartTableGroupFooterAccess().getFooterKeyword_1()); }
+	{ before(grammarAccess.getDatamartTableFooterAccess().getFooterKeyword_1()); }
 	'footer'
-	{ after(grammarAccess.getDatamartTableGroupFooterAccess().getFooterKeyword_1()); }
+	{ after(grammarAccess.getDatamartTableFooterAccess().getFooterKeyword_1()); }
 )
 ;
 finally {
 	restoreStackSize(stackSize);
 }
 
-rule__DatamartTableGroupFooter__Group__2
+rule__DatamartTableFooter__Group__2
 	@init {
 		int stackSize = keepStackSize();
 	}
 :
-	rule__DatamartTableGroupFooter__Group__2__Impl
-	rule__DatamartTableGroupFooter__Group__3
+	rule__DatamartTableFooter__Group__2__Impl
+	rule__DatamartTableFooter__Group__3
 ;
 finally {
 	restoreStackSize(stackSize);
 }
 
-rule__DatamartTableGroupFooter__Group__2__Impl
+rule__DatamartTableFooter__Group__2__Impl
 	@init {
 		int stackSize = keepStackSize();
 	}
 :
 (
-	{ before(grammarAccess.getDatamartTableGroupFooterAccess().getGroup_2()); }
-	(rule__DatamartTableGroupFooter__Group_2__0)?
-	{ after(grammarAccess.getDatamartTableGroupFooterAccess().getGroup_2()); }
+	{ before(grammarAccess.getDatamartTableFooterAccess().getUnorderedGroup_2()); }
+	(rule__DatamartTableFooter__UnorderedGroup_2)
+	{ after(grammarAccess.getDatamartTableFooterAccess().getUnorderedGroup_2()); }
 )
 ;
 finally {
 	restoreStackSize(stackSize);
 }
 
-rule__DatamartTableGroupFooter__Group__3
+rule__DatamartTableFooter__Group__3
 	@init {
 		int stackSize = keepStackSize();
 	}
 :
-	rule__DatamartTableGroupFooter__Group__3__Impl
-	rule__DatamartTableGroupFooter__Group__4
+	rule__DatamartTableFooter__Group__3__Impl
 ;
 finally {
 	restoreStackSize(stackSize);
 }
 
-rule__DatamartTableGroupFooter__Group__3__Impl
+rule__DatamartTableFooter__Group__3__Impl
 	@init {
 		int stackSize = keepStackSize();
 	}
 :
 (
-	{ before(grammarAccess.getDatamartTableGroupFooterAccess().getPageBreakAssignment_3()); }
-	(rule__DatamartTableGroupFooter__PageBreakAssignment_3)?
-	{ after(grammarAccess.getDatamartTableGroupFooterAccess().getPageBreakAssignment_3()); }
-)
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__DatamartTableGroupFooter__Group__4
-	@init {
-		int stackSize = keepStackSize();
-	}
-:
-	rule__DatamartTableGroupFooter__Group__4__Impl
-	rule__DatamartTableGroupFooter__Group__5
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__DatamartTableGroupFooter__Group__4__Impl
-	@init {
-		int stackSize = keepStackSize();
-	}
-:
-(
-	{ before(grammarAccess.getDatamartTableGroupFooterAccess().getLeftCurlyBracketKeyword_4()); }
-	'{'
-	{ after(grammarAccess.getDatamartTableGroupFooterAccess().getLeftCurlyBracketKeyword_4()); }
-)
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__DatamartTableGroupFooter__Group__5
-	@init {
-		int stackSize = keepStackSize();
-	}
-:
-	rule__DatamartTableGroupFooter__Group__5__Impl
-	rule__DatamartTableGroupFooter__Group__6
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__DatamartTableGroupFooter__Group__5__Impl
-	@init {
-		int stackSize = keepStackSize();
-	}
-:
-(
-	{ before(grammarAccess.getDatamartTableGroupFooterAccess().getRowsAssignment_5()); }
-	(rule__DatamartTableGroupFooter__RowsAssignment_5)*
-	{ after(grammarAccess.getDatamartTableGroupFooterAccess().getRowsAssignment_5()); }
-)
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__DatamartTableGroupFooter__Group__6
-	@init {
-		int stackSize = keepStackSize();
-	}
-:
-	rule__DatamartTableGroupFooter__Group__6__Impl
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__DatamartTableGroupFooter__Group__6__Impl
-	@init {
-		int stackSize = keepStackSize();
-	}
-:
-(
-	{ before(grammarAccess.getDatamartTableGroupFooterAccess().getRightCurlyBracketKeyword_6()); }
-	'}'
-	{ after(grammarAccess.getDatamartTableGroupFooterAccess().getRightCurlyBracketKeyword_6()); }
+	{ before(grammarAccess.getDatamartTableFooterAccess().getGroup_3()); }
+	(rule__DatamartTableFooter__Group_3__0)?
+	{ after(grammarAccess.getDatamartTableFooterAccess().getGroup_3()); }
 )
 ;
 finally {
@@ -17928,53 +17503,134 @@
 }
 
 
-rule__DatamartTableGroupFooter__Group_2__0
+rule__DatamartTableFooter__Group_2_0__0
 	@init {
 		int stackSize = keepStackSize();
 	}
 :
-	rule__DatamartTableGroupFooter__Group_2__0__Impl
-	rule__DatamartTableGroupFooter__Group_2__1
+	rule__DatamartTableFooter__Group_2_0__0__Impl
+	rule__DatamartTableFooter__Group_2_0__1
 ;
 finally {
 	restoreStackSize(stackSize);
 }
 
-rule__DatamartTableGroupFooter__Group_2__0__Impl
+rule__DatamartTableFooter__Group_2_0__0__Impl
 	@init {
 		int stackSize = keepStackSize();
 	}
 :
 (
-	{ before(grammarAccess.getDatamartTableGroupFooterAccess().getStyleKeyword_2_0()); }
+	{ before(grammarAccess.getDatamartTableFooterAccess().getStyleKeyword_2_0_0()); }
 	'style'
-	{ after(grammarAccess.getDatamartTableGroupFooterAccess().getStyleKeyword_2_0()); }
+	{ after(grammarAccess.getDatamartTableFooterAccess().getStyleKeyword_2_0_0()); }
 )
 ;
 finally {
 	restoreStackSize(stackSize);
 }
 
-rule__DatamartTableGroupFooter__Group_2__1
+rule__DatamartTableFooter__Group_2_0__1
 	@init {
 		int stackSize = keepStackSize();
 	}
 :
-	rule__DatamartTableGroupFooter__Group_2__1__Impl
+	rule__DatamartTableFooter__Group_2_0__1__Impl
 ;
 finally {
 	restoreStackSize(stackSize);
 }
 
-rule__DatamartTableGroupFooter__Group_2__1__Impl
+rule__DatamartTableFooter__Group_2_0__1__Impl
 	@init {
 		int stackSize = keepStackSize();
 	}
 :
 (
-	{ before(grammarAccess.getDatamartTableGroupFooterAccess().getStyleAssignment_2_1()); }
-	(rule__DatamartTableGroupFooter__StyleAssignment_2_1)
-	{ after(grammarAccess.getDatamartTableGroupFooterAccess().getStyleAssignment_2_1()); }
+	{ before(grammarAccess.getDatamartTableFooterAccess().getStyleAssignment_2_0_1()); }
+	(rule__DatamartTableFooter__StyleAssignment_2_0_1)
+	{ after(grammarAccess.getDatamartTableFooterAccess().getStyleAssignment_2_0_1()); }
+)
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+rule__DatamartTableFooter__Group_3__0
+	@init {
+		int stackSize = keepStackSize();
+	}
+:
+	rule__DatamartTableFooter__Group_3__0__Impl
+	rule__DatamartTableFooter__Group_3__1
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__DatamartTableFooter__Group_3__0__Impl
+	@init {
+		int stackSize = keepStackSize();
+	}
+:
+(
+	{ before(grammarAccess.getDatamartTableFooterAccess().getLeftCurlyBracketKeyword_3_0()); }
+	'{'
+	{ after(grammarAccess.getDatamartTableFooterAccess().getLeftCurlyBracketKeyword_3_0()); }
+)
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__DatamartTableFooter__Group_3__1
+	@init {
+		int stackSize = keepStackSize();
+	}
+:
+	rule__DatamartTableFooter__Group_3__1__Impl
+	rule__DatamartTableFooter__Group_3__2
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__DatamartTableFooter__Group_3__1__Impl
+	@init {
+		int stackSize = keepStackSize();
+	}
+:
+(
+	{ before(grammarAccess.getDatamartTableFooterAccess().getRowsAssignment_3_1()); }
+	(rule__DatamartTableFooter__RowsAssignment_3_1)*
+	{ after(grammarAccess.getDatamartTableFooterAccess().getRowsAssignment_3_1()); }
+)
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__DatamartTableFooter__Group_3__2
+	@init {
+		int stackSize = keepStackSize();
+	}
+:
+	rule__DatamartTableFooter__Group_3__2__Impl
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__DatamartTableFooter__Group_3__2__Impl
+	@init {
+		int stackSize = keepStackSize();
+	}
+:
+(
+	{ before(grammarAccess.getDatamartTableFooterAccess().getRightCurlyBracketKeyword_3_2()); }
+	'}'
+	{ after(grammarAccess.getDatamartTableFooterAccess().getRightCurlyBracketKeyword_3_2()); }
 )
 ;
 finally {
@@ -19458,9 +19114,9 @@
 	}
 :
 (
-	{ before(grammarAccess.getPageBreakAccess().getGroup_2()); }
-	(rule__PageBreak__Group_2__0)?
-	{ after(grammarAccess.getPageBreakAccess().getGroup_2()); }
+	{ before(grammarAccess.getPageBreakAccess().getLeftParenthesisKeyword_2()); }
+	'('
+	{ after(grammarAccess.getPageBreakAccess().getLeftParenthesisKeyword_2()); }
 )
 ;
 finally {
@@ -19500,6 +19156,7 @@
 	}
 :
 	rule__PageBreak__Group__4__Impl
+	rule__PageBreak__Group__5
 ;
 finally {
 	restoreStackSize(stackSize);
@@ -19520,54 +19177,53 @@
 	restoreStackSize(stackSize);
 }
 
-
-rule__PageBreak__Group_2__0
+rule__PageBreak__Group__5
 	@init {
 		int stackSize = keepStackSize();
 	}
 :
-	rule__PageBreak__Group_2__0__Impl
-	rule__PageBreak__Group_2__1
+	rule__PageBreak__Group__5__Impl
+	rule__PageBreak__Group__6
 ;
 finally {
 	restoreStackSize(stackSize);
 }
 
-rule__PageBreak__Group_2__0__Impl
+rule__PageBreak__Group__5__Impl
 	@init {
 		int stackSize = keepStackSize();
 	}
 :
 (
-	{ before(grammarAccess.getPageBreakAccess().getBeforeKeyword_2_0()); }
-	'before'
-	{ after(grammarAccess.getPageBreakAccess().getBeforeKeyword_2_0()); }
+	{ before(grammarAccess.getPageBreakAccess().getGroup_5()); }
+	(rule__PageBreak__Group_5__0)?
+	{ after(grammarAccess.getPageBreakAccess().getGroup_5()); }
 )
 ;
 finally {
 	restoreStackSize(stackSize);
 }
 
-rule__PageBreak__Group_2__1
+rule__PageBreak__Group__6
 	@init {
 		int stackSize = keepStackSize();
 	}
 :
-	rule__PageBreak__Group_2__1__Impl
+	rule__PageBreak__Group__6__Impl
 ;
 finally {
 	restoreStackSize(stackSize);
 }
 
-rule__PageBreak__Group_2__1__Impl
+rule__PageBreak__Group__6__Impl
 	@init {
 		int stackSize = keepStackSize();
 	}
 :
 (
-	{ before(grammarAccess.getPageBreakAccess().getBeforePageBreakAssignment_2_1()); }
-	(rule__PageBreak__BeforePageBreakAssignment_2_1)
-	{ after(grammarAccess.getPageBreakAccess().getBeforePageBreakAssignment_2_1()); }
+	{ before(grammarAccess.getPageBreakAccess().getRightParenthesisKeyword_6()); }
+	')'
+	{ after(grammarAccess.getPageBreakAccess().getRightParenthesisKeyword_6()); }
 )
 ;
 finally {
@@ -19593,9 +19249,9 @@
 	}
 :
 (
-	{ before(grammarAccess.getPageBreakAccess().getAfterKeyword_3_0()); }
-	'after'
-	{ after(grammarAccess.getPageBreakAccess().getAfterKeyword_3_0()); }
+	{ before(grammarAccess.getPageBreakAccess().getBeforeKeyword_3_0()); }
+	'before'
+	{ after(grammarAccess.getPageBreakAccess().getBeforeKeyword_3_0()); }
 )
 ;
 finally {
@@ -19619,9 +19275,9 @@
 	}
 :
 (
-	{ before(grammarAccess.getPageBreakAccess().getAfterPageBreakAssignment_3_1()); }
-	(rule__PageBreak__AfterPageBreakAssignment_3_1)
-	{ after(grammarAccess.getPageBreakAccess().getAfterPageBreakAssignment_3_1()); }
+	{ before(grammarAccess.getPageBreakAccess().getBeforePageBreakAssignment_3_1()); }
+	(rule__PageBreak__BeforePageBreakAssignment_3_1)
+	{ after(grammarAccess.getPageBreakAccess().getBeforePageBreakAssignment_3_1()); }
 )
 ;
 finally {
@@ -19647,9 +19303,9 @@
 	}
 :
 (
-	{ before(grammarAccess.getPageBreakAccess().getInsideKeyword_4_0()); }
-	'inside'
-	{ after(grammarAccess.getPageBreakAccess().getInsideKeyword_4_0()); }
+	{ before(grammarAccess.getPageBreakAccess().getAfterKeyword_4_0()); }
+	'after'
+	{ after(grammarAccess.getPageBreakAccess().getAfterKeyword_4_0()); }
 )
 ;
 finally {
@@ -19673,9 +19329,63 @@
 	}
 :
 (
-	{ before(grammarAccess.getPageBreakAccess().getInsidePageBreakAssignment_4_1()); }
-	(rule__PageBreak__InsidePageBreakAssignment_4_1)
-	{ after(grammarAccess.getPageBreakAccess().getInsidePageBreakAssignment_4_1()); }
+	{ before(grammarAccess.getPageBreakAccess().getAfterPageBreakAssignment_4_1()); }
+	(rule__PageBreak__AfterPageBreakAssignment_4_1)
+	{ after(grammarAccess.getPageBreakAccess().getAfterPageBreakAssignment_4_1()); }
+)
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+rule__PageBreak__Group_5__0
+	@init {
+		int stackSize = keepStackSize();
+	}
+:
+	rule__PageBreak__Group_5__0__Impl
+	rule__PageBreak__Group_5__1
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__PageBreak__Group_5__0__Impl
+	@init {
+		int stackSize = keepStackSize();
+	}
+:
+(
+	{ before(grammarAccess.getPageBreakAccess().getInsideKeyword_5_0()); }
+	'inside'
+	{ after(grammarAccess.getPageBreakAccess().getInsideKeyword_5_0()); }
+)
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__PageBreak__Group_5__1
+	@init {
+		int stackSize = keepStackSize();
+	}
+:
+	rule__PageBreak__Group_5__1__Impl
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__PageBreak__Group_5__1__Impl
+	@init {
+		int stackSize = keepStackSize();
+	}
+:
+(
+	{ before(grammarAccess.getPageBreakAccess().getInsidePageBreakAssignment_5_1()); }
+	(rule__PageBreak__InsidePageBreakAssignment_5_1)
+	{ after(grammarAccess.getPageBreakAccess().getInsidePageBreakAssignment_5_1()); }
 )
 ;
 finally {
@@ -35391,6 +35101,21 @@
 					{ after(grammarAccess.getStyleAccess().getGroup_4_16()); }
 				)
 			)
+		)|
+		( 
+			{getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 17)}?=>(
+				{
+					getUnorderedGroupHelper().select(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 17);
+				}
+				{
+					selected = true;
+				}
+				(
+					{ before(grammarAccess.getStyleAccess().getGroup_4_17()); }
+					(rule__Style__Group_4_17__0)
+					{ after(grammarAccess.getStyleAccess().getGroup_4_17()); }
+				)
+			)
 		)
 		)
 ;
@@ -35598,6 +35323,18 @@
 	}
 :
 	rule__Style__UnorderedGroup_4__Impl
+	rule__Style__UnorderedGroup_4__17?
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__Style__UnorderedGroup_4__17
+	@init {
+		int stackSize = keepStackSize();
+	}
+:
+	rule__Style__UnorderedGroup_4__Impl
 ;
 finally {
 	restoreStackSize(stackSize);
@@ -35879,6 +35616,21 @@
 					{ after(grammarAccess.getMediaStyleAccess().getGroup_3_16()); }
 				)
 			)
+		)|
+		( 
+			{getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 17)}?=>(
+				{
+					getUnorderedGroupHelper().select(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 17);
+				}
+				{
+					selected = true;
+				}
+				(
+					{ before(grammarAccess.getMediaStyleAccess().getGroup_3_17()); }
+					(rule__MediaStyle__Group_3_17__0)
+					{ after(grammarAccess.getMediaStyleAccess().getGroup_3_17()); }
+				)
+			)
 		)
 		)
 ;
@@ -36086,6 +35838,734 @@
 	}
 :
 	rule__MediaStyle__UnorderedGroup_3__Impl
+	rule__MediaStyle__UnorderedGroup_3__17?
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__MediaStyle__UnorderedGroup_3__17
+	@init {
+		int stackSize = keepStackSize();
+	}
+:
+	rule__MediaStyle__UnorderedGroup_3__Impl
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+rule__Grid__UnorderedGroup_3
+	@init {
+		int stackSize = keepStackSize();
+		getUnorderedGroupHelper().enter(grammarAccess.getGridAccess().getUnorderedGroup_3());
+	}
+:
+	rule__Grid__UnorderedGroup_3__0
+	?
+;
+finally {
+	getUnorderedGroupHelper().leave(grammarAccess.getGridAccess().getUnorderedGroup_3());
+	restoreStackSize(stackSize);
+}
+
+rule__Grid__UnorderedGroup_3__Impl
+	@init {
+		int stackSize = keepStackSize();
+		boolean selected = false;
+	}
+:
+		(
+		( 
+			{getUnorderedGroupHelper().canSelect(grammarAccess.getGridAccess().getUnorderedGroup_3(), 0)}?=>(
+				{
+					getUnorderedGroupHelper().select(grammarAccess.getGridAccess().getUnorderedGroup_3(), 0);
+				}
+				{
+					selected = true;
+				}
+				(
+					{ before(grammarAccess.getGridAccess().getGroup_3_0()); }
+					(rule__Grid__Group_3_0__0)
+					{ after(grammarAccess.getGridAccess().getGroup_3_0()); }
+				)
+			)
+		)|
+		( 
+			{getUnorderedGroupHelper().canSelect(grammarAccess.getGridAccess().getUnorderedGroup_3(), 1)}?=>(
+				{
+					getUnorderedGroupHelper().select(grammarAccess.getGridAccess().getUnorderedGroup_3(), 1);
+				}
+				{
+					selected = true;
+				}
+				(
+					{ before(grammarAccess.getGridAccess().getGroup_3_1()); }
+					(rule__Grid__Group_3_1__0)
+					{ after(grammarAccess.getGridAccess().getGroup_3_1()); }
+				)
+			)
+		)|
+		( 
+			{getUnorderedGroupHelper().canSelect(grammarAccess.getGridAccess().getUnorderedGroup_3(), 2)}?=>(
+				{
+					getUnorderedGroupHelper().select(grammarAccess.getGridAccess().getUnorderedGroup_3(), 2);
+				}
+				{
+					selected = true;
+				}
+				(
+					{ before(grammarAccess.getGridAccess().getVisibilityItemAssignment_3_2()); }
+					(rule__Grid__VisibilityItemAssignment_3_2)
+					{ after(grammarAccess.getGridAccess().getVisibilityItemAssignment_3_2()); }
+				)
+			)
+		)
+		)
+;
+finally {
+	if (selected)
+		getUnorderedGroupHelper().returnFromSelection(grammarAccess.getGridAccess().getUnorderedGroup_3());
+	restoreStackSize(stackSize);
+}
+
+rule__Grid__UnorderedGroup_3__0
+	@init {
+		int stackSize = keepStackSize();
+	}
+:
+	rule__Grid__UnorderedGroup_3__Impl
+	rule__Grid__UnorderedGroup_3__1?
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__Grid__UnorderedGroup_3__1
+	@init {
+		int stackSize = keepStackSize();
+	}
+:
+	rule__Grid__UnorderedGroup_3__Impl
+	rule__Grid__UnorderedGroup_3__2?
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__Grid__UnorderedGroup_3__2
+	@init {
+		int stackSize = keepStackSize();
+	}
+:
+	rule__Grid__UnorderedGroup_3__Impl
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+rule__GridRow__UnorderedGroup_3
+	@init {
+		int stackSize = keepStackSize();
+		getUnorderedGroupHelper().enter(grammarAccess.getGridRowAccess().getUnorderedGroup_3());
+	}
+:
+	rule__GridRow__UnorderedGroup_3__0
+	?
+;
+finally {
+	getUnorderedGroupHelper().leave(grammarAccess.getGridRowAccess().getUnorderedGroup_3());
+	restoreStackSize(stackSize);
+}
+
+rule__GridRow__UnorderedGroup_3__Impl
+	@init {
+		int stackSize = keepStackSize();
+		boolean selected = false;
+	}
+:
+		(
+		( 
+			{getUnorderedGroupHelper().canSelect(grammarAccess.getGridRowAccess().getUnorderedGroup_3(), 0)}?=>(
+				{
+					getUnorderedGroupHelper().select(grammarAccess.getGridRowAccess().getUnorderedGroup_3(), 0);
+				}
+				{
+					selected = true;
+				}
+				(
+					{ before(grammarAccess.getGridRowAccess().getGroup_3_0()); }
+					(rule__GridRow__Group_3_0__0)
+					{ after(grammarAccess.getGridRowAccess().getGroup_3_0()); }
+				)
+			)
+		)|
+		( 
+			{getUnorderedGroupHelper().canSelect(grammarAccess.getGridRowAccess().getUnorderedGroup_3(), 1)}?=>(
+				{
+					getUnorderedGroupHelper().select(grammarAccess.getGridRowAccess().getUnorderedGroup_3(), 1);
+				}
+				{
+					selected = true;
+				}
+				(
+					{ before(grammarAccess.getGridRowAccess().getGroup_3_1()); }
+					(rule__GridRow__Group_3_1__0)
+					{ after(grammarAccess.getGridRowAccess().getGroup_3_1()); }
+				)
+			)
+		)|
+		( 
+			{getUnorderedGroupHelper().canSelect(grammarAccess.getGridRowAccess().getUnorderedGroup_3(), 2)}?=>(
+				{
+					getUnorderedGroupHelper().select(grammarAccess.getGridRowAccess().getUnorderedGroup_3(), 2);
+				}
+				{
+					selected = true;
+				}
+				(
+					{ before(grammarAccess.getGridRowAccess().getVisibilityItemAssignment_3_2()); }
+					(rule__GridRow__VisibilityItemAssignment_3_2)
+					{ after(grammarAccess.getGridRowAccess().getVisibilityItemAssignment_3_2()); }
+				)
+			)
+		)
+		)
+;
+finally {
+	if (selected)
+		getUnorderedGroupHelper().returnFromSelection(grammarAccess.getGridRowAccess().getUnorderedGroup_3());
+	restoreStackSize(stackSize);
+}
+
+rule__GridRow__UnorderedGroup_3__0
+	@init {
+		int stackSize = keepStackSize();
+	}
+:
+	rule__GridRow__UnorderedGroup_3__Impl
+	rule__GridRow__UnorderedGroup_3__1?
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__GridRow__UnorderedGroup_3__1
+	@init {
+		int stackSize = keepStackSize();
+	}
+:
+	rule__GridRow__UnorderedGroup_3__Impl
+	rule__GridRow__UnorderedGroup_3__2?
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__GridRow__UnorderedGroup_3__2
+	@init {
+		int stackSize = keepStackSize();
+	}
+:
+	rule__GridRow__UnorderedGroup_3__Impl
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+rule__GridCell__UnorderedGroup_3
+	@init {
+		int stackSize = keepStackSize();
+		getUnorderedGroupHelper().enter(grammarAccess.getGridCellAccess().getUnorderedGroup_3());
+	}
+:
+	rule__GridCell__UnorderedGroup_3__0
+	?
+;
+finally {
+	getUnorderedGroupHelper().leave(grammarAccess.getGridCellAccess().getUnorderedGroup_3());
+	restoreStackSize(stackSize);
+}
+
+rule__GridCell__UnorderedGroup_3__Impl
+	@init {
+		int stackSize = keepStackSize();
+		boolean selected = false;
+	}
+:
+		(
+		( 
+			{getUnorderedGroupHelper().canSelect(grammarAccess.getGridCellAccess().getUnorderedGroup_3(), 0)}?=>(
+				{
+					getUnorderedGroupHelper().select(grammarAccess.getGridCellAccess().getUnorderedGroup_3(), 0);
+				}
+				{
+					selected = true;
+				}
+				(
+					{ before(grammarAccess.getGridCellAccess().getGroup_3_0()); }
+					(rule__GridCell__Group_3_0__0)
+					{ after(grammarAccess.getGridCellAccess().getGroup_3_0()); }
+				)
+			)
+		)|
+		( 
+			{getUnorderedGroupHelper().canSelect(grammarAccess.getGridCellAccess().getUnorderedGroup_3(), 1)}?=>(
+				{
+					getUnorderedGroupHelper().select(grammarAccess.getGridCellAccess().getUnorderedGroup_3(), 1);
+				}
+				{
+					selected = true;
+				}
+				(
+					{ before(grammarAccess.getGridCellAccess().getGroup_3_1()); }
+					(rule__GridCell__Group_3_1__0)
+					{ after(grammarAccess.getGridCellAccess().getGroup_3_1()); }
+				)
+			)
+		)|
+		( 
+			{getUnorderedGroupHelper().canSelect(grammarAccess.getGridCellAccess().getUnorderedGroup_3(), 2)}?=>(
+				{
+					getUnorderedGroupHelper().select(grammarAccess.getGridCellAccess().getUnorderedGroup_3(), 2);
+				}
+				{
+					selected = true;
+				}
+				(
+					{ before(grammarAccess.getGridCellAccess().getGroup_3_2()); }
+					(rule__GridCell__Group_3_2__0)
+					{ after(grammarAccess.getGridCellAccess().getGroup_3_2()); }
+				)
+			)
+		)|
+		( 
+			{getUnorderedGroupHelper().canSelect(grammarAccess.getGridCellAccess().getUnorderedGroup_3(), 3)}?=>(
+				{
+					getUnorderedGroupHelper().select(grammarAccess.getGridCellAccess().getUnorderedGroup_3(), 3);
+				}
+				{
+					selected = true;
+				}
+				(
+					{ before(grammarAccess.getGridCellAccess().getVisibilityItemAssignment_3_3()); }
+					(rule__GridCell__VisibilityItemAssignment_3_3)
+					{ after(grammarAccess.getGridCellAccess().getVisibilityItemAssignment_3_3()); }
+				)
+			)
+		)
+		)
+;
+finally {
+	if (selected)
+		getUnorderedGroupHelper().returnFromSelection(grammarAccess.getGridCellAccess().getUnorderedGroup_3());
+	restoreStackSize(stackSize);
+}
+
+rule__GridCell__UnorderedGroup_3__0
+	@init {
+		int stackSize = keepStackSize();
+	}
+:
+	rule__GridCell__UnorderedGroup_3__Impl
+	rule__GridCell__UnorderedGroup_3__1?
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__GridCell__UnorderedGroup_3__1
+	@init {
+		int stackSize = keepStackSize();
+	}
+:
+	rule__GridCell__UnorderedGroup_3__Impl
+	rule__GridCell__UnorderedGroup_3__2?
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__GridCell__UnorderedGroup_3__2
+	@init {
+		int stackSize = keepStackSize();
+	}
+:
+	rule__GridCell__UnorderedGroup_3__Impl
+	rule__GridCell__UnorderedGroup_3__3?
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__GridCell__UnorderedGroup_3__3
+	@init {
+		int stackSize = keepStackSize();
+	}
+:
+	rule__GridCell__UnorderedGroup_3__Impl
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+rule__DatamartTable__UnorderedGroup_2
+	@init {
+		int stackSize = keepStackSize();
+		getUnorderedGroupHelper().enter(grammarAccess.getDatamartTableAccess().getUnorderedGroup_2());
+	}
+:
+	rule__DatamartTable__UnorderedGroup_2__0
+	?
+;
+finally {
+	getUnorderedGroupHelper().leave(grammarAccess.getDatamartTableAccess().getUnorderedGroup_2());
+	restoreStackSize(stackSize);
+}
+
+rule__DatamartTable__UnorderedGroup_2__Impl
+	@init {
+		int stackSize = keepStackSize();
+		boolean selected = false;
+	}
+:
+		(
+		( 
+			{getUnorderedGroupHelper().canSelect(grammarAccess.getDatamartTableAccess().getUnorderedGroup_2(), 0)}?=>(
+				{
+					getUnorderedGroupHelper().select(grammarAccess.getDatamartTableAccess().getUnorderedGroup_2(), 0);
+				}
+				{
+					selected = true;
+				}
+				(
+					{ before(grammarAccess.getDatamartTableAccess().getGroup_2_0()); }
+					(rule__DatamartTable__Group_2_0__0)
+					{ after(grammarAccess.getDatamartTableAccess().getGroup_2_0()); }
+				)
+			)
+		)|
+		( 
+			{getUnorderedGroupHelper().canSelect(grammarAccess.getDatamartTableAccess().getUnorderedGroup_2(), 1)}?=>(
+				{
+					getUnorderedGroupHelper().select(grammarAccess.getDatamartTableAccess().getUnorderedGroup_2(), 1);
+				}
+				{
+					selected = true;
+				}
+				(
+					{ before(grammarAccess.getDatamartTableAccess().getVisibilityItemAssignment_2_1()); }
+					(rule__DatamartTable__VisibilityItemAssignment_2_1)
+					{ after(grammarAccess.getDatamartTableAccess().getVisibilityItemAssignment_2_1()); }
+				)
+			)
+		)|
+		( 
+			{getUnorderedGroupHelper().canSelect(grammarAccess.getDatamartTableAccess().getUnorderedGroup_2(), 2)}?=>(
+				{
+					getUnorderedGroupHelper().select(grammarAccess.getDatamartTableAccess().getUnorderedGroup_2(), 2);
+				}
+				{
+					selected = true;
+				}
+				(
+					{ before(grammarAccess.getDatamartTableAccess().getPageBreakAssignment_2_2()); }
+					(rule__DatamartTable__PageBreakAssignment_2_2)
+					{ after(grammarAccess.getDatamartTableAccess().getPageBreakAssignment_2_2()); }
+				)
+			)
+		)
+		)
+;
+finally {
+	if (selected)
+		getUnorderedGroupHelper().returnFromSelection(grammarAccess.getDatamartTableAccess().getUnorderedGroup_2());
+	restoreStackSize(stackSize);
+}
+
+rule__DatamartTable__UnorderedGroup_2__0
+	@init {
+		int stackSize = keepStackSize();
+	}
+:
+	rule__DatamartTable__UnorderedGroup_2__Impl
+	rule__DatamartTable__UnorderedGroup_2__1?
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__DatamartTable__UnorderedGroup_2__1
+	@init {
+		int stackSize = keepStackSize();
+	}
+:
+	rule__DatamartTable__UnorderedGroup_2__Impl
+	rule__DatamartTable__UnorderedGroup_2__2?
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__DatamartTable__UnorderedGroup_2__2
+	@init {
+		int stackSize = keepStackSize();
+	}
+:
+	rule__DatamartTable__UnorderedGroup_2__Impl
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+rule__DatamartTableGroup__UnorderedGroup_4
+	@init {
+		int stackSize = keepStackSize();
+		getUnorderedGroupHelper().enter(grammarAccess.getDatamartTableGroupAccess().getUnorderedGroup_4());
+	}
+:
+	rule__DatamartTableGroup__UnorderedGroup_4__0
+	?
+;
+finally {
+	getUnorderedGroupHelper().leave(grammarAccess.getDatamartTableGroupAccess().getUnorderedGroup_4());
+	restoreStackSize(stackSize);
+}
+
+rule__DatamartTableGroup__UnorderedGroup_4__Impl
+	@init {
+		int stackSize = keepStackSize();
+		boolean selected = false;
+	}
+:
+		(
+		( 
+			{getUnorderedGroupHelper().canSelect(grammarAccess.getDatamartTableGroupAccess().getUnorderedGroup_4(), 0)}?=>(
+				{
+					getUnorderedGroupHelper().select(grammarAccess.getDatamartTableGroupAccess().getUnorderedGroup_4(), 0);
+				}
+				{
+					selected = true;
+				}
+				(
+					{ before(grammarAccess.getDatamartTableGroupAccess().getVisibilityItemAssignment_4_0()); }
+					(rule__DatamartTableGroup__VisibilityItemAssignment_4_0)
+					{ after(grammarAccess.getDatamartTableGroupAccess().getVisibilityItemAssignment_4_0()); }
+				)
+			)
+		)|
+		( 
+			{getUnorderedGroupHelper().canSelect(grammarAccess.getDatamartTableGroupAccess().getUnorderedGroup_4(), 1)}?=>(
+				{
+					getUnorderedGroupHelper().select(grammarAccess.getDatamartTableGroupAccess().getUnorderedGroup_4(), 1);
+				}
+				{
+					selected = true;
+				}
+				(
+					{ before(grammarAccess.getDatamartTableGroupAccess().getPageBreakAssignment_4_1()); }
+					(rule__DatamartTableGroup__PageBreakAssignment_4_1)
+					{ after(grammarAccess.getDatamartTableGroupAccess().getPageBreakAssignment_4_1()); }
+				)
+			)
+		)
+		)
+;
+finally {
+	if (selected)
+		getUnorderedGroupHelper().returnFromSelection(grammarAccess.getDatamartTableGroupAccess().getUnorderedGroup_4());
+	restoreStackSize(stackSize);
+}
+
+rule__DatamartTableGroup__UnorderedGroup_4__0
+	@init {
+		int stackSize = keepStackSize();
+	}
+:
+	rule__DatamartTableGroup__UnorderedGroup_4__Impl
+	rule__DatamartTableGroup__UnorderedGroup_4__1?
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__DatamartTableGroup__UnorderedGroup_4__1
+	@init {
+		int stackSize = keepStackSize();
+	}
+:
+	rule__DatamartTableGroup__UnorderedGroup_4__Impl
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+rule__DatamartTableHeader__UnorderedGroup_2
+	@init {
+		int stackSize = keepStackSize();
+		getUnorderedGroupHelper().enter(grammarAccess.getDatamartTableHeaderAccess().getUnorderedGroup_2());
+	}
+:
+	rule__DatamartTableHeader__UnorderedGroup_2__0
+	?
+;
+finally {
+	getUnorderedGroupHelper().leave(grammarAccess.getDatamartTableHeaderAccess().getUnorderedGroup_2());
+	restoreStackSize(stackSize);
+}
+
+rule__DatamartTableHeader__UnorderedGroup_2__Impl
+	@init {
+		int stackSize = keepStackSize();
+		boolean selected = false;
+	}
+:
+		(
+		( 
+			{getUnorderedGroupHelper().canSelect(grammarAccess.getDatamartTableHeaderAccess().getUnorderedGroup_2(), 0)}?=>(
+				{
+					getUnorderedGroupHelper().select(grammarAccess.getDatamartTableHeaderAccess().getUnorderedGroup_2(), 0);
+				}
+				{
+					selected = true;
+				}
+				(
+					{ before(grammarAccess.getDatamartTableHeaderAccess().getGroup_2_0()); }
+					(rule__DatamartTableHeader__Group_2_0__0)
+					{ after(grammarAccess.getDatamartTableHeaderAccess().getGroup_2_0()); }
+				)
+			)
+		)|
+		( 
+			{getUnorderedGroupHelper().canSelect(grammarAccess.getDatamartTableHeaderAccess().getUnorderedGroup_2(), 1)}?=>(
+				{
+					getUnorderedGroupHelper().select(grammarAccess.getDatamartTableHeaderAccess().getUnorderedGroup_2(), 1);
+				}
+				{
+					selected = true;
+				}
+				(
+					{ before(grammarAccess.getDatamartTableHeaderAccess().getPageBreakAssignment_2_1()); }
+					(rule__DatamartTableHeader__PageBreakAssignment_2_1)
+					{ after(grammarAccess.getDatamartTableHeaderAccess().getPageBreakAssignment_2_1()); }
+				)
+			)
+		)
+		)
+;
+finally {
+	if (selected)
+		getUnorderedGroupHelper().returnFromSelection(grammarAccess.getDatamartTableHeaderAccess().getUnorderedGroup_2());
+	restoreStackSize(stackSize);
+}
+
+rule__DatamartTableHeader__UnorderedGroup_2__0
+	@init {
+		int stackSize = keepStackSize();
+	}
+:
+	rule__DatamartTableHeader__UnorderedGroup_2__Impl
+	rule__DatamartTableHeader__UnorderedGroup_2__1?
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__DatamartTableHeader__UnorderedGroup_2__1
+	@init {
+		int stackSize = keepStackSize();
+	}
+:
+	rule__DatamartTableHeader__UnorderedGroup_2__Impl
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+rule__DatamartTableFooter__UnorderedGroup_2
+	@init {
+		int stackSize = keepStackSize();
+		getUnorderedGroupHelper().enter(grammarAccess.getDatamartTableFooterAccess().getUnorderedGroup_2());
+	}
+:
+	rule__DatamartTableFooter__UnorderedGroup_2__0
+	?
+;
+finally {
+	getUnorderedGroupHelper().leave(grammarAccess.getDatamartTableFooterAccess().getUnorderedGroup_2());
+	restoreStackSize(stackSize);
+}
+
+rule__DatamartTableFooter__UnorderedGroup_2__Impl
+	@init {
+		int stackSize = keepStackSize();
+		boolean selected = false;
+	}
+:
+		(
+		( 
+			{getUnorderedGroupHelper().canSelect(grammarAccess.getDatamartTableFooterAccess().getUnorderedGroup_2(), 0)}?=>(
+				{
+					getUnorderedGroupHelper().select(grammarAccess.getDatamartTableFooterAccess().getUnorderedGroup_2(), 0);
+				}
+				{
+					selected = true;
+				}
+				(
+					{ before(grammarAccess.getDatamartTableFooterAccess().getGroup_2_0()); }
+					(rule__DatamartTableFooter__Group_2_0__0)
+					{ after(grammarAccess.getDatamartTableFooterAccess().getGroup_2_0()); }
+				)
+			)
+		)|
+		( 
+			{getUnorderedGroupHelper().canSelect(grammarAccess.getDatamartTableFooterAccess().getUnorderedGroup_2(), 1)}?=>(
+				{
+					getUnorderedGroupHelper().select(grammarAccess.getDatamartTableFooterAccess().getUnorderedGroup_2(), 1);
+				}
+				{
+					selected = true;
+				}
+				(
+					{ before(grammarAccess.getDatamartTableFooterAccess().getPageBreakAssignment_2_1()); }
+					(rule__DatamartTableFooter__PageBreakAssignment_2_1)
+					{ after(grammarAccess.getDatamartTableFooterAccess().getPageBreakAssignment_2_1()); }
+				)
+			)
+		)
+		)
+;
+finally {
+	if (selected)
+		getUnorderedGroupHelper().returnFromSelection(grammarAccess.getDatamartTableFooterAccess().getUnorderedGroup_2());
+	restoreStackSize(stackSize);
+}
+
+rule__DatamartTableFooter__UnorderedGroup_2__0
+	@init {
+		int stackSize = keepStackSize();
+	}
+:
+	rule__DatamartTableFooter__UnorderedGroup_2__Impl
+	rule__DatamartTableFooter__UnorderedGroup_2__1?
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__DatamartTableFooter__UnorderedGroup_2__1
+	@init {
+		int stackSize = keepStackSize();
+	}
+:
+	rule__DatamartTableFooter__UnorderedGroup_2__Impl
 ;
 finally {
 	restoreStackSize(stackSize);
@@ -37219,180 +37699,195 @@
 	restoreStackSize(stackSize);
 }
 
-rule__Style__BorderTopAssignment_4_5_1
+rule__Style__VerticalalignAssignment_4_5_1
 	@init {
 		int stackSize = keepStackSize();
 	}
 :
 	(
-		{ before(grammarAccess.getStyleAccess().getBorderTopBorderStyleParserRuleCall_4_5_1_0()); }
+		{ before(grammarAccess.getStyleAccess().getVerticalalignVerticalTextAlignEnumEnumRuleCall_4_5_1_0()); }
+		ruleVerticalTextAlignEnum
+		{ after(grammarAccess.getStyleAccess().getVerticalalignVerticalTextAlignEnumEnumRuleCall_4_5_1_0()); }
+	)
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__Style__BorderTopAssignment_4_6_1
+	@init {
+		int stackSize = keepStackSize();
+	}
+:
+	(
+		{ before(grammarAccess.getStyleAccess().getBorderTopBorderStyleParserRuleCall_4_6_1_0()); }
 		ruleBorderStyle
-		{ after(grammarAccess.getStyleAccess().getBorderTopBorderStyleParserRuleCall_4_5_1_0()); }
+		{ after(grammarAccess.getStyleAccess().getBorderTopBorderStyleParserRuleCall_4_6_1_0()); }
 	)
 ;
 finally {
 	restoreStackSize(stackSize);
 }
 
-rule__Style__BorderBottomAssignment_4_6_1
+rule__Style__BorderBottomAssignment_4_7_1
 	@init {
 		int stackSize = keepStackSize();
 	}
 :
 	(
-		{ before(grammarAccess.getStyleAccess().getBorderBottomBorderStyleParserRuleCall_4_6_1_0()); }
+		{ before(grammarAccess.getStyleAccess().getBorderBottomBorderStyleParserRuleCall_4_7_1_0()); }
 		ruleBorderStyle
-		{ after(grammarAccess.getStyleAccess().getBorderBottomBorderStyleParserRuleCall_4_6_1_0()); }
+		{ after(grammarAccess.getStyleAccess().getBorderBottomBorderStyleParserRuleCall_4_7_1_0()); }
 	)
 ;
 finally {
 	restoreStackSize(stackSize);
 }
 
-rule__Style__BorderLeftAssignment_4_7_1
+rule__Style__BorderLeftAssignment_4_8_1
 	@init {
 		int stackSize = keepStackSize();
 	}
 :
 	(
-		{ before(grammarAccess.getStyleAccess().getBorderLeftBorderStyleParserRuleCall_4_7_1_0()); }
+		{ before(grammarAccess.getStyleAccess().getBorderLeftBorderStyleParserRuleCall_4_8_1_0()); }
 		ruleBorderStyle
-		{ after(grammarAccess.getStyleAccess().getBorderLeftBorderStyleParserRuleCall_4_7_1_0()); }
+		{ after(grammarAccess.getStyleAccess().getBorderLeftBorderStyleParserRuleCall_4_8_1_0()); }
 	)
 ;
 finally {
 	restoreStackSize(stackSize);
 }
 
-rule__Style__BorderRightAssignment_4_8_1
+rule__Style__BorderRightAssignment_4_9_1
 	@init {
 		int stackSize = keepStackSize();
 	}
 :
 	(
-		{ before(grammarAccess.getStyleAccess().getBorderRightBorderStyleParserRuleCall_4_8_1_0()); }
+		{ before(grammarAccess.getStyleAccess().getBorderRightBorderStyleParserRuleCall_4_9_1_0()); }
 		ruleBorderStyle
-		{ after(grammarAccess.getStyleAccess().getBorderRightBorderStyleParserRuleCall_4_8_1_0()); }
+		{ after(grammarAccess.getStyleAccess().getBorderRightBorderStyleParserRuleCall_4_9_1_0()); }
 	)
 ;
 finally {
 	restoreStackSize(stackSize);
 }
 
-rule__Style__PaddingTopValueAssignment_4_9_1
+rule__Style__PaddingTopValueAssignment_4_10_1
 	@init {
 		int stackSize = keepStackSize();
 	}
 :
 	(
-		{ before(grammarAccess.getStyleAccess().getPaddingTopValueUnsignedNumberParserRuleCall_4_9_1_0()); }
+		{ before(grammarAccess.getStyleAccess().getPaddingTopValueUnsignedNumberParserRuleCall_4_10_1_0()); }
 		ruleUnsignedNumber
-		{ after(grammarAccess.getStyleAccess().getPaddingTopValueUnsignedNumberParserRuleCall_4_9_1_0()); }
+		{ after(grammarAccess.getStyleAccess().getPaddingTopValueUnsignedNumberParserRuleCall_4_10_1_0()); }
 	)
 ;
 finally {
 	restoreStackSize(stackSize);
 }
 
-rule__Style__PaddingBottomValueAssignment_4_10_1
+rule__Style__PaddingBottomValueAssignment_4_11_1
 	@init {
 		int stackSize = keepStackSize();
 	}
 :
 	(
-		{ before(grammarAccess.getStyleAccess().getPaddingBottomValueUnsignedNumberParserRuleCall_4_10_1_0()); }
+		{ before(grammarAccess.getStyleAccess().getPaddingBottomValueUnsignedNumberParserRuleCall_4_11_1_0()); }
 		ruleUnsignedNumber
-		{ after(grammarAccess.getStyleAccess().getPaddingBottomValueUnsignedNumberParserRuleCall_4_10_1_0()); }
+		{ after(grammarAccess.getStyleAccess().getPaddingBottomValueUnsignedNumberParserRuleCall_4_11_1_0()); }
 	)
 ;
 finally {
 	restoreStackSize(stackSize);
 }
 
-rule__Style__PaddingLeftValueAssignment_4_11_1
+rule__Style__PaddingLeftValueAssignment_4_12_1
 	@init {
 		int stackSize = keepStackSize();
 	}
 :
 	(
-		{ before(grammarAccess.getStyleAccess().getPaddingLeftValueUnsignedNumberParserRuleCall_4_11_1_0()); }
+		{ before(grammarAccess.getStyleAccess().getPaddingLeftValueUnsignedNumberParserRuleCall_4_12_1_0()); }
 		ruleUnsignedNumber
-		{ after(grammarAccess.getStyleAccess().getPaddingLeftValueUnsignedNumberParserRuleCall_4_11_1_0()); }
+		{ after(grammarAccess.getStyleAccess().getPaddingLeftValueUnsignedNumberParserRuleCall_4_12_1_0()); }
 	)
 ;
 finally {
 	restoreStackSize(stackSize);
 }
 
-rule__Style__PaddingRightValueAssignment_4_12_1
+rule__Style__PaddingRightValueAssignment_4_13_1
 	@init {
 		int stackSize = keepStackSize();
 	}
 :
 	(
-		{ before(grammarAccess.getStyleAccess().getPaddingRightValueUnsignedNumberParserRuleCall_4_12_1_0()); }
+		{ before(grammarAccess.getStyleAccess().getPaddingRightValueUnsignedNumberParserRuleCall_4_13_1_0()); }
 		ruleUnsignedNumber
-		{ after(grammarAccess.getStyleAccess().getPaddingRightValueUnsignedNumberParserRuleCall_4_12_1_0()); }
+		{ after(grammarAccess.getStyleAccess().getPaddingRightValueUnsignedNumberParserRuleCall_4_13_1_0()); }
 	)
 ;
 finally {
 	restoreStackSize(stackSize);
 }
 
-rule__Style__MarginTopValueAssignment_4_13_1
+rule__Style__MarginTopValueAssignment_4_14_1
 	@init {
 		int stackSize = keepStackSize();
 	}
 :
 	(
-		{ before(grammarAccess.getStyleAccess().getMarginTopValueUnsignedNumberParserRuleCall_4_13_1_0()); }
+		{ before(grammarAccess.getStyleAccess().getMarginTopValueUnsignedNumberParserRuleCall_4_14_1_0()); }
 		ruleUnsignedNumber
-		{ after(grammarAccess.getStyleAccess().getMarginTopValueUnsignedNumberParserRuleCall_4_13_1_0()); }
+		{ after(grammarAccess.getStyleAccess().getMarginTopValueUnsignedNumberParserRuleCall_4_14_1_0()); }
 	)
 ;
 finally {
 	restoreStackSize(stackSize);
 }
 
-rule__Style__MarginBottomValueAssignment_4_14_1
+rule__Style__MarginBottomValueAssignment_4_15_1
 	@init {
 		int stackSize = keepStackSize();
 	}
 :
 	(
-		{ before(grammarAccess.getStyleAccess().getMarginBottomValueUnsignedNumberParserRuleCall_4_14_1_0()); }
+		{ before(grammarAccess.getStyleAccess().getMarginBottomValueUnsignedNumberParserRuleCall_4_15_1_0()); }
 		ruleUnsignedNumber
-		{ after(grammarAccess.getStyleAccess().getMarginBottomValueUnsignedNumberParserRuleCall_4_14_1_0()); }
+		{ after(grammarAccess.getStyleAccess().getMarginBottomValueUnsignedNumberParserRuleCall_4_15_1_0()); }
 	)
 ;
 finally {
 	restoreStackSize(stackSize);
 }
 
-rule__Style__MarginLeftValueAssignment_4_15_1
+rule__Style__MarginLeftValueAssignment_4_16_1
 	@init {
 		int stackSize = keepStackSize();
 	}
 :
 	(
-		{ before(grammarAccess.getStyleAccess().getMarginLeftValueUnsignedNumberParserRuleCall_4_15_1_0()); }
+		{ before(grammarAccess.getStyleAccess().getMarginLeftValueUnsignedNumberParserRuleCall_4_16_1_0()); }
 		ruleUnsignedNumber
-		{ after(grammarAccess.getStyleAccess().getMarginLeftValueUnsignedNumberParserRuleCall_4_15_1_0()); }
+		{ after(grammarAccess.getStyleAccess().getMarginLeftValueUnsignedNumberParserRuleCall_4_16_1_0()); }
 	)
 ;
 finally {
 	restoreStackSize(stackSize);
 }
 
-rule__Style__MarginRightValueAssignment_4_16_1
+rule__Style__MarginRightValueAssignment_4_17_1
 	@init {
 		int stackSize = keepStackSize();
 	}
 :
 	(
-		{ before(grammarAccess.getStyleAccess().getMarginRightValueUnsignedNumberParserRuleCall_4_16_1_0()); }
+		{ before(grammarAccess.getStyleAccess().getMarginRightValueUnsignedNumberParserRuleCall_4_17_1_0()); }
 		ruleUnsignedNumber
-		{ after(grammarAccess.getStyleAccess().getMarginRightValueUnsignedNumberParserRuleCall_4_16_1_0()); }
+		{ after(grammarAccess.getStyleAccess().getMarginRightValueUnsignedNumberParserRuleCall_4_17_1_0()); }
 	)
 ;
 finally {
@@ -37543,180 +38038,195 @@
 	restoreStackSize(stackSize);
 }
 
-rule__MediaStyle__BorderTopAssignment_3_5_1
+rule__MediaStyle__VerticalalignAssignment_3_5_1
 	@init {
 		int stackSize = keepStackSize();
 	}
 :
 	(
-		{ before(grammarAccess.getMediaStyleAccess().getBorderTopBorderStyleParserRuleCall_3_5_1_0()); }
+		{ before(grammarAccess.getMediaStyleAccess().getVerticalalignVerticalTextAlignEnumEnumRuleCall_3_5_1_0()); }
+		ruleVerticalTextAlignEnum
+		{ after(grammarAccess.getMediaStyleAccess().getVerticalalignVerticalTextAlignEnumEnumRuleCall_3_5_1_0()); }
+	)
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__MediaStyle__BorderTopAssignment_3_6_1
+	@init {
+		int stackSize = keepStackSize();
+	}
+:
+	(
+		{ before(grammarAccess.getMediaStyleAccess().getBorderTopBorderStyleParserRuleCall_3_6_1_0()); }
 		ruleBorderStyle
-		{ after(grammarAccess.getMediaStyleAccess().getBorderTopBorderStyleParserRuleCall_3_5_1_0()); }
+		{ after(grammarAccess.getMediaStyleAccess().getBorderTopBorderStyleParserRuleCall_3_6_1_0()); }
 	)
 ;
 finally {
 	restoreStackSize(stackSize);
 }
 
-rule__MediaStyle__BorderBottomAssignment_3_6_1
+rule__MediaStyle__BorderBottomAssignment_3_7_1
 	@init {
 		int stackSize = keepStackSize();
 	}
 :
 	(
-		{ before(grammarAccess.getMediaStyleAccess().getBorderBottomBorderStyleParserRuleCall_3_6_1_0()); }
+		{ before(grammarAccess.getMediaStyleAccess().getBorderBottomBorderStyleParserRuleCall_3_7_1_0()); }
 		ruleBorderStyle
-		{ after(grammarAccess.getMediaStyleAccess().getBorderBottomBorderStyleParserRuleCall_3_6_1_0()); }
+		{ after(grammarAccess.getMediaStyleAccess().getBorderBottomBorderStyleParserRuleCall_3_7_1_0()); }
 	)
 ;
 finally {
 	restoreStackSize(stackSize);
 }
 
-rule__MediaStyle__BorderLeftAssignment_3_7_1
+rule__MediaStyle__BorderLeftAssignment_3_8_1
 	@init {
 		int stackSize = keepStackSize();
 	}
 :
 	(
-		{ before(grammarAccess.getMediaStyleAccess().getBorderLeftBorderStyleParserRuleCall_3_7_1_0()); }
+		{ before(grammarAccess.getMediaStyleAccess().getBorderLeftBorderStyleParserRuleCall_3_8_1_0()); }
 		ruleBorderStyle
-		{ after(grammarAccess.getMediaStyleAccess().getBorderLeftBorderStyleParserRuleCall_3_7_1_0()); }
+		{ after(grammarAccess.getMediaStyleAccess().getBorderLeftBorderStyleParserRuleCall_3_8_1_0()); }
 	)
 ;
 finally {
 	restoreStackSize(stackSize);
 }
 
-rule__MediaStyle__BorderRightAssignment_3_8_1
+rule__MediaStyle__BorderRightAssignment_3_9_1
 	@init {
 		int stackSize = keepStackSize();
 	}
 :
 	(
-		{ before(grammarAccess.getMediaStyleAccess().getBorderRightBorderStyleParserRuleCall_3_8_1_0()); }
+		{ before(grammarAccess.getMediaStyleAccess().getBorderRightBorderStyleParserRuleCall_3_9_1_0()); }
 		ruleBorderStyle
-		{ after(grammarAccess.getMediaStyleAccess().getBorderRightBorderStyleParserRuleCall_3_8_1_0()); }
+		{ after(grammarAccess.getMediaStyleAccess().getBorderRightBorderStyleParserRuleCall_3_9_1_0()); }
 	)
 ;
 finally {
 	restoreStackSize(stackSize);
 }
 
-rule__MediaStyle__PaddingTopValueAssignment_3_9_1
+rule__MediaStyle__PaddingTopValueAssignment_3_10_1
 	@init {
 		int stackSize = keepStackSize();
 	}
 :
 	(
-		{ before(grammarAccess.getMediaStyleAccess().getPaddingTopValueUnsignedNumberParserRuleCall_3_9_1_0()); }
+		{ before(grammarAccess.getMediaStyleAccess().getPaddingTopValueUnsignedNumberParserRuleCall_3_10_1_0()); }
 		ruleUnsignedNumber
-		{ after(grammarAccess.getMediaStyleAccess().getPaddingTopValueUnsignedNumberParserRuleCall_3_9_1_0()); }
+		{ after(grammarAccess.getMediaStyleAccess().getPaddingTopValueUnsignedNumberParserRuleCall_3_10_1_0()); }
 	)
 ;
 finally {
 	restoreStackSize(stackSize);
 }
 
-rule__MediaStyle__PaddingBottomValueAssignment_3_10_1
+rule__MediaStyle__PaddingBottomValueAssignment_3_11_1
 	@init {
 		int stackSize = keepStackSize();
 	}
 :
 	(
-		{ before(grammarAccess.getMediaStyleAccess().getPaddingBottomValueUnsignedNumberParserRuleCall_3_10_1_0()); }
+		{ before(grammarAccess.getMediaStyleAccess().getPaddingBottomValueUnsignedNumberParserRuleCall_3_11_1_0()); }
 		ruleUnsignedNumber
-		{ after(grammarAccess.getMediaStyleAccess().getPaddingBottomValueUnsignedNumberParserRuleCall_3_10_1_0()); }
+		{ after(grammarAccess.getMediaStyleAccess().getPaddingBottomValueUnsignedNumberParserRuleCall_3_11_1_0()); }
 	)
 ;
 finally {
 	restoreStackSize(stackSize);
 }
 
-rule__MediaStyle__PaddingLeftValueAssignment_3_11_1
+rule__MediaStyle__PaddingLeftValueAssignment_3_12_1
 	@init {
 		int stackSize = keepStackSize();
 	}
 :
 	(
-		{ before(grammarAccess.getMediaStyleAccess().getPaddingLeftValueUnsignedNumberParserRuleCall_3_11_1_0()); }
+		{ before(grammarAccess.getMediaStyleAccess().getPaddingLeftValueUnsignedNumberParserRuleCall_3_12_1_0()); }
 		ruleUnsignedNumber
-		{ after(grammarAccess.getMediaStyleAccess().getPaddingLeftValueUnsignedNumberParserRuleCall_3_11_1_0()); }
+		{ after(grammarAccess.getMediaStyleAccess().getPaddingLeftValueUnsignedNumberParserRuleCall_3_12_1_0()); }
 	)
 ;
 finally {
 	restoreStackSize(stackSize);
 }
 
-rule__MediaStyle__PaddingRightValueAssignment_3_12_1
+rule__MediaStyle__PaddingRightValueAssignment_3_13_1
 	@init {
 		int stackSize = keepStackSize();
 	}
 :
 	(
-		{ before(grammarAccess.getMediaStyleAccess().getPaddingRightValueUnsignedNumberParserRuleCall_3_12_1_0()); }
+		{ before(grammarAccess.getMediaStyleAccess().getPaddingRightValueUnsignedNumberParserRuleCall_3_13_1_0()); }
 		ruleUnsignedNumber
-		{ after(grammarAccess.getMediaStyleAccess().getPaddingRightValueUnsignedNumberParserRuleCall_3_12_1_0()); }
+		{ after(grammarAccess.getMediaStyleAccess().getPaddingRightValueUnsignedNumberParserRuleCall_3_13_1_0()); }
 	)
 ;
 finally {
 	restoreStackSize(stackSize);
 }
 
-rule__MediaStyle__MarginTopValueAssignment_3_13_1
+rule__MediaStyle__MarginTopValueAssignment_3_14_1
 	@init {
 		int stackSize = keepStackSize();
 	}
 :
 	(
-		{ before(grammarAccess.getMediaStyleAccess().getMarginTopValueUnsignedNumberParserRuleCall_3_13_1_0()); }
+		{ before(grammarAccess.getMediaStyleAccess().getMarginTopValueUnsignedNumberParserRuleCall_3_14_1_0()); }
 		ruleUnsignedNumber
-		{ after(grammarAccess.getMediaStyleAccess().getMarginTopValueUnsignedNumberParserRuleCall_3_13_1_0()); }
+		{ after(grammarAccess.getMediaStyleAccess().getMarginTopValueUnsignedNumberParserRuleCall_3_14_1_0()); }
 	)
 ;
 finally {
 	restoreStackSize(stackSize);
 }
 
-rule__MediaStyle__MarginBottomValueAssignment_3_14_1
+rule__MediaStyle__MarginBottomValueAssignment_3_15_1
 	@init {
 		int stackSize = keepStackSize();
 	}
 :
 	(
-		{ before(grammarAccess.getMediaStyleAccess().getMarginBottomValueUnsignedNumberParserRuleCall_3_14_1_0()); }
+		{ before(grammarAccess.getMediaStyleAccess().getMarginBottomValueUnsignedNumberParserRuleCall_3_15_1_0()); }
 		ruleUnsignedNumber
-		{ after(grammarAccess.getMediaStyleAccess().getMarginBottomValueUnsignedNumberParserRuleCall_3_14_1_0()); }
+		{ after(grammarAccess.getMediaStyleAccess().getMarginBottomValueUnsignedNumberParserRuleCall_3_15_1_0()); }
 	)
 ;
 finally {
 	restoreStackSize(stackSize);
 }
 
-rule__MediaStyle__MarginLeftValueAssignment_3_15_1
+rule__MediaStyle__MarginLeftValueAssignment_3_16_1
 	@init {
 		int stackSize = keepStackSize();
 	}
 :
 	(
-		{ before(grammarAccess.getMediaStyleAccess().getMarginLeftValueUnsignedNumberParserRuleCall_3_15_1_0()); }
+		{ before(grammarAccess.getMediaStyleAccess().getMarginLeftValueUnsignedNumberParserRuleCall_3_16_1_0()); }
 		ruleUnsignedNumber
-		{ after(grammarAccess.getMediaStyleAccess().getMarginLeftValueUnsignedNumberParserRuleCall_3_15_1_0()); }
+		{ after(grammarAccess.getMediaStyleAccess().getMarginLeftValueUnsignedNumberParserRuleCall_3_16_1_0()); }
 	)
 ;
 finally {
 	restoreStackSize(stackSize);
 }
 
-rule__MediaStyle__MarginRightValueAssignment_3_16_1
+rule__MediaStyle__MarginRightValueAssignment_3_17_1
 	@init {
 		int stackSize = keepStackSize();
 	}
 :
 	(
-		{ before(grammarAccess.getMediaStyleAccess().getMarginRightValueUnsignedNumberParserRuleCall_3_16_1_0()); }
+		{ before(grammarAccess.getMediaStyleAccess().getMarginRightValueUnsignedNumberParserRuleCall_3_17_1_0()); }
 		ruleUnsignedNumber
-		{ after(grammarAccess.getMediaStyleAccess().getMarginRightValueUnsignedNumberParserRuleCall_3_16_1_0()); }
+		{ after(grammarAccess.getMediaStyleAccess().getMarginRightValueUnsignedNumberParserRuleCall_3_17_1_0()); }
 	)
 ;
 finally {
@@ -38580,45 +39090,64 @@
 	restoreStackSize(stackSize);
 }
 
-rule__Grid__WidthValueAssignment_3_1
+rule__Grid__StyleAssignment_3_0_1
 	@init {
 		int stackSize = keepStackSize();
 	}
 :
 	(
-		{ before(grammarAccess.getGridAccess().getWidthValueUnsignedNumberParserRuleCall_3_1_0()); }
+		{ before(grammarAccess.getGridAccess().getStyleStyleCrossReference_3_0_1_0()); }
+		(
+			{ before(grammarAccess.getGridAccess().getStyleStyleIDTerminalRuleCall_3_0_1_0_1()); }
+			RULE_ID
+			{ after(grammarAccess.getGridAccess().getStyleStyleIDTerminalRuleCall_3_0_1_0_1()); }
+		)
+		{ after(grammarAccess.getGridAccess().getStyleStyleCrossReference_3_0_1_0()); }
+	)
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__Grid__WidthValueAssignment_3_1_1
+	@init {
+		int stackSize = keepStackSize();
+	}
+:
+	(
+		{ before(grammarAccess.getGridAccess().getWidthValueUnsignedNumberParserRuleCall_3_1_1_0()); }
 		ruleUnsignedNumber
-		{ after(grammarAccess.getGridAccess().getWidthValueUnsignedNumberParserRuleCall_3_1_0()); }
+		{ after(grammarAccess.getGridAccess().getWidthValueUnsignedNumberParserRuleCall_3_1_1_0()); }
 	)
 ;
 finally {
 	restoreStackSize(stackSize);
 }
 
-rule__Grid__VisibilityItemAssignment_4
+rule__Grid__VisibilityItemAssignment_3_2
 	@init {
 		int stackSize = keepStackSize();
 	}
 :
 	(
-		{ before(grammarAccess.getGridAccess().getVisibilityItemVisibilityParserRuleCall_4_0()); }
+		{ before(grammarAccess.getGridAccess().getVisibilityItemVisibilityParserRuleCall_3_2_0()); }
 		ruleVisibility
-		{ after(grammarAccess.getGridAccess().getVisibilityItemVisibilityParserRuleCall_4_0()); }
+		{ after(grammarAccess.getGridAccess().getVisibilityItemVisibilityParserRuleCall_3_2_0()); }
 	)
 ;
 finally {
 	restoreStackSize(stackSize);
 }
 
-rule__Grid__RowsAssignment_6
+rule__Grid__RowsAssignment_5
 	@init {
 		int stackSize = keepStackSize();
 	}
 :
 	(
-		{ before(grammarAccess.getGridAccess().getRowsGridRowParserRuleCall_6_0()); }
+		{ before(grammarAccess.getGridAccess().getRowsGridRowParserRuleCall_5_0()); }
 		ruleGridRow
-		{ after(grammarAccess.getGridAccess().getRowsGridRowParserRuleCall_6_0()); }
+		{ after(grammarAccess.getGridAccess().getRowsGridRowParserRuleCall_5_0()); }
 	)
 ;
 finally {
@@ -38640,64 +39169,64 @@
 	restoreStackSize(stackSize);
 }
 
-rule__GridRow__StyleAssignment_3_1
+rule__GridRow__StyleAssignment_3_0_1
 	@init {
 		int stackSize = keepStackSize();
 	}
 :
 	(
-		{ before(grammarAccess.getGridRowAccess().getStyleStyleCrossReference_3_1_0()); }
+		{ before(grammarAccess.getGridRowAccess().getStyleStyleCrossReference_3_0_1_0()); }
 		(
-			{ before(grammarAccess.getGridRowAccess().getStyleStyleIDTerminalRuleCall_3_1_0_1()); }
+			{ before(grammarAccess.getGridRowAccess().getStyleStyleIDTerminalRuleCall_3_0_1_0_1()); }
 			RULE_ID
-			{ after(grammarAccess.getGridRowAccess().getStyleStyleIDTerminalRuleCall_3_1_0_1()); }
+			{ after(grammarAccess.getGridRowAccess().getStyleStyleIDTerminalRuleCall_3_0_1_0_1()); }
 		)
-		{ after(grammarAccess.getGridRowAccess().getStyleStyleCrossReference_3_1_0()); }
+		{ after(grammarAccess.getGridRowAccess().getStyleStyleCrossReference_3_0_1_0()); }
 	)
 ;
 finally {
 	restoreStackSize(stackSize);
 }
 
-rule__GridRow__HeightValueAssignment_4_1
+rule__GridRow__HeightValueAssignment_3_1_1
 	@init {
 		int stackSize = keepStackSize();
 	}
 :
 	(
-		{ before(grammarAccess.getGridRowAccess().getHeightValueUnsignedNumberParserRuleCall_4_1_0()); }
+		{ before(grammarAccess.getGridRowAccess().getHeightValueUnsignedNumberParserRuleCall_3_1_1_0()); }
 		ruleUnsignedNumber
-		{ after(grammarAccess.getGridRowAccess().getHeightValueUnsignedNumberParserRuleCall_4_1_0()); }
+		{ after(grammarAccess.getGridRowAccess().getHeightValueUnsignedNumberParserRuleCall_3_1_1_0()); }
 	)
 ;
 finally {
 	restoreStackSize(stackSize);
 }
 
-rule__GridRow__VisibilityItemAssignment_5
+rule__GridRow__VisibilityItemAssignment_3_2
 	@init {
 		int stackSize = keepStackSize();
 	}
 :
 	(
-		{ before(grammarAccess.getGridRowAccess().getVisibilityItemVisibilityParserRuleCall_5_0()); }
+		{ before(grammarAccess.getGridRowAccess().getVisibilityItemVisibilityParserRuleCall_3_2_0()); }
 		ruleVisibility
-		{ after(grammarAccess.getGridRowAccess().getVisibilityItemVisibilityParserRuleCall_5_0()); }
+		{ after(grammarAccess.getGridRowAccess().getVisibilityItemVisibilityParserRuleCall_3_2_0()); }
 	)
 ;
 finally {
 	restoreStackSize(stackSize);
 }
 
-rule__GridRow__CellsAssignment_7
+rule__GridRow__CellsAssignment_5
 	@init {
 		int stackSize = keepStackSize();
 	}
 :
 	(
-		{ before(grammarAccess.getGridRowAccess().getCellsGridCellParserRuleCall_7_0()); }
+		{ before(grammarAccess.getGridRowAccess().getCellsGridCellParserRuleCall_5_0()); }
 		ruleGridCell
-		{ after(grammarAccess.getGridRowAccess().getCellsGridCellParserRuleCall_7_0()); }
+		{ after(grammarAccess.getGridRowAccess().getCellsGridCellParserRuleCall_5_0()); }
 	)
 ;
 finally {
@@ -38719,234 +39248,222 @@
 	restoreStackSize(stackSize);
 }
 
-rule__GridCell__StyleAssignment_3_1
+rule__GridCell__StyleAssignment_3_0_1
 	@init {
 		int stackSize = keepStackSize();
 	}
 :
 	(
-		{ before(grammarAccess.getGridCellAccess().getStyleStyleCrossReference_3_1_0()); }
+		{ before(grammarAccess.getGridCellAccess().getStyleStyleCrossReference_3_0_1_0()); }
 		(
-			{ before(grammarAccess.getGridCellAccess().getStyleStyleIDTerminalRuleCall_3_1_0_1()); }
+			{ before(grammarAccess.getGridCellAccess().getStyleStyleIDTerminalRuleCall_3_0_1_0_1()); }
 			RULE_ID
-			{ after(grammarAccess.getGridCellAccess().getStyleStyleIDTerminalRuleCall_3_1_0_1()); }
+			{ after(grammarAccess.getGridCellAccess().getStyleStyleIDTerminalRuleCall_3_0_1_0_1()); }
 		)
-		{ after(grammarAccess.getGridCellAccess().getStyleStyleCrossReference_3_1_0()); }
+		{ after(grammarAccess.getGridCellAccess().getStyleStyleCrossReference_3_0_1_0()); }
 	)
 ;
 finally {
 	restoreStackSize(stackSize);
 }
 
-rule__GridCell__WidthValueAssignment_4_1
+rule__GridCell__WidthValueAssignment_3_1_1
 	@init {
 		int stackSize = keepStackSize();
 	}
 :
 	(
-		{ before(grammarAccess.getGridCellAccess().getWidthValueUnsignedNumberParserRuleCall_4_1_0()); }
+		{ before(grammarAccess.getGridCellAccess().getWidthValueUnsignedNumberParserRuleCall_3_1_1_0()); }
 		ruleUnsignedNumber
-		{ after(grammarAccess.getGridCellAccess().getWidthValueUnsignedNumberParserRuleCall_4_1_0()); }
+		{ after(grammarAccess.getGridCellAccess().getWidthValueUnsignedNumberParserRuleCall_3_1_1_0()); }
 	)
 ;
 finally {
 	restoreStackSize(stackSize);
 }
 
-rule__GridCell__ColumnspanAssignment_5_1
+rule__GridCell__ColumnspanAssignment_3_2_1
 	@init {
 		int stackSize = keepStackSize();
 	}
 :
 	(
-		{ before(grammarAccess.getGridCellAccess().getColumnspanINTTerminalRuleCall_5_1_0()); }
+		{ before(grammarAccess.getGridCellAccess().getColumnspanINTTerminalRuleCall_3_2_1_0()); }
 		RULE_INT
-		{ after(grammarAccess.getGridCellAccess().getColumnspanINTTerminalRuleCall_5_1_0()); }
+		{ after(grammarAccess.getGridCellAccess().getColumnspanINTTerminalRuleCall_3_2_1_0()); }
 	)
 ;
 finally {
 	restoreStackSize(stackSize);
 }
 
-rule__GridCell__VisibilityItemAssignment_6
+rule__GridCell__VisibilityItemAssignment_3_3
 	@init {
 		int stackSize = keepStackSize();
 	}
 :
 	(
-		{ before(grammarAccess.getGridCellAccess().getVisibilityItemVisibilityParserRuleCall_6_0()); }
+		{ before(grammarAccess.getGridCellAccess().getVisibilityItemVisibilityParserRuleCall_3_3_0()); }
 		ruleVisibility
-		{ after(grammarAccess.getGridCellAccess().getVisibilityItemVisibilityParserRuleCall_6_0()); }
+		{ after(grammarAccess.getGridCellAccess().getVisibilityItemVisibilityParserRuleCall_3_3_0()); }
 	)
 ;
 finally {
 	restoreStackSize(stackSize);
 }
 
-rule__GridCell__ElementsAssignment_8
+rule__GridCell__ElementsAssignment_5
 	@init {
 		int stackSize = keepStackSize();
 	}
 :
 	(
-		{ before(grammarAccess.getGridCellAccess().getElementsElementParserRuleCall_8_0()); }
+		{ before(grammarAccess.getGridCellAccess().getElementsElementParserRuleCall_5_0()); }
 		ruleElement
-		{ after(grammarAccess.getGridCellAccess().getElementsElementParserRuleCall_8_0()); }
+		{ after(grammarAccess.getGridCellAccess().getElementsElementParserRuleCall_5_0()); }
 	)
 ;
 finally {
 	restoreStackSize(stackSize);
 }
 
-rule__DatamartTable__StyleAssignment_1_1
+rule__DatamartTable__DatamartRefAssignment_1_1
 	@init {
 		int stackSize = keepStackSize();
 	}
 :
 	(
-		{ before(grammarAccess.getDatamartTableAccess().getStyleStyleCrossReference_1_1_0()); }
+		{ before(grammarAccess.getDatamartTableAccess().getDatamartRefDatamartDefinitionCrossReference_1_1_0()); }
 		(
-			{ before(grammarAccess.getDatamartTableAccess().getStyleStyleIDTerminalRuleCall_1_1_0_1()); }
+			{ before(grammarAccess.getDatamartTableAccess().getDatamartRefDatamartDefinitionIDTerminalRuleCall_1_1_0_1()); }
 			RULE_ID
-			{ after(grammarAccess.getDatamartTableAccess().getStyleStyleIDTerminalRuleCall_1_1_0_1()); }
+			{ after(grammarAccess.getDatamartTableAccess().getDatamartRefDatamartDefinitionIDTerminalRuleCall_1_1_0_1()); }
 		)
-		{ after(grammarAccess.getDatamartTableAccess().getStyleStyleCrossReference_1_1_0()); }
+		{ after(grammarAccess.getDatamartTableAccess().getDatamartRefDatamartDefinitionCrossReference_1_1_0()); }
 	)
 ;
 finally {
 	restoreStackSize(stackSize);
 }
 
-rule__DatamartTable__VisibilityItemAssignment_2
+rule__DatamartTable__NameAssignment_1_2_1
 	@init {
 		int stackSize = keepStackSize();
 	}
 :
 	(
-		{ before(grammarAccess.getDatamartTableAccess().getVisibilityItemVisibilityParserRuleCall_2_0()); }
+		{ before(grammarAccess.getDatamartTableAccess().getNameIDTerminalRuleCall_1_2_1_0()); }
+		RULE_ID
+		{ after(grammarAccess.getDatamartTableAccess().getNameIDTerminalRuleCall_1_2_1_0()); }
+	)
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__DatamartTable__StyleAssignment_2_0_1
+	@init {
+		int stackSize = keepStackSize();
+	}
+:
+	(
+		{ before(grammarAccess.getDatamartTableAccess().getStyleStyleCrossReference_2_0_1_0()); }
+		(
+			{ before(grammarAccess.getDatamartTableAccess().getStyleStyleIDTerminalRuleCall_2_0_1_0_1()); }
+			RULE_ID
+			{ after(grammarAccess.getDatamartTableAccess().getStyleStyleIDTerminalRuleCall_2_0_1_0_1()); }
+		)
+		{ after(grammarAccess.getDatamartTableAccess().getStyleStyleCrossReference_2_0_1_0()); }
+	)
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__DatamartTable__VisibilityItemAssignment_2_1
+	@init {
+		int stackSize = keepStackSize();
+	}
+:
+	(
+		{ before(grammarAccess.getDatamartTableAccess().getVisibilityItemVisibilityParserRuleCall_2_1_0()); }
 		ruleVisibility
-		{ after(grammarAccess.getDatamartTableAccess().getVisibilityItemVisibilityParserRuleCall_2_0()); }
+		{ after(grammarAccess.getDatamartTableAccess().getVisibilityItemVisibilityParserRuleCall_2_1_0()); }
 	)
 ;
 finally {
 	restoreStackSize(stackSize);
 }
 
-rule__DatamartTable__PageBreakAssignment_3
+rule__DatamartTable__PageBreakAssignment_2_2
 	@init {
 		int stackSize = keepStackSize();
 	}
 :
 	(
-		{ before(grammarAccess.getDatamartTableAccess().getPageBreakPageBreakParserRuleCall_3_0()); }
+		{ before(grammarAccess.getDatamartTableAccess().getPageBreakPageBreakParserRuleCall_2_2_0()); }
 		rulePageBreak
-		{ after(grammarAccess.getDatamartTableAccess().getPageBreakPageBreakParserRuleCall_3_0()); }
+		{ after(grammarAccess.getDatamartTableAccess().getPageBreakPageBreakParserRuleCall_2_2_0()); }
 	)
 ;
 finally {
 	restoreStackSize(stackSize);
 }
 
-rule__DatamartTable__DetailheaderAssignment_5_0
+rule__DatamartTable__HeaderAssignment_4
 	@init {
 		int stackSize = keepStackSize();
 	}
 :
 	(
-		{ before(grammarAccess.getDatamartTableAccess().getDetailheaderDetailheaderKeyword_5_0_0()); }
-		(
-			{ before(grammarAccess.getDatamartTableAccess().getDetailheaderDetailheaderKeyword_5_0_0()); }
-			'detailheader'
-			{ after(grammarAccess.getDatamartTableAccess().getDetailheaderDetailheaderKeyword_5_0_0()); }
-		)
-		{ after(grammarAccess.getDatamartTableAccess().getDetailheaderDetailheaderKeyword_5_0_0()); }
+		{ before(grammarAccess.getDatamartTableAccess().getHeaderDatamartTableHeaderParserRuleCall_4_0()); }
+		ruleDatamartTableHeader
+		{ after(grammarAccess.getDatamartTableAccess().getHeaderDatamartTableHeaderParserRuleCall_4_0()); }
 	)
 ;
 finally {
 	restoreStackSize(stackSize);
 }
 
-rule__DatamartTable__HeaderstyleAssignment_5_1_1
+rule__DatamartTable__GroupsAssignment_5
 	@init {
 		int stackSize = keepStackSize();
 	}
 :
 	(
-		{ before(grammarAccess.getDatamartTableAccess().getHeaderstyleStyleCrossReference_5_1_1_0()); }
-		(
-			{ before(grammarAccess.getDatamartTableAccess().getHeaderstyleStyleIDTerminalRuleCall_5_1_1_0_1()); }
-			RULE_ID
-			{ after(grammarAccess.getDatamartTableAccess().getHeaderstyleStyleIDTerminalRuleCall_5_1_1_0_1()); }
-		)
-		{ after(grammarAccess.getDatamartTableAccess().getHeaderstyleStyleCrossReference_5_1_1_0()); }
-	)
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__DatamartTable__DetailfooterAssignment_6_0
-	@init {
-		int stackSize = keepStackSize();
-	}
-:
-	(
-		{ before(grammarAccess.getDatamartTableAccess().getDetailfooterDetailfooterKeyword_6_0_0()); }
-		(
-			{ before(grammarAccess.getDatamartTableAccess().getDetailfooterDetailfooterKeyword_6_0_0()); }
-			'detailfooter'
-			{ after(grammarAccess.getDatamartTableAccess().getDetailfooterDetailfooterKeyword_6_0_0()); }
-		)
-		{ after(grammarAccess.getDatamartTableAccess().getDetailfooterDetailfooterKeyword_6_0_0()); }
-	)
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__DatamartTable__FooterstyleAssignment_6_1_1
-	@init {
-		int stackSize = keepStackSize();
-	}
-:
-	(
-		{ before(grammarAccess.getDatamartTableAccess().getFooterstyleStyleCrossReference_6_1_1_0()); }
-		(
-			{ before(grammarAccess.getDatamartTableAccess().getFooterstyleStyleIDTerminalRuleCall_6_1_1_0_1()); }
-			RULE_ID
-			{ after(grammarAccess.getDatamartTableAccess().getFooterstyleStyleIDTerminalRuleCall_6_1_1_0_1()); }
-		)
-		{ after(grammarAccess.getDatamartTableAccess().getFooterstyleStyleCrossReference_6_1_1_0()); }
-	)
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__DatamartTable__GroupsAssignment_7
-	@init {
-		int stackSize = keepStackSize();
-	}
-:
-	(
-		{ before(grammarAccess.getDatamartTableAccess().getGroupsDatamartTableGroupParserRuleCall_7_0()); }
+		{ before(grammarAccess.getDatamartTableAccess().getGroupsDatamartTableGroupParserRuleCall_5_0()); }
 		ruleDatamartTableGroup
-		{ after(grammarAccess.getDatamartTableAccess().getGroupsDatamartTableGroupParserRuleCall_7_0()); }
+		{ after(grammarAccess.getDatamartTableAccess().getGroupsDatamartTableGroupParserRuleCall_5_0()); }
 	)
 ;
 finally {
 	restoreStackSize(stackSize);
 }
 
-rule__DatamartTable__DetailAssignment_8
+rule__DatamartTable__DetailAssignment_6
 	@init {
 		int stackSize = keepStackSize();
 	}
 :
 	(
-		{ before(grammarAccess.getDatamartTableAccess().getDetailDatamartTableDetailParserRuleCall_8_0()); }
+		{ before(grammarAccess.getDatamartTableAccess().getDetailDatamartTableDetailParserRuleCall_6_0()); }
 		ruleDatamartTableDetail
-		{ after(grammarAccess.getDatamartTableAccess().getDetailDatamartTableDetailParserRuleCall_8_0()); }
+		{ after(grammarAccess.getDatamartTableAccess().getDetailDatamartTableDetailParserRuleCall_6_0()); }
+	)
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__DatamartTable__FooterAssignment_7
+	@init {
+		int stackSize = keepStackSize();
+	}
+:
+	(
+		{ before(grammarAccess.getDatamartTableAccess().getFooterDatamartTableFooterParserRuleCall_7_0()); }
+		ruleDatamartTableFooter
+		{ after(grammarAccess.getDatamartTableAccess().getFooterDatamartTableFooterParserRuleCall_7_0()); }
 	)
 ;
 finally {
@@ -38987,234 +39504,158 @@
 	restoreStackSize(stackSize);
 }
 
-rule__DatamartTableGroup__VisibilityItemAssignment_4
+rule__DatamartTableGroup__VisibilityItemAssignment_4_0
 	@init {
 		int stackSize = keepStackSize();
 	}
 :
 	(
-		{ before(grammarAccess.getDatamartTableGroupAccess().getVisibilityItemVisibilityParserRuleCall_4_0()); }
+		{ before(grammarAccess.getDatamartTableGroupAccess().getVisibilityItemVisibilityParserRuleCall_4_0_0()); }
 		ruleVisibility
-		{ after(grammarAccess.getDatamartTableGroupAccess().getVisibilityItemVisibilityParserRuleCall_4_0()); }
+		{ after(grammarAccess.getDatamartTableGroupAccess().getVisibilityItemVisibilityParserRuleCall_4_0_0()); }
 	)
 ;
 finally {
 	restoreStackSize(stackSize);
 }
 
-rule__DatamartTableGroup__PageBreakAssignment_5
+rule__DatamartTableGroup__PageBreakAssignment_4_1
 	@init {
 		int stackSize = keepStackSize();
 	}
 :
 	(
-		{ before(grammarAccess.getDatamartTableGroupAccess().getPageBreakPageBreakParserRuleCall_5_0()); }
+		{ before(grammarAccess.getDatamartTableGroupAccess().getPageBreakPageBreakParserRuleCall_4_1_0()); }
 		rulePageBreak
-		{ after(grammarAccess.getDatamartTableGroupAccess().getPageBreakPageBreakParserRuleCall_5_0()); }
+		{ after(grammarAccess.getDatamartTableGroupAccess().getPageBreakPageBreakParserRuleCall_4_1_0()); }
 	)
 ;
 finally {
 	restoreStackSize(stackSize);
 }
 
-rule__DatamartTableGroup__HeaderAssignment_7
+rule__DatamartTableGroup__HeaderAssignment_6
 	@init {
 		int stackSize = keepStackSize();
 	}
 :
 	(
-		{ before(grammarAccess.getDatamartTableGroupAccess().getHeaderDatamartTableGroupHeaderParserRuleCall_7_0()); }
-		ruleDatamartTableGroupHeader
-		{ after(grammarAccess.getDatamartTableGroupAccess().getHeaderDatamartTableGroupHeaderParserRuleCall_7_0()); }
+		{ before(grammarAccess.getDatamartTableGroupAccess().getHeaderDatamartTableHeaderParserRuleCall_6_0()); }
+		ruleDatamartTableHeader
+		{ after(grammarAccess.getDatamartTableGroupAccess().getHeaderDatamartTableHeaderParserRuleCall_6_0()); }
 	)
 ;
 finally {
 	restoreStackSize(stackSize);
 }
 
-rule__DatamartTableGroup__DetailheaderAssignment_8_0
+rule__DatamartTableGroup__FooterAssignment_7
 	@init {
 		int stackSize = keepStackSize();
 	}
 :
 	(
-		{ before(grammarAccess.getDatamartTableGroupAccess().getDetailheaderDetailheaderKeyword_8_0_0()); }
+		{ before(grammarAccess.getDatamartTableGroupAccess().getFooterDatamartTableFooterParserRuleCall_7_0()); }
+		ruleDatamartTableFooter
+		{ after(grammarAccess.getDatamartTableGroupAccess().getFooterDatamartTableFooterParserRuleCall_7_0()); }
+	)
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__DatamartTableHeader__StyleAssignment_2_0_1
+	@init {
+		int stackSize = keepStackSize();
+	}
+:
+	(
+		{ before(grammarAccess.getDatamartTableHeaderAccess().getStyleStyleCrossReference_2_0_1_0()); }
 		(
-			{ before(grammarAccess.getDatamartTableGroupAccess().getDetailheaderDetailheaderKeyword_8_0_0()); }
-			'detailheader'
-			{ after(grammarAccess.getDatamartTableGroupAccess().getDetailheaderDetailheaderKeyword_8_0_0()); }
-		)
-		{ after(grammarAccess.getDatamartTableGroupAccess().getDetailheaderDetailheaderKeyword_8_0_0()); }
-	)
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__DatamartTableGroup__HeaderstyleAssignment_8_1_1
-	@init {
-		int stackSize = keepStackSize();
-	}
-:
-	(
-		{ before(grammarAccess.getDatamartTableGroupAccess().getHeaderstyleStyleCrossReference_8_1_1_0()); }
-		(
-			{ before(grammarAccess.getDatamartTableGroupAccess().getHeaderstyleStyleIDTerminalRuleCall_8_1_1_0_1()); }
+			{ before(grammarAccess.getDatamartTableHeaderAccess().getStyleStyleIDTerminalRuleCall_2_0_1_0_1()); }
 			RULE_ID
-			{ after(grammarAccess.getDatamartTableGroupAccess().getHeaderstyleStyleIDTerminalRuleCall_8_1_1_0_1()); }
+			{ after(grammarAccess.getDatamartTableHeaderAccess().getStyleStyleIDTerminalRuleCall_2_0_1_0_1()); }
 		)
-		{ after(grammarAccess.getDatamartTableGroupAccess().getHeaderstyleStyleCrossReference_8_1_1_0()); }
+		{ after(grammarAccess.getDatamartTableHeaderAccess().getStyleStyleCrossReference_2_0_1_0()); }
 	)
 ;
 finally {
 	restoreStackSize(stackSize);
 }
 
-rule__DatamartTableGroup__DetailfooterAssignment_9_0
+rule__DatamartTableHeader__PageBreakAssignment_2_1
 	@init {
 		int stackSize = keepStackSize();
 	}
 :
 	(
-		{ before(grammarAccess.getDatamartTableGroupAccess().getDetailfooterDetailfooterKeyword_9_0_0()); }
-		(
-			{ before(grammarAccess.getDatamartTableGroupAccess().getDetailfooterDetailfooterKeyword_9_0_0()); }
-			'detailfooter'
-			{ after(grammarAccess.getDatamartTableGroupAccess().getDetailfooterDetailfooterKeyword_9_0_0()); }
-		)
-		{ after(grammarAccess.getDatamartTableGroupAccess().getDetailfooterDetailfooterKeyword_9_0_0()); }
-	)
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__DatamartTableGroup__FooterstyleAssignment_9_1_1
-	@init {
-		int stackSize = keepStackSize();
-	}
-:
-	(
-		{ before(grammarAccess.getDatamartTableGroupAccess().getFooterstyleStyleCrossReference_9_1_1_0()); }
-		(
-			{ before(grammarAccess.getDatamartTableGroupAccess().getFooterstyleStyleIDTerminalRuleCall_9_1_1_0_1()); }
-			RULE_ID
-			{ after(grammarAccess.getDatamartTableGroupAccess().getFooterstyleStyleIDTerminalRuleCall_9_1_1_0_1()); }
-		)
-		{ after(grammarAccess.getDatamartTableGroupAccess().getFooterstyleStyleCrossReference_9_1_1_0()); }
-	)
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__DatamartTableGroup__FooterAssignment_10
-	@init {
-		int stackSize = keepStackSize();
-	}
-:
-	(
-		{ before(grammarAccess.getDatamartTableGroupAccess().getFooterDatamartTableGroupFooterParserRuleCall_10_0()); }
-		ruleDatamartTableGroupFooter
-		{ after(grammarAccess.getDatamartTableGroupAccess().getFooterDatamartTableGroupFooterParserRuleCall_10_0()); }
-	)
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__DatamartTableGroupHeader__StyleAssignment_2_1
-	@init {
-		int stackSize = keepStackSize();
-	}
-:
-	(
-		{ before(grammarAccess.getDatamartTableGroupHeaderAccess().getStyleStyleCrossReference_2_1_0()); }
-		(
-			{ before(grammarAccess.getDatamartTableGroupHeaderAccess().getStyleStyleIDTerminalRuleCall_2_1_0_1()); }
-			RULE_ID
-			{ after(grammarAccess.getDatamartTableGroupHeaderAccess().getStyleStyleIDTerminalRuleCall_2_1_0_1()); }
-		)
-		{ after(grammarAccess.getDatamartTableGroupHeaderAccess().getStyleStyleCrossReference_2_1_0()); }
-	)
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__DatamartTableGroupHeader__PageBreakAssignment_3
-	@init {
-		int stackSize = keepStackSize();
-	}
-:
-	(
-		{ before(grammarAccess.getDatamartTableGroupHeaderAccess().getPageBreakPageBreakParserRuleCall_3_0()); }
+		{ before(grammarAccess.getDatamartTableHeaderAccess().getPageBreakPageBreakParserRuleCall_2_1_0()); }
 		rulePageBreak
-		{ after(grammarAccess.getDatamartTableGroupHeaderAccess().getPageBreakPageBreakParserRuleCall_3_0()); }
+		{ after(grammarAccess.getDatamartTableHeaderAccess().getPageBreakPageBreakParserRuleCall_2_1_0()); }
 	)
 ;
 finally {
 	restoreStackSize(stackSize);
 }
 
-rule__DatamartTableGroupHeader__RowsAssignment_5
+rule__DatamartTableHeader__RowsAssignment_3_1
 	@init {
 		int stackSize = keepStackSize();
 	}
 :
 	(
-		{ before(grammarAccess.getDatamartTableGroupHeaderAccess().getRowsGridRowParserRuleCall_5_0()); }
+		{ before(grammarAccess.getDatamartTableHeaderAccess().getRowsGridRowParserRuleCall_3_1_0()); }
 		ruleGridRow
-		{ after(grammarAccess.getDatamartTableGroupHeaderAccess().getRowsGridRowParserRuleCall_5_0()); }
+		{ after(grammarAccess.getDatamartTableHeaderAccess().getRowsGridRowParserRuleCall_3_1_0()); }
 	)
 ;
 finally {
 	restoreStackSize(stackSize);
 }
 
-rule__DatamartTableGroupFooter__StyleAssignment_2_1
+rule__DatamartTableFooter__StyleAssignment_2_0_1
 	@init {
 		int stackSize = keepStackSize();
 	}
 :
 	(
-		{ before(grammarAccess.getDatamartTableGroupFooterAccess().getStyleStyleCrossReference_2_1_0()); }
+		{ before(grammarAccess.getDatamartTableFooterAccess().getStyleStyleCrossReference_2_0_1_0()); }
 		(
-			{ before(grammarAccess.getDatamartTableGroupFooterAccess().getStyleStyleIDTerminalRuleCall_2_1_0_1()); }
+			{ before(grammarAccess.getDatamartTableFooterAccess().getStyleStyleIDTerminalRuleCall_2_0_1_0_1()); }
 			RULE_ID
-			{ after(grammarAccess.getDatamartTableGroupFooterAccess().getStyleStyleIDTerminalRuleCall_2_1_0_1()); }
+			{ after(grammarAccess.getDatamartTableFooterAccess().getStyleStyleIDTerminalRuleCall_2_0_1_0_1()); }
 		)
-		{ after(grammarAccess.getDatamartTableGroupFooterAccess().getStyleStyleCrossReference_2_1_0()); }
+		{ after(grammarAccess.getDatamartTableFooterAccess().getStyleStyleCrossReference_2_0_1_0()); }
 	)
 ;
 finally {
 	restoreStackSize(stackSize);
 }
 
-rule__DatamartTableGroupFooter__PageBreakAssignment_3
+rule__DatamartTableFooter__PageBreakAssignment_2_1
 	@init {
 		int stackSize = keepStackSize();
 	}
 :
 	(
-		{ before(grammarAccess.getDatamartTableGroupFooterAccess().getPageBreakPageBreakParserRuleCall_3_0()); }
+		{ before(grammarAccess.getDatamartTableFooterAccess().getPageBreakPageBreakParserRuleCall_2_1_0()); }
 		rulePageBreak
-		{ after(grammarAccess.getDatamartTableGroupFooterAccess().getPageBreakPageBreakParserRuleCall_3_0()); }
+		{ after(grammarAccess.getDatamartTableFooterAccess().getPageBreakPageBreakParserRuleCall_2_1_0()); }
 	)
 ;
 finally {
 	restoreStackSize(stackSize);
 }
 
-rule__DatamartTableGroupFooter__RowsAssignment_5
+rule__DatamartTableFooter__RowsAssignment_3_1
 	@init {
 		int stackSize = keepStackSize();
 	}
 :
 	(
-		{ before(grammarAccess.getDatamartTableGroupFooterAccess().getRowsGridRowParserRuleCall_5_0()); }
+		{ before(grammarAccess.getDatamartTableFooterAccess().getRowsGridRowParserRuleCall_3_1_0()); }
 		ruleGridRow
-		{ after(grammarAccess.getDatamartTableGroupFooterAccess().getRowsGridRowParserRuleCall_5_0()); }
+		{ after(grammarAccess.getDatamartTableFooterAccess().getRowsGridRowParserRuleCall_3_1_0()); }
 	)
 ;
 finally {
@@ -39587,45 +40028,45 @@
 	restoreStackSize(stackSize);
 }
 
-rule__PageBreak__BeforePageBreakAssignment_2_1
+rule__PageBreak__BeforePageBreakAssignment_3_1
 	@init {
 		int stackSize = keepStackSize();
 	}
 :
 	(
-		{ before(grammarAccess.getPageBreakAccess().getBeforePageBreakBeforeAfterPageBreakEnumEnumRuleCall_2_1_0()); }
+		{ before(grammarAccess.getPageBreakAccess().getBeforePageBreakBeforeAfterPageBreakEnumEnumRuleCall_3_1_0()); }
 		ruleBeforeAfterPageBreakEnum
-		{ after(grammarAccess.getPageBreakAccess().getBeforePageBreakBeforeAfterPageBreakEnumEnumRuleCall_2_1_0()); }
+		{ after(grammarAccess.getPageBreakAccess().getBeforePageBreakBeforeAfterPageBreakEnumEnumRuleCall_3_1_0()); }
 	)
 ;
 finally {
 	restoreStackSize(stackSize);
 }
 
-rule__PageBreak__AfterPageBreakAssignment_3_1
+rule__PageBreak__AfterPageBreakAssignment_4_1
 	@init {
 		int stackSize = keepStackSize();
 	}
 :
 	(
-		{ before(grammarAccess.getPageBreakAccess().getAfterPageBreakBeforeAfterPageBreakEnumEnumRuleCall_3_1_0()); }
+		{ before(grammarAccess.getPageBreakAccess().getAfterPageBreakBeforeAfterPageBreakEnumEnumRuleCall_4_1_0()); }
 		ruleBeforeAfterPageBreakEnum
-		{ after(grammarAccess.getPageBreakAccess().getAfterPageBreakBeforeAfterPageBreakEnumEnumRuleCall_3_1_0()); }
+		{ after(grammarAccess.getPageBreakAccess().getAfterPageBreakBeforeAfterPageBreakEnumEnumRuleCall_4_1_0()); }
 	)
 ;
 finally {
 	restoreStackSize(stackSize);
 }
 
-rule__PageBreak__InsidePageBreakAssignment_4_1
+rule__PageBreak__InsidePageBreakAssignment_5_1
 	@init {
 		int stackSize = keepStackSize();
 	}
 :
 	(
-		{ before(grammarAccess.getPageBreakAccess().getInsidePageBreakInsidePageBreakEnumEnumRuleCall_4_1_0()); }
+		{ before(grammarAccess.getPageBreakAccess().getInsidePageBreakInsidePageBreakEnumEnumRuleCall_5_1_0()); }
 		ruleInsidePageBreakEnum
-		{ after(grammarAccess.getPageBreakAccess().getInsidePageBreakInsidePageBreakEnumEnumRuleCall_4_1_0()); }
+		{ after(grammarAccess.getPageBreakAccess().getInsidePageBreakInsidePageBreakEnumEnumRuleCall_5_1_0()); }
 	)
 ;
 finally {
diff --git a/org.eclipse.osbp.xtext.reportdsl.ide/src-gen/org/eclipse/osbp/xtext/reportdsl/ide/contentassist/antlr/internal/InternalReportDSL.tokens b/org.eclipse.osbp.xtext.reportdsl.ide/src-gen/org/eclipse/osbp/xtext/reportdsl/ide/contentassist/antlr/internal/InternalReportDSL.tokens
index 04b5ebc..982ca03 100644
--- a/org.eclipse.osbp.xtext.reportdsl.ide/src-gen/org/eclipse/osbp/xtext/reportdsl/ide/contentassist/antlr/internal/InternalReportDSL.tokens
+++ b/org.eclipse.osbp.xtext.reportdsl.ide/src-gen/org/eclipse/osbp/xtext/reportdsl/ide/contentassist/antlr/internal/InternalReportDSL.tokens
@@ -1,20 +1,20 @@
 '!'=44
 '!='=26
 '!=='=28
-'#'=230
+'#'=237
 '%'=43
 '%='=24
 '&&'=15
-'&'=252
-'('=204
-')'=205
+'&'=259
+'('=211
+')'=212
 '*'=40
 '**'=41
 '*='=22
 '+'=38
 '++'=45
 '+='=20
-','=228
+','=235
 '-'=39
 '--'=46
 '-='=21
@@ -24,9 +24,9 @@
 '..<'=33
 '/'=42
 '/='=23
-':'=236
-'::'=262
-';'=226
+':'=243
+'::'=267
+';'=233
 '<'=31
 '<>'=36
 '='=13
@@ -35,223 +35,228 @@
 '=>'=35
 '>'=30
 '>='=29
-'?'=251
-'?.'=263
+'?'=258
+'?.'=268
 '?:'=37
-'@'=227
-'['=231
-']'=229
+'@'=234
+'['=238
+']'=236
 'a3'=64
 'a4'=63
 'a5'=65
-'after'=211
-'aggregate'=201
+'actual-date'=121
+'actual-time'=122
+'after'=218
+'aggregate'=208
 'all'=19
-'alternate'=155
-'always'=97
-'as'=189
-'attribute'=200
-'auto'=96
-'autotext'=223
-'average'=92
-'avoid'=98
-'backgroundcolor'=154
-'bad-rising'=100
-'before'=210
-'bold'=253
-'border-bottom'=159
-'border-left'=160
-'border-right'=161
-'border-top'=158
-'bottommargin'=141
-'by'=196
-'by-percent'=145
-'case'=238
-'catch'=250
-'cell'=192
-'cellcolor'=216
+'alternate'=161
+'always'=100
+'as'=196
+'attribute'=207
+'auto'=99
+'autotext'=230
+'average'=95
+'avoid'=101
+'backgroundcolor'=160
+'bad-rising'=103
+'before'=217
+'bold'=260
+'border-bottom'=166
+'border-left'=167
+'border-right'=168
+'border-top'=165
+'bottom'=81
+'bottommargin'=147
+'by'=203
+'by-percent'=151
+'case'=245
+'catch'=257
+'cell'=199
+'cellcolor'=223
 'center'=79
-'clip'=120
+'clip'=126
 'cm'=56
-'color'=143
-'colors'=131
-'columnspan'=193
+'color'=149
+'colors'=137
+'columnspan'=200
 'concat'=18
-'count'=89
-'currency'=86
+'count'=92
+'currency'=89
 'custom'=16
-'darkens'=144
-'dashed'=107
-'datamart'=177
-'date'=174
-'date+time'=175
-'daysInPast'=214
-'default'=237
-'defaultUnit'=180
-'describedBy'=183
-'detail'=186
-'detailfooter'=258
-'detailheader'=257
-'details'=197
+'darkens'=150
+'dashed'=110
+'datamart'=184
+'date'=181
+'date+time'=182
+'daysInPast'=221
+'default'=244
+'defaultUnit'=187
+'describedBy'=190
+'detail'=193
+'details'=204
 'divide'=17
-'do'=241
-'dotted'=106
-'double'=108
-'else'=234
+'do'=248
+'dotted'=109
+'double'=111
+'else'=241
 'em'=60
-'embed'=122
+'embed'=128
 'ex'=61
 'extends'=49
 'extension'=52
-'externalCssURI'=128
+'externalCssURI'=134
 'false'=54
-'family'=150
-'file'=181
-'finally'=248
-'fixed'=83
-'font'=149
-'fonts'=132
-'footer'=187
-'for'=239
-'formatter'=153
-'formatters'=130
-'fromBundle'=129
-'general-number'=82
-'good-sloping'=102
-'grid'=188
-'groove'=109
-'group'=195
-'header'=184
-'height'=185
-'hidelabel'=259
-'html'=87
-'icon'=217
-'if'=233
-'image'=224
+'family'=156
+'file'=188
+'finally'=255
+'fixed'=86
+'font'=155
+'fonts'=138
+'footer'=194
+'for'=246
+'formatter'=159
+'formatters'=136
+'fromBundle'=135
+'general-number'=85
+'good-sloping'=105
+'grid'=195
+'groove'=112
+'group'=202
+'header'=191
+'height'=192
+'hidelabel'=264
+'html'=90
+'icon'=224
+'if'=240
+'image'=231
 'import'=51
 'inch'=58
-'inset'=111
-'inside'=212
-'instanceof'=232
-'intervals'=198
+'inset'=114
+'inside'=219
+'instanceof'=239
+'intervals'=205
 'italic'=73
-'label'=221
+'label'=228
 'landscape'=71
-'layout-data'=127
+'layout-data'=133
 'left'=78
-'leftmargin'=140
-'lightens'=146
-'lookups'=199
-'margin-bottom'=167
-'margin-left'=168
-'margin-right'=169
-'margin-top'=166
-'maximum'=94
-'media'=134
-'medias'=133
-'minimum'=93
+'leftmargin'=146
+'lightens'=152
+'lookups'=206
+'margin-bottom'=174
+'margin-left'=175
+'margin-right'=176
+'margin-top'=173
+'maximum'=97
+'media'=140
+'medias'=139
+'middle'=82
+'minimum'=96
 'mm'=55
 'monospace'=75
-'new'=242
-'none'=104
-'nontranslatable'=207
+'new'=249
+'none'=107
+'nontranslatable'=214
 'normal'=72
-'ns'=261
-'null'=243
-'number'=173
+'ns'=266
+'null'=250
+'number'=180
 'oblique'=74
-'on-group'=202
-'orientation'=138
-'outset'=112
-'package'=124
-'padding-bottom'=163
-'padding-left'=164
-'padding-right'=165
-'padding-top'=162
-'page-number'=113
-'page-number-unfiltered'=115
-'page-variable'=117
-'pageBreak'=209
-'pagetemplate'=136
+'on-group'=209
+'orientation'=144
+'outset'=115
+'package'=130
+'padding-bottom'=170
+'padding-left'=171
+'padding-right'=172
+'padding-top'=169
+'page-number'=116
+'page-number-unfiltered'=118
+'page-variable'=120
+'pageBreak'=216
+'pagetemplate'=142
 'pc'=59
-'pdf'=88
-'percent'=84
-'plain'=123
+'pdf'=91
+'percent'=87
+'plain'=129
 'portrait'=70
 'pt'=57
 'px'=62
-'rendering'=178
-'report'=172
-'return'=246
-'ridge'=110
+'rendering'=185
+'report'=179
+'report-name'=123
+'return'=253
+'ridge'=113
 'right'=80
-'rightmargin'=142
-'rising'=99
-'row'=191
-'running-count'=90
-'running-sum'=95
+'rightmargin'=148
+'rising'=102
+'row'=198
+'running-count'=93
+'running-sum'=98
 'sans-serif'=76
-'scale'=225
-'scale-to-item'=119
-'scientific'=85
-'selectById'=254
+'scale'=232
+'scale-to-item'=125
+'scientific'=88
+'selectById'=261
 'serif'=77
-'showOnFirst'=255
-'showOnLast'=256
-'size'=151
-'size-to-image'=118
-'sloping'=101
-'solid'=105
-'stagnating'=103
+'showOnFirst'=262
+'showOnLast'=263
+'size'=157
+'size-to-image'=124
+'sloping'=104
+'solid'=108
+'stagnating'=106
 'static'=50
-'string'=215
-'stringBinder'=208
-'style'=152
-'styles'=135
-'subsubtitle'=220
-'subtitle'=219
-'sum'=91
+'string'=222
+'stringBinder'=215
+'style'=158
+'styles'=141
+'subsubtitle'=227
+'subtitle'=226
+'sum'=94
 'super'=53
-'switch'=235
-'synchronized'=249
-'table'=194
-'template'=182
-'text'=222
-'textalign'=157
-'textcolor'=156
-'throw'=245
-'time'=176
-'title'=203
-'toolbar'=179
-'topmargin'=139
-'total-page'=114
-'total-page-unfiltered'=116
-'towards'=148
-'transforms'=147
-'translatable'=206
-'trend'=218
-'true'=266
-'try'=247
-'type'=137
-'typeof'=244
-'ui'=171
-'unformatted'=81
-'uomo'=170
-'upTo'=213
-'url'=121
+'switch'=242
+'synchronized'=256
+'table'=201
+'template'=189
+'text'=229
+'textalign'=163
+'textcolor'=162
+'throw'=252
+'time'=183
+'title'=210
+'toolbar'=186
+'top'=83
+'topmargin'=145
+'total-page'=117
+'total-page-unfiltered'=119
+'towards'=154
+'transforms'=153
+'translatable'=213
+'trend'=225
+'true'=271
+'try'=254
+'type'=143
+'typeof'=251
+'ui'=178
+'unformatted'=84
+'uomo'=177
+'upTo'=220
+'url'=127
 'us-ledger'=68
 'us-legal'=67
 'us-letter'=66
 'us-super-b'=69
 'val'=48
-'var'=265
-'visibility'=260
-'while'=240
-'width'=190
-'{'=125
-'|'=264
+'var'=270
+'verticalalign'=164
+'visibility'=265
+'while'=247
+'width'=197
+'{'=131
+'|'=269
 '||'=14
-'}'=126
+'}'=132
 RULE_ANY_OTHER=12
 RULE_DECIMAL=8
 RULE_HEX=6
@@ -441,7 +446,12 @@
 T__264=264
 T__265=265
 T__266=266
+T__267=267
+T__268=268
+T__269=269
 T__26=26
+T__270=270
+T__271=271
 T__27=27
 T__28=28
 T__29=29
diff --git a/org.eclipse.osbp.xtext.reportdsl.ide/src-gen/org/eclipse/osbp/xtext/reportdsl/ide/contentassist/antlr/internal/InternalReportDSLLexer.java b/org.eclipse.osbp.xtext.reportdsl.ide/src-gen/org/eclipse/osbp/xtext/reportdsl/ide/contentassist/antlr/internal/InternalReportDSLLexer.java
index 4dc053f..1620ff7 100644
--- a/org.eclipse.osbp.xtext.reportdsl.ide/src-gen/org/eclipse/osbp/xtext/reportdsl/ide/contentassist/antlr/internal/InternalReportDSLLexer.java
+++ b/org.eclipse.osbp.xtext.reportdsl.ide/src-gen/org/eclipse/osbp/xtext/reportdsl/ide/contentassist/antlr/internal/InternalReportDSLLexer.java
@@ -17,6 +17,7 @@
     public static final int T__143=143;
     public static final int T__264=264;
     public static final int T__146=146;
+    public static final int T__267=267;
     public static final int T__50=50;
     public static final int T__145=145;
     public static final int T__266=266;
@@ -104,8 +105,10 @@
     public static final int T__156=156;
     public static final int T__151=151;
     public static final int T__150=150;
+    public static final int T__271=271;
     public static final int T__153=153;
     public static final int T__152=152;
+    public static final int T__270=270;
     public static final int T__48=48;
     public static final int T__49=49;
     public static final int T__44=44;
@@ -114,8 +117,10 @@
     public static final int T__47=47;
     public static final int T__40=40;
     public static final int T__148=148;
+    public static final int T__269=269;
     public static final int T__41=41;
     public static final int T__147=147;
+    public static final int T__268=268;
     public static final int T__42=42;
     public static final int T__43=43;
     public static final int T__149=149;
@@ -1713,10 +1718,10 @@
         try {
             int _type = T__81;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalReportDSL.g:79:7: ( 'unformatted' )
-            // InternalReportDSL.g:79:9: 'unformatted'
+            // InternalReportDSL.g:79:7: ( 'bottom' )
+            // InternalReportDSL.g:79:9: 'bottom'
             {
-            match("unformatted"); 
+            match("bottom"); 
 
 
             }
@@ -1734,10 +1739,10 @@
         try {
             int _type = T__82;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalReportDSL.g:80:7: ( 'general-number' )
-            // InternalReportDSL.g:80:9: 'general-number'
+            // InternalReportDSL.g:80:7: ( 'middle' )
+            // InternalReportDSL.g:80:9: 'middle'
             {
-            match("general-number"); 
+            match("middle"); 
 
 
             }
@@ -1755,10 +1760,10 @@
         try {
             int _type = T__83;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalReportDSL.g:81:7: ( 'fixed' )
-            // InternalReportDSL.g:81:9: 'fixed'
+            // InternalReportDSL.g:81:7: ( 'top' )
+            // InternalReportDSL.g:81:9: 'top'
             {
-            match("fixed"); 
+            match("top"); 
 
 
             }
@@ -1776,10 +1781,10 @@
         try {
             int _type = T__84;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalReportDSL.g:82:7: ( 'percent' )
-            // InternalReportDSL.g:82:9: 'percent'
+            // InternalReportDSL.g:82:7: ( 'unformatted' )
+            // InternalReportDSL.g:82:9: 'unformatted'
             {
-            match("percent"); 
+            match("unformatted"); 
 
 
             }
@@ -1797,10 +1802,10 @@
         try {
             int _type = T__85;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalReportDSL.g:83:7: ( 'scientific' )
-            // InternalReportDSL.g:83:9: 'scientific'
+            // InternalReportDSL.g:83:7: ( 'general-number' )
+            // InternalReportDSL.g:83:9: 'general-number'
             {
-            match("scientific"); 
+            match("general-number"); 
 
 
             }
@@ -1818,10 +1823,10 @@
         try {
             int _type = T__86;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalReportDSL.g:84:7: ( 'currency' )
-            // InternalReportDSL.g:84:9: 'currency'
+            // InternalReportDSL.g:84:7: ( 'fixed' )
+            // InternalReportDSL.g:84:9: 'fixed'
             {
-            match("currency"); 
+            match("fixed"); 
 
 
             }
@@ -1839,10 +1844,10 @@
         try {
             int _type = T__87;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalReportDSL.g:85:7: ( 'html' )
-            // InternalReportDSL.g:85:9: 'html'
+            // InternalReportDSL.g:85:7: ( 'percent' )
+            // InternalReportDSL.g:85:9: 'percent'
             {
-            match("html"); 
+            match("percent"); 
 
 
             }
@@ -1860,10 +1865,10 @@
         try {
             int _type = T__88;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalReportDSL.g:86:7: ( 'pdf' )
-            // InternalReportDSL.g:86:9: 'pdf'
+            // InternalReportDSL.g:86:7: ( 'scientific' )
+            // InternalReportDSL.g:86:9: 'scientific'
             {
-            match("pdf"); 
+            match("scientific"); 
 
 
             }
@@ -1881,10 +1886,10 @@
         try {
             int _type = T__89;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalReportDSL.g:87:7: ( 'count' )
-            // InternalReportDSL.g:87:9: 'count'
+            // InternalReportDSL.g:87:7: ( 'currency' )
+            // InternalReportDSL.g:87:9: 'currency'
             {
-            match("count"); 
+            match("currency"); 
 
 
             }
@@ -1902,10 +1907,10 @@
         try {
             int _type = T__90;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalReportDSL.g:88:7: ( 'running-count' )
-            // InternalReportDSL.g:88:9: 'running-count'
+            // InternalReportDSL.g:88:7: ( 'html' )
+            // InternalReportDSL.g:88:9: 'html'
             {
-            match("running-count"); 
+            match("html"); 
 
 
             }
@@ -1923,10 +1928,10 @@
         try {
             int _type = T__91;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalReportDSL.g:89:7: ( 'sum' )
-            // InternalReportDSL.g:89:9: 'sum'
+            // InternalReportDSL.g:89:7: ( 'pdf' )
+            // InternalReportDSL.g:89:9: 'pdf'
             {
-            match("sum"); 
+            match("pdf"); 
 
 
             }
@@ -1944,10 +1949,10 @@
         try {
             int _type = T__92;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalReportDSL.g:90:7: ( 'average' )
-            // InternalReportDSL.g:90:9: 'average'
+            // InternalReportDSL.g:90:7: ( 'count' )
+            // InternalReportDSL.g:90:9: 'count'
             {
-            match("average"); 
+            match("count"); 
 
 
             }
@@ -1965,10 +1970,10 @@
         try {
             int _type = T__93;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalReportDSL.g:91:7: ( 'minimum' )
-            // InternalReportDSL.g:91:9: 'minimum'
+            // InternalReportDSL.g:91:7: ( 'running-count' )
+            // InternalReportDSL.g:91:9: 'running-count'
             {
-            match("minimum"); 
+            match("running-count"); 
 
 
             }
@@ -1986,10 +1991,10 @@
         try {
             int _type = T__94;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalReportDSL.g:92:7: ( 'maximum' )
-            // InternalReportDSL.g:92:9: 'maximum'
+            // InternalReportDSL.g:92:7: ( 'sum' )
+            // InternalReportDSL.g:92:9: 'sum'
             {
-            match("maximum"); 
+            match("sum"); 
 
 
             }
@@ -2007,10 +2012,10 @@
         try {
             int _type = T__95;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalReportDSL.g:93:7: ( 'running-sum' )
-            // InternalReportDSL.g:93:9: 'running-sum'
+            // InternalReportDSL.g:93:7: ( 'average' )
+            // InternalReportDSL.g:93:9: 'average'
             {
-            match("running-sum"); 
+            match("average"); 
 
 
             }
@@ -2028,10 +2033,10 @@
         try {
             int _type = T__96;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalReportDSL.g:94:7: ( 'auto' )
-            // InternalReportDSL.g:94:9: 'auto'
+            // InternalReportDSL.g:94:7: ( 'minimum' )
+            // InternalReportDSL.g:94:9: 'minimum'
             {
-            match("auto"); 
+            match("minimum"); 
 
 
             }
@@ -2049,10 +2054,10 @@
         try {
             int _type = T__97;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalReportDSL.g:95:7: ( 'always' )
-            // InternalReportDSL.g:95:9: 'always'
+            // InternalReportDSL.g:95:7: ( 'maximum' )
+            // InternalReportDSL.g:95:9: 'maximum'
             {
-            match("always"); 
+            match("maximum"); 
 
 
             }
@@ -2070,10 +2075,10 @@
         try {
             int _type = T__98;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalReportDSL.g:96:7: ( 'avoid' )
-            // InternalReportDSL.g:96:9: 'avoid'
+            // InternalReportDSL.g:96:7: ( 'running-sum' )
+            // InternalReportDSL.g:96:9: 'running-sum'
             {
-            match("avoid"); 
+            match("running-sum"); 
 
 
             }
@@ -2091,10 +2096,10 @@
         try {
             int _type = T__99;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalReportDSL.g:97:7: ( 'rising' )
-            // InternalReportDSL.g:97:9: 'rising'
+            // InternalReportDSL.g:97:7: ( 'auto' )
+            // InternalReportDSL.g:97:9: 'auto'
             {
-            match("rising"); 
+            match("auto"); 
 
 
             }
@@ -2112,10 +2117,10 @@
         try {
             int _type = T__100;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalReportDSL.g:98:8: ( 'bad-rising' )
-            // InternalReportDSL.g:98:10: 'bad-rising'
+            // InternalReportDSL.g:98:8: ( 'always' )
+            // InternalReportDSL.g:98:10: 'always'
             {
-            match("bad-rising"); 
+            match("always"); 
 
 
             }
@@ -2133,10 +2138,10 @@
         try {
             int _type = T__101;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalReportDSL.g:99:8: ( 'sloping' )
-            // InternalReportDSL.g:99:10: 'sloping'
+            // InternalReportDSL.g:99:8: ( 'avoid' )
+            // InternalReportDSL.g:99:10: 'avoid'
             {
-            match("sloping"); 
+            match("avoid"); 
 
 
             }
@@ -2154,10 +2159,10 @@
         try {
             int _type = T__102;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalReportDSL.g:100:8: ( 'good-sloping' )
-            // InternalReportDSL.g:100:10: 'good-sloping'
+            // InternalReportDSL.g:100:8: ( 'rising' )
+            // InternalReportDSL.g:100:10: 'rising'
             {
-            match("good-sloping"); 
+            match("rising"); 
 
 
             }
@@ -2175,10 +2180,10 @@
         try {
             int _type = T__103;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalReportDSL.g:101:8: ( 'stagnating' )
-            // InternalReportDSL.g:101:10: 'stagnating'
+            // InternalReportDSL.g:101:8: ( 'bad-rising' )
+            // InternalReportDSL.g:101:10: 'bad-rising'
             {
-            match("stagnating"); 
+            match("bad-rising"); 
 
 
             }
@@ -2196,10 +2201,10 @@
         try {
             int _type = T__104;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalReportDSL.g:102:8: ( 'none' )
-            // InternalReportDSL.g:102:10: 'none'
+            // InternalReportDSL.g:102:8: ( 'sloping' )
+            // InternalReportDSL.g:102:10: 'sloping'
             {
-            match("none"); 
+            match("sloping"); 
 
 
             }
@@ -2217,10 +2222,10 @@
         try {
             int _type = T__105;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalReportDSL.g:103:8: ( 'solid' )
-            // InternalReportDSL.g:103:10: 'solid'
+            // InternalReportDSL.g:103:8: ( 'good-sloping' )
+            // InternalReportDSL.g:103:10: 'good-sloping'
             {
-            match("solid"); 
+            match("good-sloping"); 
 
 
             }
@@ -2238,10 +2243,10 @@
         try {
             int _type = T__106;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalReportDSL.g:104:8: ( 'dotted' )
-            // InternalReportDSL.g:104:10: 'dotted'
+            // InternalReportDSL.g:104:8: ( 'stagnating' )
+            // InternalReportDSL.g:104:10: 'stagnating'
             {
-            match("dotted"); 
+            match("stagnating"); 
 
 
             }
@@ -2259,10 +2264,10 @@
         try {
             int _type = T__107;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalReportDSL.g:105:8: ( 'dashed' )
-            // InternalReportDSL.g:105:10: 'dashed'
+            // InternalReportDSL.g:105:8: ( 'none' )
+            // InternalReportDSL.g:105:10: 'none'
             {
-            match("dashed"); 
+            match("none"); 
 
 
             }
@@ -2280,10 +2285,10 @@
         try {
             int _type = T__108;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalReportDSL.g:106:8: ( 'double' )
-            // InternalReportDSL.g:106:10: 'double'
+            // InternalReportDSL.g:106:8: ( 'solid' )
+            // InternalReportDSL.g:106:10: 'solid'
             {
-            match("double"); 
+            match("solid"); 
 
 
             }
@@ -2301,10 +2306,10 @@
         try {
             int _type = T__109;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalReportDSL.g:107:8: ( 'groove' )
-            // InternalReportDSL.g:107:10: 'groove'
+            // InternalReportDSL.g:107:8: ( 'dotted' )
+            // InternalReportDSL.g:107:10: 'dotted'
             {
-            match("groove"); 
+            match("dotted"); 
 
 
             }
@@ -2322,10 +2327,10 @@
         try {
             int _type = T__110;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalReportDSL.g:108:8: ( 'ridge' )
-            // InternalReportDSL.g:108:10: 'ridge'
+            // InternalReportDSL.g:108:8: ( 'dashed' )
+            // InternalReportDSL.g:108:10: 'dashed'
             {
-            match("ridge"); 
+            match("dashed"); 
 
 
             }
@@ -2343,10 +2348,10 @@
         try {
             int _type = T__111;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalReportDSL.g:109:8: ( 'inset' )
-            // InternalReportDSL.g:109:10: 'inset'
+            // InternalReportDSL.g:109:8: ( 'double' )
+            // InternalReportDSL.g:109:10: 'double'
             {
-            match("inset"); 
+            match("double"); 
 
 
             }
@@ -2364,10 +2369,10 @@
         try {
             int _type = T__112;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalReportDSL.g:110:8: ( 'outset' )
-            // InternalReportDSL.g:110:10: 'outset'
+            // InternalReportDSL.g:110:8: ( 'groove' )
+            // InternalReportDSL.g:110:10: 'groove'
             {
-            match("outset"); 
+            match("groove"); 
 
 
             }
@@ -2385,10 +2390,10 @@
         try {
             int _type = T__113;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalReportDSL.g:111:8: ( 'page-number' )
-            // InternalReportDSL.g:111:10: 'page-number'
+            // InternalReportDSL.g:111:8: ( 'ridge' )
+            // InternalReportDSL.g:111:10: 'ridge'
             {
-            match("page-number"); 
+            match("ridge"); 
 
 
             }
@@ -2406,10 +2411,10 @@
         try {
             int _type = T__114;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalReportDSL.g:112:8: ( 'total-page' )
-            // InternalReportDSL.g:112:10: 'total-page'
+            // InternalReportDSL.g:112:8: ( 'inset' )
+            // InternalReportDSL.g:112:10: 'inset'
             {
-            match("total-page"); 
+            match("inset"); 
 
 
             }
@@ -2427,10 +2432,10 @@
         try {
             int _type = T__115;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalReportDSL.g:113:8: ( 'page-number-unfiltered' )
-            // InternalReportDSL.g:113:10: 'page-number-unfiltered'
+            // InternalReportDSL.g:113:8: ( 'outset' )
+            // InternalReportDSL.g:113:10: 'outset'
             {
-            match("page-number-unfiltered"); 
+            match("outset"); 
 
 
             }
@@ -2448,10 +2453,10 @@
         try {
             int _type = T__116;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalReportDSL.g:114:8: ( 'total-page-unfiltered' )
-            // InternalReportDSL.g:114:10: 'total-page-unfiltered'
+            // InternalReportDSL.g:114:8: ( 'page-number' )
+            // InternalReportDSL.g:114:10: 'page-number'
             {
-            match("total-page-unfiltered"); 
+            match("page-number"); 
 
 
             }
@@ -2469,10 +2474,10 @@
         try {
             int _type = T__117;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalReportDSL.g:115:8: ( 'page-variable' )
-            // InternalReportDSL.g:115:10: 'page-variable'
+            // InternalReportDSL.g:115:8: ( 'total-page' )
+            // InternalReportDSL.g:115:10: 'total-page'
             {
-            match("page-variable"); 
+            match("total-page"); 
 
 
             }
@@ -2490,10 +2495,10 @@
         try {
             int _type = T__118;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalReportDSL.g:116:8: ( 'size-to-image' )
-            // InternalReportDSL.g:116:10: 'size-to-image'
+            // InternalReportDSL.g:116:8: ( 'page-number-unfiltered' )
+            // InternalReportDSL.g:116:10: 'page-number-unfiltered'
             {
-            match("size-to-image"); 
+            match("page-number-unfiltered"); 
 
 
             }
@@ -2511,10 +2516,10 @@
         try {
             int _type = T__119;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalReportDSL.g:117:8: ( 'scale-to-item' )
-            // InternalReportDSL.g:117:10: 'scale-to-item'
+            // InternalReportDSL.g:117:8: ( 'total-page-unfiltered' )
+            // InternalReportDSL.g:117:10: 'total-page-unfiltered'
             {
-            match("scale-to-item"); 
+            match("total-page-unfiltered"); 
 
 
             }
@@ -2532,10 +2537,10 @@
         try {
             int _type = T__120;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalReportDSL.g:118:8: ( 'clip' )
-            // InternalReportDSL.g:118:10: 'clip'
+            // InternalReportDSL.g:118:8: ( 'page-variable' )
+            // InternalReportDSL.g:118:10: 'page-variable'
             {
-            match("clip"); 
+            match("page-variable"); 
 
 
             }
@@ -2553,10 +2558,10 @@
         try {
             int _type = T__121;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalReportDSL.g:119:8: ( 'url' )
-            // InternalReportDSL.g:119:10: 'url'
+            // InternalReportDSL.g:119:8: ( 'actual-date' )
+            // InternalReportDSL.g:119:10: 'actual-date'
             {
-            match("url"); 
+            match("actual-date"); 
 
 
             }
@@ -2574,10 +2579,10 @@
         try {
             int _type = T__122;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalReportDSL.g:120:8: ( 'embed' )
-            // InternalReportDSL.g:120:10: 'embed'
+            // InternalReportDSL.g:120:8: ( 'actual-time' )
+            // InternalReportDSL.g:120:10: 'actual-time'
             {
-            match("embed"); 
+            match("actual-time"); 
 
 
             }
@@ -2595,10 +2600,10 @@
         try {
             int _type = T__123;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalReportDSL.g:121:8: ( 'plain' )
-            // InternalReportDSL.g:121:10: 'plain'
+            // InternalReportDSL.g:121:8: ( 'report-name' )
+            // InternalReportDSL.g:121:10: 'report-name'
             {
-            match("plain"); 
+            match("report-name"); 
 
 
             }
@@ -2616,10 +2621,10 @@
         try {
             int _type = T__124;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalReportDSL.g:122:8: ( 'package' )
-            // InternalReportDSL.g:122:10: 'package'
+            // InternalReportDSL.g:122:8: ( 'size-to-image' )
+            // InternalReportDSL.g:122:10: 'size-to-image'
             {
-            match("package"); 
+            match("size-to-image"); 
 
 
             }
@@ -2637,10 +2642,11 @@
         try {
             int _type = T__125;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalReportDSL.g:123:8: ( '{' )
-            // InternalReportDSL.g:123:10: '{'
+            // InternalReportDSL.g:123:8: ( 'scale-to-item' )
+            // InternalReportDSL.g:123:10: 'scale-to-item'
             {
-            match('{'); 
+            match("scale-to-item"); 
+
 
             }
 
@@ -2657,10 +2663,11 @@
         try {
             int _type = T__126;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalReportDSL.g:124:8: ( '}' )
-            // InternalReportDSL.g:124:10: '}'
+            // InternalReportDSL.g:124:8: ( 'clip' )
+            // InternalReportDSL.g:124:10: 'clip'
             {
-            match('}'); 
+            match("clip"); 
+
 
             }
 
@@ -2677,10 +2684,10 @@
         try {
             int _type = T__127;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalReportDSL.g:125:8: ( 'layout-data' )
-            // InternalReportDSL.g:125:10: 'layout-data'
+            // InternalReportDSL.g:125:8: ( 'url' )
+            // InternalReportDSL.g:125:10: 'url'
             {
-            match("layout-data"); 
+            match("url"); 
 
 
             }
@@ -2698,10 +2705,10 @@
         try {
             int _type = T__128;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalReportDSL.g:126:8: ( 'externalCssURI' )
-            // InternalReportDSL.g:126:10: 'externalCssURI'
+            // InternalReportDSL.g:126:8: ( 'embed' )
+            // InternalReportDSL.g:126:10: 'embed'
             {
-            match("externalCssURI"); 
+            match("embed"); 
 
 
             }
@@ -2719,10 +2726,10 @@
         try {
             int _type = T__129;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalReportDSL.g:127:8: ( 'fromBundle' )
-            // InternalReportDSL.g:127:10: 'fromBundle'
+            // InternalReportDSL.g:127:8: ( 'plain' )
+            // InternalReportDSL.g:127:10: 'plain'
             {
-            match("fromBundle"); 
+            match("plain"); 
 
 
             }
@@ -2740,10 +2747,10 @@
         try {
             int _type = T__130;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalReportDSL.g:128:8: ( 'formatters' )
-            // InternalReportDSL.g:128:10: 'formatters'
+            // InternalReportDSL.g:128:8: ( 'package' )
+            // InternalReportDSL.g:128:10: 'package'
             {
-            match("formatters"); 
+            match("package"); 
 
 
             }
@@ -2761,11 +2768,10 @@
         try {
             int _type = T__131;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalReportDSL.g:129:8: ( 'colors' )
-            // InternalReportDSL.g:129:10: 'colors'
+            // InternalReportDSL.g:129:8: ( '{' )
+            // InternalReportDSL.g:129:10: '{'
             {
-            match("colors"); 
-
+            match('{'); 
 
             }
 
@@ -2782,11 +2788,10 @@
         try {
             int _type = T__132;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalReportDSL.g:130:8: ( 'fonts' )
-            // InternalReportDSL.g:130:10: 'fonts'
+            // InternalReportDSL.g:130:8: ( '}' )
+            // InternalReportDSL.g:130:10: '}'
             {
-            match("fonts"); 
-
+            match('}'); 
 
             }
 
@@ -2803,10 +2808,10 @@
         try {
             int _type = T__133;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalReportDSL.g:131:8: ( 'medias' )
-            // InternalReportDSL.g:131:10: 'medias'
+            // InternalReportDSL.g:131:8: ( 'layout-data' )
+            // InternalReportDSL.g:131:10: 'layout-data'
             {
-            match("medias"); 
+            match("layout-data"); 
 
 
             }
@@ -2824,10 +2829,10 @@
         try {
             int _type = T__134;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalReportDSL.g:132:8: ( 'media' )
-            // InternalReportDSL.g:132:10: 'media'
+            // InternalReportDSL.g:132:8: ( 'externalCssURI' )
+            // InternalReportDSL.g:132:10: 'externalCssURI'
             {
-            match("media"); 
+            match("externalCssURI"); 
 
 
             }
@@ -2845,10 +2850,10 @@
         try {
             int _type = T__135;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalReportDSL.g:133:8: ( 'styles' )
-            // InternalReportDSL.g:133:10: 'styles'
+            // InternalReportDSL.g:133:8: ( 'fromBundle' )
+            // InternalReportDSL.g:133:10: 'fromBundle'
             {
-            match("styles"); 
+            match("fromBundle"); 
 
 
             }
@@ -2866,10 +2871,10 @@
         try {
             int _type = T__136;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalReportDSL.g:134:8: ( 'pagetemplate' )
-            // InternalReportDSL.g:134:10: 'pagetemplate'
+            // InternalReportDSL.g:134:8: ( 'formatters' )
+            // InternalReportDSL.g:134:10: 'formatters'
             {
-            match("pagetemplate"); 
+            match("formatters"); 
 
 
             }
@@ -2887,10 +2892,10 @@
         try {
             int _type = T__137;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalReportDSL.g:135:8: ( 'type' )
-            // InternalReportDSL.g:135:10: 'type'
+            // InternalReportDSL.g:135:8: ( 'colors' )
+            // InternalReportDSL.g:135:10: 'colors'
             {
-            match("type"); 
+            match("colors"); 
 
 
             }
@@ -2908,10 +2913,10 @@
         try {
             int _type = T__138;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalReportDSL.g:136:8: ( 'orientation' )
-            // InternalReportDSL.g:136:10: 'orientation'
+            // InternalReportDSL.g:136:8: ( 'fonts' )
+            // InternalReportDSL.g:136:10: 'fonts'
             {
-            match("orientation"); 
+            match("fonts"); 
 
 
             }
@@ -2929,10 +2934,10 @@
         try {
             int _type = T__139;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalReportDSL.g:137:8: ( 'topmargin' )
-            // InternalReportDSL.g:137:10: 'topmargin'
+            // InternalReportDSL.g:137:8: ( 'medias' )
+            // InternalReportDSL.g:137:10: 'medias'
             {
-            match("topmargin"); 
+            match("medias"); 
 
 
             }
@@ -2950,10 +2955,10 @@
         try {
             int _type = T__140;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalReportDSL.g:138:8: ( 'leftmargin' )
-            // InternalReportDSL.g:138:10: 'leftmargin'
+            // InternalReportDSL.g:138:8: ( 'media' )
+            // InternalReportDSL.g:138:10: 'media'
             {
-            match("leftmargin"); 
+            match("media"); 
 
 
             }
@@ -2971,10 +2976,10 @@
         try {
             int _type = T__141;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalReportDSL.g:139:8: ( 'bottommargin' )
-            // InternalReportDSL.g:139:10: 'bottommargin'
+            // InternalReportDSL.g:139:8: ( 'styles' )
+            // InternalReportDSL.g:139:10: 'styles'
             {
-            match("bottommargin"); 
+            match("styles"); 
 
 
             }
@@ -2992,10 +2997,10 @@
         try {
             int _type = T__142;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalReportDSL.g:140:8: ( 'rightmargin' )
-            // InternalReportDSL.g:140:10: 'rightmargin'
+            // InternalReportDSL.g:140:8: ( 'pagetemplate' )
+            // InternalReportDSL.g:140:10: 'pagetemplate'
             {
-            match("rightmargin"); 
+            match("pagetemplate"); 
 
 
             }
@@ -3013,10 +3018,10 @@
         try {
             int _type = T__143;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalReportDSL.g:141:8: ( 'color' )
-            // InternalReportDSL.g:141:10: 'color'
+            // InternalReportDSL.g:141:8: ( 'type' )
+            // InternalReportDSL.g:141:10: 'type'
             {
-            match("color"); 
+            match("type"); 
 
 
             }
@@ -3034,10 +3039,10 @@
         try {
             int _type = T__144;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalReportDSL.g:142:8: ( 'darkens' )
-            // InternalReportDSL.g:142:10: 'darkens'
+            // InternalReportDSL.g:142:8: ( 'orientation' )
+            // InternalReportDSL.g:142:10: 'orientation'
             {
-            match("darkens"); 
+            match("orientation"); 
 
 
             }
@@ -3055,10 +3060,10 @@
         try {
             int _type = T__145;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalReportDSL.g:143:8: ( 'by-percent' )
-            // InternalReportDSL.g:143:10: 'by-percent'
+            // InternalReportDSL.g:143:8: ( 'topmargin' )
+            // InternalReportDSL.g:143:10: 'topmargin'
             {
-            match("by-percent"); 
+            match("topmargin"); 
 
 
             }
@@ -3076,10 +3081,10 @@
         try {
             int _type = T__146;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalReportDSL.g:144:8: ( 'lightens' )
-            // InternalReportDSL.g:144:10: 'lightens'
+            // InternalReportDSL.g:144:8: ( 'leftmargin' )
+            // InternalReportDSL.g:144:10: 'leftmargin'
             {
-            match("lightens"); 
+            match("leftmargin"); 
 
 
             }
@@ -3097,10 +3102,10 @@
         try {
             int _type = T__147;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalReportDSL.g:145:8: ( 'transforms' )
-            // InternalReportDSL.g:145:10: 'transforms'
+            // InternalReportDSL.g:145:8: ( 'bottommargin' )
+            // InternalReportDSL.g:145:10: 'bottommargin'
             {
-            match("transforms"); 
+            match("bottommargin"); 
 
 
             }
@@ -3118,10 +3123,10 @@
         try {
             int _type = T__148;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalReportDSL.g:146:8: ( 'towards' )
-            // InternalReportDSL.g:146:10: 'towards'
+            // InternalReportDSL.g:146:8: ( 'rightmargin' )
+            // InternalReportDSL.g:146:10: 'rightmargin'
             {
-            match("towards"); 
+            match("rightmargin"); 
 
 
             }
@@ -3139,10 +3144,10 @@
         try {
             int _type = T__149;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalReportDSL.g:147:8: ( 'font' )
-            // InternalReportDSL.g:147:10: 'font'
+            // InternalReportDSL.g:147:8: ( 'color' )
+            // InternalReportDSL.g:147:10: 'color'
             {
-            match("font"); 
+            match("color"); 
 
 
             }
@@ -3160,10 +3165,10 @@
         try {
             int _type = T__150;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalReportDSL.g:148:8: ( 'family' )
-            // InternalReportDSL.g:148:10: 'family'
+            // InternalReportDSL.g:148:8: ( 'darkens' )
+            // InternalReportDSL.g:148:10: 'darkens'
             {
-            match("family"); 
+            match("darkens"); 
 
 
             }
@@ -3181,10 +3186,10 @@
         try {
             int _type = T__151;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalReportDSL.g:149:8: ( 'size' )
-            // InternalReportDSL.g:149:10: 'size'
+            // InternalReportDSL.g:149:8: ( 'by-percent' )
+            // InternalReportDSL.g:149:10: 'by-percent'
             {
-            match("size"); 
+            match("by-percent"); 
 
 
             }
@@ -3202,10 +3207,10 @@
         try {
             int _type = T__152;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalReportDSL.g:150:8: ( 'style' )
-            // InternalReportDSL.g:150:10: 'style'
+            // InternalReportDSL.g:150:8: ( 'lightens' )
+            // InternalReportDSL.g:150:10: 'lightens'
             {
-            match("style"); 
+            match("lightens"); 
 
 
             }
@@ -3223,10 +3228,10 @@
         try {
             int _type = T__153;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalReportDSL.g:151:8: ( 'formatter' )
-            // InternalReportDSL.g:151:10: 'formatter'
+            // InternalReportDSL.g:151:8: ( 'transforms' )
+            // InternalReportDSL.g:151:10: 'transforms'
             {
-            match("formatter"); 
+            match("transforms"); 
 
 
             }
@@ -3244,10 +3249,10 @@
         try {
             int _type = T__154;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalReportDSL.g:152:8: ( 'backgroundcolor' )
-            // InternalReportDSL.g:152:10: 'backgroundcolor'
+            // InternalReportDSL.g:152:8: ( 'towards' )
+            // InternalReportDSL.g:152:10: 'towards'
             {
-            match("backgroundcolor"); 
+            match("towards"); 
 
 
             }
@@ -3265,10 +3270,10 @@
         try {
             int _type = T__155;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalReportDSL.g:153:8: ( 'alternate' )
-            // InternalReportDSL.g:153:10: 'alternate'
+            // InternalReportDSL.g:153:8: ( 'font' )
+            // InternalReportDSL.g:153:10: 'font'
             {
-            match("alternate"); 
+            match("font"); 
 
 
             }
@@ -3286,10 +3291,10 @@
         try {
             int _type = T__156;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalReportDSL.g:154:8: ( 'textcolor' )
-            // InternalReportDSL.g:154:10: 'textcolor'
+            // InternalReportDSL.g:154:8: ( 'family' )
+            // InternalReportDSL.g:154:10: 'family'
             {
-            match("textcolor"); 
+            match("family"); 
 
 
             }
@@ -3307,10 +3312,10 @@
         try {
             int _type = T__157;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalReportDSL.g:155:8: ( 'textalign' )
-            // InternalReportDSL.g:155:10: 'textalign'
+            // InternalReportDSL.g:155:8: ( 'size' )
+            // InternalReportDSL.g:155:10: 'size'
             {
-            match("textalign"); 
+            match("size"); 
 
 
             }
@@ -3328,10 +3333,10 @@
         try {
             int _type = T__158;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalReportDSL.g:156:8: ( 'border-top' )
-            // InternalReportDSL.g:156:10: 'border-top'
+            // InternalReportDSL.g:156:8: ( 'style' )
+            // InternalReportDSL.g:156:10: 'style'
             {
-            match("border-top"); 
+            match("style"); 
 
 
             }
@@ -3349,10 +3354,10 @@
         try {
             int _type = T__159;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalReportDSL.g:157:8: ( 'border-bottom' )
-            // InternalReportDSL.g:157:10: 'border-bottom'
+            // InternalReportDSL.g:157:8: ( 'formatter' )
+            // InternalReportDSL.g:157:10: 'formatter'
             {
-            match("border-bottom"); 
+            match("formatter"); 
 
 
             }
@@ -3370,10 +3375,10 @@
         try {
             int _type = T__160;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalReportDSL.g:158:8: ( 'border-left' )
-            // InternalReportDSL.g:158:10: 'border-left'
+            // InternalReportDSL.g:158:8: ( 'backgroundcolor' )
+            // InternalReportDSL.g:158:10: 'backgroundcolor'
             {
-            match("border-left"); 
+            match("backgroundcolor"); 
 
 
             }
@@ -3391,10 +3396,10 @@
         try {
             int _type = T__161;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalReportDSL.g:159:8: ( 'border-right' )
-            // InternalReportDSL.g:159:10: 'border-right'
+            // InternalReportDSL.g:159:8: ( 'alternate' )
+            // InternalReportDSL.g:159:10: 'alternate'
             {
-            match("border-right"); 
+            match("alternate"); 
 
 
             }
@@ -3412,10 +3417,10 @@
         try {
             int _type = T__162;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalReportDSL.g:160:8: ( 'padding-top' )
-            // InternalReportDSL.g:160:10: 'padding-top'
+            // InternalReportDSL.g:160:8: ( 'textcolor' )
+            // InternalReportDSL.g:160:10: 'textcolor'
             {
-            match("padding-top"); 
+            match("textcolor"); 
 
 
             }
@@ -3433,10 +3438,10 @@
         try {
             int _type = T__163;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalReportDSL.g:161:8: ( 'padding-bottom' )
-            // InternalReportDSL.g:161:10: 'padding-bottom'
+            // InternalReportDSL.g:161:8: ( 'textalign' )
+            // InternalReportDSL.g:161:10: 'textalign'
             {
-            match("padding-bottom"); 
+            match("textalign"); 
 
 
             }
@@ -3454,10 +3459,10 @@
         try {
             int _type = T__164;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalReportDSL.g:162:8: ( 'padding-left' )
-            // InternalReportDSL.g:162:10: 'padding-left'
+            // InternalReportDSL.g:162:8: ( 'verticalalign' )
+            // InternalReportDSL.g:162:10: 'verticalalign'
             {
-            match("padding-left"); 
+            match("verticalalign"); 
 
 
             }
@@ -3475,10 +3480,10 @@
         try {
             int _type = T__165;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalReportDSL.g:163:8: ( 'padding-right' )
-            // InternalReportDSL.g:163:10: 'padding-right'
+            // InternalReportDSL.g:163:8: ( 'border-top' )
+            // InternalReportDSL.g:163:10: 'border-top'
             {
-            match("padding-right"); 
+            match("border-top"); 
 
 
             }
@@ -3496,10 +3501,10 @@
         try {
             int _type = T__166;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalReportDSL.g:164:8: ( 'margin-top' )
-            // InternalReportDSL.g:164:10: 'margin-top'
+            // InternalReportDSL.g:164:8: ( 'border-bottom' )
+            // InternalReportDSL.g:164:10: 'border-bottom'
             {
-            match("margin-top"); 
+            match("border-bottom"); 
 
 
             }
@@ -3517,10 +3522,10 @@
         try {
             int _type = T__167;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalReportDSL.g:165:8: ( 'margin-bottom' )
-            // InternalReportDSL.g:165:10: 'margin-bottom'
+            // InternalReportDSL.g:165:8: ( 'border-left' )
+            // InternalReportDSL.g:165:10: 'border-left'
             {
-            match("margin-bottom"); 
+            match("border-left"); 
 
 
             }
@@ -3538,10 +3543,10 @@
         try {
             int _type = T__168;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalReportDSL.g:166:8: ( 'margin-left' )
-            // InternalReportDSL.g:166:10: 'margin-left'
+            // InternalReportDSL.g:166:8: ( 'border-right' )
+            // InternalReportDSL.g:166:10: 'border-right'
             {
-            match("margin-left"); 
+            match("border-right"); 
 
 
             }
@@ -3559,10 +3564,10 @@
         try {
             int _type = T__169;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalReportDSL.g:167:8: ( 'margin-right' )
-            // InternalReportDSL.g:167:10: 'margin-right'
+            // InternalReportDSL.g:167:8: ( 'padding-top' )
+            // InternalReportDSL.g:167:10: 'padding-top'
             {
-            match("margin-right"); 
+            match("padding-top"); 
 
 
             }
@@ -3580,10 +3585,10 @@
         try {
             int _type = T__170;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalReportDSL.g:168:8: ( 'uomo' )
-            // InternalReportDSL.g:168:10: 'uomo'
+            // InternalReportDSL.g:168:8: ( 'padding-bottom' )
+            // InternalReportDSL.g:168:10: 'padding-bottom'
             {
-            match("uomo"); 
+            match("padding-bottom"); 
 
 
             }
@@ -3601,10 +3606,10 @@
         try {
             int _type = T__171;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalReportDSL.g:169:8: ( 'ui' )
-            // InternalReportDSL.g:169:10: 'ui'
+            // InternalReportDSL.g:169:8: ( 'padding-left' )
+            // InternalReportDSL.g:169:10: 'padding-left'
             {
-            match("ui"); 
+            match("padding-left"); 
 
 
             }
@@ -3622,10 +3627,10 @@
         try {
             int _type = T__172;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalReportDSL.g:170:8: ( 'report' )
-            // InternalReportDSL.g:170:10: 'report'
+            // InternalReportDSL.g:170:8: ( 'padding-right' )
+            // InternalReportDSL.g:170:10: 'padding-right'
             {
-            match("report"); 
+            match("padding-right"); 
 
 
             }
@@ -3643,10 +3648,10 @@
         try {
             int _type = T__173;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalReportDSL.g:171:8: ( 'number' )
-            // InternalReportDSL.g:171:10: 'number'
+            // InternalReportDSL.g:171:8: ( 'margin-top' )
+            // InternalReportDSL.g:171:10: 'margin-top'
             {
-            match("number"); 
+            match("margin-top"); 
 
 
             }
@@ -3664,10 +3669,10 @@
         try {
             int _type = T__174;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalReportDSL.g:172:8: ( 'date' )
-            // InternalReportDSL.g:172:10: 'date'
+            // InternalReportDSL.g:172:8: ( 'margin-bottom' )
+            // InternalReportDSL.g:172:10: 'margin-bottom'
             {
-            match("date"); 
+            match("margin-bottom"); 
 
 
             }
@@ -3685,10 +3690,10 @@
         try {
             int _type = T__175;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalReportDSL.g:173:8: ( 'date+time' )
-            // InternalReportDSL.g:173:10: 'date+time'
+            // InternalReportDSL.g:173:8: ( 'margin-left' )
+            // InternalReportDSL.g:173:10: 'margin-left'
             {
-            match("date+time"); 
+            match("margin-left"); 
 
 
             }
@@ -3706,10 +3711,10 @@
         try {
             int _type = T__176;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalReportDSL.g:174:8: ( 'time' )
-            // InternalReportDSL.g:174:10: 'time'
+            // InternalReportDSL.g:174:8: ( 'margin-right' )
+            // InternalReportDSL.g:174:10: 'margin-right'
             {
-            match("time"); 
+            match("margin-right"); 
 
 
             }
@@ -3727,10 +3732,10 @@
         try {
             int _type = T__177;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalReportDSL.g:175:8: ( 'datamart' )
-            // InternalReportDSL.g:175:10: 'datamart'
+            // InternalReportDSL.g:175:8: ( 'uomo' )
+            // InternalReportDSL.g:175:10: 'uomo'
             {
-            match("datamart"); 
+            match("uomo"); 
 
 
             }
@@ -3748,10 +3753,10 @@
         try {
             int _type = T__178;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalReportDSL.g:176:8: ( 'rendering' )
-            // InternalReportDSL.g:176:10: 'rendering'
+            // InternalReportDSL.g:176:8: ( 'ui' )
+            // InternalReportDSL.g:176:10: 'ui'
             {
-            match("rendering"); 
+            match("ui"); 
 
 
             }
@@ -3769,10 +3774,10 @@
         try {
             int _type = T__179;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalReportDSL.g:177:8: ( 'toolbar' )
-            // InternalReportDSL.g:177:10: 'toolbar'
+            // InternalReportDSL.g:177:8: ( 'report' )
+            // InternalReportDSL.g:177:10: 'report'
             {
-            match("toolbar"); 
+            match("report"); 
 
 
             }
@@ -3790,10 +3795,10 @@
         try {
             int _type = T__180;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalReportDSL.g:178:8: ( 'defaultUnit' )
-            // InternalReportDSL.g:178:10: 'defaultUnit'
+            // InternalReportDSL.g:178:8: ( 'number' )
+            // InternalReportDSL.g:178:10: 'number'
             {
-            match("defaultUnit"); 
+            match("number"); 
 
 
             }
@@ -3811,10 +3816,10 @@
         try {
             int _type = T__181;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalReportDSL.g:179:8: ( 'file' )
-            // InternalReportDSL.g:179:10: 'file'
+            // InternalReportDSL.g:179:8: ( 'date' )
+            // InternalReportDSL.g:179:10: 'date'
             {
-            match("file"); 
+            match("date"); 
 
 
             }
@@ -3832,10 +3837,10 @@
         try {
             int _type = T__182;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalReportDSL.g:180:8: ( 'template' )
-            // InternalReportDSL.g:180:10: 'template'
+            // InternalReportDSL.g:180:8: ( 'date+time' )
+            // InternalReportDSL.g:180:10: 'date+time'
             {
-            match("template"); 
+            match("date+time"); 
 
 
             }
@@ -3853,10 +3858,10 @@
         try {
             int _type = T__183;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalReportDSL.g:181:8: ( 'describedBy' )
-            // InternalReportDSL.g:181:10: 'describedBy'
+            // InternalReportDSL.g:181:8: ( 'time' )
+            // InternalReportDSL.g:181:10: 'time'
             {
-            match("describedBy"); 
+            match("time"); 
 
 
             }
@@ -3874,10 +3879,10 @@
         try {
             int _type = T__184;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalReportDSL.g:182:8: ( 'header' )
-            // InternalReportDSL.g:182:10: 'header'
+            // InternalReportDSL.g:182:8: ( 'datamart' )
+            // InternalReportDSL.g:182:10: 'datamart'
             {
-            match("header"); 
+            match("datamart"); 
 
 
             }
@@ -3895,10 +3900,10 @@
         try {
             int _type = T__185;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalReportDSL.g:183:8: ( 'height' )
-            // InternalReportDSL.g:183:10: 'height'
+            // InternalReportDSL.g:183:8: ( 'rendering' )
+            // InternalReportDSL.g:183:10: 'rendering'
             {
-            match("height"); 
+            match("rendering"); 
 
 
             }
@@ -3916,10 +3921,10 @@
         try {
             int _type = T__186;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalReportDSL.g:184:8: ( 'detail' )
-            // InternalReportDSL.g:184:10: 'detail'
+            // InternalReportDSL.g:184:8: ( 'toolbar' )
+            // InternalReportDSL.g:184:10: 'toolbar'
             {
-            match("detail"); 
+            match("toolbar"); 
 
 
             }
@@ -3937,10 +3942,10 @@
         try {
             int _type = T__187;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalReportDSL.g:185:8: ( 'footer' )
-            // InternalReportDSL.g:185:10: 'footer'
+            // InternalReportDSL.g:185:8: ( 'defaultUnit' )
+            // InternalReportDSL.g:185:10: 'defaultUnit'
             {
-            match("footer"); 
+            match("defaultUnit"); 
 
 
             }
@@ -3958,10 +3963,10 @@
         try {
             int _type = T__188;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalReportDSL.g:186:8: ( 'grid' )
-            // InternalReportDSL.g:186:10: 'grid'
+            // InternalReportDSL.g:186:8: ( 'file' )
+            // InternalReportDSL.g:186:10: 'file'
             {
-            match("grid"); 
+            match("file"); 
 
 
             }
@@ -3979,10 +3984,10 @@
         try {
             int _type = T__189;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalReportDSL.g:187:8: ( 'as' )
-            // InternalReportDSL.g:187:10: 'as'
+            // InternalReportDSL.g:187:8: ( 'template' )
+            // InternalReportDSL.g:187:10: 'template'
             {
-            match("as"); 
+            match("template"); 
 
 
             }
@@ -4000,10 +4005,10 @@
         try {
             int _type = T__190;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalReportDSL.g:188:8: ( 'width' )
-            // InternalReportDSL.g:188:10: 'width'
+            // InternalReportDSL.g:188:8: ( 'describedBy' )
+            // InternalReportDSL.g:188:10: 'describedBy'
             {
-            match("width"); 
+            match("describedBy"); 
 
 
             }
@@ -4021,10 +4026,10 @@
         try {
             int _type = T__191;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalReportDSL.g:189:8: ( 'row' )
-            // InternalReportDSL.g:189:10: 'row'
+            // InternalReportDSL.g:189:8: ( 'header' )
+            // InternalReportDSL.g:189:10: 'header'
             {
-            match("row"); 
+            match("header"); 
 
 
             }
@@ -4042,10 +4047,10 @@
         try {
             int _type = T__192;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalReportDSL.g:190:8: ( 'cell' )
-            // InternalReportDSL.g:190:10: 'cell'
+            // InternalReportDSL.g:190:8: ( 'height' )
+            // InternalReportDSL.g:190:10: 'height'
             {
-            match("cell"); 
+            match("height"); 
 
 
             }
@@ -4063,10 +4068,10 @@
         try {
             int _type = T__193;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalReportDSL.g:191:8: ( 'columnspan' )
-            // InternalReportDSL.g:191:10: 'columnspan'
+            // InternalReportDSL.g:191:8: ( 'detail' )
+            // InternalReportDSL.g:191:10: 'detail'
             {
-            match("columnspan"); 
+            match("detail"); 
 
 
             }
@@ -4084,10 +4089,10 @@
         try {
             int _type = T__194;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalReportDSL.g:192:8: ( 'table' )
-            // InternalReportDSL.g:192:10: 'table'
+            // InternalReportDSL.g:192:8: ( 'footer' )
+            // InternalReportDSL.g:192:10: 'footer'
             {
-            match("table"); 
+            match("footer"); 
 
 
             }
@@ -4105,10 +4110,10 @@
         try {
             int _type = T__195;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalReportDSL.g:193:8: ( 'group' )
-            // InternalReportDSL.g:193:10: 'group'
+            // InternalReportDSL.g:193:8: ( 'grid' )
+            // InternalReportDSL.g:193:10: 'grid'
             {
-            match("group"); 
+            match("grid"); 
 
 
             }
@@ -4126,10 +4131,10 @@
         try {
             int _type = T__196;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalReportDSL.g:194:8: ( 'by' )
-            // InternalReportDSL.g:194:10: 'by'
+            // InternalReportDSL.g:194:8: ( 'as' )
+            // InternalReportDSL.g:194:10: 'as'
             {
-            match("by"); 
+            match("as"); 
 
 
             }
@@ -4147,10 +4152,10 @@
         try {
             int _type = T__197;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalReportDSL.g:195:8: ( 'details' )
-            // InternalReportDSL.g:195:10: 'details'
+            // InternalReportDSL.g:195:8: ( 'width' )
+            // InternalReportDSL.g:195:10: 'width'
             {
-            match("details"); 
+            match("width"); 
 
 
             }
@@ -4168,10 +4173,10 @@
         try {
             int _type = T__198;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalReportDSL.g:196:8: ( 'intervals' )
-            // InternalReportDSL.g:196:10: 'intervals'
+            // InternalReportDSL.g:196:8: ( 'row' )
+            // InternalReportDSL.g:196:10: 'row'
             {
-            match("intervals"); 
+            match("row"); 
 
 
             }
@@ -4189,10 +4194,10 @@
         try {
             int _type = T__199;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalReportDSL.g:197:8: ( 'lookups' )
-            // InternalReportDSL.g:197:10: 'lookups'
+            // InternalReportDSL.g:197:8: ( 'cell' )
+            // InternalReportDSL.g:197:10: 'cell'
             {
-            match("lookups"); 
+            match("cell"); 
 
 
             }
@@ -4210,10 +4215,10 @@
         try {
             int _type = T__200;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalReportDSL.g:198:8: ( 'attribute' )
-            // InternalReportDSL.g:198:10: 'attribute'
+            // InternalReportDSL.g:198:8: ( 'columnspan' )
+            // InternalReportDSL.g:198:10: 'columnspan'
             {
-            match("attribute"); 
+            match("columnspan"); 
 
 
             }
@@ -4231,10 +4236,10 @@
         try {
             int _type = T__201;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalReportDSL.g:199:8: ( 'aggregate' )
-            // InternalReportDSL.g:199:10: 'aggregate'
+            // InternalReportDSL.g:199:8: ( 'table' )
+            // InternalReportDSL.g:199:10: 'table'
             {
-            match("aggregate"); 
+            match("table"); 
 
 
             }
@@ -4252,10 +4257,10 @@
         try {
             int _type = T__202;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalReportDSL.g:200:8: ( 'on-group' )
-            // InternalReportDSL.g:200:10: 'on-group'
+            // InternalReportDSL.g:200:8: ( 'group' )
+            // InternalReportDSL.g:200:10: 'group'
             {
-            match("on-group"); 
+            match("group"); 
 
 
             }
@@ -4273,10 +4278,10 @@
         try {
             int _type = T__203;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalReportDSL.g:201:8: ( 'title' )
-            // InternalReportDSL.g:201:10: 'title'
+            // InternalReportDSL.g:201:8: ( 'by' )
+            // InternalReportDSL.g:201:10: 'by'
             {
-            match("title"); 
+            match("by"); 
 
 
             }
@@ -4294,10 +4299,11 @@
         try {
             int _type = T__204;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalReportDSL.g:202:8: ( '(' )
-            // InternalReportDSL.g:202:10: '('
+            // InternalReportDSL.g:202:8: ( 'details' )
+            // InternalReportDSL.g:202:10: 'details'
             {
-            match('('); 
+            match("details"); 
+
 
             }
 
@@ -4314,10 +4320,11 @@
         try {
             int _type = T__205;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalReportDSL.g:203:8: ( ')' )
-            // InternalReportDSL.g:203:10: ')'
+            // InternalReportDSL.g:203:8: ( 'intervals' )
+            // InternalReportDSL.g:203:10: 'intervals'
             {
-            match(')'); 
+            match("intervals"); 
+
 
             }
 
@@ -4334,10 +4341,10 @@
         try {
             int _type = T__206;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalReportDSL.g:204:8: ( 'translatable' )
-            // InternalReportDSL.g:204:10: 'translatable'
+            // InternalReportDSL.g:204:8: ( 'lookups' )
+            // InternalReportDSL.g:204:10: 'lookups'
             {
-            match("translatable"); 
+            match("lookups"); 
 
 
             }
@@ -4355,10 +4362,10 @@
         try {
             int _type = T__207;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalReportDSL.g:205:8: ( 'nontranslatable' )
-            // InternalReportDSL.g:205:10: 'nontranslatable'
+            // InternalReportDSL.g:205:8: ( 'attribute' )
+            // InternalReportDSL.g:205:10: 'attribute'
             {
-            match("nontranslatable"); 
+            match("attribute"); 
 
 
             }
@@ -4376,10 +4383,10 @@
         try {
             int _type = T__208;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalReportDSL.g:206:8: ( 'stringBinder' )
-            // InternalReportDSL.g:206:10: 'stringBinder'
+            // InternalReportDSL.g:206:8: ( 'aggregate' )
+            // InternalReportDSL.g:206:10: 'aggregate'
             {
-            match("stringBinder"); 
+            match("aggregate"); 
 
 
             }
@@ -4397,10 +4404,10 @@
         try {
             int _type = T__209;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalReportDSL.g:207:8: ( 'pageBreak' )
-            // InternalReportDSL.g:207:10: 'pageBreak'
+            // InternalReportDSL.g:207:8: ( 'on-group' )
+            // InternalReportDSL.g:207:10: 'on-group'
             {
-            match("pageBreak"); 
+            match("on-group"); 
 
 
             }
@@ -4418,10 +4425,10 @@
         try {
             int _type = T__210;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalReportDSL.g:208:8: ( 'before' )
-            // InternalReportDSL.g:208:10: 'before'
+            // InternalReportDSL.g:208:8: ( 'title' )
+            // InternalReportDSL.g:208:10: 'title'
             {
-            match("before"); 
+            match("title"); 
 
 
             }
@@ -4439,11 +4446,10 @@
         try {
             int _type = T__211;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalReportDSL.g:209:8: ( 'after' )
-            // InternalReportDSL.g:209:10: 'after'
+            // InternalReportDSL.g:209:8: ( '(' )
+            // InternalReportDSL.g:209:10: '('
             {
-            match("after"); 
-
+            match('('); 
 
             }
 
@@ -4460,11 +4466,10 @@
         try {
             int _type = T__212;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalReportDSL.g:210:8: ( 'inside' )
-            // InternalReportDSL.g:210:10: 'inside'
+            // InternalReportDSL.g:210:8: ( ')' )
+            // InternalReportDSL.g:210:10: ')'
             {
-            match("inside"); 
-
+            match(')'); 
 
             }
 
@@ -4481,10 +4486,10 @@
         try {
             int _type = T__213;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalReportDSL.g:211:8: ( 'upTo' )
-            // InternalReportDSL.g:211:10: 'upTo'
+            // InternalReportDSL.g:211:8: ( 'translatable' )
+            // InternalReportDSL.g:211:10: 'translatable'
             {
-            match("upTo"); 
+            match("translatable"); 
 
 
             }
@@ -4502,10 +4507,10 @@
         try {
             int _type = T__214;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalReportDSL.g:212:8: ( 'daysInPast' )
-            // InternalReportDSL.g:212:10: 'daysInPast'
+            // InternalReportDSL.g:212:8: ( 'nontranslatable' )
+            // InternalReportDSL.g:212:10: 'nontranslatable'
             {
-            match("daysInPast"); 
+            match("nontranslatable"); 
 
 
             }
@@ -4523,10 +4528,10 @@
         try {
             int _type = T__215;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalReportDSL.g:213:8: ( 'string' )
-            // InternalReportDSL.g:213:10: 'string'
+            // InternalReportDSL.g:213:8: ( 'stringBinder' )
+            // InternalReportDSL.g:213:10: 'stringBinder'
             {
-            match("string"); 
+            match("stringBinder"); 
 
 
             }
@@ -4544,10 +4549,10 @@
         try {
             int _type = T__216;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalReportDSL.g:214:8: ( 'cellcolor' )
-            // InternalReportDSL.g:214:10: 'cellcolor'
+            // InternalReportDSL.g:214:8: ( 'pageBreak' )
+            // InternalReportDSL.g:214:10: 'pageBreak'
             {
-            match("cellcolor"); 
+            match("pageBreak"); 
 
 
             }
@@ -4565,10 +4570,10 @@
         try {
             int _type = T__217;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalReportDSL.g:215:8: ( 'icon' )
-            // InternalReportDSL.g:215:10: 'icon'
+            // InternalReportDSL.g:215:8: ( 'before' )
+            // InternalReportDSL.g:215:10: 'before'
             {
-            match("icon"); 
+            match("before"); 
 
 
             }
@@ -4586,10 +4591,10 @@
         try {
             int _type = T__218;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalReportDSL.g:216:8: ( 'trend' )
-            // InternalReportDSL.g:216:10: 'trend'
+            // InternalReportDSL.g:216:8: ( 'after' )
+            // InternalReportDSL.g:216:10: 'after'
             {
-            match("trend"); 
+            match("after"); 
 
 
             }
@@ -4607,10 +4612,10 @@
         try {
             int _type = T__219;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalReportDSL.g:217:8: ( 'subtitle' )
-            // InternalReportDSL.g:217:10: 'subtitle'
+            // InternalReportDSL.g:217:8: ( 'inside' )
+            // InternalReportDSL.g:217:10: 'inside'
             {
-            match("subtitle"); 
+            match("inside"); 
 
 
             }
@@ -4628,10 +4633,10 @@
         try {
             int _type = T__220;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalReportDSL.g:218:8: ( 'subsubtitle' )
-            // InternalReportDSL.g:218:10: 'subsubtitle'
+            // InternalReportDSL.g:218:8: ( 'upTo' )
+            // InternalReportDSL.g:218:10: 'upTo'
             {
-            match("subsubtitle"); 
+            match("upTo"); 
 
 
             }
@@ -4649,10 +4654,10 @@
         try {
             int _type = T__221;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalReportDSL.g:219:8: ( 'label' )
-            // InternalReportDSL.g:219:10: 'label'
+            // InternalReportDSL.g:219:8: ( 'daysInPast' )
+            // InternalReportDSL.g:219:10: 'daysInPast'
             {
-            match("label"); 
+            match("daysInPast"); 
 
 
             }
@@ -4670,10 +4675,10 @@
         try {
             int _type = T__222;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalReportDSL.g:220:8: ( 'text' )
-            // InternalReportDSL.g:220:10: 'text'
+            // InternalReportDSL.g:220:8: ( 'string' )
+            // InternalReportDSL.g:220:10: 'string'
             {
-            match("text"); 
+            match("string"); 
 
 
             }
@@ -4691,10 +4696,10 @@
         try {
             int _type = T__223;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalReportDSL.g:221:8: ( 'autotext' )
-            // InternalReportDSL.g:221:10: 'autotext'
+            // InternalReportDSL.g:221:8: ( 'cellcolor' )
+            // InternalReportDSL.g:221:10: 'cellcolor'
             {
-            match("autotext"); 
+            match("cellcolor"); 
 
 
             }
@@ -4712,10 +4717,10 @@
         try {
             int _type = T__224;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalReportDSL.g:222:8: ( 'image' )
-            // InternalReportDSL.g:222:10: 'image'
+            // InternalReportDSL.g:222:8: ( 'icon' )
+            // InternalReportDSL.g:222:10: 'icon'
             {
-            match("image"); 
+            match("icon"); 
 
 
             }
@@ -4733,10 +4738,10 @@
         try {
             int _type = T__225;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalReportDSL.g:223:8: ( 'scale' )
-            // InternalReportDSL.g:223:10: 'scale'
+            // InternalReportDSL.g:223:8: ( 'trend' )
+            // InternalReportDSL.g:223:10: 'trend'
             {
-            match("scale"); 
+            match("trend"); 
 
 
             }
@@ -4754,10 +4759,11 @@
         try {
             int _type = T__226;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalReportDSL.g:224:8: ( ';' )
-            // InternalReportDSL.g:224:10: ';'
+            // InternalReportDSL.g:224:8: ( 'subtitle' )
+            // InternalReportDSL.g:224:10: 'subtitle'
             {
-            match(';'); 
+            match("subtitle"); 
+
 
             }
 
@@ -4774,10 +4780,11 @@
         try {
             int _type = T__227;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalReportDSL.g:225:8: ( '@' )
-            // InternalReportDSL.g:225:10: '@'
+            // InternalReportDSL.g:225:8: ( 'subsubtitle' )
+            // InternalReportDSL.g:225:10: 'subsubtitle'
             {
-            match('@'); 
+            match("subsubtitle"); 
+
 
             }
 
@@ -4794,10 +4801,11 @@
         try {
             int _type = T__228;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalReportDSL.g:226:8: ( ',' )
-            // InternalReportDSL.g:226:10: ','
+            // InternalReportDSL.g:226:8: ( 'label' )
+            // InternalReportDSL.g:226:10: 'label'
             {
-            match(','); 
+            match("label"); 
+
 
             }
 
@@ -4814,10 +4822,11 @@
         try {
             int _type = T__229;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalReportDSL.g:227:8: ( ']' )
-            // InternalReportDSL.g:227:10: ']'
+            // InternalReportDSL.g:227:8: ( 'text' )
+            // InternalReportDSL.g:227:10: 'text'
             {
-            match(']'); 
+            match("text"); 
+
 
             }
 
@@ -4834,10 +4843,11 @@
         try {
             int _type = T__230;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalReportDSL.g:228:8: ( '#' )
-            // InternalReportDSL.g:228:10: '#'
+            // InternalReportDSL.g:228:8: ( 'autotext' )
+            // InternalReportDSL.g:228:10: 'autotext'
             {
-            match('#'); 
+            match("autotext"); 
+
 
             }
 
@@ -4854,10 +4864,11 @@
         try {
             int _type = T__231;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalReportDSL.g:229:8: ( '[' )
-            // InternalReportDSL.g:229:10: '['
+            // InternalReportDSL.g:229:8: ( 'image' )
+            // InternalReportDSL.g:229:10: 'image'
             {
-            match('['); 
+            match("image"); 
+
 
             }
 
@@ -4874,10 +4885,10 @@
         try {
             int _type = T__232;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalReportDSL.g:230:8: ( 'instanceof' )
-            // InternalReportDSL.g:230:10: 'instanceof'
+            // InternalReportDSL.g:230:8: ( 'scale' )
+            // InternalReportDSL.g:230:10: 'scale'
             {
-            match("instanceof"); 
+            match("scale"); 
 
 
             }
@@ -4895,11 +4906,10 @@
         try {
             int _type = T__233;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalReportDSL.g:231:8: ( 'if' )
-            // InternalReportDSL.g:231:10: 'if'
+            // InternalReportDSL.g:231:8: ( ';' )
+            // InternalReportDSL.g:231:10: ';'
             {
-            match("if"); 
-
+            match(';'); 
 
             }
 
@@ -4916,11 +4926,10 @@
         try {
             int _type = T__234;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalReportDSL.g:232:8: ( 'else' )
-            // InternalReportDSL.g:232:10: 'else'
+            // InternalReportDSL.g:232:8: ( '@' )
+            // InternalReportDSL.g:232:10: '@'
             {
-            match("else"); 
-
+            match('@'); 
 
             }
 
@@ -4937,11 +4946,10 @@
         try {
             int _type = T__235;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalReportDSL.g:233:8: ( 'switch' )
-            // InternalReportDSL.g:233:10: 'switch'
+            // InternalReportDSL.g:233:8: ( ',' )
+            // InternalReportDSL.g:233:10: ','
             {
-            match("switch"); 
-
+            match(','); 
 
             }
 
@@ -4958,10 +4966,10 @@
         try {
             int _type = T__236;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalReportDSL.g:234:8: ( ':' )
-            // InternalReportDSL.g:234:10: ':'
+            // InternalReportDSL.g:234:8: ( ']' )
+            // InternalReportDSL.g:234:10: ']'
             {
-            match(':'); 
+            match(']'); 
 
             }
 
@@ -4978,11 +4986,10 @@
         try {
             int _type = T__237;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalReportDSL.g:235:8: ( 'default' )
-            // InternalReportDSL.g:235:10: 'default'
+            // InternalReportDSL.g:235:8: ( '#' )
+            // InternalReportDSL.g:235:10: '#'
             {
-            match("default"); 
-
+            match('#'); 
 
             }
 
@@ -4999,11 +5006,10 @@
         try {
             int _type = T__238;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalReportDSL.g:236:8: ( 'case' )
-            // InternalReportDSL.g:236:10: 'case'
+            // InternalReportDSL.g:236:8: ( '[' )
+            // InternalReportDSL.g:236:10: '['
             {
-            match("case"); 
-
+            match('['); 
 
             }
 
@@ -5020,10 +5026,10 @@
         try {
             int _type = T__239;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalReportDSL.g:237:8: ( 'for' )
-            // InternalReportDSL.g:237:10: 'for'
+            // InternalReportDSL.g:237:8: ( 'instanceof' )
+            // InternalReportDSL.g:237:10: 'instanceof'
             {
-            match("for"); 
+            match("instanceof"); 
 
 
             }
@@ -5041,10 +5047,10 @@
         try {
             int _type = T__240;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalReportDSL.g:238:8: ( 'while' )
-            // InternalReportDSL.g:238:10: 'while'
+            // InternalReportDSL.g:238:8: ( 'if' )
+            // InternalReportDSL.g:238:10: 'if'
             {
-            match("while"); 
+            match("if"); 
 
 
             }
@@ -5062,10 +5068,10 @@
         try {
             int _type = T__241;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalReportDSL.g:239:8: ( 'do' )
-            // InternalReportDSL.g:239:10: 'do'
+            // InternalReportDSL.g:239:8: ( 'else' )
+            // InternalReportDSL.g:239:10: 'else'
             {
-            match("do"); 
+            match("else"); 
 
 
             }
@@ -5083,10 +5089,10 @@
         try {
             int _type = T__242;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalReportDSL.g:240:8: ( 'new' )
-            // InternalReportDSL.g:240:10: 'new'
+            // InternalReportDSL.g:240:8: ( 'switch' )
+            // InternalReportDSL.g:240:10: 'switch'
             {
-            match("new"); 
+            match("switch"); 
 
 
             }
@@ -5104,11 +5110,10 @@
         try {
             int _type = T__243;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalReportDSL.g:241:8: ( 'null' )
-            // InternalReportDSL.g:241:10: 'null'
+            // InternalReportDSL.g:241:8: ( ':' )
+            // InternalReportDSL.g:241:10: ':'
             {
-            match("null"); 
-
+            match(':'); 
 
             }
 
@@ -5125,10 +5130,10 @@
         try {
             int _type = T__244;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalReportDSL.g:242:8: ( 'typeof' )
-            // InternalReportDSL.g:242:10: 'typeof'
+            // InternalReportDSL.g:242:8: ( 'default' )
+            // InternalReportDSL.g:242:10: 'default'
             {
-            match("typeof"); 
+            match("default"); 
 
 
             }
@@ -5146,10 +5151,10 @@
         try {
             int _type = T__245;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalReportDSL.g:243:8: ( 'throw' )
-            // InternalReportDSL.g:243:10: 'throw'
+            // InternalReportDSL.g:243:8: ( 'case' )
+            // InternalReportDSL.g:243:10: 'case'
             {
-            match("throw"); 
+            match("case"); 
 
 
             }
@@ -5167,10 +5172,10 @@
         try {
             int _type = T__246;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalReportDSL.g:244:8: ( 'return' )
-            // InternalReportDSL.g:244:10: 'return'
+            // InternalReportDSL.g:244:8: ( 'for' )
+            // InternalReportDSL.g:244:10: 'for'
             {
-            match("return"); 
+            match("for"); 
 
 
             }
@@ -5188,10 +5193,10 @@
         try {
             int _type = T__247;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalReportDSL.g:245:8: ( 'try' )
-            // InternalReportDSL.g:245:10: 'try'
+            // InternalReportDSL.g:245:8: ( 'while' )
+            // InternalReportDSL.g:245:10: 'while'
             {
-            match("try"); 
+            match("while"); 
 
 
             }
@@ -5209,10 +5214,10 @@
         try {
             int _type = T__248;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalReportDSL.g:246:8: ( 'finally' )
-            // InternalReportDSL.g:246:10: 'finally'
+            // InternalReportDSL.g:246:8: ( 'do' )
+            // InternalReportDSL.g:246:10: 'do'
             {
-            match("finally"); 
+            match("do"); 
 
 
             }
@@ -5230,10 +5235,10 @@
         try {
             int _type = T__249;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalReportDSL.g:247:8: ( 'synchronized' )
-            // InternalReportDSL.g:247:10: 'synchronized'
+            // InternalReportDSL.g:247:8: ( 'new' )
+            // InternalReportDSL.g:247:10: 'new'
             {
-            match("synchronized"); 
+            match("new"); 
 
 
             }
@@ -5251,10 +5256,10 @@
         try {
             int _type = T__250;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalReportDSL.g:248:8: ( 'catch' )
-            // InternalReportDSL.g:248:10: 'catch'
+            // InternalReportDSL.g:248:8: ( 'null' )
+            // InternalReportDSL.g:248:10: 'null'
             {
-            match("catch"); 
+            match("null"); 
 
 
             }
@@ -5272,10 +5277,11 @@
         try {
             int _type = T__251;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalReportDSL.g:249:8: ( '?' )
-            // InternalReportDSL.g:249:10: '?'
+            // InternalReportDSL.g:249:8: ( 'typeof' )
+            // InternalReportDSL.g:249:10: 'typeof'
             {
-            match('?'); 
+            match("typeof"); 
+
 
             }
 
@@ -5292,10 +5298,11 @@
         try {
             int _type = T__252;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalReportDSL.g:250:8: ( '&' )
-            // InternalReportDSL.g:250:10: '&'
+            // InternalReportDSL.g:250:8: ( 'throw' )
+            // InternalReportDSL.g:250:10: 'throw'
             {
-            match('&'); 
+            match("throw"); 
+
 
             }
 
@@ -5312,10 +5319,10 @@
         try {
             int _type = T__253;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalReportDSL.g:251:8: ( 'bold' )
-            // InternalReportDSL.g:251:10: 'bold'
+            // InternalReportDSL.g:251:8: ( 'return' )
+            // InternalReportDSL.g:251:10: 'return'
             {
-            match("bold"); 
+            match("return"); 
 
 
             }
@@ -5333,10 +5340,10 @@
         try {
             int _type = T__254;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalReportDSL.g:252:8: ( 'selectById' )
-            // InternalReportDSL.g:252:10: 'selectById'
+            // InternalReportDSL.g:252:8: ( 'try' )
+            // InternalReportDSL.g:252:10: 'try'
             {
-            match("selectById"); 
+            match("try"); 
 
 
             }
@@ -5354,10 +5361,10 @@
         try {
             int _type = T__255;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalReportDSL.g:253:8: ( 'showOnFirst' )
-            // InternalReportDSL.g:253:10: 'showOnFirst'
+            // InternalReportDSL.g:253:8: ( 'finally' )
+            // InternalReportDSL.g:253:10: 'finally'
             {
-            match("showOnFirst"); 
+            match("finally"); 
 
 
             }
@@ -5375,10 +5382,10 @@
         try {
             int _type = T__256;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalReportDSL.g:254:8: ( 'showOnLast' )
-            // InternalReportDSL.g:254:10: 'showOnLast'
+            // InternalReportDSL.g:254:8: ( 'synchronized' )
+            // InternalReportDSL.g:254:10: 'synchronized'
             {
-            match("showOnLast"); 
+            match("synchronized"); 
 
 
             }
@@ -5396,10 +5403,10 @@
         try {
             int _type = T__257;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalReportDSL.g:255:8: ( 'detailheader' )
-            // InternalReportDSL.g:255:10: 'detailheader'
+            // InternalReportDSL.g:255:8: ( 'catch' )
+            // InternalReportDSL.g:255:10: 'catch'
             {
-            match("detailheader"); 
+            match("catch"); 
 
 
             }
@@ -5417,11 +5424,10 @@
         try {
             int _type = T__258;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalReportDSL.g:256:8: ( 'detailfooter' )
-            // InternalReportDSL.g:256:10: 'detailfooter'
+            // InternalReportDSL.g:256:8: ( '?' )
+            // InternalReportDSL.g:256:10: '?'
             {
-            match("detailfooter"); 
-
+            match('?'); 
 
             }
 
@@ -5438,11 +5444,10 @@
         try {
             int _type = T__259;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalReportDSL.g:257:8: ( 'hidelabel' )
-            // InternalReportDSL.g:257:10: 'hidelabel'
+            // InternalReportDSL.g:257:8: ( '&' )
+            // InternalReportDSL.g:257:10: '&'
             {
-            match("hidelabel"); 
-
+            match('&'); 
 
             }
 
@@ -5459,10 +5464,10 @@
         try {
             int _type = T__260;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalReportDSL.g:258:8: ( 'visibility' )
-            // InternalReportDSL.g:258:10: 'visibility'
+            // InternalReportDSL.g:258:8: ( 'bold' )
+            // InternalReportDSL.g:258:10: 'bold'
             {
-            match("visibility"); 
+            match("bold"); 
 
 
             }
@@ -5480,10 +5485,10 @@
         try {
             int _type = T__261;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalReportDSL.g:259:8: ( 'ns' )
-            // InternalReportDSL.g:259:10: 'ns'
+            // InternalReportDSL.g:259:8: ( 'selectById' )
+            // InternalReportDSL.g:259:10: 'selectById'
             {
-            match("ns"); 
+            match("selectById"); 
 
 
             }
@@ -5501,10 +5506,10 @@
         try {
             int _type = T__262;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalReportDSL.g:260:8: ( '::' )
-            // InternalReportDSL.g:260:10: '::'
+            // InternalReportDSL.g:260:8: ( 'showOnFirst' )
+            // InternalReportDSL.g:260:10: 'showOnFirst'
             {
-            match("::"); 
+            match("showOnFirst"); 
 
 
             }
@@ -5522,10 +5527,10 @@
         try {
             int _type = T__263;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalReportDSL.g:261:8: ( '?.' )
-            // InternalReportDSL.g:261:10: '?.'
+            // InternalReportDSL.g:261:8: ( 'showOnLast' )
+            // InternalReportDSL.g:261:10: 'showOnLast'
             {
-            match("?."); 
+            match("showOnLast"); 
 
 
             }
@@ -5543,10 +5548,11 @@
         try {
             int _type = T__264;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalReportDSL.g:262:8: ( '|' )
-            // InternalReportDSL.g:262:10: '|'
+            // InternalReportDSL.g:262:8: ( 'hidelabel' )
+            // InternalReportDSL.g:262:10: 'hidelabel'
             {
-            match('|'); 
+            match("hidelabel"); 
+
 
             }
 
@@ -5563,10 +5569,10 @@
         try {
             int _type = T__265;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalReportDSL.g:263:8: ( 'var' )
-            // InternalReportDSL.g:263:10: 'var'
+            // InternalReportDSL.g:263:8: ( 'visibility' )
+            // InternalReportDSL.g:263:10: 'visibility'
             {
-            match("var"); 
+            match("visibility"); 
 
 
             }
@@ -5584,10 +5590,10 @@
         try {
             int _type = T__266;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalReportDSL.g:264:8: ( 'true' )
-            // InternalReportDSL.g:264:10: 'true'
+            // InternalReportDSL.g:264:8: ( 'ns' )
+            // InternalReportDSL.g:264:10: 'ns'
             {
-            match("true"); 
+            match("ns"); 
 
 
             }
@@ -5600,15 +5606,119 @@
     }
     // $ANTLR end "T__266"
 
+    // $ANTLR start "T__267"
+    public final void mT__267() throws RecognitionException {
+        try {
+            int _type = T__267;
+            int _channel = DEFAULT_TOKEN_CHANNEL;
+            // InternalReportDSL.g:265:8: ( '::' )
+            // InternalReportDSL.g:265:10: '::'
+            {
+            match("::"); 
+
+
+            }
+
+            state.type = _type;
+            state.channel = _channel;
+        }
+        finally {
+        }
+    }
+    // $ANTLR end "T__267"
+
+    // $ANTLR start "T__268"
+    public final void mT__268() throws RecognitionException {
+        try {
+            int _type = T__268;
+            int _channel = DEFAULT_TOKEN_CHANNEL;
+            // InternalReportDSL.g:266:8: ( '?.' )
+            // InternalReportDSL.g:266:10: '?.'
+            {
+            match("?."); 
+
+
+            }
+
+            state.type = _type;
+            state.channel = _channel;
+        }
+        finally {
+        }
+    }
+    // $ANTLR end "T__268"
+
+    // $ANTLR start "T__269"
+    public final void mT__269() throws RecognitionException {
+        try {
+            int _type = T__269;
+            int _channel = DEFAULT_TOKEN_CHANNEL;
+            // InternalReportDSL.g:267:8: ( '|' )
+            // InternalReportDSL.g:267:10: '|'
+            {
+            match('|'); 
+
+            }
+
+            state.type = _type;
+            state.channel = _channel;
+        }
+        finally {
+        }
+    }
+    // $ANTLR end "T__269"
+
+    // $ANTLR start "T__270"
+    public final void mT__270() throws RecognitionException {
+        try {
+            int _type = T__270;
+            int _channel = DEFAULT_TOKEN_CHANNEL;
+            // InternalReportDSL.g:268:8: ( 'var' )
+            // InternalReportDSL.g:268:10: 'var'
+            {
+            match("var"); 
+
+
+            }
+
+            state.type = _type;
+            state.channel = _channel;
+        }
+        finally {
+        }
+    }
+    // $ANTLR end "T__270"
+
+    // $ANTLR start "T__271"
+    public final void mT__271() throws RecognitionException {
+        try {
+            int _type = T__271;
+            int _channel = DEFAULT_TOKEN_CHANNEL;
+            // InternalReportDSL.g:269:8: ( 'true' )
+            // InternalReportDSL.g:269:10: 'true'
+            {
+            match("true"); 
+
+
+            }
+
+            state.type = _type;
+            state.channel = _channel;
+        }
+        finally {
+        }
+    }
+    // $ANTLR end "T__271"
+
     // $ANTLR start "RULE_HEX"
     public final void mRULE_HEX() throws RecognitionException {
         try {
             int _type = RULE_HEX;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalReportDSL.g:42741:10: ( ( '0x' | '0X' ) ( '0' .. '9' | 'a' .. 'f' | 'A' .. 'F' | '_' )+ ( '#' ( ( 'b' | 'B' ) ( 'i' | 'I' ) | ( 'l' | 'L' ) ) )? )
-            // InternalReportDSL.g:42741:12: ( '0x' | '0X' ) ( '0' .. '9' | 'a' .. 'f' | 'A' .. 'F' | '_' )+ ( '#' ( ( 'b' | 'B' ) ( 'i' | 'I' ) | ( 'l' | 'L' ) ) )?
+            // InternalReportDSL.g:43182:10: ( ( '0x' | '0X' ) ( '0' .. '9' | 'a' .. 'f' | 'A' .. 'F' | '_' )+ ( '#' ( ( 'b' | 'B' ) ( 'i' | 'I' ) | ( 'l' | 'L' ) ) )? )
+            // InternalReportDSL.g:43182:12: ( '0x' | '0X' ) ( '0' .. '9' | 'a' .. 'f' | 'A' .. 'F' | '_' )+ ( '#' ( ( 'b' | 'B' ) ( 'i' | 'I' ) | ( 'l' | 'L' ) ) )?
             {
-            // InternalReportDSL.g:42741:12: ( '0x' | '0X' )
+            // InternalReportDSL.g:43182:12: ( '0x' | '0X' )
             int alt1=2;
             int LA1_0 = input.LA(1);
 
@@ -5636,7 +5746,7 @@
             }
             switch (alt1) {
                 case 1 :
-                    // InternalReportDSL.g:42741:13: '0x'
+                    // InternalReportDSL.g:43182:13: '0x'
                     {
                     match("0x"); 
 
@@ -5644,7 +5754,7 @@
                     }
                     break;
                 case 2 :
-                    // InternalReportDSL.g:42741:18: '0X'
+                    // InternalReportDSL.g:43182:18: '0X'
                     {
                     match("0X"); 
 
@@ -5654,7 +5764,7 @@
 
             }
 
-            // InternalReportDSL.g:42741:24: ( '0' .. '9' | 'a' .. 'f' | 'A' .. 'F' | '_' )+
+            // InternalReportDSL.g:43182:24: ( '0' .. '9' | 'a' .. 'f' | 'A' .. 'F' | '_' )+
             int cnt2=0;
             loop2:
             do {
@@ -5692,7 +5802,7 @@
                 cnt2++;
             } while (true);
 
-            // InternalReportDSL.g:42741:58: ( '#' ( ( 'b' | 'B' ) ( 'i' | 'I' ) | ( 'l' | 'L' ) ) )?
+            // InternalReportDSL.g:43182:58: ( '#' ( ( 'b' | 'B' ) ( 'i' | 'I' ) | ( 'l' | 'L' ) ) )?
             int alt4=2;
             int LA4_0 = input.LA(1);
 
@@ -5701,10 +5811,10 @@
             }
             switch (alt4) {
                 case 1 :
-                    // InternalReportDSL.g:42741:59: '#' ( ( 'b' | 'B' ) ( 'i' | 'I' ) | ( 'l' | 'L' ) )
+                    // InternalReportDSL.g:43182:59: '#' ( ( 'b' | 'B' ) ( 'i' | 'I' ) | ( 'l' | 'L' ) )
                     {
                     match('#'); 
-                    // InternalReportDSL.g:42741:63: ( ( 'b' | 'B' ) ( 'i' | 'I' ) | ( 'l' | 'L' ) )
+                    // InternalReportDSL.g:43182:63: ( ( 'b' | 'B' ) ( 'i' | 'I' ) | ( 'l' | 'L' ) )
                     int alt3=2;
                     int LA3_0 = input.LA(1);
 
@@ -5722,7 +5832,7 @@
                     }
                     switch (alt3) {
                         case 1 :
-                            // InternalReportDSL.g:42741:64: ( 'b' | 'B' ) ( 'i' | 'I' )
+                            // InternalReportDSL.g:43182:64: ( 'b' | 'B' ) ( 'i' | 'I' )
                             {
                             if ( input.LA(1)=='B'||input.LA(1)=='b' ) {
                                 input.consume();
@@ -5746,7 +5856,7 @@
                             }
                             break;
                         case 2 :
-                            // InternalReportDSL.g:42741:84: ( 'l' | 'L' )
+                            // InternalReportDSL.g:43182:84: ( 'l' | 'L' )
                             {
                             if ( input.LA(1)=='L'||input.LA(1)=='l' ) {
                                 input.consume();
@@ -5785,11 +5895,11 @@
         try {
             int _type = RULE_INT;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalReportDSL.g:42743:10: ( '0' .. '9' ( '0' .. '9' | '_' )* )
-            // InternalReportDSL.g:42743:12: '0' .. '9' ( '0' .. '9' | '_' )*
+            // InternalReportDSL.g:43184:10: ( '0' .. '9' ( '0' .. '9' | '_' )* )
+            // InternalReportDSL.g:43184:12: '0' .. '9' ( '0' .. '9' | '_' )*
             {
             matchRange('0','9'); 
-            // InternalReportDSL.g:42743:21: ( '0' .. '9' | '_' )*
+            // InternalReportDSL.g:43184:21: ( '0' .. '9' | '_' )*
             loop5:
             do {
                 int alt5=2;
@@ -5838,11 +5948,11 @@
         try {
             int _type = RULE_DECIMAL;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalReportDSL.g:42745:14: ( RULE_INT ( ( 'e' | 'E' ) ( '+' | '-' )? RULE_INT )? ( ( 'b' | 'B' ) ( 'i' | 'I' | 'd' | 'D' ) | ( 'l' | 'L' | 'd' | 'D' | 'f' | 'F' ) )? )
-            // InternalReportDSL.g:42745:16: RULE_INT ( ( 'e' | 'E' ) ( '+' | '-' )? RULE_INT )? ( ( 'b' | 'B' ) ( 'i' | 'I' | 'd' | 'D' ) | ( 'l' | 'L' | 'd' | 'D' | 'f' | 'F' ) )?
+            // InternalReportDSL.g:43186:14: ( RULE_INT ( ( 'e' | 'E' ) ( '+' | '-' )? RULE_INT )? ( ( 'b' | 'B' ) ( 'i' | 'I' | 'd' | 'D' ) | ( 'l' | 'L' | 'd' | 'D' | 'f' | 'F' ) )? )
+            // InternalReportDSL.g:43186:16: RULE_INT ( ( 'e' | 'E' ) ( '+' | '-' )? RULE_INT )? ( ( 'b' | 'B' ) ( 'i' | 'I' | 'd' | 'D' ) | ( 'l' | 'L' | 'd' | 'D' | 'f' | 'F' ) )?
             {
             mRULE_INT(); 
-            // InternalReportDSL.g:42745:25: ( ( 'e' | 'E' ) ( '+' | '-' )? RULE_INT )?
+            // InternalReportDSL.g:43186:25: ( ( 'e' | 'E' ) ( '+' | '-' )? RULE_INT )?
             int alt7=2;
             int LA7_0 = input.LA(1);
 
@@ -5851,7 +5961,7 @@
             }
             switch (alt7) {
                 case 1 :
-                    // InternalReportDSL.g:42745:26: ( 'e' | 'E' ) ( '+' | '-' )? RULE_INT
+                    // InternalReportDSL.g:43186:26: ( 'e' | 'E' ) ( '+' | '-' )? RULE_INT
                     {
                     if ( input.LA(1)=='E'||input.LA(1)=='e' ) {
                         input.consume();
@@ -5862,7 +5972,7 @@
                         recover(mse);
                         throw mse;}
 
-                    // InternalReportDSL.g:42745:36: ( '+' | '-' )?
+                    // InternalReportDSL.g:43186:36: ( '+' | '-' )?
                     int alt6=2;
                     int LA6_0 = input.LA(1);
 
@@ -5895,7 +6005,7 @@
 
             }
 
-            // InternalReportDSL.g:42745:58: ( ( 'b' | 'B' ) ( 'i' | 'I' | 'd' | 'D' ) | ( 'l' | 'L' | 'd' | 'D' | 'f' | 'F' ) )?
+            // InternalReportDSL.g:43186:58: ( ( 'b' | 'B' ) ( 'i' | 'I' | 'd' | 'D' ) | ( 'l' | 'L' | 'd' | 'D' | 'f' | 'F' ) )?
             int alt8=3;
             int LA8_0 = input.LA(1);
 
@@ -5907,7 +6017,7 @@
             }
             switch (alt8) {
                 case 1 :
-                    // InternalReportDSL.g:42745:59: ( 'b' | 'B' ) ( 'i' | 'I' | 'd' | 'D' )
+                    // InternalReportDSL.g:43186:59: ( 'b' | 'B' ) ( 'i' | 'I' | 'd' | 'D' )
                     {
                     if ( input.LA(1)=='B'||input.LA(1)=='b' ) {
                         input.consume();
@@ -5931,7 +6041,7 @@
                     }
                     break;
                 case 2 :
-                    // InternalReportDSL.g:42745:87: ( 'l' | 'L' | 'd' | 'D' | 'f' | 'F' )
+                    // InternalReportDSL.g:43186:87: ( 'l' | 'L' | 'd' | 'D' | 'f' | 'F' )
                     {
                     if ( input.LA(1)=='D'||input.LA(1)=='F'||input.LA(1)=='L'||input.LA(1)=='d'||input.LA(1)=='f'||input.LA(1)=='l' ) {
                         input.consume();
@@ -5964,10 +6074,10 @@
         try {
             int _type = RULE_ID;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalReportDSL.g:42747:9: ( ( '^' )? ( 'a' .. 'z' | 'A' .. 'Z' | '$' | '_' ) ( 'a' .. 'z' | 'A' .. 'Z' | '$' | '_' | '0' .. '9' )* )
-            // InternalReportDSL.g:42747:11: ( '^' )? ( 'a' .. 'z' | 'A' .. 'Z' | '$' | '_' ) ( 'a' .. 'z' | 'A' .. 'Z' | '$' | '_' | '0' .. '9' )*
+            // InternalReportDSL.g:43188:9: ( ( '^' )? ( 'a' .. 'z' | 'A' .. 'Z' | '$' | '_' ) ( 'a' .. 'z' | 'A' .. 'Z' | '$' | '_' | '0' .. '9' )* )
+            // InternalReportDSL.g:43188:11: ( '^' )? ( 'a' .. 'z' | 'A' .. 'Z' | '$' | '_' ) ( 'a' .. 'z' | 'A' .. 'Z' | '$' | '_' | '0' .. '9' )*
             {
-            // InternalReportDSL.g:42747:11: ( '^' )?
+            // InternalReportDSL.g:43188:11: ( '^' )?
             int alt9=2;
             int LA9_0 = input.LA(1);
 
@@ -5976,7 +6086,7 @@
             }
             switch (alt9) {
                 case 1 :
-                    // InternalReportDSL.g:42747:11: '^'
+                    // InternalReportDSL.g:43188:11: '^'
                     {
                     match('^'); 
 
@@ -5994,7 +6104,7 @@
                 recover(mse);
                 throw mse;}
 
-            // InternalReportDSL.g:42747:44: ( 'a' .. 'z' | 'A' .. 'Z' | '$' | '_' | '0' .. '9' )*
+            // InternalReportDSL.g:43188:44: ( 'a' .. 'z' | 'A' .. 'Z' | '$' | '_' | '0' .. '9' )*
             loop10:
             do {
                 int alt10=2;
@@ -6043,10 +6153,10 @@
         try {
             int _type = RULE_STRING;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalReportDSL.g:42749:13: ( ( '\"' ( '\\\\' . | ~ ( ( '\\\\' | '\"' ) ) )* ( '\"' )? | '\\'' ( '\\\\' . | ~ ( ( '\\\\' | '\\'' ) ) )* ( '\\'' )? ) )
-            // InternalReportDSL.g:42749:15: ( '\"' ( '\\\\' . | ~ ( ( '\\\\' | '\"' ) ) )* ( '\"' )? | '\\'' ( '\\\\' . | ~ ( ( '\\\\' | '\\'' ) ) )* ( '\\'' )? )
+            // InternalReportDSL.g:43190:13: ( ( '\"' ( '\\\\' . | ~ ( ( '\\\\' | '\"' ) ) )* ( '\"' )? | '\\'' ( '\\\\' . | ~ ( ( '\\\\' | '\\'' ) ) )* ( '\\'' )? ) )
+            // InternalReportDSL.g:43190:15: ( '\"' ( '\\\\' . | ~ ( ( '\\\\' | '\"' ) ) )* ( '\"' )? | '\\'' ( '\\\\' . | ~ ( ( '\\\\' | '\\'' ) ) )* ( '\\'' )? )
             {
-            // InternalReportDSL.g:42749:15: ( '\"' ( '\\\\' . | ~ ( ( '\\\\' | '\"' ) ) )* ( '\"' )? | '\\'' ( '\\\\' . | ~ ( ( '\\\\' | '\\'' ) ) )* ( '\\'' )? )
+            // InternalReportDSL.g:43190:15: ( '\"' ( '\\\\' . | ~ ( ( '\\\\' | '\"' ) ) )* ( '\"' )? | '\\'' ( '\\\\' . | ~ ( ( '\\\\' | '\\'' ) ) )* ( '\\'' )? )
             int alt15=2;
             int LA15_0 = input.LA(1);
 
@@ -6064,10 +6174,10 @@
             }
             switch (alt15) {
                 case 1 :
-                    // InternalReportDSL.g:42749:16: '\"' ( '\\\\' . | ~ ( ( '\\\\' | '\"' ) ) )* ( '\"' )?
+                    // InternalReportDSL.g:43190:16: '\"' ( '\\\\' . | ~ ( ( '\\\\' | '\"' ) ) )* ( '\"' )?
                     {
                     match('\"'); 
-                    // InternalReportDSL.g:42749:20: ( '\\\\' . | ~ ( ( '\\\\' | '\"' ) ) )*
+                    // InternalReportDSL.g:43190:20: ( '\\\\' . | ~ ( ( '\\\\' | '\"' ) ) )*
                     loop11:
                     do {
                         int alt11=3;
@@ -6083,7 +6193,7 @@
 
                         switch (alt11) {
                     	case 1 :
-                    	    // InternalReportDSL.g:42749:21: '\\\\' .
+                    	    // InternalReportDSL.g:43190:21: '\\\\' .
                     	    {
                     	    match('\\'); 
                     	    matchAny(); 
@@ -6091,7 +6201,7 @@
                     	    }
                     	    break;
                     	case 2 :
-                    	    // InternalReportDSL.g:42749:28: ~ ( ( '\\\\' | '\"' ) )
+                    	    // InternalReportDSL.g:43190:28: ~ ( ( '\\\\' | '\"' ) )
                     	    {
                     	    if ( (input.LA(1)>='\u0000' && input.LA(1)<='!')||(input.LA(1)>='#' && input.LA(1)<='[')||(input.LA(1)>=']' && input.LA(1)<='\uFFFF') ) {
                     	        input.consume();
@@ -6111,7 +6221,7 @@
                         }
                     } while (true);
 
-                    // InternalReportDSL.g:42749:44: ( '\"' )?
+                    // InternalReportDSL.g:43190:44: ( '\"' )?
                     int alt12=2;
                     int LA12_0 = input.LA(1);
 
@@ -6120,7 +6230,7 @@
                     }
                     switch (alt12) {
                         case 1 :
-                            // InternalReportDSL.g:42749:44: '\"'
+                            // InternalReportDSL.g:43190:44: '\"'
                             {
                             match('\"'); 
 
@@ -6133,10 +6243,10 @@
                     }
                     break;
                 case 2 :
-                    // InternalReportDSL.g:42749:49: '\\'' ( '\\\\' . | ~ ( ( '\\\\' | '\\'' ) ) )* ( '\\'' )?
+                    // InternalReportDSL.g:43190:49: '\\'' ( '\\\\' . | ~ ( ( '\\\\' | '\\'' ) ) )* ( '\\'' )?
                     {
                     match('\''); 
-                    // InternalReportDSL.g:42749:54: ( '\\\\' . | ~ ( ( '\\\\' | '\\'' ) ) )*
+                    // InternalReportDSL.g:43190:54: ( '\\\\' . | ~ ( ( '\\\\' | '\\'' ) ) )*
                     loop13:
                     do {
                         int alt13=3;
@@ -6152,7 +6262,7 @@
 
                         switch (alt13) {
                     	case 1 :
-                    	    // InternalReportDSL.g:42749:55: '\\\\' .
+                    	    // InternalReportDSL.g:43190:55: '\\\\' .
                     	    {
                     	    match('\\'); 
                     	    matchAny(); 
@@ -6160,7 +6270,7 @@
                     	    }
                     	    break;
                     	case 2 :
-                    	    // InternalReportDSL.g:42749:62: ~ ( ( '\\\\' | '\\'' ) )
+                    	    // InternalReportDSL.g:43190:62: ~ ( ( '\\\\' | '\\'' ) )
                     	    {
                     	    if ( (input.LA(1)>='\u0000' && input.LA(1)<='&')||(input.LA(1)>='(' && input.LA(1)<='[')||(input.LA(1)>=']' && input.LA(1)<='\uFFFF') ) {
                     	        input.consume();
@@ -6180,7 +6290,7 @@
                         }
                     } while (true);
 
-                    // InternalReportDSL.g:42749:79: ( '\\'' )?
+                    // InternalReportDSL.g:43190:79: ( '\\'' )?
                     int alt14=2;
                     int LA14_0 = input.LA(1);
 
@@ -6189,7 +6299,7 @@
                     }
                     switch (alt14) {
                         case 1 :
-                            // InternalReportDSL.g:42749:79: '\\''
+                            // InternalReportDSL.g:43190:79: '\\''
                             {
                             match('\''); 
 
@@ -6220,12 +6330,12 @@
         try {
             int _type = RULE_ML_COMMENT;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalReportDSL.g:42751:17: ( '/*' ( options {greedy=false; } : . )* '*/' )
-            // InternalReportDSL.g:42751:19: '/*' ( options {greedy=false; } : . )* '*/'
+            // InternalReportDSL.g:43192:17: ( '/*' ( options {greedy=false; } : . )* '*/' )
+            // InternalReportDSL.g:43192:19: '/*' ( options {greedy=false; } : . )* '*/'
             {
             match("/*"); 
 
-            // InternalReportDSL.g:42751:24: ( options {greedy=false; } : . )*
+            // InternalReportDSL.g:43192:24: ( options {greedy=false; } : . )*
             loop16:
             do {
                 int alt16=2;
@@ -6250,7 +6360,7 @@
 
                 switch (alt16) {
             	case 1 :
-            	    // InternalReportDSL.g:42751:52: .
+            	    // InternalReportDSL.g:43192:52: .
             	    {
             	    matchAny(); 
 
@@ -6280,12 +6390,12 @@
         try {
             int _type = RULE_SL_COMMENT;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalReportDSL.g:42753:17: ( '//' (~ ( ( '\\n' | '\\r' ) ) )* ( ( '\\r' )? '\\n' )? )
-            // InternalReportDSL.g:42753:19: '//' (~ ( ( '\\n' | '\\r' ) ) )* ( ( '\\r' )? '\\n' )?
+            // InternalReportDSL.g:43194:17: ( '//' (~ ( ( '\\n' | '\\r' ) ) )* ( ( '\\r' )? '\\n' )? )
+            // InternalReportDSL.g:43194:19: '//' (~ ( ( '\\n' | '\\r' ) ) )* ( ( '\\r' )? '\\n' )?
             {
             match("//"); 
 
-            // InternalReportDSL.g:42753:24: (~ ( ( '\\n' | '\\r' ) ) )*
+            // InternalReportDSL.g:43194:24: (~ ( ( '\\n' | '\\r' ) ) )*
             loop17:
             do {
                 int alt17=2;
@@ -6298,7 +6408,7 @@
 
                 switch (alt17) {
             	case 1 :
-            	    // InternalReportDSL.g:42753:24: ~ ( ( '\\n' | '\\r' ) )
+            	    // InternalReportDSL.g:43194:24: ~ ( ( '\\n' | '\\r' ) )
             	    {
             	    if ( (input.LA(1)>='\u0000' && input.LA(1)<='\t')||(input.LA(1)>='\u000B' && input.LA(1)<='\f')||(input.LA(1)>='\u000E' && input.LA(1)<='\uFFFF') ) {
             	        input.consume();
@@ -6318,7 +6428,7 @@
                 }
             } while (true);
 
-            // InternalReportDSL.g:42753:40: ( ( '\\r' )? '\\n' )?
+            // InternalReportDSL.g:43194:40: ( ( '\\r' )? '\\n' )?
             int alt19=2;
             int LA19_0 = input.LA(1);
 
@@ -6327,9 +6437,9 @@
             }
             switch (alt19) {
                 case 1 :
-                    // InternalReportDSL.g:42753:41: ( '\\r' )? '\\n'
+                    // InternalReportDSL.g:43194:41: ( '\\r' )? '\\n'
                     {
-                    // InternalReportDSL.g:42753:41: ( '\\r' )?
+                    // InternalReportDSL.g:43194:41: ( '\\r' )?
                     int alt18=2;
                     int LA18_0 = input.LA(1);
 
@@ -6338,7 +6448,7 @@
                     }
                     switch (alt18) {
                         case 1 :
-                            // InternalReportDSL.g:42753:41: '\\r'
+                            // InternalReportDSL.g:43194:41: '\\r'
                             {
                             match('\r'); 
 
@@ -6370,10 +6480,10 @@
         try {
             int _type = RULE_WS;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalReportDSL.g:42755:9: ( ( ' ' | '\\t' | '\\r' | '\\n' )+ )
-            // InternalReportDSL.g:42755:11: ( ' ' | '\\t' | '\\r' | '\\n' )+
+            // InternalReportDSL.g:43196:9: ( ( ' ' | '\\t' | '\\r' | '\\n' )+ )
+            // InternalReportDSL.g:43196:11: ( ' ' | '\\t' | '\\r' | '\\n' )+
             {
-            // InternalReportDSL.g:42755:11: ( ' ' | '\\t' | '\\r' | '\\n' )+
+            // InternalReportDSL.g:43196:11: ( ' ' | '\\t' | '\\r' | '\\n' )+
             int cnt20=0;
             loop20:
             do {
@@ -6427,8 +6537,8 @@
         try {
             int _type = RULE_ANY_OTHER;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalReportDSL.g:42757:16: ( . )
-            // InternalReportDSL.g:42757:18: .
+            // InternalReportDSL.g:43198:16: ( . )
+            // InternalReportDSL.g:43198:18: .
             {
             matchAny(); 
 
@@ -6443,8 +6553,8 @@
     // $ANTLR end "RULE_ANY_OTHER"
 
     public void mTokens() throws RecognitionException {
-        // InternalReportDSL.g:1:8: ( T__13 | T__14 | T__15 | T__16 | T__17 | T__18 | T__19 | T__20 | T__21 | T__22 | T__23 | T__24 | T__25 | T__26 | T__27 | T__28 | T__29 | T__30 | T__31 | T__32 | T__33 | T__34 | T__35 | T__36 | T__37 | T__38 | T__39 | T__40 | T__41 | T__42 | T__43 | T__44 | T__45 | T__46 | T__47 | T__48 | T__49 | T__50 | T__51 | T__52 | T__53 | T__54 | T__55 | T__56 | T__57 | T__58 | T__59 | T__60 | T__61 | T__62 | T__63 | T__64 | T__65 | T__66 | T__67 | T__68 | T__69 | T__70 | T__71 | T__72 | T__73 | T__74 | T__75 | T__76 | T__77 | T__78 | T__79 | T__80 | T__81 | T__82 | T__83 | T__84 | T__85 | T__86 | T__87 | T__88 | T__89 | T__90 | T__91 | T__92 | T__93 | T__94 | T__95 | T__96 | T__97 | T__98 | T__99 | T__100 | T__101 | T__102 | T__103 | T__104 | T__105 | T__106 | T__107 | T__108 | T__109 | T__110 | T__111 | T__112 | T__113 | T__114 | T__115 | T__116 | T__117 | T__118 | T__119 | T__120 | T__121 | T__122 | T__123 | T__124 | T__125 | T__126 | T__127 | T__128 | T__129 | T__130 | T__131 | T__132 | T__133 | T__134 | T__135 | T__136 | T__137 | T__138 | T__139 | T__140 | T__141 | T__142 | T__143 | T__144 | T__145 | T__146 | T__147 | T__148 | T__149 | T__150 | T__151 | T__152 | T__153 | T__154 | T__155 | T__156 | T__157 | T__158 | T__159 | T__160 | T__161 | T__162 | T__163 | T__164 | T__165 | T__166 | T__167 | T__168 | T__169 | T__170 | T__171 | T__172 | T__173 | T__174 | T__175 | T__176 | T__177 | T__178 | T__179 | T__180 | T__181 | T__182 | T__183 | T__184 | T__185 | T__186 | T__187 | T__188 | T__189 | T__190 | T__191 | T__192 | T__193 | T__194 | T__195 | T__196 | T__197 | T__198 | T__199 | T__200 | T__201 | T__202 | T__203 | T__204 | T__205 | T__206 | T__207 | T__208 | T__209 | T__210 | T__211 | T__212 | T__213 | T__214 | T__215 | T__216 | T__217 | T__218 | T__219 | T__220 | T__221 | T__222 | T__223 | T__224 | T__225 | T__226 | T__227 | T__228 | T__229 | T__230 | T__231 | T__232 | T__233 | T__234 | T__235 | T__236 | T__237 | T__238 | T__239 | T__240 | T__241 | T__242 | T__243 | T__244 | T__245 | T__246 | T__247 | T__248 | T__249 | T__250 | T__251 | T__252 | T__253 | T__254 | T__255 | T__256 | T__257 | T__258 | T__259 | T__260 | T__261 | T__262 | T__263 | T__264 | T__265 | T__266 | RULE_HEX | RULE_INT | RULE_DECIMAL | RULE_ID | RULE_STRING | RULE_ML_COMMENT | RULE_SL_COMMENT | RULE_WS | RULE_ANY_OTHER )
-        int alt21=263;
+        // InternalReportDSL.g:1:8: ( T__13 | T__14 | T__15 | T__16 | T__17 | T__18 | T__19 | T__20 | T__21 | T__22 | T__23 | T__24 | T__25 | T__26 | T__27 | T__28 | T__29 | T__30 | T__31 | T__32 | T__33 | T__34 | T__35 | T__36 | T__37 | T__38 | T__39 | T__40 | T__41 | T__42 | T__43 | T__44 | T__45 | T__46 | T__47 | T__48 | T__49 | T__50 | T__51 | T__52 | T__53 | T__54 | T__55 | T__56 | T__57 | T__58 | T__59 | T__60 | T__61 | T__62 | T__63 | T__64 | T__65 | T__66 | T__67 | T__68 | T__69 | T__70 | T__71 | T__72 | T__73 | T__74 | T__75 | T__76 | T__77 | T__78 | T__79 | T__80 | T__81 | T__82 | T__83 | T__84 | T__85 | T__86 | T__87 | T__88 | T__89 | T__90 | T__91 | T__92 | T__93 | T__94 | T__95 | T__96 | T__97 | T__98 | T__99 | T__100 | T__101 | T__102 | T__103 | T__104 | T__105 | T__106 | T__107 | T__108 | T__109 | T__110 | T__111 | T__112 | T__113 | T__114 | T__115 | T__116 | T__117 | T__118 | T__119 | T__120 | T__121 | T__122 | T__123 | T__124 | T__125 | T__126 | T__127 | T__128 | T__129 | T__130 | T__131 | T__132 | T__133 | T__134 | T__135 | T__136 | T__137 | T__138 | T__139 | T__140 | T__141 | T__142 | T__143 | T__144 | T__145 | T__146 | T__147 | T__148 | T__149 | T__150 | T__151 | T__152 | T__153 | T__154 | T__155 | T__156 | T__157 | T__158 | T__159 | T__160 | T__161 | T__162 | T__163 | T__164 | T__165 | T__166 | T__167 | T__168 | T__169 | T__170 | T__171 | T__172 | T__173 | T__174 | T__175 | T__176 | T__177 | T__178 | T__179 | T__180 | T__181 | T__182 | T__183 | T__184 | T__185 | T__186 | T__187 | T__188 | T__189 | T__190 | T__191 | T__192 | T__193 | T__194 | T__195 | T__196 | T__197 | T__198 | T__199 | T__200 | T__201 | T__202 | T__203 | T__204 | T__205 | T__206 | T__207 | T__208 | T__209 | T__210 | T__211 | T__212 | T__213 | T__214 | T__215 | T__216 | T__217 | T__218 | T__219 | T__220 | T__221 | T__222 | T__223 | T__224 | T__225 | T__226 | T__227 | T__228 | T__229 | T__230 | T__231 | T__232 | T__233 | T__234 | T__235 | T__236 | T__237 | T__238 | T__239 | T__240 | T__241 | T__242 | T__243 | T__244 | T__245 | T__246 | T__247 | T__248 | T__249 | T__250 | T__251 | T__252 | T__253 | T__254 | T__255 | T__256 | T__257 | T__258 | T__259 | T__260 | T__261 | T__262 | T__263 | T__264 | T__265 | T__266 | T__267 | T__268 | T__269 | T__270 | T__271 | RULE_HEX | RULE_INT | RULE_DECIMAL | RULE_ID | RULE_STRING | RULE_ML_COMMENT | RULE_SL_COMMENT | RULE_WS | RULE_ANY_OTHER )
+        int alt21=268;
         alt21 = dfa21.predict(input);
         switch (alt21) {
             case 1 :
@@ -8226,63 +8336,98 @@
                 }
                 break;
             case 255 :
-                // InternalReportDSL.g:1:1701: RULE_HEX
+                // InternalReportDSL.g:1:1701: T__267
+                {
+                mT__267(); 
+
+                }
+                break;
+            case 256 :
+                // InternalReportDSL.g:1:1708: T__268
+                {
+                mT__268(); 
+
+                }
+                break;
+            case 257 :
+                // InternalReportDSL.g:1:1715: T__269
+                {
+                mT__269(); 
+
+                }
+                break;
+            case 258 :
+                // InternalReportDSL.g:1:1722: T__270
+                {
+                mT__270(); 
+
+                }
+                break;
+            case 259 :
+                // InternalReportDSL.g:1:1729: T__271
+                {
+                mT__271(); 
+
+                }
+                break;
+            case 260 :
+                // InternalReportDSL.g:1:1736: RULE_HEX
                 {
                 mRULE_HEX(); 
 
                 }
                 break;
-            case 256 :
-                // InternalReportDSL.g:1:1710: RULE_INT
+            case 261 :
+                // InternalReportDSL.g:1:1745: RULE_INT
                 {
                 mRULE_INT(); 
 
                 }
                 break;
-            case 257 :
-                // InternalReportDSL.g:1:1719: RULE_DECIMAL
+            case 262 :
+                // InternalReportDSL.g:1:1754: RULE_DECIMAL
                 {
                 mRULE_DECIMAL(); 
 
                 }
                 break;
-            case 258 :
-                // InternalReportDSL.g:1:1732: RULE_ID
+            case 263 :
+                // InternalReportDSL.g:1:1767: RULE_ID
                 {
                 mRULE_ID(); 
 
                 }
                 break;
-            case 259 :
-                // InternalReportDSL.g:1:1740: RULE_STRING
+            case 264 :
+                // InternalReportDSL.g:1:1775: RULE_STRING
                 {
                 mRULE_STRING(); 
 
                 }
                 break;
-            case 260 :
-                // InternalReportDSL.g:1:1752: RULE_ML_COMMENT
+            case 265 :
+                // InternalReportDSL.g:1:1787: RULE_ML_COMMENT
                 {
                 mRULE_ML_COMMENT(); 
 
                 }
                 break;
-            case 261 :
-                // InternalReportDSL.g:1:1768: RULE_SL_COMMENT
+            case 266 :
+                // InternalReportDSL.g:1:1803: RULE_SL_COMMENT
                 {
                 mRULE_SL_COMMENT(); 
 
                 }
                 break;
-            case 262 :
-                // InternalReportDSL.g:1:1784: RULE_WS
+            case 267 :
+                // InternalReportDSL.g:1:1819: RULE_WS
                 {
                 mRULE_WS(); 
 
                 }
                 break;
-            case 263 :
-                // InternalReportDSL.g:1:1792: RULE_ANY_OTHER
+            case 268 :
+                // InternalReportDSL.g:1:1827: RULE_ANY_OTHER
                 {
                 mRULE_ANY_OTHER(); 
 
@@ -8296,54 +8441,54 @@
 
     protected DFA21 dfa21 = new DFA21(this);
     static final String DFA21_eotS =
-        "\1\uffff\1\67\1\71\1\73\3\102\1\123\1\127\1\132\1\136\1\140\1\142\1\144\1\146\1\150\1\153\20\102\2\uffff\1\102\10\uffff\1\u00c6\2\u00c9\1\64\5\uffff\1\u00ce\6\uffff\2\102\1\u00d4\3\102\1\uffff\1\102\1\u00dd\3\102\1\u00e8\1\u00e9\1\u00ea\2\102\1\u00ee\3\102\20\uffff\1\u00f3\5\uffff\1\u00f5\4\uffff\2\102\1\u00fa\1\u00fc\20\102\1\u0116\4\102\1\u0120\4\102\1\u0126\1\u0127\1\u0128\11\102\1\u0134\10\102\1\u0141\20\102\1\u015c\10\102\2\uffff\2\102\13\uffff\1\u00c9\6\uffff\5\102\1\uffff\10\102\1\uffff\7\102\1\u0185\2\102\3\uffff\3\102\1\uffff\3\102\4\uffff\1\u018e\1\u018f\2\102\1\uffff\1\102\1\uffff\5\102\1\u0199\23\102\1\uffff\6\102\1\u01b7\2\102\1\uffff\5\102\3\uffff\2\102\1\u01c1\4\102\1\uffff\1\102\1\u01c9\1\102\1\uffff\13\102\1\u01d7\1\uffff\3\102\1\uffff\7\102\1\u01e2\15\102\2\uffff\10\102\1\u01f9\20\102\1\u020b\1\u020c\1\u020d\6\102\1\u0215\5\102\1\uffff\4\102\1\u0220\3\102\2\uffff\3\102\1\u0228\5\102\1\uffff\11\102\1\u0238\5\102\1\u023e\5\102\1\u0244\3\102\1\u0248\3\102\1\uffff\1\u024d\10\102\1\uffff\4\102\2\uffff\1\102\1\uffff\1\u025e\1\u025f\3\102\1\u0264\3\102\1\u0268\2\102\1\u026b\1\uffff\12\102\1\uffff\4\102\1\u027a\1\u027b\3\102\1\uffff\3\102\1\u0282\5\102\1\u0289\2\102\1\uffff\1\u028c\1\u028f\1\102\1\u0291\10\102\1\u029a\1\u029c\3\102\3\uffff\1\u02a0\5\102\2\uffff\10\102\1\u02ae\1\102\1\uffff\2\102\1\u02b2\3\102\1\u02b7\1\uffff\2\102\1\u02bb\1\102\1\u02bd\2\102\1\uffff\1\u02c0\2\102\1\u02c4\1\102\1\u02c6\2\uffff\4\102\1\u02cb\1\uffff\1\u02cc\4\102\1\uffff\1\u02d1\1\102\1\u02d3\1\uffff\3\102\1\u02d7\1\uffff\5\102\1\u02de\2\102\1\uffff\4\102\1\u02e7\1\uffff\1\102\2\uffff\2\102\1\u02ee\1\102\1\uffff\3\102\1\uffff\2\102\1\uffff\3\102\1\u02f9\1\102\1\u02fb\5\102\1\uffff\1\102\1\u0302\2\uffff\6\102\1\uffff\6\102\1\uffff\1\102\1\u0311\1\uffff\2\102\1\uffff\1\102\1\uffff\1\u0315\1\u0316\1\u0317\1\u0318\1\u0319\1\u031a\1\102\1\u031c\1\uffff\1\u031d\1\uffff\1\102\1\u031f\1\102\1\uffff\1\u0321\1\u0322\1\u0323\1\u0324\5\102\1\u032d\1\u032e\2\102\1\uffff\3\102\1\uffff\4\102\1\uffff\1\u0338\1\102\1\u033a\1\uffff\1\u033c\1\uffff\2\102\1\uffff\2\102\2\uffff\1\102\1\uffff\1\u0342\2\102\1\u0346\2\uffff\1\u0347\2\102\1\u034a\1\uffff\1\u034b\1\uffff\3\102\1\uffff\1\u034f\4\102\1\u0354\1\uffff\2\102\2\uffff\4\102\4\uffff\3\102\1\uffff\3\102\1\u0362\1\102\1\u0364\1\102\1\u0366\2\102\1\uffff\1\u0369\1\uffff\1\102\1\u036b\1\102\1\u036d\1\102\1\u036f\1\uffff\1\u0370\1\u0371\4\102\1\u0376\1\uffff\3\102\1\u037b\2\102\1\uffff\3\102\6\uffff\1\102\2\uffff\1\102\1\uffff\1\102\4\uffff\1\u0384\2\102\1\u0388\1\102\1\u038a\2\102\2\uffff\1\102\1\u038e\4\102\1\u0393\2\102\1\uffff\1\102\1\uffff\1\102\1\uffff\4\102\1\u039c\1\uffff\3\102\2\uffff\2\102\2\uffff\1\u03a2\2\102\1\uffff\1\102\1\u03a6\1\u03a7\2\uffff\1\102\1\u03ad\1\uffff\2\102\1\u03b1\3\102\1\uffff\2\102\1\u03b7\1\uffff\1\102\1\uffff\1\u03b9\1\uffff\2\102\1\uffff\1\102\1\uffff\1\102\1\uffff\1\102\3\uffff\3\102\3\uffff\1\102\1\u03c8\1\u03c9\1\uffff\5\102\1\u03cf\2\102\1\uffff\1\u03d2\2\102\1\uffff\1\102\1\uffff\3\102\1\uffff\1\u03d9\3\102\1\uffff\4\102\1\u03e1\3\102\1\uffff\5\102\1\uffff\3\102\6\uffff\1\u03ed\2\uffff\2\102\2\uffff\3\102\1\u03f8\1\uffff\1\102\1\uffff\2\102\1\uffff\1\102\1\uffff\3\102\5\uffff\1\102\2\uffff\4\102\1\u0408\1\uffff\1\102\1\u040a\1\uffff\5\102\1\u0410\1\uffff\1\u0411\1\u0412\1\102\1\u0414\3\102\1\uffff\7\102\1\u041f\1\102\1\u0422\1\u0423\2\uffff\1\102\1\u0426\4\uffff\1\102\1\u0428\1\102\1\uffff\3\102\2\uffff\1\u042d\1\u042e\2\102\1\uffff\1\u0432\2\102\1\u0435\1\u0436\1\uffff\1\u0437\1\uffff\1\u0438\4\102\3\uffff\1\u043d\1\uffff\1\102\1\u043f\2\102\1\u0442\1\u0443\2\102\1\u0446\1\u0447\1\uffff\1\u0448\1\u0449\3\uffff\1\102\1\uffff\1\102\1\uffff\1\u044d\3\102\2\uffff\2\102\1\u0454\1\uffff\1\u0455\1\102\4\uffff\1\u0457\1\u0458\2\102\1\uffff\1\102\1\uffff\1\102\1\u045d\2\uffff\1\102\1\u045f\4\uffff\1\u0461\1\102\1\u0463\1\uffff\1\102\1\u0465\1\u0466\2\102\3\uffff\1\102\2\uffff\1\u046a\1\u046b\1\102\1\u046d\1\uffff\1\u046e\3\uffff\1\u046f\1\uffff\1\102\2\uffff\1\102\1\u0472\1\u0473\2\uffff\1\102\3\uffff\2\102\2\uffff\1\u0477\2\102\1\uffff\1\u047a\1\u047b\2\uffff";
+        "\1\uffff\1\67\1\71\1\73\3\102\1\124\1\130\1\133\1\137\1\141\1\143\1\145\1\147\1\151\1\154\20\102\2\uffff\1\102\10\uffff\1\u00c8\2\u00cb\1\64\5\uffff\1\u00d0\6\uffff\2\102\1\u00d6\3\102\1\uffff\1\102\1\u00df\3\102\1\u00ea\1\u00eb\1\u00ec\3\102\1\u00f1\3\102\20\uffff\1\u00f6\5\uffff\1\u00f8\4\uffff\3\102\1\u00fe\1\u0100\20\102\1\u011a\4\102\1\u0124\4\102\1\u012b\1\u012c\1\u012d\11\102\1\u0139\10\102\1\u0146\12\102\1\u0159\16\102\2\uffff\2\102\13\uffff\1\u00cb\6\uffff\5\102\1\uffff\10\102\1\uffff\7\102\1\u018a\2\102\3\uffff\4\102\1\uffff\3\102\4\uffff\1\u0194\1\u0195\3\102\1\uffff\1\102\1\uffff\5\102\1\u01a0\23\102\1\uffff\6\102\1\u01be\2\102\1\uffff\6\102\3\uffff\2\102\1\u01c9\4\102\1\uffff\1\102\1\u01d1\1\102\1\uffff\13\102\1\u01df\1\uffff\3\102\1\uffff\7\102\1\u01ea\5\102\2\uffff\1\102\1\u01f2\6\102\1\u01f9\30\102\1\u0214\1\u0215\1\u0216\6\102\1\u021e\5\102\1\uffff\4\102\1\u0229\4\102\2\uffff\4\102\1\u0233\5\102\1\uffff\11\102\1\u0243\5\102\1\u0249\5\102\1\u024f\3\102\1\u0253\3\102\1\uffff\1\u0258\11\102\1\uffff\4\102\2\uffff\1\102\1\uffff\1\u026a\1\u026b\3\102\1\u0270\3\102\1\u0274\2\102\1\u0277\1\uffff\12\102\1\uffff\2\102\1\u0284\1\uffff\3\102\1\uffff\3\102\1\u028c\2\102\1\uffff\1\u028f\1\u0292\1\102\1\u0294\7\102\1\u029c\1\u029d\10\102\1\u02a6\1\u02a8\3\102\3\uffff\1\u02ac\5\102\2\uffff\10\102\1\u02ba\1\102\1\uffff\3\102\1\u02bf\4\102\1\u02c5\1\uffff\2\102\1\u02c9\1\102\1\u02cb\2\102\1\uffff\1\u02ce\2\102\1\u02d2\1\102\1\u02d4\2\uffff\4\102\1\u02d9\1\uffff\1\u02da\4\102\1\uffff\1\u02df\1\102\1\u02e1\1\uffff\3\102\1\u02e5\1\uffff\6\102\1\u02ed\2\102\1\uffff\4\102\1\u02f6\1\uffff\1\102\2\uffff\2\102\1\u02fd\1\102\1\uffff\3\102\1\uffff\2\102\1\uffff\3\102\1\u0308\1\102\1\u030a\6\102\1\uffff\7\102\1\uffff\1\102\1\u031a\1\uffff\2\102\1\uffff\1\102\1\uffff\1\u031e\1\u031f\1\u0320\1\102\1\uffff\1\102\1\u0323\2\uffff\3\102\1\u0327\1\u0328\1\u0329\1\102\1\u032b\1\uffff\1\u032c\1\uffff\1\102\1\u032e\1\102\1\uffff\1\u0330\1\u0331\1\u0332\1\u0333\5\102\1\u033a\1\u033b\2\102\1\uffff\4\102\1\uffff\5\102\1\uffff\1\u0347\1\102\1\u0349\1\uffff\1\u034b\1\uffff\2\102\1\uffff\2\102\2\uffff\1\102\1\uffff\1\u0351\2\102\1\u0355\2\uffff\1\u0356\2\102\1\u0359\1\uffff\1\u035a\1\uffff\3\102\1\uffff\1\u035e\1\102\1\u0360\3\102\1\u0364\1\uffff\2\102\2\uffff\4\102\4\uffff\3\102\1\uffff\3\102\1\u0372\1\102\1\u0374\1\102\1\u0376\2\102\1\uffff\1\u0379\1\uffff\1\102\1\u037c\1\102\1\u037e\1\u0380\2\102\1\u0383\1\102\1\uffff\2\102\1\u0388\2\102\1\uffff\3\102\3\uffff\1\102\1\u038f\1\uffff\1\u0390\1\u0391\1\102\3\uffff\1\102\2\uffff\1\102\1\uffff\1\102\4\uffff\1\u0396\2\102\1\u039a\1\102\1\u039c\2\uffff\1\102\1\u039e\1\102\1\uffff\4\102\1\u03a6\2\102\1\uffff\1\102\1\uffff\1\102\1\uffff\4\102\1\u03af\1\uffff\3\102\2\uffff\2\102\2\uffff\1\u03b5\2\102\1\uffff\1\102\1\uffff\1\u03b9\1\u03ba\2\uffff\1\102\1\u03c0\1\uffff\2\102\1\u03c4\3\102\1\uffff\2\102\1\u03ca\1\uffff\1\102\1\uffff\1\u03cc\1\uffff\2\102\1\uffff\1\102\2\uffff\1\102\1\uffff\1\102\2\uffff\1\102\1\uffff\1\102\1\uffff\1\u03d9\1\u03da\1\uffff\6\102\3\uffff\1\102\1\u03e2\2\102\1\uffff\1\u03e5\2\102\1\uffff\1\102\1\uffff\1\102\1\uffff\1\u03ea\2\uffff\4\102\1\uffff\4\102\1\u03f3\3\102\1\uffff\5\102\1\uffff\3\102\6\uffff\1\u03ff\2\uffff\2\102\2\uffff\3\102\1\u040a\1\uffff\1\102\1\uffff\2\102\1\uffff\2\102\4\uffff\2\102\3\uffff\4\102\1\u0419\1\uffff\1\102\1\uffff\1\102\1\u041c\1\uffff\3\102\1\u0420\1\uffff\1\u0421\1\u0422\2\102\1\u0425\3\102\1\uffff\7\102\1\u0430\1\102\1\u0433\1\u0434\2\uffff\1\102\1\u0437\4\uffff\1\102\1\u0439\1\102\1\uffff\3\102\2\uffff\1\u043e\2\102\1\u0441\1\uffff\2\102\1\u0445\1\u0446\1\uffff\1\u0447\1\u0448\1\uffff\1\u0449\2\102\3\uffff\1\102\1\u044d\1\uffff\1\102\1\u044f\2\102\1\u0452\1\u0453\2\102\1\u0456\1\u0457\1\uffff\1\u0458\1\u0459\3\uffff\1\102\1\uffff\1\102\1\uffff\1\u045d\3\102\1\uffff\2\102\1\uffff\1\u0464\1\u0465\1\102\5\uffff\1\u0467\1\u0468\1\102\1\uffff\1\102\1\uffff\1\102\1\u046c\2\uffff\1\102\1\u046e\4\uffff\1\u0470\1\102\1\u0472\1\uffff\1\102\1\u0474\1\u0475\2\102\3\uffff\1\102\2\uffff\2\102\1\u047b\1\uffff\1\u047c\3\uffff\1\u047d\1\uffff\1\102\2\uffff\1\u047f\1\102\1\u0481\1\u0482\1\102\3\uffff\1\102\1\uffff\1\102\2\uffff\1\u0486\2\102\1\uffff\1\u0489\1\u048a\2\uffff";
     static final String DFA21_eofS =
-        "\u047c\uffff";
+        "\u048b\uffff";
     static final String DFA21_minS =
-        "\1\0\1\75\1\174\1\46\2\141\1\63\1\53\1\55\2\52\3\75\1\76\2\56\1\141\1\154\1\141\1\143\3\141\1\151\1\141\1\145\1\142\3\145\2\141\2\uffff\1\150\10\uffff\1\72\2\60\1\44\5\uffff\1\75\6\uffff\1\162\1\154\1\44\1\154\1\151\1\163\1\uffff\1\166\1\44\1\162\1\146\1\154\3\44\1\145\1\164\1\44\1\164\1\147\1\164\20\uffff\1\75\5\uffff\1\74\4\uffff\1\154\1\163\2\44\1\163\1\141\1\142\1\156\1\154\1\141\1\157\1\154\1\172\1\151\1\156\1\157\1\141\1\143\1\141\1\157\1\44\2\154\1\157\1\156\1\44\2\156\1\162\1\144\3\44\2\162\1\146\1\143\1\141\1\55\1\146\1\154\1\155\1\44\1\124\1\142\1\146\1\147\1\157\1\156\1\154\1\167\1\44\1\154\1\164\1\151\1\55\1\144\2\156\1\167\1\156\1\157\1\151\1\155\1\141\1\144\1\143\1\154\1\44\1\146\1\157\1\160\1\141\2\155\1\142\1\162\2\uffff\1\144\1\151\13\uffff\1\60\6\uffff\1\164\1\162\1\143\1\156\1\157\1\uffff\1\164\1\154\1\160\1\145\1\143\1\151\1\164\1\142\1\uffff\1\150\1\153\1\141\1\163\1\141\1\143\1\141\1\44\1\141\1\145\3\uffff\1\162\1\151\1\157\1\uffff\2\162\1\145\4\uffff\2\44\1\151\1\145\1\uffff\1\145\1\uffff\1\145\1\147\1\154\1\151\1\145\1\44\2\163\1\151\2\145\1\154\1\160\1\151\1\145\1\164\1\143\1\167\1\157\1\147\1\150\2\145\1\154\1\156\1\uffff\1\163\1\151\2\145\1\141\1\155\1\44\2\164\1\uffff\1\157\2\151\1\147\1\151\3\uffff\1\164\1\143\1\44\1\145\1\153\1\144\1\151\1\154\1\157\1\44\1\157\1\uffff\1\157\1\144\1\157\1\145\1\164\1\150\1\153\1\155\1\145\1\142\1\154\1\44\1\uffff\1\151\1\163\1\145\1\uffff\1\150\1\151\1\147\1\156\1\157\1\144\1\165\1\44\1\145\1\144\1\157\1\144\1\154\1\144\1\147\1\145\1\55\1\153\1\164\2\144\2\uffff\1\157\1\141\1\155\1\141\1\154\1\145\2\156\1\44\1\145\1\164\1\160\1\145\2\154\1\157\1\164\1\154\1\157\1\145\1\141\1\164\1\162\1\155\1\145\3\44\1\150\1\144\1\145\1\154\2\145\1\44\1\155\1\111\1\165\1\162\1\151\1\uffff\1\171\1\162\1\141\1\144\1\44\1\151\1\145\1\162\2\uffff\1\142\1\156\1\144\1\44\1\151\1\156\1\145\1\156\1\162\1\uffff\1\151\1\165\1\55\1\146\1\143\1\156\1\145\1\151\1\144\1\44\1\143\1\150\1\117\1\162\1\145\1\44\1\164\1\144\1\141\1\162\1\151\1\44\1\145\1\154\1\144\1\44\1\154\1\102\1\141\1\uffff\1\44\1\145\1\163\2\155\1\151\1\141\1\162\1\145\1\uffff\1\55\1\141\1\151\1\156\1\145\1\uffff\1\162\1\uffff\2\44\1\163\1\165\1\154\1\44\1\164\1\165\1\141\1\44\1\162\1\145\1\44\1\uffff\1\161\1\145\1\156\1\164\1\156\1\145\1\151\1\162\1\145\1\162\1\uffff\1\162\1\55\1\166\1\160\2\44\1\145\1\150\1\154\1\uffff\1\147\1\157\1\145\1\44\1\162\1\154\1\141\1\162\1\142\1\44\1\163\1\144\1\uffff\2\44\1\154\1\44\2\145\1\167\1\150\1\145\1\155\1\156\1\164\2\44\1\156\1\162\1\157\3\uffff\1\44\1\145\1\144\1\145\1\144\1\156\2\uffff\1\141\1\156\1\154\1\151\1\154\1\163\1\156\1\147\1\44\1\145\1\uffff\1\142\1\147\1\44\1\151\1\144\1\156\1\44\1\uffff\1\143\1\141\1\44\1\147\1\44\1\164\1\142\1\uffff\1\44\2\164\1\44\1\156\1\44\2\uffff\1\150\1\162\1\156\1\164\1\44\1\uffff\1\44\1\145\1\156\1\166\1\143\1\uffff\1\44\1\171\1\44\1\uffff\1\154\1\165\1\164\1\44\1\uffff\1\162\1\160\2\165\1\156\1\44\1\141\2\156\1\145\1\162\1\147\1\156\1\44\1\144\1\155\2\uffff\1\143\1\164\1\44\1\141\1\uffff\1\145\1\160\1\154\1\uffff\1\141\1\162\1\uffff\1\165\2\164\1\44\1\147\1\44\1\156\1\164\1\162\1\156\1\141\1\uffff\1\145\1\44\2\uffff\1\162\1\164\1\141\1\162\1\155\1\162\1\uffff\1\145\1\55\1\162\1\144\1\141\1\146\1\uffff\1\146\1\44\1\uffff\1\157\1\154\1\uffff\1\141\1\uffff\6\44\1\143\1\44\1\uffff\1\44\1\uffff\1\163\1\44\1\154\1\uffff\4\44\1\163\1\162\1\120\1\164\1\142\2\44\1\141\1\145\1\uffff\1\170\1\165\1\141\1\uffff\1\154\1\163\1\151\1\141\1\uffff\1\44\1\164\1\44\1\uffff\1\44\1\uffff\1\154\1\164\1\uffff\1\102\1\151\2\uffff\1\147\1\uffff\1\44\1\157\1\106\1\44\2\uffff\1\44\1\143\1\141\1\44\1\uffff\1\44\1\uffff\1\171\1\156\1\164\1\uffff\1\44\1\141\2\155\1\55\1\44\1\uffff\1\151\1\164\1\165\1\uffff\1\155\2\145\1\147\4\uffff\2\141\1\55\1\uffff\1\162\1\156\1\163\1\44\1\156\1\44\1\145\1\44\2\141\1\uffff\1\44\1\uffff\1\147\1\44\1\151\1\44\1\154\1\44\1\uffff\2\44\1\142\1\157\1\155\1\55\1\44\1\160\1\147\1\163\1\162\1\44\1\157\1\141\1\uffff\1\154\1\151\1\164\6\uffff\1\171\2\uffff\1\160\1\uffff\1\157\4\uffff\1\44\1\164\1\141\1\44\1\145\1\44\1\145\1\157\2\uffff\1\164\1\44\3\164\1\151\1\44\1\157\1\154\1\uffff\1\151\1\uffff\1\151\1\uffff\1\145\1\151\1\171\1\146\1\44\1\uffff\1\156\1\151\1\141\2\uffff\1\145\1\154\2\uffff\1\44\1\144\1\145\1\uffff\1\143\2\44\1\142\1\uffff\1\164\1\44\1\155\1\160\1\141\1\44\1\55\1\164\1\160\1\uffff\1\147\1\163\1\44\1\uffff\1\163\1\uffff\1\44\1\uffff\1\164\1\162\1\uffff\1\55\1\uffff\1\156\1\uffff\1\55\3\uffff\1\145\1\165\1\141\1\142\1\uffff\1\141\1\151\2\44\1\uffff\1\162\1\164\1\157\1\147\1\145\1\44\1\141\1\162\1\uffff\1\44\1\163\1\156\1\uffff\1\144\1\uffff\1\141\1\157\1\145\1\uffff\1\44\2\145\1\164\1\uffff\1\156\1\103\2\156\1\44\1\164\1\111\1\151\1\uffff\1\151\1\162\1\163\1\157\1\163\1\uffff\1\154\1\162\1\145\6\uffff\1\44\1\uffff\1\142\1\154\1\153\1\uffff\1\142\1\164\1\145\1\151\1\44\1\uffff\1\154\1\uffff\1\151\1\147\1\143\1\147\1\uffff\1\154\1\156\1\162\4\uffff\1\147\1\156\2\uffff\1\155\1\141\1\162\1\156\1\44\1\uffff\1\156\1\44\1\uffff\1\164\1\151\1\102\1\144\1\164\1\44\1\uffff\2\44\1\171\1\44\1\163\1\147\1\144\1\uffff\1\154\1\144\1\143\1\172\1\163\1\164\1\146\1\44\1\145\2\44\1\uffff\1\145\1\141\1\44\4\uffff\1\145\1\44\1\156\1\uffff\1\141\1\157\1\151\2\uffff\2\44\1\144\1\147\1\145\1\44\1\163\1\142\2\44\1\uffff\1\44\1\uffff\1\44\1\164\1\171\2\145\3\uffff\1\44\1\uffff\1\163\1\44\2\145\2\44\1\145\1\164\2\44\1\uffff\2\44\2\uffff\1\162\1\164\1\uffff\1\144\1\uffff\1\44\1\164\2\156\2\uffff\1\143\1\151\1\55\1\uffff\1\44\1\154\4\uffff\2\44\2\162\1\uffff\1\125\1\uffff\1\162\1\44\2\uffff\1\144\1\44\4\uffff\1\55\1\145\1\44\1\uffff\1\141\2\44\1\157\1\156\3\uffff\1\145\2\uffff\2\44\1\122\1\44\1\uffff\1\44\3\uffff\1\44\1\uffff\1\142\2\uffff\1\154\2\44\2\uffff\1\111\3\uffff\1\154\1\157\2\uffff\1\44\1\145\1\162\1\uffff\2\44\2\uffff";
+        "\1\0\1\75\1\174\1\46\2\141\1\63\1\53\1\55\2\52\3\75\1\76\2\56\1\141\1\154\1\141\1\143\3\141\1\151\1\141\1\145\1\142\1\145\2\141\2\145\2\uffff\1\150\10\uffff\1\72\2\60\1\44\5\uffff\1\75\6\uffff\1\162\1\154\1\44\1\154\1\151\1\163\1\uffff\1\166\1\44\1\162\1\146\1\154\3\44\1\145\2\164\1\44\1\164\1\147\1\164\20\uffff\1\75\5\uffff\1\74\4\uffff\1\154\1\162\1\163\2\44\1\163\1\141\1\142\1\156\1\154\1\141\1\157\1\154\1\172\1\151\1\156\1\157\1\141\1\143\1\141\1\157\1\44\2\154\1\157\1\156\1\44\1\156\1\144\1\162\1\144\3\44\2\162\1\146\1\143\1\141\1\55\1\146\1\154\1\155\1\44\1\124\1\142\1\146\1\147\1\157\1\156\1\154\1\167\1\44\1\154\1\164\1\151\1\55\1\144\2\156\1\167\1\154\1\143\1\44\1\146\1\157\1\160\1\141\2\155\1\142\1\162\1\156\1\157\1\151\1\155\1\141\1\144\2\uffff\1\144\1\151\13\uffff\1\60\6\uffff\1\164\1\162\1\143\1\156\1\157\1\uffff\1\164\1\154\1\160\1\145\1\143\1\151\1\164\1\142\1\uffff\1\150\1\153\1\141\1\163\1\141\1\143\1\141\1\44\1\141\1\145\3\uffff\1\162\1\151\1\157\1\165\1\uffff\2\162\1\145\4\uffff\2\44\1\164\1\151\1\145\1\uffff\1\145\1\uffff\1\145\1\147\1\154\1\151\1\145\1\44\2\163\1\151\2\145\1\154\1\160\1\151\1\145\1\164\1\143\1\167\1\157\1\147\1\150\2\145\1\154\1\156\1\uffff\1\163\1\151\2\145\1\141\1\155\1\44\2\164\1\uffff\1\157\1\144\2\151\1\147\1\151\3\uffff\1\164\1\143\1\44\1\145\1\153\1\144\1\151\1\154\1\157\1\44\1\157\1\uffff\1\157\1\144\1\157\1\145\1\164\1\150\1\153\1\155\1\145\1\142\1\154\1\44\1\uffff\1\151\1\163\1\145\1\uffff\1\150\1\151\1\147\1\156\1\157\1\144\1\165\1\44\1\164\2\144\1\55\1\153\2\uffff\1\157\1\44\2\141\1\154\1\145\2\156\1\44\1\145\1\164\1\160\1\145\2\154\1\157\1\145\1\144\1\157\1\144\1\154\1\144\1\147\1\145\1\164\1\154\1\157\1\145\1\141\1\164\1\162\1\155\1\145\3\44\1\150\1\144\1\145\1\154\2\145\1\44\1\155\1\111\1\165\1\162\1\151\1\uffff\1\171\1\162\1\141\1\144\1\44\1\141\1\151\1\145\1\162\2\uffff\1\151\1\142\1\156\1\144\1\44\1\151\1\156\1\145\1\156\1\162\1\uffff\1\151\1\165\1\55\1\146\1\143\1\156\1\145\1\151\1\144\1\44\1\143\1\150\1\117\1\162\1\145\1\44\1\164\1\144\1\141\1\162\1\151\1\44\1\145\1\154\1\144\1\44\1\154\1\102\1\141\1\uffff\1\44\1\145\1\163\1\154\2\155\1\151\1\141\1\162\1\145\1\uffff\1\55\1\141\1\151\1\156\1\145\1\uffff\1\162\1\uffff\2\44\1\163\1\165\1\154\1\44\1\164\1\165\1\141\1\44\1\162\1\145\1\44\1\uffff\1\161\1\145\1\156\1\164\1\156\1\145\1\151\1\162\1\145\1\162\1\uffff\1\157\1\145\1\44\1\uffff\1\147\1\162\1\141\1\uffff\1\154\1\162\1\142\1\44\1\163\1\144\1\uffff\2\44\1\154\1\44\2\145\1\167\1\162\1\55\1\166\1\160\2\44\1\145\1\150\1\154\1\150\1\145\1\155\1\156\1\164\2\44\1\156\1\162\1\157\3\uffff\1\44\1\145\1\144\1\145\1\144\1\156\2\uffff\1\141\1\156\1\154\1\151\1\154\1\163\1\156\1\147\1\44\1\145\1\uffff\1\154\1\142\1\147\1\44\1\143\1\151\1\144\1\156\1\44\1\uffff\1\143\1\141\1\44\1\147\1\44\1\164\1\142\1\uffff\1\44\2\164\1\44\1\156\1\44\2\uffff\1\150\1\162\1\156\1\164\1\44\1\uffff\1\44\1\145\1\156\1\166\1\143\1\uffff\1\44\1\171\1\44\1\uffff\1\154\1\165\1\164\1\44\1\uffff\1\162\1\160\1\145\2\165\1\156\1\44\1\141\2\156\1\145\1\162\1\147\1\156\1\44\1\144\1\155\2\uffff\1\143\1\164\1\44\1\141\1\uffff\1\145\1\160\1\154\1\uffff\1\141\1\162\1\uffff\1\165\2\164\1\44\1\147\1\44\1\156\1\164\1\162\1\156\1\155\1\162\1\uffff\1\162\1\145\1\162\1\55\1\144\1\141\1\146\1\uffff\1\146\1\44\1\uffff\1\157\1\154\1\uffff\1\141\1\uffff\3\44\1\141\1\uffff\1\145\1\44\2\uffff\1\162\1\164\1\141\3\44\1\143\1\44\1\uffff\1\44\1\uffff\1\163\1\44\1\154\1\uffff\4\44\1\163\1\162\1\120\1\164\1\142\2\44\1\141\1\145\1\uffff\1\170\1\55\1\165\1\141\1\uffff\1\141\1\154\1\163\1\151\1\141\1\uffff\1\44\1\164\1\44\1\uffff\1\44\1\uffff\1\154\1\164\1\uffff\1\102\1\151\2\uffff\1\147\1\uffff\1\44\1\157\1\106\1\44\2\uffff\1\44\1\143\1\141\1\44\1\uffff\1\44\1\uffff\1\171\1\156\1\164\1\uffff\1\44\1\141\1\44\2\155\1\55\1\44\1\uffff\1\151\1\164\1\165\1\uffff\1\155\2\145\1\147\4\uffff\2\141\1\55\1\uffff\1\162\1\156\1\163\1\44\1\156\1\44\1\145\1\44\2\141\1\uffff\1\44\1\uffff\1\147\1\44\1\151\2\44\1\55\1\157\1\44\1\147\1\160\1\163\1\162\1\44\1\157\1\141\1\uffff\1\154\1\151\1\164\3\uffff\1\154\1\44\1\uffff\2\44\1\142\3\uffff\1\171\2\uffff\1\160\1\uffff\1\157\4\uffff\1\44\1\164\1\141\1\44\1\145\1\44\2\uffff\1\164\1\44\1\164\1\144\2\164\1\154\1\151\1\44\1\157\1\154\1\uffff\1\151\1\uffff\1\151\1\uffff\1\145\1\151\1\171\1\146\1\44\1\uffff\1\156\1\151\1\141\2\uffff\1\145\1\154\2\uffff\1\44\1\144\1\145\1\uffff\1\143\1\uffff\2\44\1\142\1\uffff\1\164\1\44\1\155\1\160\1\141\1\44\1\55\1\164\1\160\1\uffff\1\147\1\163\1\44\1\uffff\1\163\1\uffff\1\44\1\uffff\1\164\1\162\1\uffff\1\55\2\uffff\1\156\1\uffff\1\141\1\uffff\1\142\1\165\1\uffff\1\151\1\141\2\44\1\uffff\1\162\1\164\1\157\1\147\1\145\1\55\3\uffff\1\145\1\44\1\141\1\162\1\uffff\1\44\1\163\1\156\1\uffff\1\144\1\uffff\1\145\1\uffff\1\44\2\uffff\2\145\1\141\1\164\1\uffff\1\156\1\103\2\156\1\44\1\164\1\111\1\151\1\uffff\1\151\1\162\1\163\1\157\1\163\1\uffff\1\154\1\162\1\145\6\uffff\1\44\1\uffff\1\142\1\154\1\153\1\uffff\1\142\1\164\1\145\1\151\1\44\1\uffff\1\154\1\uffff\1\151\1\147\1\143\1\147\1\162\4\uffff\2\156\1\147\2\uffff\1\155\1\141\1\162\1\156\1\44\1\uffff\1\154\1\uffff\1\156\1\44\1\uffff\1\164\1\151\1\102\1\44\1\uffff\2\44\1\154\1\171\1\44\1\163\1\147\1\144\1\uffff\1\154\1\144\1\143\1\172\1\163\1\164\1\146\1\44\1\145\2\44\1\uffff\1\145\1\141\1\44\4\uffff\1\145\1\44\1\156\1\uffff\1\141\1\157\1\151\2\uffff\1\44\1\147\1\144\1\44\1\145\1\163\1\142\2\44\1\uffff\2\44\1\uffff\1\44\1\164\1\171\3\uffff\1\151\1\44\1\uffff\1\163\1\44\2\145\2\44\1\145\1\164\2\44\1\uffff\2\44\2\uffff\1\162\1\164\1\uffff\1\144\1\uffff\1\44\1\164\2\156\1\uffff\1\151\1\143\1\uffff\1\55\1\44\1\154\5\uffff\2\44\1\147\1\uffff\1\125\1\uffff\1\162\1\44\2\uffff\1\144\1\44\4\uffff\1\55\1\145\1\44\1\uffff\1\141\2\44\1\156\1\157\3\uffff\1\145\2\uffff\1\156\1\122\1\44\1\uffff\1\44\3\uffff\1\44\1\uffff\1\142\2\uffff\1\44\1\154\2\44\1\111\3\uffff\1\154\1\uffff\1\157\2\uffff\1\44\1\145\1\162\1\uffff\2\44\2\uffff";
     static final String DFA21_maxS =
-        "\1\uffff\1\76\1\174\1\46\1\165\1\157\1\166\1\75\1\76\5\75\1\76\1\56\1\72\1\151\1\170\1\171\1\164\1\162\1\157\1\170\1\163\1\157\3\165\1\162\1\164\2\171\2\uffff\1\151\10\uffff\1\72\1\170\1\154\1\172\5\uffff\1\75\6\uffff\1\163\1\165\1\172\1\156\1\151\1\164\1\uffff\1\166\1\172\1\171\1\164\1\167\3\172\1\157\1\164\1\172\1\164\1\147\1\164\20\uffff\1\75\5\uffff\1\74\4\uffff\1\162\1\163\2\172\1\163\1\171\1\160\1\156\1\162\1\151\1\157\1\154\1\172\1\151\1\156\1\157\1\160\1\164\1\141\1\157\1\172\1\155\1\170\1\157\1\162\1\172\2\156\1\170\1\144\3\172\2\162\1\146\1\147\1\141\1\55\1\146\1\154\1\155\1\172\1\124\1\171\1\146\1\147\1\157\1\162\1\155\1\167\1\172\1\154\1\164\1\151\1\55\1\163\1\156\1\164\1\167\1\156\2\157\1\155\1\151\2\144\1\164\1\172\1\146\1\167\1\160\1\171\1\170\1\164\1\142\1\162\2\uffff\1\144\1\151\13\uffff\1\154\6\uffff\1\164\1\162\1\143\1\156\1\165\1\uffff\1\164\1\154\1\160\1\145\1\143\1\151\1\164\1\142\1\uffff\1\150\1\153\1\145\1\163\1\141\1\143\1\141\1\172\1\141\1\145\3\uffff\1\162\1\151\1\157\1\uffff\2\162\1\145\4\uffff\2\172\1\151\1\145\1\uffff\1\145\1\uffff\1\145\1\164\1\154\1\151\1\145\1\172\1\164\1\163\1\151\2\145\1\154\1\160\1\151\1\145\1\164\1\143\1\167\1\157\1\147\1\150\1\164\1\145\1\154\1\156\1\uffff\1\163\1\151\2\145\1\141\1\155\1\172\2\164\1\uffff\1\157\2\151\1\147\1\151\3\uffff\1\164\1\143\1\172\1\145\1\153\1\144\1\151\1\163\1\157\1\172\1\157\1\uffff\1\157\1\144\1\157\1\145\1\164\1\150\1\153\1\155\1\164\1\142\1\154\1\172\1\uffff\1\151\1\163\1\145\1\uffff\1\150\1\151\1\147\1\156\1\157\1\144\1\165\1\172\1\145\1\144\1\165\1\144\1\154\1\144\1\147\1\145\1\55\1\153\1\164\2\144\2\uffff\1\157\1\141\1\155\1\141\1\154\1\145\2\156\1\172\1\145\1\164\1\160\1\145\2\154\1\157\1\164\1\154\1\157\1\145\1\141\1\164\1\162\1\155\1\145\3\172\1\150\1\144\1\145\1\154\2\145\1\172\1\155\1\111\1\165\1\162\1\151\1\uffff\1\171\1\162\1\141\1\144\1\172\1\151\1\145\1\162\2\uffff\1\142\1\162\1\144\1\172\1\151\1\156\1\145\1\156\1\162\1\uffff\1\151\1\165\1\55\1\146\1\143\1\156\1\145\1\151\1\144\1\172\1\143\1\150\1\117\1\162\1\145\1\172\1\164\1\144\1\141\1\162\1\151\1\172\1\145\1\154\1\144\1\172\1\154\1\102\1\141\1\uffff\1\172\1\145\1\163\2\155\1\151\1\141\1\162\1\145\1\uffff\1\164\1\141\1\151\1\156\1\145\1\uffff\1\162\1\uffff\2\172\1\163\1\165\1\154\1\172\1\164\1\165\1\141\1\172\1\162\1\145\1\172\1\uffff\1\161\1\145\1\156\1\164\1\156\1\145\1\151\1\162\1\145\1\162\1\uffff\1\162\1\55\1\166\1\160\2\172\1\145\1\150\1\154\1\uffff\1\147\1\157\1\145\1\172\1\162\1\154\1\141\1\162\1\142\1\172\1\163\1\144\1\uffff\2\172\1\154\1\172\2\145\1\167\1\150\1\145\1\155\1\156\1\164\2\172\1\156\1\162\1\157\3\uffff\1\172\1\145\1\144\1\145\1\144\1\156\2\uffff\1\141\1\156\1\154\1\151\1\154\1\163\1\156\1\147\1\172\1\145\1\uffff\1\142\1\147\1\172\1\151\1\163\1\156\1\172\1\uffff\1\143\1\141\1\172\1\147\1\172\1\164\1\142\1\uffff\1\172\2\164\1\172\1\156\1\172\2\uffff\1\150\1\162\1\156\1\164\1\172\1\uffff\1\172\1\145\1\156\1\166\1\143\1\uffff\1\172\1\171\1\172\1\uffff\1\154\1\165\1\164\1\172\1\uffff\1\162\1\160\2\165\1\156\1\172\1\141\1\156\1\166\1\145\1\162\1\147\1\156\1\172\1\164\1\155\2\uffff\1\143\1\164\1\172\1\141\1\uffff\1\145\1\160\1\154\1\uffff\1\141\1\162\1\uffff\1\165\2\164\1\172\1\147\1\172\1\156\1\164\1\162\1\156\1\141\1\uffff\1\145\1\172\2\uffff\1\162\1\164\1\141\1\162\1\155\1\162\1\uffff\1\145\1\55\1\162\1\144\1\141\1\146\1\uffff\1\154\1\172\1\uffff\1\157\1\154\1\uffff\1\141\1\uffff\6\172\1\143\1\172\1\uffff\1\172\1\uffff\1\163\1\172\1\154\1\uffff\4\172\1\163\1\162\1\120\1\164\1\142\2\172\1\141\1\145\1\uffff\1\170\1\165\1\141\1\uffff\1\154\1\163\1\151\1\141\1\uffff\1\172\1\164\1\172\1\uffff\1\172\1\uffff\1\154\1\164\1\uffff\1\102\1\151\2\uffff\1\147\1\uffff\1\172\1\157\1\114\1\172\2\uffff\1\172\1\143\1\141\1\172\1\uffff\1\172\1\uffff\1\171\1\156\1\164\1\uffff\1\172\1\141\2\155\1\55\1\172\1\uffff\1\151\1\164\1\165\1\uffff\1\155\2\145\1\147\4\uffff\2\141\1\55\1\uffff\1\162\1\156\1\163\1\172\1\156\1\172\1\145\1\172\2\141\1\uffff\1\172\1\uffff\1\147\1\172\1\151\1\172\1\154\1\172\1\uffff\2\172\1\142\1\157\1\155\1\55\1\172\1\160\1\147\1\163\1\162\1\172\1\157\1\141\1\uffff\1\154\1\151\1\164\6\uffff\1\171\2\uffff\1\160\1\uffff\1\157\4\uffff\1\172\1\164\1\141\1\172\1\145\1\172\1\145\1\157\2\uffff\1\164\1\172\3\164\1\151\1\172\1\157\1\154\1\uffff\1\151\1\uffff\1\151\1\uffff\1\145\1\151\1\171\1\146\1\172\1\uffff\1\156\1\151\1\141\2\uffff\1\145\1\154\2\uffff\1\172\1\144\1\145\1\uffff\1\143\2\172\1\164\1\uffff\1\164\1\172\1\155\1\160\1\141\1\172\1\55\1\164\1\160\1\uffff\1\147\1\163\1\172\1\uffff\1\163\1\uffff\1\172\1\uffff\1\164\1\162\1\uffff\1\55\1\uffff\1\156\1\uffff\1\55\3\uffff\1\145\1\165\1\141\1\164\1\uffff\1\141\1\151\2\172\1\uffff\1\162\1\164\1\157\1\147\1\145\1\172\1\141\1\162\1\uffff\1\172\1\163\1\156\1\uffff\1\144\1\uffff\1\141\1\157\1\145\1\uffff\1\172\2\145\1\164\1\uffff\1\156\1\103\2\156\1\172\1\164\1\111\1\151\1\uffff\1\151\1\162\1\163\1\157\1\163\1\uffff\1\154\1\162\1\145\6\uffff\1\172\1\uffff\1\142\1\154\1\153\1\uffff\2\164\1\145\1\151\1\172\1\uffff\1\154\1\uffff\1\151\1\147\1\163\1\147\1\uffff\1\154\1\156\1\162\4\uffff\1\147\1\156\2\uffff\1\155\1\141\1\162\1\156\1\172\1\uffff\1\156\1\172\1\uffff\1\164\1\151\1\102\1\144\1\164\1\172\1\uffff\2\172\1\171\1\172\1\163\1\147\1\144\1\uffff\1\154\1\144\1\143\1\172\1\163\1\164\1\146\1\172\1\145\2\172\1\uffff\1\145\1\141\1\172\4\uffff\1\145\1\172\1\156\1\uffff\1\141\1\157\1\151\2\uffff\2\172\1\144\1\147\1\145\1\172\1\163\1\142\2\172\1\uffff\1\172\1\uffff\1\172\1\164\1\171\2\145\3\uffff\1\172\1\uffff\1\163\1\172\2\145\2\172\1\145\1\164\2\172\1\uffff\2\172\2\uffff\1\162\1\164\1\uffff\1\144\1\uffff\1\172\1\164\2\156\2\uffff\1\143\1\151\1\55\1\uffff\1\172\1\154\4\uffff\2\172\2\162\1\uffff\1\125\1\uffff\1\162\1\172\2\uffff\1\144\1\172\4\uffff\1\55\1\145\1\172\1\uffff\1\141\2\172\1\157\1\156\3\uffff\1\145\2\uffff\2\172\1\122\1\172\1\uffff\1\172\3\uffff\1\172\1\uffff\1\142\2\uffff\1\154\2\172\2\uffff\1\111\3\uffff\1\154\1\157\2\uffff\1\172\1\145\1\162\1\uffff\2\172\2\uffff";
+        "\1\uffff\1\76\1\174\1\46\1\165\1\157\1\166\1\75\1\76\5\75\1\76\1\56\1\72\1\151\1\170\1\171\1\164\1\162\1\157\1\170\1\163\1\157\3\165\2\171\1\162\1\164\2\uffff\1\151\10\uffff\1\72\1\170\1\154\1\172\5\uffff\1\75\6\uffff\1\163\1\165\1\172\1\156\1\151\1\164\1\uffff\1\166\1\172\1\171\1\164\1\167\3\172\1\157\2\164\1\172\1\164\1\147\1\164\20\uffff\1\75\5\uffff\1\74\4\uffff\2\162\1\163\2\172\1\163\1\171\1\160\1\156\1\162\1\151\1\157\1\154\1\172\1\151\1\156\1\157\1\160\1\164\1\141\1\157\1\172\1\155\1\170\1\157\1\162\1\172\2\156\1\170\1\144\3\172\2\162\1\146\1\147\1\141\1\55\1\146\1\154\1\155\1\172\1\124\1\171\1\146\1\147\1\157\1\162\1\155\1\167\1\172\1\154\1\164\1\151\1\55\1\163\1\156\1\164\1\167\1\164\1\144\1\172\1\146\1\167\1\160\1\171\1\170\1\164\1\142\1\162\1\156\2\157\1\155\1\151\1\144\2\uffff\1\144\1\151\13\uffff\1\154\6\uffff\1\164\1\162\1\143\1\156\1\165\1\uffff\1\164\1\154\1\160\1\145\1\143\1\151\1\164\1\142\1\uffff\1\150\1\153\1\145\1\163\1\141\1\143\1\141\1\172\1\141\1\145\3\uffff\1\162\1\151\1\157\1\165\1\uffff\2\162\1\145\4\uffff\2\172\1\164\1\151\1\145\1\uffff\1\145\1\uffff\1\145\1\164\1\154\1\151\1\145\1\172\1\164\1\163\1\151\2\145\1\154\1\160\1\151\1\145\1\164\1\143\1\167\1\157\1\147\1\150\1\164\1\145\1\154\1\156\1\uffff\1\163\1\151\2\145\1\141\1\155\1\172\2\164\1\uffff\1\157\1\144\2\151\1\147\1\151\3\uffff\1\164\1\143\1\172\1\145\1\153\1\144\1\151\1\163\1\157\1\172\1\157\1\uffff\1\157\1\144\1\157\1\145\1\164\1\150\1\153\1\155\1\164\1\142\1\154\1\172\1\uffff\1\151\1\163\1\145\1\uffff\1\150\1\151\1\147\1\156\1\157\1\144\1\165\1\172\1\164\2\144\1\55\1\153\2\uffff\1\157\1\172\2\141\1\154\1\145\2\156\1\172\1\145\1\164\1\160\1\145\2\154\1\157\1\145\1\144\1\165\1\144\1\154\1\144\1\147\1\145\1\164\1\154\1\157\1\145\1\141\1\164\1\162\1\155\1\145\3\172\1\150\1\144\1\145\1\154\2\145\1\172\1\155\1\111\1\165\1\162\1\151\1\uffff\1\171\1\162\1\141\1\144\1\172\1\141\1\151\1\145\1\162\2\uffff\1\151\1\142\1\162\1\144\1\172\1\151\1\156\1\145\1\156\1\162\1\uffff\1\151\1\165\1\55\1\146\1\143\1\156\1\145\1\151\1\144\1\172\1\143\1\150\1\117\1\162\1\145\1\172\1\164\1\144\1\141\1\162\1\151\1\172\1\145\1\154\1\144\1\172\1\154\1\102\1\141\1\uffff\1\172\1\145\1\163\1\154\2\155\1\151\1\141\1\162\1\145\1\uffff\1\164\1\141\1\151\1\156\1\145\1\uffff\1\162\1\uffff\2\172\1\163\1\165\1\154\1\172\1\164\1\165\1\141\1\172\1\162\1\145\1\172\1\uffff\1\161\1\145\1\156\1\164\1\156\1\145\1\151\1\162\1\145\1\162\1\uffff\1\157\1\145\1\172\1\uffff\1\147\1\162\1\141\1\uffff\1\154\1\162\1\142\1\172\1\163\1\144\1\uffff\2\172\1\154\1\172\2\145\1\167\1\162\1\55\1\166\1\160\2\172\1\145\1\150\1\154\1\150\1\145\1\155\1\156\1\164\2\172\1\156\1\162\1\157\3\uffff\1\172\1\145\1\144\1\145\1\144\1\156\2\uffff\1\141\1\156\1\154\1\151\1\154\1\163\1\156\1\147\1\172\1\145\1\uffff\1\154\1\142\1\147\1\172\1\143\1\151\1\163\1\156\1\172\1\uffff\1\143\1\141\1\172\1\147\1\172\1\164\1\142\1\uffff\1\172\2\164\1\172\1\156\1\172\2\uffff\1\150\1\162\1\156\1\164\1\172\1\uffff\1\172\1\145\1\156\1\166\1\143\1\uffff\1\172\1\171\1\172\1\uffff\1\154\1\165\1\164\1\172\1\uffff\1\162\1\160\1\145\2\165\1\156\1\172\1\141\1\156\1\166\1\145\1\162\1\147\1\156\1\172\1\164\1\155\2\uffff\1\143\1\164\1\172\1\141\1\uffff\1\145\1\160\1\154\1\uffff\1\141\1\162\1\uffff\1\165\2\164\1\172\1\147\1\172\1\156\1\164\1\162\1\156\1\155\1\162\1\uffff\1\162\1\145\1\162\1\55\1\144\1\141\1\146\1\uffff\1\154\1\172\1\uffff\1\157\1\154\1\uffff\1\141\1\uffff\3\172\1\141\1\uffff\1\145\1\172\2\uffff\1\162\1\164\1\141\3\172\1\143\1\172\1\uffff\1\172\1\uffff\1\163\1\172\1\154\1\uffff\4\172\1\163\1\162\1\120\1\164\1\142\2\172\1\141\1\145\1\uffff\1\170\1\55\1\165\1\141\1\uffff\1\141\1\154\1\163\1\151\1\141\1\uffff\1\172\1\164\1\172\1\uffff\1\172\1\uffff\1\154\1\164\1\uffff\1\102\1\151\2\uffff\1\147\1\uffff\1\172\1\157\1\114\1\172\2\uffff\1\172\1\143\1\141\1\172\1\uffff\1\172\1\uffff\1\171\1\156\1\164\1\uffff\1\172\1\141\1\172\2\155\1\55\1\172\1\uffff\1\151\1\164\1\165\1\uffff\1\155\2\145\1\147\4\uffff\2\141\1\55\1\uffff\1\162\1\156\1\163\1\172\1\156\1\172\1\145\1\172\2\141\1\uffff\1\172\1\uffff\1\147\1\172\1\151\2\172\1\55\1\157\1\172\1\147\1\160\1\163\1\162\1\172\1\157\1\141\1\uffff\1\154\1\151\1\164\3\uffff\1\154\1\172\1\uffff\2\172\1\142\3\uffff\1\171\2\uffff\1\160\1\uffff\1\157\4\uffff\1\172\1\164\1\141\1\172\1\145\1\172\2\uffff\1\164\1\172\4\164\1\154\1\151\1\172\1\157\1\154\1\uffff\1\151\1\uffff\1\151\1\uffff\1\145\1\151\1\171\1\146\1\172\1\uffff\1\156\1\151\1\141\2\uffff\1\145\1\154\2\uffff\1\172\1\144\1\145\1\uffff\1\143\1\uffff\2\172\1\164\1\uffff\1\164\1\172\1\155\1\160\1\141\1\172\1\55\1\164\1\160\1\uffff\1\147\1\163\1\172\1\uffff\1\163\1\uffff\1\172\1\uffff\1\164\1\162\1\uffff\1\55\2\uffff\1\156\1\uffff\1\141\1\uffff\1\164\1\165\1\uffff\1\151\1\141\2\172\1\uffff\1\162\1\164\1\157\1\147\1\145\1\55\3\uffff\1\145\1\172\1\141\1\162\1\uffff\1\172\1\163\1\156\1\uffff\1\144\1\uffff\1\145\1\uffff\1\172\2\uffff\2\145\1\141\1\164\1\uffff\1\156\1\103\2\156\1\172\1\164\1\111\1\151\1\uffff\1\151\1\162\1\163\1\157\1\163\1\uffff\1\154\1\162\1\145\6\uffff\1\172\1\uffff\1\142\1\154\1\153\1\uffff\2\164\1\145\1\151\1\172\1\uffff\1\154\1\uffff\1\151\1\147\1\163\1\147\1\162\4\uffff\2\156\1\147\2\uffff\1\155\1\141\1\162\1\156\1\172\1\uffff\1\154\1\uffff\1\156\1\172\1\uffff\1\164\1\151\1\102\1\172\1\uffff\2\172\1\154\1\171\1\172\1\163\1\147\1\144\1\uffff\1\154\1\144\1\143\1\172\1\163\1\164\1\146\1\172\1\145\2\172\1\uffff\1\145\1\141\1\172\4\uffff\1\145\1\172\1\156\1\uffff\1\141\1\157\1\151\2\uffff\1\172\1\147\1\144\1\172\1\145\1\163\1\142\2\172\1\uffff\2\172\1\uffff\1\172\1\164\1\171\3\uffff\1\151\1\172\1\uffff\1\163\1\172\2\145\2\172\1\145\1\164\2\172\1\uffff\2\172\2\uffff\1\162\1\164\1\uffff\1\144\1\uffff\1\172\1\164\2\156\1\uffff\1\151\1\143\1\uffff\1\55\1\172\1\154\5\uffff\2\172\1\147\1\uffff\1\125\1\uffff\1\162\1\172\2\uffff\1\144\1\172\4\uffff\1\55\1\145\1\172\1\uffff\1\141\2\172\1\156\1\157\3\uffff\1\145\2\uffff\1\156\1\122\1\172\1\uffff\1\172\3\uffff\1\172\1\uffff\1\142\2\uffff\1\172\1\154\2\172\1\111\3\uffff\1\154\1\uffff\1\157\2\uffff\1\172\1\145\1\162\1\uffff\2\172\2\uffff";
     static final String DFA21_acceptS =
-        "\41\uffff\1\161\1\162\1\uffff\1\u00c0\1\u00c1\1\u00d6\1\u00d7\1\u00d8\1\u00d9\1\u00da\1\u00db\4\uffff\1\u0102\2\u0103\1\u0106\1\u0107\1\uffff\1\27\1\1\1\2\1\u00fc\1\3\1\u00f0\6\uffff\1\u0102\16\uffff\1\10\1\41\1\32\1\11\1\24\1\42\1\33\1\12\1\35\1\34\1\13\1\u0104\1\u0105\1\36\1\14\1\37\1\uffff\1\40\1\21\1\22\1\30\1\23\1\uffff\1\43\1\31\1\u00fb\1\u00ef\115\uffff\1\161\1\162\2\uffff\1\u00c0\1\u00c1\1\u00d6\1\u00d7\1\u00d8\1\u00d9\1\u00da\1\u00db\1\u00fa\1\u00e0\1\u00ff\1\uffff\1\u0100\1\u0101\1\u0103\1\u0106\1\17\1\15\5\uffff\1\54\10\uffff\1\u00e5\12\uffff\1\63\1\64\1\65\3\uffff\1\u00b1\3\uffff\1\20\1\16\1\25\1\26\4\uffff\1\61\1\uffff\1\60\31\uffff\1\u00dd\11\uffff\1\53\5\uffff\1\55\1\57\1\62\13\uffff\1\u009f\14\uffff\1\u00f9\3\uffff\1\u00be\25\uffff\1\u0085\1\u00b8\50\uffff\1\7\10\uffff\1\44\1\u00fd\11\uffff\1\117\35\uffff\1\u00e3\11\uffff\1\114\5\uffff\1\71\1\uffff\1\155\15\uffff\1\u00e6\12\uffff\1\u00b3\11\uffff\1\130\14\uffff\1\u00eb\21\uffff\1\u00b4\1\154\1\u00e2\6\uffff\1\u00a3\1\u00a2\12\uffff\1\124\7\uffff\1\u00de\7\uffff\1\100\6\uffff\1\152\1\u008b\5\uffff\1\56\5\uffff\1\u00cd\3\uffff\1\u00a9\4\uffff\1\u0089\20\uffff\1\u009e\1\u00c9\4\uffff\1\102\3\uffff\1\134\2\uffff\1\u00e7\13\uffff\1\132\2\uffff\1\u00b0\1\113\6\uffff\1\u00f1\6\uffff\1\175\2\uffff\1\u00fe\2\uffff\1\u00d2\1\uffff\1\u00a4\10\uffff\1\115\1\uffff\1\u0083\3\uffff\1\u00ee\15\uffff\1\126\3\uffff\1\u00c7\4\uffff\1\156\3\uffff\1\u008c\1\uffff\1\51\2\uffff\1\101\2\uffff\1\153\1\u00d5\1\uffff\1\135\4\uffff\1\u00d4\1\143\4\uffff\1\52\1\uffff\1\107\3\uffff\1\170\6\uffff\1\172\3\uffff\1\151\4\uffff\1\157\1\66\1\67\1\70\3\uffff\1\u00d1\12\uffff\1\104\1\uffff\1\142\6\uffff\1\u00b7\16\uffff\1\u00ce\3\uffff\1\u00bf\1\u00b6\1\u00e9\1\u00b2\1\u00e4\1\4\1\uffff\1\6\1\167\1\uffff\1\103\1\uffff\1\5\1\136\1\140\1\137\10\uffff\1\u00ae\1\125\11\uffff\1\46\1\uffff\1\173\1\uffff\1\u00cb\5\uffff\1\u00df\3\uffff\1\47\1\u00c8\2\uffff\1\75\1\u008a\3\uffff\1\u00af\4\uffff\1\171\11\uffff\1\163\3\uffff\1\74\1\uffff\1\u00a1\1\uffff\1\144\2\uffff\1\127\1\uffff\1\u00a0\1\uffff\1\u00ea\1\uffff\1\141\1\u00ac\1\u00ad\4\uffff\1\u00c6\4\uffff\1\u00e8\10\uffff\1\u0084\3\uffff\1\u00e1\1\uffff\1\u00b9\3\uffff\1\120\4\uffff\1\45\10\uffff\1\131\5\uffff\1\u00ec\3\uffff\1\121\1\122\1\u009a\1\u009b\1\u009c\1\u009d\1\uffff\1\110\3\uffff\1\160\5\uffff\1\u00bb\1\uffff\1\76\4\uffff\1\106\3\uffff\1\u0092\1\u0093\1\u0094\1\u0095\2\uffff\1\u0088\1\u00a7\5\uffff\1\112\2\uffff\1\u00a5\6\uffff\1\u00d3\7\uffff\1\u00cf\13\uffff\1\72\3\uffff\1\u0096\1\u0097\1\u0098\1\u0099\3\uffff\1\u0086\3\uffff\1\116\1\123\12\uffff\1\u00aa\1\uffff\1\u00cc\5\uffff\1\u008f\1\u00bc\1\u00bd\1\uffff\1\50\12\uffff\1\u00ba\2\uffff\1\u008d\1\77\2\uffff\1\u00c5\1\uffff\1\73\4\uffff\1\u00a6\1\u00f7\3\uffff\1\177\2\uffff\1\u0090\1\u0091\1\u00b5\1\u00ca\4\uffff\1\u00f8\1\uffff\1\133\2\uffff\1\u00f2\1\111\2\uffff\1\u00f4\1\u00dc\1\165\1\166\3\uffff\1\u0080\5\uffff\1\150\1\146\1\u0087\1\uffff\1\u00a8\1\u00ab\4\uffff\1\u00d0\1\uffff\1\u00f3\1\147\1\145\1\uffff\1\105\1\uffff\1\176\1\u0082\3\uffff\1\u00f5\1\u00f6\1\uffff\1\u00c4\1\u00ed\1\174\2\uffff\1\u0081\1\u00c2\3\uffff\1\164\2\uffff\1\u00c3\1\u008e";
+        "\41\uffff\1\167\1\170\1\uffff\1\u00c7\1\u00c8\1\u00dd\1\u00de\1\u00df\1\u00e0\1\u00e1\1\u00e2\4\uffff\1\u0107\2\u0108\1\u010b\1\u010c\1\uffff\1\27\1\1\1\2\1\u0101\1\3\1\u00f7\6\uffff\1\u0107\17\uffff\1\10\1\41\1\32\1\11\1\24\1\42\1\33\1\12\1\35\1\34\1\13\1\u0109\1\u010a\1\36\1\14\1\37\1\uffff\1\40\1\21\1\22\1\30\1\23\1\uffff\1\43\1\31\1\u0100\1\u00f6\116\uffff\1\167\1\170\2\uffff\1\u00c7\1\u00c8\1\u00dd\1\u00de\1\u00df\1\u00e0\1\u00e1\1\u00e2\1\u00ff\1\u00e7\1\u0104\1\uffff\1\u0105\1\u0106\1\u0108\1\u010b\1\17\1\15\5\uffff\1\54\10\uffff\1\u00ec\12\uffff\1\63\1\64\1\65\4\uffff\1\u00b8\3\uffff\1\20\1\16\1\25\1\26\5\uffff\1\61\1\uffff\1\60\31\uffff\1\u00e4\11\uffff\1\53\6\uffff\1\55\1\57\1\62\13\uffff\1\u00a6\14\uffff\1\u00fe\3\uffff\1\u00c5\15\uffff\1\u008b\1\u00bf\60\uffff\1\7\11\uffff\1\44\1\u0102\12\uffff\1\122\35\uffff\1\u00ea\12\uffff\1\117\5\uffff\1\71\1\uffff\1\163\15\uffff\1\u00ed\12\uffff\1\u00ba\3\uffff\1\133\3\uffff\1\107\6\uffff\1\u00f2\32\uffff\1\u00bb\1\162\1\u00e9\6\uffff\1\u00aa\1\u00a9\12\uffff\1\127\11\uffff\1\u00e5\7\uffff\1\100\6\uffff\1\160\1\u0091\5\uffff\1\56\5\uffff\1\u00d4\3\uffff\1\u00b0\4\uffff\1\u008f\21\uffff\1\u00a5\1\u00d0\4\uffff\1\102\3\uffff\1\137\2\uffff\1\u00ee\14\uffff\1\u00f8\7\uffff\1\u0083\2\uffff\1\u0103\2\uffff\1\u00d9\1\uffff\1\u00ab\4\uffff\1\135\2\uffff\1\u00b7\1\116\10\uffff\1\120\1\uffff\1\u0089\3\uffff\1\u00f5\15\uffff\1\131\4\uffff\1\u00ce\5\uffff\1\164\3\uffff\1\u0092\1\uffff\1\51\2\uffff\1\101\2\uffff\1\161\1\u00dc\1\uffff\1\140\4\uffff\1\u00db\1\146\4\uffff\1\52\1\uffff\1\112\3\uffff\1\176\7\uffff\1\u0080\3\uffff\1\154\4\uffff\1\165\1\66\1\67\1\70\3\uffff\1\u00d8\12\uffff\1\104\1\uffff\1\145\17\uffff\1\u00d5\3\uffff\1\u00c6\1\u00bd\1\u00f0\2\uffff\1\u00be\3\uffff\1\u00b9\1\u00eb\1\4\1\uffff\1\6\1\175\1\uffff\1\103\1\uffff\1\5\1\141\1\143\1\142\6\uffff\1\u00b5\1\130\13\uffff\1\46\1\uffff\1\u0081\1\uffff\1\u00d2\5\uffff\1\u00e6\3\uffff\1\47\1\u00cf\2\uffff\1\75\1\u0090\3\uffff\1\u00b6\1\uffff\1\106\3\uffff\1\177\11\uffff\1\171\3\uffff\1\74\1\uffff\1\u00a8\1\uffff\1\147\2\uffff\1\132\1\uffff\1\157\1\u00a7\1\uffff\1\u00f1\1\uffff\1\105\2\uffff\1\u00cd\4\uffff\1\u00ef\6\uffff\1\144\1\u00b3\1\u00b4\4\uffff\1\u008a\3\uffff\1\u00e8\1\uffff\1\u00c0\1\uffff\1\123\1\uffff\1\155\1\156\4\uffff\1\45\10\uffff\1\134\5\uffff\1\u00f3\3\uffff\1\124\1\125\1\u00a1\1\u00a2\1\u00a3\1\u00a4\1\uffff\1\113\3\uffff\1\166\5\uffff\1\u00c2\1\uffff\1\76\5\uffff\1\u0099\1\u009a\1\u009b\1\u009c\3\uffff\1\u008e\1\u00ae\5\uffff\1\111\1\uffff\1\115\2\uffff\1\u00ac\4\uffff\1\u00da\10\uffff\1\u00d6\13\uffff\1\72\3\uffff\1\u009d\1\u009e\1\u009f\1\u00a0\3\uffff\1\u008c\3\uffff\1\121\1\126\11\uffff\1\u00b1\2\uffff\1\u00d3\3\uffff\1\u0095\1\u00c3\1\u00c4\2\uffff\1\50\12\uffff\1\u00c1\2\uffff\1\u0093\1\77\2\uffff\1\u00cc\1\uffff\1\73\4\uffff\1\u00ad\2\uffff\1\u0085\3\uffff\1\u0096\1\u0097\1\u00fc\1\u00bc\1\u00d1\3\uffff\1\u00fd\1\uffff\1\136\2\uffff\1\u00f9\1\114\2\uffff\1\u00fb\1\u00e3\1\173\1\174\3\uffff\1\u0086\5\uffff\1\153\1\151\1\u008d\1\uffff\1\u00af\1\u00b2\3\uffff\1\u00d7\1\uffff\1\u00fa\1\152\1\150\1\uffff\1\110\1\uffff\1\u0084\1\u0088\5\uffff\1\u00cb\1\u00f4\1\u0082\1\uffff\1\u0087\1\uffff\1\u00c9\1\u0098\3\uffff\1\172\2\uffff\1\u00ca\1\u0094";
     static final String DFA21_specialS =
-        "\1\0\u047b\uffff}>";
+        "\1\0\u048a\uffff}>";
     static final String[] DFA21_transitionS = {
-            "\11\64\2\63\2\64\1\63\22\64\1\63\1\14\1\61\1\52\1\60\1\13\1\3\1\62\1\44\1\45\1\11\1\7\1\50\1\10\1\17\1\12\1\55\11\56\1\54\1\46\1\16\1\1\1\15\1\20\1\47\32\60\1\53\1\64\1\51\1\57\1\60\1\64\1\6\1\37\1\4\1\5\1\22\1\25\1\35\1\36\1\24\2\60\1\31\1\26\1\32\1\33\1\27\1\60\1\34\1\23\1\40\1\30\1\21\1\43\3\60\1\41\1\2\1\42\uff82\64",
+            "\11\64\2\63\2\64\1\63\22\64\1\63\1\14\1\61\1\52\1\60\1\13\1\3\1\62\1\44\1\45\1\11\1\7\1\50\1\10\1\17\1\12\1\55\11\56\1\54\1\46\1\16\1\1\1\15\1\20\1\47\32\60\1\53\1\64\1\51\1\57\1\60\1\64\1\6\1\35\1\4\1\5\1\22\1\25\1\37\1\40\1\24\2\60\1\31\1\26\1\32\1\33\1\27\1\60\1\34\1\23\1\36\1\30\1\21\1\43\3\60\1\41\1\2\1\42\uff82\64",
             "\1\65\1\66",
             "\1\70",
             "\1\72",
             "\1\101\3\uffff\1\77\6\uffff\1\100\1\76\1\uffff\1\75\5\uffff\1\74",
             "\1\105\3\uffff\1\106\3\uffff\1\103\5\uffff\1\104",
-            "\1\111\1\110\1\112\60\uffff\1\120\1\117\4\uffff\1\107\6\uffff\1\115\1\116\1\114\1\113",
-            "\1\122\21\uffff\1\121",
-            "\1\126\17\uffff\1\124\1\125",
-            "\1\131\22\uffff\1\130",
-            "\1\134\4\uffff\1\135\15\uffff\1\133",
-            "\1\137",
-            "\1\141",
-            "\1\143",
-            "\1\145",
-            "\1\147",
-            "\1\152\13\uffff\1\151",
-            "\1\154\7\uffff\1\155",
-            "\1\160\1\157\12\uffff\1\156",
-            "\1\163\1\uffff\1\165\1\uffff\1\164\2\uffff\1\173\1\170\2\uffff\1\166\2\uffff\1\167\4\uffff\1\161\1\162\1\uffff\1\171\1\uffff\1\172",
-            "\1\177\2\uffff\1\u0080\6\uffff\1\174\1\175\5\uffff\1\176",
-            "\1\u0081\7\uffff\1\u0082\5\uffff\1\u0084\2\uffff\1\u0083",
-            "\1\u0088\3\uffff\1\u0089\3\uffff\1\u0087\3\uffff\1\u0085\1\uffff\1\u0086",
-            "\1\u0090\1\uffff\1\u008b\1\u008f\1\u008e\6\uffff\1\u0091\2\uffff\1\u008d\4\uffff\1\u008a\3\uffff\1\u008c",
-            "\1\u0096\4\uffff\1\u0093\1\u0095\1\u0097\1\uffff\1\u0094\1\u0092",
-            "\1\u0098\3\uffff\1\u0099\3\uffff\1\u009a\5\uffff\1\u009b",
-            "\1\u009e\11\uffff\1\u009c\3\uffff\1\u009f\1\uffff\1\u009d",
-            "\1\u00a0\13\uffff\1\u00a3\3\uffff\1\u00a2\2\uffff\1\u00a1",
-            "\1\u00a6\3\uffff\1\u00a4\5\uffff\1\u00a7\5\uffff\1\u00a5",
-            "\1\u00a8\11\uffff\1\u00a9\2\uffff\1\u00aa",
-            "\1\u00ac\3\uffff\1\u00ad\12\uffff\1\u00ab",
-            "\1\u00ae\3\uffff\1\u00b1\11\uffff\1\u00af\11\uffff\1\u00b0",
-            "\1\u00b7\3\uffff\1\u00b5\2\uffff\1\u00b8\1\u00b6\5\uffff\1\u00b2\2\uffff\1\u00b4\6\uffff\1\u00b3",
+            "\1\111\1\110\1\112\55\uffff\1\115\2\uffff\1\121\1\120\4\uffff\1\107\6\uffff\1\116\1\117\1\114\1\113",
+            "\1\123\21\uffff\1\122",
+            "\1\127\17\uffff\1\125\1\126",
+            "\1\132\22\uffff\1\131",
+            "\1\135\4\uffff\1\136\15\uffff\1\134",
+            "\1\140",
+            "\1\142",
+            "\1\144",
+            "\1\146",
+            "\1\150",
+            "\1\153\13\uffff\1\152",
+            "\1\155\3\uffff\1\156\3\uffff\1\157",
+            "\1\162\1\161\12\uffff\1\160",
+            "\1\165\1\uffff\1\167\1\uffff\1\166\2\uffff\1\175\1\172\2\uffff\1\170\2\uffff\1\171\4\uffff\1\163\1\164\1\uffff\1\173\1\uffff\1\174",
+            "\1\u0081\2\uffff\1\u0082\6\uffff\1\176\1\177\5\uffff\1\u0080",
+            "\1\u0083\7\uffff\1\u0084\5\uffff\1\u0086\2\uffff\1\u0085",
+            "\1\u008a\3\uffff\1\u008b\3\uffff\1\u0089\3\uffff\1\u0087\1\uffff\1\u0088",
+            "\1\u0092\1\uffff\1\u008d\1\u0091\1\u0090\6\uffff\1\u0093\2\uffff\1\u008f\4\uffff\1\u008c\3\uffff\1\u008e",
+            "\1\u0098\4\uffff\1\u0095\1\u0097\1\u0099\1\uffff\1\u0096\1\u0094",
+            "\1\u009a\3\uffff\1\u009b\3\uffff\1\u009c\5\uffff\1\u009d",
+            "\1\u00a0\11\uffff\1\u009e\3\uffff\1\u00a1\1\uffff\1\u009f",
+            "\1\u00a2\13\uffff\1\u00a5\3\uffff\1\u00a4\2\uffff\1\u00a3",
+            "\1\u00a8\3\uffff\1\u00a6\5\uffff\1\u00a9\5\uffff\1\u00a7",
+            "\1\u00ab\3\uffff\1\u00ad\11\uffff\1\u00aa\11\uffff\1\u00ac",
+            "\1\u00b3\3\uffff\1\u00b1\2\uffff\1\u00b4\1\u00b2\5\uffff\1\u00ae\2\uffff\1\u00b0\6\uffff\1\u00af",
+            "\1\u00b5\11\uffff\1\u00b6\2\uffff\1\u00b7",
+            "\1\u00b9\3\uffff\1\u00ba\12\uffff\1\u00b8",
             "",
             "",
-            "\1\u00bc\1\u00bb",
+            "\1\u00be\1\u00bd",
             "",
             "",
             "",
@@ -8352,229 +8497,226 @@
             "",
             "",
             "",
-            "\1\u00c5",
-            "\12\u00c8\10\uffff\1\u00ca\1\uffff\3\u00ca\5\uffff\1\u00ca\13\uffff\1\u00c7\6\uffff\1\u00c8\2\uffff\1\u00ca\1\uffff\3\u00ca\5\uffff\1\u00ca\13\uffff\1\u00c7",
-            "\12\u00c8\10\uffff\1\u00ca\1\uffff\3\u00ca\5\uffff\1\u00ca\22\uffff\1\u00c8\2\uffff\1\u00ca\1\uffff\3\u00ca\5\uffff\1\u00ca",
+            "\1\u00c7",
+            "\12\u00ca\10\uffff\1\u00cc\1\uffff\3\u00cc\5\uffff\1\u00cc\13\uffff\1\u00c9\6\uffff\1\u00ca\2\uffff\1\u00cc\1\uffff\3\u00cc\5\uffff\1\u00cc\13\uffff\1\u00c9",
+            "\12\u00ca\10\uffff\1\u00cc\1\uffff\3\u00cc\5\uffff\1\u00cc\22\uffff\1\u00ca\2\uffff\1\u00cc\1\uffff\3\u00cc\5\uffff\1\u00cc",
             "\1\102\34\uffff\32\102\4\uffff\1\102\1\uffff\32\102",
             "",
             "",
             "",
             "",
             "",
-            "\1\u00cd",
+            "\1\u00cf",
             "",
             "",
             "",
             "",
             "",
             "",
-            "\1\u00d0\1\u00cf",
-            "\1\u00d3\1\uffff\1\u00d1\6\uffff\1\u00d2",
+            "\1\u00d2\1\u00d1",
+            "\1\u00d5\1\uffff\1\u00d3\6\uffff\1\u00d4",
             "\1\102\13\uffff\12\102\7\uffff\32\102\4\uffff\1\102\1\uffff\32\102",
-            "\1\u00d6\1\uffff\1\u00d5",
-            "\1\u00d7",
-            "\1\u00d8\1\u00d9",
+            "\1\u00d8\1\uffff\1\u00d7",
+            "\1\u00d9",
+            "\1\u00da\1\u00db",
             "",
-            "\1\u00da",
-            "\1\102\13\uffff\12\102\7\uffff\32\102\4\uffff\1\102\1\uffff\23\102\1\u00db\1\u00dc\5\102",
-            "\1\u00df\1\u00de\1\u00e0\4\uffff\1\u00e1",
-            "\1\u00e2\14\uffff\1\u00e3\1\u00e4",
-            "\1\u00e5\7\uffff\1\u00e7\2\uffff\1\u00e6",
+            "\1\u00dc",
+            "\1\102\13\uffff\12\102\7\uffff\32\102\4\uffff\1\102\1\uffff\23\102\1\u00dd\1\u00de\5\102",
+            "\1\u00e1\1\u00e0\1\u00e2\4\uffff\1\u00e3",
+            "\1\u00e4\14\uffff\1\u00e5\1\u00e6",
+            "\1\u00e7\7\uffff\1\u00e9\2\uffff\1\u00e8",
             "\1\102\13\uffff\12\102\7\uffff\32\102\4\uffff\1\102\1\uffff\32\102",
             "\1\102\13\uffff\12\102\7\uffff\32\102\4\uffff\1\102\1\uffff\32\102",
             "\1\102\13\uffff\12\102\7\uffff\32\102\4\uffff\1\102\1\uffff\32\102",
-            "\1\u00eb\11\uffff\1\u00ec",
-            "\1\u00ed",
-            "\1\102\13\uffff\12\102\7\uffff\32\102\4\uffff\1\102\1\uffff\32\102",
+            "\1\u00ed\11\uffff\1\u00ee",
             "\1\u00ef",
             "\1\u00f0",
-            "\1\u00f1",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
+            "\1\102\13\uffff\12\102\7\uffff\32\102\4\uffff\1\102\1\uffff\32\102",
             "\1\u00f2",
-            "",
-            "",
-            "",
-            "",
-            "",
+            "\1\u00f3",
             "\1\u00f4",
             "",
             "",
             "",
             "",
-            "\1\u00f6\5\uffff\1\u00f7",
-            "\1\u00f8",
-            "\1\102\13\uffff\12\102\7\uffff\32\102\4\uffff\1\102\1\uffff\23\102\1\u00f9\6\102",
-            "\1\102\13\uffff\12\102\7\uffff\32\102\4\uffff\1\102\1\uffff\1\102\1\u00fb\30\102",
-            "\1\u00fd",
-            "\1\u00fe\20\uffff\1\u0100\6\uffff\1\u00ff",
-            "\1\u0103\12\uffff\1\u0102\2\uffff\1\u0101",
-            "\1\u0104",
-            "\1\u0106\5\uffff\1\u0105",
-            "\1\u0108\7\uffff\1\u0107",
-            "\1\u0109",
-            "\1\u010a",
-            "\1\u010b",
-            "\1\u010c",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "\1\u00f5",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "\1\u00f7",
+            "",
+            "",
+            "",
+            "",
+            "\1\u00f9\5\uffff\1\u00fa",
+            "\1\u00fb",
+            "\1\u00fc",
+            "\1\102\13\uffff\12\102\7\uffff\32\102\4\uffff\1\102\1\uffff\23\102\1\u00fd\6\102",
+            "\1\102\13\uffff\12\102\7\uffff\32\102\4\uffff\1\102\1\uffff\1\102\1\u00ff\30\102",
+            "\1\u0101",
+            "\1\u0102\20\uffff\1\u0104\6\uffff\1\u0103",
+            "\1\u0107\12\uffff\1\u0106\2\uffff\1\u0105",
+            "\1\u0108",
+            "\1\u010a\5\uffff\1\u0109",
+            "\1\u010c\7\uffff\1\u010b",
             "\1\u010d",
             "\1\u010e",
-            "\1\u0110\16\uffff\1\u010f",
-            "\1\u0111\17\uffff\1\u0112\1\u0113",
-            "\1\u0114",
-            "\1\u0115",
+            "\1\u010f",
+            "\1\u0110",
+            "\1\u0111",
+            "\1\u0112",
+            "\1\u0114\16\uffff\1\u0113",
+            "\1\u0115\17\uffff\1\u0116\1\u0117",
+            "\1\u0118",
+            "\1\u0119",
             "\1\102\13\uffff\12\102\7\uffff\32\102\4\uffff\1\102\1\uffff\32\102",
-            "\1\u0117\1\u0118",
-            "\1\u011a\1\uffff\1\u011b\11\uffff\1\u0119",
-            "\1\u011c",
-            "\1\u011e\1\u011f\2\uffff\1\u011d",
+            "\1\u011b\1\u011c",
+            "\1\u011e\1\uffff\1\u011f\11\uffff\1\u011d",
+            "\1\u0120",
+            "\1\u0122\1\u0123\2\uffff\1\u0121",
             "\1\102\13\uffff\12\102\7\uffff\32\102\4\uffff\1\102\1\uffff\32\102",
-            "\1\u0121",
-            "\1\u0122",
-            "\1\u0124\5\uffff\1\u0123",
             "\1\u0125",
-            "\1\102\13\uffff\12\102\7\uffff\32\102\4\uffff\1\102\1\uffff\32\102",
-            "\1\102\13\uffff\12\102\7\uffff\32\102\4\uffff\1\102\1\uffff\32\102",
-            "\1\102\13\uffff\12\102\7\uffff\32\102\4\uffff\1\102\1\uffff\32\102",
-            "\1\u0129",
+            "\1\u0126\11\uffff\1\u0127",
+            "\1\u0129\5\uffff\1\u0128",
             "\1\u012a",
-            "\1\u012b",
-            "\1\u012d\1\u012e\2\uffff\1\u012c",
+            "\1\102\13\uffff\12\102\7\uffff\32\102\4\uffff\1\102\1\uffff\32\102",
+            "\1\102\13\uffff\12\102\7\uffff\32\102\4\uffff\1\102\1\uffff\32\102",
+            "\1\102\13\uffff\12\102\7\uffff\32\102\4\uffff\1\102\1\uffff\32\102",
+            "\1\u012e",
             "\1\u012f",
             "\1\u0130",
-            "\1\u0131",
-            "\1\u0132",
-            "\1\u0133",
-            "\1\102\13\uffff\12\102\7\uffff\32\102\4\uffff\1\102\1\uffff\32\102",
+            "\1\u0132\1\u0133\2\uffff\1\u0131",
+            "\1\u0134",
             "\1\u0135",
-            "\1\u0138\13\uffff\1\u0136\12\uffff\1\u0137",
-            "\1\u0139",
-            "\1\u013a",
-            "\1\u013b",
-            "\1\u013d\3\uffff\1\u013c",
-            "\1\u013f\1\u013e",
-            "\1\u0140",
+            "\1\u0136",
+            "\1\u0137",
+            "\1\u0138",
             "\1\102\13\uffff\12\102\7\uffff\32\102\4\uffff\1\102\1\uffff\32\102",
-            "\1\u0142",
-            "\1\u0143",
-            "\1\u0144",
+            "\1\u013a",
+            "\1\u013d\13\uffff\1\u013b\12\uffff\1\u013c",
+            "\1\u013e",
+            "\1\u013f",
+            "\1\u0140",
+            "\1\u0142\3\uffff\1\u0141",
+            "\1\u0144\1\u0143",
             "\1\u0145",
-            "\1\u0148\2\uffff\1\u0146\13\uffff\1\u0147",
+            "\1\102\13\uffff\12\102\7\uffff\32\102\4\uffff\1\102\1\uffff\32\102",
+            "\1\u0147",
+            "\1\u0148",
             "\1\u0149",
-            "\1\u014b\1\uffff\1\u014a\3\uffff\1\u014c",
-            "\1\u014d",
+            "\1\u014a",
+            "\1\u014d\2\uffff\1\u014b\13\uffff\1\u014c",
             "\1\u014e",
-            "\1\u014f",
-            "\1\u0151\5\uffff\1\u0150",
+            "\1\u0150\1\uffff\1\u014f\3\uffff\1\u0151",
             "\1\u0152",
-            "\1\u0153\7\uffff\1\u0154",
-            "\1\u0155",
+            "\1\u0155\5\uffff\1\u0154\1\uffff\1\u0153",
             "\1\u0157\1\u0156",
-            "\1\u015a\5\uffff\1\u0159\1\uffff\1\u0158",
-            "\1\102\10\uffff\1\u015b\2\uffff\12\102\7\uffff\32\102\4\uffff\1\102\1\uffff\32\102",
-            "\1\u015d",
-            "\1\u0161\1\u015f\3\uffff\1\u015e\2\uffff\1\u0160",
-            "\1\u0162",
-            "\1\u0163\3\uffff\1\u0164\17\uffff\1\u0166\3\uffff\1\u0165",
-            "\1\u0168\12\uffff\1\u0167",
-            "\1\u0169\6\uffff\1\u016a",
+            "\1\102\10\uffff\1\u0158\2\uffff\12\102\7\uffff\32\102\4\uffff\1\102\1\uffff\32\102",
+            "\1\u015a",
+            "\1\u015e\1\u015b\3\uffff\1\u015c\2\uffff\1\u015d",
+            "\1\u015f",
+            "\1\u0160\3\uffff\1\u0161\17\uffff\1\u0163\3\uffff\1\u0162",
+            "\1\u0165\12\uffff\1\u0164",
+            "\1\u0166\6\uffff\1\u0167",
+            "\1\u0168",
+            "\1\u0169",
+            "\1\u016a",
             "\1\u016b",
-            "\1\u016c",
-            "",
-            "",
-            "\1\u016d",
+            "\1\u016d\5\uffff\1\u016c",
             "\1\u016e",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "\12\u00c8\10\uffff\1\u00ca\1\uffff\3\u00ca\5\uffff\1\u00ca\22\uffff\1\u00c8\2\uffff\1\u00ca\1\uffff\3\u00ca\5\uffff\1\u00ca",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "\1\u016f",
-            "\1\u0170",
+            "\1\u016f\7\uffff\1\u0170",
             "\1\u0171",
-            "\1\u0172",
-            "\1\u0173\5\uffff\1\u0174",
             "",
+            "",
+            "\1\u0172",
+            "\1\u0173",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "\12\u00ca\10\uffff\1\u00cc\1\uffff\3\u00cc\5\uffff\1\u00cc\22\uffff\1\u00ca\2\uffff\1\u00cc\1\uffff\3\u00cc\5\uffff\1\u00cc",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "\1\u0174",
             "\1\u0175",
             "\1\u0176",
             "\1\u0177",
-            "\1\u0178",
-            "\1\u0179",
+            "\1\u0178\5\uffff\1\u0179",
+            "",
             "\1\u017a",
             "\1\u017b",
             "\1\u017c",
-            "",
             "\1\u017d",
             "\1\u017e",
-            "\1\u0180\3\uffff\1\u017f",
+            "\1\u017f",
+            "\1\u0180",
             "\1\u0181",
+            "",
             "\1\u0182",
             "\1\u0183",
-            "\1\u0184",
-            "\1\102\13\uffff\12\102\7\uffff\32\102\4\uffff\1\102\1\uffff\32\102",
+            "\1\u0185\3\uffff\1\u0184",
             "\1\u0186",
             "\1\u0187",
-            "",
-            "",
-            "",
             "\1\u0188",
             "\1\u0189",
-            "\1\u018a",
-            "",
+            "\1\102\13\uffff\12\102\7\uffff\32\102\4\uffff\1\102\1\uffff\32\102",
             "\1\u018b",
             "\1\u018c",
+            "",
+            "",
+            "",
             "\1\u018d",
-            "",
-            "",
-            "",
-            "",
-            "\1\102\13\uffff\12\102\7\uffff\32\102\4\uffff\1\102\1\uffff\32\102",
-            "\1\102\13\uffff\12\102\7\uffff\32\102\4\uffff\1\102\1\uffff\32\102",
+            "\1\u018e",
+            "\1\u018f",
             "\1\u0190",
+            "",
             "\1\u0191",
-            "",
             "\1\u0192",
-            "",
             "\1\u0193",
-            "\1\u0195\14\uffff\1\u0194",
+            "",
+            "",
+            "",
+            "",
+            "\1\102\13\uffff\12\102\7\uffff\32\102\4\uffff\1\102\1\uffff\32\102",
+            "\1\102\13\uffff\12\102\7\uffff\32\102\4\uffff\1\102\1\uffff\32\102",
             "\1\u0196",
             "\1\u0197",
             "\1\u0198",
-            "\1\102\13\uffff\12\102\7\uffff\32\102\4\uffff\1\102\1\uffff\32\102",
-            "\1\u019b\1\u019a",
-            "\1\u019c",
+            "",
+            "\1\u0199",
+            "",
+            "\1\u019a",
+            "\1\u019c\14\uffff\1\u019b",
             "\1\u019d",
             "\1\u019e",
             "\1\u019f",
-            "\1\u01a0",
-            "\1\u01a1",
-            "\1\u01a2",
+            "\1\102\13\uffff\12\102\7\uffff\32\102\4\uffff\1\102\1\uffff\32\102",
+            "\1\u01a2\1\u01a1",
             "\1\u01a3",
             "\1\u01a4",
             "\1\u01a5",
@@ -8582,83 +8724,83 @@
             "\1\u01a7",
             "\1\u01a8",
             "\1\u01a9",
-            "\1\u01aa\3\uffff\1\u01ab\12\uffff\1\u01ac",
+            "\1\u01aa",
+            "\1\u01ab",
+            "\1\u01ac",
             "\1\u01ad",
             "\1\u01ae",
             "\1\u01af",
-            "",
             "\1\u01b0",
-            "\1\u01b1",
-            "\1\u01b2",
-            "\1\u01b3",
+            "\1\u01b1\3\uffff\1\u01b2\12\uffff\1\u01b3",
             "\1\u01b4",
             "\1\u01b5",
-            "\1\102\13\uffff\12\102\7\uffff\32\102\4\uffff\1\102\1\uffff\14\102\1\u01b6\15\102",
+            "\1\u01b6",
+            "",
+            "\1\u01b7",
             "\1\u01b8",
             "\1\u01b9",
-            "",
             "\1\u01ba",
             "\1\u01bb",
             "\1\u01bc",
-            "\1\u01bd",
-            "\1\u01be",
-            "",
-            "",
-            "",
+            "\1\102\13\uffff\12\102\7\uffff\32\102\4\uffff\1\102\1\uffff\14\102\1\u01bd\15\102",
             "\1\u01bf",
             "\1\u01c0",
-            "\1\102\13\uffff\12\102\7\uffff\32\102\4\uffff\1\102\1\uffff\32\102",
+            "",
+            "\1\u01c1",
             "\1\u01c2",
             "\1\u01c3",
             "\1\u01c4",
             "\1\u01c5",
-            "\1\u01c6\6\uffff\1\u01c7",
+            "\1\u01c6",
+            "",
+            "",
+            "",
+            "\1\u01c7",
             "\1\u01c8",
             "\1\102\13\uffff\12\102\7\uffff\32\102\4\uffff\1\102\1\uffff\32\102",
             "\1\u01ca",
-            "",
             "\1\u01cb",
             "\1\u01cc",
             "\1\u01cd",
-            "\1\u01ce",
-            "\1\u01cf",
+            "\1\u01ce\6\uffff\1\u01cf",
             "\1\u01d0",
-            "\1\u01d1",
+            "\1\102\13\uffff\12\102\7\uffff\32\102\4\uffff\1\102\1\uffff\32\102",
             "\1\u01d2",
-            "\1\u01d3\16\uffff\1\u01d4",
+            "",
+            "\1\u01d3",
+            "\1\u01d4",
             "\1\u01d5",
             "\1\u01d6",
-            "\1\102\13\uffff\12\102\7\uffff\32\102\4\uffff\1\102\1\uffff\32\102",
-            "",
+            "\1\u01d7",
             "\1\u01d8",
             "\1\u01d9",
             "\1\u01da",
-            "",
-            "\1\u01db",
-            "\1\u01dc",
+            "\1\u01db\16\uffff\1\u01dc",
             "\1\u01dd",
             "\1\u01de",
-            "\1\u01df",
+            "\1\102\13\uffff\12\102\7\uffff\32\102\4\uffff\1\102\1\uffff\32\102",
+            "",
             "\1\u01e0",
             "\1\u01e1",
-            "\1\102\13\uffff\12\102\7\uffff\32\102\4\uffff\1\102\1\uffff\32\102",
+            "\1\u01e2",
+            "",
             "\1\u01e3",
             "\1\u01e4",
-            "\1\u01e5\5\uffff\1\u01e6",
+            "\1\u01e5",
+            "\1\u01e6",
             "\1\u01e7",
             "\1\u01e8",
             "\1\u01e9",
-            "\1\u01ea",
+            "\1\102\13\uffff\12\102\7\uffff\32\102\4\uffff\1\102\1\uffff\32\102",
             "\1\u01eb",
             "\1\u01ec",
             "\1\u01ed",
             "\1\u01ee",
             "\1\u01ef",
+            "",
+            "",
             "\1\u01f0",
-            "",
-            "",
-            "\1\u01f1",
-            "\1\u01f2",
+            "\1\102\13\uffff\12\102\7\uffff\32\102\4\uffff\1\102\1\uffff\14\102\1\u01f1\15\102",
             "\1\u01f3",
             "\1\u01f4",
             "\1\u01f5",
@@ -8675,782 +8817,800 @@
             "\1\u0200",
             "\1\u0201",
             "\1\u0202",
-            "\1\u0203",
-            "\1\u0204",
+            "\1\u0203\5\uffff\1\u0204",
             "\1\u0205",
             "\1\u0206",
             "\1\u0207",
             "\1\u0208",
             "\1\u0209",
-            "\1\102\13\uffff\12\102\7\uffff\32\102\4\uffff\1\102\1\uffff\2\102\1\u020a\27\102",
-            "\1\102\13\uffff\12\102\7\uffff\32\102\4\uffff\1\102\1\uffff\32\102",
-            "\1\102\13\uffff\12\102\7\uffff\32\102\4\uffff\1\102\1\uffff\32\102",
+            "\1\u020a",
+            "\1\u020b",
+            "\1\u020c",
+            "\1\u020d",
             "\1\u020e",
             "\1\u020f",
             "\1\u0210",
             "\1\u0211",
             "\1\u0212",
-            "\1\u0213",
-            "\1\102\6\uffff\1\u0214\4\uffff\12\102\7\uffff\32\102\4\uffff\1\102\1\uffff\32\102",
-            "\1\u0216",
+            "\1\102\13\uffff\12\102\7\uffff\32\102\4\uffff\1\102\1\uffff\2\102\1\u0213\27\102",
+            "\1\102\13\uffff\12\102\7\uffff\32\102\4\uffff\1\102\1\uffff\32\102",
+            "\1\102\13\uffff\12\102\7\uffff\32\102\4\uffff\1\102\1\uffff\32\102",
             "\1\u0217",
             "\1\u0218",
             "\1\u0219",
             "\1\u021a",
-            "",
             "\1\u021b",
             "\1\u021c",
-            "\1\u021d",
-            "\1\u021e",
-            "\1\102\13\uffff\12\102\7\uffff\32\102\4\uffff\1\102\1\uffff\23\102\1\u021f\6\102",
+            "\1\102\6\uffff\1\u021d\4\uffff\12\102\7\uffff\32\102\4\uffff\1\102\1\uffff\32\102",
+            "\1\u021f",
+            "\1\u0220",
             "\1\u0221",
             "\1\u0222",
             "\1\u0223",
             "",
-            "",
             "\1\u0224",
-            "\1\u0225\3\uffff\1\u0226",
+            "\1\u0225",
+            "\1\u0226",
             "\1\u0227",
-            "\1\102\13\uffff\12\102\7\uffff\32\102\4\uffff\1\102\1\uffff\32\102",
-            "\1\u0229",
+            "\1\102\13\uffff\12\102\7\uffff\32\102\4\uffff\1\102\1\uffff\23\102\1\u0228\6\102",
             "\1\u022a",
             "\1\u022b",
             "\1\u022c",
             "\1\u022d",
             "",
+            "",
             "\1\u022e",
             "\1\u022f",
-            "\1\u0230",
-            "\1\u0231",
+            "\1\u0230\3\uffff\1\u0231",
             "\1\u0232",
-            "\1\u0233",
+            "\1\102\13\uffff\12\102\7\uffff\32\102\4\uffff\1\102\1\uffff\32\102",
             "\1\u0234",
             "\1\u0235",
             "\1\u0236",
-            "\1\102\10\uffff\1\u0237\2\uffff\12\102\7\uffff\32\102\4\uffff\1\102\1\uffff\32\102",
+            "\1\u0237",
+            "\1\u0238",
+            "",
             "\1\u0239",
             "\1\u023a",
             "\1\u023b",
             "\1\u023c",
             "\1\u023d",
-            "\1\102\13\uffff\12\102\7\uffff\32\102\4\uffff\1\102\1\uffff\32\102",
+            "\1\u023e",
             "\1\u023f",
             "\1\u0240",
             "\1\u0241",
-            "\1\u0242",
-            "\1\u0243",
-            "\1\102\13\uffff\12\102\7\uffff\32\102\4\uffff\1\102\1\uffff\32\102",
+            "\1\102\10\uffff\1\u0242\2\uffff\12\102\7\uffff\32\102\4\uffff\1\102\1\uffff\32\102",
+            "\1\u0244",
             "\1\u0245",
             "\1\u0246",
             "\1\u0247",
+            "\1\u0248",
             "\1\102\13\uffff\12\102\7\uffff\32\102\4\uffff\1\102\1\uffff\32\102",
-            "\1\u0249",
             "\1\u024a",
             "\1\u024b",
-            "",
-            "\1\102\13\uffff\12\102\7\uffff\32\102\4\uffff\1\102\1\uffff\22\102\1\u024c\7\102",
+            "\1\u024c",
+            "\1\u024d",
             "\1\u024e",
-            "\1\u024f",
+            "\1\102\13\uffff\12\102\7\uffff\32\102\4\uffff\1\102\1\uffff\32\102",
             "\1\u0250",
             "\1\u0251",
             "\1\u0252",
-            "\1\u0253",
+            "\1\102\13\uffff\12\102\7\uffff\32\102\4\uffff\1\102\1\uffff\32\102",
             "\1\u0254",
             "\1\u0255",
+            "\1\u0256",
             "",
-            "\1\u0256\24\uffff\1\u0258\61\uffff\1\u0257",
+            "\1\102\13\uffff\12\102\7\uffff\32\102\4\uffff\1\102\1\uffff\22\102\1\u0257\7\102",
             "\1\u0259",
             "\1\u025a",
             "\1\u025b",
             "\1\u025c",
-            "",
             "\1\u025d",
-            "",
-            "\1\102\13\uffff\12\102\7\uffff\32\102\4\uffff\1\102\1\uffff\32\102",
-            "\1\102\13\uffff\12\102\7\uffff\32\102\4\uffff\1\102\1\uffff\32\102",
+            "\1\u025e",
+            "\1\u025f",
             "\1\u0260",
             "\1\u0261",
-            "\1\u0262",
-            "\1\102\13\uffff\12\102\7\uffff\32\102\4\uffff\1\102\1\uffff\14\102\1\u0263\15\102",
+            "",
+            "\1\u0262\24\uffff\1\u0264\61\uffff\1\u0263",
             "\1\u0265",
             "\1\u0266",
             "\1\u0267",
-            "\1\102\13\uffff\12\102\7\uffff\32\102\4\uffff\1\102\1\uffff\32\102",
-            "\1\u0269",
-            "\1\u026a",
-            "\1\102\13\uffff\12\102\7\uffff\32\102\4\uffff\1\102\1\uffff\32\102",
+            "\1\u0268",
             "",
+            "\1\u0269",
+            "",
+            "\1\102\13\uffff\12\102\7\uffff\32\102\4\uffff\1\102\1\uffff\32\102",
+            "\1\102\13\uffff\12\102\7\uffff\32\102\4\uffff\1\102\1\uffff\32\102",
             "\1\u026c",
             "\1\u026d",
             "\1\u026e",
-            "\1\u026f",
-            "\1\u0270",
+            "\1\102\13\uffff\12\102\7\uffff\32\102\4\uffff\1\102\1\uffff\14\102\1\u026f\15\102",
             "\1\u0271",
             "\1\u0272",
             "\1\u0273",
-            "\1\u0274",
+            "\1\102\13\uffff\12\102\7\uffff\32\102\4\uffff\1\102\1\uffff\32\102",
             "\1\u0275",
-            "",
             "\1\u0276",
-            "\1\u0277",
+            "\1\102\13\uffff\12\102\7\uffff\32\102\4\uffff\1\102\1\uffff\32\102",
+            "",
             "\1\u0278",
             "\1\u0279",
-            "\1\102\13\uffff\12\102\7\uffff\32\102\4\uffff\1\102\1\uffff\32\102",
-            "\1\102\13\uffff\12\102\7\uffff\32\102\4\uffff\1\102\1\uffff\32\102",
+            "\1\u027a",
+            "\1\u027b",
             "\1\u027c",
             "\1\u027d",
             "\1\u027e",
-            "",
             "\1\u027f",
             "\1\u0280",
             "\1\u0281",
-            "\1\102\13\uffff\12\102\7\uffff\32\102\4\uffff\1\102\1\uffff\32\102",
+            "",
+            "\1\u0282",
             "\1\u0283",
-            "\1\u0284",
+            "\1\102\13\uffff\12\102\7\uffff\32\102\4\uffff\1\102\1\uffff\32\102",
+            "",
             "\1\u0285",
             "\1\u0286",
             "\1\u0287",
-            "\1\102\13\uffff\12\102\7\uffff\32\102\4\uffff\1\102\1\uffff\16\102\1\u0288\13\102",
+            "",
+            "\1\u0288",
+            "\1\u0289",
             "\1\u028a",
-            "\1\u028b",
+            "\1\102\13\uffff\12\102\7\uffff\32\102\4\uffff\1\102\1\uffff\16\102\1\u028b\13\102",
+            "\1\u028d",
+            "\1\u028e",
             "",
             "\1\102\13\uffff\12\102\7\uffff\32\102\4\uffff\1\102\1\uffff\32\102",
-            "\1\102\13\uffff\12\102\7\uffff\32\102\4\uffff\1\102\1\uffff\1\u028e\1\102\1\u028d\27\102",
-            "\1\u0290",
-            "\1\102\13\uffff\12\102\7\uffff\32\102\4\uffff\1\102\1\uffff\32\102",
-            "\1\u0292",
+            "\1\102\13\uffff\12\102\7\uffff\32\102\4\uffff\1\102\1\uffff\1\u0291\1\102\1\u0290\27\102",
             "\1\u0293",
-            "\1\u0294",
+            "\1\102\13\uffff\12\102\7\uffff\32\102\4\uffff\1\102\1\uffff\32\102",
             "\1\u0295",
             "\1\u0296",
             "\1\u0297",
             "\1\u0298",
             "\1\u0299",
+            "\1\u029a",
+            "\1\u029b",
             "\1\102\13\uffff\12\102\7\uffff\32\102\4\uffff\1\102\1\uffff\32\102",
-            "\1\102\13\uffff\12\102\7\uffff\32\102\4\uffff\1\102\1\uffff\22\102\1\u029b\7\102",
-            "\1\u029d",
+            "\1\102\13\uffff\12\102\7\uffff\32\102\4\uffff\1\102\1\uffff\32\102",
             "\1\u029e",
             "\1\u029f",
-            "",
-            "",
-            "",
-            "\1\102\13\uffff\12\102\7\uffff\32\102\4\uffff\1\102\1\uffff\32\102",
+            "\1\u02a0",
             "\1\u02a1",
             "\1\u02a2",
             "\1\u02a3",
             "\1\u02a4",
             "\1\u02a5",
-            "",
-            "",
-            "\1\u02a6",
-            "\1\u02a7",
-            "\1\u02a8",
+            "\1\102\13\uffff\12\102\7\uffff\32\102\4\uffff\1\102\1\uffff\32\102",
+            "\1\102\13\uffff\12\102\7\uffff\32\102\4\uffff\1\102\1\uffff\22\102\1\u02a7\7\102",
             "\1\u02a9",
             "\1\u02aa",
             "\1\u02ab",
-            "\1\u02ac",
-            "\1\u02ad",
-            "\1\102\13\uffff\12\102\7\uffff\32\102\4\uffff\1\102\1\uffff\32\102",
-            "\1\u02af",
             "",
+            "",
+            "",
+            "\1\102\13\uffff\12\102\7\uffff\32\102\4\uffff\1\102\1\uffff\32\102",
+            "\1\u02ad",
+            "\1\u02ae",
+            "\1\u02af",
             "\1\u02b0",
             "\1\u02b1",
-            "\1\102\13\uffff\12\102\7\uffff\32\102\4\uffff\1\102\1\uffff\32\102",
-            "\1\u02b3",
-            "\1\u02b4\16\uffff\1\u02b5",
-            "\1\u02b6",
-            "\1\102\13\uffff\12\102\7\uffff\32\102\4\uffff\1\102\1\uffff\32\102",
             "",
+            "",
+            "\1\u02b2",
+            "\1\u02b3",
+            "\1\u02b4",
+            "\1\u02b5",
+            "\1\u02b6",
+            "\1\u02b7",
             "\1\u02b8",
             "\1\u02b9",
-            "\1\102\13\uffff\12\102\7\uffff\32\102\4\uffff\1\102\1\uffff\22\102\1\u02ba\7\102",
+            "\1\102\13\uffff\12\102\7\uffff\32\102\4\uffff\1\102\1\uffff\32\102",
+            "\1\u02bb",
+            "",
             "\1\u02bc",
-            "\1\102\13\uffff\12\102\7\uffff\32\102\4\uffff\1\102\1\uffff\32\102",
+            "\1\u02bd",
             "\1\u02be",
-            "\1\u02bf",
-            "",
             "\1\102\13\uffff\12\102\7\uffff\32\102\4\uffff\1\102\1\uffff\32\102",
+            "\1\u02c0",
             "\1\u02c1",
-            "\1\u02c2",
-            "\1\102\10\uffff\1\u02c3\2\uffff\12\102\7\uffff\32\102\4\uffff\1\102\1\uffff\32\102",
-            "\1\u02c5",
+            "\1\u02c2\16\uffff\1\u02c3",
+            "\1\u02c4",
             "\1\102\13\uffff\12\102\7\uffff\32\102\4\uffff\1\102\1\uffff\32\102",
             "",
-            "",
+            "\1\u02c6",
             "\1\u02c7",
-            "\1\u02c8",
-            "\1\u02c9",
+            "\1\102\13\uffff\12\102\7\uffff\32\102\4\uffff\1\102\1\uffff\22\102\1\u02c8\7\102",
             "\1\u02ca",
             "\1\102\13\uffff\12\102\7\uffff\32\102\4\uffff\1\102\1\uffff\32\102",
+            "\1\u02cc",
+            "\1\u02cd",
             "",
             "\1\102\13\uffff\12\102\7\uffff\32\102\4\uffff\1\102\1\uffff\32\102",
-            "\1\u02cd",
-            "\1\u02ce",
             "\1\u02cf",
             "\1\u02d0",
-            "",
-            "\1\102\13\uffff\12\102\7\uffff\32\102\4\uffff\1\102\1\uffff\32\102",
-            "\1\u02d2",
+            "\1\102\10\uffff\1\u02d1\2\uffff\12\102\7\uffff\32\102\4\uffff\1\102\1\uffff\32\102",
+            "\1\u02d3",
             "\1\102\13\uffff\12\102\7\uffff\32\102\4\uffff\1\102\1\uffff\32\102",
             "",
-            "\1\u02d4",
+            "",
             "\1\u02d5",
             "\1\u02d6",
+            "\1\u02d7",
+            "\1\u02d8",
             "\1\102\13\uffff\12\102\7\uffff\32\102\4\uffff\1\102\1\uffff\32\102",
             "",
-            "\1\u02d8",
-            "\1\u02d9",
-            "\1\u02da",
+            "\1\102\13\uffff\12\102\7\uffff\32\102\4\uffff\1\102\1\uffff\32\102",
             "\1\u02db",
             "\1\u02dc",
-            "\1\102\13\uffff\12\102\7\uffff\32\102\4\uffff\1\102\1\uffff\22\102\1\u02dd\7\102",
-            "\1\u02df",
+            "\1\u02dd",
+            "\1\u02de",
+            "",
+            "\1\102\13\uffff\12\102\7\uffff\32\102\4\uffff\1\102\1\uffff\32\102",
             "\1\u02e0",
-            "\1\u02e1\7\uffff\1\u02e2",
+            "\1\102\13\uffff\12\102\7\uffff\32\102\4\uffff\1\102\1\uffff\32\102",
+            "",
+            "\1\u02e2",
             "\1\u02e3",
             "\1\u02e4",
-            "\1\u02e5",
+            "\1\102\13\uffff\12\102\7\uffff\32\102\4\uffff\1\102\1\uffff\32\102",
+            "",
             "\1\u02e6",
-            "\1\102\13\uffff\12\102\7\uffff\32\102\4\uffff\1\102\1\uffff\32\102",
-            "\1\u02ea\2\uffff\1\u02e9\14\uffff\1\u02e8",
+            "\1\u02e7",
+            "\1\u02e8",
+            "\1\u02e9",
+            "\1\u02ea",
             "\1\u02eb",
-            "",
-            "",
-            "\1\u02ec",
-            "\1\u02ed",
-            "\1\102\13\uffff\12\102\7\uffff\32\102\4\uffff\1\102\1\uffff\32\102",
+            "\1\102\13\uffff\12\102\7\uffff\32\102\4\uffff\1\102\1\uffff\22\102\1\u02ec\7\102",
+            "\1\u02ee",
             "\1\u02ef",
-            "",
-            "\1\u02f0",
-            "\1\u02f1",
+            "\1\u02f0\7\uffff\1\u02f1",
             "\1\u02f2",
-            "",
             "\1\u02f3",
             "\1\u02f4",
-            "",
             "\1\u02f5",
-            "\1\u02f6",
-            "\1\u02f7",
-            "\1\102\13\uffff\12\102\7\uffff\32\102\4\uffff\1\102\1\uffff\14\102\1\u02f8\15\102",
-            "\1\u02fa",
             "\1\102\13\uffff\12\102\7\uffff\32\102\4\uffff\1\102\1\uffff\32\102",
+            "\1\u02f9\2\uffff\1\u02f8\14\uffff\1\u02f7",
+            "\1\u02fa",
+            "",
+            "",
+            "\1\u02fb",
             "\1\u02fc",
-            "\1\u02fd",
+            "\1\102\13\uffff\12\102\7\uffff\32\102\4\uffff\1\102\1\uffff\32\102",
             "\1\u02fe",
+            "",
             "\1\u02ff",
             "\1\u0300",
-            "",
             "\1\u0301",
-            "\1\102\13\uffff\12\102\7\uffff\32\102\4\uffff\1\102\1\uffff\32\102",
             "",
-            "",
+            "\1\u0302",
             "\1\u0303",
+            "",
             "\1\u0304",
             "\1\u0305",
             "\1\u0306",
-            "\1\u0307",
-            "\1\u0308",
-            "",
+            "\1\102\13\uffff\12\102\7\uffff\32\102\4\uffff\1\102\1\uffff\14\102\1\u0307\15\102",
             "\1\u0309",
-            "\1\u030a",
+            "\1\102\13\uffff\12\102\7\uffff\32\102\4\uffff\1\102\1\uffff\32\102",
             "\1\u030b",
             "\1\u030c",
             "\1\u030d",
             "\1\u030e",
+            "\1\u030f",
+            "\1\u0310",
             "",
-            "\1\u030f\5\uffff\1\u0310",
-            "\1\102\13\uffff\12\102\7\uffff\32\102\4\uffff\1\102\1\uffff\32\102",
-            "",
+            "\1\u0311",
             "\1\u0312",
             "\1\u0313",
-            "",
             "\1\u0314",
+            "\1\u0315",
+            "\1\u0316",
+            "\1\u0317",
             "",
+            "\1\u0318\5\uffff\1\u0319",
             "\1\102\13\uffff\12\102\7\uffff\32\102\4\uffff\1\102\1\uffff\32\102",
-            "\1\102\13\uffff\12\102\7\uffff\32\102\4\uffff\1\102\1\uffff\32\102",
-            "\1\102\13\uffff\12\102\7\uffff\32\102\4\uffff\1\102\1\uffff\32\102",
-            "\1\102\13\uffff\12\102\7\uffff\32\102\4\uffff\1\102\1\uffff\32\102",
-            "\1\102\13\uffff\12\102\7\uffff\32\102\4\uffff\1\102\1\uffff\32\102",
-            "\1\102\13\uffff\12\102\7\uffff\32\102\4\uffff\1\102\1\uffff\32\102",
+            "",
             "\1\u031b",
-            "\1\102\13\uffff\12\102\7\uffff\32\102\4\uffff\1\102\1\uffff\32\102",
+            "\1\u031c",
             "",
-            "\1\102\13\uffff\12\102\7\uffff\32\102\4\uffff\1\102\1\uffff\32\102",
-            "",
-            "\1\u031e",
-            "\1\102\13\uffff\12\102\7\uffff\32\102\4\uffff\1\102\1\uffff\32\102",
-            "\1\u0320",
+            "\1\u031d",
             "",
             "\1\102\13\uffff\12\102\7\uffff\32\102\4\uffff\1\102\1\uffff\32\102",
             "\1\102\13\uffff\12\102\7\uffff\32\102\4\uffff\1\102\1\uffff\32\102",
             "\1\102\13\uffff\12\102\7\uffff\32\102\4\uffff\1\102\1\uffff\32\102",
+            "\1\u0321",
+            "",
+            "\1\u0322",
             "\1\102\13\uffff\12\102\7\uffff\32\102\4\uffff\1\102\1\uffff\32\102",
+            "",
+            "",
+            "\1\u0324",
             "\1\u0325",
             "\1\u0326",
-            "\1\u0327",
-            "\1\u0328",
-            "\1\u0329",
-            "\1\102\13\uffff\12\102\7\uffff\32\102\4\uffff\1\102\1\uffff\5\102\1\u032c\1\102\1\u032b\12\102\1\u032a\7\102",
+            "\1\102\13\uffff\12\102\7\uffff\32\102\4\uffff\1\102\1\uffff\32\102",
+            "\1\102\13\uffff\12\102\7\uffff\32\102\4\uffff\1\102\1\uffff\32\102",
+            "\1\102\13\uffff\12\102\7\uffff\32\102\4\uffff\1\102\1\uffff\32\102",
+            "\1\u032a",
+            "\1\102\13\uffff\12\102\7\uffff\32\102\4\uffff\1\102\1\uffff\32\102",
+            "",
+            "\1\102\13\uffff\12\102\7\uffff\32\102\4\uffff\1\102\1\uffff\32\102",
+            "",
+            "\1\u032d",
             "\1\102\13\uffff\12\102\7\uffff\32\102\4\uffff\1\102\1\uffff\32\102",
             "\1\u032f",
-            "\1\u0330",
             "",
-            "\1\u0331",
-            "\1\u0332",
-            "\1\u0333",
-            "",
+            "\1\102\13\uffff\12\102\7\uffff\32\102\4\uffff\1\102\1\uffff\32\102",
+            "\1\102\13\uffff\12\102\7\uffff\32\102\4\uffff\1\102\1\uffff\32\102",
+            "\1\102\13\uffff\12\102\7\uffff\32\102\4\uffff\1\102\1\uffff\32\102",
+            "\1\102\13\uffff\12\102\7\uffff\32\102\4\uffff\1\102\1\uffff\32\102",
             "\1\u0334",
             "\1\u0335",
             "\1\u0336",
             "\1\u0337",
-            "",
+            "\1\u0338",
+            "\1\102\13\uffff\12\102\7\uffff\32\102\4\uffff\1\102\1\uffff\22\102\1\u0339\7\102",
             "\1\102\13\uffff\12\102\7\uffff\32\102\4\uffff\1\102\1\uffff\32\102",
-            "\1\u0339",
-            "\1\102\13\uffff\12\102\7\uffff\32\102\4\uffff\1\102\1\uffff\32\102",
-            "",
-            "\1\102\13\uffff\12\102\7\uffff\1\102\1\u033b\30\102\4\uffff\1\102\1\uffff\32\102",
-            "",
+            "\1\u033c",
             "\1\u033d",
-            "\1\u033e",
             "",
+            "\1\u033e",
             "\1\u033f",
             "\1\u0340",
-            "",
-            "",
             "\1\u0341",
             "",
-            "\1\102\13\uffff\12\102\7\uffff\32\102\4\uffff\1\102\1\uffff\32\102",
+            "\1\u0342",
             "\1\u0343",
-            "\1\u0344\5\uffff\1\u0345",
-            "\1\102\13\uffff\12\102\7\uffff\32\102\4\uffff\1\102\1\uffff\32\102",
-            "",
+            "\1\u0344",
+            "\1\u0345",
+            "\1\u0346",
             "",
             "\1\102\13\uffff\12\102\7\uffff\32\102\4\uffff\1\102\1\uffff\32\102",
             "\1\u0348",
-            "\1\u0349",
             "\1\102\13\uffff\12\102\7\uffff\32\102\4\uffff\1\102\1\uffff\32\102",
             "",
-            "\1\102\13\uffff\12\102\7\uffff\32\102\4\uffff\1\102\1\uffff\32\102",
+            "\1\102\13\uffff\12\102\7\uffff\1\102\1\u034a\30\102\4\uffff\1\102\1\uffff\32\102",
             "",
             "\1\u034c",
             "\1\u034d",
+            "",
             "\1\u034e",
+            "\1\u034f",
             "",
-            "\1\102\13\uffff\12\102\7\uffff\32\102\4\uffff\1\102\1\uffff\32\102",
+            "",
             "\1\u0350",
-            "\1\u0351",
+            "",
+            "\1\102\13\uffff\12\102\7\uffff\32\102\4\uffff\1\102\1\uffff\32\102",
             "\1\u0352",
-            "\1\u0353",
+            "\1\u0353\5\uffff\1\u0354",
             "\1\102\13\uffff\12\102\7\uffff\32\102\4\uffff\1\102\1\uffff\32\102",
             "",
-            "\1\u0355",
-            "\1\u0356",
+            "",
+            "\1\102\13\uffff\12\102\7\uffff\32\102\4\uffff\1\102\1\uffff\32\102",
             "\1\u0357",
-            "",
             "\1\u0358",
-            "\1\u0359",
-            "\1\u035a",
+            "\1\102\13\uffff\12\102\7\uffff\32\102\4\uffff\1\102\1\uffff\32\102",
+            "",
+            "\1\102\13\uffff\12\102\7\uffff\32\102\4\uffff\1\102\1\uffff\32\102",
+            "",
             "\1\u035b",
-            "",
-            "",
-            "",
-            "",
             "\1\u035c",
             "\1\u035d",
-            "\1\u035e",
             "",
-            "\1\u035f",
-            "\1\u0360",
-            "\1\u0361",
             "\1\102\13\uffff\12\102\7\uffff\32\102\4\uffff\1\102\1\uffff\32\102",
+            "\1\u035f",
+            "\1\102\13\uffff\12\102\7\uffff\32\102\4\uffff\1\102\1\uffff\32\102",
+            "\1\u0361",
+            "\1\u0362",
             "\1\u0363",
             "\1\102\13\uffff\12\102\7\uffff\32\102\4\uffff\1\102\1\uffff\32\102",
+            "",
             "\1\u0365",
-            "\1\102\13\uffff\12\102\7\uffff\32\102\4\uffff\1\102\1\uffff\32\102",
+            "\1\u0366",
             "\1\u0367",
+            "",
             "\1\u0368",
-            "",
-            "\1\102\13\uffff\12\102\7\uffff\32\102\4\uffff\1\102\1\uffff\32\102",
-            "",
+            "\1\u0369",
             "\1\u036a",
-            "\1\102\13\uffff\12\102\7\uffff\32\102\4\uffff\1\102\1\uffff\32\102",
-            "\1\u036c",
-            "\1\102\13\uffff\12\102\7\uffff\32\102\4\uffff\1\102\1\uffff\32\102",
-            "\1\u036e",
-            "\1\102\13\uffff\12\102\7\uffff\32\102\4\uffff\1\102\1\uffff\32\102",
+            "\1\u036b",
             "",
+            "",
+            "",
+            "",
+            "\1\u036c",
+            "\1\u036d",
+            "\1\u036e",
+            "",
+            "\1\u036f",
+            "\1\u0370",
+            "\1\u0371",
             "\1\102\13\uffff\12\102\7\uffff\32\102\4\uffff\1\102\1\uffff\32\102",
-            "\1\102\13\uffff\12\102\7\uffff\32\102\4\uffff\1\102\1\uffff\32\102",
-            "\1\u0372",
             "\1\u0373",
-            "\1\u0374",
+            "\1\102\13\uffff\12\102\7\uffff\32\102\4\uffff\1\102\1\uffff\32\102",
             "\1\u0375",
             "\1\102\13\uffff\12\102\7\uffff\32\102\4\uffff\1\102\1\uffff\32\102",
             "\1\u0377",
             "\1\u0378",
-            "\1\u0379",
+            "",
+            "\1\102\13\uffff\12\102\7\uffff\32\102\4\uffff\1\102\1\uffff\32\102",
+            "",
             "\1\u037a",
-            "\1\102\13\uffff\12\102\7\uffff\32\102\4\uffff\1\102\1\uffff\32\102",
-            "\1\u037c",
+            "\1\102\10\uffff\1\u037b\2\uffff\12\102\7\uffff\32\102\4\uffff\1\102\1\uffff\32\102",
             "\1\u037d",
-            "",
-            "\1\u037e",
-            "\1\u037f",
-            "\1\u0380",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "\1\u0381",
-            "",
-            "",
-            "\1\u0382",
-            "",
-            "\1\u0383",
-            "",
-            "",
-            "",
-            "",
             "\1\102\13\uffff\12\102\7\uffff\32\102\4\uffff\1\102\1\uffff\32\102",
+            "\1\102\13\uffff\12\102\7\uffff\32\102\4\uffff\1\102\1\uffff\14\102\1\u037f\15\102",
+            "\1\u0381",
+            "\1\u0382",
+            "\1\102\13\uffff\12\102\7\uffff\32\102\4\uffff\1\102\1\uffff\32\102",
+            "\1\u0384",
             "\1\u0385",
             "\1\u0386",
-            "\1\102\13\uffff\12\102\7\uffff\24\102\1\u0387\5\102\4\uffff\1\102\1\uffff\32\102",
-            "\1\u0389",
+            "\1\u0387",
             "\1\102\13\uffff\12\102\7\uffff\32\102\4\uffff\1\102\1\uffff\32\102",
+            "\1\u0389",
+            "\1\u038a",
+            "",
             "\1\u038b",
             "\1\u038c",
-            "",
-            "",
             "\1\u038d",
+            "",
+            "",
+            "",
+            "\1\u038e",
             "\1\102\13\uffff\12\102\7\uffff\32\102\4\uffff\1\102\1\uffff\32\102",
-            "\1\u038f",
-            "\1\u0390",
-            "\1\u0391",
+            "",
+            "\1\102\13\uffff\12\102\7\uffff\32\102\4\uffff\1\102\1\uffff\32\102",
+            "\1\102\13\uffff\12\102\7\uffff\32\102\4\uffff\1\102\1\uffff\32\102",
             "\1\u0392",
-            "\1\102\13\uffff\12\102\7\uffff\32\102\4\uffff\1\102\1\uffff\32\102",
+            "",
+            "",
+            "",
+            "\1\u0393",
+            "",
+            "",
             "\1\u0394",
+            "",
             "\1\u0395",
             "",
-            "\1\u0396",
             "",
+            "",
+            "",
+            "\1\102\13\uffff\12\102\7\uffff\32\102\4\uffff\1\102\1\uffff\32\102",
             "\1\u0397",
-            "",
             "\1\u0398",
-            "\1\u0399",
-            "\1\u039a",
+            "\1\102\13\uffff\12\102\7\uffff\24\102\1\u0399\5\102\4\uffff\1\102\1\uffff\32\102",
             "\1\u039b",
             "\1\102\13\uffff\12\102\7\uffff\32\102\4\uffff\1\102\1\uffff\32\102",
             "",
+            "",
             "\1\u039d",
-            "\1\u039e",
-            "\1\u039f",
-            "",
-            "",
-            "\1\u03a0",
-            "\1\u03a1",
-            "",
-            "",
             "\1\102\13\uffff\12\102\7\uffff\32\102\4\uffff\1\102\1\uffff\32\102",
+            "\1\u039f",
+            "\1\u03a0\17\uffff\1\u03a1",
+            "\1\u03a2",
             "\1\u03a3",
             "\1\u03a4",
-            "",
             "\1\u03a5",
             "\1\102\13\uffff\12\102\7\uffff\32\102\4\uffff\1\102\1\uffff\32\102",
-            "\1\102\13\uffff\12\102\7\uffff\32\102\4\uffff\1\102\1\uffff\32\102",
-            "\1\u03a9\11\uffff\1\u03aa\5\uffff\1\u03ab\1\uffff\1\u03a8",
+            "\1\u03a7",
+            "\1\u03a8",
             "",
+            "\1\u03a9",
+            "",
+            "\1\u03aa",
+            "",
+            "\1\u03ab",
             "\1\u03ac",
-            "\1\102\13\uffff\12\102\7\uffff\32\102\4\uffff\1\102\1\uffff\32\102",
+            "\1\u03ad",
             "\1\u03ae",
-            "\1\u03af",
-            "\1\u03b0",
             "\1\102\13\uffff\12\102\7\uffff\32\102\4\uffff\1\102\1\uffff\32\102",
+            "",
+            "\1\u03b0",
+            "\1\u03b1",
             "\1\u03b2",
+            "",
+            "",
             "\1\u03b3",
             "\1\u03b4",
             "",
-            "\1\u03b5",
-            "\1\u03b6",
+            "",
             "\1\102\13\uffff\12\102\7\uffff\32\102\4\uffff\1\102\1\uffff\32\102",
+            "\1\u03b6",
+            "\1\u03b7",
             "",
             "\1\u03b8",
             "",
             "\1\102\13\uffff\12\102\7\uffff\32\102\4\uffff\1\102\1\uffff\32\102",
-            "",
-            "\1\u03ba",
-            "\1\u03bb",
-            "",
-            "\1\u03bc",
-            "",
-            "\1\u03bd",
-            "",
-            "\1\u03be",
-            "",
-            "",
+            "\1\102\13\uffff\12\102\7\uffff\32\102\4\uffff\1\102\1\uffff\32\102",
+            "\1\u03bc\11\uffff\1\u03bd\5\uffff\1\u03be\1\uffff\1\u03bb",
             "",
             "\1\u03bf",
-            "\1\u03c0",
+            "\1\102\13\uffff\12\102\7\uffff\32\102\4\uffff\1\102\1\uffff\32\102",
             "\1\u03c1",
-            "\1\u03c3\11\uffff\1\u03c4\5\uffff\1\u03c5\1\uffff\1\u03c2",
-            "",
+            "\1\u03c2",
+            "\1\u03c3",
+            "\1\102\13\uffff\12\102\7\uffff\32\102\4\uffff\1\102\1\uffff\32\102",
+            "\1\u03c5",
             "\1\u03c6",
             "\1\u03c7",
-            "\1\102\13\uffff\12\102\7\uffff\32\102\4\uffff\1\102\1\uffff\32\102",
+            "",
+            "\1\u03c8",
+            "\1\u03c9",
             "\1\102\13\uffff\12\102\7\uffff\32\102\4\uffff\1\102\1\uffff\32\102",
             "",
-            "\1\u03ca",
             "\1\u03cb",
-            "\1\u03cc",
+            "",
+            "\1\102\13\uffff\12\102\7\uffff\32\102\4\uffff\1\102\1\uffff\32\102",
+            "",
             "\1\u03cd",
             "\1\u03ce",
-            "\1\102\13\uffff\12\102\7\uffff\32\102\4\uffff\1\102\1\uffff\32\102",
+            "",
+            "\1\u03cf",
+            "",
+            "",
             "\1\u03d0",
+            "",
             "\1\u03d1",
             "",
-            "\1\102\13\uffff\12\102\7\uffff\32\102\4\uffff\1\102\1\uffff\32\102",
-            "\1\u03d3",
-            "\1\u03d4",
-            "",
-            "\1\u03d5",
-            "",
+            "\1\u03d3\11\uffff\1\u03d4\5\uffff\1\u03d5\1\uffff\1\u03d2",
             "\1\u03d6",
+            "",
             "\1\u03d7",
             "\1\u03d8",
-            "",
             "\1\102\13\uffff\12\102\7\uffff\32\102\4\uffff\1\102\1\uffff\32\102",
-            "\1\u03da",
+            "\1\102\13\uffff\12\102\7\uffff\32\102\4\uffff\1\102\1\uffff\32\102",
+            "",
             "\1\u03db",
             "\1\u03dc",
-            "",
             "\1\u03dd",
             "\1\u03de",
             "\1\u03df",
             "\1\u03e0",
+            "",
+            "",
+            "",
+            "\1\u03e1",
             "\1\102\13\uffff\12\102\7\uffff\32\102\4\uffff\1\102\1\uffff\32\102",
-            "\1\u03e2",
             "\1\u03e3",
             "\1\u03e4",
             "",
-            "\1\u03e5",
+            "\1\102\13\uffff\12\102\7\uffff\32\102\4\uffff\1\102\1\uffff\32\102",
             "\1\u03e6",
             "\1\u03e7",
+            "",
             "\1\u03e8",
+            "",
             "\1\u03e9",
             "",
-            "\1\u03ea",
+            "\1\102\13\uffff\12\102\7\uffff\32\102\4\uffff\1\102\1\uffff\32\102",
+            "",
+            "",
             "\1\u03eb",
             "\1\u03ec",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "\1\102\13\uffff\12\102\7\uffff\32\102\4\uffff\1\102\1\uffff\32\102",
-            "",
+            "\1\u03ed",
             "\1\u03ee",
+            "",
             "\1\u03ef",
             "\1\u03f0",
-            "",
-            "\1\u03f2\11\uffff\1\u03f3\5\uffff\1\u03f4\1\uffff\1\u03f1",
+            "\1\u03f1",
+            "\1\u03f2",
+            "\1\102\13\uffff\12\102\7\uffff\32\102\4\uffff\1\102\1\uffff\32\102",
+            "\1\u03f4",
             "\1\u03f5",
             "\1\u03f6",
+            "",
             "\1\u03f7",
-            "\1\102\13\uffff\12\102\7\uffff\32\102\4\uffff\1\102\1\uffff\32\102",
-            "",
+            "\1\u03f8",
             "\1\u03f9",
-            "",
             "\1\u03fa",
             "\1\u03fb",
-            "\1\u03fc\17\uffff\1\u03fd",
+            "",
+            "\1\u03fc",
+            "\1\u03fd",
             "\1\u03fe",
             "",
-            "\1\u03ff",
-            "\1\u0400",
-            "\1\u0401",
             "",
             "",
             "",
             "",
-            "\1\u0402",
-            "\1\u0403",
             "",
-            "",
-            "\1\u0404",
-            "\1\u0405",
-            "\1\u0406",
-            "\1\u0407",
             "\1\102\13\uffff\12\102\7\uffff\32\102\4\uffff\1\102\1\uffff\32\102",
             "",
+            "\1\u0400",
+            "\1\u0401",
+            "\1\u0402",
+            "",
+            "\1\u0404\11\uffff\1\u0405\5\uffff\1\u0406\1\uffff\1\u0403",
+            "\1\u0407",
+            "\1\u0408",
             "\1\u0409",
             "\1\102\13\uffff\12\102\7\uffff\32\102\4\uffff\1\102\1\uffff\32\102",
             "",
             "\1\u040b",
+            "",
             "\1\u040c",
             "\1\u040d",
-            "\1\u040e",
-            "\1\u040f",
-            "\1\102\13\uffff\12\102\7\uffff\32\102\4\uffff\1\102\1\uffff\32\102",
+            "\1\u040e\17\uffff\1\u040f",
+            "\1\u0410",
+            "\1\u0411",
             "",
-            "\1\102\13\uffff\12\102\7\uffff\32\102\4\uffff\1\102\1\uffff\32\102",
-            "\1\102\13\uffff\12\102\7\uffff\32\102\4\uffff\1\102\1\uffff\32\102",
+            "",
+            "",
+            "",
+            "\1\u0412",
             "\1\u0413",
-            "\1\102\13\uffff\12\102\7\uffff\32\102\4\uffff\1\102\1\uffff\32\102",
+            "\1\u0414",
+            "",
+            "",
             "\1\u0415",
             "\1\u0416",
             "\1\u0417",
-            "",
             "\1\u0418",
-            "\1\u0419",
+            "\1\102\13\uffff\12\102\7\uffff\32\102\4\uffff\1\102\1\uffff\32\102",
+            "",
             "\1\u041a",
+            "",
             "\1\u041b",
-            "\1\u041c",
+            "\1\102\13\uffff\12\102\7\uffff\32\102\4\uffff\1\102\1\uffff\32\102",
+            "",
             "\1\u041d",
             "\1\u041e",
-            "\1\102\13\uffff\12\102\7\uffff\32\102\4\uffff\1\102\1\uffff\32\102",
-            "\1\u0420",
-            "\1\102\13\uffff\12\102\7\uffff\32\102\4\uffff\1\102\1\uffff\22\102\1\u0421\7\102",
+            "\1\u041f",
             "\1\102\13\uffff\12\102\7\uffff\32\102\4\uffff\1\102\1\uffff\32\102",
             "",
+            "\1\102\13\uffff\12\102\7\uffff\32\102\4\uffff\1\102\1\uffff\32\102",
+            "\1\102\13\uffff\12\102\7\uffff\32\102\4\uffff\1\102\1\uffff\32\102",
+            "\1\u0423",
             "\1\u0424",
-            "\1\u0425",
             "\1\102\13\uffff\12\102\7\uffff\32\102\4\uffff\1\102\1\uffff\32\102",
-            "",
-            "",
-            "",
-            "",
+            "\1\u0426",
             "\1\u0427",
-            "\1\102\13\uffff\12\102\7\uffff\32\102\4\uffff\1\102\1\uffff\32\102",
-            "\1\u0429",
+            "\1\u0428",
             "",
+            "\1\u0429",
             "\1\u042a",
             "\1\u042b",
             "\1\u042c",
-            "",
-            "",
-            "\1\102\13\uffff\12\102\7\uffff\32\102\4\uffff\1\102\1\uffff\32\102",
-            "\1\102\13\uffff\12\102\7\uffff\32\102\4\uffff\1\102\1\uffff\32\102",
+            "\1\u042d",
+            "\1\u042e",
             "\1\u042f",
-            "\1\u0430",
+            "\1\102\13\uffff\12\102\7\uffff\32\102\4\uffff\1\102\1\uffff\32\102",
             "\1\u0431",
-            "\1\102\13\uffff\12\102\7\uffff\32\102\4\uffff\1\102\1\uffff\32\102",
-            "\1\u0433",
-            "\1\u0434",
-            "\1\102\13\uffff\12\102\7\uffff\32\102\4\uffff\1\102\1\uffff\32\102",
+            "\1\102\13\uffff\12\102\7\uffff\32\102\4\uffff\1\102\1\uffff\22\102\1\u0432\7\102",
             "\1\102\13\uffff\12\102\7\uffff\32\102\4\uffff\1\102\1\uffff\32\102",
             "",
+            "\1\u0435",
+            "\1\u0436",
             "\1\102\13\uffff\12\102\7\uffff\32\102\4\uffff\1\102\1\uffff\32\102",
             "",
+            "",
+            "",
+            "",
+            "\1\u0438",
             "\1\102\13\uffff\12\102\7\uffff\32\102\4\uffff\1\102\1\uffff\32\102",
-            "\1\u0439",
             "\1\u043a",
+            "",
             "\1\u043b",
             "\1\u043c",
-            "",
+            "\1\u043d",
             "",
             "",
             "\1\102\13\uffff\12\102\7\uffff\32\102\4\uffff\1\102\1\uffff\32\102",
-            "",
-            "\1\u043e",
-            "\1\102\13\uffff\12\102\7\uffff\32\102\4\uffff\1\102\1\uffff\32\102",
+            "\1\u043f",
             "\1\u0440",
-            "\1\u0441",
             "\1\102\13\uffff\12\102\7\uffff\32\102\4\uffff\1\102\1\uffff\32\102",
-            "\1\102\13\uffff\12\102\7\uffff\32\102\4\uffff\1\102\1\uffff\32\102",
+            "\1\u0442",
+            "\1\u0443",
             "\1\u0444",
-            "\1\u0445",
             "\1\102\13\uffff\12\102\7\uffff\32\102\4\uffff\1\102\1\uffff\32\102",
             "\1\102\13\uffff\12\102\7\uffff\32\102\4\uffff\1\102\1\uffff\32\102",
             "",
             "\1\102\13\uffff\12\102\7\uffff\32\102\4\uffff\1\102\1\uffff\32\102",
             "\1\102\13\uffff\12\102\7\uffff\32\102\4\uffff\1\102\1\uffff\32\102",
             "",
-            "",
+            "\1\102\13\uffff\12\102\7\uffff\32\102\4\uffff\1\102\1\uffff\32\102",
             "\1\u044a",
             "\1\u044b",
             "",
+            "",
+            "",
             "\1\u044c",
-            "",
             "\1\102\13\uffff\12\102\7\uffff\32\102\4\uffff\1\102\1\uffff\32\102",
+            "",
             "\1\u044e",
-            "\1\u044f",
+            "\1\102\13\uffff\12\102\7\uffff\32\102\4\uffff\1\102\1\uffff\32\102",
             "\1\u0450",
-            "",
-            "",
             "\1\u0451",
-            "\1\u0452",
-            "\1\u0453",
-            "",
             "\1\102\13\uffff\12\102\7\uffff\32\102\4\uffff\1\102\1\uffff\32\102",
-            "\1\u0456",
-            "",
-            "",
-            "",
+            "\1\102\13\uffff\12\102\7\uffff\32\102\4\uffff\1\102\1\uffff\32\102",
+            "\1\u0454",
+            "\1\u0455",
+            "\1\102\13\uffff\12\102\7\uffff\32\102\4\uffff\1\102\1\uffff\32\102",
+            "\1\102\13\uffff\12\102\7\uffff\32\102\4\uffff\1\102\1\uffff\32\102",
             "",
             "\1\102\13\uffff\12\102\7\uffff\32\102\4\uffff\1\102\1\uffff\32\102",
             "\1\102\13\uffff\12\102\7\uffff\32\102\4\uffff\1\102\1\uffff\32\102",
-            "\1\u0459",
+            "",
+            "",
             "\1\u045a",
-            "",
             "\1\u045b",
             "",
             "\1\u045c",
+            "",
             "\1\102\13\uffff\12\102\7\uffff\32\102\4\uffff\1\102\1\uffff\32\102",
-            "",
-            "",
             "\1\u045e",
-            "\1\102\13\uffff\12\102\7\uffff\32\102\4\uffff\1\102\1\uffff\32\102",
-            "",
-            "",
-            "",
-            "",
+            "\1\u045f",
             "\1\u0460",
+            "",
+            "\1\u0461",
             "\1\u0462",
-            "\1\102\13\uffff\12\102\7\uffff\32\102\4\uffff\1\102\1\uffff\32\102",
             "",
-            "\1\u0464",
+            "\1\u0463",
+            "\1\102\13\uffff\12\102\7\uffff\32\102\4\uffff\1\102\1\uffff\32\102",
+            "\1\u0466",
+            "",
+            "",
+            "",
+            "",
+            "",
             "\1\102\13\uffff\12\102\7\uffff\32\102\4\uffff\1\102\1\uffff\32\102",
             "\1\102\13\uffff\12\102\7\uffff\32\102\4\uffff\1\102\1\uffff\32\102",
-            "\1\u0467",
-            "\1\u0468",
-            "",
-            "",
-            "",
             "\1\u0469",
             "",
+            "\1\u046a",
             "",
-            "\1\102\13\uffff\12\102\7\uffff\32\102\4\uffff\1\102\1\uffff\32\102",
-            "\1\102\13\uffff\12\102\7\uffff\32\102\4\uffff\1\102\1\uffff\32\102",
-            "\1\u046c",
+            "\1\u046b",
             "\1\102\13\uffff\12\102\7\uffff\32\102\4\uffff\1\102\1\uffff\32\102",
             "",
+            "",
+            "\1\u046d",
             "\1\102\13\uffff\12\102\7\uffff\32\102\4\uffff\1\102\1\uffff\32\102",
             "",
             "",
             "",
-            "\1\102\13\uffff\12\102\7\uffff\32\102\4\uffff\1\102\1\uffff\32\102",
             "",
-            "\1\u0470",
-            "",
-            "",
+            "\1\u046f",
             "\1\u0471",
             "\1\102\13\uffff\12\102\7\uffff\32\102\4\uffff\1\102\1\uffff\32\102",
+            "",
+            "\1\u0473",
             "\1\102\13\uffff\12\102\7\uffff\32\102\4\uffff\1\102\1\uffff\32\102",
-            "",
-            "",
-            "\1\u0474",
-            "",
-            "",
-            "",
-            "\1\u0475",
+            "\1\102\13\uffff\12\102\7\uffff\32\102\4\uffff\1\102\1\uffff\32\102",
             "\1\u0476",
+            "\1\u0477",
+            "",
+            "",
+            "",
+            "\1\u0478",
+            "",
+            "",
+            "\1\u0479",
+            "\1\u047a",
+            "\1\102\13\uffff\12\102\7\uffff\32\102\4\uffff\1\102\1\uffff\32\102",
+            "",
+            "\1\102\13\uffff\12\102\7\uffff\32\102\4\uffff\1\102\1\uffff\32\102",
+            "",
             "",
             "",
             "\1\102\13\uffff\12\102\7\uffff\32\102\4\uffff\1\102\1\uffff\32\102",
-            "\1\u0478",
-            "\1\u0479",
+            "",
+            "\1\u047e",
+            "",
+            "",
+            "\1\102\13\uffff\12\102\7\uffff\32\102\4\uffff\1\102\1\uffff\32\102",
+            "\1\u0480",
+            "\1\102\13\uffff\12\102\7\uffff\32\102\4\uffff\1\102\1\uffff\32\102",
+            "\1\102\13\uffff\12\102\7\uffff\32\102\4\uffff\1\102\1\uffff\32\102",
+            "\1\u0483",
+            "",
+            "",
+            "",
+            "\1\u0484",
+            "",
+            "\1\u0485",
+            "",
+            "",
+            "\1\102\13\uffff\12\102\7\uffff\32\102\4\uffff\1\102\1\uffff\32\102",
+            "\1\u0487",
+            "\1\u0488",
             "",
             "\1\102\13\uffff\12\102\7\uffff\32\102\4\uffff\1\102\1\uffff\32\102",
             "\1\102\13\uffff\12\102\7\uffff\32\102\4\uffff\1\102\1\uffff\32\102",
@@ -9488,7 +9648,7 @@
             this.transition = DFA21_transition;
         }
         public String getDescription() {
-            return "1:1: Tokens : ( T__13 | T__14 | T__15 | T__16 | T__17 | T__18 | T__19 | T__20 | T__21 | T__22 | T__23 | T__24 | T__25 | T__26 | T__27 | T__28 | T__29 | T__30 | T__31 | T__32 | T__33 | T__34 | T__35 | T__36 | T__37 | T__38 | T__39 | T__40 | T__41 | T__42 | T__43 | T__44 | T__45 | T__46 | T__47 | T__48 | T__49 | T__50 | T__51 | T__52 | T__53 | T__54 | T__55 | T__56 | T__57 | T__58 | T__59 | T__60 | T__61 | T__62 | T__63 | T__64 | T__65 | T__66 | T__67 | T__68 | T__69 | T__70 | T__71 | T__72 | T__73 | T__74 | T__75 | T__76 | T__77 | T__78 | T__79 | T__80 | T__81 | T__82 | T__83 | T__84 | T__85 | T__86 | T__87 | T__88 | T__89 | T__90 | T__91 | T__92 | T__93 | T__94 | T__95 | T__96 | T__97 | T__98 | T__99 | T__100 | T__101 | T__102 | T__103 | T__104 | T__105 | T__106 | T__107 | T__108 | T__109 | T__110 | T__111 | T__112 | T__113 | T__114 | T__115 | T__116 | T__117 | T__118 | T__119 | T__120 | T__121 | T__122 | T__123 | T__124 | T__125 | T__126 | T__127 | T__128 | T__129 | T__130 | T__131 | T__132 | T__133 | T__134 | T__135 | T__136 | T__137 | T__138 | T__139 | T__140 | T__141 | T__142 | T__143 | T__144 | T__145 | T__146 | T__147 | T__148 | T__149 | T__150 | T__151 | T__152 | T__153 | T__154 | T__155 | T__156 | T__157 | T__158 | T__159 | T__160 | T__161 | T__162 | T__163 | T__164 | T__165 | T__166 | T__167 | T__168 | T__169 | T__170 | T__171 | T__172 | T__173 | T__174 | T__175 | T__176 | T__177 | T__178 | T__179 | T__180 | T__181 | T__182 | T__183 | T__184 | T__185 | T__186 | T__187 | T__188 | T__189 | T__190 | T__191 | T__192 | T__193 | T__194 | T__195 | T__196 | T__197 | T__198 | T__199 | T__200 | T__201 | T__202 | T__203 | T__204 | T__205 | T__206 | T__207 | T__208 | T__209 | T__210 | T__211 | T__212 | T__213 | T__214 | T__215 | T__216 | T__217 | T__218 | T__219 | T__220 | T__221 | T__222 | T__223 | T__224 | T__225 | T__226 | T__227 | T__228 | T__229 | T__230 | T__231 | T__232 | T__233 | T__234 | T__235 | T__236 | T__237 | T__238 | T__239 | T__240 | T__241 | T__242 | T__243 | T__244 | T__245 | T__246 | T__247 | T__248 | T__249 | T__250 | T__251 | T__252 | T__253 | T__254 | T__255 | T__256 | T__257 | T__258 | T__259 | T__260 | T__261 | T__262 | T__263 | T__264 | T__265 | T__266 | RULE_HEX | RULE_INT | RULE_DECIMAL | RULE_ID | RULE_STRING | RULE_ML_COMMENT | RULE_SL_COMMENT | RULE_WS | RULE_ANY_OTHER );";
+            return "1:1: Tokens : ( T__13 | T__14 | T__15 | T__16 | T__17 | T__18 | T__19 | T__20 | T__21 | T__22 | T__23 | T__24 | T__25 | T__26 | T__27 | T__28 | T__29 | T__30 | T__31 | T__32 | T__33 | T__34 | T__35 | T__36 | T__37 | T__38 | T__39 | T__40 | T__41 | T__42 | T__43 | T__44 | T__45 | T__46 | T__47 | T__48 | T__49 | T__50 | T__51 | T__52 | T__53 | T__54 | T__55 | T__56 | T__57 | T__58 | T__59 | T__60 | T__61 | T__62 | T__63 | T__64 | T__65 | T__66 | T__67 | T__68 | T__69 | T__70 | T__71 | T__72 | T__73 | T__74 | T__75 | T__76 | T__77 | T__78 | T__79 | T__80 | T__81 | T__82 | T__83 | T__84 | T__85 | T__86 | T__87 | T__88 | T__89 | T__90 | T__91 | T__92 | T__93 | T__94 | T__95 | T__96 | T__97 | T__98 | T__99 | T__100 | T__101 | T__102 | T__103 | T__104 | T__105 | T__106 | T__107 | T__108 | T__109 | T__110 | T__111 | T__112 | T__113 | T__114 | T__115 | T__116 | T__117 | T__118 | T__119 | T__120 | T__121 | T__122 | T__123 | T__124 | T__125 | T__126 | T__127 | T__128 | T__129 | T__130 | T__131 | T__132 | T__133 | T__134 | T__135 | T__136 | T__137 | T__138 | T__139 | T__140 | T__141 | T__142 | T__143 | T__144 | T__145 | T__146 | T__147 | T__148 | T__149 | T__150 | T__151 | T__152 | T__153 | T__154 | T__155 | T__156 | T__157 | T__158 | T__159 | T__160 | T__161 | T__162 | T__163 | T__164 | T__165 | T__166 | T__167 | T__168 | T__169 | T__170 | T__171 | T__172 | T__173 | T__174 | T__175 | T__176 | T__177 | T__178 | T__179 | T__180 | T__181 | T__182 | T__183 | T__184 | T__185 | T__186 | T__187 | T__188 | T__189 | T__190 | T__191 | T__192 | T__193 | T__194 | T__195 | T__196 | T__197 | T__198 | T__199 | T__200 | T__201 | T__202 | T__203 | T__204 | T__205 | T__206 | T__207 | T__208 | T__209 | T__210 | T__211 | T__212 | T__213 | T__214 | T__215 | T__216 | T__217 | T__218 | T__219 | T__220 | T__221 | T__222 | T__223 | T__224 | T__225 | T__226 | T__227 | T__228 | T__229 | T__230 | T__231 | T__232 | T__233 | T__234 | T__235 | T__236 | T__237 | T__238 | T__239 | T__240 | T__241 | T__242 | T__243 | T__244 | T__245 | T__246 | T__247 | T__248 | T__249 | T__250 | T__251 | T__252 | T__253 | T__254 | T__255 | T__256 | T__257 | T__258 | T__259 | T__260 | T__261 | T__262 | T__263 | T__264 | T__265 | T__266 | T__267 | T__268 | T__269 | T__270 | T__271 | RULE_HEX | RULE_INT | RULE_DECIMAL | RULE_ID | RULE_STRING | RULE_ML_COMMENT | RULE_SL_COMMENT | RULE_WS | RULE_ANY_OTHER );";
         }
         public int specialStateTransition(int s, IntStream _input) throws NoViableAltException {
             IntStream input = _input;
@@ -9554,13 +9714,13 @@
 
                         else if ( (LA21_0=='r') ) {s = 28;}
 
-                        else if ( (LA21_0=='g') ) {s = 29;}
+                        else if ( (LA21_0=='b') ) {s = 29;}
 
-                        else if ( (LA21_0=='h') ) {s = 30;}
+                        else if ( (LA21_0=='t') ) {s = 30;}
 
-                        else if ( (LA21_0=='b') ) {s = 31;}
+                        else if ( (LA21_0=='g') ) {s = 31;}
 
-                        else if ( (LA21_0=='t') ) {s = 32;}
+                        else if ( (LA21_0=='h') ) {s = 32;}
 
                         else if ( (LA21_0=='{') ) {s = 33;}
 
diff --git a/org.eclipse.osbp.xtext.reportdsl.ide/src-gen/org/eclipse/osbp/xtext/reportdsl/ide/contentassist/antlr/internal/InternalReportDSLParser.java b/org.eclipse.osbp.xtext.reportdsl.ide/src-gen/org/eclipse/osbp/xtext/reportdsl/ide/contentassist/antlr/internal/InternalReportDSLParser.java
index 1253f8f..4cbfed9 100644
--- a/org.eclipse.osbp.xtext.reportdsl.ide/src-gen/org/eclipse/osbp/xtext/reportdsl/ide/contentassist/antlr/internal/InternalReportDSLParser.java
+++ b/org.eclipse.osbp.xtext.reportdsl.ide/src-gen/org/eclipse/osbp/xtext/reportdsl/ide/contentassist/antlr/internal/InternalReportDSLParser.java
@@ -23,13 +23,14 @@
 @SuppressWarnings("all")
 public class InternalReportDSLParser extends AbstractInternalContentAssistParser {
     public static final String[] tokenNames = new String[] {
-        "<invalid>", "<EOR>", "<DOWN>", "<UP>", "RULE_STRING", "RULE_ID", "RULE_HEX", "RULE_INT", "RULE_DECIMAL", "RULE_ML_COMMENT", "RULE_SL_COMMENT", "RULE_WS", "RULE_ANY_OTHER", "'='", "'||'", "'&&'", "'custom'", "'divide'", "'concat'", "'all'", "'+='", "'-='", "'*='", "'/='", "'%='", "'=='", "'!='", "'==='", "'!=='", "'>='", "'>'", "'<'", "'->'", "'..<'", "'..'", "'=>'", "'<>'", "'?:'", "'+'", "'-'", "'*'", "'**'", "'/'", "'%'", "'!'", "'++'", "'--'", "'.'", "'val'", "'extends'", "'static'", "'import'", "'extension'", "'super'", "'false'", "'mm'", "'cm'", "'pt'", "'inch'", "'pc'", "'em'", "'ex'", "'px'", "'a4'", "'a3'", "'a5'", "'us-letter'", "'us-legal'", "'us-ledger'", "'us-super-b'", "'portrait'", "'landscape'", "'normal'", "'italic'", "'oblique'", "'monospace'", "'sans-serif'", "'serif'", "'left'", "'center'", "'right'", "'unformatted'", "'general-number'", "'fixed'", "'percent'", "'scientific'", "'currency'", "'html'", "'pdf'", "'count'", "'running-count'", "'sum'", "'average'", "'minimum'", "'maximum'", "'running-sum'", "'auto'", "'always'", "'avoid'", "'rising'", "'bad-rising'", "'sloping'", "'good-sloping'", "'stagnating'", "'none'", "'solid'", "'dotted'", "'dashed'", "'double'", "'groove'", "'ridge'", "'inset'", "'outset'", "'page-number'", "'total-page'", "'page-number-unfiltered'", "'total-page-unfiltered'", "'page-variable'", "'size-to-image'", "'scale-to-item'", "'clip'", "'url'", "'embed'", "'plain'", "'package'", "'{'", "'}'", "'layout-data'", "'externalCssURI'", "'fromBundle'", "'formatters'", "'colors'", "'fonts'", "'medias'", "'media'", "'styles'", "'pagetemplate'", "'type'", "'orientation'", "'topmargin'", "'leftmargin'", "'bottommargin'", "'rightmargin'", "'color'", "'darkens'", "'by-percent'", "'lightens'", "'transforms'", "'towards'", "'font'", "'family'", "'size'", "'style'", "'formatter'", "'backgroundcolor'", "'alternate'", "'textcolor'", "'textalign'", "'border-top'", "'border-bottom'", "'border-left'", "'border-right'", "'padding-top'", "'padding-bottom'", "'padding-left'", "'padding-right'", "'margin-top'", "'margin-bottom'", "'margin-left'", "'margin-right'", "'uomo'", "'ui'", "'report'", "'number'", "'date'", "'date+time'", "'time'", "'datamart'", "'rendering'", "'toolbar'", "'defaultUnit'", "'file'", "'template'", "'describedBy'", "'header'", "'height'", "'detail'", "'footer'", "'grid'", "'as'", "'width'", "'row'", "'cell'", "'columnspan'", "'table'", "'group'", "'by'", "'details'", "'intervals'", "'lookups'", "'attribute'", "'aggregate'", "'on-group'", "'title'", "'('", "')'", "'translatable'", "'nontranslatable'", "'stringBinder'", "'pageBreak'", "'before'", "'after'", "'inside'", "'upTo'", "'daysInPast'", "'string'", "'cellcolor'", "'icon'", "'trend'", "'subtitle'", "'subsubtitle'", "'label'", "'text'", "'autotext'", "'image'", "'scale'", "';'", "'@'", "','", "']'", "'#'", "'['", "'instanceof'", "'if'", "'else'", "'switch'", "':'", "'default'", "'case'", "'for'", "'while'", "'do'", "'new'", "'null'", "'typeof'", "'throw'", "'return'", "'try'", "'finally'", "'synchronized'", "'catch'", "'?'", "'&'", "'bold'", "'selectById'", "'showOnFirst'", "'showOnLast'", "'detailheader'", "'detailfooter'", "'hidelabel'", "'visibility'", "'ns'", "'::'", "'?.'", "'|'", "'var'", "'true'"
+        "<invalid>", "<EOR>", "<DOWN>", "<UP>", "RULE_STRING", "RULE_ID", "RULE_HEX", "RULE_INT", "RULE_DECIMAL", "RULE_ML_COMMENT", "RULE_SL_COMMENT", "RULE_WS", "RULE_ANY_OTHER", "'='", "'||'", "'&&'", "'custom'", "'divide'", "'concat'", "'all'", "'+='", "'-='", "'*='", "'/='", "'%='", "'=='", "'!='", "'==='", "'!=='", "'>='", "'>'", "'<'", "'->'", "'..<'", "'..'", "'=>'", "'<>'", "'?:'", "'+'", "'-'", "'*'", "'**'", "'/'", "'%'", "'!'", "'++'", "'--'", "'.'", "'val'", "'extends'", "'static'", "'import'", "'extension'", "'super'", "'false'", "'mm'", "'cm'", "'pt'", "'inch'", "'pc'", "'em'", "'ex'", "'px'", "'a4'", "'a3'", "'a5'", "'us-letter'", "'us-legal'", "'us-ledger'", "'us-super-b'", "'portrait'", "'landscape'", "'normal'", "'italic'", "'oblique'", "'monospace'", "'sans-serif'", "'serif'", "'left'", "'center'", "'right'", "'bottom'", "'middle'", "'top'", "'unformatted'", "'general-number'", "'fixed'", "'percent'", "'scientific'", "'currency'", "'html'", "'pdf'", "'count'", "'running-count'", "'sum'", "'average'", "'minimum'", "'maximum'", "'running-sum'", "'auto'", "'always'", "'avoid'", "'rising'", "'bad-rising'", "'sloping'", "'good-sloping'", "'stagnating'", "'none'", "'solid'", "'dotted'", "'dashed'", "'double'", "'groove'", "'ridge'", "'inset'", "'outset'", "'page-number'", "'total-page'", "'page-number-unfiltered'", "'total-page-unfiltered'", "'page-variable'", "'actual-date'", "'actual-time'", "'report-name'", "'size-to-image'", "'scale-to-item'", "'clip'", "'url'", "'embed'", "'plain'", "'package'", "'{'", "'}'", "'layout-data'", "'externalCssURI'", "'fromBundle'", "'formatters'", "'colors'", "'fonts'", "'medias'", "'media'", "'styles'", "'pagetemplate'", "'type'", "'orientation'", "'topmargin'", "'leftmargin'", "'bottommargin'", "'rightmargin'", "'color'", "'darkens'", "'by-percent'", "'lightens'", "'transforms'", "'towards'", "'font'", "'family'", "'size'", "'style'", "'formatter'", "'backgroundcolor'", "'alternate'", "'textcolor'", "'textalign'", "'verticalalign'", "'border-top'", "'border-bottom'", "'border-left'", "'border-right'", "'padding-top'", "'padding-bottom'", "'padding-left'", "'padding-right'", "'margin-top'", "'margin-bottom'", "'margin-left'", "'margin-right'", "'uomo'", "'ui'", "'report'", "'number'", "'date'", "'date+time'", "'time'", "'datamart'", "'rendering'", "'toolbar'", "'defaultUnit'", "'file'", "'template'", "'describedBy'", "'header'", "'height'", "'detail'", "'footer'", "'grid'", "'as'", "'width'", "'row'", "'cell'", "'columnspan'", "'table'", "'group'", "'by'", "'details'", "'intervals'", "'lookups'", "'attribute'", "'aggregate'", "'on-group'", "'title'", "'('", "')'", "'translatable'", "'nontranslatable'", "'stringBinder'", "'pageBreak'", "'before'", "'after'", "'inside'", "'upTo'", "'daysInPast'", "'string'", "'cellcolor'", "'icon'", "'trend'", "'subtitle'", "'subsubtitle'", "'label'", "'text'", "'autotext'", "'image'", "'scale'", "';'", "'@'", "','", "']'", "'#'", "'['", "'instanceof'", "'if'", "'else'", "'switch'", "':'", "'default'", "'case'", "'for'", "'while'", "'do'", "'new'", "'null'", "'typeof'", "'throw'", "'return'", "'try'", "'finally'", "'synchronized'", "'catch'", "'?'", "'&'", "'bold'", "'selectById'", "'showOnFirst'", "'showOnLast'", "'hidelabel'", "'visibility'", "'ns'", "'::'", "'?.'", "'|'", "'var'", "'true'"
     };
     public static final int T__144=144;
     public static final int T__265=265;
     public static final int T__143=143;
     public static final int T__264=264;
     public static final int T__146=146;
+    public static final int T__267=267;
     public static final int T__50=50;
     public static final int T__145=145;
     public static final int T__266=266;
@@ -117,8 +118,10 @@
     public static final int T__156=156;
     public static final int T__151=151;
     public static final int T__150=150;
+    public static final int T__271=271;
     public static final int T__153=153;
     public static final int T__152=152;
+    public static final int T__270=270;
     public static final int T__48=48;
     public static final int T__49=49;
     public static final int T__44=44;
@@ -127,8 +130,10 @@
     public static final int T__47=47;
     public static final int T__40=40;
     public static final int T__148=148;
+    public static final int T__269=269;
     public static final int T__41=41;
     public static final int T__147=147;
+    public static final int T__268=268;
     public static final int T__42=42;
     public static final int T__43=43;
     public static final int T__149=149;
@@ -3634,23 +3639,23 @@
     // $ANTLR end "ruleDatamartTableGroup"
 
 
-    // $ANTLR start "entryRuleDatamartTableGroupHeader"
-    // InternalReportDSL.g:1029:1: entryRuleDatamartTableGroupHeader : ruleDatamartTableGroupHeader EOF ;
-    public final void entryRuleDatamartTableGroupHeader() throws RecognitionException {
+    // $ANTLR start "entryRuleDatamartTableHeader"
+    // InternalReportDSL.g:1029:1: entryRuleDatamartTableHeader : ruleDatamartTableHeader EOF ;
+    public final void entryRuleDatamartTableHeader() throws RecognitionException {
         try {
-            // InternalReportDSL.g:1030:1: ( ruleDatamartTableGroupHeader EOF )
-            // InternalReportDSL.g:1031:1: ruleDatamartTableGroupHeader EOF
+            // InternalReportDSL.g:1030:1: ( ruleDatamartTableHeader EOF )
+            // InternalReportDSL.g:1031:1: ruleDatamartTableHeader EOF
             {
             if ( state.backtracking==0 ) {
-               before(grammarAccess.getDatamartTableGroupHeaderRule()); 
+               before(grammarAccess.getDatamartTableHeaderRule()); 
             }
             pushFollow(FOLLOW_1);
-            ruleDatamartTableGroupHeader();
+            ruleDatamartTableHeader();
 
             state._fsp--;
             if (state.failed) return ;
             if ( state.backtracking==0 ) {
-               after(grammarAccess.getDatamartTableGroupHeaderRule()); 
+               after(grammarAccess.getDatamartTableHeaderRule()); 
             }
             match(input,EOF,FOLLOW_2); if (state.failed) return ;
 
@@ -3665,30 +3670,30 @@
         }
         return ;
     }
-    // $ANTLR end "entryRuleDatamartTableGroupHeader"
+    // $ANTLR end "entryRuleDatamartTableHeader"
 
 
-    // $ANTLR start "ruleDatamartTableGroupHeader"
-    // InternalReportDSL.g:1038:1: ruleDatamartTableGroupHeader : ( ( rule__DatamartTableGroupHeader__Group__0 ) ) ;
-    public final void ruleDatamartTableGroupHeader() throws RecognitionException {
+    // $ANTLR start "ruleDatamartTableHeader"
+    // InternalReportDSL.g:1038:1: ruleDatamartTableHeader : ( ( rule__DatamartTableHeader__Group__0 ) ) ;
+    public final void ruleDatamartTableHeader() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:1042:2: ( ( ( rule__DatamartTableGroupHeader__Group__0 ) ) )
-            // InternalReportDSL.g:1043:2: ( ( rule__DatamartTableGroupHeader__Group__0 ) )
+            // InternalReportDSL.g:1042:2: ( ( ( rule__DatamartTableHeader__Group__0 ) ) )
+            // InternalReportDSL.g:1043:2: ( ( rule__DatamartTableHeader__Group__0 ) )
             {
-            // InternalReportDSL.g:1043:2: ( ( rule__DatamartTableGroupHeader__Group__0 ) )
-            // InternalReportDSL.g:1044:3: ( rule__DatamartTableGroupHeader__Group__0 )
+            // InternalReportDSL.g:1043:2: ( ( rule__DatamartTableHeader__Group__0 ) )
+            // InternalReportDSL.g:1044:3: ( rule__DatamartTableHeader__Group__0 )
             {
             if ( state.backtracking==0 ) {
-               before(grammarAccess.getDatamartTableGroupHeaderAccess().getGroup()); 
+               before(grammarAccess.getDatamartTableHeaderAccess().getGroup()); 
             }
-            // InternalReportDSL.g:1045:3: ( rule__DatamartTableGroupHeader__Group__0 )
-            // InternalReportDSL.g:1045:4: rule__DatamartTableGroupHeader__Group__0
+            // InternalReportDSL.g:1045:3: ( rule__DatamartTableHeader__Group__0 )
+            // InternalReportDSL.g:1045:4: rule__DatamartTableHeader__Group__0
             {
             pushFollow(FOLLOW_2);
-            rule__DatamartTableGroupHeader__Group__0();
+            rule__DatamartTableHeader__Group__0();
 
             state._fsp--;
             if (state.failed) return ;
@@ -3696,7 +3701,7 @@
             }
 
             if ( state.backtracking==0 ) {
-               after(grammarAccess.getDatamartTableGroupHeaderAccess().getGroup()); 
+               after(grammarAccess.getDatamartTableHeaderAccess().getGroup()); 
             }
 
             }
@@ -3716,26 +3721,26 @@
         }
         return ;
     }
-    // $ANTLR end "ruleDatamartTableGroupHeader"
+    // $ANTLR end "ruleDatamartTableHeader"
 
 
-    // $ANTLR start "entryRuleDatamartTableGroupFooter"
-    // InternalReportDSL.g:1054:1: entryRuleDatamartTableGroupFooter : ruleDatamartTableGroupFooter EOF ;
-    public final void entryRuleDatamartTableGroupFooter() throws RecognitionException {
+    // $ANTLR start "entryRuleDatamartTableFooter"
+    // InternalReportDSL.g:1054:1: entryRuleDatamartTableFooter : ruleDatamartTableFooter EOF ;
+    public final void entryRuleDatamartTableFooter() throws RecognitionException {
         try {
-            // InternalReportDSL.g:1055:1: ( ruleDatamartTableGroupFooter EOF )
-            // InternalReportDSL.g:1056:1: ruleDatamartTableGroupFooter EOF
+            // InternalReportDSL.g:1055:1: ( ruleDatamartTableFooter EOF )
+            // InternalReportDSL.g:1056:1: ruleDatamartTableFooter EOF
             {
             if ( state.backtracking==0 ) {
-               before(grammarAccess.getDatamartTableGroupFooterRule()); 
+               before(grammarAccess.getDatamartTableFooterRule()); 
             }
             pushFollow(FOLLOW_1);
-            ruleDatamartTableGroupFooter();
+            ruleDatamartTableFooter();
 
             state._fsp--;
             if (state.failed) return ;
             if ( state.backtracking==0 ) {
-               after(grammarAccess.getDatamartTableGroupFooterRule()); 
+               after(grammarAccess.getDatamartTableFooterRule()); 
             }
             match(input,EOF,FOLLOW_2); if (state.failed) return ;
 
@@ -3750,30 +3755,30 @@
         }
         return ;
     }
-    // $ANTLR end "entryRuleDatamartTableGroupFooter"
+    // $ANTLR end "entryRuleDatamartTableFooter"
 
 
-    // $ANTLR start "ruleDatamartTableGroupFooter"
-    // InternalReportDSL.g:1063:1: ruleDatamartTableGroupFooter : ( ( rule__DatamartTableGroupFooter__Group__0 ) ) ;
-    public final void ruleDatamartTableGroupFooter() throws RecognitionException {
+    // $ANTLR start "ruleDatamartTableFooter"
+    // InternalReportDSL.g:1063:1: ruleDatamartTableFooter : ( ( rule__DatamartTableFooter__Group__0 ) ) ;
+    public final void ruleDatamartTableFooter() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:1067:2: ( ( ( rule__DatamartTableGroupFooter__Group__0 ) ) )
-            // InternalReportDSL.g:1068:2: ( ( rule__DatamartTableGroupFooter__Group__0 ) )
+            // InternalReportDSL.g:1067:2: ( ( ( rule__DatamartTableFooter__Group__0 ) ) )
+            // InternalReportDSL.g:1068:2: ( ( rule__DatamartTableFooter__Group__0 ) )
             {
-            // InternalReportDSL.g:1068:2: ( ( rule__DatamartTableGroupFooter__Group__0 ) )
-            // InternalReportDSL.g:1069:3: ( rule__DatamartTableGroupFooter__Group__0 )
+            // InternalReportDSL.g:1068:2: ( ( rule__DatamartTableFooter__Group__0 ) )
+            // InternalReportDSL.g:1069:3: ( rule__DatamartTableFooter__Group__0 )
             {
             if ( state.backtracking==0 ) {
-               before(grammarAccess.getDatamartTableGroupFooterAccess().getGroup()); 
+               before(grammarAccess.getDatamartTableFooterAccess().getGroup()); 
             }
-            // InternalReportDSL.g:1070:3: ( rule__DatamartTableGroupFooter__Group__0 )
-            // InternalReportDSL.g:1070:4: rule__DatamartTableGroupFooter__Group__0
+            // InternalReportDSL.g:1070:3: ( rule__DatamartTableFooter__Group__0 )
+            // InternalReportDSL.g:1070:4: rule__DatamartTableFooter__Group__0
             {
             pushFollow(FOLLOW_2);
-            rule__DatamartTableGroupFooter__Group__0();
+            rule__DatamartTableFooter__Group__0();
 
             state._fsp--;
             if (state.failed) return ;
@@ -3781,7 +3786,7 @@
             }
 
             if ( state.backtracking==0 ) {
-               after(grammarAccess.getDatamartTableGroupFooterAccess().getGroup()); 
+               after(grammarAccess.getDatamartTableFooterAccess().getGroup()); 
             }
 
             }
@@ -3801,7 +3806,7 @@
         }
         return ;
     }
-    // $ANTLR end "ruleDatamartTableGroupFooter"
+    // $ANTLR end "ruleDatamartTableFooter"
 
 
     // $ANTLR start "entryRuleDatamartTableDetail"
@@ -14192,24 +14197,75 @@
     // $ANTLR end "ruleTextAlignEnum"
 
 
+    // $ANTLR start "ruleVerticalTextAlignEnum"
+    // InternalReportDSL.g:4147:1: ruleVerticalTextAlignEnum : ( ( rule__VerticalTextAlignEnum__Alternatives ) ) ;
+    public final void ruleVerticalTextAlignEnum() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+        	
+        try {
+            // InternalReportDSL.g:4151:1: ( ( ( rule__VerticalTextAlignEnum__Alternatives ) ) )
+            // InternalReportDSL.g:4152:2: ( ( rule__VerticalTextAlignEnum__Alternatives ) )
+            {
+            // InternalReportDSL.g:4152:2: ( ( rule__VerticalTextAlignEnum__Alternatives ) )
+            // InternalReportDSL.g:4153:3: ( rule__VerticalTextAlignEnum__Alternatives )
+            {
+            if ( state.backtracking==0 ) {
+               before(grammarAccess.getVerticalTextAlignEnumAccess().getAlternatives()); 
+            }
+            // InternalReportDSL.g:4154:3: ( rule__VerticalTextAlignEnum__Alternatives )
+            // InternalReportDSL.g:4154:4: rule__VerticalTextAlignEnum__Alternatives
+            {
+            pushFollow(FOLLOW_2);
+            rule__VerticalTextAlignEnum__Alternatives();
+
+            state._fsp--;
+            if (state.failed) return ;
+
+            }
+
+            if ( state.backtracking==0 ) {
+               after(grammarAccess.getVerticalTextAlignEnumAccess().getAlternatives()); 
+            }
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "ruleVerticalTextAlignEnum"
+
+
     // $ANTLR start "ruleNumberFormatCategoryEnum"
-    // InternalReportDSL.g:4147:1: ruleNumberFormatCategoryEnum : ( ( rule__NumberFormatCategoryEnum__Alternatives ) ) ;
+    // InternalReportDSL.g:4163:1: ruleNumberFormatCategoryEnum : ( ( rule__NumberFormatCategoryEnum__Alternatives ) ) ;
     public final void ruleNumberFormatCategoryEnum() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:4151:1: ( ( ( rule__NumberFormatCategoryEnum__Alternatives ) ) )
-            // InternalReportDSL.g:4152:2: ( ( rule__NumberFormatCategoryEnum__Alternatives ) )
+            // InternalReportDSL.g:4167:1: ( ( ( rule__NumberFormatCategoryEnum__Alternatives ) ) )
+            // InternalReportDSL.g:4168:2: ( ( rule__NumberFormatCategoryEnum__Alternatives ) )
             {
-            // InternalReportDSL.g:4152:2: ( ( rule__NumberFormatCategoryEnum__Alternatives ) )
-            // InternalReportDSL.g:4153:3: ( rule__NumberFormatCategoryEnum__Alternatives )
+            // InternalReportDSL.g:4168:2: ( ( rule__NumberFormatCategoryEnum__Alternatives ) )
+            // InternalReportDSL.g:4169:3: ( rule__NumberFormatCategoryEnum__Alternatives )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getNumberFormatCategoryEnumAccess().getAlternatives()); 
             }
-            // InternalReportDSL.g:4154:3: ( rule__NumberFormatCategoryEnum__Alternatives )
-            // InternalReportDSL.g:4154:4: rule__NumberFormatCategoryEnum__Alternatives
+            // InternalReportDSL.g:4170:3: ( rule__NumberFormatCategoryEnum__Alternatives )
+            // InternalReportDSL.g:4170:4: rule__NumberFormatCategoryEnum__Alternatives
             {
             pushFollow(FOLLOW_2);
             rule__NumberFormatCategoryEnum__Alternatives();
@@ -14244,23 +14300,23 @@
 
 
     // $ANTLR start "ruleCurrencyFormatCategoryEnum"
-    // InternalReportDSL.g:4163:1: ruleCurrencyFormatCategoryEnum : ( ( rule__CurrencyFormatCategoryEnum__Alternatives ) ) ;
+    // InternalReportDSL.g:4179:1: ruleCurrencyFormatCategoryEnum : ( ( rule__CurrencyFormatCategoryEnum__Alternatives ) ) ;
     public final void ruleCurrencyFormatCategoryEnum() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:4167:1: ( ( ( rule__CurrencyFormatCategoryEnum__Alternatives ) ) )
-            // InternalReportDSL.g:4168:2: ( ( rule__CurrencyFormatCategoryEnum__Alternatives ) )
+            // InternalReportDSL.g:4183:1: ( ( ( rule__CurrencyFormatCategoryEnum__Alternatives ) ) )
+            // InternalReportDSL.g:4184:2: ( ( rule__CurrencyFormatCategoryEnum__Alternatives ) )
             {
-            // InternalReportDSL.g:4168:2: ( ( rule__CurrencyFormatCategoryEnum__Alternatives ) )
-            // InternalReportDSL.g:4169:3: ( rule__CurrencyFormatCategoryEnum__Alternatives )
+            // InternalReportDSL.g:4184:2: ( ( rule__CurrencyFormatCategoryEnum__Alternatives ) )
+            // InternalReportDSL.g:4185:3: ( rule__CurrencyFormatCategoryEnum__Alternatives )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getCurrencyFormatCategoryEnumAccess().getAlternatives()); 
             }
-            // InternalReportDSL.g:4170:3: ( rule__CurrencyFormatCategoryEnum__Alternatives )
-            // InternalReportDSL.g:4170:4: rule__CurrencyFormatCategoryEnum__Alternatives
+            // InternalReportDSL.g:4186:3: ( rule__CurrencyFormatCategoryEnum__Alternatives )
+            // InternalReportDSL.g:4186:4: rule__CurrencyFormatCategoryEnum__Alternatives
             {
             pushFollow(FOLLOW_2);
             rule__CurrencyFormatCategoryEnum__Alternatives();
@@ -14295,23 +14351,23 @@
 
 
     // $ANTLR start "ruleDateFormatCategoryEnum"
-    // InternalReportDSL.g:4179:1: ruleDateFormatCategoryEnum : ( ( 'custom' ) ) ;
+    // InternalReportDSL.g:4195:1: ruleDateFormatCategoryEnum : ( ( 'custom' ) ) ;
     public final void ruleDateFormatCategoryEnum() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:4183:1: ( ( ( 'custom' ) ) )
-            // InternalReportDSL.g:4184:2: ( ( 'custom' ) )
+            // InternalReportDSL.g:4199:1: ( ( ( 'custom' ) ) )
+            // InternalReportDSL.g:4200:2: ( ( 'custom' ) )
             {
-            // InternalReportDSL.g:4184:2: ( ( 'custom' ) )
-            // InternalReportDSL.g:4185:3: ( 'custom' )
+            // InternalReportDSL.g:4200:2: ( ( 'custom' ) )
+            // InternalReportDSL.g:4201:3: ( 'custom' )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getDateFormatCategoryEnumAccess().getCUSTOMEnumLiteralDeclaration()); 
             }
-            // InternalReportDSL.g:4186:3: ( 'custom' )
-            // InternalReportDSL.g:4186:4: 'custom'
+            // InternalReportDSL.g:4202:3: ( 'custom' )
+            // InternalReportDSL.g:4202:4: 'custom'
             {
             match(input,16,FOLLOW_2); if (state.failed) return ;
 
@@ -14342,23 +14398,23 @@
 
 
     // $ANTLR start "ruleDateTimeFormatCategoryEnum"
-    // InternalReportDSL.g:4195:1: ruleDateTimeFormatCategoryEnum : ( ( 'custom' ) ) ;
+    // InternalReportDSL.g:4211:1: ruleDateTimeFormatCategoryEnum : ( ( 'custom' ) ) ;
     public final void ruleDateTimeFormatCategoryEnum() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:4199:1: ( ( ( 'custom' ) ) )
-            // InternalReportDSL.g:4200:2: ( ( 'custom' ) )
+            // InternalReportDSL.g:4215:1: ( ( ( 'custom' ) ) )
+            // InternalReportDSL.g:4216:2: ( ( 'custom' ) )
             {
-            // InternalReportDSL.g:4200:2: ( ( 'custom' ) )
-            // InternalReportDSL.g:4201:3: ( 'custom' )
+            // InternalReportDSL.g:4216:2: ( ( 'custom' ) )
+            // InternalReportDSL.g:4217:3: ( 'custom' )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getDateTimeFormatCategoryEnumAccess().getCUSTOMEnumLiteralDeclaration()); 
             }
-            // InternalReportDSL.g:4202:3: ( 'custom' )
-            // InternalReportDSL.g:4202:4: 'custom'
+            // InternalReportDSL.g:4218:3: ( 'custom' )
+            // InternalReportDSL.g:4218:4: 'custom'
             {
             match(input,16,FOLLOW_2); if (state.failed) return ;
 
@@ -14389,23 +14445,23 @@
 
 
     // $ANTLR start "ruleTimeFormatCategoryEnum"
-    // InternalReportDSL.g:4211:1: ruleTimeFormatCategoryEnum : ( ( 'custom' ) ) ;
+    // InternalReportDSL.g:4227:1: ruleTimeFormatCategoryEnum : ( ( 'custom' ) ) ;
     public final void ruleTimeFormatCategoryEnum() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:4215:1: ( ( ( 'custom' ) ) )
-            // InternalReportDSL.g:4216:2: ( ( 'custom' ) )
+            // InternalReportDSL.g:4231:1: ( ( ( 'custom' ) ) )
+            // InternalReportDSL.g:4232:2: ( ( 'custom' ) )
             {
-            // InternalReportDSL.g:4216:2: ( ( 'custom' ) )
-            // InternalReportDSL.g:4217:3: ( 'custom' )
+            // InternalReportDSL.g:4232:2: ( ( 'custom' ) )
+            // InternalReportDSL.g:4233:3: ( 'custom' )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getTimeFormatCategoryEnumAccess().getCUSTOMEnumLiteralDeclaration()); 
             }
-            // InternalReportDSL.g:4218:3: ( 'custom' )
-            // InternalReportDSL.g:4218:4: 'custom'
+            // InternalReportDSL.g:4234:3: ( 'custom' )
+            // InternalReportDSL.g:4234:4: 'custom'
             {
             match(input,16,FOLLOW_2); if (state.failed) return ;
 
@@ -14436,23 +14492,23 @@
 
 
     // $ANTLR start "ruleRenderingEnum"
-    // InternalReportDSL.g:4227:1: ruleRenderingEnum : ( ( rule__RenderingEnum__Alternatives ) ) ;
+    // InternalReportDSL.g:4243:1: ruleRenderingEnum : ( ( rule__RenderingEnum__Alternatives ) ) ;
     public final void ruleRenderingEnum() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:4231:1: ( ( ( rule__RenderingEnum__Alternatives ) ) )
-            // InternalReportDSL.g:4232:2: ( ( rule__RenderingEnum__Alternatives ) )
+            // InternalReportDSL.g:4247:1: ( ( ( rule__RenderingEnum__Alternatives ) ) )
+            // InternalReportDSL.g:4248:2: ( ( rule__RenderingEnum__Alternatives ) )
             {
-            // InternalReportDSL.g:4232:2: ( ( rule__RenderingEnum__Alternatives ) )
-            // InternalReportDSL.g:4233:3: ( rule__RenderingEnum__Alternatives )
+            // InternalReportDSL.g:4248:2: ( ( rule__RenderingEnum__Alternatives ) )
+            // InternalReportDSL.g:4249:3: ( rule__RenderingEnum__Alternatives )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getRenderingEnumAccess().getAlternatives()); 
             }
-            // InternalReportDSL.g:4234:3: ( rule__RenderingEnum__Alternatives )
-            // InternalReportDSL.g:4234:4: rule__RenderingEnum__Alternatives
+            // InternalReportDSL.g:4250:3: ( rule__RenderingEnum__Alternatives )
+            // InternalReportDSL.g:4250:4: rule__RenderingEnum__Alternatives
             {
             pushFollow(FOLLOW_2);
             rule__RenderingEnum__Alternatives();
@@ -14487,23 +14543,23 @@
 
 
     // $ANTLR start "rulePureAggregationTypeEnum"
-    // InternalReportDSL.g:4243:1: rulePureAggregationTypeEnum : ( ( rule__PureAggregationTypeEnum__Alternatives ) ) ;
+    // InternalReportDSL.g:4259:1: rulePureAggregationTypeEnum : ( ( rule__PureAggregationTypeEnum__Alternatives ) ) ;
     public final void rulePureAggregationTypeEnum() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:4247:1: ( ( ( rule__PureAggregationTypeEnum__Alternatives ) ) )
-            // InternalReportDSL.g:4248:2: ( ( rule__PureAggregationTypeEnum__Alternatives ) )
+            // InternalReportDSL.g:4263:1: ( ( ( rule__PureAggregationTypeEnum__Alternatives ) ) )
+            // InternalReportDSL.g:4264:2: ( ( rule__PureAggregationTypeEnum__Alternatives ) )
             {
-            // InternalReportDSL.g:4248:2: ( ( rule__PureAggregationTypeEnum__Alternatives ) )
-            // InternalReportDSL.g:4249:3: ( rule__PureAggregationTypeEnum__Alternatives )
+            // InternalReportDSL.g:4264:2: ( ( rule__PureAggregationTypeEnum__Alternatives ) )
+            // InternalReportDSL.g:4265:3: ( rule__PureAggregationTypeEnum__Alternatives )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getPureAggregationTypeEnumAccess().getAlternatives()); 
             }
-            // InternalReportDSL.g:4250:3: ( rule__PureAggregationTypeEnum__Alternatives )
-            // InternalReportDSL.g:4250:4: rule__PureAggregationTypeEnum__Alternatives
+            // InternalReportDSL.g:4266:3: ( rule__PureAggregationTypeEnum__Alternatives )
+            // InternalReportDSL.g:4266:4: rule__PureAggregationTypeEnum__Alternatives
             {
             pushFollow(FOLLOW_2);
             rule__PureAggregationTypeEnum__Alternatives();
@@ -14538,23 +14594,23 @@
 
 
     // $ANTLR start "ruleUnaryAggregationTypeEnum"
-    // InternalReportDSL.g:4259:1: ruleUnaryAggregationTypeEnum : ( ( rule__UnaryAggregationTypeEnum__Alternatives ) ) ;
+    // InternalReportDSL.g:4275:1: ruleUnaryAggregationTypeEnum : ( ( rule__UnaryAggregationTypeEnum__Alternatives ) ) ;
     public final void ruleUnaryAggregationTypeEnum() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:4263:1: ( ( ( rule__UnaryAggregationTypeEnum__Alternatives ) ) )
-            // InternalReportDSL.g:4264:2: ( ( rule__UnaryAggregationTypeEnum__Alternatives ) )
+            // InternalReportDSL.g:4279:1: ( ( ( rule__UnaryAggregationTypeEnum__Alternatives ) ) )
+            // InternalReportDSL.g:4280:2: ( ( rule__UnaryAggregationTypeEnum__Alternatives ) )
             {
-            // InternalReportDSL.g:4264:2: ( ( rule__UnaryAggregationTypeEnum__Alternatives ) )
-            // InternalReportDSL.g:4265:3: ( rule__UnaryAggregationTypeEnum__Alternatives )
+            // InternalReportDSL.g:4280:2: ( ( rule__UnaryAggregationTypeEnum__Alternatives ) )
+            // InternalReportDSL.g:4281:3: ( rule__UnaryAggregationTypeEnum__Alternatives )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getUnaryAggregationTypeEnumAccess().getAlternatives()); 
             }
-            // InternalReportDSL.g:4266:3: ( rule__UnaryAggregationTypeEnum__Alternatives )
-            // InternalReportDSL.g:4266:4: rule__UnaryAggregationTypeEnum__Alternatives
+            // InternalReportDSL.g:4282:3: ( rule__UnaryAggregationTypeEnum__Alternatives )
+            // InternalReportDSL.g:4282:4: rule__UnaryAggregationTypeEnum__Alternatives
             {
             pushFollow(FOLLOW_2);
             rule__UnaryAggregationTypeEnum__Alternatives();
@@ -14589,23 +14645,23 @@
 
 
     // $ANTLR start "ruleBinaryAggregationTypeEnum"
-    // InternalReportDSL.g:4275:1: ruleBinaryAggregationTypeEnum : ( ( 'divide' ) ) ;
+    // InternalReportDSL.g:4291:1: ruleBinaryAggregationTypeEnum : ( ( 'divide' ) ) ;
     public final void ruleBinaryAggregationTypeEnum() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:4279:1: ( ( ( 'divide' ) ) )
-            // InternalReportDSL.g:4280:2: ( ( 'divide' ) )
+            // InternalReportDSL.g:4295:1: ( ( ( 'divide' ) ) )
+            // InternalReportDSL.g:4296:2: ( ( 'divide' ) )
             {
-            // InternalReportDSL.g:4280:2: ( ( 'divide' ) )
-            // InternalReportDSL.g:4281:3: ( 'divide' )
+            // InternalReportDSL.g:4296:2: ( ( 'divide' ) )
+            // InternalReportDSL.g:4297:3: ( 'divide' )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getBinaryAggregationTypeEnumAccess().getDIVEnumLiteralDeclaration()); 
             }
-            // InternalReportDSL.g:4282:3: ( 'divide' )
-            // InternalReportDSL.g:4282:4: 'divide'
+            // InternalReportDSL.g:4298:3: ( 'divide' )
+            // InternalReportDSL.g:4298:4: 'divide'
             {
             match(input,17,FOLLOW_2); if (state.failed) return ;
 
@@ -14636,23 +14692,23 @@
 
 
     // $ANTLR start "ruleMultipleAggregationTypeEnum"
-    // InternalReportDSL.g:4291:1: ruleMultipleAggregationTypeEnum : ( ( 'concat' ) ) ;
+    // InternalReportDSL.g:4307:1: ruleMultipleAggregationTypeEnum : ( ( 'concat' ) ) ;
     public final void ruleMultipleAggregationTypeEnum() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:4295:1: ( ( ( 'concat' ) ) )
-            // InternalReportDSL.g:4296:2: ( ( 'concat' ) )
+            // InternalReportDSL.g:4311:1: ( ( ( 'concat' ) ) )
+            // InternalReportDSL.g:4312:2: ( ( 'concat' ) )
             {
-            // InternalReportDSL.g:4296:2: ( ( 'concat' ) )
-            // InternalReportDSL.g:4297:3: ( 'concat' )
+            // InternalReportDSL.g:4312:2: ( ( 'concat' ) )
+            // InternalReportDSL.g:4313:3: ( 'concat' )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getMultipleAggregationTypeEnumAccess().getCONCATENATEEnumLiteralDeclaration()); 
             }
-            // InternalReportDSL.g:4298:3: ( 'concat' )
-            // InternalReportDSL.g:4298:4: 'concat'
+            // InternalReportDSL.g:4314:3: ( 'concat' )
+            // InternalReportDSL.g:4314:4: 'concat'
             {
             match(input,18,FOLLOW_2); if (state.failed) return ;
 
@@ -14683,23 +14739,23 @@
 
 
     // $ANTLR start "ruleBeforeAfterPageBreakEnum"
-    // InternalReportDSL.g:4307:1: ruleBeforeAfterPageBreakEnum : ( ( rule__BeforeAfterPageBreakEnum__Alternatives ) ) ;
+    // InternalReportDSL.g:4323:1: ruleBeforeAfterPageBreakEnum : ( ( rule__BeforeAfterPageBreakEnum__Alternatives ) ) ;
     public final void ruleBeforeAfterPageBreakEnum() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:4311:1: ( ( ( rule__BeforeAfterPageBreakEnum__Alternatives ) ) )
-            // InternalReportDSL.g:4312:2: ( ( rule__BeforeAfterPageBreakEnum__Alternatives ) )
+            // InternalReportDSL.g:4327:1: ( ( ( rule__BeforeAfterPageBreakEnum__Alternatives ) ) )
+            // InternalReportDSL.g:4328:2: ( ( rule__BeforeAfterPageBreakEnum__Alternatives ) )
             {
-            // InternalReportDSL.g:4312:2: ( ( rule__BeforeAfterPageBreakEnum__Alternatives ) )
-            // InternalReportDSL.g:4313:3: ( rule__BeforeAfterPageBreakEnum__Alternatives )
+            // InternalReportDSL.g:4328:2: ( ( rule__BeforeAfterPageBreakEnum__Alternatives ) )
+            // InternalReportDSL.g:4329:3: ( rule__BeforeAfterPageBreakEnum__Alternatives )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getBeforeAfterPageBreakEnumAccess().getAlternatives()); 
             }
-            // InternalReportDSL.g:4314:3: ( rule__BeforeAfterPageBreakEnum__Alternatives )
-            // InternalReportDSL.g:4314:4: rule__BeforeAfterPageBreakEnum__Alternatives
+            // InternalReportDSL.g:4330:3: ( rule__BeforeAfterPageBreakEnum__Alternatives )
+            // InternalReportDSL.g:4330:4: rule__BeforeAfterPageBreakEnum__Alternatives
             {
             pushFollow(FOLLOW_2);
             rule__BeforeAfterPageBreakEnum__Alternatives();
@@ -14734,23 +14790,23 @@
 
 
     // $ANTLR start "ruleInsidePageBreakEnum"
-    // InternalReportDSL.g:4323:1: ruleInsidePageBreakEnum : ( ( rule__InsidePageBreakEnum__Alternatives ) ) ;
+    // InternalReportDSL.g:4339:1: ruleInsidePageBreakEnum : ( ( rule__InsidePageBreakEnum__Alternatives ) ) ;
     public final void ruleInsidePageBreakEnum() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:4327:1: ( ( ( rule__InsidePageBreakEnum__Alternatives ) ) )
-            // InternalReportDSL.g:4328:2: ( ( rule__InsidePageBreakEnum__Alternatives ) )
+            // InternalReportDSL.g:4343:1: ( ( ( rule__InsidePageBreakEnum__Alternatives ) ) )
+            // InternalReportDSL.g:4344:2: ( ( rule__InsidePageBreakEnum__Alternatives ) )
             {
-            // InternalReportDSL.g:4328:2: ( ( rule__InsidePageBreakEnum__Alternatives ) )
-            // InternalReportDSL.g:4329:3: ( rule__InsidePageBreakEnum__Alternatives )
+            // InternalReportDSL.g:4344:2: ( ( rule__InsidePageBreakEnum__Alternatives ) )
+            // InternalReportDSL.g:4345:3: ( rule__InsidePageBreakEnum__Alternatives )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getInsidePageBreakEnumAccess().getAlternatives()); 
             }
-            // InternalReportDSL.g:4330:3: ( rule__InsidePageBreakEnum__Alternatives )
-            // InternalReportDSL.g:4330:4: rule__InsidePageBreakEnum__Alternatives
+            // InternalReportDSL.g:4346:3: ( rule__InsidePageBreakEnum__Alternatives )
+            // InternalReportDSL.g:4346:4: rule__InsidePageBreakEnum__Alternatives
             {
             pushFollow(FOLLOW_2);
             rule__InsidePageBreakEnum__Alternatives();
@@ -14785,23 +14841,23 @@
 
 
     // $ANTLR start "ruleTrendIconEnum"
-    // InternalReportDSL.g:4339:1: ruleTrendIconEnum : ( ( rule__TrendIconEnum__Alternatives ) ) ;
+    // InternalReportDSL.g:4355:1: ruleTrendIconEnum : ( ( rule__TrendIconEnum__Alternatives ) ) ;
     public final void ruleTrendIconEnum() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:4343:1: ( ( ( rule__TrendIconEnum__Alternatives ) ) )
-            // InternalReportDSL.g:4344:2: ( ( rule__TrendIconEnum__Alternatives ) )
+            // InternalReportDSL.g:4359:1: ( ( ( rule__TrendIconEnum__Alternatives ) ) )
+            // InternalReportDSL.g:4360:2: ( ( rule__TrendIconEnum__Alternatives ) )
             {
-            // InternalReportDSL.g:4344:2: ( ( rule__TrendIconEnum__Alternatives ) )
-            // InternalReportDSL.g:4345:3: ( rule__TrendIconEnum__Alternatives )
+            // InternalReportDSL.g:4360:2: ( ( rule__TrendIconEnum__Alternatives ) )
+            // InternalReportDSL.g:4361:3: ( rule__TrendIconEnum__Alternatives )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getTrendIconEnumAccess().getAlternatives()); 
             }
-            // InternalReportDSL.g:4346:3: ( rule__TrendIconEnum__Alternatives )
-            // InternalReportDSL.g:4346:4: rule__TrendIconEnum__Alternatives
+            // InternalReportDSL.g:4362:3: ( rule__TrendIconEnum__Alternatives )
+            // InternalReportDSL.g:4362:4: rule__TrendIconEnum__Alternatives
             {
             pushFollow(FOLLOW_2);
             rule__TrendIconEnum__Alternatives();
@@ -14836,23 +14892,23 @@
 
 
     // $ANTLR start "ruleBorderTypeEnum"
-    // InternalReportDSL.g:4355:1: ruleBorderTypeEnum : ( ( rule__BorderTypeEnum__Alternatives ) ) ;
+    // InternalReportDSL.g:4371:1: ruleBorderTypeEnum : ( ( rule__BorderTypeEnum__Alternatives ) ) ;
     public final void ruleBorderTypeEnum() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:4359:1: ( ( ( rule__BorderTypeEnum__Alternatives ) ) )
-            // InternalReportDSL.g:4360:2: ( ( rule__BorderTypeEnum__Alternatives ) )
+            // InternalReportDSL.g:4375:1: ( ( ( rule__BorderTypeEnum__Alternatives ) ) )
+            // InternalReportDSL.g:4376:2: ( ( rule__BorderTypeEnum__Alternatives ) )
             {
-            // InternalReportDSL.g:4360:2: ( ( rule__BorderTypeEnum__Alternatives ) )
-            // InternalReportDSL.g:4361:3: ( rule__BorderTypeEnum__Alternatives )
+            // InternalReportDSL.g:4376:2: ( ( rule__BorderTypeEnum__Alternatives ) )
+            // InternalReportDSL.g:4377:3: ( rule__BorderTypeEnum__Alternatives )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getBorderTypeEnumAccess().getAlternatives()); 
             }
-            // InternalReportDSL.g:4362:3: ( rule__BorderTypeEnum__Alternatives )
-            // InternalReportDSL.g:4362:4: rule__BorderTypeEnum__Alternatives
+            // InternalReportDSL.g:4378:3: ( rule__BorderTypeEnum__Alternatives )
+            // InternalReportDSL.g:4378:4: rule__BorderTypeEnum__Alternatives
             {
             pushFollow(FOLLOW_2);
             rule__BorderTypeEnum__Alternatives();
@@ -14887,23 +14943,23 @@
 
 
     // $ANTLR start "ruleAutoTextEnum"
-    // InternalReportDSL.g:4371:1: ruleAutoTextEnum : ( ( rule__AutoTextEnum__Alternatives ) ) ;
+    // InternalReportDSL.g:4387:1: ruleAutoTextEnum : ( ( rule__AutoTextEnum__Alternatives ) ) ;
     public final void ruleAutoTextEnum() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:4375:1: ( ( ( rule__AutoTextEnum__Alternatives ) ) )
-            // InternalReportDSL.g:4376:2: ( ( rule__AutoTextEnum__Alternatives ) )
+            // InternalReportDSL.g:4391:1: ( ( ( rule__AutoTextEnum__Alternatives ) ) )
+            // InternalReportDSL.g:4392:2: ( ( rule__AutoTextEnum__Alternatives ) )
             {
-            // InternalReportDSL.g:4376:2: ( ( rule__AutoTextEnum__Alternatives ) )
-            // InternalReportDSL.g:4377:3: ( rule__AutoTextEnum__Alternatives )
+            // InternalReportDSL.g:4392:2: ( ( rule__AutoTextEnum__Alternatives ) )
+            // InternalReportDSL.g:4393:3: ( rule__AutoTextEnum__Alternatives )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getAutoTextEnumAccess().getAlternatives()); 
             }
-            // InternalReportDSL.g:4378:3: ( rule__AutoTextEnum__Alternatives )
-            // InternalReportDSL.g:4378:4: rule__AutoTextEnum__Alternatives
+            // InternalReportDSL.g:4394:3: ( rule__AutoTextEnum__Alternatives )
+            // InternalReportDSL.g:4394:4: rule__AutoTextEnum__Alternatives
             {
             pushFollow(FOLLOW_2);
             rule__AutoTextEnum__Alternatives();
@@ -14938,23 +14994,23 @@
 
 
     // $ANTLR start "ruleImageSizeEnum"
-    // InternalReportDSL.g:4387:1: ruleImageSizeEnum : ( ( rule__ImageSizeEnum__Alternatives ) ) ;
+    // InternalReportDSL.g:4403:1: ruleImageSizeEnum : ( ( rule__ImageSizeEnum__Alternatives ) ) ;
     public final void ruleImageSizeEnum() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:4391:1: ( ( ( rule__ImageSizeEnum__Alternatives ) ) )
-            // InternalReportDSL.g:4392:2: ( ( rule__ImageSizeEnum__Alternatives ) )
+            // InternalReportDSL.g:4407:1: ( ( ( rule__ImageSizeEnum__Alternatives ) ) )
+            // InternalReportDSL.g:4408:2: ( ( rule__ImageSizeEnum__Alternatives ) )
             {
-            // InternalReportDSL.g:4392:2: ( ( rule__ImageSizeEnum__Alternatives ) )
-            // InternalReportDSL.g:4393:3: ( rule__ImageSizeEnum__Alternatives )
+            // InternalReportDSL.g:4408:2: ( ( rule__ImageSizeEnum__Alternatives ) )
+            // InternalReportDSL.g:4409:3: ( rule__ImageSizeEnum__Alternatives )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getImageSizeEnumAccess().getAlternatives()); 
             }
-            // InternalReportDSL.g:4394:3: ( rule__ImageSizeEnum__Alternatives )
-            // InternalReportDSL.g:4394:4: rule__ImageSizeEnum__Alternatives
+            // InternalReportDSL.g:4410:3: ( rule__ImageSizeEnum__Alternatives )
+            // InternalReportDSL.g:4410:4: rule__ImageSizeEnum__Alternatives
             {
             pushFollow(FOLLOW_2);
             rule__ImageSizeEnum__Alternatives();
@@ -14989,23 +15045,23 @@
 
 
     // $ANTLR start "ruleImageSourceEnum"
-    // InternalReportDSL.g:4403:1: ruleImageSourceEnum : ( ( rule__ImageSourceEnum__Alternatives ) ) ;
+    // InternalReportDSL.g:4419:1: ruleImageSourceEnum : ( ( rule__ImageSourceEnum__Alternatives ) ) ;
     public final void ruleImageSourceEnum() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:4407:1: ( ( ( rule__ImageSourceEnum__Alternatives ) ) )
-            // InternalReportDSL.g:4408:2: ( ( rule__ImageSourceEnum__Alternatives ) )
+            // InternalReportDSL.g:4423:1: ( ( ( rule__ImageSourceEnum__Alternatives ) ) )
+            // InternalReportDSL.g:4424:2: ( ( rule__ImageSourceEnum__Alternatives ) )
             {
-            // InternalReportDSL.g:4408:2: ( ( rule__ImageSourceEnum__Alternatives ) )
-            // InternalReportDSL.g:4409:3: ( rule__ImageSourceEnum__Alternatives )
+            // InternalReportDSL.g:4424:2: ( ( rule__ImageSourceEnum__Alternatives ) )
+            // InternalReportDSL.g:4425:3: ( rule__ImageSourceEnum__Alternatives )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getImageSourceEnumAccess().getAlternatives()); 
             }
-            // InternalReportDSL.g:4410:3: ( rule__ImageSourceEnum__Alternatives )
-            // InternalReportDSL.g:4410:4: rule__ImageSourceEnum__Alternatives
+            // InternalReportDSL.g:4426:3: ( rule__ImageSourceEnum__Alternatives )
+            // InternalReportDSL.g:4426:4: rule__ImageSourceEnum__Alternatives
             {
             pushFollow(FOLLOW_2);
             rule__ImageSourceEnum__Alternatives();
@@ -15040,23 +15096,23 @@
 
 
     // $ANTLR start "ruleTextContentTypeEnum"
-    // InternalReportDSL.g:4419:1: ruleTextContentTypeEnum : ( ( rule__TextContentTypeEnum__Alternatives ) ) ;
+    // InternalReportDSL.g:4435:1: ruleTextContentTypeEnum : ( ( rule__TextContentTypeEnum__Alternatives ) ) ;
     public final void ruleTextContentTypeEnum() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:4423:1: ( ( ( rule__TextContentTypeEnum__Alternatives ) ) )
-            // InternalReportDSL.g:4424:2: ( ( rule__TextContentTypeEnum__Alternatives ) )
+            // InternalReportDSL.g:4439:1: ( ( ( rule__TextContentTypeEnum__Alternatives ) ) )
+            // InternalReportDSL.g:4440:2: ( ( rule__TextContentTypeEnum__Alternatives ) )
             {
-            // InternalReportDSL.g:4424:2: ( ( rule__TextContentTypeEnum__Alternatives ) )
-            // InternalReportDSL.g:4425:3: ( rule__TextContentTypeEnum__Alternatives )
+            // InternalReportDSL.g:4440:2: ( ( rule__TextContentTypeEnum__Alternatives ) )
+            // InternalReportDSL.g:4441:3: ( rule__TextContentTypeEnum__Alternatives )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getTextContentTypeEnumAccess().getAlternatives()); 
             }
-            // InternalReportDSL.g:4426:3: ( rule__TextContentTypeEnum__Alternatives )
-            // InternalReportDSL.g:4426:4: rule__TextContentTypeEnum__Alternatives
+            // InternalReportDSL.g:4442:3: ( rule__TextContentTypeEnum__Alternatives )
+            // InternalReportDSL.g:4442:4: rule__TextContentTypeEnum__Alternatives
             {
             pushFollow(FOLLOW_2);
             rule__TextContentTypeEnum__Alternatives();
@@ -15091,13 +15147,13 @@
 
 
     // $ANTLR start "rule__Color__Alternatives_2"
-    // InternalReportDSL.g:4434:1: rule__Color__Alternatives_2 : ( ( ( rule__Color__ColorAssignment_2_0 ) ) | ( ( rule__Color__Group_2_1__0 ) ) | ( ( rule__Color__Group_2_2__0 ) ) | ( ( rule__Color__Group_2_3__0 ) ) );
+    // InternalReportDSL.g:4450:1: rule__Color__Alternatives_2 : ( ( ( rule__Color__ColorAssignment_2_0 ) ) | ( ( rule__Color__Group_2_1__0 ) ) | ( ( rule__Color__Group_2_2__0 ) ) | ( ( rule__Color__Group_2_3__0 ) ) );
     public final void rule__Color__Alternatives_2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:4438:1: ( ( ( rule__Color__ColorAssignment_2_0 ) ) | ( ( rule__Color__Group_2_1__0 ) ) | ( ( rule__Color__Group_2_2__0 ) ) | ( ( rule__Color__Group_2_3__0 ) ) )
+            // InternalReportDSL.g:4454:1: ( ( ( rule__Color__ColorAssignment_2_0 ) ) | ( ( rule__Color__Group_2_1__0 ) ) | ( ( rule__Color__Group_2_2__0 ) ) | ( ( rule__Color__Group_2_3__0 ) ) )
             int alt3=4;
             switch ( input.LA(1) ) {
             case RULE_STRING:
@@ -15105,17 +15161,17 @@
                 alt3=1;
                 }
                 break;
-            case 144:
+            case 150:
                 {
                 alt3=2;
                 }
                 break;
-            case 146:
+            case 152:
                 {
                 alt3=3;
                 }
                 break;
-            case 147:
+            case 153:
                 {
                 alt3=4;
                 }
@@ -15130,16 +15186,16 @@
 
             switch (alt3) {
                 case 1 :
-                    // InternalReportDSL.g:4439:2: ( ( rule__Color__ColorAssignment_2_0 ) )
+                    // InternalReportDSL.g:4455:2: ( ( rule__Color__ColorAssignment_2_0 ) )
                     {
-                    // InternalReportDSL.g:4439:2: ( ( rule__Color__ColorAssignment_2_0 ) )
-                    // InternalReportDSL.g:4440:3: ( rule__Color__ColorAssignment_2_0 )
+                    // InternalReportDSL.g:4455:2: ( ( rule__Color__ColorAssignment_2_0 ) )
+                    // InternalReportDSL.g:4456:3: ( rule__Color__ColorAssignment_2_0 )
                     {
                     if ( state.backtracking==0 ) {
                        before(grammarAccess.getColorAccess().getColorAssignment_2_0()); 
                     }
-                    // InternalReportDSL.g:4441:3: ( rule__Color__ColorAssignment_2_0 )
-                    // InternalReportDSL.g:4441:4: rule__Color__ColorAssignment_2_0
+                    // InternalReportDSL.g:4457:3: ( rule__Color__ColorAssignment_2_0 )
+                    // InternalReportDSL.g:4457:4: rule__Color__ColorAssignment_2_0
                     {
                     pushFollow(FOLLOW_2);
                     rule__Color__ColorAssignment_2_0();
@@ -15159,16 +15215,16 @@
                     }
                     break;
                 case 2 :
-                    // InternalReportDSL.g:4445:2: ( ( rule__Color__Group_2_1__0 ) )
+                    // InternalReportDSL.g:4461:2: ( ( rule__Color__Group_2_1__0 ) )
                     {
-                    // InternalReportDSL.g:4445:2: ( ( rule__Color__Group_2_1__0 ) )
-                    // InternalReportDSL.g:4446:3: ( rule__Color__Group_2_1__0 )
+                    // InternalReportDSL.g:4461:2: ( ( rule__Color__Group_2_1__0 ) )
+                    // InternalReportDSL.g:4462:3: ( rule__Color__Group_2_1__0 )
                     {
                     if ( state.backtracking==0 ) {
                        before(grammarAccess.getColorAccess().getGroup_2_1()); 
                     }
-                    // InternalReportDSL.g:4447:3: ( rule__Color__Group_2_1__0 )
-                    // InternalReportDSL.g:4447:4: rule__Color__Group_2_1__0
+                    // InternalReportDSL.g:4463:3: ( rule__Color__Group_2_1__0 )
+                    // InternalReportDSL.g:4463:4: rule__Color__Group_2_1__0
                     {
                     pushFollow(FOLLOW_2);
                     rule__Color__Group_2_1__0();
@@ -15188,16 +15244,16 @@
                     }
                     break;
                 case 3 :
-                    // InternalReportDSL.g:4451:2: ( ( rule__Color__Group_2_2__0 ) )
+                    // InternalReportDSL.g:4467:2: ( ( rule__Color__Group_2_2__0 ) )
                     {
-                    // InternalReportDSL.g:4451:2: ( ( rule__Color__Group_2_2__0 ) )
-                    // InternalReportDSL.g:4452:3: ( rule__Color__Group_2_2__0 )
+                    // InternalReportDSL.g:4467:2: ( ( rule__Color__Group_2_2__0 ) )
+                    // InternalReportDSL.g:4468:3: ( rule__Color__Group_2_2__0 )
                     {
                     if ( state.backtracking==0 ) {
                        before(grammarAccess.getColorAccess().getGroup_2_2()); 
                     }
-                    // InternalReportDSL.g:4453:3: ( rule__Color__Group_2_2__0 )
-                    // InternalReportDSL.g:4453:4: rule__Color__Group_2_2__0
+                    // InternalReportDSL.g:4469:3: ( rule__Color__Group_2_2__0 )
+                    // InternalReportDSL.g:4469:4: rule__Color__Group_2_2__0
                     {
                     pushFollow(FOLLOW_2);
                     rule__Color__Group_2_2__0();
@@ -15217,16 +15273,16 @@
                     }
                     break;
                 case 4 :
-                    // InternalReportDSL.g:4457:2: ( ( rule__Color__Group_2_3__0 ) )
+                    // InternalReportDSL.g:4473:2: ( ( rule__Color__Group_2_3__0 ) )
                     {
-                    // InternalReportDSL.g:4457:2: ( ( rule__Color__Group_2_3__0 ) )
-                    // InternalReportDSL.g:4458:3: ( rule__Color__Group_2_3__0 )
+                    // InternalReportDSL.g:4473:2: ( ( rule__Color__Group_2_3__0 ) )
+                    // InternalReportDSL.g:4474:3: ( rule__Color__Group_2_3__0 )
                     {
                     if ( state.backtracking==0 ) {
                        before(grammarAccess.getColorAccess().getGroup_2_3()); 
                     }
-                    // InternalReportDSL.g:4459:3: ( rule__Color__Group_2_3__0 )
-                    // InternalReportDSL.g:4459:4: rule__Color__Group_2_3__0
+                    // InternalReportDSL.g:4475:3: ( rule__Color__Group_2_3__0 )
+                    // InternalReportDSL.g:4475:4: rule__Color__Group_2_3__0
                     {
                     pushFollow(FOLLOW_2);
                     rule__Color__Group_2_3__0();
@@ -15263,13 +15319,13 @@
 
 
     // $ANTLR start "rule__FontFamily__Alternatives"
-    // InternalReportDSL.g:4467:1: rule__FontFamily__Alternatives : ( ( ruleBuildInFontFamily ) | ( ruleCustomFontFamily ) );
+    // InternalReportDSL.g:4483:1: rule__FontFamily__Alternatives : ( ( ruleBuildInFontFamily ) | ( ruleCustomFontFamily ) );
     public final void rule__FontFamily__Alternatives() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:4471:1: ( ( ruleBuildInFontFamily ) | ( ruleCustomFontFamily ) )
+            // InternalReportDSL.g:4487:1: ( ( ruleBuildInFontFamily ) | ( ruleCustomFontFamily ) )
             int alt4=2;
             int LA4_0 = input.LA(1);
 
@@ -15288,10 +15344,10 @@
             }
             switch (alt4) {
                 case 1 :
-                    // InternalReportDSL.g:4472:2: ( ruleBuildInFontFamily )
+                    // InternalReportDSL.g:4488:2: ( ruleBuildInFontFamily )
                     {
-                    // InternalReportDSL.g:4472:2: ( ruleBuildInFontFamily )
-                    // InternalReportDSL.g:4473:3: ruleBuildInFontFamily
+                    // InternalReportDSL.g:4488:2: ( ruleBuildInFontFamily )
+                    // InternalReportDSL.g:4489:3: ruleBuildInFontFamily
                     {
                     if ( state.backtracking==0 ) {
                        before(grammarAccess.getFontFamilyAccess().getBuildInFontFamilyParserRuleCall_0()); 
@@ -15311,10 +15367,10 @@
                     }
                     break;
                 case 2 :
-                    // InternalReportDSL.g:4478:2: ( ruleCustomFontFamily )
+                    // InternalReportDSL.g:4494:2: ( ruleCustomFontFamily )
                     {
-                    // InternalReportDSL.g:4478:2: ( ruleCustomFontFamily )
-                    // InternalReportDSL.g:4479:3: ruleCustomFontFamily
+                    // InternalReportDSL.g:4494:2: ( ruleCustomFontFamily )
+                    // InternalReportDSL.g:4495:3: ruleCustomFontFamily
                     {
                     if ( state.backtracking==0 ) {
                        before(grammarAccess.getFontFamilyAccess().getCustomFontFamilyParserRuleCall_1()); 
@@ -15351,41 +15407,41 @@
 
 
     // $ANTLR start "rule__SomeFormat__Alternatives"
-    // InternalReportDSL.g:4488:1: rule__SomeFormat__Alternatives : ( ( ruleUomoFormat ) | ( ruleNumberFormat ) | ( ruleCurrencyFormat ) | ( ruleDateFormat ) | ( ruleDateTimeFormat ) | ( ruleTimeFormat ) );
+    // InternalReportDSL.g:4504:1: rule__SomeFormat__Alternatives : ( ( ruleUomoFormat ) | ( ruleNumberFormat ) | ( ruleCurrencyFormat ) | ( ruleDateFormat ) | ( ruleDateTimeFormat ) | ( ruleTimeFormat ) );
     public final void rule__SomeFormat__Alternatives() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:4492:1: ( ( ruleUomoFormat ) | ( ruleNumberFormat ) | ( ruleCurrencyFormat ) | ( ruleDateFormat ) | ( ruleDateTimeFormat ) | ( ruleTimeFormat ) )
+            // InternalReportDSL.g:4508:1: ( ( ruleUomoFormat ) | ( ruleNumberFormat ) | ( ruleCurrencyFormat ) | ( ruleDateFormat ) | ( ruleDateTimeFormat ) | ( ruleTimeFormat ) )
             int alt5=6;
             switch ( input.LA(1) ) {
-            case 170:
+            case 177:
                 {
                 alt5=1;
                 }
                 break;
-            case 173:
+            case 180:
                 {
                 alt5=2;
                 }
                 break;
-            case 86:
+            case 89:
                 {
                 alt5=3;
                 }
                 break;
-            case 174:
+            case 181:
                 {
                 alt5=4;
                 }
                 break;
-            case 175:
+            case 182:
                 {
                 alt5=5;
                 }
                 break;
-            case 176:
+            case 183:
                 {
                 alt5=6;
                 }
@@ -15400,10 +15456,10 @@
 
             switch (alt5) {
                 case 1 :
-                    // InternalReportDSL.g:4493:2: ( ruleUomoFormat )
+                    // InternalReportDSL.g:4509:2: ( ruleUomoFormat )
                     {
-                    // InternalReportDSL.g:4493:2: ( ruleUomoFormat )
-                    // InternalReportDSL.g:4494:3: ruleUomoFormat
+                    // InternalReportDSL.g:4509:2: ( ruleUomoFormat )
+                    // InternalReportDSL.g:4510:3: ruleUomoFormat
                     {
                     if ( state.backtracking==0 ) {
                        before(grammarAccess.getSomeFormatAccess().getUomoFormatParserRuleCall_0()); 
@@ -15423,10 +15479,10 @@
                     }
                     break;
                 case 2 :
-                    // InternalReportDSL.g:4499:2: ( ruleNumberFormat )
+                    // InternalReportDSL.g:4515:2: ( ruleNumberFormat )
                     {
-                    // InternalReportDSL.g:4499:2: ( ruleNumberFormat )
-                    // InternalReportDSL.g:4500:3: ruleNumberFormat
+                    // InternalReportDSL.g:4515:2: ( ruleNumberFormat )
+                    // InternalReportDSL.g:4516:3: ruleNumberFormat
                     {
                     if ( state.backtracking==0 ) {
                        before(grammarAccess.getSomeFormatAccess().getNumberFormatParserRuleCall_1()); 
@@ -15446,10 +15502,10 @@
                     }
                     break;
                 case 3 :
-                    // InternalReportDSL.g:4505:2: ( ruleCurrencyFormat )
+                    // InternalReportDSL.g:4521:2: ( ruleCurrencyFormat )
                     {
-                    // InternalReportDSL.g:4505:2: ( ruleCurrencyFormat )
-                    // InternalReportDSL.g:4506:3: ruleCurrencyFormat
+                    // InternalReportDSL.g:4521:2: ( ruleCurrencyFormat )
+                    // InternalReportDSL.g:4522:3: ruleCurrencyFormat
                     {
                     if ( state.backtracking==0 ) {
                        before(grammarAccess.getSomeFormatAccess().getCurrencyFormatParserRuleCall_2()); 
@@ -15469,10 +15525,10 @@
                     }
                     break;
                 case 4 :
-                    // InternalReportDSL.g:4511:2: ( ruleDateFormat )
+                    // InternalReportDSL.g:4527:2: ( ruleDateFormat )
                     {
-                    // InternalReportDSL.g:4511:2: ( ruleDateFormat )
-                    // InternalReportDSL.g:4512:3: ruleDateFormat
+                    // InternalReportDSL.g:4527:2: ( ruleDateFormat )
+                    // InternalReportDSL.g:4528:3: ruleDateFormat
                     {
                     if ( state.backtracking==0 ) {
                        before(grammarAccess.getSomeFormatAccess().getDateFormatParserRuleCall_3()); 
@@ -15492,10 +15548,10 @@
                     }
                     break;
                 case 5 :
-                    // InternalReportDSL.g:4517:2: ( ruleDateTimeFormat )
+                    // InternalReportDSL.g:4533:2: ( ruleDateTimeFormat )
                     {
-                    // InternalReportDSL.g:4517:2: ( ruleDateTimeFormat )
-                    // InternalReportDSL.g:4518:3: ruleDateTimeFormat
+                    // InternalReportDSL.g:4533:2: ( ruleDateTimeFormat )
+                    // InternalReportDSL.g:4534:3: ruleDateTimeFormat
                     {
                     if ( state.backtracking==0 ) {
                        before(grammarAccess.getSomeFormatAccess().getDateTimeFormatParserRuleCall_4()); 
@@ -15515,10 +15571,10 @@
                     }
                     break;
                 case 6 :
-                    // InternalReportDSL.g:4523:2: ( ruleTimeFormat )
+                    // InternalReportDSL.g:4539:2: ( ruleTimeFormat )
                     {
-                    // InternalReportDSL.g:4523:2: ( ruleTimeFormat )
-                    // InternalReportDSL.g:4524:3: ruleTimeFormat
+                    // InternalReportDSL.g:4539:2: ( ruleTimeFormat )
+                    // InternalReportDSL.g:4540:3: ruleTimeFormat
                     {
                     if ( state.backtracking==0 ) {
                        before(grammarAccess.getSomeFormatAccess().getTimeFormatParserRuleCall_5()); 
@@ -15555,20 +15611,20 @@
 
 
     // $ANTLR start "rule__ReportDesign__Alternatives"
-    // InternalReportDSL.g:4533:1: rule__ReportDesign__Alternatives : ( ( ruleReportDesignFile ) | ( ruleReportDesignTemplate ) );
+    // InternalReportDSL.g:4549:1: rule__ReportDesign__Alternatives : ( ( ruleReportDesignFile ) | ( ruleReportDesignTemplate ) );
     public final void rule__ReportDesign__Alternatives() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:4537:1: ( ( ruleReportDesignFile ) | ( ruleReportDesignTemplate ) )
+            // InternalReportDSL.g:4553:1: ( ( ruleReportDesignFile ) | ( ruleReportDesignTemplate ) )
             int alt6=2;
             int LA6_0 = input.LA(1);
 
-            if ( (LA6_0==181) ) {
+            if ( (LA6_0==188) ) {
                 alt6=1;
             }
-            else if ( (LA6_0==182) ) {
+            else if ( (LA6_0==189) ) {
                 alt6=2;
             }
             else {
@@ -15580,10 +15636,10 @@
             }
             switch (alt6) {
                 case 1 :
-                    // InternalReportDSL.g:4538:2: ( ruleReportDesignFile )
+                    // InternalReportDSL.g:4554:2: ( ruleReportDesignFile )
                     {
-                    // InternalReportDSL.g:4538:2: ( ruleReportDesignFile )
-                    // InternalReportDSL.g:4539:3: ruleReportDesignFile
+                    // InternalReportDSL.g:4554:2: ( ruleReportDesignFile )
+                    // InternalReportDSL.g:4555:3: ruleReportDesignFile
                     {
                     if ( state.backtracking==0 ) {
                        before(grammarAccess.getReportDesignAccess().getReportDesignFileParserRuleCall_0()); 
@@ -15603,10 +15659,10 @@
                     }
                     break;
                 case 2 :
-                    // InternalReportDSL.g:4544:2: ( ruleReportDesignTemplate )
+                    // InternalReportDSL.g:4560:2: ( ruleReportDesignTemplate )
                     {
-                    // InternalReportDSL.g:4544:2: ( ruleReportDesignTemplate )
-                    // InternalReportDSL.g:4545:3: ruleReportDesignTemplate
+                    // InternalReportDSL.g:4560:2: ( ruleReportDesignTemplate )
+                    // InternalReportDSL.g:4561:3: ruleReportDesignTemplate
                     {
                     if ( state.backtracking==0 ) {
                        before(grammarAccess.getReportDesignAccess().getReportDesignTemplateParserRuleCall_1()); 
@@ -15643,72 +15699,72 @@
 
 
     // $ANTLR start "rule__Element__Alternatives"
-    // InternalReportDSL.g:4554:1: rule__Element__Alternatives : ( ( ruleTitle ) | ( ruleSubTitle ) | ( ruleSubSubTitle ) | ( ruleLabel ) | ( ruleText ) | ( ruleNonTranslatableText ) | ( ruleAutoText ) | ( ruleStringBinder ) | ( ruleImage ) | ( ruleDatamartTable ) | ( ruleDatamartTableAttribute ) | ( ruleGrid ) );
+    // InternalReportDSL.g:4570:1: rule__Element__Alternatives : ( ( ruleTitle ) | ( ruleSubTitle ) | ( ruleSubSubTitle ) | ( ruleLabel ) | ( ruleText ) | ( ruleNonTranslatableText ) | ( ruleAutoText ) | ( ruleStringBinder ) | ( ruleImage ) | ( ruleDatamartTable ) | ( ruleDatamartTableAttribute ) | ( ruleGrid ) );
     public final void rule__Element__Alternatives() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:4558:1: ( ( ruleTitle ) | ( ruleSubTitle ) | ( ruleSubSubTitle ) | ( ruleLabel ) | ( ruleText ) | ( ruleNonTranslatableText ) | ( ruleAutoText ) | ( ruleStringBinder ) | ( ruleImage ) | ( ruleDatamartTable ) | ( ruleDatamartTableAttribute ) | ( ruleGrid ) )
+            // InternalReportDSL.g:4574:1: ( ( ruleTitle ) | ( ruleSubTitle ) | ( ruleSubSubTitle ) | ( ruleLabel ) | ( ruleText ) | ( ruleNonTranslatableText ) | ( ruleAutoText ) | ( ruleStringBinder ) | ( ruleImage ) | ( ruleDatamartTable ) | ( ruleDatamartTableAttribute ) | ( ruleGrid ) )
             int alt7=12;
             switch ( input.LA(1) ) {
-            case 203:
+            case 210:
                 {
                 alt7=1;
                 }
                 break;
-            case 219:
+            case 226:
                 {
                 alt7=2;
                 }
                 break;
-            case 220:
+            case 227:
                 {
                 alt7=3;
                 }
                 break;
-            case 221:
+            case 228:
                 {
                 alt7=4;
                 }
                 break;
-            case 222:
+            case 229:
                 {
                 alt7=5;
                 }
                 break;
-            case 207:
+            case 214:
                 {
                 alt7=6;
                 }
                 break;
-            case 223:
+            case 230:
                 {
                 alt7=7;
                 }
                 break;
-            case 208:
+            case 215:
                 {
                 alt7=8;
                 }
                 break;
-            case 224:
+            case 231:
                 {
                 alt7=9;
                 }
                 break;
-            case 194:
+            case 201:
                 {
                 alt7=10;
                 }
                 break;
-            case 200:
-            case 201:
+            case 207:
+            case 208:
                 {
                 alt7=11;
                 }
                 break;
-            case 188:
+            case 195:
                 {
                 alt7=12;
                 }
@@ -15723,10 +15779,10 @@
 
             switch (alt7) {
                 case 1 :
-                    // InternalReportDSL.g:4559:2: ( ruleTitle )
+                    // InternalReportDSL.g:4575:2: ( ruleTitle )
                     {
-                    // InternalReportDSL.g:4559:2: ( ruleTitle )
-                    // InternalReportDSL.g:4560:3: ruleTitle
+                    // InternalReportDSL.g:4575:2: ( ruleTitle )
+                    // InternalReportDSL.g:4576:3: ruleTitle
                     {
                     if ( state.backtracking==0 ) {
                        before(grammarAccess.getElementAccess().getTitleParserRuleCall_0()); 
@@ -15746,10 +15802,10 @@
                     }
                     break;
                 case 2 :
-                    // InternalReportDSL.g:4565:2: ( ruleSubTitle )
+                    // InternalReportDSL.g:4581:2: ( ruleSubTitle )
                     {
-                    // InternalReportDSL.g:4565:2: ( ruleSubTitle )
-                    // InternalReportDSL.g:4566:3: ruleSubTitle
+                    // InternalReportDSL.g:4581:2: ( ruleSubTitle )
+                    // InternalReportDSL.g:4582:3: ruleSubTitle
                     {
                     if ( state.backtracking==0 ) {
                        before(grammarAccess.getElementAccess().getSubTitleParserRuleCall_1()); 
@@ -15769,10 +15825,10 @@
                     }
                     break;
                 case 3 :
-                    // InternalReportDSL.g:4571:2: ( ruleSubSubTitle )
+                    // InternalReportDSL.g:4587:2: ( ruleSubSubTitle )
                     {
-                    // InternalReportDSL.g:4571:2: ( ruleSubSubTitle )
-                    // InternalReportDSL.g:4572:3: ruleSubSubTitle
+                    // InternalReportDSL.g:4587:2: ( ruleSubSubTitle )
+                    // InternalReportDSL.g:4588:3: ruleSubSubTitle
                     {
                     if ( state.backtracking==0 ) {
                        before(grammarAccess.getElementAccess().getSubSubTitleParserRuleCall_2()); 
@@ -15792,10 +15848,10 @@
                     }
                     break;
                 case 4 :
-                    // InternalReportDSL.g:4577:2: ( ruleLabel )
+                    // InternalReportDSL.g:4593:2: ( ruleLabel )
                     {
-                    // InternalReportDSL.g:4577:2: ( ruleLabel )
-                    // InternalReportDSL.g:4578:3: ruleLabel
+                    // InternalReportDSL.g:4593:2: ( ruleLabel )
+                    // InternalReportDSL.g:4594:3: ruleLabel
                     {
                     if ( state.backtracking==0 ) {
                        before(grammarAccess.getElementAccess().getLabelParserRuleCall_3()); 
@@ -15815,10 +15871,10 @@
                     }
                     break;
                 case 5 :
-                    // InternalReportDSL.g:4583:2: ( ruleText )
+                    // InternalReportDSL.g:4599:2: ( ruleText )
                     {
-                    // InternalReportDSL.g:4583:2: ( ruleText )
-                    // InternalReportDSL.g:4584:3: ruleText
+                    // InternalReportDSL.g:4599:2: ( ruleText )
+                    // InternalReportDSL.g:4600:3: ruleText
                     {
                     if ( state.backtracking==0 ) {
                        before(grammarAccess.getElementAccess().getTextParserRuleCall_4()); 
@@ -15838,10 +15894,10 @@
                     }
                     break;
                 case 6 :
-                    // InternalReportDSL.g:4589:2: ( ruleNonTranslatableText )
+                    // InternalReportDSL.g:4605:2: ( ruleNonTranslatableText )
                     {
-                    // InternalReportDSL.g:4589:2: ( ruleNonTranslatableText )
-                    // InternalReportDSL.g:4590:3: ruleNonTranslatableText
+                    // InternalReportDSL.g:4605:2: ( ruleNonTranslatableText )
+                    // InternalReportDSL.g:4606:3: ruleNonTranslatableText
                     {
                     if ( state.backtracking==0 ) {
                        before(grammarAccess.getElementAccess().getNonTranslatableTextParserRuleCall_5()); 
@@ -15861,10 +15917,10 @@
                     }
                     break;
                 case 7 :
-                    // InternalReportDSL.g:4595:2: ( ruleAutoText )
+                    // InternalReportDSL.g:4611:2: ( ruleAutoText )
                     {
-                    // InternalReportDSL.g:4595:2: ( ruleAutoText )
-                    // InternalReportDSL.g:4596:3: ruleAutoText
+                    // InternalReportDSL.g:4611:2: ( ruleAutoText )
+                    // InternalReportDSL.g:4612:3: ruleAutoText
                     {
                     if ( state.backtracking==0 ) {
                        before(grammarAccess.getElementAccess().getAutoTextParserRuleCall_6()); 
@@ -15884,10 +15940,10 @@
                     }
                     break;
                 case 8 :
-                    // InternalReportDSL.g:4601:2: ( ruleStringBinder )
+                    // InternalReportDSL.g:4617:2: ( ruleStringBinder )
                     {
-                    // InternalReportDSL.g:4601:2: ( ruleStringBinder )
-                    // InternalReportDSL.g:4602:3: ruleStringBinder
+                    // InternalReportDSL.g:4617:2: ( ruleStringBinder )
+                    // InternalReportDSL.g:4618:3: ruleStringBinder
                     {
                     if ( state.backtracking==0 ) {
                        before(grammarAccess.getElementAccess().getStringBinderParserRuleCall_7()); 
@@ -15907,10 +15963,10 @@
                     }
                     break;
                 case 9 :
-                    // InternalReportDSL.g:4607:2: ( ruleImage )
+                    // InternalReportDSL.g:4623:2: ( ruleImage )
                     {
-                    // InternalReportDSL.g:4607:2: ( ruleImage )
-                    // InternalReportDSL.g:4608:3: ruleImage
+                    // InternalReportDSL.g:4623:2: ( ruleImage )
+                    // InternalReportDSL.g:4624:3: ruleImage
                     {
                     if ( state.backtracking==0 ) {
                        before(grammarAccess.getElementAccess().getImageParserRuleCall_8()); 
@@ -15930,10 +15986,10 @@
                     }
                     break;
                 case 10 :
-                    // InternalReportDSL.g:4613:2: ( ruleDatamartTable )
+                    // InternalReportDSL.g:4629:2: ( ruleDatamartTable )
                     {
-                    // InternalReportDSL.g:4613:2: ( ruleDatamartTable )
-                    // InternalReportDSL.g:4614:3: ruleDatamartTable
+                    // InternalReportDSL.g:4629:2: ( ruleDatamartTable )
+                    // InternalReportDSL.g:4630:3: ruleDatamartTable
                     {
                     if ( state.backtracking==0 ) {
                        before(grammarAccess.getElementAccess().getDatamartTableParserRuleCall_9()); 
@@ -15953,10 +16009,10 @@
                     }
                     break;
                 case 11 :
-                    // InternalReportDSL.g:4619:2: ( ruleDatamartTableAttribute )
+                    // InternalReportDSL.g:4635:2: ( ruleDatamartTableAttribute )
                     {
-                    // InternalReportDSL.g:4619:2: ( ruleDatamartTableAttribute )
-                    // InternalReportDSL.g:4620:3: ruleDatamartTableAttribute
+                    // InternalReportDSL.g:4635:2: ( ruleDatamartTableAttribute )
+                    // InternalReportDSL.g:4636:3: ruleDatamartTableAttribute
                     {
                     if ( state.backtracking==0 ) {
                        before(grammarAccess.getElementAccess().getDatamartTableAttributeParserRuleCall_10()); 
@@ -15976,10 +16032,10 @@
                     }
                     break;
                 case 12 :
-                    // InternalReportDSL.g:4625:2: ( ruleGrid )
+                    // InternalReportDSL.g:4641:2: ( ruleGrid )
                     {
-                    // InternalReportDSL.g:4625:2: ( ruleGrid )
-                    // InternalReportDSL.g:4626:3: ruleGrid
+                    // InternalReportDSL.g:4641:2: ( ruleGrid )
+                    // InternalReportDSL.g:4642:3: ruleGrid
                     {
                     if ( state.backtracking==0 ) {
                        before(grammarAccess.getElementAccess().getGridParserRuleCall_11()); 
@@ -16016,20 +16072,20 @@
 
 
     // $ANTLR start "rule__DatamartTableDetail__Alternatives_3"
-    // InternalReportDSL.g:4635:1: rule__DatamartTableDetail__Alternatives_3 : ( ( 'all' ) | ( ( rule__DatamartTableDetail__Group_3_1__0 ) ) );
+    // InternalReportDSL.g:4651:1: rule__DatamartTableDetail__Alternatives_3 : ( ( 'all' ) | ( ( rule__DatamartTableDetail__Group_3_1__0 ) ) );
     public final void rule__DatamartTableDetail__Alternatives_3() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:4639:1: ( ( 'all' ) | ( ( rule__DatamartTableDetail__Group_3_1__0 ) ) )
+            // InternalReportDSL.g:4655:1: ( ( 'all' ) | ( ( rule__DatamartTableDetail__Group_3_1__0 ) ) )
             int alt8=2;
             int LA8_0 = input.LA(1);
 
             if ( (LA8_0==19) ) {
                 alt8=1;
             }
-            else if ( (LA8_0==125) ) {
+            else if ( (LA8_0==131) ) {
                 alt8=2;
             }
             else {
@@ -16041,10 +16097,10 @@
             }
             switch (alt8) {
                 case 1 :
-                    // InternalReportDSL.g:4640:2: ( 'all' )
+                    // InternalReportDSL.g:4656:2: ( 'all' )
                     {
-                    // InternalReportDSL.g:4640:2: ( 'all' )
-                    // InternalReportDSL.g:4641:3: 'all'
+                    // InternalReportDSL.g:4656:2: ( 'all' )
+                    // InternalReportDSL.g:4657:3: 'all'
                     {
                     if ( state.backtracking==0 ) {
                        before(grammarAccess.getDatamartTableDetailAccess().getAllKeyword_3_0()); 
@@ -16060,16 +16116,16 @@
                     }
                     break;
                 case 2 :
-                    // InternalReportDSL.g:4646:2: ( ( rule__DatamartTableDetail__Group_3_1__0 ) )
+                    // InternalReportDSL.g:4662:2: ( ( rule__DatamartTableDetail__Group_3_1__0 ) )
                     {
-                    // InternalReportDSL.g:4646:2: ( ( rule__DatamartTableDetail__Group_3_1__0 ) )
-                    // InternalReportDSL.g:4647:3: ( rule__DatamartTableDetail__Group_3_1__0 )
+                    // InternalReportDSL.g:4662:2: ( ( rule__DatamartTableDetail__Group_3_1__0 ) )
+                    // InternalReportDSL.g:4663:3: ( rule__DatamartTableDetail__Group_3_1__0 )
                     {
                     if ( state.backtracking==0 ) {
                        before(grammarAccess.getDatamartTableDetailAccess().getGroup_3_1()); 
                     }
-                    // InternalReportDSL.g:4648:3: ( rule__DatamartTableDetail__Group_3_1__0 )
-                    // InternalReportDSL.g:4648:4: rule__DatamartTableDetail__Group_3_1__0
+                    // InternalReportDSL.g:4664:3: ( rule__DatamartTableDetail__Group_3_1__0 )
+                    // InternalReportDSL.g:4664:4: rule__DatamartTableDetail__Group_3_1__0
                     {
                     pushFollow(FOLLOW_2);
                     rule__DatamartTableDetail__Group_3_1__0();
@@ -16106,20 +16162,20 @@
 
 
     // $ANTLR start "rule__TableValueElement__Alternatives"
-    // InternalReportDSL.g:4656:1: rule__TableValueElement__Alternatives : ( ( ruleTableAttribute ) | ( ruleTableAggregation ) );
+    // InternalReportDSL.g:4672:1: rule__TableValueElement__Alternatives : ( ( ruleTableAttribute ) | ( ruleTableAggregation ) );
     public final void rule__TableValueElement__Alternatives() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:4660:1: ( ( ruleTableAttribute ) | ( ruleTableAggregation ) )
+            // InternalReportDSL.g:4676:1: ( ( ruleTableAttribute ) | ( ruleTableAggregation ) )
             int alt9=2;
             int LA9_0 = input.LA(1);
 
-            if ( (LA9_0==200) ) {
+            if ( (LA9_0==207) ) {
                 alt9=1;
             }
-            else if ( (LA9_0==201) ) {
+            else if ( (LA9_0==208) ) {
                 alt9=2;
             }
             else {
@@ -16131,10 +16187,10 @@
             }
             switch (alt9) {
                 case 1 :
-                    // InternalReportDSL.g:4661:2: ( ruleTableAttribute )
+                    // InternalReportDSL.g:4677:2: ( ruleTableAttribute )
                     {
-                    // InternalReportDSL.g:4661:2: ( ruleTableAttribute )
-                    // InternalReportDSL.g:4662:3: ruleTableAttribute
+                    // InternalReportDSL.g:4677:2: ( ruleTableAttribute )
+                    // InternalReportDSL.g:4678:3: ruleTableAttribute
                     {
                     if ( state.backtracking==0 ) {
                        before(grammarAccess.getTableValueElementAccess().getTableAttributeParserRuleCall_0()); 
@@ -16154,10 +16210,10 @@
                     }
                     break;
                 case 2 :
-                    // InternalReportDSL.g:4667:2: ( ruleTableAggregation )
+                    // InternalReportDSL.g:4683:2: ( ruleTableAggregation )
                     {
-                    // InternalReportDSL.g:4667:2: ( ruleTableAggregation )
-                    // InternalReportDSL.g:4668:3: ruleTableAggregation
+                    // InternalReportDSL.g:4683:2: ( ruleTableAggregation )
+                    // InternalReportDSL.g:4684:3: ruleTableAggregation
                     {
                     if ( state.backtracking==0 ) {
                        before(grammarAccess.getTableValueElementAccess().getTableAggregationParserRuleCall_1()); 
@@ -16194,26 +16250,26 @@
 
 
     // $ANTLR start "rule__TableBaseAggregation__Alternatives"
-    // InternalReportDSL.g:4677:1: rule__TableBaseAggregation__Alternatives : ( ( ruleTablePureAggregation ) | ( ruleTableUnaryAggregation ) | ( ruleTableMultipleAggregation ) | ( ruleTableBinaryAggregation ) );
+    // InternalReportDSL.g:4693:1: rule__TableBaseAggregation__Alternatives : ( ( ruleTablePureAggregation ) | ( ruleTableUnaryAggregation ) | ( ruleTableMultipleAggregation ) | ( ruleTableBinaryAggregation ) );
     public final void rule__TableBaseAggregation__Alternatives() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:4681:1: ( ( ruleTablePureAggregation ) | ( ruleTableUnaryAggregation ) | ( ruleTableMultipleAggregation ) | ( ruleTableBinaryAggregation ) )
+            // InternalReportDSL.g:4697:1: ( ( ruleTablePureAggregation ) | ( ruleTableUnaryAggregation ) | ( ruleTableMultipleAggregation ) | ( ruleTableBinaryAggregation ) )
             int alt10=4;
             switch ( input.LA(1) ) {
-            case 89:
-            case 90:
+            case 92:
+            case 93:
                 {
                 alt10=1;
                 }
                 break;
-            case 91:
-            case 92:
-            case 93:
             case 94:
             case 95:
+            case 96:
+            case 97:
+            case 98:
                 {
                 alt10=2;
                 }
@@ -16238,10 +16294,10 @@
 
             switch (alt10) {
                 case 1 :
-                    // InternalReportDSL.g:4682:2: ( ruleTablePureAggregation )
+                    // InternalReportDSL.g:4698:2: ( ruleTablePureAggregation )
                     {
-                    // InternalReportDSL.g:4682:2: ( ruleTablePureAggregation )
-                    // InternalReportDSL.g:4683:3: ruleTablePureAggregation
+                    // InternalReportDSL.g:4698:2: ( ruleTablePureAggregation )
+                    // InternalReportDSL.g:4699:3: ruleTablePureAggregation
                     {
                     if ( state.backtracking==0 ) {
                        before(grammarAccess.getTableBaseAggregationAccess().getTablePureAggregationParserRuleCall_0()); 
@@ -16261,10 +16317,10 @@
                     }
                     break;
                 case 2 :
-                    // InternalReportDSL.g:4688:2: ( ruleTableUnaryAggregation )
+                    // InternalReportDSL.g:4704:2: ( ruleTableUnaryAggregation )
                     {
-                    // InternalReportDSL.g:4688:2: ( ruleTableUnaryAggregation )
-                    // InternalReportDSL.g:4689:3: ruleTableUnaryAggregation
+                    // InternalReportDSL.g:4704:2: ( ruleTableUnaryAggregation )
+                    // InternalReportDSL.g:4705:3: ruleTableUnaryAggregation
                     {
                     if ( state.backtracking==0 ) {
                        before(grammarAccess.getTableBaseAggregationAccess().getTableUnaryAggregationParserRuleCall_1()); 
@@ -16284,10 +16340,10 @@
                     }
                     break;
                 case 3 :
-                    // InternalReportDSL.g:4694:2: ( ruleTableMultipleAggregation )
+                    // InternalReportDSL.g:4710:2: ( ruleTableMultipleAggregation )
                     {
-                    // InternalReportDSL.g:4694:2: ( ruleTableMultipleAggregation )
-                    // InternalReportDSL.g:4695:3: ruleTableMultipleAggregation
+                    // InternalReportDSL.g:4710:2: ( ruleTableMultipleAggregation )
+                    // InternalReportDSL.g:4711:3: ruleTableMultipleAggregation
                     {
                     if ( state.backtracking==0 ) {
                        before(grammarAccess.getTableBaseAggregationAccess().getTableMultipleAggregationParserRuleCall_2()); 
@@ -16307,10 +16363,10 @@
                     }
                     break;
                 case 4 :
-                    // InternalReportDSL.g:4700:2: ( ruleTableBinaryAggregation )
+                    // InternalReportDSL.g:4716:2: ( ruleTableBinaryAggregation )
                     {
-                    // InternalReportDSL.g:4700:2: ( ruleTableBinaryAggregation )
-                    // InternalReportDSL.g:4701:3: ruleTableBinaryAggregation
+                    // InternalReportDSL.g:4716:2: ( ruleTableBinaryAggregation )
+                    // InternalReportDSL.g:4717:3: ruleTableBinaryAggregation
                     {
                     if ( state.backtracking==0 ) {
                        before(grammarAccess.getTableBaseAggregationAccess().getTableBinaryAggregationParserRuleCall_3()); 
@@ -16347,26 +16403,26 @@
 
 
     // $ANTLR start "rule__StringBinderValue__Alternatives"
-    // InternalReportDSL.g:4710:1: rule__StringBinderValue__Alternatives : ( ( ruleTableAttribute ) | ( ruleTranslatableText ) | ( ruleNonTranslatableText ) );
+    // InternalReportDSL.g:4726:1: rule__StringBinderValue__Alternatives : ( ( ruleTableAttribute ) | ( ruleTranslatableText ) | ( ruleNonTranslatableText ) );
     public final void rule__StringBinderValue__Alternatives() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:4714:1: ( ( ruleTableAttribute ) | ( ruleTranslatableText ) | ( ruleNonTranslatableText ) )
+            // InternalReportDSL.g:4730:1: ( ( ruleTableAttribute ) | ( ruleTranslatableText ) | ( ruleNonTranslatableText ) )
             int alt11=3;
             switch ( input.LA(1) ) {
-            case 200:
+            case 207:
                 {
                 alt11=1;
                 }
                 break;
-            case 206:
+            case 213:
                 {
                 alt11=2;
                 }
                 break;
-            case 207:
+            case 214:
                 {
                 alt11=3;
                 }
@@ -16381,10 +16437,10 @@
 
             switch (alt11) {
                 case 1 :
-                    // InternalReportDSL.g:4715:2: ( ruleTableAttribute )
+                    // InternalReportDSL.g:4731:2: ( ruleTableAttribute )
                     {
-                    // InternalReportDSL.g:4715:2: ( ruleTableAttribute )
-                    // InternalReportDSL.g:4716:3: ruleTableAttribute
+                    // InternalReportDSL.g:4731:2: ( ruleTableAttribute )
+                    // InternalReportDSL.g:4732:3: ruleTableAttribute
                     {
                     if ( state.backtracking==0 ) {
                        before(grammarAccess.getStringBinderValueAccess().getTableAttributeParserRuleCall_0()); 
@@ -16404,10 +16460,10 @@
                     }
                     break;
                 case 2 :
-                    // InternalReportDSL.g:4721:2: ( ruleTranslatableText )
+                    // InternalReportDSL.g:4737:2: ( ruleTranslatableText )
                     {
-                    // InternalReportDSL.g:4721:2: ( ruleTranslatableText )
-                    // InternalReportDSL.g:4722:3: ruleTranslatableText
+                    // InternalReportDSL.g:4737:2: ( ruleTranslatableText )
+                    // InternalReportDSL.g:4738:3: ruleTranslatableText
                     {
                     if ( state.backtracking==0 ) {
                        before(grammarAccess.getStringBinderValueAccess().getTranslatableTextParserRuleCall_1()); 
@@ -16427,10 +16483,10 @@
                     }
                     break;
                 case 3 :
-                    // InternalReportDSL.g:4727:2: ( ruleNonTranslatableText )
+                    // InternalReportDSL.g:4743:2: ( ruleNonTranslatableText )
                     {
-                    // InternalReportDSL.g:4727:2: ( ruleNonTranslatableText )
-                    // InternalReportDSL.g:4728:3: ruleNonTranslatableText
+                    // InternalReportDSL.g:4743:2: ( ruleNonTranslatableText )
+                    // InternalReportDSL.g:4744:3: ruleNonTranslatableText
                     {
                     if ( state.backtracking==0 ) {
                        before(grammarAccess.getStringBinderValueAccess().getNonTranslatableTextParserRuleCall_2()); 
@@ -16467,20 +16523,20 @@
 
 
     // $ANTLR start "rule__TableInterval__Alternatives"
-    // InternalReportDSL.g:4737:1: rule__TableInterval__Alternatives : ( ( ruleTableNumberInterval ) | ( ruleTableDateDayInterval ) );
+    // InternalReportDSL.g:4753:1: rule__TableInterval__Alternatives : ( ( ruleTableNumberInterval ) | ( ruleTableDateDayInterval ) );
     public final void rule__TableInterval__Alternatives() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:4741:1: ( ( ruleTableNumberInterval ) | ( ruleTableDateDayInterval ) )
+            // InternalReportDSL.g:4757:1: ( ( ruleTableNumberInterval ) | ( ruleTableDateDayInterval ) )
             int alt12=2;
             int LA12_0 = input.LA(1);
 
-            if ( (LA12_0==213) ) {
+            if ( (LA12_0==220) ) {
                 alt12=1;
             }
-            else if ( (LA12_0==214) ) {
+            else if ( (LA12_0==221) ) {
                 alt12=2;
             }
             else {
@@ -16492,10 +16548,10 @@
             }
             switch (alt12) {
                 case 1 :
-                    // InternalReportDSL.g:4742:2: ( ruleTableNumberInterval )
+                    // InternalReportDSL.g:4758:2: ( ruleTableNumberInterval )
                     {
-                    // InternalReportDSL.g:4742:2: ( ruleTableNumberInterval )
-                    // InternalReportDSL.g:4743:3: ruleTableNumberInterval
+                    // InternalReportDSL.g:4758:2: ( ruleTableNumberInterval )
+                    // InternalReportDSL.g:4759:3: ruleTableNumberInterval
                     {
                     if ( state.backtracking==0 ) {
                        before(grammarAccess.getTableIntervalAccess().getTableNumberIntervalParserRuleCall_0()); 
@@ -16515,10 +16571,10 @@
                     }
                     break;
                 case 2 :
-                    // InternalReportDSL.g:4748:2: ( ruleTableDateDayInterval )
+                    // InternalReportDSL.g:4764:2: ( ruleTableDateDayInterval )
                     {
-                    // InternalReportDSL.g:4748:2: ( ruleTableDateDayInterval )
-                    // InternalReportDSL.g:4749:3: ruleTableDateDayInterval
+                    // InternalReportDSL.g:4764:2: ( ruleTableDateDayInterval )
+                    // InternalReportDSL.g:4765:3: ruleTableDateDayInterval
                     {
                     if ( state.backtracking==0 ) {
                        before(grammarAccess.getTableIntervalAccess().getTableDateDayIntervalParserRuleCall_1()); 
@@ -16555,26 +16611,26 @@
 
 
     // $ANTLR start "rule__TableLookup__Alternatives"
-    // InternalReportDSL.g:4758:1: rule__TableLookup__Alternatives : ( ( ruleTableNumberLookup ) | ( ruleTableStringLookup ) | ( ruleTableDateDayLookup ) );
+    // InternalReportDSL.g:4774:1: rule__TableLookup__Alternatives : ( ( ruleTableNumberLookup ) | ( ruleTableStringLookup ) | ( ruleTableDateDayLookup ) );
     public final void rule__TableLookup__Alternatives() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:4762:1: ( ( ruleTableNumberLookup ) | ( ruleTableStringLookup ) | ( ruleTableDateDayLookup ) )
+            // InternalReportDSL.g:4778:1: ( ( ruleTableNumberLookup ) | ( ruleTableStringLookup ) | ( ruleTableDateDayLookup ) )
             int alt13=3;
             switch ( input.LA(1) ) {
-            case 173:
+            case 180:
                 {
                 alt13=1;
                 }
                 break;
-            case 215:
+            case 222:
                 {
                 alt13=2;
                 }
                 break;
-            case 214:
+            case 221:
                 {
                 alt13=3;
                 }
@@ -16589,10 +16645,10 @@
 
             switch (alt13) {
                 case 1 :
-                    // InternalReportDSL.g:4763:2: ( ruleTableNumberLookup )
+                    // InternalReportDSL.g:4779:2: ( ruleTableNumberLookup )
                     {
-                    // InternalReportDSL.g:4763:2: ( ruleTableNumberLookup )
-                    // InternalReportDSL.g:4764:3: ruleTableNumberLookup
+                    // InternalReportDSL.g:4779:2: ( ruleTableNumberLookup )
+                    // InternalReportDSL.g:4780:3: ruleTableNumberLookup
                     {
                     if ( state.backtracking==0 ) {
                        before(grammarAccess.getTableLookupAccess().getTableNumberLookupParserRuleCall_0()); 
@@ -16612,10 +16668,10 @@
                     }
                     break;
                 case 2 :
-                    // InternalReportDSL.g:4769:2: ( ruleTableStringLookup )
+                    // InternalReportDSL.g:4785:2: ( ruleTableStringLookup )
                     {
-                    // InternalReportDSL.g:4769:2: ( ruleTableStringLookup )
-                    // InternalReportDSL.g:4770:3: ruleTableStringLookup
+                    // InternalReportDSL.g:4785:2: ( ruleTableStringLookup )
+                    // InternalReportDSL.g:4786:3: ruleTableStringLookup
                     {
                     if ( state.backtracking==0 ) {
                        before(grammarAccess.getTableLookupAccess().getTableStringLookupParserRuleCall_1()); 
@@ -16635,10 +16691,10 @@
                     }
                     break;
                 case 3 :
-                    // InternalReportDSL.g:4775:2: ( ruleTableDateDayLookup )
+                    // InternalReportDSL.g:4791:2: ( ruleTableDateDayLookup )
                     {
-                    // InternalReportDSL.g:4775:2: ( ruleTableDateDayLookup )
-                    // InternalReportDSL.g:4776:3: ruleTableDateDayLookup
+                    // InternalReportDSL.g:4791:2: ( ruleTableDateDayLookup )
+                    // InternalReportDSL.g:4792:3: ruleTableDateDayLookup
                     {
                     if ( state.backtracking==0 ) {
                        before(grammarAccess.getTableLookupAccess().getTableDateDayLookupParserRuleCall_2()); 
@@ -16675,31 +16731,31 @@
 
 
     // $ANTLR start "rule__TableRangeElement__Alternatives"
-    // InternalReportDSL.g:4785:1: rule__TableRangeElement__Alternatives : ( ( ruleTableTextColor ) | ( ruleTableCellColor ) | ( ruleTableIcon ) | ( ruleTableTrend ) );
+    // InternalReportDSL.g:4801:1: rule__TableRangeElement__Alternatives : ( ( ruleTableTextColor ) | ( ruleTableCellColor ) | ( ruleTableIcon ) | ( ruleTableTrend ) );
     public final void rule__TableRangeElement__Alternatives() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:4789:1: ( ( ruleTableTextColor ) | ( ruleTableCellColor ) | ( ruleTableIcon ) | ( ruleTableTrend ) )
+            // InternalReportDSL.g:4805:1: ( ( ruleTableTextColor ) | ( ruleTableCellColor ) | ( ruleTableIcon ) | ( ruleTableTrend ) )
             int alt14=4;
             switch ( input.LA(1) ) {
-            case 156:
+            case 162:
                 {
                 alt14=1;
                 }
                 break;
-            case 216:
+            case 223:
                 {
                 alt14=2;
                 }
                 break;
-            case 217:
+            case 224:
                 {
                 alt14=3;
                 }
                 break;
-            case 218:
+            case 225:
                 {
                 alt14=4;
                 }
@@ -16714,10 +16770,10 @@
 
             switch (alt14) {
                 case 1 :
-                    // InternalReportDSL.g:4790:2: ( ruleTableTextColor )
+                    // InternalReportDSL.g:4806:2: ( ruleTableTextColor )
                     {
-                    // InternalReportDSL.g:4790:2: ( ruleTableTextColor )
-                    // InternalReportDSL.g:4791:3: ruleTableTextColor
+                    // InternalReportDSL.g:4806:2: ( ruleTableTextColor )
+                    // InternalReportDSL.g:4807:3: ruleTableTextColor
                     {
                     if ( state.backtracking==0 ) {
                        before(grammarAccess.getTableRangeElementAccess().getTableTextColorParserRuleCall_0()); 
@@ -16737,10 +16793,10 @@
                     }
                     break;
                 case 2 :
-                    // InternalReportDSL.g:4796:2: ( ruleTableCellColor )
+                    // InternalReportDSL.g:4812:2: ( ruleTableCellColor )
                     {
-                    // InternalReportDSL.g:4796:2: ( ruleTableCellColor )
-                    // InternalReportDSL.g:4797:3: ruleTableCellColor
+                    // InternalReportDSL.g:4812:2: ( ruleTableCellColor )
+                    // InternalReportDSL.g:4813:3: ruleTableCellColor
                     {
                     if ( state.backtracking==0 ) {
                        before(grammarAccess.getTableRangeElementAccess().getTableCellColorParserRuleCall_1()); 
@@ -16760,10 +16816,10 @@
                     }
                     break;
                 case 3 :
-                    // InternalReportDSL.g:4802:2: ( ruleTableIcon )
+                    // InternalReportDSL.g:4818:2: ( ruleTableIcon )
                     {
-                    // InternalReportDSL.g:4802:2: ( ruleTableIcon )
-                    // InternalReportDSL.g:4803:3: ruleTableIcon
+                    // InternalReportDSL.g:4818:2: ( ruleTableIcon )
+                    // InternalReportDSL.g:4819:3: ruleTableIcon
                     {
                     if ( state.backtracking==0 ) {
                        before(grammarAccess.getTableRangeElementAccess().getTableIconParserRuleCall_2()); 
@@ -16783,10 +16839,10 @@
                     }
                     break;
                 case 4 :
-                    // InternalReportDSL.g:4808:2: ( ruleTableTrend )
+                    // InternalReportDSL.g:4824:2: ( ruleTableTrend )
                     {
-                    // InternalReportDSL.g:4808:2: ( ruleTableTrend )
-                    // InternalReportDSL.g:4809:3: ruleTableTrend
+                    // InternalReportDSL.g:4824:2: ( ruleTableTrend )
+                    // InternalReportDSL.g:4825:3: ruleTableTrend
                     {
                     if ( state.backtracking==0 ) {
                        before(grammarAccess.getTableRangeElementAccess().getTableTrendParserRuleCall_3()); 
@@ -16823,27 +16879,27 @@
 
 
     // $ANTLR start "rule__XImportDeclaration__Alternatives_2"
-    // InternalReportDSL.g:4818:1: rule__XImportDeclaration__Alternatives_2 : ( ( ( rule__XImportDeclaration__Group_2_0__0 ) ) | ( ( rule__XImportDeclaration__ImportedTypeAssignment_2_1 ) ) | ( ( rule__XImportDeclaration__ImportedNamespaceAssignment_2_2 ) ) | ( ( rule__XImportDeclaration__Group_2_3__0 ) ) );
+    // InternalReportDSL.g:4834:1: rule__XImportDeclaration__Alternatives_2 : ( ( ( rule__XImportDeclaration__Group_2_0__0 ) ) | ( ( rule__XImportDeclaration__ImportedTypeAssignment_2_1 ) ) | ( ( rule__XImportDeclaration__ImportedNamespaceAssignment_2_2 ) ) | ( ( rule__XImportDeclaration__Group_2_3__0 ) ) );
     public final void rule__XImportDeclaration__Alternatives_2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:4822:1: ( ( ( rule__XImportDeclaration__Group_2_0__0 ) ) | ( ( rule__XImportDeclaration__ImportedTypeAssignment_2_1 ) ) | ( ( rule__XImportDeclaration__ImportedNamespaceAssignment_2_2 ) ) | ( ( rule__XImportDeclaration__Group_2_3__0 ) ) )
+            // InternalReportDSL.g:4838:1: ( ( ( rule__XImportDeclaration__Group_2_0__0 ) ) | ( ( rule__XImportDeclaration__ImportedTypeAssignment_2_1 ) ) | ( ( rule__XImportDeclaration__ImportedNamespaceAssignment_2_2 ) ) | ( ( rule__XImportDeclaration__Group_2_3__0 ) ) )
             int alt15=4;
             alt15 = dfa15.predict(input);
             switch (alt15) {
                 case 1 :
-                    // InternalReportDSL.g:4823:2: ( ( rule__XImportDeclaration__Group_2_0__0 ) )
+                    // InternalReportDSL.g:4839:2: ( ( rule__XImportDeclaration__Group_2_0__0 ) )
                     {
-                    // InternalReportDSL.g:4823:2: ( ( rule__XImportDeclaration__Group_2_0__0 ) )
-                    // InternalReportDSL.g:4824:3: ( rule__XImportDeclaration__Group_2_0__0 )
+                    // InternalReportDSL.g:4839:2: ( ( rule__XImportDeclaration__Group_2_0__0 ) )
+                    // InternalReportDSL.g:4840:3: ( rule__XImportDeclaration__Group_2_0__0 )
                     {
                     if ( state.backtracking==0 ) {
                        before(grammarAccess.getXImportDeclarationAccess().getGroup_2_0()); 
                     }
-                    // InternalReportDSL.g:4825:3: ( rule__XImportDeclaration__Group_2_0__0 )
-                    // InternalReportDSL.g:4825:4: rule__XImportDeclaration__Group_2_0__0
+                    // InternalReportDSL.g:4841:3: ( rule__XImportDeclaration__Group_2_0__0 )
+                    // InternalReportDSL.g:4841:4: rule__XImportDeclaration__Group_2_0__0
                     {
                     pushFollow(FOLLOW_2);
                     rule__XImportDeclaration__Group_2_0__0();
@@ -16863,16 +16919,16 @@
                     }
                     break;
                 case 2 :
-                    // InternalReportDSL.g:4829:2: ( ( rule__XImportDeclaration__ImportedTypeAssignment_2_1 ) )
+                    // InternalReportDSL.g:4845:2: ( ( rule__XImportDeclaration__ImportedTypeAssignment_2_1 ) )
                     {
-                    // InternalReportDSL.g:4829:2: ( ( rule__XImportDeclaration__ImportedTypeAssignment_2_1 ) )
-                    // InternalReportDSL.g:4830:3: ( rule__XImportDeclaration__ImportedTypeAssignment_2_1 )
+                    // InternalReportDSL.g:4845:2: ( ( rule__XImportDeclaration__ImportedTypeAssignment_2_1 ) )
+                    // InternalReportDSL.g:4846:3: ( rule__XImportDeclaration__ImportedTypeAssignment_2_1 )
                     {
                     if ( state.backtracking==0 ) {
                        before(grammarAccess.getXImportDeclarationAccess().getImportedTypeAssignment_2_1()); 
                     }
-                    // InternalReportDSL.g:4831:3: ( rule__XImportDeclaration__ImportedTypeAssignment_2_1 )
-                    // InternalReportDSL.g:4831:4: rule__XImportDeclaration__ImportedTypeAssignment_2_1
+                    // InternalReportDSL.g:4847:3: ( rule__XImportDeclaration__ImportedTypeAssignment_2_1 )
+                    // InternalReportDSL.g:4847:4: rule__XImportDeclaration__ImportedTypeAssignment_2_1
                     {
                     pushFollow(FOLLOW_2);
                     rule__XImportDeclaration__ImportedTypeAssignment_2_1();
@@ -16892,16 +16948,16 @@
                     }
                     break;
                 case 3 :
-                    // InternalReportDSL.g:4835:2: ( ( rule__XImportDeclaration__ImportedNamespaceAssignment_2_2 ) )
+                    // InternalReportDSL.g:4851:2: ( ( rule__XImportDeclaration__ImportedNamespaceAssignment_2_2 ) )
                     {
-                    // InternalReportDSL.g:4835:2: ( ( rule__XImportDeclaration__ImportedNamespaceAssignment_2_2 ) )
-                    // InternalReportDSL.g:4836:3: ( rule__XImportDeclaration__ImportedNamespaceAssignment_2_2 )
+                    // InternalReportDSL.g:4851:2: ( ( rule__XImportDeclaration__ImportedNamespaceAssignment_2_2 ) )
+                    // InternalReportDSL.g:4852:3: ( rule__XImportDeclaration__ImportedNamespaceAssignment_2_2 )
                     {
                     if ( state.backtracking==0 ) {
                        before(grammarAccess.getXImportDeclarationAccess().getImportedNamespaceAssignment_2_2()); 
                     }
-                    // InternalReportDSL.g:4837:3: ( rule__XImportDeclaration__ImportedNamespaceAssignment_2_2 )
-                    // InternalReportDSL.g:4837:4: rule__XImportDeclaration__ImportedNamespaceAssignment_2_2
+                    // InternalReportDSL.g:4853:3: ( rule__XImportDeclaration__ImportedNamespaceAssignment_2_2 )
+                    // InternalReportDSL.g:4853:4: rule__XImportDeclaration__ImportedNamespaceAssignment_2_2
                     {
                     pushFollow(FOLLOW_2);
                     rule__XImportDeclaration__ImportedNamespaceAssignment_2_2();
@@ -16921,16 +16977,16 @@
                     }
                     break;
                 case 4 :
-                    // InternalReportDSL.g:4841:2: ( ( rule__XImportDeclaration__Group_2_3__0 ) )
+                    // InternalReportDSL.g:4857:2: ( ( rule__XImportDeclaration__Group_2_3__0 ) )
                     {
-                    // InternalReportDSL.g:4841:2: ( ( rule__XImportDeclaration__Group_2_3__0 ) )
-                    // InternalReportDSL.g:4842:3: ( rule__XImportDeclaration__Group_2_3__0 )
+                    // InternalReportDSL.g:4857:2: ( ( rule__XImportDeclaration__Group_2_3__0 ) )
+                    // InternalReportDSL.g:4858:3: ( rule__XImportDeclaration__Group_2_3__0 )
                     {
                     if ( state.backtracking==0 ) {
                        before(grammarAccess.getXImportDeclarationAccess().getGroup_2_3()); 
                     }
-                    // InternalReportDSL.g:4843:3: ( rule__XImportDeclaration__Group_2_3__0 )
-                    // InternalReportDSL.g:4843:4: rule__XImportDeclaration__Group_2_3__0
+                    // InternalReportDSL.g:4859:3: ( rule__XImportDeclaration__Group_2_3__0 )
+                    // InternalReportDSL.g:4859:4: rule__XImportDeclaration__Group_2_3__0
                     {
                     pushFollow(FOLLOW_2);
                     rule__XImportDeclaration__Group_2_3__0();
@@ -16967,13 +17023,13 @@
 
 
     // $ANTLR start "rule__XImportDeclaration__Alternatives_2_0_3"
-    // InternalReportDSL.g:4851:1: rule__XImportDeclaration__Alternatives_2_0_3 : ( ( ( rule__XImportDeclaration__WildcardAssignment_2_0_3_0 ) ) | ( ( rule__XImportDeclaration__MemberNameAssignment_2_0_3_1 ) ) );
+    // InternalReportDSL.g:4867:1: rule__XImportDeclaration__Alternatives_2_0_3 : ( ( ( rule__XImportDeclaration__WildcardAssignment_2_0_3_0 ) ) | ( ( rule__XImportDeclaration__MemberNameAssignment_2_0_3_1 ) ) );
     public final void rule__XImportDeclaration__Alternatives_2_0_3() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:4855:1: ( ( ( rule__XImportDeclaration__WildcardAssignment_2_0_3_0 ) ) | ( ( rule__XImportDeclaration__MemberNameAssignment_2_0_3_1 ) ) )
+            // InternalReportDSL.g:4871:1: ( ( ( rule__XImportDeclaration__WildcardAssignment_2_0_3_0 ) ) | ( ( rule__XImportDeclaration__MemberNameAssignment_2_0_3_1 ) ) )
             int alt16=2;
             int LA16_0 = input.LA(1);
 
@@ -16992,16 +17048,16 @@
             }
             switch (alt16) {
                 case 1 :
-                    // InternalReportDSL.g:4856:2: ( ( rule__XImportDeclaration__WildcardAssignment_2_0_3_0 ) )
+                    // InternalReportDSL.g:4872:2: ( ( rule__XImportDeclaration__WildcardAssignment_2_0_3_0 ) )
                     {
-                    // InternalReportDSL.g:4856:2: ( ( rule__XImportDeclaration__WildcardAssignment_2_0_3_0 ) )
-                    // InternalReportDSL.g:4857:3: ( rule__XImportDeclaration__WildcardAssignment_2_0_3_0 )
+                    // InternalReportDSL.g:4872:2: ( ( rule__XImportDeclaration__WildcardAssignment_2_0_3_0 ) )
+                    // InternalReportDSL.g:4873:3: ( rule__XImportDeclaration__WildcardAssignment_2_0_3_0 )
                     {
                     if ( state.backtracking==0 ) {
                        before(grammarAccess.getXImportDeclarationAccess().getWildcardAssignment_2_0_3_0()); 
                     }
-                    // InternalReportDSL.g:4858:3: ( rule__XImportDeclaration__WildcardAssignment_2_0_3_0 )
-                    // InternalReportDSL.g:4858:4: rule__XImportDeclaration__WildcardAssignment_2_0_3_0
+                    // InternalReportDSL.g:4874:3: ( rule__XImportDeclaration__WildcardAssignment_2_0_3_0 )
+                    // InternalReportDSL.g:4874:4: rule__XImportDeclaration__WildcardAssignment_2_0_3_0
                     {
                     pushFollow(FOLLOW_2);
                     rule__XImportDeclaration__WildcardAssignment_2_0_3_0();
@@ -17021,16 +17077,16 @@
                     }
                     break;
                 case 2 :
-                    // InternalReportDSL.g:4862:2: ( ( rule__XImportDeclaration__MemberNameAssignment_2_0_3_1 ) )
+                    // InternalReportDSL.g:4878:2: ( ( rule__XImportDeclaration__MemberNameAssignment_2_0_3_1 ) )
                     {
-                    // InternalReportDSL.g:4862:2: ( ( rule__XImportDeclaration__MemberNameAssignment_2_0_3_1 ) )
-                    // InternalReportDSL.g:4863:3: ( rule__XImportDeclaration__MemberNameAssignment_2_0_3_1 )
+                    // InternalReportDSL.g:4878:2: ( ( rule__XImportDeclaration__MemberNameAssignment_2_0_3_1 ) )
+                    // InternalReportDSL.g:4879:3: ( rule__XImportDeclaration__MemberNameAssignment_2_0_3_1 )
                     {
                     if ( state.backtracking==0 ) {
                        before(grammarAccess.getXImportDeclarationAccess().getMemberNameAssignment_2_0_3_1()); 
                     }
-                    // InternalReportDSL.g:4864:3: ( rule__XImportDeclaration__MemberNameAssignment_2_0_3_1 )
-                    // InternalReportDSL.g:4864:4: rule__XImportDeclaration__MemberNameAssignment_2_0_3_1
+                    // InternalReportDSL.g:4880:3: ( rule__XImportDeclaration__MemberNameAssignment_2_0_3_1 )
+                    // InternalReportDSL.g:4880:4: rule__XImportDeclaration__MemberNameAssignment_2_0_3_1
                     {
                     pushFollow(FOLLOW_2);
                     rule__XImportDeclaration__MemberNameAssignment_2_0_3_1();
@@ -17067,27 +17123,27 @@
 
 
     // $ANTLR start "rule__XAnnotation__Alternatives_3_1"
-    // InternalReportDSL.g:4872:1: rule__XAnnotation__Alternatives_3_1 : ( ( ( rule__XAnnotation__Group_3_1_0__0 ) ) | ( ( rule__XAnnotation__ValueAssignment_3_1_1 ) ) );
+    // InternalReportDSL.g:4888:1: rule__XAnnotation__Alternatives_3_1 : ( ( ( rule__XAnnotation__Group_3_1_0__0 ) ) | ( ( rule__XAnnotation__ValueAssignment_3_1_1 ) ) );
     public final void rule__XAnnotation__Alternatives_3_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:4876:1: ( ( ( rule__XAnnotation__Group_3_1_0__0 ) ) | ( ( rule__XAnnotation__ValueAssignment_3_1_1 ) ) )
+            // InternalReportDSL.g:4892:1: ( ( ( rule__XAnnotation__Group_3_1_0__0 ) ) | ( ( rule__XAnnotation__ValueAssignment_3_1_1 ) ) )
             int alt17=2;
             alt17 = dfa17.predict(input);
             switch (alt17) {
                 case 1 :
-                    // InternalReportDSL.g:4877:2: ( ( rule__XAnnotation__Group_3_1_0__0 ) )
+                    // InternalReportDSL.g:4893:2: ( ( rule__XAnnotation__Group_3_1_0__0 ) )
                     {
-                    // InternalReportDSL.g:4877:2: ( ( rule__XAnnotation__Group_3_1_0__0 ) )
-                    // InternalReportDSL.g:4878:3: ( rule__XAnnotation__Group_3_1_0__0 )
+                    // InternalReportDSL.g:4893:2: ( ( rule__XAnnotation__Group_3_1_0__0 ) )
+                    // InternalReportDSL.g:4894:3: ( rule__XAnnotation__Group_3_1_0__0 )
                     {
                     if ( state.backtracking==0 ) {
                        before(grammarAccess.getXAnnotationAccess().getGroup_3_1_0()); 
                     }
-                    // InternalReportDSL.g:4879:3: ( rule__XAnnotation__Group_3_1_0__0 )
-                    // InternalReportDSL.g:4879:4: rule__XAnnotation__Group_3_1_0__0
+                    // InternalReportDSL.g:4895:3: ( rule__XAnnotation__Group_3_1_0__0 )
+                    // InternalReportDSL.g:4895:4: rule__XAnnotation__Group_3_1_0__0
                     {
                     pushFollow(FOLLOW_2);
                     rule__XAnnotation__Group_3_1_0__0();
@@ -17107,16 +17163,16 @@
                     }
                     break;
                 case 2 :
-                    // InternalReportDSL.g:4883:2: ( ( rule__XAnnotation__ValueAssignment_3_1_1 ) )
+                    // InternalReportDSL.g:4899:2: ( ( rule__XAnnotation__ValueAssignment_3_1_1 ) )
                     {
-                    // InternalReportDSL.g:4883:2: ( ( rule__XAnnotation__ValueAssignment_3_1_1 ) )
-                    // InternalReportDSL.g:4884:3: ( rule__XAnnotation__ValueAssignment_3_1_1 )
+                    // InternalReportDSL.g:4899:2: ( ( rule__XAnnotation__ValueAssignment_3_1_1 ) )
+                    // InternalReportDSL.g:4900:3: ( rule__XAnnotation__ValueAssignment_3_1_1 )
                     {
                     if ( state.backtracking==0 ) {
                        before(grammarAccess.getXAnnotationAccess().getValueAssignment_3_1_1()); 
                     }
-                    // InternalReportDSL.g:4885:3: ( rule__XAnnotation__ValueAssignment_3_1_1 )
-                    // InternalReportDSL.g:4885:4: rule__XAnnotation__ValueAssignment_3_1_1
+                    // InternalReportDSL.g:4901:3: ( rule__XAnnotation__ValueAssignment_3_1_1 )
+                    // InternalReportDSL.g:4901:4: rule__XAnnotation__ValueAssignment_3_1_1
                     {
                     pushFollow(FOLLOW_2);
                     rule__XAnnotation__ValueAssignment_3_1_1();
@@ -17153,27 +17209,27 @@
 
 
     // $ANTLR start "rule__XAnnotationElementValueOrCommaList__Alternatives"
-    // InternalReportDSL.g:4893:1: rule__XAnnotationElementValueOrCommaList__Alternatives : ( ( ( rule__XAnnotationElementValueOrCommaList__Group_0__0 ) ) | ( ( rule__XAnnotationElementValueOrCommaList__Group_1__0 ) ) );
+    // InternalReportDSL.g:4909:1: rule__XAnnotationElementValueOrCommaList__Alternatives : ( ( ( rule__XAnnotationElementValueOrCommaList__Group_0__0 ) ) | ( ( rule__XAnnotationElementValueOrCommaList__Group_1__0 ) ) );
     public final void rule__XAnnotationElementValueOrCommaList__Alternatives() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:4897:1: ( ( ( rule__XAnnotationElementValueOrCommaList__Group_0__0 ) ) | ( ( rule__XAnnotationElementValueOrCommaList__Group_1__0 ) ) )
+            // InternalReportDSL.g:4913:1: ( ( ( rule__XAnnotationElementValueOrCommaList__Group_0__0 ) ) | ( ( rule__XAnnotationElementValueOrCommaList__Group_1__0 ) ) )
             int alt18=2;
             alt18 = dfa18.predict(input);
             switch (alt18) {
                 case 1 :
-                    // InternalReportDSL.g:4898:2: ( ( rule__XAnnotationElementValueOrCommaList__Group_0__0 ) )
+                    // InternalReportDSL.g:4914:2: ( ( rule__XAnnotationElementValueOrCommaList__Group_0__0 ) )
                     {
-                    // InternalReportDSL.g:4898:2: ( ( rule__XAnnotationElementValueOrCommaList__Group_0__0 ) )
-                    // InternalReportDSL.g:4899:3: ( rule__XAnnotationElementValueOrCommaList__Group_0__0 )
+                    // InternalReportDSL.g:4914:2: ( ( rule__XAnnotationElementValueOrCommaList__Group_0__0 ) )
+                    // InternalReportDSL.g:4915:3: ( rule__XAnnotationElementValueOrCommaList__Group_0__0 )
                     {
                     if ( state.backtracking==0 ) {
                        before(grammarAccess.getXAnnotationElementValueOrCommaListAccess().getGroup_0()); 
                     }
-                    // InternalReportDSL.g:4900:3: ( rule__XAnnotationElementValueOrCommaList__Group_0__0 )
-                    // InternalReportDSL.g:4900:4: rule__XAnnotationElementValueOrCommaList__Group_0__0
+                    // InternalReportDSL.g:4916:3: ( rule__XAnnotationElementValueOrCommaList__Group_0__0 )
+                    // InternalReportDSL.g:4916:4: rule__XAnnotationElementValueOrCommaList__Group_0__0
                     {
                     pushFollow(FOLLOW_2);
                     rule__XAnnotationElementValueOrCommaList__Group_0__0();
@@ -17193,16 +17249,16 @@
                     }
                     break;
                 case 2 :
-                    // InternalReportDSL.g:4904:2: ( ( rule__XAnnotationElementValueOrCommaList__Group_1__0 ) )
+                    // InternalReportDSL.g:4920:2: ( ( rule__XAnnotationElementValueOrCommaList__Group_1__0 ) )
                     {
-                    // InternalReportDSL.g:4904:2: ( ( rule__XAnnotationElementValueOrCommaList__Group_1__0 ) )
-                    // InternalReportDSL.g:4905:3: ( rule__XAnnotationElementValueOrCommaList__Group_1__0 )
+                    // InternalReportDSL.g:4920:2: ( ( rule__XAnnotationElementValueOrCommaList__Group_1__0 ) )
+                    // InternalReportDSL.g:4921:3: ( rule__XAnnotationElementValueOrCommaList__Group_1__0 )
                     {
                     if ( state.backtracking==0 ) {
                        before(grammarAccess.getXAnnotationElementValueOrCommaListAccess().getGroup_1()); 
                     }
-                    // InternalReportDSL.g:4906:3: ( rule__XAnnotationElementValueOrCommaList__Group_1__0 )
-                    // InternalReportDSL.g:4906:4: rule__XAnnotationElementValueOrCommaList__Group_1__0
+                    // InternalReportDSL.g:4922:3: ( rule__XAnnotationElementValueOrCommaList__Group_1__0 )
+                    // InternalReportDSL.g:4922:4: rule__XAnnotationElementValueOrCommaList__Group_1__0
                     {
                     pushFollow(FOLLOW_2);
                     rule__XAnnotationElementValueOrCommaList__Group_1__0();
@@ -17239,27 +17295,27 @@
 
 
     // $ANTLR start "rule__XAnnotationElementValue__Alternatives"
-    // InternalReportDSL.g:4914:1: rule__XAnnotationElementValue__Alternatives : ( ( ( rule__XAnnotationElementValue__Group_0__0 ) ) | ( ruleXAnnotationOrExpression ) );
+    // InternalReportDSL.g:4930:1: rule__XAnnotationElementValue__Alternatives : ( ( ( rule__XAnnotationElementValue__Group_0__0 ) ) | ( ruleXAnnotationOrExpression ) );
     public final void rule__XAnnotationElementValue__Alternatives() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:4918:1: ( ( ( rule__XAnnotationElementValue__Group_0__0 ) ) | ( ruleXAnnotationOrExpression ) )
+            // InternalReportDSL.g:4934:1: ( ( ( rule__XAnnotationElementValue__Group_0__0 ) ) | ( ruleXAnnotationOrExpression ) )
             int alt19=2;
             alt19 = dfa19.predict(input);
             switch (alt19) {
                 case 1 :
-                    // InternalReportDSL.g:4919:2: ( ( rule__XAnnotationElementValue__Group_0__0 ) )
+                    // InternalReportDSL.g:4935:2: ( ( rule__XAnnotationElementValue__Group_0__0 ) )
                     {
-                    // InternalReportDSL.g:4919:2: ( ( rule__XAnnotationElementValue__Group_0__0 ) )
-                    // InternalReportDSL.g:4920:3: ( rule__XAnnotationElementValue__Group_0__0 )
+                    // InternalReportDSL.g:4935:2: ( ( rule__XAnnotationElementValue__Group_0__0 ) )
+                    // InternalReportDSL.g:4936:3: ( rule__XAnnotationElementValue__Group_0__0 )
                     {
                     if ( state.backtracking==0 ) {
                        before(grammarAccess.getXAnnotationElementValueAccess().getGroup_0()); 
                     }
-                    // InternalReportDSL.g:4921:3: ( rule__XAnnotationElementValue__Group_0__0 )
-                    // InternalReportDSL.g:4921:4: rule__XAnnotationElementValue__Group_0__0
+                    // InternalReportDSL.g:4937:3: ( rule__XAnnotationElementValue__Group_0__0 )
+                    // InternalReportDSL.g:4937:4: rule__XAnnotationElementValue__Group_0__0
                     {
                     pushFollow(FOLLOW_2);
                     rule__XAnnotationElementValue__Group_0__0();
@@ -17279,10 +17335,10 @@
                     }
                     break;
                 case 2 :
-                    // InternalReportDSL.g:4925:2: ( ruleXAnnotationOrExpression )
+                    // InternalReportDSL.g:4941:2: ( ruleXAnnotationOrExpression )
                     {
-                    // InternalReportDSL.g:4925:2: ( ruleXAnnotationOrExpression )
-                    // InternalReportDSL.g:4926:3: ruleXAnnotationOrExpression
+                    // InternalReportDSL.g:4941:2: ( ruleXAnnotationOrExpression )
+                    // InternalReportDSL.g:4942:3: ruleXAnnotationOrExpression
                     {
                     if ( state.backtracking==0 ) {
                        before(grammarAccess.getXAnnotationElementValueAccess().getXAnnotationOrExpressionParserRuleCall_1()); 
@@ -17319,20 +17375,20 @@
 
 
     // $ANTLR start "rule__XAnnotationOrExpression__Alternatives"
-    // InternalReportDSL.g:4935:1: rule__XAnnotationOrExpression__Alternatives : ( ( ruleXAnnotation ) | ( ruleXExpression ) );
+    // InternalReportDSL.g:4951:1: rule__XAnnotationOrExpression__Alternatives : ( ( ruleXAnnotation ) | ( ruleXExpression ) );
     public final void rule__XAnnotationOrExpression__Alternatives() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:4939:1: ( ( ruleXAnnotation ) | ( ruleXExpression ) )
+            // InternalReportDSL.g:4955:1: ( ( ruleXAnnotation ) | ( ruleXExpression ) )
             int alt20=2;
             int LA20_0 = input.LA(1);
 
-            if ( (LA20_0==227) ) {
+            if ( (LA20_0==234) ) {
                 alt20=1;
             }
-            else if ( ((LA20_0>=RULE_STRING && LA20_0<=RULE_DECIMAL)||LA20_0==31||(LA20_0>=38 && LA20_0<=39)||LA20_0==44||(LA20_0>=49 && LA20_0<=54)||LA20_0==125||LA20_0==204||(LA20_0>=230 && LA20_0<=231)||LA20_0==233||LA20_0==235||(LA20_0>=239 && LA20_0<=247)||LA20_0==249||LA20_0==266) ) {
+            else if ( ((LA20_0>=RULE_STRING && LA20_0<=RULE_DECIMAL)||LA20_0==31||(LA20_0>=38 && LA20_0<=39)||LA20_0==44||(LA20_0>=49 && LA20_0<=54)||LA20_0==131||LA20_0==211||(LA20_0>=237 && LA20_0<=238)||LA20_0==240||LA20_0==242||(LA20_0>=246 && LA20_0<=254)||LA20_0==256||LA20_0==271) ) {
                 alt20=2;
             }
             else {
@@ -17344,10 +17400,10 @@
             }
             switch (alt20) {
                 case 1 :
-                    // InternalReportDSL.g:4940:2: ( ruleXAnnotation )
+                    // InternalReportDSL.g:4956:2: ( ruleXAnnotation )
                     {
-                    // InternalReportDSL.g:4940:2: ( ruleXAnnotation )
-                    // InternalReportDSL.g:4941:3: ruleXAnnotation
+                    // InternalReportDSL.g:4956:2: ( ruleXAnnotation )
+                    // InternalReportDSL.g:4957:3: ruleXAnnotation
                     {
                     if ( state.backtracking==0 ) {
                        before(grammarAccess.getXAnnotationOrExpressionAccess().getXAnnotationParserRuleCall_0()); 
@@ -17367,10 +17423,10 @@
                     }
                     break;
                 case 2 :
-                    // InternalReportDSL.g:4946:2: ( ruleXExpression )
+                    // InternalReportDSL.g:4962:2: ( ruleXExpression )
                     {
-                    // InternalReportDSL.g:4946:2: ( ruleXExpression )
-                    // InternalReportDSL.g:4947:3: ruleXExpression
+                    // InternalReportDSL.g:4962:2: ( ruleXExpression )
+                    // InternalReportDSL.g:4963:3: ruleXExpression
                     {
                     if ( state.backtracking==0 ) {
                        before(grammarAccess.getXAnnotationOrExpressionAccess().getXExpressionParserRuleCall_1()); 
@@ -17407,13 +17463,13 @@
 
 
     // $ANTLR start "rule__XAssignment__Alternatives"
-    // InternalReportDSL.g:4956:1: rule__XAssignment__Alternatives : ( ( ( rule__XAssignment__Group_0__0 ) ) | ( ( rule__XAssignment__Group_1__0 ) ) );
+    // InternalReportDSL.g:4972:1: rule__XAssignment__Alternatives : ( ( ( rule__XAssignment__Group_0__0 ) ) | ( ( rule__XAssignment__Group_1__0 ) ) );
     public final void rule__XAssignment__Alternatives() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:4960:1: ( ( ( rule__XAssignment__Group_0__0 ) ) | ( ( rule__XAssignment__Group_1__0 ) ) )
+            // InternalReportDSL.g:4976:1: ( ( ( rule__XAssignment__Group_0__0 ) ) | ( ( rule__XAssignment__Group_1__0 ) ) )
             int alt21=2;
             switch ( input.LA(1) ) {
             case RULE_ID:
@@ -17423,7 +17479,7 @@
                 if ( (LA21_1==13) ) {
                     alt21=1;
                 }
-                else if ( (LA21_1==EOF||(LA21_1>=RULE_STRING && LA21_1<=RULE_DECIMAL)||(LA21_1>=14 && LA21_1<=15)||(LA21_1>=20 && LA21_1<=54)||(LA21_1>=125 && LA21_1<=126)||LA21_1==189||(LA21_1>=204 && LA21_1<=205)||LA21_1==226||(LA21_1>=228 && LA21_1<=250)||(LA21_1>=262 && LA21_1<=263)||(LA21_1>=265 && LA21_1<=266)) ) {
+                else if ( (LA21_1==EOF||(LA21_1>=RULE_STRING && LA21_1<=RULE_DECIMAL)||(LA21_1>=14 && LA21_1<=15)||(LA21_1>=20 && LA21_1<=54)||(LA21_1>=131 && LA21_1<=132)||LA21_1==196||(LA21_1>=211 && LA21_1<=212)||LA21_1==233||(LA21_1>=235 && LA21_1<=257)||(LA21_1>=267 && LA21_1<=268)||(LA21_1>=270 && LA21_1<=271)) ) {
                     alt21=2;
                 }
                 else {
@@ -17439,12 +17495,12 @@
                 {
                 int LA21_2 = input.LA(2);
 
-                if ( (LA21_2==EOF||(LA21_2>=RULE_STRING && LA21_2<=RULE_DECIMAL)||(LA21_2>=14 && LA21_2<=15)||(LA21_2>=20 && LA21_2<=54)||(LA21_2>=125 && LA21_2<=126)||LA21_2==189||(LA21_2>=204 && LA21_2<=205)||LA21_2==226||(LA21_2>=228 && LA21_2<=250)||(LA21_2>=262 && LA21_2<=263)||(LA21_2>=265 && LA21_2<=266)) ) {
-                    alt21=2;
-                }
-                else if ( (LA21_2==13) ) {
+                if ( (LA21_2==13) ) {
                     alt21=1;
                 }
+                else if ( (LA21_2==EOF||(LA21_2>=RULE_STRING && LA21_2<=RULE_DECIMAL)||(LA21_2>=14 && LA21_2<=15)||(LA21_2>=20 && LA21_2<=54)||(LA21_2>=131 && LA21_2<=132)||LA21_2==196||(LA21_2>=211 && LA21_2<=212)||LA21_2==233||(LA21_2>=235 && LA21_2<=257)||(LA21_2>=267 && LA21_2<=268)||(LA21_2>=270 && LA21_2<=271)) ) {
+                    alt21=2;
+                }
                 else {
                     if (state.backtracking>0) {state.failed=true; return ;}
                     NoViableAltException nvae =
@@ -17461,7 +17517,7 @@
                 if ( (LA21_3==13) ) {
                     alt21=1;
                 }
-                else if ( (LA21_3==EOF||(LA21_3>=RULE_STRING && LA21_3<=RULE_DECIMAL)||(LA21_3>=14 && LA21_3<=15)||(LA21_3>=20 && LA21_3<=54)||(LA21_3>=125 && LA21_3<=126)||LA21_3==189||(LA21_3>=204 && LA21_3<=205)||LA21_3==226||(LA21_3>=228 && LA21_3<=250)||(LA21_3>=262 && LA21_3<=263)||(LA21_3>=265 && LA21_3<=266)) ) {
+                else if ( (LA21_3==EOF||(LA21_3>=RULE_STRING && LA21_3<=RULE_DECIMAL)||(LA21_3>=14 && LA21_3<=15)||(LA21_3>=20 && LA21_3<=54)||(LA21_3>=131 && LA21_3<=132)||LA21_3==196||(LA21_3>=211 && LA21_3<=212)||LA21_3==233||(LA21_3>=235 && LA21_3<=257)||(LA21_3>=267 && LA21_3<=268)||(LA21_3>=270 && LA21_3<=271)) ) {
                     alt21=2;
                 }
                 else {
@@ -17477,12 +17533,12 @@
                 {
                 int LA21_4 = input.LA(2);
 
-                if ( (LA21_4==EOF||(LA21_4>=RULE_STRING && LA21_4<=RULE_DECIMAL)||(LA21_4>=14 && LA21_4<=15)||(LA21_4>=20 && LA21_4<=54)||(LA21_4>=125 && LA21_4<=126)||LA21_4==189||(LA21_4>=204 && LA21_4<=205)||LA21_4==226||(LA21_4>=228 && LA21_4<=250)||(LA21_4>=262 && LA21_4<=263)||(LA21_4>=265 && LA21_4<=266)) ) {
-                    alt21=2;
-                }
-                else if ( (LA21_4==13) ) {
+                if ( (LA21_4==13) ) {
                     alt21=1;
                 }
+                else if ( (LA21_4==EOF||(LA21_4>=RULE_STRING && LA21_4<=RULE_DECIMAL)||(LA21_4>=14 && LA21_4<=15)||(LA21_4>=20 && LA21_4<=54)||(LA21_4>=131 && LA21_4<=132)||LA21_4==196||(LA21_4>=211 && LA21_4<=212)||LA21_4==233||(LA21_4>=235 && LA21_4<=257)||(LA21_4>=267 && LA21_4<=268)||(LA21_4>=270 && LA21_4<=271)) ) {
+                    alt21=2;
+                }
                 else {
                     if (state.backtracking>0) {state.failed=true; return ;}
                     NoViableAltException nvae =
@@ -17499,7 +17555,7 @@
                 if ( (LA21_5==13) ) {
                     alt21=1;
                 }
-                else if ( (LA21_5==EOF||(LA21_5>=RULE_STRING && LA21_5<=RULE_DECIMAL)||(LA21_5>=14 && LA21_5<=15)||(LA21_5>=20 && LA21_5<=54)||(LA21_5>=125 && LA21_5<=126)||LA21_5==189||(LA21_5>=204 && LA21_5<=205)||LA21_5==226||(LA21_5>=228 && LA21_5<=250)||(LA21_5>=262 && LA21_5<=263)||(LA21_5>=265 && LA21_5<=266)) ) {
+                else if ( (LA21_5==EOF||(LA21_5>=RULE_STRING && LA21_5<=RULE_DECIMAL)||(LA21_5>=14 && LA21_5<=15)||(LA21_5>=20 && LA21_5<=54)||(LA21_5>=131 && LA21_5<=132)||LA21_5==196||(LA21_5>=211 && LA21_5<=212)||LA21_5==233||(LA21_5>=235 && LA21_5<=257)||(LA21_5>=267 && LA21_5<=268)||(LA21_5>=270 && LA21_5<=271)) ) {
                     alt21=2;
                 }
                 else {
@@ -17521,23 +17577,23 @@
             case 44:
             case 53:
             case 54:
-            case 125:
-            case 204:
-            case 230:
-            case 231:
-            case 233:
-            case 235:
-            case 239:
+            case 131:
+            case 211:
+            case 237:
+            case 238:
             case 240:
-            case 241:
             case 242:
-            case 243:
-            case 244:
-            case 245:
             case 246:
             case 247:
+            case 248:
             case 249:
-            case 266:
+            case 250:
+            case 251:
+            case 252:
+            case 253:
+            case 254:
+            case 256:
+            case 271:
                 {
                 alt21=2;
                 }
@@ -17552,16 +17608,16 @@
 
             switch (alt21) {
                 case 1 :
-                    // InternalReportDSL.g:4961:2: ( ( rule__XAssignment__Group_0__0 ) )
+                    // InternalReportDSL.g:4977:2: ( ( rule__XAssignment__Group_0__0 ) )
                     {
-                    // InternalReportDSL.g:4961:2: ( ( rule__XAssignment__Group_0__0 ) )
-                    // InternalReportDSL.g:4962:3: ( rule__XAssignment__Group_0__0 )
+                    // InternalReportDSL.g:4977:2: ( ( rule__XAssignment__Group_0__0 ) )
+                    // InternalReportDSL.g:4978:3: ( rule__XAssignment__Group_0__0 )
                     {
                     if ( state.backtracking==0 ) {
                        before(grammarAccess.getXAssignmentAccess().getGroup_0()); 
                     }
-                    // InternalReportDSL.g:4963:3: ( rule__XAssignment__Group_0__0 )
-                    // InternalReportDSL.g:4963:4: rule__XAssignment__Group_0__0
+                    // InternalReportDSL.g:4979:3: ( rule__XAssignment__Group_0__0 )
+                    // InternalReportDSL.g:4979:4: rule__XAssignment__Group_0__0
                     {
                     pushFollow(FOLLOW_2);
                     rule__XAssignment__Group_0__0();
@@ -17581,16 +17637,16 @@
                     }
                     break;
                 case 2 :
-                    // InternalReportDSL.g:4967:2: ( ( rule__XAssignment__Group_1__0 ) )
+                    // InternalReportDSL.g:4983:2: ( ( rule__XAssignment__Group_1__0 ) )
                     {
-                    // InternalReportDSL.g:4967:2: ( ( rule__XAssignment__Group_1__0 ) )
-                    // InternalReportDSL.g:4968:3: ( rule__XAssignment__Group_1__0 )
+                    // InternalReportDSL.g:4983:2: ( ( rule__XAssignment__Group_1__0 ) )
+                    // InternalReportDSL.g:4984:3: ( rule__XAssignment__Group_1__0 )
                     {
                     if ( state.backtracking==0 ) {
                        before(grammarAccess.getXAssignmentAccess().getGroup_1()); 
                     }
-                    // InternalReportDSL.g:4969:3: ( rule__XAssignment__Group_1__0 )
-                    // InternalReportDSL.g:4969:4: rule__XAssignment__Group_1__0
+                    // InternalReportDSL.g:4985:3: ( rule__XAssignment__Group_1__0 )
+                    // InternalReportDSL.g:4985:4: rule__XAssignment__Group_1__0
                     {
                     pushFollow(FOLLOW_2);
                     rule__XAssignment__Group_1__0();
@@ -17627,13 +17683,13 @@
 
 
     // $ANTLR start "rule__OpMultiAssign__Alternatives"
-    // InternalReportDSL.g:4977:1: rule__OpMultiAssign__Alternatives : ( ( '+=' ) | ( '-=' ) | ( '*=' ) | ( '/=' ) | ( '%=' ) | ( ( rule__OpMultiAssign__Group_5__0 ) ) | ( ( rule__OpMultiAssign__Group_6__0 ) ) );
+    // InternalReportDSL.g:4993:1: rule__OpMultiAssign__Alternatives : ( ( '+=' ) | ( '-=' ) | ( '*=' ) | ( '/=' ) | ( '%=' ) | ( ( rule__OpMultiAssign__Group_5__0 ) ) | ( ( rule__OpMultiAssign__Group_6__0 ) ) );
     public final void rule__OpMultiAssign__Alternatives() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:4981:1: ( ( '+=' ) | ( '-=' ) | ( '*=' ) | ( '/=' ) | ( '%=' ) | ( ( rule__OpMultiAssign__Group_5__0 ) ) | ( ( rule__OpMultiAssign__Group_6__0 ) ) )
+            // InternalReportDSL.g:4997:1: ( ( '+=' ) | ( '-=' ) | ( '*=' ) | ( '/=' ) | ( '%=' ) | ( ( rule__OpMultiAssign__Group_5__0 ) ) | ( ( rule__OpMultiAssign__Group_6__0 ) ) )
             int alt22=7;
             switch ( input.LA(1) ) {
             case 20:
@@ -17681,10 +17737,10 @@
 
             switch (alt22) {
                 case 1 :
-                    // InternalReportDSL.g:4982:2: ( '+=' )
+                    // InternalReportDSL.g:4998:2: ( '+=' )
                     {
-                    // InternalReportDSL.g:4982:2: ( '+=' )
-                    // InternalReportDSL.g:4983:3: '+='
+                    // InternalReportDSL.g:4998:2: ( '+=' )
+                    // InternalReportDSL.g:4999:3: '+='
                     {
                     if ( state.backtracking==0 ) {
                        before(grammarAccess.getOpMultiAssignAccess().getPlusSignEqualsSignKeyword_0()); 
@@ -17700,10 +17756,10 @@
                     }
                     break;
                 case 2 :
-                    // InternalReportDSL.g:4988:2: ( '-=' )
+                    // InternalReportDSL.g:5004:2: ( '-=' )
                     {
-                    // InternalReportDSL.g:4988:2: ( '-=' )
-                    // InternalReportDSL.g:4989:3: '-='
+                    // InternalReportDSL.g:5004:2: ( '-=' )
+                    // InternalReportDSL.g:5005:3: '-='
                     {
                     if ( state.backtracking==0 ) {
                        before(grammarAccess.getOpMultiAssignAccess().getHyphenMinusEqualsSignKeyword_1()); 
@@ -17719,10 +17775,10 @@
                     }
                     break;
                 case 3 :
-                    // InternalReportDSL.g:4994:2: ( '*=' )
+                    // InternalReportDSL.g:5010:2: ( '*=' )
                     {
-                    // InternalReportDSL.g:4994:2: ( '*=' )
-                    // InternalReportDSL.g:4995:3: '*='
+                    // InternalReportDSL.g:5010:2: ( '*=' )
+                    // InternalReportDSL.g:5011:3: '*='
                     {
                     if ( state.backtracking==0 ) {
                        before(grammarAccess.getOpMultiAssignAccess().getAsteriskEqualsSignKeyword_2()); 
@@ -17738,10 +17794,10 @@
                     }
                     break;
                 case 4 :
-                    // InternalReportDSL.g:5000:2: ( '/=' )
+                    // InternalReportDSL.g:5016:2: ( '/=' )
                     {
-                    // InternalReportDSL.g:5000:2: ( '/=' )
-                    // InternalReportDSL.g:5001:3: '/='
+                    // InternalReportDSL.g:5016:2: ( '/=' )
+                    // InternalReportDSL.g:5017:3: '/='
                     {
                     if ( state.backtracking==0 ) {
                        before(grammarAccess.getOpMultiAssignAccess().getSolidusEqualsSignKeyword_3()); 
@@ -17757,10 +17813,10 @@
                     }
                     break;
                 case 5 :
-                    // InternalReportDSL.g:5006:2: ( '%=' )
+                    // InternalReportDSL.g:5022:2: ( '%=' )
                     {
-                    // InternalReportDSL.g:5006:2: ( '%=' )
-                    // InternalReportDSL.g:5007:3: '%='
+                    // InternalReportDSL.g:5022:2: ( '%=' )
+                    // InternalReportDSL.g:5023:3: '%='
                     {
                     if ( state.backtracking==0 ) {
                        before(grammarAccess.getOpMultiAssignAccess().getPercentSignEqualsSignKeyword_4()); 
@@ -17776,16 +17832,16 @@
                     }
                     break;
                 case 6 :
-                    // InternalReportDSL.g:5012:2: ( ( rule__OpMultiAssign__Group_5__0 ) )
+                    // InternalReportDSL.g:5028:2: ( ( rule__OpMultiAssign__Group_5__0 ) )
                     {
-                    // InternalReportDSL.g:5012:2: ( ( rule__OpMultiAssign__Group_5__0 ) )
-                    // InternalReportDSL.g:5013:3: ( rule__OpMultiAssign__Group_5__0 )
+                    // InternalReportDSL.g:5028:2: ( ( rule__OpMultiAssign__Group_5__0 ) )
+                    // InternalReportDSL.g:5029:3: ( rule__OpMultiAssign__Group_5__0 )
                     {
                     if ( state.backtracking==0 ) {
                        before(grammarAccess.getOpMultiAssignAccess().getGroup_5()); 
                     }
-                    // InternalReportDSL.g:5014:3: ( rule__OpMultiAssign__Group_5__0 )
-                    // InternalReportDSL.g:5014:4: rule__OpMultiAssign__Group_5__0
+                    // InternalReportDSL.g:5030:3: ( rule__OpMultiAssign__Group_5__0 )
+                    // InternalReportDSL.g:5030:4: rule__OpMultiAssign__Group_5__0
                     {
                     pushFollow(FOLLOW_2);
                     rule__OpMultiAssign__Group_5__0();
@@ -17805,16 +17861,16 @@
                     }
                     break;
                 case 7 :
-                    // InternalReportDSL.g:5018:2: ( ( rule__OpMultiAssign__Group_6__0 ) )
+                    // InternalReportDSL.g:5034:2: ( ( rule__OpMultiAssign__Group_6__0 ) )
                     {
-                    // InternalReportDSL.g:5018:2: ( ( rule__OpMultiAssign__Group_6__0 ) )
-                    // InternalReportDSL.g:5019:3: ( rule__OpMultiAssign__Group_6__0 )
+                    // InternalReportDSL.g:5034:2: ( ( rule__OpMultiAssign__Group_6__0 ) )
+                    // InternalReportDSL.g:5035:3: ( rule__OpMultiAssign__Group_6__0 )
                     {
                     if ( state.backtracking==0 ) {
                        before(grammarAccess.getOpMultiAssignAccess().getGroup_6()); 
                     }
-                    // InternalReportDSL.g:5020:3: ( rule__OpMultiAssign__Group_6__0 )
-                    // InternalReportDSL.g:5020:4: rule__OpMultiAssign__Group_6__0
+                    // InternalReportDSL.g:5036:3: ( rule__OpMultiAssign__Group_6__0 )
+                    // InternalReportDSL.g:5036:4: rule__OpMultiAssign__Group_6__0
                     {
                     pushFollow(FOLLOW_2);
                     rule__OpMultiAssign__Group_6__0();
@@ -17851,13 +17907,13 @@
 
 
     // $ANTLR start "rule__OpEquality__Alternatives"
-    // InternalReportDSL.g:5028:1: rule__OpEquality__Alternatives : ( ( '==' ) | ( '!=' ) | ( '===' ) | ( '!==' ) );
+    // InternalReportDSL.g:5044:1: rule__OpEquality__Alternatives : ( ( '==' ) | ( '!=' ) | ( '===' ) | ( '!==' ) );
     public final void rule__OpEquality__Alternatives() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:5032:1: ( ( '==' ) | ( '!=' ) | ( '===' ) | ( '!==' ) )
+            // InternalReportDSL.g:5048:1: ( ( '==' ) | ( '!=' ) | ( '===' ) | ( '!==' ) )
             int alt23=4;
             switch ( input.LA(1) ) {
             case 25:
@@ -17890,10 +17946,10 @@
 
             switch (alt23) {
                 case 1 :
-                    // InternalReportDSL.g:5033:2: ( '==' )
+                    // InternalReportDSL.g:5049:2: ( '==' )
                     {
-                    // InternalReportDSL.g:5033:2: ( '==' )
-                    // InternalReportDSL.g:5034:3: '=='
+                    // InternalReportDSL.g:5049:2: ( '==' )
+                    // InternalReportDSL.g:5050:3: '=='
                     {
                     if ( state.backtracking==0 ) {
                        before(grammarAccess.getOpEqualityAccess().getEqualsSignEqualsSignKeyword_0()); 
@@ -17909,10 +17965,10 @@
                     }
                     break;
                 case 2 :
-                    // InternalReportDSL.g:5039:2: ( '!=' )
+                    // InternalReportDSL.g:5055:2: ( '!=' )
                     {
-                    // InternalReportDSL.g:5039:2: ( '!=' )
-                    // InternalReportDSL.g:5040:3: '!='
+                    // InternalReportDSL.g:5055:2: ( '!=' )
+                    // InternalReportDSL.g:5056:3: '!='
                     {
                     if ( state.backtracking==0 ) {
                        before(grammarAccess.getOpEqualityAccess().getExclamationMarkEqualsSignKeyword_1()); 
@@ -17928,10 +17984,10 @@
                     }
                     break;
                 case 3 :
-                    // InternalReportDSL.g:5045:2: ( '===' )
+                    // InternalReportDSL.g:5061:2: ( '===' )
                     {
-                    // InternalReportDSL.g:5045:2: ( '===' )
-                    // InternalReportDSL.g:5046:3: '==='
+                    // InternalReportDSL.g:5061:2: ( '===' )
+                    // InternalReportDSL.g:5062:3: '==='
                     {
                     if ( state.backtracking==0 ) {
                        before(grammarAccess.getOpEqualityAccess().getEqualsSignEqualsSignEqualsSignKeyword_2()); 
@@ -17947,10 +18003,10 @@
                     }
                     break;
                 case 4 :
-                    // InternalReportDSL.g:5051:2: ( '!==' )
+                    // InternalReportDSL.g:5067:2: ( '!==' )
                     {
-                    // InternalReportDSL.g:5051:2: ( '!==' )
-                    // InternalReportDSL.g:5052:3: '!=='
+                    // InternalReportDSL.g:5067:2: ( '!==' )
+                    // InternalReportDSL.g:5068:3: '!=='
                     {
                     if ( state.backtracking==0 ) {
                        before(grammarAccess.getOpEqualityAccess().getExclamationMarkEqualsSignEqualsSignKeyword_3()); 
@@ -17983,17 +18039,17 @@
 
 
     // $ANTLR start "rule__XRelationalExpression__Alternatives_1"
-    // InternalReportDSL.g:5061:1: rule__XRelationalExpression__Alternatives_1 : ( ( ( rule__XRelationalExpression__Group_1_0__0 ) ) | ( ( rule__XRelationalExpression__Group_1_1__0 ) ) );
+    // InternalReportDSL.g:5077:1: rule__XRelationalExpression__Alternatives_1 : ( ( ( rule__XRelationalExpression__Group_1_0__0 ) ) | ( ( rule__XRelationalExpression__Group_1_1__0 ) ) );
     public final void rule__XRelationalExpression__Alternatives_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:5065:1: ( ( ( rule__XRelationalExpression__Group_1_0__0 ) ) | ( ( rule__XRelationalExpression__Group_1_1__0 ) ) )
+            // InternalReportDSL.g:5081:1: ( ( ( rule__XRelationalExpression__Group_1_0__0 ) ) | ( ( rule__XRelationalExpression__Group_1_1__0 ) ) )
             int alt24=2;
             int LA24_0 = input.LA(1);
 
-            if ( (LA24_0==232) ) {
+            if ( (LA24_0==239) ) {
                 alt24=1;
             }
             else if ( ((LA24_0>=29 && LA24_0<=31)) ) {
@@ -18008,16 +18064,16 @@
             }
             switch (alt24) {
                 case 1 :
-                    // InternalReportDSL.g:5066:2: ( ( rule__XRelationalExpression__Group_1_0__0 ) )
+                    // InternalReportDSL.g:5082:2: ( ( rule__XRelationalExpression__Group_1_0__0 ) )
                     {
-                    // InternalReportDSL.g:5066:2: ( ( rule__XRelationalExpression__Group_1_0__0 ) )
-                    // InternalReportDSL.g:5067:3: ( rule__XRelationalExpression__Group_1_0__0 )
+                    // InternalReportDSL.g:5082:2: ( ( rule__XRelationalExpression__Group_1_0__0 ) )
+                    // InternalReportDSL.g:5083:3: ( rule__XRelationalExpression__Group_1_0__0 )
                     {
                     if ( state.backtracking==0 ) {
                        before(grammarAccess.getXRelationalExpressionAccess().getGroup_1_0()); 
                     }
-                    // InternalReportDSL.g:5068:3: ( rule__XRelationalExpression__Group_1_0__0 )
-                    // InternalReportDSL.g:5068:4: rule__XRelationalExpression__Group_1_0__0
+                    // InternalReportDSL.g:5084:3: ( rule__XRelationalExpression__Group_1_0__0 )
+                    // InternalReportDSL.g:5084:4: rule__XRelationalExpression__Group_1_0__0
                     {
                     pushFollow(FOLLOW_2);
                     rule__XRelationalExpression__Group_1_0__0();
@@ -18037,16 +18093,16 @@
                     }
                     break;
                 case 2 :
-                    // InternalReportDSL.g:5072:2: ( ( rule__XRelationalExpression__Group_1_1__0 ) )
+                    // InternalReportDSL.g:5088:2: ( ( rule__XRelationalExpression__Group_1_1__0 ) )
                     {
-                    // InternalReportDSL.g:5072:2: ( ( rule__XRelationalExpression__Group_1_1__0 ) )
-                    // InternalReportDSL.g:5073:3: ( rule__XRelationalExpression__Group_1_1__0 )
+                    // InternalReportDSL.g:5088:2: ( ( rule__XRelationalExpression__Group_1_1__0 ) )
+                    // InternalReportDSL.g:5089:3: ( rule__XRelationalExpression__Group_1_1__0 )
                     {
                     if ( state.backtracking==0 ) {
                        before(grammarAccess.getXRelationalExpressionAccess().getGroup_1_1()); 
                     }
-                    // InternalReportDSL.g:5074:3: ( rule__XRelationalExpression__Group_1_1__0 )
-                    // InternalReportDSL.g:5074:4: rule__XRelationalExpression__Group_1_1__0
+                    // InternalReportDSL.g:5090:3: ( rule__XRelationalExpression__Group_1_1__0 )
+                    // InternalReportDSL.g:5090:4: rule__XRelationalExpression__Group_1_1__0
                     {
                     pushFollow(FOLLOW_2);
                     rule__XRelationalExpression__Group_1_1__0();
@@ -18083,13 +18139,13 @@
 
 
     // $ANTLR start "rule__OpCompare__Alternatives"
-    // InternalReportDSL.g:5082:1: rule__OpCompare__Alternatives : ( ( '>=' ) | ( ( rule__OpCompare__Group_1__0 ) ) | ( '>' ) | ( '<' ) );
+    // InternalReportDSL.g:5098:1: rule__OpCompare__Alternatives : ( ( '>=' ) | ( ( rule__OpCompare__Group_1__0 ) ) | ( '>' ) | ( '<' ) );
     public final void rule__OpCompare__Alternatives() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:5086:1: ( ( '>=' ) | ( ( rule__OpCompare__Group_1__0 ) ) | ( '>' ) | ( '<' ) )
+            // InternalReportDSL.g:5102:1: ( ( '>=' ) | ( ( rule__OpCompare__Group_1__0 ) ) | ( '>' ) | ( '<' ) )
             int alt25=4;
             switch ( input.LA(1) ) {
             case 29:
@@ -18101,12 +18157,12 @@
                 {
                 int LA25_2 = input.LA(2);
 
-                if ( (LA25_2==EOF||(LA25_2>=RULE_STRING && LA25_2<=RULE_DECIMAL)||LA25_2==31||(LA25_2>=38 && LA25_2<=39)||LA25_2==44||(LA25_2>=49 && LA25_2<=54)||LA25_2==125||LA25_2==204||(LA25_2>=230 && LA25_2<=231)||LA25_2==233||LA25_2==235||(LA25_2>=239 && LA25_2<=247)||LA25_2==249||LA25_2==266) ) {
-                    alt25=4;
-                }
-                else if ( (LA25_2==13) ) {
+                if ( (LA25_2==13) ) {
                     alt25=2;
                 }
+                else if ( (LA25_2==EOF||(LA25_2>=RULE_STRING && LA25_2<=RULE_DECIMAL)||LA25_2==31||(LA25_2>=38 && LA25_2<=39)||LA25_2==44||(LA25_2>=49 && LA25_2<=54)||LA25_2==131||LA25_2==211||(LA25_2>=237 && LA25_2<=238)||LA25_2==240||LA25_2==242||(LA25_2>=246 && LA25_2<=254)||LA25_2==256||LA25_2==271) ) {
+                    alt25=4;
+                }
                 else {
                     if (state.backtracking>0) {state.failed=true; return ;}
                     NoViableAltException nvae =
@@ -18131,10 +18187,10 @@
 
             switch (alt25) {
                 case 1 :
-                    // InternalReportDSL.g:5087:2: ( '>=' )
+                    // InternalReportDSL.g:5103:2: ( '>=' )
                     {
-                    // InternalReportDSL.g:5087:2: ( '>=' )
-                    // InternalReportDSL.g:5088:3: '>='
+                    // InternalReportDSL.g:5103:2: ( '>=' )
+                    // InternalReportDSL.g:5104:3: '>='
                     {
                     if ( state.backtracking==0 ) {
                        before(grammarAccess.getOpCompareAccess().getGreaterThanSignEqualsSignKeyword_0()); 
@@ -18150,16 +18206,16 @@
                     }
                     break;
                 case 2 :
-                    // InternalReportDSL.g:5093:2: ( ( rule__OpCompare__Group_1__0 ) )
+                    // InternalReportDSL.g:5109:2: ( ( rule__OpCompare__Group_1__0 ) )
                     {
-                    // InternalReportDSL.g:5093:2: ( ( rule__OpCompare__Group_1__0 ) )
-                    // InternalReportDSL.g:5094:3: ( rule__OpCompare__Group_1__0 )
+                    // InternalReportDSL.g:5109:2: ( ( rule__OpCompare__Group_1__0 ) )
+                    // InternalReportDSL.g:5110:3: ( rule__OpCompare__Group_1__0 )
                     {
                     if ( state.backtracking==0 ) {
                        before(grammarAccess.getOpCompareAccess().getGroup_1()); 
                     }
-                    // InternalReportDSL.g:5095:3: ( rule__OpCompare__Group_1__0 )
-                    // InternalReportDSL.g:5095:4: rule__OpCompare__Group_1__0
+                    // InternalReportDSL.g:5111:3: ( rule__OpCompare__Group_1__0 )
+                    // InternalReportDSL.g:5111:4: rule__OpCompare__Group_1__0
                     {
                     pushFollow(FOLLOW_2);
                     rule__OpCompare__Group_1__0();
@@ -18179,10 +18235,10 @@
                     }
                     break;
                 case 3 :
-                    // InternalReportDSL.g:5099:2: ( '>' )
+                    // InternalReportDSL.g:5115:2: ( '>' )
                     {
-                    // InternalReportDSL.g:5099:2: ( '>' )
-                    // InternalReportDSL.g:5100:3: '>'
+                    // InternalReportDSL.g:5115:2: ( '>' )
+                    // InternalReportDSL.g:5116:3: '>'
                     {
                     if ( state.backtracking==0 ) {
                        before(grammarAccess.getOpCompareAccess().getGreaterThanSignKeyword_2()); 
@@ -18198,10 +18254,10 @@
                     }
                     break;
                 case 4 :
-                    // InternalReportDSL.g:5105:2: ( '<' )
+                    // InternalReportDSL.g:5121:2: ( '<' )
                     {
-                    // InternalReportDSL.g:5105:2: ( '<' )
-                    // InternalReportDSL.g:5106:3: '<'
+                    // InternalReportDSL.g:5121:2: ( '<' )
+                    // InternalReportDSL.g:5122:3: '<'
                     {
                     if ( state.backtracking==0 ) {
                        before(grammarAccess.getOpCompareAccess().getLessThanSignKeyword_3()); 
@@ -18234,21 +18290,21 @@
 
 
     // $ANTLR start "rule__OpOther__Alternatives"
-    // InternalReportDSL.g:5115:1: rule__OpOther__Alternatives : ( ( '->' ) | ( '..<' ) | ( ( rule__OpOther__Group_2__0 ) ) | ( '..' ) | ( '=>' ) | ( ( rule__OpOther__Group_5__0 ) ) | ( ( rule__OpOther__Group_6__0 ) ) | ( '<>' ) | ( '?:' ) );
+    // InternalReportDSL.g:5131:1: rule__OpOther__Alternatives : ( ( '->' ) | ( '..<' ) | ( ( rule__OpOther__Group_2__0 ) ) | ( '..' ) | ( '=>' ) | ( ( rule__OpOther__Group_5__0 ) ) | ( ( rule__OpOther__Group_6__0 ) ) | ( '<>' ) | ( '?:' ) );
     public final void rule__OpOther__Alternatives() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:5119:1: ( ( '->' ) | ( '..<' ) | ( ( rule__OpOther__Group_2__0 ) ) | ( '..' ) | ( '=>' ) | ( ( rule__OpOther__Group_5__0 ) ) | ( ( rule__OpOther__Group_6__0 ) ) | ( '<>' ) | ( '?:' ) )
+            // InternalReportDSL.g:5135:1: ( ( '->' ) | ( '..<' ) | ( ( rule__OpOther__Group_2__0 ) ) | ( '..' ) | ( '=>' ) | ( ( rule__OpOther__Group_5__0 ) ) | ( ( rule__OpOther__Group_6__0 ) ) | ( '<>' ) | ( '?:' ) )
             int alt26=9;
             alt26 = dfa26.predict(input);
             switch (alt26) {
                 case 1 :
-                    // InternalReportDSL.g:5120:2: ( '->' )
+                    // InternalReportDSL.g:5136:2: ( '->' )
                     {
-                    // InternalReportDSL.g:5120:2: ( '->' )
-                    // InternalReportDSL.g:5121:3: '->'
+                    // InternalReportDSL.g:5136:2: ( '->' )
+                    // InternalReportDSL.g:5137:3: '->'
                     {
                     if ( state.backtracking==0 ) {
                        before(grammarAccess.getOpOtherAccess().getHyphenMinusGreaterThanSignKeyword_0()); 
@@ -18264,10 +18320,10 @@
                     }
                     break;
                 case 2 :
-                    // InternalReportDSL.g:5126:2: ( '..<' )
+                    // InternalReportDSL.g:5142:2: ( '..<' )
                     {
-                    // InternalReportDSL.g:5126:2: ( '..<' )
-                    // InternalReportDSL.g:5127:3: '..<'
+                    // InternalReportDSL.g:5142:2: ( '..<' )
+                    // InternalReportDSL.g:5143:3: '..<'
                     {
                     if ( state.backtracking==0 ) {
                        before(grammarAccess.getOpOtherAccess().getFullStopFullStopLessThanSignKeyword_1()); 
@@ -18283,16 +18339,16 @@
                     }
                     break;
                 case 3 :
-                    // InternalReportDSL.g:5132:2: ( ( rule__OpOther__Group_2__0 ) )
+                    // InternalReportDSL.g:5148:2: ( ( rule__OpOther__Group_2__0 ) )
                     {
-                    // InternalReportDSL.g:5132:2: ( ( rule__OpOther__Group_2__0 ) )
-                    // InternalReportDSL.g:5133:3: ( rule__OpOther__Group_2__0 )
+                    // InternalReportDSL.g:5148:2: ( ( rule__OpOther__Group_2__0 ) )
+                    // InternalReportDSL.g:5149:3: ( rule__OpOther__Group_2__0 )
                     {
                     if ( state.backtracking==0 ) {
                        before(grammarAccess.getOpOtherAccess().getGroup_2()); 
                     }
-                    // InternalReportDSL.g:5134:3: ( rule__OpOther__Group_2__0 )
-                    // InternalReportDSL.g:5134:4: rule__OpOther__Group_2__0
+                    // InternalReportDSL.g:5150:3: ( rule__OpOther__Group_2__0 )
+                    // InternalReportDSL.g:5150:4: rule__OpOther__Group_2__0
                     {
                     pushFollow(FOLLOW_2);
                     rule__OpOther__Group_2__0();
@@ -18312,10 +18368,10 @@
                     }
                     break;
                 case 4 :
-                    // InternalReportDSL.g:5138:2: ( '..' )
+                    // InternalReportDSL.g:5154:2: ( '..' )
                     {
-                    // InternalReportDSL.g:5138:2: ( '..' )
-                    // InternalReportDSL.g:5139:3: '..'
+                    // InternalReportDSL.g:5154:2: ( '..' )
+                    // InternalReportDSL.g:5155:3: '..'
                     {
                     if ( state.backtracking==0 ) {
                        before(grammarAccess.getOpOtherAccess().getFullStopFullStopKeyword_3()); 
@@ -18331,10 +18387,10 @@
                     }
                     break;
                 case 5 :
-                    // InternalReportDSL.g:5144:2: ( '=>' )
+                    // InternalReportDSL.g:5160:2: ( '=>' )
                     {
-                    // InternalReportDSL.g:5144:2: ( '=>' )
-                    // InternalReportDSL.g:5145:3: '=>'
+                    // InternalReportDSL.g:5160:2: ( '=>' )
+                    // InternalReportDSL.g:5161:3: '=>'
                     {
                     if ( state.backtracking==0 ) {
                        before(grammarAccess.getOpOtherAccess().getEqualsSignGreaterThanSignKeyword_4()); 
@@ -18350,16 +18406,16 @@
                     }
                     break;
                 case 6 :
-                    // InternalReportDSL.g:5150:2: ( ( rule__OpOther__Group_5__0 ) )
+                    // InternalReportDSL.g:5166:2: ( ( rule__OpOther__Group_5__0 ) )
                     {
-                    // InternalReportDSL.g:5150:2: ( ( rule__OpOther__Group_5__0 ) )
-                    // InternalReportDSL.g:5151:3: ( rule__OpOther__Group_5__0 )
+                    // InternalReportDSL.g:5166:2: ( ( rule__OpOther__Group_5__0 ) )
+                    // InternalReportDSL.g:5167:3: ( rule__OpOther__Group_5__0 )
                     {
                     if ( state.backtracking==0 ) {
                        before(grammarAccess.getOpOtherAccess().getGroup_5()); 
                     }
-                    // InternalReportDSL.g:5152:3: ( rule__OpOther__Group_5__0 )
-                    // InternalReportDSL.g:5152:4: rule__OpOther__Group_5__0
+                    // InternalReportDSL.g:5168:3: ( rule__OpOther__Group_5__0 )
+                    // InternalReportDSL.g:5168:4: rule__OpOther__Group_5__0
                     {
                     pushFollow(FOLLOW_2);
                     rule__OpOther__Group_5__0();
@@ -18379,16 +18435,16 @@
                     }
                     break;
                 case 7 :
-                    // InternalReportDSL.g:5156:2: ( ( rule__OpOther__Group_6__0 ) )
+                    // InternalReportDSL.g:5172:2: ( ( rule__OpOther__Group_6__0 ) )
                     {
-                    // InternalReportDSL.g:5156:2: ( ( rule__OpOther__Group_6__0 ) )
-                    // InternalReportDSL.g:5157:3: ( rule__OpOther__Group_6__0 )
+                    // InternalReportDSL.g:5172:2: ( ( rule__OpOther__Group_6__0 ) )
+                    // InternalReportDSL.g:5173:3: ( rule__OpOther__Group_6__0 )
                     {
                     if ( state.backtracking==0 ) {
                        before(grammarAccess.getOpOtherAccess().getGroup_6()); 
                     }
-                    // InternalReportDSL.g:5158:3: ( rule__OpOther__Group_6__0 )
-                    // InternalReportDSL.g:5158:4: rule__OpOther__Group_6__0
+                    // InternalReportDSL.g:5174:3: ( rule__OpOther__Group_6__0 )
+                    // InternalReportDSL.g:5174:4: rule__OpOther__Group_6__0
                     {
                     pushFollow(FOLLOW_2);
                     rule__OpOther__Group_6__0();
@@ -18408,10 +18464,10 @@
                     }
                     break;
                 case 8 :
-                    // InternalReportDSL.g:5162:2: ( '<>' )
+                    // InternalReportDSL.g:5178:2: ( '<>' )
                     {
-                    // InternalReportDSL.g:5162:2: ( '<>' )
-                    // InternalReportDSL.g:5163:3: '<>'
+                    // InternalReportDSL.g:5178:2: ( '<>' )
+                    // InternalReportDSL.g:5179:3: '<>'
                     {
                     if ( state.backtracking==0 ) {
                        before(grammarAccess.getOpOtherAccess().getLessThanSignGreaterThanSignKeyword_7()); 
@@ -18427,10 +18483,10 @@
                     }
                     break;
                 case 9 :
-                    // InternalReportDSL.g:5168:2: ( '?:' )
+                    // InternalReportDSL.g:5184:2: ( '?:' )
                     {
-                    // InternalReportDSL.g:5168:2: ( '?:' )
-                    // InternalReportDSL.g:5169:3: '?:'
+                    // InternalReportDSL.g:5184:2: ( '?:' )
+                    // InternalReportDSL.g:5185:3: '?:'
                     {
                     if ( state.backtracking==0 ) {
                        before(grammarAccess.getOpOtherAccess().getQuestionMarkColonKeyword_8()); 
@@ -18463,13 +18519,13 @@
 
 
     // $ANTLR start "rule__OpOther__Alternatives_5_1"
-    // InternalReportDSL.g:5178:1: rule__OpOther__Alternatives_5_1 : ( ( ( rule__OpOther__Group_5_1_0__0 ) ) | ( '>' ) );
+    // InternalReportDSL.g:5194:1: rule__OpOther__Alternatives_5_1 : ( ( ( rule__OpOther__Group_5_1_0__0 ) ) | ( '>' ) );
     public final void rule__OpOther__Alternatives_5_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:5182:1: ( ( ( rule__OpOther__Group_5_1_0__0 ) ) | ( '>' ) )
+            // InternalReportDSL.g:5198:1: ( ( ( rule__OpOther__Group_5_1_0__0 ) ) | ( '>' ) )
             int alt27=2;
             int LA27_0 = input.LA(1);
 
@@ -18479,7 +18535,7 @@
                 if ( (LA27_1==30) ) {
                     alt27=1;
                 }
-                else if ( (LA27_1==EOF||(LA27_1>=RULE_STRING && LA27_1<=RULE_DECIMAL)||LA27_1==31||(LA27_1>=38 && LA27_1<=39)||LA27_1==44||(LA27_1>=49 && LA27_1<=54)||LA27_1==125||LA27_1==204||(LA27_1>=230 && LA27_1<=231)||LA27_1==233||LA27_1==235||(LA27_1>=239 && LA27_1<=247)||LA27_1==249||LA27_1==266) ) {
+                else if ( (LA27_1==EOF||(LA27_1>=RULE_STRING && LA27_1<=RULE_DECIMAL)||LA27_1==31||(LA27_1>=38 && LA27_1<=39)||LA27_1==44||(LA27_1>=49 && LA27_1<=54)||LA27_1==131||LA27_1==211||(LA27_1>=237 && LA27_1<=238)||LA27_1==240||LA27_1==242||(LA27_1>=246 && LA27_1<=254)||LA27_1==256||LA27_1==271) ) {
                     alt27=2;
                 }
                 else {
@@ -18499,16 +18555,16 @@
             }
             switch (alt27) {
                 case 1 :
-                    // InternalReportDSL.g:5183:2: ( ( rule__OpOther__Group_5_1_0__0 ) )
+                    // InternalReportDSL.g:5199:2: ( ( rule__OpOther__Group_5_1_0__0 ) )
                     {
-                    // InternalReportDSL.g:5183:2: ( ( rule__OpOther__Group_5_1_0__0 ) )
-                    // InternalReportDSL.g:5184:3: ( rule__OpOther__Group_5_1_0__0 )
+                    // InternalReportDSL.g:5199:2: ( ( rule__OpOther__Group_5_1_0__0 ) )
+                    // InternalReportDSL.g:5200:3: ( rule__OpOther__Group_5_1_0__0 )
                     {
                     if ( state.backtracking==0 ) {
                        before(grammarAccess.getOpOtherAccess().getGroup_5_1_0()); 
                     }
-                    // InternalReportDSL.g:5185:3: ( rule__OpOther__Group_5_1_0__0 )
-                    // InternalReportDSL.g:5185:4: rule__OpOther__Group_5_1_0__0
+                    // InternalReportDSL.g:5201:3: ( rule__OpOther__Group_5_1_0__0 )
+                    // InternalReportDSL.g:5201:4: rule__OpOther__Group_5_1_0__0
                     {
                     pushFollow(FOLLOW_2);
                     rule__OpOther__Group_5_1_0__0();
@@ -18528,10 +18584,10 @@
                     }
                     break;
                 case 2 :
-                    // InternalReportDSL.g:5189:2: ( '>' )
+                    // InternalReportDSL.g:5205:2: ( '>' )
                     {
-                    // InternalReportDSL.g:5189:2: ( '>' )
-                    // InternalReportDSL.g:5190:3: '>'
+                    // InternalReportDSL.g:5205:2: ( '>' )
+                    // InternalReportDSL.g:5206:3: '>'
                     {
                     if ( state.backtracking==0 ) {
                        before(grammarAccess.getOpOtherAccess().getGreaterThanSignKeyword_5_1_1()); 
@@ -18564,13 +18620,13 @@
 
 
     // $ANTLR start "rule__OpOther__Alternatives_6_1"
-    // InternalReportDSL.g:5199:1: rule__OpOther__Alternatives_6_1 : ( ( ( rule__OpOther__Group_6_1_0__0 ) ) | ( '<' ) | ( '=>' ) );
+    // InternalReportDSL.g:5215:1: rule__OpOther__Alternatives_6_1 : ( ( ( rule__OpOther__Group_6_1_0__0 ) ) | ( '<' ) | ( '=>' ) );
     public final void rule__OpOther__Alternatives_6_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:5203:1: ( ( ( rule__OpOther__Group_6_1_0__0 ) ) | ( '<' ) | ( '=>' ) )
+            // InternalReportDSL.g:5219:1: ( ( ( rule__OpOther__Group_6_1_0__0 ) ) | ( '<' ) | ( '=>' ) )
             int alt28=3;
             int LA28_0 = input.LA(1);
 
@@ -18603,16 +18659,16 @@
             }
             switch (alt28) {
                 case 1 :
-                    // InternalReportDSL.g:5204:2: ( ( rule__OpOther__Group_6_1_0__0 ) )
+                    // InternalReportDSL.g:5220:2: ( ( rule__OpOther__Group_6_1_0__0 ) )
                     {
-                    // InternalReportDSL.g:5204:2: ( ( rule__OpOther__Group_6_1_0__0 ) )
-                    // InternalReportDSL.g:5205:3: ( rule__OpOther__Group_6_1_0__0 )
+                    // InternalReportDSL.g:5220:2: ( ( rule__OpOther__Group_6_1_0__0 ) )
+                    // InternalReportDSL.g:5221:3: ( rule__OpOther__Group_6_1_0__0 )
                     {
                     if ( state.backtracking==0 ) {
                        before(grammarAccess.getOpOtherAccess().getGroup_6_1_0()); 
                     }
-                    // InternalReportDSL.g:5206:3: ( rule__OpOther__Group_6_1_0__0 )
-                    // InternalReportDSL.g:5206:4: rule__OpOther__Group_6_1_0__0
+                    // InternalReportDSL.g:5222:3: ( rule__OpOther__Group_6_1_0__0 )
+                    // InternalReportDSL.g:5222:4: rule__OpOther__Group_6_1_0__0
                     {
                     pushFollow(FOLLOW_2);
                     rule__OpOther__Group_6_1_0__0();
@@ -18632,10 +18688,10 @@
                     }
                     break;
                 case 2 :
-                    // InternalReportDSL.g:5210:2: ( '<' )
+                    // InternalReportDSL.g:5226:2: ( '<' )
                     {
-                    // InternalReportDSL.g:5210:2: ( '<' )
-                    // InternalReportDSL.g:5211:3: '<'
+                    // InternalReportDSL.g:5226:2: ( '<' )
+                    // InternalReportDSL.g:5227:3: '<'
                     {
                     if ( state.backtracking==0 ) {
                        before(grammarAccess.getOpOtherAccess().getLessThanSignKeyword_6_1_1()); 
@@ -18651,10 +18707,10 @@
                     }
                     break;
                 case 3 :
-                    // InternalReportDSL.g:5216:2: ( '=>' )
+                    // InternalReportDSL.g:5232:2: ( '=>' )
                     {
-                    // InternalReportDSL.g:5216:2: ( '=>' )
-                    // InternalReportDSL.g:5217:3: '=>'
+                    // InternalReportDSL.g:5232:2: ( '=>' )
+                    // InternalReportDSL.g:5233:3: '=>'
                     {
                     if ( state.backtracking==0 ) {
                        before(grammarAccess.getOpOtherAccess().getEqualsSignGreaterThanSignKeyword_6_1_2()); 
@@ -18687,13 +18743,13 @@
 
 
     // $ANTLR start "rule__OpAdd__Alternatives"
-    // InternalReportDSL.g:5226:1: rule__OpAdd__Alternatives : ( ( '+' ) | ( '-' ) );
+    // InternalReportDSL.g:5242:1: rule__OpAdd__Alternatives : ( ( '+' ) | ( '-' ) );
     public final void rule__OpAdd__Alternatives() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:5230:1: ( ( '+' ) | ( '-' ) )
+            // InternalReportDSL.g:5246:1: ( ( '+' ) | ( '-' ) )
             int alt29=2;
             int LA29_0 = input.LA(1);
 
@@ -18712,10 +18768,10 @@
             }
             switch (alt29) {
                 case 1 :
-                    // InternalReportDSL.g:5231:2: ( '+' )
+                    // InternalReportDSL.g:5247:2: ( '+' )
                     {
-                    // InternalReportDSL.g:5231:2: ( '+' )
-                    // InternalReportDSL.g:5232:3: '+'
+                    // InternalReportDSL.g:5247:2: ( '+' )
+                    // InternalReportDSL.g:5248:3: '+'
                     {
                     if ( state.backtracking==0 ) {
                        before(grammarAccess.getOpAddAccess().getPlusSignKeyword_0()); 
@@ -18731,10 +18787,10 @@
                     }
                     break;
                 case 2 :
-                    // InternalReportDSL.g:5237:2: ( '-' )
+                    // InternalReportDSL.g:5253:2: ( '-' )
                     {
-                    // InternalReportDSL.g:5237:2: ( '-' )
-                    // InternalReportDSL.g:5238:3: '-'
+                    // InternalReportDSL.g:5253:2: ( '-' )
+                    // InternalReportDSL.g:5254:3: '-'
                     {
                     if ( state.backtracking==0 ) {
                        before(grammarAccess.getOpAddAccess().getHyphenMinusKeyword_1()); 
@@ -18767,13 +18823,13 @@
 
 
     // $ANTLR start "rule__OpMulti__Alternatives"
-    // InternalReportDSL.g:5247:1: rule__OpMulti__Alternatives : ( ( '*' ) | ( '**' ) | ( '/' ) | ( '%' ) );
+    // InternalReportDSL.g:5263:1: rule__OpMulti__Alternatives : ( ( '*' ) | ( '**' ) | ( '/' ) | ( '%' ) );
     public final void rule__OpMulti__Alternatives() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:5251:1: ( ( '*' ) | ( '**' ) | ( '/' ) | ( '%' ) )
+            // InternalReportDSL.g:5267:1: ( ( '*' ) | ( '**' ) | ( '/' ) | ( '%' ) )
             int alt30=4;
             switch ( input.LA(1) ) {
             case 40:
@@ -18806,10 +18862,10 @@
 
             switch (alt30) {
                 case 1 :
-                    // InternalReportDSL.g:5252:2: ( '*' )
+                    // InternalReportDSL.g:5268:2: ( '*' )
                     {
-                    // InternalReportDSL.g:5252:2: ( '*' )
-                    // InternalReportDSL.g:5253:3: '*'
+                    // InternalReportDSL.g:5268:2: ( '*' )
+                    // InternalReportDSL.g:5269:3: '*'
                     {
                     if ( state.backtracking==0 ) {
                        before(grammarAccess.getOpMultiAccess().getAsteriskKeyword_0()); 
@@ -18825,10 +18881,10 @@
                     }
                     break;
                 case 2 :
-                    // InternalReportDSL.g:5258:2: ( '**' )
+                    // InternalReportDSL.g:5274:2: ( '**' )
                     {
-                    // InternalReportDSL.g:5258:2: ( '**' )
-                    // InternalReportDSL.g:5259:3: '**'
+                    // InternalReportDSL.g:5274:2: ( '**' )
+                    // InternalReportDSL.g:5275:3: '**'
                     {
                     if ( state.backtracking==0 ) {
                        before(grammarAccess.getOpMultiAccess().getAsteriskAsteriskKeyword_1()); 
@@ -18844,10 +18900,10 @@
                     }
                     break;
                 case 3 :
-                    // InternalReportDSL.g:5264:2: ( '/' )
+                    // InternalReportDSL.g:5280:2: ( '/' )
                     {
-                    // InternalReportDSL.g:5264:2: ( '/' )
-                    // InternalReportDSL.g:5265:3: '/'
+                    // InternalReportDSL.g:5280:2: ( '/' )
+                    // InternalReportDSL.g:5281:3: '/'
                     {
                     if ( state.backtracking==0 ) {
                        before(grammarAccess.getOpMultiAccess().getSolidusKeyword_2()); 
@@ -18863,10 +18919,10 @@
                     }
                     break;
                 case 4 :
-                    // InternalReportDSL.g:5270:2: ( '%' )
+                    // InternalReportDSL.g:5286:2: ( '%' )
                     {
-                    // InternalReportDSL.g:5270:2: ( '%' )
-                    // InternalReportDSL.g:5271:3: '%'
+                    // InternalReportDSL.g:5286:2: ( '%' )
+                    // InternalReportDSL.g:5287:3: '%'
                     {
                     if ( state.backtracking==0 ) {
                        before(grammarAccess.getOpMultiAccess().getPercentSignKeyword_3()); 
@@ -18899,20 +18955,20 @@
 
 
     // $ANTLR start "rule__XUnaryOperation__Alternatives"
-    // InternalReportDSL.g:5280:1: rule__XUnaryOperation__Alternatives : ( ( ( rule__XUnaryOperation__Group_0__0 ) ) | ( ruleXCastedExpression ) );
+    // InternalReportDSL.g:5296:1: rule__XUnaryOperation__Alternatives : ( ( ( rule__XUnaryOperation__Group_0__0 ) ) | ( ruleXCastedExpression ) );
     public final void rule__XUnaryOperation__Alternatives() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:5284:1: ( ( ( rule__XUnaryOperation__Group_0__0 ) ) | ( ruleXCastedExpression ) )
+            // InternalReportDSL.g:5300:1: ( ( ( rule__XUnaryOperation__Group_0__0 ) ) | ( ruleXCastedExpression ) )
             int alt31=2;
             int LA31_0 = input.LA(1);
 
             if ( ((LA31_0>=38 && LA31_0<=39)||LA31_0==44) ) {
                 alt31=1;
             }
-            else if ( ((LA31_0>=RULE_STRING && LA31_0<=RULE_DECIMAL)||LA31_0==31||(LA31_0>=49 && LA31_0<=54)||LA31_0==125||LA31_0==204||(LA31_0>=230 && LA31_0<=231)||LA31_0==233||LA31_0==235||(LA31_0>=239 && LA31_0<=247)||LA31_0==249||LA31_0==266) ) {
+            else if ( ((LA31_0>=RULE_STRING && LA31_0<=RULE_DECIMAL)||LA31_0==31||(LA31_0>=49 && LA31_0<=54)||LA31_0==131||LA31_0==211||(LA31_0>=237 && LA31_0<=238)||LA31_0==240||LA31_0==242||(LA31_0>=246 && LA31_0<=254)||LA31_0==256||LA31_0==271) ) {
                 alt31=2;
             }
             else {
@@ -18924,16 +18980,16 @@
             }
             switch (alt31) {
                 case 1 :
-                    // InternalReportDSL.g:5285:2: ( ( rule__XUnaryOperation__Group_0__0 ) )
+                    // InternalReportDSL.g:5301:2: ( ( rule__XUnaryOperation__Group_0__0 ) )
                     {
-                    // InternalReportDSL.g:5285:2: ( ( rule__XUnaryOperation__Group_0__0 ) )
-                    // InternalReportDSL.g:5286:3: ( rule__XUnaryOperation__Group_0__0 )
+                    // InternalReportDSL.g:5301:2: ( ( rule__XUnaryOperation__Group_0__0 ) )
+                    // InternalReportDSL.g:5302:3: ( rule__XUnaryOperation__Group_0__0 )
                     {
                     if ( state.backtracking==0 ) {
                        before(grammarAccess.getXUnaryOperationAccess().getGroup_0()); 
                     }
-                    // InternalReportDSL.g:5287:3: ( rule__XUnaryOperation__Group_0__0 )
-                    // InternalReportDSL.g:5287:4: rule__XUnaryOperation__Group_0__0
+                    // InternalReportDSL.g:5303:3: ( rule__XUnaryOperation__Group_0__0 )
+                    // InternalReportDSL.g:5303:4: rule__XUnaryOperation__Group_0__0
                     {
                     pushFollow(FOLLOW_2);
                     rule__XUnaryOperation__Group_0__0();
@@ -18953,10 +19009,10 @@
                     }
                     break;
                 case 2 :
-                    // InternalReportDSL.g:5291:2: ( ruleXCastedExpression )
+                    // InternalReportDSL.g:5307:2: ( ruleXCastedExpression )
                     {
-                    // InternalReportDSL.g:5291:2: ( ruleXCastedExpression )
-                    // InternalReportDSL.g:5292:3: ruleXCastedExpression
+                    // InternalReportDSL.g:5307:2: ( ruleXCastedExpression )
+                    // InternalReportDSL.g:5308:3: ruleXCastedExpression
                     {
                     if ( state.backtracking==0 ) {
                        before(grammarAccess.getXUnaryOperationAccess().getXCastedExpressionParserRuleCall_1()); 
@@ -18993,13 +19049,13 @@
 
 
     // $ANTLR start "rule__OpUnary__Alternatives"
-    // InternalReportDSL.g:5301:1: rule__OpUnary__Alternatives : ( ( '!' ) | ( '-' ) | ( '+' ) );
+    // InternalReportDSL.g:5317:1: rule__OpUnary__Alternatives : ( ( '!' ) | ( '-' ) | ( '+' ) );
     public final void rule__OpUnary__Alternatives() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:5305:1: ( ( '!' ) | ( '-' ) | ( '+' ) )
+            // InternalReportDSL.g:5321:1: ( ( '!' ) | ( '-' ) | ( '+' ) )
             int alt32=3;
             switch ( input.LA(1) ) {
             case 44:
@@ -19027,10 +19083,10 @@
 
             switch (alt32) {
                 case 1 :
-                    // InternalReportDSL.g:5306:2: ( '!' )
+                    // InternalReportDSL.g:5322:2: ( '!' )
                     {
-                    // InternalReportDSL.g:5306:2: ( '!' )
-                    // InternalReportDSL.g:5307:3: '!'
+                    // InternalReportDSL.g:5322:2: ( '!' )
+                    // InternalReportDSL.g:5323:3: '!'
                     {
                     if ( state.backtracking==0 ) {
                        before(grammarAccess.getOpUnaryAccess().getExclamationMarkKeyword_0()); 
@@ -19046,10 +19102,10 @@
                     }
                     break;
                 case 2 :
-                    // InternalReportDSL.g:5312:2: ( '-' )
+                    // InternalReportDSL.g:5328:2: ( '-' )
                     {
-                    // InternalReportDSL.g:5312:2: ( '-' )
-                    // InternalReportDSL.g:5313:3: '-'
+                    // InternalReportDSL.g:5328:2: ( '-' )
+                    // InternalReportDSL.g:5329:3: '-'
                     {
                     if ( state.backtracking==0 ) {
                        before(grammarAccess.getOpUnaryAccess().getHyphenMinusKeyword_1()); 
@@ -19065,10 +19121,10 @@
                     }
                     break;
                 case 3 :
-                    // InternalReportDSL.g:5318:2: ( '+' )
+                    // InternalReportDSL.g:5334:2: ( '+' )
                     {
-                    // InternalReportDSL.g:5318:2: ( '+' )
-                    // InternalReportDSL.g:5319:3: '+'
+                    // InternalReportDSL.g:5334:2: ( '+' )
+                    // InternalReportDSL.g:5335:3: '+'
                     {
                     if ( state.backtracking==0 ) {
                        before(grammarAccess.getOpUnaryAccess().getPlusSignKeyword_2()); 
@@ -19101,13 +19157,13 @@
 
 
     // $ANTLR start "rule__OpPostfix__Alternatives"
-    // InternalReportDSL.g:5328:1: rule__OpPostfix__Alternatives : ( ( '++' ) | ( '--' ) );
+    // InternalReportDSL.g:5344:1: rule__OpPostfix__Alternatives : ( ( '++' ) | ( '--' ) );
     public final void rule__OpPostfix__Alternatives() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:5332:1: ( ( '++' ) | ( '--' ) )
+            // InternalReportDSL.g:5348:1: ( ( '++' ) | ( '--' ) )
             int alt33=2;
             int LA33_0 = input.LA(1);
 
@@ -19126,10 +19182,10 @@
             }
             switch (alt33) {
                 case 1 :
-                    // InternalReportDSL.g:5333:2: ( '++' )
+                    // InternalReportDSL.g:5349:2: ( '++' )
                     {
-                    // InternalReportDSL.g:5333:2: ( '++' )
-                    // InternalReportDSL.g:5334:3: '++'
+                    // InternalReportDSL.g:5349:2: ( '++' )
+                    // InternalReportDSL.g:5350:3: '++'
                     {
                     if ( state.backtracking==0 ) {
                        before(grammarAccess.getOpPostfixAccess().getPlusSignPlusSignKeyword_0()); 
@@ -19145,10 +19201,10 @@
                     }
                     break;
                 case 2 :
-                    // InternalReportDSL.g:5339:2: ( '--' )
+                    // InternalReportDSL.g:5355:2: ( '--' )
                     {
-                    // InternalReportDSL.g:5339:2: ( '--' )
-                    // InternalReportDSL.g:5340:3: '--'
+                    // InternalReportDSL.g:5355:2: ( '--' )
+                    // InternalReportDSL.g:5356:3: '--'
                     {
                     if ( state.backtracking==0 ) {
                        before(grammarAccess.getOpPostfixAccess().getHyphenMinusHyphenMinusKeyword_1()); 
@@ -19181,27 +19237,27 @@
 
 
     // $ANTLR start "rule__XMemberFeatureCall__Alternatives_1"
-    // InternalReportDSL.g:5349:1: rule__XMemberFeatureCall__Alternatives_1 : ( ( ( rule__XMemberFeatureCall__Group_1_0__0 ) ) | ( ( rule__XMemberFeatureCall__Group_1_1__0 ) ) );
+    // InternalReportDSL.g:5365:1: rule__XMemberFeatureCall__Alternatives_1 : ( ( ( rule__XMemberFeatureCall__Group_1_0__0 ) ) | ( ( rule__XMemberFeatureCall__Group_1_1__0 ) ) );
     public final void rule__XMemberFeatureCall__Alternatives_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:5353:1: ( ( ( rule__XMemberFeatureCall__Group_1_0__0 ) ) | ( ( rule__XMemberFeatureCall__Group_1_1__0 ) ) )
+            // InternalReportDSL.g:5369:1: ( ( ( rule__XMemberFeatureCall__Group_1_0__0 ) ) | ( ( rule__XMemberFeatureCall__Group_1_1__0 ) ) )
             int alt34=2;
             alt34 = dfa34.predict(input);
             switch (alt34) {
                 case 1 :
-                    // InternalReportDSL.g:5354:2: ( ( rule__XMemberFeatureCall__Group_1_0__0 ) )
+                    // InternalReportDSL.g:5370:2: ( ( rule__XMemberFeatureCall__Group_1_0__0 ) )
                     {
-                    // InternalReportDSL.g:5354:2: ( ( rule__XMemberFeatureCall__Group_1_0__0 ) )
-                    // InternalReportDSL.g:5355:3: ( rule__XMemberFeatureCall__Group_1_0__0 )
+                    // InternalReportDSL.g:5370:2: ( ( rule__XMemberFeatureCall__Group_1_0__0 ) )
+                    // InternalReportDSL.g:5371:3: ( rule__XMemberFeatureCall__Group_1_0__0 )
                     {
                     if ( state.backtracking==0 ) {
                        before(grammarAccess.getXMemberFeatureCallAccess().getGroup_1_0()); 
                     }
-                    // InternalReportDSL.g:5356:3: ( rule__XMemberFeatureCall__Group_1_0__0 )
-                    // InternalReportDSL.g:5356:4: rule__XMemberFeatureCall__Group_1_0__0
+                    // InternalReportDSL.g:5372:3: ( rule__XMemberFeatureCall__Group_1_0__0 )
+                    // InternalReportDSL.g:5372:4: rule__XMemberFeatureCall__Group_1_0__0
                     {
                     pushFollow(FOLLOW_2);
                     rule__XMemberFeatureCall__Group_1_0__0();
@@ -19221,16 +19277,16 @@
                     }
                     break;
                 case 2 :
-                    // InternalReportDSL.g:5360:2: ( ( rule__XMemberFeatureCall__Group_1_1__0 ) )
+                    // InternalReportDSL.g:5376:2: ( ( rule__XMemberFeatureCall__Group_1_1__0 ) )
                     {
-                    // InternalReportDSL.g:5360:2: ( ( rule__XMemberFeatureCall__Group_1_1__0 ) )
-                    // InternalReportDSL.g:5361:3: ( rule__XMemberFeatureCall__Group_1_1__0 )
+                    // InternalReportDSL.g:5376:2: ( ( rule__XMemberFeatureCall__Group_1_1__0 ) )
+                    // InternalReportDSL.g:5377:3: ( rule__XMemberFeatureCall__Group_1_1__0 )
                     {
                     if ( state.backtracking==0 ) {
                        before(grammarAccess.getXMemberFeatureCallAccess().getGroup_1_1()); 
                     }
-                    // InternalReportDSL.g:5362:3: ( rule__XMemberFeatureCall__Group_1_1__0 )
-                    // InternalReportDSL.g:5362:4: rule__XMemberFeatureCall__Group_1_1__0
+                    // InternalReportDSL.g:5378:3: ( rule__XMemberFeatureCall__Group_1_1__0 )
+                    // InternalReportDSL.g:5378:4: rule__XMemberFeatureCall__Group_1_1__0
                     {
                     pushFollow(FOLLOW_2);
                     rule__XMemberFeatureCall__Group_1_1__0();
@@ -19267,20 +19323,20 @@
 
 
     // $ANTLR start "rule__XMemberFeatureCall__Alternatives_1_0_0_0_1"
-    // InternalReportDSL.g:5370:1: rule__XMemberFeatureCall__Alternatives_1_0_0_0_1 : ( ( '.' ) | ( ( rule__XMemberFeatureCall__ExplicitStaticAssignment_1_0_0_0_1_1 ) ) );
+    // InternalReportDSL.g:5386:1: rule__XMemberFeatureCall__Alternatives_1_0_0_0_1 : ( ( '.' ) | ( ( rule__XMemberFeatureCall__ExplicitStaticAssignment_1_0_0_0_1_1 ) ) );
     public final void rule__XMemberFeatureCall__Alternatives_1_0_0_0_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:5374:1: ( ( '.' ) | ( ( rule__XMemberFeatureCall__ExplicitStaticAssignment_1_0_0_0_1_1 ) ) )
+            // InternalReportDSL.g:5390:1: ( ( '.' ) | ( ( rule__XMemberFeatureCall__ExplicitStaticAssignment_1_0_0_0_1_1 ) ) )
             int alt35=2;
             int LA35_0 = input.LA(1);
 
             if ( (LA35_0==47) ) {
                 alt35=1;
             }
-            else if ( (LA35_0==262) ) {
+            else if ( (LA35_0==267) ) {
                 alt35=2;
             }
             else {
@@ -19292,10 +19348,10 @@
             }
             switch (alt35) {
                 case 1 :
-                    // InternalReportDSL.g:5375:2: ( '.' )
+                    // InternalReportDSL.g:5391:2: ( '.' )
                     {
-                    // InternalReportDSL.g:5375:2: ( '.' )
-                    // InternalReportDSL.g:5376:3: '.'
+                    // InternalReportDSL.g:5391:2: ( '.' )
+                    // InternalReportDSL.g:5392:3: '.'
                     {
                     if ( state.backtracking==0 ) {
                        before(grammarAccess.getXMemberFeatureCallAccess().getFullStopKeyword_1_0_0_0_1_0()); 
@@ -19311,16 +19367,16 @@
                     }
                     break;
                 case 2 :
-                    // InternalReportDSL.g:5381:2: ( ( rule__XMemberFeatureCall__ExplicitStaticAssignment_1_0_0_0_1_1 ) )
+                    // InternalReportDSL.g:5397:2: ( ( rule__XMemberFeatureCall__ExplicitStaticAssignment_1_0_0_0_1_1 ) )
                     {
-                    // InternalReportDSL.g:5381:2: ( ( rule__XMemberFeatureCall__ExplicitStaticAssignment_1_0_0_0_1_1 ) )
-                    // InternalReportDSL.g:5382:3: ( rule__XMemberFeatureCall__ExplicitStaticAssignment_1_0_0_0_1_1 )
+                    // InternalReportDSL.g:5397:2: ( ( rule__XMemberFeatureCall__ExplicitStaticAssignment_1_0_0_0_1_1 ) )
+                    // InternalReportDSL.g:5398:3: ( rule__XMemberFeatureCall__ExplicitStaticAssignment_1_0_0_0_1_1 )
                     {
                     if ( state.backtracking==0 ) {
                        before(grammarAccess.getXMemberFeatureCallAccess().getExplicitStaticAssignment_1_0_0_0_1_1()); 
                     }
-                    // InternalReportDSL.g:5383:3: ( rule__XMemberFeatureCall__ExplicitStaticAssignment_1_0_0_0_1_1 )
-                    // InternalReportDSL.g:5383:4: rule__XMemberFeatureCall__ExplicitStaticAssignment_1_0_0_0_1_1
+                    // InternalReportDSL.g:5399:3: ( rule__XMemberFeatureCall__ExplicitStaticAssignment_1_0_0_0_1_1 )
+                    // InternalReportDSL.g:5399:4: rule__XMemberFeatureCall__ExplicitStaticAssignment_1_0_0_0_1_1
                     {
                     pushFollow(FOLLOW_2);
                     rule__XMemberFeatureCall__ExplicitStaticAssignment_1_0_0_0_1_1();
@@ -19357,13 +19413,13 @@
 
 
     // $ANTLR start "rule__XMemberFeatureCall__Alternatives_1_1_0_0_1"
-    // InternalReportDSL.g:5391:1: rule__XMemberFeatureCall__Alternatives_1_1_0_0_1 : ( ( '.' ) | ( ( rule__XMemberFeatureCall__NullSafeAssignment_1_1_0_0_1_1 ) ) | ( ( rule__XMemberFeatureCall__ExplicitStaticAssignment_1_1_0_0_1_2 ) ) );
+    // InternalReportDSL.g:5407:1: rule__XMemberFeatureCall__Alternatives_1_1_0_0_1 : ( ( '.' ) | ( ( rule__XMemberFeatureCall__NullSafeAssignment_1_1_0_0_1_1 ) ) | ( ( rule__XMemberFeatureCall__ExplicitStaticAssignment_1_1_0_0_1_2 ) ) );
     public final void rule__XMemberFeatureCall__Alternatives_1_1_0_0_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:5395:1: ( ( '.' ) | ( ( rule__XMemberFeatureCall__NullSafeAssignment_1_1_0_0_1_1 ) ) | ( ( rule__XMemberFeatureCall__ExplicitStaticAssignment_1_1_0_0_1_2 ) ) )
+            // InternalReportDSL.g:5411:1: ( ( '.' ) | ( ( rule__XMemberFeatureCall__NullSafeAssignment_1_1_0_0_1_1 ) ) | ( ( rule__XMemberFeatureCall__ExplicitStaticAssignment_1_1_0_0_1_2 ) ) )
             int alt36=3;
             switch ( input.LA(1) ) {
             case 47:
@@ -19371,12 +19427,12 @@
                 alt36=1;
                 }
                 break;
-            case 263:
+            case 268:
                 {
                 alt36=2;
                 }
                 break;
-            case 262:
+            case 267:
                 {
                 alt36=3;
                 }
@@ -19391,10 +19447,10 @@
 
             switch (alt36) {
                 case 1 :
-                    // InternalReportDSL.g:5396:2: ( '.' )
+                    // InternalReportDSL.g:5412:2: ( '.' )
                     {
-                    // InternalReportDSL.g:5396:2: ( '.' )
-                    // InternalReportDSL.g:5397:3: '.'
+                    // InternalReportDSL.g:5412:2: ( '.' )
+                    // InternalReportDSL.g:5413:3: '.'
                     {
                     if ( state.backtracking==0 ) {
                        before(grammarAccess.getXMemberFeatureCallAccess().getFullStopKeyword_1_1_0_0_1_0()); 
@@ -19410,16 +19466,16 @@
                     }
                     break;
                 case 2 :
-                    // InternalReportDSL.g:5402:2: ( ( rule__XMemberFeatureCall__NullSafeAssignment_1_1_0_0_1_1 ) )
+                    // InternalReportDSL.g:5418:2: ( ( rule__XMemberFeatureCall__NullSafeAssignment_1_1_0_0_1_1 ) )
                     {
-                    // InternalReportDSL.g:5402:2: ( ( rule__XMemberFeatureCall__NullSafeAssignment_1_1_0_0_1_1 ) )
-                    // InternalReportDSL.g:5403:3: ( rule__XMemberFeatureCall__NullSafeAssignment_1_1_0_0_1_1 )
+                    // InternalReportDSL.g:5418:2: ( ( rule__XMemberFeatureCall__NullSafeAssignment_1_1_0_0_1_1 ) )
+                    // InternalReportDSL.g:5419:3: ( rule__XMemberFeatureCall__NullSafeAssignment_1_1_0_0_1_1 )
                     {
                     if ( state.backtracking==0 ) {
                        before(grammarAccess.getXMemberFeatureCallAccess().getNullSafeAssignment_1_1_0_0_1_1()); 
                     }
-                    // InternalReportDSL.g:5404:3: ( rule__XMemberFeatureCall__NullSafeAssignment_1_1_0_0_1_1 )
-                    // InternalReportDSL.g:5404:4: rule__XMemberFeatureCall__NullSafeAssignment_1_1_0_0_1_1
+                    // InternalReportDSL.g:5420:3: ( rule__XMemberFeatureCall__NullSafeAssignment_1_1_0_0_1_1 )
+                    // InternalReportDSL.g:5420:4: rule__XMemberFeatureCall__NullSafeAssignment_1_1_0_0_1_1
                     {
                     pushFollow(FOLLOW_2);
                     rule__XMemberFeatureCall__NullSafeAssignment_1_1_0_0_1_1();
@@ -19439,16 +19495,16 @@
                     }
                     break;
                 case 3 :
-                    // InternalReportDSL.g:5408:2: ( ( rule__XMemberFeatureCall__ExplicitStaticAssignment_1_1_0_0_1_2 ) )
+                    // InternalReportDSL.g:5424:2: ( ( rule__XMemberFeatureCall__ExplicitStaticAssignment_1_1_0_0_1_2 ) )
                     {
-                    // InternalReportDSL.g:5408:2: ( ( rule__XMemberFeatureCall__ExplicitStaticAssignment_1_1_0_0_1_2 ) )
-                    // InternalReportDSL.g:5409:3: ( rule__XMemberFeatureCall__ExplicitStaticAssignment_1_1_0_0_1_2 )
+                    // InternalReportDSL.g:5424:2: ( ( rule__XMemberFeatureCall__ExplicitStaticAssignment_1_1_0_0_1_2 ) )
+                    // InternalReportDSL.g:5425:3: ( rule__XMemberFeatureCall__ExplicitStaticAssignment_1_1_0_0_1_2 )
                     {
                     if ( state.backtracking==0 ) {
                        before(grammarAccess.getXMemberFeatureCallAccess().getExplicitStaticAssignment_1_1_0_0_1_2()); 
                     }
-                    // InternalReportDSL.g:5410:3: ( rule__XMemberFeatureCall__ExplicitStaticAssignment_1_1_0_0_1_2 )
-                    // InternalReportDSL.g:5410:4: rule__XMemberFeatureCall__ExplicitStaticAssignment_1_1_0_0_1_2
+                    // InternalReportDSL.g:5426:3: ( rule__XMemberFeatureCall__ExplicitStaticAssignment_1_1_0_0_1_2 )
+                    // InternalReportDSL.g:5426:4: rule__XMemberFeatureCall__ExplicitStaticAssignment_1_1_0_0_1_2
                     {
                     pushFollow(FOLLOW_2);
                     rule__XMemberFeatureCall__ExplicitStaticAssignment_1_1_0_0_1_2();
@@ -19485,27 +19541,27 @@
 
 
     // $ANTLR start "rule__XMemberFeatureCall__Alternatives_1_1_3_1"
-    // InternalReportDSL.g:5418:1: rule__XMemberFeatureCall__Alternatives_1_1_3_1 : ( ( ( rule__XMemberFeatureCall__MemberCallArgumentsAssignment_1_1_3_1_0 ) ) | ( ( rule__XMemberFeatureCall__Group_1_1_3_1_1__0 ) ) );
+    // InternalReportDSL.g:5434:1: rule__XMemberFeatureCall__Alternatives_1_1_3_1 : ( ( ( rule__XMemberFeatureCall__MemberCallArgumentsAssignment_1_1_3_1_0 ) ) | ( ( rule__XMemberFeatureCall__Group_1_1_3_1_1__0 ) ) );
     public final void rule__XMemberFeatureCall__Alternatives_1_1_3_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:5422:1: ( ( ( rule__XMemberFeatureCall__MemberCallArgumentsAssignment_1_1_3_1_0 ) ) | ( ( rule__XMemberFeatureCall__Group_1_1_3_1_1__0 ) ) )
+            // InternalReportDSL.g:5438:1: ( ( ( rule__XMemberFeatureCall__MemberCallArgumentsAssignment_1_1_3_1_0 ) ) | ( ( rule__XMemberFeatureCall__Group_1_1_3_1_1__0 ) ) )
             int alt37=2;
             alt37 = dfa37.predict(input);
             switch (alt37) {
                 case 1 :
-                    // InternalReportDSL.g:5423:2: ( ( rule__XMemberFeatureCall__MemberCallArgumentsAssignment_1_1_3_1_0 ) )
+                    // InternalReportDSL.g:5439:2: ( ( rule__XMemberFeatureCall__MemberCallArgumentsAssignment_1_1_3_1_0 ) )
                     {
-                    // InternalReportDSL.g:5423:2: ( ( rule__XMemberFeatureCall__MemberCallArgumentsAssignment_1_1_3_1_0 ) )
-                    // InternalReportDSL.g:5424:3: ( rule__XMemberFeatureCall__MemberCallArgumentsAssignment_1_1_3_1_0 )
+                    // InternalReportDSL.g:5439:2: ( ( rule__XMemberFeatureCall__MemberCallArgumentsAssignment_1_1_3_1_0 ) )
+                    // InternalReportDSL.g:5440:3: ( rule__XMemberFeatureCall__MemberCallArgumentsAssignment_1_1_3_1_0 )
                     {
                     if ( state.backtracking==0 ) {
                        before(grammarAccess.getXMemberFeatureCallAccess().getMemberCallArgumentsAssignment_1_1_3_1_0()); 
                     }
-                    // InternalReportDSL.g:5425:3: ( rule__XMemberFeatureCall__MemberCallArgumentsAssignment_1_1_3_1_0 )
-                    // InternalReportDSL.g:5425:4: rule__XMemberFeatureCall__MemberCallArgumentsAssignment_1_1_3_1_0
+                    // InternalReportDSL.g:5441:3: ( rule__XMemberFeatureCall__MemberCallArgumentsAssignment_1_1_3_1_0 )
+                    // InternalReportDSL.g:5441:4: rule__XMemberFeatureCall__MemberCallArgumentsAssignment_1_1_3_1_0
                     {
                     pushFollow(FOLLOW_2);
                     rule__XMemberFeatureCall__MemberCallArgumentsAssignment_1_1_3_1_0();
@@ -19525,16 +19581,16 @@
                     }
                     break;
                 case 2 :
-                    // InternalReportDSL.g:5429:2: ( ( rule__XMemberFeatureCall__Group_1_1_3_1_1__0 ) )
+                    // InternalReportDSL.g:5445:2: ( ( rule__XMemberFeatureCall__Group_1_1_3_1_1__0 ) )
                     {
-                    // InternalReportDSL.g:5429:2: ( ( rule__XMemberFeatureCall__Group_1_1_3_1_1__0 ) )
-                    // InternalReportDSL.g:5430:3: ( rule__XMemberFeatureCall__Group_1_1_3_1_1__0 )
+                    // InternalReportDSL.g:5445:2: ( ( rule__XMemberFeatureCall__Group_1_1_3_1_1__0 ) )
+                    // InternalReportDSL.g:5446:3: ( rule__XMemberFeatureCall__Group_1_1_3_1_1__0 )
                     {
                     if ( state.backtracking==0 ) {
                        before(grammarAccess.getXMemberFeatureCallAccess().getGroup_1_1_3_1_1()); 
                     }
-                    // InternalReportDSL.g:5431:3: ( rule__XMemberFeatureCall__Group_1_1_3_1_1__0 )
-                    // InternalReportDSL.g:5431:4: rule__XMemberFeatureCall__Group_1_1_3_1_1__0
+                    // InternalReportDSL.g:5447:3: ( rule__XMemberFeatureCall__Group_1_1_3_1_1__0 )
+                    // InternalReportDSL.g:5447:4: rule__XMemberFeatureCall__Group_1_1_3_1_1__0
                     {
                     pushFollow(FOLLOW_2);
                     rule__XMemberFeatureCall__Group_1_1_3_1_1__0();
@@ -19571,21 +19627,21 @@
 
 
     // $ANTLR start "rule__XPrimaryExpression__Alternatives"
-    // InternalReportDSL.g:5439:1: rule__XPrimaryExpression__Alternatives : ( ( ruleXConstructorCall ) | ( ruleXBlockExpression ) | ( ruleXSwitchExpression ) | ( ( ruleXSynchronizedExpression ) ) | ( ruleXFeatureCall ) | ( ruleXLiteral ) | ( ruleXIfExpression ) | ( ( ruleXForLoopExpression ) ) | ( ruleXBasicForLoopExpression ) | ( ruleXWhileExpression ) | ( ruleXDoWhileExpression ) | ( ruleXThrowExpression ) | ( ruleXReturnExpression ) | ( ruleXTryCatchFinallyExpression ) | ( ruleXParenthesizedExpression ) );
+    // InternalReportDSL.g:5455:1: rule__XPrimaryExpression__Alternatives : ( ( ruleXConstructorCall ) | ( ruleXBlockExpression ) | ( ruleXSwitchExpression ) | ( ( ruleXSynchronizedExpression ) ) | ( ruleXFeatureCall ) | ( ruleXLiteral ) | ( ruleXIfExpression ) | ( ( ruleXForLoopExpression ) ) | ( ruleXBasicForLoopExpression ) | ( ruleXWhileExpression ) | ( ruleXDoWhileExpression ) | ( ruleXThrowExpression ) | ( ruleXReturnExpression ) | ( ruleXTryCatchFinallyExpression ) | ( ruleXParenthesizedExpression ) );
     public final void rule__XPrimaryExpression__Alternatives() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:5443:1: ( ( ruleXConstructorCall ) | ( ruleXBlockExpression ) | ( ruleXSwitchExpression ) | ( ( ruleXSynchronizedExpression ) ) | ( ruleXFeatureCall ) | ( ruleXLiteral ) | ( ruleXIfExpression ) | ( ( ruleXForLoopExpression ) ) | ( ruleXBasicForLoopExpression ) | ( ruleXWhileExpression ) | ( ruleXDoWhileExpression ) | ( ruleXThrowExpression ) | ( ruleXReturnExpression ) | ( ruleXTryCatchFinallyExpression ) | ( ruleXParenthesizedExpression ) )
+            // InternalReportDSL.g:5459:1: ( ( ruleXConstructorCall ) | ( ruleXBlockExpression ) | ( ruleXSwitchExpression ) | ( ( ruleXSynchronizedExpression ) ) | ( ruleXFeatureCall ) | ( ruleXLiteral ) | ( ruleXIfExpression ) | ( ( ruleXForLoopExpression ) ) | ( ruleXBasicForLoopExpression ) | ( ruleXWhileExpression ) | ( ruleXDoWhileExpression ) | ( ruleXThrowExpression ) | ( ruleXReturnExpression ) | ( ruleXTryCatchFinallyExpression ) | ( ruleXParenthesizedExpression ) )
             int alt38=15;
             alt38 = dfa38.predict(input);
             switch (alt38) {
                 case 1 :
-                    // InternalReportDSL.g:5444:2: ( ruleXConstructorCall )
+                    // InternalReportDSL.g:5460:2: ( ruleXConstructorCall )
                     {
-                    // InternalReportDSL.g:5444:2: ( ruleXConstructorCall )
-                    // InternalReportDSL.g:5445:3: ruleXConstructorCall
+                    // InternalReportDSL.g:5460:2: ( ruleXConstructorCall )
+                    // InternalReportDSL.g:5461:3: ruleXConstructorCall
                     {
                     if ( state.backtracking==0 ) {
                        before(grammarAccess.getXPrimaryExpressionAccess().getXConstructorCallParserRuleCall_0()); 
@@ -19605,10 +19661,10 @@
                     }
                     break;
                 case 2 :
-                    // InternalReportDSL.g:5450:2: ( ruleXBlockExpression )
+                    // InternalReportDSL.g:5466:2: ( ruleXBlockExpression )
                     {
-                    // InternalReportDSL.g:5450:2: ( ruleXBlockExpression )
-                    // InternalReportDSL.g:5451:3: ruleXBlockExpression
+                    // InternalReportDSL.g:5466:2: ( ruleXBlockExpression )
+                    // InternalReportDSL.g:5467:3: ruleXBlockExpression
                     {
                     if ( state.backtracking==0 ) {
                        before(grammarAccess.getXPrimaryExpressionAccess().getXBlockExpressionParserRuleCall_1()); 
@@ -19628,10 +19684,10 @@
                     }
                     break;
                 case 3 :
-                    // InternalReportDSL.g:5456:2: ( ruleXSwitchExpression )
+                    // InternalReportDSL.g:5472:2: ( ruleXSwitchExpression )
                     {
-                    // InternalReportDSL.g:5456:2: ( ruleXSwitchExpression )
-                    // InternalReportDSL.g:5457:3: ruleXSwitchExpression
+                    // InternalReportDSL.g:5472:2: ( ruleXSwitchExpression )
+                    // InternalReportDSL.g:5473:3: ruleXSwitchExpression
                     {
                     if ( state.backtracking==0 ) {
                        before(grammarAccess.getXPrimaryExpressionAccess().getXSwitchExpressionParserRuleCall_2()); 
@@ -19651,16 +19707,16 @@
                     }
                     break;
                 case 4 :
-                    // InternalReportDSL.g:5462:2: ( ( ruleXSynchronizedExpression ) )
+                    // InternalReportDSL.g:5478:2: ( ( ruleXSynchronizedExpression ) )
                     {
-                    // InternalReportDSL.g:5462:2: ( ( ruleXSynchronizedExpression ) )
-                    // InternalReportDSL.g:5463:3: ( ruleXSynchronizedExpression )
+                    // InternalReportDSL.g:5478:2: ( ( ruleXSynchronizedExpression ) )
+                    // InternalReportDSL.g:5479:3: ( ruleXSynchronizedExpression )
                     {
                     if ( state.backtracking==0 ) {
                        before(grammarAccess.getXPrimaryExpressionAccess().getXSynchronizedExpressionParserRuleCall_3()); 
                     }
-                    // InternalReportDSL.g:5464:3: ( ruleXSynchronizedExpression )
-                    // InternalReportDSL.g:5464:4: ruleXSynchronizedExpression
+                    // InternalReportDSL.g:5480:3: ( ruleXSynchronizedExpression )
+                    // InternalReportDSL.g:5480:4: ruleXSynchronizedExpression
                     {
                     pushFollow(FOLLOW_2);
                     ruleXSynchronizedExpression();
@@ -19680,10 +19736,10 @@
                     }
                     break;
                 case 5 :
-                    // InternalReportDSL.g:5468:2: ( ruleXFeatureCall )
+                    // InternalReportDSL.g:5484:2: ( ruleXFeatureCall )
                     {
-                    // InternalReportDSL.g:5468:2: ( ruleXFeatureCall )
-                    // InternalReportDSL.g:5469:3: ruleXFeatureCall
+                    // InternalReportDSL.g:5484:2: ( ruleXFeatureCall )
+                    // InternalReportDSL.g:5485:3: ruleXFeatureCall
                     {
                     if ( state.backtracking==0 ) {
                        before(grammarAccess.getXPrimaryExpressionAccess().getXFeatureCallParserRuleCall_4()); 
@@ -19703,10 +19759,10 @@
                     }
                     break;
                 case 6 :
-                    // InternalReportDSL.g:5474:2: ( ruleXLiteral )
+                    // InternalReportDSL.g:5490:2: ( ruleXLiteral )
                     {
-                    // InternalReportDSL.g:5474:2: ( ruleXLiteral )
-                    // InternalReportDSL.g:5475:3: ruleXLiteral
+                    // InternalReportDSL.g:5490:2: ( ruleXLiteral )
+                    // InternalReportDSL.g:5491:3: ruleXLiteral
                     {
                     if ( state.backtracking==0 ) {
                        before(grammarAccess.getXPrimaryExpressionAccess().getXLiteralParserRuleCall_5()); 
@@ -19726,10 +19782,10 @@
                     }
                     break;
                 case 7 :
-                    // InternalReportDSL.g:5480:2: ( ruleXIfExpression )
+                    // InternalReportDSL.g:5496:2: ( ruleXIfExpression )
                     {
-                    // InternalReportDSL.g:5480:2: ( ruleXIfExpression )
-                    // InternalReportDSL.g:5481:3: ruleXIfExpression
+                    // InternalReportDSL.g:5496:2: ( ruleXIfExpression )
+                    // InternalReportDSL.g:5497:3: ruleXIfExpression
                     {
                     if ( state.backtracking==0 ) {
                        before(grammarAccess.getXPrimaryExpressionAccess().getXIfExpressionParserRuleCall_6()); 
@@ -19749,16 +19805,16 @@
                     }
                     break;
                 case 8 :
-                    // InternalReportDSL.g:5486:2: ( ( ruleXForLoopExpression ) )
+                    // InternalReportDSL.g:5502:2: ( ( ruleXForLoopExpression ) )
                     {
-                    // InternalReportDSL.g:5486:2: ( ( ruleXForLoopExpression ) )
-                    // InternalReportDSL.g:5487:3: ( ruleXForLoopExpression )
+                    // InternalReportDSL.g:5502:2: ( ( ruleXForLoopExpression ) )
+                    // InternalReportDSL.g:5503:3: ( ruleXForLoopExpression )
                     {
                     if ( state.backtracking==0 ) {
                        before(grammarAccess.getXPrimaryExpressionAccess().getXForLoopExpressionParserRuleCall_7()); 
                     }
-                    // InternalReportDSL.g:5488:3: ( ruleXForLoopExpression )
-                    // InternalReportDSL.g:5488:4: ruleXForLoopExpression
+                    // InternalReportDSL.g:5504:3: ( ruleXForLoopExpression )
+                    // InternalReportDSL.g:5504:4: ruleXForLoopExpression
                     {
                     pushFollow(FOLLOW_2);
                     ruleXForLoopExpression();
@@ -19778,10 +19834,10 @@
                     }
                     break;
                 case 9 :
-                    // InternalReportDSL.g:5492:2: ( ruleXBasicForLoopExpression )
+                    // InternalReportDSL.g:5508:2: ( ruleXBasicForLoopExpression )
                     {
-                    // InternalReportDSL.g:5492:2: ( ruleXBasicForLoopExpression )
-                    // InternalReportDSL.g:5493:3: ruleXBasicForLoopExpression
+                    // InternalReportDSL.g:5508:2: ( ruleXBasicForLoopExpression )
+                    // InternalReportDSL.g:5509:3: ruleXBasicForLoopExpression
                     {
                     if ( state.backtracking==0 ) {
                        before(grammarAccess.getXPrimaryExpressionAccess().getXBasicForLoopExpressionParserRuleCall_8()); 
@@ -19801,10 +19857,10 @@
                     }
                     break;
                 case 10 :
-                    // InternalReportDSL.g:5498:2: ( ruleXWhileExpression )
+                    // InternalReportDSL.g:5514:2: ( ruleXWhileExpression )
                     {
-                    // InternalReportDSL.g:5498:2: ( ruleXWhileExpression )
-                    // InternalReportDSL.g:5499:3: ruleXWhileExpression
+                    // InternalReportDSL.g:5514:2: ( ruleXWhileExpression )
+                    // InternalReportDSL.g:5515:3: ruleXWhileExpression
                     {
                     if ( state.backtracking==0 ) {
                        before(grammarAccess.getXPrimaryExpressionAccess().getXWhileExpressionParserRuleCall_9()); 
@@ -19824,10 +19880,10 @@
                     }
                     break;
                 case 11 :
-                    // InternalReportDSL.g:5504:2: ( ruleXDoWhileExpression )
+                    // InternalReportDSL.g:5520:2: ( ruleXDoWhileExpression )
                     {
-                    // InternalReportDSL.g:5504:2: ( ruleXDoWhileExpression )
-                    // InternalReportDSL.g:5505:3: ruleXDoWhileExpression
+                    // InternalReportDSL.g:5520:2: ( ruleXDoWhileExpression )
+                    // InternalReportDSL.g:5521:3: ruleXDoWhileExpression
                     {
                     if ( state.backtracking==0 ) {
                        before(grammarAccess.getXPrimaryExpressionAccess().getXDoWhileExpressionParserRuleCall_10()); 
@@ -19847,10 +19903,10 @@
                     }
                     break;
                 case 12 :
-                    // InternalReportDSL.g:5510:2: ( ruleXThrowExpression )
+                    // InternalReportDSL.g:5526:2: ( ruleXThrowExpression )
                     {
-                    // InternalReportDSL.g:5510:2: ( ruleXThrowExpression )
-                    // InternalReportDSL.g:5511:3: ruleXThrowExpression
+                    // InternalReportDSL.g:5526:2: ( ruleXThrowExpression )
+                    // InternalReportDSL.g:5527:3: ruleXThrowExpression
                     {
                     if ( state.backtracking==0 ) {
                        before(grammarAccess.getXPrimaryExpressionAccess().getXThrowExpressionParserRuleCall_11()); 
@@ -19870,10 +19926,10 @@
                     }
                     break;
                 case 13 :
-                    // InternalReportDSL.g:5516:2: ( ruleXReturnExpression )
+                    // InternalReportDSL.g:5532:2: ( ruleXReturnExpression )
                     {
-                    // InternalReportDSL.g:5516:2: ( ruleXReturnExpression )
-                    // InternalReportDSL.g:5517:3: ruleXReturnExpression
+                    // InternalReportDSL.g:5532:2: ( ruleXReturnExpression )
+                    // InternalReportDSL.g:5533:3: ruleXReturnExpression
                     {
                     if ( state.backtracking==0 ) {
                        before(grammarAccess.getXPrimaryExpressionAccess().getXReturnExpressionParserRuleCall_12()); 
@@ -19893,10 +19949,10 @@
                     }
                     break;
                 case 14 :
-                    // InternalReportDSL.g:5522:2: ( ruleXTryCatchFinallyExpression )
+                    // InternalReportDSL.g:5538:2: ( ruleXTryCatchFinallyExpression )
                     {
-                    // InternalReportDSL.g:5522:2: ( ruleXTryCatchFinallyExpression )
-                    // InternalReportDSL.g:5523:3: ruleXTryCatchFinallyExpression
+                    // InternalReportDSL.g:5538:2: ( ruleXTryCatchFinallyExpression )
+                    // InternalReportDSL.g:5539:3: ruleXTryCatchFinallyExpression
                     {
                     if ( state.backtracking==0 ) {
                        before(grammarAccess.getXPrimaryExpressionAccess().getXTryCatchFinallyExpressionParserRuleCall_13()); 
@@ -19916,10 +19972,10 @@
                     }
                     break;
                 case 15 :
-                    // InternalReportDSL.g:5528:2: ( ruleXParenthesizedExpression )
+                    // InternalReportDSL.g:5544:2: ( ruleXParenthesizedExpression )
                     {
-                    // InternalReportDSL.g:5528:2: ( ruleXParenthesizedExpression )
-                    // InternalReportDSL.g:5529:3: ruleXParenthesizedExpression
+                    // InternalReportDSL.g:5544:2: ( ruleXParenthesizedExpression )
+                    // InternalReportDSL.g:5545:3: ruleXParenthesizedExpression
                     {
                     if ( state.backtracking==0 ) {
                        before(grammarAccess.getXPrimaryExpressionAccess().getXParenthesizedExpressionParserRuleCall_14()); 
@@ -19956,27 +20012,27 @@
 
 
     // $ANTLR start "rule__XLiteral__Alternatives"
-    // InternalReportDSL.g:5538:1: rule__XLiteral__Alternatives : ( ( ruleXCollectionLiteral ) | ( ( ruleXClosure ) ) | ( ruleXBooleanLiteral ) | ( ruleXNumberLiteral ) | ( ruleXNullLiteral ) | ( ruleXStringLiteral ) | ( ruleXTypeLiteral ) );
+    // InternalReportDSL.g:5554:1: rule__XLiteral__Alternatives : ( ( ruleXCollectionLiteral ) | ( ( ruleXClosure ) ) | ( ruleXBooleanLiteral ) | ( ruleXNumberLiteral ) | ( ruleXNullLiteral ) | ( ruleXStringLiteral ) | ( ruleXTypeLiteral ) );
     public final void rule__XLiteral__Alternatives() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:5542:1: ( ( ruleXCollectionLiteral ) | ( ( ruleXClosure ) ) | ( ruleXBooleanLiteral ) | ( ruleXNumberLiteral ) | ( ruleXNullLiteral ) | ( ruleXStringLiteral ) | ( ruleXTypeLiteral ) )
+            // InternalReportDSL.g:5558:1: ( ( ruleXCollectionLiteral ) | ( ( ruleXClosure ) ) | ( ruleXBooleanLiteral ) | ( ruleXNumberLiteral ) | ( ruleXNullLiteral ) | ( ruleXStringLiteral ) | ( ruleXTypeLiteral ) )
             int alt39=7;
             switch ( input.LA(1) ) {
-            case 230:
+            case 237:
                 {
                 alt39=1;
                 }
                 break;
-            case 231:
+            case 238:
                 {
                 alt39=2;
                 }
                 break;
             case 54:
-            case 266:
+            case 271:
                 {
                 alt39=3;
                 }
@@ -19988,7 +20044,7 @@
                 alt39=4;
                 }
                 break;
-            case 243:
+            case 250:
                 {
                 alt39=5;
                 }
@@ -19998,7 +20054,7 @@
                 alt39=6;
                 }
                 break;
-            case 244:
+            case 251:
                 {
                 alt39=7;
                 }
@@ -20013,10 +20069,10 @@
 
             switch (alt39) {
                 case 1 :
-                    // InternalReportDSL.g:5543:2: ( ruleXCollectionLiteral )
+                    // InternalReportDSL.g:5559:2: ( ruleXCollectionLiteral )
                     {
-                    // InternalReportDSL.g:5543:2: ( ruleXCollectionLiteral )
-                    // InternalReportDSL.g:5544:3: ruleXCollectionLiteral
+                    // InternalReportDSL.g:5559:2: ( ruleXCollectionLiteral )
+                    // InternalReportDSL.g:5560:3: ruleXCollectionLiteral
                     {
                     if ( state.backtracking==0 ) {
                        before(grammarAccess.getXLiteralAccess().getXCollectionLiteralParserRuleCall_0()); 
@@ -20036,16 +20092,16 @@
                     }
                     break;
                 case 2 :
-                    // InternalReportDSL.g:5549:2: ( ( ruleXClosure ) )
+                    // InternalReportDSL.g:5565:2: ( ( ruleXClosure ) )
                     {
-                    // InternalReportDSL.g:5549:2: ( ( ruleXClosure ) )
-                    // InternalReportDSL.g:5550:3: ( ruleXClosure )
+                    // InternalReportDSL.g:5565:2: ( ( ruleXClosure ) )
+                    // InternalReportDSL.g:5566:3: ( ruleXClosure )
                     {
                     if ( state.backtracking==0 ) {
                        before(grammarAccess.getXLiteralAccess().getXClosureParserRuleCall_1()); 
                     }
-                    // InternalReportDSL.g:5551:3: ( ruleXClosure )
-                    // InternalReportDSL.g:5551:4: ruleXClosure
+                    // InternalReportDSL.g:5567:3: ( ruleXClosure )
+                    // InternalReportDSL.g:5567:4: ruleXClosure
                     {
                     pushFollow(FOLLOW_2);
                     ruleXClosure();
@@ -20065,10 +20121,10 @@
                     }
                     break;
                 case 3 :
-                    // InternalReportDSL.g:5555:2: ( ruleXBooleanLiteral )
+                    // InternalReportDSL.g:5571:2: ( ruleXBooleanLiteral )
                     {
-                    // InternalReportDSL.g:5555:2: ( ruleXBooleanLiteral )
-                    // InternalReportDSL.g:5556:3: ruleXBooleanLiteral
+                    // InternalReportDSL.g:5571:2: ( ruleXBooleanLiteral )
+                    // InternalReportDSL.g:5572:3: ruleXBooleanLiteral
                     {
                     if ( state.backtracking==0 ) {
                        before(grammarAccess.getXLiteralAccess().getXBooleanLiteralParserRuleCall_2()); 
@@ -20088,10 +20144,10 @@
                     }
                     break;
                 case 4 :
-                    // InternalReportDSL.g:5561:2: ( ruleXNumberLiteral )
+                    // InternalReportDSL.g:5577:2: ( ruleXNumberLiteral )
                     {
-                    // InternalReportDSL.g:5561:2: ( ruleXNumberLiteral )
-                    // InternalReportDSL.g:5562:3: ruleXNumberLiteral
+                    // InternalReportDSL.g:5577:2: ( ruleXNumberLiteral )
+                    // InternalReportDSL.g:5578:3: ruleXNumberLiteral
                     {
                     if ( state.backtracking==0 ) {
                        before(grammarAccess.getXLiteralAccess().getXNumberLiteralParserRuleCall_3()); 
@@ -20111,10 +20167,10 @@
                     }
                     break;
                 case 5 :
-                    // InternalReportDSL.g:5567:2: ( ruleXNullLiteral )
+                    // InternalReportDSL.g:5583:2: ( ruleXNullLiteral )
                     {
-                    // InternalReportDSL.g:5567:2: ( ruleXNullLiteral )
-                    // InternalReportDSL.g:5568:3: ruleXNullLiteral
+                    // InternalReportDSL.g:5583:2: ( ruleXNullLiteral )
+                    // InternalReportDSL.g:5584:3: ruleXNullLiteral
                     {
                     if ( state.backtracking==0 ) {
                        before(grammarAccess.getXLiteralAccess().getXNullLiteralParserRuleCall_4()); 
@@ -20134,10 +20190,10 @@
                     }
                     break;
                 case 6 :
-                    // InternalReportDSL.g:5573:2: ( ruleXStringLiteral )
+                    // InternalReportDSL.g:5589:2: ( ruleXStringLiteral )
                     {
-                    // InternalReportDSL.g:5573:2: ( ruleXStringLiteral )
-                    // InternalReportDSL.g:5574:3: ruleXStringLiteral
+                    // InternalReportDSL.g:5589:2: ( ruleXStringLiteral )
+                    // InternalReportDSL.g:5590:3: ruleXStringLiteral
                     {
                     if ( state.backtracking==0 ) {
                        before(grammarAccess.getXLiteralAccess().getXStringLiteralParserRuleCall_5()); 
@@ -20157,10 +20213,10 @@
                     }
                     break;
                 case 7 :
-                    // InternalReportDSL.g:5579:2: ( ruleXTypeLiteral )
+                    // InternalReportDSL.g:5595:2: ( ruleXTypeLiteral )
                     {
-                    // InternalReportDSL.g:5579:2: ( ruleXTypeLiteral )
-                    // InternalReportDSL.g:5580:3: ruleXTypeLiteral
+                    // InternalReportDSL.g:5595:2: ( ruleXTypeLiteral )
+                    // InternalReportDSL.g:5596:3: ruleXTypeLiteral
                     {
                     if ( state.backtracking==0 ) {
                        before(grammarAccess.getXLiteralAccess().getXTypeLiteralParserRuleCall_6()); 
@@ -20197,23 +20253,23 @@
 
 
     // $ANTLR start "rule__XCollectionLiteral__Alternatives"
-    // InternalReportDSL.g:5589:1: rule__XCollectionLiteral__Alternatives : ( ( ruleXSetLiteral ) | ( ruleXListLiteral ) );
+    // InternalReportDSL.g:5605:1: rule__XCollectionLiteral__Alternatives : ( ( ruleXSetLiteral ) | ( ruleXListLiteral ) );
     public final void rule__XCollectionLiteral__Alternatives() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:5593:1: ( ( ruleXSetLiteral ) | ( ruleXListLiteral ) )
+            // InternalReportDSL.g:5609:1: ( ( ruleXSetLiteral ) | ( ruleXListLiteral ) )
             int alt40=2;
             int LA40_0 = input.LA(1);
 
-            if ( (LA40_0==230) ) {
+            if ( (LA40_0==237) ) {
                 int LA40_1 = input.LA(2);
 
-                if ( (LA40_1==125) ) {
+                if ( (LA40_1==131) ) {
                     alt40=1;
                 }
-                else if ( (LA40_1==231) ) {
+                else if ( (LA40_1==238) ) {
                     alt40=2;
                 }
                 else {
@@ -20233,10 +20289,10 @@
             }
             switch (alt40) {
                 case 1 :
-                    // InternalReportDSL.g:5594:2: ( ruleXSetLiteral )
+                    // InternalReportDSL.g:5610:2: ( ruleXSetLiteral )
                     {
-                    // InternalReportDSL.g:5594:2: ( ruleXSetLiteral )
-                    // InternalReportDSL.g:5595:3: ruleXSetLiteral
+                    // InternalReportDSL.g:5610:2: ( ruleXSetLiteral )
+                    // InternalReportDSL.g:5611:3: ruleXSetLiteral
                     {
                     if ( state.backtracking==0 ) {
                        before(grammarAccess.getXCollectionLiteralAccess().getXSetLiteralParserRuleCall_0()); 
@@ -20256,10 +20312,10 @@
                     }
                     break;
                 case 2 :
-                    // InternalReportDSL.g:5600:2: ( ruleXListLiteral )
+                    // InternalReportDSL.g:5616:2: ( ruleXListLiteral )
                     {
-                    // InternalReportDSL.g:5600:2: ( ruleXListLiteral )
-                    // InternalReportDSL.g:5601:3: ruleXListLiteral
+                    // InternalReportDSL.g:5616:2: ( ruleXListLiteral )
+                    // InternalReportDSL.g:5617:3: ruleXListLiteral
                     {
                     if ( state.backtracking==0 ) {
                        before(grammarAccess.getXCollectionLiteralAccess().getXListLiteralParserRuleCall_1()); 
@@ -20296,27 +20352,27 @@
 
 
     // $ANTLR start "rule__XSwitchExpression__Alternatives_2"
-    // InternalReportDSL.g:5610:1: rule__XSwitchExpression__Alternatives_2 : ( ( ( rule__XSwitchExpression__Group_2_0__0 ) ) | ( ( rule__XSwitchExpression__Group_2_1__0 ) ) );
+    // InternalReportDSL.g:5626:1: rule__XSwitchExpression__Alternatives_2 : ( ( ( rule__XSwitchExpression__Group_2_0__0 ) ) | ( ( rule__XSwitchExpression__Group_2_1__0 ) ) );
     public final void rule__XSwitchExpression__Alternatives_2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:5614:1: ( ( ( rule__XSwitchExpression__Group_2_0__0 ) ) | ( ( rule__XSwitchExpression__Group_2_1__0 ) ) )
+            // InternalReportDSL.g:5630:1: ( ( ( rule__XSwitchExpression__Group_2_0__0 ) ) | ( ( rule__XSwitchExpression__Group_2_1__0 ) ) )
             int alt41=2;
             alt41 = dfa41.predict(input);
             switch (alt41) {
                 case 1 :
-                    // InternalReportDSL.g:5615:2: ( ( rule__XSwitchExpression__Group_2_0__0 ) )
+                    // InternalReportDSL.g:5631:2: ( ( rule__XSwitchExpression__Group_2_0__0 ) )
                     {
-                    // InternalReportDSL.g:5615:2: ( ( rule__XSwitchExpression__Group_2_0__0 ) )
-                    // InternalReportDSL.g:5616:3: ( rule__XSwitchExpression__Group_2_0__0 )
+                    // InternalReportDSL.g:5631:2: ( ( rule__XSwitchExpression__Group_2_0__0 ) )
+                    // InternalReportDSL.g:5632:3: ( rule__XSwitchExpression__Group_2_0__0 )
                     {
                     if ( state.backtracking==0 ) {
                        before(grammarAccess.getXSwitchExpressionAccess().getGroup_2_0()); 
                     }
-                    // InternalReportDSL.g:5617:3: ( rule__XSwitchExpression__Group_2_0__0 )
-                    // InternalReportDSL.g:5617:4: rule__XSwitchExpression__Group_2_0__0
+                    // InternalReportDSL.g:5633:3: ( rule__XSwitchExpression__Group_2_0__0 )
+                    // InternalReportDSL.g:5633:4: rule__XSwitchExpression__Group_2_0__0
                     {
                     pushFollow(FOLLOW_2);
                     rule__XSwitchExpression__Group_2_0__0();
@@ -20336,16 +20392,16 @@
                     }
                     break;
                 case 2 :
-                    // InternalReportDSL.g:5621:2: ( ( rule__XSwitchExpression__Group_2_1__0 ) )
+                    // InternalReportDSL.g:5637:2: ( ( rule__XSwitchExpression__Group_2_1__0 ) )
                     {
-                    // InternalReportDSL.g:5621:2: ( ( rule__XSwitchExpression__Group_2_1__0 ) )
-                    // InternalReportDSL.g:5622:3: ( rule__XSwitchExpression__Group_2_1__0 )
+                    // InternalReportDSL.g:5637:2: ( ( rule__XSwitchExpression__Group_2_1__0 ) )
+                    // InternalReportDSL.g:5638:3: ( rule__XSwitchExpression__Group_2_1__0 )
                     {
                     if ( state.backtracking==0 ) {
                        before(grammarAccess.getXSwitchExpressionAccess().getGroup_2_1()); 
                     }
-                    // InternalReportDSL.g:5623:3: ( rule__XSwitchExpression__Group_2_1__0 )
-                    // InternalReportDSL.g:5623:4: rule__XSwitchExpression__Group_2_1__0
+                    // InternalReportDSL.g:5639:3: ( rule__XSwitchExpression__Group_2_1__0 )
+                    // InternalReportDSL.g:5639:4: rule__XSwitchExpression__Group_2_1__0
                     {
                     pushFollow(FOLLOW_2);
                     rule__XSwitchExpression__Group_2_1__0();
@@ -20382,20 +20438,20 @@
 
 
     // $ANTLR start "rule__XCasePart__Alternatives_3"
-    // InternalReportDSL.g:5631:1: rule__XCasePart__Alternatives_3 : ( ( ( rule__XCasePart__Group_3_0__0 ) ) | ( ( rule__XCasePart__FallThroughAssignment_3_1 ) ) );
+    // InternalReportDSL.g:5647:1: rule__XCasePart__Alternatives_3 : ( ( ( rule__XCasePart__Group_3_0__0 ) ) | ( ( rule__XCasePart__FallThroughAssignment_3_1 ) ) );
     public final void rule__XCasePart__Alternatives_3() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:5635:1: ( ( ( rule__XCasePart__Group_3_0__0 ) ) | ( ( rule__XCasePart__FallThroughAssignment_3_1 ) ) )
+            // InternalReportDSL.g:5651:1: ( ( ( rule__XCasePart__Group_3_0__0 ) ) | ( ( rule__XCasePart__FallThroughAssignment_3_1 ) ) )
             int alt42=2;
             int LA42_0 = input.LA(1);
 
-            if ( (LA42_0==236) ) {
+            if ( (LA42_0==243) ) {
                 alt42=1;
             }
-            else if ( (LA42_0==228) ) {
+            else if ( (LA42_0==235) ) {
                 alt42=2;
             }
             else {
@@ -20407,16 +20463,16 @@
             }
             switch (alt42) {
                 case 1 :
-                    // InternalReportDSL.g:5636:2: ( ( rule__XCasePart__Group_3_0__0 ) )
+                    // InternalReportDSL.g:5652:2: ( ( rule__XCasePart__Group_3_0__0 ) )
                     {
-                    // InternalReportDSL.g:5636:2: ( ( rule__XCasePart__Group_3_0__0 ) )
-                    // InternalReportDSL.g:5637:3: ( rule__XCasePart__Group_3_0__0 )
+                    // InternalReportDSL.g:5652:2: ( ( rule__XCasePart__Group_3_0__0 ) )
+                    // InternalReportDSL.g:5653:3: ( rule__XCasePart__Group_3_0__0 )
                     {
                     if ( state.backtracking==0 ) {
                        before(grammarAccess.getXCasePartAccess().getGroup_3_0()); 
                     }
-                    // InternalReportDSL.g:5638:3: ( rule__XCasePart__Group_3_0__0 )
-                    // InternalReportDSL.g:5638:4: rule__XCasePart__Group_3_0__0
+                    // InternalReportDSL.g:5654:3: ( rule__XCasePart__Group_3_0__0 )
+                    // InternalReportDSL.g:5654:4: rule__XCasePart__Group_3_0__0
                     {
                     pushFollow(FOLLOW_2);
                     rule__XCasePart__Group_3_0__0();
@@ -20436,16 +20492,16 @@
                     }
                     break;
                 case 2 :
-                    // InternalReportDSL.g:5642:2: ( ( rule__XCasePart__FallThroughAssignment_3_1 ) )
+                    // InternalReportDSL.g:5658:2: ( ( rule__XCasePart__FallThroughAssignment_3_1 ) )
                     {
-                    // InternalReportDSL.g:5642:2: ( ( rule__XCasePart__FallThroughAssignment_3_1 ) )
-                    // InternalReportDSL.g:5643:3: ( rule__XCasePart__FallThroughAssignment_3_1 )
+                    // InternalReportDSL.g:5658:2: ( ( rule__XCasePart__FallThroughAssignment_3_1 ) )
+                    // InternalReportDSL.g:5659:3: ( rule__XCasePart__FallThroughAssignment_3_1 )
                     {
                     if ( state.backtracking==0 ) {
                        before(grammarAccess.getXCasePartAccess().getFallThroughAssignment_3_1()); 
                     }
-                    // InternalReportDSL.g:5644:3: ( rule__XCasePart__FallThroughAssignment_3_1 )
-                    // InternalReportDSL.g:5644:4: rule__XCasePart__FallThroughAssignment_3_1
+                    // InternalReportDSL.g:5660:3: ( rule__XCasePart__FallThroughAssignment_3_1 )
+                    // InternalReportDSL.g:5660:4: rule__XCasePart__FallThroughAssignment_3_1
                     {
                     pushFollow(FOLLOW_2);
                     rule__XCasePart__FallThroughAssignment_3_1();
@@ -20482,20 +20538,20 @@
 
 
     // $ANTLR start "rule__XExpressionOrVarDeclaration__Alternatives"
-    // InternalReportDSL.g:5652:1: rule__XExpressionOrVarDeclaration__Alternatives : ( ( ruleXVariableDeclaration ) | ( ruleXExpression ) );
+    // InternalReportDSL.g:5668:1: rule__XExpressionOrVarDeclaration__Alternatives : ( ( ruleXVariableDeclaration ) | ( ruleXExpression ) );
     public final void rule__XExpressionOrVarDeclaration__Alternatives() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:5656:1: ( ( ruleXVariableDeclaration ) | ( ruleXExpression ) )
+            // InternalReportDSL.g:5672:1: ( ( ruleXVariableDeclaration ) | ( ruleXExpression ) )
             int alt43=2;
             int LA43_0 = input.LA(1);
 
-            if ( (LA43_0==48||LA43_0==265) ) {
+            if ( (LA43_0==48||LA43_0==270) ) {
                 alt43=1;
             }
-            else if ( ((LA43_0>=RULE_STRING && LA43_0<=RULE_DECIMAL)||LA43_0==31||(LA43_0>=38 && LA43_0<=39)||LA43_0==44||(LA43_0>=49 && LA43_0<=54)||LA43_0==125||LA43_0==204||(LA43_0>=230 && LA43_0<=231)||LA43_0==233||LA43_0==235||(LA43_0>=239 && LA43_0<=247)||LA43_0==249||LA43_0==266) ) {
+            else if ( ((LA43_0>=RULE_STRING && LA43_0<=RULE_DECIMAL)||LA43_0==31||(LA43_0>=38 && LA43_0<=39)||LA43_0==44||(LA43_0>=49 && LA43_0<=54)||LA43_0==131||LA43_0==211||(LA43_0>=237 && LA43_0<=238)||LA43_0==240||LA43_0==242||(LA43_0>=246 && LA43_0<=254)||LA43_0==256||LA43_0==271) ) {
                 alt43=2;
             }
             else {
@@ -20507,10 +20563,10 @@
             }
             switch (alt43) {
                 case 1 :
-                    // InternalReportDSL.g:5657:2: ( ruleXVariableDeclaration )
+                    // InternalReportDSL.g:5673:2: ( ruleXVariableDeclaration )
                     {
-                    // InternalReportDSL.g:5657:2: ( ruleXVariableDeclaration )
-                    // InternalReportDSL.g:5658:3: ruleXVariableDeclaration
+                    // InternalReportDSL.g:5673:2: ( ruleXVariableDeclaration )
+                    // InternalReportDSL.g:5674:3: ruleXVariableDeclaration
                     {
                     if ( state.backtracking==0 ) {
                        before(grammarAccess.getXExpressionOrVarDeclarationAccess().getXVariableDeclarationParserRuleCall_0()); 
@@ -20530,10 +20586,10 @@
                     }
                     break;
                 case 2 :
-                    // InternalReportDSL.g:5663:2: ( ruleXExpression )
+                    // InternalReportDSL.g:5679:2: ( ruleXExpression )
                     {
-                    // InternalReportDSL.g:5663:2: ( ruleXExpression )
-                    // InternalReportDSL.g:5664:3: ruleXExpression
+                    // InternalReportDSL.g:5679:2: ( ruleXExpression )
+                    // InternalReportDSL.g:5680:3: ruleXExpression
                     {
                     if ( state.backtracking==0 ) {
                        before(grammarAccess.getXExpressionOrVarDeclarationAccess().getXExpressionParserRuleCall_1()); 
@@ -20570,17 +20626,17 @@
 
 
     // $ANTLR start "rule__XVariableDeclaration__Alternatives_1"
-    // InternalReportDSL.g:5673:1: rule__XVariableDeclaration__Alternatives_1 : ( ( ( rule__XVariableDeclaration__WriteableAssignment_1_0 ) ) | ( 'val' ) );
+    // InternalReportDSL.g:5689:1: rule__XVariableDeclaration__Alternatives_1 : ( ( ( rule__XVariableDeclaration__WriteableAssignment_1_0 ) ) | ( 'val' ) );
     public final void rule__XVariableDeclaration__Alternatives_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:5677:1: ( ( ( rule__XVariableDeclaration__WriteableAssignment_1_0 ) ) | ( 'val' ) )
+            // InternalReportDSL.g:5693:1: ( ( ( rule__XVariableDeclaration__WriteableAssignment_1_0 ) ) | ( 'val' ) )
             int alt44=2;
             int LA44_0 = input.LA(1);
 
-            if ( (LA44_0==265) ) {
+            if ( (LA44_0==270) ) {
                 alt44=1;
             }
             else if ( (LA44_0==48) ) {
@@ -20595,16 +20651,16 @@
             }
             switch (alt44) {
                 case 1 :
-                    // InternalReportDSL.g:5678:2: ( ( rule__XVariableDeclaration__WriteableAssignment_1_0 ) )
+                    // InternalReportDSL.g:5694:2: ( ( rule__XVariableDeclaration__WriteableAssignment_1_0 ) )
                     {
-                    // InternalReportDSL.g:5678:2: ( ( rule__XVariableDeclaration__WriteableAssignment_1_0 ) )
-                    // InternalReportDSL.g:5679:3: ( rule__XVariableDeclaration__WriteableAssignment_1_0 )
+                    // InternalReportDSL.g:5694:2: ( ( rule__XVariableDeclaration__WriteableAssignment_1_0 ) )
+                    // InternalReportDSL.g:5695:3: ( rule__XVariableDeclaration__WriteableAssignment_1_0 )
                     {
                     if ( state.backtracking==0 ) {
                        before(grammarAccess.getXVariableDeclarationAccess().getWriteableAssignment_1_0()); 
                     }
-                    // InternalReportDSL.g:5680:3: ( rule__XVariableDeclaration__WriteableAssignment_1_0 )
-                    // InternalReportDSL.g:5680:4: rule__XVariableDeclaration__WriteableAssignment_1_0
+                    // InternalReportDSL.g:5696:3: ( rule__XVariableDeclaration__WriteableAssignment_1_0 )
+                    // InternalReportDSL.g:5696:4: rule__XVariableDeclaration__WriteableAssignment_1_0
                     {
                     pushFollow(FOLLOW_2);
                     rule__XVariableDeclaration__WriteableAssignment_1_0();
@@ -20624,10 +20680,10 @@
                     }
                     break;
                 case 2 :
-                    // InternalReportDSL.g:5684:2: ( 'val' )
+                    // InternalReportDSL.g:5700:2: ( 'val' )
                     {
-                    // InternalReportDSL.g:5684:2: ( 'val' )
-                    // InternalReportDSL.g:5685:3: 'val'
+                    // InternalReportDSL.g:5700:2: ( 'val' )
+                    // InternalReportDSL.g:5701:3: 'val'
                     {
                     if ( state.backtracking==0 ) {
                        before(grammarAccess.getXVariableDeclarationAccess().getValKeyword_1_1()); 
@@ -20660,13 +20716,13 @@
 
 
     // $ANTLR start "rule__XVariableDeclaration__Alternatives_2"
-    // InternalReportDSL.g:5694:1: rule__XVariableDeclaration__Alternatives_2 : ( ( ( rule__XVariableDeclaration__Group_2_0__0 ) ) | ( ( rule__XVariableDeclaration__NameAssignment_2_1 ) ) );
+    // InternalReportDSL.g:5710:1: rule__XVariableDeclaration__Alternatives_2 : ( ( ( rule__XVariableDeclaration__Group_2_0__0 ) ) | ( ( rule__XVariableDeclaration__NameAssignment_2_1 ) ) );
     public final void rule__XVariableDeclaration__Alternatives_2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:5698:1: ( ( ( rule__XVariableDeclaration__Group_2_0__0 ) ) | ( ( rule__XVariableDeclaration__NameAssignment_2_1 ) ) )
+            // InternalReportDSL.g:5714:1: ( ( ( rule__XVariableDeclaration__Group_2_0__0 ) ) | ( ( rule__XVariableDeclaration__NameAssignment_2_1 ) ) )
             int alt45=2;
             int LA45_0 = input.LA(1);
 
@@ -20687,7 +20743,7 @@
                     throw nvae;
                 }
             }
-            else if ( (LA45_0==35||LA45_0==204) ) {
+            else if ( (LA45_0==35||LA45_0==211) ) {
                 alt45=1;
             }
             else {
@@ -20699,16 +20755,16 @@
             }
             switch (alt45) {
                 case 1 :
-                    // InternalReportDSL.g:5699:2: ( ( rule__XVariableDeclaration__Group_2_0__0 ) )
+                    // InternalReportDSL.g:5715:2: ( ( rule__XVariableDeclaration__Group_2_0__0 ) )
                     {
-                    // InternalReportDSL.g:5699:2: ( ( rule__XVariableDeclaration__Group_2_0__0 ) )
-                    // InternalReportDSL.g:5700:3: ( rule__XVariableDeclaration__Group_2_0__0 )
+                    // InternalReportDSL.g:5715:2: ( ( rule__XVariableDeclaration__Group_2_0__0 ) )
+                    // InternalReportDSL.g:5716:3: ( rule__XVariableDeclaration__Group_2_0__0 )
                     {
                     if ( state.backtracking==0 ) {
                        before(grammarAccess.getXVariableDeclarationAccess().getGroup_2_0()); 
                     }
-                    // InternalReportDSL.g:5701:3: ( rule__XVariableDeclaration__Group_2_0__0 )
-                    // InternalReportDSL.g:5701:4: rule__XVariableDeclaration__Group_2_0__0
+                    // InternalReportDSL.g:5717:3: ( rule__XVariableDeclaration__Group_2_0__0 )
+                    // InternalReportDSL.g:5717:4: rule__XVariableDeclaration__Group_2_0__0
                     {
                     pushFollow(FOLLOW_2);
                     rule__XVariableDeclaration__Group_2_0__0();
@@ -20728,16 +20784,16 @@
                     }
                     break;
                 case 2 :
-                    // InternalReportDSL.g:5705:2: ( ( rule__XVariableDeclaration__NameAssignment_2_1 ) )
+                    // InternalReportDSL.g:5721:2: ( ( rule__XVariableDeclaration__NameAssignment_2_1 ) )
                     {
-                    // InternalReportDSL.g:5705:2: ( ( rule__XVariableDeclaration__NameAssignment_2_1 ) )
-                    // InternalReportDSL.g:5706:3: ( rule__XVariableDeclaration__NameAssignment_2_1 )
+                    // InternalReportDSL.g:5721:2: ( ( rule__XVariableDeclaration__NameAssignment_2_1 ) )
+                    // InternalReportDSL.g:5722:3: ( rule__XVariableDeclaration__NameAssignment_2_1 )
                     {
                     if ( state.backtracking==0 ) {
                        before(grammarAccess.getXVariableDeclarationAccess().getNameAssignment_2_1()); 
                     }
-                    // InternalReportDSL.g:5707:3: ( rule__XVariableDeclaration__NameAssignment_2_1 )
-                    // InternalReportDSL.g:5707:4: rule__XVariableDeclaration__NameAssignment_2_1
+                    // InternalReportDSL.g:5723:3: ( rule__XVariableDeclaration__NameAssignment_2_1 )
+                    // InternalReportDSL.g:5723:4: rule__XVariableDeclaration__NameAssignment_2_1
                     {
                     pushFollow(FOLLOW_2);
                     rule__XVariableDeclaration__NameAssignment_2_1();
@@ -20774,27 +20830,27 @@
 
 
     // $ANTLR start "rule__XFeatureCall__Alternatives_3_1"
-    // InternalReportDSL.g:5715:1: rule__XFeatureCall__Alternatives_3_1 : ( ( ( rule__XFeatureCall__FeatureCallArgumentsAssignment_3_1_0 ) ) | ( ( rule__XFeatureCall__Group_3_1_1__0 ) ) );
+    // InternalReportDSL.g:5731:1: rule__XFeatureCall__Alternatives_3_1 : ( ( ( rule__XFeatureCall__FeatureCallArgumentsAssignment_3_1_0 ) ) | ( ( rule__XFeatureCall__Group_3_1_1__0 ) ) );
     public final void rule__XFeatureCall__Alternatives_3_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:5719:1: ( ( ( rule__XFeatureCall__FeatureCallArgumentsAssignment_3_1_0 ) ) | ( ( rule__XFeatureCall__Group_3_1_1__0 ) ) )
+            // InternalReportDSL.g:5735:1: ( ( ( rule__XFeatureCall__FeatureCallArgumentsAssignment_3_1_0 ) ) | ( ( rule__XFeatureCall__Group_3_1_1__0 ) ) )
             int alt46=2;
             alt46 = dfa46.predict(input);
             switch (alt46) {
                 case 1 :
-                    // InternalReportDSL.g:5720:2: ( ( rule__XFeatureCall__FeatureCallArgumentsAssignment_3_1_0 ) )
+                    // InternalReportDSL.g:5736:2: ( ( rule__XFeatureCall__FeatureCallArgumentsAssignment_3_1_0 ) )
                     {
-                    // InternalReportDSL.g:5720:2: ( ( rule__XFeatureCall__FeatureCallArgumentsAssignment_3_1_0 ) )
-                    // InternalReportDSL.g:5721:3: ( rule__XFeatureCall__FeatureCallArgumentsAssignment_3_1_0 )
+                    // InternalReportDSL.g:5736:2: ( ( rule__XFeatureCall__FeatureCallArgumentsAssignment_3_1_0 ) )
+                    // InternalReportDSL.g:5737:3: ( rule__XFeatureCall__FeatureCallArgumentsAssignment_3_1_0 )
                     {
                     if ( state.backtracking==0 ) {
                        before(grammarAccess.getXFeatureCallAccess().getFeatureCallArgumentsAssignment_3_1_0()); 
                     }
-                    // InternalReportDSL.g:5722:3: ( rule__XFeatureCall__FeatureCallArgumentsAssignment_3_1_0 )
-                    // InternalReportDSL.g:5722:4: rule__XFeatureCall__FeatureCallArgumentsAssignment_3_1_0
+                    // InternalReportDSL.g:5738:3: ( rule__XFeatureCall__FeatureCallArgumentsAssignment_3_1_0 )
+                    // InternalReportDSL.g:5738:4: rule__XFeatureCall__FeatureCallArgumentsAssignment_3_1_0
                     {
                     pushFollow(FOLLOW_2);
                     rule__XFeatureCall__FeatureCallArgumentsAssignment_3_1_0();
@@ -20814,16 +20870,16 @@
                     }
                     break;
                 case 2 :
-                    // InternalReportDSL.g:5726:2: ( ( rule__XFeatureCall__Group_3_1_1__0 ) )
+                    // InternalReportDSL.g:5742:2: ( ( rule__XFeatureCall__Group_3_1_1__0 ) )
                     {
-                    // InternalReportDSL.g:5726:2: ( ( rule__XFeatureCall__Group_3_1_1__0 ) )
-                    // InternalReportDSL.g:5727:3: ( rule__XFeatureCall__Group_3_1_1__0 )
+                    // InternalReportDSL.g:5742:2: ( ( rule__XFeatureCall__Group_3_1_1__0 ) )
+                    // InternalReportDSL.g:5743:3: ( rule__XFeatureCall__Group_3_1_1__0 )
                     {
                     if ( state.backtracking==0 ) {
                        before(grammarAccess.getXFeatureCallAccess().getGroup_3_1_1()); 
                     }
-                    // InternalReportDSL.g:5728:3: ( rule__XFeatureCall__Group_3_1_1__0 )
-                    // InternalReportDSL.g:5728:4: rule__XFeatureCall__Group_3_1_1__0
+                    // InternalReportDSL.g:5744:3: ( rule__XFeatureCall__Group_3_1_1__0 )
+                    // InternalReportDSL.g:5744:4: rule__XFeatureCall__Group_3_1_1__0
                     {
                     pushFollow(FOLLOW_2);
                     rule__XFeatureCall__Group_3_1_1__0();
@@ -20860,13 +20916,13 @@
 
 
     // $ANTLR start "rule__FeatureCallID__Alternatives"
-    // InternalReportDSL.g:5736:1: rule__FeatureCallID__Alternatives : ( ( ruleValidID ) | ( 'extends' ) | ( 'static' ) | ( 'import' ) | ( 'extension' ) );
+    // InternalReportDSL.g:5752:1: rule__FeatureCallID__Alternatives : ( ( ruleValidID ) | ( 'extends' ) | ( 'static' ) | ( 'import' ) | ( 'extension' ) );
     public final void rule__FeatureCallID__Alternatives() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:5740:1: ( ( ruleValidID ) | ( 'extends' ) | ( 'static' ) | ( 'import' ) | ( 'extension' ) )
+            // InternalReportDSL.g:5756:1: ( ( ruleValidID ) | ( 'extends' ) | ( 'static' ) | ( 'import' ) | ( 'extension' ) )
             int alt47=5;
             switch ( input.LA(1) ) {
             case RULE_ID:
@@ -20904,10 +20960,10 @@
 
             switch (alt47) {
                 case 1 :
-                    // InternalReportDSL.g:5741:2: ( ruleValidID )
+                    // InternalReportDSL.g:5757:2: ( ruleValidID )
                     {
-                    // InternalReportDSL.g:5741:2: ( ruleValidID )
-                    // InternalReportDSL.g:5742:3: ruleValidID
+                    // InternalReportDSL.g:5757:2: ( ruleValidID )
+                    // InternalReportDSL.g:5758:3: ruleValidID
                     {
                     if ( state.backtracking==0 ) {
                        before(grammarAccess.getFeatureCallIDAccess().getValidIDParserRuleCall_0()); 
@@ -20927,10 +20983,10 @@
                     }
                     break;
                 case 2 :
-                    // InternalReportDSL.g:5747:2: ( 'extends' )
+                    // InternalReportDSL.g:5763:2: ( 'extends' )
                     {
-                    // InternalReportDSL.g:5747:2: ( 'extends' )
-                    // InternalReportDSL.g:5748:3: 'extends'
+                    // InternalReportDSL.g:5763:2: ( 'extends' )
+                    // InternalReportDSL.g:5764:3: 'extends'
                     {
                     if ( state.backtracking==0 ) {
                        before(grammarAccess.getFeatureCallIDAccess().getExtendsKeyword_1()); 
@@ -20946,10 +21002,10 @@
                     }
                     break;
                 case 3 :
-                    // InternalReportDSL.g:5753:2: ( 'static' )
+                    // InternalReportDSL.g:5769:2: ( 'static' )
                     {
-                    // InternalReportDSL.g:5753:2: ( 'static' )
-                    // InternalReportDSL.g:5754:3: 'static'
+                    // InternalReportDSL.g:5769:2: ( 'static' )
+                    // InternalReportDSL.g:5770:3: 'static'
                     {
                     if ( state.backtracking==0 ) {
                        before(grammarAccess.getFeatureCallIDAccess().getStaticKeyword_2()); 
@@ -20965,10 +21021,10 @@
                     }
                     break;
                 case 4 :
-                    // InternalReportDSL.g:5759:2: ( 'import' )
+                    // InternalReportDSL.g:5775:2: ( 'import' )
                     {
-                    // InternalReportDSL.g:5759:2: ( 'import' )
-                    // InternalReportDSL.g:5760:3: 'import'
+                    // InternalReportDSL.g:5775:2: ( 'import' )
+                    // InternalReportDSL.g:5776:3: 'import'
                     {
                     if ( state.backtracking==0 ) {
                        before(grammarAccess.getFeatureCallIDAccess().getImportKeyword_3()); 
@@ -20984,10 +21040,10 @@
                     }
                     break;
                 case 5 :
-                    // InternalReportDSL.g:5765:2: ( 'extension' )
+                    // InternalReportDSL.g:5781:2: ( 'extension' )
                     {
-                    // InternalReportDSL.g:5765:2: ( 'extension' )
-                    // InternalReportDSL.g:5766:3: 'extension'
+                    // InternalReportDSL.g:5781:2: ( 'extension' )
+                    // InternalReportDSL.g:5782:3: 'extension'
                     {
                     if ( state.backtracking==0 ) {
                        before(grammarAccess.getFeatureCallIDAccess().getExtensionKeyword_4()); 
@@ -21020,13 +21076,13 @@
 
 
     // $ANTLR start "rule__IdOrSuper__Alternatives"
-    // InternalReportDSL.g:5775:1: rule__IdOrSuper__Alternatives : ( ( ruleFeatureCallID ) | ( 'super' ) );
+    // InternalReportDSL.g:5791:1: rule__IdOrSuper__Alternatives : ( ( ruleFeatureCallID ) | ( 'super' ) );
     public final void rule__IdOrSuper__Alternatives() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:5779:1: ( ( ruleFeatureCallID ) | ( 'super' ) )
+            // InternalReportDSL.g:5795:1: ( ( ruleFeatureCallID ) | ( 'super' ) )
             int alt48=2;
             int LA48_0 = input.LA(1);
 
@@ -21045,10 +21101,10 @@
             }
             switch (alt48) {
                 case 1 :
-                    // InternalReportDSL.g:5780:2: ( ruleFeatureCallID )
+                    // InternalReportDSL.g:5796:2: ( ruleFeatureCallID )
                     {
-                    // InternalReportDSL.g:5780:2: ( ruleFeatureCallID )
-                    // InternalReportDSL.g:5781:3: ruleFeatureCallID
+                    // InternalReportDSL.g:5796:2: ( ruleFeatureCallID )
+                    // InternalReportDSL.g:5797:3: ruleFeatureCallID
                     {
                     if ( state.backtracking==0 ) {
                        before(grammarAccess.getIdOrSuperAccess().getFeatureCallIDParserRuleCall_0()); 
@@ -21068,10 +21124,10 @@
                     }
                     break;
                 case 2 :
-                    // InternalReportDSL.g:5786:2: ( 'super' )
+                    // InternalReportDSL.g:5802:2: ( 'super' )
                     {
-                    // InternalReportDSL.g:5786:2: ( 'super' )
-                    // InternalReportDSL.g:5787:3: 'super'
+                    // InternalReportDSL.g:5802:2: ( 'super' )
+                    // InternalReportDSL.g:5803:3: 'super'
                     {
                     if ( state.backtracking==0 ) {
                        before(grammarAccess.getIdOrSuperAccess().getSuperKeyword_1()); 
@@ -21104,27 +21160,27 @@
 
 
     // $ANTLR start "rule__XConstructorCall__Alternatives_4_1"
-    // InternalReportDSL.g:5796:1: rule__XConstructorCall__Alternatives_4_1 : ( ( ( rule__XConstructorCall__ArgumentsAssignment_4_1_0 ) ) | ( ( rule__XConstructorCall__Group_4_1_1__0 ) ) );
+    // InternalReportDSL.g:5812:1: rule__XConstructorCall__Alternatives_4_1 : ( ( ( rule__XConstructorCall__ArgumentsAssignment_4_1_0 ) ) | ( ( rule__XConstructorCall__Group_4_1_1__0 ) ) );
     public final void rule__XConstructorCall__Alternatives_4_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:5800:1: ( ( ( rule__XConstructorCall__ArgumentsAssignment_4_1_0 ) ) | ( ( rule__XConstructorCall__Group_4_1_1__0 ) ) )
+            // InternalReportDSL.g:5816:1: ( ( ( rule__XConstructorCall__ArgumentsAssignment_4_1_0 ) ) | ( ( rule__XConstructorCall__Group_4_1_1__0 ) ) )
             int alt49=2;
             alt49 = dfa49.predict(input);
             switch (alt49) {
                 case 1 :
-                    // InternalReportDSL.g:5801:2: ( ( rule__XConstructorCall__ArgumentsAssignment_4_1_0 ) )
+                    // InternalReportDSL.g:5817:2: ( ( rule__XConstructorCall__ArgumentsAssignment_4_1_0 ) )
                     {
-                    // InternalReportDSL.g:5801:2: ( ( rule__XConstructorCall__ArgumentsAssignment_4_1_0 ) )
-                    // InternalReportDSL.g:5802:3: ( rule__XConstructorCall__ArgumentsAssignment_4_1_0 )
+                    // InternalReportDSL.g:5817:2: ( ( rule__XConstructorCall__ArgumentsAssignment_4_1_0 ) )
+                    // InternalReportDSL.g:5818:3: ( rule__XConstructorCall__ArgumentsAssignment_4_1_0 )
                     {
                     if ( state.backtracking==0 ) {
                        before(grammarAccess.getXConstructorCallAccess().getArgumentsAssignment_4_1_0()); 
                     }
-                    // InternalReportDSL.g:5803:3: ( rule__XConstructorCall__ArgumentsAssignment_4_1_0 )
-                    // InternalReportDSL.g:5803:4: rule__XConstructorCall__ArgumentsAssignment_4_1_0
+                    // InternalReportDSL.g:5819:3: ( rule__XConstructorCall__ArgumentsAssignment_4_1_0 )
+                    // InternalReportDSL.g:5819:4: rule__XConstructorCall__ArgumentsAssignment_4_1_0
                     {
                     pushFollow(FOLLOW_2);
                     rule__XConstructorCall__ArgumentsAssignment_4_1_0();
@@ -21144,16 +21200,16 @@
                     }
                     break;
                 case 2 :
-                    // InternalReportDSL.g:5807:2: ( ( rule__XConstructorCall__Group_4_1_1__0 ) )
+                    // InternalReportDSL.g:5823:2: ( ( rule__XConstructorCall__Group_4_1_1__0 ) )
                     {
-                    // InternalReportDSL.g:5807:2: ( ( rule__XConstructorCall__Group_4_1_1__0 ) )
-                    // InternalReportDSL.g:5808:3: ( rule__XConstructorCall__Group_4_1_1__0 )
+                    // InternalReportDSL.g:5823:2: ( ( rule__XConstructorCall__Group_4_1_1__0 ) )
+                    // InternalReportDSL.g:5824:3: ( rule__XConstructorCall__Group_4_1_1__0 )
                     {
                     if ( state.backtracking==0 ) {
                        before(grammarAccess.getXConstructorCallAccess().getGroup_4_1_1()); 
                     }
-                    // InternalReportDSL.g:5809:3: ( rule__XConstructorCall__Group_4_1_1__0 )
-                    // InternalReportDSL.g:5809:4: rule__XConstructorCall__Group_4_1_1__0
+                    // InternalReportDSL.g:5825:3: ( rule__XConstructorCall__Group_4_1_1__0 )
+                    // InternalReportDSL.g:5825:4: rule__XConstructorCall__Group_4_1_1__0
                     {
                     pushFollow(FOLLOW_2);
                     rule__XConstructorCall__Group_4_1_1__0();
@@ -21190,20 +21246,20 @@
 
 
     // $ANTLR start "rule__XBooleanLiteral__Alternatives_1"
-    // InternalReportDSL.g:5817:1: rule__XBooleanLiteral__Alternatives_1 : ( ( 'false' ) | ( ( rule__XBooleanLiteral__IsTrueAssignment_1_1 ) ) );
+    // InternalReportDSL.g:5833:1: rule__XBooleanLiteral__Alternatives_1 : ( ( 'false' ) | ( ( rule__XBooleanLiteral__IsTrueAssignment_1_1 ) ) );
     public final void rule__XBooleanLiteral__Alternatives_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:5821:1: ( ( 'false' ) | ( ( rule__XBooleanLiteral__IsTrueAssignment_1_1 ) ) )
+            // InternalReportDSL.g:5837:1: ( ( 'false' ) | ( ( rule__XBooleanLiteral__IsTrueAssignment_1_1 ) ) )
             int alt50=2;
             int LA50_0 = input.LA(1);
 
             if ( (LA50_0==54) ) {
                 alt50=1;
             }
-            else if ( (LA50_0==266) ) {
+            else if ( (LA50_0==271) ) {
                 alt50=2;
             }
             else {
@@ -21215,10 +21271,10 @@
             }
             switch (alt50) {
                 case 1 :
-                    // InternalReportDSL.g:5822:2: ( 'false' )
+                    // InternalReportDSL.g:5838:2: ( 'false' )
                     {
-                    // InternalReportDSL.g:5822:2: ( 'false' )
-                    // InternalReportDSL.g:5823:3: 'false'
+                    // InternalReportDSL.g:5838:2: ( 'false' )
+                    // InternalReportDSL.g:5839:3: 'false'
                     {
                     if ( state.backtracking==0 ) {
                        before(grammarAccess.getXBooleanLiteralAccess().getFalseKeyword_1_0()); 
@@ -21234,16 +21290,16 @@
                     }
                     break;
                 case 2 :
-                    // InternalReportDSL.g:5828:2: ( ( rule__XBooleanLiteral__IsTrueAssignment_1_1 ) )
+                    // InternalReportDSL.g:5844:2: ( ( rule__XBooleanLiteral__IsTrueAssignment_1_1 ) )
                     {
-                    // InternalReportDSL.g:5828:2: ( ( rule__XBooleanLiteral__IsTrueAssignment_1_1 ) )
-                    // InternalReportDSL.g:5829:3: ( rule__XBooleanLiteral__IsTrueAssignment_1_1 )
+                    // InternalReportDSL.g:5844:2: ( ( rule__XBooleanLiteral__IsTrueAssignment_1_1 ) )
+                    // InternalReportDSL.g:5845:3: ( rule__XBooleanLiteral__IsTrueAssignment_1_1 )
                     {
                     if ( state.backtracking==0 ) {
                        before(grammarAccess.getXBooleanLiteralAccess().getIsTrueAssignment_1_1()); 
                     }
-                    // InternalReportDSL.g:5830:3: ( rule__XBooleanLiteral__IsTrueAssignment_1_1 )
-                    // InternalReportDSL.g:5830:4: rule__XBooleanLiteral__IsTrueAssignment_1_1
+                    // InternalReportDSL.g:5846:3: ( rule__XBooleanLiteral__IsTrueAssignment_1_1 )
+                    // InternalReportDSL.g:5846:4: rule__XBooleanLiteral__IsTrueAssignment_1_1
                     {
                     pushFollow(FOLLOW_2);
                     rule__XBooleanLiteral__IsTrueAssignment_1_1();
@@ -21280,20 +21336,20 @@
 
 
     // $ANTLR start "rule__XTryCatchFinallyExpression__Alternatives_3"
-    // InternalReportDSL.g:5838:1: rule__XTryCatchFinallyExpression__Alternatives_3 : ( ( ( rule__XTryCatchFinallyExpression__Group_3_0__0 ) ) | ( ( rule__XTryCatchFinallyExpression__Group_3_1__0 ) ) );
+    // InternalReportDSL.g:5854:1: rule__XTryCatchFinallyExpression__Alternatives_3 : ( ( ( rule__XTryCatchFinallyExpression__Group_3_0__0 ) ) | ( ( rule__XTryCatchFinallyExpression__Group_3_1__0 ) ) );
     public final void rule__XTryCatchFinallyExpression__Alternatives_3() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:5842:1: ( ( ( rule__XTryCatchFinallyExpression__Group_3_0__0 ) ) | ( ( rule__XTryCatchFinallyExpression__Group_3_1__0 ) ) )
+            // InternalReportDSL.g:5858:1: ( ( ( rule__XTryCatchFinallyExpression__Group_3_0__0 ) ) | ( ( rule__XTryCatchFinallyExpression__Group_3_1__0 ) ) )
             int alt51=2;
             int LA51_0 = input.LA(1);
 
-            if ( (LA51_0==250) ) {
+            if ( (LA51_0==257) ) {
                 alt51=1;
             }
-            else if ( (LA51_0==248) ) {
+            else if ( (LA51_0==255) ) {
                 alt51=2;
             }
             else {
@@ -21305,16 +21361,16 @@
             }
             switch (alt51) {
                 case 1 :
-                    // InternalReportDSL.g:5843:2: ( ( rule__XTryCatchFinallyExpression__Group_3_0__0 ) )
+                    // InternalReportDSL.g:5859:2: ( ( rule__XTryCatchFinallyExpression__Group_3_0__0 ) )
                     {
-                    // InternalReportDSL.g:5843:2: ( ( rule__XTryCatchFinallyExpression__Group_3_0__0 ) )
-                    // InternalReportDSL.g:5844:3: ( rule__XTryCatchFinallyExpression__Group_3_0__0 )
+                    // InternalReportDSL.g:5859:2: ( ( rule__XTryCatchFinallyExpression__Group_3_0__0 ) )
+                    // InternalReportDSL.g:5860:3: ( rule__XTryCatchFinallyExpression__Group_3_0__0 )
                     {
                     if ( state.backtracking==0 ) {
                        before(grammarAccess.getXTryCatchFinallyExpressionAccess().getGroup_3_0()); 
                     }
-                    // InternalReportDSL.g:5845:3: ( rule__XTryCatchFinallyExpression__Group_3_0__0 )
-                    // InternalReportDSL.g:5845:4: rule__XTryCatchFinallyExpression__Group_3_0__0
+                    // InternalReportDSL.g:5861:3: ( rule__XTryCatchFinallyExpression__Group_3_0__0 )
+                    // InternalReportDSL.g:5861:4: rule__XTryCatchFinallyExpression__Group_3_0__0
                     {
                     pushFollow(FOLLOW_2);
                     rule__XTryCatchFinallyExpression__Group_3_0__0();
@@ -21334,16 +21390,16 @@
                     }
                     break;
                 case 2 :
-                    // InternalReportDSL.g:5849:2: ( ( rule__XTryCatchFinallyExpression__Group_3_1__0 ) )
+                    // InternalReportDSL.g:5865:2: ( ( rule__XTryCatchFinallyExpression__Group_3_1__0 ) )
                     {
-                    // InternalReportDSL.g:5849:2: ( ( rule__XTryCatchFinallyExpression__Group_3_1__0 ) )
-                    // InternalReportDSL.g:5850:3: ( rule__XTryCatchFinallyExpression__Group_3_1__0 )
+                    // InternalReportDSL.g:5865:2: ( ( rule__XTryCatchFinallyExpression__Group_3_1__0 ) )
+                    // InternalReportDSL.g:5866:3: ( rule__XTryCatchFinallyExpression__Group_3_1__0 )
                     {
                     if ( state.backtracking==0 ) {
                        before(grammarAccess.getXTryCatchFinallyExpressionAccess().getGroup_3_1()); 
                     }
-                    // InternalReportDSL.g:5851:3: ( rule__XTryCatchFinallyExpression__Group_3_1__0 )
-                    // InternalReportDSL.g:5851:4: rule__XTryCatchFinallyExpression__Group_3_1__0
+                    // InternalReportDSL.g:5867:3: ( rule__XTryCatchFinallyExpression__Group_3_1__0 )
+                    // InternalReportDSL.g:5867:4: rule__XTryCatchFinallyExpression__Group_3_1__0
                     {
                     pushFollow(FOLLOW_2);
                     rule__XTryCatchFinallyExpression__Group_3_1__0();
@@ -21380,13 +21436,13 @@
 
 
     // $ANTLR start "rule__Number__Alternatives"
-    // InternalReportDSL.g:5859:1: rule__Number__Alternatives : ( ( RULE_HEX ) | ( ( rule__Number__Group_1__0 ) ) );
+    // InternalReportDSL.g:5875:1: rule__Number__Alternatives : ( ( RULE_HEX ) | ( ( rule__Number__Group_1__0 ) ) );
     public final void rule__Number__Alternatives() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:5863:1: ( ( RULE_HEX ) | ( ( rule__Number__Group_1__0 ) ) )
+            // InternalReportDSL.g:5879:1: ( ( RULE_HEX ) | ( ( rule__Number__Group_1__0 ) ) )
             int alt52=2;
             int LA52_0 = input.LA(1);
 
@@ -21405,10 +21461,10 @@
             }
             switch (alt52) {
                 case 1 :
-                    // InternalReportDSL.g:5864:2: ( RULE_HEX )
+                    // InternalReportDSL.g:5880:2: ( RULE_HEX )
                     {
-                    // InternalReportDSL.g:5864:2: ( RULE_HEX )
-                    // InternalReportDSL.g:5865:3: RULE_HEX
+                    // InternalReportDSL.g:5880:2: ( RULE_HEX )
+                    // InternalReportDSL.g:5881:3: RULE_HEX
                     {
                     if ( state.backtracking==0 ) {
                        before(grammarAccess.getNumberAccess().getHEXTerminalRuleCall_0()); 
@@ -21424,16 +21480,16 @@
                     }
                     break;
                 case 2 :
-                    // InternalReportDSL.g:5870:2: ( ( rule__Number__Group_1__0 ) )
+                    // InternalReportDSL.g:5886:2: ( ( rule__Number__Group_1__0 ) )
                     {
-                    // InternalReportDSL.g:5870:2: ( ( rule__Number__Group_1__0 ) )
-                    // InternalReportDSL.g:5871:3: ( rule__Number__Group_1__0 )
+                    // InternalReportDSL.g:5886:2: ( ( rule__Number__Group_1__0 ) )
+                    // InternalReportDSL.g:5887:3: ( rule__Number__Group_1__0 )
                     {
                     if ( state.backtracking==0 ) {
                        before(grammarAccess.getNumberAccess().getGroup_1()); 
                     }
-                    // InternalReportDSL.g:5872:3: ( rule__Number__Group_1__0 )
-                    // InternalReportDSL.g:5872:4: rule__Number__Group_1__0
+                    // InternalReportDSL.g:5888:3: ( rule__Number__Group_1__0 )
+                    // InternalReportDSL.g:5888:4: rule__Number__Group_1__0
                     {
                     pushFollow(FOLLOW_2);
                     rule__Number__Group_1__0();
@@ -21470,13 +21526,13 @@
 
 
     // $ANTLR start "rule__Number__Alternatives_1_0"
-    // InternalReportDSL.g:5880:1: rule__Number__Alternatives_1_0 : ( ( RULE_INT ) | ( RULE_DECIMAL ) );
+    // InternalReportDSL.g:5896:1: rule__Number__Alternatives_1_0 : ( ( RULE_INT ) | ( RULE_DECIMAL ) );
     public final void rule__Number__Alternatives_1_0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:5884:1: ( ( RULE_INT ) | ( RULE_DECIMAL ) )
+            // InternalReportDSL.g:5900:1: ( ( RULE_INT ) | ( RULE_DECIMAL ) )
             int alt53=2;
             int LA53_0 = input.LA(1);
 
@@ -21495,10 +21551,10 @@
             }
             switch (alt53) {
                 case 1 :
-                    // InternalReportDSL.g:5885:2: ( RULE_INT )
+                    // InternalReportDSL.g:5901:2: ( RULE_INT )
                     {
-                    // InternalReportDSL.g:5885:2: ( RULE_INT )
-                    // InternalReportDSL.g:5886:3: RULE_INT
+                    // InternalReportDSL.g:5901:2: ( RULE_INT )
+                    // InternalReportDSL.g:5902:3: RULE_INT
                     {
                     if ( state.backtracking==0 ) {
                        before(grammarAccess.getNumberAccess().getINTTerminalRuleCall_1_0_0()); 
@@ -21514,10 +21570,10 @@
                     }
                     break;
                 case 2 :
-                    // InternalReportDSL.g:5891:2: ( RULE_DECIMAL )
+                    // InternalReportDSL.g:5907:2: ( RULE_DECIMAL )
                     {
-                    // InternalReportDSL.g:5891:2: ( RULE_DECIMAL )
-                    // InternalReportDSL.g:5892:3: RULE_DECIMAL
+                    // InternalReportDSL.g:5907:2: ( RULE_DECIMAL )
+                    // InternalReportDSL.g:5908:3: RULE_DECIMAL
                     {
                     if ( state.backtracking==0 ) {
                        before(grammarAccess.getNumberAccess().getDECIMALTerminalRuleCall_1_0_1()); 
@@ -21550,13 +21606,13 @@
 
 
     // $ANTLR start "rule__Number__Alternatives_1_1_1"
-    // InternalReportDSL.g:5901:1: rule__Number__Alternatives_1_1_1 : ( ( RULE_INT ) | ( RULE_DECIMAL ) );
+    // InternalReportDSL.g:5917:1: rule__Number__Alternatives_1_1_1 : ( ( RULE_INT ) | ( RULE_DECIMAL ) );
     public final void rule__Number__Alternatives_1_1_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:5905:1: ( ( RULE_INT ) | ( RULE_DECIMAL ) )
+            // InternalReportDSL.g:5921:1: ( ( RULE_INT ) | ( RULE_DECIMAL ) )
             int alt54=2;
             int LA54_0 = input.LA(1);
 
@@ -21575,10 +21631,10 @@
             }
             switch (alt54) {
                 case 1 :
-                    // InternalReportDSL.g:5906:2: ( RULE_INT )
+                    // InternalReportDSL.g:5922:2: ( RULE_INT )
                     {
-                    // InternalReportDSL.g:5906:2: ( RULE_INT )
-                    // InternalReportDSL.g:5907:3: RULE_INT
+                    // InternalReportDSL.g:5922:2: ( RULE_INT )
+                    // InternalReportDSL.g:5923:3: RULE_INT
                     {
                     if ( state.backtracking==0 ) {
                        before(grammarAccess.getNumberAccess().getINTTerminalRuleCall_1_1_1_0()); 
@@ -21594,10 +21650,10 @@
                     }
                     break;
                 case 2 :
-                    // InternalReportDSL.g:5912:2: ( RULE_DECIMAL )
+                    // InternalReportDSL.g:5928:2: ( RULE_DECIMAL )
                     {
-                    // InternalReportDSL.g:5912:2: ( RULE_DECIMAL )
-                    // InternalReportDSL.g:5913:3: RULE_DECIMAL
+                    // InternalReportDSL.g:5928:2: ( RULE_DECIMAL )
+                    // InternalReportDSL.g:5929:3: RULE_DECIMAL
                     {
                     if ( state.backtracking==0 ) {
                        before(grammarAccess.getNumberAccess().getDECIMALTerminalRuleCall_1_1_1_1()); 
@@ -21630,20 +21686,20 @@
 
 
     // $ANTLR start "rule__JvmTypeReference__Alternatives"
-    // InternalReportDSL.g:5922:1: rule__JvmTypeReference__Alternatives : ( ( ( rule__JvmTypeReference__Group_0__0 ) ) | ( ruleXFunctionTypeRef ) );
+    // InternalReportDSL.g:5938:1: rule__JvmTypeReference__Alternatives : ( ( ( rule__JvmTypeReference__Group_0__0 ) ) | ( ruleXFunctionTypeRef ) );
     public final void rule__JvmTypeReference__Alternatives() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:5926:1: ( ( ( rule__JvmTypeReference__Group_0__0 ) ) | ( ruleXFunctionTypeRef ) )
+            // InternalReportDSL.g:5942:1: ( ( ( rule__JvmTypeReference__Group_0__0 ) ) | ( ruleXFunctionTypeRef ) )
             int alt55=2;
             int LA55_0 = input.LA(1);
 
             if ( (LA55_0==RULE_ID) ) {
                 alt55=1;
             }
-            else if ( (LA55_0==35||LA55_0==204) ) {
+            else if ( (LA55_0==35||LA55_0==211) ) {
                 alt55=2;
             }
             else {
@@ -21655,16 +21711,16 @@
             }
             switch (alt55) {
                 case 1 :
-                    // InternalReportDSL.g:5927:2: ( ( rule__JvmTypeReference__Group_0__0 ) )
+                    // InternalReportDSL.g:5943:2: ( ( rule__JvmTypeReference__Group_0__0 ) )
                     {
-                    // InternalReportDSL.g:5927:2: ( ( rule__JvmTypeReference__Group_0__0 ) )
-                    // InternalReportDSL.g:5928:3: ( rule__JvmTypeReference__Group_0__0 )
+                    // InternalReportDSL.g:5943:2: ( ( rule__JvmTypeReference__Group_0__0 ) )
+                    // InternalReportDSL.g:5944:3: ( rule__JvmTypeReference__Group_0__0 )
                     {
                     if ( state.backtracking==0 ) {
                        before(grammarAccess.getJvmTypeReferenceAccess().getGroup_0()); 
                     }
-                    // InternalReportDSL.g:5929:3: ( rule__JvmTypeReference__Group_0__0 )
-                    // InternalReportDSL.g:5929:4: rule__JvmTypeReference__Group_0__0
+                    // InternalReportDSL.g:5945:3: ( rule__JvmTypeReference__Group_0__0 )
+                    // InternalReportDSL.g:5945:4: rule__JvmTypeReference__Group_0__0
                     {
                     pushFollow(FOLLOW_2);
                     rule__JvmTypeReference__Group_0__0();
@@ -21684,10 +21740,10 @@
                     }
                     break;
                 case 2 :
-                    // InternalReportDSL.g:5933:2: ( ruleXFunctionTypeRef )
+                    // InternalReportDSL.g:5949:2: ( ruleXFunctionTypeRef )
                     {
-                    // InternalReportDSL.g:5933:2: ( ruleXFunctionTypeRef )
-                    // InternalReportDSL.g:5934:3: ruleXFunctionTypeRef
+                    // InternalReportDSL.g:5949:2: ( ruleXFunctionTypeRef )
+                    // InternalReportDSL.g:5950:3: ruleXFunctionTypeRef
                     {
                     if ( state.backtracking==0 ) {
                        before(grammarAccess.getJvmTypeReferenceAccess().getXFunctionTypeRefParserRuleCall_1()); 
@@ -21724,20 +21780,20 @@
 
 
     // $ANTLR start "rule__JvmArgumentTypeReference__Alternatives"
-    // InternalReportDSL.g:5943:1: rule__JvmArgumentTypeReference__Alternatives : ( ( ruleJvmTypeReference ) | ( ruleJvmWildcardTypeReference ) );
+    // InternalReportDSL.g:5959:1: rule__JvmArgumentTypeReference__Alternatives : ( ( ruleJvmTypeReference ) | ( ruleJvmWildcardTypeReference ) );
     public final void rule__JvmArgumentTypeReference__Alternatives() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:5947:1: ( ( ruleJvmTypeReference ) | ( ruleJvmWildcardTypeReference ) )
+            // InternalReportDSL.g:5963:1: ( ( ruleJvmTypeReference ) | ( ruleJvmWildcardTypeReference ) )
             int alt56=2;
             int LA56_0 = input.LA(1);
 
-            if ( (LA56_0==RULE_ID||LA56_0==35||LA56_0==204) ) {
+            if ( (LA56_0==RULE_ID||LA56_0==35||LA56_0==211) ) {
                 alt56=1;
             }
-            else if ( (LA56_0==251) ) {
+            else if ( (LA56_0==258) ) {
                 alt56=2;
             }
             else {
@@ -21749,10 +21805,10 @@
             }
             switch (alt56) {
                 case 1 :
-                    // InternalReportDSL.g:5948:2: ( ruleJvmTypeReference )
+                    // InternalReportDSL.g:5964:2: ( ruleJvmTypeReference )
                     {
-                    // InternalReportDSL.g:5948:2: ( ruleJvmTypeReference )
-                    // InternalReportDSL.g:5949:3: ruleJvmTypeReference
+                    // InternalReportDSL.g:5964:2: ( ruleJvmTypeReference )
+                    // InternalReportDSL.g:5965:3: ruleJvmTypeReference
                     {
                     if ( state.backtracking==0 ) {
                        before(grammarAccess.getJvmArgumentTypeReferenceAccess().getJvmTypeReferenceParserRuleCall_0()); 
@@ -21772,10 +21828,10 @@
                     }
                     break;
                 case 2 :
-                    // InternalReportDSL.g:5954:2: ( ruleJvmWildcardTypeReference )
+                    // InternalReportDSL.g:5970:2: ( ruleJvmWildcardTypeReference )
                     {
-                    // InternalReportDSL.g:5954:2: ( ruleJvmWildcardTypeReference )
-                    // InternalReportDSL.g:5955:3: ruleJvmWildcardTypeReference
+                    // InternalReportDSL.g:5970:2: ( ruleJvmWildcardTypeReference )
+                    // InternalReportDSL.g:5971:3: ruleJvmWildcardTypeReference
                     {
                     if ( state.backtracking==0 ) {
                        before(grammarAccess.getJvmArgumentTypeReferenceAccess().getJvmWildcardTypeReferenceParserRuleCall_1()); 
@@ -21812,13 +21868,13 @@
 
 
     // $ANTLR start "rule__JvmWildcardTypeReference__Alternatives_2"
-    // InternalReportDSL.g:5964:1: rule__JvmWildcardTypeReference__Alternatives_2 : ( ( ( rule__JvmWildcardTypeReference__Group_2_0__0 ) ) | ( ( rule__JvmWildcardTypeReference__Group_2_1__0 ) ) );
+    // InternalReportDSL.g:5980:1: rule__JvmWildcardTypeReference__Alternatives_2 : ( ( ( rule__JvmWildcardTypeReference__Group_2_0__0 ) ) | ( ( rule__JvmWildcardTypeReference__Group_2_1__0 ) ) );
     public final void rule__JvmWildcardTypeReference__Alternatives_2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:5968:1: ( ( ( rule__JvmWildcardTypeReference__Group_2_0__0 ) ) | ( ( rule__JvmWildcardTypeReference__Group_2_1__0 ) ) )
+            // InternalReportDSL.g:5984:1: ( ( ( rule__JvmWildcardTypeReference__Group_2_0__0 ) ) | ( ( rule__JvmWildcardTypeReference__Group_2_1__0 ) ) )
             int alt57=2;
             int LA57_0 = input.LA(1);
 
@@ -21837,16 +21893,16 @@
             }
             switch (alt57) {
                 case 1 :
-                    // InternalReportDSL.g:5969:2: ( ( rule__JvmWildcardTypeReference__Group_2_0__0 ) )
+                    // InternalReportDSL.g:5985:2: ( ( rule__JvmWildcardTypeReference__Group_2_0__0 ) )
                     {
-                    // InternalReportDSL.g:5969:2: ( ( rule__JvmWildcardTypeReference__Group_2_0__0 ) )
-                    // InternalReportDSL.g:5970:3: ( rule__JvmWildcardTypeReference__Group_2_0__0 )
+                    // InternalReportDSL.g:5985:2: ( ( rule__JvmWildcardTypeReference__Group_2_0__0 ) )
+                    // InternalReportDSL.g:5986:3: ( rule__JvmWildcardTypeReference__Group_2_0__0 )
                     {
                     if ( state.backtracking==0 ) {
                        before(grammarAccess.getJvmWildcardTypeReferenceAccess().getGroup_2_0()); 
                     }
-                    // InternalReportDSL.g:5971:3: ( rule__JvmWildcardTypeReference__Group_2_0__0 )
-                    // InternalReportDSL.g:5971:4: rule__JvmWildcardTypeReference__Group_2_0__0
+                    // InternalReportDSL.g:5987:3: ( rule__JvmWildcardTypeReference__Group_2_0__0 )
+                    // InternalReportDSL.g:5987:4: rule__JvmWildcardTypeReference__Group_2_0__0
                     {
                     pushFollow(FOLLOW_2);
                     rule__JvmWildcardTypeReference__Group_2_0__0();
@@ -21866,16 +21922,16 @@
                     }
                     break;
                 case 2 :
-                    // InternalReportDSL.g:5975:2: ( ( rule__JvmWildcardTypeReference__Group_2_1__0 ) )
+                    // InternalReportDSL.g:5991:2: ( ( rule__JvmWildcardTypeReference__Group_2_1__0 ) )
                     {
-                    // InternalReportDSL.g:5975:2: ( ( rule__JvmWildcardTypeReference__Group_2_1__0 ) )
-                    // InternalReportDSL.g:5976:3: ( rule__JvmWildcardTypeReference__Group_2_1__0 )
+                    // InternalReportDSL.g:5991:2: ( ( rule__JvmWildcardTypeReference__Group_2_1__0 ) )
+                    // InternalReportDSL.g:5992:3: ( rule__JvmWildcardTypeReference__Group_2_1__0 )
                     {
                     if ( state.backtracking==0 ) {
                        before(grammarAccess.getJvmWildcardTypeReferenceAccess().getGroup_2_1()); 
                     }
-                    // InternalReportDSL.g:5977:3: ( rule__JvmWildcardTypeReference__Group_2_1__0 )
-                    // InternalReportDSL.g:5977:4: rule__JvmWildcardTypeReference__Group_2_1__0
+                    // InternalReportDSL.g:5993:3: ( rule__JvmWildcardTypeReference__Group_2_1__0 )
+                    // InternalReportDSL.g:5993:4: rule__JvmWildcardTypeReference__Group_2_1__0
                     {
                     pushFollow(FOLLOW_2);
                     rule__JvmWildcardTypeReference__Group_2_1__0();
@@ -21912,13 +21968,13 @@
 
 
     // $ANTLR start "rule__UnitEnum__Alternatives"
-    // InternalReportDSL.g:5985:1: rule__UnitEnum__Alternatives : ( ( ( 'mm' ) ) | ( ( 'cm' ) ) | ( ( 'pt' ) ) | ( ( 'inch' ) ) | ( ( 'pc' ) ) | ( ( 'em' ) ) | ( ( 'ex' ) ) | ( ( 'px' ) ) | ( ( '%' ) ) );
+    // InternalReportDSL.g:6001:1: rule__UnitEnum__Alternatives : ( ( ( 'mm' ) ) | ( ( 'cm' ) ) | ( ( 'pt' ) ) | ( ( 'inch' ) ) | ( ( 'pc' ) ) | ( ( 'em' ) ) | ( ( 'ex' ) ) | ( ( 'px' ) ) | ( ( '%' ) ) );
     public final void rule__UnitEnum__Alternatives() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:5989:1: ( ( ( 'mm' ) ) | ( ( 'cm' ) ) | ( ( 'pt' ) ) | ( ( 'inch' ) ) | ( ( 'pc' ) ) | ( ( 'em' ) ) | ( ( 'ex' ) ) | ( ( 'px' ) ) | ( ( '%' ) ) )
+            // InternalReportDSL.g:6005:1: ( ( ( 'mm' ) ) | ( ( 'cm' ) ) | ( ( 'pt' ) ) | ( ( 'inch' ) ) | ( ( 'pc' ) ) | ( ( 'em' ) ) | ( ( 'ex' ) ) | ( ( 'px' ) ) | ( ( '%' ) ) )
             int alt58=9;
             switch ( input.LA(1) ) {
             case 55:
@@ -21976,16 +22032,16 @@
 
             switch (alt58) {
                 case 1 :
-                    // InternalReportDSL.g:5990:2: ( ( 'mm' ) )
+                    // InternalReportDSL.g:6006:2: ( ( 'mm' ) )
                     {
-                    // InternalReportDSL.g:5990:2: ( ( 'mm' ) )
-                    // InternalReportDSL.g:5991:3: ( 'mm' )
+                    // InternalReportDSL.g:6006:2: ( ( 'mm' ) )
+                    // InternalReportDSL.g:6007:3: ( 'mm' )
                     {
                     if ( state.backtracking==0 ) {
                        before(grammarAccess.getUnitEnumAccess().getMMEnumLiteralDeclaration_0()); 
                     }
-                    // InternalReportDSL.g:5992:3: ( 'mm' )
-                    // InternalReportDSL.g:5992:4: 'mm'
+                    // InternalReportDSL.g:6008:3: ( 'mm' )
+                    // InternalReportDSL.g:6008:4: 'mm'
                     {
                     match(input,55,FOLLOW_2); if (state.failed) return ;
 
@@ -22001,16 +22057,16 @@
                     }
                     break;
                 case 2 :
-                    // InternalReportDSL.g:5996:2: ( ( 'cm' ) )
+                    // InternalReportDSL.g:6012:2: ( ( 'cm' ) )
                     {
-                    // InternalReportDSL.g:5996:2: ( ( 'cm' ) )
-                    // InternalReportDSL.g:5997:3: ( 'cm' )
+                    // InternalReportDSL.g:6012:2: ( ( 'cm' ) )
+                    // InternalReportDSL.g:6013:3: ( 'cm' )
                     {
                     if ( state.backtracking==0 ) {
                        before(grammarAccess.getUnitEnumAccess().getCMEnumLiteralDeclaration_1()); 
                     }
-                    // InternalReportDSL.g:5998:3: ( 'cm' )
-                    // InternalReportDSL.g:5998:4: 'cm'
+                    // InternalReportDSL.g:6014:3: ( 'cm' )
+                    // InternalReportDSL.g:6014:4: 'cm'
                     {
                     match(input,56,FOLLOW_2); if (state.failed) return ;
 
@@ -22026,16 +22082,16 @@
                     }
                     break;
                 case 3 :
-                    // InternalReportDSL.g:6002:2: ( ( 'pt' ) )
+                    // InternalReportDSL.g:6018:2: ( ( 'pt' ) )
                     {
-                    // InternalReportDSL.g:6002:2: ( ( 'pt' ) )
-                    // InternalReportDSL.g:6003:3: ( 'pt' )
+                    // InternalReportDSL.g:6018:2: ( ( 'pt' ) )
+                    // InternalReportDSL.g:6019:3: ( 'pt' )
                     {
                     if ( state.backtracking==0 ) {
                        before(grammarAccess.getUnitEnumAccess().getPTEnumLiteralDeclaration_2()); 
                     }
-                    // InternalReportDSL.g:6004:3: ( 'pt' )
-                    // InternalReportDSL.g:6004:4: 'pt'
+                    // InternalReportDSL.g:6020:3: ( 'pt' )
+                    // InternalReportDSL.g:6020:4: 'pt'
                     {
                     match(input,57,FOLLOW_2); if (state.failed) return ;
 
@@ -22051,16 +22107,16 @@
                     }
                     break;
                 case 4 :
-                    // InternalReportDSL.g:6008:2: ( ( 'inch' ) )
+                    // InternalReportDSL.g:6024:2: ( ( 'inch' ) )
                     {
-                    // InternalReportDSL.g:6008:2: ( ( 'inch' ) )
-                    // InternalReportDSL.g:6009:3: ( 'inch' )
+                    // InternalReportDSL.g:6024:2: ( ( 'inch' ) )
+                    // InternalReportDSL.g:6025:3: ( 'inch' )
                     {
                     if ( state.backtracking==0 ) {
                        before(grammarAccess.getUnitEnumAccess().getINEnumLiteralDeclaration_3()); 
                     }
-                    // InternalReportDSL.g:6010:3: ( 'inch' )
-                    // InternalReportDSL.g:6010:4: 'inch'
+                    // InternalReportDSL.g:6026:3: ( 'inch' )
+                    // InternalReportDSL.g:6026:4: 'inch'
                     {
                     match(input,58,FOLLOW_2); if (state.failed) return ;
 
@@ -22076,16 +22132,16 @@
                     }
                     break;
                 case 5 :
-                    // InternalReportDSL.g:6014:2: ( ( 'pc' ) )
+                    // InternalReportDSL.g:6030:2: ( ( 'pc' ) )
                     {
-                    // InternalReportDSL.g:6014:2: ( ( 'pc' ) )
-                    // InternalReportDSL.g:6015:3: ( 'pc' )
+                    // InternalReportDSL.g:6030:2: ( ( 'pc' ) )
+                    // InternalReportDSL.g:6031:3: ( 'pc' )
                     {
                     if ( state.backtracking==0 ) {
                        before(grammarAccess.getUnitEnumAccess().getPCEnumLiteralDeclaration_4()); 
                     }
-                    // InternalReportDSL.g:6016:3: ( 'pc' )
-                    // InternalReportDSL.g:6016:4: 'pc'
+                    // InternalReportDSL.g:6032:3: ( 'pc' )
+                    // InternalReportDSL.g:6032:4: 'pc'
                     {
                     match(input,59,FOLLOW_2); if (state.failed) return ;
 
@@ -22101,16 +22157,16 @@
                     }
                     break;
                 case 6 :
-                    // InternalReportDSL.g:6020:2: ( ( 'em' ) )
+                    // InternalReportDSL.g:6036:2: ( ( 'em' ) )
                     {
-                    // InternalReportDSL.g:6020:2: ( ( 'em' ) )
-                    // InternalReportDSL.g:6021:3: ( 'em' )
+                    // InternalReportDSL.g:6036:2: ( ( 'em' ) )
+                    // InternalReportDSL.g:6037:3: ( 'em' )
                     {
                     if ( state.backtracking==0 ) {
                        before(grammarAccess.getUnitEnumAccess().getEMEnumLiteralDeclaration_5()); 
                     }
-                    // InternalReportDSL.g:6022:3: ( 'em' )
-                    // InternalReportDSL.g:6022:4: 'em'
+                    // InternalReportDSL.g:6038:3: ( 'em' )
+                    // InternalReportDSL.g:6038:4: 'em'
                     {
                     match(input,60,FOLLOW_2); if (state.failed) return ;
 
@@ -22126,16 +22182,16 @@
                     }
                     break;
                 case 7 :
-                    // InternalReportDSL.g:6026:2: ( ( 'ex' ) )
+                    // InternalReportDSL.g:6042:2: ( ( 'ex' ) )
                     {
-                    // InternalReportDSL.g:6026:2: ( ( 'ex' ) )
-                    // InternalReportDSL.g:6027:3: ( 'ex' )
+                    // InternalReportDSL.g:6042:2: ( ( 'ex' ) )
+                    // InternalReportDSL.g:6043:3: ( 'ex' )
                     {
                     if ( state.backtracking==0 ) {
                        before(grammarAccess.getUnitEnumAccess().getEXEnumLiteralDeclaration_6()); 
                     }
-                    // InternalReportDSL.g:6028:3: ( 'ex' )
-                    // InternalReportDSL.g:6028:4: 'ex'
+                    // InternalReportDSL.g:6044:3: ( 'ex' )
+                    // InternalReportDSL.g:6044:4: 'ex'
                     {
                     match(input,61,FOLLOW_2); if (state.failed) return ;
 
@@ -22151,16 +22207,16 @@
                     }
                     break;
                 case 8 :
-                    // InternalReportDSL.g:6032:2: ( ( 'px' ) )
+                    // InternalReportDSL.g:6048:2: ( ( 'px' ) )
                     {
-                    // InternalReportDSL.g:6032:2: ( ( 'px' ) )
-                    // InternalReportDSL.g:6033:3: ( 'px' )
+                    // InternalReportDSL.g:6048:2: ( ( 'px' ) )
+                    // InternalReportDSL.g:6049:3: ( 'px' )
                     {
                     if ( state.backtracking==0 ) {
                        before(grammarAccess.getUnitEnumAccess().getPXEnumLiteralDeclaration_7()); 
                     }
-                    // InternalReportDSL.g:6034:3: ( 'px' )
-                    // InternalReportDSL.g:6034:4: 'px'
+                    // InternalReportDSL.g:6050:3: ( 'px' )
+                    // InternalReportDSL.g:6050:4: 'px'
                     {
                     match(input,62,FOLLOW_2); if (state.failed) return ;
 
@@ -22176,16 +22232,16 @@
                     }
                     break;
                 case 9 :
-                    // InternalReportDSL.g:6038:2: ( ( '%' ) )
+                    // InternalReportDSL.g:6054:2: ( ( '%' ) )
                     {
-                    // InternalReportDSL.g:6038:2: ( ( '%' ) )
-                    // InternalReportDSL.g:6039:3: ( '%' )
+                    // InternalReportDSL.g:6054:2: ( ( '%' ) )
+                    // InternalReportDSL.g:6055:3: ( '%' )
                     {
                     if ( state.backtracking==0 ) {
                        before(grammarAccess.getUnitEnumAccess().getPERCENTAGEEnumLiteralDeclaration_8()); 
                     }
-                    // InternalReportDSL.g:6040:3: ( '%' )
-                    // InternalReportDSL.g:6040:4: '%'
+                    // InternalReportDSL.g:6056:3: ( '%' )
+                    // InternalReportDSL.g:6056:4: '%'
                     {
                     match(input,43,FOLLOW_2); if (state.failed) return ;
 
@@ -22218,13 +22274,13 @@
 
 
     // $ANTLR start "rule__PageSizeEnum__Alternatives"
-    // InternalReportDSL.g:6048:1: rule__PageSizeEnum__Alternatives : ( ( ( 'a4' ) ) | ( ( 'a3' ) ) | ( ( 'a5' ) ) | ( ( 'us-letter' ) ) | ( ( 'us-legal' ) ) | ( ( 'us-ledger' ) ) | ( ( 'us-super-b' ) ) );
+    // InternalReportDSL.g:6064:1: rule__PageSizeEnum__Alternatives : ( ( ( 'a4' ) ) | ( ( 'a3' ) ) | ( ( 'a5' ) ) | ( ( 'us-letter' ) ) | ( ( 'us-legal' ) ) | ( ( 'us-ledger' ) ) | ( ( 'us-super-b' ) ) );
     public final void rule__PageSizeEnum__Alternatives() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:6052:1: ( ( ( 'a4' ) ) | ( ( 'a3' ) ) | ( ( 'a5' ) ) | ( ( 'us-letter' ) ) | ( ( 'us-legal' ) ) | ( ( 'us-ledger' ) ) | ( ( 'us-super-b' ) ) )
+            // InternalReportDSL.g:6068:1: ( ( ( 'a4' ) ) | ( ( 'a3' ) ) | ( ( 'a5' ) ) | ( ( 'us-letter' ) ) | ( ( 'us-legal' ) ) | ( ( 'us-ledger' ) ) | ( ( 'us-super-b' ) ) )
             int alt59=7;
             switch ( input.LA(1) ) {
             case 63:
@@ -22272,16 +22328,16 @@
 
             switch (alt59) {
                 case 1 :
-                    // InternalReportDSL.g:6053:2: ( ( 'a4' ) )
+                    // InternalReportDSL.g:6069:2: ( ( 'a4' ) )
                     {
-                    // InternalReportDSL.g:6053:2: ( ( 'a4' ) )
-                    // InternalReportDSL.g:6054:3: ( 'a4' )
+                    // InternalReportDSL.g:6069:2: ( ( 'a4' ) )
+                    // InternalReportDSL.g:6070:3: ( 'a4' )
                     {
                     if ( state.backtracking==0 ) {
                        before(grammarAccess.getPageSizeEnumAccess().getA4EnumLiteralDeclaration_0()); 
                     }
-                    // InternalReportDSL.g:6055:3: ( 'a4' )
-                    // InternalReportDSL.g:6055:4: 'a4'
+                    // InternalReportDSL.g:6071:3: ( 'a4' )
+                    // InternalReportDSL.g:6071:4: 'a4'
                     {
                     match(input,63,FOLLOW_2); if (state.failed) return ;
 
@@ -22297,16 +22353,16 @@
                     }
                     break;
                 case 2 :
-                    // InternalReportDSL.g:6059:2: ( ( 'a3' ) )
+                    // InternalReportDSL.g:6075:2: ( ( 'a3' ) )
                     {
-                    // InternalReportDSL.g:6059:2: ( ( 'a3' ) )
-                    // InternalReportDSL.g:6060:3: ( 'a3' )
+                    // InternalReportDSL.g:6075:2: ( ( 'a3' ) )
+                    // InternalReportDSL.g:6076:3: ( 'a3' )
                     {
                     if ( state.backtracking==0 ) {
                        before(grammarAccess.getPageSizeEnumAccess().getA3EnumLiteralDeclaration_1()); 
                     }
-                    // InternalReportDSL.g:6061:3: ( 'a3' )
-                    // InternalReportDSL.g:6061:4: 'a3'
+                    // InternalReportDSL.g:6077:3: ( 'a3' )
+                    // InternalReportDSL.g:6077:4: 'a3'
                     {
                     match(input,64,FOLLOW_2); if (state.failed) return ;
 
@@ -22322,16 +22378,16 @@
                     }
                     break;
                 case 3 :
-                    // InternalReportDSL.g:6065:2: ( ( 'a5' ) )
+                    // InternalReportDSL.g:6081:2: ( ( 'a5' ) )
                     {
-                    // InternalReportDSL.g:6065:2: ( ( 'a5' ) )
-                    // InternalReportDSL.g:6066:3: ( 'a5' )
+                    // InternalReportDSL.g:6081:2: ( ( 'a5' ) )
+                    // InternalReportDSL.g:6082:3: ( 'a5' )
                     {
                     if ( state.backtracking==0 ) {
                        before(grammarAccess.getPageSizeEnumAccess().getA5EnumLiteralDeclaration_2()); 
                     }
-                    // InternalReportDSL.g:6067:3: ( 'a5' )
-                    // InternalReportDSL.g:6067:4: 'a5'
+                    // InternalReportDSL.g:6083:3: ( 'a5' )
+                    // InternalReportDSL.g:6083:4: 'a5'
                     {
                     match(input,65,FOLLOW_2); if (state.failed) return ;
 
@@ -22347,16 +22403,16 @@
                     }
                     break;
                 case 4 :
-                    // InternalReportDSL.g:6071:2: ( ( 'us-letter' ) )
+                    // InternalReportDSL.g:6087:2: ( ( 'us-letter' ) )
                     {
-                    // InternalReportDSL.g:6071:2: ( ( 'us-letter' ) )
-                    // InternalReportDSL.g:6072:3: ( 'us-letter' )
+                    // InternalReportDSL.g:6087:2: ( ( 'us-letter' ) )
+                    // InternalReportDSL.g:6088:3: ( 'us-letter' )
                     {
                     if ( state.backtracking==0 ) {
                        before(grammarAccess.getPageSizeEnumAccess().getUS_LETTEREnumLiteralDeclaration_3()); 
                     }
-                    // InternalReportDSL.g:6073:3: ( 'us-letter' )
-                    // InternalReportDSL.g:6073:4: 'us-letter'
+                    // InternalReportDSL.g:6089:3: ( 'us-letter' )
+                    // InternalReportDSL.g:6089:4: 'us-letter'
                     {
                     match(input,66,FOLLOW_2); if (state.failed) return ;
 
@@ -22372,16 +22428,16 @@
                     }
                     break;
                 case 5 :
-                    // InternalReportDSL.g:6077:2: ( ( 'us-legal' ) )
+                    // InternalReportDSL.g:6093:2: ( ( 'us-legal' ) )
                     {
-                    // InternalReportDSL.g:6077:2: ( ( 'us-legal' ) )
-                    // InternalReportDSL.g:6078:3: ( 'us-legal' )
+                    // InternalReportDSL.g:6093:2: ( ( 'us-legal' ) )
+                    // InternalReportDSL.g:6094:3: ( 'us-legal' )
                     {
                     if ( state.backtracking==0 ) {
                        before(grammarAccess.getPageSizeEnumAccess().getUS_LEGALEnumLiteralDeclaration_4()); 
                     }
-                    // InternalReportDSL.g:6079:3: ( 'us-legal' )
-                    // InternalReportDSL.g:6079:4: 'us-legal'
+                    // InternalReportDSL.g:6095:3: ( 'us-legal' )
+                    // InternalReportDSL.g:6095:4: 'us-legal'
                     {
                     match(input,67,FOLLOW_2); if (state.failed) return ;
 
@@ -22397,16 +22453,16 @@
                     }
                     break;
                 case 6 :
-                    // InternalReportDSL.g:6083:2: ( ( 'us-ledger' ) )
+                    // InternalReportDSL.g:6099:2: ( ( 'us-ledger' ) )
                     {
-                    // InternalReportDSL.g:6083:2: ( ( 'us-ledger' ) )
-                    // InternalReportDSL.g:6084:3: ( 'us-ledger' )
+                    // InternalReportDSL.g:6099:2: ( ( 'us-ledger' ) )
+                    // InternalReportDSL.g:6100:3: ( 'us-ledger' )
                     {
                     if ( state.backtracking==0 ) {
                        before(grammarAccess.getPageSizeEnumAccess().getUS_LEDGEREnumLiteralDeclaration_5()); 
                     }
-                    // InternalReportDSL.g:6085:3: ( 'us-ledger' )
-                    // InternalReportDSL.g:6085:4: 'us-ledger'
+                    // InternalReportDSL.g:6101:3: ( 'us-ledger' )
+                    // InternalReportDSL.g:6101:4: 'us-ledger'
                     {
                     match(input,68,FOLLOW_2); if (state.failed) return ;
 
@@ -22422,16 +22478,16 @@
                     }
                     break;
                 case 7 :
-                    // InternalReportDSL.g:6089:2: ( ( 'us-super-b' ) )
+                    // InternalReportDSL.g:6105:2: ( ( 'us-super-b' ) )
                     {
-                    // InternalReportDSL.g:6089:2: ( ( 'us-super-b' ) )
-                    // InternalReportDSL.g:6090:3: ( 'us-super-b' )
+                    // InternalReportDSL.g:6105:2: ( ( 'us-super-b' ) )
+                    // InternalReportDSL.g:6106:3: ( 'us-super-b' )
                     {
                     if ( state.backtracking==0 ) {
                        before(grammarAccess.getPageSizeEnumAccess().getUS_SUPER_BEnumLiteralDeclaration_6()); 
                     }
-                    // InternalReportDSL.g:6091:3: ( 'us-super-b' )
-                    // InternalReportDSL.g:6091:4: 'us-super-b'
+                    // InternalReportDSL.g:6107:3: ( 'us-super-b' )
+                    // InternalReportDSL.g:6107:4: 'us-super-b'
                     {
                     match(input,69,FOLLOW_2); if (state.failed) return ;
 
@@ -22464,13 +22520,13 @@
 
 
     // $ANTLR start "rule__OrientationEnum__Alternatives"
-    // InternalReportDSL.g:6099:1: rule__OrientationEnum__Alternatives : ( ( ( 'portrait' ) ) | ( ( 'landscape' ) ) );
+    // InternalReportDSL.g:6115:1: rule__OrientationEnum__Alternatives : ( ( ( 'portrait' ) ) | ( ( 'landscape' ) ) );
     public final void rule__OrientationEnum__Alternatives() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:6103:1: ( ( ( 'portrait' ) ) | ( ( 'landscape' ) ) )
+            // InternalReportDSL.g:6119:1: ( ( ( 'portrait' ) ) | ( ( 'landscape' ) ) )
             int alt60=2;
             int LA60_0 = input.LA(1);
 
@@ -22489,16 +22545,16 @@
             }
             switch (alt60) {
                 case 1 :
-                    // InternalReportDSL.g:6104:2: ( ( 'portrait' ) )
+                    // InternalReportDSL.g:6120:2: ( ( 'portrait' ) )
                     {
-                    // InternalReportDSL.g:6104:2: ( ( 'portrait' ) )
-                    // InternalReportDSL.g:6105:3: ( 'portrait' )
+                    // InternalReportDSL.g:6120:2: ( ( 'portrait' ) )
+                    // InternalReportDSL.g:6121:3: ( 'portrait' )
                     {
                     if ( state.backtracking==0 ) {
                        before(grammarAccess.getOrientationEnumAccess().getPORTRAITEnumLiteralDeclaration_0()); 
                     }
-                    // InternalReportDSL.g:6106:3: ( 'portrait' )
-                    // InternalReportDSL.g:6106:4: 'portrait'
+                    // InternalReportDSL.g:6122:3: ( 'portrait' )
+                    // InternalReportDSL.g:6122:4: 'portrait'
                     {
                     match(input,70,FOLLOW_2); if (state.failed) return ;
 
@@ -22514,16 +22570,16 @@
                     }
                     break;
                 case 2 :
-                    // InternalReportDSL.g:6110:2: ( ( 'landscape' ) )
+                    // InternalReportDSL.g:6126:2: ( ( 'landscape' ) )
                     {
-                    // InternalReportDSL.g:6110:2: ( ( 'landscape' ) )
-                    // InternalReportDSL.g:6111:3: ( 'landscape' )
+                    // InternalReportDSL.g:6126:2: ( ( 'landscape' ) )
+                    // InternalReportDSL.g:6127:3: ( 'landscape' )
                     {
                     if ( state.backtracking==0 ) {
                        before(grammarAccess.getOrientationEnumAccess().getLANDSCAPEEnumLiteralDeclaration_1()); 
                     }
-                    // InternalReportDSL.g:6112:3: ( 'landscape' )
-                    // InternalReportDSL.g:6112:4: 'landscape'
+                    // InternalReportDSL.g:6128:3: ( 'landscape' )
+                    // InternalReportDSL.g:6128:4: 'landscape'
                     {
                     match(input,71,FOLLOW_2); if (state.failed) return ;
 
@@ -22556,13 +22612,13 @@
 
 
     // $ANTLR start "rule__FontStyleEnum__Alternatives"
-    // InternalReportDSL.g:6120:1: rule__FontStyleEnum__Alternatives : ( ( ( 'normal' ) ) | ( ( 'italic' ) ) | ( ( 'oblique' ) ) );
+    // InternalReportDSL.g:6136:1: rule__FontStyleEnum__Alternatives : ( ( ( 'normal' ) ) | ( ( 'italic' ) ) | ( ( 'oblique' ) ) );
     public final void rule__FontStyleEnum__Alternatives() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:6124:1: ( ( ( 'normal' ) ) | ( ( 'italic' ) ) | ( ( 'oblique' ) ) )
+            // InternalReportDSL.g:6140:1: ( ( ( 'normal' ) ) | ( ( 'italic' ) ) | ( ( 'oblique' ) ) )
             int alt61=3;
             switch ( input.LA(1) ) {
             case 72:
@@ -22590,16 +22646,16 @@
 
             switch (alt61) {
                 case 1 :
-                    // InternalReportDSL.g:6125:2: ( ( 'normal' ) )
+                    // InternalReportDSL.g:6141:2: ( ( 'normal' ) )
                     {
-                    // InternalReportDSL.g:6125:2: ( ( 'normal' ) )
-                    // InternalReportDSL.g:6126:3: ( 'normal' )
+                    // InternalReportDSL.g:6141:2: ( ( 'normal' ) )
+                    // InternalReportDSL.g:6142:3: ( 'normal' )
                     {
                     if ( state.backtracking==0 ) {
                        before(grammarAccess.getFontStyleEnumAccess().getNORMALEnumLiteralDeclaration_0()); 
                     }
-                    // InternalReportDSL.g:6127:3: ( 'normal' )
-                    // InternalReportDSL.g:6127:4: 'normal'
+                    // InternalReportDSL.g:6143:3: ( 'normal' )
+                    // InternalReportDSL.g:6143:4: 'normal'
                     {
                     match(input,72,FOLLOW_2); if (state.failed) return ;
 
@@ -22615,16 +22671,16 @@
                     }
                     break;
                 case 2 :
-                    // InternalReportDSL.g:6131:2: ( ( 'italic' ) )
+                    // InternalReportDSL.g:6147:2: ( ( 'italic' ) )
                     {
-                    // InternalReportDSL.g:6131:2: ( ( 'italic' ) )
-                    // InternalReportDSL.g:6132:3: ( 'italic' )
+                    // InternalReportDSL.g:6147:2: ( ( 'italic' ) )
+                    // InternalReportDSL.g:6148:3: ( 'italic' )
                     {
                     if ( state.backtracking==0 ) {
                        before(grammarAccess.getFontStyleEnumAccess().getITALICEnumLiteralDeclaration_1()); 
                     }
-                    // InternalReportDSL.g:6133:3: ( 'italic' )
-                    // InternalReportDSL.g:6133:4: 'italic'
+                    // InternalReportDSL.g:6149:3: ( 'italic' )
+                    // InternalReportDSL.g:6149:4: 'italic'
                     {
                     match(input,73,FOLLOW_2); if (state.failed) return ;
 
@@ -22640,16 +22696,16 @@
                     }
                     break;
                 case 3 :
-                    // InternalReportDSL.g:6137:2: ( ( 'oblique' ) )
+                    // InternalReportDSL.g:6153:2: ( ( 'oblique' ) )
                     {
-                    // InternalReportDSL.g:6137:2: ( ( 'oblique' ) )
-                    // InternalReportDSL.g:6138:3: ( 'oblique' )
+                    // InternalReportDSL.g:6153:2: ( ( 'oblique' ) )
+                    // InternalReportDSL.g:6154:3: ( 'oblique' )
                     {
                     if ( state.backtracking==0 ) {
                        before(grammarAccess.getFontStyleEnumAccess().getOBLIQUEEnumLiteralDeclaration_2()); 
                     }
-                    // InternalReportDSL.g:6139:3: ( 'oblique' )
-                    // InternalReportDSL.g:6139:4: 'oblique'
+                    // InternalReportDSL.g:6155:3: ( 'oblique' )
+                    // InternalReportDSL.g:6155:4: 'oblique'
                     {
                     match(input,74,FOLLOW_2); if (state.failed) return ;
 
@@ -22682,13 +22738,13 @@
 
 
     // $ANTLR start "rule__BuildInFontFamilyEnum__Alternatives"
-    // InternalReportDSL.g:6147:1: rule__BuildInFontFamilyEnum__Alternatives : ( ( ( 'monospace' ) ) | ( ( 'sans-serif' ) ) | ( ( 'serif' ) ) );
+    // InternalReportDSL.g:6163:1: rule__BuildInFontFamilyEnum__Alternatives : ( ( ( 'monospace' ) ) | ( ( 'sans-serif' ) ) | ( ( 'serif' ) ) );
     public final void rule__BuildInFontFamilyEnum__Alternatives() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:6151:1: ( ( ( 'monospace' ) ) | ( ( 'sans-serif' ) ) | ( ( 'serif' ) ) )
+            // InternalReportDSL.g:6167:1: ( ( ( 'monospace' ) ) | ( ( 'sans-serif' ) ) | ( ( 'serif' ) ) )
             int alt62=3;
             switch ( input.LA(1) ) {
             case 75:
@@ -22716,16 +22772,16 @@
 
             switch (alt62) {
                 case 1 :
-                    // InternalReportDSL.g:6152:2: ( ( 'monospace' ) )
+                    // InternalReportDSL.g:6168:2: ( ( 'monospace' ) )
                     {
-                    // InternalReportDSL.g:6152:2: ( ( 'monospace' ) )
-                    // InternalReportDSL.g:6153:3: ( 'monospace' )
+                    // InternalReportDSL.g:6168:2: ( ( 'monospace' ) )
+                    // InternalReportDSL.g:6169:3: ( 'monospace' )
                     {
                     if ( state.backtracking==0 ) {
                        before(grammarAccess.getBuildInFontFamilyEnumAccess().getMONOSPACEEnumLiteralDeclaration_0()); 
                     }
-                    // InternalReportDSL.g:6154:3: ( 'monospace' )
-                    // InternalReportDSL.g:6154:4: 'monospace'
+                    // InternalReportDSL.g:6170:3: ( 'monospace' )
+                    // InternalReportDSL.g:6170:4: 'monospace'
                     {
                     match(input,75,FOLLOW_2); if (state.failed) return ;
 
@@ -22741,16 +22797,16 @@
                     }
                     break;
                 case 2 :
-                    // InternalReportDSL.g:6158:2: ( ( 'sans-serif' ) )
+                    // InternalReportDSL.g:6174:2: ( ( 'sans-serif' ) )
                     {
-                    // InternalReportDSL.g:6158:2: ( ( 'sans-serif' ) )
-                    // InternalReportDSL.g:6159:3: ( 'sans-serif' )
+                    // InternalReportDSL.g:6174:2: ( ( 'sans-serif' ) )
+                    // InternalReportDSL.g:6175:3: ( 'sans-serif' )
                     {
                     if ( state.backtracking==0 ) {
                        before(grammarAccess.getBuildInFontFamilyEnumAccess().getSANS_SERIFEnumLiteralDeclaration_1()); 
                     }
-                    // InternalReportDSL.g:6160:3: ( 'sans-serif' )
-                    // InternalReportDSL.g:6160:4: 'sans-serif'
+                    // InternalReportDSL.g:6176:3: ( 'sans-serif' )
+                    // InternalReportDSL.g:6176:4: 'sans-serif'
                     {
                     match(input,76,FOLLOW_2); if (state.failed) return ;
 
@@ -22766,16 +22822,16 @@
                     }
                     break;
                 case 3 :
-                    // InternalReportDSL.g:6164:2: ( ( 'serif' ) )
+                    // InternalReportDSL.g:6180:2: ( ( 'serif' ) )
                     {
-                    // InternalReportDSL.g:6164:2: ( ( 'serif' ) )
-                    // InternalReportDSL.g:6165:3: ( 'serif' )
+                    // InternalReportDSL.g:6180:2: ( ( 'serif' ) )
+                    // InternalReportDSL.g:6181:3: ( 'serif' )
                     {
                     if ( state.backtracking==0 ) {
                        before(grammarAccess.getBuildInFontFamilyEnumAccess().getSERIFEnumLiteralDeclaration_2()); 
                     }
-                    // InternalReportDSL.g:6166:3: ( 'serif' )
-                    // InternalReportDSL.g:6166:4: 'serif'
+                    // InternalReportDSL.g:6182:3: ( 'serif' )
+                    // InternalReportDSL.g:6182:4: 'serif'
                     {
                     match(input,77,FOLLOW_2); if (state.failed) return ;
 
@@ -22808,13 +22864,13 @@
 
 
     // $ANTLR start "rule__TextAlignEnum__Alternatives"
-    // InternalReportDSL.g:6174:1: rule__TextAlignEnum__Alternatives : ( ( ( 'left' ) ) | ( ( 'center' ) ) | ( ( 'right' ) ) );
+    // InternalReportDSL.g:6190:1: rule__TextAlignEnum__Alternatives : ( ( ( 'left' ) ) | ( ( 'center' ) ) | ( ( 'right' ) ) );
     public final void rule__TextAlignEnum__Alternatives() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:6178:1: ( ( ( 'left' ) ) | ( ( 'center' ) ) | ( ( 'right' ) ) )
+            // InternalReportDSL.g:6194:1: ( ( ( 'left' ) ) | ( ( 'center' ) ) | ( ( 'right' ) ) )
             int alt63=3;
             switch ( input.LA(1) ) {
             case 78:
@@ -22842,16 +22898,16 @@
 
             switch (alt63) {
                 case 1 :
-                    // InternalReportDSL.g:6179:2: ( ( 'left' ) )
+                    // InternalReportDSL.g:6195:2: ( ( 'left' ) )
                     {
-                    // InternalReportDSL.g:6179:2: ( ( 'left' ) )
-                    // InternalReportDSL.g:6180:3: ( 'left' )
+                    // InternalReportDSL.g:6195:2: ( ( 'left' ) )
+                    // InternalReportDSL.g:6196:3: ( 'left' )
                     {
                     if ( state.backtracking==0 ) {
                        before(grammarAccess.getTextAlignEnumAccess().getLEFTEnumLiteralDeclaration_0()); 
                     }
-                    // InternalReportDSL.g:6181:3: ( 'left' )
-                    // InternalReportDSL.g:6181:4: 'left'
+                    // InternalReportDSL.g:6197:3: ( 'left' )
+                    // InternalReportDSL.g:6197:4: 'left'
                     {
                     match(input,78,FOLLOW_2); if (state.failed) return ;
 
@@ -22867,16 +22923,16 @@
                     }
                     break;
                 case 2 :
-                    // InternalReportDSL.g:6185:2: ( ( 'center' ) )
+                    // InternalReportDSL.g:6201:2: ( ( 'center' ) )
                     {
-                    // InternalReportDSL.g:6185:2: ( ( 'center' ) )
-                    // InternalReportDSL.g:6186:3: ( 'center' )
+                    // InternalReportDSL.g:6201:2: ( ( 'center' ) )
+                    // InternalReportDSL.g:6202:3: ( 'center' )
                     {
                     if ( state.backtracking==0 ) {
                        before(grammarAccess.getTextAlignEnumAccess().getCENTEREnumLiteralDeclaration_1()); 
                     }
-                    // InternalReportDSL.g:6187:3: ( 'center' )
-                    // InternalReportDSL.g:6187:4: 'center'
+                    // InternalReportDSL.g:6203:3: ( 'center' )
+                    // InternalReportDSL.g:6203:4: 'center'
                     {
                     match(input,79,FOLLOW_2); if (state.failed) return ;
 
@@ -22892,16 +22948,16 @@
                     }
                     break;
                 case 3 :
-                    // InternalReportDSL.g:6191:2: ( ( 'right' ) )
+                    // InternalReportDSL.g:6207:2: ( ( 'right' ) )
                     {
-                    // InternalReportDSL.g:6191:2: ( ( 'right' ) )
-                    // InternalReportDSL.g:6192:3: ( 'right' )
+                    // InternalReportDSL.g:6207:2: ( ( 'right' ) )
+                    // InternalReportDSL.g:6208:3: ( 'right' )
                     {
                     if ( state.backtracking==0 ) {
                        before(grammarAccess.getTextAlignEnumAccess().getRIGHTEnumLiteralDeclaration_2()); 
                     }
-                    // InternalReportDSL.g:6193:3: ( 'right' )
-                    // InternalReportDSL.g:6193:4: 'right'
+                    // InternalReportDSL.g:6209:3: ( 'right' )
+                    // InternalReportDSL.g:6209:4: 'right'
                     {
                     match(input,80,FOLLOW_2); if (state.failed) return ;
 
@@ -22933,15 +22989,15 @@
     // $ANTLR end "rule__TextAlignEnum__Alternatives"
 
 
-    // $ANTLR start "rule__NumberFormatCategoryEnum__Alternatives"
-    // InternalReportDSL.g:6201:1: rule__NumberFormatCategoryEnum__Alternatives : ( ( ( 'unformatted' ) ) | ( ( 'general-number' ) ) | ( ( 'fixed' ) ) | ( ( 'percent' ) ) | ( ( 'scientific' ) ) | ( ( 'custom' ) ) );
-    public final void rule__NumberFormatCategoryEnum__Alternatives() throws RecognitionException {
+    // $ANTLR start "rule__VerticalTextAlignEnum__Alternatives"
+    // InternalReportDSL.g:6217:1: rule__VerticalTextAlignEnum__Alternatives : ( ( ( 'bottom' ) ) | ( ( 'middle' ) ) | ( ( 'top' ) ) );
+    public final void rule__VerticalTextAlignEnum__Alternatives() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:6205:1: ( ( ( 'unformatted' ) ) | ( ( 'general-number' ) ) | ( ( 'fixed' ) ) | ( ( 'percent' ) ) | ( ( 'scientific' ) ) | ( ( 'custom' ) ) )
-            int alt64=6;
+            // InternalReportDSL.g:6221:1: ( ( ( 'bottom' ) ) | ( ( 'middle' ) ) | ( ( 'top' ) ) )
+            int alt64=3;
             switch ( input.LA(1) ) {
             case 81:
                 {
@@ -22958,21 +23014,6 @@
                 alt64=3;
                 }
                 break;
-            case 84:
-                {
-                alt64=4;
-                }
-                break;
-            case 85:
-                {
-                alt64=5;
-                }
-                break;
-            case 16:
-                {
-                alt64=6;
-                }
-                break;
             default:
                 if (state.backtracking>0) {state.failed=true; return ;}
                 NoViableAltException nvae =
@@ -22983,18 +23024,159 @@
 
             switch (alt64) {
                 case 1 :
-                    // InternalReportDSL.g:6206:2: ( ( 'unformatted' ) )
+                    // InternalReportDSL.g:6222:2: ( ( 'bottom' ) )
                     {
-                    // InternalReportDSL.g:6206:2: ( ( 'unformatted' ) )
-                    // InternalReportDSL.g:6207:3: ( 'unformatted' )
+                    // InternalReportDSL.g:6222:2: ( ( 'bottom' ) )
+                    // InternalReportDSL.g:6223:3: ( 'bottom' )
+                    {
+                    if ( state.backtracking==0 ) {
+                       before(grammarAccess.getVerticalTextAlignEnumAccess().getBOTTOMEnumLiteralDeclaration_0()); 
+                    }
+                    // InternalReportDSL.g:6224:3: ( 'bottom' )
+                    // InternalReportDSL.g:6224:4: 'bottom'
+                    {
+                    match(input,81,FOLLOW_2); if (state.failed) return ;
+
+                    }
+
+                    if ( state.backtracking==0 ) {
+                       after(grammarAccess.getVerticalTextAlignEnumAccess().getBOTTOMEnumLiteralDeclaration_0()); 
+                    }
+
+                    }
+
+
+                    }
+                    break;
+                case 2 :
+                    // InternalReportDSL.g:6228:2: ( ( 'middle' ) )
+                    {
+                    // InternalReportDSL.g:6228:2: ( ( 'middle' ) )
+                    // InternalReportDSL.g:6229:3: ( 'middle' )
+                    {
+                    if ( state.backtracking==0 ) {
+                       before(grammarAccess.getVerticalTextAlignEnumAccess().getMIDDLEEnumLiteralDeclaration_1()); 
+                    }
+                    // InternalReportDSL.g:6230:3: ( 'middle' )
+                    // InternalReportDSL.g:6230:4: 'middle'
+                    {
+                    match(input,82,FOLLOW_2); if (state.failed) return ;
+
+                    }
+
+                    if ( state.backtracking==0 ) {
+                       after(grammarAccess.getVerticalTextAlignEnumAccess().getMIDDLEEnumLiteralDeclaration_1()); 
+                    }
+
+                    }
+
+
+                    }
+                    break;
+                case 3 :
+                    // InternalReportDSL.g:6234:2: ( ( 'top' ) )
+                    {
+                    // InternalReportDSL.g:6234:2: ( ( 'top' ) )
+                    // InternalReportDSL.g:6235:3: ( 'top' )
+                    {
+                    if ( state.backtracking==0 ) {
+                       before(grammarAccess.getVerticalTextAlignEnumAccess().getTOPEnumLiteralDeclaration_2()); 
+                    }
+                    // InternalReportDSL.g:6236:3: ( 'top' )
+                    // InternalReportDSL.g:6236:4: 'top'
+                    {
+                    match(input,83,FOLLOW_2); if (state.failed) return ;
+
+                    }
+
+                    if ( state.backtracking==0 ) {
+                       after(grammarAccess.getVerticalTextAlignEnumAccess().getTOPEnumLiteralDeclaration_2()); 
+                    }
+
+                    }
+
+
+                    }
+                    break;
+
+            }
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__VerticalTextAlignEnum__Alternatives"
+
+
+    // $ANTLR start "rule__NumberFormatCategoryEnum__Alternatives"
+    // InternalReportDSL.g:6244:1: rule__NumberFormatCategoryEnum__Alternatives : ( ( ( 'unformatted' ) ) | ( ( 'general-number' ) ) | ( ( 'fixed' ) ) | ( ( 'percent' ) ) | ( ( 'scientific' ) ) | ( ( 'custom' ) ) );
+    public final void rule__NumberFormatCategoryEnum__Alternatives() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+        	
+        try {
+            // InternalReportDSL.g:6248:1: ( ( ( 'unformatted' ) ) | ( ( 'general-number' ) ) | ( ( 'fixed' ) ) | ( ( 'percent' ) ) | ( ( 'scientific' ) ) | ( ( 'custom' ) ) )
+            int alt65=6;
+            switch ( input.LA(1) ) {
+            case 84:
+                {
+                alt65=1;
+                }
+                break;
+            case 85:
+                {
+                alt65=2;
+                }
+                break;
+            case 86:
+                {
+                alt65=3;
+                }
+                break;
+            case 87:
+                {
+                alt65=4;
+                }
+                break;
+            case 88:
+                {
+                alt65=5;
+                }
+                break;
+            case 16:
+                {
+                alt65=6;
+                }
+                break;
+            default:
+                if (state.backtracking>0) {state.failed=true; return ;}
+                NoViableAltException nvae =
+                    new NoViableAltException("", 65, 0, input);
+
+                throw nvae;
+            }
+
+            switch (alt65) {
+                case 1 :
+                    // InternalReportDSL.g:6249:2: ( ( 'unformatted' ) )
+                    {
+                    // InternalReportDSL.g:6249:2: ( ( 'unformatted' ) )
+                    // InternalReportDSL.g:6250:3: ( 'unformatted' )
                     {
                     if ( state.backtracking==0 ) {
                        before(grammarAccess.getNumberFormatCategoryEnumAccess().getUNFORMATTEDEnumLiteralDeclaration_0()); 
                     }
-                    // InternalReportDSL.g:6208:3: ( 'unformatted' )
-                    // InternalReportDSL.g:6208:4: 'unformatted'
+                    // InternalReportDSL.g:6251:3: ( 'unformatted' )
+                    // InternalReportDSL.g:6251:4: 'unformatted'
                     {
-                    match(input,81,FOLLOW_2); if (state.failed) return ;
+                    match(input,84,FOLLOW_2); if (state.failed) return ;
 
                     }
 
@@ -23008,18 +23190,18 @@
                     }
                     break;
                 case 2 :
-                    // InternalReportDSL.g:6212:2: ( ( 'general-number' ) )
+                    // InternalReportDSL.g:6255:2: ( ( 'general-number' ) )
                     {
-                    // InternalReportDSL.g:6212:2: ( ( 'general-number' ) )
-                    // InternalReportDSL.g:6213:3: ( 'general-number' )
+                    // InternalReportDSL.g:6255:2: ( ( 'general-number' ) )
+                    // InternalReportDSL.g:6256:3: ( 'general-number' )
                     {
                     if ( state.backtracking==0 ) {
                        before(grammarAccess.getNumberFormatCategoryEnumAccess().getGENERAL_NUMBEREnumLiteralDeclaration_1()); 
                     }
-                    // InternalReportDSL.g:6214:3: ( 'general-number' )
-                    // InternalReportDSL.g:6214:4: 'general-number'
+                    // InternalReportDSL.g:6257:3: ( 'general-number' )
+                    // InternalReportDSL.g:6257:4: 'general-number'
                     {
-                    match(input,82,FOLLOW_2); if (state.failed) return ;
+                    match(input,85,FOLLOW_2); if (state.failed) return ;
 
                     }
 
@@ -23033,18 +23215,18 @@
                     }
                     break;
                 case 3 :
-                    // InternalReportDSL.g:6218:2: ( ( 'fixed' ) )
+                    // InternalReportDSL.g:6261:2: ( ( 'fixed' ) )
                     {
-                    // InternalReportDSL.g:6218:2: ( ( 'fixed' ) )
-                    // InternalReportDSL.g:6219:3: ( 'fixed' )
+                    // InternalReportDSL.g:6261:2: ( ( 'fixed' ) )
+                    // InternalReportDSL.g:6262:3: ( 'fixed' )
                     {
                     if ( state.backtracking==0 ) {
                        before(grammarAccess.getNumberFormatCategoryEnumAccess().getFIXEDEnumLiteralDeclaration_2()); 
                     }
-                    // InternalReportDSL.g:6220:3: ( 'fixed' )
-                    // InternalReportDSL.g:6220:4: 'fixed'
+                    // InternalReportDSL.g:6263:3: ( 'fixed' )
+                    // InternalReportDSL.g:6263:4: 'fixed'
                     {
-                    match(input,83,FOLLOW_2); if (state.failed) return ;
+                    match(input,86,FOLLOW_2); if (state.failed) return ;
 
                     }
 
@@ -23058,18 +23240,18 @@
                     }
                     break;
                 case 4 :
-                    // InternalReportDSL.g:6224:2: ( ( 'percent' ) )
+                    // InternalReportDSL.g:6267:2: ( ( 'percent' ) )
                     {
-                    // InternalReportDSL.g:6224:2: ( ( 'percent' ) )
-                    // InternalReportDSL.g:6225:3: ( 'percent' )
+                    // InternalReportDSL.g:6267:2: ( ( 'percent' ) )
+                    // InternalReportDSL.g:6268:3: ( 'percent' )
                     {
                     if ( state.backtracking==0 ) {
                        before(grammarAccess.getNumberFormatCategoryEnumAccess().getPERCENTEnumLiteralDeclaration_3()); 
                     }
-                    // InternalReportDSL.g:6226:3: ( 'percent' )
-                    // InternalReportDSL.g:6226:4: 'percent'
+                    // InternalReportDSL.g:6269:3: ( 'percent' )
+                    // InternalReportDSL.g:6269:4: 'percent'
                     {
-                    match(input,84,FOLLOW_2); if (state.failed) return ;
+                    match(input,87,FOLLOW_2); if (state.failed) return ;
 
                     }
 
@@ -23083,18 +23265,18 @@
                     }
                     break;
                 case 5 :
-                    // InternalReportDSL.g:6230:2: ( ( 'scientific' ) )
+                    // InternalReportDSL.g:6273:2: ( ( 'scientific' ) )
                     {
-                    // InternalReportDSL.g:6230:2: ( ( 'scientific' ) )
-                    // InternalReportDSL.g:6231:3: ( 'scientific' )
+                    // InternalReportDSL.g:6273:2: ( ( 'scientific' ) )
+                    // InternalReportDSL.g:6274:3: ( 'scientific' )
                     {
                     if ( state.backtracking==0 ) {
                        before(grammarAccess.getNumberFormatCategoryEnumAccess().getSCIENTIFICEnumLiteralDeclaration_4()); 
                     }
-                    // InternalReportDSL.g:6232:3: ( 'scientific' )
-                    // InternalReportDSL.g:6232:4: 'scientific'
+                    // InternalReportDSL.g:6275:3: ( 'scientific' )
+                    // InternalReportDSL.g:6275:4: 'scientific'
                     {
-                    match(input,85,FOLLOW_2); if (state.failed) return ;
+                    match(input,88,FOLLOW_2); if (state.failed) return ;
 
                     }
 
@@ -23108,16 +23290,16 @@
                     }
                     break;
                 case 6 :
-                    // InternalReportDSL.g:6236:2: ( ( 'custom' ) )
+                    // InternalReportDSL.g:6279:2: ( ( 'custom' ) )
                     {
-                    // InternalReportDSL.g:6236:2: ( ( 'custom' ) )
-                    // InternalReportDSL.g:6237:3: ( 'custom' )
+                    // InternalReportDSL.g:6279:2: ( ( 'custom' ) )
+                    // InternalReportDSL.g:6280:3: ( 'custom' )
                     {
                     if ( state.backtracking==0 ) {
                        before(grammarAccess.getNumberFormatCategoryEnumAccess().getCUSTOMEnumLiteralDeclaration_5()); 
                     }
-                    // InternalReportDSL.g:6238:3: ( 'custom' )
-                    // InternalReportDSL.g:6238:4: 'custom'
+                    // InternalReportDSL.g:6281:3: ( 'custom' )
+                    // InternalReportDSL.g:6281:4: 'custom'
                     {
                     match(input,16,FOLLOW_2); if (state.failed) return ;
 
@@ -23150,52 +23332,52 @@
 
 
     // $ANTLR start "rule__CurrencyFormatCategoryEnum__Alternatives"
-    // InternalReportDSL.g:6246:1: rule__CurrencyFormatCategoryEnum__Alternatives : ( ( ( 'unformatted' ) ) | ( ( 'currency' ) ) | ( ( 'custom' ) ) );
+    // InternalReportDSL.g:6289:1: rule__CurrencyFormatCategoryEnum__Alternatives : ( ( ( 'unformatted' ) ) | ( ( 'currency' ) ) | ( ( 'custom' ) ) );
     public final void rule__CurrencyFormatCategoryEnum__Alternatives() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:6250:1: ( ( ( 'unformatted' ) ) | ( ( 'currency' ) ) | ( ( 'custom' ) ) )
-            int alt65=3;
+            // InternalReportDSL.g:6293:1: ( ( ( 'unformatted' ) ) | ( ( 'currency' ) ) | ( ( 'custom' ) ) )
+            int alt66=3;
             switch ( input.LA(1) ) {
-            case 81:
+            case 84:
                 {
-                alt65=1;
+                alt66=1;
                 }
                 break;
-            case 86:
+            case 89:
                 {
-                alt65=2;
+                alt66=2;
                 }
                 break;
             case 16:
                 {
-                alt65=3;
+                alt66=3;
                 }
                 break;
             default:
                 if (state.backtracking>0) {state.failed=true; return ;}
                 NoViableAltException nvae =
-                    new NoViableAltException("", 65, 0, input);
+                    new NoViableAltException("", 66, 0, input);
 
                 throw nvae;
             }
 
-            switch (alt65) {
+            switch (alt66) {
                 case 1 :
-                    // InternalReportDSL.g:6251:2: ( ( 'unformatted' ) )
+                    // InternalReportDSL.g:6294:2: ( ( 'unformatted' ) )
                     {
-                    // InternalReportDSL.g:6251:2: ( ( 'unformatted' ) )
-                    // InternalReportDSL.g:6252:3: ( 'unformatted' )
+                    // InternalReportDSL.g:6294:2: ( ( 'unformatted' ) )
+                    // InternalReportDSL.g:6295:3: ( 'unformatted' )
                     {
                     if ( state.backtracking==0 ) {
                        before(grammarAccess.getCurrencyFormatCategoryEnumAccess().getUNFORMATTEDEnumLiteralDeclaration_0()); 
                     }
-                    // InternalReportDSL.g:6253:3: ( 'unformatted' )
-                    // InternalReportDSL.g:6253:4: 'unformatted'
+                    // InternalReportDSL.g:6296:3: ( 'unformatted' )
+                    // InternalReportDSL.g:6296:4: 'unformatted'
                     {
-                    match(input,81,FOLLOW_2); if (state.failed) return ;
+                    match(input,84,FOLLOW_2); if (state.failed) return ;
 
                     }
 
@@ -23209,18 +23391,18 @@
                     }
                     break;
                 case 2 :
-                    // InternalReportDSL.g:6257:2: ( ( 'currency' ) )
+                    // InternalReportDSL.g:6300:2: ( ( 'currency' ) )
                     {
-                    // InternalReportDSL.g:6257:2: ( ( 'currency' ) )
-                    // InternalReportDSL.g:6258:3: ( 'currency' )
+                    // InternalReportDSL.g:6300:2: ( ( 'currency' ) )
+                    // InternalReportDSL.g:6301:3: ( 'currency' )
                     {
                     if ( state.backtracking==0 ) {
                        before(grammarAccess.getCurrencyFormatCategoryEnumAccess().getCURRENCYEnumLiteralDeclaration_1()); 
                     }
-                    // InternalReportDSL.g:6259:3: ( 'currency' )
-                    // InternalReportDSL.g:6259:4: 'currency'
+                    // InternalReportDSL.g:6302:3: ( 'currency' )
+                    // InternalReportDSL.g:6302:4: 'currency'
                     {
-                    match(input,86,FOLLOW_2); if (state.failed) return ;
+                    match(input,89,FOLLOW_2); if (state.failed) return ;
 
                     }
 
@@ -23234,16 +23416,16 @@
                     }
                     break;
                 case 3 :
-                    // InternalReportDSL.g:6263:2: ( ( 'custom' ) )
+                    // InternalReportDSL.g:6306:2: ( ( 'custom' ) )
                     {
-                    // InternalReportDSL.g:6263:2: ( ( 'custom' ) )
-                    // InternalReportDSL.g:6264:3: ( 'custom' )
+                    // InternalReportDSL.g:6306:2: ( ( 'custom' ) )
+                    // InternalReportDSL.g:6307:3: ( 'custom' )
                     {
                     if ( state.backtracking==0 ) {
                        before(grammarAccess.getCurrencyFormatCategoryEnumAccess().getCUSTOMEnumLiteralDeclaration_2()); 
                     }
-                    // InternalReportDSL.g:6265:3: ( 'custom' )
-                    // InternalReportDSL.g:6265:4: 'custom'
+                    // InternalReportDSL.g:6308:3: ( 'custom' )
+                    // InternalReportDSL.g:6308:4: 'custom'
                     {
                     match(input,16,FOLLOW_2); if (state.failed) return ;
 
@@ -23276,43 +23458,43 @@
 
 
     // $ANTLR start "rule__RenderingEnum__Alternatives"
-    // InternalReportDSL.g:6273:1: rule__RenderingEnum__Alternatives : ( ( ( 'html' ) ) | ( ( 'pdf' ) ) );
+    // InternalReportDSL.g:6316:1: rule__RenderingEnum__Alternatives : ( ( ( 'html' ) ) | ( ( 'pdf' ) ) );
     public final void rule__RenderingEnum__Alternatives() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:6277:1: ( ( ( 'html' ) ) | ( ( 'pdf' ) ) )
-            int alt66=2;
-            int LA66_0 = input.LA(1);
+            // InternalReportDSL.g:6320:1: ( ( ( 'html' ) ) | ( ( 'pdf' ) ) )
+            int alt67=2;
+            int LA67_0 = input.LA(1);
 
-            if ( (LA66_0==87) ) {
-                alt66=1;
+            if ( (LA67_0==90) ) {
+                alt67=1;
             }
-            else if ( (LA66_0==88) ) {
-                alt66=2;
+            else if ( (LA67_0==91) ) {
+                alt67=2;
             }
             else {
                 if (state.backtracking>0) {state.failed=true; return ;}
                 NoViableAltException nvae =
-                    new NoViableAltException("", 66, 0, input);
+                    new NoViableAltException("", 67, 0, input);
 
                 throw nvae;
             }
-            switch (alt66) {
+            switch (alt67) {
                 case 1 :
-                    // InternalReportDSL.g:6278:2: ( ( 'html' ) )
+                    // InternalReportDSL.g:6321:2: ( ( 'html' ) )
                     {
-                    // InternalReportDSL.g:6278:2: ( ( 'html' ) )
-                    // InternalReportDSL.g:6279:3: ( 'html' )
+                    // InternalReportDSL.g:6321:2: ( ( 'html' ) )
+                    // InternalReportDSL.g:6322:3: ( 'html' )
                     {
                     if ( state.backtracking==0 ) {
                        before(grammarAccess.getRenderingEnumAccess().getHTMLEnumLiteralDeclaration_0()); 
                     }
-                    // InternalReportDSL.g:6280:3: ( 'html' )
-                    // InternalReportDSL.g:6280:4: 'html'
+                    // InternalReportDSL.g:6323:3: ( 'html' )
+                    // InternalReportDSL.g:6323:4: 'html'
                     {
-                    match(input,87,FOLLOW_2); if (state.failed) return ;
+                    match(input,90,FOLLOW_2); if (state.failed) return ;
 
                     }
 
@@ -23326,18 +23508,18 @@
                     }
                     break;
                 case 2 :
-                    // InternalReportDSL.g:6284:2: ( ( 'pdf' ) )
+                    // InternalReportDSL.g:6327:2: ( ( 'pdf' ) )
                     {
-                    // InternalReportDSL.g:6284:2: ( ( 'pdf' ) )
-                    // InternalReportDSL.g:6285:3: ( 'pdf' )
+                    // InternalReportDSL.g:6327:2: ( ( 'pdf' ) )
+                    // InternalReportDSL.g:6328:3: ( 'pdf' )
                     {
                     if ( state.backtracking==0 ) {
                        before(grammarAccess.getRenderingEnumAccess().getPDFEnumLiteralDeclaration_1()); 
                     }
-                    // InternalReportDSL.g:6286:3: ( 'pdf' )
-                    // InternalReportDSL.g:6286:4: 'pdf'
+                    // InternalReportDSL.g:6329:3: ( 'pdf' )
+                    // InternalReportDSL.g:6329:4: 'pdf'
                     {
-                    match(input,88,FOLLOW_2); if (state.failed) return ;
+                    match(input,91,FOLLOW_2); if (state.failed) return ;
 
                     }
 
@@ -23368,43 +23550,43 @@
 
 
     // $ANTLR start "rule__PureAggregationTypeEnum__Alternatives"
-    // InternalReportDSL.g:6294:1: rule__PureAggregationTypeEnum__Alternatives : ( ( ( 'count' ) ) | ( ( 'running-count' ) ) );
+    // InternalReportDSL.g:6337:1: rule__PureAggregationTypeEnum__Alternatives : ( ( ( 'count' ) ) | ( ( 'running-count' ) ) );
     public final void rule__PureAggregationTypeEnum__Alternatives() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:6298:1: ( ( ( 'count' ) ) | ( ( 'running-count' ) ) )
-            int alt67=2;
-            int LA67_0 = input.LA(1);
+            // InternalReportDSL.g:6341:1: ( ( ( 'count' ) ) | ( ( 'running-count' ) ) )
+            int alt68=2;
+            int LA68_0 = input.LA(1);
 
-            if ( (LA67_0==89) ) {
-                alt67=1;
+            if ( (LA68_0==92) ) {
+                alt68=1;
             }
-            else if ( (LA67_0==90) ) {
-                alt67=2;
+            else if ( (LA68_0==93) ) {
+                alt68=2;
             }
             else {
                 if (state.backtracking>0) {state.failed=true; return ;}
                 NoViableAltException nvae =
-                    new NoViableAltException("", 67, 0, input);
+                    new NoViableAltException("", 68, 0, input);
 
                 throw nvae;
             }
-            switch (alt67) {
+            switch (alt68) {
                 case 1 :
-                    // InternalReportDSL.g:6299:2: ( ( 'count' ) )
+                    // InternalReportDSL.g:6342:2: ( ( 'count' ) )
                     {
-                    // InternalReportDSL.g:6299:2: ( ( 'count' ) )
-                    // InternalReportDSL.g:6300:3: ( 'count' )
+                    // InternalReportDSL.g:6342:2: ( ( 'count' ) )
+                    // InternalReportDSL.g:6343:3: ( 'count' )
                     {
                     if ( state.backtracking==0 ) {
                        before(grammarAccess.getPureAggregationTypeEnumAccess().getCOUNTEnumLiteralDeclaration_0()); 
                     }
-                    // InternalReportDSL.g:6301:3: ( 'count' )
-                    // InternalReportDSL.g:6301:4: 'count'
+                    // InternalReportDSL.g:6344:3: ( 'count' )
+                    // InternalReportDSL.g:6344:4: 'count'
                     {
-                    match(input,89,FOLLOW_2); if (state.failed) return ;
+                    match(input,92,FOLLOW_2); if (state.failed) return ;
 
                     }
 
@@ -23418,18 +23600,18 @@
                     }
                     break;
                 case 2 :
-                    // InternalReportDSL.g:6305:2: ( ( 'running-count' ) )
+                    // InternalReportDSL.g:6348:2: ( ( 'running-count' ) )
                     {
-                    // InternalReportDSL.g:6305:2: ( ( 'running-count' ) )
-                    // InternalReportDSL.g:6306:3: ( 'running-count' )
+                    // InternalReportDSL.g:6348:2: ( ( 'running-count' ) )
+                    // InternalReportDSL.g:6349:3: ( 'running-count' )
                     {
                     if ( state.backtracking==0 ) {
                        before(grammarAccess.getPureAggregationTypeEnumAccess().getRUNNINGCOUNTEnumLiteralDeclaration_1()); 
                     }
-                    // InternalReportDSL.g:6307:3: ( 'running-count' )
-                    // InternalReportDSL.g:6307:4: 'running-count'
+                    // InternalReportDSL.g:6350:3: ( 'running-count' )
+                    // InternalReportDSL.g:6350:4: 'running-count'
                     {
-                    match(input,90,FOLLOW_2); if (state.failed) return ;
+                    match(input,93,FOLLOW_2); if (state.failed) return ;
 
                     }
 
@@ -23460,62 +23642,62 @@
 
 
     // $ANTLR start "rule__UnaryAggregationTypeEnum__Alternatives"
-    // InternalReportDSL.g:6315:1: rule__UnaryAggregationTypeEnum__Alternatives : ( ( ( 'sum' ) ) | ( ( 'average' ) ) | ( ( 'minimum' ) ) | ( ( 'maximum' ) ) | ( ( 'running-sum' ) ) );
+    // InternalReportDSL.g:6358:1: rule__UnaryAggregationTypeEnum__Alternatives : ( ( ( 'sum' ) ) | ( ( 'average' ) ) | ( ( 'minimum' ) ) | ( ( 'maximum' ) ) | ( ( 'running-sum' ) ) );
     public final void rule__UnaryAggregationTypeEnum__Alternatives() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:6319:1: ( ( ( 'sum' ) ) | ( ( 'average' ) ) | ( ( 'minimum' ) ) | ( ( 'maximum' ) ) | ( ( 'running-sum' ) ) )
-            int alt68=5;
+            // InternalReportDSL.g:6362:1: ( ( ( 'sum' ) ) | ( ( 'average' ) ) | ( ( 'minimum' ) ) | ( ( 'maximum' ) ) | ( ( 'running-sum' ) ) )
+            int alt69=5;
             switch ( input.LA(1) ) {
-            case 91:
-                {
-                alt68=1;
-                }
-                break;
-            case 92:
-                {
-                alt68=2;
-                }
-                break;
-            case 93:
-                {
-                alt68=3;
-                }
-                break;
             case 94:
                 {
-                alt68=4;
+                alt69=1;
                 }
                 break;
             case 95:
                 {
-                alt68=5;
+                alt69=2;
+                }
+                break;
+            case 96:
+                {
+                alt69=3;
+                }
+                break;
+            case 97:
+                {
+                alt69=4;
+                }
+                break;
+            case 98:
+                {
+                alt69=5;
                 }
                 break;
             default:
                 if (state.backtracking>0) {state.failed=true; return ;}
                 NoViableAltException nvae =
-                    new NoViableAltException("", 68, 0, input);
+                    new NoViableAltException("", 69, 0, input);
 
                 throw nvae;
             }
 
-            switch (alt68) {
+            switch (alt69) {
                 case 1 :
-                    // InternalReportDSL.g:6320:2: ( ( 'sum' ) )
+                    // InternalReportDSL.g:6363:2: ( ( 'sum' ) )
                     {
-                    // InternalReportDSL.g:6320:2: ( ( 'sum' ) )
-                    // InternalReportDSL.g:6321:3: ( 'sum' )
+                    // InternalReportDSL.g:6363:2: ( ( 'sum' ) )
+                    // InternalReportDSL.g:6364:3: ( 'sum' )
                     {
                     if ( state.backtracking==0 ) {
                        before(grammarAccess.getUnaryAggregationTypeEnumAccess().getSUMEnumLiteralDeclaration_0()); 
                     }
-                    // InternalReportDSL.g:6322:3: ( 'sum' )
-                    // InternalReportDSL.g:6322:4: 'sum'
+                    // InternalReportDSL.g:6365:3: ( 'sum' )
+                    // InternalReportDSL.g:6365:4: 'sum'
                     {
-                    match(input,91,FOLLOW_2); if (state.failed) return ;
+                    match(input,94,FOLLOW_2); if (state.failed) return ;
 
                     }
 
@@ -23529,18 +23711,18 @@
                     }
                     break;
                 case 2 :
-                    // InternalReportDSL.g:6326:2: ( ( 'average' ) )
+                    // InternalReportDSL.g:6369:2: ( ( 'average' ) )
                     {
-                    // InternalReportDSL.g:6326:2: ( ( 'average' ) )
-                    // InternalReportDSL.g:6327:3: ( 'average' )
+                    // InternalReportDSL.g:6369:2: ( ( 'average' ) )
+                    // InternalReportDSL.g:6370:3: ( 'average' )
                     {
                     if ( state.backtracking==0 ) {
                        before(grammarAccess.getUnaryAggregationTypeEnumAccess().getAVEEnumLiteralDeclaration_1()); 
                     }
-                    // InternalReportDSL.g:6328:3: ( 'average' )
-                    // InternalReportDSL.g:6328:4: 'average'
+                    // InternalReportDSL.g:6371:3: ( 'average' )
+                    // InternalReportDSL.g:6371:4: 'average'
                     {
-                    match(input,92,FOLLOW_2); if (state.failed) return ;
+                    match(input,95,FOLLOW_2); if (state.failed) return ;
 
                     }
 
@@ -23554,18 +23736,18 @@
                     }
                     break;
                 case 3 :
-                    // InternalReportDSL.g:6332:2: ( ( 'minimum' ) )
+                    // InternalReportDSL.g:6375:2: ( ( 'minimum' ) )
                     {
-                    // InternalReportDSL.g:6332:2: ( ( 'minimum' ) )
-                    // InternalReportDSL.g:6333:3: ( 'minimum' )
+                    // InternalReportDSL.g:6375:2: ( ( 'minimum' ) )
+                    // InternalReportDSL.g:6376:3: ( 'minimum' )
                     {
                     if ( state.backtracking==0 ) {
                        before(grammarAccess.getUnaryAggregationTypeEnumAccess().getMINEnumLiteralDeclaration_2()); 
                     }
-                    // InternalReportDSL.g:6334:3: ( 'minimum' )
-                    // InternalReportDSL.g:6334:4: 'minimum'
+                    // InternalReportDSL.g:6377:3: ( 'minimum' )
+                    // InternalReportDSL.g:6377:4: 'minimum'
                     {
-                    match(input,93,FOLLOW_2); if (state.failed) return ;
+                    match(input,96,FOLLOW_2); if (state.failed) return ;
 
                     }
 
@@ -23579,18 +23761,18 @@
                     }
                     break;
                 case 4 :
-                    // InternalReportDSL.g:6338:2: ( ( 'maximum' ) )
+                    // InternalReportDSL.g:6381:2: ( ( 'maximum' ) )
                     {
-                    // InternalReportDSL.g:6338:2: ( ( 'maximum' ) )
-                    // InternalReportDSL.g:6339:3: ( 'maximum' )
+                    // InternalReportDSL.g:6381:2: ( ( 'maximum' ) )
+                    // InternalReportDSL.g:6382:3: ( 'maximum' )
                     {
                     if ( state.backtracking==0 ) {
                        before(grammarAccess.getUnaryAggregationTypeEnumAccess().getMAXEnumLiteralDeclaration_3()); 
                     }
-                    // InternalReportDSL.g:6340:3: ( 'maximum' )
-                    // InternalReportDSL.g:6340:4: 'maximum'
+                    // InternalReportDSL.g:6383:3: ( 'maximum' )
+                    // InternalReportDSL.g:6383:4: 'maximum'
                     {
-                    match(input,94,FOLLOW_2); if (state.failed) return ;
+                    match(input,97,FOLLOW_2); if (state.failed) return ;
 
                     }
 
@@ -23604,18 +23786,18 @@
                     }
                     break;
                 case 5 :
-                    // InternalReportDSL.g:6344:2: ( ( 'running-sum' ) )
+                    // InternalReportDSL.g:6387:2: ( ( 'running-sum' ) )
                     {
-                    // InternalReportDSL.g:6344:2: ( ( 'running-sum' ) )
-                    // InternalReportDSL.g:6345:3: ( 'running-sum' )
+                    // InternalReportDSL.g:6387:2: ( ( 'running-sum' ) )
+                    // InternalReportDSL.g:6388:3: ( 'running-sum' )
                     {
                     if ( state.backtracking==0 ) {
                        before(grammarAccess.getUnaryAggregationTypeEnumAccess().getRUNNINGSUMEnumLiteralDeclaration_4()); 
                     }
-                    // InternalReportDSL.g:6346:3: ( 'running-sum' )
-                    // InternalReportDSL.g:6346:4: 'running-sum'
+                    // InternalReportDSL.g:6389:3: ( 'running-sum' )
+                    // InternalReportDSL.g:6389:4: 'running-sum'
                     {
-                    match(input,95,FOLLOW_2); if (state.failed) return ;
+                    match(input,98,FOLLOW_2); if (state.failed) return ;
 
                     }
 
@@ -23646,52 +23828,52 @@
 
 
     // $ANTLR start "rule__BeforeAfterPageBreakEnum__Alternatives"
-    // InternalReportDSL.g:6354:1: rule__BeforeAfterPageBreakEnum__Alternatives : ( ( ( 'auto' ) ) | ( ( 'always' ) ) | ( ( 'avoid' ) ) );
+    // InternalReportDSL.g:6397:1: rule__BeforeAfterPageBreakEnum__Alternatives : ( ( ( 'auto' ) ) | ( ( 'always' ) ) | ( ( 'avoid' ) ) );
     public final void rule__BeforeAfterPageBreakEnum__Alternatives() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:6358:1: ( ( ( 'auto' ) ) | ( ( 'always' ) ) | ( ( 'avoid' ) ) )
-            int alt69=3;
+            // InternalReportDSL.g:6401:1: ( ( ( 'auto' ) ) | ( ( 'always' ) ) | ( ( 'avoid' ) ) )
+            int alt70=3;
             switch ( input.LA(1) ) {
-            case 96:
+            case 99:
                 {
-                alt69=1;
+                alt70=1;
                 }
                 break;
-            case 97:
+            case 100:
                 {
-                alt69=2;
+                alt70=2;
                 }
                 break;
-            case 98:
+            case 101:
                 {
-                alt69=3;
+                alt70=3;
                 }
                 break;
             default:
                 if (state.backtracking>0) {state.failed=true; return ;}
                 NoViableAltException nvae =
-                    new NoViableAltException("", 69, 0, input);
+                    new NoViableAltException("", 70, 0, input);
 
                 throw nvae;
             }
 
-            switch (alt69) {
+            switch (alt70) {
                 case 1 :
-                    // InternalReportDSL.g:6359:2: ( ( 'auto' ) )
+                    // InternalReportDSL.g:6402:2: ( ( 'auto' ) )
                     {
-                    // InternalReportDSL.g:6359:2: ( ( 'auto' ) )
-                    // InternalReportDSL.g:6360:3: ( 'auto' )
+                    // InternalReportDSL.g:6402:2: ( ( 'auto' ) )
+                    // InternalReportDSL.g:6403:3: ( 'auto' )
                     {
                     if ( state.backtracking==0 ) {
                        before(grammarAccess.getBeforeAfterPageBreakEnumAccess().getAUTOEnumLiteralDeclaration_0()); 
                     }
-                    // InternalReportDSL.g:6361:3: ( 'auto' )
-                    // InternalReportDSL.g:6361:4: 'auto'
+                    // InternalReportDSL.g:6404:3: ( 'auto' )
+                    // InternalReportDSL.g:6404:4: 'auto'
                     {
-                    match(input,96,FOLLOW_2); if (state.failed) return ;
+                    match(input,99,FOLLOW_2); if (state.failed) return ;
 
                     }
 
@@ -23705,18 +23887,18 @@
                     }
                     break;
                 case 2 :
-                    // InternalReportDSL.g:6365:2: ( ( 'always' ) )
+                    // InternalReportDSL.g:6408:2: ( ( 'always' ) )
                     {
-                    // InternalReportDSL.g:6365:2: ( ( 'always' ) )
-                    // InternalReportDSL.g:6366:3: ( 'always' )
+                    // InternalReportDSL.g:6408:2: ( ( 'always' ) )
+                    // InternalReportDSL.g:6409:3: ( 'always' )
                     {
                     if ( state.backtracking==0 ) {
                        before(grammarAccess.getBeforeAfterPageBreakEnumAccess().getALWAYSEnumLiteralDeclaration_1()); 
                     }
-                    // InternalReportDSL.g:6367:3: ( 'always' )
-                    // InternalReportDSL.g:6367:4: 'always'
+                    // InternalReportDSL.g:6410:3: ( 'always' )
+                    // InternalReportDSL.g:6410:4: 'always'
                     {
-                    match(input,97,FOLLOW_2); if (state.failed) return ;
+                    match(input,100,FOLLOW_2); if (state.failed) return ;
 
                     }
 
@@ -23730,18 +23912,18 @@
                     }
                     break;
                 case 3 :
-                    // InternalReportDSL.g:6371:2: ( ( 'avoid' ) )
+                    // InternalReportDSL.g:6414:2: ( ( 'avoid' ) )
                     {
-                    // InternalReportDSL.g:6371:2: ( ( 'avoid' ) )
-                    // InternalReportDSL.g:6372:3: ( 'avoid' )
+                    // InternalReportDSL.g:6414:2: ( ( 'avoid' ) )
+                    // InternalReportDSL.g:6415:3: ( 'avoid' )
                     {
                     if ( state.backtracking==0 ) {
                        before(grammarAccess.getBeforeAfterPageBreakEnumAccess().getAVOIDEnumLiteralDeclaration_2()); 
                     }
-                    // InternalReportDSL.g:6373:3: ( 'avoid' )
-                    // InternalReportDSL.g:6373:4: 'avoid'
+                    // InternalReportDSL.g:6416:3: ( 'avoid' )
+                    // InternalReportDSL.g:6416:4: 'avoid'
                     {
-                    match(input,98,FOLLOW_2); if (state.failed) return ;
+                    match(input,101,FOLLOW_2); if (state.failed) return ;
 
                     }
 
@@ -23772,43 +23954,43 @@
 
 
     // $ANTLR start "rule__InsidePageBreakEnum__Alternatives"
-    // InternalReportDSL.g:6381:1: rule__InsidePageBreakEnum__Alternatives : ( ( ( 'auto' ) ) | ( ( 'avoid' ) ) );
+    // InternalReportDSL.g:6424:1: rule__InsidePageBreakEnum__Alternatives : ( ( ( 'auto' ) ) | ( ( 'avoid' ) ) );
     public final void rule__InsidePageBreakEnum__Alternatives() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:6385:1: ( ( ( 'auto' ) ) | ( ( 'avoid' ) ) )
-            int alt70=2;
-            int LA70_0 = input.LA(1);
+            // InternalReportDSL.g:6428:1: ( ( ( 'auto' ) ) | ( ( 'avoid' ) ) )
+            int alt71=2;
+            int LA71_0 = input.LA(1);
 
-            if ( (LA70_0==96) ) {
-                alt70=1;
+            if ( (LA71_0==99) ) {
+                alt71=1;
             }
-            else if ( (LA70_0==98) ) {
-                alt70=2;
+            else if ( (LA71_0==101) ) {
+                alt71=2;
             }
             else {
                 if (state.backtracking>0) {state.failed=true; return ;}
                 NoViableAltException nvae =
-                    new NoViableAltException("", 70, 0, input);
+                    new NoViableAltException("", 71, 0, input);
 
                 throw nvae;
             }
-            switch (alt70) {
+            switch (alt71) {
                 case 1 :
-                    // InternalReportDSL.g:6386:2: ( ( 'auto' ) )
+                    // InternalReportDSL.g:6429:2: ( ( 'auto' ) )
                     {
-                    // InternalReportDSL.g:6386:2: ( ( 'auto' ) )
-                    // InternalReportDSL.g:6387:3: ( 'auto' )
+                    // InternalReportDSL.g:6429:2: ( ( 'auto' ) )
+                    // InternalReportDSL.g:6430:3: ( 'auto' )
                     {
                     if ( state.backtracking==0 ) {
                        before(grammarAccess.getInsidePageBreakEnumAccess().getAUTOEnumLiteralDeclaration_0()); 
                     }
-                    // InternalReportDSL.g:6388:3: ( 'auto' )
-                    // InternalReportDSL.g:6388:4: 'auto'
+                    // InternalReportDSL.g:6431:3: ( 'auto' )
+                    // InternalReportDSL.g:6431:4: 'auto'
                     {
-                    match(input,96,FOLLOW_2); if (state.failed) return ;
+                    match(input,99,FOLLOW_2); if (state.failed) return ;
 
                     }
 
@@ -23822,18 +24004,18 @@
                     }
                     break;
                 case 2 :
-                    // InternalReportDSL.g:6392:2: ( ( 'avoid' ) )
+                    // InternalReportDSL.g:6435:2: ( ( 'avoid' ) )
                     {
-                    // InternalReportDSL.g:6392:2: ( ( 'avoid' ) )
-                    // InternalReportDSL.g:6393:3: ( 'avoid' )
+                    // InternalReportDSL.g:6435:2: ( ( 'avoid' ) )
+                    // InternalReportDSL.g:6436:3: ( 'avoid' )
                     {
                     if ( state.backtracking==0 ) {
                        before(grammarAccess.getInsidePageBreakEnumAccess().getAVOIDEnumLiteralDeclaration_1()); 
                     }
-                    // InternalReportDSL.g:6394:3: ( 'avoid' )
-                    // InternalReportDSL.g:6394:4: 'avoid'
+                    // InternalReportDSL.g:6437:3: ( 'avoid' )
+                    // InternalReportDSL.g:6437:4: 'avoid'
                     {
-                    match(input,98,FOLLOW_2); if (state.failed) return ;
+                    match(input,101,FOLLOW_2); if (state.failed) return ;
 
                     }
 
@@ -23864,62 +24046,62 @@
 
 
     // $ANTLR start "rule__TrendIconEnum__Alternatives"
-    // InternalReportDSL.g:6402:1: rule__TrendIconEnum__Alternatives : ( ( ( 'rising' ) ) | ( ( 'bad-rising' ) ) | ( ( 'sloping' ) ) | ( ( 'good-sloping' ) ) | ( ( 'stagnating' ) ) );
+    // InternalReportDSL.g:6445:1: rule__TrendIconEnum__Alternatives : ( ( ( 'rising' ) ) | ( ( 'bad-rising' ) ) | ( ( 'sloping' ) ) | ( ( 'good-sloping' ) ) | ( ( 'stagnating' ) ) );
     public final void rule__TrendIconEnum__Alternatives() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:6406:1: ( ( ( 'rising' ) ) | ( ( 'bad-rising' ) ) | ( ( 'sloping' ) ) | ( ( 'good-sloping' ) ) | ( ( 'stagnating' ) ) )
-            int alt71=5;
+            // InternalReportDSL.g:6449:1: ( ( ( 'rising' ) ) | ( ( 'bad-rising' ) ) | ( ( 'sloping' ) ) | ( ( 'good-sloping' ) ) | ( ( 'stagnating' ) ) )
+            int alt72=5;
             switch ( input.LA(1) ) {
-            case 99:
-                {
-                alt71=1;
-                }
-                break;
-            case 100:
-                {
-                alt71=2;
-                }
-                break;
-            case 101:
-                {
-                alt71=3;
-                }
-                break;
             case 102:
                 {
-                alt71=4;
+                alt72=1;
                 }
                 break;
             case 103:
                 {
-                alt71=5;
+                alt72=2;
+                }
+                break;
+            case 104:
+                {
+                alt72=3;
+                }
+                break;
+            case 105:
+                {
+                alt72=4;
+                }
+                break;
+            case 106:
+                {
+                alt72=5;
                 }
                 break;
             default:
                 if (state.backtracking>0) {state.failed=true; return ;}
                 NoViableAltException nvae =
-                    new NoViableAltException("", 71, 0, input);
+                    new NoViableAltException("", 72, 0, input);
 
                 throw nvae;
             }
 
-            switch (alt71) {
+            switch (alt72) {
                 case 1 :
-                    // InternalReportDSL.g:6407:2: ( ( 'rising' ) )
+                    // InternalReportDSL.g:6450:2: ( ( 'rising' ) )
                     {
-                    // InternalReportDSL.g:6407:2: ( ( 'rising' ) )
-                    // InternalReportDSL.g:6408:3: ( 'rising' )
+                    // InternalReportDSL.g:6450:2: ( ( 'rising' ) )
+                    // InternalReportDSL.g:6451:3: ( 'rising' )
                     {
                     if ( state.backtracking==0 ) {
                        before(grammarAccess.getTrendIconEnumAccess().getRISINGEnumLiteralDeclaration_0()); 
                     }
-                    // InternalReportDSL.g:6409:3: ( 'rising' )
-                    // InternalReportDSL.g:6409:4: 'rising'
+                    // InternalReportDSL.g:6452:3: ( 'rising' )
+                    // InternalReportDSL.g:6452:4: 'rising'
                     {
-                    match(input,99,FOLLOW_2); if (state.failed) return ;
+                    match(input,102,FOLLOW_2); if (state.failed) return ;
 
                     }
 
@@ -23933,18 +24115,18 @@
                     }
                     break;
                 case 2 :
-                    // InternalReportDSL.g:6413:2: ( ( 'bad-rising' ) )
+                    // InternalReportDSL.g:6456:2: ( ( 'bad-rising' ) )
                     {
-                    // InternalReportDSL.g:6413:2: ( ( 'bad-rising' ) )
-                    // InternalReportDSL.g:6414:3: ( 'bad-rising' )
+                    // InternalReportDSL.g:6456:2: ( ( 'bad-rising' ) )
+                    // InternalReportDSL.g:6457:3: ( 'bad-rising' )
                     {
                     if ( state.backtracking==0 ) {
                        before(grammarAccess.getTrendIconEnumAccess().getBADRISINGEnumLiteralDeclaration_1()); 
                     }
-                    // InternalReportDSL.g:6415:3: ( 'bad-rising' )
-                    // InternalReportDSL.g:6415:4: 'bad-rising'
+                    // InternalReportDSL.g:6458:3: ( 'bad-rising' )
+                    // InternalReportDSL.g:6458:4: 'bad-rising'
                     {
-                    match(input,100,FOLLOW_2); if (state.failed) return ;
+                    match(input,103,FOLLOW_2); if (state.failed) return ;
 
                     }
 
@@ -23958,18 +24140,18 @@
                     }
                     break;
                 case 3 :
-                    // InternalReportDSL.g:6419:2: ( ( 'sloping' ) )
+                    // InternalReportDSL.g:6462:2: ( ( 'sloping' ) )
                     {
-                    // InternalReportDSL.g:6419:2: ( ( 'sloping' ) )
-                    // InternalReportDSL.g:6420:3: ( 'sloping' )
+                    // InternalReportDSL.g:6462:2: ( ( 'sloping' ) )
+                    // InternalReportDSL.g:6463:3: ( 'sloping' )
                     {
                     if ( state.backtracking==0 ) {
                        before(grammarAccess.getTrendIconEnumAccess().getSLOPINGEnumLiteralDeclaration_2()); 
                     }
-                    // InternalReportDSL.g:6421:3: ( 'sloping' )
-                    // InternalReportDSL.g:6421:4: 'sloping'
+                    // InternalReportDSL.g:6464:3: ( 'sloping' )
+                    // InternalReportDSL.g:6464:4: 'sloping'
                     {
-                    match(input,101,FOLLOW_2); if (state.failed) return ;
+                    match(input,104,FOLLOW_2); if (state.failed) return ;
 
                     }
 
@@ -23983,18 +24165,18 @@
                     }
                     break;
                 case 4 :
-                    // InternalReportDSL.g:6425:2: ( ( 'good-sloping' ) )
+                    // InternalReportDSL.g:6468:2: ( ( 'good-sloping' ) )
                     {
-                    // InternalReportDSL.g:6425:2: ( ( 'good-sloping' ) )
-                    // InternalReportDSL.g:6426:3: ( 'good-sloping' )
+                    // InternalReportDSL.g:6468:2: ( ( 'good-sloping' ) )
+                    // InternalReportDSL.g:6469:3: ( 'good-sloping' )
                     {
                     if ( state.backtracking==0 ) {
                        before(grammarAccess.getTrendIconEnumAccess().getGOODSLOPINGEnumLiteralDeclaration_3()); 
                     }
-                    // InternalReportDSL.g:6427:3: ( 'good-sloping' )
-                    // InternalReportDSL.g:6427:4: 'good-sloping'
+                    // InternalReportDSL.g:6470:3: ( 'good-sloping' )
+                    // InternalReportDSL.g:6470:4: 'good-sloping'
                     {
-                    match(input,102,FOLLOW_2); if (state.failed) return ;
+                    match(input,105,FOLLOW_2); if (state.failed) return ;
 
                     }
 
@@ -24008,18 +24190,18 @@
                     }
                     break;
                 case 5 :
-                    // InternalReportDSL.g:6431:2: ( ( 'stagnating' ) )
+                    // InternalReportDSL.g:6474:2: ( ( 'stagnating' ) )
                     {
-                    // InternalReportDSL.g:6431:2: ( ( 'stagnating' ) )
-                    // InternalReportDSL.g:6432:3: ( 'stagnating' )
+                    // InternalReportDSL.g:6474:2: ( ( 'stagnating' ) )
+                    // InternalReportDSL.g:6475:3: ( 'stagnating' )
                     {
                     if ( state.backtracking==0 ) {
                        before(grammarAccess.getTrendIconEnumAccess().getSTAGNATINGEnumLiteralDeclaration_4()); 
                     }
-                    // InternalReportDSL.g:6433:3: ( 'stagnating' )
-                    // InternalReportDSL.g:6433:4: 'stagnating'
+                    // InternalReportDSL.g:6476:3: ( 'stagnating' )
+                    // InternalReportDSL.g:6476:4: 'stagnating'
                     {
-                    match(input,103,FOLLOW_2); if (state.failed) return ;
+                    match(input,106,FOLLOW_2); if (state.failed) return ;
 
                     }
 
@@ -24050,82 +24232,82 @@
 
 
     // $ANTLR start "rule__BorderTypeEnum__Alternatives"
-    // InternalReportDSL.g:6441:1: rule__BorderTypeEnum__Alternatives : ( ( ( 'none' ) ) | ( ( 'solid' ) ) | ( ( 'dotted' ) ) | ( ( 'dashed' ) ) | ( ( 'double' ) ) | ( ( 'groove' ) ) | ( ( 'ridge' ) ) | ( ( 'inset' ) ) | ( ( 'outset' ) ) );
+    // InternalReportDSL.g:6484:1: rule__BorderTypeEnum__Alternatives : ( ( ( 'none' ) ) | ( ( 'solid' ) ) | ( ( 'dotted' ) ) | ( ( 'dashed' ) ) | ( ( 'double' ) ) | ( ( 'groove' ) ) | ( ( 'ridge' ) ) | ( ( 'inset' ) ) | ( ( 'outset' ) ) );
     public final void rule__BorderTypeEnum__Alternatives() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:6445:1: ( ( ( 'none' ) ) | ( ( 'solid' ) ) | ( ( 'dotted' ) ) | ( ( 'dashed' ) ) | ( ( 'double' ) ) | ( ( 'groove' ) ) | ( ( 'ridge' ) ) | ( ( 'inset' ) ) | ( ( 'outset' ) ) )
-            int alt72=9;
+            // InternalReportDSL.g:6488:1: ( ( ( 'none' ) ) | ( ( 'solid' ) ) | ( ( 'dotted' ) ) | ( ( 'dashed' ) ) | ( ( 'double' ) ) | ( ( 'groove' ) ) | ( ( 'ridge' ) ) | ( ( 'inset' ) ) | ( ( 'outset' ) ) )
+            int alt73=9;
             switch ( input.LA(1) ) {
-            case 104:
-                {
-                alt72=1;
-                }
-                break;
-            case 105:
-                {
-                alt72=2;
-                }
-                break;
-            case 106:
-                {
-                alt72=3;
-                }
-                break;
             case 107:
                 {
-                alt72=4;
+                alt73=1;
                 }
                 break;
             case 108:
                 {
-                alt72=5;
+                alt73=2;
                 }
                 break;
             case 109:
                 {
-                alt72=6;
+                alt73=3;
                 }
                 break;
             case 110:
                 {
-                alt72=7;
+                alt73=4;
                 }
                 break;
             case 111:
                 {
-                alt72=8;
+                alt73=5;
                 }
                 break;
             case 112:
                 {
-                alt72=9;
+                alt73=6;
+                }
+                break;
+            case 113:
+                {
+                alt73=7;
+                }
+                break;
+            case 114:
+                {
+                alt73=8;
+                }
+                break;
+            case 115:
+                {
+                alt73=9;
                 }
                 break;
             default:
                 if (state.backtracking>0) {state.failed=true; return ;}
                 NoViableAltException nvae =
-                    new NoViableAltException("", 72, 0, input);
+                    new NoViableAltException("", 73, 0, input);
 
                 throw nvae;
             }
 
-            switch (alt72) {
+            switch (alt73) {
                 case 1 :
-                    // InternalReportDSL.g:6446:2: ( ( 'none' ) )
+                    // InternalReportDSL.g:6489:2: ( ( 'none' ) )
                     {
-                    // InternalReportDSL.g:6446:2: ( ( 'none' ) )
-                    // InternalReportDSL.g:6447:3: ( 'none' )
+                    // InternalReportDSL.g:6489:2: ( ( 'none' ) )
+                    // InternalReportDSL.g:6490:3: ( 'none' )
                     {
                     if ( state.backtracking==0 ) {
                        before(grammarAccess.getBorderTypeEnumAccess().getNONEEnumLiteralDeclaration_0()); 
                     }
-                    // InternalReportDSL.g:6448:3: ( 'none' )
-                    // InternalReportDSL.g:6448:4: 'none'
+                    // InternalReportDSL.g:6491:3: ( 'none' )
+                    // InternalReportDSL.g:6491:4: 'none'
                     {
-                    match(input,104,FOLLOW_2); if (state.failed) return ;
+                    match(input,107,FOLLOW_2); if (state.failed) return ;
 
                     }
 
@@ -24139,18 +24321,18 @@
                     }
                     break;
                 case 2 :
-                    // InternalReportDSL.g:6452:2: ( ( 'solid' ) )
+                    // InternalReportDSL.g:6495:2: ( ( 'solid' ) )
                     {
-                    // InternalReportDSL.g:6452:2: ( ( 'solid' ) )
-                    // InternalReportDSL.g:6453:3: ( 'solid' )
+                    // InternalReportDSL.g:6495:2: ( ( 'solid' ) )
+                    // InternalReportDSL.g:6496:3: ( 'solid' )
                     {
                     if ( state.backtracking==0 ) {
                        before(grammarAccess.getBorderTypeEnumAccess().getSOLIDEnumLiteralDeclaration_1()); 
                     }
-                    // InternalReportDSL.g:6454:3: ( 'solid' )
-                    // InternalReportDSL.g:6454:4: 'solid'
+                    // InternalReportDSL.g:6497:3: ( 'solid' )
+                    // InternalReportDSL.g:6497:4: 'solid'
                     {
-                    match(input,105,FOLLOW_2); if (state.failed) return ;
+                    match(input,108,FOLLOW_2); if (state.failed) return ;
 
                     }
 
@@ -24164,18 +24346,18 @@
                     }
                     break;
                 case 3 :
-                    // InternalReportDSL.g:6458:2: ( ( 'dotted' ) )
+                    // InternalReportDSL.g:6501:2: ( ( 'dotted' ) )
                     {
-                    // InternalReportDSL.g:6458:2: ( ( 'dotted' ) )
-                    // InternalReportDSL.g:6459:3: ( 'dotted' )
+                    // InternalReportDSL.g:6501:2: ( ( 'dotted' ) )
+                    // InternalReportDSL.g:6502:3: ( 'dotted' )
                     {
                     if ( state.backtracking==0 ) {
                        before(grammarAccess.getBorderTypeEnumAccess().getDOTTEDEnumLiteralDeclaration_2()); 
                     }
-                    // InternalReportDSL.g:6460:3: ( 'dotted' )
-                    // InternalReportDSL.g:6460:4: 'dotted'
+                    // InternalReportDSL.g:6503:3: ( 'dotted' )
+                    // InternalReportDSL.g:6503:4: 'dotted'
                     {
-                    match(input,106,FOLLOW_2); if (state.failed) return ;
+                    match(input,109,FOLLOW_2); if (state.failed) return ;
 
                     }
 
@@ -24189,18 +24371,18 @@
                     }
                     break;
                 case 4 :
-                    // InternalReportDSL.g:6464:2: ( ( 'dashed' ) )
+                    // InternalReportDSL.g:6507:2: ( ( 'dashed' ) )
                     {
-                    // InternalReportDSL.g:6464:2: ( ( 'dashed' ) )
-                    // InternalReportDSL.g:6465:3: ( 'dashed' )
+                    // InternalReportDSL.g:6507:2: ( ( 'dashed' ) )
+                    // InternalReportDSL.g:6508:3: ( 'dashed' )
                     {
                     if ( state.backtracking==0 ) {
                        before(grammarAccess.getBorderTypeEnumAccess().getDASHEDEnumLiteralDeclaration_3()); 
                     }
-                    // InternalReportDSL.g:6466:3: ( 'dashed' )
-                    // InternalReportDSL.g:6466:4: 'dashed'
+                    // InternalReportDSL.g:6509:3: ( 'dashed' )
+                    // InternalReportDSL.g:6509:4: 'dashed'
                     {
-                    match(input,107,FOLLOW_2); if (state.failed) return ;
+                    match(input,110,FOLLOW_2); if (state.failed) return ;
 
                     }
 
@@ -24214,18 +24396,18 @@
                     }
                     break;
                 case 5 :
-                    // InternalReportDSL.g:6470:2: ( ( 'double' ) )
+                    // InternalReportDSL.g:6513:2: ( ( 'double' ) )
                     {
-                    // InternalReportDSL.g:6470:2: ( ( 'double' ) )
-                    // InternalReportDSL.g:6471:3: ( 'double' )
+                    // InternalReportDSL.g:6513:2: ( ( 'double' ) )
+                    // InternalReportDSL.g:6514:3: ( 'double' )
                     {
                     if ( state.backtracking==0 ) {
                        before(grammarAccess.getBorderTypeEnumAccess().getDOUBLEEnumLiteralDeclaration_4()); 
                     }
-                    // InternalReportDSL.g:6472:3: ( 'double' )
-                    // InternalReportDSL.g:6472:4: 'double'
+                    // InternalReportDSL.g:6515:3: ( 'double' )
+                    // InternalReportDSL.g:6515:4: 'double'
                     {
-                    match(input,108,FOLLOW_2); if (state.failed) return ;
+                    match(input,111,FOLLOW_2); if (state.failed) return ;
 
                     }
 
@@ -24239,18 +24421,18 @@
                     }
                     break;
                 case 6 :
-                    // InternalReportDSL.g:6476:2: ( ( 'groove' ) )
+                    // InternalReportDSL.g:6519:2: ( ( 'groove' ) )
                     {
-                    // InternalReportDSL.g:6476:2: ( ( 'groove' ) )
-                    // InternalReportDSL.g:6477:3: ( 'groove' )
+                    // InternalReportDSL.g:6519:2: ( ( 'groove' ) )
+                    // InternalReportDSL.g:6520:3: ( 'groove' )
                     {
                     if ( state.backtracking==0 ) {
                        before(grammarAccess.getBorderTypeEnumAccess().getGROOVEEnumLiteralDeclaration_5()); 
                     }
-                    // InternalReportDSL.g:6478:3: ( 'groove' )
-                    // InternalReportDSL.g:6478:4: 'groove'
+                    // InternalReportDSL.g:6521:3: ( 'groove' )
+                    // InternalReportDSL.g:6521:4: 'groove'
                     {
-                    match(input,109,FOLLOW_2); if (state.failed) return ;
+                    match(input,112,FOLLOW_2); if (state.failed) return ;
 
                     }
 
@@ -24264,18 +24446,18 @@
                     }
                     break;
                 case 7 :
-                    // InternalReportDSL.g:6482:2: ( ( 'ridge' ) )
+                    // InternalReportDSL.g:6525:2: ( ( 'ridge' ) )
                     {
-                    // InternalReportDSL.g:6482:2: ( ( 'ridge' ) )
-                    // InternalReportDSL.g:6483:3: ( 'ridge' )
+                    // InternalReportDSL.g:6525:2: ( ( 'ridge' ) )
+                    // InternalReportDSL.g:6526:3: ( 'ridge' )
                     {
                     if ( state.backtracking==0 ) {
                        before(grammarAccess.getBorderTypeEnumAccess().getRIDGEEnumLiteralDeclaration_6()); 
                     }
-                    // InternalReportDSL.g:6484:3: ( 'ridge' )
-                    // InternalReportDSL.g:6484:4: 'ridge'
+                    // InternalReportDSL.g:6527:3: ( 'ridge' )
+                    // InternalReportDSL.g:6527:4: 'ridge'
                     {
-                    match(input,110,FOLLOW_2); if (state.failed) return ;
+                    match(input,113,FOLLOW_2); if (state.failed) return ;
 
                     }
 
@@ -24289,18 +24471,18 @@
                     }
                     break;
                 case 8 :
-                    // InternalReportDSL.g:6488:2: ( ( 'inset' ) )
+                    // InternalReportDSL.g:6531:2: ( ( 'inset' ) )
                     {
-                    // InternalReportDSL.g:6488:2: ( ( 'inset' ) )
-                    // InternalReportDSL.g:6489:3: ( 'inset' )
+                    // InternalReportDSL.g:6531:2: ( ( 'inset' ) )
+                    // InternalReportDSL.g:6532:3: ( 'inset' )
                     {
                     if ( state.backtracking==0 ) {
                        before(grammarAccess.getBorderTypeEnumAccess().getINSETEnumLiteralDeclaration_7()); 
                     }
-                    // InternalReportDSL.g:6490:3: ( 'inset' )
-                    // InternalReportDSL.g:6490:4: 'inset'
+                    // InternalReportDSL.g:6533:3: ( 'inset' )
+                    // InternalReportDSL.g:6533:4: 'inset'
                     {
-                    match(input,111,FOLLOW_2); if (state.failed) return ;
+                    match(input,114,FOLLOW_2); if (state.failed) return ;
 
                     }
 
@@ -24314,18 +24496,18 @@
                     }
                     break;
                 case 9 :
-                    // InternalReportDSL.g:6494:2: ( ( 'outset' ) )
+                    // InternalReportDSL.g:6537:2: ( ( 'outset' ) )
                     {
-                    // InternalReportDSL.g:6494:2: ( ( 'outset' ) )
-                    // InternalReportDSL.g:6495:3: ( 'outset' )
+                    // InternalReportDSL.g:6537:2: ( ( 'outset' ) )
+                    // InternalReportDSL.g:6538:3: ( 'outset' )
                     {
                     if ( state.backtracking==0 ) {
                        before(grammarAccess.getBorderTypeEnumAccess().getOUTSETEnumLiteralDeclaration_8()); 
                     }
-                    // InternalReportDSL.g:6496:3: ( 'outset' )
-                    // InternalReportDSL.g:6496:4: 'outset'
+                    // InternalReportDSL.g:6539:3: ( 'outset' )
+                    // InternalReportDSL.g:6539:4: 'outset'
                     {
-                    match(input,112,FOLLOW_2); if (state.failed) return ;
+                    match(input,115,FOLLOW_2); if (state.failed) return ;
 
                     }
 
@@ -24356,62 +24538,77 @@
 
 
     // $ANTLR start "rule__AutoTextEnum__Alternatives"
-    // InternalReportDSL.g:6504:1: rule__AutoTextEnum__Alternatives : ( ( ( 'page-number' ) ) | ( ( 'total-page' ) ) | ( ( 'page-number-unfiltered' ) ) | ( ( 'total-page-unfiltered' ) ) | ( ( 'page-variable' ) ) );
+    // InternalReportDSL.g:6547:1: rule__AutoTextEnum__Alternatives : ( ( ( 'page-number' ) ) | ( ( 'total-page' ) ) | ( ( 'page-number-unfiltered' ) ) | ( ( 'total-page-unfiltered' ) ) | ( ( 'page-variable' ) ) | ( ( 'actual-date' ) ) | ( ( 'actual-time' ) ) | ( ( 'report-name' ) ) );
     public final void rule__AutoTextEnum__Alternatives() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:6508:1: ( ( ( 'page-number' ) ) | ( ( 'total-page' ) ) | ( ( 'page-number-unfiltered' ) ) | ( ( 'total-page-unfiltered' ) ) | ( ( 'page-variable' ) ) )
-            int alt73=5;
+            // InternalReportDSL.g:6551:1: ( ( ( 'page-number' ) ) | ( ( 'total-page' ) ) | ( ( 'page-number-unfiltered' ) ) | ( ( 'total-page-unfiltered' ) ) | ( ( 'page-variable' ) ) | ( ( 'actual-date' ) ) | ( ( 'actual-time' ) ) | ( ( 'report-name' ) ) )
+            int alt74=8;
             switch ( input.LA(1) ) {
-            case 113:
-                {
-                alt73=1;
-                }
-                break;
-            case 114:
-                {
-                alt73=2;
-                }
-                break;
-            case 115:
-                {
-                alt73=3;
-                }
-                break;
             case 116:
                 {
-                alt73=4;
+                alt74=1;
                 }
                 break;
             case 117:
                 {
-                alt73=5;
+                alt74=2;
+                }
+                break;
+            case 118:
+                {
+                alt74=3;
+                }
+                break;
+            case 119:
+                {
+                alt74=4;
+                }
+                break;
+            case 120:
+                {
+                alt74=5;
+                }
+                break;
+            case 121:
+                {
+                alt74=6;
+                }
+                break;
+            case 122:
+                {
+                alt74=7;
+                }
+                break;
+            case 123:
+                {
+                alt74=8;
                 }
                 break;
             default:
                 if (state.backtracking>0) {state.failed=true; return ;}
                 NoViableAltException nvae =
-                    new NoViableAltException("", 73, 0, input);
+                    new NoViableAltException("", 74, 0, input);
 
                 throw nvae;
             }
 
-            switch (alt73) {
+            switch (alt74) {
                 case 1 :
-                    // InternalReportDSL.g:6509:2: ( ( 'page-number' ) )
+                    // InternalReportDSL.g:6552:2: ( ( 'page-number' ) )
                     {
-                    // InternalReportDSL.g:6509:2: ( ( 'page-number' ) )
-                    // InternalReportDSL.g:6510:3: ( 'page-number' )
+                    // InternalReportDSL.g:6552:2: ( ( 'page-number' ) )
+                    // InternalReportDSL.g:6553:3: ( 'page-number' )
                     {
                     if ( state.backtracking==0 ) {
                        before(grammarAccess.getAutoTextEnumAccess().getPAGE_NUMBEREnumLiteralDeclaration_0()); 
                     }
-                    // InternalReportDSL.g:6511:3: ( 'page-number' )
-                    // InternalReportDSL.g:6511:4: 'page-number'
+                    // InternalReportDSL.g:6554:3: ( 'page-number' )
+                    // InternalReportDSL.g:6554:4: 'page-number'
                     {
-                    match(input,113,FOLLOW_2); if (state.failed) return ;
+                    match(input,116,FOLLOW_2); if (state.failed) return ;
 
                     }
 
@@ -24425,18 +24622,18 @@
                     }
                     break;
                 case 2 :
-                    // InternalReportDSL.g:6515:2: ( ( 'total-page' ) )
+                    // InternalReportDSL.g:6558:2: ( ( 'total-page' ) )
                     {
-                    // InternalReportDSL.g:6515:2: ( ( 'total-page' ) )
-                    // InternalReportDSL.g:6516:3: ( 'total-page' )
+                    // InternalReportDSL.g:6558:2: ( ( 'total-page' ) )
+                    // InternalReportDSL.g:6559:3: ( 'total-page' )
                     {
                     if ( state.backtracking==0 ) {
                        before(grammarAccess.getAutoTextEnumAccess().getTOTAL_PAGEEnumLiteralDeclaration_1()); 
                     }
-                    // InternalReportDSL.g:6517:3: ( 'total-page' )
-                    // InternalReportDSL.g:6517:4: 'total-page'
+                    // InternalReportDSL.g:6560:3: ( 'total-page' )
+                    // InternalReportDSL.g:6560:4: 'total-page'
                     {
-                    match(input,114,FOLLOW_2); if (state.failed) return ;
+                    match(input,117,FOLLOW_2); if (state.failed) return ;
 
                     }
 
@@ -24450,18 +24647,18 @@
                     }
                     break;
                 case 3 :
-                    // InternalReportDSL.g:6521:2: ( ( 'page-number-unfiltered' ) )
+                    // InternalReportDSL.g:6564:2: ( ( 'page-number-unfiltered' ) )
                     {
-                    // InternalReportDSL.g:6521:2: ( ( 'page-number-unfiltered' ) )
-                    // InternalReportDSL.g:6522:3: ( 'page-number-unfiltered' )
+                    // InternalReportDSL.g:6564:2: ( ( 'page-number-unfiltered' ) )
+                    // InternalReportDSL.g:6565:3: ( 'page-number-unfiltered' )
                     {
                     if ( state.backtracking==0 ) {
                        before(grammarAccess.getAutoTextEnumAccess().getPAGE_NUMBER_UNFILTEREDEnumLiteralDeclaration_2()); 
                     }
-                    // InternalReportDSL.g:6523:3: ( 'page-number-unfiltered' )
-                    // InternalReportDSL.g:6523:4: 'page-number-unfiltered'
+                    // InternalReportDSL.g:6566:3: ( 'page-number-unfiltered' )
+                    // InternalReportDSL.g:6566:4: 'page-number-unfiltered'
                     {
-                    match(input,115,FOLLOW_2); if (state.failed) return ;
+                    match(input,118,FOLLOW_2); if (state.failed) return ;
 
                     }
 
@@ -24475,18 +24672,18 @@
                     }
                     break;
                 case 4 :
-                    // InternalReportDSL.g:6527:2: ( ( 'total-page-unfiltered' ) )
+                    // InternalReportDSL.g:6570:2: ( ( 'total-page-unfiltered' ) )
                     {
-                    // InternalReportDSL.g:6527:2: ( ( 'total-page-unfiltered' ) )
-                    // InternalReportDSL.g:6528:3: ( 'total-page-unfiltered' )
+                    // InternalReportDSL.g:6570:2: ( ( 'total-page-unfiltered' ) )
+                    // InternalReportDSL.g:6571:3: ( 'total-page-unfiltered' )
                     {
                     if ( state.backtracking==0 ) {
                        before(grammarAccess.getAutoTextEnumAccess().getTOTAL_PAGE_UNFILTEREDEnumLiteralDeclaration_3()); 
                     }
-                    // InternalReportDSL.g:6529:3: ( 'total-page-unfiltered' )
-                    // InternalReportDSL.g:6529:4: 'total-page-unfiltered'
+                    // InternalReportDSL.g:6572:3: ( 'total-page-unfiltered' )
+                    // InternalReportDSL.g:6572:4: 'total-page-unfiltered'
                     {
-                    match(input,116,FOLLOW_2); if (state.failed) return ;
+                    match(input,119,FOLLOW_2); if (state.failed) return ;
 
                     }
 
@@ -24500,18 +24697,18 @@
                     }
                     break;
                 case 5 :
-                    // InternalReportDSL.g:6533:2: ( ( 'page-variable' ) )
+                    // InternalReportDSL.g:6576:2: ( ( 'page-variable' ) )
                     {
-                    // InternalReportDSL.g:6533:2: ( ( 'page-variable' ) )
-                    // InternalReportDSL.g:6534:3: ( 'page-variable' )
+                    // InternalReportDSL.g:6576:2: ( ( 'page-variable' ) )
+                    // InternalReportDSL.g:6577:3: ( 'page-variable' )
                     {
                     if ( state.backtracking==0 ) {
                        before(grammarAccess.getAutoTextEnumAccess().getPAGE_VARIABLEEnumLiteralDeclaration_4()); 
                     }
-                    // InternalReportDSL.g:6535:3: ( 'page-variable' )
-                    // InternalReportDSL.g:6535:4: 'page-variable'
+                    // InternalReportDSL.g:6578:3: ( 'page-variable' )
+                    // InternalReportDSL.g:6578:4: 'page-variable'
                     {
-                    match(input,117,FOLLOW_2); if (state.failed) return ;
+                    match(input,120,FOLLOW_2); if (state.failed) return ;
 
                     }
 
@@ -24524,6 +24721,81 @@
 
                     }
                     break;
+                case 6 :
+                    // InternalReportDSL.g:6582:2: ( ( 'actual-date' ) )
+                    {
+                    // InternalReportDSL.g:6582:2: ( ( 'actual-date' ) )
+                    // InternalReportDSL.g:6583:3: ( 'actual-date' )
+                    {
+                    if ( state.backtracking==0 ) {
+                       before(grammarAccess.getAutoTextEnumAccess().getACTUAL_DATEEnumLiteralDeclaration_5()); 
+                    }
+                    // InternalReportDSL.g:6584:3: ( 'actual-date' )
+                    // InternalReportDSL.g:6584:4: 'actual-date'
+                    {
+                    match(input,121,FOLLOW_2); if (state.failed) return ;
+
+                    }
+
+                    if ( state.backtracking==0 ) {
+                       after(grammarAccess.getAutoTextEnumAccess().getACTUAL_DATEEnumLiteralDeclaration_5()); 
+                    }
+
+                    }
+
+
+                    }
+                    break;
+                case 7 :
+                    // InternalReportDSL.g:6588:2: ( ( 'actual-time' ) )
+                    {
+                    // InternalReportDSL.g:6588:2: ( ( 'actual-time' ) )
+                    // InternalReportDSL.g:6589:3: ( 'actual-time' )
+                    {
+                    if ( state.backtracking==0 ) {
+                       before(grammarAccess.getAutoTextEnumAccess().getACTUAL_TIMEEnumLiteralDeclaration_6()); 
+                    }
+                    // InternalReportDSL.g:6590:3: ( 'actual-time' )
+                    // InternalReportDSL.g:6590:4: 'actual-time'
+                    {
+                    match(input,122,FOLLOW_2); if (state.failed) return ;
+
+                    }
+
+                    if ( state.backtracking==0 ) {
+                       after(grammarAccess.getAutoTextEnumAccess().getACTUAL_TIMEEnumLiteralDeclaration_6()); 
+                    }
+
+                    }
+
+
+                    }
+                    break;
+                case 8 :
+                    // InternalReportDSL.g:6594:2: ( ( 'report-name' ) )
+                    {
+                    // InternalReportDSL.g:6594:2: ( ( 'report-name' ) )
+                    // InternalReportDSL.g:6595:3: ( 'report-name' )
+                    {
+                    if ( state.backtracking==0 ) {
+                       before(grammarAccess.getAutoTextEnumAccess().getREPORT_NAMEEnumLiteralDeclaration_7()); 
+                    }
+                    // InternalReportDSL.g:6596:3: ( 'report-name' )
+                    // InternalReportDSL.g:6596:4: 'report-name'
+                    {
+                    match(input,123,FOLLOW_2); if (state.failed) return ;
+
+                    }
+
+                    if ( state.backtracking==0 ) {
+                       after(grammarAccess.getAutoTextEnumAccess().getREPORT_NAMEEnumLiteralDeclaration_7()); 
+                    }
+
+                    }
+
+
+                    }
+                    break;
 
             }
         }
@@ -24542,52 +24814,52 @@
 
 
     // $ANTLR start "rule__ImageSizeEnum__Alternatives"
-    // InternalReportDSL.g:6543:1: rule__ImageSizeEnum__Alternatives : ( ( ( 'size-to-image' ) ) | ( ( 'scale-to-item' ) ) | ( ( 'clip' ) ) );
+    // InternalReportDSL.g:6604:1: rule__ImageSizeEnum__Alternatives : ( ( ( 'size-to-image' ) ) | ( ( 'scale-to-item' ) ) | ( ( 'clip' ) ) );
     public final void rule__ImageSizeEnum__Alternatives() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:6547:1: ( ( ( 'size-to-image' ) ) | ( ( 'scale-to-item' ) ) | ( ( 'clip' ) ) )
-            int alt74=3;
+            // InternalReportDSL.g:6608:1: ( ( ( 'size-to-image' ) ) | ( ( 'scale-to-item' ) ) | ( ( 'clip' ) ) )
+            int alt75=3;
             switch ( input.LA(1) ) {
-            case 118:
+            case 124:
                 {
-                alt74=1;
+                alt75=1;
                 }
                 break;
-            case 119:
+            case 125:
                 {
-                alt74=2;
+                alt75=2;
                 }
                 break;
-            case 120:
+            case 126:
                 {
-                alt74=3;
+                alt75=3;
                 }
                 break;
             default:
                 if (state.backtracking>0) {state.failed=true; return ;}
                 NoViableAltException nvae =
-                    new NoViableAltException("", 74, 0, input);
+                    new NoViableAltException("", 75, 0, input);
 
                 throw nvae;
             }
 
-            switch (alt74) {
+            switch (alt75) {
                 case 1 :
-                    // InternalReportDSL.g:6548:2: ( ( 'size-to-image' ) )
+                    // InternalReportDSL.g:6609:2: ( ( 'size-to-image' ) )
                     {
-                    // InternalReportDSL.g:6548:2: ( ( 'size-to-image' ) )
-                    // InternalReportDSL.g:6549:3: ( 'size-to-image' )
+                    // InternalReportDSL.g:6609:2: ( ( 'size-to-image' ) )
+                    // InternalReportDSL.g:6610:3: ( 'size-to-image' )
                     {
                     if ( state.backtracking==0 ) {
                        before(grammarAccess.getImageSizeEnumAccess().getSIZE_TO_IMAGEEnumLiteralDeclaration_0()); 
                     }
-                    // InternalReportDSL.g:6550:3: ( 'size-to-image' )
-                    // InternalReportDSL.g:6550:4: 'size-to-image'
+                    // InternalReportDSL.g:6611:3: ( 'size-to-image' )
+                    // InternalReportDSL.g:6611:4: 'size-to-image'
                     {
-                    match(input,118,FOLLOW_2); if (state.failed) return ;
+                    match(input,124,FOLLOW_2); if (state.failed) return ;
 
                     }
 
@@ -24601,18 +24873,18 @@
                     }
                     break;
                 case 2 :
-                    // InternalReportDSL.g:6554:2: ( ( 'scale-to-item' ) )
+                    // InternalReportDSL.g:6615:2: ( ( 'scale-to-item' ) )
                     {
-                    // InternalReportDSL.g:6554:2: ( ( 'scale-to-item' ) )
-                    // InternalReportDSL.g:6555:3: ( 'scale-to-item' )
+                    // InternalReportDSL.g:6615:2: ( ( 'scale-to-item' ) )
+                    // InternalReportDSL.g:6616:3: ( 'scale-to-item' )
                     {
                     if ( state.backtracking==0 ) {
                        before(grammarAccess.getImageSizeEnumAccess().getSCALE_TO_ITEMEnumLiteralDeclaration_1()); 
                     }
-                    // InternalReportDSL.g:6556:3: ( 'scale-to-item' )
-                    // InternalReportDSL.g:6556:4: 'scale-to-item'
+                    // InternalReportDSL.g:6617:3: ( 'scale-to-item' )
+                    // InternalReportDSL.g:6617:4: 'scale-to-item'
                     {
-                    match(input,119,FOLLOW_2); if (state.failed) return ;
+                    match(input,125,FOLLOW_2); if (state.failed) return ;
 
                     }
 
@@ -24626,18 +24898,18 @@
                     }
                     break;
                 case 3 :
-                    // InternalReportDSL.g:6560:2: ( ( 'clip' ) )
+                    // InternalReportDSL.g:6621:2: ( ( 'clip' ) )
                     {
-                    // InternalReportDSL.g:6560:2: ( ( 'clip' ) )
-                    // InternalReportDSL.g:6561:3: ( 'clip' )
+                    // InternalReportDSL.g:6621:2: ( ( 'clip' ) )
+                    // InternalReportDSL.g:6622:3: ( 'clip' )
                     {
                     if ( state.backtracking==0 ) {
                        before(grammarAccess.getImageSizeEnumAccess().getCLIPEnumLiteralDeclaration_2()); 
                     }
-                    // InternalReportDSL.g:6562:3: ( 'clip' )
-                    // InternalReportDSL.g:6562:4: 'clip'
+                    // InternalReportDSL.g:6623:3: ( 'clip' )
+                    // InternalReportDSL.g:6623:4: 'clip'
                     {
-                    match(input,120,FOLLOW_2); if (state.failed) return ;
+                    match(input,126,FOLLOW_2); if (state.failed) return ;
 
                     }
 
@@ -24668,43 +24940,43 @@
 
 
     // $ANTLR start "rule__ImageSourceEnum__Alternatives"
-    // InternalReportDSL.g:6570:1: rule__ImageSourceEnum__Alternatives : ( ( ( 'url' ) ) | ( ( 'embed' ) ) );
+    // InternalReportDSL.g:6631:1: rule__ImageSourceEnum__Alternatives : ( ( ( 'url' ) ) | ( ( 'embed' ) ) );
     public final void rule__ImageSourceEnum__Alternatives() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:6574:1: ( ( ( 'url' ) ) | ( ( 'embed' ) ) )
-            int alt75=2;
-            int LA75_0 = input.LA(1);
+            // InternalReportDSL.g:6635:1: ( ( ( 'url' ) ) | ( ( 'embed' ) ) )
+            int alt76=2;
+            int LA76_0 = input.LA(1);
 
-            if ( (LA75_0==121) ) {
-                alt75=1;
+            if ( (LA76_0==127) ) {
+                alt76=1;
             }
-            else if ( (LA75_0==122) ) {
-                alt75=2;
+            else if ( (LA76_0==128) ) {
+                alt76=2;
             }
             else {
                 if (state.backtracking>0) {state.failed=true; return ;}
                 NoViableAltException nvae =
-                    new NoViableAltException("", 75, 0, input);
+                    new NoViableAltException("", 76, 0, input);
 
                 throw nvae;
             }
-            switch (alt75) {
+            switch (alt76) {
                 case 1 :
-                    // InternalReportDSL.g:6575:2: ( ( 'url' ) )
+                    // InternalReportDSL.g:6636:2: ( ( 'url' ) )
                     {
-                    // InternalReportDSL.g:6575:2: ( ( 'url' ) )
-                    // InternalReportDSL.g:6576:3: ( 'url' )
+                    // InternalReportDSL.g:6636:2: ( ( 'url' ) )
+                    // InternalReportDSL.g:6637:3: ( 'url' )
                     {
                     if ( state.backtracking==0 ) {
                        before(grammarAccess.getImageSourceEnumAccess().getURLEnumLiteralDeclaration_0()); 
                     }
-                    // InternalReportDSL.g:6577:3: ( 'url' )
-                    // InternalReportDSL.g:6577:4: 'url'
+                    // InternalReportDSL.g:6638:3: ( 'url' )
+                    // InternalReportDSL.g:6638:4: 'url'
                     {
-                    match(input,121,FOLLOW_2); if (state.failed) return ;
+                    match(input,127,FOLLOW_2); if (state.failed) return ;
 
                     }
 
@@ -24718,18 +24990,18 @@
                     }
                     break;
                 case 2 :
-                    // InternalReportDSL.g:6581:2: ( ( 'embed' ) )
+                    // InternalReportDSL.g:6642:2: ( ( 'embed' ) )
                     {
-                    // InternalReportDSL.g:6581:2: ( ( 'embed' ) )
-                    // InternalReportDSL.g:6582:3: ( 'embed' )
+                    // InternalReportDSL.g:6642:2: ( ( 'embed' ) )
+                    // InternalReportDSL.g:6643:3: ( 'embed' )
                     {
                     if ( state.backtracking==0 ) {
                        before(grammarAccess.getImageSourceEnumAccess().getEMBEDEnumLiteralDeclaration_1()); 
                     }
-                    // InternalReportDSL.g:6583:3: ( 'embed' )
-                    // InternalReportDSL.g:6583:4: 'embed'
+                    // InternalReportDSL.g:6644:3: ( 'embed' )
+                    // InternalReportDSL.g:6644:4: 'embed'
                     {
-                    match(input,122,FOLLOW_2); if (state.failed) return ;
+                    match(input,128,FOLLOW_2); if (state.failed) return ;
 
                     }
 
@@ -24760,52 +25032,52 @@
 
 
     // $ANTLR start "rule__TextContentTypeEnum__Alternatives"
-    // InternalReportDSL.g:6591:1: rule__TextContentTypeEnum__Alternatives : ( ( ( 'auto' ) ) | ( ( 'plain' ) ) | ( ( 'html' ) ) );
+    // InternalReportDSL.g:6652:1: rule__TextContentTypeEnum__Alternatives : ( ( ( 'auto' ) ) | ( ( 'plain' ) ) | ( ( 'html' ) ) );
     public final void rule__TextContentTypeEnum__Alternatives() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:6595:1: ( ( ( 'auto' ) ) | ( ( 'plain' ) ) | ( ( 'html' ) ) )
-            int alt76=3;
+            // InternalReportDSL.g:6656:1: ( ( ( 'auto' ) ) | ( ( 'plain' ) ) | ( ( 'html' ) ) )
+            int alt77=3;
             switch ( input.LA(1) ) {
-            case 96:
+            case 99:
                 {
-                alt76=1;
+                alt77=1;
                 }
                 break;
-            case 123:
+            case 129:
                 {
-                alt76=2;
+                alt77=2;
                 }
                 break;
-            case 87:
+            case 90:
                 {
-                alt76=3;
+                alt77=3;
                 }
                 break;
             default:
                 if (state.backtracking>0) {state.failed=true; return ;}
                 NoViableAltException nvae =
-                    new NoViableAltException("", 76, 0, input);
+                    new NoViableAltException("", 77, 0, input);
 
                 throw nvae;
             }
 
-            switch (alt76) {
+            switch (alt77) {
                 case 1 :
-                    // InternalReportDSL.g:6596:2: ( ( 'auto' ) )
+                    // InternalReportDSL.g:6657:2: ( ( 'auto' ) )
                     {
-                    // InternalReportDSL.g:6596:2: ( ( 'auto' ) )
-                    // InternalReportDSL.g:6597:3: ( 'auto' )
+                    // InternalReportDSL.g:6657:2: ( ( 'auto' ) )
+                    // InternalReportDSL.g:6658:3: ( 'auto' )
                     {
                     if ( state.backtracking==0 ) {
                        before(grammarAccess.getTextContentTypeEnumAccess().getAUTOEnumLiteralDeclaration_0()); 
                     }
-                    // InternalReportDSL.g:6598:3: ( 'auto' )
-                    // InternalReportDSL.g:6598:4: 'auto'
+                    // InternalReportDSL.g:6659:3: ( 'auto' )
+                    // InternalReportDSL.g:6659:4: 'auto'
                     {
-                    match(input,96,FOLLOW_2); if (state.failed) return ;
+                    match(input,99,FOLLOW_2); if (state.failed) return ;
 
                     }
 
@@ -24819,18 +25091,18 @@
                     }
                     break;
                 case 2 :
-                    // InternalReportDSL.g:6602:2: ( ( 'plain' ) )
+                    // InternalReportDSL.g:6663:2: ( ( 'plain' ) )
                     {
-                    // InternalReportDSL.g:6602:2: ( ( 'plain' ) )
-                    // InternalReportDSL.g:6603:3: ( 'plain' )
+                    // InternalReportDSL.g:6663:2: ( ( 'plain' ) )
+                    // InternalReportDSL.g:6664:3: ( 'plain' )
                     {
                     if ( state.backtracking==0 ) {
                        before(grammarAccess.getTextContentTypeEnumAccess().getPLAINEnumLiteralDeclaration_1()); 
                     }
-                    // InternalReportDSL.g:6604:3: ( 'plain' )
-                    // InternalReportDSL.g:6604:4: 'plain'
+                    // InternalReportDSL.g:6665:3: ( 'plain' )
+                    // InternalReportDSL.g:6665:4: 'plain'
                     {
-                    match(input,123,FOLLOW_2); if (state.failed) return ;
+                    match(input,129,FOLLOW_2); if (state.failed) return ;
 
                     }
 
@@ -24844,18 +25116,18 @@
                     }
                     break;
                 case 3 :
-                    // InternalReportDSL.g:6608:2: ( ( 'html' ) )
+                    // InternalReportDSL.g:6669:2: ( ( 'html' ) )
                     {
-                    // InternalReportDSL.g:6608:2: ( ( 'html' ) )
-                    // InternalReportDSL.g:6609:3: ( 'html' )
+                    // InternalReportDSL.g:6669:2: ( ( 'html' ) )
+                    // InternalReportDSL.g:6670:3: ( 'html' )
                     {
                     if ( state.backtracking==0 ) {
                        before(grammarAccess.getTextContentTypeEnumAccess().getHTMLEnumLiteralDeclaration_2()); 
                     }
-                    // InternalReportDSL.g:6610:3: ( 'html' )
-                    // InternalReportDSL.g:6610:4: 'html'
+                    // InternalReportDSL.g:6671:3: ( 'html' )
+                    // InternalReportDSL.g:6671:4: 'html'
                     {
-                    match(input,87,FOLLOW_2); if (state.failed) return ;
+                    match(input,90,FOLLOW_2); if (state.failed) return ;
 
                     }
 
@@ -24886,14 +25158,14 @@
 
 
     // $ANTLR start "rule__ReportModel__Group__0"
-    // InternalReportDSL.g:6618:1: rule__ReportModel__Group__0 : rule__ReportModel__Group__0__Impl rule__ReportModel__Group__1 ;
+    // InternalReportDSL.g:6679:1: rule__ReportModel__Group__0 : rule__ReportModel__Group__0__Impl rule__ReportModel__Group__1 ;
     public final void rule__ReportModel__Group__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:6622:1: ( rule__ReportModel__Group__0__Impl rule__ReportModel__Group__1 )
-            // InternalReportDSL.g:6623:2: rule__ReportModel__Group__0__Impl rule__ReportModel__Group__1
+            // InternalReportDSL.g:6683:1: ( rule__ReportModel__Group__0__Impl rule__ReportModel__Group__1 )
+            // InternalReportDSL.g:6684:2: rule__ReportModel__Group__0__Impl rule__ReportModel__Group__1
             {
             pushFollow(FOLLOW_5);
             rule__ReportModel__Group__0__Impl();
@@ -24924,31 +25196,31 @@
 
 
     // $ANTLR start "rule__ReportModel__Group__0__Impl"
-    // InternalReportDSL.g:6630:1: rule__ReportModel__Group__0__Impl : ( ( rule__ReportModel__ImportSectionAssignment_0 )? ) ;
+    // InternalReportDSL.g:6691:1: rule__ReportModel__Group__0__Impl : ( ( rule__ReportModel__ImportSectionAssignment_0 )? ) ;
     public final void rule__ReportModel__Group__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:6634:1: ( ( ( rule__ReportModel__ImportSectionAssignment_0 )? ) )
-            // InternalReportDSL.g:6635:1: ( ( rule__ReportModel__ImportSectionAssignment_0 )? )
+            // InternalReportDSL.g:6695:1: ( ( ( rule__ReportModel__ImportSectionAssignment_0 )? ) )
+            // InternalReportDSL.g:6696:1: ( ( rule__ReportModel__ImportSectionAssignment_0 )? )
             {
-            // InternalReportDSL.g:6635:1: ( ( rule__ReportModel__ImportSectionAssignment_0 )? )
-            // InternalReportDSL.g:6636:2: ( rule__ReportModel__ImportSectionAssignment_0 )?
+            // InternalReportDSL.g:6696:1: ( ( rule__ReportModel__ImportSectionAssignment_0 )? )
+            // InternalReportDSL.g:6697:2: ( rule__ReportModel__ImportSectionAssignment_0 )?
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getReportModelAccess().getImportSectionAssignment_0()); 
             }
-            // InternalReportDSL.g:6637:2: ( rule__ReportModel__ImportSectionAssignment_0 )?
-            int alt77=2;
-            int LA77_0 = input.LA(1);
+            // InternalReportDSL.g:6698:2: ( rule__ReportModel__ImportSectionAssignment_0 )?
+            int alt78=2;
+            int LA78_0 = input.LA(1);
 
-            if ( (LA77_0==51) ) {
-                alt77=1;
+            if ( (LA78_0==51) ) {
+                alt78=1;
             }
-            switch (alt77) {
+            switch (alt78) {
                 case 1 :
-                    // InternalReportDSL.g:6637:3: rule__ReportModel__ImportSectionAssignment_0
+                    // InternalReportDSL.g:6698:3: rule__ReportModel__ImportSectionAssignment_0
                     {
                     pushFollow(FOLLOW_2);
                     rule__ReportModel__ImportSectionAssignment_0();
@@ -24986,14 +25258,14 @@
 
 
     // $ANTLR start "rule__ReportModel__Group__1"
-    // InternalReportDSL.g:6645:1: rule__ReportModel__Group__1 : rule__ReportModel__Group__1__Impl ;
+    // InternalReportDSL.g:6706:1: rule__ReportModel__Group__1 : rule__ReportModel__Group__1__Impl ;
     public final void rule__ReportModel__Group__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:6649:1: ( rule__ReportModel__Group__1__Impl )
-            // InternalReportDSL.g:6650:2: rule__ReportModel__Group__1__Impl
+            // InternalReportDSL.g:6710:1: ( rule__ReportModel__Group__1__Impl )
+            // InternalReportDSL.g:6711:2: rule__ReportModel__Group__1__Impl
             {
             pushFollow(FOLLOW_2);
             rule__ReportModel__Group__1__Impl();
@@ -25019,35 +25291,35 @@
 
 
     // $ANTLR start "rule__ReportModel__Group__1__Impl"
-    // InternalReportDSL.g:6656:1: rule__ReportModel__Group__1__Impl : ( ( rule__ReportModel__PckgAssignment_1 )* ) ;
+    // InternalReportDSL.g:6717:1: rule__ReportModel__Group__1__Impl : ( ( rule__ReportModel__PckgAssignment_1 )* ) ;
     public final void rule__ReportModel__Group__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:6660:1: ( ( ( rule__ReportModel__PckgAssignment_1 )* ) )
-            // InternalReportDSL.g:6661:1: ( ( rule__ReportModel__PckgAssignment_1 )* )
+            // InternalReportDSL.g:6721:1: ( ( ( rule__ReportModel__PckgAssignment_1 )* ) )
+            // InternalReportDSL.g:6722:1: ( ( rule__ReportModel__PckgAssignment_1 )* )
             {
-            // InternalReportDSL.g:6661:1: ( ( rule__ReportModel__PckgAssignment_1 )* )
-            // InternalReportDSL.g:6662:2: ( rule__ReportModel__PckgAssignment_1 )*
+            // InternalReportDSL.g:6722:1: ( ( rule__ReportModel__PckgAssignment_1 )* )
+            // InternalReportDSL.g:6723:2: ( rule__ReportModel__PckgAssignment_1 )*
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getReportModelAccess().getPckgAssignment_1()); 
             }
-            // InternalReportDSL.g:6663:2: ( rule__ReportModel__PckgAssignment_1 )*
-            loop78:
+            // InternalReportDSL.g:6724:2: ( rule__ReportModel__PckgAssignment_1 )*
+            loop79:
             do {
-                int alt78=2;
-                int LA78_0 = input.LA(1);
+                int alt79=2;
+                int LA79_0 = input.LA(1);
 
-                if ( (LA78_0==124) ) {
-                    alt78=1;
+                if ( (LA79_0==130) ) {
+                    alt79=1;
                 }
 
 
-                switch (alt78) {
+                switch (alt79) {
             	case 1 :
-            	    // InternalReportDSL.g:6663:3: rule__ReportModel__PckgAssignment_1
+            	    // InternalReportDSL.g:6724:3: rule__ReportModel__PckgAssignment_1
             	    {
             	    pushFollow(FOLLOW_6);
             	    rule__ReportModel__PckgAssignment_1();
@@ -25059,7 +25331,7 @@
             	    break;
 
             	default :
-            	    break loop78;
+            	    break loop79;
                 }
             } while (true);
 
@@ -25088,14 +25360,14 @@
 
 
     // $ANTLR start "rule__ReportPackage__Group__0"
-    // InternalReportDSL.g:6672:1: rule__ReportPackage__Group__0 : rule__ReportPackage__Group__0__Impl rule__ReportPackage__Group__1 ;
+    // InternalReportDSL.g:6733:1: rule__ReportPackage__Group__0 : rule__ReportPackage__Group__0__Impl rule__ReportPackage__Group__1 ;
     public final void rule__ReportPackage__Group__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:6676:1: ( rule__ReportPackage__Group__0__Impl rule__ReportPackage__Group__1 )
-            // InternalReportDSL.g:6677:2: rule__ReportPackage__Group__0__Impl rule__ReportPackage__Group__1
+            // InternalReportDSL.g:6737:1: ( rule__ReportPackage__Group__0__Impl rule__ReportPackage__Group__1 )
+            // InternalReportDSL.g:6738:2: rule__ReportPackage__Group__0__Impl rule__ReportPackage__Group__1
             {
             pushFollow(FOLLOW_5);
             rule__ReportPackage__Group__0__Impl();
@@ -25126,23 +25398,23 @@
 
 
     // $ANTLR start "rule__ReportPackage__Group__0__Impl"
-    // InternalReportDSL.g:6684:1: rule__ReportPackage__Group__0__Impl : ( () ) ;
+    // InternalReportDSL.g:6745:1: rule__ReportPackage__Group__0__Impl : ( () ) ;
     public final void rule__ReportPackage__Group__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:6688:1: ( ( () ) )
-            // InternalReportDSL.g:6689:1: ( () )
+            // InternalReportDSL.g:6749:1: ( ( () ) )
+            // InternalReportDSL.g:6750:1: ( () )
             {
-            // InternalReportDSL.g:6689:1: ( () )
-            // InternalReportDSL.g:6690:2: ()
+            // InternalReportDSL.g:6750:1: ( () )
+            // InternalReportDSL.g:6751:2: ()
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getReportPackageAccess().getReportPackageAction_0()); 
             }
-            // InternalReportDSL.g:6691:2: ()
-            // InternalReportDSL.g:6691:3: 
+            // InternalReportDSL.g:6752:2: ()
+            // InternalReportDSL.g:6752:3: 
             {
             }
 
@@ -25167,14 +25439,14 @@
 
 
     // $ANTLR start "rule__ReportPackage__Group__1"
-    // InternalReportDSL.g:6699:1: rule__ReportPackage__Group__1 : rule__ReportPackage__Group__1__Impl rule__ReportPackage__Group__2 ;
+    // InternalReportDSL.g:6760:1: rule__ReportPackage__Group__1 : rule__ReportPackage__Group__1__Impl rule__ReportPackage__Group__2 ;
     public final void rule__ReportPackage__Group__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:6703:1: ( rule__ReportPackage__Group__1__Impl rule__ReportPackage__Group__2 )
-            // InternalReportDSL.g:6704:2: rule__ReportPackage__Group__1__Impl rule__ReportPackage__Group__2
+            // InternalReportDSL.g:6764:1: ( rule__ReportPackage__Group__1__Impl rule__ReportPackage__Group__2 )
+            // InternalReportDSL.g:6765:2: rule__ReportPackage__Group__1__Impl rule__ReportPackage__Group__2
             {
             pushFollow(FOLLOW_7);
             rule__ReportPackage__Group__1__Impl();
@@ -25205,22 +25477,22 @@
 
 
     // $ANTLR start "rule__ReportPackage__Group__1__Impl"
-    // InternalReportDSL.g:6711:1: rule__ReportPackage__Group__1__Impl : ( 'package' ) ;
+    // InternalReportDSL.g:6772:1: rule__ReportPackage__Group__1__Impl : ( 'package' ) ;
     public final void rule__ReportPackage__Group__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:6715:1: ( ( 'package' ) )
-            // InternalReportDSL.g:6716:1: ( 'package' )
+            // InternalReportDSL.g:6776:1: ( ( 'package' ) )
+            // InternalReportDSL.g:6777:1: ( 'package' )
             {
-            // InternalReportDSL.g:6716:1: ( 'package' )
-            // InternalReportDSL.g:6717:2: 'package'
+            // InternalReportDSL.g:6777:1: ( 'package' )
+            // InternalReportDSL.g:6778:2: 'package'
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getReportPackageAccess().getPackageKeyword_1()); 
             }
-            match(input,124,FOLLOW_2); if (state.failed) return ;
+            match(input,130,FOLLOW_2); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getReportPackageAccess().getPackageKeyword_1()); 
             }
@@ -25246,14 +25518,14 @@
 
 
     // $ANTLR start "rule__ReportPackage__Group__2"
-    // InternalReportDSL.g:6726:1: rule__ReportPackage__Group__2 : rule__ReportPackage__Group__2__Impl rule__ReportPackage__Group__3 ;
+    // InternalReportDSL.g:6787:1: rule__ReportPackage__Group__2 : rule__ReportPackage__Group__2__Impl rule__ReportPackage__Group__3 ;
     public final void rule__ReportPackage__Group__2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:6730:1: ( rule__ReportPackage__Group__2__Impl rule__ReportPackage__Group__3 )
-            // InternalReportDSL.g:6731:2: rule__ReportPackage__Group__2__Impl rule__ReportPackage__Group__3
+            // InternalReportDSL.g:6791:1: ( rule__ReportPackage__Group__2__Impl rule__ReportPackage__Group__3 )
+            // InternalReportDSL.g:6792:2: rule__ReportPackage__Group__2__Impl rule__ReportPackage__Group__3
             {
             pushFollow(FOLLOW_8);
             rule__ReportPackage__Group__2__Impl();
@@ -25284,23 +25556,23 @@
 
 
     // $ANTLR start "rule__ReportPackage__Group__2__Impl"
-    // InternalReportDSL.g:6738:1: rule__ReportPackage__Group__2__Impl : ( ( rule__ReportPackage__NameAssignment_2 ) ) ;
+    // InternalReportDSL.g:6799:1: rule__ReportPackage__Group__2__Impl : ( ( rule__ReportPackage__NameAssignment_2 ) ) ;
     public final void rule__ReportPackage__Group__2__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:6742:1: ( ( ( rule__ReportPackage__NameAssignment_2 ) ) )
-            // InternalReportDSL.g:6743:1: ( ( rule__ReportPackage__NameAssignment_2 ) )
+            // InternalReportDSL.g:6803:1: ( ( ( rule__ReportPackage__NameAssignment_2 ) ) )
+            // InternalReportDSL.g:6804:1: ( ( rule__ReportPackage__NameAssignment_2 ) )
             {
-            // InternalReportDSL.g:6743:1: ( ( rule__ReportPackage__NameAssignment_2 ) )
-            // InternalReportDSL.g:6744:2: ( rule__ReportPackage__NameAssignment_2 )
+            // InternalReportDSL.g:6804:1: ( ( rule__ReportPackage__NameAssignment_2 ) )
+            // InternalReportDSL.g:6805:2: ( rule__ReportPackage__NameAssignment_2 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getReportPackageAccess().getNameAssignment_2()); 
             }
-            // InternalReportDSL.g:6745:2: ( rule__ReportPackage__NameAssignment_2 )
-            // InternalReportDSL.g:6745:3: rule__ReportPackage__NameAssignment_2
+            // InternalReportDSL.g:6806:2: ( rule__ReportPackage__NameAssignment_2 )
+            // InternalReportDSL.g:6806:3: rule__ReportPackage__NameAssignment_2
             {
             pushFollow(FOLLOW_2);
             rule__ReportPackage__NameAssignment_2();
@@ -25335,14 +25607,14 @@
 
 
     // $ANTLR start "rule__ReportPackage__Group__3"
-    // InternalReportDSL.g:6753:1: rule__ReportPackage__Group__3 : rule__ReportPackage__Group__3__Impl rule__ReportPackage__Group__4 ;
+    // InternalReportDSL.g:6814:1: rule__ReportPackage__Group__3 : rule__ReportPackage__Group__3__Impl rule__ReportPackage__Group__4 ;
     public final void rule__ReportPackage__Group__3() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:6757:1: ( rule__ReportPackage__Group__3__Impl rule__ReportPackage__Group__4 )
-            // InternalReportDSL.g:6758:2: rule__ReportPackage__Group__3__Impl rule__ReportPackage__Group__4
+            // InternalReportDSL.g:6818:1: ( rule__ReportPackage__Group__3__Impl rule__ReportPackage__Group__4 )
+            // InternalReportDSL.g:6819:2: rule__ReportPackage__Group__3__Impl rule__ReportPackage__Group__4
             {
             pushFollow(FOLLOW_9);
             rule__ReportPackage__Group__3__Impl();
@@ -25373,22 +25645,22 @@
 
 
     // $ANTLR start "rule__ReportPackage__Group__3__Impl"
-    // InternalReportDSL.g:6765:1: rule__ReportPackage__Group__3__Impl : ( '{' ) ;
+    // InternalReportDSL.g:6826:1: rule__ReportPackage__Group__3__Impl : ( '{' ) ;
     public final void rule__ReportPackage__Group__3__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:6769:1: ( ( '{' ) )
-            // InternalReportDSL.g:6770:1: ( '{' )
+            // InternalReportDSL.g:6830:1: ( ( '{' ) )
+            // InternalReportDSL.g:6831:1: ( '{' )
             {
-            // InternalReportDSL.g:6770:1: ( '{' )
-            // InternalReportDSL.g:6771:2: '{'
+            // InternalReportDSL.g:6831:1: ( '{' )
+            // InternalReportDSL.g:6832:2: '{'
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getReportPackageAccess().getLeftCurlyBracketKeyword_3()); 
             }
-            match(input,125,FOLLOW_2); if (state.failed) return ;
+            match(input,131,FOLLOW_2); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getReportPackageAccess().getLeftCurlyBracketKeyword_3()); 
             }
@@ -25414,14 +25686,14 @@
 
 
     // $ANTLR start "rule__ReportPackage__Group__4"
-    // InternalReportDSL.g:6780:1: rule__ReportPackage__Group__4 : rule__ReportPackage__Group__4__Impl rule__ReportPackage__Group__5 ;
+    // InternalReportDSL.g:6841:1: rule__ReportPackage__Group__4 : rule__ReportPackage__Group__4__Impl rule__ReportPackage__Group__5 ;
     public final void rule__ReportPackage__Group__4() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:6784:1: ( rule__ReportPackage__Group__4__Impl rule__ReportPackage__Group__5 )
-            // InternalReportDSL.g:6785:2: rule__ReportPackage__Group__4__Impl rule__ReportPackage__Group__5
+            // InternalReportDSL.g:6845:1: ( rule__ReportPackage__Group__4__Impl rule__ReportPackage__Group__5 )
+            // InternalReportDSL.g:6846:2: rule__ReportPackage__Group__4__Impl rule__ReportPackage__Group__5
             {
             pushFollow(FOLLOW_9);
             rule__ReportPackage__Group__4__Impl();
@@ -25452,31 +25724,31 @@
 
 
     // $ANTLR start "rule__ReportPackage__Group__4__Impl"
-    // InternalReportDSL.g:6792:1: rule__ReportPackage__Group__4__Impl : ( ( rule__ReportPackage__Group_4__0 )? ) ;
+    // InternalReportDSL.g:6853:1: rule__ReportPackage__Group__4__Impl : ( ( rule__ReportPackage__Group_4__0 )? ) ;
     public final void rule__ReportPackage__Group__4__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:6796:1: ( ( ( rule__ReportPackage__Group_4__0 )? ) )
-            // InternalReportDSL.g:6797:1: ( ( rule__ReportPackage__Group_4__0 )? )
+            // InternalReportDSL.g:6857:1: ( ( ( rule__ReportPackage__Group_4__0 )? ) )
+            // InternalReportDSL.g:6858:1: ( ( rule__ReportPackage__Group_4__0 )? )
             {
-            // InternalReportDSL.g:6797:1: ( ( rule__ReportPackage__Group_4__0 )? )
-            // InternalReportDSL.g:6798:2: ( rule__ReportPackage__Group_4__0 )?
+            // InternalReportDSL.g:6858:1: ( ( rule__ReportPackage__Group_4__0 )? )
+            // InternalReportDSL.g:6859:2: ( rule__ReportPackage__Group_4__0 )?
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getReportPackageAccess().getGroup_4()); 
             }
-            // InternalReportDSL.g:6799:2: ( rule__ReportPackage__Group_4__0 )?
-            int alt79=2;
-            int LA79_0 = input.LA(1);
+            // InternalReportDSL.g:6860:2: ( rule__ReportPackage__Group_4__0 )?
+            int alt80=2;
+            int LA80_0 = input.LA(1);
 
-            if ( (LA79_0==127) ) {
-                alt79=1;
+            if ( (LA80_0==133) ) {
+                alt80=1;
             }
-            switch (alt79) {
+            switch (alt80) {
                 case 1 :
-                    // InternalReportDSL.g:6799:3: rule__ReportPackage__Group_4__0
+                    // InternalReportDSL.g:6860:3: rule__ReportPackage__Group_4__0
                     {
                     pushFollow(FOLLOW_2);
                     rule__ReportPackage__Group_4__0();
@@ -25514,14 +25786,14 @@
 
 
     // $ANTLR start "rule__ReportPackage__Group__5"
-    // InternalReportDSL.g:6807:1: rule__ReportPackage__Group__5 : rule__ReportPackage__Group__5__Impl rule__ReportPackage__Group__6 ;
+    // InternalReportDSL.g:6868:1: rule__ReportPackage__Group__5 : rule__ReportPackage__Group__5__Impl rule__ReportPackage__Group__6 ;
     public final void rule__ReportPackage__Group__5() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:6811:1: ( rule__ReportPackage__Group__5__Impl rule__ReportPackage__Group__6 )
-            // InternalReportDSL.g:6812:2: rule__ReportPackage__Group__5__Impl rule__ReportPackage__Group__6
+            // InternalReportDSL.g:6872:1: ( rule__ReportPackage__Group__5__Impl rule__ReportPackage__Group__6 )
+            // InternalReportDSL.g:6873:2: rule__ReportPackage__Group__5__Impl rule__ReportPackage__Group__6
             {
             pushFollow(FOLLOW_9);
             rule__ReportPackage__Group__5__Impl();
@@ -25552,35 +25824,35 @@
 
 
     // $ANTLR start "rule__ReportPackage__Group__5__Impl"
-    // InternalReportDSL.g:6819:1: rule__ReportPackage__Group__5__Impl : ( ( rule__ReportPackage__ReportsAssignment_5 )* ) ;
+    // InternalReportDSL.g:6880:1: rule__ReportPackage__Group__5__Impl : ( ( rule__ReportPackage__ReportsAssignment_5 )* ) ;
     public final void rule__ReportPackage__Group__5__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:6823:1: ( ( ( rule__ReportPackage__ReportsAssignment_5 )* ) )
-            // InternalReportDSL.g:6824:1: ( ( rule__ReportPackage__ReportsAssignment_5 )* )
+            // InternalReportDSL.g:6884:1: ( ( ( rule__ReportPackage__ReportsAssignment_5 )* ) )
+            // InternalReportDSL.g:6885:1: ( ( rule__ReportPackage__ReportsAssignment_5 )* )
             {
-            // InternalReportDSL.g:6824:1: ( ( rule__ReportPackage__ReportsAssignment_5 )* )
-            // InternalReportDSL.g:6825:2: ( rule__ReportPackage__ReportsAssignment_5 )*
+            // InternalReportDSL.g:6885:1: ( ( rule__ReportPackage__ReportsAssignment_5 )* )
+            // InternalReportDSL.g:6886:2: ( rule__ReportPackage__ReportsAssignment_5 )*
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getReportPackageAccess().getReportsAssignment_5()); 
             }
-            // InternalReportDSL.g:6826:2: ( rule__ReportPackage__ReportsAssignment_5 )*
-            loop80:
+            // InternalReportDSL.g:6887:2: ( rule__ReportPackage__ReportsAssignment_5 )*
+            loop81:
             do {
-                int alt80=2;
-                int LA80_0 = input.LA(1);
+                int alt81=2;
+                int LA81_0 = input.LA(1);
 
-                if ( (LA80_0==172) ) {
-                    alt80=1;
+                if ( (LA81_0==179) ) {
+                    alt81=1;
                 }
 
 
-                switch (alt80) {
+                switch (alt81) {
             	case 1 :
-            	    // InternalReportDSL.g:6826:3: rule__ReportPackage__ReportsAssignment_5
+            	    // InternalReportDSL.g:6887:3: rule__ReportPackage__ReportsAssignment_5
             	    {
             	    pushFollow(FOLLOW_10);
             	    rule__ReportPackage__ReportsAssignment_5();
@@ -25592,7 +25864,7 @@
             	    break;
 
             	default :
-            	    break loop80;
+            	    break loop81;
                 }
             } while (true);
 
@@ -25621,14 +25893,14 @@
 
 
     // $ANTLR start "rule__ReportPackage__Group__6"
-    // InternalReportDSL.g:6834:1: rule__ReportPackage__Group__6 : rule__ReportPackage__Group__6__Impl ;
+    // InternalReportDSL.g:6895:1: rule__ReportPackage__Group__6 : rule__ReportPackage__Group__6__Impl ;
     public final void rule__ReportPackage__Group__6() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:6838:1: ( rule__ReportPackage__Group__6__Impl )
-            // InternalReportDSL.g:6839:2: rule__ReportPackage__Group__6__Impl
+            // InternalReportDSL.g:6899:1: ( rule__ReportPackage__Group__6__Impl )
+            // InternalReportDSL.g:6900:2: rule__ReportPackage__Group__6__Impl
             {
             pushFollow(FOLLOW_2);
             rule__ReportPackage__Group__6__Impl();
@@ -25654,22 +25926,22 @@
 
 
     // $ANTLR start "rule__ReportPackage__Group__6__Impl"
-    // InternalReportDSL.g:6845:1: rule__ReportPackage__Group__6__Impl : ( '}' ) ;
+    // InternalReportDSL.g:6906:1: rule__ReportPackage__Group__6__Impl : ( '}' ) ;
     public final void rule__ReportPackage__Group__6__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:6849:1: ( ( '}' ) )
-            // InternalReportDSL.g:6850:1: ( '}' )
+            // InternalReportDSL.g:6910:1: ( ( '}' ) )
+            // InternalReportDSL.g:6911:1: ( '}' )
             {
-            // InternalReportDSL.g:6850:1: ( '}' )
-            // InternalReportDSL.g:6851:2: '}'
+            // InternalReportDSL.g:6911:1: ( '}' )
+            // InternalReportDSL.g:6912:2: '}'
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getReportPackageAccess().getRightCurlyBracketKeyword_6()); 
             }
-            match(input,126,FOLLOW_2); if (state.failed) return ;
+            match(input,132,FOLLOW_2); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getReportPackageAccess().getRightCurlyBracketKeyword_6()); 
             }
@@ -25695,14 +25967,14 @@
 
 
     // $ANTLR start "rule__ReportPackage__Group_4__0"
-    // InternalReportDSL.g:6861:1: rule__ReportPackage__Group_4__0 : rule__ReportPackage__Group_4__0__Impl rule__ReportPackage__Group_4__1 ;
+    // InternalReportDSL.g:6922:1: rule__ReportPackage__Group_4__0 : rule__ReportPackage__Group_4__0__Impl rule__ReportPackage__Group_4__1 ;
     public final void rule__ReportPackage__Group_4__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:6865:1: ( rule__ReportPackage__Group_4__0__Impl rule__ReportPackage__Group_4__1 )
-            // InternalReportDSL.g:6866:2: rule__ReportPackage__Group_4__0__Impl rule__ReportPackage__Group_4__1
+            // InternalReportDSL.g:6926:1: ( rule__ReportPackage__Group_4__0__Impl rule__ReportPackage__Group_4__1 )
+            // InternalReportDSL.g:6927:2: rule__ReportPackage__Group_4__0__Impl rule__ReportPackage__Group_4__1
             {
             pushFollow(FOLLOW_8);
             rule__ReportPackage__Group_4__0__Impl();
@@ -25733,22 +26005,22 @@
 
 
     // $ANTLR start "rule__ReportPackage__Group_4__0__Impl"
-    // InternalReportDSL.g:6873:1: rule__ReportPackage__Group_4__0__Impl : ( 'layout-data' ) ;
+    // InternalReportDSL.g:6934:1: rule__ReportPackage__Group_4__0__Impl : ( 'layout-data' ) ;
     public final void rule__ReportPackage__Group_4__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:6877:1: ( ( 'layout-data' ) )
-            // InternalReportDSL.g:6878:1: ( 'layout-data' )
+            // InternalReportDSL.g:6938:1: ( ( 'layout-data' ) )
+            // InternalReportDSL.g:6939:1: ( 'layout-data' )
             {
-            // InternalReportDSL.g:6878:1: ( 'layout-data' )
-            // InternalReportDSL.g:6879:2: 'layout-data'
+            // InternalReportDSL.g:6939:1: ( 'layout-data' )
+            // InternalReportDSL.g:6940:2: 'layout-data'
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getReportPackageAccess().getLayoutDataKeyword_4_0()); 
             }
-            match(input,127,FOLLOW_2); if (state.failed) return ;
+            match(input,133,FOLLOW_2); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getReportPackageAccess().getLayoutDataKeyword_4_0()); 
             }
@@ -25774,14 +26046,14 @@
 
 
     // $ANTLR start "rule__ReportPackage__Group_4__1"
-    // InternalReportDSL.g:6888:1: rule__ReportPackage__Group_4__1 : rule__ReportPackage__Group_4__1__Impl rule__ReportPackage__Group_4__2 ;
+    // InternalReportDSL.g:6949:1: rule__ReportPackage__Group_4__1 : rule__ReportPackage__Group_4__1__Impl rule__ReportPackage__Group_4__2 ;
     public final void rule__ReportPackage__Group_4__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:6892:1: ( rule__ReportPackage__Group_4__1__Impl rule__ReportPackage__Group_4__2 )
-            // InternalReportDSL.g:6893:2: rule__ReportPackage__Group_4__1__Impl rule__ReportPackage__Group_4__2
+            // InternalReportDSL.g:6953:1: ( rule__ReportPackage__Group_4__1__Impl rule__ReportPackage__Group_4__2 )
+            // InternalReportDSL.g:6954:2: rule__ReportPackage__Group_4__1__Impl rule__ReportPackage__Group_4__2
             {
             pushFollow(FOLLOW_11);
             rule__ReportPackage__Group_4__1__Impl();
@@ -25812,22 +26084,22 @@
 
 
     // $ANTLR start "rule__ReportPackage__Group_4__1__Impl"
-    // InternalReportDSL.g:6900:1: rule__ReportPackage__Group_4__1__Impl : ( '{' ) ;
+    // InternalReportDSL.g:6961:1: rule__ReportPackage__Group_4__1__Impl : ( '{' ) ;
     public final void rule__ReportPackage__Group_4__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:6904:1: ( ( '{' ) )
-            // InternalReportDSL.g:6905:1: ( '{' )
+            // InternalReportDSL.g:6965:1: ( ( '{' ) )
+            // InternalReportDSL.g:6966:1: ( '{' )
             {
-            // InternalReportDSL.g:6905:1: ( '{' )
-            // InternalReportDSL.g:6906:2: '{'
+            // InternalReportDSL.g:6966:1: ( '{' )
+            // InternalReportDSL.g:6967:2: '{'
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getReportPackageAccess().getLeftCurlyBracketKeyword_4_1()); 
             }
-            match(input,125,FOLLOW_2); if (state.failed) return ;
+            match(input,131,FOLLOW_2); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getReportPackageAccess().getLeftCurlyBracketKeyword_4_1()); 
             }
@@ -25853,14 +26125,14 @@
 
 
     // $ANTLR start "rule__ReportPackage__Group_4__2"
-    // InternalReportDSL.g:6915:1: rule__ReportPackage__Group_4__2 : rule__ReportPackage__Group_4__2__Impl rule__ReportPackage__Group_4__3 ;
+    // InternalReportDSL.g:6976:1: rule__ReportPackage__Group_4__2 : rule__ReportPackage__Group_4__2__Impl rule__ReportPackage__Group_4__3 ;
     public final void rule__ReportPackage__Group_4__2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:6919:1: ( rule__ReportPackage__Group_4__2__Impl rule__ReportPackage__Group_4__3 )
-            // InternalReportDSL.g:6920:2: rule__ReportPackage__Group_4__2__Impl rule__ReportPackage__Group_4__3
+            // InternalReportDSL.g:6980:1: ( rule__ReportPackage__Group_4__2__Impl rule__ReportPackage__Group_4__3 )
+            // InternalReportDSL.g:6981:2: rule__ReportPackage__Group_4__2__Impl rule__ReportPackage__Group_4__3
             {
             pushFollow(FOLLOW_11);
             rule__ReportPackage__Group_4__2__Impl();
@@ -25891,31 +26163,31 @@
 
 
     // $ANTLR start "rule__ReportPackage__Group_4__2__Impl"
-    // InternalReportDSL.g:6927:1: rule__ReportPackage__Group_4__2__Impl : ( ( rule__ReportPackage__Group_4_2__0 )? ) ;
+    // InternalReportDSL.g:6988:1: rule__ReportPackage__Group_4__2__Impl : ( ( rule__ReportPackage__Group_4_2__0 )? ) ;
     public final void rule__ReportPackage__Group_4__2__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:6931:1: ( ( ( rule__ReportPackage__Group_4_2__0 )? ) )
-            // InternalReportDSL.g:6932:1: ( ( rule__ReportPackage__Group_4_2__0 )? )
+            // InternalReportDSL.g:6992:1: ( ( ( rule__ReportPackage__Group_4_2__0 )? ) )
+            // InternalReportDSL.g:6993:1: ( ( rule__ReportPackage__Group_4_2__0 )? )
             {
-            // InternalReportDSL.g:6932:1: ( ( rule__ReportPackage__Group_4_2__0 )? )
-            // InternalReportDSL.g:6933:2: ( rule__ReportPackage__Group_4_2__0 )?
+            // InternalReportDSL.g:6993:1: ( ( rule__ReportPackage__Group_4_2__0 )? )
+            // InternalReportDSL.g:6994:2: ( rule__ReportPackage__Group_4_2__0 )?
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getReportPackageAccess().getGroup_4_2()); 
             }
-            // InternalReportDSL.g:6934:2: ( rule__ReportPackage__Group_4_2__0 )?
-            int alt81=2;
-            int LA81_0 = input.LA(1);
+            // InternalReportDSL.g:6995:2: ( rule__ReportPackage__Group_4_2__0 )?
+            int alt82=2;
+            int LA82_0 = input.LA(1);
 
-            if ( (LA81_0==128) ) {
-                alt81=1;
+            if ( (LA82_0==134) ) {
+                alt82=1;
             }
-            switch (alt81) {
+            switch (alt82) {
                 case 1 :
-                    // InternalReportDSL.g:6934:3: rule__ReportPackage__Group_4_2__0
+                    // InternalReportDSL.g:6995:3: rule__ReportPackage__Group_4_2__0
                     {
                     pushFollow(FOLLOW_2);
                     rule__ReportPackage__Group_4_2__0();
@@ -25953,14 +26225,14 @@
 
 
     // $ANTLR start "rule__ReportPackage__Group_4__3"
-    // InternalReportDSL.g:6942:1: rule__ReportPackage__Group_4__3 : rule__ReportPackage__Group_4__3__Impl rule__ReportPackage__Group_4__4 ;
+    // InternalReportDSL.g:7003:1: rule__ReportPackage__Group_4__3 : rule__ReportPackage__Group_4__3__Impl rule__ReportPackage__Group_4__4 ;
     public final void rule__ReportPackage__Group_4__3() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:6946:1: ( rule__ReportPackage__Group_4__3__Impl rule__ReportPackage__Group_4__4 )
-            // InternalReportDSL.g:6947:2: rule__ReportPackage__Group_4__3__Impl rule__ReportPackage__Group_4__4
+            // InternalReportDSL.g:7007:1: ( rule__ReportPackage__Group_4__3__Impl rule__ReportPackage__Group_4__4 )
+            // InternalReportDSL.g:7008:2: rule__ReportPackage__Group_4__3__Impl rule__ReportPackage__Group_4__4
             {
             pushFollow(FOLLOW_12);
             rule__ReportPackage__Group_4__3__Impl();
@@ -25991,23 +26263,23 @@
 
 
     // $ANTLR start "rule__ReportPackage__Group_4__3__Impl"
-    // InternalReportDSL.g:6954:1: rule__ReportPackage__Group_4__3__Impl : ( ( rule__ReportPackage__FormattersAssignment_4_3 ) ) ;
+    // InternalReportDSL.g:7015:1: rule__ReportPackage__Group_4__3__Impl : ( ( rule__ReportPackage__FormattersAssignment_4_3 ) ) ;
     public final void rule__ReportPackage__Group_4__3__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:6958:1: ( ( ( rule__ReportPackage__FormattersAssignment_4_3 ) ) )
-            // InternalReportDSL.g:6959:1: ( ( rule__ReportPackage__FormattersAssignment_4_3 ) )
+            // InternalReportDSL.g:7019:1: ( ( ( rule__ReportPackage__FormattersAssignment_4_3 ) ) )
+            // InternalReportDSL.g:7020:1: ( ( rule__ReportPackage__FormattersAssignment_4_3 ) )
             {
-            // InternalReportDSL.g:6959:1: ( ( rule__ReportPackage__FormattersAssignment_4_3 ) )
-            // InternalReportDSL.g:6960:2: ( rule__ReportPackage__FormattersAssignment_4_3 )
+            // InternalReportDSL.g:7020:1: ( ( rule__ReportPackage__FormattersAssignment_4_3 ) )
+            // InternalReportDSL.g:7021:2: ( rule__ReportPackage__FormattersAssignment_4_3 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getReportPackageAccess().getFormattersAssignment_4_3()); 
             }
-            // InternalReportDSL.g:6961:2: ( rule__ReportPackage__FormattersAssignment_4_3 )
-            // InternalReportDSL.g:6961:3: rule__ReportPackage__FormattersAssignment_4_3
+            // InternalReportDSL.g:7022:2: ( rule__ReportPackage__FormattersAssignment_4_3 )
+            // InternalReportDSL.g:7022:3: rule__ReportPackage__FormattersAssignment_4_3
             {
             pushFollow(FOLLOW_2);
             rule__ReportPackage__FormattersAssignment_4_3();
@@ -26042,14 +26314,14 @@
 
 
     // $ANTLR start "rule__ReportPackage__Group_4__4"
-    // InternalReportDSL.g:6969:1: rule__ReportPackage__Group_4__4 : rule__ReportPackage__Group_4__4__Impl rule__ReportPackage__Group_4__5 ;
+    // InternalReportDSL.g:7030:1: rule__ReportPackage__Group_4__4 : rule__ReportPackage__Group_4__4__Impl rule__ReportPackage__Group_4__5 ;
     public final void rule__ReportPackage__Group_4__4() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:6973:1: ( rule__ReportPackage__Group_4__4__Impl rule__ReportPackage__Group_4__5 )
-            // InternalReportDSL.g:6974:2: rule__ReportPackage__Group_4__4__Impl rule__ReportPackage__Group_4__5
+            // InternalReportDSL.g:7034:1: ( rule__ReportPackage__Group_4__4__Impl rule__ReportPackage__Group_4__5 )
+            // InternalReportDSL.g:7035:2: rule__ReportPackage__Group_4__4__Impl rule__ReportPackage__Group_4__5
             {
             pushFollow(FOLLOW_13);
             rule__ReportPackage__Group_4__4__Impl();
@@ -26080,23 +26352,23 @@
 
 
     // $ANTLR start "rule__ReportPackage__Group_4__4__Impl"
-    // InternalReportDSL.g:6981:1: rule__ReportPackage__Group_4__4__Impl : ( ( rule__ReportPackage__ColorsAssignment_4_4 ) ) ;
+    // InternalReportDSL.g:7042:1: rule__ReportPackage__Group_4__4__Impl : ( ( rule__ReportPackage__ColorsAssignment_4_4 ) ) ;
     public final void rule__ReportPackage__Group_4__4__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:6985:1: ( ( ( rule__ReportPackage__ColorsAssignment_4_4 ) ) )
-            // InternalReportDSL.g:6986:1: ( ( rule__ReportPackage__ColorsAssignment_4_4 ) )
+            // InternalReportDSL.g:7046:1: ( ( ( rule__ReportPackage__ColorsAssignment_4_4 ) ) )
+            // InternalReportDSL.g:7047:1: ( ( rule__ReportPackage__ColorsAssignment_4_4 ) )
             {
-            // InternalReportDSL.g:6986:1: ( ( rule__ReportPackage__ColorsAssignment_4_4 ) )
-            // InternalReportDSL.g:6987:2: ( rule__ReportPackage__ColorsAssignment_4_4 )
+            // InternalReportDSL.g:7047:1: ( ( rule__ReportPackage__ColorsAssignment_4_4 ) )
+            // InternalReportDSL.g:7048:2: ( rule__ReportPackage__ColorsAssignment_4_4 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getReportPackageAccess().getColorsAssignment_4_4()); 
             }
-            // InternalReportDSL.g:6988:2: ( rule__ReportPackage__ColorsAssignment_4_4 )
-            // InternalReportDSL.g:6988:3: rule__ReportPackage__ColorsAssignment_4_4
+            // InternalReportDSL.g:7049:2: ( rule__ReportPackage__ColorsAssignment_4_4 )
+            // InternalReportDSL.g:7049:3: rule__ReportPackage__ColorsAssignment_4_4
             {
             pushFollow(FOLLOW_2);
             rule__ReportPackage__ColorsAssignment_4_4();
@@ -26131,14 +26403,14 @@
 
 
     // $ANTLR start "rule__ReportPackage__Group_4__5"
-    // InternalReportDSL.g:6996:1: rule__ReportPackage__Group_4__5 : rule__ReportPackage__Group_4__5__Impl rule__ReportPackage__Group_4__6 ;
+    // InternalReportDSL.g:7057:1: rule__ReportPackage__Group_4__5 : rule__ReportPackage__Group_4__5__Impl rule__ReportPackage__Group_4__6 ;
     public final void rule__ReportPackage__Group_4__5() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:7000:1: ( rule__ReportPackage__Group_4__5__Impl rule__ReportPackage__Group_4__6 )
-            // InternalReportDSL.g:7001:2: rule__ReportPackage__Group_4__5__Impl rule__ReportPackage__Group_4__6
+            // InternalReportDSL.g:7061:1: ( rule__ReportPackage__Group_4__5__Impl rule__ReportPackage__Group_4__6 )
+            // InternalReportDSL.g:7062:2: rule__ReportPackage__Group_4__5__Impl rule__ReportPackage__Group_4__6
             {
             pushFollow(FOLLOW_14);
             rule__ReportPackage__Group_4__5__Impl();
@@ -26169,23 +26441,23 @@
 
 
     // $ANTLR start "rule__ReportPackage__Group_4__5__Impl"
-    // InternalReportDSL.g:7008:1: rule__ReportPackage__Group_4__5__Impl : ( ( rule__ReportPackage__FontsAssignment_4_5 ) ) ;
+    // InternalReportDSL.g:7069:1: rule__ReportPackage__Group_4__5__Impl : ( ( rule__ReportPackage__FontsAssignment_4_5 ) ) ;
     public final void rule__ReportPackage__Group_4__5__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:7012:1: ( ( ( rule__ReportPackage__FontsAssignment_4_5 ) ) )
-            // InternalReportDSL.g:7013:1: ( ( rule__ReportPackage__FontsAssignment_4_5 ) )
+            // InternalReportDSL.g:7073:1: ( ( ( rule__ReportPackage__FontsAssignment_4_5 ) ) )
+            // InternalReportDSL.g:7074:1: ( ( rule__ReportPackage__FontsAssignment_4_5 ) )
             {
-            // InternalReportDSL.g:7013:1: ( ( rule__ReportPackage__FontsAssignment_4_5 ) )
-            // InternalReportDSL.g:7014:2: ( rule__ReportPackage__FontsAssignment_4_5 )
+            // InternalReportDSL.g:7074:1: ( ( rule__ReportPackage__FontsAssignment_4_5 ) )
+            // InternalReportDSL.g:7075:2: ( rule__ReportPackage__FontsAssignment_4_5 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getReportPackageAccess().getFontsAssignment_4_5()); 
             }
-            // InternalReportDSL.g:7015:2: ( rule__ReportPackage__FontsAssignment_4_5 )
-            // InternalReportDSL.g:7015:3: rule__ReportPackage__FontsAssignment_4_5
+            // InternalReportDSL.g:7076:2: ( rule__ReportPackage__FontsAssignment_4_5 )
+            // InternalReportDSL.g:7076:3: rule__ReportPackage__FontsAssignment_4_5
             {
             pushFollow(FOLLOW_2);
             rule__ReportPackage__FontsAssignment_4_5();
@@ -26220,14 +26492,14 @@
 
 
     // $ANTLR start "rule__ReportPackage__Group_4__6"
-    // InternalReportDSL.g:7023:1: rule__ReportPackage__Group_4__6 : rule__ReportPackage__Group_4__6__Impl rule__ReportPackage__Group_4__7 ;
+    // InternalReportDSL.g:7084:1: rule__ReportPackage__Group_4__6 : rule__ReportPackage__Group_4__6__Impl rule__ReportPackage__Group_4__7 ;
     public final void rule__ReportPackage__Group_4__6() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:7027:1: ( rule__ReportPackage__Group_4__6__Impl rule__ReportPackage__Group_4__7 )
-            // InternalReportDSL.g:7028:2: rule__ReportPackage__Group_4__6__Impl rule__ReportPackage__Group_4__7
+            // InternalReportDSL.g:7088:1: ( rule__ReportPackage__Group_4__6__Impl rule__ReportPackage__Group_4__7 )
+            // InternalReportDSL.g:7089:2: rule__ReportPackage__Group_4__6__Impl rule__ReportPackage__Group_4__7
             {
             pushFollow(FOLLOW_15);
             rule__ReportPackage__Group_4__6__Impl();
@@ -26258,23 +26530,23 @@
 
 
     // $ANTLR start "rule__ReportPackage__Group_4__6__Impl"
-    // InternalReportDSL.g:7035:1: rule__ReportPackage__Group_4__6__Impl : ( ( rule__ReportPackage__MediasAssignment_4_6 ) ) ;
+    // InternalReportDSL.g:7096:1: rule__ReportPackage__Group_4__6__Impl : ( ( rule__ReportPackage__MediasAssignment_4_6 ) ) ;
     public final void rule__ReportPackage__Group_4__6__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:7039:1: ( ( ( rule__ReportPackage__MediasAssignment_4_6 ) ) )
-            // InternalReportDSL.g:7040:1: ( ( rule__ReportPackage__MediasAssignment_4_6 ) )
+            // InternalReportDSL.g:7100:1: ( ( ( rule__ReportPackage__MediasAssignment_4_6 ) ) )
+            // InternalReportDSL.g:7101:1: ( ( rule__ReportPackage__MediasAssignment_4_6 ) )
             {
-            // InternalReportDSL.g:7040:1: ( ( rule__ReportPackage__MediasAssignment_4_6 ) )
-            // InternalReportDSL.g:7041:2: ( rule__ReportPackage__MediasAssignment_4_6 )
+            // InternalReportDSL.g:7101:1: ( ( rule__ReportPackage__MediasAssignment_4_6 ) )
+            // InternalReportDSL.g:7102:2: ( rule__ReportPackage__MediasAssignment_4_6 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getReportPackageAccess().getMediasAssignment_4_6()); 
             }
-            // InternalReportDSL.g:7042:2: ( rule__ReportPackage__MediasAssignment_4_6 )
-            // InternalReportDSL.g:7042:3: rule__ReportPackage__MediasAssignment_4_6
+            // InternalReportDSL.g:7103:2: ( rule__ReportPackage__MediasAssignment_4_6 )
+            // InternalReportDSL.g:7103:3: rule__ReportPackage__MediasAssignment_4_6
             {
             pushFollow(FOLLOW_2);
             rule__ReportPackage__MediasAssignment_4_6();
@@ -26309,14 +26581,14 @@
 
 
     // $ANTLR start "rule__ReportPackage__Group_4__7"
-    // InternalReportDSL.g:7050:1: rule__ReportPackage__Group_4__7 : rule__ReportPackage__Group_4__7__Impl rule__ReportPackage__Group_4__8 ;
+    // InternalReportDSL.g:7111:1: rule__ReportPackage__Group_4__7 : rule__ReportPackage__Group_4__7__Impl rule__ReportPackage__Group_4__8 ;
     public final void rule__ReportPackage__Group_4__7() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:7054:1: ( rule__ReportPackage__Group_4__7__Impl rule__ReportPackage__Group_4__8 )
-            // InternalReportDSL.g:7055:2: rule__ReportPackage__Group_4__7__Impl rule__ReportPackage__Group_4__8
+            // InternalReportDSL.g:7115:1: ( rule__ReportPackage__Group_4__7__Impl rule__ReportPackage__Group_4__8 )
+            // InternalReportDSL.g:7116:2: rule__ReportPackage__Group_4__7__Impl rule__ReportPackage__Group_4__8
             {
             pushFollow(FOLLOW_16);
             rule__ReportPackage__Group_4__7__Impl();
@@ -26347,23 +26619,23 @@
 
 
     // $ANTLR start "rule__ReportPackage__Group_4__7__Impl"
-    // InternalReportDSL.g:7062:1: rule__ReportPackage__Group_4__7__Impl : ( ( rule__ReportPackage__StylesAssignment_4_7 ) ) ;
+    // InternalReportDSL.g:7123:1: rule__ReportPackage__Group_4__7__Impl : ( ( rule__ReportPackage__StylesAssignment_4_7 ) ) ;
     public final void rule__ReportPackage__Group_4__7__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:7066:1: ( ( ( rule__ReportPackage__StylesAssignment_4_7 ) ) )
-            // InternalReportDSL.g:7067:1: ( ( rule__ReportPackage__StylesAssignment_4_7 ) )
+            // InternalReportDSL.g:7127:1: ( ( ( rule__ReportPackage__StylesAssignment_4_7 ) ) )
+            // InternalReportDSL.g:7128:1: ( ( rule__ReportPackage__StylesAssignment_4_7 ) )
             {
-            // InternalReportDSL.g:7067:1: ( ( rule__ReportPackage__StylesAssignment_4_7 ) )
-            // InternalReportDSL.g:7068:2: ( rule__ReportPackage__StylesAssignment_4_7 )
+            // InternalReportDSL.g:7128:1: ( ( rule__ReportPackage__StylesAssignment_4_7 ) )
+            // InternalReportDSL.g:7129:2: ( rule__ReportPackage__StylesAssignment_4_7 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getReportPackageAccess().getStylesAssignment_4_7()); 
             }
-            // InternalReportDSL.g:7069:2: ( rule__ReportPackage__StylesAssignment_4_7 )
-            // InternalReportDSL.g:7069:3: rule__ReportPackage__StylesAssignment_4_7
+            // InternalReportDSL.g:7130:2: ( rule__ReportPackage__StylesAssignment_4_7 )
+            // InternalReportDSL.g:7130:3: rule__ReportPackage__StylesAssignment_4_7
             {
             pushFollow(FOLLOW_2);
             rule__ReportPackage__StylesAssignment_4_7();
@@ -26398,14 +26670,14 @@
 
 
     // $ANTLR start "rule__ReportPackage__Group_4__8"
-    // InternalReportDSL.g:7077:1: rule__ReportPackage__Group_4__8 : rule__ReportPackage__Group_4__8__Impl rule__ReportPackage__Group_4__9 ;
+    // InternalReportDSL.g:7138:1: rule__ReportPackage__Group_4__8 : rule__ReportPackage__Group_4__8__Impl rule__ReportPackage__Group_4__9 ;
     public final void rule__ReportPackage__Group_4__8() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:7081:1: ( rule__ReportPackage__Group_4__8__Impl rule__ReportPackage__Group_4__9 )
-            // InternalReportDSL.g:7082:2: rule__ReportPackage__Group_4__8__Impl rule__ReportPackage__Group_4__9
+            // InternalReportDSL.g:7142:1: ( rule__ReportPackage__Group_4__8__Impl rule__ReportPackage__Group_4__9 )
+            // InternalReportDSL.g:7143:2: rule__ReportPackage__Group_4__8__Impl rule__ReportPackage__Group_4__9
             {
             pushFollow(FOLLOW_17);
             rule__ReportPackage__Group_4__8__Impl();
@@ -26436,23 +26708,23 @@
 
 
     // $ANTLR start "rule__ReportPackage__Group_4__8__Impl"
-    // InternalReportDSL.g:7089:1: rule__ReportPackage__Group_4__8__Impl : ( ( rule__ReportPackage__PagetemplatesAssignment_4_8 ) ) ;
+    // InternalReportDSL.g:7150:1: rule__ReportPackage__Group_4__8__Impl : ( ( rule__ReportPackage__PagetemplatesAssignment_4_8 ) ) ;
     public final void rule__ReportPackage__Group_4__8__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:7093:1: ( ( ( rule__ReportPackage__PagetemplatesAssignment_4_8 ) ) )
-            // InternalReportDSL.g:7094:1: ( ( rule__ReportPackage__PagetemplatesAssignment_4_8 ) )
+            // InternalReportDSL.g:7154:1: ( ( ( rule__ReportPackage__PagetemplatesAssignment_4_8 ) ) )
+            // InternalReportDSL.g:7155:1: ( ( rule__ReportPackage__PagetemplatesAssignment_4_8 ) )
             {
-            // InternalReportDSL.g:7094:1: ( ( rule__ReportPackage__PagetemplatesAssignment_4_8 ) )
-            // InternalReportDSL.g:7095:2: ( rule__ReportPackage__PagetemplatesAssignment_4_8 )
+            // InternalReportDSL.g:7155:1: ( ( rule__ReportPackage__PagetemplatesAssignment_4_8 ) )
+            // InternalReportDSL.g:7156:2: ( rule__ReportPackage__PagetemplatesAssignment_4_8 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getReportPackageAccess().getPagetemplatesAssignment_4_8()); 
             }
-            // InternalReportDSL.g:7096:2: ( rule__ReportPackage__PagetemplatesAssignment_4_8 )
-            // InternalReportDSL.g:7096:3: rule__ReportPackage__PagetemplatesAssignment_4_8
+            // InternalReportDSL.g:7157:2: ( rule__ReportPackage__PagetemplatesAssignment_4_8 )
+            // InternalReportDSL.g:7157:3: rule__ReportPackage__PagetemplatesAssignment_4_8
             {
             pushFollow(FOLLOW_2);
             rule__ReportPackage__PagetemplatesAssignment_4_8();
@@ -26487,14 +26759,14 @@
 
 
     // $ANTLR start "rule__ReportPackage__Group_4__9"
-    // InternalReportDSL.g:7104:1: rule__ReportPackage__Group_4__9 : rule__ReportPackage__Group_4__9__Impl ;
+    // InternalReportDSL.g:7165:1: rule__ReportPackage__Group_4__9 : rule__ReportPackage__Group_4__9__Impl ;
     public final void rule__ReportPackage__Group_4__9() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:7108:1: ( rule__ReportPackage__Group_4__9__Impl )
-            // InternalReportDSL.g:7109:2: rule__ReportPackage__Group_4__9__Impl
+            // InternalReportDSL.g:7169:1: ( rule__ReportPackage__Group_4__9__Impl )
+            // InternalReportDSL.g:7170:2: rule__ReportPackage__Group_4__9__Impl
             {
             pushFollow(FOLLOW_2);
             rule__ReportPackage__Group_4__9__Impl();
@@ -26520,22 +26792,22 @@
 
 
     // $ANTLR start "rule__ReportPackage__Group_4__9__Impl"
-    // InternalReportDSL.g:7115:1: rule__ReportPackage__Group_4__9__Impl : ( '}' ) ;
+    // InternalReportDSL.g:7176:1: rule__ReportPackage__Group_4__9__Impl : ( '}' ) ;
     public final void rule__ReportPackage__Group_4__9__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:7119:1: ( ( '}' ) )
-            // InternalReportDSL.g:7120:1: ( '}' )
+            // InternalReportDSL.g:7180:1: ( ( '}' ) )
+            // InternalReportDSL.g:7181:1: ( '}' )
             {
-            // InternalReportDSL.g:7120:1: ( '}' )
-            // InternalReportDSL.g:7121:2: '}'
+            // InternalReportDSL.g:7181:1: ( '}' )
+            // InternalReportDSL.g:7182:2: '}'
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getReportPackageAccess().getRightCurlyBracketKeyword_4_9()); 
             }
-            match(input,126,FOLLOW_2); if (state.failed) return ;
+            match(input,132,FOLLOW_2); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getReportPackageAccess().getRightCurlyBracketKeyword_4_9()); 
             }
@@ -26561,14 +26833,14 @@
 
 
     // $ANTLR start "rule__ReportPackage__Group_4_2__0"
-    // InternalReportDSL.g:7131:1: rule__ReportPackage__Group_4_2__0 : rule__ReportPackage__Group_4_2__0__Impl rule__ReportPackage__Group_4_2__1 ;
+    // InternalReportDSL.g:7192:1: rule__ReportPackage__Group_4_2__0 : rule__ReportPackage__Group_4_2__0__Impl rule__ReportPackage__Group_4_2__1 ;
     public final void rule__ReportPackage__Group_4_2__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:7135:1: ( rule__ReportPackage__Group_4_2__0__Impl rule__ReportPackage__Group_4_2__1 )
-            // InternalReportDSL.g:7136:2: rule__ReportPackage__Group_4_2__0__Impl rule__ReportPackage__Group_4_2__1
+            // InternalReportDSL.g:7196:1: ( rule__ReportPackage__Group_4_2__0__Impl rule__ReportPackage__Group_4_2__1 )
+            // InternalReportDSL.g:7197:2: rule__ReportPackage__Group_4_2__0__Impl rule__ReportPackage__Group_4_2__1
             {
             pushFollow(FOLLOW_18);
             rule__ReportPackage__Group_4_2__0__Impl();
@@ -26599,22 +26871,22 @@
 
 
     // $ANTLR start "rule__ReportPackage__Group_4_2__0__Impl"
-    // InternalReportDSL.g:7143:1: rule__ReportPackage__Group_4_2__0__Impl : ( 'externalCssURI' ) ;
+    // InternalReportDSL.g:7204:1: rule__ReportPackage__Group_4_2__0__Impl : ( 'externalCssURI' ) ;
     public final void rule__ReportPackage__Group_4_2__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:7147:1: ( ( 'externalCssURI' ) )
-            // InternalReportDSL.g:7148:1: ( 'externalCssURI' )
+            // InternalReportDSL.g:7208:1: ( ( 'externalCssURI' ) )
+            // InternalReportDSL.g:7209:1: ( 'externalCssURI' )
             {
-            // InternalReportDSL.g:7148:1: ( 'externalCssURI' )
-            // InternalReportDSL.g:7149:2: 'externalCssURI'
+            // InternalReportDSL.g:7209:1: ( 'externalCssURI' )
+            // InternalReportDSL.g:7210:2: 'externalCssURI'
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getReportPackageAccess().getExternalCssURIKeyword_4_2_0()); 
             }
-            match(input,128,FOLLOW_2); if (state.failed) return ;
+            match(input,134,FOLLOW_2); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getReportPackageAccess().getExternalCssURIKeyword_4_2_0()); 
             }
@@ -26640,14 +26912,14 @@
 
 
     // $ANTLR start "rule__ReportPackage__Group_4_2__1"
-    // InternalReportDSL.g:7158:1: rule__ReportPackage__Group_4_2__1 : rule__ReportPackage__Group_4_2__1__Impl rule__ReportPackage__Group_4_2__2 ;
+    // InternalReportDSL.g:7219:1: rule__ReportPackage__Group_4_2__1 : rule__ReportPackage__Group_4_2__1__Impl rule__ReportPackage__Group_4_2__2 ;
     public final void rule__ReportPackage__Group_4_2__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:7162:1: ( rule__ReportPackage__Group_4_2__1__Impl rule__ReportPackage__Group_4_2__2 )
-            // InternalReportDSL.g:7163:2: rule__ReportPackage__Group_4_2__1__Impl rule__ReportPackage__Group_4_2__2
+            // InternalReportDSL.g:7223:1: ( rule__ReportPackage__Group_4_2__1__Impl rule__ReportPackage__Group_4_2__2 )
+            // InternalReportDSL.g:7224:2: rule__ReportPackage__Group_4_2__1__Impl rule__ReportPackage__Group_4_2__2
             {
             pushFollow(FOLLOW_19);
             rule__ReportPackage__Group_4_2__1__Impl();
@@ -26678,23 +26950,23 @@
 
 
     // $ANTLR start "rule__ReportPackage__Group_4_2__1__Impl"
-    // InternalReportDSL.g:7170:1: rule__ReportPackage__Group_4_2__1__Impl : ( ( rule__ReportPackage__ExternalCssURIAssignment_4_2_1 ) ) ;
+    // InternalReportDSL.g:7231:1: rule__ReportPackage__Group_4_2__1__Impl : ( ( rule__ReportPackage__ExternalCssURIAssignment_4_2_1 ) ) ;
     public final void rule__ReportPackage__Group_4_2__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:7174:1: ( ( ( rule__ReportPackage__ExternalCssURIAssignment_4_2_1 ) ) )
-            // InternalReportDSL.g:7175:1: ( ( rule__ReportPackage__ExternalCssURIAssignment_4_2_1 ) )
+            // InternalReportDSL.g:7235:1: ( ( ( rule__ReportPackage__ExternalCssURIAssignment_4_2_1 ) ) )
+            // InternalReportDSL.g:7236:1: ( ( rule__ReportPackage__ExternalCssURIAssignment_4_2_1 ) )
             {
-            // InternalReportDSL.g:7175:1: ( ( rule__ReportPackage__ExternalCssURIAssignment_4_2_1 ) )
-            // InternalReportDSL.g:7176:2: ( rule__ReportPackage__ExternalCssURIAssignment_4_2_1 )
+            // InternalReportDSL.g:7236:1: ( ( rule__ReportPackage__ExternalCssURIAssignment_4_2_1 ) )
+            // InternalReportDSL.g:7237:2: ( rule__ReportPackage__ExternalCssURIAssignment_4_2_1 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getReportPackageAccess().getExternalCssURIAssignment_4_2_1()); 
             }
-            // InternalReportDSL.g:7177:2: ( rule__ReportPackage__ExternalCssURIAssignment_4_2_1 )
-            // InternalReportDSL.g:7177:3: rule__ReportPackage__ExternalCssURIAssignment_4_2_1
+            // InternalReportDSL.g:7238:2: ( rule__ReportPackage__ExternalCssURIAssignment_4_2_1 )
+            // InternalReportDSL.g:7238:3: rule__ReportPackage__ExternalCssURIAssignment_4_2_1
             {
             pushFollow(FOLLOW_2);
             rule__ReportPackage__ExternalCssURIAssignment_4_2_1();
@@ -26729,14 +27001,14 @@
 
 
     // $ANTLR start "rule__ReportPackage__Group_4_2__2"
-    // InternalReportDSL.g:7185:1: rule__ReportPackage__Group_4_2__2 : rule__ReportPackage__Group_4_2__2__Impl ;
+    // InternalReportDSL.g:7246:1: rule__ReportPackage__Group_4_2__2 : rule__ReportPackage__Group_4_2__2__Impl ;
     public final void rule__ReportPackage__Group_4_2__2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:7189:1: ( rule__ReportPackage__Group_4_2__2__Impl )
-            // InternalReportDSL.g:7190:2: rule__ReportPackage__Group_4_2__2__Impl
+            // InternalReportDSL.g:7250:1: ( rule__ReportPackage__Group_4_2__2__Impl )
+            // InternalReportDSL.g:7251:2: rule__ReportPackage__Group_4_2__2__Impl
             {
             pushFollow(FOLLOW_2);
             rule__ReportPackage__Group_4_2__2__Impl();
@@ -26762,31 +27034,31 @@
 
 
     // $ANTLR start "rule__ReportPackage__Group_4_2__2__Impl"
-    // InternalReportDSL.g:7196:1: rule__ReportPackage__Group_4_2__2__Impl : ( ( rule__ReportPackage__Group_4_2_2__0 )? ) ;
+    // InternalReportDSL.g:7257:1: rule__ReportPackage__Group_4_2__2__Impl : ( ( rule__ReportPackage__Group_4_2_2__0 )? ) ;
     public final void rule__ReportPackage__Group_4_2__2__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:7200:1: ( ( ( rule__ReportPackage__Group_4_2_2__0 )? ) )
-            // InternalReportDSL.g:7201:1: ( ( rule__ReportPackage__Group_4_2_2__0 )? )
+            // InternalReportDSL.g:7261:1: ( ( ( rule__ReportPackage__Group_4_2_2__0 )? ) )
+            // InternalReportDSL.g:7262:1: ( ( rule__ReportPackage__Group_4_2_2__0 )? )
             {
-            // InternalReportDSL.g:7201:1: ( ( rule__ReportPackage__Group_4_2_2__0 )? )
-            // InternalReportDSL.g:7202:2: ( rule__ReportPackage__Group_4_2_2__0 )?
+            // InternalReportDSL.g:7262:1: ( ( rule__ReportPackage__Group_4_2_2__0 )? )
+            // InternalReportDSL.g:7263:2: ( rule__ReportPackage__Group_4_2_2__0 )?
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getReportPackageAccess().getGroup_4_2_2()); 
             }
-            // InternalReportDSL.g:7203:2: ( rule__ReportPackage__Group_4_2_2__0 )?
-            int alt82=2;
-            int LA82_0 = input.LA(1);
+            // InternalReportDSL.g:7264:2: ( rule__ReportPackage__Group_4_2_2__0 )?
+            int alt83=2;
+            int LA83_0 = input.LA(1);
 
-            if ( (LA82_0==129) ) {
-                alt82=1;
+            if ( (LA83_0==135) ) {
+                alt83=1;
             }
-            switch (alt82) {
+            switch (alt83) {
                 case 1 :
-                    // InternalReportDSL.g:7203:3: rule__ReportPackage__Group_4_2_2__0
+                    // InternalReportDSL.g:7264:3: rule__ReportPackage__Group_4_2_2__0
                     {
                     pushFollow(FOLLOW_2);
                     rule__ReportPackage__Group_4_2_2__0();
@@ -26824,14 +27096,14 @@
 
 
     // $ANTLR start "rule__ReportPackage__Group_4_2_2__0"
-    // InternalReportDSL.g:7212:1: rule__ReportPackage__Group_4_2_2__0 : rule__ReportPackage__Group_4_2_2__0__Impl rule__ReportPackage__Group_4_2_2__1 ;
+    // InternalReportDSL.g:7273:1: rule__ReportPackage__Group_4_2_2__0 : rule__ReportPackage__Group_4_2_2__0__Impl rule__ReportPackage__Group_4_2_2__1 ;
     public final void rule__ReportPackage__Group_4_2_2__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:7216:1: ( rule__ReportPackage__Group_4_2_2__0__Impl rule__ReportPackage__Group_4_2_2__1 )
-            // InternalReportDSL.g:7217:2: rule__ReportPackage__Group_4_2_2__0__Impl rule__ReportPackage__Group_4_2_2__1
+            // InternalReportDSL.g:7277:1: ( rule__ReportPackage__Group_4_2_2__0__Impl rule__ReportPackage__Group_4_2_2__1 )
+            // InternalReportDSL.g:7278:2: rule__ReportPackage__Group_4_2_2__0__Impl rule__ReportPackage__Group_4_2_2__1
             {
             pushFollow(FOLLOW_18);
             rule__ReportPackage__Group_4_2_2__0__Impl();
@@ -26862,22 +27134,22 @@
 
 
     // $ANTLR start "rule__ReportPackage__Group_4_2_2__0__Impl"
-    // InternalReportDSL.g:7224:1: rule__ReportPackage__Group_4_2_2__0__Impl : ( 'fromBundle' ) ;
+    // InternalReportDSL.g:7285:1: rule__ReportPackage__Group_4_2_2__0__Impl : ( 'fromBundle' ) ;
     public final void rule__ReportPackage__Group_4_2_2__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:7228:1: ( ( 'fromBundle' ) )
-            // InternalReportDSL.g:7229:1: ( 'fromBundle' )
+            // InternalReportDSL.g:7289:1: ( ( 'fromBundle' ) )
+            // InternalReportDSL.g:7290:1: ( 'fromBundle' )
             {
-            // InternalReportDSL.g:7229:1: ( 'fromBundle' )
-            // InternalReportDSL.g:7230:2: 'fromBundle'
+            // InternalReportDSL.g:7290:1: ( 'fromBundle' )
+            // InternalReportDSL.g:7291:2: 'fromBundle'
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getReportPackageAccess().getFromBundleKeyword_4_2_2_0()); 
             }
-            match(input,129,FOLLOW_2); if (state.failed) return ;
+            match(input,135,FOLLOW_2); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getReportPackageAccess().getFromBundleKeyword_4_2_2_0()); 
             }
@@ -26903,14 +27175,14 @@
 
 
     // $ANTLR start "rule__ReportPackage__Group_4_2_2__1"
-    // InternalReportDSL.g:7239:1: rule__ReportPackage__Group_4_2_2__1 : rule__ReportPackage__Group_4_2_2__1__Impl ;
+    // InternalReportDSL.g:7300:1: rule__ReportPackage__Group_4_2_2__1 : rule__ReportPackage__Group_4_2_2__1__Impl ;
     public final void rule__ReportPackage__Group_4_2_2__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:7243:1: ( rule__ReportPackage__Group_4_2_2__1__Impl )
-            // InternalReportDSL.g:7244:2: rule__ReportPackage__Group_4_2_2__1__Impl
+            // InternalReportDSL.g:7304:1: ( rule__ReportPackage__Group_4_2_2__1__Impl )
+            // InternalReportDSL.g:7305:2: rule__ReportPackage__Group_4_2_2__1__Impl
             {
             pushFollow(FOLLOW_2);
             rule__ReportPackage__Group_4_2_2__1__Impl();
@@ -26936,23 +27208,23 @@
 
 
     // $ANTLR start "rule__ReportPackage__Group_4_2_2__1__Impl"
-    // InternalReportDSL.g:7250:1: rule__ReportPackage__Group_4_2_2__1__Impl : ( ( rule__ReportPackage__ExternalCssURIBundleAssignment_4_2_2_1 ) ) ;
+    // InternalReportDSL.g:7311:1: rule__ReportPackage__Group_4_2_2__1__Impl : ( ( rule__ReportPackage__ExternalCssURIBundleAssignment_4_2_2_1 ) ) ;
     public final void rule__ReportPackage__Group_4_2_2__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:7254:1: ( ( ( rule__ReportPackage__ExternalCssURIBundleAssignment_4_2_2_1 ) ) )
-            // InternalReportDSL.g:7255:1: ( ( rule__ReportPackage__ExternalCssURIBundleAssignment_4_2_2_1 ) )
+            // InternalReportDSL.g:7315:1: ( ( ( rule__ReportPackage__ExternalCssURIBundleAssignment_4_2_2_1 ) ) )
+            // InternalReportDSL.g:7316:1: ( ( rule__ReportPackage__ExternalCssURIBundleAssignment_4_2_2_1 ) )
             {
-            // InternalReportDSL.g:7255:1: ( ( rule__ReportPackage__ExternalCssURIBundleAssignment_4_2_2_1 ) )
-            // InternalReportDSL.g:7256:2: ( rule__ReportPackage__ExternalCssURIBundleAssignment_4_2_2_1 )
+            // InternalReportDSL.g:7316:1: ( ( rule__ReportPackage__ExternalCssURIBundleAssignment_4_2_2_1 ) )
+            // InternalReportDSL.g:7317:2: ( rule__ReportPackage__ExternalCssURIBundleAssignment_4_2_2_1 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getReportPackageAccess().getExternalCssURIBundleAssignment_4_2_2_1()); 
             }
-            // InternalReportDSL.g:7257:2: ( rule__ReportPackage__ExternalCssURIBundleAssignment_4_2_2_1 )
-            // InternalReportDSL.g:7257:3: rule__ReportPackage__ExternalCssURIBundleAssignment_4_2_2_1
+            // InternalReportDSL.g:7318:2: ( rule__ReportPackage__ExternalCssURIBundleAssignment_4_2_2_1 )
+            // InternalReportDSL.g:7318:3: rule__ReportPackage__ExternalCssURIBundleAssignment_4_2_2_1
             {
             pushFollow(FOLLOW_2);
             rule__ReportPackage__ExternalCssURIBundleAssignment_4_2_2_1();
@@ -26987,14 +27259,14 @@
 
 
     // $ANTLR start "rule__PageTemplates__Group__0"
-    // InternalReportDSL.g:7266:1: rule__PageTemplates__Group__0 : rule__PageTemplates__Group__0__Impl rule__PageTemplates__Group__1 ;
+    // InternalReportDSL.g:7327:1: rule__PageTemplates__Group__0 : rule__PageTemplates__Group__0__Impl rule__PageTemplates__Group__1 ;
     public final void rule__PageTemplates__Group__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:7270:1: ( rule__PageTemplates__Group__0__Impl rule__PageTemplates__Group__1 )
-            // InternalReportDSL.g:7271:2: rule__PageTemplates__Group__0__Impl rule__PageTemplates__Group__1
+            // InternalReportDSL.g:7331:1: ( rule__PageTemplates__Group__0__Impl rule__PageTemplates__Group__1 )
+            // InternalReportDSL.g:7332:2: rule__PageTemplates__Group__0__Impl rule__PageTemplates__Group__1
             {
             pushFollow(FOLLOW_16);
             rule__PageTemplates__Group__0__Impl();
@@ -27025,23 +27297,23 @@
 
 
     // $ANTLR start "rule__PageTemplates__Group__0__Impl"
-    // InternalReportDSL.g:7278:1: rule__PageTemplates__Group__0__Impl : ( () ) ;
+    // InternalReportDSL.g:7339:1: rule__PageTemplates__Group__0__Impl : ( () ) ;
     public final void rule__PageTemplates__Group__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:7282:1: ( ( () ) )
-            // InternalReportDSL.g:7283:1: ( () )
+            // InternalReportDSL.g:7343:1: ( ( () ) )
+            // InternalReportDSL.g:7344:1: ( () )
             {
-            // InternalReportDSL.g:7283:1: ( () )
-            // InternalReportDSL.g:7284:2: ()
+            // InternalReportDSL.g:7344:1: ( () )
+            // InternalReportDSL.g:7345:2: ()
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getPageTemplatesAccess().getPageTemplatesAction_0()); 
             }
-            // InternalReportDSL.g:7285:2: ()
-            // InternalReportDSL.g:7285:3: 
+            // InternalReportDSL.g:7346:2: ()
+            // InternalReportDSL.g:7346:3: 
             {
             }
 
@@ -27066,14 +27338,14 @@
 
 
     // $ANTLR start "rule__PageTemplates__Group__1"
-    // InternalReportDSL.g:7293:1: rule__PageTemplates__Group__1 : rule__PageTemplates__Group__1__Impl ;
+    // InternalReportDSL.g:7354:1: rule__PageTemplates__Group__1 : rule__PageTemplates__Group__1__Impl ;
     public final void rule__PageTemplates__Group__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:7297:1: ( rule__PageTemplates__Group__1__Impl )
-            // InternalReportDSL.g:7298:2: rule__PageTemplates__Group__1__Impl
+            // InternalReportDSL.g:7358:1: ( rule__PageTemplates__Group__1__Impl )
+            // InternalReportDSL.g:7359:2: rule__PageTemplates__Group__1__Impl
             {
             pushFollow(FOLLOW_2);
             rule__PageTemplates__Group__1__Impl();
@@ -27099,35 +27371,35 @@
 
 
     // $ANTLR start "rule__PageTemplates__Group__1__Impl"
-    // InternalReportDSL.g:7304:1: rule__PageTemplates__Group__1__Impl : ( ( rule__PageTemplates__PagetemplatesAssignment_1 )* ) ;
+    // InternalReportDSL.g:7365:1: rule__PageTemplates__Group__1__Impl : ( ( rule__PageTemplates__PagetemplatesAssignment_1 )* ) ;
     public final void rule__PageTemplates__Group__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:7308:1: ( ( ( rule__PageTemplates__PagetemplatesAssignment_1 )* ) )
-            // InternalReportDSL.g:7309:1: ( ( rule__PageTemplates__PagetemplatesAssignment_1 )* )
+            // InternalReportDSL.g:7369:1: ( ( ( rule__PageTemplates__PagetemplatesAssignment_1 )* ) )
+            // InternalReportDSL.g:7370:1: ( ( rule__PageTemplates__PagetemplatesAssignment_1 )* )
             {
-            // InternalReportDSL.g:7309:1: ( ( rule__PageTemplates__PagetemplatesAssignment_1 )* )
-            // InternalReportDSL.g:7310:2: ( rule__PageTemplates__PagetemplatesAssignment_1 )*
+            // InternalReportDSL.g:7370:1: ( ( rule__PageTemplates__PagetemplatesAssignment_1 )* )
+            // InternalReportDSL.g:7371:2: ( rule__PageTemplates__PagetemplatesAssignment_1 )*
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getPageTemplatesAccess().getPagetemplatesAssignment_1()); 
             }
-            // InternalReportDSL.g:7311:2: ( rule__PageTemplates__PagetemplatesAssignment_1 )*
-            loop83:
+            // InternalReportDSL.g:7372:2: ( rule__PageTemplates__PagetemplatesAssignment_1 )*
+            loop84:
             do {
-                int alt83=2;
-                int LA83_0 = input.LA(1);
+                int alt84=2;
+                int LA84_0 = input.LA(1);
 
-                if ( (LA83_0==136) ) {
-                    alt83=1;
+                if ( (LA84_0==142) ) {
+                    alt84=1;
                 }
 
 
-                switch (alt83) {
+                switch (alt84) {
             	case 1 :
-            	    // InternalReportDSL.g:7311:3: rule__PageTemplates__PagetemplatesAssignment_1
+            	    // InternalReportDSL.g:7372:3: rule__PageTemplates__PagetemplatesAssignment_1
             	    {
             	    pushFollow(FOLLOW_20);
             	    rule__PageTemplates__PagetemplatesAssignment_1();
@@ -27139,7 +27411,7 @@
             	    break;
 
             	default :
-            	    break loop83;
+            	    break loop84;
                 }
             } while (true);
 
@@ -27168,14 +27440,14 @@
 
 
     // $ANTLR start "rule__SomeFormats__Group__0"
-    // InternalReportDSL.g:7320:1: rule__SomeFormats__Group__0 : rule__SomeFormats__Group__0__Impl rule__SomeFormats__Group__1 ;
+    // InternalReportDSL.g:7381:1: rule__SomeFormats__Group__0 : rule__SomeFormats__Group__0__Impl rule__SomeFormats__Group__1 ;
     public final void rule__SomeFormats__Group__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:7324:1: ( rule__SomeFormats__Group__0__Impl rule__SomeFormats__Group__1 )
-            // InternalReportDSL.g:7325:2: rule__SomeFormats__Group__0__Impl rule__SomeFormats__Group__1
+            // InternalReportDSL.g:7385:1: ( rule__SomeFormats__Group__0__Impl rule__SomeFormats__Group__1 )
+            // InternalReportDSL.g:7386:2: rule__SomeFormats__Group__0__Impl rule__SomeFormats__Group__1
             {
             pushFollow(FOLLOW_11);
             rule__SomeFormats__Group__0__Impl();
@@ -27206,23 +27478,23 @@
 
 
     // $ANTLR start "rule__SomeFormats__Group__0__Impl"
-    // InternalReportDSL.g:7332:1: rule__SomeFormats__Group__0__Impl : ( () ) ;
+    // InternalReportDSL.g:7393:1: rule__SomeFormats__Group__0__Impl : ( () ) ;
     public final void rule__SomeFormats__Group__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:7336:1: ( ( () ) )
-            // InternalReportDSL.g:7337:1: ( () )
+            // InternalReportDSL.g:7397:1: ( ( () ) )
+            // InternalReportDSL.g:7398:1: ( () )
             {
-            // InternalReportDSL.g:7337:1: ( () )
-            // InternalReportDSL.g:7338:2: ()
+            // InternalReportDSL.g:7398:1: ( () )
+            // InternalReportDSL.g:7399:2: ()
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getSomeFormatsAccess().getSomeFormatsAction_0()); 
             }
-            // InternalReportDSL.g:7339:2: ()
-            // InternalReportDSL.g:7339:3: 
+            // InternalReportDSL.g:7400:2: ()
+            // InternalReportDSL.g:7400:3: 
             {
             }
 
@@ -27247,14 +27519,14 @@
 
 
     // $ANTLR start "rule__SomeFormats__Group__1"
-    // InternalReportDSL.g:7347:1: rule__SomeFormats__Group__1 : rule__SomeFormats__Group__1__Impl rule__SomeFormats__Group__2 ;
+    // InternalReportDSL.g:7408:1: rule__SomeFormats__Group__1 : rule__SomeFormats__Group__1__Impl rule__SomeFormats__Group__2 ;
     public final void rule__SomeFormats__Group__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:7351:1: ( rule__SomeFormats__Group__1__Impl rule__SomeFormats__Group__2 )
-            // InternalReportDSL.g:7352:2: rule__SomeFormats__Group__1__Impl rule__SomeFormats__Group__2
+            // InternalReportDSL.g:7412:1: ( rule__SomeFormats__Group__1__Impl rule__SomeFormats__Group__2 )
+            // InternalReportDSL.g:7413:2: rule__SomeFormats__Group__1__Impl rule__SomeFormats__Group__2
             {
             pushFollow(FOLLOW_8);
             rule__SomeFormats__Group__1__Impl();
@@ -27285,22 +27557,22 @@
 
 
     // $ANTLR start "rule__SomeFormats__Group__1__Impl"
-    // InternalReportDSL.g:7359:1: rule__SomeFormats__Group__1__Impl : ( 'formatters' ) ;
+    // InternalReportDSL.g:7420:1: rule__SomeFormats__Group__1__Impl : ( 'formatters' ) ;
     public final void rule__SomeFormats__Group__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:7363:1: ( ( 'formatters' ) )
-            // InternalReportDSL.g:7364:1: ( 'formatters' )
+            // InternalReportDSL.g:7424:1: ( ( 'formatters' ) )
+            // InternalReportDSL.g:7425:1: ( 'formatters' )
             {
-            // InternalReportDSL.g:7364:1: ( 'formatters' )
-            // InternalReportDSL.g:7365:2: 'formatters'
+            // InternalReportDSL.g:7425:1: ( 'formatters' )
+            // InternalReportDSL.g:7426:2: 'formatters'
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getSomeFormatsAccess().getFormattersKeyword_1()); 
             }
-            match(input,130,FOLLOW_2); if (state.failed) return ;
+            match(input,136,FOLLOW_2); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getSomeFormatsAccess().getFormattersKeyword_1()); 
             }
@@ -27326,14 +27598,14 @@
 
 
     // $ANTLR start "rule__SomeFormats__Group__2"
-    // InternalReportDSL.g:7374:1: rule__SomeFormats__Group__2 : rule__SomeFormats__Group__2__Impl rule__SomeFormats__Group__3 ;
+    // InternalReportDSL.g:7435:1: rule__SomeFormats__Group__2 : rule__SomeFormats__Group__2__Impl rule__SomeFormats__Group__3 ;
     public final void rule__SomeFormats__Group__2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:7378:1: ( rule__SomeFormats__Group__2__Impl rule__SomeFormats__Group__3 )
-            // InternalReportDSL.g:7379:2: rule__SomeFormats__Group__2__Impl rule__SomeFormats__Group__3
+            // InternalReportDSL.g:7439:1: ( rule__SomeFormats__Group__2__Impl rule__SomeFormats__Group__3 )
+            // InternalReportDSL.g:7440:2: rule__SomeFormats__Group__2__Impl rule__SomeFormats__Group__3
             {
             pushFollow(FOLLOW_21);
             rule__SomeFormats__Group__2__Impl();
@@ -27364,22 +27636,22 @@
 
 
     // $ANTLR start "rule__SomeFormats__Group__2__Impl"
-    // InternalReportDSL.g:7386:1: rule__SomeFormats__Group__2__Impl : ( '{' ) ;
+    // InternalReportDSL.g:7447:1: rule__SomeFormats__Group__2__Impl : ( '{' ) ;
     public final void rule__SomeFormats__Group__2__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:7390:1: ( ( '{' ) )
-            // InternalReportDSL.g:7391:1: ( '{' )
+            // InternalReportDSL.g:7451:1: ( ( '{' ) )
+            // InternalReportDSL.g:7452:1: ( '{' )
             {
-            // InternalReportDSL.g:7391:1: ( '{' )
-            // InternalReportDSL.g:7392:2: '{'
+            // InternalReportDSL.g:7452:1: ( '{' )
+            // InternalReportDSL.g:7453:2: '{'
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getSomeFormatsAccess().getLeftCurlyBracketKeyword_2()); 
             }
-            match(input,125,FOLLOW_2); if (state.failed) return ;
+            match(input,131,FOLLOW_2); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getSomeFormatsAccess().getLeftCurlyBracketKeyword_2()); 
             }
@@ -27405,14 +27677,14 @@
 
 
     // $ANTLR start "rule__SomeFormats__Group__3"
-    // InternalReportDSL.g:7401:1: rule__SomeFormats__Group__3 : rule__SomeFormats__Group__3__Impl rule__SomeFormats__Group__4 ;
+    // InternalReportDSL.g:7462:1: rule__SomeFormats__Group__3 : rule__SomeFormats__Group__3__Impl rule__SomeFormats__Group__4 ;
     public final void rule__SomeFormats__Group__3() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:7405:1: ( rule__SomeFormats__Group__3__Impl rule__SomeFormats__Group__4 )
-            // InternalReportDSL.g:7406:2: rule__SomeFormats__Group__3__Impl rule__SomeFormats__Group__4
+            // InternalReportDSL.g:7466:1: ( rule__SomeFormats__Group__3__Impl rule__SomeFormats__Group__4 )
+            // InternalReportDSL.g:7467:2: rule__SomeFormats__Group__3__Impl rule__SomeFormats__Group__4
             {
             pushFollow(FOLLOW_21);
             rule__SomeFormats__Group__3__Impl();
@@ -27443,35 +27715,35 @@
 
 
     // $ANTLR start "rule__SomeFormats__Group__3__Impl"
-    // InternalReportDSL.g:7413:1: rule__SomeFormats__Group__3__Impl : ( ( rule__SomeFormats__FormattersAssignment_3 )* ) ;
+    // InternalReportDSL.g:7474:1: rule__SomeFormats__Group__3__Impl : ( ( rule__SomeFormats__FormattersAssignment_3 )* ) ;
     public final void rule__SomeFormats__Group__3__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:7417:1: ( ( ( rule__SomeFormats__FormattersAssignment_3 )* ) )
-            // InternalReportDSL.g:7418:1: ( ( rule__SomeFormats__FormattersAssignment_3 )* )
+            // InternalReportDSL.g:7478:1: ( ( ( rule__SomeFormats__FormattersAssignment_3 )* ) )
+            // InternalReportDSL.g:7479:1: ( ( rule__SomeFormats__FormattersAssignment_3 )* )
             {
-            // InternalReportDSL.g:7418:1: ( ( rule__SomeFormats__FormattersAssignment_3 )* )
-            // InternalReportDSL.g:7419:2: ( rule__SomeFormats__FormattersAssignment_3 )*
+            // InternalReportDSL.g:7479:1: ( ( rule__SomeFormats__FormattersAssignment_3 )* )
+            // InternalReportDSL.g:7480:2: ( rule__SomeFormats__FormattersAssignment_3 )*
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getSomeFormatsAccess().getFormattersAssignment_3()); 
             }
-            // InternalReportDSL.g:7420:2: ( rule__SomeFormats__FormattersAssignment_3 )*
-            loop84:
+            // InternalReportDSL.g:7481:2: ( rule__SomeFormats__FormattersAssignment_3 )*
+            loop85:
             do {
-                int alt84=2;
-                int LA84_0 = input.LA(1);
+                int alt85=2;
+                int LA85_0 = input.LA(1);
 
-                if ( (LA84_0==86||LA84_0==170||(LA84_0>=173 && LA84_0<=176)) ) {
-                    alt84=1;
+                if ( (LA85_0==89||LA85_0==177||(LA85_0>=180 && LA85_0<=183)) ) {
+                    alt85=1;
                 }
 
 
-                switch (alt84) {
+                switch (alt85) {
             	case 1 :
-            	    // InternalReportDSL.g:7420:3: rule__SomeFormats__FormattersAssignment_3
+            	    // InternalReportDSL.g:7481:3: rule__SomeFormats__FormattersAssignment_3
             	    {
             	    pushFollow(FOLLOW_22);
             	    rule__SomeFormats__FormattersAssignment_3();
@@ -27483,7 +27755,7 @@
             	    break;
 
             	default :
-            	    break loop84;
+            	    break loop85;
                 }
             } while (true);
 
@@ -27512,14 +27784,14 @@
 
 
     // $ANTLR start "rule__SomeFormats__Group__4"
-    // InternalReportDSL.g:7428:1: rule__SomeFormats__Group__4 : rule__SomeFormats__Group__4__Impl ;
+    // InternalReportDSL.g:7489:1: rule__SomeFormats__Group__4 : rule__SomeFormats__Group__4__Impl ;
     public final void rule__SomeFormats__Group__4() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:7432:1: ( rule__SomeFormats__Group__4__Impl )
-            // InternalReportDSL.g:7433:2: rule__SomeFormats__Group__4__Impl
+            // InternalReportDSL.g:7493:1: ( rule__SomeFormats__Group__4__Impl )
+            // InternalReportDSL.g:7494:2: rule__SomeFormats__Group__4__Impl
             {
             pushFollow(FOLLOW_2);
             rule__SomeFormats__Group__4__Impl();
@@ -27545,22 +27817,22 @@
 
 
     // $ANTLR start "rule__SomeFormats__Group__4__Impl"
-    // InternalReportDSL.g:7439:1: rule__SomeFormats__Group__4__Impl : ( '}' ) ;
+    // InternalReportDSL.g:7500:1: rule__SomeFormats__Group__4__Impl : ( '}' ) ;
     public final void rule__SomeFormats__Group__4__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:7443:1: ( ( '}' ) )
-            // InternalReportDSL.g:7444:1: ( '}' )
+            // InternalReportDSL.g:7504:1: ( ( '}' ) )
+            // InternalReportDSL.g:7505:1: ( '}' )
             {
-            // InternalReportDSL.g:7444:1: ( '}' )
-            // InternalReportDSL.g:7445:2: '}'
+            // InternalReportDSL.g:7505:1: ( '}' )
+            // InternalReportDSL.g:7506:2: '}'
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getSomeFormatsAccess().getRightCurlyBracketKeyword_4()); 
             }
-            match(input,126,FOLLOW_2); if (state.failed) return ;
+            match(input,132,FOLLOW_2); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getSomeFormatsAccess().getRightCurlyBracketKeyword_4()); 
             }
@@ -27586,14 +27858,14 @@
 
 
     // $ANTLR start "rule__Colors__Group__0"
-    // InternalReportDSL.g:7455:1: rule__Colors__Group__0 : rule__Colors__Group__0__Impl rule__Colors__Group__1 ;
+    // InternalReportDSL.g:7516:1: rule__Colors__Group__0 : rule__Colors__Group__0__Impl rule__Colors__Group__1 ;
     public final void rule__Colors__Group__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:7459:1: ( rule__Colors__Group__0__Impl rule__Colors__Group__1 )
-            // InternalReportDSL.g:7460:2: rule__Colors__Group__0__Impl rule__Colors__Group__1
+            // InternalReportDSL.g:7520:1: ( rule__Colors__Group__0__Impl rule__Colors__Group__1 )
+            // InternalReportDSL.g:7521:2: rule__Colors__Group__0__Impl rule__Colors__Group__1
             {
             pushFollow(FOLLOW_12);
             rule__Colors__Group__0__Impl();
@@ -27624,23 +27896,23 @@
 
 
     // $ANTLR start "rule__Colors__Group__0__Impl"
-    // InternalReportDSL.g:7467:1: rule__Colors__Group__0__Impl : ( () ) ;
+    // InternalReportDSL.g:7528:1: rule__Colors__Group__0__Impl : ( () ) ;
     public final void rule__Colors__Group__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:7471:1: ( ( () ) )
-            // InternalReportDSL.g:7472:1: ( () )
+            // InternalReportDSL.g:7532:1: ( ( () ) )
+            // InternalReportDSL.g:7533:1: ( () )
             {
-            // InternalReportDSL.g:7472:1: ( () )
-            // InternalReportDSL.g:7473:2: ()
+            // InternalReportDSL.g:7533:1: ( () )
+            // InternalReportDSL.g:7534:2: ()
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getColorsAccess().getColorsAction_0()); 
             }
-            // InternalReportDSL.g:7474:2: ()
-            // InternalReportDSL.g:7474:3: 
+            // InternalReportDSL.g:7535:2: ()
+            // InternalReportDSL.g:7535:3: 
             {
             }
 
@@ -27665,14 +27937,14 @@
 
 
     // $ANTLR start "rule__Colors__Group__1"
-    // InternalReportDSL.g:7482:1: rule__Colors__Group__1 : rule__Colors__Group__1__Impl rule__Colors__Group__2 ;
+    // InternalReportDSL.g:7543:1: rule__Colors__Group__1 : rule__Colors__Group__1__Impl rule__Colors__Group__2 ;
     public final void rule__Colors__Group__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:7486:1: ( rule__Colors__Group__1__Impl rule__Colors__Group__2 )
-            // InternalReportDSL.g:7487:2: rule__Colors__Group__1__Impl rule__Colors__Group__2
+            // InternalReportDSL.g:7547:1: ( rule__Colors__Group__1__Impl rule__Colors__Group__2 )
+            // InternalReportDSL.g:7548:2: rule__Colors__Group__1__Impl rule__Colors__Group__2
             {
             pushFollow(FOLLOW_8);
             rule__Colors__Group__1__Impl();
@@ -27703,22 +27975,22 @@
 
 
     // $ANTLR start "rule__Colors__Group__1__Impl"
-    // InternalReportDSL.g:7494:1: rule__Colors__Group__1__Impl : ( 'colors' ) ;
+    // InternalReportDSL.g:7555:1: rule__Colors__Group__1__Impl : ( 'colors' ) ;
     public final void rule__Colors__Group__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:7498:1: ( ( 'colors' ) )
-            // InternalReportDSL.g:7499:1: ( 'colors' )
+            // InternalReportDSL.g:7559:1: ( ( 'colors' ) )
+            // InternalReportDSL.g:7560:1: ( 'colors' )
             {
-            // InternalReportDSL.g:7499:1: ( 'colors' )
-            // InternalReportDSL.g:7500:2: 'colors'
+            // InternalReportDSL.g:7560:1: ( 'colors' )
+            // InternalReportDSL.g:7561:2: 'colors'
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getColorsAccess().getColorsKeyword_1()); 
             }
-            match(input,131,FOLLOW_2); if (state.failed) return ;
+            match(input,137,FOLLOW_2); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getColorsAccess().getColorsKeyword_1()); 
             }
@@ -27744,14 +28016,14 @@
 
 
     // $ANTLR start "rule__Colors__Group__2"
-    // InternalReportDSL.g:7509:1: rule__Colors__Group__2 : rule__Colors__Group__2__Impl rule__Colors__Group__3 ;
+    // InternalReportDSL.g:7570:1: rule__Colors__Group__2 : rule__Colors__Group__2__Impl rule__Colors__Group__3 ;
     public final void rule__Colors__Group__2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:7513:1: ( rule__Colors__Group__2__Impl rule__Colors__Group__3 )
-            // InternalReportDSL.g:7514:2: rule__Colors__Group__2__Impl rule__Colors__Group__3
+            // InternalReportDSL.g:7574:1: ( rule__Colors__Group__2__Impl rule__Colors__Group__3 )
+            // InternalReportDSL.g:7575:2: rule__Colors__Group__2__Impl rule__Colors__Group__3
             {
             pushFollow(FOLLOW_23);
             rule__Colors__Group__2__Impl();
@@ -27782,22 +28054,22 @@
 
 
     // $ANTLR start "rule__Colors__Group__2__Impl"
-    // InternalReportDSL.g:7521:1: rule__Colors__Group__2__Impl : ( '{' ) ;
+    // InternalReportDSL.g:7582:1: rule__Colors__Group__2__Impl : ( '{' ) ;
     public final void rule__Colors__Group__2__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:7525:1: ( ( '{' ) )
-            // InternalReportDSL.g:7526:1: ( '{' )
+            // InternalReportDSL.g:7586:1: ( ( '{' ) )
+            // InternalReportDSL.g:7587:1: ( '{' )
             {
-            // InternalReportDSL.g:7526:1: ( '{' )
-            // InternalReportDSL.g:7527:2: '{'
+            // InternalReportDSL.g:7587:1: ( '{' )
+            // InternalReportDSL.g:7588:2: '{'
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getColorsAccess().getLeftCurlyBracketKeyword_2()); 
             }
-            match(input,125,FOLLOW_2); if (state.failed) return ;
+            match(input,131,FOLLOW_2); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getColorsAccess().getLeftCurlyBracketKeyword_2()); 
             }
@@ -27823,14 +28095,14 @@
 
 
     // $ANTLR start "rule__Colors__Group__3"
-    // InternalReportDSL.g:7536:1: rule__Colors__Group__3 : rule__Colors__Group__3__Impl rule__Colors__Group__4 ;
+    // InternalReportDSL.g:7597:1: rule__Colors__Group__3 : rule__Colors__Group__3__Impl rule__Colors__Group__4 ;
     public final void rule__Colors__Group__3() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:7540:1: ( rule__Colors__Group__3__Impl rule__Colors__Group__4 )
-            // InternalReportDSL.g:7541:2: rule__Colors__Group__3__Impl rule__Colors__Group__4
+            // InternalReportDSL.g:7601:1: ( rule__Colors__Group__3__Impl rule__Colors__Group__4 )
+            // InternalReportDSL.g:7602:2: rule__Colors__Group__3__Impl rule__Colors__Group__4
             {
             pushFollow(FOLLOW_23);
             rule__Colors__Group__3__Impl();
@@ -27861,35 +28133,35 @@
 
 
     // $ANTLR start "rule__Colors__Group__3__Impl"
-    // InternalReportDSL.g:7548:1: rule__Colors__Group__3__Impl : ( ( rule__Colors__ColorsAssignment_3 )* ) ;
+    // InternalReportDSL.g:7609:1: rule__Colors__Group__3__Impl : ( ( rule__Colors__ColorsAssignment_3 )* ) ;
     public final void rule__Colors__Group__3__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:7552:1: ( ( ( rule__Colors__ColorsAssignment_3 )* ) )
-            // InternalReportDSL.g:7553:1: ( ( rule__Colors__ColorsAssignment_3 )* )
+            // InternalReportDSL.g:7613:1: ( ( ( rule__Colors__ColorsAssignment_3 )* ) )
+            // InternalReportDSL.g:7614:1: ( ( rule__Colors__ColorsAssignment_3 )* )
             {
-            // InternalReportDSL.g:7553:1: ( ( rule__Colors__ColorsAssignment_3 )* )
-            // InternalReportDSL.g:7554:2: ( rule__Colors__ColorsAssignment_3 )*
+            // InternalReportDSL.g:7614:1: ( ( rule__Colors__ColorsAssignment_3 )* )
+            // InternalReportDSL.g:7615:2: ( rule__Colors__ColorsAssignment_3 )*
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getColorsAccess().getColorsAssignment_3()); 
             }
-            // InternalReportDSL.g:7555:2: ( rule__Colors__ColorsAssignment_3 )*
-            loop85:
+            // InternalReportDSL.g:7616:2: ( rule__Colors__ColorsAssignment_3 )*
+            loop86:
             do {
-                int alt85=2;
-                int LA85_0 = input.LA(1);
+                int alt86=2;
+                int LA86_0 = input.LA(1);
 
-                if ( (LA85_0==143) ) {
-                    alt85=1;
+                if ( (LA86_0==149) ) {
+                    alt86=1;
                 }
 
 
-                switch (alt85) {
+                switch (alt86) {
             	case 1 :
-            	    // InternalReportDSL.g:7555:3: rule__Colors__ColorsAssignment_3
+            	    // InternalReportDSL.g:7616:3: rule__Colors__ColorsAssignment_3
             	    {
             	    pushFollow(FOLLOW_24);
             	    rule__Colors__ColorsAssignment_3();
@@ -27901,7 +28173,7 @@
             	    break;
 
             	default :
-            	    break loop85;
+            	    break loop86;
                 }
             } while (true);
 
@@ -27930,14 +28202,14 @@
 
 
     // $ANTLR start "rule__Colors__Group__4"
-    // InternalReportDSL.g:7563:1: rule__Colors__Group__4 : rule__Colors__Group__4__Impl ;
+    // InternalReportDSL.g:7624:1: rule__Colors__Group__4 : rule__Colors__Group__4__Impl ;
     public final void rule__Colors__Group__4() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:7567:1: ( rule__Colors__Group__4__Impl )
-            // InternalReportDSL.g:7568:2: rule__Colors__Group__4__Impl
+            // InternalReportDSL.g:7628:1: ( rule__Colors__Group__4__Impl )
+            // InternalReportDSL.g:7629:2: rule__Colors__Group__4__Impl
             {
             pushFollow(FOLLOW_2);
             rule__Colors__Group__4__Impl();
@@ -27963,22 +28235,22 @@
 
 
     // $ANTLR start "rule__Colors__Group__4__Impl"
-    // InternalReportDSL.g:7574:1: rule__Colors__Group__4__Impl : ( '}' ) ;
+    // InternalReportDSL.g:7635:1: rule__Colors__Group__4__Impl : ( '}' ) ;
     public final void rule__Colors__Group__4__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:7578:1: ( ( '}' ) )
-            // InternalReportDSL.g:7579:1: ( '}' )
+            // InternalReportDSL.g:7639:1: ( ( '}' ) )
+            // InternalReportDSL.g:7640:1: ( '}' )
             {
-            // InternalReportDSL.g:7579:1: ( '}' )
-            // InternalReportDSL.g:7580:2: '}'
+            // InternalReportDSL.g:7640:1: ( '}' )
+            // InternalReportDSL.g:7641:2: '}'
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getColorsAccess().getRightCurlyBracketKeyword_4()); 
             }
-            match(input,126,FOLLOW_2); if (state.failed) return ;
+            match(input,132,FOLLOW_2); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getColorsAccess().getRightCurlyBracketKeyword_4()); 
             }
@@ -28004,14 +28276,14 @@
 
 
     // $ANTLR start "rule__Fonts__Group__0"
-    // InternalReportDSL.g:7590:1: rule__Fonts__Group__0 : rule__Fonts__Group__0__Impl rule__Fonts__Group__1 ;
+    // InternalReportDSL.g:7651:1: rule__Fonts__Group__0 : rule__Fonts__Group__0__Impl rule__Fonts__Group__1 ;
     public final void rule__Fonts__Group__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:7594:1: ( rule__Fonts__Group__0__Impl rule__Fonts__Group__1 )
-            // InternalReportDSL.g:7595:2: rule__Fonts__Group__0__Impl rule__Fonts__Group__1
+            // InternalReportDSL.g:7655:1: ( rule__Fonts__Group__0__Impl rule__Fonts__Group__1 )
+            // InternalReportDSL.g:7656:2: rule__Fonts__Group__0__Impl rule__Fonts__Group__1
             {
             pushFollow(FOLLOW_13);
             rule__Fonts__Group__0__Impl();
@@ -28042,23 +28314,23 @@
 
 
     // $ANTLR start "rule__Fonts__Group__0__Impl"
-    // InternalReportDSL.g:7602:1: rule__Fonts__Group__0__Impl : ( () ) ;
+    // InternalReportDSL.g:7663:1: rule__Fonts__Group__0__Impl : ( () ) ;
     public final void rule__Fonts__Group__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:7606:1: ( ( () ) )
-            // InternalReportDSL.g:7607:1: ( () )
+            // InternalReportDSL.g:7667:1: ( ( () ) )
+            // InternalReportDSL.g:7668:1: ( () )
             {
-            // InternalReportDSL.g:7607:1: ( () )
-            // InternalReportDSL.g:7608:2: ()
+            // InternalReportDSL.g:7668:1: ( () )
+            // InternalReportDSL.g:7669:2: ()
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getFontsAccess().getFontsAction_0()); 
             }
-            // InternalReportDSL.g:7609:2: ()
-            // InternalReportDSL.g:7609:3: 
+            // InternalReportDSL.g:7670:2: ()
+            // InternalReportDSL.g:7670:3: 
             {
             }
 
@@ -28083,14 +28355,14 @@
 
 
     // $ANTLR start "rule__Fonts__Group__1"
-    // InternalReportDSL.g:7617:1: rule__Fonts__Group__1 : rule__Fonts__Group__1__Impl rule__Fonts__Group__2 ;
+    // InternalReportDSL.g:7678:1: rule__Fonts__Group__1 : rule__Fonts__Group__1__Impl rule__Fonts__Group__2 ;
     public final void rule__Fonts__Group__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:7621:1: ( rule__Fonts__Group__1__Impl rule__Fonts__Group__2 )
-            // InternalReportDSL.g:7622:2: rule__Fonts__Group__1__Impl rule__Fonts__Group__2
+            // InternalReportDSL.g:7682:1: ( rule__Fonts__Group__1__Impl rule__Fonts__Group__2 )
+            // InternalReportDSL.g:7683:2: rule__Fonts__Group__1__Impl rule__Fonts__Group__2
             {
             pushFollow(FOLLOW_8);
             rule__Fonts__Group__1__Impl();
@@ -28121,22 +28393,22 @@
 
 
     // $ANTLR start "rule__Fonts__Group__1__Impl"
-    // InternalReportDSL.g:7629:1: rule__Fonts__Group__1__Impl : ( 'fonts' ) ;
+    // InternalReportDSL.g:7690:1: rule__Fonts__Group__1__Impl : ( 'fonts' ) ;
     public final void rule__Fonts__Group__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:7633:1: ( ( 'fonts' ) )
-            // InternalReportDSL.g:7634:1: ( 'fonts' )
+            // InternalReportDSL.g:7694:1: ( ( 'fonts' ) )
+            // InternalReportDSL.g:7695:1: ( 'fonts' )
             {
-            // InternalReportDSL.g:7634:1: ( 'fonts' )
-            // InternalReportDSL.g:7635:2: 'fonts'
+            // InternalReportDSL.g:7695:1: ( 'fonts' )
+            // InternalReportDSL.g:7696:2: 'fonts'
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getFontsAccess().getFontsKeyword_1()); 
             }
-            match(input,132,FOLLOW_2); if (state.failed) return ;
+            match(input,138,FOLLOW_2); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getFontsAccess().getFontsKeyword_1()); 
             }
@@ -28162,14 +28434,14 @@
 
 
     // $ANTLR start "rule__Fonts__Group__2"
-    // InternalReportDSL.g:7644:1: rule__Fonts__Group__2 : rule__Fonts__Group__2__Impl rule__Fonts__Group__3 ;
+    // InternalReportDSL.g:7705:1: rule__Fonts__Group__2 : rule__Fonts__Group__2__Impl rule__Fonts__Group__3 ;
     public final void rule__Fonts__Group__2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:7648:1: ( rule__Fonts__Group__2__Impl rule__Fonts__Group__3 )
-            // InternalReportDSL.g:7649:2: rule__Fonts__Group__2__Impl rule__Fonts__Group__3
+            // InternalReportDSL.g:7709:1: ( rule__Fonts__Group__2__Impl rule__Fonts__Group__3 )
+            // InternalReportDSL.g:7710:2: rule__Fonts__Group__2__Impl rule__Fonts__Group__3
             {
             pushFollow(FOLLOW_25);
             rule__Fonts__Group__2__Impl();
@@ -28200,22 +28472,22 @@
 
 
     // $ANTLR start "rule__Fonts__Group__2__Impl"
-    // InternalReportDSL.g:7656:1: rule__Fonts__Group__2__Impl : ( '{' ) ;
+    // InternalReportDSL.g:7717:1: rule__Fonts__Group__2__Impl : ( '{' ) ;
     public final void rule__Fonts__Group__2__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:7660:1: ( ( '{' ) )
-            // InternalReportDSL.g:7661:1: ( '{' )
+            // InternalReportDSL.g:7721:1: ( ( '{' ) )
+            // InternalReportDSL.g:7722:1: ( '{' )
             {
-            // InternalReportDSL.g:7661:1: ( '{' )
-            // InternalReportDSL.g:7662:2: '{'
+            // InternalReportDSL.g:7722:1: ( '{' )
+            // InternalReportDSL.g:7723:2: '{'
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getFontsAccess().getLeftCurlyBracketKeyword_2()); 
             }
-            match(input,125,FOLLOW_2); if (state.failed) return ;
+            match(input,131,FOLLOW_2); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getFontsAccess().getLeftCurlyBracketKeyword_2()); 
             }
@@ -28241,14 +28513,14 @@
 
 
     // $ANTLR start "rule__Fonts__Group__3"
-    // InternalReportDSL.g:7671:1: rule__Fonts__Group__3 : rule__Fonts__Group__3__Impl rule__Fonts__Group__4 ;
+    // InternalReportDSL.g:7732:1: rule__Fonts__Group__3 : rule__Fonts__Group__3__Impl rule__Fonts__Group__4 ;
     public final void rule__Fonts__Group__3() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:7675:1: ( rule__Fonts__Group__3__Impl rule__Fonts__Group__4 )
-            // InternalReportDSL.g:7676:2: rule__Fonts__Group__3__Impl rule__Fonts__Group__4
+            // InternalReportDSL.g:7736:1: ( rule__Fonts__Group__3__Impl rule__Fonts__Group__4 )
+            // InternalReportDSL.g:7737:2: rule__Fonts__Group__3__Impl rule__Fonts__Group__4
             {
             pushFollow(FOLLOW_25);
             rule__Fonts__Group__3__Impl();
@@ -28279,35 +28551,35 @@
 
 
     // $ANTLR start "rule__Fonts__Group__3__Impl"
-    // InternalReportDSL.g:7683:1: rule__Fonts__Group__3__Impl : ( ( rule__Fonts__FontsAssignment_3 )* ) ;
+    // InternalReportDSL.g:7744:1: rule__Fonts__Group__3__Impl : ( ( rule__Fonts__FontsAssignment_3 )* ) ;
     public final void rule__Fonts__Group__3__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:7687:1: ( ( ( rule__Fonts__FontsAssignment_3 )* ) )
-            // InternalReportDSL.g:7688:1: ( ( rule__Fonts__FontsAssignment_3 )* )
+            // InternalReportDSL.g:7748:1: ( ( ( rule__Fonts__FontsAssignment_3 )* ) )
+            // InternalReportDSL.g:7749:1: ( ( rule__Fonts__FontsAssignment_3 )* )
             {
-            // InternalReportDSL.g:7688:1: ( ( rule__Fonts__FontsAssignment_3 )* )
-            // InternalReportDSL.g:7689:2: ( rule__Fonts__FontsAssignment_3 )*
+            // InternalReportDSL.g:7749:1: ( ( rule__Fonts__FontsAssignment_3 )* )
+            // InternalReportDSL.g:7750:2: ( rule__Fonts__FontsAssignment_3 )*
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getFontsAccess().getFontsAssignment_3()); 
             }
-            // InternalReportDSL.g:7690:2: ( rule__Fonts__FontsAssignment_3 )*
-            loop86:
+            // InternalReportDSL.g:7751:2: ( rule__Fonts__FontsAssignment_3 )*
+            loop87:
             do {
-                int alt86=2;
-                int LA86_0 = input.LA(1);
+                int alt87=2;
+                int LA87_0 = input.LA(1);
 
-                if ( (LA86_0==149) ) {
-                    alt86=1;
+                if ( (LA87_0==155) ) {
+                    alt87=1;
                 }
 
 
-                switch (alt86) {
+                switch (alt87) {
             	case 1 :
-            	    // InternalReportDSL.g:7690:3: rule__Fonts__FontsAssignment_3
+            	    // InternalReportDSL.g:7751:3: rule__Fonts__FontsAssignment_3
             	    {
             	    pushFollow(FOLLOW_26);
             	    rule__Fonts__FontsAssignment_3();
@@ -28319,7 +28591,7 @@
             	    break;
 
             	default :
-            	    break loop86;
+            	    break loop87;
                 }
             } while (true);
 
@@ -28348,14 +28620,14 @@
 
 
     // $ANTLR start "rule__Fonts__Group__4"
-    // InternalReportDSL.g:7698:1: rule__Fonts__Group__4 : rule__Fonts__Group__4__Impl ;
+    // InternalReportDSL.g:7759:1: rule__Fonts__Group__4 : rule__Fonts__Group__4__Impl ;
     public final void rule__Fonts__Group__4() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:7702:1: ( rule__Fonts__Group__4__Impl )
-            // InternalReportDSL.g:7703:2: rule__Fonts__Group__4__Impl
+            // InternalReportDSL.g:7763:1: ( rule__Fonts__Group__4__Impl )
+            // InternalReportDSL.g:7764:2: rule__Fonts__Group__4__Impl
             {
             pushFollow(FOLLOW_2);
             rule__Fonts__Group__4__Impl();
@@ -28381,22 +28653,22 @@
 
 
     // $ANTLR start "rule__Fonts__Group__4__Impl"
-    // InternalReportDSL.g:7709:1: rule__Fonts__Group__4__Impl : ( '}' ) ;
+    // InternalReportDSL.g:7770:1: rule__Fonts__Group__4__Impl : ( '}' ) ;
     public final void rule__Fonts__Group__4__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:7713:1: ( ( '}' ) )
-            // InternalReportDSL.g:7714:1: ( '}' )
+            // InternalReportDSL.g:7774:1: ( ( '}' ) )
+            // InternalReportDSL.g:7775:1: ( '}' )
             {
-            // InternalReportDSL.g:7714:1: ( '}' )
-            // InternalReportDSL.g:7715:2: '}'
+            // InternalReportDSL.g:7775:1: ( '}' )
+            // InternalReportDSL.g:7776:2: '}'
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getFontsAccess().getRightCurlyBracketKeyword_4()); 
             }
-            match(input,126,FOLLOW_2); if (state.failed) return ;
+            match(input,132,FOLLOW_2); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getFontsAccess().getRightCurlyBracketKeyword_4()); 
             }
@@ -28422,14 +28694,14 @@
 
 
     // $ANTLR start "rule__Medias__Group__0"
-    // InternalReportDSL.g:7725:1: rule__Medias__Group__0 : rule__Medias__Group__0__Impl rule__Medias__Group__1 ;
+    // InternalReportDSL.g:7786:1: rule__Medias__Group__0 : rule__Medias__Group__0__Impl rule__Medias__Group__1 ;
     public final void rule__Medias__Group__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:7729:1: ( rule__Medias__Group__0__Impl rule__Medias__Group__1 )
-            // InternalReportDSL.g:7730:2: rule__Medias__Group__0__Impl rule__Medias__Group__1
+            // InternalReportDSL.g:7790:1: ( rule__Medias__Group__0__Impl rule__Medias__Group__1 )
+            // InternalReportDSL.g:7791:2: rule__Medias__Group__0__Impl rule__Medias__Group__1
             {
             pushFollow(FOLLOW_14);
             rule__Medias__Group__0__Impl();
@@ -28460,23 +28732,23 @@
 
 
     // $ANTLR start "rule__Medias__Group__0__Impl"
-    // InternalReportDSL.g:7737:1: rule__Medias__Group__0__Impl : ( () ) ;
+    // InternalReportDSL.g:7798:1: rule__Medias__Group__0__Impl : ( () ) ;
     public final void rule__Medias__Group__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:7741:1: ( ( () ) )
-            // InternalReportDSL.g:7742:1: ( () )
+            // InternalReportDSL.g:7802:1: ( ( () ) )
+            // InternalReportDSL.g:7803:1: ( () )
             {
-            // InternalReportDSL.g:7742:1: ( () )
-            // InternalReportDSL.g:7743:2: ()
+            // InternalReportDSL.g:7803:1: ( () )
+            // InternalReportDSL.g:7804:2: ()
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getMediasAccess().getMediasAction_0()); 
             }
-            // InternalReportDSL.g:7744:2: ()
-            // InternalReportDSL.g:7744:3: 
+            // InternalReportDSL.g:7805:2: ()
+            // InternalReportDSL.g:7805:3: 
             {
             }
 
@@ -28501,14 +28773,14 @@
 
 
     // $ANTLR start "rule__Medias__Group__1"
-    // InternalReportDSL.g:7752:1: rule__Medias__Group__1 : rule__Medias__Group__1__Impl rule__Medias__Group__2 ;
+    // InternalReportDSL.g:7813:1: rule__Medias__Group__1 : rule__Medias__Group__1__Impl rule__Medias__Group__2 ;
     public final void rule__Medias__Group__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:7756:1: ( rule__Medias__Group__1__Impl rule__Medias__Group__2 )
-            // InternalReportDSL.g:7757:2: rule__Medias__Group__1__Impl rule__Medias__Group__2
+            // InternalReportDSL.g:7817:1: ( rule__Medias__Group__1__Impl rule__Medias__Group__2 )
+            // InternalReportDSL.g:7818:2: rule__Medias__Group__1__Impl rule__Medias__Group__2
             {
             pushFollow(FOLLOW_8);
             rule__Medias__Group__1__Impl();
@@ -28539,22 +28811,22 @@
 
 
     // $ANTLR start "rule__Medias__Group__1__Impl"
-    // InternalReportDSL.g:7764:1: rule__Medias__Group__1__Impl : ( 'medias' ) ;
+    // InternalReportDSL.g:7825:1: rule__Medias__Group__1__Impl : ( 'medias' ) ;
     public final void rule__Medias__Group__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:7768:1: ( ( 'medias' ) )
-            // InternalReportDSL.g:7769:1: ( 'medias' )
+            // InternalReportDSL.g:7829:1: ( ( 'medias' ) )
+            // InternalReportDSL.g:7830:1: ( 'medias' )
             {
-            // InternalReportDSL.g:7769:1: ( 'medias' )
-            // InternalReportDSL.g:7770:2: 'medias'
+            // InternalReportDSL.g:7830:1: ( 'medias' )
+            // InternalReportDSL.g:7831:2: 'medias'
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getMediasAccess().getMediasKeyword_1()); 
             }
-            match(input,133,FOLLOW_2); if (state.failed) return ;
+            match(input,139,FOLLOW_2); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getMediasAccess().getMediasKeyword_1()); 
             }
@@ -28580,14 +28852,14 @@
 
 
     // $ANTLR start "rule__Medias__Group__2"
-    // InternalReportDSL.g:7779:1: rule__Medias__Group__2 : rule__Medias__Group__2__Impl rule__Medias__Group__3 ;
+    // InternalReportDSL.g:7840:1: rule__Medias__Group__2 : rule__Medias__Group__2__Impl rule__Medias__Group__3 ;
     public final void rule__Medias__Group__2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:7783:1: ( rule__Medias__Group__2__Impl rule__Medias__Group__3 )
-            // InternalReportDSL.g:7784:2: rule__Medias__Group__2__Impl rule__Medias__Group__3
+            // InternalReportDSL.g:7844:1: ( rule__Medias__Group__2__Impl rule__Medias__Group__3 )
+            // InternalReportDSL.g:7845:2: rule__Medias__Group__2__Impl rule__Medias__Group__3
             {
             pushFollow(FOLLOW_27);
             rule__Medias__Group__2__Impl();
@@ -28618,22 +28890,22 @@
 
 
     // $ANTLR start "rule__Medias__Group__2__Impl"
-    // InternalReportDSL.g:7791:1: rule__Medias__Group__2__Impl : ( '{' ) ;
+    // InternalReportDSL.g:7852:1: rule__Medias__Group__2__Impl : ( '{' ) ;
     public final void rule__Medias__Group__2__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:7795:1: ( ( '{' ) )
-            // InternalReportDSL.g:7796:1: ( '{' )
+            // InternalReportDSL.g:7856:1: ( ( '{' ) )
+            // InternalReportDSL.g:7857:1: ( '{' )
             {
-            // InternalReportDSL.g:7796:1: ( '{' )
-            // InternalReportDSL.g:7797:2: '{'
+            // InternalReportDSL.g:7857:1: ( '{' )
+            // InternalReportDSL.g:7858:2: '{'
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getMediasAccess().getLeftCurlyBracketKeyword_2()); 
             }
-            match(input,125,FOLLOW_2); if (state.failed) return ;
+            match(input,131,FOLLOW_2); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getMediasAccess().getLeftCurlyBracketKeyword_2()); 
             }
@@ -28659,14 +28931,14 @@
 
 
     // $ANTLR start "rule__Medias__Group__3"
-    // InternalReportDSL.g:7806:1: rule__Medias__Group__3 : rule__Medias__Group__3__Impl rule__Medias__Group__4 ;
+    // InternalReportDSL.g:7867:1: rule__Medias__Group__3 : rule__Medias__Group__3__Impl rule__Medias__Group__4 ;
     public final void rule__Medias__Group__3() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:7810:1: ( rule__Medias__Group__3__Impl rule__Medias__Group__4 )
-            // InternalReportDSL.g:7811:2: rule__Medias__Group__3__Impl rule__Medias__Group__4
+            // InternalReportDSL.g:7871:1: ( rule__Medias__Group__3__Impl rule__Medias__Group__4 )
+            // InternalReportDSL.g:7872:2: rule__Medias__Group__3__Impl rule__Medias__Group__4
             {
             pushFollow(FOLLOW_27);
             rule__Medias__Group__3__Impl();
@@ -28697,35 +28969,35 @@
 
 
     // $ANTLR start "rule__Medias__Group__3__Impl"
-    // InternalReportDSL.g:7818:1: rule__Medias__Group__3__Impl : ( ( rule__Medias__MediasAssignment_3 )* ) ;
+    // InternalReportDSL.g:7879:1: rule__Medias__Group__3__Impl : ( ( rule__Medias__MediasAssignment_3 )* ) ;
     public final void rule__Medias__Group__3__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:7822:1: ( ( ( rule__Medias__MediasAssignment_3 )* ) )
-            // InternalReportDSL.g:7823:1: ( ( rule__Medias__MediasAssignment_3 )* )
+            // InternalReportDSL.g:7883:1: ( ( ( rule__Medias__MediasAssignment_3 )* ) )
+            // InternalReportDSL.g:7884:1: ( ( rule__Medias__MediasAssignment_3 )* )
             {
-            // InternalReportDSL.g:7823:1: ( ( rule__Medias__MediasAssignment_3 )* )
-            // InternalReportDSL.g:7824:2: ( rule__Medias__MediasAssignment_3 )*
+            // InternalReportDSL.g:7884:1: ( ( rule__Medias__MediasAssignment_3 )* )
+            // InternalReportDSL.g:7885:2: ( rule__Medias__MediasAssignment_3 )*
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getMediasAccess().getMediasAssignment_3()); 
             }
-            // InternalReportDSL.g:7825:2: ( rule__Medias__MediasAssignment_3 )*
-            loop87:
+            // InternalReportDSL.g:7886:2: ( rule__Medias__MediasAssignment_3 )*
+            loop88:
             do {
-                int alt87=2;
-                int LA87_0 = input.LA(1);
+                int alt88=2;
+                int LA88_0 = input.LA(1);
 
-                if ( (LA87_0==134) ) {
-                    alt87=1;
+                if ( (LA88_0==140) ) {
+                    alt88=1;
                 }
 
 
-                switch (alt87) {
+                switch (alt88) {
             	case 1 :
-            	    // InternalReportDSL.g:7825:3: rule__Medias__MediasAssignment_3
+            	    // InternalReportDSL.g:7886:3: rule__Medias__MediasAssignment_3
             	    {
             	    pushFollow(FOLLOW_28);
             	    rule__Medias__MediasAssignment_3();
@@ -28737,7 +29009,7 @@
             	    break;
 
             	default :
-            	    break loop87;
+            	    break loop88;
                 }
             } while (true);
 
@@ -28766,14 +29038,14 @@
 
 
     // $ANTLR start "rule__Medias__Group__4"
-    // InternalReportDSL.g:7833:1: rule__Medias__Group__4 : rule__Medias__Group__4__Impl ;
+    // InternalReportDSL.g:7894:1: rule__Medias__Group__4 : rule__Medias__Group__4__Impl ;
     public final void rule__Medias__Group__4() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:7837:1: ( rule__Medias__Group__4__Impl )
-            // InternalReportDSL.g:7838:2: rule__Medias__Group__4__Impl
+            // InternalReportDSL.g:7898:1: ( rule__Medias__Group__4__Impl )
+            // InternalReportDSL.g:7899:2: rule__Medias__Group__4__Impl
             {
             pushFollow(FOLLOW_2);
             rule__Medias__Group__4__Impl();
@@ -28799,22 +29071,22 @@
 
 
     // $ANTLR start "rule__Medias__Group__4__Impl"
-    // InternalReportDSL.g:7844:1: rule__Medias__Group__4__Impl : ( '}' ) ;
+    // InternalReportDSL.g:7905:1: rule__Medias__Group__4__Impl : ( '}' ) ;
     public final void rule__Medias__Group__4__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:7848:1: ( ( '}' ) )
-            // InternalReportDSL.g:7849:1: ( '}' )
+            // InternalReportDSL.g:7909:1: ( ( '}' ) )
+            // InternalReportDSL.g:7910:1: ( '}' )
             {
-            // InternalReportDSL.g:7849:1: ( '}' )
-            // InternalReportDSL.g:7850:2: '}'
+            // InternalReportDSL.g:7910:1: ( '}' )
+            // InternalReportDSL.g:7911:2: '}'
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getMediasAccess().getRightCurlyBracketKeyword_4()); 
             }
-            match(input,126,FOLLOW_2); if (state.failed) return ;
+            match(input,132,FOLLOW_2); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getMediasAccess().getRightCurlyBracketKeyword_4()); 
             }
@@ -28840,14 +29112,14 @@
 
 
     // $ANTLR start "rule__Media__Group__0"
-    // InternalReportDSL.g:7860:1: rule__Media__Group__0 : rule__Media__Group__0__Impl rule__Media__Group__1 ;
+    // InternalReportDSL.g:7921:1: rule__Media__Group__0 : rule__Media__Group__0__Impl rule__Media__Group__1 ;
     public final void rule__Media__Group__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:7864:1: ( rule__Media__Group__0__Impl rule__Media__Group__1 )
-            // InternalReportDSL.g:7865:2: rule__Media__Group__0__Impl rule__Media__Group__1
+            // InternalReportDSL.g:7925:1: ( rule__Media__Group__0__Impl rule__Media__Group__1 )
+            // InternalReportDSL.g:7926:2: rule__Media__Group__0__Impl rule__Media__Group__1
             {
             pushFollow(FOLLOW_7);
             rule__Media__Group__0__Impl();
@@ -28878,22 +29150,22 @@
 
 
     // $ANTLR start "rule__Media__Group__0__Impl"
-    // InternalReportDSL.g:7872:1: rule__Media__Group__0__Impl : ( 'media' ) ;
+    // InternalReportDSL.g:7933:1: rule__Media__Group__0__Impl : ( 'media' ) ;
     public final void rule__Media__Group__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:7876:1: ( ( 'media' ) )
-            // InternalReportDSL.g:7877:1: ( 'media' )
+            // InternalReportDSL.g:7937:1: ( ( 'media' ) )
+            // InternalReportDSL.g:7938:1: ( 'media' )
             {
-            // InternalReportDSL.g:7877:1: ( 'media' )
-            // InternalReportDSL.g:7878:2: 'media'
+            // InternalReportDSL.g:7938:1: ( 'media' )
+            // InternalReportDSL.g:7939:2: 'media'
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getMediaAccess().getMediaKeyword_0()); 
             }
-            match(input,134,FOLLOW_2); if (state.failed) return ;
+            match(input,140,FOLLOW_2); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getMediaAccess().getMediaKeyword_0()); 
             }
@@ -28919,14 +29191,14 @@
 
 
     // $ANTLR start "rule__Media__Group__1"
-    // InternalReportDSL.g:7887:1: rule__Media__Group__1 : rule__Media__Group__1__Impl ;
+    // InternalReportDSL.g:7948:1: rule__Media__Group__1 : rule__Media__Group__1__Impl ;
     public final void rule__Media__Group__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:7891:1: ( rule__Media__Group__1__Impl )
-            // InternalReportDSL.g:7892:2: rule__Media__Group__1__Impl
+            // InternalReportDSL.g:7952:1: ( rule__Media__Group__1__Impl )
+            // InternalReportDSL.g:7953:2: rule__Media__Group__1__Impl
             {
             pushFollow(FOLLOW_2);
             rule__Media__Group__1__Impl();
@@ -28952,23 +29224,23 @@
 
 
     // $ANTLR start "rule__Media__Group__1__Impl"
-    // InternalReportDSL.g:7898:1: rule__Media__Group__1__Impl : ( ( rule__Media__NameAssignment_1 ) ) ;
+    // InternalReportDSL.g:7959:1: rule__Media__Group__1__Impl : ( ( rule__Media__NameAssignment_1 ) ) ;
     public final void rule__Media__Group__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:7902:1: ( ( ( rule__Media__NameAssignment_1 ) ) )
-            // InternalReportDSL.g:7903:1: ( ( rule__Media__NameAssignment_1 ) )
+            // InternalReportDSL.g:7963:1: ( ( ( rule__Media__NameAssignment_1 ) ) )
+            // InternalReportDSL.g:7964:1: ( ( rule__Media__NameAssignment_1 ) )
             {
-            // InternalReportDSL.g:7903:1: ( ( rule__Media__NameAssignment_1 ) )
-            // InternalReportDSL.g:7904:2: ( rule__Media__NameAssignment_1 )
+            // InternalReportDSL.g:7964:1: ( ( rule__Media__NameAssignment_1 ) )
+            // InternalReportDSL.g:7965:2: ( rule__Media__NameAssignment_1 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getMediaAccess().getNameAssignment_1()); 
             }
-            // InternalReportDSL.g:7905:2: ( rule__Media__NameAssignment_1 )
-            // InternalReportDSL.g:7905:3: rule__Media__NameAssignment_1
+            // InternalReportDSL.g:7966:2: ( rule__Media__NameAssignment_1 )
+            // InternalReportDSL.g:7966:3: rule__Media__NameAssignment_1
             {
             pushFollow(FOLLOW_2);
             rule__Media__NameAssignment_1();
@@ -29003,14 +29275,14 @@
 
 
     // $ANTLR start "rule__Styles__Group__0"
-    // InternalReportDSL.g:7914:1: rule__Styles__Group__0 : rule__Styles__Group__0__Impl rule__Styles__Group__1 ;
+    // InternalReportDSL.g:7975:1: rule__Styles__Group__0 : rule__Styles__Group__0__Impl rule__Styles__Group__1 ;
     public final void rule__Styles__Group__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:7918:1: ( rule__Styles__Group__0__Impl rule__Styles__Group__1 )
-            // InternalReportDSL.g:7919:2: rule__Styles__Group__0__Impl rule__Styles__Group__1
+            // InternalReportDSL.g:7979:1: ( rule__Styles__Group__0__Impl rule__Styles__Group__1 )
+            // InternalReportDSL.g:7980:2: rule__Styles__Group__0__Impl rule__Styles__Group__1
             {
             pushFollow(FOLLOW_15);
             rule__Styles__Group__0__Impl();
@@ -29041,23 +29313,23 @@
 
 
     // $ANTLR start "rule__Styles__Group__0__Impl"
-    // InternalReportDSL.g:7926:1: rule__Styles__Group__0__Impl : ( () ) ;
+    // InternalReportDSL.g:7987:1: rule__Styles__Group__0__Impl : ( () ) ;
     public final void rule__Styles__Group__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:7930:1: ( ( () ) )
-            // InternalReportDSL.g:7931:1: ( () )
+            // InternalReportDSL.g:7991:1: ( ( () ) )
+            // InternalReportDSL.g:7992:1: ( () )
             {
-            // InternalReportDSL.g:7931:1: ( () )
-            // InternalReportDSL.g:7932:2: ()
+            // InternalReportDSL.g:7992:1: ( () )
+            // InternalReportDSL.g:7993:2: ()
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getStylesAccess().getStylesAction_0()); 
             }
-            // InternalReportDSL.g:7933:2: ()
-            // InternalReportDSL.g:7933:3: 
+            // InternalReportDSL.g:7994:2: ()
+            // InternalReportDSL.g:7994:3: 
             {
             }
 
@@ -29082,14 +29354,14 @@
 
 
     // $ANTLR start "rule__Styles__Group__1"
-    // InternalReportDSL.g:7941:1: rule__Styles__Group__1 : rule__Styles__Group__1__Impl rule__Styles__Group__2 ;
+    // InternalReportDSL.g:8002:1: rule__Styles__Group__1 : rule__Styles__Group__1__Impl rule__Styles__Group__2 ;
     public final void rule__Styles__Group__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:7945:1: ( rule__Styles__Group__1__Impl rule__Styles__Group__2 )
-            // InternalReportDSL.g:7946:2: rule__Styles__Group__1__Impl rule__Styles__Group__2
+            // InternalReportDSL.g:8006:1: ( rule__Styles__Group__1__Impl rule__Styles__Group__2 )
+            // InternalReportDSL.g:8007:2: rule__Styles__Group__1__Impl rule__Styles__Group__2
             {
             pushFollow(FOLLOW_8);
             rule__Styles__Group__1__Impl();
@@ -29120,22 +29392,22 @@
 
 
     // $ANTLR start "rule__Styles__Group__1__Impl"
-    // InternalReportDSL.g:7953:1: rule__Styles__Group__1__Impl : ( 'styles' ) ;
+    // InternalReportDSL.g:8014:1: rule__Styles__Group__1__Impl : ( 'styles' ) ;
     public final void rule__Styles__Group__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:7957:1: ( ( 'styles' ) )
-            // InternalReportDSL.g:7958:1: ( 'styles' )
+            // InternalReportDSL.g:8018:1: ( ( 'styles' ) )
+            // InternalReportDSL.g:8019:1: ( 'styles' )
             {
-            // InternalReportDSL.g:7958:1: ( 'styles' )
-            // InternalReportDSL.g:7959:2: 'styles'
+            // InternalReportDSL.g:8019:1: ( 'styles' )
+            // InternalReportDSL.g:8020:2: 'styles'
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getStylesAccess().getStylesKeyword_1()); 
             }
-            match(input,135,FOLLOW_2); if (state.failed) return ;
+            match(input,141,FOLLOW_2); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getStylesAccess().getStylesKeyword_1()); 
             }
@@ -29161,14 +29433,14 @@
 
 
     // $ANTLR start "rule__Styles__Group__2"
-    // InternalReportDSL.g:7968:1: rule__Styles__Group__2 : rule__Styles__Group__2__Impl rule__Styles__Group__3 ;
+    // InternalReportDSL.g:8029:1: rule__Styles__Group__2 : rule__Styles__Group__2__Impl rule__Styles__Group__3 ;
     public final void rule__Styles__Group__2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:7972:1: ( rule__Styles__Group__2__Impl rule__Styles__Group__3 )
-            // InternalReportDSL.g:7973:2: rule__Styles__Group__2__Impl rule__Styles__Group__3
+            // InternalReportDSL.g:8033:1: ( rule__Styles__Group__2__Impl rule__Styles__Group__3 )
+            // InternalReportDSL.g:8034:2: rule__Styles__Group__2__Impl rule__Styles__Group__3
             {
             pushFollow(FOLLOW_29);
             rule__Styles__Group__2__Impl();
@@ -29199,22 +29471,22 @@
 
 
     // $ANTLR start "rule__Styles__Group__2__Impl"
-    // InternalReportDSL.g:7980:1: rule__Styles__Group__2__Impl : ( '{' ) ;
+    // InternalReportDSL.g:8041:1: rule__Styles__Group__2__Impl : ( '{' ) ;
     public final void rule__Styles__Group__2__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:7984:1: ( ( '{' ) )
-            // InternalReportDSL.g:7985:1: ( '{' )
+            // InternalReportDSL.g:8045:1: ( ( '{' ) )
+            // InternalReportDSL.g:8046:1: ( '{' )
             {
-            // InternalReportDSL.g:7985:1: ( '{' )
-            // InternalReportDSL.g:7986:2: '{'
+            // InternalReportDSL.g:8046:1: ( '{' )
+            // InternalReportDSL.g:8047:2: '{'
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getStylesAccess().getLeftCurlyBracketKeyword_2()); 
             }
-            match(input,125,FOLLOW_2); if (state.failed) return ;
+            match(input,131,FOLLOW_2); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getStylesAccess().getLeftCurlyBracketKeyword_2()); 
             }
@@ -29240,14 +29512,14 @@
 
 
     // $ANTLR start "rule__Styles__Group__3"
-    // InternalReportDSL.g:7995:1: rule__Styles__Group__3 : rule__Styles__Group__3__Impl rule__Styles__Group__4 ;
+    // InternalReportDSL.g:8056:1: rule__Styles__Group__3 : rule__Styles__Group__3__Impl rule__Styles__Group__4 ;
     public final void rule__Styles__Group__3() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:7999:1: ( rule__Styles__Group__3__Impl rule__Styles__Group__4 )
-            // InternalReportDSL.g:8000:2: rule__Styles__Group__3__Impl rule__Styles__Group__4
+            // InternalReportDSL.g:8060:1: ( rule__Styles__Group__3__Impl rule__Styles__Group__4 )
+            // InternalReportDSL.g:8061:2: rule__Styles__Group__3__Impl rule__Styles__Group__4
             {
             pushFollow(FOLLOW_29);
             rule__Styles__Group__3__Impl();
@@ -29278,35 +29550,35 @@
 
 
     // $ANTLR start "rule__Styles__Group__3__Impl"
-    // InternalReportDSL.g:8007:1: rule__Styles__Group__3__Impl : ( ( rule__Styles__StylesAssignment_3 )* ) ;
+    // InternalReportDSL.g:8068:1: rule__Styles__Group__3__Impl : ( ( rule__Styles__StylesAssignment_3 )* ) ;
     public final void rule__Styles__Group__3__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:8011:1: ( ( ( rule__Styles__StylesAssignment_3 )* ) )
-            // InternalReportDSL.g:8012:1: ( ( rule__Styles__StylesAssignment_3 )* )
+            // InternalReportDSL.g:8072:1: ( ( ( rule__Styles__StylesAssignment_3 )* ) )
+            // InternalReportDSL.g:8073:1: ( ( rule__Styles__StylesAssignment_3 )* )
             {
-            // InternalReportDSL.g:8012:1: ( ( rule__Styles__StylesAssignment_3 )* )
-            // InternalReportDSL.g:8013:2: ( rule__Styles__StylesAssignment_3 )*
+            // InternalReportDSL.g:8073:1: ( ( rule__Styles__StylesAssignment_3 )* )
+            // InternalReportDSL.g:8074:2: ( rule__Styles__StylesAssignment_3 )*
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getStylesAccess().getStylesAssignment_3()); 
             }
-            // InternalReportDSL.g:8014:2: ( rule__Styles__StylesAssignment_3 )*
-            loop88:
+            // InternalReportDSL.g:8075:2: ( rule__Styles__StylesAssignment_3 )*
+            loop89:
             do {
-                int alt88=2;
-                int LA88_0 = input.LA(1);
+                int alt89=2;
+                int LA89_0 = input.LA(1);
 
-                if ( (LA88_0==152) ) {
-                    alt88=1;
+                if ( (LA89_0==158) ) {
+                    alt89=1;
                 }
 
 
-                switch (alt88) {
+                switch (alt89) {
             	case 1 :
-            	    // InternalReportDSL.g:8014:3: rule__Styles__StylesAssignment_3
+            	    // InternalReportDSL.g:8075:3: rule__Styles__StylesAssignment_3
             	    {
             	    pushFollow(FOLLOW_30);
             	    rule__Styles__StylesAssignment_3();
@@ -29318,7 +29590,7 @@
             	    break;
 
             	default :
-            	    break loop88;
+            	    break loop89;
                 }
             } while (true);
 
@@ -29347,14 +29619,14 @@
 
 
     // $ANTLR start "rule__Styles__Group__4"
-    // InternalReportDSL.g:8022:1: rule__Styles__Group__4 : rule__Styles__Group__4__Impl ;
+    // InternalReportDSL.g:8083:1: rule__Styles__Group__4 : rule__Styles__Group__4__Impl ;
     public final void rule__Styles__Group__4() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:8026:1: ( rule__Styles__Group__4__Impl )
-            // InternalReportDSL.g:8027:2: rule__Styles__Group__4__Impl
+            // InternalReportDSL.g:8087:1: ( rule__Styles__Group__4__Impl )
+            // InternalReportDSL.g:8088:2: rule__Styles__Group__4__Impl
             {
             pushFollow(FOLLOW_2);
             rule__Styles__Group__4__Impl();
@@ -29380,22 +29652,22 @@
 
 
     // $ANTLR start "rule__Styles__Group__4__Impl"
-    // InternalReportDSL.g:8033:1: rule__Styles__Group__4__Impl : ( '}' ) ;
+    // InternalReportDSL.g:8094:1: rule__Styles__Group__4__Impl : ( '}' ) ;
     public final void rule__Styles__Group__4__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:8037:1: ( ( '}' ) )
-            // InternalReportDSL.g:8038:1: ( '}' )
+            // InternalReportDSL.g:8098:1: ( ( '}' ) )
+            // InternalReportDSL.g:8099:1: ( '}' )
             {
-            // InternalReportDSL.g:8038:1: ( '}' )
-            // InternalReportDSL.g:8039:2: '}'
+            // InternalReportDSL.g:8099:1: ( '}' )
+            // InternalReportDSL.g:8100:2: '}'
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getStylesAccess().getRightCurlyBracketKeyword_4()); 
             }
-            match(input,126,FOLLOW_2); if (state.failed) return ;
+            match(input,132,FOLLOW_2); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getStylesAccess().getRightCurlyBracketKeyword_4()); 
             }
@@ -29421,14 +29693,14 @@
 
 
     // $ANTLR start "rule__PageTemplate__Group__0"
-    // InternalReportDSL.g:8049:1: rule__PageTemplate__Group__0 : rule__PageTemplate__Group__0__Impl rule__PageTemplate__Group__1 ;
+    // InternalReportDSL.g:8110:1: rule__PageTemplate__Group__0 : rule__PageTemplate__Group__0__Impl rule__PageTemplate__Group__1 ;
     public final void rule__PageTemplate__Group__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:8053:1: ( rule__PageTemplate__Group__0__Impl rule__PageTemplate__Group__1 )
-            // InternalReportDSL.g:8054:2: rule__PageTemplate__Group__0__Impl rule__PageTemplate__Group__1
+            // InternalReportDSL.g:8114:1: ( rule__PageTemplate__Group__0__Impl rule__PageTemplate__Group__1 )
+            // InternalReportDSL.g:8115:2: rule__PageTemplate__Group__0__Impl rule__PageTemplate__Group__1
             {
             pushFollow(FOLLOW_7);
             rule__PageTemplate__Group__0__Impl();
@@ -29459,22 +29731,22 @@
 
 
     // $ANTLR start "rule__PageTemplate__Group__0__Impl"
-    // InternalReportDSL.g:8061:1: rule__PageTemplate__Group__0__Impl : ( 'pagetemplate' ) ;
+    // InternalReportDSL.g:8122:1: rule__PageTemplate__Group__0__Impl : ( 'pagetemplate' ) ;
     public final void rule__PageTemplate__Group__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:8065:1: ( ( 'pagetemplate' ) )
-            // InternalReportDSL.g:8066:1: ( 'pagetemplate' )
+            // InternalReportDSL.g:8126:1: ( ( 'pagetemplate' ) )
+            // InternalReportDSL.g:8127:1: ( 'pagetemplate' )
             {
-            // InternalReportDSL.g:8066:1: ( 'pagetemplate' )
-            // InternalReportDSL.g:8067:2: 'pagetemplate'
+            // InternalReportDSL.g:8127:1: ( 'pagetemplate' )
+            // InternalReportDSL.g:8128:2: 'pagetemplate'
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getPageTemplateAccess().getPagetemplateKeyword_0()); 
             }
-            match(input,136,FOLLOW_2); if (state.failed) return ;
+            match(input,142,FOLLOW_2); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getPageTemplateAccess().getPagetemplateKeyword_0()); 
             }
@@ -29500,14 +29772,14 @@
 
 
     // $ANTLR start "rule__PageTemplate__Group__1"
-    // InternalReportDSL.g:8076:1: rule__PageTemplate__Group__1 : rule__PageTemplate__Group__1__Impl rule__PageTemplate__Group__2 ;
+    // InternalReportDSL.g:8137:1: rule__PageTemplate__Group__1 : rule__PageTemplate__Group__1__Impl rule__PageTemplate__Group__2 ;
     public final void rule__PageTemplate__Group__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:8080:1: ( rule__PageTemplate__Group__1__Impl rule__PageTemplate__Group__2 )
-            // InternalReportDSL.g:8081:2: rule__PageTemplate__Group__1__Impl rule__PageTemplate__Group__2
+            // InternalReportDSL.g:8141:1: ( rule__PageTemplate__Group__1__Impl rule__PageTemplate__Group__2 )
+            // InternalReportDSL.g:8142:2: rule__PageTemplate__Group__1__Impl rule__PageTemplate__Group__2
             {
             pushFollow(FOLLOW_8);
             rule__PageTemplate__Group__1__Impl();
@@ -29538,23 +29810,23 @@
 
 
     // $ANTLR start "rule__PageTemplate__Group__1__Impl"
-    // InternalReportDSL.g:8088:1: rule__PageTemplate__Group__1__Impl : ( ( rule__PageTemplate__NameAssignment_1 ) ) ;
+    // InternalReportDSL.g:8149:1: rule__PageTemplate__Group__1__Impl : ( ( rule__PageTemplate__NameAssignment_1 ) ) ;
     public final void rule__PageTemplate__Group__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:8092:1: ( ( ( rule__PageTemplate__NameAssignment_1 ) ) )
-            // InternalReportDSL.g:8093:1: ( ( rule__PageTemplate__NameAssignment_1 ) )
+            // InternalReportDSL.g:8153:1: ( ( ( rule__PageTemplate__NameAssignment_1 ) ) )
+            // InternalReportDSL.g:8154:1: ( ( rule__PageTemplate__NameAssignment_1 ) )
             {
-            // InternalReportDSL.g:8093:1: ( ( rule__PageTemplate__NameAssignment_1 ) )
-            // InternalReportDSL.g:8094:2: ( rule__PageTemplate__NameAssignment_1 )
+            // InternalReportDSL.g:8154:1: ( ( rule__PageTemplate__NameAssignment_1 ) )
+            // InternalReportDSL.g:8155:2: ( rule__PageTemplate__NameAssignment_1 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getPageTemplateAccess().getNameAssignment_1()); 
             }
-            // InternalReportDSL.g:8095:2: ( rule__PageTemplate__NameAssignment_1 )
-            // InternalReportDSL.g:8095:3: rule__PageTemplate__NameAssignment_1
+            // InternalReportDSL.g:8156:2: ( rule__PageTemplate__NameAssignment_1 )
+            // InternalReportDSL.g:8156:3: rule__PageTemplate__NameAssignment_1
             {
             pushFollow(FOLLOW_2);
             rule__PageTemplate__NameAssignment_1();
@@ -29589,14 +29861,14 @@
 
 
     // $ANTLR start "rule__PageTemplate__Group__2"
-    // InternalReportDSL.g:8103:1: rule__PageTemplate__Group__2 : rule__PageTemplate__Group__2__Impl rule__PageTemplate__Group__3 ;
+    // InternalReportDSL.g:8164:1: rule__PageTemplate__Group__2 : rule__PageTemplate__Group__2__Impl rule__PageTemplate__Group__3 ;
     public final void rule__PageTemplate__Group__2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:8107:1: ( rule__PageTemplate__Group__2__Impl rule__PageTemplate__Group__3 )
-            // InternalReportDSL.g:8108:2: rule__PageTemplate__Group__2__Impl rule__PageTemplate__Group__3
+            // InternalReportDSL.g:8168:1: ( rule__PageTemplate__Group__2__Impl rule__PageTemplate__Group__3 )
+            // InternalReportDSL.g:8169:2: rule__PageTemplate__Group__2__Impl rule__PageTemplate__Group__3
             {
             pushFollow(FOLLOW_31);
             rule__PageTemplate__Group__2__Impl();
@@ -29627,22 +29899,22 @@
 
 
     // $ANTLR start "rule__PageTemplate__Group__2__Impl"
-    // InternalReportDSL.g:8115:1: rule__PageTemplate__Group__2__Impl : ( '{' ) ;
+    // InternalReportDSL.g:8176:1: rule__PageTemplate__Group__2__Impl : ( '{' ) ;
     public final void rule__PageTemplate__Group__2__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:8119:1: ( ( '{' ) )
-            // InternalReportDSL.g:8120:1: ( '{' )
+            // InternalReportDSL.g:8180:1: ( ( '{' ) )
+            // InternalReportDSL.g:8181:1: ( '{' )
             {
-            // InternalReportDSL.g:8120:1: ( '{' )
-            // InternalReportDSL.g:8121:2: '{'
+            // InternalReportDSL.g:8181:1: ( '{' )
+            // InternalReportDSL.g:8182:2: '{'
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getPageTemplateAccess().getLeftCurlyBracketKeyword_2()); 
             }
-            match(input,125,FOLLOW_2); if (state.failed) return ;
+            match(input,131,FOLLOW_2); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getPageTemplateAccess().getLeftCurlyBracketKeyword_2()); 
             }
@@ -29668,14 +29940,14 @@
 
 
     // $ANTLR start "rule__PageTemplate__Group__3"
-    // InternalReportDSL.g:8130:1: rule__PageTemplate__Group__3 : rule__PageTemplate__Group__3__Impl rule__PageTemplate__Group__4 ;
+    // InternalReportDSL.g:8191:1: rule__PageTemplate__Group__3 : rule__PageTemplate__Group__3__Impl rule__PageTemplate__Group__4 ;
     public final void rule__PageTemplate__Group__3() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:8134:1: ( rule__PageTemplate__Group__3__Impl rule__PageTemplate__Group__4 )
-            // InternalReportDSL.g:8135:2: rule__PageTemplate__Group__3__Impl rule__PageTemplate__Group__4
+            // InternalReportDSL.g:8195:1: ( rule__PageTemplate__Group__3__Impl rule__PageTemplate__Group__4 )
+            // InternalReportDSL.g:8196:2: rule__PageTemplate__Group__3__Impl rule__PageTemplate__Group__4
             {
             pushFollow(FOLLOW_32);
             rule__PageTemplate__Group__3__Impl();
@@ -29706,22 +29978,22 @@
 
 
     // $ANTLR start "rule__PageTemplate__Group__3__Impl"
-    // InternalReportDSL.g:8142:1: rule__PageTemplate__Group__3__Impl : ( 'type' ) ;
+    // InternalReportDSL.g:8203:1: rule__PageTemplate__Group__3__Impl : ( 'type' ) ;
     public final void rule__PageTemplate__Group__3__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:8146:1: ( ( 'type' ) )
-            // InternalReportDSL.g:8147:1: ( 'type' )
+            // InternalReportDSL.g:8207:1: ( ( 'type' ) )
+            // InternalReportDSL.g:8208:1: ( 'type' )
             {
-            // InternalReportDSL.g:8147:1: ( 'type' )
-            // InternalReportDSL.g:8148:2: 'type'
+            // InternalReportDSL.g:8208:1: ( 'type' )
+            // InternalReportDSL.g:8209:2: 'type'
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getPageTemplateAccess().getTypeKeyword_3()); 
             }
-            match(input,137,FOLLOW_2); if (state.failed) return ;
+            match(input,143,FOLLOW_2); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getPageTemplateAccess().getTypeKeyword_3()); 
             }
@@ -29747,14 +30019,14 @@
 
 
     // $ANTLR start "rule__PageTemplate__Group__4"
-    // InternalReportDSL.g:8157:1: rule__PageTemplate__Group__4 : rule__PageTemplate__Group__4__Impl rule__PageTemplate__Group__5 ;
+    // InternalReportDSL.g:8218:1: rule__PageTemplate__Group__4 : rule__PageTemplate__Group__4__Impl rule__PageTemplate__Group__5 ;
     public final void rule__PageTemplate__Group__4() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:8161:1: ( rule__PageTemplate__Group__4__Impl rule__PageTemplate__Group__5 )
-            // InternalReportDSL.g:8162:2: rule__PageTemplate__Group__4__Impl rule__PageTemplate__Group__5
+            // InternalReportDSL.g:8222:1: ( rule__PageTemplate__Group__4__Impl rule__PageTemplate__Group__5 )
+            // InternalReportDSL.g:8223:2: rule__PageTemplate__Group__4__Impl rule__PageTemplate__Group__5
             {
             pushFollow(FOLLOW_33);
             rule__PageTemplate__Group__4__Impl();
@@ -29785,23 +30057,23 @@
 
 
     // $ANTLR start "rule__PageTemplate__Group__4__Impl"
-    // InternalReportDSL.g:8169:1: rule__PageTemplate__Group__4__Impl : ( ( rule__PageTemplate__SizeAssignment_4 ) ) ;
+    // InternalReportDSL.g:8230:1: rule__PageTemplate__Group__4__Impl : ( ( rule__PageTemplate__SizeAssignment_4 ) ) ;
     public final void rule__PageTemplate__Group__4__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:8173:1: ( ( ( rule__PageTemplate__SizeAssignment_4 ) ) )
-            // InternalReportDSL.g:8174:1: ( ( rule__PageTemplate__SizeAssignment_4 ) )
+            // InternalReportDSL.g:8234:1: ( ( ( rule__PageTemplate__SizeAssignment_4 ) ) )
+            // InternalReportDSL.g:8235:1: ( ( rule__PageTemplate__SizeAssignment_4 ) )
             {
-            // InternalReportDSL.g:8174:1: ( ( rule__PageTemplate__SizeAssignment_4 ) )
-            // InternalReportDSL.g:8175:2: ( rule__PageTemplate__SizeAssignment_4 )
+            // InternalReportDSL.g:8235:1: ( ( rule__PageTemplate__SizeAssignment_4 ) )
+            // InternalReportDSL.g:8236:2: ( rule__PageTemplate__SizeAssignment_4 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getPageTemplateAccess().getSizeAssignment_4()); 
             }
-            // InternalReportDSL.g:8176:2: ( rule__PageTemplate__SizeAssignment_4 )
-            // InternalReportDSL.g:8176:3: rule__PageTemplate__SizeAssignment_4
+            // InternalReportDSL.g:8237:2: ( rule__PageTemplate__SizeAssignment_4 )
+            // InternalReportDSL.g:8237:3: rule__PageTemplate__SizeAssignment_4
             {
             pushFollow(FOLLOW_2);
             rule__PageTemplate__SizeAssignment_4();
@@ -29836,14 +30108,14 @@
 
 
     // $ANTLR start "rule__PageTemplate__Group__5"
-    // InternalReportDSL.g:8184:1: rule__PageTemplate__Group__5 : rule__PageTemplate__Group__5__Impl rule__PageTemplate__Group__6 ;
+    // InternalReportDSL.g:8245:1: rule__PageTemplate__Group__5 : rule__PageTemplate__Group__5__Impl rule__PageTemplate__Group__6 ;
     public final void rule__PageTemplate__Group__5() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:8188:1: ( rule__PageTemplate__Group__5__Impl rule__PageTemplate__Group__6 )
-            // InternalReportDSL.g:8189:2: rule__PageTemplate__Group__5__Impl rule__PageTemplate__Group__6
+            // InternalReportDSL.g:8249:1: ( rule__PageTemplate__Group__5__Impl rule__PageTemplate__Group__6 )
+            // InternalReportDSL.g:8250:2: rule__PageTemplate__Group__5__Impl rule__PageTemplate__Group__6
             {
             pushFollow(FOLLOW_34);
             rule__PageTemplate__Group__5__Impl();
@@ -29874,22 +30146,22 @@
 
 
     // $ANTLR start "rule__PageTemplate__Group__5__Impl"
-    // InternalReportDSL.g:8196:1: rule__PageTemplate__Group__5__Impl : ( 'orientation' ) ;
+    // InternalReportDSL.g:8257:1: rule__PageTemplate__Group__5__Impl : ( 'orientation' ) ;
     public final void rule__PageTemplate__Group__5__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:8200:1: ( ( 'orientation' ) )
-            // InternalReportDSL.g:8201:1: ( 'orientation' )
+            // InternalReportDSL.g:8261:1: ( ( 'orientation' ) )
+            // InternalReportDSL.g:8262:1: ( 'orientation' )
             {
-            // InternalReportDSL.g:8201:1: ( 'orientation' )
-            // InternalReportDSL.g:8202:2: 'orientation'
+            // InternalReportDSL.g:8262:1: ( 'orientation' )
+            // InternalReportDSL.g:8263:2: 'orientation'
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getPageTemplateAccess().getOrientationKeyword_5()); 
             }
-            match(input,138,FOLLOW_2); if (state.failed) return ;
+            match(input,144,FOLLOW_2); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getPageTemplateAccess().getOrientationKeyword_5()); 
             }
@@ -29915,14 +30187,14 @@
 
 
     // $ANTLR start "rule__PageTemplate__Group__6"
-    // InternalReportDSL.g:8211:1: rule__PageTemplate__Group__6 : rule__PageTemplate__Group__6__Impl rule__PageTemplate__Group__7 ;
+    // InternalReportDSL.g:8272:1: rule__PageTemplate__Group__6 : rule__PageTemplate__Group__6__Impl rule__PageTemplate__Group__7 ;
     public final void rule__PageTemplate__Group__6() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:8215:1: ( rule__PageTemplate__Group__6__Impl rule__PageTemplate__Group__7 )
-            // InternalReportDSL.g:8216:2: rule__PageTemplate__Group__6__Impl rule__PageTemplate__Group__7
+            // InternalReportDSL.g:8276:1: ( rule__PageTemplate__Group__6__Impl rule__PageTemplate__Group__7 )
+            // InternalReportDSL.g:8277:2: rule__PageTemplate__Group__6__Impl rule__PageTemplate__Group__7
             {
             pushFollow(FOLLOW_35);
             rule__PageTemplate__Group__6__Impl();
@@ -29953,23 +30225,23 @@
 
 
     // $ANTLR start "rule__PageTemplate__Group__6__Impl"
-    // InternalReportDSL.g:8223:1: rule__PageTemplate__Group__6__Impl : ( ( rule__PageTemplate__OrientationAssignment_6 ) ) ;
+    // InternalReportDSL.g:8284:1: rule__PageTemplate__Group__6__Impl : ( ( rule__PageTemplate__OrientationAssignment_6 ) ) ;
     public final void rule__PageTemplate__Group__6__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:8227:1: ( ( ( rule__PageTemplate__OrientationAssignment_6 ) ) )
-            // InternalReportDSL.g:8228:1: ( ( rule__PageTemplate__OrientationAssignment_6 ) )
+            // InternalReportDSL.g:8288:1: ( ( ( rule__PageTemplate__OrientationAssignment_6 ) ) )
+            // InternalReportDSL.g:8289:1: ( ( rule__PageTemplate__OrientationAssignment_6 ) )
             {
-            // InternalReportDSL.g:8228:1: ( ( rule__PageTemplate__OrientationAssignment_6 ) )
-            // InternalReportDSL.g:8229:2: ( rule__PageTemplate__OrientationAssignment_6 )
+            // InternalReportDSL.g:8289:1: ( ( rule__PageTemplate__OrientationAssignment_6 ) )
+            // InternalReportDSL.g:8290:2: ( rule__PageTemplate__OrientationAssignment_6 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getPageTemplateAccess().getOrientationAssignment_6()); 
             }
-            // InternalReportDSL.g:8230:2: ( rule__PageTemplate__OrientationAssignment_6 )
-            // InternalReportDSL.g:8230:3: rule__PageTemplate__OrientationAssignment_6
+            // InternalReportDSL.g:8291:2: ( rule__PageTemplate__OrientationAssignment_6 )
+            // InternalReportDSL.g:8291:3: rule__PageTemplate__OrientationAssignment_6
             {
             pushFollow(FOLLOW_2);
             rule__PageTemplate__OrientationAssignment_6();
@@ -30004,14 +30276,14 @@
 
 
     // $ANTLR start "rule__PageTemplate__Group__7"
-    // InternalReportDSL.g:8238:1: rule__PageTemplate__Group__7 : rule__PageTemplate__Group__7__Impl rule__PageTemplate__Group__8 ;
+    // InternalReportDSL.g:8299:1: rule__PageTemplate__Group__7 : rule__PageTemplate__Group__7__Impl rule__PageTemplate__Group__8 ;
     public final void rule__PageTemplate__Group__7() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:8242:1: ( rule__PageTemplate__Group__7__Impl rule__PageTemplate__Group__8 )
-            // InternalReportDSL.g:8243:2: rule__PageTemplate__Group__7__Impl rule__PageTemplate__Group__8
+            // InternalReportDSL.g:8303:1: ( rule__PageTemplate__Group__7__Impl rule__PageTemplate__Group__8 )
+            // InternalReportDSL.g:8304:2: rule__PageTemplate__Group__7__Impl rule__PageTemplate__Group__8
             {
             pushFollow(FOLLOW_36);
             rule__PageTemplate__Group__7__Impl();
@@ -30042,22 +30314,22 @@
 
 
     // $ANTLR start "rule__PageTemplate__Group__7__Impl"
-    // InternalReportDSL.g:8250:1: rule__PageTemplate__Group__7__Impl : ( 'topmargin' ) ;
+    // InternalReportDSL.g:8311:1: rule__PageTemplate__Group__7__Impl : ( 'topmargin' ) ;
     public final void rule__PageTemplate__Group__7__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:8254:1: ( ( 'topmargin' ) )
-            // InternalReportDSL.g:8255:1: ( 'topmargin' )
+            // InternalReportDSL.g:8315:1: ( ( 'topmargin' ) )
+            // InternalReportDSL.g:8316:1: ( 'topmargin' )
             {
-            // InternalReportDSL.g:8255:1: ( 'topmargin' )
-            // InternalReportDSL.g:8256:2: 'topmargin'
+            // InternalReportDSL.g:8316:1: ( 'topmargin' )
+            // InternalReportDSL.g:8317:2: 'topmargin'
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getPageTemplateAccess().getTopmarginKeyword_7()); 
             }
-            match(input,139,FOLLOW_2); if (state.failed) return ;
+            match(input,145,FOLLOW_2); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getPageTemplateAccess().getTopmarginKeyword_7()); 
             }
@@ -30083,14 +30355,14 @@
 
 
     // $ANTLR start "rule__PageTemplate__Group__8"
-    // InternalReportDSL.g:8265:1: rule__PageTemplate__Group__8 : rule__PageTemplate__Group__8__Impl rule__PageTemplate__Group__9 ;
+    // InternalReportDSL.g:8326:1: rule__PageTemplate__Group__8 : rule__PageTemplate__Group__8__Impl rule__PageTemplate__Group__9 ;
     public final void rule__PageTemplate__Group__8() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:8269:1: ( rule__PageTemplate__Group__8__Impl rule__PageTemplate__Group__9 )
-            // InternalReportDSL.g:8270:2: rule__PageTemplate__Group__8__Impl rule__PageTemplate__Group__9
+            // InternalReportDSL.g:8330:1: ( rule__PageTemplate__Group__8__Impl rule__PageTemplate__Group__9 )
+            // InternalReportDSL.g:8331:2: rule__PageTemplate__Group__8__Impl rule__PageTemplate__Group__9
             {
             pushFollow(FOLLOW_37);
             rule__PageTemplate__Group__8__Impl();
@@ -30121,23 +30393,23 @@
 
 
     // $ANTLR start "rule__PageTemplate__Group__8__Impl"
-    // InternalReportDSL.g:8277:1: rule__PageTemplate__Group__8__Impl : ( ( rule__PageTemplate__TopMarginValueAssignment_8 ) ) ;
+    // InternalReportDSL.g:8338:1: rule__PageTemplate__Group__8__Impl : ( ( rule__PageTemplate__TopMarginValueAssignment_8 ) ) ;
     public final void rule__PageTemplate__Group__8__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:8281:1: ( ( ( rule__PageTemplate__TopMarginValueAssignment_8 ) ) )
-            // InternalReportDSL.g:8282:1: ( ( rule__PageTemplate__TopMarginValueAssignment_8 ) )
+            // InternalReportDSL.g:8342:1: ( ( ( rule__PageTemplate__TopMarginValueAssignment_8 ) ) )
+            // InternalReportDSL.g:8343:1: ( ( rule__PageTemplate__TopMarginValueAssignment_8 ) )
             {
-            // InternalReportDSL.g:8282:1: ( ( rule__PageTemplate__TopMarginValueAssignment_8 ) )
-            // InternalReportDSL.g:8283:2: ( rule__PageTemplate__TopMarginValueAssignment_8 )
+            // InternalReportDSL.g:8343:1: ( ( rule__PageTemplate__TopMarginValueAssignment_8 ) )
+            // InternalReportDSL.g:8344:2: ( rule__PageTemplate__TopMarginValueAssignment_8 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getPageTemplateAccess().getTopMarginValueAssignment_8()); 
             }
-            // InternalReportDSL.g:8284:2: ( rule__PageTemplate__TopMarginValueAssignment_8 )
-            // InternalReportDSL.g:8284:3: rule__PageTemplate__TopMarginValueAssignment_8
+            // InternalReportDSL.g:8345:2: ( rule__PageTemplate__TopMarginValueAssignment_8 )
+            // InternalReportDSL.g:8345:3: rule__PageTemplate__TopMarginValueAssignment_8
             {
             pushFollow(FOLLOW_2);
             rule__PageTemplate__TopMarginValueAssignment_8();
@@ -30172,14 +30444,14 @@
 
 
     // $ANTLR start "rule__PageTemplate__Group__9"
-    // InternalReportDSL.g:8292:1: rule__PageTemplate__Group__9 : rule__PageTemplate__Group__9__Impl rule__PageTemplate__Group__10 ;
+    // InternalReportDSL.g:8353:1: rule__PageTemplate__Group__9 : rule__PageTemplate__Group__9__Impl rule__PageTemplate__Group__10 ;
     public final void rule__PageTemplate__Group__9() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:8296:1: ( rule__PageTemplate__Group__9__Impl rule__PageTemplate__Group__10 )
-            // InternalReportDSL.g:8297:2: rule__PageTemplate__Group__9__Impl rule__PageTemplate__Group__10
+            // InternalReportDSL.g:8357:1: ( rule__PageTemplate__Group__9__Impl rule__PageTemplate__Group__10 )
+            // InternalReportDSL.g:8358:2: rule__PageTemplate__Group__9__Impl rule__PageTemplate__Group__10
             {
             pushFollow(FOLLOW_36);
             rule__PageTemplate__Group__9__Impl();
@@ -30210,22 +30482,22 @@
 
 
     // $ANTLR start "rule__PageTemplate__Group__9__Impl"
-    // InternalReportDSL.g:8304:1: rule__PageTemplate__Group__9__Impl : ( 'leftmargin' ) ;
+    // InternalReportDSL.g:8365:1: rule__PageTemplate__Group__9__Impl : ( 'leftmargin' ) ;
     public final void rule__PageTemplate__Group__9__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:8308:1: ( ( 'leftmargin' ) )
-            // InternalReportDSL.g:8309:1: ( 'leftmargin' )
+            // InternalReportDSL.g:8369:1: ( ( 'leftmargin' ) )
+            // InternalReportDSL.g:8370:1: ( 'leftmargin' )
             {
-            // InternalReportDSL.g:8309:1: ( 'leftmargin' )
-            // InternalReportDSL.g:8310:2: 'leftmargin'
+            // InternalReportDSL.g:8370:1: ( 'leftmargin' )
+            // InternalReportDSL.g:8371:2: 'leftmargin'
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getPageTemplateAccess().getLeftmarginKeyword_9()); 
             }
-            match(input,140,FOLLOW_2); if (state.failed) return ;
+            match(input,146,FOLLOW_2); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getPageTemplateAccess().getLeftmarginKeyword_9()); 
             }
@@ -30251,14 +30523,14 @@
 
 
     // $ANTLR start "rule__PageTemplate__Group__10"
-    // InternalReportDSL.g:8319:1: rule__PageTemplate__Group__10 : rule__PageTemplate__Group__10__Impl rule__PageTemplate__Group__11 ;
+    // InternalReportDSL.g:8380:1: rule__PageTemplate__Group__10 : rule__PageTemplate__Group__10__Impl rule__PageTemplate__Group__11 ;
     public final void rule__PageTemplate__Group__10() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:8323:1: ( rule__PageTemplate__Group__10__Impl rule__PageTemplate__Group__11 )
-            // InternalReportDSL.g:8324:2: rule__PageTemplate__Group__10__Impl rule__PageTemplate__Group__11
+            // InternalReportDSL.g:8384:1: ( rule__PageTemplate__Group__10__Impl rule__PageTemplate__Group__11 )
+            // InternalReportDSL.g:8385:2: rule__PageTemplate__Group__10__Impl rule__PageTemplate__Group__11
             {
             pushFollow(FOLLOW_38);
             rule__PageTemplate__Group__10__Impl();
@@ -30289,23 +30561,23 @@
 
 
     // $ANTLR start "rule__PageTemplate__Group__10__Impl"
-    // InternalReportDSL.g:8331:1: rule__PageTemplate__Group__10__Impl : ( ( rule__PageTemplate__LeftMarginValueAssignment_10 ) ) ;
+    // InternalReportDSL.g:8392:1: rule__PageTemplate__Group__10__Impl : ( ( rule__PageTemplate__LeftMarginValueAssignment_10 ) ) ;
     public final void rule__PageTemplate__Group__10__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:8335:1: ( ( ( rule__PageTemplate__LeftMarginValueAssignment_10 ) ) )
-            // InternalReportDSL.g:8336:1: ( ( rule__PageTemplate__LeftMarginValueAssignment_10 ) )
+            // InternalReportDSL.g:8396:1: ( ( ( rule__PageTemplate__LeftMarginValueAssignment_10 ) ) )
+            // InternalReportDSL.g:8397:1: ( ( rule__PageTemplate__LeftMarginValueAssignment_10 ) )
             {
-            // InternalReportDSL.g:8336:1: ( ( rule__PageTemplate__LeftMarginValueAssignment_10 ) )
-            // InternalReportDSL.g:8337:2: ( rule__PageTemplate__LeftMarginValueAssignment_10 )
+            // InternalReportDSL.g:8397:1: ( ( rule__PageTemplate__LeftMarginValueAssignment_10 ) )
+            // InternalReportDSL.g:8398:2: ( rule__PageTemplate__LeftMarginValueAssignment_10 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getPageTemplateAccess().getLeftMarginValueAssignment_10()); 
             }
-            // InternalReportDSL.g:8338:2: ( rule__PageTemplate__LeftMarginValueAssignment_10 )
-            // InternalReportDSL.g:8338:3: rule__PageTemplate__LeftMarginValueAssignment_10
+            // InternalReportDSL.g:8399:2: ( rule__PageTemplate__LeftMarginValueAssignment_10 )
+            // InternalReportDSL.g:8399:3: rule__PageTemplate__LeftMarginValueAssignment_10
             {
             pushFollow(FOLLOW_2);
             rule__PageTemplate__LeftMarginValueAssignment_10();
@@ -30340,14 +30612,14 @@
 
 
     // $ANTLR start "rule__PageTemplate__Group__11"
-    // InternalReportDSL.g:8346:1: rule__PageTemplate__Group__11 : rule__PageTemplate__Group__11__Impl rule__PageTemplate__Group__12 ;
+    // InternalReportDSL.g:8407:1: rule__PageTemplate__Group__11 : rule__PageTemplate__Group__11__Impl rule__PageTemplate__Group__12 ;
     public final void rule__PageTemplate__Group__11() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:8350:1: ( rule__PageTemplate__Group__11__Impl rule__PageTemplate__Group__12 )
-            // InternalReportDSL.g:8351:2: rule__PageTemplate__Group__11__Impl rule__PageTemplate__Group__12
+            // InternalReportDSL.g:8411:1: ( rule__PageTemplate__Group__11__Impl rule__PageTemplate__Group__12 )
+            // InternalReportDSL.g:8412:2: rule__PageTemplate__Group__11__Impl rule__PageTemplate__Group__12
             {
             pushFollow(FOLLOW_36);
             rule__PageTemplate__Group__11__Impl();
@@ -30378,22 +30650,22 @@
 
 
     // $ANTLR start "rule__PageTemplate__Group__11__Impl"
-    // InternalReportDSL.g:8358:1: rule__PageTemplate__Group__11__Impl : ( 'bottommargin' ) ;
+    // InternalReportDSL.g:8419:1: rule__PageTemplate__Group__11__Impl : ( 'bottommargin' ) ;
     public final void rule__PageTemplate__Group__11__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:8362:1: ( ( 'bottommargin' ) )
-            // InternalReportDSL.g:8363:1: ( 'bottommargin' )
+            // InternalReportDSL.g:8423:1: ( ( 'bottommargin' ) )
+            // InternalReportDSL.g:8424:1: ( 'bottommargin' )
             {
-            // InternalReportDSL.g:8363:1: ( 'bottommargin' )
-            // InternalReportDSL.g:8364:2: 'bottommargin'
+            // InternalReportDSL.g:8424:1: ( 'bottommargin' )
+            // InternalReportDSL.g:8425:2: 'bottommargin'
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getPageTemplateAccess().getBottommarginKeyword_11()); 
             }
-            match(input,141,FOLLOW_2); if (state.failed) return ;
+            match(input,147,FOLLOW_2); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getPageTemplateAccess().getBottommarginKeyword_11()); 
             }
@@ -30419,14 +30691,14 @@
 
 
     // $ANTLR start "rule__PageTemplate__Group__12"
-    // InternalReportDSL.g:8373:1: rule__PageTemplate__Group__12 : rule__PageTemplate__Group__12__Impl rule__PageTemplate__Group__13 ;
+    // InternalReportDSL.g:8434:1: rule__PageTemplate__Group__12 : rule__PageTemplate__Group__12__Impl rule__PageTemplate__Group__13 ;
     public final void rule__PageTemplate__Group__12() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:8377:1: ( rule__PageTemplate__Group__12__Impl rule__PageTemplate__Group__13 )
-            // InternalReportDSL.g:8378:2: rule__PageTemplate__Group__12__Impl rule__PageTemplate__Group__13
+            // InternalReportDSL.g:8438:1: ( rule__PageTemplate__Group__12__Impl rule__PageTemplate__Group__13 )
+            // InternalReportDSL.g:8439:2: rule__PageTemplate__Group__12__Impl rule__PageTemplate__Group__13
             {
             pushFollow(FOLLOW_39);
             rule__PageTemplate__Group__12__Impl();
@@ -30457,23 +30729,23 @@
 
 
     // $ANTLR start "rule__PageTemplate__Group__12__Impl"
-    // InternalReportDSL.g:8385:1: rule__PageTemplate__Group__12__Impl : ( ( rule__PageTemplate__BottomMarginValueAssignment_12 ) ) ;
+    // InternalReportDSL.g:8446:1: rule__PageTemplate__Group__12__Impl : ( ( rule__PageTemplate__BottomMarginValueAssignment_12 ) ) ;
     public final void rule__PageTemplate__Group__12__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:8389:1: ( ( ( rule__PageTemplate__BottomMarginValueAssignment_12 ) ) )
-            // InternalReportDSL.g:8390:1: ( ( rule__PageTemplate__BottomMarginValueAssignment_12 ) )
+            // InternalReportDSL.g:8450:1: ( ( ( rule__PageTemplate__BottomMarginValueAssignment_12 ) ) )
+            // InternalReportDSL.g:8451:1: ( ( rule__PageTemplate__BottomMarginValueAssignment_12 ) )
             {
-            // InternalReportDSL.g:8390:1: ( ( rule__PageTemplate__BottomMarginValueAssignment_12 ) )
-            // InternalReportDSL.g:8391:2: ( rule__PageTemplate__BottomMarginValueAssignment_12 )
+            // InternalReportDSL.g:8451:1: ( ( rule__PageTemplate__BottomMarginValueAssignment_12 ) )
+            // InternalReportDSL.g:8452:2: ( rule__PageTemplate__BottomMarginValueAssignment_12 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getPageTemplateAccess().getBottomMarginValueAssignment_12()); 
             }
-            // InternalReportDSL.g:8392:2: ( rule__PageTemplate__BottomMarginValueAssignment_12 )
-            // InternalReportDSL.g:8392:3: rule__PageTemplate__BottomMarginValueAssignment_12
+            // InternalReportDSL.g:8453:2: ( rule__PageTemplate__BottomMarginValueAssignment_12 )
+            // InternalReportDSL.g:8453:3: rule__PageTemplate__BottomMarginValueAssignment_12
             {
             pushFollow(FOLLOW_2);
             rule__PageTemplate__BottomMarginValueAssignment_12();
@@ -30508,14 +30780,14 @@
 
 
     // $ANTLR start "rule__PageTemplate__Group__13"
-    // InternalReportDSL.g:8400:1: rule__PageTemplate__Group__13 : rule__PageTemplate__Group__13__Impl rule__PageTemplate__Group__14 ;
+    // InternalReportDSL.g:8461:1: rule__PageTemplate__Group__13 : rule__PageTemplate__Group__13__Impl rule__PageTemplate__Group__14 ;
     public final void rule__PageTemplate__Group__13() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:8404:1: ( rule__PageTemplate__Group__13__Impl rule__PageTemplate__Group__14 )
-            // InternalReportDSL.g:8405:2: rule__PageTemplate__Group__13__Impl rule__PageTemplate__Group__14
+            // InternalReportDSL.g:8465:1: ( rule__PageTemplate__Group__13__Impl rule__PageTemplate__Group__14 )
+            // InternalReportDSL.g:8466:2: rule__PageTemplate__Group__13__Impl rule__PageTemplate__Group__14
             {
             pushFollow(FOLLOW_36);
             rule__PageTemplate__Group__13__Impl();
@@ -30546,22 +30818,22 @@
 
 
     // $ANTLR start "rule__PageTemplate__Group__13__Impl"
-    // InternalReportDSL.g:8412:1: rule__PageTemplate__Group__13__Impl : ( 'rightmargin' ) ;
+    // InternalReportDSL.g:8473:1: rule__PageTemplate__Group__13__Impl : ( 'rightmargin' ) ;
     public final void rule__PageTemplate__Group__13__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:8416:1: ( ( 'rightmargin' ) )
-            // InternalReportDSL.g:8417:1: ( 'rightmargin' )
+            // InternalReportDSL.g:8477:1: ( ( 'rightmargin' ) )
+            // InternalReportDSL.g:8478:1: ( 'rightmargin' )
             {
-            // InternalReportDSL.g:8417:1: ( 'rightmargin' )
-            // InternalReportDSL.g:8418:2: 'rightmargin'
+            // InternalReportDSL.g:8478:1: ( 'rightmargin' )
+            // InternalReportDSL.g:8479:2: 'rightmargin'
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getPageTemplateAccess().getRightmarginKeyword_13()); 
             }
-            match(input,142,FOLLOW_2); if (state.failed) return ;
+            match(input,148,FOLLOW_2); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getPageTemplateAccess().getRightmarginKeyword_13()); 
             }
@@ -30587,14 +30859,14 @@
 
 
     // $ANTLR start "rule__PageTemplate__Group__14"
-    // InternalReportDSL.g:8427:1: rule__PageTemplate__Group__14 : rule__PageTemplate__Group__14__Impl rule__PageTemplate__Group__15 ;
+    // InternalReportDSL.g:8488:1: rule__PageTemplate__Group__14 : rule__PageTemplate__Group__14__Impl rule__PageTemplate__Group__15 ;
     public final void rule__PageTemplate__Group__14() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:8431:1: ( rule__PageTemplate__Group__14__Impl rule__PageTemplate__Group__15 )
-            // InternalReportDSL.g:8432:2: rule__PageTemplate__Group__14__Impl rule__PageTemplate__Group__15
+            // InternalReportDSL.g:8492:1: ( rule__PageTemplate__Group__14__Impl rule__PageTemplate__Group__15 )
+            // InternalReportDSL.g:8493:2: rule__PageTemplate__Group__14__Impl rule__PageTemplate__Group__15
             {
             pushFollow(FOLLOW_40);
             rule__PageTemplate__Group__14__Impl();
@@ -30625,23 +30897,23 @@
 
 
     // $ANTLR start "rule__PageTemplate__Group__14__Impl"
-    // InternalReportDSL.g:8439:1: rule__PageTemplate__Group__14__Impl : ( ( rule__PageTemplate__RightMarginValueAssignment_14 ) ) ;
+    // InternalReportDSL.g:8500:1: rule__PageTemplate__Group__14__Impl : ( ( rule__PageTemplate__RightMarginValueAssignment_14 ) ) ;
     public final void rule__PageTemplate__Group__14__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:8443:1: ( ( ( rule__PageTemplate__RightMarginValueAssignment_14 ) ) )
-            // InternalReportDSL.g:8444:1: ( ( rule__PageTemplate__RightMarginValueAssignment_14 ) )
+            // InternalReportDSL.g:8504:1: ( ( ( rule__PageTemplate__RightMarginValueAssignment_14 ) ) )
+            // InternalReportDSL.g:8505:1: ( ( rule__PageTemplate__RightMarginValueAssignment_14 ) )
             {
-            // InternalReportDSL.g:8444:1: ( ( rule__PageTemplate__RightMarginValueAssignment_14 ) )
-            // InternalReportDSL.g:8445:2: ( rule__PageTemplate__RightMarginValueAssignment_14 )
+            // InternalReportDSL.g:8505:1: ( ( rule__PageTemplate__RightMarginValueAssignment_14 ) )
+            // InternalReportDSL.g:8506:2: ( rule__PageTemplate__RightMarginValueAssignment_14 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getPageTemplateAccess().getRightMarginValueAssignment_14()); 
             }
-            // InternalReportDSL.g:8446:2: ( rule__PageTemplate__RightMarginValueAssignment_14 )
-            // InternalReportDSL.g:8446:3: rule__PageTemplate__RightMarginValueAssignment_14
+            // InternalReportDSL.g:8507:2: ( rule__PageTemplate__RightMarginValueAssignment_14 )
+            // InternalReportDSL.g:8507:3: rule__PageTemplate__RightMarginValueAssignment_14
             {
             pushFollow(FOLLOW_2);
             rule__PageTemplate__RightMarginValueAssignment_14();
@@ -30676,14 +30948,14 @@
 
 
     // $ANTLR start "rule__PageTemplate__Group__15"
-    // InternalReportDSL.g:8454:1: rule__PageTemplate__Group__15 : rule__PageTemplate__Group__15__Impl rule__PageTemplate__Group__16 ;
+    // InternalReportDSL.g:8515:1: rule__PageTemplate__Group__15 : rule__PageTemplate__Group__15__Impl rule__PageTemplate__Group__16 ;
     public final void rule__PageTemplate__Group__15() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:8458:1: ( rule__PageTemplate__Group__15__Impl rule__PageTemplate__Group__16 )
-            // InternalReportDSL.g:8459:2: rule__PageTemplate__Group__15__Impl rule__PageTemplate__Group__16
+            // InternalReportDSL.g:8519:1: ( rule__PageTemplate__Group__15__Impl rule__PageTemplate__Group__16 )
+            // InternalReportDSL.g:8520:2: rule__PageTemplate__Group__15__Impl rule__PageTemplate__Group__16
             {
             pushFollow(FOLLOW_40);
             rule__PageTemplate__Group__15__Impl();
@@ -30714,31 +30986,31 @@
 
 
     // $ANTLR start "rule__PageTemplate__Group__15__Impl"
-    // InternalReportDSL.g:8466:1: rule__PageTemplate__Group__15__Impl : ( ( rule__PageTemplate__HeaderAssignment_15 )? ) ;
+    // InternalReportDSL.g:8527:1: rule__PageTemplate__Group__15__Impl : ( ( rule__PageTemplate__HeaderAssignment_15 )? ) ;
     public final void rule__PageTemplate__Group__15__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:8470:1: ( ( ( rule__PageTemplate__HeaderAssignment_15 )? ) )
-            // InternalReportDSL.g:8471:1: ( ( rule__PageTemplate__HeaderAssignment_15 )? )
+            // InternalReportDSL.g:8531:1: ( ( ( rule__PageTemplate__HeaderAssignment_15 )? ) )
+            // InternalReportDSL.g:8532:1: ( ( rule__PageTemplate__HeaderAssignment_15 )? )
             {
-            // InternalReportDSL.g:8471:1: ( ( rule__PageTemplate__HeaderAssignment_15 )? )
-            // InternalReportDSL.g:8472:2: ( rule__PageTemplate__HeaderAssignment_15 )?
+            // InternalReportDSL.g:8532:1: ( ( rule__PageTemplate__HeaderAssignment_15 )? )
+            // InternalReportDSL.g:8533:2: ( rule__PageTemplate__HeaderAssignment_15 )?
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getPageTemplateAccess().getHeaderAssignment_15()); 
             }
-            // InternalReportDSL.g:8473:2: ( rule__PageTemplate__HeaderAssignment_15 )?
-            int alt89=2;
-            int LA89_0 = input.LA(1);
+            // InternalReportDSL.g:8534:2: ( rule__PageTemplate__HeaderAssignment_15 )?
+            int alt90=2;
+            int LA90_0 = input.LA(1);
 
-            if ( (LA89_0==184) ) {
-                alt89=1;
+            if ( (LA90_0==191) ) {
+                alt90=1;
             }
-            switch (alt89) {
+            switch (alt90) {
                 case 1 :
-                    // InternalReportDSL.g:8473:3: rule__PageTemplate__HeaderAssignment_15
+                    // InternalReportDSL.g:8534:3: rule__PageTemplate__HeaderAssignment_15
                     {
                     pushFollow(FOLLOW_2);
                     rule__PageTemplate__HeaderAssignment_15();
@@ -30776,14 +31048,14 @@
 
 
     // $ANTLR start "rule__PageTemplate__Group__16"
-    // InternalReportDSL.g:8481:1: rule__PageTemplate__Group__16 : rule__PageTemplate__Group__16__Impl rule__PageTemplate__Group__17 ;
+    // InternalReportDSL.g:8542:1: rule__PageTemplate__Group__16 : rule__PageTemplate__Group__16__Impl rule__PageTemplate__Group__17 ;
     public final void rule__PageTemplate__Group__16() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:8485:1: ( rule__PageTemplate__Group__16__Impl rule__PageTemplate__Group__17 )
-            // InternalReportDSL.g:8486:2: rule__PageTemplate__Group__16__Impl rule__PageTemplate__Group__17
+            // InternalReportDSL.g:8546:1: ( rule__PageTemplate__Group__16__Impl rule__PageTemplate__Group__17 )
+            // InternalReportDSL.g:8547:2: rule__PageTemplate__Group__16__Impl rule__PageTemplate__Group__17
             {
             pushFollow(FOLLOW_40);
             rule__PageTemplate__Group__16__Impl();
@@ -30814,31 +31086,31 @@
 
 
     // $ANTLR start "rule__PageTemplate__Group__16__Impl"
-    // InternalReportDSL.g:8493:1: rule__PageTemplate__Group__16__Impl : ( ( rule__PageTemplate__FooterAssignment_16 )? ) ;
+    // InternalReportDSL.g:8554:1: rule__PageTemplate__Group__16__Impl : ( ( rule__PageTemplate__FooterAssignment_16 )? ) ;
     public final void rule__PageTemplate__Group__16__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:8497:1: ( ( ( rule__PageTemplate__FooterAssignment_16 )? ) )
-            // InternalReportDSL.g:8498:1: ( ( rule__PageTemplate__FooterAssignment_16 )? )
+            // InternalReportDSL.g:8558:1: ( ( ( rule__PageTemplate__FooterAssignment_16 )? ) )
+            // InternalReportDSL.g:8559:1: ( ( rule__PageTemplate__FooterAssignment_16 )? )
             {
-            // InternalReportDSL.g:8498:1: ( ( rule__PageTemplate__FooterAssignment_16 )? )
-            // InternalReportDSL.g:8499:2: ( rule__PageTemplate__FooterAssignment_16 )?
+            // InternalReportDSL.g:8559:1: ( ( rule__PageTemplate__FooterAssignment_16 )? )
+            // InternalReportDSL.g:8560:2: ( rule__PageTemplate__FooterAssignment_16 )?
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getPageTemplateAccess().getFooterAssignment_16()); 
             }
-            // InternalReportDSL.g:8500:2: ( rule__PageTemplate__FooterAssignment_16 )?
-            int alt90=2;
-            int LA90_0 = input.LA(1);
+            // InternalReportDSL.g:8561:2: ( rule__PageTemplate__FooterAssignment_16 )?
+            int alt91=2;
+            int LA91_0 = input.LA(1);
 
-            if ( (LA90_0==187) ) {
-                alt90=1;
+            if ( (LA91_0==194) ) {
+                alt91=1;
             }
-            switch (alt90) {
+            switch (alt91) {
                 case 1 :
-                    // InternalReportDSL.g:8500:3: rule__PageTemplate__FooterAssignment_16
+                    // InternalReportDSL.g:8561:3: rule__PageTemplate__FooterAssignment_16
                     {
                     pushFollow(FOLLOW_2);
                     rule__PageTemplate__FooterAssignment_16();
@@ -30876,14 +31148,14 @@
 
 
     // $ANTLR start "rule__PageTemplate__Group__17"
-    // InternalReportDSL.g:8508:1: rule__PageTemplate__Group__17 : rule__PageTemplate__Group__17__Impl ;
+    // InternalReportDSL.g:8569:1: rule__PageTemplate__Group__17 : rule__PageTemplate__Group__17__Impl ;
     public final void rule__PageTemplate__Group__17() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:8512:1: ( rule__PageTemplate__Group__17__Impl )
-            // InternalReportDSL.g:8513:2: rule__PageTemplate__Group__17__Impl
+            // InternalReportDSL.g:8573:1: ( rule__PageTemplate__Group__17__Impl )
+            // InternalReportDSL.g:8574:2: rule__PageTemplate__Group__17__Impl
             {
             pushFollow(FOLLOW_2);
             rule__PageTemplate__Group__17__Impl();
@@ -30909,22 +31181,22 @@
 
 
     // $ANTLR start "rule__PageTemplate__Group__17__Impl"
-    // InternalReportDSL.g:8519:1: rule__PageTemplate__Group__17__Impl : ( '}' ) ;
+    // InternalReportDSL.g:8580:1: rule__PageTemplate__Group__17__Impl : ( '}' ) ;
     public final void rule__PageTemplate__Group__17__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:8523:1: ( ( '}' ) )
-            // InternalReportDSL.g:8524:1: ( '}' )
+            // InternalReportDSL.g:8584:1: ( ( '}' ) )
+            // InternalReportDSL.g:8585:1: ( '}' )
             {
-            // InternalReportDSL.g:8524:1: ( '}' )
-            // InternalReportDSL.g:8525:2: '}'
+            // InternalReportDSL.g:8585:1: ( '}' )
+            // InternalReportDSL.g:8586:2: '}'
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getPageTemplateAccess().getRightCurlyBracketKeyword_17()); 
             }
-            match(input,126,FOLLOW_2); if (state.failed) return ;
+            match(input,132,FOLLOW_2); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getPageTemplateAccess().getRightCurlyBracketKeyword_17()); 
             }
@@ -30950,14 +31222,14 @@
 
 
     // $ANTLR start "rule__Color__Group__0"
-    // InternalReportDSL.g:8535:1: rule__Color__Group__0 : rule__Color__Group__0__Impl rule__Color__Group__1 ;
+    // InternalReportDSL.g:8596:1: rule__Color__Group__0 : rule__Color__Group__0__Impl rule__Color__Group__1 ;
     public final void rule__Color__Group__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:8539:1: ( rule__Color__Group__0__Impl rule__Color__Group__1 )
-            // InternalReportDSL.g:8540:2: rule__Color__Group__0__Impl rule__Color__Group__1
+            // InternalReportDSL.g:8600:1: ( rule__Color__Group__0__Impl rule__Color__Group__1 )
+            // InternalReportDSL.g:8601:2: rule__Color__Group__0__Impl rule__Color__Group__1
             {
             pushFollow(FOLLOW_7);
             rule__Color__Group__0__Impl();
@@ -30988,22 +31260,22 @@
 
 
     // $ANTLR start "rule__Color__Group__0__Impl"
-    // InternalReportDSL.g:8547:1: rule__Color__Group__0__Impl : ( 'color' ) ;
+    // InternalReportDSL.g:8608:1: rule__Color__Group__0__Impl : ( 'color' ) ;
     public final void rule__Color__Group__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:8551:1: ( ( 'color' ) )
-            // InternalReportDSL.g:8552:1: ( 'color' )
+            // InternalReportDSL.g:8612:1: ( ( 'color' ) )
+            // InternalReportDSL.g:8613:1: ( 'color' )
             {
-            // InternalReportDSL.g:8552:1: ( 'color' )
-            // InternalReportDSL.g:8553:2: 'color'
+            // InternalReportDSL.g:8613:1: ( 'color' )
+            // InternalReportDSL.g:8614:2: 'color'
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getColorAccess().getColorKeyword_0()); 
             }
-            match(input,143,FOLLOW_2); if (state.failed) return ;
+            match(input,149,FOLLOW_2); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getColorAccess().getColorKeyword_0()); 
             }
@@ -31029,14 +31301,14 @@
 
 
     // $ANTLR start "rule__Color__Group__1"
-    // InternalReportDSL.g:8562:1: rule__Color__Group__1 : rule__Color__Group__1__Impl rule__Color__Group__2 ;
+    // InternalReportDSL.g:8623:1: rule__Color__Group__1 : rule__Color__Group__1__Impl rule__Color__Group__2 ;
     public final void rule__Color__Group__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:8566:1: ( rule__Color__Group__1__Impl rule__Color__Group__2 )
-            // InternalReportDSL.g:8567:2: rule__Color__Group__1__Impl rule__Color__Group__2
+            // InternalReportDSL.g:8627:1: ( rule__Color__Group__1__Impl rule__Color__Group__2 )
+            // InternalReportDSL.g:8628:2: rule__Color__Group__1__Impl rule__Color__Group__2
             {
             pushFollow(FOLLOW_41);
             rule__Color__Group__1__Impl();
@@ -31067,23 +31339,23 @@
 
 
     // $ANTLR start "rule__Color__Group__1__Impl"
-    // InternalReportDSL.g:8574:1: rule__Color__Group__1__Impl : ( ( rule__Color__NameAssignment_1 ) ) ;
+    // InternalReportDSL.g:8635:1: rule__Color__Group__1__Impl : ( ( rule__Color__NameAssignment_1 ) ) ;
     public final void rule__Color__Group__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:8578:1: ( ( ( rule__Color__NameAssignment_1 ) ) )
-            // InternalReportDSL.g:8579:1: ( ( rule__Color__NameAssignment_1 ) )
+            // InternalReportDSL.g:8639:1: ( ( ( rule__Color__NameAssignment_1 ) ) )
+            // InternalReportDSL.g:8640:1: ( ( rule__Color__NameAssignment_1 ) )
             {
-            // InternalReportDSL.g:8579:1: ( ( rule__Color__NameAssignment_1 ) )
-            // InternalReportDSL.g:8580:2: ( rule__Color__NameAssignment_1 )
+            // InternalReportDSL.g:8640:1: ( ( rule__Color__NameAssignment_1 ) )
+            // InternalReportDSL.g:8641:2: ( rule__Color__NameAssignment_1 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getColorAccess().getNameAssignment_1()); 
             }
-            // InternalReportDSL.g:8581:2: ( rule__Color__NameAssignment_1 )
-            // InternalReportDSL.g:8581:3: rule__Color__NameAssignment_1
+            // InternalReportDSL.g:8642:2: ( rule__Color__NameAssignment_1 )
+            // InternalReportDSL.g:8642:3: rule__Color__NameAssignment_1
             {
             pushFollow(FOLLOW_2);
             rule__Color__NameAssignment_1();
@@ -31118,14 +31390,14 @@
 
 
     // $ANTLR start "rule__Color__Group__2"
-    // InternalReportDSL.g:8589:1: rule__Color__Group__2 : rule__Color__Group__2__Impl ;
+    // InternalReportDSL.g:8650:1: rule__Color__Group__2 : rule__Color__Group__2__Impl ;
     public final void rule__Color__Group__2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:8593:1: ( rule__Color__Group__2__Impl )
-            // InternalReportDSL.g:8594:2: rule__Color__Group__2__Impl
+            // InternalReportDSL.g:8654:1: ( rule__Color__Group__2__Impl )
+            // InternalReportDSL.g:8655:2: rule__Color__Group__2__Impl
             {
             pushFollow(FOLLOW_2);
             rule__Color__Group__2__Impl();
@@ -31151,23 +31423,23 @@
 
 
     // $ANTLR start "rule__Color__Group__2__Impl"
-    // InternalReportDSL.g:8600:1: rule__Color__Group__2__Impl : ( ( rule__Color__Alternatives_2 ) ) ;
+    // InternalReportDSL.g:8661:1: rule__Color__Group__2__Impl : ( ( rule__Color__Alternatives_2 ) ) ;
     public final void rule__Color__Group__2__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:8604:1: ( ( ( rule__Color__Alternatives_2 ) ) )
-            // InternalReportDSL.g:8605:1: ( ( rule__Color__Alternatives_2 ) )
+            // InternalReportDSL.g:8665:1: ( ( ( rule__Color__Alternatives_2 ) ) )
+            // InternalReportDSL.g:8666:1: ( ( rule__Color__Alternatives_2 ) )
             {
-            // InternalReportDSL.g:8605:1: ( ( rule__Color__Alternatives_2 ) )
-            // InternalReportDSL.g:8606:2: ( rule__Color__Alternatives_2 )
+            // InternalReportDSL.g:8666:1: ( ( rule__Color__Alternatives_2 ) )
+            // InternalReportDSL.g:8667:2: ( rule__Color__Alternatives_2 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getColorAccess().getAlternatives_2()); 
             }
-            // InternalReportDSL.g:8607:2: ( rule__Color__Alternatives_2 )
-            // InternalReportDSL.g:8607:3: rule__Color__Alternatives_2
+            // InternalReportDSL.g:8668:2: ( rule__Color__Alternatives_2 )
+            // InternalReportDSL.g:8668:3: rule__Color__Alternatives_2
             {
             pushFollow(FOLLOW_2);
             rule__Color__Alternatives_2();
@@ -31202,14 +31474,14 @@
 
 
     // $ANTLR start "rule__Color__Group_2_1__0"
-    // InternalReportDSL.g:8616:1: rule__Color__Group_2_1__0 : rule__Color__Group_2_1__0__Impl rule__Color__Group_2_1__1 ;
+    // InternalReportDSL.g:8677:1: rule__Color__Group_2_1__0 : rule__Color__Group_2_1__0__Impl rule__Color__Group_2_1__1 ;
     public final void rule__Color__Group_2_1__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:8620:1: ( rule__Color__Group_2_1__0__Impl rule__Color__Group_2_1__1 )
-            // InternalReportDSL.g:8621:2: rule__Color__Group_2_1__0__Impl rule__Color__Group_2_1__1
+            // InternalReportDSL.g:8681:1: ( rule__Color__Group_2_1__0__Impl rule__Color__Group_2_1__1 )
+            // InternalReportDSL.g:8682:2: rule__Color__Group_2_1__0__Impl rule__Color__Group_2_1__1
             {
             pushFollow(FOLLOW_7);
             rule__Color__Group_2_1__0__Impl();
@@ -31240,22 +31512,22 @@
 
 
     // $ANTLR start "rule__Color__Group_2_1__0__Impl"
-    // InternalReportDSL.g:8628:1: rule__Color__Group_2_1__0__Impl : ( 'darkens' ) ;
+    // InternalReportDSL.g:8689:1: rule__Color__Group_2_1__0__Impl : ( 'darkens' ) ;
     public final void rule__Color__Group_2_1__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:8632:1: ( ( 'darkens' ) )
-            // InternalReportDSL.g:8633:1: ( 'darkens' )
+            // InternalReportDSL.g:8693:1: ( ( 'darkens' ) )
+            // InternalReportDSL.g:8694:1: ( 'darkens' )
             {
-            // InternalReportDSL.g:8633:1: ( 'darkens' )
-            // InternalReportDSL.g:8634:2: 'darkens'
+            // InternalReportDSL.g:8694:1: ( 'darkens' )
+            // InternalReportDSL.g:8695:2: 'darkens'
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getColorAccess().getDarkensKeyword_2_1_0()); 
             }
-            match(input,144,FOLLOW_2); if (state.failed) return ;
+            match(input,150,FOLLOW_2); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getColorAccess().getDarkensKeyword_2_1_0()); 
             }
@@ -31281,14 +31553,14 @@
 
 
     // $ANTLR start "rule__Color__Group_2_1__1"
-    // InternalReportDSL.g:8643:1: rule__Color__Group_2_1__1 : rule__Color__Group_2_1__1__Impl rule__Color__Group_2_1__2 ;
+    // InternalReportDSL.g:8704:1: rule__Color__Group_2_1__1 : rule__Color__Group_2_1__1__Impl rule__Color__Group_2_1__2 ;
     public final void rule__Color__Group_2_1__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:8647:1: ( rule__Color__Group_2_1__1__Impl rule__Color__Group_2_1__2 )
-            // InternalReportDSL.g:8648:2: rule__Color__Group_2_1__1__Impl rule__Color__Group_2_1__2
+            // InternalReportDSL.g:8708:1: ( rule__Color__Group_2_1__1__Impl rule__Color__Group_2_1__2 )
+            // InternalReportDSL.g:8709:2: rule__Color__Group_2_1__1__Impl rule__Color__Group_2_1__2
             {
             pushFollow(FOLLOW_42);
             rule__Color__Group_2_1__1__Impl();
@@ -31319,23 +31591,23 @@
 
 
     // $ANTLR start "rule__Color__Group_2_1__1__Impl"
-    // InternalReportDSL.g:8655:1: rule__Color__Group_2_1__1__Impl : ( ( rule__Color__BasecolorAssignment_2_1_1 ) ) ;
+    // InternalReportDSL.g:8716:1: rule__Color__Group_2_1__1__Impl : ( ( rule__Color__BasecolorAssignment_2_1_1 ) ) ;
     public final void rule__Color__Group_2_1__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:8659:1: ( ( ( rule__Color__BasecolorAssignment_2_1_1 ) ) )
-            // InternalReportDSL.g:8660:1: ( ( rule__Color__BasecolorAssignment_2_1_1 ) )
+            // InternalReportDSL.g:8720:1: ( ( ( rule__Color__BasecolorAssignment_2_1_1 ) ) )
+            // InternalReportDSL.g:8721:1: ( ( rule__Color__BasecolorAssignment_2_1_1 ) )
             {
-            // InternalReportDSL.g:8660:1: ( ( rule__Color__BasecolorAssignment_2_1_1 ) )
-            // InternalReportDSL.g:8661:2: ( rule__Color__BasecolorAssignment_2_1_1 )
+            // InternalReportDSL.g:8721:1: ( ( rule__Color__BasecolorAssignment_2_1_1 ) )
+            // InternalReportDSL.g:8722:2: ( rule__Color__BasecolorAssignment_2_1_1 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getColorAccess().getBasecolorAssignment_2_1_1()); 
             }
-            // InternalReportDSL.g:8662:2: ( rule__Color__BasecolorAssignment_2_1_1 )
-            // InternalReportDSL.g:8662:3: rule__Color__BasecolorAssignment_2_1_1
+            // InternalReportDSL.g:8723:2: ( rule__Color__BasecolorAssignment_2_1_1 )
+            // InternalReportDSL.g:8723:3: rule__Color__BasecolorAssignment_2_1_1
             {
             pushFollow(FOLLOW_2);
             rule__Color__BasecolorAssignment_2_1_1();
@@ -31370,14 +31642,14 @@
 
 
     // $ANTLR start "rule__Color__Group_2_1__2"
-    // InternalReportDSL.g:8670:1: rule__Color__Group_2_1__2 : rule__Color__Group_2_1__2__Impl rule__Color__Group_2_1__3 ;
+    // InternalReportDSL.g:8731:1: rule__Color__Group_2_1__2 : rule__Color__Group_2_1__2__Impl rule__Color__Group_2_1__3 ;
     public final void rule__Color__Group_2_1__2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:8674:1: ( rule__Color__Group_2_1__2__Impl rule__Color__Group_2_1__3 )
-            // InternalReportDSL.g:8675:2: rule__Color__Group_2_1__2__Impl rule__Color__Group_2_1__3
+            // InternalReportDSL.g:8735:1: ( rule__Color__Group_2_1__2__Impl rule__Color__Group_2_1__3 )
+            // InternalReportDSL.g:8736:2: rule__Color__Group_2_1__2__Impl rule__Color__Group_2_1__3
             {
             pushFollow(FOLLOW_43);
             rule__Color__Group_2_1__2__Impl();
@@ -31408,22 +31680,22 @@
 
 
     // $ANTLR start "rule__Color__Group_2_1__2__Impl"
-    // InternalReportDSL.g:8682:1: rule__Color__Group_2_1__2__Impl : ( 'by-percent' ) ;
+    // InternalReportDSL.g:8743:1: rule__Color__Group_2_1__2__Impl : ( 'by-percent' ) ;
     public final void rule__Color__Group_2_1__2__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:8686:1: ( ( 'by-percent' ) )
-            // InternalReportDSL.g:8687:1: ( 'by-percent' )
+            // InternalReportDSL.g:8747:1: ( ( 'by-percent' ) )
+            // InternalReportDSL.g:8748:1: ( 'by-percent' )
             {
-            // InternalReportDSL.g:8687:1: ( 'by-percent' )
-            // InternalReportDSL.g:8688:2: 'by-percent'
+            // InternalReportDSL.g:8748:1: ( 'by-percent' )
+            // InternalReportDSL.g:8749:2: 'by-percent'
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getColorAccess().getByPercentKeyword_2_1_2()); 
             }
-            match(input,145,FOLLOW_2); if (state.failed) return ;
+            match(input,151,FOLLOW_2); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getColorAccess().getByPercentKeyword_2_1_2()); 
             }
@@ -31449,14 +31721,14 @@
 
 
     // $ANTLR start "rule__Color__Group_2_1__3"
-    // InternalReportDSL.g:8697:1: rule__Color__Group_2_1__3 : rule__Color__Group_2_1__3__Impl ;
+    // InternalReportDSL.g:8758:1: rule__Color__Group_2_1__3 : rule__Color__Group_2_1__3__Impl ;
     public final void rule__Color__Group_2_1__3() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:8701:1: ( rule__Color__Group_2_1__3__Impl )
-            // InternalReportDSL.g:8702:2: rule__Color__Group_2_1__3__Impl
+            // InternalReportDSL.g:8762:1: ( rule__Color__Group_2_1__3__Impl )
+            // InternalReportDSL.g:8763:2: rule__Color__Group_2_1__3__Impl
             {
             pushFollow(FOLLOW_2);
             rule__Color__Group_2_1__3__Impl();
@@ -31482,23 +31754,23 @@
 
 
     // $ANTLR start "rule__Color__Group_2_1__3__Impl"
-    // InternalReportDSL.g:8708:1: rule__Color__Group_2_1__3__Impl : ( ( rule__Color__DarkensbyAssignment_2_1_3 ) ) ;
+    // InternalReportDSL.g:8769:1: rule__Color__Group_2_1__3__Impl : ( ( rule__Color__DarkensbyAssignment_2_1_3 ) ) ;
     public final void rule__Color__Group_2_1__3__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:8712:1: ( ( ( rule__Color__DarkensbyAssignment_2_1_3 ) ) )
-            // InternalReportDSL.g:8713:1: ( ( rule__Color__DarkensbyAssignment_2_1_3 ) )
+            // InternalReportDSL.g:8773:1: ( ( ( rule__Color__DarkensbyAssignment_2_1_3 ) ) )
+            // InternalReportDSL.g:8774:1: ( ( rule__Color__DarkensbyAssignment_2_1_3 ) )
             {
-            // InternalReportDSL.g:8713:1: ( ( rule__Color__DarkensbyAssignment_2_1_3 ) )
-            // InternalReportDSL.g:8714:2: ( rule__Color__DarkensbyAssignment_2_1_3 )
+            // InternalReportDSL.g:8774:1: ( ( rule__Color__DarkensbyAssignment_2_1_3 ) )
+            // InternalReportDSL.g:8775:2: ( rule__Color__DarkensbyAssignment_2_1_3 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getColorAccess().getDarkensbyAssignment_2_1_3()); 
             }
-            // InternalReportDSL.g:8715:2: ( rule__Color__DarkensbyAssignment_2_1_3 )
-            // InternalReportDSL.g:8715:3: rule__Color__DarkensbyAssignment_2_1_3
+            // InternalReportDSL.g:8776:2: ( rule__Color__DarkensbyAssignment_2_1_3 )
+            // InternalReportDSL.g:8776:3: rule__Color__DarkensbyAssignment_2_1_3
             {
             pushFollow(FOLLOW_2);
             rule__Color__DarkensbyAssignment_2_1_3();
@@ -31533,14 +31805,14 @@
 
 
     // $ANTLR start "rule__Color__Group_2_2__0"
-    // InternalReportDSL.g:8724:1: rule__Color__Group_2_2__0 : rule__Color__Group_2_2__0__Impl rule__Color__Group_2_2__1 ;
+    // InternalReportDSL.g:8785:1: rule__Color__Group_2_2__0 : rule__Color__Group_2_2__0__Impl rule__Color__Group_2_2__1 ;
     public final void rule__Color__Group_2_2__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:8728:1: ( rule__Color__Group_2_2__0__Impl rule__Color__Group_2_2__1 )
-            // InternalReportDSL.g:8729:2: rule__Color__Group_2_2__0__Impl rule__Color__Group_2_2__1
+            // InternalReportDSL.g:8789:1: ( rule__Color__Group_2_2__0__Impl rule__Color__Group_2_2__1 )
+            // InternalReportDSL.g:8790:2: rule__Color__Group_2_2__0__Impl rule__Color__Group_2_2__1
             {
             pushFollow(FOLLOW_7);
             rule__Color__Group_2_2__0__Impl();
@@ -31571,22 +31843,22 @@
 
 
     // $ANTLR start "rule__Color__Group_2_2__0__Impl"
-    // InternalReportDSL.g:8736:1: rule__Color__Group_2_2__0__Impl : ( 'lightens' ) ;
+    // InternalReportDSL.g:8797:1: rule__Color__Group_2_2__0__Impl : ( 'lightens' ) ;
     public final void rule__Color__Group_2_2__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:8740:1: ( ( 'lightens' ) )
-            // InternalReportDSL.g:8741:1: ( 'lightens' )
+            // InternalReportDSL.g:8801:1: ( ( 'lightens' ) )
+            // InternalReportDSL.g:8802:1: ( 'lightens' )
             {
-            // InternalReportDSL.g:8741:1: ( 'lightens' )
-            // InternalReportDSL.g:8742:2: 'lightens'
+            // InternalReportDSL.g:8802:1: ( 'lightens' )
+            // InternalReportDSL.g:8803:2: 'lightens'
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getColorAccess().getLightensKeyword_2_2_0()); 
             }
-            match(input,146,FOLLOW_2); if (state.failed) return ;
+            match(input,152,FOLLOW_2); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getColorAccess().getLightensKeyword_2_2_0()); 
             }
@@ -31612,14 +31884,14 @@
 
 
     // $ANTLR start "rule__Color__Group_2_2__1"
-    // InternalReportDSL.g:8751:1: rule__Color__Group_2_2__1 : rule__Color__Group_2_2__1__Impl rule__Color__Group_2_2__2 ;
+    // InternalReportDSL.g:8812:1: rule__Color__Group_2_2__1 : rule__Color__Group_2_2__1__Impl rule__Color__Group_2_2__2 ;
     public final void rule__Color__Group_2_2__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:8755:1: ( rule__Color__Group_2_2__1__Impl rule__Color__Group_2_2__2 )
-            // InternalReportDSL.g:8756:2: rule__Color__Group_2_2__1__Impl rule__Color__Group_2_2__2
+            // InternalReportDSL.g:8816:1: ( rule__Color__Group_2_2__1__Impl rule__Color__Group_2_2__2 )
+            // InternalReportDSL.g:8817:2: rule__Color__Group_2_2__1__Impl rule__Color__Group_2_2__2
             {
             pushFollow(FOLLOW_42);
             rule__Color__Group_2_2__1__Impl();
@@ -31650,23 +31922,23 @@
 
 
     // $ANTLR start "rule__Color__Group_2_2__1__Impl"
-    // InternalReportDSL.g:8763:1: rule__Color__Group_2_2__1__Impl : ( ( rule__Color__BasecolorAssignment_2_2_1 ) ) ;
+    // InternalReportDSL.g:8824:1: rule__Color__Group_2_2__1__Impl : ( ( rule__Color__BasecolorAssignment_2_2_1 ) ) ;
     public final void rule__Color__Group_2_2__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:8767:1: ( ( ( rule__Color__BasecolorAssignment_2_2_1 ) ) )
-            // InternalReportDSL.g:8768:1: ( ( rule__Color__BasecolorAssignment_2_2_1 ) )
+            // InternalReportDSL.g:8828:1: ( ( ( rule__Color__BasecolorAssignment_2_2_1 ) ) )
+            // InternalReportDSL.g:8829:1: ( ( rule__Color__BasecolorAssignment_2_2_1 ) )
             {
-            // InternalReportDSL.g:8768:1: ( ( rule__Color__BasecolorAssignment_2_2_1 ) )
-            // InternalReportDSL.g:8769:2: ( rule__Color__BasecolorAssignment_2_2_1 )
+            // InternalReportDSL.g:8829:1: ( ( rule__Color__BasecolorAssignment_2_2_1 ) )
+            // InternalReportDSL.g:8830:2: ( rule__Color__BasecolorAssignment_2_2_1 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getColorAccess().getBasecolorAssignment_2_2_1()); 
             }
-            // InternalReportDSL.g:8770:2: ( rule__Color__BasecolorAssignment_2_2_1 )
-            // InternalReportDSL.g:8770:3: rule__Color__BasecolorAssignment_2_2_1
+            // InternalReportDSL.g:8831:2: ( rule__Color__BasecolorAssignment_2_2_1 )
+            // InternalReportDSL.g:8831:3: rule__Color__BasecolorAssignment_2_2_1
             {
             pushFollow(FOLLOW_2);
             rule__Color__BasecolorAssignment_2_2_1();
@@ -31701,14 +31973,14 @@
 
 
     // $ANTLR start "rule__Color__Group_2_2__2"
-    // InternalReportDSL.g:8778:1: rule__Color__Group_2_2__2 : rule__Color__Group_2_2__2__Impl rule__Color__Group_2_2__3 ;
+    // InternalReportDSL.g:8839:1: rule__Color__Group_2_2__2 : rule__Color__Group_2_2__2__Impl rule__Color__Group_2_2__3 ;
     public final void rule__Color__Group_2_2__2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:8782:1: ( rule__Color__Group_2_2__2__Impl rule__Color__Group_2_2__3 )
-            // InternalReportDSL.g:8783:2: rule__Color__Group_2_2__2__Impl rule__Color__Group_2_2__3
+            // InternalReportDSL.g:8843:1: ( rule__Color__Group_2_2__2__Impl rule__Color__Group_2_2__3 )
+            // InternalReportDSL.g:8844:2: rule__Color__Group_2_2__2__Impl rule__Color__Group_2_2__3
             {
             pushFollow(FOLLOW_43);
             rule__Color__Group_2_2__2__Impl();
@@ -31739,22 +32011,22 @@
 
 
     // $ANTLR start "rule__Color__Group_2_2__2__Impl"
-    // InternalReportDSL.g:8790:1: rule__Color__Group_2_2__2__Impl : ( 'by-percent' ) ;
+    // InternalReportDSL.g:8851:1: rule__Color__Group_2_2__2__Impl : ( 'by-percent' ) ;
     public final void rule__Color__Group_2_2__2__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:8794:1: ( ( 'by-percent' ) )
-            // InternalReportDSL.g:8795:1: ( 'by-percent' )
+            // InternalReportDSL.g:8855:1: ( ( 'by-percent' ) )
+            // InternalReportDSL.g:8856:1: ( 'by-percent' )
             {
-            // InternalReportDSL.g:8795:1: ( 'by-percent' )
-            // InternalReportDSL.g:8796:2: 'by-percent'
+            // InternalReportDSL.g:8856:1: ( 'by-percent' )
+            // InternalReportDSL.g:8857:2: 'by-percent'
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getColorAccess().getByPercentKeyword_2_2_2()); 
             }
-            match(input,145,FOLLOW_2); if (state.failed) return ;
+            match(input,151,FOLLOW_2); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getColorAccess().getByPercentKeyword_2_2_2()); 
             }
@@ -31780,14 +32052,14 @@
 
 
     // $ANTLR start "rule__Color__Group_2_2__3"
-    // InternalReportDSL.g:8805:1: rule__Color__Group_2_2__3 : rule__Color__Group_2_2__3__Impl ;
+    // InternalReportDSL.g:8866:1: rule__Color__Group_2_2__3 : rule__Color__Group_2_2__3__Impl ;
     public final void rule__Color__Group_2_2__3() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:8809:1: ( rule__Color__Group_2_2__3__Impl )
-            // InternalReportDSL.g:8810:2: rule__Color__Group_2_2__3__Impl
+            // InternalReportDSL.g:8870:1: ( rule__Color__Group_2_2__3__Impl )
+            // InternalReportDSL.g:8871:2: rule__Color__Group_2_2__3__Impl
             {
             pushFollow(FOLLOW_2);
             rule__Color__Group_2_2__3__Impl();
@@ -31813,23 +32085,23 @@
 
 
     // $ANTLR start "rule__Color__Group_2_2__3__Impl"
-    // InternalReportDSL.g:8816:1: rule__Color__Group_2_2__3__Impl : ( ( rule__Color__LightensbyAssignment_2_2_3 ) ) ;
+    // InternalReportDSL.g:8877:1: rule__Color__Group_2_2__3__Impl : ( ( rule__Color__LightensbyAssignment_2_2_3 ) ) ;
     public final void rule__Color__Group_2_2__3__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:8820:1: ( ( ( rule__Color__LightensbyAssignment_2_2_3 ) ) )
-            // InternalReportDSL.g:8821:1: ( ( rule__Color__LightensbyAssignment_2_2_3 ) )
+            // InternalReportDSL.g:8881:1: ( ( ( rule__Color__LightensbyAssignment_2_2_3 ) ) )
+            // InternalReportDSL.g:8882:1: ( ( rule__Color__LightensbyAssignment_2_2_3 ) )
             {
-            // InternalReportDSL.g:8821:1: ( ( rule__Color__LightensbyAssignment_2_2_3 ) )
-            // InternalReportDSL.g:8822:2: ( rule__Color__LightensbyAssignment_2_2_3 )
+            // InternalReportDSL.g:8882:1: ( ( rule__Color__LightensbyAssignment_2_2_3 ) )
+            // InternalReportDSL.g:8883:2: ( rule__Color__LightensbyAssignment_2_2_3 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getColorAccess().getLightensbyAssignment_2_2_3()); 
             }
-            // InternalReportDSL.g:8823:2: ( rule__Color__LightensbyAssignment_2_2_3 )
-            // InternalReportDSL.g:8823:3: rule__Color__LightensbyAssignment_2_2_3
+            // InternalReportDSL.g:8884:2: ( rule__Color__LightensbyAssignment_2_2_3 )
+            // InternalReportDSL.g:8884:3: rule__Color__LightensbyAssignment_2_2_3
             {
             pushFollow(FOLLOW_2);
             rule__Color__LightensbyAssignment_2_2_3();
@@ -31864,14 +32136,14 @@
 
 
     // $ANTLR start "rule__Color__Group_2_3__0"
-    // InternalReportDSL.g:8832:1: rule__Color__Group_2_3__0 : rule__Color__Group_2_3__0__Impl rule__Color__Group_2_3__1 ;
+    // InternalReportDSL.g:8893:1: rule__Color__Group_2_3__0 : rule__Color__Group_2_3__0__Impl rule__Color__Group_2_3__1 ;
     public final void rule__Color__Group_2_3__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:8836:1: ( rule__Color__Group_2_3__0__Impl rule__Color__Group_2_3__1 )
-            // InternalReportDSL.g:8837:2: rule__Color__Group_2_3__0__Impl rule__Color__Group_2_3__1
+            // InternalReportDSL.g:8897:1: ( rule__Color__Group_2_3__0__Impl rule__Color__Group_2_3__1 )
+            // InternalReportDSL.g:8898:2: rule__Color__Group_2_3__0__Impl rule__Color__Group_2_3__1
             {
             pushFollow(FOLLOW_7);
             rule__Color__Group_2_3__0__Impl();
@@ -31902,22 +32174,22 @@
 
 
     // $ANTLR start "rule__Color__Group_2_3__0__Impl"
-    // InternalReportDSL.g:8844:1: rule__Color__Group_2_3__0__Impl : ( 'transforms' ) ;
+    // InternalReportDSL.g:8905:1: rule__Color__Group_2_3__0__Impl : ( 'transforms' ) ;
     public final void rule__Color__Group_2_3__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:8848:1: ( ( 'transforms' ) )
-            // InternalReportDSL.g:8849:1: ( 'transforms' )
+            // InternalReportDSL.g:8909:1: ( ( 'transforms' ) )
+            // InternalReportDSL.g:8910:1: ( 'transforms' )
             {
-            // InternalReportDSL.g:8849:1: ( 'transforms' )
-            // InternalReportDSL.g:8850:2: 'transforms'
+            // InternalReportDSL.g:8910:1: ( 'transforms' )
+            // InternalReportDSL.g:8911:2: 'transforms'
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getColorAccess().getTransformsKeyword_2_3_0()); 
             }
-            match(input,147,FOLLOW_2); if (state.failed) return ;
+            match(input,153,FOLLOW_2); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getColorAccess().getTransformsKeyword_2_3_0()); 
             }
@@ -31943,14 +32215,14 @@
 
 
     // $ANTLR start "rule__Color__Group_2_3__1"
-    // InternalReportDSL.g:8859:1: rule__Color__Group_2_3__1 : rule__Color__Group_2_3__1__Impl rule__Color__Group_2_3__2 ;
+    // InternalReportDSL.g:8920:1: rule__Color__Group_2_3__1 : rule__Color__Group_2_3__1__Impl rule__Color__Group_2_3__2 ;
     public final void rule__Color__Group_2_3__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:8863:1: ( rule__Color__Group_2_3__1__Impl rule__Color__Group_2_3__2 )
-            // InternalReportDSL.g:8864:2: rule__Color__Group_2_3__1__Impl rule__Color__Group_2_3__2
+            // InternalReportDSL.g:8924:1: ( rule__Color__Group_2_3__1__Impl rule__Color__Group_2_3__2 )
+            // InternalReportDSL.g:8925:2: rule__Color__Group_2_3__1__Impl rule__Color__Group_2_3__2
             {
             pushFollow(FOLLOW_42);
             rule__Color__Group_2_3__1__Impl();
@@ -31981,23 +32253,23 @@
 
 
     // $ANTLR start "rule__Color__Group_2_3__1__Impl"
-    // InternalReportDSL.g:8871:1: rule__Color__Group_2_3__1__Impl : ( ( rule__Color__BasecolorAssignment_2_3_1 ) ) ;
+    // InternalReportDSL.g:8932:1: rule__Color__Group_2_3__1__Impl : ( ( rule__Color__BasecolorAssignment_2_3_1 ) ) ;
     public final void rule__Color__Group_2_3__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:8875:1: ( ( ( rule__Color__BasecolorAssignment_2_3_1 ) ) )
-            // InternalReportDSL.g:8876:1: ( ( rule__Color__BasecolorAssignment_2_3_1 ) )
+            // InternalReportDSL.g:8936:1: ( ( ( rule__Color__BasecolorAssignment_2_3_1 ) ) )
+            // InternalReportDSL.g:8937:1: ( ( rule__Color__BasecolorAssignment_2_3_1 ) )
             {
-            // InternalReportDSL.g:8876:1: ( ( rule__Color__BasecolorAssignment_2_3_1 ) )
-            // InternalReportDSL.g:8877:2: ( rule__Color__BasecolorAssignment_2_3_1 )
+            // InternalReportDSL.g:8937:1: ( ( rule__Color__BasecolorAssignment_2_3_1 ) )
+            // InternalReportDSL.g:8938:2: ( rule__Color__BasecolorAssignment_2_3_1 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getColorAccess().getBasecolorAssignment_2_3_1()); 
             }
-            // InternalReportDSL.g:8878:2: ( rule__Color__BasecolorAssignment_2_3_1 )
-            // InternalReportDSL.g:8878:3: rule__Color__BasecolorAssignment_2_3_1
+            // InternalReportDSL.g:8939:2: ( rule__Color__BasecolorAssignment_2_3_1 )
+            // InternalReportDSL.g:8939:3: rule__Color__BasecolorAssignment_2_3_1
             {
             pushFollow(FOLLOW_2);
             rule__Color__BasecolorAssignment_2_3_1();
@@ -32032,14 +32304,14 @@
 
 
     // $ANTLR start "rule__Color__Group_2_3__2"
-    // InternalReportDSL.g:8886:1: rule__Color__Group_2_3__2 : rule__Color__Group_2_3__2__Impl rule__Color__Group_2_3__3 ;
+    // InternalReportDSL.g:8947:1: rule__Color__Group_2_3__2 : rule__Color__Group_2_3__2__Impl rule__Color__Group_2_3__3 ;
     public final void rule__Color__Group_2_3__2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:8890:1: ( rule__Color__Group_2_3__2__Impl rule__Color__Group_2_3__3 )
-            // InternalReportDSL.g:8891:2: rule__Color__Group_2_3__2__Impl rule__Color__Group_2_3__3
+            // InternalReportDSL.g:8951:1: ( rule__Color__Group_2_3__2__Impl rule__Color__Group_2_3__3 )
+            // InternalReportDSL.g:8952:2: rule__Color__Group_2_3__2__Impl rule__Color__Group_2_3__3
             {
             pushFollow(FOLLOW_43);
             rule__Color__Group_2_3__2__Impl();
@@ -32070,22 +32342,22 @@
 
 
     // $ANTLR start "rule__Color__Group_2_3__2__Impl"
-    // InternalReportDSL.g:8898:1: rule__Color__Group_2_3__2__Impl : ( 'by-percent' ) ;
+    // InternalReportDSL.g:8959:1: rule__Color__Group_2_3__2__Impl : ( 'by-percent' ) ;
     public final void rule__Color__Group_2_3__2__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:8902:1: ( ( 'by-percent' ) )
-            // InternalReportDSL.g:8903:1: ( 'by-percent' )
+            // InternalReportDSL.g:8963:1: ( ( 'by-percent' ) )
+            // InternalReportDSL.g:8964:1: ( 'by-percent' )
             {
-            // InternalReportDSL.g:8903:1: ( 'by-percent' )
-            // InternalReportDSL.g:8904:2: 'by-percent'
+            // InternalReportDSL.g:8964:1: ( 'by-percent' )
+            // InternalReportDSL.g:8965:2: 'by-percent'
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getColorAccess().getByPercentKeyword_2_3_2()); 
             }
-            match(input,145,FOLLOW_2); if (state.failed) return ;
+            match(input,151,FOLLOW_2); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getColorAccess().getByPercentKeyword_2_3_2()); 
             }
@@ -32111,14 +32383,14 @@
 
 
     // $ANTLR start "rule__Color__Group_2_3__3"
-    // InternalReportDSL.g:8913:1: rule__Color__Group_2_3__3 : rule__Color__Group_2_3__3__Impl rule__Color__Group_2_3__4 ;
+    // InternalReportDSL.g:8974:1: rule__Color__Group_2_3__3 : rule__Color__Group_2_3__3__Impl rule__Color__Group_2_3__4 ;
     public final void rule__Color__Group_2_3__3() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:8917:1: ( rule__Color__Group_2_3__3__Impl rule__Color__Group_2_3__4 )
-            // InternalReportDSL.g:8918:2: rule__Color__Group_2_3__3__Impl rule__Color__Group_2_3__4
+            // InternalReportDSL.g:8978:1: ( rule__Color__Group_2_3__3__Impl rule__Color__Group_2_3__4 )
+            // InternalReportDSL.g:8979:2: rule__Color__Group_2_3__3__Impl rule__Color__Group_2_3__4
             {
             pushFollow(FOLLOW_44);
             rule__Color__Group_2_3__3__Impl();
@@ -32149,23 +32421,23 @@
 
 
     // $ANTLR start "rule__Color__Group_2_3__3__Impl"
-    // InternalReportDSL.g:8925:1: rule__Color__Group_2_3__3__Impl : ( ( rule__Color__TransformsbyAssignment_2_3_3 ) ) ;
+    // InternalReportDSL.g:8986:1: rule__Color__Group_2_3__3__Impl : ( ( rule__Color__TransformsbyAssignment_2_3_3 ) ) ;
     public final void rule__Color__Group_2_3__3__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:8929:1: ( ( ( rule__Color__TransformsbyAssignment_2_3_3 ) ) )
-            // InternalReportDSL.g:8930:1: ( ( rule__Color__TransformsbyAssignment_2_3_3 ) )
+            // InternalReportDSL.g:8990:1: ( ( ( rule__Color__TransformsbyAssignment_2_3_3 ) ) )
+            // InternalReportDSL.g:8991:1: ( ( rule__Color__TransformsbyAssignment_2_3_3 ) )
             {
-            // InternalReportDSL.g:8930:1: ( ( rule__Color__TransformsbyAssignment_2_3_3 ) )
-            // InternalReportDSL.g:8931:2: ( rule__Color__TransformsbyAssignment_2_3_3 )
+            // InternalReportDSL.g:8991:1: ( ( rule__Color__TransformsbyAssignment_2_3_3 ) )
+            // InternalReportDSL.g:8992:2: ( rule__Color__TransformsbyAssignment_2_3_3 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getColorAccess().getTransformsbyAssignment_2_3_3()); 
             }
-            // InternalReportDSL.g:8932:2: ( rule__Color__TransformsbyAssignment_2_3_3 )
-            // InternalReportDSL.g:8932:3: rule__Color__TransformsbyAssignment_2_3_3
+            // InternalReportDSL.g:8993:2: ( rule__Color__TransformsbyAssignment_2_3_3 )
+            // InternalReportDSL.g:8993:3: rule__Color__TransformsbyAssignment_2_3_3
             {
             pushFollow(FOLLOW_2);
             rule__Color__TransformsbyAssignment_2_3_3();
@@ -32200,14 +32472,14 @@
 
 
     // $ANTLR start "rule__Color__Group_2_3__4"
-    // InternalReportDSL.g:8940:1: rule__Color__Group_2_3__4 : rule__Color__Group_2_3__4__Impl rule__Color__Group_2_3__5 ;
+    // InternalReportDSL.g:9001:1: rule__Color__Group_2_3__4 : rule__Color__Group_2_3__4__Impl rule__Color__Group_2_3__5 ;
     public final void rule__Color__Group_2_3__4() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:8944:1: ( rule__Color__Group_2_3__4__Impl rule__Color__Group_2_3__5 )
-            // InternalReportDSL.g:8945:2: rule__Color__Group_2_3__4__Impl rule__Color__Group_2_3__5
+            // InternalReportDSL.g:9005:1: ( rule__Color__Group_2_3__4__Impl rule__Color__Group_2_3__5 )
+            // InternalReportDSL.g:9006:2: rule__Color__Group_2_3__4__Impl rule__Color__Group_2_3__5
             {
             pushFollow(FOLLOW_7);
             rule__Color__Group_2_3__4__Impl();
@@ -32238,22 +32510,22 @@
 
 
     // $ANTLR start "rule__Color__Group_2_3__4__Impl"
-    // InternalReportDSL.g:8952:1: rule__Color__Group_2_3__4__Impl : ( 'towards' ) ;
+    // InternalReportDSL.g:9013:1: rule__Color__Group_2_3__4__Impl : ( 'towards' ) ;
     public final void rule__Color__Group_2_3__4__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:8956:1: ( ( 'towards' ) )
-            // InternalReportDSL.g:8957:1: ( 'towards' )
+            // InternalReportDSL.g:9017:1: ( ( 'towards' ) )
+            // InternalReportDSL.g:9018:1: ( 'towards' )
             {
-            // InternalReportDSL.g:8957:1: ( 'towards' )
-            // InternalReportDSL.g:8958:2: 'towards'
+            // InternalReportDSL.g:9018:1: ( 'towards' )
+            // InternalReportDSL.g:9019:2: 'towards'
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getColorAccess().getTowardsKeyword_2_3_4()); 
             }
-            match(input,148,FOLLOW_2); if (state.failed) return ;
+            match(input,154,FOLLOW_2); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getColorAccess().getTowardsKeyword_2_3_4()); 
             }
@@ -32279,14 +32551,14 @@
 
 
     // $ANTLR start "rule__Color__Group_2_3__5"
-    // InternalReportDSL.g:8967:1: rule__Color__Group_2_3__5 : rule__Color__Group_2_3__5__Impl ;
+    // InternalReportDSL.g:9028:1: rule__Color__Group_2_3__5 : rule__Color__Group_2_3__5__Impl ;
     public final void rule__Color__Group_2_3__5() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:8971:1: ( rule__Color__Group_2_3__5__Impl )
-            // InternalReportDSL.g:8972:2: rule__Color__Group_2_3__5__Impl
+            // InternalReportDSL.g:9032:1: ( rule__Color__Group_2_3__5__Impl )
+            // InternalReportDSL.g:9033:2: rule__Color__Group_2_3__5__Impl
             {
             pushFollow(FOLLOW_2);
             rule__Color__Group_2_3__5__Impl();
@@ -32312,23 +32584,23 @@
 
 
     // $ANTLR start "rule__Color__Group_2_3__5__Impl"
-    // InternalReportDSL.g:8978:1: rule__Color__Group_2_3__5__Impl : ( ( rule__Color__TargetcolorAssignment_2_3_5 ) ) ;
+    // InternalReportDSL.g:9039:1: rule__Color__Group_2_3__5__Impl : ( ( rule__Color__TargetcolorAssignment_2_3_5 ) ) ;
     public final void rule__Color__Group_2_3__5__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:8982:1: ( ( ( rule__Color__TargetcolorAssignment_2_3_5 ) ) )
-            // InternalReportDSL.g:8983:1: ( ( rule__Color__TargetcolorAssignment_2_3_5 ) )
+            // InternalReportDSL.g:9043:1: ( ( ( rule__Color__TargetcolorAssignment_2_3_5 ) ) )
+            // InternalReportDSL.g:9044:1: ( ( rule__Color__TargetcolorAssignment_2_3_5 ) )
             {
-            // InternalReportDSL.g:8983:1: ( ( rule__Color__TargetcolorAssignment_2_3_5 ) )
-            // InternalReportDSL.g:8984:2: ( rule__Color__TargetcolorAssignment_2_3_5 )
+            // InternalReportDSL.g:9044:1: ( ( rule__Color__TargetcolorAssignment_2_3_5 ) )
+            // InternalReportDSL.g:9045:2: ( rule__Color__TargetcolorAssignment_2_3_5 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getColorAccess().getTargetcolorAssignment_2_3_5()); 
             }
-            // InternalReportDSL.g:8985:2: ( rule__Color__TargetcolorAssignment_2_3_5 )
-            // InternalReportDSL.g:8985:3: rule__Color__TargetcolorAssignment_2_3_5
+            // InternalReportDSL.g:9046:2: ( rule__Color__TargetcolorAssignment_2_3_5 )
+            // InternalReportDSL.g:9046:3: rule__Color__TargetcolorAssignment_2_3_5
             {
             pushFollow(FOLLOW_2);
             rule__Color__TargetcolorAssignment_2_3_5();
@@ -32363,14 +32635,14 @@
 
 
     // $ANTLR start "rule__Font__Group__0"
-    // InternalReportDSL.g:8994:1: rule__Font__Group__0 : rule__Font__Group__0__Impl rule__Font__Group__1 ;
+    // InternalReportDSL.g:9055:1: rule__Font__Group__0 : rule__Font__Group__0__Impl rule__Font__Group__1 ;
     public final void rule__Font__Group__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:8998:1: ( rule__Font__Group__0__Impl rule__Font__Group__1 )
-            // InternalReportDSL.g:8999:2: rule__Font__Group__0__Impl rule__Font__Group__1
+            // InternalReportDSL.g:9059:1: ( rule__Font__Group__0__Impl rule__Font__Group__1 )
+            // InternalReportDSL.g:9060:2: rule__Font__Group__0__Impl rule__Font__Group__1
             {
             pushFollow(FOLLOW_7);
             rule__Font__Group__0__Impl();
@@ -32401,22 +32673,22 @@
 
 
     // $ANTLR start "rule__Font__Group__0__Impl"
-    // InternalReportDSL.g:9006:1: rule__Font__Group__0__Impl : ( 'font' ) ;
+    // InternalReportDSL.g:9067:1: rule__Font__Group__0__Impl : ( 'font' ) ;
     public final void rule__Font__Group__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:9010:1: ( ( 'font' ) )
-            // InternalReportDSL.g:9011:1: ( 'font' )
+            // InternalReportDSL.g:9071:1: ( ( 'font' ) )
+            // InternalReportDSL.g:9072:1: ( 'font' )
             {
-            // InternalReportDSL.g:9011:1: ( 'font' )
-            // InternalReportDSL.g:9012:2: 'font'
+            // InternalReportDSL.g:9072:1: ( 'font' )
+            // InternalReportDSL.g:9073:2: 'font'
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getFontAccess().getFontKeyword_0()); 
             }
-            match(input,149,FOLLOW_2); if (state.failed) return ;
+            match(input,155,FOLLOW_2); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getFontAccess().getFontKeyword_0()); 
             }
@@ -32442,14 +32714,14 @@
 
 
     // $ANTLR start "rule__Font__Group__1"
-    // InternalReportDSL.g:9021:1: rule__Font__Group__1 : rule__Font__Group__1__Impl rule__Font__Group__2 ;
+    // InternalReportDSL.g:9082:1: rule__Font__Group__1 : rule__Font__Group__1__Impl rule__Font__Group__2 ;
     public final void rule__Font__Group__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:9025:1: ( rule__Font__Group__1__Impl rule__Font__Group__2 )
-            // InternalReportDSL.g:9026:2: rule__Font__Group__1__Impl rule__Font__Group__2
+            // InternalReportDSL.g:9086:1: ( rule__Font__Group__1__Impl rule__Font__Group__2 )
+            // InternalReportDSL.g:9087:2: rule__Font__Group__1__Impl rule__Font__Group__2
             {
             pushFollow(FOLLOW_45);
             rule__Font__Group__1__Impl();
@@ -32480,23 +32752,23 @@
 
 
     // $ANTLR start "rule__Font__Group__1__Impl"
-    // InternalReportDSL.g:9033:1: rule__Font__Group__1__Impl : ( ( rule__Font__NameAssignment_1 ) ) ;
+    // InternalReportDSL.g:9094:1: rule__Font__Group__1__Impl : ( ( rule__Font__NameAssignment_1 ) ) ;
     public final void rule__Font__Group__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:9037:1: ( ( ( rule__Font__NameAssignment_1 ) ) )
-            // InternalReportDSL.g:9038:1: ( ( rule__Font__NameAssignment_1 ) )
+            // InternalReportDSL.g:9098:1: ( ( ( rule__Font__NameAssignment_1 ) ) )
+            // InternalReportDSL.g:9099:1: ( ( rule__Font__NameAssignment_1 ) )
             {
-            // InternalReportDSL.g:9038:1: ( ( rule__Font__NameAssignment_1 ) )
-            // InternalReportDSL.g:9039:2: ( rule__Font__NameAssignment_1 )
+            // InternalReportDSL.g:9099:1: ( ( rule__Font__NameAssignment_1 ) )
+            // InternalReportDSL.g:9100:2: ( rule__Font__NameAssignment_1 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getFontAccess().getNameAssignment_1()); 
             }
-            // InternalReportDSL.g:9040:2: ( rule__Font__NameAssignment_1 )
-            // InternalReportDSL.g:9040:3: rule__Font__NameAssignment_1
+            // InternalReportDSL.g:9101:2: ( rule__Font__NameAssignment_1 )
+            // InternalReportDSL.g:9101:3: rule__Font__NameAssignment_1
             {
             pushFollow(FOLLOW_2);
             rule__Font__NameAssignment_1();
@@ -32531,14 +32803,14 @@
 
 
     // $ANTLR start "rule__Font__Group__2"
-    // InternalReportDSL.g:9048:1: rule__Font__Group__2 : rule__Font__Group__2__Impl rule__Font__Group__3 ;
+    // InternalReportDSL.g:9109:1: rule__Font__Group__2 : rule__Font__Group__2__Impl rule__Font__Group__3 ;
     public final void rule__Font__Group__2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:9052:1: ( rule__Font__Group__2__Impl rule__Font__Group__3 )
-            // InternalReportDSL.g:9053:2: rule__Font__Group__2__Impl rule__Font__Group__3
+            // InternalReportDSL.g:9113:1: ( rule__Font__Group__2__Impl rule__Font__Group__3 )
+            // InternalReportDSL.g:9114:2: rule__Font__Group__2__Impl rule__Font__Group__3
             {
             pushFollow(FOLLOW_45);
             rule__Font__Group__2__Impl();
@@ -32569,31 +32841,31 @@
 
 
     // $ANTLR start "rule__Font__Group__2__Impl"
-    // InternalReportDSL.g:9060:1: rule__Font__Group__2__Impl : ( ( rule__Font__Group_2__0 )? ) ;
+    // InternalReportDSL.g:9121:1: rule__Font__Group__2__Impl : ( ( rule__Font__Group_2__0 )? ) ;
     public final void rule__Font__Group__2__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:9064:1: ( ( ( rule__Font__Group_2__0 )? ) )
-            // InternalReportDSL.g:9065:1: ( ( rule__Font__Group_2__0 )? )
+            // InternalReportDSL.g:9125:1: ( ( ( rule__Font__Group_2__0 )? ) )
+            // InternalReportDSL.g:9126:1: ( ( rule__Font__Group_2__0 )? )
             {
-            // InternalReportDSL.g:9065:1: ( ( rule__Font__Group_2__0 )? )
-            // InternalReportDSL.g:9066:2: ( rule__Font__Group_2__0 )?
+            // InternalReportDSL.g:9126:1: ( ( rule__Font__Group_2__0 )? )
+            // InternalReportDSL.g:9127:2: ( rule__Font__Group_2__0 )?
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getFontAccess().getGroup_2()); 
             }
-            // InternalReportDSL.g:9067:2: ( rule__Font__Group_2__0 )?
-            int alt91=2;
-            int LA91_0 = input.LA(1);
+            // InternalReportDSL.g:9128:2: ( rule__Font__Group_2__0 )?
+            int alt92=2;
+            int LA92_0 = input.LA(1);
 
-            if ( (LA91_0==49) ) {
-                alt91=1;
+            if ( (LA92_0==49) ) {
+                alt92=1;
             }
-            switch (alt91) {
+            switch (alt92) {
                 case 1 :
-                    // InternalReportDSL.g:9067:3: rule__Font__Group_2__0
+                    // InternalReportDSL.g:9128:3: rule__Font__Group_2__0
                     {
                     pushFollow(FOLLOW_2);
                     rule__Font__Group_2__0();
@@ -32631,14 +32903,14 @@
 
 
     // $ANTLR start "rule__Font__Group__3"
-    // InternalReportDSL.g:9075:1: rule__Font__Group__3 : rule__Font__Group__3__Impl rule__Font__Group__4 ;
+    // InternalReportDSL.g:9136:1: rule__Font__Group__3 : rule__Font__Group__3__Impl rule__Font__Group__4 ;
     public final void rule__Font__Group__3() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:9079:1: ( rule__Font__Group__3__Impl rule__Font__Group__4 )
-            // InternalReportDSL.g:9080:2: rule__Font__Group__3__Impl rule__Font__Group__4
+            // InternalReportDSL.g:9140:1: ( rule__Font__Group__3__Impl rule__Font__Group__4 )
+            // InternalReportDSL.g:9141:2: rule__Font__Group__3__Impl rule__Font__Group__4
             {
             pushFollow(FOLLOW_46);
             rule__Font__Group__3__Impl();
@@ -32669,22 +32941,22 @@
 
 
     // $ANTLR start "rule__Font__Group__3__Impl"
-    // InternalReportDSL.g:9087:1: rule__Font__Group__3__Impl : ( '{' ) ;
+    // InternalReportDSL.g:9148:1: rule__Font__Group__3__Impl : ( '{' ) ;
     public final void rule__Font__Group__3__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:9091:1: ( ( '{' ) )
-            // InternalReportDSL.g:9092:1: ( '{' )
+            // InternalReportDSL.g:9152:1: ( ( '{' ) )
+            // InternalReportDSL.g:9153:1: ( '{' )
             {
-            // InternalReportDSL.g:9092:1: ( '{' )
-            // InternalReportDSL.g:9093:2: '{'
+            // InternalReportDSL.g:9153:1: ( '{' )
+            // InternalReportDSL.g:9154:2: '{'
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getFontAccess().getLeftCurlyBracketKeyword_3()); 
             }
-            match(input,125,FOLLOW_2); if (state.failed) return ;
+            match(input,131,FOLLOW_2); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getFontAccess().getLeftCurlyBracketKeyword_3()); 
             }
@@ -32710,14 +32982,14 @@
 
 
     // $ANTLR start "rule__Font__Group__4"
-    // InternalReportDSL.g:9102:1: rule__Font__Group__4 : rule__Font__Group__4__Impl rule__Font__Group__5 ;
+    // InternalReportDSL.g:9163:1: rule__Font__Group__4 : rule__Font__Group__4__Impl rule__Font__Group__5 ;
     public final void rule__Font__Group__4() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:9106:1: ( rule__Font__Group__4__Impl rule__Font__Group__5 )
-            // InternalReportDSL.g:9107:2: rule__Font__Group__4__Impl rule__Font__Group__5
+            // InternalReportDSL.g:9167:1: ( rule__Font__Group__4__Impl rule__Font__Group__5 )
+            // InternalReportDSL.g:9168:2: rule__Font__Group__4__Impl rule__Font__Group__5
             {
             pushFollow(FOLLOW_17);
             rule__Font__Group__4__Impl();
@@ -32748,23 +33020,23 @@
 
 
     // $ANTLR start "rule__Font__Group__4__Impl"
-    // InternalReportDSL.g:9114:1: rule__Font__Group__4__Impl : ( ( rule__Font__UnorderedGroup_4 ) ) ;
+    // InternalReportDSL.g:9175:1: rule__Font__Group__4__Impl : ( ( rule__Font__UnorderedGroup_4 ) ) ;
     public final void rule__Font__Group__4__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:9118:1: ( ( ( rule__Font__UnorderedGroup_4 ) ) )
-            // InternalReportDSL.g:9119:1: ( ( rule__Font__UnorderedGroup_4 ) )
+            // InternalReportDSL.g:9179:1: ( ( ( rule__Font__UnorderedGroup_4 ) ) )
+            // InternalReportDSL.g:9180:1: ( ( rule__Font__UnorderedGroup_4 ) )
             {
-            // InternalReportDSL.g:9119:1: ( ( rule__Font__UnorderedGroup_4 ) )
-            // InternalReportDSL.g:9120:2: ( rule__Font__UnorderedGroup_4 )
+            // InternalReportDSL.g:9180:1: ( ( rule__Font__UnorderedGroup_4 ) )
+            // InternalReportDSL.g:9181:2: ( rule__Font__UnorderedGroup_4 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getFontAccess().getUnorderedGroup_4()); 
             }
-            // InternalReportDSL.g:9121:2: ( rule__Font__UnorderedGroup_4 )
-            // InternalReportDSL.g:9121:3: rule__Font__UnorderedGroup_4
+            // InternalReportDSL.g:9182:2: ( rule__Font__UnorderedGroup_4 )
+            // InternalReportDSL.g:9182:3: rule__Font__UnorderedGroup_4
             {
             pushFollow(FOLLOW_2);
             rule__Font__UnorderedGroup_4();
@@ -32799,14 +33071,14 @@
 
 
     // $ANTLR start "rule__Font__Group__5"
-    // InternalReportDSL.g:9129:1: rule__Font__Group__5 : rule__Font__Group__5__Impl ;
+    // InternalReportDSL.g:9190:1: rule__Font__Group__5 : rule__Font__Group__5__Impl ;
     public final void rule__Font__Group__5() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:9133:1: ( rule__Font__Group__5__Impl )
-            // InternalReportDSL.g:9134:2: rule__Font__Group__5__Impl
+            // InternalReportDSL.g:9194:1: ( rule__Font__Group__5__Impl )
+            // InternalReportDSL.g:9195:2: rule__Font__Group__5__Impl
             {
             pushFollow(FOLLOW_2);
             rule__Font__Group__5__Impl();
@@ -32832,22 +33104,22 @@
 
 
     // $ANTLR start "rule__Font__Group__5__Impl"
-    // InternalReportDSL.g:9140:1: rule__Font__Group__5__Impl : ( '}' ) ;
+    // InternalReportDSL.g:9201:1: rule__Font__Group__5__Impl : ( '}' ) ;
     public final void rule__Font__Group__5__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:9144:1: ( ( '}' ) )
-            // InternalReportDSL.g:9145:1: ( '}' )
+            // InternalReportDSL.g:9205:1: ( ( '}' ) )
+            // InternalReportDSL.g:9206:1: ( '}' )
             {
-            // InternalReportDSL.g:9145:1: ( '}' )
-            // InternalReportDSL.g:9146:2: '}'
+            // InternalReportDSL.g:9206:1: ( '}' )
+            // InternalReportDSL.g:9207:2: '}'
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getFontAccess().getRightCurlyBracketKeyword_5()); 
             }
-            match(input,126,FOLLOW_2); if (state.failed) return ;
+            match(input,132,FOLLOW_2); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getFontAccess().getRightCurlyBracketKeyword_5()); 
             }
@@ -32873,14 +33145,14 @@
 
 
     // $ANTLR start "rule__Font__Group_2__0"
-    // InternalReportDSL.g:9156:1: rule__Font__Group_2__0 : rule__Font__Group_2__0__Impl rule__Font__Group_2__1 ;
+    // InternalReportDSL.g:9217:1: rule__Font__Group_2__0 : rule__Font__Group_2__0__Impl rule__Font__Group_2__1 ;
     public final void rule__Font__Group_2__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:9160:1: ( rule__Font__Group_2__0__Impl rule__Font__Group_2__1 )
-            // InternalReportDSL.g:9161:2: rule__Font__Group_2__0__Impl rule__Font__Group_2__1
+            // InternalReportDSL.g:9221:1: ( rule__Font__Group_2__0__Impl rule__Font__Group_2__1 )
+            // InternalReportDSL.g:9222:2: rule__Font__Group_2__0__Impl rule__Font__Group_2__1
             {
             pushFollow(FOLLOW_7);
             rule__Font__Group_2__0__Impl();
@@ -32911,17 +33183,17 @@
 
 
     // $ANTLR start "rule__Font__Group_2__0__Impl"
-    // InternalReportDSL.g:9168:1: rule__Font__Group_2__0__Impl : ( 'extends' ) ;
+    // InternalReportDSL.g:9229:1: rule__Font__Group_2__0__Impl : ( 'extends' ) ;
     public final void rule__Font__Group_2__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:9172:1: ( ( 'extends' ) )
-            // InternalReportDSL.g:9173:1: ( 'extends' )
+            // InternalReportDSL.g:9233:1: ( ( 'extends' ) )
+            // InternalReportDSL.g:9234:1: ( 'extends' )
             {
-            // InternalReportDSL.g:9173:1: ( 'extends' )
-            // InternalReportDSL.g:9174:2: 'extends'
+            // InternalReportDSL.g:9234:1: ( 'extends' )
+            // InternalReportDSL.g:9235:2: 'extends'
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getFontAccess().getExtendsKeyword_2_0()); 
@@ -32952,14 +33224,14 @@
 
 
     // $ANTLR start "rule__Font__Group_2__1"
-    // InternalReportDSL.g:9183:1: rule__Font__Group_2__1 : rule__Font__Group_2__1__Impl ;
+    // InternalReportDSL.g:9244:1: rule__Font__Group_2__1 : rule__Font__Group_2__1__Impl ;
     public final void rule__Font__Group_2__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:9187:1: ( rule__Font__Group_2__1__Impl )
-            // InternalReportDSL.g:9188:2: rule__Font__Group_2__1__Impl
+            // InternalReportDSL.g:9248:1: ( rule__Font__Group_2__1__Impl )
+            // InternalReportDSL.g:9249:2: rule__Font__Group_2__1__Impl
             {
             pushFollow(FOLLOW_2);
             rule__Font__Group_2__1__Impl();
@@ -32985,23 +33257,23 @@
 
 
     // $ANTLR start "rule__Font__Group_2__1__Impl"
-    // InternalReportDSL.g:9194:1: rule__Font__Group_2__1__Impl : ( ( rule__Font__ExtendsAssignment_2_1 ) ) ;
+    // InternalReportDSL.g:9255:1: rule__Font__Group_2__1__Impl : ( ( rule__Font__ExtendsAssignment_2_1 ) ) ;
     public final void rule__Font__Group_2__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:9198:1: ( ( ( rule__Font__ExtendsAssignment_2_1 ) ) )
-            // InternalReportDSL.g:9199:1: ( ( rule__Font__ExtendsAssignment_2_1 ) )
+            // InternalReportDSL.g:9259:1: ( ( ( rule__Font__ExtendsAssignment_2_1 ) ) )
+            // InternalReportDSL.g:9260:1: ( ( rule__Font__ExtendsAssignment_2_1 ) )
             {
-            // InternalReportDSL.g:9199:1: ( ( rule__Font__ExtendsAssignment_2_1 ) )
-            // InternalReportDSL.g:9200:2: ( rule__Font__ExtendsAssignment_2_1 )
+            // InternalReportDSL.g:9260:1: ( ( rule__Font__ExtendsAssignment_2_1 ) )
+            // InternalReportDSL.g:9261:2: ( rule__Font__ExtendsAssignment_2_1 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getFontAccess().getExtendsAssignment_2_1()); 
             }
-            // InternalReportDSL.g:9201:2: ( rule__Font__ExtendsAssignment_2_1 )
-            // InternalReportDSL.g:9201:3: rule__Font__ExtendsAssignment_2_1
+            // InternalReportDSL.g:9262:2: ( rule__Font__ExtendsAssignment_2_1 )
+            // InternalReportDSL.g:9262:3: rule__Font__ExtendsAssignment_2_1
             {
             pushFollow(FOLLOW_2);
             rule__Font__ExtendsAssignment_2_1();
@@ -33036,14 +33308,14 @@
 
 
     // $ANTLR start "rule__Font__Group_4_0__0"
-    // InternalReportDSL.g:9210:1: rule__Font__Group_4_0__0 : rule__Font__Group_4_0__0__Impl rule__Font__Group_4_0__1 ;
+    // InternalReportDSL.g:9271:1: rule__Font__Group_4_0__0 : rule__Font__Group_4_0__0__Impl rule__Font__Group_4_0__1 ;
     public final void rule__Font__Group_4_0__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:9214:1: ( rule__Font__Group_4_0__0__Impl rule__Font__Group_4_0__1 )
-            // InternalReportDSL.g:9215:2: rule__Font__Group_4_0__0__Impl rule__Font__Group_4_0__1
+            // InternalReportDSL.g:9275:1: ( rule__Font__Group_4_0__0__Impl rule__Font__Group_4_0__1 )
+            // InternalReportDSL.g:9276:2: rule__Font__Group_4_0__0__Impl rule__Font__Group_4_0__1
             {
             pushFollow(FOLLOW_47);
             rule__Font__Group_4_0__0__Impl();
@@ -33074,22 +33346,22 @@
 
 
     // $ANTLR start "rule__Font__Group_4_0__0__Impl"
-    // InternalReportDSL.g:9222:1: rule__Font__Group_4_0__0__Impl : ( 'family' ) ;
+    // InternalReportDSL.g:9283:1: rule__Font__Group_4_0__0__Impl : ( 'family' ) ;
     public final void rule__Font__Group_4_0__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:9226:1: ( ( 'family' ) )
-            // InternalReportDSL.g:9227:1: ( 'family' )
+            // InternalReportDSL.g:9287:1: ( ( 'family' ) )
+            // InternalReportDSL.g:9288:1: ( 'family' )
             {
-            // InternalReportDSL.g:9227:1: ( 'family' )
-            // InternalReportDSL.g:9228:2: 'family'
+            // InternalReportDSL.g:9288:1: ( 'family' )
+            // InternalReportDSL.g:9289:2: 'family'
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getFontAccess().getFamilyKeyword_4_0_0()); 
             }
-            match(input,150,FOLLOW_2); if (state.failed) return ;
+            match(input,156,FOLLOW_2); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getFontAccess().getFamilyKeyword_4_0_0()); 
             }
@@ -33115,14 +33387,14 @@
 
 
     // $ANTLR start "rule__Font__Group_4_0__1"
-    // InternalReportDSL.g:9237:1: rule__Font__Group_4_0__1 : rule__Font__Group_4_0__1__Impl ;
+    // InternalReportDSL.g:9298:1: rule__Font__Group_4_0__1 : rule__Font__Group_4_0__1__Impl ;
     public final void rule__Font__Group_4_0__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:9241:1: ( rule__Font__Group_4_0__1__Impl )
-            // InternalReportDSL.g:9242:2: rule__Font__Group_4_0__1__Impl
+            // InternalReportDSL.g:9302:1: ( rule__Font__Group_4_0__1__Impl )
+            // InternalReportDSL.g:9303:2: rule__Font__Group_4_0__1__Impl
             {
             pushFollow(FOLLOW_2);
             rule__Font__Group_4_0__1__Impl();
@@ -33148,23 +33420,23 @@
 
 
     // $ANTLR start "rule__Font__Group_4_0__1__Impl"
-    // InternalReportDSL.g:9248:1: rule__Font__Group_4_0__1__Impl : ( ( rule__Font__FamilyAssignment_4_0_1 ) ) ;
+    // InternalReportDSL.g:9309:1: rule__Font__Group_4_0__1__Impl : ( ( rule__Font__FamilyAssignment_4_0_1 ) ) ;
     public final void rule__Font__Group_4_0__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:9252:1: ( ( ( rule__Font__FamilyAssignment_4_0_1 ) ) )
-            // InternalReportDSL.g:9253:1: ( ( rule__Font__FamilyAssignment_4_0_1 ) )
+            // InternalReportDSL.g:9313:1: ( ( ( rule__Font__FamilyAssignment_4_0_1 ) ) )
+            // InternalReportDSL.g:9314:1: ( ( rule__Font__FamilyAssignment_4_0_1 ) )
             {
-            // InternalReportDSL.g:9253:1: ( ( rule__Font__FamilyAssignment_4_0_1 ) )
-            // InternalReportDSL.g:9254:2: ( rule__Font__FamilyAssignment_4_0_1 )
+            // InternalReportDSL.g:9314:1: ( ( rule__Font__FamilyAssignment_4_0_1 ) )
+            // InternalReportDSL.g:9315:2: ( rule__Font__FamilyAssignment_4_0_1 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getFontAccess().getFamilyAssignment_4_0_1()); 
             }
-            // InternalReportDSL.g:9255:2: ( rule__Font__FamilyAssignment_4_0_1 )
-            // InternalReportDSL.g:9255:3: rule__Font__FamilyAssignment_4_0_1
+            // InternalReportDSL.g:9316:2: ( rule__Font__FamilyAssignment_4_0_1 )
+            // InternalReportDSL.g:9316:3: rule__Font__FamilyAssignment_4_0_1
             {
             pushFollow(FOLLOW_2);
             rule__Font__FamilyAssignment_4_0_1();
@@ -33199,14 +33471,14 @@
 
 
     // $ANTLR start "rule__Font__Group_4_3__0"
-    // InternalReportDSL.g:9264:1: rule__Font__Group_4_3__0 : rule__Font__Group_4_3__0__Impl rule__Font__Group_4_3__1 ;
+    // InternalReportDSL.g:9325:1: rule__Font__Group_4_3__0 : rule__Font__Group_4_3__0__Impl rule__Font__Group_4_3__1 ;
     public final void rule__Font__Group_4_3__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:9268:1: ( rule__Font__Group_4_3__0__Impl rule__Font__Group_4_3__1 )
-            // InternalReportDSL.g:9269:2: rule__Font__Group_4_3__0__Impl rule__Font__Group_4_3__1
+            // InternalReportDSL.g:9329:1: ( rule__Font__Group_4_3__0__Impl rule__Font__Group_4_3__1 )
+            // InternalReportDSL.g:9330:2: rule__Font__Group_4_3__0__Impl rule__Font__Group_4_3__1
             {
             pushFollow(FOLLOW_36);
             rule__Font__Group_4_3__0__Impl();
@@ -33237,22 +33509,22 @@
 
 
     // $ANTLR start "rule__Font__Group_4_3__0__Impl"
-    // InternalReportDSL.g:9276:1: rule__Font__Group_4_3__0__Impl : ( 'size' ) ;
+    // InternalReportDSL.g:9337:1: rule__Font__Group_4_3__0__Impl : ( 'size' ) ;
     public final void rule__Font__Group_4_3__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:9280:1: ( ( 'size' ) )
-            // InternalReportDSL.g:9281:1: ( 'size' )
+            // InternalReportDSL.g:9341:1: ( ( 'size' ) )
+            // InternalReportDSL.g:9342:1: ( 'size' )
             {
-            // InternalReportDSL.g:9281:1: ( 'size' )
-            // InternalReportDSL.g:9282:2: 'size'
+            // InternalReportDSL.g:9342:1: ( 'size' )
+            // InternalReportDSL.g:9343:2: 'size'
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getFontAccess().getSizeKeyword_4_3_0()); 
             }
-            match(input,151,FOLLOW_2); if (state.failed) return ;
+            match(input,157,FOLLOW_2); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getFontAccess().getSizeKeyword_4_3_0()); 
             }
@@ -33278,14 +33550,14 @@
 
 
     // $ANTLR start "rule__Font__Group_4_3__1"
-    // InternalReportDSL.g:9291:1: rule__Font__Group_4_3__1 : rule__Font__Group_4_3__1__Impl rule__Font__Group_4_3__2 ;
+    // InternalReportDSL.g:9352:1: rule__Font__Group_4_3__1 : rule__Font__Group_4_3__1__Impl rule__Font__Group_4_3__2 ;
     public final void rule__Font__Group_4_3__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:9295:1: ( rule__Font__Group_4_3__1__Impl rule__Font__Group_4_3__2 )
-            // InternalReportDSL.g:9296:2: rule__Font__Group_4_3__1__Impl rule__Font__Group_4_3__2
+            // InternalReportDSL.g:9356:1: ( rule__Font__Group_4_3__1__Impl rule__Font__Group_4_3__2 )
+            // InternalReportDSL.g:9357:2: rule__Font__Group_4_3__1__Impl rule__Font__Group_4_3__2
             {
             pushFollow(FOLLOW_48);
             rule__Font__Group_4_3__1__Impl();
@@ -33316,23 +33588,23 @@
 
 
     // $ANTLR start "rule__Font__Group_4_3__1__Impl"
-    // InternalReportDSL.g:9303:1: rule__Font__Group_4_3__1__Impl : ( ( rule__Font__SizevalueAssignment_4_3_1 ) ) ;
+    // InternalReportDSL.g:9364:1: rule__Font__Group_4_3__1__Impl : ( ( rule__Font__SizevalueAssignment_4_3_1 ) ) ;
     public final void rule__Font__Group_4_3__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:9307:1: ( ( ( rule__Font__SizevalueAssignment_4_3_1 ) ) )
-            // InternalReportDSL.g:9308:1: ( ( rule__Font__SizevalueAssignment_4_3_1 ) )
+            // InternalReportDSL.g:9368:1: ( ( ( rule__Font__SizevalueAssignment_4_3_1 ) ) )
+            // InternalReportDSL.g:9369:1: ( ( rule__Font__SizevalueAssignment_4_3_1 ) )
             {
-            // InternalReportDSL.g:9308:1: ( ( rule__Font__SizevalueAssignment_4_3_1 ) )
-            // InternalReportDSL.g:9309:2: ( rule__Font__SizevalueAssignment_4_3_1 )
+            // InternalReportDSL.g:9369:1: ( ( rule__Font__SizevalueAssignment_4_3_1 ) )
+            // InternalReportDSL.g:9370:2: ( rule__Font__SizevalueAssignment_4_3_1 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getFontAccess().getSizevalueAssignment_4_3_1()); 
             }
-            // InternalReportDSL.g:9310:2: ( rule__Font__SizevalueAssignment_4_3_1 )
-            // InternalReportDSL.g:9310:3: rule__Font__SizevalueAssignment_4_3_1
+            // InternalReportDSL.g:9371:2: ( rule__Font__SizevalueAssignment_4_3_1 )
+            // InternalReportDSL.g:9371:3: rule__Font__SizevalueAssignment_4_3_1
             {
             pushFollow(FOLLOW_2);
             rule__Font__SizevalueAssignment_4_3_1();
@@ -33367,14 +33639,14 @@
 
 
     // $ANTLR start "rule__Font__Group_4_3__2"
-    // InternalReportDSL.g:9318:1: rule__Font__Group_4_3__2 : rule__Font__Group_4_3__2__Impl ;
+    // InternalReportDSL.g:9379:1: rule__Font__Group_4_3__2 : rule__Font__Group_4_3__2__Impl ;
     public final void rule__Font__Group_4_3__2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:9322:1: ( rule__Font__Group_4_3__2__Impl )
-            // InternalReportDSL.g:9323:2: rule__Font__Group_4_3__2__Impl
+            // InternalReportDSL.g:9383:1: ( rule__Font__Group_4_3__2__Impl )
+            // InternalReportDSL.g:9384:2: rule__Font__Group_4_3__2__Impl
             {
             pushFollow(FOLLOW_2);
             rule__Font__Group_4_3__2__Impl();
@@ -33400,23 +33672,23 @@
 
 
     // $ANTLR start "rule__Font__Group_4_3__2__Impl"
-    // InternalReportDSL.g:9329:1: rule__Font__Group_4_3__2__Impl : ( ( rule__Font__SizeunitAssignment_4_3_2 ) ) ;
+    // InternalReportDSL.g:9390:1: rule__Font__Group_4_3__2__Impl : ( ( rule__Font__SizeunitAssignment_4_3_2 ) ) ;
     public final void rule__Font__Group_4_3__2__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:9333:1: ( ( ( rule__Font__SizeunitAssignment_4_3_2 ) ) )
-            // InternalReportDSL.g:9334:1: ( ( rule__Font__SizeunitAssignment_4_3_2 ) )
+            // InternalReportDSL.g:9394:1: ( ( ( rule__Font__SizeunitAssignment_4_3_2 ) ) )
+            // InternalReportDSL.g:9395:1: ( ( rule__Font__SizeunitAssignment_4_3_2 ) )
             {
-            // InternalReportDSL.g:9334:1: ( ( rule__Font__SizeunitAssignment_4_3_2 ) )
-            // InternalReportDSL.g:9335:2: ( rule__Font__SizeunitAssignment_4_3_2 )
+            // InternalReportDSL.g:9395:1: ( ( rule__Font__SizeunitAssignment_4_3_2 ) )
+            // InternalReportDSL.g:9396:2: ( rule__Font__SizeunitAssignment_4_3_2 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getFontAccess().getSizeunitAssignment_4_3_2()); 
             }
-            // InternalReportDSL.g:9336:2: ( rule__Font__SizeunitAssignment_4_3_2 )
-            // InternalReportDSL.g:9336:3: rule__Font__SizeunitAssignment_4_3_2
+            // InternalReportDSL.g:9397:2: ( rule__Font__SizeunitAssignment_4_3_2 )
+            // InternalReportDSL.g:9397:3: rule__Font__SizeunitAssignment_4_3_2
             {
             pushFollow(FOLLOW_2);
             rule__Font__SizeunitAssignment_4_3_2();
@@ -33451,14 +33723,14 @@
 
 
     // $ANTLR start "rule__BorderStyle__Group__0"
-    // InternalReportDSL.g:9345:1: rule__BorderStyle__Group__0 : rule__BorderStyle__Group__0__Impl rule__BorderStyle__Group__1 ;
+    // InternalReportDSL.g:9406:1: rule__BorderStyle__Group__0 : rule__BorderStyle__Group__0__Impl rule__BorderStyle__Group__1 ;
     public final void rule__BorderStyle__Group__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:9349:1: ( rule__BorderStyle__Group__0__Impl rule__BorderStyle__Group__1 )
-            // InternalReportDSL.g:9350:2: rule__BorderStyle__Group__0__Impl rule__BorderStyle__Group__1
+            // InternalReportDSL.g:9410:1: ( rule__BorderStyle__Group__0__Impl rule__BorderStyle__Group__1 )
+            // InternalReportDSL.g:9411:2: rule__BorderStyle__Group__0__Impl rule__BorderStyle__Group__1
             {
             pushFollow(FOLLOW_36);
             rule__BorderStyle__Group__0__Impl();
@@ -33489,23 +33761,23 @@
 
 
     // $ANTLR start "rule__BorderStyle__Group__0__Impl"
-    // InternalReportDSL.g:9357:1: rule__BorderStyle__Group__0__Impl : ( ( rule__BorderStyle__TypeAssignment_0 ) ) ;
+    // InternalReportDSL.g:9418:1: rule__BorderStyle__Group__0__Impl : ( ( rule__BorderStyle__TypeAssignment_0 ) ) ;
     public final void rule__BorderStyle__Group__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:9361:1: ( ( ( rule__BorderStyle__TypeAssignment_0 ) ) )
-            // InternalReportDSL.g:9362:1: ( ( rule__BorderStyle__TypeAssignment_0 ) )
+            // InternalReportDSL.g:9422:1: ( ( ( rule__BorderStyle__TypeAssignment_0 ) ) )
+            // InternalReportDSL.g:9423:1: ( ( rule__BorderStyle__TypeAssignment_0 ) )
             {
-            // InternalReportDSL.g:9362:1: ( ( rule__BorderStyle__TypeAssignment_0 ) )
-            // InternalReportDSL.g:9363:2: ( rule__BorderStyle__TypeAssignment_0 )
+            // InternalReportDSL.g:9423:1: ( ( rule__BorderStyle__TypeAssignment_0 ) )
+            // InternalReportDSL.g:9424:2: ( rule__BorderStyle__TypeAssignment_0 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getBorderStyleAccess().getTypeAssignment_0()); 
             }
-            // InternalReportDSL.g:9364:2: ( rule__BorderStyle__TypeAssignment_0 )
-            // InternalReportDSL.g:9364:3: rule__BorderStyle__TypeAssignment_0
+            // InternalReportDSL.g:9425:2: ( rule__BorderStyle__TypeAssignment_0 )
+            // InternalReportDSL.g:9425:3: rule__BorderStyle__TypeAssignment_0
             {
             pushFollow(FOLLOW_2);
             rule__BorderStyle__TypeAssignment_0();
@@ -33540,14 +33812,14 @@
 
 
     // $ANTLR start "rule__BorderStyle__Group__1"
-    // InternalReportDSL.g:9372:1: rule__BorderStyle__Group__1 : rule__BorderStyle__Group__1__Impl rule__BorderStyle__Group__2 ;
+    // InternalReportDSL.g:9433:1: rule__BorderStyle__Group__1 : rule__BorderStyle__Group__1__Impl rule__BorderStyle__Group__2 ;
     public final void rule__BorderStyle__Group__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:9376:1: ( rule__BorderStyle__Group__1__Impl rule__BorderStyle__Group__2 )
-            // InternalReportDSL.g:9377:2: rule__BorderStyle__Group__1__Impl rule__BorderStyle__Group__2
+            // InternalReportDSL.g:9437:1: ( rule__BorderStyle__Group__1__Impl rule__BorderStyle__Group__2 )
+            // InternalReportDSL.g:9438:2: rule__BorderStyle__Group__1__Impl rule__BorderStyle__Group__2
             {
             pushFollow(FOLLOW_7);
             rule__BorderStyle__Group__1__Impl();
@@ -33578,23 +33850,23 @@
 
 
     // $ANTLR start "rule__BorderStyle__Group__1__Impl"
-    // InternalReportDSL.g:9384:1: rule__BorderStyle__Group__1__Impl : ( ( rule__BorderStyle__WidthValueAssignment_1 ) ) ;
+    // InternalReportDSL.g:9445:1: rule__BorderStyle__Group__1__Impl : ( ( rule__BorderStyle__WidthValueAssignment_1 ) ) ;
     public final void rule__BorderStyle__Group__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:9388:1: ( ( ( rule__BorderStyle__WidthValueAssignment_1 ) ) )
-            // InternalReportDSL.g:9389:1: ( ( rule__BorderStyle__WidthValueAssignment_1 ) )
+            // InternalReportDSL.g:9449:1: ( ( ( rule__BorderStyle__WidthValueAssignment_1 ) ) )
+            // InternalReportDSL.g:9450:1: ( ( rule__BorderStyle__WidthValueAssignment_1 ) )
             {
-            // InternalReportDSL.g:9389:1: ( ( rule__BorderStyle__WidthValueAssignment_1 ) )
-            // InternalReportDSL.g:9390:2: ( rule__BorderStyle__WidthValueAssignment_1 )
+            // InternalReportDSL.g:9450:1: ( ( rule__BorderStyle__WidthValueAssignment_1 ) )
+            // InternalReportDSL.g:9451:2: ( rule__BorderStyle__WidthValueAssignment_1 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getBorderStyleAccess().getWidthValueAssignment_1()); 
             }
-            // InternalReportDSL.g:9391:2: ( rule__BorderStyle__WidthValueAssignment_1 )
-            // InternalReportDSL.g:9391:3: rule__BorderStyle__WidthValueAssignment_1
+            // InternalReportDSL.g:9452:2: ( rule__BorderStyle__WidthValueAssignment_1 )
+            // InternalReportDSL.g:9452:3: rule__BorderStyle__WidthValueAssignment_1
             {
             pushFollow(FOLLOW_2);
             rule__BorderStyle__WidthValueAssignment_1();
@@ -33629,14 +33901,14 @@
 
 
     // $ANTLR start "rule__BorderStyle__Group__2"
-    // InternalReportDSL.g:9399:1: rule__BorderStyle__Group__2 : rule__BorderStyle__Group__2__Impl ;
+    // InternalReportDSL.g:9460:1: rule__BorderStyle__Group__2 : rule__BorderStyle__Group__2__Impl ;
     public final void rule__BorderStyle__Group__2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:9403:1: ( rule__BorderStyle__Group__2__Impl )
-            // InternalReportDSL.g:9404:2: rule__BorderStyle__Group__2__Impl
+            // InternalReportDSL.g:9464:1: ( rule__BorderStyle__Group__2__Impl )
+            // InternalReportDSL.g:9465:2: rule__BorderStyle__Group__2__Impl
             {
             pushFollow(FOLLOW_2);
             rule__BorderStyle__Group__2__Impl();
@@ -33662,29 +33934,40 @@
 
 
     // $ANTLR start "rule__BorderStyle__Group__2__Impl"
-    // InternalReportDSL.g:9410:1: rule__BorderStyle__Group__2__Impl : ( ( rule__BorderStyle__ColorAssignment_2 ) ) ;
+    // InternalReportDSL.g:9471:1: rule__BorderStyle__Group__2__Impl : ( ( rule__BorderStyle__ColorAssignment_2 )? ) ;
     public final void rule__BorderStyle__Group__2__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:9414:1: ( ( ( rule__BorderStyle__ColorAssignment_2 ) ) )
-            // InternalReportDSL.g:9415:1: ( ( rule__BorderStyle__ColorAssignment_2 ) )
+            // InternalReportDSL.g:9475:1: ( ( ( rule__BorderStyle__ColorAssignment_2 )? ) )
+            // InternalReportDSL.g:9476:1: ( ( rule__BorderStyle__ColorAssignment_2 )? )
             {
-            // InternalReportDSL.g:9415:1: ( ( rule__BorderStyle__ColorAssignment_2 ) )
-            // InternalReportDSL.g:9416:2: ( rule__BorderStyle__ColorAssignment_2 )
+            // InternalReportDSL.g:9476:1: ( ( rule__BorderStyle__ColorAssignment_2 )? )
+            // InternalReportDSL.g:9477:2: ( rule__BorderStyle__ColorAssignment_2 )?
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getBorderStyleAccess().getColorAssignment_2()); 
             }
-            // InternalReportDSL.g:9417:2: ( rule__BorderStyle__ColorAssignment_2 )
-            // InternalReportDSL.g:9417:3: rule__BorderStyle__ColorAssignment_2
-            {
-            pushFollow(FOLLOW_2);
-            rule__BorderStyle__ColorAssignment_2();
+            // InternalReportDSL.g:9478:2: ( rule__BorderStyle__ColorAssignment_2 )?
+            int alt93=2;
+            int LA93_0 = input.LA(1);
 
-            state._fsp--;
-            if (state.failed) return ;
+            if ( (LA93_0==RULE_ID) ) {
+                alt93=1;
+            }
+            switch (alt93) {
+                case 1 :
+                    // InternalReportDSL.g:9478:3: rule__BorderStyle__ColorAssignment_2
+                    {
+                    pushFollow(FOLLOW_2);
+                    rule__BorderStyle__ColorAssignment_2();
+
+                    state._fsp--;
+                    if (state.failed) return ;
+
+                    }
+                    break;
 
             }
 
@@ -33713,14 +33996,14 @@
 
 
     // $ANTLR start "rule__Style__Group__0"
-    // InternalReportDSL.g:9426:1: rule__Style__Group__0 : rule__Style__Group__0__Impl rule__Style__Group__1 ;
+    // InternalReportDSL.g:9487:1: rule__Style__Group__0 : rule__Style__Group__0__Impl rule__Style__Group__1 ;
     public final void rule__Style__Group__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:9430:1: ( rule__Style__Group__0__Impl rule__Style__Group__1 )
-            // InternalReportDSL.g:9431:2: rule__Style__Group__0__Impl rule__Style__Group__1
+            // InternalReportDSL.g:9491:1: ( rule__Style__Group__0__Impl rule__Style__Group__1 )
+            // InternalReportDSL.g:9492:2: rule__Style__Group__0__Impl rule__Style__Group__1
             {
             pushFollow(FOLLOW_7);
             rule__Style__Group__0__Impl();
@@ -33751,22 +34034,22 @@
 
 
     // $ANTLR start "rule__Style__Group__0__Impl"
-    // InternalReportDSL.g:9438:1: rule__Style__Group__0__Impl : ( 'style' ) ;
+    // InternalReportDSL.g:9499:1: rule__Style__Group__0__Impl : ( 'style' ) ;
     public final void rule__Style__Group__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:9442:1: ( ( 'style' ) )
-            // InternalReportDSL.g:9443:1: ( 'style' )
+            // InternalReportDSL.g:9503:1: ( ( 'style' ) )
+            // InternalReportDSL.g:9504:1: ( 'style' )
             {
-            // InternalReportDSL.g:9443:1: ( 'style' )
-            // InternalReportDSL.g:9444:2: 'style'
+            // InternalReportDSL.g:9504:1: ( 'style' )
+            // InternalReportDSL.g:9505:2: 'style'
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getStyleAccess().getStyleKeyword_0()); 
             }
-            match(input,152,FOLLOW_2); if (state.failed) return ;
+            match(input,158,FOLLOW_2); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getStyleAccess().getStyleKeyword_0()); 
             }
@@ -33792,14 +34075,14 @@
 
 
     // $ANTLR start "rule__Style__Group__1"
-    // InternalReportDSL.g:9453:1: rule__Style__Group__1 : rule__Style__Group__1__Impl rule__Style__Group__2 ;
+    // InternalReportDSL.g:9514:1: rule__Style__Group__1 : rule__Style__Group__1__Impl rule__Style__Group__2 ;
     public final void rule__Style__Group__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:9457:1: ( rule__Style__Group__1__Impl rule__Style__Group__2 )
-            // InternalReportDSL.g:9458:2: rule__Style__Group__1__Impl rule__Style__Group__2
+            // InternalReportDSL.g:9518:1: ( rule__Style__Group__1__Impl rule__Style__Group__2 )
+            // InternalReportDSL.g:9519:2: rule__Style__Group__1__Impl rule__Style__Group__2
             {
             pushFollow(FOLLOW_8);
             rule__Style__Group__1__Impl();
@@ -33830,23 +34113,23 @@
 
 
     // $ANTLR start "rule__Style__Group__1__Impl"
-    // InternalReportDSL.g:9465:1: rule__Style__Group__1__Impl : ( ( rule__Style__NameAssignment_1 ) ) ;
+    // InternalReportDSL.g:9526:1: rule__Style__Group__1__Impl : ( ( rule__Style__NameAssignment_1 ) ) ;
     public final void rule__Style__Group__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:9469:1: ( ( ( rule__Style__NameAssignment_1 ) ) )
-            // InternalReportDSL.g:9470:1: ( ( rule__Style__NameAssignment_1 ) )
+            // InternalReportDSL.g:9530:1: ( ( ( rule__Style__NameAssignment_1 ) ) )
+            // InternalReportDSL.g:9531:1: ( ( rule__Style__NameAssignment_1 ) )
             {
-            // InternalReportDSL.g:9470:1: ( ( rule__Style__NameAssignment_1 ) )
-            // InternalReportDSL.g:9471:2: ( rule__Style__NameAssignment_1 )
+            // InternalReportDSL.g:9531:1: ( ( rule__Style__NameAssignment_1 ) )
+            // InternalReportDSL.g:9532:2: ( rule__Style__NameAssignment_1 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getStyleAccess().getNameAssignment_1()); 
             }
-            // InternalReportDSL.g:9472:2: ( rule__Style__NameAssignment_1 )
-            // InternalReportDSL.g:9472:3: rule__Style__NameAssignment_1
+            // InternalReportDSL.g:9533:2: ( rule__Style__NameAssignment_1 )
+            // InternalReportDSL.g:9533:3: rule__Style__NameAssignment_1
             {
             pushFollow(FOLLOW_2);
             rule__Style__NameAssignment_1();
@@ -33881,14 +34164,14 @@
 
 
     // $ANTLR start "rule__Style__Group__2"
-    // InternalReportDSL.g:9480:1: rule__Style__Group__2 : rule__Style__Group__2__Impl rule__Style__Group__3 ;
+    // InternalReportDSL.g:9541:1: rule__Style__Group__2 : rule__Style__Group__2__Impl rule__Style__Group__3 ;
     public final void rule__Style__Group__2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:9484:1: ( rule__Style__Group__2__Impl rule__Style__Group__3 )
-            // InternalReportDSL.g:9485:2: rule__Style__Group__2__Impl rule__Style__Group__3
+            // InternalReportDSL.g:9545:1: ( rule__Style__Group__2__Impl rule__Style__Group__3 )
+            // InternalReportDSL.g:9546:2: rule__Style__Group__2__Impl rule__Style__Group__3
             {
             pushFollow(FOLLOW_49);
             rule__Style__Group__2__Impl();
@@ -33919,22 +34202,22 @@
 
 
     // $ANTLR start "rule__Style__Group__2__Impl"
-    // InternalReportDSL.g:9492:1: rule__Style__Group__2__Impl : ( '{' ) ;
+    // InternalReportDSL.g:9553:1: rule__Style__Group__2__Impl : ( '{' ) ;
     public final void rule__Style__Group__2__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:9496:1: ( ( '{' ) )
-            // InternalReportDSL.g:9497:1: ( '{' )
+            // InternalReportDSL.g:9557:1: ( ( '{' ) )
+            // InternalReportDSL.g:9558:1: ( '{' )
             {
-            // InternalReportDSL.g:9497:1: ( '{' )
-            // InternalReportDSL.g:9498:2: '{'
+            // InternalReportDSL.g:9558:1: ( '{' )
+            // InternalReportDSL.g:9559:2: '{'
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getStyleAccess().getLeftCurlyBracketKeyword_2()); 
             }
-            match(input,125,FOLLOW_2); if (state.failed) return ;
+            match(input,131,FOLLOW_2); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getStyleAccess().getLeftCurlyBracketKeyword_2()); 
             }
@@ -33960,14 +34243,14 @@
 
 
     // $ANTLR start "rule__Style__Group__3"
-    // InternalReportDSL.g:9507:1: rule__Style__Group__3 : rule__Style__Group__3__Impl rule__Style__Group__4 ;
+    // InternalReportDSL.g:9568:1: rule__Style__Group__3 : rule__Style__Group__3__Impl rule__Style__Group__4 ;
     public final void rule__Style__Group__3() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:9511:1: ( rule__Style__Group__3__Impl rule__Style__Group__4 )
-            // InternalReportDSL.g:9512:2: rule__Style__Group__3__Impl rule__Style__Group__4
+            // InternalReportDSL.g:9572:1: ( rule__Style__Group__3__Impl rule__Style__Group__4 )
+            // InternalReportDSL.g:9573:2: rule__Style__Group__3__Impl rule__Style__Group__4
             {
             pushFollow(FOLLOW_49);
             rule__Style__Group__3__Impl();
@@ -33998,31 +34281,31 @@
 
 
     // $ANTLR start "rule__Style__Group__3__Impl"
-    // InternalReportDSL.g:9519:1: rule__Style__Group__3__Impl : ( ( rule__Style__Group_3__0 )? ) ;
+    // InternalReportDSL.g:9580:1: rule__Style__Group__3__Impl : ( ( rule__Style__Group_3__0 )? ) ;
     public final void rule__Style__Group__3__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:9523:1: ( ( ( rule__Style__Group_3__0 )? ) )
-            // InternalReportDSL.g:9524:1: ( ( rule__Style__Group_3__0 )? )
+            // InternalReportDSL.g:9584:1: ( ( ( rule__Style__Group_3__0 )? ) )
+            // InternalReportDSL.g:9585:1: ( ( rule__Style__Group_3__0 )? )
             {
-            // InternalReportDSL.g:9524:1: ( ( rule__Style__Group_3__0 )? )
-            // InternalReportDSL.g:9525:2: ( rule__Style__Group_3__0 )?
+            // InternalReportDSL.g:9585:1: ( ( rule__Style__Group_3__0 )? )
+            // InternalReportDSL.g:9586:2: ( rule__Style__Group_3__0 )?
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getStyleAccess().getGroup_3()); 
             }
-            // InternalReportDSL.g:9526:2: ( rule__Style__Group_3__0 )?
-            int alt92=2;
-            int LA92_0 = input.LA(1);
+            // InternalReportDSL.g:9587:2: ( rule__Style__Group_3__0 )?
+            int alt94=2;
+            int LA94_0 = input.LA(1);
 
-            if ( (LA92_0==49) ) {
-                alt92=1;
+            if ( (LA94_0==49) ) {
+                alt94=1;
             }
-            switch (alt92) {
+            switch (alt94) {
                 case 1 :
-                    // InternalReportDSL.g:9526:3: rule__Style__Group_3__0
+                    // InternalReportDSL.g:9587:3: rule__Style__Group_3__0
                     {
                     pushFollow(FOLLOW_2);
                     rule__Style__Group_3__0();
@@ -34060,14 +34343,14 @@
 
 
     // $ANTLR start "rule__Style__Group__4"
-    // InternalReportDSL.g:9534:1: rule__Style__Group__4 : rule__Style__Group__4__Impl rule__Style__Group__5 ;
+    // InternalReportDSL.g:9595:1: rule__Style__Group__4 : rule__Style__Group__4__Impl rule__Style__Group__5 ;
     public final void rule__Style__Group__4() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:9538:1: ( rule__Style__Group__4__Impl rule__Style__Group__5 )
-            // InternalReportDSL.g:9539:2: rule__Style__Group__4__Impl rule__Style__Group__5
+            // InternalReportDSL.g:9599:1: ( rule__Style__Group__4__Impl rule__Style__Group__5 )
+            // InternalReportDSL.g:9600:2: rule__Style__Group__4__Impl rule__Style__Group__5
             {
             pushFollow(FOLLOW_27);
             rule__Style__Group__4__Impl();
@@ -34098,23 +34381,23 @@
 
 
     // $ANTLR start "rule__Style__Group__4__Impl"
-    // InternalReportDSL.g:9546:1: rule__Style__Group__4__Impl : ( ( rule__Style__UnorderedGroup_4 ) ) ;
+    // InternalReportDSL.g:9607:1: rule__Style__Group__4__Impl : ( ( rule__Style__UnorderedGroup_4 ) ) ;
     public final void rule__Style__Group__4__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:9550:1: ( ( ( rule__Style__UnorderedGroup_4 ) ) )
-            // InternalReportDSL.g:9551:1: ( ( rule__Style__UnorderedGroup_4 ) )
+            // InternalReportDSL.g:9611:1: ( ( ( rule__Style__UnorderedGroup_4 ) ) )
+            // InternalReportDSL.g:9612:1: ( ( rule__Style__UnorderedGroup_4 ) )
             {
-            // InternalReportDSL.g:9551:1: ( ( rule__Style__UnorderedGroup_4 ) )
-            // InternalReportDSL.g:9552:2: ( rule__Style__UnorderedGroup_4 )
+            // InternalReportDSL.g:9612:1: ( ( rule__Style__UnorderedGroup_4 ) )
+            // InternalReportDSL.g:9613:2: ( rule__Style__UnorderedGroup_4 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getStyleAccess().getUnorderedGroup_4()); 
             }
-            // InternalReportDSL.g:9553:2: ( rule__Style__UnorderedGroup_4 )
-            // InternalReportDSL.g:9553:3: rule__Style__UnorderedGroup_4
+            // InternalReportDSL.g:9614:2: ( rule__Style__UnorderedGroup_4 )
+            // InternalReportDSL.g:9614:3: rule__Style__UnorderedGroup_4
             {
             pushFollow(FOLLOW_2);
             rule__Style__UnorderedGroup_4();
@@ -34149,14 +34432,14 @@
 
 
     // $ANTLR start "rule__Style__Group__5"
-    // InternalReportDSL.g:9561:1: rule__Style__Group__5 : rule__Style__Group__5__Impl rule__Style__Group__6 ;
+    // InternalReportDSL.g:9622:1: rule__Style__Group__5 : rule__Style__Group__5__Impl rule__Style__Group__6 ;
     public final void rule__Style__Group__5() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:9565:1: ( rule__Style__Group__5__Impl rule__Style__Group__6 )
-            // InternalReportDSL.g:9566:2: rule__Style__Group__5__Impl rule__Style__Group__6
+            // InternalReportDSL.g:9626:1: ( rule__Style__Group__5__Impl rule__Style__Group__6 )
+            // InternalReportDSL.g:9627:2: rule__Style__Group__5__Impl rule__Style__Group__6
             {
             pushFollow(FOLLOW_27);
             rule__Style__Group__5__Impl();
@@ -34187,35 +34470,35 @@
 
 
     // $ANTLR start "rule__Style__Group__5__Impl"
-    // InternalReportDSL.g:9573:1: rule__Style__Group__5__Impl : ( ( rule__Style__MediastylesAssignment_5 )* ) ;
+    // InternalReportDSL.g:9634:1: rule__Style__Group__5__Impl : ( ( rule__Style__MediastylesAssignment_5 )* ) ;
     public final void rule__Style__Group__5__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:9577:1: ( ( ( rule__Style__MediastylesAssignment_5 )* ) )
-            // InternalReportDSL.g:9578:1: ( ( rule__Style__MediastylesAssignment_5 )* )
+            // InternalReportDSL.g:9638:1: ( ( ( rule__Style__MediastylesAssignment_5 )* ) )
+            // InternalReportDSL.g:9639:1: ( ( rule__Style__MediastylesAssignment_5 )* )
             {
-            // InternalReportDSL.g:9578:1: ( ( rule__Style__MediastylesAssignment_5 )* )
-            // InternalReportDSL.g:9579:2: ( rule__Style__MediastylesAssignment_5 )*
+            // InternalReportDSL.g:9639:1: ( ( rule__Style__MediastylesAssignment_5 )* )
+            // InternalReportDSL.g:9640:2: ( rule__Style__MediastylesAssignment_5 )*
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getStyleAccess().getMediastylesAssignment_5()); 
             }
-            // InternalReportDSL.g:9580:2: ( rule__Style__MediastylesAssignment_5 )*
-            loop93:
+            // InternalReportDSL.g:9641:2: ( rule__Style__MediastylesAssignment_5 )*
+            loop95:
             do {
-                int alt93=2;
-                int LA93_0 = input.LA(1);
+                int alt95=2;
+                int LA95_0 = input.LA(1);
 
-                if ( (LA93_0==134) ) {
-                    alt93=1;
+                if ( (LA95_0==140) ) {
+                    alt95=1;
                 }
 
 
-                switch (alt93) {
+                switch (alt95) {
             	case 1 :
-            	    // InternalReportDSL.g:9580:3: rule__Style__MediastylesAssignment_5
+            	    // InternalReportDSL.g:9641:3: rule__Style__MediastylesAssignment_5
             	    {
             	    pushFollow(FOLLOW_28);
             	    rule__Style__MediastylesAssignment_5();
@@ -34227,7 +34510,7 @@
             	    break;
 
             	default :
-            	    break loop93;
+            	    break loop95;
                 }
             } while (true);
 
@@ -34256,14 +34539,14 @@
 
 
     // $ANTLR start "rule__Style__Group__6"
-    // InternalReportDSL.g:9588:1: rule__Style__Group__6 : rule__Style__Group__6__Impl ;
+    // InternalReportDSL.g:9649:1: rule__Style__Group__6 : rule__Style__Group__6__Impl ;
     public final void rule__Style__Group__6() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:9592:1: ( rule__Style__Group__6__Impl )
-            // InternalReportDSL.g:9593:2: rule__Style__Group__6__Impl
+            // InternalReportDSL.g:9653:1: ( rule__Style__Group__6__Impl )
+            // InternalReportDSL.g:9654:2: rule__Style__Group__6__Impl
             {
             pushFollow(FOLLOW_2);
             rule__Style__Group__6__Impl();
@@ -34289,22 +34572,22 @@
 
 
     // $ANTLR start "rule__Style__Group__6__Impl"
-    // InternalReportDSL.g:9599:1: rule__Style__Group__6__Impl : ( '}' ) ;
+    // InternalReportDSL.g:9660:1: rule__Style__Group__6__Impl : ( '}' ) ;
     public final void rule__Style__Group__6__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:9603:1: ( ( '}' ) )
-            // InternalReportDSL.g:9604:1: ( '}' )
+            // InternalReportDSL.g:9664:1: ( ( '}' ) )
+            // InternalReportDSL.g:9665:1: ( '}' )
             {
-            // InternalReportDSL.g:9604:1: ( '}' )
-            // InternalReportDSL.g:9605:2: '}'
+            // InternalReportDSL.g:9665:1: ( '}' )
+            // InternalReportDSL.g:9666:2: '}'
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getStyleAccess().getRightCurlyBracketKeyword_6()); 
             }
-            match(input,126,FOLLOW_2); if (state.failed) return ;
+            match(input,132,FOLLOW_2); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getStyleAccess().getRightCurlyBracketKeyword_6()); 
             }
@@ -34330,14 +34613,14 @@
 
 
     // $ANTLR start "rule__Style__Group_3__0"
-    // InternalReportDSL.g:9615:1: rule__Style__Group_3__0 : rule__Style__Group_3__0__Impl rule__Style__Group_3__1 ;
+    // InternalReportDSL.g:9676:1: rule__Style__Group_3__0 : rule__Style__Group_3__0__Impl rule__Style__Group_3__1 ;
     public final void rule__Style__Group_3__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:9619:1: ( rule__Style__Group_3__0__Impl rule__Style__Group_3__1 )
-            // InternalReportDSL.g:9620:2: rule__Style__Group_3__0__Impl rule__Style__Group_3__1
+            // InternalReportDSL.g:9680:1: ( rule__Style__Group_3__0__Impl rule__Style__Group_3__1 )
+            // InternalReportDSL.g:9681:2: rule__Style__Group_3__0__Impl rule__Style__Group_3__1
             {
             pushFollow(FOLLOW_7);
             rule__Style__Group_3__0__Impl();
@@ -34368,17 +34651,17 @@
 
 
     // $ANTLR start "rule__Style__Group_3__0__Impl"
-    // InternalReportDSL.g:9627:1: rule__Style__Group_3__0__Impl : ( 'extends' ) ;
+    // InternalReportDSL.g:9688:1: rule__Style__Group_3__0__Impl : ( 'extends' ) ;
     public final void rule__Style__Group_3__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:9631:1: ( ( 'extends' ) )
-            // InternalReportDSL.g:9632:1: ( 'extends' )
+            // InternalReportDSL.g:9692:1: ( ( 'extends' ) )
+            // InternalReportDSL.g:9693:1: ( 'extends' )
             {
-            // InternalReportDSL.g:9632:1: ( 'extends' )
-            // InternalReportDSL.g:9633:2: 'extends'
+            // InternalReportDSL.g:9693:1: ( 'extends' )
+            // InternalReportDSL.g:9694:2: 'extends'
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getStyleAccess().getExtendsKeyword_3_0()); 
@@ -34409,14 +34692,14 @@
 
 
     // $ANTLR start "rule__Style__Group_3__1"
-    // InternalReportDSL.g:9642:1: rule__Style__Group_3__1 : rule__Style__Group_3__1__Impl ;
+    // InternalReportDSL.g:9703:1: rule__Style__Group_3__1 : rule__Style__Group_3__1__Impl ;
     public final void rule__Style__Group_3__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:9646:1: ( rule__Style__Group_3__1__Impl )
-            // InternalReportDSL.g:9647:2: rule__Style__Group_3__1__Impl
+            // InternalReportDSL.g:9707:1: ( rule__Style__Group_3__1__Impl )
+            // InternalReportDSL.g:9708:2: rule__Style__Group_3__1__Impl
             {
             pushFollow(FOLLOW_2);
             rule__Style__Group_3__1__Impl();
@@ -34442,23 +34725,23 @@
 
 
     // $ANTLR start "rule__Style__Group_3__1__Impl"
-    // InternalReportDSL.g:9653:1: rule__Style__Group_3__1__Impl : ( ( rule__Style__ExtendsAssignment_3_1 ) ) ;
+    // InternalReportDSL.g:9714:1: rule__Style__Group_3__1__Impl : ( ( rule__Style__ExtendsAssignment_3_1 ) ) ;
     public final void rule__Style__Group_3__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:9657:1: ( ( ( rule__Style__ExtendsAssignment_3_1 ) ) )
-            // InternalReportDSL.g:9658:1: ( ( rule__Style__ExtendsAssignment_3_1 ) )
+            // InternalReportDSL.g:9718:1: ( ( ( rule__Style__ExtendsAssignment_3_1 ) ) )
+            // InternalReportDSL.g:9719:1: ( ( rule__Style__ExtendsAssignment_3_1 ) )
             {
-            // InternalReportDSL.g:9658:1: ( ( rule__Style__ExtendsAssignment_3_1 ) )
-            // InternalReportDSL.g:9659:2: ( rule__Style__ExtendsAssignment_3_1 )
+            // InternalReportDSL.g:9719:1: ( ( rule__Style__ExtendsAssignment_3_1 ) )
+            // InternalReportDSL.g:9720:2: ( rule__Style__ExtendsAssignment_3_1 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getStyleAccess().getExtendsAssignment_3_1()); 
             }
-            // InternalReportDSL.g:9660:2: ( rule__Style__ExtendsAssignment_3_1 )
-            // InternalReportDSL.g:9660:3: rule__Style__ExtendsAssignment_3_1
+            // InternalReportDSL.g:9721:2: ( rule__Style__ExtendsAssignment_3_1 )
+            // InternalReportDSL.g:9721:3: rule__Style__ExtendsAssignment_3_1
             {
             pushFollow(FOLLOW_2);
             rule__Style__ExtendsAssignment_3_1();
@@ -34493,14 +34776,14 @@
 
 
     // $ANTLR start "rule__Style__Group_4_0__0"
-    // InternalReportDSL.g:9669:1: rule__Style__Group_4_0__0 : rule__Style__Group_4_0__0__Impl rule__Style__Group_4_0__1 ;
+    // InternalReportDSL.g:9730:1: rule__Style__Group_4_0__0 : rule__Style__Group_4_0__0__Impl rule__Style__Group_4_0__1 ;
     public final void rule__Style__Group_4_0__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:9673:1: ( rule__Style__Group_4_0__0__Impl rule__Style__Group_4_0__1 )
-            // InternalReportDSL.g:9674:2: rule__Style__Group_4_0__0__Impl rule__Style__Group_4_0__1
+            // InternalReportDSL.g:9734:1: ( rule__Style__Group_4_0__0__Impl rule__Style__Group_4_0__1 )
+            // InternalReportDSL.g:9735:2: rule__Style__Group_4_0__0__Impl rule__Style__Group_4_0__1
             {
             pushFollow(FOLLOW_7);
             rule__Style__Group_4_0__0__Impl();
@@ -34531,22 +34814,22 @@
 
 
     // $ANTLR start "rule__Style__Group_4_0__0__Impl"
-    // InternalReportDSL.g:9681:1: rule__Style__Group_4_0__0__Impl : ( 'formatter' ) ;
+    // InternalReportDSL.g:9742:1: rule__Style__Group_4_0__0__Impl : ( 'formatter' ) ;
     public final void rule__Style__Group_4_0__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:9685:1: ( ( 'formatter' ) )
-            // InternalReportDSL.g:9686:1: ( 'formatter' )
+            // InternalReportDSL.g:9746:1: ( ( 'formatter' ) )
+            // InternalReportDSL.g:9747:1: ( 'formatter' )
             {
-            // InternalReportDSL.g:9686:1: ( 'formatter' )
-            // InternalReportDSL.g:9687:2: 'formatter'
+            // InternalReportDSL.g:9747:1: ( 'formatter' )
+            // InternalReportDSL.g:9748:2: 'formatter'
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getStyleAccess().getFormatterKeyword_4_0_0()); 
             }
-            match(input,153,FOLLOW_2); if (state.failed) return ;
+            match(input,159,FOLLOW_2); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getStyleAccess().getFormatterKeyword_4_0_0()); 
             }
@@ -34572,14 +34855,14 @@
 
 
     // $ANTLR start "rule__Style__Group_4_0__1"
-    // InternalReportDSL.g:9696:1: rule__Style__Group_4_0__1 : rule__Style__Group_4_0__1__Impl ;
+    // InternalReportDSL.g:9757:1: rule__Style__Group_4_0__1 : rule__Style__Group_4_0__1__Impl ;
     public final void rule__Style__Group_4_0__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:9700:1: ( rule__Style__Group_4_0__1__Impl )
-            // InternalReportDSL.g:9701:2: rule__Style__Group_4_0__1__Impl
+            // InternalReportDSL.g:9761:1: ( rule__Style__Group_4_0__1__Impl )
+            // InternalReportDSL.g:9762:2: rule__Style__Group_4_0__1__Impl
             {
             pushFollow(FOLLOW_2);
             rule__Style__Group_4_0__1__Impl();
@@ -34605,23 +34888,23 @@
 
 
     // $ANTLR start "rule__Style__Group_4_0__1__Impl"
-    // InternalReportDSL.g:9707:1: rule__Style__Group_4_0__1__Impl : ( ( rule__Style__FormatAssignment_4_0_1 ) ) ;
+    // InternalReportDSL.g:9768:1: rule__Style__Group_4_0__1__Impl : ( ( rule__Style__FormatAssignment_4_0_1 ) ) ;
     public final void rule__Style__Group_4_0__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:9711:1: ( ( ( rule__Style__FormatAssignment_4_0_1 ) ) )
-            // InternalReportDSL.g:9712:1: ( ( rule__Style__FormatAssignment_4_0_1 ) )
+            // InternalReportDSL.g:9772:1: ( ( ( rule__Style__FormatAssignment_4_0_1 ) ) )
+            // InternalReportDSL.g:9773:1: ( ( rule__Style__FormatAssignment_4_0_1 ) )
             {
-            // InternalReportDSL.g:9712:1: ( ( rule__Style__FormatAssignment_4_0_1 ) )
-            // InternalReportDSL.g:9713:2: ( rule__Style__FormatAssignment_4_0_1 )
+            // InternalReportDSL.g:9773:1: ( ( rule__Style__FormatAssignment_4_0_1 ) )
+            // InternalReportDSL.g:9774:2: ( rule__Style__FormatAssignment_4_0_1 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getStyleAccess().getFormatAssignment_4_0_1()); 
             }
-            // InternalReportDSL.g:9714:2: ( rule__Style__FormatAssignment_4_0_1 )
-            // InternalReportDSL.g:9714:3: rule__Style__FormatAssignment_4_0_1
+            // InternalReportDSL.g:9775:2: ( rule__Style__FormatAssignment_4_0_1 )
+            // InternalReportDSL.g:9775:3: rule__Style__FormatAssignment_4_0_1
             {
             pushFollow(FOLLOW_2);
             rule__Style__FormatAssignment_4_0_1();
@@ -34656,14 +34939,14 @@
 
 
     // $ANTLR start "rule__Style__Group_4_1__0"
-    // InternalReportDSL.g:9723:1: rule__Style__Group_4_1__0 : rule__Style__Group_4_1__0__Impl rule__Style__Group_4_1__1 ;
+    // InternalReportDSL.g:9784:1: rule__Style__Group_4_1__0 : rule__Style__Group_4_1__0__Impl rule__Style__Group_4_1__1 ;
     public final void rule__Style__Group_4_1__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:9727:1: ( rule__Style__Group_4_1__0__Impl rule__Style__Group_4_1__1 )
-            // InternalReportDSL.g:9728:2: rule__Style__Group_4_1__0__Impl rule__Style__Group_4_1__1
+            // InternalReportDSL.g:9788:1: ( rule__Style__Group_4_1__0__Impl rule__Style__Group_4_1__1 )
+            // InternalReportDSL.g:9789:2: rule__Style__Group_4_1__0__Impl rule__Style__Group_4_1__1
             {
             pushFollow(FOLLOW_7);
             rule__Style__Group_4_1__0__Impl();
@@ -34694,22 +34977,22 @@
 
 
     // $ANTLR start "rule__Style__Group_4_1__0__Impl"
-    // InternalReportDSL.g:9735:1: rule__Style__Group_4_1__0__Impl : ( 'font' ) ;
+    // InternalReportDSL.g:9796:1: rule__Style__Group_4_1__0__Impl : ( 'font' ) ;
     public final void rule__Style__Group_4_1__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:9739:1: ( ( 'font' ) )
-            // InternalReportDSL.g:9740:1: ( 'font' )
+            // InternalReportDSL.g:9800:1: ( ( 'font' ) )
+            // InternalReportDSL.g:9801:1: ( 'font' )
             {
-            // InternalReportDSL.g:9740:1: ( 'font' )
-            // InternalReportDSL.g:9741:2: 'font'
+            // InternalReportDSL.g:9801:1: ( 'font' )
+            // InternalReportDSL.g:9802:2: 'font'
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getStyleAccess().getFontKeyword_4_1_0()); 
             }
-            match(input,149,FOLLOW_2); if (state.failed) return ;
+            match(input,155,FOLLOW_2); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getStyleAccess().getFontKeyword_4_1_0()); 
             }
@@ -34735,14 +35018,14 @@
 
 
     // $ANTLR start "rule__Style__Group_4_1__1"
-    // InternalReportDSL.g:9750:1: rule__Style__Group_4_1__1 : rule__Style__Group_4_1__1__Impl ;
+    // InternalReportDSL.g:9811:1: rule__Style__Group_4_1__1 : rule__Style__Group_4_1__1__Impl ;
     public final void rule__Style__Group_4_1__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:9754:1: ( rule__Style__Group_4_1__1__Impl )
-            // InternalReportDSL.g:9755:2: rule__Style__Group_4_1__1__Impl
+            // InternalReportDSL.g:9815:1: ( rule__Style__Group_4_1__1__Impl )
+            // InternalReportDSL.g:9816:2: rule__Style__Group_4_1__1__Impl
             {
             pushFollow(FOLLOW_2);
             rule__Style__Group_4_1__1__Impl();
@@ -34768,23 +35051,23 @@
 
 
     // $ANTLR start "rule__Style__Group_4_1__1__Impl"
-    // InternalReportDSL.g:9761:1: rule__Style__Group_4_1__1__Impl : ( ( rule__Style__FontAssignment_4_1_1 ) ) ;
+    // InternalReportDSL.g:9822:1: rule__Style__Group_4_1__1__Impl : ( ( rule__Style__FontAssignment_4_1_1 ) ) ;
     public final void rule__Style__Group_4_1__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:9765:1: ( ( ( rule__Style__FontAssignment_4_1_1 ) ) )
-            // InternalReportDSL.g:9766:1: ( ( rule__Style__FontAssignment_4_1_1 ) )
+            // InternalReportDSL.g:9826:1: ( ( ( rule__Style__FontAssignment_4_1_1 ) ) )
+            // InternalReportDSL.g:9827:1: ( ( rule__Style__FontAssignment_4_1_1 ) )
             {
-            // InternalReportDSL.g:9766:1: ( ( rule__Style__FontAssignment_4_1_1 ) )
-            // InternalReportDSL.g:9767:2: ( rule__Style__FontAssignment_4_1_1 )
+            // InternalReportDSL.g:9827:1: ( ( rule__Style__FontAssignment_4_1_1 ) )
+            // InternalReportDSL.g:9828:2: ( rule__Style__FontAssignment_4_1_1 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getStyleAccess().getFontAssignment_4_1_1()); 
             }
-            // InternalReportDSL.g:9768:2: ( rule__Style__FontAssignment_4_1_1 )
-            // InternalReportDSL.g:9768:3: rule__Style__FontAssignment_4_1_1
+            // InternalReportDSL.g:9829:2: ( rule__Style__FontAssignment_4_1_1 )
+            // InternalReportDSL.g:9829:3: rule__Style__FontAssignment_4_1_1
             {
             pushFollow(FOLLOW_2);
             rule__Style__FontAssignment_4_1_1();
@@ -34819,14 +35102,14 @@
 
 
     // $ANTLR start "rule__Style__Group_4_2__0"
-    // InternalReportDSL.g:9777:1: rule__Style__Group_4_2__0 : rule__Style__Group_4_2__0__Impl rule__Style__Group_4_2__1 ;
+    // InternalReportDSL.g:9838:1: rule__Style__Group_4_2__0 : rule__Style__Group_4_2__0__Impl rule__Style__Group_4_2__1 ;
     public final void rule__Style__Group_4_2__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:9781:1: ( rule__Style__Group_4_2__0__Impl rule__Style__Group_4_2__1 )
-            // InternalReportDSL.g:9782:2: rule__Style__Group_4_2__0__Impl rule__Style__Group_4_2__1
+            // InternalReportDSL.g:9842:1: ( rule__Style__Group_4_2__0__Impl rule__Style__Group_4_2__1 )
+            // InternalReportDSL.g:9843:2: rule__Style__Group_4_2__0__Impl rule__Style__Group_4_2__1
             {
             pushFollow(FOLLOW_7);
             rule__Style__Group_4_2__0__Impl();
@@ -34857,22 +35140,22 @@
 
 
     // $ANTLR start "rule__Style__Group_4_2__0__Impl"
-    // InternalReportDSL.g:9789:1: rule__Style__Group_4_2__0__Impl : ( 'backgroundcolor' ) ;
+    // InternalReportDSL.g:9850:1: rule__Style__Group_4_2__0__Impl : ( 'backgroundcolor' ) ;
     public final void rule__Style__Group_4_2__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:9793:1: ( ( 'backgroundcolor' ) )
-            // InternalReportDSL.g:9794:1: ( 'backgroundcolor' )
+            // InternalReportDSL.g:9854:1: ( ( 'backgroundcolor' ) )
+            // InternalReportDSL.g:9855:1: ( 'backgroundcolor' )
             {
-            // InternalReportDSL.g:9794:1: ( 'backgroundcolor' )
-            // InternalReportDSL.g:9795:2: 'backgroundcolor'
+            // InternalReportDSL.g:9855:1: ( 'backgroundcolor' )
+            // InternalReportDSL.g:9856:2: 'backgroundcolor'
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getStyleAccess().getBackgroundcolorKeyword_4_2_0()); 
             }
-            match(input,154,FOLLOW_2); if (state.failed) return ;
+            match(input,160,FOLLOW_2); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getStyleAccess().getBackgroundcolorKeyword_4_2_0()); 
             }
@@ -34898,14 +35181,14 @@
 
 
     // $ANTLR start "rule__Style__Group_4_2__1"
-    // InternalReportDSL.g:9804:1: rule__Style__Group_4_2__1 : rule__Style__Group_4_2__1__Impl rule__Style__Group_4_2__2 ;
+    // InternalReportDSL.g:9865:1: rule__Style__Group_4_2__1 : rule__Style__Group_4_2__1__Impl rule__Style__Group_4_2__2 ;
     public final void rule__Style__Group_4_2__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:9808:1: ( rule__Style__Group_4_2__1__Impl rule__Style__Group_4_2__2 )
-            // InternalReportDSL.g:9809:2: rule__Style__Group_4_2__1__Impl rule__Style__Group_4_2__2
+            // InternalReportDSL.g:9869:1: ( rule__Style__Group_4_2__1__Impl rule__Style__Group_4_2__2 )
+            // InternalReportDSL.g:9870:2: rule__Style__Group_4_2__1__Impl rule__Style__Group_4_2__2
             {
             pushFollow(FOLLOW_50);
             rule__Style__Group_4_2__1__Impl();
@@ -34936,23 +35219,23 @@
 
 
     // $ANTLR start "rule__Style__Group_4_2__1__Impl"
-    // InternalReportDSL.g:9816:1: rule__Style__Group_4_2__1__Impl : ( ( rule__Style__BackgroundcolorAssignment_4_2_1 ) ) ;
+    // InternalReportDSL.g:9877:1: rule__Style__Group_4_2__1__Impl : ( ( rule__Style__BackgroundcolorAssignment_4_2_1 ) ) ;
     public final void rule__Style__Group_4_2__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:9820:1: ( ( ( rule__Style__BackgroundcolorAssignment_4_2_1 ) ) )
-            // InternalReportDSL.g:9821:1: ( ( rule__Style__BackgroundcolorAssignment_4_2_1 ) )
+            // InternalReportDSL.g:9881:1: ( ( ( rule__Style__BackgroundcolorAssignment_4_2_1 ) ) )
+            // InternalReportDSL.g:9882:1: ( ( rule__Style__BackgroundcolorAssignment_4_2_1 ) )
             {
-            // InternalReportDSL.g:9821:1: ( ( rule__Style__BackgroundcolorAssignment_4_2_1 ) )
-            // InternalReportDSL.g:9822:2: ( rule__Style__BackgroundcolorAssignment_4_2_1 )
+            // InternalReportDSL.g:9882:1: ( ( rule__Style__BackgroundcolorAssignment_4_2_1 ) )
+            // InternalReportDSL.g:9883:2: ( rule__Style__BackgroundcolorAssignment_4_2_1 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getStyleAccess().getBackgroundcolorAssignment_4_2_1()); 
             }
-            // InternalReportDSL.g:9823:2: ( rule__Style__BackgroundcolorAssignment_4_2_1 )
-            // InternalReportDSL.g:9823:3: rule__Style__BackgroundcolorAssignment_4_2_1
+            // InternalReportDSL.g:9884:2: ( rule__Style__BackgroundcolorAssignment_4_2_1 )
+            // InternalReportDSL.g:9884:3: rule__Style__BackgroundcolorAssignment_4_2_1
             {
             pushFollow(FOLLOW_2);
             rule__Style__BackgroundcolorAssignment_4_2_1();
@@ -34987,14 +35270,14 @@
 
 
     // $ANTLR start "rule__Style__Group_4_2__2"
-    // InternalReportDSL.g:9831:1: rule__Style__Group_4_2__2 : rule__Style__Group_4_2__2__Impl ;
+    // InternalReportDSL.g:9892:1: rule__Style__Group_4_2__2 : rule__Style__Group_4_2__2__Impl ;
     public final void rule__Style__Group_4_2__2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:9835:1: ( rule__Style__Group_4_2__2__Impl )
-            // InternalReportDSL.g:9836:2: rule__Style__Group_4_2__2__Impl
+            // InternalReportDSL.g:9896:1: ( rule__Style__Group_4_2__2__Impl )
+            // InternalReportDSL.g:9897:2: rule__Style__Group_4_2__2__Impl
             {
             pushFollow(FOLLOW_2);
             rule__Style__Group_4_2__2__Impl();
@@ -35020,31 +35303,31 @@
 
 
     // $ANTLR start "rule__Style__Group_4_2__2__Impl"
-    // InternalReportDSL.g:9842:1: rule__Style__Group_4_2__2__Impl : ( ( rule__Style__Group_4_2_2__0 )? ) ;
+    // InternalReportDSL.g:9903:1: rule__Style__Group_4_2__2__Impl : ( ( rule__Style__Group_4_2_2__0 )? ) ;
     public final void rule__Style__Group_4_2__2__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:9846:1: ( ( ( rule__Style__Group_4_2_2__0 )? ) )
-            // InternalReportDSL.g:9847:1: ( ( rule__Style__Group_4_2_2__0 )? )
+            // InternalReportDSL.g:9907:1: ( ( ( rule__Style__Group_4_2_2__0 )? ) )
+            // InternalReportDSL.g:9908:1: ( ( rule__Style__Group_4_2_2__0 )? )
             {
-            // InternalReportDSL.g:9847:1: ( ( rule__Style__Group_4_2_2__0 )? )
-            // InternalReportDSL.g:9848:2: ( rule__Style__Group_4_2_2__0 )?
+            // InternalReportDSL.g:9908:1: ( ( rule__Style__Group_4_2_2__0 )? )
+            // InternalReportDSL.g:9909:2: ( rule__Style__Group_4_2_2__0 )?
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getStyleAccess().getGroup_4_2_2()); 
             }
-            // InternalReportDSL.g:9849:2: ( rule__Style__Group_4_2_2__0 )?
-            int alt94=2;
-            int LA94_0 = input.LA(1);
+            // InternalReportDSL.g:9910:2: ( rule__Style__Group_4_2_2__0 )?
+            int alt96=2;
+            int LA96_0 = input.LA(1);
 
-            if ( (LA94_0==155) ) {
-                alt94=1;
+            if ( (LA96_0==161) ) {
+                alt96=1;
             }
-            switch (alt94) {
+            switch (alt96) {
                 case 1 :
-                    // InternalReportDSL.g:9849:3: rule__Style__Group_4_2_2__0
+                    // InternalReportDSL.g:9910:3: rule__Style__Group_4_2_2__0
                     {
                     pushFollow(FOLLOW_2);
                     rule__Style__Group_4_2_2__0();
@@ -35082,14 +35365,14 @@
 
 
     // $ANTLR start "rule__Style__Group_4_2_2__0"
-    // InternalReportDSL.g:9858:1: rule__Style__Group_4_2_2__0 : rule__Style__Group_4_2_2__0__Impl rule__Style__Group_4_2_2__1 ;
+    // InternalReportDSL.g:9919:1: rule__Style__Group_4_2_2__0 : rule__Style__Group_4_2_2__0__Impl rule__Style__Group_4_2_2__1 ;
     public final void rule__Style__Group_4_2_2__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:9862:1: ( rule__Style__Group_4_2_2__0__Impl rule__Style__Group_4_2_2__1 )
-            // InternalReportDSL.g:9863:2: rule__Style__Group_4_2_2__0__Impl rule__Style__Group_4_2_2__1
+            // InternalReportDSL.g:9923:1: ( rule__Style__Group_4_2_2__0__Impl rule__Style__Group_4_2_2__1 )
+            // InternalReportDSL.g:9924:2: rule__Style__Group_4_2_2__0__Impl rule__Style__Group_4_2_2__1
             {
             pushFollow(FOLLOW_7);
             rule__Style__Group_4_2_2__0__Impl();
@@ -35120,22 +35403,22 @@
 
 
     // $ANTLR start "rule__Style__Group_4_2_2__0__Impl"
-    // InternalReportDSL.g:9870:1: rule__Style__Group_4_2_2__0__Impl : ( 'alternate' ) ;
+    // InternalReportDSL.g:9931:1: rule__Style__Group_4_2_2__0__Impl : ( 'alternate' ) ;
     public final void rule__Style__Group_4_2_2__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:9874:1: ( ( 'alternate' ) )
-            // InternalReportDSL.g:9875:1: ( 'alternate' )
+            // InternalReportDSL.g:9935:1: ( ( 'alternate' ) )
+            // InternalReportDSL.g:9936:1: ( 'alternate' )
             {
-            // InternalReportDSL.g:9875:1: ( 'alternate' )
-            // InternalReportDSL.g:9876:2: 'alternate'
+            // InternalReportDSL.g:9936:1: ( 'alternate' )
+            // InternalReportDSL.g:9937:2: 'alternate'
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getStyleAccess().getAlternateKeyword_4_2_2_0()); 
             }
-            match(input,155,FOLLOW_2); if (state.failed) return ;
+            match(input,161,FOLLOW_2); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getStyleAccess().getAlternateKeyword_4_2_2_0()); 
             }
@@ -35161,14 +35444,14 @@
 
 
     // $ANTLR start "rule__Style__Group_4_2_2__1"
-    // InternalReportDSL.g:9885:1: rule__Style__Group_4_2_2__1 : rule__Style__Group_4_2_2__1__Impl ;
+    // InternalReportDSL.g:9946:1: rule__Style__Group_4_2_2__1 : rule__Style__Group_4_2_2__1__Impl ;
     public final void rule__Style__Group_4_2_2__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:9889:1: ( rule__Style__Group_4_2_2__1__Impl )
-            // InternalReportDSL.g:9890:2: rule__Style__Group_4_2_2__1__Impl
+            // InternalReportDSL.g:9950:1: ( rule__Style__Group_4_2_2__1__Impl )
+            // InternalReportDSL.g:9951:2: rule__Style__Group_4_2_2__1__Impl
             {
             pushFollow(FOLLOW_2);
             rule__Style__Group_4_2_2__1__Impl();
@@ -35194,23 +35477,23 @@
 
 
     // $ANTLR start "rule__Style__Group_4_2_2__1__Impl"
-    // InternalReportDSL.g:9896:1: rule__Style__Group_4_2_2__1__Impl : ( ( rule__Style__Backgroundcolor_alternateAssignment_4_2_2_1 ) ) ;
+    // InternalReportDSL.g:9957:1: rule__Style__Group_4_2_2__1__Impl : ( ( rule__Style__Backgroundcolor_alternateAssignment_4_2_2_1 ) ) ;
     public final void rule__Style__Group_4_2_2__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:9900:1: ( ( ( rule__Style__Backgroundcolor_alternateAssignment_4_2_2_1 ) ) )
-            // InternalReportDSL.g:9901:1: ( ( rule__Style__Backgroundcolor_alternateAssignment_4_2_2_1 ) )
+            // InternalReportDSL.g:9961:1: ( ( ( rule__Style__Backgroundcolor_alternateAssignment_4_2_2_1 ) ) )
+            // InternalReportDSL.g:9962:1: ( ( rule__Style__Backgroundcolor_alternateAssignment_4_2_2_1 ) )
             {
-            // InternalReportDSL.g:9901:1: ( ( rule__Style__Backgroundcolor_alternateAssignment_4_2_2_1 ) )
-            // InternalReportDSL.g:9902:2: ( rule__Style__Backgroundcolor_alternateAssignment_4_2_2_1 )
+            // InternalReportDSL.g:9962:1: ( ( rule__Style__Backgroundcolor_alternateAssignment_4_2_2_1 ) )
+            // InternalReportDSL.g:9963:2: ( rule__Style__Backgroundcolor_alternateAssignment_4_2_2_1 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getStyleAccess().getBackgroundcolor_alternateAssignment_4_2_2_1()); 
             }
-            // InternalReportDSL.g:9903:2: ( rule__Style__Backgroundcolor_alternateAssignment_4_2_2_1 )
-            // InternalReportDSL.g:9903:3: rule__Style__Backgroundcolor_alternateAssignment_4_2_2_1
+            // InternalReportDSL.g:9964:2: ( rule__Style__Backgroundcolor_alternateAssignment_4_2_2_1 )
+            // InternalReportDSL.g:9964:3: rule__Style__Backgroundcolor_alternateAssignment_4_2_2_1
             {
             pushFollow(FOLLOW_2);
             rule__Style__Backgroundcolor_alternateAssignment_4_2_2_1();
@@ -35245,14 +35528,14 @@
 
 
     // $ANTLR start "rule__Style__Group_4_3__0"
-    // InternalReportDSL.g:9912:1: rule__Style__Group_4_3__0 : rule__Style__Group_4_3__0__Impl rule__Style__Group_4_3__1 ;
+    // InternalReportDSL.g:9973:1: rule__Style__Group_4_3__0 : rule__Style__Group_4_3__0__Impl rule__Style__Group_4_3__1 ;
     public final void rule__Style__Group_4_3__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:9916:1: ( rule__Style__Group_4_3__0__Impl rule__Style__Group_4_3__1 )
-            // InternalReportDSL.g:9917:2: rule__Style__Group_4_3__0__Impl rule__Style__Group_4_3__1
+            // InternalReportDSL.g:9977:1: ( rule__Style__Group_4_3__0__Impl rule__Style__Group_4_3__1 )
+            // InternalReportDSL.g:9978:2: rule__Style__Group_4_3__0__Impl rule__Style__Group_4_3__1
             {
             pushFollow(FOLLOW_7);
             rule__Style__Group_4_3__0__Impl();
@@ -35283,22 +35566,22 @@
 
 
     // $ANTLR start "rule__Style__Group_4_3__0__Impl"
-    // InternalReportDSL.g:9924:1: rule__Style__Group_4_3__0__Impl : ( 'textcolor' ) ;
+    // InternalReportDSL.g:9985:1: rule__Style__Group_4_3__0__Impl : ( 'textcolor' ) ;
     public final void rule__Style__Group_4_3__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:9928:1: ( ( 'textcolor' ) )
-            // InternalReportDSL.g:9929:1: ( 'textcolor' )
+            // InternalReportDSL.g:9989:1: ( ( 'textcolor' ) )
+            // InternalReportDSL.g:9990:1: ( 'textcolor' )
             {
-            // InternalReportDSL.g:9929:1: ( 'textcolor' )
-            // InternalReportDSL.g:9930:2: 'textcolor'
+            // InternalReportDSL.g:9990:1: ( 'textcolor' )
+            // InternalReportDSL.g:9991:2: 'textcolor'
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getStyleAccess().getTextcolorKeyword_4_3_0()); 
             }
-            match(input,156,FOLLOW_2); if (state.failed) return ;
+            match(input,162,FOLLOW_2); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getStyleAccess().getTextcolorKeyword_4_3_0()); 
             }
@@ -35324,14 +35607,14 @@
 
 
     // $ANTLR start "rule__Style__Group_4_3__1"
-    // InternalReportDSL.g:9939:1: rule__Style__Group_4_3__1 : rule__Style__Group_4_3__1__Impl ;
+    // InternalReportDSL.g:10000:1: rule__Style__Group_4_3__1 : rule__Style__Group_4_3__1__Impl ;
     public final void rule__Style__Group_4_3__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:9943:1: ( rule__Style__Group_4_3__1__Impl )
-            // InternalReportDSL.g:9944:2: rule__Style__Group_4_3__1__Impl
+            // InternalReportDSL.g:10004:1: ( rule__Style__Group_4_3__1__Impl )
+            // InternalReportDSL.g:10005:2: rule__Style__Group_4_3__1__Impl
             {
             pushFollow(FOLLOW_2);
             rule__Style__Group_4_3__1__Impl();
@@ -35357,23 +35640,23 @@
 
 
     // $ANTLR start "rule__Style__Group_4_3__1__Impl"
-    // InternalReportDSL.g:9950:1: rule__Style__Group_4_3__1__Impl : ( ( rule__Style__TextcolorAssignment_4_3_1 ) ) ;
+    // InternalReportDSL.g:10011:1: rule__Style__Group_4_3__1__Impl : ( ( rule__Style__TextcolorAssignment_4_3_1 ) ) ;
     public final void rule__Style__Group_4_3__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:9954:1: ( ( ( rule__Style__TextcolorAssignment_4_3_1 ) ) )
-            // InternalReportDSL.g:9955:1: ( ( rule__Style__TextcolorAssignment_4_3_1 ) )
+            // InternalReportDSL.g:10015:1: ( ( ( rule__Style__TextcolorAssignment_4_3_1 ) ) )
+            // InternalReportDSL.g:10016:1: ( ( rule__Style__TextcolorAssignment_4_3_1 ) )
             {
-            // InternalReportDSL.g:9955:1: ( ( rule__Style__TextcolorAssignment_4_3_1 ) )
-            // InternalReportDSL.g:9956:2: ( rule__Style__TextcolorAssignment_4_3_1 )
+            // InternalReportDSL.g:10016:1: ( ( rule__Style__TextcolorAssignment_4_3_1 ) )
+            // InternalReportDSL.g:10017:2: ( rule__Style__TextcolorAssignment_4_3_1 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getStyleAccess().getTextcolorAssignment_4_3_1()); 
             }
-            // InternalReportDSL.g:9957:2: ( rule__Style__TextcolorAssignment_4_3_1 )
-            // InternalReportDSL.g:9957:3: rule__Style__TextcolorAssignment_4_3_1
+            // InternalReportDSL.g:10018:2: ( rule__Style__TextcolorAssignment_4_3_1 )
+            // InternalReportDSL.g:10018:3: rule__Style__TextcolorAssignment_4_3_1
             {
             pushFollow(FOLLOW_2);
             rule__Style__TextcolorAssignment_4_3_1();
@@ -35408,14 +35691,14 @@
 
 
     // $ANTLR start "rule__Style__Group_4_4__0"
-    // InternalReportDSL.g:9966:1: rule__Style__Group_4_4__0 : rule__Style__Group_4_4__0__Impl rule__Style__Group_4_4__1 ;
+    // InternalReportDSL.g:10027:1: rule__Style__Group_4_4__0 : rule__Style__Group_4_4__0__Impl rule__Style__Group_4_4__1 ;
     public final void rule__Style__Group_4_4__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:9970:1: ( rule__Style__Group_4_4__0__Impl rule__Style__Group_4_4__1 )
-            // InternalReportDSL.g:9971:2: rule__Style__Group_4_4__0__Impl rule__Style__Group_4_4__1
+            // InternalReportDSL.g:10031:1: ( rule__Style__Group_4_4__0__Impl rule__Style__Group_4_4__1 )
+            // InternalReportDSL.g:10032:2: rule__Style__Group_4_4__0__Impl rule__Style__Group_4_4__1
             {
             pushFollow(FOLLOW_51);
             rule__Style__Group_4_4__0__Impl();
@@ -35446,22 +35729,22 @@
 
 
     // $ANTLR start "rule__Style__Group_4_4__0__Impl"
-    // InternalReportDSL.g:9978:1: rule__Style__Group_4_4__0__Impl : ( 'textalign' ) ;
+    // InternalReportDSL.g:10039:1: rule__Style__Group_4_4__0__Impl : ( 'textalign' ) ;
     public final void rule__Style__Group_4_4__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:9982:1: ( ( 'textalign' ) )
-            // InternalReportDSL.g:9983:1: ( 'textalign' )
+            // InternalReportDSL.g:10043:1: ( ( 'textalign' ) )
+            // InternalReportDSL.g:10044:1: ( 'textalign' )
             {
-            // InternalReportDSL.g:9983:1: ( 'textalign' )
-            // InternalReportDSL.g:9984:2: 'textalign'
+            // InternalReportDSL.g:10044:1: ( 'textalign' )
+            // InternalReportDSL.g:10045:2: 'textalign'
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getStyleAccess().getTextalignKeyword_4_4_0()); 
             }
-            match(input,157,FOLLOW_2); if (state.failed) return ;
+            match(input,163,FOLLOW_2); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getStyleAccess().getTextalignKeyword_4_4_0()); 
             }
@@ -35487,14 +35770,14 @@
 
 
     // $ANTLR start "rule__Style__Group_4_4__1"
-    // InternalReportDSL.g:9993:1: rule__Style__Group_4_4__1 : rule__Style__Group_4_4__1__Impl ;
+    // InternalReportDSL.g:10054:1: rule__Style__Group_4_4__1 : rule__Style__Group_4_4__1__Impl ;
     public final void rule__Style__Group_4_4__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:9997:1: ( rule__Style__Group_4_4__1__Impl )
-            // InternalReportDSL.g:9998:2: rule__Style__Group_4_4__1__Impl
+            // InternalReportDSL.g:10058:1: ( rule__Style__Group_4_4__1__Impl )
+            // InternalReportDSL.g:10059:2: rule__Style__Group_4_4__1__Impl
             {
             pushFollow(FOLLOW_2);
             rule__Style__Group_4_4__1__Impl();
@@ -35520,23 +35803,23 @@
 
 
     // $ANTLR start "rule__Style__Group_4_4__1__Impl"
-    // InternalReportDSL.g:10004:1: rule__Style__Group_4_4__1__Impl : ( ( rule__Style__TextalignAssignment_4_4_1 ) ) ;
+    // InternalReportDSL.g:10065:1: rule__Style__Group_4_4__1__Impl : ( ( rule__Style__TextalignAssignment_4_4_1 ) ) ;
     public final void rule__Style__Group_4_4__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:10008:1: ( ( ( rule__Style__TextalignAssignment_4_4_1 ) ) )
-            // InternalReportDSL.g:10009:1: ( ( rule__Style__TextalignAssignment_4_4_1 ) )
+            // InternalReportDSL.g:10069:1: ( ( ( rule__Style__TextalignAssignment_4_4_1 ) ) )
+            // InternalReportDSL.g:10070:1: ( ( rule__Style__TextalignAssignment_4_4_1 ) )
             {
-            // InternalReportDSL.g:10009:1: ( ( rule__Style__TextalignAssignment_4_4_1 ) )
-            // InternalReportDSL.g:10010:2: ( rule__Style__TextalignAssignment_4_4_1 )
+            // InternalReportDSL.g:10070:1: ( ( rule__Style__TextalignAssignment_4_4_1 ) )
+            // InternalReportDSL.g:10071:2: ( rule__Style__TextalignAssignment_4_4_1 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getStyleAccess().getTextalignAssignment_4_4_1()); 
             }
-            // InternalReportDSL.g:10011:2: ( rule__Style__TextalignAssignment_4_4_1 )
-            // InternalReportDSL.g:10011:3: rule__Style__TextalignAssignment_4_4_1
+            // InternalReportDSL.g:10072:2: ( rule__Style__TextalignAssignment_4_4_1 )
+            // InternalReportDSL.g:10072:3: rule__Style__TextalignAssignment_4_4_1
             {
             pushFollow(FOLLOW_2);
             rule__Style__TextalignAssignment_4_4_1();
@@ -35571,14 +35854,14 @@
 
 
     // $ANTLR start "rule__Style__Group_4_5__0"
-    // InternalReportDSL.g:10020:1: rule__Style__Group_4_5__0 : rule__Style__Group_4_5__0__Impl rule__Style__Group_4_5__1 ;
+    // InternalReportDSL.g:10081:1: rule__Style__Group_4_5__0 : rule__Style__Group_4_5__0__Impl rule__Style__Group_4_5__1 ;
     public final void rule__Style__Group_4_5__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:10024:1: ( rule__Style__Group_4_5__0__Impl rule__Style__Group_4_5__1 )
-            // InternalReportDSL.g:10025:2: rule__Style__Group_4_5__0__Impl rule__Style__Group_4_5__1
+            // InternalReportDSL.g:10085:1: ( rule__Style__Group_4_5__0__Impl rule__Style__Group_4_5__1 )
+            // InternalReportDSL.g:10086:2: rule__Style__Group_4_5__0__Impl rule__Style__Group_4_5__1
             {
             pushFollow(FOLLOW_52);
             rule__Style__Group_4_5__0__Impl();
@@ -35609,24 +35892,24 @@
 
 
     // $ANTLR start "rule__Style__Group_4_5__0__Impl"
-    // InternalReportDSL.g:10032:1: rule__Style__Group_4_5__0__Impl : ( 'border-top' ) ;
+    // InternalReportDSL.g:10093:1: rule__Style__Group_4_5__0__Impl : ( 'verticalalign' ) ;
     public final void rule__Style__Group_4_5__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:10036:1: ( ( 'border-top' ) )
-            // InternalReportDSL.g:10037:1: ( 'border-top' )
+            // InternalReportDSL.g:10097:1: ( ( 'verticalalign' ) )
+            // InternalReportDSL.g:10098:1: ( 'verticalalign' )
             {
-            // InternalReportDSL.g:10037:1: ( 'border-top' )
-            // InternalReportDSL.g:10038:2: 'border-top'
+            // InternalReportDSL.g:10098:1: ( 'verticalalign' )
+            // InternalReportDSL.g:10099:2: 'verticalalign'
             {
             if ( state.backtracking==0 ) {
-               before(grammarAccess.getStyleAccess().getBorderTopKeyword_4_5_0()); 
+               before(grammarAccess.getStyleAccess().getVerticalalignKeyword_4_5_0()); 
             }
-            match(input,158,FOLLOW_2); if (state.failed) return ;
+            match(input,164,FOLLOW_2); if (state.failed) return ;
             if ( state.backtracking==0 ) {
-               after(grammarAccess.getStyleAccess().getBorderTopKeyword_4_5_0()); 
+               after(grammarAccess.getStyleAccess().getVerticalalignKeyword_4_5_0()); 
             }
 
             }
@@ -35650,14 +35933,14 @@
 
 
     // $ANTLR start "rule__Style__Group_4_5__1"
-    // InternalReportDSL.g:10047:1: rule__Style__Group_4_5__1 : rule__Style__Group_4_5__1__Impl ;
+    // InternalReportDSL.g:10108:1: rule__Style__Group_4_5__1 : rule__Style__Group_4_5__1__Impl ;
     public final void rule__Style__Group_4_5__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:10051:1: ( rule__Style__Group_4_5__1__Impl )
-            // InternalReportDSL.g:10052:2: rule__Style__Group_4_5__1__Impl
+            // InternalReportDSL.g:10112:1: ( rule__Style__Group_4_5__1__Impl )
+            // InternalReportDSL.g:10113:2: rule__Style__Group_4_5__1__Impl
             {
             pushFollow(FOLLOW_2);
             rule__Style__Group_4_5__1__Impl();
@@ -35683,26 +35966,26 @@
 
 
     // $ANTLR start "rule__Style__Group_4_5__1__Impl"
-    // InternalReportDSL.g:10058:1: rule__Style__Group_4_5__1__Impl : ( ( rule__Style__BorderTopAssignment_4_5_1 ) ) ;
+    // InternalReportDSL.g:10119:1: rule__Style__Group_4_5__1__Impl : ( ( rule__Style__VerticalalignAssignment_4_5_1 ) ) ;
     public final void rule__Style__Group_4_5__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:10062:1: ( ( ( rule__Style__BorderTopAssignment_4_5_1 ) ) )
-            // InternalReportDSL.g:10063:1: ( ( rule__Style__BorderTopAssignment_4_5_1 ) )
+            // InternalReportDSL.g:10123:1: ( ( ( rule__Style__VerticalalignAssignment_4_5_1 ) ) )
+            // InternalReportDSL.g:10124:1: ( ( rule__Style__VerticalalignAssignment_4_5_1 ) )
             {
-            // InternalReportDSL.g:10063:1: ( ( rule__Style__BorderTopAssignment_4_5_1 ) )
-            // InternalReportDSL.g:10064:2: ( rule__Style__BorderTopAssignment_4_5_1 )
+            // InternalReportDSL.g:10124:1: ( ( rule__Style__VerticalalignAssignment_4_5_1 ) )
+            // InternalReportDSL.g:10125:2: ( rule__Style__VerticalalignAssignment_4_5_1 )
             {
             if ( state.backtracking==0 ) {
-               before(grammarAccess.getStyleAccess().getBorderTopAssignment_4_5_1()); 
+               before(grammarAccess.getStyleAccess().getVerticalalignAssignment_4_5_1()); 
             }
-            // InternalReportDSL.g:10065:2: ( rule__Style__BorderTopAssignment_4_5_1 )
-            // InternalReportDSL.g:10065:3: rule__Style__BorderTopAssignment_4_5_1
+            // InternalReportDSL.g:10126:2: ( rule__Style__VerticalalignAssignment_4_5_1 )
+            // InternalReportDSL.g:10126:3: rule__Style__VerticalalignAssignment_4_5_1
             {
             pushFollow(FOLLOW_2);
-            rule__Style__BorderTopAssignment_4_5_1();
+            rule__Style__VerticalalignAssignment_4_5_1();
 
             state._fsp--;
             if (state.failed) return ;
@@ -35710,7 +35993,7 @@
             }
 
             if ( state.backtracking==0 ) {
-               after(grammarAccess.getStyleAccess().getBorderTopAssignment_4_5_1()); 
+               after(grammarAccess.getStyleAccess().getVerticalalignAssignment_4_5_1()); 
             }
 
             }
@@ -35734,16 +36017,16 @@
 
 
     // $ANTLR start "rule__Style__Group_4_6__0"
-    // InternalReportDSL.g:10074:1: rule__Style__Group_4_6__0 : rule__Style__Group_4_6__0__Impl rule__Style__Group_4_6__1 ;
+    // InternalReportDSL.g:10135:1: rule__Style__Group_4_6__0 : rule__Style__Group_4_6__0__Impl rule__Style__Group_4_6__1 ;
     public final void rule__Style__Group_4_6__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:10078:1: ( rule__Style__Group_4_6__0__Impl rule__Style__Group_4_6__1 )
-            // InternalReportDSL.g:10079:2: rule__Style__Group_4_6__0__Impl rule__Style__Group_4_6__1
+            // InternalReportDSL.g:10139:1: ( rule__Style__Group_4_6__0__Impl rule__Style__Group_4_6__1 )
+            // InternalReportDSL.g:10140:2: rule__Style__Group_4_6__0__Impl rule__Style__Group_4_6__1
             {
-            pushFollow(FOLLOW_52);
+            pushFollow(FOLLOW_53);
             rule__Style__Group_4_6__0__Impl();
 
             state._fsp--;
@@ -35772,24 +36055,24 @@
 
 
     // $ANTLR start "rule__Style__Group_4_6__0__Impl"
-    // InternalReportDSL.g:10086:1: rule__Style__Group_4_6__0__Impl : ( 'border-bottom' ) ;
+    // InternalReportDSL.g:10147:1: rule__Style__Group_4_6__0__Impl : ( 'border-top' ) ;
     public final void rule__Style__Group_4_6__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:10090:1: ( ( 'border-bottom' ) )
-            // InternalReportDSL.g:10091:1: ( 'border-bottom' )
+            // InternalReportDSL.g:10151:1: ( ( 'border-top' ) )
+            // InternalReportDSL.g:10152:1: ( 'border-top' )
             {
-            // InternalReportDSL.g:10091:1: ( 'border-bottom' )
-            // InternalReportDSL.g:10092:2: 'border-bottom'
+            // InternalReportDSL.g:10152:1: ( 'border-top' )
+            // InternalReportDSL.g:10153:2: 'border-top'
             {
             if ( state.backtracking==0 ) {
-               before(grammarAccess.getStyleAccess().getBorderBottomKeyword_4_6_0()); 
+               before(grammarAccess.getStyleAccess().getBorderTopKeyword_4_6_0()); 
             }
-            match(input,159,FOLLOW_2); if (state.failed) return ;
+            match(input,165,FOLLOW_2); if (state.failed) return ;
             if ( state.backtracking==0 ) {
-               after(grammarAccess.getStyleAccess().getBorderBottomKeyword_4_6_0()); 
+               after(grammarAccess.getStyleAccess().getBorderTopKeyword_4_6_0()); 
             }
 
             }
@@ -35813,14 +36096,14 @@
 
 
     // $ANTLR start "rule__Style__Group_4_6__1"
-    // InternalReportDSL.g:10101:1: rule__Style__Group_4_6__1 : rule__Style__Group_4_6__1__Impl ;
+    // InternalReportDSL.g:10162:1: rule__Style__Group_4_6__1 : rule__Style__Group_4_6__1__Impl ;
     public final void rule__Style__Group_4_6__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:10105:1: ( rule__Style__Group_4_6__1__Impl )
-            // InternalReportDSL.g:10106:2: rule__Style__Group_4_6__1__Impl
+            // InternalReportDSL.g:10166:1: ( rule__Style__Group_4_6__1__Impl )
+            // InternalReportDSL.g:10167:2: rule__Style__Group_4_6__1__Impl
             {
             pushFollow(FOLLOW_2);
             rule__Style__Group_4_6__1__Impl();
@@ -35846,26 +36129,26 @@
 
 
     // $ANTLR start "rule__Style__Group_4_6__1__Impl"
-    // InternalReportDSL.g:10112:1: rule__Style__Group_4_6__1__Impl : ( ( rule__Style__BorderBottomAssignment_4_6_1 ) ) ;
+    // InternalReportDSL.g:10173:1: rule__Style__Group_4_6__1__Impl : ( ( rule__Style__BorderTopAssignment_4_6_1 ) ) ;
     public final void rule__Style__Group_4_6__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:10116:1: ( ( ( rule__Style__BorderBottomAssignment_4_6_1 ) ) )
-            // InternalReportDSL.g:10117:1: ( ( rule__Style__BorderBottomAssignment_4_6_1 ) )
+            // InternalReportDSL.g:10177:1: ( ( ( rule__Style__BorderTopAssignment_4_6_1 ) ) )
+            // InternalReportDSL.g:10178:1: ( ( rule__Style__BorderTopAssignment_4_6_1 ) )
             {
-            // InternalReportDSL.g:10117:1: ( ( rule__Style__BorderBottomAssignment_4_6_1 ) )
-            // InternalReportDSL.g:10118:2: ( rule__Style__BorderBottomAssignment_4_6_1 )
+            // InternalReportDSL.g:10178:1: ( ( rule__Style__BorderTopAssignment_4_6_1 ) )
+            // InternalReportDSL.g:10179:2: ( rule__Style__BorderTopAssignment_4_6_1 )
             {
             if ( state.backtracking==0 ) {
-               before(grammarAccess.getStyleAccess().getBorderBottomAssignment_4_6_1()); 
+               before(grammarAccess.getStyleAccess().getBorderTopAssignment_4_6_1()); 
             }
-            // InternalReportDSL.g:10119:2: ( rule__Style__BorderBottomAssignment_4_6_1 )
-            // InternalReportDSL.g:10119:3: rule__Style__BorderBottomAssignment_4_6_1
+            // InternalReportDSL.g:10180:2: ( rule__Style__BorderTopAssignment_4_6_1 )
+            // InternalReportDSL.g:10180:3: rule__Style__BorderTopAssignment_4_6_1
             {
             pushFollow(FOLLOW_2);
-            rule__Style__BorderBottomAssignment_4_6_1();
+            rule__Style__BorderTopAssignment_4_6_1();
 
             state._fsp--;
             if (state.failed) return ;
@@ -35873,7 +36156,7 @@
             }
 
             if ( state.backtracking==0 ) {
-               after(grammarAccess.getStyleAccess().getBorderBottomAssignment_4_6_1()); 
+               after(grammarAccess.getStyleAccess().getBorderTopAssignment_4_6_1()); 
             }
 
             }
@@ -35897,16 +36180,16 @@
 
 
     // $ANTLR start "rule__Style__Group_4_7__0"
-    // InternalReportDSL.g:10128:1: rule__Style__Group_4_7__0 : rule__Style__Group_4_7__0__Impl rule__Style__Group_4_7__1 ;
+    // InternalReportDSL.g:10189:1: rule__Style__Group_4_7__0 : rule__Style__Group_4_7__0__Impl rule__Style__Group_4_7__1 ;
     public final void rule__Style__Group_4_7__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:10132:1: ( rule__Style__Group_4_7__0__Impl rule__Style__Group_4_7__1 )
-            // InternalReportDSL.g:10133:2: rule__Style__Group_4_7__0__Impl rule__Style__Group_4_7__1
+            // InternalReportDSL.g:10193:1: ( rule__Style__Group_4_7__0__Impl rule__Style__Group_4_7__1 )
+            // InternalReportDSL.g:10194:2: rule__Style__Group_4_7__0__Impl rule__Style__Group_4_7__1
             {
-            pushFollow(FOLLOW_52);
+            pushFollow(FOLLOW_53);
             rule__Style__Group_4_7__0__Impl();
 
             state._fsp--;
@@ -35935,24 +36218,24 @@
 
 
     // $ANTLR start "rule__Style__Group_4_7__0__Impl"
-    // InternalReportDSL.g:10140:1: rule__Style__Group_4_7__0__Impl : ( 'border-left' ) ;
+    // InternalReportDSL.g:10201:1: rule__Style__Group_4_7__0__Impl : ( 'border-bottom' ) ;
     public final void rule__Style__Group_4_7__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:10144:1: ( ( 'border-left' ) )
-            // InternalReportDSL.g:10145:1: ( 'border-left' )
+            // InternalReportDSL.g:10205:1: ( ( 'border-bottom' ) )
+            // InternalReportDSL.g:10206:1: ( 'border-bottom' )
             {
-            // InternalReportDSL.g:10145:1: ( 'border-left' )
-            // InternalReportDSL.g:10146:2: 'border-left'
+            // InternalReportDSL.g:10206:1: ( 'border-bottom' )
+            // InternalReportDSL.g:10207:2: 'border-bottom'
             {
             if ( state.backtracking==0 ) {
-               before(grammarAccess.getStyleAccess().getBorderLeftKeyword_4_7_0()); 
+               before(grammarAccess.getStyleAccess().getBorderBottomKeyword_4_7_0()); 
             }
-            match(input,160,FOLLOW_2); if (state.failed) return ;
+            match(input,166,FOLLOW_2); if (state.failed) return ;
             if ( state.backtracking==0 ) {
-               after(grammarAccess.getStyleAccess().getBorderLeftKeyword_4_7_0()); 
+               after(grammarAccess.getStyleAccess().getBorderBottomKeyword_4_7_0()); 
             }
 
             }
@@ -35976,14 +36259,14 @@
 
 
     // $ANTLR start "rule__Style__Group_4_7__1"
-    // InternalReportDSL.g:10155:1: rule__Style__Group_4_7__1 : rule__Style__Group_4_7__1__Impl ;
+    // InternalReportDSL.g:10216:1: rule__Style__Group_4_7__1 : rule__Style__Group_4_7__1__Impl ;
     public final void rule__Style__Group_4_7__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:10159:1: ( rule__Style__Group_4_7__1__Impl )
-            // InternalReportDSL.g:10160:2: rule__Style__Group_4_7__1__Impl
+            // InternalReportDSL.g:10220:1: ( rule__Style__Group_4_7__1__Impl )
+            // InternalReportDSL.g:10221:2: rule__Style__Group_4_7__1__Impl
             {
             pushFollow(FOLLOW_2);
             rule__Style__Group_4_7__1__Impl();
@@ -36009,26 +36292,26 @@
 
 
     // $ANTLR start "rule__Style__Group_4_7__1__Impl"
-    // InternalReportDSL.g:10166:1: rule__Style__Group_4_7__1__Impl : ( ( rule__Style__BorderLeftAssignment_4_7_1 ) ) ;
+    // InternalReportDSL.g:10227:1: rule__Style__Group_4_7__1__Impl : ( ( rule__Style__BorderBottomAssignment_4_7_1 ) ) ;
     public final void rule__Style__Group_4_7__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:10170:1: ( ( ( rule__Style__BorderLeftAssignment_4_7_1 ) ) )
-            // InternalReportDSL.g:10171:1: ( ( rule__Style__BorderLeftAssignment_4_7_1 ) )
+            // InternalReportDSL.g:10231:1: ( ( ( rule__Style__BorderBottomAssignment_4_7_1 ) ) )
+            // InternalReportDSL.g:10232:1: ( ( rule__Style__BorderBottomAssignment_4_7_1 ) )
             {
-            // InternalReportDSL.g:10171:1: ( ( rule__Style__BorderLeftAssignment_4_7_1 ) )
-            // InternalReportDSL.g:10172:2: ( rule__Style__BorderLeftAssignment_4_7_1 )
+            // InternalReportDSL.g:10232:1: ( ( rule__Style__BorderBottomAssignment_4_7_1 ) )
+            // InternalReportDSL.g:10233:2: ( rule__Style__BorderBottomAssignment_4_7_1 )
             {
             if ( state.backtracking==0 ) {
-               before(grammarAccess.getStyleAccess().getBorderLeftAssignment_4_7_1()); 
+               before(grammarAccess.getStyleAccess().getBorderBottomAssignment_4_7_1()); 
             }
-            // InternalReportDSL.g:10173:2: ( rule__Style__BorderLeftAssignment_4_7_1 )
-            // InternalReportDSL.g:10173:3: rule__Style__BorderLeftAssignment_4_7_1
+            // InternalReportDSL.g:10234:2: ( rule__Style__BorderBottomAssignment_4_7_1 )
+            // InternalReportDSL.g:10234:3: rule__Style__BorderBottomAssignment_4_7_1
             {
             pushFollow(FOLLOW_2);
-            rule__Style__BorderLeftAssignment_4_7_1();
+            rule__Style__BorderBottomAssignment_4_7_1();
 
             state._fsp--;
             if (state.failed) return ;
@@ -36036,7 +36319,7 @@
             }
 
             if ( state.backtracking==0 ) {
-               after(grammarAccess.getStyleAccess().getBorderLeftAssignment_4_7_1()); 
+               after(grammarAccess.getStyleAccess().getBorderBottomAssignment_4_7_1()); 
             }
 
             }
@@ -36060,16 +36343,16 @@
 
 
     // $ANTLR start "rule__Style__Group_4_8__0"
-    // InternalReportDSL.g:10182:1: rule__Style__Group_4_8__0 : rule__Style__Group_4_8__0__Impl rule__Style__Group_4_8__1 ;
+    // InternalReportDSL.g:10243:1: rule__Style__Group_4_8__0 : rule__Style__Group_4_8__0__Impl rule__Style__Group_4_8__1 ;
     public final void rule__Style__Group_4_8__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:10186:1: ( rule__Style__Group_4_8__0__Impl rule__Style__Group_4_8__1 )
-            // InternalReportDSL.g:10187:2: rule__Style__Group_4_8__0__Impl rule__Style__Group_4_8__1
+            // InternalReportDSL.g:10247:1: ( rule__Style__Group_4_8__0__Impl rule__Style__Group_4_8__1 )
+            // InternalReportDSL.g:10248:2: rule__Style__Group_4_8__0__Impl rule__Style__Group_4_8__1
             {
-            pushFollow(FOLLOW_52);
+            pushFollow(FOLLOW_53);
             rule__Style__Group_4_8__0__Impl();
 
             state._fsp--;
@@ -36098,24 +36381,24 @@
 
 
     // $ANTLR start "rule__Style__Group_4_8__0__Impl"
-    // InternalReportDSL.g:10194:1: rule__Style__Group_4_8__0__Impl : ( 'border-right' ) ;
+    // InternalReportDSL.g:10255:1: rule__Style__Group_4_8__0__Impl : ( 'border-left' ) ;
     public final void rule__Style__Group_4_8__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:10198:1: ( ( 'border-right' ) )
-            // InternalReportDSL.g:10199:1: ( 'border-right' )
+            // InternalReportDSL.g:10259:1: ( ( 'border-left' ) )
+            // InternalReportDSL.g:10260:1: ( 'border-left' )
             {
-            // InternalReportDSL.g:10199:1: ( 'border-right' )
-            // InternalReportDSL.g:10200:2: 'border-right'
+            // InternalReportDSL.g:10260:1: ( 'border-left' )
+            // InternalReportDSL.g:10261:2: 'border-left'
             {
             if ( state.backtracking==0 ) {
-               before(grammarAccess.getStyleAccess().getBorderRightKeyword_4_8_0()); 
+               before(grammarAccess.getStyleAccess().getBorderLeftKeyword_4_8_0()); 
             }
-            match(input,161,FOLLOW_2); if (state.failed) return ;
+            match(input,167,FOLLOW_2); if (state.failed) return ;
             if ( state.backtracking==0 ) {
-               after(grammarAccess.getStyleAccess().getBorderRightKeyword_4_8_0()); 
+               after(grammarAccess.getStyleAccess().getBorderLeftKeyword_4_8_0()); 
             }
 
             }
@@ -36139,14 +36422,14 @@
 
 
     // $ANTLR start "rule__Style__Group_4_8__1"
-    // InternalReportDSL.g:10209:1: rule__Style__Group_4_8__1 : rule__Style__Group_4_8__1__Impl ;
+    // InternalReportDSL.g:10270:1: rule__Style__Group_4_8__1 : rule__Style__Group_4_8__1__Impl ;
     public final void rule__Style__Group_4_8__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:10213:1: ( rule__Style__Group_4_8__1__Impl )
-            // InternalReportDSL.g:10214:2: rule__Style__Group_4_8__1__Impl
+            // InternalReportDSL.g:10274:1: ( rule__Style__Group_4_8__1__Impl )
+            // InternalReportDSL.g:10275:2: rule__Style__Group_4_8__1__Impl
             {
             pushFollow(FOLLOW_2);
             rule__Style__Group_4_8__1__Impl();
@@ -36172,26 +36455,26 @@
 
 
     // $ANTLR start "rule__Style__Group_4_8__1__Impl"
-    // InternalReportDSL.g:10220:1: rule__Style__Group_4_8__1__Impl : ( ( rule__Style__BorderRightAssignment_4_8_1 ) ) ;
+    // InternalReportDSL.g:10281:1: rule__Style__Group_4_8__1__Impl : ( ( rule__Style__BorderLeftAssignment_4_8_1 ) ) ;
     public final void rule__Style__Group_4_8__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:10224:1: ( ( ( rule__Style__BorderRightAssignment_4_8_1 ) ) )
-            // InternalReportDSL.g:10225:1: ( ( rule__Style__BorderRightAssignment_4_8_1 ) )
+            // InternalReportDSL.g:10285:1: ( ( ( rule__Style__BorderLeftAssignment_4_8_1 ) ) )
+            // InternalReportDSL.g:10286:1: ( ( rule__Style__BorderLeftAssignment_4_8_1 ) )
             {
-            // InternalReportDSL.g:10225:1: ( ( rule__Style__BorderRightAssignment_4_8_1 ) )
-            // InternalReportDSL.g:10226:2: ( rule__Style__BorderRightAssignment_4_8_1 )
+            // InternalReportDSL.g:10286:1: ( ( rule__Style__BorderLeftAssignment_4_8_1 ) )
+            // InternalReportDSL.g:10287:2: ( rule__Style__BorderLeftAssignment_4_8_1 )
             {
             if ( state.backtracking==0 ) {
-               before(grammarAccess.getStyleAccess().getBorderRightAssignment_4_8_1()); 
+               before(grammarAccess.getStyleAccess().getBorderLeftAssignment_4_8_1()); 
             }
-            // InternalReportDSL.g:10227:2: ( rule__Style__BorderRightAssignment_4_8_1 )
-            // InternalReportDSL.g:10227:3: rule__Style__BorderRightAssignment_4_8_1
+            // InternalReportDSL.g:10288:2: ( rule__Style__BorderLeftAssignment_4_8_1 )
+            // InternalReportDSL.g:10288:3: rule__Style__BorderLeftAssignment_4_8_1
             {
             pushFollow(FOLLOW_2);
-            rule__Style__BorderRightAssignment_4_8_1();
+            rule__Style__BorderLeftAssignment_4_8_1();
 
             state._fsp--;
             if (state.failed) return ;
@@ -36199,7 +36482,7 @@
             }
 
             if ( state.backtracking==0 ) {
-               after(grammarAccess.getStyleAccess().getBorderRightAssignment_4_8_1()); 
+               after(grammarAccess.getStyleAccess().getBorderLeftAssignment_4_8_1()); 
             }
 
             }
@@ -36223,16 +36506,16 @@
 
 
     // $ANTLR start "rule__Style__Group_4_9__0"
-    // InternalReportDSL.g:10236:1: rule__Style__Group_4_9__0 : rule__Style__Group_4_9__0__Impl rule__Style__Group_4_9__1 ;
+    // InternalReportDSL.g:10297:1: rule__Style__Group_4_9__0 : rule__Style__Group_4_9__0__Impl rule__Style__Group_4_9__1 ;
     public final void rule__Style__Group_4_9__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:10240:1: ( rule__Style__Group_4_9__0__Impl rule__Style__Group_4_9__1 )
-            // InternalReportDSL.g:10241:2: rule__Style__Group_4_9__0__Impl rule__Style__Group_4_9__1
+            // InternalReportDSL.g:10301:1: ( rule__Style__Group_4_9__0__Impl rule__Style__Group_4_9__1 )
+            // InternalReportDSL.g:10302:2: rule__Style__Group_4_9__0__Impl rule__Style__Group_4_9__1
             {
-            pushFollow(FOLLOW_36);
+            pushFollow(FOLLOW_53);
             rule__Style__Group_4_9__0__Impl();
 
             state._fsp--;
@@ -36261,24 +36544,24 @@
 
 
     // $ANTLR start "rule__Style__Group_4_9__0__Impl"
-    // InternalReportDSL.g:10248:1: rule__Style__Group_4_9__0__Impl : ( 'padding-top' ) ;
+    // InternalReportDSL.g:10309:1: rule__Style__Group_4_9__0__Impl : ( 'border-right' ) ;
     public final void rule__Style__Group_4_9__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:10252:1: ( ( 'padding-top' ) )
-            // InternalReportDSL.g:10253:1: ( 'padding-top' )
+            // InternalReportDSL.g:10313:1: ( ( 'border-right' ) )
+            // InternalReportDSL.g:10314:1: ( 'border-right' )
             {
-            // InternalReportDSL.g:10253:1: ( 'padding-top' )
-            // InternalReportDSL.g:10254:2: 'padding-top'
+            // InternalReportDSL.g:10314:1: ( 'border-right' )
+            // InternalReportDSL.g:10315:2: 'border-right'
             {
             if ( state.backtracking==0 ) {
-               before(grammarAccess.getStyleAccess().getPaddingTopKeyword_4_9_0()); 
+               before(grammarAccess.getStyleAccess().getBorderRightKeyword_4_9_0()); 
             }
-            match(input,162,FOLLOW_2); if (state.failed) return ;
+            match(input,168,FOLLOW_2); if (state.failed) return ;
             if ( state.backtracking==0 ) {
-               after(grammarAccess.getStyleAccess().getPaddingTopKeyword_4_9_0()); 
+               after(grammarAccess.getStyleAccess().getBorderRightKeyword_4_9_0()); 
             }
 
             }
@@ -36302,14 +36585,14 @@
 
 
     // $ANTLR start "rule__Style__Group_4_9__1"
-    // InternalReportDSL.g:10263:1: rule__Style__Group_4_9__1 : rule__Style__Group_4_9__1__Impl ;
+    // InternalReportDSL.g:10324:1: rule__Style__Group_4_9__1 : rule__Style__Group_4_9__1__Impl ;
     public final void rule__Style__Group_4_9__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:10267:1: ( rule__Style__Group_4_9__1__Impl )
-            // InternalReportDSL.g:10268:2: rule__Style__Group_4_9__1__Impl
+            // InternalReportDSL.g:10328:1: ( rule__Style__Group_4_9__1__Impl )
+            // InternalReportDSL.g:10329:2: rule__Style__Group_4_9__1__Impl
             {
             pushFollow(FOLLOW_2);
             rule__Style__Group_4_9__1__Impl();
@@ -36335,26 +36618,26 @@
 
 
     // $ANTLR start "rule__Style__Group_4_9__1__Impl"
-    // InternalReportDSL.g:10274:1: rule__Style__Group_4_9__1__Impl : ( ( rule__Style__PaddingTopValueAssignment_4_9_1 ) ) ;
+    // InternalReportDSL.g:10335:1: rule__Style__Group_4_9__1__Impl : ( ( rule__Style__BorderRightAssignment_4_9_1 ) ) ;
     public final void rule__Style__Group_4_9__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:10278:1: ( ( ( rule__Style__PaddingTopValueAssignment_4_9_1 ) ) )
-            // InternalReportDSL.g:10279:1: ( ( rule__Style__PaddingTopValueAssignment_4_9_1 ) )
+            // InternalReportDSL.g:10339:1: ( ( ( rule__Style__BorderRightAssignment_4_9_1 ) ) )
+            // InternalReportDSL.g:10340:1: ( ( rule__Style__BorderRightAssignment_4_9_1 ) )
             {
-            // InternalReportDSL.g:10279:1: ( ( rule__Style__PaddingTopValueAssignment_4_9_1 ) )
-            // InternalReportDSL.g:10280:2: ( rule__Style__PaddingTopValueAssignment_4_9_1 )
+            // InternalReportDSL.g:10340:1: ( ( rule__Style__BorderRightAssignment_4_9_1 ) )
+            // InternalReportDSL.g:10341:2: ( rule__Style__BorderRightAssignment_4_9_1 )
             {
             if ( state.backtracking==0 ) {
-               before(grammarAccess.getStyleAccess().getPaddingTopValueAssignment_4_9_1()); 
+               before(grammarAccess.getStyleAccess().getBorderRightAssignment_4_9_1()); 
             }
-            // InternalReportDSL.g:10281:2: ( rule__Style__PaddingTopValueAssignment_4_9_1 )
-            // InternalReportDSL.g:10281:3: rule__Style__PaddingTopValueAssignment_4_9_1
+            // InternalReportDSL.g:10342:2: ( rule__Style__BorderRightAssignment_4_9_1 )
+            // InternalReportDSL.g:10342:3: rule__Style__BorderRightAssignment_4_9_1
             {
             pushFollow(FOLLOW_2);
-            rule__Style__PaddingTopValueAssignment_4_9_1();
+            rule__Style__BorderRightAssignment_4_9_1();
 
             state._fsp--;
             if (state.failed) return ;
@@ -36362,7 +36645,7 @@
             }
 
             if ( state.backtracking==0 ) {
-               after(grammarAccess.getStyleAccess().getPaddingTopValueAssignment_4_9_1()); 
+               after(grammarAccess.getStyleAccess().getBorderRightAssignment_4_9_1()); 
             }
 
             }
@@ -36386,14 +36669,14 @@
 
 
     // $ANTLR start "rule__Style__Group_4_10__0"
-    // InternalReportDSL.g:10290:1: rule__Style__Group_4_10__0 : rule__Style__Group_4_10__0__Impl rule__Style__Group_4_10__1 ;
+    // InternalReportDSL.g:10351:1: rule__Style__Group_4_10__0 : rule__Style__Group_4_10__0__Impl rule__Style__Group_4_10__1 ;
     public final void rule__Style__Group_4_10__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:10294:1: ( rule__Style__Group_4_10__0__Impl rule__Style__Group_4_10__1 )
-            // InternalReportDSL.g:10295:2: rule__Style__Group_4_10__0__Impl rule__Style__Group_4_10__1
+            // InternalReportDSL.g:10355:1: ( rule__Style__Group_4_10__0__Impl rule__Style__Group_4_10__1 )
+            // InternalReportDSL.g:10356:2: rule__Style__Group_4_10__0__Impl rule__Style__Group_4_10__1
             {
             pushFollow(FOLLOW_36);
             rule__Style__Group_4_10__0__Impl();
@@ -36424,24 +36707,24 @@
 
 
     // $ANTLR start "rule__Style__Group_4_10__0__Impl"
-    // InternalReportDSL.g:10302:1: rule__Style__Group_4_10__0__Impl : ( 'padding-bottom' ) ;
+    // InternalReportDSL.g:10363:1: rule__Style__Group_4_10__0__Impl : ( 'padding-top' ) ;
     public final void rule__Style__Group_4_10__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:10306:1: ( ( 'padding-bottom' ) )
-            // InternalReportDSL.g:10307:1: ( 'padding-bottom' )
+            // InternalReportDSL.g:10367:1: ( ( 'padding-top' ) )
+            // InternalReportDSL.g:10368:1: ( 'padding-top' )
             {
-            // InternalReportDSL.g:10307:1: ( 'padding-bottom' )
-            // InternalReportDSL.g:10308:2: 'padding-bottom'
+            // InternalReportDSL.g:10368:1: ( 'padding-top' )
+            // InternalReportDSL.g:10369:2: 'padding-top'
             {
             if ( state.backtracking==0 ) {
-               before(grammarAccess.getStyleAccess().getPaddingBottomKeyword_4_10_0()); 
+               before(grammarAccess.getStyleAccess().getPaddingTopKeyword_4_10_0()); 
             }
-            match(input,163,FOLLOW_2); if (state.failed) return ;
+            match(input,169,FOLLOW_2); if (state.failed) return ;
             if ( state.backtracking==0 ) {
-               after(grammarAccess.getStyleAccess().getPaddingBottomKeyword_4_10_0()); 
+               after(grammarAccess.getStyleAccess().getPaddingTopKeyword_4_10_0()); 
             }
 
             }
@@ -36465,14 +36748,14 @@
 
 
     // $ANTLR start "rule__Style__Group_4_10__1"
-    // InternalReportDSL.g:10317:1: rule__Style__Group_4_10__1 : rule__Style__Group_4_10__1__Impl ;
+    // InternalReportDSL.g:10378:1: rule__Style__Group_4_10__1 : rule__Style__Group_4_10__1__Impl ;
     public final void rule__Style__Group_4_10__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:10321:1: ( rule__Style__Group_4_10__1__Impl )
-            // InternalReportDSL.g:10322:2: rule__Style__Group_4_10__1__Impl
+            // InternalReportDSL.g:10382:1: ( rule__Style__Group_4_10__1__Impl )
+            // InternalReportDSL.g:10383:2: rule__Style__Group_4_10__1__Impl
             {
             pushFollow(FOLLOW_2);
             rule__Style__Group_4_10__1__Impl();
@@ -36498,26 +36781,26 @@
 
 
     // $ANTLR start "rule__Style__Group_4_10__1__Impl"
-    // InternalReportDSL.g:10328:1: rule__Style__Group_4_10__1__Impl : ( ( rule__Style__PaddingBottomValueAssignment_4_10_1 ) ) ;
+    // InternalReportDSL.g:10389:1: rule__Style__Group_4_10__1__Impl : ( ( rule__Style__PaddingTopValueAssignment_4_10_1 ) ) ;
     public final void rule__Style__Group_4_10__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:10332:1: ( ( ( rule__Style__PaddingBottomValueAssignment_4_10_1 ) ) )
-            // InternalReportDSL.g:10333:1: ( ( rule__Style__PaddingBottomValueAssignment_4_10_1 ) )
+            // InternalReportDSL.g:10393:1: ( ( ( rule__Style__PaddingTopValueAssignment_4_10_1 ) ) )
+            // InternalReportDSL.g:10394:1: ( ( rule__Style__PaddingTopValueAssignment_4_10_1 ) )
             {
-            // InternalReportDSL.g:10333:1: ( ( rule__Style__PaddingBottomValueAssignment_4_10_1 ) )
-            // InternalReportDSL.g:10334:2: ( rule__Style__PaddingBottomValueAssignment_4_10_1 )
+            // InternalReportDSL.g:10394:1: ( ( rule__Style__PaddingTopValueAssignment_4_10_1 ) )
+            // InternalReportDSL.g:10395:2: ( rule__Style__PaddingTopValueAssignment_4_10_1 )
             {
             if ( state.backtracking==0 ) {
-               before(grammarAccess.getStyleAccess().getPaddingBottomValueAssignment_4_10_1()); 
+               before(grammarAccess.getStyleAccess().getPaddingTopValueAssignment_4_10_1()); 
             }
-            // InternalReportDSL.g:10335:2: ( rule__Style__PaddingBottomValueAssignment_4_10_1 )
-            // InternalReportDSL.g:10335:3: rule__Style__PaddingBottomValueAssignment_4_10_1
+            // InternalReportDSL.g:10396:2: ( rule__Style__PaddingTopValueAssignment_4_10_1 )
+            // InternalReportDSL.g:10396:3: rule__Style__PaddingTopValueAssignment_4_10_1
             {
             pushFollow(FOLLOW_2);
-            rule__Style__PaddingBottomValueAssignment_4_10_1();
+            rule__Style__PaddingTopValueAssignment_4_10_1();
 
             state._fsp--;
             if (state.failed) return ;
@@ -36525,7 +36808,7 @@
             }
 
             if ( state.backtracking==0 ) {
-               after(grammarAccess.getStyleAccess().getPaddingBottomValueAssignment_4_10_1()); 
+               after(grammarAccess.getStyleAccess().getPaddingTopValueAssignment_4_10_1()); 
             }
 
             }
@@ -36549,14 +36832,14 @@
 
 
     // $ANTLR start "rule__Style__Group_4_11__0"
-    // InternalReportDSL.g:10344:1: rule__Style__Group_4_11__0 : rule__Style__Group_4_11__0__Impl rule__Style__Group_4_11__1 ;
+    // InternalReportDSL.g:10405:1: rule__Style__Group_4_11__0 : rule__Style__Group_4_11__0__Impl rule__Style__Group_4_11__1 ;
     public final void rule__Style__Group_4_11__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:10348:1: ( rule__Style__Group_4_11__0__Impl rule__Style__Group_4_11__1 )
-            // InternalReportDSL.g:10349:2: rule__Style__Group_4_11__0__Impl rule__Style__Group_4_11__1
+            // InternalReportDSL.g:10409:1: ( rule__Style__Group_4_11__0__Impl rule__Style__Group_4_11__1 )
+            // InternalReportDSL.g:10410:2: rule__Style__Group_4_11__0__Impl rule__Style__Group_4_11__1
             {
             pushFollow(FOLLOW_36);
             rule__Style__Group_4_11__0__Impl();
@@ -36587,24 +36870,24 @@
 
 
     // $ANTLR start "rule__Style__Group_4_11__0__Impl"
-    // InternalReportDSL.g:10356:1: rule__Style__Group_4_11__0__Impl : ( 'padding-left' ) ;
+    // InternalReportDSL.g:10417:1: rule__Style__Group_4_11__0__Impl : ( 'padding-bottom' ) ;
     public final void rule__Style__Group_4_11__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:10360:1: ( ( 'padding-left' ) )
-            // InternalReportDSL.g:10361:1: ( 'padding-left' )
+            // InternalReportDSL.g:10421:1: ( ( 'padding-bottom' ) )
+            // InternalReportDSL.g:10422:1: ( 'padding-bottom' )
             {
-            // InternalReportDSL.g:10361:1: ( 'padding-left' )
-            // InternalReportDSL.g:10362:2: 'padding-left'
+            // InternalReportDSL.g:10422:1: ( 'padding-bottom' )
+            // InternalReportDSL.g:10423:2: 'padding-bottom'
             {
             if ( state.backtracking==0 ) {
-               before(grammarAccess.getStyleAccess().getPaddingLeftKeyword_4_11_0()); 
+               before(grammarAccess.getStyleAccess().getPaddingBottomKeyword_4_11_0()); 
             }
-            match(input,164,FOLLOW_2); if (state.failed) return ;
+            match(input,170,FOLLOW_2); if (state.failed) return ;
             if ( state.backtracking==0 ) {
-               after(grammarAccess.getStyleAccess().getPaddingLeftKeyword_4_11_0()); 
+               after(grammarAccess.getStyleAccess().getPaddingBottomKeyword_4_11_0()); 
             }
 
             }
@@ -36628,14 +36911,14 @@
 
 
     // $ANTLR start "rule__Style__Group_4_11__1"
-    // InternalReportDSL.g:10371:1: rule__Style__Group_4_11__1 : rule__Style__Group_4_11__1__Impl ;
+    // InternalReportDSL.g:10432:1: rule__Style__Group_4_11__1 : rule__Style__Group_4_11__1__Impl ;
     public final void rule__Style__Group_4_11__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:10375:1: ( rule__Style__Group_4_11__1__Impl )
-            // InternalReportDSL.g:10376:2: rule__Style__Group_4_11__1__Impl
+            // InternalReportDSL.g:10436:1: ( rule__Style__Group_4_11__1__Impl )
+            // InternalReportDSL.g:10437:2: rule__Style__Group_4_11__1__Impl
             {
             pushFollow(FOLLOW_2);
             rule__Style__Group_4_11__1__Impl();
@@ -36661,26 +36944,26 @@
 
 
     // $ANTLR start "rule__Style__Group_4_11__1__Impl"
-    // InternalReportDSL.g:10382:1: rule__Style__Group_4_11__1__Impl : ( ( rule__Style__PaddingLeftValueAssignment_4_11_1 ) ) ;
+    // InternalReportDSL.g:10443:1: rule__Style__Group_4_11__1__Impl : ( ( rule__Style__PaddingBottomValueAssignment_4_11_1 ) ) ;
     public final void rule__Style__Group_4_11__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:10386:1: ( ( ( rule__Style__PaddingLeftValueAssignment_4_11_1 ) ) )
-            // InternalReportDSL.g:10387:1: ( ( rule__Style__PaddingLeftValueAssignment_4_11_1 ) )
+            // InternalReportDSL.g:10447:1: ( ( ( rule__Style__PaddingBottomValueAssignment_4_11_1 ) ) )
+            // InternalReportDSL.g:10448:1: ( ( rule__Style__PaddingBottomValueAssignment_4_11_1 ) )
             {
-            // InternalReportDSL.g:10387:1: ( ( rule__Style__PaddingLeftValueAssignment_4_11_1 ) )
-            // InternalReportDSL.g:10388:2: ( rule__Style__PaddingLeftValueAssignment_4_11_1 )
+            // InternalReportDSL.g:10448:1: ( ( rule__Style__PaddingBottomValueAssignment_4_11_1 ) )
+            // InternalReportDSL.g:10449:2: ( rule__Style__PaddingBottomValueAssignment_4_11_1 )
             {
             if ( state.backtracking==0 ) {
-               before(grammarAccess.getStyleAccess().getPaddingLeftValueAssignment_4_11_1()); 
+               before(grammarAccess.getStyleAccess().getPaddingBottomValueAssignment_4_11_1()); 
             }
-            // InternalReportDSL.g:10389:2: ( rule__Style__PaddingLeftValueAssignment_4_11_1 )
-            // InternalReportDSL.g:10389:3: rule__Style__PaddingLeftValueAssignment_4_11_1
+            // InternalReportDSL.g:10450:2: ( rule__Style__PaddingBottomValueAssignment_4_11_1 )
+            // InternalReportDSL.g:10450:3: rule__Style__PaddingBottomValueAssignment_4_11_1
             {
             pushFollow(FOLLOW_2);
-            rule__Style__PaddingLeftValueAssignment_4_11_1();
+            rule__Style__PaddingBottomValueAssignment_4_11_1();
 
             state._fsp--;
             if (state.failed) return ;
@@ -36688,7 +36971,7 @@
             }
 
             if ( state.backtracking==0 ) {
-               after(grammarAccess.getStyleAccess().getPaddingLeftValueAssignment_4_11_1()); 
+               after(grammarAccess.getStyleAccess().getPaddingBottomValueAssignment_4_11_1()); 
             }
 
             }
@@ -36712,14 +36995,14 @@
 
 
     // $ANTLR start "rule__Style__Group_4_12__0"
-    // InternalReportDSL.g:10398:1: rule__Style__Group_4_12__0 : rule__Style__Group_4_12__0__Impl rule__Style__Group_4_12__1 ;
+    // InternalReportDSL.g:10459:1: rule__Style__Group_4_12__0 : rule__Style__Group_4_12__0__Impl rule__Style__Group_4_12__1 ;
     public final void rule__Style__Group_4_12__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:10402:1: ( rule__Style__Group_4_12__0__Impl rule__Style__Group_4_12__1 )
-            // InternalReportDSL.g:10403:2: rule__Style__Group_4_12__0__Impl rule__Style__Group_4_12__1
+            // InternalReportDSL.g:10463:1: ( rule__Style__Group_4_12__0__Impl rule__Style__Group_4_12__1 )
+            // InternalReportDSL.g:10464:2: rule__Style__Group_4_12__0__Impl rule__Style__Group_4_12__1
             {
             pushFollow(FOLLOW_36);
             rule__Style__Group_4_12__0__Impl();
@@ -36750,24 +37033,24 @@
 
 
     // $ANTLR start "rule__Style__Group_4_12__0__Impl"
-    // InternalReportDSL.g:10410:1: rule__Style__Group_4_12__0__Impl : ( 'padding-right' ) ;
+    // InternalReportDSL.g:10471:1: rule__Style__Group_4_12__0__Impl : ( 'padding-left' ) ;
     public final void rule__Style__Group_4_12__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:10414:1: ( ( 'padding-right' ) )
-            // InternalReportDSL.g:10415:1: ( 'padding-right' )
+            // InternalReportDSL.g:10475:1: ( ( 'padding-left' ) )
+            // InternalReportDSL.g:10476:1: ( 'padding-left' )
             {
-            // InternalReportDSL.g:10415:1: ( 'padding-right' )
-            // InternalReportDSL.g:10416:2: 'padding-right'
+            // InternalReportDSL.g:10476:1: ( 'padding-left' )
+            // InternalReportDSL.g:10477:2: 'padding-left'
             {
             if ( state.backtracking==0 ) {
-               before(grammarAccess.getStyleAccess().getPaddingRightKeyword_4_12_0()); 
+               before(grammarAccess.getStyleAccess().getPaddingLeftKeyword_4_12_0()); 
             }
-            match(input,165,FOLLOW_2); if (state.failed) return ;
+            match(input,171,FOLLOW_2); if (state.failed) return ;
             if ( state.backtracking==0 ) {
-               after(grammarAccess.getStyleAccess().getPaddingRightKeyword_4_12_0()); 
+               after(grammarAccess.getStyleAccess().getPaddingLeftKeyword_4_12_0()); 
             }
 
             }
@@ -36791,14 +37074,14 @@
 
 
     // $ANTLR start "rule__Style__Group_4_12__1"
-    // InternalReportDSL.g:10425:1: rule__Style__Group_4_12__1 : rule__Style__Group_4_12__1__Impl ;
+    // InternalReportDSL.g:10486:1: rule__Style__Group_4_12__1 : rule__Style__Group_4_12__1__Impl ;
     public final void rule__Style__Group_4_12__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:10429:1: ( rule__Style__Group_4_12__1__Impl )
-            // InternalReportDSL.g:10430:2: rule__Style__Group_4_12__1__Impl
+            // InternalReportDSL.g:10490:1: ( rule__Style__Group_4_12__1__Impl )
+            // InternalReportDSL.g:10491:2: rule__Style__Group_4_12__1__Impl
             {
             pushFollow(FOLLOW_2);
             rule__Style__Group_4_12__1__Impl();
@@ -36824,26 +37107,26 @@
 
 
     // $ANTLR start "rule__Style__Group_4_12__1__Impl"
-    // InternalReportDSL.g:10436:1: rule__Style__Group_4_12__1__Impl : ( ( rule__Style__PaddingRightValueAssignment_4_12_1 ) ) ;
+    // InternalReportDSL.g:10497:1: rule__Style__Group_4_12__1__Impl : ( ( rule__Style__PaddingLeftValueAssignment_4_12_1 ) ) ;
     public final void rule__Style__Group_4_12__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:10440:1: ( ( ( rule__Style__PaddingRightValueAssignment_4_12_1 ) ) )
-            // InternalReportDSL.g:10441:1: ( ( rule__Style__PaddingRightValueAssignment_4_12_1 ) )
+            // InternalReportDSL.g:10501:1: ( ( ( rule__Style__PaddingLeftValueAssignment_4_12_1 ) ) )
+            // InternalReportDSL.g:10502:1: ( ( rule__Style__PaddingLeftValueAssignment_4_12_1 ) )
             {
-            // InternalReportDSL.g:10441:1: ( ( rule__Style__PaddingRightValueAssignment_4_12_1 ) )
-            // InternalReportDSL.g:10442:2: ( rule__Style__PaddingRightValueAssignment_4_12_1 )
+            // InternalReportDSL.g:10502:1: ( ( rule__Style__PaddingLeftValueAssignment_4_12_1 ) )
+            // InternalReportDSL.g:10503:2: ( rule__Style__PaddingLeftValueAssignment_4_12_1 )
             {
             if ( state.backtracking==0 ) {
-               before(grammarAccess.getStyleAccess().getPaddingRightValueAssignment_4_12_1()); 
+               before(grammarAccess.getStyleAccess().getPaddingLeftValueAssignment_4_12_1()); 
             }
-            // InternalReportDSL.g:10443:2: ( rule__Style__PaddingRightValueAssignment_4_12_1 )
-            // InternalReportDSL.g:10443:3: rule__Style__PaddingRightValueAssignment_4_12_1
+            // InternalReportDSL.g:10504:2: ( rule__Style__PaddingLeftValueAssignment_4_12_1 )
+            // InternalReportDSL.g:10504:3: rule__Style__PaddingLeftValueAssignment_4_12_1
             {
             pushFollow(FOLLOW_2);
-            rule__Style__PaddingRightValueAssignment_4_12_1();
+            rule__Style__PaddingLeftValueAssignment_4_12_1();
 
             state._fsp--;
             if (state.failed) return ;
@@ -36851,7 +37134,7 @@
             }
 
             if ( state.backtracking==0 ) {
-               after(grammarAccess.getStyleAccess().getPaddingRightValueAssignment_4_12_1()); 
+               after(grammarAccess.getStyleAccess().getPaddingLeftValueAssignment_4_12_1()); 
             }
 
             }
@@ -36875,14 +37158,14 @@
 
 
     // $ANTLR start "rule__Style__Group_4_13__0"
-    // InternalReportDSL.g:10452:1: rule__Style__Group_4_13__0 : rule__Style__Group_4_13__0__Impl rule__Style__Group_4_13__1 ;
+    // InternalReportDSL.g:10513:1: rule__Style__Group_4_13__0 : rule__Style__Group_4_13__0__Impl rule__Style__Group_4_13__1 ;
     public final void rule__Style__Group_4_13__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:10456:1: ( rule__Style__Group_4_13__0__Impl rule__Style__Group_4_13__1 )
-            // InternalReportDSL.g:10457:2: rule__Style__Group_4_13__0__Impl rule__Style__Group_4_13__1
+            // InternalReportDSL.g:10517:1: ( rule__Style__Group_4_13__0__Impl rule__Style__Group_4_13__1 )
+            // InternalReportDSL.g:10518:2: rule__Style__Group_4_13__0__Impl rule__Style__Group_4_13__1
             {
             pushFollow(FOLLOW_36);
             rule__Style__Group_4_13__0__Impl();
@@ -36913,24 +37196,24 @@
 
 
     // $ANTLR start "rule__Style__Group_4_13__0__Impl"
-    // InternalReportDSL.g:10464:1: rule__Style__Group_4_13__0__Impl : ( 'margin-top' ) ;
+    // InternalReportDSL.g:10525:1: rule__Style__Group_4_13__0__Impl : ( 'padding-right' ) ;
     public final void rule__Style__Group_4_13__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:10468:1: ( ( 'margin-top' ) )
-            // InternalReportDSL.g:10469:1: ( 'margin-top' )
+            // InternalReportDSL.g:10529:1: ( ( 'padding-right' ) )
+            // InternalReportDSL.g:10530:1: ( 'padding-right' )
             {
-            // InternalReportDSL.g:10469:1: ( 'margin-top' )
-            // InternalReportDSL.g:10470:2: 'margin-top'
+            // InternalReportDSL.g:10530:1: ( 'padding-right' )
+            // InternalReportDSL.g:10531:2: 'padding-right'
             {
             if ( state.backtracking==0 ) {
-               before(grammarAccess.getStyleAccess().getMarginTopKeyword_4_13_0()); 
+               before(grammarAccess.getStyleAccess().getPaddingRightKeyword_4_13_0()); 
             }
-            match(input,166,FOLLOW_2); if (state.failed) return ;
+            match(input,172,FOLLOW_2); if (state.failed) return ;
             if ( state.backtracking==0 ) {
-               after(grammarAccess.getStyleAccess().getMarginTopKeyword_4_13_0()); 
+               after(grammarAccess.getStyleAccess().getPaddingRightKeyword_4_13_0()); 
             }
 
             }
@@ -36954,14 +37237,14 @@
 
 
     // $ANTLR start "rule__Style__Group_4_13__1"
-    // InternalReportDSL.g:10479:1: rule__Style__Group_4_13__1 : rule__Style__Group_4_13__1__Impl ;
+    // InternalReportDSL.g:10540:1: rule__Style__Group_4_13__1 : rule__Style__Group_4_13__1__Impl ;
     public final void rule__Style__Group_4_13__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:10483:1: ( rule__Style__Group_4_13__1__Impl )
-            // InternalReportDSL.g:10484:2: rule__Style__Group_4_13__1__Impl
+            // InternalReportDSL.g:10544:1: ( rule__Style__Group_4_13__1__Impl )
+            // InternalReportDSL.g:10545:2: rule__Style__Group_4_13__1__Impl
             {
             pushFollow(FOLLOW_2);
             rule__Style__Group_4_13__1__Impl();
@@ -36987,26 +37270,26 @@
 
 
     // $ANTLR start "rule__Style__Group_4_13__1__Impl"
-    // InternalReportDSL.g:10490:1: rule__Style__Group_4_13__1__Impl : ( ( rule__Style__MarginTopValueAssignment_4_13_1 ) ) ;
+    // InternalReportDSL.g:10551:1: rule__Style__Group_4_13__1__Impl : ( ( rule__Style__PaddingRightValueAssignment_4_13_1 ) ) ;
     public final void rule__Style__Group_4_13__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:10494:1: ( ( ( rule__Style__MarginTopValueAssignment_4_13_1 ) ) )
-            // InternalReportDSL.g:10495:1: ( ( rule__Style__MarginTopValueAssignment_4_13_1 ) )
+            // InternalReportDSL.g:10555:1: ( ( ( rule__Style__PaddingRightValueAssignment_4_13_1 ) ) )
+            // InternalReportDSL.g:10556:1: ( ( rule__Style__PaddingRightValueAssignment_4_13_1 ) )
             {
-            // InternalReportDSL.g:10495:1: ( ( rule__Style__MarginTopValueAssignment_4_13_1 ) )
-            // InternalReportDSL.g:10496:2: ( rule__Style__MarginTopValueAssignment_4_13_1 )
+            // InternalReportDSL.g:10556:1: ( ( rule__Style__PaddingRightValueAssignment_4_13_1 ) )
+            // InternalReportDSL.g:10557:2: ( rule__Style__PaddingRightValueAssignment_4_13_1 )
             {
             if ( state.backtracking==0 ) {
-               before(grammarAccess.getStyleAccess().getMarginTopValueAssignment_4_13_1()); 
+               before(grammarAccess.getStyleAccess().getPaddingRightValueAssignment_4_13_1()); 
             }
-            // InternalReportDSL.g:10497:2: ( rule__Style__MarginTopValueAssignment_4_13_1 )
-            // InternalReportDSL.g:10497:3: rule__Style__MarginTopValueAssignment_4_13_1
+            // InternalReportDSL.g:10558:2: ( rule__Style__PaddingRightValueAssignment_4_13_1 )
+            // InternalReportDSL.g:10558:3: rule__Style__PaddingRightValueAssignment_4_13_1
             {
             pushFollow(FOLLOW_2);
-            rule__Style__MarginTopValueAssignment_4_13_1();
+            rule__Style__PaddingRightValueAssignment_4_13_1();
 
             state._fsp--;
             if (state.failed) return ;
@@ -37014,7 +37297,7 @@
             }
 
             if ( state.backtracking==0 ) {
-               after(grammarAccess.getStyleAccess().getMarginTopValueAssignment_4_13_1()); 
+               after(grammarAccess.getStyleAccess().getPaddingRightValueAssignment_4_13_1()); 
             }
 
             }
@@ -37038,14 +37321,14 @@
 
 
     // $ANTLR start "rule__Style__Group_4_14__0"
-    // InternalReportDSL.g:10506:1: rule__Style__Group_4_14__0 : rule__Style__Group_4_14__0__Impl rule__Style__Group_4_14__1 ;
+    // InternalReportDSL.g:10567:1: rule__Style__Group_4_14__0 : rule__Style__Group_4_14__0__Impl rule__Style__Group_4_14__1 ;
     public final void rule__Style__Group_4_14__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:10510:1: ( rule__Style__Group_4_14__0__Impl rule__Style__Group_4_14__1 )
-            // InternalReportDSL.g:10511:2: rule__Style__Group_4_14__0__Impl rule__Style__Group_4_14__1
+            // InternalReportDSL.g:10571:1: ( rule__Style__Group_4_14__0__Impl rule__Style__Group_4_14__1 )
+            // InternalReportDSL.g:10572:2: rule__Style__Group_4_14__0__Impl rule__Style__Group_4_14__1
             {
             pushFollow(FOLLOW_36);
             rule__Style__Group_4_14__0__Impl();
@@ -37076,24 +37359,24 @@
 
 
     // $ANTLR start "rule__Style__Group_4_14__0__Impl"
-    // InternalReportDSL.g:10518:1: rule__Style__Group_4_14__0__Impl : ( 'margin-bottom' ) ;
+    // InternalReportDSL.g:10579:1: rule__Style__Group_4_14__0__Impl : ( 'margin-top' ) ;
     public final void rule__Style__Group_4_14__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:10522:1: ( ( 'margin-bottom' ) )
-            // InternalReportDSL.g:10523:1: ( 'margin-bottom' )
+            // InternalReportDSL.g:10583:1: ( ( 'margin-top' ) )
+            // InternalReportDSL.g:10584:1: ( 'margin-top' )
             {
-            // InternalReportDSL.g:10523:1: ( 'margin-bottom' )
-            // InternalReportDSL.g:10524:2: 'margin-bottom'
+            // InternalReportDSL.g:10584:1: ( 'margin-top' )
+            // InternalReportDSL.g:10585:2: 'margin-top'
             {
             if ( state.backtracking==0 ) {
-               before(grammarAccess.getStyleAccess().getMarginBottomKeyword_4_14_0()); 
+               before(grammarAccess.getStyleAccess().getMarginTopKeyword_4_14_0()); 
             }
-            match(input,167,FOLLOW_2); if (state.failed) return ;
+            match(input,173,FOLLOW_2); if (state.failed) return ;
             if ( state.backtracking==0 ) {
-               after(grammarAccess.getStyleAccess().getMarginBottomKeyword_4_14_0()); 
+               after(grammarAccess.getStyleAccess().getMarginTopKeyword_4_14_0()); 
             }
 
             }
@@ -37117,14 +37400,14 @@
 
 
     // $ANTLR start "rule__Style__Group_4_14__1"
-    // InternalReportDSL.g:10533:1: rule__Style__Group_4_14__1 : rule__Style__Group_4_14__1__Impl ;
+    // InternalReportDSL.g:10594:1: rule__Style__Group_4_14__1 : rule__Style__Group_4_14__1__Impl ;
     public final void rule__Style__Group_4_14__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:10537:1: ( rule__Style__Group_4_14__1__Impl )
-            // InternalReportDSL.g:10538:2: rule__Style__Group_4_14__1__Impl
+            // InternalReportDSL.g:10598:1: ( rule__Style__Group_4_14__1__Impl )
+            // InternalReportDSL.g:10599:2: rule__Style__Group_4_14__1__Impl
             {
             pushFollow(FOLLOW_2);
             rule__Style__Group_4_14__1__Impl();
@@ -37150,26 +37433,26 @@
 
 
     // $ANTLR start "rule__Style__Group_4_14__1__Impl"
-    // InternalReportDSL.g:10544:1: rule__Style__Group_4_14__1__Impl : ( ( rule__Style__MarginBottomValueAssignment_4_14_1 ) ) ;
+    // InternalReportDSL.g:10605:1: rule__Style__Group_4_14__1__Impl : ( ( rule__Style__MarginTopValueAssignment_4_14_1 ) ) ;
     public final void rule__Style__Group_4_14__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:10548:1: ( ( ( rule__Style__MarginBottomValueAssignment_4_14_1 ) ) )
-            // InternalReportDSL.g:10549:1: ( ( rule__Style__MarginBottomValueAssignment_4_14_1 ) )
+            // InternalReportDSL.g:10609:1: ( ( ( rule__Style__MarginTopValueAssignment_4_14_1 ) ) )
+            // InternalReportDSL.g:10610:1: ( ( rule__Style__MarginTopValueAssignment_4_14_1 ) )
             {
-            // InternalReportDSL.g:10549:1: ( ( rule__Style__MarginBottomValueAssignment_4_14_1 ) )
-            // InternalReportDSL.g:10550:2: ( rule__Style__MarginBottomValueAssignment_4_14_1 )
+            // InternalReportDSL.g:10610:1: ( ( rule__Style__MarginTopValueAssignment_4_14_1 ) )
+            // InternalReportDSL.g:10611:2: ( rule__Style__MarginTopValueAssignment_4_14_1 )
             {
             if ( state.backtracking==0 ) {
-               before(grammarAccess.getStyleAccess().getMarginBottomValueAssignment_4_14_1()); 
+               before(grammarAccess.getStyleAccess().getMarginTopValueAssignment_4_14_1()); 
             }
-            // InternalReportDSL.g:10551:2: ( rule__Style__MarginBottomValueAssignment_4_14_1 )
-            // InternalReportDSL.g:10551:3: rule__Style__MarginBottomValueAssignment_4_14_1
+            // InternalReportDSL.g:10612:2: ( rule__Style__MarginTopValueAssignment_4_14_1 )
+            // InternalReportDSL.g:10612:3: rule__Style__MarginTopValueAssignment_4_14_1
             {
             pushFollow(FOLLOW_2);
-            rule__Style__MarginBottomValueAssignment_4_14_1();
+            rule__Style__MarginTopValueAssignment_4_14_1();
 
             state._fsp--;
             if (state.failed) return ;
@@ -37177,7 +37460,7 @@
             }
 
             if ( state.backtracking==0 ) {
-               after(grammarAccess.getStyleAccess().getMarginBottomValueAssignment_4_14_1()); 
+               after(grammarAccess.getStyleAccess().getMarginTopValueAssignment_4_14_1()); 
             }
 
             }
@@ -37201,14 +37484,14 @@
 
 
     // $ANTLR start "rule__Style__Group_4_15__0"
-    // InternalReportDSL.g:10560:1: rule__Style__Group_4_15__0 : rule__Style__Group_4_15__0__Impl rule__Style__Group_4_15__1 ;
+    // InternalReportDSL.g:10621:1: rule__Style__Group_4_15__0 : rule__Style__Group_4_15__0__Impl rule__Style__Group_4_15__1 ;
     public final void rule__Style__Group_4_15__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:10564:1: ( rule__Style__Group_4_15__0__Impl rule__Style__Group_4_15__1 )
-            // InternalReportDSL.g:10565:2: rule__Style__Group_4_15__0__Impl rule__Style__Group_4_15__1
+            // InternalReportDSL.g:10625:1: ( rule__Style__Group_4_15__0__Impl rule__Style__Group_4_15__1 )
+            // InternalReportDSL.g:10626:2: rule__Style__Group_4_15__0__Impl rule__Style__Group_4_15__1
             {
             pushFollow(FOLLOW_36);
             rule__Style__Group_4_15__0__Impl();
@@ -37239,24 +37522,24 @@
 
 
     // $ANTLR start "rule__Style__Group_4_15__0__Impl"
-    // InternalReportDSL.g:10572:1: rule__Style__Group_4_15__0__Impl : ( 'margin-left' ) ;
+    // InternalReportDSL.g:10633:1: rule__Style__Group_4_15__0__Impl : ( 'margin-bottom' ) ;
     public final void rule__Style__Group_4_15__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:10576:1: ( ( 'margin-left' ) )
-            // InternalReportDSL.g:10577:1: ( 'margin-left' )
+            // InternalReportDSL.g:10637:1: ( ( 'margin-bottom' ) )
+            // InternalReportDSL.g:10638:1: ( 'margin-bottom' )
             {
-            // InternalReportDSL.g:10577:1: ( 'margin-left' )
-            // InternalReportDSL.g:10578:2: 'margin-left'
+            // InternalReportDSL.g:10638:1: ( 'margin-bottom' )
+            // InternalReportDSL.g:10639:2: 'margin-bottom'
             {
             if ( state.backtracking==0 ) {
-               before(grammarAccess.getStyleAccess().getMarginLeftKeyword_4_15_0()); 
+               before(grammarAccess.getStyleAccess().getMarginBottomKeyword_4_15_0()); 
             }
-            match(input,168,FOLLOW_2); if (state.failed) return ;
+            match(input,174,FOLLOW_2); if (state.failed) return ;
             if ( state.backtracking==0 ) {
-               after(grammarAccess.getStyleAccess().getMarginLeftKeyword_4_15_0()); 
+               after(grammarAccess.getStyleAccess().getMarginBottomKeyword_4_15_0()); 
             }
 
             }
@@ -37280,14 +37563,14 @@
 
 
     // $ANTLR start "rule__Style__Group_4_15__1"
-    // InternalReportDSL.g:10587:1: rule__Style__Group_4_15__1 : rule__Style__Group_4_15__1__Impl ;
+    // InternalReportDSL.g:10648:1: rule__Style__Group_4_15__1 : rule__Style__Group_4_15__1__Impl ;
     public final void rule__Style__Group_4_15__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:10591:1: ( rule__Style__Group_4_15__1__Impl )
-            // InternalReportDSL.g:10592:2: rule__Style__Group_4_15__1__Impl
+            // InternalReportDSL.g:10652:1: ( rule__Style__Group_4_15__1__Impl )
+            // InternalReportDSL.g:10653:2: rule__Style__Group_4_15__1__Impl
             {
             pushFollow(FOLLOW_2);
             rule__Style__Group_4_15__1__Impl();
@@ -37313,26 +37596,26 @@
 
 
     // $ANTLR start "rule__Style__Group_4_15__1__Impl"
-    // InternalReportDSL.g:10598:1: rule__Style__Group_4_15__1__Impl : ( ( rule__Style__MarginLeftValueAssignment_4_15_1 ) ) ;
+    // InternalReportDSL.g:10659:1: rule__Style__Group_4_15__1__Impl : ( ( rule__Style__MarginBottomValueAssignment_4_15_1 ) ) ;
     public final void rule__Style__Group_4_15__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:10602:1: ( ( ( rule__Style__MarginLeftValueAssignment_4_15_1 ) ) )
-            // InternalReportDSL.g:10603:1: ( ( rule__Style__MarginLeftValueAssignment_4_15_1 ) )
+            // InternalReportDSL.g:10663:1: ( ( ( rule__Style__MarginBottomValueAssignment_4_15_1 ) ) )
+            // InternalReportDSL.g:10664:1: ( ( rule__Style__MarginBottomValueAssignment_4_15_1 ) )
             {
-            // InternalReportDSL.g:10603:1: ( ( rule__Style__MarginLeftValueAssignment_4_15_1 ) )
-            // InternalReportDSL.g:10604:2: ( rule__Style__MarginLeftValueAssignment_4_15_1 )
+            // InternalReportDSL.g:10664:1: ( ( rule__Style__MarginBottomValueAssignment_4_15_1 ) )
+            // InternalReportDSL.g:10665:2: ( rule__Style__MarginBottomValueAssignment_4_15_1 )
             {
             if ( state.backtracking==0 ) {
-               before(grammarAccess.getStyleAccess().getMarginLeftValueAssignment_4_15_1()); 
+               before(grammarAccess.getStyleAccess().getMarginBottomValueAssignment_4_15_1()); 
             }
-            // InternalReportDSL.g:10605:2: ( rule__Style__MarginLeftValueAssignment_4_15_1 )
-            // InternalReportDSL.g:10605:3: rule__Style__MarginLeftValueAssignment_4_15_1
+            // InternalReportDSL.g:10666:2: ( rule__Style__MarginBottomValueAssignment_4_15_1 )
+            // InternalReportDSL.g:10666:3: rule__Style__MarginBottomValueAssignment_4_15_1
             {
             pushFollow(FOLLOW_2);
-            rule__Style__MarginLeftValueAssignment_4_15_1();
+            rule__Style__MarginBottomValueAssignment_4_15_1();
 
             state._fsp--;
             if (state.failed) return ;
@@ -37340,7 +37623,7 @@
             }
 
             if ( state.backtracking==0 ) {
-               after(grammarAccess.getStyleAccess().getMarginLeftValueAssignment_4_15_1()); 
+               after(grammarAccess.getStyleAccess().getMarginBottomValueAssignment_4_15_1()); 
             }
 
             }
@@ -37364,14 +37647,14 @@
 
 
     // $ANTLR start "rule__Style__Group_4_16__0"
-    // InternalReportDSL.g:10614:1: rule__Style__Group_4_16__0 : rule__Style__Group_4_16__0__Impl rule__Style__Group_4_16__1 ;
+    // InternalReportDSL.g:10675:1: rule__Style__Group_4_16__0 : rule__Style__Group_4_16__0__Impl rule__Style__Group_4_16__1 ;
     public final void rule__Style__Group_4_16__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:10618:1: ( rule__Style__Group_4_16__0__Impl rule__Style__Group_4_16__1 )
-            // InternalReportDSL.g:10619:2: rule__Style__Group_4_16__0__Impl rule__Style__Group_4_16__1
+            // InternalReportDSL.g:10679:1: ( rule__Style__Group_4_16__0__Impl rule__Style__Group_4_16__1 )
+            // InternalReportDSL.g:10680:2: rule__Style__Group_4_16__0__Impl rule__Style__Group_4_16__1
             {
             pushFollow(FOLLOW_36);
             rule__Style__Group_4_16__0__Impl();
@@ -37402,24 +37685,24 @@
 
 
     // $ANTLR start "rule__Style__Group_4_16__0__Impl"
-    // InternalReportDSL.g:10626:1: rule__Style__Group_4_16__0__Impl : ( 'margin-right' ) ;
+    // InternalReportDSL.g:10687:1: rule__Style__Group_4_16__0__Impl : ( 'margin-left' ) ;
     public final void rule__Style__Group_4_16__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:10630:1: ( ( 'margin-right' ) )
-            // InternalReportDSL.g:10631:1: ( 'margin-right' )
+            // InternalReportDSL.g:10691:1: ( ( 'margin-left' ) )
+            // InternalReportDSL.g:10692:1: ( 'margin-left' )
             {
-            // InternalReportDSL.g:10631:1: ( 'margin-right' )
-            // InternalReportDSL.g:10632:2: 'margin-right'
+            // InternalReportDSL.g:10692:1: ( 'margin-left' )
+            // InternalReportDSL.g:10693:2: 'margin-left'
             {
             if ( state.backtracking==0 ) {
-               before(grammarAccess.getStyleAccess().getMarginRightKeyword_4_16_0()); 
+               before(grammarAccess.getStyleAccess().getMarginLeftKeyword_4_16_0()); 
             }
-            match(input,169,FOLLOW_2); if (state.failed) return ;
+            match(input,175,FOLLOW_2); if (state.failed) return ;
             if ( state.backtracking==0 ) {
-               after(grammarAccess.getStyleAccess().getMarginRightKeyword_4_16_0()); 
+               after(grammarAccess.getStyleAccess().getMarginLeftKeyword_4_16_0()); 
             }
 
             }
@@ -37443,14 +37726,14 @@
 
 
     // $ANTLR start "rule__Style__Group_4_16__1"
-    // InternalReportDSL.g:10641:1: rule__Style__Group_4_16__1 : rule__Style__Group_4_16__1__Impl ;
+    // InternalReportDSL.g:10702:1: rule__Style__Group_4_16__1 : rule__Style__Group_4_16__1__Impl ;
     public final void rule__Style__Group_4_16__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:10645:1: ( rule__Style__Group_4_16__1__Impl )
-            // InternalReportDSL.g:10646:2: rule__Style__Group_4_16__1__Impl
+            // InternalReportDSL.g:10706:1: ( rule__Style__Group_4_16__1__Impl )
+            // InternalReportDSL.g:10707:2: rule__Style__Group_4_16__1__Impl
             {
             pushFollow(FOLLOW_2);
             rule__Style__Group_4_16__1__Impl();
@@ -37476,26 +37759,26 @@
 
 
     // $ANTLR start "rule__Style__Group_4_16__1__Impl"
-    // InternalReportDSL.g:10652:1: rule__Style__Group_4_16__1__Impl : ( ( rule__Style__MarginRightValueAssignment_4_16_1 ) ) ;
+    // InternalReportDSL.g:10713:1: rule__Style__Group_4_16__1__Impl : ( ( rule__Style__MarginLeftValueAssignment_4_16_1 ) ) ;
     public final void rule__Style__Group_4_16__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:10656:1: ( ( ( rule__Style__MarginRightValueAssignment_4_16_1 ) ) )
-            // InternalReportDSL.g:10657:1: ( ( rule__Style__MarginRightValueAssignment_4_16_1 ) )
+            // InternalReportDSL.g:10717:1: ( ( ( rule__Style__MarginLeftValueAssignment_4_16_1 ) ) )
+            // InternalReportDSL.g:10718:1: ( ( rule__Style__MarginLeftValueAssignment_4_16_1 ) )
             {
-            // InternalReportDSL.g:10657:1: ( ( rule__Style__MarginRightValueAssignment_4_16_1 ) )
-            // InternalReportDSL.g:10658:2: ( rule__Style__MarginRightValueAssignment_4_16_1 )
+            // InternalReportDSL.g:10718:1: ( ( rule__Style__MarginLeftValueAssignment_4_16_1 ) )
+            // InternalReportDSL.g:10719:2: ( rule__Style__MarginLeftValueAssignment_4_16_1 )
             {
             if ( state.backtracking==0 ) {
-               before(grammarAccess.getStyleAccess().getMarginRightValueAssignment_4_16_1()); 
+               before(grammarAccess.getStyleAccess().getMarginLeftValueAssignment_4_16_1()); 
             }
-            // InternalReportDSL.g:10659:2: ( rule__Style__MarginRightValueAssignment_4_16_1 )
-            // InternalReportDSL.g:10659:3: rule__Style__MarginRightValueAssignment_4_16_1
+            // InternalReportDSL.g:10720:2: ( rule__Style__MarginLeftValueAssignment_4_16_1 )
+            // InternalReportDSL.g:10720:3: rule__Style__MarginLeftValueAssignment_4_16_1
             {
             pushFollow(FOLLOW_2);
-            rule__Style__MarginRightValueAssignment_4_16_1();
+            rule__Style__MarginLeftValueAssignment_4_16_1();
 
             state._fsp--;
             if (state.failed) return ;
@@ -37503,7 +37786,7 @@
             }
 
             if ( state.backtracking==0 ) {
-               after(grammarAccess.getStyleAccess().getMarginRightValueAssignment_4_16_1()); 
+               after(grammarAccess.getStyleAccess().getMarginLeftValueAssignment_4_16_1()); 
             }
 
             }
@@ -37526,15 +37809,178 @@
     // $ANTLR end "rule__Style__Group_4_16__1__Impl"
 
 
+    // $ANTLR start "rule__Style__Group_4_17__0"
+    // InternalReportDSL.g:10729:1: rule__Style__Group_4_17__0 : rule__Style__Group_4_17__0__Impl rule__Style__Group_4_17__1 ;
+    public final void rule__Style__Group_4_17__0() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+        	
+        try {
+            // InternalReportDSL.g:10733:1: ( rule__Style__Group_4_17__0__Impl rule__Style__Group_4_17__1 )
+            // InternalReportDSL.g:10734:2: rule__Style__Group_4_17__0__Impl rule__Style__Group_4_17__1
+            {
+            pushFollow(FOLLOW_36);
+            rule__Style__Group_4_17__0__Impl();
+
+            state._fsp--;
+            if (state.failed) return ;
+            pushFollow(FOLLOW_2);
+            rule__Style__Group_4_17__1();
+
+            state._fsp--;
+            if (state.failed) return ;
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__Style__Group_4_17__0"
+
+
+    // $ANTLR start "rule__Style__Group_4_17__0__Impl"
+    // InternalReportDSL.g:10741:1: rule__Style__Group_4_17__0__Impl : ( 'margin-right' ) ;
+    public final void rule__Style__Group_4_17__0__Impl() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+        	
+        try {
+            // InternalReportDSL.g:10745:1: ( ( 'margin-right' ) )
+            // InternalReportDSL.g:10746:1: ( 'margin-right' )
+            {
+            // InternalReportDSL.g:10746:1: ( 'margin-right' )
+            // InternalReportDSL.g:10747:2: 'margin-right'
+            {
+            if ( state.backtracking==0 ) {
+               before(grammarAccess.getStyleAccess().getMarginRightKeyword_4_17_0()); 
+            }
+            match(input,176,FOLLOW_2); if (state.failed) return ;
+            if ( state.backtracking==0 ) {
+               after(grammarAccess.getStyleAccess().getMarginRightKeyword_4_17_0()); 
+            }
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__Style__Group_4_17__0__Impl"
+
+
+    // $ANTLR start "rule__Style__Group_4_17__1"
+    // InternalReportDSL.g:10756:1: rule__Style__Group_4_17__1 : rule__Style__Group_4_17__1__Impl ;
+    public final void rule__Style__Group_4_17__1() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+        	
+        try {
+            // InternalReportDSL.g:10760:1: ( rule__Style__Group_4_17__1__Impl )
+            // InternalReportDSL.g:10761:2: rule__Style__Group_4_17__1__Impl
+            {
+            pushFollow(FOLLOW_2);
+            rule__Style__Group_4_17__1__Impl();
+
+            state._fsp--;
+            if (state.failed) return ;
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__Style__Group_4_17__1"
+
+
+    // $ANTLR start "rule__Style__Group_4_17__1__Impl"
+    // InternalReportDSL.g:10767:1: rule__Style__Group_4_17__1__Impl : ( ( rule__Style__MarginRightValueAssignment_4_17_1 ) ) ;
+    public final void rule__Style__Group_4_17__1__Impl() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+        	
+        try {
+            // InternalReportDSL.g:10771:1: ( ( ( rule__Style__MarginRightValueAssignment_4_17_1 ) ) )
+            // InternalReportDSL.g:10772:1: ( ( rule__Style__MarginRightValueAssignment_4_17_1 ) )
+            {
+            // InternalReportDSL.g:10772:1: ( ( rule__Style__MarginRightValueAssignment_4_17_1 ) )
+            // InternalReportDSL.g:10773:2: ( rule__Style__MarginRightValueAssignment_4_17_1 )
+            {
+            if ( state.backtracking==0 ) {
+               before(grammarAccess.getStyleAccess().getMarginRightValueAssignment_4_17_1()); 
+            }
+            // InternalReportDSL.g:10774:2: ( rule__Style__MarginRightValueAssignment_4_17_1 )
+            // InternalReportDSL.g:10774:3: rule__Style__MarginRightValueAssignment_4_17_1
+            {
+            pushFollow(FOLLOW_2);
+            rule__Style__MarginRightValueAssignment_4_17_1();
+
+            state._fsp--;
+            if (state.failed) return ;
+
+            }
+
+            if ( state.backtracking==0 ) {
+               after(grammarAccess.getStyleAccess().getMarginRightValueAssignment_4_17_1()); 
+            }
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__Style__Group_4_17__1__Impl"
+
+
     // $ANTLR start "rule__MediaStyle__Group__0"
-    // InternalReportDSL.g:10668:1: rule__MediaStyle__Group__0 : rule__MediaStyle__Group__0__Impl rule__MediaStyle__Group__1 ;
+    // InternalReportDSL.g:10783:1: rule__MediaStyle__Group__0 : rule__MediaStyle__Group__0__Impl rule__MediaStyle__Group__1 ;
     public final void rule__MediaStyle__Group__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:10672:1: ( rule__MediaStyle__Group__0__Impl rule__MediaStyle__Group__1 )
-            // InternalReportDSL.g:10673:2: rule__MediaStyle__Group__0__Impl rule__MediaStyle__Group__1
+            // InternalReportDSL.g:10787:1: ( rule__MediaStyle__Group__0__Impl rule__MediaStyle__Group__1 )
+            // InternalReportDSL.g:10788:2: rule__MediaStyle__Group__0__Impl rule__MediaStyle__Group__1
             {
             pushFollow(FOLLOW_7);
             rule__MediaStyle__Group__0__Impl();
@@ -37565,22 +38011,22 @@
 
 
     // $ANTLR start "rule__MediaStyle__Group__0__Impl"
-    // InternalReportDSL.g:10680:1: rule__MediaStyle__Group__0__Impl : ( 'media' ) ;
+    // InternalReportDSL.g:10795:1: rule__MediaStyle__Group__0__Impl : ( 'media' ) ;
     public final void rule__MediaStyle__Group__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:10684:1: ( ( 'media' ) )
-            // InternalReportDSL.g:10685:1: ( 'media' )
+            // InternalReportDSL.g:10799:1: ( ( 'media' ) )
+            // InternalReportDSL.g:10800:1: ( 'media' )
             {
-            // InternalReportDSL.g:10685:1: ( 'media' )
-            // InternalReportDSL.g:10686:2: 'media'
+            // InternalReportDSL.g:10800:1: ( 'media' )
+            // InternalReportDSL.g:10801:2: 'media'
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getMediaStyleAccess().getMediaKeyword_0()); 
             }
-            match(input,134,FOLLOW_2); if (state.failed) return ;
+            match(input,140,FOLLOW_2); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getMediaStyleAccess().getMediaKeyword_0()); 
             }
@@ -37606,14 +38052,14 @@
 
 
     // $ANTLR start "rule__MediaStyle__Group__1"
-    // InternalReportDSL.g:10695:1: rule__MediaStyle__Group__1 : rule__MediaStyle__Group__1__Impl rule__MediaStyle__Group__2 ;
+    // InternalReportDSL.g:10810:1: rule__MediaStyle__Group__1 : rule__MediaStyle__Group__1__Impl rule__MediaStyle__Group__2 ;
     public final void rule__MediaStyle__Group__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:10699:1: ( rule__MediaStyle__Group__1__Impl rule__MediaStyle__Group__2 )
-            // InternalReportDSL.g:10700:2: rule__MediaStyle__Group__1__Impl rule__MediaStyle__Group__2
+            // InternalReportDSL.g:10814:1: ( rule__MediaStyle__Group__1__Impl rule__MediaStyle__Group__2 )
+            // InternalReportDSL.g:10815:2: rule__MediaStyle__Group__1__Impl rule__MediaStyle__Group__2
             {
             pushFollow(FOLLOW_8);
             rule__MediaStyle__Group__1__Impl();
@@ -37644,23 +38090,23 @@
 
 
     // $ANTLR start "rule__MediaStyle__Group__1__Impl"
-    // InternalReportDSL.g:10707:1: rule__MediaStyle__Group__1__Impl : ( ( rule__MediaStyle__MediaAssignment_1 ) ) ;
+    // InternalReportDSL.g:10822:1: rule__MediaStyle__Group__1__Impl : ( ( rule__MediaStyle__MediaAssignment_1 ) ) ;
     public final void rule__MediaStyle__Group__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:10711:1: ( ( ( rule__MediaStyle__MediaAssignment_1 ) ) )
-            // InternalReportDSL.g:10712:1: ( ( rule__MediaStyle__MediaAssignment_1 ) )
+            // InternalReportDSL.g:10826:1: ( ( ( rule__MediaStyle__MediaAssignment_1 ) ) )
+            // InternalReportDSL.g:10827:1: ( ( rule__MediaStyle__MediaAssignment_1 ) )
             {
-            // InternalReportDSL.g:10712:1: ( ( rule__MediaStyle__MediaAssignment_1 ) )
-            // InternalReportDSL.g:10713:2: ( rule__MediaStyle__MediaAssignment_1 )
+            // InternalReportDSL.g:10827:1: ( ( rule__MediaStyle__MediaAssignment_1 ) )
+            // InternalReportDSL.g:10828:2: ( rule__MediaStyle__MediaAssignment_1 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getMediaStyleAccess().getMediaAssignment_1()); 
             }
-            // InternalReportDSL.g:10714:2: ( rule__MediaStyle__MediaAssignment_1 )
-            // InternalReportDSL.g:10714:3: rule__MediaStyle__MediaAssignment_1
+            // InternalReportDSL.g:10829:2: ( rule__MediaStyle__MediaAssignment_1 )
+            // InternalReportDSL.g:10829:3: rule__MediaStyle__MediaAssignment_1
             {
             pushFollow(FOLLOW_2);
             rule__MediaStyle__MediaAssignment_1();
@@ -37695,16 +38141,16 @@
 
 
     // $ANTLR start "rule__MediaStyle__Group__2"
-    // InternalReportDSL.g:10722:1: rule__MediaStyle__Group__2 : rule__MediaStyle__Group__2__Impl rule__MediaStyle__Group__3 ;
+    // InternalReportDSL.g:10837:1: rule__MediaStyle__Group__2 : rule__MediaStyle__Group__2__Impl rule__MediaStyle__Group__3 ;
     public final void rule__MediaStyle__Group__2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:10726:1: ( rule__MediaStyle__Group__2__Impl rule__MediaStyle__Group__3 )
-            // InternalReportDSL.g:10727:2: rule__MediaStyle__Group__2__Impl rule__MediaStyle__Group__3
+            // InternalReportDSL.g:10841:1: ( rule__MediaStyle__Group__2__Impl rule__MediaStyle__Group__3 )
+            // InternalReportDSL.g:10842:2: rule__MediaStyle__Group__2__Impl rule__MediaStyle__Group__3
             {
-            pushFollow(FOLLOW_53);
+            pushFollow(FOLLOW_54);
             rule__MediaStyle__Group__2__Impl();
 
             state._fsp--;
@@ -37733,22 +38179,22 @@
 
 
     // $ANTLR start "rule__MediaStyle__Group__2__Impl"
-    // InternalReportDSL.g:10734:1: rule__MediaStyle__Group__2__Impl : ( '{' ) ;
+    // InternalReportDSL.g:10849:1: rule__MediaStyle__Group__2__Impl : ( '{' ) ;
     public final void rule__MediaStyle__Group__2__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:10738:1: ( ( '{' ) )
-            // InternalReportDSL.g:10739:1: ( '{' )
+            // InternalReportDSL.g:10853:1: ( ( '{' ) )
+            // InternalReportDSL.g:10854:1: ( '{' )
             {
-            // InternalReportDSL.g:10739:1: ( '{' )
-            // InternalReportDSL.g:10740:2: '{'
+            // InternalReportDSL.g:10854:1: ( '{' )
+            // InternalReportDSL.g:10855:2: '{'
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getMediaStyleAccess().getLeftCurlyBracketKeyword_2()); 
             }
-            match(input,125,FOLLOW_2); if (state.failed) return ;
+            match(input,131,FOLLOW_2); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getMediaStyleAccess().getLeftCurlyBracketKeyword_2()); 
             }
@@ -37774,14 +38220,14 @@
 
 
     // $ANTLR start "rule__MediaStyle__Group__3"
-    // InternalReportDSL.g:10749:1: rule__MediaStyle__Group__3 : rule__MediaStyle__Group__3__Impl rule__MediaStyle__Group__4 ;
+    // InternalReportDSL.g:10864:1: rule__MediaStyle__Group__3 : rule__MediaStyle__Group__3__Impl rule__MediaStyle__Group__4 ;
     public final void rule__MediaStyle__Group__3() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:10753:1: ( rule__MediaStyle__Group__3__Impl rule__MediaStyle__Group__4 )
-            // InternalReportDSL.g:10754:2: rule__MediaStyle__Group__3__Impl rule__MediaStyle__Group__4
+            // InternalReportDSL.g:10868:1: ( rule__MediaStyle__Group__3__Impl rule__MediaStyle__Group__4 )
+            // InternalReportDSL.g:10869:2: rule__MediaStyle__Group__3__Impl rule__MediaStyle__Group__4
             {
             pushFollow(FOLLOW_17);
             rule__MediaStyle__Group__3__Impl();
@@ -37812,23 +38258,23 @@
 
 
     // $ANTLR start "rule__MediaStyle__Group__3__Impl"
-    // InternalReportDSL.g:10761:1: rule__MediaStyle__Group__3__Impl : ( ( rule__MediaStyle__UnorderedGroup_3 ) ) ;
+    // InternalReportDSL.g:10876:1: rule__MediaStyle__Group__3__Impl : ( ( rule__MediaStyle__UnorderedGroup_3 ) ) ;
     public final void rule__MediaStyle__Group__3__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:10765:1: ( ( ( rule__MediaStyle__UnorderedGroup_3 ) ) )
-            // InternalReportDSL.g:10766:1: ( ( rule__MediaStyle__UnorderedGroup_3 ) )
+            // InternalReportDSL.g:10880:1: ( ( ( rule__MediaStyle__UnorderedGroup_3 ) ) )
+            // InternalReportDSL.g:10881:1: ( ( rule__MediaStyle__UnorderedGroup_3 ) )
             {
-            // InternalReportDSL.g:10766:1: ( ( rule__MediaStyle__UnorderedGroup_3 ) )
-            // InternalReportDSL.g:10767:2: ( rule__MediaStyle__UnorderedGroup_3 )
+            // InternalReportDSL.g:10881:1: ( ( rule__MediaStyle__UnorderedGroup_3 ) )
+            // InternalReportDSL.g:10882:2: ( rule__MediaStyle__UnorderedGroup_3 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3()); 
             }
-            // InternalReportDSL.g:10768:2: ( rule__MediaStyle__UnorderedGroup_3 )
-            // InternalReportDSL.g:10768:3: rule__MediaStyle__UnorderedGroup_3
+            // InternalReportDSL.g:10883:2: ( rule__MediaStyle__UnorderedGroup_3 )
+            // InternalReportDSL.g:10883:3: rule__MediaStyle__UnorderedGroup_3
             {
             pushFollow(FOLLOW_2);
             rule__MediaStyle__UnorderedGroup_3();
@@ -37863,14 +38309,14 @@
 
 
     // $ANTLR start "rule__MediaStyle__Group__4"
-    // InternalReportDSL.g:10776:1: rule__MediaStyle__Group__4 : rule__MediaStyle__Group__4__Impl ;
+    // InternalReportDSL.g:10891:1: rule__MediaStyle__Group__4 : rule__MediaStyle__Group__4__Impl ;
     public final void rule__MediaStyle__Group__4() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:10780:1: ( rule__MediaStyle__Group__4__Impl )
-            // InternalReportDSL.g:10781:2: rule__MediaStyle__Group__4__Impl
+            // InternalReportDSL.g:10895:1: ( rule__MediaStyle__Group__4__Impl )
+            // InternalReportDSL.g:10896:2: rule__MediaStyle__Group__4__Impl
             {
             pushFollow(FOLLOW_2);
             rule__MediaStyle__Group__4__Impl();
@@ -37896,22 +38342,22 @@
 
 
     // $ANTLR start "rule__MediaStyle__Group__4__Impl"
-    // InternalReportDSL.g:10787:1: rule__MediaStyle__Group__4__Impl : ( '}' ) ;
+    // InternalReportDSL.g:10902:1: rule__MediaStyle__Group__4__Impl : ( '}' ) ;
     public final void rule__MediaStyle__Group__4__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:10791:1: ( ( '}' ) )
-            // InternalReportDSL.g:10792:1: ( '}' )
+            // InternalReportDSL.g:10906:1: ( ( '}' ) )
+            // InternalReportDSL.g:10907:1: ( '}' )
             {
-            // InternalReportDSL.g:10792:1: ( '}' )
-            // InternalReportDSL.g:10793:2: '}'
+            // InternalReportDSL.g:10907:1: ( '}' )
+            // InternalReportDSL.g:10908:2: '}'
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getMediaStyleAccess().getRightCurlyBracketKeyword_4()); 
             }
-            match(input,126,FOLLOW_2); if (state.failed) return ;
+            match(input,132,FOLLOW_2); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getMediaStyleAccess().getRightCurlyBracketKeyword_4()); 
             }
@@ -37937,14 +38383,14 @@
 
 
     // $ANTLR start "rule__MediaStyle__Group_3_0__0"
-    // InternalReportDSL.g:10803:1: rule__MediaStyle__Group_3_0__0 : rule__MediaStyle__Group_3_0__0__Impl rule__MediaStyle__Group_3_0__1 ;
+    // InternalReportDSL.g:10918:1: rule__MediaStyle__Group_3_0__0 : rule__MediaStyle__Group_3_0__0__Impl rule__MediaStyle__Group_3_0__1 ;
     public final void rule__MediaStyle__Group_3_0__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:10807:1: ( rule__MediaStyle__Group_3_0__0__Impl rule__MediaStyle__Group_3_0__1 )
-            // InternalReportDSL.g:10808:2: rule__MediaStyle__Group_3_0__0__Impl rule__MediaStyle__Group_3_0__1
+            // InternalReportDSL.g:10922:1: ( rule__MediaStyle__Group_3_0__0__Impl rule__MediaStyle__Group_3_0__1 )
+            // InternalReportDSL.g:10923:2: rule__MediaStyle__Group_3_0__0__Impl rule__MediaStyle__Group_3_0__1
             {
             pushFollow(FOLLOW_7);
             rule__MediaStyle__Group_3_0__0__Impl();
@@ -37975,22 +38421,22 @@
 
 
     // $ANTLR start "rule__MediaStyle__Group_3_0__0__Impl"
-    // InternalReportDSL.g:10815:1: rule__MediaStyle__Group_3_0__0__Impl : ( 'formatter' ) ;
+    // InternalReportDSL.g:10930:1: rule__MediaStyle__Group_3_0__0__Impl : ( 'formatter' ) ;
     public final void rule__MediaStyle__Group_3_0__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:10819:1: ( ( 'formatter' ) )
-            // InternalReportDSL.g:10820:1: ( 'formatter' )
+            // InternalReportDSL.g:10934:1: ( ( 'formatter' ) )
+            // InternalReportDSL.g:10935:1: ( 'formatter' )
             {
-            // InternalReportDSL.g:10820:1: ( 'formatter' )
-            // InternalReportDSL.g:10821:2: 'formatter'
+            // InternalReportDSL.g:10935:1: ( 'formatter' )
+            // InternalReportDSL.g:10936:2: 'formatter'
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getMediaStyleAccess().getFormatterKeyword_3_0_0()); 
             }
-            match(input,153,FOLLOW_2); if (state.failed) return ;
+            match(input,159,FOLLOW_2); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getMediaStyleAccess().getFormatterKeyword_3_0_0()); 
             }
@@ -38016,14 +38462,14 @@
 
 
     // $ANTLR start "rule__MediaStyle__Group_3_0__1"
-    // InternalReportDSL.g:10830:1: rule__MediaStyle__Group_3_0__1 : rule__MediaStyle__Group_3_0__1__Impl ;
+    // InternalReportDSL.g:10945:1: rule__MediaStyle__Group_3_0__1 : rule__MediaStyle__Group_3_0__1__Impl ;
     public final void rule__MediaStyle__Group_3_0__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:10834:1: ( rule__MediaStyle__Group_3_0__1__Impl )
-            // InternalReportDSL.g:10835:2: rule__MediaStyle__Group_3_0__1__Impl
+            // InternalReportDSL.g:10949:1: ( rule__MediaStyle__Group_3_0__1__Impl )
+            // InternalReportDSL.g:10950:2: rule__MediaStyle__Group_3_0__1__Impl
             {
             pushFollow(FOLLOW_2);
             rule__MediaStyle__Group_3_0__1__Impl();
@@ -38049,23 +38495,23 @@
 
 
     // $ANTLR start "rule__MediaStyle__Group_3_0__1__Impl"
-    // InternalReportDSL.g:10841:1: rule__MediaStyle__Group_3_0__1__Impl : ( ( rule__MediaStyle__FormatAssignment_3_0_1 ) ) ;
+    // InternalReportDSL.g:10956:1: rule__MediaStyle__Group_3_0__1__Impl : ( ( rule__MediaStyle__FormatAssignment_3_0_1 ) ) ;
     public final void rule__MediaStyle__Group_3_0__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:10845:1: ( ( ( rule__MediaStyle__FormatAssignment_3_0_1 ) ) )
-            // InternalReportDSL.g:10846:1: ( ( rule__MediaStyle__FormatAssignment_3_0_1 ) )
+            // InternalReportDSL.g:10960:1: ( ( ( rule__MediaStyle__FormatAssignment_3_0_1 ) ) )
+            // InternalReportDSL.g:10961:1: ( ( rule__MediaStyle__FormatAssignment_3_0_1 ) )
             {
-            // InternalReportDSL.g:10846:1: ( ( rule__MediaStyle__FormatAssignment_3_0_1 ) )
-            // InternalReportDSL.g:10847:2: ( rule__MediaStyle__FormatAssignment_3_0_1 )
+            // InternalReportDSL.g:10961:1: ( ( rule__MediaStyle__FormatAssignment_3_0_1 ) )
+            // InternalReportDSL.g:10962:2: ( rule__MediaStyle__FormatAssignment_3_0_1 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getMediaStyleAccess().getFormatAssignment_3_0_1()); 
             }
-            // InternalReportDSL.g:10848:2: ( rule__MediaStyle__FormatAssignment_3_0_1 )
-            // InternalReportDSL.g:10848:3: rule__MediaStyle__FormatAssignment_3_0_1
+            // InternalReportDSL.g:10963:2: ( rule__MediaStyle__FormatAssignment_3_0_1 )
+            // InternalReportDSL.g:10963:3: rule__MediaStyle__FormatAssignment_3_0_1
             {
             pushFollow(FOLLOW_2);
             rule__MediaStyle__FormatAssignment_3_0_1();
@@ -38100,14 +38546,14 @@
 
 
     // $ANTLR start "rule__MediaStyle__Group_3_1__0"
-    // InternalReportDSL.g:10857:1: rule__MediaStyle__Group_3_1__0 : rule__MediaStyle__Group_3_1__0__Impl rule__MediaStyle__Group_3_1__1 ;
+    // InternalReportDSL.g:10972:1: rule__MediaStyle__Group_3_1__0 : rule__MediaStyle__Group_3_1__0__Impl rule__MediaStyle__Group_3_1__1 ;
     public final void rule__MediaStyle__Group_3_1__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:10861:1: ( rule__MediaStyle__Group_3_1__0__Impl rule__MediaStyle__Group_3_1__1 )
-            // InternalReportDSL.g:10862:2: rule__MediaStyle__Group_3_1__0__Impl rule__MediaStyle__Group_3_1__1
+            // InternalReportDSL.g:10976:1: ( rule__MediaStyle__Group_3_1__0__Impl rule__MediaStyle__Group_3_1__1 )
+            // InternalReportDSL.g:10977:2: rule__MediaStyle__Group_3_1__0__Impl rule__MediaStyle__Group_3_1__1
             {
             pushFollow(FOLLOW_7);
             rule__MediaStyle__Group_3_1__0__Impl();
@@ -38138,22 +38584,22 @@
 
 
     // $ANTLR start "rule__MediaStyle__Group_3_1__0__Impl"
-    // InternalReportDSL.g:10869:1: rule__MediaStyle__Group_3_1__0__Impl : ( 'font' ) ;
+    // InternalReportDSL.g:10984:1: rule__MediaStyle__Group_3_1__0__Impl : ( 'font' ) ;
     public final void rule__MediaStyle__Group_3_1__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:10873:1: ( ( 'font' ) )
-            // InternalReportDSL.g:10874:1: ( 'font' )
+            // InternalReportDSL.g:10988:1: ( ( 'font' ) )
+            // InternalReportDSL.g:10989:1: ( 'font' )
             {
-            // InternalReportDSL.g:10874:1: ( 'font' )
-            // InternalReportDSL.g:10875:2: 'font'
+            // InternalReportDSL.g:10989:1: ( 'font' )
+            // InternalReportDSL.g:10990:2: 'font'
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getMediaStyleAccess().getFontKeyword_3_1_0()); 
             }
-            match(input,149,FOLLOW_2); if (state.failed) return ;
+            match(input,155,FOLLOW_2); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getMediaStyleAccess().getFontKeyword_3_1_0()); 
             }
@@ -38179,14 +38625,14 @@
 
 
     // $ANTLR start "rule__MediaStyle__Group_3_1__1"
-    // InternalReportDSL.g:10884:1: rule__MediaStyle__Group_3_1__1 : rule__MediaStyle__Group_3_1__1__Impl ;
+    // InternalReportDSL.g:10999:1: rule__MediaStyle__Group_3_1__1 : rule__MediaStyle__Group_3_1__1__Impl ;
     public final void rule__MediaStyle__Group_3_1__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:10888:1: ( rule__MediaStyle__Group_3_1__1__Impl )
-            // InternalReportDSL.g:10889:2: rule__MediaStyle__Group_3_1__1__Impl
+            // InternalReportDSL.g:11003:1: ( rule__MediaStyle__Group_3_1__1__Impl )
+            // InternalReportDSL.g:11004:2: rule__MediaStyle__Group_3_1__1__Impl
             {
             pushFollow(FOLLOW_2);
             rule__MediaStyle__Group_3_1__1__Impl();
@@ -38212,23 +38658,23 @@
 
 
     // $ANTLR start "rule__MediaStyle__Group_3_1__1__Impl"
-    // InternalReportDSL.g:10895:1: rule__MediaStyle__Group_3_1__1__Impl : ( ( rule__MediaStyle__FontAssignment_3_1_1 ) ) ;
+    // InternalReportDSL.g:11010:1: rule__MediaStyle__Group_3_1__1__Impl : ( ( rule__MediaStyle__FontAssignment_3_1_1 ) ) ;
     public final void rule__MediaStyle__Group_3_1__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:10899:1: ( ( ( rule__MediaStyle__FontAssignment_3_1_1 ) ) )
-            // InternalReportDSL.g:10900:1: ( ( rule__MediaStyle__FontAssignment_3_1_1 ) )
+            // InternalReportDSL.g:11014:1: ( ( ( rule__MediaStyle__FontAssignment_3_1_1 ) ) )
+            // InternalReportDSL.g:11015:1: ( ( rule__MediaStyle__FontAssignment_3_1_1 ) )
             {
-            // InternalReportDSL.g:10900:1: ( ( rule__MediaStyle__FontAssignment_3_1_1 ) )
-            // InternalReportDSL.g:10901:2: ( rule__MediaStyle__FontAssignment_3_1_1 )
+            // InternalReportDSL.g:11015:1: ( ( rule__MediaStyle__FontAssignment_3_1_1 ) )
+            // InternalReportDSL.g:11016:2: ( rule__MediaStyle__FontAssignment_3_1_1 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getMediaStyleAccess().getFontAssignment_3_1_1()); 
             }
-            // InternalReportDSL.g:10902:2: ( rule__MediaStyle__FontAssignment_3_1_1 )
-            // InternalReportDSL.g:10902:3: rule__MediaStyle__FontAssignment_3_1_1
+            // InternalReportDSL.g:11017:2: ( rule__MediaStyle__FontAssignment_3_1_1 )
+            // InternalReportDSL.g:11017:3: rule__MediaStyle__FontAssignment_3_1_1
             {
             pushFollow(FOLLOW_2);
             rule__MediaStyle__FontAssignment_3_1_1();
@@ -38263,14 +38709,14 @@
 
 
     // $ANTLR start "rule__MediaStyle__Group_3_2__0"
-    // InternalReportDSL.g:10911:1: rule__MediaStyle__Group_3_2__0 : rule__MediaStyle__Group_3_2__0__Impl rule__MediaStyle__Group_3_2__1 ;
+    // InternalReportDSL.g:11026:1: rule__MediaStyle__Group_3_2__0 : rule__MediaStyle__Group_3_2__0__Impl rule__MediaStyle__Group_3_2__1 ;
     public final void rule__MediaStyle__Group_3_2__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:10915:1: ( rule__MediaStyle__Group_3_2__0__Impl rule__MediaStyle__Group_3_2__1 )
-            // InternalReportDSL.g:10916:2: rule__MediaStyle__Group_3_2__0__Impl rule__MediaStyle__Group_3_2__1
+            // InternalReportDSL.g:11030:1: ( rule__MediaStyle__Group_3_2__0__Impl rule__MediaStyle__Group_3_2__1 )
+            // InternalReportDSL.g:11031:2: rule__MediaStyle__Group_3_2__0__Impl rule__MediaStyle__Group_3_2__1
             {
             pushFollow(FOLLOW_7);
             rule__MediaStyle__Group_3_2__0__Impl();
@@ -38301,22 +38747,22 @@
 
 
     // $ANTLR start "rule__MediaStyle__Group_3_2__0__Impl"
-    // InternalReportDSL.g:10923:1: rule__MediaStyle__Group_3_2__0__Impl : ( 'backgroundcolor' ) ;
+    // InternalReportDSL.g:11038:1: rule__MediaStyle__Group_3_2__0__Impl : ( 'backgroundcolor' ) ;
     public final void rule__MediaStyle__Group_3_2__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:10927:1: ( ( 'backgroundcolor' ) )
-            // InternalReportDSL.g:10928:1: ( 'backgroundcolor' )
+            // InternalReportDSL.g:11042:1: ( ( 'backgroundcolor' ) )
+            // InternalReportDSL.g:11043:1: ( 'backgroundcolor' )
             {
-            // InternalReportDSL.g:10928:1: ( 'backgroundcolor' )
-            // InternalReportDSL.g:10929:2: 'backgroundcolor'
+            // InternalReportDSL.g:11043:1: ( 'backgroundcolor' )
+            // InternalReportDSL.g:11044:2: 'backgroundcolor'
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getMediaStyleAccess().getBackgroundcolorKeyword_3_2_0()); 
             }
-            match(input,154,FOLLOW_2); if (state.failed) return ;
+            match(input,160,FOLLOW_2); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getMediaStyleAccess().getBackgroundcolorKeyword_3_2_0()); 
             }
@@ -38342,14 +38788,14 @@
 
 
     // $ANTLR start "rule__MediaStyle__Group_3_2__1"
-    // InternalReportDSL.g:10938:1: rule__MediaStyle__Group_3_2__1 : rule__MediaStyle__Group_3_2__1__Impl rule__MediaStyle__Group_3_2__2 ;
+    // InternalReportDSL.g:11053:1: rule__MediaStyle__Group_3_2__1 : rule__MediaStyle__Group_3_2__1__Impl rule__MediaStyle__Group_3_2__2 ;
     public final void rule__MediaStyle__Group_3_2__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:10942:1: ( rule__MediaStyle__Group_3_2__1__Impl rule__MediaStyle__Group_3_2__2 )
-            // InternalReportDSL.g:10943:2: rule__MediaStyle__Group_3_2__1__Impl rule__MediaStyle__Group_3_2__2
+            // InternalReportDSL.g:11057:1: ( rule__MediaStyle__Group_3_2__1__Impl rule__MediaStyle__Group_3_2__2 )
+            // InternalReportDSL.g:11058:2: rule__MediaStyle__Group_3_2__1__Impl rule__MediaStyle__Group_3_2__2
             {
             pushFollow(FOLLOW_50);
             rule__MediaStyle__Group_3_2__1__Impl();
@@ -38380,23 +38826,23 @@
 
 
     // $ANTLR start "rule__MediaStyle__Group_3_2__1__Impl"
-    // InternalReportDSL.g:10950:1: rule__MediaStyle__Group_3_2__1__Impl : ( ( rule__MediaStyle__BackgroundcolorAssignment_3_2_1 ) ) ;
+    // InternalReportDSL.g:11065:1: rule__MediaStyle__Group_3_2__1__Impl : ( ( rule__MediaStyle__BackgroundcolorAssignment_3_2_1 ) ) ;
     public final void rule__MediaStyle__Group_3_2__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:10954:1: ( ( ( rule__MediaStyle__BackgroundcolorAssignment_3_2_1 ) ) )
-            // InternalReportDSL.g:10955:1: ( ( rule__MediaStyle__BackgroundcolorAssignment_3_2_1 ) )
+            // InternalReportDSL.g:11069:1: ( ( ( rule__MediaStyle__BackgroundcolorAssignment_3_2_1 ) ) )
+            // InternalReportDSL.g:11070:1: ( ( rule__MediaStyle__BackgroundcolorAssignment_3_2_1 ) )
             {
-            // InternalReportDSL.g:10955:1: ( ( rule__MediaStyle__BackgroundcolorAssignment_3_2_1 ) )
-            // InternalReportDSL.g:10956:2: ( rule__MediaStyle__BackgroundcolorAssignment_3_2_1 )
+            // InternalReportDSL.g:11070:1: ( ( rule__MediaStyle__BackgroundcolorAssignment_3_2_1 ) )
+            // InternalReportDSL.g:11071:2: ( rule__MediaStyle__BackgroundcolorAssignment_3_2_1 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getMediaStyleAccess().getBackgroundcolorAssignment_3_2_1()); 
             }
-            // InternalReportDSL.g:10957:2: ( rule__MediaStyle__BackgroundcolorAssignment_3_2_1 )
-            // InternalReportDSL.g:10957:3: rule__MediaStyle__BackgroundcolorAssignment_3_2_1
+            // InternalReportDSL.g:11072:2: ( rule__MediaStyle__BackgroundcolorAssignment_3_2_1 )
+            // InternalReportDSL.g:11072:3: rule__MediaStyle__BackgroundcolorAssignment_3_2_1
             {
             pushFollow(FOLLOW_2);
             rule__MediaStyle__BackgroundcolorAssignment_3_2_1();
@@ -38431,14 +38877,14 @@
 
 
     // $ANTLR start "rule__MediaStyle__Group_3_2__2"
-    // InternalReportDSL.g:10965:1: rule__MediaStyle__Group_3_2__2 : rule__MediaStyle__Group_3_2__2__Impl ;
+    // InternalReportDSL.g:11080:1: rule__MediaStyle__Group_3_2__2 : rule__MediaStyle__Group_3_2__2__Impl ;
     public final void rule__MediaStyle__Group_3_2__2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:10969:1: ( rule__MediaStyle__Group_3_2__2__Impl )
-            // InternalReportDSL.g:10970:2: rule__MediaStyle__Group_3_2__2__Impl
+            // InternalReportDSL.g:11084:1: ( rule__MediaStyle__Group_3_2__2__Impl )
+            // InternalReportDSL.g:11085:2: rule__MediaStyle__Group_3_2__2__Impl
             {
             pushFollow(FOLLOW_2);
             rule__MediaStyle__Group_3_2__2__Impl();
@@ -38464,31 +38910,31 @@
 
 
     // $ANTLR start "rule__MediaStyle__Group_3_2__2__Impl"
-    // InternalReportDSL.g:10976:1: rule__MediaStyle__Group_3_2__2__Impl : ( ( rule__MediaStyle__Group_3_2_2__0 )? ) ;
+    // InternalReportDSL.g:11091:1: rule__MediaStyle__Group_3_2__2__Impl : ( ( rule__MediaStyle__Group_3_2_2__0 )? ) ;
     public final void rule__MediaStyle__Group_3_2__2__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:10980:1: ( ( ( rule__MediaStyle__Group_3_2_2__0 )? ) )
-            // InternalReportDSL.g:10981:1: ( ( rule__MediaStyle__Group_3_2_2__0 )? )
+            // InternalReportDSL.g:11095:1: ( ( ( rule__MediaStyle__Group_3_2_2__0 )? ) )
+            // InternalReportDSL.g:11096:1: ( ( rule__MediaStyle__Group_3_2_2__0 )? )
             {
-            // InternalReportDSL.g:10981:1: ( ( rule__MediaStyle__Group_3_2_2__0 )? )
-            // InternalReportDSL.g:10982:2: ( rule__MediaStyle__Group_3_2_2__0 )?
+            // InternalReportDSL.g:11096:1: ( ( rule__MediaStyle__Group_3_2_2__0 )? )
+            // InternalReportDSL.g:11097:2: ( rule__MediaStyle__Group_3_2_2__0 )?
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getMediaStyleAccess().getGroup_3_2_2()); 
             }
-            // InternalReportDSL.g:10983:2: ( rule__MediaStyle__Group_3_2_2__0 )?
-            int alt95=2;
-            int LA95_0 = input.LA(1);
+            // InternalReportDSL.g:11098:2: ( rule__MediaStyle__Group_3_2_2__0 )?
+            int alt97=2;
+            int LA97_0 = input.LA(1);
 
-            if ( (LA95_0==155) ) {
-                alt95=1;
+            if ( (LA97_0==161) ) {
+                alt97=1;
             }
-            switch (alt95) {
+            switch (alt97) {
                 case 1 :
-                    // InternalReportDSL.g:10983:3: rule__MediaStyle__Group_3_2_2__0
+                    // InternalReportDSL.g:11098:3: rule__MediaStyle__Group_3_2_2__0
                     {
                     pushFollow(FOLLOW_2);
                     rule__MediaStyle__Group_3_2_2__0();
@@ -38526,14 +38972,14 @@
 
 
     // $ANTLR start "rule__MediaStyle__Group_3_2_2__0"
-    // InternalReportDSL.g:10992:1: rule__MediaStyle__Group_3_2_2__0 : rule__MediaStyle__Group_3_2_2__0__Impl rule__MediaStyle__Group_3_2_2__1 ;
+    // InternalReportDSL.g:11107:1: rule__MediaStyle__Group_3_2_2__0 : rule__MediaStyle__Group_3_2_2__0__Impl rule__MediaStyle__Group_3_2_2__1 ;
     public final void rule__MediaStyle__Group_3_2_2__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:10996:1: ( rule__MediaStyle__Group_3_2_2__0__Impl rule__MediaStyle__Group_3_2_2__1 )
-            // InternalReportDSL.g:10997:2: rule__MediaStyle__Group_3_2_2__0__Impl rule__MediaStyle__Group_3_2_2__1
+            // InternalReportDSL.g:11111:1: ( rule__MediaStyle__Group_3_2_2__0__Impl rule__MediaStyle__Group_3_2_2__1 )
+            // InternalReportDSL.g:11112:2: rule__MediaStyle__Group_3_2_2__0__Impl rule__MediaStyle__Group_3_2_2__1
             {
             pushFollow(FOLLOW_7);
             rule__MediaStyle__Group_3_2_2__0__Impl();
@@ -38564,22 +39010,22 @@
 
 
     // $ANTLR start "rule__MediaStyle__Group_3_2_2__0__Impl"
-    // InternalReportDSL.g:11004:1: rule__MediaStyle__Group_3_2_2__0__Impl : ( 'alternate' ) ;
+    // InternalReportDSL.g:11119:1: rule__MediaStyle__Group_3_2_2__0__Impl : ( 'alternate' ) ;
     public final void rule__MediaStyle__Group_3_2_2__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:11008:1: ( ( 'alternate' ) )
-            // InternalReportDSL.g:11009:1: ( 'alternate' )
+            // InternalReportDSL.g:11123:1: ( ( 'alternate' ) )
+            // InternalReportDSL.g:11124:1: ( 'alternate' )
             {
-            // InternalReportDSL.g:11009:1: ( 'alternate' )
-            // InternalReportDSL.g:11010:2: 'alternate'
+            // InternalReportDSL.g:11124:1: ( 'alternate' )
+            // InternalReportDSL.g:11125:2: 'alternate'
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getMediaStyleAccess().getAlternateKeyword_3_2_2_0()); 
             }
-            match(input,155,FOLLOW_2); if (state.failed) return ;
+            match(input,161,FOLLOW_2); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getMediaStyleAccess().getAlternateKeyword_3_2_2_0()); 
             }
@@ -38605,14 +39051,14 @@
 
 
     // $ANTLR start "rule__MediaStyle__Group_3_2_2__1"
-    // InternalReportDSL.g:11019:1: rule__MediaStyle__Group_3_2_2__1 : rule__MediaStyle__Group_3_2_2__1__Impl ;
+    // InternalReportDSL.g:11134:1: rule__MediaStyle__Group_3_2_2__1 : rule__MediaStyle__Group_3_2_2__1__Impl ;
     public final void rule__MediaStyle__Group_3_2_2__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:11023:1: ( rule__MediaStyle__Group_3_2_2__1__Impl )
-            // InternalReportDSL.g:11024:2: rule__MediaStyle__Group_3_2_2__1__Impl
+            // InternalReportDSL.g:11138:1: ( rule__MediaStyle__Group_3_2_2__1__Impl )
+            // InternalReportDSL.g:11139:2: rule__MediaStyle__Group_3_2_2__1__Impl
             {
             pushFollow(FOLLOW_2);
             rule__MediaStyle__Group_3_2_2__1__Impl();
@@ -38638,23 +39084,23 @@
 
 
     // $ANTLR start "rule__MediaStyle__Group_3_2_2__1__Impl"
-    // InternalReportDSL.g:11030:1: rule__MediaStyle__Group_3_2_2__1__Impl : ( ( rule__MediaStyle__Backgroundcolor_alternateAssignment_3_2_2_1 ) ) ;
+    // InternalReportDSL.g:11145:1: rule__MediaStyle__Group_3_2_2__1__Impl : ( ( rule__MediaStyle__Backgroundcolor_alternateAssignment_3_2_2_1 ) ) ;
     public final void rule__MediaStyle__Group_3_2_2__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:11034:1: ( ( ( rule__MediaStyle__Backgroundcolor_alternateAssignment_3_2_2_1 ) ) )
-            // InternalReportDSL.g:11035:1: ( ( rule__MediaStyle__Backgroundcolor_alternateAssignment_3_2_2_1 ) )
+            // InternalReportDSL.g:11149:1: ( ( ( rule__MediaStyle__Backgroundcolor_alternateAssignment_3_2_2_1 ) ) )
+            // InternalReportDSL.g:11150:1: ( ( rule__MediaStyle__Backgroundcolor_alternateAssignment_3_2_2_1 ) )
             {
-            // InternalReportDSL.g:11035:1: ( ( rule__MediaStyle__Backgroundcolor_alternateAssignment_3_2_2_1 ) )
-            // InternalReportDSL.g:11036:2: ( rule__MediaStyle__Backgroundcolor_alternateAssignment_3_2_2_1 )
+            // InternalReportDSL.g:11150:1: ( ( rule__MediaStyle__Backgroundcolor_alternateAssignment_3_2_2_1 ) )
+            // InternalReportDSL.g:11151:2: ( rule__MediaStyle__Backgroundcolor_alternateAssignment_3_2_2_1 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getMediaStyleAccess().getBackgroundcolor_alternateAssignment_3_2_2_1()); 
             }
-            // InternalReportDSL.g:11037:2: ( rule__MediaStyle__Backgroundcolor_alternateAssignment_3_2_2_1 )
-            // InternalReportDSL.g:11037:3: rule__MediaStyle__Backgroundcolor_alternateAssignment_3_2_2_1
+            // InternalReportDSL.g:11152:2: ( rule__MediaStyle__Backgroundcolor_alternateAssignment_3_2_2_1 )
+            // InternalReportDSL.g:11152:3: rule__MediaStyle__Backgroundcolor_alternateAssignment_3_2_2_1
             {
             pushFollow(FOLLOW_2);
             rule__MediaStyle__Backgroundcolor_alternateAssignment_3_2_2_1();
@@ -38689,14 +39135,14 @@
 
 
     // $ANTLR start "rule__MediaStyle__Group_3_3__0"
-    // InternalReportDSL.g:11046:1: rule__MediaStyle__Group_3_3__0 : rule__MediaStyle__Group_3_3__0__Impl rule__MediaStyle__Group_3_3__1 ;
+    // InternalReportDSL.g:11161:1: rule__MediaStyle__Group_3_3__0 : rule__MediaStyle__Group_3_3__0__Impl rule__MediaStyle__Group_3_3__1 ;
     public final void rule__MediaStyle__Group_3_3__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:11050:1: ( rule__MediaStyle__Group_3_3__0__Impl rule__MediaStyle__Group_3_3__1 )
-            // InternalReportDSL.g:11051:2: rule__MediaStyle__Group_3_3__0__Impl rule__MediaStyle__Group_3_3__1
+            // InternalReportDSL.g:11165:1: ( rule__MediaStyle__Group_3_3__0__Impl rule__MediaStyle__Group_3_3__1 )
+            // InternalReportDSL.g:11166:2: rule__MediaStyle__Group_3_3__0__Impl rule__MediaStyle__Group_3_3__1
             {
             pushFollow(FOLLOW_7);
             rule__MediaStyle__Group_3_3__0__Impl();
@@ -38727,22 +39173,22 @@
 
 
     // $ANTLR start "rule__MediaStyle__Group_3_3__0__Impl"
-    // InternalReportDSL.g:11058:1: rule__MediaStyle__Group_3_3__0__Impl : ( 'textcolor' ) ;
+    // InternalReportDSL.g:11173:1: rule__MediaStyle__Group_3_3__0__Impl : ( 'textcolor' ) ;
     public final void rule__MediaStyle__Group_3_3__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:11062:1: ( ( 'textcolor' ) )
-            // InternalReportDSL.g:11063:1: ( 'textcolor' )
+            // InternalReportDSL.g:11177:1: ( ( 'textcolor' ) )
+            // InternalReportDSL.g:11178:1: ( 'textcolor' )
             {
-            // InternalReportDSL.g:11063:1: ( 'textcolor' )
-            // InternalReportDSL.g:11064:2: 'textcolor'
+            // InternalReportDSL.g:11178:1: ( 'textcolor' )
+            // InternalReportDSL.g:11179:2: 'textcolor'
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getMediaStyleAccess().getTextcolorKeyword_3_3_0()); 
             }
-            match(input,156,FOLLOW_2); if (state.failed) return ;
+            match(input,162,FOLLOW_2); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getMediaStyleAccess().getTextcolorKeyword_3_3_0()); 
             }
@@ -38768,14 +39214,14 @@
 
 
     // $ANTLR start "rule__MediaStyle__Group_3_3__1"
-    // InternalReportDSL.g:11073:1: rule__MediaStyle__Group_3_3__1 : rule__MediaStyle__Group_3_3__1__Impl ;
+    // InternalReportDSL.g:11188:1: rule__MediaStyle__Group_3_3__1 : rule__MediaStyle__Group_3_3__1__Impl ;
     public final void rule__MediaStyle__Group_3_3__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:11077:1: ( rule__MediaStyle__Group_3_3__1__Impl )
-            // InternalReportDSL.g:11078:2: rule__MediaStyle__Group_3_3__1__Impl
+            // InternalReportDSL.g:11192:1: ( rule__MediaStyle__Group_3_3__1__Impl )
+            // InternalReportDSL.g:11193:2: rule__MediaStyle__Group_3_3__1__Impl
             {
             pushFollow(FOLLOW_2);
             rule__MediaStyle__Group_3_3__1__Impl();
@@ -38801,23 +39247,23 @@
 
 
     // $ANTLR start "rule__MediaStyle__Group_3_3__1__Impl"
-    // InternalReportDSL.g:11084:1: rule__MediaStyle__Group_3_3__1__Impl : ( ( rule__MediaStyle__TextcolorAssignment_3_3_1 ) ) ;
+    // InternalReportDSL.g:11199:1: rule__MediaStyle__Group_3_3__1__Impl : ( ( rule__MediaStyle__TextcolorAssignment_3_3_1 ) ) ;
     public final void rule__MediaStyle__Group_3_3__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:11088:1: ( ( ( rule__MediaStyle__TextcolorAssignment_3_3_1 ) ) )
-            // InternalReportDSL.g:11089:1: ( ( rule__MediaStyle__TextcolorAssignment_3_3_1 ) )
+            // InternalReportDSL.g:11203:1: ( ( ( rule__MediaStyle__TextcolorAssignment_3_3_1 ) ) )
+            // InternalReportDSL.g:11204:1: ( ( rule__MediaStyle__TextcolorAssignment_3_3_1 ) )
             {
-            // InternalReportDSL.g:11089:1: ( ( rule__MediaStyle__TextcolorAssignment_3_3_1 ) )
-            // InternalReportDSL.g:11090:2: ( rule__MediaStyle__TextcolorAssignment_3_3_1 )
+            // InternalReportDSL.g:11204:1: ( ( rule__MediaStyle__TextcolorAssignment_3_3_1 ) )
+            // InternalReportDSL.g:11205:2: ( rule__MediaStyle__TextcolorAssignment_3_3_1 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getMediaStyleAccess().getTextcolorAssignment_3_3_1()); 
             }
-            // InternalReportDSL.g:11091:2: ( rule__MediaStyle__TextcolorAssignment_3_3_1 )
-            // InternalReportDSL.g:11091:3: rule__MediaStyle__TextcolorAssignment_3_3_1
+            // InternalReportDSL.g:11206:2: ( rule__MediaStyle__TextcolorAssignment_3_3_1 )
+            // InternalReportDSL.g:11206:3: rule__MediaStyle__TextcolorAssignment_3_3_1
             {
             pushFollow(FOLLOW_2);
             rule__MediaStyle__TextcolorAssignment_3_3_1();
@@ -38852,14 +39298,14 @@
 
 
     // $ANTLR start "rule__MediaStyle__Group_3_4__0"
-    // InternalReportDSL.g:11100:1: rule__MediaStyle__Group_3_4__0 : rule__MediaStyle__Group_3_4__0__Impl rule__MediaStyle__Group_3_4__1 ;
+    // InternalReportDSL.g:11215:1: rule__MediaStyle__Group_3_4__0 : rule__MediaStyle__Group_3_4__0__Impl rule__MediaStyle__Group_3_4__1 ;
     public final void rule__MediaStyle__Group_3_4__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:11104:1: ( rule__MediaStyle__Group_3_4__0__Impl rule__MediaStyle__Group_3_4__1 )
-            // InternalReportDSL.g:11105:2: rule__MediaStyle__Group_3_4__0__Impl rule__MediaStyle__Group_3_4__1
+            // InternalReportDSL.g:11219:1: ( rule__MediaStyle__Group_3_4__0__Impl rule__MediaStyle__Group_3_4__1 )
+            // InternalReportDSL.g:11220:2: rule__MediaStyle__Group_3_4__0__Impl rule__MediaStyle__Group_3_4__1
             {
             pushFollow(FOLLOW_51);
             rule__MediaStyle__Group_3_4__0__Impl();
@@ -38890,22 +39336,22 @@
 
 
     // $ANTLR start "rule__MediaStyle__Group_3_4__0__Impl"
-    // InternalReportDSL.g:11112:1: rule__MediaStyle__Group_3_4__0__Impl : ( 'textalign' ) ;
+    // InternalReportDSL.g:11227:1: rule__MediaStyle__Group_3_4__0__Impl : ( 'textalign' ) ;
     public final void rule__MediaStyle__Group_3_4__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:11116:1: ( ( 'textalign' ) )
-            // InternalReportDSL.g:11117:1: ( 'textalign' )
+            // InternalReportDSL.g:11231:1: ( ( 'textalign' ) )
+            // InternalReportDSL.g:11232:1: ( 'textalign' )
             {
-            // InternalReportDSL.g:11117:1: ( 'textalign' )
-            // InternalReportDSL.g:11118:2: 'textalign'
+            // InternalReportDSL.g:11232:1: ( 'textalign' )
+            // InternalReportDSL.g:11233:2: 'textalign'
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getMediaStyleAccess().getTextalignKeyword_3_4_0()); 
             }
-            match(input,157,FOLLOW_2); if (state.failed) return ;
+            match(input,163,FOLLOW_2); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getMediaStyleAccess().getTextalignKeyword_3_4_0()); 
             }
@@ -38931,14 +39377,14 @@
 
 
     // $ANTLR start "rule__MediaStyle__Group_3_4__1"
-    // InternalReportDSL.g:11127:1: rule__MediaStyle__Group_3_4__1 : rule__MediaStyle__Group_3_4__1__Impl ;
+    // InternalReportDSL.g:11242:1: rule__MediaStyle__Group_3_4__1 : rule__MediaStyle__Group_3_4__1__Impl ;
     public final void rule__MediaStyle__Group_3_4__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:11131:1: ( rule__MediaStyle__Group_3_4__1__Impl )
-            // InternalReportDSL.g:11132:2: rule__MediaStyle__Group_3_4__1__Impl
+            // InternalReportDSL.g:11246:1: ( rule__MediaStyle__Group_3_4__1__Impl )
+            // InternalReportDSL.g:11247:2: rule__MediaStyle__Group_3_4__1__Impl
             {
             pushFollow(FOLLOW_2);
             rule__MediaStyle__Group_3_4__1__Impl();
@@ -38964,23 +39410,23 @@
 
 
     // $ANTLR start "rule__MediaStyle__Group_3_4__1__Impl"
-    // InternalReportDSL.g:11138:1: rule__MediaStyle__Group_3_4__1__Impl : ( ( rule__MediaStyle__TextalignAssignment_3_4_1 ) ) ;
+    // InternalReportDSL.g:11253:1: rule__MediaStyle__Group_3_4__1__Impl : ( ( rule__MediaStyle__TextalignAssignment_3_4_1 ) ) ;
     public final void rule__MediaStyle__Group_3_4__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:11142:1: ( ( ( rule__MediaStyle__TextalignAssignment_3_4_1 ) ) )
-            // InternalReportDSL.g:11143:1: ( ( rule__MediaStyle__TextalignAssignment_3_4_1 ) )
+            // InternalReportDSL.g:11257:1: ( ( ( rule__MediaStyle__TextalignAssignment_3_4_1 ) ) )
+            // InternalReportDSL.g:11258:1: ( ( rule__MediaStyle__TextalignAssignment_3_4_1 ) )
             {
-            // InternalReportDSL.g:11143:1: ( ( rule__MediaStyle__TextalignAssignment_3_4_1 ) )
-            // InternalReportDSL.g:11144:2: ( rule__MediaStyle__TextalignAssignment_3_4_1 )
+            // InternalReportDSL.g:11258:1: ( ( rule__MediaStyle__TextalignAssignment_3_4_1 ) )
+            // InternalReportDSL.g:11259:2: ( rule__MediaStyle__TextalignAssignment_3_4_1 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getMediaStyleAccess().getTextalignAssignment_3_4_1()); 
             }
-            // InternalReportDSL.g:11145:2: ( rule__MediaStyle__TextalignAssignment_3_4_1 )
-            // InternalReportDSL.g:11145:3: rule__MediaStyle__TextalignAssignment_3_4_1
+            // InternalReportDSL.g:11260:2: ( rule__MediaStyle__TextalignAssignment_3_4_1 )
+            // InternalReportDSL.g:11260:3: rule__MediaStyle__TextalignAssignment_3_4_1
             {
             pushFollow(FOLLOW_2);
             rule__MediaStyle__TextalignAssignment_3_4_1();
@@ -39015,14 +39461,14 @@
 
 
     // $ANTLR start "rule__MediaStyle__Group_3_5__0"
-    // InternalReportDSL.g:11154:1: rule__MediaStyle__Group_3_5__0 : rule__MediaStyle__Group_3_5__0__Impl rule__MediaStyle__Group_3_5__1 ;
+    // InternalReportDSL.g:11269:1: rule__MediaStyle__Group_3_5__0 : rule__MediaStyle__Group_3_5__0__Impl rule__MediaStyle__Group_3_5__1 ;
     public final void rule__MediaStyle__Group_3_5__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:11158:1: ( rule__MediaStyle__Group_3_5__0__Impl rule__MediaStyle__Group_3_5__1 )
-            // InternalReportDSL.g:11159:2: rule__MediaStyle__Group_3_5__0__Impl rule__MediaStyle__Group_3_5__1
+            // InternalReportDSL.g:11273:1: ( rule__MediaStyle__Group_3_5__0__Impl rule__MediaStyle__Group_3_5__1 )
+            // InternalReportDSL.g:11274:2: rule__MediaStyle__Group_3_5__0__Impl rule__MediaStyle__Group_3_5__1
             {
             pushFollow(FOLLOW_52);
             rule__MediaStyle__Group_3_5__0__Impl();
@@ -39053,24 +39499,24 @@
 
 
     // $ANTLR start "rule__MediaStyle__Group_3_5__0__Impl"
-    // InternalReportDSL.g:11166:1: rule__MediaStyle__Group_3_5__0__Impl : ( 'border-top' ) ;
+    // InternalReportDSL.g:11281:1: rule__MediaStyle__Group_3_5__0__Impl : ( 'verticalalign' ) ;
     public final void rule__MediaStyle__Group_3_5__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:11170:1: ( ( 'border-top' ) )
-            // InternalReportDSL.g:11171:1: ( 'border-top' )
+            // InternalReportDSL.g:11285:1: ( ( 'verticalalign' ) )
+            // InternalReportDSL.g:11286:1: ( 'verticalalign' )
             {
-            // InternalReportDSL.g:11171:1: ( 'border-top' )
-            // InternalReportDSL.g:11172:2: 'border-top'
+            // InternalReportDSL.g:11286:1: ( 'verticalalign' )
+            // InternalReportDSL.g:11287:2: 'verticalalign'
             {
             if ( state.backtracking==0 ) {
-               before(grammarAccess.getMediaStyleAccess().getBorderTopKeyword_3_5_0()); 
+               before(grammarAccess.getMediaStyleAccess().getVerticalalignKeyword_3_5_0()); 
             }
-            match(input,158,FOLLOW_2); if (state.failed) return ;
+            match(input,164,FOLLOW_2); if (state.failed) return ;
             if ( state.backtracking==0 ) {
-               after(grammarAccess.getMediaStyleAccess().getBorderTopKeyword_3_5_0()); 
+               after(grammarAccess.getMediaStyleAccess().getVerticalalignKeyword_3_5_0()); 
             }
 
             }
@@ -39094,14 +39540,14 @@
 
 
     // $ANTLR start "rule__MediaStyle__Group_3_5__1"
-    // InternalReportDSL.g:11181:1: rule__MediaStyle__Group_3_5__1 : rule__MediaStyle__Group_3_5__1__Impl ;
+    // InternalReportDSL.g:11296:1: rule__MediaStyle__Group_3_5__1 : rule__MediaStyle__Group_3_5__1__Impl ;
     public final void rule__MediaStyle__Group_3_5__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:11185:1: ( rule__MediaStyle__Group_3_5__1__Impl )
-            // InternalReportDSL.g:11186:2: rule__MediaStyle__Group_3_5__1__Impl
+            // InternalReportDSL.g:11300:1: ( rule__MediaStyle__Group_3_5__1__Impl )
+            // InternalReportDSL.g:11301:2: rule__MediaStyle__Group_3_5__1__Impl
             {
             pushFollow(FOLLOW_2);
             rule__MediaStyle__Group_3_5__1__Impl();
@@ -39127,26 +39573,26 @@
 
 
     // $ANTLR start "rule__MediaStyle__Group_3_5__1__Impl"
-    // InternalReportDSL.g:11192:1: rule__MediaStyle__Group_3_5__1__Impl : ( ( rule__MediaStyle__BorderTopAssignment_3_5_1 ) ) ;
+    // InternalReportDSL.g:11307:1: rule__MediaStyle__Group_3_5__1__Impl : ( ( rule__MediaStyle__VerticalalignAssignment_3_5_1 ) ) ;
     public final void rule__MediaStyle__Group_3_5__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:11196:1: ( ( ( rule__MediaStyle__BorderTopAssignment_3_5_1 ) ) )
-            // InternalReportDSL.g:11197:1: ( ( rule__MediaStyle__BorderTopAssignment_3_5_1 ) )
+            // InternalReportDSL.g:11311:1: ( ( ( rule__MediaStyle__VerticalalignAssignment_3_5_1 ) ) )
+            // InternalReportDSL.g:11312:1: ( ( rule__MediaStyle__VerticalalignAssignment_3_5_1 ) )
             {
-            // InternalReportDSL.g:11197:1: ( ( rule__MediaStyle__BorderTopAssignment_3_5_1 ) )
-            // InternalReportDSL.g:11198:2: ( rule__MediaStyle__BorderTopAssignment_3_5_1 )
+            // InternalReportDSL.g:11312:1: ( ( rule__MediaStyle__VerticalalignAssignment_3_5_1 ) )
+            // InternalReportDSL.g:11313:2: ( rule__MediaStyle__VerticalalignAssignment_3_5_1 )
             {
             if ( state.backtracking==0 ) {
-               before(grammarAccess.getMediaStyleAccess().getBorderTopAssignment_3_5_1()); 
+               before(grammarAccess.getMediaStyleAccess().getVerticalalignAssignment_3_5_1()); 
             }
-            // InternalReportDSL.g:11199:2: ( rule__MediaStyle__BorderTopAssignment_3_5_1 )
-            // InternalReportDSL.g:11199:3: rule__MediaStyle__BorderTopAssignment_3_5_1
+            // InternalReportDSL.g:11314:2: ( rule__MediaStyle__VerticalalignAssignment_3_5_1 )
+            // InternalReportDSL.g:11314:3: rule__MediaStyle__VerticalalignAssignment_3_5_1
             {
             pushFollow(FOLLOW_2);
-            rule__MediaStyle__BorderTopAssignment_3_5_1();
+            rule__MediaStyle__VerticalalignAssignment_3_5_1();
 
             state._fsp--;
             if (state.failed) return ;
@@ -39154,7 +39600,7 @@
             }
 
             if ( state.backtracking==0 ) {
-               after(grammarAccess.getMediaStyleAccess().getBorderTopAssignment_3_5_1()); 
+               after(grammarAccess.getMediaStyleAccess().getVerticalalignAssignment_3_5_1()); 
             }
 
             }
@@ -39178,16 +39624,16 @@
 
 
     // $ANTLR start "rule__MediaStyle__Group_3_6__0"
-    // InternalReportDSL.g:11208:1: rule__MediaStyle__Group_3_6__0 : rule__MediaStyle__Group_3_6__0__Impl rule__MediaStyle__Group_3_6__1 ;
+    // InternalReportDSL.g:11323:1: rule__MediaStyle__Group_3_6__0 : rule__MediaStyle__Group_3_6__0__Impl rule__MediaStyle__Group_3_6__1 ;
     public final void rule__MediaStyle__Group_3_6__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:11212:1: ( rule__MediaStyle__Group_3_6__0__Impl rule__MediaStyle__Group_3_6__1 )
-            // InternalReportDSL.g:11213:2: rule__MediaStyle__Group_3_6__0__Impl rule__MediaStyle__Group_3_6__1
+            // InternalReportDSL.g:11327:1: ( rule__MediaStyle__Group_3_6__0__Impl rule__MediaStyle__Group_3_6__1 )
+            // InternalReportDSL.g:11328:2: rule__MediaStyle__Group_3_6__0__Impl rule__MediaStyle__Group_3_6__1
             {
-            pushFollow(FOLLOW_52);
+            pushFollow(FOLLOW_53);
             rule__MediaStyle__Group_3_6__0__Impl();
 
             state._fsp--;
@@ -39216,24 +39662,24 @@
 
 
     // $ANTLR start "rule__MediaStyle__Group_3_6__0__Impl"
-    // InternalReportDSL.g:11220:1: rule__MediaStyle__Group_3_6__0__Impl : ( 'border-bottom' ) ;
+    // InternalReportDSL.g:11335:1: rule__MediaStyle__Group_3_6__0__Impl : ( 'border-top' ) ;
     public final void rule__MediaStyle__Group_3_6__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:11224:1: ( ( 'border-bottom' ) )
-            // InternalReportDSL.g:11225:1: ( 'border-bottom' )
+            // InternalReportDSL.g:11339:1: ( ( 'border-top' ) )
+            // InternalReportDSL.g:11340:1: ( 'border-top' )
             {
-            // InternalReportDSL.g:11225:1: ( 'border-bottom' )
-            // InternalReportDSL.g:11226:2: 'border-bottom'
+            // InternalReportDSL.g:11340:1: ( 'border-top' )
+            // InternalReportDSL.g:11341:2: 'border-top'
             {
             if ( state.backtracking==0 ) {
-               before(grammarAccess.getMediaStyleAccess().getBorderBottomKeyword_3_6_0()); 
+               before(grammarAccess.getMediaStyleAccess().getBorderTopKeyword_3_6_0()); 
             }
-            match(input,159,FOLLOW_2); if (state.failed) return ;
+            match(input,165,FOLLOW_2); if (state.failed) return ;
             if ( state.backtracking==0 ) {
-               after(grammarAccess.getMediaStyleAccess().getBorderBottomKeyword_3_6_0()); 
+               after(grammarAccess.getMediaStyleAccess().getBorderTopKeyword_3_6_0()); 
             }
 
             }
@@ -39257,14 +39703,14 @@
 
 
     // $ANTLR start "rule__MediaStyle__Group_3_6__1"
-    // InternalReportDSL.g:11235:1: rule__MediaStyle__Group_3_6__1 : rule__MediaStyle__Group_3_6__1__Impl ;
+    // InternalReportDSL.g:11350:1: rule__MediaStyle__Group_3_6__1 : rule__MediaStyle__Group_3_6__1__Impl ;
     public final void rule__MediaStyle__Group_3_6__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:11239:1: ( rule__MediaStyle__Group_3_6__1__Impl )
-            // InternalReportDSL.g:11240:2: rule__MediaStyle__Group_3_6__1__Impl
+            // InternalReportDSL.g:11354:1: ( rule__MediaStyle__Group_3_6__1__Impl )
+            // InternalReportDSL.g:11355:2: rule__MediaStyle__Group_3_6__1__Impl
             {
             pushFollow(FOLLOW_2);
             rule__MediaStyle__Group_3_6__1__Impl();
@@ -39290,26 +39736,26 @@
 
 
     // $ANTLR start "rule__MediaStyle__Group_3_6__1__Impl"
-    // InternalReportDSL.g:11246:1: rule__MediaStyle__Group_3_6__1__Impl : ( ( rule__MediaStyle__BorderBottomAssignment_3_6_1 ) ) ;
+    // InternalReportDSL.g:11361:1: rule__MediaStyle__Group_3_6__1__Impl : ( ( rule__MediaStyle__BorderTopAssignment_3_6_1 ) ) ;
     public final void rule__MediaStyle__Group_3_6__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:11250:1: ( ( ( rule__MediaStyle__BorderBottomAssignment_3_6_1 ) ) )
-            // InternalReportDSL.g:11251:1: ( ( rule__MediaStyle__BorderBottomAssignment_3_6_1 ) )
+            // InternalReportDSL.g:11365:1: ( ( ( rule__MediaStyle__BorderTopAssignment_3_6_1 ) ) )
+            // InternalReportDSL.g:11366:1: ( ( rule__MediaStyle__BorderTopAssignment_3_6_1 ) )
             {
-            // InternalReportDSL.g:11251:1: ( ( rule__MediaStyle__BorderBottomAssignment_3_6_1 ) )
-            // InternalReportDSL.g:11252:2: ( rule__MediaStyle__BorderBottomAssignment_3_6_1 )
+            // InternalReportDSL.g:11366:1: ( ( rule__MediaStyle__BorderTopAssignment_3_6_1 ) )
+            // InternalReportDSL.g:11367:2: ( rule__MediaStyle__BorderTopAssignment_3_6_1 )
             {
             if ( state.backtracking==0 ) {
-               before(grammarAccess.getMediaStyleAccess().getBorderBottomAssignment_3_6_1()); 
+               before(grammarAccess.getMediaStyleAccess().getBorderTopAssignment_3_6_1()); 
             }
-            // InternalReportDSL.g:11253:2: ( rule__MediaStyle__BorderBottomAssignment_3_6_1 )
-            // InternalReportDSL.g:11253:3: rule__MediaStyle__BorderBottomAssignment_3_6_1
+            // InternalReportDSL.g:11368:2: ( rule__MediaStyle__BorderTopAssignment_3_6_1 )
+            // InternalReportDSL.g:11368:3: rule__MediaStyle__BorderTopAssignment_3_6_1
             {
             pushFollow(FOLLOW_2);
-            rule__MediaStyle__BorderBottomAssignment_3_6_1();
+            rule__MediaStyle__BorderTopAssignment_3_6_1();
 
             state._fsp--;
             if (state.failed) return ;
@@ -39317,7 +39763,7 @@
             }
 
             if ( state.backtracking==0 ) {
-               after(grammarAccess.getMediaStyleAccess().getBorderBottomAssignment_3_6_1()); 
+               after(grammarAccess.getMediaStyleAccess().getBorderTopAssignment_3_6_1()); 
             }
 
             }
@@ -39341,16 +39787,16 @@
 
 
     // $ANTLR start "rule__MediaStyle__Group_3_7__0"
-    // InternalReportDSL.g:11262:1: rule__MediaStyle__Group_3_7__0 : rule__MediaStyle__Group_3_7__0__Impl rule__MediaStyle__Group_3_7__1 ;
+    // InternalReportDSL.g:11377:1: rule__MediaStyle__Group_3_7__0 : rule__MediaStyle__Group_3_7__0__Impl rule__MediaStyle__Group_3_7__1 ;
     public final void rule__MediaStyle__Group_3_7__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:11266:1: ( rule__MediaStyle__Group_3_7__0__Impl rule__MediaStyle__Group_3_7__1 )
-            // InternalReportDSL.g:11267:2: rule__MediaStyle__Group_3_7__0__Impl rule__MediaStyle__Group_3_7__1
+            // InternalReportDSL.g:11381:1: ( rule__MediaStyle__Group_3_7__0__Impl rule__MediaStyle__Group_3_7__1 )
+            // InternalReportDSL.g:11382:2: rule__MediaStyle__Group_3_7__0__Impl rule__MediaStyle__Group_3_7__1
             {
-            pushFollow(FOLLOW_52);
+            pushFollow(FOLLOW_53);
             rule__MediaStyle__Group_3_7__0__Impl();
 
             state._fsp--;
@@ -39379,24 +39825,24 @@
 
 
     // $ANTLR start "rule__MediaStyle__Group_3_7__0__Impl"
-    // InternalReportDSL.g:11274:1: rule__MediaStyle__Group_3_7__0__Impl : ( 'border-left' ) ;
+    // InternalReportDSL.g:11389:1: rule__MediaStyle__Group_3_7__0__Impl : ( 'border-bottom' ) ;
     public final void rule__MediaStyle__Group_3_7__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:11278:1: ( ( 'border-left' ) )
-            // InternalReportDSL.g:11279:1: ( 'border-left' )
+            // InternalReportDSL.g:11393:1: ( ( 'border-bottom' ) )
+            // InternalReportDSL.g:11394:1: ( 'border-bottom' )
             {
-            // InternalReportDSL.g:11279:1: ( 'border-left' )
-            // InternalReportDSL.g:11280:2: 'border-left'
+            // InternalReportDSL.g:11394:1: ( 'border-bottom' )
+            // InternalReportDSL.g:11395:2: 'border-bottom'
             {
             if ( state.backtracking==0 ) {
-               before(grammarAccess.getMediaStyleAccess().getBorderLeftKeyword_3_7_0()); 
+               before(grammarAccess.getMediaStyleAccess().getBorderBottomKeyword_3_7_0()); 
             }
-            match(input,160,FOLLOW_2); if (state.failed) return ;
+            match(input,166,FOLLOW_2); if (state.failed) return ;
             if ( state.backtracking==0 ) {
-               after(grammarAccess.getMediaStyleAccess().getBorderLeftKeyword_3_7_0()); 
+               after(grammarAccess.getMediaStyleAccess().getBorderBottomKeyword_3_7_0()); 
             }
 
             }
@@ -39420,14 +39866,14 @@
 
 
     // $ANTLR start "rule__MediaStyle__Group_3_7__1"
-    // InternalReportDSL.g:11289:1: rule__MediaStyle__Group_3_7__1 : rule__MediaStyle__Group_3_7__1__Impl ;
+    // InternalReportDSL.g:11404:1: rule__MediaStyle__Group_3_7__1 : rule__MediaStyle__Group_3_7__1__Impl ;
     public final void rule__MediaStyle__Group_3_7__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:11293:1: ( rule__MediaStyle__Group_3_7__1__Impl )
-            // InternalReportDSL.g:11294:2: rule__MediaStyle__Group_3_7__1__Impl
+            // InternalReportDSL.g:11408:1: ( rule__MediaStyle__Group_3_7__1__Impl )
+            // InternalReportDSL.g:11409:2: rule__MediaStyle__Group_3_7__1__Impl
             {
             pushFollow(FOLLOW_2);
             rule__MediaStyle__Group_3_7__1__Impl();
@@ -39453,26 +39899,26 @@
 
 
     // $ANTLR start "rule__MediaStyle__Group_3_7__1__Impl"
-    // InternalReportDSL.g:11300:1: rule__MediaStyle__Group_3_7__1__Impl : ( ( rule__MediaStyle__BorderLeftAssignment_3_7_1 ) ) ;
+    // InternalReportDSL.g:11415:1: rule__MediaStyle__Group_3_7__1__Impl : ( ( rule__MediaStyle__BorderBottomAssignment_3_7_1 ) ) ;
     public final void rule__MediaStyle__Group_3_7__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:11304:1: ( ( ( rule__MediaStyle__BorderLeftAssignment_3_7_1 ) ) )
-            // InternalReportDSL.g:11305:1: ( ( rule__MediaStyle__BorderLeftAssignment_3_7_1 ) )
+            // InternalReportDSL.g:11419:1: ( ( ( rule__MediaStyle__BorderBottomAssignment_3_7_1 ) ) )
+            // InternalReportDSL.g:11420:1: ( ( rule__MediaStyle__BorderBottomAssignment_3_7_1 ) )
             {
-            // InternalReportDSL.g:11305:1: ( ( rule__MediaStyle__BorderLeftAssignment_3_7_1 ) )
-            // InternalReportDSL.g:11306:2: ( rule__MediaStyle__BorderLeftAssignment_3_7_1 )
+            // InternalReportDSL.g:11420:1: ( ( rule__MediaStyle__BorderBottomAssignment_3_7_1 ) )
+            // InternalReportDSL.g:11421:2: ( rule__MediaStyle__BorderBottomAssignment_3_7_1 )
             {
             if ( state.backtracking==0 ) {
-               before(grammarAccess.getMediaStyleAccess().getBorderLeftAssignment_3_7_1()); 
+               before(grammarAccess.getMediaStyleAccess().getBorderBottomAssignment_3_7_1()); 
             }
-            // InternalReportDSL.g:11307:2: ( rule__MediaStyle__BorderLeftAssignment_3_7_1 )
-            // InternalReportDSL.g:11307:3: rule__MediaStyle__BorderLeftAssignment_3_7_1
+            // InternalReportDSL.g:11422:2: ( rule__MediaStyle__BorderBottomAssignment_3_7_1 )
+            // InternalReportDSL.g:11422:3: rule__MediaStyle__BorderBottomAssignment_3_7_1
             {
             pushFollow(FOLLOW_2);
-            rule__MediaStyle__BorderLeftAssignment_3_7_1();
+            rule__MediaStyle__BorderBottomAssignment_3_7_1();
 
             state._fsp--;
             if (state.failed) return ;
@@ -39480,7 +39926,7 @@
             }
 
             if ( state.backtracking==0 ) {
-               after(grammarAccess.getMediaStyleAccess().getBorderLeftAssignment_3_7_1()); 
+               after(grammarAccess.getMediaStyleAccess().getBorderBottomAssignment_3_7_1()); 
             }
 
             }
@@ -39504,16 +39950,16 @@
 
 
     // $ANTLR start "rule__MediaStyle__Group_3_8__0"
-    // InternalReportDSL.g:11316:1: rule__MediaStyle__Group_3_8__0 : rule__MediaStyle__Group_3_8__0__Impl rule__MediaStyle__Group_3_8__1 ;
+    // InternalReportDSL.g:11431:1: rule__MediaStyle__Group_3_8__0 : rule__MediaStyle__Group_3_8__0__Impl rule__MediaStyle__Group_3_8__1 ;
     public final void rule__MediaStyle__Group_3_8__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:11320:1: ( rule__MediaStyle__Group_3_8__0__Impl rule__MediaStyle__Group_3_8__1 )
-            // InternalReportDSL.g:11321:2: rule__MediaStyle__Group_3_8__0__Impl rule__MediaStyle__Group_3_8__1
+            // InternalReportDSL.g:11435:1: ( rule__MediaStyle__Group_3_8__0__Impl rule__MediaStyle__Group_3_8__1 )
+            // InternalReportDSL.g:11436:2: rule__MediaStyle__Group_3_8__0__Impl rule__MediaStyle__Group_3_8__1
             {
-            pushFollow(FOLLOW_52);
+            pushFollow(FOLLOW_53);
             rule__MediaStyle__Group_3_8__0__Impl();
 
             state._fsp--;
@@ -39542,24 +39988,24 @@
 
 
     // $ANTLR start "rule__MediaStyle__Group_3_8__0__Impl"
-    // InternalReportDSL.g:11328:1: rule__MediaStyle__Group_3_8__0__Impl : ( 'border-right' ) ;
+    // InternalReportDSL.g:11443:1: rule__MediaStyle__Group_3_8__0__Impl : ( 'border-left' ) ;
     public final void rule__MediaStyle__Group_3_8__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:11332:1: ( ( 'border-right' ) )
-            // InternalReportDSL.g:11333:1: ( 'border-right' )
+            // InternalReportDSL.g:11447:1: ( ( 'border-left' ) )
+            // InternalReportDSL.g:11448:1: ( 'border-left' )
             {
-            // InternalReportDSL.g:11333:1: ( 'border-right' )
-            // InternalReportDSL.g:11334:2: 'border-right'
+            // InternalReportDSL.g:11448:1: ( 'border-left' )
+            // InternalReportDSL.g:11449:2: 'border-left'
             {
             if ( state.backtracking==0 ) {
-               before(grammarAccess.getMediaStyleAccess().getBorderRightKeyword_3_8_0()); 
+               before(grammarAccess.getMediaStyleAccess().getBorderLeftKeyword_3_8_0()); 
             }
-            match(input,161,FOLLOW_2); if (state.failed) return ;
+            match(input,167,FOLLOW_2); if (state.failed) return ;
             if ( state.backtracking==0 ) {
-               after(grammarAccess.getMediaStyleAccess().getBorderRightKeyword_3_8_0()); 
+               after(grammarAccess.getMediaStyleAccess().getBorderLeftKeyword_3_8_0()); 
             }
 
             }
@@ -39583,14 +40029,14 @@
 
 
     // $ANTLR start "rule__MediaStyle__Group_3_8__1"
-    // InternalReportDSL.g:11343:1: rule__MediaStyle__Group_3_8__1 : rule__MediaStyle__Group_3_8__1__Impl ;
+    // InternalReportDSL.g:11458:1: rule__MediaStyle__Group_3_8__1 : rule__MediaStyle__Group_3_8__1__Impl ;
     public final void rule__MediaStyle__Group_3_8__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:11347:1: ( rule__MediaStyle__Group_3_8__1__Impl )
-            // InternalReportDSL.g:11348:2: rule__MediaStyle__Group_3_8__1__Impl
+            // InternalReportDSL.g:11462:1: ( rule__MediaStyle__Group_3_8__1__Impl )
+            // InternalReportDSL.g:11463:2: rule__MediaStyle__Group_3_8__1__Impl
             {
             pushFollow(FOLLOW_2);
             rule__MediaStyle__Group_3_8__1__Impl();
@@ -39616,26 +40062,26 @@
 
 
     // $ANTLR start "rule__MediaStyle__Group_3_8__1__Impl"
-    // InternalReportDSL.g:11354:1: rule__MediaStyle__Group_3_8__1__Impl : ( ( rule__MediaStyle__BorderRightAssignment_3_8_1 ) ) ;
+    // InternalReportDSL.g:11469:1: rule__MediaStyle__Group_3_8__1__Impl : ( ( rule__MediaStyle__BorderLeftAssignment_3_8_1 ) ) ;
     public final void rule__MediaStyle__Group_3_8__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:11358:1: ( ( ( rule__MediaStyle__BorderRightAssignment_3_8_1 ) ) )
-            // InternalReportDSL.g:11359:1: ( ( rule__MediaStyle__BorderRightAssignment_3_8_1 ) )
+            // InternalReportDSL.g:11473:1: ( ( ( rule__MediaStyle__BorderLeftAssignment_3_8_1 ) ) )
+            // InternalReportDSL.g:11474:1: ( ( rule__MediaStyle__BorderLeftAssignment_3_8_1 ) )
             {
-            // InternalReportDSL.g:11359:1: ( ( rule__MediaStyle__BorderRightAssignment_3_8_1 ) )
-            // InternalReportDSL.g:11360:2: ( rule__MediaStyle__BorderRightAssignment_3_8_1 )
+            // InternalReportDSL.g:11474:1: ( ( rule__MediaStyle__BorderLeftAssignment_3_8_1 ) )
+            // InternalReportDSL.g:11475:2: ( rule__MediaStyle__BorderLeftAssignment_3_8_1 )
             {
             if ( state.backtracking==0 ) {
-               before(grammarAccess.getMediaStyleAccess().getBorderRightAssignment_3_8_1()); 
+               before(grammarAccess.getMediaStyleAccess().getBorderLeftAssignment_3_8_1()); 
             }
-            // InternalReportDSL.g:11361:2: ( rule__MediaStyle__BorderRightAssignment_3_8_1 )
-            // InternalReportDSL.g:11361:3: rule__MediaStyle__BorderRightAssignment_3_8_1
+            // InternalReportDSL.g:11476:2: ( rule__MediaStyle__BorderLeftAssignment_3_8_1 )
+            // InternalReportDSL.g:11476:3: rule__MediaStyle__BorderLeftAssignment_3_8_1
             {
             pushFollow(FOLLOW_2);
-            rule__MediaStyle__BorderRightAssignment_3_8_1();
+            rule__MediaStyle__BorderLeftAssignment_3_8_1();
 
             state._fsp--;
             if (state.failed) return ;
@@ -39643,7 +40089,7 @@
             }
 
             if ( state.backtracking==0 ) {
-               after(grammarAccess.getMediaStyleAccess().getBorderRightAssignment_3_8_1()); 
+               after(grammarAccess.getMediaStyleAccess().getBorderLeftAssignment_3_8_1()); 
             }
 
             }
@@ -39667,16 +40113,16 @@
 
 
     // $ANTLR start "rule__MediaStyle__Group_3_9__0"
-    // InternalReportDSL.g:11370:1: rule__MediaStyle__Group_3_9__0 : rule__MediaStyle__Group_3_9__0__Impl rule__MediaStyle__Group_3_9__1 ;
+    // InternalReportDSL.g:11485:1: rule__MediaStyle__Group_3_9__0 : rule__MediaStyle__Group_3_9__0__Impl rule__MediaStyle__Group_3_9__1 ;
     public final void rule__MediaStyle__Group_3_9__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:11374:1: ( rule__MediaStyle__Group_3_9__0__Impl rule__MediaStyle__Group_3_9__1 )
-            // InternalReportDSL.g:11375:2: rule__MediaStyle__Group_3_9__0__Impl rule__MediaStyle__Group_3_9__1
+            // InternalReportDSL.g:11489:1: ( rule__MediaStyle__Group_3_9__0__Impl rule__MediaStyle__Group_3_9__1 )
+            // InternalReportDSL.g:11490:2: rule__MediaStyle__Group_3_9__0__Impl rule__MediaStyle__Group_3_9__1
             {
-            pushFollow(FOLLOW_36);
+            pushFollow(FOLLOW_53);
             rule__MediaStyle__Group_3_9__0__Impl();
 
             state._fsp--;
@@ -39705,24 +40151,24 @@
 
 
     // $ANTLR start "rule__MediaStyle__Group_3_9__0__Impl"
-    // InternalReportDSL.g:11382:1: rule__MediaStyle__Group_3_9__0__Impl : ( 'padding-top' ) ;
+    // InternalReportDSL.g:11497:1: rule__MediaStyle__Group_3_9__0__Impl : ( 'border-right' ) ;
     public final void rule__MediaStyle__Group_3_9__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:11386:1: ( ( 'padding-top' ) )
-            // InternalReportDSL.g:11387:1: ( 'padding-top' )
+            // InternalReportDSL.g:11501:1: ( ( 'border-right' ) )
+            // InternalReportDSL.g:11502:1: ( 'border-right' )
             {
-            // InternalReportDSL.g:11387:1: ( 'padding-top' )
-            // InternalReportDSL.g:11388:2: 'padding-top'
+            // InternalReportDSL.g:11502:1: ( 'border-right' )
+            // InternalReportDSL.g:11503:2: 'border-right'
             {
             if ( state.backtracking==0 ) {
-               before(grammarAccess.getMediaStyleAccess().getPaddingTopKeyword_3_9_0()); 
+               before(grammarAccess.getMediaStyleAccess().getBorderRightKeyword_3_9_0()); 
             }
-            match(input,162,FOLLOW_2); if (state.failed) return ;
+            match(input,168,FOLLOW_2); if (state.failed) return ;
             if ( state.backtracking==0 ) {
-               after(grammarAccess.getMediaStyleAccess().getPaddingTopKeyword_3_9_0()); 
+               after(grammarAccess.getMediaStyleAccess().getBorderRightKeyword_3_9_0()); 
             }
 
             }
@@ -39746,14 +40192,14 @@
 
 
     // $ANTLR start "rule__MediaStyle__Group_3_9__1"
-    // InternalReportDSL.g:11397:1: rule__MediaStyle__Group_3_9__1 : rule__MediaStyle__Group_3_9__1__Impl ;
+    // InternalReportDSL.g:11512:1: rule__MediaStyle__Group_3_9__1 : rule__MediaStyle__Group_3_9__1__Impl ;
     public final void rule__MediaStyle__Group_3_9__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:11401:1: ( rule__MediaStyle__Group_3_9__1__Impl )
-            // InternalReportDSL.g:11402:2: rule__MediaStyle__Group_3_9__1__Impl
+            // InternalReportDSL.g:11516:1: ( rule__MediaStyle__Group_3_9__1__Impl )
+            // InternalReportDSL.g:11517:2: rule__MediaStyle__Group_3_9__1__Impl
             {
             pushFollow(FOLLOW_2);
             rule__MediaStyle__Group_3_9__1__Impl();
@@ -39779,26 +40225,26 @@
 
 
     // $ANTLR start "rule__MediaStyle__Group_3_9__1__Impl"
-    // InternalReportDSL.g:11408:1: rule__MediaStyle__Group_3_9__1__Impl : ( ( rule__MediaStyle__PaddingTopValueAssignment_3_9_1 ) ) ;
+    // InternalReportDSL.g:11523:1: rule__MediaStyle__Group_3_9__1__Impl : ( ( rule__MediaStyle__BorderRightAssignment_3_9_1 ) ) ;
     public final void rule__MediaStyle__Group_3_9__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:11412:1: ( ( ( rule__MediaStyle__PaddingTopValueAssignment_3_9_1 ) ) )
-            // InternalReportDSL.g:11413:1: ( ( rule__MediaStyle__PaddingTopValueAssignment_3_9_1 ) )
+            // InternalReportDSL.g:11527:1: ( ( ( rule__MediaStyle__BorderRightAssignment_3_9_1 ) ) )
+            // InternalReportDSL.g:11528:1: ( ( rule__MediaStyle__BorderRightAssignment_3_9_1 ) )
             {
-            // InternalReportDSL.g:11413:1: ( ( rule__MediaStyle__PaddingTopValueAssignment_3_9_1 ) )
-            // InternalReportDSL.g:11414:2: ( rule__MediaStyle__PaddingTopValueAssignment_3_9_1 )
+            // InternalReportDSL.g:11528:1: ( ( rule__MediaStyle__BorderRightAssignment_3_9_1 ) )
+            // InternalReportDSL.g:11529:2: ( rule__MediaStyle__BorderRightAssignment_3_9_1 )
             {
             if ( state.backtracking==0 ) {
-               before(grammarAccess.getMediaStyleAccess().getPaddingTopValueAssignment_3_9_1()); 
+               before(grammarAccess.getMediaStyleAccess().getBorderRightAssignment_3_9_1()); 
             }
-            // InternalReportDSL.g:11415:2: ( rule__MediaStyle__PaddingTopValueAssignment_3_9_1 )
-            // InternalReportDSL.g:11415:3: rule__MediaStyle__PaddingTopValueAssignment_3_9_1
+            // InternalReportDSL.g:11530:2: ( rule__MediaStyle__BorderRightAssignment_3_9_1 )
+            // InternalReportDSL.g:11530:3: rule__MediaStyle__BorderRightAssignment_3_9_1
             {
             pushFollow(FOLLOW_2);
-            rule__MediaStyle__PaddingTopValueAssignment_3_9_1();
+            rule__MediaStyle__BorderRightAssignment_3_9_1();
 
             state._fsp--;
             if (state.failed) return ;
@@ -39806,7 +40252,7 @@
             }
 
             if ( state.backtracking==0 ) {
-               after(grammarAccess.getMediaStyleAccess().getPaddingTopValueAssignment_3_9_1()); 
+               after(grammarAccess.getMediaStyleAccess().getBorderRightAssignment_3_9_1()); 
             }
 
             }
@@ -39830,14 +40276,14 @@
 
 
     // $ANTLR start "rule__MediaStyle__Group_3_10__0"
-    // InternalReportDSL.g:11424:1: rule__MediaStyle__Group_3_10__0 : rule__MediaStyle__Group_3_10__0__Impl rule__MediaStyle__Group_3_10__1 ;
+    // InternalReportDSL.g:11539:1: rule__MediaStyle__Group_3_10__0 : rule__MediaStyle__Group_3_10__0__Impl rule__MediaStyle__Group_3_10__1 ;
     public final void rule__MediaStyle__Group_3_10__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:11428:1: ( rule__MediaStyle__Group_3_10__0__Impl rule__MediaStyle__Group_3_10__1 )
-            // InternalReportDSL.g:11429:2: rule__MediaStyle__Group_3_10__0__Impl rule__MediaStyle__Group_3_10__1
+            // InternalReportDSL.g:11543:1: ( rule__MediaStyle__Group_3_10__0__Impl rule__MediaStyle__Group_3_10__1 )
+            // InternalReportDSL.g:11544:2: rule__MediaStyle__Group_3_10__0__Impl rule__MediaStyle__Group_3_10__1
             {
             pushFollow(FOLLOW_36);
             rule__MediaStyle__Group_3_10__0__Impl();
@@ -39868,24 +40314,24 @@
 
 
     // $ANTLR start "rule__MediaStyle__Group_3_10__0__Impl"
-    // InternalReportDSL.g:11436:1: rule__MediaStyle__Group_3_10__0__Impl : ( 'padding-bottom' ) ;
+    // InternalReportDSL.g:11551:1: rule__MediaStyle__Group_3_10__0__Impl : ( 'padding-top' ) ;
     public final void rule__MediaStyle__Group_3_10__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:11440:1: ( ( 'padding-bottom' ) )
-            // InternalReportDSL.g:11441:1: ( 'padding-bottom' )
+            // InternalReportDSL.g:11555:1: ( ( 'padding-top' ) )
+            // InternalReportDSL.g:11556:1: ( 'padding-top' )
             {
-            // InternalReportDSL.g:11441:1: ( 'padding-bottom' )
-            // InternalReportDSL.g:11442:2: 'padding-bottom'
+            // InternalReportDSL.g:11556:1: ( 'padding-top' )
+            // InternalReportDSL.g:11557:2: 'padding-top'
             {
             if ( state.backtracking==0 ) {
-               before(grammarAccess.getMediaStyleAccess().getPaddingBottomKeyword_3_10_0()); 
+               before(grammarAccess.getMediaStyleAccess().getPaddingTopKeyword_3_10_0()); 
             }
-            match(input,163,FOLLOW_2); if (state.failed) return ;
+            match(input,169,FOLLOW_2); if (state.failed) return ;
             if ( state.backtracking==0 ) {
-               after(grammarAccess.getMediaStyleAccess().getPaddingBottomKeyword_3_10_0()); 
+               after(grammarAccess.getMediaStyleAccess().getPaddingTopKeyword_3_10_0()); 
             }
 
             }
@@ -39909,14 +40355,14 @@
 
 
     // $ANTLR start "rule__MediaStyle__Group_3_10__1"
-    // InternalReportDSL.g:11451:1: rule__MediaStyle__Group_3_10__1 : rule__MediaStyle__Group_3_10__1__Impl ;
+    // InternalReportDSL.g:11566:1: rule__MediaStyle__Group_3_10__1 : rule__MediaStyle__Group_3_10__1__Impl ;
     public final void rule__MediaStyle__Group_3_10__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:11455:1: ( rule__MediaStyle__Group_3_10__1__Impl )
-            // InternalReportDSL.g:11456:2: rule__MediaStyle__Group_3_10__1__Impl
+            // InternalReportDSL.g:11570:1: ( rule__MediaStyle__Group_3_10__1__Impl )
+            // InternalReportDSL.g:11571:2: rule__MediaStyle__Group_3_10__1__Impl
             {
             pushFollow(FOLLOW_2);
             rule__MediaStyle__Group_3_10__1__Impl();
@@ -39942,26 +40388,26 @@
 
 
     // $ANTLR start "rule__MediaStyle__Group_3_10__1__Impl"
-    // InternalReportDSL.g:11462:1: rule__MediaStyle__Group_3_10__1__Impl : ( ( rule__MediaStyle__PaddingBottomValueAssignment_3_10_1 ) ) ;
+    // InternalReportDSL.g:11577:1: rule__MediaStyle__Group_3_10__1__Impl : ( ( rule__MediaStyle__PaddingTopValueAssignment_3_10_1 ) ) ;
     public final void rule__MediaStyle__Group_3_10__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:11466:1: ( ( ( rule__MediaStyle__PaddingBottomValueAssignment_3_10_1 ) ) )
-            // InternalReportDSL.g:11467:1: ( ( rule__MediaStyle__PaddingBottomValueAssignment_3_10_1 ) )
+            // InternalReportDSL.g:11581:1: ( ( ( rule__MediaStyle__PaddingTopValueAssignment_3_10_1 ) ) )
+            // InternalReportDSL.g:11582:1: ( ( rule__MediaStyle__PaddingTopValueAssignment_3_10_1 ) )
             {
-            // InternalReportDSL.g:11467:1: ( ( rule__MediaStyle__PaddingBottomValueAssignment_3_10_1 ) )
-            // InternalReportDSL.g:11468:2: ( rule__MediaStyle__PaddingBottomValueAssignment_3_10_1 )
+            // InternalReportDSL.g:11582:1: ( ( rule__MediaStyle__PaddingTopValueAssignment_3_10_1 ) )
+            // InternalReportDSL.g:11583:2: ( rule__MediaStyle__PaddingTopValueAssignment_3_10_1 )
             {
             if ( state.backtracking==0 ) {
-               before(grammarAccess.getMediaStyleAccess().getPaddingBottomValueAssignment_3_10_1()); 
+               before(grammarAccess.getMediaStyleAccess().getPaddingTopValueAssignment_3_10_1()); 
             }
-            // InternalReportDSL.g:11469:2: ( rule__MediaStyle__PaddingBottomValueAssignment_3_10_1 )
-            // InternalReportDSL.g:11469:3: rule__MediaStyle__PaddingBottomValueAssignment_3_10_1
+            // InternalReportDSL.g:11584:2: ( rule__MediaStyle__PaddingTopValueAssignment_3_10_1 )
+            // InternalReportDSL.g:11584:3: rule__MediaStyle__PaddingTopValueAssignment_3_10_1
             {
             pushFollow(FOLLOW_2);
-            rule__MediaStyle__PaddingBottomValueAssignment_3_10_1();
+            rule__MediaStyle__PaddingTopValueAssignment_3_10_1();
 
             state._fsp--;
             if (state.failed) return ;
@@ -39969,7 +40415,7 @@
             }
 
             if ( state.backtracking==0 ) {
-               after(grammarAccess.getMediaStyleAccess().getPaddingBottomValueAssignment_3_10_1()); 
+               after(grammarAccess.getMediaStyleAccess().getPaddingTopValueAssignment_3_10_1()); 
             }
 
             }
@@ -39993,14 +40439,14 @@
 
 
     // $ANTLR start "rule__MediaStyle__Group_3_11__0"
-    // InternalReportDSL.g:11478:1: rule__MediaStyle__Group_3_11__0 : rule__MediaStyle__Group_3_11__0__Impl rule__MediaStyle__Group_3_11__1 ;
+    // InternalReportDSL.g:11593:1: rule__MediaStyle__Group_3_11__0 : rule__MediaStyle__Group_3_11__0__Impl rule__MediaStyle__Group_3_11__1 ;
     public final void rule__MediaStyle__Group_3_11__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:11482:1: ( rule__MediaStyle__Group_3_11__0__Impl rule__MediaStyle__Group_3_11__1 )
-            // InternalReportDSL.g:11483:2: rule__MediaStyle__Group_3_11__0__Impl rule__MediaStyle__Group_3_11__1
+            // InternalReportDSL.g:11597:1: ( rule__MediaStyle__Group_3_11__0__Impl rule__MediaStyle__Group_3_11__1 )
+            // InternalReportDSL.g:11598:2: rule__MediaStyle__Group_3_11__0__Impl rule__MediaStyle__Group_3_11__1
             {
             pushFollow(FOLLOW_36);
             rule__MediaStyle__Group_3_11__0__Impl();
@@ -40031,24 +40477,24 @@
 
 
     // $ANTLR start "rule__MediaStyle__Group_3_11__0__Impl"
-    // InternalReportDSL.g:11490:1: rule__MediaStyle__Group_3_11__0__Impl : ( 'padding-left' ) ;
+    // InternalReportDSL.g:11605:1: rule__MediaStyle__Group_3_11__0__Impl : ( 'padding-bottom' ) ;
     public final void rule__MediaStyle__Group_3_11__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:11494:1: ( ( 'padding-left' ) )
-            // InternalReportDSL.g:11495:1: ( 'padding-left' )
+            // InternalReportDSL.g:11609:1: ( ( 'padding-bottom' ) )
+            // InternalReportDSL.g:11610:1: ( 'padding-bottom' )
             {
-            // InternalReportDSL.g:11495:1: ( 'padding-left' )
-            // InternalReportDSL.g:11496:2: 'padding-left'
+            // InternalReportDSL.g:11610:1: ( 'padding-bottom' )
+            // InternalReportDSL.g:11611:2: 'padding-bottom'
             {
             if ( state.backtracking==0 ) {
-               before(grammarAccess.getMediaStyleAccess().getPaddingLeftKeyword_3_11_0()); 
+               before(grammarAccess.getMediaStyleAccess().getPaddingBottomKeyword_3_11_0()); 
             }
-            match(input,164,FOLLOW_2); if (state.failed) return ;
+            match(input,170,FOLLOW_2); if (state.failed) return ;
             if ( state.backtracking==0 ) {
-               after(grammarAccess.getMediaStyleAccess().getPaddingLeftKeyword_3_11_0()); 
+               after(grammarAccess.getMediaStyleAccess().getPaddingBottomKeyword_3_11_0()); 
             }
 
             }
@@ -40072,14 +40518,14 @@
 
 
     // $ANTLR start "rule__MediaStyle__Group_3_11__1"
-    // InternalReportDSL.g:11505:1: rule__MediaStyle__Group_3_11__1 : rule__MediaStyle__Group_3_11__1__Impl ;
+    // InternalReportDSL.g:11620:1: rule__MediaStyle__Group_3_11__1 : rule__MediaStyle__Group_3_11__1__Impl ;
     public final void rule__MediaStyle__Group_3_11__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:11509:1: ( rule__MediaStyle__Group_3_11__1__Impl )
-            // InternalReportDSL.g:11510:2: rule__MediaStyle__Group_3_11__1__Impl
+            // InternalReportDSL.g:11624:1: ( rule__MediaStyle__Group_3_11__1__Impl )
+            // InternalReportDSL.g:11625:2: rule__MediaStyle__Group_3_11__1__Impl
             {
             pushFollow(FOLLOW_2);
             rule__MediaStyle__Group_3_11__1__Impl();
@@ -40105,26 +40551,26 @@
 
 
     // $ANTLR start "rule__MediaStyle__Group_3_11__1__Impl"
-    // InternalReportDSL.g:11516:1: rule__MediaStyle__Group_3_11__1__Impl : ( ( rule__MediaStyle__PaddingLeftValueAssignment_3_11_1 ) ) ;
+    // InternalReportDSL.g:11631:1: rule__MediaStyle__Group_3_11__1__Impl : ( ( rule__MediaStyle__PaddingBottomValueAssignment_3_11_1 ) ) ;
     public final void rule__MediaStyle__Group_3_11__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:11520:1: ( ( ( rule__MediaStyle__PaddingLeftValueAssignment_3_11_1 ) ) )
-            // InternalReportDSL.g:11521:1: ( ( rule__MediaStyle__PaddingLeftValueAssignment_3_11_1 ) )
+            // InternalReportDSL.g:11635:1: ( ( ( rule__MediaStyle__PaddingBottomValueAssignment_3_11_1 ) ) )
+            // InternalReportDSL.g:11636:1: ( ( rule__MediaStyle__PaddingBottomValueAssignment_3_11_1 ) )
             {
-            // InternalReportDSL.g:11521:1: ( ( rule__MediaStyle__PaddingLeftValueAssignment_3_11_1 ) )
-            // InternalReportDSL.g:11522:2: ( rule__MediaStyle__PaddingLeftValueAssignment_3_11_1 )
+            // InternalReportDSL.g:11636:1: ( ( rule__MediaStyle__PaddingBottomValueAssignment_3_11_1 ) )
+            // InternalReportDSL.g:11637:2: ( rule__MediaStyle__PaddingBottomValueAssignment_3_11_1 )
             {
             if ( state.backtracking==0 ) {
-               before(grammarAccess.getMediaStyleAccess().getPaddingLeftValueAssignment_3_11_1()); 
+               before(grammarAccess.getMediaStyleAccess().getPaddingBottomValueAssignment_3_11_1()); 
             }
-            // InternalReportDSL.g:11523:2: ( rule__MediaStyle__PaddingLeftValueAssignment_3_11_1 )
-            // InternalReportDSL.g:11523:3: rule__MediaStyle__PaddingLeftValueAssignment_3_11_1
+            // InternalReportDSL.g:11638:2: ( rule__MediaStyle__PaddingBottomValueAssignment_3_11_1 )
+            // InternalReportDSL.g:11638:3: rule__MediaStyle__PaddingBottomValueAssignment_3_11_1
             {
             pushFollow(FOLLOW_2);
-            rule__MediaStyle__PaddingLeftValueAssignment_3_11_1();
+            rule__MediaStyle__PaddingBottomValueAssignment_3_11_1();
 
             state._fsp--;
             if (state.failed) return ;
@@ -40132,7 +40578,7 @@
             }
 
             if ( state.backtracking==0 ) {
-               after(grammarAccess.getMediaStyleAccess().getPaddingLeftValueAssignment_3_11_1()); 
+               after(grammarAccess.getMediaStyleAccess().getPaddingBottomValueAssignment_3_11_1()); 
             }
 
             }
@@ -40156,14 +40602,14 @@
 
 
     // $ANTLR start "rule__MediaStyle__Group_3_12__0"
-    // InternalReportDSL.g:11532:1: rule__MediaStyle__Group_3_12__0 : rule__MediaStyle__Group_3_12__0__Impl rule__MediaStyle__Group_3_12__1 ;
+    // InternalReportDSL.g:11647:1: rule__MediaStyle__Group_3_12__0 : rule__MediaStyle__Group_3_12__0__Impl rule__MediaStyle__Group_3_12__1 ;
     public final void rule__MediaStyle__Group_3_12__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:11536:1: ( rule__MediaStyle__Group_3_12__0__Impl rule__MediaStyle__Group_3_12__1 )
-            // InternalReportDSL.g:11537:2: rule__MediaStyle__Group_3_12__0__Impl rule__MediaStyle__Group_3_12__1
+            // InternalReportDSL.g:11651:1: ( rule__MediaStyle__Group_3_12__0__Impl rule__MediaStyle__Group_3_12__1 )
+            // InternalReportDSL.g:11652:2: rule__MediaStyle__Group_3_12__0__Impl rule__MediaStyle__Group_3_12__1
             {
             pushFollow(FOLLOW_36);
             rule__MediaStyle__Group_3_12__0__Impl();
@@ -40194,24 +40640,24 @@
 
 
     // $ANTLR start "rule__MediaStyle__Group_3_12__0__Impl"
-    // InternalReportDSL.g:11544:1: rule__MediaStyle__Group_3_12__0__Impl : ( 'padding-right' ) ;
+    // InternalReportDSL.g:11659:1: rule__MediaStyle__Group_3_12__0__Impl : ( 'padding-left' ) ;
     public final void rule__MediaStyle__Group_3_12__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:11548:1: ( ( 'padding-right' ) )
-            // InternalReportDSL.g:11549:1: ( 'padding-right' )
+            // InternalReportDSL.g:11663:1: ( ( 'padding-left' ) )
+            // InternalReportDSL.g:11664:1: ( 'padding-left' )
             {
-            // InternalReportDSL.g:11549:1: ( 'padding-right' )
-            // InternalReportDSL.g:11550:2: 'padding-right'
+            // InternalReportDSL.g:11664:1: ( 'padding-left' )
+            // InternalReportDSL.g:11665:2: 'padding-left'
             {
             if ( state.backtracking==0 ) {
-               before(grammarAccess.getMediaStyleAccess().getPaddingRightKeyword_3_12_0()); 
+               before(grammarAccess.getMediaStyleAccess().getPaddingLeftKeyword_3_12_0()); 
             }
-            match(input,165,FOLLOW_2); if (state.failed) return ;
+            match(input,171,FOLLOW_2); if (state.failed) return ;
             if ( state.backtracking==0 ) {
-               after(grammarAccess.getMediaStyleAccess().getPaddingRightKeyword_3_12_0()); 
+               after(grammarAccess.getMediaStyleAccess().getPaddingLeftKeyword_3_12_0()); 
             }
 
             }
@@ -40235,14 +40681,14 @@
 
 
     // $ANTLR start "rule__MediaStyle__Group_3_12__1"
-    // InternalReportDSL.g:11559:1: rule__MediaStyle__Group_3_12__1 : rule__MediaStyle__Group_3_12__1__Impl ;
+    // InternalReportDSL.g:11674:1: rule__MediaStyle__Group_3_12__1 : rule__MediaStyle__Group_3_12__1__Impl ;
     public final void rule__MediaStyle__Group_3_12__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:11563:1: ( rule__MediaStyle__Group_3_12__1__Impl )
-            // InternalReportDSL.g:11564:2: rule__MediaStyle__Group_3_12__1__Impl
+            // InternalReportDSL.g:11678:1: ( rule__MediaStyle__Group_3_12__1__Impl )
+            // InternalReportDSL.g:11679:2: rule__MediaStyle__Group_3_12__1__Impl
             {
             pushFollow(FOLLOW_2);
             rule__MediaStyle__Group_3_12__1__Impl();
@@ -40268,26 +40714,26 @@
 
 
     // $ANTLR start "rule__MediaStyle__Group_3_12__1__Impl"
-    // InternalReportDSL.g:11570:1: rule__MediaStyle__Group_3_12__1__Impl : ( ( rule__MediaStyle__PaddingRightValueAssignment_3_12_1 ) ) ;
+    // InternalReportDSL.g:11685:1: rule__MediaStyle__Group_3_12__1__Impl : ( ( rule__MediaStyle__PaddingLeftValueAssignment_3_12_1 ) ) ;
     public final void rule__MediaStyle__Group_3_12__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:11574:1: ( ( ( rule__MediaStyle__PaddingRightValueAssignment_3_12_1 ) ) )
-            // InternalReportDSL.g:11575:1: ( ( rule__MediaStyle__PaddingRightValueAssignment_3_12_1 ) )
+            // InternalReportDSL.g:11689:1: ( ( ( rule__MediaStyle__PaddingLeftValueAssignment_3_12_1 ) ) )
+            // InternalReportDSL.g:11690:1: ( ( rule__MediaStyle__PaddingLeftValueAssignment_3_12_1 ) )
             {
-            // InternalReportDSL.g:11575:1: ( ( rule__MediaStyle__PaddingRightValueAssignment_3_12_1 ) )
-            // InternalReportDSL.g:11576:2: ( rule__MediaStyle__PaddingRightValueAssignment_3_12_1 )
+            // InternalReportDSL.g:11690:1: ( ( rule__MediaStyle__PaddingLeftValueAssignment_3_12_1 ) )
+            // InternalReportDSL.g:11691:2: ( rule__MediaStyle__PaddingLeftValueAssignment_3_12_1 )
             {
             if ( state.backtracking==0 ) {
-               before(grammarAccess.getMediaStyleAccess().getPaddingRightValueAssignment_3_12_1()); 
+               before(grammarAccess.getMediaStyleAccess().getPaddingLeftValueAssignment_3_12_1()); 
             }
-            // InternalReportDSL.g:11577:2: ( rule__MediaStyle__PaddingRightValueAssignment_3_12_1 )
-            // InternalReportDSL.g:11577:3: rule__MediaStyle__PaddingRightValueAssignment_3_12_1
+            // InternalReportDSL.g:11692:2: ( rule__MediaStyle__PaddingLeftValueAssignment_3_12_1 )
+            // InternalReportDSL.g:11692:3: rule__MediaStyle__PaddingLeftValueAssignment_3_12_1
             {
             pushFollow(FOLLOW_2);
-            rule__MediaStyle__PaddingRightValueAssignment_3_12_1();
+            rule__MediaStyle__PaddingLeftValueAssignment_3_12_1();
 
             state._fsp--;
             if (state.failed) return ;
@@ -40295,7 +40741,7 @@
             }
 
             if ( state.backtracking==0 ) {
-               after(grammarAccess.getMediaStyleAccess().getPaddingRightValueAssignment_3_12_1()); 
+               after(grammarAccess.getMediaStyleAccess().getPaddingLeftValueAssignment_3_12_1()); 
             }
 
             }
@@ -40319,14 +40765,14 @@
 
 
     // $ANTLR start "rule__MediaStyle__Group_3_13__0"
-    // InternalReportDSL.g:11586:1: rule__MediaStyle__Group_3_13__0 : rule__MediaStyle__Group_3_13__0__Impl rule__MediaStyle__Group_3_13__1 ;
+    // InternalReportDSL.g:11701:1: rule__MediaStyle__Group_3_13__0 : rule__MediaStyle__Group_3_13__0__Impl rule__MediaStyle__Group_3_13__1 ;
     public final void rule__MediaStyle__Group_3_13__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:11590:1: ( rule__MediaStyle__Group_3_13__0__Impl rule__MediaStyle__Group_3_13__1 )
-            // InternalReportDSL.g:11591:2: rule__MediaStyle__Group_3_13__0__Impl rule__MediaStyle__Group_3_13__1
+            // InternalReportDSL.g:11705:1: ( rule__MediaStyle__Group_3_13__0__Impl rule__MediaStyle__Group_3_13__1 )
+            // InternalReportDSL.g:11706:2: rule__MediaStyle__Group_3_13__0__Impl rule__MediaStyle__Group_3_13__1
             {
             pushFollow(FOLLOW_36);
             rule__MediaStyle__Group_3_13__0__Impl();
@@ -40357,24 +40803,24 @@
 
 
     // $ANTLR start "rule__MediaStyle__Group_3_13__0__Impl"
-    // InternalReportDSL.g:11598:1: rule__MediaStyle__Group_3_13__0__Impl : ( 'margin-top' ) ;
+    // InternalReportDSL.g:11713:1: rule__MediaStyle__Group_3_13__0__Impl : ( 'padding-right' ) ;
     public final void rule__MediaStyle__Group_3_13__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:11602:1: ( ( 'margin-top' ) )
-            // InternalReportDSL.g:11603:1: ( 'margin-top' )
+            // InternalReportDSL.g:11717:1: ( ( 'padding-right' ) )
+            // InternalReportDSL.g:11718:1: ( 'padding-right' )
             {
-            // InternalReportDSL.g:11603:1: ( 'margin-top' )
-            // InternalReportDSL.g:11604:2: 'margin-top'
+            // InternalReportDSL.g:11718:1: ( 'padding-right' )
+            // InternalReportDSL.g:11719:2: 'padding-right'
             {
             if ( state.backtracking==0 ) {
-               before(grammarAccess.getMediaStyleAccess().getMarginTopKeyword_3_13_0()); 
+               before(grammarAccess.getMediaStyleAccess().getPaddingRightKeyword_3_13_0()); 
             }
-            match(input,166,FOLLOW_2); if (state.failed) return ;
+            match(input,172,FOLLOW_2); if (state.failed) return ;
             if ( state.backtracking==0 ) {
-               after(grammarAccess.getMediaStyleAccess().getMarginTopKeyword_3_13_0()); 
+               after(grammarAccess.getMediaStyleAccess().getPaddingRightKeyword_3_13_0()); 
             }
 
             }
@@ -40398,14 +40844,14 @@
 
 
     // $ANTLR start "rule__MediaStyle__Group_3_13__1"
-    // InternalReportDSL.g:11613:1: rule__MediaStyle__Group_3_13__1 : rule__MediaStyle__Group_3_13__1__Impl ;
+    // InternalReportDSL.g:11728:1: rule__MediaStyle__Group_3_13__1 : rule__MediaStyle__Group_3_13__1__Impl ;
     public final void rule__MediaStyle__Group_3_13__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:11617:1: ( rule__MediaStyle__Group_3_13__1__Impl )
-            // InternalReportDSL.g:11618:2: rule__MediaStyle__Group_3_13__1__Impl
+            // InternalReportDSL.g:11732:1: ( rule__MediaStyle__Group_3_13__1__Impl )
+            // InternalReportDSL.g:11733:2: rule__MediaStyle__Group_3_13__1__Impl
             {
             pushFollow(FOLLOW_2);
             rule__MediaStyle__Group_3_13__1__Impl();
@@ -40431,26 +40877,26 @@
 
 
     // $ANTLR start "rule__MediaStyle__Group_3_13__1__Impl"
-    // InternalReportDSL.g:11624:1: rule__MediaStyle__Group_3_13__1__Impl : ( ( rule__MediaStyle__MarginTopValueAssignment_3_13_1 ) ) ;
+    // InternalReportDSL.g:11739:1: rule__MediaStyle__Group_3_13__1__Impl : ( ( rule__MediaStyle__PaddingRightValueAssignment_3_13_1 ) ) ;
     public final void rule__MediaStyle__Group_3_13__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:11628:1: ( ( ( rule__MediaStyle__MarginTopValueAssignment_3_13_1 ) ) )
-            // InternalReportDSL.g:11629:1: ( ( rule__MediaStyle__MarginTopValueAssignment_3_13_1 ) )
+            // InternalReportDSL.g:11743:1: ( ( ( rule__MediaStyle__PaddingRightValueAssignment_3_13_1 ) ) )
+            // InternalReportDSL.g:11744:1: ( ( rule__MediaStyle__PaddingRightValueAssignment_3_13_1 ) )
             {
-            // InternalReportDSL.g:11629:1: ( ( rule__MediaStyle__MarginTopValueAssignment_3_13_1 ) )
-            // InternalReportDSL.g:11630:2: ( rule__MediaStyle__MarginTopValueAssignment_3_13_1 )
+            // InternalReportDSL.g:11744:1: ( ( rule__MediaStyle__PaddingRightValueAssignment_3_13_1 ) )
+            // InternalReportDSL.g:11745:2: ( rule__MediaStyle__PaddingRightValueAssignment_3_13_1 )
             {
             if ( state.backtracking==0 ) {
-               before(grammarAccess.getMediaStyleAccess().getMarginTopValueAssignment_3_13_1()); 
+               before(grammarAccess.getMediaStyleAccess().getPaddingRightValueAssignment_3_13_1()); 
             }
-            // InternalReportDSL.g:11631:2: ( rule__MediaStyle__MarginTopValueAssignment_3_13_1 )
-            // InternalReportDSL.g:11631:3: rule__MediaStyle__MarginTopValueAssignment_3_13_1
+            // InternalReportDSL.g:11746:2: ( rule__MediaStyle__PaddingRightValueAssignment_3_13_1 )
+            // InternalReportDSL.g:11746:3: rule__MediaStyle__PaddingRightValueAssignment_3_13_1
             {
             pushFollow(FOLLOW_2);
-            rule__MediaStyle__MarginTopValueAssignment_3_13_1();
+            rule__MediaStyle__PaddingRightValueAssignment_3_13_1();
 
             state._fsp--;
             if (state.failed) return ;
@@ -40458,7 +40904,7 @@
             }
 
             if ( state.backtracking==0 ) {
-               after(grammarAccess.getMediaStyleAccess().getMarginTopValueAssignment_3_13_1()); 
+               after(grammarAccess.getMediaStyleAccess().getPaddingRightValueAssignment_3_13_1()); 
             }
 
             }
@@ -40482,14 +40928,14 @@
 
 
     // $ANTLR start "rule__MediaStyle__Group_3_14__0"
-    // InternalReportDSL.g:11640:1: rule__MediaStyle__Group_3_14__0 : rule__MediaStyle__Group_3_14__0__Impl rule__MediaStyle__Group_3_14__1 ;
+    // InternalReportDSL.g:11755:1: rule__MediaStyle__Group_3_14__0 : rule__MediaStyle__Group_3_14__0__Impl rule__MediaStyle__Group_3_14__1 ;
     public final void rule__MediaStyle__Group_3_14__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:11644:1: ( rule__MediaStyle__Group_3_14__0__Impl rule__MediaStyle__Group_3_14__1 )
-            // InternalReportDSL.g:11645:2: rule__MediaStyle__Group_3_14__0__Impl rule__MediaStyle__Group_3_14__1
+            // InternalReportDSL.g:11759:1: ( rule__MediaStyle__Group_3_14__0__Impl rule__MediaStyle__Group_3_14__1 )
+            // InternalReportDSL.g:11760:2: rule__MediaStyle__Group_3_14__0__Impl rule__MediaStyle__Group_3_14__1
             {
             pushFollow(FOLLOW_36);
             rule__MediaStyle__Group_3_14__0__Impl();
@@ -40520,24 +40966,24 @@
 
 
     // $ANTLR start "rule__MediaStyle__Group_3_14__0__Impl"
-    // InternalReportDSL.g:11652:1: rule__MediaStyle__Group_3_14__0__Impl : ( 'margin-bottom' ) ;
+    // InternalReportDSL.g:11767:1: rule__MediaStyle__Group_3_14__0__Impl : ( 'margin-top' ) ;
     public final void rule__MediaStyle__Group_3_14__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:11656:1: ( ( 'margin-bottom' ) )
-            // InternalReportDSL.g:11657:1: ( 'margin-bottom' )
+            // InternalReportDSL.g:11771:1: ( ( 'margin-top' ) )
+            // InternalReportDSL.g:11772:1: ( 'margin-top' )
             {
-            // InternalReportDSL.g:11657:1: ( 'margin-bottom' )
-            // InternalReportDSL.g:11658:2: 'margin-bottom'
+            // InternalReportDSL.g:11772:1: ( 'margin-top' )
+            // InternalReportDSL.g:11773:2: 'margin-top'
             {
             if ( state.backtracking==0 ) {
-               before(grammarAccess.getMediaStyleAccess().getMarginBottomKeyword_3_14_0()); 
+               before(grammarAccess.getMediaStyleAccess().getMarginTopKeyword_3_14_0()); 
             }
-            match(input,167,FOLLOW_2); if (state.failed) return ;
+            match(input,173,FOLLOW_2); if (state.failed) return ;
             if ( state.backtracking==0 ) {
-               after(grammarAccess.getMediaStyleAccess().getMarginBottomKeyword_3_14_0()); 
+               after(grammarAccess.getMediaStyleAccess().getMarginTopKeyword_3_14_0()); 
             }
 
             }
@@ -40561,14 +41007,14 @@
 
 
     // $ANTLR start "rule__MediaStyle__Group_3_14__1"
-    // InternalReportDSL.g:11667:1: rule__MediaStyle__Group_3_14__1 : rule__MediaStyle__Group_3_14__1__Impl ;
+    // InternalReportDSL.g:11782:1: rule__MediaStyle__Group_3_14__1 : rule__MediaStyle__Group_3_14__1__Impl ;
     public final void rule__MediaStyle__Group_3_14__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:11671:1: ( rule__MediaStyle__Group_3_14__1__Impl )
-            // InternalReportDSL.g:11672:2: rule__MediaStyle__Group_3_14__1__Impl
+            // InternalReportDSL.g:11786:1: ( rule__MediaStyle__Group_3_14__1__Impl )
+            // InternalReportDSL.g:11787:2: rule__MediaStyle__Group_3_14__1__Impl
             {
             pushFollow(FOLLOW_2);
             rule__MediaStyle__Group_3_14__1__Impl();
@@ -40594,26 +41040,26 @@
 
 
     // $ANTLR start "rule__MediaStyle__Group_3_14__1__Impl"
-    // InternalReportDSL.g:11678:1: rule__MediaStyle__Group_3_14__1__Impl : ( ( rule__MediaStyle__MarginBottomValueAssignment_3_14_1 ) ) ;
+    // InternalReportDSL.g:11793:1: rule__MediaStyle__Group_3_14__1__Impl : ( ( rule__MediaStyle__MarginTopValueAssignment_3_14_1 ) ) ;
     public final void rule__MediaStyle__Group_3_14__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:11682:1: ( ( ( rule__MediaStyle__MarginBottomValueAssignment_3_14_1 ) ) )
-            // InternalReportDSL.g:11683:1: ( ( rule__MediaStyle__MarginBottomValueAssignment_3_14_1 ) )
+            // InternalReportDSL.g:11797:1: ( ( ( rule__MediaStyle__MarginTopValueAssignment_3_14_1 ) ) )
+            // InternalReportDSL.g:11798:1: ( ( rule__MediaStyle__MarginTopValueAssignment_3_14_1 ) )
             {
-            // InternalReportDSL.g:11683:1: ( ( rule__MediaStyle__MarginBottomValueAssignment_3_14_1 ) )
-            // InternalReportDSL.g:11684:2: ( rule__MediaStyle__MarginBottomValueAssignment_3_14_1 )
+            // InternalReportDSL.g:11798:1: ( ( rule__MediaStyle__MarginTopValueAssignment_3_14_1 ) )
+            // InternalReportDSL.g:11799:2: ( rule__MediaStyle__MarginTopValueAssignment_3_14_1 )
             {
             if ( state.backtracking==0 ) {
-               before(grammarAccess.getMediaStyleAccess().getMarginBottomValueAssignment_3_14_1()); 
+               before(grammarAccess.getMediaStyleAccess().getMarginTopValueAssignment_3_14_1()); 
             }
-            // InternalReportDSL.g:11685:2: ( rule__MediaStyle__MarginBottomValueAssignment_3_14_1 )
-            // InternalReportDSL.g:11685:3: rule__MediaStyle__MarginBottomValueAssignment_3_14_1
+            // InternalReportDSL.g:11800:2: ( rule__MediaStyle__MarginTopValueAssignment_3_14_1 )
+            // InternalReportDSL.g:11800:3: rule__MediaStyle__MarginTopValueAssignment_3_14_1
             {
             pushFollow(FOLLOW_2);
-            rule__MediaStyle__MarginBottomValueAssignment_3_14_1();
+            rule__MediaStyle__MarginTopValueAssignment_3_14_1();
 
             state._fsp--;
             if (state.failed) return ;
@@ -40621,7 +41067,7 @@
             }
 
             if ( state.backtracking==0 ) {
-               after(grammarAccess.getMediaStyleAccess().getMarginBottomValueAssignment_3_14_1()); 
+               after(grammarAccess.getMediaStyleAccess().getMarginTopValueAssignment_3_14_1()); 
             }
 
             }
@@ -40645,14 +41091,14 @@
 
 
     // $ANTLR start "rule__MediaStyle__Group_3_15__0"
-    // InternalReportDSL.g:11694:1: rule__MediaStyle__Group_3_15__0 : rule__MediaStyle__Group_3_15__0__Impl rule__MediaStyle__Group_3_15__1 ;
+    // InternalReportDSL.g:11809:1: rule__MediaStyle__Group_3_15__0 : rule__MediaStyle__Group_3_15__0__Impl rule__MediaStyle__Group_3_15__1 ;
     public final void rule__MediaStyle__Group_3_15__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:11698:1: ( rule__MediaStyle__Group_3_15__0__Impl rule__MediaStyle__Group_3_15__1 )
-            // InternalReportDSL.g:11699:2: rule__MediaStyle__Group_3_15__0__Impl rule__MediaStyle__Group_3_15__1
+            // InternalReportDSL.g:11813:1: ( rule__MediaStyle__Group_3_15__0__Impl rule__MediaStyle__Group_3_15__1 )
+            // InternalReportDSL.g:11814:2: rule__MediaStyle__Group_3_15__0__Impl rule__MediaStyle__Group_3_15__1
             {
             pushFollow(FOLLOW_36);
             rule__MediaStyle__Group_3_15__0__Impl();
@@ -40683,24 +41129,24 @@
 
 
     // $ANTLR start "rule__MediaStyle__Group_3_15__0__Impl"
-    // InternalReportDSL.g:11706:1: rule__MediaStyle__Group_3_15__0__Impl : ( 'margin-left' ) ;
+    // InternalReportDSL.g:11821:1: rule__MediaStyle__Group_3_15__0__Impl : ( 'margin-bottom' ) ;
     public final void rule__MediaStyle__Group_3_15__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:11710:1: ( ( 'margin-left' ) )
-            // InternalReportDSL.g:11711:1: ( 'margin-left' )
+            // InternalReportDSL.g:11825:1: ( ( 'margin-bottom' ) )
+            // InternalReportDSL.g:11826:1: ( 'margin-bottom' )
             {
-            // InternalReportDSL.g:11711:1: ( 'margin-left' )
-            // InternalReportDSL.g:11712:2: 'margin-left'
+            // InternalReportDSL.g:11826:1: ( 'margin-bottom' )
+            // InternalReportDSL.g:11827:2: 'margin-bottom'
             {
             if ( state.backtracking==0 ) {
-               before(grammarAccess.getMediaStyleAccess().getMarginLeftKeyword_3_15_0()); 
+               before(grammarAccess.getMediaStyleAccess().getMarginBottomKeyword_3_15_0()); 
             }
-            match(input,168,FOLLOW_2); if (state.failed) return ;
+            match(input,174,FOLLOW_2); if (state.failed) return ;
             if ( state.backtracking==0 ) {
-               after(grammarAccess.getMediaStyleAccess().getMarginLeftKeyword_3_15_0()); 
+               after(grammarAccess.getMediaStyleAccess().getMarginBottomKeyword_3_15_0()); 
             }
 
             }
@@ -40724,14 +41170,14 @@
 
 
     // $ANTLR start "rule__MediaStyle__Group_3_15__1"
-    // InternalReportDSL.g:11721:1: rule__MediaStyle__Group_3_15__1 : rule__MediaStyle__Group_3_15__1__Impl ;
+    // InternalReportDSL.g:11836:1: rule__MediaStyle__Group_3_15__1 : rule__MediaStyle__Group_3_15__1__Impl ;
     public final void rule__MediaStyle__Group_3_15__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:11725:1: ( rule__MediaStyle__Group_3_15__1__Impl )
-            // InternalReportDSL.g:11726:2: rule__MediaStyle__Group_3_15__1__Impl
+            // InternalReportDSL.g:11840:1: ( rule__MediaStyle__Group_3_15__1__Impl )
+            // InternalReportDSL.g:11841:2: rule__MediaStyle__Group_3_15__1__Impl
             {
             pushFollow(FOLLOW_2);
             rule__MediaStyle__Group_3_15__1__Impl();
@@ -40757,26 +41203,26 @@
 
 
     // $ANTLR start "rule__MediaStyle__Group_3_15__1__Impl"
-    // InternalReportDSL.g:11732:1: rule__MediaStyle__Group_3_15__1__Impl : ( ( rule__MediaStyle__MarginLeftValueAssignment_3_15_1 ) ) ;
+    // InternalReportDSL.g:11847:1: rule__MediaStyle__Group_3_15__1__Impl : ( ( rule__MediaStyle__MarginBottomValueAssignment_3_15_1 ) ) ;
     public final void rule__MediaStyle__Group_3_15__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:11736:1: ( ( ( rule__MediaStyle__MarginLeftValueAssignment_3_15_1 ) ) )
-            // InternalReportDSL.g:11737:1: ( ( rule__MediaStyle__MarginLeftValueAssignment_3_15_1 ) )
+            // InternalReportDSL.g:11851:1: ( ( ( rule__MediaStyle__MarginBottomValueAssignment_3_15_1 ) ) )
+            // InternalReportDSL.g:11852:1: ( ( rule__MediaStyle__MarginBottomValueAssignment_3_15_1 ) )
             {
-            // InternalReportDSL.g:11737:1: ( ( rule__MediaStyle__MarginLeftValueAssignment_3_15_1 ) )
-            // InternalReportDSL.g:11738:2: ( rule__MediaStyle__MarginLeftValueAssignment_3_15_1 )
+            // InternalReportDSL.g:11852:1: ( ( rule__MediaStyle__MarginBottomValueAssignment_3_15_1 ) )
+            // InternalReportDSL.g:11853:2: ( rule__MediaStyle__MarginBottomValueAssignment_3_15_1 )
             {
             if ( state.backtracking==0 ) {
-               before(grammarAccess.getMediaStyleAccess().getMarginLeftValueAssignment_3_15_1()); 
+               before(grammarAccess.getMediaStyleAccess().getMarginBottomValueAssignment_3_15_1()); 
             }
-            // InternalReportDSL.g:11739:2: ( rule__MediaStyle__MarginLeftValueAssignment_3_15_1 )
-            // InternalReportDSL.g:11739:3: rule__MediaStyle__MarginLeftValueAssignment_3_15_1
+            // InternalReportDSL.g:11854:2: ( rule__MediaStyle__MarginBottomValueAssignment_3_15_1 )
+            // InternalReportDSL.g:11854:3: rule__MediaStyle__MarginBottomValueAssignment_3_15_1
             {
             pushFollow(FOLLOW_2);
-            rule__MediaStyle__MarginLeftValueAssignment_3_15_1();
+            rule__MediaStyle__MarginBottomValueAssignment_3_15_1();
 
             state._fsp--;
             if (state.failed) return ;
@@ -40784,7 +41230,7 @@
             }
 
             if ( state.backtracking==0 ) {
-               after(grammarAccess.getMediaStyleAccess().getMarginLeftValueAssignment_3_15_1()); 
+               after(grammarAccess.getMediaStyleAccess().getMarginBottomValueAssignment_3_15_1()); 
             }
 
             }
@@ -40808,14 +41254,14 @@
 
 
     // $ANTLR start "rule__MediaStyle__Group_3_16__0"
-    // InternalReportDSL.g:11748:1: rule__MediaStyle__Group_3_16__0 : rule__MediaStyle__Group_3_16__0__Impl rule__MediaStyle__Group_3_16__1 ;
+    // InternalReportDSL.g:11863:1: rule__MediaStyle__Group_3_16__0 : rule__MediaStyle__Group_3_16__0__Impl rule__MediaStyle__Group_3_16__1 ;
     public final void rule__MediaStyle__Group_3_16__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:11752:1: ( rule__MediaStyle__Group_3_16__0__Impl rule__MediaStyle__Group_3_16__1 )
-            // InternalReportDSL.g:11753:2: rule__MediaStyle__Group_3_16__0__Impl rule__MediaStyle__Group_3_16__1
+            // InternalReportDSL.g:11867:1: ( rule__MediaStyle__Group_3_16__0__Impl rule__MediaStyle__Group_3_16__1 )
+            // InternalReportDSL.g:11868:2: rule__MediaStyle__Group_3_16__0__Impl rule__MediaStyle__Group_3_16__1
             {
             pushFollow(FOLLOW_36);
             rule__MediaStyle__Group_3_16__0__Impl();
@@ -40846,24 +41292,24 @@
 
 
     // $ANTLR start "rule__MediaStyle__Group_3_16__0__Impl"
-    // InternalReportDSL.g:11760:1: rule__MediaStyle__Group_3_16__0__Impl : ( 'margin-right' ) ;
+    // InternalReportDSL.g:11875:1: rule__MediaStyle__Group_3_16__0__Impl : ( 'margin-left' ) ;
     public final void rule__MediaStyle__Group_3_16__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:11764:1: ( ( 'margin-right' ) )
-            // InternalReportDSL.g:11765:1: ( 'margin-right' )
+            // InternalReportDSL.g:11879:1: ( ( 'margin-left' ) )
+            // InternalReportDSL.g:11880:1: ( 'margin-left' )
             {
-            // InternalReportDSL.g:11765:1: ( 'margin-right' )
-            // InternalReportDSL.g:11766:2: 'margin-right'
+            // InternalReportDSL.g:11880:1: ( 'margin-left' )
+            // InternalReportDSL.g:11881:2: 'margin-left'
             {
             if ( state.backtracking==0 ) {
-               before(grammarAccess.getMediaStyleAccess().getMarginRightKeyword_3_16_0()); 
+               before(grammarAccess.getMediaStyleAccess().getMarginLeftKeyword_3_16_0()); 
             }
-            match(input,169,FOLLOW_2); if (state.failed) return ;
+            match(input,175,FOLLOW_2); if (state.failed) return ;
             if ( state.backtracking==0 ) {
-               after(grammarAccess.getMediaStyleAccess().getMarginRightKeyword_3_16_0()); 
+               after(grammarAccess.getMediaStyleAccess().getMarginLeftKeyword_3_16_0()); 
             }
 
             }
@@ -40887,14 +41333,14 @@
 
 
     // $ANTLR start "rule__MediaStyle__Group_3_16__1"
-    // InternalReportDSL.g:11775:1: rule__MediaStyle__Group_3_16__1 : rule__MediaStyle__Group_3_16__1__Impl ;
+    // InternalReportDSL.g:11890:1: rule__MediaStyle__Group_3_16__1 : rule__MediaStyle__Group_3_16__1__Impl ;
     public final void rule__MediaStyle__Group_3_16__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:11779:1: ( rule__MediaStyle__Group_3_16__1__Impl )
-            // InternalReportDSL.g:11780:2: rule__MediaStyle__Group_3_16__1__Impl
+            // InternalReportDSL.g:11894:1: ( rule__MediaStyle__Group_3_16__1__Impl )
+            // InternalReportDSL.g:11895:2: rule__MediaStyle__Group_3_16__1__Impl
             {
             pushFollow(FOLLOW_2);
             rule__MediaStyle__Group_3_16__1__Impl();
@@ -40920,26 +41366,26 @@
 
 
     // $ANTLR start "rule__MediaStyle__Group_3_16__1__Impl"
-    // InternalReportDSL.g:11786:1: rule__MediaStyle__Group_3_16__1__Impl : ( ( rule__MediaStyle__MarginRightValueAssignment_3_16_1 ) ) ;
+    // InternalReportDSL.g:11901:1: rule__MediaStyle__Group_3_16__1__Impl : ( ( rule__MediaStyle__MarginLeftValueAssignment_3_16_1 ) ) ;
     public final void rule__MediaStyle__Group_3_16__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:11790:1: ( ( ( rule__MediaStyle__MarginRightValueAssignment_3_16_1 ) ) )
-            // InternalReportDSL.g:11791:1: ( ( rule__MediaStyle__MarginRightValueAssignment_3_16_1 ) )
+            // InternalReportDSL.g:11905:1: ( ( ( rule__MediaStyle__MarginLeftValueAssignment_3_16_1 ) ) )
+            // InternalReportDSL.g:11906:1: ( ( rule__MediaStyle__MarginLeftValueAssignment_3_16_1 ) )
             {
-            // InternalReportDSL.g:11791:1: ( ( rule__MediaStyle__MarginRightValueAssignment_3_16_1 ) )
-            // InternalReportDSL.g:11792:2: ( rule__MediaStyle__MarginRightValueAssignment_3_16_1 )
+            // InternalReportDSL.g:11906:1: ( ( rule__MediaStyle__MarginLeftValueAssignment_3_16_1 ) )
+            // InternalReportDSL.g:11907:2: ( rule__MediaStyle__MarginLeftValueAssignment_3_16_1 )
             {
             if ( state.backtracking==0 ) {
-               before(grammarAccess.getMediaStyleAccess().getMarginRightValueAssignment_3_16_1()); 
+               before(grammarAccess.getMediaStyleAccess().getMarginLeftValueAssignment_3_16_1()); 
             }
-            // InternalReportDSL.g:11793:2: ( rule__MediaStyle__MarginRightValueAssignment_3_16_1 )
-            // InternalReportDSL.g:11793:3: rule__MediaStyle__MarginRightValueAssignment_3_16_1
+            // InternalReportDSL.g:11908:2: ( rule__MediaStyle__MarginLeftValueAssignment_3_16_1 )
+            // InternalReportDSL.g:11908:3: rule__MediaStyle__MarginLeftValueAssignment_3_16_1
             {
             pushFollow(FOLLOW_2);
-            rule__MediaStyle__MarginRightValueAssignment_3_16_1();
+            rule__MediaStyle__MarginLeftValueAssignment_3_16_1();
 
             state._fsp--;
             if (state.failed) return ;
@@ -40947,7 +41393,7 @@
             }
 
             if ( state.backtracking==0 ) {
-               after(grammarAccess.getMediaStyleAccess().getMarginRightValueAssignment_3_16_1()); 
+               after(grammarAccess.getMediaStyleAccess().getMarginLeftValueAssignment_3_16_1()); 
             }
 
             }
@@ -40970,15 +41416,178 @@
     // $ANTLR end "rule__MediaStyle__Group_3_16__1__Impl"
 
 
+    // $ANTLR start "rule__MediaStyle__Group_3_17__0"
+    // InternalReportDSL.g:11917:1: rule__MediaStyle__Group_3_17__0 : rule__MediaStyle__Group_3_17__0__Impl rule__MediaStyle__Group_3_17__1 ;
+    public final void rule__MediaStyle__Group_3_17__0() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+        	
+        try {
+            // InternalReportDSL.g:11921:1: ( rule__MediaStyle__Group_3_17__0__Impl rule__MediaStyle__Group_3_17__1 )
+            // InternalReportDSL.g:11922:2: rule__MediaStyle__Group_3_17__0__Impl rule__MediaStyle__Group_3_17__1
+            {
+            pushFollow(FOLLOW_36);
+            rule__MediaStyle__Group_3_17__0__Impl();
+
+            state._fsp--;
+            if (state.failed) return ;
+            pushFollow(FOLLOW_2);
+            rule__MediaStyle__Group_3_17__1();
+
+            state._fsp--;
+            if (state.failed) return ;
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__MediaStyle__Group_3_17__0"
+
+
+    // $ANTLR start "rule__MediaStyle__Group_3_17__0__Impl"
+    // InternalReportDSL.g:11929:1: rule__MediaStyle__Group_3_17__0__Impl : ( 'margin-right' ) ;
+    public final void rule__MediaStyle__Group_3_17__0__Impl() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+        	
+        try {
+            // InternalReportDSL.g:11933:1: ( ( 'margin-right' ) )
+            // InternalReportDSL.g:11934:1: ( 'margin-right' )
+            {
+            // InternalReportDSL.g:11934:1: ( 'margin-right' )
+            // InternalReportDSL.g:11935:2: 'margin-right'
+            {
+            if ( state.backtracking==0 ) {
+               before(grammarAccess.getMediaStyleAccess().getMarginRightKeyword_3_17_0()); 
+            }
+            match(input,176,FOLLOW_2); if (state.failed) return ;
+            if ( state.backtracking==0 ) {
+               after(grammarAccess.getMediaStyleAccess().getMarginRightKeyword_3_17_0()); 
+            }
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__MediaStyle__Group_3_17__0__Impl"
+
+
+    // $ANTLR start "rule__MediaStyle__Group_3_17__1"
+    // InternalReportDSL.g:11944:1: rule__MediaStyle__Group_3_17__1 : rule__MediaStyle__Group_3_17__1__Impl ;
+    public final void rule__MediaStyle__Group_3_17__1() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+        	
+        try {
+            // InternalReportDSL.g:11948:1: ( rule__MediaStyle__Group_3_17__1__Impl )
+            // InternalReportDSL.g:11949:2: rule__MediaStyle__Group_3_17__1__Impl
+            {
+            pushFollow(FOLLOW_2);
+            rule__MediaStyle__Group_3_17__1__Impl();
+
+            state._fsp--;
+            if (state.failed) return ;
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__MediaStyle__Group_3_17__1"
+
+
+    // $ANTLR start "rule__MediaStyle__Group_3_17__1__Impl"
+    // InternalReportDSL.g:11955:1: rule__MediaStyle__Group_3_17__1__Impl : ( ( rule__MediaStyle__MarginRightValueAssignment_3_17_1 ) ) ;
+    public final void rule__MediaStyle__Group_3_17__1__Impl() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+        	
+        try {
+            // InternalReportDSL.g:11959:1: ( ( ( rule__MediaStyle__MarginRightValueAssignment_3_17_1 ) ) )
+            // InternalReportDSL.g:11960:1: ( ( rule__MediaStyle__MarginRightValueAssignment_3_17_1 ) )
+            {
+            // InternalReportDSL.g:11960:1: ( ( rule__MediaStyle__MarginRightValueAssignment_3_17_1 ) )
+            // InternalReportDSL.g:11961:2: ( rule__MediaStyle__MarginRightValueAssignment_3_17_1 )
+            {
+            if ( state.backtracking==0 ) {
+               before(grammarAccess.getMediaStyleAccess().getMarginRightValueAssignment_3_17_1()); 
+            }
+            // InternalReportDSL.g:11962:2: ( rule__MediaStyle__MarginRightValueAssignment_3_17_1 )
+            // InternalReportDSL.g:11962:3: rule__MediaStyle__MarginRightValueAssignment_3_17_1
+            {
+            pushFollow(FOLLOW_2);
+            rule__MediaStyle__MarginRightValueAssignment_3_17_1();
+
+            state._fsp--;
+            if (state.failed) return ;
+
+            }
+
+            if ( state.backtracking==0 ) {
+               after(grammarAccess.getMediaStyleAccess().getMarginRightValueAssignment_3_17_1()); 
+            }
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__MediaStyle__Group_3_17__1__Impl"
+
+
     // $ANTLR start "rule__UomoFormat__Group__0"
-    // InternalReportDSL.g:11802:1: rule__UomoFormat__Group__0 : rule__UomoFormat__Group__0__Impl rule__UomoFormat__Group__1 ;
+    // InternalReportDSL.g:11971:1: rule__UomoFormat__Group__0 : rule__UomoFormat__Group__0__Impl rule__UomoFormat__Group__1 ;
     public final void rule__UomoFormat__Group__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:11806:1: ( rule__UomoFormat__Group__0__Impl rule__UomoFormat__Group__1 )
-            // InternalReportDSL.g:11807:2: rule__UomoFormat__Group__0__Impl rule__UomoFormat__Group__1
+            // InternalReportDSL.g:11975:1: ( rule__UomoFormat__Group__0__Impl rule__UomoFormat__Group__1 )
+            // InternalReportDSL.g:11976:2: rule__UomoFormat__Group__0__Impl rule__UomoFormat__Group__1
             {
             pushFollow(FOLLOW_7);
             rule__UomoFormat__Group__0__Impl();
@@ -41009,22 +41618,22 @@
 
 
     // $ANTLR start "rule__UomoFormat__Group__0__Impl"
-    // InternalReportDSL.g:11814:1: rule__UomoFormat__Group__0__Impl : ( 'uomo' ) ;
+    // InternalReportDSL.g:11983:1: rule__UomoFormat__Group__0__Impl : ( 'uomo' ) ;
     public final void rule__UomoFormat__Group__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:11818:1: ( ( 'uomo' ) )
-            // InternalReportDSL.g:11819:1: ( 'uomo' )
+            // InternalReportDSL.g:11987:1: ( ( 'uomo' ) )
+            // InternalReportDSL.g:11988:1: ( 'uomo' )
             {
-            // InternalReportDSL.g:11819:1: ( 'uomo' )
-            // InternalReportDSL.g:11820:2: 'uomo'
+            // InternalReportDSL.g:11988:1: ( 'uomo' )
+            // InternalReportDSL.g:11989:2: 'uomo'
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getUomoFormatAccess().getUomoKeyword_0()); 
             }
-            match(input,170,FOLLOW_2); if (state.failed) return ;
+            match(input,177,FOLLOW_2); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getUomoFormatAccess().getUomoKeyword_0()); 
             }
@@ -41050,14 +41659,14 @@
 
 
     // $ANTLR start "rule__UomoFormat__Group__1"
-    // InternalReportDSL.g:11829:1: rule__UomoFormat__Group__1 : rule__UomoFormat__Group__1__Impl rule__UomoFormat__Group__2 ;
+    // InternalReportDSL.g:11998:1: rule__UomoFormat__Group__1 : rule__UomoFormat__Group__1__Impl rule__UomoFormat__Group__2 ;
     public final void rule__UomoFormat__Group__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:11833:1: ( rule__UomoFormat__Group__1__Impl rule__UomoFormat__Group__2 )
-            // InternalReportDSL.g:11834:2: rule__UomoFormat__Group__1__Impl rule__UomoFormat__Group__2
+            // InternalReportDSL.g:12002:1: ( rule__UomoFormat__Group__1__Impl rule__UomoFormat__Group__2 )
+            // InternalReportDSL.g:12003:2: rule__UomoFormat__Group__1__Impl rule__UomoFormat__Group__2
             {
             pushFollow(FOLLOW_8);
             rule__UomoFormat__Group__1__Impl();
@@ -41088,23 +41697,23 @@
 
 
     // $ANTLR start "rule__UomoFormat__Group__1__Impl"
-    // InternalReportDSL.g:11841:1: rule__UomoFormat__Group__1__Impl : ( ( rule__UomoFormat__NameAssignment_1 ) ) ;
+    // InternalReportDSL.g:12010:1: rule__UomoFormat__Group__1__Impl : ( ( rule__UomoFormat__NameAssignment_1 ) ) ;
     public final void rule__UomoFormat__Group__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:11845:1: ( ( ( rule__UomoFormat__NameAssignment_1 ) ) )
-            // InternalReportDSL.g:11846:1: ( ( rule__UomoFormat__NameAssignment_1 ) )
+            // InternalReportDSL.g:12014:1: ( ( ( rule__UomoFormat__NameAssignment_1 ) ) )
+            // InternalReportDSL.g:12015:1: ( ( rule__UomoFormat__NameAssignment_1 ) )
             {
-            // InternalReportDSL.g:11846:1: ( ( rule__UomoFormat__NameAssignment_1 ) )
-            // InternalReportDSL.g:11847:2: ( rule__UomoFormat__NameAssignment_1 )
+            // InternalReportDSL.g:12015:1: ( ( rule__UomoFormat__NameAssignment_1 ) )
+            // InternalReportDSL.g:12016:2: ( rule__UomoFormat__NameAssignment_1 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getUomoFormatAccess().getNameAssignment_1()); 
             }
-            // InternalReportDSL.g:11848:2: ( rule__UomoFormat__NameAssignment_1 )
-            // InternalReportDSL.g:11848:3: rule__UomoFormat__NameAssignment_1
+            // InternalReportDSL.g:12017:2: ( rule__UomoFormat__NameAssignment_1 )
+            // InternalReportDSL.g:12017:3: rule__UomoFormat__NameAssignment_1
             {
             pushFollow(FOLLOW_2);
             rule__UomoFormat__NameAssignment_1();
@@ -41139,16 +41748,16 @@
 
 
     // $ANTLR start "rule__UomoFormat__Group__2"
-    // InternalReportDSL.g:11856:1: rule__UomoFormat__Group__2 : rule__UomoFormat__Group__2__Impl rule__UomoFormat__Group__3 ;
+    // InternalReportDSL.g:12025:1: rule__UomoFormat__Group__2 : rule__UomoFormat__Group__2__Impl rule__UomoFormat__Group__3 ;
     public final void rule__UomoFormat__Group__2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:11860:1: ( rule__UomoFormat__Group__2__Impl rule__UomoFormat__Group__3 )
-            // InternalReportDSL.g:11861:2: rule__UomoFormat__Group__2__Impl rule__UomoFormat__Group__3
+            // InternalReportDSL.g:12029:1: ( rule__UomoFormat__Group__2__Impl rule__UomoFormat__Group__3 )
+            // InternalReportDSL.g:12030:2: rule__UomoFormat__Group__2__Impl rule__UomoFormat__Group__3
             {
-            pushFollow(FOLLOW_54);
+            pushFollow(FOLLOW_55);
             rule__UomoFormat__Group__2__Impl();
 
             state._fsp--;
@@ -41177,22 +41786,22 @@
 
 
     // $ANTLR start "rule__UomoFormat__Group__2__Impl"
-    // InternalReportDSL.g:11868:1: rule__UomoFormat__Group__2__Impl : ( '{' ) ;
+    // InternalReportDSL.g:12037:1: rule__UomoFormat__Group__2__Impl : ( '{' ) ;
     public final void rule__UomoFormat__Group__2__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:11872:1: ( ( '{' ) )
-            // InternalReportDSL.g:11873:1: ( '{' )
+            // InternalReportDSL.g:12041:1: ( ( '{' ) )
+            // InternalReportDSL.g:12042:1: ( '{' )
             {
-            // InternalReportDSL.g:11873:1: ( '{' )
-            // InternalReportDSL.g:11874:2: '{'
+            // InternalReportDSL.g:12042:1: ( '{' )
+            // InternalReportDSL.g:12043:2: '{'
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getUomoFormatAccess().getLeftCurlyBracketKeyword_2()); 
             }
-            match(input,125,FOLLOW_2); if (state.failed) return ;
+            match(input,131,FOLLOW_2); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getUomoFormatAccess().getLeftCurlyBracketKeyword_2()); 
             }
@@ -41218,14 +41827,14 @@
 
 
     // $ANTLR start "rule__UomoFormat__Group__3"
-    // InternalReportDSL.g:11883:1: rule__UomoFormat__Group__3 : rule__UomoFormat__Group__3__Impl rule__UomoFormat__Group__4 ;
+    // InternalReportDSL.g:12052:1: rule__UomoFormat__Group__3 : rule__UomoFormat__Group__3__Impl rule__UomoFormat__Group__4 ;
     public final void rule__UomoFormat__Group__3() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:11887:1: ( rule__UomoFormat__Group__3__Impl rule__UomoFormat__Group__4 )
-            // InternalReportDSL.g:11888:2: rule__UomoFormat__Group__3__Impl rule__UomoFormat__Group__4
+            // InternalReportDSL.g:12056:1: ( rule__UomoFormat__Group__3__Impl rule__UomoFormat__Group__4 )
+            // InternalReportDSL.g:12057:2: rule__UomoFormat__Group__3__Impl rule__UomoFormat__Group__4
             {
             pushFollow(FOLLOW_18);
             rule__UomoFormat__Group__3__Impl();
@@ -41256,22 +41865,22 @@
 
 
     // $ANTLR start "rule__UomoFormat__Group__3__Impl"
-    // InternalReportDSL.g:11895:1: rule__UomoFormat__Group__3__Impl : ( 'ui' ) ;
+    // InternalReportDSL.g:12064:1: rule__UomoFormat__Group__3__Impl : ( 'ui' ) ;
     public final void rule__UomoFormat__Group__3__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:11899:1: ( ( 'ui' ) )
-            // InternalReportDSL.g:11900:1: ( 'ui' )
+            // InternalReportDSL.g:12068:1: ( ( 'ui' ) )
+            // InternalReportDSL.g:12069:1: ( 'ui' )
             {
-            // InternalReportDSL.g:11900:1: ( 'ui' )
-            // InternalReportDSL.g:11901:2: 'ui'
+            // InternalReportDSL.g:12069:1: ( 'ui' )
+            // InternalReportDSL.g:12070:2: 'ui'
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getUomoFormatAccess().getUiKeyword_3()); 
             }
-            match(input,171,FOLLOW_2); if (state.failed) return ;
+            match(input,178,FOLLOW_2); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getUomoFormatAccess().getUiKeyword_3()); 
             }
@@ -41297,16 +41906,16 @@
 
 
     // $ANTLR start "rule__UomoFormat__Group__4"
-    // InternalReportDSL.g:11910:1: rule__UomoFormat__Group__4 : rule__UomoFormat__Group__4__Impl rule__UomoFormat__Group__5 ;
+    // InternalReportDSL.g:12079:1: rule__UomoFormat__Group__4 : rule__UomoFormat__Group__4__Impl rule__UomoFormat__Group__5 ;
     public final void rule__UomoFormat__Group__4() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:11914:1: ( rule__UomoFormat__Group__4__Impl rule__UomoFormat__Group__5 )
-            // InternalReportDSL.g:11915:2: rule__UomoFormat__Group__4__Impl rule__UomoFormat__Group__5
+            // InternalReportDSL.g:12083:1: ( rule__UomoFormat__Group__4__Impl rule__UomoFormat__Group__5 )
+            // InternalReportDSL.g:12084:2: rule__UomoFormat__Group__4__Impl rule__UomoFormat__Group__5
             {
-            pushFollow(FOLLOW_55);
+            pushFollow(FOLLOW_56);
             rule__UomoFormat__Group__4__Impl();
 
             state._fsp--;
@@ -41335,23 +41944,23 @@
 
 
     // $ANTLR start "rule__UomoFormat__Group__4__Impl"
-    // InternalReportDSL.g:11922:1: rule__UomoFormat__Group__4__Impl : ( ( rule__UomoFormat__Ui_patternAssignment_4 ) ) ;
+    // InternalReportDSL.g:12091:1: rule__UomoFormat__Group__4__Impl : ( ( rule__UomoFormat__Ui_patternAssignment_4 ) ) ;
     public final void rule__UomoFormat__Group__4__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:11926:1: ( ( ( rule__UomoFormat__Ui_patternAssignment_4 ) ) )
-            // InternalReportDSL.g:11927:1: ( ( rule__UomoFormat__Ui_patternAssignment_4 ) )
+            // InternalReportDSL.g:12095:1: ( ( ( rule__UomoFormat__Ui_patternAssignment_4 ) ) )
+            // InternalReportDSL.g:12096:1: ( ( rule__UomoFormat__Ui_patternAssignment_4 ) )
             {
-            // InternalReportDSL.g:11927:1: ( ( rule__UomoFormat__Ui_patternAssignment_4 ) )
-            // InternalReportDSL.g:11928:2: ( rule__UomoFormat__Ui_patternAssignment_4 )
+            // InternalReportDSL.g:12096:1: ( ( rule__UomoFormat__Ui_patternAssignment_4 ) )
+            // InternalReportDSL.g:12097:2: ( rule__UomoFormat__Ui_patternAssignment_4 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getUomoFormatAccess().getUi_patternAssignment_4()); 
             }
-            // InternalReportDSL.g:11929:2: ( rule__UomoFormat__Ui_patternAssignment_4 )
-            // InternalReportDSL.g:11929:3: rule__UomoFormat__Ui_patternAssignment_4
+            // InternalReportDSL.g:12098:2: ( rule__UomoFormat__Ui_patternAssignment_4 )
+            // InternalReportDSL.g:12098:3: rule__UomoFormat__Ui_patternAssignment_4
             {
             pushFollow(FOLLOW_2);
             rule__UomoFormat__Ui_patternAssignment_4();
@@ -41386,14 +41995,14 @@
 
 
     // $ANTLR start "rule__UomoFormat__Group__5"
-    // InternalReportDSL.g:11937:1: rule__UomoFormat__Group__5 : rule__UomoFormat__Group__5__Impl rule__UomoFormat__Group__6 ;
+    // InternalReportDSL.g:12106:1: rule__UomoFormat__Group__5 : rule__UomoFormat__Group__5__Impl rule__UomoFormat__Group__6 ;
     public final void rule__UomoFormat__Group__5() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:11941:1: ( rule__UomoFormat__Group__5__Impl rule__UomoFormat__Group__6 )
-            // InternalReportDSL.g:11942:2: rule__UomoFormat__Group__5__Impl rule__UomoFormat__Group__6
+            // InternalReportDSL.g:12110:1: ( rule__UomoFormat__Group__5__Impl rule__UomoFormat__Group__6 )
+            // InternalReportDSL.g:12111:2: rule__UomoFormat__Group__5__Impl rule__UomoFormat__Group__6
             {
             pushFollow(FOLLOW_18);
             rule__UomoFormat__Group__5__Impl();
@@ -41424,22 +42033,22 @@
 
 
     // $ANTLR start "rule__UomoFormat__Group__5__Impl"
-    // InternalReportDSL.g:11949:1: rule__UomoFormat__Group__5__Impl : ( 'report' ) ;
+    // InternalReportDSL.g:12118:1: rule__UomoFormat__Group__5__Impl : ( 'report' ) ;
     public final void rule__UomoFormat__Group__5__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:11953:1: ( ( 'report' ) )
-            // InternalReportDSL.g:11954:1: ( 'report' )
+            // InternalReportDSL.g:12122:1: ( ( 'report' ) )
+            // InternalReportDSL.g:12123:1: ( 'report' )
             {
-            // InternalReportDSL.g:11954:1: ( 'report' )
-            // InternalReportDSL.g:11955:2: 'report'
+            // InternalReportDSL.g:12123:1: ( 'report' )
+            // InternalReportDSL.g:12124:2: 'report'
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getUomoFormatAccess().getReportKeyword_5()); 
             }
-            match(input,172,FOLLOW_2); if (state.failed) return ;
+            match(input,179,FOLLOW_2); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getUomoFormatAccess().getReportKeyword_5()); 
             }
@@ -41465,16 +42074,16 @@
 
 
     // $ANTLR start "rule__UomoFormat__Group__6"
-    // InternalReportDSL.g:11964:1: rule__UomoFormat__Group__6 : rule__UomoFormat__Group__6__Impl rule__UomoFormat__Group__7 ;
+    // InternalReportDSL.g:12133:1: rule__UomoFormat__Group__6 : rule__UomoFormat__Group__6__Impl rule__UomoFormat__Group__7 ;
     public final void rule__UomoFormat__Group__6() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:11968:1: ( rule__UomoFormat__Group__6__Impl rule__UomoFormat__Group__7 )
-            // InternalReportDSL.g:11969:2: rule__UomoFormat__Group__6__Impl rule__UomoFormat__Group__7
+            // InternalReportDSL.g:12137:1: ( rule__UomoFormat__Group__6__Impl rule__UomoFormat__Group__7 )
+            // InternalReportDSL.g:12138:2: rule__UomoFormat__Group__6__Impl rule__UomoFormat__Group__7
             {
-            pushFollow(FOLLOW_56);
+            pushFollow(FOLLOW_57);
             rule__UomoFormat__Group__6__Impl();
 
             state._fsp--;
@@ -41503,23 +42112,23 @@
 
 
     // $ANTLR start "rule__UomoFormat__Group__6__Impl"
-    // InternalReportDSL.g:11976:1: rule__UomoFormat__Group__6__Impl : ( ( rule__UomoFormat__Report_patternAssignment_6 ) ) ;
+    // InternalReportDSL.g:12145:1: rule__UomoFormat__Group__6__Impl : ( ( rule__UomoFormat__Report_patternAssignment_6 ) ) ;
     public final void rule__UomoFormat__Group__6__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:11980:1: ( ( ( rule__UomoFormat__Report_patternAssignment_6 ) ) )
-            // InternalReportDSL.g:11981:1: ( ( rule__UomoFormat__Report_patternAssignment_6 ) )
+            // InternalReportDSL.g:12149:1: ( ( ( rule__UomoFormat__Report_patternAssignment_6 ) ) )
+            // InternalReportDSL.g:12150:1: ( ( rule__UomoFormat__Report_patternAssignment_6 ) )
             {
-            // InternalReportDSL.g:11981:1: ( ( rule__UomoFormat__Report_patternAssignment_6 ) )
-            // InternalReportDSL.g:11982:2: ( rule__UomoFormat__Report_patternAssignment_6 )
+            // InternalReportDSL.g:12150:1: ( ( rule__UomoFormat__Report_patternAssignment_6 ) )
+            // InternalReportDSL.g:12151:2: ( rule__UomoFormat__Report_patternAssignment_6 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getUomoFormatAccess().getReport_patternAssignment_6()); 
             }
-            // InternalReportDSL.g:11983:2: ( rule__UomoFormat__Report_patternAssignment_6 )
-            // InternalReportDSL.g:11983:3: rule__UomoFormat__Report_patternAssignment_6
+            // InternalReportDSL.g:12152:2: ( rule__UomoFormat__Report_patternAssignment_6 )
+            // InternalReportDSL.g:12152:3: rule__UomoFormat__Report_patternAssignment_6
             {
             pushFollow(FOLLOW_2);
             rule__UomoFormat__Report_patternAssignment_6();
@@ -41554,14 +42163,14 @@
 
 
     // $ANTLR start "rule__UomoFormat__Group__7"
-    // InternalReportDSL.g:11991:1: rule__UomoFormat__Group__7 : rule__UomoFormat__Group__7__Impl rule__UomoFormat__Group__8 ;
+    // InternalReportDSL.g:12160:1: rule__UomoFormat__Group__7 : rule__UomoFormat__Group__7__Impl rule__UomoFormat__Group__8 ;
     public final void rule__UomoFormat__Group__7() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:11995:1: ( rule__UomoFormat__Group__7__Impl rule__UomoFormat__Group__8 )
-            // InternalReportDSL.g:11996:2: rule__UomoFormat__Group__7__Impl rule__UomoFormat__Group__8
+            // InternalReportDSL.g:12164:1: ( rule__UomoFormat__Group__7__Impl rule__UomoFormat__Group__8 )
+            // InternalReportDSL.g:12165:2: rule__UomoFormat__Group__7__Impl rule__UomoFormat__Group__8
             {
             pushFollow(FOLLOW_51);
             rule__UomoFormat__Group__7__Impl();
@@ -41592,22 +42201,22 @@
 
 
     // $ANTLR start "rule__UomoFormat__Group__7__Impl"
-    // InternalReportDSL.g:12003:1: rule__UomoFormat__Group__7__Impl : ( 'textalign' ) ;
+    // InternalReportDSL.g:12172:1: rule__UomoFormat__Group__7__Impl : ( 'textalign' ) ;
     public final void rule__UomoFormat__Group__7__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:12007:1: ( ( 'textalign' ) )
-            // InternalReportDSL.g:12008:1: ( 'textalign' )
+            // InternalReportDSL.g:12176:1: ( ( 'textalign' ) )
+            // InternalReportDSL.g:12177:1: ( 'textalign' )
             {
-            // InternalReportDSL.g:12008:1: ( 'textalign' )
-            // InternalReportDSL.g:12009:2: 'textalign'
+            // InternalReportDSL.g:12177:1: ( 'textalign' )
+            // InternalReportDSL.g:12178:2: 'textalign'
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getUomoFormatAccess().getTextalignKeyword_7()); 
             }
-            match(input,157,FOLLOW_2); if (state.failed) return ;
+            match(input,163,FOLLOW_2); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getUomoFormatAccess().getTextalignKeyword_7()); 
             }
@@ -41633,14 +42242,14 @@
 
 
     // $ANTLR start "rule__UomoFormat__Group__8"
-    // InternalReportDSL.g:12018:1: rule__UomoFormat__Group__8 : rule__UomoFormat__Group__8__Impl rule__UomoFormat__Group__9 ;
+    // InternalReportDSL.g:12187:1: rule__UomoFormat__Group__8 : rule__UomoFormat__Group__8__Impl rule__UomoFormat__Group__9 ;
     public final void rule__UomoFormat__Group__8() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:12022:1: ( rule__UomoFormat__Group__8__Impl rule__UomoFormat__Group__9 )
-            // InternalReportDSL.g:12023:2: rule__UomoFormat__Group__8__Impl rule__UomoFormat__Group__9
+            // InternalReportDSL.g:12191:1: ( rule__UomoFormat__Group__8__Impl rule__UomoFormat__Group__9 )
+            // InternalReportDSL.g:12192:2: rule__UomoFormat__Group__8__Impl rule__UomoFormat__Group__9
             {
             pushFollow(FOLLOW_17);
             rule__UomoFormat__Group__8__Impl();
@@ -41671,23 +42280,23 @@
 
 
     // $ANTLR start "rule__UomoFormat__Group__8__Impl"
-    // InternalReportDSL.g:12030:1: rule__UomoFormat__Group__8__Impl : ( ( rule__UomoFormat__TextalignAssignment_8 ) ) ;
+    // InternalReportDSL.g:12199:1: rule__UomoFormat__Group__8__Impl : ( ( rule__UomoFormat__TextalignAssignment_8 ) ) ;
     public final void rule__UomoFormat__Group__8__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:12034:1: ( ( ( rule__UomoFormat__TextalignAssignment_8 ) ) )
-            // InternalReportDSL.g:12035:1: ( ( rule__UomoFormat__TextalignAssignment_8 ) )
+            // InternalReportDSL.g:12203:1: ( ( ( rule__UomoFormat__TextalignAssignment_8 ) ) )
+            // InternalReportDSL.g:12204:1: ( ( rule__UomoFormat__TextalignAssignment_8 ) )
             {
-            // InternalReportDSL.g:12035:1: ( ( rule__UomoFormat__TextalignAssignment_8 ) )
-            // InternalReportDSL.g:12036:2: ( rule__UomoFormat__TextalignAssignment_8 )
+            // InternalReportDSL.g:12204:1: ( ( rule__UomoFormat__TextalignAssignment_8 ) )
+            // InternalReportDSL.g:12205:2: ( rule__UomoFormat__TextalignAssignment_8 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getUomoFormatAccess().getTextalignAssignment_8()); 
             }
-            // InternalReportDSL.g:12037:2: ( rule__UomoFormat__TextalignAssignment_8 )
-            // InternalReportDSL.g:12037:3: rule__UomoFormat__TextalignAssignment_8
+            // InternalReportDSL.g:12206:2: ( rule__UomoFormat__TextalignAssignment_8 )
+            // InternalReportDSL.g:12206:3: rule__UomoFormat__TextalignAssignment_8
             {
             pushFollow(FOLLOW_2);
             rule__UomoFormat__TextalignAssignment_8();
@@ -41722,14 +42331,14 @@
 
 
     // $ANTLR start "rule__UomoFormat__Group__9"
-    // InternalReportDSL.g:12045:1: rule__UomoFormat__Group__9 : rule__UomoFormat__Group__9__Impl ;
+    // InternalReportDSL.g:12214:1: rule__UomoFormat__Group__9 : rule__UomoFormat__Group__9__Impl ;
     public final void rule__UomoFormat__Group__9() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:12049:1: ( rule__UomoFormat__Group__9__Impl )
-            // InternalReportDSL.g:12050:2: rule__UomoFormat__Group__9__Impl
+            // InternalReportDSL.g:12218:1: ( rule__UomoFormat__Group__9__Impl )
+            // InternalReportDSL.g:12219:2: rule__UomoFormat__Group__9__Impl
             {
             pushFollow(FOLLOW_2);
             rule__UomoFormat__Group__9__Impl();
@@ -41755,22 +42364,22 @@
 
 
     // $ANTLR start "rule__UomoFormat__Group__9__Impl"
-    // InternalReportDSL.g:12056:1: rule__UomoFormat__Group__9__Impl : ( '}' ) ;
+    // InternalReportDSL.g:12225:1: rule__UomoFormat__Group__9__Impl : ( '}' ) ;
     public final void rule__UomoFormat__Group__9__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:12060:1: ( ( '}' ) )
-            // InternalReportDSL.g:12061:1: ( '}' )
+            // InternalReportDSL.g:12229:1: ( ( '}' ) )
+            // InternalReportDSL.g:12230:1: ( '}' )
             {
-            // InternalReportDSL.g:12061:1: ( '}' )
-            // InternalReportDSL.g:12062:2: '}'
+            // InternalReportDSL.g:12230:1: ( '}' )
+            // InternalReportDSL.g:12231:2: '}'
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getUomoFormatAccess().getRightCurlyBracketKeyword_9()); 
             }
-            match(input,126,FOLLOW_2); if (state.failed) return ;
+            match(input,132,FOLLOW_2); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getUomoFormatAccess().getRightCurlyBracketKeyword_9()); 
             }
@@ -41796,14 +42405,14 @@
 
 
     // $ANTLR start "rule__NumberFormat__Group__0"
-    // InternalReportDSL.g:12072:1: rule__NumberFormat__Group__0 : rule__NumberFormat__Group__0__Impl rule__NumberFormat__Group__1 ;
+    // InternalReportDSL.g:12241:1: rule__NumberFormat__Group__0 : rule__NumberFormat__Group__0__Impl rule__NumberFormat__Group__1 ;
     public final void rule__NumberFormat__Group__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:12076:1: ( rule__NumberFormat__Group__0__Impl rule__NumberFormat__Group__1 )
-            // InternalReportDSL.g:12077:2: rule__NumberFormat__Group__0__Impl rule__NumberFormat__Group__1
+            // InternalReportDSL.g:12245:1: ( rule__NumberFormat__Group__0__Impl rule__NumberFormat__Group__1 )
+            // InternalReportDSL.g:12246:2: rule__NumberFormat__Group__0__Impl rule__NumberFormat__Group__1
             {
             pushFollow(FOLLOW_7);
             rule__NumberFormat__Group__0__Impl();
@@ -41834,22 +42443,22 @@
 
 
     // $ANTLR start "rule__NumberFormat__Group__0__Impl"
-    // InternalReportDSL.g:12084:1: rule__NumberFormat__Group__0__Impl : ( 'number' ) ;
+    // InternalReportDSL.g:12253:1: rule__NumberFormat__Group__0__Impl : ( 'number' ) ;
     public final void rule__NumberFormat__Group__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:12088:1: ( ( 'number' ) )
-            // InternalReportDSL.g:12089:1: ( 'number' )
+            // InternalReportDSL.g:12257:1: ( ( 'number' ) )
+            // InternalReportDSL.g:12258:1: ( 'number' )
             {
-            // InternalReportDSL.g:12089:1: ( 'number' )
-            // InternalReportDSL.g:12090:2: 'number'
+            // InternalReportDSL.g:12258:1: ( 'number' )
+            // InternalReportDSL.g:12259:2: 'number'
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getNumberFormatAccess().getNumberKeyword_0()); 
             }
-            match(input,173,FOLLOW_2); if (state.failed) return ;
+            match(input,180,FOLLOW_2); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getNumberFormatAccess().getNumberKeyword_0()); 
             }
@@ -41875,14 +42484,14 @@
 
 
     // $ANTLR start "rule__NumberFormat__Group__1"
-    // InternalReportDSL.g:12099:1: rule__NumberFormat__Group__1 : rule__NumberFormat__Group__1__Impl rule__NumberFormat__Group__2 ;
+    // InternalReportDSL.g:12268:1: rule__NumberFormat__Group__1 : rule__NumberFormat__Group__1__Impl rule__NumberFormat__Group__2 ;
     public final void rule__NumberFormat__Group__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:12103:1: ( rule__NumberFormat__Group__1__Impl rule__NumberFormat__Group__2 )
-            // InternalReportDSL.g:12104:2: rule__NumberFormat__Group__1__Impl rule__NumberFormat__Group__2
+            // InternalReportDSL.g:12272:1: ( rule__NumberFormat__Group__1__Impl rule__NumberFormat__Group__2 )
+            // InternalReportDSL.g:12273:2: rule__NumberFormat__Group__1__Impl rule__NumberFormat__Group__2
             {
             pushFollow(FOLLOW_8);
             rule__NumberFormat__Group__1__Impl();
@@ -41913,23 +42522,23 @@
 
 
     // $ANTLR start "rule__NumberFormat__Group__1__Impl"
-    // InternalReportDSL.g:12111:1: rule__NumberFormat__Group__1__Impl : ( ( rule__NumberFormat__NameAssignment_1 ) ) ;
+    // InternalReportDSL.g:12280:1: rule__NumberFormat__Group__1__Impl : ( ( rule__NumberFormat__NameAssignment_1 ) ) ;
     public final void rule__NumberFormat__Group__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:12115:1: ( ( ( rule__NumberFormat__NameAssignment_1 ) ) )
-            // InternalReportDSL.g:12116:1: ( ( rule__NumberFormat__NameAssignment_1 ) )
+            // InternalReportDSL.g:12284:1: ( ( ( rule__NumberFormat__NameAssignment_1 ) ) )
+            // InternalReportDSL.g:12285:1: ( ( rule__NumberFormat__NameAssignment_1 ) )
             {
-            // InternalReportDSL.g:12116:1: ( ( rule__NumberFormat__NameAssignment_1 ) )
-            // InternalReportDSL.g:12117:2: ( rule__NumberFormat__NameAssignment_1 )
+            // InternalReportDSL.g:12285:1: ( ( rule__NumberFormat__NameAssignment_1 ) )
+            // InternalReportDSL.g:12286:2: ( rule__NumberFormat__NameAssignment_1 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getNumberFormatAccess().getNameAssignment_1()); 
             }
-            // InternalReportDSL.g:12118:2: ( rule__NumberFormat__NameAssignment_1 )
-            // InternalReportDSL.g:12118:3: rule__NumberFormat__NameAssignment_1
+            // InternalReportDSL.g:12287:2: ( rule__NumberFormat__NameAssignment_1 )
+            // InternalReportDSL.g:12287:3: rule__NumberFormat__NameAssignment_1
             {
             pushFollow(FOLLOW_2);
             rule__NumberFormat__NameAssignment_1();
@@ -41964,16 +42573,16 @@
 
 
     // $ANTLR start "rule__NumberFormat__Group__2"
-    // InternalReportDSL.g:12126:1: rule__NumberFormat__Group__2 : rule__NumberFormat__Group__2__Impl rule__NumberFormat__Group__3 ;
+    // InternalReportDSL.g:12295:1: rule__NumberFormat__Group__2 : rule__NumberFormat__Group__2__Impl rule__NumberFormat__Group__3 ;
     public final void rule__NumberFormat__Group__2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:12130:1: ( rule__NumberFormat__Group__2__Impl rule__NumberFormat__Group__3 )
-            // InternalReportDSL.g:12131:2: rule__NumberFormat__Group__2__Impl rule__NumberFormat__Group__3
+            // InternalReportDSL.g:12299:1: ( rule__NumberFormat__Group__2__Impl rule__NumberFormat__Group__3 )
+            // InternalReportDSL.g:12300:2: rule__NumberFormat__Group__2__Impl rule__NumberFormat__Group__3
             {
-            pushFollow(FOLLOW_54);
+            pushFollow(FOLLOW_55);
             rule__NumberFormat__Group__2__Impl();
 
             state._fsp--;
@@ -42002,22 +42611,22 @@
 
 
     // $ANTLR start "rule__NumberFormat__Group__2__Impl"
-    // InternalReportDSL.g:12138:1: rule__NumberFormat__Group__2__Impl : ( '{' ) ;
+    // InternalReportDSL.g:12307:1: rule__NumberFormat__Group__2__Impl : ( '{' ) ;
     public final void rule__NumberFormat__Group__2__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:12142:1: ( ( '{' ) )
-            // InternalReportDSL.g:12143:1: ( '{' )
+            // InternalReportDSL.g:12311:1: ( ( '{' ) )
+            // InternalReportDSL.g:12312:1: ( '{' )
             {
-            // InternalReportDSL.g:12143:1: ( '{' )
-            // InternalReportDSL.g:12144:2: '{'
+            // InternalReportDSL.g:12312:1: ( '{' )
+            // InternalReportDSL.g:12313:2: '{'
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getNumberFormatAccess().getLeftCurlyBracketKeyword_2()); 
             }
-            match(input,125,FOLLOW_2); if (state.failed) return ;
+            match(input,131,FOLLOW_2); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getNumberFormatAccess().getLeftCurlyBracketKeyword_2()); 
             }
@@ -42043,14 +42652,14 @@
 
 
     // $ANTLR start "rule__NumberFormat__Group__3"
-    // InternalReportDSL.g:12153:1: rule__NumberFormat__Group__3 : rule__NumberFormat__Group__3__Impl rule__NumberFormat__Group__4 ;
+    // InternalReportDSL.g:12322:1: rule__NumberFormat__Group__3 : rule__NumberFormat__Group__3__Impl rule__NumberFormat__Group__4 ;
     public final void rule__NumberFormat__Group__3() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:12157:1: ( rule__NumberFormat__Group__3__Impl rule__NumberFormat__Group__4 )
-            // InternalReportDSL.g:12158:2: rule__NumberFormat__Group__3__Impl rule__NumberFormat__Group__4
+            // InternalReportDSL.g:12326:1: ( rule__NumberFormat__Group__3__Impl rule__NumberFormat__Group__4 )
+            // InternalReportDSL.g:12327:2: rule__NumberFormat__Group__3__Impl rule__NumberFormat__Group__4
             {
             pushFollow(FOLLOW_18);
             rule__NumberFormat__Group__3__Impl();
@@ -42081,22 +42690,22 @@
 
 
     // $ANTLR start "rule__NumberFormat__Group__3__Impl"
-    // InternalReportDSL.g:12165:1: rule__NumberFormat__Group__3__Impl : ( 'ui' ) ;
+    // InternalReportDSL.g:12334:1: rule__NumberFormat__Group__3__Impl : ( 'ui' ) ;
     public final void rule__NumberFormat__Group__3__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:12169:1: ( ( 'ui' ) )
-            // InternalReportDSL.g:12170:1: ( 'ui' )
+            // InternalReportDSL.g:12338:1: ( ( 'ui' ) )
+            // InternalReportDSL.g:12339:1: ( 'ui' )
             {
-            // InternalReportDSL.g:12170:1: ( 'ui' )
-            // InternalReportDSL.g:12171:2: 'ui'
+            // InternalReportDSL.g:12339:1: ( 'ui' )
+            // InternalReportDSL.g:12340:2: 'ui'
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getNumberFormatAccess().getUiKeyword_3()); 
             }
-            match(input,171,FOLLOW_2); if (state.failed) return ;
+            match(input,178,FOLLOW_2); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getNumberFormatAccess().getUiKeyword_3()); 
             }
@@ -42122,16 +42731,16 @@
 
 
     // $ANTLR start "rule__NumberFormat__Group__4"
-    // InternalReportDSL.g:12180:1: rule__NumberFormat__Group__4 : rule__NumberFormat__Group__4__Impl rule__NumberFormat__Group__5 ;
+    // InternalReportDSL.g:12349:1: rule__NumberFormat__Group__4 : rule__NumberFormat__Group__4__Impl rule__NumberFormat__Group__5 ;
     public final void rule__NumberFormat__Group__4() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:12184:1: ( rule__NumberFormat__Group__4__Impl rule__NumberFormat__Group__5 )
-            // InternalReportDSL.g:12185:2: rule__NumberFormat__Group__4__Impl rule__NumberFormat__Group__5
+            // InternalReportDSL.g:12353:1: ( rule__NumberFormat__Group__4__Impl rule__NumberFormat__Group__5 )
+            // InternalReportDSL.g:12354:2: rule__NumberFormat__Group__4__Impl rule__NumberFormat__Group__5
             {
-            pushFollow(FOLLOW_55);
+            pushFollow(FOLLOW_56);
             rule__NumberFormat__Group__4__Impl();
 
             state._fsp--;
@@ -42160,23 +42769,23 @@
 
 
     // $ANTLR start "rule__NumberFormat__Group__4__Impl"
-    // InternalReportDSL.g:12192:1: rule__NumberFormat__Group__4__Impl : ( ( rule__NumberFormat__Ui_patternAssignment_4 ) ) ;
+    // InternalReportDSL.g:12361:1: rule__NumberFormat__Group__4__Impl : ( ( rule__NumberFormat__Ui_patternAssignment_4 ) ) ;
     public final void rule__NumberFormat__Group__4__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:12196:1: ( ( ( rule__NumberFormat__Ui_patternAssignment_4 ) ) )
-            // InternalReportDSL.g:12197:1: ( ( rule__NumberFormat__Ui_patternAssignment_4 ) )
+            // InternalReportDSL.g:12365:1: ( ( ( rule__NumberFormat__Ui_patternAssignment_4 ) ) )
+            // InternalReportDSL.g:12366:1: ( ( rule__NumberFormat__Ui_patternAssignment_4 ) )
             {
-            // InternalReportDSL.g:12197:1: ( ( rule__NumberFormat__Ui_patternAssignment_4 ) )
-            // InternalReportDSL.g:12198:2: ( rule__NumberFormat__Ui_patternAssignment_4 )
+            // InternalReportDSL.g:12366:1: ( ( rule__NumberFormat__Ui_patternAssignment_4 ) )
+            // InternalReportDSL.g:12367:2: ( rule__NumberFormat__Ui_patternAssignment_4 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getNumberFormatAccess().getUi_patternAssignment_4()); 
             }
-            // InternalReportDSL.g:12199:2: ( rule__NumberFormat__Ui_patternAssignment_4 )
-            // InternalReportDSL.g:12199:3: rule__NumberFormat__Ui_patternAssignment_4
+            // InternalReportDSL.g:12368:2: ( rule__NumberFormat__Ui_patternAssignment_4 )
+            // InternalReportDSL.g:12368:3: rule__NumberFormat__Ui_patternAssignment_4
             {
             pushFollow(FOLLOW_2);
             rule__NumberFormat__Ui_patternAssignment_4();
@@ -42211,16 +42820,16 @@
 
 
     // $ANTLR start "rule__NumberFormat__Group__5"
-    // InternalReportDSL.g:12207:1: rule__NumberFormat__Group__5 : rule__NumberFormat__Group__5__Impl rule__NumberFormat__Group__6 ;
+    // InternalReportDSL.g:12376:1: rule__NumberFormat__Group__5 : rule__NumberFormat__Group__5__Impl rule__NumberFormat__Group__6 ;
     public final void rule__NumberFormat__Group__5() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:12211:1: ( rule__NumberFormat__Group__5__Impl rule__NumberFormat__Group__6 )
-            // InternalReportDSL.g:12212:2: rule__NumberFormat__Group__5__Impl rule__NumberFormat__Group__6
+            // InternalReportDSL.g:12380:1: ( rule__NumberFormat__Group__5__Impl rule__NumberFormat__Group__6 )
+            // InternalReportDSL.g:12381:2: rule__NumberFormat__Group__5__Impl rule__NumberFormat__Group__6
             {
-            pushFollow(FOLLOW_57);
+            pushFollow(FOLLOW_58);
             rule__NumberFormat__Group__5__Impl();
 
             state._fsp--;
@@ -42249,22 +42858,22 @@
 
 
     // $ANTLR start "rule__NumberFormat__Group__5__Impl"
-    // InternalReportDSL.g:12219:1: rule__NumberFormat__Group__5__Impl : ( 'report' ) ;
+    // InternalReportDSL.g:12388:1: rule__NumberFormat__Group__5__Impl : ( 'report' ) ;
     public final void rule__NumberFormat__Group__5__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:12223:1: ( ( 'report' ) )
-            // InternalReportDSL.g:12224:1: ( 'report' )
+            // InternalReportDSL.g:12392:1: ( ( 'report' ) )
+            // InternalReportDSL.g:12393:1: ( 'report' )
             {
-            // InternalReportDSL.g:12224:1: ( 'report' )
-            // InternalReportDSL.g:12225:2: 'report'
+            // InternalReportDSL.g:12393:1: ( 'report' )
+            // InternalReportDSL.g:12394:2: 'report'
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getNumberFormatAccess().getReportKeyword_5()); 
             }
-            match(input,172,FOLLOW_2); if (state.failed) return ;
+            match(input,179,FOLLOW_2); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getNumberFormatAccess().getReportKeyword_5()); 
             }
@@ -42290,14 +42899,14 @@
 
 
     // $ANTLR start "rule__NumberFormat__Group__6"
-    // InternalReportDSL.g:12234:1: rule__NumberFormat__Group__6 : rule__NumberFormat__Group__6__Impl rule__NumberFormat__Group__7 ;
+    // InternalReportDSL.g:12403:1: rule__NumberFormat__Group__6 : rule__NumberFormat__Group__6__Impl rule__NumberFormat__Group__7 ;
     public final void rule__NumberFormat__Group__6() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:12238:1: ( rule__NumberFormat__Group__6__Impl rule__NumberFormat__Group__7 )
-            // InternalReportDSL.g:12239:2: rule__NumberFormat__Group__6__Impl rule__NumberFormat__Group__7
+            // InternalReportDSL.g:12407:1: ( rule__NumberFormat__Group__6__Impl rule__NumberFormat__Group__7 )
+            // InternalReportDSL.g:12408:2: rule__NumberFormat__Group__6__Impl rule__NumberFormat__Group__7
             {
             pushFollow(FOLLOW_18);
             rule__NumberFormat__Group__6__Impl();
@@ -42328,23 +42937,23 @@
 
 
     // $ANTLR start "rule__NumberFormat__Group__6__Impl"
-    // InternalReportDSL.g:12246:1: rule__NumberFormat__Group__6__Impl : ( ( rule__NumberFormat__Report_categoryAssignment_6 ) ) ;
+    // InternalReportDSL.g:12415:1: rule__NumberFormat__Group__6__Impl : ( ( rule__NumberFormat__Report_categoryAssignment_6 ) ) ;
     public final void rule__NumberFormat__Group__6__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:12250:1: ( ( ( rule__NumberFormat__Report_categoryAssignment_6 ) ) )
-            // InternalReportDSL.g:12251:1: ( ( rule__NumberFormat__Report_categoryAssignment_6 ) )
+            // InternalReportDSL.g:12419:1: ( ( ( rule__NumberFormat__Report_categoryAssignment_6 ) ) )
+            // InternalReportDSL.g:12420:1: ( ( rule__NumberFormat__Report_categoryAssignment_6 ) )
             {
-            // InternalReportDSL.g:12251:1: ( ( rule__NumberFormat__Report_categoryAssignment_6 ) )
-            // InternalReportDSL.g:12252:2: ( rule__NumberFormat__Report_categoryAssignment_6 )
+            // InternalReportDSL.g:12420:1: ( ( rule__NumberFormat__Report_categoryAssignment_6 ) )
+            // InternalReportDSL.g:12421:2: ( rule__NumberFormat__Report_categoryAssignment_6 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getNumberFormatAccess().getReport_categoryAssignment_6()); 
             }
-            // InternalReportDSL.g:12253:2: ( rule__NumberFormat__Report_categoryAssignment_6 )
-            // InternalReportDSL.g:12253:3: rule__NumberFormat__Report_categoryAssignment_6
+            // InternalReportDSL.g:12422:2: ( rule__NumberFormat__Report_categoryAssignment_6 )
+            // InternalReportDSL.g:12422:3: rule__NumberFormat__Report_categoryAssignment_6
             {
             pushFollow(FOLLOW_2);
             rule__NumberFormat__Report_categoryAssignment_6();
@@ -42379,16 +42988,16 @@
 
 
     // $ANTLR start "rule__NumberFormat__Group__7"
-    // InternalReportDSL.g:12261:1: rule__NumberFormat__Group__7 : rule__NumberFormat__Group__7__Impl rule__NumberFormat__Group__8 ;
+    // InternalReportDSL.g:12430:1: rule__NumberFormat__Group__7 : rule__NumberFormat__Group__7__Impl rule__NumberFormat__Group__8 ;
     public final void rule__NumberFormat__Group__7() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:12265:1: ( rule__NumberFormat__Group__7__Impl rule__NumberFormat__Group__8 )
-            // InternalReportDSL.g:12266:2: rule__NumberFormat__Group__7__Impl rule__NumberFormat__Group__8
+            // InternalReportDSL.g:12434:1: ( rule__NumberFormat__Group__7__Impl rule__NumberFormat__Group__8 )
+            // InternalReportDSL.g:12435:2: rule__NumberFormat__Group__7__Impl rule__NumberFormat__Group__8
             {
-            pushFollow(FOLLOW_56);
+            pushFollow(FOLLOW_57);
             rule__NumberFormat__Group__7__Impl();
 
             state._fsp--;
@@ -42417,23 +43026,23 @@
 
 
     // $ANTLR start "rule__NumberFormat__Group__7__Impl"
-    // InternalReportDSL.g:12273:1: rule__NumberFormat__Group__7__Impl : ( ( rule__NumberFormat__Report_patternAssignment_7 ) ) ;
+    // InternalReportDSL.g:12442:1: rule__NumberFormat__Group__7__Impl : ( ( rule__NumberFormat__Report_patternAssignment_7 ) ) ;
     public final void rule__NumberFormat__Group__7__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:12277:1: ( ( ( rule__NumberFormat__Report_patternAssignment_7 ) ) )
-            // InternalReportDSL.g:12278:1: ( ( rule__NumberFormat__Report_patternAssignment_7 ) )
+            // InternalReportDSL.g:12446:1: ( ( ( rule__NumberFormat__Report_patternAssignment_7 ) ) )
+            // InternalReportDSL.g:12447:1: ( ( rule__NumberFormat__Report_patternAssignment_7 ) )
             {
-            // InternalReportDSL.g:12278:1: ( ( rule__NumberFormat__Report_patternAssignment_7 ) )
-            // InternalReportDSL.g:12279:2: ( rule__NumberFormat__Report_patternAssignment_7 )
+            // InternalReportDSL.g:12447:1: ( ( rule__NumberFormat__Report_patternAssignment_7 ) )
+            // InternalReportDSL.g:12448:2: ( rule__NumberFormat__Report_patternAssignment_7 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getNumberFormatAccess().getReport_patternAssignment_7()); 
             }
-            // InternalReportDSL.g:12280:2: ( rule__NumberFormat__Report_patternAssignment_7 )
-            // InternalReportDSL.g:12280:3: rule__NumberFormat__Report_patternAssignment_7
+            // InternalReportDSL.g:12449:2: ( rule__NumberFormat__Report_patternAssignment_7 )
+            // InternalReportDSL.g:12449:3: rule__NumberFormat__Report_patternAssignment_7
             {
             pushFollow(FOLLOW_2);
             rule__NumberFormat__Report_patternAssignment_7();
@@ -42468,14 +43077,14 @@
 
 
     // $ANTLR start "rule__NumberFormat__Group__8"
-    // InternalReportDSL.g:12288:1: rule__NumberFormat__Group__8 : rule__NumberFormat__Group__8__Impl rule__NumberFormat__Group__9 ;
+    // InternalReportDSL.g:12457:1: rule__NumberFormat__Group__8 : rule__NumberFormat__Group__8__Impl rule__NumberFormat__Group__9 ;
     public final void rule__NumberFormat__Group__8() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:12292:1: ( rule__NumberFormat__Group__8__Impl rule__NumberFormat__Group__9 )
-            // InternalReportDSL.g:12293:2: rule__NumberFormat__Group__8__Impl rule__NumberFormat__Group__9
+            // InternalReportDSL.g:12461:1: ( rule__NumberFormat__Group__8__Impl rule__NumberFormat__Group__9 )
+            // InternalReportDSL.g:12462:2: rule__NumberFormat__Group__8__Impl rule__NumberFormat__Group__9
             {
             pushFollow(FOLLOW_51);
             rule__NumberFormat__Group__8__Impl();
@@ -42506,22 +43115,22 @@
 
 
     // $ANTLR start "rule__NumberFormat__Group__8__Impl"
-    // InternalReportDSL.g:12300:1: rule__NumberFormat__Group__8__Impl : ( 'textalign' ) ;
+    // InternalReportDSL.g:12469:1: rule__NumberFormat__Group__8__Impl : ( 'textalign' ) ;
     public final void rule__NumberFormat__Group__8__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:12304:1: ( ( 'textalign' ) )
-            // InternalReportDSL.g:12305:1: ( 'textalign' )
+            // InternalReportDSL.g:12473:1: ( ( 'textalign' ) )
+            // InternalReportDSL.g:12474:1: ( 'textalign' )
             {
-            // InternalReportDSL.g:12305:1: ( 'textalign' )
-            // InternalReportDSL.g:12306:2: 'textalign'
+            // InternalReportDSL.g:12474:1: ( 'textalign' )
+            // InternalReportDSL.g:12475:2: 'textalign'
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getNumberFormatAccess().getTextalignKeyword_8()); 
             }
-            match(input,157,FOLLOW_2); if (state.failed) return ;
+            match(input,163,FOLLOW_2); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getNumberFormatAccess().getTextalignKeyword_8()); 
             }
@@ -42547,14 +43156,14 @@
 
 
     // $ANTLR start "rule__NumberFormat__Group__9"
-    // InternalReportDSL.g:12315:1: rule__NumberFormat__Group__9 : rule__NumberFormat__Group__9__Impl rule__NumberFormat__Group__10 ;
+    // InternalReportDSL.g:12484:1: rule__NumberFormat__Group__9 : rule__NumberFormat__Group__9__Impl rule__NumberFormat__Group__10 ;
     public final void rule__NumberFormat__Group__9() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:12319:1: ( rule__NumberFormat__Group__9__Impl rule__NumberFormat__Group__10 )
-            // InternalReportDSL.g:12320:2: rule__NumberFormat__Group__9__Impl rule__NumberFormat__Group__10
+            // InternalReportDSL.g:12488:1: ( rule__NumberFormat__Group__9__Impl rule__NumberFormat__Group__10 )
+            // InternalReportDSL.g:12489:2: rule__NumberFormat__Group__9__Impl rule__NumberFormat__Group__10
             {
             pushFollow(FOLLOW_17);
             rule__NumberFormat__Group__9__Impl();
@@ -42585,23 +43194,23 @@
 
 
     // $ANTLR start "rule__NumberFormat__Group__9__Impl"
-    // InternalReportDSL.g:12327:1: rule__NumberFormat__Group__9__Impl : ( ( rule__NumberFormat__TextalignAssignment_9 ) ) ;
+    // InternalReportDSL.g:12496:1: rule__NumberFormat__Group__9__Impl : ( ( rule__NumberFormat__TextalignAssignment_9 ) ) ;
     public final void rule__NumberFormat__Group__9__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:12331:1: ( ( ( rule__NumberFormat__TextalignAssignment_9 ) ) )
-            // InternalReportDSL.g:12332:1: ( ( rule__NumberFormat__TextalignAssignment_9 ) )
+            // InternalReportDSL.g:12500:1: ( ( ( rule__NumberFormat__TextalignAssignment_9 ) ) )
+            // InternalReportDSL.g:12501:1: ( ( rule__NumberFormat__TextalignAssignment_9 ) )
             {
-            // InternalReportDSL.g:12332:1: ( ( rule__NumberFormat__TextalignAssignment_9 ) )
-            // InternalReportDSL.g:12333:2: ( rule__NumberFormat__TextalignAssignment_9 )
+            // InternalReportDSL.g:12501:1: ( ( rule__NumberFormat__TextalignAssignment_9 ) )
+            // InternalReportDSL.g:12502:2: ( rule__NumberFormat__TextalignAssignment_9 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getNumberFormatAccess().getTextalignAssignment_9()); 
             }
-            // InternalReportDSL.g:12334:2: ( rule__NumberFormat__TextalignAssignment_9 )
-            // InternalReportDSL.g:12334:3: rule__NumberFormat__TextalignAssignment_9
+            // InternalReportDSL.g:12503:2: ( rule__NumberFormat__TextalignAssignment_9 )
+            // InternalReportDSL.g:12503:3: rule__NumberFormat__TextalignAssignment_9
             {
             pushFollow(FOLLOW_2);
             rule__NumberFormat__TextalignAssignment_9();
@@ -42636,14 +43245,14 @@
 
 
     // $ANTLR start "rule__NumberFormat__Group__10"
-    // InternalReportDSL.g:12342:1: rule__NumberFormat__Group__10 : rule__NumberFormat__Group__10__Impl ;
+    // InternalReportDSL.g:12511:1: rule__NumberFormat__Group__10 : rule__NumberFormat__Group__10__Impl ;
     public final void rule__NumberFormat__Group__10() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:12346:1: ( rule__NumberFormat__Group__10__Impl )
-            // InternalReportDSL.g:12347:2: rule__NumberFormat__Group__10__Impl
+            // InternalReportDSL.g:12515:1: ( rule__NumberFormat__Group__10__Impl )
+            // InternalReportDSL.g:12516:2: rule__NumberFormat__Group__10__Impl
             {
             pushFollow(FOLLOW_2);
             rule__NumberFormat__Group__10__Impl();
@@ -42669,22 +43278,22 @@
 
 
     // $ANTLR start "rule__NumberFormat__Group__10__Impl"
-    // InternalReportDSL.g:12353:1: rule__NumberFormat__Group__10__Impl : ( '}' ) ;
+    // InternalReportDSL.g:12522:1: rule__NumberFormat__Group__10__Impl : ( '}' ) ;
     public final void rule__NumberFormat__Group__10__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:12357:1: ( ( '}' ) )
-            // InternalReportDSL.g:12358:1: ( '}' )
+            // InternalReportDSL.g:12526:1: ( ( '}' ) )
+            // InternalReportDSL.g:12527:1: ( '}' )
             {
-            // InternalReportDSL.g:12358:1: ( '}' )
-            // InternalReportDSL.g:12359:2: '}'
+            // InternalReportDSL.g:12527:1: ( '}' )
+            // InternalReportDSL.g:12528:2: '}'
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getNumberFormatAccess().getRightCurlyBracketKeyword_10()); 
             }
-            match(input,126,FOLLOW_2); if (state.failed) return ;
+            match(input,132,FOLLOW_2); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getNumberFormatAccess().getRightCurlyBracketKeyword_10()); 
             }
@@ -42710,14 +43319,14 @@
 
 
     // $ANTLR start "rule__CurrencyFormat__Group__0"
-    // InternalReportDSL.g:12369:1: rule__CurrencyFormat__Group__0 : rule__CurrencyFormat__Group__0__Impl rule__CurrencyFormat__Group__1 ;
+    // InternalReportDSL.g:12538:1: rule__CurrencyFormat__Group__0 : rule__CurrencyFormat__Group__0__Impl rule__CurrencyFormat__Group__1 ;
     public final void rule__CurrencyFormat__Group__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:12373:1: ( rule__CurrencyFormat__Group__0__Impl rule__CurrencyFormat__Group__1 )
-            // InternalReportDSL.g:12374:2: rule__CurrencyFormat__Group__0__Impl rule__CurrencyFormat__Group__1
+            // InternalReportDSL.g:12542:1: ( rule__CurrencyFormat__Group__0__Impl rule__CurrencyFormat__Group__1 )
+            // InternalReportDSL.g:12543:2: rule__CurrencyFormat__Group__0__Impl rule__CurrencyFormat__Group__1
             {
             pushFollow(FOLLOW_7);
             rule__CurrencyFormat__Group__0__Impl();
@@ -42748,22 +43357,22 @@
 
 
     // $ANTLR start "rule__CurrencyFormat__Group__0__Impl"
-    // InternalReportDSL.g:12381:1: rule__CurrencyFormat__Group__0__Impl : ( 'currency' ) ;
+    // InternalReportDSL.g:12550:1: rule__CurrencyFormat__Group__0__Impl : ( 'currency' ) ;
     public final void rule__CurrencyFormat__Group__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:12385:1: ( ( 'currency' ) )
-            // InternalReportDSL.g:12386:1: ( 'currency' )
+            // InternalReportDSL.g:12554:1: ( ( 'currency' ) )
+            // InternalReportDSL.g:12555:1: ( 'currency' )
             {
-            // InternalReportDSL.g:12386:1: ( 'currency' )
-            // InternalReportDSL.g:12387:2: 'currency'
+            // InternalReportDSL.g:12555:1: ( 'currency' )
+            // InternalReportDSL.g:12556:2: 'currency'
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getCurrencyFormatAccess().getCurrencyKeyword_0()); 
             }
-            match(input,86,FOLLOW_2); if (state.failed) return ;
+            match(input,89,FOLLOW_2); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getCurrencyFormatAccess().getCurrencyKeyword_0()); 
             }
@@ -42789,14 +43398,14 @@
 
 
     // $ANTLR start "rule__CurrencyFormat__Group__1"
-    // InternalReportDSL.g:12396:1: rule__CurrencyFormat__Group__1 : rule__CurrencyFormat__Group__1__Impl rule__CurrencyFormat__Group__2 ;
+    // InternalReportDSL.g:12565:1: rule__CurrencyFormat__Group__1 : rule__CurrencyFormat__Group__1__Impl rule__CurrencyFormat__Group__2 ;
     public final void rule__CurrencyFormat__Group__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:12400:1: ( rule__CurrencyFormat__Group__1__Impl rule__CurrencyFormat__Group__2 )
-            // InternalReportDSL.g:12401:2: rule__CurrencyFormat__Group__1__Impl rule__CurrencyFormat__Group__2
+            // InternalReportDSL.g:12569:1: ( rule__CurrencyFormat__Group__1__Impl rule__CurrencyFormat__Group__2 )
+            // InternalReportDSL.g:12570:2: rule__CurrencyFormat__Group__1__Impl rule__CurrencyFormat__Group__2
             {
             pushFollow(FOLLOW_8);
             rule__CurrencyFormat__Group__1__Impl();
@@ -42827,23 +43436,23 @@
 
 
     // $ANTLR start "rule__CurrencyFormat__Group__1__Impl"
-    // InternalReportDSL.g:12408:1: rule__CurrencyFormat__Group__1__Impl : ( ( rule__CurrencyFormat__NameAssignment_1 ) ) ;
+    // InternalReportDSL.g:12577:1: rule__CurrencyFormat__Group__1__Impl : ( ( rule__CurrencyFormat__NameAssignment_1 ) ) ;
     public final void rule__CurrencyFormat__Group__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:12412:1: ( ( ( rule__CurrencyFormat__NameAssignment_1 ) ) )
-            // InternalReportDSL.g:12413:1: ( ( rule__CurrencyFormat__NameAssignment_1 ) )
+            // InternalReportDSL.g:12581:1: ( ( ( rule__CurrencyFormat__NameAssignment_1 ) ) )
+            // InternalReportDSL.g:12582:1: ( ( rule__CurrencyFormat__NameAssignment_1 ) )
             {
-            // InternalReportDSL.g:12413:1: ( ( rule__CurrencyFormat__NameAssignment_1 ) )
-            // InternalReportDSL.g:12414:2: ( rule__CurrencyFormat__NameAssignment_1 )
+            // InternalReportDSL.g:12582:1: ( ( rule__CurrencyFormat__NameAssignment_1 ) )
+            // InternalReportDSL.g:12583:2: ( rule__CurrencyFormat__NameAssignment_1 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getCurrencyFormatAccess().getNameAssignment_1()); 
             }
-            // InternalReportDSL.g:12415:2: ( rule__CurrencyFormat__NameAssignment_1 )
-            // InternalReportDSL.g:12415:3: rule__CurrencyFormat__NameAssignment_1
+            // InternalReportDSL.g:12584:2: ( rule__CurrencyFormat__NameAssignment_1 )
+            // InternalReportDSL.g:12584:3: rule__CurrencyFormat__NameAssignment_1
             {
             pushFollow(FOLLOW_2);
             rule__CurrencyFormat__NameAssignment_1();
@@ -42878,16 +43487,16 @@
 
 
     // $ANTLR start "rule__CurrencyFormat__Group__2"
-    // InternalReportDSL.g:12423:1: rule__CurrencyFormat__Group__2 : rule__CurrencyFormat__Group__2__Impl rule__CurrencyFormat__Group__3 ;
+    // InternalReportDSL.g:12592:1: rule__CurrencyFormat__Group__2 : rule__CurrencyFormat__Group__2__Impl rule__CurrencyFormat__Group__3 ;
     public final void rule__CurrencyFormat__Group__2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:12427:1: ( rule__CurrencyFormat__Group__2__Impl rule__CurrencyFormat__Group__3 )
-            // InternalReportDSL.g:12428:2: rule__CurrencyFormat__Group__2__Impl rule__CurrencyFormat__Group__3
+            // InternalReportDSL.g:12596:1: ( rule__CurrencyFormat__Group__2__Impl rule__CurrencyFormat__Group__3 )
+            // InternalReportDSL.g:12597:2: rule__CurrencyFormat__Group__2__Impl rule__CurrencyFormat__Group__3
             {
-            pushFollow(FOLLOW_54);
+            pushFollow(FOLLOW_55);
             rule__CurrencyFormat__Group__2__Impl();
 
             state._fsp--;
@@ -42916,22 +43525,22 @@
 
 
     // $ANTLR start "rule__CurrencyFormat__Group__2__Impl"
-    // InternalReportDSL.g:12435:1: rule__CurrencyFormat__Group__2__Impl : ( '{' ) ;
+    // InternalReportDSL.g:12604:1: rule__CurrencyFormat__Group__2__Impl : ( '{' ) ;
     public final void rule__CurrencyFormat__Group__2__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:12439:1: ( ( '{' ) )
-            // InternalReportDSL.g:12440:1: ( '{' )
+            // InternalReportDSL.g:12608:1: ( ( '{' ) )
+            // InternalReportDSL.g:12609:1: ( '{' )
             {
-            // InternalReportDSL.g:12440:1: ( '{' )
-            // InternalReportDSL.g:12441:2: '{'
+            // InternalReportDSL.g:12609:1: ( '{' )
+            // InternalReportDSL.g:12610:2: '{'
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getCurrencyFormatAccess().getLeftCurlyBracketKeyword_2()); 
             }
-            match(input,125,FOLLOW_2); if (state.failed) return ;
+            match(input,131,FOLLOW_2); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getCurrencyFormatAccess().getLeftCurlyBracketKeyword_2()); 
             }
@@ -42957,14 +43566,14 @@
 
 
     // $ANTLR start "rule__CurrencyFormat__Group__3"
-    // InternalReportDSL.g:12450:1: rule__CurrencyFormat__Group__3 : rule__CurrencyFormat__Group__3__Impl rule__CurrencyFormat__Group__4 ;
+    // InternalReportDSL.g:12619:1: rule__CurrencyFormat__Group__3 : rule__CurrencyFormat__Group__3__Impl rule__CurrencyFormat__Group__4 ;
     public final void rule__CurrencyFormat__Group__3() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:12454:1: ( rule__CurrencyFormat__Group__3__Impl rule__CurrencyFormat__Group__4 )
-            // InternalReportDSL.g:12455:2: rule__CurrencyFormat__Group__3__Impl rule__CurrencyFormat__Group__4
+            // InternalReportDSL.g:12623:1: ( rule__CurrencyFormat__Group__3__Impl rule__CurrencyFormat__Group__4 )
+            // InternalReportDSL.g:12624:2: rule__CurrencyFormat__Group__3__Impl rule__CurrencyFormat__Group__4
             {
             pushFollow(FOLLOW_18);
             rule__CurrencyFormat__Group__3__Impl();
@@ -42995,22 +43604,22 @@
 
 
     // $ANTLR start "rule__CurrencyFormat__Group__3__Impl"
-    // InternalReportDSL.g:12462:1: rule__CurrencyFormat__Group__3__Impl : ( 'ui' ) ;
+    // InternalReportDSL.g:12631:1: rule__CurrencyFormat__Group__3__Impl : ( 'ui' ) ;
     public final void rule__CurrencyFormat__Group__3__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:12466:1: ( ( 'ui' ) )
-            // InternalReportDSL.g:12467:1: ( 'ui' )
+            // InternalReportDSL.g:12635:1: ( ( 'ui' ) )
+            // InternalReportDSL.g:12636:1: ( 'ui' )
             {
-            // InternalReportDSL.g:12467:1: ( 'ui' )
-            // InternalReportDSL.g:12468:2: 'ui'
+            // InternalReportDSL.g:12636:1: ( 'ui' )
+            // InternalReportDSL.g:12637:2: 'ui'
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getCurrencyFormatAccess().getUiKeyword_3()); 
             }
-            match(input,171,FOLLOW_2); if (state.failed) return ;
+            match(input,178,FOLLOW_2); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getCurrencyFormatAccess().getUiKeyword_3()); 
             }
@@ -43036,16 +43645,16 @@
 
 
     // $ANTLR start "rule__CurrencyFormat__Group__4"
-    // InternalReportDSL.g:12477:1: rule__CurrencyFormat__Group__4 : rule__CurrencyFormat__Group__4__Impl rule__CurrencyFormat__Group__5 ;
+    // InternalReportDSL.g:12646:1: rule__CurrencyFormat__Group__4 : rule__CurrencyFormat__Group__4__Impl rule__CurrencyFormat__Group__5 ;
     public final void rule__CurrencyFormat__Group__4() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:12481:1: ( rule__CurrencyFormat__Group__4__Impl rule__CurrencyFormat__Group__5 )
-            // InternalReportDSL.g:12482:2: rule__CurrencyFormat__Group__4__Impl rule__CurrencyFormat__Group__5
+            // InternalReportDSL.g:12650:1: ( rule__CurrencyFormat__Group__4__Impl rule__CurrencyFormat__Group__5 )
+            // InternalReportDSL.g:12651:2: rule__CurrencyFormat__Group__4__Impl rule__CurrencyFormat__Group__5
             {
-            pushFollow(FOLLOW_55);
+            pushFollow(FOLLOW_56);
             rule__CurrencyFormat__Group__4__Impl();
 
             state._fsp--;
@@ -43074,23 +43683,23 @@
 
 
     // $ANTLR start "rule__CurrencyFormat__Group__4__Impl"
-    // InternalReportDSL.g:12489:1: rule__CurrencyFormat__Group__4__Impl : ( ( rule__CurrencyFormat__Ui_patternAssignment_4 ) ) ;
+    // InternalReportDSL.g:12658:1: rule__CurrencyFormat__Group__4__Impl : ( ( rule__CurrencyFormat__Ui_patternAssignment_4 ) ) ;
     public final void rule__CurrencyFormat__Group__4__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:12493:1: ( ( ( rule__CurrencyFormat__Ui_patternAssignment_4 ) ) )
-            // InternalReportDSL.g:12494:1: ( ( rule__CurrencyFormat__Ui_patternAssignment_4 ) )
+            // InternalReportDSL.g:12662:1: ( ( ( rule__CurrencyFormat__Ui_patternAssignment_4 ) ) )
+            // InternalReportDSL.g:12663:1: ( ( rule__CurrencyFormat__Ui_patternAssignment_4 ) )
             {
-            // InternalReportDSL.g:12494:1: ( ( rule__CurrencyFormat__Ui_patternAssignment_4 ) )
-            // InternalReportDSL.g:12495:2: ( rule__CurrencyFormat__Ui_patternAssignment_4 )
+            // InternalReportDSL.g:12663:1: ( ( rule__CurrencyFormat__Ui_patternAssignment_4 ) )
+            // InternalReportDSL.g:12664:2: ( rule__CurrencyFormat__Ui_patternAssignment_4 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getCurrencyFormatAccess().getUi_patternAssignment_4()); 
             }
-            // InternalReportDSL.g:12496:2: ( rule__CurrencyFormat__Ui_patternAssignment_4 )
-            // InternalReportDSL.g:12496:3: rule__CurrencyFormat__Ui_patternAssignment_4
+            // InternalReportDSL.g:12665:2: ( rule__CurrencyFormat__Ui_patternAssignment_4 )
+            // InternalReportDSL.g:12665:3: rule__CurrencyFormat__Ui_patternAssignment_4
             {
             pushFollow(FOLLOW_2);
             rule__CurrencyFormat__Ui_patternAssignment_4();
@@ -43125,16 +43734,16 @@
 
 
     // $ANTLR start "rule__CurrencyFormat__Group__5"
-    // InternalReportDSL.g:12504:1: rule__CurrencyFormat__Group__5 : rule__CurrencyFormat__Group__5__Impl rule__CurrencyFormat__Group__6 ;
+    // InternalReportDSL.g:12673:1: rule__CurrencyFormat__Group__5 : rule__CurrencyFormat__Group__5__Impl rule__CurrencyFormat__Group__6 ;
     public final void rule__CurrencyFormat__Group__5() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:12508:1: ( rule__CurrencyFormat__Group__5__Impl rule__CurrencyFormat__Group__6 )
-            // InternalReportDSL.g:12509:2: rule__CurrencyFormat__Group__5__Impl rule__CurrencyFormat__Group__6
+            // InternalReportDSL.g:12677:1: ( rule__CurrencyFormat__Group__5__Impl rule__CurrencyFormat__Group__6 )
+            // InternalReportDSL.g:12678:2: rule__CurrencyFormat__Group__5__Impl rule__CurrencyFormat__Group__6
             {
-            pushFollow(FOLLOW_58);
+            pushFollow(FOLLOW_59);
             rule__CurrencyFormat__Group__5__Impl();
 
             state._fsp--;
@@ -43163,22 +43772,22 @@
 
 
     // $ANTLR start "rule__CurrencyFormat__Group__5__Impl"
-    // InternalReportDSL.g:12516:1: rule__CurrencyFormat__Group__5__Impl : ( 'report' ) ;
+    // InternalReportDSL.g:12685:1: rule__CurrencyFormat__Group__5__Impl : ( 'report' ) ;
     public final void rule__CurrencyFormat__Group__5__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:12520:1: ( ( 'report' ) )
-            // InternalReportDSL.g:12521:1: ( 'report' )
+            // InternalReportDSL.g:12689:1: ( ( 'report' ) )
+            // InternalReportDSL.g:12690:1: ( 'report' )
             {
-            // InternalReportDSL.g:12521:1: ( 'report' )
-            // InternalReportDSL.g:12522:2: 'report'
+            // InternalReportDSL.g:12690:1: ( 'report' )
+            // InternalReportDSL.g:12691:2: 'report'
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getCurrencyFormatAccess().getReportKeyword_5()); 
             }
-            match(input,172,FOLLOW_2); if (state.failed) return ;
+            match(input,179,FOLLOW_2); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getCurrencyFormatAccess().getReportKeyword_5()); 
             }
@@ -43204,14 +43813,14 @@
 
 
     // $ANTLR start "rule__CurrencyFormat__Group__6"
-    // InternalReportDSL.g:12531:1: rule__CurrencyFormat__Group__6 : rule__CurrencyFormat__Group__6__Impl rule__CurrencyFormat__Group__7 ;
+    // InternalReportDSL.g:12700:1: rule__CurrencyFormat__Group__6 : rule__CurrencyFormat__Group__6__Impl rule__CurrencyFormat__Group__7 ;
     public final void rule__CurrencyFormat__Group__6() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:12535:1: ( rule__CurrencyFormat__Group__6__Impl rule__CurrencyFormat__Group__7 )
-            // InternalReportDSL.g:12536:2: rule__CurrencyFormat__Group__6__Impl rule__CurrencyFormat__Group__7
+            // InternalReportDSL.g:12704:1: ( rule__CurrencyFormat__Group__6__Impl rule__CurrencyFormat__Group__7 )
+            // InternalReportDSL.g:12705:2: rule__CurrencyFormat__Group__6__Impl rule__CurrencyFormat__Group__7
             {
             pushFollow(FOLLOW_18);
             rule__CurrencyFormat__Group__6__Impl();
@@ -43242,23 +43851,23 @@
 
 
     // $ANTLR start "rule__CurrencyFormat__Group__6__Impl"
-    // InternalReportDSL.g:12543:1: rule__CurrencyFormat__Group__6__Impl : ( ( rule__CurrencyFormat__Report_categoryAssignment_6 ) ) ;
+    // InternalReportDSL.g:12712:1: rule__CurrencyFormat__Group__6__Impl : ( ( rule__CurrencyFormat__Report_categoryAssignment_6 ) ) ;
     public final void rule__CurrencyFormat__Group__6__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:12547:1: ( ( ( rule__CurrencyFormat__Report_categoryAssignment_6 ) ) )
-            // InternalReportDSL.g:12548:1: ( ( rule__CurrencyFormat__Report_categoryAssignment_6 ) )
+            // InternalReportDSL.g:12716:1: ( ( ( rule__CurrencyFormat__Report_categoryAssignment_6 ) ) )
+            // InternalReportDSL.g:12717:1: ( ( rule__CurrencyFormat__Report_categoryAssignment_6 ) )
             {
-            // InternalReportDSL.g:12548:1: ( ( rule__CurrencyFormat__Report_categoryAssignment_6 ) )
-            // InternalReportDSL.g:12549:2: ( rule__CurrencyFormat__Report_categoryAssignment_6 )
+            // InternalReportDSL.g:12717:1: ( ( rule__CurrencyFormat__Report_categoryAssignment_6 ) )
+            // InternalReportDSL.g:12718:2: ( rule__CurrencyFormat__Report_categoryAssignment_6 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getCurrencyFormatAccess().getReport_categoryAssignment_6()); 
             }
-            // InternalReportDSL.g:12550:2: ( rule__CurrencyFormat__Report_categoryAssignment_6 )
-            // InternalReportDSL.g:12550:3: rule__CurrencyFormat__Report_categoryAssignment_6
+            // InternalReportDSL.g:12719:2: ( rule__CurrencyFormat__Report_categoryAssignment_6 )
+            // InternalReportDSL.g:12719:3: rule__CurrencyFormat__Report_categoryAssignment_6
             {
             pushFollow(FOLLOW_2);
             rule__CurrencyFormat__Report_categoryAssignment_6();
@@ -43293,16 +43902,16 @@
 
 
     // $ANTLR start "rule__CurrencyFormat__Group__7"
-    // InternalReportDSL.g:12558:1: rule__CurrencyFormat__Group__7 : rule__CurrencyFormat__Group__7__Impl rule__CurrencyFormat__Group__8 ;
+    // InternalReportDSL.g:12727:1: rule__CurrencyFormat__Group__7 : rule__CurrencyFormat__Group__7__Impl rule__CurrencyFormat__Group__8 ;
     public final void rule__CurrencyFormat__Group__7() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:12562:1: ( rule__CurrencyFormat__Group__7__Impl rule__CurrencyFormat__Group__8 )
-            // InternalReportDSL.g:12563:2: rule__CurrencyFormat__Group__7__Impl rule__CurrencyFormat__Group__8
+            // InternalReportDSL.g:12731:1: ( rule__CurrencyFormat__Group__7__Impl rule__CurrencyFormat__Group__8 )
+            // InternalReportDSL.g:12732:2: rule__CurrencyFormat__Group__7__Impl rule__CurrencyFormat__Group__8
             {
-            pushFollow(FOLLOW_56);
+            pushFollow(FOLLOW_57);
             rule__CurrencyFormat__Group__7__Impl();
 
             state._fsp--;
@@ -43331,23 +43940,23 @@
 
 
     // $ANTLR start "rule__CurrencyFormat__Group__7__Impl"
-    // InternalReportDSL.g:12570:1: rule__CurrencyFormat__Group__7__Impl : ( ( rule__CurrencyFormat__Report_patternAssignment_7 ) ) ;
+    // InternalReportDSL.g:12739:1: rule__CurrencyFormat__Group__7__Impl : ( ( rule__CurrencyFormat__Report_patternAssignment_7 ) ) ;
     public final void rule__CurrencyFormat__Group__7__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:12574:1: ( ( ( rule__CurrencyFormat__Report_patternAssignment_7 ) ) )
-            // InternalReportDSL.g:12575:1: ( ( rule__CurrencyFormat__Report_patternAssignment_7 ) )
+            // InternalReportDSL.g:12743:1: ( ( ( rule__CurrencyFormat__Report_patternAssignment_7 ) ) )
+            // InternalReportDSL.g:12744:1: ( ( rule__CurrencyFormat__Report_patternAssignment_7 ) )
             {
-            // InternalReportDSL.g:12575:1: ( ( rule__CurrencyFormat__Report_patternAssignment_7 ) )
-            // InternalReportDSL.g:12576:2: ( rule__CurrencyFormat__Report_patternAssignment_7 )
+            // InternalReportDSL.g:12744:1: ( ( rule__CurrencyFormat__Report_patternAssignment_7 ) )
+            // InternalReportDSL.g:12745:2: ( rule__CurrencyFormat__Report_patternAssignment_7 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getCurrencyFormatAccess().getReport_patternAssignment_7()); 
             }
-            // InternalReportDSL.g:12577:2: ( rule__CurrencyFormat__Report_patternAssignment_7 )
-            // InternalReportDSL.g:12577:3: rule__CurrencyFormat__Report_patternAssignment_7
+            // InternalReportDSL.g:12746:2: ( rule__CurrencyFormat__Report_patternAssignment_7 )
+            // InternalReportDSL.g:12746:3: rule__CurrencyFormat__Report_patternAssignment_7
             {
             pushFollow(FOLLOW_2);
             rule__CurrencyFormat__Report_patternAssignment_7();
@@ -43382,14 +43991,14 @@
 
 
     // $ANTLR start "rule__CurrencyFormat__Group__8"
-    // InternalReportDSL.g:12585:1: rule__CurrencyFormat__Group__8 : rule__CurrencyFormat__Group__8__Impl rule__CurrencyFormat__Group__9 ;
+    // InternalReportDSL.g:12754:1: rule__CurrencyFormat__Group__8 : rule__CurrencyFormat__Group__8__Impl rule__CurrencyFormat__Group__9 ;
     public final void rule__CurrencyFormat__Group__8() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:12589:1: ( rule__CurrencyFormat__Group__8__Impl rule__CurrencyFormat__Group__9 )
-            // InternalReportDSL.g:12590:2: rule__CurrencyFormat__Group__8__Impl rule__CurrencyFormat__Group__9
+            // InternalReportDSL.g:12758:1: ( rule__CurrencyFormat__Group__8__Impl rule__CurrencyFormat__Group__9 )
+            // InternalReportDSL.g:12759:2: rule__CurrencyFormat__Group__8__Impl rule__CurrencyFormat__Group__9
             {
             pushFollow(FOLLOW_51);
             rule__CurrencyFormat__Group__8__Impl();
@@ -43420,22 +44029,22 @@
 
 
     // $ANTLR start "rule__CurrencyFormat__Group__8__Impl"
-    // InternalReportDSL.g:12597:1: rule__CurrencyFormat__Group__8__Impl : ( 'textalign' ) ;
+    // InternalReportDSL.g:12766:1: rule__CurrencyFormat__Group__8__Impl : ( 'textalign' ) ;
     public final void rule__CurrencyFormat__Group__8__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:12601:1: ( ( 'textalign' ) )
-            // InternalReportDSL.g:12602:1: ( 'textalign' )
+            // InternalReportDSL.g:12770:1: ( ( 'textalign' ) )
+            // InternalReportDSL.g:12771:1: ( 'textalign' )
             {
-            // InternalReportDSL.g:12602:1: ( 'textalign' )
-            // InternalReportDSL.g:12603:2: 'textalign'
+            // InternalReportDSL.g:12771:1: ( 'textalign' )
+            // InternalReportDSL.g:12772:2: 'textalign'
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getCurrencyFormatAccess().getTextalignKeyword_8()); 
             }
-            match(input,157,FOLLOW_2); if (state.failed) return ;
+            match(input,163,FOLLOW_2); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getCurrencyFormatAccess().getTextalignKeyword_8()); 
             }
@@ -43461,14 +44070,14 @@
 
 
     // $ANTLR start "rule__CurrencyFormat__Group__9"
-    // InternalReportDSL.g:12612:1: rule__CurrencyFormat__Group__9 : rule__CurrencyFormat__Group__9__Impl rule__CurrencyFormat__Group__10 ;
+    // InternalReportDSL.g:12781:1: rule__CurrencyFormat__Group__9 : rule__CurrencyFormat__Group__9__Impl rule__CurrencyFormat__Group__10 ;
     public final void rule__CurrencyFormat__Group__9() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:12616:1: ( rule__CurrencyFormat__Group__9__Impl rule__CurrencyFormat__Group__10 )
-            // InternalReportDSL.g:12617:2: rule__CurrencyFormat__Group__9__Impl rule__CurrencyFormat__Group__10
+            // InternalReportDSL.g:12785:1: ( rule__CurrencyFormat__Group__9__Impl rule__CurrencyFormat__Group__10 )
+            // InternalReportDSL.g:12786:2: rule__CurrencyFormat__Group__9__Impl rule__CurrencyFormat__Group__10
             {
             pushFollow(FOLLOW_17);
             rule__CurrencyFormat__Group__9__Impl();
@@ -43499,23 +44108,23 @@
 
 
     // $ANTLR start "rule__CurrencyFormat__Group__9__Impl"
-    // InternalReportDSL.g:12624:1: rule__CurrencyFormat__Group__9__Impl : ( ( rule__CurrencyFormat__TextalignAssignment_9 ) ) ;
+    // InternalReportDSL.g:12793:1: rule__CurrencyFormat__Group__9__Impl : ( ( rule__CurrencyFormat__TextalignAssignment_9 ) ) ;
     public final void rule__CurrencyFormat__Group__9__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:12628:1: ( ( ( rule__CurrencyFormat__TextalignAssignment_9 ) ) )
-            // InternalReportDSL.g:12629:1: ( ( rule__CurrencyFormat__TextalignAssignment_9 ) )
+            // InternalReportDSL.g:12797:1: ( ( ( rule__CurrencyFormat__TextalignAssignment_9 ) ) )
+            // InternalReportDSL.g:12798:1: ( ( rule__CurrencyFormat__TextalignAssignment_9 ) )
             {
-            // InternalReportDSL.g:12629:1: ( ( rule__CurrencyFormat__TextalignAssignment_9 ) )
-            // InternalReportDSL.g:12630:2: ( rule__CurrencyFormat__TextalignAssignment_9 )
+            // InternalReportDSL.g:12798:1: ( ( rule__CurrencyFormat__TextalignAssignment_9 ) )
+            // InternalReportDSL.g:12799:2: ( rule__CurrencyFormat__TextalignAssignment_9 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getCurrencyFormatAccess().getTextalignAssignment_9()); 
             }
-            // InternalReportDSL.g:12631:2: ( rule__CurrencyFormat__TextalignAssignment_9 )
-            // InternalReportDSL.g:12631:3: rule__CurrencyFormat__TextalignAssignment_9
+            // InternalReportDSL.g:12800:2: ( rule__CurrencyFormat__TextalignAssignment_9 )
+            // InternalReportDSL.g:12800:3: rule__CurrencyFormat__TextalignAssignment_9
             {
             pushFollow(FOLLOW_2);
             rule__CurrencyFormat__TextalignAssignment_9();
@@ -43550,14 +44159,14 @@
 
 
     // $ANTLR start "rule__CurrencyFormat__Group__10"
-    // InternalReportDSL.g:12639:1: rule__CurrencyFormat__Group__10 : rule__CurrencyFormat__Group__10__Impl ;
+    // InternalReportDSL.g:12808:1: rule__CurrencyFormat__Group__10 : rule__CurrencyFormat__Group__10__Impl ;
     public final void rule__CurrencyFormat__Group__10() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:12643:1: ( rule__CurrencyFormat__Group__10__Impl )
-            // InternalReportDSL.g:12644:2: rule__CurrencyFormat__Group__10__Impl
+            // InternalReportDSL.g:12812:1: ( rule__CurrencyFormat__Group__10__Impl )
+            // InternalReportDSL.g:12813:2: rule__CurrencyFormat__Group__10__Impl
             {
             pushFollow(FOLLOW_2);
             rule__CurrencyFormat__Group__10__Impl();
@@ -43583,22 +44192,22 @@
 
 
     // $ANTLR start "rule__CurrencyFormat__Group__10__Impl"
-    // InternalReportDSL.g:12650:1: rule__CurrencyFormat__Group__10__Impl : ( '}' ) ;
+    // InternalReportDSL.g:12819:1: rule__CurrencyFormat__Group__10__Impl : ( '}' ) ;
     public final void rule__CurrencyFormat__Group__10__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:12654:1: ( ( '}' ) )
-            // InternalReportDSL.g:12655:1: ( '}' )
+            // InternalReportDSL.g:12823:1: ( ( '}' ) )
+            // InternalReportDSL.g:12824:1: ( '}' )
             {
-            // InternalReportDSL.g:12655:1: ( '}' )
-            // InternalReportDSL.g:12656:2: '}'
+            // InternalReportDSL.g:12824:1: ( '}' )
+            // InternalReportDSL.g:12825:2: '}'
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getCurrencyFormatAccess().getRightCurlyBracketKeyword_10()); 
             }
-            match(input,126,FOLLOW_2); if (state.failed) return ;
+            match(input,132,FOLLOW_2); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getCurrencyFormatAccess().getRightCurlyBracketKeyword_10()); 
             }
@@ -43624,14 +44233,14 @@
 
 
     // $ANTLR start "rule__DateFormat__Group__0"
-    // InternalReportDSL.g:12666:1: rule__DateFormat__Group__0 : rule__DateFormat__Group__0__Impl rule__DateFormat__Group__1 ;
+    // InternalReportDSL.g:12835:1: rule__DateFormat__Group__0 : rule__DateFormat__Group__0__Impl rule__DateFormat__Group__1 ;
     public final void rule__DateFormat__Group__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:12670:1: ( rule__DateFormat__Group__0__Impl rule__DateFormat__Group__1 )
-            // InternalReportDSL.g:12671:2: rule__DateFormat__Group__0__Impl rule__DateFormat__Group__1
+            // InternalReportDSL.g:12839:1: ( rule__DateFormat__Group__0__Impl rule__DateFormat__Group__1 )
+            // InternalReportDSL.g:12840:2: rule__DateFormat__Group__0__Impl rule__DateFormat__Group__1
             {
             pushFollow(FOLLOW_7);
             rule__DateFormat__Group__0__Impl();
@@ -43662,22 +44271,22 @@
 
 
     // $ANTLR start "rule__DateFormat__Group__0__Impl"
-    // InternalReportDSL.g:12678:1: rule__DateFormat__Group__0__Impl : ( 'date' ) ;
+    // InternalReportDSL.g:12847:1: rule__DateFormat__Group__0__Impl : ( 'date' ) ;
     public final void rule__DateFormat__Group__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:12682:1: ( ( 'date' ) )
-            // InternalReportDSL.g:12683:1: ( 'date' )
+            // InternalReportDSL.g:12851:1: ( ( 'date' ) )
+            // InternalReportDSL.g:12852:1: ( 'date' )
             {
-            // InternalReportDSL.g:12683:1: ( 'date' )
-            // InternalReportDSL.g:12684:2: 'date'
+            // InternalReportDSL.g:12852:1: ( 'date' )
+            // InternalReportDSL.g:12853:2: 'date'
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getDateFormatAccess().getDateKeyword_0()); 
             }
-            match(input,174,FOLLOW_2); if (state.failed) return ;
+            match(input,181,FOLLOW_2); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getDateFormatAccess().getDateKeyword_0()); 
             }
@@ -43703,14 +44312,14 @@
 
 
     // $ANTLR start "rule__DateFormat__Group__1"
-    // InternalReportDSL.g:12693:1: rule__DateFormat__Group__1 : rule__DateFormat__Group__1__Impl rule__DateFormat__Group__2 ;
+    // InternalReportDSL.g:12862:1: rule__DateFormat__Group__1 : rule__DateFormat__Group__1__Impl rule__DateFormat__Group__2 ;
     public final void rule__DateFormat__Group__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:12697:1: ( rule__DateFormat__Group__1__Impl rule__DateFormat__Group__2 )
-            // InternalReportDSL.g:12698:2: rule__DateFormat__Group__1__Impl rule__DateFormat__Group__2
+            // InternalReportDSL.g:12866:1: ( rule__DateFormat__Group__1__Impl rule__DateFormat__Group__2 )
+            // InternalReportDSL.g:12867:2: rule__DateFormat__Group__1__Impl rule__DateFormat__Group__2
             {
             pushFollow(FOLLOW_8);
             rule__DateFormat__Group__1__Impl();
@@ -43741,23 +44350,23 @@
 
 
     // $ANTLR start "rule__DateFormat__Group__1__Impl"
-    // InternalReportDSL.g:12705:1: rule__DateFormat__Group__1__Impl : ( ( rule__DateFormat__NameAssignment_1 ) ) ;
+    // InternalReportDSL.g:12874:1: rule__DateFormat__Group__1__Impl : ( ( rule__DateFormat__NameAssignment_1 ) ) ;
     public final void rule__DateFormat__Group__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:12709:1: ( ( ( rule__DateFormat__NameAssignment_1 ) ) )
-            // InternalReportDSL.g:12710:1: ( ( rule__DateFormat__NameAssignment_1 ) )
+            // InternalReportDSL.g:12878:1: ( ( ( rule__DateFormat__NameAssignment_1 ) ) )
+            // InternalReportDSL.g:12879:1: ( ( rule__DateFormat__NameAssignment_1 ) )
             {
-            // InternalReportDSL.g:12710:1: ( ( rule__DateFormat__NameAssignment_1 ) )
-            // InternalReportDSL.g:12711:2: ( rule__DateFormat__NameAssignment_1 )
+            // InternalReportDSL.g:12879:1: ( ( rule__DateFormat__NameAssignment_1 ) )
+            // InternalReportDSL.g:12880:2: ( rule__DateFormat__NameAssignment_1 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getDateFormatAccess().getNameAssignment_1()); 
             }
-            // InternalReportDSL.g:12712:2: ( rule__DateFormat__NameAssignment_1 )
-            // InternalReportDSL.g:12712:3: rule__DateFormat__NameAssignment_1
+            // InternalReportDSL.g:12881:2: ( rule__DateFormat__NameAssignment_1 )
+            // InternalReportDSL.g:12881:3: rule__DateFormat__NameAssignment_1
             {
             pushFollow(FOLLOW_2);
             rule__DateFormat__NameAssignment_1();
@@ -43792,16 +44401,16 @@
 
 
     // $ANTLR start "rule__DateFormat__Group__2"
-    // InternalReportDSL.g:12720:1: rule__DateFormat__Group__2 : rule__DateFormat__Group__2__Impl rule__DateFormat__Group__3 ;
+    // InternalReportDSL.g:12889:1: rule__DateFormat__Group__2 : rule__DateFormat__Group__2__Impl rule__DateFormat__Group__3 ;
     public final void rule__DateFormat__Group__2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:12724:1: ( rule__DateFormat__Group__2__Impl rule__DateFormat__Group__3 )
-            // InternalReportDSL.g:12725:2: rule__DateFormat__Group__2__Impl rule__DateFormat__Group__3
+            // InternalReportDSL.g:12893:1: ( rule__DateFormat__Group__2__Impl rule__DateFormat__Group__3 )
+            // InternalReportDSL.g:12894:2: rule__DateFormat__Group__2__Impl rule__DateFormat__Group__3
             {
-            pushFollow(FOLLOW_54);
+            pushFollow(FOLLOW_55);
             rule__DateFormat__Group__2__Impl();
 
             state._fsp--;
@@ -43830,22 +44439,22 @@
 
 
     // $ANTLR start "rule__DateFormat__Group__2__Impl"
-    // InternalReportDSL.g:12732:1: rule__DateFormat__Group__2__Impl : ( '{' ) ;
+    // InternalReportDSL.g:12901:1: rule__DateFormat__Group__2__Impl : ( '{' ) ;
     public final void rule__DateFormat__Group__2__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:12736:1: ( ( '{' ) )
-            // InternalReportDSL.g:12737:1: ( '{' )
+            // InternalReportDSL.g:12905:1: ( ( '{' ) )
+            // InternalReportDSL.g:12906:1: ( '{' )
             {
-            // InternalReportDSL.g:12737:1: ( '{' )
-            // InternalReportDSL.g:12738:2: '{'
+            // InternalReportDSL.g:12906:1: ( '{' )
+            // InternalReportDSL.g:12907:2: '{'
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getDateFormatAccess().getLeftCurlyBracketKeyword_2()); 
             }
-            match(input,125,FOLLOW_2); if (state.failed) return ;
+            match(input,131,FOLLOW_2); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getDateFormatAccess().getLeftCurlyBracketKeyword_2()); 
             }
@@ -43871,14 +44480,14 @@
 
 
     // $ANTLR start "rule__DateFormat__Group__3"
-    // InternalReportDSL.g:12747:1: rule__DateFormat__Group__3 : rule__DateFormat__Group__3__Impl rule__DateFormat__Group__4 ;
+    // InternalReportDSL.g:12916:1: rule__DateFormat__Group__3 : rule__DateFormat__Group__3__Impl rule__DateFormat__Group__4 ;
     public final void rule__DateFormat__Group__3() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:12751:1: ( rule__DateFormat__Group__3__Impl rule__DateFormat__Group__4 )
-            // InternalReportDSL.g:12752:2: rule__DateFormat__Group__3__Impl rule__DateFormat__Group__4
+            // InternalReportDSL.g:12920:1: ( rule__DateFormat__Group__3__Impl rule__DateFormat__Group__4 )
+            // InternalReportDSL.g:12921:2: rule__DateFormat__Group__3__Impl rule__DateFormat__Group__4
             {
             pushFollow(FOLLOW_18);
             rule__DateFormat__Group__3__Impl();
@@ -43909,22 +44518,22 @@
 
 
     // $ANTLR start "rule__DateFormat__Group__3__Impl"
-    // InternalReportDSL.g:12759:1: rule__DateFormat__Group__3__Impl : ( 'ui' ) ;
+    // InternalReportDSL.g:12928:1: rule__DateFormat__Group__3__Impl : ( 'ui' ) ;
     public final void rule__DateFormat__Group__3__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:12763:1: ( ( 'ui' ) )
-            // InternalReportDSL.g:12764:1: ( 'ui' )
+            // InternalReportDSL.g:12932:1: ( ( 'ui' ) )
+            // InternalReportDSL.g:12933:1: ( 'ui' )
             {
-            // InternalReportDSL.g:12764:1: ( 'ui' )
-            // InternalReportDSL.g:12765:2: 'ui'
+            // InternalReportDSL.g:12933:1: ( 'ui' )
+            // InternalReportDSL.g:12934:2: 'ui'
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getDateFormatAccess().getUiKeyword_3()); 
             }
-            match(input,171,FOLLOW_2); if (state.failed) return ;
+            match(input,178,FOLLOW_2); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getDateFormatAccess().getUiKeyword_3()); 
             }
@@ -43950,16 +44559,16 @@
 
 
     // $ANTLR start "rule__DateFormat__Group__4"
-    // InternalReportDSL.g:12774:1: rule__DateFormat__Group__4 : rule__DateFormat__Group__4__Impl rule__DateFormat__Group__5 ;
+    // InternalReportDSL.g:12943:1: rule__DateFormat__Group__4 : rule__DateFormat__Group__4__Impl rule__DateFormat__Group__5 ;
     public final void rule__DateFormat__Group__4() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:12778:1: ( rule__DateFormat__Group__4__Impl rule__DateFormat__Group__5 )
-            // InternalReportDSL.g:12779:2: rule__DateFormat__Group__4__Impl rule__DateFormat__Group__5
+            // InternalReportDSL.g:12947:1: ( rule__DateFormat__Group__4__Impl rule__DateFormat__Group__5 )
+            // InternalReportDSL.g:12948:2: rule__DateFormat__Group__4__Impl rule__DateFormat__Group__5
             {
-            pushFollow(FOLLOW_55);
+            pushFollow(FOLLOW_56);
             rule__DateFormat__Group__4__Impl();
 
             state._fsp--;
@@ -43988,23 +44597,23 @@
 
 
     // $ANTLR start "rule__DateFormat__Group__4__Impl"
-    // InternalReportDSL.g:12786:1: rule__DateFormat__Group__4__Impl : ( ( rule__DateFormat__Ui_patternAssignment_4 ) ) ;
+    // InternalReportDSL.g:12955:1: rule__DateFormat__Group__4__Impl : ( ( rule__DateFormat__Ui_patternAssignment_4 ) ) ;
     public final void rule__DateFormat__Group__4__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:12790:1: ( ( ( rule__DateFormat__Ui_patternAssignment_4 ) ) )
-            // InternalReportDSL.g:12791:1: ( ( rule__DateFormat__Ui_patternAssignment_4 ) )
+            // InternalReportDSL.g:12959:1: ( ( ( rule__DateFormat__Ui_patternAssignment_4 ) ) )
+            // InternalReportDSL.g:12960:1: ( ( rule__DateFormat__Ui_patternAssignment_4 ) )
             {
-            // InternalReportDSL.g:12791:1: ( ( rule__DateFormat__Ui_patternAssignment_4 ) )
-            // InternalReportDSL.g:12792:2: ( rule__DateFormat__Ui_patternAssignment_4 )
+            // InternalReportDSL.g:12960:1: ( ( rule__DateFormat__Ui_patternAssignment_4 ) )
+            // InternalReportDSL.g:12961:2: ( rule__DateFormat__Ui_patternAssignment_4 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getDateFormatAccess().getUi_patternAssignment_4()); 
             }
-            // InternalReportDSL.g:12793:2: ( rule__DateFormat__Ui_patternAssignment_4 )
-            // InternalReportDSL.g:12793:3: rule__DateFormat__Ui_patternAssignment_4
+            // InternalReportDSL.g:12962:2: ( rule__DateFormat__Ui_patternAssignment_4 )
+            // InternalReportDSL.g:12962:3: rule__DateFormat__Ui_patternAssignment_4
             {
             pushFollow(FOLLOW_2);
             rule__DateFormat__Ui_patternAssignment_4();
@@ -44039,16 +44648,16 @@
 
 
     // $ANTLR start "rule__DateFormat__Group__5"
-    // InternalReportDSL.g:12801:1: rule__DateFormat__Group__5 : rule__DateFormat__Group__5__Impl rule__DateFormat__Group__6 ;
+    // InternalReportDSL.g:12970:1: rule__DateFormat__Group__5 : rule__DateFormat__Group__5__Impl rule__DateFormat__Group__6 ;
     public final void rule__DateFormat__Group__5() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:12805:1: ( rule__DateFormat__Group__5__Impl rule__DateFormat__Group__6 )
-            // InternalReportDSL.g:12806:2: rule__DateFormat__Group__5__Impl rule__DateFormat__Group__6
+            // InternalReportDSL.g:12974:1: ( rule__DateFormat__Group__5__Impl rule__DateFormat__Group__6 )
+            // InternalReportDSL.g:12975:2: rule__DateFormat__Group__5__Impl rule__DateFormat__Group__6
             {
-            pushFollow(FOLLOW_59);
+            pushFollow(FOLLOW_60);
             rule__DateFormat__Group__5__Impl();
 
             state._fsp--;
@@ -44077,22 +44686,22 @@
 
 
     // $ANTLR start "rule__DateFormat__Group__5__Impl"
-    // InternalReportDSL.g:12813:1: rule__DateFormat__Group__5__Impl : ( 'report' ) ;
+    // InternalReportDSL.g:12982:1: rule__DateFormat__Group__5__Impl : ( 'report' ) ;
     public final void rule__DateFormat__Group__5__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:12817:1: ( ( 'report' ) )
-            // InternalReportDSL.g:12818:1: ( 'report' )
+            // InternalReportDSL.g:12986:1: ( ( 'report' ) )
+            // InternalReportDSL.g:12987:1: ( 'report' )
             {
-            // InternalReportDSL.g:12818:1: ( 'report' )
-            // InternalReportDSL.g:12819:2: 'report'
+            // InternalReportDSL.g:12987:1: ( 'report' )
+            // InternalReportDSL.g:12988:2: 'report'
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getDateFormatAccess().getReportKeyword_5()); 
             }
-            match(input,172,FOLLOW_2); if (state.failed) return ;
+            match(input,179,FOLLOW_2); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getDateFormatAccess().getReportKeyword_5()); 
             }
@@ -44118,14 +44727,14 @@
 
 
     // $ANTLR start "rule__DateFormat__Group__6"
-    // InternalReportDSL.g:12828:1: rule__DateFormat__Group__6 : rule__DateFormat__Group__6__Impl rule__DateFormat__Group__7 ;
+    // InternalReportDSL.g:12997:1: rule__DateFormat__Group__6 : rule__DateFormat__Group__6__Impl rule__DateFormat__Group__7 ;
     public final void rule__DateFormat__Group__6() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:12832:1: ( rule__DateFormat__Group__6__Impl rule__DateFormat__Group__7 )
-            // InternalReportDSL.g:12833:2: rule__DateFormat__Group__6__Impl rule__DateFormat__Group__7
+            // InternalReportDSL.g:13001:1: ( rule__DateFormat__Group__6__Impl rule__DateFormat__Group__7 )
+            // InternalReportDSL.g:13002:2: rule__DateFormat__Group__6__Impl rule__DateFormat__Group__7
             {
             pushFollow(FOLLOW_18);
             rule__DateFormat__Group__6__Impl();
@@ -44156,23 +44765,23 @@
 
 
     // $ANTLR start "rule__DateFormat__Group__6__Impl"
-    // InternalReportDSL.g:12840:1: rule__DateFormat__Group__6__Impl : ( ( rule__DateFormat__Report_categoryAssignment_6 ) ) ;
+    // InternalReportDSL.g:13009:1: rule__DateFormat__Group__6__Impl : ( ( rule__DateFormat__Report_categoryAssignment_6 ) ) ;
     public final void rule__DateFormat__Group__6__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:12844:1: ( ( ( rule__DateFormat__Report_categoryAssignment_6 ) ) )
-            // InternalReportDSL.g:12845:1: ( ( rule__DateFormat__Report_categoryAssignment_6 ) )
+            // InternalReportDSL.g:13013:1: ( ( ( rule__DateFormat__Report_categoryAssignment_6 ) ) )
+            // InternalReportDSL.g:13014:1: ( ( rule__DateFormat__Report_categoryAssignment_6 ) )
             {
-            // InternalReportDSL.g:12845:1: ( ( rule__DateFormat__Report_categoryAssignment_6 ) )
-            // InternalReportDSL.g:12846:2: ( rule__DateFormat__Report_categoryAssignment_6 )
+            // InternalReportDSL.g:13014:1: ( ( rule__DateFormat__Report_categoryAssignment_6 ) )
+            // InternalReportDSL.g:13015:2: ( rule__DateFormat__Report_categoryAssignment_6 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getDateFormatAccess().getReport_categoryAssignment_6()); 
             }
-            // InternalReportDSL.g:12847:2: ( rule__DateFormat__Report_categoryAssignment_6 )
-            // InternalReportDSL.g:12847:3: rule__DateFormat__Report_categoryAssignment_6
+            // InternalReportDSL.g:13016:2: ( rule__DateFormat__Report_categoryAssignment_6 )
+            // InternalReportDSL.g:13016:3: rule__DateFormat__Report_categoryAssignment_6
             {
             pushFollow(FOLLOW_2);
             rule__DateFormat__Report_categoryAssignment_6();
@@ -44207,16 +44816,16 @@
 
 
     // $ANTLR start "rule__DateFormat__Group__7"
-    // InternalReportDSL.g:12855:1: rule__DateFormat__Group__7 : rule__DateFormat__Group__7__Impl rule__DateFormat__Group__8 ;
+    // InternalReportDSL.g:13024:1: rule__DateFormat__Group__7 : rule__DateFormat__Group__7__Impl rule__DateFormat__Group__8 ;
     public final void rule__DateFormat__Group__7() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:12859:1: ( rule__DateFormat__Group__7__Impl rule__DateFormat__Group__8 )
-            // InternalReportDSL.g:12860:2: rule__DateFormat__Group__7__Impl rule__DateFormat__Group__8
+            // InternalReportDSL.g:13028:1: ( rule__DateFormat__Group__7__Impl rule__DateFormat__Group__8 )
+            // InternalReportDSL.g:13029:2: rule__DateFormat__Group__7__Impl rule__DateFormat__Group__8
             {
-            pushFollow(FOLLOW_56);
+            pushFollow(FOLLOW_57);
             rule__DateFormat__Group__7__Impl();
 
             state._fsp--;
@@ -44245,23 +44854,23 @@
 
 
     // $ANTLR start "rule__DateFormat__Group__7__Impl"
-    // InternalReportDSL.g:12867:1: rule__DateFormat__Group__7__Impl : ( ( rule__DateFormat__Report_patternAssignment_7 ) ) ;
+    // InternalReportDSL.g:13036:1: rule__DateFormat__Group__7__Impl : ( ( rule__DateFormat__Report_patternAssignment_7 ) ) ;
     public final void rule__DateFormat__Group__7__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:12871:1: ( ( ( rule__DateFormat__Report_patternAssignment_7 ) ) )
-            // InternalReportDSL.g:12872:1: ( ( rule__DateFormat__Report_patternAssignment_7 ) )
+            // InternalReportDSL.g:13040:1: ( ( ( rule__DateFormat__Report_patternAssignment_7 ) ) )
+            // InternalReportDSL.g:13041:1: ( ( rule__DateFormat__Report_patternAssignment_7 ) )
             {
-            // InternalReportDSL.g:12872:1: ( ( rule__DateFormat__Report_patternAssignment_7 ) )
-            // InternalReportDSL.g:12873:2: ( rule__DateFormat__Report_patternAssignment_7 )
+            // InternalReportDSL.g:13041:1: ( ( rule__DateFormat__Report_patternAssignment_7 ) )
+            // InternalReportDSL.g:13042:2: ( rule__DateFormat__Report_patternAssignment_7 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getDateFormatAccess().getReport_patternAssignment_7()); 
             }
-            // InternalReportDSL.g:12874:2: ( rule__DateFormat__Report_patternAssignment_7 )
-            // InternalReportDSL.g:12874:3: rule__DateFormat__Report_patternAssignment_7
+            // InternalReportDSL.g:13043:2: ( rule__DateFormat__Report_patternAssignment_7 )
+            // InternalReportDSL.g:13043:3: rule__DateFormat__Report_patternAssignment_7
             {
             pushFollow(FOLLOW_2);
             rule__DateFormat__Report_patternAssignment_7();
@@ -44296,14 +44905,14 @@
 
 
     // $ANTLR start "rule__DateFormat__Group__8"
-    // InternalReportDSL.g:12882:1: rule__DateFormat__Group__8 : rule__DateFormat__Group__8__Impl rule__DateFormat__Group__9 ;
+    // InternalReportDSL.g:13051:1: rule__DateFormat__Group__8 : rule__DateFormat__Group__8__Impl rule__DateFormat__Group__9 ;
     public final void rule__DateFormat__Group__8() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:12886:1: ( rule__DateFormat__Group__8__Impl rule__DateFormat__Group__9 )
-            // InternalReportDSL.g:12887:2: rule__DateFormat__Group__8__Impl rule__DateFormat__Group__9
+            // InternalReportDSL.g:13055:1: ( rule__DateFormat__Group__8__Impl rule__DateFormat__Group__9 )
+            // InternalReportDSL.g:13056:2: rule__DateFormat__Group__8__Impl rule__DateFormat__Group__9
             {
             pushFollow(FOLLOW_51);
             rule__DateFormat__Group__8__Impl();
@@ -44334,22 +44943,22 @@
 
 
     // $ANTLR start "rule__DateFormat__Group__8__Impl"
-    // InternalReportDSL.g:12894:1: rule__DateFormat__Group__8__Impl : ( 'textalign' ) ;
+    // InternalReportDSL.g:13063:1: rule__DateFormat__Group__8__Impl : ( 'textalign' ) ;
     public final void rule__DateFormat__Group__8__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:12898:1: ( ( 'textalign' ) )
-            // InternalReportDSL.g:12899:1: ( 'textalign' )
+            // InternalReportDSL.g:13067:1: ( ( 'textalign' ) )
+            // InternalReportDSL.g:13068:1: ( 'textalign' )
             {
-            // InternalReportDSL.g:12899:1: ( 'textalign' )
-            // InternalReportDSL.g:12900:2: 'textalign'
+            // InternalReportDSL.g:13068:1: ( 'textalign' )
+            // InternalReportDSL.g:13069:2: 'textalign'
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getDateFormatAccess().getTextalignKeyword_8()); 
             }
-            match(input,157,FOLLOW_2); if (state.failed) return ;
+            match(input,163,FOLLOW_2); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getDateFormatAccess().getTextalignKeyword_8()); 
             }
@@ -44375,14 +44984,14 @@
 
 
     // $ANTLR start "rule__DateFormat__Group__9"
-    // InternalReportDSL.g:12909:1: rule__DateFormat__Group__9 : rule__DateFormat__Group__9__Impl rule__DateFormat__Group__10 ;
+    // InternalReportDSL.g:13078:1: rule__DateFormat__Group__9 : rule__DateFormat__Group__9__Impl rule__DateFormat__Group__10 ;
     public final void rule__DateFormat__Group__9() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:12913:1: ( rule__DateFormat__Group__9__Impl rule__DateFormat__Group__10 )
-            // InternalReportDSL.g:12914:2: rule__DateFormat__Group__9__Impl rule__DateFormat__Group__10
+            // InternalReportDSL.g:13082:1: ( rule__DateFormat__Group__9__Impl rule__DateFormat__Group__10 )
+            // InternalReportDSL.g:13083:2: rule__DateFormat__Group__9__Impl rule__DateFormat__Group__10
             {
             pushFollow(FOLLOW_17);
             rule__DateFormat__Group__9__Impl();
@@ -44413,23 +45022,23 @@
 
 
     // $ANTLR start "rule__DateFormat__Group__9__Impl"
-    // InternalReportDSL.g:12921:1: rule__DateFormat__Group__9__Impl : ( ( rule__DateFormat__TextalignAssignment_9 ) ) ;
+    // InternalReportDSL.g:13090:1: rule__DateFormat__Group__9__Impl : ( ( rule__DateFormat__TextalignAssignment_9 ) ) ;
     public final void rule__DateFormat__Group__9__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:12925:1: ( ( ( rule__DateFormat__TextalignAssignment_9 ) ) )
-            // InternalReportDSL.g:12926:1: ( ( rule__DateFormat__TextalignAssignment_9 ) )
+            // InternalReportDSL.g:13094:1: ( ( ( rule__DateFormat__TextalignAssignment_9 ) ) )
+            // InternalReportDSL.g:13095:1: ( ( rule__DateFormat__TextalignAssignment_9 ) )
             {
-            // InternalReportDSL.g:12926:1: ( ( rule__DateFormat__TextalignAssignment_9 ) )
-            // InternalReportDSL.g:12927:2: ( rule__DateFormat__TextalignAssignment_9 )
+            // InternalReportDSL.g:13095:1: ( ( rule__DateFormat__TextalignAssignment_9 ) )
+            // InternalReportDSL.g:13096:2: ( rule__DateFormat__TextalignAssignment_9 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getDateFormatAccess().getTextalignAssignment_9()); 
             }
-            // InternalReportDSL.g:12928:2: ( rule__DateFormat__TextalignAssignment_9 )
-            // InternalReportDSL.g:12928:3: rule__DateFormat__TextalignAssignment_9
+            // InternalReportDSL.g:13097:2: ( rule__DateFormat__TextalignAssignment_9 )
+            // InternalReportDSL.g:13097:3: rule__DateFormat__TextalignAssignment_9
             {
             pushFollow(FOLLOW_2);
             rule__DateFormat__TextalignAssignment_9();
@@ -44464,14 +45073,14 @@
 
 
     // $ANTLR start "rule__DateFormat__Group__10"
-    // InternalReportDSL.g:12936:1: rule__DateFormat__Group__10 : rule__DateFormat__Group__10__Impl ;
+    // InternalReportDSL.g:13105:1: rule__DateFormat__Group__10 : rule__DateFormat__Group__10__Impl ;
     public final void rule__DateFormat__Group__10() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:12940:1: ( rule__DateFormat__Group__10__Impl )
-            // InternalReportDSL.g:12941:2: rule__DateFormat__Group__10__Impl
+            // InternalReportDSL.g:13109:1: ( rule__DateFormat__Group__10__Impl )
+            // InternalReportDSL.g:13110:2: rule__DateFormat__Group__10__Impl
             {
             pushFollow(FOLLOW_2);
             rule__DateFormat__Group__10__Impl();
@@ -44497,22 +45106,22 @@
 
 
     // $ANTLR start "rule__DateFormat__Group__10__Impl"
-    // InternalReportDSL.g:12947:1: rule__DateFormat__Group__10__Impl : ( '}' ) ;
+    // InternalReportDSL.g:13116:1: rule__DateFormat__Group__10__Impl : ( '}' ) ;
     public final void rule__DateFormat__Group__10__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:12951:1: ( ( '}' ) )
-            // InternalReportDSL.g:12952:1: ( '}' )
+            // InternalReportDSL.g:13120:1: ( ( '}' ) )
+            // InternalReportDSL.g:13121:1: ( '}' )
             {
-            // InternalReportDSL.g:12952:1: ( '}' )
-            // InternalReportDSL.g:12953:2: '}'
+            // InternalReportDSL.g:13121:1: ( '}' )
+            // InternalReportDSL.g:13122:2: '}'
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getDateFormatAccess().getRightCurlyBracketKeyword_10()); 
             }
-            match(input,126,FOLLOW_2); if (state.failed) return ;
+            match(input,132,FOLLOW_2); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getDateFormatAccess().getRightCurlyBracketKeyword_10()); 
             }
@@ -44538,14 +45147,14 @@
 
 
     // $ANTLR start "rule__DateTimeFormat__Group__0"
-    // InternalReportDSL.g:12963:1: rule__DateTimeFormat__Group__0 : rule__DateTimeFormat__Group__0__Impl rule__DateTimeFormat__Group__1 ;
+    // InternalReportDSL.g:13132:1: rule__DateTimeFormat__Group__0 : rule__DateTimeFormat__Group__0__Impl rule__DateTimeFormat__Group__1 ;
     public final void rule__DateTimeFormat__Group__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:12967:1: ( rule__DateTimeFormat__Group__0__Impl rule__DateTimeFormat__Group__1 )
-            // InternalReportDSL.g:12968:2: rule__DateTimeFormat__Group__0__Impl rule__DateTimeFormat__Group__1
+            // InternalReportDSL.g:13136:1: ( rule__DateTimeFormat__Group__0__Impl rule__DateTimeFormat__Group__1 )
+            // InternalReportDSL.g:13137:2: rule__DateTimeFormat__Group__0__Impl rule__DateTimeFormat__Group__1
             {
             pushFollow(FOLLOW_7);
             rule__DateTimeFormat__Group__0__Impl();
@@ -44576,22 +45185,22 @@
 
 
     // $ANTLR start "rule__DateTimeFormat__Group__0__Impl"
-    // InternalReportDSL.g:12975:1: rule__DateTimeFormat__Group__0__Impl : ( 'date+time' ) ;
+    // InternalReportDSL.g:13144:1: rule__DateTimeFormat__Group__0__Impl : ( 'date+time' ) ;
     public final void rule__DateTimeFormat__Group__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:12979:1: ( ( 'date+time' ) )
-            // InternalReportDSL.g:12980:1: ( 'date+time' )
+            // InternalReportDSL.g:13148:1: ( ( 'date+time' ) )
+            // InternalReportDSL.g:13149:1: ( 'date+time' )
             {
-            // InternalReportDSL.g:12980:1: ( 'date+time' )
-            // InternalReportDSL.g:12981:2: 'date+time'
+            // InternalReportDSL.g:13149:1: ( 'date+time' )
+            // InternalReportDSL.g:13150:2: 'date+time'
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getDateTimeFormatAccess().getDateTimeKeyword_0()); 
             }
-            match(input,175,FOLLOW_2); if (state.failed) return ;
+            match(input,182,FOLLOW_2); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getDateTimeFormatAccess().getDateTimeKeyword_0()); 
             }
@@ -44617,14 +45226,14 @@
 
 
     // $ANTLR start "rule__DateTimeFormat__Group__1"
-    // InternalReportDSL.g:12990:1: rule__DateTimeFormat__Group__1 : rule__DateTimeFormat__Group__1__Impl rule__DateTimeFormat__Group__2 ;
+    // InternalReportDSL.g:13159:1: rule__DateTimeFormat__Group__1 : rule__DateTimeFormat__Group__1__Impl rule__DateTimeFormat__Group__2 ;
     public final void rule__DateTimeFormat__Group__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:12994:1: ( rule__DateTimeFormat__Group__1__Impl rule__DateTimeFormat__Group__2 )
-            // InternalReportDSL.g:12995:2: rule__DateTimeFormat__Group__1__Impl rule__DateTimeFormat__Group__2
+            // InternalReportDSL.g:13163:1: ( rule__DateTimeFormat__Group__1__Impl rule__DateTimeFormat__Group__2 )
+            // InternalReportDSL.g:13164:2: rule__DateTimeFormat__Group__1__Impl rule__DateTimeFormat__Group__2
             {
             pushFollow(FOLLOW_8);
             rule__DateTimeFormat__Group__1__Impl();
@@ -44655,23 +45264,23 @@
 
 
     // $ANTLR start "rule__DateTimeFormat__Group__1__Impl"
-    // InternalReportDSL.g:13002:1: rule__DateTimeFormat__Group__1__Impl : ( ( rule__DateTimeFormat__NameAssignment_1 ) ) ;
+    // InternalReportDSL.g:13171:1: rule__DateTimeFormat__Group__1__Impl : ( ( rule__DateTimeFormat__NameAssignment_1 ) ) ;
     public final void rule__DateTimeFormat__Group__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:13006:1: ( ( ( rule__DateTimeFormat__NameAssignment_1 ) ) )
-            // InternalReportDSL.g:13007:1: ( ( rule__DateTimeFormat__NameAssignment_1 ) )
+            // InternalReportDSL.g:13175:1: ( ( ( rule__DateTimeFormat__NameAssignment_1 ) ) )
+            // InternalReportDSL.g:13176:1: ( ( rule__DateTimeFormat__NameAssignment_1 ) )
             {
-            // InternalReportDSL.g:13007:1: ( ( rule__DateTimeFormat__NameAssignment_1 ) )
-            // InternalReportDSL.g:13008:2: ( rule__DateTimeFormat__NameAssignment_1 )
+            // InternalReportDSL.g:13176:1: ( ( rule__DateTimeFormat__NameAssignment_1 ) )
+            // InternalReportDSL.g:13177:2: ( rule__DateTimeFormat__NameAssignment_1 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getDateTimeFormatAccess().getNameAssignment_1()); 
             }
-            // InternalReportDSL.g:13009:2: ( rule__DateTimeFormat__NameAssignment_1 )
-            // InternalReportDSL.g:13009:3: rule__DateTimeFormat__NameAssignment_1
+            // InternalReportDSL.g:13178:2: ( rule__DateTimeFormat__NameAssignment_1 )
+            // InternalReportDSL.g:13178:3: rule__DateTimeFormat__NameAssignment_1
             {
             pushFollow(FOLLOW_2);
             rule__DateTimeFormat__NameAssignment_1();
@@ -44706,16 +45315,16 @@
 
 
     // $ANTLR start "rule__DateTimeFormat__Group__2"
-    // InternalReportDSL.g:13017:1: rule__DateTimeFormat__Group__2 : rule__DateTimeFormat__Group__2__Impl rule__DateTimeFormat__Group__3 ;
+    // InternalReportDSL.g:13186:1: rule__DateTimeFormat__Group__2 : rule__DateTimeFormat__Group__2__Impl rule__DateTimeFormat__Group__3 ;
     public final void rule__DateTimeFormat__Group__2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:13021:1: ( rule__DateTimeFormat__Group__2__Impl rule__DateTimeFormat__Group__3 )
-            // InternalReportDSL.g:13022:2: rule__DateTimeFormat__Group__2__Impl rule__DateTimeFormat__Group__3
+            // InternalReportDSL.g:13190:1: ( rule__DateTimeFormat__Group__2__Impl rule__DateTimeFormat__Group__3 )
+            // InternalReportDSL.g:13191:2: rule__DateTimeFormat__Group__2__Impl rule__DateTimeFormat__Group__3
             {
-            pushFollow(FOLLOW_54);
+            pushFollow(FOLLOW_55);
             rule__DateTimeFormat__Group__2__Impl();
 
             state._fsp--;
@@ -44744,22 +45353,22 @@
 
 
     // $ANTLR start "rule__DateTimeFormat__Group__2__Impl"
-    // InternalReportDSL.g:13029:1: rule__DateTimeFormat__Group__2__Impl : ( '{' ) ;
+    // InternalReportDSL.g:13198:1: rule__DateTimeFormat__Group__2__Impl : ( '{' ) ;
     public final void rule__DateTimeFormat__Group__2__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:13033:1: ( ( '{' ) )
-            // InternalReportDSL.g:13034:1: ( '{' )
+            // InternalReportDSL.g:13202:1: ( ( '{' ) )
+            // InternalReportDSL.g:13203:1: ( '{' )
             {
-            // InternalReportDSL.g:13034:1: ( '{' )
-            // InternalReportDSL.g:13035:2: '{'
+            // InternalReportDSL.g:13203:1: ( '{' )
+            // InternalReportDSL.g:13204:2: '{'
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getDateTimeFormatAccess().getLeftCurlyBracketKeyword_2()); 
             }
-            match(input,125,FOLLOW_2); if (state.failed) return ;
+            match(input,131,FOLLOW_2); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getDateTimeFormatAccess().getLeftCurlyBracketKeyword_2()); 
             }
@@ -44785,14 +45394,14 @@
 
 
     // $ANTLR start "rule__DateTimeFormat__Group__3"
-    // InternalReportDSL.g:13044:1: rule__DateTimeFormat__Group__3 : rule__DateTimeFormat__Group__3__Impl rule__DateTimeFormat__Group__4 ;
+    // InternalReportDSL.g:13213:1: rule__DateTimeFormat__Group__3 : rule__DateTimeFormat__Group__3__Impl rule__DateTimeFormat__Group__4 ;
     public final void rule__DateTimeFormat__Group__3() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:13048:1: ( rule__DateTimeFormat__Group__3__Impl rule__DateTimeFormat__Group__4 )
-            // InternalReportDSL.g:13049:2: rule__DateTimeFormat__Group__3__Impl rule__DateTimeFormat__Group__4
+            // InternalReportDSL.g:13217:1: ( rule__DateTimeFormat__Group__3__Impl rule__DateTimeFormat__Group__4 )
+            // InternalReportDSL.g:13218:2: rule__DateTimeFormat__Group__3__Impl rule__DateTimeFormat__Group__4
             {
             pushFollow(FOLLOW_18);
             rule__DateTimeFormat__Group__3__Impl();
@@ -44823,22 +45432,22 @@
 
 
     // $ANTLR start "rule__DateTimeFormat__Group__3__Impl"
-    // InternalReportDSL.g:13056:1: rule__DateTimeFormat__Group__3__Impl : ( 'ui' ) ;
+    // InternalReportDSL.g:13225:1: rule__DateTimeFormat__Group__3__Impl : ( 'ui' ) ;
     public final void rule__DateTimeFormat__Group__3__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:13060:1: ( ( 'ui' ) )
-            // InternalReportDSL.g:13061:1: ( 'ui' )
+            // InternalReportDSL.g:13229:1: ( ( 'ui' ) )
+            // InternalReportDSL.g:13230:1: ( 'ui' )
             {
-            // InternalReportDSL.g:13061:1: ( 'ui' )
-            // InternalReportDSL.g:13062:2: 'ui'
+            // InternalReportDSL.g:13230:1: ( 'ui' )
+            // InternalReportDSL.g:13231:2: 'ui'
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getDateTimeFormatAccess().getUiKeyword_3()); 
             }
-            match(input,171,FOLLOW_2); if (state.failed) return ;
+            match(input,178,FOLLOW_2); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getDateTimeFormatAccess().getUiKeyword_3()); 
             }
@@ -44864,16 +45473,16 @@
 
 
     // $ANTLR start "rule__DateTimeFormat__Group__4"
-    // InternalReportDSL.g:13071:1: rule__DateTimeFormat__Group__4 : rule__DateTimeFormat__Group__4__Impl rule__DateTimeFormat__Group__5 ;
+    // InternalReportDSL.g:13240:1: rule__DateTimeFormat__Group__4 : rule__DateTimeFormat__Group__4__Impl rule__DateTimeFormat__Group__5 ;
     public final void rule__DateTimeFormat__Group__4() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:13075:1: ( rule__DateTimeFormat__Group__4__Impl rule__DateTimeFormat__Group__5 )
-            // InternalReportDSL.g:13076:2: rule__DateTimeFormat__Group__4__Impl rule__DateTimeFormat__Group__5
+            // InternalReportDSL.g:13244:1: ( rule__DateTimeFormat__Group__4__Impl rule__DateTimeFormat__Group__5 )
+            // InternalReportDSL.g:13245:2: rule__DateTimeFormat__Group__4__Impl rule__DateTimeFormat__Group__5
             {
-            pushFollow(FOLLOW_55);
+            pushFollow(FOLLOW_56);
             rule__DateTimeFormat__Group__4__Impl();
 
             state._fsp--;
@@ -44902,23 +45511,23 @@
 
 
     // $ANTLR start "rule__DateTimeFormat__Group__4__Impl"
-    // InternalReportDSL.g:13083:1: rule__DateTimeFormat__Group__4__Impl : ( ( rule__DateTimeFormat__Ui_patternAssignment_4 ) ) ;
+    // InternalReportDSL.g:13252:1: rule__DateTimeFormat__Group__4__Impl : ( ( rule__DateTimeFormat__Ui_patternAssignment_4 ) ) ;
     public final void rule__DateTimeFormat__Group__4__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:13087:1: ( ( ( rule__DateTimeFormat__Ui_patternAssignment_4 ) ) )
-            // InternalReportDSL.g:13088:1: ( ( rule__DateTimeFormat__Ui_patternAssignment_4 ) )
+            // InternalReportDSL.g:13256:1: ( ( ( rule__DateTimeFormat__Ui_patternAssignment_4 ) ) )
+            // InternalReportDSL.g:13257:1: ( ( rule__DateTimeFormat__Ui_patternAssignment_4 ) )
             {
-            // InternalReportDSL.g:13088:1: ( ( rule__DateTimeFormat__Ui_patternAssignment_4 ) )
-            // InternalReportDSL.g:13089:2: ( rule__DateTimeFormat__Ui_patternAssignment_4 )
+            // InternalReportDSL.g:13257:1: ( ( rule__DateTimeFormat__Ui_patternAssignment_4 ) )
+            // InternalReportDSL.g:13258:2: ( rule__DateTimeFormat__Ui_patternAssignment_4 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getDateTimeFormatAccess().getUi_patternAssignment_4()); 
             }
-            // InternalReportDSL.g:13090:2: ( rule__DateTimeFormat__Ui_patternAssignment_4 )
-            // InternalReportDSL.g:13090:3: rule__DateTimeFormat__Ui_patternAssignment_4
+            // InternalReportDSL.g:13259:2: ( rule__DateTimeFormat__Ui_patternAssignment_4 )
+            // InternalReportDSL.g:13259:3: rule__DateTimeFormat__Ui_patternAssignment_4
             {
             pushFollow(FOLLOW_2);
             rule__DateTimeFormat__Ui_patternAssignment_4();
@@ -44953,16 +45562,16 @@
 
 
     // $ANTLR start "rule__DateTimeFormat__Group__5"
-    // InternalReportDSL.g:13098:1: rule__DateTimeFormat__Group__5 : rule__DateTimeFormat__Group__5__Impl rule__DateTimeFormat__Group__6 ;
+    // InternalReportDSL.g:13267:1: rule__DateTimeFormat__Group__5 : rule__DateTimeFormat__Group__5__Impl rule__DateTimeFormat__Group__6 ;
     public final void rule__DateTimeFormat__Group__5() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:13102:1: ( rule__DateTimeFormat__Group__5__Impl rule__DateTimeFormat__Group__6 )
-            // InternalReportDSL.g:13103:2: rule__DateTimeFormat__Group__5__Impl rule__DateTimeFormat__Group__6
+            // InternalReportDSL.g:13271:1: ( rule__DateTimeFormat__Group__5__Impl rule__DateTimeFormat__Group__6 )
+            // InternalReportDSL.g:13272:2: rule__DateTimeFormat__Group__5__Impl rule__DateTimeFormat__Group__6
             {
-            pushFollow(FOLLOW_59);
+            pushFollow(FOLLOW_60);
             rule__DateTimeFormat__Group__5__Impl();
 
             state._fsp--;
@@ -44991,22 +45600,22 @@
 
 
     // $ANTLR start "rule__DateTimeFormat__Group__5__Impl"
-    // InternalReportDSL.g:13110:1: rule__DateTimeFormat__Group__5__Impl : ( 'report' ) ;
+    // InternalReportDSL.g:13279:1: rule__DateTimeFormat__Group__5__Impl : ( 'report' ) ;
     public final void rule__DateTimeFormat__Group__5__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:13114:1: ( ( 'report' ) )
-            // InternalReportDSL.g:13115:1: ( 'report' )
+            // InternalReportDSL.g:13283:1: ( ( 'report' ) )
+            // InternalReportDSL.g:13284:1: ( 'report' )
             {
-            // InternalReportDSL.g:13115:1: ( 'report' )
-            // InternalReportDSL.g:13116:2: 'report'
+            // InternalReportDSL.g:13284:1: ( 'report' )
+            // InternalReportDSL.g:13285:2: 'report'
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getDateTimeFormatAccess().getReportKeyword_5()); 
             }
-            match(input,172,FOLLOW_2); if (state.failed) return ;
+            match(input,179,FOLLOW_2); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getDateTimeFormatAccess().getReportKeyword_5()); 
             }
@@ -45032,14 +45641,14 @@
 
 
     // $ANTLR start "rule__DateTimeFormat__Group__6"
-    // InternalReportDSL.g:13125:1: rule__DateTimeFormat__Group__6 : rule__DateTimeFormat__Group__6__Impl rule__DateTimeFormat__Group__7 ;
+    // InternalReportDSL.g:13294:1: rule__DateTimeFormat__Group__6 : rule__DateTimeFormat__Group__6__Impl rule__DateTimeFormat__Group__7 ;
     public final void rule__DateTimeFormat__Group__6() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:13129:1: ( rule__DateTimeFormat__Group__6__Impl rule__DateTimeFormat__Group__7 )
-            // InternalReportDSL.g:13130:2: rule__DateTimeFormat__Group__6__Impl rule__DateTimeFormat__Group__7
+            // InternalReportDSL.g:13298:1: ( rule__DateTimeFormat__Group__6__Impl rule__DateTimeFormat__Group__7 )
+            // InternalReportDSL.g:13299:2: rule__DateTimeFormat__Group__6__Impl rule__DateTimeFormat__Group__7
             {
             pushFollow(FOLLOW_18);
             rule__DateTimeFormat__Group__6__Impl();
@@ -45070,23 +45679,23 @@
 
 
     // $ANTLR start "rule__DateTimeFormat__Group__6__Impl"
-    // InternalReportDSL.g:13137:1: rule__DateTimeFormat__Group__6__Impl : ( ( rule__DateTimeFormat__Report_categoryAssignment_6 ) ) ;
+    // InternalReportDSL.g:13306:1: rule__DateTimeFormat__Group__6__Impl : ( ( rule__DateTimeFormat__Report_categoryAssignment_6 ) ) ;
     public final void rule__DateTimeFormat__Group__6__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:13141:1: ( ( ( rule__DateTimeFormat__Report_categoryAssignment_6 ) ) )
-            // InternalReportDSL.g:13142:1: ( ( rule__DateTimeFormat__Report_categoryAssignment_6 ) )
+            // InternalReportDSL.g:13310:1: ( ( ( rule__DateTimeFormat__Report_categoryAssignment_6 ) ) )
+            // InternalReportDSL.g:13311:1: ( ( rule__DateTimeFormat__Report_categoryAssignment_6 ) )
             {
-            // InternalReportDSL.g:13142:1: ( ( rule__DateTimeFormat__Report_categoryAssignment_6 ) )
-            // InternalReportDSL.g:13143:2: ( rule__DateTimeFormat__Report_categoryAssignment_6 )
+            // InternalReportDSL.g:13311:1: ( ( rule__DateTimeFormat__Report_categoryAssignment_6 ) )
+            // InternalReportDSL.g:13312:2: ( rule__DateTimeFormat__Report_categoryAssignment_6 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getDateTimeFormatAccess().getReport_categoryAssignment_6()); 
             }
-            // InternalReportDSL.g:13144:2: ( rule__DateTimeFormat__Report_categoryAssignment_6 )
-            // InternalReportDSL.g:13144:3: rule__DateTimeFormat__Report_categoryAssignment_6
+            // InternalReportDSL.g:13313:2: ( rule__DateTimeFormat__Report_categoryAssignment_6 )
+            // InternalReportDSL.g:13313:3: rule__DateTimeFormat__Report_categoryAssignment_6
             {
             pushFollow(FOLLOW_2);
             rule__DateTimeFormat__Report_categoryAssignment_6();
@@ -45121,16 +45730,16 @@
 
 
     // $ANTLR start "rule__DateTimeFormat__Group__7"
-    // InternalReportDSL.g:13152:1: rule__DateTimeFormat__Group__7 : rule__DateTimeFormat__Group__7__Impl rule__DateTimeFormat__Group__8 ;
+    // InternalReportDSL.g:13321:1: rule__DateTimeFormat__Group__7 : rule__DateTimeFormat__Group__7__Impl rule__DateTimeFormat__Group__8 ;
     public final void rule__DateTimeFormat__Group__7() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:13156:1: ( rule__DateTimeFormat__Group__7__Impl rule__DateTimeFormat__Group__8 )
-            // InternalReportDSL.g:13157:2: rule__DateTimeFormat__Group__7__Impl rule__DateTimeFormat__Group__8
+            // InternalReportDSL.g:13325:1: ( rule__DateTimeFormat__Group__7__Impl rule__DateTimeFormat__Group__8 )
+            // InternalReportDSL.g:13326:2: rule__DateTimeFormat__Group__7__Impl rule__DateTimeFormat__Group__8
             {
-            pushFollow(FOLLOW_56);
+            pushFollow(FOLLOW_57);
             rule__DateTimeFormat__Group__7__Impl();
 
             state._fsp--;
@@ -45159,23 +45768,23 @@
 
 
     // $ANTLR start "rule__DateTimeFormat__Group__7__Impl"
-    // InternalReportDSL.g:13164:1: rule__DateTimeFormat__Group__7__Impl : ( ( rule__DateTimeFormat__Report_patternAssignment_7 ) ) ;
+    // InternalReportDSL.g:13333:1: rule__DateTimeFormat__Group__7__Impl : ( ( rule__DateTimeFormat__Report_patternAssignment_7 ) ) ;
     public final void rule__DateTimeFormat__Group__7__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:13168:1: ( ( ( rule__DateTimeFormat__Report_patternAssignment_7 ) ) )
-            // InternalReportDSL.g:13169:1: ( ( rule__DateTimeFormat__Report_patternAssignment_7 ) )
+            // InternalReportDSL.g:13337:1: ( ( ( rule__DateTimeFormat__Report_patternAssignment_7 ) ) )
+            // InternalReportDSL.g:13338:1: ( ( rule__DateTimeFormat__Report_patternAssignment_7 ) )
             {
-            // InternalReportDSL.g:13169:1: ( ( rule__DateTimeFormat__Report_patternAssignment_7 ) )
-            // InternalReportDSL.g:13170:2: ( rule__DateTimeFormat__Report_patternAssignment_7 )
+            // InternalReportDSL.g:13338:1: ( ( rule__DateTimeFormat__Report_patternAssignment_7 ) )
+            // InternalReportDSL.g:13339:2: ( rule__DateTimeFormat__Report_patternAssignment_7 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getDateTimeFormatAccess().getReport_patternAssignment_7()); 
             }
-            // InternalReportDSL.g:13171:2: ( rule__DateTimeFormat__Report_patternAssignment_7 )
-            // InternalReportDSL.g:13171:3: rule__DateTimeFormat__Report_patternAssignment_7
+            // InternalReportDSL.g:13340:2: ( rule__DateTimeFormat__Report_patternAssignment_7 )
+            // InternalReportDSL.g:13340:3: rule__DateTimeFormat__Report_patternAssignment_7
             {
             pushFollow(FOLLOW_2);
             rule__DateTimeFormat__Report_patternAssignment_7();
@@ -45210,14 +45819,14 @@
 
 
     // $ANTLR start "rule__DateTimeFormat__Group__8"
-    // InternalReportDSL.g:13179:1: rule__DateTimeFormat__Group__8 : rule__DateTimeFormat__Group__8__Impl rule__DateTimeFormat__Group__9 ;
+    // InternalReportDSL.g:13348:1: rule__DateTimeFormat__Group__8 : rule__DateTimeFormat__Group__8__Impl rule__DateTimeFormat__Group__9 ;
     public final void rule__DateTimeFormat__Group__8() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:13183:1: ( rule__DateTimeFormat__Group__8__Impl rule__DateTimeFormat__Group__9 )
-            // InternalReportDSL.g:13184:2: rule__DateTimeFormat__Group__8__Impl rule__DateTimeFormat__Group__9
+            // InternalReportDSL.g:13352:1: ( rule__DateTimeFormat__Group__8__Impl rule__DateTimeFormat__Group__9 )
+            // InternalReportDSL.g:13353:2: rule__DateTimeFormat__Group__8__Impl rule__DateTimeFormat__Group__9
             {
             pushFollow(FOLLOW_51);
             rule__DateTimeFormat__Group__8__Impl();
@@ -45248,22 +45857,22 @@
 
 
     // $ANTLR start "rule__DateTimeFormat__Group__8__Impl"
-    // InternalReportDSL.g:13191:1: rule__DateTimeFormat__Group__8__Impl : ( 'textalign' ) ;
+    // InternalReportDSL.g:13360:1: rule__DateTimeFormat__Group__8__Impl : ( 'textalign' ) ;
     public final void rule__DateTimeFormat__Group__8__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:13195:1: ( ( 'textalign' ) )
-            // InternalReportDSL.g:13196:1: ( 'textalign' )
+            // InternalReportDSL.g:13364:1: ( ( 'textalign' ) )
+            // InternalReportDSL.g:13365:1: ( 'textalign' )
             {
-            // InternalReportDSL.g:13196:1: ( 'textalign' )
-            // InternalReportDSL.g:13197:2: 'textalign'
+            // InternalReportDSL.g:13365:1: ( 'textalign' )
+            // InternalReportDSL.g:13366:2: 'textalign'
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getDateTimeFormatAccess().getTextalignKeyword_8()); 
             }
-            match(input,157,FOLLOW_2); if (state.failed) return ;
+            match(input,163,FOLLOW_2); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getDateTimeFormatAccess().getTextalignKeyword_8()); 
             }
@@ -45289,14 +45898,14 @@
 
 
     // $ANTLR start "rule__DateTimeFormat__Group__9"
-    // InternalReportDSL.g:13206:1: rule__DateTimeFormat__Group__9 : rule__DateTimeFormat__Group__9__Impl rule__DateTimeFormat__Group__10 ;
+    // InternalReportDSL.g:13375:1: rule__DateTimeFormat__Group__9 : rule__DateTimeFormat__Group__9__Impl rule__DateTimeFormat__Group__10 ;
     public final void rule__DateTimeFormat__Group__9() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:13210:1: ( rule__DateTimeFormat__Group__9__Impl rule__DateTimeFormat__Group__10 )
-            // InternalReportDSL.g:13211:2: rule__DateTimeFormat__Group__9__Impl rule__DateTimeFormat__Group__10
+            // InternalReportDSL.g:13379:1: ( rule__DateTimeFormat__Group__9__Impl rule__DateTimeFormat__Group__10 )
+            // InternalReportDSL.g:13380:2: rule__DateTimeFormat__Group__9__Impl rule__DateTimeFormat__Group__10
             {
             pushFollow(FOLLOW_17);
             rule__DateTimeFormat__Group__9__Impl();
@@ -45327,23 +45936,23 @@
 
 
     // $ANTLR start "rule__DateTimeFormat__Group__9__Impl"
-    // InternalReportDSL.g:13218:1: rule__DateTimeFormat__Group__9__Impl : ( ( rule__DateTimeFormat__TextalignAssignment_9 ) ) ;
+    // InternalReportDSL.g:13387:1: rule__DateTimeFormat__Group__9__Impl : ( ( rule__DateTimeFormat__TextalignAssignment_9 ) ) ;
     public final void rule__DateTimeFormat__Group__9__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:13222:1: ( ( ( rule__DateTimeFormat__TextalignAssignment_9 ) ) )
-            // InternalReportDSL.g:13223:1: ( ( rule__DateTimeFormat__TextalignAssignment_9 ) )
+            // InternalReportDSL.g:13391:1: ( ( ( rule__DateTimeFormat__TextalignAssignment_9 ) ) )
+            // InternalReportDSL.g:13392:1: ( ( rule__DateTimeFormat__TextalignAssignment_9 ) )
             {
-            // InternalReportDSL.g:13223:1: ( ( rule__DateTimeFormat__TextalignAssignment_9 ) )
-            // InternalReportDSL.g:13224:2: ( rule__DateTimeFormat__TextalignAssignment_9 )
+            // InternalReportDSL.g:13392:1: ( ( rule__DateTimeFormat__TextalignAssignment_9 ) )
+            // InternalReportDSL.g:13393:2: ( rule__DateTimeFormat__TextalignAssignment_9 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getDateTimeFormatAccess().getTextalignAssignment_9()); 
             }
-            // InternalReportDSL.g:13225:2: ( rule__DateTimeFormat__TextalignAssignment_9 )
-            // InternalReportDSL.g:13225:3: rule__DateTimeFormat__TextalignAssignment_9
+            // InternalReportDSL.g:13394:2: ( rule__DateTimeFormat__TextalignAssignment_9 )
+            // InternalReportDSL.g:13394:3: rule__DateTimeFormat__TextalignAssignment_9
             {
             pushFollow(FOLLOW_2);
             rule__DateTimeFormat__TextalignAssignment_9();
@@ -45378,14 +45987,14 @@
 
 
     // $ANTLR start "rule__DateTimeFormat__Group__10"
-    // InternalReportDSL.g:13233:1: rule__DateTimeFormat__Group__10 : rule__DateTimeFormat__Group__10__Impl ;
+    // InternalReportDSL.g:13402:1: rule__DateTimeFormat__Group__10 : rule__DateTimeFormat__Group__10__Impl ;
     public final void rule__DateTimeFormat__Group__10() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:13237:1: ( rule__DateTimeFormat__Group__10__Impl )
-            // InternalReportDSL.g:13238:2: rule__DateTimeFormat__Group__10__Impl
+            // InternalReportDSL.g:13406:1: ( rule__DateTimeFormat__Group__10__Impl )
+            // InternalReportDSL.g:13407:2: rule__DateTimeFormat__Group__10__Impl
             {
             pushFollow(FOLLOW_2);
             rule__DateTimeFormat__Group__10__Impl();
@@ -45411,22 +46020,22 @@
 
 
     // $ANTLR start "rule__DateTimeFormat__Group__10__Impl"
-    // InternalReportDSL.g:13244:1: rule__DateTimeFormat__Group__10__Impl : ( '}' ) ;
+    // InternalReportDSL.g:13413:1: rule__DateTimeFormat__Group__10__Impl : ( '}' ) ;
     public final void rule__DateTimeFormat__Group__10__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:13248:1: ( ( '}' ) )
-            // InternalReportDSL.g:13249:1: ( '}' )
+            // InternalReportDSL.g:13417:1: ( ( '}' ) )
+            // InternalReportDSL.g:13418:1: ( '}' )
             {
-            // InternalReportDSL.g:13249:1: ( '}' )
-            // InternalReportDSL.g:13250:2: '}'
+            // InternalReportDSL.g:13418:1: ( '}' )
+            // InternalReportDSL.g:13419:2: '}'
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getDateTimeFormatAccess().getRightCurlyBracketKeyword_10()); 
             }
-            match(input,126,FOLLOW_2); if (state.failed) return ;
+            match(input,132,FOLLOW_2); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getDateTimeFormatAccess().getRightCurlyBracketKeyword_10()); 
             }
@@ -45452,14 +46061,14 @@
 
 
     // $ANTLR start "rule__TimeFormat__Group__0"
-    // InternalReportDSL.g:13260:1: rule__TimeFormat__Group__0 : rule__TimeFormat__Group__0__Impl rule__TimeFormat__Group__1 ;
+    // InternalReportDSL.g:13429:1: rule__TimeFormat__Group__0 : rule__TimeFormat__Group__0__Impl rule__TimeFormat__Group__1 ;
     public final void rule__TimeFormat__Group__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:13264:1: ( rule__TimeFormat__Group__0__Impl rule__TimeFormat__Group__1 )
-            // InternalReportDSL.g:13265:2: rule__TimeFormat__Group__0__Impl rule__TimeFormat__Group__1
+            // InternalReportDSL.g:13433:1: ( rule__TimeFormat__Group__0__Impl rule__TimeFormat__Group__1 )
+            // InternalReportDSL.g:13434:2: rule__TimeFormat__Group__0__Impl rule__TimeFormat__Group__1
             {
             pushFollow(FOLLOW_7);
             rule__TimeFormat__Group__0__Impl();
@@ -45490,22 +46099,22 @@
 
 
     // $ANTLR start "rule__TimeFormat__Group__0__Impl"
-    // InternalReportDSL.g:13272:1: rule__TimeFormat__Group__0__Impl : ( 'time' ) ;
+    // InternalReportDSL.g:13441:1: rule__TimeFormat__Group__0__Impl : ( 'time' ) ;
     public final void rule__TimeFormat__Group__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:13276:1: ( ( 'time' ) )
-            // InternalReportDSL.g:13277:1: ( 'time' )
+            // InternalReportDSL.g:13445:1: ( ( 'time' ) )
+            // InternalReportDSL.g:13446:1: ( 'time' )
             {
-            // InternalReportDSL.g:13277:1: ( 'time' )
-            // InternalReportDSL.g:13278:2: 'time'
+            // InternalReportDSL.g:13446:1: ( 'time' )
+            // InternalReportDSL.g:13447:2: 'time'
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getTimeFormatAccess().getTimeKeyword_0()); 
             }
-            match(input,176,FOLLOW_2); if (state.failed) return ;
+            match(input,183,FOLLOW_2); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getTimeFormatAccess().getTimeKeyword_0()); 
             }
@@ -45531,14 +46140,14 @@
 
 
     // $ANTLR start "rule__TimeFormat__Group__1"
-    // InternalReportDSL.g:13287:1: rule__TimeFormat__Group__1 : rule__TimeFormat__Group__1__Impl rule__TimeFormat__Group__2 ;
+    // InternalReportDSL.g:13456:1: rule__TimeFormat__Group__1 : rule__TimeFormat__Group__1__Impl rule__TimeFormat__Group__2 ;
     public final void rule__TimeFormat__Group__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:13291:1: ( rule__TimeFormat__Group__1__Impl rule__TimeFormat__Group__2 )
-            // InternalReportDSL.g:13292:2: rule__TimeFormat__Group__1__Impl rule__TimeFormat__Group__2
+            // InternalReportDSL.g:13460:1: ( rule__TimeFormat__Group__1__Impl rule__TimeFormat__Group__2 )
+            // InternalReportDSL.g:13461:2: rule__TimeFormat__Group__1__Impl rule__TimeFormat__Group__2
             {
             pushFollow(FOLLOW_8);
             rule__TimeFormat__Group__1__Impl();
@@ -45569,23 +46178,23 @@
 
 
     // $ANTLR start "rule__TimeFormat__Group__1__Impl"
-    // InternalReportDSL.g:13299:1: rule__TimeFormat__Group__1__Impl : ( ( rule__TimeFormat__NameAssignment_1 ) ) ;
+    // InternalReportDSL.g:13468:1: rule__TimeFormat__Group__1__Impl : ( ( rule__TimeFormat__NameAssignment_1 ) ) ;
     public final void rule__TimeFormat__Group__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:13303:1: ( ( ( rule__TimeFormat__NameAssignment_1 ) ) )
-            // InternalReportDSL.g:13304:1: ( ( rule__TimeFormat__NameAssignment_1 ) )
+            // InternalReportDSL.g:13472:1: ( ( ( rule__TimeFormat__NameAssignment_1 ) ) )
+            // InternalReportDSL.g:13473:1: ( ( rule__TimeFormat__NameAssignment_1 ) )
             {
-            // InternalReportDSL.g:13304:1: ( ( rule__TimeFormat__NameAssignment_1 ) )
-            // InternalReportDSL.g:13305:2: ( rule__TimeFormat__NameAssignment_1 )
+            // InternalReportDSL.g:13473:1: ( ( rule__TimeFormat__NameAssignment_1 ) )
+            // InternalReportDSL.g:13474:2: ( rule__TimeFormat__NameAssignment_1 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getTimeFormatAccess().getNameAssignment_1()); 
             }
-            // InternalReportDSL.g:13306:2: ( rule__TimeFormat__NameAssignment_1 )
-            // InternalReportDSL.g:13306:3: rule__TimeFormat__NameAssignment_1
+            // InternalReportDSL.g:13475:2: ( rule__TimeFormat__NameAssignment_1 )
+            // InternalReportDSL.g:13475:3: rule__TimeFormat__NameAssignment_1
             {
             pushFollow(FOLLOW_2);
             rule__TimeFormat__NameAssignment_1();
@@ -45620,16 +46229,16 @@
 
 
     // $ANTLR start "rule__TimeFormat__Group__2"
-    // InternalReportDSL.g:13314:1: rule__TimeFormat__Group__2 : rule__TimeFormat__Group__2__Impl rule__TimeFormat__Group__3 ;
+    // InternalReportDSL.g:13483:1: rule__TimeFormat__Group__2 : rule__TimeFormat__Group__2__Impl rule__TimeFormat__Group__3 ;
     public final void rule__TimeFormat__Group__2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:13318:1: ( rule__TimeFormat__Group__2__Impl rule__TimeFormat__Group__3 )
-            // InternalReportDSL.g:13319:2: rule__TimeFormat__Group__2__Impl rule__TimeFormat__Group__3
+            // InternalReportDSL.g:13487:1: ( rule__TimeFormat__Group__2__Impl rule__TimeFormat__Group__3 )
+            // InternalReportDSL.g:13488:2: rule__TimeFormat__Group__2__Impl rule__TimeFormat__Group__3
             {
-            pushFollow(FOLLOW_54);
+            pushFollow(FOLLOW_55);
             rule__TimeFormat__Group__2__Impl();
 
             state._fsp--;
@@ -45658,22 +46267,22 @@
 
 
     // $ANTLR start "rule__TimeFormat__Group__2__Impl"
-    // InternalReportDSL.g:13326:1: rule__TimeFormat__Group__2__Impl : ( '{' ) ;
+    // InternalReportDSL.g:13495:1: rule__TimeFormat__Group__2__Impl : ( '{' ) ;
     public final void rule__TimeFormat__Group__2__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:13330:1: ( ( '{' ) )
-            // InternalReportDSL.g:13331:1: ( '{' )
+            // InternalReportDSL.g:13499:1: ( ( '{' ) )
+            // InternalReportDSL.g:13500:1: ( '{' )
             {
-            // InternalReportDSL.g:13331:1: ( '{' )
-            // InternalReportDSL.g:13332:2: '{'
+            // InternalReportDSL.g:13500:1: ( '{' )
+            // InternalReportDSL.g:13501:2: '{'
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getTimeFormatAccess().getLeftCurlyBracketKeyword_2()); 
             }
-            match(input,125,FOLLOW_2); if (state.failed) return ;
+            match(input,131,FOLLOW_2); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getTimeFormatAccess().getLeftCurlyBracketKeyword_2()); 
             }
@@ -45699,14 +46308,14 @@
 
 
     // $ANTLR start "rule__TimeFormat__Group__3"
-    // InternalReportDSL.g:13341:1: rule__TimeFormat__Group__3 : rule__TimeFormat__Group__3__Impl rule__TimeFormat__Group__4 ;
+    // InternalReportDSL.g:13510:1: rule__TimeFormat__Group__3 : rule__TimeFormat__Group__3__Impl rule__TimeFormat__Group__4 ;
     public final void rule__TimeFormat__Group__3() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:13345:1: ( rule__TimeFormat__Group__3__Impl rule__TimeFormat__Group__4 )
-            // InternalReportDSL.g:13346:2: rule__TimeFormat__Group__3__Impl rule__TimeFormat__Group__4
+            // InternalReportDSL.g:13514:1: ( rule__TimeFormat__Group__3__Impl rule__TimeFormat__Group__4 )
+            // InternalReportDSL.g:13515:2: rule__TimeFormat__Group__3__Impl rule__TimeFormat__Group__4
             {
             pushFollow(FOLLOW_18);
             rule__TimeFormat__Group__3__Impl();
@@ -45737,22 +46346,22 @@
 
 
     // $ANTLR start "rule__TimeFormat__Group__3__Impl"
-    // InternalReportDSL.g:13353:1: rule__TimeFormat__Group__3__Impl : ( 'ui' ) ;
+    // InternalReportDSL.g:13522:1: rule__TimeFormat__Group__3__Impl : ( 'ui' ) ;
     public final void rule__TimeFormat__Group__3__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:13357:1: ( ( 'ui' ) )
-            // InternalReportDSL.g:13358:1: ( 'ui' )
+            // InternalReportDSL.g:13526:1: ( ( 'ui' ) )
+            // InternalReportDSL.g:13527:1: ( 'ui' )
             {
-            // InternalReportDSL.g:13358:1: ( 'ui' )
-            // InternalReportDSL.g:13359:2: 'ui'
+            // InternalReportDSL.g:13527:1: ( 'ui' )
+            // InternalReportDSL.g:13528:2: 'ui'
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getTimeFormatAccess().getUiKeyword_3()); 
             }
-            match(input,171,FOLLOW_2); if (state.failed) return ;
+            match(input,178,FOLLOW_2); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getTimeFormatAccess().getUiKeyword_3()); 
             }
@@ -45778,16 +46387,16 @@
 
 
     // $ANTLR start "rule__TimeFormat__Group__4"
-    // InternalReportDSL.g:13368:1: rule__TimeFormat__Group__4 : rule__TimeFormat__Group__4__Impl rule__TimeFormat__Group__5 ;
+    // InternalReportDSL.g:13537:1: rule__TimeFormat__Group__4 : rule__TimeFormat__Group__4__Impl rule__TimeFormat__Group__5 ;
     public final void rule__TimeFormat__Group__4() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:13372:1: ( rule__TimeFormat__Group__4__Impl rule__TimeFormat__Group__5 )
-            // InternalReportDSL.g:13373:2: rule__TimeFormat__Group__4__Impl rule__TimeFormat__Group__5
+            // InternalReportDSL.g:13541:1: ( rule__TimeFormat__Group__4__Impl rule__TimeFormat__Group__5 )
+            // InternalReportDSL.g:13542:2: rule__TimeFormat__Group__4__Impl rule__TimeFormat__Group__5
             {
-            pushFollow(FOLLOW_55);
+            pushFollow(FOLLOW_56);
             rule__TimeFormat__Group__4__Impl();
 
             state._fsp--;
@@ -45816,23 +46425,23 @@
 
 
     // $ANTLR start "rule__TimeFormat__Group__4__Impl"
-    // InternalReportDSL.g:13380:1: rule__TimeFormat__Group__4__Impl : ( ( rule__TimeFormat__Ui_patternAssignment_4 ) ) ;
+    // InternalReportDSL.g:13549:1: rule__TimeFormat__Group__4__Impl : ( ( rule__TimeFormat__Ui_patternAssignment_4 ) ) ;
     public final void rule__TimeFormat__Group__4__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:13384:1: ( ( ( rule__TimeFormat__Ui_patternAssignment_4 ) ) )
-            // InternalReportDSL.g:13385:1: ( ( rule__TimeFormat__Ui_patternAssignment_4 ) )
+            // InternalReportDSL.g:13553:1: ( ( ( rule__TimeFormat__Ui_patternAssignment_4 ) ) )
+            // InternalReportDSL.g:13554:1: ( ( rule__TimeFormat__Ui_patternAssignment_4 ) )
             {
-            // InternalReportDSL.g:13385:1: ( ( rule__TimeFormat__Ui_patternAssignment_4 ) )
-            // InternalReportDSL.g:13386:2: ( rule__TimeFormat__Ui_patternAssignment_4 )
+            // InternalReportDSL.g:13554:1: ( ( rule__TimeFormat__Ui_patternAssignment_4 ) )
+            // InternalReportDSL.g:13555:2: ( rule__TimeFormat__Ui_patternAssignment_4 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getTimeFormatAccess().getUi_patternAssignment_4()); 
             }
-            // InternalReportDSL.g:13387:2: ( rule__TimeFormat__Ui_patternAssignment_4 )
-            // InternalReportDSL.g:13387:3: rule__TimeFormat__Ui_patternAssignment_4
+            // InternalReportDSL.g:13556:2: ( rule__TimeFormat__Ui_patternAssignment_4 )
+            // InternalReportDSL.g:13556:3: rule__TimeFormat__Ui_patternAssignment_4
             {
             pushFollow(FOLLOW_2);
             rule__TimeFormat__Ui_patternAssignment_4();
@@ -45867,16 +46476,16 @@
 
 
     // $ANTLR start "rule__TimeFormat__Group__5"
-    // InternalReportDSL.g:13395:1: rule__TimeFormat__Group__5 : rule__TimeFormat__Group__5__Impl rule__TimeFormat__Group__6 ;
+    // InternalReportDSL.g:13564:1: rule__TimeFormat__Group__5 : rule__TimeFormat__Group__5__Impl rule__TimeFormat__Group__6 ;
     public final void rule__TimeFormat__Group__5() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:13399:1: ( rule__TimeFormat__Group__5__Impl rule__TimeFormat__Group__6 )
-            // InternalReportDSL.g:13400:2: rule__TimeFormat__Group__5__Impl rule__TimeFormat__Group__6
+            // InternalReportDSL.g:13568:1: ( rule__TimeFormat__Group__5__Impl rule__TimeFormat__Group__6 )
+            // InternalReportDSL.g:13569:2: rule__TimeFormat__Group__5__Impl rule__TimeFormat__Group__6
             {
-            pushFollow(FOLLOW_59);
+            pushFollow(FOLLOW_60);
             rule__TimeFormat__Group__5__Impl();
 
             state._fsp--;
@@ -45905,22 +46514,22 @@
 
 
     // $ANTLR start "rule__TimeFormat__Group__5__Impl"
-    // InternalReportDSL.g:13407:1: rule__TimeFormat__Group__5__Impl : ( 'report' ) ;
+    // InternalReportDSL.g:13576:1: rule__TimeFormat__Group__5__Impl : ( 'report' ) ;
     public final void rule__TimeFormat__Group__5__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:13411:1: ( ( 'report' ) )
-            // InternalReportDSL.g:13412:1: ( 'report' )
+            // InternalReportDSL.g:13580:1: ( ( 'report' ) )
+            // InternalReportDSL.g:13581:1: ( 'report' )
             {
-            // InternalReportDSL.g:13412:1: ( 'report' )
-            // InternalReportDSL.g:13413:2: 'report'
+            // InternalReportDSL.g:13581:1: ( 'report' )
+            // InternalReportDSL.g:13582:2: 'report'
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getTimeFormatAccess().getReportKeyword_5()); 
             }
-            match(input,172,FOLLOW_2); if (state.failed) return ;
+            match(input,179,FOLLOW_2); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getTimeFormatAccess().getReportKeyword_5()); 
             }
@@ -45946,14 +46555,14 @@
 
 
     // $ANTLR start "rule__TimeFormat__Group__6"
-    // InternalReportDSL.g:13422:1: rule__TimeFormat__Group__6 : rule__TimeFormat__Group__6__Impl rule__TimeFormat__Group__7 ;
+    // InternalReportDSL.g:13591:1: rule__TimeFormat__Group__6 : rule__TimeFormat__Group__6__Impl rule__TimeFormat__Group__7 ;
     public final void rule__TimeFormat__Group__6() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:13426:1: ( rule__TimeFormat__Group__6__Impl rule__TimeFormat__Group__7 )
-            // InternalReportDSL.g:13427:2: rule__TimeFormat__Group__6__Impl rule__TimeFormat__Group__7
+            // InternalReportDSL.g:13595:1: ( rule__TimeFormat__Group__6__Impl rule__TimeFormat__Group__7 )
+            // InternalReportDSL.g:13596:2: rule__TimeFormat__Group__6__Impl rule__TimeFormat__Group__7
             {
             pushFollow(FOLLOW_18);
             rule__TimeFormat__Group__6__Impl();
@@ -45984,23 +46593,23 @@
 
 
     // $ANTLR start "rule__TimeFormat__Group__6__Impl"
-    // InternalReportDSL.g:13434:1: rule__TimeFormat__Group__6__Impl : ( ( rule__TimeFormat__Report_categoryAssignment_6 ) ) ;
+    // InternalReportDSL.g:13603:1: rule__TimeFormat__Group__6__Impl : ( ( rule__TimeFormat__Report_categoryAssignment_6 ) ) ;
     public final void rule__TimeFormat__Group__6__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:13438:1: ( ( ( rule__TimeFormat__Report_categoryAssignment_6 ) ) )
-            // InternalReportDSL.g:13439:1: ( ( rule__TimeFormat__Report_categoryAssignment_6 ) )
+            // InternalReportDSL.g:13607:1: ( ( ( rule__TimeFormat__Report_categoryAssignment_6 ) ) )
+            // InternalReportDSL.g:13608:1: ( ( rule__TimeFormat__Report_categoryAssignment_6 ) )
             {
-            // InternalReportDSL.g:13439:1: ( ( rule__TimeFormat__Report_categoryAssignment_6 ) )
-            // InternalReportDSL.g:13440:2: ( rule__TimeFormat__Report_categoryAssignment_6 )
+            // InternalReportDSL.g:13608:1: ( ( rule__TimeFormat__Report_categoryAssignment_6 ) )
+            // InternalReportDSL.g:13609:2: ( rule__TimeFormat__Report_categoryAssignment_6 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getTimeFormatAccess().getReport_categoryAssignment_6()); 
             }
-            // InternalReportDSL.g:13441:2: ( rule__TimeFormat__Report_categoryAssignment_6 )
-            // InternalReportDSL.g:13441:3: rule__TimeFormat__Report_categoryAssignment_6
+            // InternalReportDSL.g:13610:2: ( rule__TimeFormat__Report_categoryAssignment_6 )
+            // InternalReportDSL.g:13610:3: rule__TimeFormat__Report_categoryAssignment_6
             {
             pushFollow(FOLLOW_2);
             rule__TimeFormat__Report_categoryAssignment_6();
@@ -46035,16 +46644,16 @@
 
 
     // $ANTLR start "rule__TimeFormat__Group__7"
-    // InternalReportDSL.g:13449:1: rule__TimeFormat__Group__7 : rule__TimeFormat__Group__7__Impl rule__TimeFormat__Group__8 ;
+    // InternalReportDSL.g:13618:1: rule__TimeFormat__Group__7 : rule__TimeFormat__Group__7__Impl rule__TimeFormat__Group__8 ;
     public final void rule__TimeFormat__Group__7() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:13453:1: ( rule__TimeFormat__Group__7__Impl rule__TimeFormat__Group__8 )
-            // InternalReportDSL.g:13454:2: rule__TimeFormat__Group__7__Impl rule__TimeFormat__Group__8
+            // InternalReportDSL.g:13622:1: ( rule__TimeFormat__Group__7__Impl rule__TimeFormat__Group__8 )
+            // InternalReportDSL.g:13623:2: rule__TimeFormat__Group__7__Impl rule__TimeFormat__Group__8
             {
-            pushFollow(FOLLOW_56);
+            pushFollow(FOLLOW_57);
             rule__TimeFormat__Group__7__Impl();
 
             state._fsp--;
@@ -46073,23 +46682,23 @@
 
 
     // $ANTLR start "rule__TimeFormat__Group__7__Impl"
-    // InternalReportDSL.g:13461:1: rule__TimeFormat__Group__7__Impl : ( ( rule__TimeFormat__Report_patternAssignment_7 ) ) ;
+    // InternalReportDSL.g:13630:1: rule__TimeFormat__Group__7__Impl : ( ( rule__TimeFormat__Report_patternAssignment_7 ) ) ;
     public final void rule__TimeFormat__Group__7__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:13465:1: ( ( ( rule__TimeFormat__Report_patternAssignment_7 ) ) )
-            // InternalReportDSL.g:13466:1: ( ( rule__TimeFormat__Report_patternAssignment_7 ) )
+            // InternalReportDSL.g:13634:1: ( ( ( rule__TimeFormat__Report_patternAssignment_7 ) ) )
+            // InternalReportDSL.g:13635:1: ( ( rule__TimeFormat__Report_patternAssignment_7 ) )
             {
-            // InternalReportDSL.g:13466:1: ( ( rule__TimeFormat__Report_patternAssignment_7 ) )
-            // InternalReportDSL.g:13467:2: ( rule__TimeFormat__Report_patternAssignment_7 )
+            // InternalReportDSL.g:13635:1: ( ( rule__TimeFormat__Report_patternAssignment_7 ) )
+            // InternalReportDSL.g:13636:2: ( rule__TimeFormat__Report_patternAssignment_7 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getTimeFormatAccess().getReport_patternAssignment_7()); 
             }
-            // InternalReportDSL.g:13468:2: ( rule__TimeFormat__Report_patternAssignment_7 )
-            // InternalReportDSL.g:13468:3: rule__TimeFormat__Report_patternAssignment_7
+            // InternalReportDSL.g:13637:2: ( rule__TimeFormat__Report_patternAssignment_7 )
+            // InternalReportDSL.g:13637:3: rule__TimeFormat__Report_patternAssignment_7
             {
             pushFollow(FOLLOW_2);
             rule__TimeFormat__Report_patternAssignment_7();
@@ -46124,14 +46733,14 @@
 
 
     // $ANTLR start "rule__TimeFormat__Group__8"
-    // InternalReportDSL.g:13476:1: rule__TimeFormat__Group__8 : rule__TimeFormat__Group__8__Impl rule__TimeFormat__Group__9 ;
+    // InternalReportDSL.g:13645:1: rule__TimeFormat__Group__8 : rule__TimeFormat__Group__8__Impl rule__TimeFormat__Group__9 ;
     public final void rule__TimeFormat__Group__8() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:13480:1: ( rule__TimeFormat__Group__8__Impl rule__TimeFormat__Group__9 )
-            // InternalReportDSL.g:13481:2: rule__TimeFormat__Group__8__Impl rule__TimeFormat__Group__9
+            // InternalReportDSL.g:13649:1: ( rule__TimeFormat__Group__8__Impl rule__TimeFormat__Group__9 )
+            // InternalReportDSL.g:13650:2: rule__TimeFormat__Group__8__Impl rule__TimeFormat__Group__9
             {
             pushFollow(FOLLOW_51);
             rule__TimeFormat__Group__8__Impl();
@@ -46162,22 +46771,22 @@
 
 
     // $ANTLR start "rule__TimeFormat__Group__8__Impl"
-    // InternalReportDSL.g:13488:1: rule__TimeFormat__Group__8__Impl : ( 'textalign' ) ;
+    // InternalReportDSL.g:13657:1: rule__TimeFormat__Group__8__Impl : ( 'textalign' ) ;
     public final void rule__TimeFormat__Group__8__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:13492:1: ( ( 'textalign' ) )
-            // InternalReportDSL.g:13493:1: ( 'textalign' )
+            // InternalReportDSL.g:13661:1: ( ( 'textalign' ) )
+            // InternalReportDSL.g:13662:1: ( 'textalign' )
             {
-            // InternalReportDSL.g:13493:1: ( 'textalign' )
-            // InternalReportDSL.g:13494:2: 'textalign'
+            // InternalReportDSL.g:13662:1: ( 'textalign' )
+            // InternalReportDSL.g:13663:2: 'textalign'
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getTimeFormatAccess().getTextalignKeyword_8()); 
             }
-            match(input,157,FOLLOW_2); if (state.failed) return ;
+            match(input,163,FOLLOW_2); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getTimeFormatAccess().getTextalignKeyword_8()); 
             }
@@ -46203,14 +46812,14 @@
 
 
     // $ANTLR start "rule__TimeFormat__Group__9"
-    // InternalReportDSL.g:13503:1: rule__TimeFormat__Group__9 : rule__TimeFormat__Group__9__Impl rule__TimeFormat__Group__10 ;
+    // InternalReportDSL.g:13672:1: rule__TimeFormat__Group__9 : rule__TimeFormat__Group__9__Impl rule__TimeFormat__Group__10 ;
     public final void rule__TimeFormat__Group__9() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:13507:1: ( rule__TimeFormat__Group__9__Impl rule__TimeFormat__Group__10 )
-            // InternalReportDSL.g:13508:2: rule__TimeFormat__Group__9__Impl rule__TimeFormat__Group__10
+            // InternalReportDSL.g:13676:1: ( rule__TimeFormat__Group__9__Impl rule__TimeFormat__Group__10 )
+            // InternalReportDSL.g:13677:2: rule__TimeFormat__Group__9__Impl rule__TimeFormat__Group__10
             {
             pushFollow(FOLLOW_17);
             rule__TimeFormat__Group__9__Impl();
@@ -46241,23 +46850,23 @@
 
 
     // $ANTLR start "rule__TimeFormat__Group__9__Impl"
-    // InternalReportDSL.g:13515:1: rule__TimeFormat__Group__9__Impl : ( ( rule__TimeFormat__TextalignAssignment_9 ) ) ;
+    // InternalReportDSL.g:13684:1: rule__TimeFormat__Group__9__Impl : ( ( rule__TimeFormat__TextalignAssignment_9 ) ) ;
     public final void rule__TimeFormat__Group__9__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:13519:1: ( ( ( rule__TimeFormat__TextalignAssignment_9 ) ) )
-            // InternalReportDSL.g:13520:1: ( ( rule__TimeFormat__TextalignAssignment_9 ) )
+            // InternalReportDSL.g:13688:1: ( ( ( rule__TimeFormat__TextalignAssignment_9 ) ) )
+            // InternalReportDSL.g:13689:1: ( ( rule__TimeFormat__TextalignAssignment_9 ) )
             {
-            // InternalReportDSL.g:13520:1: ( ( rule__TimeFormat__TextalignAssignment_9 ) )
-            // InternalReportDSL.g:13521:2: ( rule__TimeFormat__TextalignAssignment_9 )
+            // InternalReportDSL.g:13689:1: ( ( rule__TimeFormat__TextalignAssignment_9 ) )
+            // InternalReportDSL.g:13690:2: ( rule__TimeFormat__TextalignAssignment_9 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getTimeFormatAccess().getTextalignAssignment_9()); 
             }
-            // InternalReportDSL.g:13522:2: ( rule__TimeFormat__TextalignAssignment_9 )
-            // InternalReportDSL.g:13522:3: rule__TimeFormat__TextalignAssignment_9
+            // InternalReportDSL.g:13691:2: ( rule__TimeFormat__TextalignAssignment_9 )
+            // InternalReportDSL.g:13691:3: rule__TimeFormat__TextalignAssignment_9
             {
             pushFollow(FOLLOW_2);
             rule__TimeFormat__TextalignAssignment_9();
@@ -46292,14 +46901,14 @@
 
 
     // $ANTLR start "rule__TimeFormat__Group__10"
-    // InternalReportDSL.g:13530:1: rule__TimeFormat__Group__10 : rule__TimeFormat__Group__10__Impl ;
+    // InternalReportDSL.g:13699:1: rule__TimeFormat__Group__10 : rule__TimeFormat__Group__10__Impl ;
     public final void rule__TimeFormat__Group__10() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:13534:1: ( rule__TimeFormat__Group__10__Impl )
-            // InternalReportDSL.g:13535:2: rule__TimeFormat__Group__10__Impl
+            // InternalReportDSL.g:13703:1: ( rule__TimeFormat__Group__10__Impl )
+            // InternalReportDSL.g:13704:2: rule__TimeFormat__Group__10__Impl
             {
             pushFollow(FOLLOW_2);
             rule__TimeFormat__Group__10__Impl();
@@ -46325,22 +46934,22 @@
 
 
     // $ANTLR start "rule__TimeFormat__Group__10__Impl"
-    // InternalReportDSL.g:13541:1: rule__TimeFormat__Group__10__Impl : ( '}' ) ;
+    // InternalReportDSL.g:13710:1: rule__TimeFormat__Group__10__Impl : ( '}' ) ;
     public final void rule__TimeFormat__Group__10__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:13545:1: ( ( '}' ) )
-            // InternalReportDSL.g:13546:1: ( '}' )
+            // InternalReportDSL.g:13714:1: ( ( '}' ) )
+            // InternalReportDSL.g:13715:1: ( '}' )
             {
-            // InternalReportDSL.g:13546:1: ( '}' )
-            // InternalReportDSL.g:13547:2: '}'
+            // InternalReportDSL.g:13715:1: ( '}' )
+            // InternalReportDSL.g:13716:2: '}'
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getTimeFormatAccess().getRightCurlyBracketKeyword_10()); 
             }
-            match(input,126,FOLLOW_2); if (state.failed) return ;
+            match(input,132,FOLLOW_2); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getTimeFormatAccess().getRightCurlyBracketKeyword_10()); 
             }
@@ -46366,14 +46975,14 @@
 
 
     // $ANTLR start "rule__Report__Group__0"
-    // InternalReportDSL.g:13557:1: rule__Report__Group__0 : rule__Report__Group__0__Impl rule__Report__Group__1 ;
+    // InternalReportDSL.g:13726:1: rule__Report__Group__0 : rule__Report__Group__0__Impl rule__Report__Group__1 ;
     public final void rule__Report__Group__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:13561:1: ( rule__Report__Group__0__Impl rule__Report__Group__1 )
-            // InternalReportDSL.g:13562:2: rule__Report__Group__0__Impl rule__Report__Group__1
+            // InternalReportDSL.g:13730:1: ( rule__Report__Group__0__Impl rule__Report__Group__1 )
+            // InternalReportDSL.g:13731:2: rule__Report__Group__0__Impl rule__Report__Group__1
             {
             pushFollow(FOLLOW_7);
             rule__Report__Group__0__Impl();
@@ -46404,22 +47013,22 @@
 
 
     // $ANTLR start "rule__Report__Group__0__Impl"
-    // InternalReportDSL.g:13569:1: rule__Report__Group__0__Impl : ( 'report' ) ;
+    // InternalReportDSL.g:13738:1: rule__Report__Group__0__Impl : ( 'report' ) ;
     public final void rule__Report__Group__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:13573:1: ( ( 'report' ) )
-            // InternalReportDSL.g:13574:1: ( 'report' )
+            // InternalReportDSL.g:13742:1: ( ( 'report' ) )
+            // InternalReportDSL.g:13743:1: ( 'report' )
             {
-            // InternalReportDSL.g:13574:1: ( 'report' )
-            // InternalReportDSL.g:13575:2: 'report'
+            // InternalReportDSL.g:13743:1: ( 'report' )
+            // InternalReportDSL.g:13744:2: 'report'
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getReportAccess().getReportKeyword_0()); 
             }
-            match(input,172,FOLLOW_2); if (state.failed) return ;
+            match(input,179,FOLLOW_2); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getReportAccess().getReportKeyword_0()); 
             }
@@ -46445,16 +47054,16 @@
 
 
     // $ANTLR start "rule__Report__Group__1"
-    // InternalReportDSL.g:13584:1: rule__Report__Group__1 : rule__Report__Group__1__Impl rule__Report__Group__2 ;
+    // InternalReportDSL.g:13753:1: rule__Report__Group__1 : rule__Report__Group__1__Impl rule__Report__Group__2 ;
     public final void rule__Report__Group__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:13588:1: ( rule__Report__Group__1__Impl rule__Report__Group__2 )
-            // InternalReportDSL.g:13589:2: rule__Report__Group__1__Impl rule__Report__Group__2
+            // InternalReportDSL.g:13757:1: ( rule__Report__Group__1__Impl rule__Report__Group__2 )
+            // InternalReportDSL.g:13758:2: rule__Report__Group__1__Impl rule__Report__Group__2
             {
-            pushFollow(FOLLOW_60);
+            pushFollow(FOLLOW_61);
             rule__Report__Group__1__Impl();
 
             state._fsp--;
@@ -46483,23 +47092,23 @@
 
 
     // $ANTLR start "rule__Report__Group__1__Impl"
-    // InternalReportDSL.g:13596:1: rule__Report__Group__1__Impl : ( ( rule__Report__NameAssignment_1 ) ) ;
+    // InternalReportDSL.g:13765:1: rule__Report__Group__1__Impl : ( ( rule__Report__NameAssignment_1 ) ) ;
     public final void rule__Report__Group__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:13600:1: ( ( ( rule__Report__NameAssignment_1 ) ) )
-            // InternalReportDSL.g:13601:1: ( ( rule__Report__NameAssignment_1 ) )
+            // InternalReportDSL.g:13769:1: ( ( ( rule__Report__NameAssignment_1 ) ) )
+            // InternalReportDSL.g:13770:1: ( ( rule__Report__NameAssignment_1 ) )
             {
-            // InternalReportDSL.g:13601:1: ( ( rule__Report__NameAssignment_1 ) )
-            // InternalReportDSL.g:13602:2: ( rule__Report__NameAssignment_1 )
+            // InternalReportDSL.g:13770:1: ( ( rule__Report__NameAssignment_1 ) )
+            // InternalReportDSL.g:13771:2: ( rule__Report__NameAssignment_1 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getReportAccess().getNameAssignment_1()); 
             }
-            // InternalReportDSL.g:13603:2: ( rule__Report__NameAssignment_1 )
-            // InternalReportDSL.g:13603:3: rule__Report__NameAssignment_1
+            // InternalReportDSL.g:13772:2: ( rule__Report__NameAssignment_1 )
+            // InternalReportDSL.g:13772:3: rule__Report__NameAssignment_1
             {
             pushFollow(FOLLOW_2);
             rule__Report__NameAssignment_1();
@@ -46534,16 +47143,16 @@
 
 
     // $ANTLR start "rule__Report__Group__2"
-    // InternalReportDSL.g:13611:1: rule__Report__Group__2 : rule__Report__Group__2__Impl rule__Report__Group__3 ;
+    // InternalReportDSL.g:13780:1: rule__Report__Group__2 : rule__Report__Group__2__Impl rule__Report__Group__3 ;
     public final void rule__Report__Group__2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:13615:1: ( rule__Report__Group__2__Impl rule__Report__Group__3 )
-            // InternalReportDSL.g:13616:2: rule__Report__Group__2__Impl rule__Report__Group__3
+            // InternalReportDSL.g:13784:1: ( rule__Report__Group__2__Impl rule__Report__Group__3 )
+            // InternalReportDSL.g:13785:2: rule__Report__Group__2__Impl rule__Report__Group__3
             {
-            pushFollow(FOLLOW_60);
+            pushFollow(FOLLOW_61);
             rule__Report__Group__2__Impl();
 
             state._fsp--;
@@ -46572,31 +47181,31 @@
 
 
     // $ANTLR start "rule__Report__Group__2__Impl"
-    // InternalReportDSL.g:13623:1: rule__Report__Group__2__Impl : ( ( rule__Report__Group_2__0 )? ) ;
+    // InternalReportDSL.g:13792:1: rule__Report__Group__2__Impl : ( ( rule__Report__Group_2__0 )? ) ;
     public final void rule__Report__Group__2__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:13627:1: ( ( ( rule__Report__Group_2__0 )? ) )
-            // InternalReportDSL.g:13628:1: ( ( rule__Report__Group_2__0 )? )
+            // InternalReportDSL.g:13796:1: ( ( ( rule__Report__Group_2__0 )? ) )
+            // InternalReportDSL.g:13797:1: ( ( rule__Report__Group_2__0 )? )
             {
-            // InternalReportDSL.g:13628:1: ( ( rule__Report__Group_2__0 )? )
-            // InternalReportDSL.g:13629:2: ( rule__Report__Group_2__0 )?
+            // InternalReportDSL.g:13797:1: ( ( rule__Report__Group_2__0 )? )
+            // InternalReportDSL.g:13798:2: ( rule__Report__Group_2__0 )?
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getReportAccess().getGroup_2()); 
             }
-            // InternalReportDSL.g:13630:2: ( rule__Report__Group_2__0 )?
-            int alt96=2;
-            int LA96_0 = input.LA(1);
+            // InternalReportDSL.g:13799:2: ( rule__Report__Group_2__0 )?
+            int alt98=2;
+            int LA98_0 = input.LA(1);
 
-            if ( (LA96_0==183) ) {
-                alt96=1;
+            if ( (LA98_0==190) ) {
+                alt98=1;
             }
-            switch (alt96) {
+            switch (alt98) {
                 case 1 :
-                    // InternalReportDSL.g:13630:3: rule__Report__Group_2__0
+                    // InternalReportDSL.g:13799:3: rule__Report__Group_2__0
                     {
                     pushFollow(FOLLOW_2);
                     rule__Report__Group_2__0();
@@ -46634,16 +47243,16 @@
 
 
     // $ANTLR start "rule__Report__Group__3"
-    // InternalReportDSL.g:13638:1: rule__Report__Group__3 : rule__Report__Group__3__Impl rule__Report__Group__4 ;
+    // InternalReportDSL.g:13807:1: rule__Report__Group__3 : rule__Report__Group__3__Impl rule__Report__Group__4 ;
     public final void rule__Report__Group__3() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:13642:1: ( rule__Report__Group__3__Impl rule__Report__Group__4 )
-            // InternalReportDSL.g:13643:2: rule__Report__Group__3__Impl rule__Report__Group__4
+            // InternalReportDSL.g:13811:1: ( rule__Report__Group__3__Impl rule__Report__Group__4 )
+            // InternalReportDSL.g:13812:2: rule__Report__Group__3__Impl rule__Report__Group__4
             {
-            pushFollow(FOLLOW_60);
+            pushFollow(FOLLOW_61);
             rule__Report__Group__3__Impl();
 
             state._fsp--;
@@ -46672,31 +47281,31 @@
 
 
     // $ANTLR start "rule__Report__Group__3__Impl"
-    // InternalReportDSL.g:13650:1: rule__Report__Group__3__Impl : ( ( rule__Report__Group_3__0 )? ) ;
+    // InternalReportDSL.g:13819:1: rule__Report__Group__3__Impl : ( ( rule__Report__Group_3__0 )? ) ;
     public final void rule__Report__Group__3__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:13654:1: ( ( ( rule__Report__Group_3__0 )? ) )
-            // InternalReportDSL.g:13655:1: ( ( rule__Report__Group_3__0 )? )
+            // InternalReportDSL.g:13823:1: ( ( ( rule__Report__Group_3__0 )? ) )
+            // InternalReportDSL.g:13824:1: ( ( rule__Report__Group_3__0 )? )
             {
-            // InternalReportDSL.g:13655:1: ( ( rule__Report__Group_3__0 )? )
-            // InternalReportDSL.g:13656:2: ( rule__Report__Group_3__0 )?
+            // InternalReportDSL.g:13824:1: ( ( rule__Report__Group_3__0 )? )
+            // InternalReportDSL.g:13825:2: ( rule__Report__Group_3__0 )?
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getReportAccess().getGroup_3()); 
             }
-            // InternalReportDSL.g:13657:2: ( rule__Report__Group_3__0 )?
-            int alt97=2;
-            int LA97_0 = input.LA(1);
+            // InternalReportDSL.g:13826:2: ( rule__Report__Group_3__0 )?
+            int alt99=2;
+            int LA99_0 = input.LA(1);
 
-            if ( (LA97_0==179) ) {
-                alt97=1;
+            if ( (LA99_0==186) ) {
+                alt99=1;
             }
-            switch (alt97) {
+            switch (alt99) {
                 case 1 :
-                    // InternalReportDSL.g:13657:3: rule__Report__Group_3__0
+                    // InternalReportDSL.g:13826:3: rule__Report__Group_3__0
                     {
                     pushFollow(FOLLOW_2);
                     rule__Report__Group_3__0();
@@ -46734,16 +47343,16 @@
 
 
     // $ANTLR start "rule__Report__Group__4"
-    // InternalReportDSL.g:13665:1: rule__Report__Group__4 : rule__Report__Group__4__Impl rule__Report__Group__5 ;
+    // InternalReportDSL.g:13834:1: rule__Report__Group__4 : rule__Report__Group__4__Impl rule__Report__Group__5 ;
     public final void rule__Report__Group__4() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:13669:1: ( rule__Report__Group__4__Impl rule__Report__Group__5 )
-            // InternalReportDSL.g:13670:2: rule__Report__Group__4__Impl rule__Report__Group__5
+            // InternalReportDSL.g:13838:1: ( rule__Report__Group__4__Impl rule__Report__Group__5 )
+            // InternalReportDSL.g:13839:2: rule__Report__Group__4__Impl rule__Report__Group__5
             {
-            pushFollow(FOLLOW_61);
+            pushFollow(FOLLOW_62);
             rule__Report__Group__4__Impl();
 
             state._fsp--;
@@ -46772,22 +47381,22 @@
 
 
     // $ANTLR start "rule__Report__Group__4__Impl"
-    // InternalReportDSL.g:13677:1: rule__Report__Group__4__Impl : ( '{' ) ;
+    // InternalReportDSL.g:13846:1: rule__Report__Group__4__Impl : ( '{' ) ;
     public final void rule__Report__Group__4__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:13681:1: ( ( '{' ) )
-            // InternalReportDSL.g:13682:1: ( '{' )
+            // InternalReportDSL.g:13850:1: ( ( '{' ) )
+            // InternalReportDSL.g:13851:1: ( '{' )
             {
-            // InternalReportDSL.g:13682:1: ( '{' )
-            // InternalReportDSL.g:13683:2: '{'
+            // InternalReportDSL.g:13851:1: ( '{' )
+            // InternalReportDSL.g:13852:2: '{'
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getReportAccess().getLeftCurlyBracketKeyword_4()); 
             }
-            match(input,125,FOLLOW_2); if (state.failed) return ;
+            match(input,131,FOLLOW_2); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getReportAccess().getLeftCurlyBracketKeyword_4()); 
             }
@@ -46813,14 +47422,14 @@
 
 
     // $ANTLR start "rule__Report__Group__5"
-    // InternalReportDSL.g:13692:1: rule__Report__Group__5 : rule__Report__Group__5__Impl rule__Report__Group__6 ;
+    // InternalReportDSL.g:13861:1: rule__Report__Group__5 : rule__Report__Group__5__Impl rule__Report__Group__6 ;
     public final void rule__Report__Group__5() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:13696:1: ( rule__Report__Group__5__Impl rule__Report__Group__6 )
-            // InternalReportDSL.g:13697:2: rule__Report__Group__5__Impl rule__Report__Group__6
+            // InternalReportDSL.g:13865:1: ( rule__Report__Group__5__Impl rule__Report__Group__6 )
+            // InternalReportDSL.g:13866:2: rule__Report__Group__5__Impl rule__Report__Group__6
             {
             pushFollow(FOLLOW_7);
             rule__Report__Group__5__Impl();
@@ -46851,22 +47460,22 @@
 
 
     // $ANTLR start "rule__Report__Group__5__Impl"
-    // InternalReportDSL.g:13704:1: rule__Report__Group__5__Impl : ( 'datamart' ) ;
+    // InternalReportDSL.g:13873:1: rule__Report__Group__5__Impl : ( 'datamart' ) ;
     public final void rule__Report__Group__5__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:13708:1: ( ( 'datamart' ) )
-            // InternalReportDSL.g:13709:1: ( 'datamart' )
+            // InternalReportDSL.g:13877:1: ( ( 'datamart' ) )
+            // InternalReportDSL.g:13878:1: ( 'datamart' )
             {
-            // InternalReportDSL.g:13709:1: ( 'datamart' )
-            // InternalReportDSL.g:13710:2: 'datamart'
+            // InternalReportDSL.g:13878:1: ( 'datamart' )
+            // InternalReportDSL.g:13879:2: 'datamart'
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getReportAccess().getDatamartKeyword_5()); 
             }
-            match(input,177,FOLLOW_2); if (state.failed) return ;
+            match(input,184,FOLLOW_2); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getReportAccess().getDatamartKeyword_5()); 
             }
@@ -46892,16 +47501,16 @@
 
 
     // $ANTLR start "rule__Report__Group__6"
-    // InternalReportDSL.g:13719:1: rule__Report__Group__6 : rule__Report__Group__6__Impl rule__Report__Group__7 ;
+    // InternalReportDSL.g:13888:1: rule__Report__Group__6 : rule__Report__Group__6__Impl rule__Report__Group__7 ;
     public final void rule__Report__Group__6() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:13723:1: ( rule__Report__Group__6__Impl rule__Report__Group__7 )
-            // InternalReportDSL.g:13724:2: rule__Report__Group__6__Impl rule__Report__Group__7
+            // InternalReportDSL.g:13892:1: ( rule__Report__Group__6__Impl rule__Report__Group__7 )
+            // InternalReportDSL.g:13893:2: rule__Report__Group__6__Impl rule__Report__Group__7
             {
-            pushFollow(FOLLOW_62);
+            pushFollow(FOLLOW_63);
             rule__Report__Group__6__Impl();
 
             state._fsp--;
@@ -46930,23 +47539,23 @@
 
 
     // $ANTLR start "rule__Report__Group__6__Impl"
-    // InternalReportDSL.g:13731:1: rule__Report__Group__6__Impl : ( ( rule__Report__DatamartRefAssignment_6 ) ) ;
+    // InternalReportDSL.g:13900:1: rule__Report__Group__6__Impl : ( ( rule__Report__DatamartRefAssignment_6 ) ) ;
     public final void rule__Report__Group__6__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:13735:1: ( ( ( rule__Report__DatamartRefAssignment_6 ) ) )
-            // InternalReportDSL.g:13736:1: ( ( rule__Report__DatamartRefAssignment_6 ) )
+            // InternalReportDSL.g:13904:1: ( ( ( rule__Report__DatamartRefAssignment_6 ) ) )
+            // InternalReportDSL.g:13905:1: ( ( rule__Report__DatamartRefAssignment_6 ) )
             {
-            // InternalReportDSL.g:13736:1: ( ( rule__Report__DatamartRefAssignment_6 ) )
-            // InternalReportDSL.g:13737:2: ( rule__Report__DatamartRefAssignment_6 )
+            // InternalReportDSL.g:13905:1: ( ( rule__Report__DatamartRefAssignment_6 ) )
+            // InternalReportDSL.g:13906:2: ( rule__Report__DatamartRefAssignment_6 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getReportAccess().getDatamartRefAssignment_6()); 
             }
-            // InternalReportDSL.g:13738:2: ( rule__Report__DatamartRefAssignment_6 )
-            // InternalReportDSL.g:13738:3: rule__Report__DatamartRefAssignment_6
+            // InternalReportDSL.g:13907:2: ( rule__Report__DatamartRefAssignment_6 )
+            // InternalReportDSL.g:13907:3: rule__Report__DatamartRefAssignment_6
             {
             pushFollow(FOLLOW_2);
             rule__Report__DatamartRefAssignment_6();
@@ -46981,16 +47590,16 @@
 
 
     // $ANTLR start "rule__Report__Group__7"
-    // InternalReportDSL.g:13746:1: rule__Report__Group__7 : rule__Report__Group__7__Impl rule__Report__Group__8 ;
+    // InternalReportDSL.g:13915:1: rule__Report__Group__7 : rule__Report__Group__7__Impl rule__Report__Group__8 ;
     public final void rule__Report__Group__7() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:13750:1: ( rule__Report__Group__7__Impl rule__Report__Group__8 )
-            // InternalReportDSL.g:13751:2: rule__Report__Group__7__Impl rule__Report__Group__8
+            // InternalReportDSL.g:13919:1: ( rule__Report__Group__7__Impl rule__Report__Group__8 )
+            // InternalReportDSL.g:13920:2: rule__Report__Group__7__Impl rule__Report__Group__8
             {
-            pushFollow(FOLLOW_62);
+            pushFollow(FOLLOW_63);
             rule__Report__Group__7__Impl();
 
             state._fsp--;
@@ -47019,31 +47628,31 @@
 
 
     // $ANTLR start "rule__Report__Group__7__Impl"
-    // InternalReportDSL.g:13758:1: rule__Report__Group__7__Impl : ( ( rule__Report__SelectByIdAssignment_7 )? ) ;
+    // InternalReportDSL.g:13927:1: rule__Report__Group__7__Impl : ( ( rule__Report__SelectByIdAssignment_7 )? ) ;
     public final void rule__Report__Group__7__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:13762:1: ( ( ( rule__Report__SelectByIdAssignment_7 )? ) )
-            // InternalReportDSL.g:13763:1: ( ( rule__Report__SelectByIdAssignment_7 )? )
+            // InternalReportDSL.g:13931:1: ( ( ( rule__Report__SelectByIdAssignment_7 )? ) )
+            // InternalReportDSL.g:13932:1: ( ( rule__Report__SelectByIdAssignment_7 )? )
             {
-            // InternalReportDSL.g:13763:1: ( ( rule__Report__SelectByIdAssignment_7 )? )
-            // InternalReportDSL.g:13764:2: ( rule__Report__SelectByIdAssignment_7 )?
+            // InternalReportDSL.g:13932:1: ( ( rule__Report__SelectByIdAssignment_7 )? )
+            // InternalReportDSL.g:13933:2: ( rule__Report__SelectByIdAssignment_7 )?
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getReportAccess().getSelectByIdAssignment_7()); 
             }
-            // InternalReportDSL.g:13765:2: ( rule__Report__SelectByIdAssignment_7 )?
-            int alt98=2;
-            int LA98_0 = input.LA(1);
+            // InternalReportDSL.g:13934:2: ( rule__Report__SelectByIdAssignment_7 )?
+            int alt100=2;
+            int LA100_0 = input.LA(1);
 
-            if ( (LA98_0==254) ) {
-                alt98=1;
+            if ( (LA100_0==261) ) {
+                alt100=1;
             }
-            switch (alt98) {
+            switch (alt100) {
                 case 1 :
-                    // InternalReportDSL.g:13765:3: rule__Report__SelectByIdAssignment_7
+                    // InternalReportDSL.g:13934:3: rule__Report__SelectByIdAssignment_7
                     {
                     pushFollow(FOLLOW_2);
                     rule__Report__SelectByIdAssignment_7();
@@ -47081,16 +47690,16 @@
 
 
     // $ANTLR start "rule__Report__Group__8"
-    // InternalReportDSL.g:13773:1: rule__Report__Group__8 : rule__Report__Group__8__Impl rule__Report__Group__9 ;
+    // InternalReportDSL.g:13942:1: rule__Report__Group__8 : rule__Report__Group__8__Impl rule__Report__Group__9 ;
     public final void rule__Report__Group__8() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:13777:1: ( rule__Report__Group__8__Impl rule__Report__Group__9 )
-            // InternalReportDSL.g:13778:2: rule__Report__Group__8__Impl rule__Report__Group__9
+            // InternalReportDSL.g:13946:1: ( rule__Report__Group__8__Impl rule__Report__Group__9 )
+            // InternalReportDSL.g:13947:2: rule__Report__Group__8__Impl rule__Report__Group__9
             {
-            pushFollow(FOLLOW_63);
+            pushFollow(FOLLOW_64);
             rule__Report__Group__8__Impl();
 
             state._fsp--;
@@ -47119,22 +47728,22 @@
 
 
     // $ANTLR start "rule__Report__Group__8__Impl"
-    // InternalReportDSL.g:13785:1: rule__Report__Group__8__Impl : ( 'rendering' ) ;
+    // InternalReportDSL.g:13954:1: rule__Report__Group__8__Impl : ( 'rendering' ) ;
     public final void rule__Report__Group__8__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:13789:1: ( ( 'rendering' ) )
-            // InternalReportDSL.g:13790:1: ( 'rendering' )
+            // InternalReportDSL.g:13958:1: ( ( 'rendering' ) )
+            // InternalReportDSL.g:13959:1: ( 'rendering' )
             {
-            // InternalReportDSL.g:13790:1: ( 'rendering' )
-            // InternalReportDSL.g:13791:2: 'rendering'
+            // InternalReportDSL.g:13959:1: ( 'rendering' )
+            // InternalReportDSL.g:13960:2: 'rendering'
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getReportAccess().getRenderingKeyword_8()); 
             }
-            match(input,178,FOLLOW_2); if (state.failed) return ;
+            match(input,185,FOLLOW_2); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getReportAccess().getRenderingKeyword_8()); 
             }
@@ -47160,16 +47769,16 @@
 
 
     // $ANTLR start "rule__Report__Group__9"
-    // InternalReportDSL.g:13800:1: rule__Report__Group__9 : rule__Report__Group__9__Impl rule__Report__Group__10 ;
+    // InternalReportDSL.g:13969:1: rule__Report__Group__9 : rule__Report__Group__9__Impl rule__Report__Group__10 ;
     public final void rule__Report__Group__9() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:13804:1: ( rule__Report__Group__9__Impl rule__Report__Group__10 )
-            // InternalReportDSL.g:13805:2: rule__Report__Group__9__Impl rule__Report__Group__10
+            // InternalReportDSL.g:13973:1: ( rule__Report__Group__9__Impl rule__Report__Group__10 )
+            // InternalReportDSL.g:13974:2: rule__Report__Group__9__Impl rule__Report__Group__10
             {
-            pushFollow(FOLLOW_64);
+            pushFollow(FOLLOW_65);
             rule__Report__Group__9__Impl();
 
             state._fsp--;
@@ -47198,23 +47807,23 @@
 
 
     // $ANTLR start "rule__Report__Group__9__Impl"
-    // InternalReportDSL.g:13812:1: rule__Report__Group__9__Impl : ( ( rule__Report__RenderingAssignment_9 ) ) ;
+    // InternalReportDSL.g:13981:1: rule__Report__Group__9__Impl : ( ( rule__Report__RenderingAssignment_9 ) ) ;
     public final void rule__Report__Group__9__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:13816:1: ( ( ( rule__Report__RenderingAssignment_9 ) ) )
-            // InternalReportDSL.g:13817:1: ( ( rule__Report__RenderingAssignment_9 ) )
+            // InternalReportDSL.g:13985:1: ( ( ( rule__Report__RenderingAssignment_9 ) ) )
+            // InternalReportDSL.g:13986:1: ( ( rule__Report__RenderingAssignment_9 ) )
             {
-            // InternalReportDSL.g:13817:1: ( ( rule__Report__RenderingAssignment_9 ) )
-            // InternalReportDSL.g:13818:2: ( rule__Report__RenderingAssignment_9 )
+            // InternalReportDSL.g:13986:1: ( ( rule__Report__RenderingAssignment_9 ) )
+            // InternalReportDSL.g:13987:2: ( rule__Report__RenderingAssignment_9 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getReportAccess().getRenderingAssignment_9()); 
             }
-            // InternalReportDSL.g:13819:2: ( rule__Report__RenderingAssignment_9 )
-            // InternalReportDSL.g:13819:3: rule__Report__RenderingAssignment_9
+            // InternalReportDSL.g:13988:2: ( rule__Report__RenderingAssignment_9 )
+            // InternalReportDSL.g:13988:3: rule__Report__RenderingAssignment_9
             {
             pushFollow(FOLLOW_2);
             rule__Report__RenderingAssignment_9();
@@ -47249,16 +47858,16 @@
 
 
     // $ANTLR start "rule__Report__Group__10"
-    // InternalReportDSL.g:13827:1: rule__Report__Group__10 : rule__Report__Group__10__Impl rule__Report__Group__11 ;
+    // InternalReportDSL.g:13996:1: rule__Report__Group__10 : rule__Report__Group__10__Impl rule__Report__Group__11 ;
     public final void rule__Report__Group__10() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:13831:1: ( rule__Report__Group__10__Impl rule__Report__Group__11 )
-            // InternalReportDSL.g:13832:2: rule__Report__Group__10__Impl rule__Report__Group__11
+            // InternalReportDSL.g:14000:1: ( rule__Report__Group__10__Impl rule__Report__Group__11 )
+            // InternalReportDSL.g:14001:2: rule__Report__Group__10__Impl rule__Report__Group__11
             {
-            pushFollow(FOLLOW_64);
+            pushFollow(FOLLOW_65);
             rule__Report__Group__10__Impl();
 
             state._fsp--;
@@ -47287,31 +47896,31 @@
 
 
     // $ANTLR start "rule__Report__Group__10__Impl"
-    // InternalReportDSL.g:13839:1: rule__Report__Group__10__Impl : ( ( rule__Report__Group_10__0 )? ) ;
+    // InternalReportDSL.g:14008:1: rule__Report__Group__10__Impl : ( ( rule__Report__Group_10__0 )? ) ;
     public final void rule__Report__Group__10__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:13843:1: ( ( ( rule__Report__Group_10__0 )? ) )
-            // InternalReportDSL.g:13844:1: ( ( rule__Report__Group_10__0 )? )
+            // InternalReportDSL.g:14012:1: ( ( ( rule__Report__Group_10__0 )? ) )
+            // InternalReportDSL.g:14013:1: ( ( rule__Report__Group_10__0 )? )
             {
-            // InternalReportDSL.g:13844:1: ( ( rule__Report__Group_10__0 )? )
-            // InternalReportDSL.g:13845:2: ( rule__Report__Group_10__0 )?
+            // InternalReportDSL.g:14013:1: ( ( rule__Report__Group_10__0 )? )
+            // InternalReportDSL.g:14014:2: ( rule__Report__Group_10__0 )?
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getReportAccess().getGroup_10()); 
             }
-            // InternalReportDSL.g:13846:2: ( rule__Report__Group_10__0 )?
-            int alt99=2;
-            int LA99_0 = input.LA(1);
+            // InternalReportDSL.g:14015:2: ( rule__Report__Group_10__0 )?
+            int alt101=2;
+            int LA101_0 = input.LA(1);
 
-            if ( (LA99_0==128) ) {
-                alt99=1;
+            if ( (LA101_0==134) ) {
+                alt101=1;
             }
-            switch (alt99) {
+            switch (alt101) {
                 case 1 :
-                    // InternalReportDSL.g:13846:3: rule__Report__Group_10__0
+                    // InternalReportDSL.g:14015:3: rule__Report__Group_10__0
                     {
                     pushFollow(FOLLOW_2);
                     rule__Report__Group_10__0();
@@ -47349,16 +47958,16 @@
 
 
     // $ANTLR start "rule__Report__Group__11"
-    // InternalReportDSL.g:13854:1: rule__Report__Group__11 : rule__Report__Group__11__Impl rule__Report__Group__12 ;
+    // InternalReportDSL.g:14023:1: rule__Report__Group__11 : rule__Report__Group__11__Impl rule__Report__Group__12 ;
     public final void rule__Report__Group__11() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:13858:1: ( rule__Report__Group__11__Impl rule__Report__Group__12 )
-            // InternalReportDSL.g:13859:2: rule__Report__Group__11__Impl rule__Report__Group__12
+            // InternalReportDSL.g:14027:1: ( rule__Report__Group__11__Impl rule__Report__Group__12 )
+            // InternalReportDSL.g:14028:2: rule__Report__Group__11__Impl rule__Report__Group__12
             {
-            pushFollow(FOLLOW_64);
+            pushFollow(FOLLOW_65);
             rule__Report__Group__11__Impl();
 
             state._fsp--;
@@ -47387,31 +47996,31 @@
 
 
     // $ANTLR start "rule__Report__Group__11__Impl"
-    // InternalReportDSL.g:13866:1: rule__Report__Group__11__Impl : ( ( rule__Report__Group_11__0 )? ) ;
+    // InternalReportDSL.g:14035:1: rule__Report__Group__11__Impl : ( ( rule__Report__Group_11__0 )? ) ;
     public final void rule__Report__Group__11__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:13870:1: ( ( ( rule__Report__Group_11__0 )? ) )
-            // InternalReportDSL.g:13871:1: ( ( rule__Report__Group_11__0 )? )
+            // InternalReportDSL.g:14039:1: ( ( ( rule__Report__Group_11__0 )? ) )
+            // InternalReportDSL.g:14040:1: ( ( rule__Report__Group_11__0 )? )
             {
-            // InternalReportDSL.g:13871:1: ( ( rule__Report__Group_11__0 )? )
-            // InternalReportDSL.g:13872:2: ( rule__Report__Group_11__0 )?
+            // InternalReportDSL.g:14040:1: ( ( rule__Report__Group_11__0 )? )
+            // InternalReportDSL.g:14041:2: ( rule__Report__Group_11__0 )?
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getReportAccess().getGroup_11()); 
             }
-            // InternalReportDSL.g:13873:2: ( rule__Report__Group_11__0 )?
-            int alt100=2;
-            int LA100_0 = input.LA(1);
+            // InternalReportDSL.g:14042:2: ( rule__Report__Group_11__0 )?
+            int alt102=2;
+            int LA102_0 = input.LA(1);
 
-            if ( (LA100_0==180) ) {
-                alt100=1;
+            if ( (LA102_0==187) ) {
+                alt102=1;
             }
-            switch (alt100) {
+            switch (alt102) {
                 case 1 :
-                    // InternalReportDSL.g:13873:3: rule__Report__Group_11__0
+                    // InternalReportDSL.g:14042:3: rule__Report__Group_11__0
                     {
                     pushFollow(FOLLOW_2);
                     rule__Report__Group_11__0();
@@ -47449,14 +48058,14 @@
 
 
     // $ANTLR start "rule__Report__Group__12"
-    // InternalReportDSL.g:13881:1: rule__Report__Group__12 : rule__Report__Group__12__Impl rule__Report__Group__13 ;
+    // InternalReportDSL.g:14050:1: rule__Report__Group__12 : rule__Report__Group__12__Impl rule__Report__Group__13 ;
     public final void rule__Report__Group__12() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:13885:1: ( rule__Report__Group__12__Impl rule__Report__Group__13 )
-            // InternalReportDSL.g:13886:2: rule__Report__Group__12__Impl rule__Report__Group__13
+            // InternalReportDSL.g:14054:1: ( rule__Report__Group__12__Impl rule__Report__Group__13 )
+            // InternalReportDSL.g:14055:2: rule__Report__Group__12__Impl rule__Report__Group__13
             {
             pushFollow(FOLLOW_7);
             rule__Report__Group__12__Impl();
@@ -47487,22 +48096,22 @@
 
 
     // $ANTLR start "rule__Report__Group__12__Impl"
-    // InternalReportDSL.g:13893:1: rule__Report__Group__12__Impl : ( 'pagetemplate' ) ;
+    // InternalReportDSL.g:14062:1: rule__Report__Group__12__Impl : ( 'pagetemplate' ) ;
     public final void rule__Report__Group__12__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:13897:1: ( ( 'pagetemplate' ) )
-            // InternalReportDSL.g:13898:1: ( 'pagetemplate' )
+            // InternalReportDSL.g:14066:1: ( ( 'pagetemplate' ) )
+            // InternalReportDSL.g:14067:1: ( 'pagetemplate' )
             {
-            // InternalReportDSL.g:13898:1: ( 'pagetemplate' )
-            // InternalReportDSL.g:13899:2: 'pagetemplate'
+            // InternalReportDSL.g:14067:1: ( 'pagetemplate' )
+            // InternalReportDSL.g:14068:2: 'pagetemplate'
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getReportAccess().getPagetemplateKeyword_12()); 
             }
-            match(input,136,FOLLOW_2); if (state.failed) return ;
+            match(input,142,FOLLOW_2); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getReportAccess().getPagetemplateKeyword_12()); 
             }
@@ -47528,16 +48137,16 @@
 
 
     // $ANTLR start "rule__Report__Group__13"
-    // InternalReportDSL.g:13908:1: rule__Report__Group__13 : rule__Report__Group__13__Impl rule__Report__Group__14 ;
+    // InternalReportDSL.g:14077:1: rule__Report__Group__13 : rule__Report__Group__13__Impl rule__Report__Group__14 ;
     public final void rule__Report__Group__13() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:13912:1: ( rule__Report__Group__13__Impl rule__Report__Group__14 )
-            // InternalReportDSL.g:13913:2: rule__Report__Group__13__Impl rule__Report__Group__14
+            // InternalReportDSL.g:14081:1: ( rule__Report__Group__13__Impl rule__Report__Group__14 )
+            // InternalReportDSL.g:14082:2: rule__Report__Group__13__Impl rule__Report__Group__14
             {
-            pushFollow(FOLLOW_65);
+            pushFollow(FOLLOW_66);
             rule__Report__Group__13__Impl();
 
             state._fsp--;
@@ -47566,23 +48175,23 @@
 
 
     // $ANTLR start "rule__Report__Group__13__Impl"
-    // InternalReportDSL.g:13920:1: rule__Report__Group__13__Impl : ( ( rule__Report__PageTemplateAssignment_13 ) ) ;
+    // InternalReportDSL.g:14089:1: rule__Report__Group__13__Impl : ( ( rule__Report__PageTemplateAssignment_13 ) ) ;
     public final void rule__Report__Group__13__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:13924:1: ( ( ( rule__Report__PageTemplateAssignment_13 ) ) )
-            // InternalReportDSL.g:13925:1: ( ( rule__Report__PageTemplateAssignment_13 ) )
+            // InternalReportDSL.g:14093:1: ( ( ( rule__Report__PageTemplateAssignment_13 ) ) )
+            // InternalReportDSL.g:14094:1: ( ( rule__Report__PageTemplateAssignment_13 ) )
             {
-            // InternalReportDSL.g:13925:1: ( ( rule__Report__PageTemplateAssignment_13 ) )
-            // InternalReportDSL.g:13926:2: ( rule__Report__PageTemplateAssignment_13 )
+            // InternalReportDSL.g:14094:1: ( ( rule__Report__PageTemplateAssignment_13 ) )
+            // InternalReportDSL.g:14095:2: ( rule__Report__PageTemplateAssignment_13 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getReportAccess().getPageTemplateAssignment_13()); 
             }
-            // InternalReportDSL.g:13927:2: ( rule__Report__PageTemplateAssignment_13 )
-            // InternalReportDSL.g:13927:3: rule__Report__PageTemplateAssignment_13
+            // InternalReportDSL.g:14096:2: ( rule__Report__PageTemplateAssignment_13 )
+            // InternalReportDSL.g:14096:3: rule__Report__PageTemplateAssignment_13
             {
             pushFollow(FOLLOW_2);
             rule__Report__PageTemplateAssignment_13();
@@ -47617,14 +48226,14 @@
 
 
     // $ANTLR start "rule__Report__Group__14"
-    // InternalReportDSL.g:13935:1: rule__Report__Group__14 : rule__Report__Group__14__Impl rule__Report__Group__15 ;
+    // InternalReportDSL.g:14104:1: rule__Report__Group__14 : rule__Report__Group__14__Impl rule__Report__Group__15 ;
     public final void rule__Report__Group__14() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:13939:1: ( rule__Report__Group__14__Impl rule__Report__Group__15 )
-            // InternalReportDSL.g:13940:2: rule__Report__Group__14__Impl rule__Report__Group__15
+            // InternalReportDSL.g:14108:1: ( rule__Report__Group__14__Impl rule__Report__Group__15 )
+            // InternalReportDSL.g:14109:2: rule__Report__Group__14__Impl rule__Report__Group__15
             {
             pushFollow(FOLLOW_7);
             rule__Report__Group__14__Impl();
@@ -47655,22 +48264,22 @@
 
 
     // $ANTLR start "rule__Report__Group__14__Impl"
-    // InternalReportDSL.g:13947:1: rule__Report__Group__14__Impl : ( 'media' ) ;
+    // InternalReportDSL.g:14116:1: rule__Report__Group__14__Impl : ( 'media' ) ;
     public final void rule__Report__Group__14__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:13951:1: ( ( 'media' ) )
-            // InternalReportDSL.g:13952:1: ( 'media' )
+            // InternalReportDSL.g:14120:1: ( ( 'media' ) )
+            // InternalReportDSL.g:14121:1: ( 'media' )
             {
-            // InternalReportDSL.g:13952:1: ( 'media' )
-            // InternalReportDSL.g:13953:2: 'media'
+            // InternalReportDSL.g:14121:1: ( 'media' )
+            // InternalReportDSL.g:14122:2: 'media'
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getReportAccess().getMediaKeyword_14()); 
             }
-            match(input,134,FOLLOW_2); if (state.failed) return ;
+            match(input,140,FOLLOW_2); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getReportAccess().getMediaKeyword_14()); 
             }
@@ -47696,16 +48305,16 @@
 
 
     // $ANTLR start "rule__Report__Group__15"
-    // InternalReportDSL.g:13962:1: rule__Report__Group__15 : rule__Report__Group__15__Impl rule__Report__Group__16 ;
+    // InternalReportDSL.g:14131:1: rule__Report__Group__15 : rule__Report__Group__15__Impl rule__Report__Group__16 ;
     public final void rule__Report__Group__15() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:13966:1: ( rule__Report__Group__15__Impl rule__Report__Group__16 )
-            // InternalReportDSL.g:13967:2: rule__Report__Group__15__Impl rule__Report__Group__16
+            // InternalReportDSL.g:14135:1: ( rule__Report__Group__15__Impl rule__Report__Group__16 )
+            // InternalReportDSL.g:14136:2: rule__Report__Group__15__Impl rule__Report__Group__16
             {
-            pushFollow(FOLLOW_66);
+            pushFollow(FOLLOW_67);
             rule__Report__Group__15__Impl();
 
             state._fsp--;
@@ -47734,23 +48343,23 @@
 
 
     // $ANTLR start "rule__Report__Group__15__Impl"
-    // InternalReportDSL.g:13974:1: rule__Report__Group__15__Impl : ( ( rule__Report__MediaAssignment_15 ) ) ;
+    // InternalReportDSL.g:14143:1: rule__Report__Group__15__Impl : ( ( rule__Report__MediaAssignment_15 ) ) ;
     public final void rule__Report__Group__15__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:13978:1: ( ( ( rule__Report__MediaAssignment_15 ) ) )
-            // InternalReportDSL.g:13979:1: ( ( rule__Report__MediaAssignment_15 ) )
+            // InternalReportDSL.g:14147:1: ( ( ( rule__Report__MediaAssignment_15 ) ) )
+            // InternalReportDSL.g:14148:1: ( ( rule__Report__MediaAssignment_15 ) )
             {
-            // InternalReportDSL.g:13979:1: ( ( rule__Report__MediaAssignment_15 ) )
-            // InternalReportDSL.g:13980:2: ( rule__Report__MediaAssignment_15 )
+            // InternalReportDSL.g:14148:1: ( ( rule__Report__MediaAssignment_15 ) )
+            // InternalReportDSL.g:14149:2: ( rule__Report__MediaAssignment_15 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getReportAccess().getMediaAssignment_15()); 
             }
-            // InternalReportDSL.g:13981:2: ( rule__Report__MediaAssignment_15 )
-            // InternalReportDSL.g:13981:3: rule__Report__MediaAssignment_15
+            // InternalReportDSL.g:14150:2: ( rule__Report__MediaAssignment_15 )
+            // InternalReportDSL.g:14150:3: rule__Report__MediaAssignment_15
             {
             pushFollow(FOLLOW_2);
             rule__Report__MediaAssignment_15();
@@ -47785,14 +48394,14 @@
 
 
     // $ANTLR start "rule__Report__Group__16"
-    // InternalReportDSL.g:13989:1: rule__Report__Group__16 : rule__Report__Group__16__Impl rule__Report__Group__17 ;
+    // InternalReportDSL.g:14158:1: rule__Report__Group__16 : rule__Report__Group__16__Impl rule__Report__Group__17 ;
     public final void rule__Report__Group__16() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:13993:1: ( rule__Report__Group__16__Impl rule__Report__Group__17 )
-            // InternalReportDSL.g:13994:2: rule__Report__Group__16__Impl rule__Report__Group__17
+            // InternalReportDSL.g:14162:1: ( rule__Report__Group__16__Impl rule__Report__Group__17 )
+            // InternalReportDSL.g:14163:2: rule__Report__Group__16__Impl rule__Report__Group__17
             {
             pushFollow(FOLLOW_17);
             rule__Report__Group__16__Impl();
@@ -47823,23 +48432,23 @@
 
 
     // $ANTLR start "rule__Report__Group__16__Impl"
-    // InternalReportDSL.g:14001:1: rule__Report__Group__16__Impl : ( ( rule__Report__DesignAssignment_16 ) ) ;
+    // InternalReportDSL.g:14170:1: rule__Report__Group__16__Impl : ( ( rule__Report__DesignAssignment_16 ) ) ;
     public final void rule__Report__Group__16__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:14005:1: ( ( ( rule__Report__DesignAssignment_16 ) ) )
-            // InternalReportDSL.g:14006:1: ( ( rule__Report__DesignAssignment_16 ) )
+            // InternalReportDSL.g:14174:1: ( ( ( rule__Report__DesignAssignment_16 ) ) )
+            // InternalReportDSL.g:14175:1: ( ( rule__Report__DesignAssignment_16 ) )
             {
-            // InternalReportDSL.g:14006:1: ( ( rule__Report__DesignAssignment_16 ) )
-            // InternalReportDSL.g:14007:2: ( rule__Report__DesignAssignment_16 )
+            // InternalReportDSL.g:14175:1: ( ( rule__Report__DesignAssignment_16 ) )
+            // InternalReportDSL.g:14176:2: ( rule__Report__DesignAssignment_16 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getReportAccess().getDesignAssignment_16()); 
             }
-            // InternalReportDSL.g:14008:2: ( rule__Report__DesignAssignment_16 )
-            // InternalReportDSL.g:14008:3: rule__Report__DesignAssignment_16
+            // InternalReportDSL.g:14177:2: ( rule__Report__DesignAssignment_16 )
+            // InternalReportDSL.g:14177:3: rule__Report__DesignAssignment_16
             {
             pushFollow(FOLLOW_2);
             rule__Report__DesignAssignment_16();
@@ -47874,14 +48483,14 @@
 
 
     // $ANTLR start "rule__Report__Group__17"
-    // InternalReportDSL.g:14016:1: rule__Report__Group__17 : rule__Report__Group__17__Impl ;
+    // InternalReportDSL.g:14185:1: rule__Report__Group__17 : rule__Report__Group__17__Impl ;
     public final void rule__Report__Group__17() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:14020:1: ( rule__Report__Group__17__Impl )
-            // InternalReportDSL.g:14021:2: rule__Report__Group__17__Impl
+            // InternalReportDSL.g:14189:1: ( rule__Report__Group__17__Impl )
+            // InternalReportDSL.g:14190:2: rule__Report__Group__17__Impl
             {
             pushFollow(FOLLOW_2);
             rule__Report__Group__17__Impl();
@@ -47907,22 +48516,22 @@
 
 
     // $ANTLR start "rule__Report__Group__17__Impl"
-    // InternalReportDSL.g:14027:1: rule__Report__Group__17__Impl : ( '}' ) ;
+    // InternalReportDSL.g:14196:1: rule__Report__Group__17__Impl : ( '}' ) ;
     public final void rule__Report__Group__17__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:14031:1: ( ( '}' ) )
-            // InternalReportDSL.g:14032:1: ( '}' )
+            // InternalReportDSL.g:14200:1: ( ( '}' ) )
+            // InternalReportDSL.g:14201:1: ( '}' )
             {
-            // InternalReportDSL.g:14032:1: ( '}' )
-            // InternalReportDSL.g:14033:2: '}'
+            // InternalReportDSL.g:14201:1: ( '}' )
+            // InternalReportDSL.g:14202:2: '}'
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getReportAccess().getRightCurlyBracketKeyword_17()); 
             }
-            match(input,126,FOLLOW_2); if (state.failed) return ;
+            match(input,132,FOLLOW_2); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getReportAccess().getRightCurlyBracketKeyword_17()); 
             }
@@ -47948,14 +48557,14 @@
 
 
     // $ANTLR start "rule__Report__Group_2__0"
-    // InternalReportDSL.g:14043:1: rule__Report__Group_2__0 : rule__Report__Group_2__0__Impl rule__Report__Group_2__1 ;
+    // InternalReportDSL.g:14212:1: rule__Report__Group_2__0 : rule__Report__Group_2__0__Impl rule__Report__Group_2__1 ;
     public final void rule__Report__Group_2__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:14047:1: ( rule__Report__Group_2__0__Impl rule__Report__Group_2__1 )
-            // InternalReportDSL.g:14048:2: rule__Report__Group_2__0__Impl rule__Report__Group_2__1
+            // InternalReportDSL.g:14216:1: ( rule__Report__Group_2__0__Impl rule__Report__Group_2__1 )
+            // InternalReportDSL.g:14217:2: rule__Report__Group_2__0__Impl rule__Report__Group_2__1
             {
             pushFollow(FOLLOW_18);
             rule__Report__Group_2__0__Impl();
@@ -47986,23 +48595,23 @@
 
 
     // $ANTLR start "rule__Report__Group_2__0__Impl"
-    // InternalReportDSL.g:14055:1: rule__Report__Group_2__0__Impl : ( ( rule__Report__DescriptionAssignment_2_0 ) ) ;
+    // InternalReportDSL.g:14224:1: rule__Report__Group_2__0__Impl : ( ( rule__Report__DescriptionAssignment_2_0 ) ) ;
     public final void rule__Report__Group_2__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:14059:1: ( ( ( rule__Report__DescriptionAssignment_2_0 ) ) )
-            // InternalReportDSL.g:14060:1: ( ( rule__Report__DescriptionAssignment_2_0 ) )
+            // InternalReportDSL.g:14228:1: ( ( ( rule__Report__DescriptionAssignment_2_0 ) ) )
+            // InternalReportDSL.g:14229:1: ( ( rule__Report__DescriptionAssignment_2_0 ) )
             {
-            // InternalReportDSL.g:14060:1: ( ( rule__Report__DescriptionAssignment_2_0 ) )
-            // InternalReportDSL.g:14061:2: ( rule__Report__DescriptionAssignment_2_0 )
+            // InternalReportDSL.g:14229:1: ( ( rule__Report__DescriptionAssignment_2_0 ) )
+            // InternalReportDSL.g:14230:2: ( rule__Report__DescriptionAssignment_2_0 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getReportAccess().getDescriptionAssignment_2_0()); 
             }
-            // InternalReportDSL.g:14062:2: ( rule__Report__DescriptionAssignment_2_0 )
-            // InternalReportDSL.g:14062:3: rule__Report__DescriptionAssignment_2_0
+            // InternalReportDSL.g:14231:2: ( rule__Report__DescriptionAssignment_2_0 )
+            // InternalReportDSL.g:14231:3: rule__Report__DescriptionAssignment_2_0
             {
             pushFollow(FOLLOW_2);
             rule__Report__DescriptionAssignment_2_0();
@@ -48037,14 +48646,14 @@
 
 
     // $ANTLR start "rule__Report__Group_2__1"
-    // InternalReportDSL.g:14070:1: rule__Report__Group_2__1 : rule__Report__Group_2__1__Impl ;
+    // InternalReportDSL.g:14239:1: rule__Report__Group_2__1 : rule__Report__Group_2__1__Impl ;
     public final void rule__Report__Group_2__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:14074:1: ( rule__Report__Group_2__1__Impl )
-            // InternalReportDSL.g:14075:2: rule__Report__Group_2__1__Impl
+            // InternalReportDSL.g:14243:1: ( rule__Report__Group_2__1__Impl )
+            // InternalReportDSL.g:14244:2: rule__Report__Group_2__1__Impl
             {
             pushFollow(FOLLOW_2);
             rule__Report__Group_2__1__Impl();
@@ -48070,23 +48679,23 @@
 
 
     // $ANTLR start "rule__Report__Group_2__1__Impl"
-    // InternalReportDSL.g:14081:1: rule__Report__Group_2__1__Impl : ( ( rule__Report__DescriptionValueAssignment_2_1 ) ) ;
+    // InternalReportDSL.g:14250:1: rule__Report__Group_2__1__Impl : ( ( rule__Report__DescriptionValueAssignment_2_1 ) ) ;
     public final void rule__Report__Group_2__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:14085:1: ( ( ( rule__Report__DescriptionValueAssignment_2_1 ) ) )
-            // InternalReportDSL.g:14086:1: ( ( rule__Report__DescriptionValueAssignment_2_1 ) )
+            // InternalReportDSL.g:14254:1: ( ( ( rule__Report__DescriptionValueAssignment_2_1 ) ) )
+            // InternalReportDSL.g:14255:1: ( ( rule__Report__DescriptionValueAssignment_2_1 ) )
             {
-            // InternalReportDSL.g:14086:1: ( ( rule__Report__DescriptionValueAssignment_2_1 ) )
-            // InternalReportDSL.g:14087:2: ( rule__Report__DescriptionValueAssignment_2_1 )
+            // InternalReportDSL.g:14255:1: ( ( rule__Report__DescriptionValueAssignment_2_1 ) )
+            // InternalReportDSL.g:14256:2: ( rule__Report__DescriptionValueAssignment_2_1 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getReportAccess().getDescriptionValueAssignment_2_1()); 
             }
-            // InternalReportDSL.g:14088:2: ( rule__Report__DescriptionValueAssignment_2_1 )
-            // InternalReportDSL.g:14088:3: rule__Report__DescriptionValueAssignment_2_1
+            // InternalReportDSL.g:14257:2: ( rule__Report__DescriptionValueAssignment_2_1 )
+            // InternalReportDSL.g:14257:3: rule__Report__DescriptionValueAssignment_2_1
             {
             pushFollow(FOLLOW_2);
             rule__Report__DescriptionValueAssignment_2_1();
@@ -48121,14 +48730,14 @@
 
 
     // $ANTLR start "rule__Report__Group_3__0"
-    // InternalReportDSL.g:14097:1: rule__Report__Group_3__0 : rule__Report__Group_3__0__Impl rule__Report__Group_3__1 ;
+    // InternalReportDSL.g:14266:1: rule__Report__Group_3__0 : rule__Report__Group_3__0__Impl rule__Report__Group_3__1 ;
     public final void rule__Report__Group_3__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:14101:1: ( rule__Report__Group_3__0__Impl rule__Report__Group_3__1 )
-            // InternalReportDSL.g:14102:2: rule__Report__Group_3__0__Impl rule__Report__Group_3__1
+            // InternalReportDSL.g:14270:1: ( rule__Report__Group_3__0__Impl rule__Report__Group_3__1 )
+            // InternalReportDSL.g:14271:2: rule__Report__Group_3__0__Impl rule__Report__Group_3__1
             {
             pushFollow(FOLLOW_7);
             rule__Report__Group_3__0__Impl();
@@ -48159,22 +48768,22 @@
 
 
     // $ANTLR start "rule__Report__Group_3__0__Impl"
-    // InternalReportDSL.g:14109:1: rule__Report__Group_3__0__Impl : ( 'toolbar' ) ;
+    // InternalReportDSL.g:14278:1: rule__Report__Group_3__0__Impl : ( 'toolbar' ) ;
     public final void rule__Report__Group_3__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:14113:1: ( ( 'toolbar' ) )
-            // InternalReportDSL.g:14114:1: ( 'toolbar' )
+            // InternalReportDSL.g:14282:1: ( ( 'toolbar' ) )
+            // InternalReportDSL.g:14283:1: ( 'toolbar' )
             {
-            // InternalReportDSL.g:14114:1: ( 'toolbar' )
-            // InternalReportDSL.g:14115:2: 'toolbar'
+            // InternalReportDSL.g:14283:1: ( 'toolbar' )
+            // InternalReportDSL.g:14284:2: 'toolbar'
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getReportAccess().getToolbarKeyword_3_0()); 
             }
-            match(input,179,FOLLOW_2); if (state.failed) return ;
+            match(input,186,FOLLOW_2); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getReportAccess().getToolbarKeyword_3_0()); 
             }
@@ -48200,14 +48809,14 @@
 
 
     // $ANTLR start "rule__Report__Group_3__1"
-    // InternalReportDSL.g:14124:1: rule__Report__Group_3__1 : rule__Report__Group_3__1__Impl ;
+    // InternalReportDSL.g:14293:1: rule__Report__Group_3__1 : rule__Report__Group_3__1__Impl ;
     public final void rule__Report__Group_3__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:14128:1: ( rule__Report__Group_3__1__Impl )
-            // InternalReportDSL.g:14129:2: rule__Report__Group_3__1__Impl
+            // InternalReportDSL.g:14297:1: ( rule__Report__Group_3__1__Impl )
+            // InternalReportDSL.g:14298:2: rule__Report__Group_3__1__Impl
             {
             pushFollow(FOLLOW_2);
             rule__Report__Group_3__1__Impl();
@@ -48233,23 +48842,23 @@
 
 
     // $ANTLR start "rule__Report__Group_3__1__Impl"
-    // InternalReportDSL.g:14135:1: rule__Report__Group_3__1__Impl : ( ( rule__Report__ToolbarAssignment_3_1 ) ) ;
+    // InternalReportDSL.g:14304:1: rule__Report__Group_3__1__Impl : ( ( rule__Report__ToolbarAssignment_3_1 ) ) ;
     public final void rule__Report__Group_3__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:14139:1: ( ( ( rule__Report__ToolbarAssignment_3_1 ) ) )
-            // InternalReportDSL.g:14140:1: ( ( rule__Report__ToolbarAssignment_3_1 ) )
+            // InternalReportDSL.g:14308:1: ( ( ( rule__Report__ToolbarAssignment_3_1 ) ) )
+            // InternalReportDSL.g:14309:1: ( ( rule__Report__ToolbarAssignment_3_1 ) )
             {
-            // InternalReportDSL.g:14140:1: ( ( rule__Report__ToolbarAssignment_3_1 ) )
-            // InternalReportDSL.g:14141:2: ( rule__Report__ToolbarAssignment_3_1 )
+            // InternalReportDSL.g:14309:1: ( ( rule__Report__ToolbarAssignment_3_1 ) )
+            // InternalReportDSL.g:14310:2: ( rule__Report__ToolbarAssignment_3_1 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getReportAccess().getToolbarAssignment_3_1()); 
             }
-            // InternalReportDSL.g:14142:2: ( rule__Report__ToolbarAssignment_3_1 )
-            // InternalReportDSL.g:14142:3: rule__Report__ToolbarAssignment_3_1
+            // InternalReportDSL.g:14311:2: ( rule__Report__ToolbarAssignment_3_1 )
+            // InternalReportDSL.g:14311:3: rule__Report__ToolbarAssignment_3_1
             {
             pushFollow(FOLLOW_2);
             rule__Report__ToolbarAssignment_3_1();
@@ -48284,14 +48893,14 @@
 
 
     // $ANTLR start "rule__Report__Group_10__0"
-    // InternalReportDSL.g:14151:1: rule__Report__Group_10__0 : rule__Report__Group_10__0__Impl rule__Report__Group_10__1 ;
+    // InternalReportDSL.g:14320:1: rule__Report__Group_10__0 : rule__Report__Group_10__0__Impl rule__Report__Group_10__1 ;
     public final void rule__Report__Group_10__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:14155:1: ( rule__Report__Group_10__0__Impl rule__Report__Group_10__1 )
-            // InternalReportDSL.g:14156:2: rule__Report__Group_10__0__Impl rule__Report__Group_10__1
+            // InternalReportDSL.g:14324:1: ( rule__Report__Group_10__0__Impl rule__Report__Group_10__1 )
+            // InternalReportDSL.g:14325:2: rule__Report__Group_10__0__Impl rule__Report__Group_10__1
             {
             pushFollow(FOLLOW_18);
             rule__Report__Group_10__0__Impl();
@@ -48322,22 +48931,22 @@
 
 
     // $ANTLR start "rule__Report__Group_10__0__Impl"
-    // InternalReportDSL.g:14163:1: rule__Report__Group_10__0__Impl : ( 'externalCssURI' ) ;
+    // InternalReportDSL.g:14332:1: rule__Report__Group_10__0__Impl : ( 'externalCssURI' ) ;
     public final void rule__Report__Group_10__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:14167:1: ( ( 'externalCssURI' ) )
-            // InternalReportDSL.g:14168:1: ( 'externalCssURI' )
+            // InternalReportDSL.g:14336:1: ( ( 'externalCssURI' ) )
+            // InternalReportDSL.g:14337:1: ( 'externalCssURI' )
             {
-            // InternalReportDSL.g:14168:1: ( 'externalCssURI' )
-            // InternalReportDSL.g:14169:2: 'externalCssURI'
+            // InternalReportDSL.g:14337:1: ( 'externalCssURI' )
+            // InternalReportDSL.g:14338:2: 'externalCssURI'
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getReportAccess().getExternalCssURIKeyword_10_0()); 
             }
-            match(input,128,FOLLOW_2); if (state.failed) return ;
+            match(input,134,FOLLOW_2); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getReportAccess().getExternalCssURIKeyword_10_0()); 
             }
@@ -48363,14 +48972,14 @@
 
 
     // $ANTLR start "rule__Report__Group_10__1"
-    // InternalReportDSL.g:14178:1: rule__Report__Group_10__1 : rule__Report__Group_10__1__Impl rule__Report__Group_10__2 ;
+    // InternalReportDSL.g:14347:1: rule__Report__Group_10__1 : rule__Report__Group_10__1__Impl rule__Report__Group_10__2 ;
     public final void rule__Report__Group_10__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:14182:1: ( rule__Report__Group_10__1__Impl rule__Report__Group_10__2 )
-            // InternalReportDSL.g:14183:2: rule__Report__Group_10__1__Impl rule__Report__Group_10__2
+            // InternalReportDSL.g:14351:1: ( rule__Report__Group_10__1__Impl rule__Report__Group_10__2 )
+            // InternalReportDSL.g:14352:2: rule__Report__Group_10__1__Impl rule__Report__Group_10__2
             {
             pushFollow(FOLLOW_19);
             rule__Report__Group_10__1__Impl();
@@ -48401,23 +49010,23 @@
 
 
     // $ANTLR start "rule__Report__Group_10__1__Impl"
-    // InternalReportDSL.g:14190:1: rule__Report__Group_10__1__Impl : ( ( rule__Report__ExternalCssURIAssignment_10_1 ) ) ;
+    // InternalReportDSL.g:14359:1: rule__Report__Group_10__1__Impl : ( ( rule__Report__ExternalCssURIAssignment_10_1 ) ) ;
     public final void rule__Report__Group_10__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:14194:1: ( ( ( rule__Report__ExternalCssURIAssignment_10_1 ) ) )
-            // InternalReportDSL.g:14195:1: ( ( rule__Report__ExternalCssURIAssignment_10_1 ) )
+            // InternalReportDSL.g:14363:1: ( ( ( rule__Report__ExternalCssURIAssignment_10_1 ) ) )
+            // InternalReportDSL.g:14364:1: ( ( rule__Report__ExternalCssURIAssignment_10_1 ) )
             {
-            // InternalReportDSL.g:14195:1: ( ( rule__Report__ExternalCssURIAssignment_10_1 ) )
-            // InternalReportDSL.g:14196:2: ( rule__Report__ExternalCssURIAssignment_10_1 )
+            // InternalReportDSL.g:14364:1: ( ( rule__Report__ExternalCssURIAssignment_10_1 ) )
+            // InternalReportDSL.g:14365:2: ( rule__Report__ExternalCssURIAssignment_10_1 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getReportAccess().getExternalCssURIAssignment_10_1()); 
             }
-            // InternalReportDSL.g:14197:2: ( rule__Report__ExternalCssURIAssignment_10_1 )
-            // InternalReportDSL.g:14197:3: rule__Report__ExternalCssURIAssignment_10_1
+            // InternalReportDSL.g:14366:2: ( rule__Report__ExternalCssURIAssignment_10_1 )
+            // InternalReportDSL.g:14366:3: rule__Report__ExternalCssURIAssignment_10_1
             {
             pushFollow(FOLLOW_2);
             rule__Report__ExternalCssURIAssignment_10_1();
@@ -48452,14 +49061,14 @@
 
 
     // $ANTLR start "rule__Report__Group_10__2"
-    // InternalReportDSL.g:14205:1: rule__Report__Group_10__2 : rule__Report__Group_10__2__Impl ;
+    // InternalReportDSL.g:14374:1: rule__Report__Group_10__2 : rule__Report__Group_10__2__Impl ;
     public final void rule__Report__Group_10__2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:14209:1: ( rule__Report__Group_10__2__Impl )
-            // InternalReportDSL.g:14210:2: rule__Report__Group_10__2__Impl
+            // InternalReportDSL.g:14378:1: ( rule__Report__Group_10__2__Impl )
+            // InternalReportDSL.g:14379:2: rule__Report__Group_10__2__Impl
             {
             pushFollow(FOLLOW_2);
             rule__Report__Group_10__2__Impl();
@@ -48485,31 +49094,31 @@
 
 
     // $ANTLR start "rule__Report__Group_10__2__Impl"
-    // InternalReportDSL.g:14216:1: rule__Report__Group_10__2__Impl : ( ( rule__Report__Group_10_2__0 )? ) ;
+    // InternalReportDSL.g:14385:1: rule__Report__Group_10__2__Impl : ( ( rule__Report__Group_10_2__0 )? ) ;
     public final void rule__Report__Group_10__2__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:14220:1: ( ( ( rule__Report__Group_10_2__0 )? ) )
-            // InternalReportDSL.g:14221:1: ( ( rule__Report__Group_10_2__0 )? )
+            // InternalReportDSL.g:14389:1: ( ( ( rule__Report__Group_10_2__0 )? ) )
+            // InternalReportDSL.g:14390:1: ( ( rule__Report__Group_10_2__0 )? )
             {
-            // InternalReportDSL.g:14221:1: ( ( rule__Report__Group_10_2__0 )? )
-            // InternalReportDSL.g:14222:2: ( rule__Report__Group_10_2__0 )?
+            // InternalReportDSL.g:14390:1: ( ( rule__Report__Group_10_2__0 )? )
+            // InternalReportDSL.g:14391:2: ( rule__Report__Group_10_2__0 )?
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getReportAccess().getGroup_10_2()); 
             }
-            // InternalReportDSL.g:14223:2: ( rule__Report__Group_10_2__0 )?
-            int alt101=2;
-            int LA101_0 = input.LA(1);
+            // InternalReportDSL.g:14392:2: ( rule__Report__Group_10_2__0 )?
+            int alt103=2;
+            int LA103_0 = input.LA(1);
 
-            if ( (LA101_0==129) ) {
-                alt101=1;
+            if ( (LA103_0==135) ) {
+                alt103=1;
             }
-            switch (alt101) {
+            switch (alt103) {
                 case 1 :
-                    // InternalReportDSL.g:14223:3: rule__Report__Group_10_2__0
+                    // InternalReportDSL.g:14392:3: rule__Report__Group_10_2__0
                     {
                     pushFollow(FOLLOW_2);
                     rule__Report__Group_10_2__0();
@@ -48547,14 +49156,14 @@
 
 
     // $ANTLR start "rule__Report__Group_10_2__0"
-    // InternalReportDSL.g:14232:1: rule__Report__Group_10_2__0 : rule__Report__Group_10_2__0__Impl rule__Report__Group_10_2__1 ;
+    // InternalReportDSL.g:14401:1: rule__Report__Group_10_2__0 : rule__Report__Group_10_2__0__Impl rule__Report__Group_10_2__1 ;
     public final void rule__Report__Group_10_2__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:14236:1: ( rule__Report__Group_10_2__0__Impl rule__Report__Group_10_2__1 )
-            // InternalReportDSL.g:14237:2: rule__Report__Group_10_2__0__Impl rule__Report__Group_10_2__1
+            // InternalReportDSL.g:14405:1: ( rule__Report__Group_10_2__0__Impl rule__Report__Group_10_2__1 )
+            // InternalReportDSL.g:14406:2: rule__Report__Group_10_2__0__Impl rule__Report__Group_10_2__1
             {
             pushFollow(FOLLOW_18);
             rule__Report__Group_10_2__0__Impl();
@@ -48585,22 +49194,22 @@
 
 
     // $ANTLR start "rule__Report__Group_10_2__0__Impl"
-    // InternalReportDSL.g:14244:1: rule__Report__Group_10_2__0__Impl : ( 'fromBundle' ) ;
+    // InternalReportDSL.g:14413:1: rule__Report__Group_10_2__0__Impl : ( 'fromBundle' ) ;
     public final void rule__Report__Group_10_2__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:14248:1: ( ( 'fromBundle' ) )
-            // InternalReportDSL.g:14249:1: ( 'fromBundle' )
+            // InternalReportDSL.g:14417:1: ( ( 'fromBundle' ) )
+            // InternalReportDSL.g:14418:1: ( 'fromBundle' )
             {
-            // InternalReportDSL.g:14249:1: ( 'fromBundle' )
-            // InternalReportDSL.g:14250:2: 'fromBundle'
+            // InternalReportDSL.g:14418:1: ( 'fromBundle' )
+            // InternalReportDSL.g:14419:2: 'fromBundle'
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getReportAccess().getFromBundleKeyword_10_2_0()); 
             }
-            match(input,129,FOLLOW_2); if (state.failed) return ;
+            match(input,135,FOLLOW_2); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getReportAccess().getFromBundleKeyword_10_2_0()); 
             }
@@ -48626,14 +49235,14 @@
 
 
     // $ANTLR start "rule__Report__Group_10_2__1"
-    // InternalReportDSL.g:14259:1: rule__Report__Group_10_2__1 : rule__Report__Group_10_2__1__Impl ;
+    // InternalReportDSL.g:14428:1: rule__Report__Group_10_2__1 : rule__Report__Group_10_2__1__Impl ;
     public final void rule__Report__Group_10_2__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:14263:1: ( rule__Report__Group_10_2__1__Impl )
-            // InternalReportDSL.g:14264:2: rule__Report__Group_10_2__1__Impl
+            // InternalReportDSL.g:14432:1: ( rule__Report__Group_10_2__1__Impl )
+            // InternalReportDSL.g:14433:2: rule__Report__Group_10_2__1__Impl
             {
             pushFollow(FOLLOW_2);
             rule__Report__Group_10_2__1__Impl();
@@ -48659,23 +49268,23 @@
 
 
     // $ANTLR start "rule__Report__Group_10_2__1__Impl"
-    // InternalReportDSL.g:14270:1: rule__Report__Group_10_2__1__Impl : ( ( rule__Report__ExternalCssURIBundleAssignment_10_2_1 ) ) ;
+    // InternalReportDSL.g:14439:1: rule__Report__Group_10_2__1__Impl : ( ( rule__Report__ExternalCssURIBundleAssignment_10_2_1 ) ) ;
     public final void rule__Report__Group_10_2__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:14274:1: ( ( ( rule__Report__ExternalCssURIBundleAssignment_10_2_1 ) ) )
-            // InternalReportDSL.g:14275:1: ( ( rule__Report__ExternalCssURIBundleAssignment_10_2_1 ) )
+            // InternalReportDSL.g:14443:1: ( ( ( rule__Report__ExternalCssURIBundleAssignment_10_2_1 ) ) )
+            // InternalReportDSL.g:14444:1: ( ( rule__Report__ExternalCssURIBundleAssignment_10_2_1 ) )
             {
-            // InternalReportDSL.g:14275:1: ( ( rule__Report__ExternalCssURIBundleAssignment_10_2_1 ) )
-            // InternalReportDSL.g:14276:2: ( rule__Report__ExternalCssURIBundleAssignment_10_2_1 )
+            // InternalReportDSL.g:14444:1: ( ( rule__Report__ExternalCssURIBundleAssignment_10_2_1 ) )
+            // InternalReportDSL.g:14445:2: ( rule__Report__ExternalCssURIBundleAssignment_10_2_1 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getReportAccess().getExternalCssURIBundleAssignment_10_2_1()); 
             }
-            // InternalReportDSL.g:14277:2: ( rule__Report__ExternalCssURIBundleAssignment_10_2_1 )
-            // InternalReportDSL.g:14277:3: rule__Report__ExternalCssURIBundleAssignment_10_2_1
+            // InternalReportDSL.g:14446:2: ( rule__Report__ExternalCssURIBundleAssignment_10_2_1 )
+            // InternalReportDSL.g:14446:3: rule__Report__ExternalCssURIBundleAssignment_10_2_1
             {
             pushFollow(FOLLOW_2);
             rule__Report__ExternalCssURIBundleAssignment_10_2_1();
@@ -48710,14 +49319,14 @@
 
 
     // $ANTLR start "rule__Report__Group_11__0"
-    // InternalReportDSL.g:14286:1: rule__Report__Group_11__0 : rule__Report__Group_11__0__Impl rule__Report__Group_11__1 ;
+    // InternalReportDSL.g:14455:1: rule__Report__Group_11__0 : rule__Report__Group_11__0__Impl rule__Report__Group_11__1 ;
     public final void rule__Report__Group_11__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:14290:1: ( rule__Report__Group_11__0__Impl rule__Report__Group_11__1 )
-            // InternalReportDSL.g:14291:2: rule__Report__Group_11__0__Impl rule__Report__Group_11__1
+            // InternalReportDSL.g:14459:1: ( rule__Report__Group_11__0__Impl rule__Report__Group_11__1 )
+            // InternalReportDSL.g:14460:2: rule__Report__Group_11__0__Impl rule__Report__Group_11__1
             {
             pushFollow(FOLLOW_48);
             rule__Report__Group_11__0__Impl();
@@ -48748,22 +49357,22 @@
 
 
     // $ANTLR start "rule__Report__Group_11__0__Impl"
-    // InternalReportDSL.g:14298:1: rule__Report__Group_11__0__Impl : ( 'defaultUnit' ) ;
+    // InternalReportDSL.g:14467:1: rule__Report__Group_11__0__Impl : ( 'defaultUnit' ) ;
     public final void rule__Report__Group_11__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:14302:1: ( ( 'defaultUnit' ) )
-            // InternalReportDSL.g:14303:1: ( 'defaultUnit' )
+            // InternalReportDSL.g:14471:1: ( ( 'defaultUnit' ) )
+            // InternalReportDSL.g:14472:1: ( 'defaultUnit' )
             {
-            // InternalReportDSL.g:14303:1: ( 'defaultUnit' )
-            // InternalReportDSL.g:14304:2: 'defaultUnit'
+            // InternalReportDSL.g:14472:1: ( 'defaultUnit' )
+            // InternalReportDSL.g:14473:2: 'defaultUnit'
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getReportAccess().getDefaultUnitKeyword_11_0()); 
             }
-            match(input,180,FOLLOW_2); if (state.failed) return ;
+            match(input,187,FOLLOW_2); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getReportAccess().getDefaultUnitKeyword_11_0()); 
             }
@@ -48789,14 +49398,14 @@
 
 
     // $ANTLR start "rule__Report__Group_11__1"
-    // InternalReportDSL.g:14313:1: rule__Report__Group_11__1 : rule__Report__Group_11__1__Impl ;
+    // InternalReportDSL.g:14482:1: rule__Report__Group_11__1 : rule__Report__Group_11__1__Impl ;
     public final void rule__Report__Group_11__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:14317:1: ( rule__Report__Group_11__1__Impl )
-            // InternalReportDSL.g:14318:2: rule__Report__Group_11__1__Impl
+            // InternalReportDSL.g:14486:1: ( rule__Report__Group_11__1__Impl )
+            // InternalReportDSL.g:14487:2: rule__Report__Group_11__1__Impl
             {
             pushFollow(FOLLOW_2);
             rule__Report__Group_11__1__Impl();
@@ -48822,23 +49431,23 @@
 
 
     // $ANTLR start "rule__Report__Group_11__1__Impl"
-    // InternalReportDSL.g:14324:1: rule__Report__Group_11__1__Impl : ( ( rule__Report__DefaultUnitAssignment_11_1 ) ) ;
+    // InternalReportDSL.g:14493:1: rule__Report__Group_11__1__Impl : ( ( rule__Report__DefaultUnitAssignment_11_1 ) ) ;
     public final void rule__Report__Group_11__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:14328:1: ( ( ( rule__Report__DefaultUnitAssignment_11_1 ) ) )
-            // InternalReportDSL.g:14329:1: ( ( rule__Report__DefaultUnitAssignment_11_1 ) )
+            // InternalReportDSL.g:14497:1: ( ( ( rule__Report__DefaultUnitAssignment_11_1 ) ) )
+            // InternalReportDSL.g:14498:1: ( ( rule__Report__DefaultUnitAssignment_11_1 ) )
             {
-            // InternalReportDSL.g:14329:1: ( ( rule__Report__DefaultUnitAssignment_11_1 ) )
-            // InternalReportDSL.g:14330:2: ( rule__Report__DefaultUnitAssignment_11_1 )
+            // InternalReportDSL.g:14498:1: ( ( rule__Report__DefaultUnitAssignment_11_1 ) )
+            // InternalReportDSL.g:14499:2: ( rule__Report__DefaultUnitAssignment_11_1 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getReportAccess().getDefaultUnitAssignment_11_1()); 
             }
-            // InternalReportDSL.g:14331:2: ( rule__Report__DefaultUnitAssignment_11_1 )
-            // InternalReportDSL.g:14331:3: rule__Report__DefaultUnitAssignment_11_1
+            // InternalReportDSL.g:14500:2: ( rule__Report__DefaultUnitAssignment_11_1 )
+            // InternalReportDSL.g:14500:3: rule__Report__DefaultUnitAssignment_11_1
             {
             pushFollow(FOLLOW_2);
             rule__Report__DefaultUnitAssignment_11_1();
@@ -48873,14 +49482,14 @@
 
 
     // $ANTLR start "rule__ReportDesignFile__Group__0"
-    // InternalReportDSL.g:14340:1: rule__ReportDesignFile__Group__0 : rule__ReportDesignFile__Group__0__Impl rule__ReportDesignFile__Group__1 ;
+    // InternalReportDSL.g:14509:1: rule__ReportDesignFile__Group__0 : rule__ReportDesignFile__Group__0__Impl rule__ReportDesignFile__Group__1 ;
     public final void rule__ReportDesignFile__Group__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:14344:1: ( rule__ReportDesignFile__Group__0__Impl rule__ReportDesignFile__Group__1 )
-            // InternalReportDSL.g:14345:2: rule__ReportDesignFile__Group__0__Impl rule__ReportDesignFile__Group__1
+            // InternalReportDSL.g:14513:1: ( rule__ReportDesignFile__Group__0__Impl rule__ReportDesignFile__Group__1 )
+            // InternalReportDSL.g:14514:2: rule__ReportDesignFile__Group__0__Impl rule__ReportDesignFile__Group__1
             {
             pushFollow(FOLLOW_18);
             rule__ReportDesignFile__Group__0__Impl();
@@ -48911,22 +49520,22 @@
 
 
     // $ANTLR start "rule__ReportDesignFile__Group__0__Impl"
-    // InternalReportDSL.g:14352:1: rule__ReportDesignFile__Group__0__Impl : ( 'file' ) ;
+    // InternalReportDSL.g:14521:1: rule__ReportDesignFile__Group__0__Impl : ( 'file' ) ;
     public final void rule__ReportDesignFile__Group__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:14356:1: ( ( 'file' ) )
-            // InternalReportDSL.g:14357:1: ( 'file' )
+            // InternalReportDSL.g:14525:1: ( ( 'file' ) )
+            // InternalReportDSL.g:14526:1: ( 'file' )
             {
-            // InternalReportDSL.g:14357:1: ( 'file' )
-            // InternalReportDSL.g:14358:2: 'file'
+            // InternalReportDSL.g:14526:1: ( 'file' )
+            // InternalReportDSL.g:14527:2: 'file'
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getReportDesignFileAccess().getFileKeyword_0()); 
             }
-            match(input,181,FOLLOW_2); if (state.failed) return ;
+            match(input,188,FOLLOW_2); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getReportDesignFileAccess().getFileKeyword_0()); 
             }
@@ -48952,14 +49561,14 @@
 
 
     // $ANTLR start "rule__ReportDesignFile__Group__1"
-    // InternalReportDSL.g:14367:1: rule__ReportDesignFile__Group__1 : rule__ReportDesignFile__Group__1__Impl ;
+    // InternalReportDSL.g:14536:1: rule__ReportDesignFile__Group__1 : rule__ReportDesignFile__Group__1__Impl ;
     public final void rule__ReportDesignFile__Group__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:14371:1: ( rule__ReportDesignFile__Group__1__Impl )
-            // InternalReportDSL.g:14372:2: rule__ReportDesignFile__Group__1__Impl
+            // InternalReportDSL.g:14540:1: ( rule__ReportDesignFile__Group__1__Impl )
+            // InternalReportDSL.g:14541:2: rule__ReportDesignFile__Group__1__Impl
             {
             pushFollow(FOLLOW_2);
             rule__ReportDesignFile__Group__1__Impl();
@@ -48985,23 +49594,23 @@
 
 
     // $ANTLR start "rule__ReportDesignFile__Group__1__Impl"
-    // InternalReportDSL.g:14378:1: rule__ReportDesignFile__Group__1__Impl : ( ( rule__ReportDesignFile__NameAssignment_1 ) ) ;
+    // InternalReportDSL.g:14547:1: rule__ReportDesignFile__Group__1__Impl : ( ( rule__ReportDesignFile__NameAssignment_1 ) ) ;
     public final void rule__ReportDesignFile__Group__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:14382:1: ( ( ( rule__ReportDesignFile__NameAssignment_1 ) ) )
-            // InternalReportDSL.g:14383:1: ( ( rule__ReportDesignFile__NameAssignment_1 ) )
+            // InternalReportDSL.g:14551:1: ( ( ( rule__ReportDesignFile__NameAssignment_1 ) ) )
+            // InternalReportDSL.g:14552:1: ( ( rule__ReportDesignFile__NameAssignment_1 ) )
             {
-            // InternalReportDSL.g:14383:1: ( ( rule__ReportDesignFile__NameAssignment_1 ) )
-            // InternalReportDSL.g:14384:2: ( rule__ReportDesignFile__NameAssignment_1 )
+            // InternalReportDSL.g:14552:1: ( ( rule__ReportDesignFile__NameAssignment_1 ) )
+            // InternalReportDSL.g:14553:2: ( rule__ReportDesignFile__NameAssignment_1 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getReportDesignFileAccess().getNameAssignment_1()); 
             }
-            // InternalReportDSL.g:14385:2: ( rule__ReportDesignFile__NameAssignment_1 )
-            // InternalReportDSL.g:14385:3: rule__ReportDesignFile__NameAssignment_1
+            // InternalReportDSL.g:14554:2: ( rule__ReportDesignFile__NameAssignment_1 )
+            // InternalReportDSL.g:14554:3: rule__ReportDesignFile__NameAssignment_1
             {
             pushFollow(FOLLOW_2);
             rule__ReportDesignFile__NameAssignment_1();
@@ -49036,14 +49645,14 @@
 
 
     // $ANTLR start "rule__ReportDesignTemplate__Group__0"
-    // InternalReportDSL.g:14394:1: rule__ReportDesignTemplate__Group__0 : rule__ReportDesignTemplate__Group__0__Impl rule__ReportDesignTemplate__Group__1 ;
+    // InternalReportDSL.g:14563:1: rule__ReportDesignTemplate__Group__0 : rule__ReportDesignTemplate__Group__0__Impl rule__ReportDesignTemplate__Group__1 ;
     public final void rule__ReportDesignTemplate__Group__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:14398:1: ( rule__ReportDesignTemplate__Group__0__Impl rule__ReportDesignTemplate__Group__1 )
-            // InternalReportDSL.g:14399:2: rule__ReportDesignTemplate__Group__0__Impl rule__ReportDesignTemplate__Group__1
+            // InternalReportDSL.g:14567:1: ( rule__ReportDesignTemplate__Group__0__Impl rule__ReportDesignTemplate__Group__1 )
+            // InternalReportDSL.g:14568:2: rule__ReportDesignTemplate__Group__0__Impl rule__ReportDesignTemplate__Group__1
             {
             pushFollow(FOLLOW_8);
             rule__ReportDesignTemplate__Group__0__Impl();
@@ -49074,22 +49683,22 @@
 
 
     // $ANTLR start "rule__ReportDesignTemplate__Group__0__Impl"
-    // InternalReportDSL.g:14406:1: rule__ReportDesignTemplate__Group__0__Impl : ( 'template' ) ;
+    // InternalReportDSL.g:14575:1: rule__ReportDesignTemplate__Group__0__Impl : ( 'template' ) ;
     public final void rule__ReportDesignTemplate__Group__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:14410:1: ( ( 'template' ) )
-            // InternalReportDSL.g:14411:1: ( 'template' )
+            // InternalReportDSL.g:14579:1: ( ( 'template' ) )
+            // InternalReportDSL.g:14580:1: ( 'template' )
             {
-            // InternalReportDSL.g:14411:1: ( 'template' )
-            // InternalReportDSL.g:14412:2: 'template'
+            // InternalReportDSL.g:14580:1: ( 'template' )
+            // InternalReportDSL.g:14581:2: 'template'
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getReportDesignTemplateAccess().getTemplateKeyword_0()); 
             }
-            match(input,182,FOLLOW_2); if (state.failed) return ;
+            match(input,189,FOLLOW_2); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getReportDesignTemplateAccess().getTemplateKeyword_0()); 
             }
@@ -49115,16 +49724,16 @@
 
 
     // $ANTLR start "rule__ReportDesignTemplate__Group__1"
-    // InternalReportDSL.g:14421:1: rule__ReportDesignTemplate__Group__1 : rule__ReportDesignTemplate__Group__1__Impl rule__ReportDesignTemplate__Group__2 ;
+    // InternalReportDSL.g:14590:1: rule__ReportDesignTemplate__Group__1 : rule__ReportDesignTemplate__Group__1__Impl rule__ReportDesignTemplate__Group__2 ;
     public final void rule__ReportDesignTemplate__Group__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:14425:1: ( rule__ReportDesignTemplate__Group__1__Impl rule__ReportDesignTemplate__Group__2 )
-            // InternalReportDSL.g:14426:2: rule__ReportDesignTemplate__Group__1__Impl rule__ReportDesignTemplate__Group__2
+            // InternalReportDSL.g:14594:1: ( rule__ReportDesignTemplate__Group__1__Impl rule__ReportDesignTemplate__Group__2 )
+            // InternalReportDSL.g:14595:2: rule__ReportDesignTemplate__Group__1__Impl rule__ReportDesignTemplate__Group__2
             {
-            pushFollow(FOLLOW_67);
+            pushFollow(FOLLOW_68);
             rule__ReportDesignTemplate__Group__1__Impl();
 
             state._fsp--;
@@ -49153,22 +49762,22 @@
 
 
     // $ANTLR start "rule__ReportDesignTemplate__Group__1__Impl"
-    // InternalReportDSL.g:14433:1: rule__ReportDesignTemplate__Group__1__Impl : ( '{' ) ;
+    // InternalReportDSL.g:14602:1: rule__ReportDesignTemplate__Group__1__Impl : ( '{' ) ;
     public final void rule__ReportDesignTemplate__Group__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:14437:1: ( ( '{' ) )
-            // InternalReportDSL.g:14438:1: ( '{' )
+            // InternalReportDSL.g:14606:1: ( ( '{' ) )
+            // InternalReportDSL.g:14607:1: ( '{' )
             {
-            // InternalReportDSL.g:14438:1: ( '{' )
-            // InternalReportDSL.g:14439:2: '{'
+            // InternalReportDSL.g:14607:1: ( '{' )
+            // InternalReportDSL.g:14608:2: '{'
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getReportDesignTemplateAccess().getLeftCurlyBracketKeyword_1()); 
             }
-            match(input,125,FOLLOW_2); if (state.failed) return ;
+            match(input,131,FOLLOW_2); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getReportDesignTemplateAccess().getLeftCurlyBracketKeyword_1()); 
             }
@@ -49194,16 +49803,16 @@
 
 
     // $ANTLR start "rule__ReportDesignTemplate__Group__2"
-    // InternalReportDSL.g:14448:1: rule__ReportDesignTemplate__Group__2 : rule__ReportDesignTemplate__Group__2__Impl rule__ReportDesignTemplate__Group__3 ;
+    // InternalReportDSL.g:14617:1: rule__ReportDesignTemplate__Group__2 : rule__ReportDesignTemplate__Group__2__Impl rule__ReportDesignTemplate__Group__3 ;
     public final void rule__ReportDesignTemplate__Group__2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:14452:1: ( rule__ReportDesignTemplate__Group__2__Impl rule__ReportDesignTemplate__Group__3 )
-            // InternalReportDSL.g:14453:2: rule__ReportDesignTemplate__Group__2__Impl rule__ReportDesignTemplate__Group__3
+            // InternalReportDSL.g:14621:1: ( rule__ReportDesignTemplate__Group__2__Impl rule__ReportDesignTemplate__Group__3 )
+            // InternalReportDSL.g:14622:2: rule__ReportDesignTemplate__Group__2__Impl rule__ReportDesignTemplate__Group__3
             {
-            pushFollow(FOLLOW_67);
+            pushFollow(FOLLOW_68);
             rule__ReportDesignTemplate__Group__2__Impl();
 
             state._fsp--;
@@ -49232,31 +49841,31 @@
 
 
     // $ANTLR start "rule__ReportDesignTemplate__Group__2__Impl"
-    // InternalReportDSL.g:14460:1: rule__ReportDesignTemplate__Group__2__Impl : ( ( rule__ReportDesignTemplate__Group_2__0 )? ) ;
+    // InternalReportDSL.g:14629:1: rule__ReportDesignTemplate__Group__2__Impl : ( ( rule__ReportDesignTemplate__Group_2__0 )? ) ;
     public final void rule__ReportDesignTemplate__Group__2__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:14464:1: ( ( ( rule__ReportDesignTemplate__Group_2__0 )? ) )
-            // InternalReportDSL.g:14465:1: ( ( rule__ReportDesignTemplate__Group_2__0 )? )
+            // InternalReportDSL.g:14633:1: ( ( ( rule__ReportDesignTemplate__Group_2__0 )? ) )
+            // InternalReportDSL.g:14634:1: ( ( rule__ReportDesignTemplate__Group_2__0 )? )
             {
-            // InternalReportDSL.g:14465:1: ( ( rule__ReportDesignTemplate__Group_2__0 )? )
-            // InternalReportDSL.g:14466:2: ( rule__ReportDesignTemplate__Group_2__0 )?
+            // InternalReportDSL.g:14634:1: ( ( rule__ReportDesignTemplate__Group_2__0 )? )
+            // InternalReportDSL.g:14635:2: ( rule__ReportDesignTemplate__Group_2__0 )?
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getReportDesignTemplateAccess().getGroup_2()); 
             }
-            // InternalReportDSL.g:14467:2: ( rule__ReportDesignTemplate__Group_2__0 )?
-            int alt102=2;
-            int LA102_0 = input.LA(1);
+            // InternalReportDSL.g:14636:2: ( rule__ReportDesignTemplate__Group_2__0 )?
+            int alt104=2;
+            int LA104_0 = input.LA(1);
 
-            if ( (LA102_0==183) ) {
-                alt102=1;
+            if ( (LA104_0==190) ) {
+                alt104=1;
             }
-            switch (alt102) {
+            switch (alt104) {
                 case 1 :
-                    // InternalReportDSL.g:14467:3: rule__ReportDesignTemplate__Group_2__0
+                    // InternalReportDSL.g:14636:3: rule__ReportDesignTemplate__Group_2__0
                     {
                     pushFollow(FOLLOW_2);
                     rule__ReportDesignTemplate__Group_2__0();
@@ -49294,16 +49903,16 @@
 
 
     // $ANTLR start "rule__ReportDesignTemplate__Group__3"
-    // InternalReportDSL.g:14475:1: rule__ReportDesignTemplate__Group__3 : rule__ReportDesignTemplate__Group__3__Impl rule__ReportDesignTemplate__Group__4 ;
+    // InternalReportDSL.g:14644:1: rule__ReportDesignTemplate__Group__3 : rule__ReportDesignTemplate__Group__3__Impl rule__ReportDesignTemplate__Group__4 ;
     public final void rule__ReportDesignTemplate__Group__3() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:14479:1: ( rule__ReportDesignTemplate__Group__3__Impl rule__ReportDesignTemplate__Group__4 )
-            // InternalReportDSL.g:14480:2: rule__ReportDesignTemplate__Group__3__Impl rule__ReportDesignTemplate__Group__4
+            // InternalReportDSL.g:14648:1: ( rule__ReportDesignTemplate__Group__3__Impl rule__ReportDesignTemplate__Group__4 )
+            // InternalReportDSL.g:14649:2: rule__ReportDesignTemplate__Group__3__Impl rule__ReportDesignTemplate__Group__4
             {
-            pushFollow(FOLLOW_67);
+            pushFollow(FOLLOW_68);
             rule__ReportDesignTemplate__Group__3__Impl();
 
             state._fsp--;
@@ -49332,31 +49941,31 @@
 
 
     // $ANTLR start "rule__ReportDesignTemplate__Group__3__Impl"
-    // InternalReportDSL.g:14487:1: rule__ReportDesignTemplate__Group__3__Impl : ( ( rule__ReportDesignTemplate__HeaderAssignment_3 )? ) ;
+    // InternalReportDSL.g:14656:1: rule__ReportDesignTemplate__Group__3__Impl : ( ( rule__ReportDesignTemplate__HeaderAssignment_3 )? ) ;
     public final void rule__ReportDesignTemplate__Group__3__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:14491:1: ( ( ( rule__ReportDesignTemplate__HeaderAssignment_3 )? ) )
-            // InternalReportDSL.g:14492:1: ( ( rule__ReportDesignTemplate__HeaderAssignment_3 )? )
+            // InternalReportDSL.g:14660:1: ( ( ( rule__ReportDesignTemplate__HeaderAssignment_3 )? ) )
+            // InternalReportDSL.g:14661:1: ( ( rule__ReportDesignTemplate__HeaderAssignment_3 )? )
             {
-            // InternalReportDSL.g:14492:1: ( ( rule__ReportDesignTemplate__HeaderAssignment_3 )? )
-            // InternalReportDSL.g:14493:2: ( rule__ReportDesignTemplate__HeaderAssignment_3 )?
+            // InternalReportDSL.g:14661:1: ( ( rule__ReportDesignTemplate__HeaderAssignment_3 )? )
+            // InternalReportDSL.g:14662:2: ( rule__ReportDesignTemplate__HeaderAssignment_3 )?
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getReportDesignTemplateAccess().getHeaderAssignment_3()); 
             }
-            // InternalReportDSL.g:14494:2: ( rule__ReportDesignTemplate__HeaderAssignment_3 )?
-            int alt103=2;
-            int LA103_0 = input.LA(1);
+            // InternalReportDSL.g:14663:2: ( rule__ReportDesignTemplate__HeaderAssignment_3 )?
+            int alt105=2;
+            int LA105_0 = input.LA(1);
 
-            if ( (LA103_0==184) ) {
-                alt103=1;
+            if ( (LA105_0==191) ) {
+                alt105=1;
             }
-            switch (alt103) {
+            switch (alt105) {
                 case 1 :
-                    // InternalReportDSL.g:14494:3: rule__ReportDesignTemplate__HeaderAssignment_3
+                    // InternalReportDSL.g:14663:3: rule__ReportDesignTemplate__HeaderAssignment_3
                     {
                     pushFollow(FOLLOW_2);
                     rule__ReportDesignTemplate__HeaderAssignment_3();
@@ -49394,16 +50003,16 @@
 
 
     // $ANTLR start "rule__ReportDesignTemplate__Group__4"
-    // InternalReportDSL.g:14502:1: rule__ReportDesignTemplate__Group__4 : rule__ReportDesignTemplate__Group__4__Impl rule__ReportDesignTemplate__Group__5 ;
+    // InternalReportDSL.g:14671:1: rule__ReportDesignTemplate__Group__4 : rule__ReportDesignTemplate__Group__4__Impl rule__ReportDesignTemplate__Group__5 ;
     public final void rule__ReportDesignTemplate__Group__4() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:14506:1: ( rule__ReportDesignTemplate__Group__4__Impl rule__ReportDesignTemplate__Group__5 )
-            // InternalReportDSL.g:14507:2: rule__ReportDesignTemplate__Group__4__Impl rule__ReportDesignTemplate__Group__5
+            // InternalReportDSL.g:14675:1: ( rule__ReportDesignTemplate__Group__4__Impl rule__ReportDesignTemplate__Group__5 )
+            // InternalReportDSL.g:14676:2: rule__ReportDesignTemplate__Group__4__Impl rule__ReportDesignTemplate__Group__5
             {
-            pushFollow(FOLLOW_68);
+            pushFollow(FOLLOW_69);
             rule__ReportDesignTemplate__Group__4__Impl();
 
             state._fsp--;
@@ -49432,23 +50041,23 @@
 
 
     // $ANTLR start "rule__ReportDesignTemplate__Group__4__Impl"
-    // InternalReportDSL.g:14514:1: rule__ReportDesignTemplate__Group__4__Impl : ( ( rule__ReportDesignTemplate__DetailAssignment_4 ) ) ;
+    // InternalReportDSL.g:14683:1: rule__ReportDesignTemplate__Group__4__Impl : ( ( rule__ReportDesignTemplate__DetailAssignment_4 ) ) ;
     public final void rule__ReportDesignTemplate__Group__4__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:14518:1: ( ( ( rule__ReportDesignTemplate__DetailAssignment_4 ) ) )
-            // InternalReportDSL.g:14519:1: ( ( rule__ReportDesignTemplate__DetailAssignment_4 ) )
+            // InternalReportDSL.g:14687:1: ( ( ( rule__ReportDesignTemplate__DetailAssignment_4 ) ) )
+            // InternalReportDSL.g:14688:1: ( ( rule__ReportDesignTemplate__DetailAssignment_4 ) )
             {
-            // InternalReportDSL.g:14519:1: ( ( rule__ReportDesignTemplate__DetailAssignment_4 ) )
-            // InternalReportDSL.g:14520:2: ( rule__ReportDesignTemplate__DetailAssignment_4 )
+            // InternalReportDSL.g:14688:1: ( ( rule__ReportDesignTemplate__DetailAssignment_4 ) )
+            // InternalReportDSL.g:14689:2: ( rule__ReportDesignTemplate__DetailAssignment_4 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getReportDesignTemplateAccess().getDetailAssignment_4()); 
             }
-            // InternalReportDSL.g:14521:2: ( rule__ReportDesignTemplate__DetailAssignment_4 )
-            // InternalReportDSL.g:14521:3: rule__ReportDesignTemplate__DetailAssignment_4
+            // InternalReportDSL.g:14690:2: ( rule__ReportDesignTemplate__DetailAssignment_4 )
+            // InternalReportDSL.g:14690:3: rule__ReportDesignTemplate__DetailAssignment_4
             {
             pushFollow(FOLLOW_2);
             rule__ReportDesignTemplate__DetailAssignment_4();
@@ -49483,16 +50092,16 @@
 
 
     // $ANTLR start "rule__ReportDesignTemplate__Group__5"
-    // InternalReportDSL.g:14529:1: rule__ReportDesignTemplate__Group__5 : rule__ReportDesignTemplate__Group__5__Impl rule__ReportDesignTemplate__Group__6 ;
+    // InternalReportDSL.g:14698:1: rule__ReportDesignTemplate__Group__5 : rule__ReportDesignTemplate__Group__5__Impl rule__ReportDesignTemplate__Group__6 ;
     public final void rule__ReportDesignTemplate__Group__5() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:14533:1: ( rule__ReportDesignTemplate__Group__5__Impl rule__ReportDesignTemplate__Group__6 )
-            // InternalReportDSL.g:14534:2: rule__ReportDesignTemplate__Group__5__Impl rule__ReportDesignTemplate__Group__6
+            // InternalReportDSL.g:14702:1: ( rule__ReportDesignTemplate__Group__5__Impl rule__ReportDesignTemplate__Group__6 )
+            // InternalReportDSL.g:14703:2: rule__ReportDesignTemplate__Group__5__Impl rule__ReportDesignTemplate__Group__6
             {
-            pushFollow(FOLLOW_68);
+            pushFollow(FOLLOW_69);
             rule__ReportDesignTemplate__Group__5__Impl();
 
             state._fsp--;
@@ -49521,31 +50130,31 @@
 
 
     // $ANTLR start "rule__ReportDesignTemplate__Group__5__Impl"
-    // InternalReportDSL.g:14541:1: rule__ReportDesignTemplate__Group__5__Impl : ( ( rule__ReportDesignTemplate__FooterAssignment_5 )? ) ;
+    // InternalReportDSL.g:14710:1: rule__ReportDesignTemplate__Group__5__Impl : ( ( rule__ReportDesignTemplate__FooterAssignment_5 )? ) ;
     public final void rule__ReportDesignTemplate__Group__5__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:14545:1: ( ( ( rule__ReportDesignTemplate__FooterAssignment_5 )? ) )
-            // InternalReportDSL.g:14546:1: ( ( rule__ReportDesignTemplate__FooterAssignment_5 )? )
+            // InternalReportDSL.g:14714:1: ( ( ( rule__ReportDesignTemplate__FooterAssignment_5 )? ) )
+            // InternalReportDSL.g:14715:1: ( ( rule__ReportDesignTemplate__FooterAssignment_5 )? )
             {
-            // InternalReportDSL.g:14546:1: ( ( rule__ReportDesignTemplate__FooterAssignment_5 )? )
-            // InternalReportDSL.g:14547:2: ( rule__ReportDesignTemplate__FooterAssignment_5 )?
+            // InternalReportDSL.g:14715:1: ( ( rule__ReportDesignTemplate__FooterAssignment_5 )? )
+            // InternalReportDSL.g:14716:2: ( rule__ReportDesignTemplate__FooterAssignment_5 )?
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getReportDesignTemplateAccess().getFooterAssignment_5()); 
             }
-            // InternalReportDSL.g:14548:2: ( rule__ReportDesignTemplate__FooterAssignment_5 )?
-            int alt104=2;
-            int LA104_0 = input.LA(1);
+            // InternalReportDSL.g:14717:2: ( rule__ReportDesignTemplate__FooterAssignment_5 )?
+            int alt106=2;
+            int LA106_0 = input.LA(1);
 
-            if ( (LA104_0==187) ) {
-                alt104=1;
+            if ( (LA106_0==194) ) {
+                alt106=1;
             }
-            switch (alt104) {
+            switch (alt106) {
                 case 1 :
-                    // InternalReportDSL.g:14548:3: rule__ReportDesignTemplate__FooterAssignment_5
+                    // InternalReportDSL.g:14717:3: rule__ReportDesignTemplate__FooterAssignment_5
                     {
                     pushFollow(FOLLOW_2);
                     rule__ReportDesignTemplate__FooterAssignment_5();
@@ -49583,14 +50192,14 @@
 
 
     // $ANTLR start "rule__ReportDesignTemplate__Group__6"
-    // InternalReportDSL.g:14556:1: rule__ReportDesignTemplate__Group__6 : rule__ReportDesignTemplate__Group__6__Impl ;
+    // InternalReportDSL.g:14725:1: rule__ReportDesignTemplate__Group__6 : rule__ReportDesignTemplate__Group__6__Impl ;
     public final void rule__ReportDesignTemplate__Group__6() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:14560:1: ( rule__ReportDesignTemplate__Group__6__Impl )
-            // InternalReportDSL.g:14561:2: rule__ReportDesignTemplate__Group__6__Impl
+            // InternalReportDSL.g:14729:1: ( rule__ReportDesignTemplate__Group__6__Impl )
+            // InternalReportDSL.g:14730:2: rule__ReportDesignTemplate__Group__6__Impl
             {
             pushFollow(FOLLOW_2);
             rule__ReportDesignTemplate__Group__6__Impl();
@@ -49616,22 +50225,22 @@
 
 
     // $ANTLR start "rule__ReportDesignTemplate__Group__6__Impl"
-    // InternalReportDSL.g:14567:1: rule__ReportDesignTemplate__Group__6__Impl : ( '}' ) ;
+    // InternalReportDSL.g:14736:1: rule__ReportDesignTemplate__Group__6__Impl : ( '}' ) ;
     public final void rule__ReportDesignTemplate__Group__6__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:14571:1: ( ( '}' ) )
-            // InternalReportDSL.g:14572:1: ( '}' )
+            // InternalReportDSL.g:14740:1: ( ( '}' ) )
+            // InternalReportDSL.g:14741:1: ( '}' )
             {
-            // InternalReportDSL.g:14572:1: ( '}' )
-            // InternalReportDSL.g:14573:2: '}'
+            // InternalReportDSL.g:14741:1: ( '}' )
+            // InternalReportDSL.g:14742:2: '}'
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getReportDesignTemplateAccess().getRightCurlyBracketKeyword_6()); 
             }
-            match(input,126,FOLLOW_2); if (state.failed) return ;
+            match(input,132,FOLLOW_2); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getReportDesignTemplateAccess().getRightCurlyBracketKeyword_6()); 
             }
@@ -49657,14 +50266,14 @@
 
 
     // $ANTLR start "rule__ReportDesignTemplate__Group_2__0"
-    // InternalReportDSL.g:14583:1: rule__ReportDesignTemplate__Group_2__0 : rule__ReportDesignTemplate__Group_2__0__Impl rule__ReportDesignTemplate__Group_2__1 ;
+    // InternalReportDSL.g:14752:1: rule__ReportDesignTemplate__Group_2__0 : rule__ReportDesignTemplate__Group_2__0__Impl rule__ReportDesignTemplate__Group_2__1 ;
     public final void rule__ReportDesignTemplate__Group_2__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:14587:1: ( rule__ReportDesignTemplate__Group_2__0__Impl rule__ReportDesignTemplate__Group_2__1 )
-            // InternalReportDSL.g:14588:2: rule__ReportDesignTemplate__Group_2__0__Impl rule__ReportDesignTemplate__Group_2__1
+            // InternalReportDSL.g:14756:1: ( rule__ReportDesignTemplate__Group_2__0__Impl rule__ReportDesignTemplate__Group_2__1 )
+            // InternalReportDSL.g:14757:2: rule__ReportDesignTemplate__Group_2__0__Impl rule__ReportDesignTemplate__Group_2__1
             {
             pushFollow(FOLLOW_18);
             rule__ReportDesignTemplate__Group_2__0__Impl();
@@ -49695,22 +50304,22 @@
 
 
     // $ANTLR start "rule__ReportDesignTemplate__Group_2__0__Impl"
-    // InternalReportDSL.g:14595:1: rule__ReportDesignTemplate__Group_2__0__Impl : ( 'describedBy' ) ;
+    // InternalReportDSL.g:14764:1: rule__ReportDesignTemplate__Group_2__0__Impl : ( 'describedBy' ) ;
     public final void rule__ReportDesignTemplate__Group_2__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:14599:1: ( ( 'describedBy' ) )
-            // InternalReportDSL.g:14600:1: ( 'describedBy' )
+            // InternalReportDSL.g:14768:1: ( ( 'describedBy' ) )
+            // InternalReportDSL.g:14769:1: ( 'describedBy' )
             {
-            // InternalReportDSL.g:14600:1: ( 'describedBy' )
-            // InternalReportDSL.g:14601:2: 'describedBy'
+            // InternalReportDSL.g:14769:1: ( 'describedBy' )
+            // InternalReportDSL.g:14770:2: 'describedBy'
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getReportDesignTemplateAccess().getDescribedByKeyword_2_0()); 
             }
-            match(input,183,FOLLOW_2); if (state.failed) return ;
+            match(input,190,FOLLOW_2); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getReportDesignTemplateAccess().getDescribedByKeyword_2_0()); 
             }
@@ -49736,14 +50345,14 @@
 
 
     // $ANTLR start "rule__ReportDesignTemplate__Group_2__1"
-    // InternalReportDSL.g:14610:1: rule__ReportDesignTemplate__Group_2__1 : rule__ReportDesignTemplate__Group_2__1__Impl ;
+    // InternalReportDSL.g:14779:1: rule__ReportDesignTemplate__Group_2__1 : rule__ReportDesignTemplate__Group_2__1__Impl ;
     public final void rule__ReportDesignTemplate__Group_2__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:14614:1: ( rule__ReportDesignTemplate__Group_2__1__Impl )
-            // InternalReportDSL.g:14615:2: rule__ReportDesignTemplate__Group_2__1__Impl
+            // InternalReportDSL.g:14783:1: ( rule__ReportDesignTemplate__Group_2__1__Impl )
+            // InternalReportDSL.g:14784:2: rule__ReportDesignTemplate__Group_2__1__Impl
             {
             pushFollow(FOLLOW_2);
             rule__ReportDesignTemplate__Group_2__1__Impl();
@@ -49769,23 +50378,23 @@
 
 
     // $ANTLR start "rule__ReportDesignTemplate__Group_2__1__Impl"
-    // InternalReportDSL.g:14621:1: rule__ReportDesignTemplate__Group_2__1__Impl : ( ( rule__ReportDesignTemplate__DescriptionAssignment_2_1 ) ) ;
+    // InternalReportDSL.g:14790:1: rule__ReportDesignTemplate__Group_2__1__Impl : ( ( rule__ReportDesignTemplate__DescriptionAssignment_2_1 ) ) ;
     public final void rule__ReportDesignTemplate__Group_2__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:14625:1: ( ( ( rule__ReportDesignTemplate__DescriptionAssignment_2_1 ) ) )
-            // InternalReportDSL.g:14626:1: ( ( rule__ReportDesignTemplate__DescriptionAssignment_2_1 ) )
+            // InternalReportDSL.g:14794:1: ( ( ( rule__ReportDesignTemplate__DescriptionAssignment_2_1 ) ) )
+            // InternalReportDSL.g:14795:1: ( ( rule__ReportDesignTemplate__DescriptionAssignment_2_1 ) )
             {
-            // InternalReportDSL.g:14626:1: ( ( rule__ReportDesignTemplate__DescriptionAssignment_2_1 ) )
-            // InternalReportDSL.g:14627:2: ( rule__ReportDesignTemplate__DescriptionAssignment_2_1 )
+            // InternalReportDSL.g:14795:1: ( ( rule__ReportDesignTemplate__DescriptionAssignment_2_1 ) )
+            // InternalReportDSL.g:14796:2: ( rule__ReportDesignTemplate__DescriptionAssignment_2_1 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getReportDesignTemplateAccess().getDescriptionAssignment_2_1()); 
             }
-            // InternalReportDSL.g:14628:2: ( rule__ReportDesignTemplate__DescriptionAssignment_2_1 )
-            // InternalReportDSL.g:14628:3: rule__ReportDesignTemplate__DescriptionAssignment_2_1
+            // InternalReportDSL.g:14797:2: ( rule__ReportDesignTemplate__DescriptionAssignment_2_1 )
+            // InternalReportDSL.g:14797:3: rule__ReportDesignTemplate__DescriptionAssignment_2_1
             {
             pushFollow(FOLLOW_2);
             rule__ReportDesignTemplate__DescriptionAssignment_2_1();
@@ -49820,16 +50429,16 @@
 
 
     // $ANTLR start "rule__PageHeader__Group__0"
-    // InternalReportDSL.g:14637:1: rule__PageHeader__Group__0 : rule__PageHeader__Group__0__Impl rule__PageHeader__Group__1 ;
+    // InternalReportDSL.g:14806:1: rule__PageHeader__Group__0 : rule__PageHeader__Group__0__Impl rule__PageHeader__Group__1 ;
     public final void rule__PageHeader__Group__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:14641:1: ( rule__PageHeader__Group__0__Impl rule__PageHeader__Group__1 )
-            // InternalReportDSL.g:14642:2: rule__PageHeader__Group__0__Impl rule__PageHeader__Group__1
+            // InternalReportDSL.g:14810:1: ( rule__PageHeader__Group__0__Impl rule__PageHeader__Group__1 )
+            // InternalReportDSL.g:14811:2: rule__PageHeader__Group__0__Impl rule__PageHeader__Group__1
             {
-            pushFollow(FOLLOW_69);
+            pushFollow(FOLLOW_70);
             rule__PageHeader__Group__0__Impl();
 
             state._fsp--;
@@ -49858,23 +50467,23 @@
 
 
     // $ANTLR start "rule__PageHeader__Group__0__Impl"
-    // InternalReportDSL.g:14649:1: rule__PageHeader__Group__0__Impl : ( () ) ;
+    // InternalReportDSL.g:14818:1: rule__PageHeader__Group__0__Impl : ( () ) ;
     public final void rule__PageHeader__Group__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:14653:1: ( ( () ) )
-            // InternalReportDSL.g:14654:1: ( () )
+            // InternalReportDSL.g:14822:1: ( ( () ) )
+            // InternalReportDSL.g:14823:1: ( () )
             {
-            // InternalReportDSL.g:14654:1: ( () )
-            // InternalReportDSL.g:14655:2: ()
+            // InternalReportDSL.g:14823:1: ( () )
+            // InternalReportDSL.g:14824:2: ()
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getPageHeaderAccess().getPageHeaderAction_0()); 
             }
-            // InternalReportDSL.g:14656:2: ()
-            // InternalReportDSL.g:14656:3: 
+            // InternalReportDSL.g:14825:2: ()
+            // InternalReportDSL.g:14825:3: 
             {
             }
 
@@ -49899,14 +50508,14 @@
 
 
     // $ANTLR start "rule__PageHeader__Group__1"
-    // InternalReportDSL.g:14664:1: rule__PageHeader__Group__1 : rule__PageHeader__Group__1__Impl rule__PageHeader__Group__2 ;
+    // InternalReportDSL.g:14833:1: rule__PageHeader__Group__1 : rule__PageHeader__Group__1__Impl rule__PageHeader__Group__2 ;
     public final void rule__PageHeader__Group__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:14668:1: ( rule__PageHeader__Group__1__Impl rule__PageHeader__Group__2 )
-            // InternalReportDSL.g:14669:2: rule__PageHeader__Group__1__Impl rule__PageHeader__Group__2
+            // InternalReportDSL.g:14837:1: ( rule__PageHeader__Group__1__Impl rule__PageHeader__Group__2 )
+            // InternalReportDSL.g:14838:2: rule__PageHeader__Group__1__Impl rule__PageHeader__Group__2
             {
             pushFollow(FOLLOW_8);
             rule__PageHeader__Group__1__Impl();
@@ -49937,22 +50546,22 @@
 
 
     // $ANTLR start "rule__PageHeader__Group__1__Impl"
-    // InternalReportDSL.g:14676:1: rule__PageHeader__Group__1__Impl : ( 'header' ) ;
+    // InternalReportDSL.g:14845:1: rule__PageHeader__Group__1__Impl : ( 'header' ) ;
     public final void rule__PageHeader__Group__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:14680:1: ( ( 'header' ) )
-            // InternalReportDSL.g:14681:1: ( 'header' )
+            // InternalReportDSL.g:14849:1: ( ( 'header' ) )
+            // InternalReportDSL.g:14850:1: ( 'header' )
             {
-            // InternalReportDSL.g:14681:1: ( 'header' )
-            // InternalReportDSL.g:14682:2: 'header'
+            // InternalReportDSL.g:14850:1: ( 'header' )
+            // InternalReportDSL.g:14851:2: 'header'
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getPageHeaderAccess().getHeaderKeyword_1()); 
             }
-            match(input,184,FOLLOW_2); if (state.failed) return ;
+            match(input,191,FOLLOW_2); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getPageHeaderAccess().getHeaderKeyword_1()); 
             }
@@ -49978,16 +50587,16 @@
 
 
     // $ANTLR start "rule__PageHeader__Group__2"
-    // InternalReportDSL.g:14691:1: rule__PageHeader__Group__2 : rule__PageHeader__Group__2__Impl rule__PageHeader__Group__3 ;
+    // InternalReportDSL.g:14860:1: rule__PageHeader__Group__2 : rule__PageHeader__Group__2__Impl rule__PageHeader__Group__3 ;
     public final void rule__PageHeader__Group__2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:14695:1: ( rule__PageHeader__Group__2__Impl rule__PageHeader__Group__3 )
-            // InternalReportDSL.g:14696:2: rule__PageHeader__Group__2__Impl rule__PageHeader__Group__3
+            // InternalReportDSL.g:14864:1: ( rule__PageHeader__Group__2__Impl rule__PageHeader__Group__3 )
+            // InternalReportDSL.g:14865:2: rule__PageHeader__Group__2__Impl rule__PageHeader__Group__3
             {
-            pushFollow(FOLLOW_70);
+            pushFollow(FOLLOW_71);
             rule__PageHeader__Group__2__Impl();
 
             state._fsp--;
@@ -50016,22 +50625,22 @@
 
 
     // $ANTLR start "rule__PageHeader__Group__2__Impl"
-    // InternalReportDSL.g:14703:1: rule__PageHeader__Group__2__Impl : ( '{' ) ;
+    // InternalReportDSL.g:14872:1: rule__PageHeader__Group__2__Impl : ( '{' ) ;
     public final void rule__PageHeader__Group__2__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:14707:1: ( ( '{' ) )
-            // InternalReportDSL.g:14708:1: ( '{' )
+            // InternalReportDSL.g:14876:1: ( ( '{' ) )
+            // InternalReportDSL.g:14877:1: ( '{' )
             {
-            // InternalReportDSL.g:14708:1: ( '{' )
-            // InternalReportDSL.g:14709:2: '{'
+            // InternalReportDSL.g:14877:1: ( '{' )
+            // InternalReportDSL.g:14878:2: '{'
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getPageHeaderAccess().getLeftCurlyBracketKeyword_2()); 
             }
-            match(input,125,FOLLOW_2); if (state.failed) return ;
+            match(input,131,FOLLOW_2); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getPageHeaderAccess().getLeftCurlyBracketKeyword_2()); 
             }
@@ -50057,16 +50666,16 @@
 
 
     // $ANTLR start "rule__PageHeader__Group__3"
-    // InternalReportDSL.g:14718:1: rule__PageHeader__Group__3 : rule__PageHeader__Group__3__Impl rule__PageHeader__Group__4 ;
+    // InternalReportDSL.g:14887:1: rule__PageHeader__Group__3 : rule__PageHeader__Group__3__Impl rule__PageHeader__Group__4 ;
     public final void rule__PageHeader__Group__3() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:14722:1: ( rule__PageHeader__Group__3__Impl rule__PageHeader__Group__4 )
-            // InternalReportDSL.g:14723:2: rule__PageHeader__Group__3__Impl rule__PageHeader__Group__4
+            // InternalReportDSL.g:14891:1: ( rule__PageHeader__Group__3__Impl rule__PageHeader__Group__4 )
+            // InternalReportDSL.g:14892:2: rule__PageHeader__Group__3__Impl rule__PageHeader__Group__4
             {
-            pushFollow(FOLLOW_70);
+            pushFollow(FOLLOW_71);
             rule__PageHeader__Group__3__Impl();
 
             state._fsp--;
@@ -50095,31 +50704,31 @@
 
 
     // $ANTLR start "rule__PageHeader__Group__3__Impl"
-    // InternalReportDSL.g:14730:1: rule__PageHeader__Group__3__Impl : ( ( rule__PageHeader__ShowOnFirstAssignment_3 )? ) ;
+    // InternalReportDSL.g:14899:1: rule__PageHeader__Group__3__Impl : ( ( rule__PageHeader__ShowOnFirstAssignment_3 )? ) ;
     public final void rule__PageHeader__Group__3__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:14734:1: ( ( ( rule__PageHeader__ShowOnFirstAssignment_3 )? ) )
-            // InternalReportDSL.g:14735:1: ( ( rule__PageHeader__ShowOnFirstAssignment_3 )? )
+            // InternalReportDSL.g:14903:1: ( ( ( rule__PageHeader__ShowOnFirstAssignment_3 )? ) )
+            // InternalReportDSL.g:14904:1: ( ( rule__PageHeader__ShowOnFirstAssignment_3 )? )
             {
-            // InternalReportDSL.g:14735:1: ( ( rule__PageHeader__ShowOnFirstAssignment_3 )? )
-            // InternalReportDSL.g:14736:2: ( rule__PageHeader__ShowOnFirstAssignment_3 )?
+            // InternalReportDSL.g:14904:1: ( ( rule__PageHeader__ShowOnFirstAssignment_3 )? )
+            // InternalReportDSL.g:14905:2: ( rule__PageHeader__ShowOnFirstAssignment_3 )?
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getPageHeaderAccess().getShowOnFirstAssignment_3()); 
             }
-            // InternalReportDSL.g:14737:2: ( rule__PageHeader__ShowOnFirstAssignment_3 )?
-            int alt105=2;
-            int LA105_0 = input.LA(1);
+            // InternalReportDSL.g:14906:2: ( rule__PageHeader__ShowOnFirstAssignment_3 )?
+            int alt107=2;
+            int LA107_0 = input.LA(1);
 
-            if ( (LA105_0==255) ) {
-                alt105=1;
+            if ( (LA107_0==262) ) {
+                alt107=1;
             }
-            switch (alt105) {
+            switch (alt107) {
                 case 1 :
-                    // InternalReportDSL.g:14737:3: rule__PageHeader__ShowOnFirstAssignment_3
+                    // InternalReportDSL.g:14906:3: rule__PageHeader__ShowOnFirstAssignment_3
                     {
                     pushFollow(FOLLOW_2);
                     rule__PageHeader__ShowOnFirstAssignment_3();
@@ -50157,14 +50766,14 @@
 
 
     // $ANTLR start "rule__PageHeader__Group__4"
-    // InternalReportDSL.g:14745:1: rule__PageHeader__Group__4 : rule__PageHeader__Group__4__Impl rule__PageHeader__Group__5 ;
+    // InternalReportDSL.g:14914:1: rule__PageHeader__Group__4 : rule__PageHeader__Group__4__Impl rule__PageHeader__Group__5 ;
     public final void rule__PageHeader__Group__4() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:14749:1: ( rule__PageHeader__Group__4__Impl rule__PageHeader__Group__5 )
-            // InternalReportDSL.g:14750:2: rule__PageHeader__Group__4__Impl rule__PageHeader__Group__5
+            // InternalReportDSL.g:14918:1: ( rule__PageHeader__Group__4__Impl rule__PageHeader__Group__5 )
+            // InternalReportDSL.g:14919:2: rule__PageHeader__Group__4__Impl rule__PageHeader__Group__5
             {
             pushFollow(FOLLOW_36);
             rule__PageHeader__Group__4__Impl();
@@ -50195,22 +50804,22 @@
 
 
     // $ANTLR start "rule__PageHeader__Group__4__Impl"
-    // InternalReportDSL.g:14757:1: rule__PageHeader__Group__4__Impl : ( 'height' ) ;
+    // InternalReportDSL.g:14926:1: rule__PageHeader__Group__4__Impl : ( 'height' ) ;
     public final void rule__PageHeader__Group__4__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:14761:1: ( ( 'height' ) )
-            // InternalReportDSL.g:14762:1: ( 'height' )
+            // InternalReportDSL.g:14930:1: ( ( 'height' ) )
+            // InternalReportDSL.g:14931:1: ( 'height' )
             {
-            // InternalReportDSL.g:14762:1: ( 'height' )
-            // InternalReportDSL.g:14763:2: 'height'
+            // InternalReportDSL.g:14931:1: ( 'height' )
+            // InternalReportDSL.g:14932:2: 'height'
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getPageHeaderAccess().getHeightKeyword_4()); 
             }
-            match(input,185,FOLLOW_2); if (state.failed) return ;
+            match(input,192,FOLLOW_2); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getPageHeaderAccess().getHeightKeyword_4()); 
             }
@@ -50236,16 +50845,16 @@
 
 
     // $ANTLR start "rule__PageHeader__Group__5"
-    // InternalReportDSL.g:14772:1: rule__PageHeader__Group__5 : rule__PageHeader__Group__5__Impl rule__PageHeader__Group__6 ;
+    // InternalReportDSL.g:14941:1: rule__PageHeader__Group__5 : rule__PageHeader__Group__5__Impl rule__PageHeader__Group__6 ;
     public final void rule__PageHeader__Group__5() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:14776:1: ( rule__PageHeader__Group__5__Impl rule__PageHeader__Group__6 )
-            // InternalReportDSL.g:14777:2: rule__PageHeader__Group__5__Impl rule__PageHeader__Group__6
+            // InternalReportDSL.g:14945:1: ( rule__PageHeader__Group__5__Impl rule__PageHeader__Group__6 )
+            // InternalReportDSL.g:14946:2: rule__PageHeader__Group__5__Impl rule__PageHeader__Group__6
             {
-            pushFollow(FOLLOW_71);
+            pushFollow(FOLLOW_72);
             rule__PageHeader__Group__5__Impl();
 
             state._fsp--;
@@ -50274,23 +50883,23 @@
 
 
     // $ANTLR start "rule__PageHeader__Group__5__Impl"
-    // InternalReportDSL.g:14784:1: rule__PageHeader__Group__5__Impl : ( ( rule__PageHeader__HeightValueAssignment_5 ) ) ;
+    // InternalReportDSL.g:14953:1: rule__PageHeader__Group__5__Impl : ( ( rule__PageHeader__HeightValueAssignment_5 ) ) ;
     public final void rule__PageHeader__Group__5__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:14788:1: ( ( ( rule__PageHeader__HeightValueAssignment_5 ) ) )
-            // InternalReportDSL.g:14789:1: ( ( rule__PageHeader__HeightValueAssignment_5 ) )
+            // InternalReportDSL.g:14957:1: ( ( ( rule__PageHeader__HeightValueAssignment_5 ) ) )
+            // InternalReportDSL.g:14958:1: ( ( rule__PageHeader__HeightValueAssignment_5 ) )
             {
-            // InternalReportDSL.g:14789:1: ( ( rule__PageHeader__HeightValueAssignment_5 ) )
-            // InternalReportDSL.g:14790:2: ( rule__PageHeader__HeightValueAssignment_5 )
+            // InternalReportDSL.g:14958:1: ( ( rule__PageHeader__HeightValueAssignment_5 ) )
+            // InternalReportDSL.g:14959:2: ( rule__PageHeader__HeightValueAssignment_5 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getPageHeaderAccess().getHeightValueAssignment_5()); 
             }
-            // InternalReportDSL.g:14791:2: ( rule__PageHeader__HeightValueAssignment_5 )
-            // InternalReportDSL.g:14791:3: rule__PageHeader__HeightValueAssignment_5
+            // InternalReportDSL.g:14960:2: ( rule__PageHeader__HeightValueAssignment_5 )
+            // InternalReportDSL.g:14960:3: rule__PageHeader__HeightValueAssignment_5
             {
             pushFollow(FOLLOW_2);
             rule__PageHeader__HeightValueAssignment_5();
@@ -50325,14 +50934,14 @@
 
 
     // $ANTLR start "rule__PageHeader__Group__6"
-    // InternalReportDSL.g:14799:1: rule__PageHeader__Group__6 : rule__PageHeader__Group__6__Impl rule__PageHeader__Group__7 ;
+    // InternalReportDSL.g:14968:1: rule__PageHeader__Group__6 : rule__PageHeader__Group__6__Impl rule__PageHeader__Group__7 ;
     public final void rule__PageHeader__Group__6() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:14803:1: ( rule__PageHeader__Group__6__Impl rule__PageHeader__Group__7 )
-            // InternalReportDSL.g:14804:2: rule__PageHeader__Group__6__Impl rule__PageHeader__Group__7
+            // InternalReportDSL.g:14972:1: ( rule__PageHeader__Group__6__Impl rule__PageHeader__Group__7 )
+            // InternalReportDSL.g:14973:2: rule__PageHeader__Group__6__Impl rule__PageHeader__Group__7
             {
             pushFollow(FOLLOW_17);
             rule__PageHeader__Group__6__Impl();
@@ -50363,23 +50972,23 @@
 
 
     // $ANTLR start "rule__PageHeader__Group__6__Impl"
-    // InternalReportDSL.g:14811:1: rule__PageHeader__Group__6__Impl : ( ( rule__PageHeader__ElementsAssignment_6 ) ) ;
+    // InternalReportDSL.g:14980:1: rule__PageHeader__Group__6__Impl : ( ( rule__PageHeader__ElementsAssignment_6 ) ) ;
     public final void rule__PageHeader__Group__6__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:14815:1: ( ( ( rule__PageHeader__ElementsAssignment_6 ) ) )
-            // InternalReportDSL.g:14816:1: ( ( rule__PageHeader__ElementsAssignment_6 ) )
+            // InternalReportDSL.g:14984:1: ( ( ( rule__PageHeader__ElementsAssignment_6 ) ) )
+            // InternalReportDSL.g:14985:1: ( ( rule__PageHeader__ElementsAssignment_6 ) )
             {
-            // InternalReportDSL.g:14816:1: ( ( rule__PageHeader__ElementsAssignment_6 ) )
-            // InternalReportDSL.g:14817:2: ( rule__PageHeader__ElementsAssignment_6 )
+            // InternalReportDSL.g:14985:1: ( ( rule__PageHeader__ElementsAssignment_6 ) )
+            // InternalReportDSL.g:14986:2: ( rule__PageHeader__ElementsAssignment_6 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getPageHeaderAccess().getElementsAssignment_6()); 
             }
-            // InternalReportDSL.g:14818:2: ( rule__PageHeader__ElementsAssignment_6 )
-            // InternalReportDSL.g:14818:3: rule__PageHeader__ElementsAssignment_6
+            // InternalReportDSL.g:14987:2: ( rule__PageHeader__ElementsAssignment_6 )
+            // InternalReportDSL.g:14987:3: rule__PageHeader__ElementsAssignment_6
             {
             pushFollow(FOLLOW_2);
             rule__PageHeader__ElementsAssignment_6();
@@ -50414,14 +51023,14 @@
 
 
     // $ANTLR start "rule__PageHeader__Group__7"
-    // InternalReportDSL.g:14826:1: rule__PageHeader__Group__7 : rule__PageHeader__Group__7__Impl ;
+    // InternalReportDSL.g:14995:1: rule__PageHeader__Group__7 : rule__PageHeader__Group__7__Impl ;
     public final void rule__PageHeader__Group__7() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:14830:1: ( rule__PageHeader__Group__7__Impl )
-            // InternalReportDSL.g:14831:2: rule__PageHeader__Group__7__Impl
+            // InternalReportDSL.g:14999:1: ( rule__PageHeader__Group__7__Impl )
+            // InternalReportDSL.g:15000:2: rule__PageHeader__Group__7__Impl
             {
             pushFollow(FOLLOW_2);
             rule__PageHeader__Group__7__Impl();
@@ -50447,22 +51056,22 @@
 
 
     // $ANTLR start "rule__PageHeader__Group__7__Impl"
-    // InternalReportDSL.g:14837:1: rule__PageHeader__Group__7__Impl : ( '}' ) ;
+    // InternalReportDSL.g:15006:1: rule__PageHeader__Group__7__Impl : ( '}' ) ;
     public final void rule__PageHeader__Group__7__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:14841:1: ( ( '}' ) )
-            // InternalReportDSL.g:14842:1: ( '}' )
+            // InternalReportDSL.g:15010:1: ( ( '}' ) )
+            // InternalReportDSL.g:15011:1: ( '}' )
             {
-            // InternalReportDSL.g:14842:1: ( '}' )
-            // InternalReportDSL.g:14843:2: '}'
+            // InternalReportDSL.g:15011:1: ( '}' )
+            // InternalReportDSL.g:15012:2: '}'
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getPageHeaderAccess().getRightCurlyBracketKeyword_7()); 
             }
-            match(input,126,FOLLOW_2); if (state.failed) return ;
+            match(input,132,FOLLOW_2); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getPageHeaderAccess().getRightCurlyBracketKeyword_7()); 
             }
@@ -50488,16 +51097,16 @@
 
 
     // $ANTLR start "rule__PageDetail__Group__0"
-    // InternalReportDSL.g:14853:1: rule__PageDetail__Group__0 : rule__PageDetail__Group__0__Impl rule__PageDetail__Group__1 ;
+    // InternalReportDSL.g:15022:1: rule__PageDetail__Group__0 : rule__PageDetail__Group__0__Impl rule__PageDetail__Group__1 ;
     public final void rule__PageDetail__Group__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:14857:1: ( rule__PageDetail__Group__0__Impl rule__PageDetail__Group__1 )
-            // InternalReportDSL.g:14858:2: rule__PageDetail__Group__0__Impl rule__PageDetail__Group__1
+            // InternalReportDSL.g:15026:1: ( rule__PageDetail__Group__0__Impl rule__PageDetail__Group__1 )
+            // InternalReportDSL.g:15027:2: rule__PageDetail__Group__0__Impl rule__PageDetail__Group__1
             {
-            pushFollow(FOLLOW_67);
+            pushFollow(FOLLOW_68);
             rule__PageDetail__Group__0__Impl();
 
             state._fsp--;
@@ -50526,23 +51135,23 @@
 
 
     // $ANTLR start "rule__PageDetail__Group__0__Impl"
-    // InternalReportDSL.g:14865:1: rule__PageDetail__Group__0__Impl : ( () ) ;
+    // InternalReportDSL.g:15034:1: rule__PageDetail__Group__0__Impl : ( () ) ;
     public final void rule__PageDetail__Group__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:14869:1: ( ( () ) )
-            // InternalReportDSL.g:14870:1: ( () )
+            // InternalReportDSL.g:15038:1: ( ( () ) )
+            // InternalReportDSL.g:15039:1: ( () )
             {
-            // InternalReportDSL.g:14870:1: ( () )
-            // InternalReportDSL.g:14871:2: ()
+            // InternalReportDSL.g:15039:1: ( () )
+            // InternalReportDSL.g:15040:2: ()
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getPageDetailAccess().getPageDetailAction_0()); 
             }
-            // InternalReportDSL.g:14872:2: ()
-            // InternalReportDSL.g:14872:3: 
+            // InternalReportDSL.g:15041:2: ()
+            // InternalReportDSL.g:15041:3: 
             {
             }
 
@@ -50567,14 +51176,14 @@
 
 
     // $ANTLR start "rule__PageDetail__Group__1"
-    // InternalReportDSL.g:14880:1: rule__PageDetail__Group__1 : rule__PageDetail__Group__1__Impl rule__PageDetail__Group__2 ;
+    // InternalReportDSL.g:15049:1: rule__PageDetail__Group__1 : rule__PageDetail__Group__1__Impl rule__PageDetail__Group__2 ;
     public final void rule__PageDetail__Group__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:14884:1: ( rule__PageDetail__Group__1__Impl rule__PageDetail__Group__2 )
-            // InternalReportDSL.g:14885:2: rule__PageDetail__Group__1__Impl rule__PageDetail__Group__2
+            // InternalReportDSL.g:15053:1: ( rule__PageDetail__Group__1__Impl rule__PageDetail__Group__2 )
+            // InternalReportDSL.g:15054:2: rule__PageDetail__Group__1__Impl rule__PageDetail__Group__2
             {
             pushFollow(FOLLOW_8);
             rule__PageDetail__Group__1__Impl();
@@ -50605,22 +51214,22 @@
 
 
     // $ANTLR start "rule__PageDetail__Group__1__Impl"
-    // InternalReportDSL.g:14892:1: rule__PageDetail__Group__1__Impl : ( 'detail' ) ;
+    // InternalReportDSL.g:15061:1: rule__PageDetail__Group__1__Impl : ( 'detail' ) ;
     public final void rule__PageDetail__Group__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:14896:1: ( ( 'detail' ) )
-            // InternalReportDSL.g:14897:1: ( 'detail' )
+            // InternalReportDSL.g:15065:1: ( ( 'detail' ) )
+            // InternalReportDSL.g:15066:1: ( 'detail' )
             {
-            // InternalReportDSL.g:14897:1: ( 'detail' )
-            // InternalReportDSL.g:14898:2: 'detail'
+            // InternalReportDSL.g:15066:1: ( 'detail' )
+            // InternalReportDSL.g:15067:2: 'detail'
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getPageDetailAccess().getDetailKeyword_1()); 
             }
-            match(input,186,FOLLOW_2); if (state.failed) return ;
+            match(input,193,FOLLOW_2); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getPageDetailAccess().getDetailKeyword_1()); 
             }
@@ -50646,16 +51255,16 @@
 
 
     // $ANTLR start "rule__PageDetail__Group__2"
-    // InternalReportDSL.g:14907:1: rule__PageDetail__Group__2 : rule__PageDetail__Group__2__Impl rule__PageDetail__Group__3 ;
+    // InternalReportDSL.g:15076:1: rule__PageDetail__Group__2 : rule__PageDetail__Group__2__Impl rule__PageDetail__Group__3 ;
     public final void rule__PageDetail__Group__2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:14911:1: ( rule__PageDetail__Group__2__Impl rule__PageDetail__Group__3 )
-            // InternalReportDSL.g:14912:2: rule__PageDetail__Group__2__Impl rule__PageDetail__Group__3
+            // InternalReportDSL.g:15080:1: ( rule__PageDetail__Group__2__Impl rule__PageDetail__Group__3 )
+            // InternalReportDSL.g:15081:2: rule__PageDetail__Group__2__Impl rule__PageDetail__Group__3
             {
-            pushFollow(FOLLOW_72);
+            pushFollow(FOLLOW_73);
             rule__PageDetail__Group__2__Impl();
 
             state._fsp--;
@@ -50684,22 +51293,22 @@
 
 
     // $ANTLR start "rule__PageDetail__Group__2__Impl"
-    // InternalReportDSL.g:14919:1: rule__PageDetail__Group__2__Impl : ( '{' ) ;
+    // InternalReportDSL.g:15088:1: rule__PageDetail__Group__2__Impl : ( '{' ) ;
     public final void rule__PageDetail__Group__2__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:14923:1: ( ( '{' ) )
-            // InternalReportDSL.g:14924:1: ( '{' )
+            // InternalReportDSL.g:15092:1: ( ( '{' ) )
+            // InternalReportDSL.g:15093:1: ( '{' )
             {
-            // InternalReportDSL.g:14924:1: ( '{' )
-            // InternalReportDSL.g:14925:2: '{'
+            // InternalReportDSL.g:15093:1: ( '{' )
+            // InternalReportDSL.g:15094:2: '{'
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getPageDetailAccess().getLeftCurlyBracketKeyword_2()); 
             }
-            match(input,125,FOLLOW_2); if (state.failed) return ;
+            match(input,131,FOLLOW_2); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getPageDetailAccess().getLeftCurlyBracketKeyword_2()); 
             }
@@ -50725,16 +51334,16 @@
 
 
     // $ANTLR start "rule__PageDetail__Group__3"
-    // InternalReportDSL.g:14934:1: rule__PageDetail__Group__3 : rule__PageDetail__Group__3__Impl rule__PageDetail__Group__4 ;
+    // InternalReportDSL.g:15103:1: rule__PageDetail__Group__3 : rule__PageDetail__Group__3__Impl rule__PageDetail__Group__4 ;
     public final void rule__PageDetail__Group__3() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:14938:1: ( rule__PageDetail__Group__3__Impl rule__PageDetail__Group__4 )
-            // InternalReportDSL.g:14939:2: rule__PageDetail__Group__3__Impl rule__PageDetail__Group__4
+            // InternalReportDSL.g:15107:1: ( rule__PageDetail__Group__3__Impl rule__PageDetail__Group__4 )
+            // InternalReportDSL.g:15108:2: rule__PageDetail__Group__3__Impl rule__PageDetail__Group__4
             {
-            pushFollow(FOLLOW_72);
+            pushFollow(FOLLOW_73);
             rule__PageDetail__Group__3__Impl();
 
             state._fsp--;
@@ -50763,37 +51372,37 @@
 
 
     // $ANTLR start "rule__PageDetail__Group__3__Impl"
-    // InternalReportDSL.g:14946:1: rule__PageDetail__Group__3__Impl : ( ( rule__PageDetail__ElementsAssignment_3 )* ) ;
+    // InternalReportDSL.g:15115:1: rule__PageDetail__Group__3__Impl : ( ( rule__PageDetail__ElementsAssignment_3 )* ) ;
     public final void rule__PageDetail__Group__3__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:14950:1: ( ( ( rule__PageDetail__ElementsAssignment_3 )* ) )
-            // InternalReportDSL.g:14951:1: ( ( rule__PageDetail__ElementsAssignment_3 )* )
+            // InternalReportDSL.g:15119:1: ( ( ( rule__PageDetail__ElementsAssignment_3 )* ) )
+            // InternalReportDSL.g:15120:1: ( ( rule__PageDetail__ElementsAssignment_3 )* )
             {
-            // InternalReportDSL.g:14951:1: ( ( rule__PageDetail__ElementsAssignment_3 )* )
-            // InternalReportDSL.g:14952:2: ( rule__PageDetail__ElementsAssignment_3 )*
+            // InternalReportDSL.g:15120:1: ( ( rule__PageDetail__ElementsAssignment_3 )* )
+            // InternalReportDSL.g:15121:2: ( rule__PageDetail__ElementsAssignment_3 )*
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getPageDetailAccess().getElementsAssignment_3()); 
             }
-            // InternalReportDSL.g:14953:2: ( rule__PageDetail__ElementsAssignment_3 )*
-            loop106:
+            // InternalReportDSL.g:15122:2: ( rule__PageDetail__ElementsAssignment_3 )*
+            loop108:
             do {
-                int alt106=2;
-                int LA106_0 = input.LA(1);
+                int alt108=2;
+                int LA108_0 = input.LA(1);
 
-                if ( (LA106_0==188||LA106_0==194||(LA106_0>=200 && LA106_0<=201)||LA106_0==203||(LA106_0>=207 && LA106_0<=208)||(LA106_0>=219 && LA106_0<=224)) ) {
-                    alt106=1;
+                if ( (LA108_0==195||LA108_0==201||(LA108_0>=207 && LA108_0<=208)||LA108_0==210||(LA108_0>=214 && LA108_0<=215)||(LA108_0>=226 && LA108_0<=231)) ) {
+                    alt108=1;
                 }
 
 
-                switch (alt106) {
+                switch (alt108) {
             	case 1 :
-            	    // InternalReportDSL.g:14953:3: rule__PageDetail__ElementsAssignment_3
+            	    // InternalReportDSL.g:15122:3: rule__PageDetail__ElementsAssignment_3
             	    {
-            	    pushFollow(FOLLOW_73);
+            	    pushFollow(FOLLOW_74);
             	    rule__PageDetail__ElementsAssignment_3();
 
             	    state._fsp--;
@@ -50803,7 +51412,7 @@
             	    break;
 
             	default :
-            	    break loop106;
+            	    break loop108;
                 }
             } while (true);
 
@@ -50832,14 +51441,14 @@
 
 
     // $ANTLR start "rule__PageDetail__Group__4"
-    // InternalReportDSL.g:14961:1: rule__PageDetail__Group__4 : rule__PageDetail__Group__4__Impl ;
+    // InternalReportDSL.g:15130:1: rule__PageDetail__Group__4 : rule__PageDetail__Group__4__Impl ;
     public final void rule__PageDetail__Group__4() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:14965:1: ( rule__PageDetail__Group__4__Impl )
-            // InternalReportDSL.g:14966:2: rule__PageDetail__Group__4__Impl
+            // InternalReportDSL.g:15134:1: ( rule__PageDetail__Group__4__Impl )
+            // InternalReportDSL.g:15135:2: rule__PageDetail__Group__4__Impl
             {
             pushFollow(FOLLOW_2);
             rule__PageDetail__Group__4__Impl();
@@ -50865,22 +51474,22 @@
 
 
     // $ANTLR start "rule__PageDetail__Group__4__Impl"
-    // InternalReportDSL.g:14972:1: rule__PageDetail__Group__4__Impl : ( '}' ) ;
+    // InternalReportDSL.g:15141:1: rule__PageDetail__Group__4__Impl : ( '}' ) ;
     public final void rule__PageDetail__Group__4__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:14976:1: ( ( '}' ) )
-            // InternalReportDSL.g:14977:1: ( '}' )
+            // InternalReportDSL.g:15145:1: ( ( '}' ) )
+            // InternalReportDSL.g:15146:1: ( '}' )
             {
-            // InternalReportDSL.g:14977:1: ( '}' )
-            // InternalReportDSL.g:14978:2: '}'
+            // InternalReportDSL.g:15146:1: ( '}' )
+            // InternalReportDSL.g:15147:2: '}'
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getPageDetailAccess().getRightCurlyBracketKeyword_4()); 
             }
-            match(input,126,FOLLOW_2); if (state.failed) return ;
+            match(input,132,FOLLOW_2); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getPageDetailAccess().getRightCurlyBracketKeyword_4()); 
             }
@@ -50906,16 +51515,16 @@
 
 
     // $ANTLR start "rule__PageFooter__Group__0"
-    // InternalReportDSL.g:14988:1: rule__PageFooter__Group__0 : rule__PageFooter__Group__0__Impl rule__PageFooter__Group__1 ;
+    // InternalReportDSL.g:15157:1: rule__PageFooter__Group__0 : rule__PageFooter__Group__0__Impl rule__PageFooter__Group__1 ;
     public final void rule__PageFooter__Group__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:14992:1: ( rule__PageFooter__Group__0__Impl rule__PageFooter__Group__1 )
-            // InternalReportDSL.g:14993:2: rule__PageFooter__Group__0__Impl rule__PageFooter__Group__1
+            // InternalReportDSL.g:15161:1: ( rule__PageFooter__Group__0__Impl rule__PageFooter__Group__1 )
+            // InternalReportDSL.g:15162:2: rule__PageFooter__Group__0__Impl rule__PageFooter__Group__1
             {
-            pushFollow(FOLLOW_74);
+            pushFollow(FOLLOW_75);
             rule__PageFooter__Group__0__Impl();
 
             state._fsp--;
@@ -50944,23 +51553,23 @@
 
 
     // $ANTLR start "rule__PageFooter__Group__0__Impl"
-    // InternalReportDSL.g:15000:1: rule__PageFooter__Group__0__Impl : ( () ) ;
+    // InternalReportDSL.g:15169:1: rule__PageFooter__Group__0__Impl : ( () ) ;
     public final void rule__PageFooter__Group__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:15004:1: ( ( () ) )
-            // InternalReportDSL.g:15005:1: ( () )
+            // InternalReportDSL.g:15173:1: ( ( () ) )
+            // InternalReportDSL.g:15174:1: ( () )
             {
-            // InternalReportDSL.g:15005:1: ( () )
-            // InternalReportDSL.g:15006:2: ()
+            // InternalReportDSL.g:15174:1: ( () )
+            // InternalReportDSL.g:15175:2: ()
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getPageFooterAccess().getPageFooterAction_0()); 
             }
-            // InternalReportDSL.g:15007:2: ()
-            // InternalReportDSL.g:15007:3: 
+            // InternalReportDSL.g:15176:2: ()
+            // InternalReportDSL.g:15176:3: 
             {
             }
 
@@ -50985,14 +51594,14 @@
 
 
     // $ANTLR start "rule__PageFooter__Group__1"
-    // InternalReportDSL.g:15015:1: rule__PageFooter__Group__1 : rule__PageFooter__Group__1__Impl rule__PageFooter__Group__2 ;
+    // InternalReportDSL.g:15184:1: rule__PageFooter__Group__1 : rule__PageFooter__Group__1__Impl rule__PageFooter__Group__2 ;
     public final void rule__PageFooter__Group__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:15019:1: ( rule__PageFooter__Group__1__Impl rule__PageFooter__Group__2 )
-            // InternalReportDSL.g:15020:2: rule__PageFooter__Group__1__Impl rule__PageFooter__Group__2
+            // InternalReportDSL.g:15188:1: ( rule__PageFooter__Group__1__Impl rule__PageFooter__Group__2 )
+            // InternalReportDSL.g:15189:2: rule__PageFooter__Group__1__Impl rule__PageFooter__Group__2
             {
             pushFollow(FOLLOW_8);
             rule__PageFooter__Group__1__Impl();
@@ -51023,22 +51632,22 @@
 
 
     // $ANTLR start "rule__PageFooter__Group__1__Impl"
-    // InternalReportDSL.g:15027:1: rule__PageFooter__Group__1__Impl : ( 'footer' ) ;
+    // InternalReportDSL.g:15196:1: rule__PageFooter__Group__1__Impl : ( 'footer' ) ;
     public final void rule__PageFooter__Group__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:15031:1: ( ( 'footer' ) )
-            // InternalReportDSL.g:15032:1: ( 'footer' )
+            // InternalReportDSL.g:15200:1: ( ( 'footer' ) )
+            // InternalReportDSL.g:15201:1: ( 'footer' )
             {
-            // InternalReportDSL.g:15032:1: ( 'footer' )
-            // InternalReportDSL.g:15033:2: 'footer'
+            // InternalReportDSL.g:15201:1: ( 'footer' )
+            // InternalReportDSL.g:15202:2: 'footer'
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getPageFooterAccess().getFooterKeyword_1()); 
             }
-            match(input,187,FOLLOW_2); if (state.failed) return ;
+            match(input,194,FOLLOW_2); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getPageFooterAccess().getFooterKeyword_1()); 
             }
@@ -51064,16 +51673,16 @@
 
 
     // $ANTLR start "rule__PageFooter__Group__2"
-    // InternalReportDSL.g:15042:1: rule__PageFooter__Group__2 : rule__PageFooter__Group__2__Impl rule__PageFooter__Group__3 ;
+    // InternalReportDSL.g:15211:1: rule__PageFooter__Group__2 : rule__PageFooter__Group__2__Impl rule__PageFooter__Group__3 ;
     public final void rule__PageFooter__Group__2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:15046:1: ( rule__PageFooter__Group__2__Impl rule__PageFooter__Group__3 )
-            // InternalReportDSL.g:15047:2: rule__PageFooter__Group__2__Impl rule__PageFooter__Group__3
+            // InternalReportDSL.g:15215:1: ( rule__PageFooter__Group__2__Impl rule__PageFooter__Group__3 )
+            // InternalReportDSL.g:15216:2: rule__PageFooter__Group__2__Impl rule__PageFooter__Group__3
             {
-            pushFollow(FOLLOW_75);
+            pushFollow(FOLLOW_76);
             rule__PageFooter__Group__2__Impl();
 
             state._fsp--;
@@ -51102,22 +51711,22 @@
 
 
     // $ANTLR start "rule__PageFooter__Group__2__Impl"
-    // InternalReportDSL.g:15054:1: rule__PageFooter__Group__2__Impl : ( '{' ) ;
+    // InternalReportDSL.g:15223:1: rule__PageFooter__Group__2__Impl : ( '{' ) ;
     public final void rule__PageFooter__Group__2__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:15058:1: ( ( '{' ) )
-            // InternalReportDSL.g:15059:1: ( '{' )
+            // InternalReportDSL.g:15227:1: ( ( '{' ) )
+            // InternalReportDSL.g:15228:1: ( '{' )
             {
-            // InternalReportDSL.g:15059:1: ( '{' )
-            // InternalReportDSL.g:15060:2: '{'
+            // InternalReportDSL.g:15228:1: ( '{' )
+            // InternalReportDSL.g:15229:2: '{'
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getPageFooterAccess().getLeftCurlyBracketKeyword_2()); 
             }
-            match(input,125,FOLLOW_2); if (state.failed) return ;
+            match(input,131,FOLLOW_2); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getPageFooterAccess().getLeftCurlyBracketKeyword_2()); 
             }
@@ -51143,16 +51752,16 @@
 
 
     // $ANTLR start "rule__PageFooter__Group__3"
-    // InternalReportDSL.g:15069:1: rule__PageFooter__Group__3 : rule__PageFooter__Group__3__Impl rule__PageFooter__Group__4 ;
+    // InternalReportDSL.g:15238:1: rule__PageFooter__Group__3 : rule__PageFooter__Group__3__Impl rule__PageFooter__Group__4 ;
     public final void rule__PageFooter__Group__3() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:15073:1: ( rule__PageFooter__Group__3__Impl rule__PageFooter__Group__4 )
-            // InternalReportDSL.g:15074:2: rule__PageFooter__Group__3__Impl rule__PageFooter__Group__4
+            // InternalReportDSL.g:15242:1: ( rule__PageFooter__Group__3__Impl rule__PageFooter__Group__4 )
+            // InternalReportDSL.g:15243:2: rule__PageFooter__Group__3__Impl rule__PageFooter__Group__4
             {
-            pushFollow(FOLLOW_75);
+            pushFollow(FOLLOW_76);
             rule__PageFooter__Group__3__Impl();
 
             state._fsp--;
@@ -51181,31 +51790,31 @@
 
 
     // $ANTLR start "rule__PageFooter__Group__3__Impl"
-    // InternalReportDSL.g:15081:1: rule__PageFooter__Group__3__Impl : ( ( rule__PageFooter__ShowOnLastAssignment_3 )? ) ;
+    // InternalReportDSL.g:15250:1: rule__PageFooter__Group__3__Impl : ( ( rule__PageFooter__ShowOnLastAssignment_3 )? ) ;
     public final void rule__PageFooter__Group__3__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:15085:1: ( ( ( rule__PageFooter__ShowOnLastAssignment_3 )? ) )
-            // InternalReportDSL.g:15086:1: ( ( rule__PageFooter__ShowOnLastAssignment_3 )? )
+            // InternalReportDSL.g:15254:1: ( ( ( rule__PageFooter__ShowOnLastAssignment_3 )? ) )
+            // InternalReportDSL.g:15255:1: ( ( rule__PageFooter__ShowOnLastAssignment_3 )? )
             {
-            // InternalReportDSL.g:15086:1: ( ( rule__PageFooter__ShowOnLastAssignment_3 )? )
-            // InternalReportDSL.g:15087:2: ( rule__PageFooter__ShowOnLastAssignment_3 )?
+            // InternalReportDSL.g:15255:1: ( ( rule__PageFooter__ShowOnLastAssignment_3 )? )
+            // InternalReportDSL.g:15256:2: ( rule__PageFooter__ShowOnLastAssignment_3 )?
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getPageFooterAccess().getShowOnLastAssignment_3()); 
             }
-            // InternalReportDSL.g:15088:2: ( rule__PageFooter__ShowOnLastAssignment_3 )?
-            int alt107=2;
-            int LA107_0 = input.LA(1);
+            // InternalReportDSL.g:15257:2: ( rule__PageFooter__ShowOnLastAssignment_3 )?
+            int alt109=2;
+            int LA109_0 = input.LA(1);
 
-            if ( (LA107_0==256) ) {
-                alt107=1;
+            if ( (LA109_0==263) ) {
+                alt109=1;
             }
-            switch (alt107) {
+            switch (alt109) {
                 case 1 :
-                    // InternalReportDSL.g:15088:3: rule__PageFooter__ShowOnLastAssignment_3
+                    // InternalReportDSL.g:15257:3: rule__PageFooter__ShowOnLastAssignment_3
                     {
                     pushFollow(FOLLOW_2);
                     rule__PageFooter__ShowOnLastAssignment_3();
@@ -51243,14 +51852,14 @@
 
 
     // $ANTLR start "rule__PageFooter__Group__4"
-    // InternalReportDSL.g:15096:1: rule__PageFooter__Group__4 : rule__PageFooter__Group__4__Impl rule__PageFooter__Group__5 ;
+    // InternalReportDSL.g:15265:1: rule__PageFooter__Group__4 : rule__PageFooter__Group__4__Impl rule__PageFooter__Group__5 ;
     public final void rule__PageFooter__Group__4() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:15100:1: ( rule__PageFooter__Group__4__Impl rule__PageFooter__Group__5 )
-            // InternalReportDSL.g:15101:2: rule__PageFooter__Group__4__Impl rule__PageFooter__Group__5
+            // InternalReportDSL.g:15269:1: ( rule__PageFooter__Group__4__Impl rule__PageFooter__Group__5 )
+            // InternalReportDSL.g:15270:2: rule__PageFooter__Group__4__Impl rule__PageFooter__Group__5
             {
             pushFollow(FOLLOW_36);
             rule__PageFooter__Group__4__Impl();
@@ -51281,22 +51890,22 @@
 
 
     // $ANTLR start "rule__PageFooter__Group__4__Impl"
-    // InternalReportDSL.g:15108:1: rule__PageFooter__Group__4__Impl : ( 'height' ) ;
+    // InternalReportDSL.g:15277:1: rule__PageFooter__Group__4__Impl : ( 'height' ) ;
     public final void rule__PageFooter__Group__4__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:15112:1: ( ( 'height' ) )
-            // InternalReportDSL.g:15113:1: ( 'height' )
+            // InternalReportDSL.g:15281:1: ( ( 'height' ) )
+            // InternalReportDSL.g:15282:1: ( 'height' )
             {
-            // InternalReportDSL.g:15113:1: ( 'height' )
-            // InternalReportDSL.g:15114:2: 'height'
+            // InternalReportDSL.g:15282:1: ( 'height' )
+            // InternalReportDSL.g:15283:2: 'height'
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getPageFooterAccess().getHeightKeyword_4()); 
             }
-            match(input,185,FOLLOW_2); if (state.failed) return ;
+            match(input,192,FOLLOW_2); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getPageFooterAccess().getHeightKeyword_4()); 
             }
@@ -51322,16 +51931,16 @@
 
 
     // $ANTLR start "rule__PageFooter__Group__5"
-    // InternalReportDSL.g:15123:1: rule__PageFooter__Group__5 : rule__PageFooter__Group__5__Impl rule__PageFooter__Group__6 ;
+    // InternalReportDSL.g:15292:1: rule__PageFooter__Group__5 : rule__PageFooter__Group__5__Impl rule__PageFooter__Group__6 ;
     public final void rule__PageFooter__Group__5() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:15127:1: ( rule__PageFooter__Group__5__Impl rule__PageFooter__Group__6 )
-            // InternalReportDSL.g:15128:2: rule__PageFooter__Group__5__Impl rule__PageFooter__Group__6
+            // InternalReportDSL.g:15296:1: ( rule__PageFooter__Group__5__Impl rule__PageFooter__Group__6 )
+            // InternalReportDSL.g:15297:2: rule__PageFooter__Group__5__Impl rule__PageFooter__Group__6
             {
-            pushFollow(FOLLOW_71);
+            pushFollow(FOLLOW_72);
             rule__PageFooter__Group__5__Impl();
 
             state._fsp--;
@@ -51360,23 +51969,23 @@
 
 
     // $ANTLR start "rule__PageFooter__Group__5__Impl"
-    // InternalReportDSL.g:15135:1: rule__PageFooter__Group__5__Impl : ( ( rule__PageFooter__HeightValueAssignment_5 ) ) ;
+    // InternalReportDSL.g:15304:1: rule__PageFooter__Group__5__Impl : ( ( rule__PageFooter__HeightValueAssignment_5 ) ) ;
     public final void rule__PageFooter__Group__5__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:15139:1: ( ( ( rule__PageFooter__HeightValueAssignment_5 ) ) )
-            // InternalReportDSL.g:15140:1: ( ( rule__PageFooter__HeightValueAssignment_5 ) )
+            // InternalReportDSL.g:15308:1: ( ( ( rule__PageFooter__HeightValueAssignment_5 ) ) )
+            // InternalReportDSL.g:15309:1: ( ( rule__PageFooter__HeightValueAssignment_5 ) )
             {
-            // InternalReportDSL.g:15140:1: ( ( rule__PageFooter__HeightValueAssignment_5 ) )
-            // InternalReportDSL.g:15141:2: ( rule__PageFooter__HeightValueAssignment_5 )
+            // InternalReportDSL.g:15309:1: ( ( rule__PageFooter__HeightValueAssignment_5 ) )
+            // InternalReportDSL.g:15310:2: ( rule__PageFooter__HeightValueAssignment_5 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getPageFooterAccess().getHeightValueAssignment_5()); 
             }
-            // InternalReportDSL.g:15142:2: ( rule__PageFooter__HeightValueAssignment_5 )
-            // InternalReportDSL.g:15142:3: rule__PageFooter__HeightValueAssignment_5
+            // InternalReportDSL.g:15311:2: ( rule__PageFooter__HeightValueAssignment_5 )
+            // InternalReportDSL.g:15311:3: rule__PageFooter__HeightValueAssignment_5
             {
             pushFollow(FOLLOW_2);
             rule__PageFooter__HeightValueAssignment_5();
@@ -51411,14 +52020,14 @@
 
 
     // $ANTLR start "rule__PageFooter__Group__6"
-    // InternalReportDSL.g:15150:1: rule__PageFooter__Group__6 : rule__PageFooter__Group__6__Impl rule__PageFooter__Group__7 ;
+    // InternalReportDSL.g:15319:1: rule__PageFooter__Group__6 : rule__PageFooter__Group__6__Impl rule__PageFooter__Group__7 ;
     public final void rule__PageFooter__Group__6() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:15154:1: ( rule__PageFooter__Group__6__Impl rule__PageFooter__Group__7 )
-            // InternalReportDSL.g:15155:2: rule__PageFooter__Group__6__Impl rule__PageFooter__Group__7
+            // InternalReportDSL.g:15323:1: ( rule__PageFooter__Group__6__Impl rule__PageFooter__Group__7 )
+            // InternalReportDSL.g:15324:2: rule__PageFooter__Group__6__Impl rule__PageFooter__Group__7
             {
             pushFollow(FOLLOW_17);
             rule__PageFooter__Group__6__Impl();
@@ -51449,23 +52058,23 @@
 
 
     // $ANTLR start "rule__PageFooter__Group__6__Impl"
-    // InternalReportDSL.g:15162:1: rule__PageFooter__Group__6__Impl : ( ( rule__PageFooter__ElementsAssignment_6 ) ) ;
+    // InternalReportDSL.g:15331:1: rule__PageFooter__Group__6__Impl : ( ( rule__PageFooter__ElementsAssignment_6 ) ) ;
     public final void rule__PageFooter__Group__6__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:15166:1: ( ( ( rule__PageFooter__ElementsAssignment_6 ) ) )
-            // InternalReportDSL.g:15167:1: ( ( rule__PageFooter__ElementsAssignment_6 ) )
+            // InternalReportDSL.g:15335:1: ( ( ( rule__PageFooter__ElementsAssignment_6 ) ) )
+            // InternalReportDSL.g:15336:1: ( ( rule__PageFooter__ElementsAssignment_6 ) )
             {
-            // InternalReportDSL.g:15167:1: ( ( rule__PageFooter__ElementsAssignment_6 ) )
-            // InternalReportDSL.g:15168:2: ( rule__PageFooter__ElementsAssignment_6 )
+            // InternalReportDSL.g:15336:1: ( ( rule__PageFooter__ElementsAssignment_6 ) )
+            // InternalReportDSL.g:15337:2: ( rule__PageFooter__ElementsAssignment_6 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getPageFooterAccess().getElementsAssignment_6()); 
             }
-            // InternalReportDSL.g:15169:2: ( rule__PageFooter__ElementsAssignment_6 )
-            // InternalReportDSL.g:15169:3: rule__PageFooter__ElementsAssignment_6
+            // InternalReportDSL.g:15338:2: ( rule__PageFooter__ElementsAssignment_6 )
+            // InternalReportDSL.g:15338:3: rule__PageFooter__ElementsAssignment_6
             {
             pushFollow(FOLLOW_2);
             rule__PageFooter__ElementsAssignment_6();
@@ -51500,14 +52109,14 @@
 
 
     // $ANTLR start "rule__PageFooter__Group__7"
-    // InternalReportDSL.g:15177:1: rule__PageFooter__Group__7 : rule__PageFooter__Group__7__Impl ;
+    // InternalReportDSL.g:15346:1: rule__PageFooter__Group__7 : rule__PageFooter__Group__7__Impl ;
     public final void rule__PageFooter__Group__7() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:15181:1: ( rule__PageFooter__Group__7__Impl )
-            // InternalReportDSL.g:15182:2: rule__PageFooter__Group__7__Impl
+            // InternalReportDSL.g:15350:1: ( rule__PageFooter__Group__7__Impl )
+            // InternalReportDSL.g:15351:2: rule__PageFooter__Group__7__Impl
             {
             pushFollow(FOLLOW_2);
             rule__PageFooter__Group__7__Impl();
@@ -51533,22 +52142,22 @@
 
 
     // $ANTLR start "rule__PageFooter__Group__7__Impl"
-    // InternalReportDSL.g:15188:1: rule__PageFooter__Group__7__Impl : ( '}' ) ;
+    // InternalReportDSL.g:15357:1: rule__PageFooter__Group__7__Impl : ( '}' ) ;
     public final void rule__PageFooter__Group__7__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:15192:1: ( ( '}' ) )
-            // InternalReportDSL.g:15193:1: ( '}' )
+            // InternalReportDSL.g:15361:1: ( ( '}' ) )
+            // InternalReportDSL.g:15362:1: ( '}' )
             {
-            // InternalReportDSL.g:15193:1: ( '}' )
-            // InternalReportDSL.g:15194:2: '}'
+            // InternalReportDSL.g:15362:1: ( '}' )
+            // InternalReportDSL.g:15363:2: '}'
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getPageFooterAccess().getRightCurlyBracketKeyword_7()); 
             }
-            match(input,126,FOLLOW_2); if (state.failed) return ;
+            match(input,132,FOLLOW_2); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getPageFooterAccess().getRightCurlyBracketKeyword_7()); 
             }
@@ -51574,16 +52183,16 @@
 
 
     // $ANTLR start "rule__Grid__Group__0"
-    // InternalReportDSL.g:15204:1: rule__Grid__Group__0 : rule__Grid__Group__0__Impl rule__Grid__Group__1 ;
+    // InternalReportDSL.g:15373:1: rule__Grid__Group__0 : rule__Grid__Group__0__Impl rule__Grid__Group__1 ;
     public final void rule__Grid__Group__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:15208:1: ( rule__Grid__Group__0__Impl rule__Grid__Group__1 )
-            // InternalReportDSL.g:15209:2: rule__Grid__Group__0__Impl rule__Grid__Group__1
+            // InternalReportDSL.g:15377:1: ( rule__Grid__Group__0__Impl rule__Grid__Group__1 )
+            // InternalReportDSL.g:15378:2: rule__Grid__Group__0__Impl rule__Grid__Group__1
             {
-            pushFollow(FOLLOW_71);
+            pushFollow(FOLLOW_72);
             rule__Grid__Group__0__Impl();
 
             state._fsp--;
@@ -51612,23 +52221,23 @@
 
 
     // $ANTLR start "rule__Grid__Group__0__Impl"
-    // InternalReportDSL.g:15216:1: rule__Grid__Group__0__Impl : ( () ) ;
+    // InternalReportDSL.g:15385:1: rule__Grid__Group__0__Impl : ( () ) ;
     public final void rule__Grid__Group__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:15220:1: ( ( () ) )
-            // InternalReportDSL.g:15221:1: ( () )
+            // InternalReportDSL.g:15389:1: ( ( () ) )
+            // InternalReportDSL.g:15390:1: ( () )
             {
-            // InternalReportDSL.g:15221:1: ( () )
-            // InternalReportDSL.g:15222:2: ()
+            // InternalReportDSL.g:15390:1: ( () )
+            // InternalReportDSL.g:15391:2: ()
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getGridAccess().getGridAction_0()); 
             }
-            // InternalReportDSL.g:15223:2: ()
-            // InternalReportDSL.g:15223:3: 
+            // InternalReportDSL.g:15392:2: ()
+            // InternalReportDSL.g:15392:3: 
             {
             }
 
@@ -51653,16 +52262,16 @@
 
 
     // $ANTLR start "rule__Grid__Group__1"
-    // InternalReportDSL.g:15231:1: rule__Grid__Group__1 : rule__Grid__Group__1__Impl rule__Grid__Group__2 ;
+    // InternalReportDSL.g:15400:1: rule__Grid__Group__1 : rule__Grid__Group__1__Impl rule__Grid__Group__2 ;
     public final void rule__Grid__Group__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:15235:1: ( rule__Grid__Group__1__Impl rule__Grid__Group__2 )
-            // InternalReportDSL.g:15236:2: rule__Grid__Group__1__Impl rule__Grid__Group__2
+            // InternalReportDSL.g:15404:1: ( rule__Grid__Group__1__Impl rule__Grid__Group__2 )
+            // InternalReportDSL.g:15405:2: rule__Grid__Group__1__Impl rule__Grid__Group__2
             {
-            pushFollow(FOLLOW_76);
+            pushFollow(FOLLOW_77);
             rule__Grid__Group__1__Impl();
 
             state._fsp--;
@@ -51691,22 +52300,22 @@
 
 
     // $ANTLR start "rule__Grid__Group__1__Impl"
-    // InternalReportDSL.g:15243:1: rule__Grid__Group__1__Impl : ( 'grid' ) ;
+    // InternalReportDSL.g:15412:1: rule__Grid__Group__1__Impl : ( 'grid' ) ;
     public final void rule__Grid__Group__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:15247:1: ( ( 'grid' ) )
-            // InternalReportDSL.g:15248:1: ( 'grid' )
+            // InternalReportDSL.g:15416:1: ( ( 'grid' ) )
+            // InternalReportDSL.g:15417:1: ( 'grid' )
             {
-            // InternalReportDSL.g:15248:1: ( 'grid' )
-            // InternalReportDSL.g:15249:2: 'grid'
+            // InternalReportDSL.g:15417:1: ( 'grid' )
+            // InternalReportDSL.g:15418:2: 'grid'
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getGridAccess().getGridKeyword_1()); 
             }
-            match(input,188,FOLLOW_2); if (state.failed) return ;
+            match(input,195,FOLLOW_2); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getGridAccess().getGridKeyword_1()); 
             }
@@ -51732,16 +52341,16 @@
 
 
     // $ANTLR start "rule__Grid__Group__2"
-    // InternalReportDSL.g:15258:1: rule__Grid__Group__2 : rule__Grid__Group__2__Impl rule__Grid__Group__3 ;
+    // InternalReportDSL.g:15427:1: rule__Grid__Group__2 : rule__Grid__Group__2__Impl rule__Grid__Group__3 ;
     public final void rule__Grid__Group__2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:15262:1: ( rule__Grid__Group__2__Impl rule__Grid__Group__3 )
-            // InternalReportDSL.g:15263:2: rule__Grid__Group__2__Impl rule__Grid__Group__3
+            // InternalReportDSL.g:15431:1: ( rule__Grid__Group__2__Impl rule__Grid__Group__3 )
+            // InternalReportDSL.g:15432:2: rule__Grid__Group__2__Impl rule__Grid__Group__3
             {
-            pushFollow(FOLLOW_76);
+            pushFollow(FOLLOW_77);
             rule__Grid__Group__2__Impl();
 
             state._fsp--;
@@ -51770,31 +52379,31 @@
 
 
     // $ANTLR start "rule__Grid__Group__2__Impl"
-    // InternalReportDSL.g:15270:1: rule__Grid__Group__2__Impl : ( ( rule__Grid__Group_2__0 )? ) ;
+    // InternalReportDSL.g:15439:1: rule__Grid__Group__2__Impl : ( ( rule__Grid__Group_2__0 )? ) ;
     public final void rule__Grid__Group__2__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:15274:1: ( ( ( rule__Grid__Group_2__0 )? ) )
-            // InternalReportDSL.g:15275:1: ( ( rule__Grid__Group_2__0 )? )
+            // InternalReportDSL.g:15443:1: ( ( ( rule__Grid__Group_2__0 )? ) )
+            // InternalReportDSL.g:15444:1: ( ( rule__Grid__Group_2__0 )? )
             {
-            // InternalReportDSL.g:15275:1: ( ( rule__Grid__Group_2__0 )? )
-            // InternalReportDSL.g:15276:2: ( rule__Grid__Group_2__0 )?
+            // InternalReportDSL.g:15444:1: ( ( rule__Grid__Group_2__0 )? )
+            // InternalReportDSL.g:15445:2: ( rule__Grid__Group_2__0 )?
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getGridAccess().getGroup_2()); 
             }
-            // InternalReportDSL.g:15277:2: ( rule__Grid__Group_2__0 )?
-            int alt108=2;
-            int LA108_0 = input.LA(1);
+            // InternalReportDSL.g:15446:2: ( rule__Grid__Group_2__0 )?
+            int alt110=2;
+            int LA110_0 = input.LA(1);
 
-            if ( (LA108_0==189) ) {
-                alt108=1;
+            if ( (LA110_0==196) ) {
+                alt110=1;
             }
-            switch (alt108) {
+            switch (alt110) {
                 case 1 :
-                    // InternalReportDSL.g:15277:3: rule__Grid__Group_2__0
+                    // InternalReportDSL.g:15446:3: rule__Grid__Group_2__0
                     {
                     pushFollow(FOLLOW_2);
                     rule__Grid__Group_2__0();
@@ -51832,16 +52441,16 @@
 
 
     // $ANTLR start "rule__Grid__Group__3"
-    // InternalReportDSL.g:15285:1: rule__Grid__Group__3 : rule__Grid__Group__3__Impl rule__Grid__Group__4 ;
+    // InternalReportDSL.g:15454:1: rule__Grid__Group__3 : rule__Grid__Group__3__Impl rule__Grid__Group__4 ;
     public final void rule__Grid__Group__3() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:15289:1: ( rule__Grid__Group__3__Impl rule__Grid__Group__4 )
-            // InternalReportDSL.g:15290:2: rule__Grid__Group__3__Impl rule__Grid__Group__4
+            // InternalReportDSL.g:15458:1: ( rule__Grid__Group__3__Impl rule__Grid__Group__4 )
+            // InternalReportDSL.g:15459:2: rule__Grid__Group__3__Impl rule__Grid__Group__4
             {
-            pushFollow(FOLLOW_76);
+            pushFollow(FOLLOW_8);
             rule__Grid__Group__3__Impl();
 
             state._fsp--;
@@ -51870,45 +52479,34 @@
 
 
     // $ANTLR start "rule__Grid__Group__3__Impl"
-    // InternalReportDSL.g:15297:1: rule__Grid__Group__3__Impl : ( ( rule__Grid__Group_3__0 )? ) ;
+    // InternalReportDSL.g:15466:1: rule__Grid__Group__3__Impl : ( ( rule__Grid__UnorderedGroup_3 ) ) ;
     public final void rule__Grid__Group__3__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:15301:1: ( ( ( rule__Grid__Group_3__0 )? ) )
-            // InternalReportDSL.g:15302:1: ( ( rule__Grid__Group_3__0 )? )
+            // InternalReportDSL.g:15470:1: ( ( ( rule__Grid__UnorderedGroup_3 ) ) )
+            // InternalReportDSL.g:15471:1: ( ( rule__Grid__UnorderedGroup_3 ) )
             {
-            // InternalReportDSL.g:15302:1: ( ( rule__Grid__Group_3__0 )? )
-            // InternalReportDSL.g:15303:2: ( rule__Grid__Group_3__0 )?
+            // InternalReportDSL.g:15471:1: ( ( rule__Grid__UnorderedGroup_3 ) )
+            // InternalReportDSL.g:15472:2: ( rule__Grid__UnorderedGroup_3 )
             {
             if ( state.backtracking==0 ) {
-               before(grammarAccess.getGridAccess().getGroup_3()); 
+               before(grammarAccess.getGridAccess().getUnorderedGroup_3()); 
             }
-            // InternalReportDSL.g:15304:2: ( rule__Grid__Group_3__0 )?
-            int alt109=2;
-            int LA109_0 = input.LA(1);
+            // InternalReportDSL.g:15473:2: ( rule__Grid__UnorderedGroup_3 )
+            // InternalReportDSL.g:15473:3: rule__Grid__UnorderedGroup_3
+            {
+            pushFollow(FOLLOW_2);
+            rule__Grid__UnorderedGroup_3();
 
-            if ( (LA109_0==190) ) {
-                alt109=1;
-            }
-            switch (alt109) {
-                case 1 :
-                    // InternalReportDSL.g:15304:3: rule__Grid__Group_3__0
-                    {
-                    pushFollow(FOLLOW_2);
-                    rule__Grid__Group_3__0();
-
-                    state._fsp--;
-                    if (state.failed) return ;
-
-                    }
-                    break;
+            state._fsp--;
+            if (state.failed) return ;
 
             }
 
             if ( state.backtracking==0 ) {
-               after(grammarAccess.getGridAccess().getGroup_3()); 
+               after(grammarAccess.getGridAccess().getUnorderedGroup_3()); 
             }
 
             }
@@ -51932,16 +52530,16 @@
 
 
     // $ANTLR start "rule__Grid__Group__4"
-    // InternalReportDSL.g:15312:1: rule__Grid__Group__4 : rule__Grid__Group__4__Impl rule__Grid__Group__5 ;
+    // InternalReportDSL.g:15481:1: rule__Grid__Group__4 : rule__Grid__Group__4__Impl rule__Grid__Group__5 ;
     public final void rule__Grid__Group__4() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:15316:1: ( rule__Grid__Group__4__Impl rule__Grid__Group__5 )
-            // InternalReportDSL.g:15317:2: rule__Grid__Group__4__Impl rule__Grid__Group__5
+            // InternalReportDSL.g:15485:1: ( rule__Grid__Group__4__Impl rule__Grid__Group__5 )
+            // InternalReportDSL.g:15486:2: rule__Grid__Group__4__Impl rule__Grid__Group__5
             {
-            pushFollow(FOLLOW_76);
+            pushFollow(FOLLOW_78);
             rule__Grid__Group__4__Impl();
 
             state._fsp--;
@@ -51970,45 +52568,24 @@
 
 
     // $ANTLR start "rule__Grid__Group__4__Impl"
-    // InternalReportDSL.g:15324:1: rule__Grid__Group__4__Impl : ( ( rule__Grid__VisibilityItemAssignment_4 )? ) ;
+    // InternalReportDSL.g:15493:1: rule__Grid__Group__4__Impl : ( '{' ) ;
     public final void rule__Grid__Group__4__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:15328:1: ( ( ( rule__Grid__VisibilityItemAssignment_4 )? ) )
-            // InternalReportDSL.g:15329:1: ( ( rule__Grid__VisibilityItemAssignment_4 )? )
+            // InternalReportDSL.g:15497:1: ( ( '{' ) )
+            // InternalReportDSL.g:15498:1: ( '{' )
             {
-            // InternalReportDSL.g:15329:1: ( ( rule__Grid__VisibilityItemAssignment_4 )? )
-            // InternalReportDSL.g:15330:2: ( rule__Grid__VisibilityItemAssignment_4 )?
+            // InternalReportDSL.g:15498:1: ( '{' )
+            // InternalReportDSL.g:15499:2: '{'
             {
             if ( state.backtracking==0 ) {
-               before(grammarAccess.getGridAccess().getVisibilityItemAssignment_4()); 
+               before(grammarAccess.getGridAccess().getLeftCurlyBracketKeyword_4()); 
             }
-            // InternalReportDSL.g:15331:2: ( rule__Grid__VisibilityItemAssignment_4 )?
-            int alt110=2;
-            int LA110_0 = input.LA(1);
-
-            if ( (LA110_0==260) ) {
-                alt110=1;
-            }
-            switch (alt110) {
-                case 1 :
-                    // InternalReportDSL.g:15331:3: rule__Grid__VisibilityItemAssignment_4
-                    {
-                    pushFollow(FOLLOW_2);
-                    rule__Grid__VisibilityItemAssignment_4();
-
-                    state._fsp--;
-                    if (state.failed) return ;
-
-                    }
-                    break;
-
-            }
-
+            match(input,131,FOLLOW_2); if (state.failed) return ;
             if ( state.backtracking==0 ) {
-               after(grammarAccess.getGridAccess().getVisibilityItemAssignment_4()); 
+               after(grammarAccess.getGridAccess().getLeftCurlyBracketKeyword_4()); 
             }
 
             }
@@ -52032,16 +52609,16 @@
 
 
     // $ANTLR start "rule__Grid__Group__5"
-    // InternalReportDSL.g:15339:1: rule__Grid__Group__5 : rule__Grid__Group__5__Impl rule__Grid__Group__6 ;
+    // InternalReportDSL.g:15508:1: rule__Grid__Group__5 : rule__Grid__Group__5__Impl rule__Grid__Group__6 ;
     public final void rule__Grid__Group__5() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:15343:1: ( rule__Grid__Group__5__Impl rule__Grid__Group__6 )
-            // InternalReportDSL.g:15344:2: rule__Grid__Group__5__Impl rule__Grid__Group__6
+            // InternalReportDSL.g:15512:1: ( rule__Grid__Group__5__Impl rule__Grid__Group__6 )
+            // InternalReportDSL.g:15513:2: rule__Grid__Group__5__Impl rule__Grid__Group__6
             {
-            pushFollow(FOLLOW_77);
+            pushFollow(FOLLOW_78);
             rule__Grid__Group__5__Impl();
 
             state._fsp--;
@@ -52070,24 +52647,52 @@
 
 
     // $ANTLR start "rule__Grid__Group__5__Impl"
-    // InternalReportDSL.g:15351:1: rule__Grid__Group__5__Impl : ( '{' ) ;
+    // InternalReportDSL.g:15520:1: rule__Grid__Group__5__Impl : ( ( rule__Grid__RowsAssignment_5 )* ) ;
     public final void rule__Grid__Group__5__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:15355:1: ( ( '{' ) )
-            // InternalReportDSL.g:15356:1: ( '{' )
+            // InternalReportDSL.g:15524:1: ( ( ( rule__Grid__RowsAssignment_5 )* ) )
+            // InternalReportDSL.g:15525:1: ( ( rule__Grid__RowsAssignment_5 )* )
             {
-            // InternalReportDSL.g:15356:1: ( '{' )
-            // InternalReportDSL.g:15357:2: '{'
+            // InternalReportDSL.g:15525:1: ( ( rule__Grid__RowsAssignment_5 )* )
+            // InternalReportDSL.g:15526:2: ( rule__Grid__RowsAssignment_5 )*
             {
             if ( state.backtracking==0 ) {
-               before(grammarAccess.getGridAccess().getLeftCurlyBracketKeyword_5()); 
+               before(grammarAccess.getGridAccess().getRowsAssignment_5()); 
             }
-            match(input,125,FOLLOW_2); if (state.failed) return ;
+            // InternalReportDSL.g:15527:2: ( rule__Grid__RowsAssignment_5 )*
+            loop111:
+            do {
+                int alt111=2;
+                int LA111_0 = input.LA(1);
+
+                if ( (LA111_0==198) ) {
+                    alt111=1;
+                }
+
+
+                switch (alt111) {
+            	case 1 :
+            	    // InternalReportDSL.g:15527:3: rule__Grid__RowsAssignment_5
+            	    {
+            	    pushFollow(FOLLOW_79);
+            	    rule__Grid__RowsAssignment_5();
+
+            	    state._fsp--;
+            	    if (state.failed) return ;
+
+            	    }
+            	    break;
+
+            	default :
+            	    break loop111;
+                }
+            } while (true);
+
             if ( state.backtracking==0 ) {
-               after(grammarAccess.getGridAccess().getLeftCurlyBracketKeyword_5()); 
+               after(grammarAccess.getGridAccess().getRowsAssignment_5()); 
             }
 
             }
@@ -52111,22 +52716,17 @@
 
 
     // $ANTLR start "rule__Grid__Group__6"
-    // InternalReportDSL.g:15366:1: rule__Grid__Group__6 : rule__Grid__Group__6__Impl rule__Grid__Group__7 ;
+    // InternalReportDSL.g:15535:1: rule__Grid__Group__6 : rule__Grid__Group__6__Impl ;
     public final void rule__Grid__Group__6() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:15370:1: ( rule__Grid__Group__6__Impl rule__Grid__Group__7 )
-            // InternalReportDSL.g:15371:2: rule__Grid__Group__6__Impl rule__Grid__Group__7
+            // InternalReportDSL.g:15539:1: ( rule__Grid__Group__6__Impl )
+            // InternalReportDSL.g:15540:2: rule__Grid__Group__6__Impl
             {
-            pushFollow(FOLLOW_77);
-            rule__Grid__Group__6__Impl();
-
-            state._fsp--;
-            if (state.failed) return ;
             pushFollow(FOLLOW_2);
-            rule__Grid__Group__7();
+            rule__Grid__Group__6__Impl();
 
             state._fsp--;
             if (state.failed) return ;
@@ -52149,52 +52749,24 @@
 
 
     // $ANTLR start "rule__Grid__Group__6__Impl"
-    // InternalReportDSL.g:15378:1: rule__Grid__Group__6__Impl : ( ( rule__Grid__RowsAssignment_6 )* ) ;
+    // InternalReportDSL.g:15546:1: rule__Grid__Group__6__Impl : ( '}' ) ;
     public final void rule__Grid__Group__6__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:15382:1: ( ( ( rule__Grid__RowsAssignment_6 )* ) )
-            // InternalReportDSL.g:15383:1: ( ( rule__Grid__RowsAssignment_6 )* )
+            // InternalReportDSL.g:15550:1: ( ( '}' ) )
+            // InternalReportDSL.g:15551:1: ( '}' )
             {
-            // InternalReportDSL.g:15383:1: ( ( rule__Grid__RowsAssignment_6 )* )
-            // InternalReportDSL.g:15384:2: ( rule__Grid__RowsAssignment_6 )*
+            // InternalReportDSL.g:15551:1: ( '}' )
+            // InternalReportDSL.g:15552:2: '}'
             {
             if ( state.backtracking==0 ) {
-               before(grammarAccess.getGridAccess().getRowsAssignment_6()); 
+               before(grammarAccess.getGridAccess().getRightCurlyBracketKeyword_6()); 
             }
-            // InternalReportDSL.g:15385:2: ( rule__Grid__RowsAssignment_6 )*
-            loop111:
-            do {
-                int alt111=2;
-                int LA111_0 = input.LA(1);
-
-                if ( (LA111_0==191) ) {
-                    alt111=1;
-                }
-
-
-                switch (alt111) {
-            	case 1 :
-            	    // InternalReportDSL.g:15385:3: rule__Grid__RowsAssignment_6
-            	    {
-            	    pushFollow(FOLLOW_78);
-            	    rule__Grid__RowsAssignment_6();
-
-            	    state._fsp--;
-            	    if (state.failed) return ;
-
-            	    }
-            	    break;
-
-            	default :
-            	    break loop111;
-                }
-            } while (true);
-
+            match(input,132,FOLLOW_2); if (state.failed) return ;
             if ( state.backtracking==0 ) {
-               after(grammarAccess.getGridAccess().getRowsAssignment_6()); 
+               after(grammarAccess.getGridAccess().getRightCurlyBracketKeyword_6()); 
             }
 
             }
@@ -52217,89 +52789,15 @@
     // $ANTLR end "rule__Grid__Group__6__Impl"
 
 
-    // $ANTLR start "rule__Grid__Group__7"
-    // InternalReportDSL.g:15393:1: rule__Grid__Group__7 : rule__Grid__Group__7__Impl ;
-    public final void rule__Grid__Group__7() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-        	
-        try {
-            // InternalReportDSL.g:15397:1: ( rule__Grid__Group__7__Impl )
-            // InternalReportDSL.g:15398:2: rule__Grid__Group__7__Impl
-            {
-            pushFollow(FOLLOW_2);
-            rule__Grid__Group__7__Impl();
-
-            state._fsp--;
-            if (state.failed) return ;
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__Grid__Group__7"
-
-
-    // $ANTLR start "rule__Grid__Group__7__Impl"
-    // InternalReportDSL.g:15404:1: rule__Grid__Group__7__Impl : ( '}' ) ;
-    public final void rule__Grid__Group__7__Impl() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-        	
-        try {
-            // InternalReportDSL.g:15408:1: ( ( '}' ) )
-            // InternalReportDSL.g:15409:1: ( '}' )
-            {
-            // InternalReportDSL.g:15409:1: ( '}' )
-            // InternalReportDSL.g:15410:2: '}'
-            {
-            if ( state.backtracking==0 ) {
-               before(grammarAccess.getGridAccess().getRightCurlyBracketKeyword_7()); 
-            }
-            match(input,126,FOLLOW_2); if (state.failed) return ;
-            if ( state.backtracking==0 ) {
-               after(grammarAccess.getGridAccess().getRightCurlyBracketKeyword_7()); 
-            }
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__Grid__Group__7__Impl"
-
-
     // $ANTLR start "rule__Grid__Group_2__0"
-    // InternalReportDSL.g:15420:1: rule__Grid__Group_2__0 : rule__Grid__Group_2__0__Impl rule__Grid__Group_2__1 ;
+    // InternalReportDSL.g:15562:1: rule__Grid__Group_2__0 : rule__Grid__Group_2__0__Impl rule__Grid__Group_2__1 ;
     public final void rule__Grid__Group_2__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:15424:1: ( rule__Grid__Group_2__0__Impl rule__Grid__Group_2__1 )
-            // InternalReportDSL.g:15425:2: rule__Grid__Group_2__0__Impl rule__Grid__Group_2__1
+            // InternalReportDSL.g:15566:1: ( rule__Grid__Group_2__0__Impl rule__Grid__Group_2__1 )
+            // InternalReportDSL.g:15567:2: rule__Grid__Group_2__0__Impl rule__Grid__Group_2__1
             {
             pushFollow(FOLLOW_7);
             rule__Grid__Group_2__0__Impl();
@@ -52330,22 +52828,22 @@
 
 
     // $ANTLR start "rule__Grid__Group_2__0__Impl"
-    // InternalReportDSL.g:15432:1: rule__Grid__Group_2__0__Impl : ( 'as' ) ;
+    // InternalReportDSL.g:15574:1: rule__Grid__Group_2__0__Impl : ( 'as' ) ;
     public final void rule__Grid__Group_2__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:15436:1: ( ( 'as' ) )
-            // InternalReportDSL.g:15437:1: ( 'as' )
+            // InternalReportDSL.g:15578:1: ( ( 'as' ) )
+            // InternalReportDSL.g:15579:1: ( 'as' )
             {
-            // InternalReportDSL.g:15437:1: ( 'as' )
-            // InternalReportDSL.g:15438:2: 'as'
+            // InternalReportDSL.g:15579:1: ( 'as' )
+            // InternalReportDSL.g:15580:2: 'as'
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getGridAccess().getAsKeyword_2_0()); 
             }
-            match(input,189,FOLLOW_2); if (state.failed) return ;
+            match(input,196,FOLLOW_2); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getGridAccess().getAsKeyword_2_0()); 
             }
@@ -52371,14 +52869,14 @@
 
 
     // $ANTLR start "rule__Grid__Group_2__1"
-    // InternalReportDSL.g:15447:1: rule__Grid__Group_2__1 : rule__Grid__Group_2__1__Impl ;
+    // InternalReportDSL.g:15589:1: rule__Grid__Group_2__1 : rule__Grid__Group_2__1__Impl ;
     public final void rule__Grid__Group_2__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:15451:1: ( rule__Grid__Group_2__1__Impl )
-            // InternalReportDSL.g:15452:2: rule__Grid__Group_2__1__Impl
+            // InternalReportDSL.g:15593:1: ( rule__Grid__Group_2__1__Impl )
+            // InternalReportDSL.g:15594:2: rule__Grid__Group_2__1__Impl
             {
             pushFollow(FOLLOW_2);
             rule__Grid__Group_2__1__Impl();
@@ -52404,23 +52902,23 @@
 
 
     // $ANTLR start "rule__Grid__Group_2__1__Impl"
-    // InternalReportDSL.g:15458:1: rule__Grid__Group_2__1__Impl : ( ( rule__Grid__NameAssignment_2_1 ) ) ;
+    // InternalReportDSL.g:15600:1: rule__Grid__Group_2__1__Impl : ( ( rule__Grid__NameAssignment_2_1 ) ) ;
     public final void rule__Grid__Group_2__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:15462:1: ( ( ( rule__Grid__NameAssignment_2_1 ) ) )
-            // InternalReportDSL.g:15463:1: ( ( rule__Grid__NameAssignment_2_1 ) )
+            // InternalReportDSL.g:15604:1: ( ( ( rule__Grid__NameAssignment_2_1 ) ) )
+            // InternalReportDSL.g:15605:1: ( ( rule__Grid__NameAssignment_2_1 ) )
             {
-            // InternalReportDSL.g:15463:1: ( ( rule__Grid__NameAssignment_2_1 ) )
-            // InternalReportDSL.g:15464:2: ( rule__Grid__NameAssignment_2_1 )
+            // InternalReportDSL.g:15605:1: ( ( rule__Grid__NameAssignment_2_1 ) )
+            // InternalReportDSL.g:15606:2: ( rule__Grid__NameAssignment_2_1 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getGridAccess().getNameAssignment_2_1()); 
             }
-            // InternalReportDSL.g:15465:2: ( rule__Grid__NameAssignment_2_1 )
-            // InternalReportDSL.g:15465:3: rule__Grid__NameAssignment_2_1
+            // InternalReportDSL.g:15607:2: ( rule__Grid__NameAssignment_2_1 )
+            // InternalReportDSL.g:15607:3: rule__Grid__NameAssignment_2_1
             {
             pushFollow(FOLLOW_2);
             rule__Grid__NameAssignment_2_1();
@@ -52454,23 +52952,186 @@
     // $ANTLR end "rule__Grid__Group_2__1__Impl"
 
 
-    // $ANTLR start "rule__Grid__Group_3__0"
-    // InternalReportDSL.g:15474:1: rule__Grid__Group_3__0 : rule__Grid__Group_3__0__Impl rule__Grid__Group_3__1 ;
-    public final void rule__Grid__Group_3__0() throws RecognitionException {
+    // $ANTLR start "rule__Grid__Group_3_0__0"
+    // InternalReportDSL.g:15616:1: rule__Grid__Group_3_0__0 : rule__Grid__Group_3_0__0__Impl rule__Grid__Group_3_0__1 ;
+    public final void rule__Grid__Group_3_0__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:15478:1: ( rule__Grid__Group_3__0__Impl rule__Grid__Group_3__1 )
-            // InternalReportDSL.g:15479:2: rule__Grid__Group_3__0__Impl rule__Grid__Group_3__1
+            // InternalReportDSL.g:15620:1: ( rule__Grid__Group_3_0__0__Impl rule__Grid__Group_3_0__1 )
+            // InternalReportDSL.g:15621:2: rule__Grid__Group_3_0__0__Impl rule__Grid__Group_3_0__1
+            {
+            pushFollow(FOLLOW_7);
+            rule__Grid__Group_3_0__0__Impl();
+
+            state._fsp--;
+            if (state.failed) return ;
+            pushFollow(FOLLOW_2);
+            rule__Grid__Group_3_0__1();
+
+            state._fsp--;
+            if (state.failed) return ;
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__Grid__Group_3_0__0"
+
+
+    // $ANTLR start "rule__Grid__Group_3_0__0__Impl"
+    // InternalReportDSL.g:15628:1: rule__Grid__Group_3_0__0__Impl : ( 'style' ) ;
+    public final void rule__Grid__Group_3_0__0__Impl() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+        	
+        try {
+            // InternalReportDSL.g:15632:1: ( ( 'style' ) )
+            // InternalReportDSL.g:15633:1: ( 'style' )
+            {
+            // InternalReportDSL.g:15633:1: ( 'style' )
+            // InternalReportDSL.g:15634:2: 'style'
+            {
+            if ( state.backtracking==0 ) {
+               before(grammarAccess.getGridAccess().getStyleKeyword_3_0_0()); 
+            }
+            match(input,158,FOLLOW_2); if (state.failed) return ;
+            if ( state.backtracking==0 ) {
+               after(grammarAccess.getGridAccess().getStyleKeyword_3_0_0()); 
+            }
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__Grid__Group_3_0__0__Impl"
+
+
+    // $ANTLR start "rule__Grid__Group_3_0__1"
+    // InternalReportDSL.g:15643:1: rule__Grid__Group_3_0__1 : rule__Grid__Group_3_0__1__Impl ;
+    public final void rule__Grid__Group_3_0__1() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+        	
+        try {
+            // InternalReportDSL.g:15647:1: ( rule__Grid__Group_3_0__1__Impl )
+            // InternalReportDSL.g:15648:2: rule__Grid__Group_3_0__1__Impl
+            {
+            pushFollow(FOLLOW_2);
+            rule__Grid__Group_3_0__1__Impl();
+
+            state._fsp--;
+            if (state.failed) return ;
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__Grid__Group_3_0__1"
+
+
+    // $ANTLR start "rule__Grid__Group_3_0__1__Impl"
+    // InternalReportDSL.g:15654:1: rule__Grid__Group_3_0__1__Impl : ( ( rule__Grid__StyleAssignment_3_0_1 ) ) ;
+    public final void rule__Grid__Group_3_0__1__Impl() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+        	
+        try {
+            // InternalReportDSL.g:15658:1: ( ( ( rule__Grid__StyleAssignment_3_0_1 ) ) )
+            // InternalReportDSL.g:15659:1: ( ( rule__Grid__StyleAssignment_3_0_1 ) )
+            {
+            // InternalReportDSL.g:15659:1: ( ( rule__Grid__StyleAssignment_3_0_1 ) )
+            // InternalReportDSL.g:15660:2: ( rule__Grid__StyleAssignment_3_0_1 )
+            {
+            if ( state.backtracking==0 ) {
+               before(grammarAccess.getGridAccess().getStyleAssignment_3_0_1()); 
+            }
+            // InternalReportDSL.g:15661:2: ( rule__Grid__StyleAssignment_3_0_1 )
+            // InternalReportDSL.g:15661:3: rule__Grid__StyleAssignment_3_0_1
+            {
+            pushFollow(FOLLOW_2);
+            rule__Grid__StyleAssignment_3_0_1();
+
+            state._fsp--;
+            if (state.failed) return ;
+
+            }
+
+            if ( state.backtracking==0 ) {
+               after(grammarAccess.getGridAccess().getStyleAssignment_3_0_1()); 
+            }
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__Grid__Group_3_0__1__Impl"
+
+
+    // $ANTLR start "rule__Grid__Group_3_1__0"
+    // InternalReportDSL.g:15670:1: rule__Grid__Group_3_1__0 : rule__Grid__Group_3_1__0__Impl rule__Grid__Group_3_1__1 ;
+    public final void rule__Grid__Group_3_1__0() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+        	
+        try {
+            // InternalReportDSL.g:15674:1: ( rule__Grid__Group_3_1__0__Impl rule__Grid__Group_3_1__1 )
+            // InternalReportDSL.g:15675:2: rule__Grid__Group_3_1__0__Impl rule__Grid__Group_3_1__1
             {
             pushFollow(FOLLOW_36);
-            rule__Grid__Group_3__0__Impl();
+            rule__Grid__Group_3_1__0__Impl();
 
             state._fsp--;
             if (state.failed) return ;
             pushFollow(FOLLOW_2);
-            rule__Grid__Group_3__1();
+            rule__Grid__Group_3_1__1();
 
             state._fsp--;
             if (state.failed) return ;
@@ -52489,28 +53150,28 @@
         }
         return ;
     }
-    // $ANTLR end "rule__Grid__Group_3__0"
+    // $ANTLR end "rule__Grid__Group_3_1__0"
 
 
-    // $ANTLR start "rule__Grid__Group_3__0__Impl"
-    // InternalReportDSL.g:15486:1: rule__Grid__Group_3__0__Impl : ( 'width' ) ;
-    public final void rule__Grid__Group_3__0__Impl() throws RecognitionException {
+    // $ANTLR start "rule__Grid__Group_3_1__0__Impl"
+    // InternalReportDSL.g:15682:1: rule__Grid__Group_3_1__0__Impl : ( 'width' ) ;
+    public final void rule__Grid__Group_3_1__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:15490:1: ( ( 'width' ) )
-            // InternalReportDSL.g:15491:1: ( 'width' )
+            // InternalReportDSL.g:15686:1: ( ( 'width' ) )
+            // InternalReportDSL.g:15687:1: ( 'width' )
             {
-            // InternalReportDSL.g:15491:1: ( 'width' )
-            // InternalReportDSL.g:15492:2: 'width'
+            // InternalReportDSL.g:15687:1: ( 'width' )
+            // InternalReportDSL.g:15688:2: 'width'
             {
             if ( state.backtracking==0 ) {
-               before(grammarAccess.getGridAccess().getWidthKeyword_3_0()); 
+               before(grammarAccess.getGridAccess().getWidthKeyword_3_1_0()); 
             }
-            match(input,190,FOLLOW_2); if (state.failed) return ;
+            match(input,197,FOLLOW_2); if (state.failed) return ;
             if ( state.backtracking==0 ) {
-               after(grammarAccess.getGridAccess().getWidthKeyword_3_0()); 
+               after(grammarAccess.getGridAccess().getWidthKeyword_3_1_0()); 
             }
 
             }
@@ -52530,21 +53191,21 @@
         }
         return ;
     }
-    // $ANTLR end "rule__Grid__Group_3__0__Impl"
+    // $ANTLR end "rule__Grid__Group_3_1__0__Impl"
 
 
-    // $ANTLR start "rule__Grid__Group_3__1"
-    // InternalReportDSL.g:15501:1: rule__Grid__Group_3__1 : rule__Grid__Group_3__1__Impl ;
-    public final void rule__Grid__Group_3__1() throws RecognitionException {
+    // $ANTLR start "rule__Grid__Group_3_1__1"
+    // InternalReportDSL.g:15697:1: rule__Grid__Group_3_1__1 : rule__Grid__Group_3_1__1__Impl ;
+    public final void rule__Grid__Group_3_1__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:15505:1: ( rule__Grid__Group_3__1__Impl )
-            // InternalReportDSL.g:15506:2: rule__Grid__Group_3__1__Impl
+            // InternalReportDSL.g:15701:1: ( rule__Grid__Group_3_1__1__Impl )
+            // InternalReportDSL.g:15702:2: rule__Grid__Group_3_1__1__Impl
             {
             pushFollow(FOLLOW_2);
-            rule__Grid__Group_3__1__Impl();
+            rule__Grid__Group_3_1__1__Impl();
 
             state._fsp--;
             if (state.failed) return ;
@@ -52563,30 +53224,30 @@
         }
         return ;
     }
-    // $ANTLR end "rule__Grid__Group_3__1"
+    // $ANTLR end "rule__Grid__Group_3_1__1"
 
 
-    // $ANTLR start "rule__Grid__Group_3__1__Impl"
-    // InternalReportDSL.g:15512:1: rule__Grid__Group_3__1__Impl : ( ( rule__Grid__WidthValueAssignment_3_1 ) ) ;
-    public final void rule__Grid__Group_3__1__Impl() throws RecognitionException {
+    // $ANTLR start "rule__Grid__Group_3_1__1__Impl"
+    // InternalReportDSL.g:15708:1: rule__Grid__Group_3_1__1__Impl : ( ( rule__Grid__WidthValueAssignment_3_1_1 ) ) ;
+    public final void rule__Grid__Group_3_1__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:15516:1: ( ( ( rule__Grid__WidthValueAssignment_3_1 ) ) )
-            // InternalReportDSL.g:15517:1: ( ( rule__Grid__WidthValueAssignment_3_1 ) )
+            // InternalReportDSL.g:15712:1: ( ( ( rule__Grid__WidthValueAssignment_3_1_1 ) ) )
+            // InternalReportDSL.g:15713:1: ( ( rule__Grid__WidthValueAssignment_3_1_1 ) )
             {
-            // InternalReportDSL.g:15517:1: ( ( rule__Grid__WidthValueAssignment_3_1 ) )
-            // InternalReportDSL.g:15518:2: ( rule__Grid__WidthValueAssignment_3_1 )
+            // InternalReportDSL.g:15713:1: ( ( rule__Grid__WidthValueAssignment_3_1_1 ) )
+            // InternalReportDSL.g:15714:2: ( rule__Grid__WidthValueAssignment_3_1_1 )
             {
             if ( state.backtracking==0 ) {
-               before(grammarAccess.getGridAccess().getWidthValueAssignment_3_1()); 
+               before(grammarAccess.getGridAccess().getWidthValueAssignment_3_1_1()); 
             }
-            // InternalReportDSL.g:15519:2: ( rule__Grid__WidthValueAssignment_3_1 )
-            // InternalReportDSL.g:15519:3: rule__Grid__WidthValueAssignment_3_1
+            // InternalReportDSL.g:15715:2: ( rule__Grid__WidthValueAssignment_3_1_1 )
+            // InternalReportDSL.g:15715:3: rule__Grid__WidthValueAssignment_3_1_1
             {
             pushFollow(FOLLOW_2);
-            rule__Grid__WidthValueAssignment_3_1();
+            rule__Grid__WidthValueAssignment_3_1_1();
 
             state._fsp--;
             if (state.failed) return ;
@@ -52594,7 +53255,7 @@
             }
 
             if ( state.backtracking==0 ) {
-               after(grammarAccess.getGridAccess().getWidthValueAssignment_3_1()); 
+               after(grammarAccess.getGridAccess().getWidthValueAssignment_3_1_1()); 
             }
 
             }
@@ -52614,20 +53275,20 @@
         }
         return ;
     }
-    // $ANTLR end "rule__Grid__Group_3__1__Impl"
+    // $ANTLR end "rule__Grid__Group_3_1__1__Impl"
 
 
     // $ANTLR start "rule__GridRow__Group__0"
-    // InternalReportDSL.g:15528:1: rule__GridRow__Group__0 : rule__GridRow__Group__0__Impl rule__GridRow__Group__1 ;
+    // InternalReportDSL.g:15724:1: rule__GridRow__Group__0 : rule__GridRow__Group__0__Impl rule__GridRow__Group__1 ;
     public final void rule__GridRow__Group__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:15532:1: ( rule__GridRow__Group__0__Impl rule__GridRow__Group__1 )
-            // InternalReportDSL.g:15533:2: rule__GridRow__Group__0__Impl rule__GridRow__Group__1
+            // InternalReportDSL.g:15728:1: ( rule__GridRow__Group__0__Impl rule__GridRow__Group__1 )
+            // InternalReportDSL.g:15729:2: rule__GridRow__Group__0__Impl rule__GridRow__Group__1
             {
-            pushFollow(FOLLOW_79);
+            pushFollow(FOLLOW_80);
             rule__GridRow__Group__0__Impl();
 
             state._fsp--;
@@ -52656,23 +53317,23 @@
 
 
     // $ANTLR start "rule__GridRow__Group__0__Impl"
-    // InternalReportDSL.g:15540:1: rule__GridRow__Group__0__Impl : ( () ) ;
+    // InternalReportDSL.g:15736:1: rule__GridRow__Group__0__Impl : ( () ) ;
     public final void rule__GridRow__Group__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:15544:1: ( ( () ) )
-            // InternalReportDSL.g:15545:1: ( () )
+            // InternalReportDSL.g:15740:1: ( ( () ) )
+            // InternalReportDSL.g:15741:1: ( () )
             {
-            // InternalReportDSL.g:15545:1: ( () )
-            // InternalReportDSL.g:15546:2: ()
+            // InternalReportDSL.g:15741:1: ( () )
+            // InternalReportDSL.g:15742:2: ()
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getGridRowAccess().getGridRowAction_0()); 
             }
-            // InternalReportDSL.g:15547:2: ()
-            // InternalReportDSL.g:15547:3: 
+            // InternalReportDSL.g:15743:2: ()
+            // InternalReportDSL.g:15743:3: 
             {
             }
 
@@ -52697,16 +53358,16 @@
 
 
     // $ANTLR start "rule__GridRow__Group__1"
-    // InternalReportDSL.g:15555:1: rule__GridRow__Group__1 : rule__GridRow__Group__1__Impl rule__GridRow__Group__2 ;
+    // InternalReportDSL.g:15751:1: rule__GridRow__Group__1 : rule__GridRow__Group__1__Impl rule__GridRow__Group__2 ;
     public final void rule__GridRow__Group__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:15559:1: ( rule__GridRow__Group__1__Impl rule__GridRow__Group__2 )
-            // InternalReportDSL.g:15560:2: rule__GridRow__Group__1__Impl rule__GridRow__Group__2
+            // InternalReportDSL.g:15755:1: ( rule__GridRow__Group__1__Impl rule__GridRow__Group__2 )
+            // InternalReportDSL.g:15756:2: rule__GridRow__Group__1__Impl rule__GridRow__Group__2
             {
-            pushFollow(FOLLOW_80);
+            pushFollow(FOLLOW_81);
             rule__GridRow__Group__1__Impl();
 
             state._fsp--;
@@ -52735,22 +53396,22 @@
 
 
     // $ANTLR start "rule__GridRow__Group__1__Impl"
-    // InternalReportDSL.g:15567:1: rule__GridRow__Group__1__Impl : ( 'row' ) ;
+    // InternalReportDSL.g:15763:1: rule__GridRow__Group__1__Impl : ( 'row' ) ;
     public final void rule__GridRow__Group__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:15571:1: ( ( 'row' ) )
-            // InternalReportDSL.g:15572:1: ( 'row' )
+            // InternalReportDSL.g:15767:1: ( ( 'row' ) )
+            // InternalReportDSL.g:15768:1: ( 'row' )
             {
-            // InternalReportDSL.g:15572:1: ( 'row' )
-            // InternalReportDSL.g:15573:2: 'row'
+            // InternalReportDSL.g:15768:1: ( 'row' )
+            // InternalReportDSL.g:15769:2: 'row'
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getGridRowAccess().getRowKeyword_1()); 
             }
-            match(input,191,FOLLOW_2); if (state.failed) return ;
+            match(input,198,FOLLOW_2); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getGridRowAccess().getRowKeyword_1()); 
             }
@@ -52776,16 +53437,16 @@
 
 
     // $ANTLR start "rule__GridRow__Group__2"
-    // InternalReportDSL.g:15582:1: rule__GridRow__Group__2 : rule__GridRow__Group__2__Impl rule__GridRow__Group__3 ;
+    // InternalReportDSL.g:15778:1: rule__GridRow__Group__2 : rule__GridRow__Group__2__Impl rule__GridRow__Group__3 ;
     public final void rule__GridRow__Group__2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:15586:1: ( rule__GridRow__Group__2__Impl rule__GridRow__Group__3 )
-            // InternalReportDSL.g:15587:2: rule__GridRow__Group__2__Impl rule__GridRow__Group__3
+            // InternalReportDSL.g:15782:1: ( rule__GridRow__Group__2__Impl rule__GridRow__Group__3 )
+            // InternalReportDSL.g:15783:2: rule__GridRow__Group__2__Impl rule__GridRow__Group__3
             {
-            pushFollow(FOLLOW_80);
+            pushFollow(FOLLOW_81);
             rule__GridRow__Group__2__Impl();
 
             state._fsp--;
@@ -52814,31 +53475,31 @@
 
 
     // $ANTLR start "rule__GridRow__Group__2__Impl"
-    // InternalReportDSL.g:15594:1: rule__GridRow__Group__2__Impl : ( ( rule__GridRow__Group_2__0 )? ) ;
+    // InternalReportDSL.g:15790:1: rule__GridRow__Group__2__Impl : ( ( rule__GridRow__Group_2__0 )? ) ;
     public final void rule__GridRow__Group__2__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:15598:1: ( ( ( rule__GridRow__Group_2__0 )? ) )
-            // InternalReportDSL.g:15599:1: ( ( rule__GridRow__Group_2__0 )? )
+            // InternalReportDSL.g:15794:1: ( ( ( rule__GridRow__Group_2__0 )? ) )
+            // InternalReportDSL.g:15795:1: ( ( rule__GridRow__Group_2__0 )? )
             {
-            // InternalReportDSL.g:15599:1: ( ( rule__GridRow__Group_2__0 )? )
-            // InternalReportDSL.g:15600:2: ( rule__GridRow__Group_2__0 )?
+            // InternalReportDSL.g:15795:1: ( ( rule__GridRow__Group_2__0 )? )
+            // InternalReportDSL.g:15796:2: ( rule__GridRow__Group_2__0 )?
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getGridRowAccess().getGroup_2()); 
             }
-            // InternalReportDSL.g:15601:2: ( rule__GridRow__Group_2__0 )?
+            // InternalReportDSL.g:15797:2: ( rule__GridRow__Group_2__0 )?
             int alt112=2;
             int LA112_0 = input.LA(1);
 
-            if ( (LA112_0==189) ) {
+            if ( (LA112_0==196) ) {
                 alt112=1;
             }
             switch (alt112) {
                 case 1 :
-                    // InternalReportDSL.g:15601:3: rule__GridRow__Group_2__0
+                    // InternalReportDSL.g:15797:3: rule__GridRow__Group_2__0
                     {
                     pushFollow(FOLLOW_2);
                     rule__GridRow__Group_2__0();
@@ -52876,16 +53537,16 @@
 
 
     // $ANTLR start "rule__GridRow__Group__3"
-    // InternalReportDSL.g:15609:1: rule__GridRow__Group__3 : rule__GridRow__Group__3__Impl rule__GridRow__Group__4 ;
+    // InternalReportDSL.g:15805:1: rule__GridRow__Group__3 : rule__GridRow__Group__3__Impl rule__GridRow__Group__4 ;
     public final void rule__GridRow__Group__3() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:15613:1: ( rule__GridRow__Group__3__Impl rule__GridRow__Group__4 )
-            // InternalReportDSL.g:15614:2: rule__GridRow__Group__3__Impl rule__GridRow__Group__4
+            // InternalReportDSL.g:15809:1: ( rule__GridRow__Group__3__Impl rule__GridRow__Group__4 )
+            // InternalReportDSL.g:15810:2: rule__GridRow__Group__3__Impl rule__GridRow__Group__4
             {
-            pushFollow(FOLLOW_80);
+            pushFollow(FOLLOW_8);
             rule__GridRow__Group__3__Impl();
 
             state._fsp--;
@@ -52914,45 +53575,34 @@
 
 
     // $ANTLR start "rule__GridRow__Group__3__Impl"
-    // InternalReportDSL.g:15621:1: rule__GridRow__Group__3__Impl : ( ( rule__GridRow__Group_3__0 )? ) ;
+    // InternalReportDSL.g:15817:1: rule__GridRow__Group__3__Impl : ( ( rule__GridRow__UnorderedGroup_3 ) ) ;
     public final void rule__GridRow__Group__3__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:15625:1: ( ( ( rule__GridRow__Group_3__0 )? ) )
-            // InternalReportDSL.g:15626:1: ( ( rule__GridRow__Group_3__0 )? )
+            // InternalReportDSL.g:15821:1: ( ( ( rule__GridRow__UnorderedGroup_3 ) ) )
+            // InternalReportDSL.g:15822:1: ( ( rule__GridRow__UnorderedGroup_3 ) )
             {
-            // InternalReportDSL.g:15626:1: ( ( rule__GridRow__Group_3__0 )? )
-            // InternalReportDSL.g:15627:2: ( rule__GridRow__Group_3__0 )?
+            // InternalReportDSL.g:15822:1: ( ( rule__GridRow__UnorderedGroup_3 ) )
+            // InternalReportDSL.g:15823:2: ( rule__GridRow__UnorderedGroup_3 )
             {
             if ( state.backtracking==0 ) {
-               before(grammarAccess.getGridRowAccess().getGroup_3()); 
+               before(grammarAccess.getGridRowAccess().getUnorderedGroup_3()); 
             }
-            // InternalReportDSL.g:15628:2: ( rule__GridRow__Group_3__0 )?
-            int alt113=2;
-            int LA113_0 = input.LA(1);
+            // InternalReportDSL.g:15824:2: ( rule__GridRow__UnorderedGroup_3 )
+            // InternalReportDSL.g:15824:3: rule__GridRow__UnorderedGroup_3
+            {
+            pushFollow(FOLLOW_2);
+            rule__GridRow__UnorderedGroup_3();
 
-            if ( (LA113_0==152) ) {
-                alt113=1;
-            }
-            switch (alt113) {
-                case 1 :
-                    // InternalReportDSL.g:15628:3: rule__GridRow__Group_3__0
-                    {
-                    pushFollow(FOLLOW_2);
-                    rule__GridRow__Group_3__0();
-
-                    state._fsp--;
-                    if (state.failed) return ;
-
-                    }
-                    break;
+            state._fsp--;
+            if (state.failed) return ;
 
             }
 
             if ( state.backtracking==0 ) {
-               after(grammarAccess.getGridRowAccess().getGroup_3()); 
+               after(grammarAccess.getGridRowAccess().getUnorderedGroup_3()); 
             }
 
             }
@@ -52976,16 +53626,16 @@
 
 
     // $ANTLR start "rule__GridRow__Group__4"
-    // InternalReportDSL.g:15636:1: rule__GridRow__Group__4 : rule__GridRow__Group__4__Impl rule__GridRow__Group__5 ;
+    // InternalReportDSL.g:15832:1: rule__GridRow__Group__4 : rule__GridRow__Group__4__Impl rule__GridRow__Group__5 ;
     public final void rule__GridRow__Group__4() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:15640:1: ( rule__GridRow__Group__4__Impl rule__GridRow__Group__5 )
-            // InternalReportDSL.g:15641:2: rule__GridRow__Group__4__Impl rule__GridRow__Group__5
+            // InternalReportDSL.g:15836:1: ( rule__GridRow__Group__4__Impl rule__GridRow__Group__5 )
+            // InternalReportDSL.g:15837:2: rule__GridRow__Group__4__Impl rule__GridRow__Group__5
             {
-            pushFollow(FOLLOW_80);
+            pushFollow(FOLLOW_82);
             rule__GridRow__Group__4__Impl();
 
             state._fsp--;
@@ -53014,45 +53664,24 @@
 
 
     // $ANTLR start "rule__GridRow__Group__4__Impl"
-    // InternalReportDSL.g:15648:1: rule__GridRow__Group__4__Impl : ( ( rule__GridRow__Group_4__0 )? ) ;
+    // InternalReportDSL.g:15844:1: rule__GridRow__Group__4__Impl : ( '{' ) ;
     public final void rule__GridRow__Group__4__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:15652:1: ( ( ( rule__GridRow__Group_4__0 )? ) )
-            // InternalReportDSL.g:15653:1: ( ( rule__GridRow__Group_4__0 )? )
+            // InternalReportDSL.g:15848:1: ( ( '{' ) )
+            // InternalReportDSL.g:15849:1: ( '{' )
             {
-            // InternalReportDSL.g:15653:1: ( ( rule__GridRow__Group_4__0 )? )
-            // InternalReportDSL.g:15654:2: ( rule__GridRow__Group_4__0 )?
+            // InternalReportDSL.g:15849:1: ( '{' )
+            // InternalReportDSL.g:15850:2: '{'
             {
             if ( state.backtracking==0 ) {
-               before(grammarAccess.getGridRowAccess().getGroup_4()); 
+               before(grammarAccess.getGridRowAccess().getLeftCurlyBracketKeyword_4()); 
             }
-            // InternalReportDSL.g:15655:2: ( rule__GridRow__Group_4__0 )?
-            int alt114=2;
-            int LA114_0 = input.LA(1);
-
-            if ( (LA114_0==185) ) {
-                alt114=1;
-            }
-            switch (alt114) {
-                case 1 :
-                    // InternalReportDSL.g:15655:3: rule__GridRow__Group_4__0
-                    {
-                    pushFollow(FOLLOW_2);
-                    rule__GridRow__Group_4__0();
-
-                    state._fsp--;
-                    if (state.failed) return ;
-
-                    }
-                    break;
-
-            }
-
+            match(input,131,FOLLOW_2); if (state.failed) return ;
             if ( state.backtracking==0 ) {
-               after(grammarAccess.getGridRowAccess().getGroup_4()); 
+               after(grammarAccess.getGridRowAccess().getLeftCurlyBracketKeyword_4()); 
             }
 
             }
@@ -53076,16 +53705,16 @@
 
 
     // $ANTLR start "rule__GridRow__Group__5"
-    // InternalReportDSL.g:15663:1: rule__GridRow__Group__5 : rule__GridRow__Group__5__Impl rule__GridRow__Group__6 ;
+    // InternalReportDSL.g:15859:1: rule__GridRow__Group__5 : rule__GridRow__Group__5__Impl rule__GridRow__Group__6 ;
     public final void rule__GridRow__Group__5() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:15667:1: ( rule__GridRow__Group__5__Impl rule__GridRow__Group__6 )
-            // InternalReportDSL.g:15668:2: rule__GridRow__Group__5__Impl rule__GridRow__Group__6
+            // InternalReportDSL.g:15863:1: ( rule__GridRow__Group__5__Impl rule__GridRow__Group__6 )
+            // InternalReportDSL.g:15864:2: rule__GridRow__Group__5__Impl rule__GridRow__Group__6
             {
-            pushFollow(FOLLOW_80);
+            pushFollow(FOLLOW_82);
             rule__GridRow__Group__5__Impl();
 
             state._fsp--;
@@ -53114,45 +53743,52 @@
 
 
     // $ANTLR start "rule__GridRow__Group__5__Impl"
-    // InternalReportDSL.g:15675:1: rule__GridRow__Group__5__Impl : ( ( rule__GridRow__VisibilityItemAssignment_5 )? ) ;
+    // InternalReportDSL.g:15871:1: rule__GridRow__Group__5__Impl : ( ( rule__GridRow__CellsAssignment_5 )* ) ;
     public final void rule__GridRow__Group__5__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:15679:1: ( ( ( rule__GridRow__VisibilityItemAssignment_5 )? ) )
-            // InternalReportDSL.g:15680:1: ( ( rule__GridRow__VisibilityItemAssignment_5 )? )
+            // InternalReportDSL.g:15875:1: ( ( ( rule__GridRow__CellsAssignment_5 )* ) )
+            // InternalReportDSL.g:15876:1: ( ( rule__GridRow__CellsAssignment_5 )* )
             {
-            // InternalReportDSL.g:15680:1: ( ( rule__GridRow__VisibilityItemAssignment_5 )? )
-            // InternalReportDSL.g:15681:2: ( rule__GridRow__VisibilityItemAssignment_5 )?
+            // InternalReportDSL.g:15876:1: ( ( rule__GridRow__CellsAssignment_5 )* )
+            // InternalReportDSL.g:15877:2: ( rule__GridRow__CellsAssignment_5 )*
             {
             if ( state.backtracking==0 ) {
-               before(grammarAccess.getGridRowAccess().getVisibilityItemAssignment_5()); 
+               before(grammarAccess.getGridRowAccess().getCellsAssignment_5()); 
             }
-            // InternalReportDSL.g:15682:2: ( rule__GridRow__VisibilityItemAssignment_5 )?
-            int alt115=2;
-            int LA115_0 = input.LA(1);
+            // InternalReportDSL.g:15878:2: ( rule__GridRow__CellsAssignment_5 )*
+            loop113:
+            do {
+                int alt113=2;
+                int LA113_0 = input.LA(1);
 
-            if ( (LA115_0==260) ) {
-                alt115=1;
-            }
-            switch (alt115) {
-                case 1 :
-                    // InternalReportDSL.g:15682:3: rule__GridRow__VisibilityItemAssignment_5
-                    {
-                    pushFollow(FOLLOW_2);
-                    rule__GridRow__VisibilityItemAssignment_5();
+                if ( (LA113_0==199) ) {
+                    alt113=1;
+                }
 
-                    state._fsp--;
-                    if (state.failed) return ;
 
-                    }
-                    break;
+                switch (alt113) {
+            	case 1 :
+            	    // InternalReportDSL.g:15878:3: rule__GridRow__CellsAssignment_5
+            	    {
+            	    pushFollow(FOLLOW_83);
+            	    rule__GridRow__CellsAssignment_5();
 
-            }
+            	    state._fsp--;
+            	    if (state.failed) return ;
+
+            	    }
+            	    break;
+
+            	default :
+            	    break loop113;
+                }
+            } while (true);
 
             if ( state.backtracking==0 ) {
-               after(grammarAccess.getGridRowAccess().getVisibilityItemAssignment_5()); 
+               after(grammarAccess.getGridRowAccess().getCellsAssignment_5()); 
             }
 
             }
@@ -53176,22 +53812,17 @@
 
 
     // $ANTLR start "rule__GridRow__Group__6"
-    // InternalReportDSL.g:15690:1: rule__GridRow__Group__6 : rule__GridRow__Group__6__Impl rule__GridRow__Group__7 ;
+    // InternalReportDSL.g:15886:1: rule__GridRow__Group__6 : rule__GridRow__Group__6__Impl ;
     public final void rule__GridRow__Group__6() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:15694:1: ( rule__GridRow__Group__6__Impl rule__GridRow__Group__7 )
-            // InternalReportDSL.g:15695:2: rule__GridRow__Group__6__Impl rule__GridRow__Group__7
+            // InternalReportDSL.g:15890:1: ( rule__GridRow__Group__6__Impl )
+            // InternalReportDSL.g:15891:2: rule__GridRow__Group__6__Impl
             {
-            pushFollow(FOLLOW_81);
-            rule__GridRow__Group__6__Impl();
-
-            state._fsp--;
-            if (state.failed) return ;
             pushFollow(FOLLOW_2);
-            rule__GridRow__Group__7();
+            rule__GridRow__Group__6__Impl();
 
             state._fsp--;
             if (state.failed) return ;
@@ -53214,24 +53845,24 @@
 
 
     // $ANTLR start "rule__GridRow__Group__6__Impl"
-    // InternalReportDSL.g:15702:1: rule__GridRow__Group__6__Impl : ( '{' ) ;
+    // InternalReportDSL.g:15897:1: rule__GridRow__Group__6__Impl : ( '}' ) ;
     public final void rule__GridRow__Group__6__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:15706:1: ( ( '{' ) )
-            // InternalReportDSL.g:15707:1: ( '{' )
+            // InternalReportDSL.g:15901:1: ( ( '}' ) )
+            // InternalReportDSL.g:15902:1: ( '}' )
             {
-            // InternalReportDSL.g:15707:1: ( '{' )
-            // InternalReportDSL.g:15708:2: '{'
+            // InternalReportDSL.g:15902:1: ( '}' )
+            // InternalReportDSL.g:15903:2: '}'
             {
             if ( state.backtracking==0 ) {
-               before(grammarAccess.getGridRowAccess().getLeftCurlyBracketKeyword_6()); 
+               before(grammarAccess.getGridRowAccess().getRightCurlyBracketKeyword_6()); 
             }
-            match(input,125,FOLLOW_2); if (state.failed) return ;
+            match(input,132,FOLLOW_2); if (state.failed) return ;
             if ( state.backtracking==0 ) {
-               after(grammarAccess.getGridRowAccess().getLeftCurlyBracketKeyword_6()); 
+               after(grammarAccess.getGridRowAccess().getRightCurlyBracketKeyword_6()); 
             }
 
             }
@@ -53254,196 +53885,15 @@
     // $ANTLR end "rule__GridRow__Group__6__Impl"
 
 
-    // $ANTLR start "rule__GridRow__Group__7"
-    // InternalReportDSL.g:15717:1: rule__GridRow__Group__7 : rule__GridRow__Group__7__Impl rule__GridRow__Group__8 ;
-    public final void rule__GridRow__Group__7() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-        	
-        try {
-            // InternalReportDSL.g:15721:1: ( rule__GridRow__Group__7__Impl rule__GridRow__Group__8 )
-            // InternalReportDSL.g:15722:2: rule__GridRow__Group__7__Impl rule__GridRow__Group__8
-            {
-            pushFollow(FOLLOW_81);
-            rule__GridRow__Group__7__Impl();
-
-            state._fsp--;
-            if (state.failed) return ;
-            pushFollow(FOLLOW_2);
-            rule__GridRow__Group__8();
-
-            state._fsp--;
-            if (state.failed) return ;
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__GridRow__Group__7"
-
-
-    // $ANTLR start "rule__GridRow__Group__7__Impl"
-    // InternalReportDSL.g:15729:1: rule__GridRow__Group__7__Impl : ( ( rule__GridRow__CellsAssignment_7 )* ) ;
-    public final void rule__GridRow__Group__7__Impl() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-        	
-        try {
-            // InternalReportDSL.g:15733:1: ( ( ( rule__GridRow__CellsAssignment_7 )* ) )
-            // InternalReportDSL.g:15734:1: ( ( rule__GridRow__CellsAssignment_7 )* )
-            {
-            // InternalReportDSL.g:15734:1: ( ( rule__GridRow__CellsAssignment_7 )* )
-            // InternalReportDSL.g:15735:2: ( rule__GridRow__CellsAssignment_7 )*
-            {
-            if ( state.backtracking==0 ) {
-               before(grammarAccess.getGridRowAccess().getCellsAssignment_7()); 
-            }
-            // InternalReportDSL.g:15736:2: ( rule__GridRow__CellsAssignment_7 )*
-            loop116:
-            do {
-                int alt116=2;
-                int LA116_0 = input.LA(1);
-
-                if ( (LA116_0==192) ) {
-                    alt116=1;
-                }
-
-
-                switch (alt116) {
-            	case 1 :
-            	    // InternalReportDSL.g:15736:3: rule__GridRow__CellsAssignment_7
-            	    {
-            	    pushFollow(FOLLOW_82);
-            	    rule__GridRow__CellsAssignment_7();
-
-            	    state._fsp--;
-            	    if (state.failed) return ;
-
-            	    }
-            	    break;
-
-            	default :
-            	    break loop116;
-                }
-            } while (true);
-
-            if ( state.backtracking==0 ) {
-               after(grammarAccess.getGridRowAccess().getCellsAssignment_7()); 
-            }
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__GridRow__Group__7__Impl"
-
-
-    // $ANTLR start "rule__GridRow__Group__8"
-    // InternalReportDSL.g:15744:1: rule__GridRow__Group__8 : rule__GridRow__Group__8__Impl ;
-    public final void rule__GridRow__Group__8() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-        	
-        try {
-            // InternalReportDSL.g:15748:1: ( rule__GridRow__Group__8__Impl )
-            // InternalReportDSL.g:15749:2: rule__GridRow__Group__8__Impl
-            {
-            pushFollow(FOLLOW_2);
-            rule__GridRow__Group__8__Impl();
-
-            state._fsp--;
-            if (state.failed) return ;
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__GridRow__Group__8"
-
-
-    // $ANTLR start "rule__GridRow__Group__8__Impl"
-    // InternalReportDSL.g:15755:1: rule__GridRow__Group__8__Impl : ( '}' ) ;
-    public final void rule__GridRow__Group__8__Impl() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-        	
-        try {
-            // InternalReportDSL.g:15759:1: ( ( '}' ) )
-            // InternalReportDSL.g:15760:1: ( '}' )
-            {
-            // InternalReportDSL.g:15760:1: ( '}' )
-            // InternalReportDSL.g:15761:2: '}'
-            {
-            if ( state.backtracking==0 ) {
-               before(grammarAccess.getGridRowAccess().getRightCurlyBracketKeyword_8()); 
-            }
-            match(input,126,FOLLOW_2); if (state.failed) return ;
-            if ( state.backtracking==0 ) {
-               after(grammarAccess.getGridRowAccess().getRightCurlyBracketKeyword_8()); 
-            }
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__GridRow__Group__8__Impl"
-
-
     // $ANTLR start "rule__GridRow__Group_2__0"
-    // InternalReportDSL.g:15771:1: rule__GridRow__Group_2__0 : rule__GridRow__Group_2__0__Impl rule__GridRow__Group_2__1 ;
+    // InternalReportDSL.g:15913:1: rule__GridRow__Group_2__0 : rule__GridRow__Group_2__0__Impl rule__GridRow__Group_2__1 ;
     public final void rule__GridRow__Group_2__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:15775:1: ( rule__GridRow__Group_2__0__Impl rule__GridRow__Group_2__1 )
-            // InternalReportDSL.g:15776:2: rule__GridRow__Group_2__0__Impl rule__GridRow__Group_2__1
+            // InternalReportDSL.g:15917:1: ( rule__GridRow__Group_2__0__Impl rule__GridRow__Group_2__1 )
+            // InternalReportDSL.g:15918:2: rule__GridRow__Group_2__0__Impl rule__GridRow__Group_2__1
             {
             pushFollow(FOLLOW_7);
             rule__GridRow__Group_2__0__Impl();
@@ -53474,22 +53924,22 @@
 
 
     // $ANTLR start "rule__GridRow__Group_2__0__Impl"
-    // InternalReportDSL.g:15783:1: rule__GridRow__Group_2__0__Impl : ( 'as' ) ;
+    // InternalReportDSL.g:15925:1: rule__GridRow__Group_2__0__Impl : ( 'as' ) ;
     public final void rule__GridRow__Group_2__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:15787:1: ( ( 'as' ) )
-            // InternalReportDSL.g:15788:1: ( 'as' )
+            // InternalReportDSL.g:15929:1: ( ( 'as' ) )
+            // InternalReportDSL.g:15930:1: ( 'as' )
             {
-            // InternalReportDSL.g:15788:1: ( 'as' )
-            // InternalReportDSL.g:15789:2: 'as'
+            // InternalReportDSL.g:15930:1: ( 'as' )
+            // InternalReportDSL.g:15931:2: 'as'
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getGridRowAccess().getAsKeyword_2_0()); 
             }
-            match(input,189,FOLLOW_2); if (state.failed) return ;
+            match(input,196,FOLLOW_2); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getGridRowAccess().getAsKeyword_2_0()); 
             }
@@ -53515,14 +53965,14 @@
 
 
     // $ANTLR start "rule__GridRow__Group_2__1"
-    // InternalReportDSL.g:15798:1: rule__GridRow__Group_2__1 : rule__GridRow__Group_2__1__Impl ;
+    // InternalReportDSL.g:15940:1: rule__GridRow__Group_2__1 : rule__GridRow__Group_2__1__Impl ;
     public final void rule__GridRow__Group_2__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:15802:1: ( rule__GridRow__Group_2__1__Impl )
-            // InternalReportDSL.g:15803:2: rule__GridRow__Group_2__1__Impl
+            // InternalReportDSL.g:15944:1: ( rule__GridRow__Group_2__1__Impl )
+            // InternalReportDSL.g:15945:2: rule__GridRow__Group_2__1__Impl
             {
             pushFollow(FOLLOW_2);
             rule__GridRow__Group_2__1__Impl();
@@ -53548,23 +53998,23 @@
 
 
     // $ANTLR start "rule__GridRow__Group_2__1__Impl"
-    // InternalReportDSL.g:15809:1: rule__GridRow__Group_2__1__Impl : ( ( rule__GridRow__NameAssignment_2_1 ) ) ;
+    // InternalReportDSL.g:15951:1: rule__GridRow__Group_2__1__Impl : ( ( rule__GridRow__NameAssignment_2_1 ) ) ;
     public final void rule__GridRow__Group_2__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:15813:1: ( ( ( rule__GridRow__NameAssignment_2_1 ) ) )
-            // InternalReportDSL.g:15814:1: ( ( rule__GridRow__NameAssignment_2_1 ) )
+            // InternalReportDSL.g:15955:1: ( ( ( rule__GridRow__NameAssignment_2_1 ) ) )
+            // InternalReportDSL.g:15956:1: ( ( rule__GridRow__NameAssignment_2_1 ) )
             {
-            // InternalReportDSL.g:15814:1: ( ( rule__GridRow__NameAssignment_2_1 ) )
-            // InternalReportDSL.g:15815:2: ( rule__GridRow__NameAssignment_2_1 )
+            // InternalReportDSL.g:15956:1: ( ( rule__GridRow__NameAssignment_2_1 ) )
+            // InternalReportDSL.g:15957:2: ( rule__GridRow__NameAssignment_2_1 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getGridRowAccess().getNameAssignment_2_1()); 
             }
-            // InternalReportDSL.g:15816:2: ( rule__GridRow__NameAssignment_2_1 )
-            // InternalReportDSL.g:15816:3: rule__GridRow__NameAssignment_2_1
+            // InternalReportDSL.g:15958:2: ( rule__GridRow__NameAssignment_2_1 )
+            // InternalReportDSL.g:15958:3: rule__GridRow__NameAssignment_2_1
             {
             pushFollow(FOLLOW_2);
             rule__GridRow__NameAssignment_2_1();
@@ -53598,23 +54048,23 @@
     // $ANTLR end "rule__GridRow__Group_2__1__Impl"
 
 
-    // $ANTLR start "rule__GridRow__Group_3__0"
-    // InternalReportDSL.g:15825:1: rule__GridRow__Group_3__0 : rule__GridRow__Group_3__0__Impl rule__GridRow__Group_3__1 ;
-    public final void rule__GridRow__Group_3__0() throws RecognitionException {
+    // $ANTLR start "rule__GridRow__Group_3_0__0"
+    // InternalReportDSL.g:15967:1: rule__GridRow__Group_3_0__0 : rule__GridRow__Group_3_0__0__Impl rule__GridRow__Group_3_0__1 ;
+    public final void rule__GridRow__Group_3_0__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:15829:1: ( rule__GridRow__Group_3__0__Impl rule__GridRow__Group_3__1 )
-            // InternalReportDSL.g:15830:2: rule__GridRow__Group_3__0__Impl rule__GridRow__Group_3__1
+            // InternalReportDSL.g:15971:1: ( rule__GridRow__Group_3_0__0__Impl rule__GridRow__Group_3_0__1 )
+            // InternalReportDSL.g:15972:2: rule__GridRow__Group_3_0__0__Impl rule__GridRow__Group_3_0__1
             {
             pushFollow(FOLLOW_7);
-            rule__GridRow__Group_3__0__Impl();
+            rule__GridRow__Group_3_0__0__Impl();
 
             state._fsp--;
             if (state.failed) return ;
             pushFollow(FOLLOW_2);
-            rule__GridRow__Group_3__1();
+            rule__GridRow__Group_3_0__1();
 
             state._fsp--;
             if (state.failed) return ;
@@ -53633,28 +54083,28 @@
         }
         return ;
     }
-    // $ANTLR end "rule__GridRow__Group_3__0"
+    // $ANTLR end "rule__GridRow__Group_3_0__0"
 
 
-    // $ANTLR start "rule__GridRow__Group_3__0__Impl"
-    // InternalReportDSL.g:15837:1: rule__GridRow__Group_3__0__Impl : ( 'style' ) ;
-    public final void rule__GridRow__Group_3__0__Impl() throws RecognitionException {
+    // $ANTLR start "rule__GridRow__Group_3_0__0__Impl"
+    // InternalReportDSL.g:15979:1: rule__GridRow__Group_3_0__0__Impl : ( 'style' ) ;
+    public final void rule__GridRow__Group_3_0__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:15841:1: ( ( 'style' ) )
-            // InternalReportDSL.g:15842:1: ( 'style' )
+            // InternalReportDSL.g:15983:1: ( ( 'style' ) )
+            // InternalReportDSL.g:15984:1: ( 'style' )
             {
-            // InternalReportDSL.g:15842:1: ( 'style' )
-            // InternalReportDSL.g:15843:2: 'style'
+            // InternalReportDSL.g:15984:1: ( 'style' )
+            // InternalReportDSL.g:15985:2: 'style'
             {
             if ( state.backtracking==0 ) {
-               before(grammarAccess.getGridRowAccess().getStyleKeyword_3_0()); 
+               before(grammarAccess.getGridRowAccess().getStyleKeyword_3_0_0()); 
             }
-            match(input,152,FOLLOW_2); if (state.failed) return ;
+            match(input,158,FOLLOW_2); if (state.failed) return ;
             if ( state.backtracking==0 ) {
-               after(grammarAccess.getGridRowAccess().getStyleKeyword_3_0()); 
+               after(grammarAccess.getGridRowAccess().getStyleKeyword_3_0_0()); 
             }
 
             }
@@ -53674,21 +54124,21 @@
         }
         return ;
     }
-    // $ANTLR end "rule__GridRow__Group_3__0__Impl"
+    // $ANTLR end "rule__GridRow__Group_3_0__0__Impl"
 
 
-    // $ANTLR start "rule__GridRow__Group_3__1"
-    // InternalReportDSL.g:15852:1: rule__GridRow__Group_3__1 : rule__GridRow__Group_3__1__Impl ;
-    public final void rule__GridRow__Group_3__1() throws RecognitionException {
+    // $ANTLR start "rule__GridRow__Group_3_0__1"
+    // InternalReportDSL.g:15994:1: rule__GridRow__Group_3_0__1 : rule__GridRow__Group_3_0__1__Impl ;
+    public final void rule__GridRow__Group_3_0__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:15856:1: ( rule__GridRow__Group_3__1__Impl )
-            // InternalReportDSL.g:15857:2: rule__GridRow__Group_3__1__Impl
+            // InternalReportDSL.g:15998:1: ( rule__GridRow__Group_3_0__1__Impl )
+            // InternalReportDSL.g:15999:2: rule__GridRow__Group_3_0__1__Impl
             {
             pushFollow(FOLLOW_2);
-            rule__GridRow__Group_3__1__Impl();
+            rule__GridRow__Group_3_0__1__Impl();
 
             state._fsp--;
             if (state.failed) return ;
@@ -53707,30 +54157,30 @@
         }
         return ;
     }
-    // $ANTLR end "rule__GridRow__Group_3__1"
+    // $ANTLR end "rule__GridRow__Group_3_0__1"
 
 
-    // $ANTLR start "rule__GridRow__Group_3__1__Impl"
-    // InternalReportDSL.g:15863:1: rule__GridRow__Group_3__1__Impl : ( ( rule__GridRow__StyleAssignment_3_1 ) ) ;
-    public final void rule__GridRow__Group_3__1__Impl() throws RecognitionException {
+    // $ANTLR start "rule__GridRow__Group_3_0__1__Impl"
+    // InternalReportDSL.g:16005:1: rule__GridRow__Group_3_0__1__Impl : ( ( rule__GridRow__StyleAssignment_3_0_1 ) ) ;
+    public final void rule__GridRow__Group_3_0__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:15867:1: ( ( ( rule__GridRow__StyleAssignment_3_1 ) ) )
-            // InternalReportDSL.g:15868:1: ( ( rule__GridRow__StyleAssignment_3_1 ) )
+            // InternalReportDSL.g:16009:1: ( ( ( rule__GridRow__StyleAssignment_3_0_1 ) ) )
+            // InternalReportDSL.g:16010:1: ( ( rule__GridRow__StyleAssignment_3_0_1 ) )
             {
-            // InternalReportDSL.g:15868:1: ( ( rule__GridRow__StyleAssignment_3_1 ) )
-            // InternalReportDSL.g:15869:2: ( rule__GridRow__StyleAssignment_3_1 )
+            // InternalReportDSL.g:16010:1: ( ( rule__GridRow__StyleAssignment_3_0_1 ) )
+            // InternalReportDSL.g:16011:2: ( rule__GridRow__StyleAssignment_3_0_1 )
             {
             if ( state.backtracking==0 ) {
-               before(grammarAccess.getGridRowAccess().getStyleAssignment_3_1()); 
+               before(grammarAccess.getGridRowAccess().getStyleAssignment_3_0_1()); 
             }
-            // InternalReportDSL.g:15870:2: ( rule__GridRow__StyleAssignment_3_1 )
-            // InternalReportDSL.g:15870:3: rule__GridRow__StyleAssignment_3_1
+            // InternalReportDSL.g:16012:2: ( rule__GridRow__StyleAssignment_3_0_1 )
+            // InternalReportDSL.g:16012:3: rule__GridRow__StyleAssignment_3_0_1
             {
             pushFollow(FOLLOW_2);
-            rule__GridRow__StyleAssignment_3_1();
+            rule__GridRow__StyleAssignment_3_0_1();
 
             state._fsp--;
             if (state.failed) return ;
@@ -53738,7 +54188,7 @@
             }
 
             if ( state.backtracking==0 ) {
-               after(grammarAccess.getGridRowAccess().getStyleAssignment_3_1()); 
+               after(grammarAccess.getGridRowAccess().getStyleAssignment_3_0_1()); 
             }
 
             }
@@ -53758,26 +54208,26 @@
         }
         return ;
     }
-    // $ANTLR end "rule__GridRow__Group_3__1__Impl"
+    // $ANTLR end "rule__GridRow__Group_3_0__1__Impl"
 
 
-    // $ANTLR start "rule__GridRow__Group_4__0"
-    // InternalReportDSL.g:15879:1: rule__GridRow__Group_4__0 : rule__GridRow__Group_4__0__Impl rule__GridRow__Group_4__1 ;
-    public final void rule__GridRow__Group_4__0() throws RecognitionException {
+    // $ANTLR start "rule__GridRow__Group_3_1__0"
+    // InternalReportDSL.g:16021:1: rule__GridRow__Group_3_1__0 : rule__GridRow__Group_3_1__0__Impl rule__GridRow__Group_3_1__1 ;
+    public final void rule__GridRow__Group_3_1__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:15883:1: ( rule__GridRow__Group_4__0__Impl rule__GridRow__Group_4__1 )
-            // InternalReportDSL.g:15884:2: rule__GridRow__Group_4__0__Impl rule__GridRow__Group_4__1
+            // InternalReportDSL.g:16025:1: ( rule__GridRow__Group_3_1__0__Impl rule__GridRow__Group_3_1__1 )
+            // InternalReportDSL.g:16026:2: rule__GridRow__Group_3_1__0__Impl rule__GridRow__Group_3_1__1
             {
             pushFollow(FOLLOW_36);
-            rule__GridRow__Group_4__0__Impl();
+            rule__GridRow__Group_3_1__0__Impl();
 
             state._fsp--;
             if (state.failed) return ;
             pushFollow(FOLLOW_2);
-            rule__GridRow__Group_4__1();
+            rule__GridRow__Group_3_1__1();
 
             state._fsp--;
             if (state.failed) return ;
@@ -53796,28 +54246,28 @@
         }
         return ;
     }
-    // $ANTLR end "rule__GridRow__Group_4__0"
+    // $ANTLR end "rule__GridRow__Group_3_1__0"
 
 
-    // $ANTLR start "rule__GridRow__Group_4__0__Impl"
-    // InternalReportDSL.g:15891:1: rule__GridRow__Group_4__0__Impl : ( 'height' ) ;
-    public final void rule__GridRow__Group_4__0__Impl() throws RecognitionException {
+    // $ANTLR start "rule__GridRow__Group_3_1__0__Impl"
+    // InternalReportDSL.g:16033:1: rule__GridRow__Group_3_1__0__Impl : ( 'height' ) ;
+    public final void rule__GridRow__Group_3_1__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:15895:1: ( ( 'height' ) )
-            // InternalReportDSL.g:15896:1: ( 'height' )
+            // InternalReportDSL.g:16037:1: ( ( 'height' ) )
+            // InternalReportDSL.g:16038:1: ( 'height' )
             {
-            // InternalReportDSL.g:15896:1: ( 'height' )
-            // InternalReportDSL.g:15897:2: 'height'
+            // InternalReportDSL.g:16038:1: ( 'height' )
+            // InternalReportDSL.g:16039:2: 'height'
             {
             if ( state.backtracking==0 ) {
-               before(grammarAccess.getGridRowAccess().getHeightKeyword_4_0()); 
+               before(grammarAccess.getGridRowAccess().getHeightKeyword_3_1_0()); 
             }
-            match(input,185,FOLLOW_2); if (state.failed) return ;
+            match(input,192,FOLLOW_2); if (state.failed) return ;
             if ( state.backtracking==0 ) {
-               after(grammarAccess.getGridRowAccess().getHeightKeyword_4_0()); 
+               after(grammarAccess.getGridRowAccess().getHeightKeyword_3_1_0()); 
             }
 
             }
@@ -53837,21 +54287,21 @@
         }
         return ;
     }
-    // $ANTLR end "rule__GridRow__Group_4__0__Impl"
+    // $ANTLR end "rule__GridRow__Group_3_1__0__Impl"
 
 
-    // $ANTLR start "rule__GridRow__Group_4__1"
-    // InternalReportDSL.g:15906:1: rule__GridRow__Group_4__1 : rule__GridRow__Group_4__1__Impl ;
-    public final void rule__GridRow__Group_4__1() throws RecognitionException {
+    // $ANTLR start "rule__GridRow__Group_3_1__1"
+    // InternalReportDSL.g:16048:1: rule__GridRow__Group_3_1__1 : rule__GridRow__Group_3_1__1__Impl ;
+    public final void rule__GridRow__Group_3_1__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:15910:1: ( rule__GridRow__Group_4__1__Impl )
-            // InternalReportDSL.g:15911:2: rule__GridRow__Group_4__1__Impl
+            // InternalReportDSL.g:16052:1: ( rule__GridRow__Group_3_1__1__Impl )
+            // InternalReportDSL.g:16053:2: rule__GridRow__Group_3_1__1__Impl
             {
             pushFollow(FOLLOW_2);
-            rule__GridRow__Group_4__1__Impl();
+            rule__GridRow__Group_3_1__1__Impl();
 
             state._fsp--;
             if (state.failed) return ;
@@ -53870,30 +54320,30 @@
         }
         return ;
     }
-    // $ANTLR end "rule__GridRow__Group_4__1"
+    // $ANTLR end "rule__GridRow__Group_3_1__1"
 
 
-    // $ANTLR start "rule__GridRow__Group_4__1__Impl"
-    // InternalReportDSL.g:15917:1: rule__GridRow__Group_4__1__Impl : ( ( rule__GridRow__HeightValueAssignment_4_1 ) ) ;
-    public final void rule__GridRow__Group_4__1__Impl() throws RecognitionException {
+    // $ANTLR start "rule__GridRow__Group_3_1__1__Impl"
+    // InternalReportDSL.g:16059:1: rule__GridRow__Group_3_1__1__Impl : ( ( rule__GridRow__HeightValueAssignment_3_1_1 ) ) ;
+    public final void rule__GridRow__Group_3_1__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:15921:1: ( ( ( rule__GridRow__HeightValueAssignment_4_1 ) ) )
-            // InternalReportDSL.g:15922:1: ( ( rule__GridRow__HeightValueAssignment_4_1 ) )
+            // InternalReportDSL.g:16063:1: ( ( ( rule__GridRow__HeightValueAssignment_3_1_1 ) ) )
+            // InternalReportDSL.g:16064:1: ( ( rule__GridRow__HeightValueAssignment_3_1_1 ) )
             {
-            // InternalReportDSL.g:15922:1: ( ( rule__GridRow__HeightValueAssignment_4_1 ) )
-            // InternalReportDSL.g:15923:2: ( rule__GridRow__HeightValueAssignment_4_1 )
+            // InternalReportDSL.g:16064:1: ( ( rule__GridRow__HeightValueAssignment_3_1_1 ) )
+            // InternalReportDSL.g:16065:2: ( rule__GridRow__HeightValueAssignment_3_1_1 )
             {
             if ( state.backtracking==0 ) {
-               before(grammarAccess.getGridRowAccess().getHeightValueAssignment_4_1()); 
+               before(grammarAccess.getGridRowAccess().getHeightValueAssignment_3_1_1()); 
             }
-            // InternalReportDSL.g:15924:2: ( rule__GridRow__HeightValueAssignment_4_1 )
-            // InternalReportDSL.g:15924:3: rule__GridRow__HeightValueAssignment_4_1
+            // InternalReportDSL.g:16066:2: ( rule__GridRow__HeightValueAssignment_3_1_1 )
+            // InternalReportDSL.g:16066:3: rule__GridRow__HeightValueAssignment_3_1_1
             {
             pushFollow(FOLLOW_2);
-            rule__GridRow__HeightValueAssignment_4_1();
+            rule__GridRow__HeightValueAssignment_3_1_1();
 
             state._fsp--;
             if (state.failed) return ;
@@ -53901,7 +54351,7 @@
             }
 
             if ( state.backtracking==0 ) {
-               after(grammarAccess.getGridRowAccess().getHeightValueAssignment_4_1()); 
+               after(grammarAccess.getGridRowAccess().getHeightValueAssignment_3_1_1()); 
             }
 
             }
@@ -53921,20 +54371,20 @@
         }
         return ;
     }
-    // $ANTLR end "rule__GridRow__Group_4__1__Impl"
+    // $ANTLR end "rule__GridRow__Group_3_1__1__Impl"
 
 
     // $ANTLR start "rule__GridCell__Group__0"
-    // InternalReportDSL.g:15933:1: rule__GridCell__Group__0 : rule__GridCell__Group__0__Impl rule__GridCell__Group__1 ;
+    // InternalReportDSL.g:16075:1: rule__GridCell__Group__0 : rule__GridCell__Group__0__Impl rule__GridCell__Group__1 ;
     public final void rule__GridCell__Group__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:15937:1: ( rule__GridCell__Group__0__Impl rule__GridCell__Group__1 )
-            // InternalReportDSL.g:15938:2: rule__GridCell__Group__0__Impl rule__GridCell__Group__1
+            // InternalReportDSL.g:16079:1: ( rule__GridCell__Group__0__Impl rule__GridCell__Group__1 )
+            // InternalReportDSL.g:16080:2: rule__GridCell__Group__0__Impl rule__GridCell__Group__1
             {
-            pushFollow(FOLLOW_83);
+            pushFollow(FOLLOW_84);
             rule__GridCell__Group__0__Impl();
 
             state._fsp--;
@@ -53963,23 +54413,23 @@
 
 
     // $ANTLR start "rule__GridCell__Group__0__Impl"
-    // InternalReportDSL.g:15945:1: rule__GridCell__Group__0__Impl : ( () ) ;
+    // InternalReportDSL.g:16087:1: rule__GridCell__Group__0__Impl : ( () ) ;
     public final void rule__GridCell__Group__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:15949:1: ( ( () ) )
-            // InternalReportDSL.g:15950:1: ( () )
+            // InternalReportDSL.g:16091:1: ( ( () ) )
+            // InternalReportDSL.g:16092:1: ( () )
             {
-            // InternalReportDSL.g:15950:1: ( () )
-            // InternalReportDSL.g:15951:2: ()
+            // InternalReportDSL.g:16092:1: ( () )
+            // InternalReportDSL.g:16093:2: ()
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getGridCellAccess().getGridCellAction_0()); 
             }
-            // InternalReportDSL.g:15952:2: ()
-            // InternalReportDSL.g:15952:3: 
+            // InternalReportDSL.g:16094:2: ()
+            // InternalReportDSL.g:16094:3: 
             {
             }
 
@@ -54004,16 +54454,16 @@
 
 
     // $ANTLR start "rule__GridCell__Group__1"
-    // InternalReportDSL.g:15960:1: rule__GridCell__Group__1 : rule__GridCell__Group__1__Impl rule__GridCell__Group__2 ;
+    // InternalReportDSL.g:16102:1: rule__GridCell__Group__1 : rule__GridCell__Group__1__Impl rule__GridCell__Group__2 ;
     public final void rule__GridCell__Group__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:15964:1: ( rule__GridCell__Group__1__Impl rule__GridCell__Group__2 )
-            // InternalReportDSL.g:15965:2: rule__GridCell__Group__1__Impl rule__GridCell__Group__2
+            // InternalReportDSL.g:16106:1: ( rule__GridCell__Group__1__Impl rule__GridCell__Group__2 )
+            // InternalReportDSL.g:16107:2: rule__GridCell__Group__1__Impl rule__GridCell__Group__2
             {
-            pushFollow(FOLLOW_84);
+            pushFollow(FOLLOW_85);
             rule__GridCell__Group__1__Impl();
 
             state._fsp--;
@@ -54042,22 +54492,22 @@
 
 
     // $ANTLR start "rule__GridCell__Group__1__Impl"
-    // InternalReportDSL.g:15972:1: rule__GridCell__Group__1__Impl : ( 'cell' ) ;
+    // InternalReportDSL.g:16114:1: rule__GridCell__Group__1__Impl : ( 'cell' ) ;
     public final void rule__GridCell__Group__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:15976:1: ( ( 'cell' ) )
-            // InternalReportDSL.g:15977:1: ( 'cell' )
+            // InternalReportDSL.g:16118:1: ( ( 'cell' ) )
+            // InternalReportDSL.g:16119:1: ( 'cell' )
             {
-            // InternalReportDSL.g:15977:1: ( 'cell' )
-            // InternalReportDSL.g:15978:2: 'cell'
+            // InternalReportDSL.g:16119:1: ( 'cell' )
+            // InternalReportDSL.g:16120:2: 'cell'
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getGridCellAccess().getCellKeyword_1()); 
             }
-            match(input,192,FOLLOW_2); if (state.failed) return ;
+            match(input,199,FOLLOW_2); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getGridCellAccess().getCellKeyword_1()); 
             }
@@ -54083,16 +54533,16 @@
 
 
     // $ANTLR start "rule__GridCell__Group__2"
-    // InternalReportDSL.g:15987:1: rule__GridCell__Group__2 : rule__GridCell__Group__2__Impl rule__GridCell__Group__3 ;
+    // InternalReportDSL.g:16129:1: rule__GridCell__Group__2 : rule__GridCell__Group__2__Impl rule__GridCell__Group__3 ;
     public final void rule__GridCell__Group__2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:15991:1: ( rule__GridCell__Group__2__Impl rule__GridCell__Group__3 )
-            // InternalReportDSL.g:15992:2: rule__GridCell__Group__2__Impl rule__GridCell__Group__3
+            // InternalReportDSL.g:16133:1: ( rule__GridCell__Group__2__Impl rule__GridCell__Group__3 )
+            // InternalReportDSL.g:16134:2: rule__GridCell__Group__2__Impl rule__GridCell__Group__3
             {
-            pushFollow(FOLLOW_84);
+            pushFollow(FOLLOW_85);
             rule__GridCell__Group__2__Impl();
 
             state._fsp--;
@@ -54121,31 +54571,31 @@
 
 
     // $ANTLR start "rule__GridCell__Group__2__Impl"
-    // InternalReportDSL.g:15999:1: rule__GridCell__Group__2__Impl : ( ( rule__GridCell__Group_2__0 )? ) ;
+    // InternalReportDSL.g:16141:1: rule__GridCell__Group__2__Impl : ( ( rule__GridCell__Group_2__0 )? ) ;
     public final void rule__GridCell__Group__2__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:16003:1: ( ( ( rule__GridCell__Group_2__0 )? ) )
-            // InternalReportDSL.g:16004:1: ( ( rule__GridCell__Group_2__0 )? )
+            // InternalReportDSL.g:16145:1: ( ( ( rule__GridCell__Group_2__0 )? ) )
+            // InternalReportDSL.g:16146:1: ( ( rule__GridCell__Group_2__0 )? )
             {
-            // InternalReportDSL.g:16004:1: ( ( rule__GridCell__Group_2__0 )? )
-            // InternalReportDSL.g:16005:2: ( rule__GridCell__Group_2__0 )?
+            // InternalReportDSL.g:16146:1: ( ( rule__GridCell__Group_2__0 )? )
+            // InternalReportDSL.g:16147:2: ( rule__GridCell__Group_2__0 )?
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getGridCellAccess().getGroup_2()); 
             }
-            // InternalReportDSL.g:16006:2: ( rule__GridCell__Group_2__0 )?
-            int alt117=2;
-            int LA117_0 = input.LA(1);
+            // InternalReportDSL.g:16148:2: ( rule__GridCell__Group_2__0 )?
+            int alt114=2;
+            int LA114_0 = input.LA(1);
 
-            if ( (LA117_0==189) ) {
-                alt117=1;
+            if ( (LA114_0==196) ) {
+                alt114=1;
             }
-            switch (alt117) {
+            switch (alt114) {
                 case 1 :
-                    // InternalReportDSL.g:16006:3: rule__GridCell__Group_2__0
+                    // InternalReportDSL.g:16148:3: rule__GridCell__Group_2__0
                     {
                     pushFollow(FOLLOW_2);
                     rule__GridCell__Group_2__0();
@@ -54183,16 +54633,16 @@
 
 
     // $ANTLR start "rule__GridCell__Group__3"
-    // InternalReportDSL.g:16014:1: rule__GridCell__Group__3 : rule__GridCell__Group__3__Impl rule__GridCell__Group__4 ;
+    // InternalReportDSL.g:16156:1: rule__GridCell__Group__3 : rule__GridCell__Group__3__Impl rule__GridCell__Group__4 ;
     public final void rule__GridCell__Group__3() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:16018:1: ( rule__GridCell__Group__3__Impl rule__GridCell__Group__4 )
-            // InternalReportDSL.g:16019:2: rule__GridCell__Group__3__Impl rule__GridCell__Group__4
+            // InternalReportDSL.g:16160:1: ( rule__GridCell__Group__3__Impl rule__GridCell__Group__4 )
+            // InternalReportDSL.g:16161:2: rule__GridCell__Group__3__Impl rule__GridCell__Group__4
             {
-            pushFollow(FOLLOW_84);
+            pushFollow(FOLLOW_8);
             rule__GridCell__Group__3__Impl();
 
             state._fsp--;
@@ -54221,45 +54671,34 @@
 
 
     // $ANTLR start "rule__GridCell__Group__3__Impl"
-    // InternalReportDSL.g:16026:1: rule__GridCell__Group__3__Impl : ( ( rule__GridCell__Group_3__0 )? ) ;
+    // InternalReportDSL.g:16168:1: rule__GridCell__Group__3__Impl : ( ( rule__GridCell__UnorderedGroup_3 ) ) ;
     public final void rule__GridCell__Group__3__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:16030:1: ( ( ( rule__GridCell__Group_3__0 )? ) )
-            // InternalReportDSL.g:16031:1: ( ( rule__GridCell__Group_3__0 )? )
+            // InternalReportDSL.g:16172:1: ( ( ( rule__GridCell__UnorderedGroup_3 ) ) )
+            // InternalReportDSL.g:16173:1: ( ( rule__GridCell__UnorderedGroup_3 ) )
             {
-            // InternalReportDSL.g:16031:1: ( ( rule__GridCell__Group_3__0 )? )
-            // InternalReportDSL.g:16032:2: ( rule__GridCell__Group_3__0 )?
+            // InternalReportDSL.g:16173:1: ( ( rule__GridCell__UnorderedGroup_3 ) )
+            // InternalReportDSL.g:16174:2: ( rule__GridCell__UnorderedGroup_3 )
             {
             if ( state.backtracking==0 ) {
-               before(grammarAccess.getGridCellAccess().getGroup_3()); 
+               before(grammarAccess.getGridCellAccess().getUnorderedGroup_3()); 
             }
-            // InternalReportDSL.g:16033:2: ( rule__GridCell__Group_3__0 )?
-            int alt118=2;
-            int LA118_0 = input.LA(1);
+            // InternalReportDSL.g:16175:2: ( rule__GridCell__UnorderedGroup_3 )
+            // InternalReportDSL.g:16175:3: rule__GridCell__UnorderedGroup_3
+            {
+            pushFollow(FOLLOW_2);
+            rule__GridCell__UnorderedGroup_3();
 
-            if ( (LA118_0==152) ) {
-                alt118=1;
-            }
-            switch (alt118) {
-                case 1 :
-                    // InternalReportDSL.g:16033:3: rule__GridCell__Group_3__0
-                    {
-                    pushFollow(FOLLOW_2);
-                    rule__GridCell__Group_3__0();
-
-                    state._fsp--;
-                    if (state.failed) return ;
-
-                    }
-                    break;
+            state._fsp--;
+            if (state.failed) return ;
 
             }
 
             if ( state.backtracking==0 ) {
-               after(grammarAccess.getGridCellAccess().getGroup_3()); 
+               after(grammarAccess.getGridCellAccess().getUnorderedGroup_3()); 
             }
 
             }
@@ -54283,16 +54722,16 @@
 
 
     // $ANTLR start "rule__GridCell__Group__4"
-    // InternalReportDSL.g:16041:1: rule__GridCell__Group__4 : rule__GridCell__Group__4__Impl rule__GridCell__Group__5 ;
+    // InternalReportDSL.g:16183:1: rule__GridCell__Group__4 : rule__GridCell__Group__4__Impl rule__GridCell__Group__5 ;
     public final void rule__GridCell__Group__4() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:16045:1: ( rule__GridCell__Group__4__Impl rule__GridCell__Group__5 )
-            // InternalReportDSL.g:16046:2: rule__GridCell__Group__4__Impl rule__GridCell__Group__5
+            // InternalReportDSL.g:16187:1: ( rule__GridCell__Group__4__Impl rule__GridCell__Group__5 )
+            // InternalReportDSL.g:16188:2: rule__GridCell__Group__4__Impl rule__GridCell__Group__5
             {
-            pushFollow(FOLLOW_84);
+            pushFollow(FOLLOW_73);
             rule__GridCell__Group__4__Impl();
 
             state._fsp--;
@@ -54321,45 +54760,24 @@
 
 
     // $ANTLR start "rule__GridCell__Group__4__Impl"
-    // InternalReportDSL.g:16053:1: rule__GridCell__Group__4__Impl : ( ( rule__GridCell__Group_4__0 )? ) ;
+    // InternalReportDSL.g:16195:1: rule__GridCell__Group__4__Impl : ( '{' ) ;
     public final void rule__GridCell__Group__4__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:16057:1: ( ( ( rule__GridCell__Group_4__0 )? ) )
-            // InternalReportDSL.g:16058:1: ( ( rule__GridCell__Group_4__0 )? )
+            // InternalReportDSL.g:16199:1: ( ( '{' ) )
+            // InternalReportDSL.g:16200:1: ( '{' )
             {
-            // InternalReportDSL.g:16058:1: ( ( rule__GridCell__Group_4__0 )? )
-            // InternalReportDSL.g:16059:2: ( rule__GridCell__Group_4__0 )?
+            // InternalReportDSL.g:16200:1: ( '{' )
+            // InternalReportDSL.g:16201:2: '{'
             {
             if ( state.backtracking==0 ) {
-               before(grammarAccess.getGridCellAccess().getGroup_4()); 
+               before(grammarAccess.getGridCellAccess().getLeftCurlyBracketKeyword_4()); 
             }
-            // InternalReportDSL.g:16060:2: ( rule__GridCell__Group_4__0 )?
-            int alt119=2;
-            int LA119_0 = input.LA(1);
-
-            if ( (LA119_0==190) ) {
-                alt119=1;
-            }
-            switch (alt119) {
-                case 1 :
-                    // InternalReportDSL.g:16060:3: rule__GridCell__Group_4__0
-                    {
-                    pushFollow(FOLLOW_2);
-                    rule__GridCell__Group_4__0();
-
-                    state._fsp--;
-                    if (state.failed) return ;
-
-                    }
-                    break;
-
-            }
-
+            match(input,131,FOLLOW_2); if (state.failed) return ;
             if ( state.backtracking==0 ) {
-               after(grammarAccess.getGridCellAccess().getGroup_4()); 
+               after(grammarAccess.getGridCellAccess().getLeftCurlyBracketKeyword_4()); 
             }
 
             }
@@ -54383,16 +54801,16 @@
 
 
     // $ANTLR start "rule__GridCell__Group__5"
-    // InternalReportDSL.g:16068:1: rule__GridCell__Group__5 : rule__GridCell__Group__5__Impl rule__GridCell__Group__6 ;
+    // InternalReportDSL.g:16210:1: rule__GridCell__Group__5 : rule__GridCell__Group__5__Impl rule__GridCell__Group__6 ;
     public final void rule__GridCell__Group__5() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:16072:1: ( rule__GridCell__Group__5__Impl rule__GridCell__Group__6 )
-            // InternalReportDSL.g:16073:2: rule__GridCell__Group__5__Impl rule__GridCell__Group__6
+            // InternalReportDSL.g:16214:1: ( rule__GridCell__Group__5__Impl rule__GridCell__Group__6 )
+            // InternalReportDSL.g:16215:2: rule__GridCell__Group__5__Impl rule__GridCell__Group__6
             {
-            pushFollow(FOLLOW_84);
+            pushFollow(FOLLOW_73);
             rule__GridCell__Group__5__Impl();
 
             state._fsp--;
@@ -54421,45 +54839,52 @@
 
 
     // $ANTLR start "rule__GridCell__Group__5__Impl"
-    // InternalReportDSL.g:16080:1: rule__GridCell__Group__5__Impl : ( ( rule__GridCell__Group_5__0 )? ) ;
+    // InternalReportDSL.g:16222:1: rule__GridCell__Group__5__Impl : ( ( rule__GridCell__ElementsAssignment_5 )* ) ;
     public final void rule__GridCell__Group__5__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:16084:1: ( ( ( rule__GridCell__Group_5__0 )? ) )
-            // InternalReportDSL.g:16085:1: ( ( rule__GridCell__Group_5__0 )? )
+            // InternalReportDSL.g:16226:1: ( ( ( rule__GridCell__ElementsAssignment_5 )* ) )
+            // InternalReportDSL.g:16227:1: ( ( rule__GridCell__ElementsAssignment_5 )* )
             {
-            // InternalReportDSL.g:16085:1: ( ( rule__GridCell__Group_5__0 )? )
-            // InternalReportDSL.g:16086:2: ( rule__GridCell__Group_5__0 )?
+            // InternalReportDSL.g:16227:1: ( ( rule__GridCell__ElementsAssignment_5 )* )
+            // InternalReportDSL.g:16228:2: ( rule__GridCell__ElementsAssignment_5 )*
             {
             if ( state.backtracking==0 ) {
-               before(grammarAccess.getGridCellAccess().getGroup_5()); 
+               before(grammarAccess.getGridCellAccess().getElementsAssignment_5()); 
             }
-            // InternalReportDSL.g:16087:2: ( rule__GridCell__Group_5__0 )?
-            int alt120=2;
-            int LA120_0 = input.LA(1);
+            // InternalReportDSL.g:16229:2: ( rule__GridCell__ElementsAssignment_5 )*
+            loop115:
+            do {
+                int alt115=2;
+                int LA115_0 = input.LA(1);
 
-            if ( (LA120_0==193) ) {
-                alt120=1;
-            }
-            switch (alt120) {
-                case 1 :
-                    // InternalReportDSL.g:16087:3: rule__GridCell__Group_5__0
-                    {
-                    pushFollow(FOLLOW_2);
-                    rule__GridCell__Group_5__0();
+                if ( (LA115_0==195||LA115_0==201||(LA115_0>=207 && LA115_0<=208)||LA115_0==210||(LA115_0>=214 && LA115_0<=215)||(LA115_0>=226 && LA115_0<=231)) ) {
+                    alt115=1;
+                }
 
-                    state._fsp--;
-                    if (state.failed) return ;
 
-                    }
-                    break;
+                switch (alt115) {
+            	case 1 :
+            	    // InternalReportDSL.g:16229:3: rule__GridCell__ElementsAssignment_5
+            	    {
+            	    pushFollow(FOLLOW_74);
+            	    rule__GridCell__ElementsAssignment_5();
 
-            }
+            	    state._fsp--;
+            	    if (state.failed) return ;
+
+            	    }
+            	    break;
+
+            	default :
+            	    break loop115;
+                }
+            } while (true);
 
             if ( state.backtracking==0 ) {
-               after(grammarAccess.getGridCellAccess().getGroup_5()); 
+               after(grammarAccess.getGridCellAccess().getElementsAssignment_5()); 
             }
 
             }
@@ -54483,22 +54908,17 @@
 
 
     // $ANTLR start "rule__GridCell__Group__6"
-    // InternalReportDSL.g:16095:1: rule__GridCell__Group__6 : rule__GridCell__Group__6__Impl rule__GridCell__Group__7 ;
+    // InternalReportDSL.g:16237:1: rule__GridCell__Group__6 : rule__GridCell__Group__6__Impl ;
     public final void rule__GridCell__Group__6() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:16099:1: ( rule__GridCell__Group__6__Impl rule__GridCell__Group__7 )
-            // InternalReportDSL.g:16100:2: rule__GridCell__Group__6__Impl rule__GridCell__Group__7
+            // InternalReportDSL.g:16241:1: ( rule__GridCell__Group__6__Impl )
+            // InternalReportDSL.g:16242:2: rule__GridCell__Group__6__Impl
             {
-            pushFollow(FOLLOW_84);
-            rule__GridCell__Group__6__Impl();
-
-            state._fsp--;
-            if (state.failed) return ;
             pushFollow(FOLLOW_2);
-            rule__GridCell__Group__7();
+            rule__GridCell__Group__6__Impl();
 
             state._fsp--;
             if (state.failed) return ;
@@ -54521,45 +54941,24 @@
 
 
     // $ANTLR start "rule__GridCell__Group__6__Impl"
-    // InternalReportDSL.g:16107:1: rule__GridCell__Group__6__Impl : ( ( rule__GridCell__VisibilityItemAssignment_6 )? ) ;
+    // InternalReportDSL.g:16248:1: rule__GridCell__Group__6__Impl : ( '}' ) ;
     public final void rule__GridCell__Group__6__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:16111:1: ( ( ( rule__GridCell__VisibilityItemAssignment_6 )? ) )
-            // InternalReportDSL.g:16112:1: ( ( rule__GridCell__VisibilityItemAssignment_6 )? )
+            // InternalReportDSL.g:16252:1: ( ( '}' ) )
+            // InternalReportDSL.g:16253:1: ( '}' )
             {
-            // InternalReportDSL.g:16112:1: ( ( rule__GridCell__VisibilityItemAssignment_6 )? )
-            // InternalReportDSL.g:16113:2: ( rule__GridCell__VisibilityItemAssignment_6 )?
+            // InternalReportDSL.g:16253:1: ( '}' )
+            // InternalReportDSL.g:16254:2: '}'
             {
             if ( state.backtracking==0 ) {
-               before(grammarAccess.getGridCellAccess().getVisibilityItemAssignment_6()); 
+               before(grammarAccess.getGridCellAccess().getRightCurlyBracketKeyword_6()); 
             }
-            // InternalReportDSL.g:16114:2: ( rule__GridCell__VisibilityItemAssignment_6 )?
-            int alt121=2;
-            int LA121_0 = input.LA(1);
-
-            if ( (LA121_0==260) ) {
-                alt121=1;
-            }
-            switch (alt121) {
-                case 1 :
-                    // InternalReportDSL.g:16114:3: rule__GridCell__VisibilityItemAssignment_6
-                    {
-                    pushFollow(FOLLOW_2);
-                    rule__GridCell__VisibilityItemAssignment_6();
-
-                    state._fsp--;
-                    if (state.failed) return ;
-
-                    }
-                    break;
-
-            }
-
+            match(input,132,FOLLOW_2); if (state.failed) return ;
             if ( state.backtracking==0 ) {
-               after(grammarAccess.getGridCellAccess().getVisibilityItemAssignment_6()); 
+               after(grammarAccess.getGridCellAccess().getRightCurlyBracketKeyword_6()); 
             }
 
             }
@@ -54582,275 +54981,15 @@
     // $ANTLR end "rule__GridCell__Group__6__Impl"
 
 
-    // $ANTLR start "rule__GridCell__Group__7"
-    // InternalReportDSL.g:16122:1: rule__GridCell__Group__7 : rule__GridCell__Group__7__Impl rule__GridCell__Group__8 ;
-    public final void rule__GridCell__Group__7() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-        	
-        try {
-            // InternalReportDSL.g:16126:1: ( rule__GridCell__Group__7__Impl rule__GridCell__Group__8 )
-            // InternalReportDSL.g:16127:2: rule__GridCell__Group__7__Impl rule__GridCell__Group__8
-            {
-            pushFollow(FOLLOW_72);
-            rule__GridCell__Group__7__Impl();
-
-            state._fsp--;
-            if (state.failed) return ;
-            pushFollow(FOLLOW_2);
-            rule__GridCell__Group__8();
-
-            state._fsp--;
-            if (state.failed) return ;
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__GridCell__Group__7"
-
-
-    // $ANTLR start "rule__GridCell__Group__7__Impl"
-    // InternalReportDSL.g:16134:1: rule__GridCell__Group__7__Impl : ( '{' ) ;
-    public final void rule__GridCell__Group__7__Impl() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-        	
-        try {
-            // InternalReportDSL.g:16138:1: ( ( '{' ) )
-            // InternalReportDSL.g:16139:1: ( '{' )
-            {
-            // InternalReportDSL.g:16139:1: ( '{' )
-            // InternalReportDSL.g:16140:2: '{'
-            {
-            if ( state.backtracking==0 ) {
-               before(grammarAccess.getGridCellAccess().getLeftCurlyBracketKeyword_7()); 
-            }
-            match(input,125,FOLLOW_2); if (state.failed) return ;
-            if ( state.backtracking==0 ) {
-               after(grammarAccess.getGridCellAccess().getLeftCurlyBracketKeyword_7()); 
-            }
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__GridCell__Group__7__Impl"
-
-
-    // $ANTLR start "rule__GridCell__Group__8"
-    // InternalReportDSL.g:16149:1: rule__GridCell__Group__8 : rule__GridCell__Group__8__Impl rule__GridCell__Group__9 ;
-    public final void rule__GridCell__Group__8() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-        	
-        try {
-            // InternalReportDSL.g:16153:1: ( rule__GridCell__Group__8__Impl rule__GridCell__Group__9 )
-            // InternalReportDSL.g:16154:2: rule__GridCell__Group__8__Impl rule__GridCell__Group__9
-            {
-            pushFollow(FOLLOW_72);
-            rule__GridCell__Group__8__Impl();
-
-            state._fsp--;
-            if (state.failed) return ;
-            pushFollow(FOLLOW_2);
-            rule__GridCell__Group__9();
-
-            state._fsp--;
-            if (state.failed) return ;
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__GridCell__Group__8"
-
-
-    // $ANTLR start "rule__GridCell__Group__8__Impl"
-    // InternalReportDSL.g:16161:1: rule__GridCell__Group__8__Impl : ( ( rule__GridCell__ElementsAssignment_8 )* ) ;
-    public final void rule__GridCell__Group__8__Impl() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-        	
-        try {
-            // InternalReportDSL.g:16165:1: ( ( ( rule__GridCell__ElementsAssignment_8 )* ) )
-            // InternalReportDSL.g:16166:1: ( ( rule__GridCell__ElementsAssignment_8 )* )
-            {
-            // InternalReportDSL.g:16166:1: ( ( rule__GridCell__ElementsAssignment_8 )* )
-            // InternalReportDSL.g:16167:2: ( rule__GridCell__ElementsAssignment_8 )*
-            {
-            if ( state.backtracking==0 ) {
-               before(grammarAccess.getGridCellAccess().getElementsAssignment_8()); 
-            }
-            // InternalReportDSL.g:16168:2: ( rule__GridCell__ElementsAssignment_8 )*
-            loop122:
-            do {
-                int alt122=2;
-                int LA122_0 = input.LA(1);
-
-                if ( (LA122_0==188||LA122_0==194||(LA122_0>=200 && LA122_0<=201)||LA122_0==203||(LA122_0>=207 && LA122_0<=208)||(LA122_0>=219 && LA122_0<=224)) ) {
-                    alt122=1;
-                }
-
-
-                switch (alt122) {
-            	case 1 :
-            	    // InternalReportDSL.g:16168:3: rule__GridCell__ElementsAssignment_8
-            	    {
-            	    pushFollow(FOLLOW_73);
-            	    rule__GridCell__ElementsAssignment_8();
-
-            	    state._fsp--;
-            	    if (state.failed) return ;
-
-            	    }
-            	    break;
-
-            	default :
-            	    break loop122;
-                }
-            } while (true);
-
-            if ( state.backtracking==0 ) {
-               after(grammarAccess.getGridCellAccess().getElementsAssignment_8()); 
-            }
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__GridCell__Group__8__Impl"
-
-
-    // $ANTLR start "rule__GridCell__Group__9"
-    // InternalReportDSL.g:16176:1: rule__GridCell__Group__9 : rule__GridCell__Group__9__Impl ;
-    public final void rule__GridCell__Group__9() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-        	
-        try {
-            // InternalReportDSL.g:16180:1: ( rule__GridCell__Group__9__Impl )
-            // InternalReportDSL.g:16181:2: rule__GridCell__Group__9__Impl
-            {
-            pushFollow(FOLLOW_2);
-            rule__GridCell__Group__9__Impl();
-
-            state._fsp--;
-            if (state.failed) return ;
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__GridCell__Group__9"
-
-
-    // $ANTLR start "rule__GridCell__Group__9__Impl"
-    // InternalReportDSL.g:16187:1: rule__GridCell__Group__9__Impl : ( '}' ) ;
-    public final void rule__GridCell__Group__9__Impl() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-        	
-        try {
-            // InternalReportDSL.g:16191:1: ( ( '}' ) )
-            // InternalReportDSL.g:16192:1: ( '}' )
-            {
-            // InternalReportDSL.g:16192:1: ( '}' )
-            // InternalReportDSL.g:16193:2: '}'
-            {
-            if ( state.backtracking==0 ) {
-               before(grammarAccess.getGridCellAccess().getRightCurlyBracketKeyword_9()); 
-            }
-            match(input,126,FOLLOW_2); if (state.failed) return ;
-            if ( state.backtracking==0 ) {
-               after(grammarAccess.getGridCellAccess().getRightCurlyBracketKeyword_9()); 
-            }
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__GridCell__Group__9__Impl"
-
-
     // $ANTLR start "rule__GridCell__Group_2__0"
-    // InternalReportDSL.g:16203:1: rule__GridCell__Group_2__0 : rule__GridCell__Group_2__0__Impl rule__GridCell__Group_2__1 ;
+    // InternalReportDSL.g:16264:1: rule__GridCell__Group_2__0 : rule__GridCell__Group_2__0__Impl rule__GridCell__Group_2__1 ;
     public final void rule__GridCell__Group_2__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:16207:1: ( rule__GridCell__Group_2__0__Impl rule__GridCell__Group_2__1 )
-            // InternalReportDSL.g:16208:2: rule__GridCell__Group_2__0__Impl rule__GridCell__Group_2__1
+            // InternalReportDSL.g:16268:1: ( rule__GridCell__Group_2__0__Impl rule__GridCell__Group_2__1 )
+            // InternalReportDSL.g:16269:2: rule__GridCell__Group_2__0__Impl rule__GridCell__Group_2__1
             {
             pushFollow(FOLLOW_7);
             rule__GridCell__Group_2__0__Impl();
@@ -54881,22 +55020,22 @@
 
 
     // $ANTLR start "rule__GridCell__Group_2__0__Impl"
-    // InternalReportDSL.g:16215:1: rule__GridCell__Group_2__0__Impl : ( 'as' ) ;
+    // InternalReportDSL.g:16276:1: rule__GridCell__Group_2__0__Impl : ( 'as' ) ;
     public final void rule__GridCell__Group_2__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:16219:1: ( ( 'as' ) )
-            // InternalReportDSL.g:16220:1: ( 'as' )
+            // InternalReportDSL.g:16280:1: ( ( 'as' ) )
+            // InternalReportDSL.g:16281:1: ( 'as' )
             {
-            // InternalReportDSL.g:16220:1: ( 'as' )
-            // InternalReportDSL.g:16221:2: 'as'
+            // InternalReportDSL.g:16281:1: ( 'as' )
+            // InternalReportDSL.g:16282:2: 'as'
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getGridCellAccess().getAsKeyword_2_0()); 
             }
-            match(input,189,FOLLOW_2); if (state.failed) return ;
+            match(input,196,FOLLOW_2); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getGridCellAccess().getAsKeyword_2_0()); 
             }
@@ -54922,14 +55061,14 @@
 
 
     // $ANTLR start "rule__GridCell__Group_2__1"
-    // InternalReportDSL.g:16230:1: rule__GridCell__Group_2__1 : rule__GridCell__Group_2__1__Impl ;
+    // InternalReportDSL.g:16291:1: rule__GridCell__Group_2__1 : rule__GridCell__Group_2__1__Impl ;
     public final void rule__GridCell__Group_2__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:16234:1: ( rule__GridCell__Group_2__1__Impl )
-            // InternalReportDSL.g:16235:2: rule__GridCell__Group_2__1__Impl
+            // InternalReportDSL.g:16295:1: ( rule__GridCell__Group_2__1__Impl )
+            // InternalReportDSL.g:16296:2: rule__GridCell__Group_2__1__Impl
             {
             pushFollow(FOLLOW_2);
             rule__GridCell__Group_2__1__Impl();
@@ -54955,23 +55094,23 @@
 
 
     // $ANTLR start "rule__GridCell__Group_2__1__Impl"
-    // InternalReportDSL.g:16241:1: rule__GridCell__Group_2__1__Impl : ( ( rule__GridCell__NameAssignment_2_1 ) ) ;
+    // InternalReportDSL.g:16302:1: rule__GridCell__Group_2__1__Impl : ( ( rule__GridCell__NameAssignment_2_1 ) ) ;
     public final void rule__GridCell__Group_2__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:16245:1: ( ( ( rule__GridCell__NameAssignment_2_1 ) ) )
-            // InternalReportDSL.g:16246:1: ( ( rule__GridCell__NameAssignment_2_1 ) )
+            // InternalReportDSL.g:16306:1: ( ( ( rule__GridCell__NameAssignment_2_1 ) ) )
+            // InternalReportDSL.g:16307:1: ( ( rule__GridCell__NameAssignment_2_1 ) )
             {
-            // InternalReportDSL.g:16246:1: ( ( rule__GridCell__NameAssignment_2_1 ) )
-            // InternalReportDSL.g:16247:2: ( rule__GridCell__NameAssignment_2_1 )
+            // InternalReportDSL.g:16307:1: ( ( rule__GridCell__NameAssignment_2_1 ) )
+            // InternalReportDSL.g:16308:2: ( rule__GridCell__NameAssignment_2_1 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getGridCellAccess().getNameAssignment_2_1()); 
             }
-            // InternalReportDSL.g:16248:2: ( rule__GridCell__NameAssignment_2_1 )
-            // InternalReportDSL.g:16248:3: rule__GridCell__NameAssignment_2_1
+            // InternalReportDSL.g:16309:2: ( rule__GridCell__NameAssignment_2_1 )
+            // InternalReportDSL.g:16309:3: rule__GridCell__NameAssignment_2_1
             {
             pushFollow(FOLLOW_2);
             rule__GridCell__NameAssignment_2_1();
@@ -55005,23 +55144,23 @@
     // $ANTLR end "rule__GridCell__Group_2__1__Impl"
 
 
-    // $ANTLR start "rule__GridCell__Group_3__0"
-    // InternalReportDSL.g:16257:1: rule__GridCell__Group_3__0 : rule__GridCell__Group_3__0__Impl rule__GridCell__Group_3__1 ;
-    public final void rule__GridCell__Group_3__0() throws RecognitionException {
+    // $ANTLR start "rule__GridCell__Group_3_0__0"
+    // InternalReportDSL.g:16318:1: rule__GridCell__Group_3_0__0 : rule__GridCell__Group_3_0__0__Impl rule__GridCell__Group_3_0__1 ;
+    public final void rule__GridCell__Group_3_0__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:16261:1: ( rule__GridCell__Group_3__0__Impl rule__GridCell__Group_3__1 )
-            // InternalReportDSL.g:16262:2: rule__GridCell__Group_3__0__Impl rule__GridCell__Group_3__1
+            // InternalReportDSL.g:16322:1: ( rule__GridCell__Group_3_0__0__Impl rule__GridCell__Group_3_0__1 )
+            // InternalReportDSL.g:16323:2: rule__GridCell__Group_3_0__0__Impl rule__GridCell__Group_3_0__1
             {
             pushFollow(FOLLOW_7);
-            rule__GridCell__Group_3__0__Impl();
+            rule__GridCell__Group_3_0__0__Impl();
 
             state._fsp--;
             if (state.failed) return ;
             pushFollow(FOLLOW_2);
-            rule__GridCell__Group_3__1();
+            rule__GridCell__Group_3_0__1();
 
             state._fsp--;
             if (state.failed) return ;
@@ -55040,28 +55179,28 @@
         }
         return ;
     }
-    // $ANTLR end "rule__GridCell__Group_3__0"
+    // $ANTLR end "rule__GridCell__Group_3_0__0"
 
 
-    // $ANTLR start "rule__GridCell__Group_3__0__Impl"
-    // InternalReportDSL.g:16269:1: rule__GridCell__Group_3__0__Impl : ( 'style' ) ;
-    public final void rule__GridCell__Group_3__0__Impl() throws RecognitionException {
+    // $ANTLR start "rule__GridCell__Group_3_0__0__Impl"
+    // InternalReportDSL.g:16330:1: rule__GridCell__Group_3_0__0__Impl : ( 'style' ) ;
+    public final void rule__GridCell__Group_3_0__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:16273:1: ( ( 'style' ) )
-            // InternalReportDSL.g:16274:1: ( 'style' )
+            // InternalReportDSL.g:16334:1: ( ( 'style' ) )
+            // InternalReportDSL.g:16335:1: ( 'style' )
             {
-            // InternalReportDSL.g:16274:1: ( 'style' )
-            // InternalReportDSL.g:16275:2: 'style'
+            // InternalReportDSL.g:16335:1: ( 'style' )
+            // InternalReportDSL.g:16336:2: 'style'
             {
             if ( state.backtracking==0 ) {
-               before(grammarAccess.getGridCellAccess().getStyleKeyword_3_0()); 
+               before(grammarAccess.getGridCellAccess().getStyleKeyword_3_0_0()); 
             }
-            match(input,152,FOLLOW_2); if (state.failed) return ;
+            match(input,158,FOLLOW_2); if (state.failed) return ;
             if ( state.backtracking==0 ) {
-               after(grammarAccess.getGridCellAccess().getStyleKeyword_3_0()); 
+               after(grammarAccess.getGridCellAccess().getStyleKeyword_3_0_0()); 
             }
 
             }
@@ -55081,21 +55220,21 @@
         }
         return ;
     }
-    // $ANTLR end "rule__GridCell__Group_3__0__Impl"
+    // $ANTLR end "rule__GridCell__Group_3_0__0__Impl"
 
 
-    // $ANTLR start "rule__GridCell__Group_3__1"
-    // InternalReportDSL.g:16284:1: rule__GridCell__Group_3__1 : rule__GridCell__Group_3__1__Impl ;
-    public final void rule__GridCell__Group_3__1() throws RecognitionException {
+    // $ANTLR start "rule__GridCell__Group_3_0__1"
+    // InternalReportDSL.g:16345:1: rule__GridCell__Group_3_0__1 : rule__GridCell__Group_3_0__1__Impl ;
+    public final void rule__GridCell__Group_3_0__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:16288:1: ( rule__GridCell__Group_3__1__Impl )
-            // InternalReportDSL.g:16289:2: rule__GridCell__Group_3__1__Impl
+            // InternalReportDSL.g:16349:1: ( rule__GridCell__Group_3_0__1__Impl )
+            // InternalReportDSL.g:16350:2: rule__GridCell__Group_3_0__1__Impl
             {
             pushFollow(FOLLOW_2);
-            rule__GridCell__Group_3__1__Impl();
+            rule__GridCell__Group_3_0__1__Impl();
 
             state._fsp--;
             if (state.failed) return ;
@@ -55114,30 +55253,30 @@
         }
         return ;
     }
-    // $ANTLR end "rule__GridCell__Group_3__1"
+    // $ANTLR end "rule__GridCell__Group_3_0__1"
 
 
-    // $ANTLR start "rule__GridCell__Group_3__1__Impl"
-    // InternalReportDSL.g:16295:1: rule__GridCell__Group_3__1__Impl : ( ( rule__GridCell__StyleAssignment_3_1 ) ) ;
-    public final void rule__GridCell__Group_3__1__Impl() throws RecognitionException {
+    // $ANTLR start "rule__GridCell__Group_3_0__1__Impl"
+    // InternalReportDSL.g:16356:1: rule__GridCell__Group_3_0__1__Impl : ( ( rule__GridCell__StyleAssignment_3_0_1 ) ) ;
+    public final void rule__GridCell__Group_3_0__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:16299:1: ( ( ( rule__GridCell__StyleAssignment_3_1 ) ) )
-            // InternalReportDSL.g:16300:1: ( ( rule__GridCell__StyleAssignment_3_1 ) )
+            // InternalReportDSL.g:16360:1: ( ( ( rule__GridCell__StyleAssignment_3_0_1 ) ) )
+            // InternalReportDSL.g:16361:1: ( ( rule__GridCell__StyleAssignment_3_0_1 ) )
             {
-            // InternalReportDSL.g:16300:1: ( ( rule__GridCell__StyleAssignment_3_1 ) )
-            // InternalReportDSL.g:16301:2: ( rule__GridCell__StyleAssignment_3_1 )
+            // InternalReportDSL.g:16361:1: ( ( rule__GridCell__StyleAssignment_3_0_1 ) )
+            // InternalReportDSL.g:16362:2: ( rule__GridCell__StyleAssignment_3_0_1 )
             {
             if ( state.backtracking==0 ) {
-               before(grammarAccess.getGridCellAccess().getStyleAssignment_3_1()); 
+               before(grammarAccess.getGridCellAccess().getStyleAssignment_3_0_1()); 
             }
-            // InternalReportDSL.g:16302:2: ( rule__GridCell__StyleAssignment_3_1 )
-            // InternalReportDSL.g:16302:3: rule__GridCell__StyleAssignment_3_1
+            // InternalReportDSL.g:16363:2: ( rule__GridCell__StyleAssignment_3_0_1 )
+            // InternalReportDSL.g:16363:3: rule__GridCell__StyleAssignment_3_0_1
             {
             pushFollow(FOLLOW_2);
-            rule__GridCell__StyleAssignment_3_1();
+            rule__GridCell__StyleAssignment_3_0_1();
 
             state._fsp--;
             if (state.failed) return ;
@@ -55145,7 +55284,7 @@
             }
 
             if ( state.backtracking==0 ) {
-               after(grammarAccess.getGridCellAccess().getStyleAssignment_3_1()); 
+               after(grammarAccess.getGridCellAccess().getStyleAssignment_3_0_1()); 
             }
 
             }
@@ -55165,26 +55304,26 @@
         }
         return ;
     }
-    // $ANTLR end "rule__GridCell__Group_3__1__Impl"
+    // $ANTLR end "rule__GridCell__Group_3_0__1__Impl"
 
 
-    // $ANTLR start "rule__GridCell__Group_4__0"
-    // InternalReportDSL.g:16311:1: rule__GridCell__Group_4__0 : rule__GridCell__Group_4__0__Impl rule__GridCell__Group_4__1 ;
-    public final void rule__GridCell__Group_4__0() throws RecognitionException {
+    // $ANTLR start "rule__GridCell__Group_3_1__0"
+    // InternalReportDSL.g:16372:1: rule__GridCell__Group_3_1__0 : rule__GridCell__Group_3_1__0__Impl rule__GridCell__Group_3_1__1 ;
+    public final void rule__GridCell__Group_3_1__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:16315:1: ( rule__GridCell__Group_4__0__Impl rule__GridCell__Group_4__1 )
-            // InternalReportDSL.g:16316:2: rule__GridCell__Group_4__0__Impl rule__GridCell__Group_4__1
+            // InternalReportDSL.g:16376:1: ( rule__GridCell__Group_3_1__0__Impl rule__GridCell__Group_3_1__1 )
+            // InternalReportDSL.g:16377:2: rule__GridCell__Group_3_1__0__Impl rule__GridCell__Group_3_1__1
             {
             pushFollow(FOLLOW_36);
-            rule__GridCell__Group_4__0__Impl();
+            rule__GridCell__Group_3_1__0__Impl();
 
             state._fsp--;
             if (state.failed) return ;
             pushFollow(FOLLOW_2);
-            rule__GridCell__Group_4__1();
+            rule__GridCell__Group_3_1__1();
 
             state._fsp--;
             if (state.failed) return ;
@@ -55203,28 +55342,28 @@
         }
         return ;
     }
-    // $ANTLR end "rule__GridCell__Group_4__0"
+    // $ANTLR end "rule__GridCell__Group_3_1__0"
 
 
-    // $ANTLR start "rule__GridCell__Group_4__0__Impl"
-    // InternalReportDSL.g:16323:1: rule__GridCell__Group_4__0__Impl : ( 'width' ) ;
-    public final void rule__GridCell__Group_4__0__Impl() throws RecognitionException {
+    // $ANTLR start "rule__GridCell__Group_3_1__0__Impl"
+    // InternalReportDSL.g:16384:1: rule__GridCell__Group_3_1__0__Impl : ( 'width' ) ;
+    public final void rule__GridCell__Group_3_1__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:16327:1: ( ( 'width' ) )
-            // InternalReportDSL.g:16328:1: ( 'width' )
+            // InternalReportDSL.g:16388:1: ( ( 'width' ) )
+            // InternalReportDSL.g:16389:1: ( 'width' )
             {
-            // InternalReportDSL.g:16328:1: ( 'width' )
-            // InternalReportDSL.g:16329:2: 'width'
+            // InternalReportDSL.g:16389:1: ( 'width' )
+            // InternalReportDSL.g:16390:2: 'width'
             {
             if ( state.backtracking==0 ) {
-               before(grammarAccess.getGridCellAccess().getWidthKeyword_4_0()); 
+               before(grammarAccess.getGridCellAccess().getWidthKeyword_3_1_0()); 
             }
-            match(input,190,FOLLOW_2); if (state.failed) return ;
+            match(input,197,FOLLOW_2); if (state.failed) return ;
             if ( state.backtracking==0 ) {
-               after(grammarAccess.getGridCellAccess().getWidthKeyword_4_0()); 
+               after(grammarAccess.getGridCellAccess().getWidthKeyword_3_1_0()); 
             }
 
             }
@@ -55244,21 +55383,21 @@
         }
         return ;
     }
-    // $ANTLR end "rule__GridCell__Group_4__0__Impl"
+    // $ANTLR end "rule__GridCell__Group_3_1__0__Impl"
 
 
-    // $ANTLR start "rule__GridCell__Group_4__1"
-    // InternalReportDSL.g:16338:1: rule__GridCell__Group_4__1 : rule__GridCell__Group_4__1__Impl ;
-    public final void rule__GridCell__Group_4__1() throws RecognitionException {
+    // $ANTLR start "rule__GridCell__Group_3_1__1"
+    // InternalReportDSL.g:16399:1: rule__GridCell__Group_3_1__1 : rule__GridCell__Group_3_1__1__Impl ;
+    public final void rule__GridCell__Group_3_1__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:16342:1: ( rule__GridCell__Group_4__1__Impl )
-            // InternalReportDSL.g:16343:2: rule__GridCell__Group_4__1__Impl
+            // InternalReportDSL.g:16403:1: ( rule__GridCell__Group_3_1__1__Impl )
+            // InternalReportDSL.g:16404:2: rule__GridCell__Group_3_1__1__Impl
             {
             pushFollow(FOLLOW_2);
-            rule__GridCell__Group_4__1__Impl();
+            rule__GridCell__Group_3_1__1__Impl();
 
             state._fsp--;
             if (state.failed) return ;
@@ -55277,30 +55416,30 @@
         }
         return ;
     }
-    // $ANTLR end "rule__GridCell__Group_4__1"
+    // $ANTLR end "rule__GridCell__Group_3_1__1"
 
 
-    // $ANTLR start "rule__GridCell__Group_4__1__Impl"
-    // InternalReportDSL.g:16349:1: rule__GridCell__Group_4__1__Impl : ( ( rule__GridCell__WidthValueAssignment_4_1 ) ) ;
-    public final void rule__GridCell__Group_4__1__Impl() throws RecognitionException {
+    // $ANTLR start "rule__GridCell__Group_3_1__1__Impl"
+    // InternalReportDSL.g:16410:1: rule__GridCell__Group_3_1__1__Impl : ( ( rule__GridCell__WidthValueAssignment_3_1_1 ) ) ;
+    public final void rule__GridCell__Group_3_1__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:16353:1: ( ( ( rule__GridCell__WidthValueAssignment_4_1 ) ) )
-            // InternalReportDSL.g:16354:1: ( ( rule__GridCell__WidthValueAssignment_4_1 ) )
+            // InternalReportDSL.g:16414:1: ( ( ( rule__GridCell__WidthValueAssignment_3_1_1 ) ) )
+            // InternalReportDSL.g:16415:1: ( ( rule__GridCell__WidthValueAssignment_3_1_1 ) )
             {
-            // InternalReportDSL.g:16354:1: ( ( rule__GridCell__WidthValueAssignment_4_1 ) )
-            // InternalReportDSL.g:16355:2: ( rule__GridCell__WidthValueAssignment_4_1 )
+            // InternalReportDSL.g:16415:1: ( ( rule__GridCell__WidthValueAssignment_3_1_1 ) )
+            // InternalReportDSL.g:16416:2: ( rule__GridCell__WidthValueAssignment_3_1_1 )
             {
             if ( state.backtracking==0 ) {
-               before(grammarAccess.getGridCellAccess().getWidthValueAssignment_4_1()); 
+               before(grammarAccess.getGridCellAccess().getWidthValueAssignment_3_1_1()); 
             }
-            // InternalReportDSL.g:16356:2: ( rule__GridCell__WidthValueAssignment_4_1 )
-            // InternalReportDSL.g:16356:3: rule__GridCell__WidthValueAssignment_4_1
+            // InternalReportDSL.g:16417:2: ( rule__GridCell__WidthValueAssignment_3_1_1 )
+            // InternalReportDSL.g:16417:3: rule__GridCell__WidthValueAssignment_3_1_1
             {
             pushFollow(FOLLOW_2);
-            rule__GridCell__WidthValueAssignment_4_1();
+            rule__GridCell__WidthValueAssignment_3_1_1();
 
             state._fsp--;
             if (state.failed) return ;
@@ -55308,7 +55447,7 @@
             }
 
             if ( state.backtracking==0 ) {
-               after(grammarAccess.getGridCellAccess().getWidthValueAssignment_4_1()); 
+               after(grammarAccess.getGridCellAccess().getWidthValueAssignment_3_1_1()); 
             }
 
             }
@@ -55328,26 +55467,26 @@
         }
         return ;
     }
-    // $ANTLR end "rule__GridCell__Group_4__1__Impl"
+    // $ANTLR end "rule__GridCell__Group_3_1__1__Impl"
 
 
-    // $ANTLR start "rule__GridCell__Group_5__0"
-    // InternalReportDSL.g:16365:1: rule__GridCell__Group_5__0 : rule__GridCell__Group_5__0__Impl rule__GridCell__Group_5__1 ;
-    public final void rule__GridCell__Group_5__0() throws RecognitionException {
+    // $ANTLR start "rule__GridCell__Group_3_2__0"
+    // InternalReportDSL.g:16426:1: rule__GridCell__Group_3_2__0 : rule__GridCell__Group_3_2__0__Impl rule__GridCell__Group_3_2__1 ;
+    public final void rule__GridCell__Group_3_2__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:16369:1: ( rule__GridCell__Group_5__0__Impl rule__GridCell__Group_5__1 )
-            // InternalReportDSL.g:16370:2: rule__GridCell__Group_5__0__Impl rule__GridCell__Group_5__1
+            // InternalReportDSL.g:16430:1: ( rule__GridCell__Group_3_2__0__Impl rule__GridCell__Group_3_2__1 )
+            // InternalReportDSL.g:16431:2: rule__GridCell__Group_3_2__0__Impl rule__GridCell__Group_3_2__1
             {
             pushFollow(FOLLOW_43);
-            rule__GridCell__Group_5__0__Impl();
+            rule__GridCell__Group_3_2__0__Impl();
 
             state._fsp--;
             if (state.failed) return ;
             pushFollow(FOLLOW_2);
-            rule__GridCell__Group_5__1();
+            rule__GridCell__Group_3_2__1();
 
             state._fsp--;
             if (state.failed) return ;
@@ -55366,28 +55505,28 @@
         }
         return ;
     }
-    // $ANTLR end "rule__GridCell__Group_5__0"
+    // $ANTLR end "rule__GridCell__Group_3_2__0"
 
 
-    // $ANTLR start "rule__GridCell__Group_5__0__Impl"
-    // InternalReportDSL.g:16377:1: rule__GridCell__Group_5__0__Impl : ( 'columnspan' ) ;
-    public final void rule__GridCell__Group_5__0__Impl() throws RecognitionException {
+    // $ANTLR start "rule__GridCell__Group_3_2__0__Impl"
+    // InternalReportDSL.g:16438:1: rule__GridCell__Group_3_2__0__Impl : ( 'columnspan' ) ;
+    public final void rule__GridCell__Group_3_2__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:16381:1: ( ( 'columnspan' ) )
-            // InternalReportDSL.g:16382:1: ( 'columnspan' )
+            // InternalReportDSL.g:16442:1: ( ( 'columnspan' ) )
+            // InternalReportDSL.g:16443:1: ( 'columnspan' )
             {
-            // InternalReportDSL.g:16382:1: ( 'columnspan' )
-            // InternalReportDSL.g:16383:2: 'columnspan'
+            // InternalReportDSL.g:16443:1: ( 'columnspan' )
+            // InternalReportDSL.g:16444:2: 'columnspan'
             {
             if ( state.backtracking==0 ) {
-               before(grammarAccess.getGridCellAccess().getColumnspanKeyword_5_0()); 
+               before(grammarAccess.getGridCellAccess().getColumnspanKeyword_3_2_0()); 
             }
-            match(input,193,FOLLOW_2); if (state.failed) return ;
+            match(input,200,FOLLOW_2); if (state.failed) return ;
             if ( state.backtracking==0 ) {
-               after(grammarAccess.getGridCellAccess().getColumnspanKeyword_5_0()); 
+               after(grammarAccess.getGridCellAccess().getColumnspanKeyword_3_2_0()); 
             }
 
             }
@@ -55407,21 +55546,21 @@
         }
         return ;
     }
-    // $ANTLR end "rule__GridCell__Group_5__0__Impl"
+    // $ANTLR end "rule__GridCell__Group_3_2__0__Impl"
 
 
-    // $ANTLR start "rule__GridCell__Group_5__1"
-    // InternalReportDSL.g:16392:1: rule__GridCell__Group_5__1 : rule__GridCell__Group_5__1__Impl ;
-    public final void rule__GridCell__Group_5__1() throws RecognitionException {
+    // $ANTLR start "rule__GridCell__Group_3_2__1"
+    // InternalReportDSL.g:16453:1: rule__GridCell__Group_3_2__1 : rule__GridCell__Group_3_2__1__Impl ;
+    public final void rule__GridCell__Group_3_2__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:16396:1: ( rule__GridCell__Group_5__1__Impl )
-            // InternalReportDSL.g:16397:2: rule__GridCell__Group_5__1__Impl
+            // InternalReportDSL.g:16457:1: ( rule__GridCell__Group_3_2__1__Impl )
+            // InternalReportDSL.g:16458:2: rule__GridCell__Group_3_2__1__Impl
             {
             pushFollow(FOLLOW_2);
-            rule__GridCell__Group_5__1__Impl();
+            rule__GridCell__Group_3_2__1__Impl();
 
             state._fsp--;
             if (state.failed) return ;
@@ -55440,30 +55579,30 @@
         }
         return ;
     }
-    // $ANTLR end "rule__GridCell__Group_5__1"
+    // $ANTLR end "rule__GridCell__Group_3_2__1"
 
 
-    // $ANTLR start "rule__GridCell__Group_5__1__Impl"
-    // InternalReportDSL.g:16403:1: rule__GridCell__Group_5__1__Impl : ( ( rule__GridCell__ColumnspanAssignment_5_1 ) ) ;
-    public final void rule__GridCell__Group_5__1__Impl() throws RecognitionException {
+    // $ANTLR start "rule__GridCell__Group_3_2__1__Impl"
+    // InternalReportDSL.g:16464:1: rule__GridCell__Group_3_2__1__Impl : ( ( rule__GridCell__ColumnspanAssignment_3_2_1 ) ) ;
+    public final void rule__GridCell__Group_3_2__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:16407:1: ( ( ( rule__GridCell__ColumnspanAssignment_5_1 ) ) )
-            // InternalReportDSL.g:16408:1: ( ( rule__GridCell__ColumnspanAssignment_5_1 ) )
+            // InternalReportDSL.g:16468:1: ( ( ( rule__GridCell__ColumnspanAssignment_3_2_1 ) ) )
+            // InternalReportDSL.g:16469:1: ( ( rule__GridCell__ColumnspanAssignment_3_2_1 ) )
             {
-            // InternalReportDSL.g:16408:1: ( ( rule__GridCell__ColumnspanAssignment_5_1 ) )
-            // InternalReportDSL.g:16409:2: ( rule__GridCell__ColumnspanAssignment_5_1 )
+            // InternalReportDSL.g:16469:1: ( ( rule__GridCell__ColumnspanAssignment_3_2_1 ) )
+            // InternalReportDSL.g:16470:2: ( rule__GridCell__ColumnspanAssignment_3_2_1 )
             {
             if ( state.backtracking==0 ) {
-               before(grammarAccess.getGridCellAccess().getColumnspanAssignment_5_1()); 
+               before(grammarAccess.getGridCellAccess().getColumnspanAssignment_3_2_1()); 
             }
-            // InternalReportDSL.g:16410:2: ( rule__GridCell__ColumnspanAssignment_5_1 )
-            // InternalReportDSL.g:16410:3: rule__GridCell__ColumnspanAssignment_5_1
+            // InternalReportDSL.g:16471:2: ( rule__GridCell__ColumnspanAssignment_3_2_1 )
+            // InternalReportDSL.g:16471:3: rule__GridCell__ColumnspanAssignment_3_2_1
             {
             pushFollow(FOLLOW_2);
-            rule__GridCell__ColumnspanAssignment_5_1();
+            rule__GridCell__ColumnspanAssignment_3_2_1();
 
             state._fsp--;
             if (state.failed) return ;
@@ -55471,7 +55610,7 @@
             }
 
             if ( state.backtracking==0 ) {
-               after(grammarAccess.getGridCellAccess().getColumnspanAssignment_5_1()); 
+               after(grammarAccess.getGridCellAccess().getColumnspanAssignment_3_2_1()); 
             }
 
             }
@@ -55491,20 +55630,20 @@
         }
         return ;
     }
-    // $ANTLR end "rule__GridCell__Group_5__1__Impl"
+    // $ANTLR end "rule__GridCell__Group_3_2__1__Impl"
 
 
     // $ANTLR start "rule__DatamartTable__Group__0"
-    // InternalReportDSL.g:16419:1: rule__DatamartTable__Group__0 : rule__DatamartTable__Group__0__Impl rule__DatamartTable__Group__1 ;
+    // InternalReportDSL.g:16480:1: rule__DatamartTable__Group__0 : rule__DatamartTable__Group__0__Impl rule__DatamartTable__Group__1 ;
     public final void rule__DatamartTable__Group__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:16423:1: ( rule__DatamartTable__Group__0__Impl rule__DatamartTable__Group__1 )
-            // InternalReportDSL.g:16424:2: rule__DatamartTable__Group__0__Impl rule__DatamartTable__Group__1
+            // InternalReportDSL.g:16484:1: ( rule__DatamartTable__Group__0__Impl rule__DatamartTable__Group__1 )
+            // InternalReportDSL.g:16485:2: rule__DatamartTable__Group__0__Impl rule__DatamartTable__Group__1
             {
-            pushFollow(FOLLOW_85);
+            pushFollow(FOLLOW_86);
             rule__DatamartTable__Group__0__Impl();
 
             state._fsp--;
@@ -55533,22 +55672,22 @@
 
 
     // $ANTLR start "rule__DatamartTable__Group__0__Impl"
-    // InternalReportDSL.g:16431:1: rule__DatamartTable__Group__0__Impl : ( 'table' ) ;
+    // InternalReportDSL.g:16492:1: rule__DatamartTable__Group__0__Impl : ( 'table' ) ;
     public final void rule__DatamartTable__Group__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:16435:1: ( ( 'table' ) )
-            // InternalReportDSL.g:16436:1: ( 'table' )
+            // InternalReportDSL.g:16496:1: ( ( 'table' ) )
+            // InternalReportDSL.g:16497:1: ( 'table' )
             {
-            // InternalReportDSL.g:16436:1: ( 'table' )
-            // InternalReportDSL.g:16437:2: 'table'
+            // InternalReportDSL.g:16497:1: ( 'table' )
+            // InternalReportDSL.g:16498:2: 'table'
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getDatamartTableAccess().getTableKeyword_0()); 
             }
-            match(input,194,FOLLOW_2); if (state.failed) return ;
+            match(input,201,FOLLOW_2); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getDatamartTableAccess().getTableKeyword_0()); 
             }
@@ -55574,16 +55713,16 @@
 
 
     // $ANTLR start "rule__DatamartTable__Group__1"
-    // InternalReportDSL.g:16446:1: rule__DatamartTable__Group__1 : rule__DatamartTable__Group__1__Impl rule__DatamartTable__Group__2 ;
+    // InternalReportDSL.g:16507:1: rule__DatamartTable__Group__1 : rule__DatamartTable__Group__1__Impl rule__DatamartTable__Group__2 ;
     public final void rule__DatamartTable__Group__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:16450:1: ( rule__DatamartTable__Group__1__Impl rule__DatamartTable__Group__2 )
-            // InternalReportDSL.g:16451:2: rule__DatamartTable__Group__1__Impl rule__DatamartTable__Group__2
+            // InternalReportDSL.g:16511:1: ( rule__DatamartTable__Group__1__Impl rule__DatamartTable__Group__2 )
+            // InternalReportDSL.g:16512:2: rule__DatamartTable__Group__1__Impl rule__DatamartTable__Group__2
             {
-            pushFollow(FOLLOW_85);
+            pushFollow(FOLLOW_86);
             rule__DatamartTable__Group__1__Impl();
 
             state._fsp--;
@@ -55612,31 +55751,31 @@
 
 
     // $ANTLR start "rule__DatamartTable__Group__1__Impl"
-    // InternalReportDSL.g:16458:1: rule__DatamartTable__Group__1__Impl : ( ( rule__DatamartTable__Group_1__0 )? ) ;
+    // InternalReportDSL.g:16519:1: rule__DatamartTable__Group__1__Impl : ( ( rule__DatamartTable__Group_1__0 )? ) ;
     public final void rule__DatamartTable__Group__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:16462:1: ( ( ( rule__DatamartTable__Group_1__0 )? ) )
-            // InternalReportDSL.g:16463:1: ( ( rule__DatamartTable__Group_1__0 )? )
+            // InternalReportDSL.g:16523:1: ( ( ( rule__DatamartTable__Group_1__0 )? ) )
+            // InternalReportDSL.g:16524:1: ( ( rule__DatamartTable__Group_1__0 )? )
             {
-            // InternalReportDSL.g:16463:1: ( ( rule__DatamartTable__Group_1__0 )? )
-            // InternalReportDSL.g:16464:2: ( rule__DatamartTable__Group_1__0 )?
+            // InternalReportDSL.g:16524:1: ( ( rule__DatamartTable__Group_1__0 )? )
+            // InternalReportDSL.g:16525:2: ( rule__DatamartTable__Group_1__0 )?
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getDatamartTableAccess().getGroup_1()); 
             }
-            // InternalReportDSL.g:16465:2: ( rule__DatamartTable__Group_1__0 )?
-            int alt123=2;
-            int LA123_0 = input.LA(1);
+            // InternalReportDSL.g:16526:2: ( rule__DatamartTable__Group_1__0 )?
+            int alt116=2;
+            int LA116_0 = input.LA(1);
 
-            if ( (LA123_0==152) ) {
-                alt123=1;
+            if ( (LA116_0==184) ) {
+                alt116=1;
             }
-            switch (alt123) {
+            switch (alt116) {
                 case 1 :
-                    // InternalReportDSL.g:16465:3: rule__DatamartTable__Group_1__0
+                    // InternalReportDSL.g:16526:3: rule__DatamartTable__Group_1__0
                     {
                     pushFollow(FOLLOW_2);
                     rule__DatamartTable__Group_1__0();
@@ -55674,16 +55813,16 @@
 
 
     // $ANTLR start "rule__DatamartTable__Group__2"
-    // InternalReportDSL.g:16473:1: rule__DatamartTable__Group__2 : rule__DatamartTable__Group__2__Impl rule__DatamartTable__Group__3 ;
+    // InternalReportDSL.g:16534:1: rule__DatamartTable__Group__2 : rule__DatamartTable__Group__2__Impl rule__DatamartTable__Group__3 ;
     public final void rule__DatamartTable__Group__2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:16477:1: ( rule__DatamartTable__Group__2__Impl rule__DatamartTable__Group__3 )
-            // InternalReportDSL.g:16478:2: rule__DatamartTable__Group__2__Impl rule__DatamartTable__Group__3
+            // InternalReportDSL.g:16538:1: ( rule__DatamartTable__Group__2__Impl rule__DatamartTable__Group__3 )
+            // InternalReportDSL.g:16539:2: rule__DatamartTable__Group__2__Impl rule__DatamartTable__Group__3
             {
-            pushFollow(FOLLOW_85);
+            pushFollow(FOLLOW_8);
             rule__DatamartTable__Group__2__Impl();
 
             state._fsp--;
@@ -55712,45 +55851,34 @@
 
 
     // $ANTLR start "rule__DatamartTable__Group__2__Impl"
-    // InternalReportDSL.g:16485:1: rule__DatamartTable__Group__2__Impl : ( ( rule__DatamartTable__VisibilityItemAssignment_2 )? ) ;
+    // InternalReportDSL.g:16546:1: rule__DatamartTable__Group__2__Impl : ( ( rule__DatamartTable__UnorderedGroup_2 ) ) ;
     public final void rule__DatamartTable__Group__2__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:16489:1: ( ( ( rule__DatamartTable__VisibilityItemAssignment_2 )? ) )
-            // InternalReportDSL.g:16490:1: ( ( rule__DatamartTable__VisibilityItemAssignment_2 )? )
+            // InternalReportDSL.g:16550:1: ( ( ( rule__DatamartTable__UnorderedGroup_2 ) ) )
+            // InternalReportDSL.g:16551:1: ( ( rule__DatamartTable__UnorderedGroup_2 ) )
             {
-            // InternalReportDSL.g:16490:1: ( ( rule__DatamartTable__VisibilityItemAssignment_2 )? )
-            // InternalReportDSL.g:16491:2: ( rule__DatamartTable__VisibilityItemAssignment_2 )?
+            // InternalReportDSL.g:16551:1: ( ( rule__DatamartTable__UnorderedGroup_2 ) )
+            // InternalReportDSL.g:16552:2: ( rule__DatamartTable__UnorderedGroup_2 )
             {
             if ( state.backtracking==0 ) {
-               before(grammarAccess.getDatamartTableAccess().getVisibilityItemAssignment_2()); 
+               before(grammarAccess.getDatamartTableAccess().getUnorderedGroup_2()); 
             }
-            // InternalReportDSL.g:16492:2: ( rule__DatamartTable__VisibilityItemAssignment_2 )?
-            int alt124=2;
-            int LA124_0 = input.LA(1);
+            // InternalReportDSL.g:16553:2: ( rule__DatamartTable__UnorderedGroup_2 )
+            // InternalReportDSL.g:16553:3: rule__DatamartTable__UnorderedGroup_2
+            {
+            pushFollow(FOLLOW_2);
+            rule__DatamartTable__UnorderedGroup_2();
 
-            if ( (LA124_0==260) ) {
-                alt124=1;
-            }
-            switch (alt124) {
-                case 1 :
-                    // InternalReportDSL.g:16492:3: rule__DatamartTable__VisibilityItemAssignment_2
-                    {
-                    pushFollow(FOLLOW_2);
-                    rule__DatamartTable__VisibilityItemAssignment_2();
-
-                    state._fsp--;
-                    if (state.failed) return ;
-
-                    }
-                    break;
+            state._fsp--;
+            if (state.failed) return ;
 
             }
 
             if ( state.backtracking==0 ) {
-               after(grammarAccess.getDatamartTableAccess().getVisibilityItemAssignment_2()); 
+               after(grammarAccess.getDatamartTableAccess().getUnorderedGroup_2()); 
             }
 
             }
@@ -55774,16 +55902,16 @@
 
 
     // $ANTLR start "rule__DatamartTable__Group__3"
-    // InternalReportDSL.g:16500:1: rule__DatamartTable__Group__3 : rule__DatamartTable__Group__3__Impl rule__DatamartTable__Group__4 ;
+    // InternalReportDSL.g:16561:1: rule__DatamartTable__Group__3 : rule__DatamartTable__Group__3__Impl rule__DatamartTable__Group__4 ;
     public final void rule__DatamartTable__Group__3() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:16504:1: ( rule__DatamartTable__Group__3__Impl rule__DatamartTable__Group__4 )
-            // InternalReportDSL.g:16505:2: rule__DatamartTable__Group__3__Impl rule__DatamartTable__Group__4
+            // InternalReportDSL.g:16565:1: ( rule__DatamartTable__Group__3__Impl rule__DatamartTable__Group__4 )
+            // InternalReportDSL.g:16566:2: rule__DatamartTable__Group__3__Impl rule__DatamartTable__Group__4
             {
-            pushFollow(FOLLOW_85);
+            pushFollow(FOLLOW_87);
             rule__DatamartTable__Group__3__Impl();
 
             state._fsp--;
@@ -55812,45 +55940,24 @@
 
 
     // $ANTLR start "rule__DatamartTable__Group__3__Impl"
-    // InternalReportDSL.g:16512:1: rule__DatamartTable__Group__3__Impl : ( ( rule__DatamartTable__PageBreakAssignment_3 )? ) ;
+    // InternalReportDSL.g:16573:1: rule__DatamartTable__Group__3__Impl : ( '{' ) ;
     public final void rule__DatamartTable__Group__3__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:16516:1: ( ( ( rule__DatamartTable__PageBreakAssignment_3 )? ) )
-            // InternalReportDSL.g:16517:1: ( ( rule__DatamartTable__PageBreakAssignment_3 )? )
+            // InternalReportDSL.g:16577:1: ( ( '{' ) )
+            // InternalReportDSL.g:16578:1: ( '{' )
             {
-            // InternalReportDSL.g:16517:1: ( ( rule__DatamartTable__PageBreakAssignment_3 )? )
-            // InternalReportDSL.g:16518:2: ( rule__DatamartTable__PageBreakAssignment_3 )?
+            // InternalReportDSL.g:16578:1: ( '{' )
+            // InternalReportDSL.g:16579:2: '{'
             {
             if ( state.backtracking==0 ) {
-               before(grammarAccess.getDatamartTableAccess().getPageBreakAssignment_3()); 
+               before(grammarAccess.getDatamartTableAccess().getLeftCurlyBracketKeyword_3()); 
             }
-            // InternalReportDSL.g:16519:2: ( rule__DatamartTable__PageBreakAssignment_3 )?
-            int alt125=2;
-            int LA125_0 = input.LA(1);
-
-            if ( (LA125_0==209) ) {
-                alt125=1;
-            }
-            switch (alt125) {
-                case 1 :
-                    // InternalReportDSL.g:16519:3: rule__DatamartTable__PageBreakAssignment_3
-                    {
-                    pushFollow(FOLLOW_2);
-                    rule__DatamartTable__PageBreakAssignment_3();
-
-                    state._fsp--;
-                    if (state.failed) return ;
-
-                    }
-                    break;
-
-            }
-
+            match(input,131,FOLLOW_2); if (state.failed) return ;
             if ( state.backtracking==0 ) {
-               after(grammarAccess.getDatamartTableAccess().getPageBreakAssignment_3()); 
+               after(grammarAccess.getDatamartTableAccess().getLeftCurlyBracketKeyword_3()); 
             }
 
             }
@@ -55874,16 +55981,16 @@
 
 
     // $ANTLR start "rule__DatamartTable__Group__4"
-    // InternalReportDSL.g:16527:1: rule__DatamartTable__Group__4 : rule__DatamartTable__Group__4__Impl rule__DatamartTable__Group__5 ;
+    // InternalReportDSL.g:16588:1: rule__DatamartTable__Group__4 : rule__DatamartTable__Group__4__Impl rule__DatamartTable__Group__5 ;
     public final void rule__DatamartTable__Group__4() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:16531:1: ( rule__DatamartTable__Group__4__Impl rule__DatamartTable__Group__5 )
-            // InternalReportDSL.g:16532:2: rule__DatamartTable__Group__4__Impl rule__DatamartTable__Group__5
+            // InternalReportDSL.g:16592:1: ( rule__DatamartTable__Group__4__Impl rule__DatamartTable__Group__5 )
+            // InternalReportDSL.g:16593:2: rule__DatamartTable__Group__4__Impl rule__DatamartTable__Group__5
             {
-            pushFollow(FOLLOW_86);
+            pushFollow(FOLLOW_87);
             rule__DatamartTable__Group__4__Impl();
 
             state._fsp--;
@@ -55912,24 +56019,45 @@
 
 
     // $ANTLR start "rule__DatamartTable__Group__4__Impl"
-    // InternalReportDSL.g:16539:1: rule__DatamartTable__Group__4__Impl : ( '{' ) ;
+    // InternalReportDSL.g:16600:1: rule__DatamartTable__Group__4__Impl : ( ( rule__DatamartTable__HeaderAssignment_4 )? ) ;
     public final void rule__DatamartTable__Group__4__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:16543:1: ( ( '{' ) )
-            // InternalReportDSL.g:16544:1: ( '{' )
+            // InternalReportDSL.g:16604:1: ( ( ( rule__DatamartTable__HeaderAssignment_4 )? ) )
+            // InternalReportDSL.g:16605:1: ( ( rule__DatamartTable__HeaderAssignment_4 )? )
             {
-            // InternalReportDSL.g:16544:1: ( '{' )
-            // InternalReportDSL.g:16545:2: '{'
+            // InternalReportDSL.g:16605:1: ( ( rule__DatamartTable__HeaderAssignment_4 )? )
+            // InternalReportDSL.g:16606:2: ( rule__DatamartTable__HeaderAssignment_4 )?
             {
             if ( state.backtracking==0 ) {
-               before(grammarAccess.getDatamartTableAccess().getLeftCurlyBracketKeyword_4()); 
+               before(grammarAccess.getDatamartTableAccess().getHeaderAssignment_4()); 
             }
-            match(input,125,FOLLOW_2); if (state.failed) return ;
+            // InternalReportDSL.g:16607:2: ( rule__DatamartTable__HeaderAssignment_4 )?
+            int alt117=2;
+            int LA117_0 = input.LA(1);
+
+            if ( (LA117_0==191) ) {
+                alt117=1;
+            }
+            switch (alt117) {
+                case 1 :
+                    // InternalReportDSL.g:16607:3: rule__DatamartTable__HeaderAssignment_4
+                    {
+                    pushFollow(FOLLOW_2);
+                    rule__DatamartTable__HeaderAssignment_4();
+
+                    state._fsp--;
+                    if (state.failed) return ;
+
+                    }
+                    break;
+
+            }
+
             if ( state.backtracking==0 ) {
-               after(grammarAccess.getDatamartTableAccess().getLeftCurlyBracketKeyword_4()); 
+               after(grammarAccess.getDatamartTableAccess().getHeaderAssignment_4()); 
             }
 
             }
@@ -55953,16 +56081,16 @@
 
 
     // $ANTLR start "rule__DatamartTable__Group__5"
-    // InternalReportDSL.g:16554:1: rule__DatamartTable__Group__5 : rule__DatamartTable__Group__5__Impl rule__DatamartTable__Group__6 ;
+    // InternalReportDSL.g:16615:1: rule__DatamartTable__Group__5 : rule__DatamartTable__Group__5__Impl rule__DatamartTable__Group__6 ;
     public final void rule__DatamartTable__Group__5() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:16558:1: ( rule__DatamartTable__Group__5__Impl rule__DatamartTable__Group__6 )
-            // InternalReportDSL.g:16559:2: rule__DatamartTable__Group__5__Impl rule__DatamartTable__Group__6
+            // InternalReportDSL.g:16619:1: ( rule__DatamartTable__Group__5__Impl rule__DatamartTable__Group__6 )
+            // InternalReportDSL.g:16620:2: rule__DatamartTable__Group__5__Impl rule__DatamartTable__Group__6
             {
-            pushFollow(FOLLOW_86);
+            pushFollow(FOLLOW_87);
             rule__DatamartTable__Group__5__Impl();
 
             state._fsp--;
@@ -55991,45 +56119,52 @@
 
 
     // $ANTLR start "rule__DatamartTable__Group__5__Impl"
-    // InternalReportDSL.g:16566:1: rule__DatamartTable__Group__5__Impl : ( ( rule__DatamartTable__Group_5__0 )? ) ;
+    // InternalReportDSL.g:16627:1: rule__DatamartTable__Group__5__Impl : ( ( rule__DatamartTable__GroupsAssignment_5 )* ) ;
     public final void rule__DatamartTable__Group__5__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:16570:1: ( ( ( rule__DatamartTable__Group_5__0 )? ) )
-            // InternalReportDSL.g:16571:1: ( ( rule__DatamartTable__Group_5__0 )? )
+            // InternalReportDSL.g:16631:1: ( ( ( rule__DatamartTable__GroupsAssignment_5 )* ) )
+            // InternalReportDSL.g:16632:1: ( ( rule__DatamartTable__GroupsAssignment_5 )* )
             {
-            // InternalReportDSL.g:16571:1: ( ( rule__DatamartTable__Group_5__0 )? )
-            // InternalReportDSL.g:16572:2: ( rule__DatamartTable__Group_5__0 )?
+            // InternalReportDSL.g:16632:1: ( ( rule__DatamartTable__GroupsAssignment_5 )* )
+            // InternalReportDSL.g:16633:2: ( rule__DatamartTable__GroupsAssignment_5 )*
             {
             if ( state.backtracking==0 ) {
-               before(grammarAccess.getDatamartTableAccess().getGroup_5()); 
+               before(grammarAccess.getDatamartTableAccess().getGroupsAssignment_5()); 
             }
-            // InternalReportDSL.g:16573:2: ( rule__DatamartTable__Group_5__0 )?
-            int alt126=2;
-            int LA126_0 = input.LA(1);
+            // InternalReportDSL.g:16634:2: ( rule__DatamartTable__GroupsAssignment_5 )*
+            loop118:
+            do {
+                int alt118=2;
+                int LA118_0 = input.LA(1);
 
-            if ( (LA126_0==257) ) {
-                alt126=1;
-            }
-            switch (alt126) {
-                case 1 :
-                    // InternalReportDSL.g:16573:3: rule__DatamartTable__Group_5__0
-                    {
-                    pushFollow(FOLLOW_2);
-                    rule__DatamartTable__Group_5__0();
+                if ( (LA118_0==202) ) {
+                    alt118=1;
+                }
 
-                    state._fsp--;
-                    if (state.failed) return ;
 
-                    }
-                    break;
+                switch (alt118) {
+            	case 1 :
+            	    // InternalReportDSL.g:16634:3: rule__DatamartTable__GroupsAssignment_5
+            	    {
+            	    pushFollow(FOLLOW_88);
+            	    rule__DatamartTable__GroupsAssignment_5();
 
-            }
+            	    state._fsp--;
+            	    if (state.failed) return ;
+
+            	    }
+            	    break;
+
+            	default :
+            	    break loop118;
+                }
+            } while (true);
 
             if ( state.backtracking==0 ) {
-               after(grammarAccess.getDatamartTableAccess().getGroup_5()); 
+               after(grammarAccess.getDatamartTableAccess().getGroupsAssignment_5()); 
             }
 
             }
@@ -56053,16 +56188,16 @@
 
 
     // $ANTLR start "rule__DatamartTable__Group__6"
-    // InternalReportDSL.g:16581:1: rule__DatamartTable__Group__6 : rule__DatamartTable__Group__6__Impl rule__DatamartTable__Group__7 ;
+    // InternalReportDSL.g:16642:1: rule__DatamartTable__Group__6 : rule__DatamartTable__Group__6__Impl rule__DatamartTable__Group__7 ;
     public final void rule__DatamartTable__Group__6() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:16585:1: ( rule__DatamartTable__Group__6__Impl rule__DatamartTable__Group__7 )
-            // InternalReportDSL.g:16586:2: rule__DatamartTable__Group__6__Impl rule__DatamartTable__Group__7
+            // InternalReportDSL.g:16646:1: ( rule__DatamartTable__Group__6__Impl rule__DatamartTable__Group__7 )
+            // InternalReportDSL.g:16647:2: rule__DatamartTable__Group__6__Impl rule__DatamartTable__Group__7
             {
-            pushFollow(FOLLOW_86);
+            pushFollow(FOLLOW_69);
             rule__DatamartTable__Group__6__Impl();
 
             state._fsp--;
@@ -56091,45 +56226,34 @@
 
 
     // $ANTLR start "rule__DatamartTable__Group__6__Impl"
-    // InternalReportDSL.g:16593:1: rule__DatamartTable__Group__6__Impl : ( ( rule__DatamartTable__Group_6__0 )? ) ;
+    // InternalReportDSL.g:16654:1: rule__DatamartTable__Group__6__Impl : ( ( rule__DatamartTable__DetailAssignment_6 ) ) ;
     public final void rule__DatamartTable__Group__6__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:16597:1: ( ( ( rule__DatamartTable__Group_6__0 )? ) )
-            // InternalReportDSL.g:16598:1: ( ( rule__DatamartTable__Group_6__0 )? )
+            // InternalReportDSL.g:16658:1: ( ( ( rule__DatamartTable__DetailAssignment_6 ) ) )
+            // InternalReportDSL.g:16659:1: ( ( rule__DatamartTable__DetailAssignment_6 ) )
             {
-            // InternalReportDSL.g:16598:1: ( ( rule__DatamartTable__Group_6__0 )? )
-            // InternalReportDSL.g:16599:2: ( rule__DatamartTable__Group_6__0 )?
+            // InternalReportDSL.g:16659:1: ( ( rule__DatamartTable__DetailAssignment_6 ) )
+            // InternalReportDSL.g:16660:2: ( rule__DatamartTable__DetailAssignment_6 )
             {
             if ( state.backtracking==0 ) {
-               before(grammarAccess.getDatamartTableAccess().getGroup_6()); 
+               before(grammarAccess.getDatamartTableAccess().getDetailAssignment_6()); 
             }
-            // InternalReportDSL.g:16600:2: ( rule__DatamartTable__Group_6__0 )?
-            int alt127=2;
-            int LA127_0 = input.LA(1);
+            // InternalReportDSL.g:16661:2: ( rule__DatamartTable__DetailAssignment_6 )
+            // InternalReportDSL.g:16661:3: rule__DatamartTable__DetailAssignment_6
+            {
+            pushFollow(FOLLOW_2);
+            rule__DatamartTable__DetailAssignment_6();
 
-            if ( (LA127_0==258) ) {
-                alt127=1;
-            }
-            switch (alt127) {
-                case 1 :
-                    // InternalReportDSL.g:16600:3: rule__DatamartTable__Group_6__0
-                    {
-                    pushFollow(FOLLOW_2);
-                    rule__DatamartTable__Group_6__0();
-
-                    state._fsp--;
-                    if (state.failed) return ;
-
-                    }
-                    break;
+            state._fsp--;
+            if (state.failed) return ;
 
             }
 
             if ( state.backtracking==0 ) {
-               after(grammarAccess.getDatamartTableAccess().getGroup_6()); 
+               after(grammarAccess.getDatamartTableAccess().getDetailAssignment_6()); 
             }
 
             }
@@ -56153,16 +56277,16 @@
 
 
     // $ANTLR start "rule__DatamartTable__Group__7"
-    // InternalReportDSL.g:16608:1: rule__DatamartTable__Group__7 : rule__DatamartTable__Group__7__Impl rule__DatamartTable__Group__8 ;
+    // InternalReportDSL.g:16669:1: rule__DatamartTable__Group__7 : rule__DatamartTable__Group__7__Impl rule__DatamartTable__Group__8 ;
     public final void rule__DatamartTable__Group__7() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:16612:1: ( rule__DatamartTable__Group__7__Impl rule__DatamartTable__Group__8 )
-            // InternalReportDSL.g:16613:2: rule__DatamartTable__Group__7__Impl rule__DatamartTable__Group__8
+            // InternalReportDSL.g:16673:1: ( rule__DatamartTable__Group__7__Impl rule__DatamartTable__Group__8 )
+            // InternalReportDSL.g:16674:2: rule__DatamartTable__Group__7__Impl rule__DatamartTable__Group__8
             {
-            pushFollow(FOLLOW_86);
+            pushFollow(FOLLOW_69);
             rule__DatamartTable__Group__7__Impl();
 
             state._fsp--;
@@ -56191,52 +56315,45 @@
 
 
     // $ANTLR start "rule__DatamartTable__Group__7__Impl"
-    // InternalReportDSL.g:16620:1: rule__DatamartTable__Group__7__Impl : ( ( rule__DatamartTable__GroupsAssignment_7 )* ) ;
+    // InternalReportDSL.g:16681:1: rule__DatamartTable__Group__7__Impl : ( ( rule__DatamartTable__FooterAssignment_7 )? ) ;
     public final void rule__DatamartTable__Group__7__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:16624:1: ( ( ( rule__DatamartTable__GroupsAssignment_7 )* ) )
-            // InternalReportDSL.g:16625:1: ( ( rule__DatamartTable__GroupsAssignment_7 )* )
+            // InternalReportDSL.g:16685:1: ( ( ( rule__DatamartTable__FooterAssignment_7 )? ) )
+            // InternalReportDSL.g:16686:1: ( ( rule__DatamartTable__FooterAssignment_7 )? )
             {
-            // InternalReportDSL.g:16625:1: ( ( rule__DatamartTable__GroupsAssignment_7 )* )
-            // InternalReportDSL.g:16626:2: ( rule__DatamartTable__GroupsAssignment_7 )*
+            // InternalReportDSL.g:16686:1: ( ( rule__DatamartTable__FooterAssignment_7 )? )
+            // InternalReportDSL.g:16687:2: ( rule__DatamartTable__FooterAssignment_7 )?
             {
             if ( state.backtracking==0 ) {
-               before(grammarAccess.getDatamartTableAccess().getGroupsAssignment_7()); 
+               before(grammarAccess.getDatamartTableAccess().getFooterAssignment_7()); 
             }
-            // InternalReportDSL.g:16627:2: ( rule__DatamartTable__GroupsAssignment_7 )*
-            loop128:
-            do {
-                int alt128=2;
-                int LA128_0 = input.LA(1);
+            // InternalReportDSL.g:16688:2: ( rule__DatamartTable__FooterAssignment_7 )?
+            int alt119=2;
+            int LA119_0 = input.LA(1);
 
-                if ( (LA128_0==195) ) {
-                    alt128=1;
-                }
+            if ( (LA119_0==194) ) {
+                alt119=1;
+            }
+            switch (alt119) {
+                case 1 :
+                    // InternalReportDSL.g:16688:3: rule__DatamartTable__FooterAssignment_7
+                    {
+                    pushFollow(FOLLOW_2);
+                    rule__DatamartTable__FooterAssignment_7();
 
+                    state._fsp--;
+                    if (state.failed) return ;
 
-                switch (alt128) {
-            	case 1 :
-            	    // InternalReportDSL.g:16627:3: rule__DatamartTable__GroupsAssignment_7
-            	    {
-            	    pushFollow(FOLLOW_87);
-            	    rule__DatamartTable__GroupsAssignment_7();
+                    }
+                    break;
 
-            	    state._fsp--;
-            	    if (state.failed) return ;
-
-            	    }
-            	    break;
-
-            	default :
-            	    break loop128;
-                }
-            } while (true);
+            }
 
             if ( state.backtracking==0 ) {
-               after(grammarAccess.getDatamartTableAccess().getGroupsAssignment_7()); 
+               after(grammarAccess.getDatamartTableAccess().getFooterAssignment_7()); 
             }
 
             }
@@ -56260,22 +56377,17 @@
 
 
     // $ANTLR start "rule__DatamartTable__Group__8"
-    // InternalReportDSL.g:16635:1: rule__DatamartTable__Group__8 : rule__DatamartTable__Group__8__Impl rule__DatamartTable__Group__9 ;
+    // InternalReportDSL.g:16696:1: rule__DatamartTable__Group__8 : rule__DatamartTable__Group__8__Impl ;
     public final void rule__DatamartTable__Group__8() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:16639:1: ( rule__DatamartTable__Group__8__Impl rule__DatamartTable__Group__9 )
-            // InternalReportDSL.g:16640:2: rule__DatamartTable__Group__8__Impl rule__DatamartTable__Group__9
+            // InternalReportDSL.g:16700:1: ( rule__DatamartTable__Group__8__Impl )
+            // InternalReportDSL.g:16701:2: rule__DatamartTable__Group__8__Impl
             {
-            pushFollow(FOLLOW_17);
-            rule__DatamartTable__Group__8__Impl();
-
-            state._fsp--;
-            if (state.failed) return ;
             pushFollow(FOLLOW_2);
-            rule__DatamartTable__Group__9();
+            rule__DatamartTable__Group__8__Impl();
 
             state._fsp--;
             if (state.failed) return ;
@@ -56298,34 +56410,24 @@
 
 
     // $ANTLR start "rule__DatamartTable__Group__8__Impl"
-    // InternalReportDSL.g:16647:1: rule__DatamartTable__Group__8__Impl : ( ( rule__DatamartTable__DetailAssignment_8 ) ) ;
+    // InternalReportDSL.g:16707:1: rule__DatamartTable__Group__8__Impl : ( '}' ) ;
     public final void rule__DatamartTable__Group__8__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:16651:1: ( ( ( rule__DatamartTable__DetailAssignment_8 ) ) )
-            // InternalReportDSL.g:16652:1: ( ( rule__DatamartTable__DetailAssignment_8 ) )
+            // InternalReportDSL.g:16711:1: ( ( '}' ) )
+            // InternalReportDSL.g:16712:1: ( '}' )
             {
-            // InternalReportDSL.g:16652:1: ( ( rule__DatamartTable__DetailAssignment_8 ) )
-            // InternalReportDSL.g:16653:2: ( rule__DatamartTable__DetailAssignment_8 )
+            // InternalReportDSL.g:16712:1: ( '}' )
+            // InternalReportDSL.g:16713:2: '}'
             {
             if ( state.backtracking==0 ) {
-               before(grammarAccess.getDatamartTableAccess().getDetailAssignment_8()); 
+               before(grammarAccess.getDatamartTableAccess().getRightCurlyBracketKeyword_8()); 
             }
-            // InternalReportDSL.g:16654:2: ( rule__DatamartTable__DetailAssignment_8 )
-            // InternalReportDSL.g:16654:3: rule__DatamartTable__DetailAssignment_8
-            {
-            pushFollow(FOLLOW_2);
-            rule__DatamartTable__DetailAssignment_8();
-
-            state._fsp--;
-            if (state.failed) return ;
-
-            }
-
+            match(input,132,FOLLOW_2); if (state.failed) return ;
             if ( state.backtracking==0 ) {
-               after(grammarAccess.getDatamartTableAccess().getDetailAssignment_8()); 
+               after(grammarAccess.getDatamartTableAccess().getRightCurlyBracketKeyword_8()); 
             }
 
             }
@@ -56348,89 +56450,15 @@
     // $ANTLR end "rule__DatamartTable__Group__8__Impl"
 
 
-    // $ANTLR start "rule__DatamartTable__Group__9"
-    // InternalReportDSL.g:16662:1: rule__DatamartTable__Group__9 : rule__DatamartTable__Group__9__Impl ;
-    public final void rule__DatamartTable__Group__9() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-        	
-        try {
-            // InternalReportDSL.g:16666:1: ( rule__DatamartTable__Group__9__Impl )
-            // InternalReportDSL.g:16667:2: rule__DatamartTable__Group__9__Impl
-            {
-            pushFollow(FOLLOW_2);
-            rule__DatamartTable__Group__9__Impl();
-
-            state._fsp--;
-            if (state.failed) return ;
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__DatamartTable__Group__9"
-
-
-    // $ANTLR start "rule__DatamartTable__Group__9__Impl"
-    // InternalReportDSL.g:16673:1: rule__DatamartTable__Group__9__Impl : ( '}' ) ;
-    public final void rule__DatamartTable__Group__9__Impl() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-        	
-        try {
-            // InternalReportDSL.g:16677:1: ( ( '}' ) )
-            // InternalReportDSL.g:16678:1: ( '}' )
-            {
-            // InternalReportDSL.g:16678:1: ( '}' )
-            // InternalReportDSL.g:16679:2: '}'
-            {
-            if ( state.backtracking==0 ) {
-               before(grammarAccess.getDatamartTableAccess().getRightCurlyBracketKeyword_9()); 
-            }
-            match(input,126,FOLLOW_2); if (state.failed) return ;
-            if ( state.backtracking==0 ) {
-               after(grammarAccess.getDatamartTableAccess().getRightCurlyBracketKeyword_9()); 
-            }
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__DatamartTable__Group__9__Impl"
-
-
     // $ANTLR start "rule__DatamartTable__Group_1__0"
-    // InternalReportDSL.g:16689:1: rule__DatamartTable__Group_1__0 : rule__DatamartTable__Group_1__0__Impl rule__DatamartTable__Group_1__1 ;
+    // InternalReportDSL.g:16723:1: rule__DatamartTable__Group_1__0 : rule__DatamartTable__Group_1__0__Impl rule__DatamartTable__Group_1__1 ;
     public final void rule__DatamartTable__Group_1__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:16693:1: ( rule__DatamartTable__Group_1__0__Impl rule__DatamartTable__Group_1__1 )
-            // InternalReportDSL.g:16694:2: rule__DatamartTable__Group_1__0__Impl rule__DatamartTable__Group_1__1
+            // InternalReportDSL.g:16727:1: ( rule__DatamartTable__Group_1__0__Impl rule__DatamartTable__Group_1__1 )
+            // InternalReportDSL.g:16728:2: rule__DatamartTable__Group_1__0__Impl rule__DatamartTable__Group_1__1
             {
             pushFollow(FOLLOW_7);
             rule__DatamartTable__Group_1__0__Impl();
@@ -56461,24 +56489,24 @@
 
 
     // $ANTLR start "rule__DatamartTable__Group_1__0__Impl"
-    // InternalReportDSL.g:16701:1: rule__DatamartTable__Group_1__0__Impl : ( 'style' ) ;
+    // InternalReportDSL.g:16735:1: rule__DatamartTable__Group_1__0__Impl : ( 'datamart' ) ;
     public final void rule__DatamartTable__Group_1__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:16705:1: ( ( 'style' ) )
-            // InternalReportDSL.g:16706:1: ( 'style' )
+            // InternalReportDSL.g:16739:1: ( ( 'datamart' ) )
+            // InternalReportDSL.g:16740:1: ( 'datamart' )
             {
-            // InternalReportDSL.g:16706:1: ( 'style' )
-            // InternalReportDSL.g:16707:2: 'style'
+            // InternalReportDSL.g:16740:1: ( 'datamart' )
+            // InternalReportDSL.g:16741:2: 'datamart'
             {
             if ( state.backtracking==0 ) {
-               before(grammarAccess.getDatamartTableAccess().getStyleKeyword_1_0()); 
+               before(grammarAccess.getDatamartTableAccess().getDatamartKeyword_1_0()); 
             }
-            match(input,152,FOLLOW_2); if (state.failed) return ;
+            match(input,184,FOLLOW_2); if (state.failed) return ;
             if ( state.backtracking==0 ) {
-               after(grammarAccess.getDatamartTableAccess().getStyleKeyword_1_0()); 
+               after(grammarAccess.getDatamartTableAccess().getDatamartKeyword_1_0()); 
             }
 
             }
@@ -56502,20 +56530,25 @@
 
 
     // $ANTLR start "rule__DatamartTable__Group_1__1"
-    // InternalReportDSL.g:16716:1: rule__DatamartTable__Group_1__1 : rule__DatamartTable__Group_1__1__Impl ;
+    // InternalReportDSL.g:16750:1: rule__DatamartTable__Group_1__1 : rule__DatamartTable__Group_1__1__Impl rule__DatamartTable__Group_1__2 ;
     public final void rule__DatamartTable__Group_1__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:16720:1: ( rule__DatamartTable__Group_1__1__Impl )
-            // InternalReportDSL.g:16721:2: rule__DatamartTable__Group_1__1__Impl
+            // InternalReportDSL.g:16754:1: ( rule__DatamartTable__Group_1__1__Impl rule__DatamartTable__Group_1__2 )
+            // InternalReportDSL.g:16755:2: rule__DatamartTable__Group_1__1__Impl rule__DatamartTable__Group_1__2
             {
-            pushFollow(FOLLOW_2);
+            pushFollow(FOLLOW_89);
             rule__DatamartTable__Group_1__1__Impl();
 
             state._fsp--;
             if (state.failed) return ;
+            pushFollow(FOLLOW_2);
+            rule__DatamartTable__Group_1__2();
+
+            state._fsp--;
+            if (state.failed) return ;
 
             }
 
@@ -56535,26 +56568,26 @@
 
 
     // $ANTLR start "rule__DatamartTable__Group_1__1__Impl"
-    // InternalReportDSL.g:16727:1: rule__DatamartTable__Group_1__1__Impl : ( ( rule__DatamartTable__StyleAssignment_1_1 ) ) ;
+    // InternalReportDSL.g:16762:1: rule__DatamartTable__Group_1__1__Impl : ( ( rule__DatamartTable__DatamartRefAssignment_1_1 ) ) ;
     public final void rule__DatamartTable__Group_1__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:16731:1: ( ( ( rule__DatamartTable__StyleAssignment_1_1 ) ) )
-            // InternalReportDSL.g:16732:1: ( ( rule__DatamartTable__StyleAssignment_1_1 ) )
+            // InternalReportDSL.g:16766:1: ( ( ( rule__DatamartTable__DatamartRefAssignment_1_1 ) ) )
+            // InternalReportDSL.g:16767:1: ( ( rule__DatamartTable__DatamartRefAssignment_1_1 ) )
             {
-            // InternalReportDSL.g:16732:1: ( ( rule__DatamartTable__StyleAssignment_1_1 ) )
-            // InternalReportDSL.g:16733:2: ( rule__DatamartTable__StyleAssignment_1_1 )
+            // InternalReportDSL.g:16767:1: ( ( rule__DatamartTable__DatamartRefAssignment_1_1 ) )
+            // InternalReportDSL.g:16768:2: ( rule__DatamartTable__DatamartRefAssignment_1_1 )
             {
             if ( state.backtracking==0 ) {
-               before(grammarAccess.getDatamartTableAccess().getStyleAssignment_1_1()); 
+               before(grammarAccess.getDatamartTableAccess().getDatamartRefAssignment_1_1()); 
             }
-            // InternalReportDSL.g:16734:2: ( rule__DatamartTable__StyleAssignment_1_1 )
-            // InternalReportDSL.g:16734:3: rule__DatamartTable__StyleAssignment_1_1
+            // InternalReportDSL.g:16769:2: ( rule__DatamartTable__DatamartRefAssignment_1_1 )
+            // InternalReportDSL.g:16769:3: rule__DatamartTable__DatamartRefAssignment_1_1
             {
             pushFollow(FOLLOW_2);
-            rule__DatamartTable__StyleAssignment_1_1();
+            rule__DatamartTable__DatamartRefAssignment_1_1();
 
             state._fsp--;
             if (state.failed) return ;
@@ -56562,7 +56595,7 @@
             }
 
             if ( state.backtracking==0 ) {
-               after(grammarAccess.getDatamartTableAccess().getStyleAssignment_1_1()); 
+               after(grammarAccess.getDatamartTableAccess().getDatamartRefAssignment_1_1()); 
             }
 
             }
@@ -56585,23 +56618,18 @@
     // $ANTLR end "rule__DatamartTable__Group_1__1__Impl"
 
 
-    // $ANTLR start "rule__DatamartTable__Group_5__0"
-    // InternalReportDSL.g:16743:1: rule__DatamartTable__Group_5__0 : rule__DatamartTable__Group_5__0__Impl rule__DatamartTable__Group_5__1 ;
-    public final void rule__DatamartTable__Group_5__0() throws RecognitionException {
+    // $ANTLR start "rule__DatamartTable__Group_1__2"
+    // InternalReportDSL.g:16777:1: rule__DatamartTable__Group_1__2 : rule__DatamartTable__Group_1__2__Impl ;
+    public final void rule__DatamartTable__Group_1__2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:16747:1: ( rule__DatamartTable__Group_5__0__Impl rule__DatamartTable__Group_5__1 )
-            // InternalReportDSL.g:16748:2: rule__DatamartTable__Group_5__0__Impl rule__DatamartTable__Group_5__1
+            // InternalReportDSL.g:16781:1: ( rule__DatamartTable__Group_1__2__Impl )
+            // InternalReportDSL.g:16782:2: rule__DatamartTable__Group_1__2__Impl
             {
-            pushFollow(FOLLOW_88);
-            rule__DatamartTable__Group_5__0__Impl();
-
-            state._fsp--;
-            if (state.failed) return ;
             pushFollow(FOLLOW_2);
-            rule__DatamartTable__Group_5__1();
+            rule__DatamartTable__Group_1__2__Impl();
 
             state._fsp--;
             if (state.failed) return ;
@@ -56620,122 +56648,38 @@
         }
         return ;
     }
-    // $ANTLR end "rule__DatamartTable__Group_5__0"
+    // $ANTLR end "rule__DatamartTable__Group_1__2"
 
 
-    // $ANTLR start "rule__DatamartTable__Group_5__0__Impl"
-    // InternalReportDSL.g:16755:1: rule__DatamartTable__Group_5__0__Impl : ( ( rule__DatamartTable__DetailheaderAssignment_5_0 ) ) ;
-    public final void rule__DatamartTable__Group_5__0__Impl() throws RecognitionException {
+    // $ANTLR start "rule__DatamartTable__Group_1__2__Impl"
+    // InternalReportDSL.g:16788:1: rule__DatamartTable__Group_1__2__Impl : ( ( rule__DatamartTable__Group_1_2__0 )? ) ;
+    public final void rule__DatamartTable__Group_1__2__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:16759:1: ( ( ( rule__DatamartTable__DetailheaderAssignment_5_0 ) ) )
-            // InternalReportDSL.g:16760:1: ( ( rule__DatamartTable__DetailheaderAssignment_5_0 ) )
+            // InternalReportDSL.g:16792:1: ( ( ( rule__DatamartTable__Group_1_2__0 )? ) )
+            // InternalReportDSL.g:16793:1: ( ( rule__DatamartTable__Group_1_2__0 )? )
             {
-            // InternalReportDSL.g:16760:1: ( ( rule__DatamartTable__DetailheaderAssignment_5_0 ) )
-            // InternalReportDSL.g:16761:2: ( rule__DatamartTable__DetailheaderAssignment_5_0 )
+            // InternalReportDSL.g:16793:1: ( ( rule__DatamartTable__Group_1_2__0 )? )
+            // InternalReportDSL.g:16794:2: ( rule__DatamartTable__Group_1_2__0 )?
             {
             if ( state.backtracking==0 ) {
-               before(grammarAccess.getDatamartTableAccess().getDetailheaderAssignment_5_0()); 
+               before(grammarAccess.getDatamartTableAccess().getGroup_1_2()); 
             }
-            // InternalReportDSL.g:16762:2: ( rule__DatamartTable__DetailheaderAssignment_5_0 )
-            // InternalReportDSL.g:16762:3: rule__DatamartTable__DetailheaderAssignment_5_0
-            {
-            pushFollow(FOLLOW_2);
-            rule__DatamartTable__DetailheaderAssignment_5_0();
+            // InternalReportDSL.g:16795:2: ( rule__DatamartTable__Group_1_2__0 )?
+            int alt120=2;
+            int LA120_0 = input.LA(1);
 
-            state._fsp--;
-            if (state.failed) return ;
-
+            if ( (LA120_0==196) ) {
+                alt120=1;
             }
-
-            if ( state.backtracking==0 ) {
-               after(grammarAccess.getDatamartTableAccess().getDetailheaderAssignment_5_0()); 
-            }
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__DatamartTable__Group_5__0__Impl"
-
-
-    // $ANTLR start "rule__DatamartTable__Group_5__1"
-    // InternalReportDSL.g:16770:1: rule__DatamartTable__Group_5__1 : rule__DatamartTable__Group_5__1__Impl ;
-    public final void rule__DatamartTable__Group_5__1() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-        	
-        try {
-            // InternalReportDSL.g:16774:1: ( rule__DatamartTable__Group_5__1__Impl )
-            // InternalReportDSL.g:16775:2: rule__DatamartTable__Group_5__1__Impl
-            {
-            pushFollow(FOLLOW_2);
-            rule__DatamartTable__Group_5__1__Impl();
-
-            state._fsp--;
-            if (state.failed) return ;
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__DatamartTable__Group_5__1"
-
-
-    // $ANTLR start "rule__DatamartTable__Group_5__1__Impl"
-    // InternalReportDSL.g:16781:1: rule__DatamartTable__Group_5__1__Impl : ( ( rule__DatamartTable__Group_5_1__0 )? ) ;
-    public final void rule__DatamartTable__Group_5__1__Impl() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-        	
-        try {
-            // InternalReportDSL.g:16785:1: ( ( ( rule__DatamartTable__Group_5_1__0 )? ) )
-            // InternalReportDSL.g:16786:1: ( ( rule__DatamartTable__Group_5_1__0 )? )
-            {
-            // InternalReportDSL.g:16786:1: ( ( rule__DatamartTable__Group_5_1__0 )? )
-            // InternalReportDSL.g:16787:2: ( rule__DatamartTable__Group_5_1__0 )?
-            {
-            if ( state.backtracking==0 ) {
-               before(grammarAccess.getDatamartTableAccess().getGroup_5_1()); 
-            }
-            // InternalReportDSL.g:16788:2: ( rule__DatamartTable__Group_5_1__0 )?
-            int alt129=2;
-            int LA129_0 = input.LA(1);
-
-            if ( (LA129_0==152) ) {
-                alt129=1;
-            }
-            switch (alt129) {
+            switch (alt120) {
                 case 1 :
-                    // InternalReportDSL.g:16788:3: rule__DatamartTable__Group_5_1__0
+                    // InternalReportDSL.g:16795:3: rule__DatamartTable__Group_1_2__0
                     {
                     pushFollow(FOLLOW_2);
-                    rule__DatamartTable__Group_5_1__0();
+                    rule__DatamartTable__Group_1_2__0();
 
                     state._fsp--;
                     if (state.failed) return ;
@@ -56746,7 +56690,7 @@
             }
 
             if ( state.backtracking==0 ) {
-               after(grammarAccess.getDatamartTableAccess().getGroup_5_1()); 
+               after(grammarAccess.getDatamartTableAccess().getGroup_1_2()); 
             }
 
             }
@@ -56766,26 +56710,26 @@
         }
         return ;
     }
-    // $ANTLR end "rule__DatamartTable__Group_5__1__Impl"
+    // $ANTLR end "rule__DatamartTable__Group_1__2__Impl"
 
 
-    // $ANTLR start "rule__DatamartTable__Group_5_1__0"
-    // InternalReportDSL.g:16797:1: rule__DatamartTable__Group_5_1__0 : rule__DatamartTable__Group_5_1__0__Impl rule__DatamartTable__Group_5_1__1 ;
-    public final void rule__DatamartTable__Group_5_1__0() throws RecognitionException {
+    // $ANTLR start "rule__DatamartTable__Group_1_2__0"
+    // InternalReportDSL.g:16804:1: rule__DatamartTable__Group_1_2__0 : rule__DatamartTable__Group_1_2__0__Impl rule__DatamartTable__Group_1_2__1 ;
+    public final void rule__DatamartTable__Group_1_2__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:16801:1: ( rule__DatamartTable__Group_5_1__0__Impl rule__DatamartTable__Group_5_1__1 )
-            // InternalReportDSL.g:16802:2: rule__DatamartTable__Group_5_1__0__Impl rule__DatamartTable__Group_5_1__1
+            // InternalReportDSL.g:16808:1: ( rule__DatamartTable__Group_1_2__0__Impl rule__DatamartTable__Group_1_2__1 )
+            // InternalReportDSL.g:16809:2: rule__DatamartTable__Group_1_2__0__Impl rule__DatamartTable__Group_1_2__1
             {
             pushFollow(FOLLOW_7);
-            rule__DatamartTable__Group_5_1__0__Impl();
+            rule__DatamartTable__Group_1_2__0__Impl();
 
             state._fsp--;
             if (state.failed) return ;
             pushFollow(FOLLOW_2);
-            rule__DatamartTable__Group_5_1__1();
+            rule__DatamartTable__Group_1_2__1();
 
             state._fsp--;
             if (state.failed) return ;
@@ -56804,28 +56748,28 @@
         }
         return ;
     }
-    // $ANTLR end "rule__DatamartTable__Group_5_1__0"
+    // $ANTLR end "rule__DatamartTable__Group_1_2__0"
 
 
-    // $ANTLR start "rule__DatamartTable__Group_5_1__0__Impl"
-    // InternalReportDSL.g:16809:1: rule__DatamartTable__Group_5_1__0__Impl : ( 'style' ) ;
-    public final void rule__DatamartTable__Group_5_1__0__Impl() throws RecognitionException {
+    // $ANTLR start "rule__DatamartTable__Group_1_2__0__Impl"
+    // InternalReportDSL.g:16816:1: rule__DatamartTable__Group_1_2__0__Impl : ( 'as' ) ;
+    public final void rule__DatamartTable__Group_1_2__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:16813:1: ( ( 'style' ) )
-            // InternalReportDSL.g:16814:1: ( 'style' )
+            // InternalReportDSL.g:16820:1: ( ( 'as' ) )
+            // InternalReportDSL.g:16821:1: ( 'as' )
             {
-            // InternalReportDSL.g:16814:1: ( 'style' )
-            // InternalReportDSL.g:16815:2: 'style'
+            // InternalReportDSL.g:16821:1: ( 'as' )
+            // InternalReportDSL.g:16822:2: 'as'
             {
             if ( state.backtracking==0 ) {
-               before(grammarAccess.getDatamartTableAccess().getStyleKeyword_5_1_0()); 
+               before(grammarAccess.getDatamartTableAccess().getAsKeyword_1_2_0()); 
             }
-            match(input,152,FOLLOW_2); if (state.failed) return ;
+            match(input,196,FOLLOW_2); if (state.failed) return ;
             if ( state.backtracking==0 ) {
-               after(grammarAccess.getDatamartTableAccess().getStyleKeyword_5_1_0()); 
+               after(grammarAccess.getDatamartTableAccess().getAsKeyword_1_2_0()); 
             }
 
             }
@@ -56845,21 +56789,21 @@
         }
         return ;
     }
-    // $ANTLR end "rule__DatamartTable__Group_5_1__0__Impl"
+    // $ANTLR end "rule__DatamartTable__Group_1_2__0__Impl"
 
 
-    // $ANTLR start "rule__DatamartTable__Group_5_1__1"
-    // InternalReportDSL.g:16824:1: rule__DatamartTable__Group_5_1__1 : rule__DatamartTable__Group_5_1__1__Impl ;
-    public final void rule__DatamartTable__Group_5_1__1() throws RecognitionException {
+    // $ANTLR start "rule__DatamartTable__Group_1_2__1"
+    // InternalReportDSL.g:16831:1: rule__DatamartTable__Group_1_2__1 : rule__DatamartTable__Group_1_2__1__Impl ;
+    public final void rule__DatamartTable__Group_1_2__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:16828:1: ( rule__DatamartTable__Group_5_1__1__Impl )
-            // InternalReportDSL.g:16829:2: rule__DatamartTable__Group_5_1__1__Impl
+            // InternalReportDSL.g:16835:1: ( rule__DatamartTable__Group_1_2__1__Impl )
+            // InternalReportDSL.g:16836:2: rule__DatamartTable__Group_1_2__1__Impl
             {
             pushFollow(FOLLOW_2);
-            rule__DatamartTable__Group_5_1__1__Impl();
+            rule__DatamartTable__Group_1_2__1__Impl();
 
             state._fsp--;
             if (state.failed) return ;
@@ -56878,30 +56822,30 @@
         }
         return ;
     }
-    // $ANTLR end "rule__DatamartTable__Group_5_1__1"
+    // $ANTLR end "rule__DatamartTable__Group_1_2__1"
 
 
-    // $ANTLR start "rule__DatamartTable__Group_5_1__1__Impl"
-    // InternalReportDSL.g:16835:1: rule__DatamartTable__Group_5_1__1__Impl : ( ( rule__DatamartTable__HeaderstyleAssignment_5_1_1 ) ) ;
-    public final void rule__DatamartTable__Group_5_1__1__Impl() throws RecognitionException {
+    // $ANTLR start "rule__DatamartTable__Group_1_2__1__Impl"
+    // InternalReportDSL.g:16842:1: rule__DatamartTable__Group_1_2__1__Impl : ( ( rule__DatamartTable__NameAssignment_1_2_1 ) ) ;
+    public final void rule__DatamartTable__Group_1_2__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:16839:1: ( ( ( rule__DatamartTable__HeaderstyleAssignment_5_1_1 ) ) )
-            // InternalReportDSL.g:16840:1: ( ( rule__DatamartTable__HeaderstyleAssignment_5_1_1 ) )
+            // InternalReportDSL.g:16846:1: ( ( ( rule__DatamartTable__NameAssignment_1_2_1 ) ) )
+            // InternalReportDSL.g:16847:1: ( ( rule__DatamartTable__NameAssignment_1_2_1 ) )
             {
-            // InternalReportDSL.g:16840:1: ( ( rule__DatamartTable__HeaderstyleAssignment_5_1_1 ) )
-            // InternalReportDSL.g:16841:2: ( rule__DatamartTable__HeaderstyleAssignment_5_1_1 )
+            // InternalReportDSL.g:16847:1: ( ( rule__DatamartTable__NameAssignment_1_2_1 ) )
+            // InternalReportDSL.g:16848:2: ( rule__DatamartTable__NameAssignment_1_2_1 )
             {
             if ( state.backtracking==0 ) {
-               before(grammarAccess.getDatamartTableAccess().getHeaderstyleAssignment_5_1_1()); 
+               before(grammarAccess.getDatamartTableAccess().getNameAssignment_1_2_1()); 
             }
-            // InternalReportDSL.g:16842:2: ( rule__DatamartTable__HeaderstyleAssignment_5_1_1 )
-            // InternalReportDSL.g:16842:3: rule__DatamartTable__HeaderstyleAssignment_5_1_1
+            // InternalReportDSL.g:16849:2: ( rule__DatamartTable__NameAssignment_1_2_1 )
+            // InternalReportDSL.g:16849:3: rule__DatamartTable__NameAssignment_1_2_1
             {
             pushFollow(FOLLOW_2);
-            rule__DatamartTable__HeaderstyleAssignment_5_1_1();
+            rule__DatamartTable__NameAssignment_1_2_1();
 
             state._fsp--;
             if (state.failed) return ;
@@ -56909,7 +56853,7 @@
             }
 
             if ( state.backtracking==0 ) {
-               after(grammarAccess.getDatamartTableAccess().getHeaderstyleAssignment_5_1_1()); 
+               after(grammarAccess.getDatamartTableAccess().getNameAssignment_1_2_1()); 
             }
 
             }
@@ -56929,210 +56873,26 @@
         }
         return ;
     }
-    // $ANTLR end "rule__DatamartTable__Group_5_1__1__Impl"
+    // $ANTLR end "rule__DatamartTable__Group_1_2__1__Impl"
 
 
-    // $ANTLR start "rule__DatamartTable__Group_6__0"
-    // InternalReportDSL.g:16851:1: rule__DatamartTable__Group_6__0 : rule__DatamartTable__Group_6__0__Impl rule__DatamartTable__Group_6__1 ;
-    public final void rule__DatamartTable__Group_6__0() throws RecognitionException {
+    // $ANTLR start "rule__DatamartTable__Group_2_0__0"
+    // InternalReportDSL.g:16858:1: rule__DatamartTable__Group_2_0__0 : rule__DatamartTable__Group_2_0__0__Impl rule__DatamartTable__Group_2_0__1 ;
+    public final void rule__DatamartTable__Group_2_0__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:16855:1: ( rule__DatamartTable__Group_6__0__Impl rule__DatamartTable__Group_6__1 )
-            // InternalReportDSL.g:16856:2: rule__DatamartTable__Group_6__0__Impl rule__DatamartTable__Group_6__1
-            {
-            pushFollow(FOLLOW_88);
-            rule__DatamartTable__Group_6__0__Impl();
-
-            state._fsp--;
-            if (state.failed) return ;
-            pushFollow(FOLLOW_2);
-            rule__DatamartTable__Group_6__1();
-
-            state._fsp--;
-            if (state.failed) return ;
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__DatamartTable__Group_6__0"
-
-
-    // $ANTLR start "rule__DatamartTable__Group_6__0__Impl"
-    // InternalReportDSL.g:16863:1: rule__DatamartTable__Group_6__0__Impl : ( ( rule__DatamartTable__DetailfooterAssignment_6_0 ) ) ;
-    public final void rule__DatamartTable__Group_6__0__Impl() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-        	
-        try {
-            // InternalReportDSL.g:16867:1: ( ( ( rule__DatamartTable__DetailfooterAssignment_6_0 ) ) )
-            // InternalReportDSL.g:16868:1: ( ( rule__DatamartTable__DetailfooterAssignment_6_0 ) )
-            {
-            // InternalReportDSL.g:16868:1: ( ( rule__DatamartTable__DetailfooterAssignment_6_0 ) )
-            // InternalReportDSL.g:16869:2: ( rule__DatamartTable__DetailfooterAssignment_6_0 )
-            {
-            if ( state.backtracking==0 ) {
-               before(grammarAccess.getDatamartTableAccess().getDetailfooterAssignment_6_0()); 
-            }
-            // InternalReportDSL.g:16870:2: ( rule__DatamartTable__DetailfooterAssignment_6_0 )
-            // InternalReportDSL.g:16870:3: rule__DatamartTable__DetailfooterAssignment_6_0
-            {
-            pushFollow(FOLLOW_2);
-            rule__DatamartTable__DetailfooterAssignment_6_0();
-
-            state._fsp--;
-            if (state.failed) return ;
-
-            }
-
-            if ( state.backtracking==0 ) {
-               after(grammarAccess.getDatamartTableAccess().getDetailfooterAssignment_6_0()); 
-            }
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__DatamartTable__Group_6__0__Impl"
-
-
-    // $ANTLR start "rule__DatamartTable__Group_6__1"
-    // InternalReportDSL.g:16878:1: rule__DatamartTable__Group_6__1 : rule__DatamartTable__Group_6__1__Impl ;
-    public final void rule__DatamartTable__Group_6__1() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-        	
-        try {
-            // InternalReportDSL.g:16882:1: ( rule__DatamartTable__Group_6__1__Impl )
-            // InternalReportDSL.g:16883:2: rule__DatamartTable__Group_6__1__Impl
-            {
-            pushFollow(FOLLOW_2);
-            rule__DatamartTable__Group_6__1__Impl();
-
-            state._fsp--;
-            if (state.failed) return ;
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__DatamartTable__Group_6__1"
-
-
-    // $ANTLR start "rule__DatamartTable__Group_6__1__Impl"
-    // InternalReportDSL.g:16889:1: rule__DatamartTable__Group_6__1__Impl : ( ( rule__DatamartTable__Group_6_1__0 )? ) ;
-    public final void rule__DatamartTable__Group_6__1__Impl() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-        	
-        try {
-            // InternalReportDSL.g:16893:1: ( ( ( rule__DatamartTable__Group_6_1__0 )? ) )
-            // InternalReportDSL.g:16894:1: ( ( rule__DatamartTable__Group_6_1__0 )? )
-            {
-            // InternalReportDSL.g:16894:1: ( ( rule__DatamartTable__Group_6_1__0 )? )
-            // InternalReportDSL.g:16895:2: ( rule__DatamartTable__Group_6_1__0 )?
-            {
-            if ( state.backtracking==0 ) {
-               before(grammarAccess.getDatamartTableAccess().getGroup_6_1()); 
-            }
-            // InternalReportDSL.g:16896:2: ( rule__DatamartTable__Group_6_1__0 )?
-            int alt130=2;
-            int LA130_0 = input.LA(1);
-
-            if ( (LA130_0==152) ) {
-                alt130=1;
-            }
-            switch (alt130) {
-                case 1 :
-                    // InternalReportDSL.g:16896:3: rule__DatamartTable__Group_6_1__0
-                    {
-                    pushFollow(FOLLOW_2);
-                    rule__DatamartTable__Group_6_1__0();
-
-                    state._fsp--;
-                    if (state.failed) return ;
-
-                    }
-                    break;
-
-            }
-
-            if ( state.backtracking==0 ) {
-               after(grammarAccess.getDatamartTableAccess().getGroup_6_1()); 
-            }
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__DatamartTable__Group_6__1__Impl"
-
-
-    // $ANTLR start "rule__DatamartTable__Group_6_1__0"
-    // InternalReportDSL.g:16905:1: rule__DatamartTable__Group_6_1__0 : rule__DatamartTable__Group_6_1__0__Impl rule__DatamartTable__Group_6_1__1 ;
-    public final void rule__DatamartTable__Group_6_1__0() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-        	
-        try {
-            // InternalReportDSL.g:16909:1: ( rule__DatamartTable__Group_6_1__0__Impl rule__DatamartTable__Group_6_1__1 )
-            // InternalReportDSL.g:16910:2: rule__DatamartTable__Group_6_1__0__Impl rule__DatamartTable__Group_6_1__1
+            // InternalReportDSL.g:16862:1: ( rule__DatamartTable__Group_2_0__0__Impl rule__DatamartTable__Group_2_0__1 )
+            // InternalReportDSL.g:16863:2: rule__DatamartTable__Group_2_0__0__Impl rule__DatamartTable__Group_2_0__1
             {
             pushFollow(FOLLOW_7);
-            rule__DatamartTable__Group_6_1__0__Impl();
+            rule__DatamartTable__Group_2_0__0__Impl();
 
             state._fsp--;
             if (state.failed) return ;
             pushFollow(FOLLOW_2);
-            rule__DatamartTable__Group_6_1__1();
+            rule__DatamartTable__Group_2_0__1();
 
             state._fsp--;
             if (state.failed) return ;
@@ -57151,28 +56911,28 @@
         }
         return ;
     }
-    // $ANTLR end "rule__DatamartTable__Group_6_1__0"
+    // $ANTLR end "rule__DatamartTable__Group_2_0__0"
 
 
-    // $ANTLR start "rule__DatamartTable__Group_6_1__0__Impl"
-    // InternalReportDSL.g:16917:1: rule__DatamartTable__Group_6_1__0__Impl : ( 'style' ) ;
-    public final void rule__DatamartTable__Group_6_1__0__Impl() throws RecognitionException {
+    // $ANTLR start "rule__DatamartTable__Group_2_0__0__Impl"
+    // InternalReportDSL.g:16870:1: rule__DatamartTable__Group_2_0__0__Impl : ( 'style' ) ;
+    public final void rule__DatamartTable__Group_2_0__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:16921:1: ( ( 'style' ) )
-            // InternalReportDSL.g:16922:1: ( 'style' )
+            // InternalReportDSL.g:16874:1: ( ( 'style' ) )
+            // InternalReportDSL.g:16875:1: ( 'style' )
             {
-            // InternalReportDSL.g:16922:1: ( 'style' )
-            // InternalReportDSL.g:16923:2: 'style'
+            // InternalReportDSL.g:16875:1: ( 'style' )
+            // InternalReportDSL.g:16876:2: 'style'
             {
             if ( state.backtracking==0 ) {
-               before(grammarAccess.getDatamartTableAccess().getStyleKeyword_6_1_0()); 
+               before(grammarAccess.getDatamartTableAccess().getStyleKeyword_2_0_0()); 
             }
-            match(input,152,FOLLOW_2); if (state.failed) return ;
+            match(input,158,FOLLOW_2); if (state.failed) return ;
             if ( state.backtracking==0 ) {
-               after(grammarAccess.getDatamartTableAccess().getStyleKeyword_6_1_0()); 
+               after(grammarAccess.getDatamartTableAccess().getStyleKeyword_2_0_0()); 
             }
 
             }
@@ -57192,21 +56952,21 @@
         }
         return ;
     }
-    // $ANTLR end "rule__DatamartTable__Group_6_1__0__Impl"
+    // $ANTLR end "rule__DatamartTable__Group_2_0__0__Impl"
 
 
-    // $ANTLR start "rule__DatamartTable__Group_6_1__1"
-    // InternalReportDSL.g:16932:1: rule__DatamartTable__Group_6_1__1 : rule__DatamartTable__Group_6_1__1__Impl ;
-    public final void rule__DatamartTable__Group_6_1__1() throws RecognitionException {
+    // $ANTLR start "rule__DatamartTable__Group_2_0__1"
+    // InternalReportDSL.g:16885:1: rule__DatamartTable__Group_2_0__1 : rule__DatamartTable__Group_2_0__1__Impl ;
+    public final void rule__DatamartTable__Group_2_0__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:16936:1: ( rule__DatamartTable__Group_6_1__1__Impl )
-            // InternalReportDSL.g:16937:2: rule__DatamartTable__Group_6_1__1__Impl
+            // InternalReportDSL.g:16889:1: ( rule__DatamartTable__Group_2_0__1__Impl )
+            // InternalReportDSL.g:16890:2: rule__DatamartTable__Group_2_0__1__Impl
             {
             pushFollow(FOLLOW_2);
-            rule__DatamartTable__Group_6_1__1__Impl();
+            rule__DatamartTable__Group_2_0__1__Impl();
 
             state._fsp--;
             if (state.failed) return ;
@@ -57225,30 +56985,30 @@
         }
         return ;
     }
-    // $ANTLR end "rule__DatamartTable__Group_6_1__1"
+    // $ANTLR end "rule__DatamartTable__Group_2_0__1"
 
 
-    // $ANTLR start "rule__DatamartTable__Group_6_1__1__Impl"
-    // InternalReportDSL.g:16943:1: rule__DatamartTable__Group_6_1__1__Impl : ( ( rule__DatamartTable__FooterstyleAssignment_6_1_1 ) ) ;
-    public final void rule__DatamartTable__Group_6_1__1__Impl() throws RecognitionException {
+    // $ANTLR start "rule__DatamartTable__Group_2_0__1__Impl"
+    // InternalReportDSL.g:16896:1: rule__DatamartTable__Group_2_0__1__Impl : ( ( rule__DatamartTable__StyleAssignment_2_0_1 ) ) ;
+    public final void rule__DatamartTable__Group_2_0__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:16947:1: ( ( ( rule__DatamartTable__FooterstyleAssignment_6_1_1 ) ) )
-            // InternalReportDSL.g:16948:1: ( ( rule__DatamartTable__FooterstyleAssignment_6_1_1 ) )
+            // InternalReportDSL.g:16900:1: ( ( ( rule__DatamartTable__StyleAssignment_2_0_1 ) ) )
+            // InternalReportDSL.g:16901:1: ( ( rule__DatamartTable__StyleAssignment_2_0_1 ) )
             {
-            // InternalReportDSL.g:16948:1: ( ( rule__DatamartTable__FooterstyleAssignment_6_1_1 ) )
-            // InternalReportDSL.g:16949:2: ( rule__DatamartTable__FooterstyleAssignment_6_1_1 )
+            // InternalReportDSL.g:16901:1: ( ( rule__DatamartTable__StyleAssignment_2_0_1 ) )
+            // InternalReportDSL.g:16902:2: ( rule__DatamartTable__StyleAssignment_2_0_1 )
             {
             if ( state.backtracking==0 ) {
-               before(grammarAccess.getDatamartTableAccess().getFooterstyleAssignment_6_1_1()); 
+               before(grammarAccess.getDatamartTableAccess().getStyleAssignment_2_0_1()); 
             }
-            // InternalReportDSL.g:16950:2: ( rule__DatamartTable__FooterstyleAssignment_6_1_1 )
-            // InternalReportDSL.g:16950:3: rule__DatamartTable__FooterstyleAssignment_6_1_1
+            // InternalReportDSL.g:16903:2: ( rule__DatamartTable__StyleAssignment_2_0_1 )
+            // InternalReportDSL.g:16903:3: rule__DatamartTable__StyleAssignment_2_0_1
             {
             pushFollow(FOLLOW_2);
-            rule__DatamartTable__FooterstyleAssignment_6_1_1();
+            rule__DatamartTable__StyleAssignment_2_0_1();
 
             state._fsp--;
             if (state.failed) return ;
@@ -57256,7 +57016,7 @@
             }
 
             if ( state.backtracking==0 ) {
-               after(grammarAccess.getDatamartTableAccess().getFooterstyleAssignment_6_1_1()); 
+               after(grammarAccess.getDatamartTableAccess().getStyleAssignment_2_0_1()); 
             }
 
             }
@@ -57276,18 +57036,18 @@
         }
         return ;
     }
-    // $ANTLR end "rule__DatamartTable__Group_6_1__1__Impl"
+    // $ANTLR end "rule__DatamartTable__Group_2_0__1__Impl"
 
 
     // $ANTLR start "rule__DatamartTableGroup__Group__0"
-    // InternalReportDSL.g:16959:1: rule__DatamartTableGroup__Group__0 : rule__DatamartTableGroup__Group__0__Impl rule__DatamartTableGroup__Group__1 ;
+    // InternalReportDSL.g:16912:1: rule__DatamartTableGroup__Group__0 : rule__DatamartTableGroup__Group__0__Impl rule__DatamartTableGroup__Group__1 ;
     public final void rule__DatamartTableGroup__Group__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:16963:1: ( rule__DatamartTableGroup__Group__0__Impl rule__DatamartTableGroup__Group__1 )
-            // InternalReportDSL.g:16964:2: rule__DatamartTableGroup__Group__0__Impl rule__DatamartTableGroup__Group__1
+            // InternalReportDSL.g:16916:1: ( rule__DatamartTableGroup__Group__0__Impl rule__DatamartTableGroup__Group__1 )
+            // InternalReportDSL.g:16917:2: rule__DatamartTableGroup__Group__0__Impl rule__DatamartTableGroup__Group__1
             {
             pushFollow(FOLLOW_7);
             rule__DatamartTableGroup__Group__0__Impl();
@@ -57318,22 +57078,22 @@
 
 
     // $ANTLR start "rule__DatamartTableGroup__Group__0__Impl"
-    // InternalReportDSL.g:16971:1: rule__DatamartTableGroup__Group__0__Impl : ( 'group' ) ;
+    // InternalReportDSL.g:16924:1: rule__DatamartTableGroup__Group__0__Impl : ( 'group' ) ;
     public final void rule__DatamartTableGroup__Group__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:16975:1: ( ( 'group' ) )
-            // InternalReportDSL.g:16976:1: ( 'group' )
+            // InternalReportDSL.g:16928:1: ( ( 'group' ) )
+            // InternalReportDSL.g:16929:1: ( 'group' )
             {
-            // InternalReportDSL.g:16976:1: ( 'group' )
-            // InternalReportDSL.g:16977:2: 'group'
+            // InternalReportDSL.g:16929:1: ( 'group' )
+            // InternalReportDSL.g:16930:2: 'group'
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getDatamartTableGroupAccess().getGroupKeyword_0()); 
             }
-            match(input,195,FOLLOW_2); if (state.failed) return ;
+            match(input,202,FOLLOW_2); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getDatamartTableGroupAccess().getGroupKeyword_0()); 
             }
@@ -57359,16 +57119,16 @@
 
 
     // $ANTLR start "rule__DatamartTableGroup__Group__1"
-    // InternalReportDSL.g:16986:1: rule__DatamartTableGroup__Group__1 : rule__DatamartTableGroup__Group__1__Impl rule__DatamartTableGroup__Group__2 ;
+    // InternalReportDSL.g:16939:1: rule__DatamartTableGroup__Group__1 : rule__DatamartTableGroup__Group__1__Impl rule__DatamartTableGroup__Group__2 ;
     public final void rule__DatamartTableGroup__Group__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:16990:1: ( rule__DatamartTableGroup__Group__1__Impl rule__DatamartTableGroup__Group__2 )
-            // InternalReportDSL.g:16991:2: rule__DatamartTableGroup__Group__1__Impl rule__DatamartTableGroup__Group__2
+            // InternalReportDSL.g:16943:1: ( rule__DatamartTableGroup__Group__1__Impl rule__DatamartTableGroup__Group__2 )
+            // InternalReportDSL.g:16944:2: rule__DatamartTableGroup__Group__1__Impl rule__DatamartTableGroup__Group__2
             {
-            pushFollow(FOLLOW_89);
+            pushFollow(FOLLOW_90);
             rule__DatamartTableGroup__Group__1__Impl();
 
             state._fsp--;
@@ -57397,23 +57157,23 @@
 
 
     // $ANTLR start "rule__DatamartTableGroup__Group__1__Impl"
-    // InternalReportDSL.g:16998:1: rule__DatamartTableGroup__Group__1__Impl : ( ( rule__DatamartTableGroup__NameAssignment_1 ) ) ;
+    // InternalReportDSL.g:16951:1: rule__DatamartTableGroup__Group__1__Impl : ( ( rule__DatamartTableGroup__NameAssignment_1 ) ) ;
     public final void rule__DatamartTableGroup__Group__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:17002:1: ( ( ( rule__DatamartTableGroup__NameAssignment_1 ) ) )
-            // InternalReportDSL.g:17003:1: ( ( rule__DatamartTableGroup__NameAssignment_1 ) )
+            // InternalReportDSL.g:16955:1: ( ( ( rule__DatamartTableGroup__NameAssignment_1 ) ) )
+            // InternalReportDSL.g:16956:1: ( ( rule__DatamartTableGroup__NameAssignment_1 ) )
             {
-            // InternalReportDSL.g:17003:1: ( ( rule__DatamartTableGroup__NameAssignment_1 ) )
-            // InternalReportDSL.g:17004:2: ( rule__DatamartTableGroup__NameAssignment_1 )
+            // InternalReportDSL.g:16956:1: ( ( rule__DatamartTableGroup__NameAssignment_1 ) )
+            // InternalReportDSL.g:16957:2: ( rule__DatamartTableGroup__NameAssignment_1 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getDatamartTableGroupAccess().getNameAssignment_1()); 
             }
-            // InternalReportDSL.g:17005:2: ( rule__DatamartTableGroup__NameAssignment_1 )
-            // InternalReportDSL.g:17005:3: rule__DatamartTableGroup__NameAssignment_1
+            // InternalReportDSL.g:16958:2: ( rule__DatamartTableGroup__NameAssignment_1 )
+            // InternalReportDSL.g:16958:3: rule__DatamartTableGroup__NameAssignment_1
             {
             pushFollow(FOLLOW_2);
             rule__DatamartTableGroup__NameAssignment_1();
@@ -57448,14 +57208,14 @@
 
 
     // $ANTLR start "rule__DatamartTableGroup__Group__2"
-    // InternalReportDSL.g:17013:1: rule__DatamartTableGroup__Group__2 : rule__DatamartTableGroup__Group__2__Impl rule__DatamartTableGroup__Group__3 ;
+    // InternalReportDSL.g:16966:1: rule__DatamartTableGroup__Group__2 : rule__DatamartTableGroup__Group__2__Impl rule__DatamartTableGroup__Group__3 ;
     public final void rule__DatamartTableGroup__Group__2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:17017:1: ( rule__DatamartTableGroup__Group__2__Impl rule__DatamartTableGroup__Group__3 )
-            // InternalReportDSL.g:17018:2: rule__DatamartTableGroup__Group__2__Impl rule__DatamartTableGroup__Group__3
+            // InternalReportDSL.g:16970:1: ( rule__DatamartTableGroup__Group__2__Impl rule__DatamartTableGroup__Group__3 )
+            // InternalReportDSL.g:16971:2: rule__DatamartTableGroup__Group__2__Impl rule__DatamartTableGroup__Group__3
             {
             pushFollow(FOLLOW_7);
             rule__DatamartTableGroup__Group__2__Impl();
@@ -57486,22 +57246,22 @@
 
 
     // $ANTLR start "rule__DatamartTableGroup__Group__2__Impl"
-    // InternalReportDSL.g:17025:1: rule__DatamartTableGroup__Group__2__Impl : ( 'by' ) ;
+    // InternalReportDSL.g:16978:1: rule__DatamartTableGroup__Group__2__Impl : ( 'by' ) ;
     public final void rule__DatamartTableGroup__Group__2__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:17029:1: ( ( 'by' ) )
-            // InternalReportDSL.g:17030:1: ( 'by' )
+            // InternalReportDSL.g:16982:1: ( ( 'by' ) )
+            // InternalReportDSL.g:16983:1: ( 'by' )
             {
-            // InternalReportDSL.g:17030:1: ( 'by' )
-            // InternalReportDSL.g:17031:2: 'by'
+            // InternalReportDSL.g:16983:1: ( 'by' )
+            // InternalReportDSL.g:16984:2: 'by'
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getDatamartTableGroupAccess().getByKeyword_2()); 
             }
-            match(input,196,FOLLOW_2); if (state.failed) return ;
+            match(input,203,FOLLOW_2); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getDatamartTableGroupAccess().getByKeyword_2()); 
             }
@@ -57527,16 +57287,16 @@
 
 
     // $ANTLR start "rule__DatamartTableGroup__Group__3"
-    // InternalReportDSL.g:17040:1: rule__DatamartTableGroup__Group__3 : rule__DatamartTableGroup__Group__3__Impl rule__DatamartTableGroup__Group__4 ;
+    // InternalReportDSL.g:16993:1: rule__DatamartTableGroup__Group__3 : rule__DatamartTableGroup__Group__3__Impl rule__DatamartTableGroup__Group__4 ;
     public final void rule__DatamartTableGroup__Group__3() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:17044:1: ( rule__DatamartTableGroup__Group__3__Impl rule__DatamartTableGroup__Group__4 )
-            // InternalReportDSL.g:17045:2: rule__DatamartTableGroup__Group__3__Impl rule__DatamartTableGroup__Group__4
+            // InternalReportDSL.g:16997:1: ( rule__DatamartTableGroup__Group__3__Impl rule__DatamartTableGroup__Group__4 )
+            // InternalReportDSL.g:16998:2: rule__DatamartTableGroup__Group__3__Impl rule__DatamartTableGroup__Group__4
             {
-            pushFollow(FOLLOW_90);
+            pushFollow(FOLLOW_91);
             rule__DatamartTableGroup__Group__3__Impl();
 
             state._fsp--;
@@ -57565,23 +57325,23 @@
 
 
     // $ANTLR start "rule__DatamartTableGroup__Group__3__Impl"
-    // InternalReportDSL.g:17052:1: rule__DatamartTableGroup__Group__3__Impl : ( ( rule__DatamartTableGroup__GroupingRefAssignment_3 ) ) ;
+    // InternalReportDSL.g:17005:1: rule__DatamartTableGroup__Group__3__Impl : ( ( rule__DatamartTableGroup__GroupingRefAssignment_3 ) ) ;
     public final void rule__DatamartTableGroup__Group__3__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:17056:1: ( ( ( rule__DatamartTableGroup__GroupingRefAssignment_3 ) ) )
-            // InternalReportDSL.g:17057:1: ( ( rule__DatamartTableGroup__GroupingRefAssignment_3 ) )
+            // InternalReportDSL.g:17009:1: ( ( ( rule__DatamartTableGroup__GroupingRefAssignment_3 ) ) )
+            // InternalReportDSL.g:17010:1: ( ( rule__DatamartTableGroup__GroupingRefAssignment_3 ) )
             {
-            // InternalReportDSL.g:17057:1: ( ( rule__DatamartTableGroup__GroupingRefAssignment_3 ) )
-            // InternalReportDSL.g:17058:2: ( rule__DatamartTableGroup__GroupingRefAssignment_3 )
+            // InternalReportDSL.g:17010:1: ( ( rule__DatamartTableGroup__GroupingRefAssignment_3 ) )
+            // InternalReportDSL.g:17011:2: ( rule__DatamartTableGroup__GroupingRefAssignment_3 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getDatamartTableGroupAccess().getGroupingRefAssignment_3()); 
             }
-            // InternalReportDSL.g:17059:2: ( rule__DatamartTableGroup__GroupingRefAssignment_3 )
-            // InternalReportDSL.g:17059:3: rule__DatamartTableGroup__GroupingRefAssignment_3
+            // InternalReportDSL.g:17012:2: ( rule__DatamartTableGroup__GroupingRefAssignment_3 )
+            // InternalReportDSL.g:17012:3: rule__DatamartTableGroup__GroupingRefAssignment_3
             {
             pushFollow(FOLLOW_2);
             rule__DatamartTableGroup__GroupingRefAssignment_3();
@@ -57616,16 +57376,16 @@
 
 
     // $ANTLR start "rule__DatamartTableGroup__Group__4"
-    // InternalReportDSL.g:17067:1: rule__DatamartTableGroup__Group__4 : rule__DatamartTableGroup__Group__4__Impl rule__DatamartTableGroup__Group__5 ;
+    // InternalReportDSL.g:17020:1: rule__DatamartTableGroup__Group__4 : rule__DatamartTableGroup__Group__4__Impl rule__DatamartTableGroup__Group__5 ;
     public final void rule__DatamartTableGroup__Group__4() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:17071:1: ( rule__DatamartTableGroup__Group__4__Impl rule__DatamartTableGroup__Group__5 )
-            // InternalReportDSL.g:17072:2: rule__DatamartTableGroup__Group__4__Impl rule__DatamartTableGroup__Group__5
+            // InternalReportDSL.g:17024:1: ( rule__DatamartTableGroup__Group__4__Impl rule__DatamartTableGroup__Group__5 )
+            // InternalReportDSL.g:17025:2: rule__DatamartTableGroup__Group__4__Impl rule__DatamartTableGroup__Group__5
             {
-            pushFollow(FOLLOW_90);
+            pushFollow(FOLLOW_8);
             rule__DatamartTableGroup__Group__4__Impl();
 
             state._fsp--;
@@ -57654,45 +57414,34 @@
 
 
     // $ANTLR start "rule__DatamartTableGroup__Group__4__Impl"
-    // InternalReportDSL.g:17079:1: rule__DatamartTableGroup__Group__4__Impl : ( ( rule__DatamartTableGroup__VisibilityItemAssignment_4 )? ) ;
+    // InternalReportDSL.g:17032:1: rule__DatamartTableGroup__Group__4__Impl : ( ( rule__DatamartTableGroup__UnorderedGroup_4 ) ) ;
     public final void rule__DatamartTableGroup__Group__4__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:17083:1: ( ( ( rule__DatamartTableGroup__VisibilityItemAssignment_4 )? ) )
-            // InternalReportDSL.g:17084:1: ( ( rule__DatamartTableGroup__VisibilityItemAssignment_4 )? )
+            // InternalReportDSL.g:17036:1: ( ( ( rule__DatamartTableGroup__UnorderedGroup_4 ) ) )
+            // InternalReportDSL.g:17037:1: ( ( rule__DatamartTableGroup__UnorderedGroup_4 ) )
             {
-            // InternalReportDSL.g:17084:1: ( ( rule__DatamartTableGroup__VisibilityItemAssignment_4 )? )
-            // InternalReportDSL.g:17085:2: ( rule__DatamartTableGroup__VisibilityItemAssignment_4 )?
+            // InternalReportDSL.g:17037:1: ( ( rule__DatamartTableGroup__UnorderedGroup_4 ) )
+            // InternalReportDSL.g:17038:2: ( rule__DatamartTableGroup__UnorderedGroup_4 )
             {
             if ( state.backtracking==0 ) {
-               before(grammarAccess.getDatamartTableGroupAccess().getVisibilityItemAssignment_4()); 
+               before(grammarAccess.getDatamartTableGroupAccess().getUnorderedGroup_4()); 
             }
-            // InternalReportDSL.g:17086:2: ( rule__DatamartTableGroup__VisibilityItemAssignment_4 )?
-            int alt131=2;
-            int LA131_0 = input.LA(1);
+            // InternalReportDSL.g:17039:2: ( rule__DatamartTableGroup__UnorderedGroup_4 )
+            // InternalReportDSL.g:17039:3: rule__DatamartTableGroup__UnorderedGroup_4
+            {
+            pushFollow(FOLLOW_2);
+            rule__DatamartTableGroup__UnorderedGroup_4();
 
-            if ( (LA131_0==260) ) {
-                alt131=1;
-            }
-            switch (alt131) {
-                case 1 :
-                    // InternalReportDSL.g:17086:3: rule__DatamartTableGroup__VisibilityItemAssignment_4
-                    {
-                    pushFollow(FOLLOW_2);
-                    rule__DatamartTableGroup__VisibilityItemAssignment_4();
-
-                    state._fsp--;
-                    if (state.failed) return ;
-
-                    }
-                    break;
+            state._fsp--;
+            if (state.failed) return ;
 
             }
 
             if ( state.backtracking==0 ) {
-               after(grammarAccess.getDatamartTableGroupAccess().getVisibilityItemAssignment_4()); 
+               after(grammarAccess.getDatamartTableGroupAccess().getUnorderedGroup_4()); 
             }
 
             }
@@ -57716,16 +57465,16 @@
 
 
     // $ANTLR start "rule__DatamartTableGroup__Group__5"
-    // InternalReportDSL.g:17094:1: rule__DatamartTableGroup__Group__5 : rule__DatamartTableGroup__Group__5__Impl rule__DatamartTableGroup__Group__6 ;
+    // InternalReportDSL.g:17047:1: rule__DatamartTableGroup__Group__5 : rule__DatamartTableGroup__Group__5__Impl rule__DatamartTableGroup__Group__6 ;
     public final void rule__DatamartTableGroup__Group__5() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:17098:1: ( rule__DatamartTableGroup__Group__5__Impl rule__DatamartTableGroup__Group__6 )
-            // InternalReportDSL.g:17099:2: rule__DatamartTableGroup__Group__5__Impl rule__DatamartTableGroup__Group__6
+            // InternalReportDSL.g:17051:1: ( rule__DatamartTableGroup__Group__5__Impl rule__DatamartTableGroup__Group__6 )
+            // InternalReportDSL.g:17052:2: rule__DatamartTableGroup__Group__5__Impl rule__DatamartTableGroup__Group__6
             {
-            pushFollow(FOLLOW_90);
+            pushFollow(FOLLOW_40);
             rule__DatamartTableGroup__Group__5__Impl();
 
             state._fsp--;
@@ -57754,45 +57503,24 @@
 
 
     // $ANTLR start "rule__DatamartTableGroup__Group__5__Impl"
-    // InternalReportDSL.g:17106:1: rule__DatamartTableGroup__Group__5__Impl : ( ( rule__DatamartTableGroup__PageBreakAssignment_5 )? ) ;
+    // InternalReportDSL.g:17059:1: rule__DatamartTableGroup__Group__5__Impl : ( '{' ) ;
     public final void rule__DatamartTableGroup__Group__5__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:17110:1: ( ( ( rule__DatamartTableGroup__PageBreakAssignment_5 )? ) )
-            // InternalReportDSL.g:17111:1: ( ( rule__DatamartTableGroup__PageBreakAssignment_5 )? )
+            // InternalReportDSL.g:17063:1: ( ( '{' ) )
+            // InternalReportDSL.g:17064:1: ( '{' )
             {
-            // InternalReportDSL.g:17111:1: ( ( rule__DatamartTableGroup__PageBreakAssignment_5 )? )
-            // InternalReportDSL.g:17112:2: ( rule__DatamartTableGroup__PageBreakAssignment_5 )?
+            // InternalReportDSL.g:17064:1: ( '{' )
+            // InternalReportDSL.g:17065:2: '{'
             {
             if ( state.backtracking==0 ) {
-               before(grammarAccess.getDatamartTableGroupAccess().getPageBreakAssignment_5()); 
+               before(grammarAccess.getDatamartTableGroupAccess().getLeftCurlyBracketKeyword_5()); 
             }
-            // InternalReportDSL.g:17113:2: ( rule__DatamartTableGroup__PageBreakAssignment_5 )?
-            int alt132=2;
-            int LA132_0 = input.LA(1);
-
-            if ( (LA132_0==209) ) {
-                alt132=1;
-            }
-            switch (alt132) {
-                case 1 :
-                    // InternalReportDSL.g:17113:3: rule__DatamartTableGroup__PageBreakAssignment_5
-                    {
-                    pushFollow(FOLLOW_2);
-                    rule__DatamartTableGroup__PageBreakAssignment_5();
-
-                    state._fsp--;
-                    if (state.failed) return ;
-
-                    }
-                    break;
-
-            }
-
+            match(input,131,FOLLOW_2); if (state.failed) return ;
             if ( state.backtracking==0 ) {
-               after(grammarAccess.getDatamartTableGroupAccess().getPageBreakAssignment_5()); 
+               after(grammarAccess.getDatamartTableGroupAccess().getLeftCurlyBracketKeyword_5()); 
             }
 
             }
@@ -57816,16 +57544,16 @@
 
 
     // $ANTLR start "rule__DatamartTableGroup__Group__6"
-    // InternalReportDSL.g:17121:1: rule__DatamartTableGroup__Group__6 : rule__DatamartTableGroup__Group__6__Impl rule__DatamartTableGroup__Group__7 ;
+    // InternalReportDSL.g:17074:1: rule__DatamartTableGroup__Group__6 : rule__DatamartTableGroup__Group__6__Impl rule__DatamartTableGroup__Group__7 ;
     public final void rule__DatamartTableGroup__Group__6() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:17125:1: ( rule__DatamartTableGroup__Group__6__Impl rule__DatamartTableGroup__Group__7 )
-            // InternalReportDSL.g:17126:2: rule__DatamartTableGroup__Group__6__Impl rule__DatamartTableGroup__Group__7
+            // InternalReportDSL.g:17078:1: ( rule__DatamartTableGroup__Group__6__Impl rule__DatamartTableGroup__Group__7 )
+            // InternalReportDSL.g:17079:2: rule__DatamartTableGroup__Group__6__Impl rule__DatamartTableGroup__Group__7
             {
-            pushFollow(FOLLOW_91);
+            pushFollow(FOLLOW_40);
             rule__DatamartTableGroup__Group__6__Impl();
 
             state._fsp--;
@@ -57854,24 +57582,45 @@
 
 
     // $ANTLR start "rule__DatamartTableGroup__Group__6__Impl"
-    // InternalReportDSL.g:17133:1: rule__DatamartTableGroup__Group__6__Impl : ( '{' ) ;
+    // InternalReportDSL.g:17086:1: rule__DatamartTableGroup__Group__6__Impl : ( ( rule__DatamartTableGroup__HeaderAssignment_6 )? ) ;
     public final void rule__DatamartTableGroup__Group__6__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:17137:1: ( ( '{' ) )
-            // InternalReportDSL.g:17138:1: ( '{' )
+            // InternalReportDSL.g:17090:1: ( ( ( rule__DatamartTableGroup__HeaderAssignment_6 )? ) )
+            // InternalReportDSL.g:17091:1: ( ( rule__DatamartTableGroup__HeaderAssignment_6 )? )
             {
-            // InternalReportDSL.g:17138:1: ( '{' )
-            // InternalReportDSL.g:17139:2: '{'
+            // InternalReportDSL.g:17091:1: ( ( rule__DatamartTableGroup__HeaderAssignment_6 )? )
+            // InternalReportDSL.g:17092:2: ( rule__DatamartTableGroup__HeaderAssignment_6 )?
             {
             if ( state.backtracking==0 ) {
-               before(grammarAccess.getDatamartTableGroupAccess().getLeftCurlyBracketKeyword_6()); 
+               before(grammarAccess.getDatamartTableGroupAccess().getHeaderAssignment_6()); 
             }
-            match(input,125,FOLLOW_2); if (state.failed) return ;
+            // InternalReportDSL.g:17093:2: ( rule__DatamartTableGroup__HeaderAssignment_6 )?
+            int alt121=2;
+            int LA121_0 = input.LA(1);
+
+            if ( (LA121_0==191) ) {
+                alt121=1;
+            }
+            switch (alt121) {
+                case 1 :
+                    // InternalReportDSL.g:17093:3: rule__DatamartTableGroup__HeaderAssignment_6
+                    {
+                    pushFollow(FOLLOW_2);
+                    rule__DatamartTableGroup__HeaderAssignment_6();
+
+                    state._fsp--;
+                    if (state.failed) return ;
+
+                    }
+                    break;
+
+            }
+
             if ( state.backtracking==0 ) {
-               after(grammarAccess.getDatamartTableGroupAccess().getLeftCurlyBracketKeyword_6()); 
+               after(grammarAccess.getDatamartTableGroupAccess().getHeaderAssignment_6()); 
             }
 
             }
@@ -57895,16 +57644,16 @@
 
 
     // $ANTLR start "rule__DatamartTableGroup__Group__7"
-    // InternalReportDSL.g:17148:1: rule__DatamartTableGroup__Group__7 : rule__DatamartTableGroup__Group__7__Impl rule__DatamartTableGroup__Group__8 ;
+    // InternalReportDSL.g:17101:1: rule__DatamartTableGroup__Group__7 : rule__DatamartTableGroup__Group__7__Impl rule__DatamartTableGroup__Group__8 ;
     public final void rule__DatamartTableGroup__Group__7() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:17152:1: ( rule__DatamartTableGroup__Group__7__Impl rule__DatamartTableGroup__Group__8 )
-            // InternalReportDSL.g:17153:2: rule__DatamartTableGroup__Group__7__Impl rule__DatamartTableGroup__Group__8
+            // InternalReportDSL.g:17105:1: ( rule__DatamartTableGroup__Group__7__Impl rule__DatamartTableGroup__Group__8 )
+            // InternalReportDSL.g:17106:2: rule__DatamartTableGroup__Group__7__Impl rule__DatamartTableGroup__Group__8
             {
-            pushFollow(FOLLOW_91);
+            pushFollow(FOLLOW_40);
             rule__DatamartTableGroup__Group__7__Impl();
 
             state._fsp--;
@@ -57933,34 +57682,34 @@
 
 
     // $ANTLR start "rule__DatamartTableGroup__Group__7__Impl"
-    // InternalReportDSL.g:17160:1: rule__DatamartTableGroup__Group__7__Impl : ( ( rule__DatamartTableGroup__HeaderAssignment_7 )? ) ;
+    // InternalReportDSL.g:17113:1: rule__DatamartTableGroup__Group__7__Impl : ( ( rule__DatamartTableGroup__FooterAssignment_7 )? ) ;
     public final void rule__DatamartTableGroup__Group__7__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:17164:1: ( ( ( rule__DatamartTableGroup__HeaderAssignment_7 )? ) )
-            // InternalReportDSL.g:17165:1: ( ( rule__DatamartTableGroup__HeaderAssignment_7 )? )
+            // InternalReportDSL.g:17117:1: ( ( ( rule__DatamartTableGroup__FooterAssignment_7 )? ) )
+            // InternalReportDSL.g:17118:1: ( ( rule__DatamartTableGroup__FooterAssignment_7 )? )
             {
-            // InternalReportDSL.g:17165:1: ( ( rule__DatamartTableGroup__HeaderAssignment_7 )? )
-            // InternalReportDSL.g:17166:2: ( rule__DatamartTableGroup__HeaderAssignment_7 )?
+            // InternalReportDSL.g:17118:1: ( ( rule__DatamartTableGroup__FooterAssignment_7 )? )
+            // InternalReportDSL.g:17119:2: ( rule__DatamartTableGroup__FooterAssignment_7 )?
             {
             if ( state.backtracking==0 ) {
-               before(grammarAccess.getDatamartTableGroupAccess().getHeaderAssignment_7()); 
+               before(grammarAccess.getDatamartTableGroupAccess().getFooterAssignment_7()); 
             }
-            // InternalReportDSL.g:17167:2: ( rule__DatamartTableGroup__HeaderAssignment_7 )?
-            int alt133=2;
-            int LA133_0 = input.LA(1);
+            // InternalReportDSL.g:17120:2: ( rule__DatamartTableGroup__FooterAssignment_7 )?
+            int alt122=2;
+            int LA122_0 = input.LA(1);
 
-            if ( (LA133_0==184) ) {
-                alt133=1;
+            if ( (LA122_0==194) ) {
+                alt122=1;
             }
-            switch (alt133) {
+            switch (alt122) {
                 case 1 :
-                    // InternalReportDSL.g:17167:3: rule__DatamartTableGroup__HeaderAssignment_7
+                    // InternalReportDSL.g:17120:3: rule__DatamartTableGroup__FooterAssignment_7
                     {
                     pushFollow(FOLLOW_2);
-                    rule__DatamartTableGroup__HeaderAssignment_7();
+                    rule__DatamartTableGroup__FooterAssignment_7();
 
                     state._fsp--;
                     if (state.failed) return ;
@@ -57971,7 +57720,7 @@
             }
 
             if ( state.backtracking==0 ) {
-               after(grammarAccess.getDatamartTableGroupAccess().getHeaderAssignment_7()); 
+               after(grammarAccess.getDatamartTableGroupAccess().getFooterAssignment_7()); 
             }
 
             }
@@ -57995,22 +57744,17 @@
 
 
     // $ANTLR start "rule__DatamartTableGroup__Group__8"
-    // InternalReportDSL.g:17175:1: rule__DatamartTableGroup__Group__8 : rule__DatamartTableGroup__Group__8__Impl rule__DatamartTableGroup__Group__9 ;
+    // InternalReportDSL.g:17128:1: rule__DatamartTableGroup__Group__8 : rule__DatamartTableGroup__Group__8__Impl ;
     public final void rule__DatamartTableGroup__Group__8() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:17179:1: ( rule__DatamartTableGroup__Group__8__Impl rule__DatamartTableGroup__Group__9 )
-            // InternalReportDSL.g:17180:2: rule__DatamartTableGroup__Group__8__Impl rule__DatamartTableGroup__Group__9
+            // InternalReportDSL.g:17132:1: ( rule__DatamartTableGroup__Group__8__Impl )
+            // InternalReportDSL.g:17133:2: rule__DatamartTableGroup__Group__8__Impl
             {
-            pushFollow(FOLLOW_91);
-            rule__DatamartTableGroup__Group__8__Impl();
-
-            state._fsp--;
-            if (state.failed) return ;
             pushFollow(FOLLOW_2);
-            rule__DatamartTableGroup__Group__9();
+            rule__DatamartTableGroup__Group__8__Impl();
 
             state._fsp--;
             if (state.failed) return ;
@@ -58033,45 +57777,24 @@
 
 
     // $ANTLR start "rule__DatamartTableGroup__Group__8__Impl"
-    // InternalReportDSL.g:17187:1: rule__DatamartTableGroup__Group__8__Impl : ( ( rule__DatamartTableGroup__Group_8__0 )? ) ;
+    // InternalReportDSL.g:17139:1: rule__DatamartTableGroup__Group__8__Impl : ( '}' ) ;
     public final void rule__DatamartTableGroup__Group__8__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:17191:1: ( ( ( rule__DatamartTableGroup__Group_8__0 )? ) )
-            // InternalReportDSL.g:17192:1: ( ( rule__DatamartTableGroup__Group_8__0 )? )
+            // InternalReportDSL.g:17143:1: ( ( '}' ) )
+            // InternalReportDSL.g:17144:1: ( '}' )
             {
-            // InternalReportDSL.g:17192:1: ( ( rule__DatamartTableGroup__Group_8__0 )? )
-            // InternalReportDSL.g:17193:2: ( rule__DatamartTableGroup__Group_8__0 )?
+            // InternalReportDSL.g:17144:1: ( '}' )
+            // InternalReportDSL.g:17145:2: '}'
             {
             if ( state.backtracking==0 ) {
-               before(grammarAccess.getDatamartTableGroupAccess().getGroup_8()); 
+               before(grammarAccess.getDatamartTableGroupAccess().getRightCurlyBracketKeyword_8()); 
             }
-            // InternalReportDSL.g:17194:2: ( rule__DatamartTableGroup__Group_8__0 )?
-            int alt134=2;
-            int LA134_0 = input.LA(1);
-
-            if ( (LA134_0==257) ) {
-                alt134=1;
-            }
-            switch (alt134) {
-                case 1 :
-                    // InternalReportDSL.g:17194:3: rule__DatamartTableGroup__Group_8__0
-                    {
-                    pushFollow(FOLLOW_2);
-                    rule__DatamartTableGroup__Group_8__0();
-
-                    state._fsp--;
-                    if (state.failed) return ;
-
-                    }
-                    break;
-
-            }
-
+            match(input,132,FOLLOW_2); if (state.failed) return ;
             if ( state.backtracking==0 ) {
-               after(grammarAccess.getDatamartTableGroupAccess().getGroup_8()); 
+               after(grammarAccess.getDatamartTableGroupAccess().getRightCurlyBracketKeyword_8()); 
             }
 
             }
@@ -58094,23 +57817,102 @@
     // $ANTLR end "rule__DatamartTableGroup__Group__8__Impl"
 
 
-    // $ANTLR start "rule__DatamartTableGroup__Group__9"
-    // InternalReportDSL.g:17202:1: rule__DatamartTableGroup__Group__9 : rule__DatamartTableGroup__Group__9__Impl rule__DatamartTableGroup__Group__10 ;
-    public final void rule__DatamartTableGroup__Group__9() throws RecognitionException {
+    // $ANTLR start "rule__DatamartTableHeader__Group__0"
+    // InternalReportDSL.g:17155:1: rule__DatamartTableHeader__Group__0 : rule__DatamartTableHeader__Group__0__Impl rule__DatamartTableHeader__Group__1 ;
+    public final void rule__DatamartTableHeader__Group__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:17206:1: ( rule__DatamartTableGroup__Group__9__Impl rule__DatamartTableGroup__Group__10 )
-            // InternalReportDSL.g:17207:2: rule__DatamartTableGroup__Group__9__Impl rule__DatamartTableGroup__Group__10
+            // InternalReportDSL.g:17159:1: ( rule__DatamartTableHeader__Group__0__Impl rule__DatamartTableHeader__Group__1 )
+            // InternalReportDSL.g:17160:2: rule__DatamartTableHeader__Group__0__Impl rule__DatamartTableHeader__Group__1
+            {
+            pushFollow(FOLLOW_70);
+            rule__DatamartTableHeader__Group__0__Impl();
+
+            state._fsp--;
+            if (state.failed) return ;
+            pushFollow(FOLLOW_2);
+            rule__DatamartTableHeader__Group__1();
+
+            state._fsp--;
+            if (state.failed) return ;
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__DatamartTableHeader__Group__0"
+
+
+    // $ANTLR start "rule__DatamartTableHeader__Group__0__Impl"
+    // InternalReportDSL.g:17167:1: rule__DatamartTableHeader__Group__0__Impl : ( () ) ;
+    public final void rule__DatamartTableHeader__Group__0__Impl() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+        	
+        try {
+            // InternalReportDSL.g:17171:1: ( ( () ) )
+            // InternalReportDSL.g:17172:1: ( () )
+            {
+            // InternalReportDSL.g:17172:1: ( () )
+            // InternalReportDSL.g:17173:2: ()
+            {
+            if ( state.backtracking==0 ) {
+               before(grammarAccess.getDatamartTableHeaderAccess().getDatamartTableHeaderAction_0()); 
+            }
+            // InternalReportDSL.g:17174:2: ()
+            // InternalReportDSL.g:17174:3: 
+            {
+            }
+
+            if ( state.backtracking==0 ) {
+               after(grammarAccess.getDatamartTableHeaderAccess().getDatamartTableHeaderAction_0()); 
+            }
+
+            }
+
+
+            }
+
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__DatamartTableHeader__Group__0__Impl"
+
+
+    // $ANTLR start "rule__DatamartTableHeader__Group__1"
+    // InternalReportDSL.g:17182:1: rule__DatamartTableHeader__Group__1 : rule__DatamartTableHeader__Group__1__Impl rule__DatamartTableHeader__Group__2 ;
+    public final void rule__DatamartTableHeader__Group__1() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+        	
+        try {
+            // InternalReportDSL.g:17186:1: ( rule__DatamartTableHeader__Group__1__Impl rule__DatamartTableHeader__Group__2 )
+            // InternalReportDSL.g:17187:2: rule__DatamartTableHeader__Group__1__Impl rule__DatamartTableHeader__Group__2
             {
             pushFollow(FOLLOW_91);
-            rule__DatamartTableGroup__Group__9__Impl();
+            rule__DatamartTableHeader__Group__1__Impl();
 
             state._fsp--;
             if (state.failed) return ;
             pushFollow(FOLLOW_2);
-            rule__DatamartTableGroup__Group__10();
+            rule__DatamartTableHeader__Group__2();
 
             state._fsp--;
             if (state.failed) return ;
@@ -58129,38 +57931,201 @@
         }
         return ;
     }
-    // $ANTLR end "rule__DatamartTableGroup__Group__9"
+    // $ANTLR end "rule__DatamartTableHeader__Group__1"
 
 
-    // $ANTLR start "rule__DatamartTableGroup__Group__9__Impl"
-    // InternalReportDSL.g:17214:1: rule__DatamartTableGroup__Group__9__Impl : ( ( rule__DatamartTableGroup__Group_9__0 )? ) ;
-    public final void rule__DatamartTableGroup__Group__9__Impl() throws RecognitionException {
+    // $ANTLR start "rule__DatamartTableHeader__Group__1__Impl"
+    // InternalReportDSL.g:17194:1: rule__DatamartTableHeader__Group__1__Impl : ( 'header' ) ;
+    public final void rule__DatamartTableHeader__Group__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:17218:1: ( ( ( rule__DatamartTableGroup__Group_9__0 )? ) )
-            // InternalReportDSL.g:17219:1: ( ( rule__DatamartTableGroup__Group_9__0 )? )
+            // InternalReportDSL.g:17198:1: ( ( 'header' ) )
+            // InternalReportDSL.g:17199:1: ( 'header' )
             {
-            // InternalReportDSL.g:17219:1: ( ( rule__DatamartTableGroup__Group_9__0 )? )
-            // InternalReportDSL.g:17220:2: ( rule__DatamartTableGroup__Group_9__0 )?
+            // InternalReportDSL.g:17199:1: ( 'header' )
+            // InternalReportDSL.g:17200:2: 'header'
             {
             if ( state.backtracking==0 ) {
-               before(grammarAccess.getDatamartTableGroupAccess().getGroup_9()); 
+               before(grammarAccess.getDatamartTableHeaderAccess().getHeaderKeyword_1()); 
             }
-            // InternalReportDSL.g:17221:2: ( rule__DatamartTableGroup__Group_9__0 )?
-            int alt135=2;
-            int LA135_0 = input.LA(1);
+            match(input,191,FOLLOW_2); if (state.failed) return ;
+            if ( state.backtracking==0 ) {
+               after(grammarAccess.getDatamartTableHeaderAccess().getHeaderKeyword_1()); 
+            }
 
-            if ( (LA135_0==258) ) {
-                alt135=1;
             }
-            switch (alt135) {
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__DatamartTableHeader__Group__1__Impl"
+
+
+    // $ANTLR start "rule__DatamartTableHeader__Group__2"
+    // InternalReportDSL.g:17209:1: rule__DatamartTableHeader__Group__2 : rule__DatamartTableHeader__Group__2__Impl rule__DatamartTableHeader__Group__3 ;
+    public final void rule__DatamartTableHeader__Group__2() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+        	
+        try {
+            // InternalReportDSL.g:17213:1: ( rule__DatamartTableHeader__Group__2__Impl rule__DatamartTableHeader__Group__3 )
+            // InternalReportDSL.g:17214:2: rule__DatamartTableHeader__Group__2__Impl rule__DatamartTableHeader__Group__3
+            {
+            pushFollow(FOLLOW_8);
+            rule__DatamartTableHeader__Group__2__Impl();
+
+            state._fsp--;
+            if (state.failed) return ;
+            pushFollow(FOLLOW_2);
+            rule__DatamartTableHeader__Group__3();
+
+            state._fsp--;
+            if (state.failed) return ;
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__DatamartTableHeader__Group__2"
+
+
+    // $ANTLR start "rule__DatamartTableHeader__Group__2__Impl"
+    // InternalReportDSL.g:17221:1: rule__DatamartTableHeader__Group__2__Impl : ( ( rule__DatamartTableHeader__UnorderedGroup_2 ) ) ;
+    public final void rule__DatamartTableHeader__Group__2__Impl() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+        	
+        try {
+            // InternalReportDSL.g:17225:1: ( ( ( rule__DatamartTableHeader__UnorderedGroup_2 ) ) )
+            // InternalReportDSL.g:17226:1: ( ( rule__DatamartTableHeader__UnorderedGroup_2 ) )
+            {
+            // InternalReportDSL.g:17226:1: ( ( rule__DatamartTableHeader__UnorderedGroup_2 ) )
+            // InternalReportDSL.g:17227:2: ( rule__DatamartTableHeader__UnorderedGroup_2 )
+            {
+            if ( state.backtracking==0 ) {
+               before(grammarAccess.getDatamartTableHeaderAccess().getUnorderedGroup_2()); 
+            }
+            // InternalReportDSL.g:17228:2: ( rule__DatamartTableHeader__UnorderedGroup_2 )
+            // InternalReportDSL.g:17228:3: rule__DatamartTableHeader__UnorderedGroup_2
+            {
+            pushFollow(FOLLOW_2);
+            rule__DatamartTableHeader__UnorderedGroup_2();
+
+            state._fsp--;
+            if (state.failed) return ;
+
+            }
+
+            if ( state.backtracking==0 ) {
+               after(grammarAccess.getDatamartTableHeaderAccess().getUnorderedGroup_2()); 
+            }
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__DatamartTableHeader__Group__2__Impl"
+
+
+    // $ANTLR start "rule__DatamartTableHeader__Group__3"
+    // InternalReportDSL.g:17236:1: rule__DatamartTableHeader__Group__3 : rule__DatamartTableHeader__Group__3__Impl ;
+    public final void rule__DatamartTableHeader__Group__3() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+        	
+        try {
+            // InternalReportDSL.g:17240:1: ( rule__DatamartTableHeader__Group__3__Impl )
+            // InternalReportDSL.g:17241:2: rule__DatamartTableHeader__Group__3__Impl
+            {
+            pushFollow(FOLLOW_2);
+            rule__DatamartTableHeader__Group__3__Impl();
+
+            state._fsp--;
+            if (state.failed) return ;
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__DatamartTableHeader__Group__3"
+
+
+    // $ANTLR start "rule__DatamartTableHeader__Group__3__Impl"
+    // InternalReportDSL.g:17247:1: rule__DatamartTableHeader__Group__3__Impl : ( ( rule__DatamartTableHeader__Group_3__0 )? ) ;
+    public final void rule__DatamartTableHeader__Group__3__Impl() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+        	
+        try {
+            // InternalReportDSL.g:17251:1: ( ( ( rule__DatamartTableHeader__Group_3__0 )? ) )
+            // InternalReportDSL.g:17252:1: ( ( rule__DatamartTableHeader__Group_3__0 )? )
+            {
+            // InternalReportDSL.g:17252:1: ( ( rule__DatamartTableHeader__Group_3__0 )? )
+            // InternalReportDSL.g:17253:2: ( rule__DatamartTableHeader__Group_3__0 )?
+            {
+            if ( state.backtracking==0 ) {
+               before(grammarAccess.getDatamartTableHeaderAccess().getGroup_3()); 
+            }
+            // InternalReportDSL.g:17254:2: ( rule__DatamartTableHeader__Group_3__0 )?
+            int alt123=2;
+            int LA123_0 = input.LA(1);
+
+            if ( (LA123_0==131) ) {
+                alt123=1;
+            }
+            switch (alt123) {
                 case 1 :
-                    // InternalReportDSL.g:17221:3: rule__DatamartTableGroup__Group_9__0
+                    // InternalReportDSL.g:17254:3: rule__DatamartTableHeader__Group_3__0
                     {
                     pushFollow(FOLLOW_2);
-                    rule__DatamartTableGroup__Group_9__0();
+                    rule__DatamartTableHeader__Group_3__0();
 
                     state._fsp--;
                     if (state.failed) return ;
@@ -58171,7 +58136,7 @@
             }
 
             if ( state.backtracking==0 ) {
-               after(grammarAccess.getDatamartTableGroupAccess().getGroup_9()); 
+               after(grammarAccess.getDatamartTableHeaderAccess().getGroup_3()); 
             }
 
             }
@@ -58191,384 +58156,26 @@
         }
         return ;
     }
-    // $ANTLR end "rule__DatamartTableGroup__Group__9__Impl"
+    // $ANTLR end "rule__DatamartTableHeader__Group__3__Impl"
 
 
-    // $ANTLR start "rule__DatamartTableGroup__Group__10"
-    // InternalReportDSL.g:17229:1: rule__DatamartTableGroup__Group__10 : rule__DatamartTableGroup__Group__10__Impl rule__DatamartTableGroup__Group__11 ;
-    public final void rule__DatamartTableGroup__Group__10() throws RecognitionException {
+    // $ANTLR start "rule__DatamartTableHeader__Group_2_0__0"
+    // InternalReportDSL.g:17263:1: rule__DatamartTableHeader__Group_2_0__0 : rule__DatamartTableHeader__Group_2_0__0__Impl rule__DatamartTableHeader__Group_2_0__1 ;
+    public final void rule__DatamartTableHeader__Group_2_0__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:17233:1: ( rule__DatamartTableGroup__Group__10__Impl rule__DatamartTableGroup__Group__11 )
-            // InternalReportDSL.g:17234:2: rule__DatamartTableGroup__Group__10__Impl rule__DatamartTableGroup__Group__11
-            {
-            pushFollow(FOLLOW_91);
-            rule__DatamartTableGroup__Group__10__Impl();
-
-            state._fsp--;
-            if (state.failed) return ;
-            pushFollow(FOLLOW_2);
-            rule__DatamartTableGroup__Group__11();
-
-            state._fsp--;
-            if (state.failed) return ;
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__DatamartTableGroup__Group__10"
-
-
-    // $ANTLR start "rule__DatamartTableGroup__Group__10__Impl"
-    // InternalReportDSL.g:17241:1: rule__DatamartTableGroup__Group__10__Impl : ( ( rule__DatamartTableGroup__FooterAssignment_10 )? ) ;
-    public final void rule__DatamartTableGroup__Group__10__Impl() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-        	
-        try {
-            // InternalReportDSL.g:17245:1: ( ( ( rule__DatamartTableGroup__FooterAssignment_10 )? ) )
-            // InternalReportDSL.g:17246:1: ( ( rule__DatamartTableGroup__FooterAssignment_10 )? )
-            {
-            // InternalReportDSL.g:17246:1: ( ( rule__DatamartTableGroup__FooterAssignment_10 )? )
-            // InternalReportDSL.g:17247:2: ( rule__DatamartTableGroup__FooterAssignment_10 )?
-            {
-            if ( state.backtracking==0 ) {
-               before(grammarAccess.getDatamartTableGroupAccess().getFooterAssignment_10()); 
-            }
-            // InternalReportDSL.g:17248:2: ( rule__DatamartTableGroup__FooterAssignment_10 )?
-            int alt136=2;
-            int LA136_0 = input.LA(1);
-
-            if ( (LA136_0==187) ) {
-                alt136=1;
-            }
-            switch (alt136) {
-                case 1 :
-                    // InternalReportDSL.g:17248:3: rule__DatamartTableGroup__FooterAssignment_10
-                    {
-                    pushFollow(FOLLOW_2);
-                    rule__DatamartTableGroup__FooterAssignment_10();
-
-                    state._fsp--;
-                    if (state.failed) return ;
-
-                    }
-                    break;
-
-            }
-
-            if ( state.backtracking==0 ) {
-               after(grammarAccess.getDatamartTableGroupAccess().getFooterAssignment_10()); 
-            }
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__DatamartTableGroup__Group__10__Impl"
-
-
-    // $ANTLR start "rule__DatamartTableGroup__Group__11"
-    // InternalReportDSL.g:17256:1: rule__DatamartTableGroup__Group__11 : rule__DatamartTableGroup__Group__11__Impl ;
-    public final void rule__DatamartTableGroup__Group__11() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-        	
-        try {
-            // InternalReportDSL.g:17260:1: ( rule__DatamartTableGroup__Group__11__Impl )
-            // InternalReportDSL.g:17261:2: rule__DatamartTableGroup__Group__11__Impl
-            {
-            pushFollow(FOLLOW_2);
-            rule__DatamartTableGroup__Group__11__Impl();
-
-            state._fsp--;
-            if (state.failed) return ;
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__DatamartTableGroup__Group__11"
-
-
-    // $ANTLR start "rule__DatamartTableGroup__Group__11__Impl"
-    // InternalReportDSL.g:17267:1: rule__DatamartTableGroup__Group__11__Impl : ( '}' ) ;
-    public final void rule__DatamartTableGroup__Group__11__Impl() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-        	
-        try {
-            // InternalReportDSL.g:17271:1: ( ( '}' ) )
-            // InternalReportDSL.g:17272:1: ( '}' )
-            {
-            // InternalReportDSL.g:17272:1: ( '}' )
-            // InternalReportDSL.g:17273:2: '}'
-            {
-            if ( state.backtracking==0 ) {
-               before(grammarAccess.getDatamartTableGroupAccess().getRightCurlyBracketKeyword_11()); 
-            }
-            match(input,126,FOLLOW_2); if (state.failed) return ;
-            if ( state.backtracking==0 ) {
-               after(grammarAccess.getDatamartTableGroupAccess().getRightCurlyBracketKeyword_11()); 
-            }
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__DatamartTableGroup__Group__11__Impl"
-
-
-    // $ANTLR start "rule__DatamartTableGroup__Group_8__0"
-    // InternalReportDSL.g:17283:1: rule__DatamartTableGroup__Group_8__0 : rule__DatamartTableGroup__Group_8__0__Impl rule__DatamartTableGroup__Group_8__1 ;
-    public final void rule__DatamartTableGroup__Group_8__0() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-        	
-        try {
-            // InternalReportDSL.g:17287:1: ( rule__DatamartTableGroup__Group_8__0__Impl rule__DatamartTableGroup__Group_8__1 )
-            // InternalReportDSL.g:17288:2: rule__DatamartTableGroup__Group_8__0__Impl rule__DatamartTableGroup__Group_8__1
-            {
-            pushFollow(FOLLOW_88);
-            rule__DatamartTableGroup__Group_8__0__Impl();
-
-            state._fsp--;
-            if (state.failed) return ;
-            pushFollow(FOLLOW_2);
-            rule__DatamartTableGroup__Group_8__1();
-
-            state._fsp--;
-            if (state.failed) return ;
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__DatamartTableGroup__Group_8__0"
-
-
-    // $ANTLR start "rule__DatamartTableGroup__Group_8__0__Impl"
-    // InternalReportDSL.g:17295:1: rule__DatamartTableGroup__Group_8__0__Impl : ( ( rule__DatamartTableGroup__DetailheaderAssignment_8_0 ) ) ;
-    public final void rule__DatamartTableGroup__Group_8__0__Impl() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-        	
-        try {
-            // InternalReportDSL.g:17299:1: ( ( ( rule__DatamartTableGroup__DetailheaderAssignment_8_0 ) ) )
-            // InternalReportDSL.g:17300:1: ( ( rule__DatamartTableGroup__DetailheaderAssignment_8_0 ) )
-            {
-            // InternalReportDSL.g:17300:1: ( ( rule__DatamartTableGroup__DetailheaderAssignment_8_0 ) )
-            // InternalReportDSL.g:17301:2: ( rule__DatamartTableGroup__DetailheaderAssignment_8_0 )
-            {
-            if ( state.backtracking==0 ) {
-               before(grammarAccess.getDatamartTableGroupAccess().getDetailheaderAssignment_8_0()); 
-            }
-            // InternalReportDSL.g:17302:2: ( rule__DatamartTableGroup__DetailheaderAssignment_8_0 )
-            // InternalReportDSL.g:17302:3: rule__DatamartTableGroup__DetailheaderAssignment_8_0
-            {
-            pushFollow(FOLLOW_2);
-            rule__DatamartTableGroup__DetailheaderAssignment_8_0();
-
-            state._fsp--;
-            if (state.failed) return ;
-
-            }
-
-            if ( state.backtracking==0 ) {
-               after(grammarAccess.getDatamartTableGroupAccess().getDetailheaderAssignment_8_0()); 
-            }
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__DatamartTableGroup__Group_8__0__Impl"
-
-
-    // $ANTLR start "rule__DatamartTableGroup__Group_8__1"
-    // InternalReportDSL.g:17310:1: rule__DatamartTableGroup__Group_8__1 : rule__DatamartTableGroup__Group_8__1__Impl ;
-    public final void rule__DatamartTableGroup__Group_8__1() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-        	
-        try {
-            // InternalReportDSL.g:17314:1: ( rule__DatamartTableGroup__Group_8__1__Impl )
-            // InternalReportDSL.g:17315:2: rule__DatamartTableGroup__Group_8__1__Impl
-            {
-            pushFollow(FOLLOW_2);
-            rule__DatamartTableGroup__Group_8__1__Impl();
-
-            state._fsp--;
-            if (state.failed) return ;
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__DatamartTableGroup__Group_8__1"
-
-
-    // $ANTLR start "rule__DatamartTableGroup__Group_8__1__Impl"
-    // InternalReportDSL.g:17321:1: rule__DatamartTableGroup__Group_8__1__Impl : ( ( rule__DatamartTableGroup__Group_8_1__0 )? ) ;
-    public final void rule__DatamartTableGroup__Group_8__1__Impl() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-        	
-        try {
-            // InternalReportDSL.g:17325:1: ( ( ( rule__DatamartTableGroup__Group_8_1__0 )? ) )
-            // InternalReportDSL.g:17326:1: ( ( rule__DatamartTableGroup__Group_8_1__0 )? )
-            {
-            // InternalReportDSL.g:17326:1: ( ( rule__DatamartTableGroup__Group_8_1__0 )? )
-            // InternalReportDSL.g:17327:2: ( rule__DatamartTableGroup__Group_8_1__0 )?
-            {
-            if ( state.backtracking==0 ) {
-               before(grammarAccess.getDatamartTableGroupAccess().getGroup_8_1()); 
-            }
-            // InternalReportDSL.g:17328:2: ( rule__DatamartTableGroup__Group_8_1__0 )?
-            int alt137=2;
-            int LA137_0 = input.LA(1);
-
-            if ( (LA137_0==152) ) {
-                alt137=1;
-            }
-            switch (alt137) {
-                case 1 :
-                    // InternalReportDSL.g:17328:3: rule__DatamartTableGroup__Group_8_1__0
-                    {
-                    pushFollow(FOLLOW_2);
-                    rule__DatamartTableGroup__Group_8_1__0();
-
-                    state._fsp--;
-                    if (state.failed) return ;
-
-                    }
-                    break;
-
-            }
-
-            if ( state.backtracking==0 ) {
-               after(grammarAccess.getDatamartTableGroupAccess().getGroup_8_1()); 
-            }
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__DatamartTableGroup__Group_8__1__Impl"
-
-
-    // $ANTLR start "rule__DatamartTableGroup__Group_8_1__0"
-    // InternalReportDSL.g:17337:1: rule__DatamartTableGroup__Group_8_1__0 : rule__DatamartTableGroup__Group_8_1__0__Impl rule__DatamartTableGroup__Group_8_1__1 ;
-    public final void rule__DatamartTableGroup__Group_8_1__0() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-        	
-        try {
-            // InternalReportDSL.g:17341:1: ( rule__DatamartTableGroup__Group_8_1__0__Impl rule__DatamartTableGroup__Group_8_1__1 )
-            // InternalReportDSL.g:17342:2: rule__DatamartTableGroup__Group_8_1__0__Impl rule__DatamartTableGroup__Group_8_1__1
+            // InternalReportDSL.g:17267:1: ( rule__DatamartTableHeader__Group_2_0__0__Impl rule__DatamartTableHeader__Group_2_0__1 )
+            // InternalReportDSL.g:17268:2: rule__DatamartTableHeader__Group_2_0__0__Impl rule__DatamartTableHeader__Group_2_0__1
             {
             pushFollow(FOLLOW_7);
-            rule__DatamartTableGroup__Group_8_1__0__Impl();
+            rule__DatamartTableHeader__Group_2_0__0__Impl();
 
             state._fsp--;
             if (state.failed) return ;
             pushFollow(FOLLOW_2);
-            rule__DatamartTableGroup__Group_8_1__1();
+            rule__DatamartTableHeader__Group_2_0__1();
 
             state._fsp--;
             if (state.failed) return ;
@@ -58587,28 +58194,28 @@
         }
         return ;
     }
-    // $ANTLR end "rule__DatamartTableGroup__Group_8_1__0"
+    // $ANTLR end "rule__DatamartTableHeader__Group_2_0__0"
 
 
-    // $ANTLR start "rule__DatamartTableGroup__Group_8_1__0__Impl"
-    // InternalReportDSL.g:17349:1: rule__DatamartTableGroup__Group_8_1__0__Impl : ( 'style' ) ;
-    public final void rule__DatamartTableGroup__Group_8_1__0__Impl() throws RecognitionException {
+    // $ANTLR start "rule__DatamartTableHeader__Group_2_0__0__Impl"
+    // InternalReportDSL.g:17275:1: rule__DatamartTableHeader__Group_2_0__0__Impl : ( 'style' ) ;
+    public final void rule__DatamartTableHeader__Group_2_0__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:17353:1: ( ( 'style' ) )
-            // InternalReportDSL.g:17354:1: ( 'style' )
+            // InternalReportDSL.g:17279:1: ( ( 'style' ) )
+            // InternalReportDSL.g:17280:1: ( 'style' )
             {
-            // InternalReportDSL.g:17354:1: ( 'style' )
-            // InternalReportDSL.g:17355:2: 'style'
+            // InternalReportDSL.g:17280:1: ( 'style' )
+            // InternalReportDSL.g:17281:2: 'style'
             {
             if ( state.backtracking==0 ) {
-               before(grammarAccess.getDatamartTableGroupAccess().getStyleKeyword_8_1_0()); 
+               before(grammarAccess.getDatamartTableHeaderAccess().getStyleKeyword_2_0_0()); 
             }
-            match(input,152,FOLLOW_2); if (state.failed) return ;
+            match(input,158,FOLLOW_2); if (state.failed) return ;
             if ( state.backtracking==0 ) {
-               after(grammarAccess.getDatamartTableGroupAccess().getStyleKeyword_8_1_0()); 
+               after(grammarAccess.getDatamartTableHeaderAccess().getStyleKeyword_2_0_0()); 
             }
 
             }
@@ -58628,21 +58235,21 @@
         }
         return ;
     }
-    // $ANTLR end "rule__DatamartTableGroup__Group_8_1__0__Impl"
+    // $ANTLR end "rule__DatamartTableHeader__Group_2_0__0__Impl"
 
 
-    // $ANTLR start "rule__DatamartTableGroup__Group_8_1__1"
-    // InternalReportDSL.g:17364:1: rule__DatamartTableGroup__Group_8_1__1 : rule__DatamartTableGroup__Group_8_1__1__Impl ;
-    public final void rule__DatamartTableGroup__Group_8_1__1() throws RecognitionException {
+    // $ANTLR start "rule__DatamartTableHeader__Group_2_0__1"
+    // InternalReportDSL.g:17290:1: rule__DatamartTableHeader__Group_2_0__1 : rule__DatamartTableHeader__Group_2_0__1__Impl ;
+    public final void rule__DatamartTableHeader__Group_2_0__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:17368:1: ( rule__DatamartTableGroup__Group_8_1__1__Impl )
-            // InternalReportDSL.g:17369:2: rule__DatamartTableGroup__Group_8_1__1__Impl
+            // InternalReportDSL.g:17294:1: ( rule__DatamartTableHeader__Group_2_0__1__Impl )
+            // InternalReportDSL.g:17295:2: rule__DatamartTableHeader__Group_2_0__1__Impl
             {
             pushFollow(FOLLOW_2);
-            rule__DatamartTableGroup__Group_8_1__1__Impl();
+            rule__DatamartTableHeader__Group_2_0__1__Impl();
 
             state._fsp--;
             if (state.failed) return ;
@@ -58661,30 +58268,30 @@
         }
         return ;
     }
-    // $ANTLR end "rule__DatamartTableGroup__Group_8_1__1"
+    // $ANTLR end "rule__DatamartTableHeader__Group_2_0__1"
 
 
-    // $ANTLR start "rule__DatamartTableGroup__Group_8_1__1__Impl"
-    // InternalReportDSL.g:17375:1: rule__DatamartTableGroup__Group_8_1__1__Impl : ( ( rule__DatamartTableGroup__HeaderstyleAssignment_8_1_1 ) ) ;
-    public final void rule__DatamartTableGroup__Group_8_1__1__Impl() throws RecognitionException {
+    // $ANTLR start "rule__DatamartTableHeader__Group_2_0__1__Impl"
+    // InternalReportDSL.g:17301:1: rule__DatamartTableHeader__Group_2_0__1__Impl : ( ( rule__DatamartTableHeader__StyleAssignment_2_0_1 ) ) ;
+    public final void rule__DatamartTableHeader__Group_2_0__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:17379:1: ( ( ( rule__DatamartTableGroup__HeaderstyleAssignment_8_1_1 ) ) )
-            // InternalReportDSL.g:17380:1: ( ( rule__DatamartTableGroup__HeaderstyleAssignment_8_1_1 ) )
+            // InternalReportDSL.g:17305:1: ( ( ( rule__DatamartTableHeader__StyleAssignment_2_0_1 ) ) )
+            // InternalReportDSL.g:17306:1: ( ( rule__DatamartTableHeader__StyleAssignment_2_0_1 ) )
             {
-            // InternalReportDSL.g:17380:1: ( ( rule__DatamartTableGroup__HeaderstyleAssignment_8_1_1 ) )
-            // InternalReportDSL.g:17381:2: ( rule__DatamartTableGroup__HeaderstyleAssignment_8_1_1 )
+            // InternalReportDSL.g:17306:1: ( ( rule__DatamartTableHeader__StyleAssignment_2_0_1 ) )
+            // InternalReportDSL.g:17307:2: ( rule__DatamartTableHeader__StyleAssignment_2_0_1 )
             {
             if ( state.backtracking==0 ) {
-               before(grammarAccess.getDatamartTableGroupAccess().getHeaderstyleAssignment_8_1_1()); 
+               before(grammarAccess.getDatamartTableHeaderAccess().getStyleAssignment_2_0_1()); 
             }
-            // InternalReportDSL.g:17382:2: ( rule__DatamartTableGroup__HeaderstyleAssignment_8_1_1 )
-            // InternalReportDSL.g:17382:3: rule__DatamartTableGroup__HeaderstyleAssignment_8_1_1
+            // InternalReportDSL.g:17308:2: ( rule__DatamartTableHeader__StyleAssignment_2_0_1 )
+            // InternalReportDSL.g:17308:3: rule__DatamartTableHeader__StyleAssignment_2_0_1
             {
             pushFollow(FOLLOW_2);
-            rule__DatamartTableGroup__HeaderstyleAssignment_8_1_1();
+            rule__DatamartTableHeader__StyleAssignment_2_0_1();
 
             state._fsp--;
             if (state.failed) return ;
@@ -58692,7 +58299,7 @@
             }
 
             if ( state.backtracking==0 ) {
-               after(grammarAccess.getDatamartTableGroupAccess().getHeaderstyleAssignment_8_1_1()); 
+               after(grammarAccess.getDatamartTableHeaderAccess().getStyleAssignment_2_0_1()); 
             }
 
             }
@@ -58712,26 +58319,26 @@
         }
         return ;
     }
-    // $ANTLR end "rule__DatamartTableGroup__Group_8_1__1__Impl"
+    // $ANTLR end "rule__DatamartTableHeader__Group_2_0__1__Impl"
 
 
-    // $ANTLR start "rule__DatamartTableGroup__Group_9__0"
-    // InternalReportDSL.g:17391:1: rule__DatamartTableGroup__Group_9__0 : rule__DatamartTableGroup__Group_9__0__Impl rule__DatamartTableGroup__Group_9__1 ;
-    public final void rule__DatamartTableGroup__Group_9__0() throws RecognitionException {
+    // $ANTLR start "rule__DatamartTableHeader__Group_3__0"
+    // InternalReportDSL.g:17317:1: rule__DatamartTableHeader__Group_3__0 : rule__DatamartTableHeader__Group_3__0__Impl rule__DatamartTableHeader__Group_3__1 ;
+    public final void rule__DatamartTableHeader__Group_3__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:17395:1: ( rule__DatamartTableGroup__Group_9__0__Impl rule__DatamartTableGroup__Group_9__1 )
-            // InternalReportDSL.g:17396:2: rule__DatamartTableGroup__Group_9__0__Impl rule__DatamartTableGroup__Group_9__1
+            // InternalReportDSL.g:17321:1: ( rule__DatamartTableHeader__Group_3__0__Impl rule__DatamartTableHeader__Group_3__1 )
+            // InternalReportDSL.g:17322:2: rule__DatamartTableHeader__Group_3__0__Impl rule__DatamartTableHeader__Group_3__1
             {
-            pushFollow(FOLLOW_88);
-            rule__DatamartTableGroup__Group_9__0__Impl();
+            pushFollow(FOLLOW_78);
+            rule__DatamartTableHeader__Group_3__0__Impl();
 
             state._fsp--;
             if (state.failed) return ;
             pushFollow(FOLLOW_2);
-            rule__DatamartTableGroup__Group_9__1();
+            rule__DatamartTableHeader__Group_3__1();
 
             state._fsp--;
             if (state.failed) return ;
@@ -58750,38 +58357,28 @@
         }
         return ;
     }
-    // $ANTLR end "rule__DatamartTableGroup__Group_9__0"
+    // $ANTLR end "rule__DatamartTableHeader__Group_3__0"
 
 
-    // $ANTLR start "rule__DatamartTableGroup__Group_9__0__Impl"
-    // InternalReportDSL.g:17403:1: rule__DatamartTableGroup__Group_9__0__Impl : ( ( rule__DatamartTableGroup__DetailfooterAssignment_9_0 ) ) ;
-    public final void rule__DatamartTableGroup__Group_9__0__Impl() throws RecognitionException {
+    // $ANTLR start "rule__DatamartTableHeader__Group_3__0__Impl"
+    // InternalReportDSL.g:17329:1: rule__DatamartTableHeader__Group_3__0__Impl : ( '{' ) ;
+    public final void rule__DatamartTableHeader__Group_3__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:17407:1: ( ( ( rule__DatamartTableGroup__DetailfooterAssignment_9_0 ) ) )
-            // InternalReportDSL.g:17408:1: ( ( rule__DatamartTableGroup__DetailfooterAssignment_9_0 ) )
+            // InternalReportDSL.g:17333:1: ( ( '{' ) )
+            // InternalReportDSL.g:17334:1: ( '{' )
             {
-            // InternalReportDSL.g:17408:1: ( ( rule__DatamartTableGroup__DetailfooterAssignment_9_0 ) )
-            // InternalReportDSL.g:17409:2: ( rule__DatamartTableGroup__DetailfooterAssignment_9_0 )
+            // InternalReportDSL.g:17334:1: ( '{' )
+            // InternalReportDSL.g:17335:2: '{'
             {
             if ( state.backtracking==0 ) {
-               before(grammarAccess.getDatamartTableGroupAccess().getDetailfooterAssignment_9_0()); 
+               before(grammarAccess.getDatamartTableHeaderAccess().getLeftCurlyBracketKeyword_3_0()); 
             }
-            // InternalReportDSL.g:17410:2: ( rule__DatamartTableGroup__DetailfooterAssignment_9_0 )
-            // InternalReportDSL.g:17410:3: rule__DatamartTableGroup__DetailfooterAssignment_9_0
-            {
-            pushFollow(FOLLOW_2);
-            rule__DatamartTableGroup__DetailfooterAssignment_9_0();
-
-            state._fsp--;
-            if (state.failed) return ;
-
-            }
-
+            match(input,131,FOLLOW_2); if (state.failed) return ;
             if ( state.backtracking==0 ) {
-               after(grammarAccess.getDatamartTableGroupAccess().getDetailfooterAssignment_9_0()); 
+               after(grammarAccess.getDatamartTableHeaderAccess().getLeftCurlyBracketKeyword_3_0()); 
             }
 
             }
@@ -58801,121 +58398,26 @@
         }
         return ;
     }
-    // $ANTLR end "rule__DatamartTableGroup__Group_9__0__Impl"
+    // $ANTLR end "rule__DatamartTableHeader__Group_3__0__Impl"
 
 
-    // $ANTLR start "rule__DatamartTableGroup__Group_9__1"
-    // InternalReportDSL.g:17418:1: rule__DatamartTableGroup__Group_9__1 : rule__DatamartTableGroup__Group_9__1__Impl ;
-    public final void rule__DatamartTableGroup__Group_9__1() throws RecognitionException {
+    // $ANTLR start "rule__DatamartTableHeader__Group_3__1"
+    // InternalReportDSL.g:17344:1: rule__DatamartTableHeader__Group_3__1 : rule__DatamartTableHeader__Group_3__1__Impl rule__DatamartTableHeader__Group_3__2 ;
+    public final void rule__DatamartTableHeader__Group_3__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:17422:1: ( rule__DatamartTableGroup__Group_9__1__Impl )
-            // InternalReportDSL.g:17423:2: rule__DatamartTableGroup__Group_9__1__Impl
+            // InternalReportDSL.g:17348:1: ( rule__DatamartTableHeader__Group_3__1__Impl rule__DatamartTableHeader__Group_3__2 )
+            // InternalReportDSL.g:17349:2: rule__DatamartTableHeader__Group_3__1__Impl rule__DatamartTableHeader__Group_3__2
             {
-            pushFollow(FOLLOW_2);
-            rule__DatamartTableGroup__Group_9__1__Impl();
-
-            state._fsp--;
-            if (state.failed) return ;
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__DatamartTableGroup__Group_9__1"
-
-
-    // $ANTLR start "rule__DatamartTableGroup__Group_9__1__Impl"
-    // InternalReportDSL.g:17429:1: rule__DatamartTableGroup__Group_9__1__Impl : ( ( rule__DatamartTableGroup__Group_9_1__0 )? ) ;
-    public final void rule__DatamartTableGroup__Group_9__1__Impl() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-        	
-        try {
-            // InternalReportDSL.g:17433:1: ( ( ( rule__DatamartTableGroup__Group_9_1__0 )? ) )
-            // InternalReportDSL.g:17434:1: ( ( rule__DatamartTableGroup__Group_9_1__0 )? )
-            {
-            // InternalReportDSL.g:17434:1: ( ( rule__DatamartTableGroup__Group_9_1__0 )? )
-            // InternalReportDSL.g:17435:2: ( rule__DatamartTableGroup__Group_9_1__0 )?
-            {
-            if ( state.backtracking==0 ) {
-               before(grammarAccess.getDatamartTableGroupAccess().getGroup_9_1()); 
-            }
-            // InternalReportDSL.g:17436:2: ( rule__DatamartTableGroup__Group_9_1__0 )?
-            int alt138=2;
-            int LA138_0 = input.LA(1);
-
-            if ( (LA138_0==152) ) {
-                alt138=1;
-            }
-            switch (alt138) {
-                case 1 :
-                    // InternalReportDSL.g:17436:3: rule__DatamartTableGroup__Group_9_1__0
-                    {
-                    pushFollow(FOLLOW_2);
-                    rule__DatamartTableGroup__Group_9_1__0();
-
-                    state._fsp--;
-                    if (state.failed) return ;
-
-                    }
-                    break;
-
-            }
-
-            if ( state.backtracking==0 ) {
-               after(grammarAccess.getDatamartTableGroupAccess().getGroup_9_1()); 
-            }
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__DatamartTableGroup__Group_9__1__Impl"
-
-
-    // $ANTLR start "rule__DatamartTableGroup__Group_9_1__0"
-    // InternalReportDSL.g:17445:1: rule__DatamartTableGroup__Group_9_1__0 : rule__DatamartTableGroup__Group_9_1__0__Impl rule__DatamartTableGroup__Group_9_1__1 ;
-    public final void rule__DatamartTableGroup__Group_9_1__0() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-        	
-        try {
-            // InternalReportDSL.g:17449:1: ( rule__DatamartTableGroup__Group_9_1__0__Impl rule__DatamartTableGroup__Group_9_1__1 )
-            // InternalReportDSL.g:17450:2: rule__DatamartTableGroup__Group_9_1__0__Impl rule__DatamartTableGroup__Group_9_1__1
-            {
-            pushFollow(FOLLOW_7);
-            rule__DatamartTableGroup__Group_9_1__0__Impl();
+            pushFollow(FOLLOW_78);
+            rule__DatamartTableHeader__Group_3__1__Impl();
 
             state._fsp--;
             if (state.failed) return ;
             pushFollow(FOLLOW_2);
-            rule__DatamartTableGroup__Group_9_1__1();
+            rule__DatamartTableHeader__Group_3__2();
 
             state._fsp--;
             if (state.failed) return ;
@@ -58934,642 +58436,42 @@
         }
         return ;
     }
-    // $ANTLR end "rule__DatamartTableGroup__Group_9_1__0"
+    // $ANTLR end "rule__DatamartTableHeader__Group_3__1"
 
 
-    // $ANTLR start "rule__DatamartTableGroup__Group_9_1__0__Impl"
-    // InternalReportDSL.g:17457:1: rule__DatamartTableGroup__Group_9_1__0__Impl : ( 'style' ) ;
-    public final void rule__DatamartTableGroup__Group_9_1__0__Impl() throws RecognitionException {
+    // $ANTLR start "rule__DatamartTableHeader__Group_3__1__Impl"
+    // InternalReportDSL.g:17356:1: rule__DatamartTableHeader__Group_3__1__Impl : ( ( rule__DatamartTableHeader__RowsAssignment_3_1 )* ) ;
+    public final void rule__DatamartTableHeader__Group_3__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:17461:1: ( ( 'style' ) )
-            // InternalReportDSL.g:17462:1: ( 'style' )
+            // InternalReportDSL.g:17360:1: ( ( ( rule__DatamartTableHeader__RowsAssignment_3_1 )* ) )
+            // InternalReportDSL.g:17361:1: ( ( rule__DatamartTableHeader__RowsAssignment_3_1 )* )
             {
-            // InternalReportDSL.g:17462:1: ( 'style' )
-            // InternalReportDSL.g:17463:2: 'style'
+            // InternalReportDSL.g:17361:1: ( ( rule__DatamartTableHeader__RowsAssignment_3_1 )* )
+            // InternalReportDSL.g:17362:2: ( rule__DatamartTableHeader__RowsAssignment_3_1 )*
             {
             if ( state.backtracking==0 ) {
-               before(grammarAccess.getDatamartTableGroupAccess().getStyleKeyword_9_1_0()); 
+               before(grammarAccess.getDatamartTableHeaderAccess().getRowsAssignment_3_1()); 
             }
-            match(input,152,FOLLOW_2); if (state.failed) return ;
-            if ( state.backtracking==0 ) {
-               after(grammarAccess.getDatamartTableGroupAccess().getStyleKeyword_9_1_0()); 
-            }
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__DatamartTableGroup__Group_9_1__0__Impl"
-
-
-    // $ANTLR start "rule__DatamartTableGroup__Group_9_1__1"
-    // InternalReportDSL.g:17472:1: rule__DatamartTableGroup__Group_9_1__1 : rule__DatamartTableGroup__Group_9_1__1__Impl ;
-    public final void rule__DatamartTableGroup__Group_9_1__1() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-        	
-        try {
-            // InternalReportDSL.g:17476:1: ( rule__DatamartTableGroup__Group_9_1__1__Impl )
-            // InternalReportDSL.g:17477:2: rule__DatamartTableGroup__Group_9_1__1__Impl
-            {
-            pushFollow(FOLLOW_2);
-            rule__DatamartTableGroup__Group_9_1__1__Impl();
-
-            state._fsp--;
-            if (state.failed) return ;
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__DatamartTableGroup__Group_9_1__1"
-
-
-    // $ANTLR start "rule__DatamartTableGroup__Group_9_1__1__Impl"
-    // InternalReportDSL.g:17483:1: rule__DatamartTableGroup__Group_9_1__1__Impl : ( ( rule__DatamartTableGroup__FooterstyleAssignment_9_1_1 ) ) ;
-    public final void rule__DatamartTableGroup__Group_9_1__1__Impl() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-        	
-        try {
-            // InternalReportDSL.g:17487:1: ( ( ( rule__DatamartTableGroup__FooterstyleAssignment_9_1_1 ) ) )
-            // InternalReportDSL.g:17488:1: ( ( rule__DatamartTableGroup__FooterstyleAssignment_9_1_1 ) )
-            {
-            // InternalReportDSL.g:17488:1: ( ( rule__DatamartTableGroup__FooterstyleAssignment_9_1_1 ) )
-            // InternalReportDSL.g:17489:2: ( rule__DatamartTableGroup__FooterstyleAssignment_9_1_1 )
-            {
-            if ( state.backtracking==0 ) {
-               before(grammarAccess.getDatamartTableGroupAccess().getFooterstyleAssignment_9_1_1()); 
-            }
-            // InternalReportDSL.g:17490:2: ( rule__DatamartTableGroup__FooterstyleAssignment_9_1_1 )
-            // InternalReportDSL.g:17490:3: rule__DatamartTableGroup__FooterstyleAssignment_9_1_1
-            {
-            pushFollow(FOLLOW_2);
-            rule__DatamartTableGroup__FooterstyleAssignment_9_1_1();
-
-            state._fsp--;
-            if (state.failed) return ;
-
-            }
-
-            if ( state.backtracking==0 ) {
-               after(grammarAccess.getDatamartTableGroupAccess().getFooterstyleAssignment_9_1_1()); 
-            }
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__DatamartTableGroup__Group_9_1__1__Impl"
-
-
-    // $ANTLR start "rule__DatamartTableGroupHeader__Group__0"
-    // InternalReportDSL.g:17499:1: rule__DatamartTableGroupHeader__Group__0 : rule__DatamartTableGroupHeader__Group__0__Impl rule__DatamartTableGroupHeader__Group__1 ;
-    public final void rule__DatamartTableGroupHeader__Group__0() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-        	
-        try {
-            // InternalReportDSL.g:17503:1: ( rule__DatamartTableGroupHeader__Group__0__Impl rule__DatamartTableGroupHeader__Group__1 )
-            // InternalReportDSL.g:17504:2: rule__DatamartTableGroupHeader__Group__0__Impl rule__DatamartTableGroupHeader__Group__1
-            {
-            pushFollow(FOLLOW_69);
-            rule__DatamartTableGroupHeader__Group__0__Impl();
-
-            state._fsp--;
-            if (state.failed) return ;
-            pushFollow(FOLLOW_2);
-            rule__DatamartTableGroupHeader__Group__1();
-
-            state._fsp--;
-            if (state.failed) return ;
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__DatamartTableGroupHeader__Group__0"
-
-
-    // $ANTLR start "rule__DatamartTableGroupHeader__Group__0__Impl"
-    // InternalReportDSL.g:17511:1: rule__DatamartTableGroupHeader__Group__0__Impl : ( () ) ;
-    public final void rule__DatamartTableGroupHeader__Group__0__Impl() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-        	
-        try {
-            // InternalReportDSL.g:17515:1: ( ( () ) )
-            // InternalReportDSL.g:17516:1: ( () )
-            {
-            // InternalReportDSL.g:17516:1: ( () )
-            // InternalReportDSL.g:17517:2: ()
-            {
-            if ( state.backtracking==0 ) {
-               before(grammarAccess.getDatamartTableGroupHeaderAccess().getDatamartTableGroupHeaderAction_0()); 
-            }
-            // InternalReportDSL.g:17518:2: ()
-            // InternalReportDSL.g:17518:3: 
-            {
-            }
-
-            if ( state.backtracking==0 ) {
-               after(grammarAccess.getDatamartTableGroupHeaderAccess().getDatamartTableGroupHeaderAction_0()); 
-            }
-
-            }
-
-
-            }
-
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__DatamartTableGroupHeader__Group__0__Impl"
-
-
-    // $ANTLR start "rule__DatamartTableGroupHeader__Group__1"
-    // InternalReportDSL.g:17526:1: rule__DatamartTableGroupHeader__Group__1 : rule__DatamartTableGroupHeader__Group__1__Impl rule__DatamartTableGroupHeader__Group__2 ;
-    public final void rule__DatamartTableGroupHeader__Group__1() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-        	
-        try {
-            // InternalReportDSL.g:17530:1: ( rule__DatamartTableGroupHeader__Group__1__Impl rule__DatamartTableGroupHeader__Group__2 )
-            // InternalReportDSL.g:17531:2: rule__DatamartTableGroupHeader__Group__1__Impl rule__DatamartTableGroupHeader__Group__2
-            {
-            pushFollow(FOLLOW_92);
-            rule__DatamartTableGroupHeader__Group__1__Impl();
-
-            state._fsp--;
-            if (state.failed) return ;
-            pushFollow(FOLLOW_2);
-            rule__DatamartTableGroupHeader__Group__2();
-
-            state._fsp--;
-            if (state.failed) return ;
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__DatamartTableGroupHeader__Group__1"
-
-
-    // $ANTLR start "rule__DatamartTableGroupHeader__Group__1__Impl"
-    // InternalReportDSL.g:17538:1: rule__DatamartTableGroupHeader__Group__1__Impl : ( 'header' ) ;
-    public final void rule__DatamartTableGroupHeader__Group__1__Impl() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-        	
-        try {
-            // InternalReportDSL.g:17542:1: ( ( 'header' ) )
-            // InternalReportDSL.g:17543:1: ( 'header' )
-            {
-            // InternalReportDSL.g:17543:1: ( 'header' )
-            // InternalReportDSL.g:17544:2: 'header'
-            {
-            if ( state.backtracking==0 ) {
-               before(grammarAccess.getDatamartTableGroupHeaderAccess().getHeaderKeyword_1()); 
-            }
-            match(input,184,FOLLOW_2); if (state.failed) return ;
-            if ( state.backtracking==0 ) {
-               after(grammarAccess.getDatamartTableGroupHeaderAccess().getHeaderKeyword_1()); 
-            }
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__DatamartTableGroupHeader__Group__1__Impl"
-
-
-    // $ANTLR start "rule__DatamartTableGroupHeader__Group__2"
-    // InternalReportDSL.g:17553:1: rule__DatamartTableGroupHeader__Group__2 : rule__DatamartTableGroupHeader__Group__2__Impl rule__DatamartTableGroupHeader__Group__3 ;
-    public final void rule__DatamartTableGroupHeader__Group__2() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-        	
-        try {
-            // InternalReportDSL.g:17557:1: ( rule__DatamartTableGroupHeader__Group__2__Impl rule__DatamartTableGroupHeader__Group__3 )
-            // InternalReportDSL.g:17558:2: rule__DatamartTableGroupHeader__Group__2__Impl rule__DatamartTableGroupHeader__Group__3
-            {
-            pushFollow(FOLLOW_92);
-            rule__DatamartTableGroupHeader__Group__2__Impl();
-
-            state._fsp--;
-            if (state.failed) return ;
-            pushFollow(FOLLOW_2);
-            rule__DatamartTableGroupHeader__Group__3();
-
-            state._fsp--;
-            if (state.failed) return ;
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__DatamartTableGroupHeader__Group__2"
-
-
-    // $ANTLR start "rule__DatamartTableGroupHeader__Group__2__Impl"
-    // InternalReportDSL.g:17565:1: rule__DatamartTableGroupHeader__Group__2__Impl : ( ( rule__DatamartTableGroupHeader__Group_2__0 )? ) ;
-    public final void rule__DatamartTableGroupHeader__Group__2__Impl() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-        	
-        try {
-            // InternalReportDSL.g:17569:1: ( ( ( rule__DatamartTableGroupHeader__Group_2__0 )? ) )
-            // InternalReportDSL.g:17570:1: ( ( rule__DatamartTableGroupHeader__Group_2__0 )? )
-            {
-            // InternalReportDSL.g:17570:1: ( ( rule__DatamartTableGroupHeader__Group_2__0 )? )
-            // InternalReportDSL.g:17571:2: ( rule__DatamartTableGroupHeader__Group_2__0 )?
-            {
-            if ( state.backtracking==0 ) {
-               before(grammarAccess.getDatamartTableGroupHeaderAccess().getGroup_2()); 
-            }
-            // InternalReportDSL.g:17572:2: ( rule__DatamartTableGroupHeader__Group_2__0 )?
-            int alt139=2;
-            int LA139_0 = input.LA(1);
-
-            if ( (LA139_0==152) ) {
-                alt139=1;
-            }
-            switch (alt139) {
-                case 1 :
-                    // InternalReportDSL.g:17572:3: rule__DatamartTableGroupHeader__Group_2__0
-                    {
-                    pushFollow(FOLLOW_2);
-                    rule__DatamartTableGroupHeader__Group_2__0();
-
-                    state._fsp--;
-                    if (state.failed) return ;
-
-                    }
-                    break;
-
-            }
-
-            if ( state.backtracking==0 ) {
-               after(grammarAccess.getDatamartTableGroupHeaderAccess().getGroup_2()); 
-            }
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__DatamartTableGroupHeader__Group__2__Impl"
-
-
-    // $ANTLR start "rule__DatamartTableGroupHeader__Group__3"
-    // InternalReportDSL.g:17580:1: rule__DatamartTableGroupHeader__Group__3 : rule__DatamartTableGroupHeader__Group__3__Impl rule__DatamartTableGroupHeader__Group__4 ;
-    public final void rule__DatamartTableGroupHeader__Group__3() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-        	
-        try {
-            // InternalReportDSL.g:17584:1: ( rule__DatamartTableGroupHeader__Group__3__Impl rule__DatamartTableGroupHeader__Group__4 )
-            // InternalReportDSL.g:17585:2: rule__DatamartTableGroupHeader__Group__3__Impl rule__DatamartTableGroupHeader__Group__4
-            {
-            pushFollow(FOLLOW_92);
-            rule__DatamartTableGroupHeader__Group__3__Impl();
-
-            state._fsp--;
-            if (state.failed) return ;
-            pushFollow(FOLLOW_2);
-            rule__DatamartTableGroupHeader__Group__4();
-
-            state._fsp--;
-            if (state.failed) return ;
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__DatamartTableGroupHeader__Group__3"
-
-
-    // $ANTLR start "rule__DatamartTableGroupHeader__Group__3__Impl"
-    // InternalReportDSL.g:17592:1: rule__DatamartTableGroupHeader__Group__3__Impl : ( ( rule__DatamartTableGroupHeader__PageBreakAssignment_3 )? ) ;
-    public final void rule__DatamartTableGroupHeader__Group__3__Impl() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-        	
-        try {
-            // InternalReportDSL.g:17596:1: ( ( ( rule__DatamartTableGroupHeader__PageBreakAssignment_3 )? ) )
-            // InternalReportDSL.g:17597:1: ( ( rule__DatamartTableGroupHeader__PageBreakAssignment_3 )? )
-            {
-            // InternalReportDSL.g:17597:1: ( ( rule__DatamartTableGroupHeader__PageBreakAssignment_3 )? )
-            // InternalReportDSL.g:17598:2: ( rule__DatamartTableGroupHeader__PageBreakAssignment_3 )?
-            {
-            if ( state.backtracking==0 ) {
-               before(grammarAccess.getDatamartTableGroupHeaderAccess().getPageBreakAssignment_3()); 
-            }
-            // InternalReportDSL.g:17599:2: ( rule__DatamartTableGroupHeader__PageBreakAssignment_3 )?
-            int alt140=2;
-            int LA140_0 = input.LA(1);
-
-            if ( (LA140_0==209) ) {
-                alt140=1;
-            }
-            switch (alt140) {
-                case 1 :
-                    // InternalReportDSL.g:17599:3: rule__DatamartTableGroupHeader__PageBreakAssignment_3
-                    {
-                    pushFollow(FOLLOW_2);
-                    rule__DatamartTableGroupHeader__PageBreakAssignment_3();
-
-                    state._fsp--;
-                    if (state.failed) return ;
-
-                    }
-                    break;
-
-            }
-
-            if ( state.backtracking==0 ) {
-               after(grammarAccess.getDatamartTableGroupHeaderAccess().getPageBreakAssignment_3()); 
-            }
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__DatamartTableGroupHeader__Group__3__Impl"
-
-
-    // $ANTLR start "rule__DatamartTableGroupHeader__Group__4"
-    // InternalReportDSL.g:17607:1: rule__DatamartTableGroupHeader__Group__4 : rule__DatamartTableGroupHeader__Group__4__Impl rule__DatamartTableGroupHeader__Group__5 ;
-    public final void rule__DatamartTableGroupHeader__Group__4() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-        	
-        try {
-            // InternalReportDSL.g:17611:1: ( rule__DatamartTableGroupHeader__Group__4__Impl rule__DatamartTableGroupHeader__Group__5 )
-            // InternalReportDSL.g:17612:2: rule__DatamartTableGroupHeader__Group__4__Impl rule__DatamartTableGroupHeader__Group__5
-            {
-            pushFollow(FOLLOW_77);
-            rule__DatamartTableGroupHeader__Group__4__Impl();
-
-            state._fsp--;
-            if (state.failed) return ;
-            pushFollow(FOLLOW_2);
-            rule__DatamartTableGroupHeader__Group__5();
-
-            state._fsp--;
-            if (state.failed) return ;
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__DatamartTableGroupHeader__Group__4"
-
-
-    // $ANTLR start "rule__DatamartTableGroupHeader__Group__4__Impl"
-    // InternalReportDSL.g:17619:1: rule__DatamartTableGroupHeader__Group__4__Impl : ( '{' ) ;
-    public final void rule__DatamartTableGroupHeader__Group__4__Impl() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-        	
-        try {
-            // InternalReportDSL.g:17623:1: ( ( '{' ) )
-            // InternalReportDSL.g:17624:1: ( '{' )
-            {
-            // InternalReportDSL.g:17624:1: ( '{' )
-            // InternalReportDSL.g:17625:2: '{'
-            {
-            if ( state.backtracking==0 ) {
-               before(grammarAccess.getDatamartTableGroupHeaderAccess().getLeftCurlyBracketKeyword_4()); 
-            }
-            match(input,125,FOLLOW_2); if (state.failed) return ;
-            if ( state.backtracking==0 ) {
-               after(grammarAccess.getDatamartTableGroupHeaderAccess().getLeftCurlyBracketKeyword_4()); 
-            }
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__DatamartTableGroupHeader__Group__4__Impl"
-
-
-    // $ANTLR start "rule__DatamartTableGroupHeader__Group__5"
-    // InternalReportDSL.g:17634:1: rule__DatamartTableGroupHeader__Group__5 : rule__DatamartTableGroupHeader__Group__5__Impl rule__DatamartTableGroupHeader__Group__6 ;
-    public final void rule__DatamartTableGroupHeader__Group__5() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-        	
-        try {
-            // InternalReportDSL.g:17638:1: ( rule__DatamartTableGroupHeader__Group__5__Impl rule__DatamartTableGroupHeader__Group__6 )
-            // InternalReportDSL.g:17639:2: rule__DatamartTableGroupHeader__Group__5__Impl rule__DatamartTableGroupHeader__Group__6
-            {
-            pushFollow(FOLLOW_77);
-            rule__DatamartTableGroupHeader__Group__5__Impl();
-
-            state._fsp--;
-            if (state.failed) return ;
-            pushFollow(FOLLOW_2);
-            rule__DatamartTableGroupHeader__Group__6();
-
-            state._fsp--;
-            if (state.failed) return ;
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__DatamartTableGroupHeader__Group__5"
-
-
-    // $ANTLR start "rule__DatamartTableGroupHeader__Group__5__Impl"
-    // InternalReportDSL.g:17646:1: rule__DatamartTableGroupHeader__Group__5__Impl : ( ( rule__DatamartTableGroupHeader__RowsAssignment_5 )* ) ;
-    public final void rule__DatamartTableGroupHeader__Group__5__Impl() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-        	
-        try {
-            // InternalReportDSL.g:17650:1: ( ( ( rule__DatamartTableGroupHeader__RowsAssignment_5 )* ) )
-            // InternalReportDSL.g:17651:1: ( ( rule__DatamartTableGroupHeader__RowsAssignment_5 )* )
-            {
-            // InternalReportDSL.g:17651:1: ( ( rule__DatamartTableGroupHeader__RowsAssignment_5 )* )
-            // InternalReportDSL.g:17652:2: ( rule__DatamartTableGroupHeader__RowsAssignment_5 )*
-            {
-            if ( state.backtracking==0 ) {
-               before(grammarAccess.getDatamartTableGroupHeaderAccess().getRowsAssignment_5()); 
-            }
-            // InternalReportDSL.g:17653:2: ( rule__DatamartTableGroupHeader__RowsAssignment_5 )*
-            loop141:
+            // InternalReportDSL.g:17363:2: ( rule__DatamartTableHeader__RowsAssignment_3_1 )*
+            loop124:
             do {
-                int alt141=2;
-                int LA141_0 = input.LA(1);
+                int alt124=2;
+                int LA124_0 = input.LA(1);
 
-                if ( (LA141_0==191) ) {
-                    alt141=1;
+                if ( (LA124_0==198) ) {
+                    alt124=1;
                 }
 
 
-                switch (alt141) {
+                switch (alt124) {
             	case 1 :
-            	    // InternalReportDSL.g:17653:3: rule__DatamartTableGroupHeader__RowsAssignment_5
+            	    // InternalReportDSL.g:17363:3: rule__DatamartTableHeader__RowsAssignment_3_1
             	    {
-            	    pushFollow(FOLLOW_78);
-            	    rule__DatamartTableGroupHeader__RowsAssignment_5();
+            	    pushFollow(FOLLOW_79);
+            	    rule__DatamartTableHeader__RowsAssignment_3_1();
 
             	    state._fsp--;
             	    if (state.failed) return ;
@@ -59578,12 +58480,12 @@
             	    break;
 
             	default :
-            	    break loop141;
+            	    break loop124;
                 }
             } while (true);
 
             if ( state.backtracking==0 ) {
-               after(grammarAccess.getDatamartTableGroupHeaderAccess().getRowsAssignment_5()); 
+               after(grammarAccess.getDatamartTableHeaderAccess().getRowsAssignment_3_1()); 
             }
 
             }
@@ -59603,21 +58505,21 @@
         }
         return ;
     }
-    // $ANTLR end "rule__DatamartTableGroupHeader__Group__5__Impl"
+    // $ANTLR end "rule__DatamartTableHeader__Group_3__1__Impl"
 
 
-    // $ANTLR start "rule__DatamartTableGroupHeader__Group__6"
-    // InternalReportDSL.g:17661:1: rule__DatamartTableGroupHeader__Group__6 : rule__DatamartTableGroupHeader__Group__6__Impl ;
-    public final void rule__DatamartTableGroupHeader__Group__6() throws RecognitionException {
+    // $ANTLR start "rule__DatamartTableHeader__Group_3__2"
+    // InternalReportDSL.g:17371:1: rule__DatamartTableHeader__Group_3__2 : rule__DatamartTableHeader__Group_3__2__Impl ;
+    public final void rule__DatamartTableHeader__Group_3__2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:17665:1: ( rule__DatamartTableGroupHeader__Group__6__Impl )
-            // InternalReportDSL.g:17666:2: rule__DatamartTableGroupHeader__Group__6__Impl
+            // InternalReportDSL.g:17375:1: ( rule__DatamartTableHeader__Group_3__2__Impl )
+            // InternalReportDSL.g:17376:2: rule__DatamartTableHeader__Group_3__2__Impl
             {
             pushFollow(FOLLOW_2);
-            rule__DatamartTableGroupHeader__Group__6__Impl();
+            rule__DatamartTableHeader__Group_3__2__Impl();
 
             state._fsp--;
             if (state.failed) return ;
@@ -59636,28 +58538,28 @@
         }
         return ;
     }
-    // $ANTLR end "rule__DatamartTableGroupHeader__Group__6"
+    // $ANTLR end "rule__DatamartTableHeader__Group_3__2"
 
 
-    // $ANTLR start "rule__DatamartTableGroupHeader__Group__6__Impl"
-    // InternalReportDSL.g:17672:1: rule__DatamartTableGroupHeader__Group__6__Impl : ( '}' ) ;
-    public final void rule__DatamartTableGroupHeader__Group__6__Impl() throws RecognitionException {
+    // $ANTLR start "rule__DatamartTableHeader__Group_3__2__Impl"
+    // InternalReportDSL.g:17382:1: rule__DatamartTableHeader__Group_3__2__Impl : ( '}' ) ;
+    public final void rule__DatamartTableHeader__Group_3__2__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:17676:1: ( ( '}' ) )
-            // InternalReportDSL.g:17677:1: ( '}' )
+            // InternalReportDSL.g:17386:1: ( ( '}' ) )
+            // InternalReportDSL.g:17387:1: ( '}' )
             {
-            // InternalReportDSL.g:17677:1: ( '}' )
-            // InternalReportDSL.g:17678:2: '}'
+            // InternalReportDSL.g:17387:1: ( '}' )
+            // InternalReportDSL.g:17388:2: '}'
             {
             if ( state.backtracking==0 ) {
-               before(grammarAccess.getDatamartTableGroupHeaderAccess().getRightCurlyBracketKeyword_6()); 
+               before(grammarAccess.getDatamartTableHeaderAccess().getRightCurlyBracketKeyword_3_2()); 
             }
-            match(input,126,FOLLOW_2); if (state.failed) return ;
+            match(input,132,FOLLOW_2); if (state.failed) return ;
             if ( state.backtracking==0 ) {
-               after(grammarAccess.getDatamartTableGroupHeaderAccess().getRightCurlyBracketKeyword_6()); 
+               after(grammarAccess.getDatamartTableHeaderAccess().getRightCurlyBracketKeyword_3_2()); 
             }
 
             }
@@ -59677,26 +58579,368 @@
         }
         return ;
     }
-    // $ANTLR end "rule__DatamartTableGroupHeader__Group__6__Impl"
+    // $ANTLR end "rule__DatamartTableHeader__Group_3__2__Impl"
 
 
-    // $ANTLR start "rule__DatamartTableGroupHeader__Group_2__0"
-    // InternalReportDSL.g:17688:1: rule__DatamartTableGroupHeader__Group_2__0 : rule__DatamartTableGroupHeader__Group_2__0__Impl rule__DatamartTableGroupHeader__Group_2__1 ;
-    public final void rule__DatamartTableGroupHeader__Group_2__0() throws RecognitionException {
+    // $ANTLR start "rule__DatamartTableFooter__Group__0"
+    // InternalReportDSL.g:17398:1: rule__DatamartTableFooter__Group__0 : rule__DatamartTableFooter__Group__0__Impl rule__DatamartTableFooter__Group__1 ;
+    public final void rule__DatamartTableFooter__Group__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:17692:1: ( rule__DatamartTableGroupHeader__Group_2__0__Impl rule__DatamartTableGroupHeader__Group_2__1 )
-            // InternalReportDSL.g:17693:2: rule__DatamartTableGroupHeader__Group_2__0__Impl rule__DatamartTableGroupHeader__Group_2__1
+            // InternalReportDSL.g:17402:1: ( rule__DatamartTableFooter__Group__0__Impl rule__DatamartTableFooter__Group__1 )
+            // InternalReportDSL.g:17403:2: rule__DatamartTableFooter__Group__0__Impl rule__DatamartTableFooter__Group__1
+            {
+            pushFollow(FOLLOW_75);
+            rule__DatamartTableFooter__Group__0__Impl();
+
+            state._fsp--;
+            if (state.failed) return ;
+            pushFollow(FOLLOW_2);
+            rule__DatamartTableFooter__Group__1();
+
+            state._fsp--;
+            if (state.failed) return ;
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__DatamartTableFooter__Group__0"
+
+
+    // $ANTLR start "rule__DatamartTableFooter__Group__0__Impl"
+    // InternalReportDSL.g:17410:1: rule__DatamartTableFooter__Group__0__Impl : ( () ) ;
+    public final void rule__DatamartTableFooter__Group__0__Impl() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+        	
+        try {
+            // InternalReportDSL.g:17414:1: ( ( () ) )
+            // InternalReportDSL.g:17415:1: ( () )
+            {
+            // InternalReportDSL.g:17415:1: ( () )
+            // InternalReportDSL.g:17416:2: ()
+            {
+            if ( state.backtracking==0 ) {
+               before(grammarAccess.getDatamartTableFooterAccess().getDatamartTableFooterAction_0()); 
+            }
+            // InternalReportDSL.g:17417:2: ()
+            // InternalReportDSL.g:17417:3: 
+            {
+            }
+
+            if ( state.backtracking==0 ) {
+               after(grammarAccess.getDatamartTableFooterAccess().getDatamartTableFooterAction_0()); 
+            }
+
+            }
+
+
+            }
+
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__DatamartTableFooter__Group__0__Impl"
+
+
+    // $ANTLR start "rule__DatamartTableFooter__Group__1"
+    // InternalReportDSL.g:17425:1: rule__DatamartTableFooter__Group__1 : rule__DatamartTableFooter__Group__1__Impl rule__DatamartTableFooter__Group__2 ;
+    public final void rule__DatamartTableFooter__Group__1() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+        	
+        try {
+            // InternalReportDSL.g:17429:1: ( rule__DatamartTableFooter__Group__1__Impl rule__DatamartTableFooter__Group__2 )
+            // InternalReportDSL.g:17430:2: rule__DatamartTableFooter__Group__1__Impl rule__DatamartTableFooter__Group__2
+            {
+            pushFollow(FOLLOW_91);
+            rule__DatamartTableFooter__Group__1__Impl();
+
+            state._fsp--;
+            if (state.failed) return ;
+            pushFollow(FOLLOW_2);
+            rule__DatamartTableFooter__Group__2();
+
+            state._fsp--;
+            if (state.failed) return ;
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__DatamartTableFooter__Group__1"
+
+
+    // $ANTLR start "rule__DatamartTableFooter__Group__1__Impl"
+    // InternalReportDSL.g:17437:1: rule__DatamartTableFooter__Group__1__Impl : ( 'footer' ) ;
+    public final void rule__DatamartTableFooter__Group__1__Impl() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+        	
+        try {
+            // InternalReportDSL.g:17441:1: ( ( 'footer' ) )
+            // InternalReportDSL.g:17442:1: ( 'footer' )
+            {
+            // InternalReportDSL.g:17442:1: ( 'footer' )
+            // InternalReportDSL.g:17443:2: 'footer'
+            {
+            if ( state.backtracking==0 ) {
+               before(grammarAccess.getDatamartTableFooterAccess().getFooterKeyword_1()); 
+            }
+            match(input,194,FOLLOW_2); if (state.failed) return ;
+            if ( state.backtracking==0 ) {
+               after(grammarAccess.getDatamartTableFooterAccess().getFooterKeyword_1()); 
+            }
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__DatamartTableFooter__Group__1__Impl"
+
+
+    // $ANTLR start "rule__DatamartTableFooter__Group__2"
+    // InternalReportDSL.g:17452:1: rule__DatamartTableFooter__Group__2 : rule__DatamartTableFooter__Group__2__Impl rule__DatamartTableFooter__Group__3 ;
+    public final void rule__DatamartTableFooter__Group__2() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+        	
+        try {
+            // InternalReportDSL.g:17456:1: ( rule__DatamartTableFooter__Group__2__Impl rule__DatamartTableFooter__Group__3 )
+            // InternalReportDSL.g:17457:2: rule__DatamartTableFooter__Group__2__Impl rule__DatamartTableFooter__Group__3
+            {
+            pushFollow(FOLLOW_8);
+            rule__DatamartTableFooter__Group__2__Impl();
+
+            state._fsp--;
+            if (state.failed) return ;
+            pushFollow(FOLLOW_2);
+            rule__DatamartTableFooter__Group__3();
+
+            state._fsp--;
+            if (state.failed) return ;
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__DatamartTableFooter__Group__2"
+
+
+    // $ANTLR start "rule__DatamartTableFooter__Group__2__Impl"
+    // InternalReportDSL.g:17464:1: rule__DatamartTableFooter__Group__2__Impl : ( ( rule__DatamartTableFooter__UnorderedGroup_2 ) ) ;
+    public final void rule__DatamartTableFooter__Group__2__Impl() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+        	
+        try {
+            // InternalReportDSL.g:17468:1: ( ( ( rule__DatamartTableFooter__UnorderedGroup_2 ) ) )
+            // InternalReportDSL.g:17469:1: ( ( rule__DatamartTableFooter__UnorderedGroup_2 ) )
+            {
+            // InternalReportDSL.g:17469:1: ( ( rule__DatamartTableFooter__UnorderedGroup_2 ) )
+            // InternalReportDSL.g:17470:2: ( rule__DatamartTableFooter__UnorderedGroup_2 )
+            {
+            if ( state.backtracking==0 ) {
+               before(grammarAccess.getDatamartTableFooterAccess().getUnorderedGroup_2()); 
+            }
+            // InternalReportDSL.g:17471:2: ( rule__DatamartTableFooter__UnorderedGroup_2 )
+            // InternalReportDSL.g:17471:3: rule__DatamartTableFooter__UnorderedGroup_2
+            {
+            pushFollow(FOLLOW_2);
+            rule__DatamartTableFooter__UnorderedGroup_2();
+
+            state._fsp--;
+            if (state.failed) return ;
+
+            }
+
+            if ( state.backtracking==0 ) {
+               after(grammarAccess.getDatamartTableFooterAccess().getUnorderedGroup_2()); 
+            }
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__DatamartTableFooter__Group__2__Impl"
+
+
+    // $ANTLR start "rule__DatamartTableFooter__Group__3"
+    // InternalReportDSL.g:17479:1: rule__DatamartTableFooter__Group__3 : rule__DatamartTableFooter__Group__3__Impl ;
+    public final void rule__DatamartTableFooter__Group__3() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+        	
+        try {
+            // InternalReportDSL.g:17483:1: ( rule__DatamartTableFooter__Group__3__Impl )
+            // InternalReportDSL.g:17484:2: rule__DatamartTableFooter__Group__3__Impl
+            {
+            pushFollow(FOLLOW_2);
+            rule__DatamartTableFooter__Group__3__Impl();
+
+            state._fsp--;
+            if (state.failed) return ;
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__DatamartTableFooter__Group__3"
+
+
+    // $ANTLR start "rule__DatamartTableFooter__Group__3__Impl"
+    // InternalReportDSL.g:17490:1: rule__DatamartTableFooter__Group__3__Impl : ( ( rule__DatamartTableFooter__Group_3__0 )? ) ;
+    public final void rule__DatamartTableFooter__Group__3__Impl() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+        	
+        try {
+            // InternalReportDSL.g:17494:1: ( ( ( rule__DatamartTableFooter__Group_3__0 )? ) )
+            // InternalReportDSL.g:17495:1: ( ( rule__DatamartTableFooter__Group_3__0 )? )
+            {
+            // InternalReportDSL.g:17495:1: ( ( rule__DatamartTableFooter__Group_3__0 )? )
+            // InternalReportDSL.g:17496:2: ( rule__DatamartTableFooter__Group_3__0 )?
+            {
+            if ( state.backtracking==0 ) {
+               before(grammarAccess.getDatamartTableFooterAccess().getGroup_3()); 
+            }
+            // InternalReportDSL.g:17497:2: ( rule__DatamartTableFooter__Group_3__0 )?
+            int alt125=2;
+            int LA125_0 = input.LA(1);
+
+            if ( (LA125_0==131) ) {
+                alt125=1;
+            }
+            switch (alt125) {
+                case 1 :
+                    // InternalReportDSL.g:17497:3: rule__DatamartTableFooter__Group_3__0
+                    {
+                    pushFollow(FOLLOW_2);
+                    rule__DatamartTableFooter__Group_3__0();
+
+                    state._fsp--;
+                    if (state.failed) return ;
+
+                    }
+                    break;
+
+            }
+
+            if ( state.backtracking==0 ) {
+               after(grammarAccess.getDatamartTableFooterAccess().getGroup_3()); 
+            }
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__DatamartTableFooter__Group__3__Impl"
+
+
+    // $ANTLR start "rule__DatamartTableFooter__Group_2_0__0"
+    // InternalReportDSL.g:17506:1: rule__DatamartTableFooter__Group_2_0__0 : rule__DatamartTableFooter__Group_2_0__0__Impl rule__DatamartTableFooter__Group_2_0__1 ;
+    public final void rule__DatamartTableFooter__Group_2_0__0() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+        	
+        try {
+            // InternalReportDSL.g:17510:1: ( rule__DatamartTableFooter__Group_2_0__0__Impl rule__DatamartTableFooter__Group_2_0__1 )
+            // InternalReportDSL.g:17511:2: rule__DatamartTableFooter__Group_2_0__0__Impl rule__DatamartTableFooter__Group_2_0__1
             {
             pushFollow(FOLLOW_7);
-            rule__DatamartTableGroupHeader__Group_2__0__Impl();
+            rule__DatamartTableFooter__Group_2_0__0__Impl();
 
             state._fsp--;
             if (state.failed) return ;
             pushFollow(FOLLOW_2);
-            rule__DatamartTableGroupHeader__Group_2__1();
+            rule__DatamartTableFooter__Group_2_0__1();
 
             state._fsp--;
             if (state.failed) return ;
@@ -59715,28 +58959,28 @@
         }
         return ;
     }
-    // $ANTLR end "rule__DatamartTableGroupHeader__Group_2__0"
+    // $ANTLR end "rule__DatamartTableFooter__Group_2_0__0"
 
 
-    // $ANTLR start "rule__DatamartTableGroupHeader__Group_2__0__Impl"
-    // InternalReportDSL.g:17700:1: rule__DatamartTableGroupHeader__Group_2__0__Impl : ( 'style' ) ;
-    public final void rule__DatamartTableGroupHeader__Group_2__0__Impl() throws RecognitionException {
+    // $ANTLR start "rule__DatamartTableFooter__Group_2_0__0__Impl"
+    // InternalReportDSL.g:17518:1: rule__DatamartTableFooter__Group_2_0__0__Impl : ( 'style' ) ;
+    public final void rule__DatamartTableFooter__Group_2_0__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:17704:1: ( ( 'style' ) )
-            // InternalReportDSL.g:17705:1: ( 'style' )
+            // InternalReportDSL.g:17522:1: ( ( 'style' ) )
+            // InternalReportDSL.g:17523:1: ( 'style' )
             {
-            // InternalReportDSL.g:17705:1: ( 'style' )
-            // InternalReportDSL.g:17706:2: 'style'
+            // InternalReportDSL.g:17523:1: ( 'style' )
+            // InternalReportDSL.g:17524:2: 'style'
             {
             if ( state.backtracking==0 ) {
-               before(grammarAccess.getDatamartTableGroupHeaderAccess().getStyleKeyword_2_0()); 
+               before(grammarAccess.getDatamartTableFooterAccess().getStyleKeyword_2_0_0()); 
             }
-            match(input,152,FOLLOW_2); if (state.failed) return ;
+            match(input,158,FOLLOW_2); if (state.failed) return ;
             if ( state.backtracking==0 ) {
-               after(grammarAccess.getDatamartTableGroupHeaderAccess().getStyleKeyword_2_0()); 
+               after(grammarAccess.getDatamartTableFooterAccess().getStyleKeyword_2_0_0()); 
             }
 
             }
@@ -59756,21 +59000,21 @@
         }
         return ;
     }
-    // $ANTLR end "rule__DatamartTableGroupHeader__Group_2__0__Impl"
+    // $ANTLR end "rule__DatamartTableFooter__Group_2_0__0__Impl"
 
 
-    // $ANTLR start "rule__DatamartTableGroupHeader__Group_2__1"
-    // InternalReportDSL.g:17715:1: rule__DatamartTableGroupHeader__Group_2__1 : rule__DatamartTableGroupHeader__Group_2__1__Impl ;
-    public final void rule__DatamartTableGroupHeader__Group_2__1() throws RecognitionException {
+    // $ANTLR start "rule__DatamartTableFooter__Group_2_0__1"
+    // InternalReportDSL.g:17533:1: rule__DatamartTableFooter__Group_2_0__1 : rule__DatamartTableFooter__Group_2_0__1__Impl ;
+    public final void rule__DatamartTableFooter__Group_2_0__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:17719:1: ( rule__DatamartTableGroupHeader__Group_2__1__Impl )
-            // InternalReportDSL.g:17720:2: rule__DatamartTableGroupHeader__Group_2__1__Impl
+            // InternalReportDSL.g:17537:1: ( rule__DatamartTableFooter__Group_2_0__1__Impl )
+            // InternalReportDSL.g:17538:2: rule__DatamartTableFooter__Group_2_0__1__Impl
             {
             pushFollow(FOLLOW_2);
-            rule__DatamartTableGroupHeader__Group_2__1__Impl();
+            rule__DatamartTableFooter__Group_2_0__1__Impl();
 
             state._fsp--;
             if (state.failed) return ;
@@ -59789,30 +59033,30 @@
         }
         return ;
     }
-    // $ANTLR end "rule__DatamartTableGroupHeader__Group_2__1"
+    // $ANTLR end "rule__DatamartTableFooter__Group_2_0__1"
 
 
-    // $ANTLR start "rule__DatamartTableGroupHeader__Group_2__1__Impl"
-    // InternalReportDSL.g:17726:1: rule__DatamartTableGroupHeader__Group_2__1__Impl : ( ( rule__DatamartTableGroupHeader__StyleAssignment_2_1 ) ) ;
-    public final void rule__DatamartTableGroupHeader__Group_2__1__Impl() throws RecognitionException {
+    // $ANTLR start "rule__DatamartTableFooter__Group_2_0__1__Impl"
+    // InternalReportDSL.g:17544:1: rule__DatamartTableFooter__Group_2_0__1__Impl : ( ( rule__DatamartTableFooter__StyleAssignment_2_0_1 ) ) ;
+    public final void rule__DatamartTableFooter__Group_2_0__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:17730:1: ( ( ( rule__DatamartTableGroupHeader__StyleAssignment_2_1 ) ) )
-            // InternalReportDSL.g:17731:1: ( ( rule__DatamartTableGroupHeader__StyleAssignment_2_1 ) )
+            // InternalReportDSL.g:17548:1: ( ( ( rule__DatamartTableFooter__StyleAssignment_2_0_1 ) ) )
+            // InternalReportDSL.g:17549:1: ( ( rule__DatamartTableFooter__StyleAssignment_2_0_1 ) )
             {
-            // InternalReportDSL.g:17731:1: ( ( rule__DatamartTableGroupHeader__StyleAssignment_2_1 ) )
-            // InternalReportDSL.g:17732:2: ( rule__DatamartTableGroupHeader__StyleAssignment_2_1 )
+            // InternalReportDSL.g:17549:1: ( ( rule__DatamartTableFooter__StyleAssignment_2_0_1 ) )
+            // InternalReportDSL.g:17550:2: ( rule__DatamartTableFooter__StyleAssignment_2_0_1 )
             {
             if ( state.backtracking==0 ) {
-               before(grammarAccess.getDatamartTableGroupHeaderAccess().getStyleAssignment_2_1()); 
+               before(grammarAccess.getDatamartTableFooterAccess().getStyleAssignment_2_0_1()); 
             }
-            // InternalReportDSL.g:17733:2: ( rule__DatamartTableGroupHeader__StyleAssignment_2_1 )
-            // InternalReportDSL.g:17733:3: rule__DatamartTableGroupHeader__StyleAssignment_2_1
+            // InternalReportDSL.g:17551:2: ( rule__DatamartTableFooter__StyleAssignment_2_0_1 )
+            // InternalReportDSL.g:17551:3: rule__DatamartTableFooter__StyleAssignment_2_0_1
             {
             pushFollow(FOLLOW_2);
-            rule__DatamartTableGroupHeader__StyleAssignment_2_1();
+            rule__DatamartTableFooter__StyleAssignment_2_0_1();
 
             state._fsp--;
             if (state.failed) return ;
@@ -59820,7 +59064,7 @@
             }
 
             if ( state.backtracking==0 ) {
-               after(grammarAccess.getDatamartTableGroupHeaderAccess().getStyleAssignment_2_1()); 
+               after(grammarAccess.getDatamartTableFooterAccess().getStyleAssignment_2_0_1()); 
             }
 
             }
@@ -59840,26 +59084,26 @@
         }
         return ;
     }
-    // $ANTLR end "rule__DatamartTableGroupHeader__Group_2__1__Impl"
+    // $ANTLR end "rule__DatamartTableFooter__Group_2_0__1__Impl"
 
 
-    // $ANTLR start "rule__DatamartTableGroupFooter__Group__0"
-    // InternalReportDSL.g:17742:1: rule__DatamartTableGroupFooter__Group__0 : rule__DatamartTableGroupFooter__Group__0__Impl rule__DatamartTableGroupFooter__Group__1 ;
-    public final void rule__DatamartTableGroupFooter__Group__0() throws RecognitionException {
+    // $ANTLR start "rule__DatamartTableFooter__Group_3__0"
+    // InternalReportDSL.g:17560:1: rule__DatamartTableFooter__Group_3__0 : rule__DatamartTableFooter__Group_3__0__Impl rule__DatamartTableFooter__Group_3__1 ;
+    public final void rule__DatamartTableFooter__Group_3__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:17746:1: ( rule__DatamartTableGroupFooter__Group__0__Impl rule__DatamartTableGroupFooter__Group__1 )
-            // InternalReportDSL.g:17747:2: rule__DatamartTableGroupFooter__Group__0__Impl rule__DatamartTableGroupFooter__Group__1
+            // InternalReportDSL.g:17564:1: ( rule__DatamartTableFooter__Group_3__0__Impl rule__DatamartTableFooter__Group_3__1 )
+            // InternalReportDSL.g:17565:2: rule__DatamartTableFooter__Group_3__0__Impl rule__DatamartTableFooter__Group_3__1
             {
-            pushFollow(FOLLOW_74);
-            rule__DatamartTableGroupFooter__Group__0__Impl();
+            pushFollow(FOLLOW_78);
+            rule__DatamartTableFooter__Group_3__0__Impl();
 
             state._fsp--;
             if (state.failed) return ;
             pushFollow(FOLLOW_2);
-            rule__DatamartTableGroupFooter__Group__1();
+            rule__DatamartTableFooter__Group_3__1();
 
             state._fsp--;
             if (state.failed) return ;
@@ -59878,32 +59122,28 @@
         }
         return ;
     }
-    // $ANTLR end "rule__DatamartTableGroupFooter__Group__0"
+    // $ANTLR end "rule__DatamartTableFooter__Group_3__0"
 
 
-    // $ANTLR start "rule__DatamartTableGroupFooter__Group__0__Impl"
-    // InternalReportDSL.g:17754:1: rule__DatamartTableGroupFooter__Group__0__Impl : ( () ) ;
-    public final void rule__DatamartTableGroupFooter__Group__0__Impl() throws RecognitionException {
+    // $ANTLR start "rule__DatamartTableFooter__Group_3__0__Impl"
+    // InternalReportDSL.g:17572:1: rule__DatamartTableFooter__Group_3__0__Impl : ( '{' ) ;
+    public final void rule__DatamartTableFooter__Group_3__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:17758:1: ( ( () ) )
-            // InternalReportDSL.g:17759:1: ( () )
+            // InternalReportDSL.g:17576:1: ( ( '{' ) )
+            // InternalReportDSL.g:17577:1: ( '{' )
             {
-            // InternalReportDSL.g:17759:1: ( () )
-            // InternalReportDSL.g:17760:2: ()
+            // InternalReportDSL.g:17577:1: ( '{' )
+            // InternalReportDSL.g:17578:2: '{'
             {
             if ( state.backtracking==0 ) {
-               before(grammarAccess.getDatamartTableGroupFooterAccess().getDatamartTableGroupFooterAction_0()); 
+               before(grammarAccess.getDatamartTableFooterAccess().getLeftCurlyBracketKeyword_3_0()); 
             }
-            // InternalReportDSL.g:17761:2: ()
-            // InternalReportDSL.g:17761:3: 
-            {
-            }
-
+            match(input,131,FOLLOW_2); if (state.failed) return ;
             if ( state.backtracking==0 ) {
-               after(grammarAccess.getDatamartTableGroupFooterAccess().getDatamartTableGroupFooterAction_0()); 
+               after(grammarAccess.getDatamartTableFooterAccess().getLeftCurlyBracketKeyword_3_0()); 
             }
 
             }
@@ -59912,6 +59152,10 @@
             }
 
         }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
         finally {
 
             	restoreStackSize(stackSize);
@@ -59919,26 +59163,26 @@
         }
         return ;
     }
-    // $ANTLR end "rule__DatamartTableGroupFooter__Group__0__Impl"
+    // $ANTLR end "rule__DatamartTableFooter__Group_3__0__Impl"
 
 
-    // $ANTLR start "rule__DatamartTableGroupFooter__Group__1"
-    // InternalReportDSL.g:17769:1: rule__DatamartTableGroupFooter__Group__1 : rule__DatamartTableGroupFooter__Group__1__Impl rule__DatamartTableGroupFooter__Group__2 ;
-    public final void rule__DatamartTableGroupFooter__Group__1() throws RecognitionException {
+    // $ANTLR start "rule__DatamartTableFooter__Group_3__1"
+    // InternalReportDSL.g:17587:1: rule__DatamartTableFooter__Group_3__1 : rule__DatamartTableFooter__Group_3__1__Impl rule__DatamartTableFooter__Group_3__2 ;
+    public final void rule__DatamartTableFooter__Group_3__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:17773:1: ( rule__DatamartTableGroupFooter__Group__1__Impl rule__DatamartTableGroupFooter__Group__2 )
-            // InternalReportDSL.g:17774:2: rule__DatamartTableGroupFooter__Group__1__Impl rule__DatamartTableGroupFooter__Group__2
+            // InternalReportDSL.g:17591:1: ( rule__DatamartTableFooter__Group_3__1__Impl rule__DatamartTableFooter__Group_3__2 )
+            // InternalReportDSL.g:17592:2: rule__DatamartTableFooter__Group_3__1__Impl rule__DatamartTableFooter__Group_3__2
             {
-            pushFollow(FOLLOW_92);
-            rule__DatamartTableGroupFooter__Group__1__Impl();
+            pushFollow(FOLLOW_78);
+            rule__DatamartTableFooter__Group_3__1__Impl();
 
             state._fsp--;
             if (state.failed) return ;
             pushFollow(FOLLOW_2);
-            rule__DatamartTableGroupFooter__Group__2();
+            rule__DatamartTableFooter__Group_3__2();
 
             state._fsp--;
             if (state.failed) return ;
@@ -59957,400 +59201,42 @@
         }
         return ;
     }
-    // $ANTLR end "rule__DatamartTableGroupFooter__Group__1"
+    // $ANTLR end "rule__DatamartTableFooter__Group_3__1"
 
 
-    // $ANTLR start "rule__DatamartTableGroupFooter__Group__1__Impl"
-    // InternalReportDSL.g:17781:1: rule__DatamartTableGroupFooter__Group__1__Impl : ( 'footer' ) ;
-    public final void rule__DatamartTableGroupFooter__Group__1__Impl() throws RecognitionException {
+    // $ANTLR start "rule__DatamartTableFooter__Group_3__1__Impl"
+    // InternalReportDSL.g:17599:1: rule__DatamartTableFooter__Group_3__1__Impl : ( ( rule__DatamartTableFooter__RowsAssignment_3_1 )* ) ;
+    public final void rule__DatamartTableFooter__Group_3__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:17785:1: ( ( 'footer' ) )
-            // InternalReportDSL.g:17786:1: ( 'footer' )
+            // InternalReportDSL.g:17603:1: ( ( ( rule__DatamartTableFooter__RowsAssignment_3_1 )* ) )
+            // InternalReportDSL.g:17604:1: ( ( rule__DatamartTableFooter__RowsAssignment_3_1 )* )
             {
-            // InternalReportDSL.g:17786:1: ( 'footer' )
-            // InternalReportDSL.g:17787:2: 'footer'
+            // InternalReportDSL.g:17604:1: ( ( rule__DatamartTableFooter__RowsAssignment_3_1 )* )
+            // InternalReportDSL.g:17605:2: ( rule__DatamartTableFooter__RowsAssignment_3_1 )*
             {
             if ( state.backtracking==0 ) {
-               before(grammarAccess.getDatamartTableGroupFooterAccess().getFooterKeyword_1()); 
+               before(grammarAccess.getDatamartTableFooterAccess().getRowsAssignment_3_1()); 
             }
-            match(input,187,FOLLOW_2); if (state.failed) return ;
-            if ( state.backtracking==0 ) {
-               after(grammarAccess.getDatamartTableGroupFooterAccess().getFooterKeyword_1()); 
-            }
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__DatamartTableGroupFooter__Group__1__Impl"
-
-
-    // $ANTLR start "rule__DatamartTableGroupFooter__Group__2"
-    // InternalReportDSL.g:17796:1: rule__DatamartTableGroupFooter__Group__2 : rule__DatamartTableGroupFooter__Group__2__Impl rule__DatamartTableGroupFooter__Group__3 ;
-    public final void rule__DatamartTableGroupFooter__Group__2() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-        	
-        try {
-            // InternalReportDSL.g:17800:1: ( rule__DatamartTableGroupFooter__Group__2__Impl rule__DatamartTableGroupFooter__Group__3 )
-            // InternalReportDSL.g:17801:2: rule__DatamartTableGroupFooter__Group__2__Impl rule__DatamartTableGroupFooter__Group__3
-            {
-            pushFollow(FOLLOW_92);
-            rule__DatamartTableGroupFooter__Group__2__Impl();
-
-            state._fsp--;
-            if (state.failed) return ;
-            pushFollow(FOLLOW_2);
-            rule__DatamartTableGroupFooter__Group__3();
-
-            state._fsp--;
-            if (state.failed) return ;
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__DatamartTableGroupFooter__Group__2"
-
-
-    // $ANTLR start "rule__DatamartTableGroupFooter__Group__2__Impl"
-    // InternalReportDSL.g:17808:1: rule__DatamartTableGroupFooter__Group__2__Impl : ( ( rule__DatamartTableGroupFooter__Group_2__0 )? ) ;
-    public final void rule__DatamartTableGroupFooter__Group__2__Impl() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-        	
-        try {
-            // InternalReportDSL.g:17812:1: ( ( ( rule__DatamartTableGroupFooter__Group_2__0 )? ) )
-            // InternalReportDSL.g:17813:1: ( ( rule__DatamartTableGroupFooter__Group_2__0 )? )
-            {
-            // InternalReportDSL.g:17813:1: ( ( rule__DatamartTableGroupFooter__Group_2__0 )? )
-            // InternalReportDSL.g:17814:2: ( rule__DatamartTableGroupFooter__Group_2__0 )?
-            {
-            if ( state.backtracking==0 ) {
-               before(grammarAccess.getDatamartTableGroupFooterAccess().getGroup_2()); 
-            }
-            // InternalReportDSL.g:17815:2: ( rule__DatamartTableGroupFooter__Group_2__0 )?
-            int alt142=2;
-            int LA142_0 = input.LA(1);
-
-            if ( (LA142_0==152) ) {
-                alt142=1;
-            }
-            switch (alt142) {
-                case 1 :
-                    // InternalReportDSL.g:17815:3: rule__DatamartTableGroupFooter__Group_2__0
-                    {
-                    pushFollow(FOLLOW_2);
-                    rule__DatamartTableGroupFooter__Group_2__0();
-
-                    state._fsp--;
-                    if (state.failed) return ;
-
-                    }
-                    break;
-
-            }
-
-            if ( state.backtracking==0 ) {
-               after(grammarAccess.getDatamartTableGroupFooterAccess().getGroup_2()); 
-            }
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__DatamartTableGroupFooter__Group__2__Impl"
-
-
-    // $ANTLR start "rule__DatamartTableGroupFooter__Group__3"
-    // InternalReportDSL.g:17823:1: rule__DatamartTableGroupFooter__Group__3 : rule__DatamartTableGroupFooter__Group__3__Impl rule__DatamartTableGroupFooter__Group__4 ;
-    public final void rule__DatamartTableGroupFooter__Group__3() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-        	
-        try {
-            // InternalReportDSL.g:17827:1: ( rule__DatamartTableGroupFooter__Group__3__Impl rule__DatamartTableGroupFooter__Group__4 )
-            // InternalReportDSL.g:17828:2: rule__DatamartTableGroupFooter__Group__3__Impl rule__DatamartTableGroupFooter__Group__4
-            {
-            pushFollow(FOLLOW_92);
-            rule__DatamartTableGroupFooter__Group__3__Impl();
-
-            state._fsp--;
-            if (state.failed) return ;
-            pushFollow(FOLLOW_2);
-            rule__DatamartTableGroupFooter__Group__4();
-
-            state._fsp--;
-            if (state.failed) return ;
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__DatamartTableGroupFooter__Group__3"
-
-
-    // $ANTLR start "rule__DatamartTableGroupFooter__Group__3__Impl"
-    // InternalReportDSL.g:17835:1: rule__DatamartTableGroupFooter__Group__3__Impl : ( ( rule__DatamartTableGroupFooter__PageBreakAssignment_3 )? ) ;
-    public final void rule__DatamartTableGroupFooter__Group__3__Impl() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-        	
-        try {
-            // InternalReportDSL.g:17839:1: ( ( ( rule__DatamartTableGroupFooter__PageBreakAssignment_3 )? ) )
-            // InternalReportDSL.g:17840:1: ( ( rule__DatamartTableGroupFooter__PageBreakAssignment_3 )? )
-            {
-            // InternalReportDSL.g:17840:1: ( ( rule__DatamartTableGroupFooter__PageBreakAssignment_3 )? )
-            // InternalReportDSL.g:17841:2: ( rule__DatamartTableGroupFooter__PageBreakAssignment_3 )?
-            {
-            if ( state.backtracking==0 ) {
-               before(grammarAccess.getDatamartTableGroupFooterAccess().getPageBreakAssignment_3()); 
-            }
-            // InternalReportDSL.g:17842:2: ( rule__DatamartTableGroupFooter__PageBreakAssignment_3 )?
-            int alt143=2;
-            int LA143_0 = input.LA(1);
-
-            if ( (LA143_0==209) ) {
-                alt143=1;
-            }
-            switch (alt143) {
-                case 1 :
-                    // InternalReportDSL.g:17842:3: rule__DatamartTableGroupFooter__PageBreakAssignment_3
-                    {
-                    pushFollow(FOLLOW_2);
-                    rule__DatamartTableGroupFooter__PageBreakAssignment_3();
-
-                    state._fsp--;
-                    if (state.failed) return ;
-
-                    }
-                    break;
-
-            }
-
-            if ( state.backtracking==0 ) {
-               after(grammarAccess.getDatamartTableGroupFooterAccess().getPageBreakAssignment_3()); 
-            }
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__DatamartTableGroupFooter__Group__3__Impl"
-
-
-    // $ANTLR start "rule__DatamartTableGroupFooter__Group__4"
-    // InternalReportDSL.g:17850:1: rule__DatamartTableGroupFooter__Group__4 : rule__DatamartTableGroupFooter__Group__4__Impl rule__DatamartTableGroupFooter__Group__5 ;
-    public final void rule__DatamartTableGroupFooter__Group__4() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-        	
-        try {
-            // InternalReportDSL.g:17854:1: ( rule__DatamartTableGroupFooter__Group__4__Impl rule__DatamartTableGroupFooter__Group__5 )
-            // InternalReportDSL.g:17855:2: rule__DatamartTableGroupFooter__Group__4__Impl rule__DatamartTableGroupFooter__Group__5
-            {
-            pushFollow(FOLLOW_77);
-            rule__DatamartTableGroupFooter__Group__4__Impl();
-
-            state._fsp--;
-            if (state.failed) return ;
-            pushFollow(FOLLOW_2);
-            rule__DatamartTableGroupFooter__Group__5();
-
-            state._fsp--;
-            if (state.failed) return ;
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__DatamartTableGroupFooter__Group__4"
-
-
-    // $ANTLR start "rule__DatamartTableGroupFooter__Group__4__Impl"
-    // InternalReportDSL.g:17862:1: rule__DatamartTableGroupFooter__Group__4__Impl : ( '{' ) ;
-    public final void rule__DatamartTableGroupFooter__Group__4__Impl() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-        	
-        try {
-            // InternalReportDSL.g:17866:1: ( ( '{' ) )
-            // InternalReportDSL.g:17867:1: ( '{' )
-            {
-            // InternalReportDSL.g:17867:1: ( '{' )
-            // InternalReportDSL.g:17868:2: '{'
-            {
-            if ( state.backtracking==0 ) {
-               before(grammarAccess.getDatamartTableGroupFooterAccess().getLeftCurlyBracketKeyword_4()); 
-            }
-            match(input,125,FOLLOW_2); if (state.failed) return ;
-            if ( state.backtracking==0 ) {
-               after(grammarAccess.getDatamartTableGroupFooterAccess().getLeftCurlyBracketKeyword_4()); 
-            }
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__DatamartTableGroupFooter__Group__4__Impl"
-
-
-    // $ANTLR start "rule__DatamartTableGroupFooter__Group__5"
-    // InternalReportDSL.g:17877:1: rule__DatamartTableGroupFooter__Group__5 : rule__DatamartTableGroupFooter__Group__5__Impl rule__DatamartTableGroupFooter__Group__6 ;
-    public final void rule__DatamartTableGroupFooter__Group__5() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-        	
-        try {
-            // InternalReportDSL.g:17881:1: ( rule__DatamartTableGroupFooter__Group__5__Impl rule__DatamartTableGroupFooter__Group__6 )
-            // InternalReportDSL.g:17882:2: rule__DatamartTableGroupFooter__Group__5__Impl rule__DatamartTableGroupFooter__Group__6
-            {
-            pushFollow(FOLLOW_77);
-            rule__DatamartTableGroupFooter__Group__5__Impl();
-
-            state._fsp--;
-            if (state.failed) return ;
-            pushFollow(FOLLOW_2);
-            rule__DatamartTableGroupFooter__Group__6();
-
-            state._fsp--;
-            if (state.failed) return ;
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__DatamartTableGroupFooter__Group__5"
-
-
-    // $ANTLR start "rule__DatamartTableGroupFooter__Group__5__Impl"
-    // InternalReportDSL.g:17889:1: rule__DatamartTableGroupFooter__Group__5__Impl : ( ( rule__DatamartTableGroupFooter__RowsAssignment_5 )* ) ;
-    public final void rule__DatamartTableGroupFooter__Group__5__Impl() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-        	
-        try {
-            // InternalReportDSL.g:17893:1: ( ( ( rule__DatamartTableGroupFooter__RowsAssignment_5 )* ) )
-            // InternalReportDSL.g:17894:1: ( ( rule__DatamartTableGroupFooter__RowsAssignment_5 )* )
-            {
-            // InternalReportDSL.g:17894:1: ( ( rule__DatamartTableGroupFooter__RowsAssignment_5 )* )
-            // InternalReportDSL.g:17895:2: ( rule__DatamartTableGroupFooter__RowsAssignment_5 )*
-            {
-            if ( state.backtracking==0 ) {
-               before(grammarAccess.getDatamartTableGroupFooterAccess().getRowsAssignment_5()); 
-            }
-            // InternalReportDSL.g:17896:2: ( rule__DatamartTableGroupFooter__RowsAssignment_5 )*
-            loop144:
+            // InternalReportDSL.g:17606:2: ( rule__DatamartTableFooter__RowsAssignment_3_1 )*
+            loop126:
             do {
-                int alt144=2;
-                int LA144_0 = input.LA(1);
+                int alt126=2;
+                int LA126_0 = input.LA(1);
 
-                if ( (LA144_0==191) ) {
-                    alt144=1;
+                if ( (LA126_0==198) ) {
+                    alt126=1;
                 }
 
 
-                switch (alt144) {
+                switch (alt126) {
             	case 1 :
-            	    // InternalReportDSL.g:17896:3: rule__DatamartTableGroupFooter__RowsAssignment_5
+            	    // InternalReportDSL.g:17606:3: rule__DatamartTableFooter__RowsAssignment_3_1
             	    {
-            	    pushFollow(FOLLOW_78);
-            	    rule__DatamartTableGroupFooter__RowsAssignment_5();
+            	    pushFollow(FOLLOW_79);
+            	    rule__DatamartTableFooter__RowsAssignment_3_1();
 
             	    state._fsp--;
             	    if (state.failed) return ;
@@ -60359,12 +59245,12 @@
             	    break;
 
             	default :
-            	    break loop144;
+            	    break loop126;
                 }
             } while (true);
 
             if ( state.backtracking==0 ) {
-               after(grammarAccess.getDatamartTableGroupFooterAccess().getRowsAssignment_5()); 
+               after(grammarAccess.getDatamartTableFooterAccess().getRowsAssignment_3_1()); 
             }
 
             }
@@ -60384,21 +59270,21 @@
         }
         return ;
     }
-    // $ANTLR end "rule__DatamartTableGroupFooter__Group__5__Impl"
+    // $ANTLR end "rule__DatamartTableFooter__Group_3__1__Impl"
 
 
-    // $ANTLR start "rule__DatamartTableGroupFooter__Group__6"
-    // InternalReportDSL.g:17904:1: rule__DatamartTableGroupFooter__Group__6 : rule__DatamartTableGroupFooter__Group__6__Impl ;
-    public final void rule__DatamartTableGroupFooter__Group__6() throws RecognitionException {
+    // $ANTLR start "rule__DatamartTableFooter__Group_3__2"
+    // InternalReportDSL.g:17614:1: rule__DatamartTableFooter__Group_3__2 : rule__DatamartTableFooter__Group_3__2__Impl ;
+    public final void rule__DatamartTableFooter__Group_3__2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:17908:1: ( rule__DatamartTableGroupFooter__Group__6__Impl )
-            // InternalReportDSL.g:17909:2: rule__DatamartTableGroupFooter__Group__6__Impl
+            // InternalReportDSL.g:17618:1: ( rule__DatamartTableFooter__Group_3__2__Impl )
+            // InternalReportDSL.g:17619:2: rule__DatamartTableFooter__Group_3__2__Impl
             {
             pushFollow(FOLLOW_2);
-            rule__DatamartTableGroupFooter__Group__6__Impl();
+            rule__DatamartTableFooter__Group_3__2__Impl();
 
             state._fsp--;
             if (state.failed) return ;
@@ -60417,28 +59303,28 @@
         }
         return ;
     }
-    // $ANTLR end "rule__DatamartTableGroupFooter__Group__6"
+    // $ANTLR end "rule__DatamartTableFooter__Group_3__2"
 
 
-    // $ANTLR start "rule__DatamartTableGroupFooter__Group__6__Impl"
-    // InternalReportDSL.g:17915:1: rule__DatamartTableGroupFooter__Group__6__Impl : ( '}' ) ;
-    public final void rule__DatamartTableGroupFooter__Group__6__Impl() throws RecognitionException {
+    // $ANTLR start "rule__DatamartTableFooter__Group_3__2__Impl"
+    // InternalReportDSL.g:17625:1: rule__DatamartTableFooter__Group_3__2__Impl : ( '}' ) ;
+    public final void rule__DatamartTableFooter__Group_3__2__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:17919:1: ( ( '}' ) )
-            // InternalReportDSL.g:17920:1: ( '}' )
+            // InternalReportDSL.g:17629:1: ( ( '}' ) )
+            // InternalReportDSL.g:17630:1: ( '}' )
             {
-            // InternalReportDSL.g:17920:1: ( '}' )
-            // InternalReportDSL.g:17921:2: '}'
+            // InternalReportDSL.g:17630:1: ( '}' )
+            // InternalReportDSL.g:17631:2: '}'
             {
             if ( state.backtracking==0 ) {
-               before(grammarAccess.getDatamartTableGroupFooterAccess().getRightCurlyBracketKeyword_6()); 
+               before(grammarAccess.getDatamartTableFooterAccess().getRightCurlyBracketKeyword_3_2()); 
             }
-            match(input,126,FOLLOW_2); if (state.failed) return ;
+            match(input,132,FOLLOW_2); if (state.failed) return ;
             if ( state.backtracking==0 ) {
-               after(grammarAccess.getDatamartTableGroupFooterAccess().getRightCurlyBracketKeyword_6()); 
+               after(grammarAccess.getDatamartTableFooterAccess().getRightCurlyBracketKeyword_3_2()); 
             }
 
             }
@@ -60458,183 +59344,20 @@
         }
         return ;
     }
-    // $ANTLR end "rule__DatamartTableGroupFooter__Group__6__Impl"
-
-
-    // $ANTLR start "rule__DatamartTableGroupFooter__Group_2__0"
-    // InternalReportDSL.g:17931:1: rule__DatamartTableGroupFooter__Group_2__0 : rule__DatamartTableGroupFooter__Group_2__0__Impl rule__DatamartTableGroupFooter__Group_2__1 ;
-    public final void rule__DatamartTableGroupFooter__Group_2__0() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-        	
-        try {
-            // InternalReportDSL.g:17935:1: ( rule__DatamartTableGroupFooter__Group_2__0__Impl rule__DatamartTableGroupFooter__Group_2__1 )
-            // InternalReportDSL.g:17936:2: rule__DatamartTableGroupFooter__Group_2__0__Impl rule__DatamartTableGroupFooter__Group_2__1
-            {
-            pushFollow(FOLLOW_7);
-            rule__DatamartTableGroupFooter__Group_2__0__Impl();
-
-            state._fsp--;
-            if (state.failed) return ;
-            pushFollow(FOLLOW_2);
-            rule__DatamartTableGroupFooter__Group_2__1();
-
-            state._fsp--;
-            if (state.failed) return ;
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__DatamartTableGroupFooter__Group_2__0"
-
-
-    // $ANTLR start "rule__DatamartTableGroupFooter__Group_2__0__Impl"
-    // InternalReportDSL.g:17943:1: rule__DatamartTableGroupFooter__Group_2__0__Impl : ( 'style' ) ;
-    public final void rule__DatamartTableGroupFooter__Group_2__0__Impl() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-        	
-        try {
-            // InternalReportDSL.g:17947:1: ( ( 'style' ) )
-            // InternalReportDSL.g:17948:1: ( 'style' )
-            {
-            // InternalReportDSL.g:17948:1: ( 'style' )
-            // InternalReportDSL.g:17949:2: 'style'
-            {
-            if ( state.backtracking==0 ) {
-               before(grammarAccess.getDatamartTableGroupFooterAccess().getStyleKeyword_2_0()); 
-            }
-            match(input,152,FOLLOW_2); if (state.failed) return ;
-            if ( state.backtracking==0 ) {
-               after(grammarAccess.getDatamartTableGroupFooterAccess().getStyleKeyword_2_0()); 
-            }
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__DatamartTableGroupFooter__Group_2__0__Impl"
-
-
-    // $ANTLR start "rule__DatamartTableGroupFooter__Group_2__1"
-    // InternalReportDSL.g:17958:1: rule__DatamartTableGroupFooter__Group_2__1 : rule__DatamartTableGroupFooter__Group_2__1__Impl ;
-    public final void rule__DatamartTableGroupFooter__Group_2__1() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-        	
-        try {
-            // InternalReportDSL.g:17962:1: ( rule__DatamartTableGroupFooter__Group_2__1__Impl )
-            // InternalReportDSL.g:17963:2: rule__DatamartTableGroupFooter__Group_2__1__Impl
-            {
-            pushFollow(FOLLOW_2);
-            rule__DatamartTableGroupFooter__Group_2__1__Impl();
-
-            state._fsp--;
-            if (state.failed) return ;
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__DatamartTableGroupFooter__Group_2__1"
-
-
-    // $ANTLR start "rule__DatamartTableGroupFooter__Group_2__1__Impl"
-    // InternalReportDSL.g:17969:1: rule__DatamartTableGroupFooter__Group_2__1__Impl : ( ( rule__DatamartTableGroupFooter__StyleAssignment_2_1 ) ) ;
-    public final void rule__DatamartTableGroupFooter__Group_2__1__Impl() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-        	
-        try {
-            // InternalReportDSL.g:17973:1: ( ( ( rule__DatamartTableGroupFooter__StyleAssignment_2_1 ) ) )
-            // InternalReportDSL.g:17974:1: ( ( rule__DatamartTableGroupFooter__StyleAssignment_2_1 ) )
-            {
-            // InternalReportDSL.g:17974:1: ( ( rule__DatamartTableGroupFooter__StyleAssignment_2_1 ) )
-            // InternalReportDSL.g:17975:2: ( rule__DatamartTableGroupFooter__StyleAssignment_2_1 )
-            {
-            if ( state.backtracking==0 ) {
-               before(grammarAccess.getDatamartTableGroupFooterAccess().getStyleAssignment_2_1()); 
-            }
-            // InternalReportDSL.g:17976:2: ( rule__DatamartTableGroupFooter__StyleAssignment_2_1 )
-            // InternalReportDSL.g:17976:3: rule__DatamartTableGroupFooter__StyleAssignment_2_1
-            {
-            pushFollow(FOLLOW_2);
-            rule__DatamartTableGroupFooter__StyleAssignment_2_1();
-
-            state._fsp--;
-            if (state.failed) return ;
-
-            }
-
-            if ( state.backtracking==0 ) {
-               after(grammarAccess.getDatamartTableGroupFooterAccess().getStyleAssignment_2_1()); 
-            }
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__DatamartTableGroupFooter__Group_2__1__Impl"
+    // $ANTLR end "rule__DatamartTableFooter__Group_3__2__Impl"
 
 
     // $ANTLR start "rule__DatamartTableDetail__Group__0"
-    // InternalReportDSL.g:17985:1: rule__DatamartTableDetail__Group__0 : rule__DatamartTableDetail__Group__0__Impl rule__DatamartTableDetail__Group__1 ;
+    // InternalReportDSL.g:17641:1: rule__DatamartTableDetail__Group__0 : rule__DatamartTableDetail__Group__0__Impl rule__DatamartTableDetail__Group__1 ;
     public final void rule__DatamartTableDetail__Group__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:17989:1: ( rule__DatamartTableDetail__Group__0__Impl rule__DatamartTableDetail__Group__1 )
-            // InternalReportDSL.g:17990:2: rule__DatamartTableDetail__Group__0__Impl rule__DatamartTableDetail__Group__1
+            // InternalReportDSL.g:17645:1: ( rule__DatamartTableDetail__Group__0__Impl rule__DatamartTableDetail__Group__1 )
+            // InternalReportDSL.g:17646:2: rule__DatamartTableDetail__Group__0__Impl rule__DatamartTableDetail__Group__1
             {
-            pushFollow(FOLLOW_86);
+            pushFollow(FOLLOW_87);
             rule__DatamartTableDetail__Group__0__Impl();
 
             state._fsp--;
@@ -60663,23 +59386,23 @@
 
 
     // $ANTLR start "rule__DatamartTableDetail__Group__0__Impl"
-    // InternalReportDSL.g:17997:1: rule__DatamartTableDetail__Group__0__Impl : ( () ) ;
+    // InternalReportDSL.g:17653:1: rule__DatamartTableDetail__Group__0__Impl : ( () ) ;
     public final void rule__DatamartTableDetail__Group__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:18001:1: ( ( () ) )
-            // InternalReportDSL.g:18002:1: ( () )
+            // InternalReportDSL.g:17657:1: ( ( () ) )
+            // InternalReportDSL.g:17658:1: ( () )
             {
-            // InternalReportDSL.g:18002:1: ( () )
-            // InternalReportDSL.g:18003:2: ()
+            // InternalReportDSL.g:17658:1: ( () )
+            // InternalReportDSL.g:17659:2: ()
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getDatamartTableDetailAccess().getDatamartTableDetailAction_0()); 
             }
-            // InternalReportDSL.g:18004:2: ()
-            // InternalReportDSL.g:18004:3: 
+            // InternalReportDSL.g:17660:2: ()
+            // InternalReportDSL.g:17660:3: 
             {
             }
 
@@ -60704,16 +59427,16 @@
 
 
     // $ANTLR start "rule__DatamartTableDetail__Group__1"
-    // InternalReportDSL.g:18012:1: rule__DatamartTableDetail__Group__1 : rule__DatamartTableDetail__Group__1__Impl rule__DatamartTableDetail__Group__2 ;
+    // InternalReportDSL.g:17668:1: rule__DatamartTableDetail__Group__1 : rule__DatamartTableDetail__Group__1__Impl rule__DatamartTableDetail__Group__2 ;
     public final void rule__DatamartTableDetail__Group__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:18016:1: ( rule__DatamartTableDetail__Group__1__Impl rule__DatamartTableDetail__Group__2 )
-            // InternalReportDSL.g:18017:2: rule__DatamartTableDetail__Group__1__Impl rule__DatamartTableDetail__Group__2
+            // InternalReportDSL.g:17672:1: ( rule__DatamartTableDetail__Group__1__Impl rule__DatamartTableDetail__Group__2 )
+            // InternalReportDSL.g:17673:2: rule__DatamartTableDetail__Group__1__Impl rule__DatamartTableDetail__Group__2
             {
-            pushFollow(FOLLOW_93);
+            pushFollow(FOLLOW_92);
             rule__DatamartTableDetail__Group__1__Impl();
 
             state._fsp--;
@@ -60742,22 +59465,22 @@
 
 
     // $ANTLR start "rule__DatamartTableDetail__Group__1__Impl"
-    // InternalReportDSL.g:18024:1: rule__DatamartTableDetail__Group__1__Impl : ( 'details' ) ;
+    // InternalReportDSL.g:17680:1: rule__DatamartTableDetail__Group__1__Impl : ( 'details' ) ;
     public final void rule__DatamartTableDetail__Group__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:18028:1: ( ( 'details' ) )
-            // InternalReportDSL.g:18029:1: ( 'details' )
+            // InternalReportDSL.g:17684:1: ( ( 'details' ) )
+            // InternalReportDSL.g:17685:1: ( 'details' )
             {
-            // InternalReportDSL.g:18029:1: ( 'details' )
-            // InternalReportDSL.g:18030:2: 'details'
+            // InternalReportDSL.g:17685:1: ( 'details' )
+            // InternalReportDSL.g:17686:2: 'details'
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getDatamartTableDetailAccess().getDetailsKeyword_1()); 
             }
-            match(input,197,FOLLOW_2); if (state.failed) return ;
+            match(input,204,FOLLOW_2); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getDatamartTableDetailAccess().getDetailsKeyword_1()); 
             }
@@ -60783,16 +59506,16 @@
 
 
     // $ANTLR start "rule__DatamartTableDetail__Group__2"
-    // InternalReportDSL.g:18039:1: rule__DatamartTableDetail__Group__2 : rule__DatamartTableDetail__Group__2__Impl rule__DatamartTableDetail__Group__3 ;
+    // InternalReportDSL.g:17695:1: rule__DatamartTableDetail__Group__2 : rule__DatamartTableDetail__Group__2__Impl rule__DatamartTableDetail__Group__3 ;
     public final void rule__DatamartTableDetail__Group__2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:18043:1: ( rule__DatamartTableDetail__Group__2__Impl rule__DatamartTableDetail__Group__3 )
-            // InternalReportDSL.g:18044:2: rule__DatamartTableDetail__Group__2__Impl rule__DatamartTableDetail__Group__3
+            // InternalReportDSL.g:17699:1: ( rule__DatamartTableDetail__Group__2__Impl rule__DatamartTableDetail__Group__3 )
+            // InternalReportDSL.g:17700:2: rule__DatamartTableDetail__Group__2__Impl rule__DatamartTableDetail__Group__3
             {
-            pushFollow(FOLLOW_93);
+            pushFollow(FOLLOW_92);
             rule__DatamartTableDetail__Group__2__Impl();
 
             state._fsp--;
@@ -60821,31 +59544,31 @@
 
 
     // $ANTLR start "rule__DatamartTableDetail__Group__2__Impl"
-    // InternalReportDSL.g:18051:1: rule__DatamartTableDetail__Group__2__Impl : ( ( rule__DatamartTableDetail__Group_2__0 )? ) ;
+    // InternalReportDSL.g:17707:1: rule__DatamartTableDetail__Group__2__Impl : ( ( rule__DatamartTableDetail__Group_2__0 )? ) ;
     public final void rule__DatamartTableDetail__Group__2__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:18055:1: ( ( ( rule__DatamartTableDetail__Group_2__0 )? ) )
-            // InternalReportDSL.g:18056:1: ( ( rule__DatamartTableDetail__Group_2__0 )? )
+            // InternalReportDSL.g:17711:1: ( ( ( rule__DatamartTableDetail__Group_2__0 )? ) )
+            // InternalReportDSL.g:17712:1: ( ( rule__DatamartTableDetail__Group_2__0 )? )
             {
-            // InternalReportDSL.g:18056:1: ( ( rule__DatamartTableDetail__Group_2__0 )? )
-            // InternalReportDSL.g:18057:2: ( rule__DatamartTableDetail__Group_2__0 )?
+            // InternalReportDSL.g:17712:1: ( ( rule__DatamartTableDetail__Group_2__0 )? )
+            // InternalReportDSL.g:17713:2: ( rule__DatamartTableDetail__Group_2__0 )?
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getDatamartTableDetailAccess().getGroup_2()); 
             }
-            // InternalReportDSL.g:18058:2: ( rule__DatamartTableDetail__Group_2__0 )?
-            int alt145=2;
-            int LA145_0 = input.LA(1);
+            // InternalReportDSL.g:17714:2: ( rule__DatamartTableDetail__Group_2__0 )?
+            int alt127=2;
+            int LA127_0 = input.LA(1);
 
-            if ( (LA145_0==152) ) {
-                alt145=1;
+            if ( (LA127_0==158) ) {
+                alt127=1;
             }
-            switch (alt145) {
+            switch (alt127) {
                 case 1 :
-                    // InternalReportDSL.g:18058:3: rule__DatamartTableDetail__Group_2__0
+                    // InternalReportDSL.g:17714:3: rule__DatamartTableDetail__Group_2__0
                     {
                     pushFollow(FOLLOW_2);
                     rule__DatamartTableDetail__Group_2__0();
@@ -60883,14 +59606,14 @@
 
 
     // $ANTLR start "rule__DatamartTableDetail__Group__3"
-    // InternalReportDSL.g:18066:1: rule__DatamartTableDetail__Group__3 : rule__DatamartTableDetail__Group__3__Impl ;
+    // InternalReportDSL.g:17722:1: rule__DatamartTableDetail__Group__3 : rule__DatamartTableDetail__Group__3__Impl ;
     public final void rule__DatamartTableDetail__Group__3() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:18070:1: ( rule__DatamartTableDetail__Group__3__Impl )
-            // InternalReportDSL.g:18071:2: rule__DatamartTableDetail__Group__3__Impl
+            // InternalReportDSL.g:17726:1: ( rule__DatamartTableDetail__Group__3__Impl )
+            // InternalReportDSL.g:17727:2: rule__DatamartTableDetail__Group__3__Impl
             {
             pushFollow(FOLLOW_2);
             rule__DatamartTableDetail__Group__3__Impl();
@@ -60916,23 +59639,23 @@
 
 
     // $ANTLR start "rule__DatamartTableDetail__Group__3__Impl"
-    // InternalReportDSL.g:18077:1: rule__DatamartTableDetail__Group__3__Impl : ( ( rule__DatamartTableDetail__Alternatives_3 ) ) ;
+    // InternalReportDSL.g:17733:1: rule__DatamartTableDetail__Group__3__Impl : ( ( rule__DatamartTableDetail__Alternatives_3 ) ) ;
     public final void rule__DatamartTableDetail__Group__3__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:18081:1: ( ( ( rule__DatamartTableDetail__Alternatives_3 ) ) )
-            // InternalReportDSL.g:18082:1: ( ( rule__DatamartTableDetail__Alternatives_3 ) )
+            // InternalReportDSL.g:17737:1: ( ( ( rule__DatamartTableDetail__Alternatives_3 ) ) )
+            // InternalReportDSL.g:17738:1: ( ( rule__DatamartTableDetail__Alternatives_3 ) )
             {
-            // InternalReportDSL.g:18082:1: ( ( rule__DatamartTableDetail__Alternatives_3 ) )
-            // InternalReportDSL.g:18083:2: ( rule__DatamartTableDetail__Alternatives_3 )
+            // InternalReportDSL.g:17738:1: ( ( rule__DatamartTableDetail__Alternatives_3 ) )
+            // InternalReportDSL.g:17739:2: ( rule__DatamartTableDetail__Alternatives_3 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getDatamartTableDetailAccess().getAlternatives_3()); 
             }
-            // InternalReportDSL.g:18084:2: ( rule__DatamartTableDetail__Alternatives_3 )
-            // InternalReportDSL.g:18084:3: rule__DatamartTableDetail__Alternatives_3
+            // InternalReportDSL.g:17740:2: ( rule__DatamartTableDetail__Alternatives_3 )
+            // InternalReportDSL.g:17740:3: rule__DatamartTableDetail__Alternatives_3
             {
             pushFollow(FOLLOW_2);
             rule__DatamartTableDetail__Alternatives_3();
@@ -60967,14 +59690,14 @@
 
 
     // $ANTLR start "rule__DatamartTableDetail__Group_2__0"
-    // InternalReportDSL.g:18093:1: rule__DatamartTableDetail__Group_2__0 : rule__DatamartTableDetail__Group_2__0__Impl rule__DatamartTableDetail__Group_2__1 ;
+    // InternalReportDSL.g:17749:1: rule__DatamartTableDetail__Group_2__0 : rule__DatamartTableDetail__Group_2__0__Impl rule__DatamartTableDetail__Group_2__1 ;
     public final void rule__DatamartTableDetail__Group_2__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:18097:1: ( rule__DatamartTableDetail__Group_2__0__Impl rule__DatamartTableDetail__Group_2__1 )
-            // InternalReportDSL.g:18098:2: rule__DatamartTableDetail__Group_2__0__Impl rule__DatamartTableDetail__Group_2__1
+            // InternalReportDSL.g:17753:1: ( rule__DatamartTableDetail__Group_2__0__Impl rule__DatamartTableDetail__Group_2__1 )
+            // InternalReportDSL.g:17754:2: rule__DatamartTableDetail__Group_2__0__Impl rule__DatamartTableDetail__Group_2__1
             {
             pushFollow(FOLLOW_7);
             rule__DatamartTableDetail__Group_2__0__Impl();
@@ -61005,22 +59728,22 @@
 
 
     // $ANTLR start "rule__DatamartTableDetail__Group_2__0__Impl"
-    // InternalReportDSL.g:18105:1: rule__DatamartTableDetail__Group_2__0__Impl : ( 'style' ) ;
+    // InternalReportDSL.g:17761:1: rule__DatamartTableDetail__Group_2__0__Impl : ( 'style' ) ;
     public final void rule__DatamartTableDetail__Group_2__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:18109:1: ( ( 'style' ) )
-            // InternalReportDSL.g:18110:1: ( 'style' )
+            // InternalReportDSL.g:17765:1: ( ( 'style' ) )
+            // InternalReportDSL.g:17766:1: ( 'style' )
             {
-            // InternalReportDSL.g:18110:1: ( 'style' )
-            // InternalReportDSL.g:18111:2: 'style'
+            // InternalReportDSL.g:17766:1: ( 'style' )
+            // InternalReportDSL.g:17767:2: 'style'
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getDatamartTableDetailAccess().getStyleKeyword_2_0()); 
             }
-            match(input,152,FOLLOW_2); if (state.failed) return ;
+            match(input,158,FOLLOW_2); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getDatamartTableDetailAccess().getStyleKeyword_2_0()); 
             }
@@ -61046,14 +59769,14 @@
 
 
     // $ANTLR start "rule__DatamartTableDetail__Group_2__1"
-    // InternalReportDSL.g:18120:1: rule__DatamartTableDetail__Group_2__1 : rule__DatamartTableDetail__Group_2__1__Impl ;
+    // InternalReportDSL.g:17776:1: rule__DatamartTableDetail__Group_2__1 : rule__DatamartTableDetail__Group_2__1__Impl ;
     public final void rule__DatamartTableDetail__Group_2__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:18124:1: ( rule__DatamartTableDetail__Group_2__1__Impl )
-            // InternalReportDSL.g:18125:2: rule__DatamartTableDetail__Group_2__1__Impl
+            // InternalReportDSL.g:17780:1: ( rule__DatamartTableDetail__Group_2__1__Impl )
+            // InternalReportDSL.g:17781:2: rule__DatamartTableDetail__Group_2__1__Impl
             {
             pushFollow(FOLLOW_2);
             rule__DatamartTableDetail__Group_2__1__Impl();
@@ -61079,23 +59802,23 @@
 
 
     // $ANTLR start "rule__DatamartTableDetail__Group_2__1__Impl"
-    // InternalReportDSL.g:18131:1: rule__DatamartTableDetail__Group_2__1__Impl : ( ( rule__DatamartTableDetail__StyleAssignment_2_1 ) ) ;
+    // InternalReportDSL.g:17787:1: rule__DatamartTableDetail__Group_2__1__Impl : ( ( rule__DatamartTableDetail__StyleAssignment_2_1 ) ) ;
     public final void rule__DatamartTableDetail__Group_2__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:18135:1: ( ( ( rule__DatamartTableDetail__StyleAssignment_2_1 ) ) )
-            // InternalReportDSL.g:18136:1: ( ( rule__DatamartTableDetail__StyleAssignment_2_1 ) )
+            // InternalReportDSL.g:17791:1: ( ( ( rule__DatamartTableDetail__StyleAssignment_2_1 ) ) )
+            // InternalReportDSL.g:17792:1: ( ( rule__DatamartTableDetail__StyleAssignment_2_1 ) )
             {
-            // InternalReportDSL.g:18136:1: ( ( rule__DatamartTableDetail__StyleAssignment_2_1 ) )
-            // InternalReportDSL.g:18137:2: ( rule__DatamartTableDetail__StyleAssignment_2_1 )
+            // InternalReportDSL.g:17792:1: ( ( rule__DatamartTableDetail__StyleAssignment_2_1 ) )
+            // InternalReportDSL.g:17793:2: ( rule__DatamartTableDetail__StyleAssignment_2_1 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getDatamartTableDetailAccess().getStyleAssignment_2_1()); 
             }
-            // InternalReportDSL.g:18138:2: ( rule__DatamartTableDetail__StyleAssignment_2_1 )
-            // InternalReportDSL.g:18138:3: rule__DatamartTableDetail__StyleAssignment_2_1
+            // InternalReportDSL.g:17794:2: ( rule__DatamartTableDetail__StyleAssignment_2_1 )
+            // InternalReportDSL.g:17794:3: rule__DatamartTableDetail__StyleAssignment_2_1
             {
             pushFollow(FOLLOW_2);
             rule__DatamartTableDetail__StyleAssignment_2_1();
@@ -61130,16 +59853,16 @@
 
 
     // $ANTLR start "rule__DatamartTableDetail__Group_3_1__0"
-    // InternalReportDSL.g:18147:1: rule__DatamartTableDetail__Group_3_1__0 : rule__DatamartTableDetail__Group_3_1__0__Impl rule__DatamartTableDetail__Group_3_1__1 ;
+    // InternalReportDSL.g:17803:1: rule__DatamartTableDetail__Group_3_1__0 : rule__DatamartTableDetail__Group_3_1__0__Impl rule__DatamartTableDetail__Group_3_1__1 ;
     public final void rule__DatamartTableDetail__Group_3_1__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:18151:1: ( rule__DatamartTableDetail__Group_3_1__0__Impl rule__DatamartTableDetail__Group_3_1__1 )
-            // InternalReportDSL.g:18152:2: rule__DatamartTableDetail__Group_3_1__0__Impl rule__DatamartTableDetail__Group_3_1__1
+            // InternalReportDSL.g:17807:1: ( rule__DatamartTableDetail__Group_3_1__0__Impl rule__DatamartTableDetail__Group_3_1__1 )
+            // InternalReportDSL.g:17808:2: rule__DatamartTableDetail__Group_3_1__0__Impl rule__DatamartTableDetail__Group_3_1__1
             {
-            pushFollow(FOLLOW_94);
+            pushFollow(FOLLOW_93);
             rule__DatamartTableDetail__Group_3_1__0__Impl();
 
             state._fsp--;
@@ -61168,22 +59891,22 @@
 
 
     // $ANTLR start "rule__DatamartTableDetail__Group_3_1__0__Impl"
-    // InternalReportDSL.g:18159:1: rule__DatamartTableDetail__Group_3_1__0__Impl : ( '{' ) ;
+    // InternalReportDSL.g:17815:1: rule__DatamartTableDetail__Group_3_1__0__Impl : ( '{' ) ;
     public final void rule__DatamartTableDetail__Group_3_1__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:18163:1: ( ( '{' ) )
-            // InternalReportDSL.g:18164:1: ( '{' )
+            // InternalReportDSL.g:17819:1: ( ( '{' ) )
+            // InternalReportDSL.g:17820:1: ( '{' )
             {
-            // InternalReportDSL.g:18164:1: ( '{' )
-            // InternalReportDSL.g:18165:2: '{'
+            // InternalReportDSL.g:17820:1: ( '{' )
+            // InternalReportDSL.g:17821:2: '{'
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getDatamartTableDetailAccess().getLeftCurlyBracketKeyword_3_1_0()); 
             }
-            match(input,125,FOLLOW_2); if (state.failed) return ;
+            match(input,131,FOLLOW_2); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getDatamartTableDetailAccess().getLeftCurlyBracketKeyword_3_1_0()); 
             }
@@ -61209,16 +59932,16 @@
 
 
     // $ANTLR start "rule__DatamartTableDetail__Group_3_1__1"
-    // InternalReportDSL.g:18174:1: rule__DatamartTableDetail__Group_3_1__1 : rule__DatamartTableDetail__Group_3_1__1__Impl rule__DatamartTableDetail__Group_3_1__2 ;
+    // InternalReportDSL.g:17830:1: rule__DatamartTableDetail__Group_3_1__1 : rule__DatamartTableDetail__Group_3_1__1__Impl rule__DatamartTableDetail__Group_3_1__2 ;
     public final void rule__DatamartTableDetail__Group_3_1__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:18178:1: ( rule__DatamartTableDetail__Group_3_1__1__Impl rule__DatamartTableDetail__Group_3_1__2 )
-            // InternalReportDSL.g:18179:2: rule__DatamartTableDetail__Group_3_1__1__Impl rule__DatamartTableDetail__Group_3_1__2
+            // InternalReportDSL.g:17834:1: ( rule__DatamartTableDetail__Group_3_1__1__Impl rule__DatamartTableDetail__Group_3_1__2 )
+            // InternalReportDSL.g:17835:2: rule__DatamartTableDetail__Group_3_1__1__Impl rule__DatamartTableDetail__Group_3_1__2
             {
-            pushFollow(FOLLOW_94);
+            pushFollow(FOLLOW_93);
             rule__DatamartTableDetail__Group_3_1__1__Impl();
 
             state._fsp--;
@@ -61247,37 +59970,37 @@
 
 
     // $ANTLR start "rule__DatamartTableDetail__Group_3_1__1__Impl"
-    // InternalReportDSL.g:18186:1: rule__DatamartTableDetail__Group_3_1__1__Impl : ( ( rule__DatamartTableDetail__ColumnFormattersAssignment_3_1_1 )* ) ;
+    // InternalReportDSL.g:17842:1: rule__DatamartTableDetail__Group_3_1__1__Impl : ( ( rule__DatamartTableDetail__ColumnFormattersAssignment_3_1_1 )* ) ;
     public final void rule__DatamartTableDetail__Group_3_1__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:18190:1: ( ( ( rule__DatamartTableDetail__ColumnFormattersAssignment_3_1_1 )* ) )
-            // InternalReportDSL.g:18191:1: ( ( rule__DatamartTableDetail__ColumnFormattersAssignment_3_1_1 )* )
+            // InternalReportDSL.g:17846:1: ( ( ( rule__DatamartTableDetail__ColumnFormattersAssignment_3_1_1 )* ) )
+            // InternalReportDSL.g:17847:1: ( ( rule__DatamartTableDetail__ColumnFormattersAssignment_3_1_1 )* )
             {
-            // InternalReportDSL.g:18191:1: ( ( rule__DatamartTableDetail__ColumnFormattersAssignment_3_1_1 )* )
-            // InternalReportDSL.g:18192:2: ( rule__DatamartTableDetail__ColumnFormattersAssignment_3_1_1 )*
+            // InternalReportDSL.g:17847:1: ( ( rule__DatamartTableDetail__ColumnFormattersAssignment_3_1_1 )* )
+            // InternalReportDSL.g:17848:2: ( rule__DatamartTableDetail__ColumnFormattersAssignment_3_1_1 )*
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getDatamartTableDetailAccess().getColumnFormattersAssignment_3_1_1()); 
             }
-            // InternalReportDSL.g:18193:2: ( rule__DatamartTableDetail__ColumnFormattersAssignment_3_1_1 )*
-            loop146:
+            // InternalReportDSL.g:17849:2: ( rule__DatamartTableDetail__ColumnFormattersAssignment_3_1_1 )*
+            loop128:
             do {
-                int alt146=2;
-                int LA146_0 = input.LA(1);
+                int alt128=2;
+                int LA128_0 = input.LA(1);
 
-                if ( ((LA146_0>=200 && LA146_0<=201)) ) {
-                    alt146=1;
+                if ( ((LA128_0>=207 && LA128_0<=208)) ) {
+                    alt128=1;
                 }
 
 
-                switch (alt146) {
+                switch (alt128) {
             	case 1 :
-            	    // InternalReportDSL.g:18193:3: rule__DatamartTableDetail__ColumnFormattersAssignment_3_1_1
+            	    // InternalReportDSL.g:17849:3: rule__DatamartTableDetail__ColumnFormattersAssignment_3_1_1
             	    {
-            	    pushFollow(FOLLOW_95);
+            	    pushFollow(FOLLOW_94);
             	    rule__DatamartTableDetail__ColumnFormattersAssignment_3_1_1();
 
             	    state._fsp--;
@@ -61287,7 +60010,7 @@
             	    break;
 
             	default :
-            	    break loop146;
+            	    break loop128;
                 }
             } while (true);
 
@@ -61316,14 +60039,14 @@
 
 
     // $ANTLR start "rule__DatamartTableDetail__Group_3_1__2"
-    // InternalReportDSL.g:18201:1: rule__DatamartTableDetail__Group_3_1__2 : rule__DatamartTableDetail__Group_3_1__2__Impl ;
+    // InternalReportDSL.g:17857:1: rule__DatamartTableDetail__Group_3_1__2 : rule__DatamartTableDetail__Group_3_1__2__Impl ;
     public final void rule__DatamartTableDetail__Group_3_1__2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:18205:1: ( rule__DatamartTableDetail__Group_3_1__2__Impl )
-            // InternalReportDSL.g:18206:2: rule__DatamartTableDetail__Group_3_1__2__Impl
+            // InternalReportDSL.g:17861:1: ( rule__DatamartTableDetail__Group_3_1__2__Impl )
+            // InternalReportDSL.g:17862:2: rule__DatamartTableDetail__Group_3_1__2__Impl
             {
             pushFollow(FOLLOW_2);
             rule__DatamartTableDetail__Group_3_1__2__Impl();
@@ -61349,22 +60072,22 @@
 
 
     // $ANTLR start "rule__DatamartTableDetail__Group_3_1__2__Impl"
-    // InternalReportDSL.g:18212:1: rule__DatamartTableDetail__Group_3_1__2__Impl : ( '}' ) ;
+    // InternalReportDSL.g:17868:1: rule__DatamartTableDetail__Group_3_1__2__Impl : ( '}' ) ;
     public final void rule__DatamartTableDetail__Group_3_1__2__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:18216:1: ( ( '}' ) )
-            // InternalReportDSL.g:18217:1: ( '}' )
+            // InternalReportDSL.g:17872:1: ( ( '}' ) )
+            // InternalReportDSL.g:17873:1: ( '}' )
             {
-            // InternalReportDSL.g:18217:1: ( '}' )
-            // InternalReportDSL.g:18218:2: '}'
+            // InternalReportDSL.g:17873:1: ( '}' )
+            // InternalReportDSL.g:17874:2: '}'
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getDatamartTableDetailAccess().getRightCurlyBracketKeyword_3_1_2()); 
             }
-            match(input,126,FOLLOW_2); if (state.failed) return ;
+            match(input,132,FOLLOW_2); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getDatamartTableDetailAccess().getRightCurlyBracketKeyword_3_1_2()); 
             }
@@ -61390,16 +60113,16 @@
 
 
     // $ANTLR start "rule__DatamartTableAttribute__Group__0"
-    // InternalReportDSL.g:18228:1: rule__DatamartTableAttribute__Group__0 : rule__DatamartTableAttribute__Group__0__Impl rule__DatamartTableAttribute__Group__1 ;
+    // InternalReportDSL.g:17884:1: rule__DatamartTableAttribute__Group__0 : rule__DatamartTableAttribute__Group__0__Impl rule__DatamartTableAttribute__Group__1 ;
     public final void rule__DatamartTableAttribute__Group__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:18232:1: ( rule__DatamartTableAttribute__Group__0__Impl rule__DatamartTableAttribute__Group__1 )
-            // InternalReportDSL.g:18233:2: rule__DatamartTableAttribute__Group__0__Impl rule__DatamartTableAttribute__Group__1
+            // InternalReportDSL.g:17888:1: ( rule__DatamartTableAttribute__Group__0__Impl rule__DatamartTableAttribute__Group__1 )
+            // InternalReportDSL.g:17889:2: rule__DatamartTableAttribute__Group__0__Impl rule__DatamartTableAttribute__Group__1
             {
-            pushFollow(FOLLOW_96);
+            pushFollow(FOLLOW_95);
             rule__DatamartTableAttribute__Group__0__Impl();
 
             state._fsp--;
@@ -61428,23 +60151,23 @@
 
 
     // $ANTLR start "rule__DatamartTableAttribute__Group__0__Impl"
-    // InternalReportDSL.g:18240:1: rule__DatamartTableAttribute__Group__0__Impl : ( ( rule__DatamartTableAttribute__ColumnAssignment_0 ) ) ;
+    // InternalReportDSL.g:17896:1: rule__DatamartTableAttribute__Group__0__Impl : ( ( rule__DatamartTableAttribute__ColumnAssignment_0 ) ) ;
     public final void rule__DatamartTableAttribute__Group__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:18244:1: ( ( ( rule__DatamartTableAttribute__ColumnAssignment_0 ) ) )
-            // InternalReportDSL.g:18245:1: ( ( rule__DatamartTableAttribute__ColumnAssignment_0 ) )
+            // InternalReportDSL.g:17900:1: ( ( ( rule__DatamartTableAttribute__ColumnAssignment_0 ) ) )
+            // InternalReportDSL.g:17901:1: ( ( rule__DatamartTableAttribute__ColumnAssignment_0 ) )
             {
-            // InternalReportDSL.g:18245:1: ( ( rule__DatamartTableAttribute__ColumnAssignment_0 ) )
-            // InternalReportDSL.g:18246:2: ( rule__DatamartTableAttribute__ColumnAssignment_0 )
+            // InternalReportDSL.g:17901:1: ( ( rule__DatamartTableAttribute__ColumnAssignment_0 ) )
+            // InternalReportDSL.g:17902:2: ( rule__DatamartTableAttribute__ColumnAssignment_0 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getDatamartTableAttributeAccess().getColumnAssignment_0()); 
             }
-            // InternalReportDSL.g:18247:2: ( rule__DatamartTableAttribute__ColumnAssignment_0 )
-            // InternalReportDSL.g:18247:3: rule__DatamartTableAttribute__ColumnAssignment_0
+            // InternalReportDSL.g:17903:2: ( rule__DatamartTableAttribute__ColumnAssignment_0 )
+            // InternalReportDSL.g:17903:3: rule__DatamartTableAttribute__ColumnAssignment_0
             {
             pushFollow(FOLLOW_2);
             rule__DatamartTableAttribute__ColumnAssignment_0();
@@ -61479,14 +60202,14 @@
 
 
     // $ANTLR start "rule__DatamartTableAttribute__Group__1"
-    // InternalReportDSL.g:18255:1: rule__DatamartTableAttribute__Group__1 : rule__DatamartTableAttribute__Group__1__Impl ;
+    // InternalReportDSL.g:17911:1: rule__DatamartTableAttribute__Group__1 : rule__DatamartTableAttribute__Group__1__Impl ;
     public final void rule__DatamartTableAttribute__Group__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:18259:1: ( rule__DatamartTableAttribute__Group__1__Impl )
-            // InternalReportDSL.g:18260:2: rule__DatamartTableAttribute__Group__1__Impl
+            // InternalReportDSL.g:17915:1: ( rule__DatamartTableAttribute__Group__1__Impl )
+            // InternalReportDSL.g:17916:2: rule__DatamartTableAttribute__Group__1__Impl
             {
             pushFollow(FOLLOW_2);
             rule__DatamartTableAttribute__Group__1__Impl();
@@ -61512,23 +60235,23 @@
 
 
     // $ANTLR start "rule__DatamartTableAttribute__Group__1__Impl"
-    // InternalReportDSL.g:18266:1: rule__DatamartTableAttribute__Group__1__Impl : ( ( rule__DatamartTableAttribute__UnorderedGroup_1 ) ) ;
+    // InternalReportDSL.g:17922:1: rule__DatamartTableAttribute__Group__1__Impl : ( ( rule__DatamartTableAttribute__UnorderedGroup_1 ) ) ;
     public final void rule__DatamartTableAttribute__Group__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:18270:1: ( ( ( rule__DatamartTableAttribute__UnorderedGroup_1 ) ) )
-            // InternalReportDSL.g:18271:1: ( ( rule__DatamartTableAttribute__UnorderedGroup_1 ) )
+            // InternalReportDSL.g:17926:1: ( ( ( rule__DatamartTableAttribute__UnorderedGroup_1 ) ) )
+            // InternalReportDSL.g:17927:1: ( ( rule__DatamartTableAttribute__UnorderedGroup_1 ) )
             {
-            // InternalReportDSL.g:18271:1: ( ( rule__DatamartTableAttribute__UnorderedGroup_1 ) )
-            // InternalReportDSL.g:18272:2: ( rule__DatamartTableAttribute__UnorderedGroup_1 )
+            // InternalReportDSL.g:17927:1: ( ( rule__DatamartTableAttribute__UnorderedGroup_1 ) )
+            // InternalReportDSL.g:17928:2: ( rule__DatamartTableAttribute__UnorderedGroup_1 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getDatamartTableAttributeAccess().getUnorderedGroup_1()); 
             }
-            // InternalReportDSL.g:18273:2: ( rule__DatamartTableAttribute__UnorderedGroup_1 )
-            // InternalReportDSL.g:18273:3: rule__DatamartTableAttribute__UnorderedGroup_1
+            // InternalReportDSL.g:17929:2: ( rule__DatamartTableAttribute__UnorderedGroup_1 )
+            // InternalReportDSL.g:17929:3: rule__DatamartTableAttribute__UnorderedGroup_1
             {
             pushFollow(FOLLOW_2);
             rule__DatamartTableAttribute__UnorderedGroup_1();
@@ -61563,14 +60286,14 @@
 
 
     // $ANTLR start "rule__DatamartTableAttribute__Group_1_0__0"
-    // InternalReportDSL.g:18282:1: rule__DatamartTableAttribute__Group_1_0__0 : rule__DatamartTableAttribute__Group_1_0__0__Impl rule__DatamartTableAttribute__Group_1_0__1 ;
+    // InternalReportDSL.g:17938:1: rule__DatamartTableAttribute__Group_1_0__0 : rule__DatamartTableAttribute__Group_1_0__0__Impl rule__DatamartTableAttribute__Group_1_0__1 ;
     public final void rule__DatamartTableAttribute__Group_1_0__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:18286:1: ( rule__DatamartTableAttribute__Group_1_0__0__Impl rule__DatamartTableAttribute__Group_1_0__1 )
-            // InternalReportDSL.g:18287:2: rule__DatamartTableAttribute__Group_1_0__0__Impl rule__DatamartTableAttribute__Group_1_0__1
+            // InternalReportDSL.g:17942:1: ( rule__DatamartTableAttribute__Group_1_0__0__Impl rule__DatamartTableAttribute__Group_1_0__1 )
+            // InternalReportDSL.g:17943:2: rule__DatamartTableAttribute__Group_1_0__0__Impl rule__DatamartTableAttribute__Group_1_0__1
             {
             pushFollow(FOLLOW_36);
             rule__DatamartTableAttribute__Group_1_0__0__Impl();
@@ -61601,22 +60324,22 @@
 
 
     // $ANTLR start "rule__DatamartTableAttribute__Group_1_0__0__Impl"
-    // InternalReportDSL.g:18294:1: rule__DatamartTableAttribute__Group_1_0__0__Impl : ( 'width' ) ;
+    // InternalReportDSL.g:17950:1: rule__DatamartTableAttribute__Group_1_0__0__Impl : ( 'width' ) ;
     public final void rule__DatamartTableAttribute__Group_1_0__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:18298:1: ( ( 'width' ) )
-            // InternalReportDSL.g:18299:1: ( 'width' )
+            // InternalReportDSL.g:17954:1: ( ( 'width' ) )
+            // InternalReportDSL.g:17955:1: ( 'width' )
             {
-            // InternalReportDSL.g:18299:1: ( 'width' )
-            // InternalReportDSL.g:18300:2: 'width'
+            // InternalReportDSL.g:17955:1: ( 'width' )
+            // InternalReportDSL.g:17956:2: 'width'
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getDatamartTableAttributeAccess().getWidthKeyword_1_0_0()); 
             }
-            match(input,190,FOLLOW_2); if (state.failed) return ;
+            match(input,197,FOLLOW_2); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getDatamartTableAttributeAccess().getWidthKeyword_1_0_0()); 
             }
@@ -61642,14 +60365,14 @@
 
 
     // $ANTLR start "rule__DatamartTableAttribute__Group_1_0__1"
-    // InternalReportDSL.g:18309:1: rule__DatamartTableAttribute__Group_1_0__1 : rule__DatamartTableAttribute__Group_1_0__1__Impl ;
+    // InternalReportDSL.g:17965:1: rule__DatamartTableAttribute__Group_1_0__1 : rule__DatamartTableAttribute__Group_1_0__1__Impl ;
     public final void rule__DatamartTableAttribute__Group_1_0__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:18313:1: ( rule__DatamartTableAttribute__Group_1_0__1__Impl )
-            // InternalReportDSL.g:18314:2: rule__DatamartTableAttribute__Group_1_0__1__Impl
+            // InternalReportDSL.g:17969:1: ( rule__DatamartTableAttribute__Group_1_0__1__Impl )
+            // InternalReportDSL.g:17970:2: rule__DatamartTableAttribute__Group_1_0__1__Impl
             {
             pushFollow(FOLLOW_2);
             rule__DatamartTableAttribute__Group_1_0__1__Impl();
@@ -61675,23 +60398,23 @@
 
 
     // $ANTLR start "rule__DatamartTableAttribute__Group_1_0__1__Impl"
-    // InternalReportDSL.g:18320:1: rule__DatamartTableAttribute__Group_1_0__1__Impl : ( ( rule__DatamartTableAttribute__WidthValueAssignment_1_0_1 ) ) ;
+    // InternalReportDSL.g:17976:1: rule__DatamartTableAttribute__Group_1_0__1__Impl : ( ( rule__DatamartTableAttribute__WidthValueAssignment_1_0_1 ) ) ;
     public final void rule__DatamartTableAttribute__Group_1_0__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:18324:1: ( ( ( rule__DatamartTableAttribute__WidthValueAssignment_1_0_1 ) ) )
-            // InternalReportDSL.g:18325:1: ( ( rule__DatamartTableAttribute__WidthValueAssignment_1_0_1 ) )
+            // InternalReportDSL.g:17980:1: ( ( ( rule__DatamartTableAttribute__WidthValueAssignment_1_0_1 ) ) )
+            // InternalReportDSL.g:17981:1: ( ( rule__DatamartTableAttribute__WidthValueAssignment_1_0_1 ) )
             {
-            // InternalReportDSL.g:18325:1: ( ( rule__DatamartTableAttribute__WidthValueAssignment_1_0_1 ) )
-            // InternalReportDSL.g:18326:2: ( rule__DatamartTableAttribute__WidthValueAssignment_1_0_1 )
+            // InternalReportDSL.g:17981:1: ( ( rule__DatamartTableAttribute__WidthValueAssignment_1_0_1 ) )
+            // InternalReportDSL.g:17982:2: ( rule__DatamartTableAttribute__WidthValueAssignment_1_0_1 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getDatamartTableAttributeAccess().getWidthValueAssignment_1_0_1()); 
             }
-            // InternalReportDSL.g:18327:2: ( rule__DatamartTableAttribute__WidthValueAssignment_1_0_1 )
-            // InternalReportDSL.g:18327:3: rule__DatamartTableAttribute__WidthValueAssignment_1_0_1
+            // InternalReportDSL.g:17983:2: ( rule__DatamartTableAttribute__WidthValueAssignment_1_0_1 )
+            // InternalReportDSL.g:17983:3: rule__DatamartTableAttribute__WidthValueAssignment_1_0_1
             {
             pushFollow(FOLLOW_2);
             rule__DatamartTableAttribute__WidthValueAssignment_1_0_1();
@@ -61726,14 +60449,14 @@
 
 
     // $ANTLR start "rule__DatamartTableAttribute__Group_1_1__0"
-    // InternalReportDSL.g:18336:1: rule__DatamartTableAttribute__Group_1_1__0 : rule__DatamartTableAttribute__Group_1_1__0__Impl rule__DatamartTableAttribute__Group_1_1__1 ;
+    // InternalReportDSL.g:17992:1: rule__DatamartTableAttribute__Group_1_1__0 : rule__DatamartTableAttribute__Group_1_1__0__Impl rule__DatamartTableAttribute__Group_1_1__1 ;
     public final void rule__DatamartTableAttribute__Group_1_1__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:18340:1: ( rule__DatamartTableAttribute__Group_1_1__0__Impl rule__DatamartTableAttribute__Group_1_1__1 )
-            // InternalReportDSL.g:18341:2: rule__DatamartTableAttribute__Group_1_1__0__Impl rule__DatamartTableAttribute__Group_1_1__1
+            // InternalReportDSL.g:17996:1: ( rule__DatamartTableAttribute__Group_1_1__0__Impl rule__DatamartTableAttribute__Group_1_1__1 )
+            // InternalReportDSL.g:17997:2: rule__DatamartTableAttribute__Group_1_1__0__Impl rule__DatamartTableAttribute__Group_1_1__1
             {
             pushFollow(FOLLOW_7);
             rule__DatamartTableAttribute__Group_1_1__0__Impl();
@@ -61764,22 +60487,22 @@
 
 
     // $ANTLR start "rule__DatamartTableAttribute__Group_1_1__0__Impl"
-    // InternalReportDSL.g:18348:1: rule__DatamartTableAttribute__Group_1_1__0__Impl : ( 'style' ) ;
+    // InternalReportDSL.g:18004:1: rule__DatamartTableAttribute__Group_1_1__0__Impl : ( 'style' ) ;
     public final void rule__DatamartTableAttribute__Group_1_1__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:18352:1: ( ( 'style' ) )
-            // InternalReportDSL.g:18353:1: ( 'style' )
+            // InternalReportDSL.g:18008:1: ( ( 'style' ) )
+            // InternalReportDSL.g:18009:1: ( 'style' )
             {
-            // InternalReportDSL.g:18353:1: ( 'style' )
-            // InternalReportDSL.g:18354:2: 'style'
+            // InternalReportDSL.g:18009:1: ( 'style' )
+            // InternalReportDSL.g:18010:2: 'style'
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getDatamartTableAttributeAccess().getStyleKeyword_1_1_0()); 
             }
-            match(input,152,FOLLOW_2); if (state.failed) return ;
+            match(input,158,FOLLOW_2); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getDatamartTableAttributeAccess().getStyleKeyword_1_1_0()); 
             }
@@ -61805,14 +60528,14 @@
 
 
     // $ANTLR start "rule__DatamartTableAttribute__Group_1_1__1"
-    // InternalReportDSL.g:18363:1: rule__DatamartTableAttribute__Group_1_1__1 : rule__DatamartTableAttribute__Group_1_1__1__Impl ;
+    // InternalReportDSL.g:18019:1: rule__DatamartTableAttribute__Group_1_1__1 : rule__DatamartTableAttribute__Group_1_1__1__Impl ;
     public final void rule__DatamartTableAttribute__Group_1_1__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:18367:1: ( rule__DatamartTableAttribute__Group_1_1__1__Impl )
-            // InternalReportDSL.g:18368:2: rule__DatamartTableAttribute__Group_1_1__1__Impl
+            // InternalReportDSL.g:18023:1: ( rule__DatamartTableAttribute__Group_1_1__1__Impl )
+            // InternalReportDSL.g:18024:2: rule__DatamartTableAttribute__Group_1_1__1__Impl
             {
             pushFollow(FOLLOW_2);
             rule__DatamartTableAttribute__Group_1_1__1__Impl();
@@ -61838,23 +60561,23 @@
 
 
     // $ANTLR start "rule__DatamartTableAttribute__Group_1_1__1__Impl"
-    // InternalReportDSL.g:18374:1: rule__DatamartTableAttribute__Group_1_1__1__Impl : ( ( rule__DatamartTableAttribute__StyleAssignment_1_1_1 ) ) ;
+    // InternalReportDSL.g:18030:1: rule__DatamartTableAttribute__Group_1_1__1__Impl : ( ( rule__DatamartTableAttribute__StyleAssignment_1_1_1 ) ) ;
     public final void rule__DatamartTableAttribute__Group_1_1__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:18378:1: ( ( ( rule__DatamartTableAttribute__StyleAssignment_1_1_1 ) ) )
-            // InternalReportDSL.g:18379:1: ( ( rule__DatamartTableAttribute__StyleAssignment_1_1_1 ) )
+            // InternalReportDSL.g:18034:1: ( ( ( rule__DatamartTableAttribute__StyleAssignment_1_1_1 ) ) )
+            // InternalReportDSL.g:18035:1: ( ( rule__DatamartTableAttribute__StyleAssignment_1_1_1 ) )
             {
-            // InternalReportDSL.g:18379:1: ( ( rule__DatamartTableAttribute__StyleAssignment_1_1_1 ) )
-            // InternalReportDSL.g:18380:2: ( rule__DatamartTableAttribute__StyleAssignment_1_1_1 )
+            // InternalReportDSL.g:18035:1: ( ( rule__DatamartTableAttribute__StyleAssignment_1_1_1 ) )
+            // InternalReportDSL.g:18036:2: ( rule__DatamartTableAttribute__StyleAssignment_1_1_1 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getDatamartTableAttributeAccess().getStyleAssignment_1_1_1()); 
             }
-            // InternalReportDSL.g:18381:2: ( rule__DatamartTableAttribute__StyleAssignment_1_1_1 )
-            // InternalReportDSL.g:18381:3: rule__DatamartTableAttribute__StyleAssignment_1_1_1
+            // InternalReportDSL.g:18037:2: ( rule__DatamartTableAttribute__StyleAssignment_1_1_1 )
+            // InternalReportDSL.g:18037:3: rule__DatamartTableAttribute__StyleAssignment_1_1_1
             {
             pushFollow(FOLLOW_2);
             rule__DatamartTableAttribute__StyleAssignment_1_1_1();
@@ -61889,16 +60612,16 @@
 
 
     // $ANTLR start "rule__DatamartTableAttribute__Group_1_2__0"
-    // InternalReportDSL.g:18390:1: rule__DatamartTableAttribute__Group_1_2__0 : rule__DatamartTableAttribute__Group_1_2__0__Impl rule__DatamartTableAttribute__Group_1_2__1 ;
+    // InternalReportDSL.g:18046:1: rule__DatamartTableAttribute__Group_1_2__0 : rule__DatamartTableAttribute__Group_1_2__0__Impl rule__DatamartTableAttribute__Group_1_2__1 ;
     public final void rule__DatamartTableAttribute__Group_1_2__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:18394:1: ( rule__DatamartTableAttribute__Group_1_2__0__Impl rule__DatamartTableAttribute__Group_1_2__1 )
-            // InternalReportDSL.g:18395:2: rule__DatamartTableAttribute__Group_1_2__0__Impl rule__DatamartTableAttribute__Group_1_2__1
+            // InternalReportDSL.g:18050:1: ( rule__DatamartTableAttribute__Group_1_2__0__Impl rule__DatamartTableAttribute__Group_1_2__1 )
+            // InternalReportDSL.g:18051:2: rule__DatamartTableAttribute__Group_1_2__0__Impl rule__DatamartTableAttribute__Group_1_2__1
             {
-            pushFollow(FOLLOW_97);
+            pushFollow(FOLLOW_96);
             rule__DatamartTableAttribute__Group_1_2__0__Impl();
 
             state._fsp--;
@@ -61927,22 +60650,22 @@
 
 
     // $ANTLR start "rule__DatamartTableAttribute__Group_1_2__0__Impl"
-    // InternalReportDSL.g:18402:1: rule__DatamartTableAttribute__Group_1_2__0__Impl : ( 'intervals' ) ;
+    // InternalReportDSL.g:18058:1: rule__DatamartTableAttribute__Group_1_2__0__Impl : ( 'intervals' ) ;
     public final void rule__DatamartTableAttribute__Group_1_2__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:18406:1: ( ( 'intervals' ) )
-            // InternalReportDSL.g:18407:1: ( 'intervals' )
+            // InternalReportDSL.g:18062:1: ( ( 'intervals' ) )
+            // InternalReportDSL.g:18063:1: ( 'intervals' )
             {
-            // InternalReportDSL.g:18407:1: ( 'intervals' )
-            // InternalReportDSL.g:18408:2: 'intervals'
+            // InternalReportDSL.g:18063:1: ( 'intervals' )
+            // InternalReportDSL.g:18064:2: 'intervals'
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getDatamartTableAttributeAccess().getIntervalsKeyword_1_2_0()); 
             }
-            match(input,198,FOLLOW_2); if (state.failed) return ;
+            match(input,205,FOLLOW_2); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getDatamartTableAttributeAccess().getIntervalsKeyword_1_2_0()); 
             }
@@ -61968,16 +60691,16 @@
 
 
     // $ANTLR start "rule__DatamartTableAttribute__Group_1_2__1"
-    // InternalReportDSL.g:18417:1: rule__DatamartTableAttribute__Group_1_2__1 : rule__DatamartTableAttribute__Group_1_2__1__Impl rule__DatamartTableAttribute__Group_1_2__2 ;
+    // InternalReportDSL.g:18073:1: rule__DatamartTableAttribute__Group_1_2__1 : rule__DatamartTableAttribute__Group_1_2__1__Impl rule__DatamartTableAttribute__Group_1_2__2 ;
     public final void rule__DatamartTableAttribute__Group_1_2__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:18421:1: ( rule__DatamartTableAttribute__Group_1_2__1__Impl rule__DatamartTableAttribute__Group_1_2__2 )
-            // InternalReportDSL.g:18422:2: rule__DatamartTableAttribute__Group_1_2__1__Impl rule__DatamartTableAttribute__Group_1_2__2
+            // InternalReportDSL.g:18077:1: ( rule__DatamartTableAttribute__Group_1_2__1__Impl rule__DatamartTableAttribute__Group_1_2__2 )
+            // InternalReportDSL.g:18078:2: rule__DatamartTableAttribute__Group_1_2__1__Impl rule__DatamartTableAttribute__Group_1_2__2
             {
-            pushFollow(FOLLOW_97);
+            pushFollow(FOLLOW_96);
             rule__DatamartTableAttribute__Group_1_2__1__Impl();
 
             state._fsp--;
@@ -62006,31 +60729,31 @@
 
 
     // $ANTLR start "rule__DatamartTableAttribute__Group_1_2__1__Impl"
-    // InternalReportDSL.g:18429:1: rule__DatamartTableAttribute__Group_1_2__1__Impl : ( ( rule__DatamartTableAttribute__HideLabelIntervalAssignment_1_2_1 )? ) ;
+    // InternalReportDSL.g:18085:1: rule__DatamartTableAttribute__Group_1_2__1__Impl : ( ( rule__DatamartTableAttribute__HideLabelIntervalAssignment_1_2_1 )? ) ;
     public final void rule__DatamartTableAttribute__Group_1_2__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:18433:1: ( ( ( rule__DatamartTableAttribute__HideLabelIntervalAssignment_1_2_1 )? ) )
-            // InternalReportDSL.g:18434:1: ( ( rule__DatamartTableAttribute__HideLabelIntervalAssignment_1_2_1 )? )
+            // InternalReportDSL.g:18089:1: ( ( ( rule__DatamartTableAttribute__HideLabelIntervalAssignment_1_2_1 )? ) )
+            // InternalReportDSL.g:18090:1: ( ( rule__DatamartTableAttribute__HideLabelIntervalAssignment_1_2_1 )? )
             {
-            // InternalReportDSL.g:18434:1: ( ( rule__DatamartTableAttribute__HideLabelIntervalAssignment_1_2_1 )? )
-            // InternalReportDSL.g:18435:2: ( rule__DatamartTableAttribute__HideLabelIntervalAssignment_1_2_1 )?
+            // InternalReportDSL.g:18090:1: ( ( rule__DatamartTableAttribute__HideLabelIntervalAssignment_1_2_1 )? )
+            // InternalReportDSL.g:18091:2: ( rule__DatamartTableAttribute__HideLabelIntervalAssignment_1_2_1 )?
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getDatamartTableAttributeAccess().getHideLabelIntervalAssignment_1_2_1()); 
             }
-            // InternalReportDSL.g:18436:2: ( rule__DatamartTableAttribute__HideLabelIntervalAssignment_1_2_1 )?
-            int alt147=2;
-            int LA147_0 = input.LA(1);
+            // InternalReportDSL.g:18092:2: ( rule__DatamartTableAttribute__HideLabelIntervalAssignment_1_2_1 )?
+            int alt129=2;
+            int LA129_0 = input.LA(1);
 
-            if ( (LA147_0==259) ) {
-                alt147=1;
+            if ( (LA129_0==264) ) {
+                alt129=1;
             }
-            switch (alt147) {
+            switch (alt129) {
                 case 1 :
-                    // InternalReportDSL.g:18436:3: rule__DatamartTableAttribute__HideLabelIntervalAssignment_1_2_1
+                    // InternalReportDSL.g:18092:3: rule__DatamartTableAttribute__HideLabelIntervalAssignment_1_2_1
                     {
                     pushFollow(FOLLOW_2);
                     rule__DatamartTableAttribute__HideLabelIntervalAssignment_1_2_1();
@@ -62068,16 +60791,16 @@
 
 
     // $ANTLR start "rule__DatamartTableAttribute__Group_1_2__2"
-    // InternalReportDSL.g:18444:1: rule__DatamartTableAttribute__Group_1_2__2 : rule__DatamartTableAttribute__Group_1_2__2__Impl rule__DatamartTableAttribute__Group_1_2__3 ;
+    // InternalReportDSL.g:18100:1: rule__DatamartTableAttribute__Group_1_2__2 : rule__DatamartTableAttribute__Group_1_2__2__Impl rule__DatamartTableAttribute__Group_1_2__3 ;
     public final void rule__DatamartTableAttribute__Group_1_2__2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:18448:1: ( rule__DatamartTableAttribute__Group_1_2__2__Impl rule__DatamartTableAttribute__Group_1_2__3 )
-            // InternalReportDSL.g:18449:2: rule__DatamartTableAttribute__Group_1_2__2__Impl rule__DatamartTableAttribute__Group_1_2__3
+            // InternalReportDSL.g:18104:1: ( rule__DatamartTableAttribute__Group_1_2__2__Impl rule__DatamartTableAttribute__Group_1_2__3 )
+            // InternalReportDSL.g:18105:2: rule__DatamartTableAttribute__Group_1_2__2__Impl rule__DatamartTableAttribute__Group_1_2__3
             {
-            pushFollow(FOLLOW_98);
+            pushFollow(FOLLOW_97);
             rule__DatamartTableAttribute__Group_1_2__2__Impl();
 
             state._fsp--;
@@ -62106,22 +60829,22 @@
 
 
     // $ANTLR start "rule__DatamartTableAttribute__Group_1_2__2__Impl"
-    // InternalReportDSL.g:18456:1: rule__DatamartTableAttribute__Group_1_2__2__Impl : ( '{' ) ;
+    // InternalReportDSL.g:18112:1: rule__DatamartTableAttribute__Group_1_2__2__Impl : ( '{' ) ;
     public final void rule__DatamartTableAttribute__Group_1_2__2__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:18460:1: ( ( '{' ) )
-            // InternalReportDSL.g:18461:1: ( '{' )
+            // InternalReportDSL.g:18116:1: ( ( '{' ) )
+            // InternalReportDSL.g:18117:1: ( '{' )
             {
-            // InternalReportDSL.g:18461:1: ( '{' )
-            // InternalReportDSL.g:18462:2: '{'
+            // InternalReportDSL.g:18117:1: ( '{' )
+            // InternalReportDSL.g:18118:2: '{'
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getDatamartTableAttributeAccess().getLeftCurlyBracketKeyword_1_2_2()); 
             }
-            match(input,125,FOLLOW_2); if (state.failed) return ;
+            match(input,131,FOLLOW_2); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getDatamartTableAttributeAccess().getLeftCurlyBracketKeyword_1_2_2()); 
             }
@@ -62147,16 +60870,16 @@
 
 
     // $ANTLR start "rule__DatamartTableAttribute__Group_1_2__3"
-    // InternalReportDSL.g:18471:1: rule__DatamartTableAttribute__Group_1_2__3 : rule__DatamartTableAttribute__Group_1_2__3__Impl rule__DatamartTableAttribute__Group_1_2__4 ;
+    // InternalReportDSL.g:18127:1: rule__DatamartTableAttribute__Group_1_2__3 : rule__DatamartTableAttribute__Group_1_2__3__Impl rule__DatamartTableAttribute__Group_1_2__4 ;
     public final void rule__DatamartTableAttribute__Group_1_2__3() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:18475:1: ( rule__DatamartTableAttribute__Group_1_2__3__Impl rule__DatamartTableAttribute__Group_1_2__4 )
-            // InternalReportDSL.g:18476:2: rule__DatamartTableAttribute__Group_1_2__3__Impl rule__DatamartTableAttribute__Group_1_2__4
+            // InternalReportDSL.g:18131:1: ( rule__DatamartTableAttribute__Group_1_2__3__Impl rule__DatamartTableAttribute__Group_1_2__4 )
+            // InternalReportDSL.g:18132:2: rule__DatamartTableAttribute__Group_1_2__3__Impl rule__DatamartTableAttribute__Group_1_2__4
             {
-            pushFollow(FOLLOW_98);
+            pushFollow(FOLLOW_97);
             rule__DatamartTableAttribute__Group_1_2__3__Impl();
 
             state._fsp--;
@@ -62185,37 +60908,37 @@
 
 
     // $ANTLR start "rule__DatamartTableAttribute__Group_1_2__3__Impl"
-    // InternalReportDSL.g:18483:1: rule__DatamartTableAttribute__Group_1_2__3__Impl : ( ( rule__DatamartTableAttribute__IntervalsAssignment_1_2_3 )* ) ;
+    // InternalReportDSL.g:18139:1: rule__DatamartTableAttribute__Group_1_2__3__Impl : ( ( rule__DatamartTableAttribute__IntervalsAssignment_1_2_3 )* ) ;
     public final void rule__DatamartTableAttribute__Group_1_2__3__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:18487:1: ( ( ( rule__DatamartTableAttribute__IntervalsAssignment_1_2_3 )* ) )
-            // InternalReportDSL.g:18488:1: ( ( rule__DatamartTableAttribute__IntervalsAssignment_1_2_3 )* )
+            // InternalReportDSL.g:18143:1: ( ( ( rule__DatamartTableAttribute__IntervalsAssignment_1_2_3 )* ) )
+            // InternalReportDSL.g:18144:1: ( ( rule__DatamartTableAttribute__IntervalsAssignment_1_2_3 )* )
             {
-            // InternalReportDSL.g:18488:1: ( ( rule__DatamartTableAttribute__IntervalsAssignment_1_2_3 )* )
-            // InternalReportDSL.g:18489:2: ( rule__DatamartTableAttribute__IntervalsAssignment_1_2_3 )*
+            // InternalReportDSL.g:18144:1: ( ( rule__DatamartTableAttribute__IntervalsAssignment_1_2_3 )* )
+            // InternalReportDSL.g:18145:2: ( rule__DatamartTableAttribute__IntervalsAssignment_1_2_3 )*
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getDatamartTableAttributeAccess().getIntervalsAssignment_1_2_3()); 
             }
-            // InternalReportDSL.g:18490:2: ( rule__DatamartTableAttribute__IntervalsAssignment_1_2_3 )*
-            loop148:
+            // InternalReportDSL.g:18146:2: ( rule__DatamartTableAttribute__IntervalsAssignment_1_2_3 )*
+            loop130:
             do {
-                int alt148=2;
-                int LA148_0 = input.LA(1);
+                int alt130=2;
+                int LA130_0 = input.LA(1);
 
-                if ( ((LA148_0>=213 && LA148_0<=214)) ) {
-                    alt148=1;
+                if ( ((LA130_0>=220 && LA130_0<=221)) ) {
+                    alt130=1;
                 }
 
 
-                switch (alt148) {
+                switch (alt130) {
             	case 1 :
-            	    // InternalReportDSL.g:18490:3: rule__DatamartTableAttribute__IntervalsAssignment_1_2_3
+            	    // InternalReportDSL.g:18146:3: rule__DatamartTableAttribute__IntervalsAssignment_1_2_3
             	    {
-            	    pushFollow(FOLLOW_99);
+            	    pushFollow(FOLLOW_98);
             	    rule__DatamartTableAttribute__IntervalsAssignment_1_2_3();
 
             	    state._fsp--;
@@ -62225,7 +60948,7 @@
             	    break;
 
             	default :
-            	    break loop148;
+            	    break loop130;
                 }
             } while (true);
 
@@ -62254,14 +60977,14 @@
 
 
     // $ANTLR start "rule__DatamartTableAttribute__Group_1_2__4"
-    // InternalReportDSL.g:18498:1: rule__DatamartTableAttribute__Group_1_2__4 : rule__DatamartTableAttribute__Group_1_2__4__Impl ;
+    // InternalReportDSL.g:18154:1: rule__DatamartTableAttribute__Group_1_2__4 : rule__DatamartTableAttribute__Group_1_2__4__Impl ;
     public final void rule__DatamartTableAttribute__Group_1_2__4() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:18502:1: ( rule__DatamartTableAttribute__Group_1_2__4__Impl )
-            // InternalReportDSL.g:18503:2: rule__DatamartTableAttribute__Group_1_2__4__Impl
+            // InternalReportDSL.g:18158:1: ( rule__DatamartTableAttribute__Group_1_2__4__Impl )
+            // InternalReportDSL.g:18159:2: rule__DatamartTableAttribute__Group_1_2__4__Impl
             {
             pushFollow(FOLLOW_2);
             rule__DatamartTableAttribute__Group_1_2__4__Impl();
@@ -62287,22 +61010,22 @@
 
 
     // $ANTLR start "rule__DatamartTableAttribute__Group_1_2__4__Impl"
-    // InternalReportDSL.g:18509:1: rule__DatamartTableAttribute__Group_1_2__4__Impl : ( '}' ) ;
+    // InternalReportDSL.g:18165:1: rule__DatamartTableAttribute__Group_1_2__4__Impl : ( '}' ) ;
     public final void rule__DatamartTableAttribute__Group_1_2__4__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:18513:1: ( ( '}' ) )
-            // InternalReportDSL.g:18514:1: ( '}' )
+            // InternalReportDSL.g:18169:1: ( ( '}' ) )
+            // InternalReportDSL.g:18170:1: ( '}' )
             {
-            // InternalReportDSL.g:18514:1: ( '}' )
-            // InternalReportDSL.g:18515:2: '}'
+            // InternalReportDSL.g:18170:1: ( '}' )
+            // InternalReportDSL.g:18171:2: '}'
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getDatamartTableAttributeAccess().getRightCurlyBracketKeyword_1_2_4()); 
             }
-            match(input,126,FOLLOW_2); if (state.failed) return ;
+            match(input,132,FOLLOW_2); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getDatamartTableAttributeAccess().getRightCurlyBracketKeyword_1_2_4()); 
             }
@@ -62328,16 +61051,16 @@
 
 
     // $ANTLR start "rule__DatamartTableAttribute__Group_1_3__0"
-    // InternalReportDSL.g:18525:1: rule__DatamartTableAttribute__Group_1_3__0 : rule__DatamartTableAttribute__Group_1_3__0__Impl rule__DatamartTableAttribute__Group_1_3__1 ;
+    // InternalReportDSL.g:18181:1: rule__DatamartTableAttribute__Group_1_3__0 : rule__DatamartTableAttribute__Group_1_3__0__Impl rule__DatamartTableAttribute__Group_1_3__1 ;
     public final void rule__DatamartTableAttribute__Group_1_3__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:18529:1: ( rule__DatamartTableAttribute__Group_1_3__0__Impl rule__DatamartTableAttribute__Group_1_3__1 )
-            // InternalReportDSL.g:18530:2: rule__DatamartTableAttribute__Group_1_3__0__Impl rule__DatamartTableAttribute__Group_1_3__1
+            // InternalReportDSL.g:18185:1: ( rule__DatamartTableAttribute__Group_1_3__0__Impl rule__DatamartTableAttribute__Group_1_3__1 )
+            // InternalReportDSL.g:18186:2: rule__DatamartTableAttribute__Group_1_3__0__Impl rule__DatamartTableAttribute__Group_1_3__1
             {
-            pushFollow(FOLLOW_97);
+            pushFollow(FOLLOW_96);
             rule__DatamartTableAttribute__Group_1_3__0__Impl();
 
             state._fsp--;
@@ -62366,22 +61089,22 @@
 
 
     // $ANTLR start "rule__DatamartTableAttribute__Group_1_3__0__Impl"
-    // InternalReportDSL.g:18537:1: rule__DatamartTableAttribute__Group_1_3__0__Impl : ( 'lookups' ) ;
+    // InternalReportDSL.g:18193:1: rule__DatamartTableAttribute__Group_1_3__0__Impl : ( 'lookups' ) ;
     public final void rule__DatamartTableAttribute__Group_1_3__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:18541:1: ( ( 'lookups' ) )
-            // InternalReportDSL.g:18542:1: ( 'lookups' )
+            // InternalReportDSL.g:18197:1: ( ( 'lookups' ) )
+            // InternalReportDSL.g:18198:1: ( 'lookups' )
             {
-            // InternalReportDSL.g:18542:1: ( 'lookups' )
-            // InternalReportDSL.g:18543:2: 'lookups'
+            // InternalReportDSL.g:18198:1: ( 'lookups' )
+            // InternalReportDSL.g:18199:2: 'lookups'
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getDatamartTableAttributeAccess().getLookupsKeyword_1_3_0()); 
             }
-            match(input,199,FOLLOW_2); if (state.failed) return ;
+            match(input,206,FOLLOW_2); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getDatamartTableAttributeAccess().getLookupsKeyword_1_3_0()); 
             }
@@ -62407,16 +61130,16 @@
 
 
     // $ANTLR start "rule__DatamartTableAttribute__Group_1_3__1"
-    // InternalReportDSL.g:18552:1: rule__DatamartTableAttribute__Group_1_3__1 : rule__DatamartTableAttribute__Group_1_3__1__Impl rule__DatamartTableAttribute__Group_1_3__2 ;
+    // InternalReportDSL.g:18208:1: rule__DatamartTableAttribute__Group_1_3__1 : rule__DatamartTableAttribute__Group_1_3__1__Impl rule__DatamartTableAttribute__Group_1_3__2 ;
     public final void rule__DatamartTableAttribute__Group_1_3__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:18556:1: ( rule__DatamartTableAttribute__Group_1_3__1__Impl rule__DatamartTableAttribute__Group_1_3__2 )
-            // InternalReportDSL.g:18557:2: rule__DatamartTableAttribute__Group_1_3__1__Impl rule__DatamartTableAttribute__Group_1_3__2
+            // InternalReportDSL.g:18212:1: ( rule__DatamartTableAttribute__Group_1_3__1__Impl rule__DatamartTableAttribute__Group_1_3__2 )
+            // InternalReportDSL.g:18213:2: rule__DatamartTableAttribute__Group_1_3__1__Impl rule__DatamartTableAttribute__Group_1_3__2
             {
-            pushFollow(FOLLOW_97);
+            pushFollow(FOLLOW_96);
             rule__DatamartTableAttribute__Group_1_3__1__Impl();
 
             state._fsp--;
@@ -62445,31 +61168,31 @@
 
 
     // $ANTLR start "rule__DatamartTableAttribute__Group_1_3__1__Impl"
-    // InternalReportDSL.g:18564:1: rule__DatamartTableAttribute__Group_1_3__1__Impl : ( ( rule__DatamartTableAttribute__HideLabelLookupAssignment_1_3_1 )? ) ;
+    // InternalReportDSL.g:18220:1: rule__DatamartTableAttribute__Group_1_3__1__Impl : ( ( rule__DatamartTableAttribute__HideLabelLookupAssignment_1_3_1 )? ) ;
     public final void rule__DatamartTableAttribute__Group_1_3__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:18568:1: ( ( ( rule__DatamartTableAttribute__HideLabelLookupAssignment_1_3_1 )? ) )
-            // InternalReportDSL.g:18569:1: ( ( rule__DatamartTableAttribute__HideLabelLookupAssignment_1_3_1 )? )
+            // InternalReportDSL.g:18224:1: ( ( ( rule__DatamartTableAttribute__HideLabelLookupAssignment_1_3_1 )? ) )
+            // InternalReportDSL.g:18225:1: ( ( rule__DatamartTableAttribute__HideLabelLookupAssignment_1_3_1 )? )
             {
-            // InternalReportDSL.g:18569:1: ( ( rule__DatamartTableAttribute__HideLabelLookupAssignment_1_3_1 )? )
-            // InternalReportDSL.g:18570:2: ( rule__DatamartTableAttribute__HideLabelLookupAssignment_1_3_1 )?
+            // InternalReportDSL.g:18225:1: ( ( rule__DatamartTableAttribute__HideLabelLookupAssignment_1_3_1 )? )
+            // InternalReportDSL.g:18226:2: ( rule__DatamartTableAttribute__HideLabelLookupAssignment_1_3_1 )?
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getDatamartTableAttributeAccess().getHideLabelLookupAssignment_1_3_1()); 
             }
-            // InternalReportDSL.g:18571:2: ( rule__DatamartTableAttribute__HideLabelLookupAssignment_1_3_1 )?
-            int alt149=2;
-            int LA149_0 = input.LA(1);
+            // InternalReportDSL.g:18227:2: ( rule__DatamartTableAttribute__HideLabelLookupAssignment_1_3_1 )?
+            int alt131=2;
+            int LA131_0 = input.LA(1);
 
-            if ( (LA149_0==259) ) {
-                alt149=1;
+            if ( (LA131_0==264) ) {
+                alt131=1;
             }
-            switch (alt149) {
+            switch (alt131) {
                 case 1 :
-                    // InternalReportDSL.g:18571:3: rule__DatamartTableAttribute__HideLabelLookupAssignment_1_3_1
+                    // InternalReportDSL.g:18227:3: rule__DatamartTableAttribute__HideLabelLookupAssignment_1_3_1
                     {
                     pushFollow(FOLLOW_2);
                     rule__DatamartTableAttribute__HideLabelLookupAssignment_1_3_1();
@@ -62507,16 +61230,16 @@
 
 
     // $ANTLR start "rule__DatamartTableAttribute__Group_1_3__2"
-    // InternalReportDSL.g:18579:1: rule__DatamartTableAttribute__Group_1_3__2 : rule__DatamartTableAttribute__Group_1_3__2__Impl rule__DatamartTableAttribute__Group_1_3__3 ;
+    // InternalReportDSL.g:18235:1: rule__DatamartTableAttribute__Group_1_3__2 : rule__DatamartTableAttribute__Group_1_3__2__Impl rule__DatamartTableAttribute__Group_1_3__3 ;
     public final void rule__DatamartTableAttribute__Group_1_3__2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:18583:1: ( rule__DatamartTableAttribute__Group_1_3__2__Impl rule__DatamartTableAttribute__Group_1_3__3 )
-            // InternalReportDSL.g:18584:2: rule__DatamartTableAttribute__Group_1_3__2__Impl rule__DatamartTableAttribute__Group_1_3__3
+            // InternalReportDSL.g:18239:1: ( rule__DatamartTableAttribute__Group_1_3__2__Impl rule__DatamartTableAttribute__Group_1_3__3 )
+            // InternalReportDSL.g:18240:2: rule__DatamartTableAttribute__Group_1_3__2__Impl rule__DatamartTableAttribute__Group_1_3__3
             {
-            pushFollow(FOLLOW_100);
+            pushFollow(FOLLOW_99);
             rule__DatamartTableAttribute__Group_1_3__2__Impl();
 
             state._fsp--;
@@ -62545,22 +61268,22 @@
 
 
     // $ANTLR start "rule__DatamartTableAttribute__Group_1_3__2__Impl"
-    // InternalReportDSL.g:18591:1: rule__DatamartTableAttribute__Group_1_3__2__Impl : ( '{' ) ;
+    // InternalReportDSL.g:18247:1: rule__DatamartTableAttribute__Group_1_3__2__Impl : ( '{' ) ;
     public final void rule__DatamartTableAttribute__Group_1_3__2__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:18595:1: ( ( '{' ) )
-            // InternalReportDSL.g:18596:1: ( '{' )
+            // InternalReportDSL.g:18251:1: ( ( '{' ) )
+            // InternalReportDSL.g:18252:1: ( '{' )
             {
-            // InternalReportDSL.g:18596:1: ( '{' )
-            // InternalReportDSL.g:18597:2: '{'
+            // InternalReportDSL.g:18252:1: ( '{' )
+            // InternalReportDSL.g:18253:2: '{'
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getDatamartTableAttributeAccess().getLeftCurlyBracketKeyword_1_3_2()); 
             }
-            match(input,125,FOLLOW_2); if (state.failed) return ;
+            match(input,131,FOLLOW_2); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getDatamartTableAttributeAccess().getLeftCurlyBracketKeyword_1_3_2()); 
             }
@@ -62586,16 +61309,16 @@
 
 
     // $ANTLR start "rule__DatamartTableAttribute__Group_1_3__3"
-    // InternalReportDSL.g:18606:1: rule__DatamartTableAttribute__Group_1_3__3 : rule__DatamartTableAttribute__Group_1_3__3__Impl rule__DatamartTableAttribute__Group_1_3__4 ;
+    // InternalReportDSL.g:18262:1: rule__DatamartTableAttribute__Group_1_3__3 : rule__DatamartTableAttribute__Group_1_3__3__Impl rule__DatamartTableAttribute__Group_1_3__4 ;
     public final void rule__DatamartTableAttribute__Group_1_3__3() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:18610:1: ( rule__DatamartTableAttribute__Group_1_3__3__Impl rule__DatamartTableAttribute__Group_1_3__4 )
-            // InternalReportDSL.g:18611:2: rule__DatamartTableAttribute__Group_1_3__3__Impl rule__DatamartTableAttribute__Group_1_3__4
+            // InternalReportDSL.g:18266:1: ( rule__DatamartTableAttribute__Group_1_3__3__Impl rule__DatamartTableAttribute__Group_1_3__4 )
+            // InternalReportDSL.g:18267:2: rule__DatamartTableAttribute__Group_1_3__3__Impl rule__DatamartTableAttribute__Group_1_3__4
             {
-            pushFollow(FOLLOW_100);
+            pushFollow(FOLLOW_99);
             rule__DatamartTableAttribute__Group_1_3__3__Impl();
 
             state._fsp--;
@@ -62624,37 +61347,37 @@
 
 
     // $ANTLR start "rule__DatamartTableAttribute__Group_1_3__3__Impl"
-    // InternalReportDSL.g:18618:1: rule__DatamartTableAttribute__Group_1_3__3__Impl : ( ( rule__DatamartTableAttribute__LookupsAssignment_1_3_3 )* ) ;
+    // InternalReportDSL.g:18274:1: rule__DatamartTableAttribute__Group_1_3__3__Impl : ( ( rule__DatamartTableAttribute__LookupsAssignment_1_3_3 )* ) ;
     public final void rule__DatamartTableAttribute__Group_1_3__3__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:18622:1: ( ( ( rule__DatamartTableAttribute__LookupsAssignment_1_3_3 )* ) )
-            // InternalReportDSL.g:18623:1: ( ( rule__DatamartTableAttribute__LookupsAssignment_1_3_3 )* )
+            // InternalReportDSL.g:18278:1: ( ( ( rule__DatamartTableAttribute__LookupsAssignment_1_3_3 )* ) )
+            // InternalReportDSL.g:18279:1: ( ( rule__DatamartTableAttribute__LookupsAssignment_1_3_3 )* )
             {
-            // InternalReportDSL.g:18623:1: ( ( rule__DatamartTableAttribute__LookupsAssignment_1_3_3 )* )
-            // InternalReportDSL.g:18624:2: ( rule__DatamartTableAttribute__LookupsAssignment_1_3_3 )*
+            // InternalReportDSL.g:18279:1: ( ( rule__DatamartTableAttribute__LookupsAssignment_1_3_3 )* )
+            // InternalReportDSL.g:18280:2: ( rule__DatamartTableAttribute__LookupsAssignment_1_3_3 )*
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getDatamartTableAttributeAccess().getLookupsAssignment_1_3_3()); 
             }
-            // InternalReportDSL.g:18625:2: ( rule__DatamartTableAttribute__LookupsAssignment_1_3_3 )*
-            loop150:
+            // InternalReportDSL.g:18281:2: ( rule__DatamartTableAttribute__LookupsAssignment_1_3_3 )*
+            loop132:
             do {
-                int alt150=2;
-                int LA150_0 = input.LA(1);
+                int alt132=2;
+                int LA132_0 = input.LA(1);
 
-                if ( (LA150_0==173||(LA150_0>=214 && LA150_0<=215)) ) {
-                    alt150=1;
+                if ( (LA132_0==180||(LA132_0>=221 && LA132_0<=222)) ) {
+                    alt132=1;
                 }
 
 
-                switch (alt150) {
+                switch (alt132) {
             	case 1 :
-            	    // InternalReportDSL.g:18625:3: rule__DatamartTableAttribute__LookupsAssignment_1_3_3
+            	    // InternalReportDSL.g:18281:3: rule__DatamartTableAttribute__LookupsAssignment_1_3_3
             	    {
-            	    pushFollow(FOLLOW_101);
+            	    pushFollow(FOLLOW_100);
             	    rule__DatamartTableAttribute__LookupsAssignment_1_3_3();
 
             	    state._fsp--;
@@ -62664,7 +61387,7 @@
             	    break;
 
             	default :
-            	    break loop150;
+            	    break loop132;
                 }
             } while (true);
 
@@ -62693,14 +61416,14 @@
 
 
     // $ANTLR start "rule__DatamartTableAttribute__Group_1_3__4"
-    // InternalReportDSL.g:18633:1: rule__DatamartTableAttribute__Group_1_3__4 : rule__DatamartTableAttribute__Group_1_3__4__Impl ;
+    // InternalReportDSL.g:18289:1: rule__DatamartTableAttribute__Group_1_3__4 : rule__DatamartTableAttribute__Group_1_3__4__Impl ;
     public final void rule__DatamartTableAttribute__Group_1_3__4() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:18637:1: ( rule__DatamartTableAttribute__Group_1_3__4__Impl )
-            // InternalReportDSL.g:18638:2: rule__DatamartTableAttribute__Group_1_3__4__Impl
+            // InternalReportDSL.g:18293:1: ( rule__DatamartTableAttribute__Group_1_3__4__Impl )
+            // InternalReportDSL.g:18294:2: rule__DatamartTableAttribute__Group_1_3__4__Impl
             {
             pushFollow(FOLLOW_2);
             rule__DatamartTableAttribute__Group_1_3__4__Impl();
@@ -62726,22 +61449,22 @@
 
 
     // $ANTLR start "rule__DatamartTableAttribute__Group_1_3__4__Impl"
-    // InternalReportDSL.g:18644:1: rule__DatamartTableAttribute__Group_1_3__4__Impl : ( '}' ) ;
+    // InternalReportDSL.g:18300:1: rule__DatamartTableAttribute__Group_1_3__4__Impl : ( '}' ) ;
     public final void rule__DatamartTableAttribute__Group_1_3__4__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:18648:1: ( ( '}' ) )
-            // InternalReportDSL.g:18649:1: ( '}' )
+            // InternalReportDSL.g:18304:1: ( ( '}' ) )
+            // InternalReportDSL.g:18305:1: ( '}' )
             {
-            // InternalReportDSL.g:18649:1: ( '}' )
-            // InternalReportDSL.g:18650:2: '}'
+            // InternalReportDSL.g:18305:1: ( '}' )
+            // InternalReportDSL.g:18306:2: '}'
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getDatamartTableAttributeAccess().getRightCurlyBracketKeyword_1_3_4()); 
             }
-            match(input,126,FOLLOW_2); if (state.failed) return ;
+            match(input,132,FOLLOW_2); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getDatamartTableAttributeAccess().getRightCurlyBracketKeyword_1_3_4()); 
             }
@@ -62767,14 +61490,14 @@
 
 
     // $ANTLR start "rule__TableAttribute__Group__0"
-    // InternalReportDSL.g:18660:1: rule__TableAttribute__Group__0 : rule__TableAttribute__Group__0__Impl rule__TableAttribute__Group__1 ;
+    // InternalReportDSL.g:18316:1: rule__TableAttribute__Group__0 : rule__TableAttribute__Group__0__Impl rule__TableAttribute__Group__1 ;
     public final void rule__TableAttribute__Group__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:18664:1: ( rule__TableAttribute__Group__0__Impl rule__TableAttribute__Group__1 )
-            // InternalReportDSL.g:18665:2: rule__TableAttribute__Group__0__Impl rule__TableAttribute__Group__1
+            // InternalReportDSL.g:18320:1: ( rule__TableAttribute__Group__0__Impl rule__TableAttribute__Group__1 )
+            // InternalReportDSL.g:18321:2: rule__TableAttribute__Group__0__Impl rule__TableAttribute__Group__1
             {
             pushFollow(FOLLOW_7);
             rule__TableAttribute__Group__0__Impl();
@@ -62805,22 +61528,22 @@
 
 
     // $ANTLR start "rule__TableAttribute__Group__0__Impl"
-    // InternalReportDSL.g:18672:1: rule__TableAttribute__Group__0__Impl : ( 'attribute' ) ;
+    // InternalReportDSL.g:18328:1: rule__TableAttribute__Group__0__Impl : ( 'attribute' ) ;
     public final void rule__TableAttribute__Group__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:18676:1: ( ( 'attribute' ) )
-            // InternalReportDSL.g:18677:1: ( 'attribute' )
+            // InternalReportDSL.g:18332:1: ( ( 'attribute' ) )
+            // InternalReportDSL.g:18333:1: ( 'attribute' )
             {
-            // InternalReportDSL.g:18677:1: ( 'attribute' )
-            // InternalReportDSL.g:18678:2: 'attribute'
+            // InternalReportDSL.g:18333:1: ( 'attribute' )
+            // InternalReportDSL.g:18334:2: 'attribute'
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getTableAttributeAccess().getAttributeKeyword_0()); 
             }
-            match(input,200,FOLLOW_2); if (state.failed) return ;
+            match(input,207,FOLLOW_2); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getTableAttributeAccess().getAttributeKeyword_0()); 
             }
@@ -62846,14 +61569,14 @@
 
 
     // $ANTLR start "rule__TableAttribute__Group__1"
-    // InternalReportDSL.g:18687:1: rule__TableAttribute__Group__1 : rule__TableAttribute__Group__1__Impl ;
+    // InternalReportDSL.g:18343:1: rule__TableAttribute__Group__1 : rule__TableAttribute__Group__1__Impl ;
     public final void rule__TableAttribute__Group__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:18691:1: ( rule__TableAttribute__Group__1__Impl )
-            // InternalReportDSL.g:18692:2: rule__TableAttribute__Group__1__Impl
+            // InternalReportDSL.g:18347:1: ( rule__TableAttribute__Group__1__Impl )
+            // InternalReportDSL.g:18348:2: rule__TableAttribute__Group__1__Impl
             {
             pushFollow(FOLLOW_2);
             rule__TableAttribute__Group__1__Impl();
@@ -62879,23 +61602,23 @@
 
 
     // $ANTLR start "rule__TableAttribute__Group__1__Impl"
-    // InternalReportDSL.g:18698:1: rule__TableAttribute__Group__1__Impl : ( ( rule__TableAttribute__ValueRefAssignment_1 ) ) ;
+    // InternalReportDSL.g:18354:1: rule__TableAttribute__Group__1__Impl : ( ( rule__TableAttribute__ValueRefAssignment_1 ) ) ;
     public final void rule__TableAttribute__Group__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:18702:1: ( ( ( rule__TableAttribute__ValueRefAssignment_1 ) ) )
-            // InternalReportDSL.g:18703:1: ( ( rule__TableAttribute__ValueRefAssignment_1 ) )
+            // InternalReportDSL.g:18358:1: ( ( ( rule__TableAttribute__ValueRefAssignment_1 ) ) )
+            // InternalReportDSL.g:18359:1: ( ( rule__TableAttribute__ValueRefAssignment_1 ) )
             {
-            // InternalReportDSL.g:18703:1: ( ( rule__TableAttribute__ValueRefAssignment_1 ) )
-            // InternalReportDSL.g:18704:2: ( rule__TableAttribute__ValueRefAssignment_1 )
+            // InternalReportDSL.g:18359:1: ( ( rule__TableAttribute__ValueRefAssignment_1 ) )
+            // InternalReportDSL.g:18360:2: ( rule__TableAttribute__ValueRefAssignment_1 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getTableAttributeAccess().getValueRefAssignment_1()); 
             }
-            // InternalReportDSL.g:18705:2: ( rule__TableAttribute__ValueRefAssignment_1 )
-            // InternalReportDSL.g:18705:3: rule__TableAttribute__ValueRefAssignment_1
+            // InternalReportDSL.g:18361:2: ( rule__TableAttribute__ValueRefAssignment_1 )
+            // InternalReportDSL.g:18361:3: rule__TableAttribute__ValueRefAssignment_1
             {
             pushFollow(FOLLOW_2);
             rule__TableAttribute__ValueRefAssignment_1();
@@ -62930,16 +61653,16 @@
 
 
     // $ANTLR start "rule__TableAggregation__Group__0"
-    // InternalReportDSL.g:18714:1: rule__TableAggregation__Group__0 : rule__TableAggregation__Group__0__Impl rule__TableAggregation__Group__1 ;
+    // InternalReportDSL.g:18370:1: rule__TableAggregation__Group__0 : rule__TableAggregation__Group__0__Impl rule__TableAggregation__Group__1 ;
     public final void rule__TableAggregation__Group__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:18718:1: ( rule__TableAggregation__Group__0__Impl rule__TableAggregation__Group__1 )
-            // InternalReportDSL.g:18719:2: rule__TableAggregation__Group__0__Impl rule__TableAggregation__Group__1
+            // InternalReportDSL.g:18374:1: ( rule__TableAggregation__Group__0__Impl rule__TableAggregation__Group__1 )
+            // InternalReportDSL.g:18375:2: rule__TableAggregation__Group__0__Impl rule__TableAggregation__Group__1
             {
-            pushFollow(FOLLOW_102);
+            pushFollow(FOLLOW_101);
             rule__TableAggregation__Group__0__Impl();
 
             state._fsp--;
@@ -62968,22 +61691,22 @@
 
 
     // $ANTLR start "rule__TableAggregation__Group__0__Impl"
-    // InternalReportDSL.g:18726:1: rule__TableAggregation__Group__0__Impl : ( 'aggregate' ) ;
+    // InternalReportDSL.g:18382:1: rule__TableAggregation__Group__0__Impl : ( 'aggregate' ) ;
     public final void rule__TableAggregation__Group__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:18730:1: ( ( 'aggregate' ) )
-            // InternalReportDSL.g:18731:1: ( 'aggregate' )
+            // InternalReportDSL.g:18386:1: ( ( 'aggregate' ) )
+            // InternalReportDSL.g:18387:1: ( 'aggregate' )
             {
-            // InternalReportDSL.g:18731:1: ( 'aggregate' )
-            // InternalReportDSL.g:18732:2: 'aggregate'
+            // InternalReportDSL.g:18387:1: ( 'aggregate' )
+            // InternalReportDSL.g:18388:2: 'aggregate'
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getTableAggregationAccess().getAggregateKeyword_0()); 
             }
-            match(input,201,FOLLOW_2); if (state.failed) return ;
+            match(input,208,FOLLOW_2); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getTableAggregationAccess().getAggregateKeyword_0()); 
             }
@@ -63009,16 +61732,16 @@
 
 
     // $ANTLR start "rule__TableAggregation__Group__1"
-    // InternalReportDSL.g:18741:1: rule__TableAggregation__Group__1 : rule__TableAggregation__Group__1__Impl rule__TableAggregation__Group__2 ;
+    // InternalReportDSL.g:18397:1: rule__TableAggregation__Group__1 : rule__TableAggregation__Group__1__Impl rule__TableAggregation__Group__2 ;
     public final void rule__TableAggregation__Group__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:18745:1: ( rule__TableAggregation__Group__1__Impl rule__TableAggregation__Group__2 )
-            // InternalReportDSL.g:18746:2: rule__TableAggregation__Group__1__Impl rule__TableAggregation__Group__2
+            // InternalReportDSL.g:18401:1: ( rule__TableAggregation__Group__1__Impl rule__TableAggregation__Group__2 )
+            // InternalReportDSL.g:18402:2: rule__TableAggregation__Group__1__Impl rule__TableAggregation__Group__2
             {
-            pushFollow(FOLLOW_103);
+            pushFollow(FOLLOW_102);
             rule__TableAggregation__Group__1__Impl();
 
             state._fsp--;
@@ -63047,23 +61770,23 @@
 
 
     // $ANTLR start "rule__TableAggregation__Group__1__Impl"
-    // InternalReportDSL.g:18753:1: rule__TableAggregation__Group__1__Impl : ( ( rule__TableAggregation__AggregationAssignment_1 ) ) ;
+    // InternalReportDSL.g:18409:1: rule__TableAggregation__Group__1__Impl : ( ( rule__TableAggregation__AggregationAssignment_1 ) ) ;
     public final void rule__TableAggregation__Group__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:18757:1: ( ( ( rule__TableAggregation__AggregationAssignment_1 ) ) )
-            // InternalReportDSL.g:18758:1: ( ( rule__TableAggregation__AggregationAssignment_1 ) )
+            // InternalReportDSL.g:18413:1: ( ( ( rule__TableAggregation__AggregationAssignment_1 ) ) )
+            // InternalReportDSL.g:18414:1: ( ( rule__TableAggregation__AggregationAssignment_1 ) )
             {
-            // InternalReportDSL.g:18758:1: ( ( rule__TableAggregation__AggregationAssignment_1 ) )
-            // InternalReportDSL.g:18759:2: ( rule__TableAggregation__AggregationAssignment_1 )
+            // InternalReportDSL.g:18414:1: ( ( rule__TableAggregation__AggregationAssignment_1 ) )
+            // InternalReportDSL.g:18415:2: ( rule__TableAggregation__AggregationAssignment_1 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getTableAggregationAccess().getAggregationAssignment_1()); 
             }
-            // InternalReportDSL.g:18760:2: ( rule__TableAggregation__AggregationAssignment_1 )
-            // InternalReportDSL.g:18760:3: rule__TableAggregation__AggregationAssignment_1
+            // InternalReportDSL.g:18416:2: ( rule__TableAggregation__AggregationAssignment_1 )
+            // InternalReportDSL.g:18416:3: rule__TableAggregation__AggregationAssignment_1
             {
             pushFollow(FOLLOW_2);
             rule__TableAggregation__AggregationAssignment_1();
@@ -63098,14 +61821,14 @@
 
 
     // $ANTLR start "rule__TableAggregation__Group__2"
-    // InternalReportDSL.g:18768:1: rule__TableAggregation__Group__2 : rule__TableAggregation__Group__2__Impl ;
+    // InternalReportDSL.g:18424:1: rule__TableAggregation__Group__2 : rule__TableAggregation__Group__2__Impl ;
     public final void rule__TableAggregation__Group__2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:18772:1: ( rule__TableAggregation__Group__2__Impl )
-            // InternalReportDSL.g:18773:2: rule__TableAggregation__Group__2__Impl
+            // InternalReportDSL.g:18428:1: ( rule__TableAggregation__Group__2__Impl )
+            // InternalReportDSL.g:18429:2: rule__TableAggregation__Group__2__Impl
             {
             pushFollow(FOLLOW_2);
             rule__TableAggregation__Group__2__Impl();
@@ -63131,23 +61854,23 @@
 
 
     // $ANTLR start "rule__TableAggregation__Group__2__Impl"
-    // InternalReportDSL.g:18779:1: rule__TableAggregation__Group__2__Impl : ( ( rule__TableAggregation__UnorderedGroup_2 ) ) ;
+    // InternalReportDSL.g:18435:1: rule__TableAggregation__Group__2__Impl : ( ( rule__TableAggregation__UnorderedGroup_2 ) ) ;
     public final void rule__TableAggregation__Group__2__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:18783:1: ( ( ( rule__TableAggregation__UnorderedGroup_2 ) ) )
-            // InternalReportDSL.g:18784:1: ( ( rule__TableAggregation__UnorderedGroup_2 ) )
+            // InternalReportDSL.g:18439:1: ( ( ( rule__TableAggregation__UnorderedGroup_2 ) ) )
+            // InternalReportDSL.g:18440:1: ( ( rule__TableAggregation__UnorderedGroup_2 ) )
             {
-            // InternalReportDSL.g:18784:1: ( ( rule__TableAggregation__UnorderedGroup_2 ) )
-            // InternalReportDSL.g:18785:2: ( rule__TableAggregation__UnorderedGroup_2 )
+            // InternalReportDSL.g:18440:1: ( ( rule__TableAggregation__UnorderedGroup_2 ) )
+            // InternalReportDSL.g:18441:2: ( rule__TableAggregation__UnorderedGroup_2 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getTableAggregationAccess().getUnorderedGroup_2()); 
             }
-            // InternalReportDSL.g:18786:2: ( rule__TableAggregation__UnorderedGroup_2 )
-            // InternalReportDSL.g:18786:3: rule__TableAggregation__UnorderedGroup_2
+            // InternalReportDSL.g:18442:2: ( rule__TableAggregation__UnorderedGroup_2 )
+            // InternalReportDSL.g:18442:3: rule__TableAggregation__UnorderedGroup_2
             {
             pushFollow(FOLLOW_2);
             rule__TableAggregation__UnorderedGroup_2();
@@ -63182,14 +61905,14 @@
 
 
     // $ANTLR start "rule__TableAggregation__Group_2_0__0"
-    // InternalReportDSL.g:18795:1: rule__TableAggregation__Group_2_0__0 : rule__TableAggregation__Group_2_0__0__Impl rule__TableAggregation__Group_2_0__1 ;
+    // InternalReportDSL.g:18451:1: rule__TableAggregation__Group_2_0__0 : rule__TableAggregation__Group_2_0__0__Impl rule__TableAggregation__Group_2_0__1 ;
     public final void rule__TableAggregation__Group_2_0__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:18799:1: ( rule__TableAggregation__Group_2_0__0__Impl rule__TableAggregation__Group_2_0__1 )
-            // InternalReportDSL.g:18800:2: rule__TableAggregation__Group_2_0__0__Impl rule__TableAggregation__Group_2_0__1
+            // InternalReportDSL.g:18455:1: ( rule__TableAggregation__Group_2_0__0__Impl rule__TableAggregation__Group_2_0__1 )
+            // InternalReportDSL.g:18456:2: rule__TableAggregation__Group_2_0__0__Impl rule__TableAggregation__Group_2_0__1
             {
             pushFollow(FOLLOW_7);
             rule__TableAggregation__Group_2_0__0__Impl();
@@ -63220,22 +61943,22 @@
 
 
     // $ANTLR start "rule__TableAggregation__Group_2_0__0__Impl"
-    // InternalReportDSL.g:18807:1: rule__TableAggregation__Group_2_0__0__Impl : ( 'on-group' ) ;
+    // InternalReportDSL.g:18463:1: rule__TableAggregation__Group_2_0__0__Impl : ( 'on-group' ) ;
     public final void rule__TableAggregation__Group_2_0__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:18811:1: ( ( 'on-group' ) )
-            // InternalReportDSL.g:18812:1: ( 'on-group' )
+            // InternalReportDSL.g:18467:1: ( ( 'on-group' ) )
+            // InternalReportDSL.g:18468:1: ( 'on-group' )
             {
-            // InternalReportDSL.g:18812:1: ( 'on-group' )
-            // InternalReportDSL.g:18813:2: 'on-group'
+            // InternalReportDSL.g:18468:1: ( 'on-group' )
+            // InternalReportDSL.g:18469:2: 'on-group'
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getTableAggregationAccess().getOnGroupKeyword_2_0_0()); 
             }
-            match(input,202,FOLLOW_2); if (state.failed) return ;
+            match(input,209,FOLLOW_2); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getTableAggregationAccess().getOnGroupKeyword_2_0_0()); 
             }
@@ -63261,14 +61984,14 @@
 
 
     // $ANTLR start "rule__TableAggregation__Group_2_0__1"
-    // InternalReportDSL.g:18822:1: rule__TableAggregation__Group_2_0__1 : rule__TableAggregation__Group_2_0__1__Impl ;
+    // InternalReportDSL.g:18478:1: rule__TableAggregation__Group_2_0__1 : rule__TableAggregation__Group_2_0__1__Impl ;
     public final void rule__TableAggregation__Group_2_0__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:18826:1: ( rule__TableAggregation__Group_2_0__1__Impl )
-            // InternalReportDSL.g:18827:2: rule__TableAggregation__Group_2_0__1__Impl
+            // InternalReportDSL.g:18482:1: ( rule__TableAggregation__Group_2_0__1__Impl )
+            // InternalReportDSL.g:18483:2: rule__TableAggregation__Group_2_0__1__Impl
             {
             pushFollow(FOLLOW_2);
             rule__TableAggregation__Group_2_0__1__Impl();
@@ -63294,23 +62017,23 @@
 
 
     // $ANTLR start "rule__TableAggregation__Group_2_0__1__Impl"
-    // InternalReportDSL.g:18833:1: rule__TableAggregation__Group_2_0__1__Impl : ( ( rule__TableAggregation__OnGroupAssignment_2_0_1 ) ) ;
+    // InternalReportDSL.g:18489:1: rule__TableAggregation__Group_2_0__1__Impl : ( ( rule__TableAggregation__OnGroupAssignment_2_0_1 ) ) ;
     public final void rule__TableAggregation__Group_2_0__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:18837:1: ( ( ( rule__TableAggregation__OnGroupAssignment_2_0_1 ) ) )
-            // InternalReportDSL.g:18838:1: ( ( rule__TableAggregation__OnGroupAssignment_2_0_1 ) )
+            // InternalReportDSL.g:18493:1: ( ( ( rule__TableAggregation__OnGroupAssignment_2_0_1 ) ) )
+            // InternalReportDSL.g:18494:1: ( ( rule__TableAggregation__OnGroupAssignment_2_0_1 ) )
             {
-            // InternalReportDSL.g:18838:1: ( ( rule__TableAggregation__OnGroupAssignment_2_0_1 ) )
-            // InternalReportDSL.g:18839:2: ( rule__TableAggregation__OnGroupAssignment_2_0_1 )
+            // InternalReportDSL.g:18494:1: ( ( rule__TableAggregation__OnGroupAssignment_2_0_1 ) )
+            // InternalReportDSL.g:18495:2: ( rule__TableAggregation__OnGroupAssignment_2_0_1 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getTableAggregationAccess().getOnGroupAssignment_2_0_1()); 
             }
-            // InternalReportDSL.g:18840:2: ( rule__TableAggregation__OnGroupAssignment_2_0_1 )
-            // InternalReportDSL.g:18840:3: rule__TableAggregation__OnGroupAssignment_2_0_1
+            // InternalReportDSL.g:18496:2: ( rule__TableAggregation__OnGroupAssignment_2_0_1 )
+            // InternalReportDSL.g:18496:3: rule__TableAggregation__OnGroupAssignment_2_0_1
             {
             pushFollow(FOLLOW_2);
             rule__TableAggregation__OnGroupAssignment_2_0_1();
@@ -63345,14 +62068,14 @@
 
 
     // $ANTLR start "rule__TableAggregation__Group_2_1__0"
-    // InternalReportDSL.g:18849:1: rule__TableAggregation__Group_2_1__0 : rule__TableAggregation__Group_2_1__0__Impl rule__TableAggregation__Group_2_1__1 ;
+    // InternalReportDSL.g:18505:1: rule__TableAggregation__Group_2_1__0 : rule__TableAggregation__Group_2_1__0__Impl rule__TableAggregation__Group_2_1__1 ;
     public final void rule__TableAggregation__Group_2_1__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:18853:1: ( rule__TableAggregation__Group_2_1__0__Impl rule__TableAggregation__Group_2_1__1 )
-            // InternalReportDSL.g:18854:2: rule__TableAggregation__Group_2_1__0__Impl rule__TableAggregation__Group_2_1__1
+            // InternalReportDSL.g:18509:1: ( rule__TableAggregation__Group_2_1__0__Impl rule__TableAggregation__Group_2_1__1 )
+            // InternalReportDSL.g:18510:2: rule__TableAggregation__Group_2_1__0__Impl rule__TableAggregation__Group_2_1__1
             {
             pushFollow(FOLLOW_18);
             rule__TableAggregation__Group_2_1__0__Impl();
@@ -63383,22 +62106,22 @@
 
 
     // $ANTLR start "rule__TableAggregation__Group_2_1__0__Impl"
-    // InternalReportDSL.g:18861:1: rule__TableAggregation__Group_2_1__0__Impl : ( 'title' ) ;
+    // InternalReportDSL.g:18517:1: rule__TableAggregation__Group_2_1__0__Impl : ( 'title' ) ;
     public final void rule__TableAggregation__Group_2_1__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:18865:1: ( ( 'title' ) )
-            // InternalReportDSL.g:18866:1: ( 'title' )
+            // InternalReportDSL.g:18521:1: ( ( 'title' ) )
+            // InternalReportDSL.g:18522:1: ( 'title' )
             {
-            // InternalReportDSL.g:18866:1: ( 'title' )
-            // InternalReportDSL.g:18867:2: 'title'
+            // InternalReportDSL.g:18522:1: ( 'title' )
+            // InternalReportDSL.g:18523:2: 'title'
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getTableAggregationAccess().getTitleKeyword_2_1_0()); 
             }
-            match(input,203,FOLLOW_2); if (state.failed) return ;
+            match(input,210,FOLLOW_2); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getTableAggregationAccess().getTitleKeyword_2_1_0()); 
             }
@@ -63424,14 +62147,14 @@
 
 
     // $ANTLR start "rule__TableAggregation__Group_2_1__1"
-    // InternalReportDSL.g:18876:1: rule__TableAggregation__Group_2_1__1 : rule__TableAggregation__Group_2_1__1__Impl ;
+    // InternalReportDSL.g:18532:1: rule__TableAggregation__Group_2_1__1 : rule__TableAggregation__Group_2_1__1__Impl ;
     public final void rule__TableAggregation__Group_2_1__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:18880:1: ( rule__TableAggregation__Group_2_1__1__Impl )
-            // InternalReportDSL.g:18881:2: rule__TableAggregation__Group_2_1__1__Impl
+            // InternalReportDSL.g:18536:1: ( rule__TableAggregation__Group_2_1__1__Impl )
+            // InternalReportDSL.g:18537:2: rule__TableAggregation__Group_2_1__1__Impl
             {
             pushFollow(FOLLOW_2);
             rule__TableAggregation__Group_2_1__1__Impl();
@@ -63457,23 +62180,23 @@
 
 
     // $ANTLR start "rule__TableAggregation__Group_2_1__1__Impl"
-    // InternalReportDSL.g:18887:1: rule__TableAggregation__Group_2_1__1__Impl : ( ( rule__TableAggregation__TextAssignment_2_1_1 ) ) ;
+    // InternalReportDSL.g:18543:1: rule__TableAggregation__Group_2_1__1__Impl : ( ( rule__TableAggregation__TextAssignment_2_1_1 ) ) ;
     public final void rule__TableAggregation__Group_2_1__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:18891:1: ( ( ( rule__TableAggregation__TextAssignment_2_1_1 ) ) )
-            // InternalReportDSL.g:18892:1: ( ( rule__TableAggregation__TextAssignment_2_1_1 ) )
+            // InternalReportDSL.g:18547:1: ( ( ( rule__TableAggregation__TextAssignment_2_1_1 ) ) )
+            // InternalReportDSL.g:18548:1: ( ( rule__TableAggregation__TextAssignment_2_1_1 ) )
             {
-            // InternalReportDSL.g:18892:1: ( ( rule__TableAggregation__TextAssignment_2_1_1 ) )
-            // InternalReportDSL.g:18893:2: ( rule__TableAggregation__TextAssignment_2_1_1 )
+            // InternalReportDSL.g:18548:1: ( ( rule__TableAggregation__TextAssignment_2_1_1 ) )
+            // InternalReportDSL.g:18549:2: ( rule__TableAggregation__TextAssignment_2_1_1 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getTableAggregationAccess().getTextAssignment_2_1_1()); 
             }
-            // InternalReportDSL.g:18894:2: ( rule__TableAggregation__TextAssignment_2_1_1 )
-            // InternalReportDSL.g:18894:3: rule__TableAggregation__TextAssignment_2_1_1
+            // InternalReportDSL.g:18550:2: ( rule__TableAggregation__TextAssignment_2_1_1 )
+            // InternalReportDSL.g:18550:3: rule__TableAggregation__TextAssignment_2_1_1
             {
             pushFollow(FOLLOW_2);
             rule__TableAggregation__TextAssignment_2_1_1();
@@ -63508,14 +62231,14 @@
 
 
     // $ANTLR start "rule__TableUnaryAggregation__Group__0"
-    // InternalReportDSL.g:18903:1: rule__TableUnaryAggregation__Group__0 : rule__TableUnaryAggregation__Group__0__Impl rule__TableUnaryAggregation__Group__1 ;
+    // InternalReportDSL.g:18559:1: rule__TableUnaryAggregation__Group__0 : rule__TableUnaryAggregation__Group__0__Impl rule__TableUnaryAggregation__Group__1 ;
     public final void rule__TableUnaryAggregation__Group__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:18907:1: ( rule__TableUnaryAggregation__Group__0__Impl rule__TableUnaryAggregation__Group__1 )
-            // InternalReportDSL.g:18908:2: rule__TableUnaryAggregation__Group__0__Impl rule__TableUnaryAggregation__Group__1
+            // InternalReportDSL.g:18563:1: ( rule__TableUnaryAggregation__Group__0__Impl rule__TableUnaryAggregation__Group__1 )
+            // InternalReportDSL.g:18564:2: rule__TableUnaryAggregation__Group__0__Impl rule__TableUnaryAggregation__Group__1
             {
             pushFollow(FOLLOW_7);
             rule__TableUnaryAggregation__Group__0__Impl();
@@ -63546,23 +62269,23 @@
 
 
     // $ANTLR start "rule__TableUnaryAggregation__Group__0__Impl"
-    // InternalReportDSL.g:18915:1: rule__TableUnaryAggregation__Group__0__Impl : ( ( rule__TableUnaryAggregation__AggregationAssignment_0 ) ) ;
+    // InternalReportDSL.g:18571:1: rule__TableUnaryAggregation__Group__0__Impl : ( ( rule__TableUnaryAggregation__AggregationAssignment_0 ) ) ;
     public final void rule__TableUnaryAggregation__Group__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:18919:1: ( ( ( rule__TableUnaryAggregation__AggregationAssignment_0 ) ) )
-            // InternalReportDSL.g:18920:1: ( ( rule__TableUnaryAggregation__AggregationAssignment_0 ) )
+            // InternalReportDSL.g:18575:1: ( ( ( rule__TableUnaryAggregation__AggregationAssignment_0 ) ) )
+            // InternalReportDSL.g:18576:1: ( ( rule__TableUnaryAggregation__AggregationAssignment_0 ) )
             {
-            // InternalReportDSL.g:18920:1: ( ( rule__TableUnaryAggregation__AggregationAssignment_0 ) )
-            // InternalReportDSL.g:18921:2: ( rule__TableUnaryAggregation__AggregationAssignment_0 )
+            // InternalReportDSL.g:18576:1: ( ( rule__TableUnaryAggregation__AggregationAssignment_0 ) )
+            // InternalReportDSL.g:18577:2: ( rule__TableUnaryAggregation__AggregationAssignment_0 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getTableUnaryAggregationAccess().getAggregationAssignment_0()); 
             }
-            // InternalReportDSL.g:18922:2: ( rule__TableUnaryAggregation__AggregationAssignment_0 )
-            // InternalReportDSL.g:18922:3: rule__TableUnaryAggregation__AggregationAssignment_0
+            // InternalReportDSL.g:18578:2: ( rule__TableUnaryAggregation__AggregationAssignment_0 )
+            // InternalReportDSL.g:18578:3: rule__TableUnaryAggregation__AggregationAssignment_0
             {
             pushFollow(FOLLOW_2);
             rule__TableUnaryAggregation__AggregationAssignment_0();
@@ -63597,14 +62320,14 @@
 
 
     // $ANTLR start "rule__TableUnaryAggregation__Group__1"
-    // InternalReportDSL.g:18930:1: rule__TableUnaryAggregation__Group__1 : rule__TableUnaryAggregation__Group__1__Impl ;
+    // InternalReportDSL.g:18586:1: rule__TableUnaryAggregation__Group__1 : rule__TableUnaryAggregation__Group__1__Impl ;
     public final void rule__TableUnaryAggregation__Group__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:18934:1: ( rule__TableUnaryAggregation__Group__1__Impl )
-            // InternalReportDSL.g:18935:2: rule__TableUnaryAggregation__Group__1__Impl
+            // InternalReportDSL.g:18590:1: ( rule__TableUnaryAggregation__Group__1__Impl )
+            // InternalReportDSL.g:18591:2: rule__TableUnaryAggregation__Group__1__Impl
             {
             pushFollow(FOLLOW_2);
             rule__TableUnaryAggregation__Group__1__Impl();
@@ -63630,23 +62353,23 @@
 
 
     // $ANTLR start "rule__TableUnaryAggregation__Group__1__Impl"
-    // InternalReportDSL.g:18941:1: rule__TableUnaryAggregation__Group__1__Impl : ( ( rule__TableUnaryAggregation__ValueRefsAssignment_1 ) ) ;
+    // InternalReportDSL.g:18597:1: rule__TableUnaryAggregation__Group__1__Impl : ( ( rule__TableUnaryAggregation__ValueRefsAssignment_1 ) ) ;
     public final void rule__TableUnaryAggregation__Group__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:18945:1: ( ( ( rule__TableUnaryAggregation__ValueRefsAssignment_1 ) ) )
-            // InternalReportDSL.g:18946:1: ( ( rule__TableUnaryAggregation__ValueRefsAssignment_1 ) )
+            // InternalReportDSL.g:18601:1: ( ( ( rule__TableUnaryAggregation__ValueRefsAssignment_1 ) ) )
+            // InternalReportDSL.g:18602:1: ( ( rule__TableUnaryAggregation__ValueRefsAssignment_1 ) )
             {
-            // InternalReportDSL.g:18946:1: ( ( rule__TableUnaryAggregation__ValueRefsAssignment_1 ) )
-            // InternalReportDSL.g:18947:2: ( rule__TableUnaryAggregation__ValueRefsAssignment_1 )
+            // InternalReportDSL.g:18602:1: ( ( rule__TableUnaryAggregation__ValueRefsAssignment_1 ) )
+            // InternalReportDSL.g:18603:2: ( rule__TableUnaryAggregation__ValueRefsAssignment_1 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getTableUnaryAggregationAccess().getValueRefsAssignment_1()); 
             }
-            // InternalReportDSL.g:18948:2: ( rule__TableUnaryAggregation__ValueRefsAssignment_1 )
-            // InternalReportDSL.g:18948:3: rule__TableUnaryAggregation__ValueRefsAssignment_1
+            // InternalReportDSL.g:18604:2: ( rule__TableUnaryAggregation__ValueRefsAssignment_1 )
+            // InternalReportDSL.g:18604:3: rule__TableUnaryAggregation__ValueRefsAssignment_1
             {
             pushFollow(FOLLOW_2);
             rule__TableUnaryAggregation__ValueRefsAssignment_1();
@@ -63681,16 +62404,16 @@
 
 
     // $ANTLR start "rule__TableMultipleAggregation__Group__0"
-    // InternalReportDSL.g:18957:1: rule__TableMultipleAggregation__Group__0 : rule__TableMultipleAggregation__Group__0__Impl rule__TableMultipleAggregation__Group__1 ;
+    // InternalReportDSL.g:18613:1: rule__TableMultipleAggregation__Group__0 : rule__TableMultipleAggregation__Group__0__Impl rule__TableMultipleAggregation__Group__1 ;
     public final void rule__TableMultipleAggregation__Group__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:18961:1: ( rule__TableMultipleAggregation__Group__0__Impl rule__TableMultipleAggregation__Group__1 )
-            // InternalReportDSL.g:18962:2: rule__TableMultipleAggregation__Group__0__Impl rule__TableMultipleAggregation__Group__1
+            // InternalReportDSL.g:18617:1: ( rule__TableMultipleAggregation__Group__0__Impl rule__TableMultipleAggregation__Group__1 )
+            // InternalReportDSL.g:18618:2: rule__TableMultipleAggregation__Group__0__Impl rule__TableMultipleAggregation__Group__1
             {
-            pushFollow(FOLLOW_104);
+            pushFollow(FOLLOW_103);
             rule__TableMultipleAggregation__Group__0__Impl();
 
             state._fsp--;
@@ -63719,23 +62442,23 @@
 
 
     // $ANTLR start "rule__TableMultipleAggregation__Group__0__Impl"
-    // InternalReportDSL.g:18969:1: rule__TableMultipleAggregation__Group__0__Impl : ( ( rule__TableMultipleAggregation__AggregationAssignment_0 ) ) ;
+    // InternalReportDSL.g:18625:1: rule__TableMultipleAggregation__Group__0__Impl : ( ( rule__TableMultipleAggregation__AggregationAssignment_0 ) ) ;
     public final void rule__TableMultipleAggregation__Group__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:18973:1: ( ( ( rule__TableMultipleAggregation__AggregationAssignment_0 ) ) )
-            // InternalReportDSL.g:18974:1: ( ( rule__TableMultipleAggregation__AggregationAssignment_0 ) )
+            // InternalReportDSL.g:18629:1: ( ( ( rule__TableMultipleAggregation__AggregationAssignment_0 ) ) )
+            // InternalReportDSL.g:18630:1: ( ( rule__TableMultipleAggregation__AggregationAssignment_0 ) )
             {
-            // InternalReportDSL.g:18974:1: ( ( rule__TableMultipleAggregation__AggregationAssignment_0 ) )
-            // InternalReportDSL.g:18975:2: ( rule__TableMultipleAggregation__AggregationAssignment_0 )
+            // InternalReportDSL.g:18630:1: ( ( rule__TableMultipleAggregation__AggregationAssignment_0 ) )
+            // InternalReportDSL.g:18631:2: ( rule__TableMultipleAggregation__AggregationAssignment_0 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getTableMultipleAggregationAccess().getAggregationAssignment_0()); 
             }
-            // InternalReportDSL.g:18976:2: ( rule__TableMultipleAggregation__AggregationAssignment_0 )
-            // InternalReportDSL.g:18976:3: rule__TableMultipleAggregation__AggregationAssignment_0
+            // InternalReportDSL.g:18632:2: ( rule__TableMultipleAggregation__AggregationAssignment_0 )
+            // InternalReportDSL.g:18632:3: rule__TableMultipleAggregation__AggregationAssignment_0
             {
             pushFollow(FOLLOW_2);
             rule__TableMultipleAggregation__AggregationAssignment_0();
@@ -63770,16 +62493,16 @@
 
 
     // $ANTLR start "rule__TableMultipleAggregation__Group__1"
-    // InternalReportDSL.g:18984:1: rule__TableMultipleAggregation__Group__1 : rule__TableMultipleAggregation__Group__1__Impl rule__TableMultipleAggregation__Group__2 ;
+    // InternalReportDSL.g:18640:1: rule__TableMultipleAggregation__Group__1 : rule__TableMultipleAggregation__Group__1__Impl rule__TableMultipleAggregation__Group__2 ;
     public final void rule__TableMultipleAggregation__Group__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:18988:1: ( rule__TableMultipleAggregation__Group__1__Impl rule__TableMultipleAggregation__Group__2 )
-            // InternalReportDSL.g:18989:2: rule__TableMultipleAggregation__Group__1__Impl rule__TableMultipleAggregation__Group__2
+            // InternalReportDSL.g:18644:1: ( rule__TableMultipleAggregation__Group__1__Impl rule__TableMultipleAggregation__Group__2 )
+            // InternalReportDSL.g:18645:2: rule__TableMultipleAggregation__Group__1__Impl rule__TableMultipleAggregation__Group__2
             {
-            pushFollow(FOLLOW_105);
+            pushFollow(FOLLOW_104);
             rule__TableMultipleAggregation__Group__1__Impl();
 
             state._fsp--;
@@ -63808,22 +62531,22 @@
 
 
     // $ANTLR start "rule__TableMultipleAggregation__Group__1__Impl"
-    // InternalReportDSL.g:18996:1: rule__TableMultipleAggregation__Group__1__Impl : ( '(' ) ;
+    // InternalReportDSL.g:18652:1: rule__TableMultipleAggregation__Group__1__Impl : ( '(' ) ;
     public final void rule__TableMultipleAggregation__Group__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:19000:1: ( ( '(' ) )
-            // InternalReportDSL.g:19001:1: ( '(' )
+            // InternalReportDSL.g:18656:1: ( ( '(' ) )
+            // InternalReportDSL.g:18657:1: ( '(' )
             {
-            // InternalReportDSL.g:19001:1: ( '(' )
-            // InternalReportDSL.g:19002:2: '('
+            // InternalReportDSL.g:18657:1: ( '(' )
+            // InternalReportDSL.g:18658:2: '('
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getTableMultipleAggregationAccess().getLeftParenthesisKeyword_1()); 
             }
-            match(input,204,FOLLOW_2); if (state.failed) return ;
+            match(input,211,FOLLOW_2); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getTableMultipleAggregationAccess().getLeftParenthesisKeyword_1()); 
             }
@@ -63849,16 +62572,16 @@
 
 
     // $ANTLR start "rule__TableMultipleAggregation__Group__2"
-    // InternalReportDSL.g:19011:1: rule__TableMultipleAggregation__Group__2 : rule__TableMultipleAggregation__Group__2__Impl rule__TableMultipleAggregation__Group__3 ;
+    // InternalReportDSL.g:18667:1: rule__TableMultipleAggregation__Group__2 : rule__TableMultipleAggregation__Group__2__Impl rule__TableMultipleAggregation__Group__3 ;
     public final void rule__TableMultipleAggregation__Group__2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:19015:1: ( rule__TableMultipleAggregation__Group__2__Impl rule__TableMultipleAggregation__Group__3 )
-            // InternalReportDSL.g:19016:2: rule__TableMultipleAggregation__Group__2__Impl rule__TableMultipleAggregation__Group__3
+            // InternalReportDSL.g:18671:1: ( rule__TableMultipleAggregation__Group__2__Impl rule__TableMultipleAggregation__Group__3 )
+            // InternalReportDSL.g:18672:2: rule__TableMultipleAggregation__Group__2__Impl rule__TableMultipleAggregation__Group__3
             {
-            pushFollow(FOLLOW_105);
+            pushFollow(FOLLOW_104);
             rule__TableMultipleAggregation__Group__2__Impl();
 
             state._fsp--;
@@ -63887,35 +62610,35 @@
 
 
     // $ANTLR start "rule__TableMultipleAggregation__Group__2__Impl"
-    // InternalReportDSL.g:19023:1: rule__TableMultipleAggregation__Group__2__Impl : ( ( rule__TableMultipleAggregation__ValueRefsAssignment_2 )* ) ;
+    // InternalReportDSL.g:18679:1: rule__TableMultipleAggregation__Group__2__Impl : ( ( rule__TableMultipleAggregation__ValueRefsAssignment_2 )* ) ;
     public final void rule__TableMultipleAggregation__Group__2__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:19027:1: ( ( ( rule__TableMultipleAggregation__ValueRefsAssignment_2 )* ) )
-            // InternalReportDSL.g:19028:1: ( ( rule__TableMultipleAggregation__ValueRefsAssignment_2 )* )
+            // InternalReportDSL.g:18683:1: ( ( ( rule__TableMultipleAggregation__ValueRefsAssignment_2 )* ) )
+            // InternalReportDSL.g:18684:1: ( ( rule__TableMultipleAggregation__ValueRefsAssignment_2 )* )
             {
-            // InternalReportDSL.g:19028:1: ( ( rule__TableMultipleAggregation__ValueRefsAssignment_2 )* )
-            // InternalReportDSL.g:19029:2: ( rule__TableMultipleAggregation__ValueRefsAssignment_2 )*
+            // InternalReportDSL.g:18684:1: ( ( rule__TableMultipleAggregation__ValueRefsAssignment_2 )* )
+            // InternalReportDSL.g:18685:2: ( rule__TableMultipleAggregation__ValueRefsAssignment_2 )*
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getTableMultipleAggregationAccess().getValueRefsAssignment_2()); 
             }
-            // InternalReportDSL.g:19030:2: ( rule__TableMultipleAggregation__ValueRefsAssignment_2 )*
-            loop151:
+            // InternalReportDSL.g:18686:2: ( rule__TableMultipleAggregation__ValueRefsAssignment_2 )*
+            loop133:
             do {
-                int alt151=2;
-                int LA151_0 = input.LA(1);
+                int alt133=2;
+                int LA133_0 = input.LA(1);
 
-                if ( (LA151_0==RULE_ID) ) {
-                    alt151=1;
+                if ( (LA133_0==RULE_ID) ) {
+                    alt133=1;
                 }
 
 
-                switch (alt151) {
+                switch (alt133) {
             	case 1 :
-            	    // InternalReportDSL.g:19030:3: rule__TableMultipleAggregation__ValueRefsAssignment_2
+            	    // InternalReportDSL.g:18686:3: rule__TableMultipleAggregation__ValueRefsAssignment_2
             	    {
             	    pushFollow(FOLLOW_4);
             	    rule__TableMultipleAggregation__ValueRefsAssignment_2();
@@ -63927,7 +62650,7 @@
             	    break;
 
             	default :
-            	    break loop151;
+            	    break loop133;
                 }
             } while (true);
 
@@ -63956,14 +62679,14 @@
 
 
     // $ANTLR start "rule__TableMultipleAggregation__Group__3"
-    // InternalReportDSL.g:19038:1: rule__TableMultipleAggregation__Group__3 : rule__TableMultipleAggregation__Group__3__Impl ;
+    // InternalReportDSL.g:18694:1: rule__TableMultipleAggregation__Group__3 : rule__TableMultipleAggregation__Group__3__Impl ;
     public final void rule__TableMultipleAggregation__Group__3() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:19042:1: ( rule__TableMultipleAggregation__Group__3__Impl )
-            // InternalReportDSL.g:19043:2: rule__TableMultipleAggregation__Group__3__Impl
+            // InternalReportDSL.g:18698:1: ( rule__TableMultipleAggregation__Group__3__Impl )
+            // InternalReportDSL.g:18699:2: rule__TableMultipleAggregation__Group__3__Impl
             {
             pushFollow(FOLLOW_2);
             rule__TableMultipleAggregation__Group__3__Impl();
@@ -63989,22 +62712,22 @@
 
 
     // $ANTLR start "rule__TableMultipleAggregation__Group__3__Impl"
-    // InternalReportDSL.g:19049:1: rule__TableMultipleAggregation__Group__3__Impl : ( ')' ) ;
+    // InternalReportDSL.g:18705:1: rule__TableMultipleAggregation__Group__3__Impl : ( ')' ) ;
     public final void rule__TableMultipleAggregation__Group__3__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:19053:1: ( ( ')' ) )
-            // InternalReportDSL.g:19054:1: ( ')' )
+            // InternalReportDSL.g:18709:1: ( ( ')' ) )
+            // InternalReportDSL.g:18710:1: ( ')' )
             {
-            // InternalReportDSL.g:19054:1: ( ')' )
-            // InternalReportDSL.g:19055:2: ')'
+            // InternalReportDSL.g:18710:1: ( ')' )
+            // InternalReportDSL.g:18711:2: ')'
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getTableMultipleAggregationAccess().getRightParenthesisKeyword_3()); 
             }
-            match(input,205,FOLLOW_2); if (state.failed) return ;
+            match(input,212,FOLLOW_2); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getTableMultipleAggregationAccess().getRightParenthesisKeyword_3()); 
             }
@@ -64030,14 +62753,14 @@
 
 
     // $ANTLR start "rule__TranslatableText__Group__0"
-    // InternalReportDSL.g:19065:1: rule__TranslatableText__Group__0 : rule__TranslatableText__Group__0__Impl rule__TranslatableText__Group__1 ;
+    // InternalReportDSL.g:18721:1: rule__TranslatableText__Group__0 : rule__TranslatableText__Group__0__Impl rule__TranslatableText__Group__1 ;
     public final void rule__TranslatableText__Group__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:19069:1: ( rule__TranslatableText__Group__0__Impl rule__TranslatableText__Group__1 )
-            // InternalReportDSL.g:19070:2: rule__TranslatableText__Group__0__Impl rule__TranslatableText__Group__1
+            // InternalReportDSL.g:18725:1: ( rule__TranslatableText__Group__0__Impl rule__TranslatableText__Group__1 )
+            // InternalReportDSL.g:18726:2: rule__TranslatableText__Group__0__Impl rule__TranslatableText__Group__1
             {
             pushFollow(FOLLOW_18);
             rule__TranslatableText__Group__0__Impl();
@@ -64068,22 +62791,22 @@
 
 
     // $ANTLR start "rule__TranslatableText__Group__0__Impl"
-    // InternalReportDSL.g:19077:1: rule__TranslatableText__Group__0__Impl : ( 'translatable' ) ;
+    // InternalReportDSL.g:18733:1: rule__TranslatableText__Group__0__Impl : ( 'translatable' ) ;
     public final void rule__TranslatableText__Group__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:19081:1: ( ( 'translatable' ) )
-            // InternalReportDSL.g:19082:1: ( 'translatable' )
+            // InternalReportDSL.g:18737:1: ( ( 'translatable' ) )
+            // InternalReportDSL.g:18738:1: ( 'translatable' )
             {
-            // InternalReportDSL.g:19082:1: ( 'translatable' )
-            // InternalReportDSL.g:19083:2: 'translatable'
+            // InternalReportDSL.g:18738:1: ( 'translatable' )
+            // InternalReportDSL.g:18739:2: 'translatable'
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getTranslatableTextAccess().getTranslatableKeyword_0()); 
             }
-            match(input,206,FOLLOW_2); if (state.failed) return ;
+            match(input,213,FOLLOW_2); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getTranslatableTextAccess().getTranslatableKeyword_0()); 
             }
@@ -64109,14 +62832,14 @@
 
 
     // $ANTLR start "rule__TranslatableText__Group__1"
-    // InternalReportDSL.g:19092:1: rule__TranslatableText__Group__1 : rule__TranslatableText__Group__1__Impl ;
+    // InternalReportDSL.g:18748:1: rule__TranslatableText__Group__1 : rule__TranslatableText__Group__1__Impl ;
     public final void rule__TranslatableText__Group__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:19096:1: ( rule__TranslatableText__Group__1__Impl )
-            // InternalReportDSL.g:19097:2: rule__TranslatableText__Group__1__Impl
+            // InternalReportDSL.g:18752:1: ( rule__TranslatableText__Group__1__Impl )
+            // InternalReportDSL.g:18753:2: rule__TranslatableText__Group__1__Impl
             {
             pushFollow(FOLLOW_2);
             rule__TranslatableText__Group__1__Impl();
@@ -64142,23 +62865,23 @@
 
 
     // $ANTLR start "rule__TranslatableText__Group__1__Impl"
-    // InternalReportDSL.g:19103:1: rule__TranslatableText__Group__1__Impl : ( ( rule__TranslatableText__ValueAssignment_1 ) ) ;
+    // InternalReportDSL.g:18759:1: rule__TranslatableText__Group__1__Impl : ( ( rule__TranslatableText__ValueAssignment_1 ) ) ;
     public final void rule__TranslatableText__Group__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:19107:1: ( ( ( rule__TranslatableText__ValueAssignment_1 ) ) )
-            // InternalReportDSL.g:19108:1: ( ( rule__TranslatableText__ValueAssignment_1 ) )
+            // InternalReportDSL.g:18763:1: ( ( ( rule__TranslatableText__ValueAssignment_1 ) ) )
+            // InternalReportDSL.g:18764:1: ( ( rule__TranslatableText__ValueAssignment_1 ) )
             {
-            // InternalReportDSL.g:19108:1: ( ( rule__TranslatableText__ValueAssignment_1 ) )
-            // InternalReportDSL.g:19109:2: ( rule__TranslatableText__ValueAssignment_1 )
+            // InternalReportDSL.g:18764:1: ( ( rule__TranslatableText__ValueAssignment_1 ) )
+            // InternalReportDSL.g:18765:2: ( rule__TranslatableText__ValueAssignment_1 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getTranslatableTextAccess().getValueAssignment_1()); 
             }
-            // InternalReportDSL.g:19110:2: ( rule__TranslatableText__ValueAssignment_1 )
-            // InternalReportDSL.g:19110:3: rule__TranslatableText__ValueAssignment_1
+            // InternalReportDSL.g:18766:2: ( rule__TranslatableText__ValueAssignment_1 )
+            // InternalReportDSL.g:18766:3: rule__TranslatableText__ValueAssignment_1
             {
             pushFollow(FOLLOW_2);
             rule__TranslatableText__ValueAssignment_1();
@@ -64193,14 +62916,14 @@
 
 
     // $ANTLR start "rule__NonTranslatableText__Group__0"
-    // InternalReportDSL.g:19119:1: rule__NonTranslatableText__Group__0 : rule__NonTranslatableText__Group__0__Impl rule__NonTranslatableText__Group__1 ;
+    // InternalReportDSL.g:18775:1: rule__NonTranslatableText__Group__0 : rule__NonTranslatableText__Group__0__Impl rule__NonTranslatableText__Group__1 ;
     public final void rule__NonTranslatableText__Group__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:19123:1: ( rule__NonTranslatableText__Group__0__Impl rule__NonTranslatableText__Group__1 )
-            // InternalReportDSL.g:19124:2: rule__NonTranslatableText__Group__0__Impl rule__NonTranslatableText__Group__1
+            // InternalReportDSL.g:18779:1: ( rule__NonTranslatableText__Group__0__Impl rule__NonTranslatableText__Group__1 )
+            // InternalReportDSL.g:18780:2: rule__NonTranslatableText__Group__0__Impl rule__NonTranslatableText__Group__1
             {
             pushFollow(FOLLOW_18);
             rule__NonTranslatableText__Group__0__Impl();
@@ -64231,22 +62954,22 @@
 
 
     // $ANTLR start "rule__NonTranslatableText__Group__0__Impl"
-    // InternalReportDSL.g:19131:1: rule__NonTranslatableText__Group__0__Impl : ( 'nontranslatable' ) ;
+    // InternalReportDSL.g:18787:1: rule__NonTranslatableText__Group__0__Impl : ( 'nontranslatable' ) ;
     public final void rule__NonTranslatableText__Group__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:19135:1: ( ( 'nontranslatable' ) )
-            // InternalReportDSL.g:19136:1: ( 'nontranslatable' )
+            // InternalReportDSL.g:18791:1: ( ( 'nontranslatable' ) )
+            // InternalReportDSL.g:18792:1: ( 'nontranslatable' )
             {
-            // InternalReportDSL.g:19136:1: ( 'nontranslatable' )
-            // InternalReportDSL.g:19137:2: 'nontranslatable'
+            // InternalReportDSL.g:18792:1: ( 'nontranslatable' )
+            // InternalReportDSL.g:18793:2: 'nontranslatable'
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getNonTranslatableTextAccess().getNontranslatableKeyword_0()); 
             }
-            match(input,207,FOLLOW_2); if (state.failed) return ;
+            match(input,214,FOLLOW_2); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getNonTranslatableTextAccess().getNontranslatableKeyword_0()); 
             }
@@ -64272,14 +62995,14 @@
 
 
     // $ANTLR start "rule__NonTranslatableText__Group__1"
-    // InternalReportDSL.g:19146:1: rule__NonTranslatableText__Group__1 : rule__NonTranslatableText__Group__1__Impl ;
+    // InternalReportDSL.g:18802:1: rule__NonTranslatableText__Group__1 : rule__NonTranslatableText__Group__1__Impl ;
     public final void rule__NonTranslatableText__Group__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:19150:1: ( rule__NonTranslatableText__Group__1__Impl )
-            // InternalReportDSL.g:19151:2: rule__NonTranslatableText__Group__1__Impl
+            // InternalReportDSL.g:18806:1: ( rule__NonTranslatableText__Group__1__Impl )
+            // InternalReportDSL.g:18807:2: rule__NonTranslatableText__Group__1__Impl
             {
             pushFollow(FOLLOW_2);
             rule__NonTranslatableText__Group__1__Impl();
@@ -64305,23 +63028,23 @@
 
 
     // $ANTLR start "rule__NonTranslatableText__Group__1__Impl"
-    // InternalReportDSL.g:19157:1: rule__NonTranslatableText__Group__1__Impl : ( ( rule__NonTranslatableText__ValueAssignment_1 ) ) ;
+    // InternalReportDSL.g:18813:1: rule__NonTranslatableText__Group__1__Impl : ( ( rule__NonTranslatableText__ValueAssignment_1 ) ) ;
     public final void rule__NonTranslatableText__Group__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:19161:1: ( ( ( rule__NonTranslatableText__ValueAssignment_1 ) ) )
-            // InternalReportDSL.g:19162:1: ( ( rule__NonTranslatableText__ValueAssignment_1 ) )
+            // InternalReportDSL.g:18817:1: ( ( ( rule__NonTranslatableText__ValueAssignment_1 ) ) )
+            // InternalReportDSL.g:18818:1: ( ( rule__NonTranslatableText__ValueAssignment_1 ) )
             {
-            // InternalReportDSL.g:19162:1: ( ( rule__NonTranslatableText__ValueAssignment_1 ) )
-            // InternalReportDSL.g:19163:2: ( rule__NonTranslatableText__ValueAssignment_1 )
+            // InternalReportDSL.g:18818:1: ( ( rule__NonTranslatableText__ValueAssignment_1 ) )
+            // InternalReportDSL.g:18819:2: ( rule__NonTranslatableText__ValueAssignment_1 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getNonTranslatableTextAccess().getValueAssignment_1()); 
             }
-            // InternalReportDSL.g:19164:2: ( rule__NonTranslatableText__ValueAssignment_1 )
-            // InternalReportDSL.g:19164:3: rule__NonTranslatableText__ValueAssignment_1
+            // InternalReportDSL.g:18820:2: ( rule__NonTranslatableText__ValueAssignment_1 )
+            // InternalReportDSL.g:18820:3: rule__NonTranslatableText__ValueAssignment_1
             {
             pushFollow(FOLLOW_2);
             rule__NonTranslatableText__ValueAssignment_1();
@@ -64356,16 +63079,16 @@
 
 
     // $ANTLR start "rule__StringBinder__Group__0"
-    // InternalReportDSL.g:19173:1: rule__StringBinder__Group__0 : rule__StringBinder__Group__0__Impl rule__StringBinder__Group__1 ;
+    // InternalReportDSL.g:18829:1: rule__StringBinder__Group__0 : rule__StringBinder__Group__0__Impl rule__StringBinder__Group__1 ;
     public final void rule__StringBinder__Group__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:19177:1: ( rule__StringBinder__Group__0__Impl rule__StringBinder__Group__1 )
-            // InternalReportDSL.g:19178:2: rule__StringBinder__Group__0__Impl rule__StringBinder__Group__1
+            // InternalReportDSL.g:18833:1: ( rule__StringBinder__Group__0__Impl rule__StringBinder__Group__1 )
+            // InternalReportDSL.g:18834:2: rule__StringBinder__Group__0__Impl rule__StringBinder__Group__1
             {
-            pushFollow(FOLLOW_106);
+            pushFollow(FOLLOW_105);
             rule__StringBinder__Group__0__Impl();
 
             state._fsp--;
@@ -64394,23 +63117,23 @@
 
 
     // $ANTLR start "rule__StringBinder__Group__0__Impl"
-    // InternalReportDSL.g:19185:1: rule__StringBinder__Group__0__Impl : ( () ) ;
+    // InternalReportDSL.g:18841:1: rule__StringBinder__Group__0__Impl : ( () ) ;
     public final void rule__StringBinder__Group__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:19189:1: ( ( () ) )
-            // InternalReportDSL.g:19190:1: ( () )
+            // InternalReportDSL.g:18845:1: ( ( () ) )
+            // InternalReportDSL.g:18846:1: ( () )
             {
-            // InternalReportDSL.g:19190:1: ( () )
-            // InternalReportDSL.g:19191:2: ()
+            // InternalReportDSL.g:18846:1: ( () )
+            // InternalReportDSL.g:18847:2: ()
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getStringBinderAccess().getStringBinderAction_0()); 
             }
-            // InternalReportDSL.g:19192:2: ()
-            // InternalReportDSL.g:19192:3: 
+            // InternalReportDSL.g:18848:2: ()
+            // InternalReportDSL.g:18848:3: 
             {
             }
 
@@ -64435,16 +63158,16 @@
 
 
     // $ANTLR start "rule__StringBinder__Group__1"
-    // InternalReportDSL.g:19200:1: rule__StringBinder__Group__1 : rule__StringBinder__Group__1__Impl rule__StringBinder__Group__2 ;
+    // InternalReportDSL.g:18856:1: rule__StringBinder__Group__1 : rule__StringBinder__Group__1__Impl rule__StringBinder__Group__2 ;
     public final void rule__StringBinder__Group__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:19204:1: ( rule__StringBinder__Group__1__Impl rule__StringBinder__Group__2 )
-            // InternalReportDSL.g:19205:2: rule__StringBinder__Group__1__Impl rule__StringBinder__Group__2
+            // InternalReportDSL.g:18860:1: ( rule__StringBinder__Group__1__Impl rule__StringBinder__Group__2 )
+            // InternalReportDSL.g:18861:2: rule__StringBinder__Group__1__Impl rule__StringBinder__Group__2
             {
-            pushFollow(FOLLOW_104);
+            pushFollow(FOLLOW_103);
             rule__StringBinder__Group__1__Impl();
 
             state._fsp--;
@@ -64473,22 +63196,22 @@
 
 
     // $ANTLR start "rule__StringBinder__Group__1__Impl"
-    // InternalReportDSL.g:19212:1: rule__StringBinder__Group__1__Impl : ( 'stringBinder' ) ;
+    // InternalReportDSL.g:18868:1: rule__StringBinder__Group__1__Impl : ( 'stringBinder' ) ;
     public final void rule__StringBinder__Group__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:19216:1: ( ( 'stringBinder' ) )
-            // InternalReportDSL.g:19217:1: ( 'stringBinder' )
+            // InternalReportDSL.g:18872:1: ( ( 'stringBinder' ) )
+            // InternalReportDSL.g:18873:1: ( 'stringBinder' )
             {
-            // InternalReportDSL.g:19217:1: ( 'stringBinder' )
-            // InternalReportDSL.g:19218:2: 'stringBinder'
+            // InternalReportDSL.g:18873:1: ( 'stringBinder' )
+            // InternalReportDSL.g:18874:2: 'stringBinder'
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getStringBinderAccess().getStringBinderKeyword_1()); 
             }
-            match(input,208,FOLLOW_2); if (state.failed) return ;
+            match(input,215,FOLLOW_2); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getStringBinderAccess().getStringBinderKeyword_1()); 
             }
@@ -64514,16 +63237,16 @@
 
 
     // $ANTLR start "rule__StringBinder__Group__2"
-    // InternalReportDSL.g:19227:1: rule__StringBinder__Group__2 : rule__StringBinder__Group__2__Impl rule__StringBinder__Group__3 ;
+    // InternalReportDSL.g:18883:1: rule__StringBinder__Group__2 : rule__StringBinder__Group__2__Impl rule__StringBinder__Group__3 ;
     public final void rule__StringBinder__Group__2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:19231:1: ( rule__StringBinder__Group__2__Impl rule__StringBinder__Group__3 )
-            // InternalReportDSL.g:19232:2: rule__StringBinder__Group__2__Impl rule__StringBinder__Group__3
+            // InternalReportDSL.g:18887:1: ( rule__StringBinder__Group__2__Impl rule__StringBinder__Group__3 )
+            // InternalReportDSL.g:18888:2: rule__StringBinder__Group__2__Impl rule__StringBinder__Group__3
             {
-            pushFollow(FOLLOW_107);
+            pushFollow(FOLLOW_106);
             rule__StringBinder__Group__2__Impl();
 
             state._fsp--;
@@ -64552,22 +63275,22 @@
 
 
     // $ANTLR start "rule__StringBinder__Group__2__Impl"
-    // InternalReportDSL.g:19239:1: rule__StringBinder__Group__2__Impl : ( '(' ) ;
+    // InternalReportDSL.g:18895:1: rule__StringBinder__Group__2__Impl : ( '(' ) ;
     public final void rule__StringBinder__Group__2__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:19243:1: ( ( '(' ) )
-            // InternalReportDSL.g:19244:1: ( '(' )
+            // InternalReportDSL.g:18899:1: ( ( '(' ) )
+            // InternalReportDSL.g:18900:1: ( '(' )
             {
-            // InternalReportDSL.g:19244:1: ( '(' )
-            // InternalReportDSL.g:19245:2: '('
+            // InternalReportDSL.g:18900:1: ( '(' )
+            // InternalReportDSL.g:18901:2: '('
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getStringBinderAccess().getLeftParenthesisKeyword_2()); 
             }
-            match(input,204,FOLLOW_2); if (state.failed) return ;
+            match(input,211,FOLLOW_2); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getStringBinderAccess().getLeftParenthesisKeyword_2()); 
             }
@@ -64593,16 +63316,16 @@
 
 
     // $ANTLR start "rule__StringBinder__Group__3"
-    // InternalReportDSL.g:19254:1: rule__StringBinder__Group__3 : rule__StringBinder__Group__3__Impl rule__StringBinder__Group__4 ;
+    // InternalReportDSL.g:18910:1: rule__StringBinder__Group__3 : rule__StringBinder__Group__3__Impl rule__StringBinder__Group__4 ;
     public final void rule__StringBinder__Group__3() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:19258:1: ( rule__StringBinder__Group__3__Impl rule__StringBinder__Group__4 )
-            // InternalReportDSL.g:19259:2: rule__StringBinder__Group__3__Impl rule__StringBinder__Group__4
+            // InternalReportDSL.g:18914:1: ( rule__StringBinder__Group__3__Impl rule__StringBinder__Group__4 )
+            // InternalReportDSL.g:18915:2: rule__StringBinder__Group__3__Impl rule__StringBinder__Group__4
             {
-            pushFollow(FOLLOW_107);
+            pushFollow(FOLLOW_106);
             rule__StringBinder__Group__3__Impl();
 
             state._fsp--;
@@ -64631,37 +63354,37 @@
 
 
     // $ANTLR start "rule__StringBinder__Group__3__Impl"
-    // InternalReportDSL.g:19266:1: rule__StringBinder__Group__3__Impl : ( ( rule__StringBinder__ElementsAssignment_3 )* ) ;
+    // InternalReportDSL.g:18922:1: rule__StringBinder__Group__3__Impl : ( ( rule__StringBinder__ElementsAssignment_3 )* ) ;
     public final void rule__StringBinder__Group__3__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:19270:1: ( ( ( rule__StringBinder__ElementsAssignment_3 )* ) )
-            // InternalReportDSL.g:19271:1: ( ( rule__StringBinder__ElementsAssignment_3 )* )
+            // InternalReportDSL.g:18926:1: ( ( ( rule__StringBinder__ElementsAssignment_3 )* ) )
+            // InternalReportDSL.g:18927:1: ( ( rule__StringBinder__ElementsAssignment_3 )* )
             {
-            // InternalReportDSL.g:19271:1: ( ( rule__StringBinder__ElementsAssignment_3 )* )
-            // InternalReportDSL.g:19272:2: ( rule__StringBinder__ElementsAssignment_3 )*
+            // InternalReportDSL.g:18927:1: ( ( rule__StringBinder__ElementsAssignment_3 )* )
+            // InternalReportDSL.g:18928:2: ( rule__StringBinder__ElementsAssignment_3 )*
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getStringBinderAccess().getElementsAssignment_3()); 
             }
-            // InternalReportDSL.g:19273:2: ( rule__StringBinder__ElementsAssignment_3 )*
-            loop152:
+            // InternalReportDSL.g:18929:2: ( rule__StringBinder__ElementsAssignment_3 )*
+            loop134:
             do {
-                int alt152=2;
-                int LA152_0 = input.LA(1);
+                int alt134=2;
+                int LA134_0 = input.LA(1);
 
-                if ( (LA152_0==200||(LA152_0>=206 && LA152_0<=207)) ) {
-                    alt152=1;
+                if ( (LA134_0==207||(LA134_0>=213 && LA134_0<=214)) ) {
+                    alt134=1;
                 }
 
 
-                switch (alt152) {
+                switch (alt134) {
             	case 1 :
-            	    // InternalReportDSL.g:19273:3: rule__StringBinder__ElementsAssignment_3
+            	    // InternalReportDSL.g:18929:3: rule__StringBinder__ElementsAssignment_3
             	    {
-            	    pushFollow(FOLLOW_108);
+            	    pushFollow(FOLLOW_107);
             	    rule__StringBinder__ElementsAssignment_3();
 
             	    state._fsp--;
@@ -64671,7 +63394,7 @@
             	    break;
 
             	default :
-            	    break loop152;
+            	    break loop134;
                 }
             } while (true);
 
@@ -64700,16 +63423,16 @@
 
 
     // $ANTLR start "rule__StringBinder__Group__4"
-    // InternalReportDSL.g:19281:1: rule__StringBinder__Group__4 : rule__StringBinder__Group__4__Impl rule__StringBinder__Group__5 ;
+    // InternalReportDSL.g:18937:1: rule__StringBinder__Group__4 : rule__StringBinder__Group__4__Impl rule__StringBinder__Group__5 ;
     public final void rule__StringBinder__Group__4() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:19285:1: ( rule__StringBinder__Group__4__Impl rule__StringBinder__Group__5 )
-            // InternalReportDSL.g:19286:2: rule__StringBinder__Group__4__Impl rule__StringBinder__Group__5
+            // InternalReportDSL.g:18941:1: ( rule__StringBinder__Group__4__Impl rule__StringBinder__Group__5 )
+            // InternalReportDSL.g:18942:2: rule__StringBinder__Group__4__Impl rule__StringBinder__Group__5
             {
-            pushFollow(FOLLOW_88);
+            pushFollow(FOLLOW_108);
             rule__StringBinder__Group__4__Impl();
 
             state._fsp--;
@@ -64738,22 +63461,22 @@
 
 
     // $ANTLR start "rule__StringBinder__Group__4__Impl"
-    // InternalReportDSL.g:19293:1: rule__StringBinder__Group__4__Impl : ( ')' ) ;
+    // InternalReportDSL.g:18949:1: rule__StringBinder__Group__4__Impl : ( ')' ) ;
     public final void rule__StringBinder__Group__4__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:19297:1: ( ( ')' ) )
-            // InternalReportDSL.g:19298:1: ( ')' )
+            // InternalReportDSL.g:18953:1: ( ( ')' ) )
+            // InternalReportDSL.g:18954:1: ( ')' )
             {
-            // InternalReportDSL.g:19298:1: ( ')' )
-            // InternalReportDSL.g:19299:2: ')'
+            // InternalReportDSL.g:18954:1: ( ')' )
+            // InternalReportDSL.g:18955:2: ')'
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getStringBinderAccess().getRightParenthesisKeyword_4()); 
             }
-            match(input,205,FOLLOW_2); if (state.failed) return ;
+            match(input,212,FOLLOW_2); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getStringBinderAccess().getRightParenthesisKeyword_4()); 
             }
@@ -64779,14 +63502,14 @@
 
 
     // $ANTLR start "rule__StringBinder__Group__5"
-    // InternalReportDSL.g:19308:1: rule__StringBinder__Group__5 : rule__StringBinder__Group__5__Impl ;
+    // InternalReportDSL.g:18964:1: rule__StringBinder__Group__5 : rule__StringBinder__Group__5__Impl ;
     public final void rule__StringBinder__Group__5() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:19312:1: ( rule__StringBinder__Group__5__Impl )
-            // InternalReportDSL.g:19313:2: rule__StringBinder__Group__5__Impl
+            // InternalReportDSL.g:18968:1: ( rule__StringBinder__Group__5__Impl )
+            // InternalReportDSL.g:18969:2: rule__StringBinder__Group__5__Impl
             {
             pushFollow(FOLLOW_2);
             rule__StringBinder__Group__5__Impl();
@@ -64812,31 +63535,31 @@
 
 
     // $ANTLR start "rule__StringBinder__Group__5__Impl"
-    // InternalReportDSL.g:19319:1: rule__StringBinder__Group__5__Impl : ( ( rule__StringBinder__Group_5__0 )? ) ;
+    // InternalReportDSL.g:18975:1: rule__StringBinder__Group__5__Impl : ( ( rule__StringBinder__Group_5__0 )? ) ;
     public final void rule__StringBinder__Group__5__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:19323:1: ( ( ( rule__StringBinder__Group_5__0 )? ) )
-            // InternalReportDSL.g:19324:1: ( ( rule__StringBinder__Group_5__0 )? )
+            // InternalReportDSL.g:18979:1: ( ( ( rule__StringBinder__Group_5__0 )? ) )
+            // InternalReportDSL.g:18980:1: ( ( rule__StringBinder__Group_5__0 )? )
             {
-            // InternalReportDSL.g:19324:1: ( ( rule__StringBinder__Group_5__0 )? )
-            // InternalReportDSL.g:19325:2: ( rule__StringBinder__Group_5__0 )?
+            // InternalReportDSL.g:18980:1: ( ( rule__StringBinder__Group_5__0 )? )
+            // InternalReportDSL.g:18981:2: ( rule__StringBinder__Group_5__0 )?
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getStringBinderAccess().getGroup_5()); 
             }
-            // InternalReportDSL.g:19326:2: ( rule__StringBinder__Group_5__0 )?
-            int alt153=2;
-            int LA153_0 = input.LA(1);
+            // InternalReportDSL.g:18982:2: ( rule__StringBinder__Group_5__0 )?
+            int alt135=2;
+            int LA135_0 = input.LA(1);
 
-            if ( (LA153_0==152) ) {
-                alt153=1;
+            if ( (LA135_0==158) ) {
+                alt135=1;
             }
-            switch (alt153) {
+            switch (alt135) {
                 case 1 :
-                    // InternalReportDSL.g:19326:3: rule__StringBinder__Group_5__0
+                    // InternalReportDSL.g:18982:3: rule__StringBinder__Group_5__0
                     {
                     pushFollow(FOLLOW_2);
                     rule__StringBinder__Group_5__0();
@@ -64874,14 +63597,14 @@
 
 
     // $ANTLR start "rule__StringBinder__Group_5__0"
-    // InternalReportDSL.g:19335:1: rule__StringBinder__Group_5__0 : rule__StringBinder__Group_5__0__Impl rule__StringBinder__Group_5__1 ;
+    // InternalReportDSL.g:18991:1: rule__StringBinder__Group_5__0 : rule__StringBinder__Group_5__0__Impl rule__StringBinder__Group_5__1 ;
     public final void rule__StringBinder__Group_5__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:19339:1: ( rule__StringBinder__Group_5__0__Impl rule__StringBinder__Group_5__1 )
-            // InternalReportDSL.g:19340:2: rule__StringBinder__Group_5__0__Impl rule__StringBinder__Group_5__1
+            // InternalReportDSL.g:18995:1: ( rule__StringBinder__Group_5__0__Impl rule__StringBinder__Group_5__1 )
+            // InternalReportDSL.g:18996:2: rule__StringBinder__Group_5__0__Impl rule__StringBinder__Group_5__1
             {
             pushFollow(FOLLOW_7);
             rule__StringBinder__Group_5__0__Impl();
@@ -64912,22 +63635,22 @@
 
 
     // $ANTLR start "rule__StringBinder__Group_5__0__Impl"
-    // InternalReportDSL.g:19347:1: rule__StringBinder__Group_5__0__Impl : ( 'style' ) ;
+    // InternalReportDSL.g:19003:1: rule__StringBinder__Group_5__0__Impl : ( 'style' ) ;
     public final void rule__StringBinder__Group_5__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:19351:1: ( ( 'style' ) )
-            // InternalReportDSL.g:19352:1: ( 'style' )
+            // InternalReportDSL.g:19007:1: ( ( 'style' ) )
+            // InternalReportDSL.g:19008:1: ( 'style' )
             {
-            // InternalReportDSL.g:19352:1: ( 'style' )
-            // InternalReportDSL.g:19353:2: 'style'
+            // InternalReportDSL.g:19008:1: ( 'style' )
+            // InternalReportDSL.g:19009:2: 'style'
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getStringBinderAccess().getStyleKeyword_5_0()); 
             }
-            match(input,152,FOLLOW_2); if (state.failed) return ;
+            match(input,158,FOLLOW_2); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getStringBinderAccess().getStyleKeyword_5_0()); 
             }
@@ -64953,14 +63676,14 @@
 
 
     // $ANTLR start "rule__StringBinder__Group_5__1"
-    // InternalReportDSL.g:19362:1: rule__StringBinder__Group_5__1 : rule__StringBinder__Group_5__1__Impl ;
+    // InternalReportDSL.g:19018:1: rule__StringBinder__Group_5__1 : rule__StringBinder__Group_5__1__Impl ;
     public final void rule__StringBinder__Group_5__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:19366:1: ( rule__StringBinder__Group_5__1__Impl )
-            // InternalReportDSL.g:19367:2: rule__StringBinder__Group_5__1__Impl
+            // InternalReportDSL.g:19022:1: ( rule__StringBinder__Group_5__1__Impl )
+            // InternalReportDSL.g:19023:2: rule__StringBinder__Group_5__1__Impl
             {
             pushFollow(FOLLOW_2);
             rule__StringBinder__Group_5__1__Impl();
@@ -64986,23 +63709,23 @@
 
 
     // $ANTLR start "rule__StringBinder__Group_5__1__Impl"
-    // InternalReportDSL.g:19373:1: rule__StringBinder__Group_5__1__Impl : ( ( rule__StringBinder__StyleAssignment_5_1 ) ) ;
+    // InternalReportDSL.g:19029:1: rule__StringBinder__Group_5__1__Impl : ( ( rule__StringBinder__StyleAssignment_5_1 ) ) ;
     public final void rule__StringBinder__Group_5__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:19377:1: ( ( ( rule__StringBinder__StyleAssignment_5_1 ) ) )
-            // InternalReportDSL.g:19378:1: ( ( rule__StringBinder__StyleAssignment_5_1 ) )
+            // InternalReportDSL.g:19033:1: ( ( ( rule__StringBinder__StyleAssignment_5_1 ) ) )
+            // InternalReportDSL.g:19034:1: ( ( rule__StringBinder__StyleAssignment_5_1 ) )
             {
-            // InternalReportDSL.g:19378:1: ( ( rule__StringBinder__StyleAssignment_5_1 ) )
-            // InternalReportDSL.g:19379:2: ( rule__StringBinder__StyleAssignment_5_1 )
+            // InternalReportDSL.g:19034:1: ( ( rule__StringBinder__StyleAssignment_5_1 ) )
+            // InternalReportDSL.g:19035:2: ( rule__StringBinder__StyleAssignment_5_1 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getStringBinderAccess().getStyleAssignment_5_1()); 
             }
-            // InternalReportDSL.g:19380:2: ( rule__StringBinder__StyleAssignment_5_1 )
-            // InternalReportDSL.g:19380:3: rule__StringBinder__StyleAssignment_5_1
+            // InternalReportDSL.g:19036:2: ( rule__StringBinder__StyleAssignment_5_1 )
+            // InternalReportDSL.g:19036:3: rule__StringBinder__StyleAssignment_5_1
             {
             pushFollow(FOLLOW_2);
             rule__StringBinder__StyleAssignment_5_1();
@@ -65037,16 +63760,16 @@
 
 
     // $ANTLR start "rule__PageBreak__Group__0"
-    // InternalReportDSL.g:19389:1: rule__PageBreak__Group__0 : rule__PageBreak__Group__0__Impl rule__PageBreak__Group__1 ;
+    // InternalReportDSL.g:19045:1: rule__PageBreak__Group__0 : rule__PageBreak__Group__0__Impl rule__PageBreak__Group__1 ;
     public final void rule__PageBreak__Group__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:19393:1: ( rule__PageBreak__Group__0__Impl rule__PageBreak__Group__1 )
-            // InternalReportDSL.g:19394:2: rule__PageBreak__Group__0__Impl rule__PageBreak__Group__1
+            // InternalReportDSL.g:19049:1: ( rule__PageBreak__Group__0__Impl rule__PageBreak__Group__1 )
+            // InternalReportDSL.g:19050:2: rule__PageBreak__Group__0__Impl rule__PageBreak__Group__1
             {
-            pushFollow(FOLLOW_109);
+            pushFollow(FOLLOW_91);
             rule__PageBreak__Group__0__Impl();
 
             state._fsp--;
@@ -65075,23 +63798,23 @@
 
 
     // $ANTLR start "rule__PageBreak__Group__0__Impl"
-    // InternalReportDSL.g:19401:1: rule__PageBreak__Group__0__Impl : ( () ) ;
+    // InternalReportDSL.g:19057:1: rule__PageBreak__Group__0__Impl : ( () ) ;
     public final void rule__PageBreak__Group__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:19405:1: ( ( () ) )
-            // InternalReportDSL.g:19406:1: ( () )
+            // InternalReportDSL.g:19061:1: ( ( () ) )
+            // InternalReportDSL.g:19062:1: ( () )
             {
-            // InternalReportDSL.g:19406:1: ( () )
-            // InternalReportDSL.g:19407:2: ()
+            // InternalReportDSL.g:19062:1: ( () )
+            // InternalReportDSL.g:19063:2: ()
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getPageBreakAccess().getPageBreakAction_0()); 
             }
-            // InternalReportDSL.g:19408:2: ()
-            // InternalReportDSL.g:19408:3: 
+            // InternalReportDSL.g:19064:2: ()
+            // InternalReportDSL.g:19064:3: 
             {
             }
 
@@ -65116,16 +63839,16 @@
 
 
     // $ANTLR start "rule__PageBreak__Group__1"
-    // InternalReportDSL.g:19416:1: rule__PageBreak__Group__1 : rule__PageBreak__Group__1__Impl rule__PageBreak__Group__2 ;
+    // InternalReportDSL.g:19072:1: rule__PageBreak__Group__1 : rule__PageBreak__Group__1__Impl rule__PageBreak__Group__2 ;
     public final void rule__PageBreak__Group__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:19420:1: ( rule__PageBreak__Group__1__Impl rule__PageBreak__Group__2 )
-            // InternalReportDSL.g:19421:2: rule__PageBreak__Group__1__Impl rule__PageBreak__Group__2
+            // InternalReportDSL.g:19076:1: ( rule__PageBreak__Group__1__Impl rule__PageBreak__Group__2 )
+            // InternalReportDSL.g:19077:2: rule__PageBreak__Group__1__Impl rule__PageBreak__Group__2
             {
-            pushFollow(FOLLOW_110);
+            pushFollow(FOLLOW_103);
             rule__PageBreak__Group__1__Impl();
 
             state._fsp--;
@@ -65154,22 +63877,22 @@
 
 
     // $ANTLR start "rule__PageBreak__Group__1__Impl"
-    // InternalReportDSL.g:19428:1: rule__PageBreak__Group__1__Impl : ( 'pageBreak' ) ;
+    // InternalReportDSL.g:19084:1: rule__PageBreak__Group__1__Impl : ( 'pageBreak' ) ;
     public final void rule__PageBreak__Group__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:19432:1: ( ( 'pageBreak' ) )
-            // InternalReportDSL.g:19433:1: ( 'pageBreak' )
+            // InternalReportDSL.g:19088:1: ( ( 'pageBreak' ) )
+            // InternalReportDSL.g:19089:1: ( 'pageBreak' )
             {
-            // InternalReportDSL.g:19433:1: ( 'pageBreak' )
-            // InternalReportDSL.g:19434:2: 'pageBreak'
+            // InternalReportDSL.g:19089:1: ( 'pageBreak' )
+            // InternalReportDSL.g:19090:2: 'pageBreak'
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getPageBreakAccess().getPageBreakKeyword_1()); 
             }
-            match(input,209,FOLLOW_2); if (state.failed) return ;
+            match(input,216,FOLLOW_2); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getPageBreakAccess().getPageBreakKeyword_1()); 
             }
@@ -65195,16 +63918,16 @@
 
 
     // $ANTLR start "rule__PageBreak__Group__2"
-    // InternalReportDSL.g:19443:1: rule__PageBreak__Group__2 : rule__PageBreak__Group__2__Impl rule__PageBreak__Group__3 ;
+    // InternalReportDSL.g:19099:1: rule__PageBreak__Group__2 : rule__PageBreak__Group__2__Impl rule__PageBreak__Group__3 ;
     public final void rule__PageBreak__Group__2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:19447:1: ( rule__PageBreak__Group__2__Impl rule__PageBreak__Group__3 )
-            // InternalReportDSL.g:19448:2: rule__PageBreak__Group__2__Impl rule__PageBreak__Group__3
+            // InternalReportDSL.g:19103:1: ( rule__PageBreak__Group__2__Impl rule__PageBreak__Group__3 )
+            // InternalReportDSL.g:19104:2: rule__PageBreak__Group__2__Impl rule__PageBreak__Group__3
             {
-            pushFollow(FOLLOW_110);
+            pushFollow(FOLLOW_109);
             rule__PageBreak__Group__2__Impl();
 
             state._fsp--;
@@ -65233,45 +63956,24 @@
 
 
     // $ANTLR start "rule__PageBreak__Group__2__Impl"
-    // InternalReportDSL.g:19455:1: rule__PageBreak__Group__2__Impl : ( ( rule__PageBreak__Group_2__0 )? ) ;
+    // InternalReportDSL.g:19111:1: rule__PageBreak__Group__2__Impl : ( '(' ) ;
     public final void rule__PageBreak__Group__2__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:19459:1: ( ( ( rule__PageBreak__Group_2__0 )? ) )
-            // InternalReportDSL.g:19460:1: ( ( rule__PageBreak__Group_2__0 )? )
+            // InternalReportDSL.g:19115:1: ( ( '(' ) )
+            // InternalReportDSL.g:19116:1: ( '(' )
             {
-            // InternalReportDSL.g:19460:1: ( ( rule__PageBreak__Group_2__0 )? )
-            // InternalReportDSL.g:19461:2: ( rule__PageBreak__Group_2__0 )?
+            // InternalReportDSL.g:19116:1: ( '(' )
+            // InternalReportDSL.g:19117:2: '('
             {
             if ( state.backtracking==0 ) {
-               before(grammarAccess.getPageBreakAccess().getGroup_2()); 
+               before(grammarAccess.getPageBreakAccess().getLeftParenthesisKeyword_2()); 
             }
-            // InternalReportDSL.g:19462:2: ( rule__PageBreak__Group_2__0 )?
-            int alt154=2;
-            int LA154_0 = input.LA(1);
-
-            if ( (LA154_0==210) ) {
-                alt154=1;
-            }
-            switch (alt154) {
-                case 1 :
-                    // InternalReportDSL.g:19462:3: rule__PageBreak__Group_2__0
-                    {
-                    pushFollow(FOLLOW_2);
-                    rule__PageBreak__Group_2__0();
-
-                    state._fsp--;
-                    if (state.failed) return ;
-
-                    }
-                    break;
-
-            }
-
+            match(input,211,FOLLOW_2); if (state.failed) return ;
             if ( state.backtracking==0 ) {
-               after(grammarAccess.getPageBreakAccess().getGroup_2()); 
+               after(grammarAccess.getPageBreakAccess().getLeftParenthesisKeyword_2()); 
             }
 
             }
@@ -65295,16 +63997,16 @@
 
 
     // $ANTLR start "rule__PageBreak__Group__3"
-    // InternalReportDSL.g:19470:1: rule__PageBreak__Group__3 : rule__PageBreak__Group__3__Impl rule__PageBreak__Group__4 ;
+    // InternalReportDSL.g:19126:1: rule__PageBreak__Group__3 : rule__PageBreak__Group__3__Impl rule__PageBreak__Group__4 ;
     public final void rule__PageBreak__Group__3() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:19474:1: ( rule__PageBreak__Group__3__Impl rule__PageBreak__Group__4 )
-            // InternalReportDSL.g:19475:2: rule__PageBreak__Group__3__Impl rule__PageBreak__Group__4
+            // InternalReportDSL.g:19130:1: ( rule__PageBreak__Group__3__Impl rule__PageBreak__Group__4 )
+            // InternalReportDSL.g:19131:2: rule__PageBreak__Group__3__Impl rule__PageBreak__Group__4
             {
-            pushFollow(FOLLOW_110);
+            pushFollow(FOLLOW_109);
             rule__PageBreak__Group__3__Impl();
 
             state._fsp--;
@@ -65333,31 +64035,31 @@
 
 
     // $ANTLR start "rule__PageBreak__Group__3__Impl"
-    // InternalReportDSL.g:19482:1: rule__PageBreak__Group__3__Impl : ( ( rule__PageBreak__Group_3__0 )? ) ;
+    // InternalReportDSL.g:19138:1: rule__PageBreak__Group__3__Impl : ( ( rule__PageBreak__Group_3__0 )? ) ;
     public final void rule__PageBreak__Group__3__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:19486:1: ( ( ( rule__PageBreak__Group_3__0 )? ) )
-            // InternalReportDSL.g:19487:1: ( ( rule__PageBreak__Group_3__0 )? )
+            // InternalReportDSL.g:19142:1: ( ( ( rule__PageBreak__Group_3__0 )? ) )
+            // InternalReportDSL.g:19143:1: ( ( rule__PageBreak__Group_3__0 )? )
             {
-            // InternalReportDSL.g:19487:1: ( ( rule__PageBreak__Group_3__0 )? )
-            // InternalReportDSL.g:19488:2: ( rule__PageBreak__Group_3__0 )?
+            // InternalReportDSL.g:19143:1: ( ( rule__PageBreak__Group_3__0 )? )
+            // InternalReportDSL.g:19144:2: ( rule__PageBreak__Group_3__0 )?
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getPageBreakAccess().getGroup_3()); 
             }
-            // InternalReportDSL.g:19489:2: ( rule__PageBreak__Group_3__0 )?
-            int alt155=2;
-            int LA155_0 = input.LA(1);
+            // InternalReportDSL.g:19145:2: ( rule__PageBreak__Group_3__0 )?
+            int alt136=2;
+            int LA136_0 = input.LA(1);
 
-            if ( (LA155_0==211) ) {
-                alt155=1;
+            if ( (LA136_0==217) ) {
+                alt136=1;
             }
-            switch (alt155) {
+            switch (alt136) {
                 case 1 :
-                    // InternalReportDSL.g:19489:3: rule__PageBreak__Group_3__0
+                    // InternalReportDSL.g:19145:3: rule__PageBreak__Group_3__0
                     {
                     pushFollow(FOLLOW_2);
                     rule__PageBreak__Group_3__0();
@@ -65395,20 +64097,25 @@
 
 
     // $ANTLR start "rule__PageBreak__Group__4"
-    // InternalReportDSL.g:19497:1: rule__PageBreak__Group__4 : rule__PageBreak__Group__4__Impl ;
+    // InternalReportDSL.g:19153:1: rule__PageBreak__Group__4 : rule__PageBreak__Group__4__Impl rule__PageBreak__Group__5 ;
     public final void rule__PageBreak__Group__4() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:19501:1: ( rule__PageBreak__Group__4__Impl )
-            // InternalReportDSL.g:19502:2: rule__PageBreak__Group__4__Impl
+            // InternalReportDSL.g:19157:1: ( rule__PageBreak__Group__4__Impl rule__PageBreak__Group__5 )
+            // InternalReportDSL.g:19158:2: rule__PageBreak__Group__4__Impl rule__PageBreak__Group__5
             {
-            pushFollow(FOLLOW_2);
+            pushFollow(FOLLOW_109);
             rule__PageBreak__Group__4__Impl();
 
             state._fsp--;
             if (state.failed) return ;
+            pushFollow(FOLLOW_2);
+            rule__PageBreak__Group__5();
+
+            state._fsp--;
+            if (state.failed) return ;
 
             }
 
@@ -65428,31 +64135,31 @@
 
 
     // $ANTLR start "rule__PageBreak__Group__4__Impl"
-    // InternalReportDSL.g:19508:1: rule__PageBreak__Group__4__Impl : ( ( rule__PageBreak__Group_4__0 )? ) ;
+    // InternalReportDSL.g:19165:1: rule__PageBreak__Group__4__Impl : ( ( rule__PageBreak__Group_4__0 )? ) ;
     public final void rule__PageBreak__Group__4__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:19512:1: ( ( ( rule__PageBreak__Group_4__0 )? ) )
-            // InternalReportDSL.g:19513:1: ( ( rule__PageBreak__Group_4__0 )? )
+            // InternalReportDSL.g:19169:1: ( ( ( rule__PageBreak__Group_4__0 )? ) )
+            // InternalReportDSL.g:19170:1: ( ( rule__PageBreak__Group_4__0 )? )
             {
-            // InternalReportDSL.g:19513:1: ( ( rule__PageBreak__Group_4__0 )? )
-            // InternalReportDSL.g:19514:2: ( rule__PageBreak__Group_4__0 )?
+            // InternalReportDSL.g:19170:1: ( ( rule__PageBreak__Group_4__0 )? )
+            // InternalReportDSL.g:19171:2: ( rule__PageBreak__Group_4__0 )?
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getPageBreakAccess().getGroup_4()); 
             }
-            // InternalReportDSL.g:19515:2: ( rule__PageBreak__Group_4__0 )?
-            int alt156=2;
-            int LA156_0 = input.LA(1);
+            // InternalReportDSL.g:19172:2: ( rule__PageBreak__Group_4__0 )?
+            int alt137=2;
+            int LA137_0 = input.LA(1);
 
-            if ( (LA156_0==212) ) {
-                alt156=1;
+            if ( (LA137_0==218) ) {
+                alt137=1;
             }
-            switch (alt156) {
+            switch (alt137) {
                 case 1 :
-                    // InternalReportDSL.g:19515:3: rule__PageBreak__Group_4__0
+                    // InternalReportDSL.g:19172:3: rule__PageBreak__Group_4__0
                     {
                     pushFollow(FOLLOW_2);
                     rule__PageBreak__Group_4__0();
@@ -65489,23 +64196,23 @@
     // $ANTLR end "rule__PageBreak__Group__4__Impl"
 
 
-    // $ANTLR start "rule__PageBreak__Group_2__0"
-    // InternalReportDSL.g:19524:1: rule__PageBreak__Group_2__0 : rule__PageBreak__Group_2__0__Impl rule__PageBreak__Group_2__1 ;
-    public final void rule__PageBreak__Group_2__0() throws RecognitionException {
+    // $ANTLR start "rule__PageBreak__Group__5"
+    // InternalReportDSL.g:19180:1: rule__PageBreak__Group__5 : rule__PageBreak__Group__5__Impl rule__PageBreak__Group__6 ;
+    public final void rule__PageBreak__Group__5() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:19528:1: ( rule__PageBreak__Group_2__0__Impl rule__PageBreak__Group_2__1 )
-            // InternalReportDSL.g:19529:2: rule__PageBreak__Group_2__0__Impl rule__PageBreak__Group_2__1
+            // InternalReportDSL.g:19184:1: ( rule__PageBreak__Group__5__Impl rule__PageBreak__Group__6 )
+            // InternalReportDSL.g:19185:2: rule__PageBreak__Group__5__Impl rule__PageBreak__Group__6
             {
-            pushFollow(FOLLOW_111);
-            rule__PageBreak__Group_2__0__Impl();
+            pushFollow(FOLLOW_109);
+            rule__PageBreak__Group__5__Impl();
 
             state._fsp--;
             if (state.failed) return ;
             pushFollow(FOLLOW_2);
-            rule__PageBreak__Group_2__1();
+            rule__PageBreak__Group__6();
 
             state._fsp--;
             if (state.failed) return ;
@@ -65524,28 +64231,49 @@
         }
         return ;
     }
-    // $ANTLR end "rule__PageBreak__Group_2__0"
+    // $ANTLR end "rule__PageBreak__Group__5"
 
 
-    // $ANTLR start "rule__PageBreak__Group_2__0__Impl"
-    // InternalReportDSL.g:19536:1: rule__PageBreak__Group_2__0__Impl : ( 'before' ) ;
-    public final void rule__PageBreak__Group_2__0__Impl() throws RecognitionException {
+    // $ANTLR start "rule__PageBreak__Group__5__Impl"
+    // InternalReportDSL.g:19192:1: rule__PageBreak__Group__5__Impl : ( ( rule__PageBreak__Group_5__0 )? ) ;
+    public final void rule__PageBreak__Group__5__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:19540:1: ( ( 'before' ) )
-            // InternalReportDSL.g:19541:1: ( 'before' )
+            // InternalReportDSL.g:19196:1: ( ( ( rule__PageBreak__Group_5__0 )? ) )
+            // InternalReportDSL.g:19197:1: ( ( rule__PageBreak__Group_5__0 )? )
             {
-            // InternalReportDSL.g:19541:1: ( 'before' )
-            // InternalReportDSL.g:19542:2: 'before'
+            // InternalReportDSL.g:19197:1: ( ( rule__PageBreak__Group_5__0 )? )
+            // InternalReportDSL.g:19198:2: ( rule__PageBreak__Group_5__0 )?
             {
             if ( state.backtracking==0 ) {
-               before(grammarAccess.getPageBreakAccess().getBeforeKeyword_2_0()); 
+               before(grammarAccess.getPageBreakAccess().getGroup_5()); 
             }
-            match(input,210,FOLLOW_2); if (state.failed) return ;
+            // InternalReportDSL.g:19199:2: ( rule__PageBreak__Group_5__0 )?
+            int alt138=2;
+            int LA138_0 = input.LA(1);
+
+            if ( (LA138_0==219) ) {
+                alt138=1;
+            }
+            switch (alt138) {
+                case 1 :
+                    // InternalReportDSL.g:19199:3: rule__PageBreak__Group_5__0
+                    {
+                    pushFollow(FOLLOW_2);
+                    rule__PageBreak__Group_5__0();
+
+                    state._fsp--;
+                    if (state.failed) return ;
+
+                    }
+                    break;
+
+            }
+
             if ( state.backtracking==0 ) {
-               after(grammarAccess.getPageBreakAccess().getBeforeKeyword_2_0()); 
+               after(grammarAccess.getPageBreakAccess().getGroup_5()); 
             }
 
             }
@@ -65565,21 +64293,21 @@
         }
         return ;
     }
-    // $ANTLR end "rule__PageBreak__Group_2__0__Impl"
+    // $ANTLR end "rule__PageBreak__Group__5__Impl"
 
 
-    // $ANTLR start "rule__PageBreak__Group_2__1"
-    // InternalReportDSL.g:19551:1: rule__PageBreak__Group_2__1 : rule__PageBreak__Group_2__1__Impl ;
-    public final void rule__PageBreak__Group_2__1() throws RecognitionException {
+    // $ANTLR start "rule__PageBreak__Group__6"
+    // InternalReportDSL.g:19207:1: rule__PageBreak__Group__6 : rule__PageBreak__Group__6__Impl ;
+    public final void rule__PageBreak__Group__6() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:19555:1: ( rule__PageBreak__Group_2__1__Impl )
-            // InternalReportDSL.g:19556:2: rule__PageBreak__Group_2__1__Impl
+            // InternalReportDSL.g:19211:1: ( rule__PageBreak__Group__6__Impl )
+            // InternalReportDSL.g:19212:2: rule__PageBreak__Group__6__Impl
             {
             pushFollow(FOLLOW_2);
-            rule__PageBreak__Group_2__1__Impl();
+            rule__PageBreak__Group__6__Impl();
 
             state._fsp--;
             if (state.failed) return ;
@@ -65598,38 +64326,28 @@
         }
         return ;
     }
-    // $ANTLR end "rule__PageBreak__Group_2__1"
+    // $ANTLR end "rule__PageBreak__Group__6"
 
 
-    // $ANTLR start "rule__PageBreak__Group_2__1__Impl"
-    // InternalReportDSL.g:19562:1: rule__PageBreak__Group_2__1__Impl : ( ( rule__PageBreak__BeforePageBreakAssignment_2_1 ) ) ;
-    public final void rule__PageBreak__Group_2__1__Impl() throws RecognitionException {
+    // $ANTLR start "rule__PageBreak__Group__6__Impl"
+    // InternalReportDSL.g:19218:1: rule__PageBreak__Group__6__Impl : ( ')' ) ;
+    public final void rule__PageBreak__Group__6__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:19566:1: ( ( ( rule__PageBreak__BeforePageBreakAssignment_2_1 ) ) )
-            // InternalReportDSL.g:19567:1: ( ( rule__PageBreak__BeforePageBreakAssignment_2_1 ) )
+            // InternalReportDSL.g:19222:1: ( ( ')' ) )
+            // InternalReportDSL.g:19223:1: ( ')' )
             {
-            // InternalReportDSL.g:19567:1: ( ( rule__PageBreak__BeforePageBreakAssignment_2_1 ) )
-            // InternalReportDSL.g:19568:2: ( rule__PageBreak__BeforePageBreakAssignment_2_1 )
+            // InternalReportDSL.g:19223:1: ( ')' )
+            // InternalReportDSL.g:19224:2: ')'
             {
             if ( state.backtracking==0 ) {
-               before(grammarAccess.getPageBreakAccess().getBeforePageBreakAssignment_2_1()); 
+               before(grammarAccess.getPageBreakAccess().getRightParenthesisKeyword_6()); 
             }
-            // InternalReportDSL.g:19569:2: ( rule__PageBreak__BeforePageBreakAssignment_2_1 )
-            // InternalReportDSL.g:19569:3: rule__PageBreak__BeforePageBreakAssignment_2_1
-            {
-            pushFollow(FOLLOW_2);
-            rule__PageBreak__BeforePageBreakAssignment_2_1();
-
-            state._fsp--;
-            if (state.failed) return ;
-
-            }
-
+            match(input,212,FOLLOW_2); if (state.failed) return ;
             if ( state.backtracking==0 ) {
-               after(grammarAccess.getPageBreakAccess().getBeforePageBreakAssignment_2_1()); 
+               after(grammarAccess.getPageBreakAccess().getRightParenthesisKeyword_6()); 
             }
 
             }
@@ -65649,20 +64367,20 @@
         }
         return ;
     }
-    // $ANTLR end "rule__PageBreak__Group_2__1__Impl"
+    // $ANTLR end "rule__PageBreak__Group__6__Impl"
 
 
     // $ANTLR start "rule__PageBreak__Group_3__0"
-    // InternalReportDSL.g:19578:1: rule__PageBreak__Group_3__0 : rule__PageBreak__Group_3__0__Impl rule__PageBreak__Group_3__1 ;
+    // InternalReportDSL.g:19234:1: rule__PageBreak__Group_3__0 : rule__PageBreak__Group_3__0__Impl rule__PageBreak__Group_3__1 ;
     public final void rule__PageBreak__Group_3__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:19582:1: ( rule__PageBreak__Group_3__0__Impl rule__PageBreak__Group_3__1 )
-            // InternalReportDSL.g:19583:2: rule__PageBreak__Group_3__0__Impl rule__PageBreak__Group_3__1
+            // InternalReportDSL.g:19238:1: ( rule__PageBreak__Group_3__0__Impl rule__PageBreak__Group_3__1 )
+            // InternalReportDSL.g:19239:2: rule__PageBreak__Group_3__0__Impl rule__PageBreak__Group_3__1
             {
-            pushFollow(FOLLOW_111);
+            pushFollow(FOLLOW_110);
             rule__PageBreak__Group_3__0__Impl();
 
             state._fsp--;
@@ -65691,24 +64409,24 @@
 
 
     // $ANTLR start "rule__PageBreak__Group_3__0__Impl"
-    // InternalReportDSL.g:19590:1: rule__PageBreak__Group_3__0__Impl : ( 'after' ) ;
+    // InternalReportDSL.g:19246:1: rule__PageBreak__Group_3__0__Impl : ( 'before' ) ;
     public final void rule__PageBreak__Group_3__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:19594:1: ( ( 'after' ) )
-            // InternalReportDSL.g:19595:1: ( 'after' )
+            // InternalReportDSL.g:19250:1: ( ( 'before' ) )
+            // InternalReportDSL.g:19251:1: ( 'before' )
             {
-            // InternalReportDSL.g:19595:1: ( 'after' )
-            // InternalReportDSL.g:19596:2: 'after'
+            // InternalReportDSL.g:19251:1: ( 'before' )
+            // InternalReportDSL.g:19252:2: 'before'
             {
             if ( state.backtracking==0 ) {
-               before(grammarAccess.getPageBreakAccess().getAfterKeyword_3_0()); 
+               before(grammarAccess.getPageBreakAccess().getBeforeKeyword_3_0()); 
             }
-            match(input,211,FOLLOW_2); if (state.failed) return ;
+            match(input,217,FOLLOW_2); if (state.failed) return ;
             if ( state.backtracking==0 ) {
-               after(grammarAccess.getPageBreakAccess().getAfterKeyword_3_0()); 
+               after(grammarAccess.getPageBreakAccess().getBeforeKeyword_3_0()); 
             }
 
             }
@@ -65732,14 +64450,14 @@
 
 
     // $ANTLR start "rule__PageBreak__Group_3__1"
-    // InternalReportDSL.g:19605:1: rule__PageBreak__Group_3__1 : rule__PageBreak__Group_3__1__Impl ;
+    // InternalReportDSL.g:19261:1: rule__PageBreak__Group_3__1 : rule__PageBreak__Group_3__1__Impl ;
     public final void rule__PageBreak__Group_3__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:19609:1: ( rule__PageBreak__Group_3__1__Impl )
-            // InternalReportDSL.g:19610:2: rule__PageBreak__Group_3__1__Impl
+            // InternalReportDSL.g:19265:1: ( rule__PageBreak__Group_3__1__Impl )
+            // InternalReportDSL.g:19266:2: rule__PageBreak__Group_3__1__Impl
             {
             pushFollow(FOLLOW_2);
             rule__PageBreak__Group_3__1__Impl();
@@ -65765,26 +64483,26 @@
 
 
     // $ANTLR start "rule__PageBreak__Group_3__1__Impl"
-    // InternalReportDSL.g:19616:1: rule__PageBreak__Group_3__1__Impl : ( ( rule__PageBreak__AfterPageBreakAssignment_3_1 ) ) ;
+    // InternalReportDSL.g:19272:1: rule__PageBreak__Group_3__1__Impl : ( ( rule__PageBreak__BeforePageBreakAssignment_3_1 ) ) ;
     public final void rule__PageBreak__Group_3__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:19620:1: ( ( ( rule__PageBreak__AfterPageBreakAssignment_3_1 ) ) )
-            // InternalReportDSL.g:19621:1: ( ( rule__PageBreak__AfterPageBreakAssignment_3_1 ) )
+            // InternalReportDSL.g:19276:1: ( ( ( rule__PageBreak__BeforePageBreakAssignment_3_1 ) ) )
+            // InternalReportDSL.g:19277:1: ( ( rule__PageBreak__BeforePageBreakAssignment_3_1 ) )
             {
-            // InternalReportDSL.g:19621:1: ( ( rule__PageBreak__AfterPageBreakAssignment_3_1 ) )
-            // InternalReportDSL.g:19622:2: ( rule__PageBreak__AfterPageBreakAssignment_3_1 )
+            // InternalReportDSL.g:19277:1: ( ( rule__PageBreak__BeforePageBreakAssignment_3_1 ) )
+            // InternalReportDSL.g:19278:2: ( rule__PageBreak__BeforePageBreakAssignment_3_1 )
             {
             if ( state.backtracking==0 ) {
-               before(grammarAccess.getPageBreakAccess().getAfterPageBreakAssignment_3_1()); 
+               before(grammarAccess.getPageBreakAccess().getBeforePageBreakAssignment_3_1()); 
             }
-            // InternalReportDSL.g:19623:2: ( rule__PageBreak__AfterPageBreakAssignment_3_1 )
-            // InternalReportDSL.g:19623:3: rule__PageBreak__AfterPageBreakAssignment_3_1
+            // InternalReportDSL.g:19279:2: ( rule__PageBreak__BeforePageBreakAssignment_3_1 )
+            // InternalReportDSL.g:19279:3: rule__PageBreak__BeforePageBreakAssignment_3_1
             {
             pushFollow(FOLLOW_2);
-            rule__PageBreak__AfterPageBreakAssignment_3_1();
+            rule__PageBreak__BeforePageBreakAssignment_3_1();
 
             state._fsp--;
             if (state.failed) return ;
@@ -65792,7 +64510,7 @@
             }
 
             if ( state.backtracking==0 ) {
-               after(grammarAccess.getPageBreakAccess().getAfterPageBreakAssignment_3_1()); 
+               after(grammarAccess.getPageBreakAccess().getBeforePageBreakAssignment_3_1()); 
             }
 
             }
@@ -65816,16 +64534,16 @@
 
 
     // $ANTLR start "rule__PageBreak__Group_4__0"
-    // InternalReportDSL.g:19632:1: rule__PageBreak__Group_4__0 : rule__PageBreak__Group_4__0__Impl rule__PageBreak__Group_4__1 ;
+    // InternalReportDSL.g:19288:1: rule__PageBreak__Group_4__0 : rule__PageBreak__Group_4__0__Impl rule__PageBreak__Group_4__1 ;
     public final void rule__PageBreak__Group_4__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:19636:1: ( rule__PageBreak__Group_4__0__Impl rule__PageBreak__Group_4__1 )
-            // InternalReportDSL.g:19637:2: rule__PageBreak__Group_4__0__Impl rule__PageBreak__Group_4__1
+            // InternalReportDSL.g:19292:1: ( rule__PageBreak__Group_4__0__Impl rule__PageBreak__Group_4__1 )
+            // InternalReportDSL.g:19293:2: rule__PageBreak__Group_4__0__Impl rule__PageBreak__Group_4__1
             {
-            pushFollow(FOLLOW_112);
+            pushFollow(FOLLOW_110);
             rule__PageBreak__Group_4__0__Impl();
 
             state._fsp--;
@@ -65854,24 +64572,24 @@
 
 
     // $ANTLR start "rule__PageBreak__Group_4__0__Impl"
-    // InternalReportDSL.g:19644:1: rule__PageBreak__Group_4__0__Impl : ( 'inside' ) ;
+    // InternalReportDSL.g:19300:1: rule__PageBreak__Group_4__0__Impl : ( 'after' ) ;
     public final void rule__PageBreak__Group_4__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:19648:1: ( ( 'inside' ) )
-            // InternalReportDSL.g:19649:1: ( 'inside' )
+            // InternalReportDSL.g:19304:1: ( ( 'after' ) )
+            // InternalReportDSL.g:19305:1: ( 'after' )
             {
-            // InternalReportDSL.g:19649:1: ( 'inside' )
-            // InternalReportDSL.g:19650:2: 'inside'
+            // InternalReportDSL.g:19305:1: ( 'after' )
+            // InternalReportDSL.g:19306:2: 'after'
             {
             if ( state.backtracking==0 ) {
-               before(grammarAccess.getPageBreakAccess().getInsideKeyword_4_0()); 
+               before(grammarAccess.getPageBreakAccess().getAfterKeyword_4_0()); 
             }
-            match(input,212,FOLLOW_2); if (state.failed) return ;
+            match(input,218,FOLLOW_2); if (state.failed) return ;
             if ( state.backtracking==0 ) {
-               after(grammarAccess.getPageBreakAccess().getInsideKeyword_4_0()); 
+               after(grammarAccess.getPageBreakAccess().getAfterKeyword_4_0()); 
             }
 
             }
@@ -65895,14 +64613,14 @@
 
 
     // $ANTLR start "rule__PageBreak__Group_4__1"
-    // InternalReportDSL.g:19659:1: rule__PageBreak__Group_4__1 : rule__PageBreak__Group_4__1__Impl ;
+    // InternalReportDSL.g:19315:1: rule__PageBreak__Group_4__1 : rule__PageBreak__Group_4__1__Impl ;
     public final void rule__PageBreak__Group_4__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:19663:1: ( rule__PageBreak__Group_4__1__Impl )
-            // InternalReportDSL.g:19664:2: rule__PageBreak__Group_4__1__Impl
+            // InternalReportDSL.g:19319:1: ( rule__PageBreak__Group_4__1__Impl )
+            // InternalReportDSL.g:19320:2: rule__PageBreak__Group_4__1__Impl
             {
             pushFollow(FOLLOW_2);
             rule__PageBreak__Group_4__1__Impl();
@@ -65928,26 +64646,26 @@
 
 
     // $ANTLR start "rule__PageBreak__Group_4__1__Impl"
-    // InternalReportDSL.g:19670:1: rule__PageBreak__Group_4__1__Impl : ( ( rule__PageBreak__InsidePageBreakAssignment_4_1 ) ) ;
+    // InternalReportDSL.g:19326:1: rule__PageBreak__Group_4__1__Impl : ( ( rule__PageBreak__AfterPageBreakAssignment_4_1 ) ) ;
     public final void rule__PageBreak__Group_4__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:19674:1: ( ( ( rule__PageBreak__InsidePageBreakAssignment_4_1 ) ) )
-            // InternalReportDSL.g:19675:1: ( ( rule__PageBreak__InsidePageBreakAssignment_4_1 ) )
+            // InternalReportDSL.g:19330:1: ( ( ( rule__PageBreak__AfterPageBreakAssignment_4_1 ) ) )
+            // InternalReportDSL.g:19331:1: ( ( rule__PageBreak__AfterPageBreakAssignment_4_1 ) )
             {
-            // InternalReportDSL.g:19675:1: ( ( rule__PageBreak__InsidePageBreakAssignment_4_1 ) )
-            // InternalReportDSL.g:19676:2: ( rule__PageBreak__InsidePageBreakAssignment_4_1 )
+            // InternalReportDSL.g:19331:1: ( ( rule__PageBreak__AfterPageBreakAssignment_4_1 ) )
+            // InternalReportDSL.g:19332:2: ( rule__PageBreak__AfterPageBreakAssignment_4_1 )
             {
             if ( state.backtracking==0 ) {
-               before(grammarAccess.getPageBreakAccess().getInsidePageBreakAssignment_4_1()); 
+               before(grammarAccess.getPageBreakAccess().getAfterPageBreakAssignment_4_1()); 
             }
-            // InternalReportDSL.g:19677:2: ( rule__PageBreak__InsidePageBreakAssignment_4_1 )
-            // InternalReportDSL.g:19677:3: rule__PageBreak__InsidePageBreakAssignment_4_1
+            // InternalReportDSL.g:19333:2: ( rule__PageBreak__AfterPageBreakAssignment_4_1 )
+            // InternalReportDSL.g:19333:3: rule__PageBreak__AfterPageBreakAssignment_4_1
             {
             pushFollow(FOLLOW_2);
-            rule__PageBreak__InsidePageBreakAssignment_4_1();
+            rule__PageBreak__AfterPageBreakAssignment_4_1();
 
             state._fsp--;
             if (state.failed) return ;
@@ -65955,7 +64673,7 @@
             }
 
             if ( state.backtracking==0 ) {
-               after(grammarAccess.getPageBreakAccess().getInsidePageBreakAssignment_4_1()); 
+               after(grammarAccess.getPageBreakAccess().getAfterPageBreakAssignment_4_1()); 
             }
 
             }
@@ -65978,17 +64696,180 @@
     // $ANTLR end "rule__PageBreak__Group_4__1__Impl"
 
 
+    // $ANTLR start "rule__PageBreak__Group_5__0"
+    // InternalReportDSL.g:19342:1: rule__PageBreak__Group_5__0 : rule__PageBreak__Group_5__0__Impl rule__PageBreak__Group_5__1 ;
+    public final void rule__PageBreak__Group_5__0() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+        	
+        try {
+            // InternalReportDSL.g:19346:1: ( rule__PageBreak__Group_5__0__Impl rule__PageBreak__Group_5__1 )
+            // InternalReportDSL.g:19347:2: rule__PageBreak__Group_5__0__Impl rule__PageBreak__Group_5__1
+            {
+            pushFollow(FOLLOW_111);
+            rule__PageBreak__Group_5__0__Impl();
+
+            state._fsp--;
+            if (state.failed) return ;
+            pushFollow(FOLLOW_2);
+            rule__PageBreak__Group_5__1();
+
+            state._fsp--;
+            if (state.failed) return ;
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__PageBreak__Group_5__0"
+
+
+    // $ANTLR start "rule__PageBreak__Group_5__0__Impl"
+    // InternalReportDSL.g:19354:1: rule__PageBreak__Group_5__0__Impl : ( 'inside' ) ;
+    public final void rule__PageBreak__Group_5__0__Impl() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+        	
+        try {
+            // InternalReportDSL.g:19358:1: ( ( 'inside' ) )
+            // InternalReportDSL.g:19359:1: ( 'inside' )
+            {
+            // InternalReportDSL.g:19359:1: ( 'inside' )
+            // InternalReportDSL.g:19360:2: 'inside'
+            {
+            if ( state.backtracking==0 ) {
+               before(grammarAccess.getPageBreakAccess().getInsideKeyword_5_0()); 
+            }
+            match(input,219,FOLLOW_2); if (state.failed) return ;
+            if ( state.backtracking==0 ) {
+               after(grammarAccess.getPageBreakAccess().getInsideKeyword_5_0()); 
+            }
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__PageBreak__Group_5__0__Impl"
+
+
+    // $ANTLR start "rule__PageBreak__Group_5__1"
+    // InternalReportDSL.g:19369:1: rule__PageBreak__Group_5__1 : rule__PageBreak__Group_5__1__Impl ;
+    public final void rule__PageBreak__Group_5__1() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+        	
+        try {
+            // InternalReportDSL.g:19373:1: ( rule__PageBreak__Group_5__1__Impl )
+            // InternalReportDSL.g:19374:2: rule__PageBreak__Group_5__1__Impl
+            {
+            pushFollow(FOLLOW_2);
+            rule__PageBreak__Group_5__1__Impl();
+
+            state._fsp--;
+            if (state.failed) return ;
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__PageBreak__Group_5__1"
+
+
+    // $ANTLR start "rule__PageBreak__Group_5__1__Impl"
+    // InternalReportDSL.g:19380:1: rule__PageBreak__Group_5__1__Impl : ( ( rule__PageBreak__InsidePageBreakAssignment_5_1 ) ) ;
+    public final void rule__PageBreak__Group_5__1__Impl() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+        	
+        try {
+            // InternalReportDSL.g:19384:1: ( ( ( rule__PageBreak__InsidePageBreakAssignment_5_1 ) ) )
+            // InternalReportDSL.g:19385:1: ( ( rule__PageBreak__InsidePageBreakAssignment_5_1 ) )
+            {
+            // InternalReportDSL.g:19385:1: ( ( rule__PageBreak__InsidePageBreakAssignment_5_1 ) )
+            // InternalReportDSL.g:19386:2: ( rule__PageBreak__InsidePageBreakAssignment_5_1 )
+            {
+            if ( state.backtracking==0 ) {
+               before(grammarAccess.getPageBreakAccess().getInsidePageBreakAssignment_5_1()); 
+            }
+            // InternalReportDSL.g:19387:2: ( rule__PageBreak__InsidePageBreakAssignment_5_1 )
+            // InternalReportDSL.g:19387:3: rule__PageBreak__InsidePageBreakAssignment_5_1
+            {
+            pushFollow(FOLLOW_2);
+            rule__PageBreak__InsidePageBreakAssignment_5_1();
+
+            state._fsp--;
+            if (state.failed) return ;
+
+            }
+
+            if ( state.backtracking==0 ) {
+               after(grammarAccess.getPageBreakAccess().getInsidePageBreakAssignment_5_1()); 
+            }
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__PageBreak__Group_5__1__Impl"
+
+
     // $ANTLR start "rule__TableBinaryAggregation__Group__0"
-    // InternalReportDSL.g:19686:1: rule__TableBinaryAggregation__Group__0 : rule__TableBinaryAggregation__Group__0__Impl rule__TableBinaryAggregation__Group__1 ;
+    // InternalReportDSL.g:19396:1: rule__TableBinaryAggregation__Group__0 : rule__TableBinaryAggregation__Group__0__Impl rule__TableBinaryAggregation__Group__1 ;
     public final void rule__TableBinaryAggregation__Group__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:19690:1: ( rule__TableBinaryAggregation__Group__0__Impl rule__TableBinaryAggregation__Group__1 )
-            // InternalReportDSL.g:19691:2: rule__TableBinaryAggregation__Group__0__Impl rule__TableBinaryAggregation__Group__1
+            // InternalReportDSL.g:19400:1: ( rule__TableBinaryAggregation__Group__0__Impl rule__TableBinaryAggregation__Group__1 )
+            // InternalReportDSL.g:19401:2: rule__TableBinaryAggregation__Group__0__Impl rule__TableBinaryAggregation__Group__1
             {
-            pushFollow(FOLLOW_104);
+            pushFollow(FOLLOW_103);
             rule__TableBinaryAggregation__Group__0__Impl();
 
             state._fsp--;
@@ -66017,23 +64898,23 @@
 
 
     // $ANTLR start "rule__TableBinaryAggregation__Group__0__Impl"
-    // InternalReportDSL.g:19698:1: rule__TableBinaryAggregation__Group__0__Impl : ( ( rule__TableBinaryAggregation__AggregationAssignment_0 ) ) ;
+    // InternalReportDSL.g:19408:1: rule__TableBinaryAggregation__Group__0__Impl : ( ( rule__TableBinaryAggregation__AggregationAssignment_0 ) ) ;
     public final void rule__TableBinaryAggregation__Group__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:19702:1: ( ( ( rule__TableBinaryAggregation__AggregationAssignment_0 ) ) )
-            // InternalReportDSL.g:19703:1: ( ( rule__TableBinaryAggregation__AggregationAssignment_0 ) )
+            // InternalReportDSL.g:19412:1: ( ( ( rule__TableBinaryAggregation__AggregationAssignment_0 ) ) )
+            // InternalReportDSL.g:19413:1: ( ( rule__TableBinaryAggregation__AggregationAssignment_0 ) )
             {
-            // InternalReportDSL.g:19703:1: ( ( rule__TableBinaryAggregation__AggregationAssignment_0 ) )
-            // InternalReportDSL.g:19704:2: ( rule__TableBinaryAggregation__AggregationAssignment_0 )
+            // InternalReportDSL.g:19413:1: ( ( rule__TableBinaryAggregation__AggregationAssignment_0 ) )
+            // InternalReportDSL.g:19414:2: ( rule__TableBinaryAggregation__AggregationAssignment_0 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getTableBinaryAggregationAccess().getAggregationAssignment_0()); 
             }
-            // InternalReportDSL.g:19705:2: ( rule__TableBinaryAggregation__AggregationAssignment_0 )
-            // InternalReportDSL.g:19705:3: rule__TableBinaryAggregation__AggregationAssignment_0
+            // InternalReportDSL.g:19415:2: ( rule__TableBinaryAggregation__AggregationAssignment_0 )
+            // InternalReportDSL.g:19415:3: rule__TableBinaryAggregation__AggregationAssignment_0
             {
             pushFollow(FOLLOW_2);
             rule__TableBinaryAggregation__AggregationAssignment_0();
@@ -66068,14 +64949,14 @@
 
 
     // $ANTLR start "rule__TableBinaryAggregation__Group__1"
-    // InternalReportDSL.g:19713:1: rule__TableBinaryAggregation__Group__1 : rule__TableBinaryAggregation__Group__1__Impl rule__TableBinaryAggregation__Group__2 ;
+    // InternalReportDSL.g:19423:1: rule__TableBinaryAggregation__Group__1 : rule__TableBinaryAggregation__Group__1__Impl rule__TableBinaryAggregation__Group__2 ;
     public final void rule__TableBinaryAggregation__Group__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:19717:1: ( rule__TableBinaryAggregation__Group__1__Impl rule__TableBinaryAggregation__Group__2 )
-            // InternalReportDSL.g:19718:2: rule__TableBinaryAggregation__Group__1__Impl rule__TableBinaryAggregation__Group__2
+            // InternalReportDSL.g:19427:1: ( rule__TableBinaryAggregation__Group__1__Impl rule__TableBinaryAggregation__Group__2 )
+            // InternalReportDSL.g:19428:2: rule__TableBinaryAggregation__Group__1__Impl rule__TableBinaryAggregation__Group__2
             {
             pushFollow(FOLLOW_7);
             rule__TableBinaryAggregation__Group__1__Impl();
@@ -66106,22 +64987,22 @@
 
 
     // $ANTLR start "rule__TableBinaryAggregation__Group__1__Impl"
-    // InternalReportDSL.g:19725:1: rule__TableBinaryAggregation__Group__1__Impl : ( '(' ) ;
+    // InternalReportDSL.g:19435:1: rule__TableBinaryAggregation__Group__1__Impl : ( '(' ) ;
     public final void rule__TableBinaryAggregation__Group__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:19729:1: ( ( '(' ) )
-            // InternalReportDSL.g:19730:1: ( '(' )
+            // InternalReportDSL.g:19439:1: ( ( '(' ) )
+            // InternalReportDSL.g:19440:1: ( '(' )
             {
-            // InternalReportDSL.g:19730:1: ( '(' )
-            // InternalReportDSL.g:19731:2: '('
+            // InternalReportDSL.g:19440:1: ( '(' )
+            // InternalReportDSL.g:19441:2: '('
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getTableBinaryAggregationAccess().getLeftParenthesisKeyword_1()); 
             }
-            match(input,204,FOLLOW_2); if (state.failed) return ;
+            match(input,211,FOLLOW_2); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getTableBinaryAggregationAccess().getLeftParenthesisKeyword_1()); 
             }
@@ -66147,14 +65028,14 @@
 
 
     // $ANTLR start "rule__TableBinaryAggregation__Group__2"
-    // InternalReportDSL.g:19740:1: rule__TableBinaryAggregation__Group__2 : rule__TableBinaryAggregation__Group__2__Impl rule__TableBinaryAggregation__Group__3 ;
+    // InternalReportDSL.g:19450:1: rule__TableBinaryAggregation__Group__2 : rule__TableBinaryAggregation__Group__2__Impl rule__TableBinaryAggregation__Group__3 ;
     public final void rule__TableBinaryAggregation__Group__2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:19744:1: ( rule__TableBinaryAggregation__Group__2__Impl rule__TableBinaryAggregation__Group__3 )
-            // InternalReportDSL.g:19745:2: rule__TableBinaryAggregation__Group__2__Impl rule__TableBinaryAggregation__Group__3
+            // InternalReportDSL.g:19454:1: ( rule__TableBinaryAggregation__Group__2__Impl rule__TableBinaryAggregation__Group__3 )
+            // InternalReportDSL.g:19455:2: rule__TableBinaryAggregation__Group__2__Impl rule__TableBinaryAggregation__Group__3
             {
             pushFollow(FOLLOW_7);
             rule__TableBinaryAggregation__Group__2__Impl();
@@ -66185,23 +65066,23 @@
 
 
     // $ANTLR start "rule__TableBinaryAggregation__Group__2__Impl"
-    // InternalReportDSL.g:19752:1: rule__TableBinaryAggregation__Group__2__Impl : ( ( rule__TableBinaryAggregation__ValueRefsAssignment_2 ) ) ;
+    // InternalReportDSL.g:19462:1: rule__TableBinaryAggregation__Group__2__Impl : ( ( rule__TableBinaryAggregation__ValueRefsAssignment_2 ) ) ;
     public final void rule__TableBinaryAggregation__Group__2__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:19756:1: ( ( ( rule__TableBinaryAggregation__ValueRefsAssignment_2 ) ) )
-            // InternalReportDSL.g:19757:1: ( ( rule__TableBinaryAggregation__ValueRefsAssignment_2 ) )
+            // InternalReportDSL.g:19466:1: ( ( ( rule__TableBinaryAggregation__ValueRefsAssignment_2 ) ) )
+            // InternalReportDSL.g:19467:1: ( ( rule__TableBinaryAggregation__ValueRefsAssignment_2 ) )
             {
-            // InternalReportDSL.g:19757:1: ( ( rule__TableBinaryAggregation__ValueRefsAssignment_2 ) )
-            // InternalReportDSL.g:19758:2: ( rule__TableBinaryAggregation__ValueRefsAssignment_2 )
+            // InternalReportDSL.g:19467:1: ( ( rule__TableBinaryAggregation__ValueRefsAssignment_2 ) )
+            // InternalReportDSL.g:19468:2: ( rule__TableBinaryAggregation__ValueRefsAssignment_2 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getTableBinaryAggregationAccess().getValueRefsAssignment_2()); 
             }
-            // InternalReportDSL.g:19759:2: ( rule__TableBinaryAggregation__ValueRefsAssignment_2 )
-            // InternalReportDSL.g:19759:3: rule__TableBinaryAggregation__ValueRefsAssignment_2
+            // InternalReportDSL.g:19469:2: ( rule__TableBinaryAggregation__ValueRefsAssignment_2 )
+            // InternalReportDSL.g:19469:3: rule__TableBinaryAggregation__ValueRefsAssignment_2
             {
             pushFollow(FOLLOW_2);
             rule__TableBinaryAggregation__ValueRefsAssignment_2();
@@ -66236,16 +65117,16 @@
 
 
     // $ANTLR start "rule__TableBinaryAggregation__Group__3"
-    // InternalReportDSL.g:19767:1: rule__TableBinaryAggregation__Group__3 : rule__TableBinaryAggregation__Group__3__Impl rule__TableBinaryAggregation__Group__4 ;
+    // InternalReportDSL.g:19477:1: rule__TableBinaryAggregation__Group__3 : rule__TableBinaryAggregation__Group__3__Impl rule__TableBinaryAggregation__Group__4 ;
     public final void rule__TableBinaryAggregation__Group__3() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:19771:1: ( rule__TableBinaryAggregation__Group__3__Impl rule__TableBinaryAggregation__Group__4 )
-            // InternalReportDSL.g:19772:2: rule__TableBinaryAggregation__Group__3__Impl rule__TableBinaryAggregation__Group__4
+            // InternalReportDSL.g:19481:1: ( rule__TableBinaryAggregation__Group__3__Impl rule__TableBinaryAggregation__Group__4 )
+            // InternalReportDSL.g:19482:2: rule__TableBinaryAggregation__Group__3__Impl rule__TableBinaryAggregation__Group__4
             {
-            pushFollow(FOLLOW_113);
+            pushFollow(FOLLOW_112);
             rule__TableBinaryAggregation__Group__3__Impl();
 
             state._fsp--;
@@ -66274,23 +65155,23 @@
 
 
     // $ANTLR start "rule__TableBinaryAggregation__Group__3__Impl"
-    // InternalReportDSL.g:19779:1: rule__TableBinaryAggregation__Group__3__Impl : ( ( rule__TableBinaryAggregation__ValueRefsAssignment_3 ) ) ;
+    // InternalReportDSL.g:19489:1: rule__TableBinaryAggregation__Group__3__Impl : ( ( rule__TableBinaryAggregation__ValueRefsAssignment_3 ) ) ;
     public final void rule__TableBinaryAggregation__Group__3__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:19783:1: ( ( ( rule__TableBinaryAggregation__ValueRefsAssignment_3 ) ) )
-            // InternalReportDSL.g:19784:1: ( ( rule__TableBinaryAggregation__ValueRefsAssignment_3 ) )
+            // InternalReportDSL.g:19493:1: ( ( ( rule__TableBinaryAggregation__ValueRefsAssignment_3 ) ) )
+            // InternalReportDSL.g:19494:1: ( ( rule__TableBinaryAggregation__ValueRefsAssignment_3 ) )
             {
-            // InternalReportDSL.g:19784:1: ( ( rule__TableBinaryAggregation__ValueRefsAssignment_3 ) )
-            // InternalReportDSL.g:19785:2: ( rule__TableBinaryAggregation__ValueRefsAssignment_3 )
+            // InternalReportDSL.g:19494:1: ( ( rule__TableBinaryAggregation__ValueRefsAssignment_3 ) )
+            // InternalReportDSL.g:19495:2: ( rule__TableBinaryAggregation__ValueRefsAssignment_3 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getTableBinaryAggregationAccess().getValueRefsAssignment_3()); 
             }
-            // InternalReportDSL.g:19786:2: ( rule__TableBinaryAggregation__ValueRefsAssignment_3 )
-            // InternalReportDSL.g:19786:3: rule__TableBinaryAggregation__ValueRefsAssignment_3
+            // InternalReportDSL.g:19496:2: ( rule__TableBinaryAggregation__ValueRefsAssignment_3 )
+            // InternalReportDSL.g:19496:3: rule__TableBinaryAggregation__ValueRefsAssignment_3
             {
             pushFollow(FOLLOW_2);
             rule__TableBinaryAggregation__ValueRefsAssignment_3();
@@ -66325,14 +65206,14 @@
 
 
     // $ANTLR start "rule__TableBinaryAggregation__Group__4"
-    // InternalReportDSL.g:19794:1: rule__TableBinaryAggregation__Group__4 : rule__TableBinaryAggregation__Group__4__Impl ;
+    // InternalReportDSL.g:19504:1: rule__TableBinaryAggregation__Group__4 : rule__TableBinaryAggregation__Group__4__Impl ;
     public final void rule__TableBinaryAggregation__Group__4() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:19798:1: ( rule__TableBinaryAggregation__Group__4__Impl )
-            // InternalReportDSL.g:19799:2: rule__TableBinaryAggregation__Group__4__Impl
+            // InternalReportDSL.g:19508:1: ( rule__TableBinaryAggregation__Group__4__Impl )
+            // InternalReportDSL.g:19509:2: rule__TableBinaryAggregation__Group__4__Impl
             {
             pushFollow(FOLLOW_2);
             rule__TableBinaryAggregation__Group__4__Impl();
@@ -66358,22 +65239,22 @@
 
 
     // $ANTLR start "rule__TableBinaryAggregation__Group__4__Impl"
-    // InternalReportDSL.g:19805:1: rule__TableBinaryAggregation__Group__4__Impl : ( ')' ) ;
+    // InternalReportDSL.g:19515:1: rule__TableBinaryAggregation__Group__4__Impl : ( ')' ) ;
     public final void rule__TableBinaryAggregation__Group__4__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:19809:1: ( ( ')' ) )
-            // InternalReportDSL.g:19810:1: ( ')' )
+            // InternalReportDSL.g:19519:1: ( ( ')' ) )
+            // InternalReportDSL.g:19520:1: ( ')' )
             {
-            // InternalReportDSL.g:19810:1: ( ')' )
-            // InternalReportDSL.g:19811:2: ')'
+            // InternalReportDSL.g:19520:1: ( ')' )
+            // InternalReportDSL.g:19521:2: ')'
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getTableBinaryAggregationAccess().getRightParenthesisKeyword_4()); 
             }
-            match(input,205,FOLLOW_2); if (state.failed) return ;
+            match(input,212,FOLLOW_2); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getTableBinaryAggregationAccess().getRightParenthesisKeyword_4()); 
             }
@@ -66399,16 +65280,16 @@
 
 
     // $ANTLR start "rule__TableNumberInterval__Group__0"
-    // InternalReportDSL.g:19821:1: rule__TableNumberInterval__Group__0 : rule__TableNumberInterval__Group__0__Impl rule__TableNumberInterval__Group__1 ;
+    // InternalReportDSL.g:19531:1: rule__TableNumberInterval__Group__0 : rule__TableNumberInterval__Group__0__Impl rule__TableNumberInterval__Group__1 ;
     public final void rule__TableNumberInterval__Group__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:19825:1: ( rule__TableNumberInterval__Group__0__Impl rule__TableNumberInterval__Group__1 )
-            // InternalReportDSL.g:19826:2: rule__TableNumberInterval__Group__0__Impl rule__TableNumberInterval__Group__1
+            // InternalReportDSL.g:19535:1: ( rule__TableNumberInterval__Group__0__Impl rule__TableNumberInterval__Group__1 )
+            // InternalReportDSL.g:19536:2: rule__TableNumberInterval__Group__0__Impl rule__TableNumberInterval__Group__1
             {
-            pushFollow(FOLLOW_114);
+            pushFollow(FOLLOW_113);
             rule__TableNumberInterval__Group__0__Impl();
 
             state._fsp--;
@@ -66437,23 +65318,23 @@
 
 
     // $ANTLR start "rule__TableNumberInterval__Group__0__Impl"
-    // InternalReportDSL.g:19833:1: rule__TableNumberInterval__Group__0__Impl : ( () ) ;
+    // InternalReportDSL.g:19543:1: rule__TableNumberInterval__Group__0__Impl : ( () ) ;
     public final void rule__TableNumberInterval__Group__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:19837:1: ( ( () ) )
-            // InternalReportDSL.g:19838:1: ( () )
+            // InternalReportDSL.g:19547:1: ( ( () ) )
+            // InternalReportDSL.g:19548:1: ( () )
             {
-            // InternalReportDSL.g:19838:1: ( () )
-            // InternalReportDSL.g:19839:2: ()
+            // InternalReportDSL.g:19548:1: ( () )
+            // InternalReportDSL.g:19549:2: ()
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getTableNumberIntervalAccess().getTableNumberIntervalAction_0()); 
             }
-            // InternalReportDSL.g:19840:2: ()
-            // InternalReportDSL.g:19840:3: 
+            // InternalReportDSL.g:19550:2: ()
+            // InternalReportDSL.g:19550:3: 
             {
             }
 
@@ -66478,16 +65359,16 @@
 
 
     // $ANTLR start "rule__TableNumberInterval__Group__1"
-    // InternalReportDSL.g:19848:1: rule__TableNumberInterval__Group__1 : rule__TableNumberInterval__Group__1__Impl rule__TableNumberInterval__Group__2 ;
+    // InternalReportDSL.g:19558:1: rule__TableNumberInterval__Group__1 : rule__TableNumberInterval__Group__1__Impl rule__TableNumberInterval__Group__2 ;
     public final void rule__TableNumberInterval__Group__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:19852:1: ( rule__TableNumberInterval__Group__1__Impl rule__TableNumberInterval__Group__2 )
-            // InternalReportDSL.g:19853:2: rule__TableNumberInterval__Group__1__Impl rule__TableNumberInterval__Group__2
+            // InternalReportDSL.g:19562:1: ( rule__TableNumberInterval__Group__1__Impl rule__TableNumberInterval__Group__2 )
+            // InternalReportDSL.g:19563:2: rule__TableNumberInterval__Group__1__Impl rule__TableNumberInterval__Group__2
             {
-            pushFollow(FOLLOW_115);
+            pushFollow(FOLLOW_114);
             rule__TableNumberInterval__Group__1__Impl();
 
             state._fsp--;
@@ -66516,22 +65397,22 @@
 
 
     // $ANTLR start "rule__TableNumberInterval__Group__1__Impl"
-    // InternalReportDSL.g:19860:1: rule__TableNumberInterval__Group__1__Impl : ( 'upTo' ) ;
+    // InternalReportDSL.g:19570:1: rule__TableNumberInterval__Group__1__Impl : ( 'upTo' ) ;
     public final void rule__TableNumberInterval__Group__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:19864:1: ( ( 'upTo' ) )
-            // InternalReportDSL.g:19865:1: ( 'upTo' )
+            // InternalReportDSL.g:19574:1: ( ( 'upTo' ) )
+            // InternalReportDSL.g:19575:1: ( 'upTo' )
             {
-            // InternalReportDSL.g:19865:1: ( 'upTo' )
-            // InternalReportDSL.g:19866:2: 'upTo'
+            // InternalReportDSL.g:19575:1: ( 'upTo' )
+            // InternalReportDSL.g:19576:2: 'upTo'
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getTableNumberIntervalAccess().getUpToKeyword_1()); 
             }
-            match(input,213,FOLLOW_2); if (state.failed) return ;
+            match(input,220,FOLLOW_2); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getTableNumberIntervalAccess().getUpToKeyword_1()); 
             }
@@ -66557,16 +65438,16 @@
 
 
     // $ANTLR start "rule__TableNumberInterval__Group__2"
-    // InternalReportDSL.g:19875:1: rule__TableNumberInterval__Group__2 : rule__TableNumberInterval__Group__2__Impl rule__TableNumberInterval__Group__3 ;
+    // InternalReportDSL.g:19585:1: rule__TableNumberInterval__Group__2 : rule__TableNumberInterval__Group__2__Impl rule__TableNumberInterval__Group__3 ;
     public final void rule__TableNumberInterval__Group__2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:19879:1: ( rule__TableNumberInterval__Group__2__Impl rule__TableNumberInterval__Group__3 )
-            // InternalReportDSL.g:19880:2: rule__TableNumberInterval__Group__2__Impl rule__TableNumberInterval__Group__3
+            // InternalReportDSL.g:19589:1: ( rule__TableNumberInterval__Group__2__Impl rule__TableNumberInterval__Group__3 )
+            // InternalReportDSL.g:19590:2: rule__TableNumberInterval__Group__2__Impl rule__TableNumberInterval__Group__3
             {
-            pushFollow(FOLLOW_116);
+            pushFollow(FOLLOW_115);
             rule__TableNumberInterval__Group__2__Impl();
 
             state._fsp--;
@@ -66595,23 +65476,23 @@
 
 
     // $ANTLR start "rule__TableNumberInterval__Group__2__Impl"
-    // InternalReportDSL.g:19887:1: rule__TableNumberInterval__Group__2__Impl : ( ( rule__TableNumberInterval__NumberIntervalValueAssignment_2 ) ) ;
+    // InternalReportDSL.g:19597:1: rule__TableNumberInterval__Group__2__Impl : ( ( rule__TableNumberInterval__NumberIntervalValueAssignment_2 ) ) ;
     public final void rule__TableNumberInterval__Group__2__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:19891:1: ( ( ( rule__TableNumberInterval__NumberIntervalValueAssignment_2 ) ) )
-            // InternalReportDSL.g:19892:1: ( ( rule__TableNumberInterval__NumberIntervalValueAssignment_2 ) )
+            // InternalReportDSL.g:19601:1: ( ( ( rule__TableNumberInterval__NumberIntervalValueAssignment_2 ) ) )
+            // InternalReportDSL.g:19602:1: ( ( rule__TableNumberInterval__NumberIntervalValueAssignment_2 ) )
             {
-            // InternalReportDSL.g:19892:1: ( ( rule__TableNumberInterval__NumberIntervalValueAssignment_2 ) )
-            // InternalReportDSL.g:19893:2: ( rule__TableNumberInterval__NumberIntervalValueAssignment_2 )
+            // InternalReportDSL.g:19602:1: ( ( rule__TableNumberInterval__NumberIntervalValueAssignment_2 ) )
+            // InternalReportDSL.g:19603:2: ( rule__TableNumberInterval__NumberIntervalValueAssignment_2 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getTableNumberIntervalAccess().getNumberIntervalValueAssignment_2()); 
             }
-            // InternalReportDSL.g:19894:2: ( rule__TableNumberInterval__NumberIntervalValueAssignment_2 )
-            // InternalReportDSL.g:19894:3: rule__TableNumberInterval__NumberIntervalValueAssignment_2
+            // InternalReportDSL.g:19604:2: ( rule__TableNumberInterval__NumberIntervalValueAssignment_2 )
+            // InternalReportDSL.g:19604:3: rule__TableNumberInterval__NumberIntervalValueAssignment_2
             {
             pushFollow(FOLLOW_2);
             rule__TableNumberInterval__NumberIntervalValueAssignment_2();
@@ -66646,14 +65527,14 @@
 
 
     // $ANTLR start "rule__TableNumberInterval__Group__3"
-    // InternalReportDSL.g:19902:1: rule__TableNumberInterval__Group__3 : rule__TableNumberInterval__Group__3__Impl ;
+    // InternalReportDSL.g:19612:1: rule__TableNumberInterval__Group__3 : rule__TableNumberInterval__Group__3__Impl ;
     public final void rule__TableNumberInterval__Group__3() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:19906:1: ( rule__TableNumberInterval__Group__3__Impl )
-            // InternalReportDSL.g:19907:2: rule__TableNumberInterval__Group__3__Impl
+            // InternalReportDSL.g:19616:1: ( rule__TableNumberInterval__Group__3__Impl )
+            // InternalReportDSL.g:19617:2: rule__TableNumberInterval__Group__3__Impl
             {
             pushFollow(FOLLOW_2);
             rule__TableNumberInterval__Group__3__Impl();
@@ -66679,23 +65560,23 @@
 
 
     // $ANTLR start "rule__TableNumberInterval__Group__3__Impl"
-    // InternalReportDSL.g:19913:1: rule__TableNumberInterval__Group__3__Impl : ( ( rule__TableNumberInterval__NumberRangeAssignment_3 ) ) ;
+    // InternalReportDSL.g:19623:1: rule__TableNumberInterval__Group__3__Impl : ( ( rule__TableNumberInterval__NumberRangeAssignment_3 ) ) ;
     public final void rule__TableNumberInterval__Group__3__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:19917:1: ( ( ( rule__TableNumberInterval__NumberRangeAssignment_3 ) ) )
-            // InternalReportDSL.g:19918:1: ( ( rule__TableNumberInterval__NumberRangeAssignment_3 ) )
+            // InternalReportDSL.g:19627:1: ( ( ( rule__TableNumberInterval__NumberRangeAssignment_3 ) ) )
+            // InternalReportDSL.g:19628:1: ( ( rule__TableNumberInterval__NumberRangeAssignment_3 ) )
             {
-            // InternalReportDSL.g:19918:1: ( ( rule__TableNumberInterval__NumberRangeAssignment_3 ) )
-            // InternalReportDSL.g:19919:2: ( rule__TableNumberInterval__NumberRangeAssignment_3 )
+            // InternalReportDSL.g:19628:1: ( ( rule__TableNumberInterval__NumberRangeAssignment_3 ) )
+            // InternalReportDSL.g:19629:2: ( rule__TableNumberInterval__NumberRangeAssignment_3 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getTableNumberIntervalAccess().getNumberRangeAssignment_3()); 
             }
-            // InternalReportDSL.g:19920:2: ( rule__TableNumberInterval__NumberRangeAssignment_3 )
-            // InternalReportDSL.g:19920:3: rule__TableNumberInterval__NumberRangeAssignment_3
+            // InternalReportDSL.g:19630:2: ( rule__TableNumberInterval__NumberRangeAssignment_3 )
+            // InternalReportDSL.g:19630:3: rule__TableNumberInterval__NumberRangeAssignment_3
             {
             pushFollow(FOLLOW_2);
             rule__TableNumberInterval__NumberRangeAssignment_3();
@@ -66730,16 +65611,16 @@
 
 
     // $ANTLR start "rule__TableDateDayInterval__Group__0"
-    // InternalReportDSL.g:19929:1: rule__TableDateDayInterval__Group__0 : rule__TableDateDayInterval__Group__0__Impl rule__TableDateDayInterval__Group__1 ;
+    // InternalReportDSL.g:19639:1: rule__TableDateDayInterval__Group__0 : rule__TableDateDayInterval__Group__0__Impl rule__TableDateDayInterval__Group__1 ;
     public final void rule__TableDateDayInterval__Group__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:19933:1: ( rule__TableDateDayInterval__Group__0__Impl rule__TableDateDayInterval__Group__1 )
-            // InternalReportDSL.g:19934:2: rule__TableDateDayInterval__Group__0__Impl rule__TableDateDayInterval__Group__1
+            // InternalReportDSL.g:19643:1: ( rule__TableDateDayInterval__Group__0__Impl rule__TableDateDayInterval__Group__1 )
+            // InternalReportDSL.g:19644:2: rule__TableDateDayInterval__Group__0__Impl rule__TableDateDayInterval__Group__1
             {
-            pushFollow(FOLLOW_117);
+            pushFollow(FOLLOW_116);
             rule__TableDateDayInterval__Group__0__Impl();
 
             state._fsp--;
@@ -66768,23 +65649,23 @@
 
 
     // $ANTLR start "rule__TableDateDayInterval__Group__0__Impl"
-    // InternalReportDSL.g:19941:1: rule__TableDateDayInterval__Group__0__Impl : ( () ) ;
+    // InternalReportDSL.g:19651:1: rule__TableDateDayInterval__Group__0__Impl : ( () ) ;
     public final void rule__TableDateDayInterval__Group__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:19945:1: ( ( () ) )
-            // InternalReportDSL.g:19946:1: ( () )
+            // InternalReportDSL.g:19655:1: ( ( () ) )
+            // InternalReportDSL.g:19656:1: ( () )
             {
-            // InternalReportDSL.g:19946:1: ( () )
-            // InternalReportDSL.g:19947:2: ()
+            // InternalReportDSL.g:19656:1: ( () )
+            // InternalReportDSL.g:19657:2: ()
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getTableDateDayIntervalAccess().getTableDateDayIntervalAction_0()); 
             }
-            // InternalReportDSL.g:19948:2: ()
-            // InternalReportDSL.g:19948:3: 
+            // InternalReportDSL.g:19658:2: ()
+            // InternalReportDSL.g:19658:3: 
             {
             }
 
@@ -66809,16 +65690,16 @@
 
 
     // $ANTLR start "rule__TableDateDayInterval__Group__1"
-    // InternalReportDSL.g:19956:1: rule__TableDateDayInterval__Group__1 : rule__TableDateDayInterval__Group__1__Impl rule__TableDateDayInterval__Group__2 ;
+    // InternalReportDSL.g:19666:1: rule__TableDateDayInterval__Group__1 : rule__TableDateDayInterval__Group__1__Impl rule__TableDateDayInterval__Group__2 ;
     public final void rule__TableDateDayInterval__Group__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:19960:1: ( rule__TableDateDayInterval__Group__1__Impl rule__TableDateDayInterval__Group__2 )
-            // InternalReportDSL.g:19961:2: rule__TableDateDayInterval__Group__1__Impl rule__TableDateDayInterval__Group__2
+            // InternalReportDSL.g:19670:1: ( rule__TableDateDayInterval__Group__1__Impl rule__TableDateDayInterval__Group__2 )
+            // InternalReportDSL.g:19671:2: rule__TableDateDayInterval__Group__1__Impl rule__TableDateDayInterval__Group__2
             {
-            pushFollow(FOLLOW_115);
+            pushFollow(FOLLOW_114);
             rule__TableDateDayInterval__Group__1__Impl();
 
             state._fsp--;
@@ -66847,22 +65728,22 @@
 
 
     // $ANTLR start "rule__TableDateDayInterval__Group__1__Impl"
-    // InternalReportDSL.g:19968:1: rule__TableDateDayInterval__Group__1__Impl : ( 'daysInPast' ) ;
+    // InternalReportDSL.g:19678:1: rule__TableDateDayInterval__Group__1__Impl : ( 'daysInPast' ) ;
     public final void rule__TableDateDayInterval__Group__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:19972:1: ( ( 'daysInPast' ) )
-            // InternalReportDSL.g:19973:1: ( 'daysInPast' )
+            // InternalReportDSL.g:19682:1: ( ( 'daysInPast' ) )
+            // InternalReportDSL.g:19683:1: ( 'daysInPast' )
             {
-            // InternalReportDSL.g:19973:1: ( 'daysInPast' )
-            // InternalReportDSL.g:19974:2: 'daysInPast'
+            // InternalReportDSL.g:19683:1: ( 'daysInPast' )
+            // InternalReportDSL.g:19684:2: 'daysInPast'
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getTableDateDayIntervalAccess().getDaysInPastKeyword_1()); 
             }
-            match(input,214,FOLLOW_2); if (state.failed) return ;
+            match(input,221,FOLLOW_2); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getTableDateDayIntervalAccess().getDaysInPastKeyword_1()); 
             }
@@ -66888,16 +65769,16 @@
 
 
     // $ANTLR start "rule__TableDateDayInterval__Group__2"
-    // InternalReportDSL.g:19983:1: rule__TableDateDayInterval__Group__2 : rule__TableDateDayInterval__Group__2__Impl rule__TableDateDayInterval__Group__3 ;
+    // InternalReportDSL.g:19693:1: rule__TableDateDayInterval__Group__2 : rule__TableDateDayInterval__Group__2__Impl rule__TableDateDayInterval__Group__3 ;
     public final void rule__TableDateDayInterval__Group__2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:19987:1: ( rule__TableDateDayInterval__Group__2__Impl rule__TableDateDayInterval__Group__3 )
-            // InternalReportDSL.g:19988:2: rule__TableDateDayInterval__Group__2__Impl rule__TableDateDayInterval__Group__3
+            // InternalReportDSL.g:19697:1: ( rule__TableDateDayInterval__Group__2__Impl rule__TableDateDayInterval__Group__3 )
+            // InternalReportDSL.g:19698:2: rule__TableDateDayInterval__Group__2__Impl rule__TableDateDayInterval__Group__3
             {
-            pushFollow(FOLLOW_116);
+            pushFollow(FOLLOW_115);
             rule__TableDateDayInterval__Group__2__Impl();
 
             state._fsp--;
@@ -66926,23 +65807,23 @@
 
 
     // $ANTLR start "rule__TableDateDayInterval__Group__2__Impl"
-    // InternalReportDSL.g:19995:1: rule__TableDateDayInterval__Group__2__Impl : ( ( rule__TableDateDayInterval__DateIntervalValueAssignment_2 ) ) ;
+    // InternalReportDSL.g:19705:1: rule__TableDateDayInterval__Group__2__Impl : ( ( rule__TableDateDayInterval__DateIntervalValueAssignment_2 ) ) ;
     public final void rule__TableDateDayInterval__Group__2__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:19999:1: ( ( ( rule__TableDateDayInterval__DateIntervalValueAssignment_2 ) ) )
-            // InternalReportDSL.g:20000:1: ( ( rule__TableDateDayInterval__DateIntervalValueAssignment_2 ) )
+            // InternalReportDSL.g:19709:1: ( ( ( rule__TableDateDayInterval__DateIntervalValueAssignment_2 ) ) )
+            // InternalReportDSL.g:19710:1: ( ( rule__TableDateDayInterval__DateIntervalValueAssignment_2 ) )
             {
-            // InternalReportDSL.g:20000:1: ( ( rule__TableDateDayInterval__DateIntervalValueAssignment_2 ) )
-            // InternalReportDSL.g:20001:2: ( rule__TableDateDayInterval__DateIntervalValueAssignment_2 )
+            // InternalReportDSL.g:19710:1: ( ( rule__TableDateDayInterval__DateIntervalValueAssignment_2 ) )
+            // InternalReportDSL.g:19711:2: ( rule__TableDateDayInterval__DateIntervalValueAssignment_2 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getTableDateDayIntervalAccess().getDateIntervalValueAssignment_2()); 
             }
-            // InternalReportDSL.g:20002:2: ( rule__TableDateDayInterval__DateIntervalValueAssignment_2 )
-            // InternalReportDSL.g:20002:3: rule__TableDateDayInterval__DateIntervalValueAssignment_2
+            // InternalReportDSL.g:19712:2: ( rule__TableDateDayInterval__DateIntervalValueAssignment_2 )
+            // InternalReportDSL.g:19712:3: rule__TableDateDayInterval__DateIntervalValueAssignment_2
             {
             pushFollow(FOLLOW_2);
             rule__TableDateDayInterval__DateIntervalValueAssignment_2();
@@ -66977,14 +65858,14 @@
 
 
     // $ANTLR start "rule__TableDateDayInterval__Group__3"
-    // InternalReportDSL.g:20010:1: rule__TableDateDayInterval__Group__3 : rule__TableDateDayInterval__Group__3__Impl ;
+    // InternalReportDSL.g:19720:1: rule__TableDateDayInterval__Group__3 : rule__TableDateDayInterval__Group__3__Impl ;
     public final void rule__TableDateDayInterval__Group__3() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:20014:1: ( rule__TableDateDayInterval__Group__3__Impl )
-            // InternalReportDSL.g:20015:2: rule__TableDateDayInterval__Group__3__Impl
+            // InternalReportDSL.g:19724:1: ( rule__TableDateDayInterval__Group__3__Impl )
+            // InternalReportDSL.g:19725:2: rule__TableDateDayInterval__Group__3__Impl
             {
             pushFollow(FOLLOW_2);
             rule__TableDateDayInterval__Group__3__Impl();
@@ -67010,23 +65891,23 @@
 
 
     // $ANTLR start "rule__TableDateDayInterval__Group__3__Impl"
-    // InternalReportDSL.g:20021:1: rule__TableDateDayInterval__Group__3__Impl : ( ( rule__TableDateDayInterval__DateRangeAssignment_3 ) ) ;
+    // InternalReportDSL.g:19731:1: rule__TableDateDayInterval__Group__3__Impl : ( ( rule__TableDateDayInterval__DateRangeAssignment_3 ) ) ;
     public final void rule__TableDateDayInterval__Group__3__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:20025:1: ( ( ( rule__TableDateDayInterval__DateRangeAssignment_3 ) ) )
-            // InternalReportDSL.g:20026:1: ( ( rule__TableDateDayInterval__DateRangeAssignment_3 ) )
+            // InternalReportDSL.g:19735:1: ( ( ( rule__TableDateDayInterval__DateRangeAssignment_3 ) ) )
+            // InternalReportDSL.g:19736:1: ( ( rule__TableDateDayInterval__DateRangeAssignment_3 ) )
             {
-            // InternalReportDSL.g:20026:1: ( ( rule__TableDateDayInterval__DateRangeAssignment_3 ) )
-            // InternalReportDSL.g:20027:2: ( rule__TableDateDayInterval__DateRangeAssignment_3 )
+            // InternalReportDSL.g:19736:1: ( ( rule__TableDateDayInterval__DateRangeAssignment_3 ) )
+            // InternalReportDSL.g:19737:2: ( rule__TableDateDayInterval__DateRangeAssignment_3 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getTableDateDayIntervalAccess().getDateRangeAssignment_3()); 
             }
-            // InternalReportDSL.g:20028:2: ( rule__TableDateDayInterval__DateRangeAssignment_3 )
-            // InternalReportDSL.g:20028:3: rule__TableDateDayInterval__DateRangeAssignment_3
+            // InternalReportDSL.g:19738:2: ( rule__TableDateDayInterval__DateRangeAssignment_3 )
+            // InternalReportDSL.g:19738:3: rule__TableDateDayInterval__DateRangeAssignment_3
             {
             pushFollow(FOLLOW_2);
             rule__TableDateDayInterval__DateRangeAssignment_3();
@@ -67061,16 +65942,16 @@
 
 
     // $ANTLR start "rule__TableNumberLookup__Group__0"
-    // InternalReportDSL.g:20037:1: rule__TableNumberLookup__Group__0 : rule__TableNumberLookup__Group__0__Impl rule__TableNumberLookup__Group__1 ;
+    // InternalReportDSL.g:19747:1: rule__TableNumberLookup__Group__0 : rule__TableNumberLookup__Group__0__Impl rule__TableNumberLookup__Group__1 ;
     public final void rule__TableNumberLookup__Group__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:20041:1: ( rule__TableNumberLookup__Group__0__Impl rule__TableNumberLookup__Group__1 )
-            // InternalReportDSL.g:20042:2: rule__TableNumberLookup__Group__0__Impl rule__TableNumberLookup__Group__1
+            // InternalReportDSL.g:19751:1: ( rule__TableNumberLookup__Group__0__Impl rule__TableNumberLookup__Group__1 )
+            // InternalReportDSL.g:19752:2: rule__TableNumberLookup__Group__0__Impl rule__TableNumberLookup__Group__1
             {
-            pushFollow(FOLLOW_118);
+            pushFollow(FOLLOW_117);
             rule__TableNumberLookup__Group__0__Impl();
 
             state._fsp--;
@@ -67099,23 +65980,23 @@
 
 
     // $ANTLR start "rule__TableNumberLookup__Group__0__Impl"
-    // InternalReportDSL.g:20049:1: rule__TableNumberLookup__Group__0__Impl : ( () ) ;
+    // InternalReportDSL.g:19759:1: rule__TableNumberLookup__Group__0__Impl : ( () ) ;
     public final void rule__TableNumberLookup__Group__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:20053:1: ( ( () ) )
-            // InternalReportDSL.g:20054:1: ( () )
+            // InternalReportDSL.g:19763:1: ( ( () ) )
+            // InternalReportDSL.g:19764:1: ( () )
             {
-            // InternalReportDSL.g:20054:1: ( () )
-            // InternalReportDSL.g:20055:2: ()
+            // InternalReportDSL.g:19764:1: ( () )
+            // InternalReportDSL.g:19765:2: ()
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getTableNumberLookupAccess().getTableNumberLookupAction_0()); 
             }
-            // InternalReportDSL.g:20056:2: ()
-            // InternalReportDSL.g:20056:3: 
+            // InternalReportDSL.g:19766:2: ()
+            // InternalReportDSL.g:19766:3: 
             {
             }
 
@@ -67140,16 +66021,16 @@
 
 
     // $ANTLR start "rule__TableNumberLookup__Group__1"
-    // InternalReportDSL.g:20064:1: rule__TableNumberLookup__Group__1 : rule__TableNumberLookup__Group__1__Impl rule__TableNumberLookup__Group__2 ;
+    // InternalReportDSL.g:19774:1: rule__TableNumberLookup__Group__1 : rule__TableNumberLookup__Group__1__Impl rule__TableNumberLookup__Group__2 ;
     public final void rule__TableNumberLookup__Group__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:20068:1: ( rule__TableNumberLookup__Group__1__Impl rule__TableNumberLookup__Group__2 )
-            // InternalReportDSL.g:20069:2: rule__TableNumberLookup__Group__1__Impl rule__TableNumberLookup__Group__2
+            // InternalReportDSL.g:19778:1: ( rule__TableNumberLookup__Group__1__Impl rule__TableNumberLookup__Group__2 )
+            // InternalReportDSL.g:19779:2: rule__TableNumberLookup__Group__1__Impl rule__TableNumberLookup__Group__2
             {
-            pushFollow(FOLLOW_115);
+            pushFollow(FOLLOW_114);
             rule__TableNumberLookup__Group__1__Impl();
 
             state._fsp--;
@@ -67178,22 +66059,22 @@
 
 
     // $ANTLR start "rule__TableNumberLookup__Group__1__Impl"
-    // InternalReportDSL.g:20076:1: rule__TableNumberLookup__Group__1__Impl : ( 'number' ) ;
+    // InternalReportDSL.g:19786:1: rule__TableNumberLookup__Group__1__Impl : ( 'number' ) ;
     public final void rule__TableNumberLookup__Group__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:20080:1: ( ( 'number' ) )
-            // InternalReportDSL.g:20081:1: ( 'number' )
+            // InternalReportDSL.g:19790:1: ( ( 'number' ) )
+            // InternalReportDSL.g:19791:1: ( 'number' )
             {
-            // InternalReportDSL.g:20081:1: ( 'number' )
-            // InternalReportDSL.g:20082:2: 'number'
+            // InternalReportDSL.g:19791:1: ( 'number' )
+            // InternalReportDSL.g:19792:2: 'number'
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getTableNumberLookupAccess().getNumberKeyword_1()); 
             }
-            match(input,173,FOLLOW_2); if (state.failed) return ;
+            match(input,180,FOLLOW_2); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getTableNumberLookupAccess().getNumberKeyword_1()); 
             }
@@ -67219,16 +66100,16 @@
 
 
     // $ANTLR start "rule__TableNumberLookup__Group__2"
-    // InternalReportDSL.g:20091:1: rule__TableNumberLookup__Group__2 : rule__TableNumberLookup__Group__2__Impl rule__TableNumberLookup__Group__3 ;
+    // InternalReportDSL.g:19801:1: rule__TableNumberLookup__Group__2 : rule__TableNumberLookup__Group__2__Impl rule__TableNumberLookup__Group__3 ;
     public final void rule__TableNumberLookup__Group__2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:20095:1: ( rule__TableNumberLookup__Group__2__Impl rule__TableNumberLookup__Group__3 )
-            // InternalReportDSL.g:20096:2: rule__TableNumberLookup__Group__2__Impl rule__TableNumberLookup__Group__3
+            // InternalReportDSL.g:19805:1: ( rule__TableNumberLookup__Group__2__Impl rule__TableNumberLookup__Group__3 )
+            // InternalReportDSL.g:19806:2: rule__TableNumberLookup__Group__2__Impl rule__TableNumberLookup__Group__3
             {
-            pushFollow(FOLLOW_116);
+            pushFollow(FOLLOW_115);
             rule__TableNumberLookup__Group__2__Impl();
 
             state._fsp--;
@@ -67257,23 +66138,23 @@
 
 
     // $ANTLR start "rule__TableNumberLookup__Group__2__Impl"
-    // InternalReportDSL.g:20103:1: rule__TableNumberLookup__Group__2__Impl : ( ( rule__TableNumberLookup__LookupValueAssignment_2 ) ) ;
+    // InternalReportDSL.g:19813:1: rule__TableNumberLookup__Group__2__Impl : ( ( rule__TableNumberLookup__LookupValueAssignment_2 ) ) ;
     public final void rule__TableNumberLookup__Group__2__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:20107:1: ( ( ( rule__TableNumberLookup__LookupValueAssignment_2 ) ) )
-            // InternalReportDSL.g:20108:1: ( ( rule__TableNumberLookup__LookupValueAssignment_2 ) )
+            // InternalReportDSL.g:19817:1: ( ( ( rule__TableNumberLookup__LookupValueAssignment_2 ) ) )
+            // InternalReportDSL.g:19818:1: ( ( rule__TableNumberLookup__LookupValueAssignment_2 ) )
             {
-            // InternalReportDSL.g:20108:1: ( ( rule__TableNumberLookup__LookupValueAssignment_2 ) )
-            // InternalReportDSL.g:20109:2: ( rule__TableNumberLookup__LookupValueAssignment_2 )
+            // InternalReportDSL.g:19818:1: ( ( rule__TableNumberLookup__LookupValueAssignment_2 ) )
+            // InternalReportDSL.g:19819:2: ( rule__TableNumberLookup__LookupValueAssignment_2 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getTableNumberLookupAccess().getLookupValueAssignment_2()); 
             }
-            // InternalReportDSL.g:20110:2: ( rule__TableNumberLookup__LookupValueAssignment_2 )
-            // InternalReportDSL.g:20110:3: rule__TableNumberLookup__LookupValueAssignment_2
+            // InternalReportDSL.g:19820:2: ( rule__TableNumberLookup__LookupValueAssignment_2 )
+            // InternalReportDSL.g:19820:3: rule__TableNumberLookup__LookupValueAssignment_2
             {
             pushFollow(FOLLOW_2);
             rule__TableNumberLookup__LookupValueAssignment_2();
@@ -67308,14 +66189,14 @@
 
 
     // $ANTLR start "rule__TableNumberLookup__Group__3"
-    // InternalReportDSL.g:20118:1: rule__TableNumberLookup__Group__3 : rule__TableNumberLookup__Group__3__Impl ;
+    // InternalReportDSL.g:19828:1: rule__TableNumberLookup__Group__3 : rule__TableNumberLookup__Group__3__Impl ;
     public final void rule__TableNumberLookup__Group__3() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:20122:1: ( rule__TableNumberLookup__Group__3__Impl )
-            // InternalReportDSL.g:20123:2: rule__TableNumberLookup__Group__3__Impl
+            // InternalReportDSL.g:19832:1: ( rule__TableNumberLookup__Group__3__Impl )
+            // InternalReportDSL.g:19833:2: rule__TableNumberLookup__Group__3__Impl
             {
             pushFollow(FOLLOW_2);
             rule__TableNumberLookup__Group__3__Impl();
@@ -67341,23 +66222,23 @@
 
 
     // $ANTLR start "rule__TableNumberLookup__Group__3__Impl"
-    // InternalReportDSL.g:20129:1: rule__TableNumberLookup__Group__3__Impl : ( ( rule__TableNumberLookup__DiscreteAssignment_3 ) ) ;
+    // InternalReportDSL.g:19839:1: rule__TableNumberLookup__Group__3__Impl : ( ( rule__TableNumberLookup__DiscreteAssignment_3 ) ) ;
     public final void rule__TableNumberLookup__Group__3__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:20133:1: ( ( ( rule__TableNumberLookup__DiscreteAssignment_3 ) ) )
-            // InternalReportDSL.g:20134:1: ( ( rule__TableNumberLookup__DiscreteAssignment_3 ) )
+            // InternalReportDSL.g:19843:1: ( ( ( rule__TableNumberLookup__DiscreteAssignment_3 ) ) )
+            // InternalReportDSL.g:19844:1: ( ( rule__TableNumberLookup__DiscreteAssignment_3 ) )
             {
-            // InternalReportDSL.g:20134:1: ( ( rule__TableNumberLookup__DiscreteAssignment_3 ) )
-            // InternalReportDSL.g:20135:2: ( rule__TableNumberLookup__DiscreteAssignment_3 )
+            // InternalReportDSL.g:19844:1: ( ( rule__TableNumberLookup__DiscreteAssignment_3 ) )
+            // InternalReportDSL.g:19845:2: ( rule__TableNumberLookup__DiscreteAssignment_3 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getTableNumberLookupAccess().getDiscreteAssignment_3()); 
             }
-            // InternalReportDSL.g:20136:2: ( rule__TableNumberLookup__DiscreteAssignment_3 )
-            // InternalReportDSL.g:20136:3: rule__TableNumberLookup__DiscreteAssignment_3
+            // InternalReportDSL.g:19846:2: ( rule__TableNumberLookup__DiscreteAssignment_3 )
+            // InternalReportDSL.g:19846:3: rule__TableNumberLookup__DiscreteAssignment_3
             {
             pushFollow(FOLLOW_2);
             rule__TableNumberLookup__DiscreteAssignment_3();
@@ -67392,16 +66273,16 @@
 
 
     // $ANTLR start "rule__TableStringLookup__Group__0"
-    // InternalReportDSL.g:20145:1: rule__TableStringLookup__Group__0 : rule__TableStringLookup__Group__0__Impl rule__TableStringLookup__Group__1 ;
+    // InternalReportDSL.g:19855:1: rule__TableStringLookup__Group__0 : rule__TableStringLookup__Group__0__Impl rule__TableStringLookup__Group__1 ;
     public final void rule__TableStringLookup__Group__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:20149:1: ( rule__TableStringLookup__Group__0__Impl rule__TableStringLookup__Group__1 )
-            // InternalReportDSL.g:20150:2: rule__TableStringLookup__Group__0__Impl rule__TableStringLookup__Group__1
+            // InternalReportDSL.g:19859:1: ( rule__TableStringLookup__Group__0__Impl rule__TableStringLookup__Group__1 )
+            // InternalReportDSL.g:19860:2: rule__TableStringLookup__Group__0__Impl rule__TableStringLookup__Group__1
             {
-            pushFollow(FOLLOW_119);
+            pushFollow(FOLLOW_118);
             rule__TableStringLookup__Group__0__Impl();
 
             state._fsp--;
@@ -67430,23 +66311,23 @@
 
 
     // $ANTLR start "rule__TableStringLookup__Group__0__Impl"
-    // InternalReportDSL.g:20157:1: rule__TableStringLookup__Group__0__Impl : ( () ) ;
+    // InternalReportDSL.g:19867:1: rule__TableStringLookup__Group__0__Impl : ( () ) ;
     public final void rule__TableStringLookup__Group__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:20161:1: ( ( () ) )
-            // InternalReportDSL.g:20162:1: ( () )
+            // InternalReportDSL.g:19871:1: ( ( () ) )
+            // InternalReportDSL.g:19872:1: ( () )
             {
-            // InternalReportDSL.g:20162:1: ( () )
-            // InternalReportDSL.g:20163:2: ()
+            // InternalReportDSL.g:19872:1: ( () )
+            // InternalReportDSL.g:19873:2: ()
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getTableStringLookupAccess().getTableStringLookupAction_0()); 
             }
-            // InternalReportDSL.g:20164:2: ()
-            // InternalReportDSL.g:20164:3: 
+            // InternalReportDSL.g:19874:2: ()
+            // InternalReportDSL.g:19874:3: 
             {
             }
 
@@ -67471,14 +66352,14 @@
 
 
     // $ANTLR start "rule__TableStringLookup__Group__1"
-    // InternalReportDSL.g:20172:1: rule__TableStringLookup__Group__1 : rule__TableStringLookup__Group__1__Impl rule__TableStringLookup__Group__2 ;
+    // InternalReportDSL.g:19882:1: rule__TableStringLookup__Group__1 : rule__TableStringLookup__Group__1__Impl rule__TableStringLookup__Group__2 ;
     public final void rule__TableStringLookup__Group__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:20176:1: ( rule__TableStringLookup__Group__1__Impl rule__TableStringLookup__Group__2 )
-            // InternalReportDSL.g:20177:2: rule__TableStringLookup__Group__1__Impl rule__TableStringLookup__Group__2
+            // InternalReportDSL.g:19886:1: ( rule__TableStringLookup__Group__1__Impl rule__TableStringLookup__Group__2 )
+            // InternalReportDSL.g:19887:2: rule__TableStringLookup__Group__1__Impl rule__TableStringLookup__Group__2
             {
             pushFollow(FOLLOW_18);
             rule__TableStringLookup__Group__1__Impl();
@@ -67509,22 +66390,22 @@
 
 
     // $ANTLR start "rule__TableStringLookup__Group__1__Impl"
-    // InternalReportDSL.g:20184:1: rule__TableStringLookup__Group__1__Impl : ( 'string' ) ;
+    // InternalReportDSL.g:19894:1: rule__TableStringLookup__Group__1__Impl : ( 'string' ) ;
     public final void rule__TableStringLookup__Group__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:20188:1: ( ( 'string' ) )
-            // InternalReportDSL.g:20189:1: ( 'string' )
+            // InternalReportDSL.g:19898:1: ( ( 'string' ) )
+            // InternalReportDSL.g:19899:1: ( 'string' )
             {
-            // InternalReportDSL.g:20189:1: ( 'string' )
-            // InternalReportDSL.g:20190:2: 'string'
+            // InternalReportDSL.g:19899:1: ( 'string' )
+            // InternalReportDSL.g:19900:2: 'string'
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getTableStringLookupAccess().getStringKeyword_1()); 
             }
-            match(input,215,FOLLOW_2); if (state.failed) return ;
+            match(input,222,FOLLOW_2); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getTableStringLookupAccess().getStringKeyword_1()); 
             }
@@ -67550,16 +66431,16 @@
 
 
     // $ANTLR start "rule__TableStringLookup__Group__2"
-    // InternalReportDSL.g:20199:1: rule__TableStringLookup__Group__2 : rule__TableStringLookup__Group__2__Impl rule__TableStringLookup__Group__3 ;
+    // InternalReportDSL.g:19909:1: rule__TableStringLookup__Group__2 : rule__TableStringLookup__Group__2__Impl rule__TableStringLookup__Group__3 ;
     public final void rule__TableStringLookup__Group__2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:20203:1: ( rule__TableStringLookup__Group__2__Impl rule__TableStringLookup__Group__3 )
-            // InternalReportDSL.g:20204:2: rule__TableStringLookup__Group__2__Impl rule__TableStringLookup__Group__3
+            // InternalReportDSL.g:19913:1: ( rule__TableStringLookup__Group__2__Impl rule__TableStringLookup__Group__3 )
+            // InternalReportDSL.g:19914:2: rule__TableStringLookup__Group__2__Impl rule__TableStringLookup__Group__3
             {
-            pushFollow(FOLLOW_116);
+            pushFollow(FOLLOW_115);
             rule__TableStringLookup__Group__2__Impl();
 
             state._fsp--;
@@ -67588,23 +66469,23 @@
 
 
     // $ANTLR start "rule__TableStringLookup__Group__2__Impl"
-    // InternalReportDSL.g:20211:1: rule__TableStringLookup__Group__2__Impl : ( ( rule__TableStringLookup__LookupValueAssignment_2 ) ) ;
+    // InternalReportDSL.g:19921:1: rule__TableStringLookup__Group__2__Impl : ( ( rule__TableStringLookup__LookupValueAssignment_2 ) ) ;
     public final void rule__TableStringLookup__Group__2__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:20215:1: ( ( ( rule__TableStringLookup__LookupValueAssignment_2 ) ) )
-            // InternalReportDSL.g:20216:1: ( ( rule__TableStringLookup__LookupValueAssignment_2 ) )
+            // InternalReportDSL.g:19925:1: ( ( ( rule__TableStringLookup__LookupValueAssignment_2 ) ) )
+            // InternalReportDSL.g:19926:1: ( ( rule__TableStringLookup__LookupValueAssignment_2 ) )
             {
-            // InternalReportDSL.g:20216:1: ( ( rule__TableStringLookup__LookupValueAssignment_2 ) )
-            // InternalReportDSL.g:20217:2: ( rule__TableStringLookup__LookupValueAssignment_2 )
+            // InternalReportDSL.g:19926:1: ( ( rule__TableStringLookup__LookupValueAssignment_2 ) )
+            // InternalReportDSL.g:19927:2: ( rule__TableStringLookup__LookupValueAssignment_2 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getTableStringLookupAccess().getLookupValueAssignment_2()); 
             }
-            // InternalReportDSL.g:20218:2: ( rule__TableStringLookup__LookupValueAssignment_2 )
-            // InternalReportDSL.g:20218:3: rule__TableStringLookup__LookupValueAssignment_2
+            // InternalReportDSL.g:19928:2: ( rule__TableStringLookup__LookupValueAssignment_2 )
+            // InternalReportDSL.g:19928:3: rule__TableStringLookup__LookupValueAssignment_2
             {
             pushFollow(FOLLOW_2);
             rule__TableStringLookup__LookupValueAssignment_2();
@@ -67639,14 +66520,14 @@
 
 
     // $ANTLR start "rule__TableStringLookup__Group__3"
-    // InternalReportDSL.g:20226:1: rule__TableStringLookup__Group__3 : rule__TableStringLookup__Group__3__Impl ;
+    // InternalReportDSL.g:19936:1: rule__TableStringLookup__Group__3 : rule__TableStringLookup__Group__3__Impl ;
     public final void rule__TableStringLookup__Group__3() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:20230:1: ( rule__TableStringLookup__Group__3__Impl )
-            // InternalReportDSL.g:20231:2: rule__TableStringLookup__Group__3__Impl
+            // InternalReportDSL.g:19940:1: ( rule__TableStringLookup__Group__3__Impl )
+            // InternalReportDSL.g:19941:2: rule__TableStringLookup__Group__3__Impl
             {
             pushFollow(FOLLOW_2);
             rule__TableStringLookup__Group__3__Impl();
@@ -67672,23 +66553,23 @@
 
 
     // $ANTLR start "rule__TableStringLookup__Group__3__Impl"
-    // InternalReportDSL.g:20237:1: rule__TableStringLookup__Group__3__Impl : ( ( rule__TableStringLookup__DiscreteAssignment_3 ) ) ;
+    // InternalReportDSL.g:19947:1: rule__TableStringLookup__Group__3__Impl : ( ( rule__TableStringLookup__DiscreteAssignment_3 ) ) ;
     public final void rule__TableStringLookup__Group__3__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:20241:1: ( ( ( rule__TableStringLookup__DiscreteAssignment_3 ) ) )
-            // InternalReportDSL.g:20242:1: ( ( rule__TableStringLookup__DiscreteAssignment_3 ) )
+            // InternalReportDSL.g:19951:1: ( ( ( rule__TableStringLookup__DiscreteAssignment_3 ) ) )
+            // InternalReportDSL.g:19952:1: ( ( rule__TableStringLookup__DiscreteAssignment_3 ) )
             {
-            // InternalReportDSL.g:20242:1: ( ( rule__TableStringLookup__DiscreteAssignment_3 ) )
-            // InternalReportDSL.g:20243:2: ( rule__TableStringLookup__DiscreteAssignment_3 )
+            // InternalReportDSL.g:19952:1: ( ( rule__TableStringLookup__DiscreteAssignment_3 ) )
+            // InternalReportDSL.g:19953:2: ( rule__TableStringLookup__DiscreteAssignment_3 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getTableStringLookupAccess().getDiscreteAssignment_3()); 
             }
-            // InternalReportDSL.g:20244:2: ( rule__TableStringLookup__DiscreteAssignment_3 )
-            // InternalReportDSL.g:20244:3: rule__TableStringLookup__DiscreteAssignment_3
+            // InternalReportDSL.g:19954:2: ( rule__TableStringLookup__DiscreteAssignment_3 )
+            // InternalReportDSL.g:19954:3: rule__TableStringLookup__DiscreteAssignment_3
             {
             pushFollow(FOLLOW_2);
             rule__TableStringLookup__DiscreteAssignment_3();
@@ -67723,16 +66604,16 @@
 
 
     // $ANTLR start "rule__TableDateDayLookup__Group__0"
-    // InternalReportDSL.g:20253:1: rule__TableDateDayLookup__Group__0 : rule__TableDateDayLookup__Group__0__Impl rule__TableDateDayLookup__Group__1 ;
+    // InternalReportDSL.g:19963:1: rule__TableDateDayLookup__Group__0 : rule__TableDateDayLookup__Group__0__Impl rule__TableDateDayLookup__Group__1 ;
     public final void rule__TableDateDayLookup__Group__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:20257:1: ( rule__TableDateDayLookup__Group__0__Impl rule__TableDateDayLookup__Group__1 )
-            // InternalReportDSL.g:20258:2: rule__TableDateDayLookup__Group__0__Impl rule__TableDateDayLookup__Group__1
+            // InternalReportDSL.g:19967:1: ( rule__TableDateDayLookup__Group__0__Impl rule__TableDateDayLookup__Group__1 )
+            // InternalReportDSL.g:19968:2: rule__TableDateDayLookup__Group__0__Impl rule__TableDateDayLookup__Group__1
             {
-            pushFollow(FOLLOW_120);
+            pushFollow(FOLLOW_119);
             rule__TableDateDayLookup__Group__0__Impl();
 
             state._fsp--;
@@ -67761,23 +66642,23 @@
 
 
     // $ANTLR start "rule__TableDateDayLookup__Group__0__Impl"
-    // InternalReportDSL.g:20265:1: rule__TableDateDayLookup__Group__0__Impl : ( () ) ;
+    // InternalReportDSL.g:19975:1: rule__TableDateDayLookup__Group__0__Impl : ( () ) ;
     public final void rule__TableDateDayLookup__Group__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:20269:1: ( ( () ) )
-            // InternalReportDSL.g:20270:1: ( () )
+            // InternalReportDSL.g:19979:1: ( ( () ) )
+            // InternalReportDSL.g:19980:1: ( () )
             {
-            // InternalReportDSL.g:20270:1: ( () )
-            // InternalReportDSL.g:20271:2: ()
+            // InternalReportDSL.g:19980:1: ( () )
+            // InternalReportDSL.g:19981:2: ()
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getTableDateDayLookupAccess().getTableDateDayLookupAction_0()); 
             }
-            // InternalReportDSL.g:20272:2: ()
-            // InternalReportDSL.g:20272:3: 
+            // InternalReportDSL.g:19982:2: ()
+            // InternalReportDSL.g:19982:3: 
             {
             }
 
@@ -67802,16 +66683,16 @@
 
 
     // $ANTLR start "rule__TableDateDayLookup__Group__1"
-    // InternalReportDSL.g:20280:1: rule__TableDateDayLookup__Group__1 : rule__TableDateDayLookup__Group__1__Impl rule__TableDateDayLookup__Group__2 ;
+    // InternalReportDSL.g:19990:1: rule__TableDateDayLookup__Group__1 : rule__TableDateDayLookup__Group__1__Impl rule__TableDateDayLookup__Group__2 ;
     public final void rule__TableDateDayLookup__Group__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:20284:1: ( rule__TableDateDayLookup__Group__1__Impl rule__TableDateDayLookup__Group__2 )
-            // InternalReportDSL.g:20285:2: rule__TableDateDayLookup__Group__1__Impl rule__TableDateDayLookup__Group__2
+            // InternalReportDSL.g:19994:1: ( rule__TableDateDayLookup__Group__1__Impl rule__TableDateDayLookup__Group__2 )
+            // InternalReportDSL.g:19995:2: rule__TableDateDayLookup__Group__1__Impl rule__TableDateDayLookup__Group__2
             {
-            pushFollow(FOLLOW_115);
+            pushFollow(FOLLOW_114);
             rule__TableDateDayLookup__Group__1__Impl();
 
             state._fsp--;
@@ -67840,22 +66721,22 @@
 
 
     // $ANTLR start "rule__TableDateDayLookup__Group__1__Impl"
-    // InternalReportDSL.g:20292:1: rule__TableDateDayLookup__Group__1__Impl : ( 'daysInPast' ) ;
+    // InternalReportDSL.g:20002:1: rule__TableDateDayLookup__Group__1__Impl : ( 'daysInPast' ) ;
     public final void rule__TableDateDayLookup__Group__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:20296:1: ( ( 'daysInPast' ) )
-            // InternalReportDSL.g:20297:1: ( 'daysInPast' )
+            // InternalReportDSL.g:20006:1: ( ( 'daysInPast' ) )
+            // InternalReportDSL.g:20007:1: ( 'daysInPast' )
             {
-            // InternalReportDSL.g:20297:1: ( 'daysInPast' )
-            // InternalReportDSL.g:20298:2: 'daysInPast'
+            // InternalReportDSL.g:20007:1: ( 'daysInPast' )
+            // InternalReportDSL.g:20008:2: 'daysInPast'
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getTableDateDayLookupAccess().getDaysInPastKeyword_1()); 
             }
-            match(input,214,FOLLOW_2); if (state.failed) return ;
+            match(input,221,FOLLOW_2); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getTableDateDayLookupAccess().getDaysInPastKeyword_1()); 
             }
@@ -67881,16 +66762,16 @@
 
 
     // $ANTLR start "rule__TableDateDayLookup__Group__2"
-    // InternalReportDSL.g:20307:1: rule__TableDateDayLookup__Group__2 : rule__TableDateDayLookup__Group__2__Impl rule__TableDateDayLookup__Group__3 ;
+    // InternalReportDSL.g:20017:1: rule__TableDateDayLookup__Group__2 : rule__TableDateDayLookup__Group__2__Impl rule__TableDateDayLookup__Group__3 ;
     public final void rule__TableDateDayLookup__Group__2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:20311:1: ( rule__TableDateDayLookup__Group__2__Impl rule__TableDateDayLookup__Group__3 )
-            // InternalReportDSL.g:20312:2: rule__TableDateDayLookup__Group__2__Impl rule__TableDateDayLookup__Group__3
+            // InternalReportDSL.g:20021:1: ( rule__TableDateDayLookup__Group__2__Impl rule__TableDateDayLookup__Group__3 )
+            // InternalReportDSL.g:20022:2: rule__TableDateDayLookup__Group__2__Impl rule__TableDateDayLookup__Group__3
             {
-            pushFollow(FOLLOW_116);
+            pushFollow(FOLLOW_115);
             rule__TableDateDayLookup__Group__2__Impl();
 
             state._fsp--;
@@ -67919,23 +66800,23 @@
 
 
     // $ANTLR start "rule__TableDateDayLookup__Group__2__Impl"
-    // InternalReportDSL.g:20319:1: rule__TableDateDayLookup__Group__2__Impl : ( ( rule__TableDateDayLookup__LookupValueAssignment_2 ) ) ;
+    // InternalReportDSL.g:20029:1: rule__TableDateDayLookup__Group__2__Impl : ( ( rule__TableDateDayLookup__LookupValueAssignment_2 ) ) ;
     public final void rule__TableDateDayLookup__Group__2__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:20323:1: ( ( ( rule__TableDateDayLookup__LookupValueAssignment_2 ) ) )
-            // InternalReportDSL.g:20324:1: ( ( rule__TableDateDayLookup__LookupValueAssignment_2 ) )
+            // InternalReportDSL.g:20033:1: ( ( ( rule__TableDateDayLookup__LookupValueAssignment_2 ) ) )
+            // InternalReportDSL.g:20034:1: ( ( rule__TableDateDayLookup__LookupValueAssignment_2 ) )
             {
-            // InternalReportDSL.g:20324:1: ( ( rule__TableDateDayLookup__LookupValueAssignment_2 ) )
-            // InternalReportDSL.g:20325:2: ( rule__TableDateDayLookup__LookupValueAssignment_2 )
+            // InternalReportDSL.g:20034:1: ( ( rule__TableDateDayLookup__LookupValueAssignment_2 ) )
+            // InternalReportDSL.g:20035:2: ( rule__TableDateDayLookup__LookupValueAssignment_2 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getTableDateDayLookupAccess().getLookupValueAssignment_2()); 
             }
-            // InternalReportDSL.g:20326:2: ( rule__TableDateDayLookup__LookupValueAssignment_2 )
-            // InternalReportDSL.g:20326:3: rule__TableDateDayLookup__LookupValueAssignment_2
+            // InternalReportDSL.g:20036:2: ( rule__TableDateDayLookup__LookupValueAssignment_2 )
+            // InternalReportDSL.g:20036:3: rule__TableDateDayLookup__LookupValueAssignment_2
             {
             pushFollow(FOLLOW_2);
             rule__TableDateDayLookup__LookupValueAssignment_2();
@@ -67970,14 +66851,14 @@
 
 
     // $ANTLR start "rule__TableDateDayLookup__Group__3"
-    // InternalReportDSL.g:20334:1: rule__TableDateDayLookup__Group__3 : rule__TableDateDayLookup__Group__3__Impl ;
+    // InternalReportDSL.g:20044:1: rule__TableDateDayLookup__Group__3 : rule__TableDateDayLookup__Group__3__Impl ;
     public final void rule__TableDateDayLookup__Group__3() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:20338:1: ( rule__TableDateDayLookup__Group__3__Impl )
-            // InternalReportDSL.g:20339:2: rule__TableDateDayLookup__Group__3__Impl
+            // InternalReportDSL.g:20048:1: ( rule__TableDateDayLookup__Group__3__Impl )
+            // InternalReportDSL.g:20049:2: rule__TableDateDayLookup__Group__3__Impl
             {
             pushFollow(FOLLOW_2);
             rule__TableDateDayLookup__Group__3__Impl();
@@ -68003,23 +66884,23 @@
 
 
     // $ANTLR start "rule__TableDateDayLookup__Group__3__Impl"
-    // InternalReportDSL.g:20345:1: rule__TableDateDayLookup__Group__3__Impl : ( ( rule__TableDateDayLookup__DiscreteAssignment_3 ) ) ;
+    // InternalReportDSL.g:20055:1: rule__TableDateDayLookup__Group__3__Impl : ( ( rule__TableDateDayLookup__DiscreteAssignment_3 ) ) ;
     public final void rule__TableDateDayLookup__Group__3__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:20349:1: ( ( ( rule__TableDateDayLookup__DiscreteAssignment_3 ) ) )
-            // InternalReportDSL.g:20350:1: ( ( rule__TableDateDayLookup__DiscreteAssignment_3 ) )
+            // InternalReportDSL.g:20059:1: ( ( ( rule__TableDateDayLookup__DiscreteAssignment_3 ) ) )
+            // InternalReportDSL.g:20060:1: ( ( rule__TableDateDayLookup__DiscreteAssignment_3 ) )
             {
-            // InternalReportDSL.g:20350:1: ( ( rule__TableDateDayLookup__DiscreteAssignment_3 ) )
-            // InternalReportDSL.g:20351:2: ( rule__TableDateDayLookup__DiscreteAssignment_3 )
+            // InternalReportDSL.g:20060:1: ( ( rule__TableDateDayLookup__DiscreteAssignment_3 ) )
+            // InternalReportDSL.g:20061:2: ( rule__TableDateDayLookup__DiscreteAssignment_3 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getTableDateDayLookupAccess().getDiscreteAssignment_3()); 
             }
-            // InternalReportDSL.g:20352:2: ( rule__TableDateDayLookup__DiscreteAssignment_3 )
-            // InternalReportDSL.g:20352:3: rule__TableDateDayLookup__DiscreteAssignment_3
+            // InternalReportDSL.g:20062:2: ( rule__TableDateDayLookup__DiscreteAssignment_3 )
+            // InternalReportDSL.g:20062:3: rule__TableDateDayLookup__DiscreteAssignment_3
             {
             pushFollow(FOLLOW_2);
             rule__TableDateDayLookup__DiscreteAssignment_3();
@@ -68054,14 +66935,14 @@
 
 
     // $ANTLR start "rule__Visibility__Group__0"
-    // InternalReportDSL.g:20361:1: rule__Visibility__Group__0 : rule__Visibility__Group__0__Impl rule__Visibility__Group__1 ;
+    // InternalReportDSL.g:20071:1: rule__Visibility__Group__0 : rule__Visibility__Group__0__Impl rule__Visibility__Group__1 ;
     public final void rule__Visibility__Group__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:20365:1: ( rule__Visibility__Group__0__Impl rule__Visibility__Group__1 )
-            // InternalReportDSL.g:20366:2: rule__Visibility__Group__0__Impl rule__Visibility__Group__1
+            // InternalReportDSL.g:20075:1: ( rule__Visibility__Group__0__Impl rule__Visibility__Group__1 )
+            // InternalReportDSL.g:20076:2: rule__Visibility__Group__0__Impl rule__Visibility__Group__1
             {
             pushFollow(FOLLOW_7);
             rule__Visibility__Group__0__Impl();
@@ -68092,23 +66973,23 @@
 
 
     // $ANTLR start "rule__Visibility__Group__0__Impl"
-    // InternalReportDSL.g:20373:1: rule__Visibility__Group__0__Impl : ( ( rule__Visibility__VisibilityAssignment_0 ) ) ;
+    // InternalReportDSL.g:20083:1: rule__Visibility__Group__0__Impl : ( ( rule__Visibility__VisibilityAssignment_0 ) ) ;
     public final void rule__Visibility__Group__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:20377:1: ( ( ( rule__Visibility__VisibilityAssignment_0 ) ) )
-            // InternalReportDSL.g:20378:1: ( ( rule__Visibility__VisibilityAssignment_0 ) )
+            // InternalReportDSL.g:20087:1: ( ( ( rule__Visibility__VisibilityAssignment_0 ) ) )
+            // InternalReportDSL.g:20088:1: ( ( rule__Visibility__VisibilityAssignment_0 ) )
             {
-            // InternalReportDSL.g:20378:1: ( ( rule__Visibility__VisibilityAssignment_0 ) )
-            // InternalReportDSL.g:20379:2: ( rule__Visibility__VisibilityAssignment_0 )
+            // InternalReportDSL.g:20088:1: ( ( rule__Visibility__VisibilityAssignment_0 ) )
+            // InternalReportDSL.g:20089:2: ( rule__Visibility__VisibilityAssignment_0 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getVisibilityAccess().getVisibilityAssignment_0()); 
             }
-            // InternalReportDSL.g:20380:2: ( rule__Visibility__VisibilityAssignment_0 )
-            // InternalReportDSL.g:20380:3: rule__Visibility__VisibilityAssignment_0
+            // InternalReportDSL.g:20090:2: ( rule__Visibility__VisibilityAssignment_0 )
+            // InternalReportDSL.g:20090:3: rule__Visibility__VisibilityAssignment_0
             {
             pushFollow(FOLLOW_2);
             rule__Visibility__VisibilityAssignment_0();
@@ -68143,14 +67024,14 @@
 
 
     // $ANTLR start "rule__Visibility__Group__1"
-    // InternalReportDSL.g:20388:1: rule__Visibility__Group__1 : rule__Visibility__Group__1__Impl ;
+    // InternalReportDSL.g:20098:1: rule__Visibility__Group__1 : rule__Visibility__Group__1__Impl ;
     public final void rule__Visibility__Group__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:20392:1: ( rule__Visibility__Group__1__Impl )
-            // InternalReportDSL.g:20393:2: rule__Visibility__Group__1__Impl
+            // InternalReportDSL.g:20102:1: ( rule__Visibility__Group__1__Impl )
+            // InternalReportDSL.g:20103:2: rule__Visibility__Group__1__Impl
             {
             pushFollow(FOLLOW_2);
             rule__Visibility__Group__1__Impl();
@@ -68176,23 +67057,23 @@
 
 
     // $ANTLR start "rule__Visibility__Group__1__Impl"
-    // InternalReportDSL.g:20399:1: rule__Visibility__Group__1__Impl : ( ( rule__Visibility__VisibilityAttributeAssignment_1 ) ) ;
+    // InternalReportDSL.g:20109:1: rule__Visibility__Group__1__Impl : ( ( rule__Visibility__VisibilityAttributeAssignment_1 ) ) ;
     public final void rule__Visibility__Group__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:20403:1: ( ( ( rule__Visibility__VisibilityAttributeAssignment_1 ) ) )
-            // InternalReportDSL.g:20404:1: ( ( rule__Visibility__VisibilityAttributeAssignment_1 ) )
+            // InternalReportDSL.g:20113:1: ( ( ( rule__Visibility__VisibilityAttributeAssignment_1 ) ) )
+            // InternalReportDSL.g:20114:1: ( ( rule__Visibility__VisibilityAttributeAssignment_1 ) )
             {
-            // InternalReportDSL.g:20404:1: ( ( rule__Visibility__VisibilityAttributeAssignment_1 ) )
-            // InternalReportDSL.g:20405:2: ( rule__Visibility__VisibilityAttributeAssignment_1 )
+            // InternalReportDSL.g:20114:1: ( ( rule__Visibility__VisibilityAttributeAssignment_1 ) )
+            // InternalReportDSL.g:20115:2: ( rule__Visibility__VisibilityAttributeAssignment_1 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getVisibilityAccess().getVisibilityAttributeAssignment_1()); 
             }
-            // InternalReportDSL.g:20406:2: ( rule__Visibility__VisibilityAttributeAssignment_1 )
-            // InternalReportDSL.g:20406:3: rule__Visibility__VisibilityAttributeAssignment_1
+            // InternalReportDSL.g:20116:2: ( rule__Visibility__VisibilityAttributeAssignment_1 )
+            // InternalReportDSL.g:20116:3: rule__Visibility__VisibilityAttributeAssignment_1
             {
             pushFollow(FOLLOW_2);
             rule__Visibility__VisibilityAttributeAssignment_1();
@@ -68227,16 +67108,16 @@
 
 
     // $ANTLR start "rule__SignedNumber__Group__0"
-    // InternalReportDSL.g:20415:1: rule__SignedNumber__Group__0 : rule__SignedNumber__Group__0__Impl rule__SignedNumber__Group__1 ;
+    // InternalReportDSL.g:20125:1: rule__SignedNumber__Group__0 : rule__SignedNumber__Group__0__Impl rule__SignedNumber__Group__1 ;
     public final void rule__SignedNumber__Group__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:20419:1: ( rule__SignedNumber__Group__0__Impl rule__SignedNumber__Group__1 )
-            // InternalReportDSL.g:20420:2: rule__SignedNumber__Group__0__Impl rule__SignedNumber__Group__1
+            // InternalReportDSL.g:20129:1: ( rule__SignedNumber__Group__0__Impl rule__SignedNumber__Group__1 )
+            // InternalReportDSL.g:20130:2: rule__SignedNumber__Group__0__Impl rule__SignedNumber__Group__1
             {
-            pushFollow(FOLLOW_115);
+            pushFollow(FOLLOW_114);
             rule__SignedNumber__Group__0__Impl();
 
             state._fsp--;
@@ -68265,31 +67146,31 @@
 
 
     // $ANTLR start "rule__SignedNumber__Group__0__Impl"
-    // InternalReportDSL.g:20427:1: rule__SignedNumber__Group__0__Impl : ( ( '-' )? ) ;
+    // InternalReportDSL.g:20137:1: rule__SignedNumber__Group__0__Impl : ( ( '-' )? ) ;
     public final void rule__SignedNumber__Group__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:20431:1: ( ( ( '-' )? ) )
-            // InternalReportDSL.g:20432:1: ( ( '-' )? )
+            // InternalReportDSL.g:20141:1: ( ( ( '-' )? ) )
+            // InternalReportDSL.g:20142:1: ( ( '-' )? )
             {
-            // InternalReportDSL.g:20432:1: ( ( '-' )? )
-            // InternalReportDSL.g:20433:2: ( '-' )?
+            // InternalReportDSL.g:20142:1: ( ( '-' )? )
+            // InternalReportDSL.g:20143:2: ( '-' )?
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getSignedNumberAccess().getHyphenMinusKeyword_0()); 
             }
-            // InternalReportDSL.g:20434:2: ( '-' )?
-            int alt157=2;
-            int LA157_0 = input.LA(1);
+            // InternalReportDSL.g:20144:2: ( '-' )?
+            int alt139=2;
+            int LA139_0 = input.LA(1);
 
-            if ( (LA157_0==39) ) {
-                alt157=1;
+            if ( (LA139_0==39) ) {
+                alt139=1;
             }
-            switch (alt157) {
+            switch (alt139) {
                 case 1 :
-                    // InternalReportDSL.g:20434:3: '-'
+                    // InternalReportDSL.g:20144:3: '-'
                     {
                     match(input,39,FOLLOW_2); if (state.failed) return ;
 
@@ -68323,14 +67204,14 @@
 
 
     // $ANTLR start "rule__SignedNumber__Group__1"
-    // InternalReportDSL.g:20442:1: rule__SignedNumber__Group__1 : rule__SignedNumber__Group__1__Impl ;
+    // InternalReportDSL.g:20152:1: rule__SignedNumber__Group__1 : rule__SignedNumber__Group__1__Impl ;
     public final void rule__SignedNumber__Group__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:20446:1: ( rule__SignedNumber__Group__1__Impl )
-            // InternalReportDSL.g:20447:2: rule__SignedNumber__Group__1__Impl
+            // InternalReportDSL.g:20156:1: ( rule__SignedNumber__Group__1__Impl )
+            // InternalReportDSL.g:20157:2: rule__SignedNumber__Group__1__Impl
             {
             pushFollow(FOLLOW_2);
             rule__SignedNumber__Group__1__Impl();
@@ -68356,17 +67237,17 @@
 
 
     // $ANTLR start "rule__SignedNumber__Group__1__Impl"
-    // InternalReportDSL.g:20453:1: rule__SignedNumber__Group__1__Impl : ( ruleNumber ) ;
+    // InternalReportDSL.g:20163:1: rule__SignedNumber__Group__1__Impl : ( ruleNumber ) ;
     public final void rule__SignedNumber__Group__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:20457:1: ( ( ruleNumber ) )
-            // InternalReportDSL.g:20458:1: ( ruleNumber )
+            // InternalReportDSL.g:20167:1: ( ( ruleNumber ) )
+            // InternalReportDSL.g:20168:1: ( ruleNumber )
             {
-            // InternalReportDSL.g:20458:1: ( ruleNumber )
-            // InternalReportDSL.g:20459:2: ruleNumber
+            // InternalReportDSL.g:20168:1: ( ruleNumber )
+            // InternalReportDSL.g:20169:2: ruleNumber
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getSignedNumberAccess().getNumberParserRuleCall_1()); 
@@ -68401,14 +67282,14 @@
 
 
     // $ANTLR start "rule__TableTextColor__Group__0"
-    // InternalReportDSL.g:20469:1: rule__TableTextColor__Group__0 : rule__TableTextColor__Group__0__Impl rule__TableTextColor__Group__1 ;
+    // InternalReportDSL.g:20179:1: rule__TableTextColor__Group__0 : rule__TableTextColor__Group__0__Impl rule__TableTextColor__Group__1 ;
     public final void rule__TableTextColor__Group__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:20473:1: ( rule__TableTextColor__Group__0__Impl rule__TableTextColor__Group__1 )
-            // InternalReportDSL.g:20474:2: rule__TableTextColor__Group__0__Impl rule__TableTextColor__Group__1
+            // InternalReportDSL.g:20183:1: ( rule__TableTextColor__Group__0__Impl rule__TableTextColor__Group__1 )
+            // InternalReportDSL.g:20184:2: rule__TableTextColor__Group__0__Impl rule__TableTextColor__Group__1
             {
             pushFollow(FOLLOW_7);
             rule__TableTextColor__Group__0__Impl();
@@ -68439,22 +67320,22 @@
 
 
     // $ANTLR start "rule__TableTextColor__Group__0__Impl"
-    // InternalReportDSL.g:20481:1: rule__TableTextColor__Group__0__Impl : ( 'textcolor' ) ;
+    // InternalReportDSL.g:20191:1: rule__TableTextColor__Group__0__Impl : ( 'textcolor' ) ;
     public final void rule__TableTextColor__Group__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:20485:1: ( ( 'textcolor' ) )
-            // InternalReportDSL.g:20486:1: ( 'textcolor' )
+            // InternalReportDSL.g:20195:1: ( ( 'textcolor' ) )
+            // InternalReportDSL.g:20196:1: ( 'textcolor' )
             {
-            // InternalReportDSL.g:20486:1: ( 'textcolor' )
-            // InternalReportDSL.g:20487:2: 'textcolor'
+            // InternalReportDSL.g:20196:1: ( 'textcolor' )
+            // InternalReportDSL.g:20197:2: 'textcolor'
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getTableTextColorAccess().getTextcolorKeyword_0()); 
             }
-            match(input,156,FOLLOW_2); if (state.failed) return ;
+            match(input,162,FOLLOW_2); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getTableTextColorAccess().getTextcolorKeyword_0()); 
             }
@@ -68480,14 +67361,14 @@
 
 
     // $ANTLR start "rule__TableTextColor__Group__1"
-    // InternalReportDSL.g:20496:1: rule__TableTextColor__Group__1 : rule__TableTextColor__Group__1__Impl ;
+    // InternalReportDSL.g:20206:1: rule__TableTextColor__Group__1 : rule__TableTextColor__Group__1__Impl ;
     public final void rule__TableTextColor__Group__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:20500:1: ( rule__TableTextColor__Group__1__Impl )
-            // InternalReportDSL.g:20501:2: rule__TableTextColor__Group__1__Impl
+            // InternalReportDSL.g:20210:1: ( rule__TableTextColor__Group__1__Impl )
+            // InternalReportDSL.g:20211:2: rule__TableTextColor__Group__1__Impl
             {
             pushFollow(FOLLOW_2);
             rule__TableTextColor__Group__1__Impl();
@@ -68513,23 +67394,23 @@
 
 
     // $ANTLR start "rule__TableTextColor__Group__1__Impl"
-    // InternalReportDSL.g:20507:1: rule__TableTextColor__Group__1__Impl : ( ( rule__TableTextColor__ColorAssignment_1 ) ) ;
+    // InternalReportDSL.g:20217:1: rule__TableTextColor__Group__1__Impl : ( ( rule__TableTextColor__ColorAssignment_1 ) ) ;
     public final void rule__TableTextColor__Group__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:20511:1: ( ( ( rule__TableTextColor__ColorAssignment_1 ) ) )
-            // InternalReportDSL.g:20512:1: ( ( rule__TableTextColor__ColorAssignment_1 ) )
+            // InternalReportDSL.g:20221:1: ( ( ( rule__TableTextColor__ColorAssignment_1 ) ) )
+            // InternalReportDSL.g:20222:1: ( ( rule__TableTextColor__ColorAssignment_1 ) )
             {
-            // InternalReportDSL.g:20512:1: ( ( rule__TableTextColor__ColorAssignment_1 ) )
-            // InternalReportDSL.g:20513:2: ( rule__TableTextColor__ColorAssignment_1 )
+            // InternalReportDSL.g:20222:1: ( ( rule__TableTextColor__ColorAssignment_1 ) )
+            // InternalReportDSL.g:20223:2: ( rule__TableTextColor__ColorAssignment_1 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getTableTextColorAccess().getColorAssignment_1()); 
             }
-            // InternalReportDSL.g:20514:2: ( rule__TableTextColor__ColorAssignment_1 )
-            // InternalReportDSL.g:20514:3: rule__TableTextColor__ColorAssignment_1
+            // InternalReportDSL.g:20224:2: ( rule__TableTextColor__ColorAssignment_1 )
+            // InternalReportDSL.g:20224:3: rule__TableTextColor__ColorAssignment_1
             {
             pushFollow(FOLLOW_2);
             rule__TableTextColor__ColorAssignment_1();
@@ -68564,14 +67445,14 @@
 
 
     // $ANTLR start "rule__TableCellColor__Group__0"
-    // InternalReportDSL.g:20523:1: rule__TableCellColor__Group__0 : rule__TableCellColor__Group__0__Impl rule__TableCellColor__Group__1 ;
+    // InternalReportDSL.g:20233:1: rule__TableCellColor__Group__0 : rule__TableCellColor__Group__0__Impl rule__TableCellColor__Group__1 ;
     public final void rule__TableCellColor__Group__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:20527:1: ( rule__TableCellColor__Group__0__Impl rule__TableCellColor__Group__1 )
-            // InternalReportDSL.g:20528:2: rule__TableCellColor__Group__0__Impl rule__TableCellColor__Group__1
+            // InternalReportDSL.g:20237:1: ( rule__TableCellColor__Group__0__Impl rule__TableCellColor__Group__1 )
+            // InternalReportDSL.g:20238:2: rule__TableCellColor__Group__0__Impl rule__TableCellColor__Group__1
             {
             pushFollow(FOLLOW_7);
             rule__TableCellColor__Group__0__Impl();
@@ -68602,22 +67483,22 @@
 
 
     // $ANTLR start "rule__TableCellColor__Group__0__Impl"
-    // InternalReportDSL.g:20535:1: rule__TableCellColor__Group__0__Impl : ( 'cellcolor' ) ;
+    // InternalReportDSL.g:20245:1: rule__TableCellColor__Group__0__Impl : ( 'cellcolor' ) ;
     public final void rule__TableCellColor__Group__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:20539:1: ( ( 'cellcolor' ) )
-            // InternalReportDSL.g:20540:1: ( 'cellcolor' )
+            // InternalReportDSL.g:20249:1: ( ( 'cellcolor' ) )
+            // InternalReportDSL.g:20250:1: ( 'cellcolor' )
             {
-            // InternalReportDSL.g:20540:1: ( 'cellcolor' )
-            // InternalReportDSL.g:20541:2: 'cellcolor'
+            // InternalReportDSL.g:20250:1: ( 'cellcolor' )
+            // InternalReportDSL.g:20251:2: 'cellcolor'
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getTableCellColorAccess().getCellcolorKeyword_0()); 
             }
-            match(input,216,FOLLOW_2); if (state.failed) return ;
+            match(input,223,FOLLOW_2); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getTableCellColorAccess().getCellcolorKeyword_0()); 
             }
@@ -68643,14 +67524,14 @@
 
 
     // $ANTLR start "rule__TableCellColor__Group__1"
-    // InternalReportDSL.g:20550:1: rule__TableCellColor__Group__1 : rule__TableCellColor__Group__1__Impl ;
+    // InternalReportDSL.g:20260:1: rule__TableCellColor__Group__1 : rule__TableCellColor__Group__1__Impl ;
     public final void rule__TableCellColor__Group__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:20554:1: ( rule__TableCellColor__Group__1__Impl )
-            // InternalReportDSL.g:20555:2: rule__TableCellColor__Group__1__Impl
+            // InternalReportDSL.g:20264:1: ( rule__TableCellColor__Group__1__Impl )
+            // InternalReportDSL.g:20265:2: rule__TableCellColor__Group__1__Impl
             {
             pushFollow(FOLLOW_2);
             rule__TableCellColor__Group__1__Impl();
@@ -68676,23 +67557,23 @@
 
 
     // $ANTLR start "rule__TableCellColor__Group__1__Impl"
-    // InternalReportDSL.g:20561:1: rule__TableCellColor__Group__1__Impl : ( ( rule__TableCellColor__ColorAssignment_1 ) ) ;
+    // InternalReportDSL.g:20271:1: rule__TableCellColor__Group__1__Impl : ( ( rule__TableCellColor__ColorAssignment_1 ) ) ;
     public final void rule__TableCellColor__Group__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:20565:1: ( ( ( rule__TableCellColor__ColorAssignment_1 ) ) )
-            // InternalReportDSL.g:20566:1: ( ( rule__TableCellColor__ColorAssignment_1 ) )
+            // InternalReportDSL.g:20275:1: ( ( ( rule__TableCellColor__ColorAssignment_1 ) ) )
+            // InternalReportDSL.g:20276:1: ( ( rule__TableCellColor__ColorAssignment_1 ) )
             {
-            // InternalReportDSL.g:20566:1: ( ( rule__TableCellColor__ColorAssignment_1 ) )
-            // InternalReportDSL.g:20567:2: ( rule__TableCellColor__ColorAssignment_1 )
+            // InternalReportDSL.g:20276:1: ( ( rule__TableCellColor__ColorAssignment_1 ) )
+            // InternalReportDSL.g:20277:2: ( rule__TableCellColor__ColorAssignment_1 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getTableCellColorAccess().getColorAssignment_1()); 
             }
-            // InternalReportDSL.g:20568:2: ( rule__TableCellColor__ColorAssignment_1 )
-            // InternalReportDSL.g:20568:3: rule__TableCellColor__ColorAssignment_1
+            // InternalReportDSL.g:20278:2: ( rule__TableCellColor__ColorAssignment_1 )
+            // InternalReportDSL.g:20278:3: rule__TableCellColor__ColorAssignment_1
             {
             pushFollow(FOLLOW_2);
             rule__TableCellColor__ColorAssignment_1();
@@ -68727,14 +67608,14 @@
 
 
     // $ANTLR start "rule__TableIcon__Group__0"
-    // InternalReportDSL.g:20577:1: rule__TableIcon__Group__0 : rule__TableIcon__Group__0__Impl rule__TableIcon__Group__1 ;
+    // InternalReportDSL.g:20287:1: rule__TableIcon__Group__0 : rule__TableIcon__Group__0__Impl rule__TableIcon__Group__1 ;
     public final void rule__TableIcon__Group__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:20581:1: ( rule__TableIcon__Group__0__Impl rule__TableIcon__Group__1 )
-            // InternalReportDSL.g:20582:2: rule__TableIcon__Group__0__Impl rule__TableIcon__Group__1
+            // InternalReportDSL.g:20291:1: ( rule__TableIcon__Group__0__Impl rule__TableIcon__Group__1 )
+            // InternalReportDSL.g:20292:2: rule__TableIcon__Group__0__Impl rule__TableIcon__Group__1
             {
             pushFollow(FOLLOW_18);
             rule__TableIcon__Group__0__Impl();
@@ -68765,22 +67646,22 @@
 
 
     // $ANTLR start "rule__TableIcon__Group__0__Impl"
-    // InternalReportDSL.g:20589:1: rule__TableIcon__Group__0__Impl : ( 'icon' ) ;
+    // InternalReportDSL.g:20299:1: rule__TableIcon__Group__0__Impl : ( 'icon' ) ;
     public final void rule__TableIcon__Group__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:20593:1: ( ( 'icon' ) )
-            // InternalReportDSL.g:20594:1: ( 'icon' )
+            // InternalReportDSL.g:20303:1: ( ( 'icon' ) )
+            // InternalReportDSL.g:20304:1: ( 'icon' )
             {
-            // InternalReportDSL.g:20594:1: ( 'icon' )
-            // InternalReportDSL.g:20595:2: 'icon'
+            // InternalReportDSL.g:20304:1: ( 'icon' )
+            // InternalReportDSL.g:20305:2: 'icon'
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getTableIconAccess().getIconKeyword_0()); 
             }
-            match(input,217,FOLLOW_2); if (state.failed) return ;
+            match(input,224,FOLLOW_2); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getTableIconAccess().getIconKeyword_0()); 
             }
@@ -68806,14 +67687,14 @@
 
 
     // $ANTLR start "rule__TableIcon__Group__1"
-    // InternalReportDSL.g:20604:1: rule__TableIcon__Group__1 : rule__TableIcon__Group__1__Impl ;
+    // InternalReportDSL.g:20314:1: rule__TableIcon__Group__1 : rule__TableIcon__Group__1__Impl ;
     public final void rule__TableIcon__Group__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:20608:1: ( rule__TableIcon__Group__1__Impl )
-            // InternalReportDSL.g:20609:2: rule__TableIcon__Group__1__Impl
+            // InternalReportDSL.g:20318:1: ( rule__TableIcon__Group__1__Impl )
+            // InternalReportDSL.g:20319:2: rule__TableIcon__Group__1__Impl
             {
             pushFollow(FOLLOW_2);
             rule__TableIcon__Group__1__Impl();
@@ -68839,23 +67720,23 @@
 
 
     // $ANTLR start "rule__TableIcon__Group__1__Impl"
-    // InternalReportDSL.g:20615:1: rule__TableIcon__Group__1__Impl : ( ( rule__TableIcon__IconAssignment_1 ) ) ;
+    // InternalReportDSL.g:20325:1: rule__TableIcon__Group__1__Impl : ( ( rule__TableIcon__IconAssignment_1 ) ) ;
     public final void rule__TableIcon__Group__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:20619:1: ( ( ( rule__TableIcon__IconAssignment_1 ) ) )
-            // InternalReportDSL.g:20620:1: ( ( rule__TableIcon__IconAssignment_1 ) )
+            // InternalReportDSL.g:20329:1: ( ( ( rule__TableIcon__IconAssignment_1 ) ) )
+            // InternalReportDSL.g:20330:1: ( ( rule__TableIcon__IconAssignment_1 ) )
             {
-            // InternalReportDSL.g:20620:1: ( ( rule__TableIcon__IconAssignment_1 ) )
-            // InternalReportDSL.g:20621:2: ( rule__TableIcon__IconAssignment_1 )
+            // InternalReportDSL.g:20330:1: ( ( rule__TableIcon__IconAssignment_1 ) )
+            // InternalReportDSL.g:20331:2: ( rule__TableIcon__IconAssignment_1 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getTableIconAccess().getIconAssignment_1()); 
             }
-            // InternalReportDSL.g:20622:2: ( rule__TableIcon__IconAssignment_1 )
-            // InternalReportDSL.g:20622:3: rule__TableIcon__IconAssignment_1
+            // InternalReportDSL.g:20332:2: ( rule__TableIcon__IconAssignment_1 )
+            // InternalReportDSL.g:20332:3: rule__TableIcon__IconAssignment_1
             {
             pushFollow(FOLLOW_2);
             rule__TableIcon__IconAssignment_1();
@@ -68890,16 +67771,16 @@
 
 
     // $ANTLR start "rule__TableTrend__Group__0"
-    // InternalReportDSL.g:20631:1: rule__TableTrend__Group__0 : rule__TableTrend__Group__0__Impl rule__TableTrend__Group__1 ;
+    // InternalReportDSL.g:20341:1: rule__TableTrend__Group__0 : rule__TableTrend__Group__0__Impl rule__TableTrend__Group__1 ;
     public final void rule__TableTrend__Group__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:20635:1: ( rule__TableTrend__Group__0__Impl rule__TableTrend__Group__1 )
-            // InternalReportDSL.g:20636:2: rule__TableTrend__Group__0__Impl rule__TableTrend__Group__1
+            // InternalReportDSL.g:20345:1: ( rule__TableTrend__Group__0__Impl rule__TableTrend__Group__1 )
+            // InternalReportDSL.g:20346:2: rule__TableTrend__Group__0__Impl rule__TableTrend__Group__1
             {
-            pushFollow(FOLLOW_121);
+            pushFollow(FOLLOW_120);
             rule__TableTrend__Group__0__Impl();
 
             state._fsp--;
@@ -68928,22 +67809,22 @@
 
 
     // $ANTLR start "rule__TableTrend__Group__0__Impl"
-    // InternalReportDSL.g:20643:1: rule__TableTrend__Group__0__Impl : ( 'trend' ) ;
+    // InternalReportDSL.g:20353:1: rule__TableTrend__Group__0__Impl : ( 'trend' ) ;
     public final void rule__TableTrend__Group__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:20647:1: ( ( 'trend' ) )
-            // InternalReportDSL.g:20648:1: ( 'trend' )
+            // InternalReportDSL.g:20357:1: ( ( 'trend' ) )
+            // InternalReportDSL.g:20358:1: ( 'trend' )
             {
-            // InternalReportDSL.g:20648:1: ( 'trend' )
-            // InternalReportDSL.g:20649:2: 'trend'
+            // InternalReportDSL.g:20358:1: ( 'trend' )
+            // InternalReportDSL.g:20359:2: 'trend'
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getTableTrendAccess().getTrendKeyword_0()); 
             }
-            match(input,218,FOLLOW_2); if (state.failed) return ;
+            match(input,225,FOLLOW_2); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getTableTrendAccess().getTrendKeyword_0()); 
             }
@@ -68969,14 +67850,14 @@
 
 
     // $ANTLR start "rule__TableTrend__Group__1"
-    // InternalReportDSL.g:20658:1: rule__TableTrend__Group__1 : rule__TableTrend__Group__1__Impl ;
+    // InternalReportDSL.g:20368:1: rule__TableTrend__Group__1 : rule__TableTrend__Group__1__Impl ;
     public final void rule__TableTrend__Group__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:20662:1: ( rule__TableTrend__Group__1__Impl )
-            // InternalReportDSL.g:20663:2: rule__TableTrend__Group__1__Impl
+            // InternalReportDSL.g:20372:1: ( rule__TableTrend__Group__1__Impl )
+            // InternalReportDSL.g:20373:2: rule__TableTrend__Group__1__Impl
             {
             pushFollow(FOLLOW_2);
             rule__TableTrend__Group__1__Impl();
@@ -69002,23 +67883,23 @@
 
 
     // $ANTLR start "rule__TableTrend__Group__1__Impl"
-    // InternalReportDSL.g:20669:1: rule__TableTrend__Group__1__Impl : ( ( rule__TableTrend__IconAssignment_1 ) ) ;
+    // InternalReportDSL.g:20379:1: rule__TableTrend__Group__1__Impl : ( ( rule__TableTrend__IconAssignment_1 ) ) ;
     public final void rule__TableTrend__Group__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:20673:1: ( ( ( rule__TableTrend__IconAssignment_1 ) ) )
-            // InternalReportDSL.g:20674:1: ( ( rule__TableTrend__IconAssignment_1 ) )
+            // InternalReportDSL.g:20383:1: ( ( ( rule__TableTrend__IconAssignment_1 ) ) )
+            // InternalReportDSL.g:20384:1: ( ( rule__TableTrend__IconAssignment_1 ) )
             {
-            // InternalReportDSL.g:20674:1: ( ( rule__TableTrend__IconAssignment_1 ) )
-            // InternalReportDSL.g:20675:2: ( rule__TableTrend__IconAssignment_1 )
+            // InternalReportDSL.g:20384:1: ( ( rule__TableTrend__IconAssignment_1 ) )
+            // InternalReportDSL.g:20385:2: ( rule__TableTrend__IconAssignment_1 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getTableTrendAccess().getIconAssignment_1()); 
             }
-            // InternalReportDSL.g:20676:2: ( rule__TableTrend__IconAssignment_1 )
-            // InternalReportDSL.g:20676:3: rule__TableTrend__IconAssignment_1
+            // InternalReportDSL.g:20386:2: ( rule__TableTrend__IconAssignment_1 )
+            // InternalReportDSL.g:20386:3: rule__TableTrend__IconAssignment_1
             {
             pushFollow(FOLLOW_2);
             rule__TableTrend__IconAssignment_1();
@@ -69053,16 +67934,16 @@
 
 
     // $ANTLR start "rule__Title__Group__0"
-    // InternalReportDSL.g:20685:1: rule__Title__Group__0 : rule__Title__Group__0__Impl rule__Title__Group__1 ;
+    // InternalReportDSL.g:20395:1: rule__Title__Group__0 : rule__Title__Group__0__Impl rule__Title__Group__1 ;
     public final void rule__Title__Group__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:20689:1: ( rule__Title__Group__0__Impl rule__Title__Group__1 )
-            // InternalReportDSL.g:20690:2: rule__Title__Group__0__Impl rule__Title__Group__1
+            // InternalReportDSL.g:20399:1: ( rule__Title__Group__0__Impl rule__Title__Group__1 )
+            // InternalReportDSL.g:20400:2: rule__Title__Group__0__Impl rule__Title__Group__1
             {
-            pushFollow(FOLLOW_122);
+            pushFollow(FOLLOW_121);
             rule__Title__Group__0__Impl();
 
             state._fsp--;
@@ -69091,23 +67972,23 @@
 
 
     // $ANTLR start "rule__Title__Group__0__Impl"
-    // InternalReportDSL.g:20697:1: rule__Title__Group__0__Impl : ( () ) ;
+    // InternalReportDSL.g:20407:1: rule__Title__Group__0__Impl : ( () ) ;
     public final void rule__Title__Group__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:20701:1: ( ( () ) )
-            // InternalReportDSL.g:20702:1: ( () )
+            // InternalReportDSL.g:20411:1: ( ( () ) )
+            // InternalReportDSL.g:20412:1: ( () )
             {
-            // InternalReportDSL.g:20702:1: ( () )
-            // InternalReportDSL.g:20703:2: ()
+            // InternalReportDSL.g:20412:1: ( () )
+            // InternalReportDSL.g:20413:2: ()
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getTitleAccess().getTitleAction_0()); 
             }
-            // InternalReportDSL.g:20704:2: ()
-            // InternalReportDSL.g:20704:3: 
+            // InternalReportDSL.g:20414:2: ()
+            // InternalReportDSL.g:20414:3: 
             {
             }
 
@@ -69132,14 +68013,14 @@
 
 
     // $ANTLR start "rule__Title__Group__1"
-    // InternalReportDSL.g:20712:1: rule__Title__Group__1 : rule__Title__Group__1__Impl rule__Title__Group__2 ;
+    // InternalReportDSL.g:20422:1: rule__Title__Group__1 : rule__Title__Group__1__Impl rule__Title__Group__2 ;
     public final void rule__Title__Group__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:20716:1: ( rule__Title__Group__1__Impl rule__Title__Group__2 )
-            // InternalReportDSL.g:20717:2: rule__Title__Group__1__Impl rule__Title__Group__2
+            // InternalReportDSL.g:20426:1: ( rule__Title__Group__1__Impl rule__Title__Group__2 )
+            // InternalReportDSL.g:20427:2: rule__Title__Group__1__Impl rule__Title__Group__2
             {
             pushFollow(FOLLOW_18);
             rule__Title__Group__1__Impl();
@@ -69170,22 +68051,22 @@
 
 
     // $ANTLR start "rule__Title__Group__1__Impl"
-    // InternalReportDSL.g:20724:1: rule__Title__Group__1__Impl : ( 'title' ) ;
+    // InternalReportDSL.g:20434:1: rule__Title__Group__1__Impl : ( 'title' ) ;
     public final void rule__Title__Group__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:20728:1: ( ( 'title' ) )
-            // InternalReportDSL.g:20729:1: ( 'title' )
+            // InternalReportDSL.g:20438:1: ( ( 'title' ) )
+            // InternalReportDSL.g:20439:1: ( 'title' )
             {
-            // InternalReportDSL.g:20729:1: ( 'title' )
-            // InternalReportDSL.g:20730:2: 'title'
+            // InternalReportDSL.g:20439:1: ( 'title' )
+            // InternalReportDSL.g:20440:2: 'title'
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getTitleAccess().getTitleKeyword_1()); 
             }
-            match(input,203,FOLLOW_2); if (state.failed) return ;
+            match(input,210,FOLLOW_2); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getTitleAccess().getTitleKeyword_1()); 
             }
@@ -69211,16 +68092,16 @@
 
 
     // $ANTLR start "rule__Title__Group__2"
-    // InternalReportDSL.g:20739:1: rule__Title__Group__2 : rule__Title__Group__2__Impl rule__Title__Group__3 ;
+    // InternalReportDSL.g:20449:1: rule__Title__Group__2 : rule__Title__Group__2__Impl rule__Title__Group__3 ;
     public final void rule__Title__Group__2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:20743:1: ( rule__Title__Group__2__Impl rule__Title__Group__3 )
-            // InternalReportDSL.g:20744:2: rule__Title__Group__2__Impl rule__Title__Group__3
+            // InternalReportDSL.g:20453:1: ( rule__Title__Group__2__Impl rule__Title__Group__3 )
+            // InternalReportDSL.g:20454:2: rule__Title__Group__2__Impl rule__Title__Group__3
             {
-            pushFollow(FOLLOW_88);
+            pushFollow(FOLLOW_108);
             rule__Title__Group__2__Impl();
 
             state._fsp--;
@@ -69249,23 +68130,23 @@
 
 
     // $ANTLR start "rule__Title__Group__2__Impl"
-    // InternalReportDSL.g:20751:1: rule__Title__Group__2__Impl : ( ( rule__Title__TextAssignment_2 ) ) ;
+    // InternalReportDSL.g:20461:1: rule__Title__Group__2__Impl : ( ( rule__Title__TextAssignment_2 ) ) ;
     public final void rule__Title__Group__2__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:20755:1: ( ( ( rule__Title__TextAssignment_2 ) ) )
-            // InternalReportDSL.g:20756:1: ( ( rule__Title__TextAssignment_2 ) )
+            // InternalReportDSL.g:20465:1: ( ( ( rule__Title__TextAssignment_2 ) ) )
+            // InternalReportDSL.g:20466:1: ( ( rule__Title__TextAssignment_2 ) )
             {
-            // InternalReportDSL.g:20756:1: ( ( rule__Title__TextAssignment_2 ) )
-            // InternalReportDSL.g:20757:2: ( rule__Title__TextAssignment_2 )
+            // InternalReportDSL.g:20466:1: ( ( rule__Title__TextAssignment_2 ) )
+            // InternalReportDSL.g:20467:2: ( rule__Title__TextAssignment_2 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getTitleAccess().getTextAssignment_2()); 
             }
-            // InternalReportDSL.g:20758:2: ( rule__Title__TextAssignment_2 )
-            // InternalReportDSL.g:20758:3: rule__Title__TextAssignment_2
+            // InternalReportDSL.g:20468:2: ( rule__Title__TextAssignment_2 )
+            // InternalReportDSL.g:20468:3: rule__Title__TextAssignment_2
             {
             pushFollow(FOLLOW_2);
             rule__Title__TextAssignment_2();
@@ -69300,14 +68181,14 @@
 
 
     // $ANTLR start "rule__Title__Group__3"
-    // InternalReportDSL.g:20766:1: rule__Title__Group__3 : rule__Title__Group__3__Impl ;
+    // InternalReportDSL.g:20476:1: rule__Title__Group__3 : rule__Title__Group__3__Impl ;
     public final void rule__Title__Group__3() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:20770:1: ( rule__Title__Group__3__Impl )
-            // InternalReportDSL.g:20771:2: rule__Title__Group__3__Impl
+            // InternalReportDSL.g:20480:1: ( rule__Title__Group__3__Impl )
+            // InternalReportDSL.g:20481:2: rule__Title__Group__3__Impl
             {
             pushFollow(FOLLOW_2);
             rule__Title__Group__3__Impl();
@@ -69333,31 +68214,31 @@
 
 
     // $ANTLR start "rule__Title__Group__3__Impl"
-    // InternalReportDSL.g:20777:1: rule__Title__Group__3__Impl : ( ( rule__Title__Group_3__0 )? ) ;
+    // InternalReportDSL.g:20487:1: rule__Title__Group__3__Impl : ( ( rule__Title__Group_3__0 )? ) ;
     public final void rule__Title__Group__3__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:20781:1: ( ( ( rule__Title__Group_3__0 )? ) )
-            // InternalReportDSL.g:20782:1: ( ( rule__Title__Group_3__0 )? )
+            // InternalReportDSL.g:20491:1: ( ( ( rule__Title__Group_3__0 )? ) )
+            // InternalReportDSL.g:20492:1: ( ( rule__Title__Group_3__0 )? )
             {
-            // InternalReportDSL.g:20782:1: ( ( rule__Title__Group_3__0 )? )
-            // InternalReportDSL.g:20783:2: ( rule__Title__Group_3__0 )?
+            // InternalReportDSL.g:20492:1: ( ( rule__Title__Group_3__0 )? )
+            // InternalReportDSL.g:20493:2: ( rule__Title__Group_3__0 )?
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getTitleAccess().getGroup_3()); 
             }
-            // InternalReportDSL.g:20784:2: ( rule__Title__Group_3__0 )?
-            int alt158=2;
-            int LA158_0 = input.LA(1);
+            // InternalReportDSL.g:20494:2: ( rule__Title__Group_3__0 )?
+            int alt140=2;
+            int LA140_0 = input.LA(1);
 
-            if ( (LA158_0==152) ) {
-                alt158=1;
+            if ( (LA140_0==158) ) {
+                alt140=1;
             }
-            switch (alt158) {
+            switch (alt140) {
                 case 1 :
-                    // InternalReportDSL.g:20784:3: rule__Title__Group_3__0
+                    // InternalReportDSL.g:20494:3: rule__Title__Group_3__0
                     {
                     pushFollow(FOLLOW_2);
                     rule__Title__Group_3__0();
@@ -69395,14 +68276,14 @@
 
 
     // $ANTLR start "rule__Title__Group_3__0"
-    // InternalReportDSL.g:20793:1: rule__Title__Group_3__0 : rule__Title__Group_3__0__Impl rule__Title__Group_3__1 ;
+    // InternalReportDSL.g:20503:1: rule__Title__Group_3__0 : rule__Title__Group_3__0__Impl rule__Title__Group_3__1 ;
     public final void rule__Title__Group_3__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:20797:1: ( rule__Title__Group_3__0__Impl rule__Title__Group_3__1 )
-            // InternalReportDSL.g:20798:2: rule__Title__Group_3__0__Impl rule__Title__Group_3__1
+            // InternalReportDSL.g:20507:1: ( rule__Title__Group_3__0__Impl rule__Title__Group_3__1 )
+            // InternalReportDSL.g:20508:2: rule__Title__Group_3__0__Impl rule__Title__Group_3__1
             {
             pushFollow(FOLLOW_7);
             rule__Title__Group_3__0__Impl();
@@ -69433,22 +68314,22 @@
 
 
     // $ANTLR start "rule__Title__Group_3__0__Impl"
-    // InternalReportDSL.g:20805:1: rule__Title__Group_3__0__Impl : ( 'style' ) ;
+    // InternalReportDSL.g:20515:1: rule__Title__Group_3__0__Impl : ( 'style' ) ;
     public final void rule__Title__Group_3__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:20809:1: ( ( 'style' ) )
-            // InternalReportDSL.g:20810:1: ( 'style' )
+            // InternalReportDSL.g:20519:1: ( ( 'style' ) )
+            // InternalReportDSL.g:20520:1: ( 'style' )
             {
-            // InternalReportDSL.g:20810:1: ( 'style' )
-            // InternalReportDSL.g:20811:2: 'style'
+            // InternalReportDSL.g:20520:1: ( 'style' )
+            // InternalReportDSL.g:20521:2: 'style'
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getTitleAccess().getStyleKeyword_3_0()); 
             }
-            match(input,152,FOLLOW_2); if (state.failed) return ;
+            match(input,158,FOLLOW_2); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getTitleAccess().getStyleKeyword_3_0()); 
             }
@@ -69474,14 +68355,14 @@
 
 
     // $ANTLR start "rule__Title__Group_3__1"
-    // InternalReportDSL.g:20820:1: rule__Title__Group_3__1 : rule__Title__Group_3__1__Impl ;
+    // InternalReportDSL.g:20530:1: rule__Title__Group_3__1 : rule__Title__Group_3__1__Impl ;
     public final void rule__Title__Group_3__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:20824:1: ( rule__Title__Group_3__1__Impl )
-            // InternalReportDSL.g:20825:2: rule__Title__Group_3__1__Impl
+            // InternalReportDSL.g:20534:1: ( rule__Title__Group_3__1__Impl )
+            // InternalReportDSL.g:20535:2: rule__Title__Group_3__1__Impl
             {
             pushFollow(FOLLOW_2);
             rule__Title__Group_3__1__Impl();
@@ -69507,23 +68388,23 @@
 
 
     // $ANTLR start "rule__Title__Group_3__1__Impl"
-    // InternalReportDSL.g:20831:1: rule__Title__Group_3__1__Impl : ( ( rule__Title__StyleAssignment_3_1 ) ) ;
+    // InternalReportDSL.g:20541:1: rule__Title__Group_3__1__Impl : ( ( rule__Title__StyleAssignment_3_1 ) ) ;
     public final void rule__Title__Group_3__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:20835:1: ( ( ( rule__Title__StyleAssignment_3_1 ) ) )
-            // InternalReportDSL.g:20836:1: ( ( rule__Title__StyleAssignment_3_1 ) )
+            // InternalReportDSL.g:20545:1: ( ( ( rule__Title__StyleAssignment_3_1 ) ) )
+            // InternalReportDSL.g:20546:1: ( ( rule__Title__StyleAssignment_3_1 ) )
             {
-            // InternalReportDSL.g:20836:1: ( ( rule__Title__StyleAssignment_3_1 ) )
-            // InternalReportDSL.g:20837:2: ( rule__Title__StyleAssignment_3_1 )
+            // InternalReportDSL.g:20546:1: ( ( rule__Title__StyleAssignment_3_1 ) )
+            // InternalReportDSL.g:20547:2: ( rule__Title__StyleAssignment_3_1 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getTitleAccess().getStyleAssignment_3_1()); 
             }
-            // InternalReportDSL.g:20838:2: ( rule__Title__StyleAssignment_3_1 )
-            // InternalReportDSL.g:20838:3: rule__Title__StyleAssignment_3_1
+            // InternalReportDSL.g:20548:2: ( rule__Title__StyleAssignment_3_1 )
+            // InternalReportDSL.g:20548:3: rule__Title__StyleAssignment_3_1
             {
             pushFollow(FOLLOW_2);
             rule__Title__StyleAssignment_3_1();
@@ -69558,16 +68439,16 @@
 
 
     // $ANTLR start "rule__SubTitle__Group__0"
-    // InternalReportDSL.g:20847:1: rule__SubTitle__Group__0 : rule__SubTitle__Group__0__Impl rule__SubTitle__Group__1 ;
+    // InternalReportDSL.g:20557:1: rule__SubTitle__Group__0 : rule__SubTitle__Group__0__Impl rule__SubTitle__Group__1 ;
     public final void rule__SubTitle__Group__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:20851:1: ( rule__SubTitle__Group__0__Impl rule__SubTitle__Group__1 )
-            // InternalReportDSL.g:20852:2: rule__SubTitle__Group__0__Impl rule__SubTitle__Group__1
+            // InternalReportDSL.g:20561:1: ( rule__SubTitle__Group__0__Impl rule__SubTitle__Group__1 )
+            // InternalReportDSL.g:20562:2: rule__SubTitle__Group__0__Impl rule__SubTitle__Group__1
             {
-            pushFollow(FOLLOW_123);
+            pushFollow(FOLLOW_122);
             rule__SubTitle__Group__0__Impl();
 
             state._fsp--;
@@ -69596,23 +68477,23 @@
 
 
     // $ANTLR start "rule__SubTitle__Group__0__Impl"
-    // InternalReportDSL.g:20859:1: rule__SubTitle__Group__0__Impl : ( () ) ;
+    // InternalReportDSL.g:20569:1: rule__SubTitle__Group__0__Impl : ( () ) ;
     public final void rule__SubTitle__Group__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:20863:1: ( ( () ) )
-            // InternalReportDSL.g:20864:1: ( () )
+            // InternalReportDSL.g:20573:1: ( ( () ) )
+            // InternalReportDSL.g:20574:1: ( () )
             {
-            // InternalReportDSL.g:20864:1: ( () )
-            // InternalReportDSL.g:20865:2: ()
+            // InternalReportDSL.g:20574:1: ( () )
+            // InternalReportDSL.g:20575:2: ()
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getSubTitleAccess().getSubTitleAction_0()); 
             }
-            // InternalReportDSL.g:20866:2: ()
-            // InternalReportDSL.g:20866:3: 
+            // InternalReportDSL.g:20576:2: ()
+            // InternalReportDSL.g:20576:3: 
             {
             }
 
@@ -69637,14 +68518,14 @@
 
 
     // $ANTLR start "rule__SubTitle__Group__1"
-    // InternalReportDSL.g:20874:1: rule__SubTitle__Group__1 : rule__SubTitle__Group__1__Impl rule__SubTitle__Group__2 ;
+    // InternalReportDSL.g:20584:1: rule__SubTitle__Group__1 : rule__SubTitle__Group__1__Impl rule__SubTitle__Group__2 ;
     public final void rule__SubTitle__Group__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:20878:1: ( rule__SubTitle__Group__1__Impl rule__SubTitle__Group__2 )
-            // InternalReportDSL.g:20879:2: rule__SubTitle__Group__1__Impl rule__SubTitle__Group__2
+            // InternalReportDSL.g:20588:1: ( rule__SubTitle__Group__1__Impl rule__SubTitle__Group__2 )
+            // InternalReportDSL.g:20589:2: rule__SubTitle__Group__1__Impl rule__SubTitle__Group__2
             {
             pushFollow(FOLLOW_18);
             rule__SubTitle__Group__1__Impl();
@@ -69675,22 +68556,22 @@
 
 
     // $ANTLR start "rule__SubTitle__Group__1__Impl"
-    // InternalReportDSL.g:20886:1: rule__SubTitle__Group__1__Impl : ( 'subtitle' ) ;
+    // InternalReportDSL.g:20596:1: rule__SubTitle__Group__1__Impl : ( 'subtitle' ) ;
     public final void rule__SubTitle__Group__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:20890:1: ( ( 'subtitle' ) )
-            // InternalReportDSL.g:20891:1: ( 'subtitle' )
+            // InternalReportDSL.g:20600:1: ( ( 'subtitle' ) )
+            // InternalReportDSL.g:20601:1: ( 'subtitle' )
             {
-            // InternalReportDSL.g:20891:1: ( 'subtitle' )
-            // InternalReportDSL.g:20892:2: 'subtitle'
+            // InternalReportDSL.g:20601:1: ( 'subtitle' )
+            // InternalReportDSL.g:20602:2: 'subtitle'
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getSubTitleAccess().getSubtitleKeyword_1()); 
             }
-            match(input,219,FOLLOW_2); if (state.failed) return ;
+            match(input,226,FOLLOW_2); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getSubTitleAccess().getSubtitleKeyword_1()); 
             }
@@ -69716,16 +68597,16 @@
 
 
     // $ANTLR start "rule__SubTitle__Group__2"
-    // InternalReportDSL.g:20901:1: rule__SubTitle__Group__2 : rule__SubTitle__Group__2__Impl rule__SubTitle__Group__3 ;
+    // InternalReportDSL.g:20611:1: rule__SubTitle__Group__2 : rule__SubTitle__Group__2__Impl rule__SubTitle__Group__3 ;
     public final void rule__SubTitle__Group__2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:20905:1: ( rule__SubTitle__Group__2__Impl rule__SubTitle__Group__3 )
-            // InternalReportDSL.g:20906:2: rule__SubTitle__Group__2__Impl rule__SubTitle__Group__3
+            // InternalReportDSL.g:20615:1: ( rule__SubTitle__Group__2__Impl rule__SubTitle__Group__3 )
+            // InternalReportDSL.g:20616:2: rule__SubTitle__Group__2__Impl rule__SubTitle__Group__3
             {
-            pushFollow(FOLLOW_88);
+            pushFollow(FOLLOW_108);
             rule__SubTitle__Group__2__Impl();
 
             state._fsp--;
@@ -69754,23 +68635,23 @@
 
 
     // $ANTLR start "rule__SubTitle__Group__2__Impl"
-    // InternalReportDSL.g:20913:1: rule__SubTitle__Group__2__Impl : ( ( rule__SubTitle__TextAssignment_2 ) ) ;
+    // InternalReportDSL.g:20623:1: rule__SubTitle__Group__2__Impl : ( ( rule__SubTitle__TextAssignment_2 ) ) ;
     public final void rule__SubTitle__Group__2__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:20917:1: ( ( ( rule__SubTitle__TextAssignment_2 ) ) )
-            // InternalReportDSL.g:20918:1: ( ( rule__SubTitle__TextAssignment_2 ) )
+            // InternalReportDSL.g:20627:1: ( ( ( rule__SubTitle__TextAssignment_2 ) ) )
+            // InternalReportDSL.g:20628:1: ( ( rule__SubTitle__TextAssignment_2 ) )
             {
-            // InternalReportDSL.g:20918:1: ( ( rule__SubTitle__TextAssignment_2 ) )
-            // InternalReportDSL.g:20919:2: ( rule__SubTitle__TextAssignment_2 )
+            // InternalReportDSL.g:20628:1: ( ( rule__SubTitle__TextAssignment_2 ) )
+            // InternalReportDSL.g:20629:2: ( rule__SubTitle__TextAssignment_2 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getSubTitleAccess().getTextAssignment_2()); 
             }
-            // InternalReportDSL.g:20920:2: ( rule__SubTitle__TextAssignment_2 )
-            // InternalReportDSL.g:20920:3: rule__SubTitle__TextAssignment_2
+            // InternalReportDSL.g:20630:2: ( rule__SubTitle__TextAssignment_2 )
+            // InternalReportDSL.g:20630:3: rule__SubTitle__TextAssignment_2
             {
             pushFollow(FOLLOW_2);
             rule__SubTitle__TextAssignment_2();
@@ -69805,14 +68686,14 @@
 
 
     // $ANTLR start "rule__SubTitle__Group__3"
-    // InternalReportDSL.g:20928:1: rule__SubTitle__Group__3 : rule__SubTitle__Group__3__Impl ;
+    // InternalReportDSL.g:20638:1: rule__SubTitle__Group__3 : rule__SubTitle__Group__3__Impl ;
     public final void rule__SubTitle__Group__3() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:20932:1: ( rule__SubTitle__Group__3__Impl )
-            // InternalReportDSL.g:20933:2: rule__SubTitle__Group__3__Impl
+            // InternalReportDSL.g:20642:1: ( rule__SubTitle__Group__3__Impl )
+            // InternalReportDSL.g:20643:2: rule__SubTitle__Group__3__Impl
             {
             pushFollow(FOLLOW_2);
             rule__SubTitle__Group__3__Impl();
@@ -69838,31 +68719,31 @@
 
 
     // $ANTLR start "rule__SubTitle__Group__3__Impl"
-    // InternalReportDSL.g:20939:1: rule__SubTitle__Group__3__Impl : ( ( rule__SubTitle__Group_3__0 )? ) ;
+    // InternalReportDSL.g:20649:1: rule__SubTitle__Group__3__Impl : ( ( rule__SubTitle__Group_3__0 )? ) ;
     public final void rule__SubTitle__Group__3__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:20943:1: ( ( ( rule__SubTitle__Group_3__0 )? ) )
-            // InternalReportDSL.g:20944:1: ( ( rule__SubTitle__Group_3__0 )? )
+            // InternalReportDSL.g:20653:1: ( ( ( rule__SubTitle__Group_3__0 )? ) )
+            // InternalReportDSL.g:20654:1: ( ( rule__SubTitle__Group_3__0 )? )
             {
-            // InternalReportDSL.g:20944:1: ( ( rule__SubTitle__Group_3__0 )? )
-            // InternalReportDSL.g:20945:2: ( rule__SubTitle__Group_3__0 )?
+            // InternalReportDSL.g:20654:1: ( ( rule__SubTitle__Group_3__0 )? )
+            // InternalReportDSL.g:20655:2: ( rule__SubTitle__Group_3__0 )?
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getSubTitleAccess().getGroup_3()); 
             }
-            // InternalReportDSL.g:20946:2: ( rule__SubTitle__Group_3__0 )?
-            int alt159=2;
-            int LA159_0 = input.LA(1);
+            // InternalReportDSL.g:20656:2: ( rule__SubTitle__Group_3__0 )?
+            int alt141=2;
+            int LA141_0 = input.LA(1);
 
-            if ( (LA159_0==152) ) {
-                alt159=1;
+            if ( (LA141_0==158) ) {
+                alt141=1;
             }
-            switch (alt159) {
+            switch (alt141) {
                 case 1 :
-                    // InternalReportDSL.g:20946:3: rule__SubTitle__Group_3__0
+                    // InternalReportDSL.g:20656:3: rule__SubTitle__Group_3__0
                     {
                     pushFollow(FOLLOW_2);
                     rule__SubTitle__Group_3__0();
@@ -69900,14 +68781,14 @@
 
 
     // $ANTLR start "rule__SubTitle__Group_3__0"
-    // InternalReportDSL.g:20955:1: rule__SubTitle__Group_3__0 : rule__SubTitle__Group_3__0__Impl rule__SubTitle__Group_3__1 ;
+    // InternalReportDSL.g:20665:1: rule__SubTitle__Group_3__0 : rule__SubTitle__Group_3__0__Impl rule__SubTitle__Group_3__1 ;
     public final void rule__SubTitle__Group_3__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:20959:1: ( rule__SubTitle__Group_3__0__Impl rule__SubTitle__Group_3__1 )
-            // InternalReportDSL.g:20960:2: rule__SubTitle__Group_3__0__Impl rule__SubTitle__Group_3__1
+            // InternalReportDSL.g:20669:1: ( rule__SubTitle__Group_3__0__Impl rule__SubTitle__Group_3__1 )
+            // InternalReportDSL.g:20670:2: rule__SubTitle__Group_3__0__Impl rule__SubTitle__Group_3__1
             {
             pushFollow(FOLLOW_7);
             rule__SubTitle__Group_3__0__Impl();
@@ -69938,22 +68819,22 @@
 
 
     // $ANTLR start "rule__SubTitle__Group_3__0__Impl"
-    // InternalReportDSL.g:20967:1: rule__SubTitle__Group_3__0__Impl : ( 'style' ) ;
+    // InternalReportDSL.g:20677:1: rule__SubTitle__Group_3__0__Impl : ( 'style' ) ;
     public final void rule__SubTitle__Group_3__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:20971:1: ( ( 'style' ) )
-            // InternalReportDSL.g:20972:1: ( 'style' )
+            // InternalReportDSL.g:20681:1: ( ( 'style' ) )
+            // InternalReportDSL.g:20682:1: ( 'style' )
             {
-            // InternalReportDSL.g:20972:1: ( 'style' )
-            // InternalReportDSL.g:20973:2: 'style'
+            // InternalReportDSL.g:20682:1: ( 'style' )
+            // InternalReportDSL.g:20683:2: 'style'
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getSubTitleAccess().getStyleKeyword_3_0()); 
             }
-            match(input,152,FOLLOW_2); if (state.failed) return ;
+            match(input,158,FOLLOW_2); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getSubTitleAccess().getStyleKeyword_3_0()); 
             }
@@ -69979,14 +68860,14 @@
 
 
     // $ANTLR start "rule__SubTitle__Group_3__1"
-    // InternalReportDSL.g:20982:1: rule__SubTitle__Group_3__1 : rule__SubTitle__Group_3__1__Impl ;
+    // InternalReportDSL.g:20692:1: rule__SubTitle__Group_3__1 : rule__SubTitle__Group_3__1__Impl ;
     public final void rule__SubTitle__Group_3__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:20986:1: ( rule__SubTitle__Group_3__1__Impl )
-            // InternalReportDSL.g:20987:2: rule__SubTitle__Group_3__1__Impl
+            // InternalReportDSL.g:20696:1: ( rule__SubTitle__Group_3__1__Impl )
+            // InternalReportDSL.g:20697:2: rule__SubTitle__Group_3__1__Impl
             {
             pushFollow(FOLLOW_2);
             rule__SubTitle__Group_3__1__Impl();
@@ -70012,23 +68893,23 @@
 
 
     // $ANTLR start "rule__SubTitle__Group_3__1__Impl"
-    // InternalReportDSL.g:20993:1: rule__SubTitle__Group_3__1__Impl : ( ( rule__SubTitle__StyleAssignment_3_1 ) ) ;
+    // InternalReportDSL.g:20703:1: rule__SubTitle__Group_3__1__Impl : ( ( rule__SubTitle__StyleAssignment_3_1 ) ) ;
     public final void rule__SubTitle__Group_3__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:20997:1: ( ( ( rule__SubTitle__StyleAssignment_3_1 ) ) )
-            // InternalReportDSL.g:20998:1: ( ( rule__SubTitle__StyleAssignment_3_1 ) )
+            // InternalReportDSL.g:20707:1: ( ( ( rule__SubTitle__StyleAssignment_3_1 ) ) )
+            // InternalReportDSL.g:20708:1: ( ( rule__SubTitle__StyleAssignment_3_1 ) )
             {
-            // InternalReportDSL.g:20998:1: ( ( rule__SubTitle__StyleAssignment_3_1 ) )
-            // InternalReportDSL.g:20999:2: ( rule__SubTitle__StyleAssignment_3_1 )
+            // InternalReportDSL.g:20708:1: ( ( rule__SubTitle__StyleAssignment_3_1 ) )
+            // InternalReportDSL.g:20709:2: ( rule__SubTitle__StyleAssignment_3_1 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getSubTitleAccess().getStyleAssignment_3_1()); 
             }
-            // InternalReportDSL.g:21000:2: ( rule__SubTitle__StyleAssignment_3_1 )
-            // InternalReportDSL.g:21000:3: rule__SubTitle__StyleAssignment_3_1
+            // InternalReportDSL.g:20710:2: ( rule__SubTitle__StyleAssignment_3_1 )
+            // InternalReportDSL.g:20710:3: rule__SubTitle__StyleAssignment_3_1
             {
             pushFollow(FOLLOW_2);
             rule__SubTitle__StyleAssignment_3_1();
@@ -70063,16 +68944,16 @@
 
 
     // $ANTLR start "rule__SubSubTitle__Group__0"
-    // InternalReportDSL.g:21009:1: rule__SubSubTitle__Group__0 : rule__SubSubTitle__Group__0__Impl rule__SubSubTitle__Group__1 ;
+    // InternalReportDSL.g:20719:1: rule__SubSubTitle__Group__0 : rule__SubSubTitle__Group__0__Impl rule__SubSubTitle__Group__1 ;
     public final void rule__SubSubTitle__Group__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:21013:1: ( rule__SubSubTitle__Group__0__Impl rule__SubSubTitle__Group__1 )
-            // InternalReportDSL.g:21014:2: rule__SubSubTitle__Group__0__Impl rule__SubSubTitle__Group__1
+            // InternalReportDSL.g:20723:1: ( rule__SubSubTitle__Group__0__Impl rule__SubSubTitle__Group__1 )
+            // InternalReportDSL.g:20724:2: rule__SubSubTitle__Group__0__Impl rule__SubSubTitle__Group__1
             {
-            pushFollow(FOLLOW_124);
+            pushFollow(FOLLOW_123);
             rule__SubSubTitle__Group__0__Impl();
 
             state._fsp--;
@@ -70101,23 +68982,23 @@
 
 
     // $ANTLR start "rule__SubSubTitle__Group__0__Impl"
-    // InternalReportDSL.g:21021:1: rule__SubSubTitle__Group__0__Impl : ( () ) ;
+    // InternalReportDSL.g:20731:1: rule__SubSubTitle__Group__0__Impl : ( () ) ;
     public final void rule__SubSubTitle__Group__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:21025:1: ( ( () ) )
-            // InternalReportDSL.g:21026:1: ( () )
+            // InternalReportDSL.g:20735:1: ( ( () ) )
+            // InternalReportDSL.g:20736:1: ( () )
             {
-            // InternalReportDSL.g:21026:1: ( () )
-            // InternalReportDSL.g:21027:2: ()
+            // InternalReportDSL.g:20736:1: ( () )
+            // InternalReportDSL.g:20737:2: ()
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getSubSubTitleAccess().getSubSubTitleAction_0()); 
             }
-            // InternalReportDSL.g:21028:2: ()
-            // InternalReportDSL.g:21028:3: 
+            // InternalReportDSL.g:20738:2: ()
+            // InternalReportDSL.g:20738:3: 
             {
             }
 
@@ -70142,14 +69023,14 @@
 
 
     // $ANTLR start "rule__SubSubTitle__Group__1"
-    // InternalReportDSL.g:21036:1: rule__SubSubTitle__Group__1 : rule__SubSubTitle__Group__1__Impl rule__SubSubTitle__Group__2 ;
+    // InternalReportDSL.g:20746:1: rule__SubSubTitle__Group__1 : rule__SubSubTitle__Group__1__Impl rule__SubSubTitle__Group__2 ;
     public final void rule__SubSubTitle__Group__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:21040:1: ( rule__SubSubTitle__Group__1__Impl rule__SubSubTitle__Group__2 )
-            // InternalReportDSL.g:21041:2: rule__SubSubTitle__Group__1__Impl rule__SubSubTitle__Group__2
+            // InternalReportDSL.g:20750:1: ( rule__SubSubTitle__Group__1__Impl rule__SubSubTitle__Group__2 )
+            // InternalReportDSL.g:20751:2: rule__SubSubTitle__Group__1__Impl rule__SubSubTitle__Group__2
             {
             pushFollow(FOLLOW_18);
             rule__SubSubTitle__Group__1__Impl();
@@ -70180,22 +69061,22 @@
 
 
     // $ANTLR start "rule__SubSubTitle__Group__1__Impl"
-    // InternalReportDSL.g:21048:1: rule__SubSubTitle__Group__1__Impl : ( 'subsubtitle' ) ;
+    // InternalReportDSL.g:20758:1: rule__SubSubTitle__Group__1__Impl : ( 'subsubtitle' ) ;
     public final void rule__SubSubTitle__Group__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:21052:1: ( ( 'subsubtitle' ) )
-            // InternalReportDSL.g:21053:1: ( 'subsubtitle' )
+            // InternalReportDSL.g:20762:1: ( ( 'subsubtitle' ) )
+            // InternalReportDSL.g:20763:1: ( 'subsubtitle' )
             {
-            // InternalReportDSL.g:21053:1: ( 'subsubtitle' )
-            // InternalReportDSL.g:21054:2: 'subsubtitle'
+            // InternalReportDSL.g:20763:1: ( 'subsubtitle' )
+            // InternalReportDSL.g:20764:2: 'subsubtitle'
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getSubSubTitleAccess().getSubsubtitleKeyword_1()); 
             }
-            match(input,220,FOLLOW_2); if (state.failed) return ;
+            match(input,227,FOLLOW_2); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getSubSubTitleAccess().getSubsubtitleKeyword_1()); 
             }
@@ -70221,16 +69102,16 @@
 
 
     // $ANTLR start "rule__SubSubTitle__Group__2"
-    // InternalReportDSL.g:21063:1: rule__SubSubTitle__Group__2 : rule__SubSubTitle__Group__2__Impl rule__SubSubTitle__Group__3 ;
+    // InternalReportDSL.g:20773:1: rule__SubSubTitle__Group__2 : rule__SubSubTitle__Group__2__Impl rule__SubSubTitle__Group__3 ;
     public final void rule__SubSubTitle__Group__2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:21067:1: ( rule__SubSubTitle__Group__2__Impl rule__SubSubTitle__Group__3 )
-            // InternalReportDSL.g:21068:2: rule__SubSubTitle__Group__2__Impl rule__SubSubTitle__Group__3
+            // InternalReportDSL.g:20777:1: ( rule__SubSubTitle__Group__2__Impl rule__SubSubTitle__Group__3 )
+            // InternalReportDSL.g:20778:2: rule__SubSubTitle__Group__2__Impl rule__SubSubTitle__Group__3
             {
-            pushFollow(FOLLOW_88);
+            pushFollow(FOLLOW_108);
             rule__SubSubTitle__Group__2__Impl();
 
             state._fsp--;
@@ -70259,23 +69140,23 @@
 
 
     // $ANTLR start "rule__SubSubTitle__Group__2__Impl"
-    // InternalReportDSL.g:21075:1: rule__SubSubTitle__Group__2__Impl : ( ( rule__SubSubTitle__TextAssignment_2 ) ) ;
+    // InternalReportDSL.g:20785:1: rule__SubSubTitle__Group__2__Impl : ( ( rule__SubSubTitle__TextAssignment_2 ) ) ;
     public final void rule__SubSubTitle__Group__2__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:21079:1: ( ( ( rule__SubSubTitle__TextAssignment_2 ) ) )
-            // InternalReportDSL.g:21080:1: ( ( rule__SubSubTitle__TextAssignment_2 ) )
+            // InternalReportDSL.g:20789:1: ( ( ( rule__SubSubTitle__TextAssignment_2 ) ) )
+            // InternalReportDSL.g:20790:1: ( ( rule__SubSubTitle__TextAssignment_2 ) )
             {
-            // InternalReportDSL.g:21080:1: ( ( rule__SubSubTitle__TextAssignment_2 ) )
-            // InternalReportDSL.g:21081:2: ( rule__SubSubTitle__TextAssignment_2 )
+            // InternalReportDSL.g:20790:1: ( ( rule__SubSubTitle__TextAssignment_2 ) )
+            // InternalReportDSL.g:20791:2: ( rule__SubSubTitle__TextAssignment_2 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getSubSubTitleAccess().getTextAssignment_2()); 
             }
-            // InternalReportDSL.g:21082:2: ( rule__SubSubTitle__TextAssignment_2 )
-            // InternalReportDSL.g:21082:3: rule__SubSubTitle__TextAssignment_2
+            // InternalReportDSL.g:20792:2: ( rule__SubSubTitle__TextAssignment_2 )
+            // InternalReportDSL.g:20792:3: rule__SubSubTitle__TextAssignment_2
             {
             pushFollow(FOLLOW_2);
             rule__SubSubTitle__TextAssignment_2();
@@ -70310,14 +69191,14 @@
 
 
     // $ANTLR start "rule__SubSubTitle__Group__3"
-    // InternalReportDSL.g:21090:1: rule__SubSubTitle__Group__3 : rule__SubSubTitle__Group__3__Impl ;
+    // InternalReportDSL.g:20800:1: rule__SubSubTitle__Group__3 : rule__SubSubTitle__Group__3__Impl ;
     public final void rule__SubSubTitle__Group__3() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:21094:1: ( rule__SubSubTitle__Group__3__Impl )
-            // InternalReportDSL.g:21095:2: rule__SubSubTitle__Group__3__Impl
+            // InternalReportDSL.g:20804:1: ( rule__SubSubTitle__Group__3__Impl )
+            // InternalReportDSL.g:20805:2: rule__SubSubTitle__Group__3__Impl
             {
             pushFollow(FOLLOW_2);
             rule__SubSubTitle__Group__3__Impl();
@@ -70343,31 +69224,31 @@
 
 
     // $ANTLR start "rule__SubSubTitle__Group__3__Impl"
-    // InternalReportDSL.g:21101:1: rule__SubSubTitle__Group__3__Impl : ( ( rule__SubSubTitle__Group_3__0 )? ) ;
+    // InternalReportDSL.g:20811:1: rule__SubSubTitle__Group__3__Impl : ( ( rule__SubSubTitle__Group_3__0 )? ) ;
     public final void rule__SubSubTitle__Group__3__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:21105:1: ( ( ( rule__SubSubTitle__Group_3__0 )? ) )
-            // InternalReportDSL.g:21106:1: ( ( rule__SubSubTitle__Group_3__0 )? )
+            // InternalReportDSL.g:20815:1: ( ( ( rule__SubSubTitle__Group_3__0 )? ) )
+            // InternalReportDSL.g:20816:1: ( ( rule__SubSubTitle__Group_3__0 )? )
             {
-            // InternalReportDSL.g:21106:1: ( ( rule__SubSubTitle__Group_3__0 )? )
-            // InternalReportDSL.g:21107:2: ( rule__SubSubTitle__Group_3__0 )?
+            // InternalReportDSL.g:20816:1: ( ( rule__SubSubTitle__Group_3__0 )? )
+            // InternalReportDSL.g:20817:2: ( rule__SubSubTitle__Group_3__0 )?
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getSubSubTitleAccess().getGroup_3()); 
             }
-            // InternalReportDSL.g:21108:2: ( rule__SubSubTitle__Group_3__0 )?
-            int alt160=2;
-            int LA160_0 = input.LA(1);
+            // InternalReportDSL.g:20818:2: ( rule__SubSubTitle__Group_3__0 )?
+            int alt142=2;
+            int LA142_0 = input.LA(1);
 
-            if ( (LA160_0==152) ) {
-                alt160=1;
+            if ( (LA142_0==158) ) {
+                alt142=1;
             }
-            switch (alt160) {
+            switch (alt142) {
                 case 1 :
-                    // InternalReportDSL.g:21108:3: rule__SubSubTitle__Group_3__0
+                    // InternalReportDSL.g:20818:3: rule__SubSubTitle__Group_3__0
                     {
                     pushFollow(FOLLOW_2);
                     rule__SubSubTitle__Group_3__0();
@@ -70405,14 +69286,14 @@
 
 
     // $ANTLR start "rule__SubSubTitle__Group_3__0"
-    // InternalReportDSL.g:21117:1: rule__SubSubTitle__Group_3__0 : rule__SubSubTitle__Group_3__0__Impl rule__SubSubTitle__Group_3__1 ;
+    // InternalReportDSL.g:20827:1: rule__SubSubTitle__Group_3__0 : rule__SubSubTitle__Group_3__0__Impl rule__SubSubTitle__Group_3__1 ;
     public final void rule__SubSubTitle__Group_3__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:21121:1: ( rule__SubSubTitle__Group_3__0__Impl rule__SubSubTitle__Group_3__1 )
-            // InternalReportDSL.g:21122:2: rule__SubSubTitle__Group_3__0__Impl rule__SubSubTitle__Group_3__1
+            // InternalReportDSL.g:20831:1: ( rule__SubSubTitle__Group_3__0__Impl rule__SubSubTitle__Group_3__1 )
+            // InternalReportDSL.g:20832:2: rule__SubSubTitle__Group_3__0__Impl rule__SubSubTitle__Group_3__1
             {
             pushFollow(FOLLOW_7);
             rule__SubSubTitle__Group_3__0__Impl();
@@ -70443,22 +69324,22 @@
 
 
     // $ANTLR start "rule__SubSubTitle__Group_3__0__Impl"
-    // InternalReportDSL.g:21129:1: rule__SubSubTitle__Group_3__0__Impl : ( 'style' ) ;
+    // InternalReportDSL.g:20839:1: rule__SubSubTitle__Group_3__0__Impl : ( 'style' ) ;
     public final void rule__SubSubTitle__Group_3__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:21133:1: ( ( 'style' ) )
-            // InternalReportDSL.g:21134:1: ( 'style' )
+            // InternalReportDSL.g:20843:1: ( ( 'style' ) )
+            // InternalReportDSL.g:20844:1: ( 'style' )
             {
-            // InternalReportDSL.g:21134:1: ( 'style' )
-            // InternalReportDSL.g:21135:2: 'style'
+            // InternalReportDSL.g:20844:1: ( 'style' )
+            // InternalReportDSL.g:20845:2: 'style'
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getSubSubTitleAccess().getStyleKeyword_3_0()); 
             }
-            match(input,152,FOLLOW_2); if (state.failed) return ;
+            match(input,158,FOLLOW_2); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getSubSubTitleAccess().getStyleKeyword_3_0()); 
             }
@@ -70484,14 +69365,14 @@
 
 
     // $ANTLR start "rule__SubSubTitle__Group_3__1"
-    // InternalReportDSL.g:21144:1: rule__SubSubTitle__Group_3__1 : rule__SubSubTitle__Group_3__1__Impl ;
+    // InternalReportDSL.g:20854:1: rule__SubSubTitle__Group_3__1 : rule__SubSubTitle__Group_3__1__Impl ;
     public final void rule__SubSubTitle__Group_3__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:21148:1: ( rule__SubSubTitle__Group_3__1__Impl )
-            // InternalReportDSL.g:21149:2: rule__SubSubTitle__Group_3__1__Impl
+            // InternalReportDSL.g:20858:1: ( rule__SubSubTitle__Group_3__1__Impl )
+            // InternalReportDSL.g:20859:2: rule__SubSubTitle__Group_3__1__Impl
             {
             pushFollow(FOLLOW_2);
             rule__SubSubTitle__Group_3__1__Impl();
@@ -70517,23 +69398,23 @@
 
 
     // $ANTLR start "rule__SubSubTitle__Group_3__1__Impl"
-    // InternalReportDSL.g:21155:1: rule__SubSubTitle__Group_3__1__Impl : ( ( rule__SubSubTitle__StyleAssignment_3_1 ) ) ;
+    // InternalReportDSL.g:20865:1: rule__SubSubTitle__Group_3__1__Impl : ( ( rule__SubSubTitle__StyleAssignment_3_1 ) ) ;
     public final void rule__SubSubTitle__Group_3__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:21159:1: ( ( ( rule__SubSubTitle__StyleAssignment_3_1 ) ) )
-            // InternalReportDSL.g:21160:1: ( ( rule__SubSubTitle__StyleAssignment_3_1 ) )
+            // InternalReportDSL.g:20869:1: ( ( ( rule__SubSubTitle__StyleAssignment_3_1 ) ) )
+            // InternalReportDSL.g:20870:1: ( ( rule__SubSubTitle__StyleAssignment_3_1 ) )
             {
-            // InternalReportDSL.g:21160:1: ( ( rule__SubSubTitle__StyleAssignment_3_1 ) )
-            // InternalReportDSL.g:21161:2: ( rule__SubSubTitle__StyleAssignment_3_1 )
+            // InternalReportDSL.g:20870:1: ( ( rule__SubSubTitle__StyleAssignment_3_1 ) )
+            // InternalReportDSL.g:20871:2: ( rule__SubSubTitle__StyleAssignment_3_1 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getSubSubTitleAccess().getStyleAssignment_3_1()); 
             }
-            // InternalReportDSL.g:21162:2: ( rule__SubSubTitle__StyleAssignment_3_1 )
-            // InternalReportDSL.g:21162:3: rule__SubSubTitle__StyleAssignment_3_1
+            // InternalReportDSL.g:20872:2: ( rule__SubSubTitle__StyleAssignment_3_1 )
+            // InternalReportDSL.g:20872:3: rule__SubSubTitle__StyleAssignment_3_1
             {
             pushFollow(FOLLOW_2);
             rule__SubSubTitle__StyleAssignment_3_1();
@@ -70568,16 +69449,16 @@
 
 
     // $ANTLR start "rule__Label__Group__0"
-    // InternalReportDSL.g:21171:1: rule__Label__Group__0 : rule__Label__Group__0__Impl rule__Label__Group__1 ;
+    // InternalReportDSL.g:20881:1: rule__Label__Group__0 : rule__Label__Group__0__Impl rule__Label__Group__1 ;
     public final void rule__Label__Group__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:21175:1: ( rule__Label__Group__0__Impl rule__Label__Group__1 )
-            // InternalReportDSL.g:21176:2: rule__Label__Group__0__Impl rule__Label__Group__1
+            // InternalReportDSL.g:20885:1: ( rule__Label__Group__0__Impl rule__Label__Group__1 )
+            // InternalReportDSL.g:20886:2: rule__Label__Group__0__Impl rule__Label__Group__1
             {
-            pushFollow(FOLLOW_125);
+            pushFollow(FOLLOW_124);
             rule__Label__Group__0__Impl();
 
             state._fsp--;
@@ -70606,23 +69487,23 @@
 
 
     // $ANTLR start "rule__Label__Group__0__Impl"
-    // InternalReportDSL.g:21183:1: rule__Label__Group__0__Impl : ( () ) ;
+    // InternalReportDSL.g:20893:1: rule__Label__Group__0__Impl : ( () ) ;
     public final void rule__Label__Group__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:21187:1: ( ( () ) )
-            // InternalReportDSL.g:21188:1: ( () )
+            // InternalReportDSL.g:20897:1: ( ( () ) )
+            // InternalReportDSL.g:20898:1: ( () )
             {
-            // InternalReportDSL.g:21188:1: ( () )
-            // InternalReportDSL.g:21189:2: ()
+            // InternalReportDSL.g:20898:1: ( () )
+            // InternalReportDSL.g:20899:2: ()
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getLabelAccess().getLabelAction_0()); 
             }
-            // InternalReportDSL.g:21190:2: ()
-            // InternalReportDSL.g:21190:3: 
+            // InternalReportDSL.g:20900:2: ()
+            // InternalReportDSL.g:20900:3: 
             {
             }
 
@@ -70647,14 +69528,14 @@
 
 
     // $ANTLR start "rule__Label__Group__1"
-    // InternalReportDSL.g:21198:1: rule__Label__Group__1 : rule__Label__Group__1__Impl rule__Label__Group__2 ;
+    // InternalReportDSL.g:20908:1: rule__Label__Group__1 : rule__Label__Group__1__Impl rule__Label__Group__2 ;
     public final void rule__Label__Group__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:21202:1: ( rule__Label__Group__1__Impl rule__Label__Group__2 )
-            // InternalReportDSL.g:21203:2: rule__Label__Group__1__Impl rule__Label__Group__2
+            // InternalReportDSL.g:20912:1: ( rule__Label__Group__1__Impl rule__Label__Group__2 )
+            // InternalReportDSL.g:20913:2: rule__Label__Group__1__Impl rule__Label__Group__2
             {
             pushFollow(FOLLOW_18);
             rule__Label__Group__1__Impl();
@@ -70685,22 +69566,22 @@
 
 
     // $ANTLR start "rule__Label__Group__1__Impl"
-    // InternalReportDSL.g:21210:1: rule__Label__Group__1__Impl : ( 'label' ) ;
+    // InternalReportDSL.g:20920:1: rule__Label__Group__1__Impl : ( 'label' ) ;
     public final void rule__Label__Group__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:21214:1: ( ( 'label' ) )
-            // InternalReportDSL.g:21215:1: ( 'label' )
+            // InternalReportDSL.g:20924:1: ( ( 'label' ) )
+            // InternalReportDSL.g:20925:1: ( 'label' )
             {
-            // InternalReportDSL.g:21215:1: ( 'label' )
-            // InternalReportDSL.g:21216:2: 'label'
+            // InternalReportDSL.g:20925:1: ( 'label' )
+            // InternalReportDSL.g:20926:2: 'label'
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getLabelAccess().getLabelKeyword_1()); 
             }
-            match(input,221,FOLLOW_2); if (state.failed) return ;
+            match(input,228,FOLLOW_2); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getLabelAccess().getLabelKeyword_1()); 
             }
@@ -70726,16 +69607,16 @@
 
 
     // $ANTLR start "rule__Label__Group__2"
-    // InternalReportDSL.g:21225:1: rule__Label__Group__2 : rule__Label__Group__2__Impl rule__Label__Group__3 ;
+    // InternalReportDSL.g:20935:1: rule__Label__Group__2 : rule__Label__Group__2__Impl rule__Label__Group__3 ;
     public final void rule__Label__Group__2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:21229:1: ( rule__Label__Group__2__Impl rule__Label__Group__3 )
-            // InternalReportDSL.g:21230:2: rule__Label__Group__2__Impl rule__Label__Group__3
+            // InternalReportDSL.g:20939:1: ( rule__Label__Group__2__Impl rule__Label__Group__3 )
+            // InternalReportDSL.g:20940:2: rule__Label__Group__2__Impl rule__Label__Group__3
             {
-            pushFollow(FOLLOW_88);
+            pushFollow(FOLLOW_108);
             rule__Label__Group__2__Impl();
 
             state._fsp--;
@@ -70764,23 +69645,23 @@
 
 
     // $ANTLR start "rule__Label__Group__2__Impl"
-    // InternalReportDSL.g:21237:1: rule__Label__Group__2__Impl : ( ( rule__Label__TextAssignment_2 ) ) ;
+    // InternalReportDSL.g:20947:1: rule__Label__Group__2__Impl : ( ( rule__Label__TextAssignment_2 ) ) ;
     public final void rule__Label__Group__2__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:21241:1: ( ( ( rule__Label__TextAssignment_2 ) ) )
-            // InternalReportDSL.g:21242:1: ( ( rule__Label__TextAssignment_2 ) )
+            // InternalReportDSL.g:20951:1: ( ( ( rule__Label__TextAssignment_2 ) ) )
+            // InternalReportDSL.g:20952:1: ( ( rule__Label__TextAssignment_2 ) )
             {
-            // InternalReportDSL.g:21242:1: ( ( rule__Label__TextAssignment_2 ) )
-            // InternalReportDSL.g:21243:2: ( rule__Label__TextAssignment_2 )
+            // InternalReportDSL.g:20952:1: ( ( rule__Label__TextAssignment_2 ) )
+            // InternalReportDSL.g:20953:2: ( rule__Label__TextAssignment_2 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getLabelAccess().getTextAssignment_2()); 
             }
-            // InternalReportDSL.g:21244:2: ( rule__Label__TextAssignment_2 )
-            // InternalReportDSL.g:21244:3: rule__Label__TextAssignment_2
+            // InternalReportDSL.g:20954:2: ( rule__Label__TextAssignment_2 )
+            // InternalReportDSL.g:20954:3: rule__Label__TextAssignment_2
             {
             pushFollow(FOLLOW_2);
             rule__Label__TextAssignment_2();
@@ -70815,14 +69696,14 @@
 
 
     // $ANTLR start "rule__Label__Group__3"
-    // InternalReportDSL.g:21252:1: rule__Label__Group__3 : rule__Label__Group__3__Impl ;
+    // InternalReportDSL.g:20962:1: rule__Label__Group__3 : rule__Label__Group__3__Impl ;
     public final void rule__Label__Group__3() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:21256:1: ( rule__Label__Group__3__Impl )
-            // InternalReportDSL.g:21257:2: rule__Label__Group__3__Impl
+            // InternalReportDSL.g:20966:1: ( rule__Label__Group__3__Impl )
+            // InternalReportDSL.g:20967:2: rule__Label__Group__3__Impl
             {
             pushFollow(FOLLOW_2);
             rule__Label__Group__3__Impl();
@@ -70848,31 +69729,31 @@
 
 
     // $ANTLR start "rule__Label__Group__3__Impl"
-    // InternalReportDSL.g:21263:1: rule__Label__Group__3__Impl : ( ( rule__Label__Group_3__0 )? ) ;
+    // InternalReportDSL.g:20973:1: rule__Label__Group__3__Impl : ( ( rule__Label__Group_3__0 )? ) ;
     public final void rule__Label__Group__3__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:21267:1: ( ( ( rule__Label__Group_3__0 )? ) )
-            // InternalReportDSL.g:21268:1: ( ( rule__Label__Group_3__0 )? )
+            // InternalReportDSL.g:20977:1: ( ( ( rule__Label__Group_3__0 )? ) )
+            // InternalReportDSL.g:20978:1: ( ( rule__Label__Group_3__0 )? )
             {
-            // InternalReportDSL.g:21268:1: ( ( rule__Label__Group_3__0 )? )
-            // InternalReportDSL.g:21269:2: ( rule__Label__Group_3__0 )?
+            // InternalReportDSL.g:20978:1: ( ( rule__Label__Group_3__0 )? )
+            // InternalReportDSL.g:20979:2: ( rule__Label__Group_3__0 )?
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getLabelAccess().getGroup_3()); 
             }
-            // InternalReportDSL.g:21270:2: ( rule__Label__Group_3__0 )?
-            int alt161=2;
-            int LA161_0 = input.LA(1);
+            // InternalReportDSL.g:20980:2: ( rule__Label__Group_3__0 )?
+            int alt143=2;
+            int LA143_0 = input.LA(1);
 
-            if ( (LA161_0==152) ) {
-                alt161=1;
+            if ( (LA143_0==158) ) {
+                alt143=1;
             }
-            switch (alt161) {
+            switch (alt143) {
                 case 1 :
-                    // InternalReportDSL.g:21270:3: rule__Label__Group_3__0
+                    // InternalReportDSL.g:20980:3: rule__Label__Group_3__0
                     {
                     pushFollow(FOLLOW_2);
                     rule__Label__Group_3__0();
@@ -70910,14 +69791,14 @@
 
 
     // $ANTLR start "rule__Label__Group_3__0"
-    // InternalReportDSL.g:21279:1: rule__Label__Group_3__0 : rule__Label__Group_3__0__Impl rule__Label__Group_3__1 ;
+    // InternalReportDSL.g:20989:1: rule__Label__Group_3__0 : rule__Label__Group_3__0__Impl rule__Label__Group_3__1 ;
     public final void rule__Label__Group_3__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:21283:1: ( rule__Label__Group_3__0__Impl rule__Label__Group_3__1 )
-            // InternalReportDSL.g:21284:2: rule__Label__Group_3__0__Impl rule__Label__Group_3__1
+            // InternalReportDSL.g:20993:1: ( rule__Label__Group_3__0__Impl rule__Label__Group_3__1 )
+            // InternalReportDSL.g:20994:2: rule__Label__Group_3__0__Impl rule__Label__Group_3__1
             {
             pushFollow(FOLLOW_7);
             rule__Label__Group_3__0__Impl();
@@ -70948,22 +69829,22 @@
 
 
     // $ANTLR start "rule__Label__Group_3__0__Impl"
-    // InternalReportDSL.g:21291:1: rule__Label__Group_3__0__Impl : ( 'style' ) ;
+    // InternalReportDSL.g:21001:1: rule__Label__Group_3__0__Impl : ( 'style' ) ;
     public final void rule__Label__Group_3__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:21295:1: ( ( 'style' ) )
-            // InternalReportDSL.g:21296:1: ( 'style' )
+            // InternalReportDSL.g:21005:1: ( ( 'style' ) )
+            // InternalReportDSL.g:21006:1: ( 'style' )
             {
-            // InternalReportDSL.g:21296:1: ( 'style' )
-            // InternalReportDSL.g:21297:2: 'style'
+            // InternalReportDSL.g:21006:1: ( 'style' )
+            // InternalReportDSL.g:21007:2: 'style'
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getLabelAccess().getStyleKeyword_3_0()); 
             }
-            match(input,152,FOLLOW_2); if (state.failed) return ;
+            match(input,158,FOLLOW_2); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getLabelAccess().getStyleKeyword_3_0()); 
             }
@@ -70989,14 +69870,14 @@
 
 
     // $ANTLR start "rule__Label__Group_3__1"
-    // InternalReportDSL.g:21306:1: rule__Label__Group_3__1 : rule__Label__Group_3__1__Impl ;
+    // InternalReportDSL.g:21016:1: rule__Label__Group_3__1 : rule__Label__Group_3__1__Impl ;
     public final void rule__Label__Group_3__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:21310:1: ( rule__Label__Group_3__1__Impl )
-            // InternalReportDSL.g:21311:2: rule__Label__Group_3__1__Impl
+            // InternalReportDSL.g:21020:1: ( rule__Label__Group_3__1__Impl )
+            // InternalReportDSL.g:21021:2: rule__Label__Group_3__1__Impl
             {
             pushFollow(FOLLOW_2);
             rule__Label__Group_3__1__Impl();
@@ -71022,23 +69903,23 @@
 
 
     // $ANTLR start "rule__Label__Group_3__1__Impl"
-    // InternalReportDSL.g:21317:1: rule__Label__Group_3__1__Impl : ( ( rule__Label__StyleAssignment_3_1 ) ) ;
+    // InternalReportDSL.g:21027:1: rule__Label__Group_3__1__Impl : ( ( rule__Label__StyleAssignment_3_1 ) ) ;
     public final void rule__Label__Group_3__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:21321:1: ( ( ( rule__Label__StyleAssignment_3_1 ) ) )
-            // InternalReportDSL.g:21322:1: ( ( rule__Label__StyleAssignment_3_1 ) )
+            // InternalReportDSL.g:21031:1: ( ( ( rule__Label__StyleAssignment_3_1 ) ) )
+            // InternalReportDSL.g:21032:1: ( ( rule__Label__StyleAssignment_3_1 ) )
             {
-            // InternalReportDSL.g:21322:1: ( ( rule__Label__StyleAssignment_3_1 ) )
-            // InternalReportDSL.g:21323:2: ( rule__Label__StyleAssignment_3_1 )
+            // InternalReportDSL.g:21032:1: ( ( rule__Label__StyleAssignment_3_1 ) )
+            // InternalReportDSL.g:21033:2: ( rule__Label__StyleAssignment_3_1 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getLabelAccess().getStyleAssignment_3_1()); 
             }
-            // InternalReportDSL.g:21324:2: ( rule__Label__StyleAssignment_3_1 )
-            // InternalReportDSL.g:21324:3: rule__Label__StyleAssignment_3_1
+            // InternalReportDSL.g:21034:2: ( rule__Label__StyleAssignment_3_1 )
+            // InternalReportDSL.g:21034:3: rule__Label__StyleAssignment_3_1
             {
             pushFollow(FOLLOW_2);
             rule__Label__StyleAssignment_3_1();
@@ -71073,16 +69954,16 @@
 
 
     // $ANTLR start "rule__Text__Group__0"
-    // InternalReportDSL.g:21333:1: rule__Text__Group__0 : rule__Text__Group__0__Impl rule__Text__Group__1 ;
+    // InternalReportDSL.g:21043:1: rule__Text__Group__0 : rule__Text__Group__0__Impl rule__Text__Group__1 ;
     public final void rule__Text__Group__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:21337:1: ( rule__Text__Group__0__Impl rule__Text__Group__1 )
-            // InternalReportDSL.g:21338:2: rule__Text__Group__0__Impl rule__Text__Group__1
+            // InternalReportDSL.g:21047:1: ( rule__Text__Group__0__Impl rule__Text__Group__1 )
+            // InternalReportDSL.g:21048:2: rule__Text__Group__0__Impl rule__Text__Group__1
             {
-            pushFollow(FOLLOW_126);
+            pushFollow(FOLLOW_125);
             rule__Text__Group__0__Impl();
 
             state._fsp--;
@@ -71111,23 +69992,23 @@
 
 
     // $ANTLR start "rule__Text__Group__0__Impl"
-    // InternalReportDSL.g:21345:1: rule__Text__Group__0__Impl : ( () ) ;
+    // InternalReportDSL.g:21055:1: rule__Text__Group__0__Impl : ( () ) ;
     public final void rule__Text__Group__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:21349:1: ( ( () ) )
-            // InternalReportDSL.g:21350:1: ( () )
+            // InternalReportDSL.g:21059:1: ( ( () ) )
+            // InternalReportDSL.g:21060:1: ( () )
             {
-            // InternalReportDSL.g:21350:1: ( () )
-            // InternalReportDSL.g:21351:2: ()
+            // InternalReportDSL.g:21060:1: ( () )
+            // InternalReportDSL.g:21061:2: ()
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getTextAccess().getTextAction_0()); 
             }
-            // InternalReportDSL.g:21352:2: ()
-            // InternalReportDSL.g:21352:3: 
+            // InternalReportDSL.g:21062:2: ()
+            // InternalReportDSL.g:21062:3: 
             {
             }
 
@@ -71152,16 +70033,16 @@
 
 
     // $ANTLR start "rule__Text__Group__1"
-    // InternalReportDSL.g:21360:1: rule__Text__Group__1 : rule__Text__Group__1__Impl rule__Text__Group__2 ;
+    // InternalReportDSL.g:21070:1: rule__Text__Group__1 : rule__Text__Group__1__Impl rule__Text__Group__2 ;
     public final void rule__Text__Group__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:21364:1: ( rule__Text__Group__1__Impl rule__Text__Group__2 )
-            // InternalReportDSL.g:21365:2: rule__Text__Group__1__Impl rule__Text__Group__2
+            // InternalReportDSL.g:21074:1: ( rule__Text__Group__1__Impl rule__Text__Group__2 )
+            // InternalReportDSL.g:21075:2: rule__Text__Group__1__Impl rule__Text__Group__2
             {
-            pushFollow(FOLLOW_127);
+            pushFollow(FOLLOW_126);
             rule__Text__Group__1__Impl();
 
             state._fsp--;
@@ -71190,22 +70071,22 @@
 
 
     // $ANTLR start "rule__Text__Group__1__Impl"
-    // InternalReportDSL.g:21372:1: rule__Text__Group__1__Impl : ( 'text' ) ;
+    // InternalReportDSL.g:21082:1: rule__Text__Group__1__Impl : ( 'text' ) ;
     public final void rule__Text__Group__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:21376:1: ( ( 'text' ) )
-            // InternalReportDSL.g:21377:1: ( 'text' )
+            // InternalReportDSL.g:21086:1: ( ( 'text' ) )
+            // InternalReportDSL.g:21087:1: ( 'text' )
             {
-            // InternalReportDSL.g:21377:1: ( 'text' )
-            // InternalReportDSL.g:21378:2: 'text'
+            // InternalReportDSL.g:21087:1: ( 'text' )
+            // InternalReportDSL.g:21088:2: 'text'
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getTextAccess().getTextKeyword_1()); 
             }
-            match(input,222,FOLLOW_2); if (state.failed) return ;
+            match(input,229,FOLLOW_2); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getTextAccess().getTextKeyword_1()); 
             }
@@ -71231,16 +70112,16 @@
 
 
     // $ANTLR start "rule__Text__Group__2"
-    // InternalReportDSL.g:21387:1: rule__Text__Group__2 : rule__Text__Group__2__Impl rule__Text__Group__3 ;
+    // InternalReportDSL.g:21097:1: rule__Text__Group__2 : rule__Text__Group__2__Impl rule__Text__Group__3 ;
     public final void rule__Text__Group__2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:21391:1: ( rule__Text__Group__2__Impl rule__Text__Group__3 )
-            // InternalReportDSL.g:21392:2: rule__Text__Group__2__Impl rule__Text__Group__3
+            // InternalReportDSL.g:21101:1: ( rule__Text__Group__2__Impl rule__Text__Group__3 )
+            // InternalReportDSL.g:21102:2: rule__Text__Group__2__Impl rule__Text__Group__3
             {
-            pushFollow(FOLLOW_127);
+            pushFollow(FOLLOW_126);
             rule__Text__Group__2__Impl();
 
             state._fsp--;
@@ -71269,31 +70150,31 @@
 
 
     // $ANTLR start "rule__Text__Group__2__Impl"
-    // InternalReportDSL.g:21399:1: rule__Text__Group__2__Impl : ( ( rule__Text__TextContentTypeAssignment_2 )? ) ;
+    // InternalReportDSL.g:21109:1: rule__Text__Group__2__Impl : ( ( rule__Text__TextContentTypeAssignment_2 )? ) ;
     public final void rule__Text__Group__2__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:21403:1: ( ( ( rule__Text__TextContentTypeAssignment_2 )? ) )
-            // InternalReportDSL.g:21404:1: ( ( rule__Text__TextContentTypeAssignment_2 )? )
+            // InternalReportDSL.g:21113:1: ( ( ( rule__Text__TextContentTypeAssignment_2 )? ) )
+            // InternalReportDSL.g:21114:1: ( ( rule__Text__TextContentTypeAssignment_2 )? )
             {
-            // InternalReportDSL.g:21404:1: ( ( rule__Text__TextContentTypeAssignment_2 )? )
-            // InternalReportDSL.g:21405:2: ( rule__Text__TextContentTypeAssignment_2 )?
+            // InternalReportDSL.g:21114:1: ( ( rule__Text__TextContentTypeAssignment_2 )? )
+            // InternalReportDSL.g:21115:2: ( rule__Text__TextContentTypeAssignment_2 )?
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getTextAccess().getTextContentTypeAssignment_2()); 
             }
-            // InternalReportDSL.g:21406:2: ( rule__Text__TextContentTypeAssignment_2 )?
-            int alt162=2;
-            int LA162_0 = input.LA(1);
+            // InternalReportDSL.g:21116:2: ( rule__Text__TextContentTypeAssignment_2 )?
+            int alt144=2;
+            int LA144_0 = input.LA(1);
 
-            if ( (LA162_0==87||LA162_0==96||LA162_0==123) ) {
-                alt162=1;
+            if ( (LA144_0==90||LA144_0==99||LA144_0==129) ) {
+                alt144=1;
             }
-            switch (alt162) {
+            switch (alt144) {
                 case 1 :
-                    // InternalReportDSL.g:21406:3: rule__Text__TextContentTypeAssignment_2
+                    // InternalReportDSL.g:21116:3: rule__Text__TextContentTypeAssignment_2
                     {
                     pushFollow(FOLLOW_2);
                     rule__Text__TextContentTypeAssignment_2();
@@ -71331,16 +70212,16 @@
 
 
     // $ANTLR start "rule__Text__Group__3"
-    // InternalReportDSL.g:21414:1: rule__Text__Group__3 : rule__Text__Group__3__Impl rule__Text__Group__4 ;
+    // InternalReportDSL.g:21124:1: rule__Text__Group__3 : rule__Text__Group__3__Impl rule__Text__Group__4 ;
     public final void rule__Text__Group__3() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:21418:1: ( rule__Text__Group__3__Impl rule__Text__Group__4 )
-            // InternalReportDSL.g:21419:2: rule__Text__Group__3__Impl rule__Text__Group__4
+            // InternalReportDSL.g:21128:1: ( rule__Text__Group__3__Impl rule__Text__Group__4 )
+            // InternalReportDSL.g:21129:2: rule__Text__Group__3__Impl rule__Text__Group__4
             {
-            pushFollow(FOLLOW_88);
+            pushFollow(FOLLOW_108);
             rule__Text__Group__3__Impl();
 
             state._fsp--;
@@ -71369,23 +70250,23 @@
 
 
     // $ANTLR start "rule__Text__Group__3__Impl"
-    // InternalReportDSL.g:21426:1: rule__Text__Group__3__Impl : ( ( rule__Text__TextAssignment_3 ) ) ;
+    // InternalReportDSL.g:21136:1: rule__Text__Group__3__Impl : ( ( rule__Text__TextAssignment_3 ) ) ;
     public final void rule__Text__Group__3__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:21430:1: ( ( ( rule__Text__TextAssignment_3 ) ) )
-            // InternalReportDSL.g:21431:1: ( ( rule__Text__TextAssignment_3 ) )
+            // InternalReportDSL.g:21140:1: ( ( ( rule__Text__TextAssignment_3 ) ) )
+            // InternalReportDSL.g:21141:1: ( ( rule__Text__TextAssignment_3 ) )
             {
-            // InternalReportDSL.g:21431:1: ( ( rule__Text__TextAssignment_3 ) )
-            // InternalReportDSL.g:21432:2: ( rule__Text__TextAssignment_3 )
+            // InternalReportDSL.g:21141:1: ( ( rule__Text__TextAssignment_3 ) )
+            // InternalReportDSL.g:21142:2: ( rule__Text__TextAssignment_3 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getTextAccess().getTextAssignment_3()); 
             }
-            // InternalReportDSL.g:21433:2: ( rule__Text__TextAssignment_3 )
-            // InternalReportDSL.g:21433:3: rule__Text__TextAssignment_3
+            // InternalReportDSL.g:21143:2: ( rule__Text__TextAssignment_3 )
+            // InternalReportDSL.g:21143:3: rule__Text__TextAssignment_3
             {
             pushFollow(FOLLOW_2);
             rule__Text__TextAssignment_3();
@@ -71420,14 +70301,14 @@
 
 
     // $ANTLR start "rule__Text__Group__4"
-    // InternalReportDSL.g:21441:1: rule__Text__Group__4 : rule__Text__Group__4__Impl ;
+    // InternalReportDSL.g:21151:1: rule__Text__Group__4 : rule__Text__Group__4__Impl ;
     public final void rule__Text__Group__4() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:21445:1: ( rule__Text__Group__4__Impl )
-            // InternalReportDSL.g:21446:2: rule__Text__Group__4__Impl
+            // InternalReportDSL.g:21155:1: ( rule__Text__Group__4__Impl )
+            // InternalReportDSL.g:21156:2: rule__Text__Group__4__Impl
             {
             pushFollow(FOLLOW_2);
             rule__Text__Group__4__Impl();
@@ -71453,31 +70334,31 @@
 
 
     // $ANTLR start "rule__Text__Group__4__Impl"
-    // InternalReportDSL.g:21452:1: rule__Text__Group__4__Impl : ( ( rule__Text__Group_4__0 )? ) ;
+    // InternalReportDSL.g:21162:1: rule__Text__Group__4__Impl : ( ( rule__Text__Group_4__0 )? ) ;
     public final void rule__Text__Group__4__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:21456:1: ( ( ( rule__Text__Group_4__0 )? ) )
-            // InternalReportDSL.g:21457:1: ( ( rule__Text__Group_4__0 )? )
+            // InternalReportDSL.g:21166:1: ( ( ( rule__Text__Group_4__0 )? ) )
+            // InternalReportDSL.g:21167:1: ( ( rule__Text__Group_4__0 )? )
             {
-            // InternalReportDSL.g:21457:1: ( ( rule__Text__Group_4__0 )? )
-            // InternalReportDSL.g:21458:2: ( rule__Text__Group_4__0 )?
+            // InternalReportDSL.g:21167:1: ( ( rule__Text__Group_4__0 )? )
+            // InternalReportDSL.g:21168:2: ( rule__Text__Group_4__0 )?
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getTextAccess().getGroup_4()); 
             }
-            // InternalReportDSL.g:21459:2: ( rule__Text__Group_4__0 )?
-            int alt163=2;
-            int LA163_0 = input.LA(1);
+            // InternalReportDSL.g:21169:2: ( rule__Text__Group_4__0 )?
+            int alt145=2;
+            int LA145_0 = input.LA(1);
 
-            if ( (LA163_0==152) ) {
-                alt163=1;
+            if ( (LA145_0==158) ) {
+                alt145=1;
             }
-            switch (alt163) {
+            switch (alt145) {
                 case 1 :
-                    // InternalReportDSL.g:21459:3: rule__Text__Group_4__0
+                    // InternalReportDSL.g:21169:3: rule__Text__Group_4__0
                     {
                     pushFollow(FOLLOW_2);
                     rule__Text__Group_4__0();
@@ -71515,14 +70396,14 @@
 
 
     // $ANTLR start "rule__Text__Group_4__0"
-    // InternalReportDSL.g:21468:1: rule__Text__Group_4__0 : rule__Text__Group_4__0__Impl rule__Text__Group_4__1 ;
+    // InternalReportDSL.g:21178:1: rule__Text__Group_4__0 : rule__Text__Group_4__0__Impl rule__Text__Group_4__1 ;
     public final void rule__Text__Group_4__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:21472:1: ( rule__Text__Group_4__0__Impl rule__Text__Group_4__1 )
-            // InternalReportDSL.g:21473:2: rule__Text__Group_4__0__Impl rule__Text__Group_4__1
+            // InternalReportDSL.g:21182:1: ( rule__Text__Group_4__0__Impl rule__Text__Group_4__1 )
+            // InternalReportDSL.g:21183:2: rule__Text__Group_4__0__Impl rule__Text__Group_4__1
             {
             pushFollow(FOLLOW_7);
             rule__Text__Group_4__0__Impl();
@@ -71553,22 +70434,22 @@
 
 
     // $ANTLR start "rule__Text__Group_4__0__Impl"
-    // InternalReportDSL.g:21480:1: rule__Text__Group_4__0__Impl : ( 'style' ) ;
+    // InternalReportDSL.g:21190:1: rule__Text__Group_4__0__Impl : ( 'style' ) ;
     public final void rule__Text__Group_4__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:21484:1: ( ( 'style' ) )
-            // InternalReportDSL.g:21485:1: ( 'style' )
+            // InternalReportDSL.g:21194:1: ( ( 'style' ) )
+            // InternalReportDSL.g:21195:1: ( 'style' )
             {
-            // InternalReportDSL.g:21485:1: ( 'style' )
-            // InternalReportDSL.g:21486:2: 'style'
+            // InternalReportDSL.g:21195:1: ( 'style' )
+            // InternalReportDSL.g:21196:2: 'style'
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getTextAccess().getStyleKeyword_4_0()); 
             }
-            match(input,152,FOLLOW_2); if (state.failed) return ;
+            match(input,158,FOLLOW_2); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getTextAccess().getStyleKeyword_4_0()); 
             }
@@ -71594,14 +70475,14 @@
 
 
     // $ANTLR start "rule__Text__Group_4__1"
-    // InternalReportDSL.g:21495:1: rule__Text__Group_4__1 : rule__Text__Group_4__1__Impl ;
+    // InternalReportDSL.g:21205:1: rule__Text__Group_4__1 : rule__Text__Group_4__1__Impl ;
     public final void rule__Text__Group_4__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:21499:1: ( rule__Text__Group_4__1__Impl )
-            // InternalReportDSL.g:21500:2: rule__Text__Group_4__1__Impl
+            // InternalReportDSL.g:21209:1: ( rule__Text__Group_4__1__Impl )
+            // InternalReportDSL.g:21210:2: rule__Text__Group_4__1__Impl
             {
             pushFollow(FOLLOW_2);
             rule__Text__Group_4__1__Impl();
@@ -71627,23 +70508,23 @@
 
 
     // $ANTLR start "rule__Text__Group_4__1__Impl"
-    // InternalReportDSL.g:21506:1: rule__Text__Group_4__1__Impl : ( ( rule__Text__StyleAssignment_4_1 ) ) ;
+    // InternalReportDSL.g:21216:1: rule__Text__Group_4__1__Impl : ( ( rule__Text__StyleAssignment_4_1 ) ) ;
     public final void rule__Text__Group_4__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:21510:1: ( ( ( rule__Text__StyleAssignment_4_1 ) ) )
-            // InternalReportDSL.g:21511:1: ( ( rule__Text__StyleAssignment_4_1 ) )
+            // InternalReportDSL.g:21220:1: ( ( ( rule__Text__StyleAssignment_4_1 ) ) )
+            // InternalReportDSL.g:21221:1: ( ( rule__Text__StyleAssignment_4_1 ) )
             {
-            // InternalReportDSL.g:21511:1: ( ( rule__Text__StyleAssignment_4_1 ) )
-            // InternalReportDSL.g:21512:2: ( rule__Text__StyleAssignment_4_1 )
+            // InternalReportDSL.g:21221:1: ( ( rule__Text__StyleAssignment_4_1 ) )
+            // InternalReportDSL.g:21222:2: ( rule__Text__StyleAssignment_4_1 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getTextAccess().getStyleAssignment_4_1()); 
             }
-            // InternalReportDSL.g:21513:2: ( rule__Text__StyleAssignment_4_1 )
-            // InternalReportDSL.g:21513:3: rule__Text__StyleAssignment_4_1
+            // InternalReportDSL.g:21223:2: ( rule__Text__StyleAssignment_4_1 )
+            // InternalReportDSL.g:21223:3: rule__Text__StyleAssignment_4_1
             {
             pushFollow(FOLLOW_2);
             rule__Text__StyleAssignment_4_1();
@@ -71678,16 +70559,16 @@
 
 
     // $ANTLR start "rule__AutoText__Group__0"
-    // InternalReportDSL.g:21522:1: rule__AutoText__Group__0 : rule__AutoText__Group__0__Impl rule__AutoText__Group__1 ;
+    // InternalReportDSL.g:21232:1: rule__AutoText__Group__0 : rule__AutoText__Group__0__Impl rule__AutoText__Group__1 ;
     public final void rule__AutoText__Group__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:21526:1: ( rule__AutoText__Group__0__Impl rule__AutoText__Group__1 )
-            // InternalReportDSL.g:21527:2: rule__AutoText__Group__0__Impl rule__AutoText__Group__1
+            // InternalReportDSL.g:21236:1: ( rule__AutoText__Group__0__Impl rule__AutoText__Group__1 )
+            // InternalReportDSL.g:21237:2: rule__AutoText__Group__0__Impl rule__AutoText__Group__1
             {
-            pushFollow(FOLLOW_128);
+            pushFollow(FOLLOW_127);
             rule__AutoText__Group__0__Impl();
 
             state._fsp--;
@@ -71716,22 +70597,22 @@
 
 
     // $ANTLR start "rule__AutoText__Group__0__Impl"
-    // InternalReportDSL.g:21534:1: rule__AutoText__Group__0__Impl : ( 'autotext' ) ;
+    // InternalReportDSL.g:21244:1: rule__AutoText__Group__0__Impl : ( 'autotext' ) ;
     public final void rule__AutoText__Group__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:21538:1: ( ( 'autotext' ) )
-            // InternalReportDSL.g:21539:1: ( 'autotext' )
+            // InternalReportDSL.g:21248:1: ( ( 'autotext' ) )
+            // InternalReportDSL.g:21249:1: ( 'autotext' )
             {
-            // InternalReportDSL.g:21539:1: ( 'autotext' )
-            // InternalReportDSL.g:21540:2: 'autotext'
+            // InternalReportDSL.g:21249:1: ( 'autotext' )
+            // InternalReportDSL.g:21250:2: 'autotext'
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getAutoTextAccess().getAutotextKeyword_0()); 
             }
-            match(input,223,FOLLOW_2); if (state.failed) return ;
+            match(input,230,FOLLOW_2); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getAutoTextAccess().getAutotextKeyword_0()); 
             }
@@ -71757,16 +70638,16 @@
 
 
     // $ANTLR start "rule__AutoText__Group__1"
-    // InternalReportDSL.g:21549:1: rule__AutoText__Group__1 : rule__AutoText__Group__1__Impl rule__AutoText__Group__2 ;
+    // InternalReportDSL.g:21259:1: rule__AutoText__Group__1 : rule__AutoText__Group__1__Impl rule__AutoText__Group__2 ;
     public final void rule__AutoText__Group__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:21553:1: ( rule__AutoText__Group__1__Impl rule__AutoText__Group__2 )
-            // InternalReportDSL.g:21554:2: rule__AutoText__Group__1__Impl rule__AutoText__Group__2
+            // InternalReportDSL.g:21263:1: ( rule__AutoText__Group__1__Impl rule__AutoText__Group__2 )
+            // InternalReportDSL.g:21264:2: rule__AutoText__Group__1__Impl rule__AutoText__Group__2
             {
-            pushFollow(FOLLOW_88);
+            pushFollow(FOLLOW_108);
             rule__AutoText__Group__1__Impl();
 
             state._fsp--;
@@ -71795,23 +70676,23 @@
 
 
     // $ANTLR start "rule__AutoText__Group__1__Impl"
-    // InternalReportDSL.g:21561:1: rule__AutoText__Group__1__Impl : ( ( rule__AutoText__TypeAssignment_1 ) ) ;
+    // InternalReportDSL.g:21271:1: rule__AutoText__Group__1__Impl : ( ( rule__AutoText__TypeAssignment_1 ) ) ;
     public final void rule__AutoText__Group__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:21565:1: ( ( ( rule__AutoText__TypeAssignment_1 ) ) )
-            // InternalReportDSL.g:21566:1: ( ( rule__AutoText__TypeAssignment_1 ) )
+            // InternalReportDSL.g:21275:1: ( ( ( rule__AutoText__TypeAssignment_1 ) ) )
+            // InternalReportDSL.g:21276:1: ( ( rule__AutoText__TypeAssignment_1 ) )
             {
-            // InternalReportDSL.g:21566:1: ( ( rule__AutoText__TypeAssignment_1 ) )
-            // InternalReportDSL.g:21567:2: ( rule__AutoText__TypeAssignment_1 )
+            // InternalReportDSL.g:21276:1: ( ( rule__AutoText__TypeAssignment_1 ) )
+            // InternalReportDSL.g:21277:2: ( rule__AutoText__TypeAssignment_1 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getAutoTextAccess().getTypeAssignment_1()); 
             }
-            // InternalReportDSL.g:21568:2: ( rule__AutoText__TypeAssignment_1 )
-            // InternalReportDSL.g:21568:3: rule__AutoText__TypeAssignment_1
+            // InternalReportDSL.g:21278:2: ( rule__AutoText__TypeAssignment_1 )
+            // InternalReportDSL.g:21278:3: rule__AutoText__TypeAssignment_1
             {
             pushFollow(FOLLOW_2);
             rule__AutoText__TypeAssignment_1();
@@ -71846,14 +70727,14 @@
 
 
     // $ANTLR start "rule__AutoText__Group__2"
-    // InternalReportDSL.g:21576:1: rule__AutoText__Group__2 : rule__AutoText__Group__2__Impl ;
+    // InternalReportDSL.g:21286:1: rule__AutoText__Group__2 : rule__AutoText__Group__2__Impl ;
     public final void rule__AutoText__Group__2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:21580:1: ( rule__AutoText__Group__2__Impl )
-            // InternalReportDSL.g:21581:2: rule__AutoText__Group__2__Impl
+            // InternalReportDSL.g:21290:1: ( rule__AutoText__Group__2__Impl )
+            // InternalReportDSL.g:21291:2: rule__AutoText__Group__2__Impl
             {
             pushFollow(FOLLOW_2);
             rule__AutoText__Group__2__Impl();
@@ -71879,31 +70760,31 @@
 
 
     // $ANTLR start "rule__AutoText__Group__2__Impl"
-    // InternalReportDSL.g:21587:1: rule__AutoText__Group__2__Impl : ( ( rule__AutoText__Group_2__0 )? ) ;
+    // InternalReportDSL.g:21297:1: rule__AutoText__Group__2__Impl : ( ( rule__AutoText__Group_2__0 )? ) ;
     public final void rule__AutoText__Group__2__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:21591:1: ( ( ( rule__AutoText__Group_2__0 )? ) )
-            // InternalReportDSL.g:21592:1: ( ( rule__AutoText__Group_2__0 )? )
+            // InternalReportDSL.g:21301:1: ( ( ( rule__AutoText__Group_2__0 )? ) )
+            // InternalReportDSL.g:21302:1: ( ( rule__AutoText__Group_2__0 )? )
             {
-            // InternalReportDSL.g:21592:1: ( ( rule__AutoText__Group_2__0 )? )
-            // InternalReportDSL.g:21593:2: ( rule__AutoText__Group_2__0 )?
+            // InternalReportDSL.g:21302:1: ( ( rule__AutoText__Group_2__0 )? )
+            // InternalReportDSL.g:21303:2: ( rule__AutoText__Group_2__0 )?
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getAutoTextAccess().getGroup_2()); 
             }
-            // InternalReportDSL.g:21594:2: ( rule__AutoText__Group_2__0 )?
-            int alt164=2;
-            int LA164_0 = input.LA(1);
+            // InternalReportDSL.g:21304:2: ( rule__AutoText__Group_2__0 )?
+            int alt146=2;
+            int LA146_0 = input.LA(1);
 
-            if ( (LA164_0==152) ) {
-                alt164=1;
+            if ( (LA146_0==158) ) {
+                alt146=1;
             }
-            switch (alt164) {
+            switch (alt146) {
                 case 1 :
-                    // InternalReportDSL.g:21594:3: rule__AutoText__Group_2__0
+                    // InternalReportDSL.g:21304:3: rule__AutoText__Group_2__0
                     {
                     pushFollow(FOLLOW_2);
                     rule__AutoText__Group_2__0();
@@ -71941,14 +70822,14 @@
 
 
     // $ANTLR start "rule__AutoText__Group_2__0"
-    // InternalReportDSL.g:21603:1: rule__AutoText__Group_2__0 : rule__AutoText__Group_2__0__Impl rule__AutoText__Group_2__1 ;
+    // InternalReportDSL.g:21313:1: rule__AutoText__Group_2__0 : rule__AutoText__Group_2__0__Impl rule__AutoText__Group_2__1 ;
     public final void rule__AutoText__Group_2__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:21607:1: ( rule__AutoText__Group_2__0__Impl rule__AutoText__Group_2__1 )
-            // InternalReportDSL.g:21608:2: rule__AutoText__Group_2__0__Impl rule__AutoText__Group_2__1
+            // InternalReportDSL.g:21317:1: ( rule__AutoText__Group_2__0__Impl rule__AutoText__Group_2__1 )
+            // InternalReportDSL.g:21318:2: rule__AutoText__Group_2__0__Impl rule__AutoText__Group_2__1
             {
             pushFollow(FOLLOW_7);
             rule__AutoText__Group_2__0__Impl();
@@ -71979,22 +70860,22 @@
 
 
     // $ANTLR start "rule__AutoText__Group_2__0__Impl"
-    // InternalReportDSL.g:21615:1: rule__AutoText__Group_2__0__Impl : ( 'style' ) ;
+    // InternalReportDSL.g:21325:1: rule__AutoText__Group_2__0__Impl : ( 'style' ) ;
     public final void rule__AutoText__Group_2__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:21619:1: ( ( 'style' ) )
-            // InternalReportDSL.g:21620:1: ( 'style' )
+            // InternalReportDSL.g:21329:1: ( ( 'style' ) )
+            // InternalReportDSL.g:21330:1: ( 'style' )
             {
-            // InternalReportDSL.g:21620:1: ( 'style' )
-            // InternalReportDSL.g:21621:2: 'style'
+            // InternalReportDSL.g:21330:1: ( 'style' )
+            // InternalReportDSL.g:21331:2: 'style'
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getAutoTextAccess().getStyleKeyword_2_0()); 
             }
-            match(input,152,FOLLOW_2); if (state.failed) return ;
+            match(input,158,FOLLOW_2); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getAutoTextAccess().getStyleKeyword_2_0()); 
             }
@@ -72020,14 +70901,14 @@
 
 
     // $ANTLR start "rule__AutoText__Group_2__1"
-    // InternalReportDSL.g:21630:1: rule__AutoText__Group_2__1 : rule__AutoText__Group_2__1__Impl ;
+    // InternalReportDSL.g:21340:1: rule__AutoText__Group_2__1 : rule__AutoText__Group_2__1__Impl ;
     public final void rule__AutoText__Group_2__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:21634:1: ( rule__AutoText__Group_2__1__Impl )
-            // InternalReportDSL.g:21635:2: rule__AutoText__Group_2__1__Impl
+            // InternalReportDSL.g:21344:1: ( rule__AutoText__Group_2__1__Impl )
+            // InternalReportDSL.g:21345:2: rule__AutoText__Group_2__1__Impl
             {
             pushFollow(FOLLOW_2);
             rule__AutoText__Group_2__1__Impl();
@@ -72053,23 +70934,23 @@
 
 
     // $ANTLR start "rule__AutoText__Group_2__1__Impl"
-    // InternalReportDSL.g:21641:1: rule__AutoText__Group_2__1__Impl : ( ( rule__AutoText__StyleAssignment_2_1 ) ) ;
+    // InternalReportDSL.g:21351:1: rule__AutoText__Group_2__1__Impl : ( ( rule__AutoText__StyleAssignment_2_1 ) ) ;
     public final void rule__AutoText__Group_2__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:21645:1: ( ( ( rule__AutoText__StyleAssignment_2_1 ) ) )
-            // InternalReportDSL.g:21646:1: ( ( rule__AutoText__StyleAssignment_2_1 ) )
+            // InternalReportDSL.g:21355:1: ( ( ( rule__AutoText__StyleAssignment_2_1 ) ) )
+            // InternalReportDSL.g:21356:1: ( ( rule__AutoText__StyleAssignment_2_1 ) )
             {
-            // InternalReportDSL.g:21646:1: ( ( rule__AutoText__StyleAssignment_2_1 ) )
-            // InternalReportDSL.g:21647:2: ( rule__AutoText__StyleAssignment_2_1 )
+            // InternalReportDSL.g:21356:1: ( ( rule__AutoText__StyleAssignment_2_1 ) )
+            // InternalReportDSL.g:21357:2: ( rule__AutoText__StyleAssignment_2_1 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getAutoTextAccess().getStyleAssignment_2_1()); 
             }
-            // InternalReportDSL.g:21648:2: ( rule__AutoText__StyleAssignment_2_1 )
-            // InternalReportDSL.g:21648:3: rule__AutoText__StyleAssignment_2_1
+            // InternalReportDSL.g:21358:2: ( rule__AutoText__StyleAssignment_2_1 )
+            // InternalReportDSL.g:21358:3: rule__AutoText__StyleAssignment_2_1
             {
             pushFollow(FOLLOW_2);
             rule__AutoText__StyleAssignment_2_1();
@@ -72104,16 +70985,16 @@
 
 
     // $ANTLR start "rule__Image__Group__0"
-    // InternalReportDSL.g:21657:1: rule__Image__Group__0 : rule__Image__Group__0__Impl rule__Image__Group__1 ;
+    // InternalReportDSL.g:21367:1: rule__Image__Group__0 : rule__Image__Group__0__Impl rule__Image__Group__1 ;
     public final void rule__Image__Group__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:21661:1: ( rule__Image__Group__0__Impl rule__Image__Group__1 )
-            // InternalReportDSL.g:21662:2: rule__Image__Group__0__Impl rule__Image__Group__1
+            // InternalReportDSL.g:21371:1: ( rule__Image__Group__0__Impl rule__Image__Group__1 )
+            // InternalReportDSL.g:21372:2: rule__Image__Group__0__Impl rule__Image__Group__1
             {
-            pushFollow(FOLLOW_129);
+            pushFollow(FOLLOW_128);
             rule__Image__Group__0__Impl();
 
             state._fsp--;
@@ -72142,22 +71023,22 @@
 
 
     // $ANTLR start "rule__Image__Group__0__Impl"
-    // InternalReportDSL.g:21669:1: rule__Image__Group__0__Impl : ( 'image' ) ;
+    // InternalReportDSL.g:21379:1: rule__Image__Group__0__Impl : ( 'image' ) ;
     public final void rule__Image__Group__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:21673:1: ( ( 'image' ) )
-            // InternalReportDSL.g:21674:1: ( 'image' )
+            // InternalReportDSL.g:21383:1: ( ( 'image' ) )
+            // InternalReportDSL.g:21384:1: ( 'image' )
             {
-            // InternalReportDSL.g:21674:1: ( 'image' )
-            // InternalReportDSL.g:21675:2: 'image'
+            // InternalReportDSL.g:21384:1: ( 'image' )
+            // InternalReportDSL.g:21385:2: 'image'
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getImageAccess().getImageKeyword_0()); 
             }
-            match(input,224,FOLLOW_2); if (state.failed) return ;
+            match(input,231,FOLLOW_2); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getImageAccess().getImageKeyword_0()); 
             }
@@ -72183,16 +71064,16 @@
 
 
     // $ANTLR start "rule__Image__Group__1"
-    // InternalReportDSL.g:21684:1: rule__Image__Group__1 : rule__Image__Group__1__Impl rule__Image__Group__2 ;
+    // InternalReportDSL.g:21394:1: rule__Image__Group__1 : rule__Image__Group__1__Impl rule__Image__Group__2 ;
     public final void rule__Image__Group__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:21688:1: ( rule__Image__Group__1__Impl rule__Image__Group__2 )
-            // InternalReportDSL.g:21689:2: rule__Image__Group__1__Impl rule__Image__Group__2
+            // InternalReportDSL.g:21398:1: ( rule__Image__Group__1__Impl rule__Image__Group__2 )
+            // InternalReportDSL.g:21399:2: rule__Image__Group__1__Impl rule__Image__Group__2
             {
-            pushFollow(FOLLOW_129);
+            pushFollow(FOLLOW_128);
             rule__Image__Group__1__Impl();
 
             state._fsp--;
@@ -72221,31 +71102,31 @@
 
 
     // $ANTLR start "rule__Image__Group__1__Impl"
-    // InternalReportDSL.g:21696:1: rule__Image__Group__1__Impl : ( ( rule__Image__SizeAssignment_1 )? ) ;
+    // InternalReportDSL.g:21406:1: rule__Image__Group__1__Impl : ( ( rule__Image__SizeAssignment_1 )? ) ;
     public final void rule__Image__Group__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:21700:1: ( ( ( rule__Image__SizeAssignment_1 )? ) )
-            // InternalReportDSL.g:21701:1: ( ( rule__Image__SizeAssignment_1 )? )
+            // InternalReportDSL.g:21410:1: ( ( ( rule__Image__SizeAssignment_1 )? ) )
+            // InternalReportDSL.g:21411:1: ( ( rule__Image__SizeAssignment_1 )? )
             {
-            // InternalReportDSL.g:21701:1: ( ( rule__Image__SizeAssignment_1 )? )
-            // InternalReportDSL.g:21702:2: ( rule__Image__SizeAssignment_1 )?
+            // InternalReportDSL.g:21411:1: ( ( rule__Image__SizeAssignment_1 )? )
+            // InternalReportDSL.g:21412:2: ( rule__Image__SizeAssignment_1 )?
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getImageAccess().getSizeAssignment_1()); 
             }
-            // InternalReportDSL.g:21703:2: ( rule__Image__SizeAssignment_1 )?
-            int alt165=2;
-            int LA165_0 = input.LA(1);
+            // InternalReportDSL.g:21413:2: ( rule__Image__SizeAssignment_1 )?
+            int alt147=2;
+            int LA147_0 = input.LA(1);
 
-            if ( ((LA165_0>=118 && LA165_0<=120)) ) {
-                alt165=1;
+            if ( ((LA147_0>=124 && LA147_0<=126)) ) {
+                alt147=1;
             }
-            switch (alt165) {
+            switch (alt147) {
                 case 1 :
-                    // InternalReportDSL.g:21703:3: rule__Image__SizeAssignment_1
+                    // InternalReportDSL.g:21413:3: rule__Image__SizeAssignment_1
                     {
                     pushFollow(FOLLOW_2);
                     rule__Image__SizeAssignment_1();
@@ -72283,16 +71164,16 @@
 
 
     // $ANTLR start "rule__Image__Group__2"
-    // InternalReportDSL.g:21711:1: rule__Image__Group__2 : rule__Image__Group__2__Impl rule__Image__Group__3 ;
+    // InternalReportDSL.g:21421:1: rule__Image__Group__2 : rule__Image__Group__2__Impl rule__Image__Group__3 ;
     public final void rule__Image__Group__2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:21715:1: ( rule__Image__Group__2__Impl rule__Image__Group__3 )
-            // InternalReportDSL.g:21716:2: rule__Image__Group__2__Impl rule__Image__Group__3
+            // InternalReportDSL.g:21425:1: ( rule__Image__Group__2__Impl rule__Image__Group__3 )
+            // InternalReportDSL.g:21426:2: rule__Image__Group__2__Impl rule__Image__Group__3
             {
-            pushFollow(FOLLOW_129);
+            pushFollow(FOLLOW_128);
             rule__Image__Group__2__Impl();
 
             state._fsp--;
@@ -72321,31 +71202,31 @@
 
 
     // $ANTLR start "rule__Image__Group__2__Impl"
-    // InternalReportDSL.g:21723:1: rule__Image__Group__2__Impl : ( ( rule__Image__Group_2__0 )? ) ;
+    // InternalReportDSL.g:21433:1: rule__Image__Group__2__Impl : ( ( rule__Image__Group_2__0 )? ) ;
     public final void rule__Image__Group__2__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:21727:1: ( ( ( rule__Image__Group_2__0 )? ) )
-            // InternalReportDSL.g:21728:1: ( ( rule__Image__Group_2__0 )? )
+            // InternalReportDSL.g:21437:1: ( ( ( rule__Image__Group_2__0 )? ) )
+            // InternalReportDSL.g:21438:1: ( ( rule__Image__Group_2__0 )? )
             {
-            // InternalReportDSL.g:21728:1: ( ( rule__Image__Group_2__0 )? )
-            // InternalReportDSL.g:21729:2: ( rule__Image__Group_2__0 )?
+            // InternalReportDSL.g:21438:1: ( ( rule__Image__Group_2__0 )? )
+            // InternalReportDSL.g:21439:2: ( rule__Image__Group_2__0 )?
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getImageAccess().getGroup_2()); 
             }
-            // InternalReportDSL.g:21730:2: ( rule__Image__Group_2__0 )?
-            int alt166=2;
-            int LA166_0 = input.LA(1);
+            // InternalReportDSL.g:21440:2: ( rule__Image__Group_2__0 )?
+            int alt148=2;
+            int LA148_0 = input.LA(1);
 
-            if ( (LA166_0==225) ) {
-                alt166=1;
+            if ( (LA148_0==232) ) {
+                alt148=1;
             }
-            switch (alt166) {
+            switch (alt148) {
                 case 1 :
-                    // InternalReportDSL.g:21730:3: rule__Image__Group_2__0
+                    // InternalReportDSL.g:21440:3: rule__Image__Group_2__0
                     {
                     pushFollow(FOLLOW_2);
                     rule__Image__Group_2__0();
@@ -72383,16 +71264,16 @@
 
 
     // $ANTLR start "rule__Image__Group__3"
-    // InternalReportDSL.g:21738:1: rule__Image__Group__3 : rule__Image__Group__3__Impl rule__Image__Group__4 ;
+    // InternalReportDSL.g:21448:1: rule__Image__Group__3 : rule__Image__Group__3__Impl rule__Image__Group__4 ;
     public final void rule__Image__Group__3() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:21742:1: ( rule__Image__Group__3__Impl rule__Image__Group__4 )
-            // InternalReportDSL.g:21743:2: rule__Image__Group__3__Impl rule__Image__Group__4
+            // InternalReportDSL.g:21452:1: ( rule__Image__Group__3__Impl rule__Image__Group__4 )
+            // InternalReportDSL.g:21453:2: rule__Image__Group__3__Impl rule__Image__Group__4
             {
-            pushFollow(FOLLOW_129);
+            pushFollow(FOLLOW_128);
             rule__Image__Group__3__Impl();
 
             state._fsp--;
@@ -72421,31 +71302,31 @@
 
 
     // $ANTLR start "rule__Image__Group__3__Impl"
-    // InternalReportDSL.g:21750:1: rule__Image__Group__3__Impl : ( ( rule__Image__Group_3__0 )? ) ;
+    // InternalReportDSL.g:21460:1: rule__Image__Group__3__Impl : ( ( rule__Image__Group_3__0 )? ) ;
     public final void rule__Image__Group__3__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:21754:1: ( ( ( rule__Image__Group_3__0 )? ) )
-            // InternalReportDSL.g:21755:1: ( ( rule__Image__Group_3__0 )? )
+            // InternalReportDSL.g:21464:1: ( ( ( rule__Image__Group_3__0 )? ) )
+            // InternalReportDSL.g:21465:1: ( ( rule__Image__Group_3__0 )? )
             {
-            // InternalReportDSL.g:21755:1: ( ( rule__Image__Group_3__0 )? )
-            // InternalReportDSL.g:21756:2: ( rule__Image__Group_3__0 )?
+            // InternalReportDSL.g:21465:1: ( ( rule__Image__Group_3__0 )? )
+            // InternalReportDSL.g:21466:2: ( rule__Image__Group_3__0 )?
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getImageAccess().getGroup_3()); 
             }
-            // InternalReportDSL.g:21757:2: ( rule__Image__Group_3__0 )?
-            int alt167=2;
-            int LA167_0 = input.LA(1);
+            // InternalReportDSL.g:21467:2: ( rule__Image__Group_3__0 )?
+            int alt149=2;
+            int LA149_0 = input.LA(1);
 
-            if ( (LA167_0==185) ) {
-                alt167=1;
+            if ( (LA149_0==192) ) {
+                alt149=1;
             }
-            switch (alt167) {
+            switch (alt149) {
                 case 1 :
-                    // InternalReportDSL.g:21757:3: rule__Image__Group_3__0
+                    // InternalReportDSL.g:21467:3: rule__Image__Group_3__0
                     {
                     pushFollow(FOLLOW_2);
                     rule__Image__Group_3__0();
@@ -72483,16 +71364,16 @@
 
 
     // $ANTLR start "rule__Image__Group__4"
-    // InternalReportDSL.g:21765:1: rule__Image__Group__4 : rule__Image__Group__4__Impl rule__Image__Group__5 ;
+    // InternalReportDSL.g:21475:1: rule__Image__Group__4 : rule__Image__Group__4__Impl rule__Image__Group__5 ;
     public final void rule__Image__Group__4() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:21769:1: ( rule__Image__Group__4__Impl rule__Image__Group__5 )
-            // InternalReportDSL.g:21770:2: rule__Image__Group__4__Impl rule__Image__Group__5
+            // InternalReportDSL.g:21479:1: ( rule__Image__Group__4__Impl rule__Image__Group__5 )
+            // InternalReportDSL.g:21480:2: rule__Image__Group__4__Impl rule__Image__Group__5
             {
-            pushFollow(FOLLOW_129);
+            pushFollow(FOLLOW_128);
             rule__Image__Group__4__Impl();
 
             state._fsp--;
@@ -72521,31 +71402,31 @@
 
 
     // $ANTLR start "rule__Image__Group__4__Impl"
-    // InternalReportDSL.g:21777:1: rule__Image__Group__4__Impl : ( ( rule__Image__Group_4__0 )? ) ;
+    // InternalReportDSL.g:21487:1: rule__Image__Group__4__Impl : ( ( rule__Image__Group_4__0 )? ) ;
     public final void rule__Image__Group__4__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:21781:1: ( ( ( rule__Image__Group_4__0 )? ) )
-            // InternalReportDSL.g:21782:1: ( ( rule__Image__Group_4__0 )? )
+            // InternalReportDSL.g:21491:1: ( ( ( rule__Image__Group_4__0 )? ) )
+            // InternalReportDSL.g:21492:1: ( ( rule__Image__Group_4__0 )? )
             {
-            // InternalReportDSL.g:21782:1: ( ( rule__Image__Group_4__0 )? )
-            // InternalReportDSL.g:21783:2: ( rule__Image__Group_4__0 )?
+            // InternalReportDSL.g:21492:1: ( ( rule__Image__Group_4__0 )? )
+            // InternalReportDSL.g:21493:2: ( rule__Image__Group_4__0 )?
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getImageAccess().getGroup_4()); 
             }
-            // InternalReportDSL.g:21784:2: ( rule__Image__Group_4__0 )?
-            int alt168=2;
-            int LA168_0 = input.LA(1);
+            // InternalReportDSL.g:21494:2: ( rule__Image__Group_4__0 )?
+            int alt150=2;
+            int LA150_0 = input.LA(1);
 
-            if ( (LA168_0==190) ) {
-                alt168=1;
+            if ( (LA150_0==197) ) {
+                alt150=1;
             }
-            switch (alt168) {
+            switch (alt150) {
                 case 1 :
-                    // InternalReportDSL.g:21784:3: rule__Image__Group_4__0
+                    // InternalReportDSL.g:21494:3: rule__Image__Group_4__0
                     {
                     pushFollow(FOLLOW_2);
                     rule__Image__Group_4__0();
@@ -72583,14 +71464,14 @@
 
 
     // $ANTLR start "rule__Image__Group__5"
-    // InternalReportDSL.g:21792:1: rule__Image__Group__5 : rule__Image__Group__5__Impl rule__Image__Group__6 ;
+    // InternalReportDSL.g:21502:1: rule__Image__Group__5 : rule__Image__Group__5__Impl rule__Image__Group__6 ;
     public final void rule__Image__Group__5() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:21796:1: ( rule__Image__Group__5__Impl rule__Image__Group__6 )
-            // InternalReportDSL.g:21797:2: rule__Image__Group__5__Impl rule__Image__Group__6
+            // InternalReportDSL.g:21506:1: ( rule__Image__Group__5__Impl rule__Image__Group__6 )
+            // InternalReportDSL.g:21507:2: rule__Image__Group__5__Impl rule__Image__Group__6
             {
             pushFollow(FOLLOW_18);
             rule__Image__Group__5__Impl();
@@ -72621,23 +71502,23 @@
 
 
     // $ANTLR start "rule__Image__Group__5__Impl"
-    // InternalReportDSL.g:21804:1: rule__Image__Group__5__Impl : ( ( rule__Image__SourceTypeAssignment_5 ) ) ;
+    // InternalReportDSL.g:21514:1: rule__Image__Group__5__Impl : ( ( rule__Image__SourceTypeAssignment_5 ) ) ;
     public final void rule__Image__Group__5__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:21808:1: ( ( ( rule__Image__SourceTypeAssignment_5 ) ) )
-            // InternalReportDSL.g:21809:1: ( ( rule__Image__SourceTypeAssignment_5 ) )
+            // InternalReportDSL.g:21518:1: ( ( ( rule__Image__SourceTypeAssignment_5 ) ) )
+            // InternalReportDSL.g:21519:1: ( ( rule__Image__SourceTypeAssignment_5 ) )
             {
-            // InternalReportDSL.g:21809:1: ( ( rule__Image__SourceTypeAssignment_5 ) )
-            // InternalReportDSL.g:21810:2: ( rule__Image__SourceTypeAssignment_5 )
+            // InternalReportDSL.g:21519:1: ( ( rule__Image__SourceTypeAssignment_5 ) )
+            // InternalReportDSL.g:21520:2: ( rule__Image__SourceTypeAssignment_5 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getImageAccess().getSourceTypeAssignment_5()); 
             }
-            // InternalReportDSL.g:21811:2: ( rule__Image__SourceTypeAssignment_5 )
-            // InternalReportDSL.g:21811:3: rule__Image__SourceTypeAssignment_5
+            // InternalReportDSL.g:21521:2: ( rule__Image__SourceTypeAssignment_5 )
+            // InternalReportDSL.g:21521:3: rule__Image__SourceTypeAssignment_5
             {
             pushFollow(FOLLOW_2);
             rule__Image__SourceTypeAssignment_5();
@@ -72672,14 +71553,14 @@
 
 
     // $ANTLR start "rule__Image__Group__6"
-    // InternalReportDSL.g:21819:1: rule__Image__Group__6 : rule__Image__Group__6__Impl ;
+    // InternalReportDSL.g:21529:1: rule__Image__Group__6 : rule__Image__Group__6__Impl ;
     public final void rule__Image__Group__6() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:21823:1: ( rule__Image__Group__6__Impl )
-            // InternalReportDSL.g:21824:2: rule__Image__Group__6__Impl
+            // InternalReportDSL.g:21533:1: ( rule__Image__Group__6__Impl )
+            // InternalReportDSL.g:21534:2: rule__Image__Group__6__Impl
             {
             pushFollow(FOLLOW_2);
             rule__Image__Group__6__Impl();
@@ -72705,23 +71586,23 @@
 
 
     // $ANTLR start "rule__Image__Group__6__Impl"
-    // InternalReportDSL.g:21830:1: rule__Image__Group__6__Impl : ( ( rule__Image__FilenameAssignment_6 ) ) ;
+    // InternalReportDSL.g:21540:1: rule__Image__Group__6__Impl : ( ( rule__Image__FilenameAssignment_6 ) ) ;
     public final void rule__Image__Group__6__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:21834:1: ( ( ( rule__Image__FilenameAssignment_6 ) ) )
-            // InternalReportDSL.g:21835:1: ( ( rule__Image__FilenameAssignment_6 ) )
+            // InternalReportDSL.g:21544:1: ( ( ( rule__Image__FilenameAssignment_6 ) ) )
+            // InternalReportDSL.g:21545:1: ( ( rule__Image__FilenameAssignment_6 ) )
             {
-            // InternalReportDSL.g:21835:1: ( ( rule__Image__FilenameAssignment_6 ) )
-            // InternalReportDSL.g:21836:2: ( rule__Image__FilenameAssignment_6 )
+            // InternalReportDSL.g:21545:1: ( ( rule__Image__FilenameAssignment_6 ) )
+            // InternalReportDSL.g:21546:2: ( rule__Image__FilenameAssignment_6 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getImageAccess().getFilenameAssignment_6()); 
             }
-            // InternalReportDSL.g:21837:2: ( rule__Image__FilenameAssignment_6 )
-            // InternalReportDSL.g:21837:3: rule__Image__FilenameAssignment_6
+            // InternalReportDSL.g:21547:2: ( rule__Image__FilenameAssignment_6 )
+            // InternalReportDSL.g:21547:3: rule__Image__FilenameAssignment_6
             {
             pushFollow(FOLLOW_2);
             rule__Image__FilenameAssignment_6();
@@ -72756,14 +71637,14 @@
 
 
     // $ANTLR start "rule__Image__Group_2__0"
-    // InternalReportDSL.g:21846:1: rule__Image__Group_2__0 : rule__Image__Group_2__0__Impl rule__Image__Group_2__1 ;
+    // InternalReportDSL.g:21556:1: rule__Image__Group_2__0 : rule__Image__Group_2__0__Impl rule__Image__Group_2__1 ;
     public final void rule__Image__Group_2__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:21850:1: ( rule__Image__Group_2__0__Impl rule__Image__Group_2__1 )
-            // InternalReportDSL.g:21851:2: rule__Image__Group_2__0__Impl rule__Image__Group_2__1
+            // InternalReportDSL.g:21560:1: ( rule__Image__Group_2__0__Impl rule__Image__Group_2__1 )
+            // InternalReportDSL.g:21561:2: rule__Image__Group_2__0__Impl rule__Image__Group_2__1
             {
             pushFollow(FOLLOW_36);
             rule__Image__Group_2__0__Impl();
@@ -72794,22 +71675,22 @@
 
 
     // $ANTLR start "rule__Image__Group_2__0__Impl"
-    // InternalReportDSL.g:21858:1: rule__Image__Group_2__0__Impl : ( 'scale' ) ;
+    // InternalReportDSL.g:21568:1: rule__Image__Group_2__0__Impl : ( 'scale' ) ;
     public final void rule__Image__Group_2__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:21862:1: ( ( 'scale' ) )
-            // InternalReportDSL.g:21863:1: ( 'scale' )
+            // InternalReportDSL.g:21572:1: ( ( 'scale' ) )
+            // InternalReportDSL.g:21573:1: ( 'scale' )
             {
-            // InternalReportDSL.g:21863:1: ( 'scale' )
-            // InternalReportDSL.g:21864:2: 'scale'
+            // InternalReportDSL.g:21573:1: ( 'scale' )
+            // InternalReportDSL.g:21574:2: 'scale'
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getImageAccess().getScaleKeyword_2_0()); 
             }
-            match(input,225,FOLLOW_2); if (state.failed) return ;
+            match(input,232,FOLLOW_2); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getImageAccess().getScaleKeyword_2_0()); 
             }
@@ -72835,14 +71716,14 @@
 
 
     // $ANTLR start "rule__Image__Group_2__1"
-    // InternalReportDSL.g:21873:1: rule__Image__Group_2__1 : rule__Image__Group_2__1__Impl ;
+    // InternalReportDSL.g:21583:1: rule__Image__Group_2__1 : rule__Image__Group_2__1__Impl ;
     public final void rule__Image__Group_2__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:21877:1: ( rule__Image__Group_2__1__Impl )
-            // InternalReportDSL.g:21878:2: rule__Image__Group_2__1__Impl
+            // InternalReportDSL.g:21587:1: ( rule__Image__Group_2__1__Impl )
+            // InternalReportDSL.g:21588:2: rule__Image__Group_2__1__Impl
             {
             pushFollow(FOLLOW_2);
             rule__Image__Group_2__1__Impl();
@@ -72868,23 +71749,23 @@
 
 
     // $ANTLR start "rule__Image__Group_2__1__Impl"
-    // InternalReportDSL.g:21884:1: rule__Image__Group_2__1__Impl : ( ( rule__Image__ScaleAssignment_2_1 ) ) ;
+    // InternalReportDSL.g:21594:1: rule__Image__Group_2__1__Impl : ( ( rule__Image__ScaleAssignment_2_1 ) ) ;
     public final void rule__Image__Group_2__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:21888:1: ( ( ( rule__Image__ScaleAssignment_2_1 ) ) )
-            // InternalReportDSL.g:21889:1: ( ( rule__Image__ScaleAssignment_2_1 ) )
+            // InternalReportDSL.g:21598:1: ( ( ( rule__Image__ScaleAssignment_2_1 ) ) )
+            // InternalReportDSL.g:21599:1: ( ( rule__Image__ScaleAssignment_2_1 ) )
             {
-            // InternalReportDSL.g:21889:1: ( ( rule__Image__ScaleAssignment_2_1 ) )
-            // InternalReportDSL.g:21890:2: ( rule__Image__ScaleAssignment_2_1 )
+            // InternalReportDSL.g:21599:1: ( ( rule__Image__ScaleAssignment_2_1 ) )
+            // InternalReportDSL.g:21600:2: ( rule__Image__ScaleAssignment_2_1 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getImageAccess().getScaleAssignment_2_1()); 
             }
-            // InternalReportDSL.g:21891:2: ( rule__Image__ScaleAssignment_2_1 )
-            // InternalReportDSL.g:21891:3: rule__Image__ScaleAssignment_2_1
+            // InternalReportDSL.g:21601:2: ( rule__Image__ScaleAssignment_2_1 )
+            // InternalReportDSL.g:21601:3: rule__Image__ScaleAssignment_2_1
             {
             pushFollow(FOLLOW_2);
             rule__Image__ScaleAssignment_2_1();
@@ -72919,14 +71800,14 @@
 
 
     // $ANTLR start "rule__Image__Group_3__0"
-    // InternalReportDSL.g:21900:1: rule__Image__Group_3__0 : rule__Image__Group_3__0__Impl rule__Image__Group_3__1 ;
+    // InternalReportDSL.g:21610:1: rule__Image__Group_3__0 : rule__Image__Group_3__0__Impl rule__Image__Group_3__1 ;
     public final void rule__Image__Group_3__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:21904:1: ( rule__Image__Group_3__0__Impl rule__Image__Group_3__1 )
-            // InternalReportDSL.g:21905:2: rule__Image__Group_3__0__Impl rule__Image__Group_3__1
+            // InternalReportDSL.g:21614:1: ( rule__Image__Group_3__0__Impl rule__Image__Group_3__1 )
+            // InternalReportDSL.g:21615:2: rule__Image__Group_3__0__Impl rule__Image__Group_3__1
             {
             pushFollow(FOLLOW_36);
             rule__Image__Group_3__0__Impl();
@@ -72957,22 +71838,22 @@
 
 
     // $ANTLR start "rule__Image__Group_3__0__Impl"
-    // InternalReportDSL.g:21912:1: rule__Image__Group_3__0__Impl : ( 'height' ) ;
+    // InternalReportDSL.g:21622:1: rule__Image__Group_3__0__Impl : ( 'height' ) ;
     public final void rule__Image__Group_3__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:21916:1: ( ( 'height' ) )
-            // InternalReportDSL.g:21917:1: ( 'height' )
+            // InternalReportDSL.g:21626:1: ( ( 'height' ) )
+            // InternalReportDSL.g:21627:1: ( 'height' )
             {
-            // InternalReportDSL.g:21917:1: ( 'height' )
-            // InternalReportDSL.g:21918:2: 'height'
+            // InternalReportDSL.g:21627:1: ( 'height' )
+            // InternalReportDSL.g:21628:2: 'height'
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getImageAccess().getHeightKeyword_3_0()); 
             }
-            match(input,185,FOLLOW_2); if (state.failed) return ;
+            match(input,192,FOLLOW_2); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getImageAccess().getHeightKeyword_3_0()); 
             }
@@ -72998,14 +71879,14 @@
 
 
     // $ANTLR start "rule__Image__Group_3__1"
-    // InternalReportDSL.g:21927:1: rule__Image__Group_3__1 : rule__Image__Group_3__1__Impl rule__Image__Group_3__2 ;
+    // InternalReportDSL.g:21637:1: rule__Image__Group_3__1 : rule__Image__Group_3__1__Impl rule__Image__Group_3__2 ;
     public final void rule__Image__Group_3__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:21931:1: ( rule__Image__Group_3__1__Impl rule__Image__Group_3__2 )
-            // InternalReportDSL.g:21932:2: rule__Image__Group_3__1__Impl rule__Image__Group_3__2
+            // InternalReportDSL.g:21641:1: ( rule__Image__Group_3__1__Impl rule__Image__Group_3__2 )
+            // InternalReportDSL.g:21642:2: rule__Image__Group_3__1__Impl rule__Image__Group_3__2
             {
             pushFollow(FOLLOW_48);
             rule__Image__Group_3__1__Impl();
@@ -73036,23 +71917,23 @@
 
 
     // $ANTLR start "rule__Image__Group_3__1__Impl"
-    // InternalReportDSL.g:21939:1: rule__Image__Group_3__1__Impl : ( ( rule__Image__HeightValueAssignment_3_1 ) ) ;
+    // InternalReportDSL.g:21649:1: rule__Image__Group_3__1__Impl : ( ( rule__Image__HeightValueAssignment_3_1 ) ) ;
     public final void rule__Image__Group_3__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:21943:1: ( ( ( rule__Image__HeightValueAssignment_3_1 ) ) )
-            // InternalReportDSL.g:21944:1: ( ( rule__Image__HeightValueAssignment_3_1 ) )
+            // InternalReportDSL.g:21653:1: ( ( ( rule__Image__HeightValueAssignment_3_1 ) ) )
+            // InternalReportDSL.g:21654:1: ( ( rule__Image__HeightValueAssignment_3_1 ) )
             {
-            // InternalReportDSL.g:21944:1: ( ( rule__Image__HeightValueAssignment_3_1 ) )
-            // InternalReportDSL.g:21945:2: ( rule__Image__HeightValueAssignment_3_1 )
+            // InternalReportDSL.g:21654:1: ( ( rule__Image__HeightValueAssignment_3_1 ) )
+            // InternalReportDSL.g:21655:2: ( rule__Image__HeightValueAssignment_3_1 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getImageAccess().getHeightValueAssignment_3_1()); 
             }
-            // InternalReportDSL.g:21946:2: ( rule__Image__HeightValueAssignment_3_1 )
-            // InternalReportDSL.g:21946:3: rule__Image__HeightValueAssignment_3_1
+            // InternalReportDSL.g:21656:2: ( rule__Image__HeightValueAssignment_3_1 )
+            // InternalReportDSL.g:21656:3: rule__Image__HeightValueAssignment_3_1
             {
             pushFollow(FOLLOW_2);
             rule__Image__HeightValueAssignment_3_1();
@@ -73087,14 +71968,14 @@
 
 
     // $ANTLR start "rule__Image__Group_3__2"
-    // InternalReportDSL.g:21954:1: rule__Image__Group_3__2 : rule__Image__Group_3__2__Impl ;
+    // InternalReportDSL.g:21664:1: rule__Image__Group_3__2 : rule__Image__Group_3__2__Impl ;
     public final void rule__Image__Group_3__2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:21958:1: ( rule__Image__Group_3__2__Impl )
-            // InternalReportDSL.g:21959:2: rule__Image__Group_3__2__Impl
+            // InternalReportDSL.g:21668:1: ( rule__Image__Group_3__2__Impl )
+            // InternalReportDSL.g:21669:2: rule__Image__Group_3__2__Impl
             {
             pushFollow(FOLLOW_2);
             rule__Image__Group_3__2__Impl();
@@ -73120,23 +72001,23 @@
 
 
     // $ANTLR start "rule__Image__Group_3__2__Impl"
-    // InternalReportDSL.g:21965:1: rule__Image__Group_3__2__Impl : ( ( rule__Image__HeightUnitAssignment_3_2 ) ) ;
+    // InternalReportDSL.g:21675:1: rule__Image__Group_3__2__Impl : ( ( rule__Image__HeightUnitAssignment_3_2 ) ) ;
     public final void rule__Image__Group_3__2__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:21969:1: ( ( ( rule__Image__HeightUnitAssignment_3_2 ) ) )
-            // InternalReportDSL.g:21970:1: ( ( rule__Image__HeightUnitAssignment_3_2 ) )
+            // InternalReportDSL.g:21679:1: ( ( ( rule__Image__HeightUnitAssignment_3_2 ) ) )
+            // InternalReportDSL.g:21680:1: ( ( rule__Image__HeightUnitAssignment_3_2 ) )
             {
-            // InternalReportDSL.g:21970:1: ( ( rule__Image__HeightUnitAssignment_3_2 ) )
-            // InternalReportDSL.g:21971:2: ( rule__Image__HeightUnitAssignment_3_2 )
+            // InternalReportDSL.g:21680:1: ( ( rule__Image__HeightUnitAssignment_3_2 ) )
+            // InternalReportDSL.g:21681:2: ( rule__Image__HeightUnitAssignment_3_2 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getImageAccess().getHeightUnitAssignment_3_2()); 
             }
-            // InternalReportDSL.g:21972:2: ( rule__Image__HeightUnitAssignment_3_2 )
-            // InternalReportDSL.g:21972:3: rule__Image__HeightUnitAssignment_3_2
+            // InternalReportDSL.g:21682:2: ( rule__Image__HeightUnitAssignment_3_2 )
+            // InternalReportDSL.g:21682:3: rule__Image__HeightUnitAssignment_3_2
             {
             pushFollow(FOLLOW_2);
             rule__Image__HeightUnitAssignment_3_2();
@@ -73171,14 +72052,14 @@
 
 
     // $ANTLR start "rule__Image__Group_4__0"
-    // InternalReportDSL.g:21981:1: rule__Image__Group_4__0 : rule__Image__Group_4__0__Impl rule__Image__Group_4__1 ;
+    // InternalReportDSL.g:21691:1: rule__Image__Group_4__0 : rule__Image__Group_4__0__Impl rule__Image__Group_4__1 ;
     public final void rule__Image__Group_4__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:21985:1: ( rule__Image__Group_4__0__Impl rule__Image__Group_4__1 )
-            // InternalReportDSL.g:21986:2: rule__Image__Group_4__0__Impl rule__Image__Group_4__1
+            // InternalReportDSL.g:21695:1: ( rule__Image__Group_4__0__Impl rule__Image__Group_4__1 )
+            // InternalReportDSL.g:21696:2: rule__Image__Group_4__0__Impl rule__Image__Group_4__1
             {
             pushFollow(FOLLOW_36);
             rule__Image__Group_4__0__Impl();
@@ -73209,22 +72090,22 @@
 
 
     // $ANTLR start "rule__Image__Group_4__0__Impl"
-    // InternalReportDSL.g:21993:1: rule__Image__Group_4__0__Impl : ( 'width' ) ;
+    // InternalReportDSL.g:21703:1: rule__Image__Group_4__0__Impl : ( 'width' ) ;
     public final void rule__Image__Group_4__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:21997:1: ( ( 'width' ) )
-            // InternalReportDSL.g:21998:1: ( 'width' )
+            // InternalReportDSL.g:21707:1: ( ( 'width' ) )
+            // InternalReportDSL.g:21708:1: ( 'width' )
             {
-            // InternalReportDSL.g:21998:1: ( 'width' )
-            // InternalReportDSL.g:21999:2: 'width'
+            // InternalReportDSL.g:21708:1: ( 'width' )
+            // InternalReportDSL.g:21709:2: 'width'
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getImageAccess().getWidthKeyword_4_0()); 
             }
-            match(input,190,FOLLOW_2); if (state.failed) return ;
+            match(input,197,FOLLOW_2); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getImageAccess().getWidthKeyword_4_0()); 
             }
@@ -73250,14 +72131,14 @@
 
 
     // $ANTLR start "rule__Image__Group_4__1"
-    // InternalReportDSL.g:22008:1: rule__Image__Group_4__1 : rule__Image__Group_4__1__Impl rule__Image__Group_4__2 ;
+    // InternalReportDSL.g:21718:1: rule__Image__Group_4__1 : rule__Image__Group_4__1__Impl rule__Image__Group_4__2 ;
     public final void rule__Image__Group_4__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:22012:1: ( rule__Image__Group_4__1__Impl rule__Image__Group_4__2 )
-            // InternalReportDSL.g:22013:2: rule__Image__Group_4__1__Impl rule__Image__Group_4__2
+            // InternalReportDSL.g:21722:1: ( rule__Image__Group_4__1__Impl rule__Image__Group_4__2 )
+            // InternalReportDSL.g:21723:2: rule__Image__Group_4__1__Impl rule__Image__Group_4__2
             {
             pushFollow(FOLLOW_48);
             rule__Image__Group_4__1__Impl();
@@ -73288,23 +72169,23 @@
 
 
     // $ANTLR start "rule__Image__Group_4__1__Impl"
-    // InternalReportDSL.g:22020:1: rule__Image__Group_4__1__Impl : ( ( rule__Image__WidthValueAssignment_4_1 ) ) ;
+    // InternalReportDSL.g:21730:1: rule__Image__Group_4__1__Impl : ( ( rule__Image__WidthValueAssignment_4_1 ) ) ;
     public final void rule__Image__Group_4__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:22024:1: ( ( ( rule__Image__WidthValueAssignment_4_1 ) ) )
-            // InternalReportDSL.g:22025:1: ( ( rule__Image__WidthValueAssignment_4_1 ) )
+            // InternalReportDSL.g:21734:1: ( ( ( rule__Image__WidthValueAssignment_4_1 ) ) )
+            // InternalReportDSL.g:21735:1: ( ( rule__Image__WidthValueAssignment_4_1 ) )
             {
-            // InternalReportDSL.g:22025:1: ( ( rule__Image__WidthValueAssignment_4_1 ) )
-            // InternalReportDSL.g:22026:2: ( rule__Image__WidthValueAssignment_4_1 )
+            // InternalReportDSL.g:21735:1: ( ( rule__Image__WidthValueAssignment_4_1 ) )
+            // InternalReportDSL.g:21736:2: ( rule__Image__WidthValueAssignment_4_1 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getImageAccess().getWidthValueAssignment_4_1()); 
             }
-            // InternalReportDSL.g:22027:2: ( rule__Image__WidthValueAssignment_4_1 )
-            // InternalReportDSL.g:22027:3: rule__Image__WidthValueAssignment_4_1
+            // InternalReportDSL.g:21737:2: ( rule__Image__WidthValueAssignment_4_1 )
+            // InternalReportDSL.g:21737:3: rule__Image__WidthValueAssignment_4_1
             {
             pushFollow(FOLLOW_2);
             rule__Image__WidthValueAssignment_4_1();
@@ -73339,14 +72220,14 @@
 
 
     // $ANTLR start "rule__Image__Group_4__2"
-    // InternalReportDSL.g:22035:1: rule__Image__Group_4__2 : rule__Image__Group_4__2__Impl ;
+    // InternalReportDSL.g:21745:1: rule__Image__Group_4__2 : rule__Image__Group_4__2__Impl ;
     public final void rule__Image__Group_4__2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:22039:1: ( rule__Image__Group_4__2__Impl )
-            // InternalReportDSL.g:22040:2: rule__Image__Group_4__2__Impl
+            // InternalReportDSL.g:21749:1: ( rule__Image__Group_4__2__Impl )
+            // InternalReportDSL.g:21750:2: rule__Image__Group_4__2__Impl
             {
             pushFollow(FOLLOW_2);
             rule__Image__Group_4__2__Impl();
@@ -73372,23 +72253,23 @@
 
 
     // $ANTLR start "rule__Image__Group_4__2__Impl"
-    // InternalReportDSL.g:22046:1: rule__Image__Group_4__2__Impl : ( ( rule__Image__WidthUnitAssignment_4_2 ) ) ;
+    // InternalReportDSL.g:21756:1: rule__Image__Group_4__2__Impl : ( ( rule__Image__WidthUnitAssignment_4_2 ) ) ;
     public final void rule__Image__Group_4__2__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:22050:1: ( ( ( rule__Image__WidthUnitAssignment_4_2 ) ) )
-            // InternalReportDSL.g:22051:1: ( ( rule__Image__WidthUnitAssignment_4_2 ) )
+            // InternalReportDSL.g:21760:1: ( ( ( rule__Image__WidthUnitAssignment_4_2 ) ) )
+            // InternalReportDSL.g:21761:1: ( ( rule__Image__WidthUnitAssignment_4_2 ) )
             {
-            // InternalReportDSL.g:22051:1: ( ( rule__Image__WidthUnitAssignment_4_2 ) )
-            // InternalReportDSL.g:22052:2: ( rule__Image__WidthUnitAssignment_4_2 )
+            // InternalReportDSL.g:21761:1: ( ( rule__Image__WidthUnitAssignment_4_2 ) )
+            // InternalReportDSL.g:21762:2: ( rule__Image__WidthUnitAssignment_4_2 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getImageAccess().getWidthUnitAssignment_4_2()); 
             }
-            // InternalReportDSL.g:22053:2: ( rule__Image__WidthUnitAssignment_4_2 )
-            // InternalReportDSL.g:22053:3: rule__Image__WidthUnitAssignment_4_2
+            // InternalReportDSL.g:21763:2: ( rule__Image__WidthUnitAssignment_4_2 )
+            // InternalReportDSL.g:21763:3: rule__Image__WidthUnitAssignment_4_2
             {
             pushFollow(FOLLOW_2);
             rule__Image__WidthUnitAssignment_4_2();
@@ -73423,16 +72304,16 @@
 
 
     // $ANTLR start "rule__XImportDeclaration__Group__0"
-    // InternalReportDSL.g:22062:1: rule__XImportDeclaration__Group__0 : rule__XImportDeclaration__Group__0__Impl rule__XImportDeclaration__Group__1 ;
+    // InternalReportDSL.g:21772:1: rule__XImportDeclaration__Group__0 : rule__XImportDeclaration__Group__0__Impl rule__XImportDeclaration__Group__1 ;
     public final void rule__XImportDeclaration__Group__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:22066:1: ( rule__XImportDeclaration__Group__0__Impl rule__XImportDeclaration__Group__1 )
-            // InternalReportDSL.g:22067:2: rule__XImportDeclaration__Group__0__Impl rule__XImportDeclaration__Group__1
+            // InternalReportDSL.g:21776:1: ( rule__XImportDeclaration__Group__0__Impl rule__XImportDeclaration__Group__1 )
+            // InternalReportDSL.g:21777:2: rule__XImportDeclaration__Group__0__Impl rule__XImportDeclaration__Group__1
             {
-            pushFollow(FOLLOW_130);
+            pushFollow(FOLLOW_129);
             rule__XImportDeclaration__Group__0__Impl();
 
             state._fsp--;
@@ -73461,23 +72342,23 @@
 
 
     // $ANTLR start "rule__XImportDeclaration__Group__0__Impl"
-    // InternalReportDSL.g:22074:1: rule__XImportDeclaration__Group__0__Impl : ( () ) ;
+    // InternalReportDSL.g:21784:1: rule__XImportDeclaration__Group__0__Impl : ( () ) ;
     public final void rule__XImportDeclaration__Group__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:22078:1: ( ( () ) )
-            // InternalReportDSL.g:22079:1: ( () )
+            // InternalReportDSL.g:21788:1: ( ( () ) )
+            // InternalReportDSL.g:21789:1: ( () )
             {
-            // InternalReportDSL.g:22079:1: ( () )
-            // InternalReportDSL.g:22080:2: ()
+            // InternalReportDSL.g:21789:1: ( () )
+            // InternalReportDSL.g:21790:2: ()
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXImportDeclarationAccess().getOXImportDeclarationAction_0()); 
             }
-            // InternalReportDSL.g:22081:2: ()
-            // InternalReportDSL.g:22081:3: 
+            // InternalReportDSL.g:21791:2: ()
+            // InternalReportDSL.g:21791:3: 
             {
             }
 
@@ -73502,16 +72383,16 @@
 
 
     // $ANTLR start "rule__XImportDeclaration__Group__1"
-    // InternalReportDSL.g:22089:1: rule__XImportDeclaration__Group__1 : rule__XImportDeclaration__Group__1__Impl rule__XImportDeclaration__Group__2 ;
+    // InternalReportDSL.g:21799:1: rule__XImportDeclaration__Group__1 : rule__XImportDeclaration__Group__1__Impl rule__XImportDeclaration__Group__2 ;
     public final void rule__XImportDeclaration__Group__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:22093:1: ( rule__XImportDeclaration__Group__1__Impl rule__XImportDeclaration__Group__2 )
-            // InternalReportDSL.g:22094:2: rule__XImportDeclaration__Group__1__Impl rule__XImportDeclaration__Group__2
+            // InternalReportDSL.g:21803:1: ( rule__XImportDeclaration__Group__1__Impl rule__XImportDeclaration__Group__2 )
+            // InternalReportDSL.g:21804:2: rule__XImportDeclaration__Group__1__Impl rule__XImportDeclaration__Group__2
             {
-            pushFollow(FOLLOW_131);
+            pushFollow(FOLLOW_130);
             rule__XImportDeclaration__Group__1__Impl();
 
             state._fsp--;
@@ -73540,17 +72421,17 @@
 
 
     // $ANTLR start "rule__XImportDeclaration__Group__1__Impl"
-    // InternalReportDSL.g:22101:1: rule__XImportDeclaration__Group__1__Impl : ( 'import' ) ;
+    // InternalReportDSL.g:21811:1: rule__XImportDeclaration__Group__1__Impl : ( 'import' ) ;
     public final void rule__XImportDeclaration__Group__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:22105:1: ( ( 'import' ) )
-            // InternalReportDSL.g:22106:1: ( 'import' )
+            // InternalReportDSL.g:21815:1: ( ( 'import' ) )
+            // InternalReportDSL.g:21816:1: ( 'import' )
             {
-            // InternalReportDSL.g:22106:1: ( 'import' )
-            // InternalReportDSL.g:22107:2: 'import'
+            // InternalReportDSL.g:21816:1: ( 'import' )
+            // InternalReportDSL.g:21817:2: 'import'
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXImportDeclarationAccess().getImportKeyword_1()); 
@@ -73581,16 +72462,16 @@
 
 
     // $ANTLR start "rule__XImportDeclaration__Group__2"
-    // InternalReportDSL.g:22116:1: rule__XImportDeclaration__Group__2 : rule__XImportDeclaration__Group__2__Impl rule__XImportDeclaration__Group__3 ;
+    // InternalReportDSL.g:21826:1: rule__XImportDeclaration__Group__2 : rule__XImportDeclaration__Group__2__Impl rule__XImportDeclaration__Group__3 ;
     public final void rule__XImportDeclaration__Group__2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:22120:1: ( rule__XImportDeclaration__Group__2__Impl rule__XImportDeclaration__Group__3 )
-            // InternalReportDSL.g:22121:2: rule__XImportDeclaration__Group__2__Impl rule__XImportDeclaration__Group__3
+            // InternalReportDSL.g:21830:1: ( rule__XImportDeclaration__Group__2__Impl rule__XImportDeclaration__Group__3 )
+            // InternalReportDSL.g:21831:2: rule__XImportDeclaration__Group__2__Impl rule__XImportDeclaration__Group__3
             {
-            pushFollow(FOLLOW_132);
+            pushFollow(FOLLOW_131);
             rule__XImportDeclaration__Group__2__Impl();
 
             state._fsp--;
@@ -73619,23 +72500,23 @@
 
 
     // $ANTLR start "rule__XImportDeclaration__Group__2__Impl"
-    // InternalReportDSL.g:22128:1: rule__XImportDeclaration__Group__2__Impl : ( ( rule__XImportDeclaration__Alternatives_2 ) ) ;
+    // InternalReportDSL.g:21838:1: rule__XImportDeclaration__Group__2__Impl : ( ( rule__XImportDeclaration__Alternatives_2 ) ) ;
     public final void rule__XImportDeclaration__Group__2__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:22132:1: ( ( ( rule__XImportDeclaration__Alternatives_2 ) ) )
-            // InternalReportDSL.g:22133:1: ( ( rule__XImportDeclaration__Alternatives_2 ) )
+            // InternalReportDSL.g:21842:1: ( ( ( rule__XImportDeclaration__Alternatives_2 ) ) )
+            // InternalReportDSL.g:21843:1: ( ( rule__XImportDeclaration__Alternatives_2 ) )
             {
-            // InternalReportDSL.g:22133:1: ( ( rule__XImportDeclaration__Alternatives_2 ) )
-            // InternalReportDSL.g:22134:2: ( rule__XImportDeclaration__Alternatives_2 )
+            // InternalReportDSL.g:21843:1: ( ( rule__XImportDeclaration__Alternatives_2 ) )
+            // InternalReportDSL.g:21844:2: ( rule__XImportDeclaration__Alternatives_2 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXImportDeclarationAccess().getAlternatives_2()); 
             }
-            // InternalReportDSL.g:22135:2: ( rule__XImportDeclaration__Alternatives_2 )
-            // InternalReportDSL.g:22135:3: rule__XImportDeclaration__Alternatives_2
+            // InternalReportDSL.g:21845:2: ( rule__XImportDeclaration__Alternatives_2 )
+            // InternalReportDSL.g:21845:3: rule__XImportDeclaration__Alternatives_2
             {
             pushFollow(FOLLOW_2);
             rule__XImportDeclaration__Alternatives_2();
@@ -73670,14 +72551,14 @@
 
 
     // $ANTLR start "rule__XImportDeclaration__Group__3"
-    // InternalReportDSL.g:22143:1: rule__XImportDeclaration__Group__3 : rule__XImportDeclaration__Group__3__Impl ;
+    // InternalReportDSL.g:21853:1: rule__XImportDeclaration__Group__3 : rule__XImportDeclaration__Group__3__Impl ;
     public final void rule__XImportDeclaration__Group__3() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:22147:1: ( rule__XImportDeclaration__Group__3__Impl )
-            // InternalReportDSL.g:22148:2: rule__XImportDeclaration__Group__3__Impl
+            // InternalReportDSL.g:21857:1: ( rule__XImportDeclaration__Group__3__Impl )
+            // InternalReportDSL.g:21858:2: rule__XImportDeclaration__Group__3__Impl
             {
             pushFollow(FOLLOW_2);
             rule__XImportDeclaration__Group__3__Impl();
@@ -73703,33 +72584,33 @@
 
 
     // $ANTLR start "rule__XImportDeclaration__Group__3__Impl"
-    // InternalReportDSL.g:22154:1: rule__XImportDeclaration__Group__3__Impl : ( ( ';' )? ) ;
+    // InternalReportDSL.g:21864:1: rule__XImportDeclaration__Group__3__Impl : ( ( ';' )? ) ;
     public final void rule__XImportDeclaration__Group__3__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:22158:1: ( ( ( ';' )? ) )
-            // InternalReportDSL.g:22159:1: ( ( ';' )? )
+            // InternalReportDSL.g:21868:1: ( ( ( ';' )? ) )
+            // InternalReportDSL.g:21869:1: ( ( ';' )? )
             {
-            // InternalReportDSL.g:22159:1: ( ( ';' )? )
-            // InternalReportDSL.g:22160:2: ( ';' )?
+            // InternalReportDSL.g:21869:1: ( ( ';' )? )
+            // InternalReportDSL.g:21870:2: ( ';' )?
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXImportDeclarationAccess().getSemicolonKeyword_3()); 
             }
-            // InternalReportDSL.g:22161:2: ( ';' )?
-            int alt169=2;
-            int LA169_0 = input.LA(1);
+            // InternalReportDSL.g:21871:2: ( ';' )?
+            int alt151=2;
+            int LA151_0 = input.LA(1);
 
-            if ( (LA169_0==226) ) {
-                alt169=1;
+            if ( (LA151_0==233) ) {
+                alt151=1;
             }
-            switch (alt169) {
+            switch (alt151) {
                 case 1 :
-                    // InternalReportDSL.g:22161:3: ';'
+                    // InternalReportDSL.g:21871:3: ';'
                     {
-                    match(input,226,FOLLOW_2); if (state.failed) return ;
+                    match(input,233,FOLLOW_2); if (state.failed) return ;
 
                     }
                     break;
@@ -73761,16 +72642,16 @@
 
 
     // $ANTLR start "rule__XImportDeclaration__Group_2_0__0"
-    // InternalReportDSL.g:22170:1: rule__XImportDeclaration__Group_2_0__0 : rule__XImportDeclaration__Group_2_0__0__Impl rule__XImportDeclaration__Group_2_0__1 ;
+    // InternalReportDSL.g:21880:1: rule__XImportDeclaration__Group_2_0__0 : rule__XImportDeclaration__Group_2_0__0__Impl rule__XImportDeclaration__Group_2_0__1 ;
     public final void rule__XImportDeclaration__Group_2_0__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:22174:1: ( rule__XImportDeclaration__Group_2_0__0__Impl rule__XImportDeclaration__Group_2_0__1 )
-            // InternalReportDSL.g:22175:2: rule__XImportDeclaration__Group_2_0__0__Impl rule__XImportDeclaration__Group_2_0__1
+            // InternalReportDSL.g:21884:1: ( rule__XImportDeclaration__Group_2_0__0__Impl rule__XImportDeclaration__Group_2_0__1 )
+            // InternalReportDSL.g:21885:2: rule__XImportDeclaration__Group_2_0__0__Impl rule__XImportDeclaration__Group_2_0__1
             {
-            pushFollow(FOLLOW_133);
+            pushFollow(FOLLOW_132);
             rule__XImportDeclaration__Group_2_0__0__Impl();
 
             state._fsp--;
@@ -73799,23 +72680,23 @@
 
 
     // $ANTLR start "rule__XImportDeclaration__Group_2_0__0__Impl"
-    // InternalReportDSL.g:22182:1: rule__XImportDeclaration__Group_2_0__0__Impl : ( ( rule__XImportDeclaration__StaticAssignment_2_0_0 ) ) ;
+    // InternalReportDSL.g:21892:1: rule__XImportDeclaration__Group_2_0__0__Impl : ( ( rule__XImportDeclaration__StaticAssignment_2_0_0 ) ) ;
     public final void rule__XImportDeclaration__Group_2_0__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:22186:1: ( ( ( rule__XImportDeclaration__StaticAssignment_2_0_0 ) ) )
-            // InternalReportDSL.g:22187:1: ( ( rule__XImportDeclaration__StaticAssignment_2_0_0 ) )
+            // InternalReportDSL.g:21896:1: ( ( ( rule__XImportDeclaration__StaticAssignment_2_0_0 ) ) )
+            // InternalReportDSL.g:21897:1: ( ( rule__XImportDeclaration__StaticAssignment_2_0_0 ) )
             {
-            // InternalReportDSL.g:22187:1: ( ( rule__XImportDeclaration__StaticAssignment_2_0_0 ) )
-            // InternalReportDSL.g:22188:2: ( rule__XImportDeclaration__StaticAssignment_2_0_0 )
+            // InternalReportDSL.g:21897:1: ( ( rule__XImportDeclaration__StaticAssignment_2_0_0 ) )
+            // InternalReportDSL.g:21898:2: ( rule__XImportDeclaration__StaticAssignment_2_0_0 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXImportDeclarationAccess().getStaticAssignment_2_0_0()); 
             }
-            // InternalReportDSL.g:22189:2: ( rule__XImportDeclaration__StaticAssignment_2_0_0 )
-            // InternalReportDSL.g:22189:3: rule__XImportDeclaration__StaticAssignment_2_0_0
+            // InternalReportDSL.g:21899:2: ( rule__XImportDeclaration__StaticAssignment_2_0_0 )
+            // InternalReportDSL.g:21899:3: rule__XImportDeclaration__StaticAssignment_2_0_0
             {
             pushFollow(FOLLOW_2);
             rule__XImportDeclaration__StaticAssignment_2_0_0();
@@ -73850,16 +72731,16 @@
 
 
     // $ANTLR start "rule__XImportDeclaration__Group_2_0__1"
-    // InternalReportDSL.g:22197:1: rule__XImportDeclaration__Group_2_0__1 : rule__XImportDeclaration__Group_2_0__1__Impl rule__XImportDeclaration__Group_2_0__2 ;
+    // InternalReportDSL.g:21907:1: rule__XImportDeclaration__Group_2_0__1 : rule__XImportDeclaration__Group_2_0__1__Impl rule__XImportDeclaration__Group_2_0__2 ;
     public final void rule__XImportDeclaration__Group_2_0__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:22201:1: ( rule__XImportDeclaration__Group_2_0__1__Impl rule__XImportDeclaration__Group_2_0__2 )
-            // InternalReportDSL.g:22202:2: rule__XImportDeclaration__Group_2_0__1__Impl rule__XImportDeclaration__Group_2_0__2
+            // InternalReportDSL.g:21911:1: ( rule__XImportDeclaration__Group_2_0__1__Impl rule__XImportDeclaration__Group_2_0__2 )
+            // InternalReportDSL.g:21912:2: rule__XImportDeclaration__Group_2_0__1__Impl rule__XImportDeclaration__Group_2_0__2
             {
-            pushFollow(FOLLOW_133);
+            pushFollow(FOLLOW_132);
             rule__XImportDeclaration__Group_2_0__1__Impl();
 
             state._fsp--;
@@ -73888,31 +72769,31 @@
 
 
     // $ANTLR start "rule__XImportDeclaration__Group_2_0__1__Impl"
-    // InternalReportDSL.g:22209:1: rule__XImportDeclaration__Group_2_0__1__Impl : ( ( rule__XImportDeclaration__ExtensionAssignment_2_0_1 )? ) ;
+    // InternalReportDSL.g:21919:1: rule__XImportDeclaration__Group_2_0__1__Impl : ( ( rule__XImportDeclaration__ExtensionAssignment_2_0_1 )? ) ;
     public final void rule__XImportDeclaration__Group_2_0__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:22213:1: ( ( ( rule__XImportDeclaration__ExtensionAssignment_2_0_1 )? ) )
-            // InternalReportDSL.g:22214:1: ( ( rule__XImportDeclaration__ExtensionAssignment_2_0_1 )? )
+            // InternalReportDSL.g:21923:1: ( ( ( rule__XImportDeclaration__ExtensionAssignment_2_0_1 )? ) )
+            // InternalReportDSL.g:21924:1: ( ( rule__XImportDeclaration__ExtensionAssignment_2_0_1 )? )
             {
-            // InternalReportDSL.g:22214:1: ( ( rule__XImportDeclaration__ExtensionAssignment_2_0_1 )? )
-            // InternalReportDSL.g:22215:2: ( rule__XImportDeclaration__ExtensionAssignment_2_0_1 )?
+            // InternalReportDSL.g:21924:1: ( ( rule__XImportDeclaration__ExtensionAssignment_2_0_1 )? )
+            // InternalReportDSL.g:21925:2: ( rule__XImportDeclaration__ExtensionAssignment_2_0_1 )?
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXImportDeclarationAccess().getExtensionAssignment_2_0_1()); 
             }
-            // InternalReportDSL.g:22216:2: ( rule__XImportDeclaration__ExtensionAssignment_2_0_1 )?
-            int alt170=2;
-            int LA170_0 = input.LA(1);
+            // InternalReportDSL.g:21926:2: ( rule__XImportDeclaration__ExtensionAssignment_2_0_1 )?
+            int alt152=2;
+            int LA152_0 = input.LA(1);
 
-            if ( (LA170_0==52) ) {
-                alt170=1;
+            if ( (LA152_0==52) ) {
+                alt152=1;
             }
-            switch (alt170) {
+            switch (alt152) {
                 case 1 :
-                    // InternalReportDSL.g:22216:3: rule__XImportDeclaration__ExtensionAssignment_2_0_1
+                    // InternalReportDSL.g:21926:3: rule__XImportDeclaration__ExtensionAssignment_2_0_1
                     {
                     pushFollow(FOLLOW_2);
                     rule__XImportDeclaration__ExtensionAssignment_2_0_1();
@@ -73950,16 +72831,16 @@
 
 
     // $ANTLR start "rule__XImportDeclaration__Group_2_0__2"
-    // InternalReportDSL.g:22224:1: rule__XImportDeclaration__Group_2_0__2 : rule__XImportDeclaration__Group_2_0__2__Impl rule__XImportDeclaration__Group_2_0__3 ;
+    // InternalReportDSL.g:21934:1: rule__XImportDeclaration__Group_2_0__2 : rule__XImportDeclaration__Group_2_0__2__Impl rule__XImportDeclaration__Group_2_0__3 ;
     public final void rule__XImportDeclaration__Group_2_0__2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:22228:1: ( rule__XImportDeclaration__Group_2_0__2__Impl rule__XImportDeclaration__Group_2_0__3 )
-            // InternalReportDSL.g:22229:2: rule__XImportDeclaration__Group_2_0__2__Impl rule__XImportDeclaration__Group_2_0__3
+            // InternalReportDSL.g:21938:1: ( rule__XImportDeclaration__Group_2_0__2__Impl rule__XImportDeclaration__Group_2_0__3 )
+            // InternalReportDSL.g:21939:2: rule__XImportDeclaration__Group_2_0__2__Impl rule__XImportDeclaration__Group_2_0__3
             {
-            pushFollow(FOLLOW_134);
+            pushFollow(FOLLOW_133);
             rule__XImportDeclaration__Group_2_0__2__Impl();
 
             state._fsp--;
@@ -73988,23 +72869,23 @@
 
 
     // $ANTLR start "rule__XImportDeclaration__Group_2_0__2__Impl"
-    // InternalReportDSL.g:22236:1: rule__XImportDeclaration__Group_2_0__2__Impl : ( ( rule__XImportDeclaration__ImportedTypeAssignment_2_0_2 ) ) ;
+    // InternalReportDSL.g:21946:1: rule__XImportDeclaration__Group_2_0__2__Impl : ( ( rule__XImportDeclaration__ImportedTypeAssignment_2_0_2 ) ) ;
     public final void rule__XImportDeclaration__Group_2_0__2__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:22240:1: ( ( ( rule__XImportDeclaration__ImportedTypeAssignment_2_0_2 ) ) )
-            // InternalReportDSL.g:22241:1: ( ( rule__XImportDeclaration__ImportedTypeAssignment_2_0_2 ) )
+            // InternalReportDSL.g:21950:1: ( ( ( rule__XImportDeclaration__ImportedTypeAssignment_2_0_2 ) ) )
+            // InternalReportDSL.g:21951:1: ( ( rule__XImportDeclaration__ImportedTypeAssignment_2_0_2 ) )
             {
-            // InternalReportDSL.g:22241:1: ( ( rule__XImportDeclaration__ImportedTypeAssignment_2_0_2 ) )
-            // InternalReportDSL.g:22242:2: ( rule__XImportDeclaration__ImportedTypeAssignment_2_0_2 )
+            // InternalReportDSL.g:21951:1: ( ( rule__XImportDeclaration__ImportedTypeAssignment_2_0_2 ) )
+            // InternalReportDSL.g:21952:2: ( rule__XImportDeclaration__ImportedTypeAssignment_2_0_2 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXImportDeclarationAccess().getImportedTypeAssignment_2_0_2()); 
             }
-            // InternalReportDSL.g:22243:2: ( rule__XImportDeclaration__ImportedTypeAssignment_2_0_2 )
-            // InternalReportDSL.g:22243:3: rule__XImportDeclaration__ImportedTypeAssignment_2_0_2
+            // InternalReportDSL.g:21953:2: ( rule__XImportDeclaration__ImportedTypeAssignment_2_0_2 )
+            // InternalReportDSL.g:21953:3: rule__XImportDeclaration__ImportedTypeAssignment_2_0_2
             {
             pushFollow(FOLLOW_2);
             rule__XImportDeclaration__ImportedTypeAssignment_2_0_2();
@@ -74039,14 +72920,14 @@
 
 
     // $ANTLR start "rule__XImportDeclaration__Group_2_0__3"
-    // InternalReportDSL.g:22251:1: rule__XImportDeclaration__Group_2_0__3 : rule__XImportDeclaration__Group_2_0__3__Impl ;
+    // InternalReportDSL.g:21961:1: rule__XImportDeclaration__Group_2_0__3 : rule__XImportDeclaration__Group_2_0__3__Impl ;
     public final void rule__XImportDeclaration__Group_2_0__3() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:22255:1: ( rule__XImportDeclaration__Group_2_0__3__Impl )
-            // InternalReportDSL.g:22256:2: rule__XImportDeclaration__Group_2_0__3__Impl
+            // InternalReportDSL.g:21965:1: ( rule__XImportDeclaration__Group_2_0__3__Impl )
+            // InternalReportDSL.g:21966:2: rule__XImportDeclaration__Group_2_0__3__Impl
             {
             pushFollow(FOLLOW_2);
             rule__XImportDeclaration__Group_2_0__3__Impl();
@@ -74072,23 +72953,23 @@
 
 
     // $ANTLR start "rule__XImportDeclaration__Group_2_0__3__Impl"
-    // InternalReportDSL.g:22262:1: rule__XImportDeclaration__Group_2_0__3__Impl : ( ( rule__XImportDeclaration__Alternatives_2_0_3 ) ) ;
+    // InternalReportDSL.g:21972:1: rule__XImportDeclaration__Group_2_0__3__Impl : ( ( rule__XImportDeclaration__Alternatives_2_0_3 ) ) ;
     public final void rule__XImportDeclaration__Group_2_0__3__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:22266:1: ( ( ( rule__XImportDeclaration__Alternatives_2_0_3 ) ) )
-            // InternalReportDSL.g:22267:1: ( ( rule__XImportDeclaration__Alternatives_2_0_3 ) )
+            // InternalReportDSL.g:21976:1: ( ( ( rule__XImportDeclaration__Alternatives_2_0_3 ) ) )
+            // InternalReportDSL.g:21977:1: ( ( rule__XImportDeclaration__Alternatives_2_0_3 ) )
             {
-            // InternalReportDSL.g:22267:1: ( ( rule__XImportDeclaration__Alternatives_2_0_3 ) )
-            // InternalReportDSL.g:22268:2: ( rule__XImportDeclaration__Alternatives_2_0_3 )
+            // InternalReportDSL.g:21977:1: ( ( rule__XImportDeclaration__Alternatives_2_0_3 ) )
+            // InternalReportDSL.g:21978:2: ( rule__XImportDeclaration__Alternatives_2_0_3 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXImportDeclarationAccess().getAlternatives_2_0_3()); 
             }
-            // InternalReportDSL.g:22269:2: ( rule__XImportDeclaration__Alternatives_2_0_3 )
-            // InternalReportDSL.g:22269:3: rule__XImportDeclaration__Alternatives_2_0_3
+            // InternalReportDSL.g:21979:2: ( rule__XImportDeclaration__Alternatives_2_0_3 )
+            // InternalReportDSL.g:21979:3: rule__XImportDeclaration__Alternatives_2_0_3
             {
             pushFollow(FOLLOW_2);
             rule__XImportDeclaration__Alternatives_2_0_3();
@@ -74123,14 +73004,14 @@
 
 
     // $ANTLR start "rule__XImportDeclaration__Group_2_3__0"
-    // InternalReportDSL.g:22278:1: rule__XImportDeclaration__Group_2_3__0 : rule__XImportDeclaration__Group_2_3__0__Impl rule__XImportDeclaration__Group_2_3__1 ;
+    // InternalReportDSL.g:21988:1: rule__XImportDeclaration__Group_2_3__0 : rule__XImportDeclaration__Group_2_3__0__Impl rule__XImportDeclaration__Group_2_3__1 ;
     public final void rule__XImportDeclaration__Group_2_3__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:22282:1: ( rule__XImportDeclaration__Group_2_3__0__Impl rule__XImportDeclaration__Group_2_3__1 )
-            // InternalReportDSL.g:22283:2: rule__XImportDeclaration__Group_2_3__0__Impl rule__XImportDeclaration__Group_2_3__1
+            // InternalReportDSL.g:21992:1: ( rule__XImportDeclaration__Group_2_3__0__Impl rule__XImportDeclaration__Group_2_3__1 )
+            // InternalReportDSL.g:21993:2: rule__XImportDeclaration__Group_2_3__0__Impl rule__XImportDeclaration__Group_2_3__1
             {
             pushFollow(FOLLOW_7);
             rule__XImportDeclaration__Group_2_3__0__Impl();
@@ -74161,23 +73042,23 @@
 
 
     // $ANTLR start "rule__XImportDeclaration__Group_2_3__0__Impl"
-    // InternalReportDSL.g:22290:1: rule__XImportDeclaration__Group_2_3__0__Impl : ( ( rule__XImportDeclaration__FqnImportAssignment_2_3_0 ) ) ;
+    // InternalReportDSL.g:22000:1: rule__XImportDeclaration__Group_2_3__0__Impl : ( ( rule__XImportDeclaration__FqnImportAssignment_2_3_0 ) ) ;
     public final void rule__XImportDeclaration__Group_2_3__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:22294:1: ( ( ( rule__XImportDeclaration__FqnImportAssignment_2_3_0 ) ) )
-            // InternalReportDSL.g:22295:1: ( ( rule__XImportDeclaration__FqnImportAssignment_2_3_0 ) )
+            // InternalReportDSL.g:22004:1: ( ( ( rule__XImportDeclaration__FqnImportAssignment_2_3_0 ) ) )
+            // InternalReportDSL.g:22005:1: ( ( rule__XImportDeclaration__FqnImportAssignment_2_3_0 ) )
             {
-            // InternalReportDSL.g:22295:1: ( ( rule__XImportDeclaration__FqnImportAssignment_2_3_0 ) )
-            // InternalReportDSL.g:22296:2: ( rule__XImportDeclaration__FqnImportAssignment_2_3_0 )
+            // InternalReportDSL.g:22005:1: ( ( rule__XImportDeclaration__FqnImportAssignment_2_3_0 ) )
+            // InternalReportDSL.g:22006:2: ( rule__XImportDeclaration__FqnImportAssignment_2_3_0 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXImportDeclarationAccess().getFqnImportAssignment_2_3_0()); 
             }
-            // InternalReportDSL.g:22297:2: ( rule__XImportDeclaration__FqnImportAssignment_2_3_0 )
-            // InternalReportDSL.g:22297:3: rule__XImportDeclaration__FqnImportAssignment_2_3_0
+            // InternalReportDSL.g:22007:2: ( rule__XImportDeclaration__FqnImportAssignment_2_3_0 )
+            // InternalReportDSL.g:22007:3: rule__XImportDeclaration__FqnImportAssignment_2_3_0
             {
             pushFollow(FOLLOW_2);
             rule__XImportDeclaration__FqnImportAssignment_2_3_0();
@@ -74212,14 +73093,14 @@
 
 
     // $ANTLR start "rule__XImportDeclaration__Group_2_3__1"
-    // InternalReportDSL.g:22305:1: rule__XImportDeclaration__Group_2_3__1 : rule__XImportDeclaration__Group_2_3__1__Impl ;
+    // InternalReportDSL.g:22015:1: rule__XImportDeclaration__Group_2_3__1 : rule__XImportDeclaration__Group_2_3__1__Impl ;
     public final void rule__XImportDeclaration__Group_2_3__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:22309:1: ( rule__XImportDeclaration__Group_2_3__1__Impl )
-            // InternalReportDSL.g:22310:2: rule__XImportDeclaration__Group_2_3__1__Impl
+            // InternalReportDSL.g:22019:1: ( rule__XImportDeclaration__Group_2_3__1__Impl )
+            // InternalReportDSL.g:22020:2: rule__XImportDeclaration__Group_2_3__1__Impl
             {
             pushFollow(FOLLOW_2);
             rule__XImportDeclaration__Group_2_3__1__Impl();
@@ -74245,23 +73126,23 @@
 
 
     // $ANTLR start "rule__XImportDeclaration__Group_2_3__1__Impl"
-    // InternalReportDSL.g:22316:1: rule__XImportDeclaration__Group_2_3__1__Impl : ( ( rule__XImportDeclaration__ImportedFullyQualifiedNameAssignment_2_3_1 ) ) ;
+    // InternalReportDSL.g:22026:1: rule__XImportDeclaration__Group_2_3__1__Impl : ( ( rule__XImportDeclaration__ImportedFullyQualifiedNameAssignment_2_3_1 ) ) ;
     public final void rule__XImportDeclaration__Group_2_3__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:22320:1: ( ( ( rule__XImportDeclaration__ImportedFullyQualifiedNameAssignment_2_3_1 ) ) )
-            // InternalReportDSL.g:22321:1: ( ( rule__XImportDeclaration__ImportedFullyQualifiedNameAssignment_2_3_1 ) )
+            // InternalReportDSL.g:22030:1: ( ( ( rule__XImportDeclaration__ImportedFullyQualifiedNameAssignment_2_3_1 ) ) )
+            // InternalReportDSL.g:22031:1: ( ( rule__XImportDeclaration__ImportedFullyQualifiedNameAssignment_2_3_1 ) )
             {
-            // InternalReportDSL.g:22321:1: ( ( rule__XImportDeclaration__ImportedFullyQualifiedNameAssignment_2_3_1 ) )
-            // InternalReportDSL.g:22322:2: ( rule__XImportDeclaration__ImportedFullyQualifiedNameAssignment_2_3_1 )
+            // InternalReportDSL.g:22031:1: ( ( rule__XImportDeclaration__ImportedFullyQualifiedNameAssignment_2_3_1 ) )
+            // InternalReportDSL.g:22032:2: ( rule__XImportDeclaration__ImportedFullyQualifiedNameAssignment_2_3_1 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXImportDeclarationAccess().getImportedFullyQualifiedNameAssignment_2_3_1()); 
             }
-            // InternalReportDSL.g:22323:2: ( rule__XImportDeclaration__ImportedFullyQualifiedNameAssignment_2_3_1 )
-            // InternalReportDSL.g:22323:3: rule__XImportDeclaration__ImportedFullyQualifiedNameAssignment_2_3_1
+            // InternalReportDSL.g:22033:2: ( rule__XImportDeclaration__ImportedFullyQualifiedNameAssignment_2_3_1 )
+            // InternalReportDSL.g:22033:3: rule__XImportDeclaration__ImportedFullyQualifiedNameAssignment_2_3_1
             {
             pushFollow(FOLLOW_2);
             rule__XImportDeclaration__ImportedFullyQualifiedNameAssignment_2_3_1();
@@ -74296,16 +73177,16 @@
 
 
     // $ANTLR start "rule__XAnnotation__Group__0"
-    // InternalReportDSL.g:22332:1: rule__XAnnotation__Group__0 : rule__XAnnotation__Group__0__Impl rule__XAnnotation__Group__1 ;
+    // InternalReportDSL.g:22042:1: rule__XAnnotation__Group__0 : rule__XAnnotation__Group__0__Impl rule__XAnnotation__Group__1 ;
     public final void rule__XAnnotation__Group__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:22336:1: ( rule__XAnnotation__Group__0__Impl rule__XAnnotation__Group__1 )
-            // InternalReportDSL.g:22337:2: rule__XAnnotation__Group__0__Impl rule__XAnnotation__Group__1
+            // InternalReportDSL.g:22046:1: ( rule__XAnnotation__Group__0__Impl rule__XAnnotation__Group__1 )
+            // InternalReportDSL.g:22047:2: rule__XAnnotation__Group__0__Impl rule__XAnnotation__Group__1
             {
-            pushFollow(FOLLOW_135);
+            pushFollow(FOLLOW_134);
             rule__XAnnotation__Group__0__Impl();
 
             state._fsp--;
@@ -74334,23 +73215,23 @@
 
 
     // $ANTLR start "rule__XAnnotation__Group__0__Impl"
-    // InternalReportDSL.g:22344:1: rule__XAnnotation__Group__0__Impl : ( () ) ;
+    // InternalReportDSL.g:22054:1: rule__XAnnotation__Group__0__Impl : ( () ) ;
     public final void rule__XAnnotation__Group__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:22348:1: ( ( () ) )
-            // InternalReportDSL.g:22349:1: ( () )
+            // InternalReportDSL.g:22058:1: ( ( () ) )
+            // InternalReportDSL.g:22059:1: ( () )
             {
-            // InternalReportDSL.g:22349:1: ( () )
-            // InternalReportDSL.g:22350:2: ()
+            // InternalReportDSL.g:22059:1: ( () )
+            // InternalReportDSL.g:22060:2: ()
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXAnnotationAccess().getXAnnotationAction_0()); 
             }
-            // InternalReportDSL.g:22351:2: ()
-            // InternalReportDSL.g:22351:3: 
+            // InternalReportDSL.g:22061:2: ()
+            // InternalReportDSL.g:22061:3: 
             {
             }
 
@@ -74375,14 +73256,14 @@
 
 
     // $ANTLR start "rule__XAnnotation__Group__1"
-    // InternalReportDSL.g:22359:1: rule__XAnnotation__Group__1 : rule__XAnnotation__Group__1__Impl rule__XAnnotation__Group__2 ;
+    // InternalReportDSL.g:22069:1: rule__XAnnotation__Group__1 : rule__XAnnotation__Group__1__Impl rule__XAnnotation__Group__2 ;
     public final void rule__XAnnotation__Group__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:22363:1: ( rule__XAnnotation__Group__1__Impl rule__XAnnotation__Group__2 )
-            // InternalReportDSL.g:22364:2: rule__XAnnotation__Group__1__Impl rule__XAnnotation__Group__2
+            // InternalReportDSL.g:22073:1: ( rule__XAnnotation__Group__1__Impl rule__XAnnotation__Group__2 )
+            // InternalReportDSL.g:22074:2: rule__XAnnotation__Group__1__Impl rule__XAnnotation__Group__2
             {
             pushFollow(FOLLOW_7);
             rule__XAnnotation__Group__1__Impl();
@@ -74413,22 +73294,22 @@
 
 
     // $ANTLR start "rule__XAnnotation__Group__1__Impl"
-    // InternalReportDSL.g:22371:1: rule__XAnnotation__Group__1__Impl : ( '@' ) ;
+    // InternalReportDSL.g:22081:1: rule__XAnnotation__Group__1__Impl : ( '@' ) ;
     public final void rule__XAnnotation__Group__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:22375:1: ( ( '@' ) )
-            // InternalReportDSL.g:22376:1: ( '@' )
+            // InternalReportDSL.g:22085:1: ( ( '@' ) )
+            // InternalReportDSL.g:22086:1: ( '@' )
             {
-            // InternalReportDSL.g:22376:1: ( '@' )
-            // InternalReportDSL.g:22377:2: '@'
+            // InternalReportDSL.g:22086:1: ( '@' )
+            // InternalReportDSL.g:22087:2: '@'
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXAnnotationAccess().getCommercialAtKeyword_1()); 
             }
-            match(input,227,FOLLOW_2); if (state.failed) return ;
+            match(input,234,FOLLOW_2); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getXAnnotationAccess().getCommercialAtKeyword_1()); 
             }
@@ -74454,16 +73335,16 @@
 
 
     // $ANTLR start "rule__XAnnotation__Group__2"
-    // InternalReportDSL.g:22386:1: rule__XAnnotation__Group__2 : rule__XAnnotation__Group__2__Impl rule__XAnnotation__Group__3 ;
+    // InternalReportDSL.g:22096:1: rule__XAnnotation__Group__2 : rule__XAnnotation__Group__2__Impl rule__XAnnotation__Group__3 ;
     public final void rule__XAnnotation__Group__2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:22390:1: ( rule__XAnnotation__Group__2__Impl rule__XAnnotation__Group__3 )
-            // InternalReportDSL.g:22391:2: rule__XAnnotation__Group__2__Impl rule__XAnnotation__Group__3
+            // InternalReportDSL.g:22100:1: ( rule__XAnnotation__Group__2__Impl rule__XAnnotation__Group__3 )
+            // InternalReportDSL.g:22101:2: rule__XAnnotation__Group__2__Impl rule__XAnnotation__Group__3
             {
-            pushFollow(FOLLOW_104);
+            pushFollow(FOLLOW_103);
             rule__XAnnotation__Group__2__Impl();
 
             state._fsp--;
@@ -74492,23 +73373,23 @@
 
 
     // $ANTLR start "rule__XAnnotation__Group__2__Impl"
-    // InternalReportDSL.g:22398:1: rule__XAnnotation__Group__2__Impl : ( ( rule__XAnnotation__AnnotationTypeAssignment_2 ) ) ;
+    // InternalReportDSL.g:22108:1: rule__XAnnotation__Group__2__Impl : ( ( rule__XAnnotation__AnnotationTypeAssignment_2 ) ) ;
     public final void rule__XAnnotation__Group__2__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:22402:1: ( ( ( rule__XAnnotation__AnnotationTypeAssignment_2 ) ) )
-            // InternalReportDSL.g:22403:1: ( ( rule__XAnnotation__AnnotationTypeAssignment_2 ) )
+            // InternalReportDSL.g:22112:1: ( ( ( rule__XAnnotation__AnnotationTypeAssignment_2 ) ) )
+            // InternalReportDSL.g:22113:1: ( ( rule__XAnnotation__AnnotationTypeAssignment_2 ) )
             {
-            // InternalReportDSL.g:22403:1: ( ( rule__XAnnotation__AnnotationTypeAssignment_2 ) )
-            // InternalReportDSL.g:22404:2: ( rule__XAnnotation__AnnotationTypeAssignment_2 )
+            // InternalReportDSL.g:22113:1: ( ( rule__XAnnotation__AnnotationTypeAssignment_2 ) )
+            // InternalReportDSL.g:22114:2: ( rule__XAnnotation__AnnotationTypeAssignment_2 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXAnnotationAccess().getAnnotationTypeAssignment_2()); 
             }
-            // InternalReportDSL.g:22405:2: ( rule__XAnnotation__AnnotationTypeAssignment_2 )
-            // InternalReportDSL.g:22405:3: rule__XAnnotation__AnnotationTypeAssignment_2
+            // InternalReportDSL.g:22115:2: ( rule__XAnnotation__AnnotationTypeAssignment_2 )
+            // InternalReportDSL.g:22115:3: rule__XAnnotation__AnnotationTypeAssignment_2
             {
             pushFollow(FOLLOW_2);
             rule__XAnnotation__AnnotationTypeAssignment_2();
@@ -74543,14 +73424,14 @@
 
 
     // $ANTLR start "rule__XAnnotation__Group__3"
-    // InternalReportDSL.g:22413:1: rule__XAnnotation__Group__3 : rule__XAnnotation__Group__3__Impl ;
+    // InternalReportDSL.g:22123:1: rule__XAnnotation__Group__3 : rule__XAnnotation__Group__3__Impl ;
     public final void rule__XAnnotation__Group__3() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:22417:1: ( rule__XAnnotation__Group__3__Impl )
-            // InternalReportDSL.g:22418:2: rule__XAnnotation__Group__3__Impl
+            // InternalReportDSL.g:22127:1: ( rule__XAnnotation__Group__3__Impl )
+            // InternalReportDSL.g:22128:2: rule__XAnnotation__Group__3__Impl
             {
             pushFollow(FOLLOW_2);
             rule__XAnnotation__Group__3__Impl();
@@ -74576,31 +73457,31 @@
 
 
     // $ANTLR start "rule__XAnnotation__Group__3__Impl"
-    // InternalReportDSL.g:22424:1: rule__XAnnotation__Group__3__Impl : ( ( rule__XAnnotation__Group_3__0 )? ) ;
+    // InternalReportDSL.g:22134:1: rule__XAnnotation__Group__3__Impl : ( ( rule__XAnnotation__Group_3__0 )? ) ;
     public final void rule__XAnnotation__Group__3__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:22428:1: ( ( ( rule__XAnnotation__Group_3__0 )? ) )
-            // InternalReportDSL.g:22429:1: ( ( rule__XAnnotation__Group_3__0 )? )
+            // InternalReportDSL.g:22138:1: ( ( ( rule__XAnnotation__Group_3__0 )? ) )
+            // InternalReportDSL.g:22139:1: ( ( rule__XAnnotation__Group_3__0 )? )
             {
-            // InternalReportDSL.g:22429:1: ( ( rule__XAnnotation__Group_3__0 )? )
-            // InternalReportDSL.g:22430:2: ( rule__XAnnotation__Group_3__0 )?
+            // InternalReportDSL.g:22139:1: ( ( rule__XAnnotation__Group_3__0 )? )
+            // InternalReportDSL.g:22140:2: ( rule__XAnnotation__Group_3__0 )?
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXAnnotationAccess().getGroup_3()); 
             }
-            // InternalReportDSL.g:22431:2: ( rule__XAnnotation__Group_3__0 )?
-            int alt171=2;
-            int LA171_0 = input.LA(1);
+            // InternalReportDSL.g:22141:2: ( rule__XAnnotation__Group_3__0 )?
+            int alt153=2;
+            int LA153_0 = input.LA(1);
 
-            if ( (LA171_0==204) ) {
-                alt171=1;
+            if ( (LA153_0==211) ) {
+                alt153=1;
             }
-            switch (alt171) {
+            switch (alt153) {
                 case 1 :
-                    // InternalReportDSL.g:22431:3: rule__XAnnotation__Group_3__0
+                    // InternalReportDSL.g:22141:3: rule__XAnnotation__Group_3__0
                     {
                     pushFollow(FOLLOW_2);
                     rule__XAnnotation__Group_3__0();
@@ -74638,16 +73519,16 @@
 
 
     // $ANTLR start "rule__XAnnotation__Group_3__0"
-    // InternalReportDSL.g:22440:1: rule__XAnnotation__Group_3__0 : rule__XAnnotation__Group_3__0__Impl rule__XAnnotation__Group_3__1 ;
+    // InternalReportDSL.g:22150:1: rule__XAnnotation__Group_3__0 : rule__XAnnotation__Group_3__0__Impl rule__XAnnotation__Group_3__1 ;
     public final void rule__XAnnotation__Group_3__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:22444:1: ( rule__XAnnotation__Group_3__0__Impl rule__XAnnotation__Group_3__1 )
-            // InternalReportDSL.g:22445:2: rule__XAnnotation__Group_3__0__Impl rule__XAnnotation__Group_3__1
+            // InternalReportDSL.g:22154:1: ( rule__XAnnotation__Group_3__0__Impl rule__XAnnotation__Group_3__1 )
+            // InternalReportDSL.g:22155:2: rule__XAnnotation__Group_3__0__Impl rule__XAnnotation__Group_3__1
             {
-            pushFollow(FOLLOW_136);
+            pushFollow(FOLLOW_135);
             rule__XAnnotation__Group_3__0__Impl();
 
             state._fsp--;
@@ -74676,25 +73557,25 @@
 
 
     // $ANTLR start "rule__XAnnotation__Group_3__0__Impl"
-    // InternalReportDSL.g:22452:1: rule__XAnnotation__Group_3__0__Impl : ( ( '(' ) ) ;
+    // InternalReportDSL.g:22162:1: rule__XAnnotation__Group_3__0__Impl : ( ( '(' ) ) ;
     public final void rule__XAnnotation__Group_3__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:22456:1: ( ( ( '(' ) ) )
-            // InternalReportDSL.g:22457:1: ( ( '(' ) )
+            // InternalReportDSL.g:22166:1: ( ( ( '(' ) ) )
+            // InternalReportDSL.g:22167:1: ( ( '(' ) )
             {
-            // InternalReportDSL.g:22457:1: ( ( '(' ) )
-            // InternalReportDSL.g:22458:2: ( '(' )
+            // InternalReportDSL.g:22167:1: ( ( '(' ) )
+            // InternalReportDSL.g:22168:2: ( '(' )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXAnnotationAccess().getLeftParenthesisKeyword_3_0()); 
             }
-            // InternalReportDSL.g:22459:2: ( '(' )
-            // InternalReportDSL.g:22459:3: '('
+            // InternalReportDSL.g:22169:2: ( '(' )
+            // InternalReportDSL.g:22169:3: '('
             {
-            match(input,204,FOLLOW_2); if (state.failed) return ;
+            match(input,211,FOLLOW_2); if (state.failed) return ;
 
             }
 
@@ -74723,16 +73604,16 @@
 
 
     // $ANTLR start "rule__XAnnotation__Group_3__1"
-    // InternalReportDSL.g:22467:1: rule__XAnnotation__Group_3__1 : rule__XAnnotation__Group_3__1__Impl rule__XAnnotation__Group_3__2 ;
+    // InternalReportDSL.g:22177:1: rule__XAnnotation__Group_3__1 : rule__XAnnotation__Group_3__1__Impl rule__XAnnotation__Group_3__2 ;
     public final void rule__XAnnotation__Group_3__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:22471:1: ( rule__XAnnotation__Group_3__1__Impl rule__XAnnotation__Group_3__2 )
-            // InternalReportDSL.g:22472:2: rule__XAnnotation__Group_3__1__Impl rule__XAnnotation__Group_3__2
+            // InternalReportDSL.g:22181:1: ( rule__XAnnotation__Group_3__1__Impl rule__XAnnotation__Group_3__2 )
+            // InternalReportDSL.g:22182:2: rule__XAnnotation__Group_3__1__Impl rule__XAnnotation__Group_3__2
             {
-            pushFollow(FOLLOW_136);
+            pushFollow(FOLLOW_135);
             rule__XAnnotation__Group_3__1__Impl();
 
             state._fsp--;
@@ -74761,31 +73642,31 @@
 
 
     // $ANTLR start "rule__XAnnotation__Group_3__1__Impl"
-    // InternalReportDSL.g:22479:1: rule__XAnnotation__Group_3__1__Impl : ( ( rule__XAnnotation__Alternatives_3_1 )? ) ;
+    // InternalReportDSL.g:22189:1: rule__XAnnotation__Group_3__1__Impl : ( ( rule__XAnnotation__Alternatives_3_1 )? ) ;
     public final void rule__XAnnotation__Group_3__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:22483:1: ( ( ( rule__XAnnotation__Alternatives_3_1 )? ) )
-            // InternalReportDSL.g:22484:1: ( ( rule__XAnnotation__Alternatives_3_1 )? )
+            // InternalReportDSL.g:22193:1: ( ( ( rule__XAnnotation__Alternatives_3_1 )? ) )
+            // InternalReportDSL.g:22194:1: ( ( rule__XAnnotation__Alternatives_3_1 )? )
             {
-            // InternalReportDSL.g:22484:1: ( ( rule__XAnnotation__Alternatives_3_1 )? )
-            // InternalReportDSL.g:22485:2: ( rule__XAnnotation__Alternatives_3_1 )?
+            // InternalReportDSL.g:22194:1: ( ( rule__XAnnotation__Alternatives_3_1 )? )
+            // InternalReportDSL.g:22195:2: ( rule__XAnnotation__Alternatives_3_1 )?
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXAnnotationAccess().getAlternatives_3_1()); 
             }
-            // InternalReportDSL.g:22486:2: ( rule__XAnnotation__Alternatives_3_1 )?
-            int alt172=2;
-            int LA172_0 = input.LA(1);
+            // InternalReportDSL.g:22196:2: ( rule__XAnnotation__Alternatives_3_1 )?
+            int alt154=2;
+            int LA154_0 = input.LA(1);
 
-            if ( ((LA172_0>=RULE_STRING && LA172_0<=RULE_DECIMAL)||LA172_0==31||(LA172_0>=38 && LA172_0<=39)||LA172_0==44||(LA172_0>=49 && LA172_0<=54)||LA172_0==125||LA172_0==204||LA172_0==227||(LA172_0>=230 && LA172_0<=231)||LA172_0==233||LA172_0==235||(LA172_0>=239 && LA172_0<=247)||LA172_0==249||LA172_0==266) ) {
-                alt172=1;
+            if ( ((LA154_0>=RULE_STRING && LA154_0<=RULE_DECIMAL)||LA154_0==31||(LA154_0>=38 && LA154_0<=39)||LA154_0==44||(LA154_0>=49 && LA154_0<=54)||LA154_0==131||LA154_0==211||LA154_0==234||(LA154_0>=237 && LA154_0<=238)||LA154_0==240||LA154_0==242||(LA154_0>=246 && LA154_0<=254)||LA154_0==256||LA154_0==271) ) {
+                alt154=1;
             }
-            switch (alt172) {
+            switch (alt154) {
                 case 1 :
-                    // InternalReportDSL.g:22486:3: rule__XAnnotation__Alternatives_3_1
+                    // InternalReportDSL.g:22196:3: rule__XAnnotation__Alternatives_3_1
                     {
                     pushFollow(FOLLOW_2);
                     rule__XAnnotation__Alternatives_3_1();
@@ -74823,14 +73704,14 @@
 
 
     // $ANTLR start "rule__XAnnotation__Group_3__2"
-    // InternalReportDSL.g:22494:1: rule__XAnnotation__Group_3__2 : rule__XAnnotation__Group_3__2__Impl ;
+    // InternalReportDSL.g:22204:1: rule__XAnnotation__Group_3__2 : rule__XAnnotation__Group_3__2__Impl ;
     public final void rule__XAnnotation__Group_3__2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:22498:1: ( rule__XAnnotation__Group_3__2__Impl )
-            // InternalReportDSL.g:22499:2: rule__XAnnotation__Group_3__2__Impl
+            // InternalReportDSL.g:22208:1: ( rule__XAnnotation__Group_3__2__Impl )
+            // InternalReportDSL.g:22209:2: rule__XAnnotation__Group_3__2__Impl
             {
             pushFollow(FOLLOW_2);
             rule__XAnnotation__Group_3__2__Impl();
@@ -74856,22 +73737,22 @@
 
 
     // $ANTLR start "rule__XAnnotation__Group_3__2__Impl"
-    // InternalReportDSL.g:22505:1: rule__XAnnotation__Group_3__2__Impl : ( ')' ) ;
+    // InternalReportDSL.g:22215:1: rule__XAnnotation__Group_3__2__Impl : ( ')' ) ;
     public final void rule__XAnnotation__Group_3__2__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:22509:1: ( ( ')' ) )
-            // InternalReportDSL.g:22510:1: ( ')' )
+            // InternalReportDSL.g:22219:1: ( ( ')' ) )
+            // InternalReportDSL.g:22220:1: ( ')' )
             {
-            // InternalReportDSL.g:22510:1: ( ')' )
-            // InternalReportDSL.g:22511:2: ')'
+            // InternalReportDSL.g:22220:1: ( ')' )
+            // InternalReportDSL.g:22221:2: ')'
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXAnnotationAccess().getRightParenthesisKeyword_3_2()); 
             }
-            match(input,205,FOLLOW_2); if (state.failed) return ;
+            match(input,212,FOLLOW_2); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getXAnnotationAccess().getRightParenthesisKeyword_3_2()); 
             }
@@ -74897,16 +73778,16 @@
 
 
     // $ANTLR start "rule__XAnnotation__Group_3_1_0__0"
-    // InternalReportDSL.g:22521:1: rule__XAnnotation__Group_3_1_0__0 : rule__XAnnotation__Group_3_1_0__0__Impl rule__XAnnotation__Group_3_1_0__1 ;
+    // InternalReportDSL.g:22231:1: rule__XAnnotation__Group_3_1_0__0 : rule__XAnnotation__Group_3_1_0__0__Impl rule__XAnnotation__Group_3_1_0__1 ;
     public final void rule__XAnnotation__Group_3_1_0__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:22525:1: ( rule__XAnnotation__Group_3_1_0__0__Impl rule__XAnnotation__Group_3_1_0__1 )
-            // InternalReportDSL.g:22526:2: rule__XAnnotation__Group_3_1_0__0__Impl rule__XAnnotation__Group_3_1_0__1
+            // InternalReportDSL.g:22235:1: ( rule__XAnnotation__Group_3_1_0__0__Impl rule__XAnnotation__Group_3_1_0__1 )
+            // InternalReportDSL.g:22236:2: rule__XAnnotation__Group_3_1_0__0__Impl rule__XAnnotation__Group_3_1_0__1
             {
-            pushFollow(FOLLOW_137);
+            pushFollow(FOLLOW_136);
             rule__XAnnotation__Group_3_1_0__0__Impl();
 
             state._fsp--;
@@ -74935,23 +73816,23 @@
 
 
     // $ANTLR start "rule__XAnnotation__Group_3_1_0__0__Impl"
-    // InternalReportDSL.g:22533:1: rule__XAnnotation__Group_3_1_0__0__Impl : ( ( rule__XAnnotation__ElementValuePairsAssignment_3_1_0_0 ) ) ;
+    // InternalReportDSL.g:22243:1: rule__XAnnotation__Group_3_1_0__0__Impl : ( ( rule__XAnnotation__ElementValuePairsAssignment_3_1_0_0 ) ) ;
     public final void rule__XAnnotation__Group_3_1_0__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:22537:1: ( ( ( rule__XAnnotation__ElementValuePairsAssignment_3_1_0_0 ) ) )
-            // InternalReportDSL.g:22538:1: ( ( rule__XAnnotation__ElementValuePairsAssignment_3_1_0_0 ) )
+            // InternalReportDSL.g:22247:1: ( ( ( rule__XAnnotation__ElementValuePairsAssignment_3_1_0_0 ) ) )
+            // InternalReportDSL.g:22248:1: ( ( rule__XAnnotation__ElementValuePairsAssignment_3_1_0_0 ) )
             {
-            // InternalReportDSL.g:22538:1: ( ( rule__XAnnotation__ElementValuePairsAssignment_3_1_0_0 ) )
-            // InternalReportDSL.g:22539:2: ( rule__XAnnotation__ElementValuePairsAssignment_3_1_0_0 )
+            // InternalReportDSL.g:22248:1: ( ( rule__XAnnotation__ElementValuePairsAssignment_3_1_0_0 ) )
+            // InternalReportDSL.g:22249:2: ( rule__XAnnotation__ElementValuePairsAssignment_3_1_0_0 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXAnnotationAccess().getElementValuePairsAssignment_3_1_0_0()); 
             }
-            // InternalReportDSL.g:22540:2: ( rule__XAnnotation__ElementValuePairsAssignment_3_1_0_0 )
-            // InternalReportDSL.g:22540:3: rule__XAnnotation__ElementValuePairsAssignment_3_1_0_0
+            // InternalReportDSL.g:22250:2: ( rule__XAnnotation__ElementValuePairsAssignment_3_1_0_0 )
+            // InternalReportDSL.g:22250:3: rule__XAnnotation__ElementValuePairsAssignment_3_1_0_0
             {
             pushFollow(FOLLOW_2);
             rule__XAnnotation__ElementValuePairsAssignment_3_1_0_0();
@@ -74986,14 +73867,14 @@
 
 
     // $ANTLR start "rule__XAnnotation__Group_3_1_0__1"
-    // InternalReportDSL.g:22548:1: rule__XAnnotation__Group_3_1_0__1 : rule__XAnnotation__Group_3_1_0__1__Impl ;
+    // InternalReportDSL.g:22258:1: rule__XAnnotation__Group_3_1_0__1 : rule__XAnnotation__Group_3_1_0__1__Impl ;
     public final void rule__XAnnotation__Group_3_1_0__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:22552:1: ( rule__XAnnotation__Group_3_1_0__1__Impl )
-            // InternalReportDSL.g:22553:2: rule__XAnnotation__Group_3_1_0__1__Impl
+            // InternalReportDSL.g:22262:1: ( rule__XAnnotation__Group_3_1_0__1__Impl )
+            // InternalReportDSL.g:22263:2: rule__XAnnotation__Group_3_1_0__1__Impl
             {
             pushFollow(FOLLOW_2);
             rule__XAnnotation__Group_3_1_0__1__Impl();
@@ -75019,37 +73900,37 @@
 
 
     // $ANTLR start "rule__XAnnotation__Group_3_1_0__1__Impl"
-    // InternalReportDSL.g:22559:1: rule__XAnnotation__Group_3_1_0__1__Impl : ( ( rule__XAnnotation__Group_3_1_0_1__0 )* ) ;
+    // InternalReportDSL.g:22269:1: rule__XAnnotation__Group_3_1_0__1__Impl : ( ( rule__XAnnotation__Group_3_1_0_1__0 )* ) ;
     public final void rule__XAnnotation__Group_3_1_0__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:22563:1: ( ( ( rule__XAnnotation__Group_3_1_0_1__0 )* ) )
-            // InternalReportDSL.g:22564:1: ( ( rule__XAnnotation__Group_3_1_0_1__0 )* )
+            // InternalReportDSL.g:22273:1: ( ( ( rule__XAnnotation__Group_3_1_0_1__0 )* ) )
+            // InternalReportDSL.g:22274:1: ( ( rule__XAnnotation__Group_3_1_0_1__0 )* )
             {
-            // InternalReportDSL.g:22564:1: ( ( rule__XAnnotation__Group_3_1_0_1__0 )* )
-            // InternalReportDSL.g:22565:2: ( rule__XAnnotation__Group_3_1_0_1__0 )*
+            // InternalReportDSL.g:22274:1: ( ( rule__XAnnotation__Group_3_1_0_1__0 )* )
+            // InternalReportDSL.g:22275:2: ( rule__XAnnotation__Group_3_1_0_1__0 )*
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXAnnotationAccess().getGroup_3_1_0_1()); 
             }
-            // InternalReportDSL.g:22566:2: ( rule__XAnnotation__Group_3_1_0_1__0 )*
-            loop173:
+            // InternalReportDSL.g:22276:2: ( rule__XAnnotation__Group_3_1_0_1__0 )*
+            loop155:
             do {
-                int alt173=2;
-                int LA173_0 = input.LA(1);
+                int alt155=2;
+                int LA155_0 = input.LA(1);
 
-                if ( (LA173_0==228) ) {
-                    alt173=1;
+                if ( (LA155_0==235) ) {
+                    alt155=1;
                 }
 
 
-                switch (alt173) {
+                switch (alt155) {
             	case 1 :
-            	    // InternalReportDSL.g:22566:3: rule__XAnnotation__Group_3_1_0_1__0
+            	    // InternalReportDSL.g:22276:3: rule__XAnnotation__Group_3_1_0_1__0
             	    {
-            	    pushFollow(FOLLOW_138);
+            	    pushFollow(FOLLOW_137);
             	    rule__XAnnotation__Group_3_1_0_1__0();
 
             	    state._fsp--;
@@ -75059,7 +73940,7 @@
             	    break;
 
             	default :
-            	    break loop173;
+            	    break loop155;
                 }
             } while (true);
 
@@ -75088,14 +73969,14 @@
 
 
     // $ANTLR start "rule__XAnnotation__Group_3_1_0_1__0"
-    // InternalReportDSL.g:22575:1: rule__XAnnotation__Group_3_1_0_1__0 : rule__XAnnotation__Group_3_1_0_1__0__Impl rule__XAnnotation__Group_3_1_0_1__1 ;
+    // InternalReportDSL.g:22285:1: rule__XAnnotation__Group_3_1_0_1__0 : rule__XAnnotation__Group_3_1_0_1__0__Impl rule__XAnnotation__Group_3_1_0_1__1 ;
     public final void rule__XAnnotation__Group_3_1_0_1__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:22579:1: ( rule__XAnnotation__Group_3_1_0_1__0__Impl rule__XAnnotation__Group_3_1_0_1__1 )
-            // InternalReportDSL.g:22580:2: rule__XAnnotation__Group_3_1_0_1__0__Impl rule__XAnnotation__Group_3_1_0_1__1
+            // InternalReportDSL.g:22289:1: ( rule__XAnnotation__Group_3_1_0_1__0__Impl rule__XAnnotation__Group_3_1_0_1__1 )
+            // InternalReportDSL.g:22290:2: rule__XAnnotation__Group_3_1_0_1__0__Impl rule__XAnnotation__Group_3_1_0_1__1
             {
             pushFollow(FOLLOW_7);
             rule__XAnnotation__Group_3_1_0_1__0__Impl();
@@ -75126,22 +74007,22 @@
 
 
     // $ANTLR start "rule__XAnnotation__Group_3_1_0_1__0__Impl"
-    // InternalReportDSL.g:22587:1: rule__XAnnotation__Group_3_1_0_1__0__Impl : ( ',' ) ;
+    // InternalReportDSL.g:22297:1: rule__XAnnotation__Group_3_1_0_1__0__Impl : ( ',' ) ;
     public final void rule__XAnnotation__Group_3_1_0_1__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:22591:1: ( ( ',' ) )
-            // InternalReportDSL.g:22592:1: ( ',' )
+            // InternalReportDSL.g:22301:1: ( ( ',' ) )
+            // InternalReportDSL.g:22302:1: ( ',' )
             {
-            // InternalReportDSL.g:22592:1: ( ',' )
-            // InternalReportDSL.g:22593:2: ','
+            // InternalReportDSL.g:22302:1: ( ',' )
+            // InternalReportDSL.g:22303:2: ','
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXAnnotationAccess().getCommaKeyword_3_1_0_1_0()); 
             }
-            match(input,228,FOLLOW_2); if (state.failed) return ;
+            match(input,235,FOLLOW_2); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getXAnnotationAccess().getCommaKeyword_3_1_0_1_0()); 
             }
@@ -75167,14 +74048,14 @@
 
 
     // $ANTLR start "rule__XAnnotation__Group_3_1_0_1__1"
-    // InternalReportDSL.g:22602:1: rule__XAnnotation__Group_3_1_0_1__1 : rule__XAnnotation__Group_3_1_0_1__1__Impl ;
+    // InternalReportDSL.g:22312:1: rule__XAnnotation__Group_3_1_0_1__1 : rule__XAnnotation__Group_3_1_0_1__1__Impl ;
     public final void rule__XAnnotation__Group_3_1_0_1__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:22606:1: ( rule__XAnnotation__Group_3_1_0_1__1__Impl )
-            // InternalReportDSL.g:22607:2: rule__XAnnotation__Group_3_1_0_1__1__Impl
+            // InternalReportDSL.g:22316:1: ( rule__XAnnotation__Group_3_1_0_1__1__Impl )
+            // InternalReportDSL.g:22317:2: rule__XAnnotation__Group_3_1_0_1__1__Impl
             {
             pushFollow(FOLLOW_2);
             rule__XAnnotation__Group_3_1_0_1__1__Impl();
@@ -75200,23 +74081,23 @@
 
 
     // $ANTLR start "rule__XAnnotation__Group_3_1_0_1__1__Impl"
-    // InternalReportDSL.g:22613:1: rule__XAnnotation__Group_3_1_0_1__1__Impl : ( ( rule__XAnnotation__ElementValuePairsAssignment_3_1_0_1_1 ) ) ;
+    // InternalReportDSL.g:22323:1: rule__XAnnotation__Group_3_1_0_1__1__Impl : ( ( rule__XAnnotation__ElementValuePairsAssignment_3_1_0_1_1 ) ) ;
     public final void rule__XAnnotation__Group_3_1_0_1__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:22617:1: ( ( ( rule__XAnnotation__ElementValuePairsAssignment_3_1_0_1_1 ) ) )
-            // InternalReportDSL.g:22618:1: ( ( rule__XAnnotation__ElementValuePairsAssignment_3_1_0_1_1 ) )
+            // InternalReportDSL.g:22327:1: ( ( ( rule__XAnnotation__ElementValuePairsAssignment_3_1_0_1_1 ) ) )
+            // InternalReportDSL.g:22328:1: ( ( rule__XAnnotation__ElementValuePairsAssignment_3_1_0_1_1 ) )
             {
-            // InternalReportDSL.g:22618:1: ( ( rule__XAnnotation__ElementValuePairsAssignment_3_1_0_1_1 ) )
-            // InternalReportDSL.g:22619:2: ( rule__XAnnotation__ElementValuePairsAssignment_3_1_0_1_1 )
+            // InternalReportDSL.g:22328:1: ( ( rule__XAnnotation__ElementValuePairsAssignment_3_1_0_1_1 ) )
+            // InternalReportDSL.g:22329:2: ( rule__XAnnotation__ElementValuePairsAssignment_3_1_0_1_1 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXAnnotationAccess().getElementValuePairsAssignment_3_1_0_1_1()); 
             }
-            // InternalReportDSL.g:22620:2: ( rule__XAnnotation__ElementValuePairsAssignment_3_1_0_1_1 )
-            // InternalReportDSL.g:22620:3: rule__XAnnotation__ElementValuePairsAssignment_3_1_0_1_1
+            // InternalReportDSL.g:22330:2: ( rule__XAnnotation__ElementValuePairsAssignment_3_1_0_1_1 )
+            // InternalReportDSL.g:22330:3: rule__XAnnotation__ElementValuePairsAssignment_3_1_0_1_1
             {
             pushFollow(FOLLOW_2);
             rule__XAnnotation__ElementValuePairsAssignment_3_1_0_1_1();
@@ -75251,16 +74132,16 @@
 
 
     // $ANTLR start "rule__XAnnotationElementValuePair__Group__0"
-    // InternalReportDSL.g:22629:1: rule__XAnnotationElementValuePair__Group__0 : rule__XAnnotationElementValuePair__Group__0__Impl rule__XAnnotationElementValuePair__Group__1 ;
+    // InternalReportDSL.g:22339:1: rule__XAnnotationElementValuePair__Group__0 : rule__XAnnotationElementValuePair__Group__0__Impl rule__XAnnotationElementValuePair__Group__1 ;
     public final void rule__XAnnotationElementValuePair__Group__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:22633:1: ( rule__XAnnotationElementValuePair__Group__0__Impl rule__XAnnotationElementValuePair__Group__1 )
-            // InternalReportDSL.g:22634:2: rule__XAnnotationElementValuePair__Group__0__Impl rule__XAnnotationElementValuePair__Group__1
+            // InternalReportDSL.g:22343:1: ( rule__XAnnotationElementValuePair__Group__0__Impl rule__XAnnotationElementValuePair__Group__1 )
+            // InternalReportDSL.g:22344:2: rule__XAnnotationElementValuePair__Group__0__Impl rule__XAnnotationElementValuePair__Group__1
             {
-            pushFollow(FOLLOW_139);
+            pushFollow(FOLLOW_138);
             rule__XAnnotationElementValuePair__Group__0__Impl();
 
             state._fsp--;
@@ -75289,23 +74170,23 @@
 
 
     // $ANTLR start "rule__XAnnotationElementValuePair__Group__0__Impl"
-    // InternalReportDSL.g:22641:1: rule__XAnnotationElementValuePair__Group__0__Impl : ( ( rule__XAnnotationElementValuePair__Group_0__0 ) ) ;
+    // InternalReportDSL.g:22351:1: rule__XAnnotationElementValuePair__Group__0__Impl : ( ( rule__XAnnotationElementValuePair__Group_0__0 ) ) ;
     public final void rule__XAnnotationElementValuePair__Group__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:22645:1: ( ( ( rule__XAnnotationElementValuePair__Group_0__0 ) ) )
-            // InternalReportDSL.g:22646:1: ( ( rule__XAnnotationElementValuePair__Group_0__0 ) )
+            // InternalReportDSL.g:22355:1: ( ( ( rule__XAnnotationElementValuePair__Group_0__0 ) ) )
+            // InternalReportDSL.g:22356:1: ( ( rule__XAnnotationElementValuePair__Group_0__0 ) )
             {
-            // InternalReportDSL.g:22646:1: ( ( rule__XAnnotationElementValuePair__Group_0__0 ) )
-            // InternalReportDSL.g:22647:2: ( rule__XAnnotationElementValuePair__Group_0__0 )
+            // InternalReportDSL.g:22356:1: ( ( rule__XAnnotationElementValuePair__Group_0__0 ) )
+            // InternalReportDSL.g:22357:2: ( rule__XAnnotationElementValuePair__Group_0__0 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXAnnotationElementValuePairAccess().getGroup_0()); 
             }
-            // InternalReportDSL.g:22648:2: ( rule__XAnnotationElementValuePair__Group_0__0 )
-            // InternalReportDSL.g:22648:3: rule__XAnnotationElementValuePair__Group_0__0
+            // InternalReportDSL.g:22358:2: ( rule__XAnnotationElementValuePair__Group_0__0 )
+            // InternalReportDSL.g:22358:3: rule__XAnnotationElementValuePair__Group_0__0
             {
             pushFollow(FOLLOW_2);
             rule__XAnnotationElementValuePair__Group_0__0();
@@ -75340,14 +74221,14 @@
 
 
     // $ANTLR start "rule__XAnnotationElementValuePair__Group__1"
-    // InternalReportDSL.g:22656:1: rule__XAnnotationElementValuePair__Group__1 : rule__XAnnotationElementValuePair__Group__1__Impl ;
+    // InternalReportDSL.g:22366:1: rule__XAnnotationElementValuePair__Group__1 : rule__XAnnotationElementValuePair__Group__1__Impl ;
     public final void rule__XAnnotationElementValuePair__Group__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:22660:1: ( rule__XAnnotationElementValuePair__Group__1__Impl )
-            // InternalReportDSL.g:22661:2: rule__XAnnotationElementValuePair__Group__1__Impl
+            // InternalReportDSL.g:22370:1: ( rule__XAnnotationElementValuePair__Group__1__Impl )
+            // InternalReportDSL.g:22371:2: rule__XAnnotationElementValuePair__Group__1__Impl
             {
             pushFollow(FOLLOW_2);
             rule__XAnnotationElementValuePair__Group__1__Impl();
@@ -75373,23 +74254,23 @@
 
 
     // $ANTLR start "rule__XAnnotationElementValuePair__Group__1__Impl"
-    // InternalReportDSL.g:22667:1: rule__XAnnotationElementValuePair__Group__1__Impl : ( ( rule__XAnnotationElementValuePair__ValueAssignment_1 ) ) ;
+    // InternalReportDSL.g:22377:1: rule__XAnnotationElementValuePair__Group__1__Impl : ( ( rule__XAnnotationElementValuePair__ValueAssignment_1 ) ) ;
     public final void rule__XAnnotationElementValuePair__Group__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:22671:1: ( ( ( rule__XAnnotationElementValuePair__ValueAssignment_1 ) ) )
-            // InternalReportDSL.g:22672:1: ( ( rule__XAnnotationElementValuePair__ValueAssignment_1 ) )
+            // InternalReportDSL.g:22381:1: ( ( ( rule__XAnnotationElementValuePair__ValueAssignment_1 ) ) )
+            // InternalReportDSL.g:22382:1: ( ( rule__XAnnotationElementValuePair__ValueAssignment_1 ) )
             {
-            // InternalReportDSL.g:22672:1: ( ( rule__XAnnotationElementValuePair__ValueAssignment_1 ) )
-            // InternalReportDSL.g:22673:2: ( rule__XAnnotationElementValuePair__ValueAssignment_1 )
+            // InternalReportDSL.g:22382:1: ( ( rule__XAnnotationElementValuePair__ValueAssignment_1 ) )
+            // InternalReportDSL.g:22383:2: ( rule__XAnnotationElementValuePair__ValueAssignment_1 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXAnnotationElementValuePairAccess().getValueAssignment_1()); 
             }
-            // InternalReportDSL.g:22674:2: ( rule__XAnnotationElementValuePair__ValueAssignment_1 )
-            // InternalReportDSL.g:22674:3: rule__XAnnotationElementValuePair__ValueAssignment_1
+            // InternalReportDSL.g:22384:2: ( rule__XAnnotationElementValuePair__ValueAssignment_1 )
+            // InternalReportDSL.g:22384:3: rule__XAnnotationElementValuePair__ValueAssignment_1
             {
             pushFollow(FOLLOW_2);
             rule__XAnnotationElementValuePair__ValueAssignment_1();
@@ -75424,14 +74305,14 @@
 
 
     // $ANTLR start "rule__XAnnotationElementValuePair__Group_0__0"
-    // InternalReportDSL.g:22683:1: rule__XAnnotationElementValuePair__Group_0__0 : rule__XAnnotationElementValuePair__Group_0__0__Impl ;
+    // InternalReportDSL.g:22393:1: rule__XAnnotationElementValuePair__Group_0__0 : rule__XAnnotationElementValuePair__Group_0__0__Impl ;
     public final void rule__XAnnotationElementValuePair__Group_0__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:22687:1: ( rule__XAnnotationElementValuePair__Group_0__0__Impl )
-            // InternalReportDSL.g:22688:2: rule__XAnnotationElementValuePair__Group_0__0__Impl
+            // InternalReportDSL.g:22397:1: ( rule__XAnnotationElementValuePair__Group_0__0__Impl )
+            // InternalReportDSL.g:22398:2: rule__XAnnotationElementValuePair__Group_0__0__Impl
             {
             pushFollow(FOLLOW_2);
             rule__XAnnotationElementValuePair__Group_0__0__Impl();
@@ -75457,23 +74338,23 @@
 
 
     // $ANTLR start "rule__XAnnotationElementValuePair__Group_0__0__Impl"
-    // InternalReportDSL.g:22694:1: rule__XAnnotationElementValuePair__Group_0__0__Impl : ( ( rule__XAnnotationElementValuePair__Group_0_0__0 ) ) ;
+    // InternalReportDSL.g:22404:1: rule__XAnnotationElementValuePair__Group_0__0__Impl : ( ( rule__XAnnotationElementValuePair__Group_0_0__0 ) ) ;
     public final void rule__XAnnotationElementValuePair__Group_0__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:22698:1: ( ( ( rule__XAnnotationElementValuePair__Group_0_0__0 ) ) )
-            // InternalReportDSL.g:22699:1: ( ( rule__XAnnotationElementValuePair__Group_0_0__0 ) )
+            // InternalReportDSL.g:22408:1: ( ( ( rule__XAnnotationElementValuePair__Group_0_0__0 ) ) )
+            // InternalReportDSL.g:22409:1: ( ( rule__XAnnotationElementValuePair__Group_0_0__0 ) )
             {
-            // InternalReportDSL.g:22699:1: ( ( rule__XAnnotationElementValuePair__Group_0_0__0 ) )
-            // InternalReportDSL.g:22700:2: ( rule__XAnnotationElementValuePair__Group_0_0__0 )
+            // InternalReportDSL.g:22409:1: ( ( rule__XAnnotationElementValuePair__Group_0_0__0 ) )
+            // InternalReportDSL.g:22410:2: ( rule__XAnnotationElementValuePair__Group_0_0__0 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXAnnotationElementValuePairAccess().getGroup_0_0()); 
             }
-            // InternalReportDSL.g:22701:2: ( rule__XAnnotationElementValuePair__Group_0_0__0 )
-            // InternalReportDSL.g:22701:3: rule__XAnnotationElementValuePair__Group_0_0__0
+            // InternalReportDSL.g:22411:2: ( rule__XAnnotationElementValuePair__Group_0_0__0 )
+            // InternalReportDSL.g:22411:3: rule__XAnnotationElementValuePair__Group_0_0__0
             {
             pushFollow(FOLLOW_2);
             rule__XAnnotationElementValuePair__Group_0_0__0();
@@ -75508,16 +74389,16 @@
 
 
     // $ANTLR start "rule__XAnnotationElementValuePair__Group_0_0__0"
-    // InternalReportDSL.g:22710:1: rule__XAnnotationElementValuePair__Group_0_0__0 : rule__XAnnotationElementValuePair__Group_0_0__0__Impl rule__XAnnotationElementValuePair__Group_0_0__1 ;
+    // InternalReportDSL.g:22420:1: rule__XAnnotationElementValuePair__Group_0_0__0 : rule__XAnnotationElementValuePair__Group_0_0__0__Impl rule__XAnnotationElementValuePair__Group_0_0__1 ;
     public final void rule__XAnnotationElementValuePair__Group_0_0__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:22714:1: ( rule__XAnnotationElementValuePair__Group_0_0__0__Impl rule__XAnnotationElementValuePair__Group_0_0__1 )
-            // InternalReportDSL.g:22715:2: rule__XAnnotationElementValuePair__Group_0_0__0__Impl rule__XAnnotationElementValuePair__Group_0_0__1
+            // InternalReportDSL.g:22424:1: ( rule__XAnnotationElementValuePair__Group_0_0__0__Impl rule__XAnnotationElementValuePair__Group_0_0__1 )
+            // InternalReportDSL.g:22425:2: rule__XAnnotationElementValuePair__Group_0_0__0__Impl rule__XAnnotationElementValuePair__Group_0_0__1
             {
-            pushFollow(FOLLOW_140);
+            pushFollow(FOLLOW_139);
             rule__XAnnotationElementValuePair__Group_0_0__0__Impl();
 
             state._fsp--;
@@ -75546,23 +74427,23 @@
 
 
     // $ANTLR start "rule__XAnnotationElementValuePair__Group_0_0__0__Impl"
-    // InternalReportDSL.g:22722:1: rule__XAnnotationElementValuePair__Group_0_0__0__Impl : ( ( rule__XAnnotationElementValuePair__ElementAssignment_0_0_0 ) ) ;
+    // InternalReportDSL.g:22432:1: rule__XAnnotationElementValuePair__Group_0_0__0__Impl : ( ( rule__XAnnotationElementValuePair__ElementAssignment_0_0_0 ) ) ;
     public final void rule__XAnnotationElementValuePair__Group_0_0__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:22726:1: ( ( ( rule__XAnnotationElementValuePair__ElementAssignment_0_0_0 ) ) )
-            // InternalReportDSL.g:22727:1: ( ( rule__XAnnotationElementValuePair__ElementAssignment_0_0_0 ) )
+            // InternalReportDSL.g:22436:1: ( ( ( rule__XAnnotationElementValuePair__ElementAssignment_0_0_0 ) ) )
+            // InternalReportDSL.g:22437:1: ( ( rule__XAnnotationElementValuePair__ElementAssignment_0_0_0 ) )
             {
-            // InternalReportDSL.g:22727:1: ( ( rule__XAnnotationElementValuePair__ElementAssignment_0_0_0 ) )
-            // InternalReportDSL.g:22728:2: ( rule__XAnnotationElementValuePair__ElementAssignment_0_0_0 )
+            // InternalReportDSL.g:22437:1: ( ( rule__XAnnotationElementValuePair__ElementAssignment_0_0_0 ) )
+            // InternalReportDSL.g:22438:2: ( rule__XAnnotationElementValuePair__ElementAssignment_0_0_0 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXAnnotationElementValuePairAccess().getElementAssignment_0_0_0()); 
             }
-            // InternalReportDSL.g:22729:2: ( rule__XAnnotationElementValuePair__ElementAssignment_0_0_0 )
-            // InternalReportDSL.g:22729:3: rule__XAnnotationElementValuePair__ElementAssignment_0_0_0
+            // InternalReportDSL.g:22439:2: ( rule__XAnnotationElementValuePair__ElementAssignment_0_0_0 )
+            // InternalReportDSL.g:22439:3: rule__XAnnotationElementValuePair__ElementAssignment_0_0_0
             {
             pushFollow(FOLLOW_2);
             rule__XAnnotationElementValuePair__ElementAssignment_0_0_0();
@@ -75597,14 +74478,14 @@
 
 
     // $ANTLR start "rule__XAnnotationElementValuePair__Group_0_0__1"
-    // InternalReportDSL.g:22737:1: rule__XAnnotationElementValuePair__Group_0_0__1 : rule__XAnnotationElementValuePair__Group_0_0__1__Impl ;
+    // InternalReportDSL.g:22447:1: rule__XAnnotationElementValuePair__Group_0_0__1 : rule__XAnnotationElementValuePair__Group_0_0__1__Impl ;
     public final void rule__XAnnotationElementValuePair__Group_0_0__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:22741:1: ( rule__XAnnotationElementValuePair__Group_0_0__1__Impl )
-            // InternalReportDSL.g:22742:2: rule__XAnnotationElementValuePair__Group_0_0__1__Impl
+            // InternalReportDSL.g:22451:1: ( rule__XAnnotationElementValuePair__Group_0_0__1__Impl )
+            // InternalReportDSL.g:22452:2: rule__XAnnotationElementValuePair__Group_0_0__1__Impl
             {
             pushFollow(FOLLOW_2);
             rule__XAnnotationElementValuePair__Group_0_0__1__Impl();
@@ -75630,17 +74511,17 @@
 
 
     // $ANTLR start "rule__XAnnotationElementValuePair__Group_0_0__1__Impl"
-    // InternalReportDSL.g:22748:1: rule__XAnnotationElementValuePair__Group_0_0__1__Impl : ( '=' ) ;
+    // InternalReportDSL.g:22458:1: rule__XAnnotationElementValuePair__Group_0_0__1__Impl : ( '=' ) ;
     public final void rule__XAnnotationElementValuePair__Group_0_0__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:22752:1: ( ( '=' ) )
-            // InternalReportDSL.g:22753:1: ( '=' )
+            // InternalReportDSL.g:22462:1: ( ( '=' ) )
+            // InternalReportDSL.g:22463:1: ( '=' )
             {
-            // InternalReportDSL.g:22753:1: ( '=' )
-            // InternalReportDSL.g:22754:2: '='
+            // InternalReportDSL.g:22463:1: ( '=' )
+            // InternalReportDSL.g:22464:2: '='
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXAnnotationElementValuePairAccess().getEqualsSignKeyword_0_0_1()); 
@@ -75671,16 +74552,16 @@
 
 
     // $ANTLR start "rule__XAnnotationElementValueOrCommaList__Group_0__0"
-    // InternalReportDSL.g:22764:1: rule__XAnnotationElementValueOrCommaList__Group_0__0 : rule__XAnnotationElementValueOrCommaList__Group_0__0__Impl rule__XAnnotationElementValueOrCommaList__Group_0__1 ;
+    // InternalReportDSL.g:22474:1: rule__XAnnotationElementValueOrCommaList__Group_0__0 : rule__XAnnotationElementValueOrCommaList__Group_0__0__Impl rule__XAnnotationElementValueOrCommaList__Group_0__1 ;
     public final void rule__XAnnotationElementValueOrCommaList__Group_0__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:22768:1: ( rule__XAnnotationElementValueOrCommaList__Group_0__0__Impl rule__XAnnotationElementValueOrCommaList__Group_0__1 )
-            // InternalReportDSL.g:22769:2: rule__XAnnotationElementValueOrCommaList__Group_0__0__Impl rule__XAnnotationElementValueOrCommaList__Group_0__1
+            // InternalReportDSL.g:22478:1: ( rule__XAnnotationElementValueOrCommaList__Group_0__0__Impl rule__XAnnotationElementValueOrCommaList__Group_0__1 )
+            // InternalReportDSL.g:22479:2: rule__XAnnotationElementValueOrCommaList__Group_0__0__Impl rule__XAnnotationElementValueOrCommaList__Group_0__1
             {
-            pushFollow(FOLLOW_141);
+            pushFollow(FOLLOW_140);
             rule__XAnnotationElementValueOrCommaList__Group_0__0__Impl();
 
             state._fsp--;
@@ -75709,23 +74590,23 @@
 
 
     // $ANTLR start "rule__XAnnotationElementValueOrCommaList__Group_0__0__Impl"
-    // InternalReportDSL.g:22776:1: rule__XAnnotationElementValueOrCommaList__Group_0__0__Impl : ( ( rule__XAnnotationElementValueOrCommaList__Group_0_0__0 ) ) ;
+    // InternalReportDSL.g:22486:1: rule__XAnnotationElementValueOrCommaList__Group_0__0__Impl : ( ( rule__XAnnotationElementValueOrCommaList__Group_0_0__0 ) ) ;
     public final void rule__XAnnotationElementValueOrCommaList__Group_0__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:22780:1: ( ( ( rule__XAnnotationElementValueOrCommaList__Group_0_0__0 ) ) )
-            // InternalReportDSL.g:22781:1: ( ( rule__XAnnotationElementValueOrCommaList__Group_0_0__0 ) )
+            // InternalReportDSL.g:22490:1: ( ( ( rule__XAnnotationElementValueOrCommaList__Group_0_0__0 ) ) )
+            // InternalReportDSL.g:22491:1: ( ( rule__XAnnotationElementValueOrCommaList__Group_0_0__0 ) )
             {
-            // InternalReportDSL.g:22781:1: ( ( rule__XAnnotationElementValueOrCommaList__Group_0_0__0 ) )
-            // InternalReportDSL.g:22782:2: ( rule__XAnnotationElementValueOrCommaList__Group_0_0__0 )
+            // InternalReportDSL.g:22491:1: ( ( rule__XAnnotationElementValueOrCommaList__Group_0_0__0 ) )
+            // InternalReportDSL.g:22492:2: ( rule__XAnnotationElementValueOrCommaList__Group_0_0__0 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXAnnotationElementValueOrCommaListAccess().getGroup_0_0()); 
             }
-            // InternalReportDSL.g:22783:2: ( rule__XAnnotationElementValueOrCommaList__Group_0_0__0 )
-            // InternalReportDSL.g:22783:3: rule__XAnnotationElementValueOrCommaList__Group_0_0__0
+            // InternalReportDSL.g:22493:2: ( rule__XAnnotationElementValueOrCommaList__Group_0_0__0 )
+            // InternalReportDSL.g:22493:3: rule__XAnnotationElementValueOrCommaList__Group_0_0__0
             {
             pushFollow(FOLLOW_2);
             rule__XAnnotationElementValueOrCommaList__Group_0_0__0();
@@ -75760,16 +74641,16 @@
 
 
     // $ANTLR start "rule__XAnnotationElementValueOrCommaList__Group_0__1"
-    // InternalReportDSL.g:22791:1: rule__XAnnotationElementValueOrCommaList__Group_0__1 : rule__XAnnotationElementValueOrCommaList__Group_0__1__Impl rule__XAnnotationElementValueOrCommaList__Group_0__2 ;
+    // InternalReportDSL.g:22501:1: rule__XAnnotationElementValueOrCommaList__Group_0__1 : rule__XAnnotationElementValueOrCommaList__Group_0__1__Impl rule__XAnnotationElementValueOrCommaList__Group_0__2 ;
     public final void rule__XAnnotationElementValueOrCommaList__Group_0__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:22795:1: ( rule__XAnnotationElementValueOrCommaList__Group_0__1__Impl rule__XAnnotationElementValueOrCommaList__Group_0__2 )
-            // InternalReportDSL.g:22796:2: rule__XAnnotationElementValueOrCommaList__Group_0__1__Impl rule__XAnnotationElementValueOrCommaList__Group_0__2
+            // InternalReportDSL.g:22505:1: ( rule__XAnnotationElementValueOrCommaList__Group_0__1__Impl rule__XAnnotationElementValueOrCommaList__Group_0__2 )
+            // InternalReportDSL.g:22506:2: rule__XAnnotationElementValueOrCommaList__Group_0__1__Impl rule__XAnnotationElementValueOrCommaList__Group_0__2
             {
-            pushFollow(FOLLOW_141);
+            pushFollow(FOLLOW_140);
             rule__XAnnotationElementValueOrCommaList__Group_0__1__Impl();
 
             state._fsp--;
@@ -75798,31 +74679,31 @@
 
 
     // $ANTLR start "rule__XAnnotationElementValueOrCommaList__Group_0__1__Impl"
-    // InternalReportDSL.g:22803:1: rule__XAnnotationElementValueOrCommaList__Group_0__1__Impl : ( ( rule__XAnnotationElementValueOrCommaList__Group_0_1__0 )? ) ;
+    // InternalReportDSL.g:22513:1: rule__XAnnotationElementValueOrCommaList__Group_0__1__Impl : ( ( rule__XAnnotationElementValueOrCommaList__Group_0_1__0 )? ) ;
     public final void rule__XAnnotationElementValueOrCommaList__Group_0__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:22807:1: ( ( ( rule__XAnnotationElementValueOrCommaList__Group_0_1__0 )? ) )
-            // InternalReportDSL.g:22808:1: ( ( rule__XAnnotationElementValueOrCommaList__Group_0_1__0 )? )
+            // InternalReportDSL.g:22517:1: ( ( ( rule__XAnnotationElementValueOrCommaList__Group_0_1__0 )? ) )
+            // InternalReportDSL.g:22518:1: ( ( rule__XAnnotationElementValueOrCommaList__Group_0_1__0 )? )
             {
-            // InternalReportDSL.g:22808:1: ( ( rule__XAnnotationElementValueOrCommaList__Group_0_1__0 )? )
-            // InternalReportDSL.g:22809:2: ( rule__XAnnotationElementValueOrCommaList__Group_0_1__0 )?
+            // InternalReportDSL.g:22518:1: ( ( rule__XAnnotationElementValueOrCommaList__Group_0_1__0 )? )
+            // InternalReportDSL.g:22519:2: ( rule__XAnnotationElementValueOrCommaList__Group_0_1__0 )?
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXAnnotationElementValueOrCommaListAccess().getGroup_0_1()); 
             }
-            // InternalReportDSL.g:22810:2: ( rule__XAnnotationElementValueOrCommaList__Group_0_1__0 )?
-            int alt174=2;
-            int LA174_0 = input.LA(1);
+            // InternalReportDSL.g:22520:2: ( rule__XAnnotationElementValueOrCommaList__Group_0_1__0 )?
+            int alt156=2;
+            int LA156_0 = input.LA(1);
 
-            if ( ((LA174_0>=RULE_STRING && LA174_0<=RULE_DECIMAL)||LA174_0==31||(LA174_0>=38 && LA174_0<=39)||LA174_0==44||(LA174_0>=49 && LA174_0<=54)||LA174_0==125||LA174_0==204||LA174_0==227||(LA174_0>=230 && LA174_0<=231)||LA174_0==233||LA174_0==235||(LA174_0>=239 && LA174_0<=247)||LA174_0==249||LA174_0==266) ) {
-                alt174=1;
+            if ( ((LA156_0>=RULE_STRING && LA156_0<=RULE_DECIMAL)||LA156_0==31||(LA156_0>=38 && LA156_0<=39)||LA156_0==44||(LA156_0>=49 && LA156_0<=54)||LA156_0==131||LA156_0==211||LA156_0==234||(LA156_0>=237 && LA156_0<=238)||LA156_0==240||LA156_0==242||(LA156_0>=246 && LA156_0<=254)||LA156_0==256||LA156_0==271) ) {
+                alt156=1;
             }
-            switch (alt174) {
+            switch (alt156) {
                 case 1 :
-                    // InternalReportDSL.g:22810:3: rule__XAnnotationElementValueOrCommaList__Group_0_1__0
+                    // InternalReportDSL.g:22520:3: rule__XAnnotationElementValueOrCommaList__Group_0_1__0
                     {
                     pushFollow(FOLLOW_2);
                     rule__XAnnotationElementValueOrCommaList__Group_0_1__0();
@@ -75860,14 +74741,14 @@
 
 
     // $ANTLR start "rule__XAnnotationElementValueOrCommaList__Group_0__2"
-    // InternalReportDSL.g:22818:1: rule__XAnnotationElementValueOrCommaList__Group_0__2 : rule__XAnnotationElementValueOrCommaList__Group_0__2__Impl ;
+    // InternalReportDSL.g:22528:1: rule__XAnnotationElementValueOrCommaList__Group_0__2 : rule__XAnnotationElementValueOrCommaList__Group_0__2__Impl ;
     public final void rule__XAnnotationElementValueOrCommaList__Group_0__2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:22822:1: ( rule__XAnnotationElementValueOrCommaList__Group_0__2__Impl )
-            // InternalReportDSL.g:22823:2: rule__XAnnotationElementValueOrCommaList__Group_0__2__Impl
+            // InternalReportDSL.g:22532:1: ( rule__XAnnotationElementValueOrCommaList__Group_0__2__Impl )
+            // InternalReportDSL.g:22533:2: rule__XAnnotationElementValueOrCommaList__Group_0__2__Impl
             {
             pushFollow(FOLLOW_2);
             rule__XAnnotationElementValueOrCommaList__Group_0__2__Impl();
@@ -75893,22 +74774,22 @@
 
 
     // $ANTLR start "rule__XAnnotationElementValueOrCommaList__Group_0__2__Impl"
-    // InternalReportDSL.g:22829:1: rule__XAnnotationElementValueOrCommaList__Group_0__2__Impl : ( ']' ) ;
+    // InternalReportDSL.g:22539:1: rule__XAnnotationElementValueOrCommaList__Group_0__2__Impl : ( ']' ) ;
     public final void rule__XAnnotationElementValueOrCommaList__Group_0__2__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:22833:1: ( ( ']' ) )
-            // InternalReportDSL.g:22834:1: ( ']' )
+            // InternalReportDSL.g:22543:1: ( ( ']' ) )
+            // InternalReportDSL.g:22544:1: ( ']' )
             {
-            // InternalReportDSL.g:22834:1: ( ']' )
-            // InternalReportDSL.g:22835:2: ']'
+            // InternalReportDSL.g:22544:1: ( ']' )
+            // InternalReportDSL.g:22545:2: ']'
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXAnnotationElementValueOrCommaListAccess().getRightSquareBracketKeyword_0_2()); 
             }
-            match(input,229,FOLLOW_2); if (state.failed) return ;
+            match(input,236,FOLLOW_2); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getXAnnotationElementValueOrCommaListAccess().getRightSquareBracketKeyword_0_2()); 
             }
@@ -75934,14 +74815,14 @@
 
 
     // $ANTLR start "rule__XAnnotationElementValueOrCommaList__Group_0_0__0"
-    // InternalReportDSL.g:22845:1: rule__XAnnotationElementValueOrCommaList__Group_0_0__0 : rule__XAnnotationElementValueOrCommaList__Group_0_0__0__Impl ;
+    // InternalReportDSL.g:22555:1: rule__XAnnotationElementValueOrCommaList__Group_0_0__0 : rule__XAnnotationElementValueOrCommaList__Group_0_0__0__Impl ;
     public final void rule__XAnnotationElementValueOrCommaList__Group_0_0__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:22849:1: ( rule__XAnnotationElementValueOrCommaList__Group_0_0__0__Impl )
-            // InternalReportDSL.g:22850:2: rule__XAnnotationElementValueOrCommaList__Group_0_0__0__Impl
+            // InternalReportDSL.g:22559:1: ( rule__XAnnotationElementValueOrCommaList__Group_0_0__0__Impl )
+            // InternalReportDSL.g:22560:2: rule__XAnnotationElementValueOrCommaList__Group_0_0__0__Impl
             {
             pushFollow(FOLLOW_2);
             rule__XAnnotationElementValueOrCommaList__Group_0_0__0__Impl();
@@ -75967,23 +74848,23 @@
 
 
     // $ANTLR start "rule__XAnnotationElementValueOrCommaList__Group_0_0__0__Impl"
-    // InternalReportDSL.g:22856:1: rule__XAnnotationElementValueOrCommaList__Group_0_0__0__Impl : ( ( rule__XAnnotationElementValueOrCommaList__Group_0_0_0__0 ) ) ;
+    // InternalReportDSL.g:22566:1: rule__XAnnotationElementValueOrCommaList__Group_0_0__0__Impl : ( ( rule__XAnnotationElementValueOrCommaList__Group_0_0_0__0 ) ) ;
     public final void rule__XAnnotationElementValueOrCommaList__Group_0_0__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:22860:1: ( ( ( rule__XAnnotationElementValueOrCommaList__Group_0_0_0__0 ) ) )
-            // InternalReportDSL.g:22861:1: ( ( rule__XAnnotationElementValueOrCommaList__Group_0_0_0__0 ) )
+            // InternalReportDSL.g:22570:1: ( ( ( rule__XAnnotationElementValueOrCommaList__Group_0_0_0__0 ) ) )
+            // InternalReportDSL.g:22571:1: ( ( rule__XAnnotationElementValueOrCommaList__Group_0_0_0__0 ) )
             {
-            // InternalReportDSL.g:22861:1: ( ( rule__XAnnotationElementValueOrCommaList__Group_0_0_0__0 ) )
-            // InternalReportDSL.g:22862:2: ( rule__XAnnotationElementValueOrCommaList__Group_0_0_0__0 )
+            // InternalReportDSL.g:22571:1: ( ( rule__XAnnotationElementValueOrCommaList__Group_0_0_0__0 ) )
+            // InternalReportDSL.g:22572:2: ( rule__XAnnotationElementValueOrCommaList__Group_0_0_0__0 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXAnnotationElementValueOrCommaListAccess().getGroup_0_0_0()); 
             }
-            // InternalReportDSL.g:22863:2: ( rule__XAnnotationElementValueOrCommaList__Group_0_0_0__0 )
-            // InternalReportDSL.g:22863:3: rule__XAnnotationElementValueOrCommaList__Group_0_0_0__0
+            // InternalReportDSL.g:22573:2: ( rule__XAnnotationElementValueOrCommaList__Group_0_0_0__0 )
+            // InternalReportDSL.g:22573:3: rule__XAnnotationElementValueOrCommaList__Group_0_0_0__0
             {
             pushFollow(FOLLOW_2);
             rule__XAnnotationElementValueOrCommaList__Group_0_0_0__0();
@@ -76018,16 +74899,16 @@
 
 
     // $ANTLR start "rule__XAnnotationElementValueOrCommaList__Group_0_0_0__0"
-    // InternalReportDSL.g:22872:1: rule__XAnnotationElementValueOrCommaList__Group_0_0_0__0 : rule__XAnnotationElementValueOrCommaList__Group_0_0_0__0__Impl rule__XAnnotationElementValueOrCommaList__Group_0_0_0__1 ;
+    // InternalReportDSL.g:22582:1: rule__XAnnotationElementValueOrCommaList__Group_0_0_0__0 : rule__XAnnotationElementValueOrCommaList__Group_0_0_0__0__Impl rule__XAnnotationElementValueOrCommaList__Group_0_0_0__1 ;
     public final void rule__XAnnotationElementValueOrCommaList__Group_0_0_0__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:22876:1: ( rule__XAnnotationElementValueOrCommaList__Group_0_0_0__0__Impl rule__XAnnotationElementValueOrCommaList__Group_0_0_0__1 )
-            // InternalReportDSL.g:22877:2: rule__XAnnotationElementValueOrCommaList__Group_0_0_0__0__Impl rule__XAnnotationElementValueOrCommaList__Group_0_0_0__1
+            // InternalReportDSL.g:22586:1: ( rule__XAnnotationElementValueOrCommaList__Group_0_0_0__0__Impl rule__XAnnotationElementValueOrCommaList__Group_0_0_0__1 )
+            // InternalReportDSL.g:22587:2: rule__XAnnotationElementValueOrCommaList__Group_0_0_0__0__Impl rule__XAnnotationElementValueOrCommaList__Group_0_0_0__1
             {
-            pushFollow(FOLLOW_142);
+            pushFollow(FOLLOW_141);
             rule__XAnnotationElementValueOrCommaList__Group_0_0_0__0__Impl();
 
             state._fsp--;
@@ -76056,23 +74937,23 @@
 
 
     // $ANTLR start "rule__XAnnotationElementValueOrCommaList__Group_0_0_0__0__Impl"
-    // InternalReportDSL.g:22884:1: rule__XAnnotationElementValueOrCommaList__Group_0_0_0__0__Impl : ( () ) ;
+    // InternalReportDSL.g:22594:1: rule__XAnnotationElementValueOrCommaList__Group_0_0_0__0__Impl : ( () ) ;
     public final void rule__XAnnotationElementValueOrCommaList__Group_0_0_0__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:22888:1: ( ( () ) )
-            // InternalReportDSL.g:22889:1: ( () )
+            // InternalReportDSL.g:22598:1: ( ( () ) )
+            // InternalReportDSL.g:22599:1: ( () )
             {
-            // InternalReportDSL.g:22889:1: ( () )
-            // InternalReportDSL.g:22890:2: ()
+            // InternalReportDSL.g:22599:1: ( () )
+            // InternalReportDSL.g:22600:2: ()
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXAnnotationElementValueOrCommaListAccess().getXListLiteralAction_0_0_0_0()); 
             }
-            // InternalReportDSL.g:22891:2: ()
-            // InternalReportDSL.g:22891:3: 
+            // InternalReportDSL.g:22601:2: ()
+            // InternalReportDSL.g:22601:3: 
             {
             }
 
@@ -76097,16 +74978,16 @@
 
 
     // $ANTLR start "rule__XAnnotationElementValueOrCommaList__Group_0_0_0__1"
-    // InternalReportDSL.g:22899:1: rule__XAnnotationElementValueOrCommaList__Group_0_0_0__1 : rule__XAnnotationElementValueOrCommaList__Group_0_0_0__1__Impl rule__XAnnotationElementValueOrCommaList__Group_0_0_0__2 ;
+    // InternalReportDSL.g:22609:1: rule__XAnnotationElementValueOrCommaList__Group_0_0_0__1 : rule__XAnnotationElementValueOrCommaList__Group_0_0_0__1__Impl rule__XAnnotationElementValueOrCommaList__Group_0_0_0__2 ;
     public final void rule__XAnnotationElementValueOrCommaList__Group_0_0_0__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:22903:1: ( rule__XAnnotationElementValueOrCommaList__Group_0_0_0__1__Impl rule__XAnnotationElementValueOrCommaList__Group_0_0_0__2 )
-            // InternalReportDSL.g:22904:2: rule__XAnnotationElementValueOrCommaList__Group_0_0_0__1__Impl rule__XAnnotationElementValueOrCommaList__Group_0_0_0__2
+            // InternalReportDSL.g:22613:1: ( rule__XAnnotationElementValueOrCommaList__Group_0_0_0__1__Impl rule__XAnnotationElementValueOrCommaList__Group_0_0_0__2 )
+            // InternalReportDSL.g:22614:2: rule__XAnnotationElementValueOrCommaList__Group_0_0_0__1__Impl rule__XAnnotationElementValueOrCommaList__Group_0_0_0__2
             {
-            pushFollow(FOLLOW_143);
+            pushFollow(FOLLOW_142);
             rule__XAnnotationElementValueOrCommaList__Group_0_0_0__1__Impl();
 
             state._fsp--;
@@ -76135,22 +75016,22 @@
 
 
     // $ANTLR start "rule__XAnnotationElementValueOrCommaList__Group_0_0_0__1__Impl"
-    // InternalReportDSL.g:22911:1: rule__XAnnotationElementValueOrCommaList__Group_0_0_0__1__Impl : ( '#' ) ;
+    // InternalReportDSL.g:22621:1: rule__XAnnotationElementValueOrCommaList__Group_0_0_0__1__Impl : ( '#' ) ;
     public final void rule__XAnnotationElementValueOrCommaList__Group_0_0_0__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:22915:1: ( ( '#' ) )
-            // InternalReportDSL.g:22916:1: ( '#' )
+            // InternalReportDSL.g:22625:1: ( ( '#' ) )
+            // InternalReportDSL.g:22626:1: ( '#' )
             {
-            // InternalReportDSL.g:22916:1: ( '#' )
-            // InternalReportDSL.g:22917:2: '#'
+            // InternalReportDSL.g:22626:1: ( '#' )
+            // InternalReportDSL.g:22627:2: '#'
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXAnnotationElementValueOrCommaListAccess().getNumberSignKeyword_0_0_0_1()); 
             }
-            match(input,230,FOLLOW_2); if (state.failed) return ;
+            match(input,237,FOLLOW_2); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getXAnnotationElementValueOrCommaListAccess().getNumberSignKeyword_0_0_0_1()); 
             }
@@ -76176,14 +75057,14 @@
 
 
     // $ANTLR start "rule__XAnnotationElementValueOrCommaList__Group_0_0_0__2"
-    // InternalReportDSL.g:22926:1: rule__XAnnotationElementValueOrCommaList__Group_0_0_0__2 : rule__XAnnotationElementValueOrCommaList__Group_0_0_0__2__Impl ;
+    // InternalReportDSL.g:22636:1: rule__XAnnotationElementValueOrCommaList__Group_0_0_0__2 : rule__XAnnotationElementValueOrCommaList__Group_0_0_0__2__Impl ;
     public final void rule__XAnnotationElementValueOrCommaList__Group_0_0_0__2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:22930:1: ( rule__XAnnotationElementValueOrCommaList__Group_0_0_0__2__Impl )
-            // InternalReportDSL.g:22931:2: rule__XAnnotationElementValueOrCommaList__Group_0_0_0__2__Impl
+            // InternalReportDSL.g:22640:1: ( rule__XAnnotationElementValueOrCommaList__Group_0_0_0__2__Impl )
+            // InternalReportDSL.g:22641:2: rule__XAnnotationElementValueOrCommaList__Group_0_0_0__2__Impl
             {
             pushFollow(FOLLOW_2);
             rule__XAnnotationElementValueOrCommaList__Group_0_0_0__2__Impl();
@@ -76209,22 +75090,22 @@
 
 
     // $ANTLR start "rule__XAnnotationElementValueOrCommaList__Group_0_0_0__2__Impl"
-    // InternalReportDSL.g:22937:1: rule__XAnnotationElementValueOrCommaList__Group_0_0_0__2__Impl : ( '[' ) ;
+    // InternalReportDSL.g:22647:1: rule__XAnnotationElementValueOrCommaList__Group_0_0_0__2__Impl : ( '[' ) ;
     public final void rule__XAnnotationElementValueOrCommaList__Group_0_0_0__2__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:22941:1: ( ( '[' ) )
-            // InternalReportDSL.g:22942:1: ( '[' )
+            // InternalReportDSL.g:22651:1: ( ( '[' ) )
+            // InternalReportDSL.g:22652:1: ( '[' )
             {
-            // InternalReportDSL.g:22942:1: ( '[' )
-            // InternalReportDSL.g:22943:2: '['
+            // InternalReportDSL.g:22652:1: ( '[' )
+            // InternalReportDSL.g:22653:2: '['
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXAnnotationElementValueOrCommaListAccess().getLeftSquareBracketKeyword_0_0_0_2()); 
             }
-            match(input,231,FOLLOW_2); if (state.failed) return ;
+            match(input,238,FOLLOW_2); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getXAnnotationElementValueOrCommaListAccess().getLeftSquareBracketKeyword_0_0_0_2()); 
             }
@@ -76250,16 +75131,16 @@
 
 
     // $ANTLR start "rule__XAnnotationElementValueOrCommaList__Group_0_1__0"
-    // InternalReportDSL.g:22953:1: rule__XAnnotationElementValueOrCommaList__Group_0_1__0 : rule__XAnnotationElementValueOrCommaList__Group_0_1__0__Impl rule__XAnnotationElementValueOrCommaList__Group_0_1__1 ;
+    // InternalReportDSL.g:22663:1: rule__XAnnotationElementValueOrCommaList__Group_0_1__0 : rule__XAnnotationElementValueOrCommaList__Group_0_1__0__Impl rule__XAnnotationElementValueOrCommaList__Group_0_1__1 ;
     public final void rule__XAnnotationElementValueOrCommaList__Group_0_1__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:22957:1: ( rule__XAnnotationElementValueOrCommaList__Group_0_1__0__Impl rule__XAnnotationElementValueOrCommaList__Group_0_1__1 )
-            // InternalReportDSL.g:22958:2: rule__XAnnotationElementValueOrCommaList__Group_0_1__0__Impl rule__XAnnotationElementValueOrCommaList__Group_0_1__1
+            // InternalReportDSL.g:22667:1: ( rule__XAnnotationElementValueOrCommaList__Group_0_1__0__Impl rule__XAnnotationElementValueOrCommaList__Group_0_1__1 )
+            // InternalReportDSL.g:22668:2: rule__XAnnotationElementValueOrCommaList__Group_0_1__0__Impl rule__XAnnotationElementValueOrCommaList__Group_0_1__1
             {
-            pushFollow(FOLLOW_137);
+            pushFollow(FOLLOW_136);
             rule__XAnnotationElementValueOrCommaList__Group_0_1__0__Impl();
 
             state._fsp--;
@@ -76288,23 +75169,23 @@
 
 
     // $ANTLR start "rule__XAnnotationElementValueOrCommaList__Group_0_1__0__Impl"
-    // InternalReportDSL.g:22965:1: rule__XAnnotationElementValueOrCommaList__Group_0_1__0__Impl : ( ( rule__XAnnotationElementValueOrCommaList__ElementsAssignment_0_1_0 ) ) ;
+    // InternalReportDSL.g:22675:1: rule__XAnnotationElementValueOrCommaList__Group_0_1__0__Impl : ( ( rule__XAnnotationElementValueOrCommaList__ElementsAssignment_0_1_0 ) ) ;
     public final void rule__XAnnotationElementValueOrCommaList__Group_0_1__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:22969:1: ( ( ( rule__XAnnotationElementValueOrCommaList__ElementsAssignment_0_1_0 ) ) )
-            // InternalReportDSL.g:22970:1: ( ( rule__XAnnotationElementValueOrCommaList__ElementsAssignment_0_1_0 ) )
+            // InternalReportDSL.g:22679:1: ( ( ( rule__XAnnotationElementValueOrCommaList__ElementsAssignment_0_1_0 ) ) )
+            // InternalReportDSL.g:22680:1: ( ( rule__XAnnotationElementValueOrCommaList__ElementsAssignment_0_1_0 ) )
             {
-            // InternalReportDSL.g:22970:1: ( ( rule__XAnnotationElementValueOrCommaList__ElementsAssignment_0_1_0 ) )
-            // InternalReportDSL.g:22971:2: ( rule__XAnnotationElementValueOrCommaList__ElementsAssignment_0_1_0 )
+            // InternalReportDSL.g:22680:1: ( ( rule__XAnnotationElementValueOrCommaList__ElementsAssignment_0_1_0 ) )
+            // InternalReportDSL.g:22681:2: ( rule__XAnnotationElementValueOrCommaList__ElementsAssignment_0_1_0 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXAnnotationElementValueOrCommaListAccess().getElementsAssignment_0_1_0()); 
             }
-            // InternalReportDSL.g:22972:2: ( rule__XAnnotationElementValueOrCommaList__ElementsAssignment_0_1_0 )
-            // InternalReportDSL.g:22972:3: rule__XAnnotationElementValueOrCommaList__ElementsAssignment_0_1_0
+            // InternalReportDSL.g:22682:2: ( rule__XAnnotationElementValueOrCommaList__ElementsAssignment_0_1_0 )
+            // InternalReportDSL.g:22682:3: rule__XAnnotationElementValueOrCommaList__ElementsAssignment_0_1_0
             {
             pushFollow(FOLLOW_2);
             rule__XAnnotationElementValueOrCommaList__ElementsAssignment_0_1_0();
@@ -76339,14 +75220,14 @@
 
 
     // $ANTLR start "rule__XAnnotationElementValueOrCommaList__Group_0_1__1"
-    // InternalReportDSL.g:22980:1: rule__XAnnotationElementValueOrCommaList__Group_0_1__1 : rule__XAnnotationElementValueOrCommaList__Group_0_1__1__Impl ;
+    // InternalReportDSL.g:22690:1: rule__XAnnotationElementValueOrCommaList__Group_0_1__1 : rule__XAnnotationElementValueOrCommaList__Group_0_1__1__Impl ;
     public final void rule__XAnnotationElementValueOrCommaList__Group_0_1__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:22984:1: ( rule__XAnnotationElementValueOrCommaList__Group_0_1__1__Impl )
-            // InternalReportDSL.g:22985:2: rule__XAnnotationElementValueOrCommaList__Group_0_1__1__Impl
+            // InternalReportDSL.g:22694:1: ( rule__XAnnotationElementValueOrCommaList__Group_0_1__1__Impl )
+            // InternalReportDSL.g:22695:2: rule__XAnnotationElementValueOrCommaList__Group_0_1__1__Impl
             {
             pushFollow(FOLLOW_2);
             rule__XAnnotationElementValueOrCommaList__Group_0_1__1__Impl();
@@ -76372,37 +75253,37 @@
 
 
     // $ANTLR start "rule__XAnnotationElementValueOrCommaList__Group_0_1__1__Impl"
-    // InternalReportDSL.g:22991:1: rule__XAnnotationElementValueOrCommaList__Group_0_1__1__Impl : ( ( rule__XAnnotationElementValueOrCommaList__Group_0_1_1__0 )* ) ;
+    // InternalReportDSL.g:22701:1: rule__XAnnotationElementValueOrCommaList__Group_0_1__1__Impl : ( ( rule__XAnnotationElementValueOrCommaList__Group_0_1_1__0 )* ) ;
     public final void rule__XAnnotationElementValueOrCommaList__Group_0_1__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:22995:1: ( ( ( rule__XAnnotationElementValueOrCommaList__Group_0_1_1__0 )* ) )
-            // InternalReportDSL.g:22996:1: ( ( rule__XAnnotationElementValueOrCommaList__Group_0_1_1__0 )* )
+            // InternalReportDSL.g:22705:1: ( ( ( rule__XAnnotationElementValueOrCommaList__Group_0_1_1__0 )* ) )
+            // InternalReportDSL.g:22706:1: ( ( rule__XAnnotationElementValueOrCommaList__Group_0_1_1__0 )* )
             {
-            // InternalReportDSL.g:22996:1: ( ( rule__XAnnotationElementValueOrCommaList__Group_0_1_1__0 )* )
-            // InternalReportDSL.g:22997:2: ( rule__XAnnotationElementValueOrCommaList__Group_0_1_1__0 )*
+            // InternalReportDSL.g:22706:1: ( ( rule__XAnnotationElementValueOrCommaList__Group_0_1_1__0 )* )
+            // InternalReportDSL.g:22707:2: ( rule__XAnnotationElementValueOrCommaList__Group_0_1_1__0 )*
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXAnnotationElementValueOrCommaListAccess().getGroup_0_1_1()); 
             }
-            // InternalReportDSL.g:22998:2: ( rule__XAnnotationElementValueOrCommaList__Group_0_1_1__0 )*
-            loop175:
+            // InternalReportDSL.g:22708:2: ( rule__XAnnotationElementValueOrCommaList__Group_0_1_1__0 )*
+            loop157:
             do {
-                int alt175=2;
-                int LA175_0 = input.LA(1);
+                int alt157=2;
+                int LA157_0 = input.LA(1);
 
-                if ( (LA175_0==228) ) {
-                    alt175=1;
+                if ( (LA157_0==235) ) {
+                    alt157=1;
                 }
 
 
-                switch (alt175) {
+                switch (alt157) {
             	case 1 :
-            	    // InternalReportDSL.g:22998:3: rule__XAnnotationElementValueOrCommaList__Group_0_1_1__0
+            	    // InternalReportDSL.g:22708:3: rule__XAnnotationElementValueOrCommaList__Group_0_1_1__0
             	    {
-            	    pushFollow(FOLLOW_138);
+            	    pushFollow(FOLLOW_137);
             	    rule__XAnnotationElementValueOrCommaList__Group_0_1_1__0();
 
             	    state._fsp--;
@@ -76412,7 +75293,7 @@
             	    break;
 
             	default :
-            	    break loop175;
+            	    break loop157;
                 }
             } while (true);
 
@@ -76441,16 +75322,16 @@
 
 
     // $ANTLR start "rule__XAnnotationElementValueOrCommaList__Group_0_1_1__0"
-    // InternalReportDSL.g:23007:1: rule__XAnnotationElementValueOrCommaList__Group_0_1_1__0 : rule__XAnnotationElementValueOrCommaList__Group_0_1_1__0__Impl rule__XAnnotationElementValueOrCommaList__Group_0_1_1__1 ;
+    // InternalReportDSL.g:22717:1: rule__XAnnotationElementValueOrCommaList__Group_0_1_1__0 : rule__XAnnotationElementValueOrCommaList__Group_0_1_1__0__Impl rule__XAnnotationElementValueOrCommaList__Group_0_1_1__1 ;
     public final void rule__XAnnotationElementValueOrCommaList__Group_0_1_1__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:23011:1: ( rule__XAnnotationElementValueOrCommaList__Group_0_1_1__0__Impl rule__XAnnotationElementValueOrCommaList__Group_0_1_1__1 )
-            // InternalReportDSL.g:23012:2: rule__XAnnotationElementValueOrCommaList__Group_0_1_1__0__Impl rule__XAnnotationElementValueOrCommaList__Group_0_1_1__1
+            // InternalReportDSL.g:22721:1: ( rule__XAnnotationElementValueOrCommaList__Group_0_1_1__0__Impl rule__XAnnotationElementValueOrCommaList__Group_0_1_1__1 )
+            // InternalReportDSL.g:22722:2: rule__XAnnotationElementValueOrCommaList__Group_0_1_1__0__Impl rule__XAnnotationElementValueOrCommaList__Group_0_1_1__1
             {
-            pushFollow(FOLLOW_139);
+            pushFollow(FOLLOW_138);
             rule__XAnnotationElementValueOrCommaList__Group_0_1_1__0__Impl();
 
             state._fsp--;
@@ -76479,22 +75360,22 @@
 
 
     // $ANTLR start "rule__XAnnotationElementValueOrCommaList__Group_0_1_1__0__Impl"
-    // InternalReportDSL.g:23019:1: rule__XAnnotationElementValueOrCommaList__Group_0_1_1__0__Impl : ( ',' ) ;
+    // InternalReportDSL.g:22729:1: rule__XAnnotationElementValueOrCommaList__Group_0_1_1__0__Impl : ( ',' ) ;
     public final void rule__XAnnotationElementValueOrCommaList__Group_0_1_1__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:23023:1: ( ( ',' ) )
-            // InternalReportDSL.g:23024:1: ( ',' )
+            // InternalReportDSL.g:22733:1: ( ( ',' ) )
+            // InternalReportDSL.g:22734:1: ( ',' )
             {
-            // InternalReportDSL.g:23024:1: ( ',' )
-            // InternalReportDSL.g:23025:2: ','
+            // InternalReportDSL.g:22734:1: ( ',' )
+            // InternalReportDSL.g:22735:2: ','
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXAnnotationElementValueOrCommaListAccess().getCommaKeyword_0_1_1_0()); 
             }
-            match(input,228,FOLLOW_2); if (state.failed) return ;
+            match(input,235,FOLLOW_2); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getXAnnotationElementValueOrCommaListAccess().getCommaKeyword_0_1_1_0()); 
             }
@@ -76520,14 +75401,14 @@
 
 
     // $ANTLR start "rule__XAnnotationElementValueOrCommaList__Group_0_1_1__1"
-    // InternalReportDSL.g:23034:1: rule__XAnnotationElementValueOrCommaList__Group_0_1_1__1 : rule__XAnnotationElementValueOrCommaList__Group_0_1_1__1__Impl ;
+    // InternalReportDSL.g:22744:1: rule__XAnnotationElementValueOrCommaList__Group_0_1_1__1 : rule__XAnnotationElementValueOrCommaList__Group_0_1_1__1__Impl ;
     public final void rule__XAnnotationElementValueOrCommaList__Group_0_1_1__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:23038:1: ( rule__XAnnotationElementValueOrCommaList__Group_0_1_1__1__Impl )
-            // InternalReportDSL.g:23039:2: rule__XAnnotationElementValueOrCommaList__Group_0_1_1__1__Impl
+            // InternalReportDSL.g:22748:1: ( rule__XAnnotationElementValueOrCommaList__Group_0_1_1__1__Impl )
+            // InternalReportDSL.g:22749:2: rule__XAnnotationElementValueOrCommaList__Group_0_1_1__1__Impl
             {
             pushFollow(FOLLOW_2);
             rule__XAnnotationElementValueOrCommaList__Group_0_1_1__1__Impl();
@@ -76553,23 +75434,23 @@
 
 
     // $ANTLR start "rule__XAnnotationElementValueOrCommaList__Group_0_1_1__1__Impl"
-    // InternalReportDSL.g:23045:1: rule__XAnnotationElementValueOrCommaList__Group_0_1_1__1__Impl : ( ( rule__XAnnotationElementValueOrCommaList__ElementsAssignment_0_1_1_1 ) ) ;
+    // InternalReportDSL.g:22755:1: rule__XAnnotationElementValueOrCommaList__Group_0_1_1__1__Impl : ( ( rule__XAnnotationElementValueOrCommaList__ElementsAssignment_0_1_1_1 ) ) ;
     public final void rule__XAnnotationElementValueOrCommaList__Group_0_1_1__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:23049:1: ( ( ( rule__XAnnotationElementValueOrCommaList__ElementsAssignment_0_1_1_1 ) ) )
-            // InternalReportDSL.g:23050:1: ( ( rule__XAnnotationElementValueOrCommaList__ElementsAssignment_0_1_1_1 ) )
+            // InternalReportDSL.g:22759:1: ( ( ( rule__XAnnotationElementValueOrCommaList__ElementsAssignment_0_1_1_1 ) ) )
+            // InternalReportDSL.g:22760:1: ( ( rule__XAnnotationElementValueOrCommaList__ElementsAssignment_0_1_1_1 ) )
             {
-            // InternalReportDSL.g:23050:1: ( ( rule__XAnnotationElementValueOrCommaList__ElementsAssignment_0_1_1_1 ) )
-            // InternalReportDSL.g:23051:2: ( rule__XAnnotationElementValueOrCommaList__ElementsAssignment_0_1_1_1 )
+            // InternalReportDSL.g:22760:1: ( ( rule__XAnnotationElementValueOrCommaList__ElementsAssignment_0_1_1_1 ) )
+            // InternalReportDSL.g:22761:2: ( rule__XAnnotationElementValueOrCommaList__ElementsAssignment_0_1_1_1 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXAnnotationElementValueOrCommaListAccess().getElementsAssignment_0_1_1_1()); 
             }
-            // InternalReportDSL.g:23052:2: ( rule__XAnnotationElementValueOrCommaList__ElementsAssignment_0_1_1_1 )
-            // InternalReportDSL.g:23052:3: rule__XAnnotationElementValueOrCommaList__ElementsAssignment_0_1_1_1
+            // InternalReportDSL.g:22762:2: ( rule__XAnnotationElementValueOrCommaList__ElementsAssignment_0_1_1_1 )
+            // InternalReportDSL.g:22762:3: rule__XAnnotationElementValueOrCommaList__ElementsAssignment_0_1_1_1
             {
             pushFollow(FOLLOW_2);
             rule__XAnnotationElementValueOrCommaList__ElementsAssignment_0_1_1_1();
@@ -76604,16 +75485,16 @@
 
 
     // $ANTLR start "rule__XAnnotationElementValueOrCommaList__Group_1__0"
-    // InternalReportDSL.g:23061:1: rule__XAnnotationElementValueOrCommaList__Group_1__0 : rule__XAnnotationElementValueOrCommaList__Group_1__0__Impl rule__XAnnotationElementValueOrCommaList__Group_1__1 ;
+    // InternalReportDSL.g:22771:1: rule__XAnnotationElementValueOrCommaList__Group_1__0 : rule__XAnnotationElementValueOrCommaList__Group_1__0__Impl rule__XAnnotationElementValueOrCommaList__Group_1__1 ;
     public final void rule__XAnnotationElementValueOrCommaList__Group_1__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:23065:1: ( rule__XAnnotationElementValueOrCommaList__Group_1__0__Impl rule__XAnnotationElementValueOrCommaList__Group_1__1 )
-            // InternalReportDSL.g:23066:2: rule__XAnnotationElementValueOrCommaList__Group_1__0__Impl rule__XAnnotationElementValueOrCommaList__Group_1__1
+            // InternalReportDSL.g:22775:1: ( rule__XAnnotationElementValueOrCommaList__Group_1__0__Impl rule__XAnnotationElementValueOrCommaList__Group_1__1 )
+            // InternalReportDSL.g:22776:2: rule__XAnnotationElementValueOrCommaList__Group_1__0__Impl rule__XAnnotationElementValueOrCommaList__Group_1__1
             {
-            pushFollow(FOLLOW_137);
+            pushFollow(FOLLOW_136);
             rule__XAnnotationElementValueOrCommaList__Group_1__0__Impl();
 
             state._fsp--;
@@ -76642,17 +75523,17 @@
 
 
     // $ANTLR start "rule__XAnnotationElementValueOrCommaList__Group_1__0__Impl"
-    // InternalReportDSL.g:23073:1: rule__XAnnotationElementValueOrCommaList__Group_1__0__Impl : ( ruleXAnnotationOrExpression ) ;
+    // InternalReportDSL.g:22783:1: rule__XAnnotationElementValueOrCommaList__Group_1__0__Impl : ( ruleXAnnotationOrExpression ) ;
     public final void rule__XAnnotationElementValueOrCommaList__Group_1__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:23077:1: ( ( ruleXAnnotationOrExpression ) )
-            // InternalReportDSL.g:23078:1: ( ruleXAnnotationOrExpression )
+            // InternalReportDSL.g:22787:1: ( ( ruleXAnnotationOrExpression ) )
+            // InternalReportDSL.g:22788:1: ( ruleXAnnotationOrExpression )
             {
-            // InternalReportDSL.g:23078:1: ( ruleXAnnotationOrExpression )
-            // InternalReportDSL.g:23079:2: ruleXAnnotationOrExpression
+            // InternalReportDSL.g:22788:1: ( ruleXAnnotationOrExpression )
+            // InternalReportDSL.g:22789:2: ruleXAnnotationOrExpression
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXAnnotationElementValueOrCommaListAccess().getXAnnotationOrExpressionParserRuleCall_1_0()); 
@@ -76687,14 +75568,14 @@
 
 
     // $ANTLR start "rule__XAnnotationElementValueOrCommaList__Group_1__1"
-    // InternalReportDSL.g:23088:1: rule__XAnnotationElementValueOrCommaList__Group_1__1 : rule__XAnnotationElementValueOrCommaList__Group_1__1__Impl ;
+    // InternalReportDSL.g:22798:1: rule__XAnnotationElementValueOrCommaList__Group_1__1 : rule__XAnnotationElementValueOrCommaList__Group_1__1__Impl ;
     public final void rule__XAnnotationElementValueOrCommaList__Group_1__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:23092:1: ( rule__XAnnotationElementValueOrCommaList__Group_1__1__Impl )
-            // InternalReportDSL.g:23093:2: rule__XAnnotationElementValueOrCommaList__Group_1__1__Impl
+            // InternalReportDSL.g:22802:1: ( rule__XAnnotationElementValueOrCommaList__Group_1__1__Impl )
+            // InternalReportDSL.g:22803:2: rule__XAnnotationElementValueOrCommaList__Group_1__1__Impl
             {
             pushFollow(FOLLOW_2);
             rule__XAnnotationElementValueOrCommaList__Group_1__1__Impl();
@@ -76720,31 +75601,31 @@
 
 
     // $ANTLR start "rule__XAnnotationElementValueOrCommaList__Group_1__1__Impl"
-    // InternalReportDSL.g:23099:1: rule__XAnnotationElementValueOrCommaList__Group_1__1__Impl : ( ( rule__XAnnotationElementValueOrCommaList__Group_1_1__0 )? ) ;
+    // InternalReportDSL.g:22809:1: rule__XAnnotationElementValueOrCommaList__Group_1__1__Impl : ( ( rule__XAnnotationElementValueOrCommaList__Group_1_1__0 )? ) ;
     public final void rule__XAnnotationElementValueOrCommaList__Group_1__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:23103:1: ( ( ( rule__XAnnotationElementValueOrCommaList__Group_1_1__0 )? ) )
-            // InternalReportDSL.g:23104:1: ( ( rule__XAnnotationElementValueOrCommaList__Group_1_1__0 )? )
+            // InternalReportDSL.g:22813:1: ( ( ( rule__XAnnotationElementValueOrCommaList__Group_1_1__0 )? ) )
+            // InternalReportDSL.g:22814:1: ( ( rule__XAnnotationElementValueOrCommaList__Group_1_1__0 )? )
             {
-            // InternalReportDSL.g:23104:1: ( ( rule__XAnnotationElementValueOrCommaList__Group_1_1__0 )? )
-            // InternalReportDSL.g:23105:2: ( rule__XAnnotationElementValueOrCommaList__Group_1_1__0 )?
+            // InternalReportDSL.g:22814:1: ( ( rule__XAnnotationElementValueOrCommaList__Group_1_1__0 )? )
+            // InternalReportDSL.g:22815:2: ( rule__XAnnotationElementValueOrCommaList__Group_1_1__0 )?
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXAnnotationElementValueOrCommaListAccess().getGroup_1_1()); 
             }
-            // InternalReportDSL.g:23106:2: ( rule__XAnnotationElementValueOrCommaList__Group_1_1__0 )?
-            int alt176=2;
-            int LA176_0 = input.LA(1);
+            // InternalReportDSL.g:22816:2: ( rule__XAnnotationElementValueOrCommaList__Group_1_1__0 )?
+            int alt158=2;
+            int LA158_0 = input.LA(1);
 
-            if ( (LA176_0==228) ) {
-                alt176=1;
+            if ( (LA158_0==235) ) {
+                alt158=1;
             }
-            switch (alt176) {
+            switch (alt158) {
                 case 1 :
-                    // InternalReportDSL.g:23106:3: rule__XAnnotationElementValueOrCommaList__Group_1_1__0
+                    // InternalReportDSL.g:22816:3: rule__XAnnotationElementValueOrCommaList__Group_1_1__0
                     {
                     pushFollow(FOLLOW_2);
                     rule__XAnnotationElementValueOrCommaList__Group_1_1__0();
@@ -76782,16 +75663,16 @@
 
 
     // $ANTLR start "rule__XAnnotationElementValueOrCommaList__Group_1_1__0"
-    // InternalReportDSL.g:23115:1: rule__XAnnotationElementValueOrCommaList__Group_1_1__0 : rule__XAnnotationElementValueOrCommaList__Group_1_1__0__Impl rule__XAnnotationElementValueOrCommaList__Group_1_1__1 ;
+    // InternalReportDSL.g:22825:1: rule__XAnnotationElementValueOrCommaList__Group_1_1__0 : rule__XAnnotationElementValueOrCommaList__Group_1_1__0__Impl rule__XAnnotationElementValueOrCommaList__Group_1_1__1 ;
     public final void rule__XAnnotationElementValueOrCommaList__Group_1_1__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:23119:1: ( rule__XAnnotationElementValueOrCommaList__Group_1_1__0__Impl rule__XAnnotationElementValueOrCommaList__Group_1_1__1 )
-            // InternalReportDSL.g:23120:2: rule__XAnnotationElementValueOrCommaList__Group_1_1__0__Impl rule__XAnnotationElementValueOrCommaList__Group_1_1__1
+            // InternalReportDSL.g:22829:1: ( rule__XAnnotationElementValueOrCommaList__Group_1_1__0__Impl rule__XAnnotationElementValueOrCommaList__Group_1_1__1 )
+            // InternalReportDSL.g:22830:2: rule__XAnnotationElementValueOrCommaList__Group_1_1__0__Impl rule__XAnnotationElementValueOrCommaList__Group_1_1__1
             {
-            pushFollow(FOLLOW_137);
+            pushFollow(FOLLOW_136);
             rule__XAnnotationElementValueOrCommaList__Group_1_1__0__Impl();
 
             state._fsp--;
@@ -76820,23 +75701,23 @@
 
 
     // $ANTLR start "rule__XAnnotationElementValueOrCommaList__Group_1_1__0__Impl"
-    // InternalReportDSL.g:23127:1: rule__XAnnotationElementValueOrCommaList__Group_1_1__0__Impl : ( () ) ;
+    // InternalReportDSL.g:22837:1: rule__XAnnotationElementValueOrCommaList__Group_1_1__0__Impl : ( () ) ;
     public final void rule__XAnnotationElementValueOrCommaList__Group_1_1__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:23131:1: ( ( () ) )
-            // InternalReportDSL.g:23132:1: ( () )
+            // InternalReportDSL.g:22841:1: ( ( () ) )
+            // InternalReportDSL.g:22842:1: ( () )
             {
-            // InternalReportDSL.g:23132:1: ( () )
-            // InternalReportDSL.g:23133:2: ()
+            // InternalReportDSL.g:22842:1: ( () )
+            // InternalReportDSL.g:22843:2: ()
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXAnnotationElementValueOrCommaListAccess().getXListLiteralElementsAction_1_1_0()); 
             }
-            // InternalReportDSL.g:23134:2: ()
-            // InternalReportDSL.g:23134:3: 
+            // InternalReportDSL.g:22844:2: ()
+            // InternalReportDSL.g:22844:3: 
             {
             }
 
@@ -76861,14 +75742,14 @@
 
 
     // $ANTLR start "rule__XAnnotationElementValueOrCommaList__Group_1_1__1"
-    // InternalReportDSL.g:23142:1: rule__XAnnotationElementValueOrCommaList__Group_1_1__1 : rule__XAnnotationElementValueOrCommaList__Group_1_1__1__Impl ;
+    // InternalReportDSL.g:22852:1: rule__XAnnotationElementValueOrCommaList__Group_1_1__1 : rule__XAnnotationElementValueOrCommaList__Group_1_1__1__Impl ;
     public final void rule__XAnnotationElementValueOrCommaList__Group_1_1__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:23146:1: ( rule__XAnnotationElementValueOrCommaList__Group_1_1__1__Impl )
-            // InternalReportDSL.g:23147:2: rule__XAnnotationElementValueOrCommaList__Group_1_1__1__Impl
+            // InternalReportDSL.g:22856:1: ( rule__XAnnotationElementValueOrCommaList__Group_1_1__1__Impl )
+            // InternalReportDSL.g:22857:2: rule__XAnnotationElementValueOrCommaList__Group_1_1__1__Impl
             {
             pushFollow(FOLLOW_2);
             rule__XAnnotationElementValueOrCommaList__Group_1_1__1__Impl();
@@ -76894,28 +75775,28 @@
 
 
     // $ANTLR start "rule__XAnnotationElementValueOrCommaList__Group_1_1__1__Impl"
-    // InternalReportDSL.g:23153:1: rule__XAnnotationElementValueOrCommaList__Group_1_1__1__Impl : ( ( ( rule__XAnnotationElementValueOrCommaList__Group_1_1_1__0 ) ) ( ( rule__XAnnotationElementValueOrCommaList__Group_1_1_1__0 )* ) ) ;
+    // InternalReportDSL.g:22863:1: rule__XAnnotationElementValueOrCommaList__Group_1_1__1__Impl : ( ( ( rule__XAnnotationElementValueOrCommaList__Group_1_1_1__0 ) ) ( ( rule__XAnnotationElementValueOrCommaList__Group_1_1_1__0 )* ) ) ;
     public final void rule__XAnnotationElementValueOrCommaList__Group_1_1__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:23157:1: ( ( ( ( rule__XAnnotationElementValueOrCommaList__Group_1_1_1__0 ) ) ( ( rule__XAnnotationElementValueOrCommaList__Group_1_1_1__0 )* ) ) )
-            // InternalReportDSL.g:23158:1: ( ( ( rule__XAnnotationElementValueOrCommaList__Group_1_1_1__0 ) ) ( ( rule__XAnnotationElementValueOrCommaList__Group_1_1_1__0 )* ) )
+            // InternalReportDSL.g:22867:1: ( ( ( ( rule__XAnnotationElementValueOrCommaList__Group_1_1_1__0 ) ) ( ( rule__XAnnotationElementValueOrCommaList__Group_1_1_1__0 )* ) ) )
+            // InternalReportDSL.g:22868:1: ( ( ( rule__XAnnotationElementValueOrCommaList__Group_1_1_1__0 ) ) ( ( rule__XAnnotationElementValueOrCommaList__Group_1_1_1__0 )* ) )
             {
-            // InternalReportDSL.g:23158:1: ( ( ( rule__XAnnotationElementValueOrCommaList__Group_1_1_1__0 ) ) ( ( rule__XAnnotationElementValueOrCommaList__Group_1_1_1__0 )* ) )
-            // InternalReportDSL.g:23159:2: ( ( rule__XAnnotationElementValueOrCommaList__Group_1_1_1__0 ) ) ( ( rule__XAnnotationElementValueOrCommaList__Group_1_1_1__0 )* )
+            // InternalReportDSL.g:22868:1: ( ( ( rule__XAnnotationElementValueOrCommaList__Group_1_1_1__0 ) ) ( ( rule__XAnnotationElementValueOrCommaList__Group_1_1_1__0 )* ) )
+            // InternalReportDSL.g:22869:2: ( ( rule__XAnnotationElementValueOrCommaList__Group_1_1_1__0 ) ) ( ( rule__XAnnotationElementValueOrCommaList__Group_1_1_1__0 )* )
             {
-            // InternalReportDSL.g:23159:2: ( ( rule__XAnnotationElementValueOrCommaList__Group_1_1_1__0 ) )
-            // InternalReportDSL.g:23160:3: ( rule__XAnnotationElementValueOrCommaList__Group_1_1_1__0 )
+            // InternalReportDSL.g:22869:2: ( ( rule__XAnnotationElementValueOrCommaList__Group_1_1_1__0 ) )
+            // InternalReportDSL.g:22870:3: ( rule__XAnnotationElementValueOrCommaList__Group_1_1_1__0 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXAnnotationElementValueOrCommaListAccess().getGroup_1_1_1()); 
             }
-            // InternalReportDSL.g:23161:3: ( rule__XAnnotationElementValueOrCommaList__Group_1_1_1__0 )
-            // InternalReportDSL.g:23161:4: rule__XAnnotationElementValueOrCommaList__Group_1_1_1__0
+            // InternalReportDSL.g:22871:3: ( rule__XAnnotationElementValueOrCommaList__Group_1_1_1__0 )
+            // InternalReportDSL.g:22871:4: rule__XAnnotationElementValueOrCommaList__Group_1_1_1__0
             {
-            pushFollow(FOLLOW_138);
+            pushFollow(FOLLOW_137);
             rule__XAnnotationElementValueOrCommaList__Group_1_1_1__0();
 
             state._fsp--;
@@ -76929,28 +75810,28 @@
 
             }
 
-            // InternalReportDSL.g:23164:2: ( ( rule__XAnnotationElementValueOrCommaList__Group_1_1_1__0 )* )
-            // InternalReportDSL.g:23165:3: ( rule__XAnnotationElementValueOrCommaList__Group_1_1_1__0 )*
+            // InternalReportDSL.g:22874:2: ( ( rule__XAnnotationElementValueOrCommaList__Group_1_1_1__0 )* )
+            // InternalReportDSL.g:22875:3: ( rule__XAnnotationElementValueOrCommaList__Group_1_1_1__0 )*
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXAnnotationElementValueOrCommaListAccess().getGroup_1_1_1()); 
             }
-            // InternalReportDSL.g:23166:3: ( rule__XAnnotationElementValueOrCommaList__Group_1_1_1__0 )*
-            loop177:
+            // InternalReportDSL.g:22876:3: ( rule__XAnnotationElementValueOrCommaList__Group_1_1_1__0 )*
+            loop159:
             do {
-                int alt177=2;
-                int LA177_0 = input.LA(1);
+                int alt159=2;
+                int LA159_0 = input.LA(1);
 
-                if ( (LA177_0==228) ) {
-                    alt177=1;
+                if ( (LA159_0==235) ) {
+                    alt159=1;
                 }
 
 
-                switch (alt177) {
+                switch (alt159) {
             	case 1 :
-            	    // InternalReportDSL.g:23166:4: rule__XAnnotationElementValueOrCommaList__Group_1_1_1__0
+            	    // InternalReportDSL.g:22876:4: rule__XAnnotationElementValueOrCommaList__Group_1_1_1__0
             	    {
-            	    pushFollow(FOLLOW_138);
+            	    pushFollow(FOLLOW_137);
             	    rule__XAnnotationElementValueOrCommaList__Group_1_1_1__0();
 
             	    state._fsp--;
@@ -76960,7 +75841,7 @@
             	    break;
 
             	default :
-            	    break loop177;
+            	    break loop159;
                 }
             } while (true);
 
@@ -76992,16 +75873,16 @@
 
 
     // $ANTLR start "rule__XAnnotationElementValueOrCommaList__Group_1_1_1__0"
-    // InternalReportDSL.g:23176:1: rule__XAnnotationElementValueOrCommaList__Group_1_1_1__0 : rule__XAnnotationElementValueOrCommaList__Group_1_1_1__0__Impl rule__XAnnotationElementValueOrCommaList__Group_1_1_1__1 ;
+    // InternalReportDSL.g:22886:1: rule__XAnnotationElementValueOrCommaList__Group_1_1_1__0 : rule__XAnnotationElementValueOrCommaList__Group_1_1_1__0__Impl rule__XAnnotationElementValueOrCommaList__Group_1_1_1__1 ;
     public final void rule__XAnnotationElementValueOrCommaList__Group_1_1_1__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:23180:1: ( rule__XAnnotationElementValueOrCommaList__Group_1_1_1__0__Impl rule__XAnnotationElementValueOrCommaList__Group_1_1_1__1 )
-            // InternalReportDSL.g:23181:2: rule__XAnnotationElementValueOrCommaList__Group_1_1_1__0__Impl rule__XAnnotationElementValueOrCommaList__Group_1_1_1__1
+            // InternalReportDSL.g:22890:1: ( rule__XAnnotationElementValueOrCommaList__Group_1_1_1__0__Impl rule__XAnnotationElementValueOrCommaList__Group_1_1_1__1 )
+            // InternalReportDSL.g:22891:2: rule__XAnnotationElementValueOrCommaList__Group_1_1_1__0__Impl rule__XAnnotationElementValueOrCommaList__Group_1_1_1__1
             {
-            pushFollow(FOLLOW_139);
+            pushFollow(FOLLOW_138);
             rule__XAnnotationElementValueOrCommaList__Group_1_1_1__0__Impl();
 
             state._fsp--;
@@ -77030,22 +75911,22 @@
 
 
     // $ANTLR start "rule__XAnnotationElementValueOrCommaList__Group_1_1_1__0__Impl"
-    // InternalReportDSL.g:23188:1: rule__XAnnotationElementValueOrCommaList__Group_1_1_1__0__Impl : ( ',' ) ;
+    // InternalReportDSL.g:22898:1: rule__XAnnotationElementValueOrCommaList__Group_1_1_1__0__Impl : ( ',' ) ;
     public final void rule__XAnnotationElementValueOrCommaList__Group_1_1_1__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:23192:1: ( ( ',' ) )
-            // InternalReportDSL.g:23193:1: ( ',' )
+            // InternalReportDSL.g:22902:1: ( ( ',' ) )
+            // InternalReportDSL.g:22903:1: ( ',' )
             {
-            // InternalReportDSL.g:23193:1: ( ',' )
-            // InternalReportDSL.g:23194:2: ','
+            // InternalReportDSL.g:22903:1: ( ',' )
+            // InternalReportDSL.g:22904:2: ','
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXAnnotationElementValueOrCommaListAccess().getCommaKeyword_1_1_1_0()); 
             }
-            match(input,228,FOLLOW_2); if (state.failed) return ;
+            match(input,235,FOLLOW_2); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getXAnnotationElementValueOrCommaListAccess().getCommaKeyword_1_1_1_0()); 
             }
@@ -77071,14 +75952,14 @@
 
 
     // $ANTLR start "rule__XAnnotationElementValueOrCommaList__Group_1_1_1__1"
-    // InternalReportDSL.g:23203:1: rule__XAnnotationElementValueOrCommaList__Group_1_1_1__1 : rule__XAnnotationElementValueOrCommaList__Group_1_1_1__1__Impl ;
+    // InternalReportDSL.g:22913:1: rule__XAnnotationElementValueOrCommaList__Group_1_1_1__1 : rule__XAnnotationElementValueOrCommaList__Group_1_1_1__1__Impl ;
     public final void rule__XAnnotationElementValueOrCommaList__Group_1_1_1__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:23207:1: ( rule__XAnnotationElementValueOrCommaList__Group_1_1_1__1__Impl )
-            // InternalReportDSL.g:23208:2: rule__XAnnotationElementValueOrCommaList__Group_1_1_1__1__Impl
+            // InternalReportDSL.g:22917:1: ( rule__XAnnotationElementValueOrCommaList__Group_1_1_1__1__Impl )
+            // InternalReportDSL.g:22918:2: rule__XAnnotationElementValueOrCommaList__Group_1_1_1__1__Impl
             {
             pushFollow(FOLLOW_2);
             rule__XAnnotationElementValueOrCommaList__Group_1_1_1__1__Impl();
@@ -77104,23 +75985,23 @@
 
 
     // $ANTLR start "rule__XAnnotationElementValueOrCommaList__Group_1_1_1__1__Impl"
-    // InternalReportDSL.g:23214:1: rule__XAnnotationElementValueOrCommaList__Group_1_1_1__1__Impl : ( ( rule__XAnnotationElementValueOrCommaList__ElementsAssignment_1_1_1_1 ) ) ;
+    // InternalReportDSL.g:22924:1: rule__XAnnotationElementValueOrCommaList__Group_1_1_1__1__Impl : ( ( rule__XAnnotationElementValueOrCommaList__ElementsAssignment_1_1_1_1 ) ) ;
     public final void rule__XAnnotationElementValueOrCommaList__Group_1_1_1__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:23218:1: ( ( ( rule__XAnnotationElementValueOrCommaList__ElementsAssignment_1_1_1_1 ) ) )
-            // InternalReportDSL.g:23219:1: ( ( rule__XAnnotationElementValueOrCommaList__ElementsAssignment_1_1_1_1 ) )
+            // InternalReportDSL.g:22928:1: ( ( ( rule__XAnnotationElementValueOrCommaList__ElementsAssignment_1_1_1_1 ) ) )
+            // InternalReportDSL.g:22929:1: ( ( rule__XAnnotationElementValueOrCommaList__ElementsAssignment_1_1_1_1 ) )
             {
-            // InternalReportDSL.g:23219:1: ( ( rule__XAnnotationElementValueOrCommaList__ElementsAssignment_1_1_1_1 ) )
-            // InternalReportDSL.g:23220:2: ( rule__XAnnotationElementValueOrCommaList__ElementsAssignment_1_1_1_1 )
+            // InternalReportDSL.g:22929:1: ( ( rule__XAnnotationElementValueOrCommaList__ElementsAssignment_1_1_1_1 ) )
+            // InternalReportDSL.g:22930:2: ( rule__XAnnotationElementValueOrCommaList__ElementsAssignment_1_1_1_1 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXAnnotationElementValueOrCommaListAccess().getElementsAssignment_1_1_1_1()); 
             }
-            // InternalReportDSL.g:23221:2: ( rule__XAnnotationElementValueOrCommaList__ElementsAssignment_1_1_1_1 )
-            // InternalReportDSL.g:23221:3: rule__XAnnotationElementValueOrCommaList__ElementsAssignment_1_1_1_1
+            // InternalReportDSL.g:22931:2: ( rule__XAnnotationElementValueOrCommaList__ElementsAssignment_1_1_1_1 )
+            // InternalReportDSL.g:22931:3: rule__XAnnotationElementValueOrCommaList__ElementsAssignment_1_1_1_1
             {
             pushFollow(FOLLOW_2);
             rule__XAnnotationElementValueOrCommaList__ElementsAssignment_1_1_1_1();
@@ -77155,16 +76036,16 @@
 
 
     // $ANTLR start "rule__XAnnotationElementValue__Group_0__0"
-    // InternalReportDSL.g:23230:1: rule__XAnnotationElementValue__Group_0__0 : rule__XAnnotationElementValue__Group_0__0__Impl rule__XAnnotationElementValue__Group_0__1 ;
+    // InternalReportDSL.g:22940:1: rule__XAnnotationElementValue__Group_0__0 : rule__XAnnotationElementValue__Group_0__0__Impl rule__XAnnotationElementValue__Group_0__1 ;
     public final void rule__XAnnotationElementValue__Group_0__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:23234:1: ( rule__XAnnotationElementValue__Group_0__0__Impl rule__XAnnotationElementValue__Group_0__1 )
-            // InternalReportDSL.g:23235:2: rule__XAnnotationElementValue__Group_0__0__Impl rule__XAnnotationElementValue__Group_0__1
+            // InternalReportDSL.g:22944:1: ( rule__XAnnotationElementValue__Group_0__0__Impl rule__XAnnotationElementValue__Group_0__1 )
+            // InternalReportDSL.g:22945:2: rule__XAnnotationElementValue__Group_0__0__Impl rule__XAnnotationElementValue__Group_0__1
             {
-            pushFollow(FOLLOW_141);
+            pushFollow(FOLLOW_140);
             rule__XAnnotationElementValue__Group_0__0__Impl();
 
             state._fsp--;
@@ -77193,23 +76074,23 @@
 
 
     // $ANTLR start "rule__XAnnotationElementValue__Group_0__0__Impl"
-    // InternalReportDSL.g:23242:1: rule__XAnnotationElementValue__Group_0__0__Impl : ( ( rule__XAnnotationElementValue__Group_0_0__0 ) ) ;
+    // InternalReportDSL.g:22952:1: rule__XAnnotationElementValue__Group_0__0__Impl : ( ( rule__XAnnotationElementValue__Group_0_0__0 ) ) ;
     public final void rule__XAnnotationElementValue__Group_0__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:23246:1: ( ( ( rule__XAnnotationElementValue__Group_0_0__0 ) ) )
-            // InternalReportDSL.g:23247:1: ( ( rule__XAnnotationElementValue__Group_0_0__0 ) )
+            // InternalReportDSL.g:22956:1: ( ( ( rule__XAnnotationElementValue__Group_0_0__0 ) ) )
+            // InternalReportDSL.g:22957:1: ( ( rule__XAnnotationElementValue__Group_0_0__0 ) )
             {
-            // InternalReportDSL.g:23247:1: ( ( rule__XAnnotationElementValue__Group_0_0__0 ) )
-            // InternalReportDSL.g:23248:2: ( rule__XAnnotationElementValue__Group_0_0__0 )
+            // InternalReportDSL.g:22957:1: ( ( rule__XAnnotationElementValue__Group_0_0__0 ) )
+            // InternalReportDSL.g:22958:2: ( rule__XAnnotationElementValue__Group_0_0__0 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXAnnotationElementValueAccess().getGroup_0_0()); 
             }
-            // InternalReportDSL.g:23249:2: ( rule__XAnnotationElementValue__Group_0_0__0 )
-            // InternalReportDSL.g:23249:3: rule__XAnnotationElementValue__Group_0_0__0
+            // InternalReportDSL.g:22959:2: ( rule__XAnnotationElementValue__Group_0_0__0 )
+            // InternalReportDSL.g:22959:3: rule__XAnnotationElementValue__Group_0_0__0
             {
             pushFollow(FOLLOW_2);
             rule__XAnnotationElementValue__Group_0_0__0();
@@ -77244,16 +76125,16 @@
 
 
     // $ANTLR start "rule__XAnnotationElementValue__Group_0__1"
-    // InternalReportDSL.g:23257:1: rule__XAnnotationElementValue__Group_0__1 : rule__XAnnotationElementValue__Group_0__1__Impl rule__XAnnotationElementValue__Group_0__2 ;
+    // InternalReportDSL.g:22967:1: rule__XAnnotationElementValue__Group_0__1 : rule__XAnnotationElementValue__Group_0__1__Impl rule__XAnnotationElementValue__Group_0__2 ;
     public final void rule__XAnnotationElementValue__Group_0__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:23261:1: ( rule__XAnnotationElementValue__Group_0__1__Impl rule__XAnnotationElementValue__Group_0__2 )
-            // InternalReportDSL.g:23262:2: rule__XAnnotationElementValue__Group_0__1__Impl rule__XAnnotationElementValue__Group_0__2
+            // InternalReportDSL.g:22971:1: ( rule__XAnnotationElementValue__Group_0__1__Impl rule__XAnnotationElementValue__Group_0__2 )
+            // InternalReportDSL.g:22972:2: rule__XAnnotationElementValue__Group_0__1__Impl rule__XAnnotationElementValue__Group_0__2
             {
-            pushFollow(FOLLOW_141);
+            pushFollow(FOLLOW_140);
             rule__XAnnotationElementValue__Group_0__1__Impl();
 
             state._fsp--;
@@ -77282,31 +76163,31 @@
 
 
     // $ANTLR start "rule__XAnnotationElementValue__Group_0__1__Impl"
-    // InternalReportDSL.g:23269:1: rule__XAnnotationElementValue__Group_0__1__Impl : ( ( rule__XAnnotationElementValue__Group_0_1__0 )? ) ;
+    // InternalReportDSL.g:22979:1: rule__XAnnotationElementValue__Group_0__1__Impl : ( ( rule__XAnnotationElementValue__Group_0_1__0 )? ) ;
     public final void rule__XAnnotationElementValue__Group_0__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:23273:1: ( ( ( rule__XAnnotationElementValue__Group_0_1__0 )? ) )
-            // InternalReportDSL.g:23274:1: ( ( rule__XAnnotationElementValue__Group_0_1__0 )? )
+            // InternalReportDSL.g:22983:1: ( ( ( rule__XAnnotationElementValue__Group_0_1__0 )? ) )
+            // InternalReportDSL.g:22984:1: ( ( rule__XAnnotationElementValue__Group_0_1__0 )? )
             {
-            // InternalReportDSL.g:23274:1: ( ( rule__XAnnotationElementValue__Group_0_1__0 )? )
-            // InternalReportDSL.g:23275:2: ( rule__XAnnotationElementValue__Group_0_1__0 )?
+            // InternalReportDSL.g:22984:1: ( ( rule__XAnnotationElementValue__Group_0_1__0 )? )
+            // InternalReportDSL.g:22985:2: ( rule__XAnnotationElementValue__Group_0_1__0 )?
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXAnnotationElementValueAccess().getGroup_0_1()); 
             }
-            // InternalReportDSL.g:23276:2: ( rule__XAnnotationElementValue__Group_0_1__0 )?
-            int alt178=2;
-            int LA178_0 = input.LA(1);
+            // InternalReportDSL.g:22986:2: ( rule__XAnnotationElementValue__Group_0_1__0 )?
+            int alt160=2;
+            int LA160_0 = input.LA(1);
 
-            if ( ((LA178_0>=RULE_STRING && LA178_0<=RULE_DECIMAL)||LA178_0==31||(LA178_0>=38 && LA178_0<=39)||LA178_0==44||(LA178_0>=49 && LA178_0<=54)||LA178_0==125||LA178_0==204||LA178_0==227||(LA178_0>=230 && LA178_0<=231)||LA178_0==233||LA178_0==235||(LA178_0>=239 && LA178_0<=247)||LA178_0==249||LA178_0==266) ) {
-                alt178=1;
+            if ( ((LA160_0>=RULE_STRING && LA160_0<=RULE_DECIMAL)||LA160_0==31||(LA160_0>=38 && LA160_0<=39)||LA160_0==44||(LA160_0>=49 && LA160_0<=54)||LA160_0==131||LA160_0==211||LA160_0==234||(LA160_0>=237 && LA160_0<=238)||LA160_0==240||LA160_0==242||(LA160_0>=246 && LA160_0<=254)||LA160_0==256||LA160_0==271) ) {
+                alt160=1;
             }
-            switch (alt178) {
+            switch (alt160) {
                 case 1 :
-                    // InternalReportDSL.g:23276:3: rule__XAnnotationElementValue__Group_0_1__0
+                    // InternalReportDSL.g:22986:3: rule__XAnnotationElementValue__Group_0_1__0
                     {
                     pushFollow(FOLLOW_2);
                     rule__XAnnotationElementValue__Group_0_1__0();
@@ -77344,14 +76225,14 @@
 
 
     // $ANTLR start "rule__XAnnotationElementValue__Group_0__2"
-    // InternalReportDSL.g:23284:1: rule__XAnnotationElementValue__Group_0__2 : rule__XAnnotationElementValue__Group_0__2__Impl ;
+    // InternalReportDSL.g:22994:1: rule__XAnnotationElementValue__Group_0__2 : rule__XAnnotationElementValue__Group_0__2__Impl ;
     public final void rule__XAnnotationElementValue__Group_0__2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:23288:1: ( rule__XAnnotationElementValue__Group_0__2__Impl )
-            // InternalReportDSL.g:23289:2: rule__XAnnotationElementValue__Group_0__2__Impl
+            // InternalReportDSL.g:22998:1: ( rule__XAnnotationElementValue__Group_0__2__Impl )
+            // InternalReportDSL.g:22999:2: rule__XAnnotationElementValue__Group_0__2__Impl
             {
             pushFollow(FOLLOW_2);
             rule__XAnnotationElementValue__Group_0__2__Impl();
@@ -77377,22 +76258,22 @@
 
 
     // $ANTLR start "rule__XAnnotationElementValue__Group_0__2__Impl"
-    // InternalReportDSL.g:23295:1: rule__XAnnotationElementValue__Group_0__2__Impl : ( ']' ) ;
+    // InternalReportDSL.g:23005:1: rule__XAnnotationElementValue__Group_0__2__Impl : ( ']' ) ;
     public final void rule__XAnnotationElementValue__Group_0__2__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:23299:1: ( ( ']' ) )
-            // InternalReportDSL.g:23300:1: ( ']' )
+            // InternalReportDSL.g:23009:1: ( ( ']' ) )
+            // InternalReportDSL.g:23010:1: ( ']' )
             {
-            // InternalReportDSL.g:23300:1: ( ']' )
-            // InternalReportDSL.g:23301:2: ']'
+            // InternalReportDSL.g:23010:1: ( ']' )
+            // InternalReportDSL.g:23011:2: ']'
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXAnnotationElementValueAccess().getRightSquareBracketKeyword_0_2()); 
             }
-            match(input,229,FOLLOW_2); if (state.failed) return ;
+            match(input,236,FOLLOW_2); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getXAnnotationElementValueAccess().getRightSquareBracketKeyword_0_2()); 
             }
@@ -77418,14 +76299,14 @@
 
 
     // $ANTLR start "rule__XAnnotationElementValue__Group_0_0__0"
-    // InternalReportDSL.g:23311:1: rule__XAnnotationElementValue__Group_0_0__0 : rule__XAnnotationElementValue__Group_0_0__0__Impl ;
+    // InternalReportDSL.g:23021:1: rule__XAnnotationElementValue__Group_0_0__0 : rule__XAnnotationElementValue__Group_0_0__0__Impl ;
     public final void rule__XAnnotationElementValue__Group_0_0__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:23315:1: ( rule__XAnnotationElementValue__Group_0_0__0__Impl )
-            // InternalReportDSL.g:23316:2: rule__XAnnotationElementValue__Group_0_0__0__Impl
+            // InternalReportDSL.g:23025:1: ( rule__XAnnotationElementValue__Group_0_0__0__Impl )
+            // InternalReportDSL.g:23026:2: rule__XAnnotationElementValue__Group_0_0__0__Impl
             {
             pushFollow(FOLLOW_2);
             rule__XAnnotationElementValue__Group_0_0__0__Impl();
@@ -77451,23 +76332,23 @@
 
 
     // $ANTLR start "rule__XAnnotationElementValue__Group_0_0__0__Impl"
-    // InternalReportDSL.g:23322:1: rule__XAnnotationElementValue__Group_0_0__0__Impl : ( ( rule__XAnnotationElementValue__Group_0_0_0__0 ) ) ;
+    // InternalReportDSL.g:23032:1: rule__XAnnotationElementValue__Group_0_0__0__Impl : ( ( rule__XAnnotationElementValue__Group_0_0_0__0 ) ) ;
     public final void rule__XAnnotationElementValue__Group_0_0__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:23326:1: ( ( ( rule__XAnnotationElementValue__Group_0_0_0__0 ) ) )
-            // InternalReportDSL.g:23327:1: ( ( rule__XAnnotationElementValue__Group_0_0_0__0 ) )
+            // InternalReportDSL.g:23036:1: ( ( ( rule__XAnnotationElementValue__Group_0_0_0__0 ) ) )
+            // InternalReportDSL.g:23037:1: ( ( rule__XAnnotationElementValue__Group_0_0_0__0 ) )
             {
-            // InternalReportDSL.g:23327:1: ( ( rule__XAnnotationElementValue__Group_0_0_0__0 ) )
-            // InternalReportDSL.g:23328:2: ( rule__XAnnotationElementValue__Group_0_0_0__0 )
+            // InternalReportDSL.g:23037:1: ( ( rule__XAnnotationElementValue__Group_0_0_0__0 ) )
+            // InternalReportDSL.g:23038:2: ( rule__XAnnotationElementValue__Group_0_0_0__0 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXAnnotationElementValueAccess().getGroup_0_0_0()); 
             }
-            // InternalReportDSL.g:23329:2: ( rule__XAnnotationElementValue__Group_0_0_0__0 )
-            // InternalReportDSL.g:23329:3: rule__XAnnotationElementValue__Group_0_0_0__0
+            // InternalReportDSL.g:23039:2: ( rule__XAnnotationElementValue__Group_0_0_0__0 )
+            // InternalReportDSL.g:23039:3: rule__XAnnotationElementValue__Group_0_0_0__0
             {
             pushFollow(FOLLOW_2);
             rule__XAnnotationElementValue__Group_0_0_0__0();
@@ -77502,16 +76383,16 @@
 
 
     // $ANTLR start "rule__XAnnotationElementValue__Group_0_0_0__0"
-    // InternalReportDSL.g:23338:1: rule__XAnnotationElementValue__Group_0_0_0__0 : rule__XAnnotationElementValue__Group_0_0_0__0__Impl rule__XAnnotationElementValue__Group_0_0_0__1 ;
+    // InternalReportDSL.g:23048:1: rule__XAnnotationElementValue__Group_0_0_0__0 : rule__XAnnotationElementValue__Group_0_0_0__0__Impl rule__XAnnotationElementValue__Group_0_0_0__1 ;
     public final void rule__XAnnotationElementValue__Group_0_0_0__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:23342:1: ( rule__XAnnotationElementValue__Group_0_0_0__0__Impl rule__XAnnotationElementValue__Group_0_0_0__1 )
-            // InternalReportDSL.g:23343:2: rule__XAnnotationElementValue__Group_0_0_0__0__Impl rule__XAnnotationElementValue__Group_0_0_0__1
+            // InternalReportDSL.g:23052:1: ( rule__XAnnotationElementValue__Group_0_0_0__0__Impl rule__XAnnotationElementValue__Group_0_0_0__1 )
+            // InternalReportDSL.g:23053:2: rule__XAnnotationElementValue__Group_0_0_0__0__Impl rule__XAnnotationElementValue__Group_0_0_0__1
             {
-            pushFollow(FOLLOW_142);
+            pushFollow(FOLLOW_141);
             rule__XAnnotationElementValue__Group_0_0_0__0__Impl();
 
             state._fsp--;
@@ -77540,23 +76421,23 @@
 
 
     // $ANTLR start "rule__XAnnotationElementValue__Group_0_0_0__0__Impl"
-    // InternalReportDSL.g:23350:1: rule__XAnnotationElementValue__Group_0_0_0__0__Impl : ( () ) ;
+    // InternalReportDSL.g:23060:1: rule__XAnnotationElementValue__Group_0_0_0__0__Impl : ( () ) ;
     public final void rule__XAnnotationElementValue__Group_0_0_0__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:23354:1: ( ( () ) )
-            // InternalReportDSL.g:23355:1: ( () )
+            // InternalReportDSL.g:23064:1: ( ( () ) )
+            // InternalReportDSL.g:23065:1: ( () )
             {
-            // InternalReportDSL.g:23355:1: ( () )
-            // InternalReportDSL.g:23356:2: ()
+            // InternalReportDSL.g:23065:1: ( () )
+            // InternalReportDSL.g:23066:2: ()
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXAnnotationElementValueAccess().getXListLiteralAction_0_0_0_0()); 
             }
-            // InternalReportDSL.g:23357:2: ()
-            // InternalReportDSL.g:23357:3: 
+            // InternalReportDSL.g:23067:2: ()
+            // InternalReportDSL.g:23067:3: 
             {
             }
 
@@ -77581,16 +76462,16 @@
 
 
     // $ANTLR start "rule__XAnnotationElementValue__Group_0_0_0__1"
-    // InternalReportDSL.g:23365:1: rule__XAnnotationElementValue__Group_0_0_0__1 : rule__XAnnotationElementValue__Group_0_0_0__1__Impl rule__XAnnotationElementValue__Group_0_0_0__2 ;
+    // InternalReportDSL.g:23075:1: rule__XAnnotationElementValue__Group_0_0_0__1 : rule__XAnnotationElementValue__Group_0_0_0__1__Impl rule__XAnnotationElementValue__Group_0_0_0__2 ;
     public final void rule__XAnnotationElementValue__Group_0_0_0__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:23369:1: ( rule__XAnnotationElementValue__Group_0_0_0__1__Impl rule__XAnnotationElementValue__Group_0_0_0__2 )
-            // InternalReportDSL.g:23370:2: rule__XAnnotationElementValue__Group_0_0_0__1__Impl rule__XAnnotationElementValue__Group_0_0_0__2
+            // InternalReportDSL.g:23079:1: ( rule__XAnnotationElementValue__Group_0_0_0__1__Impl rule__XAnnotationElementValue__Group_0_0_0__2 )
+            // InternalReportDSL.g:23080:2: rule__XAnnotationElementValue__Group_0_0_0__1__Impl rule__XAnnotationElementValue__Group_0_0_0__2
             {
-            pushFollow(FOLLOW_143);
+            pushFollow(FOLLOW_142);
             rule__XAnnotationElementValue__Group_0_0_0__1__Impl();
 
             state._fsp--;
@@ -77619,22 +76500,22 @@
 
 
     // $ANTLR start "rule__XAnnotationElementValue__Group_0_0_0__1__Impl"
-    // InternalReportDSL.g:23377:1: rule__XAnnotationElementValue__Group_0_0_0__1__Impl : ( '#' ) ;
+    // InternalReportDSL.g:23087:1: rule__XAnnotationElementValue__Group_0_0_0__1__Impl : ( '#' ) ;
     public final void rule__XAnnotationElementValue__Group_0_0_0__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:23381:1: ( ( '#' ) )
-            // InternalReportDSL.g:23382:1: ( '#' )
+            // InternalReportDSL.g:23091:1: ( ( '#' ) )
+            // InternalReportDSL.g:23092:1: ( '#' )
             {
-            // InternalReportDSL.g:23382:1: ( '#' )
-            // InternalReportDSL.g:23383:2: '#'
+            // InternalReportDSL.g:23092:1: ( '#' )
+            // InternalReportDSL.g:23093:2: '#'
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXAnnotationElementValueAccess().getNumberSignKeyword_0_0_0_1()); 
             }
-            match(input,230,FOLLOW_2); if (state.failed) return ;
+            match(input,237,FOLLOW_2); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getXAnnotationElementValueAccess().getNumberSignKeyword_0_0_0_1()); 
             }
@@ -77660,14 +76541,14 @@
 
 
     // $ANTLR start "rule__XAnnotationElementValue__Group_0_0_0__2"
-    // InternalReportDSL.g:23392:1: rule__XAnnotationElementValue__Group_0_0_0__2 : rule__XAnnotationElementValue__Group_0_0_0__2__Impl ;
+    // InternalReportDSL.g:23102:1: rule__XAnnotationElementValue__Group_0_0_0__2 : rule__XAnnotationElementValue__Group_0_0_0__2__Impl ;
     public final void rule__XAnnotationElementValue__Group_0_0_0__2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:23396:1: ( rule__XAnnotationElementValue__Group_0_0_0__2__Impl )
-            // InternalReportDSL.g:23397:2: rule__XAnnotationElementValue__Group_0_0_0__2__Impl
+            // InternalReportDSL.g:23106:1: ( rule__XAnnotationElementValue__Group_0_0_0__2__Impl )
+            // InternalReportDSL.g:23107:2: rule__XAnnotationElementValue__Group_0_0_0__2__Impl
             {
             pushFollow(FOLLOW_2);
             rule__XAnnotationElementValue__Group_0_0_0__2__Impl();
@@ -77693,22 +76574,22 @@
 
 
     // $ANTLR start "rule__XAnnotationElementValue__Group_0_0_0__2__Impl"
-    // InternalReportDSL.g:23403:1: rule__XAnnotationElementValue__Group_0_0_0__2__Impl : ( '[' ) ;
+    // InternalReportDSL.g:23113:1: rule__XAnnotationElementValue__Group_0_0_0__2__Impl : ( '[' ) ;
     public final void rule__XAnnotationElementValue__Group_0_0_0__2__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:23407:1: ( ( '[' ) )
-            // InternalReportDSL.g:23408:1: ( '[' )
+            // InternalReportDSL.g:23117:1: ( ( '[' ) )
+            // InternalReportDSL.g:23118:1: ( '[' )
             {
-            // InternalReportDSL.g:23408:1: ( '[' )
-            // InternalReportDSL.g:23409:2: '['
+            // InternalReportDSL.g:23118:1: ( '[' )
+            // InternalReportDSL.g:23119:2: '['
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXAnnotationElementValueAccess().getLeftSquareBracketKeyword_0_0_0_2()); 
             }
-            match(input,231,FOLLOW_2); if (state.failed) return ;
+            match(input,238,FOLLOW_2); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getXAnnotationElementValueAccess().getLeftSquareBracketKeyword_0_0_0_2()); 
             }
@@ -77734,16 +76615,16 @@
 
 
     // $ANTLR start "rule__XAnnotationElementValue__Group_0_1__0"
-    // InternalReportDSL.g:23419:1: rule__XAnnotationElementValue__Group_0_1__0 : rule__XAnnotationElementValue__Group_0_1__0__Impl rule__XAnnotationElementValue__Group_0_1__1 ;
+    // InternalReportDSL.g:23129:1: rule__XAnnotationElementValue__Group_0_1__0 : rule__XAnnotationElementValue__Group_0_1__0__Impl rule__XAnnotationElementValue__Group_0_1__1 ;
     public final void rule__XAnnotationElementValue__Group_0_1__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:23423:1: ( rule__XAnnotationElementValue__Group_0_1__0__Impl rule__XAnnotationElementValue__Group_0_1__1 )
-            // InternalReportDSL.g:23424:2: rule__XAnnotationElementValue__Group_0_1__0__Impl rule__XAnnotationElementValue__Group_0_1__1
+            // InternalReportDSL.g:23133:1: ( rule__XAnnotationElementValue__Group_0_1__0__Impl rule__XAnnotationElementValue__Group_0_1__1 )
+            // InternalReportDSL.g:23134:2: rule__XAnnotationElementValue__Group_0_1__0__Impl rule__XAnnotationElementValue__Group_0_1__1
             {
-            pushFollow(FOLLOW_137);
+            pushFollow(FOLLOW_136);
             rule__XAnnotationElementValue__Group_0_1__0__Impl();
 
             state._fsp--;
@@ -77772,23 +76653,23 @@
 
 
     // $ANTLR start "rule__XAnnotationElementValue__Group_0_1__0__Impl"
-    // InternalReportDSL.g:23431:1: rule__XAnnotationElementValue__Group_0_1__0__Impl : ( ( rule__XAnnotationElementValue__ElementsAssignment_0_1_0 ) ) ;
+    // InternalReportDSL.g:23141:1: rule__XAnnotationElementValue__Group_0_1__0__Impl : ( ( rule__XAnnotationElementValue__ElementsAssignment_0_1_0 ) ) ;
     public final void rule__XAnnotationElementValue__Group_0_1__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:23435:1: ( ( ( rule__XAnnotationElementValue__ElementsAssignment_0_1_0 ) ) )
-            // InternalReportDSL.g:23436:1: ( ( rule__XAnnotationElementValue__ElementsAssignment_0_1_0 ) )
+            // InternalReportDSL.g:23145:1: ( ( ( rule__XAnnotationElementValue__ElementsAssignment_0_1_0 ) ) )
+            // InternalReportDSL.g:23146:1: ( ( rule__XAnnotationElementValue__ElementsAssignment_0_1_0 ) )
             {
-            // InternalReportDSL.g:23436:1: ( ( rule__XAnnotationElementValue__ElementsAssignment_0_1_0 ) )
-            // InternalReportDSL.g:23437:2: ( rule__XAnnotationElementValue__ElementsAssignment_0_1_0 )
+            // InternalReportDSL.g:23146:1: ( ( rule__XAnnotationElementValue__ElementsAssignment_0_1_0 ) )
+            // InternalReportDSL.g:23147:2: ( rule__XAnnotationElementValue__ElementsAssignment_0_1_0 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXAnnotationElementValueAccess().getElementsAssignment_0_1_0()); 
             }
-            // InternalReportDSL.g:23438:2: ( rule__XAnnotationElementValue__ElementsAssignment_0_1_0 )
-            // InternalReportDSL.g:23438:3: rule__XAnnotationElementValue__ElementsAssignment_0_1_0
+            // InternalReportDSL.g:23148:2: ( rule__XAnnotationElementValue__ElementsAssignment_0_1_0 )
+            // InternalReportDSL.g:23148:3: rule__XAnnotationElementValue__ElementsAssignment_0_1_0
             {
             pushFollow(FOLLOW_2);
             rule__XAnnotationElementValue__ElementsAssignment_0_1_0();
@@ -77823,14 +76704,14 @@
 
 
     // $ANTLR start "rule__XAnnotationElementValue__Group_0_1__1"
-    // InternalReportDSL.g:23446:1: rule__XAnnotationElementValue__Group_0_1__1 : rule__XAnnotationElementValue__Group_0_1__1__Impl ;
+    // InternalReportDSL.g:23156:1: rule__XAnnotationElementValue__Group_0_1__1 : rule__XAnnotationElementValue__Group_0_1__1__Impl ;
     public final void rule__XAnnotationElementValue__Group_0_1__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:23450:1: ( rule__XAnnotationElementValue__Group_0_1__1__Impl )
-            // InternalReportDSL.g:23451:2: rule__XAnnotationElementValue__Group_0_1__1__Impl
+            // InternalReportDSL.g:23160:1: ( rule__XAnnotationElementValue__Group_0_1__1__Impl )
+            // InternalReportDSL.g:23161:2: rule__XAnnotationElementValue__Group_0_1__1__Impl
             {
             pushFollow(FOLLOW_2);
             rule__XAnnotationElementValue__Group_0_1__1__Impl();
@@ -77856,37 +76737,37 @@
 
 
     // $ANTLR start "rule__XAnnotationElementValue__Group_0_1__1__Impl"
-    // InternalReportDSL.g:23457:1: rule__XAnnotationElementValue__Group_0_1__1__Impl : ( ( rule__XAnnotationElementValue__Group_0_1_1__0 )* ) ;
+    // InternalReportDSL.g:23167:1: rule__XAnnotationElementValue__Group_0_1__1__Impl : ( ( rule__XAnnotationElementValue__Group_0_1_1__0 )* ) ;
     public final void rule__XAnnotationElementValue__Group_0_1__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:23461:1: ( ( ( rule__XAnnotationElementValue__Group_0_1_1__0 )* ) )
-            // InternalReportDSL.g:23462:1: ( ( rule__XAnnotationElementValue__Group_0_1_1__0 )* )
+            // InternalReportDSL.g:23171:1: ( ( ( rule__XAnnotationElementValue__Group_0_1_1__0 )* ) )
+            // InternalReportDSL.g:23172:1: ( ( rule__XAnnotationElementValue__Group_0_1_1__0 )* )
             {
-            // InternalReportDSL.g:23462:1: ( ( rule__XAnnotationElementValue__Group_0_1_1__0 )* )
-            // InternalReportDSL.g:23463:2: ( rule__XAnnotationElementValue__Group_0_1_1__0 )*
+            // InternalReportDSL.g:23172:1: ( ( rule__XAnnotationElementValue__Group_0_1_1__0 )* )
+            // InternalReportDSL.g:23173:2: ( rule__XAnnotationElementValue__Group_0_1_1__0 )*
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXAnnotationElementValueAccess().getGroup_0_1_1()); 
             }
-            // InternalReportDSL.g:23464:2: ( rule__XAnnotationElementValue__Group_0_1_1__0 )*
-            loop179:
+            // InternalReportDSL.g:23174:2: ( rule__XAnnotationElementValue__Group_0_1_1__0 )*
+            loop161:
             do {
-                int alt179=2;
-                int LA179_0 = input.LA(1);
+                int alt161=2;
+                int LA161_0 = input.LA(1);
 
-                if ( (LA179_0==228) ) {
-                    alt179=1;
+                if ( (LA161_0==235) ) {
+                    alt161=1;
                 }
 
 
-                switch (alt179) {
+                switch (alt161) {
             	case 1 :
-            	    // InternalReportDSL.g:23464:3: rule__XAnnotationElementValue__Group_0_1_1__0
+            	    // InternalReportDSL.g:23174:3: rule__XAnnotationElementValue__Group_0_1_1__0
             	    {
-            	    pushFollow(FOLLOW_138);
+            	    pushFollow(FOLLOW_137);
             	    rule__XAnnotationElementValue__Group_0_1_1__0();
 
             	    state._fsp--;
@@ -77896,7 +76777,7 @@
             	    break;
 
             	default :
-            	    break loop179;
+            	    break loop161;
                 }
             } while (true);
 
@@ -77925,16 +76806,16 @@
 
 
     // $ANTLR start "rule__XAnnotationElementValue__Group_0_1_1__0"
-    // InternalReportDSL.g:23473:1: rule__XAnnotationElementValue__Group_0_1_1__0 : rule__XAnnotationElementValue__Group_0_1_1__0__Impl rule__XAnnotationElementValue__Group_0_1_1__1 ;
+    // InternalReportDSL.g:23183:1: rule__XAnnotationElementValue__Group_0_1_1__0 : rule__XAnnotationElementValue__Group_0_1_1__0__Impl rule__XAnnotationElementValue__Group_0_1_1__1 ;
     public final void rule__XAnnotationElementValue__Group_0_1_1__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:23477:1: ( rule__XAnnotationElementValue__Group_0_1_1__0__Impl rule__XAnnotationElementValue__Group_0_1_1__1 )
-            // InternalReportDSL.g:23478:2: rule__XAnnotationElementValue__Group_0_1_1__0__Impl rule__XAnnotationElementValue__Group_0_1_1__1
+            // InternalReportDSL.g:23187:1: ( rule__XAnnotationElementValue__Group_0_1_1__0__Impl rule__XAnnotationElementValue__Group_0_1_1__1 )
+            // InternalReportDSL.g:23188:2: rule__XAnnotationElementValue__Group_0_1_1__0__Impl rule__XAnnotationElementValue__Group_0_1_1__1
             {
-            pushFollow(FOLLOW_139);
+            pushFollow(FOLLOW_138);
             rule__XAnnotationElementValue__Group_0_1_1__0__Impl();
 
             state._fsp--;
@@ -77963,22 +76844,22 @@
 
 
     // $ANTLR start "rule__XAnnotationElementValue__Group_0_1_1__0__Impl"
-    // InternalReportDSL.g:23485:1: rule__XAnnotationElementValue__Group_0_1_1__0__Impl : ( ',' ) ;
+    // InternalReportDSL.g:23195:1: rule__XAnnotationElementValue__Group_0_1_1__0__Impl : ( ',' ) ;
     public final void rule__XAnnotationElementValue__Group_0_1_1__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:23489:1: ( ( ',' ) )
-            // InternalReportDSL.g:23490:1: ( ',' )
+            // InternalReportDSL.g:23199:1: ( ( ',' ) )
+            // InternalReportDSL.g:23200:1: ( ',' )
             {
-            // InternalReportDSL.g:23490:1: ( ',' )
-            // InternalReportDSL.g:23491:2: ','
+            // InternalReportDSL.g:23200:1: ( ',' )
+            // InternalReportDSL.g:23201:2: ','
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXAnnotationElementValueAccess().getCommaKeyword_0_1_1_0()); 
             }
-            match(input,228,FOLLOW_2); if (state.failed) return ;
+            match(input,235,FOLLOW_2); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getXAnnotationElementValueAccess().getCommaKeyword_0_1_1_0()); 
             }
@@ -78004,14 +76885,14 @@
 
 
     // $ANTLR start "rule__XAnnotationElementValue__Group_0_1_1__1"
-    // InternalReportDSL.g:23500:1: rule__XAnnotationElementValue__Group_0_1_1__1 : rule__XAnnotationElementValue__Group_0_1_1__1__Impl ;
+    // InternalReportDSL.g:23210:1: rule__XAnnotationElementValue__Group_0_1_1__1 : rule__XAnnotationElementValue__Group_0_1_1__1__Impl ;
     public final void rule__XAnnotationElementValue__Group_0_1_1__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:23504:1: ( rule__XAnnotationElementValue__Group_0_1_1__1__Impl )
-            // InternalReportDSL.g:23505:2: rule__XAnnotationElementValue__Group_0_1_1__1__Impl
+            // InternalReportDSL.g:23214:1: ( rule__XAnnotationElementValue__Group_0_1_1__1__Impl )
+            // InternalReportDSL.g:23215:2: rule__XAnnotationElementValue__Group_0_1_1__1__Impl
             {
             pushFollow(FOLLOW_2);
             rule__XAnnotationElementValue__Group_0_1_1__1__Impl();
@@ -78037,23 +76918,23 @@
 
 
     // $ANTLR start "rule__XAnnotationElementValue__Group_0_1_1__1__Impl"
-    // InternalReportDSL.g:23511:1: rule__XAnnotationElementValue__Group_0_1_1__1__Impl : ( ( rule__XAnnotationElementValue__ElementsAssignment_0_1_1_1 ) ) ;
+    // InternalReportDSL.g:23221:1: rule__XAnnotationElementValue__Group_0_1_1__1__Impl : ( ( rule__XAnnotationElementValue__ElementsAssignment_0_1_1_1 ) ) ;
     public final void rule__XAnnotationElementValue__Group_0_1_1__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:23515:1: ( ( ( rule__XAnnotationElementValue__ElementsAssignment_0_1_1_1 ) ) )
-            // InternalReportDSL.g:23516:1: ( ( rule__XAnnotationElementValue__ElementsAssignment_0_1_1_1 ) )
+            // InternalReportDSL.g:23225:1: ( ( ( rule__XAnnotationElementValue__ElementsAssignment_0_1_1_1 ) ) )
+            // InternalReportDSL.g:23226:1: ( ( rule__XAnnotationElementValue__ElementsAssignment_0_1_1_1 ) )
             {
-            // InternalReportDSL.g:23516:1: ( ( rule__XAnnotationElementValue__ElementsAssignment_0_1_1_1 ) )
-            // InternalReportDSL.g:23517:2: ( rule__XAnnotationElementValue__ElementsAssignment_0_1_1_1 )
+            // InternalReportDSL.g:23226:1: ( ( rule__XAnnotationElementValue__ElementsAssignment_0_1_1_1 ) )
+            // InternalReportDSL.g:23227:2: ( rule__XAnnotationElementValue__ElementsAssignment_0_1_1_1 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXAnnotationElementValueAccess().getElementsAssignment_0_1_1_1()); 
             }
-            // InternalReportDSL.g:23518:2: ( rule__XAnnotationElementValue__ElementsAssignment_0_1_1_1 )
-            // InternalReportDSL.g:23518:3: rule__XAnnotationElementValue__ElementsAssignment_0_1_1_1
+            // InternalReportDSL.g:23228:2: ( rule__XAnnotationElementValue__ElementsAssignment_0_1_1_1 )
+            // InternalReportDSL.g:23228:3: rule__XAnnotationElementValue__ElementsAssignment_0_1_1_1
             {
             pushFollow(FOLLOW_2);
             rule__XAnnotationElementValue__ElementsAssignment_0_1_1_1();
@@ -78088,16 +76969,16 @@
 
 
     // $ANTLR start "rule__XAssignment__Group_0__0"
-    // InternalReportDSL.g:23527:1: rule__XAssignment__Group_0__0 : rule__XAssignment__Group_0__0__Impl rule__XAssignment__Group_0__1 ;
+    // InternalReportDSL.g:23237:1: rule__XAssignment__Group_0__0 : rule__XAssignment__Group_0__0__Impl rule__XAssignment__Group_0__1 ;
     public final void rule__XAssignment__Group_0__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:23531:1: ( rule__XAssignment__Group_0__0__Impl rule__XAssignment__Group_0__1 )
-            // InternalReportDSL.g:23532:2: rule__XAssignment__Group_0__0__Impl rule__XAssignment__Group_0__1
+            // InternalReportDSL.g:23241:1: ( rule__XAssignment__Group_0__0__Impl rule__XAssignment__Group_0__1 )
+            // InternalReportDSL.g:23242:2: rule__XAssignment__Group_0__0__Impl rule__XAssignment__Group_0__1
             {
-            pushFollow(FOLLOW_144);
+            pushFollow(FOLLOW_143);
             rule__XAssignment__Group_0__0__Impl();
 
             state._fsp--;
@@ -78126,23 +77007,23 @@
 
 
     // $ANTLR start "rule__XAssignment__Group_0__0__Impl"
-    // InternalReportDSL.g:23539:1: rule__XAssignment__Group_0__0__Impl : ( () ) ;
+    // InternalReportDSL.g:23249:1: rule__XAssignment__Group_0__0__Impl : ( () ) ;
     public final void rule__XAssignment__Group_0__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:23543:1: ( ( () ) )
-            // InternalReportDSL.g:23544:1: ( () )
+            // InternalReportDSL.g:23253:1: ( ( () ) )
+            // InternalReportDSL.g:23254:1: ( () )
             {
-            // InternalReportDSL.g:23544:1: ( () )
-            // InternalReportDSL.g:23545:2: ()
+            // InternalReportDSL.g:23254:1: ( () )
+            // InternalReportDSL.g:23255:2: ()
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXAssignmentAccess().getXAssignmentAction_0_0()); 
             }
-            // InternalReportDSL.g:23546:2: ()
-            // InternalReportDSL.g:23546:3: 
+            // InternalReportDSL.g:23256:2: ()
+            // InternalReportDSL.g:23256:3: 
             {
             }
 
@@ -78167,16 +77048,16 @@
 
 
     // $ANTLR start "rule__XAssignment__Group_0__1"
-    // InternalReportDSL.g:23554:1: rule__XAssignment__Group_0__1 : rule__XAssignment__Group_0__1__Impl rule__XAssignment__Group_0__2 ;
+    // InternalReportDSL.g:23264:1: rule__XAssignment__Group_0__1 : rule__XAssignment__Group_0__1__Impl rule__XAssignment__Group_0__2 ;
     public final void rule__XAssignment__Group_0__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:23558:1: ( rule__XAssignment__Group_0__1__Impl rule__XAssignment__Group_0__2 )
-            // InternalReportDSL.g:23559:2: rule__XAssignment__Group_0__1__Impl rule__XAssignment__Group_0__2
+            // InternalReportDSL.g:23268:1: ( rule__XAssignment__Group_0__1__Impl rule__XAssignment__Group_0__2 )
+            // InternalReportDSL.g:23269:2: rule__XAssignment__Group_0__1__Impl rule__XAssignment__Group_0__2
             {
-            pushFollow(FOLLOW_140);
+            pushFollow(FOLLOW_139);
             rule__XAssignment__Group_0__1__Impl();
 
             state._fsp--;
@@ -78205,23 +77086,23 @@
 
 
     // $ANTLR start "rule__XAssignment__Group_0__1__Impl"
-    // InternalReportDSL.g:23566:1: rule__XAssignment__Group_0__1__Impl : ( ( rule__XAssignment__FeatureAssignment_0_1 ) ) ;
+    // InternalReportDSL.g:23276:1: rule__XAssignment__Group_0__1__Impl : ( ( rule__XAssignment__FeatureAssignment_0_1 ) ) ;
     public final void rule__XAssignment__Group_0__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:23570:1: ( ( ( rule__XAssignment__FeatureAssignment_0_1 ) ) )
-            // InternalReportDSL.g:23571:1: ( ( rule__XAssignment__FeatureAssignment_0_1 ) )
+            // InternalReportDSL.g:23280:1: ( ( ( rule__XAssignment__FeatureAssignment_0_1 ) ) )
+            // InternalReportDSL.g:23281:1: ( ( rule__XAssignment__FeatureAssignment_0_1 ) )
             {
-            // InternalReportDSL.g:23571:1: ( ( rule__XAssignment__FeatureAssignment_0_1 ) )
-            // InternalReportDSL.g:23572:2: ( rule__XAssignment__FeatureAssignment_0_1 )
+            // InternalReportDSL.g:23281:1: ( ( rule__XAssignment__FeatureAssignment_0_1 ) )
+            // InternalReportDSL.g:23282:2: ( rule__XAssignment__FeatureAssignment_0_1 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXAssignmentAccess().getFeatureAssignment_0_1()); 
             }
-            // InternalReportDSL.g:23573:2: ( rule__XAssignment__FeatureAssignment_0_1 )
-            // InternalReportDSL.g:23573:3: rule__XAssignment__FeatureAssignment_0_1
+            // InternalReportDSL.g:23283:2: ( rule__XAssignment__FeatureAssignment_0_1 )
+            // InternalReportDSL.g:23283:3: rule__XAssignment__FeatureAssignment_0_1
             {
             pushFollow(FOLLOW_2);
             rule__XAssignment__FeatureAssignment_0_1();
@@ -78256,16 +77137,16 @@
 
 
     // $ANTLR start "rule__XAssignment__Group_0__2"
-    // InternalReportDSL.g:23581:1: rule__XAssignment__Group_0__2 : rule__XAssignment__Group_0__2__Impl rule__XAssignment__Group_0__3 ;
+    // InternalReportDSL.g:23291:1: rule__XAssignment__Group_0__2 : rule__XAssignment__Group_0__2__Impl rule__XAssignment__Group_0__3 ;
     public final void rule__XAssignment__Group_0__2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:23585:1: ( rule__XAssignment__Group_0__2__Impl rule__XAssignment__Group_0__3 )
-            // InternalReportDSL.g:23586:2: rule__XAssignment__Group_0__2__Impl rule__XAssignment__Group_0__3
+            // InternalReportDSL.g:23295:1: ( rule__XAssignment__Group_0__2__Impl rule__XAssignment__Group_0__3 )
+            // InternalReportDSL.g:23296:2: rule__XAssignment__Group_0__2__Impl rule__XAssignment__Group_0__3
             {
-            pushFollow(FOLLOW_139);
+            pushFollow(FOLLOW_138);
             rule__XAssignment__Group_0__2__Impl();
 
             state._fsp--;
@@ -78294,17 +77175,17 @@
 
 
     // $ANTLR start "rule__XAssignment__Group_0__2__Impl"
-    // InternalReportDSL.g:23593:1: rule__XAssignment__Group_0__2__Impl : ( ruleOpSingleAssign ) ;
+    // InternalReportDSL.g:23303:1: rule__XAssignment__Group_0__2__Impl : ( ruleOpSingleAssign ) ;
     public final void rule__XAssignment__Group_0__2__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:23597:1: ( ( ruleOpSingleAssign ) )
-            // InternalReportDSL.g:23598:1: ( ruleOpSingleAssign )
+            // InternalReportDSL.g:23307:1: ( ( ruleOpSingleAssign ) )
+            // InternalReportDSL.g:23308:1: ( ruleOpSingleAssign )
             {
-            // InternalReportDSL.g:23598:1: ( ruleOpSingleAssign )
-            // InternalReportDSL.g:23599:2: ruleOpSingleAssign
+            // InternalReportDSL.g:23308:1: ( ruleOpSingleAssign )
+            // InternalReportDSL.g:23309:2: ruleOpSingleAssign
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXAssignmentAccess().getOpSingleAssignParserRuleCall_0_2()); 
@@ -78339,14 +77220,14 @@
 
 
     // $ANTLR start "rule__XAssignment__Group_0__3"
-    // InternalReportDSL.g:23608:1: rule__XAssignment__Group_0__3 : rule__XAssignment__Group_0__3__Impl ;
+    // InternalReportDSL.g:23318:1: rule__XAssignment__Group_0__3 : rule__XAssignment__Group_0__3__Impl ;
     public final void rule__XAssignment__Group_0__3() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:23612:1: ( rule__XAssignment__Group_0__3__Impl )
-            // InternalReportDSL.g:23613:2: rule__XAssignment__Group_0__3__Impl
+            // InternalReportDSL.g:23322:1: ( rule__XAssignment__Group_0__3__Impl )
+            // InternalReportDSL.g:23323:2: rule__XAssignment__Group_0__3__Impl
             {
             pushFollow(FOLLOW_2);
             rule__XAssignment__Group_0__3__Impl();
@@ -78372,23 +77253,23 @@
 
 
     // $ANTLR start "rule__XAssignment__Group_0__3__Impl"
-    // InternalReportDSL.g:23619:1: rule__XAssignment__Group_0__3__Impl : ( ( rule__XAssignment__ValueAssignment_0_3 ) ) ;
+    // InternalReportDSL.g:23329:1: rule__XAssignment__Group_0__3__Impl : ( ( rule__XAssignment__ValueAssignment_0_3 ) ) ;
     public final void rule__XAssignment__Group_0__3__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:23623:1: ( ( ( rule__XAssignment__ValueAssignment_0_3 ) ) )
-            // InternalReportDSL.g:23624:1: ( ( rule__XAssignment__ValueAssignment_0_3 ) )
+            // InternalReportDSL.g:23333:1: ( ( ( rule__XAssignment__ValueAssignment_0_3 ) ) )
+            // InternalReportDSL.g:23334:1: ( ( rule__XAssignment__ValueAssignment_0_3 ) )
             {
-            // InternalReportDSL.g:23624:1: ( ( rule__XAssignment__ValueAssignment_0_3 ) )
-            // InternalReportDSL.g:23625:2: ( rule__XAssignment__ValueAssignment_0_3 )
+            // InternalReportDSL.g:23334:1: ( ( rule__XAssignment__ValueAssignment_0_3 ) )
+            // InternalReportDSL.g:23335:2: ( rule__XAssignment__ValueAssignment_0_3 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXAssignmentAccess().getValueAssignment_0_3()); 
             }
-            // InternalReportDSL.g:23626:2: ( rule__XAssignment__ValueAssignment_0_3 )
-            // InternalReportDSL.g:23626:3: rule__XAssignment__ValueAssignment_0_3
+            // InternalReportDSL.g:23336:2: ( rule__XAssignment__ValueAssignment_0_3 )
+            // InternalReportDSL.g:23336:3: rule__XAssignment__ValueAssignment_0_3
             {
             pushFollow(FOLLOW_2);
             rule__XAssignment__ValueAssignment_0_3();
@@ -78423,16 +77304,16 @@
 
 
     // $ANTLR start "rule__XAssignment__Group_1__0"
-    // InternalReportDSL.g:23635:1: rule__XAssignment__Group_1__0 : rule__XAssignment__Group_1__0__Impl rule__XAssignment__Group_1__1 ;
+    // InternalReportDSL.g:23345:1: rule__XAssignment__Group_1__0 : rule__XAssignment__Group_1__0__Impl rule__XAssignment__Group_1__1 ;
     public final void rule__XAssignment__Group_1__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:23639:1: ( rule__XAssignment__Group_1__0__Impl rule__XAssignment__Group_1__1 )
-            // InternalReportDSL.g:23640:2: rule__XAssignment__Group_1__0__Impl rule__XAssignment__Group_1__1
+            // InternalReportDSL.g:23349:1: ( rule__XAssignment__Group_1__0__Impl rule__XAssignment__Group_1__1 )
+            // InternalReportDSL.g:23350:2: rule__XAssignment__Group_1__0__Impl rule__XAssignment__Group_1__1
             {
-            pushFollow(FOLLOW_145);
+            pushFollow(FOLLOW_144);
             rule__XAssignment__Group_1__0__Impl();
 
             state._fsp--;
@@ -78461,17 +77342,17 @@
 
 
     // $ANTLR start "rule__XAssignment__Group_1__0__Impl"
-    // InternalReportDSL.g:23647:1: rule__XAssignment__Group_1__0__Impl : ( ruleXOrExpression ) ;
+    // InternalReportDSL.g:23357:1: rule__XAssignment__Group_1__0__Impl : ( ruleXOrExpression ) ;
     public final void rule__XAssignment__Group_1__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:23651:1: ( ( ruleXOrExpression ) )
-            // InternalReportDSL.g:23652:1: ( ruleXOrExpression )
+            // InternalReportDSL.g:23361:1: ( ( ruleXOrExpression ) )
+            // InternalReportDSL.g:23362:1: ( ruleXOrExpression )
             {
-            // InternalReportDSL.g:23652:1: ( ruleXOrExpression )
-            // InternalReportDSL.g:23653:2: ruleXOrExpression
+            // InternalReportDSL.g:23362:1: ( ruleXOrExpression )
+            // InternalReportDSL.g:23363:2: ruleXOrExpression
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXAssignmentAccess().getXOrExpressionParserRuleCall_1_0()); 
@@ -78506,14 +77387,14 @@
 
 
     // $ANTLR start "rule__XAssignment__Group_1__1"
-    // InternalReportDSL.g:23662:1: rule__XAssignment__Group_1__1 : rule__XAssignment__Group_1__1__Impl ;
+    // InternalReportDSL.g:23372:1: rule__XAssignment__Group_1__1 : rule__XAssignment__Group_1__1__Impl ;
     public final void rule__XAssignment__Group_1__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:23666:1: ( rule__XAssignment__Group_1__1__Impl )
-            // InternalReportDSL.g:23667:2: rule__XAssignment__Group_1__1__Impl
+            // InternalReportDSL.g:23376:1: ( rule__XAssignment__Group_1__1__Impl )
+            // InternalReportDSL.g:23377:2: rule__XAssignment__Group_1__1__Impl
             {
             pushFollow(FOLLOW_2);
             rule__XAssignment__Group_1__1__Impl();
@@ -78539,27 +77420,27 @@
 
 
     // $ANTLR start "rule__XAssignment__Group_1__1__Impl"
-    // InternalReportDSL.g:23673:1: rule__XAssignment__Group_1__1__Impl : ( ( rule__XAssignment__Group_1_1__0 )? ) ;
+    // InternalReportDSL.g:23383:1: rule__XAssignment__Group_1__1__Impl : ( ( rule__XAssignment__Group_1_1__0 )? ) ;
     public final void rule__XAssignment__Group_1__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:23677:1: ( ( ( rule__XAssignment__Group_1_1__0 )? ) )
-            // InternalReportDSL.g:23678:1: ( ( rule__XAssignment__Group_1_1__0 )? )
+            // InternalReportDSL.g:23387:1: ( ( ( rule__XAssignment__Group_1_1__0 )? ) )
+            // InternalReportDSL.g:23388:1: ( ( rule__XAssignment__Group_1_1__0 )? )
             {
-            // InternalReportDSL.g:23678:1: ( ( rule__XAssignment__Group_1_1__0 )? )
-            // InternalReportDSL.g:23679:2: ( rule__XAssignment__Group_1_1__0 )?
+            // InternalReportDSL.g:23388:1: ( ( rule__XAssignment__Group_1_1__0 )? )
+            // InternalReportDSL.g:23389:2: ( rule__XAssignment__Group_1_1__0 )?
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXAssignmentAccess().getGroup_1_1()); 
             }
-            // InternalReportDSL.g:23680:2: ( rule__XAssignment__Group_1_1__0 )?
-            int alt180=2;
-            alt180 = dfa180.predict(input);
-            switch (alt180) {
+            // InternalReportDSL.g:23390:2: ( rule__XAssignment__Group_1_1__0 )?
+            int alt162=2;
+            alt162 = dfa162.predict(input);
+            switch (alt162) {
                 case 1 :
-                    // InternalReportDSL.g:23680:3: rule__XAssignment__Group_1_1__0
+                    // InternalReportDSL.g:23390:3: rule__XAssignment__Group_1_1__0
                     {
                     pushFollow(FOLLOW_2);
                     rule__XAssignment__Group_1_1__0();
@@ -78597,16 +77478,16 @@
 
 
     // $ANTLR start "rule__XAssignment__Group_1_1__0"
-    // InternalReportDSL.g:23689:1: rule__XAssignment__Group_1_1__0 : rule__XAssignment__Group_1_1__0__Impl rule__XAssignment__Group_1_1__1 ;
+    // InternalReportDSL.g:23399:1: rule__XAssignment__Group_1_1__0 : rule__XAssignment__Group_1_1__0__Impl rule__XAssignment__Group_1_1__1 ;
     public final void rule__XAssignment__Group_1_1__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:23693:1: ( rule__XAssignment__Group_1_1__0__Impl rule__XAssignment__Group_1_1__1 )
-            // InternalReportDSL.g:23694:2: rule__XAssignment__Group_1_1__0__Impl rule__XAssignment__Group_1_1__1
+            // InternalReportDSL.g:23403:1: ( rule__XAssignment__Group_1_1__0__Impl rule__XAssignment__Group_1_1__1 )
+            // InternalReportDSL.g:23404:2: rule__XAssignment__Group_1_1__0__Impl rule__XAssignment__Group_1_1__1
             {
-            pushFollow(FOLLOW_139);
+            pushFollow(FOLLOW_138);
             rule__XAssignment__Group_1_1__0__Impl();
 
             state._fsp--;
@@ -78635,23 +77516,23 @@
 
 
     // $ANTLR start "rule__XAssignment__Group_1_1__0__Impl"
-    // InternalReportDSL.g:23701:1: rule__XAssignment__Group_1_1__0__Impl : ( ( rule__XAssignment__Group_1_1_0__0 ) ) ;
+    // InternalReportDSL.g:23411:1: rule__XAssignment__Group_1_1__0__Impl : ( ( rule__XAssignment__Group_1_1_0__0 ) ) ;
     public final void rule__XAssignment__Group_1_1__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:23705:1: ( ( ( rule__XAssignment__Group_1_1_0__0 ) ) )
-            // InternalReportDSL.g:23706:1: ( ( rule__XAssignment__Group_1_1_0__0 ) )
+            // InternalReportDSL.g:23415:1: ( ( ( rule__XAssignment__Group_1_1_0__0 ) ) )
+            // InternalReportDSL.g:23416:1: ( ( rule__XAssignment__Group_1_1_0__0 ) )
             {
-            // InternalReportDSL.g:23706:1: ( ( rule__XAssignment__Group_1_1_0__0 ) )
-            // InternalReportDSL.g:23707:2: ( rule__XAssignment__Group_1_1_0__0 )
+            // InternalReportDSL.g:23416:1: ( ( rule__XAssignment__Group_1_1_0__0 ) )
+            // InternalReportDSL.g:23417:2: ( rule__XAssignment__Group_1_1_0__0 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXAssignmentAccess().getGroup_1_1_0()); 
             }
-            // InternalReportDSL.g:23708:2: ( rule__XAssignment__Group_1_1_0__0 )
-            // InternalReportDSL.g:23708:3: rule__XAssignment__Group_1_1_0__0
+            // InternalReportDSL.g:23418:2: ( rule__XAssignment__Group_1_1_0__0 )
+            // InternalReportDSL.g:23418:3: rule__XAssignment__Group_1_1_0__0
             {
             pushFollow(FOLLOW_2);
             rule__XAssignment__Group_1_1_0__0();
@@ -78686,14 +77567,14 @@
 
 
     // $ANTLR start "rule__XAssignment__Group_1_1__1"
-    // InternalReportDSL.g:23716:1: rule__XAssignment__Group_1_1__1 : rule__XAssignment__Group_1_1__1__Impl ;
+    // InternalReportDSL.g:23426:1: rule__XAssignment__Group_1_1__1 : rule__XAssignment__Group_1_1__1__Impl ;
     public final void rule__XAssignment__Group_1_1__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:23720:1: ( rule__XAssignment__Group_1_1__1__Impl )
-            // InternalReportDSL.g:23721:2: rule__XAssignment__Group_1_1__1__Impl
+            // InternalReportDSL.g:23430:1: ( rule__XAssignment__Group_1_1__1__Impl )
+            // InternalReportDSL.g:23431:2: rule__XAssignment__Group_1_1__1__Impl
             {
             pushFollow(FOLLOW_2);
             rule__XAssignment__Group_1_1__1__Impl();
@@ -78719,23 +77600,23 @@
 
 
     // $ANTLR start "rule__XAssignment__Group_1_1__1__Impl"
-    // InternalReportDSL.g:23727:1: rule__XAssignment__Group_1_1__1__Impl : ( ( rule__XAssignment__RightOperandAssignment_1_1_1 ) ) ;
+    // InternalReportDSL.g:23437:1: rule__XAssignment__Group_1_1__1__Impl : ( ( rule__XAssignment__RightOperandAssignment_1_1_1 ) ) ;
     public final void rule__XAssignment__Group_1_1__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:23731:1: ( ( ( rule__XAssignment__RightOperandAssignment_1_1_1 ) ) )
-            // InternalReportDSL.g:23732:1: ( ( rule__XAssignment__RightOperandAssignment_1_1_1 ) )
+            // InternalReportDSL.g:23441:1: ( ( ( rule__XAssignment__RightOperandAssignment_1_1_1 ) ) )
+            // InternalReportDSL.g:23442:1: ( ( rule__XAssignment__RightOperandAssignment_1_1_1 ) )
             {
-            // InternalReportDSL.g:23732:1: ( ( rule__XAssignment__RightOperandAssignment_1_1_1 ) )
-            // InternalReportDSL.g:23733:2: ( rule__XAssignment__RightOperandAssignment_1_1_1 )
+            // InternalReportDSL.g:23442:1: ( ( rule__XAssignment__RightOperandAssignment_1_1_1 ) )
+            // InternalReportDSL.g:23443:2: ( rule__XAssignment__RightOperandAssignment_1_1_1 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXAssignmentAccess().getRightOperandAssignment_1_1_1()); 
             }
-            // InternalReportDSL.g:23734:2: ( rule__XAssignment__RightOperandAssignment_1_1_1 )
-            // InternalReportDSL.g:23734:3: rule__XAssignment__RightOperandAssignment_1_1_1
+            // InternalReportDSL.g:23444:2: ( rule__XAssignment__RightOperandAssignment_1_1_1 )
+            // InternalReportDSL.g:23444:3: rule__XAssignment__RightOperandAssignment_1_1_1
             {
             pushFollow(FOLLOW_2);
             rule__XAssignment__RightOperandAssignment_1_1_1();
@@ -78770,14 +77651,14 @@
 
 
     // $ANTLR start "rule__XAssignment__Group_1_1_0__0"
-    // InternalReportDSL.g:23743:1: rule__XAssignment__Group_1_1_0__0 : rule__XAssignment__Group_1_1_0__0__Impl ;
+    // InternalReportDSL.g:23453:1: rule__XAssignment__Group_1_1_0__0 : rule__XAssignment__Group_1_1_0__0__Impl ;
     public final void rule__XAssignment__Group_1_1_0__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:23747:1: ( rule__XAssignment__Group_1_1_0__0__Impl )
-            // InternalReportDSL.g:23748:2: rule__XAssignment__Group_1_1_0__0__Impl
+            // InternalReportDSL.g:23457:1: ( rule__XAssignment__Group_1_1_0__0__Impl )
+            // InternalReportDSL.g:23458:2: rule__XAssignment__Group_1_1_0__0__Impl
             {
             pushFollow(FOLLOW_2);
             rule__XAssignment__Group_1_1_0__0__Impl();
@@ -78803,23 +77684,23 @@
 
 
     // $ANTLR start "rule__XAssignment__Group_1_1_0__0__Impl"
-    // InternalReportDSL.g:23754:1: rule__XAssignment__Group_1_1_0__0__Impl : ( ( rule__XAssignment__Group_1_1_0_0__0 ) ) ;
+    // InternalReportDSL.g:23464:1: rule__XAssignment__Group_1_1_0__0__Impl : ( ( rule__XAssignment__Group_1_1_0_0__0 ) ) ;
     public final void rule__XAssignment__Group_1_1_0__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:23758:1: ( ( ( rule__XAssignment__Group_1_1_0_0__0 ) ) )
-            // InternalReportDSL.g:23759:1: ( ( rule__XAssignment__Group_1_1_0_0__0 ) )
+            // InternalReportDSL.g:23468:1: ( ( ( rule__XAssignment__Group_1_1_0_0__0 ) ) )
+            // InternalReportDSL.g:23469:1: ( ( rule__XAssignment__Group_1_1_0_0__0 ) )
             {
-            // InternalReportDSL.g:23759:1: ( ( rule__XAssignment__Group_1_1_0_0__0 ) )
-            // InternalReportDSL.g:23760:2: ( rule__XAssignment__Group_1_1_0_0__0 )
+            // InternalReportDSL.g:23469:1: ( ( rule__XAssignment__Group_1_1_0_0__0 ) )
+            // InternalReportDSL.g:23470:2: ( rule__XAssignment__Group_1_1_0_0__0 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXAssignmentAccess().getGroup_1_1_0_0()); 
             }
-            // InternalReportDSL.g:23761:2: ( rule__XAssignment__Group_1_1_0_0__0 )
-            // InternalReportDSL.g:23761:3: rule__XAssignment__Group_1_1_0_0__0
+            // InternalReportDSL.g:23471:2: ( rule__XAssignment__Group_1_1_0_0__0 )
+            // InternalReportDSL.g:23471:3: rule__XAssignment__Group_1_1_0_0__0
             {
             pushFollow(FOLLOW_2);
             rule__XAssignment__Group_1_1_0_0__0();
@@ -78854,16 +77735,16 @@
 
 
     // $ANTLR start "rule__XAssignment__Group_1_1_0_0__0"
-    // InternalReportDSL.g:23770:1: rule__XAssignment__Group_1_1_0_0__0 : rule__XAssignment__Group_1_1_0_0__0__Impl rule__XAssignment__Group_1_1_0_0__1 ;
+    // InternalReportDSL.g:23480:1: rule__XAssignment__Group_1_1_0_0__0 : rule__XAssignment__Group_1_1_0_0__0__Impl rule__XAssignment__Group_1_1_0_0__1 ;
     public final void rule__XAssignment__Group_1_1_0_0__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:23774:1: ( rule__XAssignment__Group_1_1_0_0__0__Impl rule__XAssignment__Group_1_1_0_0__1 )
-            // InternalReportDSL.g:23775:2: rule__XAssignment__Group_1_1_0_0__0__Impl rule__XAssignment__Group_1_1_0_0__1
+            // InternalReportDSL.g:23484:1: ( rule__XAssignment__Group_1_1_0_0__0__Impl rule__XAssignment__Group_1_1_0_0__1 )
+            // InternalReportDSL.g:23485:2: rule__XAssignment__Group_1_1_0_0__0__Impl rule__XAssignment__Group_1_1_0_0__1
             {
-            pushFollow(FOLLOW_145);
+            pushFollow(FOLLOW_144);
             rule__XAssignment__Group_1_1_0_0__0__Impl();
 
             state._fsp--;
@@ -78892,23 +77773,23 @@
 
 
     // $ANTLR start "rule__XAssignment__Group_1_1_0_0__0__Impl"
-    // InternalReportDSL.g:23782:1: rule__XAssignment__Group_1_1_0_0__0__Impl : ( () ) ;
+    // InternalReportDSL.g:23492:1: rule__XAssignment__Group_1_1_0_0__0__Impl : ( () ) ;
     public final void rule__XAssignment__Group_1_1_0_0__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:23786:1: ( ( () ) )
-            // InternalReportDSL.g:23787:1: ( () )
+            // InternalReportDSL.g:23496:1: ( ( () ) )
+            // InternalReportDSL.g:23497:1: ( () )
             {
-            // InternalReportDSL.g:23787:1: ( () )
-            // InternalReportDSL.g:23788:2: ()
+            // InternalReportDSL.g:23497:1: ( () )
+            // InternalReportDSL.g:23498:2: ()
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXAssignmentAccess().getXBinaryOperationLeftOperandAction_1_1_0_0_0()); 
             }
-            // InternalReportDSL.g:23789:2: ()
-            // InternalReportDSL.g:23789:3: 
+            // InternalReportDSL.g:23499:2: ()
+            // InternalReportDSL.g:23499:3: 
             {
             }
 
@@ -78933,14 +77814,14 @@
 
 
     // $ANTLR start "rule__XAssignment__Group_1_1_0_0__1"
-    // InternalReportDSL.g:23797:1: rule__XAssignment__Group_1_1_0_0__1 : rule__XAssignment__Group_1_1_0_0__1__Impl ;
+    // InternalReportDSL.g:23507:1: rule__XAssignment__Group_1_1_0_0__1 : rule__XAssignment__Group_1_1_0_0__1__Impl ;
     public final void rule__XAssignment__Group_1_1_0_0__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:23801:1: ( rule__XAssignment__Group_1_1_0_0__1__Impl )
-            // InternalReportDSL.g:23802:2: rule__XAssignment__Group_1_1_0_0__1__Impl
+            // InternalReportDSL.g:23511:1: ( rule__XAssignment__Group_1_1_0_0__1__Impl )
+            // InternalReportDSL.g:23512:2: rule__XAssignment__Group_1_1_0_0__1__Impl
             {
             pushFollow(FOLLOW_2);
             rule__XAssignment__Group_1_1_0_0__1__Impl();
@@ -78966,23 +77847,23 @@
 
 
     // $ANTLR start "rule__XAssignment__Group_1_1_0_0__1__Impl"
-    // InternalReportDSL.g:23808:1: rule__XAssignment__Group_1_1_0_0__1__Impl : ( ( rule__XAssignment__FeatureAssignment_1_1_0_0_1 ) ) ;
+    // InternalReportDSL.g:23518:1: rule__XAssignment__Group_1_1_0_0__1__Impl : ( ( rule__XAssignment__FeatureAssignment_1_1_0_0_1 ) ) ;
     public final void rule__XAssignment__Group_1_1_0_0__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:23812:1: ( ( ( rule__XAssignment__FeatureAssignment_1_1_0_0_1 ) ) )
-            // InternalReportDSL.g:23813:1: ( ( rule__XAssignment__FeatureAssignment_1_1_0_0_1 ) )
+            // InternalReportDSL.g:23522:1: ( ( ( rule__XAssignment__FeatureAssignment_1_1_0_0_1 ) ) )
+            // InternalReportDSL.g:23523:1: ( ( rule__XAssignment__FeatureAssignment_1_1_0_0_1 ) )
             {
-            // InternalReportDSL.g:23813:1: ( ( rule__XAssignment__FeatureAssignment_1_1_0_0_1 ) )
-            // InternalReportDSL.g:23814:2: ( rule__XAssignment__FeatureAssignment_1_1_0_0_1 )
+            // InternalReportDSL.g:23523:1: ( ( rule__XAssignment__FeatureAssignment_1_1_0_0_1 ) )
+            // InternalReportDSL.g:23524:2: ( rule__XAssignment__FeatureAssignment_1_1_0_0_1 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXAssignmentAccess().getFeatureAssignment_1_1_0_0_1()); 
             }
-            // InternalReportDSL.g:23815:2: ( rule__XAssignment__FeatureAssignment_1_1_0_0_1 )
-            // InternalReportDSL.g:23815:3: rule__XAssignment__FeatureAssignment_1_1_0_0_1
+            // InternalReportDSL.g:23525:2: ( rule__XAssignment__FeatureAssignment_1_1_0_0_1 )
+            // InternalReportDSL.g:23525:3: rule__XAssignment__FeatureAssignment_1_1_0_0_1
             {
             pushFollow(FOLLOW_2);
             rule__XAssignment__FeatureAssignment_1_1_0_0_1();
@@ -79017,16 +77898,16 @@
 
 
     // $ANTLR start "rule__OpMultiAssign__Group_5__0"
-    // InternalReportDSL.g:23824:1: rule__OpMultiAssign__Group_5__0 : rule__OpMultiAssign__Group_5__0__Impl rule__OpMultiAssign__Group_5__1 ;
+    // InternalReportDSL.g:23534:1: rule__OpMultiAssign__Group_5__0 : rule__OpMultiAssign__Group_5__0__Impl rule__OpMultiAssign__Group_5__1 ;
     public final void rule__OpMultiAssign__Group_5__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:23828:1: ( rule__OpMultiAssign__Group_5__0__Impl rule__OpMultiAssign__Group_5__1 )
-            // InternalReportDSL.g:23829:2: rule__OpMultiAssign__Group_5__0__Impl rule__OpMultiAssign__Group_5__1
+            // InternalReportDSL.g:23538:1: ( rule__OpMultiAssign__Group_5__0__Impl rule__OpMultiAssign__Group_5__1 )
+            // InternalReportDSL.g:23539:2: rule__OpMultiAssign__Group_5__0__Impl rule__OpMultiAssign__Group_5__1
             {
-            pushFollow(FOLLOW_146);
+            pushFollow(FOLLOW_145);
             rule__OpMultiAssign__Group_5__0__Impl();
 
             state._fsp--;
@@ -79055,17 +77936,17 @@
 
 
     // $ANTLR start "rule__OpMultiAssign__Group_5__0__Impl"
-    // InternalReportDSL.g:23836:1: rule__OpMultiAssign__Group_5__0__Impl : ( '<' ) ;
+    // InternalReportDSL.g:23546:1: rule__OpMultiAssign__Group_5__0__Impl : ( '<' ) ;
     public final void rule__OpMultiAssign__Group_5__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:23840:1: ( ( '<' ) )
-            // InternalReportDSL.g:23841:1: ( '<' )
+            // InternalReportDSL.g:23550:1: ( ( '<' ) )
+            // InternalReportDSL.g:23551:1: ( '<' )
             {
-            // InternalReportDSL.g:23841:1: ( '<' )
-            // InternalReportDSL.g:23842:2: '<'
+            // InternalReportDSL.g:23551:1: ( '<' )
+            // InternalReportDSL.g:23552:2: '<'
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getOpMultiAssignAccess().getLessThanSignKeyword_5_0()); 
@@ -79096,16 +77977,16 @@
 
 
     // $ANTLR start "rule__OpMultiAssign__Group_5__1"
-    // InternalReportDSL.g:23851:1: rule__OpMultiAssign__Group_5__1 : rule__OpMultiAssign__Group_5__1__Impl rule__OpMultiAssign__Group_5__2 ;
+    // InternalReportDSL.g:23561:1: rule__OpMultiAssign__Group_5__1 : rule__OpMultiAssign__Group_5__1__Impl rule__OpMultiAssign__Group_5__2 ;
     public final void rule__OpMultiAssign__Group_5__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:23855:1: ( rule__OpMultiAssign__Group_5__1__Impl rule__OpMultiAssign__Group_5__2 )
-            // InternalReportDSL.g:23856:2: rule__OpMultiAssign__Group_5__1__Impl rule__OpMultiAssign__Group_5__2
+            // InternalReportDSL.g:23565:1: ( rule__OpMultiAssign__Group_5__1__Impl rule__OpMultiAssign__Group_5__2 )
+            // InternalReportDSL.g:23566:2: rule__OpMultiAssign__Group_5__1__Impl rule__OpMultiAssign__Group_5__2
             {
-            pushFollow(FOLLOW_140);
+            pushFollow(FOLLOW_139);
             rule__OpMultiAssign__Group_5__1__Impl();
 
             state._fsp--;
@@ -79134,17 +78015,17 @@
 
 
     // $ANTLR start "rule__OpMultiAssign__Group_5__1__Impl"
-    // InternalReportDSL.g:23863:1: rule__OpMultiAssign__Group_5__1__Impl : ( '<' ) ;
+    // InternalReportDSL.g:23573:1: rule__OpMultiAssign__Group_5__1__Impl : ( '<' ) ;
     public final void rule__OpMultiAssign__Group_5__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:23867:1: ( ( '<' ) )
-            // InternalReportDSL.g:23868:1: ( '<' )
+            // InternalReportDSL.g:23577:1: ( ( '<' ) )
+            // InternalReportDSL.g:23578:1: ( '<' )
             {
-            // InternalReportDSL.g:23868:1: ( '<' )
-            // InternalReportDSL.g:23869:2: '<'
+            // InternalReportDSL.g:23578:1: ( '<' )
+            // InternalReportDSL.g:23579:2: '<'
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getOpMultiAssignAccess().getLessThanSignKeyword_5_1()); 
@@ -79175,14 +78056,14 @@
 
 
     // $ANTLR start "rule__OpMultiAssign__Group_5__2"
-    // InternalReportDSL.g:23878:1: rule__OpMultiAssign__Group_5__2 : rule__OpMultiAssign__Group_5__2__Impl ;
+    // InternalReportDSL.g:23588:1: rule__OpMultiAssign__Group_5__2 : rule__OpMultiAssign__Group_5__2__Impl ;
     public final void rule__OpMultiAssign__Group_5__2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:23882:1: ( rule__OpMultiAssign__Group_5__2__Impl )
-            // InternalReportDSL.g:23883:2: rule__OpMultiAssign__Group_5__2__Impl
+            // InternalReportDSL.g:23592:1: ( rule__OpMultiAssign__Group_5__2__Impl )
+            // InternalReportDSL.g:23593:2: rule__OpMultiAssign__Group_5__2__Impl
             {
             pushFollow(FOLLOW_2);
             rule__OpMultiAssign__Group_5__2__Impl();
@@ -79208,17 +78089,17 @@
 
 
     // $ANTLR start "rule__OpMultiAssign__Group_5__2__Impl"
-    // InternalReportDSL.g:23889:1: rule__OpMultiAssign__Group_5__2__Impl : ( '=' ) ;
+    // InternalReportDSL.g:23599:1: rule__OpMultiAssign__Group_5__2__Impl : ( '=' ) ;
     public final void rule__OpMultiAssign__Group_5__2__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:23893:1: ( ( '=' ) )
-            // InternalReportDSL.g:23894:1: ( '=' )
+            // InternalReportDSL.g:23603:1: ( ( '=' ) )
+            // InternalReportDSL.g:23604:1: ( '=' )
             {
-            // InternalReportDSL.g:23894:1: ( '=' )
-            // InternalReportDSL.g:23895:2: '='
+            // InternalReportDSL.g:23604:1: ( '=' )
+            // InternalReportDSL.g:23605:2: '='
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getOpMultiAssignAccess().getEqualsSignKeyword_5_2()); 
@@ -79249,16 +78130,16 @@
 
 
     // $ANTLR start "rule__OpMultiAssign__Group_6__0"
-    // InternalReportDSL.g:23905:1: rule__OpMultiAssign__Group_6__0 : rule__OpMultiAssign__Group_6__0__Impl rule__OpMultiAssign__Group_6__1 ;
+    // InternalReportDSL.g:23615:1: rule__OpMultiAssign__Group_6__0 : rule__OpMultiAssign__Group_6__0__Impl rule__OpMultiAssign__Group_6__1 ;
     public final void rule__OpMultiAssign__Group_6__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:23909:1: ( rule__OpMultiAssign__Group_6__0__Impl rule__OpMultiAssign__Group_6__1 )
-            // InternalReportDSL.g:23910:2: rule__OpMultiAssign__Group_6__0__Impl rule__OpMultiAssign__Group_6__1
+            // InternalReportDSL.g:23619:1: ( rule__OpMultiAssign__Group_6__0__Impl rule__OpMultiAssign__Group_6__1 )
+            // InternalReportDSL.g:23620:2: rule__OpMultiAssign__Group_6__0__Impl rule__OpMultiAssign__Group_6__1
             {
-            pushFollow(FOLLOW_147);
+            pushFollow(FOLLOW_146);
             rule__OpMultiAssign__Group_6__0__Impl();
 
             state._fsp--;
@@ -79287,17 +78168,17 @@
 
 
     // $ANTLR start "rule__OpMultiAssign__Group_6__0__Impl"
-    // InternalReportDSL.g:23917:1: rule__OpMultiAssign__Group_6__0__Impl : ( '>' ) ;
+    // InternalReportDSL.g:23627:1: rule__OpMultiAssign__Group_6__0__Impl : ( '>' ) ;
     public final void rule__OpMultiAssign__Group_6__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:23921:1: ( ( '>' ) )
-            // InternalReportDSL.g:23922:1: ( '>' )
+            // InternalReportDSL.g:23631:1: ( ( '>' ) )
+            // InternalReportDSL.g:23632:1: ( '>' )
             {
-            // InternalReportDSL.g:23922:1: ( '>' )
-            // InternalReportDSL.g:23923:2: '>'
+            // InternalReportDSL.g:23632:1: ( '>' )
+            // InternalReportDSL.g:23633:2: '>'
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getOpMultiAssignAccess().getGreaterThanSignKeyword_6_0()); 
@@ -79328,16 +78209,16 @@
 
 
     // $ANTLR start "rule__OpMultiAssign__Group_6__1"
-    // InternalReportDSL.g:23932:1: rule__OpMultiAssign__Group_6__1 : rule__OpMultiAssign__Group_6__1__Impl rule__OpMultiAssign__Group_6__2 ;
+    // InternalReportDSL.g:23642:1: rule__OpMultiAssign__Group_6__1 : rule__OpMultiAssign__Group_6__1__Impl rule__OpMultiAssign__Group_6__2 ;
     public final void rule__OpMultiAssign__Group_6__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:23936:1: ( rule__OpMultiAssign__Group_6__1__Impl rule__OpMultiAssign__Group_6__2 )
-            // InternalReportDSL.g:23937:2: rule__OpMultiAssign__Group_6__1__Impl rule__OpMultiAssign__Group_6__2
+            // InternalReportDSL.g:23646:1: ( rule__OpMultiAssign__Group_6__1__Impl rule__OpMultiAssign__Group_6__2 )
+            // InternalReportDSL.g:23647:2: rule__OpMultiAssign__Group_6__1__Impl rule__OpMultiAssign__Group_6__2
             {
-            pushFollow(FOLLOW_147);
+            pushFollow(FOLLOW_146);
             rule__OpMultiAssign__Group_6__1__Impl();
 
             state._fsp--;
@@ -79366,31 +78247,31 @@
 
 
     // $ANTLR start "rule__OpMultiAssign__Group_6__1__Impl"
-    // InternalReportDSL.g:23944:1: rule__OpMultiAssign__Group_6__1__Impl : ( ( '>' )? ) ;
+    // InternalReportDSL.g:23654:1: rule__OpMultiAssign__Group_6__1__Impl : ( ( '>' )? ) ;
     public final void rule__OpMultiAssign__Group_6__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:23948:1: ( ( ( '>' )? ) )
-            // InternalReportDSL.g:23949:1: ( ( '>' )? )
+            // InternalReportDSL.g:23658:1: ( ( ( '>' )? ) )
+            // InternalReportDSL.g:23659:1: ( ( '>' )? )
             {
-            // InternalReportDSL.g:23949:1: ( ( '>' )? )
-            // InternalReportDSL.g:23950:2: ( '>' )?
+            // InternalReportDSL.g:23659:1: ( ( '>' )? )
+            // InternalReportDSL.g:23660:2: ( '>' )?
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getOpMultiAssignAccess().getGreaterThanSignKeyword_6_1()); 
             }
-            // InternalReportDSL.g:23951:2: ( '>' )?
-            int alt181=2;
-            int LA181_0 = input.LA(1);
+            // InternalReportDSL.g:23661:2: ( '>' )?
+            int alt163=2;
+            int LA163_0 = input.LA(1);
 
-            if ( (LA181_0==30) ) {
-                alt181=1;
+            if ( (LA163_0==30) ) {
+                alt163=1;
             }
-            switch (alt181) {
+            switch (alt163) {
                 case 1 :
-                    // InternalReportDSL.g:23951:3: '>'
+                    // InternalReportDSL.g:23661:3: '>'
                     {
                     match(input,30,FOLLOW_2); if (state.failed) return ;
 
@@ -79424,14 +78305,14 @@
 
 
     // $ANTLR start "rule__OpMultiAssign__Group_6__2"
-    // InternalReportDSL.g:23959:1: rule__OpMultiAssign__Group_6__2 : rule__OpMultiAssign__Group_6__2__Impl ;
+    // InternalReportDSL.g:23669:1: rule__OpMultiAssign__Group_6__2 : rule__OpMultiAssign__Group_6__2__Impl ;
     public final void rule__OpMultiAssign__Group_6__2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:23963:1: ( rule__OpMultiAssign__Group_6__2__Impl )
-            // InternalReportDSL.g:23964:2: rule__OpMultiAssign__Group_6__2__Impl
+            // InternalReportDSL.g:23673:1: ( rule__OpMultiAssign__Group_6__2__Impl )
+            // InternalReportDSL.g:23674:2: rule__OpMultiAssign__Group_6__2__Impl
             {
             pushFollow(FOLLOW_2);
             rule__OpMultiAssign__Group_6__2__Impl();
@@ -79457,17 +78338,17 @@
 
 
     // $ANTLR start "rule__OpMultiAssign__Group_6__2__Impl"
-    // InternalReportDSL.g:23970:1: rule__OpMultiAssign__Group_6__2__Impl : ( '>=' ) ;
+    // InternalReportDSL.g:23680:1: rule__OpMultiAssign__Group_6__2__Impl : ( '>=' ) ;
     public final void rule__OpMultiAssign__Group_6__2__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:23974:1: ( ( '>=' ) )
-            // InternalReportDSL.g:23975:1: ( '>=' )
+            // InternalReportDSL.g:23684:1: ( ( '>=' ) )
+            // InternalReportDSL.g:23685:1: ( '>=' )
             {
-            // InternalReportDSL.g:23975:1: ( '>=' )
-            // InternalReportDSL.g:23976:2: '>='
+            // InternalReportDSL.g:23685:1: ( '>=' )
+            // InternalReportDSL.g:23686:2: '>='
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getOpMultiAssignAccess().getGreaterThanSignEqualsSignKeyword_6_2()); 
@@ -79498,16 +78379,16 @@
 
 
     // $ANTLR start "rule__XOrExpression__Group__0"
-    // InternalReportDSL.g:23986:1: rule__XOrExpression__Group__0 : rule__XOrExpression__Group__0__Impl rule__XOrExpression__Group__1 ;
+    // InternalReportDSL.g:23696:1: rule__XOrExpression__Group__0 : rule__XOrExpression__Group__0__Impl rule__XOrExpression__Group__1 ;
     public final void rule__XOrExpression__Group__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:23990:1: ( rule__XOrExpression__Group__0__Impl rule__XOrExpression__Group__1 )
-            // InternalReportDSL.g:23991:2: rule__XOrExpression__Group__0__Impl rule__XOrExpression__Group__1
+            // InternalReportDSL.g:23700:1: ( rule__XOrExpression__Group__0__Impl rule__XOrExpression__Group__1 )
+            // InternalReportDSL.g:23701:2: rule__XOrExpression__Group__0__Impl rule__XOrExpression__Group__1
             {
-            pushFollow(FOLLOW_148);
+            pushFollow(FOLLOW_147);
             rule__XOrExpression__Group__0__Impl();
 
             state._fsp--;
@@ -79536,17 +78417,17 @@
 
 
     // $ANTLR start "rule__XOrExpression__Group__0__Impl"
-    // InternalReportDSL.g:23998:1: rule__XOrExpression__Group__0__Impl : ( ruleXAndExpression ) ;
+    // InternalReportDSL.g:23708:1: rule__XOrExpression__Group__0__Impl : ( ruleXAndExpression ) ;
     public final void rule__XOrExpression__Group__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:24002:1: ( ( ruleXAndExpression ) )
-            // InternalReportDSL.g:24003:1: ( ruleXAndExpression )
+            // InternalReportDSL.g:23712:1: ( ( ruleXAndExpression ) )
+            // InternalReportDSL.g:23713:1: ( ruleXAndExpression )
             {
-            // InternalReportDSL.g:24003:1: ( ruleXAndExpression )
-            // InternalReportDSL.g:24004:2: ruleXAndExpression
+            // InternalReportDSL.g:23713:1: ( ruleXAndExpression )
+            // InternalReportDSL.g:23714:2: ruleXAndExpression
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXOrExpressionAccess().getXAndExpressionParserRuleCall_0()); 
@@ -79581,14 +78462,14 @@
 
 
     // $ANTLR start "rule__XOrExpression__Group__1"
-    // InternalReportDSL.g:24013:1: rule__XOrExpression__Group__1 : rule__XOrExpression__Group__1__Impl ;
+    // InternalReportDSL.g:23723:1: rule__XOrExpression__Group__1 : rule__XOrExpression__Group__1__Impl ;
     public final void rule__XOrExpression__Group__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:24017:1: ( rule__XOrExpression__Group__1__Impl )
-            // InternalReportDSL.g:24018:2: rule__XOrExpression__Group__1__Impl
+            // InternalReportDSL.g:23727:1: ( rule__XOrExpression__Group__1__Impl )
+            // InternalReportDSL.g:23728:2: rule__XOrExpression__Group__1__Impl
             {
             pushFollow(FOLLOW_2);
             rule__XOrExpression__Group__1__Impl();
@@ -79614,43 +78495,43 @@
 
 
     // $ANTLR start "rule__XOrExpression__Group__1__Impl"
-    // InternalReportDSL.g:24024:1: rule__XOrExpression__Group__1__Impl : ( ( rule__XOrExpression__Group_1__0 )* ) ;
+    // InternalReportDSL.g:23734:1: rule__XOrExpression__Group__1__Impl : ( ( rule__XOrExpression__Group_1__0 )* ) ;
     public final void rule__XOrExpression__Group__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:24028:1: ( ( ( rule__XOrExpression__Group_1__0 )* ) )
-            // InternalReportDSL.g:24029:1: ( ( rule__XOrExpression__Group_1__0 )* )
+            // InternalReportDSL.g:23738:1: ( ( ( rule__XOrExpression__Group_1__0 )* ) )
+            // InternalReportDSL.g:23739:1: ( ( rule__XOrExpression__Group_1__0 )* )
             {
-            // InternalReportDSL.g:24029:1: ( ( rule__XOrExpression__Group_1__0 )* )
-            // InternalReportDSL.g:24030:2: ( rule__XOrExpression__Group_1__0 )*
+            // InternalReportDSL.g:23739:1: ( ( rule__XOrExpression__Group_1__0 )* )
+            // InternalReportDSL.g:23740:2: ( rule__XOrExpression__Group_1__0 )*
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXOrExpressionAccess().getGroup_1()); 
             }
-            // InternalReportDSL.g:24031:2: ( rule__XOrExpression__Group_1__0 )*
-            loop182:
+            // InternalReportDSL.g:23741:2: ( rule__XOrExpression__Group_1__0 )*
+            loop164:
             do {
-                int alt182=2;
-                int LA182_0 = input.LA(1);
+                int alt164=2;
+                int LA164_0 = input.LA(1);
 
-                if ( (LA182_0==14) ) {
-                    int LA182_2 = input.LA(2);
+                if ( (LA164_0==14) ) {
+                    int LA164_2 = input.LA(2);
 
-                    if ( (synpred287_InternalReportDSL()) ) {
-                        alt182=1;
+                    if ( (synpred273_InternalReportDSL()) ) {
+                        alt164=1;
                     }
 
 
                 }
 
 
-                switch (alt182) {
+                switch (alt164) {
             	case 1 :
-            	    // InternalReportDSL.g:24031:3: rule__XOrExpression__Group_1__0
+            	    // InternalReportDSL.g:23741:3: rule__XOrExpression__Group_1__0
             	    {
-            	    pushFollow(FOLLOW_149);
+            	    pushFollow(FOLLOW_148);
             	    rule__XOrExpression__Group_1__0();
 
             	    state._fsp--;
@@ -79660,7 +78541,7 @@
             	    break;
 
             	default :
-            	    break loop182;
+            	    break loop164;
                 }
             } while (true);
 
@@ -79689,16 +78570,16 @@
 
 
     // $ANTLR start "rule__XOrExpression__Group_1__0"
-    // InternalReportDSL.g:24040:1: rule__XOrExpression__Group_1__0 : rule__XOrExpression__Group_1__0__Impl rule__XOrExpression__Group_1__1 ;
+    // InternalReportDSL.g:23750:1: rule__XOrExpression__Group_1__0 : rule__XOrExpression__Group_1__0__Impl rule__XOrExpression__Group_1__1 ;
     public final void rule__XOrExpression__Group_1__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:24044:1: ( rule__XOrExpression__Group_1__0__Impl rule__XOrExpression__Group_1__1 )
-            // InternalReportDSL.g:24045:2: rule__XOrExpression__Group_1__0__Impl rule__XOrExpression__Group_1__1
+            // InternalReportDSL.g:23754:1: ( rule__XOrExpression__Group_1__0__Impl rule__XOrExpression__Group_1__1 )
+            // InternalReportDSL.g:23755:2: rule__XOrExpression__Group_1__0__Impl rule__XOrExpression__Group_1__1
             {
-            pushFollow(FOLLOW_139);
+            pushFollow(FOLLOW_138);
             rule__XOrExpression__Group_1__0__Impl();
 
             state._fsp--;
@@ -79727,23 +78608,23 @@
 
 
     // $ANTLR start "rule__XOrExpression__Group_1__0__Impl"
-    // InternalReportDSL.g:24052:1: rule__XOrExpression__Group_1__0__Impl : ( ( rule__XOrExpression__Group_1_0__0 ) ) ;
+    // InternalReportDSL.g:23762:1: rule__XOrExpression__Group_1__0__Impl : ( ( rule__XOrExpression__Group_1_0__0 ) ) ;
     public final void rule__XOrExpression__Group_1__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:24056:1: ( ( ( rule__XOrExpression__Group_1_0__0 ) ) )
-            // InternalReportDSL.g:24057:1: ( ( rule__XOrExpression__Group_1_0__0 ) )
+            // InternalReportDSL.g:23766:1: ( ( ( rule__XOrExpression__Group_1_0__0 ) ) )
+            // InternalReportDSL.g:23767:1: ( ( rule__XOrExpression__Group_1_0__0 ) )
             {
-            // InternalReportDSL.g:24057:1: ( ( rule__XOrExpression__Group_1_0__0 ) )
-            // InternalReportDSL.g:24058:2: ( rule__XOrExpression__Group_1_0__0 )
+            // InternalReportDSL.g:23767:1: ( ( rule__XOrExpression__Group_1_0__0 ) )
+            // InternalReportDSL.g:23768:2: ( rule__XOrExpression__Group_1_0__0 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXOrExpressionAccess().getGroup_1_0()); 
             }
-            // InternalReportDSL.g:24059:2: ( rule__XOrExpression__Group_1_0__0 )
-            // InternalReportDSL.g:24059:3: rule__XOrExpression__Group_1_0__0
+            // InternalReportDSL.g:23769:2: ( rule__XOrExpression__Group_1_0__0 )
+            // InternalReportDSL.g:23769:3: rule__XOrExpression__Group_1_0__0
             {
             pushFollow(FOLLOW_2);
             rule__XOrExpression__Group_1_0__0();
@@ -79778,14 +78659,14 @@
 
 
     // $ANTLR start "rule__XOrExpression__Group_1__1"
-    // InternalReportDSL.g:24067:1: rule__XOrExpression__Group_1__1 : rule__XOrExpression__Group_1__1__Impl ;
+    // InternalReportDSL.g:23777:1: rule__XOrExpression__Group_1__1 : rule__XOrExpression__Group_1__1__Impl ;
     public final void rule__XOrExpression__Group_1__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:24071:1: ( rule__XOrExpression__Group_1__1__Impl )
-            // InternalReportDSL.g:24072:2: rule__XOrExpression__Group_1__1__Impl
+            // InternalReportDSL.g:23781:1: ( rule__XOrExpression__Group_1__1__Impl )
+            // InternalReportDSL.g:23782:2: rule__XOrExpression__Group_1__1__Impl
             {
             pushFollow(FOLLOW_2);
             rule__XOrExpression__Group_1__1__Impl();
@@ -79811,23 +78692,23 @@
 
 
     // $ANTLR start "rule__XOrExpression__Group_1__1__Impl"
-    // InternalReportDSL.g:24078:1: rule__XOrExpression__Group_1__1__Impl : ( ( rule__XOrExpression__RightOperandAssignment_1_1 ) ) ;
+    // InternalReportDSL.g:23788:1: rule__XOrExpression__Group_1__1__Impl : ( ( rule__XOrExpression__RightOperandAssignment_1_1 ) ) ;
     public final void rule__XOrExpression__Group_1__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:24082:1: ( ( ( rule__XOrExpression__RightOperandAssignment_1_1 ) ) )
-            // InternalReportDSL.g:24083:1: ( ( rule__XOrExpression__RightOperandAssignment_1_1 ) )
+            // InternalReportDSL.g:23792:1: ( ( ( rule__XOrExpression__RightOperandAssignment_1_1 ) ) )
+            // InternalReportDSL.g:23793:1: ( ( rule__XOrExpression__RightOperandAssignment_1_1 ) )
             {
-            // InternalReportDSL.g:24083:1: ( ( rule__XOrExpression__RightOperandAssignment_1_1 ) )
-            // InternalReportDSL.g:24084:2: ( rule__XOrExpression__RightOperandAssignment_1_1 )
+            // InternalReportDSL.g:23793:1: ( ( rule__XOrExpression__RightOperandAssignment_1_1 ) )
+            // InternalReportDSL.g:23794:2: ( rule__XOrExpression__RightOperandAssignment_1_1 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXOrExpressionAccess().getRightOperandAssignment_1_1()); 
             }
-            // InternalReportDSL.g:24085:2: ( rule__XOrExpression__RightOperandAssignment_1_1 )
-            // InternalReportDSL.g:24085:3: rule__XOrExpression__RightOperandAssignment_1_1
+            // InternalReportDSL.g:23795:2: ( rule__XOrExpression__RightOperandAssignment_1_1 )
+            // InternalReportDSL.g:23795:3: rule__XOrExpression__RightOperandAssignment_1_1
             {
             pushFollow(FOLLOW_2);
             rule__XOrExpression__RightOperandAssignment_1_1();
@@ -79862,14 +78743,14 @@
 
 
     // $ANTLR start "rule__XOrExpression__Group_1_0__0"
-    // InternalReportDSL.g:24094:1: rule__XOrExpression__Group_1_0__0 : rule__XOrExpression__Group_1_0__0__Impl ;
+    // InternalReportDSL.g:23804:1: rule__XOrExpression__Group_1_0__0 : rule__XOrExpression__Group_1_0__0__Impl ;
     public final void rule__XOrExpression__Group_1_0__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:24098:1: ( rule__XOrExpression__Group_1_0__0__Impl )
-            // InternalReportDSL.g:24099:2: rule__XOrExpression__Group_1_0__0__Impl
+            // InternalReportDSL.g:23808:1: ( rule__XOrExpression__Group_1_0__0__Impl )
+            // InternalReportDSL.g:23809:2: rule__XOrExpression__Group_1_0__0__Impl
             {
             pushFollow(FOLLOW_2);
             rule__XOrExpression__Group_1_0__0__Impl();
@@ -79895,23 +78776,23 @@
 
 
     // $ANTLR start "rule__XOrExpression__Group_1_0__0__Impl"
-    // InternalReportDSL.g:24105:1: rule__XOrExpression__Group_1_0__0__Impl : ( ( rule__XOrExpression__Group_1_0_0__0 ) ) ;
+    // InternalReportDSL.g:23815:1: rule__XOrExpression__Group_1_0__0__Impl : ( ( rule__XOrExpression__Group_1_0_0__0 ) ) ;
     public final void rule__XOrExpression__Group_1_0__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:24109:1: ( ( ( rule__XOrExpression__Group_1_0_0__0 ) ) )
-            // InternalReportDSL.g:24110:1: ( ( rule__XOrExpression__Group_1_0_0__0 ) )
+            // InternalReportDSL.g:23819:1: ( ( ( rule__XOrExpression__Group_1_0_0__0 ) ) )
+            // InternalReportDSL.g:23820:1: ( ( rule__XOrExpression__Group_1_0_0__0 ) )
             {
-            // InternalReportDSL.g:24110:1: ( ( rule__XOrExpression__Group_1_0_0__0 ) )
-            // InternalReportDSL.g:24111:2: ( rule__XOrExpression__Group_1_0_0__0 )
+            // InternalReportDSL.g:23820:1: ( ( rule__XOrExpression__Group_1_0_0__0 ) )
+            // InternalReportDSL.g:23821:2: ( rule__XOrExpression__Group_1_0_0__0 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXOrExpressionAccess().getGroup_1_0_0()); 
             }
-            // InternalReportDSL.g:24112:2: ( rule__XOrExpression__Group_1_0_0__0 )
-            // InternalReportDSL.g:24112:3: rule__XOrExpression__Group_1_0_0__0
+            // InternalReportDSL.g:23822:2: ( rule__XOrExpression__Group_1_0_0__0 )
+            // InternalReportDSL.g:23822:3: rule__XOrExpression__Group_1_0_0__0
             {
             pushFollow(FOLLOW_2);
             rule__XOrExpression__Group_1_0_0__0();
@@ -79946,16 +78827,16 @@
 
 
     // $ANTLR start "rule__XOrExpression__Group_1_0_0__0"
-    // InternalReportDSL.g:24121:1: rule__XOrExpression__Group_1_0_0__0 : rule__XOrExpression__Group_1_0_0__0__Impl rule__XOrExpression__Group_1_0_0__1 ;
+    // InternalReportDSL.g:23831:1: rule__XOrExpression__Group_1_0_0__0 : rule__XOrExpression__Group_1_0_0__0__Impl rule__XOrExpression__Group_1_0_0__1 ;
     public final void rule__XOrExpression__Group_1_0_0__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:24125:1: ( rule__XOrExpression__Group_1_0_0__0__Impl rule__XOrExpression__Group_1_0_0__1 )
-            // InternalReportDSL.g:24126:2: rule__XOrExpression__Group_1_0_0__0__Impl rule__XOrExpression__Group_1_0_0__1
+            // InternalReportDSL.g:23835:1: ( rule__XOrExpression__Group_1_0_0__0__Impl rule__XOrExpression__Group_1_0_0__1 )
+            // InternalReportDSL.g:23836:2: rule__XOrExpression__Group_1_0_0__0__Impl rule__XOrExpression__Group_1_0_0__1
             {
-            pushFollow(FOLLOW_148);
+            pushFollow(FOLLOW_147);
             rule__XOrExpression__Group_1_0_0__0__Impl();
 
             state._fsp--;
@@ -79984,23 +78865,23 @@
 
 
     // $ANTLR start "rule__XOrExpression__Group_1_0_0__0__Impl"
-    // InternalReportDSL.g:24133:1: rule__XOrExpression__Group_1_0_0__0__Impl : ( () ) ;
+    // InternalReportDSL.g:23843:1: rule__XOrExpression__Group_1_0_0__0__Impl : ( () ) ;
     public final void rule__XOrExpression__Group_1_0_0__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:24137:1: ( ( () ) )
-            // InternalReportDSL.g:24138:1: ( () )
+            // InternalReportDSL.g:23847:1: ( ( () ) )
+            // InternalReportDSL.g:23848:1: ( () )
             {
-            // InternalReportDSL.g:24138:1: ( () )
-            // InternalReportDSL.g:24139:2: ()
+            // InternalReportDSL.g:23848:1: ( () )
+            // InternalReportDSL.g:23849:2: ()
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXOrExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0()); 
             }
-            // InternalReportDSL.g:24140:2: ()
-            // InternalReportDSL.g:24140:3: 
+            // InternalReportDSL.g:23850:2: ()
+            // InternalReportDSL.g:23850:3: 
             {
             }
 
@@ -80025,14 +78906,14 @@
 
 
     // $ANTLR start "rule__XOrExpression__Group_1_0_0__1"
-    // InternalReportDSL.g:24148:1: rule__XOrExpression__Group_1_0_0__1 : rule__XOrExpression__Group_1_0_0__1__Impl ;
+    // InternalReportDSL.g:23858:1: rule__XOrExpression__Group_1_0_0__1 : rule__XOrExpression__Group_1_0_0__1__Impl ;
     public final void rule__XOrExpression__Group_1_0_0__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:24152:1: ( rule__XOrExpression__Group_1_0_0__1__Impl )
-            // InternalReportDSL.g:24153:2: rule__XOrExpression__Group_1_0_0__1__Impl
+            // InternalReportDSL.g:23862:1: ( rule__XOrExpression__Group_1_0_0__1__Impl )
+            // InternalReportDSL.g:23863:2: rule__XOrExpression__Group_1_0_0__1__Impl
             {
             pushFollow(FOLLOW_2);
             rule__XOrExpression__Group_1_0_0__1__Impl();
@@ -80058,23 +78939,23 @@
 
 
     // $ANTLR start "rule__XOrExpression__Group_1_0_0__1__Impl"
-    // InternalReportDSL.g:24159:1: rule__XOrExpression__Group_1_0_0__1__Impl : ( ( rule__XOrExpression__FeatureAssignment_1_0_0_1 ) ) ;
+    // InternalReportDSL.g:23869:1: rule__XOrExpression__Group_1_0_0__1__Impl : ( ( rule__XOrExpression__FeatureAssignment_1_0_0_1 ) ) ;
     public final void rule__XOrExpression__Group_1_0_0__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:24163:1: ( ( ( rule__XOrExpression__FeatureAssignment_1_0_0_1 ) ) )
-            // InternalReportDSL.g:24164:1: ( ( rule__XOrExpression__FeatureAssignment_1_0_0_1 ) )
+            // InternalReportDSL.g:23873:1: ( ( ( rule__XOrExpression__FeatureAssignment_1_0_0_1 ) ) )
+            // InternalReportDSL.g:23874:1: ( ( rule__XOrExpression__FeatureAssignment_1_0_0_1 ) )
             {
-            // InternalReportDSL.g:24164:1: ( ( rule__XOrExpression__FeatureAssignment_1_0_0_1 ) )
-            // InternalReportDSL.g:24165:2: ( rule__XOrExpression__FeatureAssignment_1_0_0_1 )
+            // InternalReportDSL.g:23874:1: ( ( rule__XOrExpression__FeatureAssignment_1_0_0_1 ) )
+            // InternalReportDSL.g:23875:2: ( rule__XOrExpression__FeatureAssignment_1_0_0_1 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXOrExpressionAccess().getFeatureAssignment_1_0_0_1()); 
             }
-            // InternalReportDSL.g:24166:2: ( rule__XOrExpression__FeatureAssignment_1_0_0_1 )
-            // InternalReportDSL.g:24166:3: rule__XOrExpression__FeatureAssignment_1_0_0_1
+            // InternalReportDSL.g:23876:2: ( rule__XOrExpression__FeatureAssignment_1_0_0_1 )
+            // InternalReportDSL.g:23876:3: rule__XOrExpression__FeatureAssignment_1_0_0_1
             {
             pushFollow(FOLLOW_2);
             rule__XOrExpression__FeatureAssignment_1_0_0_1();
@@ -80109,16 +78990,16 @@
 
 
     // $ANTLR start "rule__XAndExpression__Group__0"
-    // InternalReportDSL.g:24175:1: rule__XAndExpression__Group__0 : rule__XAndExpression__Group__0__Impl rule__XAndExpression__Group__1 ;
+    // InternalReportDSL.g:23885:1: rule__XAndExpression__Group__0 : rule__XAndExpression__Group__0__Impl rule__XAndExpression__Group__1 ;
     public final void rule__XAndExpression__Group__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:24179:1: ( rule__XAndExpression__Group__0__Impl rule__XAndExpression__Group__1 )
-            // InternalReportDSL.g:24180:2: rule__XAndExpression__Group__0__Impl rule__XAndExpression__Group__1
+            // InternalReportDSL.g:23889:1: ( rule__XAndExpression__Group__0__Impl rule__XAndExpression__Group__1 )
+            // InternalReportDSL.g:23890:2: rule__XAndExpression__Group__0__Impl rule__XAndExpression__Group__1
             {
-            pushFollow(FOLLOW_150);
+            pushFollow(FOLLOW_149);
             rule__XAndExpression__Group__0__Impl();
 
             state._fsp--;
@@ -80147,17 +79028,17 @@
 
 
     // $ANTLR start "rule__XAndExpression__Group__0__Impl"
-    // InternalReportDSL.g:24187:1: rule__XAndExpression__Group__0__Impl : ( ruleXEqualityExpression ) ;
+    // InternalReportDSL.g:23897:1: rule__XAndExpression__Group__0__Impl : ( ruleXEqualityExpression ) ;
     public final void rule__XAndExpression__Group__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:24191:1: ( ( ruleXEqualityExpression ) )
-            // InternalReportDSL.g:24192:1: ( ruleXEqualityExpression )
+            // InternalReportDSL.g:23901:1: ( ( ruleXEqualityExpression ) )
+            // InternalReportDSL.g:23902:1: ( ruleXEqualityExpression )
             {
-            // InternalReportDSL.g:24192:1: ( ruleXEqualityExpression )
-            // InternalReportDSL.g:24193:2: ruleXEqualityExpression
+            // InternalReportDSL.g:23902:1: ( ruleXEqualityExpression )
+            // InternalReportDSL.g:23903:2: ruleXEqualityExpression
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXAndExpressionAccess().getXEqualityExpressionParserRuleCall_0()); 
@@ -80192,14 +79073,14 @@
 
 
     // $ANTLR start "rule__XAndExpression__Group__1"
-    // InternalReportDSL.g:24202:1: rule__XAndExpression__Group__1 : rule__XAndExpression__Group__1__Impl ;
+    // InternalReportDSL.g:23912:1: rule__XAndExpression__Group__1 : rule__XAndExpression__Group__1__Impl ;
     public final void rule__XAndExpression__Group__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:24206:1: ( rule__XAndExpression__Group__1__Impl )
-            // InternalReportDSL.g:24207:2: rule__XAndExpression__Group__1__Impl
+            // InternalReportDSL.g:23916:1: ( rule__XAndExpression__Group__1__Impl )
+            // InternalReportDSL.g:23917:2: rule__XAndExpression__Group__1__Impl
             {
             pushFollow(FOLLOW_2);
             rule__XAndExpression__Group__1__Impl();
@@ -80225,43 +79106,43 @@
 
 
     // $ANTLR start "rule__XAndExpression__Group__1__Impl"
-    // InternalReportDSL.g:24213:1: rule__XAndExpression__Group__1__Impl : ( ( rule__XAndExpression__Group_1__0 )* ) ;
+    // InternalReportDSL.g:23923:1: rule__XAndExpression__Group__1__Impl : ( ( rule__XAndExpression__Group_1__0 )* ) ;
     public final void rule__XAndExpression__Group__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:24217:1: ( ( ( rule__XAndExpression__Group_1__0 )* ) )
-            // InternalReportDSL.g:24218:1: ( ( rule__XAndExpression__Group_1__0 )* )
+            // InternalReportDSL.g:23927:1: ( ( ( rule__XAndExpression__Group_1__0 )* ) )
+            // InternalReportDSL.g:23928:1: ( ( rule__XAndExpression__Group_1__0 )* )
             {
-            // InternalReportDSL.g:24218:1: ( ( rule__XAndExpression__Group_1__0 )* )
-            // InternalReportDSL.g:24219:2: ( rule__XAndExpression__Group_1__0 )*
+            // InternalReportDSL.g:23928:1: ( ( rule__XAndExpression__Group_1__0 )* )
+            // InternalReportDSL.g:23929:2: ( rule__XAndExpression__Group_1__0 )*
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXAndExpressionAccess().getGroup_1()); 
             }
-            // InternalReportDSL.g:24220:2: ( rule__XAndExpression__Group_1__0 )*
-            loop183:
+            // InternalReportDSL.g:23930:2: ( rule__XAndExpression__Group_1__0 )*
+            loop165:
             do {
-                int alt183=2;
-                int LA183_0 = input.LA(1);
+                int alt165=2;
+                int LA165_0 = input.LA(1);
 
-                if ( (LA183_0==15) ) {
-                    int LA183_2 = input.LA(2);
+                if ( (LA165_0==15) ) {
+                    int LA165_2 = input.LA(2);
 
-                    if ( (synpred288_InternalReportDSL()) ) {
-                        alt183=1;
+                    if ( (synpred274_InternalReportDSL()) ) {
+                        alt165=1;
                     }
 
 
                 }
 
 
-                switch (alt183) {
+                switch (alt165) {
             	case 1 :
-            	    // InternalReportDSL.g:24220:3: rule__XAndExpression__Group_1__0
+            	    // InternalReportDSL.g:23930:3: rule__XAndExpression__Group_1__0
             	    {
-            	    pushFollow(FOLLOW_151);
+            	    pushFollow(FOLLOW_150);
             	    rule__XAndExpression__Group_1__0();
 
             	    state._fsp--;
@@ -80271,7 +79152,7 @@
             	    break;
 
             	default :
-            	    break loop183;
+            	    break loop165;
                 }
             } while (true);
 
@@ -80300,16 +79181,16 @@
 
 
     // $ANTLR start "rule__XAndExpression__Group_1__0"
-    // InternalReportDSL.g:24229:1: rule__XAndExpression__Group_1__0 : rule__XAndExpression__Group_1__0__Impl rule__XAndExpression__Group_1__1 ;
+    // InternalReportDSL.g:23939:1: rule__XAndExpression__Group_1__0 : rule__XAndExpression__Group_1__0__Impl rule__XAndExpression__Group_1__1 ;
     public final void rule__XAndExpression__Group_1__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:24233:1: ( rule__XAndExpression__Group_1__0__Impl rule__XAndExpression__Group_1__1 )
-            // InternalReportDSL.g:24234:2: rule__XAndExpression__Group_1__0__Impl rule__XAndExpression__Group_1__1
+            // InternalReportDSL.g:23943:1: ( rule__XAndExpression__Group_1__0__Impl rule__XAndExpression__Group_1__1 )
+            // InternalReportDSL.g:23944:2: rule__XAndExpression__Group_1__0__Impl rule__XAndExpression__Group_1__1
             {
-            pushFollow(FOLLOW_139);
+            pushFollow(FOLLOW_138);
             rule__XAndExpression__Group_1__0__Impl();
 
             state._fsp--;
@@ -80338,23 +79219,23 @@
 
 
     // $ANTLR start "rule__XAndExpression__Group_1__0__Impl"
-    // InternalReportDSL.g:24241:1: rule__XAndExpression__Group_1__0__Impl : ( ( rule__XAndExpression__Group_1_0__0 ) ) ;
+    // InternalReportDSL.g:23951:1: rule__XAndExpression__Group_1__0__Impl : ( ( rule__XAndExpression__Group_1_0__0 ) ) ;
     public final void rule__XAndExpression__Group_1__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:24245:1: ( ( ( rule__XAndExpression__Group_1_0__0 ) ) )
-            // InternalReportDSL.g:24246:1: ( ( rule__XAndExpression__Group_1_0__0 ) )
+            // InternalReportDSL.g:23955:1: ( ( ( rule__XAndExpression__Group_1_0__0 ) ) )
+            // InternalReportDSL.g:23956:1: ( ( rule__XAndExpression__Group_1_0__0 ) )
             {
-            // InternalReportDSL.g:24246:1: ( ( rule__XAndExpression__Group_1_0__0 ) )
-            // InternalReportDSL.g:24247:2: ( rule__XAndExpression__Group_1_0__0 )
+            // InternalReportDSL.g:23956:1: ( ( rule__XAndExpression__Group_1_0__0 ) )
+            // InternalReportDSL.g:23957:2: ( rule__XAndExpression__Group_1_0__0 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXAndExpressionAccess().getGroup_1_0()); 
             }
-            // InternalReportDSL.g:24248:2: ( rule__XAndExpression__Group_1_0__0 )
-            // InternalReportDSL.g:24248:3: rule__XAndExpression__Group_1_0__0
+            // InternalReportDSL.g:23958:2: ( rule__XAndExpression__Group_1_0__0 )
+            // InternalReportDSL.g:23958:3: rule__XAndExpression__Group_1_0__0
             {
             pushFollow(FOLLOW_2);
             rule__XAndExpression__Group_1_0__0();
@@ -80389,14 +79270,14 @@
 
 
     // $ANTLR start "rule__XAndExpression__Group_1__1"
-    // InternalReportDSL.g:24256:1: rule__XAndExpression__Group_1__1 : rule__XAndExpression__Group_1__1__Impl ;
+    // InternalReportDSL.g:23966:1: rule__XAndExpression__Group_1__1 : rule__XAndExpression__Group_1__1__Impl ;
     public final void rule__XAndExpression__Group_1__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:24260:1: ( rule__XAndExpression__Group_1__1__Impl )
-            // InternalReportDSL.g:24261:2: rule__XAndExpression__Group_1__1__Impl
+            // InternalReportDSL.g:23970:1: ( rule__XAndExpression__Group_1__1__Impl )
+            // InternalReportDSL.g:23971:2: rule__XAndExpression__Group_1__1__Impl
             {
             pushFollow(FOLLOW_2);
             rule__XAndExpression__Group_1__1__Impl();
@@ -80422,23 +79303,23 @@
 
 
     // $ANTLR start "rule__XAndExpression__Group_1__1__Impl"
-    // InternalReportDSL.g:24267:1: rule__XAndExpression__Group_1__1__Impl : ( ( rule__XAndExpression__RightOperandAssignment_1_1 ) ) ;
+    // InternalReportDSL.g:23977:1: rule__XAndExpression__Group_1__1__Impl : ( ( rule__XAndExpression__RightOperandAssignment_1_1 ) ) ;
     public final void rule__XAndExpression__Group_1__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:24271:1: ( ( ( rule__XAndExpression__RightOperandAssignment_1_1 ) ) )
-            // InternalReportDSL.g:24272:1: ( ( rule__XAndExpression__RightOperandAssignment_1_1 ) )
+            // InternalReportDSL.g:23981:1: ( ( ( rule__XAndExpression__RightOperandAssignment_1_1 ) ) )
+            // InternalReportDSL.g:23982:1: ( ( rule__XAndExpression__RightOperandAssignment_1_1 ) )
             {
-            // InternalReportDSL.g:24272:1: ( ( rule__XAndExpression__RightOperandAssignment_1_1 ) )
-            // InternalReportDSL.g:24273:2: ( rule__XAndExpression__RightOperandAssignment_1_1 )
+            // InternalReportDSL.g:23982:1: ( ( rule__XAndExpression__RightOperandAssignment_1_1 ) )
+            // InternalReportDSL.g:23983:2: ( rule__XAndExpression__RightOperandAssignment_1_1 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXAndExpressionAccess().getRightOperandAssignment_1_1()); 
             }
-            // InternalReportDSL.g:24274:2: ( rule__XAndExpression__RightOperandAssignment_1_1 )
-            // InternalReportDSL.g:24274:3: rule__XAndExpression__RightOperandAssignment_1_1
+            // InternalReportDSL.g:23984:2: ( rule__XAndExpression__RightOperandAssignment_1_1 )
+            // InternalReportDSL.g:23984:3: rule__XAndExpression__RightOperandAssignment_1_1
             {
             pushFollow(FOLLOW_2);
             rule__XAndExpression__RightOperandAssignment_1_1();
@@ -80473,14 +79354,14 @@
 
 
     // $ANTLR start "rule__XAndExpression__Group_1_0__0"
-    // InternalReportDSL.g:24283:1: rule__XAndExpression__Group_1_0__0 : rule__XAndExpression__Group_1_0__0__Impl ;
+    // InternalReportDSL.g:23993:1: rule__XAndExpression__Group_1_0__0 : rule__XAndExpression__Group_1_0__0__Impl ;
     public final void rule__XAndExpression__Group_1_0__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:24287:1: ( rule__XAndExpression__Group_1_0__0__Impl )
-            // InternalReportDSL.g:24288:2: rule__XAndExpression__Group_1_0__0__Impl
+            // InternalReportDSL.g:23997:1: ( rule__XAndExpression__Group_1_0__0__Impl )
+            // InternalReportDSL.g:23998:2: rule__XAndExpression__Group_1_0__0__Impl
             {
             pushFollow(FOLLOW_2);
             rule__XAndExpression__Group_1_0__0__Impl();
@@ -80506,23 +79387,23 @@
 
 
     // $ANTLR start "rule__XAndExpression__Group_1_0__0__Impl"
-    // InternalReportDSL.g:24294:1: rule__XAndExpression__Group_1_0__0__Impl : ( ( rule__XAndExpression__Group_1_0_0__0 ) ) ;
+    // InternalReportDSL.g:24004:1: rule__XAndExpression__Group_1_0__0__Impl : ( ( rule__XAndExpression__Group_1_0_0__0 ) ) ;
     public final void rule__XAndExpression__Group_1_0__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:24298:1: ( ( ( rule__XAndExpression__Group_1_0_0__0 ) ) )
-            // InternalReportDSL.g:24299:1: ( ( rule__XAndExpression__Group_1_0_0__0 ) )
+            // InternalReportDSL.g:24008:1: ( ( ( rule__XAndExpression__Group_1_0_0__0 ) ) )
+            // InternalReportDSL.g:24009:1: ( ( rule__XAndExpression__Group_1_0_0__0 ) )
             {
-            // InternalReportDSL.g:24299:1: ( ( rule__XAndExpression__Group_1_0_0__0 ) )
-            // InternalReportDSL.g:24300:2: ( rule__XAndExpression__Group_1_0_0__0 )
+            // InternalReportDSL.g:24009:1: ( ( rule__XAndExpression__Group_1_0_0__0 ) )
+            // InternalReportDSL.g:24010:2: ( rule__XAndExpression__Group_1_0_0__0 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXAndExpressionAccess().getGroup_1_0_0()); 
             }
-            // InternalReportDSL.g:24301:2: ( rule__XAndExpression__Group_1_0_0__0 )
-            // InternalReportDSL.g:24301:3: rule__XAndExpression__Group_1_0_0__0
+            // InternalReportDSL.g:24011:2: ( rule__XAndExpression__Group_1_0_0__0 )
+            // InternalReportDSL.g:24011:3: rule__XAndExpression__Group_1_0_0__0
             {
             pushFollow(FOLLOW_2);
             rule__XAndExpression__Group_1_0_0__0();
@@ -80557,16 +79438,16 @@
 
 
     // $ANTLR start "rule__XAndExpression__Group_1_0_0__0"
-    // InternalReportDSL.g:24310:1: rule__XAndExpression__Group_1_0_0__0 : rule__XAndExpression__Group_1_0_0__0__Impl rule__XAndExpression__Group_1_0_0__1 ;
+    // InternalReportDSL.g:24020:1: rule__XAndExpression__Group_1_0_0__0 : rule__XAndExpression__Group_1_0_0__0__Impl rule__XAndExpression__Group_1_0_0__1 ;
     public final void rule__XAndExpression__Group_1_0_0__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:24314:1: ( rule__XAndExpression__Group_1_0_0__0__Impl rule__XAndExpression__Group_1_0_0__1 )
-            // InternalReportDSL.g:24315:2: rule__XAndExpression__Group_1_0_0__0__Impl rule__XAndExpression__Group_1_0_0__1
+            // InternalReportDSL.g:24024:1: ( rule__XAndExpression__Group_1_0_0__0__Impl rule__XAndExpression__Group_1_0_0__1 )
+            // InternalReportDSL.g:24025:2: rule__XAndExpression__Group_1_0_0__0__Impl rule__XAndExpression__Group_1_0_0__1
             {
-            pushFollow(FOLLOW_150);
+            pushFollow(FOLLOW_149);
             rule__XAndExpression__Group_1_0_0__0__Impl();
 
             state._fsp--;
@@ -80595,23 +79476,23 @@
 
 
     // $ANTLR start "rule__XAndExpression__Group_1_0_0__0__Impl"
-    // InternalReportDSL.g:24322:1: rule__XAndExpression__Group_1_0_0__0__Impl : ( () ) ;
+    // InternalReportDSL.g:24032:1: rule__XAndExpression__Group_1_0_0__0__Impl : ( () ) ;
     public final void rule__XAndExpression__Group_1_0_0__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:24326:1: ( ( () ) )
-            // InternalReportDSL.g:24327:1: ( () )
+            // InternalReportDSL.g:24036:1: ( ( () ) )
+            // InternalReportDSL.g:24037:1: ( () )
             {
-            // InternalReportDSL.g:24327:1: ( () )
-            // InternalReportDSL.g:24328:2: ()
+            // InternalReportDSL.g:24037:1: ( () )
+            // InternalReportDSL.g:24038:2: ()
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXAndExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0()); 
             }
-            // InternalReportDSL.g:24329:2: ()
-            // InternalReportDSL.g:24329:3: 
+            // InternalReportDSL.g:24039:2: ()
+            // InternalReportDSL.g:24039:3: 
             {
             }
 
@@ -80636,14 +79517,14 @@
 
 
     // $ANTLR start "rule__XAndExpression__Group_1_0_0__1"
-    // InternalReportDSL.g:24337:1: rule__XAndExpression__Group_1_0_0__1 : rule__XAndExpression__Group_1_0_0__1__Impl ;
+    // InternalReportDSL.g:24047:1: rule__XAndExpression__Group_1_0_0__1 : rule__XAndExpression__Group_1_0_0__1__Impl ;
     public final void rule__XAndExpression__Group_1_0_0__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:24341:1: ( rule__XAndExpression__Group_1_0_0__1__Impl )
-            // InternalReportDSL.g:24342:2: rule__XAndExpression__Group_1_0_0__1__Impl
+            // InternalReportDSL.g:24051:1: ( rule__XAndExpression__Group_1_0_0__1__Impl )
+            // InternalReportDSL.g:24052:2: rule__XAndExpression__Group_1_0_0__1__Impl
             {
             pushFollow(FOLLOW_2);
             rule__XAndExpression__Group_1_0_0__1__Impl();
@@ -80669,23 +79550,23 @@
 
 
     // $ANTLR start "rule__XAndExpression__Group_1_0_0__1__Impl"
-    // InternalReportDSL.g:24348:1: rule__XAndExpression__Group_1_0_0__1__Impl : ( ( rule__XAndExpression__FeatureAssignment_1_0_0_1 ) ) ;
+    // InternalReportDSL.g:24058:1: rule__XAndExpression__Group_1_0_0__1__Impl : ( ( rule__XAndExpression__FeatureAssignment_1_0_0_1 ) ) ;
     public final void rule__XAndExpression__Group_1_0_0__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:24352:1: ( ( ( rule__XAndExpression__FeatureAssignment_1_0_0_1 ) ) )
-            // InternalReportDSL.g:24353:1: ( ( rule__XAndExpression__FeatureAssignment_1_0_0_1 ) )
+            // InternalReportDSL.g:24062:1: ( ( ( rule__XAndExpression__FeatureAssignment_1_0_0_1 ) ) )
+            // InternalReportDSL.g:24063:1: ( ( rule__XAndExpression__FeatureAssignment_1_0_0_1 ) )
             {
-            // InternalReportDSL.g:24353:1: ( ( rule__XAndExpression__FeatureAssignment_1_0_0_1 ) )
-            // InternalReportDSL.g:24354:2: ( rule__XAndExpression__FeatureAssignment_1_0_0_1 )
+            // InternalReportDSL.g:24063:1: ( ( rule__XAndExpression__FeatureAssignment_1_0_0_1 ) )
+            // InternalReportDSL.g:24064:2: ( rule__XAndExpression__FeatureAssignment_1_0_0_1 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXAndExpressionAccess().getFeatureAssignment_1_0_0_1()); 
             }
-            // InternalReportDSL.g:24355:2: ( rule__XAndExpression__FeatureAssignment_1_0_0_1 )
-            // InternalReportDSL.g:24355:3: rule__XAndExpression__FeatureAssignment_1_0_0_1
+            // InternalReportDSL.g:24065:2: ( rule__XAndExpression__FeatureAssignment_1_0_0_1 )
+            // InternalReportDSL.g:24065:3: rule__XAndExpression__FeatureAssignment_1_0_0_1
             {
             pushFollow(FOLLOW_2);
             rule__XAndExpression__FeatureAssignment_1_0_0_1();
@@ -80720,16 +79601,16 @@
 
 
     // $ANTLR start "rule__XEqualityExpression__Group__0"
-    // InternalReportDSL.g:24364:1: rule__XEqualityExpression__Group__0 : rule__XEqualityExpression__Group__0__Impl rule__XEqualityExpression__Group__1 ;
+    // InternalReportDSL.g:24074:1: rule__XEqualityExpression__Group__0 : rule__XEqualityExpression__Group__0__Impl rule__XEqualityExpression__Group__1 ;
     public final void rule__XEqualityExpression__Group__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:24368:1: ( rule__XEqualityExpression__Group__0__Impl rule__XEqualityExpression__Group__1 )
-            // InternalReportDSL.g:24369:2: rule__XEqualityExpression__Group__0__Impl rule__XEqualityExpression__Group__1
+            // InternalReportDSL.g:24078:1: ( rule__XEqualityExpression__Group__0__Impl rule__XEqualityExpression__Group__1 )
+            // InternalReportDSL.g:24079:2: rule__XEqualityExpression__Group__0__Impl rule__XEqualityExpression__Group__1
             {
-            pushFollow(FOLLOW_152);
+            pushFollow(FOLLOW_151);
             rule__XEqualityExpression__Group__0__Impl();
 
             state._fsp--;
@@ -80758,17 +79639,17 @@
 
 
     // $ANTLR start "rule__XEqualityExpression__Group__0__Impl"
-    // InternalReportDSL.g:24376:1: rule__XEqualityExpression__Group__0__Impl : ( ruleXRelationalExpression ) ;
+    // InternalReportDSL.g:24086:1: rule__XEqualityExpression__Group__0__Impl : ( ruleXRelationalExpression ) ;
     public final void rule__XEqualityExpression__Group__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:24380:1: ( ( ruleXRelationalExpression ) )
-            // InternalReportDSL.g:24381:1: ( ruleXRelationalExpression )
+            // InternalReportDSL.g:24090:1: ( ( ruleXRelationalExpression ) )
+            // InternalReportDSL.g:24091:1: ( ruleXRelationalExpression )
             {
-            // InternalReportDSL.g:24381:1: ( ruleXRelationalExpression )
-            // InternalReportDSL.g:24382:2: ruleXRelationalExpression
+            // InternalReportDSL.g:24091:1: ( ruleXRelationalExpression )
+            // InternalReportDSL.g:24092:2: ruleXRelationalExpression
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXEqualityExpressionAccess().getXRelationalExpressionParserRuleCall_0()); 
@@ -80803,14 +79684,14 @@
 
 
     // $ANTLR start "rule__XEqualityExpression__Group__1"
-    // InternalReportDSL.g:24391:1: rule__XEqualityExpression__Group__1 : rule__XEqualityExpression__Group__1__Impl ;
+    // InternalReportDSL.g:24101:1: rule__XEqualityExpression__Group__1 : rule__XEqualityExpression__Group__1__Impl ;
     public final void rule__XEqualityExpression__Group__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:24395:1: ( rule__XEqualityExpression__Group__1__Impl )
-            // InternalReportDSL.g:24396:2: rule__XEqualityExpression__Group__1__Impl
+            // InternalReportDSL.g:24105:1: ( rule__XEqualityExpression__Group__1__Impl )
+            // InternalReportDSL.g:24106:2: rule__XEqualityExpression__Group__1__Impl
             {
             pushFollow(FOLLOW_2);
             rule__XEqualityExpression__Group__1__Impl();
@@ -80836,32 +79717,32 @@
 
 
     // $ANTLR start "rule__XEqualityExpression__Group__1__Impl"
-    // InternalReportDSL.g:24402:1: rule__XEqualityExpression__Group__1__Impl : ( ( rule__XEqualityExpression__Group_1__0 )* ) ;
+    // InternalReportDSL.g:24112:1: rule__XEqualityExpression__Group__1__Impl : ( ( rule__XEqualityExpression__Group_1__0 )* ) ;
     public final void rule__XEqualityExpression__Group__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:24406:1: ( ( ( rule__XEqualityExpression__Group_1__0 )* ) )
-            // InternalReportDSL.g:24407:1: ( ( rule__XEqualityExpression__Group_1__0 )* )
+            // InternalReportDSL.g:24116:1: ( ( ( rule__XEqualityExpression__Group_1__0 )* ) )
+            // InternalReportDSL.g:24117:1: ( ( rule__XEqualityExpression__Group_1__0 )* )
             {
-            // InternalReportDSL.g:24407:1: ( ( rule__XEqualityExpression__Group_1__0 )* )
-            // InternalReportDSL.g:24408:2: ( rule__XEqualityExpression__Group_1__0 )*
+            // InternalReportDSL.g:24117:1: ( ( rule__XEqualityExpression__Group_1__0 )* )
+            // InternalReportDSL.g:24118:2: ( rule__XEqualityExpression__Group_1__0 )*
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXEqualityExpressionAccess().getGroup_1()); 
             }
-            // InternalReportDSL.g:24409:2: ( rule__XEqualityExpression__Group_1__0 )*
-            loop184:
+            // InternalReportDSL.g:24119:2: ( rule__XEqualityExpression__Group_1__0 )*
+            loop166:
             do {
-                int alt184=2;
+                int alt166=2;
                 switch ( input.LA(1) ) {
                 case 25:
                     {
-                    int LA184_2 = input.LA(2);
+                    int LA166_2 = input.LA(2);
 
-                    if ( (synpred289_InternalReportDSL()) ) {
-                        alt184=1;
+                    if ( (synpred275_InternalReportDSL()) ) {
+                        alt166=1;
                     }
 
 
@@ -80869,10 +79750,10 @@
                     break;
                 case 26:
                     {
-                    int LA184_3 = input.LA(2);
+                    int LA166_3 = input.LA(2);
 
-                    if ( (synpred289_InternalReportDSL()) ) {
-                        alt184=1;
+                    if ( (synpred275_InternalReportDSL()) ) {
+                        alt166=1;
                     }
 
 
@@ -80880,10 +79761,10 @@
                     break;
                 case 27:
                     {
-                    int LA184_4 = input.LA(2);
+                    int LA166_4 = input.LA(2);
 
-                    if ( (synpred289_InternalReportDSL()) ) {
-                        alt184=1;
+                    if ( (synpred275_InternalReportDSL()) ) {
+                        alt166=1;
                     }
 
 
@@ -80891,10 +79772,10 @@
                     break;
                 case 28:
                     {
-                    int LA184_5 = input.LA(2);
+                    int LA166_5 = input.LA(2);
 
-                    if ( (synpred289_InternalReportDSL()) ) {
-                        alt184=1;
+                    if ( (synpred275_InternalReportDSL()) ) {
+                        alt166=1;
                     }
 
 
@@ -80903,11 +79784,11 @@
 
                 }
 
-                switch (alt184) {
+                switch (alt166) {
             	case 1 :
-            	    // InternalReportDSL.g:24409:3: rule__XEqualityExpression__Group_1__0
+            	    // InternalReportDSL.g:24119:3: rule__XEqualityExpression__Group_1__0
             	    {
-            	    pushFollow(FOLLOW_153);
+            	    pushFollow(FOLLOW_152);
             	    rule__XEqualityExpression__Group_1__0();
 
             	    state._fsp--;
@@ -80917,7 +79798,7 @@
             	    break;
 
             	default :
-            	    break loop184;
+            	    break loop166;
                 }
             } while (true);
 
@@ -80946,16 +79827,16 @@
 
 
     // $ANTLR start "rule__XEqualityExpression__Group_1__0"
-    // InternalReportDSL.g:24418:1: rule__XEqualityExpression__Group_1__0 : rule__XEqualityExpression__Group_1__0__Impl rule__XEqualityExpression__Group_1__1 ;
+    // InternalReportDSL.g:24128:1: rule__XEqualityExpression__Group_1__0 : rule__XEqualityExpression__Group_1__0__Impl rule__XEqualityExpression__Group_1__1 ;
     public final void rule__XEqualityExpression__Group_1__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:24422:1: ( rule__XEqualityExpression__Group_1__0__Impl rule__XEqualityExpression__Group_1__1 )
-            // InternalReportDSL.g:24423:2: rule__XEqualityExpression__Group_1__0__Impl rule__XEqualityExpression__Group_1__1
+            // InternalReportDSL.g:24132:1: ( rule__XEqualityExpression__Group_1__0__Impl rule__XEqualityExpression__Group_1__1 )
+            // InternalReportDSL.g:24133:2: rule__XEqualityExpression__Group_1__0__Impl rule__XEqualityExpression__Group_1__1
             {
-            pushFollow(FOLLOW_139);
+            pushFollow(FOLLOW_138);
             rule__XEqualityExpression__Group_1__0__Impl();
 
             state._fsp--;
@@ -80984,23 +79865,23 @@
 
 
     // $ANTLR start "rule__XEqualityExpression__Group_1__0__Impl"
-    // InternalReportDSL.g:24430:1: rule__XEqualityExpression__Group_1__0__Impl : ( ( rule__XEqualityExpression__Group_1_0__0 ) ) ;
+    // InternalReportDSL.g:24140:1: rule__XEqualityExpression__Group_1__0__Impl : ( ( rule__XEqualityExpression__Group_1_0__0 ) ) ;
     public final void rule__XEqualityExpression__Group_1__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:24434:1: ( ( ( rule__XEqualityExpression__Group_1_0__0 ) ) )
-            // InternalReportDSL.g:24435:1: ( ( rule__XEqualityExpression__Group_1_0__0 ) )
+            // InternalReportDSL.g:24144:1: ( ( ( rule__XEqualityExpression__Group_1_0__0 ) ) )
+            // InternalReportDSL.g:24145:1: ( ( rule__XEqualityExpression__Group_1_0__0 ) )
             {
-            // InternalReportDSL.g:24435:1: ( ( rule__XEqualityExpression__Group_1_0__0 ) )
-            // InternalReportDSL.g:24436:2: ( rule__XEqualityExpression__Group_1_0__0 )
+            // InternalReportDSL.g:24145:1: ( ( rule__XEqualityExpression__Group_1_0__0 ) )
+            // InternalReportDSL.g:24146:2: ( rule__XEqualityExpression__Group_1_0__0 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXEqualityExpressionAccess().getGroup_1_0()); 
             }
-            // InternalReportDSL.g:24437:2: ( rule__XEqualityExpression__Group_1_0__0 )
-            // InternalReportDSL.g:24437:3: rule__XEqualityExpression__Group_1_0__0
+            // InternalReportDSL.g:24147:2: ( rule__XEqualityExpression__Group_1_0__0 )
+            // InternalReportDSL.g:24147:3: rule__XEqualityExpression__Group_1_0__0
             {
             pushFollow(FOLLOW_2);
             rule__XEqualityExpression__Group_1_0__0();
@@ -81035,14 +79916,14 @@
 
 
     // $ANTLR start "rule__XEqualityExpression__Group_1__1"
-    // InternalReportDSL.g:24445:1: rule__XEqualityExpression__Group_1__1 : rule__XEqualityExpression__Group_1__1__Impl ;
+    // InternalReportDSL.g:24155:1: rule__XEqualityExpression__Group_1__1 : rule__XEqualityExpression__Group_1__1__Impl ;
     public final void rule__XEqualityExpression__Group_1__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:24449:1: ( rule__XEqualityExpression__Group_1__1__Impl )
-            // InternalReportDSL.g:24450:2: rule__XEqualityExpression__Group_1__1__Impl
+            // InternalReportDSL.g:24159:1: ( rule__XEqualityExpression__Group_1__1__Impl )
+            // InternalReportDSL.g:24160:2: rule__XEqualityExpression__Group_1__1__Impl
             {
             pushFollow(FOLLOW_2);
             rule__XEqualityExpression__Group_1__1__Impl();
@@ -81068,23 +79949,23 @@
 
 
     // $ANTLR start "rule__XEqualityExpression__Group_1__1__Impl"
-    // InternalReportDSL.g:24456:1: rule__XEqualityExpression__Group_1__1__Impl : ( ( rule__XEqualityExpression__RightOperandAssignment_1_1 ) ) ;
+    // InternalReportDSL.g:24166:1: rule__XEqualityExpression__Group_1__1__Impl : ( ( rule__XEqualityExpression__RightOperandAssignment_1_1 ) ) ;
     public final void rule__XEqualityExpression__Group_1__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:24460:1: ( ( ( rule__XEqualityExpression__RightOperandAssignment_1_1 ) ) )
-            // InternalReportDSL.g:24461:1: ( ( rule__XEqualityExpression__RightOperandAssignment_1_1 ) )
+            // InternalReportDSL.g:24170:1: ( ( ( rule__XEqualityExpression__RightOperandAssignment_1_1 ) ) )
+            // InternalReportDSL.g:24171:1: ( ( rule__XEqualityExpression__RightOperandAssignment_1_1 ) )
             {
-            // InternalReportDSL.g:24461:1: ( ( rule__XEqualityExpression__RightOperandAssignment_1_1 ) )
-            // InternalReportDSL.g:24462:2: ( rule__XEqualityExpression__RightOperandAssignment_1_1 )
+            // InternalReportDSL.g:24171:1: ( ( rule__XEqualityExpression__RightOperandAssignment_1_1 ) )
+            // InternalReportDSL.g:24172:2: ( rule__XEqualityExpression__RightOperandAssignment_1_1 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXEqualityExpressionAccess().getRightOperandAssignment_1_1()); 
             }
-            // InternalReportDSL.g:24463:2: ( rule__XEqualityExpression__RightOperandAssignment_1_1 )
-            // InternalReportDSL.g:24463:3: rule__XEqualityExpression__RightOperandAssignment_1_1
+            // InternalReportDSL.g:24173:2: ( rule__XEqualityExpression__RightOperandAssignment_1_1 )
+            // InternalReportDSL.g:24173:3: rule__XEqualityExpression__RightOperandAssignment_1_1
             {
             pushFollow(FOLLOW_2);
             rule__XEqualityExpression__RightOperandAssignment_1_1();
@@ -81119,14 +80000,14 @@
 
 
     // $ANTLR start "rule__XEqualityExpression__Group_1_0__0"
-    // InternalReportDSL.g:24472:1: rule__XEqualityExpression__Group_1_0__0 : rule__XEqualityExpression__Group_1_0__0__Impl ;
+    // InternalReportDSL.g:24182:1: rule__XEqualityExpression__Group_1_0__0 : rule__XEqualityExpression__Group_1_0__0__Impl ;
     public final void rule__XEqualityExpression__Group_1_0__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:24476:1: ( rule__XEqualityExpression__Group_1_0__0__Impl )
-            // InternalReportDSL.g:24477:2: rule__XEqualityExpression__Group_1_0__0__Impl
+            // InternalReportDSL.g:24186:1: ( rule__XEqualityExpression__Group_1_0__0__Impl )
+            // InternalReportDSL.g:24187:2: rule__XEqualityExpression__Group_1_0__0__Impl
             {
             pushFollow(FOLLOW_2);
             rule__XEqualityExpression__Group_1_0__0__Impl();
@@ -81152,23 +80033,23 @@
 
 
     // $ANTLR start "rule__XEqualityExpression__Group_1_0__0__Impl"
-    // InternalReportDSL.g:24483:1: rule__XEqualityExpression__Group_1_0__0__Impl : ( ( rule__XEqualityExpression__Group_1_0_0__0 ) ) ;
+    // InternalReportDSL.g:24193:1: rule__XEqualityExpression__Group_1_0__0__Impl : ( ( rule__XEqualityExpression__Group_1_0_0__0 ) ) ;
     public final void rule__XEqualityExpression__Group_1_0__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:24487:1: ( ( ( rule__XEqualityExpression__Group_1_0_0__0 ) ) )
-            // InternalReportDSL.g:24488:1: ( ( rule__XEqualityExpression__Group_1_0_0__0 ) )
+            // InternalReportDSL.g:24197:1: ( ( ( rule__XEqualityExpression__Group_1_0_0__0 ) ) )
+            // InternalReportDSL.g:24198:1: ( ( rule__XEqualityExpression__Group_1_0_0__0 ) )
             {
-            // InternalReportDSL.g:24488:1: ( ( rule__XEqualityExpression__Group_1_0_0__0 ) )
-            // InternalReportDSL.g:24489:2: ( rule__XEqualityExpression__Group_1_0_0__0 )
+            // InternalReportDSL.g:24198:1: ( ( rule__XEqualityExpression__Group_1_0_0__0 ) )
+            // InternalReportDSL.g:24199:2: ( rule__XEqualityExpression__Group_1_0_0__0 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXEqualityExpressionAccess().getGroup_1_0_0()); 
             }
-            // InternalReportDSL.g:24490:2: ( rule__XEqualityExpression__Group_1_0_0__0 )
-            // InternalReportDSL.g:24490:3: rule__XEqualityExpression__Group_1_0_0__0
+            // InternalReportDSL.g:24200:2: ( rule__XEqualityExpression__Group_1_0_0__0 )
+            // InternalReportDSL.g:24200:3: rule__XEqualityExpression__Group_1_0_0__0
             {
             pushFollow(FOLLOW_2);
             rule__XEqualityExpression__Group_1_0_0__0();
@@ -81203,16 +80084,16 @@
 
 
     // $ANTLR start "rule__XEqualityExpression__Group_1_0_0__0"
-    // InternalReportDSL.g:24499:1: rule__XEqualityExpression__Group_1_0_0__0 : rule__XEqualityExpression__Group_1_0_0__0__Impl rule__XEqualityExpression__Group_1_0_0__1 ;
+    // InternalReportDSL.g:24209:1: rule__XEqualityExpression__Group_1_0_0__0 : rule__XEqualityExpression__Group_1_0_0__0__Impl rule__XEqualityExpression__Group_1_0_0__1 ;
     public final void rule__XEqualityExpression__Group_1_0_0__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:24503:1: ( rule__XEqualityExpression__Group_1_0_0__0__Impl rule__XEqualityExpression__Group_1_0_0__1 )
-            // InternalReportDSL.g:24504:2: rule__XEqualityExpression__Group_1_0_0__0__Impl rule__XEqualityExpression__Group_1_0_0__1
+            // InternalReportDSL.g:24213:1: ( rule__XEqualityExpression__Group_1_0_0__0__Impl rule__XEqualityExpression__Group_1_0_0__1 )
+            // InternalReportDSL.g:24214:2: rule__XEqualityExpression__Group_1_0_0__0__Impl rule__XEqualityExpression__Group_1_0_0__1
             {
-            pushFollow(FOLLOW_152);
+            pushFollow(FOLLOW_151);
             rule__XEqualityExpression__Group_1_0_0__0__Impl();
 
             state._fsp--;
@@ -81241,23 +80122,23 @@
 
 
     // $ANTLR start "rule__XEqualityExpression__Group_1_0_0__0__Impl"
-    // InternalReportDSL.g:24511:1: rule__XEqualityExpression__Group_1_0_0__0__Impl : ( () ) ;
+    // InternalReportDSL.g:24221:1: rule__XEqualityExpression__Group_1_0_0__0__Impl : ( () ) ;
     public final void rule__XEqualityExpression__Group_1_0_0__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:24515:1: ( ( () ) )
-            // InternalReportDSL.g:24516:1: ( () )
+            // InternalReportDSL.g:24225:1: ( ( () ) )
+            // InternalReportDSL.g:24226:1: ( () )
             {
-            // InternalReportDSL.g:24516:1: ( () )
-            // InternalReportDSL.g:24517:2: ()
+            // InternalReportDSL.g:24226:1: ( () )
+            // InternalReportDSL.g:24227:2: ()
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXEqualityExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0()); 
             }
-            // InternalReportDSL.g:24518:2: ()
-            // InternalReportDSL.g:24518:3: 
+            // InternalReportDSL.g:24228:2: ()
+            // InternalReportDSL.g:24228:3: 
             {
             }
 
@@ -81282,14 +80163,14 @@
 
 
     // $ANTLR start "rule__XEqualityExpression__Group_1_0_0__1"
-    // InternalReportDSL.g:24526:1: rule__XEqualityExpression__Group_1_0_0__1 : rule__XEqualityExpression__Group_1_0_0__1__Impl ;
+    // InternalReportDSL.g:24236:1: rule__XEqualityExpression__Group_1_0_0__1 : rule__XEqualityExpression__Group_1_0_0__1__Impl ;
     public final void rule__XEqualityExpression__Group_1_0_0__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:24530:1: ( rule__XEqualityExpression__Group_1_0_0__1__Impl )
-            // InternalReportDSL.g:24531:2: rule__XEqualityExpression__Group_1_0_0__1__Impl
+            // InternalReportDSL.g:24240:1: ( rule__XEqualityExpression__Group_1_0_0__1__Impl )
+            // InternalReportDSL.g:24241:2: rule__XEqualityExpression__Group_1_0_0__1__Impl
             {
             pushFollow(FOLLOW_2);
             rule__XEqualityExpression__Group_1_0_0__1__Impl();
@@ -81315,23 +80196,23 @@
 
 
     // $ANTLR start "rule__XEqualityExpression__Group_1_0_0__1__Impl"
-    // InternalReportDSL.g:24537:1: rule__XEqualityExpression__Group_1_0_0__1__Impl : ( ( rule__XEqualityExpression__FeatureAssignment_1_0_0_1 ) ) ;
+    // InternalReportDSL.g:24247:1: rule__XEqualityExpression__Group_1_0_0__1__Impl : ( ( rule__XEqualityExpression__FeatureAssignment_1_0_0_1 ) ) ;
     public final void rule__XEqualityExpression__Group_1_0_0__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:24541:1: ( ( ( rule__XEqualityExpression__FeatureAssignment_1_0_0_1 ) ) )
-            // InternalReportDSL.g:24542:1: ( ( rule__XEqualityExpression__FeatureAssignment_1_0_0_1 ) )
+            // InternalReportDSL.g:24251:1: ( ( ( rule__XEqualityExpression__FeatureAssignment_1_0_0_1 ) ) )
+            // InternalReportDSL.g:24252:1: ( ( rule__XEqualityExpression__FeatureAssignment_1_0_0_1 ) )
             {
-            // InternalReportDSL.g:24542:1: ( ( rule__XEqualityExpression__FeatureAssignment_1_0_0_1 ) )
-            // InternalReportDSL.g:24543:2: ( rule__XEqualityExpression__FeatureAssignment_1_0_0_1 )
+            // InternalReportDSL.g:24252:1: ( ( rule__XEqualityExpression__FeatureAssignment_1_0_0_1 ) )
+            // InternalReportDSL.g:24253:2: ( rule__XEqualityExpression__FeatureAssignment_1_0_0_1 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXEqualityExpressionAccess().getFeatureAssignment_1_0_0_1()); 
             }
-            // InternalReportDSL.g:24544:2: ( rule__XEqualityExpression__FeatureAssignment_1_0_0_1 )
-            // InternalReportDSL.g:24544:3: rule__XEqualityExpression__FeatureAssignment_1_0_0_1
+            // InternalReportDSL.g:24254:2: ( rule__XEqualityExpression__FeatureAssignment_1_0_0_1 )
+            // InternalReportDSL.g:24254:3: rule__XEqualityExpression__FeatureAssignment_1_0_0_1
             {
             pushFollow(FOLLOW_2);
             rule__XEqualityExpression__FeatureAssignment_1_0_0_1();
@@ -81366,16 +80247,16 @@
 
 
     // $ANTLR start "rule__XRelationalExpression__Group__0"
-    // InternalReportDSL.g:24553:1: rule__XRelationalExpression__Group__0 : rule__XRelationalExpression__Group__0__Impl rule__XRelationalExpression__Group__1 ;
+    // InternalReportDSL.g:24263:1: rule__XRelationalExpression__Group__0 : rule__XRelationalExpression__Group__0__Impl rule__XRelationalExpression__Group__1 ;
     public final void rule__XRelationalExpression__Group__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:24557:1: ( rule__XRelationalExpression__Group__0__Impl rule__XRelationalExpression__Group__1 )
-            // InternalReportDSL.g:24558:2: rule__XRelationalExpression__Group__0__Impl rule__XRelationalExpression__Group__1
+            // InternalReportDSL.g:24267:1: ( rule__XRelationalExpression__Group__0__Impl rule__XRelationalExpression__Group__1 )
+            // InternalReportDSL.g:24268:2: rule__XRelationalExpression__Group__0__Impl rule__XRelationalExpression__Group__1
             {
-            pushFollow(FOLLOW_154);
+            pushFollow(FOLLOW_153);
             rule__XRelationalExpression__Group__0__Impl();
 
             state._fsp--;
@@ -81404,17 +80285,17 @@
 
 
     // $ANTLR start "rule__XRelationalExpression__Group__0__Impl"
-    // InternalReportDSL.g:24565:1: rule__XRelationalExpression__Group__0__Impl : ( ruleXOtherOperatorExpression ) ;
+    // InternalReportDSL.g:24275:1: rule__XRelationalExpression__Group__0__Impl : ( ruleXOtherOperatorExpression ) ;
     public final void rule__XRelationalExpression__Group__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:24569:1: ( ( ruleXOtherOperatorExpression ) )
-            // InternalReportDSL.g:24570:1: ( ruleXOtherOperatorExpression )
+            // InternalReportDSL.g:24279:1: ( ( ruleXOtherOperatorExpression ) )
+            // InternalReportDSL.g:24280:1: ( ruleXOtherOperatorExpression )
             {
-            // InternalReportDSL.g:24570:1: ( ruleXOtherOperatorExpression )
-            // InternalReportDSL.g:24571:2: ruleXOtherOperatorExpression
+            // InternalReportDSL.g:24280:1: ( ruleXOtherOperatorExpression )
+            // InternalReportDSL.g:24281:2: ruleXOtherOperatorExpression
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXRelationalExpressionAccess().getXOtherOperatorExpressionParserRuleCall_0()); 
@@ -81449,14 +80330,14 @@
 
 
     // $ANTLR start "rule__XRelationalExpression__Group__1"
-    // InternalReportDSL.g:24580:1: rule__XRelationalExpression__Group__1 : rule__XRelationalExpression__Group__1__Impl ;
+    // InternalReportDSL.g:24290:1: rule__XRelationalExpression__Group__1 : rule__XRelationalExpression__Group__1__Impl ;
     public final void rule__XRelationalExpression__Group__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:24584:1: ( rule__XRelationalExpression__Group__1__Impl )
-            // InternalReportDSL.g:24585:2: rule__XRelationalExpression__Group__1__Impl
+            // InternalReportDSL.g:24294:1: ( rule__XRelationalExpression__Group__1__Impl )
+            // InternalReportDSL.g:24295:2: rule__XRelationalExpression__Group__1__Impl
             {
             pushFollow(FOLLOW_2);
             rule__XRelationalExpression__Group__1__Impl();
@@ -81482,32 +80363,32 @@
 
 
     // $ANTLR start "rule__XRelationalExpression__Group__1__Impl"
-    // InternalReportDSL.g:24591:1: rule__XRelationalExpression__Group__1__Impl : ( ( rule__XRelationalExpression__Alternatives_1 )* ) ;
+    // InternalReportDSL.g:24301:1: rule__XRelationalExpression__Group__1__Impl : ( ( rule__XRelationalExpression__Alternatives_1 )* ) ;
     public final void rule__XRelationalExpression__Group__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:24595:1: ( ( ( rule__XRelationalExpression__Alternatives_1 )* ) )
-            // InternalReportDSL.g:24596:1: ( ( rule__XRelationalExpression__Alternatives_1 )* )
+            // InternalReportDSL.g:24305:1: ( ( ( rule__XRelationalExpression__Alternatives_1 )* ) )
+            // InternalReportDSL.g:24306:1: ( ( rule__XRelationalExpression__Alternatives_1 )* )
             {
-            // InternalReportDSL.g:24596:1: ( ( rule__XRelationalExpression__Alternatives_1 )* )
-            // InternalReportDSL.g:24597:2: ( rule__XRelationalExpression__Alternatives_1 )*
+            // InternalReportDSL.g:24306:1: ( ( rule__XRelationalExpression__Alternatives_1 )* )
+            // InternalReportDSL.g:24307:2: ( rule__XRelationalExpression__Alternatives_1 )*
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXRelationalExpressionAccess().getAlternatives_1()); 
             }
-            // InternalReportDSL.g:24598:2: ( rule__XRelationalExpression__Alternatives_1 )*
-            loop185:
+            // InternalReportDSL.g:24308:2: ( rule__XRelationalExpression__Alternatives_1 )*
+            loop167:
             do {
-                int alt185=2;
+                int alt167=2;
                 switch ( input.LA(1) ) {
                 case 31:
                     {
-                    int LA185_2 = input.LA(2);
+                    int LA167_2 = input.LA(2);
 
-                    if ( (synpred290_InternalReportDSL()) ) {
-                        alt185=1;
+                    if ( (synpred276_InternalReportDSL()) ) {
+                        alt167=1;
                     }
 
 
@@ -81515,21 +80396,21 @@
                     break;
                 case 30:
                     {
-                    int LA185_3 = input.LA(2);
+                    int LA167_3 = input.LA(2);
 
-                    if ( (synpred290_InternalReportDSL()) ) {
-                        alt185=1;
+                    if ( (synpred276_InternalReportDSL()) ) {
+                        alt167=1;
                     }
 
 
                     }
                     break;
-                case 232:
+                case 239:
                     {
-                    int LA185_4 = input.LA(2);
+                    int LA167_4 = input.LA(2);
 
-                    if ( (synpred290_InternalReportDSL()) ) {
-                        alt185=1;
+                    if ( (synpred276_InternalReportDSL()) ) {
+                        alt167=1;
                     }
 
 
@@ -81537,10 +80418,10 @@
                     break;
                 case 29:
                     {
-                    int LA185_5 = input.LA(2);
+                    int LA167_5 = input.LA(2);
 
-                    if ( (synpred290_InternalReportDSL()) ) {
-                        alt185=1;
+                    if ( (synpred276_InternalReportDSL()) ) {
+                        alt167=1;
                     }
 
 
@@ -81549,11 +80430,11 @@
 
                 }
 
-                switch (alt185) {
+                switch (alt167) {
             	case 1 :
-            	    // InternalReportDSL.g:24598:3: rule__XRelationalExpression__Alternatives_1
+            	    // InternalReportDSL.g:24308:3: rule__XRelationalExpression__Alternatives_1
             	    {
-            	    pushFollow(FOLLOW_155);
+            	    pushFollow(FOLLOW_154);
             	    rule__XRelationalExpression__Alternatives_1();
 
             	    state._fsp--;
@@ -81563,7 +80444,7 @@
             	    break;
 
             	default :
-            	    break loop185;
+            	    break loop167;
                 }
             } while (true);
 
@@ -81592,16 +80473,16 @@
 
 
     // $ANTLR start "rule__XRelationalExpression__Group_1_0__0"
-    // InternalReportDSL.g:24607:1: rule__XRelationalExpression__Group_1_0__0 : rule__XRelationalExpression__Group_1_0__0__Impl rule__XRelationalExpression__Group_1_0__1 ;
+    // InternalReportDSL.g:24317:1: rule__XRelationalExpression__Group_1_0__0 : rule__XRelationalExpression__Group_1_0__0__Impl rule__XRelationalExpression__Group_1_0__1 ;
     public final void rule__XRelationalExpression__Group_1_0__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:24611:1: ( rule__XRelationalExpression__Group_1_0__0__Impl rule__XRelationalExpression__Group_1_0__1 )
-            // InternalReportDSL.g:24612:2: rule__XRelationalExpression__Group_1_0__0__Impl rule__XRelationalExpression__Group_1_0__1
+            // InternalReportDSL.g:24321:1: ( rule__XRelationalExpression__Group_1_0__0__Impl rule__XRelationalExpression__Group_1_0__1 )
+            // InternalReportDSL.g:24322:2: rule__XRelationalExpression__Group_1_0__0__Impl rule__XRelationalExpression__Group_1_0__1
             {
-            pushFollow(FOLLOW_156);
+            pushFollow(FOLLOW_155);
             rule__XRelationalExpression__Group_1_0__0__Impl();
 
             state._fsp--;
@@ -81630,23 +80511,23 @@
 
 
     // $ANTLR start "rule__XRelationalExpression__Group_1_0__0__Impl"
-    // InternalReportDSL.g:24619:1: rule__XRelationalExpression__Group_1_0__0__Impl : ( ( rule__XRelationalExpression__Group_1_0_0__0 ) ) ;
+    // InternalReportDSL.g:24329:1: rule__XRelationalExpression__Group_1_0__0__Impl : ( ( rule__XRelationalExpression__Group_1_0_0__0 ) ) ;
     public final void rule__XRelationalExpression__Group_1_0__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:24623:1: ( ( ( rule__XRelationalExpression__Group_1_0_0__0 ) ) )
-            // InternalReportDSL.g:24624:1: ( ( rule__XRelationalExpression__Group_1_0_0__0 ) )
+            // InternalReportDSL.g:24333:1: ( ( ( rule__XRelationalExpression__Group_1_0_0__0 ) ) )
+            // InternalReportDSL.g:24334:1: ( ( rule__XRelationalExpression__Group_1_0_0__0 ) )
             {
-            // InternalReportDSL.g:24624:1: ( ( rule__XRelationalExpression__Group_1_0_0__0 ) )
-            // InternalReportDSL.g:24625:2: ( rule__XRelationalExpression__Group_1_0_0__0 )
+            // InternalReportDSL.g:24334:1: ( ( rule__XRelationalExpression__Group_1_0_0__0 ) )
+            // InternalReportDSL.g:24335:2: ( rule__XRelationalExpression__Group_1_0_0__0 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXRelationalExpressionAccess().getGroup_1_0_0()); 
             }
-            // InternalReportDSL.g:24626:2: ( rule__XRelationalExpression__Group_1_0_0__0 )
-            // InternalReportDSL.g:24626:3: rule__XRelationalExpression__Group_1_0_0__0
+            // InternalReportDSL.g:24336:2: ( rule__XRelationalExpression__Group_1_0_0__0 )
+            // InternalReportDSL.g:24336:3: rule__XRelationalExpression__Group_1_0_0__0
             {
             pushFollow(FOLLOW_2);
             rule__XRelationalExpression__Group_1_0_0__0();
@@ -81681,14 +80562,14 @@
 
 
     // $ANTLR start "rule__XRelationalExpression__Group_1_0__1"
-    // InternalReportDSL.g:24634:1: rule__XRelationalExpression__Group_1_0__1 : rule__XRelationalExpression__Group_1_0__1__Impl ;
+    // InternalReportDSL.g:24344:1: rule__XRelationalExpression__Group_1_0__1 : rule__XRelationalExpression__Group_1_0__1__Impl ;
     public final void rule__XRelationalExpression__Group_1_0__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:24638:1: ( rule__XRelationalExpression__Group_1_0__1__Impl )
-            // InternalReportDSL.g:24639:2: rule__XRelationalExpression__Group_1_0__1__Impl
+            // InternalReportDSL.g:24348:1: ( rule__XRelationalExpression__Group_1_0__1__Impl )
+            // InternalReportDSL.g:24349:2: rule__XRelationalExpression__Group_1_0__1__Impl
             {
             pushFollow(FOLLOW_2);
             rule__XRelationalExpression__Group_1_0__1__Impl();
@@ -81714,23 +80595,23 @@
 
 
     // $ANTLR start "rule__XRelationalExpression__Group_1_0__1__Impl"
-    // InternalReportDSL.g:24645:1: rule__XRelationalExpression__Group_1_0__1__Impl : ( ( rule__XRelationalExpression__TypeAssignment_1_0_1 ) ) ;
+    // InternalReportDSL.g:24355:1: rule__XRelationalExpression__Group_1_0__1__Impl : ( ( rule__XRelationalExpression__TypeAssignment_1_0_1 ) ) ;
     public final void rule__XRelationalExpression__Group_1_0__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:24649:1: ( ( ( rule__XRelationalExpression__TypeAssignment_1_0_1 ) ) )
-            // InternalReportDSL.g:24650:1: ( ( rule__XRelationalExpression__TypeAssignment_1_0_1 ) )
+            // InternalReportDSL.g:24359:1: ( ( ( rule__XRelationalExpression__TypeAssignment_1_0_1 ) ) )
+            // InternalReportDSL.g:24360:1: ( ( rule__XRelationalExpression__TypeAssignment_1_0_1 ) )
             {
-            // InternalReportDSL.g:24650:1: ( ( rule__XRelationalExpression__TypeAssignment_1_0_1 ) )
-            // InternalReportDSL.g:24651:2: ( rule__XRelationalExpression__TypeAssignment_1_0_1 )
+            // InternalReportDSL.g:24360:1: ( ( rule__XRelationalExpression__TypeAssignment_1_0_1 ) )
+            // InternalReportDSL.g:24361:2: ( rule__XRelationalExpression__TypeAssignment_1_0_1 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXRelationalExpressionAccess().getTypeAssignment_1_0_1()); 
             }
-            // InternalReportDSL.g:24652:2: ( rule__XRelationalExpression__TypeAssignment_1_0_1 )
-            // InternalReportDSL.g:24652:3: rule__XRelationalExpression__TypeAssignment_1_0_1
+            // InternalReportDSL.g:24362:2: ( rule__XRelationalExpression__TypeAssignment_1_0_1 )
+            // InternalReportDSL.g:24362:3: rule__XRelationalExpression__TypeAssignment_1_0_1
             {
             pushFollow(FOLLOW_2);
             rule__XRelationalExpression__TypeAssignment_1_0_1();
@@ -81765,14 +80646,14 @@
 
 
     // $ANTLR start "rule__XRelationalExpression__Group_1_0_0__0"
-    // InternalReportDSL.g:24661:1: rule__XRelationalExpression__Group_1_0_0__0 : rule__XRelationalExpression__Group_1_0_0__0__Impl ;
+    // InternalReportDSL.g:24371:1: rule__XRelationalExpression__Group_1_0_0__0 : rule__XRelationalExpression__Group_1_0_0__0__Impl ;
     public final void rule__XRelationalExpression__Group_1_0_0__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:24665:1: ( rule__XRelationalExpression__Group_1_0_0__0__Impl )
-            // InternalReportDSL.g:24666:2: rule__XRelationalExpression__Group_1_0_0__0__Impl
+            // InternalReportDSL.g:24375:1: ( rule__XRelationalExpression__Group_1_0_0__0__Impl )
+            // InternalReportDSL.g:24376:2: rule__XRelationalExpression__Group_1_0_0__0__Impl
             {
             pushFollow(FOLLOW_2);
             rule__XRelationalExpression__Group_1_0_0__0__Impl();
@@ -81798,23 +80679,23 @@
 
 
     // $ANTLR start "rule__XRelationalExpression__Group_1_0_0__0__Impl"
-    // InternalReportDSL.g:24672:1: rule__XRelationalExpression__Group_1_0_0__0__Impl : ( ( rule__XRelationalExpression__Group_1_0_0_0__0 ) ) ;
+    // InternalReportDSL.g:24382:1: rule__XRelationalExpression__Group_1_0_0__0__Impl : ( ( rule__XRelationalExpression__Group_1_0_0_0__0 ) ) ;
     public final void rule__XRelationalExpression__Group_1_0_0__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:24676:1: ( ( ( rule__XRelationalExpression__Group_1_0_0_0__0 ) ) )
-            // InternalReportDSL.g:24677:1: ( ( rule__XRelationalExpression__Group_1_0_0_0__0 ) )
+            // InternalReportDSL.g:24386:1: ( ( ( rule__XRelationalExpression__Group_1_0_0_0__0 ) ) )
+            // InternalReportDSL.g:24387:1: ( ( rule__XRelationalExpression__Group_1_0_0_0__0 ) )
             {
-            // InternalReportDSL.g:24677:1: ( ( rule__XRelationalExpression__Group_1_0_0_0__0 ) )
-            // InternalReportDSL.g:24678:2: ( rule__XRelationalExpression__Group_1_0_0_0__0 )
+            // InternalReportDSL.g:24387:1: ( ( rule__XRelationalExpression__Group_1_0_0_0__0 ) )
+            // InternalReportDSL.g:24388:2: ( rule__XRelationalExpression__Group_1_0_0_0__0 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXRelationalExpressionAccess().getGroup_1_0_0_0()); 
             }
-            // InternalReportDSL.g:24679:2: ( rule__XRelationalExpression__Group_1_0_0_0__0 )
-            // InternalReportDSL.g:24679:3: rule__XRelationalExpression__Group_1_0_0_0__0
+            // InternalReportDSL.g:24389:2: ( rule__XRelationalExpression__Group_1_0_0_0__0 )
+            // InternalReportDSL.g:24389:3: rule__XRelationalExpression__Group_1_0_0_0__0
             {
             pushFollow(FOLLOW_2);
             rule__XRelationalExpression__Group_1_0_0_0__0();
@@ -81849,16 +80730,16 @@
 
 
     // $ANTLR start "rule__XRelationalExpression__Group_1_0_0_0__0"
-    // InternalReportDSL.g:24688:1: rule__XRelationalExpression__Group_1_0_0_0__0 : rule__XRelationalExpression__Group_1_0_0_0__0__Impl rule__XRelationalExpression__Group_1_0_0_0__1 ;
+    // InternalReportDSL.g:24398:1: rule__XRelationalExpression__Group_1_0_0_0__0 : rule__XRelationalExpression__Group_1_0_0_0__0__Impl rule__XRelationalExpression__Group_1_0_0_0__1 ;
     public final void rule__XRelationalExpression__Group_1_0_0_0__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:24692:1: ( rule__XRelationalExpression__Group_1_0_0_0__0__Impl rule__XRelationalExpression__Group_1_0_0_0__1 )
-            // InternalReportDSL.g:24693:2: rule__XRelationalExpression__Group_1_0_0_0__0__Impl rule__XRelationalExpression__Group_1_0_0_0__1
+            // InternalReportDSL.g:24402:1: ( rule__XRelationalExpression__Group_1_0_0_0__0__Impl rule__XRelationalExpression__Group_1_0_0_0__1 )
+            // InternalReportDSL.g:24403:2: rule__XRelationalExpression__Group_1_0_0_0__0__Impl rule__XRelationalExpression__Group_1_0_0_0__1
             {
-            pushFollow(FOLLOW_157);
+            pushFollow(FOLLOW_156);
             rule__XRelationalExpression__Group_1_0_0_0__0__Impl();
 
             state._fsp--;
@@ -81887,23 +80768,23 @@
 
 
     // $ANTLR start "rule__XRelationalExpression__Group_1_0_0_0__0__Impl"
-    // InternalReportDSL.g:24700:1: rule__XRelationalExpression__Group_1_0_0_0__0__Impl : ( () ) ;
+    // InternalReportDSL.g:24410:1: rule__XRelationalExpression__Group_1_0_0_0__0__Impl : ( () ) ;
     public final void rule__XRelationalExpression__Group_1_0_0_0__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:24704:1: ( ( () ) )
-            // InternalReportDSL.g:24705:1: ( () )
+            // InternalReportDSL.g:24414:1: ( ( () ) )
+            // InternalReportDSL.g:24415:1: ( () )
             {
-            // InternalReportDSL.g:24705:1: ( () )
-            // InternalReportDSL.g:24706:2: ()
+            // InternalReportDSL.g:24415:1: ( () )
+            // InternalReportDSL.g:24416:2: ()
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXRelationalExpressionAccess().getXInstanceOfExpressionExpressionAction_1_0_0_0_0()); 
             }
-            // InternalReportDSL.g:24707:2: ()
-            // InternalReportDSL.g:24707:3: 
+            // InternalReportDSL.g:24417:2: ()
+            // InternalReportDSL.g:24417:3: 
             {
             }
 
@@ -81928,14 +80809,14 @@
 
 
     // $ANTLR start "rule__XRelationalExpression__Group_1_0_0_0__1"
-    // InternalReportDSL.g:24715:1: rule__XRelationalExpression__Group_1_0_0_0__1 : rule__XRelationalExpression__Group_1_0_0_0__1__Impl ;
+    // InternalReportDSL.g:24425:1: rule__XRelationalExpression__Group_1_0_0_0__1 : rule__XRelationalExpression__Group_1_0_0_0__1__Impl ;
     public final void rule__XRelationalExpression__Group_1_0_0_0__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:24719:1: ( rule__XRelationalExpression__Group_1_0_0_0__1__Impl )
-            // InternalReportDSL.g:24720:2: rule__XRelationalExpression__Group_1_0_0_0__1__Impl
+            // InternalReportDSL.g:24429:1: ( rule__XRelationalExpression__Group_1_0_0_0__1__Impl )
+            // InternalReportDSL.g:24430:2: rule__XRelationalExpression__Group_1_0_0_0__1__Impl
             {
             pushFollow(FOLLOW_2);
             rule__XRelationalExpression__Group_1_0_0_0__1__Impl();
@@ -81961,22 +80842,22 @@
 
 
     // $ANTLR start "rule__XRelationalExpression__Group_1_0_0_0__1__Impl"
-    // InternalReportDSL.g:24726:1: rule__XRelationalExpression__Group_1_0_0_0__1__Impl : ( 'instanceof' ) ;
+    // InternalReportDSL.g:24436:1: rule__XRelationalExpression__Group_1_0_0_0__1__Impl : ( 'instanceof' ) ;
     public final void rule__XRelationalExpression__Group_1_0_0_0__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:24730:1: ( ( 'instanceof' ) )
-            // InternalReportDSL.g:24731:1: ( 'instanceof' )
+            // InternalReportDSL.g:24440:1: ( ( 'instanceof' ) )
+            // InternalReportDSL.g:24441:1: ( 'instanceof' )
             {
-            // InternalReportDSL.g:24731:1: ( 'instanceof' )
-            // InternalReportDSL.g:24732:2: 'instanceof'
+            // InternalReportDSL.g:24441:1: ( 'instanceof' )
+            // InternalReportDSL.g:24442:2: 'instanceof'
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXRelationalExpressionAccess().getInstanceofKeyword_1_0_0_0_1()); 
             }
-            match(input,232,FOLLOW_2); if (state.failed) return ;
+            match(input,239,FOLLOW_2); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getXRelationalExpressionAccess().getInstanceofKeyword_1_0_0_0_1()); 
             }
@@ -82002,16 +80883,16 @@
 
 
     // $ANTLR start "rule__XRelationalExpression__Group_1_1__0"
-    // InternalReportDSL.g:24742:1: rule__XRelationalExpression__Group_1_1__0 : rule__XRelationalExpression__Group_1_1__0__Impl rule__XRelationalExpression__Group_1_1__1 ;
+    // InternalReportDSL.g:24452:1: rule__XRelationalExpression__Group_1_1__0 : rule__XRelationalExpression__Group_1_1__0__Impl rule__XRelationalExpression__Group_1_1__1 ;
     public final void rule__XRelationalExpression__Group_1_1__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:24746:1: ( rule__XRelationalExpression__Group_1_1__0__Impl rule__XRelationalExpression__Group_1_1__1 )
-            // InternalReportDSL.g:24747:2: rule__XRelationalExpression__Group_1_1__0__Impl rule__XRelationalExpression__Group_1_1__1
+            // InternalReportDSL.g:24456:1: ( rule__XRelationalExpression__Group_1_1__0__Impl rule__XRelationalExpression__Group_1_1__1 )
+            // InternalReportDSL.g:24457:2: rule__XRelationalExpression__Group_1_1__0__Impl rule__XRelationalExpression__Group_1_1__1
             {
-            pushFollow(FOLLOW_139);
+            pushFollow(FOLLOW_138);
             rule__XRelationalExpression__Group_1_1__0__Impl();
 
             state._fsp--;
@@ -82040,23 +80921,23 @@
 
 
     // $ANTLR start "rule__XRelationalExpression__Group_1_1__0__Impl"
-    // InternalReportDSL.g:24754:1: rule__XRelationalExpression__Group_1_1__0__Impl : ( ( rule__XRelationalExpression__Group_1_1_0__0 ) ) ;
+    // InternalReportDSL.g:24464:1: rule__XRelationalExpression__Group_1_1__0__Impl : ( ( rule__XRelationalExpression__Group_1_1_0__0 ) ) ;
     public final void rule__XRelationalExpression__Group_1_1__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:24758:1: ( ( ( rule__XRelationalExpression__Group_1_1_0__0 ) ) )
-            // InternalReportDSL.g:24759:1: ( ( rule__XRelationalExpression__Group_1_1_0__0 ) )
+            // InternalReportDSL.g:24468:1: ( ( ( rule__XRelationalExpression__Group_1_1_0__0 ) ) )
+            // InternalReportDSL.g:24469:1: ( ( rule__XRelationalExpression__Group_1_1_0__0 ) )
             {
-            // InternalReportDSL.g:24759:1: ( ( rule__XRelationalExpression__Group_1_1_0__0 ) )
-            // InternalReportDSL.g:24760:2: ( rule__XRelationalExpression__Group_1_1_0__0 )
+            // InternalReportDSL.g:24469:1: ( ( rule__XRelationalExpression__Group_1_1_0__0 ) )
+            // InternalReportDSL.g:24470:2: ( rule__XRelationalExpression__Group_1_1_0__0 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXRelationalExpressionAccess().getGroup_1_1_0()); 
             }
-            // InternalReportDSL.g:24761:2: ( rule__XRelationalExpression__Group_1_1_0__0 )
-            // InternalReportDSL.g:24761:3: rule__XRelationalExpression__Group_1_1_0__0
+            // InternalReportDSL.g:24471:2: ( rule__XRelationalExpression__Group_1_1_0__0 )
+            // InternalReportDSL.g:24471:3: rule__XRelationalExpression__Group_1_1_0__0
             {
             pushFollow(FOLLOW_2);
             rule__XRelationalExpression__Group_1_1_0__0();
@@ -82091,14 +80972,14 @@
 
 
     // $ANTLR start "rule__XRelationalExpression__Group_1_1__1"
-    // InternalReportDSL.g:24769:1: rule__XRelationalExpression__Group_1_1__1 : rule__XRelationalExpression__Group_1_1__1__Impl ;
+    // InternalReportDSL.g:24479:1: rule__XRelationalExpression__Group_1_1__1 : rule__XRelationalExpression__Group_1_1__1__Impl ;
     public final void rule__XRelationalExpression__Group_1_1__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:24773:1: ( rule__XRelationalExpression__Group_1_1__1__Impl )
-            // InternalReportDSL.g:24774:2: rule__XRelationalExpression__Group_1_1__1__Impl
+            // InternalReportDSL.g:24483:1: ( rule__XRelationalExpression__Group_1_1__1__Impl )
+            // InternalReportDSL.g:24484:2: rule__XRelationalExpression__Group_1_1__1__Impl
             {
             pushFollow(FOLLOW_2);
             rule__XRelationalExpression__Group_1_1__1__Impl();
@@ -82124,23 +81005,23 @@
 
 
     // $ANTLR start "rule__XRelationalExpression__Group_1_1__1__Impl"
-    // InternalReportDSL.g:24780:1: rule__XRelationalExpression__Group_1_1__1__Impl : ( ( rule__XRelationalExpression__RightOperandAssignment_1_1_1 ) ) ;
+    // InternalReportDSL.g:24490:1: rule__XRelationalExpression__Group_1_1__1__Impl : ( ( rule__XRelationalExpression__RightOperandAssignment_1_1_1 ) ) ;
     public final void rule__XRelationalExpression__Group_1_1__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:24784:1: ( ( ( rule__XRelationalExpression__RightOperandAssignment_1_1_1 ) ) )
-            // InternalReportDSL.g:24785:1: ( ( rule__XRelationalExpression__RightOperandAssignment_1_1_1 ) )
+            // InternalReportDSL.g:24494:1: ( ( ( rule__XRelationalExpression__RightOperandAssignment_1_1_1 ) ) )
+            // InternalReportDSL.g:24495:1: ( ( rule__XRelationalExpression__RightOperandAssignment_1_1_1 ) )
             {
-            // InternalReportDSL.g:24785:1: ( ( rule__XRelationalExpression__RightOperandAssignment_1_1_1 ) )
-            // InternalReportDSL.g:24786:2: ( rule__XRelationalExpression__RightOperandAssignment_1_1_1 )
+            // InternalReportDSL.g:24495:1: ( ( rule__XRelationalExpression__RightOperandAssignment_1_1_1 ) )
+            // InternalReportDSL.g:24496:2: ( rule__XRelationalExpression__RightOperandAssignment_1_1_1 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXRelationalExpressionAccess().getRightOperandAssignment_1_1_1()); 
             }
-            // InternalReportDSL.g:24787:2: ( rule__XRelationalExpression__RightOperandAssignment_1_1_1 )
-            // InternalReportDSL.g:24787:3: rule__XRelationalExpression__RightOperandAssignment_1_1_1
+            // InternalReportDSL.g:24497:2: ( rule__XRelationalExpression__RightOperandAssignment_1_1_1 )
+            // InternalReportDSL.g:24497:3: rule__XRelationalExpression__RightOperandAssignment_1_1_1
             {
             pushFollow(FOLLOW_2);
             rule__XRelationalExpression__RightOperandAssignment_1_1_1();
@@ -82175,14 +81056,14 @@
 
 
     // $ANTLR start "rule__XRelationalExpression__Group_1_1_0__0"
-    // InternalReportDSL.g:24796:1: rule__XRelationalExpression__Group_1_1_0__0 : rule__XRelationalExpression__Group_1_1_0__0__Impl ;
+    // InternalReportDSL.g:24506:1: rule__XRelationalExpression__Group_1_1_0__0 : rule__XRelationalExpression__Group_1_1_0__0__Impl ;
     public final void rule__XRelationalExpression__Group_1_1_0__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:24800:1: ( rule__XRelationalExpression__Group_1_1_0__0__Impl )
-            // InternalReportDSL.g:24801:2: rule__XRelationalExpression__Group_1_1_0__0__Impl
+            // InternalReportDSL.g:24510:1: ( rule__XRelationalExpression__Group_1_1_0__0__Impl )
+            // InternalReportDSL.g:24511:2: rule__XRelationalExpression__Group_1_1_0__0__Impl
             {
             pushFollow(FOLLOW_2);
             rule__XRelationalExpression__Group_1_1_0__0__Impl();
@@ -82208,23 +81089,23 @@
 
 
     // $ANTLR start "rule__XRelationalExpression__Group_1_1_0__0__Impl"
-    // InternalReportDSL.g:24807:1: rule__XRelationalExpression__Group_1_1_0__0__Impl : ( ( rule__XRelationalExpression__Group_1_1_0_0__0 ) ) ;
+    // InternalReportDSL.g:24517:1: rule__XRelationalExpression__Group_1_1_0__0__Impl : ( ( rule__XRelationalExpression__Group_1_1_0_0__0 ) ) ;
     public final void rule__XRelationalExpression__Group_1_1_0__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:24811:1: ( ( ( rule__XRelationalExpression__Group_1_1_0_0__0 ) ) )
-            // InternalReportDSL.g:24812:1: ( ( rule__XRelationalExpression__Group_1_1_0_0__0 ) )
+            // InternalReportDSL.g:24521:1: ( ( ( rule__XRelationalExpression__Group_1_1_0_0__0 ) ) )
+            // InternalReportDSL.g:24522:1: ( ( rule__XRelationalExpression__Group_1_1_0_0__0 ) )
             {
-            // InternalReportDSL.g:24812:1: ( ( rule__XRelationalExpression__Group_1_1_0_0__0 ) )
-            // InternalReportDSL.g:24813:2: ( rule__XRelationalExpression__Group_1_1_0_0__0 )
+            // InternalReportDSL.g:24522:1: ( ( rule__XRelationalExpression__Group_1_1_0_0__0 ) )
+            // InternalReportDSL.g:24523:2: ( rule__XRelationalExpression__Group_1_1_0_0__0 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXRelationalExpressionAccess().getGroup_1_1_0_0()); 
             }
-            // InternalReportDSL.g:24814:2: ( rule__XRelationalExpression__Group_1_1_0_0__0 )
-            // InternalReportDSL.g:24814:3: rule__XRelationalExpression__Group_1_1_0_0__0
+            // InternalReportDSL.g:24524:2: ( rule__XRelationalExpression__Group_1_1_0_0__0 )
+            // InternalReportDSL.g:24524:3: rule__XRelationalExpression__Group_1_1_0_0__0
             {
             pushFollow(FOLLOW_2);
             rule__XRelationalExpression__Group_1_1_0_0__0();
@@ -82259,16 +81140,16 @@
 
 
     // $ANTLR start "rule__XRelationalExpression__Group_1_1_0_0__0"
-    // InternalReportDSL.g:24823:1: rule__XRelationalExpression__Group_1_1_0_0__0 : rule__XRelationalExpression__Group_1_1_0_0__0__Impl rule__XRelationalExpression__Group_1_1_0_0__1 ;
+    // InternalReportDSL.g:24533:1: rule__XRelationalExpression__Group_1_1_0_0__0 : rule__XRelationalExpression__Group_1_1_0_0__0__Impl rule__XRelationalExpression__Group_1_1_0_0__1 ;
     public final void rule__XRelationalExpression__Group_1_1_0_0__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:24827:1: ( rule__XRelationalExpression__Group_1_1_0_0__0__Impl rule__XRelationalExpression__Group_1_1_0_0__1 )
-            // InternalReportDSL.g:24828:2: rule__XRelationalExpression__Group_1_1_0_0__0__Impl rule__XRelationalExpression__Group_1_1_0_0__1
+            // InternalReportDSL.g:24537:1: ( rule__XRelationalExpression__Group_1_1_0_0__0__Impl rule__XRelationalExpression__Group_1_1_0_0__1 )
+            // InternalReportDSL.g:24538:2: rule__XRelationalExpression__Group_1_1_0_0__0__Impl rule__XRelationalExpression__Group_1_1_0_0__1
             {
-            pushFollow(FOLLOW_154);
+            pushFollow(FOLLOW_153);
             rule__XRelationalExpression__Group_1_1_0_0__0__Impl();
 
             state._fsp--;
@@ -82297,23 +81178,23 @@
 
 
     // $ANTLR start "rule__XRelationalExpression__Group_1_1_0_0__0__Impl"
-    // InternalReportDSL.g:24835:1: rule__XRelationalExpression__Group_1_1_0_0__0__Impl : ( () ) ;
+    // InternalReportDSL.g:24545:1: rule__XRelationalExpression__Group_1_1_0_0__0__Impl : ( () ) ;
     public final void rule__XRelationalExpression__Group_1_1_0_0__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:24839:1: ( ( () ) )
-            // InternalReportDSL.g:24840:1: ( () )
+            // InternalReportDSL.g:24549:1: ( ( () ) )
+            // InternalReportDSL.g:24550:1: ( () )
             {
-            // InternalReportDSL.g:24840:1: ( () )
-            // InternalReportDSL.g:24841:2: ()
+            // InternalReportDSL.g:24550:1: ( () )
+            // InternalReportDSL.g:24551:2: ()
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXRelationalExpressionAccess().getXBinaryOperationLeftOperandAction_1_1_0_0_0()); 
             }
-            // InternalReportDSL.g:24842:2: ()
-            // InternalReportDSL.g:24842:3: 
+            // InternalReportDSL.g:24552:2: ()
+            // InternalReportDSL.g:24552:3: 
             {
             }
 
@@ -82338,14 +81219,14 @@
 
 
     // $ANTLR start "rule__XRelationalExpression__Group_1_1_0_0__1"
-    // InternalReportDSL.g:24850:1: rule__XRelationalExpression__Group_1_1_0_0__1 : rule__XRelationalExpression__Group_1_1_0_0__1__Impl ;
+    // InternalReportDSL.g:24560:1: rule__XRelationalExpression__Group_1_1_0_0__1 : rule__XRelationalExpression__Group_1_1_0_0__1__Impl ;
     public final void rule__XRelationalExpression__Group_1_1_0_0__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:24854:1: ( rule__XRelationalExpression__Group_1_1_0_0__1__Impl )
-            // InternalReportDSL.g:24855:2: rule__XRelationalExpression__Group_1_1_0_0__1__Impl
+            // InternalReportDSL.g:24564:1: ( rule__XRelationalExpression__Group_1_1_0_0__1__Impl )
+            // InternalReportDSL.g:24565:2: rule__XRelationalExpression__Group_1_1_0_0__1__Impl
             {
             pushFollow(FOLLOW_2);
             rule__XRelationalExpression__Group_1_1_0_0__1__Impl();
@@ -82371,23 +81252,23 @@
 
 
     // $ANTLR start "rule__XRelationalExpression__Group_1_1_0_0__1__Impl"
-    // InternalReportDSL.g:24861:1: rule__XRelationalExpression__Group_1_1_0_0__1__Impl : ( ( rule__XRelationalExpression__FeatureAssignment_1_1_0_0_1 ) ) ;
+    // InternalReportDSL.g:24571:1: rule__XRelationalExpression__Group_1_1_0_0__1__Impl : ( ( rule__XRelationalExpression__FeatureAssignment_1_1_0_0_1 ) ) ;
     public final void rule__XRelationalExpression__Group_1_1_0_0__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:24865:1: ( ( ( rule__XRelationalExpression__FeatureAssignment_1_1_0_0_1 ) ) )
-            // InternalReportDSL.g:24866:1: ( ( rule__XRelationalExpression__FeatureAssignment_1_1_0_0_1 ) )
+            // InternalReportDSL.g:24575:1: ( ( ( rule__XRelationalExpression__FeatureAssignment_1_1_0_0_1 ) ) )
+            // InternalReportDSL.g:24576:1: ( ( rule__XRelationalExpression__FeatureAssignment_1_1_0_0_1 ) )
             {
-            // InternalReportDSL.g:24866:1: ( ( rule__XRelationalExpression__FeatureAssignment_1_1_0_0_1 ) )
-            // InternalReportDSL.g:24867:2: ( rule__XRelationalExpression__FeatureAssignment_1_1_0_0_1 )
+            // InternalReportDSL.g:24576:1: ( ( rule__XRelationalExpression__FeatureAssignment_1_1_0_0_1 ) )
+            // InternalReportDSL.g:24577:2: ( rule__XRelationalExpression__FeatureAssignment_1_1_0_0_1 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXRelationalExpressionAccess().getFeatureAssignment_1_1_0_0_1()); 
             }
-            // InternalReportDSL.g:24868:2: ( rule__XRelationalExpression__FeatureAssignment_1_1_0_0_1 )
-            // InternalReportDSL.g:24868:3: rule__XRelationalExpression__FeatureAssignment_1_1_0_0_1
+            // InternalReportDSL.g:24578:2: ( rule__XRelationalExpression__FeatureAssignment_1_1_0_0_1 )
+            // InternalReportDSL.g:24578:3: rule__XRelationalExpression__FeatureAssignment_1_1_0_0_1
             {
             pushFollow(FOLLOW_2);
             rule__XRelationalExpression__FeatureAssignment_1_1_0_0_1();
@@ -82422,16 +81303,16 @@
 
 
     // $ANTLR start "rule__OpCompare__Group_1__0"
-    // InternalReportDSL.g:24877:1: rule__OpCompare__Group_1__0 : rule__OpCompare__Group_1__0__Impl rule__OpCompare__Group_1__1 ;
+    // InternalReportDSL.g:24587:1: rule__OpCompare__Group_1__0 : rule__OpCompare__Group_1__0__Impl rule__OpCompare__Group_1__1 ;
     public final void rule__OpCompare__Group_1__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:24881:1: ( rule__OpCompare__Group_1__0__Impl rule__OpCompare__Group_1__1 )
-            // InternalReportDSL.g:24882:2: rule__OpCompare__Group_1__0__Impl rule__OpCompare__Group_1__1
+            // InternalReportDSL.g:24591:1: ( rule__OpCompare__Group_1__0__Impl rule__OpCompare__Group_1__1 )
+            // InternalReportDSL.g:24592:2: rule__OpCompare__Group_1__0__Impl rule__OpCompare__Group_1__1
             {
-            pushFollow(FOLLOW_140);
+            pushFollow(FOLLOW_139);
             rule__OpCompare__Group_1__0__Impl();
 
             state._fsp--;
@@ -82460,17 +81341,17 @@
 
 
     // $ANTLR start "rule__OpCompare__Group_1__0__Impl"
-    // InternalReportDSL.g:24889:1: rule__OpCompare__Group_1__0__Impl : ( '<' ) ;
+    // InternalReportDSL.g:24599:1: rule__OpCompare__Group_1__0__Impl : ( '<' ) ;
     public final void rule__OpCompare__Group_1__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:24893:1: ( ( '<' ) )
-            // InternalReportDSL.g:24894:1: ( '<' )
+            // InternalReportDSL.g:24603:1: ( ( '<' ) )
+            // InternalReportDSL.g:24604:1: ( '<' )
             {
-            // InternalReportDSL.g:24894:1: ( '<' )
-            // InternalReportDSL.g:24895:2: '<'
+            // InternalReportDSL.g:24604:1: ( '<' )
+            // InternalReportDSL.g:24605:2: '<'
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getOpCompareAccess().getLessThanSignKeyword_1_0()); 
@@ -82501,14 +81382,14 @@
 
 
     // $ANTLR start "rule__OpCompare__Group_1__1"
-    // InternalReportDSL.g:24904:1: rule__OpCompare__Group_1__1 : rule__OpCompare__Group_1__1__Impl ;
+    // InternalReportDSL.g:24614:1: rule__OpCompare__Group_1__1 : rule__OpCompare__Group_1__1__Impl ;
     public final void rule__OpCompare__Group_1__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:24908:1: ( rule__OpCompare__Group_1__1__Impl )
-            // InternalReportDSL.g:24909:2: rule__OpCompare__Group_1__1__Impl
+            // InternalReportDSL.g:24618:1: ( rule__OpCompare__Group_1__1__Impl )
+            // InternalReportDSL.g:24619:2: rule__OpCompare__Group_1__1__Impl
             {
             pushFollow(FOLLOW_2);
             rule__OpCompare__Group_1__1__Impl();
@@ -82534,17 +81415,17 @@
 
 
     // $ANTLR start "rule__OpCompare__Group_1__1__Impl"
-    // InternalReportDSL.g:24915:1: rule__OpCompare__Group_1__1__Impl : ( '=' ) ;
+    // InternalReportDSL.g:24625:1: rule__OpCompare__Group_1__1__Impl : ( '=' ) ;
     public final void rule__OpCompare__Group_1__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:24919:1: ( ( '=' ) )
-            // InternalReportDSL.g:24920:1: ( '=' )
+            // InternalReportDSL.g:24629:1: ( ( '=' ) )
+            // InternalReportDSL.g:24630:1: ( '=' )
             {
-            // InternalReportDSL.g:24920:1: ( '=' )
-            // InternalReportDSL.g:24921:2: '='
+            // InternalReportDSL.g:24630:1: ( '=' )
+            // InternalReportDSL.g:24631:2: '='
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getOpCompareAccess().getEqualsSignKeyword_1_1()); 
@@ -82575,16 +81456,16 @@
 
 
     // $ANTLR start "rule__XOtherOperatorExpression__Group__0"
-    // InternalReportDSL.g:24931:1: rule__XOtherOperatorExpression__Group__0 : rule__XOtherOperatorExpression__Group__0__Impl rule__XOtherOperatorExpression__Group__1 ;
+    // InternalReportDSL.g:24641:1: rule__XOtherOperatorExpression__Group__0 : rule__XOtherOperatorExpression__Group__0__Impl rule__XOtherOperatorExpression__Group__1 ;
     public final void rule__XOtherOperatorExpression__Group__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:24935:1: ( rule__XOtherOperatorExpression__Group__0__Impl rule__XOtherOperatorExpression__Group__1 )
-            // InternalReportDSL.g:24936:2: rule__XOtherOperatorExpression__Group__0__Impl rule__XOtherOperatorExpression__Group__1
+            // InternalReportDSL.g:24645:1: ( rule__XOtherOperatorExpression__Group__0__Impl rule__XOtherOperatorExpression__Group__1 )
+            // InternalReportDSL.g:24646:2: rule__XOtherOperatorExpression__Group__0__Impl rule__XOtherOperatorExpression__Group__1
             {
-            pushFollow(FOLLOW_158);
+            pushFollow(FOLLOW_157);
             rule__XOtherOperatorExpression__Group__0__Impl();
 
             state._fsp--;
@@ -82613,17 +81494,17 @@
 
 
     // $ANTLR start "rule__XOtherOperatorExpression__Group__0__Impl"
-    // InternalReportDSL.g:24943:1: rule__XOtherOperatorExpression__Group__0__Impl : ( ruleXAdditiveExpression ) ;
+    // InternalReportDSL.g:24653:1: rule__XOtherOperatorExpression__Group__0__Impl : ( ruleXAdditiveExpression ) ;
     public final void rule__XOtherOperatorExpression__Group__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:24947:1: ( ( ruleXAdditiveExpression ) )
-            // InternalReportDSL.g:24948:1: ( ruleXAdditiveExpression )
+            // InternalReportDSL.g:24657:1: ( ( ruleXAdditiveExpression ) )
+            // InternalReportDSL.g:24658:1: ( ruleXAdditiveExpression )
             {
-            // InternalReportDSL.g:24948:1: ( ruleXAdditiveExpression )
-            // InternalReportDSL.g:24949:2: ruleXAdditiveExpression
+            // InternalReportDSL.g:24658:1: ( ruleXAdditiveExpression )
+            // InternalReportDSL.g:24659:2: ruleXAdditiveExpression
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXOtherOperatorExpressionAccess().getXAdditiveExpressionParserRuleCall_0()); 
@@ -82658,14 +81539,14 @@
 
 
     // $ANTLR start "rule__XOtherOperatorExpression__Group__1"
-    // InternalReportDSL.g:24958:1: rule__XOtherOperatorExpression__Group__1 : rule__XOtherOperatorExpression__Group__1__Impl ;
+    // InternalReportDSL.g:24668:1: rule__XOtherOperatorExpression__Group__1 : rule__XOtherOperatorExpression__Group__1__Impl ;
     public final void rule__XOtherOperatorExpression__Group__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:24962:1: ( rule__XOtherOperatorExpression__Group__1__Impl )
-            // InternalReportDSL.g:24963:2: rule__XOtherOperatorExpression__Group__1__Impl
+            // InternalReportDSL.g:24672:1: ( rule__XOtherOperatorExpression__Group__1__Impl )
+            // InternalReportDSL.g:24673:2: rule__XOtherOperatorExpression__Group__1__Impl
             {
             pushFollow(FOLLOW_2);
             rule__XOtherOperatorExpression__Group__1__Impl();
@@ -82691,31 +81572,31 @@
 
 
     // $ANTLR start "rule__XOtherOperatorExpression__Group__1__Impl"
-    // InternalReportDSL.g:24969:1: rule__XOtherOperatorExpression__Group__1__Impl : ( ( rule__XOtherOperatorExpression__Group_1__0 )* ) ;
+    // InternalReportDSL.g:24679:1: rule__XOtherOperatorExpression__Group__1__Impl : ( ( rule__XOtherOperatorExpression__Group_1__0 )* ) ;
     public final void rule__XOtherOperatorExpression__Group__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:24973:1: ( ( ( rule__XOtherOperatorExpression__Group_1__0 )* ) )
-            // InternalReportDSL.g:24974:1: ( ( rule__XOtherOperatorExpression__Group_1__0 )* )
+            // InternalReportDSL.g:24683:1: ( ( ( rule__XOtherOperatorExpression__Group_1__0 )* ) )
+            // InternalReportDSL.g:24684:1: ( ( rule__XOtherOperatorExpression__Group_1__0 )* )
             {
-            // InternalReportDSL.g:24974:1: ( ( rule__XOtherOperatorExpression__Group_1__0 )* )
-            // InternalReportDSL.g:24975:2: ( rule__XOtherOperatorExpression__Group_1__0 )*
+            // InternalReportDSL.g:24684:1: ( ( rule__XOtherOperatorExpression__Group_1__0 )* )
+            // InternalReportDSL.g:24685:2: ( rule__XOtherOperatorExpression__Group_1__0 )*
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXOtherOperatorExpressionAccess().getGroup_1()); 
             }
-            // InternalReportDSL.g:24976:2: ( rule__XOtherOperatorExpression__Group_1__0 )*
-            loop186:
+            // InternalReportDSL.g:24686:2: ( rule__XOtherOperatorExpression__Group_1__0 )*
+            loop168:
             do {
-                int alt186=2;
-                alt186 = dfa186.predict(input);
-                switch (alt186) {
+                int alt168=2;
+                alt168 = dfa168.predict(input);
+                switch (alt168) {
             	case 1 :
-            	    // InternalReportDSL.g:24976:3: rule__XOtherOperatorExpression__Group_1__0
+            	    // InternalReportDSL.g:24686:3: rule__XOtherOperatorExpression__Group_1__0
             	    {
-            	    pushFollow(FOLLOW_159);
+            	    pushFollow(FOLLOW_158);
             	    rule__XOtherOperatorExpression__Group_1__0();
 
             	    state._fsp--;
@@ -82725,7 +81606,7 @@
             	    break;
 
             	default :
-            	    break loop186;
+            	    break loop168;
                 }
             } while (true);
 
@@ -82754,16 +81635,16 @@
 
 
     // $ANTLR start "rule__XOtherOperatorExpression__Group_1__0"
-    // InternalReportDSL.g:24985:1: rule__XOtherOperatorExpression__Group_1__0 : rule__XOtherOperatorExpression__Group_1__0__Impl rule__XOtherOperatorExpression__Group_1__1 ;
+    // InternalReportDSL.g:24695:1: rule__XOtherOperatorExpression__Group_1__0 : rule__XOtherOperatorExpression__Group_1__0__Impl rule__XOtherOperatorExpression__Group_1__1 ;
     public final void rule__XOtherOperatorExpression__Group_1__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:24989:1: ( rule__XOtherOperatorExpression__Group_1__0__Impl rule__XOtherOperatorExpression__Group_1__1 )
-            // InternalReportDSL.g:24990:2: rule__XOtherOperatorExpression__Group_1__0__Impl rule__XOtherOperatorExpression__Group_1__1
+            // InternalReportDSL.g:24699:1: ( rule__XOtherOperatorExpression__Group_1__0__Impl rule__XOtherOperatorExpression__Group_1__1 )
+            // InternalReportDSL.g:24700:2: rule__XOtherOperatorExpression__Group_1__0__Impl rule__XOtherOperatorExpression__Group_1__1
             {
-            pushFollow(FOLLOW_139);
+            pushFollow(FOLLOW_138);
             rule__XOtherOperatorExpression__Group_1__0__Impl();
 
             state._fsp--;
@@ -82792,23 +81673,23 @@
 
 
     // $ANTLR start "rule__XOtherOperatorExpression__Group_1__0__Impl"
-    // InternalReportDSL.g:24997:1: rule__XOtherOperatorExpression__Group_1__0__Impl : ( ( rule__XOtherOperatorExpression__Group_1_0__0 ) ) ;
+    // InternalReportDSL.g:24707:1: rule__XOtherOperatorExpression__Group_1__0__Impl : ( ( rule__XOtherOperatorExpression__Group_1_0__0 ) ) ;
     public final void rule__XOtherOperatorExpression__Group_1__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:25001:1: ( ( ( rule__XOtherOperatorExpression__Group_1_0__0 ) ) )
-            // InternalReportDSL.g:25002:1: ( ( rule__XOtherOperatorExpression__Group_1_0__0 ) )
+            // InternalReportDSL.g:24711:1: ( ( ( rule__XOtherOperatorExpression__Group_1_0__0 ) ) )
+            // InternalReportDSL.g:24712:1: ( ( rule__XOtherOperatorExpression__Group_1_0__0 ) )
             {
-            // InternalReportDSL.g:25002:1: ( ( rule__XOtherOperatorExpression__Group_1_0__0 ) )
-            // InternalReportDSL.g:25003:2: ( rule__XOtherOperatorExpression__Group_1_0__0 )
+            // InternalReportDSL.g:24712:1: ( ( rule__XOtherOperatorExpression__Group_1_0__0 ) )
+            // InternalReportDSL.g:24713:2: ( rule__XOtherOperatorExpression__Group_1_0__0 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXOtherOperatorExpressionAccess().getGroup_1_0()); 
             }
-            // InternalReportDSL.g:25004:2: ( rule__XOtherOperatorExpression__Group_1_0__0 )
-            // InternalReportDSL.g:25004:3: rule__XOtherOperatorExpression__Group_1_0__0
+            // InternalReportDSL.g:24714:2: ( rule__XOtherOperatorExpression__Group_1_0__0 )
+            // InternalReportDSL.g:24714:3: rule__XOtherOperatorExpression__Group_1_0__0
             {
             pushFollow(FOLLOW_2);
             rule__XOtherOperatorExpression__Group_1_0__0();
@@ -82843,14 +81724,14 @@
 
 
     // $ANTLR start "rule__XOtherOperatorExpression__Group_1__1"
-    // InternalReportDSL.g:25012:1: rule__XOtherOperatorExpression__Group_1__1 : rule__XOtherOperatorExpression__Group_1__1__Impl ;
+    // InternalReportDSL.g:24722:1: rule__XOtherOperatorExpression__Group_1__1 : rule__XOtherOperatorExpression__Group_1__1__Impl ;
     public final void rule__XOtherOperatorExpression__Group_1__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:25016:1: ( rule__XOtherOperatorExpression__Group_1__1__Impl )
-            // InternalReportDSL.g:25017:2: rule__XOtherOperatorExpression__Group_1__1__Impl
+            // InternalReportDSL.g:24726:1: ( rule__XOtherOperatorExpression__Group_1__1__Impl )
+            // InternalReportDSL.g:24727:2: rule__XOtherOperatorExpression__Group_1__1__Impl
             {
             pushFollow(FOLLOW_2);
             rule__XOtherOperatorExpression__Group_1__1__Impl();
@@ -82876,23 +81757,23 @@
 
 
     // $ANTLR start "rule__XOtherOperatorExpression__Group_1__1__Impl"
-    // InternalReportDSL.g:25023:1: rule__XOtherOperatorExpression__Group_1__1__Impl : ( ( rule__XOtherOperatorExpression__RightOperandAssignment_1_1 ) ) ;
+    // InternalReportDSL.g:24733:1: rule__XOtherOperatorExpression__Group_1__1__Impl : ( ( rule__XOtherOperatorExpression__RightOperandAssignment_1_1 ) ) ;
     public final void rule__XOtherOperatorExpression__Group_1__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:25027:1: ( ( ( rule__XOtherOperatorExpression__RightOperandAssignment_1_1 ) ) )
-            // InternalReportDSL.g:25028:1: ( ( rule__XOtherOperatorExpression__RightOperandAssignment_1_1 ) )
+            // InternalReportDSL.g:24737:1: ( ( ( rule__XOtherOperatorExpression__RightOperandAssignment_1_1 ) ) )
+            // InternalReportDSL.g:24738:1: ( ( rule__XOtherOperatorExpression__RightOperandAssignment_1_1 ) )
             {
-            // InternalReportDSL.g:25028:1: ( ( rule__XOtherOperatorExpression__RightOperandAssignment_1_1 ) )
-            // InternalReportDSL.g:25029:2: ( rule__XOtherOperatorExpression__RightOperandAssignment_1_1 )
+            // InternalReportDSL.g:24738:1: ( ( rule__XOtherOperatorExpression__RightOperandAssignment_1_1 ) )
+            // InternalReportDSL.g:24739:2: ( rule__XOtherOperatorExpression__RightOperandAssignment_1_1 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXOtherOperatorExpressionAccess().getRightOperandAssignment_1_1()); 
             }
-            // InternalReportDSL.g:25030:2: ( rule__XOtherOperatorExpression__RightOperandAssignment_1_1 )
-            // InternalReportDSL.g:25030:3: rule__XOtherOperatorExpression__RightOperandAssignment_1_1
+            // InternalReportDSL.g:24740:2: ( rule__XOtherOperatorExpression__RightOperandAssignment_1_1 )
+            // InternalReportDSL.g:24740:3: rule__XOtherOperatorExpression__RightOperandAssignment_1_1
             {
             pushFollow(FOLLOW_2);
             rule__XOtherOperatorExpression__RightOperandAssignment_1_1();
@@ -82927,14 +81808,14 @@
 
 
     // $ANTLR start "rule__XOtherOperatorExpression__Group_1_0__0"
-    // InternalReportDSL.g:25039:1: rule__XOtherOperatorExpression__Group_1_0__0 : rule__XOtherOperatorExpression__Group_1_0__0__Impl ;
+    // InternalReportDSL.g:24749:1: rule__XOtherOperatorExpression__Group_1_0__0 : rule__XOtherOperatorExpression__Group_1_0__0__Impl ;
     public final void rule__XOtherOperatorExpression__Group_1_0__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:25043:1: ( rule__XOtherOperatorExpression__Group_1_0__0__Impl )
-            // InternalReportDSL.g:25044:2: rule__XOtherOperatorExpression__Group_1_0__0__Impl
+            // InternalReportDSL.g:24753:1: ( rule__XOtherOperatorExpression__Group_1_0__0__Impl )
+            // InternalReportDSL.g:24754:2: rule__XOtherOperatorExpression__Group_1_0__0__Impl
             {
             pushFollow(FOLLOW_2);
             rule__XOtherOperatorExpression__Group_1_0__0__Impl();
@@ -82960,23 +81841,23 @@
 
 
     // $ANTLR start "rule__XOtherOperatorExpression__Group_1_0__0__Impl"
-    // InternalReportDSL.g:25050:1: rule__XOtherOperatorExpression__Group_1_0__0__Impl : ( ( rule__XOtherOperatorExpression__Group_1_0_0__0 ) ) ;
+    // InternalReportDSL.g:24760:1: rule__XOtherOperatorExpression__Group_1_0__0__Impl : ( ( rule__XOtherOperatorExpression__Group_1_0_0__0 ) ) ;
     public final void rule__XOtherOperatorExpression__Group_1_0__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:25054:1: ( ( ( rule__XOtherOperatorExpression__Group_1_0_0__0 ) ) )
-            // InternalReportDSL.g:25055:1: ( ( rule__XOtherOperatorExpression__Group_1_0_0__0 ) )
+            // InternalReportDSL.g:24764:1: ( ( ( rule__XOtherOperatorExpression__Group_1_0_0__0 ) ) )
+            // InternalReportDSL.g:24765:1: ( ( rule__XOtherOperatorExpression__Group_1_0_0__0 ) )
             {
-            // InternalReportDSL.g:25055:1: ( ( rule__XOtherOperatorExpression__Group_1_0_0__0 ) )
-            // InternalReportDSL.g:25056:2: ( rule__XOtherOperatorExpression__Group_1_0_0__0 )
+            // InternalReportDSL.g:24765:1: ( ( rule__XOtherOperatorExpression__Group_1_0_0__0 ) )
+            // InternalReportDSL.g:24766:2: ( rule__XOtherOperatorExpression__Group_1_0_0__0 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXOtherOperatorExpressionAccess().getGroup_1_0_0()); 
             }
-            // InternalReportDSL.g:25057:2: ( rule__XOtherOperatorExpression__Group_1_0_0__0 )
-            // InternalReportDSL.g:25057:3: rule__XOtherOperatorExpression__Group_1_0_0__0
+            // InternalReportDSL.g:24767:2: ( rule__XOtherOperatorExpression__Group_1_0_0__0 )
+            // InternalReportDSL.g:24767:3: rule__XOtherOperatorExpression__Group_1_0_0__0
             {
             pushFollow(FOLLOW_2);
             rule__XOtherOperatorExpression__Group_1_0_0__0();
@@ -83011,16 +81892,16 @@
 
 
     // $ANTLR start "rule__XOtherOperatorExpression__Group_1_0_0__0"
-    // InternalReportDSL.g:25066:1: rule__XOtherOperatorExpression__Group_1_0_0__0 : rule__XOtherOperatorExpression__Group_1_0_0__0__Impl rule__XOtherOperatorExpression__Group_1_0_0__1 ;
+    // InternalReportDSL.g:24776:1: rule__XOtherOperatorExpression__Group_1_0_0__0 : rule__XOtherOperatorExpression__Group_1_0_0__0__Impl rule__XOtherOperatorExpression__Group_1_0_0__1 ;
     public final void rule__XOtherOperatorExpression__Group_1_0_0__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:25070:1: ( rule__XOtherOperatorExpression__Group_1_0_0__0__Impl rule__XOtherOperatorExpression__Group_1_0_0__1 )
-            // InternalReportDSL.g:25071:2: rule__XOtherOperatorExpression__Group_1_0_0__0__Impl rule__XOtherOperatorExpression__Group_1_0_0__1
+            // InternalReportDSL.g:24780:1: ( rule__XOtherOperatorExpression__Group_1_0_0__0__Impl rule__XOtherOperatorExpression__Group_1_0_0__1 )
+            // InternalReportDSL.g:24781:2: rule__XOtherOperatorExpression__Group_1_0_0__0__Impl rule__XOtherOperatorExpression__Group_1_0_0__1
             {
-            pushFollow(FOLLOW_158);
+            pushFollow(FOLLOW_157);
             rule__XOtherOperatorExpression__Group_1_0_0__0__Impl();
 
             state._fsp--;
@@ -83049,23 +81930,23 @@
 
 
     // $ANTLR start "rule__XOtherOperatorExpression__Group_1_0_0__0__Impl"
-    // InternalReportDSL.g:25078:1: rule__XOtherOperatorExpression__Group_1_0_0__0__Impl : ( () ) ;
+    // InternalReportDSL.g:24788:1: rule__XOtherOperatorExpression__Group_1_0_0__0__Impl : ( () ) ;
     public final void rule__XOtherOperatorExpression__Group_1_0_0__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:25082:1: ( ( () ) )
-            // InternalReportDSL.g:25083:1: ( () )
+            // InternalReportDSL.g:24792:1: ( ( () ) )
+            // InternalReportDSL.g:24793:1: ( () )
             {
-            // InternalReportDSL.g:25083:1: ( () )
-            // InternalReportDSL.g:25084:2: ()
+            // InternalReportDSL.g:24793:1: ( () )
+            // InternalReportDSL.g:24794:2: ()
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXOtherOperatorExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0()); 
             }
-            // InternalReportDSL.g:25085:2: ()
-            // InternalReportDSL.g:25085:3: 
+            // InternalReportDSL.g:24795:2: ()
+            // InternalReportDSL.g:24795:3: 
             {
             }
 
@@ -83090,14 +81971,14 @@
 
 
     // $ANTLR start "rule__XOtherOperatorExpression__Group_1_0_0__1"
-    // InternalReportDSL.g:25093:1: rule__XOtherOperatorExpression__Group_1_0_0__1 : rule__XOtherOperatorExpression__Group_1_0_0__1__Impl ;
+    // InternalReportDSL.g:24803:1: rule__XOtherOperatorExpression__Group_1_0_0__1 : rule__XOtherOperatorExpression__Group_1_0_0__1__Impl ;
     public final void rule__XOtherOperatorExpression__Group_1_0_0__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:25097:1: ( rule__XOtherOperatorExpression__Group_1_0_0__1__Impl )
-            // InternalReportDSL.g:25098:2: rule__XOtherOperatorExpression__Group_1_0_0__1__Impl
+            // InternalReportDSL.g:24807:1: ( rule__XOtherOperatorExpression__Group_1_0_0__1__Impl )
+            // InternalReportDSL.g:24808:2: rule__XOtherOperatorExpression__Group_1_0_0__1__Impl
             {
             pushFollow(FOLLOW_2);
             rule__XOtherOperatorExpression__Group_1_0_0__1__Impl();
@@ -83123,23 +82004,23 @@
 
 
     // $ANTLR start "rule__XOtherOperatorExpression__Group_1_0_0__1__Impl"
-    // InternalReportDSL.g:25104:1: rule__XOtherOperatorExpression__Group_1_0_0__1__Impl : ( ( rule__XOtherOperatorExpression__FeatureAssignment_1_0_0_1 ) ) ;
+    // InternalReportDSL.g:24814:1: rule__XOtherOperatorExpression__Group_1_0_0__1__Impl : ( ( rule__XOtherOperatorExpression__FeatureAssignment_1_0_0_1 ) ) ;
     public final void rule__XOtherOperatorExpression__Group_1_0_0__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:25108:1: ( ( ( rule__XOtherOperatorExpression__FeatureAssignment_1_0_0_1 ) ) )
-            // InternalReportDSL.g:25109:1: ( ( rule__XOtherOperatorExpression__FeatureAssignment_1_0_0_1 ) )
+            // InternalReportDSL.g:24818:1: ( ( ( rule__XOtherOperatorExpression__FeatureAssignment_1_0_0_1 ) ) )
+            // InternalReportDSL.g:24819:1: ( ( rule__XOtherOperatorExpression__FeatureAssignment_1_0_0_1 ) )
             {
-            // InternalReportDSL.g:25109:1: ( ( rule__XOtherOperatorExpression__FeatureAssignment_1_0_0_1 ) )
-            // InternalReportDSL.g:25110:2: ( rule__XOtherOperatorExpression__FeatureAssignment_1_0_0_1 )
+            // InternalReportDSL.g:24819:1: ( ( rule__XOtherOperatorExpression__FeatureAssignment_1_0_0_1 ) )
+            // InternalReportDSL.g:24820:2: ( rule__XOtherOperatorExpression__FeatureAssignment_1_0_0_1 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXOtherOperatorExpressionAccess().getFeatureAssignment_1_0_0_1()); 
             }
-            // InternalReportDSL.g:25111:2: ( rule__XOtherOperatorExpression__FeatureAssignment_1_0_0_1 )
-            // InternalReportDSL.g:25111:3: rule__XOtherOperatorExpression__FeatureAssignment_1_0_0_1
+            // InternalReportDSL.g:24821:2: ( rule__XOtherOperatorExpression__FeatureAssignment_1_0_0_1 )
+            // InternalReportDSL.g:24821:3: rule__XOtherOperatorExpression__FeatureAssignment_1_0_0_1
             {
             pushFollow(FOLLOW_2);
             rule__XOtherOperatorExpression__FeatureAssignment_1_0_0_1();
@@ -83174,16 +82055,16 @@
 
 
     // $ANTLR start "rule__OpOther__Group_2__0"
-    // InternalReportDSL.g:25120:1: rule__OpOther__Group_2__0 : rule__OpOther__Group_2__0__Impl rule__OpOther__Group_2__1 ;
+    // InternalReportDSL.g:24830:1: rule__OpOther__Group_2__0 : rule__OpOther__Group_2__0__Impl rule__OpOther__Group_2__1 ;
     public final void rule__OpOther__Group_2__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:25124:1: ( rule__OpOther__Group_2__0__Impl rule__OpOther__Group_2__1 )
-            // InternalReportDSL.g:25125:2: rule__OpOther__Group_2__0__Impl rule__OpOther__Group_2__1
+            // InternalReportDSL.g:24834:1: ( rule__OpOther__Group_2__0__Impl rule__OpOther__Group_2__1 )
+            // InternalReportDSL.g:24835:2: rule__OpOther__Group_2__0__Impl rule__OpOther__Group_2__1
             {
-            pushFollow(FOLLOW_160);
+            pushFollow(FOLLOW_159);
             rule__OpOther__Group_2__0__Impl();
 
             state._fsp--;
@@ -83212,17 +82093,17 @@
 
 
     // $ANTLR start "rule__OpOther__Group_2__0__Impl"
-    // InternalReportDSL.g:25132:1: rule__OpOther__Group_2__0__Impl : ( '>' ) ;
+    // InternalReportDSL.g:24842:1: rule__OpOther__Group_2__0__Impl : ( '>' ) ;
     public final void rule__OpOther__Group_2__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:25136:1: ( ( '>' ) )
-            // InternalReportDSL.g:25137:1: ( '>' )
+            // InternalReportDSL.g:24846:1: ( ( '>' ) )
+            // InternalReportDSL.g:24847:1: ( '>' )
             {
-            // InternalReportDSL.g:25137:1: ( '>' )
-            // InternalReportDSL.g:25138:2: '>'
+            // InternalReportDSL.g:24847:1: ( '>' )
+            // InternalReportDSL.g:24848:2: '>'
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getOpOtherAccess().getGreaterThanSignKeyword_2_0()); 
@@ -83253,14 +82134,14 @@
 
 
     // $ANTLR start "rule__OpOther__Group_2__1"
-    // InternalReportDSL.g:25147:1: rule__OpOther__Group_2__1 : rule__OpOther__Group_2__1__Impl ;
+    // InternalReportDSL.g:24857:1: rule__OpOther__Group_2__1 : rule__OpOther__Group_2__1__Impl ;
     public final void rule__OpOther__Group_2__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:25151:1: ( rule__OpOther__Group_2__1__Impl )
-            // InternalReportDSL.g:25152:2: rule__OpOther__Group_2__1__Impl
+            // InternalReportDSL.g:24861:1: ( rule__OpOther__Group_2__1__Impl )
+            // InternalReportDSL.g:24862:2: rule__OpOther__Group_2__1__Impl
             {
             pushFollow(FOLLOW_2);
             rule__OpOther__Group_2__1__Impl();
@@ -83286,17 +82167,17 @@
 
 
     // $ANTLR start "rule__OpOther__Group_2__1__Impl"
-    // InternalReportDSL.g:25158:1: rule__OpOther__Group_2__1__Impl : ( '..' ) ;
+    // InternalReportDSL.g:24868:1: rule__OpOther__Group_2__1__Impl : ( '..' ) ;
     public final void rule__OpOther__Group_2__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:25162:1: ( ( '..' ) )
-            // InternalReportDSL.g:25163:1: ( '..' )
+            // InternalReportDSL.g:24872:1: ( ( '..' ) )
+            // InternalReportDSL.g:24873:1: ( '..' )
             {
-            // InternalReportDSL.g:25163:1: ( '..' )
-            // InternalReportDSL.g:25164:2: '..'
+            // InternalReportDSL.g:24873:1: ( '..' )
+            // InternalReportDSL.g:24874:2: '..'
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getOpOtherAccess().getFullStopFullStopKeyword_2_1()); 
@@ -83327,16 +82208,16 @@
 
 
     // $ANTLR start "rule__OpOther__Group_5__0"
-    // InternalReportDSL.g:25174:1: rule__OpOther__Group_5__0 : rule__OpOther__Group_5__0__Impl rule__OpOther__Group_5__1 ;
+    // InternalReportDSL.g:24884:1: rule__OpOther__Group_5__0 : rule__OpOther__Group_5__0__Impl rule__OpOther__Group_5__1 ;
     public final void rule__OpOther__Group_5__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:25178:1: ( rule__OpOther__Group_5__0__Impl rule__OpOther__Group_5__1 )
-            // InternalReportDSL.g:25179:2: rule__OpOther__Group_5__0__Impl rule__OpOther__Group_5__1
+            // InternalReportDSL.g:24888:1: ( rule__OpOther__Group_5__0__Impl rule__OpOther__Group_5__1 )
+            // InternalReportDSL.g:24889:2: rule__OpOther__Group_5__0__Impl rule__OpOther__Group_5__1
             {
-            pushFollow(FOLLOW_161);
+            pushFollow(FOLLOW_160);
             rule__OpOther__Group_5__0__Impl();
 
             state._fsp--;
@@ -83365,17 +82246,17 @@
 
 
     // $ANTLR start "rule__OpOther__Group_5__0__Impl"
-    // InternalReportDSL.g:25186:1: rule__OpOther__Group_5__0__Impl : ( '>' ) ;
+    // InternalReportDSL.g:24896:1: rule__OpOther__Group_5__0__Impl : ( '>' ) ;
     public final void rule__OpOther__Group_5__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:25190:1: ( ( '>' ) )
-            // InternalReportDSL.g:25191:1: ( '>' )
+            // InternalReportDSL.g:24900:1: ( ( '>' ) )
+            // InternalReportDSL.g:24901:1: ( '>' )
             {
-            // InternalReportDSL.g:25191:1: ( '>' )
-            // InternalReportDSL.g:25192:2: '>'
+            // InternalReportDSL.g:24901:1: ( '>' )
+            // InternalReportDSL.g:24902:2: '>'
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getOpOtherAccess().getGreaterThanSignKeyword_5_0()); 
@@ -83406,14 +82287,14 @@
 
 
     // $ANTLR start "rule__OpOther__Group_5__1"
-    // InternalReportDSL.g:25201:1: rule__OpOther__Group_5__1 : rule__OpOther__Group_5__1__Impl ;
+    // InternalReportDSL.g:24911:1: rule__OpOther__Group_5__1 : rule__OpOther__Group_5__1__Impl ;
     public final void rule__OpOther__Group_5__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:25205:1: ( rule__OpOther__Group_5__1__Impl )
-            // InternalReportDSL.g:25206:2: rule__OpOther__Group_5__1__Impl
+            // InternalReportDSL.g:24915:1: ( rule__OpOther__Group_5__1__Impl )
+            // InternalReportDSL.g:24916:2: rule__OpOther__Group_5__1__Impl
             {
             pushFollow(FOLLOW_2);
             rule__OpOther__Group_5__1__Impl();
@@ -83439,23 +82320,23 @@
 
 
     // $ANTLR start "rule__OpOther__Group_5__1__Impl"
-    // InternalReportDSL.g:25212:1: rule__OpOther__Group_5__1__Impl : ( ( rule__OpOther__Alternatives_5_1 ) ) ;
+    // InternalReportDSL.g:24922:1: rule__OpOther__Group_5__1__Impl : ( ( rule__OpOther__Alternatives_5_1 ) ) ;
     public final void rule__OpOther__Group_5__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:25216:1: ( ( ( rule__OpOther__Alternatives_5_1 ) ) )
-            // InternalReportDSL.g:25217:1: ( ( rule__OpOther__Alternatives_5_1 ) )
+            // InternalReportDSL.g:24926:1: ( ( ( rule__OpOther__Alternatives_5_1 ) ) )
+            // InternalReportDSL.g:24927:1: ( ( rule__OpOther__Alternatives_5_1 ) )
             {
-            // InternalReportDSL.g:25217:1: ( ( rule__OpOther__Alternatives_5_1 ) )
-            // InternalReportDSL.g:25218:2: ( rule__OpOther__Alternatives_5_1 )
+            // InternalReportDSL.g:24927:1: ( ( rule__OpOther__Alternatives_5_1 ) )
+            // InternalReportDSL.g:24928:2: ( rule__OpOther__Alternatives_5_1 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getOpOtherAccess().getAlternatives_5_1()); 
             }
-            // InternalReportDSL.g:25219:2: ( rule__OpOther__Alternatives_5_1 )
-            // InternalReportDSL.g:25219:3: rule__OpOther__Alternatives_5_1
+            // InternalReportDSL.g:24929:2: ( rule__OpOther__Alternatives_5_1 )
+            // InternalReportDSL.g:24929:3: rule__OpOther__Alternatives_5_1
             {
             pushFollow(FOLLOW_2);
             rule__OpOther__Alternatives_5_1();
@@ -83490,14 +82371,14 @@
 
 
     // $ANTLR start "rule__OpOther__Group_5_1_0__0"
-    // InternalReportDSL.g:25228:1: rule__OpOther__Group_5_1_0__0 : rule__OpOther__Group_5_1_0__0__Impl ;
+    // InternalReportDSL.g:24938:1: rule__OpOther__Group_5_1_0__0 : rule__OpOther__Group_5_1_0__0__Impl ;
     public final void rule__OpOther__Group_5_1_0__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:25232:1: ( rule__OpOther__Group_5_1_0__0__Impl )
-            // InternalReportDSL.g:25233:2: rule__OpOther__Group_5_1_0__0__Impl
+            // InternalReportDSL.g:24942:1: ( rule__OpOther__Group_5_1_0__0__Impl )
+            // InternalReportDSL.g:24943:2: rule__OpOther__Group_5_1_0__0__Impl
             {
             pushFollow(FOLLOW_2);
             rule__OpOther__Group_5_1_0__0__Impl();
@@ -83523,23 +82404,23 @@
 
 
     // $ANTLR start "rule__OpOther__Group_5_1_0__0__Impl"
-    // InternalReportDSL.g:25239:1: rule__OpOther__Group_5_1_0__0__Impl : ( ( rule__OpOther__Group_5_1_0_0__0 ) ) ;
+    // InternalReportDSL.g:24949:1: rule__OpOther__Group_5_1_0__0__Impl : ( ( rule__OpOther__Group_5_1_0_0__0 ) ) ;
     public final void rule__OpOther__Group_5_1_0__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:25243:1: ( ( ( rule__OpOther__Group_5_1_0_0__0 ) ) )
-            // InternalReportDSL.g:25244:1: ( ( rule__OpOther__Group_5_1_0_0__0 ) )
+            // InternalReportDSL.g:24953:1: ( ( ( rule__OpOther__Group_5_1_0_0__0 ) ) )
+            // InternalReportDSL.g:24954:1: ( ( rule__OpOther__Group_5_1_0_0__0 ) )
             {
-            // InternalReportDSL.g:25244:1: ( ( rule__OpOther__Group_5_1_0_0__0 ) )
-            // InternalReportDSL.g:25245:2: ( rule__OpOther__Group_5_1_0_0__0 )
+            // InternalReportDSL.g:24954:1: ( ( rule__OpOther__Group_5_1_0_0__0 ) )
+            // InternalReportDSL.g:24955:2: ( rule__OpOther__Group_5_1_0_0__0 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getOpOtherAccess().getGroup_5_1_0_0()); 
             }
-            // InternalReportDSL.g:25246:2: ( rule__OpOther__Group_5_1_0_0__0 )
-            // InternalReportDSL.g:25246:3: rule__OpOther__Group_5_1_0_0__0
+            // InternalReportDSL.g:24956:2: ( rule__OpOther__Group_5_1_0_0__0 )
+            // InternalReportDSL.g:24956:3: rule__OpOther__Group_5_1_0_0__0
             {
             pushFollow(FOLLOW_2);
             rule__OpOther__Group_5_1_0_0__0();
@@ -83574,16 +82455,16 @@
 
 
     // $ANTLR start "rule__OpOther__Group_5_1_0_0__0"
-    // InternalReportDSL.g:25255:1: rule__OpOther__Group_5_1_0_0__0 : rule__OpOther__Group_5_1_0_0__0__Impl rule__OpOther__Group_5_1_0_0__1 ;
+    // InternalReportDSL.g:24965:1: rule__OpOther__Group_5_1_0_0__0 : rule__OpOther__Group_5_1_0_0__0__Impl rule__OpOther__Group_5_1_0_0__1 ;
     public final void rule__OpOther__Group_5_1_0_0__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:25259:1: ( rule__OpOther__Group_5_1_0_0__0__Impl rule__OpOther__Group_5_1_0_0__1 )
-            // InternalReportDSL.g:25260:2: rule__OpOther__Group_5_1_0_0__0__Impl rule__OpOther__Group_5_1_0_0__1
+            // InternalReportDSL.g:24969:1: ( rule__OpOther__Group_5_1_0_0__0__Impl rule__OpOther__Group_5_1_0_0__1 )
+            // InternalReportDSL.g:24970:2: rule__OpOther__Group_5_1_0_0__0__Impl rule__OpOther__Group_5_1_0_0__1
             {
-            pushFollow(FOLLOW_161);
+            pushFollow(FOLLOW_160);
             rule__OpOther__Group_5_1_0_0__0__Impl();
 
             state._fsp--;
@@ -83612,17 +82493,17 @@
 
 
     // $ANTLR start "rule__OpOther__Group_5_1_0_0__0__Impl"
-    // InternalReportDSL.g:25267:1: rule__OpOther__Group_5_1_0_0__0__Impl : ( '>' ) ;
+    // InternalReportDSL.g:24977:1: rule__OpOther__Group_5_1_0_0__0__Impl : ( '>' ) ;
     public final void rule__OpOther__Group_5_1_0_0__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:25271:1: ( ( '>' ) )
-            // InternalReportDSL.g:25272:1: ( '>' )
+            // InternalReportDSL.g:24981:1: ( ( '>' ) )
+            // InternalReportDSL.g:24982:1: ( '>' )
             {
-            // InternalReportDSL.g:25272:1: ( '>' )
-            // InternalReportDSL.g:25273:2: '>'
+            // InternalReportDSL.g:24982:1: ( '>' )
+            // InternalReportDSL.g:24983:2: '>'
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getOpOtherAccess().getGreaterThanSignKeyword_5_1_0_0_0()); 
@@ -83653,14 +82534,14 @@
 
 
     // $ANTLR start "rule__OpOther__Group_5_1_0_0__1"
-    // InternalReportDSL.g:25282:1: rule__OpOther__Group_5_1_0_0__1 : rule__OpOther__Group_5_1_0_0__1__Impl ;
+    // InternalReportDSL.g:24992:1: rule__OpOther__Group_5_1_0_0__1 : rule__OpOther__Group_5_1_0_0__1__Impl ;
     public final void rule__OpOther__Group_5_1_0_0__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:25286:1: ( rule__OpOther__Group_5_1_0_0__1__Impl )
-            // InternalReportDSL.g:25287:2: rule__OpOther__Group_5_1_0_0__1__Impl
+            // InternalReportDSL.g:24996:1: ( rule__OpOther__Group_5_1_0_0__1__Impl )
+            // InternalReportDSL.g:24997:2: rule__OpOther__Group_5_1_0_0__1__Impl
             {
             pushFollow(FOLLOW_2);
             rule__OpOther__Group_5_1_0_0__1__Impl();
@@ -83686,17 +82567,17 @@
 
 
     // $ANTLR start "rule__OpOther__Group_5_1_0_0__1__Impl"
-    // InternalReportDSL.g:25293:1: rule__OpOther__Group_5_1_0_0__1__Impl : ( '>' ) ;
+    // InternalReportDSL.g:25003:1: rule__OpOther__Group_5_1_0_0__1__Impl : ( '>' ) ;
     public final void rule__OpOther__Group_5_1_0_0__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:25297:1: ( ( '>' ) )
-            // InternalReportDSL.g:25298:1: ( '>' )
+            // InternalReportDSL.g:25007:1: ( ( '>' ) )
+            // InternalReportDSL.g:25008:1: ( '>' )
             {
-            // InternalReportDSL.g:25298:1: ( '>' )
-            // InternalReportDSL.g:25299:2: '>'
+            // InternalReportDSL.g:25008:1: ( '>' )
+            // InternalReportDSL.g:25009:2: '>'
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getOpOtherAccess().getGreaterThanSignKeyword_5_1_0_0_1()); 
@@ -83727,16 +82608,16 @@
 
 
     // $ANTLR start "rule__OpOther__Group_6__0"
-    // InternalReportDSL.g:25309:1: rule__OpOther__Group_6__0 : rule__OpOther__Group_6__0__Impl rule__OpOther__Group_6__1 ;
+    // InternalReportDSL.g:25019:1: rule__OpOther__Group_6__0 : rule__OpOther__Group_6__0__Impl rule__OpOther__Group_6__1 ;
     public final void rule__OpOther__Group_6__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:25313:1: ( rule__OpOther__Group_6__0__Impl rule__OpOther__Group_6__1 )
-            // InternalReportDSL.g:25314:2: rule__OpOther__Group_6__0__Impl rule__OpOther__Group_6__1
+            // InternalReportDSL.g:25023:1: ( rule__OpOther__Group_6__0__Impl rule__OpOther__Group_6__1 )
+            // InternalReportDSL.g:25024:2: rule__OpOther__Group_6__0__Impl rule__OpOther__Group_6__1
             {
-            pushFollow(FOLLOW_162);
+            pushFollow(FOLLOW_161);
             rule__OpOther__Group_6__0__Impl();
 
             state._fsp--;
@@ -83765,17 +82646,17 @@
 
 
     // $ANTLR start "rule__OpOther__Group_6__0__Impl"
-    // InternalReportDSL.g:25321:1: rule__OpOther__Group_6__0__Impl : ( '<' ) ;
+    // InternalReportDSL.g:25031:1: rule__OpOther__Group_6__0__Impl : ( '<' ) ;
     public final void rule__OpOther__Group_6__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:25325:1: ( ( '<' ) )
-            // InternalReportDSL.g:25326:1: ( '<' )
+            // InternalReportDSL.g:25035:1: ( ( '<' ) )
+            // InternalReportDSL.g:25036:1: ( '<' )
             {
-            // InternalReportDSL.g:25326:1: ( '<' )
-            // InternalReportDSL.g:25327:2: '<'
+            // InternalReportDSL.g:25036:1: ( '<' )
+            // InternalReportDSL.g:25037:2: '<'
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getOpOtherAccess().getLessThanSignKeyword_6_0()); 
@@ -83806,14 +82687,14 @@
 
 
     // $ANTLR start "rule__OpOther__Group_6__1"
-    // InternalReportDSL.g:25336:1: rule__OpOther__Group_6__1 : rule__OpOther__Group_6__1__Impl ;
+    // InternalReportDSL.g:25046:1: rule__OpOther__Group_6__1 : rule__OpOther__Group_6__1__Impl ;
     public final void rule__OpOther__Group_6__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:25340:1: ( rule__OpOther__Group_6__1__Impl )
-            // InternalReportDSL.g:25341:2: rule__OpOther__Group_6__1__Impl
+            // InternalReportDSL.g:25050:1: ( rule__OpOther__Group_6__1__Impl )
+            // InternalReportDSL.g:25051:2: rule__OpOther__Group_6__1__Impl
             {
             pushFollow(FOLLOW_2);
             rule__OpOther__Group_6__1__Impl();
@@ -83839,23 +82720,23 @@
 
 
     // $ANTLR start "rule__OpOther__Group_6__1__Impl"
-    // InternalReportDSL.g:25347:1: rule__OpOther__Group_6__1__Impl : ( ( rule__OpOther__Alternatives_6_1 ) ) ;
+    // InternalReportDSL.g:25057:1: rule__OpOther__Group_6__1__Impl : ( ( rule__OpOther__Alternatives_6_1 ) ) ;
     public final void rule__OpOther__Group_6__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:25351:1: ( ( ( rule__OpOther__Alternatives_6_1 ) ) )
-            // InternalReportDSL.g:25352:1: ( ( rule__OpOther__Alternatives_6_1 ) )
+            // InternalReportDSL.g:25061:1: ( ( ( rule__OpOther__Alternatives_6_1 ) ) )
+            // InternalReportDSL.g:25062:1: ( ( rule__OpOther__Alternatives_6_1 ) )
             {
-            // InternalReportDSL.g:25352:1: ( ( rule__OpOther__Alternatives_6_1 ) )
-            // InternalReportDSL.g:25353:2: ( rule__OpOther__Alternatives_6_1 )
+            // InternalReportDSL.g:25062:1: ( ( rule__OpOther__Alternatives_6_1 ) )
+            // InternalReportDSL.g:25063:2: ( rule__OpOther__Alternatives_6_1 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getOpOtherAccess().getAlternatives_6_1()); 
             }
-            // InternalReportDSL.g:25354:2: ( rule__OpOther__Alternatives_6_1 )
-            // InternalReportDSL.g:25354:3: rule__OpOther__Alternatives_6_1
+            // InternalReportDSL.g:25064:2: ( rule__OpOther__Alternatives_6_1 )
+            // InternalReportDSL.g:25064:3: rule__OpOther__Alternatives_6_1
             {
             pushFollow(FOLLOW_2);
             rule__OpOther__Alternatives_6_1();
@@ -83890,14 +82771,14 @@
 
 
     // $ANTLR start "rule__OpOther__Group_6_1_0__0"
-    // InternalReportDSL.g:25363:1: rule__OpOther__Group_6_1_0__0 : rule__OpOther__Group_6_1_0__0__Impl ;
+    // InternalReportDSL.g:25073:1: rule__OpOther__Group_6_1_0__0 : rule__OpOther__Group_6_1_0__0__Impl ;
     public final void rule__OpOther__Group_6_1_0__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:25367:1: ( rule__OpOther__Group_6_1_0__0__Impl )
-            // InternalReportDSL.g:25368:2: rule__OpOther__Group_6_1_0__0__Impl
+            // InternalReportDSL.g:25077:1: ( rule__OpOther__Group_6_1_0__0__Impl )
+            // InternalReportDSL.g:25078:2: rule__OpOther__Group_6_1_0__0__Impl
             {
             pushFollow(FOLLOW_2);
             rule__OpOther__Group_6_1_0__0__Impl();
@@ -83923,23 +82804,23 @@
 
 
     // $ANTLR start "rule__OpOther__Group_6_1_0__0__Impl"
-    // InternalReportDSL.g:25374:1: rule__OpOther__Group_6_1_0__0__Impl : ( ( rule__OpOther__Group_6_1_0_0__0 ) ) ;
+    // InternalReportDSL.g:25084:1: rule__OpOther__Group_6_1_0__0__Impl : ( ( rule__OpOther__Group_6_1_0_0__0 ) ) ;
     public final void rule__OpOther__Group_6_1_0__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:25378:1: ( ( ( rule__OpOther__Group_6_1_0_0__0 ) ) )
-            // InternalReportDSL.g:25379:1: ( ( rule__OpOther__Group_6_1_0_0__0 ) )
+            // InternalReportDSL.g:25088:1: ( ( ( rule__OpOther__Group_6_1_0_0__0 ) ) )
+            // InternalReportDSL.g:25089:1: ( ( rule__OpOther__Group_6_1_0_0__0 ) )
             {
-            // InternalReportDSL.g:25379:1: ( ( rule__OpOther__Group_6_1_0_0__0 ) )
-            // InternalReportDSL.g:25380:2: ( rule__OpOther__Group_6_1_0_0__0 )
+            // InternalReportDSL.g:25089:1: ( ( rule__OpOther__Group_6_1_0_0__0 ) )
+            // InternalReportDSL.g:25090:2: ( rule__OpOther__Group_6_1_0_0__0 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getOpOtherAccess().getGroup_6_1_0_0()); 
             }
-            // InternalReportDSL.g:25381:2: ( rule__OpOther__Group_6_1_0_0__0 )
-            // InternalReportDSL.g:25381:3: rule__OpOther__Group_6_1_0_0__0
+            // InternalReportDSL.g:25091:2: ( rule__OpOther__Group_6_1_0_0__0 )
+            // InternalReportDSL.g:25091:3: rule__OpOther__Group_6_1_0_0__0
             {
             pushFollow(FOLLOW_2);
             rule__OpOther__Group_6_1_0_0__0();
@@ -83974,16 +82855,16 @@
 
 
     // $ANTLR start "rule__OpOther__Group_6_1_0_0__0"
-    // InternalReportDSL.g:25390:1: rule__OpOther__Group_6_1_0_0__0 : rule__OpOther__Group_6_1_0_0__0__Impl rule__OpOther__Group_6_1_0_0__1 ;
+    // InternalReportDSL.g:25100:1: rule__OpOther__Group_6_1_0_0__0 : rule__OpOther__Group_6_1_0_0__0__Impl rule__OpOther__Group_6_1_0_0__1 ;
     public final void rule__OpOther__Group_6_1_0_0__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:25394:1: ( rule__OpOther__Group_6_1_0_0__0__Impl rule__OpOther__Group_6_1_0_0__1 )
-            // InternalReportDSL.g:25395:2: rule__OpOther__Group_6_1_0_0__0__Impl rule__OpOther__Group_6_1_0_0__1
+            // InternalReportDSL.g:25104:1: ( rule__OpOther__Group_6_1_0_0__0__Impl rule__OpOther__Group_6_1_0_0__1 )
+            // InternalReportDSL.g:25105:2: rule__OpOther__Group_6_1_0_0__0__Impl rule__OpOther__Group_6_1_0_0__1
             {
-            pushFollow(FOLLOW_146);
+            pushFollow(FOLLOW_145);
             rule__OpOther__Group_6_1_0_0__0__Impl();
 
             state._fsp--;
@@ -84012,17 +82893,17 @@
 
 
     // $ANTLR start "rule__OpOther__Group_6_1_0_0__0__Impl"
-    // InternalReportDSL.g:25402:1: rule__OpOther__Group_6_1_0_0__0__Impl : ( '<' ) ;
+    // InternalReportDSL.g:25112:1: rule__OpOther__Group_6_1_0_0__0__Impl : ( '<' ) ;
     public final void rule__OpOther__Group_6_1_0_0__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:25406:1: ( ( '<' ) )
-            // InternalReportDSL.g:25407:1: ( '<' )
+            // InternalReportDSL.g:25116:1: ( ( '<' ) )
+            // InternalReportDSL.g:25117:1: ( '<' )
             {
-            // InternalReportDSL.g:25407:1: ( '<' )
-            // InternalReportDSL.g:25408:2: '<'
+            // InternalReportDSL.g:25117:1: ( '<' )
+            // InternalReportDSL.g:25118:2: '<'
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getOpOtherAccess().getLessThanSignKeyword_6_1_0_0_0()); 
@@ -84053,14 +82934,14 @@
 
 
     // $ANTLR start "rule__OpOther__Group_6_1_0_0__1"
-    // InternalReportDSL.g:25417:1: rule__OpOther__Group_6_1_0_0__1 : rule__OpOther__Group_6_1_0_0__1__Impl ;
+    // InternalReportDSL.g:25127:1: rule__OpOther__Group_6_1_0_0__1 : rule__OpOther__Group_6_1_0_0__1__Impl ;
     public final void rule__OpOther__Group_6_1_0_0__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:25421:1: ( rule__OpOther__Group_6_1_0_0__1__Impl )
-            // InternalReportDSL.g:25422:2: rule__OpOther__Group_6_1_0_0__1__Impl
+            // InternalReportDSL.g:25131:1: ( rule__OpOther__Group_6_1_0_0__1__Impl )
+            // InternalReportDSL.g:25132:2: rule__OpOther__Group_6_1_0_0__1__Impl
             {
             pushFollow(FOLLOW_2);
             rule__OpOther__Group_6_1_0_0__1__Impl();
@@ -84086,17 +82967,17 @@
 
 
     // $ANTLR start "rule__OpOther__Group_6_1_0_0__1__Impl"
-    // InternalReportDSL.g:25428:1: rule__OpOther__Group_6_1_0_0__1__Impl : ( '<' ) ;
+    // InternalReportDSL.g:25138:1: rule__OpOther__Group_6_1_0_0__1__Impl : ( '<' ) ;
     public final void rule__OpOther__Group_6_1_0_0__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:25432:1: ( ( '<' ) )
-            // InternalReportDSL.g:25433:1: ( '<' )
+            // InternalReportDSL.g:25142:1: ( ( '<' ) )
+            // InternalReportDSL.g:25143:1: ( '<' )
             {
-            // InternalReportDSL.g:25433:1: ( '<' )
-            // InternalReportDSL.g:25434:2: '<'
+            // InternalReportDSL.g:25143:1: ( '<' )
+            // InternalReportDSL.g:25144:2: '<'
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getOpOtherAccess().getLessThanSignKeyword_6_1_0_0_1()); 
@@ -84127,16 +83008,16 @@
 
 
     // $ANTLR start "rule__XAdditiveExpression__Group__0"
-    // InternalReportDSL.g:25444:1: rule__XAdditiveExpression__Group__0 : rule__XAdditiveExpression__Group__0__Impl rule__XAdditiveExpression__Group__1 ;
+    // InternalReportDSL.g:25154:1: rule__XAdditiveExpression__Group__0 : rule__XAdditiveExpression__Group__0__Impl rule__XAdditiveExpression__Group__1 ;
     public final void rule__XAdditiveExpression__Group__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:25448:1: ( rule__XAdditiveExpression__Group__0__Impl rule__XAdditiveExpression__Group__1 )
-            // InternalReportDSL.g:25449:2: rule__XAdditiveExpression__Group__0__Impl rule__XAdditiveExpression__Group__1
+            // InternalReportDSL.g:25158:1: ( rule__XAdditiveExpression__Group__0__Impl rule__XAdditiveExpression__Group__1 )
+            // InternalReportDSL.g:25159:2: rule__XAdditiveExpression__Group__0__Impl rule__XAdditiveExpression__Group__1
             {
-            pushFollow(FOLLOW_163);
+            pushFollow(FOLLOW_162);
             rule__XAdditiveExpression__Group__0__Impl();
 
             state._fsp--;
@@ -84165,17 +83046,17 @@
 
 
     // $ANTLR start "rule__XAdditiveExpression__Group__0__Impl"
-    // InternalReportDSL.g:25456:1: rule__XAdditiveExpression__Group__0__Impl : ( ruleXMultiplicativeExpression ) ;
+    // InternalReportDSL.g:25166:1: rule__XAdditiveExpression__Group__0__Impl : ( ruleXMultiplicativeExpression ) ;
     public final void rule__XAdditiveExpression__Group__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:25460:1: ( ( ruleXMultiplicativeExpression ) )
-            // InternalReportDSL.g:25461:1: ( ruleXMultiplicativeExpression )
+            // InternalReportDSL.g:25170:1: ( ( ruleXMultiplicativeExpression ) )
+            // InternalReportDSL.g:25171:1: ( ruleXMultiplicativeExpression )
             {
-            // InternalReportDSL.g:25461:1: ( ruleXMultiplicativeExpression )
-            // InternalReportDSL.g:25462:2: ruleXMultiplicativeExpression
+            // InternalReportDSL.g:25171:1: ( ruleXMultiplicativeExpression )
+            // InternalReportDSL.g:25172:2: ruleXMultiplicativeExpression
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXAdditiveExpressionAccess().getXMultiplicativeExpressionParserRuleCall_0()); 
@@ -84210,14 +83091,14 @@
 
 
     // $ANTLR start "rule__XAdditiveExpression__Group__1"
-    // InternalReportDSL.g:25471:1: rule__XAdditiveExpression__Group__1 : rule__XAdditiveExpression__Group__1__Impl ;
+    // InternalReportDSL.g:25181:1: rule__XAdditiveExpression__Group__1 : rule__XAdditiveExpression__Group__1__Impl ;
     public final void rule__XAdditiveExpression__Group__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:25475:1: ( rule__XAdditiveExpression__Group__1__Impl )
-            // InternalReportDSL.g:25476:2: rule__XAdditiveExpression__Group__1__Impl
+            // InternalReportDSL.g:25185:1: ( rule__XAdditiveExpression__Group__1__Impl )
+            // InternalReportDSL.g:25186:2: rule__XAdditiveExpression__Group__1__Impl
             {
             pushFollow(FOLLOW_2);
             rule__XAdditiveExpression__Group__1__Impl();
@@ -84243,52 +83124,52 @@
 
 
     // $ANTLR start "rule__XAdditiveExpression__Group__1__Impl"
-    // InternalReportDSL.g:25482:1: rule__XAdditiveExpression__Group__1__Impl : ( ( rule__XAdditiveExpression__Group_1__0 )* ) ;
+    // InternalReportDSL.g:25192:1: rule__XAdditiveExpression__Group__1__Impl : ( ( rule__XAdditiveExpression__Group_1__0 )* ) ;
     public final void rule__XAdditiveExpression__Group__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:25486:1: ( ( ( rule__XAdditiveExpression__Group_1__0 )* ) )
-            // InternalReportDSL.g:25487:1: ( ( rule__XAdditiveExpression__Group_1__0 )* )
+            // InternalReportDSL.g:25196:1: ( ( ( rule__XAdditiveExpression__Group_1__0 )* ) )
+            // InternalReportDSL.g:25197:1: ( ( rule__XAdditiveExpression__Group_1__0 )* )
             {
-            // InternalReportDSL.g:25487:1: ( ( rule__XAdditiveExpression__Group_1__0 )* )
-            // InternalReportDSL.g:25488:2: ( rule__XAdditiveExpression__Group_1__0 )*
+            // InternalReportDSL.g:25197:1: ( ( rule__XAdditiveExpression__Group_1__0 )* )
+            // InternalReportDSL.g:25198:2: ( rule__XAdditiveExpression__Group_1__0 )*
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXAdditiveExpressionAccess().getGroup_1()); 
             }
-            // InternalReportDSL.g:25489:2: ( rule__XAdditiveExpression__Group_1__0 )*
-            loop187:
+            // InternalReportDSL.g:25199:2: ( rule__XAdditiveExpression__Group_1__0 )*
+            loop169:
             do {
-                int alt187=2;
-                int LA187_0 = input.LA(1);
+                int alt169=2;
+                int LA169_0 = input.LA(1);
 
-                if ( (LA187_0==39) ) {
-                    int LA187_2 = input.LA(2);
+                if ( (LA169_0==39) ) {
+                    int LA169_2 = input.LA(2);
 
-                    if ( (synpred292_InternalReportDSL()) ) {
-                        alt187=1;
+                    if ( (synpred278_InternalReportDSL()) ) {
+                        alt169=1;
                     }
 
 
                 }
-                else if ( (LA187_0==38) ) {
-                    int LA187_3 = input.LA(2);
+                else if ( (LA169_0==38) ) {
+                    int LA169_3 = input.LA(2);
 
-                    if ( (synpred292_InternalReportDSL()) ) {
-                        alt187=1;
+                    if ( (synpred278_InternalReportDSL()) ) {
+                        alt169=1;
                     }
 
 
                 }
 
 
-                switch (alt187) {
+                switch (alt169) {
             	case 1 :
-            	    // InternalReportDSL.g:25489:3: rule__XAdditiveExpression__Group_1__0
+            	    // InternalReportDSL.g:25199:3: rule__XAdditiveExpression__Group_1__0
             	    {
-            	    pushFollow(FOLLOW_164);
+            	    pushFollow(FOLLOW_163);
             	    rule__XAdditiveExpression__Group_1__0();
 
             	    state._fsp--;
@@ -84298,7 +83179,7 @@
             	    break;
 
             	default :
-            	    break loop187;
+            	    break loop169;
                 }
             } while (true);
 
@@ -84327,16 +83208,16 @@
 
 
     // $ANTLR start "rule__XAdditiveExpression__Group_1__0"
-    // InternalReportDSL.g:25498:1: rule__XAdditiveExpression__Group_1__0 : rule__XAdditiveExpression__Group_1__0__Impl rule__XAdditiveExpression__Group_1__1 ;
+    // InternalReportDSL.g:25208:1: rule__XAdditiveExpression__Group_1__0 : rule__XAdditiveExpression__Group_1__0__Impl rule__XAdditiveExpression__Group_1__1 ;
     public final void rule__XAdditiveExpression__Group_1__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:25502:1: ( rule__XAdditiveExpression__Group_1__0__Impl rule__XAdditiveExpression__Group_1__1 )
-            // InternalReportDSL.g:25503:2: rule__XAdditiveExpression__Group_1__0__Impl rule__XAdditiveExpression__Group_1__1
+            // InternalReportDSL.g:25212:1: ( rule__XAdditiveExpression__Group_1__0__Impl rule__XAdditiveExpression__Group_1__1 )
+            // InternalReportDSL.g:25213:2: rule__XAdditiveExpression__Group_1__0__Impl rule__XAdditiveExpression__Group_1__1
             {
-            pushFollow(FOLLOW_139);
+            pushFollow(FOLLOW_138);
             rule__XAdditiveExpression__Group_1__0__Impl();
 
             state._fsp--;
@@ -84365,23 +83246,23 @@
 
 
     // $ANTLR start "rule__XAdditiveExpression__Group_1__0__Impl"
-    // InternalReportDSL.g:25510:1: rule__XAdditiveExpression__Group_1__0__Impl : ( ( rule__XAdditiveExpression__Group_1_0__0 ) ) ;
+    // InternalReportDSL.g:25220:1: rule__XAdditiveExpression__Group_1__0__Impl : ( ( rule__XAdditiveExpression__Group_1_0__0 ) ) ;
     public final void rule__XAdditiveExpression__Group_1__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:25514:1: ( ( ( rule__XAdditiveExpression__Group_1_0__0 ) ) )
-            // InternalReportDSL.g:25515:1: ( ( rule__XAdditiveExpression__Group_1_0__0 ) )
+            // InternalReportDSL.g:25224:1: ( ( ( rule__XAdditiveExpression__Group_1_0__0 ) ) )
+            // InternalReportDSL.g:25225:1: ( ( rule__XAdditiveExpression__Group_1_0__0 ) )
             {
-            // InternalReportDSL.g:25515:1: ( ( rule__XAdditiveExpression__Group_1_0__0 ) )
-            // InternalReportDSL.g:25516:2: ( rule__XAdditiveExpression__Group_1_0__0 )
+            // InternalReportDSL.g:25225:1: ( ( rule__XAdditiveExpression__Group_1_0__0 ) )
+            // InternalReportDSL.g:25226:2: ( rule__XAdditiveExpression__Group_1_0__0 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXAdditiveExpressionAccess().getGroup_1_0()); 
             }
-            // InternalReportDSL.g:25517:2: ( rule__XAdditiveExpression__Group_1_0__0 )
-            // InternalReportDSL.g:25517:3: rule__XAdditiveExpression__Group_1_0__0
+            // InternalReportDSL.g:25227:2: ( rule__XAdditiveExpression__Group_1_0__0 )
+            // InternalReportDSL.g:25227:3: rule__XAdditiveExpression__Group_1_0__0
             {
             pushFollow(FOLLOW_2);
             rule__XAdditiveExpression__Group_1_0__0();
@@ -84416,14 +83297,14 @@
 
 
     // $ANTLR start "rule__XAdditiveExpression__Group_1__1"
-    // InternalReportDSL.g:25525:1: rule__XAdditiveExpression__Group_1__1 : rule__XAdditiveExpression__Group_1__1__Impl ;
+    // InternalReportDSL.g:25235:1: rule__XAdditiveExpression__Group_1__1 : rule__XAdditiveExpression__Group_1__1__Impl ;
     public final void rule__XAdditiveExpression__Group_1__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:25529:1: ( rule__XAdditiveExpression__Group_1__1__Impl )
-            // InternalReportDSL.g:25530:2: rule__XAdditiveExpression__Group_1__1__Impl
+            // InternalReportDSL.g:25239:1: ( rule__XAdditiveExpression__Group_1__1__Impl )
+            // InternalReportDSL.g:25240:2: rule__XAdditiveExpression__Group_1__1__Impl
             {
             pushFollow(FOLLOW_2);
             rule__XAdditiveExpression__Group_1__1__Impl();
@@ -84449,23 +83330,23 @@
 
 
     // $ANTLR start "rule__XAdditiveExpression__Group_1__1__Impl"
-    // InternalReportDSL.g:25536:1: rule__XAdditiveExpression__Group_1__1__Impl : ( ( rule__XAdditiveExpression__RightOperandAssignment_1_1 ) ) ;
+    // InternalReportDSL.g:25246:1: rule__XAdditiveExpression__Group_1__1__Impl : ( ( rule__XAdditiveExpression__RightOperandAssignment_1_1 ) ) ;
     public final void rule__XAdditiveExpression__Group_1__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:25540:1: ( ( ( rule__XAdditiveExpression__RightOperandAssignment_1_1 ) ) )
-            // InternalReportDSL.g:25541:1: ( ( rule__XAdditiveExpression__RightOperandAssignment_1_1 ) )
+            // InternalReportDSL.g:25250:1: ( ( ( rule__XAdditiveExpression__RightOperandAssignment_1_1 ) ) )
+            // InternalReportDSL.g:25251:1: ( ( rule__XAdditiveExpression__RightOperandAssignment_1_1 ) )
             {
-            // InternalReportDSL.g:25541:1: ( ( rule__XAdditiveExpression__RightOperandAssignment_1_1 ) )
-            // InternalReportDSL.g:25542:2: ( rule__XAdditiveExpression__RightOperandAssignment_1_1 )
+            // InternalReportDSL.g:25251:1: ( ( rule__XAdditiveExpression__RightOperandAssignment_1_1 ) )
+            // InternalReportDSL.g:25252:2: ( rule__XAdditiveExpression__RightOperandAssignment_1_1 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXAdditiveExpressionAccess().getRightOperandAssignment_1_1()); 
             }
-            // InternalReportDSL.g:25543:2: ( rule__XAdditiveExpression__RightOperandAssignment_1_1 )
-            // InternalReportDSL.g:25543:3: rule__XAdditiveExpression__RightOperandAssignment_1_1
+            // InternalReportDSL.g:25253:2: ( rule__XAdditiveExpression__RightOperandAssignment_1_1 )
+            // InternalReportDSL.g:25253:3: rule__XAdditiveExpression__RightOperandAssignment_1_1
             {
             pushFollow(FOLLOW_2);
             rule__XAdditiveExpression__RightOperandAssignment_1_1();
@@ -84500,14 +83381,14 @@
 
 
     // $ANTLR start "rule__XAdditiveExpression__Group_1_0__0"
-    // InternalReportDSL.g:25552:1: rule__XAdditiveExpression__Group_1_0__0 : rule__XAdditiveExpression__Group_1_0__0__Impl ;
+    // InternalReportDSL.g:25262:1: rule__XAdditiveExpression__Group_1_0__0 : rule__XAdditiveExpression__Group_1_0__0__Impl ;
     public final void rule__XAdditiveExpression__Group_1_0__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:25556:1: ( rule__XAdditiveExpression__Group_1_0__0__Impl )
-            // InternalReportDSL.g:25557:2: rule__XAdditiveExpression__Group_1_0__0__Impl
+            // InternalReportDSL.g:25266:1: ( rule__XAdditiveExpression__Group_1_0__0__Impl )
+            // InternalReportDSL.g:25267:2: rule__XAdditiveExpression__Group_1_0__0__Impl
             {
             pushFollow(FOLLOW_2);
             rule__XAdditiveExpression__Group_1_0__0__Impl();
@@ -84533,23 +83414,23 @@
 
 
     // $ANTLR start "rule__XAdditiveExpression__Group_1_0__0__Impl"
-    // InternalReportDSL.g:25563:1: rule__XAdditiveExpression__Group_1_0__0__Impl : ( ( rule__XAdditiveExpression__Group_1_0_0__0 ) ) ;
+    // InternalReportDSL.g:25273:1: rule__XAdditiveExpression__Group_1_0__0__Impl : ( ( rule__XAdditiveExpression__Group_1_0_0__0 ) ) ;
     public final void rule__XAdditiveExpression__Group_1_0__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:25567:1: ( ( ( rule__XAdditiveExpression__Group_1_0_0__0 ) ) )
-            // InternalReportDSL.g:25568:1: ( ( rule__XAdditiveExpression__Group_1_0_0__0 ) )
+            // InternalReportDSL.g:25277:1: ( ( ( rule__XAdditiveExpression__Group_1_0_0__0 ) ) )
+            // InternalReportDSL.g:25278:1: ( ( rule__XAdditiveExpression__Group_1_0_0__0 ) )
             {
-            // InternalReportDSL.g:25568:1: ( ( rule__XAdditiveExpression__Group_1_0_0__0 ) )
-            // InternalReportDSL.g:25569:2: ( rule__XAdditiveExpression__Group_1_0_0__0 )
+            // InternalReportDSL.g:25278:1: ( ( rule__XAdditiveExpression__Group_1_0_0__0 ) )
+            // InternalReportDSL.g:25279:2: ( rule__XAdditiveExpression__Group_1_0_0__0 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXAdditiveExpressionAccess().getGroup_1_0_0()); 
             }
-            // InternalReportDSL.g:25570:2: ( rule__XAdditiveExpression__Group_1_0_0__0 )
-            // InternalReportDSL.g:25570:3: rule__XAdditiveExpression__Group_1_0_0__0
+            // InternalReportDSL.g:25280:2: ( rule__XAdditiveExpression__Group_1_0_0__0 )
+            // InternalReportDSL.g:25280:3: rule__XAdditiveExpression__Group_1_0_0__0
             {
             pushFollow(FOLLOW_2);
             rule__XAdditiveExpression__Group_1_0_0__0();
@@ -84584,16 +83465,16 @@
 
 
     // $ANTLR start "rule__XAdditiveExpression__Group_1_0_0__0"
-    // InternalReportDSL.g:25579:1: rule__XAdditiveExpression__Group_1_0_0__0 : rule__XAdditiveExpression__Group_1_0_0__0__Impl rule__XAdditiveExpression__Group_1_0_0__1 ;
+    // InternalReportDSL.g:25289:1: rule__XAdditiveExpression__Group_1_0_0__0 : rule__XAdditiveExpression__Group_1_0_0__0__Impl rule__XAdditiveExpression__Group_1_0_0__1 ;
     public final void rule__XAdditiveExpression__Group_1_0_0__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:25583:1: ( rule__XAdditiveExpression__Group_1_0_0__0__Impl rule__XAdditiveExpression__Group_1_0_0__1 )
-            // InternalReportDSL.g:25584:2: rule__XAdditiveExpression__Group_1_0_0__0__Impl rule__XAdditiveExpression__Group_1_0_0__1
+            // InternalReportDSL.g:25293:1: ( rule__XAdditiveExpression__Group_1_0_0__0__Impl rule__XAdditiveExpression__Group_1_0_0__1 )
+            // InternalReportDSL.g:25294:2: rule__XAdditiveExpression__Group_1_0_0__0__Impl rule__XAdditiveExpression__Group_1_0_0__1
             {
-            pushFollow(FOLLOW_163);
+            pushFollow(FOLLOW_162);
             rule__XAdditiveExpression__Group_1_0_0__0__Impl();
 
             state._fsp--;
@@ -84622,23 +83503,23 @@
 
 
     // $ANTLR start "rule__XAdditiveExpression__Group_1_0_0__0__Impl"
-    // InternalReportDSL.g:25591:1: rule__XAdditiveExpression__Group_1_0_0__0__Impl : ( () ) ;
+    // InternalReportDSL.g:25301:1: rule__XAdditiveExpression__Group_1_0_0__0__Impl : ( () ) ;
     public final void rule__XAdditiveExpression__Group_1_0_0__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:25595:1: ( ( () ) )
-            // InternalReportDSL.g:25596:1: ( () )
+            // InternalReportDSL.g:25305:1: ( ( () ) )
+            // InternalReportDSL.g:25306:1: ( () )
             {
-            // InternalReportDSL.g:25596:1: ( () )
-            // InternalReportDSL.g:25597:2: ()
+            // InternalReportDSL.g:25306:1: ( () )
+            // InternalReportDSL.g:25307:2: ()
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXAdditiveExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0()); 
             }
-            // InternalReportDSL.g:25598:2: ()
-            // InternalReportDSL.g:25598:3: 
+            // InternalReportDSL.g:25308:2: ()
+            // InternalReportDSL.g:25308:3: 
             {
             }
 
@@ -84663,14 +83544,14 @@
 
 
     // $ANTLR start "rule__XAdditiveExpression__Group_1_0_0__1"
-    // InternalReportDSL.g:25606:1: rule__XAdditiveExpression__Group_1_0_0__1 : rule__XAdditiveExpression__Group_1_0_0__1__Impl ;
+    // InternalReportDSL.g:25316:1: rule__XAdditiveExpression__Group_1_0_0__1 : rule__XAdditiveExpression__Group_1_0_0__1__Impl ;
     public final void rule__XAdditiveExpression__Group_1_0_0__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:25610:1: ( rule__XAdditiveExpression__Group_1_0_0__1__Impl )
-            // InternalReportDSL.g:25611:2: rule__XAdditiveExpression__Group_1_0_0__1__Impl
+            // InternalReportDSL.g:25320:1: ( rule__XAdditiveExpression__Group_1_0_0__1__Impl )
+            // InternalReportDSL.g:25321:2: rule__XAdditiveExpression__Group_1_0_0__1__Impl
             {
             pushFollow(FOLLOW_2);
             rule__XAdditiveExpression__Group_1_0_0__1__Impl();
@@ -84696,23 +83577,23 @@
 
 
     // $ANTLR start "rule__XAdditiveExpression__Group_1_0_0__1__Impl"
-    // InternalReportDSL.g:25617:1: rule__XAdditiveExpression__Group_1_0_0__1__Impl : ( ( rule__XAdditiveExpression__FeatureAssignment_1_0_0_1 ) ) ;
+    // InternalReportDSL.g:25327:1: rule__XAdditiveExpression__Group_1_0_0__1__Impl : ( ( rule__XAdditiveExpression__FeatureAssignment_1_0_0_1 ) ) ;
     public final void rule__XAdditiveExpression__Group_1_0_0__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:25621:1: ( ( ( rule__XAdditiveExpression__FeatureAssignment_1_0_0_1 ) ) )
-            // InternalReportDSL.g:25622:1: ( ( rule__XAdditiveExpression__FeatureAssignment_1_0_0_1 ) )
+            // InternalReportDSL.g:25331:1: ( ( ( rule__XAdditiveExpression__FeatureAssignment_1_0_0_1 ) ) )
+            // InternalReportDSL.g:25332:1: ( ( rule__XAdditiveExpression__FeatureAssignment_1_0_0_1 ) )
             {
-            // InternalReportDSL.g:25622:1: ( ( rule__XAdditiveExpression__FeatureAssignment_1_0_0_1 ) )
-            // InternalReportDSL.g:25623:2: ( rule__XAdditiveExpression__FeatureAssignment_1_0_0_1 )
+            // InternalReportDSL.g:25332:1: ( ( rule__XAdditiveExpression__FeatureAssignment_1_0_0_1 ) )
+            // InternalReportDSL.g:25333:2: ( rule__XAdditiveExpression__FeatureAssignment_1_0_0_1 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXAdditiveExpressionAccess().getFeatureAssignment_1_0_0_1()); 
             }
-            // InternalReportDSL.g:25624:2: ( rule__XAdditiveExpression__FeatureAssignment_1_0_0_1 )
-            // InternalReportDSL.g:25624:3: rule__XAdditiveExpression__FeatureAssignment_1_0_0_1
+            // InternalReportDSL.g:25334:2: ( rule__XAdditiveExpression__FeatureAssignment_1_0_0_1 )
+            // InternalReportDSL.g:25334:3: rule__XAdditiveExpression__FeatureAssignment_1_0_0_1
             {
             pushFollow(FOLLOW_2);
             rule__XAdditiveExpression__FeatureAssignment_1_0_0_1();
@@ -84747,16 +83628,16 @@
 
 
     // $ANTLR start "rule__XMultiplicativeExpression__Group__0"
-    // InternalReportDSL.g:25633:1: rule__XMultiplicativeExpression__Group__0 : rule__XMultiplicativeExpression__Group__0__Impl rule__XMultiplicativeExpression__Group__1 ;
+    // InternalReportDSL.g:25343:1: rule__XMultiplicativeExpression__Group__0 : rule__XMultiplicativeExpression__Group__0__Impl rule__XMultiplicativeExpression__Group__1 ;
     public final void rule__XMultiplicativeExpression__Group__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:25637:1: ( rule__XMultiplicativeExpression__Group__0__Impl rule__XMultiplicativeExpression__Group__1 )
-            // InternalReportDSL.g:25638:2: rule__XMultiplicativeExpression__Group__0__Impl rule__XMultiplicativeExpression__Group__1
+            // InternalReportDSL.g:25347:1: ( rule__XMultiplicativeExpression__Group__0__Impl rule__XMultiplicativeExpression__Group__1 )
+            // InternalReportDSL.g:25348:2: rule__XMultiplicativeExpression__Group__0__Impl rule__XMultiplicativeExpression__Group__1
             {
-            pushFollow(FOLLOW_165);
+            pushFollow(FOLLOW_164);
             rule__XMultiplicativeExpression__Group__0__Impl();
 
             state._fsp--;
@@ -84785,17 +83666,17 @@
 
 
     // $ANTLR start "rule__XMultiplicativeExpression__Group__0__Impl"
-    // InternalReportDSL.g:25645:1: rule__XMultiplicativeExpression__Group__0__Impl : ( ruleXUnaryOperation ) ;
+    // InternalReportDSL.g:25355:1: rule__XMultiplicativeExpression__Group__0__Impl : ( ruleXUnaryOperation ) ;
     public final void rule__XMultiplicativeExpression__Group__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:25649:1: ( ( ruleXUnaryOperation ) )
-            // InternalReportDSL.g:25650:1: ( ruleXUnaryOperation )
+            // InternalReportDSL.g:25359:1: ( ( ruleXUnaryOperation ) )
+            // InternalReportDSL.g:25360:1: ( ruleXUnaryOperation )
             {
-            // InternalReportDSL.g:25650:1: ( ruleXUnaryOperation )
-            // InternalReportDSL.g:25651:2: ruleXUnaryOperation
+            // InternalReportDSL.g:25360:1: ( ruleXUnaryOperation )
+            // InternalReportDSL.g:25361:2: ruleXUnaryOperation
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXMultiplicativeExpressionAccess().getXUnaryOperationParserRuleCall_0()); 
@@ -84830,14 +83711,14 @@
 
 
     // $ANTLR start "rule__XMultiplicativeExpression__Group__1"
-    // InternalReportDSL.g:25660:1: rule__XMultiplicativeExpression__Group__1 : rule__XMultiplicativeExpression__Group__1__Impl ;
+    // InternalReportDSL.g:25370:1: rule__XMultiplicativeExpression__Group__1 : rule__XMultiplicativeExpression__Group__1__Impl ;
     public final void rule__XMultiplicativeExpression__Group__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:25664:1: ( rule__XMultiplicativeExpression__Group__1__Impl )
-            // InternalReportDSL.g:25665:2: rule__XMultiplicativeExpression__Group__1__Impl
+            // InternalReportDSL.g:25374:1: ( rule__XMultiplicativeExpression__Group__1__Impl )
+            // InternalReportDSL.g:25375:2: rule__XMultiplicativeExpression__Group__1__Impl
             {
             pushFollow(FOLLOW_2);
             rule__XMultiplicativeExpression__Group__1__Impl();
@@ -84863,32 +83744,32 @@
 
 
     // $ANTLR start "rule__XMultiplicativeExpression__Group__1__Impl"
-    // InternalReportDSL.g:25671:1: rule__XMultiplicativeExpression__Group__1__Impl : ( ( rule__XMultiplicativeExpression__Group_1__0 )* ) ;
+    // InternalReportDSL.g:25381:1: rule__XMultiplicativeExpression__Group__1__Impl : ( ( rule__XMultiplicativeExpression__Group_1__0 )* ) ;
     public final void rule__XMultiplicativeExpression__Group__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:25675:1: ( ( ( rule__XMultiplicativeExpression__Group_1__0 )* ) )
-            // InternalReportDSL.g:25676:1: ( ( rule__XMultiplicativeExpression__Group_1__0 )* )
+            // InternalReportDSL.g:25385:1: ( ( ( rule__XMultiplicativeExpression__Group_1__0 )* ) )
+            // InternalReportDSL.g:25386:1: ( ( rule__XMultiplicativeExpression__Group_1__0 )* )
             {
-            // InternalReportDSL.g:25676:1: ( ( rule__XMultiplicativeExpression__Group_1__0 )* )
-            // InternalReportDSL.g:25677:2: ( rule__XMultiplicativeExpression__Group_1__0 )*
+            // InternalReportDSL.g:25386:1: ( ( rule__XMultiplicativeExpression__Group_1__0 )* )
+            // InternalReportDSL.g:25387:2: ( rule__XMultiplicativeExpression__Group_1__0 )*
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXMultiplicativeExpressionAccess().getGroup_1()); 
             }
-            // InternalReportDSL.g:25678:2: ( rule__XMultiplicativeExpression__Group_1__0 )*
-            loop188:
+            // InternalReportDSL.g:25388:2: ( rule__XMultiplicativeExpression__Group_1__0 )*
+            loop170:
             do {
-                int alt188=2;
+                int alt170=2;
                 switch ( input.LA(1) ) {
                 case 40:
                     {
-                    int LA188_2 = input.LA(2);
+                    int LA170_2 = input.LA(2);
 
-                    if ( (synpred293_InternalReportDSL()) ) {
-                        alt188=1;
+                    if ( (synpred279_InternalReportDSL()) ) {
+                        alt170=1;
                     }
 
 
@@ -84896,10 +83777,10 @@
                     break;
                 case 41:
                     {
-                    int LA188_3 = input.LA(2);
+                    int LA170_3 = input.LA(2);
 
-                    if ( (synpred293_InternalReportDSL()) ) {
-                        alt188=1;
+                    if ( (synpred279_InternalReportDSL()) ) {
+                        alt170=1;
                     }
 
 
@@ -84907,10 +83788,10 @@
                     break;
                 case 42:
                     {
-                    int LA188_4 = input.LA(2);
+                    int LA170_4 = input.LA(2);
 
-                    if ( (synpred293_InternalReportDSL()) ) {
-                        alt188=1;
+                    if ( (synpred279_InternalReportDSL()) ) {
+                        alt170=1;
                     }
 
 
@@ -84918,10 +83799,10 @@
                     break;
                 case 43:
                     {
-                    int LA188_5 = input.LA(2);
+                    int LA170_5 = input.LA(2);
 
-                    if ( (synpred293_InternalReportDSL()) ) {
-                        alt188=1;
+                    if ( (synpred279_InternalReportDSL()) ) {
+                        alt170=1;
                     }
 
 
@@ -84930,11 +83811,11 @@
 
                 }
 
-                switch (alt188) {
+                switch (alt170) {
             	case 1 :
-            	    // InternalReportDSL.g:25678:3: rule__XMultiplicativeExpression__Group_1__0
+            	    // InternalReportDSL.g:25388:3: rule__XMultiplicativeExpression__Group_1__0
             	    {
-            	    pushFollow(FOLLOW_166);
+            	    pushFollow(FOLLOW_165);
             	    rule__XMultiplicativeExpression__Group_1__0();
 
             	    state._fsp--;
@@ -84944,7 +83825,7 @@
             	    break;
 
             	default :
-            	    break loop188;
+            	    break loop170;
                 }
             } while (true);
 
@@ -84973,16 +83854,16 @@
 
 
     // $ANTLR start "rule__XMultiplicativeExpression__Group_1__0"
-    // InternalReportDSL.g:25687:1: rule__XMultiplicativeExpression__Group_1__0 : rule__XMultiplicativeExpression__Group_1__0__Impl rule__XMultiplicativeExpression__Group_1__1 ;
+    // InternalReportDSL.g:25397:1: rule__XMultiplicativeExpression__Group_1__0 : rule__XMultiplicativeExpression__Group_1__0__Impl rule__XMultiplicativeExpression__Group_1__1 ;
     public final void rule__XMultiplicativeExpression__Group_1__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:25691:1: ( rule__XMultiplicativeExpression__Group_1__0__Impl rule__XMultiplicativeExpression__Group_1__1 )
-            // InternalReportDSL.g:25692:2: rule__XMultiplicativeExpression__Group_1__0__Impl rule__XMultiplicativeExpression__Group_1__1
+            // InternalReportDSL.g:25401:1: ( rule__XMultiplicativeExpression__Group_1__0__Impl rule__XMultiplicativeExpression__Group_1__1 )
+            // InternalReportDSL.g:25402:2: rule__XMultiplicativeExpression__Group_1__0__Impl rule__XMultiplicativeExpression__Group_1__1
             {
-            pushFollow(FOLLOW_139);
+            pushFollow(FOLLOW_138);
             rule__XMultiplicativeExpression__Group_1__0__Impl();
 
             state._fsp--;
@@ -85011,23 +83892,23 @@
 
 
     // $ANTLR start "rule__XMultiplicativeExpression__Group_1__0__Impl"
-    // InternalReportDSL.g:25699:1: rule__XMultiplicativeExpression__Group_1__0__Impl : ( ( rule__XMultiplicativeExpression__Group_1_0__0 ) ) ;
+    // InternalReportDSL.g:25409:1: rule__XMultiplicativeExpression__Group_1__0__Impl : ( ( rule__XMultiplicativeExpression__Group_1_0__0 ) ) ;
     public final void rule__XMultiplicativeExpression__Group_1__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:25703:1: ( ( ( rule__XMultiplicativeExpression__Group_1_0__0 ) ) )
-            // InternalReportDSL.g:25704:1: ( ( rule__XMultiplicativeExpression__Group_1_0__0 ) )
+            // InternalReportDSL.g:25413:1: ( ( ( rule__XMultiplicativeExpression__Group_1_0__0 ) ) )
+            // InternalReportDSL.g:25414:1: ( ( rule__XMultiplicativeExpression__Group_1_0__0 ) )
             {
-            // InternalReportDSL.g:25704:1: ( ( rule__XMultiplicativeExpression__Group_1_0__0 ) )
-            // InternalReportDSL.g:25705:2: ( rule__XMultiplicativeExpression__Group_1_0__0 )
+            // InternalReportDSL.g:25414:1: ( ( rule__XMultiplicativeExpression__Group_1_0__0 ) )
+            // InternalReportDSL.g:25415:2: ( rule__XMultiplicativeExpression__Group_1_0__0 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXMultiplicativeExpressionAccess().getGroup_1_0()); 
             }
-            // InternalReportDSL.g:25706:2: ( rule__XMultiplicativeExpression__Group_1_0__0 )
-            // InternalReportDSL.g:25706:3: rule__XMultiplicativeExpression__Group_1_0__0
+            // InternalReportDSL.g:25416:2: ( rule__XMultiplicativeExpression__Group_1_0__0 )
+            // InternalReportDSL.g:25416:3: rule__XMultiplicativeExpression__Group_1_0__0
             {
             pushFollow(FOLLOW_2);
             rule__XMultiplicativeExpression__Group_1_0__0();
@@ -85062,14 +83943,14 @@
 
 
     // $ANTLR start "rule__XMultiplicativeExpression__Group_1__1"
-    // InternalReportDSL.g:25714:1: rule__XMultiplicativeExpression__Group_1__1 : rule__XMultiplicativeExpression__Group_1__1__Impl ;
+    // InternalReportDSL.g:25424:1: rule__XMultiplicativeExpression__Group_1__1 : rule__XMultiplicativeExpression__Group_1__1__Impl ;
     public final void rule__XMultiplicativeExpression__Group_1__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:25718:1: ( rule__XMultiplicativeExpression__Group_1__1__Impl )
-            // InternalReportDSL.g:25719:2: rule__XMultiplicativeExpression__Group_1__1__Impl
+            // InternalReportDSL.g:25428:1: ( rule__XMultiplicativeExpression__Group_1__1__Impl )
+            // InternalReportDSL.g:25429:2: rule__XMultiplicativeExpression__Group_1__1__Impl
             {
             pushFollow(FOLLOW_2);
             rule__XMultiplicativeExpression__Group_1__1__Impl();
@@ -85095,23 +83976,23 @@
 
 
     // $ANTLR start "rule__XMultiplicativeExpression__Group_1__1__Impl"
-    // InternalReportDSL.g:25725:1: rule__XMultiplicativeExpression__Group_1__1__Impl : ( ( rule__XMultiplicativeExpression__RightOperandAssignment_1_1 ) ) ;
+    // InternalReportDSL.g:25435:1: rule__XMultiplicativeExpression__Group_1__1__Impl : ( ( rule__XMultiplicativeExpression__RightOperandAssignment_1_1 ) ) ;
     public final void rule__XMultiplicativeExpression__Group_1__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:25729:1: ( ( ( rule__XMultiplicativeExpression__RightOperandAssignment_1_1 ) ) )
-            // InternalReportDSL.g:25730:1: ( ( rule__XMultiplicativeExpression__RightOperandAssignment_1_1 ) )
+            // InternalReportDSL.g:25439:1: ( ( ( rule__XMultiplicativeExpression__RightOperandAssignment_1_1 ) ) )
+            // InternalReportDSL.g:25440:1: ( ( rule__XMultiplicativeExpression__RightOperandAssignment_1_1 ) )
             {
-            // InternalReportDSL.g:25730:1: ( ( rule__XMultiplicativeExpression__RightOperandAssignment_1_1 ) )
-            // InternalReportDSL.g:25731:2: ( rule__XMultiplicativeExpression__RightOperandAssignment_1_1 )
+            // InternalReportDSL.g:25440:1: ( ( rule__XMultiplicativeExpression__RightOperandAssignment_1_1 ) )
+            // InternalReportDSL.g:25441:2: ( rule__XMultiplicativeExpression__RightOperandAssignment_1_1 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXMultiplicativeExpressionAccess().getRightOperandAssignment_1_1()); 
             }
-            // InternalReportDSL.g:25732:2: ( rule__XMultiplicativeExpression__RightOperandAssignment_1_1 )
-            // InternalReportDSL.g:25732:3: rule__XMultiplicativeExpression__RightOperandAssignment_1_1
+            // InternalReportDSL.g:25442:2: ( rule__XMultiplicativeExpression__RightOperandAssignment_1_1 )
+            // InternalReportDSL.g:25442:3: rule__XMultiplicativeExpression__RightOperandAssignment_1_1
             {
             pushFollow(FOLLOW_2);
             rule__XMultiplicativeExpression__RightOperandAssignment_1_1();
@@ -85146,14 +84027,14 @@
 
 
     // $ANTLR start "rule__XMultiplicativeExpression__Group_1_0__0"
-    // InternalReportDSL.g:25741:1: rule__XMultiplicativeExpression__Group_1_0__0 : rule__XMultiplicativeExpression__Group_1_0__0__Impl ;
+    // InternalReportDSL.g:25451:1: rule__XMultiplicativeExpression__Group_1_0__0 : rule__XMultiplicativeExpression__Group_1_0__0__Impl ;
     public final void rule__XMultiplicativeExpression__Group_1_0__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:25745:1: ( rule__XMultiplicativeExpression__Group_1_0__0__Impl )
-            // InternalReportDSL.g:25746:2: rule__XMultiplicativeExpression__Group_1_0__0__Impl
+            // InternalReportDSL.g:25455:1: ( rule__XMultiplicativeExpression__Group_1_0__0__Impl )
+            // InternalReportDSL.g:25456:2: rule__XMultiplicativeExpression__Group_1_0__0__Impl
             {
             pushFollow(FOLLOW_2);
             rule__XMultiplicativeExpression__Group_1_0__0__Impl();
@@ -85179,23 +84060,23 @@
 
 
     // $ANTLR start "rule__XMultiplicativeExpression__Group_1_0__0__Impl"
-    // InternalReportDSL.g:25752:1: rule__XMultiplicativeExpression__Group_1_0__0__Impl : ( ( rule__XMultiplicativeExpression__Group_1_0_0__0 ) ) ;
+    // InternalReportDSL.g:25462:1: rule__XMultiplicativeExpression__Group_1_0__0__Impl : ( ( rule__XMultiplicativeExpression__Group_1_0_0__0 ) ) ;
     public final void rule__XMultiplicativeExpression__Group_1_0__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:25756:1: ( ( ( rule__XMultiplicativeExpression__Group_1_0_0__0 ) ) )
-            // InternalReportDSL.g:25757:1: ( ( rule__XMultiplicativeExpression__Group_1_0_0__0 ) )
+            // InternalReportDSL.g:25466:1: ( ( ( rule__XMultiplicativeExpression__Group_1_0_0__0 ) ) )
+            // InternalReportDSL.g:25467:1: ( ( rule__XMultiplicativeExpression__Group_1_0_0__0 ) )
             {
-            // InternalReportDSL.g:25757:1: ( ( rule__XMultiplicativeExpression__Group_1_0_0__0 ) )
-            // InternalReportDSL.g:25758:2: ( rule__XMultiplicativeExpression__Group_1_0_0__0 )
+            // InternalReportDSL.g:25467:1: ( ( rule__XMultiplicativeExpression__Group_1_0_0__0 ) )
+            // InternalReportDSL.g:25468:2: ( rule__XMultiplicativeExpression__Group_1_0_0__0 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXMultiplicativeExpressionAccess().getGroup_1_0_0()); 
             }
-            // InternalReportDSL.g:25759:2: ( rule__XMultiplicativeExpression__Group_1_0_0__0 )
-            // InternalReportDSL.g:25759:3: rule__XMultiplicativeExpression__Group_1_0_0__0
+            // InternalReportDSL.g:25469:2: ( rule__XMultiplicativeExpression__Group_1_0_0__0 )
+            // InternalReportDSL.g:25469:3: rule__XMultiplicativeExpression__Group_1_0_0__0
             {
             pushFollow(FOLLOW_2);
             rule__XMultiplicativeExpression__Group_1_0_0__0();
@@ -85230,16 +84111,16 @@
 
 
     // $ANTLR start "rule__XMultiplicativeExpression__Group_1_0_0__0"
-    // InternalReportDSL.g:25768:1: rule__XMultiplicativeExpression__Group_1_0_0__0 : rule__XMultiplicativeExpression__Group_1_0_0__0__Impl rule__XMultiplicativeExpression__Group_1_0_0__1 ;
+    // InternalReportDSL.g:25478:1: rule__XMultiplicativeExpression__Group_1_0_0__0 : rule__XMultiplicativeExpression__Group_1_0_0__0__Impl rule__XMultiplicativeExpression__Group_1_0_0__1 ;
     public final void rule__XMultiplicativeExpression__Group_1_0_0__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:25772:1: ( rule__XMultiplicativeExpression__Group_1_0_0__0__Impl rule__XMultiplicativeExpression__Group_1_0_0__1 )
-            // InternalReportDSL.g:25773:2: rule__XMultiplicativeExpression__Group_1_0_0__0__Impl rule__XMultiplicativeExpression__Group_1_0_0__1
+            // InternalReportDSL.g:25482:1: ( rule__XMultiplicativeExpression__Group_1_0_0__0__Impl rule__XMultiplicativeExpression__Group_1_0_0__1 )
+            // InternalReportDSL.g:25483:2: rule__XMultiplicativeExpression__Group_1_0_0__0__Impl rule__XMultiplicativeExpression__Group_1_0_0__1
             {
-            pushFollow(FOLLOW_165);
+            pushFollow(FOLLOW_164);
             rule__XMultiplicativeExpression__Group_1_0_0__0__Impl();
 
             state._fsp--;
@@ -85268,23 +84149,23 @@
 
 
     // $ANTLR start "rule__XMultiplicativeExpression__Group_1_0_0__0__Impl"
-    // InternalReportDSL.g:25780:1: rule__XMultiplicativeExpression__Group_1_0_0__0__Impl : ( () ) ;
+    // InternalReportDSL.g:25490:1: rule__XMultiplicativeExpression__Group_1_0_0__0__Impl : ( () ) ;
     public final void rule__XMultiplicativeExpression__Group_1_0_0__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:25784:1: ( ( () ) )
-            // InternalReportDSL.g:25785:1: ( () )
+            // InternalReportDSL.g:25494:1: ( ( () ) )
+            // InternalReportDSL.g:25495:1: ( () )
             {
-            // InternalReportDSL.g:25785:1: ( () )
-            // InternalReportDSL.g:25786:2: ()
+            // InternalReportDSL.g:25495:1: ( () )
+            // InternalReportDSL.g:25496:2: ()
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXMultiplicativeExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0()); 
             }
-            // InternalReportDSL.g:25787:2: ()
-            // InternalReportDSL.g:25787:3: 
+            // InternalReportDSL.g:25497:2: ()
+            // InternalReportDSL.g:25497:3: 
             {
             }
 
@@ -85309,14 +84190,14 @@
 
 
     // $ANTLR start "rule__XMultiplicativeExpression__Group_1_0_0__1"
-    // InternalReportDSL.g:25795:1: rule__XMultiplicativeExpression__Group_1_0_0__1 : rule__XMultiplicativeExpression__Group_1_0_0__1__Impl ;
+    // InternalReportDSL.g:25505:1: rule__XMultiplicativeExpression__Group_1_0_0__1 : rule__XMultiplicativeExpression__Group_1_0_0__1__Impl ;
     public final void rule__XMultiplicativeExpression__Group_1_0_0__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:25799:1: ( rule__XMultiplicativeExpression__Group_1_0_0__1__Impl )
-            // InternalReportDSL.g:25800:2: rule__XMultiplicativeExpression__Group_1_0_0__1__Impl
+            // InternalReportDSL.g:25509:1: ( rule__XMultiplicativeExpression__Group_1_0_0__1__Impl )
+            // InternalReportDSL.g:25510:2: rule__XMultiplicativeExpression__Group_1_0_0__1__Impl
             {
             pushFollow(FOLLOW_2);
             rule__XMultiplicativeExpression__Group_1_0_0__1__Impl();
@@ -85342,23 +84223,23 @@
 
 
     // $ANTLR start "rule__XMultiplicativeExpression__Group_1_0_0__1__Impl"
-    // InternalReportDSL.g:25806:1: rule__XMultiplicativeExpression__Group_1_0_0__1__Impl : ( ( rule__XMultiplicativeExpression__FeatureAssignment_1_0_0_1 ) ) ;
+    // InternalReportDSL.g:25516:1: rule__XMultiplicativeExpression__Group_1_0_0__1__Impl : ( ( rule__XMultiplicativeExpression__FeatureAssignment_1_0_0_1 ) ) ;
     public final void rule__XMultiplicativeExpression__Group_1_0_0__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:25810:1: ( ( ( rule__XMultiplicativeExpression__FeatureAssignment_1_0_0_1 ) ) )
-            // InternalReportDSL.g:25811:1: ( ( rule__XMultiplicativeExpression__FeatureAssignment_1_0_0_1 ) )
+            // InternalReportDSL.g:25520:1: ( ( ( rule__XMultiplicativeExpression__FeatureAssignment_1_0_0_1 ) ) )
+            // InternalReportDSL.g:25521:1: ( ( rule__XMultiplicativeExpression__FeatureAssignment_1_0_0_1 ) )
             {
-            // InternalReportDSL.g:25811:1: ( ( rule__XMultiplicativeExpression__FeatureAssignment_1_0_0_1 ) )
-            // InternalReportDSL.g:25812:2: ( rule__XMultiplicativeExpression__FeatureAssignment_1_0_0_1 )
+            // InternalReportDSL.g:25521:1: ( ( rule__XMultiplicativeExpression__FeatureAssignment_1_0_0_1 ) )
+            // InternalReportDSL.g:25522:2: ( rule__XMultiplicativeExpression__FeatureAssignment_1_0_0_1 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXMultiplicativeExpressionAccess().getFeatureAssignment_1_0_0_1()); 
             }
-            // InternalReportDSL.g:25813:2: ( rule__XMultiplicativeExpression__FeatureAssignment_1_0_0_1 )
-            // InternalReportDSL.g:25813:3: rule__XMultiplicativeExpression__FeatureAssignment_1_0_0_1
+            // InternalReportDSL.g:25523:2: ( rule__XMultiplicativeExpression__FeatureAssignment_1_0_0_1 )
+            // InternalReportDSL.g:25523:3: rule__XMultiplicativeExpression__FeatureAssignment_1_0_0_1
             {
             pushFollow(FOLLOW_2);
             rule__XMultiplicativeExpression__FeatureAssignment_1_0_0_1();
@@ -85393,16 +84274,16 @@
 
 
     // $ANTLR start "rule__XUnaryOperation__Group_0__0"
-    // InternalReportDSL.g:25822:1: rule__XUnaryOperation__Group_0__0 : rule__XUnaryOperation__Group_0__0__Impl rule__XUnaryOperation__Group_0__1 ;
+    // InternalReportDSL.g:25532:1: rule__XUnaryOperation__Group_0__0 : rule__XUnaryOperation__Group_0__0__Impl rule__XUnaryOperation__Group_0__1 ;
     public final void rule__XUnaryOperation__Group_0__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:25826:1: ( rule__XUnaryOperation__Group_0__0__Impl rule__XUnaryOperation__Group_0__1 )
-            // InternalReportDSL.g:25827:2: rule__XUnaryOperation__Group_0__0__Impl rule__XUnaryOperation__Group_0__1
+            // InternalReportDSL.g:25536:1: ( rule__XUnaryOperation__Group_0__0__Impl rule__XUnaryOperation__Group_0__1 )
+            // InternalReportDSL.g:25537:2: rule__XUnaryOperation__Group_0__0__Impl rule__XUnaryOperation__Group_0__1
             {
-            pushFollow(FOLLOW_167);
+            pushFollow(FOLLOW_166);
             rule__XUnaryOperation__Group_0__0__Impl();
 
             state._fsp--;
@@ -85431,23 +84312,23 @@
 
 
     // $ANTLR start "rule__XUnaryOperation__Group_0__0__Impl"
-    // InternalReportDSL.g:25834:1: rule__XUnaryOperation__Group_0__0__Impl : ( () ) ;
+    // InternalReportDSL.g:25544:1: rule__XUnaryOperation__Group_0__0__Impl : ( () ) ;
     public final void rule__XUnaryOperation__Group_0__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:25838:1: ( ( () ) )
-            // InternalReportDSL.g:25839:1: ( () )
+            // InternalReportDSL.g:25548:1: ( ( () ) )
+            // InternalReportDSL.g:25549:1: ( () )
             {
-            // InternalReportDSL.g:25839:1: ( () )
-            // InternalReportDSL.g:25840:2: ()
+            // InternalReportDSL.g:25549:1: ( () )
+            // InternalReportDSL.g:25550:2: ()
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXUnaryOperationAccess().getXUnaryOperationAction_0_0()); 
             }
-            // InternalReportDSL.g:25841:2: ()
-            // InternalReportDSL.g:25841:3: 
+            // InternalReportDSL.g:25551:2: ()
+            // InternalReportDSL.g:25551:3: 
             {
             }
 
@@ -85472,16 +84353,16 @@
 
 
     // $ANTLR start "rule__XUnaryOperation__Group_0__1"
-    // InternalReportDSL.g:25849:1: rule__XUnaryOperation__Group_0__1 : rule__XUnaryOperation__Group_0__1__Impl rule__XUnaryOperation__Group_0__2 ;
+    // InternalReportDSL.g:25559:1: rule__XUnaryOperation__Group_0__1 : rule__XUnaryOperation__Group_0__1__Impl rule__XUnaryOperation__Group_0__2 ;
     public final void rule__XUnaryOperation__Group_0__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:25853:1: ( rule__XUnaryOperation__Group_0__1__Impl rule__XUnaryOperation__Group_0__2 )
-            // InternalReportDSL.g:25854:2: rule__XUnaryOperation__Group_0__1__Impl rule__XUnaryOperation__Group_0__2
+            // InternalReportDSL.g:25563:1: ( rule__XUnaryOperation__Group_0__1__Impl rule__XUnaryOperation__Group_0__2 )
+            // InternalReportDSL.g:25564:2: rule__XUnaryOperation__Group_0__1__Impl rule__XUnaryOperation__Group_0__2
             {
-            pushFollow(FOLLOW_139);
+            pushFollow(FOLLOW_138);
             rule__XUnaryOperation__Group_0__1__Impl();
 
             state._fsp--;
@@ -85510,23 +84391,23 @@
 
 
     // $ANTLR start "rule__XUnaryOperation__Group_0__1__Impl"
-    // InternalReportDSL.g:25861:1: rule__XUnaryOperation__Group_0__1__Impl : ( ( rule__XUnaryOperation__FeatureAssignment_0_1 ) ) ;
+    // InternalReportDSL.g:25571:1: rule__XUnaryOperation__Group_0__1__Impl : ( ( rule__XUnaryOperation__FeatureAssignment_0_1 ) ) ;
     public final void rule__XUnaryOperation__Group_0__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:25865:1: ( ( ( rule__XUnaryOperation__FeatureAssignment_0_1 ) ) )
-            // InternalReportDSL.g:25866:1: ( ( rule__XUnaryOperation__FeatureAssignment_0_1 ) )
+            // InternalReportDSL.g:25575:1: ( ( ( rule__XUnaryOperation__FeatureAssignment_0_1 ) ) )
+            // InternalReportDSL.g:25576:1: ( ( rule__XUnaryOperation__FeatureAssignment_0_1 ) )
             {
-            // InternalReportDSL.g:25866:1: ( ( rule__XUnaryOperation__FeatureAssignment_0_1 ) )
-            // InternalReportDSL.g:25867:2: ( rule__XUnaryOperation__FeatureAssignment_0_1 )
+            // InternalReportDSL.g:25576:1: ( ( rule__XUnaryOperation__FeatureAssignment_0_1 ) )
+            // InternalReportDSL.g:25577:2: ( rule__XUnaryOperation__FeatureAssignment_0_1 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXUnaryOperationAccess().getFeatureAssignment_0_1()); 
             }
-            // InternalReportDSL.g:25868:2: ( rule__XUnaryOperation__FeatureAssignment_0_1 )
-            // InternalReportDSL.g:25868:3: rule__XUnaryOperation__FeatureAssignment_0_1
+            // InternalReportDSL.g:25578:2: ( rule__XUnaryOperation__FeatureAssignment_0_1 )
+            // InternalReportDSL.g:25578:3: rule__XUnaryOperation__FeatureAssignment_0_1
             {
             pushFollow(FOLLOW_2);
             rule__XUnaryOperation__FeatureAssignment_0_1();
@@ -85561,14 +84442,14 @@
 
 
     // $ANTLR start "rule__XUnaryOperation__Group_0__2"
-    // InternalReportDSL.g:25876:1: rule__XUnaryOperation__Group_0__2 : rule__XUnaryOperation__Group_0__2__Impl ;
+    // InternalReportDSL.g:25586:1: rule__XUnaryOperation__Group_0__2 : rule__XUnaryOperation__Group_0__2__Impl ;
     public final void rule__XUnaryOperation__Group_0__2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:25880:1: ( rule__XUnaryOperation__Group_0__2__Impl )
-            // InternalReportDSL.g:25881:2: rule__XUnaryOperation__Group_0__2__Impl
+            // InternalReportDSL.g:25590:1: ( rule__XUnaryOperation__Group_0__2__Impl )
+            // InternalReportDSL.g:25591:2: rule__XUnaryOperation__Group_0__2__Impl
             {
             pushFollow(FOLLOW_2);
             rule__XUnaryOperation__Group_0__2__Impl();
@@ -85594,23 +84475,23 @@
 
 
     // $ANTLR start "rule__XUnaryOperation__Group_0__2__Impl"
-    // InternalReportDSL.g:25887:1: rule__XUnaryOperation__Group_0__2__Impl : ( ( rule__XUnaryOperation__OperandAssignment_0_2 ) ) ;
+    // InternalReportDSL.g:25597:1: rule__XUnaryOperation__Group_0__2__Impl : ( ( rule__XUnaryOperation__OperandAssignment_0_2 ) ) ;
     public final void rule__XUnaryOperation__Group_0__2__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:25891:1: ( ( ( rule__XUnaryOperation__OperandAssignment_0_2 ) ) )
-            // InternalReportDSL.g:25892:1: ( ( rule__XUnaryOperation__OperandAssignment_0_2 ) )
+            // InternalReportDSL.g:25601:1: ( ( ( rule__XUnaryOperation__OperandAssignment_0_2 ) ) )
+            // InternalReportDSL.g:25602:1: ( ( rule__XUnaryOperation__OperandAssignment_0_2 ) )
             {
-            // InternalReportDSL.g:25892:1: ( ( rule__XUnaryOperation__OperandAssignment_0_2 ) )
-            // InternalReportDSL.g:25893:2: ( rule__XUnaryOperation__OperandAssignment_0_2 )
+            // InternalReportDSL.g:25602:1: ( ( rule__XUnaryOperation__OperandAssignment_0_2 ) )
+            // InternalReportDSL.g:25603:2: ( rule__XUnaryOperation__OperandAssignment_0_2 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXUnaryOperationAccess().getOperandAssignment_0_2()); 
             }
-            // InternalReportDSL.g:25894:2: ( rule__XUnaryOperation__OperandAssignment_0_2 )
-            // InternalReportDSL.g:25894:3: rule__XUnaryOperation__OperandAssignment_0_2
+            // InternalReportDSL.g:25604:2: ( rule__XUnaryOperation__OperandAssignment_0_2 )
+            // InternalReportDSL.g:25604:3: rule__XUnaryOperation__OperandAssignment_0_2
             {
             pushFollow(FOLLOW_2);
             rule__XUnaryOperation__OperandAssignment_0_2();
@@ -85645,16 +84526,16 @@
 
 
     // $ANTLR start "rule__XCastedExpression__Group__0"
-    // InternalReportDSL.g:25903:1: rule__XCastedExpression__Group__0 : rule__XCastedExpression__Group__0__Impl rule__XCastedExpression__Group__1 ;
+    // InternalReportDSL.g:25613:1: rule__XCastedExpression__Group__0 : rule__XCastedExpression__Group__0__Impl rule__XCastedExpression__Group__1 ;
     public final void rule__XCastedExpression__Group__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:25907:1: ( rule__XCastedExpression__Group__0__Impl rule__XCastedExpression__Group__1 )
-            // InternalReportDSL.g:25908:2: rule__XCastedExpression__Group__0__Impl rule__XCastedExpression__Group__1
+            // InternalReportDSL.g:25617:1: ( rule__XCastedExpression__Group__0__Impl rule__XCastedExpression__Group__1 )
+            // InternalReportDSL.g:25618:2: rule__XCastedExpression__Group__0__Impl rule__XCastedExpression__Group__1
             {
-            pushFollow(FOLLOW_168);
+            pushFollow(FOLLOW_89);
             rule__XCastedExpression__Group__0__Impl();
 
             state._fsp--;
@@ -85683,17 +84564,17 @@
 
 
     // $ANTLR start "rule__XCastedExpression__Group__0__Impl"
-    // InternalReportDSL.g:25915:1: rule__XCastedExpression__Group__0__Impl : ( ruleXPostfixOperation ) ;
+    // InternalReportDSL.g:25625:1: rule__XCastedExpression__Group__0__Impl : ( ruleXPostfixOperation ) ;
     public final void rule__XCastedExpression__Group__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:25919:1: ( ( ruleXPostfixOperation ) )
-            // InternalReportDSL.g:25920:1: ( ruleXPostfixOperation )
+            // InternalReportDSL.g:25629:1: ( ( ruleXPostfixOperation ) )
+            // InternalReportDSL.g:25630:1: ( ruleXPostfixOperation )
             {
-            // InternalReportDSL.g:25920:1: ( ruleXPostfixOperation )
-            // InternalReportDSL.g:25921:2: ruleXPostfixOperation
+            // InternalReportDSL.g:25630:1: ( ruleXPostfixOperation )
+            // InternalReportDSL.g:25631:2: ruleXPostfixOperation
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXCastedExpressionAccess().getXPostfixOperationParserRuleCall_0()); 
@@ -85728,14 +84609,14 @@
 
 
     // $ANTLR start "rule__XCastedExpression__Group__1"
-    // InternalReportDSL.g:25930:1: rule__XCastedExpression__Group__1 : rule__XCastedExpression__Group__1__Impl ;
+    // InternalReportDSL.g:25640:1: rule__XCastedExpression__Group__1 : rule__XCastedExpression__Group__1__Impl ;
     public final void rule__XCastedExpression__Group__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:25934:1: ( rule__XCastedExpression__Group__1__Impl )
-            // InternalReportDSL.g:25935:2: rule__XCastedExpression__Group__1__Impl
+            // InternalReportDSL.g:25644:1: ( rule__XCastedExpression__Group__1__Impl )
+            // InternalReportDSL.g:25645:2: rule__XCastedExpression__Group__1__Impl
             {
             pushFollow(FOLLOW_2);
             rule__XCastedExpression__Group__1__Impl();
@@ -85761,43 +84642,43 @@
 
 
     // $ANTLR start "rule__XCastedExpression__Group__1__Impl"
-    // InternalReportDSL.g:25941:1: rule__XCastedExpression__Group__1__Impl : ( ( rule__XCastedExpression__Group_1__0 )* ) ;
+    // InternalReportDSL.g:25651:1: rule__XCastedExpression__Group__1__Impl : ( ( rule__XCastedExpression__Group_1__0 )* ) ;
     public final void rule__XCastedExpression__Group__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:25945:1: ( ( ( rule__XCastedExpression__Group_1__0 )* ) )
-            // InternalReportDSL.g:25946:1: ( ( rule__XCastedExpression__Group_1__0 )* )
+            // InternalReportDSL.g:25655:1: ( ( ( rule__XCastedExpression__Group_1__0 )* ) )
+            // InternalReportDSL.g:25656:1: ( ( rule__XCastedExpression__Group_1__0 )* )
             {
-            // InternalReportDSL.g:25946:1: ( ( rule__XCastedExpression__Group_1__0 )* )
-            // InternalReportDSL.g:25947:2: ( rule__XCastedExpression__Group_1__0 )*
+            // InternalReportDSL.g:25656:1: ( ( rule__XCastedExpression__Group_1__0 )* )
+            // InternalReportDSL.g:25657:2: ( rule__XCastedExpression__Group_1__0 )*
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXCastedExpressionAccess().getGroup_1()); 
             }
-            // InternalReportDSL.g:25948:2: ( rule__XCastedExpression__Group_1__0 )*
-            loop189:
+            // InternalReportDSL.g:25658:2: ( rule__XCastedExpression__Group_1__0 )*
+            loop171:
             do {
-                int alt189=2;
-                int LA189_0 = input.LA(1);
+                int alt171=2;
+                int LA171_0 = input.LA(1);
 
-                if ( (LA189_0==189) ) {
-                    int LA189_2 = input.LA(2);
+                if ( (LA171_0==196) ) {
+                    int LA171_2 = input.LA(2);
 
-                    if ( (synpred294_InternalReportDSL()) ) {
-                        alt189=1;
+                    if ( (synpred280_InternalReportDSL()) ) {
+                        alt171=1;
                     }
 
 
                 }
 
 
-                switch (alt189) {
+                switch (alt171) {
             	case 1 :
-            	    // InternalReportDSL.g:25948:3: rule__XCastedExpression__Group_1__0
+            	    // InternalReportDSL.g:25658:3: rule__XCastedExpression__Group_1__0
             	    {
-            	    pushFollow(FOLLOW_169);
+            	    pushFollow(FOLLOW_167);
             	    rule__XCastedExpression__Group_1__0();
 
             	    state._fsp--;
@@ -85807,7 +84688,7 @@
             	    break;
 
             	default :
-            	    break loop189;
+            	    break loop171;
                 }
             } while (true);
 
@@ -85836,16 +84717,16 @@
 
 
     // $ANTLR start "rule__XCastedExpression__Group_1__0"
-    // InternalReportDSL.g:25957:1: rule__XCastedExpression__Group_1__0 : rule__XCastedExpression__Group_1__0__Impl rule__XCastedExpression__Group_1__1 ;
+    // InternalReportDSL.g:25667:1: rule__XCastedExpression__Group_1__0 : rule__XCastedExpression__Group_1__0__Impl rule__XCastedExpression__Group_1__1 ;
     public final void rule__XCastedExpression__Group_1__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:25961:1: ( rule__XCastedExpression__Group_1__0__Impl rule__XCastedExpression__Group_1__1 )
-            // InternalReportDSL.g:25962:2: rule__XCastedExpression__Group_1__0__Impl rule__XCastedExpression__Group_1__1
+            // InternalReportDSL.g:25671:1: ( rule__XCastedExpression__Group_1__0__Impl rule__XCastedExpression__Group_1__1 )
+            // InternalReportDSL.g:25672:2: rule__XCastedExpression__Group_1__0__Impl rule__XCastedExpression__Group_1__1
             {
-            pushFollow(FOLLOW_156);
+            pushFollow(FOLLOW_155);
             rule__XCastedExpression__Group_1__0__Impl();
 
             state._fsp--;
@@ -85874,23 +84755,23 @@
 
 
     // $ANTLR start "rule__XCastedExpression__Group_1__0__Impl"
-    // InternalReportDSL.g:25969:1: rule__XCastedExpression__Group_1__0__Impl : ( ( rule__XCastedExpression__Group_1_0__0 ) ) ;
+    // InternalReportDSL.g:25679:1: rule__XCastedExpression__Group_1__0__Impl : ( ( rule__XCastedExpression__Group_1_0__0 ) ) ;
     public final void rule__XCastedExpression__Group_1__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:25973:1: ( ( ( rule__XCastedExpression__Group_1_0__0 ) ) )
-            // InternalReportDSL.g:25974:1: ( ( rule__XCastedExpression__Group_1_0__0 ) )
+            // InternalReportDSL.g:25683:1: ( ( ( rule__XCastedExpression__Group_1_0__0 ) ) )
+            // InternalReportDSL.g:25684:1: ( ( rule__XCastedExpression__Group_1_0__0 ) )
             {
-            // InternalReportDSL.g:25974:1: ( ( rule__XCastedExpression__Group_1_0__0 ) )
-            // InternalReportDSL.g:25975:2: ( rule__XCastedExpression__Group_1_0__0 )
+            // InternalReportDSL.g:25684:1: ( ( rule__XCastedExpression__Group_1_0__0 ) )
+            // InternalReportDSL.g:25685:2: ( rule__XCastedExpression__Group_1_0__0 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXCastedExpressionAccess().getGroup_1_0()); 
             }
-            // InternalReportDSL.g:25976:2: ( rule__XCastedExpression__Group_1_0__0 )
-            // InternalReportDSL.g:25976:3: rule__XCastedExpression__Group_1_0__0
+            // InternalReportDSL.g:25686:2: ( rule__XCastedExpression__Group_1_0__0 )
+            // InternalReportDSL.g:25686:3: rule__XCastedExpression__Group_1_0__0
             {
             pushFollow(FOLLOW_2);
             rule__XCastedExpression__Group_1_0__0();
@@ -85925,14 +84806,14 @@
 
 
     // $ANTLR start "rule__XCastedExpression__Group_1__1"
-    // InternalReportDSL.g:25984:1: rule__XCastedExpression__Group_1__1 : rule__XCastedExpression__Group_1__1__Impl ;
+    // InternalReportDSL.g:25694:1: rule__XCastedExpression__Group_1__1 : rule__XCastedExpression__Group_1__1__Impl ;
     public final void rule__XCastedExpression__Group_1__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:25988:1: ( rule__XCastedExpression__Group_1__1__Impl )
-            // InternalReportDSL.g:25989:2: rule__XCastedExpression__Group_1__1__Impl
+            // InternalReportDSL.g:25698:1: ( rule__XCastedExpression__Group_1__1__Impl )
+            // InternalReportDSL.g:25699:2: rule__XCastedExpression__Group_1__1__Impl
             {
             pushFollow(FOLLOW_2);
             rule__XCastedExpression__Group_1__1__Impl();
@@ -85958,23 +84839,23 @@
 
 
     // $ANTLR start "rule__XCastedExpression__Group_1__1__Impl"
-    // InternalReportDSL.g:25995:1: rule__XCastedExpression__Group_1__1__Impl : ( ( rule__XCastedExpression__TypeAssignment_1_1 ) ) ;
+    // InternalReportDSL.g:25705:1: rule__XCastedExpression__Group_1__1__Impl : ( ( rule__XCastedExpression__TypeAssignment_1_1 ) ) ;
     public final void rule__XCastedExpression__Group_1__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:25999:1: ( ( ( rule__XCastedExpression__TypeAssignment_1_1 ) ) )
-            // InternalReportDSL.g:26000:1: ( ( rule__XCastedExpression__TypeAssignment_1_1 ) )
+            // InternalReportDSL.g:25709:1: ( ( ( rule__XCastedExpression__TypeAssignment_1_1 ) ) )
+            // InternalReportDSL.g:25710:1: ( ( rule__XCastedExpression__TypeAssignment_1_1 ) )
             {
-            // InternalReportDSL.g:26000:1: ( ( rule__XCastedExpression__TypeAssignment_1_1 ) )
-            // InternalReportDSL.g:26001:2: ( rule__XCastedExpression__TypeAssignment_1_1 )
+            // InternalReportDSL.g:25710:1: ( ( rule__XCastedExpression__TypeAssignment_1_1 ) )
+            // InternalReportDSL.g:25711:2: ( rule__XCastedExpression__TypeAssignment_1_1 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXCastedExpressionAccess().getTypeAssignment_1_1()); 
             }
-            // InternalReportDSL.g:26002:2: ( rule__XCastedExpression__TypeAssignment_1_1 )
-            // InternalReportDSL.g:26002:3: rule__XCastedExpression__TypeAssignment_1_1
+            // InternalReportDSL.g:25712:2: ( rule__XCastedExpression__TypeAssignment_1_1 )
+            // InternalReportDSL.g:25712:3: rule__XCastedExpression__TypeAssignment_1_1
             {
             pushFollow(FOLLOW_2);
             rule__XCastedExpression__TypeAssignment_1_1();
@@ -86009,14 +84890,14 @@
 
 
     // $ANTLR start "rule__XCastedExpression__Group_1_0__0"
-    // InternalReportDSL.g:26011:1: rule__XCastedExpression__Group_1_0__0 : rule__XCastedExpression__Group_1_0__0__Impl ;
+    // InternalReportDSL.g:25721:1: rule__XCastedExpression__Group_1_0__0 : rule__XCastedExpression__Group_1_0__0__Impl ;
     public final void rule__XCastedExpression__Group_1_0__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:26015:1: ( rule__XCastedExpression__Group_1_0__0__Impl )
-            // InternalReportDSL.g:26016:2: rule__XCastedExpression__Group_1_0__0__Impl
+            // InternalReportDSL.g:25725:1: ( rule__XCastedExpression__Group_1_0__0__Impl )
+            // InternalReportDSL.g:25726:2: rule__XCastedExpression__Group_1_0__0__Impl
             {
             pushFollow(FOLLOW_2);
             rule__XCastedExpression__Group_1_0__0__Impl();
@@ -86042,23 +84923,23 @@
 
 
     // $ANTLR start "rule__XCastedExpression__Group_1_0__0__Impl"
-    // InternalReportDSL.g:26022:1: rule__XCastedExpression__Group_1_0__0__Impl : ( ( rule__XCastedExpression__Group_1_0_0__0 ) ) ;
+    // InternalReportDSL.g:25732:1: rule__XCastedExpression__Group_1_0__0__Impl : ( ( rule__XCastedExpression__Group_1_0_0__0 ) ) ;
     public final void rule__XCastedExpression__Group_1_0__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:26026:1: ( ( ( rule__XCastedExpression__Group_1_0_0__0 ) ) )
-            // InternalReportDSL.g:26027:1: ( ( rule__XCastedExpression__Group_1_0_0__0 ) )
+            // InternalReportDSL.g:25736:1: ( ( ( rule__XCastedExpression__Group_1_0_0__0 ) ) )
+            // InternalReportDSL.g:25737:1: ( ( rule__XCastedExpression__Group_1_0_0__0 ) )
             {
-            // InternalReportDSL.g:26027:1: ( ( rule__XCastedExpression__Group_1_0_0__0 ) )
-            // InternalReportDSL.g:26028:2: ( rule__XCastedExpression__Group_1_0_0__0 )
+            // InternalReportDSL.g:25737:1: ( ( rule__XCastedExpression__Group_1_0_0__0 ) )
+            // InternalReportDSL.g:25738:2: ( rule__XCastedExpression__Group_1_0_0__0 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXCastedExpressionAccess().getGroup_1_0_0()); 
             }
-            // InternalReportDSL.g:26029:2: ( rule__XCastedExpression__Group_1_0_0__0 )
-            // InternalReportDSL.g:26029:3: rule__XCastedExpression__Group_1_0_0__0
+            // InternalReportDSL.g:25739:2: ( rule__XCastedExpression__Group_1_0_0__0 )
+            // InternalReportDSL.g:25739:3: rule__XCastedExpression__Group_1_0_0__0
             {
             pushFollow(FOLLOW_2);
             rule__XCastedExpression__Group_1_0_0__0();
@@ -86093,16 +84974,16 @@
 
 
     // $ANTLR start "rule__XCastedExpression__Group_1_0_0__0"
-    // InternalReportDSL.g:26038:1: rule__XCastedExpression__Group_1_0_0__0 : rule__XCastedExpression__Group_1_0_0__0__Impl rule__XCastedExpression__Group_1_0_0__1 ;
+    // InternalReportDSL.g:25748:1: rule__XCastedExpression__Group_1_0_0__0 : rule__XCastedExpression__Group_1_0_0__0__Impl rule__XCastedExpression__Group_1_0_0__1 ;
     public final void rule__XCastedExpression__Group_1_0_0__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:26042:1: ( rule__XCastedExpression__Group_1_0_0__0__Impl rule__XCastedExpression__Group_1_0_0__1 )
-            // InternalReportDSL.g:26043:2: rule__XCastedExpression__Group_1_0_0__0__Impl rule__XCastedExpression__Group_1_0_0__1
+            // InternalReportDSL.g:25752:1: ( rule__XCastedExpression__Group_1_0_0__0__Impl rule__XCastedExpression__Group_1_0_0__1 )
+            // InternalReportDSL.g:25753:2: rule__XCastedExpression__Group_1_0_0__0__Impl rule__XCastedExpression__Group_1_0_0__1
             {
-            pushFollow(FOLLOW_168);
+            pushFollow(FOLLOW_89);
             rule__XCastedExpression__Group_1_0_0__0__Impl();
 
             state._fsp--;
@@ -86131,23 +85012,23 @@
 
 
     // $ANTLR start "rule__XCastedExpression__Group_1_0_0__0__Impl"
-    // InternalReportDSL.g:26050:1: rule__XCastedExpression__Group_1_0_0__0__Impl : ( () ) ;
+    // InternalReportDSL.g:25760:1: rule__XCastedExpression__Group_1_0_0__0__Impl : ( () ) ;
     public final void rule__XCastedExpression__Group_1_0_0__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:26054:1: ( ( () ) )
-            // InternalReportDSL.g:26055:1: ( () )
+            // InternalReportDSL.g:25764:1: ( ( () ) )
+            // InternalReportDSL.g:25765:1: ( () )
             {
-            // InternalReportDSL.g:26055:1: ( () )
-            // InternalReportDSL.g:26056:2: ()
+            // InternalReportDSL.g:25765:1: ( () )
+            // InternalReportDSL.g:25766:2: ()
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXCastedExpressionAccess().getXCastedExpressionTargetAction_1_0_0_0()); 
             }
-            // InternalReportDSL.g:26057:2: ()
-            // InternalReportDSL.g:26057:3: 
+            // InternalReportDSL.g:25767:2: ()
+            // InternalReportDSL.g:25767:3: 
             {
             }
 
@@ -86172,14 +85053,14 @@
 
 
     // $ANTLR start "rule__XCastedExpression__Group_1_0_0__1"
-    // InternalReportDSL.g:26065:1: rule__XCastedExpression__Group_1_0_0__1 : rule__XCastedExpression__Group_1_0_0__1__Impl ;
+    // InternalReportDSL.g:25775:1: rule__XCastedExpression__Group_1_0_0__1 : rule__XCastedExpression__Group_1_0_0__1__Impl ;
     public final void rule__XCastedExpression__Group_1_0_0__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:26069:1: ( rule__XCastedExpression__Group_1_0_0__1__Impl )
-            // InternalReportDSL.g:26070:2: rule__XCastedExpression__Group_1_0_0__1__Impl
+            // InternalReportDSL.g:25779:1: ( rule__XCastedExpression__Group_1_0_0__1__Impl )
+            // InternalReportDSL.g:25780:2: rule__XCastedExpression__Group_1_0_0__1__Impl
             {
             pushFollow(FOLLOW_2);
             rule__XCastedExpression__Group_1_0_0__1__Impl();
@@ -86205,22 +85086,22 @@
 
 
     // $ANTLR start "rule__XCastedExpression__Group_1_0_0__1__Impl"
-    // InternalReportDSL.g:26076:1: rule__XCastedExpression__Group_1_0_0__1__Impl : ( 'as' ) ;
+    // InternalReportDSL.g:25786:1: rule__XCastedExpression__Group_1_0_0__1__Impl : ( 'as' ) ;
     public final void rule__XCastedExpression__Group_1_0_0__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:26080:1: ( ( 'as' ) )
-            // InternalReportDSL.g:26081:1: ( 'as' )
+            // InternalReportDSL.g:25790:1: ( ( 'as' ) )
+            // InternalReportDSL.g:25791:1: ( 'as' )
             {
-            // InternalReportDSL.g:26081:1: ( 'as' )
-            // InternalReportDSL.g:26082:2: 'as'
+            // InternalReportDSL.g:25791:1: ( 'as' )
+            // InternalReportDSL.g:25792:2: 'as'
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXCastedExpressionAccess().getAsKeyword_1_0_0_1()); 
             }
-            match(input,189,FOLLOW_2); if (state.failed) return ;
+            match(input,196,FOLLOW_2); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getXCastedExpressionAccess().getAsKeyword_1_0_0_1()); 
             }
@@ -86246,16 +85127,16 @@
 
 
     // $ANTLR start "rule__XPostfixOperation__Group__0"
-    // InternalReportDSL.g:26092:1: rule__XPostfixOperation__Group__0 : rule__XPostfixOperation__Group__0__Impl rule__XPostfixOperation__Group__1 ;
+    // InternalReportDSL.g:25802:1: rule__XPostfixOperation__Group__0 : rule__XPostfixOperation__Group__0__Impl rule__XPostfixOperation__Group__1 ;
     public final void rule__XPostfixOperation__Group__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:26096:1: ( rule__XPostfixOperation__Group__0__Impl rule__XPostfixOperation__Group__1 )
-            // InternalReportDSL.g:26097:2: rule__XPostfixOperation__Group__0__Impl rule__XPostfixOperation__Group__1
+            // InternalReportDSL.g:25806:1: ( rule__XPostfixOperation__Group__0__Impl rule__XPostfixOperation__Group__1 )
+            // InternalReportDSL.g:25807:2: rule__XPostfixOperation__Group__0__Impl rule__XPostfixOperation__Group__1
             {
-            pushFollow(FOLLOW_170);
+            pushFollow(FOLLOW_168);
             rule__XPostfixOperation__Group__0__Impl();
 
             state._fsp--;
@@ -86284,17 +85165,17 @@
 
 
     // $ANTLR start "rule__XPostfixOperation__Group__0__Impl"
-    // InternalReportDSL.g:26104:1: rule__XPostfixOperation__Group__0__Impl : ( ruleXMemberFeatureCall ) ;
+    // InternalReportDSL.g:25814:1: rule__XPostfixOperation__Group__0__Impl : ( ruleXMemberFeatureCall ) ;
     public final void rule__XPostfixOperation__Group__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:26108:1: ( ( ruleXMemberFeatureCall ) )
-            // InternalReportDSL.g:26109:1: ( ruleXMemberFeatureCall )
+            // InternalReportDSL.g:25818:1: ( ( ruleXMemberFeatureCall ) )
+            // InternalReportDSL.g:25819:1: ( ruleXMemberFeatureCall )
             {
-            // InternalReportDSL.g:26109:1: ( ruleXMemberFeatureCall )
-            // InternalReportDSL.g:26110:2: ruleXMemberFeatureCall
+            // InternalReportDSL.g:25819:1: ( ruleXMemberFeatureCall )
+            // InternalReportDSL.g:25820:2: ruleXMemberFeatureCall
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXPostfixOperationAccess().getXMemberFeatureCallParserRuleCall_0()); 
@@ -86329,14 +85210,14 @@
 
 
     // $ANTLR start "rule__XPostfixOperation__Group__1"
-    // InternalReportDSL.g:26119:1: rule__XPostfixOperation__Group__1 : rule__XPostfixOperation__Group__1__Impl ;
+    // InternalReportDSL.g:25829:1: rule__XPostfixOperation__Group__1 : rule__XPostfixOperation__Group__1__Impl ;
     public final void rule__XPostfixOperation__Group__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:26123:1: ( rule__XPostfixOperation__Group__1__Impl )
-            // InternalReportDSL.g:26124:2: rule__XPostfixOperation__Group__1__Impl
+            // InternalReportDSL.g:25833:1: ( rule__XPostfixOperation__Group__1__Impl )
+            // InternalReportDSL.g:25834:2: rule__XPostfixOperation__Group__1__Impl
             {
             pushFollow(FOLLOW_2);
             rule__XPostfixOperation__Group__1__Impl();
@@ -86362,42 +85243,42 @@
 
 
     // $ANTLR start "rule__XPostfixOperation__Group__1__Impl"
-    // InternalReportDSL.g:26130:1: rule__XPostfixOperation__Group__1__Impl : ( ( rule__XPostfixOperation__Group_1__0 )? ) ;
+    // InternalReportDSL.g:25840:1: rule__XPostfixOperation__Group__1__Impl : ( ( rule__XPostfixOperation__Group_1__0 )? ) ;
     public final void rule__XPostfixOperation__Group__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:26134:1: ( ( ( rule__XPostfixOperation__Group_1__0 )? ) )
-            // InternalReportDSL.g:26135:1: ( ( rule__XPostfixOperation__Group_1__0 )? )
+            // InternalReportDSL.g:25844:1: ( ( ( rule__XPostfixOperation__Group_1__0 )? ) )
+            // InternalReportDSL.g:25845:1: ( ( rule__XPostfixOperation__Group_1__0 )? )
             {
-            // InternalReportDSL.g:26135:1: ( ( rule__XPostfixOperation__Group_1__0 )? )
-            // InternalReportDSL.g:26136:2: ( rule__XPostfixOperation__Group_1__0 )?
+            // InternalReportDSL.g:25845:1: ( ( rule__XPostfixOperation__Group_1__0 )? )
+            // InternalReportDSL.g:25846:2: ( rule__XPostfixOperation__Group_1__0 )?
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXPostfixOperationAccess().getGroup_1()); 
             }
-            // InternalReportDSL.g:26137:2: ( rule__XPostfixOperation__Group_1__0 )?
-            int alt190=2;
-            int LA190_0 = input.LA(1);
+            // InternalReportDSL.g:25847:2: ( rule__XPostfixOperation__Group_1__0 )?
+            int alt172=2;
+            int LA172_0 = input.LA(1);
 
-            if ( (LA190_0==45) ) {
-                int LA190_1 = input.LA(2);
+            if ( (LA172_0==45) ) {
+                int LA172_1 = input.LA(2);
 
-                if ( (synpred295_InternalReportDSL()) ) {
-                    alt190=1;
+                if ( (synpred281_InternalReportDSL()) ) {
+                    alt172=1;
                 }
             }
-            else if ( (LA190_0==46) ) {
-                int LA190_2 = input.LA(2);
+            else if ( (LA172_0==46) ) {
+                int LA172_2 = input.LA(2);
 
-                if ( (synpred295_InternalReportDSL()) ) {
-                    alt190=1;
+                if ( (synpred281_InternalReportDSL()) ) {
+                    alt172=1;
                 }
             }
-            switch (alt190) {
+            switch (alt172) {
                 case 1 :
-                    // InternalReportDSL.g:26137:3: rule__XPostfixOperation__Group_1__0
+                    // InternalReportDSL.g:25847:3: rule__XPostfixOperation__Group_1__0
                     {
                     pushFollow(FOLLOW_2);
                     rule__XPostfixOperation__Group_1__0();
@@ -86435,14 +85316,14 @@
 
 
     // $ANTLR start "rule__XPostfixOperation__Group_1__0"
-    // InternalReportDSL.g:26146:1: rule__XPostfixOperation__Group_1__0 : rule__XPostfixOperation__Group_1__0__Impl ;
+    // InternalReportDSL.g:25856:1: rule__XPostfixOperation__Group_1__0 : rule__XPostfixOperation__Group_1__0__Impl ;
     public final void rule__XPostfixOperation__Group_1__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:26150:1: ( rule__XPostfixOperation__Group_1__0__Impl )
-            // InternalReportDSL.g:26151:2: rule__XPostfixOperation__Group_1__0__Impl
+            // InternalReportDSL.g:25860:1: ( rule__XPostfixOperation__Group_1__0__Impl )
+            // InternalReportDSL.g:25861:2: rule__XPostfixOperation__Group_1__0__Impl
             {
             pushFollow(FOLLOW_2);
             rule__XPostfixOperation__Group_1__0__Impl();
@@ -86468,23 +85349,23 @@
 
 
     // $ANTLR start "rule__XPostfixOperation__Group_1__0__Impl"
-    // InternalReportDSL.g:26157:1: rule__XPostfixOperation__Group_1__0__Impl : ( ( rule__XPostfixOperation__Group_1_0__0 ) ) ;
+    // InternalReportDSL.g:25867:1: rule__XPostfixOperation__Group_1__0__Impl : ( ( rule__XPostfixOperation__Group_1_0__0 ) ) ;
     public final void rule__XPostfixOperation__Group_1__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:26161:1: ( ( ( rule__XPostfixOperation__Group_1_0__0 ) ) )
-            // InternalReportDSL.g:26162:1: ( ( rule__XPostfixOperation__Group_1_0__0 ) )
+            // InternalReportDSL.g:25871:1: ( ( ( rule__XPostfixOperation__Group_1_0__0 ) ) )
+            // InternalReportDSL.g:25872:1: ( ( rule__XPostfixOperation__Group_1_0__0 ) )
             {
-            // InternalReportDSL.g:26162:1: ( ( rule__XPostfixOperation__Group_1_0__0 ) )
-            // InternalReportDSL.g:26163:2: ( rule__XPostfixOperation__Group_1_0__0 )
+            // InternalReportDSL.g:25872:1: ( ( rule__XPostfixOperation__Group_1_0__0 ) )
+            // InternalReportDSL.g:25873:2: ( rule__XPostfixOperation__Group_1_0__0 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXPostfixOperationAccess().getGroup_1_0()); 
             }
-            // InternalReportDSL.g:26164:2: ( rule__XPostfixOperation__Group_1_0__0 )
-            // InternalReportDSL.g:26164:3: rule__XPostfixOperation__Group_1_0__0
+            // InternalReportDSL.g:25874:2: ( rule__XPostfixOperation__Group_1_0__0 )
+            // InternalReportDSL.g:25874:3: rule__XPostfixOperation__Group_1_0__0
             {
             pushFollow(FOLLOW_2);
             rule__XPostfixOperation__Group_1_0__0();
@@ -86519,16 +85400,16 @@
 
 
     // $ANTLR start "rule__XPostfixOperation__Group_1_0__0"
-    // InternalReportDSL.g:26173:1: rule__XPostfixOperation__Group_1_0__0 : rule__XPostfixOperation__Group_1_0__0__Impl rule__XPostfixOperation__Group_1_0__1 ;
+    // InternalReportDSL.g:25883:1: rule__XPostfixOperation__Group_1_0__0 : rule__XPostfixOperation__Group_1_0__0__Impl rule__XPostfixOperation__Group_1_0__1 ;
     public final void rule__XPostfixOperation__Group_1_0__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:26177:1: ( rule__XPostfixOperation__Group_1_0__0__Impl rule__XPostfixOperation__Group_1_0__1 )
-            // InternalReportDSL.g:26178:2: rule__XPostfixOperation__Group_1_0__0__Impl rule__XPostfixOperation__Group_1_0__1
+            // InternalReportDSL.g:25887:1: ( rule__XPostfixOperation__Group_1_0__0__Impl rule__XPostfixOperation__Group_1_0__1 )
+            // InternalReportDSL.g:25888:2: rule__XPostfixOperation__Group_1_0__0__Impl rule__XPostfixOperation__Group_1_0__1
             {
-            pushFollow(FOLLOW_170);
+            pushFollow(FOLLOW_168);
             rule__XPostfixOperation__Group_1_0__0__Impl();
 
             state._fsp--;
@@ -86557,23 +85438,23 @@
 
 
     // $ANTLR start "rule__XPostfixOperation__Group_1_0__0__Impl"
-    // InternalReportDSL.g:26185:1: rule__XPostfixOperation__Group_1_0__0__Impl : ( () ) ;
+    // InternalReportDSL.g:25895:1: rule__XPostfixOperation__Group_1_0__0__Impl : ( () ) ;
     public final void rule__XPostfixOperation__Group_1_0__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:26189:1: ( ( () ) )
-            // InternalReportDSL.g:26190:1: ( () )
+            // InternalReportDSL.g:25899:1: ( ( () ) )
+            // InternalReportDSL.g:25900:1: ( () )
             {
-            // InternalReportDSL.g:26190:1: ( () )
-            // InternalReportDSL.g:26191:2: ()
+            // InternalReportDSL.g:25900:1: ( () )
+            // InternalReportDSL.g:25901:2: ()
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXPostfixOperationAccess().getXPostfixOperationOperandAction_1_0_0()); 
             }
-            // InternalReportDSL.g:26192:2: ()
-            // InternalReportDSL.g:26192:3: 
+            // InternalReportDSL.g:25902:2: ()
+            // InternalReportDSL.g:25902:3: 
             {
             }
 
@@ -86598,14 +85479,14 @@
 
 
     // $ANTLR start "rule__XPostfixOperation__Group_1_0__1"
-    // InternalReportDSL.g:26200:1: rule__XPostfixOperation__Group_1_0__1 : rule__XPostfixOperation__Group_1_0__1__Impl ;
+    // InternalReportDSL.g:25910:1: rule__XPostfixOperation__Group_1_0__1 : rule__XPostfixOperation__Group_1_0__1__Impl ;
     public final void rule__XPostfixOperation__Group_1_0__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:26204:1: ( rule__XPostfixOperation__Group_1_0__1__Impl )
-            // InternalReportDSL.g:26205:2: rule__XPostfixOperation__Group_1_0__1__Impl
+            // InternalReportDSL.g:25914:1: ( rule__XPostfixOperation__Group_1_0__1__Impl )
+            // InternalReportDSL.g:25915:2: rule__XPostfixOperation__Group_1_0__1__Impl
             {
             pushFollow(FOLLOW_2);
             rule__XPostfixOperation__Group_1_0__1__Impl();
@@ -86631,23 +85512,23 @@
 
 
     // $ANTLR start "rule__XPostfixOperation__Group_1_0__1__Impl"
-    // InternalReportDSL.g:26211:1: rule__XPostfixOperation__Group_1_0__1__Impl : ( ( rule__XPostfixOperation__FeatureAssignment_1_0_1 ) ) ;
+    // InternalReportDSL.g:25921:1: rule__XPostfixOperation__Group_1_0__1__Impl : ( ( rule__XPostfixOperation__FeatureAssignment_1_0_1 ) ) ;
     public final void rule__XPostfixOperation__Group_1_0__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:26215:1: ( ( ( rule__XPostfixOperation__FeatureAssignment_1_0_1 ) ) )
-            // InternalReportDSL.g:26216:1: ( ( rule__XPostfixOperation__FeatureAssignment_1_0_1 ) )
+            // InternalReportDSL.g:25925:1: ( ( ( rule__XPostfixOperation__FeatureAssignment_1_0_1 ) ) )
+            // InternalReportDSL.g:25926:1: ( ( rule__XPostfixOperation__FeatureAssignment_1_0_1 ) )
             {
-            // InternalReportDSL.g:26216:1: ( ( rule__XPostfixOperation__FeatureAssignment_1_0_1 ) )
-            // InternalReportDSL.g:26217:2: ( rule__XPostfixOperation__FeatureAssignment_1_0_1 )
+            // InternalReportDSL.g:25926:1: ( ( rule__XPostfixOperation__FeatureAssignment_1_0_1 ) )
+            // InternalReportDSL.g:25927:2: ( rule__XPostfixOperation__FeatureAssignment_1_0_1 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXPostfixOperationAccess().getFeatureAssignment_1_0_1()); 
             }
-            // InternalReportDSL.g:26218:2: ( rule__XPostfixOperation__FeatureAssignment_1_0_1 )
-            // InternalReportDSL.g:26218:3: rule__XPostfixOperation__FeatureAssignment_1_0_1
+            // InternalReportDSL.g:25928:2: ( rule__XPostfixOperation__FeatureAssignment_1_0_1 )
+            // InternalReportDSL.g:25928:3: rule__XPostfixOperation__FeatureAssignment_1_0_1
             {
             pushFollow(FOLLOW_2);
             rule__XPostfixOperation__FeatureAssignment_1_0_1();
@@ -86682,16 +85563,16 @@
 
 
     // $ANTLR start "rule__XMemberFeatureCall__Group__0"
-    // InternalReportDSL.g:26227:1: rule__XMemberFeatureCall__Group__0 : rule__XMemberFeatureCall__Group__0__Impl rule__XMemberFeatureCall__Group__1 ;
+    // InternalReportDSL.g:25937:1: rule__XMemberFeatureCall__Group__0 : rule__XMemberFeatureCall__Group__0__Impl rule__XMemberFeatureCall__Group__1 ;
     public final void rule__XMemberFeatureCall__Group__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:26231:1: ( rule__XMemberFeatureCall__Group__0__Impl rule__XMemberFeatureCall__Group__1 )
-            // InternalReportDSL.g:26232:2: rule__XMemberFeatureCall__Group__0__Impl rule__XMemberFeatureCall__Group__1
+            // InternalReportDSL.g:25941:1: ( rule__XMemberFeatureCall__Group__0__Impl rule__XMemberFeatureCall__Group__1 )
+            // InternalReportDSL.g:25942:2: rule__XMemberFeatureCall__Group__0__Impl rule__XMemberFeatureCall__Group__1
             {
-            pushFollow(FOLLOW_171);
+            pushFollow(FOLLOW_169);
             rule__XMemberFeatureCall__Group__0__Impl();
 
             state._fsp--;
@@ -86720,17 +85601,17 @@
 
 
     // $ANTLR start "rule__XMemberFeatureCall__Group__0__Impl"
-    // InternalReportDSL.g:26239:1: rule__XMemberFeatureCall__Group__0__Impl : ( ruleXPrimaryExpression ) ;
+    // InternalReportDSL.g:25949:1: rule__XMemberFeatureCall__Group__0__Impl : ( ruleXPrimaryExpression ) ;
     public final void rule__XMemberFeatureCall__Group__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:26243:1: ( ( ruleXPrimaryExpression ) )
-            // InternalReportDSL.g:26244:1: ( ruleXPrimaryExpression )
+            // InternalReportDSL.g:25953:1: ( ( ruleXPrimaryExpression ) )
+            // InternalReportDSL.g:25954:1: ( ruleXPrimaryExpression )
             {
-            // InternalReportDSL.g:26244:1: ( ruleXPrimaryExpression )
-            // InternalReportDSL.g:26245:2: ruleXPrimaryExpression
+            // InternalReportDSL.g:25954:1: ( ruleXPrimaryExpression )
+            // InternalReportDSL.g:25955:2: ruleXPrimaryExpression
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXMemberFeatureCallAccess().getXPrimaryExpressionParserRuleCall_0()); 
@@ -86765,14 +85646,14 @@
 
 
     // $ANTLR start "rule__XMemberFeatureCall__Group__1"
-    // InternalReportDSL.g:26254:1: rule__XMemberFeatureCall__Group__1 : rule__XMemberFeatureCall__Group__1__Impl ;
+    // InternalReportDSL.g:25964:1: rule__XMemberFeatureCall__Group__1 : rule__XMemberFeatureCall__Group__1__Impl ;
     public final void rule__XMemberFeatureCall__Group__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:26258:1: ( rule__XMemberFeatureCall__Group__1__Impl )
-            // InternalReportDSL.g:26259:2: rule__XMemberFeatureCall__Group__1__Impl
+            // InternalReportDSL.g:25968:1: ( rule__XMemberFeatureCall__Group__1__Impl )
+            // InternalReportDSL.g:25969:2: rule__XMemberFeatureCall__Group__1__Impl
             {
             pushFollow(FOLLOW_2);
             rule__XMemberFeatureCall__Group__1__Impl();
@@ -86798,54 +85679,54 @@
 
 
     // $ANTLR start "rule__XMemberFeatureCall__Group__1__Impl"
-    // InternalReportDSL.g:26265:1: rule__XMemberFeatureCall__Group__1__Impl : ( ( rule__XMemberFeatureCall__Alternatives_1 )* ) ;
+    // InternalReportDSL.g:25975:1: rule__XMemberFeatureCall__Group__1__Impl : ( ( rule__XMemberFeatureCall__Alternatives_1 )* ) ;
     public final void rule__XMemberFeatureCall__Group__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:26269:1: ( ( ( rule__XMemberFeatureCall__Alternatives_1 )* ) )
-            // InternalReportDSL.g:26270:1: ( ( rule__XMemberFeatureCall__Alternatives_1 )* )
+            // InternalReportDSL.g:25979:1: ( ( ( rule__XMemberFeatureCall__Alternatives_1 )* ) )
+            // InternalReportDSL.g:25980:1: ( ( rule__XMemberFeatureCall__Alternatives_1 )* )
             {
-            // InternalReportDSL.g:26270:1: ( ( rule__XMemberFeatureCall__Alternatives_1 )* )
-            // InternalReportDSL.g:26271:2: ( rule__XMemberFeatureCall__Alternatives_1 )*
+            // InternalReportDSL.g:25980:1: ( ( rule__XMemberFeatureCall__Alternatives_1 )* )
+            // InternalReportDSL.g:25981:2: ( rule__XMemberFeatureCall__Alternatives_1 )*
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXMemberFeatureCallAccess().getAlternatives_1()); 
             }
-            // InternalReportDSL.g:26272:2: ( rule__XMemberFeatureCall__Alternatives_1 )*
-            loop191:
+            // InternalReportDSL.g:25982:2: ( rule__XMemberFeatureCall__Alternatives_1 )*
+            loop173:
             do {
-                int alt191=2;
+                int alt173=2;
                 switch ( input.LA(1) ) {
                 case 47:
                     {
-                    int LA191_2 = input.LA(2);
+                    int LA173_2 = input.LA(2);
 
-                    if ( (synpred296_InternalReportDSL()) ) {
-                        alt191=1;
+                    if ( (synpred282_InternalReportDSL()) ) {
+                        alt173=1;
                     }
 
 
                     }
                     break;
-                case 262:
+                case 267:
                     {
-                    int LA191_3 = input.LA(2);
+                    int LA173_3 = input.LA(2);
 
-                    if ( (synpred296_InternalReportDSL()) ) {
-                        alt191=1;
+                    if ( (synpred282_InternalReportDSL()) ) {
+                        alt173=1;
                     }
 
 
                     }
                     break;
-                case 263:
+                case 268:
                     {
-                    int LA191_4 = input.LA(2);
+                    int LA173_4 = input.LA(2);
 
-                    if ( (synpred296_InternalReportDSL()) ) {
-                        alt191=1;
+                    if ( (synpred282_InternalReportDSL()) ) {
+                        alt173=1;
                     }
 
 
@@ -86854,11 +85735,11 @@
 
                 }
 
-                switch (alt191) {
+                switch (alt173) {
             	case 1 :
-            	    // InternalReportDSL.g:26272:3: rule__XMemberFeatureCall__Alternatives_1
+            	    // InternalReportDSL.g:25982:3: rule__XMemberFeatureCall__Alternatives_1
             	    {
-            	    pushFollow(FOLLOW_172);
+            	    pushFollow(FOLLOW_170);
             	    rule__XMemberFeatureCall__Alternatives_1();
 
             	    state._fsp--;
@@ -86868,7 +85749,7 @@
             	    break;
 
             	default :
-            	    break loop191;
+            	    break loop173;
                 }
             } while (true);
 
@@ -86897,16 +85778,16 @@
 
 
     // $ANTLR start "rule__XMemberFeatureCall__Group_1_0__0"
-    // InternalReportDSL.g:26281:1: rule__XMemberFeatureCall__Group_1_0__0 : rule__XMemberFeatureCall__Group_1_0__0__Impl rule__XMemberFeatureCall__Group_1_0__1 ;
+    // InternalReportDSL.g:25991:1: rule__XMemberFeatureCall__Group_1_0__0 : rule__XMemberFeatureCall__Group_1_0__0__Impl rule__XMemberFeatureCall__Group_1_0__1 ;
     public final void rule__XMemberFeatureCall__Group_1_0__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:26285:1: ( rule__XMemberFeatureCall__Group_1_0__0__Impl rule__XMemberFeatureCall__Group_1_0__1 )
-            // InternalReportDSL.g:26286:2: rule__XMemberFeatureCall__Group_1_0__0__Impl rule__XMemberFeatureCall__Group_1_0__1
+            // InternalReportDSL.g:25995:1: ( rule__XMemberFeatureCall__Group_1_0__0__Impl rule__XMemberFeatureCall__Group_1_0__1 )
+            // InternalReportDSL.g:25996:2: rule__XMemberFeatureCall__Group_1_0__0__Impl rule__XMemberFeatureCall__Group_1_0__1
             {
-            pushFollow(FOLLOW_139);
+            pushFollow(FOLLOW_138);
             rule__XMemberFeatureCall__Group_1_0__0__Impl();
 
             state._fsp--;
@@ -86935,23 +85816,23 @@
 
 
     // $ANTLR start "rule__XMemberFeatureCall__Group_1_0__0__Impl"
-    // InternalReportDSL.g:26293:1: rule__XMemberFeatureCall__Group_1_0__0__Impl : ( ( rule__XMemberFeatureCall__Group_1_0_0__0 ) ) ;
+    // InternalReportDSL.g:26003:1: rule__XMemberFeatureCall__Group_1_0__0__Impl : ( ( rule__XMemberFeatureCall__Group_1_0_0__0 ) ) ;
     public final void rule__XMemberFeatureCall__Group_1_0__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:26297:1: ( ( ( rule__XMemberFeatureCall__Group_1_0_0__0 ) ) )
-            // InternalReportDSL.g:26298:1: ( ( rule__XMemberFeatureCall__Group_1_0_0__0 ) )
+            // InternalReportDSL.g:26007:1: ( ( ( rule__XMemberFeatureCall__Group_1_0_0__0 ) ) )
+            // InternalReportDSL.g:26008:1: ( ( rule__XMemberFeatureCall__Group_1_0_0__0 ) )
             {
-            // InternalReportDSL.g:26298:1: ( ( rule__XMemberFeatureCall__Group_1_0_0__0 ) )
-            // InternalReportDSL.g:26299:2: ( rule__XMemberFeatureCall__Group_1_0_0__0 )
+            // InternalReportDSL.g:26008:1: ( ( rule__XMemberFeatureCall__Group_1_0_0__0 ) )
+            // InternalReportDSL.g:26009:2: ( rule__XMemberFeatureCall__Group_1_0_0__0 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXMemberFeatureCallAccess().getGroup_1_0_0()); 
             }
-            // InternalReportDSL.g:26300:2: ( rule__XMemberFeatureCall__Group_1_0_0__0 )
-            // InternalReportDSL.g:26300:3: rule__XMemberFeatureCall__Group_1_0_0__0
+            // InternalReportDSL.g:26010:2: ( rule__XMemberFeatureCall__Group_1_0_0__0 )
+            // InternalReportDSL.g:26010:3: rule__XMemberFeatureCall__Group_1_0_0__0
             {
             pushFollow(FOLLOW_2);
             rule__XMemberFeatureCall__Group_1_0_0__0();
@@ -86986,14 +85867,14 @@
 
 
     // $ANTLR start "rule__XMemberFeatureCall__Group_1_0__1"
-    // InternalReportDSL.g:26308:1: rule__XMemberFeatureCall__Group_1_0__1 : rule__XMemberFeatureCall__Group_1_0__1__Impl ;
+    // InternalReportDSL.g:26018:1: rule__XMemberFeatureCall__Group_1_0__1 : rule__XMemberFeatureCall__Group_1_0__1__Impl ;
     public final void rule__XMemberFeatureCall__Group_1_0__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:26312:1: ( rule__XMemberFeatureCall__Group_1_0__1__Impl )
-            // InternalReportDSL.g:26313:2: rule__XMemberFeatureCall__Group_1_0__1__Impl
+            // InternalReportDSL.g:26022:1: ( rule__XMemberFeatureCall__Group_1_0__1__Impl )
+            // InternalReportDSL.g:26023:2: rule__XMemberFeatureCall__Group_1_0__1__Impl
             {
             pushFollow(FOLLOW_2);
             rule__XMemberFeatureCall__Group_1_0__1__Impl();
@@ -87019,23 +85900,23 @@
 
 
     // $ANTLR start "rule__XMemberFeatureCall__Group_1_0__1__Impl"
-    // InternalReportDSL.g:26319:1: rule__XMemberFeatureCall__Group_1_0__1__Impl : ( ( rule__XMemberFeatureCall__ValueAssignment_1_0_1 ) ) ;
+    // InternalReportDSL.g:26029:1: rule__XMemberFeatureCall__Group_1_0__1__Impl : ( ( rule__XMemberFeatureCall__ValueAssignment_1_0_1 ) ) ;
     public final void rule__XMemberFeatureCall__Group_1_0__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:26323:1: ( ( ( rule__XMemberFeatureCall__ValueAssignment_1_0_1 ) ) )
-            // InternalReportDSL.g:26324:1: ( ( rule__XMemberFeatureCall__ValueAssignment_1_0_1 ) )
+            // InternalReportDSL.g:26033:1: ( ( ( rule__XMemberFeatureCall__ValueAssignment_1_0_1 ) ) )
+            // InternalReportDSL.g:26034:1: ( ( rule__XMemberFeatureCall__ValueAssignment_1_0_1 ) )
             {
-            // InternalReportDSL.g:26324:1: ( ( rule__XMemberFeatureCall__ValueAssignment_1_0_1 ) )
-            // InternalReportDSL.g:26325:2: ( rule__XMemberFeatureCall__ValueAssignment_1_0_1 )
+            // InternalReportDSL.g:26034:1: ( ( rule__XMemberFeatureCall__ValueAssignment_1_0_1 ) )
+            // InternalReportDSL.g:26035:2: ( rule__XMemberFeatureCall__ValueAssignment_1_0_1 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXMemberFeatureCallAccess().getValueAssignment_1_0_1()); 
             }
-            // InternalReportDSL.g:26326:2: ( rule__XMemberFeatureCall__ValueAssignment_1_0_1 )
-            // InternalReportDSL.g:26326:3: rule__XMemberFeatureCall__ValueAssignment_1_0_1
+            // InternalReportDSL.g:26036:2: ( rule__XMemberFeatureCall__ValueAssignment_1_0_1 )
+            // InternalReportDSL.g:26036:3: rule__XMemberFeatureCall__ValueAssignment_1_0_1
             {
             pushFollow(FOLLOW_2);
             rule__XMemberFeatureCall__ValueAssignment_1_0_1();
@@ -87070,14 +85951,14 @@
 
 
     // $ANTLR start "rule__XMemberFeatureCall__Group_1_0_0__0"
-    // InternalReportDSL.g:26335:1: rule__XMemberFeatureCall__Group_1_0_0__0 : rule__XMemberFeatureCall__Group_1_0_0__0__Impl ;
+    // InternalReportDSL.g:26045:1: rule__XMemberFeatureCall__Group_1_0_0__0 : rule__XMemberFeatureCall__Group_1_0_0__0__Impl ;
     public final void rule__XMemberFeatureCall__Group_1_0_0__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:26339:1: ( rule__XMemberFeatureCall__Group_1_0_0__0__Impl )
-            // InternalReportDSL.g:26340:2: rule__XMemberFeatureCall__Group_1_0_0__0__Impl
+            // InternalReportDSL.g:26049:1: ( rule__XMemberFeatureCall__Group_1_0_0__0__Impl )
+            // InternalReportDSL.g:26050:2: rule__XMemberFeatureCall__Group_1_0_0__0__Impl
             {
             pushFollow(FOLLOW_2);
             rule__XMemberFeatureCall__Group_1_0_0__0__Impl();
@@ -87103,23 +85984,23 @@
 
 
     // $ANTLR start "rule__XMemberFeatureCall__Group_1_0_0__0__Impl"
-    // InternalReportDSL.g:26346:1: rule__XMemberFeatureCall__Group_1_0_0__0__Impl : ( ( rule__XMemberFeatureCall__Group_1_0_0_0__0 ) ) ;
+    // InternalReportDSL.g:26056:1: rule__XMemberFeatureCall__Group_1_0_0__0__Impl : ( ( rule__XMemberFeatureCall__Group_1_0_0_0__0 ) ) ;
     public final void rule__XMemberFeatureCall__Group_1_0_0__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:26350:1: ( ( ( rule__XMemberFeatureCall__Group_1_0_0_0__0 ) ) )
-            // InternalReportDSL.g:26351:1: ( ( rule__XMemberFeatureCall__Group_1_0_0_0__0 ) )
+            // InternalReportDSL.g:26060:1: ( ( ( rule__XMemberFeatureCall__Group_1_0_0_0__0 ) ) )
+            // InternalReportDSL.g:26061:1: ( ( rule__XMemberFeatureCall__Group_1_0_0_0__0 ) )
             {
-            // InternalReportDSL.g:26351:1: ( ( rule__XMemberFeatureCall__Group_1_0_0_0__0 ) )
-            // InternalReportDSL.g:26352:2: ( rule__XMemberFeatureCall__Group_1_0_0_0__0 )
+            // InternalReportDSL.g:26061:1: ( ( rule__XMemberFeatureCall__Group_1_0_0_0__0 ) )
+            // InternalReportDSL.g:26062:2: ( rule__XMemberFeatureCall__Group_1_0_0_0__0 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXMemberFeatureCallAccess().getGroup_1_0_0_0()); 
             }
-            // InternalReportDSL.g:26353:2: ( rule__XMemberFeatureCall__Group_1_0_0_0__0 )
-            // InternalReportDSL.g:26353:3: rule__XMemberFeatureCall__Group_1_0_0_0__0
+            // InternalReportDSL.g:26063:2: ( rule__XMemberFeatureCall__Group_1_0_0_0__0 )
+            // InternalReportDSL.g:26063:3: rule__XMemberFeatureCall__Group_1_0_0_0__0
             {
             pushFollow(FOLLOW_2);
             rule__XMemberFeatureCall__Group_1_0_0_0__0();
@@ -87154,16 +86035,16 @@
 
 
     // $ANTLR start "rule__XMemberFeatureCall__Group_1_0_0_0__0"
-    // InternalReportDSL.g:26362:1: rule__XMemberFeatureCall__Group_1_0_0_0__0 : rule__XMemberFeatureCall__Group_1_0_0_0__0__Impl rule__XMemberFeatureCall__Group_1_0_0_0__1 ;
+    // InternalReportDSL.g:26072:1: rule__XMemberFeatureCall__Group_1_0_0_0__0 : rule__XMemberFeatureCall__Group_1_0_0_0__0__Impl rule__XMemberFeatureCall__Group_1_0_0_0__1 ;
     public final void rule__XMemberFeatureCall__Group_1_0_0_0__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:26366:1: ( rule__XMemberFeatureCall__Group_1_0_0_0__0__Impl rule__XMemberFeatureCall__Group_1_0_0_0__1 )
-            // InternalReportDSL.g:26367:2: rule__XMemberFeatureCall__Group_1_0_0_0__0__Impl rule__XMemberFeatureCall__Group_1_0_0_0__1
+            // InternalReportDSL.g:26076:1: ( rule__XMemberFeatureCall__Group_1_0_0_0__0__Impl rule__XMemberFeatureCall__Group_1_0_0_0__1 )
+            // InternalReportDSL.g:26077:2: rule__XMemberFeatureCall__Group_1_0_0_0__0__Impl rule__XMemberFeatureCall__Group_1_0_0_0__1
             {
-            pushFollow(FOLLOW_173);
+            pushFollow(FOLLOW_171);
             rule__XMemberFeatureCall__Group_1_0_0_0__0__Impl();
 
             state._fsp--;
@@ -87192,23 +86073,23 @@
 
 
     // $ANTLR start "rule__XMemberFeatureCall__Group_1_0_0_0__0__Impl"
-    // InternalReportDSL.g:26374:1: rule__XMemberFeatureCall__Group_1_0_0_0__0__Impl : ( () ) ;
+    // InternalReportDSL.g:26084:1: rule__XMemberFeatureCall__Group_1_0_0_0__0__Impl : ( () ) ;
     public final void rule__XMemberFeatureCall__Group_1_0_0_0__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:26378:1: ( ( () ) )
-            // InternalReportDSL.g:26379:1: ( () )
+            // InternalReportDSL.g:26088:1: ( ( () ) )
+            // InternalReportDSL.g:26089:1: ( () )
             {
-            // InternalReportDSL.g:26379:1: ( () )
-            // InternalReportDSL.g:26380:2: ()
+            // InternalReportDSL.g:26089:1: ( () )
+            // InternalReportDSL.g:26090:2: ()
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXMemberFeatureCallAccess().getXAssignmentAssignableAction_1_0_0_0_0()); 
             }
-            // InternalReportDSL.g:26381:2: ()
-            // InternalReportDSL.g:26381:3: 
+            // InternalReportDSL.g:26091:2: ()
+            // InternalReportDSL.g:26091:3: 
             {
             }
 
@@ -87233,16 +86114,16 @@
 
 
     // $ANTLR start "rule__XMemberFeatureCall__Group_1_0_0_0__1"
-    // InternalReportDSL.g:26389:1: rule__XMemberFeatureCall__Group_1_0_0_0__1 : rule__XMemberFeatureCall__Group_1_0_0_0__1__Impl rule__XMemberFeatureCall__Group_1_0_0_0__2 ;
+    // InternalReportDSL.g:26099:1: rule__XMemberFeatureCall__Group_1_0_0_0__1 : rule__XMemberFeatureCall__Group_1_0_0_0__1__Impl rule__XMemberFeatureCall__Group_1_0_0_0__2 ;
     public final void rule__XMemberFeatureCall__Group_1_0_0_0__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:26393:1: ( rule__XMemberFeatureCall__Group_1_0_0_0__1__Impl rule__XMemberFeatureCall__Group_1_0_0_0__2 )
-            // InternalReportDSL.g:26394:2: rule__XMemberFeatureCall__Group_1_0_0_0__1__Impl rule__XMemberFeatureCall__Group_1_0_0_0__2
+            // InternalReportDSL.g:26103:1: ( rule__XMemberFeatureCall__Group_1_0_0_0__1__Impl rule__XMemberFeatureCall__Group_1_0_0_0__2 )
+            // InternalReportDSL.g:26104:2: rule__XMemberFeatureCall__Group_1_0_0_0__1__Impl rule__XMemberFeatureCall__Group_1_0_0_0__2
             {
-            pushFollow(FOLLOW_144);
+            pushFollow(FOLLOW_143);
             rule__XMemberFeatureCall__Group_1_0_0_0__1__Impl();
 
             state._fsp--;
@@ -87271,23 +86152,23 @@
 
 
     // $ANTLR start "rule__XMemberFeatureCall__Group_1_0_0_0__1__Impl"
-    // InternalReportDSL.g:26401:1: rule__XMemberFeatureCall__Group_1_0_0_0__1__Impl : ( ( rule__XMemberFeatureCall__Alternatives_1_0_0_0_1 ) ) ;
+    // InternalReportDSL.g:26111:1: rule__XMemberFeatureCall__Group_1_0_0_0__1__Impl : ( ( rule__XMemberFeatureCall__Alternatives_1_0_0_0_1 ) ) ;
     public final void rule__XMemberFeatureCall__Group_1_0_0_0__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:26405:1: ( ( ( rule__XMemberFeatureCall__Alternatives_1_0_0_0_1 ) ) )
-            // InternalReportDSL.g:26406:1: ( ( rule__XMemberFeatureCall__Alternatives_1_0_0_0_1 ) )
+            // InternalReportDSL.g:26115:1: ( ( ( rule__XMemberFeatureCall__Alternatives_1_0_0_0_1 ) ) )
+            // InternalReportDSL.g:26116:1: ( ( rule__XMemberFeatureCall__Alternatives_1_0_0_0_1 ) )
             {
-            // InternalReportDSL.g:26406:1: ( ( rule__XMemberFeatureCall__Alternatives_1_0_0_0_1 ) )
-            // InternalReportDSL.g:26407:2: ( rule__XMemberFeatureCall__Alternatives_1_0_0_0_1 )
+            // InternalReportDSL.g:26116:1: ( ( rule__XMemberFeatureCall__Alternatives_1_0_0_0_1 ) )
+            // InternalReportDSL.g:26117:2: ( rule__XMemberFeatureCall__Alternatives_1_0_0_0_1 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXMemberFeatureCallAccess().getAlternatives_1_0_0_0_1()); 
             }
-            // InternalReportDSL.g:26408:2: ( rule__XMemberFeatureCall__Alternatives_1_0_0_0_1 )
-            // InternalReportDSL.g:26408:3: rule__XMemberFeatureCall__Alternatives_1_0_0_0_1
+            // InternalReportDSL.g:26118:2: ( rule__XMemberFeatureCall__Alternatives_1_0_0_0_1 )
+            // InternalReportDSL.g:26118:3: rule__XMemberFeatureCall__Alternatives_1_0_0_0_1
             {
             pushFollow(FOLLOW_2);
             rule__XMemberFeatureCall__Alternatives_1_0_0_0_1();
@@ -87322,16 +86203,16 @@
 
 
     // $ANTLR start "rule__XMemberFeatureCall__Group_1_0_0_0__2"
-    // InternalReportDSL.g:26416:1: rule__XMemberFeatureCall__Group_1_0_0_0__2 : rule__XMemberFeatureCall__Group_1_0_0_0__2__Impl rule__XMemberFeatureCall__Group_1_0_0_0__3 ;
+    // InternalReportDSL.g:26126:1: rule__XMemberFeatureCall__Group_1_0_0_0__2 : rule__XMemberFeatureCall__Group_1_0_0_0__2__Impl rule__XMemberFeatureCall__Group_1_0_0_0__3 ;
     public final void rule__XMemberFeatureCall__Group_1_0_0_0__2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:26420:1: ( rule__XMemberFeatureCall__Group_1_0_0_0__2__Impl rule__XMemberFeatureCall__Group_1_0_0_0__3 )
-            // InternalReportDSL.g:26421:2: rule__XMemberFeatureCall__Group_1_0_0_0__2__Impl rule__XMemberFeatureCall__Group_1_0_0_0__3
+            // InternalReportDSL.g:26130:1: ( rule__XMemberFeatureCall__Group_1_0_0_0__2__Impl rule__XMemberFeatureCall__Group_1_0_0_0__3 )
+            // InternalReportDSL.g:26131:2: rule__XMemberFeatureCall__Group_1_0_0_0__2__Impl rule__XMemberFeatureCall__Group_1_0_0_0__3
             {
-            pushFollow(FOLLOW_140);
+            pushFollow(FOLLOW_139);
             rule__XMemberFeatureCall__Group_1_0_0_0__2__Impl();
 
             state._fsp--;
@@ -87360,23 +86241,23 @@
 
 
     // $ANTLR start "rule__XMemberFeatureCall__Group_1_0_0_0__2__Impl"
-    // InternalReportDSL.g:26428:1: rule__XMemberFeatureCall__Group_1_0_0_0__2__Impl : ( ( rule__XMemberFeatureCall__FeatureAssignment_1_0_0_0_2 ) ) ;
+    // InternalReportDSL.g:26138:1: rule__XMemberFeatureCall__Group_1_0_0_0__2__Impl : ( ( rule__XMemberFeatureCall__FeatureAssignment_1_0_0_0_2 ) ) ;
     public final void rule__XMemberFeatureCall__Group_1_0_0_0__2__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:26432:1: ( ( ( rule__XMemberFeatureCall__FeatureAssignment_1_0_0_0_2 ) ) )
-            // InternalReportDSL.g:26433:1: ( ( rule__XMemberFeatureCall__FeatureAssignment_1_0_0_0_2 ) )
+            // InternalReportDSL.g:26142:1: ( ( ( rule__XMemberFeatureCall__FeatureAssignment_1_0_0_0_2 ) ) )
+            // InternalReportDSL.g:26143:1: ( ( rule__XMemberFeatureCall__FeatureAssignment_1_0_0_0_2 ) )
             {
-            // InternalReportDSL.g:26433:1: ( ( rule__XMemberFeatureCall__FeatureAssignment_1_0_0_0_2 ) )
-            // InternalReportDSL.g:26434:2: ( rule__XMemberFeatureCall__FeatureAssignment_1_0_0_0_2 )
+            // InternalReportDSL.g:26143:1: ( ( rule__XMemberFeatureCall__FeatureAssignment_1_0_0_0_2 ) )
+            // InternalReportDSL.g:26144:2: ( rule__XMemberFeatureCall__FeatureAssignment_1_0_0_0_2 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXMemberFeatureCallAccess().getFeatureAssignment_1_0_0_0_2()); 
             }
-            // InternalReportDSL.g:26435:2: ( rule__XMemberFeatureCall__FeatureAssignment_1_0_0_0_2 )
-            // InternalReportDSL.g:26435:3: rule__XMemberFeatureCall__FeatureAssignment_1_0_0_0_2
+            // InternalReportDSL.g:26145:2: ( rule__XMemberFeatureCall__FeatureAssignment_1_0_0_0_2 )
+            // InternalReportDSL.g:26145:3: rule__XMemberFeatureCall__FeatureAssignment_1_0_0_0_2
             {
             pushFollow(FOLLOW_2);
             rule__XMemberFeatureCall__FeatureAssignment_1_0_0_0_2();
@@ -87411,14 +86292,14 @@
 
 
     // $ANTLR start "rule__XMemberFeatureCall__Group_1_0_0_0__3"
-    // InternalReportDSL.g:26443:1: rule__XMemberFeatureCall__Group_1_0_0_0__3 : rule__XMemberFeatureCall__Group_1_0_0_0__3__Impl ;
+    // InternalReportDSL.g:26153:1: rule__XMemberFeatureCall__Group_1_0_0_0__3 : rule__XMemberFeatureCall__Group_1_0_0_0__3__Impl ;
     public final void rule__XMemberFeatureCall__Group_1_0_0_0__3() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:26447:1: ( rule__XMemberFeatureCall__Group_1_0_0_0__3__Impl )
-            // InternalReportDSL.g:26448:2: rule__XMemberFeatureCall__Group_1_0_0_0__3__Impl
+            // InternalReportDSL.g:26157:1: ( rule__XMemberFeatureCall__Group_1_0_0_0__3__Impl )
+            // InternalReportDSL.g:26158:2: rule__XMemberFeatureCall__Group_1_0_0_0__3__Impl
             {
             pushFollow(FOLLOW_2);
             rule__XMemberFeatureCall__Group_1_0_0_0__3__Impl();
@@ -87444,17 +86325,17 @@
 
 
     // $ANTLR start "rule__XMemberFeatureCall__Group_1_0_0_0__3__Impl"
-    // InternalReportDSL.g:26454:1: rule__XMemberFeatureCall__Group_1_0_0_0__3__Impl : ( ruleOpSingleAssign ) ;
+    // InternalReportDSL.g:26164:1: rule__XMemberFeatureCall__Group_1_0_0_0__3__Impl : ( ruleOpSingleAssign ) ;
     public final void rule__XMemberFeatureCall__Group_1_0_0_0__3__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:26458:1: ( ( ruleOpSingleAssign ) )
-            // InternalReportDSL.g:26459:1: ( ruleOpSingleAssign )
+            // InternalReportDSL.g:26168:1: ( ( ruleOpSingleAssign ) )
+            // InternalReportDSL.g:26169:1: ( ruleOpSingleAssign )
             {
-            // InternalReportDSL.g:26459:1: ( ruleOpSingleAssign )
-            // InternalReportDSL.g:26460:2: ruleOpSingleAssign
+            // InternalReportDSL.g:26169:1: ( ruleOpSingleAssign )
+            // InternalReportDSL.g:26170:2: ruleOpSingleAssign
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXMemberFeatureCallAccess().getOpSingleAssignParserRuleCall_1_0_0_0_3()); 
@@ -87489,16 +86370,16 @@
 
 
     // $ANTLR start "rule__XMemberFeatureCall__Group_1_1__0"
-    // InternalReportDSL.g:26470:1: rule__XMemberFeatureCall__Group_1_1__0 : rule__XMemberFeatureCall__Group_1_1__0__Impl rule__XMemberFeatureCall__Group_1_1__1 ;
+    // InternalReportDSL.g:26180:1: rule__XMemberFeatureCall__Group_1_1__0 : rule__XMemberFeatureCall__Group_1_1__0__Impl rule__XMemberFeatureCall__Group_1_1__1 ;
     public final void rule__XMemberFeatureCall__Group_1_1__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:26474:1: ( rule__XMemberFeatureCall__Group_1_1__0__Impl rule__XMemberFeatureCall__Group_1_1__1 )
-            // InternalReportDSL.g:26475:2: rule__XMemberFeatureCall__Group_1_1__0__Impl rule__XMemberFeatureCall__Group_1_1__1
+            // InternalReportDSL.g:26184:1: ( rule__XMemberFeatureCall__Group_1_1__0__Impl rule__XMemberFeatureCall__Group_1_1__1 )
+            // InternalReportDSL.g:26185:2: rule__XMemberFeatureCall__Group_1_1__0__Impl rule__XMemberFeatureCall__Group_1_1__1
             {
-            pushFollow(FOLLOW_174);
+            pushFollow(FOLLOW_172);
             rule__XMemberFeatureCall__Group_1_1__0__Impl();
 
             state._fsp--;
@@ -87527,23 +86408,23 @@
 
 
     // $ANTLR start "rule__XMemberFeatureCall__Group_1_1__0__Impl"
-    // InternalReportDSL.g:26482:1: rule__XMemberFeatureCall__Group_1_1__0__Impl : ( ( rule__XMemberFeatureCall__Group_1_1_0__0 ) ) ;
+    // InternalReportDSL.g:26192:1: rule__XMemberFeatureCall__Group_1_1__0__Impl : ( ( rule__XMemberFeatureCall__Group_1_1_0__0 ) ) ;
     public final void rule__XMemberFeatureCall__Group_1_1__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:26486:1: ( ( ( rule__XMemberFeatureCall__Group_1_1_0__0 ) ) )
-            // InternalReportDSL.g:26487:1: ( ( rule__XMemberFeatureCall__Group_1_1_0__0 ) )
+            // InternalReportDSL.g:26196:1: ( ( ( rule__XMemberFeatureCall__Group_1_1_0__0 ) ) )
+            // InternalReportDSL.g:26197:1: ( ( rule__XMemberFeatureCall__Group_1_1_0__0 ) )
             {
-            // InternalReportDSL.g:26487:1: ( ( rule__XMemberFeatureCall__Group_1_1_0__0 ) )
-            // InternalReportDSL.g:26488:2: ( rule__XMemberFeatureCall__Group_1_1_0__0 )
+            // InternalReportDSL.g:26197:1: ( ( rule__XMemberFeatureCall__Group_1_1_0__0 ) )
+            // InternalReportDSL.g:26198:2: ( rule__XMemberFeatureCall__Group_1_1_0__0 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXMemberFeatureCallAccess().getGroup_1_1_0()); 
             }
-            // InternalReportDSL.g:26489:2: ( rule__XMemberFeatureCall__Group_1_1_0__0 )
-            // InternalReportDSL.g:26489:3: rule__XMemberFeatureCall__Group_1_1_0__0
+            // InternalReportDSL.g:26199:2: ( rule__XMemberFeatureCall__Group_1_1_0__0 )
+            // InternalReportDSL.g:26199:3: rule__XMemberFeatureCall__Group_1_1_0__0
             {
             pushFollow(FOLLOW_2);
             rule__XMemberFeatureCall__Group_1_1_0__0();
@@ -87578,16 +86459,16 @@
 
 
     // $ANTLR start "rule__XMemberFeatureCall__Group_1_1__1"
-    // InternalReportDSL.g:26497:1: rule__XMemberFeatureCall__Group_1_1__1 : rule__XMemberFeatureCall__Group_1_1__1__Impl rule__XMemberFeatureCall__Group_1_1__2 ;
+    // InternalReportDSL.g:26207:1: rule__XMemberFeatureCall__Group_1_1__1 : rule__XMemberFeatureCall__Group_1_1__1__Impl rule__XMemberFeatureCall__Group_1_1__2 ;
     public final void rule__XMemberFeatureCall__Group_1_1__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:26501:1: ( rule__XMemberFeatureCall__Group_1_1__1__Impl rule__XMemberFeatureCall__Group_1_1__2 )
-            // InternalReportDSL.g:26502:2: rule__XMemberFeatureCall__Group_1_1__1__Impl rule__XMemberFeatureCall__Group_1_1__2
+            // InternalReportDSL.g:26211:1: ( rule__XMemberFeatureCall__Group_1_1__1__Impl rule__XMemberFeatureCall__Group_1_1__2 )
+            // InternalReportDSL.g:26212:2: rule__XMemberFeatureCall__Group_1_1__1__Impl rule__XMemberFeatureCall__Group_1_1__2
             {
-            pushFollow(FOLLOW_174);
+            pushFollow(FOLLOW_172);
             rule__XMemberFeatureCall__Group_1_1__1__Impl();
 
             state._fsp--;
@@ -87616,31 +86497,31 @@
 
 
     // $ANTLR start "rule__XMemberFeatureCall__Group_1_1__1__Impl"
-    // InternalReportDSL.g:26509:1: rule__XMemberFeatureCall__Group_1_1__1__Impl : ( ( rule__XMemberFeatureCall__Group_1_1_1__0 )? ) ;
+    // InternalReportDSL.g:26219:1: rule__XMemberFeatureCall__Group_1_1__1__Impl : ( ( rule__XMemberFeatureCall__Group_1_1_1__0 )? ) ;
     public final void rule__XMemberFeatureCall__Group_1_1__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:26513:1: ( ( ( rule__XMemberFeatureCall__Group_1_1_1__0 )? ) )
-            // InternalReportDSL.g:26514:1: ( ( rule__XMemberFeatureCall__Group_1_1_1__0 )? )
+            // InternalReportDSL.g:26223:1: ( ( ( rule__XMemberFeatureCall__Group_1_1_1__0 )? ) )
+            // InternalReportDSL.g:26224:1: ( ( rule__XMemberFeatureCall__Group_1_1_1__0 )? )
             {
-            // InternalReportDSL.g:26514:1: ( ( rule__XMemberFeatureCall__Group_1_1_1__0 )? )
-            // InternalReportDSL.g:26515:2: ( rule__XMemberFeatureCall__Group_1_1_1__0 )?
+            // InternalReportDSL.g:26224:1: ( ( rule__XMemberFeatureCall__Group_1_1_1__0 )? )
+            // InternalReportDSL.g:26225:2: ( rule__XMemberFeatureCall__Group_1_1_1__0 )?
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXMemberFeatureCallAccess().getGroup_1_1_1()); 
             }
-            // InternalReportDSL.g:26516:2: ( rule__XMemberFeatureCall__Group_1_1_1__0 )?
-            int alt192=2;
-            int LA192_0 = input.LA(1);
+            // InternalReportDSL.g:26226:2: ( rule__XMemberFeatureCall__Group_1_1_1__0 )?
+            int alt174=2;
+            int LA174_0 = input.LA(1);
 
-            if ( (LA192_0==31) ) {
-                alt192=1;
+            if ( (LA174_0==31) ) {
+                alt174=1;
             }
-            switch (alt192) {
+            switch (alt174) {
                 case 1 :
-                    // InternalReportDSL.g:26516:3: rule__XMemberFeatureCall__Group_1_1_1__0
+                    // InternalReportDSL.g:26226:3: rule__XMemberFeatureCall__Group_1_1_1__0
                     {
                     pushFollow(FOLLOW_2);
                     rule__XMemberFeatureCall__Group_1_1_1__0();
@@ -87678,16 +86559,16 @@
 
 
     // $ANTLR start "rule__XMemberFeatureCall__Group_1_1__2"
-    // InternalReportDSL.g:26524:1: rule__XMemberFeatureCall__Group_1_1__2 : rule__XMemberFeatureCall__Group_1_1__2__Impl rule__XMemberFeatureCall__Group_1_1__3 ;
+    // InternalReportDSL.g:26234:1: rule__XMemberFeatureCall__Group_1_1__2 : rule__XMemberFeatureCall__Group_1_1__2__Impl rule__XMemberFeatureCall__Group_1_1__3 ;
     public final void rule__XMemberFeatureCall__Group_1_1__2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:26528:1: ( rule__XMemberFeatureCall__Group_1_1__2__Impl rule__XMemberFeatureCall__Group_1_1__3 )
-            // InternalReportDSL.g:26529:2: rule__XMemberFeatureCall__Group_1_1__2__Impl rule__XMemberFeatureCall__Group_1_1__3
+            // InternalReportDSL.g:26238:1: ( rule__XMemberFeatureCall__Group_1_1__2__Impl rule__XMemberFeatureCall__Group_1_1__3 )
+            // InternalReportDSL.g:26239:2: rule__XMemberFeatureCall__Group_1_1__2__Impl rule__XMemberFeatureCall__Group_1_1__3
             {
-            pushFollow(FOLLOW_175);
+            pushFollow(FOLLOW_173);
             rule__XMemberFeatureCall__Group_1_1__2__Impl();
 
             state._fsp--;
@@ -87716,23 +86597,23 @@
 
 
     // $ANTLR start "rule__XMemberFeatureCall__Group_1_1__2__Impl"
-    // InternalReportDSL.g:26536:1: rule__XMemberFeatureCall__Group_1_1__2__Impl : ( ( rule__XMemberFeatureCall__FeatureAssignment_1_1_2 ) ) ;
+    // InternalReportDSL.g:26246:1: rule__XMemberFeatureCall__Group_1_1__2__Impl : ( ( rule__XMemberFeatureCall__FeatureAssignment_1_1_2 ) ) ;
     public final void rule__XMemberFeatureCall__Group_1_1__2__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:26540:1: ( ( ( rule__XMemberFeatureCall__FeatureAssignment_1_1_2 ) ) )
-            // InternalReportDSL.g:26541:1: ( ( rule__XMemberFeatureCall__FeatureAssignment_1_1_2 ) )
+            // InternalReportDSL.g:26250:1: ( ( ( rule__XMemberFeatureCall__FeatureAssignment_1_1_2 ) ) )
+            // InternalReportDSL.g:26251:1: ( ( rule__XMemberFeatureCall__FeatureAssignment_1_1_2 ) )
             {
-            // InternalReportDSL.g:26541:1: ( ( rule__XMemberFeatureCall__FeatureAssignment_1_1_2 ) )
-            // InternalReportDSL.g:26542:2: ( rule__XMemberFeatureCall__FeatureAssignment_1_1_2 )
+            // InternalReportDSL.g:26251:1: ( ( rule__XMemberFeatureCall__FeatureAssignment_1_1_2 ) )
+            // InternalReportDSL.g:26252:2: ( rule__XMemberFeatureCall__FeatureAssignment_1_1_2 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXMemberFeatureCallAccess().getFeatureAssignment_1_1_2()); 
             }
-            // InternalReportDSL.g:26543:2: ( rule__XMemberFeatureCall__FeatureAssignment_1_1_2 )
-            // InternalReportDSL.g:26543:3: rule__XMemberFeatureCall__FeatureAssignment_1_1_2
+            // InternalReportDSL.g:26253:2: ( rule__XMemberFeatureCall__FeatureAssignment_1_1_2 )
+            // InternalReportDSL.g:26253:3: rule__XMemberFeatureCall__FeatureAssignment_1_1_2
             {
             pushFollow(FOLLOW_2);
             rule__XMemberFeatureCall__FeatureAssignment_1_1_2();
@@ -87767,16 +86648,16 @@
 
 
     // $ANTLR start "rule__XMemberFeatureCall__Group_1_1__3"
-    // InternalReportDSL.g:26551:1: rule__XMemberFeatureCall__Group_1_1__3 : rule__XMemberFeatureCall__Group_1_1__3__Impl rule__XMemberFeatureCall__Group_1_1__4 ;
+    // InternalReportDSL.g:26261:1: rule__XMemberFeatureCall__Group_1_1__3 : rule__XMemberFeatureCall__Group_1_1__3__Impl rule__XMemberFeatureCall__Group_1_1__4 ;
     public final void rule__XMemberFeatureCall__Group_1_1__3() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:26555:1: ( rule__XMemberFeatureCall__Group_1_1__3__Impl rule__XMemberFeatureCall__Group_1_1__4 )
-            // InternalReportDSL.g:26556:2: rule__XMemberFeatureCall__Group_1_1__3__Impl rule__XMemberFeatureCall__Group_1_1__4
+            // InternalReportDSL.g:26265:1: ( rule__XMemberFeatureCall__Group_1_1__3__Impl rule__XMemberFeatureCall__Group_1_1__4 )
+            // InternalReportDSL.g:26266:2: rule__XMemberFeatureCall__Group_1_1__3__Impl rule__XMemberFeatureCall__Group_1_1__4
             {
-            pushFollow(FOLLOW_175);
+            pushFollow(FOLLOW_173);
             rule__XMemberFeatureCall__Group_1_1__3__Impl();
 
             state._fsp--;
@@ -87805,27 +86686,27 @@
 
 
     // $ANTLR start "rule__XMemberFeatureCall__Group_1_1__3__Impl"
-    // InternalReportDSL.g:26563:1: rule__XMemberFeatureCall__Group_1_1__3__Impl : ( ( rule__XMemberFeatureCall__Group_1_1_3__0 )? ) ;
+    // InternalReportDSL.g:26273:1: rule__XMemberFeatureCall__Group_1_1__3__Impl : ( ( rule__XMemberFeatureCall__Group_1_1_3__0 )? ) ;
     public final void rule__XMemberFeatureCall__Group_1_1__3__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:26567:1: ( ( ( rule__XMemberFeatureCall__Group_1_1_3__0 )? ) )
-            // InternalReportDSL.g:26568:1: ( ( rule__XMemberFeatureCall__Group_1_1_3__0 )? )
+            // InternalReportDSL.g:26277:1: ( ( ( rule__XMemberFeatureCall__Group_1_1_3__0 )? ) )
+            // InternalReportDSL.g:26278:1: ( ( rule__XMemberFeatureCall__Group_1_1_3__0 )? )
             {
-            // InternalReportDSL.g:26568:1: ( ( rule__XMemberFeatureCall__Group_1_1_3__0 )? )
-            // InternalReportDSL.g:26569:2: ( rule__XMemberFeatureCall__Group_1_1_3__0 )?
+            // InternalReportDSL.g:26278:1: ( ( rule__XMemberFeatureCall__Group_1_1_3__0 )? )
+            // InternalReportDSL.g:26279:2: ( rule__XMemberFeatureCall__Group_1_1_3__0 )?
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXMemberFeatureCallAccess().getGroup_1_1_3()); 
             }
-            // InternalReportDSL.g:26570:2: ( rule__XMemberFeatureCall__Group_1_1_3__0 )?
-            int alt193=2;
-            alt193 = dfa193.predict(input);
-            switch (alt193) {
+            // InternalReportDSL.g:26280:2: ( rule__XMemberFeatureCall__Group_1_1_3__0 )?
+            int alt175=2;
+            alt175 = dfa175.predict(input);
+            switch (alt175) {
                 case 1 :
-                    // InternalReportDSL.g:26570:3: rule__XMemberFeatureCall__Group_1_1_3__0
+                    // InternalReportDSL.g:26280:3: rule__XMemberFeatureCall__Group_1_1_3__0
                     {
                     pushFollow(FOLLOW_2);
                     rule__XMemberFeatureCall__Group_1_1_3__0();
@@ -87863,14 +86744,14 @@
 
 
     // $ANTLR start "rule__XMemberFeatureCall__Group_1_1__4"
-    // InternalReportDSL.g:26578:1: rule__XMemberFeatureCall__Group_1_1__4 : rule__XMemberFeatureCall__Group_1_1__4__Impl ;
+    // InternalReportDSL.g:26288:1: rule__XMemberFeatureCall__Group_1_1__4 : rule__XMemberFeatureCall__Group_1_1__4__Impl ;
     public final void rule__XMemberFeatureCall__Group_1_1__4() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:26582:1: ( rule__XMemberFeatureCall__Group_1_1__4__Impl )
-            // InternalReportDSL.g:26583:2: rule__XMemberFeatureCall__Group_1_1__4__Impl
+            // InternalReportDSL.g:26292:1: ( rule__XMemberFeatureCall__Group_1_1__4__Impl )
+            // InternalReportDSL.g:26293:2: rule__XMemberFeatureCall__Group_1_1__4__Impl
             {
             pushFollow(FOLLOW_2);
             rule__XMemberFeatureCall__Group_1_1__4__Impl();
@@ -87896,27 +86777,27 @@
 
 
     // $ANTLR start "rule__XMemberFeatureCall__Group_1_1__4__Impl"
-    // InternalReportDSL.g:26589:1: rule__XMemberFeatureCall__Group_1_1__4__Impl : ( ( rule__XMemberFeatureCall__MemberCallArgumentsAssignment_1_1_4 )? ) ;
+    // InternalReportDSL.g:26299:1: rule__XMemberFeatureCall__Group_1_1__4__Impl : ( ( rule__XMemberFeatureCall__MemberCallArgumentsAssignment_1_1_4 )? ) ;
     public final void rule__XMemberFeatureCall__Group_1_1__4__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:26593:1: ( ( ( rule__XMemberFeatureCall__MemberCallArgumentsAssignment_1_1_4 )? ) )
-            // InternalReportDSL.g:26594:1: ( ( rule__XMemberFeatureCall__MemberCallArgumentsAssignment_1_1_4 )? )
+            // InternalReportDSL.g:26303:1: ( ( ( rule__XMemberFeatureCall__MemberCallArgumentsAssignment_1_1_4 )? ) )
+            // InternalReportDSL.g:26304:1: ( ( rule__XMemberFeatureCall__MemberCallArgumentsAssignment_1_1_4 )? )
             {
-            // InternalReportDSL.g:26594:1: ( ( rule__XMemberFeatureCall__MemberCallArgumentsAssignment_1_1_4 )? )
-            // InternalReportDSL.g:26595:2: ( rule__XMemberFeatureCall__MemberCallArgumentsAssignment_1_1_4 )?
+            // InternalReportDSL.g:26304:1: ( ( rule__XMemberFeatureCall__MemberCallArgumentsAssignment_1_1_4 )? )
+            // InternalReportDSL.g:26305:2: ( rule__XMemberFeatureCall__MemberCallArgumentsAssignment_1_1_4 )?
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXMemberFeatureCallAccess().getMemberCallArgumentsAssignment_1_1_4()); 
             }
-            // InternalReportDSL.g:26596:2: ( rule__XMemberFeatureCall__MemberCallArgumentsAssignment_1_1_4 )?
-            int alt194=2;
-            alt194 = dfa194.predict(input);
-            switch (alt194) {
+            // InternalReportDSL.g:26306:2: ( rule__XMemberFeatureCall__MemberCallArgumentsAssignment_1_1_4 )?
+            int alt176=2;
+            alt176 = dfa176.predict(input);
+            switch (alt176) {
                 case 1 :
-                    // InternalReportDSL.g:26596:3: rule__XMemberFeatureCall__MemberCallArgumentsAssignment_1_1_4
+                    // InternalReportDSL.g:26306:3: rule__XMemberFeatureCall__MemberCallArgumentsAssignment_1_1_4
                     {
                     pushFollow(FOLLOW_2);
                     rule__XMemberFeatureCall__MemberCallArgumentsAssignment_1_1_4();
@@ -87954,14 +86835,14 @@
 
 
     // $ANTLR start "rule__XMemberFeatureCall__Group_1_1_0__0"
-    // InternalReportDSL.g:26605:1: rule__XMemberFeatureCall__Group_1_1_0__0 : rule__XMemberFeatureCall__Group_1_1_0__0__Impl ;
+    // InternalReportDSL.g:26315:1: rule__XMemberFeatureCall__Group_1_1_0__0 : rule__XMemberFeatureCall__Group_1_1_0__0__Impl ;
     public final void rule__XMemberFeatureCall__Group_1_1_0__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:26609:1: ( rule__XMemberFeatureCall__Group_1_1_0__0__Impl )
-            // InternalReportDSL.g:26610:2: rule__XMemberFeatureCall__Group_1_1_0__0__Impl
+            // InternalReportDSL.g:26319:1: ( rule__XMemberFeatureCall__Group_1_1_0__0__Impl )
+            // InternalReportDSL.g:26320:2: rule__XMemberFeatureCall__Group_1_1_0__0__Impl
             {
             pushFollow(FOLLOW_2);
             rule__XMemberFeatureCall__Group_1_1_0__0__Impl();
@@ -87987,23 +86868,23 @@
 
 
     // $ANTLR start "rule__XMemberFeatureCall__Group_1_1_0__0__Impl"
-    // InternalReportDSL.g:26616:1: rule__XMemberFeatureCall__Group_1_1_0__0__Impl : ( ( rule__XMemberFeatureCall__Group_1_1_0_0__0 ) ) ;
+    // InternalReportDSL.g:26326:1: rule__XMemberFeatureCall__Group_1_1_0__0__Impl : ( ( rule__XMemberFeatureCall__Group_1_1_0_0__0 ) ) ;
     public final void rule__XMemberFeatureCall__Group_1_1_0__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:26620:1: ( ( ( rule__XMemberFeatureCall__Group_1_1_0_0__0 ) ) )
-            // InternalReportDSL.g:26621:1: ( ( rule__XMemberFeatureCall__Group_1_1_0_0__0 ) )
+            // InternalReportDSL.g:26330:1: ( ( ( rule__XMemberFeatureCall__Group_1_1_0_0__0 ) ) )
+            // InternalReportDSL.g:26331:1: ( ( rule__XMemberFeatureCall__Group_1_1_0_0__0 ) )
             {
-            // InternalReportDSL.g:26621:1: ( ( rule__XMemberFeatureCall__Group_1_1_0_0__0 ) )
-            // InternalReportDSL.g:26622:2: ( rule__XMemberFeatureCall__Group_1_1_0_0__0 )
+            // InternalReportDSL.g:26331:1: ( ( rule__XMemberFeatureCall__Group_1_1_0_0__0 ) )
+            // InternalReportDSL.g:26332:2: ( rule__XMemberFeatureCall__Group_1_1_0_0__0 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXMemberFeatureCallAccess().getGroup_1_1_0_0()); 
             }
-            // InternalReportDSL.g:26623:2: ( rule__XMemberFeatureCall__Group_1_1_0_0__0 )
-            // InternalReportDSL.g:26623:3: rule__XMemberFeatureCall__Group_1_1_0_0__0
+            // InternalReportDSL.g:26333:2: ( rule__XMemberFeatureCall__Group_1_1_0_0__0 )
+            // InternalReportDSL.g:26333:3: rule__XMemberFeatureCall__Group_1_1_0_0__0
             {
             pushFollow(FOLLOW_2);
             rule__XMemberFeatureCall__Group_1_1_0_0__0();
@@ -88038,16 +86919,16 @@
 
 
     // $ANTLR start "rule__XMemberFeatureCall__Group_1_1_0_0__0"
-    // InternalReportDSL.g:26632:1: rule__XMemberFeatureCall__Group_1_1_0_0__0 : rule__XMemberFeatureCall__Group_1_1_0_0__0__Impl rule__XMemberFeatureCall__Group_1_1_0_0__1 ;
+    // InternalReportDSL.g:26342:1: rule__XMemberFeatureCall__Group_1_1_0_0__0 : rule__XMemberFeatureCall__Group_1_1_0_0__0__Impl rule__XMemberFeatureCall__Group_1_1_0_0__1 ;
     public final void rule__XMemberFeatureCall__Group_1_1_0_0__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:26636:1: ( rule__XMemberFeatureCall__Group_1_1_0_0__0__Impl rule__XMemberFeatureCall__Group_1_1_0_0__1 )
-            // InternalReportDSL.g:26637:2: rule__XMemberFeatureCall__Group_1_1_0_0__0__Impl rule__XMemberFeatureCall__Group_1_1_0_0__1
+            // InternalReportDSL.g:26346:1: ( rule__XMemberFeatureCall__Group_1_1_0_0__0__Impl rule__XMemberFeatureCall__Group_1_1_0_0__1 )
+            // InternalReportDSL.g:26347:2: rule__XMemberFeatureCall__Group_1_1_0_0__0__Impl rule__XMemberFeatureCall__Group_1_1_0_0__1
             {
-            pushFollow(FOLLOW_171);
+            pushFollow(FOLLOW_169);
             rule__XMemberFeatureCall__Group_1_1_0_0__0__Impl();
 
             state._fsp--;
@@ -88076,23 +86957,23 @@
 
 
     // $ANTLR start "rule__XMemberFeatureCall__Group_1_1_0_0__0__Impl"
-    // InternalReportDSL.g:26644:1: rule__XMemberFeatureCall__Group_1_1_0_0__0__Impl : ( () ) ;
+    // InternalReportDSL.g:26354:1: rule__XMemberFeatureCall__Group_1_1_0_0__0__Impl : ( () ) ;
     public final void rule__XMemberFeatureCall__Group_1_1_0_0__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:26648:1: ( ( () ) )
-            // InternalReportDSL.g:26649:1: ( () )
+            // InternalReportDSL.g:26358:1: ( ( () ) )
+            // InternalReportDSL.g:26359:1: ( () )
             {
-            // InternalReportDSL.g:26649:1: ( () )
-            // InternalReportDSL.g:26650:2: ()
+            // InternalReportDSL.g:26359:1: ( () )
+            // InternalReportDSL.g:26360:2: ()
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXMemberFeatureCallAccess().getXMemberFeatureCallMemberCallTargetAction_1_1_0_0_0()); 
             }
-            // InternalReportDSL.g:26651:2: ()
-            // InternalReportDSL.g:26651:3: 
+            // InternalReportDSL.g:26361:2: ()
+            // InternalReportDSL.g:26361:3: 
             {
             }
 
@@ -88117,14 +86998,14 @@
 
 
     // $ANTLR start "rule__XMemberFeatureCall__Group_1_1_0_0__1"
-    // InternalReportDSL.g:26659:1: rule__XMemberFeatureCall__Group_1_1_0_0__1 : rule__XMemberFeatureCall__Group_1_1_0_0__1__Impl ;
+    // InternalReportDSL.g:26369:1: rule__XMemberFeatureCall__Group_1_1_0_0__1 : rule__XMemberFeatureCall__Group_1_1_0_0__1__Impl ;
     public final void rule__XMemberFeatureCall__Group_1_1_0_0__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:26663:1: ( rule__XMemberFeatureCall__Group_1_1_0_0__1__Impl )
-            // InternalReportDSL.g:26664:2: rule__XMemberFeatureCall__Group_1_1_0_0__1__Impl
+            // InternalReportDSL.g:26373:1: ( rule__XMemberFeatureCall__Group_1_1_0_0__1__Impl )
+            // InternalReportDSL.g:26374:2: rule__XMemberFeatureCall__Group_1_1_0_0__1__Impl
             {
             pushFollow(FOLLOW_2);
             rule__XMemberFeatureCall__Group_1_1_0_0__1__Impl();
@@ -88150,23 +87031,23 @@
 
 
     // $ANTLR start "rule__XMemberFeatureCall__Group_1_1_0_0__1__Impl"
-    // InternalReportDSL.g:26670:1: rule__XMemberFeatureCall__Group_1_1_0_0__1__Impl : ( ( rule__XMemberFeatureCall__Alternatives_1_1_0_0_1 ) ) ;
+    // InternalReportDSL.g:26380:1: rule__XMemberFeatureCall__Group_1_1_0_0__1__Impl : ( ( rule__XMemberFeatureCall__Alternatives_1_1_0_0_1 ) ) ;
     public final void rule__XMemberFeatureCall__Group_1_1_0_0__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:26674:1: ( ( ( rule__XMemberFeatureCall__Alternatives_1_1_0_0_1 ) ) )
-            // InternalReportDSL.g:26675:1: ( ( rule__XMemberFeatureCall__Alternatives_1_1_0_0_1 ) )
+            // InternalReportDSL.g:26384:1: ( ( ( rule__XMemberFeatureCall__Alternatives_1_1_0_0_1 ) ) )
+            // InternalReportDSL.g:26385:1: ( ( rule__XMemberFeatureCall__Alternatives_1_1_0_0_1 ) )
             {
-            // InternalReportDSL.g:26675:1: ( ( rule__XMemberFeatureCall__Alternatives_1_1_0_0_1 ) )
-            // InternalReportDSL.g:26676:2: ( rule__XMemberFeatureCall__Alternatives_1_1_0_0_1 )
+            // InternalReportDSL.g:26385:1: ( ( rule__XMemberFeatureCall__Alternatives_1_1_0_0_1 ) )
+            // InternalReportDSL.g:26386:2: ( rule__XMemberFeatureCall__Alternatives_1_1_0_0_1 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXMemberFeatureCallAccess().getAlternatives_1_1_0_0_1()); 
             }
-            // InternalReportDSL.g:26677:2: ( rule__XMemberFeatureCall__Alternatives_1_1_0_0_1 )
-            // InternalReportDSL.g:26677:3: rule__XMemberFeatureCall__Alternatives_1_1_0_0_1
+            // InternalReportDSL.g:26387:2: ( rule__XMemberFeatureCall__Alternatives_1_1_0_0_1 )
+            // InternalReportDSL.g:26387:3: rule__XMemberFeatureCall__Alternatives_1_1_0_0_1
             {
             pushFollow(FOLLOW_2);
             rule__XMemberFeatureCall__Alternatives_1_1_0_0_1();
@@ -88201,16 +87082,16 @@
 
 
     // $ANTLR start "rule__XMemberFeatureCall__Group_1_1_1__0"
-    // InternalReportDSL.g:26686:1: rule__XMemberFeatureCall__Group_1_1_1__0 : rule__XMemberFeatureCall__Group_1_1_1__0__Impl rule__XMemberFeatureCall__Group_1_1_1__1 ;
+    // InternalReportDSL.g:26396:1: rule__XMemberFeatureCall__Group_1_1_1__0 : rule__XMemberFeatureCall__Group_1_1_1__0__Impl rule__XMemberFeatureCall__Group_1_1_1__1 ;
     public final void rule__XMemberFeatureCall__Group_1_1_1__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:26690:1: ( rule__XMemberFeatureCall__Group_1_1_1__0__Impl rule__XMemberFeatureCall__Group_1_1_1__1 )
-            // InternalReportDSL.g:26691:2: rule__XMemberFeatureCall__Group_1_1_1__0__Impl rule__XMemberFeatureCall__Group_1_1_1__1
+            // InternalReportDSL.g:26400:1: ( rule__XMemberFeatureCall__Group_1_1_1__0__Impl rule__XMemberFeatureCall__Group_1_1_1__1 )
+            // InternalReportDSL.g:26401:2: rule__XMemberFeatureCall__Group_1_1_1__0__Impl rule__XMemberFeatureCall__Group_1_1_1__1
             {
-            pushFollow(FOLLOW_176);
+            pushFollow(FOLLOW_174);
             rule__XMemberFeatureCall__Group_1_1_1__0__Impl();
 
             state._fsp--;
@@ -88239,17 +87120,17 @@
 
 
     // $ANTLR start "rule__XMemberFeatureCall__Group_1_1_1__0__Impl"
-    // InternalReportDSL.g:26698:1: rule__XMemberFeatureCall__Group_1_1_1__0__Impl : ( '<' ) ;
+    // InternalReportDSL.g:26408:1: rule__XMemberFeatureCall__Group_1_1_1__0__Impl : ( '<' ) ;
     public final void rule__XMemberFeatureCall__Group_1_1_1__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:26702:1: ( ( '<' ) )
-            // InternalReportDSL.g:26703:1: ( '<' )
+            // InternalReportDSL.g:26412:1: ( ( '<' ) )
+            // InternalReportDSL.g:26413:1: ( '<' )
             {
-            // InternalReportDSL.g:26703:1: ( '<' )
-            // InternalReportDSL.g:26704:2: '<'
+            // InternalReportDSL.g:26413:1: ( '<' )
+            // InternalReportDSL.g:26414:2: '<'
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXMemberFeatureCallAccess().getLessThanSignKeyword_1_1_1_0()); 
@@ -88280,16 +87161,16 @@
 
 
     // $ANTLR start "rule__XMemberFeatureCall__Group_1_1_1__1"
-    // InternalReportDSL.g:26713:1: rule__XMemberFeatureCall__Group_1_1_1__1 : rule__XMemberFeatureCall__Group_1_1_1__1__Impl rule__XMemberFeatureCall__Group_1_1_1__2 ;
+    // InternalReportDSL.g:26423:1: rule__XMemberFeatureCall__Group_1_1_1__1 : rule__XMemberFeatureCall__Group_1_1_1__1__Impl rule__XMemberFeatureCall__Group_1_1_1__2 ;
     public final void rule__XMemberFeatureCall__Group_1_1_1__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:26717:1: ( rule__XMemberFeatureCall__Group_1_1_1__1__Impl rule__XMemberFeatureCall__Group_1_1_1__2 )
-            // InternalReportDSL.g:26718:2: rule__XMemberFeatureCall__Group_1_1_1__1__Impl rule__XMemberFeatureCall__Group_1_1_1__2
+            // InternalReportDSL.g:26427:1: ( rule__XMemberFeatureCall__Group_1_1_1__1__Impl rule__XMemberFeatureCall__Group_1_1_1__2 )
+            // InternalReportDSL.g:26428:2: rule__XMemberFeatureCall__Group_1_1_1__1__Impl rule__XMemberFeatureCall__Group_1_1_1__2
             {
-            pushFollow(FOLLOW_177);
+            pushFollow(FOLLOW_175);
             rule__XMemberFeatureCall__Group_1_1_1__1__Impl();
 
             state._fsp--;
@@ -88318,23 +87199,23 @@
 
 
     // $ANTLR start "rule__XMemberFeatureCall__Group_1_1_1__1__Impl"
-    // InternalReportDSL.g:26725:1: rule__XMemberFeatureCall__Group_1_1_1__1__Impl : ( ( rule__XMemberFeatureCall__TypeArgumentsAssignment_1_1_1_1 ) ) ;
+    // InternalReportDSL.g:26435:1: rule__XMemberFeatureCall__Group_1_1_1__1__Impl : ( ( rule__XMemberFeatureCall__TypeArgumentsAssignment_1_1_1_1 ) ) ;
     public final void rule__XMemberFeatureCall__Group_1_1_1__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:26729:1: ( ( ( rule__XMemberFeatureCall__TypeArgumentsAssignment_1_1_1_1 ) ) )
-            // InternalReportDSL.g:26730:1: ( ( rule__XMemberFeatureCall__TypeArgumentsAssignment_1_1_1_1 ) )
+            // InternalReportDSL.g:26439:1: ( ( ( rule__XMemberFeatureCall__TypeArgumentsAssignment_1_1_1_1 ) ) )
+            // InternalReportDSL.g:26440:1: ( ( rule__XMemberFeatureCall__TypeArgumentsAssignment_1_1_1_1 ) )
             {
-            // InternalReportDSL.g:26730:1: ( ( rule__XMemberFeatureCall__TypeArgumentsAssignment_1_1_1_1 ) )
-            // InternalReportDSL.g:26731:2: ( rule__XMemberFeatureCall__TypeArgumentsAssignment_1_1_1_1 )
+            // InternalReportDSL.g:26440:1: ( ( rule__XMemberFeatureCall__TypeArgumentsAssignment_1_1_1_1 ) )
+            // InternalReportDSL.g:26441:2: ( rule__XMemberFeatureCall__TypeArgumentsAssignment_1_1_1_1 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXMemberFeatureCallAccess().getTypeArgumentsAssignment_1_1_1_1()); 
             }
-            // InternalReportDSL.g:26732:2: ( rule__XMemberFeatureCall__TypeArgumentsAssignment_1_1_1_1 )
-            // InternalReportDSL.g:26732:3: rule__XMemberFeatureCall__TypeArgumentsAssignment_1_1_1_1
+            // InternalReportDSL.g:26442:2: ( rule__XMemberFeatureCall__TypeArgumentsAssignment_1_1_1_1 )
+            // InternalReportDSL.g:26442:3: rule__XMemberFeatureCall__TypeArgumentsAssignment_1_1_1_1
             {
             pushFollow(FOLLOW_2);
             rule__XMemberFeatureCall__TypeArgumentsAssignment_1_1_1_1();
@@ -88369,16 +87250,16 @@
 
 
     // $ANTLR start "rule__XMemberFeatureCall__Group_1_1_1__2"
-    // InternalReportDSL.g:26740:1: rule__XMemberFeatureCall__Group_1_1_1__2 : rule__XMemberFeatureCall__Group_1_1_1__2__Impl rule__XMemberFeatureCall__Group_1_1_1__3 ;
+    // InternalReportDSL.g:26450:1: rule__XMemberFeatureCall__Group_1_1_1__2 : rule__XMemberFeatureCall__Group_1_1_1__2__Impl rule__XMemberFeatureCall__Group_1_1_1__3 ;
     public final void rule__XMemberFeatureCall__Group_1_1_1__2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:26744:1: ( rule__XMemberFeatureCall__Group_1_1_1__2__Impl rule__XMemberFeatureCall__Group_1_1_1__3 )
-            // InternalReportDSL.g:26745:2: rule__XMemberFeatureCall__Group_1_1_1__2__Impl rule__XMemberFeatureCall__Group_1_1_1__3
+            // InternalReportDSL.g:26454:1: ( rule__XMemberFeatureCall__Group_1_1_1__2__Impl rule__XMemberFeatureCall__Group_1_1_1__3 )
+            // InternalReportDSL.g:26455:2: rule__XMemberFeatureCall__Group_1_1_1__2__Impl rule__XMemberFeatureCall__Group_1_1_1__3
             {
-            pushFollow(FOLLOW_177);
+            pushFollow(FOLLOW_175);
             rule__XMemberFeatureCall__Group_1_1_1__2__Impl();
 
             state._fsp--;
@@ -88407,37 +87288,37 @@
 
 
     // $ANTLR start "rule__XMemberFeatureCall__Group_1_1_1__2__Impl"
-    // InternalReportDSL.g:26752:1: rule__XMemberFeatureCall__Group_1_1_1__2__Impl : ( ( rule__XMemberFeatureCall__Group_1_1_1_2__0 )* ) ;
+    // InternalReportDSL.g:26462:1: rule__XMemberFeatureCall__Group_1_1_1__2__Impl : ( ( rule__XMemberFeatureCall__Group_1_1_1_2__0 )* ) ;
     public final void rule__XMemberFeatureCall__Group_1_1_1__2__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:26756:1: ( ( ( rule__XMemberFeatureCall__Group_1_1_1_2__0 )* ) )
-            // InternalReportDSL.g:26757:1: ( ( rule__XMemberFeatureCall__Group_1_1_1_2__0 )* )
+            // InternalReportDSL.g:26466:1: ( ( ( rule__XMemberFeatureCall__Group_1_1_1_2__0 )* ) )
+            // InternalReportDSL.g:26467:1: ( ( rule__XMemberFeatureCall__Group_1_1_1_2__0 )* )
             {
-            // InternalReportDSL.g:26757:1: ( ( rule__XMemberFeatureCall__Group_1_1_1_2__0 )* )
-            // InternalReportDSL.g:26758:2: ( rule__XMemberFeatureCall__Group_1_1_1_2__0 )*
+            // InternalReportDSL.g:26467:1: ( ( rule__XMemberFeatureCall__Group_1_1_1_2__0 )* )
+            // InternalReportDSL.g:26468:2: ( rule__XMemberFeatureCall__Group_1_1_1_2__0 )*
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXMemberFeatureCallAccess().getGroup_1_1_1_2()); 
             }
-            // InternalReportDSL.g:26759:2: ( rule__XMemberFeatureCall__Group_1_1_1_2__0 )*
-            loop195:
+            // InternalReportDSL.g:26469:2: ( rule__XMemberFeatureCall__Group_1_1_1_2__0 )*
+            loop177:
             do {
-                int alt195=2;
-                int LA195_0 = input.LA(1);
+                int alt177=2;
+                int LA177_0 = input.LA(1);
 
-                if ( (LA195_0==228) ) {
-                    alt195=1;
+                if ( (LA177_0==235) ) {
+                    alt177=1;
                 }
 
 
-                switch (alt195) {
+                switch (alt177) {
             	case 1 :
-            	    // InternalReportDSL.g:26759:3: rule__XMemberFeatureCall__Group_1_1_1_2__0
+            	    // InternalReportDSL.g:26469:3: rule__XMemberFeatureCall__Group_1_1_1_2__0
             	    {
-            	    pushFollow(FOLLOW_138);
+            	    pushFollow(FOLLOW_137);
             	    rule__XMemberFeatureCall__Group_1_1_1_2__0();
 
             	    state._fsp--;
@@ -88447,7 +87328,7 @@
             	    break;
 
             	default :
-            	    break loop195;
+            	    break loop177;
                 }
             } while (true);
 
@@ -88476,14 +87357,14 @@
 
 
     // $ANTLR start "rule__XMemberFeatureCall__Group_1_1_1__3"
-    // InternalReportDSL.g:26767:1: rule__XMemberFeatureCall__Group_1_1_1__3 : rule__XMemberFeatureCall__Group_1_1_1__3__Impl ;
+    // InternalReportDSL.g:26477:1: rule__XMemberFeatureCall__Group_1_1_1__3 : rule__XMemberFeatureCall__Group_1_1_1__3__Impl ;
     public final void rule__XMemberFeatureCall__Group_1_1_1__3() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:26771:1: ( rule__XMemberFeatureCall__Group_1_1_1__3__Impl )
-            // InternalReportDSL.g:26772:2: rule__XMemberFeatureCall__Group_1_1_1__3__Impl
+            // InternalReportDSL.g:26481:1: ( rule__XMemberFeatureCall__Group_1_1_1__3__Impl )
+            // InternalReportDSL.g:26482:2: rule__XMemberFeatureCall__Group_1_1_1__3__Impl
             {
             pushFollow(FOLLOW_2);
             rule__XMemberFeatureCall__Group_1_1_1__3__Impl();
@@ -88509,17 +87390,17 @@
 
 
     // $ANTLR start "rule__XMemberFeatureCall__Group_1_1_1__3__Impl"
-    // InternalReportDSL.g:26778:1: rule__XMemberFeatureCall__Group_1_1_1__3__Impl : ( '>' ) ;
+    // InternalReportDSL.g:26488:1: rule__XMemberFeatureCall__Group_1_1_1__3__Impl : ( '>' ) ;
     public final void rule__XMemberFeatureCall__Group_1_1_1__3__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:26782:1: ( ( '>' ) )
-            // InternalReportDSL.g:26783:1: ( '>' )
+            // InternalReportDSL.g:26492:1: ( ( '>' ) )
+            // InternalReportDSL.g:26493:1: ( '>' )
             {
-            // InternalReportDSL.g:26783:1: ( '>' )
-            // InternalReportDSL.g:26784:2: '>'
+            // InternalReportDSL.g:26493:1: ( '>' )
+            // InternalReportDSL.g:26494:2: '>'
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXMemberFeatureCallAccess().getGreaterThanSignKeyword_1_1_1_3()); 
@@ -88550,16 +87431,16 @@
 
 
     // $ANTLR start "rule__XMemberFeatureCall__Group_1_1_1_2__0"
-    // InternalReportDSL.g:26794:1: rule__XMemberFeatureCall__Group_1_1_1_2__0 : rule__XMemberFeatureCall__Group_1_1_1_2__0__Impl rule__XMemberFeatureCall__Group_1_1_1_2__1 ;
+    // InternalReportDSL.g:26504:1: rule__XMemberFeatureCall__Group_1_1_1_2__0 : rule__XMemberFeatureCall__Group_1_1_1_2__0__Impl rule__XMemberFeatureCall__Group_1_1_1_2__1 ;
     public final void rule__XMemberFeatureCall__Group_1_1_1_2__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:26798:1: ( rule__XMemberFeatureCall__Group_1_1_1_2__0__Impl rule__XMemberFeatureCall__Group_1_1_1_2__1 )
-            // InternalReportDSL.g:26799:2: rule__XMemberFeatureCall__Group_1_1_1_2__0__Impl rule__XMemberFeatureCall__Group_1_1_1_2__1
+            // InternalReportDSL.g:26508:1: ( rule__XMemberFeatureCall__Group_1_1_1_2__0__Impl rule__XMemberFeatureCall__Group_1_1_1_2__1 )
+            // InternalReportDSL.g:26509:2: rule__XMemberFeatureCall__Group_1_1_1_2__0__Impl rule__XMemberFeatureCall__Group_1_1_1_2__1
             {
-            pushFollow(FOLLOW_176);
+            pushFollow(FOLLOW_174);
             rule__XMemberFeatureCall__Group_1_1_1_2__0__Impl();
 
             state._fsp--;
@@ -88588,22 +87469,22 @@
 
 
     // $ANTLR start "rule__XMemberFeatureCall__Group_1_1_1_2__0__Impl"
-    // InternalReportDSL.g:26806:1: rule__XMemberFeatureCall__Group_1_1_1_2__0__Impl : ( ',' ) ;
+    // InternalReportDSL.g:26516:1: rule__XMemberFeatureCall__Group_1_1_1_2__0__Impl : ( ',' ) ;
     public final void rule__XMemberFeatureCall__Group_1_1_1_2__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:26810:1: ( ( ',' ) )
-            // InternalReportDSL.g:26811:1: ( ',' )
+            // InternalReportDSL.g:26520:1: ( ( ',' ) )
+            // InternalReportDSL.g:26521:1: ( ',' )
             {
-            // InternalReportDSL.g:26811:1: ( ',' )
-            // InternalReportDSL.g:26812:2: ','
+            // InternalReportDSL.g:26521:1: ( ',' )
+            // InternalReportDSL.g:26522:2: ','
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXMemberFeatureCallAccess().getCommaKeyword_1_1_1_2_0()); 
             }
-            match(input,228,FOLLOW_2); if (state.failed) return ;
+            match(input,235,FOLLOW_2); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getXMemberFeatureCallAccess().getCommaKeyword_1_1_1_2_0()); 
             }
@@ -88629,14 +87510,14 @@
 
 
     // $ANTLR start "rule__XMemberFeatureCall__Group_1_1_1_2__1"
-    // InternalReportDSL.g:26821:1: rule__XMemberFeatureCall__Group_1_1_1_2__1 : rule__XMemberFeatureCall__Group_1_1_1_2__1__Impl ;
+    // InternalReportDSL.g:26531:1: rule__XMemberFeatureCall__Group_1_1_1_2__1 : rule__XMemberFeatureCall__Group_1_1_1_2__1__Impl ;
     public final void rule__XMemberFeatureCall__Group_1_1_1_2__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:26825:1: ( rule__XMemberFeatureCall__Group_1_1_1_2__1__Impl )
-            // InternalReportDSL.g:26826:2: rule__XMemberFeatureCall__Group_1_1_1_2__1__Impl
+            // InternalReportDSL.g:26535:1: ( rule__XMemberFeatureCall__Group_1_1_1_2__1__Impl )
+            // InternalReportDSL.g:26536:2: rule__XMemberFeatureCall__Group_1_1_1_2__1__Impl
             {
             pushFollow(FOLLOW_2);
             rule__XMemberFeatureCall__Group_1_1_1_2__1__Impl();
@@ -88662,23 +87543,23 @@
 
 
     // $ANTLR start "rule__XMemberFeatureCall__Group_1_1_1_2__1__Impl"
-    // InternalReportDSL.g:26832:1: rule__XMemberFeatureCall__Group_1_1_1_2__1__Impl : ( ( rule__XMemberFeatureCall__TypeArgumentsAssignment_1_1_1_2_1 ) ) ;
+    // InternalReportDSL.g:26542:1: rule__XMemberFeatureCall__Group_1_1_1_2__1__Impl : ( ( rule__XMemberFeatureCall__TypeArgumentsAssignment_1_1_1_2_1 ) ) ;
     public final void rule__XMemberFeatureCall__Group_1_1_1_2__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:26836:1: ( ( ( rule__XMemberFeatureCall__TypeArgumentsAssignment_1_1_1_2_1 ) ) )
-            // InternalReportDSL.g:26837:1: ( ( rule__XMemberFeatureCall__TypeArgumentsAssignment_1_1_1_2_1 ) )
+            // InternalReportDSL.g:26546:1: ( ( ( rule__XMemberFeatureCall__TypeArgumentsAssignment_1_1_1_2_1 ) ) )
+            // InternalReportDSL.g:26547:1: ( ( rule__XMemberFeatureCall__TypeArgumentsAssignment_1_1_1_2_1 ) )
             {
-            // InternalReportDSL.g:26837:1: ( ( rule__XMemberFeatureCall__TypeArgumentsAssignment_1_1_1_2_1 ) )
-            // InternalReportDSL.g:26838:2: ( rule__XMemberFeatureCall__TypeArgumentsAssignment_1_1_1_2_1 )
+            // InternalReportDSL.g:26547:1: ( ( rule__XMemberFeatureCall__TypeArgumentsAssignment_1_1_1_2_1 ) )
+            // InternalReportDSL.g:26548:2: ( rule__XMemberFeatureCall__TypeArgumentsAssignment_1_1_1_2_1 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXMemberFeatureCallAccess().getTypeArgumentsAssignment_1_1_1_2_1()); 
             }
-            // InternalReportDSL.g:26839:2: ( rule__XMemberFeatureCall__TypeArgumentsAssignment_1_1_1_2_1 )
-            // InternalReportDSL.g:26839:3: rule__XMemberFeatureCall__TypeArgumentsAssignment_1_1_1_2_1
+            // InternalReportDSL.g:26549:2: ( rule__XMemberFeatureCall__TypeArgumentsAssignment_1_1_1_2_1 )
+            // InternalReportDSL.g:26549:3: rule__XMemberFeatureCall__TypeArgumentsAssignment_1_1_1_2_1
             {
             pushFollow(FOLLOW_2);
             rule__XMemberFeatureCall__TypeArgumentsAssignment_1_1_1_2_1();
@@ -88713,16 +87594,16 @@
 
 
     // $ANTLR start "rule__XMemberFeatureCall__Group_1_1_3__0"
-    // InternalReportDSL.g:26848:1: rule__XMemberFeatureCall__Group_1_1_3__0 : rule__XMemberFeatureCall__Group_1_1_3__0__Impl rule__XMemberFeatureCall__Group_1_1_3__1 ;
+    // InternalReportDSL.g:26558:1: rule__XMemberFeatureCall__Group_1_1_3__0 : rule__XMemberFeatureCall__Group_1_1_3__0__Impl rule__XMemberFeatureCall__Group_1_1_3__1 ;
     public final void rule__XMemberFeatureCall__Group_1_1_3__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:26852:1: ( rule__XMemberFeatureCall__Group_1_1_3__0__Impl rule__XMemberFeatureCall__Group_1_1_3__1 )
-            // InternalReportDSL.g:26853:2: rule__XMemberFeatureCall__Group_1_1_3__0__Impl rule__XMemberFeatureCall__Group_1_1_3__1
+            // InternalReportDSL.g:26562:1: ( rule__XMemberFeatureCall__Group_1_1_3__0__Impl rule__XMemberFeatureCall__Group_1_1_3__1 )
+            // InternalReportDSL.g:26563:2: rule__XMemberFeatureCall__Group_1_1_3__0__Impl rule__XMemberFeatureCall__Group_1_1_3__1
             {
-            pushFollow(FOLLOW_178);
+            pushFollow(FOLLOW_176);
             rule__XMemberFeatureCall__Group_1_1_3__0__Impl();
 
             state._fsp--;
@@ -88751,23 +87632,23 @@
 
 
     // $ANTLR start "rule__XMemberFeatureCall__Group_1_1_3__0__Impl"
-    // InternalReportDSL.g:26860:1: rule__XMemberFeatureCall__Group_1_1_3__0__Impl : ( ( rule__XMemberFeatureCall__ExplicitOperationCallAssignment_1_1_3_0 ) ) ;
+    // InternalReportDSL.g:26570:1: rule__XMemberFeatureCall__Group_1_1_3__0__Impl : ( ( rule__XMemberFeatureCall__ExplicitOperationCallAssignment_1_1_3_0 ) ) ;
     public final void rule__XMemberFeatureCall__Group_1_1_3__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:26864:1: ( ( ( rule__XMemberFeatureCall__ExplicitOperationCallAssignment_1_1_3_0 ) ) )
-            // InternalReportDSL.g:26865:1: ( ( rule__XMemberFeatureCall__ExplicitOperationCallAssignment_1_1_3_0 ) )
+            // InternalReportDSL.g:26574:1: ( ( ( rule__XMemberFeatureCall__ExplicitOperationCallAssignment_1_1_3_0 ) ) )
+            // InternalReportDSL.g:26575:1: ( ( rule__XMemberFeatureCall__ExplicitOperationCallAssignment_1_1_3_0 ) )
             {
-            // InternalReportDSL.g:26865:1: ( ( rule__XMemberFeatureCall__ExplicitOperationCallAssignment_1_1_3_0 ) )
-            // InternalReportDSL.g:26866:2: ( rule__XMemberFeatureCall__ExplicitOperationCallAssignment_1_1_3_0 )
+            // InternalReportDSL.g:26575:1: ( ( rule__XMemberFeatureCall__ExplicitOperationCallAssignment_1_1_3_0 ) )
+            // InternalReportDSL.g:26576:2: ( rule__XMemberFeatureCall__ExplicitOperationCallAssignment_1_1_3_0 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXMemberFeatureCallAccess().getExplicitOperationCallAssignment_1_1_3_0()); 
             }
-            // InternalReportDSL.g:26867:2: ( rule__XMemberFeatureCall__ExplicitOperationCallAssignment_1_1_3_0 )
-            // InternalReportDSL.g:26867:3: rule__XMemberFeatureCall__ExplicitOperationCallAssignment_1_1_3_0
+            // InternalReportDSL.g:26577:2: ( rule__XMemberFeatureCall__ExplicitOperationCallAssignment_1_1_3_0 )
+            // InternalReportDSL.g:26577:3: rule__XMemberFeatureCall__ExplicitOperationCallAssignment_1_1_3_0
             {
             pushFollow(FOLLOW_2);
             rule__XMemberFeatureCall__ExplicitOperationCallAssignment_1_1_3_0();
@@ -88802,16 +87683,16 @@
 
 
     // $ANTLR start "rule__XMemberFeatureCall__Group_1_1_3__1"
-    // InternalReportDSL.g:26875:1: rule__XMemberFeatureCall__Group_1_1_3__1 : rule__XMemberFeatureCall__Group_1_1_3__1__Impl rule__XMemberFeatureCall__Group_1_1_3__2 ;
+    // InternalReportDSL.g:26585:1: rule__XMemberFeatureCall__Group_1_1_3__1 : rule__XMemberFeatureCall__Group_1_1_3__1__Impl rule__XMemberFeatureCall__Group_1_1_3__2 ;
     public final void rule__XMemberFeatureCall__Group_1_1_3__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:26879:1: ( rule__XMemberFeatureCall__Group_1_1_3__1__Impl rule__XMemberFeatureCall__Group_1_1_3__2 )
-            // InternalReportDSL.g:26880:2: rule__XMemberFeatureCall__Group_1_1_3__1__Impl rule__XMemberFeatureCall__Group_1_1_3__2
+            // InternalReportDSL.g:26589:1: ( rule__XMemberFeatureCall__Group_1_1_3__1__Impl rule__XMemberFeatureCall__Group_1_1_3__2 )
+            // InternalReportDSL.g:26590:2: rule__XMemberFeatureCall__Group_1_1_3__1__Impl rule__XMemberFeatureCall__Group_1_1_3__2
             {
-            pushFollow(FOLLOW_178);
+            pushFollow(FOLLOW_176);
             rule__XMemberFeatureCall__Group_1_1_3__1__Impl();
 
             state._fsp--;
@@ -88840,31 +87721,31 @@
 
 
     // $ANTLR start "rule__XMemberFeatureCall__Group_1_1_3__1__Impl"
-    // InternalReportDSL.g:26887:1: rule__XMemberFeatureCall__Group_1_1_3__1__Impl : ( ( rule__XMemberFeatureCall__Alternatives_1_1_3_1 )? ) ;
+    // InternalReportDSL.g:26597:1: rule__XMemberFeatureCall__Group_1_1_3__1__Impl : ( ( rule__XMemberFeatureCall__Alternatives_1_1_3_1 )? ) ;
     public final void rule__XMemberFeatureCall__Group_1_1_3__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:26891:1: ( ( ( rule__XMemberFeatureCall__Alternatives_1_1_3_1 )? ) )
-            // InternalReportDSL.g:26892:1: ( ( rule__XMemberFeatureCall__Alternatives_1_1_3_1 )? )
+            // InternalReportDSL.g:26601:1: ( ( ( rule__XMemberFeatureCall__Alternatives_1_1_3_1 )? ) )
+            // InternalReportDSL.g:26602:1: ( ( rule__XMemberFeatureCall__Alternatives_1_1_3_1 )? )
             {
-            // InternalReportDSL.g:26892:1: ( ( rule__XMemberFeatureCall__Alternatives_1_1_3_1 )? )
-            // InternalReportDSL.g:26893:2: ( rule__XMemberFeatureCall__Alternatives_1_1_3_1 )?
+            // InternalReportDSL.g:26602:1: ( ( rule__XMemberFeatureCall__Alternatives_1_1_3_1 )? )
+            // InternalReportDSL.g:26603:2: ( rule__XMemberFeatureCall__Alternatives_1_1_3_1 )?
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXMemberFeatureCallAccess().getAlternatives_1_1_3_1()); 
             }
-            // InternalReportDSL.g:26894:2: ( rule__XMemberFeatureCall__Alternatives_1_1_3_1 )?
-            int alt196=2;
-            int LA196_0 = input.LA(1);
+            // InternalReportDSL.g:26604:2: ( rule__XMemberFeatureCall__Alternatives_1_1_3_1 )?
+            int alt178=2;
+            int LA178_0 = input.LA(1);
 
-            if ( ((LA196_0>=RULE_STRING && LA196_0<=RULE_DECIMAL)||LA196_0==31||LA196_0==35||(LA196_0>=38 && LA196_0<=39)||LA196_0==44||(LA196_0>=49 && LA196_0<=54)||LA196_0==125||LA196_0==204||(LA196_0>=230 && LA196_0<=231)||LA196_0==233||LA196_0==235||(LA196_0>=239 && LA196_0<=247)||LA196_0==249||LA196_0==264||LA196_0==266) ) {
-                alt196=1;
+            if ( ((LA178_0>=RULE_STRING && LA178_0<=RULE_DECIMAL)||LA178_0==31||LA178_0==35||(LA178_0>=38 && LA178_0<=39)||LA178_0==44||(LA178_0>=49 && LA178_0<=54)||LA178_0==131||LA178_0==211||(LA178_0>=237 && LA178_0<=238)||LA178_0==240||LA178_0==242||(LA178_0>=246 && LA178_0<=254)||LA178_0==256||LA178_0==269||LA178_0==271) ) {
+                alt178=1;
             }
-            switch (alt196) {
+            switch (alt178) {
                 case 1 :
-                    // InternalReportDSL.g:26894:3: rule__XMemberFeatureCall__Alternatives_1_1_3_1
+                    // InternalReportDSL.g:26604:3: rule__XMemberFeatureCall__Alternatives_1_1_3_1
                     {
                     pushFollow(FOLLOW_2);
                     rule__XMemberFeatureCall__Alternatives_1_1_3_1();
@@ -88902,14 +87783,14 @@
 
 
     // $ANTLR start "rule__XMemberFeatureCall__Group_1_1_3__2"
-    // InternalReportDSL.g:26902:1: rule__XMemberFeatureCall__Group_1_1_3__2 : rule__XMemberFeatureCall__Group_1_1_3__2__Impl ;
+    // InternalReportDSL.g:26612:1: rule__XMemberFeatureCall__Group_1_1_3__2 : rule__XMemberFeatureCall__Group_1_1_3__2__Impl ;
     public final void rule__XMemberFeatureCall__Group_1_1_3__2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:26906:1: ( rule__XMemberFeatureCall__Group_1_1_3__2__Impl )
-            // InternalReportDSL.g:26907:2: rule__XMemberFeatureCall__Group_1_1_3__2__Impl
+            // InternalReportDSL.g:26616:1: ( rule__XMemberFeatureCall__Group_1_1_3__2__Impl )
+            // InternalReportDSL.g:26617:2: rule__XMemberFeatureCall__Group_1_1_3__2__Impl
             {
             pushFollow(FOLLOW_2);
             rule__XMemberFeatureCall__Group_1_1_3__2__Impl();
@@ -88935,22 +87816,22 @@
 
 
     // $ANTLR start "rule__XMemberFeatureCall__Group_1_1_3__2__Impl"
-    // InternalReportDSL.g:26913:1: rule__XMemberFeatureCall__Group_1_1_3__2__Impl : ( ')' ) ;
+    // InternalReportDSL.g:26623:1: rule__XMemberFeatureCall__Group_1_1_3__2__Impl : ( ')' ) ;
     public final void rule__XMemberFeatureCall__Group_1_1_3__2__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:26917:1: ( ( ')' ) )
-            // InternalReportDSL.g:26918:1: ( ')' )
+            // InternalReportDSL.g:26627:1: ( ( ')' ) )
+            // InternalReportDSL.g:26628:1: ( ')' )
             {
-            // InternalReportDSL.g:26918:1: ( ')' )
-            // InternalReportDSL.g:26919:2: ')'
+            // InternalReportDSL.g:26628:1: ( ')' )
+            // InternalReportDSL.g:26629:2: ')'
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXMemberFeatureCallAccess().getRightParenthesisKeyword_1_1_3_2()); 
             }
-            match(input,205,FOLLOW_2); if (state.failed) return ;
+            match(input,212,FOLLOW_2); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getXMemberFeatureCallAccess().getRightParenthesisKeyword_1_1_3_2()); 
             }
@@ -88976,16 +87857,16 @@
 
 
     // $ANTLR start "rule__XMemberFeatureCall__Group_1_1_3_1_1__0"
-    // InternalReportDSL.g:26929:1: rule__XMemberFeatureCall__Group_1_1_3_1_1__0 : rule__XMemberFeatureCall__Group_1_1_3_1_1__0__Impl rule__XMemberFeatureCall__Group_1_1_3_1_1__1 ;
+    // InternalReportDSL.g:26639:1: rule__XMemberFeatureCall__Group_1_1_3_1_1__0 : rule__XMemberFeatureCall__Group_1_1_3_1_1__0__Impl rule__XMemberFeatureCall__Group_1_1_3_1_1__1 ;
     public final void rule__XMemberFeatureCall__Group_1_1_3_1_1__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:26933:1: ( rule__XMemberFeatureCall__Group_1_1_3_1_1__0__Impl rule__XMemberFeatureCall__Group_1_1_3_1_1__1 )
-            // InternalReportDSL.g:26934:2: rule__XMemberFeatureCall__Group_1_1_3_1_1__0__Impl rule__XMemberFeatureCall__Group_1_1_3_1_1__1
+            // InternalReportDSL.g:26643:1: ( rule__XMemberFeatureCall__Group_1_1_3_1_1__0__Impl rule__XMemberFeatureCall__Group_1_1_3_1_1__1 )
+            // InternalReportDSL.g:26644:2: rule__XMemberFeatureCall__Group_1_1_3_1_1__0__Impl rule__XMemberFeatureCall__Group_1_1_3_1_1__1
             {
-            pushFollow(FOLLOW_137);
+            pushFollow(FOLLOW_136);
             rule__XMemberFeatureCall__Group_1_1_3_1_1__0__Impl();
 
             state._fsp--;
@@ -89014,23 +87895,23 @@
 
 
     // $ANTLR start "rule__XMemberFeatureCall__Group_1_1_3_1_1__0__Impl"
-    // InternalReportDSL.g:26941:1: rule__XMemberFeatureCall__Group_1_1_3_1_1__0__Impl : ( ( rule__XMemberFeatureCall__MemberCallArgumentsAssignment_1_1_3_1_1_0 ) ) ;
+    // InternalReportDSL.g:26651:1: rule__XMemberFeatureCall__Group_1_1_3_1_1__0__Impl : ( ( rule__XMemberFeatureCall__MemberCallArgumentsAssignment_1_1_3_1_1_0 ) ) ;
     public final void rule__XMemberFeatureCall__Group_1_1_3_1_1__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:26945:1: ( ( ( rule__XMemberFeatureCall__MemberCallArgumentsAssignment_1_1_3_1_1_0 ) ) )
-            // InternalReportDSL.g:26946:1: ( ( rule__XMemberFeatureCall__MemberCallArgumentsAssignment_1_1_3_1_1_0 ) )
+            // InternalReportDSL.g:26655:1: ( ( ( rule__XMemberFeatureCall__MemberCallArgumentsAssignment_1_1_3_1_1_0 ) ) )
+            // InternalReportDSL.g:26656:1: ( ( rule__XMemberFeatureCall__MemberCallArgumentsAssignment_1_1_3_1_1_0 ) )
             {
-            // InternalReportDSL.g:26946:1: ( ( rule__XMemberFeatureCall__MemberCallArgumentsAssignment_1_1_3_1_1_0 ) )
-            // InternalReportDSL.g:26947:2: ( rule__XMemberFeatureCall__MemberCallArgumentsAssignment_1_1_3_1_1_0 )
+            // InternalReportDSL.g:26656:1: ( ( rule__XMemberFeatureCall__MemberCallArgumentsAssignment_1_1_3_1_1_0 ) )
+            // InternalReportDSL.g:26657:2: ( rule__XMemberFeatureCall__MemberCallArgumentsAssignment_1_1_3_1_1_0 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXMemberFeatureCallAccess().getMemberCallArgumentsAssignment_1_1_3_1_1_0()); 
             }
-            // InternalReportDSL.g:26948:2: ( rule__XMemberFeatureCall__MemberCallArgumentsAssignment_1_1_3_1_1_0 )
-            // InternalReportDSL.g:26948:3: rule__XMemberFeatureCall__MemberCallArgumentsAssignment_1_1_3_1_1_0
+            // InternalReportDSL.g:26658:2: ( rule__XMemberFeatureCall__MemberCallArgumentsAssignment_1_1_3_1_1_0 )
+            // InternalReportDSL.g:26658:3: rule__XMemberFeatureCall__MemberCallArgumentsAssignment_1_1_3_1_1_0
             {
             pushFollow(FOLLOW_2);
             rule__XMemberFeatureCall__MemberCallArgumentsAssignment_1_1_3_1_1_0();
@@ -89065,14 +87946,14 @@
 
 
     // $ANTLR start "rule__XMemberFeatureCall__Group_1_1_3_1_1__1"
-    // InternalReportDSL.g:26956:1: rule__XMemberFeatureCall__Group_1_1_3_1_1__1 : rule__XMemberFeatureCall__Group_1_1_3_1_1__1__Impl ;
+    // InternalReportDSL.g:26666:1: rule__XMemberFeatureCall__Group_1_1_3_1_1__1 : rule__XMemberFeatureCall__Group_1_1_3_1_1__1__Impl ;
     public final void rule__XMemberFeatureCall__Group_1_1_3_1_1__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:26960:1: ( rule__XMemberFeatureCall__Group_1_1_3_1_1__1__Impl )
-            // InternalReportDSL.g:26961:2: rule__XMemberFeatureCall__Group_1_1_3_1_1__1__Impl
+            // InternalReportDSL.g:26670:1: ( rule__XMemberFeatureCall__Group_1_1_3_1_1__1__Impl )
+            // InternalReportDSL.g:26671:2: rule__XMemberFeatureCall__Group_1_1_3_1_1__1__Impl
             {
             pushFollow(FOLLOW_2);
             rule__XMemberFeatureCall__Group_1_1_3_1_1__1__Impl();
@@ -89098,37 +87979,37 @@
 
 
     // $ANTLR start "rule__XMemberFeatureCall__Group_1_1_3_1_1__1__Impl"
-    // InternalReportDSL.g:26967:1: rule__XMemberFeatureCall__Group_1_1_3_1_1__1__Impl : ( ( rule__XMemberFeatureCall__Group_1_1_3_1_1_1__0 )* ) ;
+    // InternalReportDSL.g:26677:1: rule__XMemberFeatureCall__Group_1_1_3_1_1__1__Impl : ( ( rule__XMemberFeatureCall__Group_1_1_3_1_1_1__0 )* ) ;
     public final void rule__XMemberFeatureCall__Group_1_1_3_1_1__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:26971:1: ( ( ( rule__XMemberFeatureCall__Group_1_1_3_1_1_1__0 )* ) )
-            // InternalReportDSL.g:26972:1: ( ( rule__XMemberFeatureCall__Group_1_1_3_1_1_1__0 )* )
+            // InternalReportDSL.g:26681:1: ( ( ( rule__XMemberFeatureCall__Group_1_1_3_1_1_1__0 )* ) )
+            // InternalReportDSL.g:26682:1: ( ( rule__XMemberFeatureCall__Group_1_1_3_1_1_1__0 )* )
             {
-            // InternalReportDSL.g:26972:1: ( ( rule__XMemberFeatureCall__Group_1_1_3_1_1_1__0 )* )
-            // InternalReportDSL.g:26973:2: ( rule__XMemberFeatureCall__Group_1_1_3_1_1_1__0 )*
+            // InternalReportDSL.g:26682:1: ( ( rule__XMemberFeatureCall__Group_1_1_3_1_1_1__0 )* )
+            // InternalReportDSL.g:26683:2: ( rule__XMemberFeatureCall__Group_1_1_3_1_1_1__0 )*
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXMemberFeatureCallAccess().getGroup_1_1_3_1_1_1()); 
             }
-            // InternalReportDSL.g:26974:2: ( rule__XMemberFeatureCall__Group_1_1_3_1_1_1__0 )*
-            loop197:
+            // InternalReportDSL.g:26684:2: ( rule__XMemberFeatureCall__Group_1_1_3_1_1_1__0 )*
+            loop179:
             do {
-                int alt197=2;
-                int LA197_0 = input.LA(1);
+                int alt179=2;
+                int LA179_0 = input.LA(1);
 
-                if ( (LA197_0==228) ) {
-                    alt197=1;
+                if ( (LA179_0==235) ) {
+                    alt179=1;
                 }
 
 
-                switch (alt197) {
+                switch (alt179) {
             	case 1 :
-            	    // InternalReportDSL.g:26974:3: rule__XMemberFeatureCall__Group_1_1_3_1_1_1__0
+            	    // InternalReportDSL.g:26684:3: rule__XMemberFeatureCall__Group_1_1_3_1_1_1__0
             	    {
-            	    pushFollow(FOLLOW_138);
+            	    pushFollow(FOLLOW_137);
             	    rule__XMemberFeatureCall__Group_1_1_3_1_1_1__0();
 
             	    state._fsp--;
@@ -89138,7 +88019,7 @@
             	    break;
 
             	default :
-            	    break loop197;
+            	    break loop179;
                 }
             } while (true);
 
@@ -89167,16 +88048,16 @@
 
 
     // $ANTLR start "rule__XMemberFeatureCall__Group_1_1_3_1_1_1__0"
-    // InternalReportDSL.g:26983:1: rule__XMemberFeatureCall__Group_1_1_3_1_1_1__0 : rule__XMemberFeatureCall__Group_1_1_3_1_1_1__0__Impl rule__XMemberFeatureCall__Group_1_1_3_1_1_1__1 ;
+    // InternalReportDSL.g:26693:1: rule__XMemberFeatureCall__Group_1_1_3_1_1_1__0 : rule__XMemberFeatureCall__Group_1_1_3_1_1_1__0__Impl rule__XMemberFeatureCall__Group_1_1_3_1_1_1__1 ;
     public final void rule__XMemberFeatureCall__Group_1_1_3_1_1_1__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:26987:1: ( rule__XMemberFeatureCall__Group_1_1_3_1_1_1__0__Impl rule__XMemberFeatureCall__Group_1_1_3_1_1_1__1 )
-            // InternalReportDSL.g:26988:2: rule__XMemberFeatureCall__Group_1_1_3_1_1_1__0__Impl rule__XMemberFeatureCall__Group_1_1_3_1_1_1__1
+            // InternalReportDSL.g:26697:1: ( rule__XMemberFeatureCall__Group_1_1_3_1_1_1__0__Impl rule__XMemberFeatureCall__Group_1_1_3_1_1_1__1 )
+            // InternalReportDSL.g:26698:2: rule__XMemberFeatureCall__Group_1_1_3_1_1_1__0__Impl rule__XMemberFeatureCall__Group_1_1_3_1_1_1__1
             {
-            pushFollow(FOLLOW_139);
+            pushFollow(FOLLOW_138);
             rule__XMemberFeatureCall__Group_1_1_3_1_1_1__0__Impl();
 
             state._fsp--;
@@ -89205,22 +88086,22 @@
 
 
     // $ANTLR start "rule__XMemberFeatureCall__Group_1_1_3_1_1_1__0__Impl"
-    // InternalReportDSL.g:26995:1: rule__XMemberFeatureCall__Group_1_1_3_1_1_1__0__Impl : ( ',' ) ;
+    // InternalReportDSL.g:26705:1: rule__XMemberFeatureCall__Group_1_1_3_1_1_1__0__Impl : ( ',' ) ;
     public final void rule__XMemberFeatureCall__Group_1_1_3_1_1_1__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:26999:1: ( ( ',' ) )
-            // InternalReportDSL.g:27000:1: ( ',' )
+            // InternalReportDSL.g:26709:1: ( ( ',' ) )
+            // InternalReportDSL.g:26710:1: ( ',' )
             {
-            // InternalReportDSL.g:27000:1: ( ',' )
-            // InternalReportDSL.g:27001:2: ','
+            // InternalReportDSL.g:26710:1: ( ',' )
+            // InternalReportDSL.g:26711:2: ','
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXMemberFeatureCallAccess().getCommaKeyword_1_1_3_1_1_1_0()); 
             }
-            match(input,228,FOLLOW_2); if (state.failed) return ;
+            match(input,235,FOLLOW_2); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getXMemberFeatureCallAccess().getCommaKeyword_1_1_3_1_1_1_0()); 
             }
@@ -89246,14 +88127,14 @@
 
 
     // $ANTLR start "rule__XMemberFeatureCall__Group_1_1_3_1_1_1__1"
-    // InternalReportDSL.g:27010:1: rule__XMemberFeatureCall__Group_1_1_3_1_1_1__1 : rule__XMemberFeatureCall__Group_1_1_3_1_1_1__1__Impl ;
+    // InternalReportDSL.g:26720:1: rule__XMemberFeatureCall__Group_1_1_3_1_1_1__1 : rule__XMemberFeatureCall__Group_1_1_3_1_1_1__1__Impl ;
     public final void rule__XMemberFeatureCall__Group_1_1_3_1_1_1__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:27014:1: ( rule__XMemberFeatureCall__Group_1_1_3_1_1_1__1__Impl )
-            // InternalReportDSL.g:27015:2: rule__XMemberFeatureCall__Group_1_1_3_1_1_1__1__Impl
+            // InternalReportDSL.g:26724:1: ( rule__XMemberFeatureCall__Group_1_1_3_1_1_1__1__Impl )
+            // InternalReportDSL.g:26725:2: rule__XMemberFeatureCall__Group_1_1_3_1_1_1__1__Impl
             {
             pushFollow(FOLLOW_2);
             rule__XMemberFeatureCall__Group_1_1_3_1_1_1__1__Impl();
@@ -89279,23 +88160,23 @@
 
 
     // $ANTLR start "rule__XMemberFeatureCall__Group_1_1_3_1_1_1__1__Impl"
-    // InternalReportDSL.g:27021:1: rule__XMemberFeatureCall__Group_1_1_3_1_1_1__1__Impl : ( ( rule__XMemberFeatureCall__MemberCallArgumentsAssignment_1_1_3_1_1_1_1 ) ) ;
+    // InternalReportDSL.g:26731:1: rule__XMemberFeatureCall__Group_1_1_3_1_1_1__1__Impl : ( ( rule__XMemberFeatureCall__MemberCallArgumentsAssignment_1_1_3_1_1_1_1 ) ) ;
     public final void rule__XMemberFeatureCall__Group_1_1_3_1_1_1__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:27025:1: ( ( ( rule__XMemberFeatureCall__MemberCallArgumentsAssignment_1_1_3_1_1_1_1 ) ) )
-            // InternalReportDSL.g:27026:1: ( ( rule__XMemberFeatureCall__MemberCallArgumentsAssignment_1_1_3_1_1_1_1 ) )
+            // InternalReportDSL.g:26735:1: ( ( ( rule__XMemberFeatureCall__MemberCallArgumentsAssignment_1_1_3_1_1_1_1 ) ) )
+            // InternalReportDSL.g:26736:1: ( ( rule__XMemberFeatureCall__MemberCallArgumentsAssignment_1_1_3_1_1_1_1 ) )
             {
-            // InternalReportDSL.g:27026:1: ( ( rule__XMemberFeatureCall__MemberCallArgumentsAssignment_1_1_3_1_1_1_1 ) )
-            // InternalReportDSL.g:27027:2: ( rule__XMemberFeatureCall__MemberCallArgumentsAssignment_1_1_3_1_1_1_1 )
+            // InternalReportDSL.g:26736:1: ( ( rule__XMemberFeatureCall__MemberCallArgumentsAssignment_1_1_3_1_1_1_1 ) )
+            // InternalReportDSL.g:26737:2: ( rule__XMemberFeatureCall__MemberCallArgumentsAssignment_1_1_3_1_1_1_1 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXMemberFeatureCallAccess().getMemberCallArgumentsAssignment_1_1_3_1_1_1_1()); 
             }
-            // InternalReportDSL.g:27028:2: ( rule__XMemberFeatureCall__MemberCallArgumentsAssignment_1_1_3_1_1_1_1 )
-            // InternalReportDSL.g:27028:3: rule__XMemberFeatureCall__MemberCallArgumentsAssignment_1_1_3_1_1_1_1
+            // InternalReportDSL.g:26738:2: ( rule__XMemberFeatureCall__MemberCallArgumentsAssignment_1_1_3_1_1_1_1 )
+            // InternalReportDSL.g:26738:3: rule__XMemberFeatureCall__MemberCallArgumentsAssignment_1_1_3_1_1_1_1
             {
             pushFollow(FOLLOW_2);
             rule__XMemberFeatureCall__MemberCallArgumentsAssignment_1_1_3_1_1_1_1();
@@ -89330,16 +88211,16 @@
 
 
     // $ANTLR start "rule__XSetLiteral__Group__0"
-    // InternalReportDSL.g:27037:1: rule__XSetLiteral__Group__0 : rule__XSetLiteral__Group__0__Impl rule__XSetLiteral__Group__1 ;
+    // InternalReportDSL.g:26747:1: rule__XSetLiteral__Group__0 : rule__XSetLiteral__Group__0__Impl rule__XSetLiteral__Group__1 ;
     public final void rule__XSetLiteral__Group__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:27041:1: ( rule__XSetLiteral__Group__0__Impl rule__XSetLiteral__Group__1 )
-            // InternalReportDSL.g:27042:2: rule__XSetLiteral__Group__0__Impl rule__XSetLiteral__Group__1
+            // InternalReportDSL.g:26751:1: ( rule__XSetLiteral__Group__0__Impl rule__XSetLiteral__Group__1 )
+            // InternalReportDSL.g:26752:2: rule__XSetLiteral__Group__0__Impl rule__XSetLiteral__Group__1
             {
-            pushFollow(FOLLOW_142);
+            pushFollow(FOLLOW_141);
             rule__XSetLiteral__Group__0__Impl();
 
             state._fsp--;
@@ -89368,23 +88249,23 @@
 
 
     // $ANTLR start "rule__XSetLiteral__Group__0__Impl"
-    // InternalReportDSL.g:27049:1: rule__XSetLiteral__Group__0__Impl : ( () ) ;
+    // InternalReportDSL.g:26759:1: rule__XSetLiteral__Group__0__Impl : ( () ) ;
     public final void rule__XSetLiteral__Group__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:27053:1: ( ( () ) )
-            // InternalReportDSL.g:27054:1: ( () )
+            // InternalReportDSL.g:26763:1: ( ( () ) )
+            // InternalReportDSL.g:26764:1: ( () )
             {
-            // InternalReportDSL.g:27054:1: ( () )
-            // InternalReportDSL.g:27055:2: ()
+            // InternalReportDSL.g:26764:1: ( () )
+            // InternalReportDSL.g:26765:2: ()
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXSetLiteralAccess().getXSetLiteralAction_0()); 
             }
-            // InternalReportDSL.g:27056:2: ()
-            // InternalReportDSL.g:27056:3: 
+            // InternalReportDSL.g:26766:2: ()
+            // InternalReportDSL.g:26766:3: 
             {
             }
 
@@ -89409,14 +88290,14 @@
 
 
     // $ANTLR start "rule__XSetLiteral__Group__1"
-    // InternalReportDSL.g:27064:1: rule__XSetLiteral__Group__1 : rule__XSetLiteral__Group__1__Impl rule__XSetLiteral__Group__2 ;
+    // InternalReportDSL.g:26774:1: rule__XSetLiteral__Group__1 : rule__XSetLiteral__Group__1__Impl rule__XSetLiteral__Group__2 ;
     public final void rule__XSetLiteral__Group__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:27068:1: ( rule__XSetLiteral__Group__1__Impl rule__XSetLiteral__Group__2 )
-            // InternalReportDSL.g:27069:2: rule__XSetLiteral__Group__1__Impl rule__XSetLiteral__Group__2
+            // InternalReportDSL.g:26778:1: ( rule__XSetLiteral__Group__1__Impl rule__XSetLiteral__Group__2 )
+            // InternalReportDSL.g:26779:2: rule__XSetLiteral__Group__1__Impl rule__XSetLiteral__Group__2
             {
             pushFollow(FOLLOW_8);
             rule__XSetLiteral__Group__1__Impl();
@@ -89447,22 +88328,22 @@
 
 
     // $ANTLR start "rule__XSetLiteral__Group__1__Impl"
-    // InternalReportDSL.g:27076:1: rule__XSetLiteral__Group__1__Impl : ( '#' ) ;
+    // InternalReportDSL.g:26786:1: rule__XSetLiteral__Group__1__Impl : ( '#' ) ;
     public final void rule__XSetLiteral__Group__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:27080:1: ( ( '#' ) )
-            // InternalReportDSL.g:27081:1: ( '#' )
+            // InternalReportDSL.g:26790:1: ( ( '#' ) )
+            // InternalReportDSL.g:26791:1: ( '#' )
             {
-            // InternalReportDSL.g:27081:1: ( '#' )
-            // InternalReportDSL.g:27082:2: '#'
+            // InternalReportDSL.g:26791:1: ( '#' )
+            // InternalReportDSL.g:26792:2: '#'
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXSetLiteralAccess().getNumberSignKeyword_1()); 
             }
-            match(input,230,FOLLOW_2); if (state.failed) return ;
+            match(input,237,FOLLOW_2); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getXSetLiteralAccess().getNumberSignKeyword_1()); 
             }
@@ -89488,16 +88369,16 @@
 
 
     // $ANTLR start "rule__XSetLiteral__Group__2"
-    // InternalReportDSL.g:27091:1: rule__XSetLiteral__Group__2 : rule__XSetLiteral__Group__2__Impl rule__XSetLiteral__Group__3 ;
+    // InternalReportDSL.g:26801:1: rule__XSetLiteral__Group__2 : rule__XSetLiteral__Group__2__Impl rule__XSetLiteral__Group__3 ;
     public final void rule__XSetLiteral__Group__2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:27095:1: ( rule__XSetLiteral__Group__2__Impl rule__XSetLiteral__Group__3 )
-            // InternalReportDSL.g:27096:2: rule__XSetLiteral__Group__2__Impl rule__XSetLiteral__Group__3
+            // InternalReportDSL.g:26805:1: ( rule__XSetLiteral__Group__2__Impl rule__XSetLiteral__Group__3 )
+            // InternalReportDSL.g:26806:2: rule__XSetLiteral__Group__2__Impl rule__XSetLiteral__Group__3
             {
-            pushFollow(FOLLOW_179);
+            pushFollow(FOLLOW_177);
             rule__XSetLiteral__Group__2__Impl();
 
             state._fsp--;
@@ -89526,22 +88407,22 @@
 
 
     // $ANTLR start "rule__XSetLiteral__Group__2__Impl"
-    // InternalReportDSL.g:27103:1: rule__XSetLiteral__Group__2__Impl : ( '{' ) ;
+    // InternalReportDSL.g:26813:1: rule__XSetLiteral__Group__2__Impl : ( '{' ) ;
     public final void rule__XSetLiteral__Group__2__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:27107:1: ( ( '{' ) )
-            // InternalReportDSL.g:27108:1: ( '{' )
+            // InternalReportDSL.g:26817:1: ( ( '{' ) )
+            // InternalReportDSL.g:26818:1: ( '{' )
             {
-            // InternalReportDSL.g:27108:1: ( '{' )
-            // InternalReportDSL.g:27109:2: '{'
+            // InternalReportDSL.g:26818:1: ( '{' )
+            // InternalReportDSL.g:26819:2: '{'
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXSetLiteralAccess().getLeftCurlyBracketKeyword_2()); 
             }
-            match(input,125,FOLLOW_2); if (state.failed) return ;
+            match(input,131,FOLLOW_2); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getXSetLiteralAccess().getLeftCurlyBracketKeyword_2()); 
             }
@@ -89567,16 +88448,16 @@
 
 
     // $ANTLR start "rule__XSetLiteral__Group__3"
-    // InternalReportDSL.g:27118:1: rule__XSetLiteral__Group__3 : rule__XSetLiteral__Group__3__Impl rule__XSetLiteral__Group__4 ;
+    // InternalReportDSL.g:26828:1: rule__XSetLiteral__Group__3 : rule__XSetLiteral__Group__3__Impl rule__XSetLiteral__Group__4 ;
     public final void rule__XSetLiteral__Group__3() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:27122:1: ( rule__XSetLiteral__Group__3__Impl rule__XSetLiteral__Group__4 )
-            // InternalReportDSL.g:27123:2: rule__XSetLiteral__Group__3__Impl rule__XSetLiteral__Group__4
+            // InternalReportDSL.g:26832:1: ( rule__XSetLiteral__Group__3__Impl rule__XSetLiteral__Group__4 )
+            // InternalReportDSL.g:26833:2: rule__XSetLiteral__Group__3__Impl rule__XSetLiteral__Group__4
             {
-            pushFollow(FOLLOW_179);
+            pushFollow(FOLLOW_177);
             rule__XSetLiteral__Group__3__Impl();
 
             state._fsp--;
@@ -89605,31 +88486,31 @@
 
 
     // $ANTLR start "rule__XSetLiteral__Group__3__Impl"
-    // InternalReportDSL.g:27130:1: rule__XSetLiteral__Group__3__Impl : ( ( rule__XSetLiteral__Group_3__0 )? ) ;
+    // InternalReportDSL.g:26840:1: rule__XSetLiteral__Group__3__Impl : ( ( rule__XSetLiteral__Group_3__0 )? ) ;
     public final void rule__XSetLiteral__Group__3__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:27134:1: ( ( ( rule__XSetLiteral__Group_3__0 )? ) )
-            // InternalReportDSL.g:27135:1: ( ( rule__XSetLiteral__Group_3__0 )? )
+            // InternalReportDSL.g:26844:1: ( ( ( rule__XSetLiteral__Group_3__0 )? ) )
+            // InternalReportDSL.g:26845:1: ( ( rule__XSetLiteral__Group_3__0 )? )
             {
-            // InternalReportDSL.g:27135:1: ( ( rule__XSetLiteral__Group_3__0 )? )
-            // InternalReportDSL.g:27136:2: ( rule__XSetLiteral__Group_3__0 )?
+            // InternalReportDSL.g:26845:1: ( ( rule__XSetLiteral__Group_3__0 )? )
+            // InternalReportDSL.g:26846:2: ( rule__XSetLiteral__Group_3__0 )?
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXSetLiteralAccess().getGroup_3()); 
             }
-            // InternalReportDSL.g:27137:2: ( rule__XSetLiteral__Group_3__0 )?
-            int alt198=2;
-            int LA198_0 = input.LA(1);
+            // InternalReportDSL.g:26847:2: ( rule__XSetLiteral__Group_3__0 )?
+            int alt180=2;
+            int LA180_0 = input.LA(1);
 
-            if ( ((LA198_0>=RULE_STRING && LA198_0<=RULE_DECIMAL)||LA198_0==31||(LA198_0>=38 && LA198_0<=39)||LA198_0==44||(LA198_0>=49 && LA198_0<=54)||LA198_0==125||LA198_0==204||(LA198_0>=230 && LA198_0<=231)||LA198_0==233||LA198_0==235||(LA198_0>=239 && LA198_0<=247)||LA198_0==249||LA198_0==266) ) {
-                alt198=1;
+            if ( ((LA180_0>=RULE_STRING && LA180_0<=RULE_DECIMAL)||LA180_0==31||(LA180_0>=38 && LA180_0<=39)||LA180_0==44||(LA180_0>=49 && LA180_0<=54)||LA180_0==131||LA180_0==211||(LA180_0>=237 && LA180_0<=238)||LA180_0==240||LA180_0==242||(LA180_0>=246 && LA180_0<=254)||LA180_0==256||LA180_0==271) ) {
+                alt180=1;
             }
-            switch (alt198) {
+            switch (alt180) {
                 case 1 :
-                    // InternalReportDSL.g:27137:3: rule__XSetLiteral__Group_3__0
+                    // InternalReportDSL.g:26847:3: rule__XSetLiteral__Group_3__0
                     {
                     pushFollow(FOLLOW_2);
                     rule__XSetLiteral__Group_3__0();
@@ -89667,14 +88548,14 @@
 
 
     // $ANTLR start "rule__XSetLiteral__Group__4"
-    // InternalReportDSL.g:27145:1: rule__XSetLiteral__Group__4 : rule__XSetLiteral__Group__4__Impl ;
+    // InternalReportDSL.g:26855:1: rule__XSetLiteral__Group__4 : rule__XSetLiteral__Group__4__Impl ;
     public final void rule__XSetLiteral__Group__4() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:27149:1: ( rule__XSetLiteral__Group__4__Impl )
-            // InternalReportDSL.g:27150:2: rule__XSetLiteral__Group__4__Impl
+            // InternalReportDSL.g:26859:1: ( rule__XSetLiteral__Group__4__Impl )
+            // InternalReportDSL.g:26860:2: rule__XSetLiteral__Group__4__Impl
             {
             pushFollow(FOLLOW_2);
             rule__XSetLiteral__Group__4__Impl();
@@ -89700,22 +88581,22 @@
 
 
     // $ANTLR start "rule__XSetLiteral__Group__4__Impl"
-    // InternalReportDSL.g:27156:1: rule__XSetLiteral__Group__4__Impl : ( '}' ) ;
+    // InternalReportDSL.g:26866:1: rule__XSetLiteral__Group__4__Impl : ( '}' ) ;
     public final void rule__XSetLiteral__Group__4__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:27160:1: ( ( '}' ) )
-            // InternalReportDSL.g:27161:1: ( '}' )
+            // InternalReportDSL.g:26870:1: ( ( '}' ) )
+            // InternalReportDSL.g:26871:1: ( '}' )
             {
-            // InternalReportDSL.g:27161:1: ( '}' )
-            // InternalReportDSL.g:27162:2: '}'
+            // InternalReportDSL.g:26871:1: ( '}' )
+            // InternalReportDSL.g:26872:2: '}'
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXSetLiteralAccess().getRightCurlyBracketKeyword_4()); 
             }
-            match(input,126,FOLLOW_2); if (state.failed) return ;
+            match(input,132,FOLLOW_2); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getXSetLiteralAccess().getRightCurlyBracketKeyword_4()); 
             }
@@ -89741,16 +88622,16 @@
 
 
     // $ANTLR start "rule__XSetLiteral__Group_3__0"
-    // InternalReportDSL.g:27172:1: rule__XSetLiteral__Group_3__0 : rule__XSetLiteral__Group_3__0__Impl rule__XSetLiteral__Group_3__1 ;
+    // InternalReportDSL.g:26882:1: rule__XSetLiteral__Group_3__0 : rule__XSetLiteral__Group_3__0__Impl rule__XSetLiteral__Group_3__1 ;
     public final void rule__XSetLiteral__Group_3__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:27176:1: ( rule__XSetLiteral__Group_3__0__Impl rule__XSetLiteral__Group_3__1 )
-            // InternalReportDSL.g:27177:2: rule__XSetLiteral__Group_3__0__Impl rule__XSetLiteral__Group_3__1
+            // InternalReportDSL.g:26886:1: ( rule__XSetLiteral__Group_3__0__Impl rule__XSetLiteral__Group_3__1 )
+            // InternalReportDSL.g:26887:2: rule__XSetLiteral__Group_3__0__Impl rule__XSetLiteral__Group_3__1
             {
-            pushFollow(FOLLOW_137);
+            pushFollow(FOLLOW_136);
             rule__XSetLiteral__Group_3__0__Impl();
 
             state._fsp--;
@@ -89779,23 +88660,23 @@
 
 
     // $ANTLR start "rule__XSetLiteral__Group_3__0__Impl"
-    // InternalReportDSL.g:27184:1: rule__XSetLiteral__Group_3__0__Impl : ( ( rule__XSetLiteral__ElementsAssignment_3_0 ) ) ;
+    // InternalReportDSL.g:26894:1: rule__XSetLiteral__Group_3__0__Impl : ( ( rule__XSetLiteral__ElementsAssignment_3_0 ) ) ;
     public final void rule__XSetLiteral__Group_3__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:27188:1: ( ( ( rule__XSetLiteral__ElementsAssignment_3_0 ) ) )
-            // InternalReportDSL.g:27189:1: ( ( rule__XSetLiteral__ElementsAssignment_3_0 ) )
+            // InternalReportDSL.g:26898:1: ( ( ( rule__XSetLiteral__ElementsAssignment_3_0 ) ) )
+            // InternalReportDSL.g:26899:1: ( ( rule__XSetLiteral__ElementsAssignment_3_0 ) )
             {
-            // InternalReportDSL.g:27189:1: ( ( rule__XSetLiteral__ElementsAssignment_3_0 ) )
-            // InternalReportDSL.g:27190:2: ( rule__XSetLiteral__ElementsAssignment_3_0 )
+            // InternalReportDSL.g:26899:1: ( ( rule__XSetLiteral__ElementsAssignment_3_0 ) )
+            // InternalReportDSL.g:26900:2: ( rule__XSetLiteral__ElementsAssignment_3_0 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXSetLiteralAccess().getElementsAssignment_3_0()); 
             }
-            // InternalReportDSL.g:27191:2: ( rule__XSetLiteral__ElementsAssignment_3_0 )
-            // InternalReportDSL.g:27191:3: rule__XSetLiteral__ElementsAssignment_3_0
+            // InternalReportDSL.g:26901:2: ( rule__XSetLiteral__ElementsAssignment_3_0 )
+            // InternalReportDSL.g:26901:3: rule__XSetLiteral__ElementsAssignment_3_0
             {
             pushFollow(FOLLOW_2);
             rule__XSetLiteral__ElementsAssignment_3_0();
@@ -89830,14 +88711,14 @@
 
 
     // $ANTLR start "rule__XSetLiteral__Group_3__1"
-    // InternalReportDSL.g:27199:1: rule__XSetLiteral__Group_3__1 : rule__XSetLiteral__Group_3__1__Impl ;
+    // InternalReportDSL.g:26909:1: rule__XSetLiteral__Group_3__1 : rule__XSetLiteral__Group_3__1__Impl ;
     public final void rule__XSetLiteral__Group_3__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:27203:1: ( rule__XSetLiteral__Group_3__1__Impl )
-            // InternalReportDSL.g:27204:2: rule__XSetLiteral__Group_3__1__Impl
+            // InternalReportDSL.g:26913:1: ( rule__XSetLiteral__Group_3__1__Impl )
+            // InternalReportDSL.g:26914:2: rule__XSetLiteral__Group_3__1__Impl
             {
             pushFollow(FOLLOW_2);
             rule__XSetLiteral__Group_3__1__Impl();
@@ -89863,37 +88744,37 @@
 
 
     // $ANTLR start "rule__XSetLiteral__Group_3__1__Impl"
-    // InternalReportDSL.g:27210:1: rule__XSetLiteral__Group_3__1__Impl : ( ( rule__XSetLiteral__Group_3_1__0 )* ) ;
+    // InternalReportDSL.g:26920:1: rule__XSetLiteral__Group_3__1__Impl : ( ( rule__XSetLiteral__Group_3_1__0 )* ) ;
     public final void rule__XSetLiteral__Group_3__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:27214:1: ( ( ( rule__XSetLiteral__Group_3_1__0 )* ) )
-            // InternalReportDSL.g:27215:1: ( ( rule__XSetLiteral__Group_3_1__0 )* )
+            // InternalReportDSL.g:26924:1: ( ( ( rule__XSetLiteral__Group_3_1__0 )* ) )
+            // InternalReportDSL.g:26925:1: ( ( rule__XSetLiteral__Group_3_1__0 )* )
             {
-            // InternalReportDSL.g:27215:1: ( ( rule__XSetLiteral__Group_3_1__0 )* )
-            // InternalReportDSL.g:27216:2: ( rule__XSetLiteral__Group_3_1__0 )*
+            // InternalReportDSL.g:26925:1: ( ( rule__XSetLiteral__Group_3_1__0 )* )
+            // InternalReportDSL.g:26926:2: ( rule__XSetLiteral__Group_3_1__0 )*
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXSetLiteralAccess().getGroup_3_1()); 
             }
-            // InternalReportDSL.g:27217:2: ( rule__XSetLiteral__Group_3_1__0 )*
-            loop199:
+            // InternalReportDSL.g:26927:2: ( rule__XSetLiteral__Group_3_1__0 )*
+            loop181:
             do {
-                int alt199=2;
-                int LA199_0 = input.LA(1);
+                int alt181=2;
+                int LA181_0 = input.LA(1);
 
-                if ( (LA199_0==228) ) {
-                    alt199=1;
+                if ( (LA181_0==235) ) {
+                    alt181=1;
                 }
 
 
-                switch (alt199) {
+                switch (alt181) {
             	case 1 :
-            	    // InternalReportDSL.g:27217:3: rule__XSetLiteral__Group_3_1__0
+            	    // InternalReportDSL.g:26927:3: rule__XSetLiteral__Group_3_1__0
             	    {
-            	    pushFollow(FOLLOW_138);
+            	    pushFollow(FOLLOW_137);
             	    rule__XSetLiteral__Group_3_1__0();
 
             	    state._fsp--;
@@ -89903,7 +88784,7 @@
             	    break;
 
             	default :
-            	    break loop199;
+            	    break loop181;
                 }
             } while (true);
 
@@ -89932,16 +88813,16 @@
 
 
     // $ANTLR start "rule__XSetLiteral__Group_3_1__0"
-    // InternalReportDSL.g:27226:1: rule__XSetLiteral__Group_3_1__0 : rule__XSetLiteral__Group_3_1__0__Impl rule__XSetLiteral__Group_3_1__1 ;
+    // InternalReportDSL.g:26936:1: rule__XSetLiteral__Group_3_1__0 : rule__XSetLiteral__Group_3_1__0__Impl rule__XSetLiteral__Group_3_1__1 ;
     public final void rule__XSetLiteral__Group_3_1__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:27230:1: ( rule__XSetLiteral__Group_3_1__0__Impl rule__XSetLiteral__Group_3_1__1 )
-            // InternalReportDSL.g:27231:2: rule__XSetLiteral__Group_3_1__0__Impl rule__XSetLiteral__Group_3_1__1
+            // InternalReportDSL.g:26940:1: ( rule__XSetLiteral__Group_3_1__0__Impl rule__XSetLiteral__Group_3_1__1 )
+            // InternalReportDSL.g:26941:2: rule__XSetLiteral__Group_3_1__0__Impl rule__XSetLiteral__Group_3_1__1
             {
-            pushFollow(FOLLOW_139);
+            pushFollow(FOLLOW_138);
             rule__XSetLiteral__Group_3_1__0__Impl();
 
             state._fsp--;
@@ -89970,22 +88851,22 @@
 
 
     // $ANTLR start "rule__XSetLiteral__Group_3_1__0__Impl"
-    // InternalReportDSL.g:27238:1: rule__XSetLiteral__Group_3_1__0__Impl : ( ',' ) ;
+    // InternalReportDSL.g:26948:1: rule__XSetLiteral__Group_3_1__0__Impl : ( ',' ) ;
     public final void rule__XSetLiteral__Group_3_1__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:27242:1: ( ( ',' ) )
-            // InternalReportDSL.g:27243:1: ( ',' )
+            // InternalReportDSL.g:26952:1: ( ( ',' ) )
+            // InternalReportDSL.g:26953:1: ( ',' )
             {
-            // InternalReportDSL.g:27243:1: ( ',' )
-            // InternalReportDSL.g:27244:2: ','
+            // InternalReportDSL.g:26953:1: ( ',' )
+            // InternalReportDSL.g:26954:2: ','
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXSetLiteralAccess().getCommaKeyword_3_1_0()); 
             }
-            match(input,228,FOLLOW_2); if (state.failed) return ;
+            match(input,235,FOLLOW_2); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getXSetLiteralAccess().getCommaKeyword_3_1_0()); 
             }
@@ -90011,14 +88892,14 @@
 
 
     // $ANTLR start "rule__XSetLiteral__Group_3_1__1"
-    // InternalReportDSL.g:27253:1: rule__XSetLiteral__Group_3_1__1 : rule__XSetLiteral__Group_3_1__1__Impl ;
+    // InternalReportDSL.g:26963:1: rule__XSetLiteral__Group_3_1__1 : rule__XSetLiteral__Group_3_1__1__Impl ;
     public final void rule__XSetLiteral__Group_3_1__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:27257:1: ( rule__XSetLiteral__Group_3_1__1__Impl )
-            // InternalReportDSL.g:27258:2: rule__XSetLiteral__Group_3_1__1__Impl
+            // InternalReportDSL.g:26967:1: ( rule__XSetLiteral__Group_3_1__1__Impl )
+            // InternalReportDSL.g:26968:2: rule__XSetLiteral__Group_3_1__1__Impl
             {
             pushFollow(FOLLOW_2);
             rule__XSetLiteral__Group_3_1__1__Impl();
@@ -90044,23 +88925,23 @@
 
 
     // $ANTLR start "rule__XSetLiteral__Group_3_1__1__Impl"
-    // InternalReportDSL.g:27264:1: rule__XSetLiteral__Group_3_1__1__Impl : ( ( rule__XSetLiteral__ElementsAssignment_3_1_1 ) ) ;
+    // InternalReportDSL.g:26974:1: rule__XSetLiteral__Group_3_1__1__Impl : ( ( rule__XSetLiteral__ElementsAssignment_3_1_1 ) ) ;
     public final void rule__XSetLiteral__Group_3_1__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:27268:1: ( ( ( rule__XSetLiteral__ElementsAssignment_3_1_1 ) ) )
-            // InternalReportDSL.g:27269:1: ( ( rule__XSetLiteral__ElementsAssignment_3_1_1 ) )
+            // InternalReportDSL.g:26978:1: ( ( ( rule__XSetLiteral__ElementsAssignment_3_1_1 ) ) )
+            // InternalReportDSL.g:26979:1: ( ( rule__XSetLiteral__ElementsAssignment_3_1_1 ) )
             {
-            // InternalReportDSL.g:27269:1: ( ( rule__XSetLiteral__ElementsAssignment_3_1_1 ) )
-            // InternalReportDSL.g:27270:2: ( rule__XSetLiteral__ElementsAssignment_3_1_1 )
+            // InternalReportDSL.g:26979:1: ( ( rule__XSetLiteral__ElementsAssignment_3_1_1 ) )
+            // InternalReportDSL.g:26980:2: ( rule__XSetLiteral__ElementsAssignment_3_1_1 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXSetLiteralAccess().getElementsAssignment_3_1_1()); 
             }
-            // InternalReportDSL.g:27271:2: ( rule__XSetLiteral__ElementsAssignment_3_1_1 )
-            // InternalReportDSL.g:27271:3: rule__XSetLiteral__ElementsAssignment_3_1_1
+            // InternalReportDSL.g:26981:2: ( rule__XSetLiteral__ElementsAssignment_3_1_1 )
+            // InternalReportDSL.g:26981:3: rule__XSetLiteral__ElementsAssignment_3_1_1
             {
             pushFollow(FOLLOW_2);
             rule__XSetLiteral__ElementsAssignment_3_1_1();
@@ -90095,16 +88976,16 @@
 
 
     // $ANTLR start "rule__XListLiteral__Group__0"
-    // InternalReportDSL.g:27280:1: rule__XListLiteral__Group__0 : rule__XListLiteral__Group__0__Impl rule__XListLiteral__Group__1 ;
+    // InternalReportDSL.g:26990:1: rule__XListLiteral__Group__0 : rule__XListLiteral__Group__0__Impl rule__XListLiteral__Group__1 ;
     public final void rule__XListLiteral__Group__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:27284:1: ( rule__XListLiteral__Group__0__Impl rule__XListLiteral__Group__1 )
-            // InternalReportDSL.g:27285:2: rule__XListLiteral__Group__0__Impl rule__XListLiteral__Group__1
+            // InternalReportDSL.g:26994:1: ( rule__XListLiteral__Group__0__Impl rule__XListLiteral__Group__1 )
+            // InternalReportDSL.g:26995:2: rule__XListLiteral__Group__0__Impl rule__XListLiteral__Group__1
             {
-            pushFollow(FOLLOW_142);
+            pushFollow(FOLLOW_141);
             rule__XListLiteral__Group__0__Impl();
 
             state._fsp--;
@@ -90133,23 +89014,23 @@
 
 
     // $ANTLR start "rule__XListLiteral__Group__0__Impl"
-    // InternalReportDSL.g:27292:1: rule__XListLiteral__Group__0__Impl : ( () ) ;
+    // InternalReportDSL.g:27002:1: rule__XListLiteral__Group__0__Impl : ( () ) ;
     public final void rule__XListLiteral__Group__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:27296:1: ( ( () ) )
-            // InternalReportDSL.g:27297:1: ( () )
+            // InternalReportDSL.g:27006:1: ( ( () ) )
+            // InternalReportDSL.g:27007:1: ( () )
             {
-            // InternalReportDSL.g:27297:1: ( () )
-            // InternalReportDSL.g:27298:2: ()
+            // InternalReportDSL.g:27007:1: ( () )
+            // InternalReportDSL.g:27008:2: ()
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXListLiteralAccess().getXListLiteralAction_0()); 
             }
-            // InternalReportDSL.g:27299:2: ()
-            // InternalReportDSL.g:27299:3: 
+            // InternalReportDSL.g:27009:2: ()
+            // InternalReportDSL.g:27009:3: 
             {
             }
 
@@ -90174,16 +89055,16 @@
 
 
     // $ANTLR start "rule__XListLiteral__Group__1"
-    // InternalReportDSL.g:27307:1: rule__XListLiteral__Group__1 : rule__XListLiteral__Group__1__Impl rule__XListLiteral__Group__2 ;
+    // InternalReportDSL.g:27017:1: rule__XListLiteral__Group__1 : rule__XListLiteral__Group__1__Impl rule__XListLiteral__Group__2 ;
     public final void rule__XListLiteral__Group__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:27311:1: ( rule__XListLiteral__Group__1__Impl rule__XListLiteral__Group__2 )
-            // InternalReportDSL.g:27312:2: rule__XListLiteral__Group__1__Impl rule__XListLiteral__Group__2
+            // InternalReportDSL.g:27021:1: ( rule__XListLiteral__Group__1__Impl rule__XListLiteral__Group__2 )
+            // InternalReportDSL.g:27022:2: rule__XListLiteral__Group__1__Impl rule__XListLiteral__Group__2
             {
-            pushFollow(FOLLOW_143);
+            pushFollow(FOLLOW_142);
             rule__XListLiteral__Group__1__Impl();
 
             state._fsp--;
@@ -90212,22 +89093,22 @@
 
 
     // $ANTLR start "rule__XListLiteral__Group__1__Impl"
-    // InternalReportDSL.g:27319:1: rule__XListLiteral__Group__1__Impl : ( '#' ) ;
+    // InternalReportDSL.g:27029:1: rule__XListLiteral__Group__1__Impl : ( '#' ) ;
     public final void rule__XListLiteral__Group__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:27323:1: ( ( '#' ) )
-            // InternalReportDSL.g:27324:1: ( '#' )
+            // InternalReportDSL.g:27033:1: ( ( '#' ) )
+            // InternalReportDSL.g:27034:1: ( '#' )
             {
-            // InternalReportDSL.g:27324:1: ( '#' )
-            // InternalReportDSL.g:27325:2: '#'
+            // InternalReportDSL.g:27034:1: ( '#' )
+            // InternalReportDSL.g:27035:2: '#'
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXListLiteralAccess().getNumberSignKeyword_1()); 
             }
-            match(input,230,FOLLOW_2); if (state.failed) return ;
+            match(input,237,FOLLOW_2); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getXListLiteralAccess().getNumberSignKeyword_1()); 
             }
@@ -90253,16 +89134,16 @@
 
 
     // $ANTLR start "rule__XListLiteral__Group__2"
-    // InternalReportDSL.g:27334:1: rule__XListLiteral__Group__2 : rule__XListLiteral__Group__2__Impl rule__XListLiteral__Group__3 ;
+    // InternalReportDSL.g:27044:1: rule__XListLiteral__Group__2 : rule__XListLiteral__Group__2__Impl rule__XListLiteral__Group__3 ;
     public final void rule__XListLiteral__Group__2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:27338:1: ( rule__XListLiteral__Group__2__Impl rule__XListLiteral__Group__3 )
-            // InternalReportDSL.g:27339:2: rule__XListLiteral__Group__2__Impl rule__XListLiteral__Group__3
+            // InternalReportDSL.g:27048:1: ( rule__XListLiteral__Group__2__Impl rule__XListLiteral__Group__3 )
+            // InternalReportDSL.g:27049:2: rule__XListLiteral__Group__2__Impl rule__XListLiteral__Group__3
             {
-            pushFollow(FOLLOW_141);
+            pushFollow(FOLLOW_140);
             rule__XListLiteral__Group__2__Impl();
 
             state._fsp--;
@@ -90291,22 +89172,22 @@
 
 
     // $ANTLR start "rule__XListLiteral__Group__2__Impl"
-    // InternalReportDSL.g:27346:1: rule__XListLiteral__Group__2__Impl : ( '[' ) ;
+    // InternalReportDSL.g:27056:1: rule__XListLiteral__Group__2__Impl : ( '[' ) ;
     public final void rule__XListLiteral__Group__2__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:27350:1: ( ( '[' ) )
-            // InternalReportDSL.g:27351:1: ( '[' )
+            // InternalReportDSL.g:27060:1: ( ( '[' ) )
+            // InternalReportDSL.g:27061:1: ( '[' )
             {
-            // InternalReportDSL.g:27351:1: ( '[' )
-            // InternalReportDSL.g:27352:2: '['
+            // InternalReportDSL.g:27061:1: ( '[' )
+            // InternalReportDSL.g:27062:2: '['
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXListLiteralAccess().getLeftSquareBracketKeyword_2()); 
             }
-            match(input,231,FOLLOW_2); if (state.failed) return ;
+            match(input,238,FOLLOW_2); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getXListLiteralAccess().getLeftSquareBracketKeyword_2()); 
             }
@@ -90332,16 +89213,16 @@
 
 
     // $ANTLR start "rule__XListLiteral__Group__3"
-    // InternalReportDSL.g:27361:1: rule__XListLiteral__Group__3 : rule__XListLiteral__Group__3__Impl rule__XListLiteral__Group__4 ;
+    // InternalReportDSL.g:27071:1: rule__XListLiteral__Group__3 : rule__XListLiteral__Group__3__Impl rule__XListLiteral__Group__4 ;
     public final void rule__XListLiteral__Group__3() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:27365:1: ( rule__XListLiteral__Group__3__Impl rule__XListLiteral__Group__4 )
-            // InternalReportDSL.g:27366:2: rule__XListLiteral__Group__3__Impl rule__XListLiteral__Group__4
+            // InternalReportDSL.g:27075:1: ( rule__XListLiteral__Group__3__Impl rule__XListLiteral__Group__4 )
+            // InternalReportDSL.g:27076:2: rule__XListLiteral__Group__3__Impl rule__XListLiteral__Group__4
             {
-            pushFollow(FOLLOW_141);
+            pushFollow(FOLLOW_140);
             rule__XListLiteral__Group__3__Impl();
 
             state._fsp--;
@@ -90370,31 +89251,31 @@
 
 
     // $ANTLR start "rule__XListLiteral__Group__3__Impl"
-    // InternalReportDSL.g:27373:1: rule__XListLiteral__Group__3__Impl : ( ( rule__XListLiteral__Group_3__0 )? ) ;
+    // InternalReportDSL.g:27083:1: rule__XListLiteral__Group__3__Impl : ( ( rule__XListLiteral__Group_3__0 )? ) ;
     public final void rule__XListLiteral__Group__3__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:27377:1: ( ( ( rule__XListLiteral__Group_3__0 )? ) )
-            // InternalReportDSL.g:27378:1: ( ( rule__XListLiteral__Group_3__0 )? )
+            // InternalReportDSL.g:27087:1: ( ( ( rule__XListLiteral__Group_3__0 )? ) )
+            // InternalReportDSL.g:27088:1: ( ( rule__XListLiteral__Group_3__0 )? )
             {
-            // InternalReportDSL.g:27378:1: ( ( rule__XListLiteral__Group_3__0 )? )
-            // InternalReportDSL.g:27379:2: ( rule__XListLiteral__Group_3__0 )?
+            // InternalReportDSL.g:27088:1: ( ( rule__XListLiteral__Group_3__0 )? )
+            // InternalReportDSL.g:27089:2: ( rule__XListLiteral__Group_3__0 )?
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXListLiteralAccess().getGroup_3()); 
             }
-            // InternalReportDSL.g:27380:2: ( rule__XListLiteral__Group_3__0 )?
-            int alt200=2;
-            int LA200_0 = input.LA(1);
+            // InternalReportDSL.g:27090:2: ( rule__XListLiteral__Group_3__0 )?
+            int alt182=2;
+            int LA182_0 = input.LA(1);
 
-            if ( ((LA200_0>=RULE_STRING && LA200_0<=RULE_DECIMAL)||LA200_0==31||(LA200_0>=38 && LA200_0<=39)||LA200_0==44||(LA200_0>=49 && LA200_0<=54)||LA200_0==125||LA200_0==204||(LA200_0>=230 && LA200_0<=231)||LA200_0==233||LA200_0==235||(LA200_0>=239 && LA200_0<=247)||LA200_0==249||LA200_0==266) ) {
-                alt200=1;
+            if ( ((LA182_0>=RULE_STRING && LA182_0<=RULE_DECIMAL)||LA182_0==31||(LA182_0>=38 && LA182_0<=39)||LA182_0==44||(LA182_0>=49 && LA182_0<=54)||LA182_0==131||LA182_0==211||(LA182_0>=237 && LA182_0<=238)||LA182_0==240||LA182_0==242||(LA182_0>=246 && LA182_0<=254)||LA182_0==256||LA182_0==271) ) {
+                alt182=1;
             }
-            switch (alt200) {
+            switch (alt182) {
                 case 1 :
-                    // InternalReportDSL.g:27380:3: rule__XListLiteral__Group_3__0
+                    // InternalReportDSL.g:27090:3: rule__XListLiteral__Group_3__0
                     {
                     pushFollow(FOLLOW_2);
                     rule__XListLiteral__Group_3__0();
@@ -90432,14 +89313,14 @@
 
 
     // $ANTLR start "rule__XListLiteral__Group__4"
-    // InternalReportDSL.g:27388:1: rule__XListLiteral__Group__4 : rule__XListLiteral__Group__4__Impl ;
+    // InternalReportDSL.g:27098:1: rule__XListLiteral__Group__4 : rule__XListLiteral__Group__4__Impl ;
     public final void rule__XListLiteral__Group__4() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:27392:1: ( rule__XListLiteral__Group__4__Impl )
-            // InternalReportDSL.g:27393:2: rule__XListLiteral__Group__4__Impl
+            // InternalReportDSL.g:27102:1: ( rule__XListLiteral__Group__4__Impl )
+            // InternalReportDSL.g:27103:2: rule__XListLiteral__Group__4__Impl
             {
             pushFollow(FOLLOW_2);
             rule__XListLiteral__Group__4__Impl();
@@ -90465,22 +89346,22 @@
 
 
     // $ANTLR start "rule__XListLiteral__Group__4__Impl"
-    // InternalReportDSL.g:27399:1: rule__XListLiteral__Group__4__Impl : ( ']' ) ;
+    // InternalReportDSL.g:27109:1: rule__XListLiteral__Group__4__Impl : ( ']' ) ;
     public final void rule__XListLiteral__Group__4__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:27403:1: ( ( ']' ) )
-            // InternalReportDSL.g:27404:1: ( ']' )
+            // InternalReportDSL.g:27113:1: ( ( ']' ) )
+            // InternalReportDSL.g:27114:1: ( ']' )
             {
-            // InternalReportDSL.g:27404:1: ( ']' )
-            // InternalReportDSL.g:27405:2: ']'
+            // InternalReportDSL.g:27114:1: ( ']' )
+            // InternalReportDSL.g:27115:2: ']'
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXListLiteralAccess().getRightSquareBracketKeyword_4()); 
             }
-            match(input,229,FOLLOW_2); if (state.failed) return ;
+            match(input,236,FOLLOW_2); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getXListLiteralAccess().getRightSquareBracketKeyword_4()); 
             }
@@ -90506,16 +89387,16 @@
 
 
     // $ANTLR start "rule__XListLiteral__Group_3__0"
-    // InternalReportDSL.g:27415:1: rule__XListLiteral__Group_3__0 : rule__XListLiteral__Group_3__0__Impl rule__XListLiteral__Group_3__1 ;
+    // InternalReportDSL.g:27125:1: rule__XListLiteral__Group_3__0 : rule__XListLiteral__Group_3__0__Impl rule__XListLiteral__Group_3__1 ;
     public final void rule__XListLiteral__Group_3__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:27419:1: ( rule__XListLiteral__Group_3__0__Impl rule__XListLiteral__Group_3__1 )
-            // InternalReportDSL.g:27420:2: rule__XListLiteral__Group_3__0__Impl rule__XListLiteral__Group_3__1
+            // InternalReportDSL.g:27129:1: ( rule__XListLiteral__Group_3__0__Impl rule__XListLiteral__Group_3__1 )
+            // InternalReportDSL.g:27130:2: rule__XListLiteral__Group_3__0__Impl rule__XListLiteral__Group_3__1
             {
-            pushFollow(FOLLOW_137);
+            pushFollow(FOLLOW_136);
             rule__XListLiteral__Group_3__0__Impl();
 
             state._fsp--;
@@ -90544,23 +89425,23 @@
 
 
     // $ANTLR start "rule__XListLiteral__Group_3__0__Impl"
-    // InternalReportDSL.g:27427:1: rule__XListLiteral__Group_3__0__Impl : ( ( rule__XListLiteral__ElementsAssignment_3_0 ) ) ;
+    // InternalReportDSL.g:27137:1: rule__XListLiteral__Group_3__0__Impl : ( ( rule__XListLiteral__ElementsAssignment_3_0 ) ) ;
     public final void rule__XListLiteral__Group_3__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:27431:1: ( ( ( rule__XListLiteral__ElementsAssignment_3_0 ) ) )
-            // InternalReportDSL.g:27432:1: ( ( rule__XListLiteral__ElementsAssignment_3_0 ) )
+            // InternalReportDSL.g:27141:1: ( ( ( rule__XListLiteral__ElementsAssignment_3_0 ) ) )
+            // InternalReportDSL.g:27142:1: ( ( rule__XListLiteral__ElementsAssignment_3_0 ) )
             {
-            // InternalReportDSL.g:27432:1: ( ( rule__XListLiteral__ElementsAssignment_3_0 ) )
-            // InternalReportDSL.g:27433:2: ( rule__XListLiteral__ElementsAssignment_3_0 )
+            // InternalReportDSL.g:27142:1: ( ( rule__XListLiteral__ElementsAssignment_3_0 ) )
+            // InternalReportDSL.g:27143:2: ( rule__XListLiteral__ElementsAssignment_3_0 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXListLiteralAccess().getElementsAssignment_3_0()); 
             }
-            // InternalReportDSL.g:27434:2: ( rule__XListLiteral__ElementsAssignment_3_0 )
-            // InternalReportDSL.g:27434:3: rule__XListLiteral__ElementsAssignment_3_0
+            // InternalReportDSL.g:27144:2: ( rule__XListLiteral__ElementsAssignment_3_0 )
+            // InternalReportDSL.g:27144:3: rule__XListLiteral__ElementsAssignment_3_0
             {
             pushFollow(FOLLOW_2);
             rule__XListLiteral__ElementsAssignment_3_0();
@@ -90595,14 +89476,14 @@
 
 
     // $ANTLR start "rule__XListLiteral__Group_3__1"
-    // InternalReportDSL.g:27442:1: rule__XListLiteral__Group_3__1 : rule__XListLiteral__Group_3__1__Impl ;
+    // InternalReportDSL.g:27152:1: rule__XListLiteral__Group_3__1 : rule__XListLiteral__Group_3__1__Impl ;
     public final void rule__XListLiteral__Group_3__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:27446:1: ( rule__XListLiteral__Group_3__1__Impl )
-            // InternalReportDSL.g:27447:2: rule__XListLiteral__Group_3__1__Impl
+            // InternalReportDSL.g:27156:1: ( rule__XListLiteral__Group_3__1__Impl )
+            // InternalReportDSL.g:27157:2: rule__XListLiteral__Group_3__1__Impl
             {
             pushFollow(FOLLOW_2);
             rule__XListLiteral__Group_3__1__Impl();
@@ -90628,37 +89509,37 @@
 
 
     // $ANTLR start "rule__XListLiteral__Group_3__1__Impl"
-    // InternalReportDSL.g:27453:1: rule__XListLiteral__Group_3__1__Impl : ( ( rule__XListLiteral__Group_3_1__0 )* ) ;
+    // InternalReportDSL.g:27163:1: rule__XListLiteral__Group_3__1__Impl : ( ( rule__XListLiteral__Group_3_1__0 )* ) ;
     public final void rule__XListLiteral__Group_3__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:27457:1: ( ( ( rule__XListLiteral__Group_3_1__0 )* ) )
-            // InternalReportDSL.g:27458:1: ( ( rule__XListLiteral__Group_3_1__0 )* )
+            // InternalReportDSL.g:27167:1: ( ( ( rule__XListLiteral__Group_3_1__0 )* ) )
+            // InternalReportDSL.g:27168:1: ( ( rule__XListLiteral__Group_3_1__0 )* )
             {
-            // InternalReportDSL.g:27458:1: ( ( rule__XListLiteral__Group_3_1__0 )* )
-            // InternalReportDSL.g:27459:2: ( rule__XListLiteral__Group_3_1__0 )*
+            // InternalReportDSL.g:27168:1: ( ( rule__XListLiteral__Group_3_1__0 )* )
+            // InternalReportDSL.g:27169:2: ( rule__XListLiteral__Group_3_1__0 )*
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXListLiteralAccess().getGroup_3_1()); 
             }
-            // InternalReportDSL.g:27460:2: ( rule__XListLiteral__Group_3_1__0 )*
-            loop201:
+            // InternalReportDSL.g:27170:2: ( rule__XListLiteral__Group_3_1__0 )*
+            loop183:
             do {
-                int alt201=2;
-                int LA201_0 = input.LA(1);
+                int alt183=2;
+                int LA183_0 = input.LA(1);
 
-                if ( (LA201_0==228) ) {
-                    alt201=1;
+                if ( (LA183_0==235) ) {
+                    alt183=1;
                 }
 
 
-                switch (alt201) {
+                switch (alt183) {
             	case 1 :
-            	    // InternalReportDSL.g:27460:3: rule__XListLiteral__Group_3_1__0
+            	    // InternalReportDSL.g:27170:3: rule__XListLiteral__Group_3_1__0
             	    {
-            	    pushFollow(FOLLOW_138);
+            	    pushFollow(FOLLOW_137);
             	    rule__XListLiteral__Group_3_1__0();
 
             	    state._fsp--;
@@ -90668,7 +89549,7 @@
             	    break;
 
             	default :
-            	    break loop201;
+            	    break loop183;
                 }
             } while (true);
 
@@ -90697,16 +89578,16 @@
 
 
     // $ANTLR start "rule__XListLiteral__Group_3_1__0"
-    // InternalReportDSL.g:27469:1: rule__XListLiteral__Group_3_1__0 : rule__XListLiteral__Group_3_1__0__Impl rule__XListLiteral__Group_3_1__1 ;
+    // InternalReportDSL.g:27179:1: rule__XListLiteral__Group_3_1__0 : rule__XListLiteral__Group_3_1__0__Impl rule__XListLiteral__Group_3_1__1 ;
     public final void rule__XListLiteral__Group_3_1__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:27473:1: ( rule__XListLiteral__Group_3_1__0__Impl rule__XListLiteral__Group_3_1__1 )
-            // InternalReportDSL.g:27474:2: rule__XListLiteral__Group_3_1__0__Impl rule__XListLiteral__Group_3_1__1
+            // InternalReportDSL.g:27183:1: ( rule__XListLiteral__Group_3_1__0__Impl rule__XListLiteral__Group_3_1__1 )
+            // InternalReportDSL.g:27184:2: rule__XListLiteral__Group_3_1__0__Impl rule__XListLiteral__Group_3_1__1
             {
-            pushFollow(FOLLOW_139);
+            pushFollow(FOLLOW_138);
             rule__XListLiteral__Group_3_1__0__Impl();
 
             state._fsp--;
@@ -90735,22 +89616,22 @@
 
 
     // $ANTLR start "rule__XListLiteral__Group_3_1__0__Impl"
-    // InternalReportDSL.g:27481:1: rule__XListLiteral__Group_3_1__0__Impl : ( ',' ) ;
+    // InternalReportDSL.g:27191:1: rule__XListLiteral__Group_3_1__0__Impl : ( ',' ) ;
     public final void rule__XListLiteral__Group_3_1__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:27485:1: ( ( ',' ) )
-            // InternalReportDSL.g:27486:1: ( ',' )
+            // InternalReportDSL.g:27195:1: ( ( ',' ) )
+            // InternalReportDSL.g:27196:1: ( ',' )
             {
-            // InternalReportDSL.g:27486:1: ( ',' )
-            // InternalReportDSL.g:27487:2: ','
+            // InternalReportDSL.g:27196:1: ( ',' )
+            // InternalReportDSL.g:27197:2: ','
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXListLiteralAccess().getCommaKeyword_3_1_0()); 
             }
-            match(input,228,FOLLOW_2); if (state.failed) return ;
+            match(input,235,FOLLOW_2); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getXListLiteralAccess().getCommaKeyword_3_1_0()); 
             }
@@ -90776,14 +89657,14 @@
 
 
     // $ANTLR start "rule__XListLiteral__Group_3_1__1"
-    // InternalReportDSL.g:27496:1: rule__XListLiteral__Group_3_1__1 : rule__XListLiteral__Group_3_1__1__Impl ;
+    // InternalReportDSL.g:27206:1: rule__XListLiteral__Group_3_1__1 : rule__XListLiteral__Group_3_1__1__Impl ;
     public final void rule__XListLiteral__Group_3_1__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:27500:1: ( rule__XListLiteral__Group_3_1__1__Impl )
-            // InternalReportDSL.g:27501:2: rule__XListLiteral__Group_3_1__1__Impl
+            // InternalReportDSL.g:27210:1: ( rule__XListLiteral__Group_3_1__1__Impl )
+            // InternalReportDSL.g:27211:2: rule__XListLiteral__Group_3_1__1__Impl
             {
             pushFollow(FOLLOW_2);
             rule__XListLiteral__Group_3_1__1__Impl();
@@ -90809,23 +89690,23 @@
 
 
     // $ANTLR start "rule__XListLiteral__Group_3_1__1__Impl"
-    // InternalReportDSL.g:27507:1: rule__XListLiteral__Group_3_1__1__Impl : ( ( rule__XListLiteral__ElementsAssignment_3_1_1 ) ) ;
+    // InternalReportDSL.g:27217:1: rule__XListLiteral__Group_3_1__1__Impl : ( ( rule__XListLiteral__ElementsAssignment_3_1_1 ) ) ;
     public final void rule__XListLiteral__Group_3_1__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:27511:1: ( ( ( rule__XListLiteral__ElementsAssignment_3_1_1 ) ) )
-            // InternalReportDSL.g:27512:1: ( ( rule__XListLiteral__ElementsAssignment_3_1_1 ) )
+            // InternalReportDSL.g:27221:1: ( ( ( rule__XListLiteral__ElementsAssignment_3_1_1 ) ) )
+            // InternalReportDSL.g:27222:1: ( ( rule__XListLiteral__ElementsAssignment_3_1_1 ) )
             {
-            // InternalReportDSL.g:27512:1: ( ( rule__XListLiteral__ElementsAssignment_3_1_1 ) )
-            // InternalReportDSL.g:27513:2: ( rule__XListLiteral__ElementsAssignment_3_1_1 )
+            // InternalReportDSL.g:27222:1: ( ( rule__XListLiteral__ElementsAssignment_3_1_1 ) )
+            // InternalReportDSL.g:27223:2: ( rule__XListLiteral__ElementsAssignment_3_1_1 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXListLiteralAccess().getElementsAssignment_3_1_1()); 
             }
-            // InternalReportDSL.g:27514:2: ( rule__XListLiteral__ElementsAssignment_3_1_1 )
-            // InternalReportDSL.g:27514:3: rule__XListLiteral__ElementsAssignment_3_1_1
+            // InternalReportDSL.g:27224:2: ( rule__XListLiteral__ElementsAssignment_3_1_1 )
+            // InternalReportDSL.g:27224:3: rule__XListLiteral__ElementsAssignment_3_1_1
             {
             pushFollow(FOLLOW_2);
             rule__XListLiteral__ElementsAssignment_3_1_1();
@@ -90860,16 +89741,16 @@
 
 
     // $ANTLR start "rule__XClosure__Group__0"
-    // InternalReportDSL.g:27523:1: rule__XClosure__Group__0 : rule__XClosure__Group__0__Impl rule__XClosure__Group__1 ;
+    // InternalReportDSL.g:27233:1: rule__XClosure__Group__0 : rule__XClosure__Group__0__Impl rule__XClosure__Group__1 ;
     public final void rule__XClosure__Group__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:27527:1: ( rule__XClosure__Group__0__Impl rule__XClosure__Group__1 )
-            // InternalReportDSL.g:27528:2: rule__XClosure__Group__0__Impl rule__XClosure__Group__1
+            // InternalReportDSL.g:27237:1: ( rule__XClosure__Group__0__Impl rule__XClosure__Group__1 )
+            // InternalReportDSL.g:27238:2: rule__XClosure__Group__0__Impl rule__XClosure__Group__1
             {
-            pushFollow(FOLLOW_180);
+            pushFollow(FOLLOW_178);
             rule__XClosure__Group__0__Impl();
 
             state._fsp--;
@@ -90898,23 +89779,23 @@
 
 
     // $ANTLR start "rule__XClosure__Group__0__Impl"
-    // InternalReportDSL.g:27535:1: rule__XClosure__Group__0__Impl : ( ( rule__XClosure__Group_0__0 ) ) ;
+    // InternalReportDSL.g:27245:1: rule__XClosure__Group__0__Impl : ( ( rule__XClosure__Group_0__0 ) ) ;
     public final void rule__XClosure__Group__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:27539:1: ( ( ( rule__XClosure__Group_0__0 ) ) )
-            // InternalReportDSL.g:27540:1: ( ( rule__XClosure__Group_0__0 ) )
+            // InternalReportDSL.g:27249:1: ( ( ( rule__XClosure__Group_0__0 ) ) )
+            // InternalReportDSL.g:27250:1: ( ( rule__XClosure__Group_0__0 ) )
             {
-            // InternalReportDSL.g:27540:1: ( ( rule__XClosure__Group_0__0 ) )
-            // InternalReportDSL.g:27541:2: ( rule__XClosure__Group_0__0 )
+            // InternalReportDSL.g:27250:1: ( ( rule__XClosure__Group_0__0 ) )
+            // InternalReportDSL.g:27251:2: ( rule__XClosure__Group_0__0 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXClosureAccess().getGroup_0()); 
             }
-            // InternalReportDSL.g:27542:2: ( rule__XClosure__Group_0__0 )
-            // InternalReportDSL.g:27542:3: rule__XClosure__Group_0__0
+            // InternalReportDSL.g:27252:2: ( rule__XClosure__Group_0__0 )
+            // InternalReportDSL.g:27252:3: rule__XClosure__Group_0__0
             {
             pushFollow(FOLLOW_2);
             rule__XClosure__Group_0__0();
@@ -90949,16 +89830,16 @@
 
 
     // $ANTLR start "rule__XClosure__Group__1"
-    // InternalReportDSL.g:27550:1: rule__XClosure__Group__1 : rule__XClosure__Group__1__Impl rule__XClosure__Group__2 ;
+    // InternalReportDSL.g:27260:1: rule__XClosure__Group__1 : rule__XClosure__Group__1__Impl rule__XClosure__Group__2 ;
     public final void rule__XClosure__Group__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:27554:1: ( rule__XClosure__Group__1__Impl rule__XClosure__Group__2 )
-            // InternalReportDSL.g:27555:2: rule__XClosure__Group__1__Impl rule__XClosure__Group__2
+            // InternalReportDSL.g:27264:1: ( rule__XClosure__Group__1__Impl rule__XClosure__Group__2 )
+            // InternalReportDSL.g:27265:2: rule__XClosure__Group__1__Impl rule__XClosure__Group__2
             {
-            pushFollow(FOLLOW_180);
+            pushFollow(FOLLOW_178);
             rule__XClosure__Group__1__Impl();
 
             state._fsp--;
@@ -90987,27 +89868,27 @@
 
 
     // $ANTLR start "rule__XClosure__Group__1__Impl"
-    // InternalReportDSL.g:27562:1: rule__XClosure__Group__1__Impl : ( ( rule__XClosure__Group_1__0 )? ) ;
+    // InternalReportDSL.g:27272:1: rule__XClosure__Group__1__Impl : ( ( rule__XClosure__Group_1__0 )? ) ;
     public final void rule__XClosure__Group__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:27566:1: ( ( ( rule__XClosure__Group_1__0 )? ) )
-            // InternalReportDSL.g:27567:1: ( ( rule__XClosure__Group_1__0 )? )
+            // InternalReportDSL.g:27276:1: ( ( ( rule__XClosure__Group_1__0 )? ) )
+            // InternalReportDSL.g:27277:1: ( ( rule__XClosure__Group_1__0 )? )
             {
-            // InternalReportDSL.g:27567:1: ( ( rule__XClosure__Group_1__0 )? )
-            // InternalReportDSL.g:27568:2: ( rule__XClosure__Group_1__0 )?
+            // InternalReportDSL.g:27277:1: ( ( rule__XClosure__Group_1__0 )? )
+            // InternalReportDSL.g:27278:2: ( rule__XClosure__Group_1__0 )?
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXClosureAccess().getGroup_1()); 
             }
-            // InternalReportDSL.g:27569:2: ( rule__XClosure__Group_1__0 )?
-            int alt202=2;
-            alt202 = dfa202.predict(input);
-            switch (alt202) {
+            // InternalReportDSL.g:27279:2: ( rule__XClosure__Group_1__0 )?
+            int alt184=2;
+            alt184 = dfa184.predict(input);
+            switch (alt184) {
                 case 1 :
-                    // InternalReportDSL.g:27569:3: rule__XClosure__Group_1__0
+                    // InternalReportDSL.g:27279:3: rule__XClosure__Group_1__0
                     {
                     pushFollow(FOLLOW_2);
                     rule__XClosure__Group_1__0();
@@ -91045,16 +89926,16 @@
 
 
     // $ANTLR start "rule__XClosure__Group__2"
-    // InternalReportDSL.g:27577:1: rule__XClosure__Group__2 : rule__XClosure__Group__2__Impl rule__XClosure__Group__3 ;
+    // InternalReportDSL.g:27287:1: rule__XClosure__Group__2 : rule__XClosure__Group__2__Impl rule__XClosure__Group__3 ;
     public final void rule__XClosure__Group__2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:27581:1: ( rule__XClosure__Group__2__Impl rule__XClosure__Group__3 )
-            // InternalReportDSL.g:27582:2: rule__XClosure__Group__2__Impl rule__XClosure__Group__3
+            // InternalReportDSL.g:27291:1: ( rule__XClosure__Group__2__Impl rule__XClosure__Group__3 )
+            // InternalReportDSL.g:27292:2: rule__XClosure__Group__2__Impl rule__XClosure__Group__3
             {
-            pushFollow(FOLLOW_181);
+            pushFollow(FOLLOW_179);
             rule__XClosure__Group__2__Impl();
 
             state._fsp--;
@@ -91083,23 +89964,23 @@
 
 
     // $ANTLR start "rule__XClosure__Group__2__Impl"
-    // InternalReportDSL.g:27589:1: rule__XClosure__Group__2__Impl : ( ( rule__XClosure__ExpressionAssignment_2 ) ) ;
+    // InternalReportDSL.g:27299:1: rule__XClosure__Group__2__Impl : ( ( rule__XClosure__ExpressionAssignment_2 ) ) ;
     public final void rule__XClosure__Group__2__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:27593:1: ( ( ( rule__XClosure__ExpressionAssignment_2 ) ) )
-            // InternalReportDSL.g:27594:1: ( ( rule__XClosure__ExpressionAssignment_2 ) )
+            // InternalReportDSL.g:27303:1: ( ( ( rule__XClosure__ExpressionAssignment_2 ) ) )
+            // InternalReportDSL.g:27304:1: ( ( rule__XClosure__ExpressionAssignment_2 ) )
             {
-            // InternalReportDSL.g:27594:1: ( ( rule__XClosure__ExpressionAssignment_2 ) )
-            // InternalReportDSL.g:27595:2: ( rule__XClosure__ExpressionAssignment_2 )
+            // InternalReportDSL.g:27304:1: ( ( rule__XClosure__ExpressionAssignment_2 ) )
+            // InternalReportDSL.g:27305:2: ( rule__XClosure__ExpressionAssignment_2 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXClosureAccess().getExpressionAssignment_2()); 
             }
-            // InternalReportDSL.g:27596:2: ( rule__XClosure__ExpressionAssignment_2 )
-            // InternalReportDSL.g:27596:3: rule__XClosure__ExpressionAssignment_2
+            // InternalReportDSL.g:27306:2: ( rule__XClosure__ExpressionAssignment_2 )
+            // InternalReportDSL.g:27306:3: rule__XClosure__ExpressionAssignment_2
             {
             pushFollow(FOLLOW_2);
             rule__XClosure__ExpressionAssignment_2();
@@ -91134,14 +90015,14 @@
 
 
     // $ANTLR start "rule__XClosure__Group__3"
-    // InternalReportDSL.g:27604:1: rule__XClosure__Group__3 : rule__XClosure__Group__3__Impl ;
+    // InternalReportDSL.g:27314:1: rule__XClosure__Group__3 : rule__XClosure__Group__3__Impl ;
     public final void rule__XClosure__Group__3() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:27608:1: ( rule__XClosure__Group__3__Impl )
-            // InternalReportDSL.g:27609:2: rule__XClosure__Group__3__Impl
+            // InternalReportDSL.g:27318:1: ( rule__XClosure__Group__3__Impl )
+            // InternalReportDSL.g:27319:2: rule__XClosure__Group__3__Impl
             {
             pushFollow(FOLLOW_2);
             rule__XClosure__Group__3__Impl();
@@ -91167,22 +90048,22 @@
 
 
     // $ANTLR start "rule__XClosure__Group__3__Impl"
-    // InternalReportDSL.g:27615:1: rule__XClosure__Group__3__Impl : ( ']' ) ;
+    // InternalReportDSL.g:27325:1: rule__XClosure__Group__3__Impl : ( ']' ) ;
     public final void rule__XClosure__Group__3__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:27619:1: ( ( ']' ) )
-            // InternalReportDSL.g:27620:1: ( ']' )
+            // InternalReportDSL.g:27329:1: ( ( ']' ) )
+            // InternalReportDSL.g:27330:1: ( ']' )
             {
-            // InternalReportDSL.g:27620:1: ( ']' )
-            // InternalReportDSL.g:27621:2: ']'
+            // InternalReportDSL.g:27330:1: ( ']' )
+            // InternalReportDSL.g:27331:2: ']'
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXClosureAccess().getRightSquareBracketKeyword_3()); 
             }
-            match(input,229,FOLLOW_2); if (state.failed) return ;
+            match(input,236,FOLLOW_2); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getXClosureAccess().getRightSquareBracketKeyword_3()); 
             }
@@ -91208,14 +90089,14 @@
 
 
     // $ANTLR start "rule__XClosure__Group_0__0"
-    // InternalReportDSL.g:27631:1: rule__XClosure__Group_0__0 : rule__XClosure__Group_0__0__Impl ;
+    // InternalReportDSL.g:27341:1: rule__XClosure__Group_0__0 : rule__XClosure__Group_0__0__Impl ;
     public final void rule__XClosure__Group_0__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:27635:1: ( rule__XClosure__Group_0__0__Impl )
-            // InternalReportDSL.g:27636:2: rule__XClosure__Group_0__0__Impl
+            // InternalReportDSL.g:27345:1: ( rule__XClosure__Group_0__0__Impl )
+            // InternalReportDSL.g:27346:2: rule__XClosure__Group_0__0__Impl
             {
             pushFollow(FOLLOW_2);
             rule__XClosure__Group_0__0__Impl();
@@ -91241,23 +90122,23 @@
 
 
     // $ANTLR start "rule__XClosure__Group_0__0__Impl"
-    // InternalReportDSL.g:27642:1: rule__XClosure__Group_0__0__Impl : ( ( rule__XClosure__Group_0_0__0 ) ) ;
+    // InternalReportDSL.g:27352:1: rule__XClosure__Group_0__0__Impl : ( ( rule__XClosure__Group_0_0__0 ) ) ;
     public final void rule__XClosure__Group_0__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:27646:1: ( ( ( rule__XClosure__Group_0_0__0 ) ) )
-            // InternalReportDSL.g:27647:1: ( ( rule__XClosure__Group_0_0__0 ) )
+            // InternalReportDSL.g:27356:1: ( ( ( rule__XClosure__Group_0_0__0 ) ) )
+            // InternalReportDSL.g:27357:1: ( ( rule__XClosure__Group_0_0__0 ) )
             {
-            // InternalReportDSL.g:27647:1: ( ( rule__XClosure__Group_0_0__0 ) )
-            // InternalReportDSL.g:27648:2: ( rule__XClosure__Group_0_0__0 )
+            // InternalReportDSL.g:27357:1: ( ( rule__XClosure__Group_0_0__0 ) )
+            // InternalReportDSL.g:27358:2: ( rule__XClosure__Group_0_0__0 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXClosureAccess().getGroup_0_0()); 
             }
-            // InternalReportDSL.g:27649:2: ( rule__XClosure__Group_0_0__0 )
-            // InternalReportDSL.g:27649:3: rule__XClosure__Group_0_0__0
+            // InternalReportDSL.g:27359:2: ( rule__XClosure__Group_0_0__0 )
+            // InternalReportDSL.g:27359:3: rule__XClosure__Group_0_0__0
             {
             pushFollow(FOLLOW_2);
             rule__XClosure__Group_0_0__0();
@@ -91292,16 +90173,16 @@
 
 
     // $ANTLR start "rule__XClosure__Group_0_0__0"
-    // InternalReportDSL.g:27658:1: rule__XClosure__Group_0_0__0 : rule__XClosure__Group_0_0__0__Impl rule__XClosure__Group_0_0__1 ;
+    // InternalReportDSL.g:27368:1: rule__XClosure__Group_0_0__0 : rule__XClosure__Group_0_0__0__Impl rule__XClosure__Group_0_0__1 ;
     public final void rule__XClosure__Group_0_0__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:27662:1: ( rule__XClosure__Group_0_0__0__Impl rule__XClosure__Group_0_0__1 )
-            // InternalReportDSL.g:27663:2: rule__XClosure__Group_0_0__0__Impl rule__XClosure__Group_0_0__1
+            // InternalReportDSL.g:27372:1: ( rule__XClosure__Group_0_0__0__Impl rule__XClosure__Group_0_0__1 )
+            // InternalReportDSL.g:27373:2: rule__XClosure__Group_0_0__0__Impl rule__XClosure__Group_0_0__1
             {
-            pushFollow(FOLLOW_143);
+            pushFollow(FOLLOW_142);
             rule__XClosure__Group_0_0__0__Impl();
 
             state._fsp--;
@@ -91330,23 +90211,23 @@
 
 
     // $ANTLR start "rule__XClosure__Group_0_0__0__Impl"
-    // InternalReportDSL.g:27670:1: rule__XClosure__Group_0_0__0__Impl : ( () ) ;
+    // InternalReportDSL.g:27380:1: rule__XClosure__Group_0_0__0__Impl : ( () ) ;
     public final void rule__XClosure__Group_0_0__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:27674:1: ( ( () ) )
-            // InternalReportDSL.g:27675:1: ( () )
+            // InternalReportDSL.g:27384:1: ( ( () ) )
+            // InternalReportDSL.g:27385:1: ( () )
             {
-            // InternalReportDSL.g:27675:1: ( () )
-            // InternalReportDSL.g:27676:2: ()
+            // InternalReportDSL.g:27385:1: ( () )
+            // InternalReportDSL.g:27386:2: ()
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXClosureAccess().getXClosureAction_0_0_0()); 
             }
-            // InternalReportDSL.g:27677:2: ()
-            // InternalReportDSL.g:27677:3: 
+            // InternalReportDSL.g:27387:2: ()
+            // InternalReportDSL.g:27387:3: 
             {
             }
 
@@ -91371,14 +90252,14 @@
 
 
     // $ANTLR start "rule__XClosure__Group_0_0__1"
-    // InternalReportDSL.g:27685:1: rule__XClosure__Group_0_0__1 : rule__XClosure__Group_0_0__1__Impl ;
+    // InternalReportDSL.g:27395:1: rule__XClosure__Group_0_0__1 : rule__XClosure__Group_0_0__1__Impl ;
     public final void rule__XClosure__Group_0_0__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:27689:1: ( rule__XClosure__Group_0_0__1__Impl )
-            // InternalReportDSL.g:27690:2: rule__XClosure__Group_0_0__1__Impl
+            // InternalReportDSL.g:27399:1: ( rule__XClosure__Group_0_0__1__Impl )
+            // InternalReportDSL.g:27400:2: rule__XClosure__Group_0_0__1__Impl
             {
             pushFollow(FOLLOW_2);
             rule__XClosure__Group_0_0__1__Impl();
@@ -91404,22 +90285,22 @@
 
 
     // $ANTLR start "rule__XClosure__Group_0_0__1__Impl"
-    // InternalReportDSL.g:27696:1: rule__XClosure__Group_0_0__1__Impl : ( '[' ) ;
+    // InternalReportDSL.g:27406:1: rule__XClosure__Group_0_0__1__Impl : ( '[' ) ;
     public final void rule__XClosure__Group_0_0__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:27700:1: ( ( '[' ) )
-            // InternalReportDSL.g:27701:1: ( '[' )
+            // InternalReportDSL.g:27410:1: ( ( '[' ) )
+            // InternalReportDSL.g:27411:1: ( '[' )
             {
-            // InternalReportDSL.g:27701:1: ( '[' )
-            // InternalReportDSL.g:27702:2: '['
+            // InternalReportDSL.g:27411:1: ( '[' )
+            // InternalReportDSL.g:27412:2: '['
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXClosureAccess().getLeftSquareBracketKeyword_0_0_1()); 
             }
-            match(input,231,FOLLOW_2); if (state.failed) return ;
+            match(input,238,FOLLOW_2); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getXClosureAccess().getLeftSquareBracketKeyword_0_0_1()); 
             }
@@ -91445,14 +90326,14 @@
 
 
     // $ANTLR start "rule__XClosure__Group_1__0"
-    // InternalReportDSL.g:27712:1: rule__XClosure__Group_1__0 : rule__XClosure__Group_1__0__Impl ;
+    // InternalReportDSL.g:27422:1: rule__XClosure__Group_1__0 : rule__XClosure__Group_1__0__Impl ;
     public final void rule__XClosure__Group_1__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:27716:1: ( rule__XClosure__Group_1__0__Impl )
-            // InternalReportDSL.g:27717:2: rule__XClosure__Group_1__0__Impl
+            // InternalReportDSL.g:27426:1: ( rule__XClosure__Group_1__0__Impl )
+            // InternalReportDSL.g:27427:2: rule__XClosure__Group_1__0__Impl
             {
             pushFollow(FOLLOW_2);
             rule__XClosure__Group_1__0__Impl();
@@ -91478,23 +90359,23 @@
 
 
     // $ANTLR start "rule__XClosure__Group_1__0__Impl"
-    // InternalReportDSL.g:27723:1: rule__XClosure__Group_1__0__Impl : ( ( rule__XClosure__Group_1_0__0 ) ) ;
+    // InternalReportDSL.g:27433:1: rule__XClosure__Group_1__0__Impl : ( ( rule__XClosure__Group_1_0__0 ) ) ;
     public final void rule__XClosure__Group_1__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:27727:1: ( ( ( rule__XClosure__Group_1_0__0 ) ) )
-            // InternalReportDSL.g:27728:1: ( ( rule__XClosure__Group_1_0__0 ) )
+            // InternalReportDSL.g:27437:1: ( ( ( rule__XClosure__Group_1_0__0 ) ) )
+            // InternalReportDSL.g:27438:1: ( ( rule__XClosure__Group_1_0__0 ) )
             {
-            // InternalReportDSL.g:27728:1: ( ( rule__XClosure__Group_1_0__0 ) )
-            // InternalReportDSL.g:27729:2: ( rule__XClosure__Group_1_0__0 )
+            // InternalReportDSL.g:27438:1: ( ( rule__XClosure__Group_1_0__0 ) )
+            // InternalReportDSL.g:27439:2: ( rule__XClosure__Group_1_0__0 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXClosureAccess().getGroup_1_0()); 
             }
-            // InternalReportDSL.g:27730:2: ( rule__XClosure__Group_1_0__0 )
-            // InternalReportDSL.g:27730:3: rule__XClosure__Group_1_0__0
+            // InternalReportDSL.g:27440:2: ( rule__XClosure__Group_1_0__0 )
+            // InternalReportDSL.g:27440:3: rule__XClosure__Group_1_0__0
             {
             pushFollow(FOLLOW_2);
             rule__XClosure__Group_1_0__0();
@@ -91529,16 +90410,16 @@
 
 
     // $ANTLR start "rule__XClosure__Group_1_0__0"
-    // InternalReportDSL.g:27739:1: rule__XClosure__Group_1_0__0 : rule__XClosure__Group_1_0__0__Impl rule__XClosure__Group_1_0__1 ;
+    // InternalReportDSL.g:27449:1: rule__XClosure__Group_1_0__0 : rule__XClosure__Group_1_0__0__Impl rule__XClosure__Group_1_0__1 ;
     public final void rule__XClosure__Group_1_0__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:27743:1: ( rule__XClosure__Group_1_0__0__Impl rule__XClosure__Group_1_0__1 )
-            // InternalReportDSL.g:27744:2: rule__XClosure__Group_1_0__0__Impl rule__XClosure__Group_1_0__1
+            // InternalReportDSL.g:27453:1: ( rule__XClosure__Group_1_0__0__Impl rule__XClosure__Group_1_0__1 )
+            // InternalReportDSL.g:27454:2: rule__XClosure__Group_1_0__0__Impl rule__XClosure__Group_1_0__1
             {
-            pushFollow(FOLLOW_182);
+            pushFollow(FOLLOW_180);
             rule__XClosure__Group_1_0__0__Impl();
 
             state._fsp--;
@@ -91567,31 +90448,31 @@
 
 
     // $ANTLR start "rule__XClosure__Group_1_0__0__Impl"
-    // InternalReportDSL.g:27751:1: rule__XClosure__Group_1_0__0__Impl : ( ( rule__XClosure__Group_1_0_0__0 )? ) ;
+    // InternalReportDSL.g:27461:1: rule__XClosure__Group_1_0__0__Impl : ( ( rule__XClosure__Group_1_0_0__0 )? ) ;
     public final void rule__XClosure__Group_1_0__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:27755:1: ( ( ( rule__XClosure__Group_1_0_0__0 )? ) )
-            // InternalReportDSL.g:27756:1: ( ( rule__XClosure__Group_1_0_0__0 )? )
+            // InternalReportDSL.g:27465:1: ( ( ( rule__XClosure__Group_1_0_0__0 )? ) )
+            // InternalReportDSL.g:27466:1: ( ( rule__XClosure__Group_1_0_0__0 )? )
             {
-            // InternalReportDSL.g:27756:1: ( ( rule__XClosure__Group_1_0_0__0 )? )
-            // InternalReportDSL.g:27757:2: ( rule__XClosure__Group_1_0_0__0 )?
+            // InternalReportDSL.g:27466:1: ( ( rule__XClosure__Group_1_0_0__0 )? )
+            // InternalReportDSL.g:27467:2: ( rule__XClosure__Group_1_0_0__0 )?
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXClosureAccess().getGroup_1_0_0()); 
             }
-            // InternalReportDSL.g:27758:2: ( rule__XClosure__Group_1_0_0__0 )?
-            int alt203=2;
-            int LA203_0 = input.LA(1);
+            // InternalReportDSL.g:27468:2: ( rule__XClosure__Group_1_0_0__0 )?
+            int alt185=2;
+            int LA185_0 = input.LA(1);
 
-            if ( (LA203_0==RULE_ID||LA203_0==35||LA203_0==204) ) {
-                alt203=1;
+            if ( (LA185_0==RULE_ID||LA185_0==35||LA185_0==211) ) {
+                alt185=1;
             }
-            switch (alt203) {
+            switch (alt185) {
                 case 1 :
-                    // InternalReportDSL.g:27758:3: rule__XClosure__Group_1_0_0__0
+                    // InternalReportDSL.g:27468:3: rule__XClosure__Group_1_0_0__0
                     {
                     pushFollow(FOLLOW_2);
                     rule__XClosure__Group_1_0_0__0();
@@ -91629,14 +90510,14 @@
 
 
     // $ANTLR start "rule__XClosure__Group_1_0__1"
-    // InternalReportDSL.g:27766:1: rule__XClosure__Group_1_0__1 : rule__XClosure__Group_1_0__1__Impl ;
+    // InternalReportDSL.g:27476:1: rule__XClosure__Group_1_0__1 : rule__XClosure__Group_1_0__1__Impl ;
     public final void rule__XClosure__Group_1_0__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:27770:1: ( rule__XClosure__Group_1_0__1__Impl )
-            // InternalReportDSL.g:27771:2: rule__XClosure__Group_1_0__1__Impl
+            // InternalReportDSL.g:27480:1: ( rule__XClosure__Group_1_0__1__Impl )
+            // InternalReportDSL.g:27481:2: rule__XClosure__Group_1_0__1__Impl
             {
             pushFollow(FOLLOW_2);
             rule__XClosure__Group_1_0__1__Impl();
@@ -91662,23 +90543,23 @@
 
 
     // $ANTLR start "rule__XClosure__Group_1_0__1__Impl"
-    // InternalReportDSL.g:27777:1: rule__XClosure__Group_1_0__1__Impl : ( ( rule__XClosure__ExplicitSyntaxAssignment_1_0_1 ) ) ;
+    // InternalReportDSL.g:27487:1: rule__XClosure__Group_1_0__1__Impl : ( ( rule__XClosure__ExplicitSyntaxAssignment_1_0_1 ) ) ;
     public final void rule__XClosure__Group_1_0__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:27781:1: ( ( ( rule__XClosure__ExplicitSyntaxAssignment_1_0_1 ) ) )
-            // InternalReportDSL.g:27782:1: ( ( rule__XClosure__ExplicitSyntaxAssignment_1_0_1 ) )
+            // InternalReportDSL.g:27491:1: ( ( ( rule__XClosure__ExplicitSyntaxAssignment_1_0_1 ) ) )
+            // InternalReportDSL.g:27492:1: ( ( rule__XClosure__ExplicitSyntaxAssignment_1_0_1 ) )
             {
-            // InternalReportDSL.g:27782:1: ( ( rule__XClosure__ExplicitSyntaxAssignment_1_0_1 ) )
-            // InternalReportDSL.g:27783:2: ( rule__XClosure__ExplicitSyntaxAssignment_1_0_1 )
+            // InternalReportDSL.g:27492:1: ( ( rule__XClosure__ExplicitSyntaxAssignment_1_0_1 ) )
+            // InternalReportDSL.g:27493:2: ( rule__XClosure__ExplicitSyntaxAssignment_1_0_1 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXClosureAccess().getExplicitSyntaxAssignment_1_0_1()); 
             }
-            // InternalReportDSL.g:27784:2: ( rule__XClosure__ExplicitSyntaxAssignment_1_0_1 )
-            // InternalReportDSL.g:27784:3: rule__XClosure__ExplicitSyntaxAssignment_1_0_1
+            // InternalReportDSL.g:27494:2: ( rule__XClosure__ExplicitSyntaxAssignment_1_0_1 )
+            // InternalReportDSL.g:27494:3: rule__XClosure__ExplicitSyntaxAssignment_1_0_1
             {
             pushFollow(FOLLOW_2);
             rule__XClosure__ExplicitSyntaxAssignment_1_0_1();
@@ -91713,16 +90594,16 @@
 
 
     // $ANTLR start "rule__XClosure__Group_1_0_0__0"
-    // InternalReportDSL.g:27793:1: rule__XClosure__Group_1_0_0__0 : rule__XClosure__Group_1_0_0__0__Impl rule__XClosure__Group_1_0_0__1 ;
+    // InternalReportDSL.g:27503:1: rule__XClosure__Group_1_0_0__0 : rule__XClosure__Group_1_0_0__0__Impl rule__XClosure__Group_1_0_0__1 ;
     public final void rule__XClosure__Group_1_0_0__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:27797:1: ( rule__XClosure__Group_1_0_0__0__Impl rule__XClosure__Group_1_0_0__1 )
-            // InternalReportDSL.g:27798:2: rule__XClosure__Group_1_0_0__0__Impl rule__XClosure__Group_1_0_0__1
+            // InternalReportDSL.g:27507:1: ( rule__XClosure__Group_1_0_0__0__Impl rule__XClosure__Group_1_0_0__1 )
+            // InternalReportDSL.g:27508:2: rule__XClosure__Group_1_0_0__0__Impl rule__XClosure__Group_1_0_0__1
             {
-            pushFollow(FOLLOW_137);
+            pushFollow(FOLLOW_136);
             rule__XClosure__Group_1_0_0__0__Impl();
 
             state._fsp--;
@@ -91751,23 +90632,23 @@
 
 
     // $ANTLR start "rule__XClosure__Group_1_0_0__0__Impl"
-    // InternalReportDSL.g:27805:1: rule__XClosure__Group_1_0_0__0__Impl : ( ( rule__XClosure__DeclaredFormalParametersAssignment_1_0_0_0 ) ) ;
+    // InternalReportDSL.g:27515:1: rule__XClosure__Group_1_0_0__0__Impl : ( ( rule__XClosure__DeclaredFormalParametersAssignment_1_0_0_0 ) ) ;
     public final void rule__XClosure__Group_1_0_0__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:27809:1: ( ( ( rule__XClosure__DeclaredFormalParametersAssignment_1_0_0_0 ) ) )
-            // InternalReportDSL.g:27810:1: ( ( rule__XClosure__DeclaredFormalParametersAssignment_1_0_0_0 ) )
+            // InternalReportDSL.g:27519:1: ( ( ( rule__XClosure__DeclaredFormalParametersAssignment_1_0_0_0 ) ) )
+            // InternalReportDSL.g:27520:1: ( ( rule__XClosure__DeclaredFormalParametersAssignment_1_0_0_0 ) )
             {
-            // InternalReportDSL.g:27810:1: ( ( rule__XClosure__DeclaredFormalParametersAssignment_1_0_0_0 ) )
-            // InternalReportDSL.g:27811:2: ( rule__XClosure__DeclaredFormalParametersAssignment_1_0_0_0 )
+            // InternalReportDSL.g:27520:1: ( ( rule__XClosure__DeclaredFormalParametersAssignment_1_0_0_0 ) )
+            // InternalReportDSL.g:27521:2: ( rule__XClosure__DeclaredFormalParametersAssignment_1_0_0_0 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXClosureAccess().getDeclaredFormalParametersAssignment_1_0_0_0()); 
             }
-            // InternalReportDSL.g:27812:2: ( rule__XClosure__DeclaredFormalParametersAssignment_1_0_0_0 )
-            // InternalReportDSL.g:27812:3: rule__XClosure__DeclaredFormalParametersAssignment_1_0_0_0
+            // InternalReportDSL.g:27522:2: ( rule__XClosure__DeclaredFormalParametersAssignment_1_0_0_0 )
+            // InternalReportDSL.g:27522:3: rule__XClosure__DeclaredFormalParametersAssignment_1_0_0_0
             {
             pushFollow(FOLLOW_2);
             rule__XClosure__DeclaredFormalParametersAssignment_1_0_0_0();
@@ -91802,14 +90683,14 @@
 
 
     // $ANTLR start "rule__XClosure__Group_1_0_0__1"
-    // InternalReportDSL.g:27820:1: rule__XClosure__Group_1_0_0__1 : rule__XClosure__Group_1_0_0__1__Impl ;
+    // InternalReportDSL.g:27530:1: rule__XClosure__Group_1_0_0__1 : rule__XClosure__Group_1_0_0__1__Impl ;
     public final void rule__XClosure__Group_1_0_0__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:27824:1: ( rule__XClosure__Group_1_0_0__1__Impl )
-            // InternalReportDSL.g:27825:2: rule__XClosure__Group_1_0_0__1__Impl
+            // InternalReportDSL.g:27534:1: ( rule__XClosure__Group_1_0_0__1__Impl )
+            // InternalReportDSL.g:27535:2: rule__XClosure__Group_1_0_0__1__Impl
             {
             pushFollow(FOLLOW_2);
             rule__XClosure__Group_1_0_0__1__Impl();
@@ -91835,37 +90716,37 @@
 
 
     // $ANTLR start "rule__XClosure__Group_1_0_0__1__Impl"
-    // InternalReportDSL.g:27831:1: rule__XClosure__Group_1_0_0__1__Impl : ( ( rule__XClosure__Group_1_0_0_1__0 )* ) ;
+    // InternalReportDSL.g:27541:1: rule__XClosure__Group_1_0_0__1__Impl : ( ( rule__XClosure__Group_1_0_0_1__0 )* ) ;
     public final void rule__XClosure__Group_1_0_0__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:27835:1: ( ( ( rule__XClosure__Group_1_0_0_1__0 )* ) )
-            // InternalReportDSL.g:27836:1: ( ( rule__XClosure__Group_1_0_0_1__0 )* )
+            // InternalReportDSL.g:27545:1: ( ( ( rule__XClosure__Group_1_0_0_1__0 )* ) )
+            // InternalReportDSL.g:27546:1: ( ( rule__XClosure__Group_1_0_0_1__0 )* )
             {
-            // InternalReportDSL.g:27836:1: ( ( rule__XClosure__Group_1_0_0_1__0 )* )
-            // InternalReportDSL.g:27837:2: ( rule__XClosure__Group_1_0_0_1__0 )*
+            // InternalReportDSL.g:27546:1: ( ( rule__XClosure__Group_1_0_0_1__0 )* )
+            // InternalReportDSL.g:27547:2: ( rule__XClosure__Group_1_0_0_1__0 )*
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXClosureAccess().getGroup_1_0_0_1()); 
             }
-            // InternalReportDSL.g:27838:2: ( rule__XClosure__Group_1_0_0_1__0 )*
-            loop204:
+            // InternalReportDSL.g:27548:2: ( rule__XClosure__Group_1_0_0_1__0 )*
+            loop186:
             do {
-                int alt204=2;
-                int LA204_0 = input.LA(1);
+                int alt186=2;
+                int LA186_0 = input.LA(1);
 
-                if ( (LA204_0==228) ) {
-                    alt204=1;
+                if ( (LA186_0==235) ) {
+                    alt186=1;
                 }
 
 
-                switch (alt204) {
+                switch (alt186) {
             	case 1 :
-            	    // InternalReportDSL.g:27838:3: rule__XClosure__Group_1_0_0_1__0
+            	    // InternalReportDSL.g:27548:3: rule__XClosure__Group_1_0_0_1__0
             	    {
-            	    pushFollow(FOLLOW_138);
+            	    pushFollow(FOLLOW_137);
             	    rule__XClosure__Group_1_0_0_1__0();
 
             	    state._fsp--;
@@ -91875,7 +90756,7 @@
             	    break;
 
             	default :
-            	    break loop204;
+            	    break loop186;
                 }
             } while (true);
 
@@ -91904,16 +90785,16 @@
 
 
     // $ANTLR start "rule__XClosure__Group_1_0_0_1__0"
-    // InternalReportDSL.g:27847:1: rule__XClosure__Group_1_0_0_1__0 : rule__XClosure__Group_1_0_0_1__0__Impl rule__XClosure__Group_1_0_0_1__1 ;
+    // InternalReportDSL.g:27557:1: rule__XClosure__Group_1_0_0_1__0 : rule__XClosure__Group_1_0_0_1__0__Impl rule__XClosure__Group_1_0_0_1__1 ;
     public final void rule__XClosure__Group_1_0_0_1__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:27851:1: ( rule__XClosure__Group_1_0_0_1__0__Impl rule__XClosure__Group_1_0_0_1__1 )
-            // InternalReportDSL.g:27852:2: rule__XClosure__Group_1_0_0_1__0__Impl rule__XClosure__Group_1_0_0_1__1
+            // InternalReportDSL.g:27561:1: ( rule__XClosure__Group_1_0_0_1__0__Impl rule__XClosure__Group_1_0_0_1__1 )
+            // InternalReportDSL.g:27562:2: rule__XClosure__Group_1_0_0_1__0__Impl rule__XClosure__Group_1_0_0_1__1
             {
-            pushFollow(FOLLOW_156);
+            pushFollow(FOLLOW_155);
             rule__XClosure__Group_1_0_0_1__0__Impl();
 
             state._fsp--;
@@ -91942,22 +90823,22 @@
 
 
     // $ANTLR start "rule__XClosure__Group_1_0_0_1__0__Impl"
-    // InternalReportDSL.g:27859:1: rule__XClosure__Group_1_0_0_1__0__Impl : ( ',' ) ;
+    // InternalReportDSL.g:27569:1: rule__XClosure__Group_1_0_0_1__0__Impl : ( ',' ) ;
     public final void rule__XClosure__Group_1_0_0_1__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:27863:1: ( ( ',' ) )
-            // InternalReportDSL.g:27864:1: ( ',' )
+            // InternalReportDSL.g:27573:1: ( ( ',' ) )
+            // InternalReportDSL.g:27574:1: ( ',' )
             {
-            // InternalReportDSL.g:27864:1: ( ',' )
-            // InternalReportDSL.g:27865:2: ','
+            // InternalReportDSL.g:27574:1: ( ',' )
+            // InternalReportDSL.g:27575:2: ','
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXClosureAccess().getCommaKeyword_1_0_0_1_0()); 
             }
-            match(input,228,FOLLOW_2); if (state.failed) return ;
+            match(input,235,FOLLOW_2); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getXClosureAccess().getCommaKeyword_1_0_0_1_0()); 
             }
@@ -91983,14 +90864,14 @@
 
 
     // $ANTLR start "rule__XClosure__Group_1_0_0_1__1"
-    // InternalReportDSL.g:27874:1: rule__XClosure__Group_1_0_0_1__1 : rule__XClosure__Group_1_0_0_1__1__Impl ;
+    // InternalReportDSL.g:27584:1: rule__XClosure__Group_1_0_0_1__1 : rule__XClosure__Group_1_0_0_1__1__Impl ;
     public final void rule__XClosure__Group_1_0_0_1__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:27878:1: ( rule__XClosure__Group_1_0_0_1__1__Impl )
-            // InternalReportDSL.g:27879:2: rule__XClosure__Group_1_0_0_1__1__Impl
+            // InternalReportDSL.g:27588:1: ( rule__XClosure__Group_1_0_0_1__1__Impl )
+            // InternalReportDSL.g:27589:2: rule__XClosure__Group_1_0_0_1__1__Impl
             {
             pushFollow(FOLLOW_2);
             rule__XClosure__Group_1_0_0_1__1__Impl();
@@ -92016,23 +90897,23 @@
 
 
     // $ANTLR start "rule__XClosure__Group_1_0_0_1__1__Impl"
-    // InternalReportDSL.g:27885:1: rule__XClosure__Group_1_0_0_1__1__Impl : ( ( rule__XClosure__DeclaredFormalParametersAssignment_1_0_0_1_1 ) ) ;
+    // InternalReportDSL.g:27595:1: rule__XClosure__Group_1_0_0_1__1__Impl : ( ( rule__XClosure__DeclaredFormalParametersAssignment_1_0_0_1_1 ) ) ;
     public final void rule__XClosure__Group_1_0_0_1__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:27889:1: ( ( ( rule__XClosure__DeclaredFormalParametersAssignment_1_0_0_1_1 ) ) )
-            // InternalReportDSL.g:27890:1: ( ( rule__XClosure__DeclaredFormalParametersAssignment_1_0_0_1_1 ) )
+            // InternalReportDSL.g:27599:1: ( ( ( rule__XClosure__DeclaredFormalParametersAssignment_1_0_0_1_1 ) ) )
+            // InternalReportDSL.g:27600:1: ( ( rule__XClosure__DeclaredFormalParametersAssignment_1_0_0_1_1 ) )
             {
-            // InternalReportDSL.g:27890:1: ( ( rule__XClosure__DeclaredFormalParametersAssignment_1_0_0_1_1 ) )
-            // InternalReportDSL.g:27891:2: ( rule__XClosure__DeclaredFormalParametersAssignment_1_0_0_1_1 )
+            // InternalReportDSL.g:27600:1: ( ( rule__XClosure__DeclaredFormalParametersAssignment_1_0_0_1_1 ) )
+            // InternalReportDSL.g:27601:2: ( rule__XClosure__DeclaredFormalParametersAssignment_1_0_0_1_1 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXClosureAccess().getDeclaredFormalParametersAssignment_1_0_0_1_1()); 
             }
-            // InternalReportDSL.g:27892:2: ( rule__XClosure__DeclaredFormalParametersAssignment_1_0_0_1_1 )
-            // InternalReportDSL.g:27892:3: rule__XClosure__DeclaredFormalParametersAssignment_1_0_0_1_1
+            // InternalReportDSL.g:27602:2: ( rule__XClosure__DeclaredFormalParametersAssignment_1_0_0_1_1 )
+            // InternalReportDSL.g:27602:3: rule__XClosure__DeclaredFormalParametersAssignment_1_0_0_1_1
             {
             pushFollow(FOLLOW_2);
             rule__XClosure__DeclaredFormalParametersAssignment_1_0_0_1_1();
@@ -92067,16 +90948,16 @@
 
 
     // $ANTLR start "rule__XExpressionInClosure__Group__0"
-    // InternalReportDSL.g:27901:1: rule__XExpressionInClosure__Group__0 : rule__XExpressionInClosure__Group__0__Impl rule__XExpressionInClosure__Group__1 ;
+    // InternalReportDSL.g:27611:1: rule__XExpressionInClosure__Group__0 : rule__XExpressionInClosure__Group__0__Impl rule__XExpressionInClosure__Group__1 ;
     public final void rule__XExpressionInClosure__Group__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:27905:1: ( rule__XExpressionInClosure__Group__0__Impl rule__XExpressionInClosure__Group__1 )
-            // InternalReportDSL.g:27906:2: rule__XExpressionInClosure__Group__0__Impl rule__XExpressionInClosure__Group__1
+            // InternalReportDSL.g:27615:1: ( rule__XExpressionInClosure__Group__0__Impl rule__XExpressionInClosure__Group__1 )
+            // InternalReportDSL.g:27616:2: rule__XExpressionInClosure__Group__0__Impl rule__XExpressionInClosure__Group__1
             {
-            pushFollow(FOLLOW_180);
+            pushFollow(FOLLOW_178);
             rule__XExpressionInClosure__Group__0__Impl();
 
             state._fsp--;
@@ -92105,23 +90986,23 @@
 
 
     // $ANTLR start "rule__XExpressionInClosure__Group__0__Impl"
-    // InternalReportDSL.g:27913:1: rule__XExpressionInClosure__Group__0__Impl : ( () ) ;
+    // InternalReportDSL.g:27623:1: rule__XExpressionInClosure__Group__0__Impl : ( () ) ;
     public final void rule__XExpressionInClosure__Group__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:27917:1: ( ( () ) )
-            // InternalReportDSL.g:27918:1: ( () )
+            // InternalReportDSL.g:27627:1: ( ( () ) )
+            // InternalReportDSL.g:27628:1: ( () )
             {
-            // InternalReportDSL.g:27918:1: ( () )
-            // InternalReportDSL.g:27919:2: ()
+            // InternalReportDSL.g:27628:1: ( () )
+            // InternalReportDSL.g:27629:2: ()
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXExpressionInClosureAccess().getXBlockExpressionAction_0()); 
             }
-            // InternalReportDSL.g:27920:2: ()
-            // InternalReportDSL.g:27920:3: 
+            // InternalReportDSL.g:27630:2: ()
+            // InternalReportDSL.g:27630:3: 
             {
             }
 
@@ -92146,14 +91027,14 @@
 
 
     // $ANTLR start "rule__XExpressionInClosure__Group__1"
-    // InternalReportDSL.g:27928:1: rule__XExpressionInClosure__Group__1 : rule__XExpressionInClosure__Group__1__Impl ;
+    // InternalReportDSL.g:27638:1: rule__XExpressionInClosure__Group__1 : rule__XExpressionInClosure__Group__1__Impl ;
     public final void rule__XExpressionInClosure__Group__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:27932:1: ( rule__XExpressionInClosure__Group__1__Impl )
-            // InternalReportDSL.g:27933:2: rule__XExpressionInClosure__Group__1__Impl
+            // InternalReportDSL.g:27642:1: ( rule__XExpressionInClosure__Group__1__Impl )
+            // InternalReportDSL.g:27643:2: rule__XExpressionInClosure__Group__1__Impl
             {
             pushFollow(FOLLOW_2);
             rule__XExpressionInClosure__Group__1__Impl();
@@ -92179,37 +91060,37 @@
 
 
     // $ANTLR start "rule__XExpressionInClosure__Group__1__Impl"
-    // InternalReportDSL.g:27939:1: rule__XExpressionInClosure__Group__1__Impl : ( ( rule__XExpressionInClosure__Group_1__0 )* ) ;
+    // InternalReportDSL.g:27649:1: rule__XExpressionInClosure__Group__1__Impl : ( ( rule__XExpressionInClosure__Group_1__0 )* ) ;
     public final void rule__XExpressionInClosure__Group__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:27943:1: ( ( ( rule__XExpressionInClosure__Group_1__0 )* ) )
-            // InternalReportDSL.g:27944:1: ( ( rule__XExpressionInClosure__Group_1__0 )* )
+            // InternalReportDSL.g:27653:1: ( ( ( rule__XExpressionInClosure__Group_1__0 )* ) )
+            // InternalReportDSL.g:27654:1: ( ( rule__XExpressionInClosure__Group_1__0 )* )
             {
-            // InternalReportDSL.g:27944:1: ( ( rule__XExpressionInClosure__Group_1__0 )* )
-            // InternalReportDSL.g:27945:2: ( rule__XExpressionInClosure__Group_1__0 )*
+            // InternalReportDSL.g:27654:1: ( ( rule__XExpressionInClosure__Group_1__0 )* )
+            // InternalReportDSL.g:27655:2: ( rule__XExpressionInClosure__Group_1__0 )*
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXExpressionInClosureAccess().getGroup_1()); 
             }
-            // InternalReportDSL.g:27946:2: ( rule__XExpressionInClosure__Group_1__0 )*
-            loop205:
+            // InternalReportDSL.g:27656:2: ( rule__XExpressionInClosure__Group_1__0 )*
+            loop187:
             do {
-                int alt205=2;
-                int LA205_0 = input.LA(1);
+                int alt187=2;
+                int LA187_0 = input.LA(1);
 
-                if ( ((LA205_0>=RULE_STRING && LA205_0<=RULE_DECIMAL)||LA205_0==31||(LA205_0>=38 && LA205_0<=39)||LA205_0==44||(LA205_0>=48 && LA205_0<=54)||LA205_0==125||LA205_0==204||(LA205_0>=230 && LA205_0<=231)||LA205_0==233||LA205_0==235||(LA205_0>=239 && LA205_0<=247)||LA205_0==249||(LA205_0>=265 && LA205_0<=266)) ) {
-                    alt205=1;
+                if ( ((LA187_0>=RULE_STRING && LA187_0<=RULE_DECIMAL)||LA187_0==31||(LA187_0>=38 && LA187_0<=39)||LA187_0==44||(LA187_0>=48 && LA187_0<=54)||LA187_0==131||LA187_0==211||(LA187_0>=237 && LA187_0<=238)||LA187_0==240||LA187_0==242||(LA187_0>=246 && LA187_0<=254)||LA187_0==256||(LA187_0>=270 && LA187_0<=271)) ) {
+                    alt187=1;
                 }
 
 
-                switch (alt205) {
+                switch (alt187) {
             	case 1 :
-            	    // InternalReportDSL.g:27946:3: rule__XExpressionInClosure__Group_1__0
+            	    // InternalReportDSL.g:27656:3: rule__XExpressionInClosure__Group_1__0
             	    {
-            	    pushFollow(FOLLOW_183);
+            	    pushFollow(FOLLOW_181);
             	    rule__XExpressionInClosure__Group_1__0();
 
             	    state._fsp--;
@@ -92219,7 +91100,7 @@
             	    break;
 
             	default :
-            	    break loop205;
+            	    break loop187;
                 }
             } while (true);
 
@@ -92248,16 +91129,16 @@
 
 
     // $ANTLR start "rule__XExpressionInClosure__Group_1__0"
-    // InternalReportDSL.g:27955:1: rule__XExpressionInClosure__Group_1__0 : rule__XExpressionInClosure__Group_1__0__Impl rule__XExpressionInClosure__Group_1__1 ;
+    // InternalReportDSL.g:27665:1: rule__XExpressionInClosure__Group_1__0 : rule__XExpressionInClosure__Group_1__0__Impl rule__XExpressionInClosure__Group_1__1 ;
     public final void rule__XExpressionInClosure__Group_1__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:27959:1: ( rule__XExpressionInClosure__Group_1__0__Impl rule__XExpressionInClosure__Group_1__1 )
-            // InternalReportDSL.g:27960:2: rule__XExpressionInClosure__Group_1__0__Impl rule__XExpressionInClosure__Group_1__1
+            // InternalReportDSL.g:27669:1: ( rule__XExpressionInClosure__Group_1__0__Impl rule__XExpressionInClosure__Group_1__1 )
+            // InternalReportDSL.g:27670:2: rule__XExpressionInClosure__Group_1__0__Impl rule__XExpressionInClosure__Group_1__1
             {
-            pushFollow(FOLLOW_132);
+            pushFollow(FOLLOW_131);
             rule__XExpressionInClosure__Group_1__0__Impl();
 
             state._fsp--;
@@ -92286,23 +91167,23 @@
 
 
     // $ANTLR start "rule__XExpressionInClosure__Group_1__0__Impl"
-    // InternalReportDSL.g:27967:1: rule__XExpressionInClosure__Group_1__0__Impl : ( ( rule__XExpressionInClosure__ExpressionsAssignment_1_0 ) ) ;
+    // InternalReportDSL.g:27677:1: rule__XExpressionInClosure__Group_1__0__Impl : ( ( rule__XExpressionInClosure__ExpressionsAssignment_1_0 ) ) ;
     public final void rule__XExpressionInClosure__Group_1__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:27971:1: ( ( ( rule__XExpressionInClosure__ExpressionsAssignment_1_0 ) ) )
-            // InternalReportDSL.g:27972:1: ( ( rule__XExpressionInClosure__ExpressionsAssignment_1_0 ) )
+            // InternalReportDSL.g:27681:1: ( ( ( rule__XExpressionInClosure__ExpressionsAssignment_1_0 ) ) )
+            // InternalReportDSL.g:27682:1: ( ( rule__XExpressionInClosure__ExpressionsAssignment_1_0 ) )
             {
-            // InternalReportDSL.g:27972:1: ( ( rule__XExpressionInClosure__ExpressionsAssignment_1_0 ) )
-            // InternalReportDSL.g:27973:2: ( rule__XExpressionInClosure__ExpressionsAssignment_1_0 )
+            // InternalReportDSL.g:27682:1: ( ( rule__XExpressionInClosure__ExpressionsAssignment_1_0 ) )
+            // InternalReportDSL.g:27683:2: ( rule__XExpressionInClosure__ExpressionsAssignment_1_0 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXExpressionInClosureAccess().getExpressionsAssignment_1_0()); 
             }
-            // InternalReportDSL.g:27974:2: ( rule__XExpressionInClosure__ExpressionsAssignment_1_0 )
-            // InternalReportDSL.g:27974:3: rule__XExpressionInClosure__ExpressionsAssignment_1_0
+            // InternalReportDSL.g:27684:2: ( rule__XExpressionInClosure__ExpressionsAssignment_1_0 )
+            // InternalReportDSL.g:27684:3: rule__XExpressionInClosure__ExpressionsAssignment_1_0
             {
             pushFollow(FOLLOW_2);
             rule__XExpressionInClosure__ExpressionsAssignment_1_0();
@@ -92337,14 +91218,14 @@
 
 
     // $ANTLR start "rule__XExpressionInClosure__Group_1__1"
-    // InternalReportDSL.g:27982:1: rule__XExpressionInClosure__Group_1__1 : rule__XExpressionInClosure__Group_1__1__Impl ;
+    // InternalReportDSL.g:27692:1: rule__XExpressionInClosure__Group_1__1 : rule__XExpressionInClosure__Group_1__1__Impl ;
     public final void rule__XExpressionInClosure__Group_1__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:27986:1: ( rule__XExpressionInClosure__Group_1__1__Impl )
-            // InternalReportDSL.g:27987:2: rule__XExpressionInClosure__Group_1__1__Impl
+            // InternalReportDSL.g:27696:1: ( rule__XExpressionInClosure__Group_1__1__Impl )
+            // InternalReportDSL.g:27697:2: rule__XExpressionInClosure__Group_1__1__Impl
             {
             pushFollow(FOLLOW_2);
             rule__XExpressionInClosure__Group_1__1__Impl();
@@ -92370,33 +91251,33 @@
 
 
     // $ANTLR start "rule__XExpressionInClosure__Group_1__1__Impl"
-    // InternalReportDSL.g:27993:1: rule__XExpressionInClosure__Group_1__1__Impl : ( ( ';' )? ) ;
+    // InternalReportDSL.g:27703:1: rule__XExpressionInClosure__Group_1__1__Impl : ( ( ';' )? ) ;
     public final void rule__XExpressionInClosure__Group_1__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:27997:1: ( ( ( ';' )? ) )
-            // InternalReportDSL.g:27998:1: ( ( ';' )? )
+            // InternalReportDSL.g:27707:1: ( ( ( ';' )? ) )
+            // InternalReportDSL.g:27708:1: ( ( ';' )? )
             {
-            // InternalReportDSL.g:27998:1: ( ( ';' )? )
-            // InternalReportDSL.g:27999:2: ( ';' )?
+            // InternalReportDSL.g:27708:1: ( ( ';' )? )
+            // InternalReportDSL.g:27709:2: ( ';' )?
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXExpressionInClosureAccess().getSemicolonKeyword_1_1()); 
             }
-            // InternalReportDSL.g:28000:2: ( ';' )?
-            int alt206=2;
-            int LA206_0 = input.LA(1);
+            // InternalReportDSL.g:27710:2: ( ';' )?
+            int alt188=2;
+            int LA188_0 = input.LA(1);
 
-            if ( (LA206_0==226) ) {
-                alt206=1;
+            if ( (LA188_0==233) ) {
+                alt188=1;
             }
-            switch (alt206) {
+            switch (alt188) {
                 case 1 :
-                    // InternalReportDSL.g:28000:3: ';'
+                    // InternalReportDSL.g:27710:3: ';'
                     {
-                    match(input,226,FOLLOW_2); if (state.failed) return ;
+                    match(input,233,FOLLOW_2); if (state.failed) return ;
 
                     }
                     break;
@@ -92428,16 +91309,16 @@
 
 
     // $ANTLR start "rule__XShortClosure__Group__0"
-    // InternalReportDSL.g:28009:1: rule__XShortClosure__Group__0 : rule__XShortClosure__Group__0__Impl rule__XShortClosure__Group__1 ;
+    // InternalReportDSL.g:27719:1: rule__XShortClosure__Group__0 : rule__XShortClosure__Group__0__Impl rule__XShortClosure__Group__1 ;
     public final void rule__XShortClosure__Group__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:28013:1: ( rule__XShortClosure__Group__0__Impl rule__XShortClosure__Group__1 )
-            // InternalReportDSL.g:28014:2: rule__XShortClosure__Group__0__Impl rule__XShortClosure__Group__1
+            // InternalReportDSL.g:27723:1: ( rule__XShortClosure__Group__0__Impl rule__XShortClosure__Group__1 )
+            // InternalReportDSL.g:27724:2: rule__XShortClosure__Group__0__Impl rule__XShortClosure__Group__1
             {
-            pushFollow(FOLLOW_139);
+            pushFollow(FOLLOW_138);
             rule__XShortClosure__Group__0__Impl();
 
             state._fsp--;
@@ -92466,23 +91347,23 @@
 
 
     // $ANTLR start "rule__XShortClosure__Group__0__Impl"
-    // InternalReportDSL.g:28021:1: rule__XShortClosure__Group__0__Impl : ( ( rule__XShortClosure__Group_0__0 ) ) ;
+    // InternalReportDSL.g:27731:1: rule__XShortClosure__Group__0__Impl : ( ( rule__XShortClosure__Group_0__0 ) ) ;
     public final void rule__XShortClosure__Group__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:28025:1: ( ( ( rule__XShortClosure__Group_0__0 ) ) )
-            // InternalReportDSL.g:28026:1: ( ( rule__XShortClosure__Group_0__0 ) )
+            // InternalReportDSL.g:27735:1: ( ( ( rule__XShortClosure__Group_0__0 ) ) )
+            // InternalReportDSL.g:27736:1: ( ( rule__XShortClosure__Group_0__0 ) )
             {
-            // InternalReportDSL.g:28026:1: ( ( rule__XShortClosure__Group_0__0 ) )
-            // InternalReportDSL.g:28027:2: ( rule__XShortClosure__Group_0__0 )
+            // InternalReportDSL.g:27736:1: ( ( rule__XShortClosure__Group_0__0 ) )
+            // InternalReportDSL.g:27737:2: ( rule__XShortClosure__Group_0__0 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXShortClosureAccess().getGroup_0()); 
             }
-            // InternalReportDSL.g:28028:2: ( rule__XShortClosure__Group_0__0 )
-            // InternalReportDSL.g:28028:3: rule__XShortClosure__Group_0__0
+            // InternalReportDSL.g:27738:2: ( rule__XShortClosure__Group_0__0 )
+            // InternalReportDSL.g:27738:3: rule__XShortClosure__Group_0__0
             {
             pushFollow(FOLLOW_2);
             rule__XShortClosure__Group_0__0();
@@ -92517,14 +91398,14 @@
 
 
     // $ANTLR start "rule__XShortClosure__Group__1"
-    // InternalReportDSL.g:28036:1: rule__XShortClosure__Group__1 : rule__XShortClosure__Group__1__Impl ;
+    // InternalReportDSL.g:27746:1: rule__XShortClosure__Group__1 : rule__XShortClosure__Group__1__Impl ;
     public final void rule__XShortClosure__Group__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:28040:1: ( rule__XShortClosure__Group__1__Impl )
-            // InternalReportDSL.g:28041:2: rule__XShortClosure__Group__1__Impl
+            // InternalReportDSL.g:27750:1: ( rule__XShortClosure__Group__1__Impl )
+            // InternalReportDSL.g:27751:2: rule__XShortClosure__Group__1__Impl
             {
             pushFollow(FOLLOW_2);
             rule__XShortClosure__Group__1__Impl();
@@ -92550,23 +91431,23 @@
 
 
     // $ANTLR start "rule__XShortClosure__Group__1__Impl"
-    // InternalReportDSL.g:28047:1: rule__XShortClosure__Group__1__Impl : ( ( rule__XShortClosure__ExpressionAssignment_1 ) ) ;
+    // InternalReportDSL.g:27757:1: rule__XShortClosure__Group__1__Impl : ( ( rule__XShortClosure__ExpressionAssignment_1 ) ) ;
     public final void rule__XShortClosure__Group__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:28051:1: ( ( ( rule__XShortClosure__ExpressionAssignment_1 ) ) )
-            // InternalReportDSL.g:28052:1: ( ( rule__XShortClosure__ExpressionAssignment_1 ) )
+            // InternalReportDSL.g:27761:1: ( ( ( rule__XShortClosure__ExpressionAssignment_1 ) ) )
+            // InternalReportDSL.g:27762:1: ( ( rule__XShortClosure__ExpressionAssignment_1 ) )
             {
-            // InternalReportDSL.g:28052:1: ( ( rule__XShortClosure__ExpressionAssignment_1 ) )
-            // InternalReportDSL.g:28053:2: ( rule__XShortClosure__ExpressionAssignment_1 )
+            // InternalReportDSL.g:27762:1: ( ( rule__XShortClosure__ExpressionAssignment_1 ) )
+            // InternalReportDSL.g:27763:2: ( rule__XShortClosure__ExpressionAssignment_1 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXShortClosureAccess().getExpressionAssignment_1()); 
             }
-            // InternalReportDSL.g:28054:2: ( rule__XShortClosure__ExpressionAssignment_1 )
-            // InternalReportDSL.g:28054:3: rule__XShortClosure__ExpressionAssignment_1
+            // InternalReportDSL.g:27764:2: ( rule__XShortClosure__ExpressionAssignment_1 )
+            // InternalReportDSL.g:27764:3: rule__XShortClosure__ExpressionAssignment_1
             {
             pushFollow(FOLLOW_2);
             rule__XShortClosure__ExpressionAssignment_1();
@@ -92601,14 +91482,14 @@
 
 
     // $ANTLR start "rule__XShortClosure__Group_0__0"
-    // InternalReportDSL.g:28063:1: rule__XShortClosure__Group_0__0 : rule__XShortClosure__Group_0__0__Impl ;
+    // InternalReportDSL.g:27773:1: rule__XShortClosure__Group_0__0 : rule__XShortClosure__Group_0__0__Impl ;
     public final void rule__XShortClosure__Group_0__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:28067:1: ( rule__XShortClosure__Group_0__0__Impl )
-            // InternalReportDSL.g:28068:2: rule__XShortClosure__Group_0__0__Impl
+            // InternalReportDSL.g:27777:1: ( rule__XShortClosure__Group_0__0__Impl )
+            // InternalReportDSL.g:27778:2: rule__XShortClosure__Group_0__0__Impl
             {
             pushFollow(FOLLOW_2);
             rule__XShortClosure__Group_0__0__Impl();
@@ -92634,23 +91515,23 @@
 
 
     // $ANTLR start "rule__XShortClosure__Group_0__0__Impl"
-    // InternalReportDSL.g:28074:1: rule__XShortClosure__Group_0__0__Impl : ( ( rule__XShortClosure__Group_0_0__0 ) ) ;
+    // InternalReportDSL.g:27784:1: rule__XShortClosure__Group_0__0__Impl : ( ( rule__XShortClosure__Group_0_0__0 ) ) ;
     public final void rule__XShortClosure__Group_0__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:28078:1: ( ( ( rule__XShortClosure__Group_0_0__0 ) ) )
-            // InternalReportDSL.g:28079:1: ( ( rule__XShortClosure__Group_0_0__0 ) )
+            // InternalReportDSL.g:27788:1: ( ( ( rule__XShortClosure__Group_0_0__0 ) ) )
+            // InternalReportDSL.g:27789:1: ( ( rule__XShortClosure__Group_0_0__0 ) )
             {
-            // InternalReportDSL.g:28079:1: ( ( rule__XShortClosure__Group_0_0__0 ) )
-            // InternalReportDSL.g:28080:2: ( rule__XShortClosure__Group_0_0__0 )
+            // InternalReportDSL.g:27789:1: ( ( rule__XShortClosure__Group_0_0__0 ) )
+            // InternalReportDSL.g:27790:2: ( rule__XShortClosure__Group_0_0__0 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXShortClosureAccess().getGroup_0_0()); 
             }
-            // InternalReportDSL.g:28081:2: ( rule__XShortClosure__Group_0_0__0 )
-            // InternalReportDSL.g:28081:3: rule__XShortClosure__Group_0_0__0
+            // InternalReportDSL.g:27791:2: ( rule__XShortClosure__Group_0_0__0 )
+            // InternalReportDSL.g:27791:3: rule__XShortClosure__Group_0_0__0
             {
             pushFollow(FOLLOW_2);
             rule__XShortClosure__Group_0_0__0();
@@ -92685,16 +91566,16 @@
 
 
     // $ANTLR start "rule__XShortClosure__Group_0_0__0"
-    // InternalReportDSL.g:28090:1: rule__XShortClosure__Group_0_0__0 : rule__XShortClosure__Group_0_0__0__Impl rule__XShortClosure__Group_0_0__1 ;
+    // InternalReportDSL.g:27800:1: rule__XShortClosure__Group_0_0__0 : rule__XShortClosure__Group_0_0__0__Impl rule__XShortClosure__Group_0_0__1 ;
     public final void rule__XShortClosure__Group_0_0__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:28094:1: ( rule__XShortClosure__Group_0_0__0__Impl rule__XShortClosure__Group_0_0__1 )
-            // InternalReportDSL.g:28095:2: rule__XShortClosure__Group_0_0__0__Impl rule__XShortClosure__Group_0_0__1
+            // InternalReportDSL.g:27804:1: ( rule__XShortClosure__Group_0_0__0__Impl rule__XShortClosure__Group_0_0__1 )
+            // InternalReportDSL.g:27805:2: rule__XShortClosure__Group_0_0__0__Impl rule__XShortClosure__Group_0_0__1
             {
-            pushFollow(FOLLOW_182);
+            pushFollow(FOLLOW_180);
             rule__XShortClosure__Group_0_0__0__Impl();
 
             state._fsp--;
@@ -92723,23 +91604,23 @@
 
 
     // $ANTLR start "rule__XShortClosure__Group_0_0__0__Impl"
-    // InternalReportDSL.g:28102:1: rule__XShortClosure__Group_0_0__0__Impl : ( () ) ;
+    // InternalReportDSL.g:27812:1: rule__XShortClosure__Group_0_0__0__Impl : ( () ) ;
     public final void rule__XShortClosure__Group_0_0__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:28106:1: ( ( () ) )
-            // InternalReportDSL.g:28107:1: ( () )
+            // InternalReportDSL.g:27816:1: ( ( () ) )
+            // InternalReportDSL.g:27817:1: ( () )
             {
-            // InternalReportDSL.g:28107:1: ( () )
-            // InternalReportDSL.g:28108:2: ()
+            // InternalReportDSL.g:27817:1: ( () )
+            // InternalReportDSL.g:27818:2: ()
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXShortClosureAccess().getXClosureAction_0_0_0()); 
             }
-            // InternalReportDSL.g:28109:2: ()
-            // InternalReportDSL.g:28109:3: 
+            // InternalReportDSL.g:27819:2: ()
+            // InternalReportDSL.g:27819:3: 
             {
             }
 
@@ -92764,16 +91645,16 @@
 
 
     // $ANTLR start "rule__XShortClosure__Group_0_0__1"
-    // InternalReportDSL.g:28117:1: rule__XShortClosure__Group_0_0__1 : rule__XShortClosure__Group_0_0__1__Impl rule__XShortClosure__Group_0_0__2 ;
+    // InternalReportDSL.g:27827:1: rule__XShortClosure__Group_0_0__1 : rule__XShortClosure__Group_0_0__1__Impl rule__XShortClosure__Group_0_0__2 ;
     public final void rule__XShortClosure__Group_0_0__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:28121:1: ( rule__XShortClosure__Group_0_0__1__Impl rule__XShortClosure__Group_0_0__2 )
-            // InternalReportDSL.g:28122:2: rule__XShortClosure__Group_0_0__1__Impl rule__XShortClosure__Group_0_0__2
+            // InternalReportDSL.g:27831:1: ( rule__XShortClosure__Group_0_0__1__Impl rule__XShortClosure__Group_0_0__2 )
+            // InternalReportDSL.g:27832:2: rule__XShortClosure__Group_0_0__1__Impl rule__XShortClosure__Group_0_0__2
             {
-            pushFollow(FOLLOW_182);
+            pushFollow(FOLLOW_180);
             rule__XShortClosure__Group_0_0__1__Impl();
 
             state._fsp--;
@@ -92802,31 +91683,31 @@
 
 
     // $ANTLR start "rule__XShortClosure__Group_0_0__1__Impl"
-    // InternalReportDSL.g:28129:1: rule__XShortClosure__Group_0_0__1__Impl : ( ( rule__XShortClosure__Group_0_0_1__0 )? ) ;
+    // InternalReportDSL.g:27839:1: rule__XShortClosure__Group_0_0__1__Impl : ( ( rule__XShortClosure__Group_0_0_1__0 )? ) ;
     public final void rule__XShortClosure__Group_0_0__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:28133:1: ( ( ( rule__XShortClosure__Group_0_0_1__0 )? ) )
-            // InternalReportDSL.g:28134:1: ( ( rule__XShortClosure__Group_0_0_1__0 )? )
+            // InternalReportDSL.g:27843:1: ( ( ( rule__XShortClosure__Group_0_0_1__0 )? ) )
+            // InternalReportDSL.g:27844:1: ( ( rule__XShortClosure__Group_0_0_1__0 )? )
             {
-            // InternalReportDSL.g:28134:1: ( ( rule__XShortClosure__Group_0_0_1__0 )? )
-            // InternalReportDSL.g:28135:2: ( rule__XShortClosure__Group_0_0_1__0 )?
+            // InternalReportDSL.g:27844:1: ( ( rule__XShortClosure__Group_0_0_1__0 )? )
+            // InternalReportDSL.g:27845:2: ( rule__XShortClosure__Group_0_0_1__0 )?
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXShortClosureAccess().getGroup_0_0_1()); 
             }
-            // InternalReportDSL.g:28136:2: ( rule__XShortClosure__Group_0_0_1__0 )?
-            int alt207=2;
-            int LA207_0 = input.LA(1);
+            // InternalReportDSL.g:27846:2: ( rule__XShortClosure__Group_0_0_1__0 )?
+            int alt189=2;
+            int LA189_0 = input.LA(1);
 
-            if ( (LA207_0==RULE_ID||LA207_0==35||LA207_0==204) ) {
-                alt207=1;
+            if ( (LA189_0==RULE_ID||LA189_0==35||LA189_0==211) ) {
+                alt189=1;
             }
-            switch (alt207) {
+            switch (alt189) {
                 case 1 :
-                    // InternalReportDSL.g:28136:3: rule__XShortClosure__Group_0_0_1__0
+                    // InternalReportDSL.g:27846:3: rule__XShortClosure__Group_0_0_1__0
                     {
                     pushFollow(FOLLOW_2);
                     rule__XShortClosure__Group_0_0_1__0();
@@ -92864,14 +91745,14 @@
 
 
     // $ANTLR start "rule__XShortClosure__Group_0_0__2"
-    // InternalReportDSL.g:28144:1: rule__XShortClosure__Group_0_0__2 : rule__XShortClosure__Group_0_0__2__Impl ;
+    // InternalReportDSL.g:27854:1: rule__XShortClosure__Group_0_0__2 : rule__XShortClosure__Group_0_0__2__Impl ;
     public final void rule__XShortClosure__Group_0_0__2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:28148:1: ( rule__XShortClosure__Group_0_0__2__Impl )
-            // InternalReportDSL.g:28149:2: rule__XShortClosure__Group_0_0__2__Impl
+            // InternalReportDSL.g:27858:1: ( rule__XShortClosure__Group_0_0__2__Impl )
+            // InternalReportDSL.g:27859:2: rule__XShortClosure__Group_0_0__2__Impl
             {
             pushFollow(FOLLOW_2);
             rule__XShortClosure__Group_0_0__2__Impl();
@@ -92897,23 +91778,23 @@
 
 
     // $ANTLR start "rule__XShortClosure__Group_0_0__2__Impl"
-    // InternalReportDSL.g:28155:1: rule__XShortClosure__Group_0_0__2__Impl : ( ( rule__XShortClosure__ExplicitSyntaxAssignment_0_0_2 ) ) ;
+    // InternalReportDSL.g:27865:1: rule__XShortClosure__Group_0_0__2__Impl : ( ( rule__XShortClosure__ExplicitSyntaxAssignment_0_0_2 ) ) ;
     public final void rule__XShortClosure__Group_0_0__2__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:28159:1: ( ( ( rule__XShortClosure__ExplicitSyntaxAssignment_0_0_2 ) ) )
-            // InternalReportDSL.g:28160:1: ( ( rule__XShortClosure__ExplicitSyntaxAssignment_0_0_2 ) )
+            // InternalReportDSL.g:27869:1: ( ( ( rule__XShortClosure__ExplicitSyntaxAssignment_0_0_2 ) ) )
+            // InternalReportDSL.g:27870:1: ( ( rule__XShortClosure__ExplicitSyntaxAssignment_0_0_2 ) )
             {
-            // InternalReportDSL.g:28160:1: ( ( rule__XShortClosure__ExplicitSyntaxAssignment_0_0_2 ) )
-            // InternalReportDSL.g:28161:2: ( rule__XShortClosure__ExplicitSyntaxAssignment_0_0_2 )
+            // InternalReportDSL.g:27870:1: ( ( rule__XShortClosure__ExplicitSyntaxAssignment_0_0_2 ) )
+            // InternalReportDSL.g:27871:2: ( rule__XShortClosure__ExplicitSyntaxAssignment_0_0_2 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXShortClosureAccess().getExplicitSyntaxAssignment_0_0_2()); 
             }
-            // InternalReportDSL.g:28162:2: ( rule__XShortClosure__ExplicitSyntaxAssignment_0_0_2 )
-            // InternalReportDSL.g:28162:3: rule__XShortClosure__ExplicitSyntaxAssignment_0_0_2
+            // InternalReportDSL.g:27872:2: ( rule__XShortClosure__ExplicitSyntaxAssignment_0_0_2 )
+            // InternalReportDSL.g:27872:3: rule__XShortClosure__ExplicitSyntaxAssignment_0_0_2
             {
             pushFollow(FOLLOW_2);
             rule__XShortClosure__ExplicitSyntaxAssignment_0_0_2();
@@ -92948,16 +91829,16 @@
 
 
     // $ANTLR start "rule__XShortClosure__Group_0_0_1__0"
-    // InternalReportDSL.g:28171:1: rule__XShortClosure__Group_0_0_1__0 : rule__XShortClosure__Group_0_0_1__0__Impl rule__XShortClosure__Group_0_0_1__1 ;
+    // InternalReportDSL.g:27881:1: rule__XShortClosure__Group_0_0_1__0 : rule__XShortClosure__Group_0_0_1__0__Impl rule__XShortClosure__Group_0_0_1__1 ;
     public final void rule__XShortClosure__Group_0_0_1__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:28175:1: ( rule__XShortClosure__Group_0_0_1__0__Impl rule__XShortClosure__Group_0_0_1__1 )
-            // InternalReportDSL.g:28176:2: rule__XShortClosure__Group_0_0_1__0__Impl rule__XShortClosure__Group_0_0_1__1
+            // InternalReportDSL.g:27885:1: ( rule__XShortClosure__Group_0_0_1__0__Impl rule__XShortClosure__Group_0_0_1__1 )
+            // InternalReportDSL.g:27886:2: rule__XShortClosure__Group_0_0_1__0__Impl rule__XShortClosure__Group_0_0_1__1
             {
-            pushFollow(FOLLOW_137);
+            pushFollow(FOLLOW_136);
             rule__XShortClosure__Group_0_0_1__0__Impl();
 
             state._fsp--;
@@ -92986,23 +91867,23 @@
 
 
     // $ANTLR start "rule__XShortClosure__Group_0_0_1__0__Impl"
-    // InternalReportDSL.g:28183:1: rule__XShortClosure__Group_0_0_1__0__Impl : ( ( rule__XShortClosure__DeclaredFormalParametersAssignment_0_0_1_0 ) ) ;
+    // InternalReportDSL.g:27893:1: rule__XShortClosure__Group_0_0_1__0__Impl : ( ( rule__XShortClosure__DeclaredFormalParametersAssignment_0_0_1_0 ) ) ;
     public final void rule__XShortClosure__Group_0_0_1__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:28187:1: ( ( ( rule__XShortClosure__DeclaredFormalParametersAssignment_0_0_1_0 ) ) )
-            // InternalReportDSL.g:28188:1: ( ( rule__XShortClosure__DeclaredFormalParametersAssignment_0_0_1_0 ) )
+            // InternalReportDSL.g:27897:1: ( ( ( rule__XShortClosure__DeclaredFormalParametersAssignment_0_0_1_0 ) ) )
+            // InternalReportDSL.g:27898:1: ( ( rule__XShortClosure__DeclaredFormalParametersAssignment_0_0_1_0 ) )
             {
-            // InternalReportDSL.g:28188:1: ( ( rule__XShortClosure__DeclaredFormalParametersAssignment_0_0_1_0 ) )
-            // InternalReportDSL.g:28189:2: ( rule__XShortClosure__DeclaredFormalParametersAssignment_0_0_1_0 )
+            // InternalReportDSL.g:27898:1: ( ( rule__XShortClosure__DeclaredFormalParametersAssignment_0_0_1_0 ) )
+            // InternalReportDSL.g:27899:2: ( rule__XShortClosure__DeclaredFormalParametersAssignment_0_0_1_0 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXShortClosureAccess().getDeclaredFormalParametersAssignment_0_0_1_0()); 
             }
-            // InternalReportDSL.g:28190:2: ( rule__XShortClosure__DeclaredFormalParametersAssignment_0_0_1_0 )
-            // InternalReportDSL.g:28190:3: rule__XShortClosure__DeclaredFormalParametersAssignment_0_0_1_0
+            // InternalReportDSL.g:27900:2: ( rule__XShortClosure__DeclaredFormalParametersAssignment_0_0_1_0 )
+            // InternalReportDSL.g:27900:3: rule__XShortClosure__DeclaredFormalParametersAssignment_0_0_1_0
             {
             pushFollow(FOLLOW_2);
             rule__XShortClosure__DeclaredFormalParametersAssignment_0_0_1_0();
@@ -93037,14 +91918,14 @@
 
 
     // $ANTLR start "rule__XShortClosure__Group_0_0_1__1"
-    // InternalReportDSL.g:28198:1: rule__XShortClosure__Group_0_0_1__1 : rule__XShortClosure__Group_0_0_1__1__Impl ;
+    // InternalReportDSL.g:27908:1: rule__XShortClosure__Group_0_0_1__1 : rule__XShortClosure__Group_0_0_1__1__Impl ;
     public final void rule__XShortClosure__Group_0_0_1__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:28202:1: ( rule__XShortClosure__Group_0_0_1__1__Impl )
-            // InternalReportDSL.g:28203:2: rule__XShortClosure__Group_0_0_1__1__Impl
+            // InternalReportDSL.g:27912:1: ( rule__XShortClosure__Group_0_0_1__1__Impl )
+            // InternalReportDSL.g:27913:2: rule__XShortClosure__Group_0_0_1__1__Impl
             {
             pushFollow(FOLLOW_2);
             rule__XShortClosure__Group_0_0_1__1__Impl();
@@ -93070,37 +91951,37 @@
 
 
     // $ANTLR start "rule__XShortClosure__Group_0_0_1__1__Impl"
-    // InternalReportDSL.g:28209:1: rule__XShortClosure__Group_0_0_1__1__Impl : ( ( rule__XShortClosure__Group_0_0_1_1__0 )* ) ;
+    // InternalReportDSL.g:27919:1: rule__XShortClosure__Group_0_0_1__1__Impl : ( ( rule__XShortClosure__Group_0_0_1_1__0 )* ) ;
     public final void rule__XShortClosure__Group_0_0_1__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:28213:1: ( ( ( rule__XShortClosure__Group_0_0_1_1__0 )* ) )
-            // InternalReportDSL.g:28214:1: ( ( rule__XShortClosure__Group_0_0_1_1__0 )* )
+            // InternalReportDSL.g:27923:1: ( ( ( rule__XShortClosure__Group_0_0_1_1__0 )* ) )
+            // InternalReportDSL.g:27924:1: ( ( rule__XShortClosure__Group_0_0_1_1__0 )* )
             {
-            // InternalReportDSL.g:28214:1: ( ( rule__XShortClosure__Group_0_0_1_1__0 )* )
-            // InternalReportDSL.g:28215:2: ( rule__XShortClosure__Group_0_0_1_1__0 )*
+            // InternalReportDSL.g:27924:1: ( ( rule__XShortClosure__Group_0_0_1_1__0 )* )
+            // InternalReportDSL.g:27925:2: ( rule__XShortClosure__Group_0_0_1_1__0 )*
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXShortClosureAccess().getGroup_0_0_1_1()); 
             }
-            // InternalReportDSL.g:28216:2: ( rule__XShortClosure__Group_0_0_1_1__0 )*
-            loop208:
+            // InternalReportDSL.g:27926:2: ( rule__XShortClosure__Group_0_0_1_1__0 )*
+            loop190:
             do {
-                int alt208=2;
-                int LA208_0 = input.LA(1);
+                int alt190=2;
+                int LA190_0 = input.LA(1);
 
-                if ( (LA208_0==228) ) {
-                    alt208=1;
+                if ( (LA190_0==235) ) {
+                    alt190=1;
                 }
 
 
-                switch (alt208) {
+                switch (alt190) {
             	case 1 :
-            	    // InternalReportDSL.g:28216:3: rule__XShortClosure__Group_0_0_1_1__0
+            	    // InternalReportDSL.g:27926:3: rule__XShortClosure__Group_0_0_1_1__0
             	    {
-            	    pushFollow(FOLLOW_138);
+            	    pushFollow(FOLLOW_137);
             	    rule__XShortClosure__Group_0_0_1_1__0();
 
             	    state._fsp--;
@@ -93110,7 +91991,7 @@
             	    break;
 
             	default :
-            	    break loop208;
+            	    break loop190;
                 }
             } while (true);
 
@@ -93139,16 +92020,16 @@
 
 
     // $ANTLR start "rule__XShortClosure__Group_0_0_1_1__0"
-    // InternalReportDSL.g:28225:1: rule__XShortClosure__Group_0_0_1_1__0 : rule__XShortClosure__Group_0_0_1_1__0__Impl rule__XShortClosure__Group_0_0_1_1__1 ;
+    // InternalReportDSL.g:27935:1: rule__XShortClosure__Group_0_0_1_1__0 : rule__XShortClosure__Group_0_0_1_1__0__Impl rule__XShortClosure__Group_0_0_1_1__1 ;
     public final void rule__XShortClosure__Group_0_0_1_1__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:28229:1: ( rule__XShortClosure__Group_0_0_1_1__0__Impl rule__XShortClosure__Group_0_0_1_1__1 )
-            // InternalReportDSL.g:28230:2: rule__XShortClosure__Group_0_0_1_1__0__Impl rule__XShortClosure__Group_0_0_1_1__1
+            // InternalReportDSL.g:27939:1: ( rule__XShortClosure__Group_0_0_1_1__0__Impl rule__XShortClosure__Group_0_0_1_1__1 )
+            // InternalReportDSL.g:27940:2: rule__XShortClosure__Group_0_0_1_1__0__Impl rule__XShortClosure__Group_0_0_1_1__1
             {
-            pushFollow(FOLLOW_156);
+            pushFollow(FOLLOW_155);
             rule__XShortClosure__Group_0_0_1_1__0__Impl();
 
             state._fsp--;
@@ -93177,22 +92058,22 @@
 
 
     // $ANTLR start "rule__XShortClosure__Group_0_0_1_1__0__Impl"
-    // InternalReportDSL.g:28237:1: rule__XShortClosure__Group_0_0_1_1__0__Impl : ( ',' ) ;
+    // InternalReportDSL.g:27947:1: rule__XShortClosure__Group_0_0_1_1__0__Impl : ( ',' ) ;
     public final void rule__XShortClosure__Group_0_0_1_1__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:28241:1: ( ( ',' ) )
-            // InternalReportDSL.g:28242:1: ( ',' )
+            // InternalReportDSL.g:27951:1: ( ( ',' ) )
+            // InternalReportDSL.g:27952:1: ( ',' )
             {
-            // InternalReportDSL.g:28242:1: ( ',' )
-            // InternalReportDSL.g:28243:2: ','
+            // InternalReportDSL.g:27952:1: ( ',' )
+            // InternalReportDSL.g:27953:2: ','
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXShortClosureAccess().getCommaKeyword_0_0_1_1_0()); 
             }
-            match(input,228,FOLLOW_2); if (state.failed) return ;
+            match(input,235,FOLLOW_2); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getXShortClosureAccess().getCommaKeyword_0_0_1_1_0()); 
             }
@@ -93218,14 +92099,14 @@
 
 
     // $ANTLR start "rule__XShortClosure__Group_0_0_1_1__1"
-    // InternalReportDSL.g:28252:1: rule__XShortClosure__Group_0_0_1_1__1 : rule__XShortClosure__Group_0_0_1_1__1__Impl ;
+    // InternalReportDSL.g:27962:1: rule__XShortClosure__Group_0_0_1_1__1 : rule__XShortClosure__Group_0_0_1_1__1__Impl ;
     public final void rule__XShortClosure__Group_0_0_1_1__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:28256:1: ( rule__XShortClosure__Group_0_0_1_1__1__Impl )
-            // InternalReportDSL.g:28257:2: rule__XShortClosure__Group_0_0_1_1__1__Impl
+            // InternalReportDSL.g:27966:1: ( rule__XShortClosure__Group_0_0_1_1__1__Impl )
+            // InternalReportDSL.g:27967:2: rule__XShortClosure__Group_0_0_1_1__1__Impl
             {
             pushFollow(FOLLOW_2);
             rule__XShortClosure__Group_0_0_1_1__1__Impl();
@@ -93251,23 +92132,23 @@
 
 
     // $ANTLR start "rule__XShortClosure__Group_0_0_1_1__1__Impl"
-    // InternalReportDSL.g:28263:1: rule__XShortClosure__Group_0_0_1_1__1__Impl : ( ( rule__XShortClosure__DeclaredFormalParametersAssignment_0_0_1_1_1 ) ) ;
+    // InternalReportDSL.g:27973:1: rule__XShortClosure__Group_0_0_1_1__1__Impl : ( ( rule__XShortClosure__DeclaredFormalParametersAssignment_0_0_1_1_1 ) ) ;
     public final void rule__XShortClosure__Group_0_0_1_1__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:28267:1: ( ( ( rule__XShortClosure__DeclaredFormalParametersAssignment_0_0_1_1_1 ) ) )
-            // InternalReportDSL.g:28268:1: ( ( rule__XShortClosure__DeclaredFormalParametersAssignment_0_0_1_1_1 ) )
+            // InternalReportDSL.g:27977:1: ( ( ( rule__XShortClosure__DeclaredFormalParametersAssignment_0_0_1_1_1 ) ) )
+            // InternalReportDSL.g:27978:1: ( ( rule__XShortClosure__DeclaredFormalParametersAssignment_0_0_1_1_1 ) )
             {
-            // InternalReportDSL.g:28268:1: ( ( rule__XShortClosure__DeclaredFormalParametersAssignment_0_0_1_1_1 ) )
-            // InternalReportDSL.g:28269:2: ( rule__XShortClosure__DeclaredFormalParametersAssignment_0_0_1_1_1 )
+            // InternalReportDSL.g:27978:1: ( ( rule__XShortClosure__DeclaredFormalParametersAssignment_0_0_1_1_1 ) )
+            // InternalReportDSL.g:27979:2: ( rule__XShortClosure__DeclaredFormalParametersAssignment_0_0_1_1_1 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXShortClosureAccess().getDeclaredFormalParametersAssignment_0_0_1_1_1()); 
             }
-            // InternalReportDSL.g:28270:2: ( rule__XShortClosure__DeclaredFormalParametersAssignment_0_0_1_1_1 )
-            // InternalReportDSL.g:28270:3: rule__XShortClosure__DeclaredFormalParametersAssignment_0_0_1_1_1
+            // InternalReportDSL.g:27980:2: ( rule__XShortClosure__DeclaredFormalParametersAssignment_0_0_1_1_1 )
+            // InternalReportDSL.g:27980:3: rule__XShortClosure__DeclaredFormalParametersAssignment_0_0_1_1_1
             {
             pushFollow(FOLLOW_2);
             rule__XShortClosure__DeclaredFormalParametersAssignment_0_0_1_1_1();
@@ -93302,16 +92183,16 @@
 
 
     // $ANTLR start "rule__XParenthesizedExpression__Group__0"
-    // InternalReportDSL.g:28279:1: rule__XParenthesizedExpression__Group__0 : rule__XParenthesizedExpression__Group__0__Impl rule__XParenthesizedExpression__Group__1 ;
+    // InternalReportDSL.g:27989:1: rule__XParenthesizedExpression__Group__0 : rule__XParenthesizedExpression__Group__0__Impl rule__XParenthesizedExpression__Group__1 ;
     public final void rule__XParenthesizedExpression__Group__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:28283:1: ( rule__XParenthesizedExpression__Group__0__Impl rule__XParenthesizedExpression__Group__1 )
-            // InternalReportDSL.g:28284:2: rule__XParenthesizedExpression__Group__0__Impl rule__XParenthesizedExpression__Group__1
+            // InternalReportDSL.g:27993:1: ( rule__XParenthesizedExpression__Group__0__Impl rule__XParenthesizedExpression__Group__1 )
+            // InternalReportDSL.g:27994:2: rule__XParenthesizedExpression__Group__0__Impl rule__XParenthesizedExpression__Group__1
             {
-            pushFollow(FOLLOW_139);
+            pushFollow(FOLLOW_138);
             rule__XParenthesizedExpression__Group__0__Impl();
 
             state._fsp--;
@@ -93340,22 +92221,22 @@
 
 
     // $ANTLR start "rule__XParenthesizedExpression__Group__0__Impl"
-    // InternalReportDSL.g:28291:1: rule__XParenthesizedExpression__Group__0__Impl : ( '(' ) ;
+    // InternalReportDSL.g:28001:1: rule__XParenthesizedExpression__Group__0__Impl : ( '(' ) ;
     public final void rule__XParenthesizedExpression__Group__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:28295:1: ( ( '(' ) )
-            // InternalReportDSL.g:28296:1: ( '(' )
+            // InternalReportDSL.g:28005:1: ( ( '(' ) )
+            // InternalReportDSL.g:28006:1: ( '(' )
             {
-            // InternalReportDSL.g:28296:1: ( '(' )
-            // InternalReportDSL.g:28297:2: '('
+            // InternalReportDSL.g:28006:1: ( '(' )
+            // InternalReportDSL.g:28007:2: '('
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXParenthesizedExpressionAccess().getLeftParenthesisKeyword_0()); 
             }
-            match(input,204,FOLLOW_2); if (state.failed) return ;
+            match(input,211,FOLLOW_2); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getXParenthesizedExpressionAccess().getLeftParenthesisKeyword_0()); 
             }
@@ -93381,16 +92262,16 @@
 
 
     // $ANTLR start "rule__XParenthesizedExpression__Group__1"
-    // InternalReportDSL.g:28306:1: rule__XParenthesizedExpression__Group__1 : rule__XParenthesizedExpression__Group__1__Impl rule__XParenthesizedExpression__Group__2 ;
+    // InternalReportDSL.g:28016:1: rule__XParenthesizedExpression__Group__1 : rule__XParenthesizedExpression__Group__1__Impl rule__XParenthesizedExpression__Group__2 ;
     public final void rule__XParenthesizedExpression__Group__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:28310:1: ( rule__XParenthesizedExpression__Group__1__Impl rule__XParenthesizedExpression__Group__2 )
-            // InternalReportDSL.g:28311:2: rule__XParenthesizedExpression__Group__1__Impl rule__XParenthesizedExpression__Group__2
+            // InternalReportDSL.g:28020:1: ( rule__XParenthesizedExpression__Group__1__Impl rule__XParenthesizedExpression__Group__2 )
+            // InternalReportDSL.g:28021:2: rule__XParenthesizedExpression__Group__1__Impl rule__XParenthesizedExpression__Group__2
             {
-            pushFollow(FOLLOW_113);
+            pushFollow(FOLLOW_112);
             rule__XParenthesizedExpression__Group__1__Impl();
 
             state._fsp--;
@@ -93419,17 +92300,17 @@
 
 
     // $ANTLR start "rule__XParenthesizedExpression__Group__1__Impl"
-    // InternalReportDSL.g:28318:1: rule__XParenthesizedExpression__Group__1__Impl : ( ruleXExpression ) ;
+    // InternalReportDSL.g:28028:1: rule__XParenthesizedExpression__Group__1__Impl : ( ruleXExpression ) ;
     public final void rule__XParenthesizedExpression__Group__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:28322:1: ( ( ruleXExpression ) )
-            // InternalReportDSL.g:28323:1: ( ruleXExpression )
+            // InternalReportDSL.g:28032:1: ( ( ruleXExpression ) )
+            // InternalReportDSL.g:28033:1: ( ruleXExpression )
             {
-            // InternalReportDSL.g:28323:1: ( ruleXExpression )
-            // InternalReportDSL.g:28324:2: ruleXExpression
+            // InternalReportDSL.g:28033:1: ( ruleXExpression )
+            // InternalReportDSL.g:28034:2: ruleXExpression
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXParenthesizedExpressionAccess().getXExpressionParserRuleCall_1()); 
@@ -93464,14 +92345,14 @@
 
 
     // $ANTLR start "rule__XParenthesizedExpression__Group__2"
-    // InternalReportDSL.g:28333:1: rule__XParenthesizedExpression__Group__2 : rule__XParenthesizedExpression__Group__2__Impl ;
+    // InternalReportDSL.g:28043:1: rule__XParenthesizedExpression__Group__2 : rule__XParenthesizedExpression__Group__2__Impl ;
     public final void rule__XParenthesizedExpression__Group__2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:28337:1: ( rule__XParenthesizedExpression__Group__2__Impl )
-            // InternalReportDSL.g:28338:2: rule__XParenthesizedExpression__Group__2__Impl
+            // InternalReportDSL.g:28047:1: ( rule__XParenthesizedExpression__Group__2__Impl )
+            // InternalReportDSL.g:28048:2: rule__XParenthesizedExpression__Group__2__Impl
             {
             pushFollow(FOLLOW_2);
             rule__XParenthesizedExpression__Group__2__Impl();
@@ -93497,22 +92378,22 @@
 
 
     // $ANTLR start "rule__XParenthesizedExpression__Group__2__Impl"
-    // InternalReportDSL.g:28344:1: rule__XParenthesizedExpression__Group__2__Impl : ( ')' ) ;
+    // InternalReportDSL.g:28054:1: rule__XParenthesizedExpression__Group__2__Impl : ( ')' ) ;
     public final void rule__XParenthesizedExpression__Group__2__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:28348:1: ( ( ')' ) )
-            // InternalReportDSL.g:28349:1: ( ')' )
+            // InternalReportDSL.g:28058:1: ( ( ')' ) )
+            // InternalReportDSL.g:28059:1: ( ')' )
             {
-            // InternalReportDSL.g:28349:1: ( ')' )
-            // InternalReportDSL.g:28350:2: ')'
+            // InternalReportDSL.g:28059:1: ( ')' )
+            // InternalReportDSL.g:28060:2: ')'
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXParenthesizedExpressionAccess().getRightParenthesisKeyword_2()); 
             }
-            match(input,205,FOLLOW_2); if (state.failed) return ;
+            match(input,212,FOLLOW_2); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getXParenthesizedExpressionAccess().getRightParenthesisKeyword_2()); 
             }
@@ -93538,16 +92419,16 @@
 
 
     // $ANTLR start "rule__XIfExpression__Group__0"
-    // InternalReportDSL.g:28360:1: rule__XIfExpression__Group__0 : rule__XIfExpression__Group__0__Impl rule__XIfExpression__Group__1 ;
+    // InternalReportDSL.g:28070:1: rule__XIfExpression__Group__0 : rule__XIfExpression__Group__0__Impl rule__XIfExpression__Group__1 ;
     public final void rule__XIfExpression__Group__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:28364:1: ( rule__XIfExpression__Group__0__Impl rule__XIfExpression__Group__1 )
-            // InternalReportDSL.g:28365:2: rule__XIfExpression__Group__0__Impl rule__XIfExpression__Group__1
+            // InternalReportDSL.g:28074:1: ( rule__XIfExpression__Group__0__Impl rule__XIfExpression__Group__1 )
+            // InternalReportDSL.g:28075:2: rule__XIfExpression__Group__0__Impl rule__XIfExpression__Group__1
             {
-            pushFollow(FOLLOW_184);
+            pushFollow(FOLLOW_182);
             rule__XIfExpression__Group__0__Impl();
 
             state._fsp--;
@@ -93576,23 +92457,23 @@
 
 
     // $ANTLR start "rule__XIfExpression__Group__0__Impl"
-    // InternalReportDSL.g:28372:1: rule__XIfExpression__Group__0__Impl : ( () ) ;
+    // InternalReportDSL.g:28082:1: rule__XIfExpression__Group__0__Impl : ( () ) ;
     public final void rule__XIfExpression__Group__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:28376:1: ( ( () ) )
-            // InternalReportDSL.g:28377:1: ( () )
+            // InternalReportDSL.g:28086:1: ( ( () ) )
+            // InternalReportDSL.g:28087:1: ( () )
             {
-            // InternalReportDSL.g:28377:1: ( () )
-            // InternalReportDSL.g:28378:2: ()
+            // InternalReportDSL.g:28087:1: ( () )
+            // InternalReportDSL.g:28088:2: ()
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXIfExpressionAccess().getXIfExpressionAction_0()); 
             }
-            // InternalReportDSL.g:28379:2: ()
-            // InternalReportDSL.g:28379:3: 
+            // InternalReportDSL.g:28089:2: ()
+            // InternalReportDSL.g:28089:3: 
             {
             }
 
@@ -93617,16 +92498,16 @@
 
 
     // $ANTLR start "rule__XIfExpression__Group__1"
-    // InternalReportDSL.g:28387:1: rule__XIfExpression__Group__1 : rule__XIfExpression__Group__1__Impl rule__XIfExpression__Group__2 ;
+    // InternalReportDSL.g:28097:1: rule__XIfExpression__Group__1 : rule__XIfExpression__Group__1__Impl rule__XIfExpression__Group__2 ;
     public final void rule__XIfExpression__Group__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:28391:1: ( rule__XIfExpression__Group__1__Impl rule__XIfExpression__Group__2 )
-            // InternalReportDSL.g:28392:2: rule__XIfExpression__Group__1__Impl rule__XIfExpression__Group__2
+            // InternalReportDSL.g:28101:1: ( rule__XIfExpression__Group__1__Impl rule__XIfExpression__Group__2 )
+            // InternalReportDSL.g:28102:2: rule__XIfExpression__Group__1__Impl rule__XIfExpression__Group__2
             {
-            pushFollow(FOLLOW_104);
+            pushFollow(FOLLOW_103);
             rule__XIfExpression__Group__1__Impl();
 
             state._fsp--;
@@ -93655,22 +92536,22 @@
 
 
     // $ANTLR start "rule__XIfExpression__Group__1__Impl"
-    // InternalReportDSL.g:28399:1: rule__XIfExpression__Group__1__Impl : ( 'if' ) ;
+    // InternalReportDSL.g:28109:1: rule__XIfExpression__Group__1__Impl : ( 'if' ) ;
     public final void rule__XIfExpression__Group__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:28403:1: ( ( 'if' ) )
-            // InternalReportDSL.g:28404:1: ( 'if' )
+            // InternalReportDSL.g:28113:1: ( ( 'if' ) )
+            // InternalReportDSL.g:28114:1: ( 'if' )
             {
-            // InternalReportDSL.g:28404:1: ( 'if' )
-            // InternalReportDSL.g:28405:2: 'if'
+            // InternalReportDSL.g:28114:1: ( 'if' )
+            // InternalReportDSL.g:28115:2: 'if'
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXIfExpressionAccess().getIfKeyword_1()); 
             }
-            match(input,233,FOLLOW_2); if (state.failed) return ;
+            match(input,240,FOLLOW_2); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getXIfExpressionAccess().getIfKeyword_1()); 
             }
@@ -93696,16 +92577,16 @@
 
 
     // $ANTLR start "rule__XIfExpression__Group__2"
-    // InternalReportDSL.g:28414:1: rule__XIfExpression__Group__2 : rule__XIfExpression__Group__2__Impl rule__XIfExpression__Group__3 ;
+    // InternalReportDSL.g:28124:1: rule__XIfExpression__Group__2 : rule__XIfExpression__Group__2__Impl rule__XIfExpression__Group__3 ;
     public final void rule__XIfExpression__Group__2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:28418:1: ( rule__XIfExpression__Group__2__Impl rule__XIfExpression__Group__3 )
-            // InternalReportDSL.g:28419:2: rule__XIfExpression__Group__2__Impl rule__XIfExpression__Group__3
+            // InternalReportDSL.g:28128:1: ( rule__XIfExpression__Group__2__Impl rule__XIfExpression__Group__3 )
+            // InternalReportDSL.g:28129:2: rule__XIfExpression__Group__2__Impl rule__XIfExpression__Group__3
             {
-            pushFollow(FOLLOW_139);
+            pushFollow(FOLLOW_138);
             rule__XIfExpression__Group__2__Impl();
 
             state._fsp--;
@@ -93734,22 +92615,22 @@
 
 
     // $ANTLR start "rule__XIfExpression__Group__2__Impl"
-    // InternalReportDSL.g:28426:1: rule__XIfExpression__Group__2__Impl : ( '(' ) ;
+    // InternalReportDSL.g:28136:1: rule__XIfExpression__Group__2__Impl : ( '(' ) ;
     public final void rule__XIfExpression__Group__2__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:28430:1: ( ( '(' ) )
-            // InternalReportDSL.g:28431:1: ( '(' )
+            // InternalReportDSL.g:28140:1: ( ( '(' ) )
+            // InternalReportDSL.g:28141:1: ( '(' )
             {
-            // InternalReportDSL.g:28431:1: ( '(' )
-            // InternalReportDSL.g:28432:2: '('
+            // InternalReportDSL.g:28141:1: ( '(' )
+            // InternalReportDSL.g:28142:2: '('
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXIfExpressionAccess().getLeftParenthesisKeyword_2()); 
             }
-            match(input,204,FOLLOW_2); if (state.failed) return ;
+            match(input,211,FOLLOW_2); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getXIfExpressionAccess().getLeftParenthesisKeyword_2()); 
             }
@@ -93775,16 +92656,16 @@
 
 
     // $ANTLR start "rule__XIfExpression__Group__3"
-    // InternalReportDSL.g:28441:1: rule__XIfExpression__Group__3 : rule__XIfExpression__Group__3__Impl rule__XIfExpression__Group__4 ;
+    // InternalReportDSL.g:28151:1: rule__XIfExpression__Group__3 : rule__XIfExpression__Group__3__Impl rule__XIfExpression__Group__4 ;
     public final void rule__XIfExpression__Group__3() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:28445:1: ( rule__XIfExpression__Group__3__Impl rule__XIfExpression__Group__4 )
-            // InternalReportDSL.g:28446:2: rule__XIfExpression__Group__3__Impl rule__XIfExpression__Group__4
+            // InternalReportDSL.g:28155:1: ( rule__XIfExpression__Group__3__Impl rule__XIfExpression__Group__4 )
+            // InternalReportDSL.g:28156:2: rule__XIfExpression__Group__3__Impl rule__XIfExpression__Group__4
             {
-            pushFollow(FOLLOW_113);
+            pushFollow(FOLLOW_112);
             rule__XIfExpression__Group__3__Impl();
 
             state._fsp--;
@@ -93813,23 +92694,23 @@
 
 
     // $ANTLR start "rule__XIfExpression__Group__3__Impl"
-    // InternalReportDSL.g:28453:1: rule__XIfExpression__Group__3__Impl : ( ( rule__XIfExpression__IfAssignment_3 ) ) ;
+    // InternalReportDSL.g:28163:1: rule__XIfExpression__Group__3__Impl : ( ( rule__XIfExpression__IfAssignment_3 ) ) ;
     public final void rule__XIfExpression__Group__3__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:28457:1: ( ( ( rule__XIfExpression__IfAssignment_3 ) ) )
-            // InternalReportDSL.g:28458:1: ( ( rule__XIfExpression__IfAssignment_3 ) )
+            // InternalReportDSL.g:28167:1: ( ( ( rule__XIfExpression__IfAssignment_3 ) ) )
+            // InternalReportDSL.g:28168:1: ( ( rule__XIfExpression__IfAssignment_3 ) )
             {
-            // InternalReportDSL.g:28458:1: ( ( rule__XIfExpression__IfAssignment_3 ) )
-            // InternalReportDSL.g:28459:2: ( rule__XIfExpression__IfAssignment_3 )
+            // InternalReportDSL.g:28168:1: ( ( rule__XIfExpression__IfAssignment_3 ) )
+            // InternalReportDSL.g:28169:2: ( rule__XIfExpression__IfAssignment_3 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXIfExpressionAccess().getIfAssignment_3()); 
             }
-            // InternalReportDSL.g:28460:2: ( rule__XIfExpression__IfAssignment_3 )
-            // InternalReportDSL.g:28460:3: rule__XIfExpression__IfAssignment_3
+            // InternalReportDSL.g:28170:2: ( rule__XIfExpression__IfAssignment_3 )
+            // InternalReportDSL.g:28170:3: rule__XIfExpression__IfAssignment_3
             {
             pushFollow(FOLLOW_2);
             rule__XIfExpression__IfAssignment_3();
@@ -93864,16 +92745,16 @@
 
 
     // $ANTLR start "rule__XIfExpression__Group__4"
-    // InternalReportDSL.g:28468:1: rule__XIfExpression__Group__4 : rule__XIfExpression__Group__4__Impl rule__XIfExpression__Group__5 ;
+    // InternalReportDSL.g:28178:1: rule__XIfExpression__Group__4 : rule__XIfExpression__Group__4__Impl rule__XIfExpression__Group__5 ;
     public final void rule__XIfExpression__Group__4() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:28472:1: ( rule__XIfExpression__Group__4__Impl rule__XIfExpression__Group__5 )
-            // InternalReportDSL.g:28473:2: rule__XIfExpression__Group__4__Impl rule__XIfExpression__Group__5
+            // InternalReportDSL.g:28182:1: ( rule__XIfExpression__Group__4__Impl rule__XIfExpression__Group__5 )
+            // InternalReportDSL.g:28183:2: rule__XIfExpression__Group__4__Impl rule__XIfExpression__Group__5
             {
-            pushFollow(FOLLOW_139);
+            pushFollow(FOLLOW_138);
             rule__XIfExpression__Group__4__Impl();
 
             state._fsp--;
@@ -93902,22 +92783,22 @@
 
 
     // $ANTLR start "rule__XIfExpression__Group__4__Impl"
-    // InternalReportDSL.g:28480:1: rule__XIfExpression__Group__4__Impl : ( ')' ) ;
+    // InternalReportDSL.g:28190:1: rule__XIfExpression__Group__4__Impl : ( ')' ) ;
     public final void rule__XIfExpression__Group__4__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:28484:1: ( ( ')' ) )
-            // InternalReportDSL.g:28485:1: ( ')' )
+            // InternalReportDSL.g:28194:1: ( ( ')' ) )
+            // InternalReportDSL.g:28195:1: ( ')' )
             {
-            // InternalReportDSL.g:28485:1: ( ')' )
-            // InternalReportDSL.g:28486:2: ')'
+            // InternalReportDSL.g:28195:1: ( ')' )
+            // InternalReportDSL.g:28196:2: ')'
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXIfExpressionAccess().getRightParenthesisKeyword_4()); 
             }
-            match(input,205,FOLLOW_2); if (state.failed) return ;
+            match(input,212,FOLLOW_2); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getXIfExpressionAccess().getRightParenthesisKeyword_4()); 
             }
@@ -93943,16 +92824,16 @@
 
 
     // $ANTLR start "rule__XIfExpression__Group__5"
-    // InternalReportDSL.g:28495:1: rule__XIfExpression__Group__5 : rule__XIfExpression__Group__5__Impl rule__XIfExpression__Group__6 ;
+    // InternalReportDSL.g:28205:1: rule__XIfExpression__Group__5 : rule__XIfExpression__Group__5__Impl rule__XIfExpression__Group__6 ;
     public final void rule__XIfExpression__Group__5() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:28499:1: ( rule__XIfExpression__Group__5__Impl rule__XIfExpression__Group__6 )
-            // InternalReportDSL.g:28500:2: rule__XIfExpression__Group__5__Impl rule__XIfExpression__Group__6
+            // InternalReportDSL.g:28209:1: ( rule__XIfExpression__Group__5__Impl rule__XIfExpression__Group__6 )
+            // InternalReportDSL.g:28210:2: rule__XIfExpression__Group__5__Impl rule__XIfExpression__Group__6
             {
-            pushFollow(FOLLOW_185);
+            pushFollow(FOLLOW_183);
             rule__XIfExpression__Group__5__Impl();
 
             state._fsp--;
@@ -93981,23 +92862,23 @@
 
 
     // $ANTLR start "rule__XIfExpression__Group__5__Impl"
-    // InternalReportDSL.g:28507:1: rule__XIfExpression__Group__5__Impl : ( ( rule__XIfExpression__ThenAssignment_5 ) ) ;
+    // InternalReportDSL.g:28217:1: rule__XIfExpression__Group__5__Impl : ( ( rule__XIfExpression__ThenAssignment_5 ) ) ;
     public final void rule__XIfExpression__Group__5__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:28511:1: ( ( ( rule__XIfExpression__ThenAssignment_5 ) ) )
-            // InternalReportDSL.g:28512:1: ( ( rule__XIfExpression__ThenAssignment_5 ) )
+            // InternalReportDSL.g:28221:1: ( ( ( rule__XIfExpression__ThenAssignment_5 ) ) )
+            // InternalReportDSL.g:28222:1: ( ( rule__XIfExpression__ThenAssignment_5 ) )
             {
-            // InternalReportDSL.g:28512:1: ( ( rule__XIfExpression__ThenAssignment_5 ) )
-            // InternalReportDSL.g:28513:2: ( rule__XIfExpression__ThenAssignment_5 )
+            // InternalReportDSL.g:28222:1: ( ( rule__XIfExpression__ThenAssignment_5 ) )
+            // InternalReportDSL.g:28223:2: ( rule__XIfExpression__ThenAssignment_5 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXIfExpressionAccess().getThenAssignment_5()); 
             }
-            // InternalReportDSL.g:28514:2: ( rule__XIfExpression__ThenAssignment_5 )
-            // InternalReportDSL.g:28514:3: rule__XIfExpression__ThenAssignment_5
+            // InternalReportDSL.g:28224:2: ( rule__XIfExpression__ThenAssignment_5 )
+            // InternalReportDSL.g:28224:3: rule__XIfExpression__ThenAssignment_5
             {
             pushFollow(FOLLOW_2);
             rule__XIfExpression__ThenAssignment_5();
@@ -94032,14 +92913,14 @@
 
 
     // $ANTLR start "rule__XIfExpression__Group__6"
-    // InternalReportDSL.g:28522:1: rule__XIfExpression__Group__6 : rule__XIfExpression__Group__6__Impl ;
+    // InternalReportDSL.g:28232:1: rule__XIfExpression__Group__6 : rule__XIfExpression__Group__6__Impl ;
     public final void rule__XIfExpression__Group__6() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:28526:1: ( rule__XIfExpression__Group__6__Impl )
-            // InternalReportDSL.g:28527:2: rule__XIfExpression__Group__6__Impl
+            // InternalReportDSL.g:28236:1: ( rule__XIfExpression__Group__6__Impl )
+            // InternalReportDSL.g:28237:2: rule__XIfExpression__Group__6__Impl
             {
             pushFollow(FOLLOW_2);
             rule__XIfExpression__Group__6__Impl();
@@ -94065,35 +92946,35 @@
 
 
     // $ANTLR start "rule__XIfExpression__Group__6__Impl"
-    // InternalReportDSL.g:28533:1: rule__XIfExpression__Group__6__Impl : ( ( rule__XIfExpression__Group_6__0 )? ) ;
+    // InternalReportDSL.g:28243:1: rule__XIfExpression__Group__6__Impl : ( ( rule__XIfExpression__Group_6__0 )? ) ;
     public final void rule__XIfExpression__Group__6__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:28537:1: ( ( ( rule__XIfExpression__Group_6__0 )? ) )
-            // InternalReportDSL.g:28538:1: ( ( rule__XIfExpression__Group_6__0 )? )
+            // InternalReportDSL.g:28247:1: ( ( ( rule__XIfExpression__Group_6__0 )? ) )
+            // InternalReportDSL.g:28248:1: ( ( rule__XIfExpression__Group_6__0 )? )
             {
-            // InternalReportDSL.g:28538:1: ( ( rule__XIfExpression__Group_6__0 )? )
-            // InternalReportDSL.g:28539:2: ( rule__XIfExpression__Group_6__0 )?
+            // InternalReportDSL.g:28248:1: ( ( rule__XIfExpression__Group_6__0 )? )
+            // InternalReportDSL.g:28249:2: ( rule__XIfExpression__Group_6__0 )?
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXIfExpressionAccess().getGroup_6()); 
             }
-            // InternalReportDSL.g:28540:2: ( rule__XIfExpression__Group_6__0 )?
-            int alt209=2;
-            int LA209_0 = input.LA(1);
+            // InternalReportDSL.g:28250:2: ( rule__XIfExpression__Group_6__0 )?
+            int alt191=2;
+            int LA191_0 = input.LA(1);
 
-            if ( (LA209_0==234) ) {
-                int LA209_1 = input.LA(2);
+            if ( (LA191_0==241) ) {
+                int LA191_1 = input.LA(2);
 
-                if ( (synpred314_InternalReportDSL()) ) {
-                    alt209=1;
+                if ( (synpred300_InternalReportDSL()) ) {
+                    alt191=1;
                 }
             }
-            switch (alt209) {
+            switch (alt191) {
                 case 1 :
-                    // InternalReportDSL.g:28540:3: rule__XIfExpression__Group_6__0
+                    // InternalReportDSL.g:28250:3: rule__XIfExpression__Group_6__0
                     {
                     pushFollow(FOLLOW_2);
                     rule__XIfExpression__Group_6__0();
@@ -94131,16 +93012,16 @@
 
 
     // $ANTLR start "rule__XIfExpression__Group_6__0"
-    // InternalReportDSL.g:28549:1: rule__XIfExpression__Group_6__0 : rule__XIfExpression__Group_6__0__Impl rule__XIfExpression__Group_6__1 ;
+    // InternalReportDSL.g:28259:1: rule__XIfExpression__Group_6__0 : rule__XIfExpression__Group_6__0__Impl rule__XIfExpression__Group_6__1 ;
     public final void rule__XIfExpression__Group_6__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:28553:1: ( rule__XIfExpression__Group_6__0__Impl rule__XIfExpression__Group_6__1 )
-            // InternalReportDSL.g:28554:2: rule__XIfExpression__Group_6__0__Impl rule__XIfExpression__Group_6__1
+            // InternalReportDSL.g:28263:1: ( rule__XIfExpression__Group_6__0__Impl rule__XIfExpression__Group_6__1 )
+            // InternalReportDSL.g:28264:2: rule__XIfExpression__Group_6__0__Impl rule__XIfExpression__Group_6__1
             {
-            pushFollow(FOLLOW_139);
+            pushFollow(FOLLOW_138);
             rule__XIfExpression__Group_6__0__Impl();
 
             state._fsp--;
@@ -94169,25 +93050,25 @@
 
 
     // $ANTLR start "rule__XIfExpression__Group_6__0__Impl"
-    // InternalReportDSL.g:28561:1: rule__XIfExpression__Group_6__0__Impl : ( ( 'else' ) ) ;
+    // InternalReportDSL.g:28271:1: rule__XIfExpression__Group_6__0__Impl : ( ( 'else' ) ) ;
     public final void rule__XIfExpression__Group_6__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:28565:1: ( ( ( 'else' ) ) )
-            // InternalReportDSL.g:28566:1: ( ( 'else' ) )
+            // InternalReportDSL.g:28275:1: ( ( ( 'else' ) ) )
+            // InternalReportDSL.g:28276:1: ( ( 'else' ) )
             {
-            // InternalReportDSL.g:28566:1: ( ( 'else' ) )
-            // InternalReportDSL.g:28567:2: ( 'else' )
+            // InternalReportDSL.g:28276:1: ( ( 'else' ) )
+            // InternalReportDSL.g:28277:2: ( 'else' )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXIfExpressionAccess().getElseKeyword_6_0()); 
             }
-            // InternalReportDSL.g:28568:2: ( 'else' )
-            // InternalReportDSL.g:28568:3: 'else'
+            // InternalReportDSL.g:28278:2: ( 'else' )
+            // InternalReportDSL.g:28278:3: 'else'
             {
-            match(input,234,FOLLOW_2); if (state.failed) return ;
+            match(input,241,FOLLOW_2); if (state.failed) return ;
 
             }
 
@@ -94216,14 +93097,14 @@
 
 
     // $ANTLR start "rule__XIfExpression__Group_6__1"
-    // InternalReportDSL.g:28576:1: rule__XIfExpression__Group_6__1 : rule__XIfExpression__Group_6__1__Impl ;
+    // InternalReportDSL.g:28286:1: rule__XIfExpression__Group_6__1 : rule__XIfExpression__Group_6__1__Impl ;
     public final void rule__XIfExpression__Group_6__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:28580:1: ( rule__XIfExpression__Group_6__1__Impl )
-            // InternalReportDSL.g:28581:2: rule__XIfExpression__Group_6__1__Impl
+            // InternalReportDSL.g:28290:1: ( rule__XIfExpression__Group_6__1__Impl )
+            // InternalReportDSL.g:28291:2: rule__XIfExpression__Group_6__1__Impl
             {
             pushFollow(FOLLOW_2);
             rule__XIfExpression__Group_6__1__Impl();
@@ -94249,23 +93130,23 @@
 
 
     // $ANTLR start "rule__XIfExpression__Group_6__1__Impl"
-    // InternalReportDSL.g:28587:1: rule__XIfExpression__Group_6__1__Impl : ( ( rule__XIfExpression__ElseAssignment_6_1 ) ) ;
+    // InternalReportDSL.g:28297:1: rule__XIfExpression__Group_6__1__Impl : ( ( rule__XIfExpression__ElseAssignment_6_1 ) ) ;
     public final void rule__XIfExpression__Group_6__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:28591:1: ( ( ( rule__XIfExpression__ElseAssignment_6_1 ) ) )
-            // InternalReportDSL.g:28592:1: ( ( rule__XIfExpression__ElseAssignment_6_1 ) )
+            // InternalReportDSL.g:28301:1: ( ( ( rule__XIfExpression__ElseAssignment_6_1 ) ) )
+            // InternalReportDSL.g:28302:1: ( ( rule__XIfExpression__ElseAssignment_6_1 ) )
             {
-            // InternalReportDSL.g:28592:1: ( ( rule__XIfExpression__ElseAssignment_6_1 ) )
-            // InternalReportDSL.g:28593:2: ( rule__XIfExpression__ElseAssignment_6_1 )
+            // InternalReportDSL.g:28302:1: ( ( rule__XIfExpression__ElseAssignment_6_1 ) )
+            // InternalReportDSL.g:28303:2: ( rule__XIfExpression__ElseAssignment_6_1 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXIfExpressionAccess().getElseAssignment_6_1()); 
             }
-            // InternalReportDSL.g:28594:2: ( rule__XIfExpression__ElseAssignment_6_1 )
-            // InternalReportDSL.g:28594:3: rule__XIfExpression__ElseAssignment_6_1
+            // InternalReportDSL.g:28304:2: ( rule__XIfExpression__ElseAssignment_6_1 )
+            // InternalReportDSL.g:28304:3: rule__XIfExpression__ElseAssignment_6_1
             {
             pushFollow(FOLLOW_2);
             rule__XIfExpression__ElseAssignment_6_1();
@@ -94300,16 +93181,16 @@
 
 
     // $ANTLR start "rule__XSwitchExpression__Group__0"
-    // InternalReportDSL.g:28603:1: rule__XSwitchExpression__Group__0 : rule__XSwitchExpression__Group__0__Impl rule__XSwitchExpression__Group__1 ;
+    // InternalReportDSL.g:28313:1: rule__XSwitchExpression__Group__0 : rule__XSwitchExpression__Group__0__Impl rule__XSwitchExpression__Group__1 ;
     public final void rule__XSwitchExpression__Group__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:28607:1: ( rule__XSwitchExpression__Group__0__Impl rule__XSwitchExpression__Group__1 )
-            // InternalReportDSL.g:28608:2: rule__XSwitchExpression__Group__0__Impl rule__XSwitchExpression__Group__1
+            // InternalReportDSL.g:28317:1: ( rule__XSwitchExpression__Group__0__Impl rule__XSwitchExpression__Group__1 )
+            // InternalReportDSL.g:28318:2: rule__XSwitchExpression__Group__0__Impl rule__XSwitchExpression__Group__1
             {
-            pushFollow(FOLLOW_186);
+            pushFollow(FOLLOW_184);
             rule__XSwitchExpression__Group__0__Impl();
 
             state._fsp--;
@@ -94338,23 +93219,23 @@
 
 
     // $ANTLR start "rule__XSwitchExpression__Group__0__Impl"
-    // InternalReportDSL.g:28615:1: rule__XSwitchExpression__Group__0__Impl : ( () ) ;
+    // InternalReportDSL.g:28325:1: rule__XSwitchExpression__Group__0__Impl : ( () ) ;
     public final void rule__XSwitchExpression__Group__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:28619:1: ( ( () ) )
-            // InternalReportDSL.g:28620:1: ( () )
+            // InternalReportDSL.g:28329:1: ( ( () ) )
+            // InternalReportDSL.g:28330:1: ( () )
             {
-            // InternalReportDSL.g:28620:1: ( () )
-            // InternalReportDSL.g:28621:2: ()
+            // InternalReportDSL.g:28330:1: ( () )
+            // InternalReportDSL.g:28331:2: ()
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXSwitchExpressionAccess().getXSwitchExpressionAction_0()); 
             }
-            // InternalReportDSL.g:28622:2: ()
-            // InternalReportDSL.g:28622:3: 
+            // InternalReportDSL.g:28332:2: ()
+            // InternalReportDSL.g:28332:3: 
             {
             }
 
@@ -94379,16 +93260,16 @@
 
 
     // $ANTLR start "rule__XSwitchExpression__Group__1"
-    // InternalReportDSL.g:28630:1: rule__XSwitchExpression__Group__1 : rule__XSwitchExpression__Group__1__Impl rule__XSwitchExpression__Group__2 ;
+    // InternalReportDSL.g:28340:1: rule__XSwitchExpression__Group__1 : rule__XSwitchExpression__Group__1__Impl rule__XSwitchExpression__Group__2 ;
     public final void rule__XSwitchExpression__Group__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:28634:1: ( rule__XSwitchExpression__Group__1__Impl rule__XSwitchExpression__Group__2 )
-            // InternalReportDSL.g:28635:2: rule__XSwitchExpression__Group__1__Impl rule__XSwitchExpression__Group__2
+            // InternalReportDSL.g:28344:1: ( rule__XSwitchExpression__Group__1__Impl rule__XSwitchExpression__Group__2 )
+            // InternalReportDSL.g:28345:2: rule__XSwitchExpression__Group__1__Impl rule__XSwitchExpression__Group__2
             {
-            pushFollow(FOLLOW_187);
+            pushFollow(FOLLOW_185);
             rule__XSwitchExpression__Group__1__Impl();
 
             state._fsp--;
@@ -94417,22 +93298,22 @@
 
 
     // $ANTLR start "rule__XSwitchExpression__Group__1__Impl"
-    // InternalReportDSL.g:28642:1: rule__XSwitchExpression__Group__1__Impl : ( 'switch' ) ;
+    // InternalReportDSL.g:28352:1: rule__XSwitchExpression__Group__1__Impl : ( 'switch' ) ;
     public final void rule__XSwitchExpression__Group__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:28646:1: ( ( 'switch' ) )
-            // InternalReportDSL.g:28647:1: ( 'switch' )
+            // InternalReportDSL.g:28356:1: ( ( 'switch' ) )
+            // InternalReportDSL.g:28357:1: ( 'switch' )
             {
-            // InternalReportDSL.g:28647:1: ( 'switch' )
-            // InternalReportDSL.g:28648:2: 'switch'
+            // InternalReportDSL.g:28357:1: ( 'switch' )
+            // InternalReportDSL.g:28358:2: 'switch'
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXSwitchExpressionAccess().getSwitchKeyword_1()); 
             }
-            match(input,235,FOLLOW_2); if (state.failed) return ;
+            match(input,242,FOLLOW_2); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getXSwitchExpressionAccess().getSwitchKeyword_1()); 
             }
@@ -94458,14 +93339,14 @@
 
 
     // $ANTLR start "rule__XSwitchExpression__Group__2"
-    // InternalReportDSL.g:28657:1: rule__XSwitchExpression__Group__2 : rule__XSwitchExpression__Group__2__Impl rule__XSwitchExpression__Group__3 ;
+    // InternalReportDSL.g:28367:1: rule__XSwitchExpression__Group__2 : rule__XSwitchExpression__Group__2__Impl rule__XSwitchExpression__Group__3 ;
     public final void rule__XSwitchExpression__Group__2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:28661:1: ( rule__XSwitchExpression__Group__2__Impl rule__XSwitchExpression__Group__3 )
-            // InternalReportDSL.g:28662:2: rule__XSwitchExpression__Group__2__Impl rule__XSwitchExpression__Group__3
+            // InternalReportDSL.g:28371:1: ( rule__XSwitchExpression__Group__2__Impl rule__XSwitchExpression__Group__3 )
+            // InternalReportDSL.g:28372:2: rule__XSwitchExpression__Group__2__Impl rule__XSwitchExpression__Group__3
             {
             pushFollow(FOLLOW_8);
             rule__XSwitchExpression__Group__2__Impl();
@@ -94496,23 +93377,23 @@
 
 
     // $ANTLR start "rule__XSwitchExpression__Group__2__Impl"
-    // InternalReportDSL.g:28669:1: rule__XSwitchExpression__Group__2__Impl : ( ( rule__XSwitchExpression__Alternatives_2 ) ) ;
+    // InternalReportDSL.g:28379:1: rule__XSwitchExpression__Group__2__Impl : ( ( rule__XSwitchExpression__Alternatives_2 ) ) ;
     public final void rule__XSwitchExpression__Group__2__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:28673:1: ( ( ( rule__XSwitchExpression__Alternatives_2 ) ) )
-            // InternalReportDSL.g:28674:1: ( ( rule__XSwitchExpression__Alternatives_2 ) )
+            // InternalReportDSL.g:28383:1: ( ( ( rule__XSwitchExpression__Alternatives_2 ) ) )
+            // InternalReportDSL.g:28384:1: ( ( rule__XSwitchExpression__Alternatives_2 ) )
             {
-            // InternalReportDSL.g:28674:1: ( ( rule__XSwitchExpression__Alternatives_2 ) )
-            // InternalReportDSL.g:28675:2: ( rule__XSwitchExpression__Alternatives_2 )
+            // InternalReportDSL.g:28384:1: ( ( rule__XSwitchExpression__Alternatives_2 ) )
+            // InternalReportDSL.g:28385:2: ( rule__XSwitchExpression__Alternatives_2 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXSwitchExpressionAccess().getAlternatives_2()); 
             }
-            // InternalReportDSL.g:28676:2: ( rule__XSwitchExpression__Alternatives_2 )
-            // InternalReportDSL.g:28676:3: rule__XSwitchExpression__Alternatives_2
+            // InternalReportDSL.g:28386:2: ( rule__XSwitchExpression__Alternatives_2 )
+            // InternalReportDSL.g:28386:3: rule__XSwitchExpression__Alternatives_2
             {
             pushFollow(FOLLOW_2);
             rule__XSwitchExpression__Alternatives_2();
@@ -94547,16 +93428,16 @@
 
 
     // $ANTLR start "rule__XSwitchExpression__Group__3"
-    // InternalReportDSL.g:28684:1: rule__XSwitchExpression__Group__3 : rule__XSwitchExpression__Group__3__Impl rule__XSwitchExpression__Group__4 ;
+    // InternalReportDSL.g:28394:1: rule__XSwitchExpression__Group__3 : rule__XSwitchExpression__Group__3__Impl rule__XSwitchExpression__Group__4 ;
     public final void rule__XSwitchExpression__Group__3() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:28688:1: ( rule__XSwitchExpression__Group__3__Impl rule__XSwitchExpression__Group__4 )
-            // InternalReportDSL.g:28689:2: rule__XSwitchExpression__Group__3__Impl rule__XSwitchExpression__Group__4
+            // InternalReportDSL.g:28398:1: ( rule__XSwitchExpression__Group__3__Impl rule__XSwitchExpression__Group__4 )
+            // InternalReportDSL.g:28399:2: rule__XSwitchExpression__Group__3__Impl rule__XSwitchExpression__Group__4
             {
-            pushFollow(FOLLOW_188);
+            pushFollow(FOLLOW_186);
             rule__XSwitchExpression__Group__3__Impl();
 
             state._fsp--;
@@ -94585,22 +93466,22 @@
 
 
     // $ANTLR start "rule__XSwitchExpression__Group__3__Impl"
-    // InternalReportDSL.g:28696:1: rule__XSwitchExpression__Group__3__Impl : ( '{' ) ;
+    // InternalReportDSL.g:28406:1: rule__XSwitchExpression__Group__3__Impl : ( '{' ) ;
     public final void rule__XSwitchExpression__Group__3__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:28700:1: ( ( '{' ) )
-            // InternalReportDSL.g:28701:1: ( '{' )
+            // InternalReportDSL.g:28410:1: ( ( '{' ) )
+            // InternalReportDSL.g:28411:1: ( '{' )
             {
-            // InternalReportDSL.g:28701:1: ( '{' )
-            // InternalReportDSL.g:28702:2: '{'
+            // InternalReportDSL.g:28411:1: ( '{' )
+            // InternalReportDSL.g:28412:2: '{'
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXSwitchExpressionAccess().getLeftCurlyBracketKeyword_3()); 
             }
-            match(input,125,FOLLOW_2); if (state.failed) return ;
+            match(input,131,FOLLOW_2); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getXSwitchExpressionAccess().getLeftCurlyBracketKeyword_3()); 
             }
@@ -94626,16 +93507,16 @@
 
 
     // $ANTLR start "rule__XSwitchExpression__Group__4"
-    // InternalReportDSL.g:28711:1: rule__XSwitchExpression__Group__4 : rule__XSwitchExpression__Group__4__Impl rule__XSwitchExpression__Group__5 ;
+    // InternalReportDSL.g:28421:1: rule__XSwitchExpression__Group__4 : rule__XSwitchExpression__Group__4__Impl rule__XSwitchExpression__Group__5 ;
     public final void rule__XSwitchExpression__Group__4() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:28715:1: ( rule__XSwitchExpression__Group__4__Impl rule__XSwitchExpression__Group__5 )
-            // InternalReportDSL.g:28716:2: rule__XSwitchExpression__Group__4__Impl rule__XSwitchExpression__Group__5
+            // InternalReportDSL.g:28425:1: ( rule__XSwitchExpression__Group__4__Impl rule__XSwitchExpression__Group__5 )
+            // InternalReportDSL.g:28426:2: rule__XSwitchExpression__Group__4__Impl rule__XSwitchExpression__Group__5
             {
-            pushFollow(FOLLOW_188);
+            pushFollow(FOLLOW_186);
             rule__XSwitchExpression__Group__4__Impl();
 
             state._fsp--;
@@ -94664,37 +93545,37 @@
 
 
     // $ANTLR start "rule__XSwitchExpression__Group__4__Impl"
-    // InternalReportDSL.g:28723:1: rule__XSwitchExpression__Group__4__Impl : ( ( rule__XSwitchExpression__CasesAssignment_4 )* ) ;
+    // InternalReportDSL.g:28433:1: rule__XSwitchExpression__Group__4__Impl : ( ( rule__XSwitchExpression__CasesAssignment_4 )* ) ;
     public final void rule__XSwitchExpression__Group__4__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:28727:1: ( ( ( rule__XSwitchExpression__CasesAssignment_4 )* ) )
-            // InternalReportDSL.g:28728:1: ( ( rule__XSwitchExpression__CasesAssignment_4 )* )
+            // InternalReportDSL.g:28437:1: ( ( ( rule__XSwitchExpression__CasesAssignment_4 )* ) )
+            // InternalReportDSL.g:28438:1: ( ( rule__XSwitchExpression__CasesAssignment_4 )* )
             {
-            // InternalReportDSL.g:28728:1: ( ( rule__XSwitchExpression__CasesAssignment_4 )* )
-            // InternalReportDSL.g:28729:2: ( rule__XSwitchExpression__CasesAssignment_4 )*
+            // InternalReportDSL.g:28438:1: ( ( rule__XSwitchExpression__CasesAssignment_4 )* )
+            // InternalReportDSL.g:28439:2: ( rule__XSwitchExpression__CasesAssignment_4 )*
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXSwitchExpressionAccess().getCasesAssignment_4()); 
             }
-            // InternalReportDSL.g:28730:2: ( rule__XSwitchExpression__CasesAssignment_4 )*
-            loop210:
+            // InternalReportDSL.g:28440:2: ( rule__XSwitchExpression__CasesAssignment_4 )*
+            loop192:
             do {
-                int alt210=2;
-                int LA210_0 = input.LA(1);
+                int alt192=2;
+                int LA192_0 = input.LA(1);
 
-                if ( (LA210_0==RULE_ID||LA210_0==35||LA210_0==204||LA210_0==228||LA210_0==236||LA210_0==238) ) {
-                    alt210=1;
+                if ( (LA192_0==RULE_ID||LA192_0==35||LA192_0==211||LA192_0==235||LA192_0==243||LA192_0==245) ) {
+                    alt192=1;
                 }
 
 
-                switch (alt210) {
+                switch (alt192) {
             	case 1 :
-            	    // InternalReportDSL.g:28730:3: rule__XSwitchExpression__CasesAssignment_4
+            	    // InternalReportDSL.g:28440:3: rule__XSwitchExpression__CasesAssignment_4
             	    {
-            	    pushFollow(FOLLOW_189);
+            	    pushFollow(FOLLOW_187);
             	    rule__XSwitchExpression__CasesAssignment_4();
 
             	    state._fsp--;
@@ -94704,7 +93585,7 @@
             	    break;
 
             	default :
-            	    break loop210;
+            	    break loop192;
                 }
             } while (true);
 
@@ -94733,16 +93614,16 @@
 
 
     // $ANTLR start "rule__XSwitchExpression__Group__5"
-    // InternalReportDSL.g:28738:1: rule__XSwitchExpression__Group__5 : rule__XSwitchExpression__Group__5__Impl rule__XSwitchExpression__Group__6 ;
+    // InternalReportDSL.g:28448:1: rule__XSwitchExpression__Group__5 : rule__XSwitchExpression__Group__5__Impl rule__XSwitchExpression__Group__6 ;
     public final void rule__XSwitchExpression__Group__5() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:28742:1: ( rule__XSwitchExpression__Group__5__Impl rule__XSwitchExpression__Group__6 )
-            // InternalReportDSL.g:28743:2: rule__XSwitchExpression__Group__5__Impl rule__XSwitchExpression__Group__6
+            // InternalReportDSL.g:28452:1: ( rule__XSwitchExpression__Group__5__Impl rule__XSwitchExpression__Group__6 )
+            // InternalReportDSL.g:28453:2: rule__XSwitchExpression__Group__5__Impl rule__XSwitchExpression__Group__6
             {
-            pushFollow(FOLLOW_188);
+            pushFollow(FOLLOW_186);
             rule__XSwitchExpression__Group__5__Impl();
 
             state._fsp--;
@@ -94771,31 +93652,31 @@
 
 
     // $ANTLR start "rule__XSwitchExpression__Group__5__Impl"
-    // InternalReportDSL.g:28750:1: rule__XSwitchExpression__Group__5__Impl : ( ( rule__XSwitchExpression__Group_5__0 )? ) ;
+    // InternalReportDSL.g:28460:1: rule__XSwitchExpression__Group__5__Impl : ( ( rule__XSwitchExpression__Group_5__0 )? ) ;
     public final void rule__XSwitchExpression__Group__5__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:28754:1: ( ( ( rule__XSwitchExpression__Group_5__0 )? ) )
-            // InternalReportDSL.g:28755:1: ( ( rule__XSwitchExpression__Group_5__0 )? )
+            // InternalReportDSL.g:28464:1: ( ( ( rule__XSwitchExpression__Group_5__0 )? ) )
+            // InternalReportDSL.g:28465:1: ( ( rule__XSwitchExpression__Group_5__0 )? )
             {
-            // InternalReportDSL.g:28755:1: ( ( rule__XSwitchExpression__Group_5__0 )? )
-            // InternalReportDSL.g:28756:2: ( rule__XSwitchExpression__Group_5__0 )?
+            // InternalReportDSL.g:28465:1: ( ( rule__XSwitchExpression__Group_5__0 )? )
+            // InternalReportDSL.g:28466:2: ( rule__XSwitchExpression__Group_5__0 )?
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXSwitchExpressionAccess().getGroup_5()); 
             }
-            // InternalReportDSL.g:28757:2: ( rule__XSwitchExpression__Group_5__0 )?
-            int alt211=2;
-            int LA211_0 = input.LA(1);
+            // InternalReportDSL.g:28467:2: ( rule__XSwitchExpression__Group_5__0 )?
+            int alt193=2;
+            int LA193_0 = input.LA(1);
 
-            if ( (LA211_0==237) ) {
-                alt211=1;
+            if ( (LA193_0==244) ) {
+                alt193=1;
             }
-            switch (alt211) {
+            switch (alt193) {
                 case 1 :
-                    // InternalReportDSL.g:28757:3: rule__XSwitchExpression__Group_5__0
+                    // InternalReportDSL.g:28467:3: rule__XSwitchExpression__Group_5__0
                     {
                     pushFollow(FOLLOW_2);
                     rule__XSwitchExpression__Group_5__0();
@@ -94833,14 +93714,14 @@
 
 
     // $ANTLR start "rule__XSwitchExpression__Group__6"
-    // InternalReportDSL.g:28765:1: rule__XSwitchExpression__Group__6 : rule__XSwitchExpression__Group__6__Impl ;
+    // InternalReportDSL.g:28475:1: rule__XSwitchExpression__Group__6 : rule__XSwitchExpression__Group__6__Impl ;
     public final void rule__XSwitchExpression__Group__6() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:28769:1: ( rule__XSwitchExpression__Group__6__Impl )
-            // InternalReportDSL.g:28770:2: rule__XSwitchExpression__Group__6__Impl
+            // InternalReportDSL.g:28479:1: ( rule__XSwitchExpression__Group__6__Impl )
+            // InternalReportDSL.g:28480:2: rule__XSwitchExpression__Group__6__Impl
             {
             pushFollow(FOLLOW_2);
             rule__XSwitchExpression__Group__6__Impl();
@@ -94866,22 +93747,22 @@
 
 
     // $ANTLR start "rule__XSwitchExpression__Group__6__Impl"
-    // InternalReportDSL.g:28776:1: rule__XSwitchExpression__Group__6__Impl : ( '}' ) ;
+    // InternalReportDSL.g:28486:1: rule__XSwitchExpression__Group__6__Impl : ( '}' ) ;
     public final void rule__XSwitchExpression__Group__6__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:28780:1: ( ( '}' ) )
-            // InternalReportDSL.g:28781:1: ( '}' )
+            // InternalReportDSL.g:28490:1: ( ( '}' ) )
+            // InternalReportDSL.g:28491:1: ( '}' )
             {
-            // InternalReportDSL.g:28781:1: ( '}' )
-            // InternalReportDSL.g:28782:2: '}'
+            // InternalReportDSL.g:28491:1: ( '}' )
+            // InternalReportDSL.g:28492:2: '}'
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXSwitchExpressionAccess().getRightCurlyBracketKeyword_6()); 
             }
-            match(input,126,FOLLOW_2); if (state.failed) return ;
+            match(input,132,FOLLOW_2); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getXSwitchExpressionAccess().getRightCurlyBracketKeyword_6()); 
             }
@@ -94907,16 +93788,16 @@
 
 
     // $ANTLR start "rule__XSwitchExpression__Group_2_0__0"
-    // InternalReportDSL.g:28792:1: rule__XSwitchExpression__Group_2_0__0 : rule__XSwitchExpression__Group_2_0__0__Impl rule__XSwitchExpression__Group_2_0__1 ;
+    // InternalReportDSL.g:28502:1: rule__XSwitchExpression__Group_2_0__0 : rule__XSwitchExpression__Group_2_0__0__Impl rule__XSwitchExpression__Group_2_0__1 ;
     public final void rule__XSwitchExpression__Group_2_0__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:28796:1: ( rule__XSwitchExpression__Group_2_0__0__Impl rule__XSwitchExpression__Group_2_0__1 )
-            // InternalReportDSL.g:28797:2: rule__XSwitchExpression__Group_2_0__0__Impl rule__XSwitchExpression__Group_2_0__1
+            // InternalReportDSL.g:28506:1: ( rule__XSwitchExpression__Group_2_0__0__Impl rule__XSwitchExpression__Group_2_0__1 )
+            // InternalReportDSL.g:28507:2: rule__XSwitchExpression__Group_2_0__0__Impl rule__XSwitchExpression__Group_2_0__1
             {
-            pushFollow(FOLLOW_139);
+            pushFollow(FOLLOW_138);
             rule__XSwitchExpression__Group_2_0__0__Impl();
 
             state._fsp--;
@@ -94945,23 +93826,23 @@
 
 
     // $ANTLR start "rule__XSwitchExpression__Group_2_0__0__Impl"
-    // InternalReportDSL.g:28804:1: rule__XSwitchExpression__Group_2_0__0__Impl : ( ( rule__XSwitchExpression__Group_2_0_0__0 ) ) ;
+    // InternalReportDSL.g:28514:1: rule__XSwitchExpression__Group_2_0__0__Impl : ( ( rule__XSwitchExpression__Group_2_0_0__0 ) ) ;
     public final void rule__XSwitchExpression__Group_2_0__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:28808:1: ( ( ( rule__XSwitchExpression__Group_2_0_0__0 ) ) )
-            // InternalReportDSL.g:28809:1: ( ( rule__XSwitchExpression__Group_2_0_0__0 ) )
+            // InternalReportDSL.g:28518:1: ( ( ( rule__XSwitchExpression__Group_2_0_0__0 ) ) )
+            // InternalReportDSL.g:28519:1: ( ( rule__XSwitchExpression__Group_2_0_0__0 ) )
             {
-            // InternalReportDSL.g:28809:1: ( ( rule__XSwitchExpression__Group_2_0_0__0 ) )
-            // InternalReportDSL.g:28810:2: ( rule__XSwitchExpression__Group_2_0_0__0 )
+            // InternalReportDSL.g:28519:1: ( ( rule__XSwitchExpression__Group_2_0_0__0 ) )
+            // InternalReportDSL.g:28520:2: ( rule__XSwitchExpression__Group_2_0_0__0 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXSwitchExpressionAccess().getGroup_2_0_0()); 
             }
-            // InternalReportDSL.g:28811:2: ( rule__XSwitchExpression__Group_2_0_0__0 )
-            // InternalReportDSL.g:28811:3: rule__XSwitchExpression__Group_2_0_0__0
+            // InternalReportDSL.g:28521:2: ( rule__XSwitchExpression__Group_2_0_0__0 )
+            // InternalReportDSL.g:28521:3: rule__XSwitchExpression__Group_2_0_0__0
             {
             pushFollow(FOLLOW_2);
             rule__XSwitchExpression__Group_2_0_0__0();
@@ -94996,16 +93877,16 @@
 
 
     // $ANTLR start "rule__XSwitchExpression__Group_2_0__1"
-    // InternalReportDSL.g:28819:1: rule__XSwitchExpression__Group_2_0__1 : rule__XSwitchExpression__Group_2_0__1__Impl rule__XSwitchExpression__Group_2_0__2 ;
+    // InternalReportDSL.g:28529:1: rule__XSwitchExpression__Group_2_0__1 : rule__XSwitchExpression__Group_2_0__1__Impl rule__XSwitchExpression__Group_2_0__2 ;
     public final void rule__XSwitchExpression__Group_2_0__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:28823:1: ( rule__XSwitchExpression__Group_2_0__1__Impl rule__XSwitchExpression__Group_2_0__2 )
-            // InternalReportDSL.g:28824:2: rule__XSwitchExpression__Group_2_0__1__Impl rule__XSwitchExpression__Group_2_0__2
+            // InternalReportDSL.g:28533:1: ( rule__XSwitchExpression__Group_2_0__1__Impl rule__XSwitchExpression__Group_2_0__2 )
+            // InternalReportDSL.g:28534:2: rule__XSwitchExpression__Group_2_0__1__Impl rule__XSwitchExpression__Group_2_0__2
             {
-            pushFollow(FOLLOW_113);
+            pushFollow(FOLLOW_112);
             rule__XSwitchExpression__Group_2_0__1__Impl();
 
             state._fsp--;
@@ -95034,23 +93915,23 @@
 
 
     // $ANTLR start "rule__XSwitchExpression__Group_2_0__1__Impl"
-    // InternalReportDSL.g:28831:1: rule__XSwitchExpression__Group_2_0__1__Impl : ( ( rule__XSwitchExpression__SwitchAssignment_2_0_1 ) ) ;
+    // InternalReportDSL.g:28541:1: rule__XSwitchExpression__Group_2_0__1__Impl : ( ( rule__XSwitchExpression__SwitchAssignment_2_0_1 ) ) ;
     public final void rule__XSwitchExpression__Group_2_0__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:28835:1: ( ( ( rule__XSwitchExpression__SwitchAssignment_2_0_1 ) ) )
-            // InternalReportDSL.g:28836:1: ( ( rule__XSwitchExpression__SwitchAssignment_2_0_1 ) )
+            // InternalReportDSL.g:28545:1: ( ( ( rule__XSwitchExpression__SwitchAssignment_2_0_1 ) ) )
+            // InternalReportDSL.g:28546:1: ( ( rule__XSwitchExpression__SwitchAssignment_2_0_1 ) )
             {
-            // InternalReportDSL.g:28836:1: ( ( rule__XSwitchExpression__SwitchAssignment_2_0_1 ) )
-            // InternalReportDSL.g:28837:2: ( rule__XSwitchExpression__SwitchAssignment_2_0_1 )
+            // InternalReportDSL.g:28546:1: ( ( rule__XSwitchExpression__SwitchAssignment_2_0_1 ) )
+            // InternalReportDSL.g:28547:2: ( rule__XSwitchExpression__SwitchAssignment_2_0_1 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXSwitchExpressionAccess().getSwitchAssignment_2_0_1()); 
             }
-            // InternalReportDSL.g:28838:2: ( rule__XSwitchExpression__SwitchAssignment_2_0_1 )
-            // InternalReportDSL.g:28838:3: rule__XSwitchExpression__SwitchAssignment_2_0_1
+            // InternalReportDSL.g:28548:2: ( rule__XSwitchExpression__SwitchAssignment_2_0_1 )
+            // InternalReportDSL.g:28548:3: rule__XSwitchExpression__SwitchAssignment_2_0_1
             {
             pushFollow(FOLLOW_2);
             rule__XSwitchExpression__SwitchAssignment_2_0_1();
@@ -95085,14 +93966,14 @@
 
 
     // $ANTLR start "rule__XSwitchExpression__Group_2_0__2"
-    // InternalReportDSL.g:28846:1: rule__XSwitchExpression__Group_2_0__2 : rule__XSwitchExpression__Group_2_0__2__Impl ;
+    // InternalReportDSL.g:28556:1: rule__XSwitchExpression__Group_2_0__2 : rule__XSwitchExpression__Group_2_0__2__Impl ;
     public final void rule__XSwitchExpression__Group_2_0__2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:28850:1: ( rule__XSwitchExpression__Group_2_0__2__Impl )
-            // InternalReportDSL.g:28851:2: rule__XSwitchExpression__Group_2_0__2__Impl
+            // InternalReportDSL.g:28560:1: ( rule__XSwitchExpression__Group_2_0__2__Impl )
+            // InternalReportDSL.g:28561:2: rule__XSwitchExpression__Group_2_0__2__Impl
             {
             pushFollow(FOLLOW_2);
             rule__XSwitchExpression__Group_2_0__2__Impl();
@@ -95118,22 +93999,22 @@
 
 
     // $ANTLR start "rule__XSwitchExpression__Group_2_0__2__Impl"
-    // InternalReportDSL.g:28857:1: rule__XSwitchExpression__Group_2_0__2__Impl : ( ')' ) ;
+    // InternalReportDSL.g:28567:1: rule__XSwitchExpression__Group_2_0__2__Impl : ( ')' ) ;
     public final void rule__XSwitchExpression__Group_2_0__2__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:28861:1: ( ( ')' ) )
-            // InternalReportDSL.g:28862:1: ( ')' )
+            // InternalReportDSL.g:28571:1: ( ( ')' ) )
+            // InternalReportDSL.g:28572:1: ( ')' )
             {
-            // InternalReportDSL.g:28862:1: ( ')' )
-            // InternalReportDSL.g:28863:2: ')'
+            // InternalReportDSL.g:28572:1: ( ')' )
+            // InternalReportDSL.g:28573:2: ')'
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXSwitchExpressionAccess().getRightParenthesisKeyword_2_0_2()); 
             }
-            match(input,205,FOLLOW_2); if (state.failed) return ;
+            match(input,212,FOLLOW_2); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getXSwitchExpressionAccess().getRightParenthesisKeyword_2_0_2()); 
             }
@@ -95159,14 +94040,14 @@
 
 
     // $ANTLR start "rule__XSwitchExpression__Group_2_0_0__0"
-    // InternalReportDSL.g:28873:1: rule__XSwitchExpression__Group_2_0_0__0 : rule__XSwitchExpression__Group_2_0_0__0__Impl ;
+    // InternalReportDSL.g:28583:1: rule__XSwitchExpression__Group_2_0_0__0 : rule__XSwitchExpression__Group_2_0_0__0__Impl ;
     public final void rule__XSwitchExpression__Group_2_0_0__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:28877:1: ( rule__XSwitchExpression__Group_2_0_0__0__Impl )
-            // InternalReportDSL.g:28878:2: rule__XSwitchExpression__Group_2_0_0__0__Impl
+            // InternalReportDSL.g:28587:1: ( rule__XSwitchExpression__Group_2_0_0__0__Impl )
+            // InternalReportDSL.g:28588:2: rule__XSwitchExpression__Group_2_0_0__0__Impl
             {
             pushFollow(FOLLOW_2);
             rule__XSwitchExpression__Group_2_0_0__0__Impl();
@@ -95192,23 +94073,23 @@
 
 
     // $ANTLR start "rule__XSwitchExpression__Group_2_0_0__0__Impl"
-    // InternalReportDSL.g:28884:1: rule__XSwitchExpression__Group_2_0_0__0__Impl : ( ( rule__XSwitchExpression__Group_2_0_0_0__0 ) ) ;
+    // InternalReportDSL.g:28594:1: rule__XSwitchExpression__Group_2_0_0__0__Impl : ( ( rule__XSwitchExpression__Group_2_0_0_0__0 ) ) ;
     public final void rule__XSwitchExpression__Group_2_0_0__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:28888:1: ( ( ( rule__XSwitchExpression__Group_2_0_0_0__0 ) ) )
-            // InternalReportDSL.g:28889:1: ( ( rule__XSwitchExpression__Group_2_0_0_0__0 ) )
+            // InternalReportDSL.g:28598:1: ( ( ( rule__XSwitchExpression__Group_2_0_0_0__0 ) ) )
+            // InternalReportDSL.g:28599:1: ( ( rule__XSwitchExpression__Group_2_0_0_0__0 ) )
             {
-            // InternalReportDSL.g:28889:1: ( ( rule__XSwitchExpression__Group_2_0_0_0__0 ) )
-            // InternalReportDSL.g:28890:2: ( rule__XSwitchExpression__Group_2_0_0_0__0 )
+            // InternalReportDSL.g:28599:1: ( ( rule__XSwitchExpression__Group_2_0_0_0__0 ) )
+            // InternalReportDSL.g:28600:2: ( rule__XSwitchExpression__Group_2_0_0_0__0 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXSwitchExpressionAccess().getGroup_2_0_0_0()); 
             }
-            // InternalReportDSL.g:28891:2: ( rule__XSwitchExpression__Group_2_0_0_0__0 )
-            // InternalReportDSL.g:28891:3: rule__XSwitchExpression__Group_2_0_0_0__0
+            // InternalReportDSL.g:28601:2: ( rule__XSwitchExpression__Group_2_0_0_0__0 )
+            // InternalReportDSL.g:28601:3: rule__XSwitchExpression__Group_2_0_0_0__0
             {
             pushFollow(FOLLOW_2);
             rule__XSwitchExpression__Group_2_0_0_0__0();
@@ -95243,16 +94124,16 @@
 
 
     // $ANTLR start "rule__XSwitchExpression__Group_2_0_0_0__0"
-    // InternalReportDSL.g:28900:1: rule__XSwitchExpression__Group_2_0_0_0__0 : rule__XSwitchExpression__Group_2_0_0_0__0__Impl rule__XSwitchExpression__Group_2_0_0_0__1 ;
+    // InternalReportDSL.g:28610:1: rule__XSwitchExpression__Group_2_0_0_0__0 : rule__XSwitchExpression__Group_2_0_0_0__0__Impl rule__XSwitchExpression__Group_2_0_0_0__1 ;
     public final void rule__XSwitchExpression__Group_2_0_0_0__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:28904:1: ( rule__XSwitchExpression__Group_2_0_0_0__0__Impl rule__XSwitchExpression__Group_2_0_0_0__1 )
-            // InternalReportDSL.g:28905:2: rule__XSwitchExpression__Group_2_0_0_0__0__Impl rule__XSwitchExpression__Group_2_0_0_0__1
+            // InternalReportDSL.g:28614:1: ( rule__XSwitchExpression__Group_2_0_0_0__0__Impl rule__XSwitchExpression__Group_2_0_0_0__1 )
+            // InternalReportDSL.g:28615:2: rule__XSwitchExpression__Group_2_0_0_0__0__Impl rule__XSwitchExpression__Group_2_0_0_0__1
             {
-            pushFollow(FOLLOW_156);
+            pushFollow(FOLLOW_155);
             rule__XSwitchExpression__Group_2_0_0_0__0__Impl();
 
             state._fsp--;
@@ -95281,22 +94162,22 @@
 
 
     // $ANTLR start "rule__XSwitchExpression__Group_2_0_0_0__0__Impl"
-    // InternalReportDSL.g:28912:1: rule__XSwitchExpression__Group_2_0_0_0__0__Impl : ( '(' ) ;
+    // InternalReportDSL.g:28622:1: rule__XSwitchExpression__Group_2_0_0_0__0__Impl : ( '(' ) ;
     public final void rule__XSwitchExpression__Group_2_0_0_0__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:28916:1: ( ( '(' ) )
-            // InternalReportDSL.g:28917:1: ( '(' )
+            // InternalReportDSL.g:28626:1: ( ( '(' ) )
+            // InternalReportDSL.g:28627:1: ( '(' )
             {
-            // InternalReportDSL.g:28917:1: ( '(' )
-            // InternalReportDSL.g:28918:2: '('
+            // InternalReportDSL.g:28627:1: ( '(' )
+            // InternalReportDSL.g:28628:2: '('
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXSwitchExpressionAccess().getLeftParenthesisKeyword_2_0_0_0_0()); 
             }
-            match(input,204,FOLLOW_2); if (state.failed) return ;
+            match(input,211,FOLLOW_2); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getXSwitchExpressionAccess().getLeftParenthesisKeyword_2_0_0_0_0()); 
             }
@@ -95322,16 +94203,16 @@
 
 
     // $ANTLR start "rule__XSwitchExpression__Group_2_0_0_0__1"
-    // InternalReportDSL.g:28927:1: rule__XSwitchExpression__Group_2_0_0_0__1 : rule__XSwitchExpression__Group_2_0_0_0__1__Impl rule__XSwitchExpression__Group_2_0_0_0__2 ;
+    // InternalReportDSL.g:28637:1: rule__XSwitchExpression__Group_2_0_0_0__1 : rule__XSwitchExpression__Group_2_0_0_0__1__Impl rule__XSwitchExpression__Group_2_0_0_0__2 ;
     public final void rule__XSwitchExpression__Group_2_0_0_0__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:28931:1: ( rule__XSwitchExpression__Group_2_0_0_0__1__Impl rule__XSwitchExpression__Group_2_0_0_0__2 )
-            // InternalReportDSL.g:28932:2: rule__XSwitchExpression__Group_2_0_0_0__1__Impl rule__XSwitchExpression__Group_2_0_0_0__2
+            // InternalReportDSL.g:28641:1: ( rule__XSwitchExpression__Group_2_0_0_0__1__Impl rule__XSwitchExpression__Group_2_0_0_0__2 )
+            // InternalReportDSL.g:28642:2: rule__XSwitchExpression__Group_2_0_0_0__1__Impl rule__XSwitchExpression__Group_2_0_0_0__2
             {
-            pushFollow(FOLLOW_190);
+            pushFollow(FOLLOW_188);
             rule__XSwitchExpression__Group_2_0_0_0__1__Impl();
 
             state._fsp--;
@@ -95360,23 +94241,23 @@
 
 
     // $ANTLR start "rule__XSwitchExpression__Group_2_0_0_0__1__Impl"
-    // InternalReportDSL.g:28939:1: rule__XSwitchExpression__Group_2_0_0_0__1__Impl : ( ( rule__XSwitchExpression__DeclaredParamAssignment_2_0_0_0_1 ) ) ;
+    // InternalReportDSL.g:28649:1: rule__XSwitchExpression__Group_2_0_0_0__1__Impl : ( ( rule__XSwitchExpression__DeclaredParamAssignment_2_0_0_0_1 ) ) ;
     public final void rule__XSwitchExpression__Group_2_0_0_0__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:28943:1: ( ( ( rule__XSwitchExpression__DeclaredParamAssignment_2_0_0_0_1 ) ) )
-            // InternalReportDSL.g:28944:1: ( ( rule__XSwitchExpression__DeclaredParamAssignment_2_0_0_0_1 ) )
+            // InternalReportDSL.g:28653:1: ( ( ( rule__XSwitchExpression__DeclaredParamAssignment_2_0_0_0_1 ) ) )
+            // InternalReportDSL.g:28654:1: ( ( rule__XSwitchExpression__DeclaredParamAssignment_2_0_0_0_1 ) )
             {
-            // InternalReportDSL.g:28944:1: ( ( rule__XSwitchExpression__DeclaredParamAssignment_2_0_0_0_1 ) )
-            // InternalReportDSL.g:28945:2: ( rule__XSwitchExpression__DeclaredParamAssignment_2_0_0_0_1 )
+            // InternalReportDSL.g:28654:1: ( ( rule__XSwitchExpression__DeclaredParamAssignment_2_0_0_0_1 ) )
+            // InternalReportDSL.g:28655:2: ( rule__XSwitchExpression__DeclaredParamAssignment_2_0_0_0_1 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXSwitchExpressionAccess().getDeclaredParamAssignment_2_0_0_0_1()); 
             }
-            // InternalReportDSL.g:28946:2: ( rule__XSwitchExpression__DeclaredParamAssignment_2_0_0_0_1 )
-            // InternalReportDSL.g:28946:3: rule__XSwitchExpression__DeclaredParamAssignment_2_0_0_0_1
+            // InternalReportDSL.g:28656:2: ( rule__XSwitchExpression__DeclaredParamAssignment_2_0_0_0_1 )
+            // InternalReportDSL.g:28656:3: rule__XSwitchExpression__DeclaredParamAssignment_2_0_0_0_1
             {
             pushFollow(FOLLOW_2);
             rule__XSwitchExpression__DeclaredParamAssignment_2_0_0_0_1();
@@ -95411,14 +94292,14 @@
 
 
     // $ANTLR start "rule__XSwitchExpression__Group_2_0_0_0__2"
-    // InternalReportDSL.g:28954:1: rule__XSwitchExpression__Group_2_0_0_0__2 : rule__XSwitchExpression__Group_2_0_0_0__2__Impl ;
+    // InternalReportDSL.g:28664:1: rule__XSwitchExpression__Group_2_0_0_0__2 : rule__XSwitchExpression__Group_2_0_0_0__2__Impl ;
     public final void rule__XSwitchExpression__Group_2_0_0_0__2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:28958:1: ( rule__XSwitchExpression__Group_2_0_0_0__2__Impl )
-            // InternalReportDSL.g:28959:2: rule__XSwitchExpression__Group_2_0_0_0__2__Impl
+            // InternalReportDSL.g:28668:1: ( rule__XSwitchExpression__Group_2_0_0_0__2__Impl )
+            // InternalReportDSL.g:28669:2: rule__XSwitchExpression__Group_2_0_0_0__2__Impl
             {
             pushFollow(FOLLOW_2);
             rule__XSwitchExpression__Group_2_0_0_0__2__Impl();
@@ -95444,22 +94325,22 @@
 
 
     // $ANTLR start "rule__XSwitchExpression__Group_2_0_0_0__2__Impl"
-    // InternalReportDSL.g:28965:1: rule__XSwitchExpression__Group_2_0_0_0__2__Impl : ( ':' ) ;
+    // InternalReportDSL.g:28675:1: rule__XSwitchExpression__Group_2_0_0_0__2__Impl : ( ':' ) ;
     public final void rule__XSwitchExpression__Group_2_0_0_0__2__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:28969:1: ( ( ':' ) )
-            // InternalReportDSL.g:28970:1: ( ':' )
+            // InternalReportDSL.g:28679:1: ( ( ':' ) )
+            // InternalReportDSL.g:28680:1: ( ':' )
             {
-            // InternalReportDSL.g:28970:1: ( ':' )
-            // InternalReportDSL.g:28971:2: ':'
+            // InternalReportDSL.g:28680:1: ( ':' )
+            // InternalReportDSL.g:28681:2: ':'
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXSwitchExpressionAccess().getColonKeyword_2_0_0_0_2()); 
             }
-            match(input,236,FOLLOW_2); if (state.failed) return ;
+            match(input,243,FOLLOW_2); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getXSwitchExpressionAccess().getColonKeyword_2_0_0_0_2()); 
             }
@@ -95485,16 +94366,16 @@
 
 
     // $ANTLR start "rule__XSwitchExpression__Group_2_1__0"
-    // InternalReportDSL.g:28981:1: rule__XSwitchExpression__Group_2_1__0 : rule__XSwitchExpression__Group_2_1__0__Impl rule__XSwitchExpression__Group_2_1__1 ;
+    // InternalReportDSL.g:28691:1: rule__XSwitchExpression__Group_2_1__0 : rule__XSwitchExpression__Group_2_1__0__Impl rule__XSwitchExpression__Group_2_1__1 ;
     public final void rule__XSwitchExpression__Group_2_1__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:28985:1: ( rule__XSwitchExpression__Group_2_1__0__Impl rule__XSwitchExpression__Group_2_1__1 )
-            // InternalReportDSL.g:28986:2: rule__XSwitchExpression__Group_2_1__0__Impl rule__XSwitchExpression__Group_2_1__1
+            // InternalReportDSL.g:28695:1: ( rule__XSwitchExpression__Group_2_1__0__Impl rule__XSwitchExpression__Group_2_1__1 )
+            // InternalReportDSL.g:28696:2: rule__XSwitchExpression__Group_2_1__0__Impl rule__XSwitchExpression__Group_2_1__1
             {
-            pushFollow(FOLLOW_187);
+            pushFollow(FOLLOW_185);
             rule__XSwitchExpression__Group_2_1__0__Impl();
 
             state._fsp--;
@@ -95523,27 +94404,27 @@
 
 
     // $ANTLR start "rule__XSwitchExpression__Group_2_1__0__Impl"
-    // InternalReportDSL.g:28993:1: rule__XSwitchExpression__Group_2_1__0__Impl : ( ( rule__XSwitchExpression__Group_2_1_0__0 )? ) ;
+    // InternalReportDSL.g:28703:1: rule__XSwitchExpression__Group_2_1__0__Impl : ( ( rule__XSwitchExpression__Group_2_1_0__0 )? ) ;
     public final void rule__XSwitchExpression__Group_2_1__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:28997:1: ( ( ( rule__XSwitchExpression__Group_2_1_0__0 )? ) )
-            // InternalReportDSL.g:28998:1: ( ( rule__XSwitchExpression__Group_2_1_0__0 )? )
+            // InternalReportDSL.g:28707:1: ( ( ( rule__XSwitchExpression__Group_2_1_0__0 )? ) )
+            // InternalReportDSL.g:28708:1: ( ( rule__XSwitchExpression__Group_2_1_0__0 )? )
             {
-            // InternalReportDSL.g:28998:1: ( ( rule__XSwitchExpression__Group_2_1_0__0 )? )
-            // InternalReportDSL.g:28999:2: ( rule__XSwitchExpression__Group_2_1_0__0 )?
+            // InternalReportDSL.g:28708:1: ( ( rule__XSwitchExpression__Group_2_1_0__0 )? )
+            // InternalReportDSL.g:28709:2: ( rule__XSwitchExpression__Group_2_1_0__0 )?
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXSwitchExpressionAccess().getGroup_2_1_0()); 
             }
-            // InternalReportDSL.g:29000:2: ( rule__XSwitchExpression__Group_2_1_0__0 )?
-            int alt212=2;
-            alt212 = dfa212.predict(input);
-            switch (alt212) {
+            // InternalReportDSL.g:28710:2: ( rule__XSwitchExpression__Group_2_1_0__0 )?
+            int alt194=2;
+            alt194 = dfa194.predict(input);
+            switch (alt194) {
                 case 1 :
-                    // InternalReportDSL.g:29000:3: rule__XSwitchExpression__Group_2_1_0__0
+                    // InternalReportDSL.g:28710:3: rule__XSwitchExpression__Group_2_1_0__0
                     {
                     pushFollow(FOLLOW_2);
                     rule__XSwitchExpression__Group_2_1_0__0();
@@ -95581,14 +94462,14 @@
 
 
     // $ANTLR start "rule__XSwitchExpression__Group_2_1__1"
-    // InternalReportDSL.g:29008:1: rule__XSwitchExpression__Group_2_1__1 : rule__XSwitchExpression__Group_2_1__1__Impl ;
+    // InternalReportDSL.g:28718:1: rule__XSwitchExpression__Group_2_1__1 : rule__XSwitchExpression__Group_2_1__1__Impl ;
     public final void rule__XSwitchExpression__Group_2_1__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:29012:1: ( rule__XSwitchExpression__Group_2_1__1__Impl )
-            // InternalReportDSL.g:29013:2: rule__XSwitchExpression__Group_2_1__1__Impl
+            // InternalReportDSL.g:28722:1: ( rule__XSwitchExpression__Group_2_1__1__Impl )
+            // InternalReportDSL.g:28723:2: rule__XSwitchExpression__Group_2_1__1__Impl
             {
             pushFollow(FOLLOW_2);
             rule__XSwitchExpression__Group_2_1__1__Impl();
@@ -95614,23 +94495,23 @@
 
 
     // $ANTLR start "rule__XSwitchExpression__Group_2_1__1__Impl"
-    // InternalReportDSL.g:29019:1: rule__XSwitchExpression__Group_2_1__1__Impl : ( ( rule__XSwitchExpression__SwitchAssignment_2_1_1 ) ) ;
+    // InternalReportDSL.g:28729:1: rule__XSwitchExpression__Group_2_1__1__Impl : ( ( rule__XSwitchExpression__SwitchAssignment_2_1_1 ) ) ;
     public final void rule__XSwitchExpression__Group_2_1__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:29023:1: ( ( ( rule__XSwitchExpression__SwitchAssignment_2_1_1 ) ) )
-            // InternalReportDSL.g:29024:1: ( ( rule__XSwitchExpression__SwitchAssignment_2_1_1 ) )
+            // InternalReportDSL.g:28733:1: ( ( ( rule__XSwitchExpression__SwitchAssignment_2_1_1 ) ) )
+            // InternalReportDSL.g:28734:1: ( ( rule__XSwitchExpression__SwitchAssignment_2_1_1 ) )
             {
-            // InternalReportDSL.g:29024:1: ( ( rule__XSwitchExpression__SwitchAssignment_2_1_1 ) )
-            // InternalReportDSL.g:29025:2: ( rule__XSwitchExpression__SwitchAssignment_2_1_1 )
+            // InternalReportDSL.g:28734:1: ( ( rule__XSwitchExpression__SwitchAssignment_2_1_1 ) )
+            // InternalReportDSL.g:28735:2: ( rule__XSwitchExpression__SwitchAssignment_2_1_1 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXSwitchExpressionAccess().getSwitchAssignment_2_1_1()); 
             }
-            // InternalReportDSL.g:29026:2: ( rule__XSwitchExpression__SwitchAssignment_2_1_1 )
-            // InternalReportDSL.g:29026:3: rule__XSwitchExpression__SwitchAssignment_2_1_1
+            // InternalReportDSL.g:28736:2: ( rule__XSwitchExpression__SwitchAssignment_2_1_1 )
+            // InternalReportDSL.g:28736:3: rule__XSwitchExpression__SwitchAssignment_2_1_1
             {
             pushFollow(FOLLOW_2);
             rule__XSwitchExpression__SwitchAssignment_2_1_1();
@@ -95665,14 +94546,14 @@
 
 
     // $ANTLR start "rule__XSwitchExpression__Group_2_1_0__0"
-    // InternalReportDSL.g:29035:1: rule__XSwitchExpression__Group_2_1_0__0 : rule__XSwitchExpression__Group_2_1_0__0__Impl ;
+    // InternalReportDSL.g:28745:1: rule__XSwitchExpression__Group_2_1_0__0 : rule__XSwitchExpression__Group_2_1_0__0__Impl ;
     public final void rule__XSwitchExpression__Group_2_1_0__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:29039:1: ( rule__XSwitchExpression__Group_2_1_0__0__Impl )
-            // InternalReportDSL.g:29040:2: rule__XSwitchExpression__Group_2_1_0__0__Impl
+            // InternalReportDSL.g:28749:1: ( rule__XSwitchExpression__Group_2_1_0__0__Impl )
+            // InternalReportDSL.g:28750:2: rule__XSwitchExpression__Group_2_1_0__0__Impl
             {
             pushFollow(FOLLOW_2);
             rule__XSwitchExpression__Group_2_1_0__0__Impl();
@@ -95698,23 +94579,23 @@
 
 
     // $ANTLR start "rule__XSwitchExpression__Group_2_1_0__0__Impl"
-    // InternalReportDSL.g:29046:1: rule__XSwitchExpression__Group_2_1_0__0__Impl : ( ( rule__XSwitchExpression__Group_2_1_0_0__0 ) ) ;
+    // InternalReportDSL.g:28756:1: rule__XSwitchExpression__Group_2_1_0__0__Impl : ( ( rule__XSwitchExpression__Group_2_1_0_0__0 ) ) ;
     public final void rule__XSwitchExpression__Group_2_1_0__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:29050:1: ( ( ( rule__XSwitchExpression__Group_2_1_0_0__0 ) ) )
-            // InternalReportDSL.g:29051:1: ( ( rule__XSwitchExpression__Group_2_1_0_0__0 ) )
+            // InternalReportDSL.g:28760:1: ( ( ( rule__XSwitchExpression__Group_2_1_0_0__0 ) ) )
+            // InternalReportDSL.g:28761:1: ( ( rule__XSwitchExpression__Group_2_1_0_0__0 ) )
             {
-            // InternalReportDSL.g:29051:1: ( ( rule__XSwitchExpression__Group_2_1_0_0__0 ) )
-            // InternalReportDSL.g:29052:2: ( rule__XSwitchExpression__Group_2_1_0_0__0 )
+            // InternalReportDSL.g:28761:1: ( ( rule__XSwitchExpression__Group_2_1_0_0__0 ) )
+            // InternalReportDSL.g:28762:2: ( rule__XSwitchExpression__Group_2_1_0_0__0 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXSwitchExpressionAccess().getGroup_2_1_0_0()); 
             }
-            // InternalReportDSL.g:29053:2: ( rule__XSwitchExpression__Group_2_1_0_0__0 )
-            // InternalReportDSL.g:29053:3: rule__XSwitchExpression__Group_2_1_0_0__0
+            // InternalReportDSL.g:28763:2: ( rule__XSwitchExpression__Group_2_1_0_0__0 )
+            // InternalReportDSL.g:28763:3: rule__XSwitchExpression__Group_2_1_0_0__0
             {
             pushFollow(FOLLOW_2);
             rule__XSwitchExpression__Group_2_1_0_0__0();
@@ -95749,16 +94630,16 @@
 
 
     // $ANTLR start "rule__XSwitchExpression__Group_2_1_0_0__0"
-    // InternalReportDSL.g:29062:1: rule__XSwitchExpression__Group_2_1_0_0__0 : rule__XSwitchExpression__Group_2_1_0_0__0__Impl rule__XSwitchExpression__Group_2_1_0_0__1 ;
+    // InternalReportDSL.g:28772:1: rule__XSwitchExpression__Group_2_1_0_0__0 : rule__XSwitchExpression__Group_2_1_0_0__0__Impl rule__XSwitchExpression__Group_2_1_0_0__1 ;
     public final void rule__XSwitchExpression__Group_2_1_0_0__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:29066:1: ( rule__XSwitchExpression__Group_2_1_0_0__0__Impl rule__XSwitchExpression__Group_2_1_0_0__1 )
-            // InternalReportDSL.g:29067:2: rule__XSwitchExpression__Group_2_1_0_0__0__Impl rule__XSwitchExpression__Group_2_1_0_0__1
+            // InternalReportDSL.g:28776:1: ( rule__XSwitchExpression__Group_2_1_0_0__0__Impl rule__XSwitchExpression__Group_2_1_0_0__1 )
+            // InternalReportDSL.g:28777:2: rule__XSwitchExpression__Group_2_1_0_0__0__Impl rule__XSwitchExpression__Group_2_1_0_0__1
             {
-            pushFollow(FOLLOW_190);
+            pushFollow(FOLLOW_188);
             rule__XSwitchExpression__Group_2_1_0_0__0__Impl();
 
             state._fsp--;
@@ -95787,23 +94668,23 @@
 
 
     // $ANTLR start "rule__XSwitchExpression__Group_2_1_0_0__0__Impl"
-    // InternalReportDSL.g:29074:1: rule__XSwitchExpression__Group_2_1_0_0__0__Impl : ( ( rule__XSwitchExpression__DeclaredParamAssignment_2_1_0_0_0 ) ) ;
+    // InternalReportDSL.g:28784:1: rule__XSwitchExpression__Group_2_1_0_0__0__Impl : ( ( rule__XSwitchExpression__DeclaredParamAssignment_2_1_0_0_0 ) ) ;
     public final void rule__XSwitchExpression__Group_2_1_0_0__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:29078:1: ( ( ( rule__XSwitchExpression__DeclaredParamAssignment_2_1_0_0_0 ) ) )
-            // InternalReportDSL.g:29079:1: ( ( rule__XSwitchExpression__DeclaredParamAssignment_2_1_0_0_0 ) )
+            // InternalReportDSL.g:28788:1: ( ( ( rule__XSwitchExpression__DeclaredParamAssignment_2_1_0_0_0 ) ) )
+            // InternalReportDSL.g:28789:1: ( ( rule__XSwitchExpression__DeclaredParamAssignment_2_1_0_0_0 ) )
             {
-            // InternalReportDSL.g:29079:1: ( ( rule__XSwitchExpression__DeclaredParamAssignment_2_1_0_0_0 ) )
-            // InternalReportDSL.g:29080:2: ( rule__XSwitchExpression__DeclaredParamAssignment_2_1_0_0_0 )
+            // InternalReportDSL.g:28789:1: ( ( rule__XSwitchExpression__DeclaredParamAssignment_2_1_0_0_0 ) )
+            // InternalReportDSL.g:28790:2: ( rule__XSwitchExpression__DeclaredParamAssignment_2_1_0_0_0 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXSwitchExpressionAccess().getDeclaredParamAssignment_2_1_0_0_0()); 
             }
-            // InternalReportDSL.g:29081:2: ( rule__XSwitchExpression__DeclaredParamAssignment_2_1_0_0_0 )
-            // InternalReportDSL.g:29081:3: rule__XSwitchExpression__DeclaredParamAssignment_2_1_0_0_0
+            // InternalReportDSL.g:28791:2: ( rule__XSwitchExpression__DeclaredParamAssignment_2_1_0_0_0 )
+            // InternalReportDSL.g:28791:3: rule__XSwitchExpression__DeclaredParamAssignment_2_1_0_0_0
             {
             pushFollow(FOLLOW_2);
             rule__XSwitchExpression__DeclaredParamAssignment_2_1_0_0_0();
@@ -95838,14 +94719,14 @@
 
 
     // $ANTLR start "rule__XSwitchExpression__Group_2_1_0_0__1"
-    // InternalReportDSL.g:29089:1: rule__XSwitchExpression__Group_2_1_0_0__1 : rule__XSwitchExpression__Group_2_1_0_0__1__Impl ;
+    // InternalReportDSL.g:28799:1: rule__XSwitchExpression__Group_2_1_0_0__1 : rule__XSwitchExpression__Group_2_1_0_0__1__Impl ;
     public final void rule__XSwitchExpression__Group_2_1_0_0__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:29093:1: ( rule__XSwitchExpression__Group_2_1_0_0__1__Impl )
-            // InternalReportDSL.g:29094:2: rule__XSwitchExpression__Group_2_1_0_0__1__Impl
+            // InternalReportDSL.g:28803:1: ( rule__XSwitchExpression__Group_2_1_0_0__1__Impl )
+            // InternalReportDSL.g:28804:2: rule__XSwitchExpression__Group_2_1_0_0__1__Impl
             {
             pushFollow(FOLLOW_2);
             rule__XSwitchExpression__Group_2_1_0_0__1__Impl();
@@ -95871,22 +94752,22 @@
 
 
     // $ANTLR start "rule__XSwitchExpression__Group_2_1_0_0__1__Impl"
-    // InternalReportDSL.g:29100:1: rule__XSwitchExpression__Group_2_1_0_0__1__Impl : ( ':' ) ;
+    // InternalReportDSL.g:28810:1: rule__XSwitchExpression__Group_2_1_0_0__1__Impl : ( ':' ) ;
     public final void rule__XSwitchExpression__Group_2_1_0_0__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:29104:1: ( ( ':' ) )
-            // InternalReportDSL.g:29105:1: ( ':' )
+            // InternalReportDSL.g:28814:1: ( ( ':' ) )
+            // InternalReportDSL.g:28815:1: ( ':' )
             {
-            // InternalReportDSL.g:29105:1: ( ':' )
-            // InternalReportDSL.g:29106:2: ':'
+            // InternalReportDSL.g:28815:1: ( ':' )
+            // InternalReportDSL.g:28816:2: ':'
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXSwitchExpressionAccess().getColonKeyword_2_1_0_0_1()); 
             }
-            match(input,236,FOLLOW_2); if (state.failed) return ;
+            match(input,243,FOLLOW_2); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getXSwitchExpressionAccess().getColonKeyword_2_1_0_0_1()); 
             }
@@ -95912,16 +94793,16 @@
 
 
     // $ANTLR start "rule__XSwitchExpression__Group_5__0"
-    // InternalReportDSL.g:29116:1: rule__XSwitchExpression__Group_5__0 : rule__XSwitchExpression__Group_5__0__Impl rule__XSwitchExpression__Group_5__1 ;
+    // InternalReportDSL.g:28826:1: rule__XSwitchExpression__Group_5__0 : rule__XSwitchExpression__Group_5__0__Impl rule__XSwitchExpression__Group_5__1 ;
     public final void rule__XSwitchExpression__Group_5__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:29120:1: ( rule__XSwitchExpression__Group_5__0__Impl rule__XSwitchExpression__Group_5__1 )
-            // InternalReportDSL.g:29121:2: rule__XSwitchExpression__Group_5__0__Impl rule__XSwitchExpression__Group_5__1
+            // InternalReportDSL.g:28830:1: ( rule__XSwitchExpression__Group_5__0__Impl rule__XSwitchExpression__Group_5__1 )
+            // InternalReportDSL.g:28831:2: rule__XSwitchExpression__Group_5__0__Impl rule__XSwitchExpression__Group_5__1
             {
-            pushFollow(FOLLOW_190);
+            pushFollow(FOLLOW_188);
             rule__XSwitchExpression__Group_5__0__Impl();
 
             state._fsp--;
@@ -95950,22 +94831,22 @@
 
 
     // $ANTLR start "rule__XSwitchExpression__Group_5__0__Impl"
-    // InternalReportDSL.g:29128:1: rule__XSwitchExpression__Group_5__0__Impl : ( 'default' ) ;
+    // InternalReportDSL.g:28838:1: rule__XSwitchExpression__Group_5__0__Impl : ( 'default' ) ;
     public final void rule__XSwitchExpression__Group_5__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:29132:1: ( ( 'default' ) )
-            // InternalReportDSL.g:29133:1: ( 'default' )
+            // InternalReportDSL.g:28842:1: ( ( 'default' ) )
+            // InternalReportDSL.g:28843:1: ( 'default' )
             {
-            // InternalReportDSL.g:29133:1: ( 'default' )
-            // InternalReportDSL.g:29134:2: 'default'
+            // InternalReportDSL.g:28843:1: ( 'default' )
+            // InternalReportDSL.g:28844:2: 'default'
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXSwitchExpressionAccess().getDefaultKeyword_5_0()); 
             }
-            match(input,237,FOLLOW_2); if (state.failed) return ;
+            match(input,244,FOLLOW_2); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getXSwitchExpressionAccess().getDefaultKeyword_5_0()); 
             }
@@ -95991,16 +94872,16 @@
 
 
     // $ANTLR start "rule__XSwitchExpression__Group_5__1"
-    // InternalReportDSL.g:29143:1: rule__XSwitchExpression__Group_5__1 : rule__XSwitchExpression__Group_5__1__Impl rule__XSwitchExpression__Group_5__2 ;
+    // InternalReportDSL.g:28853:1: rule__XSwitchExpression__Group_5__1 : rule__XSwitchExpression__Group_5__1__Impl rule__XSwitchExpression__Group_5__2 ;
     public final void rule__XSwitchExpression__Group_5__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:29147:1: ( rule__XSwitchExpression__Group_5__1__Impl rule__XSwitchExpression__Group_5__2 )
-            // InternalReportDSL.g:29148:2: rule__XSwitchExpression__Group_5__1__Impl rule__XSwitchExpression__Group_5__2
+            // InternalReportDSL.g:28857:1: ( rule__XSwitchExpression__Group_5__1__Impl rule__XSwitchExpression__Group_5__2 )
+            // InternalReportDSL.g:28858:2: rule__XSwitchExpression__Group_5__1__Impl rule__XSwitchExpression__Group_5__2
             {
-            pushFollow(FOLLOW_139);
+            pushFollow(FOLLOW_138);
             rule__XSwitchExpression__Group_5__1__Impl();
 
             state._fsp--;
@@ -96029,22 +94910,22 @@
 
 
     // $ANTLR start "rule__XSwitchExpression__Group_5__1__Impl"
-    // InternalReportDSL.g:29155:1: rule__XSwitchExpression__Group_5__1__Impl : ( ':' ) ;
+    // InternalReportDSL.g:28865:1: rule__XSwitchExpression__Group_5__1__Impl : ( ':' ) ;
     public final void rule__XSwitchExpression__Group_5__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:29159:1: ( ( ':' ) )
-            // InternalReportDSL.g:29160:1: ( ':' )
+            // InternalReportDSL.g:28869:1: ( ( ':' ) )
+            // InternalReportDSL.g:28870:1: ( ':' )
             {
-            // InternalReportDSL.g:29160:1: ( ':' )
-            // InternalReportDSL.g:29161:2: ':'
+            // InternalReportDSL.g:28870:1: ( ':' )
+            // InternalReportDSL.g:28871:2: ':'
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXSwitchExpressionAccess().getColonKeyword_5_1()); 
             }
-            match(input,236,FOLLOW_2); if (state.failed) return ;
+            match(input,243,FOLLOW_2); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getXSwitchExpressionAccess().getColonKeyword_5_1()); 
             }
@@ -96070,14 +94951,14 @@
 
 
     // $ANTLR start "rule__XSwitchExpression__Group_5__2"
-    // InternalReportDSL.g:29170:1: rule__XSwitchExpression__Group_5__2 : rule__XSwitchExpression__Group_5__2__Impl ;
+    // InternalReportDSL.g:28880:1: rule__XSwitchExpression__Group_5__2 : rule__XSwitchExpression__Group_5__2__Impl ;
     public final void rule__XSwitchExpression__Group_5__2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:29174:1: ( rule__XSwitchExpression__Group_5__2__Impl )
-            // InternalReportDSL.g:29175:2: rule__XSwitchExpression__Group_5__2__Impl
+            // InternalReportDSL.g:28884:1: ( rule__XSwitchExpression__Group_5__2__Impl )
+            // InternalReportDSL.g:28885:2: rule__XSwitchExpression__Group_5__2__Impl
             {
             pushFollow(FOLLOW_2);
             rule__XSwitchExpression__Group_5__2__Impl();
@@ -96103,23 +94984,23 @@
 
 
     // $ANTLR start "rule__XSwitchExpression__Group_5__2__Impl"
-    // InternalReportDSL.g:29181:1: rule__XSwitchExpression__Group_5__2__Impl : ( ( rule__XSwitchExpression__DefaultAssignment_5_2 ) ) ;
+    // InternalReportDSL.g:28891:1: rule__XSwitchExpression__Group_5__2__Impl : ( ( rule__XSwitchExpression__DefaultAssignment_5_2 ) ) ;
     public final void rule__XSwitchExpression__Group_5__2__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:29185:1: ( ( ( rule__XSwitchExpression__DefaultAssignment_5_2 ) ) )
-            // InternalReportDSL.g:29186:1: ( ( rule__XSwitchExpression__DefaultAssignment_5_2 ) )
+            // InternalReportDSL.g:28895:1: ( ( ( rule__XSwitchExpression__DefaultAssignment_5_2 ) ) )
+            // InternalReportDSL.g:28896:1: ( ( rule__XSwitchExpression__DefaultAssignment_5_2 ) )
             {
-            // InternalReportDSL.g:29186:1: ( ( rule__XSwitchExpression__DefaultAssignment_5_2 ) )
-            // InternalReportDSL.g:29187:2: ( rule__XSwitchExpression__DefaultAssignment_5_2 )
+            // InternalReportDSL.g:28896:1: ( ( rule__XSwitchExpression__DefaultAssignment_5_2 ) )
+            // InternalReportDSL.g:28897:2: ( rule__XSwitchExpression__DefaultAssignment_5_2 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXSwitchExpressionAccess().getDefaultAssignment_5_2()); 
             }
-            // InternalReportDSL.g:29188:2: ( rule__XSwitchExpression__DefaultAssignment_5_2 )
-            // InternalReportDSL.g:29188:3: rule__XSwitchExpression__DefaultAssignment_5_2
+            // InternalReportDSL.g:28898:2: ( rule__XSwitchExpression__DefaultAssignment_5_2 )
+            // InternalReportDSL.g:28898:3: rule__XSwitchExpression__DefaultAssignment_5_2
             {
             pushFollow(FOLLOW_2);
             rule__XSwitchExpression__DefaultAssignment_5_2();
@@ -96154,16 +95035,16 @@
 
 
     // $ANTLR start "rule__XCasePart__Group__0"
-    // InternalReportDSL.g:29197:1: rule__XCasePart__Group__0 : rule__XCasePart__Group__0__Impl rule__XCasePart__Group__1 ;
+    // InternalReportDSL.g:28907:1: rule__XCasePart__Group__0 : rule__XCasePart__Group__0__Impl rule__XCasePart__Group__1 ;
     public final void rule__XCasePart__Group__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:29201:1: ( rule__XCasePart__Group__0__Impl rule__XCasePart__Group__1 )
-            // InternalReportDSL.g:29202:2: rule__XCasePart__Group__0__Impl rule__XCasePart__Group__1
+            // InternalReportDSL.g:28911:1: ( rule__XCasePart__Group__0__Impl rule__XCasePart__Group__1 )
+            // InternalReportDSL.g:28912:2: rule__XCasePart__Group__0__Impl rule__XCasePart__Group__1
             {
-            pushFollow(FOLLOW_191);
+            pushFollow(FOLLOW_189);
             rule__XCasePart__Group__0__Impl();
 
             state._fsp--;
@@ -96192,23 +95073,23 @@
 
 
     // $ANTLR start "rule__XCasePart__Group__0__Impl"
-    // InternalReportDSL.g:29209:1: rule__XCasePart__Group__0__Impl : ( () ) ;
+    // InternalReportDSL.g:28919:1: rule__XCasePart__Group__0__Impl : ( () ) ;
     public final void rule__XCasePart__Group__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:29213:1: ( ( () ) )
-            // InternalReportDSL.g:29214:1: ( () )
+            // InternalReportDSL.g:28923:1: ( ( () ) )
+            // InternalReportDSL.g:28924:1: ( () )
             {
-            // InternalReportDSL.g:29214:1: ( () )
-            // InternalReportDSL.g:29215:2: ()
+            // InternalReportDSL.g:28924:1: ( () )
+            // InternalReportDSL.g:28925:2: ()
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXCasePartAccess().getXCasePartAction_0()); 
             }
-            // InternalReportDSL.g:29216:2: ()
-            // InternalReportDSL.g:29216:3: 
+            // InternalReportDSL.g:28926:2: ()
+            // InternalReportDSL.g:28926:3: 
             {
             }
 
@@ -96233,16 +95114,16 @@
 
 
     // $ANTLR start "rule__XCasePart__Group__1"
-    // InternalReportDSL.g:29224:1: rule__XCasePart__Group__1 : rule__XCasePart__Group__1__Impl rule__XCasePart__Group__2 ;
+    // InternalReportDSL.g:28934:1: rule__XCasePart__Group__1 : rule__XCasePart__Group__1__Impl rule__XCasePart__Group__2 ;
     public final void rule__XCasePart__Group__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:29228:1: ( rule__XCasePart__Group__1__Impl rule__XCasePart__Group__2 )
-            // InternalReportDSL.g:29229:2: rule__XCasePart__Group__1__Impl rule__XCasePart__Group__2
+            // InternalReportDSL.g:28938:1: ( rule__XCasePart__Group__1__Impl rule__XCasePart__Group__2 )
+            // InternalReportDSL.g:28939:2: rule__XCasePart__Group__1__Impl rule__XCasePart__Group__2
             {
-            pushFollow(FOLLOW_191);
+            pushFollow(FOLLOW_189);
             rule__XCasePart__Group__1__Impl();
 
             state._fsp--;
@@ -96271,31 +95152,31 @@
 
 
     // $ANTLR start "rule__XCasePart__Group__1__Impl"
-    // InternalReportDSL.g:29236:1: rule__XCasePart__Group__1__Impl : ( ( rule__XCasePart__TypeGuardAssignment_1 )? ) ;
+    // InternalReportDSL.g:28946:1: rule__XCasePart__Group__1__Impl : ( ( rule__XCasePart__TypeGuardAssignment_1 )? ) ;
     public final void rule__XCasePart__Group__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:29240:1: ( ( ( rule__XCasePart__TypeGuardAssignment_1 )? ) )
-            // InternalReportDSL.g:29241:1: ( ( rule__XCasePart__TypeGuardAssignment_1 )? )
+            // InternalReportDSL.g:28950:1: ( ( ( rule__XCasePart__TypeGuardAssignment_1 )? ) )
+            // InternalReportDSL.g:28951:1: ( ( rule__XCasePart__TypeGuardAssignment_1 )? )
             {
-            // InternalReportDSL.g:29241:1: ( ( rule__XCasePart__TypeGuardAssignment_1 )? )
-            // InternalReportDSL.g:29242:2: ( rule__XCasePart__TypeGuardAssignment_1 )?
+            // InternalReportDSL.g:28951:1: ( ( rule__XCasePart__TypeGuardAssignment_1 )? )
+            // InternalReportDSL.g:28952:2: ( rule__XCasePart__TypeGuardAssignment_1 )?
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXCasePartAccess().getTypeGuardAssignment_1()); 
             }
-            // InternalReportDSL.g:29243:2: ( rule__XCasePart__TypeGuardAssignment_1 )?
-            int alt213=2;
-            int LA213_0 = input.LA(1);
+            // InternalReportDSL.g:28953:2: ( rule__XCasePart__TypeGuardAssignment_1 )?
+            int alt195=2;
+            int LA195_0 = input.LA(1);
 
-            if ( (LA213_0==RULE_ID||LA213_0==35||LA213_0==204) ) {
-                alt213=1;
+            if ( (LA195_0==RULE_ID||LA195_0==35||LA195_0==211) ) {
+                alt195=1;
             }
-            switch (alt213) {
+            switch (alt195) {
                 case 1 :
-                    // InternalReportDSL.g:29243:3: rule__XCasePart__TypeGuardAssignment_1
+                    // InternalReportDSL.g:28953:3: rule__XCasePart__TypeGuardAssignment_1
                     {
                     pushFollow(FOLLOW_2);
                     rule__XCasePart__TypeGuardAssignment_1();
@@ -96333,16 +95214,16 @@
 
 
     // $ANTLR start "rule__XCasePart__Group__2"
-    // InternalReportDSL.g:29251:1: rule__XCasePart__Group__2 : rule__XCasePart__Group__2__Impl rule__XCasePart__Group__3 ;
+    // InternalReportDSL.g:28961:1: rule__XCasePart__Group__2 : rule__XCasePart__Group__2__Impl rule__XCasePart__Group__3 ;
     public final void rule__XCasePart__Group__2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:29255:1: ( rule__XCasePart__Group__2__Impl rule__XCasePart__Group__3 )
-            // InternalReportDSL.g:29256:2: rule__XCasePart__Group__2__Impl rule__XCasePart__Group__3
+            // InternalReportDSL.g:28965:1: ( rule__XCasePart__Group__2__Impl rule__XCasePart__Group__3 )
+            // InternalReportDSL.g:28966:2: rule__XCasePart__Group__2__Impl rule__XCasePart__Group__3
             {
-            pushFollow(FOLLOW_191);
+            pushFollow(FOLLOW_189);
             rule__XCasePart__Group__2__Impl();
 
             state._fsp--;
@@ -96371,31 +95252,31 @@
 
 
     // $ANTLR start "rule__XCasePart__Group__2__Impl"
-    // InternalReportDSL.g:29263:1: rule__XCasePart__Group__2__Impl : ( ( rule__XCasePart__Group_2__0 )? ) ;
+    // InternalReportDSL.g:28973:1: rule__XCasePart__Group__2__Impl : ( ( rule__XCasePart__Group_2__0 )? ) ;
     public final void rule__XCasePart__Group__2__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:29267:1: ( ( ( rule__XCasePart__Group_2__0 )? ) )
-            // InternalReportDSL.g:29268:1: ( ( rule__XCasePart__Group_2__0 )? )
+            // InternalReportDSL.g:28977:1: ( ( ( rule__XCasePart__Group_2__0 )? ) )
+            // InternalReportDSL.g:28978:1: ( ( rule__XCasePart__Group_2__0 )? )
             {
-            // InternalReportDSL.g:29268:1: ( ( rule__XCasePart__Group_2__0 )? )
-            // InternalReportDSL.g:29269:2: ( rule__XCasePart__Group_2__0 )?
+            // InternalReportDSL.g:28978:1: ( ( rule__XCasePart__Group_2__0 )? )
+            // InternalReportDSL.g:28979:2: ( rule__XCasePart__Group_2__0 )?
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXCasePartAccess().getGroup_2()); 
             }
-            // InternalReportDSL.g:29270:2: ( rule__XCasePart__Group_2__0 )?
-            int alt214=2;
-            int LA214_0 = input.LA(1);
+            // InternalReportDSL.g:28980:2: ( rule__XCasePart__Group_2__0 )?
+            int alt196=2;
+            int LA196_0 = input.LA(1);
 
-            if ( (LA214_0==238) ) {
-                alt214=1;
+            if ( (LA196_0==245) ) {
+                alt196=1;
             }
-            switch (alt214) {
+            switch (alt196) {
                 case 1 :
-                    // InternalReportDSL.g:29270:3: rule__XCasePart__Group_2__0
+                    // InternalReportDSL.g:28980:3: rule__XCasePart__Group_2__0
                     {
                     pushFollow(FOLLOW_2);
                     rule__XCasePart__Group_2__0();
@@ -96433,14 +95314,14 @@
 
 
     // $ANTLR start "rule__XCasePart__Group__3"
-    // InternalReportDSL.g:29278:1: rule__XCasePart__Group__3 : rule__XCasePart__Group__3__Impl ;
+    // InternalReportDSL.g:28988:1: rule__XCasePart__Group__3 : rule__XCasePart__Group__3__Impl ;
     public final void rule__XCasePart__Group__3() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:29282:1: ( rule__XCasePart__Group__3__Impl )
-            // InternalReportDSL.g:29283:2: rule__XCasePart__Group__3__Impl
+            // InternalReportDSL.g:28992:1: ( rule__XCasePart__Group__3__Impl )
+            // InternalReportDSL.g:28993:2: rule__XCasePart__Group__3__Impl
             {
             pushFollow(FOLLOW_2);
             rule__XCasePart__Group__3__Impl();
@@ -96466,23 +95347,23 @@
 
 
     // $ANTLR start "rule__XCasePart__Group__3__Impl"
-    // InternalReportDSL.g:29289:1: rule__XCasePart__Group__3__Impl : ( ( rule__XCasePart__Alternatives_3 ) ) ;
+    // InternalReportDSL.g:28999:1: rule__XCasePart__Group__3__Impl : ( ( rule__XCasePart__Alternatives_3 ) ) ;
     public final void rule__XCasePart__Group__3__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:29293:1: ( ( ( rule__XCasePart__Alternatives_3 ) ) )
-            // InternalReportDSL.g:29294:1: ( ( rule__XCasePart__Alternatives_3 ) )
+            // InternalReportDSL.g:29003:1: ( ( ( rule__XCasePart__Alternatives_3 ) ) )
+            // InternalReportDSL.g:29004:1: ( ( rule__XCasePart__Alternatives_3 ) )
             {
-            // InternalReportDSL.g:29294:1: ( ( rule__XCasePart__Alternatives_3 ) )
-            // InternalReportDSL.g:29295:2: ( rule__XCasePart__Alternatives_3 )
+            // InternalReportDSL.g:29004:1: ( ( rule__XCasePart__Alternatives_3 ) )
+            // InternalReportDSL.g:29005:2: ( rule__XCasePart__Alternatives_3 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXCasePartAccess().getAlternatives_3()); 
             }
-            // InternalReportDSL.g:29296:2: ( rule__XCasePart__Alternatives_3 )
-            // InternalReportDSL.g:29296:3: rule__XCasePart__Alternatives_3
+            // InternalReportDSL.g:29006:2: ( rule__XCasePart__Alternatives_3 )
+            // InternalReportDSL.g:29006:3: rule__XCasePart__Alternatives_3
             {
             pushFollow(FOLLOW_2);
             rule__XCasePart__Alternatives_3();
@@ -96517,16 +95398,16 @@
 
 
     // $ANTLR start "rule__XCasePart__Group_2__0"
-    // InternalReportDSL.g:29305:1: rule__XCasePart__Group_2__0 : rule__XCasePart__Group_2__0__Impl rule__XCasePart__Group_2__1 ;
+    // InternalReportDSL.g:29015:1: rule__XCasePart__Group_2__0 : rule__XCasePart__Group_2__0__Impl rule__XCasePart__Group_2__1 ;
     public final void rule__XCasePart__Group_2__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:29309:1: ( rule__XCasePart__Group_2__0__Impl rule__XCasePart__Group_2__1 )
-            // InternalReportDSL.g:29310:2: rule__XCasePart__Group_2__0__Impl rule__XCasePart__Group_2__1
+            // InternalReportDSL.g:29019:1: ( rule__XCasePart__Group_2__0__Impl rule__XCasePart__Group_2__1 )
+            // InternalReportDSL.g:29020:2: rule__XCasePart__Group_2__0__Impl rule__XCasePart__Group_2__1
             {
-            pushFollow(FOLLOW_139);
+            pushFollow(FOLLOW_138);
             rule__XCasePart__Group_2__0__Impl();
 
             state._fsp--;
@@ -96555,22 +95436,22 @@
 
 
     // $ANTLR start "rule__XCasePart__Group_2__0__Impl"
-    // InternalReportDSL.g:29317:1: rule__XCasePart__Group_2__0__Impl : ( 'case' ) ;
+    // InternalReportDSL.g:29027:1: rule__XCasePart__Group_2__0__Impl : ( 'case' ) ;
     public final void rule__XCasePart__Group_2__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:29321:1: ( ( 'case' ) )
-            // InternalReportDSL.g:29322:1: ( 'case' )
+            // InternalReportDSL.g:29031:1: ( ( 'case' ) )
+            // InternalReportDSL.g:29032:1: ( 'case' )
             {
-            // InternalReportDSL.g:29322:1: ( 'case' )
-            // InternalReportDSL.g:29323:2: 'case'
+            // InternalReportDSL.g:29032:1: ( 'case' )
+            // InternalReportDSL.g:29033:2: 'case'
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXCasePartAccess().getCaseKeyword_2_0()); 
             }
-            match(input,238,FOLLOW_2); if (state.failed) return ;
+            match(input,245,FOLLOW_2); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getXCasePartAccess().getCaseKeyword_2_0()); 
             }
@@ -96596,14 +95477,14 @@
 
 
     // $ANTLR start "rule__XCasePart__Group_2__1"
-    // InternalReportDSL.g:29332:1: rule__XCasePart__Group_2__1 : rule__XCasePart__Group_2__1__Impl ;
+    // InternalReportDSL.g:29042:1: rule__XCasePart__Group_2__1 : rule__XCasePart__Group_2__1__Impl ;
     public final void rule__XCasePart__Group_2__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:29336:1: ( rule__XCasePart__Group_2__1__Impl )
-            // InternalReportDSL.g:29337:2: rule__XCasePart__Group_2__1__Impl
+            // InternalReportDSL.g:29046:1: ( rule__XCasePart__Group_2__1__Impl )
+            // InternalReportDSL.g:29047:2: rule__XCasePart__Group_2__1__Impl
             {
             pushFollow(FOLLOW_2);
             rule__XCasePart__Group_2__1__Impl();
@@ -96629,23 +95510,23 @@
 
 
     // $ANTLR start "rule__XCasePart__Group_2__1__Impl"
-    // InternalReportDSL.g:29343:1: rule__XCasePart__Group_2__1__Impl : ( ( rule__XCasePart__CaseAssignment_2_1 ) ) ;
+    // InternalReportDSL.g:29053:1: rule__XCasePart__Group_2__1__Impl : ( ( rule__XCasePart__CaseAssignment_2_1 ) ) ;
     public final void rule__XCasePart__Group_2__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:29347:1: ( ( ( rule__XCasePart__CaseAssignment_2_1 ) ) )
-            // InternalReportDSL.g:29348:1: ( ( rule__XCasePart__CaseAssignment_2_1 ) )
+            // InternalReportDSL.g:29057:1: ( ( ( rule__XCasePart__CaseAssignment_2_1 ) ) )
+            // InternalReportDSL.g:29058:1: ( ( rule__XCasePart__CaseAssignment_2_1 ) )
             {
-            // InternalReportDSL.g:29348:1: ( ( rule__XCasePart__CaseAssignment_2_1 ) )
-            // InternalReportDSL.g:29349:2: ( rule__XCasePart__CaseAssignment_2_1 )
+            // InternalReportDSL.g:29058:1: ( ( rule__XCasePart__CaseAssignment_2_1 ) )
+            // InternalReportDSL.g:29059:2: ( rule__XCasePart__CaseAssignment_2_1 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXCasePartAccess().getCaseAssignment_2_1()); 
             }
-            // InternalReportDSL.g:29350:2: ( rule__XCasePart__CaseAssignment_2_1 )
-            // InternalReportDSL.g:29350:3: rule__XCasePart__CaseAssignment_2_1
+            // InternalReportDSL.g:29060:2: ( rule__XCasePart__CaseAssignment_2_1 )
+            // InternalReportDSL.g:29060:3: rule__XCasePart__CaseAssignment_2_1
             {
             pushFollow(FOLLOW_2);
             rule__XCasePart__CaseAssignment_2_1();
@@ -96680,16 +95561,16 @@
 
 
     // $ANTLR start "rule__XCasePart__Group_3_0__0"
-    // InternalReportDSL.g:29359:1: rule__XCasePart__Group_3_0__0 : rule__XCasePart__Group_3_0__0__Impl rule__XCasePart__Group_3_0__1 ;
+    // InternalReportDSL.g:29069:1: rule__XCasePart__Group_3_0__0 : rule__XCasePart__Group_3_0__0__Impl rule__XCasePart__Group_3_0__1 ;
     public final void rule__XCasePart__Group_3_0__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:29363:1: ( rule__XCasePart__Group_3_0__0__Impl rule__XCasePart__Group_3_0__1 )
-            // InternalReportDSL.g:29364:2: rule__XCasePart__Group_3_0__0__Impl rule__XCasePart__Group_3_0__1
+            // InternalReportDSL.g:29073:1: ( rule__XCasePart__Group_3_0__0__Impl rule__XCasePart__Group_3_0__1 )
+            // InternalReportDSL.g:29074:2: rule__XCasePart__Group_3_0__0__Impl rule__XCasePart__Group_3_0__1
             {
-            pushFollow(FOLLOW_139);
+            pushFollow(FOLLOW_138);
             rule__XCasePart__Group_3_0__0__Impl();
 
             state._fsp--;
@@ -96718,22 +95599,22 @@
 
 
     // $ANTLR start "rule__XCasePart__Group_3_0__0__Impl"
-    // InternalReportDSL.g:29371:1: rule__XCasePart__Group_3_0__0__Impl : ( ':' ) ;
+    // InternalReportDSL.g:29081:1: rule__XCasePart__Group_3_0__0__Impl : ( ':' ) ;
     public final void rule__XCasePart__Group_3_0__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:29375:1: ( ( ':' ) )
-            // InternalReportDSL.g:29376:1: ( ':' )
+            // InternalReportDSL.g:29085:1: ( ( ':' ) )
+            // InternalReportDSL.g:29086:1: ( ':' )
             {
-            // InternalReportDSL.g:29376:1: ( ':' )
-            // InternalReportDSL.g:29377:2: ':'
+            // InternalReportDSL.g:29086:1: ( ':' )
+            // InternalReportDSL.g:29087:2: ':'
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXCasePartAccess().getColonKeyword_3_0_0()); 
             }
-            match(input,236,FOLLOW_2); if (state.failed) return ;
+            match(input,243,FOLLOW_2); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getXCasePartAccess().getColonKeyword_3_0_0()); 
             }
@@ -96759,14 +95640,14 @@
 
 
     // $ANTLR start "rule__XCasePart__Group_3_0__1"
-    // InternalReportDSL.g:29386:1: rule__XCasePart__Group_3_0__1 : rule__XCasePart__Group_3_0__1__Impl ;
+    // InternalReportDSL.g:29096:1: rule__XCasePart__Group_3_0__1 : rule__XCasePart__Group_3_0__1__Impl ;
     public final void rule__XCasePart__Group_3_0__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:29390:1: ( rule__XCasePart__Group_3_0__1__Impl )
-            // InternalReportDSL.g:29391:2: rule__XCasePart__Group_3_0__1__Impl
+            // InternalReportDSL.g:29100:1: ( rule__XCasePart__Group_3_0__1__Impl )
+            // InternalReportDSL.g:29101:2: rule__XCasePart__Group_3_0__1__Impl
             {
             pushFollow(FOLLOW_2);
             rule__XCasePart__Group_3_0__1__Impl();
@@ -96792,23 +95673,23 @@
 
 
     // $ANTLR start "rule__XCasePart__Group_3_0__1__Impl"
-    // InternalReportDSL.g:29397:1: rule__XCasePart__Group_3_0__1__Impl : ( ( rule__XCasePart__ThenAssignment_3_0_1 ) ) ;
+    // InternalReportDSL.g:29107:1: rule__XCasePart__Group_3_0__1__Impl : ( ( rule__XCasePart__ThenAssignment_3_0_1 ) ) ;
     public final void rule__XCasePart__Group_3_0__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:29401:1: ( ( ( rule__XCasePart__ThenAssignment_3_0_1 ) ) )
-            // InternalReportDSL.g:29402:1: ( ( rule__XCasePart__ThenAssignment_3_0_1 ) )
+            // InternalReportDSL.g:29111:1: ( ( ( rule__XCasePart__ThenAssignment_3_0_1 ) ) )
+            // InternalReportDSL.g:29112:1: ( ( rule__XCasePart__ThenAssignment_3_0_1 ) )
             {
-            // InternalReportDSL.g:29402:1: ( ( rule__XCasePart__ThenAssignment_3_0_1 ) )
-            // InternalReportDSL.g:29403:2: ( rule__XCasePart__ThenAssignment_3_0_1 )
+            // InternalReportDSL.g:29112:1: ( ( rule__XCasePart__ThenAssignment_3_0_1 ) )
+            // InternalReportDSL.g:29113:2: ( rule__XCasePart__ThenAssignment_3_0_1 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXCasePartAccess().getThenAssignment_3_0_1()); 
             }
-            // InternalReportDSL.g:29404:2: ( rule__XCasePart__ThenAssignment_3_0_1 )
-            // InternalReportDSL.g:29404:3: rule__XCasePart__ThenAssignment_3_0_1
+            // InternalReportDSL.g:29114:2: ( rule__XCasePart__ThenAssignment_3_0_1 )
+            // InternalReportDSL.g:29114:3: rule__XCasePart__ThenAssignment_3_0_1
             {
             pushFollow(FOLLOW_2);
             rule__XCasePart__ThenAssignment_3_0_1();
@@ -96843,16 +95724,16 @@
 
 
     // $ANTLR start "rule__XForLoopExpression__Group__0"
-    // InternalReportDSL.g:29413:1: rule__XForLoopExpression__Group__0 : rule__XForLoopExpression__Group__0__Impl rule__XForLoopExpression__Group__1 ;
+    // InternalReportDSL.g:29123:1: rule__XForLoopExpression__Group__0 : rule__XForLoopExpression__Group__0__Impl rule__XForLoopExpression__Group__1 ;
     public final void rule__XForLoopExpression__Group__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:29417:1: ( rule__XForLoopExpression__Group__0__Impl rule__XForLoopExpression__Group__1 )
-            // InternalReportDSL.g:29418:2: rule__XForLoopExpression__Group__0__Impl rule__XForLoopExpression__Group__1
+            // InternalReportDSL.g:29127:1: ( rule__XForLoopExpression__Group__0__Impl rule__XForLoopExpression__Group__1 )
+            // InternalReportDSL.g:29128:2: rule__XForLoopExpression__Group__0__Impl rule__XForLoopExpression__Group__1
             {
-            pushFollow(FOLLOW_139);
+            pushFollow(FOLLOW_138);
             rule__XForLoopExpression__Group__0__Impl();
 
             state._fsp--;
@@ -96881,23 +95762,23 @@
 
 
     // $ANTLR start "rule__XForLoopExpression__Group__0__Impl"
-    // InternalReportDSL.g:29425:1: rule__XForLoopExpression__Group__0__Impl : ( ( rule__XForLoopExpression__Group_0__0 ) ) ;
+    // InternalReportDSL.g:29135:1: rule__XForLoopExpression__Group__0__Impl : ( ( rule__XForLoopExpression__Group_0__0 ) ) ;
     public final void rule__XForLoopExpression__Group__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:29429:1: ( ( ( rule__XForLoopExpression__Group_0__0 ) ) )
-            // InternalReportDSL.g:29430:1: ( ( rule__XForLoopExpression__Group_0__0 ) )
+            // InternalReportDSL.g:29139:1: ( ( ( rule__XForLoopExpression__Group_0__0 ) ) )
+            // InternalReportDSL.g:29140:1: ( ( rule__XForLoopExpression__Group_0__0 ) )
             {
-            // InternalReportDSL.g:29430:1: ( ( rule__XForLoopExpression__Group_0__0 ) )
-            // InternalReportDSL.g:29431:2: ( rule__XForLoopExpression__Group_0__0 )
+            // InternalReportDSL.g:29140:1: ( ( rule__XForLoopExpression__Group_0__0 ) )
+            // InternalReportDSL.g:29141:2: ( rule__XForLoopExpression__Group_0__0 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXForLoopExpressionAccess().getGroup_0()); 
             }
-            // InternalReportDSL.g:29432:2: ( rule__XForLoopExpression__Group_0__0 )
-            // InternalReportDSL.g:29432:3: rule__XForLoopExpression__Group_0__0
+            // InternalReportDSL.g:29142:2: ( rule__XForLoopExpression__Group_0__0 )
+            // InternalReportDSL.g:29142:3: rule__XForLoopExpression__Group_0__0
             {
             pushFollow(FOLLOW_2);
             rule__XForLoopExpression__Group_0__0();
@@ -96932,16 +95813,16 @@
 
 
     // $ANTLR start "rule__XForLoopExpression__Group__1"
-    // InternalReportDSL.g:29440:1: rule__XForLoopExpression__Group__1 : rule__XForLoopExpression__Group__1__Impl rule__XForLoopExpression__Group__2 ;
+    // InternalReportDSL.g:29150:1: rule__XForLoopExpression__Group__1 : rule__XForLoopExpression__Group__1__Impl rule__XForLoopExpression__Group__2 ;
     public final void rule__XForLoopExpression__Group__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:29444:1: ( rule__XForLoopExpression__Group__1__Impl rule__XForLoopExpression__Group__2 )
-            // InternalReportDSL.g:29445:2: rule__XForLoopExpression__Group__1__Impl rule__XForLoopExpression__Group__2
+            // InternalReportDSL.g:29154:1: ( rule__XForLoopExpression__Group__1__Impl rule__XForLoopExpression__Group__2 )
+            // InternalReportDSL.g:29155:2: rule__XForLoopExpression__Group__1__Impl rule__XForLoopExpression__Group__2
             {
-            pushFollow(FOLLOW_113);
+            pushFollow(FOLLOW_112);
             rule__XForLoopExpression__Group__1__Impl();
 
             state._fsp--;
@@ -96970,23 +95851,23 @@
 
 
     // $ANTLR start "rule__XForLoopExpression__Group__1__Impl"
-    // InternalReportDSL.g:29452:1: rule__XForLoopExpression__Group__1__Impl : ( ( rule__XForLoopExpression__ForExpressionAssignment_1 ) ) ;
+    // InternalReportDSL.g:29162:1: rule__XForLoopExpression__Group__1__Impl : ( ( rule__XForLoopExpression__ForExpressionAssignment_1 ) ) ;
     public final void rule__XForLoopExpression__Group__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:29456:1: ( ( ( rule__XForLoopExpression__ForExpressionAssignment_1 ) ) )
-            // InternalReportDSL.g:29457:1: ( ( rule__XForLoopExpression__ForExpressionAssignment_1 ) )
+            // InternalReportDSL.g:29166:1: ( ( ( rule__XForLoopExpression__ForExpressionAssignment_1 ) ) )
+            // InternalReportDSL.g:29167:1: ( ( rule__XForLoopExpression__ForExpressionAssignment_1 ) )
             {
-            // InternalReportDSL.g:29457:1: ( ( rule__XForLoopExpression__ForExpressionAssignment_1 ) )
-            // InternalReportDSL.g:29458:2: ( rule__XForLoopExpression__ForExpressionAssignment_1 )
+            // InternalReportDSL.g:29167:1: ( ( rule__XForLoopExpression__ForExpressionAssignment_1 ) )
+            // InternalReportDSL.g:29168:2: ( rule__XForLoopExpression__ForExpressionAssignment_1 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXForLoopExpressionAccess().getForExpressionAssignment_1()); 
             }
-            // InternalReportDSL.g:29459:2: ( rule__XForLoopExpression__ForExpressionAssignment_1 )
-            // InternalReportDSL.g:29459:3: rule__XForLoopExpression__ForExpressionAssignment_1
+            // InternalReportDSL.g:29169:2: ( rule__XForLoopExpression__ForExpressionAssignment_1 )
+            // InternalReportDSL.g:29169:3: rule__XForLoopExpression__ForExpressionAssignment_1
             {
             pushFollow(FOLLOW_2);
             rule__XForLoopExpression__ForExpressionAssignment_1();
@@ -97021,16 +95902,16 @@
 
 
     // $ANTLR start "rule__XForLoopExpression__Group__2"
-    // InternalReportDSL.g:29467:1: rule__XForLoopExpression__Group__2 : rule__XForLoopExpression__Group__2__Impl rule__XForLoopExpression__Group__3 ;
+    // InternalReportDSL.g:29177:1: rule__XForLoopExpression__Group__2 : rule__XForLoopExpression__Group__2__Impl rule__XForLoopExpression__Group__3 ;
     public final void rule__XForLoopExpression__Group__2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:29471:1: ( rule__XForLoopExpression__Group__2__Impl rule__XForLoopExpression__Group__3 )
-            // InternalReportDSL.g:29472:2: rule__XForLoopExpression__Group__2__Impl rule__XForLoopExpression__Group__3
+            // InternalReportDSL.g:29181:1: ( rule__XForLoopExpression__Group__2__Impl rule__XForLoopExpression__Group__3 )
+            // InternalReportDSL.g:29182:2: rule__XForLoopExpression__Group__2__Impl rule__XForLoopExpression__Group__3
             {
-            pushFollow(FOLLOW_139);
+            pushFollow(FOLLOW_138);
             rule__XForLoopExpression__Group__2__Impl();
 
             state._fsp--;
@@ -97059,22 +95940,22 @@
 
 
     // $ANTLR start "rule__XForLoopExpression__Group__2__Impl"
-    // InternalReportDSL.g:29479:1: rule__XForLoopExpression__Group__2__Impl : ( ')' ) ;
+    // InternalReportDSL.g:29189:1: rule__XForLoopExpression__Group__2__Impl : ( ')' ) ;
     public final void rule__XForLoopExpression__Group__2__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:29483:1: ( ( ')' ) )
-            // InternalReportDSL.g:29484:1: ( ')' )
+            // InternalReportDSL.g:29193:1: ( ( ')' ) )
+            // InternalReportDSL.g:29194:1: ( ')' )
             {
-            // InternalReportDSL.g:29484:1: ( ')' )
-            // InternalReportDSL.g:29485:2: ')'
+            // InternalReportDSL.g:29194:1: ( ')' )
+            // InternalReportDSL.g:29195:2: ')'
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXForLoopExpressionAccess().getRightParenthesisKeyword_2()); 
             }
-            match(input,205,FOLLOW_2); if (state.failed) return ;
+            match(input,212,FOLLOW_2); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getXForLoopExpressionAccess().getRightParenthesisKeyword_2()); 
             }
@@ -97100,14 +95981,14 @@
 
 
     // $ANTLR start "rule__XForLoopExpression__Group__3"
-    // InternalReportDSL.g:29494:1: rule__XForLoopExpression__Group__3 : rule__XForLoopExpression__Group__3__Impl ;
+    // InternalReportDSL.g:29204:1: rule__XForLoopExpression__Group__3 : rule__XForLoopExpression__Group__3__Impl ;
     public final void rule__XForLoopExpression__Group__3() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:29498:1: ( rule__XForLoopExpression__Group__3__Impl )
-            // InternalReportDSL.g:29499:2: rule__XForLoopExpression__Group__3__Impl
+            // InternalReportDSL.g:29208:1: ( rule__XForLoopExpression__Group__3__Impl )
+            // InternalReportDSL.g:29209:2: rule__XForLoopExpression__Group__3__Impl
             {
             pushFollow(FOLLOW_2);
             rule__XForLoopExpression__Group__3__Impl();
@@ -97133,23 +96014,23 @@
 
 
     // $ANTLR start "rule__XForLoopExpression__Group__3__Impl"
-    // InternalReportDSL.g:29505:1: rule__XForLoopExpression__Group__3__Impl : ( ( rule__XForLoopExpression__EachExpressionAssignment_3 ) ) ;
+    // InternalReportDSL.g:29215:1: rule__XForLoopExpression__Group__3__Impl : ( ( rule__XForLoopExpression__EachExpressionAssignment_3 ) ) ;
     public final void rule__XForLoopExpression__Group__3__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:29509:1: ( ( ( rule__XForLoopExpression__EachExpressionAssignment_3 ) ) )
-            // InternalReportDSL.g:29510:1: ( ( rule__XForLoopExpression__EachExpressionAssignment_3 ) )
+            // InternalReportDSL.g:29219:1: ( ( ( rule__XForLoopExpression__EachExpressionAssignment_3 ) ) )
+            // InternalReportDSL.g:29220:1: ( ( rule__XForLoopExpression__EachExpressionAssignment_3 ) )
             {
-            // InternalReportDSL.g:29510:1: ( ( rule__XForLoopExpression__EachExpressionAssignment_3 ) )
-            // InternalReportDSL.g:29511:2: ( rule__XForLoopExpression__EachExpressionAssignment_3 )
+            // InternalReportDSL.g:29220:1: ( ( rule__XForLoopExpression__EachExpressionAssignment_3 ) )
+            // InternalReportDSL.g:29221:2: ( rule__XForLoopExpression__EachExpressionAssignment_3 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXForLoopExpressionAccess().getEachExpressionAssignment_3()); 
             }
-            // InternalReportDSL.g:29512:2: ( rule__XForLoopExpression__EachExpressionAssignment_3 )
-            // InternalReportDSL.g:29512:3: rule__XForLoopExpression__EachExpressionAssignment_3
+            // InternalReportDSL.g:29222:2: ( rule__XForLoopExpression__EachExpressionAssignment_3 )
+            // InternalReportDSL.g:29222:3: rule__XForLoopExpression__EachExpressionAssignment_3
             {
             pushFollow(FOLLOW_2);
             rule__XForLoopExpression__EachExpressionAssignment_3();
@@ -97184,14 +96065,14 @@
 
 
     // $ANTLR start "rule__XForLoopExpression__Group_0__0"
-    // InternalReportDSL.g:29521:1: rule__XForLoopExpression__Group_0__0 : rule__XForLoopExpression__Group_0__0__Impl ;
+    // InternalReportDSL.g:29231:1: rule__XForLoopExpression__Group_0__0 : rule__XForLoopExpression__Group_0__0__Impl ;
     public final void rule__XForLoopExpression__Group_0__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:29525:1: ( rule__XForLoopExpression__Group_0__0__Impl )
-            // InternalReportDSL.g:29526:2: rule__XForLoopExpression__Group_0__0__Impl
+            // InternalReportDSL.g:29235:1: ( rule__XForLoopExpression__Group_0__0__Impl )
+            // InternalReportDSL.g:29236:2: rule__XForLoopExpression__Group_0__0__Impl
             {
             pushFollow(FOLLOW_2);
             rule__XForLoopExpression__Group_0__0__Impl();
@@ -97217,23 +96098,23 @@
 
 
     // $ANTLR start "rule__XForLoopExpression__Group_0__0__Impl"
-    // InternalReportDSL.g:29532:1: rule__XForLoopExpression__Group_0__0__Impl : ( ( rule__XForLoopExpression__Group_0_0__0 ) ) ;
+    // InternalReportDSL.g:29242:1: rule__XForLoopExpression__Group_0__0__Impl : ( ( rule__XForLoopExpression__Group_0_0__0 ) ) ;
     public final void rule__XForLoopExpression__Group_0__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:29536:1: ( ( ( rule__XForLoopExpression__Group_0_0__0 ) ) )
-            // InternalReportDSL.g:29537:1: ( ( rule__XForLoopExpression__Group_0_0__0 ) )
+            // InternalReportDSL.g:29246:1: ( ( ( rule__XForLoopExpression__Group_0_0__0 ) ) )
+            // InternalReportDSL.g:29247:1: ( ( rule__XForLoopExpression__Group_0_0__0 ) )
             {
-            // InternalReportDSL.g:29537:1: ( ( rule__XForLoopExpression__Group_0_0__0 ) )
-            // InternalReportDSL.g:29538:2: ( rule__XForLoopExpression__Group_0_0__0 )
+            // InternalReportDSL.g:29247:1: ( ( rule__XForLoopExpression__Group_0_0__0 ) )
+            // InternalReportDSL.g:29248:2: ( rule__XForLoopExpression__Group_0_0__0 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXForLoopExpressionAccess().getGroup_0_0()); 
             }
-            // InternalReportDSL.g:29539:2: ( rule__XForLoopExpression__Group_0_0__0 )
-            // InternalReportDSL.g:29539:3: rule__XForLoopExpression__Group_0_0__0
+            // InternalReportDSL.g:29249:2: ( rule__XForLoopExpression__Group_0_0__0 )
+            // InternalReportDSL.g:29249:3: rule__XForLoopExpression__Group_0_0__0
             {
             pushFollow(FOLLOW_2);
             rule__XForLoopExpression__Group_0_0__0();
@@ -97268,16 +96149,16 @@
 
 
     // $ANTLR start "rule__XForLoopExpression__Group_0_0__0"
-    // InternalReportDSL.g:29548:1: rule__XForLoopExpression__Group_0_0__0 : rule__XForLoopExpression__Group_0_0__0__Impl rule__XForLoopExpression__Group_0_0__1 ;
+    // InternalReportDSL.g:29258:1: rule__XForLoopExpression__Group_0_0__0 : rule__XForLoopExpression__Group_0_0__0__Impl rule__XForLoopExpression__Group_0_0__1 ;
     public final void rule__XForLoopExpression__Group_0_0__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:29552:1: ( rule__XForLoopExpression__Group_0_0__0__Impl rule__XForLoopExpression__Group_0_0__1 )
-            // InternalReportDSL.g:29553:2: rule__XForLoopExpression__Group_0_0__0__Impl rule__XForLoopExpression__Group_0_0__1
+            // InternalReportDSL.g:29262:1: ( rule__XForLoopExpression__Group_0_0__0__Impl rule__XForLoopExpression__Group_0_0__1 )
+            // InternalReportDSL.g:29263:2: rule__XForLoopExpression__Group_0_0__0__Impl rule__XForLoopExpression__Group_0_0__1
             {
-            pushFollow(FOLLOW_192);
+            pushFollow(FOLLOW_190);
             rule__XForLoopExpression__Group_0_0__0__Impl();
 
             state._fsp--;
@@ -97306,23 +96187,23 @@
 
 
     // $ANTLR start "rule__XForLoopExpression__Group_0_0__0__Impl"
-    // InternalReportDSL.g:29560:1: rule__XForLoopExpression__Group_0_0__0__Impl : ( () ) ;
+    // InternalReportDSL.g:29270:1: rule__XForLoopExpression__Group_0_0__0__Impl : ( () ) ;
     public final void rule__XForLoopExpression__Group_0_0__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:29564:1: ( ( () ) )
-            // InternalReportDSL.g:29565:1: ( () )
+            // InternalReportDSL.g:29274:1: ( ( () ) )
+            // InternalReportDSL.g:29275:1: ( () )
             {
-            // InternalReportDSL.g:29565:1: ( () )
-            // InternalReportDSL.g:29566:2: ()
+            // InternalReportDSL.g:29275:1: ( () )
+            // InternalReportDSL.g:29276:2: ()
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXForLoopExpressionAccess().getXForLoopExpressionAction_0_0_0()); 
             }
-            // InternalReportDSL.g:29567:2: ()
-            // InternalReportDSL.g:29567:3: 
+            // InternalReportDSL.g:29277:2: ()
+            // InternalReportDSL.g:29277:3: 
             {
             }
 
@@ -97347,16 +96228,16 @@
 
 
     // $ANTLR start "rule__XForLoopExpression__Group_0_0__1"
-    // InternalReportDSL.g:29575:1: rule__XForLoopExpression__Group_0_0__1 : rule__XForLoopExpression__Group_0_0__1__Impl rule__XForLoopExpression__Group_0_0__2 ;
+    // InternalReportDSL.g:29285:1: rule__XForLoopExpression__Group_0_0__1 : rule__XForLoopExpression__Group_0_0__1__Impl rule__XForLoopExpression__Group_0_0__2 ;
     public final void rule__XForLoopExpression__Group_0_0__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:29579:1: ( rule__XForLoopExpression__Group_0_0__1__Impl rule__XForLoopExpression__Group_0_0__2 )
-            // InternalReportDSL.g:29580:2: rule__XForLoopExpression__Group_0_0__1__Impl rule__XForLoopExpression__Group_0_0__2
+            // InternalReportDSL.g:29289:1: ( rule__XForLoopExpression__Group_0_0__1__Impl rule__XForLoopExpression__Group_0_0__2 )
+            // InternalReportDSL.g:29290:2: rule__XForLoopExpression__Group_0_0__1__Impl rule__XForLoopExpression__Group_0_0__2
             {
-            pushFollow(FOLLOW_104);
+            pushFollow(FOLLOW_103);
             rule__XForLoopExpression__Group_0_0__1__Impl();
 
             state._fsp--;
@@ -97385,22 +96266,22 @@
 
 
     // $ANTLR start "rule__XForLoopExpression__Group_0_0__1__Impl"
-    // InternalReportDSL.g:29587:1: rule__XForLoopExpression__Group_0_0__1__Impl : ( 'for' ) ;
+    // InternalReportDSL.g:29297:1: rule__XForLoopExpression__Group_0_0__1__Impl : ( 'for' ) ;
     public final void rule__XForLoopExpression__Group_0_0__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:29591:1: ( ( 'for' ) )
-            // InternalReportDSL.g:29592:1: ( 'for' )
+            // InternalReportDSL.g:29301:1: ( ( 'for' ) )
+            // InternalReportDSL.g:29302:1: ( 'for' )
             {
-            // InternalReportDSL.g:29592:1: ( 'for' )
-            // InternalReportDSL.g:29593:2: 'for'
+            // InternalReportDSL.g:29302:1: ( 'for' )
+            // InternalReportDSL.g:29303:2: 'for'
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXForLoopExpressionAccess().getForKeyword_0_0_1()); 
             }
-            match(input,239,FOLLOW_2); if (state.failed) return ;
+            match(input,246,FOLLOW_2); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getXForLoopExpressionAccess().getForKeyword_0_0_1()); 
             }
@@ -97426,16 +96307,16 @@
 
 
     // $ANTLR start "rule__XForLoopExpression__Group_0_0__2"
-    // InternalReportDSL.g:29602:1: rule__XForLoopExpression__Group_0_0__2 : rule__XForLoopExpression__Group_0_0__2__Impl rule__XForLoopExpression__Group_0_0__3 ;
+    // InternalReportDSL.g:29312:1: rule__XForLoopExpression__Group_0_0__2 : rule__XForLoopExpression__Group_0_0__2__Impl rule__XForLoopExpression__Group_0_0__3 ;
     public final void rule__XForLoopExpression__Group_0_0__2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:29606:1: ( rule__XForLoopExpression__Group_0_0__2__Impl rule__XForLoopExpression__Group_0_0__3 )
-            // InternalReportDSL.g:29607:2: rule__XForLoopExpression__Group_0_0__2__Impl rule__XForLoopExpression__Group_0_0__3
+            // InternalReportDSL.g:29316:1: ( rule__XForLoopExpression__Group_0_0__2__Impl rule__XForLoopExpression__Group_0_0__3 )
+            // InternalReportDSL.g:29317:2: rule__XForLoopExpression__Group_0_0__2__Impl rule__XForLoopExpression__Group_0_0__3
             {
-            pushFollow(FOLLOW_156);
+            pushFollow(FOLLOW_155);
             rule__XForLoopExpression__Group_0_0__2__Impl();
 
             state._fsp--;
@@ -97464,22 +96345,22 @@
 
 
     // $ANTLR start "rule__XForLoopExpression__Group_0_0__2__Impl"
-    // InternalReportDSL.g:29614:1: rule__XForLoopExpression__Group_0_0__2__Impl : ( '(' ) ;
+    // InternalReportDSL.g:29324:1: rule__XForLoopExpression__Group_0_0__2__Impl : ( '(' ) ;
     public final void rule__XForLoopExpression__Group_0_0__2__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:29618:1: ( ( '(' ) )
-            // InternalReportDSL.g:29619:1: ( '(' )
+            // InternalReportDSL.g:29328:1: ( ( '(' ) )
+            // InternalReportDSL.g:29329:1: ( '(' )
             {
-            // InternalReportDSL.g:29619:1: ( '(' )
-            // InternalReportDSL.g:29620:2: '('
+            // InternalReportDSL.g:29329:1: ( '(' )
+            // InternalReportDSL.g:29330:2: '('
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXForLoopExpressionAccess().getLeftParenthesisKeyword_0_0_2()); 
             }
-            match(input,204,FOLLOW_2); if (state.failed) return ;
+            match(input,211,FOLLOW_2); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getXForLoopExpressionAccess().getLeftParenthesisKeyword_0_0_2()); 
             }
@@ -97505,16 +96386,16 @@
 
 
     // $ANTLR start "rule__XForLoopExpression__Group_0_0__3"
-    // InternalReportDSL.g:29629:1: rule__XForLoopExpression__Group_0_0__3 : rule__XForLoopExpression__Group_0_0__3__Impl rule__XForLoopExpression__Group_0_0__4 ;
+    // InternalReportDSL.g:29339:1: rule__XForLoopExpression__Group_0_0__3 : rule__XForLoopExpression__Group_0_0__3__Impl rule__XForLoopExpression__Group_0_0__4 ;
     public final void rule__XForLoopExpression__Group_0_0__3() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:29633:1: ( rule__XForLoopExpression__Group_0_0__3__Impl rule__XForLoopExpression__Group_0_0__4 )
-            // InternalReportDSL.g:29634:2: rule__XForLoopExpression__Group_0_0__3__Impl rule__XForLoopExpression__Group_0_0__4
+            // InternalReportDSL.g:29343:1: ( rule__XForLoopExpression__Group_0_0__3__Impl rule__XForLoopExpression__Group_0_0__4 )
+            // InternalReportDSL.g:29344:2: rule__XForLoopExpression__Group_0_0__3__Impl rule__XForLoopExpression__Group_0_0__4
             {
-            pushFollow(FOLLOW_190);
+            pushFollow(FOLLOW_188);
             rule__XForLoopExpression__Group_0_0__3__Impl();
 
             state._fsp--;
@@ -97543,23 +96424,23 @@
 
 
     // $ANTLR start "rule__XForLoopExpression__Group_0_0__3__Impl"
-    // InternalReportDSL.g:29641:1: rule__XForLoopExpression__Group_0_0__3__Impl : ( ( rule__XForLoopExpression__DeclaredParamAssignment_0_0_3 ) ) ;
+    // InternalReportDSL.g:29351:1: rule__XForLoopExpression__Group_0_0__3__Impl : ( ( rule__XForLoopExpression__DeclaredParamAssignment_0_0_3 ) ) ;
     public final void rule__XForLoopExpression__Group_0_0__3__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:29645:1: ( ( ( rule__XForLoopExpression__DeclaredParamAssignment_0_0_3 ) ) )
-            // InternalReportDSL.g:29646:1: ( ( rule__XForLoopExpression__DeclaredParamAssignment_0_0_3 ) )
+            // InternalReportDSL.g:29355:1: ( ( ( rule__XForLoopExpression__DeclaredParamAssignment_0_0_3 ) ) )
+            // InternalReportDSL.g:29356:1: ( ( rule__XForLoopExpression__DeclaredParamAssignment_0_0_3 ) )
             {
-            // InternalReportDSL.g:29646:1: ( ( rule__XForLoopExpression__DeclaredParamAssignment_0_0_3 ) )
-            // InternalReportDSL.g:29647:2: ( rule__XForLoopExpression__DeclaredParamAssignment_0_0_3 )
+            // InternalReportDSL.g:29356:1: ( ( rule__XForLoopExpression__DeclaredParamAssignment_0_0_3 ) )
+            // InternalReportDSL.g:29357:2: ( rule__XForLoopExpression__DeclaredParamAssignment_0_0_3 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXForLoopExpressionAccess().getDeclaredParamAssignment_0_0_3()); 
             }
-            // InternalReportDSL.g:29648:2: ( rule__XForLoopExpression__DeclaredParamAssignment_0_0_3 )
-            // InternalReportDSL.g:29648:3: rule__XForLoopExpression__DeclaredParamAssignment_0_0_3
+            // InternalReportDSL.g:29358:2: ( rule__XForLoopExpression__DeclaredParamAssignment_0_0_3 )
+            // InternalReportDSL.g:29358:3: rule__XForLoopExpression__DeclaredParamAssignment_0_0_3
             {
             pushFollow(FOLLOW_2);
             rule__XForLoopExpression__DeclaredParamAssignment_0_0_3();
@@ -97594,14 +96475,14 @@
 
 
     // $ANTLR start "rule__XForLoopExpression__Group_0_0__4"
-    // InternalReportDSL.g:29656:1: rule__XForLoopExpression__Group_0_0__4 : rule__XForLoopExpression__Group_0_0__4__Impl ;
+    // InternalReportDSL.g:29366:1: rule__XForLoopExpression__Group_0_0__4 : rule__XForLoopExpression__Group_0_0__4__Impl ;
     public final void rule__XForLoopExpression__Group_0_0__4() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:29660:1: ( rule__XForLoopExpression__Group_0_0__4__Impl )
-            // InternalReportDSL.g:29661:2: rule__XForLoopExpression__Group_0_0__4__Impl
+            // InternalReportDSL.g:29370:1: ( rule__XForLoopExpression__Group_0_0__4__Impl )
+            // InternalReportDSL.g:29371:2: rule__XForLoopExpression__Group_0_0__4__Impl
             {
             pushFollow(FOLLOW_2);
             rule__XForLoopExpression__Group_0_0__4__Impl();
@@ -97627,22 +96508,22 @@
 
 
     // $ANTLR start "rule__XForLoopExpression__Group_0_0__4__Impl"
-    // InternalReportDSL.g:29667:1: rule__XForLoopExpression__Group_0_0__4__Impl : ( ':' ) ;
+    // InternalReportDSL.g:29377:1: rule__XForLoopExpression__Group_0_0__4__Impl : ( ':' ) ;
     public final void rule__XForLoopExpression__Group_0_0__4__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:29671:1: ( ( ':' ) )
-            // InternalReportDSL.g:29672:1: ( ':' )
+            // InternalReportDSL.g:29381:1: ( ( ':' ) )
+            // InternalReportDSL.g:29382:1: ( ':' )
             {
-            // InternalReportDSL.g:29672:1: ( ':' )
-            // InternalReportDSL.g:29673:2: ':'
+            // InternalReportDSL.g:29382:1: ( ':' )
+            // InternalReportDSL.g:29383:2: ':'
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXForLoopExpressionAccess().getColonKeyword_0_0_4()); 
             }
-            match(input,236,FOLLOW_2); if (state.failed) return ;
+            match(input,243,FOLLOW_2); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getXForLoopExpressionAccess().getColonKeyword_0_0_4()); 
             }
@@ -97668,16 +96549,16 @@
 
 
     // $ANTLR start "rule__XBasicForLoopExpression__Group__0"
-    // InternalReportDSL.g:29683:1: rule__XBasicForLoopExpression__Group__0 : rule__XBasicForLoopExpression__Group__0__Impl rule__XBasicForLoopExpression__Group__1 ;
+    // InternalReportDSL.g:29393:1: rule__XBasicForLoopExpression__Group__0 : rule__XBasicForLoopExpression__Group__0__Impl rule__XBasicForLoopExpression__Group__1 ;
     public final void rule__XBasicForLoopExpression__Group__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:29687:1: ( rule__XBasicForLoopExpression__Group__0__Impl rule__XBasicForLoopExpression__Group__1 )
-            // InternalReportDSL.g:29688:2: rule__XBasicForLoopExpression__Group__0__Impl rule__XBasicForLoopExpression__Group__1
+            // InternalReportDSL.g:29397:1: ( rule__XBasicForLoopExpression__Group__0__Impl rule__XBasicForLoopExpression__Group__1 )
+            // InternalReportDSL.g:29398:2: rule__XBasicForLoopExpression__Group__0__Impl rule__XBasicForLoopExpression__Group__1
             {
-            pushFollow(FOLLOW_192);
+            pushFollow(FOLLOW_190);
             rule__XBasicForLoopExpression__Group__0__Impl();
 
             state._fsp--;
@@ -97706,23 +96587,23 @@
 
 
     // $ANTLR start "rule__XBasicForLoopExpression__Group__0__Impl"
-    // InternalReportDSL.g:29695:1: rule__XBasicForLoopExpression__Group__0__Impl : ( () ) ;
+    // InternalReportDSL.g:29405:1: rule__XBasicForLoopExpression__Group__0__Impl : ( () ) ;
     public final void rule__XBasicForLoopExpression__Group__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:29699:1: ( ( () ) )
-            // InternalReportDSL.g:29700:1: ( () )
+            // InternalReportDSL.g:29409:1: ( ( () ) )
+            // InternalReportDSL.g:29410:1: ( () )
             {
-            // InternalReportDSL.g:29700:1: ( () )
-            // InternalReportDSL.g:29701:2: ()
+            // InternalReportDSL.g:29410:1: ( () )
+            // InternalReportDSL.g:29411:2: ()
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXBasicForLoopExpressionAccess().getXBasicForLoopExpressionAction_0()); 
             }
-            // InternalReportDSL.g:29702:2: ()
-            // InternalReportDSL.g:29702:3: 
+            // InternalReportDSL.g:29412:2: ()
+            // InternalReportDSL.g:29412:3: 
             {
             }
 
@@ -97747,16 +96628,16 @@
 
 
     // $ANTLR start "rule__XBasicForLoopExpression__Group__1"
-    // InternalReportDSL.g:29710:1: rule__XBasicForLoopExpression__Group__1 : rule__XBasicForLoopExpression__Group__1__Impl rule__XBasicForLoopExpression__Group__2 ;
+    // InternalReportDSL.g:29420:1: rule__XBasicForLoopExpression__Group__1 : rule__XBasicForLoopExpression__Group__1__Impl rule__XBasicForLoopExpression__Group__2 ;
     public final void rule__XBasicForLoopExpression__Group__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:29714:1: ( rule__XBasicForLoopExpression__Group__1__Impl rule__XBasicForLoopExpression__Group__2 )
-            // InternalReportDSL.g:29715:2: rule__XBasicForLoopExpression__Group__1__Impl rule__XBasicForLoopExpression__Group__2
+            // InternalReportDSL.g:29424:1: ( rule__XBasicForLoopExpression__Group__1__Impl rule__XBasicForLoopExpression__Group__2 )
+            // InternalReportDSL.g:29425:2: rule__XBasicForLoopExpression__Group__1__Impl rule__XBasicForLoopExpression__Group__2
             {
-            pushFollow(FOLLOW_104);
+            pushFollow(FOLLOW_103);
             rule__XBasicForLoopExpression__Group__1__Impl();
 
             state._fsp--;
@@ -97785,22 +96666,22 @@
 
 
     // $ANTLR start "rule__XBasicForLoopExpression__Group__1__Impl"
-    // InternalReportDSL.g:29722:1: rule__XBasicForLoopExpression__Group__1__Impl : ( 'for' ) ;
+    // InternalReportDSL.g:29432:1: rule__XBasicForLoopExpression__Group__1__Impl : ( 'for' ) ;
     public final void rule__XBasicForLoopExpression__Group__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:29726:1: ( ( 'for' ) )
-            // InternalReportDSL.g:29727:1: ( 'for' )
+            // InternalReportDSL.g:29436:1: ( ( 'for' ) )
+            // InternalReportDSL.g:29437:1: ( 'for' )
             {
-            // InternalReportDSL.g:29727:1: ( 'for' )
-            // InternalReportDSL.g:29728:2: 'for'
+            // InternalReportDSL.g:29437:1: ( 'for' )
+            // InternalReportDSL.g:29438:2: 'for'
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXBasicForLoopExpressionAccess().getForKeyword_1()); 
             }
-            match(input,239,FOLLOW_2); if (state.failed) return ;
+            match(input,246,FOLLOW_2); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getXBasicForLoopExpressionAccess().getForKeyword_1()); 
             }
@@ -97826,16 +96707,16 @@
 
 
     // $ANTLR start "rule__XBasicForLoopExpression__Group__2"
-    // InternalReportDSL.g:29737:1: rule__XBasicForLoopExpression__Group__2 : rule__XBasicForLoopExpression__Group__2__Impl rule__XBasicForLoopExpression__Group__3 ;
+    // InternalReportDSL.g:29447:1: rule__XBasicForLoopExpression__Group__2 : rule__XBasicForLoopExpression__Group__2__Impl rule__XBasicForLoopExpression__Group__3 ;
     public final void rule__XBasicForLoopExpression__Group__2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:29741:1: ( rule__XBasicForLoopExpression__Group__2__Impl rule__XBasicForLoopExpression__Group__3 )
-            // InternalReportDSL.g:29742:2: rule__XBasicForLoopExpression__Group__2__Impl rule__XBasicForLoopExpression__Group__3
+            // InternalReportDSL.g:29451:1: ( rule__XBasicForLoopExpression__Group__2__Impl rule__XBasicForLoopExpression__Group__3 )
+            // InternalReportDSL.g:29452:2: rule__XBasicForLoopExpression__Group__2__Impl rule__XBasicForLoopExpression__Group__3
             {
-            pushFollow(FOLLOW_193);
+            pushFollow(FOLLOW_191);
             rule__XBasicForLoopExpression__Group__2__Impl();
 
             state._fsp--;
@@ -97864,22 +96745,22 @@
 
 
     // $ANTLR start "rule__XBasicForLoopExpression__Group__2__Impl"
-    // InternalReportDSL.g:29749:1: rule__XBasicForLoopExpression__Group__2__Impl : ( '(' ) ;
+    // InternalReportDSL.g:29459:1: rule__XBasicForLoopExpression__Group__2__Impl : ( '(' ) ;
     public final void rule__XBasicForLoopExpression__Group__2__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:29753:1: ( ( '(' ) )
-            // InternalReportDSL.g:29754:1: ( '(' )
+            // InternalReportDSL.g:29463:1: ( ( '(' ) )
+            // InternalReportDSL.g:29464:1: ( '(' )
             {
-            // InternalReportDSL.g:29754:1: ( '(' )
-            // InternalReportDSL.g:29755:2: '('
+            // InternalReportDSL.g:29464:1: ( '(' )
+            // InternalReportDSL.g:29465:2: '('
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXBasicForLoopExpressionAccess().getLeftParenthesisKeyword_2()); 
             }
-            match(input,204,FOLLOW_2); if (state.failed) return ;
+            match(input,211,FOLLOW_2); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getXBasicForLoopExpressionAccess().getLeftParenthesisKeyword_2()); 
             }
@@ -97905,16 +96786,16 @@
 
 
     // $ANTLR start "rule__XBasicForLoopExpression__Group__3"
-    // InternalReportDSL.g:29764:1: rule__XBasicForLoopExpression__Group__3 : rule__XBasicForLoopExpression__Group__3__Impl rule__XBasicForLoopExpression__Group__4 ;
+    // InternalReportDSL.g:29474:1: rule__XBasicForLoopExpression__Group__3 : rule__XBasicForLoopExpression__Group__3__Impl rule__XBasicForLoopExpression__Group__4 ;
     public final void rule__XBasicForLoopExpression__Group__3() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:29768:1: ( rule__XBasicForLoopExpression__Group__3__Impl rule__XBasicForLoopExpression__Group__4 )
-            // InternalReportDSL.g:29769:2: rule__XBasicForLoopExpression__Group__3__Impl rule__XBasicForLoopExpression__Group__4
+            // InternalReportDSL.g:29478:1: ( rule__XBasicForLoopExpression__Group__3__Impl rule__XBasicForLoopExpression__Group__4 )
+            // InternalReportDSL.g:29479:2: rule__XBasicForLoopExpression__Group__3__Impl rule__XBasicForLoopExpression__Group__4
             {
-            pushFollow(FOLLOW_193);
+            pushFollow(FOLLOW_191);
             rule__XBasicForLoopExpression__Group__3__Impl();
 
             state._fsp--;
@@ -97943,31 +96824,31 @@
 
 
     // $ANTLR start "rule__XBasicForLoopExpression__Group__3__Impl"
-    // InternalReportDSL.g:29776:1: rule__XBasicForLoopExpression__Group__3__Impl : ( ( rule__XBasicForLoopExpression__Group_3__0 )? ) ;
+    // InternalReportDSL.g:29486:1: rule__XBasicForLoopExpression__Group__3__Impl : ( ( rule__XBasicForLoopExpression__Group_3__0 )? ) ;
     public final void rule__XBasicForLoopExpression__Group__3__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:29780:1: ( ( ( rule__XBasicForLoopExpression__Group_3__0 )? ) )
-            // InternalReportDSL.g:29781:1: ( ( rule__XBasicForLoopExpression__Group_3__0 )? )
+            // InternalReportDSL.g:29490:1: ( ( ( rule__XBasicForLoopExpression__Group_3__0 )? ) )
+            // InternalReportDSL.g:29491:1: ( ( rule__XBasicForLoopExpression__Group_3__0 )? )
             {
-            // InternalReportDSL.g:29781:1: ( ( rule__XBasicForLoopExpression__Group_3__0 )? )
-            // InternalReportDSL.g:29782:2: ( rule__XBasicForLoopExpression__Group_3__0 )?
+            // InternalReportDSL.g:29491:1: ( ( rule__XBasicForLoopExpression__Group_3__0 )? )
+            // InternalReportDSL.g:29492:2: ( rule__XBasicForLoopExpression__Group_3__0 )?
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXBasicForLoopExpressionAccess().getGroup_3()); 
             }
-            // InternalReportDSL.g:29783:2: ( rule__XBasicForLoopExpression__Group_3__0 )?
-            int alt215=2;
-            int LA215_0 = input.LA(1);
+            // InternalReportDSL.g:29493:2: ( rule__XBasicForLoopExpression__Group_3__0 )?
+            int alt197=2;
+            int LA197_0 = input.LA(1);
 
-            if ( ((LA215_0>=RULE_STRING && LA215_0<=RULE_DECIMAL)||LA215_0==31||(LA215_0>=38 && LA215_0<=39)||LA215_0==44||(LA215_0>=48 && LA215_0<=54)||LA215_0==125||LA215_0==204||(LA215_0>=230 && LA215_0<=231)||LA215_0==233||LA215_0==235||(LA215_0>=239 && LA215_0<=247)||LA215_0==249||(LA215_0>=265 && LA215_0<=266)) ) {
-                alt215=1;
+            if ( ((LA197_0>=RULE_STRING && LA197_0<=RULE_DECIMAL)||LA197_0==31||(LA197_0>=38 && LA197_0<=39)||LA197_0==44||(LA197_0>=48 && LA197_0<=54)||LA197_0==131||LA197_0==211||(LA197_0>=237 && LA197_0<=238)||LA197_0==240||LA197_0==242||(LA197_0>=246 && LA197_0<=254)||LA197_0==256||(LA197_0>=270 && LA197_0<=271)) ) {
+                alt197=1;
             }
-            switch (alt215) {
+            switch (alt197) {
                 case 1 :
-                    // InternalReportDSL.g:29783:3: rule__XBasicForLoopExpression__Group_3__0
+                    // InternalReportDSL.g:29493:3: rule__XBasicForLoopExpression__Group_3__0
                     {
                     pushFollow(FOLLOW_2);
                     rule__XBasicForLoopExpression__Group_3__0();
@@ -98005,16 +96886,16 @@
 
 
     // $ANTLR start "rule__XBasicForLoopExpression__Group__4"
-    // InternalReportDSL.g:29791:1: rule__XBasicForLoopExpression__Group__4 : rule__XBasicForLoopExpression__Group__4__Impl rule__XBasicForLoopExpression__Group__5 ;
+    // InternalReportDSL.g:29501:1: rule__XBasicForLoopExpression__Group__4 : rule__XBasicForLoopExpression__Group__4__Impl rule__XBasicForLoopExpression__Group__5 ;
     public final void rule__XBasicForLoopExpression__Group__4() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:29795:1: ( rule__XBasicForLoopExpression__Group__4__Impl rule__XBasicForLoopExpression__Group__5 )
-            // InternalReportDSL.g:29796:2: rule__XBasicForLoopExpression__Group__4__Impl rule__XBasicForLoopExpression__Group__5
+            // InternalReportDSL.g:29505:1: ( rule__XBasicForLoopExpression__Group__4__Impl rule__XBasicForLoopExpression__Group__5 )
+            // InternalReportDSL.g:29506:2: rule__XBasicForLoopExpression__Group__4__Impl rule__XBasicForLoopExpression__Group__5
             {
-            pushFollow(FOLLOW_194);
+            pushFollow(FOLLOW_192);
             rule__XBasicForLoopExpression__Group__4__Impl();
 
             state._fsp--;
@@ -98043,22 +96924,22 @@
 
 
     // $ANTLR start "rule__XBasicForLoopExpression__Group__4__Impl"
-    // InternalReportDSL.g:29803:1: rule__XBasicForLoopExpression__Group__4__Impl : ( ';' ) ;
+    // InternalReportDSL.g:29513:1: rule__XBasicForLoopExpression__Group__4__Impl : ( ';' ) ;
     public final void rule__XBasicForLoopExpression__Group__4__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:29807:1: ( ( ';' ) )
-            // InternalReportDSL.g:29808:1: ( ';' )
+            // InternalReportDSL.g:29517:1: ( ( ';' ) )
+            // InternalReportDSL.g:29518:1: ( ';' )
             {
-            // InternalReportDSL.g:29808:1: ( ';' )
-            // InternalReportDSL.g:29809:2: ';'
+            // InternalReportDSL.g:29518:1: ( ';' )
+            // InternalReportDSL.g:29519:2: ';'
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXBasicForLoopExpressionAccess().getSemicolonKeyword_4()); 
             }
-            match(input,226,FOLLOW_2); if (state.failed) return ;
+            match(input,233,FOLLOW_2); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getXBasicForLoopExpressionAccess().getSemicolonKeyword_4()); 
             }
@@ -98084,16 +96965,16 @@
 
 
     // $ANTLR start "rule__XBasicForLoopExpression__Group__5"
-    // InternalReportDSL.g:29818:1: rule__XBasicForLoopExpression__Group__5 : rule__XBasicForLoopExpression__Group__5__Impl rule__XBasicForLoopExpression__Group__6 ;
+    // InternalReportDSL.g:29528:1: rule__XBasicForLoopExpression__Group__5 : rule__XBasicForLoopExpression__Group__5__Impl rule__XBasicForLoopExpression__Group__6 ;
     public final void rule__XBasicForLoopExpression__Group__5() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:29822:1: ( rule__XBasicForLoopExpression__Group__5__Impl rule__XBasicForLoopExpression__Group__6 )
-            // InternalReportDSL.g:29823:2: rule__XBasicForLoopExpression__Group__5__Impl rule__XBasicForLoopExpression__Group__6
+            // InternalReportDSL.g:29532:1: ( rule__XBasicForLoopExpression__Group__5__Impl rule__XBasicForLoopExpression__Group__6 )
+            // InternalReportDSL.g:29533:2: rule__XBasicForLoopExpression__Group__5__Impl rule__XBasicForLoopExpression__Group__6
             {
-            pushFollow(FOLLOW_194);
+            pushFollow(FOLLOW_192);
             rule__XBasicForLoopExpression__Group__5__Impl();
 
             state._fsp--;
@@ -98122,31 +97003,31 @@
 
 
     // $ANTLR start "rule__XBasicForLoopExpression__Group__5__Impl"
-    // InternalReportDSL.g:29830:1: rule__XBasicForLoopExpression__Group__5__Impl : ( ( rule__XBasicForLoopExpression__ExpressionAssignment_5 )? ) ;
+    // InternalReportDSL.g:29540:1: rule__XBasicForLoopExpression__Group__5__Impl : ( ( rule__XBasicForLoopExpression__ExpressionAssignment_5 )? ) ;
     public final void rule__XBasicForLoopExpression__Group__5__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:29834:1: ( ( ( rule__XBasicForLoopExpression__ExpressionAssignment_5 )? ) )
-            // InternalReportDSL.g:29835:1: ( ( rule__XBasicForLoopExpression__ExpressionAssignment_5 )? )
+            // InternalReportDSL.g:29544:1: ( ( ( rule__XBasicForLoopExpression__ExpressionAssignment_5 )? ) )
+            // InternalReportDSL.g:29545:1: ( ( rule__XBasicForLoopExpression__ExpressionAssignment_5 )? )
             {
-            // InternalReportDSL.g:29835:1: ( ( rule__XBasicForLoopExpression__ExpressionAssignment_5 )? )
-            // InternalReportDSL.g:29836:2: ( rule__XBasicForLoopExpression__ExpressionAssignment_5 )?
+            // InternalReportDSL.g:29545:1: ( ( rule__XBasicForLoopExpression__ExpressionAssignment_5 )? )
+            // InternalReportDSL.g:29546:2: ( rule__XBasicForLoopExpression__ExpressionAssignment_5 )?
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXBasicForLoopExpressionAccess().getExpressionAssignment_5()); 
             }
-            // InternalReportDSL.g:29837:2: ( rule__XBasicForLoopExpression__ExpressionAssignment_5 )?
-            int alt216=2;
-            int LA216_0 = input.LA(1);
+            // InternalReportDSL.g:29547:2: ( rule__XBasicForLoopExpression__ExpressionAssignment_5 )?
+            int alt198=2;
+            int LA198_0 = input.LA(1);
 
-            if ( ((LA216_0>=RULE_STRING && LA216_0<=RULE_DECIMAL)||LA216_0==31||(LA216_0>=38 && LA216_0<=39)||LA216_0==44||(LA216_0>=49 && LA216_0<=54)||LA216_0==125||LA216_0==204||(LA216_0>=230 && LA216_0<=231)||LA216_0==233||LA216_0==235||(LA216_0>=239 && LA216_0<=247)||LA216_0==249||LA216_0==266) ) {
-                alt216=1;
+            if ( ((LA198_0>=RULE_STRING && LA198_0<=RULE_DECIMAL)||LA198_0==31||(LA198_0>=38 && LA198_0<=39)||LA198_0==44||(LA198_0>=49 && LA198_0<=54)||LA198_0==131||LA198_0==211||(LA198_0>=237 && LA198_0<=238)||LA198_0==240||LA198_0==242||(LA198_0>=246 && LA198_0<=254)||LA198_0==256||LA198_0==271) ) {
+                alt198=1;
             }
-            switch (alt216) {
+            switch (alt198) {
                 case 1 :
-                    // InternalReportDSL.g:29837:3: rule__XBasicForLoopExpression__ExpressionAssignment_5
+                    // InternalReportDSL.g:29547:3: rule__XBasicForLoopExpression__ExpressionAssignment_5
                     {
                     pushFollow(FOLLOW_2);
                     rule__XBasicForLoopExpression__ExpressionAssignment_5();
@@ -98184,16 +97065,16 @@
 
 
     // $ANTLR start "rule__XBasicForLoopExpression__Group__6"
-    // InternalReportDSL.g:29845:1: rule__XBasicForLoopExpression__Group__6 : rule__XBasicForLoopExpression__Group__6__Impl rule__XBasicForLoopExpression__Group__7 ;
+    // InternalReportDSL.g:29555:1: rule__XBasicForLoopExpression__Group__6 : rule__XBasicForLoopExpression__Group__6__Impl rule__XBasicForLoopExpression__Group__7 ;
     public final void rule__XBasicForLoopExpression__Group__6() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:29849:1: ( rule__XBasicForLoopExpression__Group__6__Impl rule__XBasicForLoopExpression__Group__7 )
-            // InternalReportDSL.g:29850:2: rule__XBasicForLoopExpression__Group__6__Impl rule__XBasicForLoopExpression__Group__7
+            // InternalReportDSL.g:29559:1: ( rule__XBasicForLoopExpression__Group__6__Impl rule__XBasicForLoopExpression__Group__7 )
+            // InternalReportDSL.g:29560:2: rule__XBasicForLoopExpression__Group__6__Impl rule__XBasicForLoopExpression__Group__7
             {
-            pushFollow(FOLLOW_136);
+            pushFollow(FOLLOW_135);
             rule__XBasicForLoopExpression__Group__6__Impl();
 
             state._fsp--;
@@ -98222,22 +97103,22 @@
 
 
     // $ANTLR start "rule__XBasicForLoopExpression__Group__6__Impl"
-    // InternalReportDSL.g:29857:1: rule__XBasicForLoopExpression__Group__6__Impl : ( ';' ) ;
+    // InternalReportDSL.g:29567:1: rule__XBasicForLoopExpression__Group__6__Impl : ( ';' ) ;
     public final void rule__XBasicForLoopExpression__Group__6__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:29861:1: ( ( ';' ) )
-            // InternalReportDSL.g:29862:1: ( ';' )
+            // InternalReportDSL.g:29571:1: ( ( ';' ) )
+            // InternalReportDSL.g:29572:1: ( ';' )
             {
-            // InternalReportDSL.g:29862:1: ( ';' )
-            // InternalReportDSL.g:29863:2: ';'
+            // InternalReportDSL.g:29572:1: ( ';' )
+            // InternalReportDSL.g:29573:2: ';'
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXBasicForLoopExpressionAccess().getSemicolonKeyword_6()); 
             }
-            match(input,226,FOLLOW_2); if (state.failed) return ;
+            match(input,233,FOLLOW_2); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getXBasicForLoopExpressionAccess().getSemicolonKeyword_6()); 
             }
@@ -98263,16 +97144,16 @@
 
 
     // $ANTLR start "rule__XBasicForLoopExpression__Group__7"
-    // InternalReportDSL.g:29872:1: rule__XBasicForLoopExpression__Group__7 : rule__XBasicForLoopExpression__Group__7__Impl rule__XBasicForLoopExpression__Group__8 ;
+    // InternalReportDSL.g:29582:1: rule__XBasicForLoopExpression__Group__7 : rule__XBasicForLoopExpression__Group__7__Impl rule__XBasicForLoopExpression__Group__8 ;
     public final void rule__XBasicForLoopExpression__Group__7() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:29876:1: ( rule__XBasicForLoopExpression__Group__7__Impl rule__XBasicForLoopExpression__Group__8 )
-            // InternalReportDSL.g:29877:2: rule__XBasicForLoopExpression__Group__7__Impl rule__XBasicForLoopExpression__Group__8
+            // InternalReportDSL.g:29586:1: ( rule__XBasicForLoopExpression__Group__7__Impl rule__XBasicForLoopExpression__Group__8 )
+            // InternalReportDSL.g:29587:2: rule__XBasicForLoopExpression__Group__7__Impl rule__XBasicForLoopExpression__Group__8
             {
-            pushFollow(FOLLOW_136);
+            pushFollow(FOLLOW_135);
             rule__XBasicForLoopExpression__Group__7__Impl();
 
             state._fsp--;
@@ -98301,31 +97182,31 @@
 
 
     // $ANTLR start "rule__XBasicForLoopExpression__Group__7__Impl"
-    // InternalReportDSL.g:29884:1: rule__XBasicForLoopExpression__Group__7__Impl : ( ( rule__XBasicForLoopExpression__Group_7__0 )? ) ;
+    // InternalReportDSL.g:29594:1: rule__XBasicForLoopExpression__Group__7__Impl : ( ( rule__XBasicForLoopExpression__Group_7__0 )? ) ;
     public final void rule__XBasicForLoopExpression__Group__7__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:29888:1: ( ( ( rule__XBasicForLoopExpression__Group_7__0 )? ) )
-            // InternalReportDSL.g:29889:1: ( ( rule__XBasicForLoopExpression__Group_7__0 )? )
+            // InternalReportDSL.g:29598:1: ( ( ( rule__XBasicForLoopExpression__Group_7__0 )? ) )
+            // InternalReportDSL.g:29599:1: ( ( rule__XBasicForLoopExpression__Group_7__0 )? )
             {
-            // InternalReportDSL.g:29889:1: ( ( rule__XBasicForLoopExpression__Group_7__0 )? )
-            // InternalReportDSL.g:29890:2: ( rule__XBasicForLoopExpression__Group_7__0 )?
+            // InternalReportDSL.g:29599:1: ( ( rule__XBasicForLoopExpression__Group_7__0 )? )
+            // InternalReportDSL.g:29600:2: ( rule__XBasicForLoopExpression__Group_7__0 )?
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXBasicForLoopExpressionAccess().getGroup_7()); 
             }
-            // InternalReportDSL.g:29891:2: ( rule__XBasicForLoopExpression__Group_7__0 )?
-            int alt217=2;
-            int LA217_0 = input.LA(1);
+            // InternalReportDSL.g:29601:2: ( rule__XBasicForLoopExpression__Group_7__0 )?
+            int alt199=2;
+            int LA199_0 = input.LA(1);
 
-            if ( ((LA217_0>=RULE_STRING && LA217_0<=RULE_DECIMAL)||LA217_0==31||(LA217_0>=38 && LA217_0<=39)||LA217_0==44||(LA217_0>=49 && LA217_0<=54)||LA217_0==125||LA217_0==204||(LA217_0>=230 && LA217_0<=231)||LA217_0==233||LA217_0==235||(LA217_0>=239 && LA217_0<=247)||LA217_0==249||LA217_0==266) ) {
-                alt217=1;
+            if ( ((LA199_0>=RULE_STRING && LA199_0<=RULE_DECIMAL)||LA199_0==31||(LA199_0>=38 && LA199_0<=39)||LA199_0==44||(LA199_0>=49 && LA199_0<=54)||LA199_0==131||LA199_0==211||(LA199_0>=237 && LA199_0<=238)||LA199_0==240||LA199_0==242||(LA199_0>=246 && LA199_0<=254)||LA199_0==256||LA199_0==271) ) {
+                alt199=1;
             }
-            switch (alt217) {
+            switch (alt199) {
                 case 1 :
-                    // InternalReportDSL.g:29891:3: rule__XBasicForLoopExpression__Group_7__0
+                    // InternalReportDSL.g:29601:3: rule__XBasicForLoopExpression__Group_7__0
                     {
                     pushFollow(FOLLOW_2);
                     rule__XBasicForLoopExpression__Group_7__0();
@@ -98363,16 +97244,16 @@
 
 
     // $ANTLR start "rule__XBasicForLoopExpression__Group__8"
-    // InternalReportDSL.g:29899:1: rule__XBasicForLoopExpression__Group__8 : rule__XBasicForLoopExpression__Group__8__Impl rule__XBasicForLoopExpression__Group__9 ;
+    // InternalReportDSL.g:29609:1: rule__XBasicForLoopExpression__Group__8 : rule__XBasicForLoopExpression__Group__8__Impl rule__XBasicForLoopExpression__Group__9 ;
     public final void rule__XBasicForLoopExpression__Group__8() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:29903:1: ( rule__XBasicForLoopExpression__Group__8__Impl rule__XBasicForLoopExpression__Group__9 )
-            // InternalReportDSL.g:29904:2: rule__XBasicForLoopExpression__Group__8__Impl rule__XBasicForLoopExpression__Group__9
+            // InternalReportDSL.g:29613:1: ( rule__XBasicForLoopExpression__Group__8__Impl rule__XBasicForLoopExpression__Group__9 )
+            // InternalReportDSL.g:29614:2: rule__XBasicForLoopExpression__Group__8__Impl rule__XBasicForLoopExpression__Group__9
             {
-            pushFollow(FOLLOW_139);
+            pushFollow(FOLLOW_138);
             rule__XBasicForLoopExpression__Group__8__Impl();
 
             state._fsp--;
@@ -98401,22 +97282,22 @@
 
 
     // $ANTLR start "rule__XBasicForLoopExpression__Group__8__Impl"
-    // InternalReportDSL.g:29911:1: rule__XBasicForLoopExpression__Group__8__Impl : ( ')' ) ;
+    // InternalReportDSL.g:29621:1: rule__XBasicForLoopExpression__Group__8__Impl : ( ')' ) ;
     public final void rule__XBasicForLoopExpression__Group__8__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:29915:1: ( ( ')' ) )
-            // InternalReportDSL.g:29916:1: ( ')' )
+            // InternalReportDSL.g:29625:1: ( ( ')' ) )
+            // InternalReportDSL.g:29626:1: ( ')' )
             {
-            // InternalReportDSL.g:29916:1: ( ')' )
-            // InternalReportDSL.g:29917:2: ')'
+            // InternalReportDSL.g:29626:1: ( ')' )
+            // InternalReportDSL.g:29627:2: ')'
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXBasicForLoopExpressionAccess().getRightParenthesisKeyword_8()); 
             }
-            match(input,205,FOLLOW_2); if (state.failed) return ;
+            match(input,212,FOLLOW_2); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getXBasicForLoopExpressionAccess().getRightParenthesisKeyword_8()); 
             }
@@ -98442,14 +97323,14 @@
 
 
     // $ANTLR start "rule__XBasicForLoopExpression__Group__9"
-    // InternalReportDSL.g:29926:1: rule__XBasicForLoopExpression__Group__9 : rule__XBasicForLoopExpression__Group__9__Impl ;
+    // InternalReportDSL.g:29636:1: rule__XBasicForLoopExpression__Group__9 : rule__XBasicForLoopExpression__Group__9__Impl ;
     public final void rule__XBasicForLoopExpression__Group__9() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:29930:1: ( rule__XBasicForLoopExpression__Group__9__Impl )
-            // InternalReportDSL.g:29931:2: rule__XBasicForLoopExpression__Group__9__Impl
+            // InternalReportDSL.g:29640:1: ( rule__XBasicForLoopExpression__Group__9__Impl )
+            // InternalReportDSL.g:29641:2: rule__XBasicForLoopExpression__Group__9__Impl
             {
             pushFollow(FOLLOW_2);
             rule__XBasicForLoopExpression__Group__9__Impl();
@@ -98475,23 +97356,23 @@
 
 
     // $ANTLR start "rule__XBasicForLoopExpression__Group__9__Impl"
-    // InternalReportDSL.g:29937:1: rule__XBasicForLoopExpression__Group__9__Impl : ( ( rule__XBasicForLoopExpression__EachExpressionAssignment_9 ) ) ;
+    // InternalReportDSL.g:29647:1: rule__XBasicForLoopExpression__Group__9__Impl : ( ( rule__XBasicForLoopExpression__EachExpressionAssignment_9 ) ) ;
     public final void rule__XBasicForLoopExpression__Group__9__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:29941:1: ( ( ( rule__XBasicForLoopExpression__EachExpressionAssignment_9 ) ) )
-            // InternalReportDSL.g:29942:1: ( ( rule__XBasicForLoopExpression__EachExpressionAssignment_9 ) )
+            // InternalReportDSL.g:29651:1: ( ( ( rule__XBasicForLoopExpression__EachExpressionAssignment_9 ) ) )
+            // InternalReportDSL.g:29652:1: ( ( rule__XBasicForLoopExpression__EachExpressionAssignment_9 ) )
             {
-            // InternalReportDSL.g:29942:1: ( ( rule__XBasicForLoopExpression__EachExpressionAssignment_9 ) )
-            // InternalReportDSL.g:29943:2: ( rule__XBasicForLoopExpression__EachExpressionAssignment_9 )
+            // InternalReportDSL.g:29652:1: ( ( rule__XBasicForLoopExpression__EachExpressionAssignment_9 ) )
+            // InternalReportDSL.g:29653:2: ( rule__XBasicForLoopExpression__EachExpressionAssignment_9 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXBasicForLoopExpressionAccess().getEachExpressionAssignment_9()); 
             }
-            // InternalReportDSL.g:29944:2: ( rule__XBasicForLoopExpression__EachExpressionAssignment_9 )
-            // InternalReportDSL.g:29944:3: rule__XBasicForLoopExpression__EachExpressionAssignment_9
+            // InternalReportDSL.g:29654:2: ( rule__XBasicForLoopExpression__EachExpressionAssignment_9 )
+            // InternalReportDSL.g:29654:3: rule__XBasicForLoopExpression__EachExpressionAssignment_9
             {
             pushFollow(FOLLOW_2);
             rule__XBasicForLoopExpression__EachExpressionAssignment_9();
@@ -98526,16 +97407,16 @@
 
 
     // $ANTLR start "rule__XBasicForLoopExpression__Group_3__0"
-    // InternalReportDSL.g:29953:1: rule__XBasicForLoopExpression__Group_3__0 : rule__XBasicForLoopExpression__Group_3__0__Impl rule__XBasicForLoopExpression__Group_3__1 ;
+    // InternalReportDSL.g:29663:1: rule__XBasicForLoopExpression__Group_3__0 : rule__XBasicForLoopExpression__Group_3__0__Impl rule__XBasicForLoopExpression__Group_3__1 ;
     public final void rule__XBasicForLoopExpression__Group_3__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:29957:1: ( rule__XBasicForLoopExpression__Group_3__0__Impl rule__XBasicForLoopExpression__Group_3__1 )
-            // InternalReportDSL.g:29958:2: rule__XBasicForLoopExpression__Group_3__0__Impl rule__XBasicForLoopExpression__Group_3__1
+            // InternalReportDSL.g:29667:1: ( rule__XBasicForLoopExpression__Group_3__0__Impl rule__XBasicForLoopExpression__Group_3__1 )
+            // InternalReportDSL.g:29668:2: rule__XBasicForLoopExpression__Group_3__0__Impl rule__XBasicForLoopExpression__Group_3__1
             {
-            pushFollow(FOLLOW_137);
+            pushFollow(FOLLOW_136);
             rule__XBasicForLoopExpression__Group_3__0__Impl();
 
             state._fsp--;
@@ -98564,23 +97445,23 @@
 
 
     // $ANTLR start "rule__XBasicForLoopExpression__Group_3__0__Impl"
-    // InternalReportDSL.g:29965:1: rule__XBasicForLoopExpression__Group_3__0__Impl : ( ( rule__XBasicForLoopExpression__InitExpressionsAssignment_3_0 ) ) ;
+    // InternalReportDSL.g:29675:1: rule__XBasicForLoopExpression__Group_3__0__Impl : ( ( rule__XBasicForLoopExpression__InitExpressionsAssignment_3_0 ) ) ;
     public final void rule__XBasicForLoopExpression__Group_3__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:29969:1: ( ( ( rule__XBasicForLoopExpression__InitExpressionsAssignment_3_0 ) ) )
-            // InternalReportDSL.g:29970:1: ( ( rule__XBasicForLoopExpression__InitExpressionsAssignment_3_0 ) )
+            // InternalReportDSL.g:29679:1: ( ( ( rule__XBasicForLoopExpression__InitExpressionsAssignment_3_0 ) ) )
+            // InternalReportDSL.g:29680:1: ( ( rule__XBasicForLoopExpression__InitExpressionsAssignment_3_0 ) )
             {
-            // InternalReportDSL.g:29970:1: ( ( rule__XBasicForLoopExpression__InitExpressionsAssignment_3_0 ) )
-            // InternalReportDSL.g:29971:2: ( rule__XBasicForLoopExpression__InitExpressionsAssignment_3_0 )
+            // InternalReportDSL.g:29680:1: ( ( rule__XBasicForLoopExpression__InitExpressionsAssignment_3_0 ) )
+            // InternalReportDSL.g:29681:2: ( rule__XBasicForLoopExpression__InitExpressionsAssignment_3_0 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXBasicForLoopExpressionAccess().getInitExpressionsAssignment_3_0()); 
             }
-            // InternalReportDSL.g:29972:2: ( rule__XBasicForLoopExpression__InitExpressionsAssignment_3_0 )
-            // InternalReportDSL.g:29972:3: rule__XBasicForLoopExpression__InitExpressionsAssignment_3_0
+            // InternalReportDSL.g:29682:2: ( rule__XBasicForLoopExpression__InitExpressionsAssignment_3_0 )
+            // InternalReportDSL.g:29682:3: rule__XBasicForLoopExpression__InitExpressionsAssignment_3_0
             {
             pushFollow(FOLLOW_2);
             rule__XBasicForLoopExpression__InitExpressionsAssignment_3_0();
@@ -98615,14 +97496,14 @@
 
 
     // $ANTLR start "rule__XBasicForLoopExpression__Group_3__1"
-    // InternalReportDSL.g:29980:1: rule__XBasicForLoopExpression__Group_3__1 : rule__XBasicForLoopExpression__Group_3__1__Impl ;
+    // InternalReportDSL.g:29690:1: rule__XBasicForLoopExpression__Group_3__1 : rule__XBasicForLoopExpression__Group_3__1__Impl ;
     public final void rule__XBasicForLoopExpression__Group_3__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:29984:1: ( rule__XBasicForLoopExpression__Group_3__1__Impl )
-            // InternalReportDSL.g:29985:2: rule__XBasicForLoopExpression__Group_3__1__Impl
+            // InternalReportDSL.g:29694:1: ( rule__XBasicForLoopExpression__Group_3__1__Impl )
+            // InternalReportDSL.g:29695:2: rule__XBasicForLoopExpression__Group_3__1__Impl
             {
             pushFollow(FOLLOW_2);
             rule__XBasicForLoopExpression__Group_3__1__Impl();
@@ -98648,37 +97529,37 @@
 
 
     // $ANTLR start "rule__XBasicForLoopExpression__Group_3__1__Impl"
-    // InternalReportDSL.g:29991:1: rule__XBasicForLoopExpression__Group_3__1__Impl : ( ( rule__XBasicForLoopExpression__Group_3_1__0 )* ) ;
+    // InternalReportDSL.g:29701:1: rule__XBasicForLoopExpression__Group_3__1__Impl : ( ( rule__XBasicForLoopExpression__Group_3_1__0 )* ) ;
     public final void rule__XBasicForLoopExpression__Group_3__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:29995:1: ( ( ( rule__XBasicForLoopExpression__Group_3_1__0 )* ) )
-            // InternalReportDSL.g:29996:1: ( ( rule__XBasicForLoopExpression__Group_3_1__0 )* )
+            // InternalReportDSL.g:29705:1: ( ( ( rule__XBasicForLoopExpression__Group_3_1__0 )* ) )
+            // InternalReportDSL.g:29706:1: ( ( rule__XBasicForLoopExpression__Group_3_1__0 )* )
             {
-            // InternalReportDSL.g:29996:1: ( ( rule__XBasicForLoopExpression__Group_3_1__0 )* )
-            // InternalReportDSL.g:29997:2: ( rule__XBasicForLoopExpression__Group_3_1__0 )*
+            // InternalReportDSL.g:29706:1: ( ( rule__XBasicForLoopExpression__Group_3_1__0 )* )
+            // InternalReportDSL.g:29707:2: ( rule__XBasicForLoopExpression__Group_3_1__0 )*
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXBasicForLoopExpressionAccess().getGroup_3_1()); 
             }
-            // InternalReportDSL.g:29998:2: ( rule__XBasicForLoopExpression__Group_3_1__0 )*
-            loop218:
+            // InternalReportDSL.g:29708:2: ( rule__XBasicForLoopExpression__Group_3_1__0 )*
+            loop200:
             do {
-                int alt218=2;
-                int LA218_0 = input.LA(1);
+                int alt200=2;
+                int LA200_0 = input.LA(1);
 
-                if ( (LA218_0==228) ) {
-                    alt218=1;
+                if ( (LA200_0==235) ) {
+                    alt200=1;
                 }
 
 
-                switch (alt218) {
+                switch (alt200) {
             	case 1 :
-            	    // InternalReportDSL.g:29998:3: rule__XBasicForLoopExpression__Group_3_1__0
+            	    // InternalReportDSL.g:29708:3: rule__XBasicForLoopExpression__Group_3_1__0
             	    {
-            	    pushFollow(FOLLOW_138);
+            	    pushFollow(FOLLOW_137);
             	    rule__XBasicForLoopExpression__Group_3_1__0();
 
             	    state._fsp--;
@@ -98688,7 +97569,7 @@
             	    break;
 
             	default :
-            	    break loop218;
+            	    break loop200;
                 }
             } while (true);
 
@@ -98717,16 +97598,16 @@
 
 
     // $ANTLR start "rule__XBasicForLoopExpression__Group_3_1__0"
-    // InternalReportDSL.g:30007:1: rule__XBasicForLoopExpression__Group_3_1__0 : rule__XBasicForLoopExpression__Group_3_1__0__Impl rule__XBasicForLoopExpression__Group_3_1__1 ;
+    // InternalReportDSL.g:29717:1: rule__XBasicForLoopExpression__Group_3_1__0 : rule__XBasicForLoopExpression__Group_3_1__0__Impl rule__XBasicForLoopExpression__Group_3_1__1 ;
     public final void rule__XBasicForLoopExpression__Group_3_1__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:30011:1: ( rule__XBasicForLoopExpression__Group_3_1__0__Impl rule__XBasicForLoopExpression__Group_3_1__1 )
-            // InternalReportDSL.g:30012:2: rule__XBasicForLoopExpression__Group_3_1__0__Impl rule__XBasicForLoopExpression__Group_3_1__1
+            // InternalReportDSL.g:29721:1: ( rule__XBasicForLoopExpression__Group_3_1__0__Impl rule__XBasicForLoopExpression__Group_3_1__1 )
+            // InternalReportDSL.g:29722:2: rule__XBasicForLoopExpression__Group_3_1__0__Impl rule__XBasicForLoopExpression__Group_3_1__1
             {
-            pushFollow(FOLLOW_195);
+            pushFollow(FOLLOW_193);
             rule__XBasicForLoopExpression__Group_3_1__0__Impl();
 
             state._fsp--;
@@ -98755,22 +97636,22 @@
 
 
     // $ANTLR start "rule__XBasicForLoopExpression__Group_3_1__0__Impl"
-    // InternalReportDSL.g:30019:1: rule__XBasicForLoopExpression__Group_3_1__0__Impl : ( ',' ) ;
+    // InternalReportDSL.g:29729:1: rule__XBasicForLoopExpression__Group_3_1__0__Impl : ( ',' ) ;
     public final void rule__XBasicForLoopExpression__Group_3_1__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:30023:1: ( ( ',' ) )
-            // InternalReportDSL.g:30024:1: ( ',' )
+            // InternalReportDSL.g:29733:1: ( ( ',' ) )
+            // InternalReportDSL.g:29734:1: ( ',' )
             {
-            // InternalReportDSL.g:30024:1: ( ',' )
-            // InternalReportDSL.g:30025:2: ','
+            // InternalReportDSL.g:29734:1: ( ',' )
+            // InternalReportDSL.g:29735:2: ','
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXBasicForLoopExpressionAccess().getCommaKeyword_3_1_0()); 
             }
-            match(input,228,FOLLOW_2); if (state.failed) return ;
+            match(input,235,FOLLOW_2); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getXBasicForLoopExpressionAccess().getCommaKeyword_3_1_0()); 
             }
@@ -98796,14 +97677,14 @@
 
 
     // $ANTLR start "rule__XBasicForLoopExpression__Group_3_1__1"
-    // InternalReportDSL.g:30034:1: rule__XBasicForLoopExpression__Group_3_1__1 : rule__XBasicForLoopExpression__Group_3_1__1__Impl ;
+    // InternalReportDSL.g:29744:1: rule__XBasicForLoopExpression__Group_3_1__1 : rule__XBasicForLoopExpression__Group_3_1__1__Impl ;
     public final void rule__XBasicForLoopExpression__Group_3_1__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:30038:1: ( rule__XBasicForLoopExpression__Group_3_1__1__Impl )
-            // InternalReportDSL.g:30039:2: rule__XBasicForLoopExpression__Group_3_1__1__Impl
+            // InternalReportDSL.g:29748:1: ( rule__XBasicForLoopExpression__Group_3_1__1__Impl )
+            // InternalReportDSL.g:29749:2: rule__XBasicForLoopExpression__Group_3_1__1__Impl
             {
             pushFollow(FOLLOW_2);
             rule__XBasicForLoopExpression__Group_3_1__1__Impl();
@@ -98829,23 +97710,23 @@
 
 
     // $ANTLR start "rule__XBasicForLoopExpression__Group_3_1__1__Impl"
-    // InternalReportDSL.g:30045:1: rule__XBasicForLoopExpression__Group_3_1__1__Impl : ( ( rule__XBasicForLoopExpression__InitExpressionsAssignment_3_1_1 ) ) ;
+    // InternalReportDSL.g:29755:1: rule__XBasicForLoopExpression__Group_3_1__1__Impl : ( ( rule__XBasicForLoopExpression__InitExpressionsAssignment_3_1_1 ) ) ;
     public final void rule__XBasicForLoopExpression__Group_3_1__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:30049:1: ( ( ( rule__XBasicForLoopExpression__InitExpressionsAssignment_3_1_1 ) ) )
-            // InternalReportDSL.g:30050:1: ( ( rule__XBasicForLoopExpression__InitExpressionsAssignment_3_1_1 ) )
+            // InternalReportDSL.g:29759:1: ( ( ( rule__XBasicForLoopExpression__InitExpressionsAssignment_3_1_1 ) ) )
+            // InternalReportDSL.g:29760:1: ( ( rule__XBasicForLoopExpression__InitExpressionsAssignment_3_1_1 ) )
             {
-            // InternalReportDSL.g:30050:1: ( ( rule__XBasicForLoopExpression__InitExpressionsAssignment_3_1_1 ) )
-            // InternalReportDSL.g:30051:2: ( rule__XBasicForLoopExpression__InitExpressionsAssignment_3_1_1 )
+            // InternalReportDSL.g:29760:1: ( ( rule__XBasicForLoopExpression__InitExpressionsAssignment_3_1_1 ) )
+            // InternalReportDSL.g:29761:2: ( rule__XBasicForLoopExpression__InitExpressionsAssignment_3_1_1 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXBasicForLoopExpressionAccess().getInitExpressionsAssignment_3_1_1()); 
             }
-            // InternalReportDSL.g:30052:2: ( rule__XBasicForLoopExpression__InitExpressionsAssignment_3_1_1 )
-            // InternalReportDSL.g:30052:3: rule__XBasicForLoopExpression__InitExpressionsAssignment_3_1_1
+            // InternalReportDSL.g:29762:2: ( rule__XBasicForLoopExpression__InitExpressionsAssignment_3_1_1 )
+            // InternalReportDSL.g:29762:3: rule__XBasicForLoopExpression__InitExpressionsAssignment_3_1_1
             {
             pushFollow(FOLLOW_2);
             rule__XBasicForLoopExpression__InitExpressionsAssignment_3_1_1();
@@ -98880,16 +97761,16 @@
 
 
     // $ANTLR start "rule__XBasicForLoopExpression__Group_7__0"
-    // InternalReportDSL.g:30061:1: rule__XBasicForLoopExpression__Group_7__0 : rule__XBasicForLoopExpression__Group_7__0__Impl rule__XBasicForLoopExpression__Group_7__1 ;
+    // InternalReportDSL.g:29771:1: rule__XBasicForLoopExpression__Group_7__0 : rule__XBasicForLoopExpression__Group_7__0__Impl rule__XBasicForLoopExpression__Group_7__1 ;
     public final void rule__XBasicForLoopExpression__Group_7__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:30065:1: ( rule__XBasicForLoopExpression__Group_7__0__Impl rule__XBasicForLoopExpression__Group_7__1 )
-            // InternalReportDSL.g:30066:2: rule__XBasicForLoopExpression__Group_7__0__Impl rule__XBasicForLoopExpression__Group_7__1
+            // InternalReportDSL.g:29775:1: ( rule__XBasicForLoopExpression__Group_7__0__Impl rule__XBasicForLoopExpression__Group_7__1 )
+            // InternalReportDSL.g:29776:2: rule__XBasicForLoopExpression__Group_7__0__Impl rule__XBasicForLoopExpression__Group_7__1
             {
-            pushFollow(FOLLOW_137);
+            pushFollow(FOLLOW_136);
             rule__XBasicForLoopExpression__Group_7__0__Impl();
 
             state._fsp--;
@@ -98918,23 +97799,23 @@
 
 
     // $ANTLR start "rule__XBasicForLoopExpression__Group_7__0__Impl"
-    // InternalReportDSL.g:30073:1: rule__XBasicForLoopExpression__Group_7__0__Impl : ( ( rule__XBasicForLoopExpression__UpdateExpressionsAssignment_7_0 ) ) ;
+    // InternalReportDSL.g:29783:1: rule__XBasicForLoopExpression__Group_7__0__Impl : ( ( rule__XBasicForLoopExpression__UpdateExpressionsAssignment_7_0 ) ) ;
     public final void rule__XBasicForLoopExpression__Group_7__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:30077:1: ( ( ( rule__XBasicForLoopExpression__UpdateExpressionsAssignment_7_0 ) ) )
-            // InternalReportDSL.g:30078:1: ( ( rule__XBasicForLoopExpression__UpdateExpressionsAssignment_7_0 ) )
+            // InternalReportDSL.g:29787:1: ( ( ( rule__XBasicForLoopExpression__UpdateExpressionsAssignment_7_0 ) ) )
+            // InternalReportDSL.g:29788:1: ( ( rule__XBasicForLoopExpression__UpdateExpressionsAssignment_7_0 ) )
             {
-            // InternalReportDSL.g:30078:1: ( ( rule__XBasicForLoopExpression__UpdateExpressionsAssignment_7_0 ) )
-            // InternalReportDSL.g:30079:2: ( rule__XBasicForLoopExpression__UpdateExpressionsAssignment_7_0 )
+            // InternalReportDSL.g:29788:1: ( ( rule__XBasicForLoopExpression__UpdateExpressionsAssignment_7_0 ) )
+            // InternalReportDSL.g:29789:2: ( rule__XBasicForLoopExpression__UpdateExpressionsAssignment_7_0 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXBasicForLoopExpressionAccess().getUpdateExpressionsAssignment_7_0()); 
             }
-            // InternalReportDSL.g:30080:2: ( rule__XBasicForLoopExpression__UpdateExpressionsAssignment_7_0 )
-            // InternalReportDSL.g:30080:3: rule__XBasicForLoopExpression__UpdateExpressionsAssignment_7_0
+            // InternalReportDSL.g:29790:2: ( rule__XBasicForLoopExpression__UpdateExpressionsAssignment_7_0 )
+            // InternalReportDSL.g:29790:3: rule__XBasicForLoopExpression__UpdateExpressionsAssignment_7_0
             {
             pushFollow(FOLLOW_2);
             rule__XBasicForLoopExpression__UpdateExpressionsAssignment_7_0();
@@ -98969,14 +97850,14 @@
 
 
     // $ANTLR start "rule__XBasicForLoopExpression__Group_7__1"
-    // InternalReportDSL.g:30088:1: rule__XBasicForLoopExpression__Group_7__1 : rule__XBasicForLoopExpression__Group_7__1__Impl ;
+    // InternalReportDSL.g:29798:1: rule__XBasicForLoopExpression__Group_7__1 : rule__XBasicForLoopExpression__Group_7__1__Impl ;
     public final void rule__XBasicForLoopExpression__Group_7__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:30092:1: ( rule__XBasicForLoopExpression__Group_7__1__Impl )
-            // InternalReportDSL.g:30093:2: rule__XBasicForLoopExpression__Group_7__1__Impl
+            // InternalReportDSL.g:29802:1: ( rule__XBasicForLoopExpression__Group_7__1__Impl )
+            // InternalReportDSL.g:29803:2: rule__XBasicForLoopExpression__Group_7__1__Impl
             {
             pushFollow(FOLLOW_2);
             rule__XBasicForLoopExpression__Group_7__1__Impl();
@@ -99002,37 +97883,37 @@
 
 
     // $ANTLR start "rule__XBasicForLoopExpression__Group_7__1__Impl"
-    // InternalReportDSL.g:30099:1: rule__XBasicForLoopExpression__Group_7__1__Impl : ( ( rule__XBasicForLoopExpression__Group_7_1__0 )* ) ;
+    // InternalReportDSL.g:29809:1: rule__XBasicForLoopExpression__Group_7__1__Impl : ( ( rule__XBasicForLoopExpression__Group_7_1__0 )* ) ;
     public final void rule__XBasicForLoopExpression__Group_7__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:30103:1: ( ( ( rule__XBasicForLoopExpression__Group_7_1__0 )* ) )
-            // InternalReportDSL.g:30104:1: ( ( rule__XBasicForLoopExpression__Group_7_1__0 )* )
+            // InternalReportDSL.g:29813:1: ( ( ( rule__XBasicForLoopExpression__Group_7_1__0 )* ) )
+            // InternalReportDSL.g:29814:1: ( ( rule__XBasicForLoopExpression__Group_7_1__0 )* )
             {
-            // InternalReportDSL.g:30104:1: ( ( rule__XBasicForLoopExpression__Group_7_1__0 )* )
-            // InternalReportDSL.g:30105:2: ( rule__XBasicForLoopExpression__Group_7_1__0 )*
+            // InternalReportDSL.g:29814:1: ( ( rule__XBasicForLoopExpression__Group_7_1__0 )* )
+            // InternalReportDSL.g:29815:2: ( rule__XBasicForLoopExpression__Group_7_1__0 )*
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXBasicForLoopExpressionAccess().getGroup_7_1()); 
             }
-            // InternalReportDSL.g:30106:2: ( rule__XBasicForLoopExpression__Group_7_1__0 )*
-            loop219:
+            // InternalReportDSL.g:29816:2: ( rule__XBasicForLoopExpression__Group_7_1__0 )*
+            loop201:
             do {
-                int alt219=2;
-                int LA219_0 = input.LA(1);
+                int alt201=2;
+                int LA201_0 = input.LA(1);
 
-                if ( (LA219_0==228) ) {
-                    alt219=1;
+                if ( (LA201_0==235) ) {
+                    alt201=1;
                 }
 
 
-                switch (alt219) {
+                switch (alt201) {
             	case 1 :
-            	    // InternalReportDSL.g:30106:3: rule__XBasicForLoopExpression__Group_7_1__0
+            	    // InternalReportDSL.g:29816:3: rule__XBasicForLoopExpression__Group_7_1__0
             	    {
-            	    pushFollow(FOLLOW_138);
+            	    pushFollow(FOLLOW_137);
             	    rule__XBasicForLoopExpression__Group_7_1__0();
 
             	    state._fsp--;
@@ -99042,7 +97923,7 @@
             	    break;
 
             	default :
-            	    break loop219;
+            	    break loop201;
                 }
             } while (true);
 
@@ -99071,16 +97952,16 @@
 
 
     // $ANTLR start "rule__XBasicForLoopExpression__Group_7_1__0"
-    // InternalReportDSL.g:30115:1: rule__XBasicForLoopExpression__Group_7_1__0 : rule__XBasicForLoopExpression__Group_7_1__0__Impl rule__XBasicForLoopExpression__Group_7_1__1 ;
+    // InternalReportDSL.g:29825:1: rule__XBasicForLoopExpression__Group_7_1__0 : rule__XBasicForLoopExpression__Group_7_1__0__Impl rule__XBasicForLoopExpression__Group_7_1__1 ;
     public final void rule__XBasicForLoopExpression__Group_7_1__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:30119:1: ( rule__XBasicForLoopExpression__Group_7_1__0__Impl rule__XBasicForLoopExpression__Group_7_1__1 )
-            // InternalReportDSL.g:30120:2: rule__XBasicForLoopExpression__Group_7_1__0__Impl rule__XBasicForLoopExpression__Group_7_1__1
+            // InternalReportDSL.g:29829:1: ( rule__XBasicForLoopExpression__Group_7_1__0__Impl rule__XBasicForLoopExpression__Group_7_1__1 )
+            // InternalReportDSL.g:29830:2: rule__XBasicForLoopExpression__Group_7_1__0__Impl rule__XBasicForLoopExpression__Group_7_1__1
             {
-            pushFollow(FOLLOW_139);
+            pushFollow(FOLLOW_138);
             rule__XBasicForLoopExpression__Group_7_1__0__Impl();
 
             state._fsp--;
@@ -99109,22 +97990,22 @@
 
 
     // $ANTLR start "rule__XBasicForLoopExpression__Group_7_1__0__Impl"
-    // InternalReportDSL.g:30127:1: rule__XBasicForLoopExpression__Group_7_1__0__Impl : ( ',' ) ;
+    // InternalReportDSL.g:29837:1: rule__XBasicForLoopExpression__Group_7_1__0__Impl : ( ',' ) ;
     public final void rule__XBasicForLoopExpression__Group_7_1__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:30131:1: ( ( ',' ) )
-            // InternalReportDSL.g:30132:1: ( ',' )
+            // InternalReportDSL.g:29841:1: ( ( ',' ) )
+            // InternalReportDSL.g:29842:1: ( ',' )
             {
-            // InternalReportDSL.g:30132:1: ( ',' )
-            // InternalReportDSL.g:30133:2: ','
+            // InternalReportDSL.g:29842:1: ( ',' )
+            // InternalReportDSL.g:29843:2: ','
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXBasicForLoopExpressionAccess().getCommaKeyword_7_1_0()); 
             }
-            match(input,228,FOLLOW_2); if (state.failed) return ;
+            match(input,235,FOLLOW_2); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getXBasicForLoopExpressionAccess().getCommaKeyword_7_1_0()); 
             }
@@ -99150,14 +98031,14 @@
 
 
     // $ANTLR start "rule__XBasicForLoopExpression__Group_7_1__1"
-    // InternalReportDSL.g:30142:1: rule__XBasicForLoopExpression__Group_7_1__1 : rule__XBasicForLoopExpression__Group_7_1__1__Impl ;
+    // InternalReportDSL.g:29852:1: rule__XBasicForLoopExpression__Group_7_1__1 : rule__XBasicForLoopExpression__Group_7_1__1__Impl ;
     public final void rule__XBasicForLoopExpression__Group_7_1__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:30146:1: ( rule__XBasicForLoopExpression__Group_7_1__1__Impl )
-            // InternalReportDSL.g:30147:2: rule__XBasicForLoopExpression__Group_7_1__1__Impl
+            // InternalReportDSL.g:29856:1: ( rule__XBasicForLoopExpression__Group_7_1__1__Impl )
+            // InternalReportDSL.g:29857:2: rule__XBasicForLoopExpression__Group_7_1__1__Impl
             {
             pushFollow(FOLLOW_2);
             rule__XBasicForLoopExpression__Group_7_1__1__Impl();
@@ -99183,23 +98064,23 @@
 
 
     // $ANTLR start "rule__XBasicForLoopExpression__Group_7_1__1__Impl"
-    // InternalReportDSL.g:30153:1: rule__XBasicForLoopExpression__Group_7_1__1__Impl : ( ( rule__XBasicForLoopExpression__UpdateExpressionsAssignment_7_1_1 ) ) ;
+    // InternalReportDSL.g:29863:1: rule__XBasicForLoopExpression__Group_7_1__1__Impl : ( ( rule__XBasicForLoopExpression__UpdateExpressionsAssignment_7_1_1 ) ) ;
     public final void rule__XBasicForLoopExpression__Group_7_1__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:30157:1: ( ( ( rule__XBasicForLoopExpression__UpdateExpressionsAssignment_7_1_1 ) ) )
-            // InternalReportDSL.g:30158:1: ( ( rule__XBasicForLoopExpression__UpdateExpressionsAssignment_7_1_1 ) )
+            // InternalReportDSL.g:29867:1: ( ( ( rule__XBasicForLoopExpression__UpdateExpressionsAssignment_7_1_1 ) ) )
+            // InternalReportDSL.g:29868:1: ( ( rule__XBasicForLoopExpression__UpdateExpressionsAssignment_7_1_1 ) )
             {
-            // InternalReportDSL.g:30158:1: ( ( rule__XBasicForLoopExpression__UpdateExpressionsAssignment_7_1_1 ) )
-            // InternalReportDSL.g:30159:2: ( rule__XBasicForLoopExpression__UpdateExpressionsAssignment_7_1_1 )
+            // InternalReportDSL.g:29868:1: ( ( rule__XBasicForLoopExpression__UpdateExpressionsAssignment_7_1_1 ) )
+            // InternalReportDSL.g:29869:2: ( rule__XBasicForLoopExpression__UpdateExpressionsAssignment_7_1_1 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXBasicForLoopExpressionAccess().getUpdateExpressionsAssignment_7_1_1()); 
             }
-            // InternalReportDSL.g:30160:2: ( rule__XBasicForLoopExpression__UpdateExpressionsAssignment_7_1_1 )
-            // InternalReportDSL.g:30160:3: rule__XBasicForLoopExpression__UpdateExpressionsAssignment_7_1_1
+            // InternalReportDSL.g:29870:2: ( rule__XBasicForLoopExpression__UpdateExpressionsAssignment_7_1_1 )
+            // InternalReportDSL.g:29870:3: rule__XBasicForLoopExpression__UpdateExpressionsAssignment_7_1_1
             {
             pushFollow(FOLLOW_2);
             rule__XBasicForLoopExpression__UpdateExpressionsAssignment_7_1_1();
@@ -99234,16 +98115,16 @@
 
 
     // $ANTLR start "rule__XWhileExpression__Group__0"
-    // InternalReportDSL.g:30169:1: rule__XWhileExpression__Group__0 : rule__XWhileExpression__Group__0__Impl rule__XWhileExpression__Group__1 ;
+    // InternalReportDSL.g:29879:1: rule__XWhileExpression__Group__0 : rule__XWhileExpression__Group__0__Impl rule__XWhileExpression__Group__1 ;
     public final void rule__XWhileExpression__Group__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:30173:1: ( rule__XWhileExpression__Group__0__Impl rule__XWhileExpression__Group__1 )
-            // InternalReportDSL.g:30174:2: rule__XWhileExpression__Group__0__Impl rule__XWhileExpression__Group__1
+            // InternalReportDSL.g:29883:1: ( rule__XWhileExpression__Group__0__Impl rule__XWhileExpression__Group__1 )
+            // InternalReportDSL.g:29884:2: rule__XWhileExpression__Group__0__Impl rule__XWhileExpression__Group__1
             {
-            pushFollow(FOLLOW_196);
+            pushFollow(FOLLOW_194);
             rule__XWhileExpression__Group__0__Impl();
 
             state._fsp--;
@@ -99272,23 +98153,23 @@
 
 
     // $ANTLR start "rule__XWhileExpression__Group__0__Impl"
-    // InternalReportDSL.g:30181:1: rule__XWhileExpression__Group__0__Impl : ( () ) ;
+    // InternalReportDSL.g:29891:1: rule__XWhileExpression__Group__0__Impl : ( () ) ;
     public final void rule__XWhileExpression__Group__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:30185:1: ( ( () ) )
-            // InternalReportDSL.g:30186:1: ( () )
+            // InternalReportDSL.g:29895:1: ( ( () ) )
+            // InternalReportDSL.g:29896:1: ( () )
             {
-            // InternalReportDSL.g:30186:1: ( () )
-            // InternalReportDSL.g:30187:2: ()
+            // InternalReportDSL.g:29896:1: ( () )
+            // InternalReportDSL.g:29897:2: ()
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXWhileExpressionAccess().getXWhileExpressionAction_0()); 
             }
-            // InternalReportDSL.g:30188:2: ()
-            // InternalReportDSL.g:30188:3: 
+            // InternalReportDSL.g:29898:2: ()
+            // InternalReportDSL.g:29898:3: 
             {
             }
 
@@ -99313,16 +98194,16 @@
 
 
     // $ANTLR start "rule__XWhileExpression__Group__1"
-    // InternalReportDSL.g:30196:1: rule__XWhileExpression__Group__1 : rule__XWhileExpression__Group__1__Impl rule__XWhileExpression__Group__2 ;
+    // InternalReportDSL.g:29906:1: rule__XWhileExpression__Group__1 : rule__XWhileExpression__Group__1__Impl rule__XWhileExpression__Group__2 ;
     public final void rule__XWhileExpression__Group__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:30200:1: ( rule__XWhileExpression__Group__1__Impl rule__XWhileExpression__Group__2 )
-            // InternalReportDSL.g:30201:2: rule__XWhileExpression__Group__1__Impl rule__XWhileExpression__Group__2
+            // InternalReportDSL.g:29910:1: ( rule__XWhileExpression__Group__1__Impl rule__XWhileExpression__Group__2 )
+            // InternalReportDSL.g:29911:2: rule__XWhileExpression__Group__1__Impl rule__XWhileExpression__Group__2
             {
-            pushFollow(FOLLOW_104);
+            pushFollow(FOLLOW_103);
             rule__XWhileExpression__Group__1__Impl();
 
             state._fsp--;
@@ -99351,22 +98232,22 @@
 
 
     // $ANTLR start "rule__XWhileExpression__Group__1__Impl"
-    // InternalReportDSL.g:30208:1: rule__XWhileExpression__Group__1__Impl : ( 'while' ) ;
+    // InternalReportDSL.g:29918:1: rule__XWhileExpression__Group__1__Impl : ( 'while' ) ;
     public final void rule__XWhileExpression__Group__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:30212:1: ( ( 'while' ) )
-            // InternalReportDSL.g:30213:1: ( 'while' )
+            // InternalReportDSL.g:29922:1: ( ( 'while' ) )
+            // InternalReportDSL.g:29923:1: ( 'while' )
             {
-            // InternalReportDSL.g:30213:1: ( 'while' )
-            // InternalReportDSL.g:30214:2: 'while'
+            // InternalReportDSL.g:29923:1: ( 'while' )
+            // InternalReportDSL.g:29924:2: 'while'
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXWhileExpressionAccess().getWhileKeyword_1()); 
             }
-            match(input,240,FOLLOW_2); if (state.failed) return ;
+            match(input,247,FOLLOW_2); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getXWhileExpressionAccess().getWhileKeyword_1()); 
             }
@@ -99392,16 +98273,16 @@
 
 
     // $ANTLR start "rule__XWhileExpression__Group__2"
-    // InternalReportDSL.g:30223:1: rule__XWhileExpression__Group__2 : rule__XWhileExpression__Group__2__Impl rule__XWhileExpression__Group__3 ;
+    // InternalReportDSL.g:29933:1: rule__XWhileExpression__Group__2 : rule__XWhileExpression__Group__2__Impl rule__XWhileExpression__Group__3 ;
     public final void rule__XWhileExpression__Group__2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:30227:1: ( rule__XWhileExpression__Group__2__Impl rule__XWhileExpression__Group__3 )
-            // InternalReportDSL.g:30228:2: rule__XWhileExpression__Group__2__Impl rule__XWhileExpression__Group__3
+            // InternalReportDSL.g:29937:1: ( rule__XWhileExpression__Group__2__Impl rule__XWhileExpression__Group__3 )
+            // InternalReportDSL.g:29938:2: rule__XWhileExpression__Group__2__Impl rule__XWhileExpression__Group__3
             {
-            pushFollow(FOLLOW_139);
+            pushFollow(FOLLOW_138);
             rule__XWhileExpression__Group__2__Impl();
 
             state._fsp--;
@@ -99430,22 +98311,22 @@
 
 
     // $ANTLR start "rule__XWhileExpression__Group__2__Impl"
-    // InternalReportDSL.g:30235:1: rule__XWhileExpression__Group__2__Impl : ( '(' ) ;
+    // InternalReportDSL.g:29945:1: rule__XWhileExpression__Group__2__Impl : ( '(' ) ;
     public final void rule__XWhileExpression__Group__2__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:30239:1: ( ( '(' ) )
-            // InternalReportDSL.g:30240:1: ( '(' )
+            // InternalReportDSL.g:29949:1: ( ( '(' ) )
+            // InternalReportDSL.g:29950:1: ( '(' )
             {
-            // InternalReportDSL.g:30240:1: ( '(' )
-            // InternalReportDSL.g:30241:2: '('
+            // InternalReportDSL.g:29950:1: ( '(' )
+            // InternalReportDSL.g:29951:2: '('
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXWhileExpressionAccess().getLeftParenthesisKeyword_2()); 
             }
-            match(input,204,FOLLOW_2); if (state.failed) return ;
+            match(input,211,FOLLOW_2); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getXWhileExpressionAccess().getLeftParenthesisKeyword_2()); 
             }
@@ -99471,16 +98352,16 @@
 
 
     // $ANTLR start "rule__XWhileExpression__Group__3"
-    // InternalReportDSL.g:30250:1: rule__XWhileExpression__Group__3 : rule__XWhileExpression__Group__3__Impl rule__XWhileExpression__Group__4 ;
+    // InternalReportDSL.g:29960:1: rule__XWhileExpression__Group__3 : rule__XWhileExpression__Group__3__Impl rule__XWhileExpression__Group__4 ;
     public final void rule__XWhileExpression__Group__3() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:30254:1: ( rule__XWhileExpression__Group__3__Impl rule__XWhileExpression__Group__4 )
-            // InternalReportDSL.g:30255:2: rule__XWhileExpression__Group__3__Impl rule__XWhileExpression__Group__4
+            // InternalReportDSL.g:29964:1: ( rule__XWhileExpression__Group__3__Impl rule__XWhileExpression__Group__4 )
+            // InternalReportDSL.g:29965:2: rule__XWhileExpression__Group__3__Impl rule__XWhileExpression__Group__4
             {
-            pushFollow(FOLLOW_113);
+            pushFollow(FOLLOW_112);
             rule__XWhileExpression__Group__3__Impl();
 
             state._fsp--;
@@ -99509,23 +98390,23 @@
 
 
     // $ANTLR start "rule__XWhileExpression__Group__3__Impl"
-    // InternalReportDSL.g:30262:1: rule__XWhileExpression__Group__3__Impl : ( ( rule__XWhileExpression__PredicateAssignment_3 ) ) ;
+    // InternalReportDSL.g:29972:1: rule__XWhileExpression__Group__3__Impl : ( ( rule__XWhileExpression__PredicateAssignment_3 ) ) ;
     public final void rule__XWhileExpression__Group__3__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:30266:1: ( ( ( rule__XWhileExpression__PredicateAssignment_3 ) ) )
-            // InternalReportDSL.g:30267:1: ( ( rule__XWhileExpression__PredicateAssignment_3 ) )
+            // InternalReportDSL.g:29976:1: ( ( ( rule__XWhileExpression__PredicateAssignment_3 ) ) )
+            // InternalReportDSL.g:29977:1: ( ( rule__XWhileExpression__PredicateAssignment_3 ) )
             {
-            // InternalReportDSL.g:30267:1: ( ( rule__XWhileExpression__PredicateAssignment_3 ) )
-            // InternalReportDSL.g:30268:2: ( rule__XWhileExpression__PredicateAssignment_3 )
+            // InternalReportDSL.g:29977:1: ( ( rule__XWhileExpression__PredicateAssignment_3 ) )
+            // InternalReportDSL.g:29978:2: ( rule__XWhileExpression__PredicateAssignment_3 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXWhileExpressionAccess().getPredicateAssignment_3()); 
             }
-            // InternalReportDSL.g:30269:2: ( rule__XWhileExpression__PredicateAssignment_3 )
-            // InternalReportDSL.g:30269:3: rule__XWhileExpression__PredicateAssignment_3
+            // InternalReportDSL.g:29979:2: ( rule__XWhileExpression__PredicateAssignment_3 )
+            // InternalReportDSL.g:29979:3: rule__XWhileExpression__PredicateAssignment_3
             {
             pushFollow(FOLLOW_2);
             rule__XWhileExpression__PredicateAssignment_3();
@@ -99560,16 +98441,16 @@
 
 
     // $ANTLR start "rule__XWhileExpression__Group__4"
-    // InternalReportDSL.g:30277:1: rule__XWhileExpression__Group__4 : rule__XWhileExpression__Group__4__Impl rule__XWhileExpression__Group__5 ;
+    // InternalReportDSL.g:29987:1: rule__XWhileExpression__Group__4 : rule__XWhileExpression__Group__4__Impl rule__XWhileExpression__Group__5 ;
     public final void rule__XWhileExpression__Group__4() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:30281:1: ( rule__XWhileExpression__Group__4__Impl rule__XWhileExpression__Group__5 )
-            // InternalReportDSL.g:30282:2: rule__XWhileExpression__Group__4__Impl rule__XWhileExpression__Group__5
+            // InternalReportDSL.g:29991:1: ( rule__XWhileExpression__Group__4__Impl rule__XWhileExpression__Group__5 )
+            // InternalReportDSL.g:29992:2: rule__XWhileExpression__Group__4__Impl rule__XWhileExpression__Group__5
             {
-            pushFollow(FOLLOW_139);
+            pushFollow(FOLLOW_138);
             rule__XWhileExpression__Group__4__Impl();
 
             state._fsp--;
@@ -99598,22 +98479,22 @@
 
 
     // $ANTLR start "rule__XWhileExpression__Group__4__Impl"
-    // InternalReportDSL.g:30289:1: rule__XWhileExpression__Group__4__Impl : ( ')' ) ;
+    // InternalReportDSL.g:29999:1: rule__XWhileExpression__Group__4__Impl : ( ')' ) ;
     public final void rule__XWhileExpression__Group__4__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:30293:1: ( ( ')' ) )
-            // InternalReportDSL.g:30294:1: ( ')' )
+            // InternalReportDSL.g:30003:1: ( ( ')' ) )
+            // InternalReportDSL.g:30004:1: ( ')' )
             {
-            // InternalReportDSL.g:30294:1: ( ')' )
-            // InternalReportDSL.g:30295:2: ')'
+            // InternalReportDSL.g:30004:1: ( ')' )
+            // InternalReportDSL.g:30005:2: ')'
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXWhileExpressionAccess().getRightParenthesisKeyword_4()); 
             }
-            match(input,205,FOLLOW_2); if (state.failed) return ;
+            match(input,212,FOLLOW_2); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getXWhileExpressionAccess().getRightParenthesisKeyword_4()); 
             }
@@ -99639,14 +98520,14 @@
 
 
     // $ANTLR start "rule__XWhileExpression__Group__5"
-    // InternalReportDSL.g:30304:1: rule__XWhileExpression__Group__5 : rule__XWhileExpression__Group__5__Impl ;
+    // InternalReportDSL.g:30014:1: rule__XWhileExpression__Group__5 : rule__XWhileExpression__Group__5__Impl ;
     public final void rule__XWhileExpression__Group__5() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:30308:1: ( rule__XWhileExpression__Group__5__Impl )
-            // InternalReportDSL.g:30309:2: rule__XWhileExpression__Group__5__Impl
+            // InternalReportDSL.g:30018:1: ( rule__XWhileExpression__Group__5__Impl )
+            // InternalReportDSL.g:30019:2: rule__XWhileExpression__Group__5__Impl
             {
             pushFollow(FOLLOW_2);
             rule__XWhileExpression__Group__5__Impl();
@@ -99672,23 +98553,23 @@
 
 
     // $ANTLR start "rule__XWhileExpression__Group__5__Impl"
-    // InternalReportDSL.g:30315:1: rule__XWhileExpression__Group__5__Impl : ( ( rule__XWhileExpression__BodyAssignment_5 ) ) ;
+    // InternalReportDSL.g:30025:1: rule__XWhileExpression__Group__5__Impl : ( ( rule__XWhileExpression__BodyAssignment_5 ) ) ;
     public final void rule__XWhileExpression__Group__5__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:30319:1: ( ( ( rule__XWhileExpression__BodyAssignment_5 ) ) )
-            // InternalReportDSL.g:30320:1: ( ( rule__XWhileExpression__BodyAssignment_5 ) )
+            // InternalReportDSL.g:30029:1: ( ( ( rule__XWhileExpression__BodyAssignment_5 ) ) )
+            // InternalReportDSL.g:30030:1: ( ( rule__XWhileExpression__BodyAssignment_5 ) )
             {
-            // InternalReportDSL.g:30320:1: ( ( rule__XWhileExpression__BodyAssignment_5 ) )
-            // InternalReportDSL.g:30321:2: ( rule__XWhileExpression__BodyAssignment_5 )
+            // InternalReportDSL.g:30030:1: ( ( rule__XWhileExpression__BodyAssignment_5 ) )
+            // InternalReportDSL.g:30031:2: ( rule__XWhileExpression__BodyAssignment_5 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXWhileExpressionAccess().getBodyAssignment_5()); 
             }
-            // InternalReportDSL.g:30322:2: ( rule__XWhileExpression__BodyAssignment_5 )
-            // InternalReportDSL.g:30322:3: rule__XWhileExpression__BodyAssignment_5
+            // InternalReportDSL.g:30032:2: ( rule__XWhileExpression__BodyAssignment_5 )
+            // InternalReportDSL.g:30032:3: rule__XWhileExpression__BodyAssignment_5
             {
             pushFollow(FOLLOW_2);
             rule__XWhileExpression__BodyAssignment_5();
@@ -99723,16 +98604,16 @@
 
 
     // $ANTLR start "rule__XDoWhileExpression__Group__0"
-    // InternalReportDSL.g:30331:1: rule__XDoWhileExpression__Group__0 : rule__XDoWhileExpression__Group__0__Impl rule__XDoWhileExpression__Group__1 ;
+    // InternalReportDSL.g:30041:1: rule__XDoWhileExpression__Group__0 : rule__XDoWhileExpression__Group__0__Impl rule__XDoWhileExpression__Group__1 ;
     public final void rule__XDoWhileExpression__Group__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:30335:1: ( rule__XDoWhileExpression__Group__0__Impl rule__XDoWhileExpression__Group__1 )
-            // InternalReportDSL.g:30336:2: rule__XDoWhileExpression__Group__0__Impl rule__XDoWhileExpression__Group__1
+            // InternalReportDSL.g:30045:1: ( rule__XDoWhileExpression__Group__0__Impl rule__XDoWhileExpression__Group__1 )
+            // InternalReportDSL.g:30046:2: rule__XDoWhileExpression__Group__0__Impl rule__XDoWhileExpression__Group__1
             {
-            pushFollow(FOLLOW_197);
+            pushFollow(FOLLOW_195);
             rule__XDoWhileExpression__Group__0__Impl();
 
             state._fsp--;
@@ -99761,23 +98642,23 @@
 
 
     // $ANTLR start "rule__XDoWhileExpression__Group__0__Impl"
-    // InternalReportDSL.g:30343:1: rule__XDoWhileExpression__Group__0__Impl : ( () ) ;
+    // InternalReportDSL.g:30053:1: rule__XDoWhileExpression__Group__0__Impl : ( () ) ;
     public final void rule__XDoWhileExpression__Group__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:30347:1: ( ( () ) )
-            // InternalReportDSL.g:30348:1: ( () )
+            // InternalReportDSL.g:30057:1: ( ( () ) )
+            // InternalReportDSL.g:30058:1: ( () )
             {
-            // InternalReportDSL.g:30348:1: ( () )
-            // InternalReportDSL.g:30349:2: ()
+            // InternalReportDSL.g:30058:1: ( () )
+            // InternalReportDSL.g:30059:2: ()
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXDoWhileExpressionAccess().getXDoWhileExpressionAction_0()); 
             }
-            // InternalReportDSL.g:30350:2: ()
-            // InternalReportDSL.g:30350:3: 
+            // InternalReportDSL.g:30060:2: ()
+            // InternalReportDSL.g:30060:3: 
             {
             }
 
@@ -99802,16 +98683,16 @@
 
 
     // $ANTLR start "rule__XDoWhileExpression__Group__1"
-    // InternalReportDSL.g:30358:1: rule__XDoWhileExpression__Group__1 : rule__XDoWhileExpression__Group__1__Impl rule__XDoWhileExpression__Group__2 ;
+    // InternalReportDSL.g:30068:1: rule__XDoWhileExpression__Group__1 : rule__XDoWhileExpression__Group__1__Impl rule__XDoWhileExpression__Group__2 ;
     public final void rule__XDoWhileExpression__Group__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:30362:1: ( rule__XDoWhileExpression__Group__1__Impl rule__XDoWhileExpression__Group__2 )
-            // InternalReportDSL.g:30363:2: rule__XDoWhileExpression__Group__1__Impl rule__XDoWhileExpression__Group__2
+            // InternalReportDSL.g:30072:1: ( rule__XDoWhileExpression__Group__1__Impl rule__XDoWhileExpression__Group__2 )
+            // InternalReportDSL.g:30073:2: rule__XDoWhileExpression__Group__1__Impl rule__XDoWhileExpression__Group__2
             {
-            pushFollow(FOLLOW_139);
+            pushFollow(FOLLOW_138);
             rule__XDoWhileExpression__Group__1__Impl();
 
             state._fsp--;
@@ -99840,22 +98721,22 @@
 
 
     // $ANTLR start "rule__XDoWhileExpression__Group__1__Impl"
-    // InternalReportDSL.g:30370:1: rule__XDoWhileExpression__Group__1__Impl : ( 'do' ) ;
+    // InternalReportDSL.g:30080:1: rule__XDoWhileExpression__Group__1__Impl : ( 'do' ) ;
     public final void rule__XDoWhileExpression__Group__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:30374:1: ( ( 'do' ) )
-            // InternalReportDSL.g:30375:1: ( 'do' )
+            // InternalReportDSL.g:30084:1: ( ( 'do' ) )
+            // InternalReportDSL.g:30085:1: ( 'do' )
             {
-            // InternalReportDSL.g:30375:1: ( 'do' )
-            // InternalReportDSL.g:30376:2: 'do'
+            // InternalReportDSL.g:30085:1: ( 'do' )
+            // InternalReportDSL.g:30086:2: 'do'
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXDoWhileExpressionAccess().getDoKeyword_1()); 
             }
-            match(input,241,FOLLOW_2); if (state.failed) return ;
+            match(input,248,FOLLOW_2); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getXDoWhileExpressionAccess().getDoKeyword_1()); 
             }
@@ -99881,16 +98762,16 @@
 
 
     // $ANTLR start "rule__XDoWhileExpression__Group__2"
-    // InternalReportDSL.g:30385:1: rule__XDoWhileExpression__Group__2 : rule__XDoWhileExpression__Group__2__Impl rule__XDoWhileExpression__Group__3 ;
+    // InternalReportDSL.g:30095:1: rule__XDoWhileExpression__Group__2 : rule__XDoWhileExpression__Group__2__Impl rule__XDoWhileExpression__Group__3 ;
     public final void rule__XDoWhileExpression__Group__2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:30389:1: ( rule__XDoWhileExpression__Group__2__Impl rule__XDoWhileExpression__Group__3 )
-            // InternalReportDSL.g:30390:2: rule__XDoWhileExpression__Group__2__Impl rule__XDoWhileExpression__Group__3
+            // InternalReportDSL.g:30099:1: ( rule__XDoWhileExpression__Group__2__Impl rule__XDoWhileExpression__Group__3 )
+            // InternalReportDSL.g:30100:2: rule__XDoWhileExpression__Group__2__Impl rule__XDoWhileExpression__Group__3
             {
-            pushFollow(FOLLOW_196);
+            pushFollow(FOLLOW_194);
             rule__XDoWhileExpression__Group__2__Impl();
 
             state._fsp--;
@@ -99919,23 +98800,23 @@
 
 
     // $ANTLR start "rule__XDoWhileExpression__Group__2__Impl"
-    // InternalReportDSL.g:30397:1: rule__XDoWhileExpression__Group__2__Impl : ( ( rule__XDoWhileExpression__BodyAssignment_2 ) ) ;
+    // InternalReportDSL.g:30107:1: rule__XDoWhileExpression__Group__2__Impl : ( ( rule__XDoWhileExpression__BodyAssignment_2 ) ) ;
     public final void rule__XDoWhileExpression__Group__2__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:30401:1: ( ( ( rule__XDoWhileExpression__BodyAssignment_2 ) ) )
-            // InternalReportDSL.g:30402:1: ( ( rule__XDoWhileExpression__BodyAssignment_2 ) )
+            // InternalReportDSL.g:30111:1: ( ( ( rule__XDoWhileExpression__BodyAssignment_2 ) ) )
+            // InternalReportDSL.g:30112:1: ( ( rule__XDoWhileExpression__BodyAssignment_2 ) )
             {
-            // InternalReportDSL.g:30402:1: ( ( rule__XDoWhileExpression__BodyAssignment_2 ) )
-            // InternalReportDSL.g:30403:2: ( rule__XDoWhileExpression__BodyAssignment_2 )
+            // InternalReportDSL.g:30112:1: ( ( rule__XDoWhileExpression__BodyAssignment_2 ) )
+            // InternalReportDSL.g:30113:2: ( rule__XDoWhileExpression__BodyAssignment_2 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXDoWhileExpressionAccess().getBodyAssignment_2()); 
             }
-            // InternalReportDSL.g:30404:2: ( rule__XDoWhileExpression__BodyAssignment_2 )
-            // InternalReportDSL.g:30404:3: rule__XDoWhileExpression__BodyAssignment_2
+            // InternalReportDSL.g:30114:2: ( rule__XDoWhileExpression__BodyAssignment_2 )
+            // InternalReportDSL.g:30114:3: rule__XDoWhileExpression__BodyAssignment_2
             {
             pushFollow(FOLLOW_2);
             rule__XDoWhileExpression__BodyAssignment_2();
@@ -99970,16 +98851,16 @@
 
 
     // $ANTLR start "rule__XDoWhileExpression__Group__3"
-    // InternalReportDSL.g:30412:1: rule__XDoWhileExpression__Group__3 : rule__XDoWhileExpression__Group__3__Impl rule__XDoWhileExpression__Group__4 ;
+    // InternalReportDSL.g:30122:1: rule__XDoWhileExpression__Group__3 : rule__XDoWhileExpression__Group__3__Impl rule__XDoWhileExpression__Group__4 ;
     public final void rule__XDoWhileExpression__Group__3() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:30416:1: ( rule__XDoWhileExpression__Group__3__Impl rule__XDoWhileExpression__Group__4 )
-            // InternalReportDSL.g:30417:2: rule__XDoWhileExpression__Group__3__Impl rule__XDoWhileExpression__Group__4
+            // InternalReportDSL.g:30126:1: ( rule__XDoWhileExpression__Group__3__Impl rule__XDoWhileExpression__Group__4 )
+            // InternalReportDSL.g:30127:2: rule__XDoWhileExpression__Group__3__Impl rule__XDoWhileExpression__Group__4
             {
-            pushFollow(FOLLOW_104);
+            pushFollow(FOLLOW_103);
             rule__XDoWhileExpression__Group__3__Impl();
 
             state._fsp--;
@@ -100008,22 +98889,22 @@
 
 
     // $ANTLR start "rule__XDoWhileExpression__Group__3__Impl"
-    // InternalReportDSL.g:30424:1: rule__XDoWhileExpression__Group__3__Impl : ( 'while' ) ;
+    // InternalReportDSL.g:30134:1: rule__XDoWhileExpression__Group__3__Impl : ( 'while' ) ;
     public final void rule__XDoWhileExpression__Group__3__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:30428:1: ( ( 'while' ) )
-            // InternalReportDSL.g:30429:1: ( 'while' )
+            // InternalReportDSL.g:30138:1: ( ( 'while' ) )
+            // InternalReportDSL.g:30139:1: ( 'while' )
             {
-            // InternalReportDSL.g:30429:1: ( 'while' )
-            // InternalReportDSL.g:30430:2: 'while'
+            // InternalReportDSL.g:30139:1: ( 'while' )
+            // InternalReportDSL.g:30140:2: 'while'
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXDoWhileExpressionAccess().getWhileKeyword_3()); 
             }
-            match(input,240,FOLLOW_2); if (state.failed) return ;
+            match(input,247,FOLLOW_2); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getXDoWhileExpressionAccess().getWhileKeyword_3()); 
             }
@@ -100049,16 +98930,16 @@
 
 
     // $ANTLR start "rule__XDoWhileExpression__Group__4"
-    // InternalReportDSL.g:30439:1: rule__XDoWhileExpression__Group__4 : rule__XDoWhileExpression__Group__4__Impl rule__XDoWhileExpression__Group__5 ;
+    // InternalReportDSL.g:30149:1: rule__XDoWhileExpression__Group__4 : rule__XDoWhileExpression__Group__4__Impl rule__XDoWhileExpression__Group__5 ;
     public final void rule__XDoWhileExpression__Group__4() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:30443:1: ( rule__XDoWhileExpression__Group__4__Impl rule__XDoWhileExpression__Group__5 )
-            // InternalReportDSL.g:30444:2: rule__XDoWhileExpression__Group__4__Impl rule__XDoWhileExpression__Group__5
+            // InternalReportDSL.g:30153:1: ( rule__XDoWhileExpression__Group__4__Impl rule__XDoWhileExpression__Group__5 )
+            // InternalReportDSL.g:30154:2: rule__XDoWhileExpression__Group__4__Impl rule__XDoWhileExpression__Group__5
             {
-            pushFollow(FOLLOW_139);
+            pushFollow(FOLLOW_138);
             rule__XDoWhileExpression__Group__4__Impl();
 
             state._fsp--;
@@ -100087,22 +98968,22 @@
 
 
     // $ANTLR start "rule__XDoWhileExpression__Group__4__Impl"
-    // InternalReportDSL.g:30451:1: rule__XDoWhileExpression__Group__4__Impl : ( '(' ) ;
+    // InternalReportDSL.g:30161:1: rule__XDoWhileExpression__Group__4__Impl : ( '(' ) ;
     public final void rule__XDoWhileExpression__Group__4__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:30455:1: ( ( '(' ) )
-            // InternalReportDSL.g:30456:1: ( '(' )
+            // InternalReportDSL.g:30165:1: ( ( '(' ) )
+            // InternalReportDSL.g:30166:1: ( '(' )
             {
-            // InternalReportDSL.g:30456:1: ( '(' )
-            // InternalReportDSL.g:30457:2: '('
+            // InternalReportDSL.g:30166:1: ( '(' )
+            // InternalReportDSL.g:30167:2: '('
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXDoWhileExpressionAccess().getLeftParenthesisKeyword_4()); 
             }
-            match(input,204,FOLLOW_2); if (state.failed) return ;
+            match(input,211,FOLLOW_2); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getXDoWhileExpressionAccess().getLeftParenthesisKeyword_4()); 
             }
@@ -100128,16 +99009,16 @@
 
 
     // $ANTLR start "rule__XDoWhileExpression__Group__5"
-    // InternalReportDSL.g:30466:1: rule__XDoWhileExpression__Group__5 : rule__XDoWhileExpression__Group__5__Impl rule__XDoWhileExpression__Group__6 ;
+    // InternalReportDSL.g:30176:1: rule__XDoWhileExpression__Group__5 : rule__XDoWhileExpression__Group__5__Impl rule__XDoWhileExpression__Group__6 ;
     public final void rule__XDoWhileExpression__Group__5() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:30470:1: ( rule__XDoWhileExpression__Group__5__Impl rule__XDoWhileExpression__Group__6 )
-            // InternalReportDSL.g:30471:2: rule__XDoWhileExpression__Group__5__Impl rule__XDoWhileExpression__Group__6
+            // InternalReportDSL.g:30180:1: ( rule__XDoWhileExpression__Group__5__Impl rule__XDoWhileExpression__Group__6 )
+            // InternalReportDSL.g:30181:2: rule__XDoWhileExpression__Group__5__Impl rule__XDoWhileExpression__Group__6
             {
-            pushFollow(FOLLOW_113);
+            pushFollow(FOLLOW_112);
             rule__XDoWhileExpression__Group__5__Impl();
 
             state._fsp--;
@@ -100166,23 +99047,23 @@
 
 
     // $ANTLR start "rule__XDoWhileExpression__Group__5__Impl"
-    // InternalReportDSL.g:30478:1: rule__XDoWhileExpression__Group__5__Impl : ( ( rule__XDoWhileExpression__PredicateAssignment_5 ) ) ;
+    // InternalReportDSL.g:30188:1: rule__XDoWhileExpression__Group__5__Impl : ( ( rule__XDoWhileExpression__PredicateAssignment_5 ) ) ;
     public final void rule__XDoWhileExpression__Group__5__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:30482:1: ( ( ( rule__XDoWhileExpression__PredicateAssignment_5 ) ) )
-            // InternalReportDSL.g:30483:1: ( ( rule__XDoWhileExpression__PredicateAssignment_5 ) )
+            // InternalReportDSL.g:30192:1: ( ( ( rule__XDoWhileExpression__PredicateAssignment_5 ) ) )
+            // InternalReportDSL.g:30193:1: ( ( rule__XDoWhileExpression__PredicateAssignment_5 ) )
             {
-            // InternalReportDSL.g:30483:1: ( ( rule__XDoWhileExpression__PredicateAssignment_5 ) )
-            // InternalReportDSL.g:30484:2: ( rule__XDoWhileExpression__PredicateAssignment_5 )
+            // InternalReportDSL.g:30193:1: ( ( rule__XDoWhileExpression__PredicateAssignment_5 ) )
+            // InternalReportDSL.g:30194:2: ( rule__XDoWhileExpression__PredicateAssignment_5 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXDoWhileExpressionAccess().getPredicateAssignment_5()); 
             }
-            // InternalReportDSL.g:30485:2: ( rule__XDoWhileExpression__PredicateAssignment_5 )
-            // InternalReportDSL.g:30485:3: rule__XDoWhileExpression__PredicateAssignment_5
+            // InternalReportDSL.g:30195:2: ( rule__XDoWhileExpression__PredicateAssignment_5 )
+            // InternalReportDSL.g:30195:3: rule__XDoWhileExpression__PredicateAssignment_5
             {
             pushFollow(FOLLOW_2);
             rule__XDoWhileExpression__PredicateAssignment_5();
@@ -100217,14 +99098,14 @@
 
 
     // $ANTLR start "rule__XDoWhileExpression__Group__6"
-    // InternalReportDSL.g:30493:1: rule__XDoWhileExpression__Group__6 : rule__XDoWhileExpression__Group__6__Impl ;
+    // InternalReportDSL.g:30203:1: rule__XDoWhileExpression__Group__6 : rule__XDoWhileExpression__Group__6__Impl ;
     public final void rule__XDoWhileExpression__Group__6() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:30497:1: ( rule__XDoWhileExpression__Group__6__Impl )
-            // InternalReportDSL.g:30498:2: rule__XDoWhileExpression__Group__6__Impl
+            // InternalReportDSL.g:30207:1: ( rule__XDoWhileExpression__Group__6__Impl )
+            // InternalReportDSL.g:30208:2: rule__XDoWhileExpression__Group__6__Impl
             {
             pushFollow(FOLLOW_2);
             rule__XDoWhileExpression__Group__6__Impl();
@@ -100250,22 +99131,22 @@
 
 
     // $ANTLR start "rule__XDoWhileExpression__Group__6__Impl"
-    // InternalReportDSL.g:30504:1: rule__XDoWhileExpression__Group__6__Impl : ( ')' ) ;
+    // InternalReportDSL.g:30214:1: rule__XDoWhileExpression__Group__6__Impl : ( ')' ) ;
     public final void rule__XDoWhileExpression__Group__6__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:30508:1: ( ( ')' ) )
-            // InternalReportDSL.g:30509:1: ( ')' )
+            // InternalReportDSL.g:30218:1: ( ( ')' ) )
+            // InternalReportDSL.g:30219:1: ( ')' )
             {
-            // InternalReportDSL.g:30509:1: ( ')' )
-            // InternalReportDSL.g:30510:2: ')'
+            // InternalReportDSL.g:30219:1: ( ')' )
+            // InternalReportDSL.g:30220:2: ')'
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXDoWhileExpressionAccess().getRightParenthesisKeyword_6()); 
             }
-            match(input,205,FOLLOW_2); if (state.failed) return ;
+            match(input,212,FOLLOW_2); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getXDoWhileExpressionAccess().getRightParenthesisKeyword_6()); 
             }
@@ -100291,14 +99172,14 @@
 
 
     // $ANTLR start "rule__XBlockExpression__Group__0"
-    // InternalReportDSL.g:30520:1: rule__XBlockExpression__Group__0 : rule__XBlockExpression__Group__0__Impl rule__XBlockExpression__Group__1 ;
+    // InternalReportDSL.g:30230:1: rule__XBlockExpression__Group__0 : rule__XBlockExpression__Group__0__Impl rule__XBlockExpression__Group__1 ;
     public final void rule__XBlockExpression__Group__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:30524:1: ( rule__XBlockExpression__Group__0__Impl rule__XBlockExpression__Group__1 )
-            // InternalReportDSL.g:30525:2: rule__XBlockExpression__Group__0__Impl rule__XBlockExpression__Group__1
+            // InternalReportDSL.g:30234:1: ( rule__XBlockExpression__Group__0__Impl rule__XBlockExpression__Group__1 )
+            // InternalReportDSL.g:30235:2: rule__XBlockExpression__Group__0__Impl rule__XBlockExpression__Group__1
             {
             pushFollow(FOLLOW_8);
             rule__XBlockExpression__Group__0__Impl();
@@ -100329,23 +99210,23 @@
 
 
     // $ANTLR start "rule__XBlockExpression__Group__0__Impl"
-    // InternalReportDSL.g:30532:1: rule__XBlockExpression__Group__0__Impl : ( () ) ;
+    // InternalReportDSL.g:30242:1: rule__XBlockExpression__Group__0__Impl : ( () ) ;
     public final void rule__XBlockExpression__Group__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:30536:1: ( ( () ) )
-            // InternalReportDSL.g:30537:1: ( () )
+            // InternalReportDSL.g:30246:1: ( ( () ) )
+            // InternalReportDSL.g:30247:1: ( () )
             {
-            // InternalReportDSL.g:30537:1: ( () )
-            // InternalReportDSL.g:30538:2: ()
+            // InternalReportDSL.g:30247:1: ( () )
+            // InternalReportDSL.g:30248:2: ()
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXBlockExpressionAccess().getXBlockExpressionAction_0()); 
             }
-            // InternalReportDSL.g:30539:2: ()
-            // InternalReportDSL.g:30539:3: 
+            // InternalReportDSL.g:30249:2: ()
+            // InternalReportDSL.g:30249:3: 
             {
             }
 
@@ -100370,16 +99251,16 @@
 
 
     // $ANTLR start "rule__XBlockExpression__Group__1"
-    // InternalReportDSL.g:30547:1: rule__XBlockExpression__Group__1 : rule__XBlockExpression__Group__1__Impl rule__XBlockExpression__Group__2 ;
+    // InternalReportDSL.g:30257:1: rule__XBlockExpression__Group__1 : rule__XBlockExpression__Group__1__Impl rule__XBlockExpression__Group__2 ;
     public final void rule__XBlockExpression__Group__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:30551:1: ( rule__XBlockExpression__Group__1__Impl rule__XBlockExpression__Group__2 )
-            // InternalReportDSL.g:30552:2: rule__XBlockExpression__Group__1__Impl rule__XBlockExpression__Group__2
+            // InternalReportDSL.g:30261:1: ( rule__XBlockExpression__Group__1__Impl rule__XBlockExpression__Group__2 )
+            // InternalReportDSL.g:30262:2: rule__XBlockExpression__Group__1__Impl rule__XBlockExpression__Group__2
             {
-            pushFollow(FOLLOW_198);
+            pushFollow(FOLLOW_196);
             rule__XBlockExpression__Group__1__Impl();
 
             state._fsp--;
@@ -100408,22 +99289,22 @@
 
 
     // $ANTLR start "rule__XBlockExpression__Group__1__Impl"
-    // InternalReportDSL.g:30559:1: rule__XBlockExpression__Group__1__Impl : ( '{' ) ;
+    // InternalReportDSL.g:30269:1: rule__XBlockExpression__Group__1__Impl : ( '{' ) ;
     public final void rule__XBlockExpression__Group__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:30563:1: ( ( '{' ) )
-            // InternalReportDSL.g:30564:1: ( '{' )
+            // InternalReportDSL.g:30273:1: ( ( '{' ) )
+            // InternalReportDSL.g:30274:1: ( '{' )
             {
-            // InternalReportDSL.g:30564:1: ( '{' )
-            // InternalReportDSL.g:30565:2: '{'
+            // InternalReportDSL.g:30274:1: ( '{' )
+            // InternalReportDSL.g:30275:2: '{'
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXBlockExpressionAccess().getLeftCurlyBracketKeyword_1()); 
             }
-            match(input,125,FOLLOW_2); if (state.failed) return ;
+            match(input,131,FOLLOW_2); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getXBlockExpressionAccess().getLeftCurlyBracketKeyword_1()); 
             }
@@ -100449,16 +99330,16 @@
 
 
     // $ANTLR start "rule__XBlockExpression__Group__2"
-    // InternalReportDSL.g:30574:1: rule__XBlockExpression__Group__2 : rule__XBlockExpression__Group__2__Impl rule__XBlockExpression__Group__3 ;
+    // InternalReportDSL.g:30284:1: rule__XBlockExpression__Group__2 : rule__XBlockExpression__Group__2__Impl rule__XBlockExpression__Group__3 ;
     public final void rule__XBlockExpression__Group__2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:30578:1: ( rule__XBlockExpression__Group__2__Impl rule__XBlockExpression__Group__3 )
-            // InternalReportDSL.g:30579:2: rule__XBlockExpression__Group__2__Impl rule__XBlockExpression__Group__3
+            // InternalReportDSL.g:30288:1: ( rule__XBlockExpression__Group__2__Impl rule__XBlockExpression__Group__3 )
+            // InternalReportDSL.g:30289:2: rule__XBlockExpression__Group__2__Impl rule__XBlockExpression__Group__3
             {
-            pushFollow(FOLLOW_198);
+            pushFollow(FOLLOW_196);
             rule__XBlockExpression__Group__2__Impl();
 
             state._fsp--;
@@ -100487,37 +99368,37 @@
 
 
     // $ANTLR start "rule__XBlockExpression__Group__2__Impl"
-    // InternalReportDSL.g:30586:1: rule__XBlockExpression__Group__2__Impl : ( ( rule__XBlockExpression__Group_2__0 )* ) ;
+    // InternalReportDSL.g:30296:1: rule__XBlockExpression__Group__2__Impl : ( ( rule__XBlockExpression__Group_2__0 )* ) ;
     public final void rule__XBlockExpression__Group__2__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:30590:1: ( ( ( rule__XBlockExpression__Group_2__0 )* ) )
-            // InternalReportDSL.g:30591:1: ( ( rule__XBlockExpression__Group_2__0 )* )
+            // InternalReportDSL.g:30300:1: ( ( ( rule__XBlockExpression__Group_2__0 )* ) )
+            // InternalReportDSL.g:30301:1: ( ( rule__XBlockExpression__Group_2__0 )* )
             {
-            // InternalReportDSL.g:30591:1: ( ( rule__XBlockExpression__Group_2__0 )* )
-            // InternalReportDSL.g:30592:2: ( rule__XBlockExpression__Group_2__0 )*
+            // InternalReportDSL.g:30301:1: ( ( rule__XBlockExpression__Group_2__0 )* )
+            // InternalReportDSL.g:30302:2: ( rule__XBlockExpression__Group_2__0 )*
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXBlockExpressionAccess().getGroup_2()); 
             }
-            // InternalReportDSL.g:30593:2: ( rule__XBlockExpression__Group_2__0 )*
-            loop220:
+            // InternalReportDSL.g:30303:2: ( rule__XBlockExpression__Group_2__0 )*
+            loop202:
             do {
-                int alt220=2;
-                int LA220_0 = input.LA(1);
+                int alt202=2;
+                int LA202_0 = input.LA(1);
 
-                if ( ((LA220_0>=RULE_STRING && LA220_0<=RULE_DECIMAL)||LA220_0==31||(LA220_0>=38 && LA220_0<=39)||LA220_0==44||(LA220_0>=48 && LA220_0<=54)||LA220_0==125||LA220_0==204||(LA220_0>=230 && LA220_0<=231)||LA220_0==233||LA220_0==235||(LA220_0>=239 && LA220_0<=247)||LA220_0==249||(LA220_0>=265 && LA220_0<=266)) ) {
-                    alt220=1;
+                if ( ((LA202_0>=RULE_STRING && LA202_0<=RULE_DECIMAL)||LA202_0==31||(LA202_0>=38 && LA202_0<=39)||LA202_0==44||(LA202_0>=48 && LA202_0<=54)||LA202_0==131||LA202_0==211||(LA202_0>=237 && LA202_0<=238)||LA202_0==240||LA202_0==242||(LA202_0>=246 && LA202_0<=254)||LA202_0==256||(LA202_0>=270 && LA202_0<=271)) ) {
+                    alt202=1;
                 }
 
 
-                switch (alt220) {
+                switch (alt202) {
             	case 1 :
-            	    // InternalReportDSL.g:30593:3: rule__XBlockExpression__Group_2__0
+            	    // InternalReportDSL.g:30303:3: rule__XBlockExpression__Group_2__0
             	    {
-            	    pushFollow(FOLLOW_183);
+            	    pushFollow(FOLLOW_181);
             	    rule__XBlockExpression__Group_2__0();
 
             	    state._fsp--;
@@ -100527,7 +99408,7 @@
             	    break;
 
             	default :
-            	    break loop220;
+            	    break loop202;
                 }
             } while (true);
 
@@ -100556,14 +99437,14 @@
 
 
     // $ANTLR start "rule__XBlockExpression__Group__3"
-    // InternalReportDSL.g:30601:1: rule__XBlockExpression__Group__3 : rule__XBlockExpression__Group__3__Impl ;
+    // InternalReportDSL.g:30311:1: rule__XBlockExpression__Group__3 : rule__XBlockExpression__Group__3__Impl ;
     public final void rule__XBlockExpression__Group__3() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:30605:1: ( rule__XBlockExpression__Group__3__Impl )
-            // InternalReportDSL.g:30606:2: rule__XBlockExpression__Group__3__Impl
+            // InternalReportDSL.g:30315:1: ( rule__XBlockExpression__Group__3__Impl )
+            // InternalReportDSL.g:30316:2: rule__XBlockExpression__Group__3__Impl
             {
             pushFollow(FOLLOW_2);
             rule__XBlockExpression__Group__3__Impl();
@@ -100589,22 +99470,22 @@
 
 
     // $ANTLR start "rule__XBlockExpression__Group__3__Impl"
-    // InternalReportDSL.g:30612:1: rule__XBlockExpression__Group__3__Impl : ( '}' ) ;
+    // InternalReportDSL.g:30322:1: rule__XBlockExpression__Group__3__Impl : ( '}' ) ;
     public final void rule__XBlockExpression__Group__3__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:30616:1: ( ( '}' ) )
-            // InternalReportDSL.g:30617:1: ( '}' )
+            // InternalReportDSL.g:30326:1: ( ( '}' ) )
+            // InternalReportDSL.g:30327:1: ( '}' )
             {
-            // InternalReportDSL.g:30617:1: ( '}' )
-            // InternalReportDSL.g:30618:2: '}'
+            // InternalReportDSL.g:30327:1: ( '}' )
+            // InternalReportDSL.g:30328:2: '}'
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXBlockExpressionAccess().getRightCurlyBracketKeyword_3()); 
             }
-            match(input,126,FOLLOW_2); if (state.failed) return ;
+            match(input,132,FOLLOW_2); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getXBlockExpressionAccess().getRightCurlyBracketKeyword_3()); 
             }
@@ -100630,16 +99511,16 @@
 
 
     // $ANTLR start "rule__XBlockExpression__Group_2__0"
-    // InternalReportDSL.g:30628:1: rule__XBlockExpression__Group_2__0 : rule__XBlockExpression__Group_2__0__Impl rule__XBlockExpression__Group_2__1 ;
+    // InternalReportDSL.g:30338:1: rule__XBlockExpression__Group_2__0 : rule__XBlockExpression__Group_2__0__Impl rule__XBlockExpression__Group_2__1 ;
     public final void rule__XBlockExpression__Group_2__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:30632:1: ( rule__XBlockExpression__Group_2__0__Impl rule__XBlockExpression__Group_2__1 )
-            // InternalReportDSL.g:30633:2: rule__XBlockExpression__Group_2__0__Impl rule__XBlockExpression__Group_2__1
+            // InternalReportDSL.g:30342:1: ( rule__XBlockExpression__Group_2__0__Impl rule__XBlockExpression__Group_2__1 )
+            // InternalReportDSL.g:30343:2: rule__XBlockExpression__Group_2__0__Impl rule__XBlockExpression__Group_2__1
             {
-            pushFollow(FOLLOW_132);
+            pushFollow(FOLLOW_131);
             rule__XBlockExpression__Group_2__0__Impl();
 
             state._fsp--;
@@ -100668,23 +99549,23 @@
 
 
     // $ANTLR start "rule__XBlockExpression__Group_2__0__Impl"
-    // InternalReportDSL.g:30640:1: rule__XBlockExpression__Group_2__0__Impl : ( ( rule__XBlockExpression__ExpressionsAssignment_2_0 ) ) ;
+    // InternalReportDSL.g:30350:1: rule__XBlockExpression__Group_2__0__Impl : ( ( rule__XBlockExpression__ExpressionsAssignment_2_0 ) ) ;
     public final void rule__XBlockExpression__Group_2__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:30644:1: ( ( ( rule__XBlockExpression__ExpressionsAssignment_2_0 ) ) )
-            // InternalReportDSL.g:30645:1: ( ( rule__XBlockExpression__ExpressionsAssignment_2_0 ) )
+            // InternalReportDSL.g:30354:1: ( ( ( rule__XBlockExpression__ExpressionsAssignment_2_0 ) ) )
+            // InternalReportDSL.g:30355:1: ( ( rule__XBlockExpression__ExpressionsAssignment_2_0 ) )
             {
-            // InternalReportDSL.g:30645:1: ( ( rule__XBlockExpression__ExpressionsAssignment_2_0 ) )
-            // InternalReportDSL.g:30646:2: ( rule__XBlockExpression__ExpressionsAssignment_2_0 )
+            // InternalReportDSL.g:30355:1: ( ( rule__XBlockExpression__ExpressionsAssignment_2_0 ) )
+            // InternalReportDSL.g:30356:2: ( rule__XBlockExpression__ExpressionsAssignment_2_0 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXBlockExpressionAccess().getExpressionsAssignment_2_0()); 
             }
-            // InternalReportDSL.g:30647:2: ( rule__XBlockExpression__ExpressionsAssignment_2_0 )
-            // InternalReportDSL.g:30647:3: rule__XBlockExpression__ExpressionsAssignment_2_0
+            // InternalReportDSL.g:30357:2: ( rule__XBlockExpression__ExpressionsAssignment_2_0 )
+            // InternalReportDSL.g:30357:3: rule__XBlockExpression__ExpressionsAssignment_2_0
             {
             pushFollow(FOLLOW_2);
             rule__XBlockExpression__ExpressionsAssignment_2_0();
@@ -100719,14 +99600,14 @@
 
 
     // $ANTLR start "rule__XBlockExpression__Group_2__1"
-    // InternalReportDSL.g:30655:1: rule__XBlockExpression__Group_2__1 : rule__XBlockExpression__Group_2__1__Impl ;
+    // InternalReportDSL.g:30365:1: rule__XBlockExpression__Group_2__1 : rule__XBlockExpression__Group_2__1__Impl ;
     public final void rule__XBlockExpression__Group_2__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:30659:1: ( rule__XBlockExpression__Group_2__1__Impl )
-            // InternalReportDSL.g:30660:2: rule__XBlockExpression__Group_2__1__Impl
+            // InternalReportDSL.g:30369:1: ( rule__XBlockExpression__Group_2__1__Impl )
+            // InternalReportDSL.g:30370:2: rule__XBlockExpression__Group_2__1__Impl
             {
             pushFollow(FOLLOW_2);
             rule__XBlockExpression__Group_2__1__Impl();
@@ -100752,33 +99633,33 @@
 
 
     // $ANTLR start "rule__XBlockExpression__Group_2__1__Impl"
-    // InternalReportDSL.g:30666:1: rule__XBlockExpression__Group_2__1__Impl : ( ( ';' )? ) ;
+    // InternalReportDSL.g:30376:1: rule__XBlockExpression__Group_2__1__Impl : ( ( ';' )? ) ;
     public final void rule__XBlockExpression__Group_2__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:30670:1: ( ( ( ';' )? ) )
-            // InternalReportDSL.g:30671:1: ( ( ';' )? )
+            // InternalReportDSL.g:30380:1: ( ( ( ';' )? ) )
+            // InternalReportDSL.g:30381:1: ( ( ';' )? )
             {
-            // InternalReportDSL.g:30671:1: ( ( ';' )? )
-            // InternalReportDSL.g:30672:2: ( ';' )?
+            // InternalReportDSL.g:30381:1: ( ( ';' )? )
+            // InternalReportDSL.g:30382:2: ( ';' )?
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXBlockExpressionAccess().getSemicolonKeyword_2_1()); 
             }
-            // InternalReportDSL.g:30673:2: ( ';' )?
-            int alt221=2;
-            int LA221_0 = input.LA(1);
+            // InternalReportDSL.g:30383:2: ( ';' )?
+            int alt203=2;
+            int LA203_0 = input.LA(1);
 
-            if ( (LA221_0==226) ) {
-                alt221=1;
+            if ( (LA203_0==233) ) {
+                alt203=1;
             }
-            switch (alt221) {
+            switch (alt203) {
                 case 1 :
-                    // InternalReportDSL.g:30673:3: ';'
+                    // InternalReportDSL.g:30383:3: ';'
                     {
-                    match(input,226,FOLLOW_2); if (state.failed) return ;
+                    match(input,233,FOLLOW_2); if (state.failed) return ;
 
                     }
                     break;
@@ -100810,16 +99691,16 @@
 
 
     // $ANTLR start "rule__XVariableDeclaration__Group__0"
-    // InternalReportDSL.g:30682:1: rule__XVariableDeclaration__Group__0 : rule__XVariableDeclaration__Group__0__Impl rule__XVariableDeclaration__Group__1 ;
+    // InternalReportDSL.g:30392:1: rule__XVariableDeclaration__Group__0 : rule__XVariableDeclaration__Group__0__Impl rule__XVariableDeclaration__Group__1 ;
     public final void rule__XVariableDeclaration__Group__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:30686:1: ( rule__XVariableDeclaration__Group__0__Impl rule__XVariableDeclaration__Group__1 )
-            // InternalReportDSL.g:30687:2: rule__XVariableDeclaration__Group__0__Impl rule__XVariableDeclaration__Group__1
+            // InternalReportDSL.g:30396:1: ( rule__XVariableDeclaration__Group__0__Impl rule__XVariableDeclaration__Group__1 )
+            // InternalReportDSL.g:30397:2: rule__XVariableDeclaration__Group__0__Impl rule__XVariableDeclaration__Group__1
             {
-            pushFollow(FOLLOW_199);
+            pushFollow(FOLLOW_197);
             rule__XVariableDeclaration__Group__0__Impl();
 
             state._fsp--;
@@ -100848,23 +99729,23 @@
 
 
     // $ANTLR start "rule__XVariableDeclaration__Group__0__Impl"
-    // InternalReportDSL.g:30694:1: rule__XVariableDeclaration__Group__0__Impl : ( () ) ;
+    // InternalReportDSL.g:30404:1: rule__XVariableDeclaration__Group__0__Impl : ( () ) ;
     public final void rule__XVariableDeclaration__Group__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:30698:1: ( ( () ) )
-            // InternalReportDSL.g:30699:1: ( () )
+            // InternalReportDSL.g:30408:1: ( ( () ) )
+            // InternalReportDSL.g:30409:1: ( () )
             {
-            // InternalReportDSL.g:30699:1: ( () )
-            // InternalReportDSL.g:30700:2: ()
+            // InternalReportDSL.g:30409:1: ( () )
+            // InternalReportDSL.g:30410:2: ()
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXVariableDeclarationAccess().getXVariableDeclarationAction_0()); 
             }
-            // InternalReportDSL.g:30701:2: ()
-            // InternalReportDSL.g:30701:3: 
+            // InternalReportDSL.g:30411:2: ()
+            // InternalReportDSL.g:30411:3: 
             {
             }
 
@@ -100889,16 +99770,16 @@
 
 
     // $ANTLR start "rule__XVariableDeclaration__Group__1"
-    // InternalReportDSL.g:30709:1: rule__XVariableDeclaration__Group__1 : rule__XVariableDeclaration__Group__1__Impl rule__XVariableDeclaration__Group__2 ;
+    // InternalReportDSL.g:30419:1: rule__XVariableDeclaration__Group__1 : rule__XVariableDeclaration__Group__1__Impl rule__XVariableDeclaration__Group__2 ;
     public final void rule__XVariableDeclaration__Group__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:30713:1: ( rule__XVariableDeclaration__Group__1__Impl rule__XVariableDeclaration__Group__2 )
-            // InternalReportDSL.g:30714:2: rule__XVariableDeclaration__Group__1__Impl rule__XVariableDeclaration__Group__2
+            // InternalReportDSL.g:30423:1: ( rule__XVariableDeclaration__Group__1__Impl rule__XVariableDeclaration__Group__2 )
+            // InternalReportDSL.g:30424:2: rule__XVariableDeclaration__Group__1__Impl rule__XVariableDeclaration__Group__2
             {
-            pushFollow(FOLLOW_156);
+            pushFollow(FOLLOW_155);
             rule__XVariableDeclaration__Group__1__Impl();
 
             state._fsp--;
@@ -100927,23 +99808,23 @@
 
 
     // $ANTLR start "rule__XVariableDeclaration__Group__1__Impl"
-    // InternalReportDSL.g:30721:1: rule__XVariableDeclaration__Group__1__Impl : ( ( rule__XVariableDeclaration__Alternatives_1 ) ) ;
+    // InternalReportDSL.g:30431:1: rule__XVariableDeclaration__Group__1__Impl : ( ( rule__XVariableDeclaration__Alternatives_1 ) ) ;
     public final void rule__XVariableDeclaration__Group__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:30725:1: ( ( ( rule__XVariableDeclaration__Alternatives_1 ) ) )
-            // InternalReportDSL.g:30726:1: ( ( rule__XVariableDeclaration__Alternatives_1 ) )
+            // InternalReportDSL.g:30435:1: ( ( ( rule__XVariableDeclaration__Alternatives_1 ) ) )
+            // InternalReportDSL.g:30436:1: ( ( rule__XVariableDeclaration__Alternatives_1 ) )
             {
-            // InternalReportDSL.g:30726:1: ( ( rule__XVariableDeclaration__Alternatives_1 ) )
-            // InternalReportDSL.g:30727:2: ( rule__XVariableDeclaration__Alternatives_1 )
+            // InternalReportDSL.g:30436:1: ( ( rule__XVariableDeclaration__Alternatives_1 ) )
+            // InternalReportDSL.g:30437:2: ( rule__XVariableDeclaration__Alternatives_1 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXVariableDeclarationAccess().getAlternatives_1()); 
             }
-            // InternalReportDSL.g:30728:2: ( rule__XVariableDeclaration__Alternatives_1 )
-            // InternalReportDSL.g:30728:3: rule__XVariableDeclaration__Alternatives_1
+            // InternalReportDSL.g:30438:2: ( rule__XVariableDeclaration__Alternatives_1 )
+            // InternalReportDSL.g:30438:3: rule__XVariableDeclaration__Alternatives_1
             {
             pushFollow(FOLLOW_2);
             rule__XVariableDeclaration__Alternatives_1();
@@ -100978,16 +99859,16 @@
 
 
     // $ANTLR start "rule__XVariableDeclaration__Group__2"
-    // InternalReportDSL.g:30736:1: rule__XVariableDeclaration__Group__2 : rule__XVariableDeclaration__Group__2__Impl rule__XVariableDeclaration__Group__3 ;
+    // InternalReportDSL.g:30446:1: rule__XVariableDeclaration__Group__2 : rule__XVariableDeclaration__Group__2__Impl rule__XVariableDeclaration__Group__3 ;
     public final void rule__XVariableDeclaration__Group__2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:30740:1: ( rule__XVariableDeclaration__Group__2__Impl rule__XVariableDeclaration__Group__3 )
-            // InternalReportDSL.g:30741:2: rule__XVariableDeclaration__Group__2__Impl rule__XVariableDeclaration__Group__3
+            // InternalReportDSL.g:30450:1: ( rule__XVariableDeclaration__Group__2__Impl rule__XVariableDeclaration__Group__3 )
+            // InternalReportDSL.g:30451:2: rule__XVariableDeclaration__Group__2__Impl rule__XVariableDeclaration__Group__3
             {
-            pushFollow(FOLLOW_140);
+            pushFollow(FOLLOW_139);
             rule__XVariableDeclaration__Group__2__Impl();
 
             state._fsp--;
@@ -101016,23 +99897,23 @@
 
 
     // $ANTLR start "rule__XVariableDeclaration__Group__2__Impl"
-    // InternalReportDSL.g:30748:1: rule__XVariableDeclaration__Group__2__Impl : ( ( rule__XVariableDeclaration__Alternatives_2 ) ) ;
+    // InternalReportDSL.g:30458:1: rule__XVariableDeclaration__Group__2__Impl : ( ( rule__XVariableDeclaration__Alternatives_2 ) ) ;
     public final void rule__XVariableDeclaration__Group__2__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:30752:1: ( ( ( rule__XVariableDeclaration__Alternatives_2 ) ) )
-            // InternalReportDSL.g:30753:1: ( ( rule__XVariableDeclaration__Alternatives_2 ) )
+            // InternalReportDSL.g:30462:1: ( ( ( rule__XVariableDeclaration__Alternatives_2 ) ) )
+            // InternalReportDSL.g:30463:1: ( ( rule__XVariableDeclaration__Alternatives_2 ) )
             {
-            // InternalReportDSL.g:30753:1: ( ( rule__XVariableDeclaration__Alternatives_2 ) )
-            // InternalReportDSL.g:30754:2: ( rule__XVariableDeclaration__Alternatives_2 )
+            // InternalReportDSL.g:30463:1: ( ( rule__XVariableDeclaration__Alternatives_2 ) )
+            // InternalReportDSL.g:30464:2: ( rule__XVariableDeclaration__Alternatives_2 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXVariableDeclarationAccess().getAlternatives_2()); 
             }
-            // InternalReportDSL.g:30755:2: ( rule__XVariableDeclaration__Alternatives_2 )
-            // InternalReportDSL.g:30755:3: rule__XVariableDeclaration__Alternatives_2
+            // InternalReportDSL.g:30465:2: ( rule__XVariableDeclaration__Alternatives_2 )
+            // InternalReportDSL.g:30465:3: rule__XVariableDeclaration__Alternatives_2
             {
             pushFollow(FOLLOW_2);
             rule__XVariableDeclaration__Alternatives_2();
@@ -101067,14 +99948,14 @@
 
 
     // $ANTLR start "rule__XVariableDeclaration__Group__3"
-    // InternalReportDSL.g:30763:1: rule__XVariableDeclaration__Group__3 : rule__XVariableDeclaration__Group__3__Impl ;
+    // InternalReportDSL.g:30473:1: rule__XVariableDeclaration__Group__3 : rule__XVariableDeclaration__Group__3__Impl ;
     public final void rule__XVariableDeclaration__Group__3() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:30767:1: ( rule__XVariableDeclaration__Group__3__Impl )
-            // InternalReportDSL.g:30768:2: rule__XVariableDeclaration__Group__3__Impl
+            // InternalReportDSL.g:30477:1: ( rule__XVariableDeclaration__Group__3__Impl )
+            // InternalReportDSL.g:30478:2: rule__XVariableDeclaration__Group__3__Impl
             {
             pushFollow(FOLLOW_2);
             rule__XVariableDeclaration__Group__3__Impl();
@@ -101100,31 +99981,31 @@
 
 
     // $ANTLR start "rule__XVariableDeclaration__Group__3__Impl"
-    // InternalReportDSL.g:30774:1: rule__XVariableDeclaration__Group__3__Impl : ( ( rule__XVariableDeclaration__Group_3__0 )? ) ;
+    // InternalReportDSL.g:30484:1: rule__XVariableDeclaration__Group__3__Impl : ( ( rule__XVariableDeclaration__Group_3__0 )? ) ;
     public final void rule__XVariableDeclaration__Group__3__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:30778:1: ( ( ( rule__XVariableDeclaration__Group_3__0 )? ) )
-            // InternalReportDSL.g:30779:1: ( ( rule__XVariableDeclaration__Group_3__0 )? )
+            // InternalReportDSL.g:30488:1: ( ( ( rule__XVariableDeclaration__Group_3__0 )? ) )
+            // InternalReportDSL.g:30489:1: ( ( rule__XVariableDeclaration__Group_3__0 )? )
             {
-            // InternalReportDSL.g:30779:1: ( ( rule__XVariableDeclaration__Group_3__0 )? )
-            // InternalReportDSL.g:30780:2: ( rule__XVariableDeclaration__Group_3__0 )?
+            // InternalReportDSL.g:30489:1: ( ( rule__XVariableDeclaration__Group_3__0 )? )
+            // InternalReportDSL.g:30490:2: ( rule__XVariableDeclaration__Group_3__0 )?
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXVariableDeclarationAccess().getGroup_3()); 
             }
-            // InternalReportDSL.g:30781:2: ( rule__XVariableDeclaration__Group_3__0 )?
-            int alt222=2;
-            int LA222_0 = input.LA(1);
+            // InternalReportDSL.g:30491:2: ( rule__XVariableDeclaration__Group_3__0 )?
+            int alt204=2;
+            int LA204_0 = input.LA(1);
 
-            if ( (LA222_0==13) ) {
-                alt222=1;
+            if ( (LA204_0==13) ) {
+                alt204=1;
             }
-            switch (alt222) {
+            switch (alt204) {
                 case 1 :
-                    // InternalReportDSL.g:30781:3: rule__XVariableDeclaration__Group_3__0
+                    // InternalReportDSL.g:30491:3: rule__XVariableDeclaration__Group_3__0
                     {
                     pushFollow(FOLLOW_2);
                     rule__XVariableDeclaration__Group_3__0();
@@ -101162,14 +100043,14 @@
 
 
     // $ANTLR start "rule__XVariableDeclaration__Group_2_0__0"
-    // InternalReportDSL.g:30790:1: rule__XVariableDeclaration__Group_2_0__0 : rule__XVariableDeclaration__Group_2_0__0__Impl ;
+    // InternalReportDSL.g:30500:1: rule__XVariableDeclaration__Group_2_0__0 : rule__XVariableDeclaration__Group_2_0__0__Impl ;
     public final void rule__XVariableDeclaration__Group_2_0__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:30794:1: ( rule__XVariableDeclaration__Group_2_0__0__Impl )
-            // InternalReportDSL.g:30795:2: rule__XVariableDeclaration__Group_2_0__0__Impl
+            // InternalReportDSL.g:30504:1: ( rule__XVariableDeclaration__Group_2_0__0__Impl )
+            // InternalReportDSL.g:30505:2: rule__XVariableDeclaration__Group_2_0__0__Impl
             {
             pushFollow(FOLLOW_2);
             rule__XVariableDeclaration__Group_2_0__0__Impl();
@@ -101195,23 +100076,23 @@
 
 
     // $ANTLR start "rule__XVariableDeclaration__Group_2_0__0__Impl"
-    // InternalReportDSL.g:30801:1: rule__XVariableDeclaration__Group_2_0__0__Impl : ( ( rule__XVariableDeclaration__Group_2_0_0__0 ) ) ;
+    // InternalReportDSL.g:30511:1: rule__XVariableDeclaration__Group_2_0__0__Impl : ( ( rule__XVariableDeclaration__Group_2_0_0__0 ) ) ;
     public final void rule__XVariableDeclaration__Group_2_0__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:30805:1: ( ( ( rule__XVariableDeclaration__Group_2_0_0__0 ) ) )
-            // InternalReportDSL.g:30806:1: ( ( rule__XVariableDeclaration__Group_2_0_0__0 ) )
+            // InternalReportDSL.g:30515:1: ( ( ( rule__XVariableDeclaration__Group_2_0_0__0 ) ) )
+            // InternalReportDSL.g:30516:1: ( ( rule__XVariableDeclaration__Group_2_0_0__0 ) )
             {
-            // InternalReportDSL.g:30806:1: ( ( rule__XVariableDeclaration__Group_2_0_0__0 ) )
-            // InternalReportDSL.g:30807:2: ( rule__XVariableDeclaration__Group_2_0_0__0 )
+            // InternalReportDSL.g:30516:1: ( ( rule__XVariableDeclaration__Group_2_0_0__0 ) )
+            // InternalReportDSL.g:30517:2: ( rule__XVariableDeclaration__Group_2_0_0__0 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXVariableDeclarationAccess().getGroup_2_0_0()); 
             }
-            // InternalReportDSL.g:30808:2: ( rule__XVariableDeclaration__Group_2_0_0__0 )
-            // InternalReportDSL.g:30808:3: rule__XVariableDeclaration__Group_2_0_0__0
+            // InternalReportDSL.g:30518:2: ( rule__XVariableDeclaration__Group_2_0_0__0 )
+            // InternalReportDSL.g:30518:3: rule__XVariableDeclaration__Group_2_0_0__0
             {
             pushFollow(FOLLOW_2);
             rule__XVariableDeclaration__Group_2_0_0__0();
@@ -101246,14 +100127,14 @@
 
 
     // $ANTLR start "rule__XVariableDeclaration__Group_2_0_0__0"
-    // InternalReportDSL.g:30817:1: rule__XVariableDeclaration__Group_2_0_0__0 : rule__XVariableDeclaration__Group_2_0_0__0__Impl rule__XVariableDeclaration__Group_2_0_0__1 ;
+    // InternalReportDSL.g:30527:1: rule__XVariableDeclaration__Group_2_0_0__0 : rule__XVariableDeclaration__Group_2_0_0__0__Impl rule__XVariableDeclaration__Group_2_0_0__1 ;
     public final void rule__XVariableDeclaration__Group_2_0_0__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:30821:1: ( rule__XVariableDeclaration__Group_2_0_0__0__Impl rule__XVariableDeclaration__Group_2_0_0__1 )
-            // InternalReportDSL.g:30822:2: rule__XVariableDeclaration__Group_2_0_0__0__Impl rule__XVariableDeclaration__Group_2_0_0__1
+            // InternalReportDSL.g:30531:1: ( rule__XVariableDeclaration__Group_2_0_0__0__Impl rule__XVariableDeclaration__Group_2_0_0__1 )
+            // InternalReportDSL.g:30532:2: rule__XVariableDeclaration__Group_2_0_0__0__Impl rule__XVariableDeclaration__Group_2_0_0__1
             {
             pushFollow(FOLLOW_7);
             rule__XVariableDeclaration__Group_2_0_0__0__Impl();
@@ -101284,23 +100165,23 @@
 
 
     // $ANTLR start "rule__XVariableDeclaration__Group_2_0_0__0__Impl"
-    // InternalReportDSL.g:30829:1: rule__XVariableDeclaration__Group_2_0_0__0__Impl : ( ( rule__XVariableDeclaration__TypeAssignment_2_0_0_0 ) ) ;
+    // InternalReportDSL.g:30539:1: rule__XVariableDeclaration__Group_2_0_0__0__Impl : ( ( rule__XVariableDeclaration__TypeAssignment_2_0_0_0 ) ) ;
     public final void rule__XVariableDeclaration__Group_2_0_0__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:30833:1: ( ( ( rule__XVariableDeclaration__TypeAssignment_2_0_0_0 ) ) )
-            // InternalReportDSL.g:30834:1: ( ( rule__XVariableDeclaration__TypeAssignment_2_0_0_0 ) )
+            // InternalReportDSL.g:30543:1: ( ( ( rule__XVariableDeclaration__TypeAssignment_2_0_0_0 ) ) )
+            // InternalReportDSL.g:30544:1: ( ( rule__XVariableDeclaration__TypeAssignment_2_0_0_0 ) )
             {
-            // InternalReportDSL.g:30834:1: ( ( rule__XVariableDeclaration__TypeAssignment_2_0_0_0 ) )
-            // InternalReportDSL.g:30835:2: ( rule__XVariableDeclaration__TypeAssignment_2_0_0_0 )
+            // InternalReportDSL.g:30544:1: ( ( rule__XVariableDeclaration__TypeAssignment_2_0_0_0 ) )
+            // InternalReportDSL.g:30545:2: ( rule__XVariableDeclaration__TypeAssignment_2_0_0_0 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXVariableDeclarationAccess().getTypeAssignment_2_0_0_0()); 
             }
-            // InternalReportDSL.g:30836:2: ( rule__XVariableDeclaration__TypeAssignment_2_0_0_0 )
-            // InternalReportDSL.g:30836:3: rule__XVariableDeclaration__TypeAssignment_2_0_0_0
+            // InternalReportDSL.g:30546:2: ( rule__XVariableDeclaration__TypeAssignment_2_0_0_0 )
+            // InternalReportDSL.g:30546:3: rule__XVariableDeclaration__TypeAssignment_2_0_0_0
             {
             pushFollow(FOLLOW_2);
             rule__XVariableDeclaration__TypeAssignment_2_0_0_0();
@@ -101335,14 +100216,14 @@
 
 
     // $ANTLR start "rule__XVariableDeclaration__Group_2_0_0__1"
-    // InternalReportDSL.g:30844:1: rule__XVariableDeclaration__Group_2_0_0__1 : rule__XVariableDeclaration__Group_2_0_0__1__Impl ;
+    // InternalReportDSL.g:30554:1: rule__XVariableDeclaration__Group_2_0_0__1 : rule__XVariableDeclaration__Group_2_0_0__1__Impl ;
     public final void rule__XVariableDeclaration__Group_2_0_0__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:30848:1: ( rule__XVariableDeclaration__Group_2_0_0__1__Impl )
-            // InternalReportDSL.g:30849:2: rule__XVariableDeclaration__Group_2_0_0__1__Impl
+            // InternalReportDSL.g:30558:1: ( rule__XVariableDeclaration__Group_2_0_0__1__Impl )
+            // InternalReportDSL.g:30559:2: rule__XVariableDeclaration__Group_2_0_0__1__Impl
             {
             pushFollow(FOLLOW_2);
             rule__XVariableDeclaration__Group_2_0_0__1__Impl();
@@ -101368,23 +100249,23 @@
 
 
     // $ANTLR start "rule__XVariableDeclaration__Group_2_0_0__1__Impl"
-    // InternalReportDSL.g:30855:1: rule__XVariableDeclaration__Group_2_0_0__1__Impl : ( ( rule__XVariableDeclaration__NameAssignment_2_0_0_1 ) ) ;
+    // InternalReportDSL.g:30565:1: rule__XVariableDeclaration__Group_2_0_0__1__Impl : ( ( rule__XVariableDeclaration__NameAssignment_2_0_0_1 ) ) ;
     public final void rule__XVariableDeclaration__Group_2_0_0__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:30859:1: ( ( ( rule__XVariableDeclaration__NameAssignment_2_0_0_1 ) ) )
-            // InternalReportDSL.g:30860:1: ( ( rule__XVariableDeclaration__NameAssignment_2_0_0_1 ) )
+            // InternalReportDSL.g:30569:1: ( ( ( rule__XVariableDeclaration__NameAssignment_2_0_0_1 ) ) )
+            // InternalReportDSL.g:30570:1: ( ( rule__XVariableDeclaration__NameAssignment_2_0_0_1 ) )
             {
-            // InternalReportDSL.g:30860:1: ( ( rule__XVariableDeclaration__NameAssignment_2_0_0_1 ) )
-            // InternalReportDSL.g:30861:2: ( rule__XVariableDeclaration__NameAssignment_2_0_0_1 )
+            // InternalReportDSL.g:30570:1: ( ( rule__XVariableDeclaration__NameAssignment_2_0_0_1 ) )
+            // InternalReportDSL.g:30571:2: ( rule__XVariableDeclaration__NameAssignment_2_0_0_1 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXVariableDeclarationAccess().getNameAssignment_2_0_0_1()); 
             }
-            // InternalReportDSL.g:30862:2: ( rule__XVariableDeclaration__NameAssignment_2_0_0_1 )
-            // InternalReportDSL.g:30862:3: rule__XVariableDeclaration__NameAssignment_2_0_0_1
+            // InternalReportDSL.g:30572:2: ( rule__XVariableDeclaration__NameAssignment_2_0_0_1 )
+            // InternalReportDSL.g:30572:3: rule__XVariableDeclaration__NameAssignment_2_0_0_1
             {
             pushFollow(FOLLOW_2);
             rule__XVariableDeclaration__NameAssignment_2_0_0_1();
@@ -101419,16 +100300,16 @@
 
 
     // $ANTLR start "rule__XVariableDeclaration__Group_3__0"
-    // InternalReportDSL.g:30871:1: rule__XVariableDeclaration__Group_3__0 : rule__XVariableDeclaration__Group_3__0__Impl rule__XVariableDeclaration__Group_3__1 ;
+    // InternalReportDSL.g:30581:1: rule__XVariableDeclaration__Group_3__0 : rule__XVariableDeclaration__Group_3__0__Impl rule__XVariableDeclaration__Group_3__1 ;
     public final void rule__XVariableDeclaration__Group_3__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:30875:1: ( rule__XVariableDeclaration__Group_3__0__Impl rule__XVariableDeclaration__Group_3__1 )
-            // InternalReportDSL.g:30876:2: rule__XVariableDeclaration__Group_3__0__Impl rule__XVariableDeclaration__Group_3__1
+            // InternalReportDSL.g:30585:1: ( rule__XVariableDeclaration__Group_3__0__Impl rule__XVariableDeclaration__Group_3__1 )
+            // InternalReportDSL.g:30586:2: rule__XVariableDeclaration__Group_3__0__Impl rule__XVariableDeclaration__Group_3__1
             {
-            pushFollow(FOLLOW_139);
+            pushFollow(FOLLOW_138);
             rule__XVariableDeclaration__Group_3__0__Impl();
 
             state._fsp--;
@@ -101457,17 +100338,17 @@
 
 
     // $ANTLR start "rule__XVariableDeclaration__Group_3__0__Impl"
-    // InternalReportDSL.g:30883:1: rule__XVariableDeclaration__Group_3__0__Impl : ( '=' ) ;
+    // InternalReportDSL.g:30593:1: rule__XVariableDeclaration__Group_3__0__Impl : ( '=' ) ;
     public final void rule__XVariableDeclaration__Group_3__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:30887:1: ( ( '=' ) )
-            // InternalReportDSL.g:30888:1: ( '=' )
+            // InternalReportDSL.g:30597:1: ( ( '=' ) )
+            // InternalReportDSL.g:30598:1: ( '=' )
             {
-            // InternalReportDSL.g:30888:1: ( '=' )
-            // InternalReportDSL.g:30889:2: '='
+            // InternalReportDSL.g:30598:1: ( '=' )
+            // InternalReportDSL.g:30599:2: '='
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXVariableDeclarationAccess().getEqualsSignKeyword_3_0()); 
@@ -101498,14 +100379,14 @@
 
 
     // $ANTLR start "rule__XVariableDeclaration__Group_3__1"
-    // InternalReportDSL.g:30898:1: rule__XVariableDeclaration__Group_3__1 : rule__XVariableDeclaration__Group_3__1__Impl ;
+    // InternalReportDSL.g:30608:1: rule__XVariableDeclaration__Group_3__1 : rule__XVariableDeclaration__Group_3__1__Impl ;
     public final void rule__XVariableDeclaration__Group_3__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:30902:1: ( rule__XVariableDeclaration__Group_3__1__Impl )
-            // InternalReportDSL.g:30903:2: rule__XVariableDeclaration__Group_3__1__Impl
+            // InternalReportDSL.g:30612:1: ( rule__XVariableDeclaration__Group_3__1__Impl )
+            // InternalReportDSL.g:30613:2: rule__XVariableDeclaration__Group_3__1__Impl
             {
             pushFollow(FOLLOW_2);
             rule__XVariableDeclaration__Group_3__1__Impl();
@@ -101531,23 +100412,23 @@
 
 
     // $ANTLR start "rule__XVariableDeclaration__Group_3__1__Impl"
-    // InternalReportDSL.g:30909:1: rule__XVariableDeclaration__Group_3__1__Impl : ( ( rule__XVariableDeclaration__RightAssignment_3_1 ) ) ;
+    // InternalReportDSL.g:30619:1: rule__XVariableDeclaration__Group_3__1__Impl : ( ( rule__XVariableDeclaration__RightAssignment_3_1 ) ) ;
     public final void rule__XVariableDeclaration__Group_3__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:30913:1: ( ( ( rule__XVariableDeclaration__RightAssignment_3_1 ) ) )
-            // InternalReportDSL.g:30914:1: ( ( rule__XVariableDeclaration__RightAssignment_3_1 ) )
+            // InternalReportDSL.g:30623:1: ( ( ( rule__XVariableDeclaration__RightAssignment_3_1 ) ) )
+            // InternalReportDSL.g:30624:1: ( ( rule__XVariableDeclaration__RightAssignment_3_1 ) )
             {
-            // InternalReportDSL.g:30914:1: ( ( rule__XVariableDeclaration__RightAssignment_3_1 ) )
-            // InternalReportDSL.g:30915:2: ( rule__XVariableDeclaration__RightAssignment_3_1 )
+            // InternalReportDSL.g:30624:1: ( ( rule__XVariableDeclaration__RightAssignment_3_1 ) )
+            // InternalReportDSL.g:30625:2: ( rule__XVariableDeclaration__RightAssignment_3_1 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXVariableDeclarationAccess().getRightAssignment_3_1()); 
             }
-            // InternalReportDSL.g:30916:2: ( rule__XVariableDeclaration__RightAssignment_3_1 )
-            // InternalReportDSL.g:30916:3: rule__XVariableDeclaration__RightAssignment_3_1
+            // InternalReportDSL.g:30626:2: ( rule__XVariableDeclaration__RightAssignment_3_1 )
+            // InternalReportDSL.g:30626:3: rule__XVariableDeclaration__RightAssignment_3_1
             {
             pushFollow(FOLLOW_2);
             rule__XVariableDeclaration__RightAssignment_3_1();
@@ -101582,16 +100463,16 @@
 
 
     // $ANTLR start "rule__JvmFormalParameter__Group__0"
-    // InternalReportDSL.g:30925:1: rule__JvmFormalParameter__Group__0 : rule__JvmFormalParameter__Group__0__Impl rule__JvmFormalParameter__Group__1 ;
+    // InternalReportDSL.g:30635:1: rule__JvmFormalParameter__Group__0 : rule__JvmFormalParameter__Group__0__Impl rule__JvmFormalParameter__Group__1 ;
     public final void rule__JvmFormalParameter__Group__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:30929:1: ( rule__JvmFormalParameter__Group__0__Impl rule__JvmFormalParameter__Group__1 )
-            // InternalReportDSL.g:30930:2: rule__JvmFormalParameter__Group__0__Impl rule__JvmFormalParameter__Group__1
+            // InternalReportDSL.g:30639:1: ( rule__JvmFormalParameter__Group__0__Impl rule__JvmFormalParameter__Group__1 )
+            // InternalReportDSL.g:30640:2: rule__JvmFormalParameter__Group__0__Impl rule__JvmFormalParameter__Group__1
             {
-            pushFollow(FOLLOW_156);
+            pushFollow(FOLLOW_155);
             rule__JvmFormalParameter__Group__0__Impl();
 
             state._fsp--;
@@ -101620,38 +100501,38 @@
 
 
     // $ANTLR start "rule__JvmFormalParameter__Group__0__Impl"
-    // InternalReportDSL.g:30937:1: rule__JvmFormalParameter__Group__0__Impl : ( ( rule__JvmFormalParameter__ParameterTypeAssignment_0 )? ) ;
+    // InternalReportDSL.g:30647:1: rule__JvmFormalParameter__Group__0__Impl : ( ( rule__JvmFormalParameter__ParameterTypeAssignment_0 )? ) ;
     public final void rule__JvmFormalParameter__Group__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:30941:1: ( ( ( rule__JvmFormalParameter__ParameterTypeAssignment_0 )? ) )
-            // InternalReportDSL.g:30942:1: ( ( rule__JvmFormalParameter__ParameterTypeAssignment_0 )? )
+            // InternalReportDSL.g:30651:1: ( ( ( rule__JvmFormalParameter__ParameterTypeAssignment_0 )? ) )
+            // InternalReportDSL.g:30652:1: ( ( rule__JvmFormalParameter__ParameterTypeAssignment_0 )? )
             {
-            // InternalReportDSL.g:30942:1: ( ( rule__JvmFormalParameter__ParameterTypeAssignment_0 )? )
-            // InternalReportDSL.g:30943:2: ( rule__JvmFormalParameter__ParameterTypeAssignment_0 )?
+            // InternalReportDSL.g:30652:1: ( ( rule__JvmFormalParameter__ParameterTypeAssignment_0 )? )
+            // InternalReportDSL.g:30653:2: ( rule__JvmFormalParameter__ParameterTypeAssignment_0 )?
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getJvmFormalParameterAccess().getParameterTypeAssignment_0()); 
             }
-            // InternalReportDSL.g:30944:2: ( rule__JvmFormalParameter__ParameterTypeAssignment_0 )?
-            int alt223=2;
-            int LA223_0 = input.LA(1);
+            // InternalReportDSL.g:30654:2: ( rule__JvmFormalParameter__ParameterTypeAssignment_0 )?
+            int alt205=2;
+            int LA205_0 = input.LA(1);
 
-            if ( (LA223_0==RULE_ID) ) {
-                int LA223_1 = input.LA(2);
+            if ( (LA205_0==RULE_ID) ) {
+                int LA205_1 = input.LA(2);
 
-                if ( (LA223_1==RULE_ID||LA223_1==31||LA223_1==47||LA223_1==231) ) {
-                    alt223=1;
+                if ( (LA205_1==RULE_ID||LA205_1==31||LA205_1==47||LA205_1==238) ) {
+                    alt205=1;
                 }
             }
-            else if ( (LA223_0==35||LA223_0==204) ) {
-                alt223=1;
+            else if ( (LA205_0==35||LA205_0==211) ) {
+                alt205=1;
             }
-            switch (alt223) {
+            switch (alt205) {
                 case 1 :
-                    // InternalReportDSL.g:30944:3: rule__JvmFormalParameter__ParameterTypeAssignment_0
+                    // InternalReportDSL.g:30654:3: rule__JvmFormalParameter__ParameterTypeAssignment_0
                     {
                     pushFollow(FOLLOW_2);
                     rule__JvmFormalParameter__ParameterTypeAssignment_0();
@@ -101689,14 +100570,14 @@
 
 
     // $ANTLR start "rule__JvmFormalParameter__Group__1"
-    // InternalReportDSL.g:30952:1: rule__JvmFormalParameter__Group__1 : rule__JvmFormalParameter__Group__1__Impl ;
+    // InternalReportDSL.g:30662:1: rule__JvmFormalParameter__Group__1 : rule__JvmFormalParameter__Group__1__Impl ;
     public final void rule__JvmFormalParameter__Group__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:30956:1: ( rule__JvmFormalParameter__Group__1__Impl )
-            // InternalReportDSL.g:30957:2: rule__JvmFormalParameter__Group__1__Impl
+            // InternalReportDSL.g:30666:1: ( rule__JvmFormalParameter__Group__1__Impl )
+            // InternalReportDSL.g:30667:2: rule__JvmFormalParameter__Group__1__Impl
             {
             pushFollow(FOLLOW_2);
             rule__JvmFormalParameter__Group__1__Impl();
@@ -101722,23 +100603,23 @@
 
 
     // $ANTLR start "rule__JvmFormalParameter__Group__1__Impl"
-    // InternalReportDSL.g:30963:1: rule__JvmFormalParameter__Group__1__Impl : ( ( rule__JvmFormalParameter__NameAssignment_1 ) ) ;
+    // InternalReportDSL.g:30673:1: rule__JvmFormalParameter__Group__1__Impl : ( ( rule__JvmFormalParameter__NameAssignment_1 ) ) ;
     public final void rule__JvmFormalParameter__Group__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:30967:1: ( ( ( rule__JvmFormalParameter__NameAssignment_1 ) ) )
-            // InternalReportDSL.g:30968:1: ( ( rule__JvmFormalParameter__NameAssignment_1 ) )
+            // InternalReportDSL.g:30677:1: ( ( ( rule__JvmFormalParameter__NameAssignment_1 ) ) )
+            // InternalReportDSL.g:30678:1: ( ( rule__JvmFormalParameter__NameAssignment_1 ) )
             {
-            // InternalReportDSL.g:30968:1: ( ( rule__JvmFormalParameter__NameAssignment_1 ) )
-            // InternalReportDSL.g:30969:2: ( rule__JvmFormalParameter__NameAssignment_1 )
+            // InternalReportDSL.g:30678:1: ( ( rule__JvmFormalParameter__NameAssignment_1 ) )
+            // InternalReportDSL.g:30679:2: ( rule__JvmFormalParameter__NameAssignment_1 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getJvmFormalParameterAccess().getNameAssignment_1()); 
             }
-            // InternalReportDSL.g:30970:2: ( rule__JvmFormalParameter__NameAssignment_1 )
-            // InternalReportDSL.g:30970:3: rule__JvmFormalParameter__NameAssignment_1
+            // InternalReportDSL.g:30680:2: ( rule__JvmFormalParameter__NameAssignment_1 )
+            // InternalReportDSL.g:30680:3: rule__JvmFormalParameter__NameAssignment_1
             {
             pushFollow(FOLLOW_2);
             rule__JvmFormalParameter__NameAssignment_1();
@@ -101773,14 +100654,14 @@
 
 
     // $ANTLR start "rule__FullJvmFormalParameter__Group__0"
-    // InternalReportDSL.g:30979:1: rule__FullJvmFormalParameter__Group__0 : rule__FullJvmFormalParameter__Group__0__Impl rule__FullJvmFormalParameter__Group__1 ;
+    // InternalReportDSL.g:30689:1: rule__FullJvmFormalParameter__Group__0 : rule__FullJvmFormalParameter__Group__0__Impl rule__FullJvmFormalParameter__Group__1 ;
     public final void rule__FullJvmFormalParameter__Group__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:30983:1: ( rule__FullJvmFormalParameter__Group__0__Impl rule__FullJvmFormalParameter__Group__1 )
-            // InternalReportDSL.g:30984:2: rule__FullJvmFormalParameter__Group__0__Impl rule__FullJvmFormalParameter__Group__1
+            // InternalReportDSL.g:30693:1: ( rule__FullJvmFormalParameter__Group__0__Impl rule__FullJvmFormalParameter__Group__1 )
+            // InternalReportDSL.g:30694:2: rule__FullJvmFormalParameter__Group__0__Impl rule__FullJvmFormalParameter__Group__1
             {
             pushFollow(FOLLOW_7);
             rule__FullJvmFormalParameter__Group__0__Impl();
@@ -101811,23 +100692,23 @@
 
 
     // $ANTLR start "rule__FullJvmFormalParameter__Group__0__Impl"
-    // InternalReportDSL.g:30991:1: rule__FullJvmFormalParameter__Group__0__Impl : ( ( rule__FullJvmFormalParameter__ParameterTypeAssignment_0 ) ) ;
+    // InternalReportDSL.g:30701:1: rule__FullJvmFormalParameter__Group__0__Impl : ( ( rule__FullJvmFormalParameter__ParameterTypeAssignment_0 ) ) ;
     public final void rule__FullJvmFormalParameter__Group__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:30995:1: ( ( ( rule__FullJvmFormalParameter__ParameterTypeAssignment_0 ) ) )
-            // InternalReportDSL.g:30996:1: ( ( rule__FullJvmFormalParameter__ParameterTypeAssignment_0 ) )
+            // InternalReportDSL.g:30705:1: ( ( ( rule__FullJvmFormalParameter__ParameterTypeAssignment_0 ) ) )
+            // InternalReportDSL.g:30706:1: ( ( rule__FullJvmFormalParameter__ParameterTypeAssignment_0 ) )
             {
-            // InternalReportDSL.g:30996:1: ( ( rule__FullJvmFormalParameter__ParameterTypeAssignment_0 ) )
-            // InternalReportDSL.g:30997:2: ( rule__FullJvmFormalParameter__ParameterTypeAssignment_0 )
+            // InternalReportDSL.g:30706:1: ( ( rule__FullJvmFormalParameter__ParameterTypeAssignment_0 ) )
+            // InternalReportDSL.g:30707:2: ( rule__FullJvmFormalParameter__ParameterTypeAssignment_0 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getFullJvmFormalParameterAccess().getParameterTypeAssignment_0()); 
             }
-            // InternalReportDSL.g:30998:2: ( rule__FullJvmFormalParameter__ParameterTypeAssignment_0 )
-            // InternalReportDSL.g:30998:3: rule__FullJvmFormalParameter__ParameterTypeAssignment_0
+            // InternalReportDSL.g:30708:2: ( rule__FullJvmFormalParameter__ParameterTypeAssignment_0 )
+            // InternalReportDSL.g:30708:3: rule__FullJvmFormalParameter__ParameterTypeAssignment_0
             {
             pushFollow(FOLLOW_2);
             rule__FullJvmFormalParameter__ParameterTypeAssignment_0();
@@ -101862,14 +100743,14 @@
 
 
     // $ANTLR start "rule__FullJvmFormalParameter__Group__1"
-    // InternalReportDSL.g:31006:1: rule__FullJvmFormalParameter__Group__1 : rule__FullJvmFormalParameter__Group__1__Impl ;
+    // InternalReportDSL.g:30716:1: rule__FullJvmFormalParameter__Group__1 : rule__FullJvmFormalParameter__Group__1__Impl ;
     public final void rule__FullJvmFormalParameter__Group__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:31010:1: ( rule__FullJvmFormalParameter__Group__1__Impl )
-            // InternalReportDSL.g:31011:2: rule__FullJvmFormalParameter__Group__1__Impl
+            // InternalReportDSL.g:30720:1: ( rule__FullJvmFormalParameter__Group__1__Impl )
+            // InternalReportDSL.g:30721:2: rule__FullJvmFormalParameter__Group__1__Impl
             {
             pushFollow(FOLLOW_2);
             rule__FullJvmFormalParameter__Group__1__Impl();
@@ -101895,23 +100776,23 @@
 
 
     // $ANTLR start "rule__FullJvmFormalParameter__Group__1__Impl"
-    // InternalReportDSL.g:31017:1: rule__FullJvmFormalParameter__Group__1__Impl : ( ( rule__FullJvmFormalParameter__NameAssignment_1 ) ) ;
+    // InternalReportDSL.g:30727:1: rule__FullJvmFormalParameter__Group__1__Impl : ( ( rule__FullJvmFormalParameter__NameAssignment_1 ) ) ;
     public final void rule__FullJvmFormalParameter__Group__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:31021:1: ( ( ( rule__FullJvmFormalParameter__NameAssignment_1 ) ) )
-            // InternalReportDSL.g:31022:1: ( ( rule__FullJvmFormalParameter__NameAssignment_1 ) )
+            // InternalReportDSL.g:30731:1: ( ( ( rule__FullJvmFormalParameter__NameAssignment_1 ) ) )
+            // InternalReportDSL.g:30732:1: ( ( rule__FullJvmFormalParameter__NameAssignment_1 ) )
             {
-            // InternalReportDSL.g:31022:1: ( ( rule__FullJvmFormalParameter__NameAssignment_1 ) )
-            // InternalReportDSL.g:31023:2: ( rule__FullJvmFormalParameter__NameAssignment_1 )
+            // InternalReportDSL.g:30732:1: ( ( rule__FullJvmFormalParameter__NameAssignment_1 ) )
+            // InternalReportDSL.g:30733:2: ( rule__FullJvmFormalParameter__NameAssignment_1 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getFullJvmFormalParameterAccess().getNameAssignment_1()); 
             }
-            // InternalReportDSL.g:31024:2: ( rule__FullJvmFormalParameter__NameAssignment_1 )
-            // InternalReportDSL.g:31024:3: rule__FullJvmFormalParameter__NameAssignment_1
+            // InternalReportDSL.g:30734:2: ( rule__FullJvmFormalParameter__NameAssignment_1 )
+            // InternalReportDSL.g:30734:3: rule__FullJvmFormalParameter__NameAssignment_1
             {
             pushFollow(FOLLOW_2);
             rule__FullJvmFormalParameter__NameAssignment_1();
@@ -101946,16 +100827,16 @@
 
 
     // $ANTLR start "rule__XFeatureCall__Group__0"
-    // InternalReportDSL.g:31033:1: rule__XFeatureCall__Group__0 : rule__XFeatureCall__Group__0__Impl rule__XFeatureCall__Group__1 ;
+    // InternalReportDSL.g:30743:1: rule__XFeatureCall__Group__0 : rule__XFeatureCall__Group__0__Impl rule__XFeatureCall__Group__1 ;
     public final void rule__XFeatureCall__Group__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:31037:1: ( rule__XFeatureCall__Group__0__Impl rule__XFeatureCall__Group__1 )
-            // InternalReportDSL.g:31038:2: rule__XFeatureCall__Group__0__Impl rule__XFeatureCall__Group__1
+            // InternalReportDSL.g:30747:1: ( rule__XFeatureCall__Group__0__Impl rule__XFeatureCall__Group__1 )
+            // InternalReportDSL.g:30748:2: rule__XFeatureCall__Group__0__Impl rule__XFeatureCall__Group__1
             {
-            pushFollow(FOLLOW_174);
+            pushFollow(FOLLOW_172);
             rule__XFeatureCall__Group__0__Impl();
 
             state._fsp--;
@@ -101984,23 +100865,23 @@
 
 
     // $ANTLR start "rule__XFeatureCall__Group__0__Impl"
-    // InternalReportDSL.g:31045:1: rule__XFeatureCall__Group__0__Impl : ( () ) ;
+    // InternalReportDSL.g:30755:1: rule__XFeatureCall__Group__0__Impl : ( () ) ;
     public final void rule__XFeatureCall__Group__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:31049:1: ( ( () ) )
-            // InternalReportDSL.g:31050:1: ( () )
+            // InternalReportDSL.g:30759:1: ( ( () ) )
+            // InternalReportDSL.g:30760:1: ( () )
             {
-            // InternalReportDSL.g:31050:1: ( () )
-            // InternalReportDSL.g:31051:2: ()
+            // InternalReportDSL.g:30760:1: ( () )
+            // InternalReportDSL.g:30761:2: ()
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXFeatureCallAccess().getXFeatureCallAction_0()); 
             }
-            // InternalReportDSL.g:31052:2: ()
-            // InternalReportDSL.g:31052:3: 
+            // InternalReportDSL.g:30762:2: ()
+            // InternalReportDSL.g:30762:3: 
             {
             }
 
@@ -102025,16 +100906,16 @@
 
 
     // $ANTLR start "rule__XFeatureCall__Group__1"
-    // InternalReportDSL.g:31060:1: rule__XFeatureCall__Group__1 : rule__XFeatureCall__Group__1__Impl rule__XFeatureCall__Group__2 ;
+    // InternalReportDSL.g:30770:1: rule__XFeatureCall__Group__1 : rule__XFeatureCall__Group__1__Impl rule__XFeatureCall__Group__2 ;
     public final void rule__XFeatureCall__Group__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:31064:1: ( rule__XFeatureCall__Group__1__Impl rule__XFeatureCall__Group__2 )
-            // InternalReportDSL.g:31065:2: rule__XFeatureCall__Group__1__Impl rule__XFeatureCall__Group__2
+            // InternalReportDSL.g:30774:1: ( rule__XFeatureCall__Group__1__Impl rule__XFeatureCall__Group__2 )
+            // InternalReportDSL.g:30775:2: rule__XFeatureCall__Group__1__Impl rule__XFeatureCall__Group__2
             {
-            pushFollow(FOLLOW_174);
+            pushFollow(FOLLOW_172);
             rule__XFeatureCall__Group__1__Impl();
 
             state._fsp--;
@@ -102063,31 +100944,31 @@
 
 
     // $ANTLR start "rule__XFeatureCall__Group__1__Impl"
-    // InternalReportDSL.g:31072:1: rule__XFeatureCall__Group__1__Impl : ( ( rule__XFeatureCall__Group_1__0 )? ) ;
+    // InternalReportDSL.g:30782:1: rule__XFeatureCall__Group__1__Impl : ( ( rule__XFeatureCall__Group_1__0 )? ) ;
     public final void rule__XFeatureCall__Group__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:31076:1: ( ( ( rule__XFeatureCall__Group_1__0 )? ) )
-            // InternalReportDSL.g:31077:1: ( ( rule__XFeatureCall__Group_1__0 )? )
+            // InternalReportDSL.g:30786:1: ( ( ( rule__XFeatureCall__Group_1__0 )? ) )
+            // InternalReportDSL.g:30787:1: ( ( rule__XFeatureCall__Group_1__0 )? )
             {
-            // InternalReportDSL.g:31077:1: ( ( rule__XFeatureCall__Group_1__0 )? )
-            // InternalReportDSL.g:31078:2: ( rule__XFeatureCall__Group_1__0 )?
+            // InternalReportDSL.g:30787:1: ( ( rule__XFeatureCall__Group_1__0 )? )
+            // InternalReportDSL.g:30788:2: ( rule__XFeatureCall__Group_1__0 )?
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXFeatureCallAccess().getGroup_1()); 
             }
-            // InternalReportDSL.g:31079:2: ( rule__XFeatureCall__Group_1__0 )?
-            int alt224=2;
-            int LA224_0 = input.LA(1);
+            // InternalReportDSL.g:30789:2: ( rule__XFeatureCall__Group_1__0 )?
+            int alt206=2;
+            int LA206_0 = input.LA(1);
 
-            if ( (LA224_0==31) ) {
-                alt224=1;
+            if ( (LA206_0==31) ) {
+                alt206=1;
             }
-            switch (alt224) {
+            switch (alt206) {
                 case 1 :
-                    // InternalReportDSL.g:31079:3: rule__XFeatureCall__Group_1__0
+                    // InternalReportDSL.g:30789:3: rule__XFeatureCall__Group_1__0
                     {
                     pushFollow(FOLLOW_2);
                     rule__XFeatureCall__Group_1__0();
@@ -102125,16 +101006,16 @@
 
 
     // $ANTLR start "rule__XFeatureCall__Group__2"
-    // InternalReportDSL.g:31087:1: rule__XFeatureCall__Group__2 : rule__XFeatureCall__Group__2__Impl rule__XFeatureCall__Group__3 ;
+    // InternalReportDSL.g:30797:1: rule__XFeatureCall__Group__2 : rule__XFeatureCall__Group__2__Impl rule__XFeatureCall__Group__3 ;
     public final void rule__XFeatureCall__Group__2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:31091:1: ( rule__XFeatureCall__Group__2__Impl rule__XFeatureCall__Group__3 )
-            // InternalReportDSL.g:31092:2: rule__XFeatureCall__Group__2__Impl rule__XFeatureCall__Group__3
+            // InternalReportDSL.g:30801:1: ( rule__XFeatureCall__Group__2__Impl rule__XFeatureCall__Group__3 )
+            // InternalReportDSL.g:30802:2: rule__XFeatureCall__Group__2__Impl rule__XFeatureCall__Group__3
             {
-            pushFollow(FOLLOW_175);
+            pushFollow(FOLLOW_173);
             rule__XFeatureCall__Group__2__Impl();
 
             state._fsp--;
@@ -102163,23 +101044,23 @@
 
 
     // $ANTLR start "rule__XFeatureCall__Group__2__Impl"
-    // InternalReportDSL.g:31099:1: rule__XFeatureCall__Group__2__Impl : ( ( rule__XFeatureCall__FeatureAssignment_2 ) ) ;
+    // InternalReportDSL.g:30809:1: rule__XFeatureCall__Group__2__Impl : ( ( rule__XFeatureCall__FeatureAssignment_2 ) ) ;
     public final void rule__XFeatureCall__Group__2__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:31103:1: ( ( ( rule__XFeatureCall__FeatureAssignment_2 ) ) )
-            // InternalReportDSL.g:31104:1: ( ( rule__XFeatureCall__FeatureAssignment_2 ) )
+            // InternalReportDSL.g:30813:1: ( ( ( rule__XFeatureCall__FeatureAssignment_2 ) ) )
+            // InternalReportDSL.g:30814:1: ( ( rule__XFeatureCall__FeatureAssignment_2 ) )
             {
-            // InternalReportDSL.g:31104:1: ( ( rule__XFeatureCall__FeatureAssignment_2 ) )
-            // InternalReportDSL.g:31105:2: ( rule__XFeatureCall__FeatureAssignment_2 )
+            // InternalReportDSL.g:30814:1: ( ( rule__XFeatureCall__FeatureAssignment_2 ) )
+            // InternalReportDSL.g:30815:2: ( rule__XFeatureCall__FeatureAssignment_2 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXFeatureCallAccess().getFeatureAssignment_2()); 
             }
-            // InternalReportDSL.g:31106:2: ( rule__XFeatureCall__FeatureAssignment_2 )
-            // InternalReportDSL.g:31106:3: rule__XFeatureCall__FeatureAssignment_2
+            // InternalReportDSL.g:30816:2: ( rule__XFeatureCall__FeatureAssignment_2 )
+            // InternalReportDSL.g:30816:3: rule__XFeatureCall__FeatureAssignment_2
             {
             pushFollow(FOLLOW_2);
             rule__XFeatureCall__FeatureAssignment_2();
@@ -102214,16 +101095,16 @@
 
 
     // $ANTLR start "rule__XFeatureCall__Group__3"
-    // InternalReportDSL.g:31114:1: rule__XFeatureCall__Group__3 : rule__XFeatureCall__Group__3__Impl rule__XFeatureCall__Group__4 ;
+    // InternalReportDSL.g:30824:1: rule__XFeatureCall__Group__3 : rule__XFeatureCall__Group__3__Impl rule__XFeatureCall__Group__4 ;
     public final void rule__XFeatureCall__Group__3() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:31118:1: ( rule__XFeatureCall__Group__3__Impl rule__XFeatureCall__Group__4 )
-            // InternalReportDSL.g:31119:2: rule__XFeatureCall__Group__3__Impl rule__XFeatureCall__Group__4
+            // InternalReportDSL.g:30828:1: ( rule__XFeatureCall__Group__3__Impl rule__XFeatureCall__Group__4 )
+            // InternalReportDSL.g:30829:2: rule__XFeatureCall__Group__3__Impl rule__XFeatureCall__Group__4
             {
-            pushFollow(FOLLOW_175);
+            pushFollow(FOLLOW_173);
             rule__XFeatureCall__Group__3__Impl();
 
             state._fsp--;
@@ -102252,27 +101133,27 @@
 
 
     // $ANTLR start "rule__XFeatureCall__Group__3__Impl"
-    // InternalReportDSL.g:31126:1: rule__XFeatureCall__Group__3__Impl : ( ( rule__XFeatureCall__Group_3__0 )? ) ;
+    // InternalReportDSL.g:30836:1: rule__XFeatureCall__Group__3__Impl : ( ( rule__XFeatureCall__Group_3__0 )? ) ;
     public final void rule__XFeatureCall__Group__3__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:31130:1: ( ( ( rule__XFeatureCall__Group_3__0 )? ) )
-            // InternalReportDSL.g:31131:1: ( ( rule__XFeatureCall__Group_3__0 )? )
+            // InternalReportDSL.g:30840:1: ( ( ( rule__XFeatureCall__Group_3__0 )? ) )
+            // InternalReportDSL.g:30841:1: ( ( rule__XFeatureCall__Group_3__0 )? )
             {
-            // InternalReportDSL.g:31131:1: ( ( rule__XFeatureCall__Group_3__0 )? )
-            // InternalReportDSL.g:31132:2: ( rule__XFeatureCall__Group_3__0 )?
+            // InternalReportDSL.g:30841:1: ( ( rule__XFeatureCall__Group_3__0 )? )
+            // InternalReportDSL.g:30842:2: ( rule__XFeatureCall__Group_3__0 )?
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXFeatureCallAccess().getGroup_3()); 
             }
-            // InternalReportDSL.g:31133:2: ( rule__XFeatureCall__Group_3__0 )?
-            int alt225=2;
-            alt225 = dfa225.predict(input);
-            switch (alt225) {
+            // InternalReportDSL.g:30843:2: ( rule__XFeatureCall__Group_3__0 )?
+            int alt207=2;
+            alt207 = dfa207.predict(input);
+            switch (alt207) {
                 case 1 :
-                    // InternalReportDSL.g:31133:3: rule__XFeatureCall__Group_3__0
+                    // InternalReportDSL.g:30843:3: rule__XFeatureCall__Group_3__0
                     {
                     pushFollow(FOLLOW_2);
                     rule__XFeatureCall__Group_3__0();
@@ -102310,14 +101191,14 @@
 
 
     // $ANTLR start "rule__XFeatureCall__Group__4"
-    // InternalReportDSL.g:31141:1: rule__XFeatureCall__Group__4 : rule__XFeatureCall__Group__4__Impl ;
+    // InternalReportDSL.g:30851:1: rule__XFeatureCall__Group__4 : rule__XFeatureCall__Group__4__Impl ;
     public final void rule__XFeatureCall__Group__4() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:31145:1: ( rule__XFeatureCall__Group__4__Impl )
-            // InternalReportDSL.g:31146:2: rule__XFeatureCall__Group__4__Impl
+            // InternalReportDSL.g:30855:1: ( rule__XFeatureCall__Group__4__Impl )
+            // InternalReportDSL.g:30856:2: rule__XFeatureCall__Group__4__Impl
             {
             pushFollow(FOLLOW_2);
             rule__XFeatureCall__Group__4__Impl();
@@ -102343,27 +101224,27 @@
 
 
     // $ANTLR start "rule__XFeatureCall__Group__4__Impl"
-    // InternalReportDSL.g:31152:1: rule__XFeatureCall__Group__4__Impl : ( ( rule__XFeatureCall__FeatureCallArgumentsAssignment_4 )? ) ;
+    // InternalReportDSL.g:30862:1: rule__XFeatureCall__Group__4__Impl : ( ( rule__XFeatureCall__FeatureCallArgumentsAssignment_4 )? ) ;
     public final void rule__XFeatureCall__Group__4__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:31156:1: ( ( ( rule__XFeatureCall__FeatureCallArgumentsAssignment_4 )? ) )
-            // InternalReportDSL.g:31157:1: ( ( rule__XFeatureCall__FeatureCallArgumentsAssignment_4 )? )
+            // InternalReportDSL.g:30866:1: ( ( ( rule__XFeatureCall__FeatureCallArgumentsAssignment_4 )? ) )
+            // InternalReportDSL.g:30867:1: ( ( rule__XFeatureCall__FeatureCallArgumentsAssignment_4 )? )
             {
-            // InternalReportDSL.g:31157:1: ( ( rule__XFeatureCall__FeatureCallArgumentsAssignment_4 )? )
-            // InternalReportDSL.g:31158:2: ( rule__XFeatureCall__FeatureCallArgumentsAssignment_4 )?
+            // InternalReportDSL.g:30867:1: ( ( rule__XFeatureCall__FeatureCallArgumentsAssignment_4 )? )
+            // InternalReportDSL.g:30868:2: ( rule__XFeatureCall__FeatureCallArgumentsAssignment_4 )?
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXFeatureCallAccess().getFeatureCallArgumentsAssignment_4()); 
             }
-            // InternalReportDSL.g:31159:2: ( rule__XFeatureCall__FeatureCallArgumentsAssignment_4 )?
-            int alt226=2;
-            alt226 = dfa226.predict(input);
-            switch (alt226) {
+            // InternalReportDSL.g:30869:2: ( rule__XFeatureCall__FeatureCallArgumentsAssignment_4 )?
+            int alt208=2;
+            alt208 = dfa208.predict(input);
+            switch (alt208) {
                 case 1 :
-                    // InternalReportDSL.g:31159:3: rule__XFeatureCall__FeatureCallArgumentsAssignment_4
+                    // InternalReportDSL.g:30869:3: rule__XFeatureCall__FeatureCallArgumentsAssignment_4
                     {
                     pushFollow(FOLLOW_2);
                     rule__XFeatureCall__FeatureCallArgumentsAssignment_4();
@@ -102401,16 +101282,16 @@
 
 
     // $ANTLR start "rule__XFeatureCall__Group_1__0"
-    // InternalReportDSL.g:31168:1: rule__XFeatureCall__Group_1__0 : rule__XFeatureCall__Group_1__0__Impl rule__XFeatureCall__Group_1__1 ;
+    // InternalReportDSL.g:30878:1: rule__XFeatureCall__Group_1__0 : rule__XFeatureCall__Group_1__0__Impl rule__XFeatureCall__Group_1__1 ;
     public final void rule__XFeatureCall__Group_1__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:31172:1: ( rule__XFeatureCall__Group_1__0__Impl rule__XFeatureCall__Group_1__1 )
-            // InternalReportDSL.g:31173:2: rule__XFeatureCall__Group_1__0__Impl rule__XFeatureCall__Group_1__1
+            // InternalReportDSL.g:30882:1: ( rule__XFeatureCall__Group_1__0__Impl rule__XFeatureCall__Group_1__1 )
+            // InternalReportDSL.g:30883:2: rule__XFeatureCall__Group_1__0__Impl rule__XFeatureCall__Group_1__1
             {
-            pushFollow(FOLLOW_176);
+            pushFollow(FOLLOW_174);
             rule__XFeatureCall__Group_1__0__Impl();
 
             state._fsp--;
@@ -102439,17 +101320,17 @@
 
 
     // $ANTLR start "rule__XFeatureCall__Group_1__0__Impl"
-    // InternalReportDSL.g:31180:1: rule__XFeatureCall__Group_1__0__Impl : ( '<' ) ;
+    // InternalReportDSL.g:30890:1: rule__XFeatureCall__Group_1__0__Impl : ( '<' ) ;
     public final void rule__XFeatureCall__Group_1__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:31184:1: ( ( '<' ) )
-            // InternalReportDSL.g:31185:1: ( '<' )
+            // InternalReportDSL.g:30894:1: ( ( '<' ) )
+            // InternalReportDSL.g:30895:1: ( '<' )
             {
-            // InternalReportDSL.g:31185:1: ( '<' )
-            // InternalReportDSL.g:31186:2: '<'
+            // InternalReportDSL.g:30895:1: ( '<' )
+            // InternalReportDSL.g:30896:2: '<'
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXFeatureCallAccess().getLessThanSignKeyword_1_0()); 
@@ -102480,16 +101361,16 @@
 
 
     // $ANTLR start "rule__XFeatureCall__Group_1__1"
-    // InternalReportDSL.g:31195:1: rule__XFeatureCall__Group_1__1 : rule__XFeatureCall__Group_1__1__Impl rule__XFeatureCall__Group_1__2 ;
+    // InternalReportDSL.g:30905:1: rule__XFeatureCall__Group_1__1 : rule__XFeatureCall__Group_1__1__Impl rule__XFeatureCall__Group_1__2 ;
     public final void rule__XFeatureCall__Group_1__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:31199:1: ( rule__XFeatureCall__Group_1__1__Impl rule__XFeatureCall__Group_1__2 )
-            // InternalReportDSL.g:31200:2: rule__XFeatureCall__Group_1__1__Impl rule__XFeatureCall__Group_1__2
+            // InternalReportDSL.g:30909:1: ( rule__XFeatureCall__Group_1__1__Impl rule__XFeatureCall__Group_1__2 )
+            // InternalReportDSL.g:30910:2: rule__XFeatureCall__Group_1__1__Impl rule__XFeatureCall__Group_1__2
             {
-            pushFollow(FOLLOW_177);
+            pushFollow(FOLLOW_175);
             rule__XFeatureCall__Group_1__1__Impl();
 
             state._fsp--;
@@ -102518,23 +101399,23 @@
 
 
     // $ANTLR start "rule__XFeatureCall__Group_1__1__Impl"
-    // InternalReportDSL.g:31207:1: rule__XFeatureCall__Group_1__1__Impl : ( ( rule__XFeatureCall__TypeArgumentsAssignment_1_1 ) ) ;
+    // InternalReportDSL.g:30917:1: rule__XFeatureCall__Group_1__1__Impl : ( ( rule__XFeatureCall__TypeArgumentsAssignment_1_1 ) ) ;
     public final void rule__XFeatureCall__Group_1__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:31211:1: ( ( ( rule__XFeatureCall__TypeArgumentsAssignment_1_1 ) ) )
-            // InternalReportDSL.g:31212:1: ( ( rule__XFeatureCall__TypeArgumentsAssignment_1_1 ) )
+            // InternalReportDSL.g:30921:1: ( ( ( rule__XFeatureCall__TypeArgumentsAssignment_1_1 ) ) )
+            // InternalReportDSL.g:30922:1: ( ( rule__XFeatureCall__TypeArgumentsAssignment_1_1 ) )
             {
-            // InternalReportDSL.g:31212:1: ( ( rule__XFeatureCall__TypeArgumentsAssignment_1_1 ) )
-            // InternalReportDSL.g:31213:2: ( rule__XFeatureCall__TypeArgumentsAssignment_1_1 )
+            // InternalReportDSL.g:30922:1: ( ( rule__XFeatureCall__TypeArgumentsAssignment_1_1 ) )
+            // InternalReportDSL.g:30923:2: ( rule__XFeatureCall__TypeArgumentsAssignment_1_1 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXFeatureCallAccess().getTypeArgumentsAssignment_1_1()); 
             }
-            // InternalReportDSL.g:31214:2: ( rule__XFeatureCall__TypeArgumentsAssignment_1_1 )
-            // InternalReportDSL.g:31214:3: rule__XFeatureCall__TypeArgumentsAssignment_1_1
+            // InternalReportDSL.g:30924:2: ( rule__XFeatureCall__TypeArgumentsAssignment_1_1 )
+            // InternalReportDSL.g:30924:3: rule__XFeatureCall__TypeArgumentsAssignment_1_1
             {
             pushFollow(FOLLOW_2);
             rule__XFeatureCall__TypeArgumentsAssignment_1_1();
@@ -102569,16 +101450,16 @@
 
 
     // $ANTLR start "rule__XFeatureCall__Group_1__2"
-    // InternalReportDSL.g:31222:1: rule__XFeatureCall__Group_1__2 : rule__XFeatureCall__Group_1__2__Impl rule__XFeatureCall__Group_1__3 ;
+    // InternalReportDSL.g:30932:1: rule__XFeatureCall__Group_1__2 : rule__XFeatureCall__Group_1__2__Impl rule__XFeatureCall__Group_1__3 ;
     public final void rule__XFeatureCall__Group_1__2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:31226:1: ( rule__XFeatureCall__Group_1__2__Impl rule__XFeatureCall__Group_1__3 )
-            // InternalReportDSL.g:31227:2: rule__XFeatureCall__Group_1__2__Impl rule__XFeatureCall__Group_1__3
+            // InternalReportDSL.g:30936:1: ( rule__XFeatureCall__Group_1__2__Impl rule__XFeatureCall__Group_1__3 )
+            // InternalReportDSL.g:30937:2: rule__XFeatureCall__Group_1__2__Impl rule__XFeatureCall__Group_1__3
             {
-            pushFollow(FOLLOW_177);
+            pushFollow(FOLLOW_175);
             rule__XFeatureCall__Group_1__2__Impl();
 
             state._fsp--;
@@ -102607,37 +101488,37 @@
 
 
     // $ANTLR start "rule__XFeatureCall__Group_1__2__Impl"
-    // InternalReportDSL.g:31234:1: rule__XFeatureCall__Group_1__2__Impl : ( ( rule__XFeatureCall__Group_1_2__0 )* ) ;
+    // InternalReportDSL.g:30944:1: rule__XFeatureCall__Group_1__2__Impl : ( ( rule__XFeatureCall__Group_1_2__0 )* ) ;
     public final void rule__XFeatureCall__Group_1__2__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:31238:1: ( ( ( rule__XFeatureCall__Group_1_2__0 )* ) )
-            // InternalReportDSL.g:31239:1: ( ( rule__XFeatureCall__Group_1_2__0 )* )
+            // InternalReportDSL.g:30948:1: ( ( ( rule__XFeatureCall__Group_1_2__0 )* ) )
+            // InternalReportDSL.g:30949:1: ( ( rule__XFeatureCall__Group_1_2__0 )* )
             {
-            // InternalReportDSL.g:31239:1: ( ( rule__XFeatureCall__Group_1_2__0 )* )
-            // InternalReportDSL.g:31240:2: ( rule__XFeatureCall__Group_1_2__0 )*
+            // InternalReportDSL.g:30949:1: ( ( rule__XFeatureCall__Group_1_2__0 )* )
+            // InternalReportDSL.g:30950:2: ( rule__XFeatureCall__Group_1_2__0 )*
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXFeatureCallAccess().getGroup_1_2()); 
             }
-            // InternalReportDSL.g:31241:2: ( rule__XFeatureCall__Group_1_2__0 )*
-            loop227:
+            // InternalReportDSL.g:30951:2: ( rule__XFeatureCall__Group_1_2__0 )*
+            loop209:
             do {
-                int alt227=2;
-                int LA227_0 = input.LA(1);
+                int alt209=2;
+                int LA209_0 = input.LA(1);
 
-                if ( (LA227_0==228) ) {
-                    alt227=1;
+                if ( (LA209_0==235) ) {
+                    alt209=1;
                 }
 
 
-                switch (alt227) {
+                switch (alt209) {
             	case 1 :
-            	    // InternalReportDSL.g:31241:3: rule__XFeatureCall__Group_1_2__0
+            	    // InternalReportDSL.g:30951:3: rule__XFeatureCall__Group_1_2__0
             	    {
-            	    pushFollow(FOLLOW_138);
+            	    pushFollow(FOLLOW_137);
             	    rule__XFeatureCall__Group_1_2__0();
 
             	    state._fsp--;
@@ -102647,7 +101528,7 @@
             	    break;
 
             	default :
-            	    break loop227;
+            	    break loop209;
                 }
             } while (true);
 
@@ -102676,14 +101557,14 @@
 
 
     // $ANTLR start "rule__XFeatureCall__Group_1__3"
-    // InternalReportDSL.g:31249:1: rule__XFeatureCall__Group_1__3 : rule__XFeatureCall__Group_1__3__Impl ;
+    // InternalReportDSL.g:30959:1: rule__XFeatureCall__Group_1__3 : rule__XFeatureCall__Group_1__3__Impl ;
     public final void rule__XFeatureCall__Group_1__3() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:31253:1: ( rule__XFeatureCall__Group_1__3__Impl )
-            // InternalReportDSL.g:31254:2: rule__XFeatureCall__Group_1__3__Impl
+            // InternalReportDSL.g:30963:1: ( rule__XFeatureCall__Group_1__3__Impl )
+            // InternalReportDSL.g:30964:2: rule__XFeatureCall__Group_1__3__Impl
             {
             pushFollow(FOLLOW_2);
             rule__XFeatureCall__Group_1__3__Impl();
@@ -102709,17 +101590,17 @@
 
 
     // $ANTLR start "rule__XFeatureCall__Group_1__3__Impl"
-    // InternalReportDSL.g:31260:1: rule__XFeatureCall__Group_1__3__Impl : ( '>' ) ;
+    // InternalReportDSL.g:30970:1: rule__XFeatureCall__Group_1__3__Impl : ( '>' ) ;
     public final void rule__XFeatureCall__Group_1__3__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:31264:1: ( ( '>' ) )
-            // InternalReportDSL.g:31265:1: ( '>' )
+            // InternalReportDSL.g:30974:1: ( ( '>' ) )
+            // InternalReportDSL.g:30975:1: ( '>' )
             {
-            // InternalReportDSL.g:31265:1: ( '>' )
-            // InternalReportDSL.g:31266:2: '>'
+            // InternalReportDSL.g:30975:1: ( '>' )
+            // InternalReportDSL.g:30976:2: '>'
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXFeatureCallAccess().getGreaterThanSignKeyword_1_3()); 
@@ -102750,16 +101631,16 @@
 
 
     // $ANTLR start "rule__XFeatureCall__Group_1_2__0"
-    // InternalReportDSL.g:31276:1: rule__XFeatureCall__Group_1_2__0 : rule__XFeatureCall__Group_1_2__0__Impl rule__XFeatureCall__Group_1_2__1 ;
+    // InternalReportDSL.g:30986:1: rule__XFeatureCall__Group_1_2__0 : rule__XFeatureCall__Group_1_2__0__Impl rule__XFeatureCall__Group_1_2__1 ;
     public final void rule__XFeatureCall__Group_1_2__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:31280:1: ( rule__XFeatureCall__Group_1_2__0__Impl rule__XFeatureCall__Group_1_2__1 )
-            // InternalReportDSL.g:31281:2: rule__XFeatureCall__Group_1_2__0__Impl rule__XFeatureCall__Group_1_2__1
+            // InternalReportDSL.g:30990:1: ( rule__XFeatureCall__Group_1_2__0__Impl rule__XFeatureCall__Group_1_2__1 )
+            // InternalReportDSL.g:30991:2: rule__XFeatureCall__Group_1_2__0__Impl rule__XFeatureCall__Group_1_2__1
             {
-            pushFollow(FOLLOW_176);
+            pushFollow(FOLLOW_174);
             rule__XFeatureCall__Group_1_2__0__Impl();
 
             state._fsp--;
@@ -102788,22 +101669,22 @@
 
 
     // $ANTLR start "rule__XFeatureCall__Group_1_2__0__Impl"
-    // InternalReportDSL.g:31288:1: rule__XFeatureCall__Group_1_2__0__Impl : ( ',' ) ;
+    // InternalReportDSL.g:30998:1: rule__XFeatureCall__Group_1_2__0__Impl : ( ',' ) ;
     public final void rule__XFeatureCall__Group_1_2__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:31292:1: ( ( ',' ) )
-            // InternalReportDSL.g:31293:1: ( ',' )
+            // InternalReportDSL.g:31002:1: ( ( ',' ) )
+            // InternalReportDSL.g:31003:1: ( ',' )
             {
-            // InternalReportDSL.g:31293:1: ( ',' )
-            // InternalReportDSL.g:31294:2: ','
+            // InternalReportDSL.g:31003:1: ( ',' )
+            // InternalReportDSL.g:31004:2: ','
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXFeatureCallAccess().getCommaKeyword_1_2_0()); 
             }
-            match(input,228,FOLLOW_2); if (state.failed) return ;
+            match(input,235,FOLLOW_2); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getXFeatureCallAccess().getCommaKeyword_1_2_0()); 
             }
@@ -102829,14 +101710,14 @@
 
 
     // $ANTLR start "rule__XFeatureCall__Group_1_2__1"
-    // InternalReportDSL.g:31303:1: rule__XFeatureCall__Group_1_2__1 : rule__XFeatureCall__Group_1_2__1__Impl ;
+    // InternalReportDSL.g:31013:1: rule__XFeatureCall__Group_1_2__1 : rule__XFeatureCall__Group_1_2__1__Impl ;
     public final void rule__XFeatureCall__Group_1_2__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:31307:1: ( rule__XFeatureCall__Group_1_2__1__Impl )
-            // InternalReportDSL.g:31308:2: rule__XFeatureCall__Group_1_2__1__Impl
+            // InternalReportDSL.g:31017:1: ( rule__XFeatureCall__Group_1_2__1__Impl )
+            // InternalReportDSL.g:31018:2: rule__XFeatureCall__Group_1_2__1__Impl
             {
             pushFollow(FOLLOW_2);
             rule__XFeatureCall__Group_1_2__1__Impl();
@@ -102862,23 +101743,23 @@
 
 
     // $ANTLR start "rule__XFeatureCall__Group_1_2__1__Impl"
-    // InternalReportDSL.g:31314:1: rule__XFeatureCall__Group_1_2__1__Impl : ( ( rule__XFeatureCall__TypeArgumentsAssignment_1_2_1 ) ) ;
+    // InternalReportDSL.g:31024:1: rule__XFeatureCall__Group_1_2__1__Impl : ( ( rule__XFeatureCall__TypeArgumentsAssignment_1_2_1 ) ) ;
     public final void rule__XFeatureCall__Group_1_2__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:31318:1: ( ( ( rule__XFeatureCall__TypeArgumentsAssignment_1_2_1 ) ) )
-            // InternalReportDSL.g:31319:1: ( ( rule__XFeatureCall__TypeArgumentsAssignment_1_2_1 ) )
+            // InternalReportDSL.g:31028:1: ( ( ( rule__XFeatureCall__TypeArgumentsAssignment_1_2_1 ) ) )
+            // InternalReportDSL.g:31029:1: ( ( rule__XFeatureCall__TypeArgumentsAssignment_1_2_1 ) )
             {
-            // InternalReportDSL.g:31319:1: ( ( rule__XFeatureCall__TypeArgumentsAssignment_1_2_1 ) )
-            // InternalReportDSL.g:31320:2: ( rule__XFeatureCall__TypeArgumentsAssignment_1_2_1 )
+            // InternalReportDSL.g:31029:1: ( ( rule__XFeatureCall__TypeArgumentsAssignment_1_2_1 ) )
+            // InternalReportDSL.g:31030:2: ( rule__XFeatureCall__TypeArgumentsAssignment_1_2_1 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXFeatureCallAccess().getTypeArgumentsAssignment_1_2_1()); 
             }
-            // InternalReportDSL.g:31321:2: ( rule__XFeatureCall__TypeArgumentsAssignment_1_2_1 )
-            // InternalReportDSL.g:31321:3: rule__XFeatureCall__TypeArgumentsAssignment_1_2_1
+            // InternalReportDSL.g:31031:2: ( rule__XFeatureCall__TypeArgumentsAssignment_1_2_1 )
+            // InternalReportDSL.g:31031:3: rule__XFeatureCall__TypeArgumentsAssignment_1_2_1
             {
             pushFollow(FOLLOW_2);
             rule__XFeatureCall__TypeArgumentsAssignment_1_2_1();
@@ -102913,16 +101794,16 @@
 
 
     // $ANTLR start "rule__XFeatureCall__Group_3__0"
-    // InternalReportDSL.g:31330:1: rule__XFeatureCall__Group_3__0 : rule__XFeatureCall__Group_3__0__Impl rule__XFeatureCall__Group_3__1 ;
+    // InternalReportDSL.g:31040:1: rule__XFeatureCall__Group_3__0 : rule__XFeatureCall__Group_3__0__Impl rule__XFeatureCall__Group_3__1 ;
     public final void rule__XFeatureCall__Group_3__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:31334:1: ( rule__XFeatureCall__Group_3__0__Impl rule__XFeatureCall__Group_3__1 )
-            // InternalReportDSL.g:31335:2: rule__XFeatureCall__Group_3__0__Impl rule__XFeatureCall__Group_3__1
+            // InternalReportDSL.g:31044:1: ( rule__XFeatureCall__Group_3__0__Impl rule__XFeatureCall__Group_3__1 )
+            // InternalReportDSL.g:31045:2: rule__XFeatureCall__Group_3__0__Impl rule__XFeatureCall__Group_3__1
             {
-            pushFollow(FOLLOW_178);
+            pushFollow(FOLLOW_176);
             rule__XFeatureCall__Group_3__0__Impl();
 
             state._fsp--;
@@ -102951,23 +101832,23 @@
 
 
     // $ANTLR start "rule__XFeatureCall__Group_3__0__Impl"
-    // InternalReportDSL.g:31342:1: rule__XFeatureCall__Group_3__0__Impl : ( ( rule__XFeatureCall__ExplicitOperationCallAssignment_3_0 ) ) ;
+    // InternalReportDSL.g:31052:1: rule__XFeatureCall__Group_3__0__Impl : ( ( rule__XFeatureCall__ExplicitOperationCallAssignment_3_0 ) ) ;
     public final void rule__XFeatureCall__Group_3__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:31346:1: ( ( ( rule__XFeatureCall__ExplicitOperationCallAssignment_3_0 ) ) )
-            // InternalReportDSL.g:31347:1: ( ( rule__XFeatureCall__ExplicitOperationCallAssignment_3_0 ) )
+            // InternalReportDSL.g:31056:1: ( ( ( rule__XFeatureCall__ExplicitOperationCallAssignment_3_0 ) ) )
+            // InternalReportDSL.g:31057:1: ( ( rule__XFeatureCall__ExplicitOperationCallAssignment_3_0 ) )
             {
-            // InternalReportDSL.g:31347:1: ( ( rule__XFeatureCall__ExplicitOperationCallAssignment_3_0 ) )
-            // InternalReportDSL.g:31348:2: ( rule__XFeatureCall__ExplicitOperationCallAssignment_3_0 )
+            // InternalReportDSL.g:31057:1: ( ( rule__XFeatureCall__ExplicitOperationCallAssignment_3_0 ) )
+            // InternalReportDSL.g:31058:2: ( rule__XFeatureCall__ExplicitOperationCallAssignment_3_0 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXFeatureCallAccess().getExplicitOperationCallAssignment_3_0()); 
             }
-            // InternalReportDSL.g:31349:2: ( rule__XFeatureCall__ExplicitOperationCallAssignment_3_0 )
-            // InternalReportDSL.g:31349:3: rule__XFeatureCall__ExplicitOperationCallAssignment_3_0
+            // InternalReportDSL.g:31059:2: ( rule__XFeatureCall__ExplicitOperationCallAssignment_3_0 )
+            // InternalReportDSL.g:31059:3: rule__XFeatureCall__ExplicitOperationCallAssignment_3_0
             {
             pushFollow(FOLLOW_2);
             rule__XFeatureCall__ExplicitOperationCallAssignment_3_0();
@@ -103002,16 +101883,16 @@
 
 
     // $ANTLR start "rule__XFeatureCall__Group_3__1"
-    // InternalReportDSL.g:31357:1: rule__XFeatureCall__Group_3__1 : rule__XFeatureCall__Group_3__1__Impl rule__XFeatureCall__Group_3__2 ;
+    // InternalReportDSL.g:31067:1: rule__XFeatureCall__Group_3__1 : rule__XFeatureCall__Group_3__1__Impl rule__XFeatureCall__Group_3__2 ;
     public final void rule__XFeatureCall__Group_3__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:31361:1: ( rule__XFeatureCall__Group_3__1__Impl rule__XFeatureCall__Group_3__2 )
-            // InternalReportDSL.g:31362:2: rule__XFeatureCall__Group_3__1__Impl rule__XFeatureCall__Group_3__2
+            // InternalReportDSL.g:31071:1: ( rule__XFeatureCall__Group_3__1__Impl rule__XFeatureCall__Group_3__2 )
+            // InternalReportDSL.g:31072:2: rule__XFeatureCall__Group_3__1__Impl rule__XFeatureCall__Group_3__2
             {
-            pushFollow(FOLLOW_178);
+            pushFollow(FOLLOW_176);
             rule__XFeatureCall__Group_3__1__Impl();
 
             state._fsp--;
@@ -103040,31 +101921,31 @@
 
 
     // $ANTLR start "rule__XFeatureCall__Group_3__1__Impl"
-    // InternalReportDSL.g:31369:1: rule__XFeatureCall__Group_3__1__Impl : ( ( rule__XFeatureCall__Alternatives_3_1 )? ) ;
+    // InternalReportDSL.g:31079:1: rule__XFeatureCall__Group_3__1__Impl : ( ( rule__XFeatureCall__Alternatives_3_1 )? ) ;
     public final void rule__XFeatureCall__Group_3__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:31373:1: ( ( ( rule__XFeatureCall__Alternatives_3_1 )? ) )
-            // InternalReportDSL.g:31374:1: ( ( rule__XFeatureCall__Alternatives_3_1 )? )
+            // InternalReportDSL.g:31083:1: ( ( ( rule__XFeatureCall__Alternatives_3_1 )? ) )
+            // InternalReportDSL.g:31084:1: ( ( rule__XFeatureCall__Alternatives_3_1 )? )
             {
-            // InternalReportDSL.g:31374:1: ( ( rule__XFeatureCall__Alternatives_3_1 )? )
-            // InternalReportDSL.g:31375:2: ( rule__XFeatureCall__Alternatives_3_1 )?
+            // InternalReportDSL.g:31084:1: ( ( rule__XFeatureCall__Alternatives_3_1 )? )
+            // InternalReportDSL.g:31085:2: ( rule__XFeatureCall__Alternatives_3_1 )?
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXFeatureCallAccess().getAlternatives_3_1()); 
             }
-            // InternalReportDSL.g:31376:2: ( rule__XFeatureCall__Alternatives_3_1 )?
-            int alt228=2;
-            int LA228_0 = input.LA(1);
+            // InternalReportDSL.g:31086:2: ( rule__XFeatureCall__Alternatives_3_1 )?
+            int alt210=2;
+            int LA210_0 = input.LA(1);
 
-            if ( ((LA228_0>=RULE_STRING && LA228_0<=RULE_DECIMAL)||LA228_0==31||LA228_0==35||(LA228_0>=38 && LA228_0<=39)||LA228_0==44||(LA228_0>=49 && LA228_0<=54)||LA228_0==125||LA228_0==204||(LA228_0>=230 && LA228_0<=231)||LA228_0==233||LA228_0==235||(LA228_0>=239 && LA228_0<=247)||LA228_0==249||LA228_0==264||LA228_0==266) ) {
-                alt228=1;
+            if ( ((LA210_0>=RULE_STRING && LA210_0<=RULE_DECIMAL)||LA210_0==31||LA210_0==35||(LA210_0>=38 && LA210_0<=39)||LA210_0==44||(LA210_0>=49 && LA210_0<=54)||LA210_0==131||LA210_0==211||(LA210_0>=237 && LA210_0<=238)||LA210_0==240||LA210_0==242||(LA210_0>=246 && LA210_0<=254)||LA210_0==256||LA210_0==269||LA210_0==271) ) {
+                alt210=1;
             }
-            switch (alt228) {
+            switch (alt210) {
                 case 1 :
-                    // InternalReportDSL.g:31376:3: rule__XFeatureCall__Alternatives_3_1
+                    // InternalReportDSL.g:31086:3: rule__XFeatureCall__Alternatives_3_1
                     {
                     pushFollow(FOLLOW_2);
                     rule__XFeatureCall__Alternatives_3_1();
@@ -103102,14 +101983,14 @@
 
 
     // $ANTLR start "rule__XFeatureCall__Group_3__2"
-    // InternalReportDSL.g:31384:1: rule__XFeatureCall__Group_3__2 : rule__XFeatureCall__Group_3__2__Impl ;
+    // InternalReportDSL.g:31094:1: rule__XFeatureCall__Group_3__2 : rule__XFeatureCall__Group_3__2__Impl ;
     public final void rule__XFeatureCall__Group_3__2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:31388:1: ( rule__XFeatureCall__Group_3__2__Impl )
-            // InternalReportDSL.g:31389:2: rule__XFeatureCall__Group_3__2__Impl
+            // InternalReportDSL.g:31098:1: ( rule__XFeatureCall__Group_3__2__Impl )
+            // InternalReportDSL.g:31099:2: rule__XFeatureCall__Group_3__2__Impl
             {
             pushFollow(FOLLOW_2);
             rule__XFeatureCall__Group_3__2__Impl();
@@ -103135,22 +102016,22 @@
 
 
     // $ANTLR start "rule__XFeatureCall__Group_3__2__Impl"
-    // InternalReportDSL.g:31395:1: rule__XFeatureCall__Group_3__2__Impl : ( ')' ) ;
+    // InternalReportDSL.g:31105:1: rule__XFeatureCall__Group_3__2__Impl : ( ')' ) ;
     public final void rule__XFeatureCall__Group_3__2__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:31399:1: ( ( ')' ) )
-            // InternalReportDSL.g:31400:1: ( ')' )
+            // InternalReportDSL.g:31109:1: ( ( ')' ) )
+            // InternalReportDSL.g:31110:1: ( ')' )
             {
-            // InternalReportDSL.g:31400:1: ( ')' )
-            // InternalReportDSL.g:31401:2: ')'
+            // InternalReportDSL.g:31110:1: ( ')' )
+            // InternalReportDSL.g:31111:2: ')'
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXFeatureCallAccess().getRightParenthesisKeyword_3_2()); 
             }
-            match(input,205,FOLLOW_2); if (state.failed) return ;
+            match(input,212,FOLLOW_2); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getXFeatureCallAccess().getRightParenthesisKeyword_3_2()); 
             }
@@ -103176,16 +102057,16 @@
 
 
     // $ANTLR start "rule__XFeatureCall__Group_3_1_1__0"
-    // InternalReportDSL.g:31411:1: rule__XFeatureCall__Group_3_1_1__0 : rule__XFeatureCall__Group_3_1_1__0__Impl rule__XFeatureCall__Group_3_1_1__1 ;
+    // InternalReportDSL.g:31121:1: rule__XFeatureCall__Group_3_1_1__0 : rule__XFeatureCall__Group_3_1_1__0__Impl rule__XFeatureCall__Group_3_1_1__1 ;
     public final void rule__XFeatureCall__Group_3_1_1__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:31415:1: ( rule__XFeatureCall__Group_3_1_1__0__Impl rule__XFeatureCall__Group_3_1_1__1 )
-            // InternalReportDSL.g:31416:2: rule__XFeatureCall__Group_3_1_1__0__Impl rule__XFeatureCall__Group_3_1_1__1
+            // InternalReportDSL.g:31125:1: ( rule__XFeatureCall__Group_3_1_1__0__Impl rule__XFeatureCall__Group_3_1_1__1 )
+            // InternalReportDSL.g:31126:2: rule__XFeatureCall__Group_3_1_1__0__Impl rule__XFeatureCall__Group_3_1_1__1
             {
-            pushFollow(FOLLOW_137);
+            pushFollow(FOLLOW_136);
             rule__XFeatureCall__Group_3_1_1__0__Impl();
 
             state._fsp--;
@@ -103214,23 +102095,23 @@
 
 
     // $ANTLR start "rule__XFeatureCall__Group_3_1_1__0__Impl"
-    // InternalReportDSL.g:31423:1: rule__XFeatureCall__Group_3_1_1__0__Impl : ( ( rule__XFeatureCall__FeatureCallArgumentsAssignment_3_1_1_0 ) ) ;
+    // InternalReportDSL.g:31133:1: rule__XFeatureCall__Group_3_1_1__0__Impl : ( ( rule__XFeatureCall__FeatureCallArgumentsAssignment_3_1_1_0 ) ) ;
     public final void rule__XFeatureCall__Group_3_1_1__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:31427:1: ( ( ( rule__XFeatureCall__FeatureCallArgumentsAssignment_3_1_1_0 ) ) )
-            // InternalReportDSL.g:31428:1: ( ( rule__XFeatureCall__FeatureCallArgumentsAssignment_3_1_1_0 ) )
+            // InternalReportDSL.g:31137:1: ( ( ( rule__XFeatureCall__FeatureCallArgumentsAssignment_3_1_1_0 ) ) )
+            // InternalReportDSL.g:31138:1: ( ( rule__XFeatureCall__FeatureCallArgumentsAssignment_3_1_1_0 ) )
             {
-            // InternalReportDSL.g:31428:1: ( ( rule__XFeatureCall__FeatureCallArgumentsAssignment_3_1_1_0 ) )
-            // InternalReportDSL.g:31429:2: ( rule__XFeatureCall__FeatureCallArgumentsAssignment_3_1_1_0 )
+            // InternalReportDSL.g:31138:1: ( ( rule__XFeatureCall__FeatureCallArgumentsAssignment_3_1_1_0 ) )
+            // InternalReportDSL.g:31139:2: ( rule__XFeatureCall__FeatureCallArgumentsAssignment_3_1_1_0 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXFeatureCallAccess().getFeatureCallArgumentsAssignment_3_1_1_0()); 
             }
-            // InternalReportDSL.g:31430:2: ( rule__XFeatureCall__FeatureCallArgumentsAssignment_3_1_1_0 )
-            // InternalReportDSL.g:31430:3: rule__XFeatureCall__FeatureCallArgumentsAssignment_3_1_1_0
+            // InternalReportDSL.g:31140:2: ( rule__XFeatureCall__FeatureCallArgumentsAssignment_3_1_1_0 )
+            // InternalReportDSL.g:31140:3: rule__XFeatureCall__FeatureCallArgumentsAssignment_3_1_1_0
             {
             pushFollow(FOLLOW_2);
             rule__XFeatureCall__FeatureCallArgumentsAssignment_3_1_1_0();
@@ -103265,14 +102146,14 @@
 
 
     // $ANTLR start "rule__XFeatureCall__Group_3_1_1__1"
-    // InternalReportDSL.g:31438:1: rule__XFeatureCall__Group_3_1_1__1 : rule__XFeatureCall__Group_3_1_1__1__Impl ;
+    // InternalReportDSL.g:31148:1: rule__XFeatureCall__Group_3_1_1__1 : rule__XFeatureCall__Group_3_1_1__1__Impl ;
     public final void rule__XFeatureCall__Group_3_1_1__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:31442:1: ( rule__XFeatureCall__Group_3_1_1__1__Impl )
-            // InternalReportDSL.g:31443:2: rule__XFeatureCall__Group_3_1_1__1__Impl
+            // InternalReportDSL.g:31152:1: ( rule__XFeatureCall__Group_3_1_1__1__Impl )
+            // InternalReportDSL.g:31153:2: rule__XFeatureCall__Group_3_1_1__1__Impl
             {
             pushFollow(FOLLOW_2);
             rule__XFeatureCall__Group_3_1_1__1__Impl();
@@ -103298,37 +102179,37 @@
 
 
     // $ANTLR start "rule__XFeatureCall__Group_3_1_1__1__Impl"
-    // InternalReportDSL.g:31449:1: rule__XFeatureCall__Group_3_1_1__1__Impl : ( ( rule__XFeatureCall__Group_3_1_1_1__0 )* ) ;
+    // InternalReportDSL.g:31159:1: rule__XFeatureCall__Group_3_1_1__1__Impl : ( ( rule__XFeatureCall__Group_3_1_1_1__0 )* ) ;
     public final void rule__XFeatureCall__Group_3_1_1__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:31453:1: ( ( ( rule__XFeatureCall__Group_3_1_1_1__0 )* ) )
-            // InternalReportDSL.g:31454:1: ( ( rule__XFeatureCall__Group_3_1_1_1__0 )* )
+            // InternalReportDSL.g:31163:1: ( ( ( rule__XFeatureCall__Group_3_1_1_1__0 )* ) )
+            // InternalReportDSL.g:31164:1: ( ( rule__XFeatureCall__Group_3_1_1_1__0 )* )
             {
-            // InternalReportDSL.g:31454:1: ( ( rule__XFeatureCall__Group_3_1_1_1__0 )* )
-            // InternalReportDSL.g:31455:2: ( rule__XFeatureCall__Group_3_1_1_1__0 )*
+            // InternalReportDSL.g:31164:1: ( ( rule__XFeatureCall__Group_3_1_1_1__0 )* )
+            // InternalReportDSL.g:31165:2: ( rule__XFeatureCall__Group_3_1_1_1__0 )*
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXFeatureCallAccess().getGroup_3_1_1_1()); 
             }
-            // InternalReportDSL.g:31456:2: ( rule__XFeatureCall__Group_3_1_1_1__0 )*
-            loop229:
+            // InternalReportDSL.g:31166:2: ( rule__XFeatureCall__Group_3_1_1_1__0 )*
+            loop211:
             do {
-                int alt229=2;
-                int LA229_0 = input.LA(1);
+                int alt211=2;
+                int LA211_0 = input.LA(1);
 
-                if ( (LA229_0==228) ) {
-                    alt229=1;
+                if ( (LA211_0==235) ) {
+                    alt211=1;
                 }
 
 
-                switch (alt229) {
+                switch (alt211) {
             	case 1 :
-            	    // InternalReportDSL.g:31456:3: rule__XFeatureCall__Group_3_1_1_1__0
+            	    // InternalReportDSL.g:31166:3: rule__XFeatureCall__Group_3_1_1_1__0
             	    {
-            	    pushFollow(FOLLOW_138);
+            	    pushFollow(FOLLOW_137);
             	    rule__XFeatureCall__Group_3_1_1_1__0();
 
             	    state._fsp--;
@@ -103338,7 +102219,7 @@
             	    break;
 
             	default :
-            	    break loop229;
+            	    break loop211;
                 }
             } while (true);
 
@@ -103367,16 +102248,16 @@
 
 
     // $ANTLR start "rule__XFeatureCall__Group_3_1_1_1__0"
-    // InternalReportDSL.g:31465:1: rule__XFeatureCall__Group_3_1_1_1__0 : rule__XFeatureCall__Group_3_1_1_1__0__Impl rule__XFeatureCall__Group_3_1_1_1__1 ;
+    // InternalReportDSL.g:31175:1: rule__XFeatureCall__Group_3_1_1_1__0 : rule__XFeatureCall__Group_3_1_1_1__0__Impl rule__XFeatureCall__Group_3_1_1_1__1 ;
     public final void rule__XFeatureCall__Group_3_1_1_1__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:31469:1: ( rule__XFeatureCall__Group_3_1_1_1__0__Impl rule__XFeatureCall__Group_3_1_1_1__1 )
-            // InternalReportDSL.g:31470:2: rule__XFeatureCall__Group_3_1_1_1__0__Impl rule__XFeatureCall__Group_3_1_1_1__1
+            // InternalReportDSL.g:31179:1: ( rule__XFeatureCall__Group_3_1_1_1__0__Impl rule__XFeatureCall__Group_3_1_1_1__1 )
+            // InternalReportDSL.g:31180:2: rule__XFeatureCall__Group_3_1_1_1__0__Impl rule__XFeatureCall__Group_3_1_1_1__1
             {
-            pushFollow(FOLLOW_139);
+            pushFollow(FOLLOW_138);
             rule__XFeatureCall__Group_3_1_1_1__0__Impl();
 
             state._fsp--;
@@ -103405,22 +102286,22 @@
 
 
     // $ANTLR start "rule__XFeatureCall__Group_3_1_1_1__0__Impl"
-    // InternalReportDSL.g:31477:1: rule__XFeatureCall__Group_3_1_1_1__0__Impl : ( ',' ) ;
+    // InternalReportDSL.g:31187:1: rule__XFeatureCall__Group_3_1_1_1__0__Impl : ( ',' ) ;
     public final void rule__XFeatureCall__Group_3_1_1_1__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:31481:1: ( ( ',' ) )
-            // InternalReportDSL.g:31482:1: ( ',' )
+            // InternalReportDSL.g:31191:1: ( ( ',' ) )
+            // InternalReportDSL.g:31192:1: ( ',' )
             {
-            // InternalReportDSL.g:31482:1: ( ',' )
-            // InternalReportDSL.g:31483:2: ','
+            // InternalReportDSL.g:31192:1: ( ',' )
+            // InternalReportDSL.g:31193:2: ','
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXFeatureCallAccess().getCommaKeyword_3_1_1_1_0()); 
             }
-            match(input,228,FOLLOW_2); if (state.failed) return ;
+            match(input,235,FOLLOW_2); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getXFeatureCallAccess().getCommaKeyword_3_1_1_1_0()); 
             }
@@ -103446,14 +102327,14 @@
 
 
     // $ANTLR start "rule__XFeatureCall__Group_3_1_1_1__1"
-    // InternalReportDSL.g:31492:1: rule__XFeatureCall__Group_3_1_1_1__1 : rule__XFeatureCall__Group_3_1_1_1__1__Impl ;
+    // InternalReportDSL.g:31202:1: rule__XFeatureCall__Group_3_1_1_1__1 : rule__XFeatureCall__Group_3_1_1_1__1__Impl ;
     public final void rule__XFeatureCall__Group_3_1_1_1__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:31496:1: ( rule__XFeatureCall__Group_3_1_1_1__1__Impl )
-            // InternalReportDSL.g:31497:2: rule__XFeatureCall__Group_3_1_1_1__1__Impl
+            // InternalReportDSL.g:31206:1: ( rule__XFeatureCall__Group_3_1_1_1__1__Impl )
+            // InternalReportDSL.g:31207:2: rule__XFeatureCall__Group_3_1_1_1__1__Impl
             {
             pushFollow(FOLLOW_2);
             rule__XFeatureCall__Group_3_1_1_1__1__Impl();
@@ -103479,23 +102360,23 @@
 
 
     // $ANTLR start "rule__XFeatureCall__Group_3_1_1_1__1__Impl"
-    // InternalReportDSL.g:31503:1: rule__XFeatureCall__Group_3_1_1_1__1__Impl : ( ( rule__XFeatureCall__FeatureCallArgumentsAssignment_3_1_1_1_1 ) ) ;
+    // InternalReportDSL.g:31213:1: rule__XFeatureCall__Group_3_1_1_1__1__Impl : ( ( rule__XFeatureCall__FeatureCallArgumentsAssignment_3_1_1_1_1 ) ) ;
     public final void rule__XFeatureCall__Group_3_1_1_1__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:31507:1: ( ( ( rule__XFeatureCall__FeatureCallArgumentsAssignment_3_1_1_1_1 ) ) )
-            // InternalReportDSL.g:31508:1: ( ( rule__XFeatureCall__FeatureCallArgumentsAssignment_3_1_1_1_1 ) )
+            // InternalReportDSL.g:31217:1: ( ( ( rule__XFeatureCall__FeatureCallArgumentsAssignment_3_1_1_1_1 ) ) )
+            // InternalReportDSL.g:31218:1: ( ( rule__XFeatureCall__FeatureCallArgumentsAssignment_3_1_1_1_1 ) )
             {
-            // InternalReportDSL.g:31508:1: ( ( rule__XFeatureCall__FeatureCallArgumentsAssignment_3_1_1_1_1 ) )
-            // InternalReportDSL.g:31509:2: ( rule__XFeatureCall__FeatureCallArgumentsAssignment_3_1_1_1_1 )
+            // InternalReportDSL.g:31218:1: ( ( rule__XFeatureCall__FeatureCallArgumentsAssignment_3_1_1_1_1 ) )
+            // InternalReportDSL.g:31219:2: ( rule__XFeatureCall__FeatureCallArgumentsAssignment_3_1_1_1_1 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXFeatureCallAccess().getFeatureCallArgumentsAssignment_3_1_1_1_1()); 
             }
-            // InternalReportDSL.g:31510:2: ( rule__XFeatureCall__FeatureCallArgumentsAssignment_3_1_1_1_1 )
-            // InternalReportDSL.g:31510:3: rule__XFeatureCall__FeatureCallArgumentsAssignment_3_1_1_1_1
+            // InternalReportDSL.g:31220:2: ( rule__XFeatureCall__FeatureCallArgumentsAssignment_3_1_1_1_1 )
+            // InternalReportDSL.g:31220:3: rule__XFeatureCall__FeatureCallArgumentsAssignment_3_1_1_1_1
             {
             pushFollow(FOLLOW_2);
             rule__XFeatureCall__FeatureCallArgumentsAssignment_3_1_1_1_1();
@@ -103530,16 +102411,16 @@
 
 
     // $ANTLR start "rule__XConstructorCall__Group__0"
-    // InternalReportDSL.g:31519:1: rule__XConstructorCall__Group__0 : rule__XConstructorCall__Group__0__Impl rule__XConstructorCall__Group__1 ;
+    // InternalReportDSL.g:31229:1: rule__XConstructorCall__Group__0 : rule__XConstructorCall__Group__0__Impl rule__XConstructorCall__Group__1 ;
     public final void rule__XConstructorCall__Group__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:31523:1: ( rule__XConstructorCall__Group__0__Impl rule__XConstructorCall__Group__1 )
-            // InternalReportDSL.g:31524:2: rule__XConstructorCall__Group__0__Impl rule__XConstructorCall__Group__1
+            // InternalReportDSL.g:31233:1: ( rule__XConstructorCall__Group__0__Impl rule__XConstructorCall__Group__1 )
+            // InternalReportDSL.g:31234:2: rule__XConstructorCall__Group__0__Impl rule__XConstructorCall__Group__1
             {
-            pushFollow(FOLLOW_200);
+            pushFollow(FOLLOW_198);
             rule__XConstructorCall__Group__0__Impl();
 
             state._fsp--;
@@ -103568,23 +102449,23 @@
 
 
     // $ANTLR start "rule__XConstructorCall__Group__0__Impl"
-    // InternalReportDSL.g:31531:1: rule__XConstructorCall__Group__0__Impl : ( () ) ;
+    // InternalReportDSL.g:31241:1: rule__XConstructorCall__Group__0__Impl : ( () ) ;
     public final void rule__XConstructorCall__Group__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:31535:1: ( ( () ) )
-            // InternalReportDSL.g:31536:1: ( () )
+            // InternalReportDSL.g:31245:1: ( ( () ) )
+            // InternalReportDSL.g:31246:1: ( () )
             {
-            // InternalReportDSL.g:31536:1: ( () )
-            // InternalReportDSL.g:31537:2: ()
+            // InternalReportDSL.g:31246:1: ( () )
+            // InternalReportDSL.g:31247:2: ()
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXConstructorCallAccess().getXConstructorCallAction_0()); 
             }
-            // InternalReportDSL.g:31538:2: ()
-            // InternalReportDSL.g:31538:3: 
+            // InternalReportDSL.g:31248:2: ()
+            // InternalReportDSL.g:31248:3: 
             {
             }
 
@@ -103609,14 +102490,14 @@
 
 
     // $ANTLR start "rule__XConstructorCall__Group__1"
-    // InternalReportDSL.g:31546:1: rule__XConstructorCall__Group__1 : rule__XConstructorCall__Group__1__Impl rule__XConstructorCall__Group__2 ;
+    // InternalReportDSL.g:31256:1: rule__XConstructorCall__Group__1 : rule__XConstructorCall__Group__1__Impl rule__XConstructorCall__Group__2 ;
     public final void rule__XConstructorCall__Group__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:31550:1: ( rule__XConstructorCall__Group__1__Impl rule__XConstructorCall__Group__2 )
-            // InternalReportDSL.g:31551:2: rule__XConstructorCall__Group__1__Impl rule__XConstructorCall__Group__2
+            // InternalReportDSL.g:31260:1: ( rule__XConstructorCall__Group__1__Impl rule__XConstructorCall__Group__2 )
+            // InternalReportDSL.g:31261:2: rule__XConstructorCall__Group__1__Impl rule__XConstructorCall__Group__2
             {
             pushFollow(FOLLOW_7);
             rule__XConstructorCall__Group__1__Impl();
@@ -103647,22 +102528,22 @@
 
 
     // $ANTLR start "rule__XConstructorCall__Group__1__Impl"
-    // InternalReportDSL.g:31558:1: rule__XConstructorCall__Group__1__Impl : ( 'new' ) ;
+    // InternalReportDSL.g:31268:1: rule__XConstructorCall__Group__1__Impl : ( 'new' ) ;
     public final void rule__XConstructorCall__Group__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:31562:1: ( ( 'new' ) )
-            // InternalReportDSL.g:31563:1: ( 'new' )
+            // InternalReportDSL.g:31272:1: ( ( 'new' ) )
+            // InternalReportDSL.g:31273:1: ( 'new' )
             {
-            // InternalReportDSL.g:31563:1: ( 'new' )
-            // InternalReportDSL.g:31564:2: 'new'
+            // InternalReportDSL.g:31273:1: ( 'new' )
+            // InternalReportDSL.g:31274:2: 'new'
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXConstructorCallAccess().getNewKeyword_1()); 
             }
-            match(input,242,FOLLOW_2); if (state.failed) return ;
+            match(input,249,FOLLOW_2); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getXConstructorCallAccess().getNewKeyword_1()); 
             }
@@ -103688,16 +102569,16 @@
 
 
     // $ANTLR start "rule__XConstructorCall__Group__2"
-    // InternalReportDSL.g:31573:1: rule__XConstructorCall__Group__2 : rule__XConstructorCall__Group__2__Impl rule__XConstructorCall__Group__3 ;
+    // InternalReportDSL.g:31283:1: rule__XConstructorCall__Group__2 : rule__XConstructorCall__Group__2__Impl rule__XConstructorCall__Group__3 ;
     public final void rule__XConstructorCall__Group__2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:31577:1: ( rule__XConstructorCall__Group__2__Impl rule__XConstructorCall__Group__3 )
-            // InternalReportDSL.g:31578:2: rule__XConstructorCall__Group__2__Impl rule__XConstructorCall__Group__3
+            // InternalReportDSL.g:31287:1: ( rule__XConstructorCall__Group__2__Impl rule__XConstructorCall__Group__3 )
+            // InternalReportDSL.g:31288:2: rule__XConstructorCall__Group__2__Impl rule__XConstructorCall__Group__3
             {
-            pushFollow(FOLLOW_201);
+            pushFollow(FOLLOW_199);
             rule__XConstructorCall__Group__2__Impl();
 
             state._fsp--;
@@ -103726,23 +102607,23 @@
 
 
     // $ANTLR start "rule__XConstructorCall__Group__2__Impl"
-    // InternalReportDSL.g:31585:1: rule__XConstructorCall__Group__2__Impl : ( ( rule__XConstructorCall__ConstructorAssignment_2 ) ) ;
+    // InternalReportDSL.g:31295:1: rule__XConstructorCall__Group__2__Impl : ( ( rule__XConstructorCall__ConstructorAssignment_2 ) ) ;
     public final void rule__XConstructorCall__Group__2__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:31589:1: ( ( ( rule__XConstructorCall__ConstructorAssignment_2 ) ) )
-            // InternalReportDSL.g:31590:1: ( ( rule__XConstructorCall__ConstructorAssignment_2 ) )
+            // InternalReportDSL.g:31299:1: ( ( ( rule__XConstructorCall__ConstructorAssignment_2 ) ) )
+            // InternalReportDSL.g:31300:1: ( ( rule__XConstructorCall__ConstructorAssignment_2 ) )
             {
-            // InternalReportDSL.g:31590:1: ( ( rule__XConstructorCall__ConstructorAssignment_2 ) )
-            // InternalReportDSL.g:31591:2: ( rule__XConstructorCall__ConstructorAssignment_2 )
+            // InternalReportDSL.g:31300:1: ( ( rule__XConstructorCall__ConstructorAssignment_2 ) )
+            // InternalReportDSL.g:31301:2: ( rule__XConstructorCall__ConstructorAssignment_2 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXConstructorCallAccess().getConstructorAssignment_2()); 
             }
-            // InternalReportDSL.g:31592:2: ( rule__XConstructorCall__ConstructorAssignment_2 )
-            // InternalReportDSL.g:31592:3: rule__XConstructorCall__ConstructorAssignment_2
+            // InternalReportDSL.g:31302:2: ( rule__XConstructorCall__ConstructorAssignment_2 )
+            // InternalReportDSL.g:31302:3: rule__XConstructorCall__ConstructorAssignment_2
             {
             pushFollow(FOLLOW_2);
             rule__XConstructorCall__ConstructorAssignment_2();
@@ -103777,16 +102658,16 @@
 
 
     // $ANTLR start "rule__XConstructorCall__Group__3"
-    // InternalReportDSL.g:31600:1: rule__XConstructorCall__Group__3 : rule__XConstructorCall__Group__3__Impl rule__XConstructorCall__Group__4 ;
+    // InternalReportDSL.g:31310:1: rule__XConstructorCall__Group__3 : rule__XConstructorCall__Group__3__Impl rule__XConstructorCall__Group__4 ;
     public final void rule__XConstructorCall__Group__3() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:31604:1: ( rule__XConstructorCall__Group__3__Impl rule__XConstructorCall__Group__4 )
-            // InternalReportDSL.g:31605:2: rule__XConstructorCall__Group__3__Impl rule__XConstructorCall__Group__4
+            // InternalReportDSL.g:31314:1: ( rule__XConstructorCall__Group__3__Impl rule__XConstructorCall__Group__4 )
+            // InternalReportDSL.g:31315:2: rule__XConstructorCall__Group__3__Impl rule__XConstructorCall__Group__4
             {
-            pushFollow(FOLLOW_201);
+            pushFollow(FOLLOW_199);
             rule__XConstructorCall__Group__3__Impl();
 
             state._fsp--;
@@ -103815,27 +102696,27 @@
 
 
     // $ANTLR start "rule__XConstructorCall__Group__3__Impl"
-    // InternalReportDSL.g:31612:1: rule__XConstructorCall__Group__3__Impl : ( ( rule__XConstructorCall__Group_3__0 )? ) ;
+    // InternalReportDSL.g:31322:1: rule__XConstructorCall__Group__3__Impl : ( ( rule__XConstructorCall__Group_3__0 )? ) ;
     public final void rule__XConstructorCall__Group__3__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:31616:1: ( ( ( rule__XConstructorCall__Group_3__0 )? ) )
-            // InternalReportDSL.g:31617:1: ( ( rule__XConstructorCall__Group_3__0 )? )
+            // InternalReportDSL.g:31326:1: ( ( ( rule__XConstructorCall__Group_3__0 )? ) )
+            // InternalReportDSL.g:31327:1: ( ( rule__XConstructorCall__Group_3__0 )? )
             {
-            // InternalReportDSL.g:31617:1: ( ( rule__XConstructorCall__Group_3__0 )? )
-            // InternalReportDSL.g:31618:2: ( rule__XConstructorCall__Group_3__0 )?
+            // InternalReportDSL.g:31327:1: ( ( rule__XConstructorCall__Group_3__0 )? )
+            // InternalReportDSL.g:31328:2: ( rule__XConstructorCall__Group_3__0 )?
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXConstructorCallAccess().getGroup_3()); 
             }
-            // InternalReportDSL.g:31619:2: ( rule__XConstructorCall__Group_3__0 )?
-            int alt230=2;
-            alt230 = dfa230.predict(input);
-            switch (alt230) {
+            // InternalReportDSL.g:31329:2: ( rule__XConstructorCall__Group_3__0 )?
+            int alt212=2;
+            alt212 = dfa212.predict(input);
+            switch (alt212) {
                 case 1 :
-                    // InternalReportDSL.g:31619:3: rule__XConstructorCall__Group_3__0
+                    // InternalReportDSL.g:31329:3: rule__XConstructorCall__Group_3__0
                     {
                     pushFollow(FOLLOW_2);
                     rule__XConstructorCall__Group_3__0();
@@ -103873,16 +102754,16 @@
 
 
     // $ANTLR start "rule__XConstructorCall__Group__4"
-    // InternalReportDSL.g:31627:1: rule__XConstructorCall__Group__4 : rule__XConstructorCall__Group__4__Impl rule__XConstructorCall__Group__5 ;
+    // InternalReportDSL.g:31337:1: rule__XConstructorCall__Group__4 : rule__XConstructorCall__Group__4__Impl rule__XConstructorCall__Group__5 ;
     public final void rule__XConstructorCall__Group__4() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:31631:1: ( rule__XConstructorCall__Group__4__Impl rule__XConstructorCall__Group__5 )
-            // InternalReportDSL.g:31632:2: rule__XConstructorCall__Group__4__Impl rule__XConstructorCall__Group__5
+            // InternalReportDSL.g:31341:1: ( rule__XConstructorCall__Group__4__Impl rule__XConstructorCall__Group__5 )
+            // InternalReportDSL.g:31342:2: rule__XConstructorCall__Group__4__Impl rule__XConstructorCall__Group__5
             {
-            pushFollow(FOLLOW_201);
+            pushFollow(FOLLOW_199);
             rule__XConstructorCall__Group__4__Impl();
 
             state._fsp--;
@@ -103911,27 +102792,27 @@
 
 
     // $ANTLR start "rule__XConstructorCall__Group__4__Impl"
-    // InternalReportDSL.g:31639:1: rule__XConstructorCall__Group__4__Impl : ( ( rule__XConstructorCall__Group_4__0 )? ) ;
+    // InternalReportDSL.g:31349:1: rule__XConstructorCall__Group__4__Impl : ( ( rule__XConstructorCall__Group_4__0 )? ) ;
     public final void rule__XConstructorCall__Group__4__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:31643:1: ( ( ( rule__XConstructorCall__Group_4__0 )? ) )
-            // InternalReportDSL.g:31644:1: ( ( rule__XConstructorCall__Group_4__0 )? )
+            // InternalReportDSL.g:31353:1: ( ( ( rule__XConstructorCall__Group_4__0 )? ) )
+            // InternalReportDSL.g:31354:1: ( ( rule__XConstructorCall__Group_4__0 )? )
             {
-            // InternalReportDSL.g:31644:1: ( ( rule__XConstructorCall__Group_4__0 )? )
-            // InternalReportDSL.g:31645:2: ( rule__XConstructorCall__Group_4__0 )?
+            // InternalReportDSL.g:31354:1: ( ( rule__XConstructorCall__Group_4__0 )? )
+            // InternalReportDSL.g:31355:2: ( rule__XConstructorCall__Group_4__0 )?
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXConstructorCallAccess().getGroup_4()); 
             }
-            // InternalReportDSL.g:31646:2: ( rule__XConstructorCall__Group_4__0 )?
-            int alt231=2;
-            alt231 = dfa231.predict(input);
-            switch (alt231) {
+            // InternalReportDSL.g:31356:2: ( rule__XConstructorCall__Group_4__0 )?
+            int alt213=2;
+            alt213 = dfa213.predict(input);
+            switch (alt213) {
                 case 1 :
-                    // InternalReportDSL.g:31646:3: rule__XConstructorCall__Group_4__0
+                    // InternalReportDSL.g:31356:3: rule__XConstructorCall__Group_4__0
                     {
                     pushFollow(FOLLOW_2);
                     rule__XConstructorCall__Group_4__0();
@@ -103969,14 +102850,14 @@
 
 
     // $ANTLR start "rule__XConstructorCall__Group__5"
-    // InternalReportDSL.g:31654:1: rule__XConstructorCall__Group__5 : rule__XConstructorCall__Group__5__Impl ;
+    // InternalReportDSL.g:31364:1: rule__XConstructorCall__Group__5 : rule__XConstructorCall__Group__5__Impl ;
     public final void rule__XConstructorCall__Group__5() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:31658:1: ( rule__XConstructorCall__Group__5__Impl )
-            // InternalReportDSL.g:31659:2: rule__XConstructorCall__Group__5__Impl
+            // InternalReportDSL.g:31368:1: ( rule__XConstructorCall__Group__5__Impl )
+            // InternalReportDSL.g:31369:2: rule__XConstructorCall__Group__5__Impl
             {
             pushFollow(FOLLOW_2);
             rule__XConstructorCall__Group__5__Impl();
@@ -104002,27 +102883,27 @@
 
 
     // $ANTLR start "rule__XConstructorCall__Group__5__Impl"
-    // InternalReportDSL.g:31665:1: rule__XConstructorCall__Group__5__Impl : ( ( rule__XConstructorCall__ArgumentsAssignment_5 )? ) ;
+    // InternalReportDSL.g:31375:1: rule__XConstructorCall__Group__5__Impl : ( ( rule__XConstructorCall__ArgumentsAssignment_5 )? ) ;
     public final void rule__XConstructorCall__Group__5__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:31669:1: ( ( ( rule__XConstructorCall__ArgumentsAssignment_5 )? ) )
-            // InternalReportDSL.g:31670:1: ( ( rule__XConstructorCall__ArgumentsAssignment_5 )? )
+            // InternalReportDSL.g:31379:1: ( ( ( rule__XConstructorCall__ArgumentsAssignment_5 )? ) )
+            // InternalReportDSL.g:31380:1: ( ( rule__XConstructorCall__ArgumentsAssignment_5 )? )
             {
-            // InternalReportDSL.g:31670:1: ( ( rule__XConstructorCall__ArgumentsAssignment_5 )? )
-            // InternalReportDSL.g:31671:2: ( rule__XConstructorCall__ArgumentsAssignment_5 )?
+            // InternalReportDSL.g:31380:1: ( ( rule__XConstructorCall__ArgumentsAssignment_5 )? )
+            // InternalReportDSL.g:31381:2: ( rule__XConstructorCall__ArgumentsAssignment_5 )?
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXConstructorCallAccess().getArgumentsAssignment_5()); 
             }
-            // InternalReportDSL.g:31672:2: ( rule__XConstructorCall__ArgumentsAssignment_5 )?
-            int alt232=2;
-            alt232 = dfa232.predict(input);
-            switch (alt232) {
+            // InternalReportDSL.g:31382:2: ( rule__XConstructorCall__ArgumentsAssignment_5 )?
+            int alt214=2;
+            alt214 = dfa214.predict(input);
+            switch (alt214) {
                 case 1 :
-                    // InternalReportDSL.g:31672:3: rule__XConstructorCall__ArgumentsAssignment_5
+                    // InternalReportDSL.g:31382:3: rule__XConstructorCall__ArgumentsAssignment_5
                     {
                     pushFollow(FOLLOW_2);
                     rule__XConstructorCall__ArgumentsAssignment_5();
@@ -104060,16 +102941,16 @@
 
 
     // $ANTLR start "rule__XConstructorCall__Group_3__0"
-    // InternalReportDSL.g:31681:1: rule__XConstructorCall__Group_3__0 : rule__XConstructorCall__Group_3__0__Impl rule__XConstructorCall__Group_3__1 ;
+    // InternalReportDSL.g:31391:1: rule__XConstructorCall__Group_3__0 : rule__XConstructorCall__Group_3__0__Impl rule__XConstructorCall__Group_3__1 ;
     public final void rule__XConstructorCall__Group_3__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:31685:1: ( rule__XConstructorCall__Group_3__0__Impl rule__XConstructorCall__Group_3__1 )
-            // InternalReportDSL.g:31686:2: rule__XConstructorCall__Group_3__0__Impl rule__XConstructorCall__Group_3__1
+            // InternalReportDSL.g:31395:1: ( rule__XConstructorCall__Group_3__0__Impl rule__XConstructorCall__Group_3__1 )
+            // InternalReportDSL.g:31396:2: rule__XConstructorCall__Group_3__0__Impl rule__XConstructorCall__Group_3__1
             {
-            pushFollow(FOLLOW_176);
+            pushFollow(FOLLOW_174);
             rule__XConstructorCall__Group_3__0__Impl();
 
             state._fsp--;
@@ -104098,23 +102979,23 @@
 
 
     // $ANTLR start "rule__XConstructorCall__Group_3__0__Impl"
-    // InternalReportDSL.g:31693:1: rule__XConstructorCall__Group_3__0__Impl : ( ( '<' ) ) ;
+    // InternalReportDSL.g:31403:1: rule__XConstructorCall__Group_3__0__Impl : ( ( '<' ) ) ;
     public final void rule__XConstructorCall__Group_3__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:31697:1: ( ( ( '<' ) ) )
-            // InternalReportDSL.g:31698:1: ( ( '<' ) )
+            // InternalReportDSL.g:31407:1: ( ( ( '<' ) ) )
+            // InternalReportDSL.g:31408:1: ( ( '<' ) )
             {
-            // InternalReportDSL.g:31698:1: ( ( '<' ) )
-            // InternalReportDSL.g:31699:2: ( '<' )
+            // InternalReportDSL.g:31408:1: ( ( '<' ) )
+            // InternalReportDSL.g:31409:2: ( '<' )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXConstructorCallAccess().getLessThanSignKeyword_3_0()); 
             }
-            // InternalReportDSL.g:31700:2: ( '<' )
-            // InternalReportDSL.g:31700:3: '<'
+            // InternalReportDSL.g:31410:2: ( '<' )
+            // InternalReportDSL.g:31410:3: '<'
             {
             match(input,31,FOLLOW_2); if (state.failed) return ;
 
@@ -104145,16 +103026,16 @@
 
 
     // $ANTLR start "rule__XConstructorCall__Group_3__1"
-    // InternalReportDSL.g:31708:1: rule__XConstructorCall__Group_3__1 : rule__XConstructorCall__Group_3__1__Impl rule__XConstructorCall__Group_3__2 ;
+    // InternalReportDSL.g:31418:1: rule__XConstructorCall__Group_3__1 : rule__XConstructorCall__Group_3__1__Impl rule__XConstructorCall__Group_3__2 ;
     public final void rule__XConstructorCall__Group_3__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:31712:1: ( rule__XConstructorCall__Group_3__1__Impl rule__XConstructorCall__Group_3__2 )
-            // InternalReportDSL.g:31713:2: rule__XConstructorCall__Group_3__1__Impl rule__XConstructorCall__Group_3__2
+            // InternalReportDSL.g:31422:1: ( rule__XConstructorCall__Group_3__1__Impl rule__XConstructorCall__Group_3__2 )
+            // InternalReportDSL.g:31423:2: rule__XConstructorCall__Group_3__1__Impl rule__XConstructorCall__Group_3__2
             {
-            pushFollow(FOLLOW_177);
+            pushFollow(FOLLOW_175);
             rule__XConstructorCall__Group_3__1__Impl();
 
             state._fsp--;
@@ -104183,23 +103064,23 @@
 
 
     // $ANTLR start "rule__XConstructorCall__Group_3__1__Impl"
-    // InternalReportDSL.g:31720:1: rule__XConstructorCall__Group_3__1__Impl : ( ( rule__XConstructorCall__TypeArgumentsAssignment_3_1 ) ) ;
+    // InternalReportDSL.g:31430:1: rule__XConstructorCall__Group_3__1__Impl : ( ( rule__XConstructorCall__TypeArgumentsAssignment_3_1 ) ) ;
     public final void rule__XConstructorCall__Group_3__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:31724:1: ( ( ( rule__XConstructorCall__TypeArgumentsAssignment_3_1 ) ) )
-            // InternalReportDSL.g:31725:1: ( ( rule__XConstructorCall__TypeArgumentsAssignment_3_1 ) )
+            // InternalReportDSL.g:31434:1: ( ( ( rule__XConstructorCall__TypeArgumentsAssignment_3_1 ) ) )
+            // InternalReportDSL.g:31435:1: ( ( rule__XConstructorCall__TypeArgumentsAssignment_3_1 ) )
             {
-            // InternalReportDSL.g:31725:1: ( ( rule__XConstructorCall__TypeArgumentsAssignment_3_1 ) )
-            // InternalReportDSL.g:31726:2: ( rule__XConstructorCall__TypeArgumentsAssignment_3_1 )
+            // InternalReportDSL.g:31435:1: ( ( rule__XConstructorCall__TypeArgumentsAssignment_3_1 ) )
+            // InternalReportDSL.g:31436:2: ( rule__XConstructorCall__TypeArgumentsAssignment_3_1 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXConstructorCallAccess().getTypeArgumentsAssignment_3_1()); 
             }
-            // InternalReportDSL.g:31727:2: ( rule__XConstructorCall__TypeArgumentsAssignment_3_1 )
-            // InternalReportDSL.g:31727:3: rule__XConstructorCall__TypeArgumentsAssignment_3_1
+            // InternalReportDSL.g:31437:2: ( rule__XConstructorCall__TypeArgumentsAssignment_3_1 )
+            // InternalReportDSL.g:31437:3: rule__XConstructorCall__TypeArgumentsAssignment_3_1
             {
             pushFollow(FOLLOW_2);
             rule__XConstructorCall__TypeArgumentsAssignment_3_1();
@@ -104234,16 +103115,16 @@
 
 
     // $ANTLR start "rule__XConstructorCall__Group_3__2"
-    // InternalReportDSL.g:31735:1: rule__XConstructorCall__Group_3__2 : rule__XConstructorCall__Group_3__2__Impl rule__XConstructorCall__Group_3__3 ;
+    // InternalReportDSL.g:31445:1: rule__XConstructorCall__Group_3__2 : rule__XConstructorCall__Group_3__2__Impl rule__XConstructorCall__Group_3__3 ;
     public final void rule__XConstructorCall__Group_3__2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:31739:1: ( rule__XConstructorCall__Group_3__2__Impl rule__XConstructorCall__Group_3__3 )
-            // InternalReportDSL.g:31740:2: rule__XConstructorCall__Group_3__2__Impl rule__XConstructorCall__Group_3__3
+            // InternalReportDSL.g:31449:1: ( rule__XConstructorCall__Group_3__2__Impl rule__XConstructorCall__Group_3__3 )
+            // InternalReportDSL.g:31450:2: rule__XConstructorCall__Group_3__2__Impl rule__XConstructorCall__Group_3__3
             {
-            pushFollow(FOLLOW_177);
+            pushFollow(FOLLOW_175);
             rule__XConstructorCall__Group_3__2__Impl();
 
             state._fsp--;
@@ -104272,37 +103153,37 @@
 
 
     // $ANTLR start "rule__XConstructorCall__Group_3__2__Impl"
-    // InternalReportDSL.g:31747:1: rule__XConstructorCall__Group_3__2__Impl : ( ( rule__XConstructorCall__Group_3_2__0 )* ) ;
+    // InternalReportDSL.g:31457:1: rule__XConstructorCall__Group_3__2__Impl : ( ( rule__XConstructorCall__Group_3_2__0 )* ) ;
     public final void rule__XConstructorCall__Group_3__2__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:31751:1: ( ( ( rule__XConstructorCall__Group_3_2__0 )* ) )
-            // InternalReportDSL.g:31752:1: ( ( rule__XConstructorCall__Group_3_2__0 )* )
+            // InternalReportDSL.g:31461:1: ( ( ( rule__XConstructorCall__Group_3_2__0 )* ) )
+            // InternalReportDSL.g:31462:1: ( ( rule__XConstructorCall__Group_3_2__0 )* )
             {
-            // InternalReportDSL.g:31752:1: ( ( rule__XConstructorCall__Group_3_2__0 )* )
-            // InternalReportDSL.g:31753:2: ( rule__XConstructorCall__Group_3_2__0 )*
+            // InternalReportDSL.g:31462:1: ( ( rule__XConstructorCall__Group_3_2__0 )* )
+            // InternalReportDSL.g:31463:2: ( rule__XConstructorCall__Group_3_2__0 )*
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXConstructorCallAccess().getGroup_3_2()); 
             }
-            // InternalReportDSL.g:31754:2: ( rule__XConstructorCall__Group_3_2__0 )*
-            loop233:
+            // InternalReportDSL.g:31464:2: ( rule__XConstructorCall__Group_3_2__0 )*
+            loop215:
             do {
-                int alt233=2;
-                int LA233_0 = input.LA(1);
+                int alt215=2;
+                int LA215_0 = input.LA(1);
 
-                if ( (LA233_0==228) ) {
-                    alt233=1;
+                if ( (LA215_0==235) ) {
+                    alt215=1;
                 }
 
 
-                switch (alt233) {
+                switch (alt215) {
             	case 1 :
-            	    // InternalReportDSL.g:31754:3: rule__XConstructorCall__Group_3_2__0
+            	    // InternalReportDSL.g:31464:3: rule__XConstructorCall__Group_3_2__0
             	    {
-            	    pushFollow(FOLLOW_138);
+            	    pushFollow(FOLLOW_137);
             	    rule__XConstructorCall__Group_3_2__0();
 
             	    state._fsp--;
@@ -104312,7 +103193,7 @@
             	    break;
 
             	default :
-            	    break loop233;
+            	    break loop215;
                 }
             } while (true);
 
@@ -104341,14 +103222,14 @@
 
 
     // $ANTLR start "rule__XConstructorCall__Group_3__3"
-    // InternalReportDSL.g:31762:1: rule__XConstructorCall__Group_3__3 : rule__XConstructorCall__Group_3__3__Impl ;
+    // InternalReportDSL.g:31472:1: rule__XConstructorCall__Group_3__3 : rule__XConstructorCall__Group_3__3__Impl ;
     public final void rule__XConstructorCall__Group_3__3() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:31766:1: ( rule__XConstructorCall__Group_3__3__Impl )
-            // InternalReportDSL.g:31767:2: rule__XConstructorCall__Group_3__3__Impl
+            // InternalReportDSL.g:31476:1: ( rule__XConstructorCall__Group_3__3__Impl )
+            // InternalReportDSL.g:31477:2: rule__XConstructorCall__Group_3__3__Impl
             {
             pushFollow(FOLLOW_2);
             rule__XConstructorCall__Group_3__3__Impl();
@@ -104374,17 +103255,17 @@
 
 
     // $ANTLR start "rule__XConstructorCall__Group_3__3__Impl"
-    // InternalReportDSL.g:31773:1: rule__XConstructorCall__Group_3__3__Impl : ( '>' ) ;
+    // InternalReportDSL.g:31483:1: rule__XConstructorCall__Group_3__3__Impl : ( '>' ) ;
     public final void rule__XConstructorCall__Group_3__3__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:31777:1: ( ( '>' ) )
-            // InternalReportDSL.g:31778:1: ( '>' )
+            // InternalReportDSL.g:31487:1: ( ( '>' ) )
+            // InternalReportDSL.g:31488:1: ( '>' )
             {
-            // InternalReportDSL.g:31778:1: ( '>' )
-            // InternalReportDSL.g:31779:2: '>'
+            // InternalReportDSL.g:31488:1: ( '>' )
+            // InternalReportDSL.g:31489:2: '>'
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXConstructorCallAccess().getGreaterThanSignKeyword_3_3()); 
@@ -104415,16 +103296,16 @@
 
 
     // $ANTLR start "rule__XConstructorCall__Group_3_2__0"
-    // InternalReportDSL.g:31789:1: rule__XConstructorCall__Group_3_2__0 : rule__XConstructorCall__Group_3_2__0__Impl rule__XConstructorCall__Group_3_2__1 ;
+    // InternalReportDSL.g:31499:1: rule__XConstructorCall__Group_3_2__0 : rule__XConstructorCall__Group_3_2__0__Impl rule__XConstructorCall__Group_3_2__1 ;
     public final void rule__XConstructorCall__Group_3_2__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:31793:1: ( rule__XConstructorCall__Group_3_2__0__Impl rule__XConstructorCall__Group_3_2__1 )
-            // InternalReportDSL.g:31794:2: rule__XConstructorCall__Group_3_2__0__Impl rule__XConstructorCall__Group_3_2__1
+            // InternalReportDSL.g:31503:1: ( rule__XConstructorCall__Group_3_2__0__Impl rule__XConstructorCall__Group_3_2__1 )
+            // InternalReportDSL.g:31504:2: rule__XConstructorCall__Group_3_2__0__Impl rule__XConstructorCall__Group_3_2__1
             {
-            pushFollow(FOLLOW_176);
+            pushFollow(FOLLOW_174);
             rule__XConstructorCall__Group_3_2__0__Impl();
 
             state._fsp--;
@@ -104453,22 +103334,22 @@
 
 
     // $ANTLR start "rule__XConstructorCall__Group_3_2__0__Impl"
-    // InternalReportDSL.g:31801:1: rule__XConstructorCall__Group_3_2__0__Impl : ( ',' ) ;
+    // InternalReportDSL.g:31511:1: rule__XConstructorCall__Group_3_2__0__Impl : ( ',' ) ;
     public final void rule__XConstructorCall__Group_3_2__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:31805:1: ( ( ',' ) )
-            // InternalReportDSL.g:31806:1: ( ',' )
+            // InternalReportDSL.g:31515:1: ( ( ',' ) )
+            // InternalReportDSL.g:31516:1: ( ',' )
             {
-            // InternalReportDSL.g:31806:1: ( ',' )
-            // InternalReportDSL.g:31807:2: ','
+            // InternalReportDSL.g:31516:1: ( ',' )
+            // InternalReportDSL.g:31517:2: ','
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXConstructorCallAccess().getCommaKeyword_3_2_0()); 
             }
-            match(input,228,FOLLOW_2); if (state.failed) return ;
+            match(input,235,FOLLOW_2); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getXConstructorCallAccess().getCommaKeyword_3_2_0()); 
             }
@@ -104494,14 +103375,14 @@
 
 
     // $ANTLR start "rule__XConstructorCall__Group_3_2__1"
-    // InternalReportDSL.g:31816:1: rule__XConstructorCall__Group_3_2__1 : rule__XConstructorCall__Group_3_2__1__Impl ;
+    // InternalReportDSL.g:31526:1: rule__XConstructorCall__Group_3_2__1 : rule__XConstructorCall__Group_3_2__1__Impl ;
     public final void rule__XConstructorCall__Group_3_2__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:31820:1: ( rule__XConstructorCall__Group_3_2__1__Impl )
-            // InternalReportDSL.g:31821:2: rule__XConstructorCall__Group_3_2__1__Impl
+            // InternalReportDSL.g:31530:1: ( rule__XConstructorCall__Group_3_2__1__Impl )
+            // InternalReportDSL.g:31531:2: rule__XConstructorCall__Group_3_2__1__Impl
             {
             pushFollow(FOLLOW_2);
             rule__XConstructorCall__Group_3_2__1__Impl();
@@ -104527,23 +103408,23 @@
 
 
     // $ANTLR start "rule__XConstructorCall__Group_3_2__1__Impl"
-    // InternalReportDSL.g:31827:1: rule__XConstructorCall__Group_3_2__1__Impl : ( ( rule__XConstructorCall__TypeArgumentsAssignment_3_2_1 ) ) ;
+    // InternalReportDSL.g:31537:1: rule__XConstructorCall__Group_3_2__1__Impl : ( ( rule__XConstructorCall__TypeArgumentsAssignment_3_2_1 ) ) ;
     public final void rule__XConstructorCall__Group_3_2__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:31831:1: ( ( ( rule__XConstructorCall__TypeArgumentsAssignment_3_2_1 ) ) )
-            // InternalReportDSL.g:31832:1: ( ( rule__XConstructorCall__TypeArgumentsAssignment_3_2_1 ) )
+            // InternalReportDSL.g:31541:1: ( ( ( rule__XConstructorCall__TypeArgumentsAssignment_3_2_1 ) ) )
+            // InternalReportDSL.g:31542:1: ( ( rule__XConstructorCall__TypeArgumentsAssignment_3_2_1 ) )
             {
-            // InternalReportDSL.g:31832:1: ( ( rule__XConstructorCall__TypeArgumentsAssignment_3_2_1 ) )
-            // InternalReportDSL.g:31833:2: ( rule__XConstructorCall__TypeArgumentsAssignment_3_2_1 )
+            // InternalReportDSL.g:31542:1: ( ( rule__XConstructorCall__TypeArgumentsAssignment_3_2_1 ) )
+            // InternalReportDSL.g:31543:2: ( rule__XConstructorCall__TypeArgumentsAssignment_3_2_1 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXConstructorCallAccess().getTypeArgumentsAssignment_3_2_1()); 
             }
-            // InternalReportDSL.g:31834:2: ( rule__XConstructorCall__TypeArgumentsAssignment_3_2_1 )
-            // InternalReportDSL.g:31834:3: rule__XConstructorCall__TypeArgumentsAssignment_3_2_1
+            // InternalReportDSL.g:31544:2: ( rule__XConstructorCall__TypeArgumentsAssignment_3_2_1 )
+            // InternalReportDSL.g:31544:3: rule__XConstructorCall__TypeArgumentsAssignment_3_2_1
             {
             pushFollow(FOLLOW_2);
             rule__XConstructorCall__TypeArgumentsAssignment_3_2_1();
@@ -104578,16 +103459,16 @@
 
 
     // $ANTLR start "rule__XConstructorCall__Group_4__0"
-    // InternalReportDSL.g:31843:1: rule__XConstructorCall__Group_4__0 : rule__XConstructorCall__Group_4__0__Impl rule__XConstructorCall__Group_4__1 ;
+    // InternalReportDSL.g:31553:1: rule__XConstructorCall__Group_4__0 : rule__XConstructorCall__Group_4__0__Impl rule__XConstructorCall__Group_4__1 ;
     public final void rule__XConstructorCall__Group_4__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:31847:1: ( rule__XConstructorCall__Group_4__0__Impl rule__XConstructorCall__Group_4__1 )
-            // InternalReportDSL.g:31848:2: rule__XConstructorCall__Group_4__0__Impl rule__XConstructorCall__Group_4__1
+            // InternalReportDSL.g:31557:1: ( rule__XConstructorCall__Group_4__0__Impl rule__XConstructorCall__Group_4__1 )
+            // InternalReportDSL.g:31558:2: rule__XConstructorCall__Group_4__0__Impl rule__XConstructorCall__Group_4__1
             {
-            pushFollow(FOLLOW_178);
+            pushFollow(FOLLOW_176);
             rule__XConstructorCall__Group_4__0__Impl();
 
             state._fsp--;
@@ -104616,23 +103497,23 @@
 
 
     // $ANTLR start "rule__XConstructorCall__Group_4__0__Impl"
-    // InternalReportDSL.g:31855:1: rule__XConstructorCall__Group_4__0__Impl : ( ( rule__XConstructorCall__ExplicitConstructorCallAssignment_4_0 ) ) ;
+    // InternalReportDSL.g:31565:1: rule__XConstructorCall__Group_4__0__Impl : ( ( rule__XConstructorCall__ExplicitConstructorCallAssignment_4_0 ) ) ;
     public final void rule__XConstructorCall__Group_4__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:31859:1: ( ( ( rule__XConstructorCall__ExplicitConstructorCallAssignment_4_0 ) ) )
-            // InternalReportDSL.g:31860:1: ( ( rule__XConstructorCall__ExplicitConstructorCallAssignment_4_0 ) )
+            // InternalReportDSL.g:31569:1: ( ( ( rule__XConstructorCall__ExplicitConstructorCallAssignment_4_0 ) ) )
+            // InternalReportDSL.g:31570:1: ( ( rule__XConstructorCall__ExplicitConstructorCallAssignment_4_0 ) )
             {
-            // InternalReportDSL.g:31860:1: ( ( rule__XConstructorCall__ExplicitConstructorCallAssignment_4_0 ) )
-            // InternalReportDSL.g:31861:2: ( rule__XConstructorCall__ExplicitConstructorCallAssignment_4_0 )
+            // InternalReportDSL.g:31570:1: ( ( rule__XConstructorCall__ExplicitConstructorCallAssignment_4_0 ) )
+            // InternalReportDSL.g:31571:2: ( rule__XConstructorCall__ExplicitConstructorCallAssignment_4_0 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXConstructorCallAccess().getExplicitConstructorCallAssignment_4_0()); 
             }
-            // InternalReportDSL.g:31862:2: ( rule__XConstructorCall__ExplicitConstructorCallAssignment_4_0 )
-            // InternalReportDSL.g:31862:3: rule__XConstructorCall__ExplicitConstructorCallAssignment_4_0
+            // InternalReportDSL.g:31572:2: ( rule__XConstructorCall__ExplicitConstructorCallAssignment_4_0 )
+            // InternalReportDSL.g:31572:3: rule__XConstructorCall__ExplicitConstructorCallAssignment_4_0
             {
             pushFollow(FOLLOW_2);
             rule__XConstructorCall__ExplicitConstructorCallAssignment_4_0();
@@ -104667,16 +103548,16 @@
 
 
     // $ANTLR start "rule__XConstructorCall__Group_4__1"
-    // InternalReportDSL.g:31870:1: rule__XConstructorCall__Group_4__1 : rule__XConstructorCall__Group_4__1__Impl rule__XConstructorCall__Group_4__2 ;
+    // InternalReportDSL.g:31580:1: rule__XConstructorCall__Group_4__1 : rule__XConstructorCall__Group_4__1__Impl rule__XConstructorCall__Group_4__2 ;
     public final void rule__XConstructorCall__Group_4__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:31874:1: ( rule__XConstructorCall__Group_4__1__Impl rule__XConstructorCall__Group_4__2 )
-            // InternalReportDSL.g:31875:2: rule__XConstructorCall__Group_4__1__Impl rule__XConstructorCall__Group_4__2
+            // InternalReportDSL.g:31584:1: ( rule__XConstructorCall__Group_4__1__Impl rule__XConstructorCall__Group_4__2 )
+            // InternalReportDSL.g:31585:2: rule__XConstructorCall__Group_4__1__Impl rule__XConstructorCall__Group_4__2
             {
-            pushFollow(FOLLOW_178);
+            pushFollow(FOLLOW_176);
             rule__XConstructorCall__Group_4__1__Impl();
 
             state._fsp--;
@@ -104705,31 +103586,31 @@
 
 
     // $ANTLR start "rule__XConstructorCall__Group_4__1__Impl"
-    // InternalReportDSL.g:31882:1: rule__XConstructorCall__Group_4__1__Impl : ( ( rule__XConstructorCall__Alternatives_4_1 )? ) ;
+    // InternalReportDSL.g:31592:1: rule__XConstructorCall__Group_4__1__Impl : ( ( rule__XConstructorCall__Alternatives_4_1 )? ) ;
     public final void rule__XConstructorCall__Group_4__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:31886:1: ( ( ( rule__XConstructorCall__Alternatives_4_1 )? ) )
-            // InternalReportDSL.g:31887:1: ( ( rule__XConstructorCall__Alternatives_4_1 )? )
+            // InternalReportDSL.g:31596:1: ( ( ( rule__XConstructorCall__Alternatives_4_1 )? ) )
+            // InternalReportDSL.g:31597:1: ( ( rule__XConstructorCall__Alternatives_4_1 )? )
             {
-            // InternalReportDSL.g:31887:1: ( ( rule__XConstructorCall__Alternatives_4_1 )? )
-            // InternalReportDSL.g:31888:2: ( rule__XConstructorCall__Alternatives_4_1 )?
+            // InternalReportDSL.g:31597:1: ( ( rule__XConstructorCall__Alternatives_4_1 )? )
+            // InternalReportDSL.g:31598:2: ( rule__XConstructorCall__Alternatives_4_1 )?
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXConstructorCallAccess().getAlternatives_4_1()); 
             }
-            // InternalReportDSL.g:31889:2: ( rule__XConstructorCall__Alternatives_4_1 )?
-            int alt234=2;
-            int LA234_0 = input.LA(1);
+            // InternalReportDSL.g:31599:2: ( rule__XConstructorCall__Alternatives_4_1 )?
+            int alt216=2;
+            int LA216_0 = input.LA(1);
 
-            if ( ((LA234_0>=RULE_STRING && LA234_0<=RULE_DECIMAL)||LA234_0==31||LA234_0==35||(LA234_0>=38 && LA234_0<=39)||LA234_0==44||(LA234_0>=49 && LA234_0<=54)||LA234_0==125||LA234_0==204||(LA234_0>=230 && LA234_0<=231)||LA234_0==233||LA234_0==235||(LA234_0>=239 && LA234_0<=247)||LA234_0==249||LA234_0==264||LA234_0==266) ) {
-                alt234=1;
+            if ( ((LA216_0>=RULE_STRING && LA216_0<=RULE_DECIMAL)||LA216_0==31||LA216_0==35||(LA216_0>=38 && LA216_0<=39)||LA216_0==44||(LA216_0>=49 && LA216_0<=54)||LA216_0==131||LA216_0==211||(LA216_0>=237 && LA216_0<=238)||LA216_0==240||LA216_0==242||(LA216_0>=246 && LA216_0<=254)||LA216_0==256||LA216_0==269||LA216_0==271) ) {
+                alt216=1;
             }
-            switch (alt234) {
+            switch (alt216) {
                 case 1 :
-                    // InternalReportDSL.g:31889:3: rule__XConstructorCall__Alternatives_4_1
+                    // InternalReportDSL.g:31599:3: rule__XConstructorCall__Alternatives_4_1
                     {
                     pushFollow(FOLLOW_2);
                     rule__XConstructorCall__Alternatives_4_1();
@@ -104767,14 +103648,14 @@
 
 
     // $ANTLR start "rule__XConstructorCall__Group_4__2"
-    // InternalReportDSL.g:31897:1: rule__XConstructorCall__Group_4__2 : rule__XConstructorCall__Group_4__2__Impl ;
+    // InternalReportDSL.g:31607:1: rule__XConstructorCall__Group_4__2 : rule__XConstructorCall__Group_4__2__Impl ;
     public final void rule__XConstructorCall__Group_4__2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:31901:1: ( rule__XConstructorCall__Group_4__2__Impl )
-            // InternalReportDSL.g:31902:2: rule__XConstructorCall__Group_4__2__Impl
+            // InternalReportDSL.g:31611:1: ( rule__XConstructorCall__Group_4__2__Impl )
+            // InternalReportDSL.g:31612:2: rule__XConstructorCall__Group_4__2__Impl
             {
             pushFollow(FOLLOW_2);
             rule__XConstructorCall__Group_4__2__Impl();
@@ -104800,22 +103681,22 @@
 
 
     // $ANTLR start "rule__XConstructorCall__Group_4__2__Impl"
-    // InternalReportDSL.g:31908:1: rule__XConstructorCall__Group_4__2__Impl : ( ')' ) ;
+    // InternalReportDSL.g:31618:1: rule__XConstructorCall__Group_4__2__Impl : ( ')' ) ;
     public final void rule__XConstructorCall__Group_4__2__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:31912:1: ( ( ')' ) )
-            // InternalReportDSL.g:31913:1: ( ')' )
+            // InternalReportDSL.g:31622:1: ( ( ')' ) )
+            // InternalReportDSL.g:31623:1: ( ')' )
             {
-            // InternalReportDSL.g:31913:1: ( ')' )
-            // InternalReportDSL.g:31914:2: ')'
+            // InternalReportDSL.g:31623:1: ( ')' )
+            // InternalReportDSL.g:31624:2: ')'
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXConstructorCallAccess().getRightParenthesisKeyword_4_2()); 
             }
-            match(input,205,FOLLOW_2); if (state.failed) return ;
+            match(input,212,FOLLOW_2); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getXConstructorCallAccess().getRightParenthesisKeyword_4_2()); 
             }
@@ -104841,16 +103722,16 @@
 
 
     // $ANTLR start "rule__XConstructorCall__Group_4_1_1__0"
-    // InternalReportDSL.g:31924:1: rule__XConstructorCall__Group_4_1_1__0 : rule__XConstructorCall__Group_4_1_1__0__Impl rule__XConstructorCall__Group_4_1_1__1 ;
+    // InternalReportDSL.g:31634:1: rule__XConstructorCall__Group_4_1_1__0 : rule__XConstructorCall__Group_4_1_1__0__Impl rule__XConstructorCall__Group_4_1_1__1 ;
     public final void rule__XConstructorCall__Group_4_1_1__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:31928:1: ( rule__XConstructorCall__Group_4_1_1__0__Impl rule__XConstructorCall__Group_4_1_1__1 )
-            // InternalReportDSL.g:31929:2: rule__XConstructorCall__Group_4_1_1__0__Impl rule__XConstructorCall__Group_4_1_1__1
+            // InternalReportDSL.g:31638:1: ( rule__XConstructorCall__Group_4_1_1__0__Impl rule__XConstructorCall__Group_4_1_1__1 )
+            // InternalReportDSL.g:31639:2: rule__XConstructorCall__Group_4_1_1__0__Impl rule__XConstructorCall__Group_4_1_1__1
             {
-            pushFollow(FOLLOW_137);
+            pushFollow(FOLLOW_136);
             rule__XConstructorCall__Group_4_1_1__0__Impl();
 
             state._fsp--;
@@ -104879,23 +103760,23 @@
 
 
     // $ANTLR start "rule__XConstructorCall__Group_4_1_1__0__Impl"
-    // InternalReportDSL.g:31936:1: rule__XConstructorCall__Group_4_1_1__0__Impl : ( ( rule__XConstructorCall__ArgumentsAssignment_4_1_1_0 ) ) ;
+    // InternalReportDSL.g:31646:1: rule__XConstructorCall__Group_4_1_1__0__Impl : ( ( rule__XConstructorCall__ArgumentsAssignment_4_1_1_0 ) ) ;
     public final void rule__XConstructorCall__Group_4_1_1__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:31940:1: ( ( ( rule__XConstructorCall__ArgumentsAssignment_4_1_1_0 ) ) )
-            // InternalReportDSL.g:31941:1: ( ( rule__XConstructorCall__ArgumentsAssignment_4_1_1_0 ) )
+            // InternalReportDSL.g:31650:1: ( ( ( rule__XConstructorCall__ArgumentsAssignment_4_1_1_0 ) ) )
+            // InternalReportDSL.g:31651:1: ( ( rule__XConstructorCall__ArgumentsAssignment_4_1_1_0 ) )
             {
-            // InternalReportDSL.g:31941:1: ( ( rule__XConstructorCall__ArgumentsAssignment_4_1_1_0 ) )
-            // InternalReportDSL.g:31942:2: ( rule__XConstructorCall__ArgumentsAssignment_4_1_1_0 )
+            // InternalReportDSL.g:31651:1: ( ( rule__XConstructorCall__ArgumentsAssignment_4_1_1_0 ) )
+            // InternalReportDSL.g:31652:2: ( rule__XConstructorCall__ArgumentsAssignment_4_1_1_0 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXConstructorCallAccess().getArgumentsAssignment_4_1_1_0()); 
             }
-            // InternalReportDSL.g:31943:2: ( rule__XConstructorCall__ArgumentsAssignment_4_1_1_0 )
-            // InternalReportDSL.g:31943:3: rule__XConstructorCall__ArgumentsAssignment_4_1_1_0
+            // InternalReportDSL.g:31653:2: ( rule__XConstructorCall__ArgumentsAssignment_4_1_1_0 )
+            // InternalReportDSL.g:31653:3: rule__XConstructorCall__ArgumentsAssignment_4_1_1_0
             {
             pushFollow(FOLLOW_2);
             rule__XConstructorCall__ArgumentsAssignment_4_1_1_0();
@@ -104930,14 +103811,14 @@
 
 
     // $ANTLR start "rule__XConstructorCall__Group_4_1_1__1"
-    // InternalReportDSL.g:31951:1: rule__XConstructorCall__Group_4_1_1__1 : rule__XConstructorCall__Group_4_1_1__1__Impl ;
+    // InternalReportDSL.g:31661:1: rule__XConstructorCall__Group_4_1_1__1 : rule__XConstructorCall__Group_4_1_1__1__Impl ;
     public final void rule__XConstructorCall__Group_4_1_1__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:31955:1: ( rule__XConstructorCall__Group_4_1_1__1__Impl )
-            // InternalReportDSL.g:31956:2: rule__XConstructorCall__Group_4_1_1__1__Impl
+            // InternalReportDSL.g:31665:1: ( rule__XConstructorCall__Group_4_1_1__1__Impl )
+            // InternalReportDSL.g:31666:2: rule__XConstructorCall__Group_4_1_1__1__Impl
             {
             pushFollow(FOLLOW_2);
             rule__XConstructorCall__Group_4_1_1__1__Impl();
@@ -104963,37 +103844,37 @@
 
 
     // $ANTLR start "rule__XConstructorCall__Group_4_1_1__1__Impl"
-    // InternalReportDSL.g:31962:1: rule__XConstructorCall__Group_4_1_1__1__Impl : ( ( rule__XConstructorCall__Group_4_1_1_1__0 )* ) ;
+    // InternalReportDSL.g:31672:1: rule__XConstructorCall__Group_4_1_1__1__Impl : ( ( rule__XConstructorCall__Group_4_1_1_1__0 )* ) ;
     public final void rule__XConstructorCall__Group_4_1_1__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:31966:1: ( ( ( rule__XConstructorCall__Group_4_1_1_1__0 )* ) )
-            // InternalReportDSL.g:31967:1: ( ( rule__XConstructorCall__Group_4_1_1_1__0 )* )
+            // InternalReportDSL.g:31676:1: ( ( ( rule__XConstructorCall__Group_4_1_1_1__0 )* ) )
+            // InternalReportDSL.g:31677:1: ( ( rule__XConstructorCall__Group_4_1_1_1__0 )* )
             {
-            // InternalReportDSL.g:31967:1: ( ( rule__XConstructorCall__Group_4_1_1_1__0 )* )
-            // InternalReportDSL.g:31968:2: ( rule__XConstructorCall__Group_4_1_1_1__0 )*
+            // InternalReportDSL.g:31677:1: ( ( rule__XConstructorCall__Group_4_1_1_1__0 )* )
+            // InternalReportDSL.g:31678:2: ( rule__XConstructorCall__Group_4_1_1_1__0 )*
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXConstructorCallAccess().getGroup_4_1_1_1()); 
             }
-            // InternalReportDSL.g:31969:2: ( rule__XConstructorCall__Group_4_1_1_1__0 )*
-            loop235:
+            // InternalReportDSL.g:31679:2: ( rule__XConstructorCall__Group_4_1_1_1__0 )*
+            loop217:
             do {
-                int alt235=2;
-                int LA235_0 = input.LA(1);
+                int alt217=2;
+                int LA217_0 = input.LA(1);
 
-                if ( (LA235_0==228) ) {
-                    alt235=1;
+                if ( (LA217_0==235) ) {
+                    alt217=1;
                 }
 
 
-                switch (alt235) {
+                switch (alt217) {
             	case 1 :
-            	    // InternalReportDSL.g:31969:3: rule__XConstructorCall__Group_4_1_1_1__0
+            	    // InternalReportDSL.g:31679:3: rule__XConstructorCall__Group_4_1_1_1__0
             	    {
-            	    pushFollow(FOLLOW_138);
+            	    pushFollow(FOLLOW_137);
             	    rule__XConstructorCall__Group_4_1_1_1__0();
 
             	    state._fsp--;
@@ -105003,7 +103884,7 @@
             	    break;
 
             	default :
-            	    break loop235;
+            	    break loop217;
                 }
             } while (true);
 
@@ -105032,16 +103913,16 @@
 
 
     // $ANTLR start "rule__XConstructorCall__Group_4_1_1_1__0"
-    // InternalReportDSL.g:31978:1: rule__XConstructorCall__Group_4_1_1_1__0 : rule__XConstructorCall__Group_4_1_1_1__0__Impl rule__XConstructorCall__Group_4_1_1_1__1 ;
+    // InternalReportDSL.g:31688:1: rule__XConstructorCall__Group_4_1_1_1__0 : rule__XConstructorCall__Group_4_1_1_1__0__Impl rule__XConstructorCall__Group_4_1_1_1__1 ;
     public final void rule__XConstructorCall__Group_4_1_1_1__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:31982:1: ( rule__XConstructorCall__Group_4_1_1_1__0__Impl rule__XConstructorCall__Group_4_1_1_1__1 )
-            // InternalReportDSL.g:31983:2: rule__XConstructorCall__Group_4_1_1_1__0__Impl rule__XConstructorCall__Group_4_1_1_1__1
+            // InternalReportDSL.g:31692:1: ( rule__XConstructorCall__Group_4_1_1_1__0__Impl rule__XConstructorCall__Group_4_1_1_1__1 )
+            // InternalReportDSL.g:31693:2: rule__XConstructorCall__Group_4_1_1_1__0__Impl rule__XConstructorCall__Group_4_1_1_1__1
             {
-            pushFollow(FOLLOW_139);
+            pushFollow(FOLLOW_138);
             rule__XConstructorCall__Group_4_1_1_1__0__Impl();
 
             state._fsp--;
@@ -105070,22 +103951,22 @@
 
 
     // $ANTLR start "rule__XConstructorCall__Group_4_1_1_1__0__Impl"
-    // InternalReportDSL.g:31990:1: rule__XConstructorCall__Group_4_1_1_1__0__Impl : ( ',' ) ;
+    // InternalReportDSL.g:31700:1: rule__XConstructorCall__Group_4_1_1_1__0__Impl : ( ',' ) ;
     public final void rule__XConstructorCall__Group_4_1_1_1__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:31994:1: ( ( ',' ) )
-            // InternalReportDSL.g:31995:1: ( ',' )
+            // InternalReportDSL.g:31704:1: ( ( ',' ) )
+            // InternalReportDSL.g:31705:1: ( ',' )
             {
-            // InternalReportDSL.g:31995:1: ( ',' )
-            // InternalReportDSL.g:31996:2: ','
+            // InternalReportDSL.g:31705:1: ( ',' )
+            // InternalReportDSL.g:31706:2: ','
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXConstructorCallAccess().getCommaKeyword_4_1_1_1_0()); 
             }
-            match(input,228,FOLLOW_2); if (state.failed) return ;
+            match(input,235,FOLLOW_2); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getXConstructorCallAccess().getCommaKeyword_4_1_1_1_0()); 
             }
@@ -105111,14 +103992,14 @@
 
 
     // $ANTLR start "rule__XConstructorCall__Group_4_1_1_1__1"
-    // InternalReportDSL.g:32005:1: rule__XConstructorCall__Group_4_1_1_1__1 : rule__XConstructorCall__Group_4_1_1_1__1__Impl ;
+    // InternalReportDSL.g:31715:1: rule__XConstructorCall__Group_4_1_1_1__1 : rule__XConstructorCall__Group_4_1_1_1__1__Impl ;
     public final void rule__XConstructorCall__Group_4_1_1_1__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:32009:1: ( rule__XConstructorCall__Group_4_1_1_1__1__Impl )
-            // InternalReportDSL.g:32010:2: rule__XConstructorCall__Group_4_1_1_1__1__Impl
+            // InternalReportDSL.g:31719:1: ( rule__XConstructorCall__Group_4_1_1_1__1__Impl )
+            // InternalReportDSL.g:31720:2: rule__XConstructorCall__Group_4_1_1_1__1__Impl
             {
             pushFollow(FOLLOW_2);
             rule__XConstructorCall__Group_4_1_1_1__1__Impl();
@@ -105144,23 +104025,23 @@
 
 
     // $ANTLR start "rule__XConstructorCall__Group_4_1_1_1__1__Impl"
-    // InternalReportDSL.g:32016:1: rule__XConstructorCall__Group_4_1_1_1__1__Impl : ( ( rule__XConstructorCall__ArgumentsAssignment_4_1_1_1_1 ) ) ;
+    // InternalReportDSL.g:31726:1: rule__XConstructorCall__Group_4_1_1_1__1__Impl : ( ( rule__XConstructorCall__ArgumentsAssignment_4_1_1_1_1 ) ) ;
     public final void rule__XConstructorCall__Group_4_1_1_1__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:32020:1: ( ( ( rule__XConstructorCall__ArgumentsAssignment_4_1_1_1_1 ) ) )
-            // InternalReportDSL.g:32021:1: ( ( rule__XConstructorCall__ArgumentsAssignment_4_1_1_1_1 ) )
+            // InternalReportDSL.g:31730:1: ( ( ( rule__XConstructorCall__ArgumentsAssignment_4_1_1_1_1 ) ) )
+            // InternalReportDSL.g:31731:1: ( ( rule__XConstructorCall__ArgumentsAssignment_4_1_1_1_1 ) )
             {
-            // InternalReportDSL.g:32021:1: ( ( rule__XConstructorCall__ArgumentsAssignment_4_1_1_1_1 ) )
-            // InternalReportDSL.g:32022:2: ( rule__XConstructorCall__ArgumentsAssignment_4_1_1_1_1 )
+            // InternalReportDSL.g:31731:1: ( ( rule__XConstructorCall__ArgumentsAssignment_4_1_1_1_1 ) )
+            // InternalReportDSL.g:31732:2: ( rule__XConstructorCall__ArgumentsAssignment_4_1_1_1_1 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXConstructorCallAccess().getArgumentsAssignment_4_1_1_1_1()); 
             }
-            // InternalReportDSL.g:32023:2: ( rule__XConstructorCall__ArgumentsAssignment_4_1_1_1_1 )
-            // InternalReportDSL.g:32023:3: rule__XConstructorCall__ArgumentsAssignment_4_1_1_1_1
+            // InternalReportDSL.g:31733:2: ( rule__XConstructorCall__ArgumentsAssignment_4_1_1_1_1 )
+            // InternalReportDSL.g:31733:3: rule__XConstructorCall__ArgumentsAssignment_4_1_1_1_1
             {
             pushFollow(FOLLOW_2);
             rule__XConstructorCall__ArgumentsAssignment_4_1_1_1_1();
@@ -105195,16 +104076,16 @@
 
 
     // $ANTLR start "rule__XBooleanLiteral__Group__0"
-    // InternalReportDSL.g:32032:1: rule__XBooleanLiteral__Group__0 : rule__XBooleanLiteral__Group__0__Impl rule__XBooleanLiteral__Group__1 ;
+    // InternalReportDSL.g:31742:1: rule__XBooleanLiteral__Group__0 : rule__XBooleanLiteral__Group__0__Impl rule__XBooleanLiteral__Group__1 ;
     public final void rule__XBooleanLiteral__Group__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:32036:1: ( rule__XBooleanLiteral__Group__0__Impl rule__XBooleanLiteral__Group__1 )
-            // InternalReportDSL.g:32037:2: rule__XBooleanLiteral__Group__0__Impl rule__XBooleanLiteral__Group__1
+            // InternalReportDSL.g:31746:1: ( rule__XBooleanLiteral__Group__0__Impl rule__XBooleanLiteral__Group__1 )
+            // InternalReportDSL.g:31747:2: rule__XBooleanLiteral__Group__0__Impl rule__XBooleanLiteral__Group__1
             {
-            pushFollow(FOLLOW_202);
+            pushFollow(FOLLOW_200);
             rule__XBooleanLiteral__Group__0__Impl();
 
             state._fsp--;
@@ -105233,23 +104114,23 @@
 
 
     // $ANTLR start "rule__XBooleanLiteral__Group__0__Impl"
-    // InternalReportDSL.g:32044:1: rule__XBooleanLiteral__Group__0__Impl : ( () ) ;
+    // InternalReportDSL.g:31754:1: rule__XBooleanLiteral__Group__0__Impl : ( () ) ;
     public final void rule__XBooleanLiteral__Group__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:32048:1: ( ( () ) )
-            // InternalReportDSL.g:32049:1: ( () )
+            // InternalReportDSL.g:31758:1: ( ( () ) )
+            // InternalReportDSL.g:31759:1: ( () )
             {
-            // InternalReportDSL.g:32049:1: ( () )
-            // InternalReportDSL.g:32050:2: ()
+            // InternalReportDSL.g:31759:1: ( () )
+            // InternalReportDSL.g:31760:2: ()
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXBooleanLiteralAccess().getXBooleanLiteralAction_0()); 
             }
-            // InternalReportDSL.g:32051:2: ()
-            // InternalReportDSL.g:32051:3: 
+            // InternalReportDSL.g:31761:2: ()
+            // InternalReportDSL.g:31761:3: 
             {
             }
 
@@ -105274,14 +104155,14 @@
 
 
     // $ANTLR start "rule__XBooleanLiteral__Group__1"
-    // InternalReportDSL.g:32059:1: rule__XBooleanLiteral__Group__1 : rule__XBooleanLiteral__Group__1__Impl ;
+    // InternalReportDSL.g:31769:1: rule__XBooleanLiteral__Group__1 : rule__XBooleanLiteral__Group__1__Impl ;
     public final void rule__XBooleanLiteral__Group__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:32063:1: ( rule__XBooleanLiteral__Group__1__Impl )
-            // InternalReportDSL.g:32064:2: rule__XBooleanLiteral__Group__1__Impl
+            // InternalReportDSL.g:31773:1: ( rule__XBooleanLiteral__Group__1__Impl )
+            // InternalReportDSL.g:31774:2: rule__XBooleanLiteral__Group__1__Impl
             {
             pushFollow(FOLLOW_2);
             rule__XBooleanLiteral__Group__1__Impl();
@@ -105307,23 +104188,23 @@
 
 
     // $ANTLR start "rule__XBooleanLiteral__Group__1__Impl"
-    // InternalReportDSL.g:32070:1: rule__XBooleanLiteral__Group__1__Impl : ( ( rule__XBooleanLiteral__Alternatives_1 ) ) ;
+    // InternalReportDSL.g:31780:1: rule__XBooleanLiteral__Group__1__Impl : ( ( rule__XBooleanLiteral__Alternatives_1 ) ) ;
     public final void rule__XBooleanLiteral__Group__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:32074:1: ( ( ( rule__XBooleanLiteral__Alternatives_1 ) ) )
-            // InternalReportDSL.g:32075:1: ( ( rule__XBooleanLiteral__Alternatives_1 ) )
+            // InternalReportDSL.g:31784:1: ( ( ( rule__XBooleanLiteral__Alternatives_1 ) ) )
+            // InternalReportDSL.g:31785:1: ( ( rule__XBooleanLiteral__Alternatives_1 ) )
             {
-            // InternalReportDSL.g:32075:1: ( ( rule__XBooleanLiteral__Alternatives_1 ) )
-            // InternalReportDSL.g:32076:2: ( rule__XBooleanLiteral__Alternatives_1 )
+            // InternalReportDSL.g:31785:1: ( ( rule__XBooleanLiteral__Alternatives_1 ) )
+            // InternalReportDSL.g:31786:2: ( rule__XBooleanLiteral__Alternatives_1 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXBooleanLiteralAccess().getAlternatives_1()); 
             }
-            // InternalReportDSL.g:32077:2: ( rule__XBooleanLiteral__Alternatives_1 )
-            // InternalReportDSL.g:32077:3: rule__XBooleanLiteral__Alternatives_1
+            // InternalReportDSL.g:31787:2: ( rule__XBooleanLiteral__Alternatives_1 )
+            // InternalReportDSL.g:31787:3: rule__XBooleanLiteral__Alternatives_1
             {
             pushFollow(FOLLOW_2);
             rule__XBooleanLiteral__Alternatives_1();
@@ -105358,16 +104239,16 @@
 
 
     // $ANTLR start "rule__XNullLiteral__Group__0"
-    // InternalReportDSL.g:32086:1: rule__XNullLiteral__Group__0 : rule__XNullLiteral__Group__0__Impl rule__XNullLiteral__Group__1 ;
+    // InternalReportDSL.g:31796:1: rule__XNullLiteral__Group__0 : rule__XNullLiteral__Group__0__Impl rule__XNullLiteral__Group__1 ;
     public final void rule__XNullLiteral__Group__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:32090:1: ( rule__XNullLiteral__Group__0__Impl rule__XNullLiteral__Group__1 )
-            // InternalReportDSL.g:32091:2: rule__XNullLiteral__Group__0__Impl rule__XNullLiteral__Group__1
+            // InternalReportDSL.g:31800:1: ( rule__XNullLiteral__Group__0__Impl rule__XNullLiteral__Group__1 )
+            // InternalReportDSL.g:31801:2: rule__XNullLiteral__Group__0__Impl rule__XNullLiteral__Group__1
             {
-            pushFollow(FOLLOW_203);
+            pushFollow(FOLLOW_201);
             rule__XNullLiteral__Group__0__Impl();
 
             state._fsp--;
@@ -105396,23 +104277,23 @@
 
 
     // $ANTLR start "rule__XNullLiteral__Group__0__Impl"
-    // InternalReportDSL.g:32098:1: rule__XNullLiteral__Group__0__Impl : ( () ) ;
+    // InternalReportDSL.g:31808:1: rule__XNullLiteral__Group__0__Impl : ( () ) ;
     public final void rule__XNullLiteral__Group__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:32102:1: ( ( () ) )
-            // InternalReportDSL.g:32103:1: ( () )
+            // InternalReportDSL.g:31812:1: ( ( () ) )
+            // InternalReportDSL.g:31813:1: ( () )
             {
-            // InternalReportDSL.g:32103:1: ( () )
-            // InternalReportDSL.g:32104:2: ()
+            // InternalReportDSL.g:31813:1: ( () )
+            // InternalReportDSL.g:31814:2: ()
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXNullLiteralAccess().getXNullLiteralAction_0()); 
             }
-            // InternalReportDSL.g:32105:2: ()
-            // InternalReportDSL.g:32105:3: 
+            // InternalReportDSL.g:31815:2: ()
+            // InternalReportDSL.g:31815:3: 
             {
             }
 
@@ -105437,14 +104318,14 @@
 
 
     // $ANTLR start "rule__XNullLiteral__Group__1"
-    // InternalReportDSL.g:32113:1: rule__XNullLiteral__Group__1 : rule__XNullLiteral__Group__1__Impl ;
+    // InternalReportDSL.g:31823:1: rule__XNullLiteral__Group__1 : rule__XNullLiteral__Group__1__Impl ;
     public final void rule__XNullLiteral__Group__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:32117:1: ( rule__XNullLiteral__Group__1__Impl )
-            // InternalReportDSL.g:32118:2: rule__XNullLiteral__Group__1__Impl
+            // InternalReportDSL.g:31827:1: ( rule__XNullLiteral__Group__1__Impl )
+            // InternalReportDSL.g:31828:2: rule__XNullLiteral__Group__1__Impl
             {
             pushFollow(FOLLOW_2);
             rule__XNullLiteral__Group__1__Impl();
@@ -105470,22 +104351,22 @@
 
 
     // $ANTLR start "rule__XNullLiteral__Group__1__Impl"
-    // InternalReportDSL.g:32124:1: rule__XNullLiteral__Group__1__Impl : ( 'null' ) ;
+    // InternalReportDSL.g:31834:1: rule__XNullLiteral__Group__1__Impl : ( 'null' ) ;
     public final void rule__XNullLiteral__Group__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:32128:1: ( ( 'null' ) )
-            // InternalReportDSL.g:32129:1: ( 'null' )
+            // InternalReportDSL.g:31838:1: ( ( 'null' ) )
+            // InternalReportDSL.g:31839:1: ( 'null' )
             {
-            // InternalReportDSL.g:32129:1: ( 'null' )
-            // InternalReportDSL.g:32130:2: 'null'
+            // InternalReportDSL.g:31839:1: ( 'null' )
+            // InternalReportDSL.g:31840:2: 'null'
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXNullLiteralAccess().getNullKeyword_1()); 
             }
-            match(input,243,FOLLOW_2); if (state.failed) return ;
+            match(input,250,FOLLOW_2); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getXNullLiteralAccess().getNullKeyword_1()); 
             }
@@ -105511,14 +104392,14 @@
 
 
     // $ANTLR start "rule__XNumberLiteral__Group__0"
-    // InternalReportDSL.g:32140:1: rule__XNumberLiteral__Group__0 : rule__XNumberLiteral__Group__0__Impl rule__XNumberLiteral__Group__1 ;
+    // InternalReportDSL.g:31850:1: rule__XNumberLiteral__Group__0 : rule__XNumberLiteral__Group__0__Impl rule__XNumberLiteral__Group__1 ;
     public final void rule__XNumberLiteral__Group__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:32144:1: ( rule__XNumberLiteral__Group__0__Impl rule__XNumberLiteral__Group__1 )
-            // InternalReportDSL.g:32145:2: rule__XNumberLiteral__Group__0__Impl rule__XNumberLiteral__Group__1
+            // InternalReportDSL.g:31854:1: ( rule__XNumberLiteral__Group__0__Impl rule__XNumberLiteral__Group__1 )
+            // InternalReportDSL.g:31855:2: rule__XNumberLiteral__Group__0__Impl rule__XNumberLiteral__Group__1
             {
             pushFollow(FOLLOW_36);
             rule__XNumberLiteral__Group__0__Impl();
@@ -105549,23 +104430,23 @@
 
 
     // $ANTLR start "rule__XNumberLiteral__Group__0__Impl"
-    // InternalReportDSL.g:32152:1: rule__XNumberLiteral__Group__0__Impl : ( () ) ;
+    // InternalReportDSL.g:31862:1: rule__XNumberLiteral__Group__0__Impl : ( () ) ;
     public final void rule__XNumberLiteral__Group__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:32156:1: ( ( () ) )
-            // InternalReportDSL.g:32157:1: ( () )
+            // InternalReportDSL.g:31866:1: ( ( () ) )
+            // InternalReportDSL.g:31867:1: ( () )
             {
-            // InternalReportDSL.g:32157:1: ( () )
-            // InternalReportDSL.g:32158:2: ()
+            // InternalReportDSL.g:31867:1: ( () )
+            // InternalReportDSL.g:31868:2: ()
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXNumberLiteralAccess().getXNumberLiteralAction_0()); 
             }
-            // InternalReportDSL.g:32159:2: ()
-            // InternalReportDSL.g:32159:3: 
+            // InternalReportDSL.g:31869:2: ()
+            // InternalReportDSL.g:31869:3: 
             {
             }
 
@@ -105590,14 +104471,14 @@
 
 
     // $ANTLR start "rule__XNumberLiteral__Group__1"
-    // InternalReportDSL.g:32167:1: rule__XNumberLiteral__Group__1 : rule__XNumberLiteral__Group__1__Impl ;
+    // InternalReportDSL.g:31877:1: rule__XNumberLiteral__Group__1 : rule__XNumberLiteral__Group__1__Impl ;
     public final void rule__XNumberLiteral__Group__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:32171:1: ( rule__XNumberLiteral__Group__1__Impl )
-            // InternalReportDSL.g:32172:2: rule__XNumberLiteral__Group__1__Impl
+            // InternalReportDSL.g:31881:1: ( rule__XNumberLiteral__Group__1__Impl )
+            // InternalReportDSL.g:31882:2: rule__XNumberLiteral__Group__1__Impl
             {
             pushFollow(FOLLOW_2);
             rule__XNumberLiteral__Group__1__Impl();
@@ -105623,23 +104504,23 @@
 
 
     // $ANTLR start "rule__XNumberLiteral__Group__1__Impl"
-    // InternalReportDSL.g:32178:1: rule__XNumberLiteral__Group__1__Impl : ( ( rule__XNumberLiteral__ValueAssignment_1 ) ) ;
+    // InternalReportDSL.g:31888:1: rule__XNumberLiteral__Group__1__Impl : ( ( rule__XNumberLiteral__ValueAssignment_1 ) ) ;
     public final void rule__XNumberLiteral__Group__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:32182:1: ( ( ( rule__XNumberLiteral__ValueAssignment_1 ) ) )
-            // InternalReportDSL.g:32183:1: ( ( rule__XNumberLiteral__ValueAssignment_1 ) )
+            // InternalReportDSL.g:31892:1: ( ( ( rule__XNumberLiteral__ValueAssignment_1 ) ) )
+            // InternalReportDSL.g:31893:1: ( ( rule__XNumberLiteral__ValueAssignment_1 ) )
             {
-            // InternalReportDSL.g:32183:1: ( ( rule__XNumberLiteral__ValueAssignment_1 ) )
-            // InternalReportDSL.g:32184:2: ( rule__XNumberLiteral__ValueAssignment_1 )
+            // InternalReportDSL.g:31893:1: ( ( rule__XNumberLiteral__ValueAssignment_1 ) )
+            // InternalReportDSL.g:31894:2: ( rule__XNumberLiteral__ValueAssignment_1 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXNumberLiteralAccess().getValueAssignment_1()); 
             }
-            // InternalReportDSL.g:32185:2: ( rule__XNumberLiteral__ValueAssignment_1 )
-            // InternalReportDSL.g:32185:3: rule__XNumberLiteral__ValueAssignment_1
+            // InternalReportDSL.g:31895:2: ( rule__XNumberLiteral__ValueAssignment_1 )
+            // InternalReportDSL.g:31895:3: rule__XNumberLiteral__ValueAssignment_1
             {
             pushFollow(FOLLOW_2);
             rule__XNumberLiteral__ValueAssignment_1();
@@ -105674,14 +104555,14 @@
 
 
     // $ANTLR start "rule__XStringLiteral__Group__0"
-    // InternalReportDSL.g:32194:1: rule__XStringLiteral__Group__0 : rule__XStringLiteral__Group__0__Impl rule__XStringLiteral__Group__1 ;
+    // InternalReportDSL.g:31904:1: rule__XStringLiteral__Group__0 : rule__XStringLiteral__Group__0__Impl rule__XStringLiteral__Group__1 ;
     public final void rule__XStringLiteral__Group__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:32198:1: ( rule__XStringLiteral__Group__0__Impl rule__XStringLiteral__Group__1 )
-            // InternalReportDSL.g:32199:2: rule__XStringLiteral__Group__0__Impl rule__XStringLiteral__Group__1
+            // InternalReportDSL.g:31908:1: ( rule__XStringLiteral__Group__0__Impl rule__XStringLiteral__Group__1 )
+            // InternalReportDSL.g:31909:2: rule__XStringLiteral__Group__0__Impl rule__XStringLiteral__Group__1
             {
             pushFollow(FOLLOW_18);
             rule__XStringLiteral__Group__0__Impl();
@@ -105712,23 +104593,23 @@
 
 
     // $ANTLR start "rule__XStringLiteral__Group__0__Impl"
-    // InternalReportDSL.g:32206:1: rule__XStringLiteral__Group__0__Impl : ( () ) ;
+    // InternalReportDSL.g:31916:1: rule__XStringLiteral__Group__0__Impl : ( () ) ;
     public final void rule__XStringLiteral__Group__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:32210:1: ( ( () ) )
-            // InternalReportDSL.g:32211:1: ( () )
+            // InternalReportDSL.g:31920:1: ( ( () ) )
+            // InternalReportDSL.g:31921:1: ( () )
             {
-            // InternalReportDSL.g:32211:1: ( () )
-            // InternalReportDSL.g:32212:2: ()
+            // InternalReportDSL.g:31921:1: ( () )
+            // InternalReportDSL.g:31922:2: ()
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXStringLiteralAccess().getXStringLiteralAction_0()); 
             }
-            // InternalReportDSL.g:32213:2: ()
-            // InternalReportDSL.g:32213:3: 
+            // InternalReportDSL.g:31923:2: ()
+            // InternalReportDSL.g:31923:3: 
             {
             }
 
@@ -105753,14 +104634,14 @@
 
 
     // $ANTLR start "rule__XStringLiteral__Group__1"
-    // InternalReportDSL.g:32221:1: rule__XStringLiteral__Group__1 : rule__XStringLiteral__Group__1__Impl ;
+    // InternalReportDSL.g:31931:1: rule__XStringLiteral__Group__1 : rule__XStringLiteral__Group__1__Impl ;
     public final void rule__XStringLiteral__Group__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:32225:1: ( rule__XStringLiteral__Group__1__Impl )
-            // InternalReportDSL.g:32226:2: rule__XStringLiteral__Group__1__Impl
+            // InternalReportDSL.g:31935:1: ( rule__XStringLiteral__Group__1__Impl )
+            // InternalReportDSL.g:31936:2: rule__XStringLiteral__Group__1__Impl
             {
             pushFollow(FOLLOW_2);
             rule__XStringLiteral__Group__1__Impl();
@@ -105786,23 +104667,23 @@
 
 
     // $ANTLR start "rule__XStringLiteral__Group__1__Impl"
-    // InternalReportDSL.g:32232:1: rule__XStringLiteral__Group__1__Impl : ( ( rule__XStringLiteral__ValueAssignment_1 ) ) ;
+    // InternalReportDSL.g:31942:1: rule__XStringLiteral__Group__1__Impl : ( ( rule__XStringLiteral__ValueAssignment_1 ) ) ;
     public final void rule__XStringLiteral__Group__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:32236:1: ( ( ( rule__XStringLiteral__ValueAssignment_1 ) ) )
-            // InternalReportDSL.g:32237:1: ( ( rule__XStringLiteral__ValueAssignment_1 ) )
+            // InternalReportDSL.g:31946:1: ( ( ( rule__XStringLiteral__ValueAssignment_1 ) ) )
+            // InternalReportDSL.g:31947:1: ( ( rule__XStringLiteral__ValueAssignment_1 ) )
             {
-            // InternalReportDSL.g:32237:1: ( ( rule__XStringLiteral__ValueAssignment_1 ) )
-            // InternalReportDSL.g:32238:2: ( rule__XStringLiteral__ValueAssignment_1 )
+            // InternalReportDSL.g:31947:1: ( ( rule__XStringLiteral__ValueAssignment_1 ) )
+            // InternalReportDSL.g:31948:2: ( rule__XStringLiteral__ValueAssignment_1 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXStringLiteralAccess().getValueAssignment_1()); 
             }
-            // InternalReportDSL.g:32239:2: ( rule__XStringLiteral__ValueAssignment_1 )
-            // InternalReportDSL.g:32239:3: rule__XStringLiteral__ValueAssignment_1
+            // InternalReportDSL.g:31949:2: ( rule__XStringLiteral__ValueAssignment_1 )
+            // InternalReportDSL.g:31949:3: rule__XStringLiteral__ValueAssignment_1
             {
             pushFollow(FOLLOW_2);
             rule__XStringLiteral__ValueAssignment_1();
@@ -105837,16 +104718,16 @@
 
 
     // $ANTLR start "rule__XTypeLiteral__Group__0"
-    // InternalReportDSL.g:32248:1: rule__XTypeLiteral__Group__0 : rule__XTypeLiteral__Group__0__Impl rule__XTypeLiteral__Group__1 ;
+    // InternalReportDSL.g:31958:1: rule__XTypeLiteral__Group__0 : rule__XTypeLiteral__Group__0__Impl rule__XTypeLiteral__Group__1 ;
     public final void rule__XTypeLiteral__Group__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:32252:1: ( rule__XTypeLiteral__Group__0__Impl rule__XTypeLiteral__Group__1 )
-            // InternalReportDSL.g:32253:2: rule__XTypeLiteral__Group__0__Impl rule__XTypeLiteral__Group__1
+            // InternalReportDSL.g:31962:1: ( rule__XTypeLiteral__Group__0__Impl rule__XTypeLiteral__Group__1 )
+            // InternalReportDSL.g:31963:2: rule__XTypeLiteral__Group__0__Impl rule__XTypeLiteral__Group__1
             {
-            pushFollow(FOLLOW_204);
+            pushFollow(FOLLOW_202);
             rule__XTypeLiteral__Group__0__Impl();
 
             state._fsp--;
@@ -105875,23 +104756,23 @@
 
 
     // $ANTLR start "rule__XTypeLiteral__Group__0__Impl"
-    // InternalReportDSL.g:32260:1: rule__XTypeLiteral__Group__0__Impl : ( () ) ;
+    // InternalReportDSL.g:31970:1: rule__XTypeLiteral__Group__0__Impl : ( () ) ;
     public final void rule__XTypeLiteral__Group__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:32264:1: ( ( () ) )
-            // InternalReportDSL.g:32265:1: ( () )
+            // InternalReportDSL.g:31974:1: ( ( () ) )
+            // InternalReportDSL.g:31975:1: ( () )
             {
-            // InternalReportDSL.g:32265:1: ( () )
-            // InternalReportDSL.g:32266:2: ()
+            // InternalReportDSL.g:31975:1: ( () )
+            // InternalReportDSL.g:31976:2: ()
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXTypeLiteralAccess().getXTypeLiteralAction_0()); 
             }
-            // InternalReportDSL.g:32267:2: ()
-            // InternalReportDSL.g:32267:3: 
+            // InternalReportDSL.g:31977:2: ()
+            // InternalReportDSL.g:31977:3: 
             {
             }
 
@@ -105916,16 +104797,16 @@
 
 
     // $ANTLR start "rule__XTypeLiteral__Group__1"
-    // InternalReportDSL.g:32275:1: rule__XTypeLiteral__Group__1 : rule__XTypeLiteral__Group__1__Impl rule__XTypeLiteral__Group__2 ;
+    // InternalReportDSL.g:31985:1: rule__XTypeLiteral__Group__1 : rule__XTypeLiteral__Group__1__Impl rule__XTypeLiteral__Group__2 ;
     public final void rule__XTypeLiteral__Group__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:32279:1: ( rule__XTypeLiteral__Group__1__Impl rule__XTypeLiteral__Group__2 )
-            // InternalReportDSL.g:32280:2: rule__XTypeLiteral__Group__1__Impl rule__XTypeLiteral__Group__2
+            // InternalReportDSL.g:31989:1: ( rule__XTypeLiteral__Group__1__Impl rule__XTypeLiteral__Group__2 )
+            // InternalReportDSL.g:31990:2: rule__XTypeLiteral__Group__1__Impl rule__XTypeLiteral__Group__2
             {
-            pushFollow(FOLLOW_104);
+            pushFollow(FOLLOW_103);
             rule__XTypeLiteral__Group__1__Impl();
 
             state._fsp--;
@@ -105954,22 +104835,22 @@
 
 
     // $ANTLR start "rule__XTypeLiteral__Group__1__Impl"
-    // InternalReportDSL.g:32287:1: rule__XTypeLiteral__Group__1__Impl : ( 'typeof' ) ;
+    // InternalReportDSL.g:31997:1: rule__XTypeLiteral__Group__1__Impl : ( 'typeof' ) ;
     public final void rule__XTypeLiteral__Group__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:32291:1: ( ( 'typeof' ) )
-            // InternalReportDSL.g:32292:1: ( 'typeof' )
+            // InternalReportDSL.g:32001:1: ( ( 'typeof' ) )
+            // InternalReportDSL.g:32002:1: ( 'typeof' )
             {
-            // InternalReportDSL.g:32292:1: ( 'typeof' )
-            // InternalReportDSL.g:32293:2: 'typeof'
+            // InternalReportDSL.g:32002:1: ( 'typeof' )
+            // InternalReportDSL.g:32003:2: 'typeof'
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXTypeLiteralAccess().getTypeofKeyword_1()); 
             }
-            match(input,244,FOLLOW_2); if (state.failed) return ;
+            match(input,251,FOLLOW_2); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getXTypeLiteralAccess().getTypeofKeyword_1()); 
             }
@@ -105995,14 +104876,14 @@
 
 
     // $ANTLR start "rule__XTypeLiteral__Group__2"
-    // InternalReportDSL.g:32302:1: rule__XTypeLiteral__Group__2 : rule__XTypeLiteral__Group__2__Impl rule__XTypeLiteral__Group__3 ;
+    // InternalReportDSL.g:32012:1: rule__XTypeLiteral__Group__2 : rule__XTypeLiteral__Group__2__Impl rule__XTypeLiteral__Group__3 ;
     public final void rule__XTypeLiteral__Group__2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:32306:1: ( rule__XTypeLiteral__Group__2__Impl rule__XTypeLiteral__Group__3 )
-            // InternalReportDSL.g:32307:2: rule__XTypeLiteral__Group__2__Impl rule__XTypeLiteral__Group__3
+            // InternalReportDSL.g:32016:1: ( rule__XTypeLiteral__Group__2__Impl rule__XTypeLiteral__Group__3 )
+            // InternalReportDSL.g:32017:2: rule__XTypeLiteral__Group__2__Impl rule__XTypeLiteral__Group__3
             {
             pushFollow(FOLLOW_7);
             rule__XTypeLiteral__Group__2__Impl();
@@ -106033,22 +104914,22 @@
 
 
     // $ANTLR start "rule__XTypeLiteral__Group__2__Impl"
-    // InternalReportDSL.g:32314:1: rule__XTypeLiteral__Group__2__Impl : ( '(' ) ;
+    // InternalReportDSL.g:32024:1: rule__XTypeLiteral__Group__2__Impl : ( '(' ) ;
     public final void rule__XTypeLiteral__Group__2__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:32318:1: ( ( '(' ) )
-            // InternalReportDSL.g:32319:1: ( '(' )
+            // InternalReportDSL.g:32028:1: ( ( '(' ) )
+            // InternalReportDSL.g:32029:1: ( '(' )
             {
-            // InternalReportDSL.g:32319:1: ( '(' )
-            // InternalReportDSL.g:32320:2: '('
+            // InternalReportDSL.g:32029:1: ( '(' )
+            // InternalReportDSL.g:32030:2: '('
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXTypeLiteralAccess().getLeftParenthesisKeyword_2()); 
             }
-            match(input,204,FOLLOW_2); if (state.failed) return ;
+            match(input,211,FOLLOW_2); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getXTypeLiteralAccess().getLeftParenthesisKeyword_2()); 
             }
@@ -106074,16 +104955,16 @@
 
 
     // $ANTLR start "rule__XTypeLiteral__Group__3"
-    // InternalReportDSL.g:32329:1: rule__XTypeLiteral__Group__3 : rule__XTypeLiteral__Group__3__Impl rule__XTypeLiteral__Group__4 ;
+    // InternalReportDSL.g:32039:1: rule__XTypeLiteral__Group__3 : rule__XTypeLiteral__Group__3__Impl rule__XTypeLiteral__Group__4 ;
     public final void rule__XTypeLiteral__Group__3() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:32333:1: ( rule__XTypeLiteral__Group__3__Impl rule__XTypeLiteral__Group__4 )
-            // InternalReportDSL.g:32334:2: rule__XTypeLiteral__Group__3__Impl rule__XTypeLiteral__Group__4
+            // InternalReportDSL.g:32043:1: ( rule__XTypeLiteral__Group__3__Impl rule__XTypeLiteral__Group__4 )
+            // InternalReportDSL.g:32044:2: rule__XTypeLiteral__Group__3__Impl rule__XTypeLiteral__Group__4
             {
-            pushFollow(FOLLOW_205);
+            pushFollow(FOLLOW_203);
             rule__XTypeLiteral__Group__3__Impl();
 
             state._fsp--;
@@ -106112,23 +104993,23 @@
 
 
     // $ANTLR start "rule__XTypeLiteral__Group__3__Impl"
-    // InternalReportDSL.g:32341:1: rule__XTypeLiteral__Group__3__Impl : ( ( rule__XTypeLiteral__TypeAssignment_3 ) ) ;
+    // InternalReportDSL.g:32051:1: rule__XTypeLiteral__Group__3__Impl : ( ( rule__XTypeLiteral__TypeAssignment_3 ) ) ;
     public final void rule__XTypeLiteral__Group__3__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:32345:1: ( ( ( rule__XTypeLiteral__TypeAssignment_3 ) ) )
-            // InternalReportDSL.g:32346:1: ( ( rule__XTypeLiteral__TypeAssignment_3 ) )
+            // InternalReportDSL.g:32055:1: ( ( ( rule__XTypeLiteral__TypeAssignment_3 ) ) )
+            // InternalReportDSL.g:32056:1: ( ( rule__XTypeLiteral__TypeAssignment_3 ) )
             {
-            // InternalReportDSL.g:32346:1: ( ( rule__XTypeLiteral__TypeAssignment_3 ) )
-            // InternalReportDSL.g:32347:2: ( rule__XTypeLiteral__TypeAssignment_3 )
+            // InternalReportDSL.g:32056:1: ( ( rule__XTypeLiteral__TypeAssignment_3 ) )
+            // InternalReportDSL.g:32057:2: ( rule__XTypeLiteral__TypeAssignment_3 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXTypeLiteralAccess().getTypeAssignment_3()); 
             }
-            // InternalReportDSL.g:32348:2: ( rule__XTypeLiteral__TypeAssignment_3 )
-            // InternalReportDSL.g:32348:3: rule__XTypeLiteral__TypeAssignment_3
+            // InternalReportDSL.g:32058:2: ( rule__XTypeLiteral__TypeAssignment_3 )
+            // InternalReportDSL.g:32058:3: rule__XTypeLiteral__TypeAssignment_3
             {
             pushFollow(FOLLOW_2);
             rule__XTypeLiteral__TypeAssignment_3();
@@ -106163,16 +105044,16 @@
 
 
     // $ANTLR start "rule__XTypeLiteral__Group__4"
-    // InternalReportDSL.g:32356:1: rule__XTypeLiteral__Group__4 : rule__XTypeLiteral__Group__4__Impl rule__XTypeLiteral__Group__5 ;
+    // InternalReportDSL.g:32066:1: rule__XTypeLiteral__Group__4 : rule__XTypeLiteral__Group__4__Impl rule__XTypeLiteral__Group__5 ;
     public final void rule__XTypeLiteral__Group__4() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:32360:1: ( rule__XTypeLiteral__Group__4__Impl rule__XTypeLiteral__Group__5 )
-            // InternalReportDSL.g:32361:2: rule__XTypeLiteral__Group__4__Impl rule__XTypeLiteral__Group__5
+            // InternalReportDSL.g:32070:1: ( rule__XTypeLiteral__Group__4__Impl rule__XTypeLiteral__Group__5 )
+            // InternalReportDSL.g:32071:2: rule__XTypeLiteral__Group__4__Impl rule__XTypeLiteral__Group__5
             {
-            pushFollow(FOLLOW_205);
+            pushFollow(FOLLOW_203);
             rule__XTypeLiteral__Group__4__Impl();
 
             state._fsp--;
@@ -106201,37 +105082,37 @@
 
 
     // $ANTLR start "rule__XTypeLiteral__Group__4__Impl"
-    // InternalReportDSL.g:32368:1: rule__XTypeLiteral__Group__4__Impl : ( ( rule__XTypeLiteral__ArrayDimensionsAssignment_4 )* ) ;
+    // InternalReportDSL.g:32078:1: rule__XTypeLiteral__Group__4__Impl : ( ( rule__XTypeLiteral__ArrayDimensionsAssignment_4 )* ) ;
     public final void rule__XTypeLiteral__Group__4__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:32372:1: ( ( ( rule__XTypeLiteral__ArrayDimensionsAssignment_4 )* ) )
-            // InternalReportDSL.g:32373:1: ( ( rule__XTypeLiteral__ArrayDimensionsAssignment_4 )* )
+            // InternalReportDSL.g:32082:1: ( ( ( rule__XTypeLiteral__ArrayDimensionsAssignment_4 )* ) )
+            // InternalReportDSL.g:32083:1: ( ( rule__XTypeLiteral__ArrayDimensionsAssignment_4 )* )
             {
-            // InternalReportDSL.g:32373:1: ( ( rule__XTypeLiteral__ArrayDimensionsAssignment_4 )* )
-            // InternalReportDSL.g:32374:2: ( rule__XTypeLiteral__ArrayDimensionsAssignment_4 )*
+            // InternalReportDSL.g:32083:1: ( ( rule__XTypeLiteral__ArrayDimensionsAssignment_4 )* )
+            // InternalReportDSL.g:32084:2: ( rule__XTypeLiteral__ArrayDimensionsAssignment_4 )*
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXTypeLiteralAccess().getArrayDimensionsAssignment_4()); 
             }
-            // InternalReportDSL.g:32375:2: ( rule__XTypeLiteral__ArrayDimensionsAssignment_4 )*
-            loop236:
+            // InternalReportDSL.g:32085:2: ( rule__XTypeLiteral__ArrayDimensionsAssignment_4 )*
+            loop218:
             do {
-                int alt236=2;
-                int LA236_0 = input.LA(1);
+                int alt218=2;
+                int LA218_0 = input.LA(1);
 
-                if ( (LA236_0==231) ) {
-                    alt236=1;
+                if ( (LA218_0==238) ) {
+                    alt218=1;
                 }
 
 
-                switch (alt236) {
+                switch (alt218) {
             	case 1 :
-            	    // InternalReportDSL.g:32375:3: rule__XTypeLiteral__ArrayDimensionsAssignment_4
+            	    // InternalReportDSL.g:32085:3: rule__XTypeLiteral__ArrayDimensionsAssignment_4
             	    {
-            	    pushFollow(FOLLOW_206);
+            	    pushFollow(FOLLOW_204);
             	    rule__XTypeLiteral__ArrayDimensionsAssignment_4();
 
             	    state._fsp--;
@@ -106241,7 +105122,7 @@
             	    break;
 
             	default :
-            	    break loop236;
+            	    break loop218;
                 }
             } while (true);
 
@@ -106270,14 +105151,14 @@
 
 
     // $ANTLR start "rule__XTypeLiteral__Group__5"
-    // InternalReportDSL.g:32383:1: rule__XTypeLiteral__Group__5 : rule__XTypeLiteral__Group__5__Impl ;
+    // InternalReportDSL.g:32093:1: rule__XTypeLiteral__Group__5 : rule__XTypeLiteral__Group__5__Impl ;
     public final void rule__XTypeLiteral__Group__5() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:32387:1: ( rule__XTypeLiteral__Group__5__Impl )
-            // InternalReportDSL.g:32388:2: rule__XTypeLiteral__Group__5__Impl
+            // InternalReportDSL.g:32097:1: ( rule__XTypeLiteral__Group__5__Impl )
+            // InternalReportDSL.g:32098:2: rule__XTypeLiteral__Group__5__Impl
             {
             pushFollow(FOLLOW_2);
             rule__XTypeLiteral__Group__5__Impl();
@@ -106303,22 +105184,22 @@
 
 
     // $ANTLR start "rule__XTypeLiteral__Group__5__Impl"
-    // InternalReportDSL.g:32394:1: rule__XTypeLiteral__Group__5__Impl : ( ')' ) ;
+    // InternalReportDSL.g:32104:1: rule__XTypeLiteral__Group__5__Impl : ( ')' ) ;
     public final void rule__XTypeLiteral__Group__5__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:32398:1: ( ( ')' ) )
-            // InternalReportDSL.g:32399:1: ( ')' )
+            // InternalReportDSL.g:32108:1: ( ( ')' ) )
+            // InternalReportDSL.g:32109:1: ( ')' )
             {
-            // InternalReportDSL.g:32399:1: ( ')' )
-            // InternalReportDSL.g:32400:2: ')'
+            // InternalReportDSL.g:32109:1: ( ')' )
+            // InternalReportDSL.g:32110:2: ')'
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXTypeLiteralAccess().getRightParenthesisKeyword_5()); 
             }
-            match(input,205,FOLLOW_2); if (state.failed) return ;
+            match(input,212,FOLLOW_2); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getXTypeLiteralAccess().getRightParenthesisKeyword_5()); 
             }
@@ -106344,16 +105225,16 @@
 
 
     // $ANTLR start "rule__XThrowExpression__Group__0"
-    // InternalReportDSL.g:32410:1: rule__XThrowExpression__Group__0 : rule__XThrowExpression__Group__0__Impl rule__XThrowExpression__Group__1 ;
+    // InternalReportDSL.g:32120:1: rule__XThrowExpression__Group__0 : rule__XThrowExpression__Group__0__Impl rule__XThrowExpression__Group__1 ;
     public final void rule__XThrowExpression__Group__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:32414:1: ( rule__XThrowExpression__Group__0__Impl rule__XThrowExpression__Group__1 )
-            // InternalReportDSL.g:32415:2: rule__XThrowExpression__Group__0__Impl rule__XThrowExpression__Group__1
+            // InternalReportDSL.g:32124:1: ( rule__XThrowExpression__Group__0__Impl rule__XThrowExpression__Group__1 )
+            // InternalReportDSL.g:32125:2: rule__XThrowExpression__Group__0__Impl rule__XThrowExpression__Group__1
             {
-            pushFollow(FOLLOW_207);
+            pushFollow(FOLLOW_205);
             rule__XThrowExpression__Group__0__Impl();
 
             state._fsp--;
@@ -106382,23 +105263,23 @@
 
 
     // $ANTLR start "rule__XThrowExpression__Group__0__Impl"
-    // InternalReportDSL.g:32422:1: rule__XThrowExpression__Group__0__Impl : ( () ) ;
+    // InternalReportDSL.g:32132:1: rule__XThrowExpression__Group__0__Impl : ( () ) ;
     public final void rule__XThrowExpression__Group__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:32426:1: ( ( () ) )
-            // InternalReportDSL.g:32427:1: ( () )
+            // InternalReportDSL.g:32136:1: ( ( () ) )
+            // InternalReportDSL.g:32137:1: ( () )
             {
-            // InternalReportDSL.g:32427:1: ( () )
-            // InternalReportDSL.g:32428:2: ()
+            // InternalReportDSL.g:32137:1: ( () )
+            // InternalReportDSL.g:32138:2: ()
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXThrowExpressionAccess().getXThrowExpressionAction_0()); 
             }
-            // InternalReportDSL.g:32429:2: ()
-            // InternalReportDSL.g:32429:3: 
+            // InternalReportDSL.g:32139:2: ()
+            // InternalReportDSL.g:32139:3: 
             {
             }
 
@@ -106423,16 +105304,16 @@
 
 
     // $ANTLR start "rule__XThrowExpression__Group__1"
-    // InternalReportDSL.g:32437:1: rule__XThrowExpression__Group__1 : rule__XThrowExpression__Group__1__Impl rule__XThrowExpression__Group__2 ;
+    // InternalReportDSL.g:32147:1: rule__XThrowExpression__Group__1 : rule__XThrowExpression__Group__1__Impl rule__XThrowExpression__Group__2 ;
     public final void rule__XThrowExpression__Group__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:32441:1: ( rule__XThrowExpression__Group__1__Impl rule__XThrowExpression__Group__2 )
-            // InternalReportDSL.g:32442:2: rule__XThrowExpression__Group__1__Impl rule__XThrowExpression__Group__2
+            // InternalReportDSL.g:32151:1: ( rule__XThrowExpression__Group__1__Impl rule__XThrowExpression__Group__2 )
+            // InternalReportDSL.g:32152:2: rule__XThrowExpression__Group__1__Impl rule__XThrowExpression__Group__2
             {
-            pushFollow(FOLLOW_139);
+            pushFollow(FOLLOW_138);
             rule__XThrowExpression__Group__1__Impl();
 
             state._fsp--;
@@ -106461,22 +105342,22 @@
 
 
     // $ANTLR start "rule__XThrowExpression__Group__1__Impl"
-    // InternalReportDSL.g:32449:1: rule__XThrowExpression__Group__1__Impl : ( 'throw' ) ;
+    // InternalReportDSL.g:32159:1: rule__XThrowExpression__Group__1__Impl : ( 'throw' ) ;
     public final void rule__XThrowExpression__Group__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:32453:1: ( ( 'throw' ) )
-            // InternalReportDSL.g:32454:1: ( 'throw' )
+            // InternalReportDSL.g:32163:1: ( ( 'throw' ) )
+            // InternalReportDSL.g:32164:1: ( 'throw' )
             {
-            // InternalReportDSL.g:32454:1: ( 'throw' )
-            // InternalReportDSL.g:32455:2: 'throw'
+            // InternalReportDSL.g:32164:1: ( 'throw' )
+            // InternalReportDSL.g:32165:2: 'throw'
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXThrowExpressionAccess().getThrowKeyword_1()); 
             }
-            match(input,245,FOLLOW_2); if (state.failed) return ;
+            match(input,252,FOLLOW_2); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getXThrowExpressionAccess().getThrowKeyword_1()); 
             }
@@ -106502,14 +105383,14 @@
 
 
     // $ANTLR start "rule__XThrowExpression__Group__2"
-    // InternalReportDSL.g:32464:1: rule__XThrowExpression__Group__2 : rule__XThrowExpression__Group__2__Impl ;
+    // InternalReportDSL.g:32174:1: rule__XThrowExpression__Group__2 : rule__XThrowExpression__Group__2__Impl ;
     public final void rule__XThrowExpression__Group__2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:32468:1: ( rule__XThrowExpression__Group__2__Impl )
-            // InternalReportDSL.g:32469:2: rule__XThrowExpression__Group__2__Impl
+            // InternalReportDSL.g:32178:1: ( rule__XThrowExpression__Group__2__Impl )
+            // InternalReportDSL.g:32179:2: rule__XThrowExpression__Group__2__Impl
             {
             pushFollow(FOLLOW_2);
             rule__XThrowExpression__Group__2__Impl();
@@ -106535,23 +105416,23 @@
 
 
     // $ANTLR start "rule__XThrowExpression__Group__2__Impl"
-    // InternalReportDSL.g:32475:1: rule__XThrowExpression__Group__2__Impl : ( ( rule__XThrowExpression__ExpressionAssignment_2 ) ) ;
+    // InternalReportDSL.g:32185:1: rule__XThrowExpression__Group__2__Impl : ( ( rule__XThrowExpression__ExpressionAssignment_2 ) ) ;
     public final void rule__XThrowExpression__Group__2__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:32479:1: ( ( ( rule__XThrowExpression__ExpressionAssignment_2 ) ) )
-            // InternalReportDSL.g:32480:1: ( ( rule__XThrowExpression__ExpressionAssignment_2 ) )
+            // InternalReportDSL.g:32189:1: ( ( ( rule__XThrowExpression__ExpressionAssignment_2 ) ) )
+            // InternalReportDSL.g:32190:1: ( ( rule__XThrowExpression__ExpressionAssignment_2 ) )
             {
-            // InternalReportDSL.g:32480:1: ( ( rule__XThrowExpression__ExpressionAssignment_2 ) )
-            // InternalReportDSL.g:32481:2: ( rule__XThrowExpression__ExpressionAssignment_2 )
+            // InternalReportDSL.g:32190:1: ( ( rule__XThrowExpression__ExpressionAssignment_2 ) )
+            // InternalReportDSL.g:32191:2: ( rule__XThrowExpression__ExpressionAssignment_2 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXThrowExpressionAccess().getExpressionAssignment_2()); 
             }
-            // InternalReportDSL.g:32482:2: ( rule__XThrowExpression__ExpressionAssignment_2 )
-            // InternalReportDSL.g:32482:3: rule__XThrowExpression__ExpressionAssignment_2
+            // InternalReportDSL.g:32192:2: ( rule__XThrowExpression__ExpressionAssignment_2 )
+            // InternalReportDSL.g:32192:3: rule__XThrowExpression__ExpressionAssignment_2
             {
             pushFollow(FOLLOW_2);
             rule__XThrowExpression__ExpressionAssignment_2();
@@ -106586,16 +105467,16 @@
 
 
     // $ANTLR start "rule__XReturnExpression__Group__0"
-    // InternalReportDSL.g:32491:1: rule__XReturnExpression__Group__0 : rule__XReturnExpression__Group__0__Impl rule__XReturnExpression__Group__1 ;
+    // InternalReportDSL.g:32201:1: rule__XReturnExpression__Group__0 : rule__XReturnExpression__Group__0__Impl rule__XReturnExpression__Group__1 ;
     public final void rule__XReturnExpression__Group__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:32495:1: ( rule__XReturnExpression__Group__0__Impl rule__XReturnExpression__Group__1 )
-            // InternalReportDSL.g:32496:2: rule__XReturnExpression__Group__0__Impl rule__XReturnExpression__Group__1
+            // InternalReportDSL.g:32205:1: ( rule__XReturnExpression__Group__0__Impl rule__XReturnExpression__Group__1 )
+            // InternalReportDSL.g:32206:2: rule__XReturnExpression__Group__0__Impl rule__XReturnExpression__Group__1
             {
-            pushFollow(FOLLOW_208);
+            pushFollow(FOLLOW_206);
             rule__XReturnExpression__Group__0__Impl();
 
             state._fsp--;
@@ -106624,23 +105505,23 @@
 
 
     // $ANTLR start "rule__XReturnExpression__Group__0__Impl"
-    // InternalReportDSL.g:32503:1: rule__XReturnExpression__Group__0__Impl : ( () ) ;
+    // InternalReportDSL.g:32213:1: rule__XReturnExpression__Group__0__Impl : ( () ) ;
     public final void rule__XReturnExpression__Group__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:32507:1: ( ( () ) )
-            // InternalReportDSL.g:32508:1: ( () )
+            // InternalReportDSL.g:32217:1: ( ( () ) )
+            // InternalReportDSL.g:32218:1: ( () )
             {
-            // InternalReportDSL.g:32508:1: ( () )
-            // InternalReportDSL.g:32509:2: ()
+            // InternalReportDSL.g:32218:1: ( () )
+            // InternalReportDSL.g:32219:2: ()
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXReturnExpressionAccess().getXReturnExpressionAction_0()); 
             }
-            // InternalReportDSL.g:32510:2: ()
-            // InternalReportDSL.g:32510:3: 
+            // InternalReportDSL.g:32220:2: ()
+            // InternalReportDSL.g:32220:3: 
             {
             }
 
@@ -106665,16 +105546,16 @@
 
 
     // $ANTLR start "rule__XReturnExpression__Group__1"
-    // InternalReportDSL.g:32518:1: rule__XReturnExpression__Group__1 : rule__XReturnExpression__Group__1__Impl rule__XReturnExpression__Group__2 ;
+    // InternalReportDSL.g:32228:1: rule__XReturnExpression__Group__1 : rule__XReturnExpression__Group__1__Impl rule__XReturnExpression__Group__2 ;
     public final void rule__XReturnExpression__Group__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:32522:1: ( rule__XReturnExpression__Group__1__Impl rule__XReturnExpression__Group__2 )
-            // InternalReportDSL.g:32523:2: rule__XReturnExpression__Group__1__Impl rule__XReturnExpression__Group__2
+            // InternalReportDSL.g:32232:1: ( rule__XReturnExpression__Group__1__Impl rule__XReturnExpression__Group__2 )
+            // InternalReportDSL.g:32233:2: rule__XReturnExpression__Group__1__Impl rule__XReturnExpression__Group__2
             {
-            pushFollow(FOLLOW_139);
+            pushFollow(FOLLOW_138);
             rule__XReturnExpression__Group__1__Impl();
 
             state._fsp--;
@@ -106703,22 +105584,22 @@
 
 
     // $ANTLR start "rule__XReturnExpression__Group__1__Impl"
-    // InternalReportDSL.g:32530:1: rule__XReturnExpression__Group__1__Impl : ( 'return' ) ;
+    // InternalReportDSL.g:32240:1: rule__XReturnExpression__Group__1__Impl : ( 'return' ) ;
     public final void rule__XReturnExpression__Group__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:32534:1: ( ( 'return' ) )
-            // InternalReportDSL.g:32535:1: ( 'return' )
+            // InternalReportDSL.g:32244:1: ( ( 'return' ) )
+            // InternalReportDSL.g:32245:1: ( 'return' )
             {
-            // InternalReportDSL.g:32535:1: ( 'return' )
-            // InternalReportDSL.g:32536:2: 'return'
+            // InternalReportDSL.g:32245:1: ( 'return' )
+            // InternalReportDSL.g:32246:2: 'return'
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXReturnExpressionAccess().getReturnKeyword_1()); 
             }
-            match(input,246,FOLLOW_2); if (state.failed) return ;
+            match(input,253,FOLLOW_2); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getXReturnExpressionAccess().getReturnKeyword_1()); 
             }
@@ -106744,14 +105625,14 @@
 
 
     // $ANTLR start "rule__XReturnExpression__Group__2"
-    // InternalReportDSL.g:32545:1: rule__XReturnExpression__Group__2 : rule__XReturnExpression__Group__2__Impl ;
+    // InternalReportDSL.g:32255:1: rule__XReturnExpression__Group__2 : rule__XReturnExpression__Group__2__Impl ;
     public final void rule__XReturnExpression__Group__2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:32549:1: ( rule__XReturnExpression__Group__2__Impl )
-            // InternalReportDSL.g:32550:2: rule__XReturnExpression__Group__2__Impl
+            // InternalReportDSL.g:32259:1: ( rule__XReturnExpression__Group__2__Impl )
+            // InternalReportDSL.g:32260:2: rule__XReturnExpression__Group__2__Impl
             {
             pushFollow(FOLLOW_2);
             rule__XReturnExpression__Group__2__Impl();
@@ -106777,27 +105658,27 @@
 
 
     // $ANTLR start "rule__XReturnExpression__Group__2__Impl"
-    // InternalReportDSL.g:32556:1: rule__XReturnExpression__Group__2__Impl : ( ( rule__XReturnExpression__ExpressionAssignment_2 )? ) ;
+    // InternalReportDSL.g:32266:1: rule__XReturnExpression__Group__2__Impl : ( ( rule__XReturnExpression__ExpressionAssignment_2 )? ) ;
     public final void rule__XReturnExpression__Group__2__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:32560:1: ( ( ( rule__XReturnExpression__ExpressionAssignment_2 )? ) )
-            // InternalReportDSL.g:32561:1: ( ( rule__XReturnExpression__ExpressionAssignment_2 )? )
+            // InternalReportDSL.g:32270:1: ( ( ( rule__XReturnExpression__ExpressionAssignment_2 )? ) )
+            // InternalReportDSL.g:32271:1: ( ( rule__XReturnExpression__ExpressionAssignment_2 )? )
             {
-            // InternalReportDSL.g:32561:1: ( ( rule__XReturnExpression__ExpressionAssignment_2 )? )
-            // InternalReportDSL.g:32562:2: ( rule__XReturnExpression__ExpressionAssignment_2 )?
+            // InternalReportDSL.g:32271:1: ( ( rule__XReturnExpression__ExpressionAssignment_2 )? )
+            // InternalReportDSL.g:32272:2: ( rule__XReturnExpression__ExpressionAssignment_2 )?
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXReturnExpressionAccess().getExpressionAssignment_2()); 
             }
-            // InternalReportDSL.g:32563:2: ( rule__XReturnExpression__ExpressionAssignment_2 )?
-            int alt237=2;
-            alt237 = dfa237.predict(input);
-            switch (alt237) {
+            // InternalReportDSL.g:32273:2: ( rule__XReturnExpression__ExpressionAssignment_2 )?
+            int alt219=2;
+            alt219 = dfa219.predict(input);
+            switch (alt219) {
                 case 1 :
-                    // InternalReportDSL.g:32563:3: rule__XReturnExpression__ExpressionAssignment_2
+                    // InternalReportDSL.g:32273:3: rule__XReturnExpression__ExpressionAssignment_2
                     {
                     pushFollow(FOLLOW_2);
                     rule__XReturnExpression__ExpressionAssignment_2();
@@ -106835,16 +105716,16 @@
 
 
     // $ANTLR start "rule__XTryCatchFinallyExpression__Group__0"
-    // InternalReportDSL.g:32572:1: rule__XTryCatchFinallyExpression__Group__0 : rule__XTryCatchFinallyExpression__Group__0__Impl rule__XTryCatchFinallyExpression__Group__1 ;
+    // InternalReportDSL.g:32282:1: rule__XTryCatchFinallyExpression__Group__0 : rule__XTryCatchFinallyExpression__Group__0__Impl rule__XTryCatchFinallyExpression__Group__1 ;
     public final void rule__XTryCatchFinallyExpression__Group__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:32576:1: ( rule__XTryCatchFinallyExpression__Group__0__Impl rule__XTryCatchFinallyExpression__Group__1 )
-            // InternalReportDSL.g:32577:2: rule__XTryCatchFinallyExpression__Group__0__Impl rule__XTryCatchFinallyExpression__Group__1
+            // InternalReportDSL.g:32286:1: ( rule__XTryCatchFinallyExpression__Group__0__Impl rule__XTryCatchFinallyExpression__Group__1 )
+            // InternalReportDSL.g:32287:2: rule__XTryCatchFinallyExpression__Group__0__Impl rule__XTryCatchFinallyExpression__Group__1
             {
-            pushFollow(FOLLOW_209);
+            pushFollow(FOLLOW_207);
             rule__XTryCatchFinallyExpression__Group__0__Impl();
 
             state._fsp--;
@@ -106873,23 +105754,23 @@
 
 
     // $ANTLR start "rule__XTryCatchFinallyExpression__Group__0__Impl"
-    // InternalReportDSL.g:32584:1: rule__XTryCatchFinallyExpression__Group__0__Impl : ( () ) ;
+    // InternalReportDSL.g:32294:1: rule__XTryCatchFinallyExpression__Group__0__Impl : ( () ) ;
     public final void rule__XTryCatchFinallyExpression__Group__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:32588:1: ( ( () ) )
-            // InternalReportDSL.g:32589:1: ( () )
+            // InternalReportDSL.g:32298:1: ( ( () ) )
+            // InternalReportDSL.g:32299:1: ( () )
             {
-            // InternalReportDSL.g:32589:1: ( () )
-            // InternalReportDSL.g:32590:2: ()
+            // InternalReportDSL.g:32299:1: ( () )
+            // InternalReportDSL.g:32300:2: ()
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXTryCatchFinallyExpressionAccess().getXTryCatchFinallyExpressionAction_0()); 
             }
-            // InternalReportDSL.g:32591:2: ()
-            // InternalReportDSL.g:32591:3: 
+            // InternalReportDSL.g:32301:2: ()
+            // InternalReportDSL.g:32301:3: 
             {
             }
 
@@ -106914,16 +105795,16 @@
 
 
     // $ANTLR start "rule__XTryCatchFinallyExpression__Group__1"
-    // InternalReportDSL.g:32599:1: rule__XTryCatchFinallyExpression__Group__1 : rule__XTryCatchFinallyExpression__Group__1__Impl rule__XTryCatchFinallyExpression__Group__2 ;
+    // InternalReportDSL.g:32309:1: rule__XTryCatchFinallyExpression__Group__1 : rule__XTryCatchFinallyExpression__Group__1__Impl rule__XTryCatchFinallyExpression__Group__2 ;
     public final void rule__XTryCatchFinallyExpression__Group__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:32603:1: ( rule__XTryCatchFinallyExpression__Group__1__Impl rule__XTryCatchFinallyExpression__Group__2 )
-            // InternalReportDSL.g:32604:2: rule__XTryCatchFinallyExpression__Group__1__Impl rule__XTryCatchFinallyExpression__Group__2
+            // InternalReportDSL.g:32313:1: ( rule__XTryCatchFinallyExpression__Group__1__Impl rule__XTryCatchFinallyExpression__Group__2 )
+            // InternalReportDSL.g:32314:2: rule__XTryCatchFinallyExpression__Group__1__Impl rule__XTryCatchFinallyExpression__Group__2
             {
-            pushFollow(FOLLOW_139);
+            pushFollow(FOLLOW_138);
             rule__XTryCatchFinallyExpression__Group__1__Impl();
 
             state._fsp--;
@@ -106952,22 +105833,22 @@
 
 
     // $ANTLR start "rule__XTryCatchFinallyExpression__Group__1__Impl"
-    // InternalReportDSL.g:32611:1: rule__XTryCatchFinallyExpression__Group__1__Impl : ( 'try' ) ;
+    // InternalReportDSL.g:32321:1: rule__XTryCatchFinallyExpression__Group__1__Impl : ( 'try' ) ;
     public final void rule__XTryCatchFinallyExpression__Group__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:32615:1: ( ( 'try' ) )
-            // InternalReportDSL.g:32616:1: ( 'try' )
+            // InternalReportDSL.g:32325:1: ( ( 'try' ) )
+            // InternalReportDSL.g:32326:1: ( 'try' )
             {
-            // InternalReportDSL.g:32616:1: ( 'try' )
-            // InternalReportDSL.g:32617:2: 'try'
+            // InternalReportDSL.g:32326:1: ( 'try' )
+            // InternalReportDSL.g:32327:2: 'try'
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXTryCatchFinallyExpressionAccess().getTryKeyword_1()); 
             }
-            match(input,247,FOLLOW_2); if (state.failed) return ;
+            match(input,254,FOLLOW_2); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getXTryCatchFinallyExpressionAccess().getTryKeyword_1()); 
             }
@@ -106993,16 +105874,16 @@
 
 
     // $ANTLR start "rule__XTryCatchFinallyExpression__Group__2"
-    // InternalReportDSL.g:32626:1: rule__XTryCatchFinallyExpression__Group__2 : rule__XTryCatchFinallyExpression__Group__2__Impl rule__XTryCatchFinallyExpression__Group__3 ;
+    // InternalReportDSL.g:32336:1: rule__XTryCatchFinallyExpression__Group__2 : rule__XTryCatchFinallyExpression__Group__2__Impl rule__XTryCatchFinallyExpression__Group__3 ;
     public final void rule__XTryCatchFinallyExpression__Group__2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:32630:1: ( rule__XTryCatchFinallyExpression__Group__2__Impl rule__XTryCatchFinallyExpression__Group__3 )
-            // InternalReportDSL.g:32631:2: rule__XTryCatchFinallyExpression__Group__2__Impl rule__XTryCatchFinallyExpression__Group__3
+            // InternalReportDSL.g:32340:1: ( rule__XTryCatchFinallyExpression__Group__2__Impl rule__XTryCatchFinallyExpression__Group__3 )
+            // InternalReportDSL.g:32341:2: rule__XTryCatchFinallyExpression__Group__2__Impl rule__XTryCatchFinallyExpression__Group__3
             {
-            pushFollow(FOLLOW_210);
+            pushFollow(FOLLOW_208);
             rule__XTryCatchFinallyExpression__Group__2__Impl();
 
             state._fsp--;
@@ -107031,23 +105912,23 @@
 
 
     // $ANTLR start "rule__XTryCatchFinallyExpression__Group__2__Impl"
-    // InternalReportDSL.g:32638:1: rule__XTryCatchFinallyExpression__Group__2__Impl : ( ( rule__XTryCatchFinallyExpression__ExpressionAssignment_2 ) ) ;
+    // InternalReportDSL.g:32348:1: rule__XTryCatchFinallyExpression__Group__2__Impl : ( ( rule__XTryCatchFinallyExpression__ExpressionAssignment_2 ) ) ;
     public final void rule__XTryCatchFinallyExpression__Group__2__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:32642:1: ( ( ( rule__XTryCatchFinallyExpression__ExpressionAssignment_2 ) ) )
-            // InternalReportDSL.g:32643:1: ( ( rule__XTryCatchFinallyExpression__ExpressionAssignment_2 ) )
+            // InternalReportDSL.g:32352:1: ( ( ( rule__XTryCatchFinallyExpression__ExpressionAssignment_2 ) ) )
+            // InternalReportDSL.g:32353:1: ( ( rule__XTryCatchFinallyExpression__ExpressionAssignment_2 ) )
             {
-            // InternalReportDSL.g:32643:1: ( ( rule__XTryCatchFinallyExpression__ExpressionAssignment_2 ) )
-            // InternalReportDSL.g:32644:2: ( rule__XTryCatchFinallyExpression__ExpressionAssignment_2 )
+            // InternalReportDSL.g:32353:1: ( ( rule__XTryCatchFinallyExpression__ExpressionAssignment_2 ) )
+            // InternalReportDSL.g:32354:2: ( rule__XTryCatchFinallyExpression__ExpressionAssignment_2 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXTryCatchFinallyExpressionAccess().getExpressionAssignment_2()); 
             }
-            // InternalReportDSL.g:32645:2: ( rule__XTryCatchFinallyExpression__ExpressionAssignment_2 )
-            // InternalReportDSL.g:32645:3: rule__XTryCatchFinallyExpression__ExpressionAssignment_2
+            // InternalReportDSL.g:32355:2: ( rule__XTryCatchFinallyExpression__ExpressionAssignment_2 )
+            // InternalReportDSL.g:32355:3: rule__XTryCatchFinallyExpression__ExpressionAssignment_2
             {
             pushFollow(FOLLOW_2);
             rule__XTryCatchFinallyExpression__ExpressionAssignment_2();
@@ -107082,14 +105963,14 @@
 
 
     // $ANTLR start "rule__XTryCatchFinallyExpression__Group__3"
-    // InternalReportDSL.g:32653:1: rule__XTryCatchFinallyExpression__Group__3 : rule__XTryCatchFinallyExpression__Group__3__Impl ;
+    // InternalReportDSL.g:32363:1: rule__XTryCatchFinallyExpression__Group__3 : rule__XTryCatchFinallyExpression__Group__3__Impl ;
     public final void rule__XTryCatchFinallyExpression__Group__3() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:32657:1: ( rule__XTryCatchFinallyExpression__Group__3__Impl )
-            // InternalReportDSL.g:32658:2: rule__XTryCatchFinallyExpression__Group__3__Impl
+            // InternalReportDSL.g:32367:1: ( rule__XTryCatchFinallyExpression__Group__3__Impl )
+            // InternalReportDSL.g:32368:2: rule__XTryCatchFinallyExpression__Group__3__Impl
             {
             pushFollow(FOLLOW_2);
             rule__XTryCatchFinallyExpression__Group__3__Impl();
@@ -107115,23 +105996,23 @@
 
 
     // $ANTLR start "rule__XTryCatchFinallyExpression__Group__3__Impl"
-    // InternalReportDSL.g:32664:1: rule__XTryCatchFinallyExpression__Group__3__Impl : ( ( rule__XTryCatchFinallyExpression__Alternatives_3 ) ) ;
+    // InternalReportDSL.g:32374:1: rule__XTryCatchFinallyExpression__Group__3__Impl : ( ( rule__XTryCatchFinallyExpression__Alternatives_3 ) ) ;
     public final void rule__XTryCatchFinallyExpression__Group__3__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:32668:1: ( ( ( rule__XTryCatchFinallyExpression__Alternatives_3 ) ) )
-            // InternalReportDSL.g:32669:1: ( ( rule__XTryCatchFinallyExpression__Alternatives_3 ) )
+            // InternalReportDSL.g:32378:1: ( ( ( rule__XTryCatchFinallyExpression__Alternatives_3 ) ) )
+            // InternalReportDSL.g:32379:1: ( ( rule__XTryCatchFinallyExpression__Alternatives_3 ) )
             {
-            // InternalReportDSL.g:32669:1: ( ( rule__XTryCatchFinallyExpression__Alternatives_3 ) )
-            // InternalReportDSL.g:32670:2: ( rule__XTryCatchFinallyExpression__Alternatives_3 )
+            // InternalReportDSL.g:32379:1: ( ( rule__XTryCatchFinallyExpression__Alternatives_3 ) )
+            // InternalReportDSL.g:32380:2: ( rule__XTryCatchFinallyExpression__Alternatives_3 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXTryCatchFinallyExpressionAccess().getAlternatives_3()); 
             }
-            // InternalReportDSL.g:32671:2: ( rule__XTryCatchFinallyExpression__Alternatives_3 )
-            // InternalReportDSL.g:32671:3: rule__XTryCatchFinallyExpression__Alternatives_3
+            // InternalReportDSL.g:32381:2: ( rule__XTryCatchFinallyExpression__Alternatives_3 )
+            // InternalReportDSL.g:32381:3: rule__XTryCatchFinallyExpression__Alternatives_3
             {
             pushFollow(FOLLOW_2);
             rule__XTryCatchFinallyExpression__Alternatives_3();
@@ -107166,16 +106047,16 @@
 
 
     // $ANTLR start "rule__XTryCatchFinallyExpression__Group_3_0__0"
-    // InternalReportDSL.g:32680:1: rule__XTryCatchFinallyExpression__Group_3_0__0 : rule__XTryCatchFinallyExpression__Group_3_0__0__Impl rule__XTryCatchFinallyExpression__Group_3_0__1 ;
+    // InternalReportDSL.g:32390:1: rule__XTryCatchFinallyExpression__Group_3_0__0 : rule__XTryCatchFinallyExpression__Group_3_0__0__Impl rule__XTryCatchFinallyExpression__Group_3_0__1 ;
     public final void rule__XTryCatchFinallyExpression__Group_3_0__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:32684:1: ( rule__XTryCatchFinallyExpression__Group_3_0__0__Impl rule__XTryCatchFinallyExpression__Group_3_0__1 )
-            // InternalReportDSL.g:32685:2: rule__XTryCatchFinallyExpression__Group_3_0__0__Impl rule__XTryCatchFinallyExpression__Group_3_0__1
+            // InternalReportDSL.g:32394:1: ( rule__XTryCatchFinallyExpression__Group_3_0__0__Impl rule__XTryCatchFinallyExpression__Group_3_0__1 )
+            // InternalReportDSL.g:32395:2: rule__XTryCatchFinallyExpression__Group_3_0__0__Impl rule__XTryCatchFinallyExpression__Group_3_0__1
             {
-            pushFollow(FOLLOW_211);
+            pushFollow(FOLLOW_209);
             rule__XTryCatchFinallyExpression__Group_3_0__0__Impl();
 
             state._fsp--;
@@ -107204,28 +106085,28 @@
 
 
     // $ANTLR start "rule__XTryCatchFinallyExpression__Group_3_0__0__Impl"
-    // InternalReportDSL.g:32692:1: rule__XTryCatchFinallyExpression__Group_3_0__0__Impl : ( ( ( rule__XTryCatchFinallyExpression__CatchClausesAssignment_3_0_0 ) ) ( ( rule__XTryCatchFinallyExpression__CatchClausesAssignment_3_0_0 )* ) ) ;
+    // InternalReportDSL.g:32402:1: rule__XTryCatchFinallyExpression__Group_3_0__0__Impl : ( ( ( rule__XTryCatchFinallyExpression__CatchClausesAssignment_3_0_0 ) ) ( ( rule__XTryCatchFinallyExpression__CatchClausesAssignment_3_0_0 )* ) ) ;
     public final void rule__XTryCatchFinallyExpression__Group_3_0__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:32696:1: ( ( ( ( rule__XTryCatchFinallyExpression__CatchClausesAssignment_3_0_0 ) ) ( ( rule__XTryCatchFinallyExpression__CatchClausesAssignment_3_0_0 )* ) ) )
-            // InternalReportDSL.g:32697:1: ( ( ( rule__XTryCatchFinallyExpression__CatchClausesAssignment_3_0_0 ) ) ( ( rule__XTryCatchFinallyExpression__CatchClausesAssignment_3_0_0 )* ) )
+            // InternalReportDSL.g:32406:1: ( ( ( ( rule__XTryCatchFinallyExpression__CatchClausesAssignment_3_0_0 ) ) ( ( rule__XTryCatchFinallyExpression__CatchClausesAssignment_3_0_0 )* ) ) )
+            // InternalReportDSL.g:32407:1: ( ( ( rule__XTryCatchFinallyExpression__CatchClausesAssignment_3_0_0 ) ) ( ( rule__XTryCatchFinallyExpression__CatchClausesAssignment_3_0_0 )* ) )
             {
-            // InternalReportDSL.g:32697:1: ( ( ( rule__XTryCatchFinallyExpression__CatchClausesAssignment_3_0_0 ) ) ( ( rule__XTryCatchFinallyExpression__CatchClausesAssignment_3_0_0 )* ) )
-            // InternalReportDSL.g:32698:2: ( ( rule__XTryCatchFinallyExpression__CatchClausesAssignment_3_0_0 ) ) ( ( rule__XTryCatchFinallyExpression__CatchClausesAssignment_3_0_0 )* )
+            // InternalReportDSL.g:32407:1: ( ( ( rule__XTryCatchFinallyExpression__CatchClausesAssignment_3_0_0 ) ) ( ( rule__XTryCatchFinallyExpression__CatchClausesAssignment_3_0_0 )* ) )
+            // InternalReportDSL.g:32408:2: ( ( rule__XTryCatchFinallyExpression__CatchClausesAssignment_3_0_0 ) ) ( ( rule__XTryCatchFinallyExpression__CatchClausesAssignment_3_0_0 )* )
             {
-            // InternalReportDSL.g:32698:2: ( ( rule__XTryCatchFinallyExpression__CatchClausesAssignment_3_0_0 ) )
-            // InternalReportDSL.g:32699:3: ( rule__XTryCatchFinallyExpression__CatchClausesAssignment_3_0_0 )
+            // InternalReportDSL.g:32408:2: ( ( rule__XTryCatchFinallyExpression__CatchClausesAssignment_3_0_0 ) )
+            // InternalReportDSL.g:32409:3: ( rule__XTryCatchFinallyExpression__CatchClausesAssignment_3_0_0 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXTryCatchFinallyExpressionAccess().getCatchClausesAssignment_3_0_0()); 
             }
-            // InternalReportDSL.g:32700:3: ( rule__XTryCatchFinallyExpression__CatchClausesAssignment_3_0_0 )
-            // InternalReportDSL.g:32700:4: rule__XTryCatchFinallyExpression__CatchClausesAssignment_3_0_0
+            // InternalReportDSL.g:32410:3: ( rule__XTryCatchFinallyExpression__CatchClausesAssignment_3_0_0 )
+            // InternalReportDSL.g:32410:4: rule__XTryCatchFinallyExpression__CatchClausesAssignment_3_0_0
             {
-            pushFollow(FOLLOW_212);
+            pushFollow(FOLLOW_210);
             rule__XTryCatchFinallyExpression__CatchClausesAssignment_3_0_0();
 
             state._fsp--;
@@ -107239,34 +106120,34 @@
 
             }
 
-            // InternalReportDSL.g:32703:2: ( ( rule__XTryCatchFinallyExpression__CatchClausesAssignment_3_0_0 )* )
-            // InternalReportDSL.g:32704:3: ( rule__XTryCatchFinallyExpression__CatchClausesAssignment_3_0_0 )*
+            // InternalReportDSL.g:32413:2: ( ( rule__XTryCatchFinallyExpression__CatchClausesAssignment_3_0_0 )* )
+            // InternalReportDSL.g:32414:3: ( rule__XTryCatchFinallyExpression__CatchClausesAssignment_3_0_0 )*
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXTryCatchFinallyExpressionAccess().getCatchClausesAssignment_3_0_0()); 
             }
-            // InternalReportDSL.g:32705:3: ( rule__XTryCatchFinallyExpression__CatchClausesAssignment_3_0_0 )*
-            loop238:
+            // InternalReportDSL.g:32415:3: ( rule__XTryCatchFinallyExpression__CatchClausesAssignment_3_0_0 )*
+            loop220:
             do {
-                int alt238=2;
-                int LA238_0 = input.LA(1);
+                int alt220=2;
+                int LA220_0 = input.LA(1);
 
-                if ( (LA238_0==250) ) {
-                    int LA238_2 = input.LA(2);
+                if ( (LA220_0==257) ) {
+                    int LA220_2 = input.LA(2);
 
-                    if ( (synpred343_InternalReportDSL()) ) {
-                        alt238=1;
+                    if ( (synpred329_InternalReportDSL()) ) {
+                        alt220=1;
                     }
 
 
                 }
 
 
-                switch (alt238) {
+                switch (alt220) {
             	case 1 :
-            	    // InternalReportDSL.g:32705:4: rule__XTryCatchFinallyExpression__CatchClausesAssignment_3_0_0
+            	    // InternalReportDSL.g:32415:4: rule__XTryCatchFinallyExpression__CatchClausesAssignment_3_0_0
             	    {
-            	    pushFollow(FOLLOW_212);
+            	    pushFollow(FOLLOW_210);
             	    rule__XTryCatchFinallyExpression__CatchClausesAssignment_3_0_0();
 
             	    state._fsp--;
@@ -107276,7 +106157,7 @@
             	    break;
 
             	default :
-            	    break loop238;
+            	    break loop220;
                 }
             } while (true);
 
@@ -107308,14 +106189,14 @@
 
 
     // $ANTLR start "rule__XTryCatchFinallyExpression__Group_3_0__1"
-    // InternalReportDSL.g:32714:1: rule__XTryCatchFinallyExpression__Group_3_0__1 : rule__XTryCatchFinallyExpression__Group_3_0__1__Impl ;
+    // InternalReportDSL.g:32424:1: rule__XTryCatchFinallyExpression__Group_3_0__1 : rule__XTryCatchFinallyExpression__Group_3_0__1__Impl ;
     public final void rule__XTryCatchFinallyExpression__Group_3_0__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:32718:1: ( rule__XTryCatchFinallyExpression__Group_3_0__1__Impl )
-            // InternalReportDSL.g:32719:2: rule__XTryCatchFinallyExpression__Group_3_0__1__Impl
+            // InternalReportDSL.g:32428:1: ( rule__XTryCatchFinallyExpression__Group_3_0__1__Impl )
+            // InternalReportDSL.g:32429:2: rule__XTryCatchFinallyExpression__Group_3_0__1__Impl
             {
             pushFollow(FOLLOW_2);
             rule__XTryCatchFinallyExpression__Group_3_0__1__Impl();
@@ -107341,35 +106222,35 @@
 
 
     // $ANTLR start "rule__XTryCatchFinallyExpression__Group_3_0__1__Impl"
-    // InternalReportDSL.g:32725:1: rule__XTryCatchFinallyExpression__Group_3_0__1__Impl : ( ( rule__XTryCatchFinallyExpression__Group_3_0_1__0 )? ) ;
+    // InternalReportDSL.g:32435:1: rule__XTryCatchFinallyExpression__Group_3_0__1__Impl : ( ( rule__XTryCatchFinallyExpression__Group_3_0_1__0 )? ) ;
     public final void rule__XTryCatchFinallyExpression__Group_3_0__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:32729:1: ( ( ( rule__XTryCatchFinallyExpression__Group_3_0_1__0 )? ) )
-            // InternalReportDSL.g:32730:1: ( ( rule__XTryCatchFinallyExpression__Group_3_0_1__0 )? )
+            // InternalReportDSL.g:32439:1: ( ( ( rule__XTryCatchFinallyExpression__Group_3_0_1__0 )? ) )
+            // InternalReportDSL.g:32440:1: ( ( rule__XTryCatchFinallyExpression__Group_3_0_1__0 )? )
             {
-            // InternalReportDSL.g:32730:1: ( ( rule__XTryCatchFinallyExpression__Group_3_0_1__0 )? )
-            // InternalReportDSL.g:32731:2: ( rule__XTryCatchFinallyExpression__Group_3_0_1__0 )?
+            // InternalReportDSL.g:32440:1: ( ( rule__XTryCatchFinallyExpression__Group_3_0_1__0 )? )
+            // InternalReportDSL.g:32441:2: ( rule__XTryCatchFinallyExpression__Group_3_0_1__0 )?
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXTryCatchFinallyExpressionAccess().getGroup_3_0_1()); 
             }
-            // InternalReportDSL.g:32732:2: ( rule__XTryCatchFinallyExpression__Group_3_0_1__0 )?
-            int alt239=2;
-            int LA239_0 = input.LA(1);
+            // InternalReportDSL.g:32442:2: ( rule__XTryCatchFinallyExpression__Group_3_0_1__0 )?
+            int alt221=2;
+            int LA221_0 = input.LA(1);
 
-            if ( (LA239_0==248) ) {
-                int LA239_1 = input.LA(2);
+            if ( (LA221_0==255) ) {
+                int LA221_1 = input.LA(2);
 
-                if ( (synpred344_InternalReportDSL()) ) {
-                    alt239=1;
+                if ( (synpred330_InternalReportDSL()) ) {
+                    alt221=1;
                 }
             }
-            switch (alt239) {
+            switch (alt221) {
                 case 1 :
-                    // InternalReportDSL.g:32732:3: rule__XTryCatchFinallyExpression__Group_3_0_1__0
+                    // InternalReportDSL.g:32442:3: rule__XTryCatchFinallyExpression__Group_3_0_1__0
                     {
                     pushFollow(FOLLOW_2);
                     rule__XTryCatchFinallyExpression__Group_3_0_1__0();
@@ -107407,16 +106288,16 @@
 
 
     // $ANTLR start "rule__XTryCatchFinallyExpression__Group_3_0_1__0"
-    // InternalReportDSL.g:32741:1: rule__XTryCatchFinallyExpression__Group_3_0_1__0 : rule__XTryCatchFinallyExpression__Group_3_0_1__0__Impl rule__XTryCatchFinallyExpression__Group_3_0_1__1 ;
+    // InternalReportDSL.g:32451:1: rule__XTryCatchFinallyExpression__Group_3_0_1__0 : rule__XTryCatchFinallyExpression__Group_3_0_1__0__Impl rule__XTryCatchFinallyExpression__Group_3_0_1__1 ;
     public final void rule__XTryCatchFinallyExpression__Group_3_0_1__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:32745:1: ( rule__XTryCatchFinallyExpression__Group_3_0_1__0__Impl rule__XTryCatchFinallyExpression__Group_3_0_1__1 )
-            // InternalReportDSL.g:32746:2: rule__XTryCatchFinallyExpression__Group_3_0_1__0__Impl rule__XTryCatchFinallyExpression__Group_3_0_1__1
+            // InternalReportDSL.g:32455:1: ( rule__XTryCatchFinallyExpression__Group_3_0_1__0__Impl rule__XTryCatchFinallyExpression__Group_3_0_1__1 )
+            // InternalReportDSL.g:32456:2: rule__XTryCatchFinallyExpression__Group_3_0_1__0__Impl rule__XTryCatchFinallyExpression__Group_3_0_1__1
             {
-            pushFollow(FOLLOW_139);
+            pushFollow(FOLLOW_138);
             rule__XTryCatchFinallyExpression__Group_3_0_1__0__Impl();
 
             state._fsp--;
@@ -107445,25 +106326,25 @@
 
 
     // $ANTLR start "rule__XTryCatchFinallyExpression__Group_3_0_1__0__Impl"
-    // InternalReportDSL.g:32753:1: rule__XTryCatchFinallyExpression__Group_3_0_1__0__Impl : ( ( 'finally' ) ) ;
+    // InternalReportDSL.g:32463:1: rule__XTryCatchFinallyExpression__Group_3_0_1__0__Impl : ( ( 'finally' ) ) ;
     public final void rule__XTryCatchFinallyExpression__Group_3_0_1__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:32757:1: ( ( ( 'finally' ) ) )
-            // InternalReportDSL.g:32758:1: ( ( 'finally' ) )
+            // InternalReportDSL.g:32467:1: ( ( ( 'finally' ) ) )
+            // InternalReportDSL.g:32468:1: ( ( 'finally' ) )
             {
-            // InternalReportDSL.g:32758:1: ( ( 'finally' ) )
-            // InternalReportDSL.g:32759:2: ( 'finally' )
+            // InternalReportDSL.g:32468:1: ( ( 'finally' ) )
+            // InternalReportDSL.g:32469:2: ( 'finally' )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXTryCatchFinallyExpressionAccess().getFinallyKeyword_3_0_1_0()); 
             }
-            // InternalReportDSL.g:32760:2: ( 'finally' )
-            // InternalReportDSL.g:32760:3: 'finally'
+            // InternalReportDSL.g:32470:2: ( 'finally' )
+            // InternalReportDSL.g:32470:3: 'finally'
             {
-            match(input,248,FOLLOW_2); if (state.failed) return ;
+            match(input,255,FOLLOW_2); if (state.failed) return ;
 
             }
 
@@ -107492,14 +106373,14 @@
 
 
     // $ANTLR start "rule__XTryCatchFinallyExpression__Group_3_0_1__1"
-    // InternalReportDSL.g:32768:1: rule__XTryCatchFinallyExpression__Group_3_0_1__1 : rule__XTryCatchFinallyExpression__Group_3_0_1__1__Impl ;
+    // InternalReportDSL.g:32478:1: rule__XTryCatchFinallyExpression__Group_3_0_1__1 : rule__XTryCatchFinallyExpression__Group_3_0_1__1__Impl ;
     public final void rule__XTryCatchFinallyExpression__Group_3_0_1__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:32772:1: ( rule__XTryCatchFinallyExpression__Group_3_0_1__1__Impl )
-            // InternalReportDSL.g:32773:2: rule__XTryCatchFinallyExpression__Group_3_0_1__1__Impl
+            // InternalReportDSL.g:32482:1: ( rule__XTryCatchFinallyExpression__Group_3_0_1__1__Impl )
+            // InternalReportDSL.g:32483:2: rule__XTryCatchFinallyExpression__Group_3_0_1__1__Impl
             {
             pushFollow(FOLLOW_2);
             rule__XTryCatchFinallyExpression__Group_3_0_1__1__Impl();
@@ -107525,23 +106406,23 @@
 
 
     // $ANTLR start "rule__XTryCatchFinallyExpression__Group_3_0_1__1__Impl"
-    // InternalReportDSL.g:32779:1: rule__XTryCatchFinallyExpression__Group_3_0_1__1__Impl : ( ( rule__XTryCatchFinallyExpression__FinallyExpressionAssignment_3_0_1_1 ) ) ;
+    // InternalReportDSL.g:32489:1: rule__XTryCatchFinallyExpression__Group_3_0_1__1__Impl : ( ( rule__XTryCatchFinallyExpression__FinallyExpressionAssignment_3_0_1_1 ) ) ;
     public final void rule__XTryCatchFinallyExpression__Group_3_0_1__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:32783:1: ( ( ( rule__XTryCatchFinallyExpression__FinallyExpressionAssignment_3_0_1_1 ) ) )
-            // InternalReportDSL.g:32784:1: ( ( rule__XTryCatchFinallyExpression__FinallyExpressionAssignment_3_0_1_1 ) )
+            // InternalReportDSL.g:32493:1: ( ( ( rule__XTryCatchFinallyExpression__FinallyExpressionAssignment_3_0_1_1 ) ) )
+            // InternalReportDSL.g:32494:1: ( ( rule__XTryCatchFinallyExpression__FinallyExpressionAssignment_3_0_1_1 ) )
             {
-            // InternalReportDSL.g:32784:1: ( ( rule__XTryCatchFinallyExpression__FinallyExpressionAssignment_3_0_1_1 ) )
-            // InternalReportDSL.g:32785:2: ( rule__XTryCatchFinallyExpression__FinallyExpressionAssignment_3_0_1_1 )
+            // InternalReportDSL.g:32494:1: ( ( rule__XTryCatchFinallyExpression__FinallyExpressionAssignment_3_0_1_1 ) )
+            // InternalReportDSL.g:32495:2: ( rule__XTryCatchFinallyExpression__FinallyExpressionAssignment_3_0_1_1 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXTryCatchFinallyExpressionAccess().getFinallyExpressionAssignment_3_0_1_1()); 
             }
-            // InternalReportDSL.g:32786:2: ( rule__XTryCatchFinallyExpression__FinallyExpressionAssignment_3_0_1_1 )
-            // InternalReportDSL.g:32786:3: rule__XTryCatchFinallyExpression__FinallyExpressionAssignment_3_0_1_1
+            // InternalReportDSL.g:32496:2: ( rule__XTryCatchFinallyExpression__FinallyExpressionAssignment_3_0_1_1 )
+            // InternalReportDSL.g:32496:3: rule__XTryCatchFinallyExpression__FinallyExpressionAssignment_3_0_1_1
             {
             pushFollow(FOLLOW_2);
             rule__XTryCatchFinallyExpression__FinallyExpressionAssignment_3_0_1_1();
@@ -107576,16 +106457,16 @@
 
 
     // $ANTLR start "rule__XTryCatchFinallyExpression__Group_3_1__0"
-    // InternalReportDSL.g:32795:1: rule__XTryCatchFinallyExpression__Group_3_1__0 : rule__XTryCatchFinallyExpression__Group_3_1__0__Impl rule__XTryCatchFinallyExpression__Group_3_1__1 ;
+    // InternalReportDSL.g:32505:1: rule__XTryCatchFinallyExpression__Group_3_1__0 : rule__XTryCatchFinallyExpression__Group_3_1__0__Impl rule__XTryCatchFinallyExpression__Group_3_1__1 ;
     public final void rule__XTryCatchFinallyExpression__Group_3_1__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:32799:1: ( rule__XTryCatchFinallyExpression__Group_3_1__0__Impl rule__XTryCatchFinallyExpression__Group_3_1__1 )
-            // InternalReportDSL.g:32800:2: rule__XTryCatchFinallyExpression__Group_3_1__0__Impl rule__XTryCatchFinallyExpression__Group_3_1__1
+            // InternalReportDSL.g:32509:1: ( rule__XTryCatchFinallyExpression__Group_3_1__0__Impl rule__XTryCatchFinallyExpression__Group_3_1__1 )
+            // InternalReportDSL.g:32510:2: rule__XTryCatchFinallyExpression__Group_3_1__0__Impl rule__XTryCatchFinallyExpression__Group_3_1__1
             {
-            pushFollow(FOLLOW_139);
+            pushFollow(FOLLOW_138);
             rule__XTryCatchFinallyExpression__Group_3_1__0__Impl();
 
             state._fsp--;
@@ -107614,22 +106495,22 @@
 
 
     // $ANTLR start "rule__XTryCatchFinallyExpression__Group_3_1__0__Impl"
-    // InternalReportDSL.g:32807:1: rule__XTryCatchFinallyExpression__Group_3_1__0__Impl : ( 'finally' ) ;
+    // InternalReportDSL.g:32517:1: rule__XTryCatchFinallyExpression__Group_3_1__0__Impl : ( 'finally' ) ;
     public final void rule__XTryCatchFinallyExpression__Group_3_1__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:32811:1: ( ( 'finally' ) )
-            // InternalReportDSL.g:32812:1: ( 'finally' )
+            // InternalReportDSL.g:32521:1: ( ( 'finally' ) )
+            // InternalReportDSL.g:32522:1: ( 'finally' )
             {
-            // InternalReportDSL.g:32812:1: ( 'finally' )
-            // InternalReportDSL.g:32813:2: 'finally'
+            // InternalReportDSL.g:32522:1: ( 'finally' )
+            // InternalReportDSL.g:32523:2: 'finally'
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXTryCatchFinallyExpressionAccess().getFinallyKeyword_3_1_0()); 
             }
-            match(input,248,FOLLOW_2); if (state.failed) return ;
+            match(input,255,FOLLOW_2); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getXTryCatchFinallyExpressionAccess().getFinallyKeyword_3_1_0()); 
             }
@@ -107655,14 +106536,14 @@
 
 
     // $ANTLR start "rule__XTryCatchFinallyExpression__Group_3_1__1"
-    // InternalReportDSL.g:32822:1: rule__XTryCatchFinallyExpression__Group_3_1__1 : rule__XTryCatchFinallyExpression__Group_3_1__1__Impl ;
+    // InternalReportDSL.g:32532:1: rule__XTryCatchFinallyExpression__Group_3_1__1 : rule__XTryCatchFinallyExpression__Group_3_1__1__Impl ;
     public final void rule__XTryCatchFinallyExpression__Group_3_1__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:32826:1: ( rule__XTryCatchFinallyExpression__Group_3_1__1__Impl )
-            // InternalReportDSL.g:32827:2: rule__XTryCatchFinallyExpression__Group_3_1__1__Impl
+            // InternalReportDSL.g:32536:1: ( rule__XTryCatchFinallyExpression__Group_3_1__1__Impl )
+            // InternalReportDSL.g:32537:2: rule__XTryCatchFinallyExpression__Group_3_1__1__Impl
             {
             pushFollow(FOLLOW_2);
             rule__XTryCatchFinallyExpression__Group_3_1__1__Impl();
@@ -107688,23 +106569,23 @@
 
 
     // $ANTLR start "rule__XTryCatchFinallyExpression__Group_3_1__1__Impl"
-    // InternalReportDSL.g:32833:1: rule__XTryCatchFinallyExpression__Group_3_1__1__Impl : ( ( rule__XTryCatchFinallyExpression__FinallyExpressionAssignment_3_1_1 ) ) ;
+    // InternalReportDSL.g:32543:1: rule__XTryCatchFinallyExpression__Group_3_1__1__Impl : ( ( rule__XTryCatchFinallyExpression__FinallyExpressionAssignment_3_1_1 ) ) ;
     public final void rule__XTryCatchFinallyExpression__Group_3_1__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:32837:1: ( ( ( rule__XTryCatchFinallyExpression__FinallyExpressionAssignment_3_1_1 ) ) )
-            // InternalReportDSL.g:32838:1: ( ( rule__XTryCatchFinallyExpression__FinallyExpressionAssignment_3_1_1 ) )
+            // InternalReportDSL.g:32547:1: ( ( ( rule__XTryCatchFinallyExpression__FinallyExpressionAssignment_3_1_1 ) ) )
+            // InternalReportDSL.g:32548:1: ( ( rule__XTryCatchFinallyExpression__FinallyExpressionAssignment_3_1_1 ) )
             {
-            // InternalReportDSL.g:32838:1: ( ( rule__XTryCatchFinallyExpression__FinallyExpressionAssignment_3_1_1 ) )
-            // InternalReportDSL.g:32839:2: ( rule__XTryCatchFinallyExpression__FinallyExpressionAssignment_3_1_1 )
+            // InternalReportDSL.g:32548:1: ( ( rule__XTryCatchFinallyExpression__FinallyExpressionAssignment_3_1_1 ) )
+            // InternalReportDSL.g:32549:2: ( rule__XTryCatchFinallyExpression__FinallyExpressionAssignment_3_1_1 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXTryCatchFinallyExpressionAccess().getFinallyExpressionAssignment_3_1_1()); 
             }
-            // InternalReportDSL.g:32840:2: ( rule__XTryCatchFinallyExpression__FinallyExpressionAssignment_3_1_1 )
-            // InternalReportDSL.g:32840:3: rule__XTryCatchFinallyExpression__FinallyExpressionAssignment_3_1_1
+            // InternalReportDSL.g:32550:2: ( rule__XTryCatchFinallyExpression__FinallyExpressionAssignment_3_1_1 )
+            // InternalReportDSL.g:32550:3: rule__XTryCatchFinallyExpression__FinallyExpressionAssignment_3_1_1
             {
             pushFollow(FOLLOW_2);
             rule__XTryCatchFinallyExpression__FinallyExpressionAssignment_3_1_1();
@@ -107739,16 +106620,16 @@
 
 
     // $ANTLR start "rule__XSynchronizedExpression__Group__0"
-    // InternalReportDSL.g:32849:1: rule__XSynchronizedExpression__Group__0 : rule__XSynchronizedExpression__Group__0__Impl rule__XSynchronizedExpression__Group__1 ;
+    // InternalReportDSL.g:32559:1: rule__XSynchronizedExpression__Group__0 : rule__XSynchronizedExpression__Group__0__Impl rule__XSynchronizedExpression__Group__1 ;
     public final void rule__XSynchronizedExpression__Group__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:32853:1: ( rule__XSynchronizedExpression__Group__0__Impl rule__XSynchronizedExpression__Group__1 )
-            // InternalReportDSL.g:32854:2: rule__XSynchronizedExpression__Group__0__Impl rule__XSynchronizedExpression__Group__1
+            // InternalReportDSL.g:32563:1: ( rule__XSynchronizedExpression__Group__0__Impl rule__XSynchronizedExpression__Group__1 )
+            // InternalReportDSL.g:32564:2: rule__XSynchronizedExpression__Group__0__Impl rule__XSynchronizedExpression__Group__1
             {
-            pushFollow(FOLLOW_139);
+            pushFollow(FOLLOW_138);
             rule__XSynchronizedExpression__Group__0__Impl();
 
             state._fsp--;
@@ -107777,23 +106658,23 @@
 
 
     // $ANTLR start "rule__XSynchronizedExpression__Group__0__Impl"
-    // InternalReportDSL.g:32861:1: rule__XSynchronizedExpression__Group__0__Impl : ( ( rule__XSynchronizedExpression__Group_0__0 ) ) ;
+    // InternalReportDSL.g:32571:1: rule__XSynchronizedExpression__Group__0__Impl : ( ( rule__XSynchronizedExpression__Group_0__0 ) ) ;
     public final void rule__XSynchronizedExpression__Group__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:32865:1: ( ( ( rule__XSynchronizedExpression__Group_0__0 ) ) )
-            // InternalReportDSL.g:32866:1: ( ( rule__XSynchronizedExpression__Group_0__0 ) )
+            // InternalReportDSL.g:32575:1: ( ( ( rule__XSynchronizedExpression__Group_0__0 ) ) )
+            // InternalReportDSL.g:32576:1: ( ( rule__XSynchronizedExpression__Group_0__0 ) )
             {
-            // InternalReportDSL.g:32866:1: ( ( rule__XSynchronizedExpression__Group_0__0 ) )
-            // InternalReportDSL.g:32867:2: ( rule__XSynchronizedExpression__Group_0__0 )
+            // InternalReportDSL.g:32576:1: ( ( rule__XSynchronizedExpression__Group_0__0 ) )
+            // InternalReportDSL.g:32577:2: ( rule__XSynchronizedExpression__Group_0__0 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXSynchronizedExpressionAccess().getGroup_0()); 
             }
-            // InternalReportDSL.g:32868:2: ( rule__XSynchronizedExpression__Group_0__0 )
-            // InternalReportDSL.g:32868:3: rule__XSynchronizedExpression__Group_0__0
+            // InternalReportDSL.g:32578:2: ( rule__XSynchronizedExpression__Group_0__0 )
+            // InternalReportDSL.g:32578:3: rule__XSynchronizedExpression__Group_0__0
             {
             pushFollow(FOLLOW_2);
             rule__XSynchronizedExpression__Group_0__0();
@@ -107828,16 +106709,16 @@
 
 
     // $ANTLR start "rule__XSynchronizedExpression__Group__1"
-    // InternalReportDSL.g:32876:1: rule__XSynchronizedExpression__Group__1 : rule__XSynchronizedExpression__Group__1__Impl rule__XSynchronizedExpression__Group__2 ;
+    // InternalReportDSL.g:32586:1: rule__XSynchronizedExpression__Group__1 : rule__XSynchronizedExpression__Group__1__Impl rule__XSynchronizedExpression__Group__2 ;
     public final void rule__XSynchronizedExpression__Group__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:32880:1: ( rule__XSynchronizedExpression__Group__1__Impl rule__XSynchronizedExpression__Group__2 )
-            // InternalReportDSL.g:32881:2: rule__XSynchronizedExpression__Group__1__Impl rule__XSynchronizedExpression__Group__2
+            // InternalReportDSL.g:32590:1: ( rule__XSynchronizedExpression__Group__1__Impl rule__XSynchronizedExpression__Group__2 )
+            // InternalReportDSL.g:32591:2: rule__XSynchronizedExpression__Group__1__Impl rule__XSynchronizedExpression__Group__2
             {
-            pushFollow(FOLLOW_113);
+            pushFollow(FOLLOW_112);
             rule__XSynchronizedExpression__Group__1__Impl();
 
             state._fsp--;
@@ -107866,23 +106747,23 @@
 
 
     // $ANTLR start "rule__XSynchronizedExpression__Group__1__Impl"
-    // InternalReportDSL.g:32888:1: rule__XSynchronizedExpression__Group__1__Impl : ( ( rule__XSynchronizedExpression__ParamAssignment_1 ) ) ;
+    // InternalReportDSL.g:32598:1: rule__XSynchronizedExpression__Group__1__Impl : ( ( rule__XSynchronizedExpression__ParamAssignment_1 ) ) ;
     public final void rule__XSynchronizedExpression__Group__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:32892:1: ( ( ( rule__XSynchronizedExpression__ParamAssignment_1 ) ) )
-            // InternalReportDSL.g:32893:1: ( ( rule__XSynchronizedExpression__ParamAssignment_1 ) )
+            // InternalReportDSL.g:32602:1: ( ( ( rule__XSynchronizedExpression__ParamAssignment_1 ) ) )
+            // InternalReportDSL.g:32603:1: ( ( rule__XSynchronizedExpression__ParamAssignment_1 ) )
             {
-            // InternalReportDSL.g:32893:1: ( ( rule__XSynchronizedExpression__ParamAssignment_1 ) )
-            // InternalReportDSL.g:32894:2: ( rule__XSynchronizedExpression__ParamAssignment_1 )
+            // InternalReportDSL.g:32603:1: ( ( rule__XSynchronizedExpression__ParamAssignment_1 ) )
+            // InternalReportDSL.g:32604:2: ( rule__XSynchronizedExpression__ParamAssignment_1 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXSynchronizedExpressionAccess().getParamAssignment_1()); 
             }
-            // InternalReportDSL.g:32895:2: ( rule__XSynchronizedExpression__ParamAssignment_1 )
-            // InternalReportDSL.g:32895:3: rule__XSynchronizedExpression__ParamAssignment_1
+            // InternalReportDSL.g:32605:2: ( rule__XSynchronizedExpression__ParamAssignment_1 )
+            // InternalReportDSL.g:32605:3: rule__XSynchronizedExpression__ParamAssignment_1
             {
             pushFollow(FOLLOW_2);
             rule__XSynchronizedExpression__ParamAssignment_1();
@@ -107917,16 +106798,16 @@
 
 
     // $ANTLR start "rule__XSynchronizedExpression__Group__2"
-    // InternalReportDSL.g:32903:1: rule__XSynchronizedExpression__Group__2 : rule__XSynchronizedExpression__Group__2__Impl rule__XSynchronizedExpression__Group__3 ;
+    // InternalReportDSL.g:32613:1: rule__XSynchronizedExpression__Group__2 : rule__XSynchronizedExpression__Group__2__Impl rule__XSynchronizedExpression__Group__3 ;
     public final void rule__XSynchronizedExpression__Group__2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:32907:1: ( rule__XSynchronizedExpression__Group__2__Impl rule__XSynchronizedExpression__Group__3 )
-            // InternalReportDSL.g:32908:2: rule__XSynchronizedExpression__Group__2__Impl rule__XSynchronizedExpression__Group__3
+            // InternalReportDSL.g:32617:1: ( rule__XSynchronizedExpression__Group__2__Impl rule__XSynchronizedExpression__Group__3 )
+            // InternalReportDSL.g:32618:2: rule__XSynchronizedExpression__Group__2__Impl rule__XSynchronizedExpression__Group__3
             {
-            pushFollow(FOLLOW_139);
+            pushFollow(FOLLOW_138);
             rule__XSynchronizedExpression__Group__2__Impl();
 
             state._fsp--;
@@ -107955,22 +106836,22 @@
 
 
     // $ANTLR start "rule__XSynchronizedExpression__Group__2__Impl"
-    // InternalReportDSL.g:32915:1: rule__XSynchronizedExpression__Group__2__Impl : ( ')' ) ;
+    // InternalReportDSL.g:32625:1: rule__XSynchronizedExpression__Group__2__Impl : ( ')' ) ;
     public final void rule__XSynchronizedExpression__Group__2__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:32919:1: ( ( ')' ) )
-            // InternalReportDSL.g:32920:1: ( ')' )
+            // InternalReportDSL.g:32629:1: ( ( ')' ) )
+            // InternalReportDSL.g:32630:1: ( ')' )
             {
-            // InternalReportDSL.g:32920:1: ( ')' )
-            // InternalReportDSL.g:32921:2: ')'
+            // InternalReportDSL.g:32630:1: ( ')' )
+            // InternalReportDSL.g:32631:2: ')'
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXSynchronizedExpressionAccess().getRightParenthesisKeyword_2()); 
             }
-            match(input,205,FOLLOW_2); if (state.failed) return ;
+            match(input,212,FOLLOW_2); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getXSynchronizedExpressionAccess().getRightParenthesisKeyword_2()); 
             }
@@ -107996,14 +106877,14 @@
 
 
     // $ANTLR start "rule__XSynchronizedExpression__Group__3"
-    // InternalReportDSL.g:32930:1: rule__XSynchronizedExpression__Group__3 : rule__XSynchronizedExpression__Group__3__Impl ;
+    // InternalReportDSL.g:32640:1: rule__XSynchronizedExpression__Group__3 : rule__XSynchronizedExpression__Group__3__Impl ;
     public final void rule__XSynchronizedExpression__Group__3() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:32934:1: ( rule__XSynchronizedExpression__Group__3__Impl )
-            // InternalReportDSL.g:32935:2: rule__XSynchronizedExpression__Group__3__Impl
+            // InternalReportDSL.g:32644:1: ( rule__XSynchronizedExpression__Group__3__Impl )
+            // InternalReportDSL.g:32645:2: rule__XSynchronizedExpression__Group__3__Impl
             {
             pushFollow(FOLLOW_2);
             rule__XSynchronizedExpression__Group__3__Impl();
@@ -108029,23 +106910,23 @@
 
 
     // $ANTLR start "rule__XSynchronizedExpression__Group__3__Impl"
-    // InternalReportDSL.g:32941:1: rule__XSynchronizedExpression__Group__3__Impl : ( ( rule__XSynchronizedExpression__ExpressionAssignment_3 ) ) ;
+    // InternalReportDSL.g:32651:1: rule__XSynchronizedExpression__Group__3__Impl : ( ( rule__XSynchronizedExpression__ExpressionAssignment_3 ) ) ;
     public final void rule__XSynchronizedExpression__Group__3__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:32945:1: ( ( ( rule__XSynchronizedExpression__ExpressionAssignment_3 ) ) )
-            // InternalReportDSL.g:32946:1: ( ( rule__XSynchronizedExpression__ExpressionAssignment_3 ) )
+            // InternalReportDSL.g:32655:1: ( ( ( rule__XSynchronizedExpression__ExpressionAssignment_3 ) ) )
+            // InternalReportDSL.g:32656:1: ( ( rule__XSynchronizedExpression__ExpressionAssignment_3 ) )
             {
-            // InternalReportDSL.g:32946:1: ( ( rule__XSynchronizedExpression__ExpressionAssignment_3 ) )
-            // InternalReportDSL.g:32947:2: ( rule__XSynchronizedExpression__ExpressionAssignment_3 )
+            // InternalReportDSL.g:32656:1: ( ( rule__XSynchronizedExpression__ExpressionAssignment_3 ) )
+            // InternalReportDSL.g:32657:2: ( rule__XSynchronizedExpression__ExpressionAssignment_3 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXSynchronizedExpressionAccess().getExpressionAssignment_3()); 
             }
-            // InternalReportDSL.g:32948:2: ( rule__XSynchronizedExpression__ExpressionAssignment_3 )
-            // InternalReportDSL.g:32948:3: rule__XSynchronizedExpression__ExpressionAssignment_3
+            // InternalReportDSL.g:32658:2: ( rule__XSynchronizedExpression__ExpressionAssignment_3 )
+            // InternalReportDSL.g:32658:3: rule__XSynchronizedExpression__ExpressionAssignment_3
             {
             pushFollow(FOLLOW_2);
             rule__XSynchronizedExpression__ExpressionAssignment_3();
@@ -108080,14 +106961,14 @@
 
 
     // $ANTLR start "rule__XSynchronizedExpression__Group_0__0"
-    // InternalReportDSL.g:32957:1: rule__XSynchronizedExpression__Group_0__0 : rule__XSynchronizedExpression__Group_0__0__Impl ;
+    // InternalReportDSL.g:32667:1: rule__XSynchronizedExpression__Group_0__0 : rule__XSynchronizedExpression__Group_0__0__Impl ;
     public final void rule__XSynchronizedExpression__Group_0__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:32961:1: ( rule__XSynchronizedExpression__Group_0__0__Impl )
-            // InternalReportDSL.g:32962:2: rule__XSynchronizedExpression__Group_0__0__Impl
+            // InternalReportDSL.g:32671:1: ( rule__XSynchronizedExpression__Group_0__0__Impl )
+            // InternalReportDSL.g:32672:2: rule__XSynchronizedExpression__Group_0__0__Impl
             {
             pushFollow(FOLLOW_2);
             rule__XSynchronizedExpression__Group_0__0__Impl();
@@ -108113,23 +106994,23 @@
 
 
     // $ANTLR start "rule__XSynchronizedExpression__Group_0__0__Impl"
-    // InternalReportDSL.g:32968:1: rule__XSynchronizedExpression__Group_0__0__Impl : ( ( rule__XSynchronizedExpression__Group_0_0__0 ) ) ;
+    // InternalReportDSL.g:32678:1: rule__XSynchronizedExpression__Group_0__0__Impl : ( ( rule__XSynchronizedExpression__Group_0_0__0 ) ) ;
     public final void rule__XSynchronizedExpression__Group_0__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:32972:1: ( ( ( rule__XSynchronizedExpression__Group_0_0__0 ) ) )
-            // InternalReportDSL.g:32973:1: ( ( rule__XSynchronizedExpression__Group_0_0__0 ) )
+            // InternalReportDSL.g:32682:1: ( ( ( rule__XSynchronizedExpression__Group_0_0__0 ) ) )
+            // InternalReportDSL.g:32683:1: ( ( rule__XSynchronizedExpression__Group_0_0__0 ) )
             {
-            // InternalReportDSL.g:32973:1: ( ( rule__XSynchronizedExpression__Group_0_0__0 ) )
-            // InternalReportDSL.g:32974:2: ( rule__XSynchronizedExpression__Group_0_0__0 )
+            // InternalReportDSL.g:32683:1: ( ( rule__XSynchronizedExpression__Group_0_0__0 ) )
+            // InternalReportDSL.g:32684:2: ( rule__XSynchronizedExpression__Group_0_0__0 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXSynchronizedExpressionAccess().getGroup_0_0()); 
             }
-            // InternalReportDSL.g:32975:2: ( rule__XSynchronizedExpression__Group_0_0__0 )
-            // InternalReportDSL.g:32975:3: rule__XSynchronizedExpression__Group_0_0__0
+            // InternalReportDSL.g:32685:2: ( rule__XSynchronizedExpression__Group_0_0__0 )
+            // InternalReportDSL.g:32685:3: rule__XSynchronizedExpression__Group_0_0__0
             {
             pushFollow(FOLLOW_2);
             rule__XSynchronizedExpression__Group_0_0__0();
@@ -108164,16 +107045,16 @@
 
 
     // $ANTLR start "rule__XSynchronizedExpression__Group_0_0__0"
-    // InternalReportDSL.g:32984:1: rule__XSynchronizedExpression__Group_0_0__0 : rule__XSynchronizedExpression__Group_0_0__0__Impl rule__XSynchronizedExpression__Group_0_0__1 ;
+    // InternalReportDSL.g:32694:1: rule__XSynchronizedExpression__Group_0_0__0 : rule__XSynchronizedExpression__Group_0_0__0__Impl rule__XSynchronizedExpression__Group_0_0__1 ;
     public final void rule__XSynchronizedExpression__Group_0_0__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:32988:1: ( rule__XSynchronizedExpression__Group_0_0__0__Impl rule__XSynchronizedExpression__Group_0_0__1 )
-            // InternalReportDSL.g:32989:2: rule__XSynchronizedExpression__Group_0_0__0__Impl rule__XSynchronizedExpression__Group_0_0__1
+            // InternalReportDSL.g:32698:1: ( rule__XSynchronizedExpression__Group_0_0__0__Impl rule__XSynchronizedExpression__Group_0_0__1 )
+            // InternalReportDSL.g:32699:2: rule__XSynchronizedExpression__Group_0_0__0__Impl rule__XSynchronizedExpression__Group_0_0__1
             {
-            pushFollow(FOLLOW_213);
+            pushFollow(FOLLOW_211);
             rule__XSynchronizedExpression__Group_0_0__0__Impl();
 
             state._fsp--;
@@ -108202,23 +107083,23 @@
 
 
     // $ANTLR start "rule__XSynchronizedExpression__Group_0_0__0__Impl"
-    // InternalReportDSL.g:32996:1: rule__XSynchronizedExpression__Group_0_0__0__Impl : ( () ) ;
+    // InternalReportDSL.g:32706:1: rule__XSynchronizedExpression__Group_0_0__0__Impl : ( () ) ;
     public final void rule__XSynchronizedExpression__Group_0_0__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:33000:1: ( ( () ) )
-            // InternalReportDSL.g:33001:1: ( () )
+            // InternalReportDSL.g:32710:1: ( ( () ) )
+            // InternalReportDSL.g:32711:1: ( () )
             {
-            // InternalReportDSL.g:33001:1: ( () )
-            // InternalReportDSL.g:33002:2: ()
+            // InternalReportDSL.g:32711:1: ( () )
+            // InternalReportDSL.g:32712:2: ()
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXSynchronizedExpressionAccess().getXSynchronizedExpressionAction_0_0_0()); 
             }
-            // InternalReportDSL.g:33003:2: ()
-            // InternalReportDSL.g:33003:3: 
+            // InternalReportDSL.g:32713:2: ()
+            // InternalReportDSL.g:32713:3: 
             {
             }
 
@@ -108243,16 +107124,16 @@
 
 
     // $ANTLR start "rule__XSynchronizedExpression__Group_0_0__1"
-    // InternalReportDSL.g:33011:1: rule__XSynchronizedExpression__Group_0_0__1 : rule__XSynchronizedExpression__Group_0_0__1__Impl rule__XSynchronizedExpression__Group_0_0__2 ;
+    // InternalReportDSL.g:32721:1: rule__XSynchronizedExpression__Group_0_0__1 : rule__XSynchronizedExpression__Group_0_0__1__Impl rule__XSynchronizedExpression__Group_0_0__2 ;
     public final void rule__XSynchronizedExpression__Group_0_0__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:33015:1: ( rule__XSynchronizedExpression__Group_0_0__1__Impl rule__XSynchronizedExpression__Group_0_0__2 )
-            // InternalReportDSL.g:33016:2: rule__XSynchronizedExpression__Group_0_0__1__Impl rule__XSynchronizedExpression__Group_0_0__2
+            // InternalReportDSL.g:32725:1: ( rule__XSynchronizedExpression__Group_0_0__1__Impl rule__XSynchronizedExpression__Group_0_0__2 )
+            // InternalReportDSL.g:32726:2: rule__XSynchronizedExpression__Group_0_0__1__Impl rule__XSynchronizedExpression__Group_0_0__2
             {
-            pushFollow(FOLLOW_104);
+            pushFollow(FOLLOW_103);
             rule__XSynchronizedExpression__Group_0_0__1__Impl();
 
             state._fsp--;
@@ -108281,22 +107162,22 @@
 
 
     // $ANTLR start "rule__XSynchronizedExpression__Group_0_0__1__Impl"
-    // InternalReportDSL.g:33023:1: rule__XSynchronizedExpression__Group_0_0__1__Impl : ( 'synchronized' ) ;
+    // InternalReportDSL.g:32733:1: rule__XSynchronizedExpression__Group_0_0__1__Impl : ( 'synchronized' ) ;
     public final void rule__XSynchronizedExpression__Group_0_0__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:33027:1: ( ( 'synchronized' ) )
-            // InternalReportDSL.g:33028:1: ( 'synchronized' )
+            // InternalReportDSL.g:32737:1: ( ( 'synchronized' ) )
+            // InternalReportDSL.g:32738:1: ( 'synchronized' )
             {
-            // InternalReportDSL.g:33028:1: ( 'synchronized' )
-            // InternalReportDSL.g:33029:2: 'synchronized'
+            // InternalReportDSL.g:32738:1: ( 'synchronized' )
+            // InternalReportDSL.g:32739:2: 'synchronized'
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXSynchronizedExpressionAccess().getSynchronizedKeyword_0_0_1()); 
             }
-            match(input,249,FOLLOW_2); if (state.failed) return ;
+            match(input,256,FOLLOW_2); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getXSynchronizedExpressionAccess().getSynchronizedKeyword_0_0_1()); 
             }
@@ -108322,14 +107203,14 @@
 
 
     // $ANTLR start "rule__XSynchronizedExpression__Group_0_0__2"
-    // InternalReportDSL.g:33038:1: rule__XSynchronizedExpression__Group_0_0__2 : rule__XSynchronizedExpression__Group_0_0__2__Impl ;
+    // InternalReportDSL.g:32748:1: rule__XSynchronizedExpression__Group_0_0__2 : rule__XSynchronizedExpression__Group_0_0__2__Impl ;
     public final void rule__XSynchronizedExpression__Group_0_0__2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:33042:1: ( rule__XSynchronizedExpression__Group_0_0__2__Impl )
-            // InternalReportDSL.g:33043:2: rule__XSynchronizedExpression__Group_0_0__2__Impl
+            // InternalReportDSL.g:32752:1: ( rule__XSynchronizedExpression__Group_0_0__2__Impl )
+            // InternalReportDSL.g:32753:2: rule__XSynchronizedExpression__Group_0_0__2__Impl
             {
             pushFollow(FOLLOW_2);
             rule__XSynchronizedExpression__Group_0_0__2__Impl();
@@ -108355,22 +107236,22 @@
 
 
     // $ANTLR start "rule__XSynchronizedExpression__Group_0_0__2__Impl"
-    // InternalReportDSL.g:33049:1: rule__XSynchronizedExpression__Group_0_0__2__Impl : ( '(' ) ;
+    // InternalReportDSL.g:32759:1: rule__XSynchronizedExpression__Group_0_0__2__Impl : ( '(' ) ;
     public final void rule__XSynchronizedExpression__Group_0_0__2__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:33053:1: ( ( '(' ) )
-            // InternalReportDSL.g:33054:1: ( '(' )
+            // InternalReportDSL.g:32763:1: ( ( '(' ) )
+            // InternalReportDSL.g:32764:1: ( '(' )
             {
-            // InternalReportDSL.g:33054:1: ( '(' )
-            // InternalReportDSL.g:33055:2: '('
+            // InternalReportDSL.g:32764:1: ( '(' )
+            // InternalReportDSL.g:32765:2: '('
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXSynchronizedExpressionAccess().getLeftParenthesisKeyword_0_0_2()); 
             }
-            match(input,204,FOLLOW_2); if (state.failed) return ;
+            match(input,211,FOLLOW_2); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getXSynchronizedExpressionAccess().getLeftParenthesisKeyword_0_0_2()); 
             }
@@ -108396,16 +107277,16 @@
 
 
     // $ANTLR start "rule__XCatchClause__Group__0"
-    // InternalReportDSL.g:33065:1: rule__XCatchClause__Group__0 : rule__XCatchClause__Group__0__Impl rule__XCatchClause__Group__1 ;
+    // InternalReportDSL.g:32775:1: rule__XCatchClause__Group__0 : rule__XCatchClause__Group__0__Impl rule__XCatchClause__Group__1 ;
     public final void rule__XCatchClause__Group__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:33069:1: ( rule__XCatchClause__Group__0__Impl rule__XCatchClause__Group__1 )
-            // InternalReportDSL.g:33070:2: rule__XCatchClause__Group__0__Impl rule__XCatchClause__Group__1
+            // InternalReportDSL.g:32779:1: ( rule__XCatchClause__Group__0__Impl rule__XCatchClause__Group__1 )
+            // InternalReportDSL.g:32780:2: rule__XCatchClause__Group__0__Impl rule__XCatchClause__Group__1
             {
-            pushFollow(FOLLOW_104);
+            pushFollow(FOLLOW_103);
             rule__XCatchClause__Group__0__Impl();
 
             state._fsp--;
@@ -108434,25 +107315,25 @@
 
 
     // $ANTLR start "rule__XCatchClause__Group__0__Impl"
-    // InternalReportDSL.g:33077:1: rule__XCatchClause__Group__0__Impl : ( ( 'catch' ) ) ;
+    // InternalReportDSL.g:32787:1: rule__XCatchClause__Group__0__Impl : ( ( 'catch' ) ) ;
     public final void rule__XCatchClause__Group__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:33081:1: ( ( ( 'catch' ) ) )
-            // InternalReportDSL.g:33082:1: ( ( 'catch' ) )
+            // InternalReportDSL.g:32791:1: ( ( ( 'catch' ) ) )
+            // InternalReportDSL.g:32792:1: ( ( 'catch' ) )
             {
-            // InternalReportDSL.g:33082:1: ( ( 'catch' ) )
-            // InternalReportDSL.g:33083:2: ( 'catch' )
+            // InternalReportDSL.g:32792:1: ( ( 'catch' ) )
+            // InternalReportDSL.g:32793:2: ( 'catch' )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXCatchClauseAccess().getCatchKeyword_0()); 
             }
-            // InternalReportDSL.g:33084:2: ( 'catch' )
-            // InternalReportDSL.g:33084:3: 'catch'
+            // InternalReportDSL.g:32794:2: ( 'catch' )
+            // InternalReportDSL.g:32794:3: 'catch'
             {
-            match(input,250,FOLLOW_2); if (state.failed) return ;
+            match(input,257,FOLLOW_2); if (state.failed) return ;
 
             }
 
@@ -108481,16 +107362,16 @@
 
 
     // $ANTLR start "rule__XCatchClause__Group__1"
-    // InternalReportDSL.g:33092:1: rule__XCatchClause__Group__1 : rule__XCatchClause__Group__1__Impl rule__XCatchClause__Group__2 ;
+    // InternalReportDSL.g:32802:1: rule__XCatchClause__Group__1 : rule__XCatchClause__Group__1__Impl rule__XCatchClause__Group__2 ;
     public final void rule__XCatchClause__Group__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:33096:1: ( rule__XCatchClause__Group__1__Impl rule__XCatchClause__Group__2 )
-            // InternalReportDSL.g:33097:2: rule__XCatchClause__Group__1__Impl rule__XCatchClause__Group__2
+            // InternalReportDSL.g:32806:1: ( rule__XCatchClause__Group__1__Impl rule__XCatchClause__Group__2 )
+            // InternalReportDSL.g:32807:2: rule__XCatchClause__Group__1__Impl rule__XCatchClause__Group__2
             {
-            pushFollow(FOLLOW_156);
+            pushFollow(FOLLOW_155);
             rule__XCatchClause__Group__1__Impl();
 
             state._fsp--;
@@ -108519,22 +107400,22 @@
 
 
     // $ANTLR start "rule__XCatchClause__Group__1__Impl"
-    // InternalReportDSL.g:33104:1: rule__XCatchClause__Group__1__Impl : ( '(' ) ;
+    // InternalReportDSL.g:32814:1: rule__XCatchClause__Group__1__Impl : ( '(' ) ;
     public final void rule__XCatchClause__Group__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:33108:1: ( ( '(' ) )
-            // InternalReportDSL.g:33109:1: ( '(' )
+            // InternalReportDSL.g:32818:1: ( ( '(' ) )
+            // InternalReportDSL.g:32819:1: ( '(' )
             {
-            // InternalReportDSL.g:33109:1: ( '(' )
-            // InternalReportDSL.g:33110:2: '('
+            // InternalReportDSL.g:32819:1: ( '(' )
+            // InternalReportDSL.g:32820:2: '('
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXCatchClauseAccess().getLeftParenthesisKeyword_1()); 
             }
-            match(input,204,FOLLOW_2); if (state.failed) return ;
+            match(input,211,FOLLOW_2); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getXCatchClauseAccess().getLeftParenthesisKeyword_1()); 
             }
@@ -108560,16 +107441,16 @@
 
 
     // $ANTLR start "rule__XCatchClause__Group__2"
-    // InternalReportDSL.g:33119:1: rule__XCatchClause__Group__2 : rule__XCatchClause__Group__2__Impl rule__XCatchClause__Group__3 ;
+    // InternalReportDSL.g:32829:1: rule__XCatchClause__Group__2 : rule__XCatchClause__Group__2__Impl rule__XCatchClause__Group__3 ;
     public final void rule__XCatchClause__Group__2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:33123:1: ( rule__XCatchClause__Group__2__Impl rule__XCatchClause__Group__3 )
-            // InternalReportDSL.g:33124:2: rule__XCatchClause__Group__2__Impl rule__XCatchClause__Group__3
+            // InternalReportDSL.g:32833:1: ( rule__XCatchClause__Group__2__Impl rule__XCatchClause__Group__3 )
+            // InternalReportDSL.g:32834:2: rule__XCatchClause__Group__2__Impl rule__XCatchClause__Group__3
             {
-            pushFollow(FOLLOW_113);
+            pushFollow(FOLLOW_112);
             rule__XCatchClause__Group__2__Impl();
 
             state._fsp--;
@@ -108598,23 +107479,23 @@
 
 
     // $ANTLR start "rule__XCatchClause__Group__2__Impl"
-    // InternalReportDSL.g:33131:1: rule__XCatchClause__Group__2__Impl : ( ( rule__XCatchClause__DeclaredParamAssignment_2 ) ) ;
+    // InternalReportDSL.g:32841:1: rule__XCatchClause__Group__2__Impl : ( ( rule__XCatchClause__DeclaredParamAssignment_2 ) ) ;
     public final void rule__XCatchClause__Group__2__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:33135:1: ( ( ( rule__XCatchClause__DeclaredParamAssignment_2 ) ) )
-            // InternalReportDSL.g:33136:1: ( ( rule__XCatchClause__DeclaredParamAssignment_2 ) )
+            // InternalReportDSL.g:32845:1: ( ( ( rule__XCatchClause__DeclaredParamAssignment_2 ) ) )
+            // InternalReportDSL.g:32846:1: ( ( rule__XCatchClause__DeclaredParamAssignment_2 ) )
             {
-            // InternalReportDSL.g:33136:1: ( ( rule__XCatchClause__DeclaredParamAssignment_2 ) )
-            // InternalReportDSL.g:33137:2: ( rule__XCatchClause__DeclaredParamAssignment_2 )
+            // InternalReportDSL.g:32846:1: ( ( rule__XCatchClause__DeclaredParamAssignment_2 ) )
+            // InternalReportDSL.g:32847:2: ( rule__XCatchClause__DeclaredParamAssignment_2 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXCatchClauseAccess().getDeclaredParamAssignment_2()); 
             }
-            // InternalReportDSL.g:33138:2: ( rule__XCatchClause__DeclaredParamAssignment_2 )
-            // InternalReportDSL.g:33138:3: rule__XCatchClause__DeclaredParamAssignment_2
+            // InternalReportDSL.g:32848:2: ( rule__XCatchClause__DeclaredParamAssignment_2 )
+            // InternalReportDSL.g:32848:3: rule__XCatchClause__DeclaredParamAssignment_2
             {
             pushFollow(FOLLOW_2);
             rule__XCatchClause__DeclaredParamAssignment_2();
@@ -108649,16 +107530,16 @@
 
 
     // $ANTLR start "rule__XCatchClause__Group__3"
-    // InternalReportDSL.g:33146:1: rule__XCatchClause__Group__3 : rule__XCatchClause__Group__3__Impl rule__XCatchClause__Group__4 ;
+    // InternalReportDSL.g:32856:1: rule__XCatchClause__Group__3 : rule__XCatchClause__Group__3__Impl rule__XCatchClause__Group__4 ;
     public final void rule__XCatchClause__Group__3() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:33150:1: ( rule__XCatchClause__Group__3__Impl rule__XCatchClause__Group__4 )
-            // InternalReportDSL.g:33151:2: rule__XCatchClause__Group__3__Impl rule__XCatchClause__Group__4
+            // InternalReportDSL.g:32860:1: ( rule__XCatchClause__Group__3__Impl rule__XCatchClause__Group__4 )
+            // InternalReportDSL.g:32861:2: rule__XCatchClause__Group__3__Impl rule__XCatchClause__Group__4
             {
-            pushFollow(FOLLOW_139);
+            pushFollow(FOLLOW_138);
             rule__XCatchClause__Group__3__Impl();
 
             state._fsp--;
@@ -108687,22 +107568,22 @@
 
 
     // $ANTLR start "rule__XCatchClause__Group__3__Impl"
-    // InternalReportDSL.g:33158:1: rule__XCatchClause__Group__3__Impl : ( ')' ) ;
+    // InternalReportDSL.g:32868:1: rule__XCatchClause__Group__3__Impl : ( ')' ) ;
     public final void rule__XCatchClause__Group__3__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:33162:1: ( ( ')' ) )
-            // InternalReportDSL.g:33163:1: ( ')' )
+            // InternalReportDSL.g:32872:1: ( ( ')' ) )
+            // InternalReportDSL.g:32873:1: ( ')' )
             {
-            // InternalReportDSL.g:33163:1: ( ')' )
-            // InternalReportDSL.g:33164:2: ')'
+            // InternalReportDSL.g:32873:1: ( ')' )
+            // InternalReportDSL.g:32874:2: ')'
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXCatchClauseAccess().getRightParenthesisKeyword_3()); 
             }
-            match(input,205,FOLLOW_2); if (state.failed) return ;
+            match(input,212,FOLLOW_2); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getXCatchClauseAccess().getRightParenthesisKeyword_3()); 
             }
@@ -108728,14 +107609,14 @@
 
 
     // $ANTLR start "rule__XCatchClause__Group__4"
-    // InternalReportDSL.g:33173:1: rule__XCatchClause__Group__4 : rule__XCatchClause__Group__4__Impl ;
+    // InternalReportDSL.g:32883:1: rule__XCatchClause__Group__4 : rule__XCatchClause__Group__4__Impl ;
     public final void rule__XCatchClause__Group__4() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:33177:1: ( rule__XCatchClause__Group__4__Impl )
-            // InternalReportDSL.g:33178:2: rule__XCatchClause__Group__4__Impl
+            // InternalReportDSL.g:32887:1: ( rule__XCatchClause__Group__4__Impl )
+            // InternalReportDSL.g:32888:2: rule__XCatchClause__Group__4__Impl
             {
             pushFollow(FOLLOW_2);
             rule__XCatchClause__Group__4__Impl();
@@ -108761,23 +107642,23 @@
 
 
     // $ANTLR start "rule__XCatchClause__Group__4__Impl"
-    // InternalReportDSL.g:33184:1: rule__XCatchClause__Group__4__Impl : ( ( rule__XCatchClause__ExpressionAssignment_4 ) ) ;
+    // InternalReportDSL.g:32894:1: rule__XCatchClause__Group__4__Impl : ( ( rule__XCatchClause__ExpressionAssignment_4 ) ) ;
     public final void rule__XCatchClause__Group__4__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:33188:1: ( ( ( rule__XCatchClause__ExpressionAssignment_4 ) ) )
-            // InternalReportDSL.g:33189:1: ( ( rule__XCatchClause__ExpressionAssignment_4 ) )
+            // InternalReportDSL.g:32898:1: ( ( ( rule__XCatchClause__ExpressionAssignment_4 ) ) )
+            // InternalReportDSL.g:32899:1: ( ( rule__XCatchClause__ExpressionAssignment_4 ) )
             {
-            // InternalReportDSL.g:33189:1: ( ( rule__XCatchClause__ExpressionAssignment_4 ) )
-            // InternalReportDSL.g:33190:2: ( rule__XCatchClause__ExpressionAssignment_4 )
+            // InternalReportDSL.g:32899:1: ( ( rule__XCatchClause__ExpressionAssignment_4 ) )
+            // InternalReportDSL.g:32900:2: ( rule__XCatchClause__ExpressionAssignment_4 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXCatchClauseAccess().getExpressionAssignment_4()); 
             }
-            // InternalReportDSL.g:33191:2: ( rule__XCatchClause__ExpressionAssignment_4 )
-            // InternalReportDSL.g:33191:3: rule__XCatchClause__ExpressionAssignment_4
+            // InternalReportDSL.g:32901:2: ( rule__XCatchClause__ExpressionAssignment_4 )
+            // InternalReportDSL.g:32901:3: rule__XCatchClause__ExpressionAssignment_4
             {
             pushFollow(FOLLOW_2);
             rule__XCatchClause__ExpressionAssignment_4();
@@ -108812,16 +107693,16 @@
 
 
     // $ANTLR start "rule__QualifiedName__Group__0"
-    // InternalReportDSL.g:33200:1: rule__QualifiedName__Group__0 : rule__QualifiedName__Group__0__Impl rule__QualifiedName__Group__1 ;
+    // InternalReportDSL.g:32910:1: rule__QualifiedName__Group__0 : rule__QualifiedName__Group__0__Impl rule__QualifiedName__Group__1 ;
     public final void rule__QualifiedName__Group__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:33204:1: ( rule__QualifiedName__Group__0__Impl rule__QualifiedName__Group__1 )
-            // InternalReportDSL.g:33205:2: rule__QualifiedName__Group__0__Impl rule__QualifiedName__Group__1
+            // InternalReportDSL.g:32914:1: ( rule__QualifiedName__Group__0__Impl rule__QualifiedName__Group__1 )
+            // InternalReportDSL.g:32915:2: rule__QualifiedName__Group__0__Impl rule__QualifiedName__Group__1
             {
-            pushFollow(FOLLOW_214);
+            pushFollow(FOLLOW_212);
             rule__QualifiedName__Group__0__Impl();
 
             state._fsp--;
@@ -108850,17 +107731,17 @@
 
 
     // $ANTLR start "rule__QualifiedName__Group__0__Impl"
-    // InternalReportDSL.g:33212:1: rule__QualifiedName__Group__0__Impl : ( ruleValidID ) ;
+    // InternalReportDSL.g:32922:1: rule__QualifiedName__Group__0__Impl : ( ruleValidID ) ;
     public final void rule__QualifiedName__Group__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:33216:1: ( ( ruleValidID ) )
-            // InternalReportDSL.g:33217:1: ( ruleValidID )
+            // InternalReportDSL.g:32926:1: ( ( ruleValidID ) )
+            // InternalReportDSL.g:32927:1: ( ruleValidID )
             {
-            // InternalReportDSL.g:33217:1: ( ruleValidID )
-            // InternalReportDSL.g:33218:2: ruleValidID
+            // InternalReportDSL.g:32927:1: ( ruleValidID )
+            // InternalReportDSL.g:32928:2: ruleValidID
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getQualifiedNameAccess().getValidIDParserRuleCall_0()); 
@@ -108895,14 +107776,14 @@
 
 
     // $ANTLR start "rule__QualifiedName__Group__1"
-    // InternalReportDSL.g:33227:1: rule__QualifiedName__Group__1 : rule__QualifiedName__Group__1__Impl ;
+    // InternalReportDSL.g:32937:1: rule__QualifiedName__Group__1 : rule__QualifiedName__Group__1__Impl ;
     public final void rule__QualifiedName__Group__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:33231:1: ( rule__QualifiedName__Group__1__Impl )
-            // InternalReportDSL.g:33232:2: rule__QualifiedName__Group__1__Impl
+            // InternalReportDSL.g:32941:1: ( rule__QualifiedName__Group__1__Impl )
+            // InternalReportDSL.g:32942:2: rule__QualifiedName__Group__1__Impl
             {
             pushFollow(FOLLOW_2);
             rule__QualifiedName__Group__1__Impl();
@@ -108928,35 +107809,35 @@
 
 
     // $ANTLR start "rule__QualifiedName__Group__1__Impl"
-    // InternalReportDSL.g:33238:1: rule__QualifiedName__Group__1__Impl : ( ( rule__QualifiedName__Group_1__0 )* ) ;
+    // InternalReportDSL.g:32948:1: rule__QualifiedName__Group__1__Impl : ( ( rule__QualifiedName__Group_1__0 )* ) ;
     public final void rule__QualifiedName__Group__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:33242:1: ( ( ( rule__QualifiedName__Group_1__0 )* ) )
-            // InternalReportDSL.g:33243:1: ( ( rule__QualifiedName__Group_1__0 )* )
+            // InternalReportDSL.g:32952:1: ( ( ( rule__QualifiedName__Group_1__0 )* ) )
+            // InternalReportDSL.g:32953:1: ( ( rule__QualifiedName__Group_1__0 )* )
             {
-            // InternalReportDSL.g:33243:1: ( ( rule__QualifiedName__Group_1__0 )* )
-            // InternalReportDSL.g:33244:2: ( rule__QualifiedName__Group_1__0 )*
+            // InternalReportDSL.g:32953:1: ( ( rule__QualifiedName__Group_1__0 )* )
+            // InternalReportDSL.g:32954:2: ( rule__QualifiedName__Group_1__0 )*
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getQualifiedNameAccess().getGroup_1()); 
             }
-            // InternalReportDSL.g:33245:2: ( rule__QualifiedName__Group_1__0 )*
-            loop240:
+            // InternalReportDSL.g:32955:2: ( rule__QualifiedName__Group_1__0 )*
+            loop222:
             do {
-                int alt240=2;
-                int LA240_0 = input.LA(1);
+                int alt222=2;
+                int LA222_0 = input.LA(1);
 
-                if ( (LA240_0==47) ) {
-                    int LA240_2 = input.LA(2);
+                if ( (LA222_0==47) ) {
+                    int LA222_2 = input.LA(2);
 
-                    if ( (LA240_2==RULE_ID) ) {
-                        int LA240_3 = input.LA(3);
+                    if ( (LA222_2==RULE_ID) ) {
+                        int LA222_3 = input.LA(3);
 
-                        if ( (synpred345_InternalReportDSL()) ) {
-                            alt240=1;
+                        if ( (synpred331_InternalReportDSL()) ) {
+                            alt222=1;
                         }
 
 
@@ -108966,11 +107847,11 @@
                 }
 
 
-                switch (alt240) {
+                switch (alt222) {
             	case 1 :
-            	    // InternalReportDSL.g:33245:3: rule__QualifiedName__Group_1__0
+            	    // InternalReportDSL.g:32955:3: rule__QualifiedName__Group_1__0
             	    {
-            	    pushFollow(FOLLOW_215);
+            	    pushFollow(FOLLOW_213);
             	    rule__QualifiedName__Group_1__0();
 
             	    state._fsp--;
@@ -108980,7 +107861,7 @@
             	    break;
 
             	default :
-            	    break loop240;
+            	    break loop222;
                 }
             } while (true);
 
@@ -109009,14 +107890,14 @@
 
 
     // $ANTLR start "rule__QualifiedName__Group_1__0"
-    // InternalReportDSL.g:33254:1: rule__QualifiedName__Group_1__0 : rule__QualifiedName__Group_1__0__Impl rule__QualifiedName__Group_1__1 ;
+    // InternalReportDSL.g:32964:1: rule__QualifiedName__Group_1__0 : rule__QualifiedName__Group_1__0__Impl rule__QualifiedName__Group_1__1 ;
     public final void rule__QualifiedName__Group_1__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:33258:1: ( rule__QualifiedName__Group_1__0__Impl rule__QualifiedName__Group_1__1 )
-            // InternalReportDSL.g:33259:2: rule__QualifiedName__Group_1__0__Impl rule__QualifiedName__Group_1__1
+            // InternalReportDSL.g:32968:1: ( rule__QualifiedName__Group_1__0__Impl rule__QualifiedName__Group_1__1 )
+            // InternalReportDSL.g:32969:2: rule__QualifiedName__Group_1__0__Impl rule__QualifiedName__Group_1__1
             {
             pushFollow(FOLLOW_7);
             rule__QualifiedName__Group_1__0__Impl();
@@ -109047,23 +107928,23 @@
 
 
     // $ANTLR start "rule__QualifiedName__Group_1__0__Impl"
-    // InternalReportDSL.g:33266:1: rule__QualifiedName__Group_1__0__Impl : ( ( '.' ) ) ;
+    // InternalReportDSL.g:32976:1: rule__QualifiedName__Group_1__0__Impl : ( ( '.' ) ) ;
     public final void rule__QualifiedName__Group_1__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:33270:1: ( ( ( '.' ) ) )
-            // InternalReportDSL.g:33271:1: ( ( '.' ) )
+            // InternalReportDSL.g:32980:1: ( ( ( '.' ) ) )
+            // InternalReportDSL.g:32981:1: ( ( '.' ) )
             {
-            // InternalReportDSL.g:33271:1: ( ( '.' ) )
-            // InternalReportDSL.g:33272:2: ( '.' )
+            // InternalReportDSL.g:32981:1: ( ( '.' ) )
+            // InternalReportDSL.g:32982:2: ( '.' )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getQualifiedNameAccess().getFullStopKeyword_1_0()); 
             }
-            // InternalReportDSL.g:33273:2: ( '.' )
-            // InternalReportDSL.g:33273:3: '.'
+            // InternalReportDSL.g:32983:2: ( '.' )
+            // InternalReportDSL.g:32983:3: '.'
             {
             match(input,47,FOLLOW_2); if (state.failed) return ;
 
@@ -109094,14 +107975,14 @@
 
 
     // $ANTLR start "rule__QualifiedName__Group_1__1"
-    // InternalReportDSL.g:33281:1: rule__QualifiedName__Group_1__1 : rule__QualifiedName__Group_1__1__Impl ;
+    // InternalReportDSL.g:32991:1: rule__QualifiedName__Group_1__1 : rule__QualifiedName__Group_1__1__Impl ;
     public final void rule__QualifiedName__Group_1__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:33285:1: ( rule__QualifiedName__Group_1__1__Impl )
-            // InternalReportDSL.g:33286:2: rule__QualifiedName__Group_1__1__Impl
+            // InternalReportDSL.g:32995:1: ( rule__QualifiedName__Group_1__1__Impl )
+            // InternalReportDSL.g:32996:2: rule__QualifiedName__Group_1__1__Impl
             {
             pushFollow(FOLLOW_2);
             rule__QualifiedName__Group_1__1__Impl();
@@ -109127,17 +108008,17 @@
 
 
     // $ANTLR start "rule__QualifiedName__Group_1__1__Impl"
-    // InternalReportDSL.g:33292:1: rule__QualifiedName__Group_1__1__Impl : ( ruleValidID ) ;
+    // InternalReportDSL.g:33002:1: rule__QualifiedName__Group_1__1__Impl : ( ruleValidID ) ;
     public final void rule__QualifiedName__Group_1__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:33296:1: ( ( ruleValidID ) )
-            // InternalReportDSL.g:33297:1: ( ruleValidID )
+            // InternalReportDSL.g:33006:1: ( ( ruleValidID ) )
+            // InternalReportDSL.g:33007:1: ( ruleValidID )
             {
-            // InternalReportDSL.g:33297:1: ( ruleValidID )
-            // InternalReportDSL.g:33298:2: ruleValidID
+            // InternalReportDSL.g:33007:1: ( ruleValidID )
+            // InternalReportDSL.g:33008:2: ruleValidID
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getQualifiedNameAccess().getValidIDParserRuleCall_1_1()); 
@@ -109172,16 +108053,16 @@
 
 
     // $ANTLR start "rule__Number__Group_1__0"
-    // InternalReportDSL.g:33308:1: rule__Number__Group_1__0 : rule__Number__Group_1__0__Impl rule__Number__Group_1__1 ;
+    // InternalReportDSL.g:33018:1: rule__Number__Group_1__0 : rule__Number__Group_1__0__Impl rule__Number__Group_1__1 ;
     public final void rule__Number__Group_1__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:33312:1: ( rule__Number__Group_1__0__Impl rule__Number__Group_1__1 )
-            // InternalReportDSL.g:33313:2: rule__Number__Group_1__0__Impl rule__Number__Group_1__1
+            // InternalReportDSL.g:33022:1: ( rule__Number__Group_1__0__Impl rule__Number__Group_1__1 )
+            // InternalReportDSL.g:33023:2: rule__Number__Group_1__0__Impl rule__Number__Group_1__1
             {
-            pushFollow(FOLLOW_214);
+            pushFollow(FOLLOW_212);
             rule__Number__Group_1__0__Impl();
 
             state._fsp--;
@@ -109210,23 +108091,23 @@
 
 
     // $ANTLR start "rule__Number__Group_1__0__Impl"
-    // InternalReportDSL.g:33320:1: rule__Number__Group_1__0__Impl : ( ( rule__Number__Alternatives_1_0 ) ) ;
+    // InternalReportDSL.g:33030:1: rule__Number__Group_1__0__Impl : ( ( rule__Number__Alternatives_1_0 ) ) ;
     public final void rule__Number__Group_1__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:33324:1: ( ( ( rule__Number__Alternatives_1_0 ) ) )
-            // InternalReportDSL.g:33325:1: ( ( rule__Number__Alternatives_1_0 ) )
+            // InternalReportDSL.g:33034:1: ( ( ( rule__Number__Alternatives_1_0 ) ) )
+            // InternalReportDSL.g:33035:1: ( ( rule__Number__Alternatives_1_0 ) )
             {
-            // InternalReportDSL.g:33325:1: ( ( rule__Number__Alternatives_1_0 ) )
-            // InternalReportDSL.g:33326:2: ( rule__Number__Alternatives_1_0 )
+            // InternalReportDSL.g:33035:1: ( ( rule__Number__Alternatives_1_0 ) )
+            // InternalReportDSL.g:33036:2: ( rule__Number__Alternatives_1_0 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getNumberAccess().getAlternatives_1_0()); 
             }
-            // InternalReportDSL.g:33327:2: ( rule__Number__Alternatives_1_0 )
-            // InternalReportDSL.g:33327:3: rule__Number__Alternatives_1_0
+            // InternalReportDSL.g:33037:2: ( rule__Number__Alternatives_1_0 )
+            // InternalReportDSL.g:33037:3: rule__Number__Alternatives_1_0
             {
             pushFollow(FOLLOW_2);
             rule__Number__Alternatives_1_0();
@@ -109261,14 +108142,14 @@
 
 
     // $ANTLR start "rule__Number__Group_1__1"
-    // InternalReportDSL.g:33335:1: rule__Number__Group_1__1 : rule__Number__Group_1__1__Impl ;
+    // InternalReportDSL.g:33045:1: rule__Number__Group_1__1 : rule__Number__Group_1__1__Impl ;
     public final void rule__Number__Group_1__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:33339:1: ( rule__Number__Group_1__1__Impl )
-            // InternalReportDSL.g:33340:2: rule__Number__Group_1__1__Impl
+            // InternalReportDSL.g:33049:1: ( rule__Number__Group_1__1__Impl )
+            // InternalReportDSL.g:33050:2: rule__Number__Group_1__1__Impl
             {
             pushFollow(FOLLOW_2);
             rule__Number__Group_1__1__Impl();
@@ -109294,35 +108175,35 @@
 
 
     // $ANTLR start "rule__Number__Group_1__1__Impl"
-    // InternalReportDSL.g:33346:1: rule__Number__Group_1__1__Impl : ( ( rule__Number__Group_1_1__0 )? ) ;
+    // InternalReportDSL.g:33056:1: rule__Number__Group_1__1__Impl : ( ( rule__Number__Group_1_1__0 )? ) ;
     public final void rule__Number__Group_1__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:33350:1: ( ( ( rule__Number__Group_1_1__0 )? ) )
-            // InternalReportDSL.g:33351:1: ( ( rule__Number__Group_1_1__0 )? )
+            // InternalReportDSL.g:33060:1: ( ( ( rule__Number__Group_1_1__0 )? ) )
+            // InternalReportDSL.g:33061:1: ( ( rule__Number__Group_1_1__0 )? )
             {
-            // InternalReportDSL.g:33351:1: ( ( rule__Number__Group_1_1__0 )? )
-            // InternalReportDSL.g:33352:2: ( rule__Number__Group_1_1__0 )?
+            // InternalReportDSL.g:33061:1: ( ( rule__Number__Group_1_1__0 )? )
+            // InternalReportDSL.g:33062:2: ( rule__Number__Group_1_1__0 )?
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getNumberAccess().getGroup_1_1()); 
             }
-            // InternalReportDSL.g:33353:2: ( rule__Number__Group_1_1__0 )?
-            int alt241=2;
-            int LA241_0 = input.LA(1);
+            // InternalReportDSL.g:33063:2: ( rule__Number__Group_1_1__0 )?
+            int alt223=2;
+            int LA223_0 = input.LA(1);
 
-            if ( (LA241_0==47) ) {
-                int LA241_1 = input.LA(2);
+            if ( (LA223_0==47) ) {
+                int LA223_1 = input.LA(2);
 
-                if ( ((LA241_1>=RULE_INT && LA241_1<=RULE_DECIMAL)) ) {
-                    alt241=1;
+                if ( ((LA223_1>=RULE_INT && LA223_1<=RULE_DECIMAL)) ) {
+                    alt223=1;
                 }
             }
-            switch (alt241) {
+            switch (alt223) {
                 case 1 :
-                    // InternalReportDSL.g:33353:3: rule__Number__Group_1_1__0
+                    // InternalReportDSL.g:33063:3: rule__Number__Group_1_1__0
                     {
                     pushFollow(FOLLOW_2);
                     rule__Number__Group_1_1__0();
@@ -109360,16 +108241,16 @@
 
 
     // $ANTLR start "rule__Number__Group_1_1__0"
-    // InternalReportDSL.g:33362:1: rule__Number__Group_1_1__0 : rule__Number__Group_1_1__0__Impl rule__Number__Group_1_1__1 ;
+    // InternalReportDSL.g:33072:1: rule__Number__Group_1_1__0 : rule__Number__Group_1_1__0__Impl rule__Number__Group_1_1__1 ;
     public final void rule__Number__Group_1_1__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:33366:1: ( rule__Number__Group_1_1__0__Impl rule__Number__Group_1_1__1 )
-            // InternalReportDSL.g:33367:2: rule__Number__Group_1_1__0__Impl rule__Number__Group_1_1__1
+            // InternalReportDSL.g:33076:1: ( rule__Number__Group_1_1__0__Impl rule__Number__Group_1_1__1 )
+            // InternalReportDSL.g:33077:2: rule__Number__Group_1_1__0__Impl rule__Number__Group_1_1__1
             {
-            pushFollow(FOLLOW_216);
+            pushFollow(FOLLOW_214);
             rule__Number__Group_1_1__0__Impl();
 
             state._fsp--;
@@ -109398,17 +108279,17 @@
 
 
     // $ANTLR start "rule__Number__Group_1_1__0__Impl"
-    // InternalReportDSL.g:33374:1: rule__Number__Group_1_1__0__Impl : ( '.' ) ;
+    // InternalReportDSL.g:33084:1: rule__Number__Group_1_1__0__Impl : ( '.' ) ;
     public final void rule__Number__Group_1_1__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:33378:1: ( ( '.' ) )
-            // InternalReportDSL.g:33379:1: ( '.' )
+            // InternalReportDSL.g:33088:1: ( ( '.' ) )
+            // InternalReportDSL.g:33089:1: ( '.' )
             {
-            // InternalReportDSL.g:33379:1: ( '.' )
-            // InternalReportDSL.g:33380:2: '.'
+            // InternalReportDSL.g:33089:1: ( '.' )
+            // InternalReportDSL.g:33090:2: '.'
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getNumberAccess().getFullStopKeyword_1_1_0()); 
@@ -109439,14 +108320,14 @@
 
 
     // $ANTLR start "rule__Number__Group_1_1__1"
-    // InternalReportDSL.g:33389:1: rule__Number__Group_1_1__1 : rule__Number__Group_1_1__1__Impl ;
+    // InternalReportDSL.g:33099:1: rule__Number__Group_1_1__1 : rule__Number__Group_1_1__1__Impl ;
     public final void rule__Number__Group_1_1__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:33393:1: ( rule__Number__Group_1_1__1__Impl )
-            // InternalReportDSL.g:33394:2: rule__Number__Group_1_1__1__Impl
+            // InternalReportDSL.g:33103:1: ( rule__Number__Group_1_1__1__Impl )
+            // InternalReportDSL.g:33104:2: rule__Number__Group_1_1__1__Impl
             {
             pushFollow(FOLLOW_2);
             rule__Number__Group_1_1__1__Impl();
@@ -109472,23 +108353,23 @@
 
 
     // $ANTLR start "rule__Number__Group_1_1__1__Impl"
-    // InternalReportDSL.g:33400:1: rule__Number__Group_1_1__1__Impl : ( ( rule__Number__Alternatives_1_1_1 ) ) ;
+    // InternalReportDSL.g:33110:1: rule__Number__Group_1_1__1__Impl : ( ( rule__Number__Alternatives_1_1_1 ) ) ;
     public final void rule__Number__Group_1_1__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:33404:1: ( ( ( rule__Number__Alternatives_1_1_1 ) ) )
-            // InternalReportDSL.g:33405:1: ( ( rule__Number__Alternatives_1_1_1 ) )
+            // InternalReportDSL.g:33114:1: ( ( ( rule__Number__Alternatives_1_1_1 ) ) )
+            // InternalReportDSL.g:33115:1: ( ( rule__Number__Alternatives_1_1_1 ) )
             {
-            // InternalReportDSL.g:33405:1: ( ( rule__Number__Alternatives_1_1_1 ) )
-            // InternalReportDSL.g:33406:2: ( rule__Number__Alternatives_1_1_1 )
+            // InternalReportDSL.g:33115:1: ( ( rule__Number__Alternatives_1_1_1 ) )
+            // InternalReportDSL.g:33116:2: ( rule__Number__Alternatives_1_1_1 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getNumberAccess().getAlternatives_1_1_1()); 
             }
-            // InternalReportDSL.g:33407:2: ( rule__Number__Alternatives_1_1_1 )
-            // InternalReportDSL.g:33407:3: rule__Number__Alternatives_1_1_1
+            // InternalReportDSL.g:33117:2: ( rule__Number__Alternatives_1_1_1 )
+            // InternalReportDSL.g:33117:3: rule__Number__Alternatives_1_1_1
             {
             pushFollow(FOLLOW_2);
             rule__Number__Alternatives_1_1_1();
@@ -109523,16 +108404,16 @@
 
 
     // $ANTLR start "rule__JvmTypeReference__Group_0__0"
-    // InternalReportDSL.g:33416:1: rule__JvmTypeReference__Group_0__0 : rule__JvmTypeReference__Group_0__0__Impl rule__JvmTypeReference__Group_0__1 ;
+    // InternalReportDSL.g:33126:1: rule__JvmTypeReference__Group_0__0 : rule__JvmTypeReference__Group_0__0__Impl rule__JvmTypeReference__Group_0__1 ;
     public final void rule__JvmTypeReference__Group_0__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:33420:1: ( rule__JvmTypeReference__Group_0__0__Impl rule__JvmTypeReference__Group_0__1 )
-            // InternalReportDSL.g:33421:2: rule__JvmTypeReference__Group_0__0__Impl rule__JvmTypeReference__Group_0__1
+            // InternalReportDSL.g:33130:1: ( rule__JvmTypeReference__Group_0__0__Impl rule__JvmTypeReference__Group_0__1 )
+            // InternalReportDSL.g:33131:2: rule__JvmTypeReference__Group_0__0__Impl rule__JvmTypeReference__Group_0__1
             {
-            pushFollow(FOLLOW_143);
+            pushFollow(FOLLOW_142);
             rule__JvmTypeReference__Group_0__0__Impl();
 
             state._fsp--;
@@ -109561,17 +108442,17 @@
 
 
     // $ANTLR start "rule__JvmTypeReference__Group_0__0__Impl"
-    // InternalReportDSL.g:33428:1: rule__JvmTypeReference__Group_0__0__Impl : ( ruleJvmParameterizedTypeReference ) ;
+    // InternalReportDSL.g:33138:1: rule__JvmTypeReference__Group_0__0__Impl : ( ruleJvmParameterizedTypeReference ) ;
     public final void rule__JvmTypeReference__Group_0__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:33432:1: ( ( ruleJvmParameterizedTypeReference ) )
-            // InternalReportDSL.g:33433:1: ( ruleJvmParameterizedTypeReference )
+            // InternalReportDSL.g:33142:1: ( ( ruleJvmParameterizedTypeReference ) )
+            // InternalReportDSL.g:33143:1: ( ruleJvmParameterizedTypeReference )
             {
-            // InternalReportDSL.g:33433:1: ( ruleJvmParameterizedTypeReference )
-            // InternalReportDSL.g:33434:2: ruleJvmParameterizedTypeReference
+            // InternalReportDSL.g:33143:1: ( ruleJvmParameterizedTypeReference )
+            // InternalReportDSL.g:33144:2: ruleJvmParameterizedTypeReference
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getJvmTypeReferenceAccess().getJvmParameterizedTypeReferenceParserRuleCall_0_0()); 
@@ -109606,14 +108487,14 @@
 
 
     // $ANTLR start "rule__JvmTypeReference__Group_0__1"
-    // InternalReportDSL.g:33443:1: rule__JvmTypeReference__Group_0__1 : rule__JvmTypeReference__Group_0__1__Impl ;
+    // InternalReportDSL.g:33153:1: rule__JvmTypeReference__Group_0__1 : rule__JvmTypeReference__Group_0__1__Impl ;
     public final void rule__JvmTypeReference__Group_0__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:33447:1: ( rule__JvmTypeReference__Group_0__1__Impl )
-            // InternalReportDSL.g:33448:2: rule__JvmTypeReference__Group_0__1__Impl
+            // InternalReportDSL.g:33157:1: ( rule__JvmTypeReference__Group_0__1__Impl )
+            // InternalReportDSL.g:33158:2: rule__JvmTypeReference__Group_0__1__Impl
             {
             pushFollow(FOLLOW_2);
             rule__JvmTypeReference__Group_0__1__Impl();
@@ -109639,35 +108520,35 @@
 
 
     // $ANTLR start "rule__JvmTypeReference__Group_0__1__Impl"
-    // InternalReportDSL.g:33454:1: rule__JvmTypeReference__Group_0__1__Impl : ( ( rule__JvmTypeReference__Group_0_1__0 )* ) ;
+    // InternalReportDSL.g:33164:1: rule__JvmTypeReference__Group_0__1__Impl : ( ( rule__JvmTypeReference__Group_0_1__0 )* ) ;
     public final void rule__JvmTypeReference__Group_0__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:33458:1: ( ( ( rule__JvmTypeReference__Group_0_1__0 )* ) )
-            // InternalReportDSL.g:33459:1: ( ( rule__JvmTypeReference__Group_0_1__0 )* )
+            // InternalReportDSL.g:33168:1: ( ( ( rule__JvmTypeReference__Group_0_1__0 )* ) )
+            // InternalReportDSL.g:33169:1: ( ( rule__JvmTypeReference__Group_0_1__0 )* )
             {
-            // InternalReportDSL.g:33459:1: ( ( rule__JvmTypeReference__Group_0_1__0 )* )
-            // InternalReportDSL.g:33460:2: ( rule__JvmTypeReference__Group_0_1__0 )*
+            // InternalReportDSL.g:33169:1: ( ( rule__JvmTypeReference__Group_0_1__0 )* )
+            // InternalReportDSL.g:33170:2: ( rule__JvmTypeReference__Group_0_1__0 )*
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getJvmTypeReferenceAccess().getGroup_0_1()); 
             }
-            // InternalReportDSL.g:33461:2: ( rule__JvmTypeReference__Group_0_1__0 )*
-            loop242:
+            // InternalReportDSL.g:33171:2: ( rule__JvmTypeReference__Group_0_1__0 )*
+            loop224:
             do {
-                int alt242=2;
-                int LA242_0 = input.LA(1);
+                int alt224=2;
+                int LA224_0 = input.LA(1);
 
-                if ( (LA242_0==231) ) {
-                    int LA242_2 = input.LA(2);
+                if ( (LA224_0==238) ) {
+                    int LA224_2 = input.LA(2);
 
-                    if ( (LA242_2==229) ) {
-                        int LA242_3 = input.LA(3);
+                    if ( (LA224_2==236) ) {
+                        int LA224_3 = input.LA(3);
 
-                        if ( (synpred347_InternalReportDSL()) ) {
-                            alt242=1;
+                        if ( (synpred333_InternalReportDSL()) ) {
+                            alt224=1;
                         }
 
 
@@ -109677,11 +108558,11 @@
                 }
 
 
-                switch (alt242) {
+                switch (alt224) {
             	case 1 :
-            	    // InternalReportDSL.g:33461:3: rule__JvmTypeReference__Group_0_1__0
+            	    // InternalReportDSL.g:33171:3: rule__JvmTypeReference__Group_0_1__0
             	    {
-            	    pushFollow(FOLLOW_206);
+            	    pushFollow(FOLLOW_204);
             	    rule__JvmTypeReference__Group_0_1__0();
 
             	    state._fsp--;
@@ -109691,7 +108572,7 @@
             	    break;
 
             	default :
-            	    break loop242;
+            	    break loop224;
                 }
             } while (true);
 
@@ -109720,14 +108601,14 @@
 
 
     // $ANTLR start "rule__JvmTypeReference__Group_0_1__0"
-    // InternalReportDSL.g:33470:1: rule__JvmTypeReference__Group_0_1__0 : rule__JvmTypeReference__Group_0_1__0__Impl ;
+    // InternalReportDSL.g:33180:1: rule__JvmTypeReference__Group_0_1__0 : rule__JvmTypeReference__Group_0_1__0__Impl ;
     public final void rule__JvmTypeReference__Group_0_1__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:33474:1: ( rule__JvmTypeReference__Group_0_1__0__Impl )
-            // InternalReportDSL.g:33475:2: rule__JvmTypeReference__Group_0_1__0__Impl
+            // InternalReportDSL.g:33184:1: ( rule__JvmTypeReference__Group_0_1__0__Impl )
+            // InternalReportDSL.g:33185:2: rule__JvmTypeReference__Group_0_1__0__Impl
             {
             pushFollow(FOLLOW_2);
             rule__JvmTypeReference__Group_0_1__0__Impl();
@@ -109753,23 +108634,23 @@
 
 
     // $ANTLR start "rule__JvmTypeReference__Group_0_1__0__Impl"
-    // InternalReportDSL.g:33481:1: rule__JvmTypeReference__Group_0_1__0__Impl : ( ( rule__JvmTypeReference__Group_0_1_0__0 ) ) ;
+    // InternalReportDSL.g:33191:1: rule__JvmTypeReference__Group_0_1__0__Impl : ( ( rule__JvmTypeReference__Group_0_1_0__0 ) ) ;
     public final void rule__JvmTypeReference__Group_0_1__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:33485:1: ( ( ( rule__JvmTypeReference__Group_0_1_0__0 ) ) )
-            // InternalReportDSL.g:33486:1: ( ( rule__JvmTypeReference__Group_0_1_0__0 ) )
+            // InternalReportDSL.g:33195:1: ( ( ( rule__JvmTypeReference__Group_0_1_0__0 ) ) )
+            // InternalReportDSL.g:33196:1: ( ( rule__JvmTypeReference__Group_0_1_0__0 ) )
             {
-            // InternalReportDSL.g:33486:1: ( ( rule__JvmTypeReference__Group_0_1_0__0 ) )
-            // InternalReportDSL.g:33487:2: ( rule__JvmTypeReference__Group_0_1_0__0 )
+            // InternalReportDSL.g:33196:1: ( ( rule__JvmTypeReference__Group_0_1_0__0 ) )
+            // InternalReportDSL.g:33197:2: ( rule__JvmTypeReference__Group_0_1_0__0 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getJvmTypeReferenceAccess().getGroup_0_1_0()); 
             }
-            // InternalReportDSL.g:33488:2: ( rule__JvmTypeReference__Group_0_1_0__0 )
-            // InternalReportDSL.g:33488:3: rule__JvmTypeReference__Group_0_1_0__0
+            // InternalReportDSL.g:33198:2: ( rule__JvmTypeReference__Group_0_1_0__0 )
+            // InternalReportDSL.g:33198:3: rule__JvmTypeReference__Group_0_1_0__0
             {
             pushFollow(FOLLOW_2);
             rule__JvmTypeReference__Group_0_1_0__0();
@@ -109804,16 +108685,16 @@
 
 
     // $ANTLR start "rule__JvmTypeReference__Group_0_1_0__0"
-    // InternalReportDSL.g:33497:1: rule__JvmTypeReference__Group_0_1_0__0 : rule__JvmTypeReference__Group_0_1_0__0__Impl rule__JvmTypeReference__Group_0_1_0__1 ;
+    // InternalReportDSL.g:33207:1: rule__JvmTypeReference__Group_0_1_0__0 : rule__JvmTypeReference__Group_0_1_0__0__Impl rule__JvmTypeReference__Group_0_1_0__1 ;
     public final void rule__JvmTypeReference__Group_0_1_0__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:33501:1: ( rule__JvmTypeReference__Group_0_1_0__0__Impl rule__JvmTypeReference__Group_0_1_0__1 )
-            // InternalReportDSL.g:33502:2: rule__JvmTypeReference__Group_0_1_0__0__Impl rule__JvmTypeReference__Group_0_1_0__1
+            // InternalReportDSL.g:33211:1: ( rule__JvmTypeReference__Group_0_1_0__0__Impl rule__JvmTypeReference__Group_0_1_0__1 )
+            // InternalReportDSL.g:33212:2: rule__JvmTypeReference__Group_0_1_0__0__Impl rule__JvmTypeReference__Group_0_1_0__1
             {
-            pushFollow(FOLLOW_143);
+            pushFollow(FOLLOW_142);
             rule__JvmTypeReference__Group_0_1_0__0__Impl();
 
             state._fsp--;
@@ -109842,23 +108723,23 @@
 
 
     // $ANTLR start "rule__JvmTypeReference__Group_0_1_0__0__Impl"
-    // InternalReportDSL.g:33509:1: rule__JvmTypeReference__Group_0_1_0__0__Impl : ( () ) ;
+    // InternalReportDSL.g:33219:1: rule__JvmTypeReference__Group_0_1_0__0__Impl : ( () ) ;
     public final void rule__JvmTypeReference__Group_0_1_0__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:33513:1: ( ( () ) )
-            // InternalReportDSL.g:33514:1: ( () )
+            // InternalReportDSL.g:33223:1: ( ( () ) )
+            // InternalReportDSL.g:33224:1: ( () )
             {
-            // InternalReportDSL.g:33514:1: ( () )
-            // InternalReportDSL.g:33515:2: ()
+            // InternalReportDSL.g:33224:1: ( () )
+            // InternalReportDSL.g:33225:2: ()
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getJvmTypeReferenceAccess().getJvmGenericArrayTypeReferenceComponentTypeAction_0_1_0_0()); 
             }
-            // InternalReportDSL.g:33516:2: ()
-            // InternalReportDSL.g:33516:3: 
+            // InternalReportDSL.g:33226:2: ()
+            // InternalReportDSL.g:33226:3: 
             {
             }
 
@@ -109883,14 +108764,14 @@
 
 
     // $ANTLR start "rule__JvmTypeReference__Group_0_1_0__1"
-    // InternalReportDSL.g:33524:1: rule__JvmTypeReference__Group_0_1_0__1 : rule__JvmTypeReference__Group_0_1_0__1__Impl ;
+    // InternalReportDSL.g:33234:1: rule__JvmTypeReference__Group_0_1_0__1 : rule__JvmTypeReference__Group_0_1_0__1__Impl ;
     public final void rule__JvmTypeReference__Group_0_1_0__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:33528:1: ( rule__JvmTypeReference__Group_0_1_0__1__Impl )
-            // InternalReportDSL.g:33529:2: rule__JvmTypeReference__Group_0_1_0__1__Impl
+            // InternalReportDSL.g:33238:1: ( rule__JvmTypeReference__Group_0_1_0__1__Impl )
+            // InternalReportDSL.g:33239:2: rule__JvmTypeReference__Group_0_1_0__1__Impl
             {
             pushFollow(FOLLOW_2);
             rule__JvmTypeReference__Group_0_1_0__1__Impl();
@@ -109916,17 +108797,17 @@
 
 
     // $ANTLR start "rule__JvmTypeReference__Group_0_1_0__1__Impl"
-    // InternalReportDSL.g:33535:1: rule__JvmTypeReference__Group_0_1_0__1__Impl : ( ruleArrayBrackets ) ;
+    // InternalReportDSL.g:33245:1: rule__JvmTypeReference__Group_0_1_0__1__Impl : ( ruleArrayBrackets ) ;
     public final void rule__JvmTypeReference__Group_0_1_0__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:33539:1: ( ( ruleArrayBrackets ) )
-            // InternalReportDSL.g:33540:1: ( ruleArrayBrackets )
+            // InternalReportDSL.g:33249:1: ( ( ruleArrayBrackets ) )
+            // InternalReportDSL.g:33250:1: ( ruleArrayBrackets )
             {
-            // InternalReportDSL.g:33540:1: ( ruleArrayBrackets )
-            // InternalReportDSL.g:33541:2: ruleArrayBrackets
+            // InternalReportDSL.g:33250:1: ( ruleArrayBrackets )
+            // InternalReportDSL.g:33251:2: ruleArrayBrackets
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getJvmTypeReferenceAccess().getArrayBracketsParserRuleCall_0_1_0_1()); 
@@ -109961,16 +108842,16 @@
 
 
     // $ANTLR start "rule__ArrayBrackets__Group__0"
-    // InternalReportDSL.g:33551:1: rule__ArrayBrackets__Group__0 : rule__ArrayBrackets__Group__0__Impl rule__ArrayBrackets__Group__1 ;
+    // InternalReportDSL.g:33261:1: rule__ArrayBrackets__Group__0 : rule__ArrayBrackets__Group__0__Impl rule__ArrayBrackets__Group__1 ;
     public final void rule__ArrayBrackets__Group__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:33555:1: ( rule__ArrayBrackets__Group__0__Impl rule__ArrayBrackets__Group__1 )
-            // InternalReportDSL.g:33556:2: rule__ArrayBrackets__Group__0__Impl rule__ArrayBrackets__Group__1
+            // InternalReportDSL.g:33265:1: ( rule__ArrayBrackets__Group__0__Impl rule__ArrayBrackets__Group__1 )
+            // InternalReportDSL.g:33266:2: rule__ArrayBrackets__Group__0__Impl rule__ArrayBrackets__Group__1
             {
-            pushFollow(FOLLOW_181);
+            pushFollow(FOLLOW_179);
             rule__ArrayBrackets__Group__0__Impl();
 
             state._fsp--;
@@ -109999,22 +108880,22 @@
 
 
     // $ANTLR start "rule__ArrayBrackets__Group__0__Impl"
-    // InternalReportDSL.g:33563:1: rule__ArrayBrackets__Group__0__Impl : ( '[' ) ;
+    // InternalReportDSL.g:33273:1: rule__ArrayBrackets__Group__0__Impl : ( '[' ) ;
     public final void rule__ArrayBrackets__Group__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:33567:1: ( ( '[' ) )
-            // InternalReportDSL.g:33568:1: ( '[' )
+            // InternalReportDSL.g:33277:1: ( ( '[' ) )
+            // InternalReportDSL.g:33278:1: ( '[' )
             {
-            // InternalReportDSL.g:33568:1: ( '[' )
-            // InternalReportDSL.g:33569:2: '['
+            // InternalReportDSL.g:33278:1: ( '[' )
+            // InternalReportDSL.g:33279:2: '['
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getArrayBracketsAccess().getLeftSquareBracketKeyword_0()); 
             }
-            match(input,231,FOLLOW_2); if (state.failed) return ;
+            match(input,238,FOLLOW_2); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getArrayBracketsAccess().getLeftSquareBracketKeyword_0()); 
             }
@@ -110040,14 +108921,14 @@
 
 
     // $ANTLR start "rule__ArrayBrackets__Group__1"
-    // InternalReportDSL.g:33578:1: rule__ArrayBrackets__Group__1 : rule__ArrayBrackets__Group__1__Impl ;
+    // InternalReportDSL.g:33288:1: rule__ArrayBrackets__Group__1 : rule__ArrayBrackets__Group__1__Impl ;
     public final void rule__ArrayBrackets__Group__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:33582:1: ( rule__ArrayBrackets__Group__1__Impl )
-            // InternalReportDSL.g:33583:2: rule__ArrayBrackets__Group__1__Impl
+            // InternalReportDSL.g:33292:1: ( rule__ArrayBrackets__Group__1__Impl )
+            // InternalReportDSL.g:33293:2: rule__ArrayBrackets__Group__1__Impl
             {
             pushFollow(FOLLOW_2);
             rule__ArrayBrackets__Group__1__Impl();
@@ -110073,22 +108954,22 @@
 
 
     // $ANTLR start "rule__ArrayBrackets__Group__1__Impl"
-    // InternalReportDSL.g:33589:1: rule__ArrayBrackets__Group__1__Impl : ( ']' ) ;
+    // InternalReportDSL.g:33299:1: rule__ArrayBrackets__Group__1__Impl : ( ']' ) ;
     public final void rule__ArrayBrackets__Group__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:33593:1: ( ( ']' ) )
-            // InternalReportDSL.g:33594:1: ( ']' )
+            // InternalReportDSL.g:33303:1: ( ( ']' ) )
+            // InternalReportDSL.g:33304:1: ( ']' )
             {
-            // InternalReportDSL.g:33594:1: ( ']' )
-            // InternalReportDSL.g:33595:2: ']'
+            // InternalReportDSL.g:33304:1: ( ']' )
+            // InternalReportDSL.g:33305:2: ']'
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getArrayBracketsAccess().getRightSquareBracketKeyword_1()); 
             }
-            match(input,229,FOLLOW_2); if (state.failed) return ;
+            match(input,236,FOLLOW_2); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getArrayBracketsAccess().getRightSquareBracketKeyword_1()); 
             }
@@ -110114,16 +108995,16 @@
 
 
     // $ANTLR start "rule__XFunctionTypeRef__Group__0"
-    // InternalReportDSL.g:33605:1: rule__XFunctionTypeRef__Group__0 : rule__XFunctionTypeRef__Group__0__Impl rule__XFunctionTypeRef__Group__1 ;
+    // InternalReportDSL.g:33315:1: rule__XFunctionTypeRef__Group__0 : rule__XFunctionTypeRef__Group__0__Impl rule__XFunctionTypeRef__Group__1 ;
     public final void rule__XFunctionTypeRef__Group__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:33609:1: ( rule__XFunctionTypeRef__Group__0__Impl rule__XFunctionTypeRef__Group__1 )
-            // InternalReportDSL.g:33610:2: rule__XFunctionTypeRef__Group__0__Impl rule__XFunctionTypeRef__Group__1
+            // InternalReportDSL.g:33319:1: ( rule__XFunctionTypeRef__Group__0__Impl rule__XFunctionTypeRef__Group__1 )
+            // InternalReportDSL.g:33320:2: rule__XFunctionTypeRef__Group__0__Impl rule__XFunctionTypeRef__Group__1
             {
-            pushFollow(FOLLOW_156);
+            pushFollow(FOLLOW_155);
             rule__XFunctionTypeRef__Group__0__Impl();
 
             state._fsp--;
@@ -110152,31 +109033,31 @@
 
 
     // $ANTLR start "rule__XFunctionTypeRef__Group__0__Impl"
-    // InternalReportDSL.g:33617:1: rule__XFunctionTypeRef__Group__0__Impl : ( ( rule__XFunctionTypeRef__Group_0__0 )? ) ;
+    // InternalReportDSL.g:33327:1: rule__XFunctionTypeRef__Group__0__Impl : ( ( rule__XFunctionTypeRef__Group_0__0 )? ) ;
     public final void rule__XFunctionTypeRef__Group__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:33621:1: ( ( ( rule__XFunctionTypeRef__Group_0__0 )? ) )
-            // InternalReportDSL.g:33622:1: ( ( rule__XFunctionTypeRef__Group_0__0 )? )
+            // InternalReportDSL.g:33331:1: ( ( ( rule__XFunctionTypeRef__Group_0__0 )? ) )
+            // InternalReportDSL.g:33332:1: ( ( rule__XFunctionTypeRef__Group_0__0 )? )
             {
-            // InternalReportDSL.g:33622:1: ( ( rule__XFunctionTypeRef__Group_0__0 )? )
-            // InternalReportDSL.g:33623:2: ( rule__XFunctionTypeRef__Group_0__0 )?
+            // InternalReportDSL.g:33332:1: ( ( rule__XFunctionTypeRef__Group_0__0 )? )
+            // InternalReportDSL.g:33333:2: ( rule__XFunctionTypeRef__Group_0__0 )?
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXFunctionTypeRefAccess().getGroup_0()); 
             }
-            // InternalReportDSL.g:33624:2: ( rule__XFunctionTypeRef__Group_0__0 )?
-            int alt243=2;
-            int LA243_0 = input.LA(1);
+            // InternalReportDSL.g:33334:2: ( rule__XFunctionTypeRef__Group_0__0 )?
+            int alt225=2;
+            int LA225_0 = input.LA(1);
 
-            if ( (LA243_0==204) ) {
-                alt243=1;
+            if ( (LA225_0==211) ) {
+                alt225=1;
             }
-            switch (alt243) {
+            switch (alt225) {
                 case 1 :
-                    // InternalReportDSL.g:33624:3: rule__XFunctionTypeRef__Group_0__0
+                    // InternalReportDSL.g:33334:3: rule__XFunctionTypeRef__Group_0__0
                     {
                     pushFollow(FOLLOW_2);
                     rule__XFunctionTypeRef__Group_0__0();
@@ -110214,16 +109095,16 @@
 
 
     // $ANTLR start "rule__XFunctionTypeRef__Group__1"
-    // InternalReportDSL.g:33632:1: rule__XFunctionTypeRef__Group__1 : rule__XFunctionTypeRef__Group__1__Impl rule__XFunctionTypeRef__Group__2 ;
+    // InternalReportDSL.g:33342:1: rule__XFunctionTypeRef__Group__1 : rule__XFunctionTypeRef__Group__1__Impl rule__XFunctionTypeRef__Group__2 ;
     public final void rule__XFunctionTypeRef__Group__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:33636:1: ( rule__XFunctionTypeRef__Group__1__Impl rule__XFunctionTypeRef__Group__2 )
-            // InternalReportDSL.g:33637:2: rule__XFunctionTypeRef__Group__1__Impl rule__XFunctionTypeRef__Group__2
+            // InternalReportDSL.g:33346:1: ( rule__XFunctionTypeRef__Group__1__Impl rule__XFunctionTypeRef__Group__2 )
+            // InternalReportDSL.g:33347:2: rule__XFunctionTypeRef__Group__1__Impl rule__XFunctionTypeRef__Group__2
             {
-            pushFollow(FOLLOW_156);
+            pushFollow(FOLLOW_155);
             rule__XFunctionTypeRef__Group__1__Impl();
 
             state._fsp--;
@@ -110252,17 +109133,17 @@
 
 
     // $ANTLR start "rule__XFunctionTypeRef__Group__1__Impl"
-    // InternalReportDSL.g:33644:1: rule__XFunctionTypeRef__Group__1__Impl : ( '=>' ) ;
+    // InternalReportDSL.g:33354:1: rule__XFunctionTypeRef__Group__1__Impl : ( '=>' ) ;
     public final void rule__XFunctionTypeRef__Group__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:33648:1: ( ( '=>' ) )
-            // InternalReportDSL.g:33649:1: ( '=>' )
+            // InternalReportDSL.g:33358:1: ( ( '=>' ) )
+            // InternalReportDSL.g:33359:1: ( '=>' )
             {
-            // InternalReportDSL.g:33649:1: ( '=>' )
-            // InternalReportDSL.g:33650:2: '=>'
+            // InternalReportDSL.g:33359:1: ( '=>' )
+            // InternalReportDSL.g:33360:2: '=>'
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXFunctionTypeRefAccess().getEqualsSignGreaterThanSignKeyword_1()); 
@@ -110293,14 +109174,14 @@
 
 
     // $ANTLR start "rule__XFunctionTypeRef__Group__2"
-    // InternalReportDSL.g:33659:1: rule__XFunctionTypeRef__Group__2 : rule__XFunctionTypeRef__Group__2__Impl ;
+    // InternalReportDSL.g:33369:1: rule__XFunctionTypeRef__Group__2 : rule__XFunctionTypeRef__Group__2__Impl ;
     public final void rule__XFunctionTypeRef__Group__2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:33663:1: ( rule__XFunctionTypeRef__Group__2__Impl )
-            // InternalReportDSL.g:33664:2: rule__XFunctionTypeRef__Group__2__Impl
+            // InternalReportDSL.g:33373:1: ( rule__XFunctionTypeRef__Group__2__Impl )
+            // InternalReportDSL.g:33374:2: rule__XFunctionTypeRef__Group__2__Impl
             {
             pushFollow(FOLLOW_2);
             rule__XFunctionTypeRef__Group__2__Impl();
@@ -110326,23 +109207,23 @@
 
 
     // $ANTLR start "rule__XFunctionTypeRef__Group__2__Impl"
-    // InternalReportDSL.g:33670:1: rule__XFunctionTypeRef__Group__2__Impl : ( ( rule__XFunctionTypeRef__ReturnTypeAssignment_2 ) ) ;
+    // InternalReportDSL.g:33380:1: rule__XFunctionTypeRef__Group__2__Impl : ( ( rule__XFunctionTypeRef__ReturnTypeAssignment_2 ) ) ;
     public final void rule__XFunctionTypeRef__Group__2__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:33674:1: ( ( ( rule__XFunctionTypeRef__ReturnTypeAssignment_2 ) ) )
-            // InternalReportDSL.g:33675:1: ( ( rule__XFunctionTypeRef__ReturnTypeAssignment_2 ) )
+            // InternalReportDSL.g:33384:1: ( ( ( rule__XFunctionTypeRef__ReturnTypeAssignment_2 ) ) )
+            // InternalReportDSL.g:33385:1: ( ( rule__XFunctionTypeRef__ReturnTypeAssignment_2 ) )
             {
-            // InternalReportDSL.g:33675:1: ( ( rule__XFunctionTypeRef__ReturnTypeAssignment_2 ) )
-            // InternalReportDSL.g:33676:2: ( rule__XFunctionTypeRef__ReturnTypeAssignment_2 )
+            // InternalReportDSL.g:33385:1: ( ( rule__XFunctionTypeRef__ReturnTypeAssignment_2 ) )
+            // InternalReportDSL.g:33386:2: ( rule__XFunctionTypeRef__ReturnTypeAssignment_2 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXFunctionTypeRefAccess().getReturnTypeAssignment_2()); 
             }
-            // InternalReportDSL.g:33677:2: ( rule__XFunctionTypeRef__ReturnTypeAssignment_2 )
-            // InternalReportDSL.g:33677:3: rule__XFunctionTypeRef__ReturnTypeAssignment_2
+            // InternalReportDSL.g:33387:2: ( rule__XFunctionTypeRef__ReturnTypeAssignment_2 )
+            // InternalReportDSL.g:33387:3: rule__XFunctionTypeRef__ReturnTypeAssignment_2
             {
             pushFollow(FOLLOW_2);
             rule__XFunctionTypeRef__ReturnTypeAssignment_2();
@@ -110377,16 +109258,16 @@
 
 
     // $ANTLR start "rule__XFunctionTypeRef__Group_0__0"
-    // InternalReportDSL.g:33686:1: rule__XFunctionTypeRef__Group_0__0 : rule__XFunctionTypeRef__Group_0__0__Impl rule__XFunctionTypeRef__Group_0__1 ;
+    // InternalReportDSL.g:33396:1: rule__XFunctionTypeRef__Group_0__0 : rule__XFunctionTypeRef__Group_0__0__Impl rule__XFunctionTypeRef__Group_0__1 ;
     public final void rule__XFunctionTypeRef__Group_0__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:33690:1: ( rule__XFunctionTypeRef__Group_0__0__Impl rule__XFunctionTypeRef__Group_0__1 )
-            // InternalReportDSL.g:33691:2: rule__XFunctionTypeRef__Group_0__0__Impl rule__XFunctionTypeRef__Group_0__1
+            // InternalReportDSL.g:33400:1: ( rule__XFunctionTypeRef__Group_0__0__Impl rule__XFunctionTypeRef__Group_0__1 )
+            // InternalReportDSL.g:33401:2: rule__XFunctionTypeRef__Group_0__0__Impl rule__XFunctionTypeRef__Group_0__1
             {
-            pushFollow(FOLLOW_217);
+            pushFollow(FOLLOW_215);
             rule__XFunctionTypeRef__Group_0__0__Impl();
 
             state._fsp--;
@@ -110415,22 +109296,22 @@
 
 
     // $ANTLR start "rule__XFunctionTypeRef__Group_0__0__Impl"
-    // InternalReportDSL.g:33698:1: rule__XFunctionTypeRef__Group_0__0__Impl : ( '(' ) ;
+    // InternalReportDSL.g:33408:1: rule__XFunctionTypeRef__Group_0__0__Impl : ( '(' ) ;
     public final void rule__XFunctionTypeRef__Group_0__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:33702:1: ( ( '(' ) )
-            // InternalReportDSL.g:33703:1: ( '(' )
+            // InternalReportDSL.g:33412:1: ( ( '(' ) )
+            // InternalReportDSL.g:33413:1: ( '(' )
             {
-            // InternalReportDSL.g:33703:1: ( '(' )
-            // InternalReportDSL.g:33704:2: '('
+            // InternalReportDSL.g:33413:1: ( '(' )
+            // InternalReportDSL.g:33414:2: '('
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXFunctionTypeRefAccess().getLeftParenthesisKeyword_0_0()); 
             }
-            match(input,204,FOLLOW_2); if (state.failed) return ;
+            match(input,211,FOLLOW_2); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getXFunctionTypeRefAccess().getLeftParenthesisKeyword_0_0()); 
             }
@@ -110456,16 +109337,16 @@
 
 
     // $ANTLR start "rule__XFunctionTypeRef__Group_0__1"
-    // InternalReportDSL.g:33713:1: rule__XFunctionTypeRef__Group_0__1 : rule__XFunctionTypeRef__Group_0__1__Impl rule__XFunctionTypeRef__Group_0__2 ;
+    // InternalReportDSL.g:33423:1: rule__XFunctionTypeRef__Group_0__1 : rule__XFunctionTypeRef__Group_0__1__Impl rule__XFunctionTypeRef__Group_0__2 ;
     public final void rule__XFunctionTypeRef__Group_0__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:33717:1: ( rule__XFunctionTypeRef__Group_0__1__Impl rule__XFunctionTypeRef__Group_0__2 )
-            // InternalReportDSL.g:33718:2: rule__XFunctionTypeRef__Group_0__1__Impl rule__XFunctionTypeRef__Group_0__2
+            // InternalReportDSL.g:33427:1: ( rule__XFunctionTypeRef__Group_0__1__Impl rule__XFunctionTypeRef__Group_0__2 )
+            // InternalReportDSL.g:33428:2: rule__XFunctionTypeRef__Group_0__1__Impl rule__XFunctionTypeRef__Group_0__2
             {
-            pushFollow(FOLLOW_217);
+            pushFollow(FOLLOW_215);
             rule__XFunctionTypeRef__Group_0__1__Impl();
 
             state._fsp--;
@@ -110494,31 +109375,31 @@
 
 
     // $ANTLR start "rule__XFunctionTypeRef__Group_0__1__Impl"
-    // InternalReportDSL.g:33725:1: rule__XFunctionTypeRef__Group_0__1__Impl : ( ( rule__XFunctionTypeRef__Group_0_1__0 )? ) ;
+    // InternalReportDSL.g:33435:1: rule__XFunctionTypeRef__Group_0__1__Impl : ( ( rule__XFunctionTypeRef__Group_0_1__0 )? ) ;
     public final void rule__XFunctionTypeRef__Group_0__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:33729:1: ( ( ( rule__XFunctionTypeRef__Group_0_1__0 )? ) )
-            // InternalReportDSL.g:33730:1: ( ( rule__XFunctionTypeRef__Group_0_1__0 )? )
+            // InternalReportDSL.g:33439:1: ( ( ( rule__XFunctionTypeRef__Group_0_1__0 )? ) )
+            // InternalReportDSL.g:33440:1: ( ( rule__XFunctionTypeRef__Group_0_1__0 )? )
             {
-            // InternalReportDSL.g:33730:1: ( ( rule__XFunctionTypeRef__Group_0_1__0 )? )
-            // InternalReportDSL.g:33731:2: ( rule__XFunctionTypeRef__Group_0_1__0 )?
+            // InternalReportDSL.g:33440:1: ( ( rule__XFunctionTypeRef__Group_0_1__0 )? )
+            // InternalReportDSL.g:33441:2: ( rule__XFunctionTypeRef__Group_0_1__0 )?
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXFunctionTypeRefAccess().getGroup_0_1()); 
             }
-            // InternalReportDSL.g:33732:2: ( rule__XFunctionTypeRef__Group_0_1__0 )?
-            int alt244=2;
-            int LA244_0 = input.LA(1);
+            // InternalReportDSL.g:33442:2: ( rule__XFunctionTypeRef__Group_0_1__0 )?
+            int alt226=2;
+            int LA226_0 = input.LA(1);
 
-            if ( (LA244_0==RULE_ID||LA244_0==35||LA244_0==204) ) {
-                alt244=1;
+            if ( (LA226_0==RULE_ID||LA226_0==35||LA226_0==211) ) {
+                alt226=1;
             }
-            switch (alt244) {
+            switch (alt226) {
                 case 1 :
-                    // InternalReportDSL.g:33732:3: rule__XFunctionTypeRef__Group_0_1__0
+                    // InternalReportDSL.g:33442:3: rule__XFunctionTypeRef__Group_0_1__0
                     {
                     pushFollow(FOLLOW_2);
                     rule__XFunctionTypeRef__Group_0_1__0();
@@ -110556,14 +109437,14 @@
 
 
     // $ANTLR start "rule__XFunctionTypeRef__Group_0__2"
-    // InternalReportDSL.g:33740:1: rule__XFunctionTypeRef__Group_0__2 : rule__XFunctionTypeRef__Group_0__2__Impl ;
+    // InternalReportDSL.g:33450:1: rule__XFunctionTypeRef__Group_0__2 : rule__XFunctionTypeRef__Group_0__2__Impl ;
     public final void rule__XFunctionTypeRef__Group_0__2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:33744:1: ( rule__XFunctionTypeRef__Group_0__2__Impl )
-            // InternalReportDSL.g:33745:2: rule__XFunctionTypeRef__Group_0__2__Impl
+            // InternalReportDSL.g:33454:1: ( rule__XFunctionTypeRef__Group_0__2__Impl )
+            // InternalReportDSL.g:33455:2: rule__XFunctionTypeRef__Group_0__2__Impl
             {
             pushFollow(FOLLOW_2);
             rule__XFunctionTypeRef__Group_0__2__Impl();
@@ -110589,22 +109470,22 @@
 
 
     // $ANTLR start "rule__XFunctionTypeRef__Group_0__2__Impl"
-    // InternalReportDSL.g:33751:1: rule__XFunctionTypeRef__Group_0__2__Impl : ( ')' ) ;
+    // InternalReportDSL.g:33461:1: rule__XFunctionTypeRef__Group_0__2__Impl : ( ')' ) ;
     public final void rule__XFunctionTypeRef__Group_0__2__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:33755:1: ( ( ')' ) )
-            // InternalReportDSL.g:33756:1: ( ')' )
+            // InternalReportDSL.g:33465:1: ( ( ')' ) )
+            // InternalReportDSL.g:33466:1: ( ')' )
             {
-            // InternalReportDSL.g:33756:1: ( ')' )
-            // InternalReportDSL.g:33757:2: ')'
+            // InternalReportDSL.g:33466:1: ( ')' )
+            // InternalReportDSL.g:33467:2: ')'
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXFunctionTypeRefAccess().getRightParenthesisKeyword_0_2()); 
             }
-            match(input,205,FOLLOW_2); if (state.failed) return ;
+            match(input,212,FOLLOW_2); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getXFunctionTypeRefAccess().getRightParenthesisKeyword_0_2()); 
             }
@@ -110630,16 +109511,16 @@
 
 
     // $ANTLR start "rule__XFunctionTypeRef__Group_0_1__0"
-    // InternalReportDSL.g:33767:1: rule__XFunctionTypeRef__Group_0_1__0 : rule__XFunctionTypeRef__Group_0_1__0__Impl rule__XFunctionTypeRef__Group_0_1__1 ;
+    // InternalReportDSL.g:33477:1: rule__XFunctionTypeRef__Group_0_1__0 : rule__XFunctionTypeRef__Group_0_1__0__Impl rule__XFunctionTypeRef__Group_0_1__1 ;
     public final void rule__XFunctionTypeRef__Group_0_1__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:33771:1: ( rule__XFunctionTypeRef__Group_0_1__0__Impl rule__XFunctionTypeRef__Group_0_1__1 )
-            // InternalReportDSL.g:33772:2: rule__XFunctionTypeRef__Group_0_1__0__Impl rule__XFunctionTypeRef__Group_0_1__1
+            // InternalReportDSL.g:33481:1: ( rule__XFunctionTypeRef__Group_0_1__0__Impl rule__XFunctionTypeRef__Group_0_1__1 )
+            // InternalReportDSL.g:33482:2: rule__XFunctionTypeRef__Group_0_1__0__Impl rule__XFunctionTypeRef__Group_0_1__1
             {
-            pushFollow(FOLLOW_137);
+            pushFollow(FOLLOW_136);
             rule__XFunctionTypeRef__Group_0_1__0__Impl();
 
             state._fsp--;
@@ -110668,23 +109549,23 @@
 
 
     // $ANTLR start "rule__XFunctionTypeRef__Group_0_1__0__Impl"
-    // InternalReportDSL.g:33779:1: rule__XFunctionTypeRef__Group_0_1__0__Impl : ( ( rule__XFunctionTypeRef__ParamTypesAssignment_0_1_0 ) ) ;
+    // InternalReportDSL.g:33489:1: rule__XFunctionTypeRef__Group_0_1__0__Impl : ( ( rule__XFunctionTypeRef__ParamTypesAssignment_0_1_0 ) ) ;
     public final void rule__XFunctionTypeRef__Group_0_1__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:33783:1: ( ( ( rule__XFunctionTypeRef__ParamTypesAssignment_0_1_0 ) ) )
-            // InternalReportDSL.g:33784:1: ( ( rule__XFunctionTypeRef__ParamTypesAssignment_0_1_0 ) )
+            // InternalReportDSL.g:33493:1: ( ( ( rule__XFunctionTypeRef__ParamTypesAssignment_0_1_0 ) ) )
+            // InternalReportDSL.g:33494:1: ( ( rule__XFunctionTypeRef__ParamTypesAssignment_0_1_0 ) )
             {
-            // InternalReportDSL.g:33784:1: ( ( rule__XFunctionTypeRef__ParamTypesAssignment_0_1_0 ) )
-            // InternalReportDSL.g:33785:2: ( rule__XFunctionTypeRef__ParamTypesAssignment_0_1_0 )
+            // InternalReportDSL.g:33494:1: ( ( rule__XFunctionTypeRef__ParamTypesAssignment_0_1_0 ) )
+            // InternalReportDSL.g:33495:2: ( rule__XFunctionTypeRef__ParamTypesAssignment_0_1_0 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXFunctionTypeRefAccess().getParamTypesAssignment_0_1_0()); 
             }
-            // InternalReportDSL.g:33786:2: ( rule__XFunctionTypeRef__ParamTypesAssignment_0_1_0 )
-            // InternalReportDSL.g:33786:3: rule__XFunctionTypeRef__ParamTypesAssignment_0_1_0
+            // InternalReportDSL.g:33496:2: ( rule__XFunctionTypeRef__ParamTypesAssignment_0_1_0 )
+            // InternalReportDSL.g:33496:3: rule__XFunctionTypeRef__ParamTypesAssignment_0_1_0
             {
             pushFollow(FOLLOW_2);
             rule__XFunctionTypeRef__ParamTypesAssignment_0_1_0();
@@ -110719,14 +109600,14 @@
 
 
     // $ANTLR start "rule__XFunctionTypeRef__Group_0_1__1"
-    // InternalReportDSL.g:33794:1: rule__XFunctionTypeRef__Group_0_1__1 : rule__XFunctionTypeRef__Group_0_1__1__Impl ;
+    // InternalReportDSL.g:33504:1: rule__XFunctionTypeRef__Group_0_1__1 : rule__XFunctionTypeRef__Group_0_1__1__Impl ;
     public final void rule__XFunctionTypeRef__Group_0_1__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:33798:1: ( rule__XFunctionTypeRef__Group_0_1__1__Impl )
-            // InternalReportDSL.g:33799:2: rule__XFunctionTypeRef__Group_0_1__1__Impl
+            // InternalReportDSL.g:33508:1: ( rule__XFunctionTypeRef__Group_0_1__1__Impl )
+            // InternalReportDSL.g:33509:2: rule__XFunctionTypeRef__Group_0_1__1__Impl
             {
             pushFollow(FOLLOW_2);
             rule__XFunctionTypeRef__Group_0_1__1__Impl();
@@ -110752,37 +109633,37 @@
 
 
     // $ANTLR start "rule__XFunctionTypeRef__Group_0_1__1__Impl"
-    // InternalReportDSL.g:33805:1: rule__XFunctionTypeRef__Group_0_1__1__Impl : ( ( rule__XFunctionTypeRef__Group_0_1_1__0 )* ) ;
+    // InternalReportDSL.g:33515:1: rule__XFunctionTypeRef__Group_0_1__1__Impl : ( ( rule__XFunctionTypeRef__Group_0_1_1__0 )* ) ;
     public final void rule__XFunctionTypeRef__Group_0_1__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:33809:1: ( ( ( rule__XFunctionTypeRef__Group_0_1_1__0 )* ) )
-            // InternalReportDSL.g:33810:1: ( ( rule__XFunctionTypeRef__Group_0_1_1__0 )* )
+            // InternalReportDSL.g:33519:1: ( ( ( rule__XFunctionTypeRef__Group_0_1_1__0 )* ) )
+            // InternalReportDSL.g:33520:1: ( ( rule__XFunctionTypeRef__Group_0_1_1__0 )* )
             {
-            // InternalReportDSL.g:33810:1: ( ( rule__XFunctionTypeRef__Group_0_1_1__0 )* )
-            // InternalReportDSL.g:33811:2: ( rule__XFunctionTypeRef__Group_0_1_1__0 )*
+            // InternalReportDSL.g:33520:1: ( ( rule__XFunctionTypeRef__Group_0_1_1__0 )* )
+            // InternalReportDSL.g:33521:2: ( rule__XFunctionTypeRef__Group_0_1_1__0 )*
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXFunctionTypeRefAccess().getGroup_0_1_1()); 
             }
-            // InternalReportDSL.g:33812:2: ( rule__XFunctionTypeRef__Group_0_1_1__0 )*
-            loop245:
+            // InternalReportDSL.g:33522:2: ( rule__XFunctionTypeRef__Group_0_1_1__0 )*
+            loop227:
             do {
-                int alt245=2;
-                int LA245_0 = input.LA(1);
+                int alt227=2;
+                int LA227_0 = input.LA(1);
 
-                if ( (LA245_0==228) ) {
-                    alt245=1;
+                if ( (LA227_0==235) ) {
+                    alt227=1;
                 }
 
 
-                switch (alt245) {
+                switch (alt227) {
             	case 1 :
-            	    // InternalReportDSL.g:33812:3: rule__XFunctionTypeRef__Group_0_1_1__0
+            	    // InternalReportDSL.g:33522:3: rule__XFunctionTypeRef__Group_0_1_1__0
             	    {
-            	    pushFollow(FOLLOW_138);
+            	    pushFollow(FOLLOW_137);
             	    rule__XFunctionTypeRef__Group_0_1_1__0();
 
             	    state._fsp--;
@@ -110792,7 +109673,7 @@
             	    break;
 
             	default :
-            	    break loop245;
+            	    break loop227;
                 }
             } while (true);
 
@@ -110821,16 +109702,16 @@
 
 
     // $ANTLR start "rule__XFunctionTypeRef__Group_0_1_1__0"
-    // InternalReportDSL.g:33821:1: rule__XFunctionTypeRef__Group_0_1_1__0 : rule__XFunctionTypeRef__Group_0_1_1__0__Impl rule__XFunctionTypeRef__Group_0_1_1__1 ;
+    // InternalReportDSL.g:33531:1: rule__XFunctionTypeRef__Group_0_1_1__0 : rule__XFunctionTypeRef__Group_0_1_1__0__Impl rule__XFunctionTypeRef__Group_0_1_1__1 ;
     public final void rule__XFunctionTypeRef__Group_0_1_1__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:33825:1: ( rule__XFunctionTypeRef__Group_0_1_1__0__Impl rule__XFunctionTypeRef__Group_0_1_1__1 )
-            // InternalReportDSL.g:33826:2: rule__XFunctionTypeRef__Group_0_1_1__0__Impl rule__XFunctionTypeRef__Group_0_1_1__1
+            // InternalReportDSL.g:33535:1: ( rule__XFunctionTypeRef__Group_0_1_1__0__Impl rule__XFunctionTypeRef__Group_0_1_1__1 )
+            // InternalReportDSL.g:33536:2: rule__XFunctionTypeRef__Group_0_1_1__0__Impl rule__XFunctionTypeRef__Group_0_1_1__1
             {
-            pushFollow(FOLLOW_156);
+            pushFollow(FOLLOW_155);
             rule__XFunctionTypeRef__Group_0_1_1__0__Impl();
 
             state._fsp--;
@@ -110859,22 +109740,22 @@
 
 
     // $ANTLR start "rule__XFunctionTypeRef__Group_0_1_1__0__Impl"
-    // InternalReportDSL.g:33833:1: rule__XFunctionTypeRef__Group_0_1_1__0__Impl : ( ',' ) ;
+    // InternalReportDSL.g:33543:1: rule__XFunctionTypeRef__Group_0_1_1__0__Impl : ( ',' ) ;
     public final void rule__XFunctionTypeRef__Group_0_1_1__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:33837:1: ( ( ',' ) )
-            // InternalReportDSL.g:33838:1: ( ',' )
+            // InternalReportDSL.g:33547:1: ( ( ',' ) )
+            // InternalReportDSL.g:33548:1: ( ',' )
             {
-            // InternalReportDSL.g:33838:1: ( ',' )
-            // InternalReportDSL.g:33839:2: ','
+            // InternalReportDSL.g:33548:1: ( ',' )
+            // InternalReportDSL.g:33549:2: ','
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXFunctionTypeRefAccess().getCommaKeyword_0_1_1_0()); 
             }
-            match(input,228,FOLLOW_2); if (state.failed) return ;
+            match(input,235,FOLLOW_2); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getXFunctionTypeRefAccess().getCommaKeyword_0_1_1_0()); 
             }
@@ -110900,14 +109781,14 @@
 
 
     // $ANTLR start "rule__XFunctionTypeRef__Group_0_1_1__1"
-    // InternalReportDSL.g:33848:1: rule__XFunctionTypeRef__Group_0_1_1__1 : rule__XFunctionTypeRef__Group_0_1_1__1__Impl ;
+    // InternalReportDSL.g:33558:1: rule__XFunctionTypeRef__Group_0_1_1__1 : rule__XFunctionTypeRef__Group_0_1_1__1__Impl ;
     public final void rule__XFunctionTypeRef__Group_0_1_1__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:33852:1: ( rule__XFunctionTypeRef__Group_0_1_1__1__Impl )
-            // InternalReportDSL.g:33853:2: rule__XFunctionTypeRef__Group_0_1_1__1__Impl
+            // InternalReportDSL.g:33562:1: ( rule__XFunctionTypeRef__Group_0_1_1__1__Impl )
+            // InternalReportDSL.g:33563:2: rule__XFunctionTypeRef__Group_0_1_1__1__Impl
             {
             pushFollow(FOLLOW_2);
             rule__XFunctionTypeRef__Group_0_1_1__1__Impl();
@@ -110933,23 +109814,23 @@
 
 
     // $ANTLR start "rule__XFunctionTypeRef__Group_0_1_1__1__Impl"
-    // InternalReportDSL.g:33859:1: rule__XFunctionTypeRef__Group_0_1_1__1__Impl : ( ( rule__XFunctionTypeRef__ParamTypesAssignment_0_1_1_1 ) ) ;
+    // InternalReportDSL.g:33569:1: rule__XFunctionTypeRef__Group_0_1_1__1__Impl : ( ( rule__XFunctionTypeRef__ParamTypesAssignment_0_1_1_1 ) ) ;
     public final void rule__XFunctionTypeRef__Group_0_1_1__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:33863:1: ( ( ( rule__XFunctionTypeRef__ParamTypesAssignment_0_1_1_1 ) ) )
-            // InternalReportDSL.g:33864:1: ( ( rule__XFunctionTypeRef__ParamTypesAssignment_0_1_1_1 ) )
+            // InternalReportDSL.g:33573:1: ( ( ( rule__XFunctionTypeRef__ParamTypesAssignment_0_1_1_1 ) ) )
+            // InternalReportDSL.g:33574:1: ( ( rule__XFunctionTypeRef__ParamTypesAssignment_0_1_1_1 ) )
             {
-            // InternalReportDSL.g:33864:1: ( ( rule__XFunctionTypeRef__ParamTypesAssignment_0_1_1_1 ) )
-            // InternalReportDSL.g:33865:2: ( rule__XFunctionTypeRef__ParamTypesAssignment_0_1_1_1 )
+            // InternalReportDSL.g:33574:1: ( ( rule__XFunctionTypeRef__ParamTypesAssignment_0_1_1_1 ) )
+            // InternalReportDSL.g:33575:2: ( rule__XFunctionTypeRef__ParamTypesAssignment_0_1_1_1 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXFunctionTypeRefAccess().getParamTypesAssignment_0_1_1_1()); 
             }
-            // InternalReportDSL.g:33866:2: ( rule__XFunctionTypeRef__ParamTypesAssignment_0_1_1_1 )
-            // InternalReportDSL.g:33866:3: rule__XFunctionTypeRef__ParamTypesAssignment_0_1_1_1
+            // InternalReportDSL.g:33576:2: ( rule__XFunctionTypeRef__ParamTypesAssignment_0_1_1_1 )
+            // InternalReportDSL.g:33576:3: rule__XFunctionTypeRef__ParamTypesAssignment_0_1_1_1
             {
             pushFollow(FOLLOW_2);
             rule__XFunctionTypeRef__ParamTypesAssignment_0_1_1_1();
@@ -110984,16 +109865,16 @@
 
 
     // $ANTLR start "rule__JvmParameterizedTypeReference__Group__0"
-    // InternalReportDSL.g:33875:1: rule__JvmParameterizedTypeReference__Group__0 : rule__JvmParameterizedTypeReference__Group__0__Impl rule__JvmParameterizedTypeReference__Group__1 ;
+    // InternalReportDSL.g:33585:1: rule__JvmParameterizedTypeReference__Group__0 : rule__JvmParameterizedTypeReference__Group__0__Impl rule__JvmParameterizedTypeReference__Group__1 ;
     public final void rule__JvmParameterizedTypeReference__Group__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:33879:1: ( rule__JvmParameterizedTypeReference__Group__0__Impl rule__JvmParameterizedTypeReference__Group__1 )
-            // InternalReportDSL.g:33880:2: rule__JvmParameterizedTypeReference__Group__0__Impl rule__JvmParameterizedTypeReference__Group__1
+            // InternalReportDSL.g:33589:1: ( rule__JvmParameterizedTypeReference__Group__0__Impl rule__JvmParameterizedTypeReference__Group__1 )
+            // InternalReportDSL.g:33590:2: rule__JvmParameterizedTypeReference__Group__0__Impl rule__JvmParameterizedTypeReference__Group__1
             {
-            pushFollow(FOLLOW_146);
+            pushFollow(FOLLOW_145);
             rule__JvmParameterizedTypeReference__Group__0__Impl();
 
             state._fsp--;
@@ -111022,23 +109903,23 @@
 
 
     // $ANTLR start "rule__JvmParameterizedTypeReference__Group__0__Impl"
-    // InternalReportDSL.g:33887:1: rule__JvmParameterizedTypeReference__Group__0__Impl : ( ( rule__JvmParameterizedTypeReference__TypeAssignment_0 ) ) ;
+    // InternalReportDSL.g:33597:1: rule__JvmParameterizedTypeReference__Group__0__Impl : ( ( rule__JvmParameterizedTypeReference__TypeAssignment_0 ) ) ;
     public final void rule__JvmParameterizedTypeReference__Group__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:33891:1: ( ( ( rule__JvmParameterizedTypeReference__TypeAssignment_0 ) ) )
-            // InternalReportDSL.g:33892:1: ( ( rule__JvmParameterizedTypeReference__TypeAssignment_0 ) )
+            // InternalReportDSL.g:33601:1: ( ( ( rule__JvmParameterizedTypeReference__TypeAssignment_0 ) ) )
+            // InternalReportDSL.g:33602:1: ( ( rule__JvmParameterizedTypeReference__TypeAssignment_0 ) )
             {
-            // InternalReportDSL.g:33892:1: ( ( rule__JvmParameterizedTypeReference__TypeAssignment_0 ) )
-            // InternalReportDSL.g:33893:2: ( rule__JvmParameterizedTypeReference__TypeAssignment_0 )
+            // InternalReportDSL.g:33602:1: ( ( rule__JvmParameterizedTypeReference__TypeAssignment_0 ) )
+            // InternalReportDSL.g:33603:2: ( rule__JvmParameterizedTypeReference__TypeAssignment_0 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getJvmParameterizedTypeReferenceAccess().getTypeAssignment_0()); 
             }
-            // InternalReportDSL.g:33894:2: ( rule__JvmParameterizedTypeReference__TypeAssignment_0 )
-            // InternalReportDSL.g:33894:3: rule__JvmParameterizedTypeReference__TypeAssignment_0
+            // InternalReportDSL.g:33604:2: ( rule__JvmParameterizedTypeReference__TypeAssignment_0 )
+            // InternalReportDSL.g:33604:3: rule__JvmParameterizedTypeReference__TypeAssignment_0
             {
             pushFollow(FOLLOW_2);
             rule__JvmParameterizedTypeReference__TypeAssignment_0();
@@ -111073,14 +109954,14 @@
 
 
     // $ANTLR start "rule__JvmParameterizedTypeReference__Group__1"
-    // InternalReportDSL.g:33902:1: rule__JvmParameterizedTypeReference__Group__1 : rule__JvmParameterizedTypeReference__Group__1__Impl ;
+    // InternalReportDSL.g:33612:1: rule__JvmParameterizedTypeReference__Group__1 : rule__JvmParameterizedTypeReference__Group__1__Impl ;
     public final void rule__JvmParameterizedTypeReference__Group__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:33906:1: ( rule__JvmParameterizedTypeReference__Group__1__Impl )
-            // InternalReportDSL.g:33907:2: rule__JvmParameterizedTypeReference__Group__1__Impl
+            // InternalReportDSL.g:33616:1: ( rule__JvmParameterizedTypeReference__Group__1__Impl )
+            // InternalReportDSL.g:33617:2: rule__JvmParameterizedTypeReference__Group__1__Impl
             {
             pushFollow(FOLLOW_2);
             rule__JvmParameterizedTypeReference__Group__1__Impl();
@@ -111106,27 +109987,27 @@
 
 
     // $ANTLR start "rule__JvmParameterizedTypeReference__Group__1__Impl"
-    // InternalReportDSL.g:33913:1: rule__JvmParameterizedTypeReference__Group__1__Impl : ( ( rule__JvmParameterizedTypeReference__Group_1__0 )? ) ;
+    // InternalReportDSL.g:33623:1: rule__JvmParameterizedTypeReference__Group__1__Impl : ( ( rule__JvmParameterizedTypeReference__Group_1__0 )? ) ;
     public final void rule__JvmParameterizedTypeReference__Group__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:33917:1: ( ( ( rule__JvmParameterizedTypeReference__Group_1__0 )? ) )
-            // InternalReportDSL.g:33918:1: ( ( rule__JvmParameterizedTypeReference__Group_1__0 )? )
+            // InternalReportDSL.g:33627:1: ( ( ( rule__JvmParameterizedTypeReference__Group_1__0 )? ) )
+            // InternalReportDSL.g:33628:1: ( ( rule__JvmParameterizedTypeReference__Group_1__0 )? )
             {
-            // InternalReportDSL.g:33918:1: ( ( rule__JvmParameterizedTypeReference__Group_1__0 )? )
-            // InternalReportDSL.g:33919:2: ( rule__JvmParameterizedTypeReference__Group_1__0 )?
+            // InternalReportDSL.g:33628:1: ( ( rule__JvmParameterizedTypeReference__Group_1__0 )? )
+            // InternalReportDSL.g:33629:2: ( rule__JvmParameterizedTypeReference__Group_1__0 )?
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getJvmParameterizedTypeReferenceAccess().getGroup_1()); 
             }
-            // InternalReportDSL.g:33920:2: ( rule__JvmParameterizedTypeReference__Group_1__0 )?
-            int alt246=2;
-            alt246 = dfa246.predict(input);
-            switch (alt246) {
+            // InternalReportDSL.g:33630:2: ( rule__JvmParameterizedTypeReference__Group_1__0 )?
+            int alt228=2;
+            alt228 = dfa228.predict(input);
+            switch (alt228) {
                 case 1 :
-                    // InternalReportDSL.g:33920:3: rule__JvmParameterizedTypeReference__Group_1__0
+                    // InternalReportDSL.g:33630:3: rule__JvmParameterizedTypeReference__Group_1__0
                     {
                     pushFollow(FOLLOW_2);
                     rule__JvmParameterizedTypeReference__Group_1__0();
@@ -111164,16 +110045,16 @@
 
 
     // $ANTLR start "rule__JvmParameterizedTypeReference__Group_1__0"
-    // InternalReportDSL.g:33929:1: rule__JvmParameterizedTypeReference__Group_1__0 : rule__JvmParameterizedTypeReference__Group_1__0__Impl rule__JvmParameterizedTypeReference__Group_1__1 ;
+    // InternalReportDSL.g:33639:1: rule__JvmParameterizedTypeReference__Group_1__0 : rule__JvmParameterizedTypeReference__Group_1__0__Impl rule__JvmParameterizedTypeReference__Group_1__1 ;
     public final void rule__JvmParameterizedTypeReference__Group_1__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:33933:1: ( rule__JvmParameterizedTypeReference__Group_1__0__Impl rule__JvmParameterizedTypeReference__Group_1__1 )
-            // InternalReportDSL.g:33934:2: rule__JvmParameterizedTypeReference__Group_1__0__Impl rule__JvmParameterizedTypeReference__Group_1__1
+            // InternalReportDSL.g:33643:1: ( rule__JvmParameterizedTypeReference__Group_1__0__Impl rule__JvmParameterizedTypeReference__Group_1__1 )
+            // InternalReportDSL.g:33644:2: rule__JvmParameterizedTypeReference__Group_1__0__Impl rule__JvmParameterizedTypeReference__Group_1__1
             {
-            pushFollow(FOLLOW_176);
+            pushFollow(FOLLOW_174);
             rule__JvmParameterizedTypeReference__Group_1__0__Impl();
 
             state._fsp--;
@@ -111202,23 +110083,23 @@
 
 
     // $ANTLR start "rule__JvmParameterizedTypeReference__Group_1__0__Impl"
-    // InternalReportDSL.g:33941:1: rule__JvmParameterizedTypeReference__Group_1__0__Impl : ( ( '<' ) ) ;
+    // InternalReportDSL.g:33651:1: rule__JvmParameterizedTypeReference__Group_1__0__Impl : ( ( '<' ) ) ;
     public final void rule__JvmParameterizedTypeReference__Group_1__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:33945:1: ( ( ( '<' ) ) )
-            // InternalReportDSL.g:33946:1: ( ( '<' ) )
+            // InternalReportDSL.g:33655:1: ( ( ( '<' ) ) )
+            // InternalReportDSL.g:33656:1: ( ( '<' ) )
             {
-            // InternalReportDSL.g:33946:1: ( ( '<' ) )
-            // InternalReportDSL.g:33947:2: ( '<' )
+            // InternalReportDSL.g:33656:1: ( ( '<' ) )
+            // InternalReportDSL.g:33657:2: ( '<' )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getJvmParameterizedTypeReferenceAccess().getLessThanSignKeyword_1_0()); 
             }
-            // InternalReportDSL.g:33948:2: ( '<' )
-            // InternalReportDSL.g:33948:3: '<'
+            // InternalReportDSL.g:33658:2: ( '<' )
+            // InternalReportDSL.g:33658:3: '<'
             {
             match(input,31,FOLLOW_2); if (state.failed) return ;
 
@@ -111249,16 +110130,16 @@
 
 
     // $ANTLR start "rule__JvmParameterizedTypeReference__Group_1__1"
-    // InternalReportDSL.g:33956:1: rule__JvmParameterizedTypeReference__Group_1__1 : rule__JvmParameterizedTypeReference__Group_1__1__Impl rule__JvmParameterizedTypeReference__Group_1__2 ;
+    // InternalReportDSL.g:33666:1: rule__JvmParameterizedTypeReference__Group_1__1 : rule__JvmParameterizedTypeReference__Group_1__1__Impl rule__JvmParameterizedTypeReference__Group_1__2 ;
     public final void rule__JvmParameterizedTypeReference__Group_1__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:33960:1: ( rule__JvmParameterizedTypeReference__Group_1__1__Impl rule__JvmParameterizedTypeReference__Group_1__2 )
-            // InternalReportDSL.g:33961:2: rule__JvmParameterizedTypeReference__Group_1__1__Impl rule__JvmParameterizedTypeReference__Group_1__2
+            // InternalReportDSL.g:33670:1: ( rule__JvmParameterizedTypeReference__Group_1__1__Impl rule__JvmParameterizedTypeReference__Group_1__2 )
+            // InternalReportDSL.g:33671:2: rule__JvmParameterizedTypeReference__Group_1__1__Impl rule__JvmParameterizedTypeReference__Group_1__2
             {
-            pushFollow(FOLLOW_177);
+            pushFollow(FOLLOW_175);
             rule__JvmParameterizedTypeReference__Group_1__1__Impl();
 
             state._fsp--;
@@ -111287,23 +110168,23 @@
 
 
     // $ANTLR start "rule__JvmParameterizedTypeReference__Group_1__1__Impl"
-    // InternalReportDSL.g:33968:1: rule__JvmParameterizedTypeReference__Group_1__1__Impl : ( ( rule__JvmParameterizedTypeReference__ArgumentsAssignment_1_1 ) ) ;
+    // InternalReportDSL.g:33678:1: rule__JvmParameterizedTypeReference__Group_1__1__Impl : ( ( rule__JvmParameterizedTypeReference__ArgumentsAssignment_1_1 ) ) ;
     public final void rule__JvmParameterizedTypeReference__Group_1__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:33972:1: ( ( ( rule__JvmParameterizedTypeReference__ArgumentsAssignment_1_1 ) ) )
-            // InternalReportDSL.g:33973:1: ( ( rule__JvmParameterizedTypeReference__ArgumentsAssignment_1_1 ) )
+            // InternalReportDSL.g:33682:1: ( ( ( rule__JvmParameterizedTypeReference__ArgumentsAssignment_1_1 ) ) )
+            // InternalReportDSL.g:33683:1: ( ( rule__JvmParameterizedTypeReference__ArgumentsAssignment_1_1 ) )
             {
-            // InternalReportDSL.g:33973:1: ( ( rule__JvmParameterizedTypeReference__ArgumentsAssignment_1_1 ) )
-            // InternalReportDSL.g:33974:2: ( rule__JvmParameterizedTypeReference__ArgumentsAssignment_1_1 )
+            // InternalReportDSL.g:33683:1: ( ( rule__JvmParameterizedTypeReference__ArgumentsAssignment_1_1 ) )
+            // InternalReportDSL.g:33684:2: ( rule__JvmParameterizedTypeReference__ArgumentsAssignment_1_1 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getJvmParameterizedTypeReferenceAccess().getArgumentsAssignment_1_1()); 
             }
-            // InternalReportDSL.g:33975:2: ( rule__JvmParameterizedTypeReference__ArgumentsAssignment_1_1 )
-            // InternalReportDSL.g:33975:3: rule__JvmParameterizedTypeReference__ArgumentsAssignment_1_1
+            // InternalReportDSL.g:33685:2: ( rule__JvmParameterizedTypeReference__ArgumentsAssignment_1_1 )
+            // InternalReportDSL.g:33685:3: rule__JvmParameterizedTypeReference__ArgumentsAssignment_1_1
             {
             pushFollow(FOLLOW_2);
             rule__JvmParameterizedTypeReference__ArgumentsAssignment_1_1();
@@ -111338,16 +110219,16 @@
 
 
     // $ANTLR start "rule__JvmParameterizedTypeReference__Group_1__2"
-    // InternalReportDSL.g:33983:1: rule__JvmParameterizedTypeReference__Group_1__2 : rule__JvmParameterizedTypeReference__Group_1__2__Impl rule__JvmParameterizedTypeReference__Group_1__3 ;
+    // InternalReportDSL.g:33693:1: rule__JvmParameterizedTypeReference__Group_1__2 : rule__JvmParameterizedTypeReference__Group_1__2__Impl rule__JvmParameterizedTypeReference__Group_1__3 ;
     public final void rule__JvmParameterizedTypeReference__Group_1__2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:33987:1: ( rule__JvmParameterizedTypeReference__Group_1__2__Impl rule__JvmParameterizedTypeReference__Group_1__3 )
-            // InternalReportDSL.g:33988:2: rule__JvmParameterizedTypeReference__Group_1__2__Impl rule__JvmParameterizedTypeReference__Group_1__3
+            // InternalReportDSL.g:33697:1: ( rule__JvmParameterizedTypeReference__Group_1__2__Impl rule__JvmParameterizedTypeReference__Group_1__3 )
+            // InternalReportDSL.g:33698:2: rule__JvmParameterizedTypeReference__Group_1__2__Impl rule__JvmParameterizedTypeReference__Group_1__3
             {
-            pushFollow(FOLLOW_177);
+            pushFollow(FOLLOW_175);
             rule__JvmParameterizedTypeReference__Group_1__2__Impl();
 
             state._fsp--;
@@ -111376,37 +110257,37 @@
 
 
     // $ANTLR start "rule__JvmParameterizedTypeReference__Group_1__2__Impl"
-    // InternalReportDSL.g:33995:1: rule__JvmParameterizedTypeReference__Group_1__2__Impl : ( ( rule__JvmParameterizedTypeReference__Group_1_2__0 )* ) ;
+    // InternalReportDSL.g:33705:1: rule__JvmParameterizedTypeReference__Group_1__2__Impl : ( ( rule__JvmParameterizedTypeReference__Group_1_2__0 )* ) ;
     public final void rule__JvmParameterizedTypeReference__Group_1__2__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:33999:1: ( ( ( rule__JvmParameterizedTypeReference__Group_1_2__0 )* ) )
-            // InternalReportDSL.g:34000:1: ( ( rule__JvmParameterizedTypeReference__Group_1_2__0 )* )
+            // InternalReportDSL.g:33709:1: ( ( ( rule__JvmParameterizedTypeReference__Group_1_2__0 )* ) )
+            // InternalReportDSL.g:33710:1: ( ( rule__JvmParameterizedTypeReference__Group_1_2__0 )* )
             {
-            // InternalReportDSL.g:34000:1: ( ( rule__JvmParameterizedTypeReference__Group_1_2__0 )* )
-            // InternalReportDSL.g:34001:2: ( rule__JvmParameterizedTypeReference__Group_1_2__0 )*
+            // InternalReportDSL.g:33710:1: ( ( rule__JvmParameterizedTypeReference__Group_1_2__0 )* )
+            // InternalReportDSL.g:33711:2: ( rule__JvmParameterizedTypeReference__Group_1_2__0 )*
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getJvmParameterizedTypeReferenceAccess().getGroup_1_2()); 
             }
-            // InternalReportDSL.g:34002:2: ( rule__JvmParameterizedTypeReference__Group_1_2__0 )*
-            loop247:
+            // InternalReportDSL.g:33712:2: ( rule__JvmParameterizedTypeReference__Group_1_2__0 )*
+            loop229:
             do {
-                int alt247=2;
-                int LA247_0 = input.LA(1);
+                int alt229=2;
+                int LA229_0 = input.LA(1);
 
-                if ( (LA247_0==228) ) {
-                    alt247=1;
+                if ( (LA229_0==235) ) {
+                    alt229=1;
                 }
 
 
-                switch (alt247) {
+                switch (alt229) {
             	case 1 :
-            	    // InternalReportDSL.g:34002:3: rule__JvmParameterizedTypeReference__Group_1_2__0
+            	    // InternalReportDSL.g:33712:3: rule__JvmParameterizedTypeReference__Group_1_2__0
             	    {
-            	    pushFollow(FOLLOW_138);
+            	    pushFollow(FOLLOW_137);
             	    rule__JvmParameterizedTypeReference__Group_1_2__0();
 
             	    state._fsp--;
@@ -111416,7 +110297,7 @@
             	    break;
 
             	default :
-            	    break loop247;
+            	    break loop229;
                 }
             } while (true);
 
@@ -111445,16 +110326,16 @@
 
 
     // $ANTLR start "rule__JvmParameterizedTypeReference__Group_1__3"
-    // InternalReportDSL.g:34010:1: rule__JvmParameterizedTypeReference__Group_1__3 : rule__JvmParameterizedTypeReference__Group_1__3__Impl rule__JvmParameterizedTypeReference__Group_1__4 ;
+    // InternalReportDSL.g:33720:1: rule__JvmParameterizedTypeReference__Group_1__3 : rule__JvmParameterizedTypeReference__Group_1__3__Impl rule__JvmParameterizedTypeReference__Group_1__4 ;
     public final void rule__JvmParameterizedTypeReference__Group_1__3() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:34014:1: ( rule__JvmParameterizedTypeReference__Group_1__3__Impl rule__JvmParameterizedTypeReference__Group_1__4 )
-            // InternalReportDSL.g:34015:2: rule__JvmParameterizedTypeReference__Group_1__3__Impl rule__JvmParameterizedTypeReference__Group_1__4
+            // InternalReportDSL.g:33724:1: ( rule__JvmParameterizedTypeReference__Group_1__3__Impl rule__JvmParameterizedTypeReference__Group_1__4 )
+            // InternalReportDSL.g:33725:2: rule__JvmParameterizedTypeReference__Group_1__3__Impl rule__JvmParameterizedTypeReference__Group_1__4
             {
-            pushFollow(FOLLOW_214);
+            pushFollow(FOLLOW_212);
             rule__JvmParameterizedTypeReference__Group_1__3__Impl();
 
             state._fsp--;
@@ -111483,17 +110364,17 @@
 
 
     // $ANTLR start "rule__JvmParameterizedTypeReference__Group_1__3__Impl"
-    // InternalReportDSL.g:34022:1: rule__JvmParameterizedTypeReference__Group_1__3__Impl : ( '>' ) ;
+    // InternalReportDSL.g:33732:1: rule__JvmParameterizedTypeReference__Group_1__3__Impl : ( '>' ) ;
     public final void rule__JvmParameterizedTypeReference__Group_1__3__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:34026:1: ( ( '>' ) )
-            // InternalReportDSL.g:34027:1: ( '>' )
+            // InternalReportDSL.g:33736:1: ( ( '>' ) )
+            // InternalReportDSL.g:33737:1: ( '>' )
             {
-            // InternalReportDSL.g:34027:1: ( '>' )
-            // InternalReportDSL.g:34028:2: '>'
+            // InternalReportDSL.g:33737:1: ( '>' )
+            // InternalReportDSL.g:33738:2: '>'
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getJvmParameterizedTypeReferenceAccess().getGreaterThanSignKeyword_1_3()); 
@@ -111524,14 +110405,14 @@
 
 
     // $ANTLR start "rule__JvmParameterizedTypeReference__Group_1__4"
-    // InternalReportDSL.g:34037:1: rule__JvmParameterizedTypeReference__Group_1__4 : rule__JvmParameterizedTypeReference__Group_1__4__Impl ;
+    // InternalReportDSL.g:33747:1: rule__JvmParameterizedTypeReference__Group_1__4 : rule__JvmParameterizedTypeReference__Group_1__4__Impl ;
     public final void rule__JvmParameterizedTypeReference__Group_1__4() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:34041:1: ( rule__JvmParameterizedTypeReference__Group_1__4__Impl )
-            // InternalReportDSL.g:34042:2: rule__JvmParameterizedTypeReference__Group_1__4__Impl
+            // InternalReportDSL.g:33751:1: ( rule__JvmParameterizedTypeReference__Group_1__4__Impl )
+            // InternalReportDSL.g:33752:2: rule__JvmParameterizedTypeReference__Group_1__4__Impl
             {
             pushFollow(FOLLOW_2);
             rule__JvmParameterizedTypeReference__Group_1__4__Impl();
@@ -111557,35 +110438,35 @@
 
 
     // $ANTLR start "rule__JvmParameterizedTypeReference__Group_1__4__Impl"
-    // InternalReportDSL.g:34048:1: rule__JvmParameterizedTypeReference__Group_1__4__Impl : ( ( rule__JvmParameterizedTypeReference__Group_1_4__0 )* ) ;
+    // InternalReportDSL.g:33758:1: rule__JvmParameterizedTypeReference__Group_1__4__Impl : ( ( rule__JvmParameterizedTypeReference__Group_1_4__0 )* ) ;
     public final void rule__JvmParameterizedTypeReference__Group_1__4__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:34052:1: ( ( ( rule__JvmParameterizedTypeReference__Group_1_4__0 )* ) )
-            // InternalReportDSL.g:34053:1: ( ( rule__JvmParameterizedTypeReference__Group_1_4__0 )* )
+            // InternalReportDSL.g:33762:1: ( ( ( rule__JvmParameterizedTypeReference__Group_1_4__0 )* ) )
+            // InternalReportDSL.g:33763:1: ( ( rule__JvmParameterizedTypeReference__Group_1_4__0 )* )
             {
-            // InternalReportDSL.g:34053:1: ( ( rule__JvmParameterizedTypeReference__Group_1_4__0 )* )
-            // InternalReportDSL.g:34054:2: ( rule__JvmParameterizedTypeReference__Group_1_4__0 )*
+            // InternalReportDSL.g:33763:1: ( ( rule__JvmParameterizedTypeReference__Group_1_4__0 )* )
+            // InternalReportDSL.g:33764:2: ( rule__JvmParameterizedTypeReference__Group_1_4__0 )*
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getJvmParameterizedTypeReferenceAccess().getGroup_1_4()); 
             }
-            // InternalReportDSL.g:34055:2: ( rule__JvmParameterizedTypeReference__Group_1_4__0 )*
-            loop248:
+            // InternalReportDSL.g:33765:2: ( rule__JvmParameterizedTypeReference__Group_1_4__0 )*
+            loop230:
             do {
-                int alt248=2;
-                int LA248_0 = input.LA(1);
+                int alt230=2;
+                int LA230_0 = input.LA(1);
 
-                if ( (LA248_0==47) ) {
-                    int LA248_2 = input.LA(2);
+                if ( (LA230_0==47) ) {
+                    int LA230_2 = input.LA(2);
 
-                    if ( (LA248_2==RULE_ID) ) {
-                        int LA248_3 = input.LA(3);
+                    if ( (LA230_2==RULE_ID) ) {
+                        int LA230_3 = input.LA(3);
 
-                        if ( (synpred353_InternalReportDSL()) ) {
-                            alt248=1;
+                        if ( (synpred339_InternalReportDSL()) ) {
+                            alt230=1;
                         }
 
 
@@ -111595,11 +110476,11 @@
                 }
 
 
-                switch (alt248) {
+                switch (alt230) {
             	case 1 :
-            	    // InternalReportDSL.g:34055:3: rule__JvmParameterizedTypeReference__Group_1_4__0
+            	    // InternalReportDSL.g:33765:3: rule__JvmParameterizedTypeReference__Group_1_4__0
             	    {
-            	    pushFollow(FOLLOW_215);
+            	    pushFollow(FOLLOW_213);
             	    rule__JvmParameterizedTypeReference__Group_1_4__0();
 
             	    state._fsp--;
@@ -111609,7 +110490,7 @@
             	    break;
 
             	default :
-            	    break loop248;
+            	    break loop230;
                 }
             } while (true);
 
@@ -111638,16 +110519,16 @@
 
 
     // $ANTLR start "rule__JvmParameterizedTypeReference__Group_1_2__0"
-    // InternalReportDSL.g:34064:1: rule__JvmParameterizedTypeReference__Group_1_2__0 : rule__JvmParameterizedTypeReference__Group_1_2__0__Impl rule__JvmParameterizedTypeReference__Group_1_2__1 ;
+    // InternalReportDSL.g:33774:1: rule__JvmParameterizedTypeReference__Group_1_2__0 : rule__JvmParameterizedTypeReference__Group_1_2__0__Impl rule__JvmParameterizedTypeReference__Group_1_2__1 ;
     public final void rule__JvmParameterizedTypeReference__Group_1_2__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:34068:1: ( rule__JvmParameterizedTypeReference__Group_1_2__0__Impl rule__JvmParameterizedTypeReference__Group_1_2__1 )
-            // InternalReportDSL.g:34069:2: rule__JvmParameterizedTypeReference__Group_1_2__0__Impl rule__JvmParameterizedTypeReference__Group_1_2__1
+            // InternalReportDSL.g:33778:1: ( rule__JvmParameterizedTypeReference__Group_1_2__0__Impl rule__JvmParameterizedTypeReference__Group_1_2__1 )
+            // InternalReportDSL.g:33779:2: rule__JvmParameterizedTypeReference__Group_1_2__0__Impl rule__JvmParameterizedTypeReference__Group_1_2__1
             {
-            pushFollow(FOLLOW_176);
+            pushFollow(FOLLOW_174);
             rule__JvmParameterizedTypeReference__Group_1_2__0__Impl();
 
             state._fsp--;
@@ -111676,22 +110557,22 @@
 
 
     // $ANTLR start "rule__JvmParameterizedTypeReference__Group_1_2__0__Impl"
-    // InternalReportDSL.g:34076:1: rule__JvmParameterizedTypeReference__Group_1_2__0__Impl : ( ',' ) ;
+    // InternalReportDSL.g:33786:1: rule__JvmParameterizedTypeReference__Group_1_2__0__Impl : ( ',' ) ;
     public final void rule__JvmParameterizedTypeReference__Group_1_2__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:34080:1: ( ( ',' ) )
-            // InternalReportDSL.g:34081:1: ( ',' )
+            // InternalReportDSL.g:33790:1: ( ( ',' ) )
+            // InternalReportDSL.g:33791:1: ( ',' )
             {
-            // InternalReportDSL.g:34081:1: ( ',' )
-            // InternalReportDSL.g:34082:2: ','
+            // InternalReportDSL.g:33791:1: ( ',' )
+            // InternalReportDSL.g:33792:2: ','
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getJvmParameterizedTypeReferenceAccess().getCommaKeyword_1_2_0()); 
             }
-            match(input,228,FOLLOW_2); if (state.failed) return ;
+            match(input,235,FOLLOW_2); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getJvmParameterizedTypeReferenceAccess().getCommaKeyword_1_2_0()); 
             }
@@ -111717,14 +110598,14 @@
 
 
     // $ANTLR start "rule__JvmParameterizedTypeReference__Group_1_2__1"
-    // InternalReportDSL.g:34091:1: rule__JvmParameterizedTypeReference__Group_1_2__1 : rule__JvmParameterizedTypeReference__Group_1_2__1__Impl ;
+    // InternalReportDSL.g:33801:1: rule__JvmParameterizedTypeReference__Group_1_2__1 : rule__JvmParameterizedTypeReference__Group_1_2__1__Impl ;
     public final void rule__JvmParameterizedTypeReference__Group_1_2__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:34095:1: ( rule__JvmParameterizedTypeReference__Group_1_2__1__Impl )
-            // InternalReportDSL.g:34096:2: rule__JvmParameterizedTypeReference__Group_1_2__1__Impl
+            // InternalReportDSL.g:33805:1: ( rule__JvmParameterizedTypeReference__Group_1_2__1__Impl )
+            // InternalReportDSL.g:33806:2: rule__JvmParameterizedTypeReference__Group_1_2__1__Impl
             {
             pushFollow(FOLLOW_2);
             rule__JvmParameterizedTypeReference__Group_1_2__1__Impl();
@@ -111750,23 +110631,23 @@
 
 
     // $ANTLR start "rule__JvmParameterizedTypeReference__Group_1_2__1__Impl"
-    // InternalReportDSL.g:34102:1: rule__JvmParameterizedTypeReference__Group_1_2__1__Impl : ( ( rule__JvmParameterizedTypeReference__ArgumentsAssignment_1_2_1 ) ) ;
+    // InternalReportDSL.g:33812:1: rule__JvmParameterizedTypeReference__Group_1_2__1__Impl : ( ( rule__JvmParameterizedTypeReference__ArgumentsAssignment_1_2_1 ) ) ;
     public final void rule__JvmParameterizedTypeReference__Group_1_2__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:34106:1: ( ( ( rule__JvmParameterizedTypeReference__ArgumentsAssignment_1_2_1 ) ) )
-            // InternalReportDSL.g:34107:1: ( ( rule__JvmParameterizedTypeReference__ArgumentsAssignment_1_2_1 ) )
+            // InternalReportDSL.g:33816:1: ( ( ( rule__JvmParameterizedTypeReference__ArgumentsAssignment_1_2_1 ) ) )
+            // InternalReportDSL.g:33817:1: ( ( rule__JvmParameterizedTypeReference__ArgumentsAssignment_1_2_1 ) )
             {
-            // InternalReportDSL.g:34107:1: ( ( rule__JvmParameterizedTypeReference__ArgumentsAssignment_1_2_1 ) )
-            // InternalReportDSL.g:34108:2: ( rule__JvmParameterizedTypeReference__ArgumentsAssignment_1_2_1 )
+            // InternalReportDSL.g:33817:1: ( ( rule__JvmParameterizedTypeReference__ArgumentsAssignment_1_2_1 ) )
+            // InternalReportDSL.g:33818:2: ( rule__JvmParameterizedTypeReference__ArgumentsAssignment_1_2_1 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getJvmParameterizedTypeReferenceAccess().getArgumentsAssignment_1_2_1()); 
             }
-            // InternalReportDSL.g:34109:2: ( rule__JvmParameterizedTypeReference__ArgumentsAssignment_1_2_1 )
-            // InternalReportDSL.g:34109:3: rule__JvmParameterizedTypeReference__ArgumentsAssignment_1_2_1
+            // InternalReportDSL.g:33819:2: ( rule__JvmParameterizedTypeReference__ArgumentsAssignment_1_2_1 )
+            // InternalReportDSL.g:33819:3: rule__JvmParameterizedTypeReference__ArgumentsAssignment_1_2_1
             {
             pushFollow(FOLLOW_2);
             rule__JvmParameterizedTypeReference__ArgumentsAssignment_1_2_1();
@@ -111801,14 +110682,14 @@
 
 
     // $ANTLR start "rule__JvmParameterizedTypeReference__Group_1_4__0"
-    // InternalReportDSL.g:34118:1: rule__JvmParameterizedTypeReference__Group_1_4__0 : rule__JvmParameterizedTypeReference__Group_1_4__0__Impl rule__JvmParameterizedTypeReference__Group_1_4__1 ;
+    // InternalReportDSL.g:33828:1: rule__JvmParameterizedTypeReference__Group_1_4__0 : rule__JvmParameterizedTypeReference__Group_1_4__0__Impl rule__JvmParameterizedTypeReference__Group_1_4__1 ;
     public final void rule__JvmParameterizedTypeReference__Group_1_4__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:34122:1: ( rule__JvmParameterizedTypeReference__Group_1_4__0__Impl rule__JvmParameterizedTypeReference__Group_1_4__1 )
-            // InternalReportDSL.g:34123:2: rule__JvmParameterizedTypeReference__Group_1_4__0__Impl rule__JvmParameterizedTypeReference__Group_1_4__1
+            // InternalReportDSL.g:33832:1: ( rule__JvmParameterizedTypeReference__Group_1_4__0__Impl rule__JvmParameterizedTypeReference__Group_1_4__1 )
+            // InternalReportDSL.g:33833:2: rule__JvmParameterizedTypeReference__Group_1_4__0__Impl rule__JvmParameterizedTypeReference__Group_1_4__1
             {
             pushFollow(FOLLOW_7);
             rule__JvmParameterizedTypeReference__Group_1_4__0__Impl();
@@ -111839,23 +110720,23 @@
 
 
     // $ANTLR start "rule__JvmParameterizedTypeReference__Group_1_4__0__Impl"
-    // InternalReportDSL.g:34130:1: rule__JvmParameterizedTypeReference__Group_1_4__0__Impl : ( ( rule__JvmParameterizedTypeReference__Group_1_4_0__0 ) ) ;
+    // InternalReportDSL.g:33840:1: rule__JvmParameterizedTypeReference__Group_1_4__0__Impl : ( ( rule__JvmParameterizedTypeReference__Group_1_4_0__0 ) ) ;
     public final void rule__JvmParameterizedTypeReference__Group_1_4__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:34134:1: ( ( ( rule__JvmParameterizedTypeReference__Group_1_4_0__0 ) ) )
-            // InternalReportDSL.g:34135:1: ( ( rule__JvmParameterizedTypeReference__Group_1_4_0__0 ) )
+            // InternalReportDSL.g:33844:1: ( ( ( rule__JvmParameterizedTypeReference__Group_1_4_0__0 ) ) )
+            // InternalReportDSL.g:33845:1: ( ( rule__JvmParameterizedTypeReference__Group_1_4_0__0 ) )
             {
-            // InternalReportDSL.g:34135:1: ( ( rule__JvmParameterizedTypeReference__Group_1_4_0__0 ) )
-            // InternalReportDSL.g:34136:2: ( rule__JvmParameterizedTypeReference__Group_1_4_0__0 )
+            // InternalReportDSL.g:33845:1: ( ( rule__JvmParameterizedTypeReference__Group_1_4_0__0 ) )
+            // InternalReportDSL.g:33846:2: ( rule__JvmParameterizedTypeReference__Group_1_4_0__0 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getJvmParameterizedTypeReferenceAccess().getGroup_1_4_0()); 
             }
-            // InternalReportDSL.g:34137:2: ( rule__JvmParameterizedTypeReference__Group_1_4_0__0 )
-            // InternalReportDSL.g:34137:3: rule__JvmParameterizedTypeReference__Group_1_4_0__0
+            // InternalReportDSL.g:33847:2: ( rule__JvmParameterizedTypeReference__Group_1_4_0__0 )
+            // InternalReportDSL.g:33847:3: rule__JvmParameterizedTypeReference__Group_1_4_0__0
             {
             pushFollow(FOLLOW_2);
             rule__JvmParameterizedTypeReference__Group_1_4_0__0();
@@ -111890,16 +110771,16 @@
 
 
     // $ANTLR start "rule__JvmParameterizedTypeReference__Group_1_4__1"
-    // InternalReportDSL.g:34145:1: rule__JvmParameterizedTypeReference__Group_1_4__1 : rule__JvmParameterizedTypeReference__Group_1_4__1__Impl rule__JvmParameterizedTypeReference__Group_1_4__2 ;
+    // InternalReportDSL.g:33855:1: rule__JvmParameterizedTypeReference__Group_1_4__1 : rule__JvmParameterizedTypeReference__Group_1_4__1__Impl rule__JvmParameterizedTypeReference__Group_1_4__2 ;
     public final void rule__JvmParameterizedTypeReference__Group_1_4__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:34149:1: ( rule__JvmParameterizedTypeReference__Group_1_4__1__Impl rule__JvmParameterizedTypeReference__Group_1_4__2 )
-            // InternalReportDSL.g:34150:2: rule__JvmParameterizedTypeReference__Group_1_4__1__Impl rule__JvmParameterizedTypeReference__Group_1_4__2
+            // InternalReportDSL.g:33859:1: ( rule__JvmParameterizedTypeReference__Group_1_4__1__Impl rule__JvmParameterizedTypeReference__Group_1_4__2 )
+            // InternalReportDSL.g:33860:2: rule__JvmParameterizedTypeReference__Group_1_4__1__Impl rule__JvmParameterizedTypeReference__Group_1_4__2
             {
-            pushFollow(FOLLOW_146);
+            pushFollow(FOLLOW_145);
             rule__JvmParameterizedTypeReference__Group_1_4__1__Impl();
 
             state._fsp--;
@@ -111928,23 +110809,23 @@
 
 
     // $ANTLR start "rule__JvmParameterizedTypeReference__Group_1_4__1__Impl"
-    // InternalReportDSL.g:34157:1: rule__JvmParameterizedTypeReference__Group_1_4__1__Impl : ( ( rule__JvmParameterizedTypeReference__TypeAssignment_1_4_1 ) ) ;
+    // InternalReportDSL.g:33867:1: rule__JvmParameterizedTypeReference__Group_1_4__1__Impl : ( ( rule__JvmParameterizedTypeReference__TypeAssignment_1_4_1 ) ) ;
     public final void rule__JvmParameterizedTypeReference__Group_1_4__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:34161:1: ( ( ( rule__JvmParameterizedTypeReference__TypeAssignment_1_4_1 ) ) )
-            // InternalReportDSL.g:34162:1: ( ( rule__JvmParameterizedTypeReference__TypeAssignment_1_4_1 ) )
+            // InternalReportDSL.g:33871:1: ( ( ( rule__JvmParameterizedTypeReference__TypeAssignment_1_4_1 ) ) )
+            // InternalReportDSL.g:33872:1: ( ( rule__JvmParameterizedTypeReference__TypeAssignment_1_4_1 ) )
             {
-            // InternalReportDSL.g:34162:1: ( ( rule__JvmParameterizedTypeReference__TypeAssignment_1_4_1 ) )
-            // InternalReportDSL.g:34163:2: ( rule__JvmParameterizedTypeReference__TypeAssignment_1_4_1 )
+            // InternalReportDSL.g:33872:1: ( ( rule__JvmParameterizedTypeReference__TypeAssignment_1_4_1 ) )
+            // InternalReportDSL.g:33873:2: ( rule__JvmParameterizedTypeReference__TypeAssignment_1_4_1 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getJvmParameterizedTypeReferenceAccess().getTypeAssignment_1_4_1()); 
             }
-            // InternalReportDSL.g:34164:2: ( rule__JvmParameterizedTypeReference__TypeAssignment_1_4_1 )
-            // InternalReportDSL.g:34164:3: rule__JvmParameterizedTypeReference__TypeAssignment_1_4_1
+            // InternalReportDSL.g:33874:2: ( rule__JvmParameterizedTypeReference__TypeAssignment_1_4_1 )
+            // InternalReportDSL.g:33874:3: rule__JvmParameterizedTypeReference__TypeAssignment_1_4_1
             {
             pushFollow(FOLLOW_2);
             rule__JvmParameterizedTypeReference__TypeAssignment_1_4_1();
@@ -111979,14 +110860,14 @@
 
 
     // $ANTLR start "rule__JvmParameterizedTypeReference__Group_1_4__2"
-    // InternalReportDSL.g:34172:1: rule__JvmParameterizedTypeReference__Group_1_4__2 : rule__JvmParameterizedTypeReference__Group_1_4__2__Impl ;
+    // InternalReportDSL.g:33882:1: rule__JvmParameterizedTypeReference__Group_1_4__2 : rule__JvmParameterizedTypeReference__Group_1_4__2__Impl ;
     public final void rule__JvmParameterizedTypeReference__Group_1_4__2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:34176:1: ( rule__JvmParameterizedTypeReference__Group_1_4__2__Impl )
-            // InternalReportDSL.g:34177:2: rule__JvmParameterizedTypeReference__Group_1_4__2__Impl
+            // InternalReportDSL.g:33886:1: ( rule__JvmParameterizedTypeReference__Group_1_4__2__Impl )
+            // InternalReportDSL.g:33887:2: rule__JvmParameterizedTypeReference__Group_1_4__2__Impl
             {
             pushFollow(FOLLOW_2);
             rule__JvmParameterizedTypeReference__Group_1_4__2__Impl();
@@ -112012,27 +110893,27 @@
 
 
     // $ANTLR start "rule__JvmParameterizedTypeReference__Group_1_4__2__Impl"
-    // InternalReportDSL.g:34183:1: rule__JvmParameterizedTypeReference__Group_1_4__2__Impl : ( ( rule__JvmParameterizedTypeReference__Group_1_4_2__0 )? ) ;
+    // InternalReportDSL.g:33893:1: rule__JvmParameterizedTypeReference__Group_1_4__2__Impl : ( ( rule__JvmParameterizedTypeReference__Group_1_4_2__0 )? ) ;
     public final void rule__JvmParameterizedTypeReference__Group_1_4__2__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:34187:1: ( ( ( rule__JvmParameterizedTypeReference__Group_1_4_2__0 )? ) )
-            // InternalReportDSL.g:34188:1: ( ( rule__JvmParameterizedTypeReference__Group_1_4_2__0 )? )
+            // InternalReportDSL.g:33897:1: ( ( ( rule__JvmParameterizedTypeReference__Group_1_4_2__0 )? ) )
+            // InternalReportDSL.g:33898:1: ( ( rule__JvmParameterizedTypeReference__Group_1_4_2__0 )? )
             {
-            // InternalReportDSL.g:34188:1: ( ( rule__JvmParameterizedTypeReference__Group_1_4_2__0 )? )
-            // InternalReportDSL.g:34189:2: ( rule__JvmParameterizedTypeReference__Group_1_4_2__0 )?
+            // InternalReportDSL.g:33898:1: ( ( rule__JvmParameterizedTypeReference__Group_1_4_2__0 )? )
+            // InternalReportDSL.g:33899:2: ( rule__JvmParameterizedTypeReference__Group_1_4_2__0 )?
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getJvmParameterizedTypeReferenceAccess().getGroup_1_4_2()); 
             }
-            // InternalReportDSL.g:34190:2: ( rule__JvmParameterizedTypeReference__Group_1_4_2__0 )?
-            int alt249=2;
-            alt249 = dfa249.predict(input);
-            switch (alt249) {
+            // InternalReportDSL.g:33900:2: ( rule__JvmParameterizedTypeReference__Group_1_4_2__0 )?
+            int alt231=2;
+            alt231 = dfa231.predict(input);
+            switch (alt231) {
                 case 1 :
-                    // InternalReportDSL.g:34190:3: rule__JvmParameterizedTypeReference__Group_1_4_2__0
+                    // InternalReportDSL.g:33900:3: rule__JvmParameterizedTypeReference__Group_1_4_2__0
                     {
                     pushFollow(FOLLOW_2);
                     rule__JvmParameterizedTypeReference__Group_1_4_2__0();
@@ -112070,14 +110951,14 @@
 
 
     // $ANTLR start "rule__JvmParameterizedTypeReference__Group_1_4_0__0"
-    // InternalReportDSL.g:34199:1: rule__JvmParameterizedTypeReference__Group_1_4_0__0 : rule__JvmParameterizedTypeReference__Group_1_4_0__0__Impl ;
+    // InternalReportDSL.g:33909:1: rule__JvmParameterizedTypeReference__Group_1_4_0__0 : rule__JvmParameterizedTypeReference__Group_1_4_0__0__Impl ;
     public final void rule__JvmParameterizedTypeReference__Group_1_4_0__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:34203:1: ( rule__JvmParameterizedTypeReference__Group_1_4_0__0__Impl )
-            // InternalReportDSL.g:34204:2: rule__JvmParameterizedTypeReference__Group_1_4_0__0__Impl
+            // InternalReportDSL.g:33913:1: ( rule__JvmParameterizedTypeReference__Group_1_4_0__0__Impl )
+            // InternalReportDSL.g:33914:2: rule__JvmParameterizedTypeReference__Group_1_4_0__0__Impl
             {
             pushFollow(FOLLOW_2);
             rule__JvmParameterizedTypeReference__Group_1_4_0__0__Impl();
@@ -112103,23 +110984,23 @@
 
 
     // $ANTLR start "rule__JvmParameterizedTypeReference__Group_1_4_0__0__Impl"
-    // InternalReportDSL.g:34210:1: rule__JvmParameterizedTypeReference__Group_1_4_0__0__Impl : ( ( rule__JvmParameterizedTypeReference__Group_1_4_0_0__0 ) ) ;
+    // InternalReportDSL.g:33920:1: rule__JvmParameterizedTypeReference__Group_1_4_0__0__Impl : ( ( rule__JvmParameterizedTypeReference__Group_1_4_0_0__0 ) ) ;
     public final void rule__JvmParameterizedTypeReference__Group_1_4_0__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:34214:1: ( ( ( rule__JvmParameterizedTypeReference__Group_1_4_0_0__0 ) ) )
-            // InternalReportDSL.g:34215:1: ( ( rule__JvmParameterizedTypeReference__Group_1_4_0_0__0 ) )
+            // InternalReportDSL.g:33924:1: ( ( ( rule__JvmParameterizedTypeReference__Group_1_4_0_0__0 ) ) )
+            // InternalReportDSL.g:33925:1: ( ( rule__JvmParameterizedTypeReference__Group_1_4_0_0__0 ) )
             {
-            // InternalReportDSL.g:34215:1: ( ( rule__JvmParameterizedTypeReference__Group_1_4_0_0__0 ) )
-            // InternalReportDSL.g:34216:2: ( rule__JvmParameterizedTypeReference__Group_1_4_0_0__0 )
+            // InternalReportDSL.g:33925:1: ( ( rule__JvmParameterizedTypeReference__Group_1_4_0_0__0 ) )
+            // InternalReportDSL.g:33926:2: ( rule__JvmParameterizedTypeReference__Group_1_4_0_0__0 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getJvmParameterizedTypeReferenceAccess().getGroup_1_4_0_0()); 
             }
-            // InternalReportDSL.g:34217:2: ( rule__JvmParameterizedTypeReference__Group_1_4_0_0__0 )
-            // InternalReportDSL.g:34217:3: rule__JvmParameterizedTypeReference__Group_1_4_0_0__0
+            // InternalReportDSL.g:33927:2: ( rule__JvmParameterizedTypeReference__Group_1_4_0_0__0 )
+            // InternalReportDSL.g:33927:3: rule__JvmParameterizedTypeReference__Group_1_4_0_0__0
             {
             pushFollow(FOLLOW_2);
             rule__JvmParameterizedTypeReference__Group_1_4_0_0__0();
@@ -112154,16 +111035,16 @@
 
 
     // $ANTLR start "rule__JvmParameterizedTypeReference__Group_1_4_0_0__0"
-    // InternalReportDSL.g:34226:1: rule__JvmParameterizedTypeReference__Group_1_4_0_0__0 : rule__JvmParameterizedTypeReference__Group_1_4_0_0__0__Impl rule__JvmParameterizedTypeReference__Group_1_4_0_0__1 ;
+    // InternalReportDSL.g:33936:1: rule__JvmParameterizedTypeReference__Group_1_4_0_0__0 : rule__JvmParameterizedTypeReference__Group_1_4_0_0__0__Impl rule__JvmParameterizedTypeReference__Group_1_4_0_0__1 ;
     public final void rule__JvmParameterizedTypeReference__Group_1_4_0_0__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:34230:1: ( rule__JvmParameterizedTypeReference__Group_1_4_0_0__0__Impl rule__JvmParameterizedTypeReference__Group_1_4_0_0__1 )
-            // InternalReportDSL.g:34231:2: rule__JvmParameterizedTypeReference__Group_1_4_0_0__0__Impl rule__JvmParameterizedTypeReference__Group_1_4_0_0__1
+            // InternalReportDSL.g:33940:1: ( rule__JvmParameterizedTypeReference__Group_1_4_0_0__0__Impl rule__JvmParameterizedTypeReference__Group_1_4_0_0__1 )
+            // InternalReportDSL.g:33941:2: rule__JvmParameterizedTypeReference__Group_1_4_0_0__0__Impl rule__JvmParameterizedTypeReference__Group_1_4_0_0__1
             {
-            pushFollow(FOLLOW_214);
+            pushFollow(FOLLOW_212);
             rule__JvmParameterizedTypeReference__Group_1_4_0_0__0__Impl();
 
             state._fsp--;
@@ -112192,23 +111073,23 @@
 
 
     // $ANTLR start "rule__JvmParameterizedTypeReference__Group_1_4_0_0__0__Impl"
-    // InternalReportDSL.g:34238:1: rule__JvmParameterizedTypeReference__Group_1_4_0_0__0__Impl : ( () ) ;
+    // InternalReportDSL.g:33948:1: rule__JvmParameterizedTypeReference__Group_1_4_0_0__0__Impl : ( () ) ;
     public final void rule__JvmParameterizedTypeReference__Group_1_4_0_0__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:34242:1: ( ( () ) )
-            // InternalReportDSL.g:34243:1: ( () )
+            // InternalReportDSL.g:33952:1: ( ( () ) )
+            // InternalReportDSL.g:33953:1: ( () )
             {
-            // InternalReportDSL.g:34243:1: ( () )
-            // InternalReportDSL.g:34244:2: ()
+            // InternalReportDSL.g:33953:1: ( () )
+            // InternalReportDSL.g:33954:2: ()
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getJvmParameterizedTypeReferenceAccess().getJvmInnerTypeReferenceOuterAction_1_4_0_0_0()); 
             }
-            // InternalReportDSL.g:34245:2: ()
-            // InternalReportDSL.g:34245:3: 
+            // InternalReportDSL.g:33955:2: ()
+            // InternalReportDSL.g:33955:3: 
             {
             }
 
@@ -112233,14 +111114,14 @@
 
 
     // $ANTLR start "rule__JvmParameterizedTypeReference__Group_1_4_0_0__1"
-    // InternalReportDSL.g:34253:1: rule__JvmParameterizedTypeReference__Group_1_4_0_0__1 : rule__JvmParameterizedTypeReference__Group_1_4_0_0__1__Impl ;
+    // InternalReportDSL.g:33963:1: rule__JvmParameterizedTypeReference__Group_1_4_0_0__1 : rule__JvmParameterizedTypeReference__Group_1_4_0_0__1__Impl ;
     public final void rule__JvmParameterizedTypeReference__Group_1_4_0_0__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:34257:1: ( rule__JvmParameterizedTypeReference__Group_1_4_0_0__1__Impl )
-            // InternalReportDSL.g:34258:2: rule__JvmParameterizedTypeReference__Group_1_4_0_0__1__Impl
+            // InternalReportDSL.g:33967:1: ( rule__JvmParameterizedTypeReference__Group_1_4_0_0__1__Impl )
+            // InternalReportDSL.g:33968:2: rule__JvmParameterizedTypeReference__Group_1_4_0_0__1__Impl
             {
             pushFollow(FOLLOW_2);
             rule__JvmParameterizedTypeReference__Group_1_4_0_0__1__Impl();
@@ -112266,17 +111147,17 @@
 
 
     // $ANTLR start "rule__JvmParameterizedTypeReference__Group_1_4_0_0__1__Impl"
-    // InternalReportDSL.g:34264:1: rule__JvmParameterizedTypeReference__Group_1_4_0_0__1__Impl : ( '.' ) ;
+    // InternalReportDSL.g:33974:1: rule__JvmParameterizedTypeReference__Group_1_4_0_0__1__Impl : ( '.' ) ;
     public final void rule__JvmParameterizedTypeReference__Group_1_4_0_0__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:34268:1: ( ( '.' ) )
-            // InternalReportDSL.g:34269:1: ( '.' )
+            // InternalReportDSL.g:33978:1: ( ( '.' ) )
+            // InternalReportDSL.g:33979:1: ( '.' )
             {
-            // InternalReportDSL.g:34269:1: ( '.' )
-            // InternalReportDSL.g:34270:2: '.'
+            // InternalReportDSL.g:33979:1: ( '.' )
+            // InternalReportDSL.g:33980:2: '.'
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getJvmParameterizedTypeReferenceAccess().getFullStopKeyword_1_4_0_0_1()); 
@@ -112307,16 +111188,16 @@
 
 
     // $ANTLR start "rule__JvmParameterizedTypeReference__Group_1_4_2__0"
-    // InternalReportDSL.g:34280:1: rule__JvmParameterizedTypeReference__Group_1_4_2__0 : rule__JvmParameterizedTypeReference__Group_1_4_2__0__Impl rule__JvmParameterizedTypeReference__Group_1_4_2__1 ;
+    // InternalReportDSL.g:33990:1: rule__JvmParameterizedTypeReference__Group_1_4_2__0 : rule__JvmParameterizedTypeReference__Group_1_4_2__0__Impl rule__JvmParameterizedTypeReference__Group_1_4_2__1 ;
     public final void rule__JvmParameterizedTypeReference__Group_1_4_2__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:34284:1: ( rule__JvmParameterizedTypeReference__Group_1_4_2__0__Impl rule__JvmParameterizedTypeReference__Group_1_4_2__1 )
-            // InternalReportDSL.g:34285:2: rule__JvmParameterizedTypeReference__Group_1_4_2__0__Impl rule__JvmParameterizedTypeReference__Group_1_4_2__1
+            // InternalReportDSL.g:33994:1: ( rule__JvmParameterizedTypeReference__Group_1_4_2__0__Impl rule__JvmParameterizedTypeReference__Group_1_4_2__1 )
+            // InternalReportDSL.g:33995:2: rule__JvmParameterizedTypeReference__Group_1_4_2__0__Impl rule__JvmParameterizedTypeReference__Group_1_4_2__1
             {
-            pushFollow(FOLLOW_176);
+            pushFollow(FOLLOW_174);
             rule__JvmParameterizedTypeReference__Group_1_4_2__0__Impl();
 
             state._fsp--;
@@ -112345,23 +111226,23 @@
 
 
     // $ANTLR start "rule__JvmParameterizedTypeReference__Group_1_4_2__0__Impl"
-    // InternalReportDSL.g:34292:1: rule__JvmParameterizedTypeReference__Group_1_4_2__0__Impl : ( ( '<' ) ) ;
+    // InternalReportDSL.g:34002:1: rule__JvmParameterizedTypeReference__Group_1_4_2__0__Impl : ( ( '<' ) ) ;
     public final void rule__JvmParameterizedTypeReference__Group_1_4_2__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:34296:1: ( ( ( '<' ) ) )
-            // InternalReportDSL.g:34297:1: ( ( '<' ) )
+            // InternalReportDSL.g:34006:1: ( ( ( '<' ) ) )
+            // InternalReportDSL.g:34007:1: ( ( '<' ) )
             {
-            // InternalReportDSL.g:34297:1: ( ( '<' ) )
-            // InternalReportDSL.g:34298:2: ( '<' )
+            // InternalReportDSL.g:34007:1: ( ( '<' ) )
+            // InternalReportDSL.g:34008:2: ( '<' )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getJvmParameterizedTypeReferenceAccess().getLessThanSignKeyword_1_4_2_0()); 
             }
-            // InternalReportDSL.g:34299:2: ( '<' )
-            // InternalReportDSL.g:34299:3: '<'
+            // InternalReportDSL.g:34009:2: ( '<' )
+            // InternalReportDSL.g:34009:3: '<'
             {
             match(input,31,FOLLOW_2); if (state.failed) return ;
 
@@ -112392,16 +111273,16 @@
 
 
     // $ANTLR start "rule__JvmParameterizedTypeReference__Group_1_4_2__1"
-    // InternalReportDSL.g:34307:1: rule__JvmParameterizedTypeReference__Group_1_4_2__1 : rule__JvmParameterizedTypeReference__Group_1_4_2__1__Impl rule__JvmParameterizedTypeReference__Group_1_4_2__2 ;
+    // InternalReportDSL.g:34017:1: rule__JvmParameterizedTypeReference__Group_1_4_2__1 : rule__JvmParameterizedTypeReference__Group_1_4_2__1__Impl rule__JvmParameterizedTypeReference__Group_1_4_2__2 ;
     public final void rule__JvmParameterizedTypeReference__Group_1_4_2__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:34311:1: ( rule__JvmParameterizedTypeReference__Group_1_4_2__1__Impl rule__JvmParameterizedTypeReference__Group_1_4_2__2 )
-            // InternalReportDSL.g:34312:2: rule__JvmParameterizedTypeReference__Group_1_4_2__1__Impl rule__JvmParameterizedTypeReference__Group_1_4_2__2
+            // InternalReportDSL.g:34021:1: ( rule__JvmParameterizedTypeReference__Group_1_4_2__1__Impl rule__JvmParameterizedTypeReference__Group_1_4_2__2 )
+            // InternalReportDSL.g:34022:2: rule__JvmParameterizedTypeReference__Group_1_4_2__1__Impl rule__JvmParameterizedTypeReference__Group_1_4_2__2
             {
-            pushFollow(FOLLOW_177);
+            pushFollow(FOLLOW_175);
             rule__JvmParameterizedTypeReference__Group_1_4_2__1__Impl();
 
             state._fsp--;
@@ -112430,23 +111311,23 @@
 
 
     // $ANTLR start "rule__JvmParameterizedTypeReference__Group_1_4_2__1__Impl"
-    // InternalReportDSL.g:34319:1: rule__JvmParameterizedTypeReference__Group_1_4_2__1__Impl : ( ( rule__JvmParameterizedTypeReference__ArgumentsAssignment_1_4_2_1 ) ) ;
+    // InternalReportDSL.g:34029:1: rule__JvmParameterizedTypeReference__Group_1_4_2__1__Impl : ( ( rule__JvmParameterizedTypeReference__ArgumentsAssignment_1_4_2_1 ) ) ;
     public final void rule__JvmParameterizedTypeReference__Group_1_4_2__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:34323:1: ( ( ( rule__JvmParameterizedTypeReference__ArgumentsAssignment_1_4_2_1 ) ) )
-            // InternalReportDSL.g:34324:1: ( ( rule__JvmParameterizedTypeReference__ArgumentsAssignment_1_4_2_1 ) )
+            // InternalReportDSL.g:34033:1: ( ( ( rule__JvmParameterizedTypeReference__ArgumentsAssignment_1_4_2_1 ) ) )
+            // InternalReportDSL.g:34034:1: ( ( rule__JvmParameterizedTypeReference__ArgumentsAssignment_1_4_2_1 ) )
             {
-            // InternalReportDSL.g:34324:1: ( ( rule__JvmParameterizedTypeReference__ArgumentsAssignment_1_4_2_1 ) )
-            // InternalReportDSL.g:34325:2: ( rule__JvmParameterizedTypeReference__ArgumentsAssignment_1_4_2_1 )
+            // InternalReportDSL.g:34034:1: ( ( rule__JvmParameterizedTypeReference__ArgumentsAssignment_1_4_2_1 ) )
+            // InternalReportDSL.g:34035:2: ( rule__JvmParameterizedTypeReference__ArgumentsAssignment_1_4_2_1 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getJvmParameterizedTypeReferenceAccess().getArgumentsAssignment_1_4_2_1()); 
             }
-            // InternalReportDSL.g:34326:2: ( rule__JvmParameterizedTypeReference__ArgumentsAssignment_1_4_2_1 )
-            // InternalReportDSL.g:34326:3: rule__JvmParameterizedTypeReference__ArgumentsAssignment_1_4_2_1
+            // InternalReportDSL.g:34036:2: ( rule__JvmParameterizedTypeReference__ArgumentsAssignment_1_4_2_1 )
+            // InternalReportDSL.g:34036:3: rule__JvmParameterizedTypeReference__ArgumentsAssignment_1_4_2_1
             {
             pushFollow(FOLLOW_2);
             rule__JvmParameterizedTypeReference__ArgumentsAssignment_1_4_2_1();
@@ -112481,16 +111362,16 @@
 
 
     // $ANTLR start "rule__JvmParameterizedTypeReference__Group_1_4_2__2"
-    // InternalReportDSL.g:34334:1: rule__JvmParameterizedTypeReference__Group_1_4_2__2 : rule__JvmParameterizedTypeReference__Group_1_4_2__2__Impl rule__JvmParameterizedTypeReference__Group_1_4_2__3 ;
+    // InternalReportDSL.g:34044:1: rule__JvmParameterizedTypeReference__Group_1_4_2__2 : rule__JvmParameterizedTypeReference__Group_1_4_2__2__Impl rule__JvmParameterizedTypeReference__Group_1_4_2__3 ;
     public final void rule__JvmParameterizedTypeReference__Group_1_4_2__2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:34338:1: ( rule__JvmParameterizedTypeReference__Group_1_4_2__2__Impl rule__JvmParameterizedTypeReference__Group_1_4_2__3 )
-            // InternalReportDSL.g:34339:2: rule__JvmParameterizedTypeReference__Group_1_4_2__2__Impl rule__JvmParameterizedTypeReference__Group_1_4_2__3
+            // InternalReportDSL.g:34048:1: ( rule__JvmParameterizedTypeReference__Group_1_4_2__2__Impl rule__JvmParameterizedTypeReference__Group_1_4_2__3 )
+            // InternalReportDSL.g:34049:2: rule__JvmParameterizedTypeReference__Group_1_4_2__2__Impl rule__JvmParameterizedTypeReference__Group_1_4_2__3
             {
-            pushFollow(FOLLOW_177);
+            pushFollow(FOLLOW_175);
             rule__JvmParameterizedTypeReference__Group_1_4_2__2__Impl();
 
             state._fsp--;
@@ -112519,37 +111400,37 @@
 
 
     // $ANTLR start "rule__JvmParameterizedTypeReference__Group_1_4_2__2__Impl"
-    // InternalReportDSL.g:34346:1: rule__JvmParameterizedTypeReference__Group_1_4_2__2__Impl : ( ( rule__JvmParameterizedTypeReference__Group_1_4_2_2__0 )* ) ;
+    // InternalReportDSL.g:34056:1: rule__JvmParameterizedTypeReference__Group_1_4_2__2__Impl : ( ( rule__JvmParameterizedTypeReference__Group_1_4_2_2__0 )* ) ;
     public final void rule__JvmParameterizedTypeReference__Group_1_4_2__2__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:34350:1: ( ( ( rule__JvmParameterizedTypeReference__Group_1_4_2_2__0 )* ) )
-            // InternalReportDSL.g:34351:1: ( ( rule__JvmParameterizedTypeReference__Group_1_4_2_2__0 )* )
+            // InternalReportDSL.g:34060:1: ( ( ( rule__JvmParameterizedTypeReference__Group_1_4_2_2__0 )* ) )
+            // InternalReportDSL.g:34061:1: ( ( rule__JvmParameterizedTypeReference__Group_1_4_2_2__0 )* )
             {
-            // InternalReportDSL.g:34351:1: ( ( rule__JvmParameterizedTypeReference__Group_1_4_2_2__0 )* )
-            // InternalReportDSL.g:34352:2: ( rule__JvmParameterizedTypeReference__Group_1_4_2_2__0 )*
+            // InternalReportDSL.g:34061:1: ( ( rule__JvmParameterizedTypeReference__Group_1_4_2_2__0 )* )
+            // InternalReportDSL.g:34062:2: ( rule__JvmParameterizedTypeReference__Group_1_4_2_2__0 )*
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getJvmParameterizedTypeReferenceAccess().getGroup_1_4_2_2()); 
             }
-            // InternalReportDSL.g:34353:2: ( rule__JvmParameterizedTypeReference__Group_1_4_2_2__0 )*
-            loop250:
+            // InternalReportDSL.g:34063:2: ( rule__JvmParameterizedTypeReference__Group_1_4_2_2__0 )*
+            loop232:
             do {
-                int alt250=2;
-                int LA250_0 = input.LA(1);
+                int alt232=2;
+                int LA232_0 = input.LA(1);
 
-                if ( (LA250_0==228) ) {
-                    alt250=1;
+                if ( (LA232_0==235) ) {
+                    alt232=1;
                 }
 
 
-                switch (alt250) {
+                switch (alt232) {
             	case 1 :
-            	    // InternalReportDSL.g:34353:3: rule__JvmParameterizedTypeReference__Group_1_4_2_2__0
+            	    // InternalReportDSL.g:34063:3: rule__JvmParameterizedTypeReference__Group_1_4_2_2__0
             	    {
-            	    pushFollow(FOLLOW_138);
+            	    pushFollow(FOLLOW_137);
             	    rule__JvmParameterizedTypeReference__Group_1_4_2_2__0();
 
             	    state._fsp--;
@@ -112559,7 +111440,7 @@
             	    break;
 
             	default :
-            	    break loop250;
+            	    break loop232;
                 }
             } while (true);
 
@@ -112588,14 +111469,14 @@
 
 
     // $ANTLR start "rule__JvmParameterizedTypeReference__Group_1_4_2__3"
-    // InternalReportDSL.g:34361:1: rule__JvmParameterizedTypeReference__Group_1_4_2__3 : rule__JvmParameterizedTypeReference__Group_1_4_2__3__Impl ;
+    // InternalReportDSL.g:34071:1: rule__JvmParameterizedTypeReference__Group_1_4_2__3 : rule__JvmParameterizedTypeReference__Group_1_4_2__3__Impl ;
     public final void rule__JvmParameterizedTypeReference__Group_1_4_2__3() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:34365:1: ( rule__JvmParameterizedTypeReference__Group_1_4_2__3__Impl )
-            // InternalReportDSL.g:34366:2: rule__JvmParameterizedTypeReference__Group_1_4_2__3__Impl
+            // InternalReportDSL.g:34075:1: ( rule__JvmParameterizedTypeReference__Group_1_4_2__3__Impl )
+            // InternalReportDSL.g:34076:2: rule__JvmParameterizedTypeReference__Group_1_4_2__3__Impl
             {
             pushFollow(FOLLOW_2);
             rule__JvmParameterizedTypeReference__Group_1_4_2__3__Impl();
@@ -112621,17 +111502,17 @@
 
 
     // $ANTLR start "rule__JvmParameterizedTypeReference__Group_1_4_2__3__Impl"
-    // InternalReportDSL.g:34372:1: rule__JvmParameterizedTypeReference__Group_1_4_2__3__Impl : ( '>' ) ;
+    // InternalReportDSL.g:34082:1: rule__JvmParameterizedTypeReference__Group_1_4_2__3__Impl : ( '>' ) ;
     public final void rule__JvmParameterizedTypeReference__Group_1_4_2__3__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:34376:1: ( ( '>' ) )
-            // InternalReportDSL.g:34377:1: ( '>' )
+            // InternalReportDSL.g:34086:1: ( ( '>' ) )
+            // InternalReportDSL.g:34087:1: ( '>' )
             {
-            // InternalReportDSL.g:34377:1: ( '>' )
-            // InternalReportDSL.g:34378:2: '>'
+            // InternalReportDSL.g:34087:1: ( '>' )
+            // InternalReportDSL.g:34088:2: '>'
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getJvmParameterizedTypeReferenceAccess().getGreaterThanSignKeyword_1_4_2_3()); 
@@ -112662,16 +111543,16 @@
 
 
     // $ANTLR start "rule__JvmParameterizedTypeReference__Group_1_4_2_2__0"
-    // InternalReportDSL.g:34388:1: rule__JvmParameterizedTypeReference__Group_1_4_2_2__0 : rule__JvmParameterizedTypeReference__Group_1_4_2_2__0__Impl rule__JvmParameterizedTypeReference__Group_1_4_2_2__1 ;
+    // InternalReportDSL.g:34098:1: rule__JvmParameterizedTypeReference__Group_1_4_2_2__0 : rule__JvmParameterizedTypeReference__Group_1_4_2_2__0__Impl rule__JvmParameterizedTypeReference__Group_1_4_2_2__1 ;
     public final void rule__JvmParameterizedTypeReference__Group_1_4_2_2__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:34392:1: ( rule__JvmParameterizedTypeReference__Group_1_4_2_2__0__Impl rule__JvmParameterizedTypeReference__Group_1_4_2_2__1 )
-            // InternalReportDSL.g:34393:2: rule__JvmParameterizedTypeReference__Group_1_4_2_2__0__Impl rule__JvmParameterizedTypeReference__Group_1_4_2_2__1
+            // InternalReportDSL.g:34102:1: ( rule__JvmParameterizedTypeReference__Group_1_4_2_2__0__Impl rule__JvmParameterizedTypeReference__Group_1_4_2_2__1 )
+            // InternalReportDSL.g:34103:2: rule__JvmParameterizedTypeReference__Group_1_4_2_2__0__Impl rule__JvmParameterizedTypeReference__Group_1_4_2_2__1
             {
-            pushFollow(FOLLOW_176);
+            pushFollow(FOLLOW_174);
             rule__JvmParameterizedTypeReference__Group_1_4_2_2__0__Impl();
 
             state._fsp--;
@@ -112700,22 +111581,22 @@
 
 
     // $ANTLR start "rule__JvmParameterizedTypeReference__Group_1_4_2_2__0__Impl"
-    // InternalReportDSL.g:34400:1: rule__JvmParameterizedTypeReference__Group_1_4_2_2__0__Impl : ( ',' ) ;
+    // InternalReportDSL.g:34110:1: rule__JvmParameterizedTypeReference__Group_1_4_2_2__0__Impl : ( ',' ) ;
     public final void rule__JvmParameterizedTypeReference__Group_1_4_2_2__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:34404:1: ( ( ',' ) )
-            // InternalReportDSL.g:34405:1: ( ',' )
+            // InternalReportDSL.g:34114:1: ( ( ',' ) )
+            // InternalReportDSL.g:34115:1: ( ',' )
             {
-            // InternalReportDSL.g:34405:1: ( ',' )
-            // InternalReportDSL.g:34406:2: ','
+            // InternalReportDSL.g:34115:1: ( ',' )
+            // InternalReportDSL.g:34116:2: ','
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getJvmParameterizedTypeReferenceAccess().getCommaKeyword_1_4_2_2_0()); 
             }
-            match(input,228,FOLLOW_2); if (state.failed) return ;
+            match(input,235,FOLLOW_2); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getJvmParameterizedTypeReferenceAccess().getCommaKeyword_1_4_2_2_0()); 
             }
@@ -112741,14 +111622,14 @@
 
 
     // $ANTLR start "rule__JvmParameterizedTypeReference__Group_1_4_2_2__1"
-    // InternalReportDSL.g:34415:1: rule__JvmParameterizedTypeReference__Group_1_4_2_2__1 : rule__JvmParameterizedTypeReference__Group_1_4_2_2__1__Impl ;
+    // InternalReportDSL.g:34125:1: rule__JvmParameterizedTypeReference__Group_1_4_2_2__1 : rule__JvmParameterizedTypeReference__Group_1_4_2_2__1__Impl ;
     public final void rule__JvmParameterizedTypeReference__Group_1_4_2_2__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:34419:1: ( rule__JvmParameterizedTypeReference__Group_1_4_2_2__1__Impl )
-            // InternalReportDSL.g:34420:2: rule__JvmParameterizedTypeReference__Group_1_4_2_2__1__Impl
+            // InternalReportDSL.g:34129:1: ( rule__JvmParameterizedTypeReference__Group_1_4_2_2__1__Impl )
+            // InternalReportDSL.g:34130:2: rule__JvmParameterizedTypeReference__Group_1_4_2_2__1__Impl
             {
             pushFollow(FOLLOW_2);
             rule__JvmParameterizedTypeReference__Group_1_4_2_2__1__Impl();
@@ -112774,23 +111655,23 @@
 
 
     // $ANTLR start "rule__JvmParameterizedTypeReference__Group_1_4_2_2__1__Impl"
-    // InternalReportDSL.g:34426:1: rule__JvmParameterizedTypeReference__Group_1_4_2_2__1__Impl : ( ( rule__JvmParameterizedTypeReference__ArgumentsAssignment_1_4_2_2_1 ) ) ;
+    // InternalReportDSL.g:34136:1: rule__JvmParameterizedTypeReference__Group_1_4_2_2__1__Impl : ( ( rule__JvmParameterizedTypeReference__ArgumentsAssignment_1_4_2_2_1 ) ) ;
     public final void rule__JvmParameterizedTypeReference__Group_1_4_2_2__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:34430:1: ( ( ( rule__JvmParameterizedTypeReference__ArgumentsAssignment_1_4_2_2_1 ) ) )
-            // InternalReportDSL.g:34431:1: ( ( rule__JvmParameterizedTypeReference__ArgumentsAssignment_1_4_2_2_1 ) )
+            // InternalReportDSL.g:34140:1: ( ( ( rule__JvmParameterizedTypeReference__ArgumentsAssignment_1_4_2_2_1 ) ) )
+            // InternalReportDSL.g:34141:1: ( ( rule__JvmParameterizedTypeReference__ArgumentsAssignment_1_4_2_2_1 ) )
             {
-            // InternalReportDSL.g:34431:1: ( ( rule__JvmParameterizedTypeReference__ArgumentsAssignment_1_4_2_2_1 ) )
-            // InternalReportDSL.g:34432:2: ( rule__JvmParameterizedTypeReference__ArgumentsAssignment_1_4_2_2_1 )
+            // InternalReportDSL.g:34141:1: ( ( rule__JvmParameterizedTypeReference__ArgumentsAssignment_1_4_2_2_1 ) )
+            // InternalReportDSL.g:34142:2: ( rule__JvmParameterizedTypeReference__ArgumentsAssignment_1_4_2_2_1 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getJvmParameterizedTypeReferenceAccess().getArgumentsAssignment_1_4_2_2_1()); 
             }
-            // InternalReportDSL.g:34433:2: ( rule__JvmParameterizedTypeReference__ArgumentsAssignment_1_4_2_2_1 )
-            // InternalReportDSL.g:34433:3: rule__JvmParameterizedTypeReference__ArgumentsAssignment_1_4_2_2_1
+            // InternalReportDSL.g:34143:2: ( rule__JvmParameterizedTypeReference__ArgumentsAssignment_1_4_2_2_1 )
+            // InternalReportDSL.g:34143:3: rule__JvmParameterizedTypeReference__ArgumentsAssignment_1_4_2_2_1
             {
             pushFollow(FOLLOW_2);
             rule__JvmParameterizedTypeReference__ArgumentsAssignment_1_4_2_2_1();
@@ -112825,16 +111706,16 @@
 
 
     // $ANTLR start "rule__JvmWildcardTypeReference__Group__0"
-    // InternalReportDSL.g:34442:1: rule__JvmWildcardTypeReference__Group__0 : rule__JvmWildcardTypeReference__Group__0__Impl rule__JvmWildcardTypeReference__Group__1 ;
+    // InternalReportDSL.g:34152:1: rule__JvmWildcardTypeReference__Group__0 : rule__JvmWildcardTypeReference__Group__0__Impl rule__JvmWildcardTypeReference__Group__1 ;
     public final void rule__JvmWildcardTypeReference__Group__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:34446:1: ( rule__JvmWildcardTypeReference__Group__0__Impl rule__JvmWildcardTypeReference__Group__1 )
-            // InternalReportDSL.g:34447:2: rule__JvmWildcardTypeReference__Group__0__Impl rule__JvmWildcardTypeReference__Group__1
+            // InternalReportDSL.g:34156:1: ( rule__JvmWildcardTypeReference__Group__0__Impl rule__JvmWildcardTypeReference__Group__1 )
+            // InternalReportDSL.g:34157:2: rule__JvmWildcardTypeReference__Group__0__Impl rule__JvmWildcardTypeReference__Group__1
             {
-            pushFollow(FOLLOW_176);
+            pushFollow(FOLLOW_174);
             rule__JvmWildcardTypeReference__Group__0__Impl();
 
             state._fsp--;
@@ -112863,23 +111744,23 @@
 
 
     // $ANTLR start "rule__JvmWildcardTypeReference__Group__0__Impl"
-    // InternalReportDSL.g:34454:1: rule__JvmWildcardTypeReference__Group__0__Impl : ( () ) ;
+    // InternalReportDSL.g:34164:1: rule__JvmWildcardTypeReference__Group__0__Impl : ( () ) ;
     public final void rule__JvmWildcardTypeReference__Group__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:34458:1: ( ( () ) )
-            // InternalReportDSL.g:34459:1: ( () )
+            // InternalReportDSL.g:34168:1: ( ( () ) )
+            // InternalReportDSL.g:34169:1: ( () )
             {
-            // InternalReportDSL.g:34459:1: ( () )
-            // InternalReportDSL.g:34460:2: ()
+            // InternalReportDSL.g:34169:1: ( () )
+            // InternalReportDSL.g:34170:2: ()
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getJvmWildcardTypeReferenceAccess().getJvmWildcardTypeReferenceAction_0()); 
             }
-            // InternalReportDSL.g:34461:2: ()
-            // InternalReportDSL.g:34461:3: 
+            // InternalReportDSL.g:34171:2: ()
+            // InternalReportDSL.g:34171:3: 
             {
             }
 
@@ -112904,16 +111785,16 @@
 
 
     // $ANTLR start "rule__JvmWildcardTypeReference__Group__1"
-    // InternalReportDSL.g:34469:1: rule__JvmWildcardTypeReference__Group__1 : rule__JvmWildcardTypeReference__Group__1__Impl rule__JvmWildcardTypeReference__Group__2 ;
+    // InternalReportDSL.g:34179:1: rule__JvmWildcardTypeReference__Group__1 : rule__JvmWildcardTypeReference__Group__1__Impl rule__JvmWildcardTypeReference__Group__2 ;
     public final void rule__JvmWildcardTypeReference__Group__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:34473:1: ( rule__JvmWildcardTypeReference__Group__1__Impl rule__JvmWildcardTypeReference__Group__2 )
-            // InternalReportDSL.g:34474:2: rule__JvmWildcardTypeReference__Group__1__Impl rule__JvmWildcardTypeReference__Group__2
+            // InternalReportDSL.g:34183:1: ( rule__JvmWildcardTypeReference__Group__1__Impl rule__JvmWildcardTypeReference__Group__2 )
+            // InternalReportDSL.g:34184:2: rule__JvmWildcardTypeReference__Group__1__Impl rule__JvmWildcardTypeReference__Group__2
             {
-            pushFollow(FOLLOW_218);
+            pushFollow(FOLLOW_216);
             rule__JvmWildcardTypeReference__Group__1__Impl();
 
             state._fsp--;
@@ -112942,22 +111823,22 @@
 
 
     // $ANTLR start "rule__JvmWildcardTypeReference__Group__1__Impl"
-    // InternalReportDSL.g:34481:1: rule__JvmWildcardTypeReference__Group__1__Impl : ( '?' ) ;
+    // InternalReportDSL.g:34191:1: rule__JvmWildcardTypeReference__Group__1__Impl : ( '?' ) ;
     public final void rule__JvmWildcardTypeReference__Group__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:34485:1: ( ( '?' ) )
-            // InternalReportDSL.g:34486:1: ( '?' )
+            // InternalReportDSL.g:34195:1: ( ( '?' ) )
+            // InternalReportDSL.g:34196:1: ( '?' )
             {
-            // InternalReportDSL.g:34486:1: ( '?' )
-            // InternalReportDSL.g:34487:2: '?'
+            // InternalReportDSL.g:34196:1: ( '?' )
+            // InternalReportDSL.g:34197:2: '?'
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getJvmWildcardTypeReferenceAccess().getQuestionMarkKeyword_1()); 
             }
-            match(input,251,FOLLOW_2); if (state.failed) return ;
+            match(input,258,FOLLOW_2); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getJvmWildcardTypeReferenceAccess().getQuestionMarkKeyword_1()); 
             }
@@ -112983,14 +111864,14 @@
 
 
     // $ANTLR start "rule__JvmWildcardTypeReference__Group__2"
-    // InternalReportDSL.g:34496:1: rule__JvmWildcardTypeReference__Group__2 : rule__JvmWildcardTypeReference__Group__2__Impl ;
+    // InternalReportDSL.g:34206:1: rule__JvmWildcardTypeReference__Group__2 : rule__JvmWildcardTypeReference__Group__2__Impl ;
     public final void rule__JvmWildcardTypeReference__Group__2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:34500:1: ( rule__JvmWildcardTypeReference__Group__2__Impl )
-            // InternalReportDSL.g:34501:2: rule__JvmWildcardTypeReference__Group__2__Impl
+            // InternalReportDSL.g:34210:1: ( rule__JvmWildcardTypeReference__Group__2__Impl )
+            // InternalReportDSL.g:34211:2: rule__JvmWildcardTypeReference__Group__2__Impl
             {
             pushFollow(FOLLOW_2);
             rule__JvmWildcardTypeReference__Group__2__Impl();
@@ -113016,31 +111897,31 @@
 
 
     // $ANTLR start "rule__JvmWildcardTypeReference__Group__2__Impl"
-    // InternalReportDSL.g:34507:1: rule__JvmWildcardTypeReference__Group__2__Impl : ( ( rule__JvmWildcardTypeReference__Alternatives_2 )? ) ;
+    // InternalReportDSL.g:34217:1: rule__JvmWildcardTypeReference__Group__2__Impl : ( ( rule__JvmWildcardTypeReference__Alternatives_2 )? ) ;
     public final void rule__JvmWildcardTypeReference__Group__2__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:34511:1: ( ( ( rule__JvmWildcardTypeReference__Alternatives_2 )? ) )
-            // InternalReportDSL.g:34512:1: ( ( rule__JvmWildcardTypeReference__Alternatives_2 )? )
+            // InternalReportDSL.g:34221:1: ( ( ( rule__JvmWildcardTypeReference__Alternatives_2 )? ) )
+            // InternalReportDSL.g:34222:1: ( ( rule__JvmWildcardTypeReference__Alternatives_2 )? )
             {
-            // InternalReportDSL.g:34512:1: ( ( rule__JvmWildcardTypeReference__Alternatives_2 )? )
-            // InternalReportDSL.g:34513:2: ( rule__JvmWildcardTypeReference__Alternatives_2 )?
+            // InternalReportDSL.g:34222:1: ( ( rule__JvmWildcardTypeReference__Alternatives_2 )? )
+            // InternalReportDSL.g:34223:2: ( rule__JvmWildcardTypeReference__Alternatives_2 )?
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getJvmWildcardTypeReferenceAccess().getAlternatives_2()); 
             }
-            // InternalReportDSL.g:34514:2: ( rule__JvmWildcardTypeReference__Alternatives_2 )?
-            int alt251=2;
-            int LA251_0 = input.LA(1);
+            // InternalReportDSL.g:34224:2: ( rule__JvmWildcardTypeReference__Alternatives_2 )?
+            int alt233=2;
+            int LA233_0 = input.LA(1);
 
-            if ( (LA251_0==49||LA251_0==53) ) {
-                alt251=1;
+            if ( (LA233_0==49||LA233_0==53) ) {
+                alt233=1;
             }
-            switch (alt251) {
+            switch (alt233) {
                 case 1 :
-                    // InternalReportDSL.g:34514:3: rule__JvmWildcardTypeReference__Alternatives_2
+                    // InternalReportDSL.g:34224:3: rule__JvmWildcardTypeReference__Alternatives_2
                     {
                     pushFollow(FOLLOW_2);
                     rule__JvmWildcardTypeReference__Alternatives_2();
@@ -113078,16 +111959,16 @@
 
 
     // $ANTLR start "rule__JvmWildcardTypeReference__Group_2_0__0"
-    // InternalReportDSL.g:34523:1: rule__JvmWildcardTypeReference__Group_2_0__0 : rule__JvmWildcardTypeReference__Group_2_0__0__Impl rule__JvmWildcardTypeReference__Group_2_0__1 ;
+    // InternalReportDSL.g:34233:1: rule__JvmWildcardTypeReference__Group_2_0__0 : rule__JvmWildcardTypeReference__Group_2_0__0__Impl rule__JvmWildcardTypeReference__Group_2_0__1 ;
     public final void rule__JvmWildcardTypeReference__Group_2_0__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:34527:1: ( rule__JvmWildcardTypeReference__Group_2_0__0__Impl rule__JvmWildcardTypeReference__Group_2_0__1 )
-            // InternalReportDSL.g:34528:2: rule__JvmWildcardTypeReference__Group_2_0__0__Impl rule__JvmWildcardTypeReference__Group_2_0__1
+            // InternalReportDSL.g:34237:1: ( rule__JvmWildcardTypeReference__Group_2_0__0__Impl rule__JvmWildcardTypeReference__Group_2_0__1 )
+            // InternalReportDSL.g:34238:2: rule__JvmWildcardTypeReference__Group_2_0__0__Impl rule__JvmWildcardTypeReference__Group_2_0__1
             {
-            pushFollow(FOLLOW_219);
+            pushFollow(FOLLOW_217);
             rule__JvmWildcardTypeReference__Group_2_0__0__Impl();
 
             state._fsp--;
@@ -113116,23 +111997,23 @@
 
 
     // $ANTLR start "rule__JvmWildcardTypeReference__Group_2_0__0__Impl"
-    // InternalReportDSL.g:34535:1: rule__JvmWildcardTypeReference__Group_2_0__0__Impl : ( ( rule__JvmWildcardTypeReference__ConstraintsAssignment_2_0_0 ) ) ;
+    // InternalReportDSL.g:34245:1: rule__JvmWildcardTypeReference__Group_2_0__0__Impl : ( ( rule__JvmWildcardTypeReference__ConstraintsAssignment_2_0_0 ) ) ;
     public final void rule__JvmWildcardTypeReference__Group_2_0__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:34539:1: ( ( ( rule__JvmWildcardTypeReference__ConstraintsAssignment_2_0_0 ) ) )
-            // InternalReportDSL.g:34540:1: ( ( rule__JvmWildcardTypeReference__ConstraintsAssignment_2_0_0 ) )
+            // InternalReportDSL.g:34249:1: ( ( ( rule__JvmWildcardTypeReference__ConstraintsAssignment_2_0_0 ) ) )
+            // InternalReportDSL.g:34250:1: ( ( rule__JvmWildcardTypeReference__ConstraintsAssignment_2_0_0 ) )
             {
-            // InternalReportDSL.g:34540:1: ( ( rule__JvmWildcardTypeReference__ConstraintsAssignment_2_0_0 ) )
-            // InternalReportDSL.g:34541:2: ( rule__JvmWildcardTypeReference__ConstraintsAssignment_2_0_0 )
+            // InternalReportDSL.g:34250:1: ( ( rule__JvmWildcardTypeReference__ConstraintsAssignment_2_0_0 ) )
+            // InternalReportDSL.g:34251:2: ( rule__JvmWildcardTypeReference__ConstraintsAssignment_2_0_0 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getJvmWildcardTypeReferenceAccess().getConstraintsAssignment_2_0_0()); 
             }
-            // InternalReportDSL.g:34542:2: ( rule__JvmWildcardTypeReference__ConstraintsAssignment_2_0_0 )
-            // InternalReportDSL.g:34542:3: rule__JvmWildcardTypeReference__ConstraintsAssignment_2_0_0
+            // InternalReportDSL.g:34252:2: ( rule__JvmWildcardTypeReference__ConstraintsAssignment_2_0_0 )
+            // InternalReportDSL.g:34252:3: rule__JvmWildcardTypeReference__ConstraintsAssignment_2_0_0
             {
             pushFollow(FOLLOW_2);
             rule__JvmWildcardTypeReference__ConstraintsAssignment_2_0_0();
@@ -113167,14 +112048,14 @@
 
 
     // $ANTLR start "rule__JvmWildcardTypeReference__Group_2_0__1"
-    // InternalReportDSL.g:34550:1: rule__JvmWildcardTypeReference__Group_2_0__1 : rule__JvmWildcardTypeReference__Group_2_0__1__Impl ;
+    // InternalReportDSL.g:34260:1: rule__JvmWildcardTypeReference__Group_2_0__1 : rule__JvmWildcardTypeReference__Group_2_0__1__Impl ;
     public final void rule__JvmWildcardTypeReference__Group_2_0__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:34554:1: ( rule__JvmWildcardTypeReference__Group_2_0__1__Impl )
-            // InternalReportDSL.g:34555:2: rule__JvmWildcardTypeReference__Group_2_0__1__Impl
+            // InternalReportDSL.g:34264:1: ( rule__JvmWildcardTypeReference__Group_2_0__1__Impl )
+            // InternalReportDSL.g:34265:2: rule__JvmWildcardTypeReference__Group_2_0__1__Impl
             {
             pushFollow(FOLLOW_2);
             rule__JvmWildcardTypeReference__Group_2_0__1__Impl();
@@ -113200,37 +112081,37 @@
 
 
     // $ANTLR start "rule__JvmWildcardTypeReference__Group_2_0__1__Impl"
-    // InternalReportDSL.g:34561:1: rule__JvmWildcardTypeReference__Group_2_0__1__Impl : ( ( rule__JvmWildcardTypeReference__ConstraintsAssignment_2_0_1 )* ) ;
+    // InternalReportDSL.g:34271:1: rule__JvmWildcardTypeReference__Group_2_0__1__Impl : ( ( rule__JvmWildcardTypeReference__ConstraintsAssignment_2_0_1 )* ) ;
     public final void rule__JvmWildcardTypeReference__Group_2_0__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:34565:1: ( ( ( rule__JvmWildcardTypeReference__ConstraintsAssignment_2_0_1 )* ) )
-            // InternalReportDSL.g:34566:1: ( ( rule__JvmWildcardTypeReference__ConstraintsAssignment_2_0_1 )* )
+            // InternalReportDSL.g:34275:1: ( ( ( rule__JvmWildcardTypeReference__ConstraintsAssignment_2_0_1 )* ) )
+            // InternalReportDSL.g:34276:1: ( ( rule__JvmWildcardTypeReference__ConstraintsAssignment_2_0_1 )* )
             {
-            // InternalReportDSL.g:34566:1: ( ( rule__JvmWildcardTypeReference__ConstraintsAssignment_2_0_1 )* )
-            // InternalReportDSL.g:34567:2: ( rule__JvmWildcardTypeReference__ConstraintsAssignment_2_0_1 )*
+            // InternalReportDSL.g:34276:1: ( ( rule__JvmWildcardTypeReference__ConstraintsAssignment_2_0_1 )* )
+            // InternalReportDSL.g:34277:2: ( rule__JvmWildcardTypeReference__ConstraintsAssignment_2_0_1 )*
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getJvmWildcardTypeReferenceAccess().getConstraintsAssignment_2_0_1()); 
             }
-            // InternalReportDSL.g:34568:2: ( rule__JvmWildcardTypeReference__ConstraintsAssignment_2_0_1 )*
-            loop252:
+            // InternalReportDSL.g:34278:2: ( rule__JvmWildcardTypeReference__ConstraintsAssignment_2_0_1 )*
+            loop234:
             do {
-                int alt252=2;
-                int LA252_0 = input.LA(1);
+                int alt234=2;
+                int LA234_0 = input.LA(1);
 
-                if ( (LA252_0==252) ) {
-                    alt252=1;
+                if ( (LA234_0==259) ) {
+                    alt234=1;
                 }
 
 
-                switch (alt252) {
+                switch (alt234) {
             	case 1 :
-            	    // InternalReportDSL.g:34568:3: rule__JvmWildcardTypeReference__ConstraintsAssignment_2_0_1
+            	    // InternalReportDSL.g:34278:3: rule__JvmWildcardTypeReference__ConstraintsAssignment_2_0_1
             	    {
-            	    pushFollow(FOLLOW_220);
+            	    pushFollow(FOLLOW_218);
             	    rule__JvmWildcardTypeReference__ConstraintsAssignment_2_0_1();
 
             	    state._fsp--;
@@ -113240,7 +112121,7 @@
             	    break;
 
             	default :
-            	    break loop252;
+            	    break loop234;
                 }
             } while (true);
 
@@ -113269,16 +112150,16 @@
 
 
     // $ANTLR start "rule__JvmWildcardTypeReference__Group_2_1__0"
-    // InternalReportDSL.g:34577:1: rule__JvmWildcardTypeReference__Group_2_1__0 : rule__JvmWildcardTypeReference__Group_2_1__0__Impl rule__JvmWildcardTypeReference__Group_2_1__1 ;
+    // InternalReportDSL.g:34287:1: rule__JvmWildcardTypeReference__Group_2_1__0 : rule__JvmWildcardTypeReference__Group_2_1__0__Impl rule__JvmWildcardTypeReference__Group_2_1__1 ;
     public final void rule__JvmWildcardTypeReference__Group_2_1__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:34581:1: ( rule__JvmWildcardTypeReference__Group_2_1__0__Impl rule__JvmWildcardTypeReference__Group_2_1__1 )
-            // InternalReportDSL.g:34582:2: rule__JvmWildcardTypeReference__Group_2_1__0__Impl rule__JvmWildcardTypeReference__Group_2_1__1
+            // InternalReportDSL.g:34291:1: ( rule__JvmWildcardTypeReference__Group_2_1__0__Impl rule__JvmWildcardTypeReference__Group_2_1__1 )
+            // InternalReportDSL.g:34292:2: rule__JvmWildcardTypeReference__Group_2_1__0__Impl rule__JvmWildcardTypeReference__Group_2_1__1
             {
-            pushFollow(FOLLOW_219);
+            pushFollow(FOLLOW_217);
             rule__JvmWildcardTypeReference__Group_2_1__0__Impl();
 
             state._fsp--;
@@ -113307,23 +112188,23 @@
 
 
     // $ANTLR start "rule__JvmWildcardTypeReference__Group_2_1__0__Impl"
-    // InternalReportDSL.g:34589:1: rule__JvmWildcardTypeReference__Group_2_1__0__Impl : ( ( rule__JvmWildcardTypeReference__ConstraintsAssignment_2_1_0 ) ) ;
+    // InternalReportDSL.g:34299:1: rule__JvmWildcardTypeReference__Group_2_1__0__Impl : ( ( rule__JvmWildcardTypeReference__ConstraintsAssignment_2_1_0 ) ) ;
     public final void rule__JvmWildcardTypeReference__Group_2_1__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:34593:1: ( ( ( rule__JvmWildcardTypeReference__ConstraintsAssignment_2_1_0 ) ) )
-            // InternalReportDSL.g:34594:1: ( ( rule__JvmWildcardTypeReference__ConstraintsAssignment_2_1_0 ) )
+            // InternalReportDSL.g:34303:1: ( ( ( rule__JvmWildcardTypeReference__ConstraintsAssignment_2_1_0 ) ) )
+            // InternalReportDSL.g:34304:1: ( ( rule__JvmWildcardTypeReference__ConstraintsAssignment_2_1_0 ) )
             {
-            // InternalReportDSL.g:34594:1: ( ( rule__JvmWildcardTypeReference__ConstraintsAssignment_2_1_0 ) )
-            // InternalReportDSL.g:34595:2: ( rule__JvmWildcardTypeReference__ConstraintsAssignment_2_1_0 )
+            // InternalReportDSL.g:34304:1: ( ( rule__JvmWildcardTypeReference__ConstraintsAssignment_2_1_0 ) )
+            // InternalReportDSL.g:34305:2: ( rule__JvmWildcardTypeReference__ConstraintsAssignment_2_1_0 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getJvmWildcardTypeReferenceAccess().getConstraintsAssignment_2_1_0()); 
             }
-            // InternalReportDSL.g:34596:2: ( rule__JvmWildcardTypeReference__ConstraintsAssignment_2_1_0 )
-            // InternalReportDSL.g:34596:3: rule__JvmWildcardTypeReference__ConstraintsAssignment_2_1_0
+            // InternalReportDSL.g:34306:2: ( rule__JvmWildcardTypeReference__ConstraintsAssignment_2_1_0 )
+            // InternalReportDSL.g:34306:3: rule__JvmWildcardTypeReference__ConstraintsAssignment_2_1_0
             {
             pushFollow(FOLLOW_2);
             rule__JvmWildcardTypeReference__ConstraintsAssignment_2_1_0();
@@ -113358,14 +112239,14 @@
 
 
     // $ANTLR start "rule__JvmWildcardTypeReference__Group_2_1__1"
-    // InternalReportDSL.g:34604:1: rule__JvmWildcardTypeReference__Group_2_1__1 : rule__JvmWildcardTypeReference__Group_2_1__1__Impl ;
+    // InternalReportDSL.g:34314:1: rule__JvmWildcardTypeReference__Group_2_1__1 : rule__JvmWildcardTypeReference__Group_2_1__1__Impl ;
     public final void rule__JvmWildcardTypeReference__Group_2_1__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:34608:1: ( rule__JvmWildcardTypeReference__Group_2_1__1__Impl )
-            // InternalReportDSL.g:34609:2: rule__JvmWildcardTypeReference__Group_2_1__1__Impl
+            // InternalReportDSL.g:34318:1: ( rule__JvmWildcardTypeReference__Group_2_1__1__Impl )
+            // InternalReportDSL.g:34319:2: rule__JvmWildcardTypeReference__Group_2_1__1__Impl
             {
             pushFollow(FOLLOW_2);
             rule__JvmWildcardTypeReference__Group_2_1__1__Impl();
@@ -113391,37 +112272,37 @@
 
 
     // $ANTLR start "rule__JvmWildcardTypeReference__Group_2_1__1__Impl"
-    // InternalReportDSL.g:34615:1: rule__JvmWildcardTypeReference__Group_2_1__1__Impl : ( ( rule__JvmWildcardTypeReference__ConstraintsAssignment_2_1_1 )* ) ;
+    // InternalReportDSL.g:34325:1: rule__JvmWildcardTypeReference__Group_2_1__1__Impl : ( ( rule__JvmWildcardTypeReference__ConstraintsAssignment_2_1_1 )* ) ;
     public final void rule__JvmWildcardTypeReference__Group_2_1__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:34619:1: ( ( ( rule__JvmWildcardTypeReference__ConstraintsAssignment_2_1_1 )* ) )
-            // InternalReportDSL.g:34620:1: ( ( rule__JvmWildcardTypeReference__ConstraintsAssignment_2_1_1 )* )
+            // InternalReportDSL.g:34329:1: ( ( ( rule__JvmWildcardTypeReference__ConstraintsAssignment_2_1_1 )* ) )
+            // InternalReportDSL.g:34330:1: ( ( rule__JvmWildcardTypeReference__ConstraintsAssignment_2_1_1 )* )
             {
-            // InternalReportDSL.g:34620:1: ( ( rule__JvmWildcardTypeReference__ConstraintsAssignment_2_1_1 )* )
-            // InternalReportDSL.g:34621:2: ( rule__JvmWildcardTypeReference__ConstraintsAssignment_2_1_1 )*
+            // InternalReportDSL.g:34330:1: ( ( rule__JvmWildcardTypeReference__ConstraintsAssignment_2_1_1 )* )
+            // InternalReportDSL.g:34331:2: ( rule__JvmWildcardTypeReference__ConstraintsAssignment_2_1_1 )*
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getJvmWildcardTypeReferenceAccess().getConstraintsAssignment_2_1_1()); 
             }
-            // InternalReportDSL.g:34622:2: ( rule__JvmWildcardTypeReference__ConstraintsAssignment_2_1_1 )*
-            loop253:
+            // InternalReportDSL.g:34332:2: ( rule__JvmWildcardTypeReference__ConstraintsAssignment_2_1_1 )*
+            loop235:
             do {
-                int alt253=2;
-                int LA253_0 = input.LA(1);
+                int alt235=2;
+                int LA235_0 = input.LA(1);
 
-                if ( (LA253_0==252) ) {
-                    alt253=1;
+                if ( (LA235_0==259) ) {
+                    alt235=1;
                 }
 
 
-                switch (alt253) {
+                switch (alt235) {
             	case 1 :
-            	    // InternalReportDSL.g:34622:3: rule__JvmWildcardTypeReference__ConstraintsAssignment_2_1_1
+            	    // InternalReportDSL.g:34332:3: rule__JvmWildcardTypeReference__ConstraintsAssignment_2_1_1
             	    {
-            	    pushFollow(FOLLOW_220);
+            	    pushFollow(FOLLOW_218);
             	    rule__JvmWildcardTypeReference__ConstraintsAssignment_2_1_1();
 
             	    state._fsp--;
@@ -113431,7 +112312,7 @@
             	    break;
 
             	default :
-            	    break loop253;
+            	    break loop235;
                 }
             } while (true);
 
@@ -113460,16 +112341,16 @@
 
 
     // $ANTLR start "rule__JvmUpperBound__Group__0"
-    // InternalReportDSL.g:34631:1: rule__JvmUpperBound__Group__0 : rule__JvmUpperBound__Group__0__Impl rule__JvmUpperBound__Group__1 ;
+    // InternalReportDSL.g:34341:1: rule__JvmUpperBound__Group__0 : rule__JvmUpperBound__Group__0__Impl rule__JvmUpperBound__Group__1 ;
     public final void rule__JvmUpperBound__Group__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:34635:1: ( rule__JvmUpperBound__Group__0__Impl rule__JvmUpperBound__Group__1 )
-            // InternalReportDSL.g:34636:2: rule__JvmUpperBound__Group__0__Impl rule__JvmUpperBound__Group__1
+            // InternalReportDSL.g:34345:1: ( rule__JvmUpperBound__Group__0__Impl rule__JvmUpperBound__Group__1 )
+            // InternalReportDSL.g:34346:2: rule__JvmUpperBound__Group__0__Impl rule__JvmUpperBound__Group__1
             {
-            pushFollow(FOLLOW_156);
+            pushFollow(FOLLOW_155);
             rule__JvmUpperBound__Group__0__Impl();
 
             state._fsp--;
@@ -113498,17 +112379,17 @@
 
 
     // $ANTLR start "rule__JvmUpperBound__Group__0__Impl"
-    // InternalReportDSL.g:34643:1: rule__JvmUpperBound__Group__0__Impl : ( 'extends' ) ;
+    // InternalReportDSL.g:34353:1: rule__JvmUpperBound__Group__0__Impl : ( 'extends' ) ;
     public final void rule__JvmUpperBound__Group__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:34647:1: ( ( 'extends' ) )
-            // InternalReportDSL.g:34648:1: ( 'extends' )
+            // InternalReportDSL.g:34357:1: ( ( 'extends' ) )
+            // InternalReportDSL.g:34358:1: ( 'extends' )
             {
-            // InternalReportDSL.g:34648:1: ( 'extends' )
-            // InternalReportDSL.g:34649:2: 'extends'
+            // InternalReportDSL.g:34358:1: ( 'extends' )
+            // InternalReportDSL.g:34359:2: 'extends'
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getJvmUpperBoundAccess().getExtendsKeyword_0()); 
@@ -113539,14 +112420,14 @@
 
 
     // $ANTLR start "rule__JvmUpperBound__Group__1"
-    // InternalReportDSL.g:34658:1: rule__JvmUpperBound__Group__1 : rule__JvmUpperBound__Group__1__Impl ;
+    // InternalReportDSL.g:34368:1: rule__JvmUpperBound__Group__1 : rule__JvmUpperBound__Group__1__Impl ;
     public final void rule__JvmUpperBound__Group__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:34662:1: ( rule__JvmUpperBound__Group__1__Impl )
-            // InternalReportDSL.g:34663:2: rule__JvmUpperBound__Group__1__Impl
+            // InternalReportDSL.g:34372:1: ( rule__JvmUpperBound__Group__1__Impl )
+            // InternalReportDSL.g:34373:2: rule__JvmUpperBound__Group__1__Impl
             {
             pushFollow(FOLLOW_2);
             rule__JvmUpperBound__Group__1__Impl();
@@ -113572,23 +112453,23 @@
 
 
     // $ANTLR start "rule__JvmUpperBound__Group__1__Impl"
-    // InternalReportDSL.g:34669:1: rule__JvmUpperBound__Group__1__Impl : ( ( rule__JvmUpperBound__TypeReferenceAssignment_1 ) ) ;
+    // InternalReportDSL.g:34379:1: rule__JvmUpperBound__Group__1__Impl : ( ( rule__JvmUpperBound__TypeReferenceAssignment_1 ) ) ;
     public final void rule__JvmUpperBound__Group__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:34673:1: ( ( ( rule__JvmUpperBound__TypeReferenceAssignment_1 ) ) )
-            // InternalReportDSL.g:34674:1: ( ( rule__JvmUpperBound__TypeReferenceAssignment_1 ) )
+            // InternalReportDSL.g:34383:1: ( ( ( rule__JvmUpperBound__TypeReferenceAssignment_1 ) ) )
+            // InternalReportDSL.g:34384:1: ( ( rule__JvmUpperBound__TypeReferenceAssignment_1 ) )
             {
-            // InternalReportDSL.g:34674:1: ( ( rule__JvmUpperBound__TypeReferenceAssignment_1 ) )
-            // InternalReportDSL.g:34675:2: ( rule__JvmUpperBound__TypeReferenceAssignment_1 )
+            // InternalReportDSL.g:34384:1: ( ( rule__JvmUpperBound__TypeReferenceAssignment_1 ) )
+            // InternalReportDSL.g:34385:2: ( rule__JvmUpperBound__TypeReferenceAssignment_1 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getJvmUpperBoundAccess().getTypeReferenceAssignment_1()); 
             }
-            // InternalReportDSL.g:34676:2: ( rule__JvmUpperBound__TypeReferenceAssignment_1 )
-            // InternalReportDSL.g:34676:3: rule__JvmUpperBound__TypeReferenceAssignment_1
+            // InternalReportDSL.g:34386:2: ( rule__JvmUpperBound__TypeReferenceAssignment_1 )
+            // InternalReportDSL.g:34386:3: rule__JvmUpperBound__TypeReferenceAssignment_1
             {
             pushFollow(FOLLOW_2);
             rule__JvmUpperBound__TypeReferenceAssignment_1();
@@ -113623,16 +112504,16 @@
 
 
     // $ANTLR start "rule__JvmUpperBoundAnded__Group__0"
-    // InternalReportDSL.g:34685:1: rule__JvmUpperBoundAnded__Group__0 : rule__JvmUpperBoundAnded__Group__0__Impl rule__JvmUpperBoundAnded__Group__1 ;
+    // InternalReportDSL.g:34395:1: rule__JvmUpperBoundAnded__Group__0 : rule__JvmUpperBoundAnded__Group__0__Impl rule__JvmUpperBoundAnded__Group__1 ;
     public final void rule__JvmUpperBoundAnded__Group__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:34689:1: ( rule__JvmUpperBoundAnded__Group__0__Impl rule__JvmUpperBoundAnded__Group__1 )
-            // InternalReportDSL.g:34690:2: rule__JvmUpperBoundAnded__Group__0__Impl rule__JvmUpperBoundAnded__Group__1
+            // InternalReportDSL.g:34399:1: ( rule__JvmUpperBoundAnded__Group__0__Impl rule__JvmUpperBoundAnded__Group__1 )
+            // InternalReportDSL.g:34400:2: rule__JvmUpperBoundAnded__Group__0__Impl rule__JvmUpperBoundAnded__Group__1
             {
-            pushFollow(FOLLOW_156);
+            pushFollow(FOLLOW_155);
             rule__JvmUpperBoundAnded__Group__0__Impl();
 
             state._fsp--;
@@ -113661,22 +112542,22 @@
 
 
     // $ANTLR start "rule__JvmUpperBoundAnded__Group__0__Impl"
-    // InternalReportDSL.g:34697:1: rule__JvmUpperBoundAnded__Group__0__Impl : ( '&' ) ;
+    // InternalReportDSL.g:34407:1: rule__JvmUpperBoundAnded__Group__0__Impl : ( '&' ) ;
     public final void rule__JvmUpperBoundAnded__Group__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:34701:1: ( ( '&' ) )
-            // InternalReportDSL.g:34702:1: ( '&' )
+            // InternalReportDSL.g:34411:1: ( ( '&' ) )
+            // InternalReportDSL.g:34412:1: ( '&' )
             {
-            // InternalReportDSL.g:34702:1: ( '&' )
-            // InternalReportDSL.g:34703:2: '&'
+            // InternalReportDSL.g:34412:1: ( '&' )
+            // InternalReportDSL.g:34413:2: '&'
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getJvmUpperBoundAndedAccess().getAmpersandKeyword_0()); 
             }
-            match(input,252,FOLLOW_2); if (state.failed) return ;
+            match(input,259,FOLLOW_2); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getJvmUpperBoundAndedAccess().getAmpersandKeyword_0()); 
             }
@@ -113702,14 +112583,14 @@
 
 
     // $ANTLR start "rule__JvmUpperBoundAnded__Group__1"
-    // InternalReportDSL.g:34712:1: rule__JvmUpperBoundAnded__Group__1 : rule__JvmUpperBoundAnded__Group__1__Impl ;
+    // InternalReportDSL.g:34422:1: rule__JvmUpperBoundAnded__Group__1 : rule__JvmUpperBoundAnded__Group__1__Impl ;
     public final void rule__JvmUpperBoundAnded__Group__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:34716:1: ( rule__JvmUpperBoundAnded__Group__1__Impl )
-            // InternalReportDSL.g:34717:2: rule__JvmUpperBoundAnded__Group__1__Impl
+            // InternalReportDSL.g:34426:1: ( rule__JvmUpperBoundAnded__Group__1__Impl )
+            // InternalReportDSL.g:34427:2: rule__JvmUpperBoundAnded__Group__1__Impl
             {
             pushFollow(FOLLOW_2);
             rule__JvmUpperBoundAnded__Group__1__Impl();
@@ -113735,23 +112616,23 @@
 
 
     // $ANTLR start "rule__JvmUpperBoundAnded__Group__1__Impl"
-    // InternalReportDSL.g:34723:1: rule__JvmUpperBoundAnded__Group__1__Impl : ( ( rule__JvmUpperBoundAnded__TypeReferenceAssignment_1 ) ) ;
+    // InternalReportDSL.g:34433:1: rule__JvmUpperBoundAnded__Group__1__Impl : ( ( rule__JvmUpperBoundAnded__TypeReferenceAssignment_1 ) ) ;
     public final void rule__JvmUpperBoundAnded__Group__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:34727:1: ( ( ( rule__JvmUpperBoundAnded__TypeReferenceAssignment_1 ) ) )
-            // InternalReportDSL.g:34728:1: ( ( rule__JvmUpperBoundAnded__TypeReferenceAssignment_1 ) )
+            // InternalReportDSL.g:34437:1: ( ( ( rule__JvmUpperBoundAnded__TypeReferenceAssignment_1 ) ) )
+            // InternalReportDSL.g:34438:1: ( ( rule__JvmUpperBoundAnded__TypeReferenceAssignment_1 ) )
             {
-            // InternalReportDSL.g:34728:1: ( ( rule__JvmUpperBoundAnded__TypeReferenceAssignment_1 ) )
-            // InternalReportDSL.g:34729:2: ( rule__JvmUpperBoundAnded__TypeReferenceAssignment_1 )
+            // InternalReportDSL.g:34438:1: ( ( rule__JvmUpperBoundAnded__TypeReferenceAssignment_1 ) )
+            // InternalReportDSL.g:34439:2: ( rule__JvmUpperBoundAnded__TypeReferenceAssignment_1 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getJvmUpperBoundAndedAccess().getTypeReferenceAssignment_1()); 
             }
-            // InternalReportDSL.g:34730:2: ( rule__JvmUpperBoundAnded__TypeReferenceAssignment_1 )
-            // InternalReportDSL.g:34730:3: rule__JvmUpperBoundAnded__TypeReferenceAssignment_1
+            // InternalReportDSL.g:34440:2: ( rule__JvmUpperBoundAnded__TypeReferenceAssignment_1 )
+            // InternalReportDSL.g:34440:3: rule__JvmUpperBoundAnded__TypeReferenceAssignment_1
             {
             pushFollow(FOLLOW_2);
             rule__JvmUpperBoundAnded__TypeReferenceAssignment_1();
@@ -113786,16 +112667,16 @@
 
 
     // $ANTLR start "rule__JvmLowerBound__Group__0"
-    // InternalReportDSL.g:34739:1: rule__JvmLowerBound__Group__0 : rule__JvmLowerBound__Group__0__Impl rule__JvmLowerBound__Group__1 ;
+    // InternalReportDSL.g:34449:1: rule__JvmLowerBound__Group__0 : rule__JvmLowerBound__Group__0__Impl rule__JvmLowerBound__Group__1 ;
     public final void rule__JvmLowerBound__Group__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:34743:1: ( rule__JvmLowerBound__Group__0__Impl rule__JvmLowerBound__Group__1 )
-            // InternalReportDSL.g:34744:2: rule__JvmLowerBound__Group__0__Impl rule__JvmLowerBound__Group__1
+            // InternalReportDSL.g:34453:1: ( rule__JvmLowerBound__Group__0__Impl rule__JvmLowerBound__Group__1 )
+            // InternalReportDSL.g:34454:2: rule__JvmLowerBound__Group__0__Impl rule__JvmLowerBound__Group__1
             {
-            pushFollow(FOLLOW_156);
+            pushFollow(FOLLOW_155);
             rule__JvmLowerBound__Group__0__Impl();
 
             state._fsp--;
@@ -113824,17 +112705,17 @@
 
 
     // $ANTLR start "rule__JvmLowerBound__Group__0__Impl"
-    // InternalReportDSL.g:34751:1: rule__JvmLowerBound__Group__0__Impl : ( 'super' ) ;
+    // InternalReportDSL.g:34461:1: rule__JvmLowerBound__Group__0__Impl : ( 'super' ) ;
     public final void rule__JvmLowerBound__Group__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:34755:1: ( ( 'super' ) )
-            // InternalReportDSL.g:34756:1: ( 'super' )
+            // InternalReportDSL.g:34465:1: ( ( 'super' ) )
+            // InternalReportDSL.g:34466:1: ( 'super' )
             {
-            // InternalReportDSL.g:34756:1: ( 'super' )
-            // InternalReportDSL.g:34757:2: 'super'
+            // InternalReportDSL.g:34466:1: ( 'super' )
+            // InternalReportDSL.g:34467:2: 'super'
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getJvmLowerBoundAccess().getSuperKeyword_0()); 
@@ -113865,14 +112746,14 @@
 
 
     // $ANTLR start "rule__JvmLowerBound__Group__1"
-    // InternalReportDSL.g:34766:1: rule__JvmLowerBound__Group__1 : rule__JvmLowerBound__Group__1__Impl ;
+    // InternalReportDSL.g:34476:1: rule__JvmLowerBound__Group__1 : rule__JvmLowerBound__Group__1__Impl ;
     public final void rule__JvmLowerBound__Group__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:34770:1: ( rule__JvmLowerBound__Group__1__Impl )
-            // InternalReportDSL.g:34771:2: rule__JvmLowerBound__Group__1__Impl
+            // InternalReportDSL.g:34480:1: ( rule__JvmLowerBound__Group__1__Impl )
+            // InternalReportDSL.g:34481:2: rule__JvmLowerBound__Group__1__Impl
             {
             pushFollow(FOLLOW_2);
             rule__JvmLowerBound__Group__1__Impl();
@@ -113898,23 +112779,23 @@
 
 
     // $ANTLR start "rule__JvmLowerBound__Group__1__Impl"
-    // InternalReportDSL.g:34777:1: rule__JvmLowerBound__Group__1__Impl : ( ( rule__JvmLowerBound__TypeReferenceAssignment_1 ) ) ;
+    // InternalReportDSL.g:34487:1: rule__JvmLowerBound__Group__1__Impl : ( ( rule__JvmLowerBound__TypeReferenceAssignment_1 ) ) ;
     public final void rule__JvmLowerBound__Group__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:34781:1: ( ( ( rule__JvmLowerBound__TypeReferenceAssignment_1 ) ) )
-            // InternalReportDSL.g:34782:1: ( ( rule__JvmLowerBound__TypeReferenceAssignment_1 ) )
+            // InternalReportDSL.g:34491:1: ( ( ( rule__JvmLowerBound__TypeReferenceAssignment_1 ) ) )
+            // InternalReportDSL.g:34492:1: ( ( rule__JvmLowerBound__TypeReferenceAssignment_1 ) )
             {
-            // InternalReportDSL.g:34782:1: ( ( rule__JvmLowerBound__TypeReferenceAssignment_1 ) )
-            // InternalReportDSL.g:34783:2: ( rule__JvmLowerBound__TypeReferenceAssignment_1 )
+            // InternalReportDSL.g:34492:1: ( ( rule__JvmLowerBound__TypeReferenceAssignment_1 ) )
+            // InternalReportDSL.g:34493:2: ( rule__JvmLowerBound__TypeReferenceAssignment_1 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getJvmLowerBoundAccess().getTypeReferenceAssignment_1()); 
             }
-            // InternalReportDSL.g:34784:2: ( rule__JvmLowerBound__TypeReferenceAssignment_1 )
-            // InternalReportDSL.g:34784:3: rule__JvmLowerBound__TypeReferenceAssignment_1
+            // InternalReportDSL.g:34494:2: ( rule__JvmLowerBound__TypeReferenceAssignment_1 )
+            // InternalReportDSL.g:34494:3: rule__JvmLowerBound__TypeReferenceAssignment_1
             {
             pushFollow(FOLLOW_2);
             rule__JvmLowerBound__TypeReferenceAssignment_1();
@@ -113949,16 +112830,16 @@
 
 
     // $ANTLR start "rule__JvmLowerBoundAnded__Group__0"
-    // InternalReportDSL.g:34793:1: rule__JvmLowerBoundAnded__Group__0 : rule__JvmLowerBoundAnded__Group__0__Impl rule__JvmLowerBoundAnded__Group__1 ;
+    // InternalReportDSL.g:34503:1: rule__JvmLowerBoundAnded__Group__0 : rule__JvmLowerBoundAnded__Group__0__Impl rule__JvmLowerBoundAnded__Group__1 ;
     public final void rule__JvmLowerBoundAnded__Group__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:34797:1: ( rule__JvmLowerBoundAnded__Group__0__Impl rule__JvmLowerBoundAnded__Group__1 )
-            // InternalReportDSL.g:34798:2: rule__JvmLowerBoundAnded__Group__0__Impl rule__JvmLowerBoundAnded__Group__1
+            // InternalReportDSL.g:34507:1: ( rule__JvmLowerBoundAnded__Group__0__Impl rule__JvmLowerBoundAnded__Group__1 )
+            // InternalReportDSL.g:34508:2: rule__JvmLowerBoundAnded__Group__0__Impl rule__JvmLowerBoundAnded__Group__1
             {
-            pushFollow(FOLLOW_156);
+            pushFollow(FOLLOW_155);
             rule__JvmLowerBoundAnded__Group__0__Impl();
 
             state._fsp--;
@@ -113987,22 +112868,22 @@
 
 
     // $ANTLR start "rule__JvmLowerBoundAnded__Group__0__Impl"
-    // InternalReportDSL.g:34805:1: rule__JvmLowerBoundAnded__Group__0__Impl : ( '&' ) ;
+    // InternalReportDSL.g:34515:1: rule__JvmLowerBoundAnded__Group__0__Impl : ( '&' ) ;
     public final void rule__JvmLowerBoundAnded__Group__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:34809:1: ( ( '&' ) )
-            // InternalReportDSL.g:34810:1: ( '&' )
+            // InternalReportDSL.g:34519:1: ( ( '&' ) )
+            // InternalReportDSL.g:34520:1: ( '&' )
             {
-            // InternalReportDSL.g:34810:1: ( '&' )
-            // InternalReportDSL.g:34811:2: '&'
+            // InternalReportDSL.g:34520:1: ( '&' )
+            // InternalReportDSL.g:34521:2: '&'
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getJvmLowerBoundAndedAccess().getAmpersandKeyword_0()); 
             }
-            match(input,252,FOLLOW_2); if (state.failed) return ;
+            match(input,259,FOLLOW_2); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getJvmLowerBoundAndedAccess().getAmpersandKeyword_0()); 
             }
@@ -114028,14 +112909,14 @@
 
 
     // $ANTLR start "rule__JvmLowerBoundAnded__Group__1"
-    // InternalReportDSL.g:34820:1: rule__JvmLowerBoundAnded__Group__1 : rule__JvmLowerBoundAnded__Group__1__Impl ;
+    // InternalReportDSL.g:34530:1: rule__JvmLowerBoundAnded__Group__1 : rule__JvmLowerBoundAnded__Group__1__Impl ;
     public final void rule__JvmLowerBoundAnded__Group__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:34824:1: ( rule__JvmLowerBoundAnded__Group__1__Impl )
-            // InternalReportDSL.g:34825:2: rule__JvmLowerBoundAnded__Group__1__Impl
+            // InternalReportDSL.g:34534:1: ( rule__JvmLowerBoundAnded__Group__1__Impl )
+            // InternalReportDSL.g:34535:2: rule__JvmLowerBoundAnded__Group__1__Impl
             {
             pushFollow(FOLLOW_2);
             rule__JvmLowerBoundAnded__Group__1__Impl();
@@ -114061,23 +112942,23 @@
 
 
     // $ANTLR start "rule__JvmLowerBoundAnded__Group__1__Impl"
-    // InternalReportDSL.g:34831:1: rule__JvmLowerBoundAnded__Group__1__Impl : ( ( rule__JvmLowerBoundAnded__TypeReferenceAssignment_1 ) ) ;
+    // InternalReportDSL.g:34541:1: rule__JvmLowerBoundAnded__Group__1__Impl : ( ( rule__JvmLowerBoundAnded__TypeReferenceAssignment_1 ) ) ;
     public final void rule__JvmLowerBoundAnded__Group__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:34835:1: ( ( ( rule__JvmLowerBoundAnded__TypeReferenceAssignment_1 ) ) )
-            // InternalReportDSL.g:34836:1: ( ( rule__JvmLowerBoundAnded__TypeReferenceAssignment_1 ) )
+            // InternalReportDSL.g:34545:1: ( ( ( rule__JvmLowerBoundAnded__TypeReferenceAssignment_1 ) ) )
+            // InternalReportDSL.g:34546:1: ( ( rule__JvmLowerBoundAnded__TypeReferenceAssignment_1 ) )
             {
-            // InternalReportDSL.g:34836:1: ( ( rule__JvmLowerBoundAnded__TypeReferenceAssignment_1 ) )
-            // InternalReportDSL.g:34837:2: ( rule__JvmLowerBoundAnded__TypeReferenceAssignment_1 )
+            // InternalReportDSL.g:34546:1: ( ( rule__JvmLowerBoundAnded__TypeReferenceAssignment_1 ) )
+            // InternalReportDSL.g:34547:2: ( rule__JvmLowerBoundAnded__TypeReferenceAssignment_1 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getJvmLowerBoundAndedAccess().getTypeReferenceAssignment_1()); 
             }
-            // InternalReportDSL.g:34838:2: ( rule__JvmLowerBoundAnded__TypeReferenceAssignment_1 )
-            // InternalReportDSL.g:34838:3: rule__JvmLowerBoundAnded__TypeReferenceAssignment_1
+            // InternalReportDSL.g:34548:2: ( rule__JvmLowerBoundAnded__TypeReferenceAssignment_1 )
+            // InternalReportDSL.g:34548:3: rule__JvmLowerBoundAnded__TypeReferenceAssignment_1
             {
             pushFollow(FOLLOW_2);
             rule__JvmLowerBoundAnded__TypeReferenceAssignment_1();
@@ -114112,16 +112993,16 @@
 
 
     // $ANTLR start "rule__QualifiedNameWithWildcard__Group__0"
-    // InternalReportDSL.g:34847:1: rule__QualifiedNameWithWildcard__Group__0 : rule__QualifiedNameWithWildcard__Group__0__Impl rule__QualifiedNameWithWildcard__Group__1 ;
+    // InternalReportDSL.g:34557:1: rule__QualifiedNameWithWildcard__Group__0 : rule__QualifiedNameWithWildcard__Group__0__Impl rule__QualifiedNameWithWildcard__Group__1 ;
     public final void rule__QualifiedNameWithWildcard__Group__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:34851:1: ( rule__QualifiedNameWithWildcard__Group__0__Impl rule__QualifiedNameWithWildcard__Group__1 )
-            // InternalReportDSL.g:34852:2: rule__QualifiedNameWithWildcard__Group__0__Impl rule__QualifiedNameWithWildcard__Group__1
+            // InternalReportDSL.g:34561:1: ( rule__QualifiedNameWithWildcard__Group__0__Impl rule__QualifiedNameWithWildcard__Group__1 )
+            // InternalReportDSL.g:34562:2: rule__QualifiedNameWithWildcard__Group__0__Impl rule__QualifiedNameWithWildcard__Group__1
             {
-            pushFollow(FOLLOW_214);
+            pushFollow(FOLLOW_212);
             rule__QualifiedNameWithWildcard__Group__0__Impl();
 
             state._fsp--;
@@ -114150,17 +113031,17 @@
 
 
     // $ANTLR start "rule__QualifiedNameWithWildcard__Group__0__Impl"
-    // InternalReportDSL.g:34859:1: rule__QualifiedNameWithWildcard__Group__0__Impl : ( ruleQualifiedName ) ;
+    // InternalReportDSL.g:34569:1: rule__QualifiedNameWithWildcard__Group__0__Impl : ( ruleQualifiedName ) ;
     public final void rule__QualifiedNameWithWildcard__Group__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:34863:1: ( ( ruleQualifiedName ) )
-            // InternalReportDSL.g:34864:1: ( ruleQualifiedName )
+            // InternalReportDSL.g:34573:1: ( ( ruleQualifiedName ) )
+            // InternalReportDSL.g:34574:1: ( ruleQualifiedName )
             {
-            // InternalReportDSL.g:34864:1: ( ruleQualifiedName )
-            // InternalReportDSL.g:34865:2: ruleQualifiedName
+            // InternalReportDSL.g:34574:1: ( ruleQualifiedName )
+            // InternalReportDSL.g:34575:2: ruleQualifiedName
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getQualifiedNameWithWildcardAccess().getQualifiedNameParserRuleCall_0()); 
@@ -114195,16 +113076,16 @@
 
 
     // $ANTLR start "rule__QualifiedNameWithWildcard__Group__1"
-    // InternalReportDSL.g:34874:1: rule__QualifiedNameWithWildcard__Group__1 : rule__QualifiedNameWithWildcard__Group__1__Impl rule__QualifiedNameWithWildcard__Group__2 ;
+    // InternalReportDSL.g:34584:1: rule__QualifiedNameWithWildcard__Group__1 : rule__QualifiedNameWithWildcard__Group__1__Impl rule__QualifiedNameWithWildcard__Group__2 ;
     public final void rule__QualifiedNameWithWildcard__Group__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:34878:1: ( rule__QualifiedNameWithWildcard__Group__1__Impl rule__QualifiedNameWithWildcard__Group__2 )
-            // InternalReportDSL.g:34879:2: rule__QualifiedNameWithWildcard__Group__1__Impl rule__QualifiedNameWithWildcard__Group__2
+            // InternalReportDSL.g:34588:1: ( rule__QualifiedNameWithWildcard__Group__1__Impl rule__QualifiedNameWithWildcard__Group__2 )
+            // InternalReportDSL.g:34589:2: rule__QualifiedNameWithWildcard__Group__1__Impl rule__QualifiedNameWithWildcard__Group__2
             {
-            pushFollow(FOLLOW_221);
+            pushFollow(FOLLOW_219);
             rule__QualifiedNameWithWildcard__Group__1__Impl();
 
             state._fsp--;
@@ -114233,17 +113114,17 @@
 
 
     // $ANTLR start "rule__QualifiedNameWithWildcard__Group__1__Impl"
-    // InternalReportDSL.g:34886:1: rule__QualifiedNameWithWildcard__Group__1__Impl : ( '.' ) ;
+    // InternalReportDSL.g:34596:1: rule__QualifiedNameWithWildcard__Group__1__Impl : ( '.' ) ;
     public final void rule__QualifiedNameWithWildcard__Group__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:34890:1: ( ( '.' ) )
-            // InternalReportDSL.g:34891:1: ( '.' )
+            // InternalReportDSL.g:34600:1: ( ( '.' ) )
+            // InternalReportDSL.g:34601:1: ( '.' )
             {
-            // InternalReportDSL.g:34891:1: ( '.' )
-            // InternalReportDSL.g:34892:2: '.'
+            // InternalReportDSL.g:34601:1: ( '.' )
+            // InternalReportDSL.g:34602:2: '.'
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getQualifiedNameWithWildcardAccess().getFullStopKeyword_1()); 
@@ -114274,14 +113155,14 @@
 
 
     // $ANTLR start "rule__QualifiedNameWithWildcard__Group__2"
-    // InternalReportDSL.g:34901:1: rule__QualifiedNameWithWildcard__Group__2 : rule__QualifiedNameWithWildcard__Group__2__Impl ;
+    // InternalReportDSL.g:34611:1: rule__QualifiedNameWithWildcard__Group__2 : rule__QualifiedNameWithWildcard__Group__2__Impl ;
     public final void rule__QualifiedNameWithWildcard__Group__2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:34905:1: ( rule__QualifiedNameWithWildcard__Group__2__Impl )
-            // InternalReportDSL.g:34906:2: rule__QualifiedNameWithWildcard__Group__2__Impl
+            // InternalReportDSL.g:34615:1: ( rule__QualifiedNameWithWildcard__Group__2__Impl )
+            // InternalReportDSL.g:34616:2: rule__QualifiedNameWithWildcard__Group__2__Impl
             {
             pushFollow(FOLLOW_2);
             rule__QualifiedNameWithWildcard__Group__2__Impl();
@@ -114307,17 +113188,17 @@
 
 
     // $ANTLR start "rule__QualifiedNameWithWildcard__Group__2__Impl"
-    // InternalReportDSL.g:34912:1: rule__QualifiedNameWithWildcard__Group__2__Impl : ( '*' ) ;
+    // InternalReportDSL.g:34622:1: rule__QualifiedNameWithWildcard__Group__2__Impl : ( '*' ) ;
     public final void rule__QualifiedNameWithWildcard__Group__2__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:34916:1: ( ( '*' ) )
-            // InternalReportDSL.g:34917:1: ( '*' )
+            // InternalReportDSL.g:34626:1: ( ( '*' ) )
+            // InternalReportDSL.g:34627:1: ( '*' )
             {
-            // InternalReportDSL.g:34917:1: ( '*' )
-            // InternalReportDSL.g:34918:2: '*'
+            // InternalReportDSL.g:34627:1: ( '*' )
+            // InternalReportDSL.g:34628:2: '*'
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getQualifiedNameWithWildcardAccess().getAsteriskKeyword_2()); 
@@ -114348,16 +113229,16 @@
 
 
     // $ANTLR start "rule__QualifiedNameInStaticImport__Group__0"
-    // InternalReportDSL.g:34928:1: rule__QualifiedNameInStaticImport__Group__0 : rule__QualifiedNameInStaticImport__Group__0__Impl rule__QualifiedNameInStaticImport__Group__1 ;
+    // InternalReportDSL.g:34638:1: rule__QualifiedNameInStaticImport__Group__0 : rule__QualifiedNameInStaticImport__Group__0__Impl rule__QualifiedNameInStaticImport__Group__1 ;
     public final void rule__QualifiedNameInStaticImport__Group__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:34932:1: ( rule__QualifiedNameInStaticImport__Group__0__Impl rule__QualifiedNameInStaticImport__Group__1 )
-            // InternalReportDSL.g:34933:2: rule__QualifiedNameInStaticImport__Group__0__Impl rule__QualifiedNameInStaticImport__Group__1
+            // InternalReportDSL.g:34642:1: ( rule__QualifiedNameInStaticImport__Group__0__Impl rule__QualifiedNameInStaticImport__Group__1 )
+            // InternalReportDSL.g:34643:2: rule__QualifiedNameInStaticImport__Group__0__Impl rule__QualifiedNameInStaticImport__Group__1
             {
-            pushFollow(FOLLOW_214);
+            pushFollow(FOLLOW_212);
             rule__QualifiedNameInStaticImport__Group__0__Impl();
 
             state._fsp--;
@@ -114386,17 +113267,17 @@
 
 
     // $ANTLR start "rule__QualifiedNameInStaticImport__Group__0__Impl"
-    // InternalReportDSL.g:34940:1: rule__QualifiedNameInStaticImport__Group__0__Impl : ( ruleValidID ) ;
+    // InternalReportDSL.g:34650:1: rule__QualifiedNameInStaticImport__Group__0__Impl : ( ruleValidID ) ;
     public final void rule__QualifiedNameInStaticImport__Group__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:34944:1: ( ( ruleValidID ) )
-            // InternalReportDSL.g:34945:1: ( ruleValidID )
+            // InternalReportDSL.g:34654:1: ( ( ruleValidID ) )
+            // InternalReportDSL.g:34655:1: ( ruleValidID )
             {
-            // InternalReportDSL.g:34945:1: ( ruleValidID )
-            // InternalReportDSL.g:34946:2: ruleValidID
+            // InternalReportDSL.g:34655:1: ( ruleValidID )
+            // InternalReportDSL.g:34656:2: ruleValidID
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getQualifiedNameInStaticImportAccess().getValidIDParserRuleCall_0()); 
@@ -114431,14 +113312,14 @@
 
 
     // $ANTLR start "rule__QualifiedNameInStaticImport__Group__1"
-    // InternalReportDSL.g:34955:1: rule__QualifiedNameInStaticImport__Group__1 : rule__QualifiedNameInStaticImport__Group__1__Impl ;
+    // InternalReportDSL.g:34665:1: rule__QualifiedNameInStaticImport__Group__1 : rule__QualifiedNameInStaticImport__Group__1__Impl ;
     public final void rule__QualifiedNameInStaticImport__Group__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:34959:1: ( rule__QualifiedNameInStaticImport__Group__1__Impl )
-            // InternalReportDSL.g:34960:2: rule__QualifiedNameInStaticImport__Group__1__Impl
+            // InternalReportDSL.g:34669:1: ( rule__QualifiedNameInStaticImport__Group__1__Impl )
+            // InternalReportDSL.g:34670:2: rule__QualifiedNameInStaticImport__Group__1__Impl
             {
             pushFollow(FOLLOW_2);
             rule__QualifiedNameInStaticImport__Group__1__Impl();
@@ -114464,17 +113345,17 @@
 
 
     // $ANTLR start "rule__QualifiedNameInStaticImport__Group__1__Impl"
-    // InternalReportDSL.g:34966:1: rule__QualifiedNameInStaticImport__Group__1__Impl : ( '.' ) ;
+    // InternalReportDSL.g:34676:1: rule__QualifiedNameInStaticImport__Group__1__Impl : ( '.' ) ;
     public final void rule__QualifiedNameInStaticImport__Group__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:34970:1: ( ( '.' ) )
-            // InternalReportDSL.g:34971:1: ( '.' )
+            // InternalReportDSL.g:34680:1: ( ( '.' ) )
+            // InternalReportDSL.g:34681:1: ( '.' )
             {
-            // InternalReportDSL.g:34971:1: ( '.' )
-            // InternalReportDSL.g:34972:2: '.'
+            // InternalReportDSL.g:34681:1: ( '.' )
+            // InternalReportDSL.g:34682:2: '.'
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getQualifiedNameInStaticImportAccess().getFullStopKeyword_1()); 
@@ -114505,39 +113386,39 @@
 
 
     // $ANTLR start "rule__Font__UnorderedGroup_4"
-    // InternalReportDSL.g:34982:1: rule__Font__UnorderedGroup_4 : ( rule__Font__UnorderedGroup_4__0 )? ;
+    // InternalReportDSL.g:34692:1: rule__Font__UnorderedGroup_4 : ( rule__Font__UnorderedGroup_4__0 )? ;
     public final void rule__Font__UnorderedGroup_4() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         		getUnorderedGroupHelper().enter(grammarAccess.getFontAccess().getUnorderedGroup_4());
         	
         try {
-            // InternalReportDSL.g:34987:1: ( ( rule__Font__UnorderedGroup_4__0 )? )
-            // InternalReportDSL.g:34988:2: ( rule__Font__UnorderedGroup_4__0 )?
+            // InternalReportDSL.g:34697:1: ( ( rule__Font__UnorderedGroup_4__0 )? )
+            // InternalReportDSL.g:34698:2: ( rule__Font__UnorderedGroup_4__0 )?
             {
-            // InternalReportDSL.g:34988:2: ( rule__Font__UnorderedGroup_4__0 )?
-            int alt254=2;
-            int LA254_0 = input.LA(1);
+            // InternalReportDSL.g:34698:2: ( rule__Font__UnorderedGroup_4__0 )?
+            int alt236=2;
+            int LA236_0 = input.LA(1);
 
-            if ( LA254_0 == 150 && getUnorderedGroupHelper().canSelect(grammarAccess.getFontAccess().getUnorderedGroup_4(), 0) ) {
-                alt254=1;
+            if ( LA236_0 == 156 && getUnorderedGroupHelper().canSelect(grammarAccess.getFontAccess().getUnorderedGroup_4(), 0) ) {
+                alt236=1;
             }
-            else if ( LA254_0 == 72 && getUnorderedGroupHelper().canSelect(grammarAccess.getFontAccess().getUnorderedGroup_4(), 1) ) {
-                alt254=1;
+            else if ( LA236_0 == 72 && getUnorderedGroupHelper().canSelect(grammarAccess.getFontAccess().getUnorderedGroup_4(), 1) ) {
+                alt236=1;
             }
-            else if ( LA254_0 == 73 && getUnorderedGroupHelper().canSelect(grammarAccess.getFontAccess().getUnorderedGroup_4(), 1) ) {
-                alt254=1;
+            else if ( LA236_0 == 73 && getUnorderedGroupHelper().canSelect(grammarAccess.getFontAccess().getUnorderedGroup_4(), 1) ) {
+                alt236=1;
             }
-            else if ( LA254_0 == 74 && getUnorderedGroupHelper().canSelect(grammarAccess.getFontAccess().getUnorderedGroup_4(), 1) ) {
-                alt254=1;
+            else if ( LA236_0 == 74 && getUnorderedGroupHelper().canSelect(grammarAccess.getFontAccess().getUnorderedGroup_4(), 1) ) {
+                alt236=1;
             }
-            else if ( LA254_0 == 253 && getUnorderedGroupHelper().canSelect(grammarAccess.getFontAccess().getUnorderedGroup_4(), 2) ) {
-                alt254=1;
+            else if ( LA236_0 == 260 && getUnorderedGroupHelper().canSelect(grammarAccess.getFontAccess().getUnorderedGroup_4(), 2) ) {
+                alt236=1;
             }
-            else if ( LA254_0 == 151 && getUnorderedGroupHelper().canSelect(grammarAccess.getFontAccess().getUnorderedGroup_4(), 3) ) {
-                alt254=1;
+            else if ( LA236_0 == 157 && getUnorderedGroupHelper().canSelect(grammarAccess.getFontAccess().getUnorderedGroup_4(), 3) ) {
+                alt236=1;
             }
-            switch (alt254) {
+            switch (alt236) {
                 case 1 :
                     // InternalReportDSL.g:0:0: rule__Font__UnorderedGroup_4__0
                     {
@@ -114572,69 +113453,69 @@
 
 
     // $ANTLR start "rule__Font__UnorderedGroup_4__Impl"
-    // InternalReportDSL.g:34996:1: rule__Font__UnorderedGroup_4__Impl : ( ({...}? => ( ( ( rule__Font__Group_4_0__0 ) ) ) ) | ({...}? => ( ( ( rule__Font__StyleAssignment_4_1 ) ) ) ) | ({...}? => ( ( ( rule__Font__BoldAssignment_4_2 ) ) ) ) | ({...}? => ( ( ( rule__Font__Group_4_3__0 ) ) ) ) ) ;
+    // InternalReportDSL.g:34706:1: rule__Font__UnorderedGroup_4__Impl : ( ({...}? => ( ( ( rule__Font__Group_4_0__0 ) ) ) ) | ({...}? => ( ( ( rule__Font__StyleAssignment_4_1 ) ) ) ) | ({...}? => ( ( ( rule__Font__BoldAssignment_4_2 ) ) ) ) | ({...}? => ( ( ( rule__Font__Group_4_3__0 ) ) ) ) ) ;
     public final void rule__Font__UnorderedGroup_4__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         		boolean selected = false;
         	
         try {
-            // InternalReportDSL.g:35001:1: ( ( ({...}? => ( ( ( rule__Font__Group_4_0__0 ) ) ) ) | ({...}? => ( ( ( rule__Font__StyleAssignment_4_1 ) ) ) ) | ({...}? => ( ( ( rule__Font__BoldAssignment_4_2 ) ) ) ) | ({...}? => ( ( ( rule__Font__Group_4_3__0 ) ) ) ) ) )
-            // InternalReportDSL.g:35002:3: ( ({...}? => ( ( ( rule__Font__Group_4_0__0 ) ) ) ) | ({...}? => ( ( ( rule__Font__StyleAssignment_4_1 ) ) ) ) | ({...}? => ( ( ( rule__Font__BoldAssignment_4_2 ) ) ) ) | ({...}? => ( ( ( rule__Font__Group_4_3__0 ) ) ) ) )
+            // InternalReportDSL.g:34711:1: ( ( ({...}? => ( ( ( rule__Font__Group_4_0__0 ) ) ) ) | ({...}? => ( ( ( rule__Font__StyleAssignment_4_1 ) ) ) ) | ({...}? => ( ( ( rule__Font__BoldAssignment_4_2 ) ) ) ) | ({...}? => ( ( ( rule__Font__Group_4_3__0 ) ) ) ) ) )
+            // InternalReportDSL.g:34712:3: ( ({...}? => ( ( ( rule__Font__Group_4_0__0 ) ) ) ) | ({...}? => ( ( ( rule__Font__StyleAssignment_4_1 ) ) ) ) | ({...}? => ( ( ( rule__Font__BoldAssignment_4_2 ) ) ) ) | ({...}? => ( ( ( rule__Font__Group_4_3__0 ) ) ) ) )
             {
-            // InternalReportDSL.g:35002:3: ( ({...}? => ( ( ( rule__Font__Group_4_0__0 ) ) ) ) | ({...}? => ( ( ( rule__Font__StyleAssignment_4_1 ) ) ) ) | ({...}? => ( ( ( rule__Font__BoldAssignment_4_2 ) ) ) ) | ({...}? => ( ( ( rule__Font__Group_4_3__0 ) ) ) ) )
-            int alt255=4;
-            int LA255_0 = input.LA(1);
+            // InternalReportDSL.g:34712:3: ( ({...}? => ( ( ( rule__Font__Group_4_0__0 ) ) ) ) | ({...}? => ( ( ( rule__Font__StyleAssignment_4_1 ) ) ) ) | ({...}? => ( ( ( rule__Font__BoldAssignment_4_2 ) ) ) ) | ({...}? => ( ( ( rule__Font__Group_4_3__0 ) ) ) ) )
+            int alt237=4;
+            int LA237_0 = input.LA(1);
 
-            if ( LA255_0 == 150 && getUnorderedGroupHelper().canSelect(grammarAccess.getFontAccess().getUnorderedGroup_4(), 0) ) {
-                alt255=1;
+            if ( LA237_0 == 156 && getUnorderedGroupHelper().canSelect(grammarAccess.getFontAccess().getUnorderedGroup_4(), 0) ) {
+                alt237=1;
             }
-            else if ( LA255_0 == 72 && getUnorderedGroupHelper().canSelect(grammarAccess.getFontAccess().getUnorderedGroup_4(), 1) ) {
-                alt255=2;
+            else if ( LA237_0 == 72 && getUnorderedGroupHelper().canSelect(grammarAccess.getFontAccess().getUnorderedGroup_4(), 1) ) {
+                alt237=2;
             }
-            else if ( LA255_0 == 73 && getUnorderedGroupHelper().canSelect(grammarAccess.getFontAccess().getUnorderedGroup_4(), 1) ) {
-                alt255=2;
+            else if ( LA237_0 == 73 && getUnorderedGroupHelper().canSelect(grammarAccess.getFontAccess().getUnorderedGroup_4(), 1) ) {
+                alt237=2;
             }
-            else if ( LA255_0 == 74 && getUnorderedGroupHelper().canSelect(grammarAccess.getFontAccess().getUnorderedGroup_4(), 1) ) {
-                alt255=2;
+            else if ( LA237_0 == 74 && getUnorderedGroupHelper().canSelect(grammarAccess.getFontAccess().getUnorderedGroup_4(), 1) ) {
+                alt237=2;
             }
-            else if ( LA255_0 == 253 && getUnorderedGroupHelper().canSelect(grammarAccess.getFontAccess().getUnorderedGroup_4(), 2) ) {
-                alt255=3;
+            else if ( LA237_0 == 260 && getUnorderedGroupHelper().canSelect(grammarAccess.getFontAccess().getUnorderedGroup_4(), 2) ) {
+                alt237=3;
             }
-            else if ( LA255_0 == 151 && getUnorderedGroupHelper().canSelect(grammarAccess.getFontAccess().getUnorderedGroup_4(), 3) ) {
-                alt255=4;
+            else if ( LA237_0 == 157 && getUnorderedGroupHelper().canSelect(grammarAccess.getFontAccess().getUnorderedGroup_4(), 3) ) {
+                alt237=4;
             }
             else {
                 if (state.backtracking>0) {state.failed=true; return ;}
                 NoViableAltException nvae =
-                    new NoViableAltException("", 255, 0, input);
+                    new NoViableAltException("", 237, 0, input);
 
                 throw nvae;
             }
-            switch (alt255) {
+            switch (alt237) {
                 case 1 :
-                    // InternalReportDSL.g:35003:3: ({...}? => ( ( ( rule__Font__Group_4_0__0 ) ) ) )
+                    // InternalReportDSL.g:34713:3: ({...}? => ( ( ( rule__Font__Group_4_0__0 ) ) ) )
                     {
-                    // InternalReportDSL.g:35003:3: ({...}? => ( ( ( rule__Font__Group_4_0__0 ) ) ) )
-                    // InternalReportDSL.g:35004:4: {...}? => ( ( ( rule__Font__Group_4_0__0 ) ) )
+                    // InternalReportDSL.g:34713:3: ({...}? => ( ( ( rule__Font__Group_4_0__0 ) ) ) )
+                    // InternalReportDSL.g:34714:4: {...}? => ( ( ( rule__Font__Group_4_0__0 ) ) )
                     {
                     if ( ! getUnorderedGroupHelper().canSelect(grammarAccess.getFontAccess().getUnorderedGroup_4(), 0) ) {
                         if (state.backtracking>0) {state.failed=true; return ;}
                         throw new FailedPredicateException(input, "rule__Font__UnorderedGroup_4__Impl", "getUnorderedGroupHelper().canSelect(grammarAccess.getFontAccess().getUnorderedGroup_4(), 0)");
                     }
-                    // InternalReportDSL.g:35004:100: ( ( ( rule__Font__Group_4_0__0 ) ) )
-                    // InternalReportDSL.g:35005:5: ( ( rule__Font__Group_4_0__0 ) )
+                    // InternalReportDSL.g:34714:100: ( ( ( rule__Font__Group_4_0__0 ) ) )
+                    // InternalReportDSL.g:34715:5: ( ( rule__Font__Group_4_0__0 ) )
                     {
                     getUnorderedGroupHelper().select(grammarAccess.getFontAccess().getUnorderedGroup_4(), 0);
                     selected = true;
-                    // InternalReportDSL.g:35011:5: ( ( rule__Font__Group_4_0__0 ) )
-                    // InternalReportDSL.g:35012:6: ( rule__Font__Group_4_0__0 )
+                    // InternalReportDSL.g:34721:5: ( ( rule__Font__Group_4_0__0 ) )
+                    // InternalReportDSL.g:34722:6: ( rule__Font__Group_4_0__0 )
                     {
                     if ( state.backtracking==0 ) {
                        before(grammarAccess.getFontAccess().getGroup_4_0()); 
                     }
-                    // InternalReportDSL.g:35013:6: ( rule__Font__Group_4_0__0 )
-                    // InternalReportDSL.g:35013:7: rule__Font__Group_4_0__0
+                    // InternalReportDSL.g:34723:6: ( rule__Font__Group_4_0__0 )
+                    // InternalReportDSL.g:34723:7: rule__Font__Group_4_0__0
                     {
                     pushFollow(FOLLOW_2);
                     rule__Font__Group_4_0__0();
@@ -114660,28 +113541,28 @@
                     }
                     break;
                 case 2 :
-                    // InternalReportDSL.g:35018:3: ({...}? => ( ( ( rule__Font__StyleAssignment_4_1 ) ) ) )
+                    // InternalReportDSL.g:34728:3: ({...}? => ( ( ( rule__Font__StyleAssignment_4_1 ) ) ) )
                     {
-                    // InternalReportDSL.g:35018:3: ({...}? => ( ( ( rule__Font__StyleAssignment_4_1 ) ) ) )
-                    // InternalReportDSL.g:35019:4: {...}? => ( ( ( rule__Font__StyleAssignment_4_1 ) ) )
+                    // InternalReportDSL.g:34728:3: ({...}? => ( ( ( rule__Font__StyleAssignment_4_1 ) ) ) )
+                    // InternalReportDSL.g:34729:4: {...}? => ( ( ( rule__Font__StyleAssignment_4_1 ) ) )
                     {
                     if ( ! getUnorderedGroupHelper().canSelect(grammarAccess.getFontAccess().getUnorderedGroup_4(), 1) ) {
                         if (state.backtracking>0) {state.failed=true; return ;}
                         throw new FailedPredicateException(input, "rule__Font__UnorderedGroup_4__Impl", "getUnorderedGroupHelper().canSelect(grammarAccess.getFontAccess().getUnorderedGroup_4(), 1)");
                     }
-                    // InternalReportDSL.g:35019:100: ( ( ( rule__Font__StyleAssignment_4_1 ) ) )
-                    // InternalReportDSL.g:35020:5: ( ( rule__Font__StyleAssignment_4_1 ) )
+                    // InternalReportDSL.g:34729:100: ( ( ( rule__Font__StyleAssignment_4_1 ) ) )
+                    // InternalReportDSL.g:34730:5: ( ( rule__Font__StyleAssignment_4_1 ) )
                     {
                     getUnorderedGroupHelper().select(grammarAccess.getFontAccess().getUnorderedGroup_4(), 1);
                     selected = true;
-                    // InternalReportDSL.g:35026:5: ( ( rule__Font__StyleAssignment_4_1 ) )
-                    // InternalReportDSL.g:35027:6: ( rule__Font__StyleAssignment_4_1 )
+                    // InternalReportDSL.g:34736:5: ( ( rule__Font__StyleAssignment_4_1 ) )
+                    // InternalReportDSL.g:34737:6: ( rule__Font__StyleAssignment_4_1 )
                     {
                     if ( state.backtracking==0 ) {
                        before(grammarAccess.getFontAccess().getStyleAssignment_4_1()); 
                     }
-                    // InternalReportDSL.g:35028:6: ( rule__Font__StyleAssignment_4_1 )
-                    // InternalReportDSL.g:35028:7: rule__Font__StyleAssignment_4_1
+                    // InternalReportDSL.g:34738:6: ( rule__Font__StyleAssignment_4_1 )
+                    // InternalReportDSL.g:34738:7: rule__Font__StyleAssignment_4_1
                     {
                     pushFollow(FOLLOW_2);
                     rule__Font__StyleAssignment_4_1();
@@ -114707,28 +113588,28 @@
                     }
                     break;
                 case 3 :
-                    // InternalReportDSL.g:35033:3: ({...}? => ( ( ( rule__Font__BoldAssignment_4_2 ) ) ) )
+                    // InternalReportDSL.g:34743:3: ({...}? => ( ( ( rule__Font__BoldAssignment_4_2 ) ) ) )
                     {
-                    // InternalReportDSL.g:35033:3: ({...}? => ( ( ( rule__Font__BoldAssignment_4_2 ) ) ) )
-                    // InternalReportDSL.g:35034:4: {...}? => ( ( ( rule__Font__BoldAssignment_4_2 ) ) )
+                    // InternalReportDSL.g:34743:3: ({...}? => ( ( ( rule__Font__BoldAssignment_4_2 ) ) ) )
+                    // InternalReportDSL.g:34744:4: {...}? => ( ( ( rule__Font__BoldAssignment_4_2 ) ) )
                     {
                     if ( ! getUnorderedGroupHelper().canSelect(grammarAccess.getFontAccess().getUnorderedGroup_4(), 2) ) {
                         if (state.backtracking>0) {state.failed=true; return ;}
                         throw new FailedPredicateException(input, "rule__Font__UnorderedGroup_4__Impl", "getUnorderedGroupHelper().canSelect(grammarAccess.getFontAccess().getUnorderedGroup_4(), 2)");
                     }
-                    // InternalReportDSL.g:35034:100: ( ( ( rule__Font__BoldAssignment_4_2 ) ) )
-                    // InternalReportDSL.g:35035:5: ( ( rule__Font__BoldAssignment_4_2 ) )
+                    // InternalReportDSL.g:34744:100: ( ( ( rule__Font__BoldAssignment_4_2 ) ) )
+                    // InternalReportDSL.g:34745:5: ( ( rule__Font__BoldAssignment_4_2 ) )
                     {
                     getUnorderedGroupHelper().select(grammarAccess.getFontAccess().getUnorderedGroup_4(), 2);
                     selected = true;
-                    // InternalReportDSL.g:35041:5: ( ( rule__Font__BoldAssignment_4_2 ) )
-                    // InternalReportDSL.g:35042:6: ( rule__Font__BoldAssignment_4_2 )
+                    // InternalReportDSL.g:34751:5: ( ( rule__Font__BoldAssignment_4_2 ) )
+                    // InternalReportDSL.g:34752:6: ( rule__Font__BoldAssignment_4_2 )
                     {
                     if ( state.backtracking==0 ) {
                        before(grammarAccess.getFontAccess().getBoldAssignment_4_2()); 
                     }
-                    // InternalReportDSL.g:35043:6: ( rule__Font__BoldAssignment_4_2 )
-                    // InternalReportDSL.g:35043:7: rule__Font__BoldAssignment_4_2
+                    // InternalReportDSL.g:34753:6: ( rule__Font__BoldAssignment_4_2 )
+                    // InternalReportDSL.g:34753:7: rule__Font__BoldAssignment_4_2
                     {
                     pushFollow(FOLLOW_2);
                     rule__Font__BoldAssignment_4_2();
@@ -114754,28 +113635,28 @@
                     }
                     break;
                 case 4 :
-                    // InternalReportDSL.g:35048:3: ({...}? => ( ( ( rule__Font__Group_4_3__0 ) ) ) )
+                    // InternalReportDSL.g:34758:3: ({...}? => ( ( ( rule__Font__Group_4_3__0 ) ) ) )
                     {
-                    // InternalReportDSL.g:35048:3: ({...}? => ( ( ( rule__Font__Group_4_3__0 ) ) ) )
-                    // InternalReportDSL.g:35049:4: {...}? => ( ( ( rule__Font__Group_4_3__0 ) ) )
+                    // InternalReportDSL.g:34758:3: ({...}? => ( ( ( rule__Font__Group_4_3__0 ) ) ) )
+                    // InternalReportDSL.g:34759:4: {...}? => ( ( ( rule__Font__Group_4_3__0 ) ) )
                     {
                     if ( ! getUnorderedGroupHelper().canSelect(grammarAccess.getFontAccess().getUnorderedGroup_4(), 3) ) {
                         if (state.backtracking>0) {state.failed=true; return ;}
                         throw new FailedPredicateException(input, "rule__Font__UnorderedGroup_4__Impl", "getUnorderedGroupHelper().canSelect(grammarAccess.getFontAccess().getUnorderedGroup_4(), 3)");
                     }
-                    // InternalReportDSL.g:35049:100: ( ( ( rule__Font__Group_4_3__0 ) ) )
-                    // InternalReportDSL.g:35050:5: ( ( rule__Font__Group_4_3__0 ) )
+                    // InternalReportDSL.g:34759:100: ( ( ( rule__Font__Group_4_3__0 ) ) )
+                    // InternalReportDSL.g:34760:5: ( ( rule__Font__Group_4_3__0 ) )
                     {
                     getUnorderedGroupHelper().select(grammarAccess.getFontAccess().getUnorderedGroup_4(), 3);
                     selected = true;
-                    // InternalReportDSL.g:35056:5: ( ( rule__Font__Group_4_3__0 ) )
-                    // InternalReportDSL.g:35057:6: ( rule__Font__Group_4_3__0 )
+                    // InternalReportDSL.g:34766:5: ( ( rule__Font__Group_4_3__0 ) )
+                    // InternalReportDSL.g:34767:6: ( rule__Font__Group_4_3__0 )
                     {
                     if ( state.backtracking==0 ) {
                        before(grammarAccess.getFontAccess().getGroup_4_3()); 
                     }
-                    // InternalReportDSL.g:35058:6: ( rule__Font__Group_4_3__0 )
-                    // InternalReportDSL.g:35058:7: rule__Font__Group_4_3__0
+                    // InternalReportDSL.g:34768:6: ( rule__Font__Group_4_3__0 )
+                    // InternalReportDSL.g:34768:7: rule__Font__Group_4_3__0
                     {
                     pushFollow(FOLLOW_2);
                     rule__Font__Group_4_3__0();
@@ -114824,43 +113705,43 @@
 
 
     // $ANTLR start "rule__Font__UnorderedGroup_4__0"
-    // InternalReportDSL.g:35071:1: rule__Font__UnorderedGroup_4__0 : rule__Font__UnorderedGroup_4__Impl ( rule__Font__UnorderedGroup_4__1 )? ;
+    // InternalReportDSL.g:34781:1: rule__Font__UnorderedGroup_4__0 : rule__Font__UnorderedGroup_4__Impl ( rule__Font__UnorderedGroup_4__1 )? ;
     public final void rule__Font__UnorderedGroup_4__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:35075:1: ( rule__Font__UnorderedGroup_4__Impl ( rule__Font__UnorderedGroup_4__1 )? )
-            // InternalReportDSL.g:35076:2: rule__Font__UnorderedGroup_4__Impl ( rule__Font__UnorderedGroup_4__1 )?
+            // InternalReportDSL.g:34785:1: ( rule__Font__UnorderedGroup_4__Impl ( rule__Font__UnorderedGroup_4__1 )? )
+            // InternalReportDSL.g:34786:2: rule__Font__UnorderedGroup_4__Impl ( rule__Font__UnorderedGroup_4__1 )?
             {
-            pushFollow(FOLLOW_222);
+            pushFollow(FOLLOW_220);
             rule__Font__UnorderedGroup_4__Impl();
 
             state._fsp--;
             if (state.failed) return ;
-            // InternalReportDSL.g:35077:2: ( rule__Font__UnorderedGroup_4__1 )?
-            int alt256=2;
-            int LA256_0 = input.LA(1);
+            // InternalReportDSL.g:34787:2: ( rule__Font__UnorderedGroup_4__1 )?
+            int alt238=2;
+            int LA238_0 = input.LA(1);
 
-            if ( LA256_0 == 150 && getUnorderedGroupHelper().canSelect(grammarAccess.getFontAccess().getUnorderedGroup_4(), 0) ) {
-                alt256=1;
+            if ( LA238_0 == 156 && getUnorderedGroupHelper().canSelect(grammarAccess.getFontAccess().getUnorderedGroup_4(), 0) ) {
+                alt238=1;
             }
-            else if ( LA256_0 == 72 && getUnorderedGroupHelper().canSelect(grammarAccess.getFontAccess().getUnorderedGroup_4(), 1) ) {
-                alt256=1;
+            else if ( LA238_0 == 72 && getUnorderedGroupHelper().canSelect(grammarAccess.getFontAccess().getUnorderedGroup_4(), 1) ) {
+                alt238=1;
             }
-            else if ( LA256_0 == 73 && getUnorderedGroupHelper().canSelect(grammarAccess.getFontAccess().getUnorderedGroup_4(), 1) ) {
-                alt256=1;
+            else if ( LA238_0 == 73 && getUnorderedGroupHelper().canSelect(grammarAccess.getFontAccess().getUnorderedGroup_4(), 1) ) {
+                alt238=1;
             }
-            else if ( LA256_0 == 74 && getUnorderedGroupHelper().canSelect(grammarAccess.getFontAccess().getUnorderedGroup_4(), 1) ) {
-                alt256=1;
+            else if ( LA238_0 == 74 && getUnorderedGroupHelper().canSelect(grammarAccess.getFontAccess().getUnorderedGroup_4(), 1) ) {
+                alt238=1;
             }
-            else if ( LA256_0 == 253 && getUnorderedGroupHelper().canSelect(grammarAccess.getFontAccess().getUnorderedGroup_4(), 2) ) {
-                alt256=1;
+            else if ( LA238_0 == 260 && getUnorderedGroupHelper().canSelect(grammarAccess.getFontAccess().getUnorderedGroup_4(), 2) ) {
+                alt238=1;
             }
-            else if ( LA256_0 == 151 && getUnorderedGroupHelper().canSelect(grammarAccess.getFontAccess().getUnorderedGroup_4(), 3) ) {
-                alt256=1;
+            else if ( LA238_0 == 157 && getUnorderedGroupHelper().canSelect(grammarAccess.getFontAccess().getUnorderedGroup_4(), 3) ) {
+                alt238=1;
             }
-            switch (alt256) {
+            switch (alt238) {
                 case 1 :
                     // InternalReportDSL.g:0:0: rule__Font__UnorderedGroup_4__1
                     {
@@ -114894,43 +113775,43 @@
 
 
     // $ANTLR start "rule__Font__UnorderedGroup_4__1"
-    // InternalReportDSL.g:35083:1: rule__Font__UnorderedGroup_4__1 : rule__Font__UnorderedGroup_4__Impl ( rule__Font__UnorderedGroup_4__2 )? ;
+    // InternalReportDSL.g:34793:1: rule__Font__UnorderedGroup_4__1 : rule__Font__UnorderedGroup_4__Impl ( rule__Font__UnorderedGroup_4__2 )? ;
     public final void rule__Font__UnorderedGroup_4__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:35087:1: ( rule__Font__UnorderedGroup_4__Impl ( rule__Font__UnorderedGroup_4__2 )? )
-            // InternalReportDSL.g:35088:2: rule__Font__UnorderedGroup_4__Impl ( rule__Font__UnorderedGroup_4__2 )?
+            // InternalReportDSL.g:34797:1: ( rule__Font__UnorderedGroup_4__Impl ( rule__Font__UnorderedGroup_4__2 )? )
+            // InternalReportDSL.g:34798:2: rule__Font__UnorderedGroup_4__Impl ( rule__Font__UnorderedGroup_4__2 )?
             {
-            pushFollow(FOLLOW_222);
+            pushFollow(FOLLOW_220);
             rule__Font__UnorderedGroup_4__Impl();
 
             state._fsp--;
             if (state.failed) return ;
-            // InternalReportDSL.g:35089:2: ( rule__Font__UnorderedGroup_4__2 )?
-            int alt257=2;
-            int LA257_0 = input.LA(1);
+            // InternalReportDSL.g:34799:2: ( rule__Font__UnorderedGroup_4__2 )?
+            int alt239=2;
+            int LA239_0 = input.LA(1);
 
-            if ( LA257_0 == 150 && getUnorderedGroupHelper().canSelect(grammarAccess.getFontAccess().getUnorderedGroup_4(), 0) ) {
-                alt257=1;
+            if ( LA239_0 == 156 && getUnorderedGroupHelper().canSelect(grammarAccess.getFontAccess().getUnorderedGroup_4(), 0) ) {
+                alt239=1;
             }
-            else if ( LA257_0 == 72 && getUnorderedGroupHelper().canSelect(grammarAccess.getFontAccess().getUnorderedGroup_4(), 1) ) {
-                alt257=1;
+            else if ( LA239_0 == 72 && getUnorderedGroupHelper().canSelect(grammarAccess.getFontAccess().getUnorderedGroup_4(), 1) ) {
+                alt239=1;
             }
-            else if ( LA257_0 == 73 && getUnorderedGroupHelper().canSelect(grammarAccess.getFontAccess().getUnorderedGroup_4(), 1) ) {
-                alt257=1;
+            else if ( LA239_0 == 73 && getUnorderedGroupHelper().canSelect(grammarAccess.getFontAccess().getUnorderedGroup_4(), 1) ) {
+                alt239=1;
             }
-            else if ( LA257_0 == 74 && getUnorderedGroupHelper().canSelect(grammarAccess.getFontAccess().getUnorderedGroup_4(), 1) ) {
-                alt257=1;
+            else if ( LA239_0 == 74 && getUnorderedGroupHelper().canSelect(grammarAccess.getFontAccess().getUnorderedGroup_4(), 1) ) {
+                alt239=1;
             }
-            else if ( LA257_0 == 253 && getUnorderedGroupHelper().canSelect(grammarAccess.getFontAccess().getUnorderedGroup_4(), 2) ) {
-                alt257=1;
+            else if ( LA239_0 == 260 && getUnorderedGroupHelper().canSelect(grammarAccess.getFontAccess().getUnorderedGroup_4(), 2) ) {
+                alt239=1;
             }
-            else if ( LA257_0 == 151 && getUnorderedGroupHelper().canSelect(grammarAccess.getFontAccess().getUnorderedGroup_4(), 3) ) {
-                alt257=1;
+            else if ( LA239_0 == 157 && getUnorderedGroupHelper().canSelect(grammarAccess.getFontAccess().getUnorderedGroup_4(), 3) ) {
+                alt239=1;
             }
-            switch (alt257) {
+            switch (alt239) {
                 case 1 :
                     // InternalReportDSL.g:0:0: rule__Font__UnorderedGroup_4__2
                     {
@@ -114964,43 +113845,43 @@
 
 
     // $ANTLR start "rule__Font__UnorderedGroup_4__2"
-    // InternalReportDSL.g:35095:1: rule__Font__UnorderedGroup_4__2 : rule__Font__UnorderedGroup_4__Impl ( rule__Font__UnorderedGroup_4__3 )? ;
+    // InternalReportDSL.g:34805:1: rule__Font__UnorderedGroup_4__2 : rule__Font__UnorderedGroup_4__Impl ( rule__Font__UnorderedGroup_4__3 )? ;
     public final void rule__Font__UnorderedGroup_4__2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:35099:1: ( rule__Font__UnorderedGroup_4__Impl ( rule__Font__UnorderedGroup_4__3 )? )
-            // InternalReportDSL.g:35100:2: rule__Font__UnorderedGroup_4__Impl ( rule__Font__UnorderedGroup_4__3 )?
+            // InternalReportDSL.g:34809:1: ( rule__Font__UnorderedGroup_4__Impl ( rule__Font__UnorderedGroup_4__3 )? )
+            // InternalReportDSL.g:34810:2: rule__Font__UnorderedGroup_4__Impl ( rule__Font__UnorderedGroup_4__3 )?
             {
-            pushFollow(FOLLOW_222);
+            pushFollow(FOLLOW_220);
             rule__Font__UnorderedGroup_4__Impl();
 
             state._fsp--;
             if (state.failed) return ;
-            // InternalReportDSL.g:35101:2: ( rule__Font__UnorderedGroup_4__3 )?
-            int alt258=2;
-            int LA258_0 = input.LA(1);
+            // InternalReportDSL.g:34811:2: ( rule__Font__UnorderedGroup_4__3 )?
+            int alt240=2;
+            int LA240_0 = input.LA(1);
 
-            if ( LA258_0 == 150 && getUnorderedGroupHelper().canSelect(grammarAccess.getFontAccess().getUnorderedGroup_4(), 0) ) {
-                alt258=1;
+            if ( LA240_0 == 156 && getUnorderedGroupHelper().canSelect(grammarAccess.getFontAccess().getUnorderedGroup_4(), 0) ) {
+                alt240=1;
             }
-            else if ( LA258_0 == 72 && getUnorderedGroupHelper().canSelect(grammarAccess.getFontAccess().getUnorderedGroup_4(), 1) ) {
-                alt258=1;
+            else if ( LA240_0 == 72 && getUnorderedGroupHelper().canSelect(grammarAccess.getFontAccess().getUnorderedGroup_4(), 1) ) {
+                alt240=1;
             }
-            else if ( LA258_0 == 73 && getUnorderedGroupHelper().canSelect(grammarAccess.getFontAccess().getUnorderedGroup_4(), 1) ) {
-                alt258=1;
+            else if ( LA240_0 == 73 && getUnorderedGroupHelper().canSelect(grammarAccess.getFontAccess().getUnorderedGroup_4(), 1) ) {
+                alt240=1;
             }
-            else if ( LA258_0 == 74 && getUnorderedGroupHelper().canSelect(grammarAccess.getFontAccess().getUnorderedGroup_4(), 1) ) {
-                alt258=1;
+            else if ( LA240_0 == 74 && getUnorderedGroupHelper().canSelect(grammarAccess.getFontAccess().getUnorderedGroup_4(), 1) ) {
+                alt240=1;
             }
-            else if ( LA258_0 == 253 && getUnorderedGroupHelper().canSelect(grammarAccess.getFontAccess().getUnorderedGroup_4(), 2) ) {
-                alt258=1;
+            else if ( LA240_0 == 260 && getUnorderedGroupHelper().canSelect(grammarAccess.getFontAccess().getUnorderedGroup_4(), 2) ) {
+                alt240=1;
             }
-            else if ( LA258_0 == 151 && getUnorderedGroupHelper().canSelect(grammarAccess.getFontAccess().getUnorderedGroup_4(), 3) ) {
-                alt258=1;
+            else if ( LA240_0 == 157 && getUnorderedGroupHelper().canSelect(grammarAccess.getFontAccess().getUnorderedGroup_4(), 3) ) {
+                alt240=1;
             }
-            switch (alt258) {
+            switch (alt240) {
                 case 1 :
                     // InternalReportDSL.g:0:0: rule__Font__UnorderedGroup_4__3
                     {
@@ -115034,14 +113915,14 @@
 
 
     // $ANTLR start "rule__Font__UnorderedGroup_4__3"
-    // InternalReportDSL.g:35107:1: rule__Font__UnorderedGroup_4__3 : rule__Font__UnorderedGroup_4__Impl ;
+    // InternalReportDSL.g:34817:1: rule__Font__UnorderedGroup_4__3 : rule__Font__UnorderedGroup_4__Impl ;
     public final void rule__Font__UnorderedGroup_4__3() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:35111:1: ( rule__Font__UnorderedGroup_4__Impl )
-            // InternalReportDSL.g:35112:2: rule__Font__UnorderedGroup_4__Impl
+            // InternalReportDSL.g:34821:1: ( rule__Font__UnorderedGroup_4__Impl )
+            // InternalReportDSL.g:34822:2: rule__Font__UnorderedGroup_4__Impl
             {
             pushFollow(FOLLOW_2);
             rule__Font__UnorderedGroup_4__Impl();
@@ -115067,20 +113948,20 @@
 
 
     // $ANTLR start "rule__Style__UnorderedGroup_4"
-    // InternalReportDSL.g:35119:1: rule__Style__UnorderedGroup_4 : ( rule__Style__UnorderedGroup_4__0 )? ;
+    // InternalReportDSL.g:34829:1: rule__Style__UnorderedGroup_4 : ( rule__Style__UnorderedGroup_4__0 )? ;
     public final void rule__Style__UnorderedGroup_4() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         		getUnorderedGroupHelper().enter(grammarAccess.getStyleAccess().getUnorderedGroup_4());
         	
         try {
-            // InternalReportDSL.g:35124:1: ( ( rule__Style__UnorderedGroup_4__0 )? )
-            // InternalReportDSL.g:35125:2: ( rule__Style__UnorderedGroup_4__0 )?
+            // InternalReportDSL.g:34834:1: ( ( rule__Style__UnorderedGroup_4__0 )? )
+            // InternalReportDSL.g:34835:2: ( rule__Style__UnorderedGroup_4__0 )?
             {
-            // InternalReportDSL.g:35125:2: ( rule__Style__UnorderedGroup_4__0 )?
-            int alt259=2;
-            alt259 = dfa259.predict(input);
-            switch (alt259) {
+            // InternalReportDSL.g:34835:2: ( rule__Style__UnorderedGroup_4__0 )?
+            int alt241=2;
+            alt241 = dfa241.predict(input);
+            switch (alt241) {
                 case 1 :
                     // InternalReportDSL.g:0:0: rule__Style__UnorderedGroup_4__0
                     {
@@ -115115,43 +113996,43 @@
 
 
     // $ANTLR start "rule__Style__UnorderedGroup_4__Impl"
-    // InternalReportDSL.g:35133:1: rule__Style__UnorderedGroup_4__Impl : ( ({...}? => ( ( ( rule__Style__Group_4_0__0 ) ) ) ) | ({...}? => ( ( ( rule__Style__Group_4_1__0 ) ) ) ) | ({...}? => ( ( ( rule__Style__Group_4_2__0 ) ) ) ) | ({...}? => ( ( ( rule__Style__Group_4_3__0 ) ) ) ) | ({...}? => ( ( ( rule__Style__Group_4_4__0 ) ) ) ) | ({...}? => ( ( ( rule__Style__Group_4_5__0 ) ) ) ) | ({...}? => ( ( ( rule__Style__Group_4_6__0 ) ) ) ) | ({...}? => ( ( ( rule__Style__Group_4_7__0 ) ) ) ) | ({...}? => ( ( ( rule__Style__Group_4_8__0 ) ) ) ) | ({...}? => ( ( ( rule__Style__Group_4_9__0 ) ) ) ) | ({...}? => ( ( ( rule__Style__Group_4_10__0 ) ) ) ) | ({...}? => ( ( ( rule__Style__Group_4_11__0 ) ) ) ) | ({...}? => ( ( ( rule__Style__Group_4_12__0 ) ) ) ) | ({...}? => ( ( ( rule__Style__Group_4_13__0 ) ) ) ) | ({...}? => ( ( ( rule__Style__Group_4_14__0 ) ) ) ) | ({...}? => ( ( ( rule__Style__Group_4_15__0 ) ) ) ) | ({...}? => ( ( ( rule__Style__Group_4_16__0 ) ) ) ) ) ;
+    // InternalReportDSL.g:34843:1: rule__Style__UnorderedGroup_4__Impl : ( ({...}? => ( ( ( rule__Style__Group_4_0__0 ) ) ) ) | ({...}? => ( ( ( rule__Style__Group_4_1__0 ) ) ) ) | ({...}? => ( ( ( rule__Style__Group_4_2__0 ) ) ) ) | ({...}? => ( ( ( rule__Style__Group_4_3__0 ) ) ) ) | ({...}? => ( ( ( rule__Style__Group_4_4__0 ) ) ) ) | ({...}? => ( ( ( rule__Style__Group_4_5__0 ) ) ) ) | ({...}? => ( ( ( rule__Style__Group_4_6__0 ) ) ) ) | ({...}? => ( ( ( rule__Style__Group_4_7__0 ) ) ) ) | ({...}? => ( ( ( rule__Style__Group_4_8__0 ) ) ) ) | ({...}? => ( ( ( rule__Style__Group_4_9__0 ) ) ) ) | ({...}? => ( ( ( rule__Style__Group_4_10__0 ) ) ) ) | ({...}? => ( ( ( rule__Style__Group_4_11__0 ) ) ) ) | ({...}? => ( ( ( rule__Style__Group_4_12__0 ) ) ) ) | ({...}? => ( ( ( rule__Style__Group_4_13__0 ) ) ) ) | ({...}? => ( ( ( rule__Style__Group_4_14__0 ) ) ) ) | ({...}? => ( ( ( rule__Style__Group_4_15__0 ) ) ) ) | ({...}? => ( ( ( rule__Style__Group_4_16__0 ) ) ) ) | ({...}? => ( ( ( rule__Style__Group_4_17__0 ) ) ) ) ) ;
     public final void rule__Style__UnorderedGroup_4__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         		boolean selected = false;
         	
         try {
-            // InternalReportDSL.g:35138:1: ( ( ({...}? => ( ( ( rule__Style__Group_4_0__0 ) ) ) ) | ({...}? => ( ( ( rule__Style__Group_4_1__0 ) ) ) ) | ({...}? => ( ( ( rule__Style__Group_4_2__0 ) ) ) ) | ({...}? => ( ( ( rule__Style__Group_4_3__0 ) ) ) ) | ({...}? => ( ( ( rule__Style__Group_4_4__0 ) ) ) ) | ({...}? => ( ( ( rule__Style__Group_4_5__0 ) ) ) ) | ({...}? => ( ( ( rule__Style__Group_4_6__0 ) ) ) ) | ({...}? => ( ( ( rule__Style__Group_4_7__0 ) ) ) ) | ({...}? => ( ( ( rule__Style__Group_4_8__0 ) ) ) ) | ({...}? => ( ( ( rule__Style__Group_4_9__0 ) ) ) ) | ({...}? => ( ( ( rule__Style__Group_4_10__0 ) ) ) ) | ({...}? => ( ( ( rule__Style__Group_4_11__0 ) ) ) ) | ({...}? => ( ( ( rule__Style__Group_4_12__0 ) ) ) ) | ({...}? => ( ( ( rule__Style__Group_4_13__0 ) ) ) ) | ({...}? => ( ( ( rule__Style__Group_4_14__0 ) ) ) ) | ({...}? => ( ( ( rule__Style__Group_4_15__0 ) ) ) ) | ({...}? => ( ( ( rule__Style__Group_4_16__0 ) ) ) ) ) )
-            // InternalReportDSL.g:35139:3: ( ({...}? => ( ( ( rule__Style__Group_4_0__0 ) ) ) ) | ({...}? => ( ( ( rule__Style__Group_4_1__0 ) ) ) ) | ({...}? => ( ( ( rule__Style__Group_4_2__0 ) ) ) ) | ({...}? => ( ( ( rule__Style__Group_4_3__0 ) ) ) ) | ({...}? => ( ( ( rule__Style__Group_4_4__0 ) ) ) ) | ({...}? => ( ( ( rule__Style__Group_4_5__0 ) ) ) ) | ({...}? => ( ( ( rule__Style__Group_4_6__0 ) ) ) ) | ({...}? => ( ( ( rule__Style__Group_4_7__0 ) ) ) ) | ({...}? => ( ( ( rule__Style__Group_4_8__0 ) ) ) ) | ({...}? => ( ( ( rule__Style__Group_4_9__0 ) ) ) ) | ({...}? => ( ( ( rule__Style__Group_4_10__0 ) ) ) ) | ({...}? => ( ( ( rule__Style__Group_4_11__0 ) ) ) ) | ({...}? => ( ( ( rule__Style__Group_4_12__0 ) ) ) ) | ({...}? => ( ( ( rule__Style__Group_4_13__0 ) ) ) ) | ({...}? => ( ( ( rule__Style__Group_4_14__0 ) ) ) ) | ({...}? => ( ( ( rule__Style__Group_4_15__0 ) ) ) ) | ({...}? => ( ( ( rule__Style__Group_4_16__0 ) ) ) ) )
+            // InternalReportDSL.g:34848:1: ( ( ({...}? => ( ( ( rule__Style__Group_4_0__0 ) ) ) ) | ({...}? => ( ( ( rule__Style__Group_4_1__0 ) ) ) ) | ({...}? => ( ( ( rule__Style__Group_4_2__0 ) ) ) ) | ({...}? => ( ( ( rule__Style__Group_4_3__0 ) ) ) ) | ({...}? => ( ( ( rule__Style__Group_4_4__0 ) ) ) ) | ({...}? => ( ( ( rule__Style__Group_4_5__0 ) ) ) ) | ({...}? => ( ( ( rule__Style__Group_4_6__0 ) ) ) ) | ({...}? => ( ( ( rule__Style__Group_4_7__0 ) ) ) ) | ({...}? => ( ( ( rule__Style__Group_4_8__0 ) ) ) ) | ({...}? => ( ( ( rule__Style__Group_4_9__0 ) ) ) ) | ({...}? => ( ( ( rule__Style__Group_4_10__0 ) ) ) ) | ({...}? => ( ( ( rule__Style__Group_4_11__0 ) ) ) ) | ({...}? => ( ( ( rule__Style__Group_4_12__0 ) ) ) ) | ({...}? => ( ( ( rule__Style__Group_4_13__0 ) ) ) ) | ({...}? => ( ( ( rule__Style__Group_4_14__0 ) ) ) ) | ({...}? => ( ( ( rule__Style__Group_4_15__0 ) ) ) ) | ({...}? => ( ( ( rule__Style__Group_4_16__0 ) ) ) ) | ({...}? => ( ( ( rule__Style__Group_4_17__0 ) ) ) ) ) )
+            // InternalReportDSL.g:34849:3: ( ({...}? => ( ( ( rule__Style__Group_4_0__0 ) ) ) ) | ({...}? => ( ( ( rule__Style__Group_4_1__0 ) ) ) ) | ({...}? => ( ( ( rule__Style__Group_4_2__0 ) ) ) ) | ({...}? => ( ( ( rule__Style__Group_4_3__0 ) ) ) ) | ({...}? => ( ( ( rule__Style__Group_4_4__0 ) ) ) ) | ({...}? => ( ( ( rule__Style__Group_4_5__0 ) ) ) ) | ({...}? => ( ( ( rule__Style__Group_4_6__0 ) ) ) ) | ({...}? => ( ( ( rule__Style__Group_4_7__0 ) ) ) ) | ({...}? => ( ( ( rule__Style__Group_4_8__0 ) ) ) ) | ({...}? => ( ( ( rule__Style__Group_4_9__0 ) ) ) ) | ({...}? => ( ( ( rule__Style__Group_4_10__0 ) ) ) ) | ({...}? => ( ( ( rule__Style__Group_4_11__0 ) ) ) ) | ({...}? => ( ( ( rule__Style__Group_4_12__0 ) ) ) ) | ({...}? => ( ( ( rule__Style__Group_4_13__0 ) ) ) ) | ({...}? => ( ( ( rule__Style__Group_4_14__0 ) ) ) ) | ({...}? => ( ( ( rule__Style__Group_4_15__0 ) ) ) ) | ({...}? => ( ( ( rule__Style__Group_4_16__0 ) ) ) ) | ({...}? => ( ( ( rule__Style__Group_4_17__0 ) ) ) ) )
             {
-            // InternalReportDSL.g:35139:3: ( ({...}? => ( ( ( rule__Style__Group_4_0__0 ) ) ) ) | ({...}? => ( ( ( rule__Style__Group_4_1__0 ) ) ) ) | ({...}? => ( ( ( rule__Style__Group_4_2__0 ) ) ) ) | ({...}? => ( ( ( rule__Style__Group_4_3__0 ) ) ) ) | ({...}? => ( ( ( rule__Style__Group_4_4__0 ) ) ) ) | ({...}? => ( ( ( rule__Style__Group_4_5__0 ) ) ) ) | ({...}? => ( ( ( rule__Style__Group_4_6__0 ) ) ) ) | ({...}? => ( ( ( rule__Style__Group_4_7__0 ) ) ) ) | ({...}? => ( ( ( rule__Style__Group_4_8__0 ) ) ) ) | ({...}? => ( ( ( rule__Style__Group_4_9__0 ) ) ) ) | ({...}? => ( ( ( rule__Style__Group_4_10__0 ) ) ) ) | ({...}? => ( ( ( rule__Style__Group_4_11__0 ) ) ) ) | ({...}? => ( ( ( rule__Style__Group_4_12__0 ) ) ) ) | ({...}? => ( ( ( rule__Style__Group_4_13__0 ) ) ) ) | ({...}? => ( ( ( rule__Style__Group_4_14__0 ) ) ) ) | ({...}? => ( ( ( rule__Style__Group_4_15__0 ) ) ) ) | ({...}? => ( ( ( rule__Style__Group_4_16__0 ) ) ) ) )
-            int alt260=17;
-            alt260 = dfa260.predict(input);
-            switch (alt260) {
+            // InternalReportDSL.g:34849:3: ( ({...}? => ( ( ( rule__Style__Group_4_0__0 ) ) ) ) | ({...}? => ( ( ( rule__Style__Group_4_1__0 ) ) ) ) | ({...}? => ( ( ( rule__Style__Group_4_2__0 ) ) ) ) | ({...}? => ( ( ( rule__Style__Group_4_3__0 ) ) ) ) | ({...}? => ( ( ( rule__Style__Group_4_4__0 ) ) ) ) | ({...}? => ( ( ( rule__Style__Group_4_5__0 ) ) ) ) | ({...}? => ( ( ( rule__Style__Group_4_6__0 ) ) ) ) | ({...}? => ( ( ( rule__Style__Group_4_7__0 ) ) ) ) | ({...}? => ( ( ( rule__Style__Group_4_8__0 ) ) ) ) | ({...}? => ( ( ( rule__Style__Group_4_9__0 ) ) ) ) | ({...}? => ( ( ( rule__Style__Group_4_10__0 ) ) ) ) | ({...}? => ( ( ( rule__Style__Group_4_11__0 ) ) ) ) | ({...}? => ( ( ( rule__Style__Group_4_12__0 ) ) ) ) | ({...}? => ( ( ( rule__Style__Group_4_13__0 ) ) ) ) | ({...}? => ( ( ( rule__Style__Group_4_14__0 ) ) ) ) | ({...}? => ( ( ( rule__Style__Group_4_15__0 ) ) ) ) | ({...}? => ( ( ( rule__Style__Group_4_16__0 ) ) ) ) | ({...}? => ( ( ( rule__Style__Group_4_17__0 ) ) ) ) )
+            int alt242=18;
+            alt242 = dfa242.predict(input);
+            switch (alt242) {
                 case 1 :
-                    // InternalReportDSL.g:35140:3: ({...}? => ( ( ( rule__Style__Group_4_0__0 ) ) ) )
+                    // InternalReportDSL.g:34850:3: ({...}? => ( ( ( rule__Style__Group_4_0__0 ) ) ) )
                     {
-                    // InternalReportDSL.g:35140:3: ({...}? => ( ( ( rule__Style__Group_4_0__0 ) ) ) )
-                    // InternalReportDSL.g:35141:4: {...}? => ( ( ( rule__Style__Group_4_0__0 ) ) )
+                    // InternalReportDSL.g:34850:3: ({...}? => ( ( ( rule__Style__Group_4_0__0 ) ) ) )
+                    // InternalReportDSL.g:34851:4: {...}? => ( ( ( rule__Style__Group_4_0__0 ) ) )
                     {
                     if ( ! getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 0) ) {
                         if (state.backtracking>0) {state.failed=true; return ;}
                         throw new FailedPredicateException(input, "rule__Style__UnorderedGroup_4__Impl", "getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 0)");
                     }
-                    // InternalReportDSL.g:35141:101: ( ( ( rule__Style__Group_4_0__0 ) ) )
-                    // InternalReportDSL.g:35142:5: ( ( rule__Style__Group_4_0__0 ) )
+                    // InternalReportDSL.g:34851:101: ( ( ( rule__Style__Group_4_0__0 ) ) )
+                    // InternalReportDSL.g:34852:5: ( ( rule__Style__Group_4_0__0 ) )
                     {
                     getUnorderedGroupHelper().select(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 0);
                     selected = true;
-                    // InternalReportDSL.g:35148:5: ( ( rule__Style__Group_4_0__0 ) )
-                    // InternalReportDSL.g:35149:6: ( rule__Style__Group_4_0__0 )
+                    // InternalReportDSL.g:34858:5: ( ( rule__Style__Group_4_0__0 ) )
+                    // InternalReportDSL.g:34859:6: ( rule__Style__Group_4_0__0 )
                     {
                     if ( state.backtracking==0 ) {
                        before(grammarAccess.getStyleAccess().getGroup_4_0()); 
                     }
-                    // InternalReportDSL.g:35150:6: ( rule__Style__Group_4_0__0 )
-                    // InternalReportDSL.g:35150:7: rule__Style__Group_4_0__0
+                    // InternalReportDSL.g:34860:6: ( rule__Style__Group_4_0__0 )
+                    // InternalReportDSL.g:34860:7: rule__Style__Group_4_0__0
                     {
                     pushFollow(FOLLOW_2);
                     rule__Style__Group_4_0__0();
@@ -115177,28 +114058,28 @@
                     }
                     break;
                 case 2 :
-                    // InternalReportDSL.g:35155:3: ({...}? => ( ( ( rule__Style__Group_4_1__0 ) ) ) )
+                    // InternalReportDSL.g:34865:3: ({...}? => ( ( ( rule__Style__Group_4_1__0 ) ) ) )
                     {
-                    // InternalReportDSL.g:35155:3: ({...}? => ( ( ( rule__Style__Group_4_1__0 ) ) ) )
-                    // InternalReportDSL.g:35156:4: {...}? => ( ( ( rule__Style__Group_4_1__0 ) ) )
+                    // InternalReportDSL.g:34865:3: ({...}? => ( ( ( rule__Style__Group_4_1__0 ) ) ) )
+                    // InternalReportDSL.g:34866:4: {...}? => ( ( ( rule__Style__Group_4_1__0 ) ) )
                     {
                     if ( ! getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 1) ) {
                         if (state.backtracking>0) {state.failed=true; return ;}
                         throw new FailedPredicateException(input, "rule__Style__UnorderedGroup_4__Impl", "getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 1)");
                     }
-                    // InternalReportDSL.g:35156:101: ( ( ( rule__Style__Group_4_1__0 ) ) )
-                    // InternalReportDSL.g:35157:5: ( ( rule__Style__Group_4_1__0 ) )
+                    // InternalReportDSL.g:34866:101: ( ( ( rule__Style__Group_4_1__0 ) ) )
+                    // InternalReportDSL.g:34867:5: ( ( rule__Style__Group_4_1__0 ) )
                     {
                     getUnorderedGroupHelper().select(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 1);
                     selected = true;
-                    // InternalReportDSL.g:35163:5: ( ( rule__Style__Group_4_1__0 ) )
-                    // InternalReportDSL.g:35164:6: ( rule__Style__Group_4_1__0 )
+                    // InternalReportDSL.g:34873:5: ( ( rule__Style__Group_4_1__0 ) )
+                    // InternalReportDSL.g:34874:6: ( rule__Style__Group_4_1__0 )
                     {
                     if ( state.backtracking==0 ) {
                        before(grammarAccess.getStyleAccess().getGroup_4_1()); 
                     }
-                    // InternalReportDSL.g:35165:6: ( rule__Style__Group_4_1__0 )
-                    // InternalReportDSL.g:35165:7: rule__Style__Group_4_1__0
+                    // InternalReportDSL.g:34875:6: ( rule__Style__Group_4_1__0 )
+                    // InternalReportDSL.g:34875:7: rule__Style__Group_4_1__0
                     {
                     pushFollow(FOLLOW_2);
                     rule__Style__Group_4_1__0();
@@ -115224,28 +114105,28 @@
                     }
                     break;
                 case 3 :
-                    // InternalReportDSL.g:35170:3: ({...}? => ( ( ( rule__Style__Group_4_2__0 ) ) ) )
+                    // InternalReportDSL.g:34880:3: ({...}? => ( ( ( rule__Style__Group_4_2__0 ) ) ) )
                     {
-                    // InternalReportDSL.g:35170:3: ({...}? => ( ( ( rule__Style__Group_4_2__0 ) ) ) )
-                    // InternalReportDSL.g:35171:4: {...}? => ( ( ( rule__Style__Group_4_2__0 ) ) )
+                    // InternalReportDSL.g:34880:3: ({...}? => ( ( ( rule__Style__Group_4_2__0 ) ) ) )
+                    // InternalReportDSL.g:34881:4: {...}? => ( ( ( rule__Style__Group_4_2__0 ) ) )
                     {
                     if ( ! getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 2) ) {
                         if (state.backtracking>0) {state.failed=true; return ;}
                         throw new FailedPredicateException(input, "rule__Style__UnorderedGroup_4__Impl", "getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 2)");
                     }
-                    // InternalReportDSL.g:35171:101: ( ( ( rule__Style__Group_4_2__0 ) ) )
-                    // InternalReportDSL.g:35172:5: ( ( rule__Style__Group_4_2__0 ) )
+                    // InternalReportDSL.g:34881:101: ( ( ( rule__Style__Group_4_2__0 ) ) )
+                    // InternalReportDSL.g:34882:5: ( ( rule__Style__Group_4_2__0 ) )
                     {
                     getUnorderedGroupHelper().select(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 2);
                     selected = true;
-                    // InternalReportDSL.g:35178:5: ( ( rule__Style__Group_4_2__0 ) )
-                    // InternalReportDSL.g:35179:6: ( rule__Style__Group_4_2__0 )
+                    // InternalReportDSL.g:34888:5: ( ( rule__Style__Group_4_2__0 ) )
+                    // InternalReportDSL.g:34889:6: ( rule__Style__Group_4_2__0 )
                     {
                     if ( state.backtracking==0 ) {
                        before(grammarAccess.getStyleAccess().getGroup_4_2()); 
                     }
-                    // InternalReportDSL.g:35180:6: ( rule__Style__Group_4_2__0 )
-                    // InternalReportDSL.g:35180:7: rule__Style__Group_4_2__0
+                    // InternalReportDSL.g:34890:6: ( rule__Style__Group_4_2__0 )
+                    // InternalReportDSL.g:34890:7: rule__Style__Group_4_2__0
                     {
                     pushFollow(FOLLOW_2);
                     rule__Style__Group_4_2__0();
@@ -115271,28 +114152,28 @@
                     }
                     break;
                 case 4 :
-                    // InternalReportDSL.g:35185:3: ({...}? => ( ( ( rule__Style__Group_4_3__0 ) ) ) )
+                    // InternalReportDSL.g:34895:3: ({...}? => ( ( ( rule__Style__Group_4_3__0 ) ) ) )
                     {
-                    // InternalReportDSL.g:35185:3: ({...}? => ( ( ( rule__Style__Group_4_3__0 ) ) ) )
-                    // InternalReportDSL.g:35186:4: {...}? => ( ( ( rule__Style__Group_4_3__0 ) ) )
+                    // InternalReportDSL.g:34895:3: ({...}? => ( ( ( rule__Style__Group_4_3__0 ) ) ) )
+                    // InternalReportDSL.g:34896:4: {...}? => ( ( ( rule__Style__Group_4_3__0 ) ) )
                     {
                     if ( ! getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 3) ) {
                         if (state.backtracking>0) {state.failed=true; return ;}
                         throw new FailedPredicateException(input, "rule__Style__UnorderedGroup_4__Impl", "getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 3)");
                     }
-                    // InternalReportDSL.g:35186:101: ( ( ( rule__Style__Group_4_3__0 ) ) )
-                    // InternalReportDSL.g:35187:5: ( ( rule__Style__Group_4_3__0 ) )
+                    // InternalReportDSL.g:34896:101: ( ( ( rule__Style__Group_4_3__0 ) ) )
+                    // InternalReportDSL.g:34897:5: ( ( rule__Style__Group_4_3__0 ) )
                     {
                     getUnorderedGroupHelper().select(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 3);
                     selected = true;
-                    // InternalReportDSL.g:35193:5: ( ( rule__Style__Group_4_3__0 ) )
-                    // InternalReportDSL.g:35194:6: ( rule__Style__Group_4_3__0 )
+                    // InternalReportDSL.g:34903:5: ( ( rule__Style__Group_4_3__0 ) )
+                    // InternalReportDSL.g:34904:6: ( rule__Style__Group_4_3__0 )
                     {
                     if ( state.backtracking==0 ) {
                        before(grammarAccess.getStyleAccess().getGroup_4_3()); 
                     }
-                    // InternalReportDSL.g:35195:6: ( rule__Style__Group_4_3__0 )
-                    // InternalReportDSL.g:35195:7: rule__Style__Group_4_3__0
+                    // InternalReportDSL.g:34905:6: ( rule__Style__Group_4_3__0 )
+                    // InternalReportDSL.g:34905:7: rule__Style__Group_4_3__0
                     {
                     pushFollow(FOLLOW_2);
                     rule__Style__Group_4_3__0();
@@ -115318,28 +114199,28 @@
                     }
                     break;
                 case 5 :
-                    // InternalReportDSL.g:35200:3: ({...}? => ( ( ( rule__Style__Group_4_4__0 ) ) ) )
+                    // InternalReportDSL.g:34910:3: ({...}? => ( ( ( rule__Style__Group_4_4__0 ) ) ) )
                     {
-                    // InternalReportDSL.g:35200:3: ({...}? => ( ( ( rule__Style__Group_4_4__0 ) ) ) )
-                    // InternalReportDSL.g:35201:4: {...}? => ( ( ( rule__Style__Group_4_4__0 ) ) )
+                    // InternalReportDSL.g:34910:3: ({...}? => ( ( ( rule__Style__Group_4_4__0 ) ) ) )
+                    // InternalReportDSL.g:34911:4: {...}? => ( ( ( rule__Style__Group_4_4__0 ) ) )
                     {
                     if ( ! getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 4) ) {
                         if (state.backtracking>0) {state.failed=true; return ;}
                         throw new FailedPredicateException(input, "rule__Style__UnorderedGroup_4__Impl", "getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 4)");
                     }
-                    // InternalReportDSL.g:35201:101: ( ( ( rule__Style__Group_4_4__0 ) ) )
-                    // InternalReportDSL.g:35202:5: ( ( rule__Style__Group_4_4__0 ) )
+                    // InternalReportDSL.g:34911:101: ( ( ( rule__Style__Group_4_4__0 ) ) )
+                    // InternalReportDSL.g:34912:5: ( ( rule__Style__Group_4_4__0 ) )
                     {
                     getUnorderedGroupHelper().select(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 4);
                     selected = true;
-                    // InternalReportDSL.g:35208:5: ( ( rule__Style__Group_4_4__0 ) )
-                    // InternalReportDSL.g:35209:6: ( rule__Style__Group_4_4__0 )
+                    // InternalReportDSL.g:34918:5: ( ( rule__Style__Group_4_4__0 ) )
+                    // InternalReportDSL.g:34919:6: ( rule__Style__Group_4_4__0 )
                     {
                     if ( state.backtracking==0 ) {
                        before(grammarAccess.getStyleAccess().getGroup_4_4()); 
                     }
-                    // InternalReportDSL.g:35210:6: ( rule__Style__Group_4_4__0 )
-                    // InternalReportDSL.g:35210:7: rule__Style__Group_4_4__0
+                    // InternalReportDSL.g:34920:6: ( rule__Style__Group_4_4__0 )
+                    // InternalReportDSL.g:34920:7: rule__Style__Group_4_4__0
                     {
                     pushFollow(FOLLOW_2);
                     rule__Style__Group_4_4__0();
@@ -115365,28 +114246,28 @@
                     }
                     break;
                 case 6 :
-                    // InternalReportDSL.g:35215:3: ({...}? => ( ( ( rule__Style__Group_4_5__0 ) ) ) )
+                    // InternalReportDSL.g:34925:3: ({...}? => ( ( ( rule__Style__Group_4_5__0 ) ) ) )
                     {
-                    // InternalReportDSL.g:35215:3: ({...}? => ( ( ( rule__Style__Group_4_5__0 ) ) ) )
-                    // InternalReportDSL.g:35216:4: {...}? => ( ( ( rule__Style__Group_4_5__0 ) ) )
+                    // InternalReportDSL.g:34925:3: ({...}? => ( ( ( rule__Style__Group_4_5__0 ) ) ) )
+                    // InternalReportDSL.g:34926:4: {...}? => ( ( ( rule__Style__Group_4_5__0 ) ) )
                     {
                     if ( ! getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 5) ) {
                         if (state.backtracking>0) {state.failed=true; return ;}
                         throw new FailedPredicateException(input, "rule__Style__UnorderedGroup_4__Impl", "getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 5)");
                     }
-                    // InternalReportDSL.g:35216:101: ( ( ( rule__Style__Group_4_5__0 ) ) )
-                    // InternalReportDSL.g:35217:5: ( ( rule__Style__Group_4_5__0 ) )
+                    // InternalReportDSL.g:34926:101: ( ( ( rule__Style__Group_4_5__0 ) ) )
+                    // InternalReportDSL.g:34927:5: ( ( rule__Style__Group_4_5__0 ) )
                     {
                     getUnorderedGroupHelper().select(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 5);
                     selected = true;
-                    // InternalReportDSL.g:35223:5: ( ( rule__Style__Group_4_5__0 ) )
-                    // InternalReportDSL.g:35224:6: ( rule__Style__Group_4_5__0 )
+                    // InternalReportDSL.g:34933:5: ( ( rule__Style__Group_4_5__0 ) )
+                    // InternalReportDSL.g:34934:6: ( rule__Style__Group_4_5__0 )
                     {
                     if ( state.backtracking==0 ) {
                        before(grammarAccess.getStyleAccess().getGroup_4_5()); 
                     }
-                    // InternalReportDSL.g:35225:6: ( rule__Style__Group_4_5__0 )
-                    // InternalReportDSL.g:35225:7: rule__Style__Group_4_5__0
+                    // InternalReportDSL.g:34935:6: ( rule__Style__Group_4_5__0 )
+                    // InternalReportDSL.g:34935:7: rule__Style__Group_4_5__0
                     {
                     pushFollow(FOLLOW_2);
                     rule__Style__Group_4_5__0();
@@ -115412,28 +114293,28 @@
                     }
                     break;
                 case 7 :
-                    // InternalReportDSL.g:35230:3: ({...}? => ( ( ( rule__Style__Group_4_6__0 ) ) ) )
+                    // InternalReportDSL.g:34940:3: ({...}? => ( ( ( rule__Style__Group_4_6__0 ) ) ) )
                     {
-                    // InternalReportDSL.g:35230:3: ({...}? => ( ( ( rule__Style__Group_4_6__0 ) ) ) )
-                    // InternalReportDSL.g:35231:4: {...}? => ( ( ( rule__Style__Group_4_6__0 ) ) )
+                    // InternalReportDSL.g:34940:3: ({...}? => ( ( ( rule__Style__Group_4_6__0 ) ) ) )
+                    // InternalReportDSL.g:34941:4: {...}? => ( ( ( rule__Style__Group_4_6__0 ) ) )
                     {
                     if ( ! getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 6) ) {
                         if (state.backtracking>0) {state.failed=true; return ;}
                         throw new FailedPredicateException(input, "rule__Style__UnorderedGroup_4__Impl", "getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 6)");
                     }
-                    // InternalReportDSL.g:35231:101: ( ( ( rule__Style__Group_4_6__0 ) ) )
-                    // InternalReportDSL.g:35232:5: ( ( rule__Style__Group_4_6__0 ) )
+                    // InternalReportDSL.g:34941:101: ( ( ( rule__Style__Group_4_6__0 ) ) )
+                    // InternalReportDSL.g:34942:5: ( ( rule__Style__Group_4_6__0 ) )
                     {
                     getUnorderedGroupHelper().select(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 6);
                     selected = true;
-                    // InternalReportDSL.g:35238:5: ( ( rule__Style__Group_4_6__0 ) )
-                    // InternalReportDSL.g:35239:6: ( rule__Style__Group_4_6__0 )
+                    // InternalReportDSL.g:34948:5: ( ( rule__Style__Group_4_6__0 ) )
+                    // InternalReportDSL.g:34949:6: ( rule__Style__Group_4_6__0 )
                     {
                     if ( state.backtracking==0 ) {
                        before(grammarAccess.getStyleAccess().getGroup_4_6()); 
                     }
-                    // InternalReportDSL.g:35240:6: ( rule__Style__Group_4_6__0 )
-                    // InternalReportDSL.g:35240:7: rule__Style__Group_4_6__0
+                    // InternalReportDSL.g:34950:6: ( rule__Style__Group_4_6__0 )
+                    // InternalReportDSL.g:34950:7: rule__Style__Group_4_6__0
                     {
                     pushFollow(FOLLOW_2);
                     rule__Style__Group_4_6__0();
@@ -115459,28 +114340,28 @@
                     }
                     break;
                 case 8 :
-                    // InternalReportDSL.g:35245:3: ({...}? => ( ( ( rule__Style__Group_4_7__0 ) ) ) )
+                    // InternalReportDSL.g:34955:3: ({...}? => ( ( ( rule__Style__Group_4_7__0 ) ) ) )
                     {
-                    // InternalReportDSL.g:35245:3: ({...}? => ( ( ( rule__Style__Group_4_7__0 ) ) ) )
-                    // InternalReportDSL.g:35246:4: {...}? => ( ( ( rule__Style__Group_4_7__0 ) ) )
+                    // InternalReportDSL.g:34955:3: ({...}? => ( ( ( rule__Style__Group_4_7__0 ) ) ) )
+                    // InternalReportDSL.g:34956:4: {...}? => ( ( ( rule__Style__Group_4_7__0 ) ) )
                     {
                     if ( ! getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 7) ) {
                         if (state.backtracking>0) {state.failed=true; return ;}
                         throw new FailedPredicateException(input, "rule__Style__UnorderedGroup_4__Impl", "getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 7)");
                     }
-                    // InternalReportDSL.g:35246:101: ( ( ( rule__Style__Group_4_7__0 ) ) )
-                    // InternalReportDSL.g:35247:5: ( ( rule__Style__Group_4_7__0 ) )
+                    // InternalReportDSL.g:34956:101: ( ( ( rule__Style__Group_4_7__0 ) ) )
+                    // InternalReportDSL.g:34957:5: ( ( rule__Style__Group_4_7__0 ) )
                     {
                     getUnorderedGroupHelper().select(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 7);
                     selected = true;
-                    // InternalReportDSL.g:35253:5: ( ( rule__Style__Group_4_7__0 ) )
-                    // InternalReportDSL.g:35254:6: ( rule__Style__Group_4_7__0 )
+                    // InternalReportDSL.g:34963:5: ( ( rule__Style__Group_4_7__0 ) )
+                    // InternalReportDSL.g:34964:6: ( rule__Style__Group_4_7__0 )
                     {
                     if ( state.backtracking==0 ) {
                        before(grammarAccess.getStyleAccess().getGroup_4_7()); 
                     }
-                    // InternalReportDSL.g:35255:6: ( rule__Style__Group_4_7__0 )
-                    // InternalReportDSL.g:35255:7: rule__Style__Group_4_7__0
+                    // InternalReportDSL.g:34965:6: ( rule__Style__Group_4_7__0 )
+                    // InternalReportDSL.g:34965:7: rule__Style__Group_4_7__0
                     {
                     pushFollow(FOLLOW_2);
                     rule__Style__Group_4_7__0();
@@ -115506,28 +114387,28 @@
                     }
                     break;
                 case 9 :
-                    // InternalReportDSL.g:35260:3: ({...}? => ( ( ( rule__Style__Group_4_8__0 ) ) ) )
+                    // InternalReportDSL.g:34970:3: ({...}? => ( ( ( rule__Style__Group_4_8__0 ) ) ) )
                     {
-                    // InternalReportDSL.g:35260:3: ({...}? => ( ( ( rule__Style__Group_4_8__0 ) ) ) )
-                    // InternalReportDSL.g:35261:4: {...}? => ( ( ( rule__Style__Group_4_8__0 ) ) )
+                    // InternalReportDSL.g:34970:3: ({...}? => ( ( ( rule__Style__Group_4_8__0 ) ) ) )
+                    // InternalReportDSL.g:34971:4: {...}? => ( ( ( rule__Style__Group_4_8__0 ) ) )
                     {
                     if ( ! getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 8) ) {
                         if (state.backtracking>0) {state.failed=true; return ;}
                         throw new FailedPredicateException(input, "rule__Style__UnorderedGroup_4__Impl", "getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 8)");
                     }
-                    // InternalReportDSL.g:35261:101: ( ( ( rule__Style__Group_4_8__0 ) ) )
-                    // InternalReportDSL.g:35262:5: ( ( rule__Style__Group_4_8__0 ) )
+                    // InternalReportDSL.g:34971:101: ( ( ( rule__Style__Group_4_8__0 ) ) )
+                    // InternalReportDSL.g:34972:5: ( ( rule__Style__Group_4_8__0 ) )
                     {
                     getUnorderedGroupHelper().select(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 8);
                     selected = true;
-                    // InternalReportDSL.g:35268:5: ( ( rule__Style__Group_4_8__0 ) )
-                    // InternalReportDSL.g:35269:6: ( rule__Style__Group_4_8__0 )
+                    // InternalReportDSL.g:34978:5: ( ( rule__Style__Group_4_8__0 ) )
+                    // InternalReportDSL.g:34979:6: ( rule__Style__Group_4_8__0 )
                     {
                     if ( state.backtracking==0 ) {
                        before(grammarAccess.getStyleAccess().getGroup_4_8()); 
                     }
-                    // InternalReportDSL.g:35270:6: ( rule__Style__Group_4_8__0 )
-                    // InternalReportDSL.g:35270:7: rule__Style__Group_4_8__0
+                    // InternalReportDSL.g:34980:6: ( rule__Style__Group_4_8__0 )
+                    // InternalReportDSL.g:34980:7: rule__Style__Group_4_8__0
                     {
                     pushFollow(FOLLOW_2);
                     rule__Style__Group_4_8__0();
@@ -115553,28 +114434,28 @@
                     }
                     break;
                 case 10 :
-                    // InternalReportDSL.g:35275:3: ({...}? => ( ( ( rule__Style__Group_4_9__0 ) ) ) )
+                    // InternalReportDSL.g:34985:3: ({...}? => ( ( ( rule__Style__Group_4_9__0 ) ) ) )
                     {
-                    // InternalReportDSL.g:35275:3: ({...}? => ( ( ( rule__Style__Group_4_9__0 ) ) ) )
-                    // InternalReportDSL.g:35276:4: {...}? => ( ( ( rule__Style__Group_4_9__0 ) ) )
+                    // InternalReportDSL.g:34985:3: ({...}? => ( ( ( rule__Style__Group_4_9__0 ) ) ) )
+                    // InternalReportDSL.g:34986:4: {...}? => ( ( ( rule__Style__Group_4_9__0 ) ) )
                     {
                     if ( ! getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 9) ) {
                         if (state.backtracking>0) {state.failed=true; return ;}
                         throw new FailedPredicateException(input, "rule__Style__UnorderedGroup_4__Impl", "getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 9)");
                     }
-                    // InternalReportDSL.g:35276:101: ( ( ( rule__Style__Group_4_9__0 ) ) )
-                    // InternalReportDSL.g:35277:5: ( ( rule__Style__Group_4_9__0 ) )
+                    // InternalReportDSL.g:34986:101: ( ( ( rule__Style__Group_4_9__0 ) ) )
+                    // InternalReportDSL.g:34987:5: ( ( rule__Style__Group_4_9__0 ) )
                     {
                     getUnorderedGroupHelper().select(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 9);
                     selected = true;
-                    // InternalReportDSL.g:35283:5: ( ( rule__Style__Group_4_9__0 ) )
-                    // InternalReportDSL.g:35284:6: ( rule__Style__Group_4_9__0 )
+                    // InternalReportDSL.g:34993:5: ( ( rule__Style__Group_4_9__0 ) )
+                    // InternalReportDSL.g:34994:6: ( rule__Style__Group_4_9__0 )
                     {
                     if ( state.backtracking==0 ) {
                        before(grammarAccess.getStyleAccess().getGroup_4_9()); 
                     }
-                    // InternalReportDSL.g:35285:6: ( rule__Style__Group_4_9__0 )
-                    // InternalReportDSL.g:35285:7: rule__Style__Group_4_9__0
+                    // InternalReportDSL.g:34995:6: ( rule__Style__Group_4_9__0 )
+                    // InternalReportDSL.g:34995:7: rule__Style__Group_4_9__0
                     {
                     pushFollow(FOLLOW_2);
                     rule__Style__Group_4_9__0();
@@ -115600,28 +114481,28 @@
                     }
                     break;
                 case 11 :
-                    // InternalReportDSL.g:35290:3: ({...}? => ( ( ( rule__Style__Group_4_10__0 ) ) ) )
+                    // InternalReportDSL.g:35000:3: ({...}? => ( ( ( rule__Style__Group_4_10__0 ) ) ) )
                     {
-                    // InternalReportDSL.g:35290:3: ({...}? => ( ( ( rule__Style__Group_4_10__0 ) ) ) )
-                    // InternalReportDSL.g:35291:4: {...}? => ( ( ( rule__Style__Group_4_10__0 ) ) )
+                    // InternalReportDSL.g:35000:3: ({...}? => ( ( ( rule__Style__Group_4_10__0 ) ) ) )
+                    // InternalReportDSL.g:35001:4: {...}? => ( ( ( rule__Style__Group_4_10__0 ) ) )
                     {
                     if ( ! getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 10) ) {
                         if (state.backtracking>0) {state.failed=true; return ;}
                         throw new FailedPredicateException(input, "rule__Style__UnorderedGroup_4__Impl", "getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 10)");
                     }
-                    // InternalReportDSL.g:35291:102: ( ( ( rule__Style__Group_4_10__0 ) ) )
-                    // InternalReportDSL.g:35292:5: ( ( rule__Style__Group_4_10__0 ) )
+                    // InternalReportDSL.g:35001:102: ( ( ( rule__Style__Group_4_10__0 ) ) )
+                    // InternalReportDSL.g:35002:5: ( ( rule__Style__Group_4_10__0 ) )
                     {
                     getUnorderedGroupHelper().select(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 10);
                     selected = true;
-                    // InternalReportDSL.g:35298:5: ( ( rule__Style__Group_4_10__0 ) )
-                    // InternalReportDSL.g:35299:6: ( rule__Style__Group_4_10__0 )
+                    // InternalReportDSL.g:35008:5: ( ( rule__Style__Group_4_10__0 ) )
+                    // InternalReportDSL.g:35009:6: ( rule__Style__Group_4_10__0 )
                     {
                     if ( state.backtracking==0 ) {
                        before(grammarAccess.getStyleAccess().getGroup_4_10()); 
                     }
-                    // InternalReportDSL.g:35300:6: ( rule__Style__Group_4_10__0 )
-                    // InternalReportDSL.g:35300:7: rule__Style__Group_4_10__0
+                    // InternalReportDSL.g:35010:6: ( rule__Style__Group_4_10__0 )
+                    // InternalReportDSL.g:35010:7: rule__Style__Group_4_10__0
                     {
                     pushFollow(FOLLOW_2);
                     rule__Style__Group_4_10__0();
@@ -115647,28 +114528,28 @@
                     }
                     break;
                 case 12 :
-                    // InternalReportDSL.g:35305:3: ({...}? => ( ( ( rule__Style__Group_4_11__0 ) ) ) )
+                    // InternalReportDSL.g:35015:3: ({...}? => ( ( ( rule__Style__Group_4_11__0 ) ) ) )
                     {
-                    // InternalReportDSL.g:35305:3: ({...}? => ( ( ( rule__Style__Group_4_11__0 ) ) ) )
-                    // InternalReportDSL.g:35306:4: {...}? => ( ( ( rule__Style__Group_4_11__0 ) ) )
+                    // InternalReportDSL.g:35015:3: ({...}? => ( ( ( rule__Style__Group_4_11__0 ) ) ) )
+                    // InternalReportDSL.g:35016:4: {...}? => ( ( ( rule__Style__Group_4_11__0 ) ) )
                     {
                     if ( ! getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 11) ) {
                         if (state.backtracking>0) {state.failed=true; return ;}
                         throw new FailedPredicateException(input, "rule__Style__UnorderedGroup_4__Impl", "getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 11)");
                     }
-                    // InternalReportDSL.g:35306:102: ( ( ( rule__Style__Group_4_11__0 ) ) )
-                    // InternalReportDSL.g:35307:5: ( ( rule__Style__Group_4_11__0 ) )
+                    // InternalReportDSL.g:35016:102: ( ( ( rule__Style__Group_4_11__0 ) ) )
+                    // InternalReportDSL.g:35017:5: ( ( rule__Style__Group_4_11__0 ) )
                     {
                     getUnorderedGroupHelper().select(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 11);
                     selected = true;
-                    // InternalReportDSL.g:35313:5: ( ( rule__Style__Group_4_11__0 ) )
-                    // InternalReportDSL.g:35314:6: ( rule__Style__Group_4_11__0 )
+                    // InternalReportDSL.g:35023:5: ( ( rule__Style__Group_4_11__0 ) )
+                    // InternalReportDSL.g:35024:6: ( rule__Style__Group_4_11__0 )
                     {
                     if ( state.backtracking==0 ) {
                        before(grammarAccess.getStyleAccess().getGroup_4_11()); 
                     }
-                    // InternalReportDSL.g:35315:6: ( rule__Style__Group_4_11__0 )
-                    // InternalReportDSL.g:35315:7: rule__Style__Group_4_11__0
+                    // InternalReportDSL.g:35025:6: ( rule__Style__Group_4_11__0 )
+                    // InternalReportDSL.g:35025:7: rule__Style__Group_4_11__0
                     {
                     pushFollow(FOLLOW_2);
                     rule__Style__Group_4_11__0();
@@ -115694,28 +114575,28 @@
                     }
                     break;
                 case 13 :
-                    // InternalReportDSL.g:35320:3: ({...}? => ( ( ( rule__Style__Group_4_12__0 ) ) ) )
+                    // InternalReportDSL.g:35030:3: ({...}? => ( ( ( rule__Style__Group_4_12__0 ) ) ) )
                     {
-                    // InternalReportDSL.g:35320:3: ({...}? => ( ( ( rule__Style__Group_4_12__0 ) ) ) )
-                    // InternalReportDSL.g:35321:4: {...}? => ( ( ( rule__Style__Group_4_12__0 ) ) )
+                    // InternalReportDSL.g:35030:3: ({...}? => ( ( ( rule__Style__Group_4_12__0 ) ) ) )
+                    // InternalReportDSL.g:35031:4: {...}? => ( ( ( rule__Style__Group_4_12__0 ) ) )
                     {
                     if ( ! getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 12) ) {
                         if (state.backtracking>0) {state.failed=true; return ;}
                         throw new FailedPredicateException(input, "rule__Style__UnorderedGroup_4__Impl", "getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 12)");
                     }
-                    // InternalReportDSL.g:35321:102: ( ( ( rule__Style__Group_4_12__0 ) ) )
-                    // InternalReportDSL.g:35322:5: ( ( rule__Style__Group_4_12__0 ) )
+                    // InternalReportDSL.g:35031:102: ( ( ( rule__Style__Group_4_12__0 ) ) )
+                    // InternalReportDSL.g:35032:5: ( ( rule__Style__Group_4_12__0 ) )
                     {
                     getUnorderedGroupHelper().select(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 12);
                     selected = true;
-                    // InternalReportDSL.g:35328:5: ( ( rule__Style__Group_4_12__0 ) )
-                    // InternalReportDSL.g:35329:6: ( rule__Style__Group_4_12__0 )
+                    // InternalReportDSL.g:35038:5: ( ( rule__Style__Group_4_12__0 ) )
+                    // InternalReportDSL.g:35039:6: ( rule__Style__Group_4_12__0 )
                     {
                     if ( state.backtracking==0 ) {
                        before(grammarAccess.getStyleAccess().getGroup_4_12()); 
                     }
-                    // InternalReportDSL.g:35330:6: ( rule__Style__Group_4_12__0 )
-                    // InternalReportDSL.g:35330:7: rule__Style__Group_4_12__0
+                    // InternalReportDSL.g:35040:6: ( rule__Style__Group_4_12__0 )
+                    // InternalReportDSL.g:35040:7: rule__Style__Group_4_12__0
                     {
                     pushFollow(FOLLOW_2);
                     rule__Style__Group_4_12__0();
@@ -115741,28 +114622,28 @@
                     }
                     break;
                 case 14 :
-                    // InternalReportDSL.g:35335:3: ({...}? => ( ( ( rule__Style__Group_4_13__0 ) ) ) )
+                    // InternalReportDSL.g:35045:3: ({...}? => ( ( ( rule__Style__Group_4_13__0 ) ) ) )
                     {
-                    // InternalReportDSL.g:35335:3: ({...}? => ( ( ( rule__Style__Group_4_13__0 ) ) ) )
-                    // InternalReportDSL.g:35336:4: {...}? => ( ( ( rule__Style__Group_4_13__0 ) ) )
+                    // InternalReportDSL.g:35045:3: ({...}? => ( ( ( rule__Style__Group_4_13__0 ) ) ) )
+                    // InternalReportDSL.g:35046:4: {...}? => ( ( ( rule__Style__Group_4_13__0 ) ) )
                     {
                     if ( ! getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 13) ) {
                         if (state.backtracking>0) {state.failed=true; return ;}
                         throw new FailedPredicateException(input, "rule__Style__UnorderedGroup_4__Impl", "getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 13)");
                     }
-                    // InternalReportDSL.g:35336:102: ( ( ( rule__Style__Group_4_13__0 ) ) )
-                    // InternalReportDSL.g:35337:5: ( ( rule__Style__Group_4_13__0 ) )
+                    // InternalReportDSL.g:35046:102: ( ( ( rule__Style__Group_4_13__0 ) ) )
+                    // InternalReportDSL.g:35047:5: ( ( rule__Style__Group_4_13__0 ) )
                     {
                     getUnorderedGroupHelper().select(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 13);
                     selected = true;
-                    // InternalReportDSL.g:35343:5: ( ( rule__Style__Group_4_13__0 ) )
-                    // InternalReportDSL.g:35344:6: ( rule__Style__Group_4_13__0 )
+                    // InternalReportDSL.g:35053:5: ( ( rule__Style__Group_4_13__0 ) )
+                    // InternalReportDSL.g:35054:6: ( rule__Style__Group_4_13__0 )
                     {
                     if ( state.backtracking==0 ) {
                        before(grammarAccess.getStyleAccess().getGroup_4_13()); 
                     }
-                    // InternalReportDSL.g:35345:6: ( rule__Style__Group_4_13__0 )
-                    // InternalReportDSL.g:35345:7: rule__Style__Group_4_13__0
+                    // InternalReportDSL.g:35055:6: ( rule__Style__Group_4_13__0 )
+                    // InternalReportDSL.g:35055:7: rule__Style__Group_4_13__0
                     {
                     pushFollow(FOLLOW_2);
                     rule__Style__Group_4_13__0();
@@ -115788,28 +114669,28 @@
                     }
                     break;
                 case 15 :
-                    // InternalReportDSL.g:35350:3: ({...}? => ( ( ( rule__Style__Group_4_14__0 ) ) ) )
+                    // InternalReportDSL.g:35060:3: ({...}? => ( ( ( rule__Style__Group_4_14__0 ) ) ) )
                     {
-                    // InternalReportDSL.g:35350:3: ({...}? => ( ( ( rule__Style__Group_4_14__0 ) ) ) )
-                    // InternalReportDSL.g:35351:4: {...}? => ( ( ( rule__Style__Group_4_14__0 ) ) )
+                    // InternalReportDSL.g:35060:3: ({...}? => ( ( ( rule__Style__Group_4_14__0 ) ) ) )
+                    // InternalReportDSL.g:35061:4: {...}? => ( ( ( rule__Style__Group_4_14__0 ) ) )
                     {
                     if ( ! getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 14) ) {
                         if (state.backtracking>0) {state.failed=true; return ;}
                         throw new FailedPredicateException(input, "rule__Style__UnorderedGroup_4__Impl", "getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 14)");
                     }
-                    // InternalReportDSL.g:35351:102: ( ( ( rule__Style__Group_4_14__0 ) ) )
-                    // InternalReportDSL.g:35352:5: ( ( rule__Style__Group_4_14__0 ) )
+                    // InternalReportDSL.g:35061:102: ( ( ( rule__Style__Group_4_14__0 ) ) )
+                    // InternalReportDSL.g:35062:5: ( ( rule__Style__Group_4_14__0 ) )
                     {
                     getUnorderedGroupHelper().select(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 14);
                     selected = true;
-                    // InternalReportDSL.g:35358:5: ( ( rule__Style__Group_4_14__0 ) )
-                    // InternalReportDSL.g:35359:6: ( rule__Style__Group_4_14__0 )
+                    // InternalReportDSL.g:35068:5: ( ( rule__Style__Group_4_14__0 ) )
+                    // InternalReportDSL.g:35069:6: ( rule__Style__Group_4_14__0 )
                     {
                     if ( state.backtracking==0 ) {
                        before(grammarAccess.getStyleAccess().getGroup_4_14()); 
                     }
-                    // InternalReportDSL.g:35360:6: ( rule__Style__Group_4_14__0 )
-                    // InternalReportDSL.g:35360:7: rule__Style__Group_4_14__0
+                    // InternalReportDSL.g:35070:6: ( rule__Style__Group_4_14__0 )
+                    // InternalReportDSL.g:35070:7: rule__Style__Group_4_14__0
                     {
                     pushFollow(FOLLOW_2);
                     rule__Style__Group_4_14__0();
@@ -115835,28 +114716,28 @@
                     }
                     break;
                 case 16 :
-                    // InternalReportDSL.g:35365:3: ({...}? => ( ( ( rule__Style__Group_4_15__0 ) ) ) )
+                    // InternalReportDSL.g:35075:3: ({...}? => ( ( ( rule__Style__Group_4_15__0 ) ) ) )
                     {
-                    // InternalReportDSL.g:35365:3: ({...}? => ( ( ( rule__Style__Group_4_15__0 ) ) ) )
-                    // InternalReportDSL.g:35366:4: {...}? => ( ( ( rule__Style__Group_4_15__0 ) ) )
+                    // InternalReportDSL.g:35075:3: ({...}? => ( ( ( rule__Style__Group_4_15__0 ) ) ) )
+                    // InternalReportDSL.g:35076:4: {...}? => ( ( ( rule__Style__Group_4_15__0 ) ) )
                     {
                     if ( ! getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 15) ) {
                         if (state.backtracking>0) {state.failed=true; return ;}
                         throw new FailedPredicateException(input, "rule__Style__UnorderedGroup_4__Impl", "getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 15)");
                     }
-                    // InternalReportDSL.g:35366:102: ( ( ( rule__Style__Group_4_15__0 ) ) )
-                    // InternalReportDSL.g:35367:5: ( ( rule__Style__Group_4_15__0 ) )
+                    // InternalReportDSL.g:35076:102: ( ( ( rule__Style__Group_4_15__0 ) ) )
+                    // InternalReportDSL.g:35077:5: ( ( rule__Style__Group_4_15__0 ) )
                     {
                     getUnorderedGroupHelper().select(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 15);
                     selected = true;
-                    // InternalReportDSL.g:35373:5: ( ( rule__Style__Group_4_15__0 ) )
-                    // InternalReportDSL.g:35374:6: ( rule__Style__Group_4_15__0 )
+                    // InternalReportDSL.g:35083:5: ( ( rule__Style__Group_4_15__0 ) )
+                    // InternalReportDSL.g:35084:6: ( rule__Style__Group_4_15__0 )
                     {
                     if ( state.backtracking==0 ) {
                        before(grammarAccess.getStyleAccess().getGroup_4_15()); 
                     }
-                    // InternalReportDSL.g:35375:6: ( rule__Style__Group_4_15__0 )
-                    // InternalReportDSL.g:35375:7: rule__Style__Group_4_15__0
+                    // InternalReportDSL.g:35085:6: ( rule__Style__Group_4_15__0 )
+                    // InternalReportDSL.g:35085:7: rule__Style__Group_4_15__0
                     {
                     pushFollow(FOLLOW_2);
                     rule__Style__Group_4_15__0();
@@ -115882,28 +114763,28 @@
                     }
                     break;
                 case 17 :
-                    // InternalReportDSL.g:35380:3: ({...}? => ( ( ( rule__Style__Group_4_16__0 ) ) ) )
+                    // InternalReportDSL.g:35090:3: ({...}? => ( ( ( rule__Style__Group_4_16__0 ) ) ) )
                     {
-                    // InternalReportDSL.g:35380:3: ({...}? => ( ( ( rule__Style__Group_4_16__0 ) ) ) )
-                    // InternalReportDSL.g:35381:4: {...}? => ( ( ( rule__Style__Group_4_16__0 ) ) )
+                    // InternalReportDSL.g:35090:3: ({...}? => ( ( ( rule__Style__Group_4_16__0 ) ) ) )
+                    // InternalReportDSL.g:35091:4: {...}? => ( ( ( rule__Style__Group_4_16__0 ) ) )
                     {
                     if ( ! getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 16) ) {
                         if (state.backtracking>0) {state.failed=true; return ;}
                         throw new FailedPredicateException(input, "rule__Style__UnorderedGroup_4__Impl", "getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 16)");
                     }
-                    // InternalReportDSL.g:35381:102: ( ( ( rule__Style__Group_4_16__0 ) ) )
-                    // InternalReportDSL.g:35382:5: ( ( rule__Style__Group_4_16__0 ) )
+                    // InternalReportDSL.g:35091:102: ( ( ( rule__Style__Group_4_16__0 ) ) )
+                    // InternalReportDSL.g:35092:5: ( ( rule__Style__Group_4_16__0 ) )
                     {
                     getUnorderedGroupHelper().select(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 16);
                     selected = true;
-                    // InternalReportDSL.g:35388:5: ( ( rule__Style__Group_4_16__0 ) )
-                    // InternalReportDSL.g:35389:6: ( rule__Style__Group_4_16__0 )
+                    // InternalReportDSL.g:35098:5: ( ( rule__Style__Group_4_16__0 ) )
+                    // InternalReportDSL.g:35099:6: ( rule__Style__Group_4_16__0 )
                     {
                     if ( state.backtracking==0 ) {
                        before(grammarAccess.getStyleAccess().getGroup_4_16()); 
                     }
-                    // InternalReportDSL.g:35390:6: ( rule__Style__Group_4_16__0 )
-                    // InternalReportDSL.g:35390:7: rule__Style__Group_4_16__0
+                    // InternalReportDSL.g:35100:6: ( rule__Style__Group_4_16__0 )
+                    // InternalReportDSL.g:35100:7: rule__Style__Group_4_16__0
                     {
                     pushFollow(FOLLOW_2);
                     rule__Style__Group_4_16__0();
@@ -115928,6 +114809,53 @@
 
                     }
                     break;
+                case 18 :
+                    // InternalReportDSL.g:35105:3: ({...}? => ( ( ( rule__Style__Group_4_17__0 ) ) ) )
+                    {
+                    // InternalReportDSL.g:35105:3: ({...}? => ( ( ( rule__Style__Group_4_17__0 ) ) ) )
+                    // InternalReportDSL.g:35106:4: {...}? => ( ( ( rule__Style__Group_4_17__0 ) ) )
+                    {
+                    if ( ! getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 17) ) {
+                        if (state.backtracking>0) {state.failed=true; return ;}
+                        throw new FailedPredicateException(input, "rule__Style__UnorderedGroup_4__Impl", "getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 17)");
+                    }
+                    // InternalReportDSL.g:35106:102: ( ( ( rule__Style__Group_4_17__0 ) ) )
+                    // InternalReportDSL.g:35107:5: ( ( rule__Style__Group_4_17__0 ) )
+                    {
+                    getUnorderedGroupHelper().select(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 17);
+                    selected = true;
+                    // InternalReportDSL.g:35113:5: ( ( rule__Style__Group_4_17__0 ) )
+                    // InternalReportDSL.g:35114:6: ( rule__Style__Group_4_17__0 )
+                    {
+                    if ( state.backtracking==0 ) {
+                       before(grammarAccess.getStyleAccess().getGroup_4_17()); 
+                    }
+                    // InternalReportDSL.g:35115:6: ( rule__Style__Group_4_17__0 )
+                    // InternalReportDSL.g:35115:7: rule__Style__Group_4_17__0
+                    {
+                    pushFollow(FOLLOW_2);
+                    rule__Style__Group_4_17__0();
+
+                    state._fsp--;
+                    if (state.failed) return ;
+
+                    }
+
+                    if ( state.backtracking==0 ) {
+                       after(grammarAccess.getStyleAccess().getGroup_4_17()); 
+                    }
+
+                    }
+
+
+                    }
+
+
+                    }
+
+
+                    }
+                    break;
 
             }
 
@@ -115952,24 +114880,24 @@
 
 
     // $ANTLR start "rule__Style__UnorderedGroup_4__0"
-    // InternalReportDSL.g:35403:1: rule__Style__UnorderedGroup_4__0 : rule__Style__UnorderedGroup_4__Impl ( rule__Style__UnorderedGroup_4__1 )? ;
+    // InternalReportDSL.g:35128:1: rule__Style__UnorderedGroup_4__0 : rule__Style__UnorderedGroup_4__Impl ( rule__Style__UnorderedGroup_4__1 )? ;
     public final void rule__Style__UnorderedGroup_4__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:35407:1: ( rule__Style__UnorderedGroup_4__Impl ( rule__Style__UnorderedGroup_4__1 )? )
-            // InternalReportDSL.g:35408:2: rule__Style__UnorderedGroup_4__Impl ( rule__Style__UnorderedGroup_4__1 )?
+            // InternalReportDSL.g:35132:1: ( rule__Style__UnorderedGroup_4__Impl ( rule__Style__UnorderedGroup_4__1 )? )
+            // InternalReportDSL.g:35133:2: rule__Style__UnorderedGroup_4__Impl ( rule__Style__UnorderedGroup_4__1 )?
             {
-            pushFollow(FOLLOW_223);
+            pushFollow(FOLLOW_221);
             rule__Style__UnorderedGroup_4__Impl();
 
             state._fsp--;
             if (state.failed) return ;
-            // InternalReportDSL.g:35409:2: ( rule__Style__UnorderedGroup_4__1 )?
-            int alt261=2;
-            alt261 = dfa261.predict(input);
-            switch (alt261) {
+            // InternalReportDSL.g:35134:2: ( rule__Style__UnorderedGroup_4__1 )?
+            int alt243=2;
+            alt243 = dfa243.predict(input);
+            switch (alt243) {
                 case 1 :
                     // InternalReportDSL.g:0:0: rule__Style__UnorderedGroup_4__1
                     {
@@ -116003,24 +114931,24 @@
 
 
     // $ANTLR start "rule__Style__UnorderedGroup_4__1"
-    // InternalReportDSL.g:35415:1: rule__Style__UnorderedGroup_4__1 : rule__Style__UnorderedGroup_4__Impl ( rule__Style__UnorderedGroup_4__2 )? ;
+    // InternalReportDSL.g:35140:1: rule__Style__UnorderedGroup_4__1 : rule__Style__UnorderedGroup_4__Impl ( rule__Style__UnorderedGroup_4__2 )? ;
     public final void rule__Style__UnorderedGroup_4__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:35419:1: ( rule__Style__UnorderedGroup_4__Impl ( rule__Style__UnorderedGroup_4__2 )? )
-            // InternalReportDSL.g:35420:2: rule__Style__UnorderedGroup_4__Impl ( rule__Style__UnorderedGroup_4__2 )?
+            // InternalReportDSL.g:35144:1: ( rule__Style__UnorderedGroup_4__Impl ( rule__Style__UnorderedGroup_4__2 )? )
+            // InternalReportDSL.g:35145:2: rule__Style__UnorderedGroup_4__Impl ( rule__Style__UnorderedGroup_4__2 )?
             {
-            pushFollow(FOLLOW_223);
+            pushFollow(FOLLOW_221);
             rule__Style__UnorderedGroup_4__Impl();
 
             state._fsp--;
             if (state.failed) return ;
-            // InternalReportDSL.g:35421:2: ( rule__Style__UnorderedGroup_4__2 )?
-            int alt262=2;
-            alt262 = dfa262.predict(input);
-            switch (alt262) {
+            // InternalReportDSL.g:35146:2: ( rule__Style__UnorderedGroup_4__2 )?
+            int alt244=2;
+            alt244 = dfa244.predict(input);
+            switch (alt244) {
                 case 1 :
                     // InternalReportDSL.g:0:0: rule__Style__UnorderedGroup_4__2
                     {
@@ -116054,24 +114982,24 @@
 
 
     // $ANTLR start "rule__Style__UnorderedGroup_4__2"
-    // InternalReportDSL.g:35427:1: rule__Style__UnorderedGroup_4__2 : rule__Style__UnorderedGroup_4__Impl ( rule__Style__UnorderedGroup_4__3 )? ;
+    // InternalReportDSL.g:35152:1: rule__Style__UnorderedGroup_4__2 : rule__Style__UnorderedGroup_4__Impl ( rule__Style__UnorderedGroup_4__3 )? ;
     public final void rule__Style__UnorderedGroup_4__2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:35431:1: ( rule__Style__UnorderedGroup_4__Impl ( rule__Style__UnorderedGroup_4__3 )? )
-            // InternalReportDSL.g:35432:2: rule__Style__UnorderedGroup_4__Impl ( rule__Style__UnorderedGroup_4__3 )?
+            // InternalReportDSL.g:35156:1: ( rule__Style__UnorderedGroup_4__Impl ( rule__Style__UnorderedGroup_4__3 )? )
+            // InternalReportDSL.g:35157:2: rule__Style__UnorderedGroup_4__Impl ( rule__Style__UnorderedGroup_4__3 )?
             {
-            pushFollow(FOLLOW_223);
+            pushFollow(FOLLOW_221);
             rule__Style__UnorderedGroup_4__Impl();
 
             state._fsp--;
             if (state.failed) return ;
-            // InternalReportDSL.g:35433:2: ( rule__Style__UnorderedGroup_4__3 )?
-            int alt263=2;
-            alt263 = dfa263.predict(input);
-            switch (alt263) {
+            // InternalReportDSL.g:35158:2: ( rule__Style__UnorderedGroup_4__3 )?
+            int alt245=2;
+            alt245 = dfa245.predict(input);
+            switch (alt245) {
                 case 1 :
                     // InternalReportDSL.g:0:0: rule__Style__UnorderedGroup_4__3
                     {
@@ -116105,24 +115033,24 @@
 
 
     // $ANTLR start "rule__Style__UnorderedGroup_4__3"
-    // InternalReportDSL.g:35439:1: rule__Style__UnorderedGroup_4__3 : rule__Style__UnorderedGroup_4__Impl ( rule__Style__UnorderedGroup_4__4 )? ;
+    // InternalReportDSL.g:35164:1: rule__Style__UnorderedGroup_4__3 : rule__Style__UnorderedGroup_4__Impl ( rule__Style__UnorderedGroup_4__4 )? ;
     public final void rule__Style__UnorderedGroup_4__3() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:35443:1: ( rule__Style__UnorderedGroup_4__Impl ( rule__Style__UnorderedGroup_4__4 )? )
-            // InternalReportDSL.g:35444:2: rule__Style__UnorderedGroup_4__Impl ( rule__Style__UnorderedGroup_4__4 )?
+            // InternalReportDSL.g:35168:1: ( rule__Style__UnorderedGroup_4__Impl ( rule__Style__UnorderedGroup_4__4 )? )
+            // InternalReportDSL.g:35169:2: rule__Style__UnorderedGroup_4__Impl ( rule__Style__UnorderedGroup_4__4 )?
             {
-            pushFollow(FOLLOW_223);
+            pushFollow(FOLLOW_221);
             rule__Style__UnorderedGroup_4__Impl();
 
             state._fsp--;
             if (state.failed) return ;
-            // InternalReportDSL.g:35445:2: ( rule__Style__UnorderedGroup_4__4 )?
-            int alt264=2;
-            alt264 = dfa264.predict(input);
-            switch (alt264) {
+            // InternalReportDSL.g:35170:2: ( rule__Style__UnorderedGroup_4__4 )?
+            int alt246=2;
+            alt246 = dfa246.predict(input);
+            switch (alt246) {
                 case 1 :
                     // InternalReportDSL.g:0:0: rule__Style__UnorderedGroup_4__4
                     {
@@ -116156,24 +115084,24 @@
 
 
     // $ANTLR start "rule__Style__UnorderedGroup_4__4"
-    // InternalReportDSL.g:35451:1: rule__Style__UnorderedGroup_4__4 : rule__Style__UnorderedGroup_4__Impl ( rule__Style__UnorderedGroup_4__5 )? ;
+    // InternalReportDSL.g:35176:1: rule__Style__UnorderedGroup_4__4 : rule__Style__UnorderedGroup_4__Impl ( rule__Style__UnorderedGroup_4__5 )? ;
     public final void rule__Style__UnorderedGroup_4__4() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:35455:1: ( rule__Style__UnorderedGroup_4__Impl ( rule__Style__UnorderedGroup_4__5 )? )
-            // InternalReportDSL.g:35456:2: rule__Style__UnorderedGroup_4__Impl ( rule__Style__UnorderedGroup_4__5 )?
+            // InternalReportDSL.g:35180:1: ( rule__Style__UnorderedGroup_4__Impl ( rule__Style__UnorderedGroup_4__5 )? )
+            // InternalReportDSL.g:35181:2: rule__Style__UnorderedGroup_4__Impl ( rule__Style__UnorderedGroup_4__5 )?
             {
-            pushFollow(FOLLOW_223);
+            pushFollow(FOLLOW_221);
             rule__Style__UnorderedGroup_4__Impl();
 
             state._fsp--;
             if (state.failed) return ;
-            // InternalReportDSL.g:35457:2: ( rule__Style__UnorderedGroup_4__5 )?
-            int alt265=2;
-            alt265 = dfa265.predict(input);
-            switch (alt265) {
+            // InternalReportDSL.g:35182:2: ( rule__Style__UnorderedGroup_4__5 )?
+            int alt247=2;
+            alt247 = dfa247.predict(input);
+            switch (alt247) {
                 case 1 :
                     // InternalReportDSL.g:0:0: rule__Style__UnorderedGroup_4__5
                     {
@@ -116207,24 +115135,24 @@
 
 
     // $ANTLR start "rule__Style__UnorderedGroup_4__5"
-    // InternalReportDSL.g:35463:1: rule__Style__UnorderedGroup_4__5 : rule__Style__UnorderedGroup_4__Impl ( rule__Style__UnorderedGroup_4__6 )? ;
+    // InternalReportDSL.g:35188:1: rule__Style__UnorderedGroup_4__5 : rule__Style__UnorderedGroup_4__Impl ( rule__Style__UnorderedGroup_4__6 )? ;
     public final void rule__Style__UnorderedGroup_4__5() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:35467:1: ( rule__Style__UnorderedGroup_4__Impl ( rule__Style__UnorderedGroup_4__6 )? )
-            // InternalReportDSL.g:35468:2: rule__Style__UnorderedGroup_4__Impl ( rule__Style__UnorderedGroup_4__6 )?
+            // InternalReportDSL.g:35192:1: ( rule__Style__UnorderedGroup_4__Impl ( rule__Style__UnorderedGroup_4__6 )? )
+            // InternalReportDSL.g:35193:2: rule__Style__UnorderedGroup_4__Impl ( rule__Style__UnorderedGroup_4__6 )?
             {
-            pushFollow(FOLLOW_223);
+            pushFollow(FOLLOW_221);
             rule__Style__UnorderedGroup_4__Impl();
 
             state._fsp--;
             if (state.failed) return ;
-            // InternalReportDSL.g:35469:2: ( rule__Style__UnorderedGroup_4__6 )?
-            int alt266=2;
-            alt266 = dfa266.predict(input);
-            switch (alt266) {
+            // InternalReportDSL.g:35194:2: ( rule__Style__UnorderedGroup_4__6 )?
+            int alt248=2;
+            alt248 = dfa248.predict(input);
+            switch (alt248) {
                 case 1 :
                     // InternalReportDSL.g:0:0: rule__Style__UnorderedGroup_4__6
                     {
@@ -116258,24 +115186,24 @@
 
 
     // $ANTLR start "rule__Style__UnorderedGroup_4__6"
-    // InternalReportDSL.g:35475:1: rule__Style__UnorderedGroup_4__6 : rule__Style__UnorderedGroup_4__Impl ( rule__Style__UnorderedGroup_4__7 )? ;
+    // InternalReportDSL.g:35200:1: rule__Style__UnorderedGroup_4__6 : rule__Style__UnorderedGroup_4__Impl ( rule__Style__UnorderedGroup_4__7 )? ;
     public final void rule__Style__UnorderedGroup_4__6() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:35479:1: ( rule__Style__UnorderedGroup_4__Impl ( rule__Style__UnorderedGroup_4__7 )? )
-            // InternalReportDSL.g:35480:2: rule__Style__UnorderedGroup_4__Impl ( rule__Style__UnorderedGroup_4__7 )?
+            // InternalReportDSL.g:35204:1: ( rule__Style__UnorderedGroup_4__Impl ( rule__Style__UnorderedGroup_4__7 )? )
+            // InternalReportDSL.g:35205:2: rule__Style__UnorderedGroup_4__Impl ( rule__Style__UnorderedGroup_4__7 )?
             {
-            pushFollow(FOLLOW_223);
+            pushFollow(FOLLOW_221);
             rule__Style__UnorderedGroup_4__Impl();
 
             state._fsp--;
             if (state.failed) return ;
-            // InternalReportDSL.g:35481:2: ( rule__Style__UnorderedGroup_4__7 )?
-            int alt267=2;
-            alt267 = dfa267.predict(input);
-            switch (alt267) {
+            // InternalReportDSL.g:35206:2: ( rule__Style__UnorderedGroup_4__7 )?
+            int alt249=2;
+            alt249 = dfa249.predict(input);
+            switch (alt249) {
                 case 1 :
                     // InternalReportDSL.g:0:0: rule__Style__UnorderedGroup_4__7
                     {
@@ -116309,24 +115237,24 @@
 
 
     // $ANTLR start "rule__Style__UnorderedGroup_4__7"
-    // InternalReportDSL.g:35487:1: rule__Style__UnorderedGroup_4__7 : rule__Style__UnorderedGroup_4__Impl ( rule__Style__UnorderedGroup_4__8 )? ;
+    // InternalReportDSL.g:35212:1: rule__Style__UnorderedGroup_4__7 : rule__Style__UnorderedGroup_4__Impl ( rule__Style__UnorderedGroup_4__8 )? ;
     public final void rule__Style__UnorderedGroup_4__7() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:35491:1: ( rule__Style__UnorderedGroup_4__Impl ( rule__Style__UnorderedGroup_4__8 )? )
-            // InternalReportDSL.g:35492:2: rule__Style__UnorderedGroup_4__Impl ( rule__Style__UnorderedGroup_4__8 )?
+            // InternalReportDSL.g:35216:1: ( rule__Style__UnorderedGroup_4__Impl ( rule__Style__UnorderedGroup_4__8 )? )
+            // InternalReportDSL.g:35217:2: rule__Style__UnorderedGroup_4__Impl ( rule__Style__UnorderedGroup_4__8 )?
             {
-            pushFollow(FOLLOW_223);
+            pushFollow(FOLLOW_221);
             rule__Style__UnorderedGroup_4__Impl();
 
             state._fsp--;
             if (state.failed) return ;
-            // InternalReportDSL.g:35493:2: ( rule__Style__UnorderedGroup_4__8 )?
-            int alt268=2;
-            alt268 = dfa268.predict(input);
-            switch (alt268) {
+            // InternalReportDSL.g:35218:2: ( rule__Style__UnorderedGroup_4__8 )?
+            int alt250=2;
+            alt250 = dfa250.predict(input);
+            switch (alt250) {
                 case 1 :
                     // InternalReportDSL.g:0:0: rule__Style__UnorderedGroup_4__8
                     {
@@ -116360,24 +115288,24 @@
 
 
     // $ANTLR start "rule__Style__UnorderedGroup_4__8"
-    // InternalReportDSL.g:35499:1: rule__Style__UnorderedGroup_4__8 : rule__Style__UnorderedGroup_4__Impl ( rule__Style__UnorderedGroup_4__9 )? ;
+    // InternalReportDSL.g:35224:1: rule__Style__UnorderedGroup_4__8 : rule__Style__UnorderedGroup_4__Impl ( rule__Style__UnorderedGroup_4__9 )? ;
     public final void rule__Style__UnorderedGroup_4__8() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:35503:1: ( rule__Style__UnorderedGroup_4__Impl ( rule__Style__UnorderedGroup_4__9 )? )
-            // InternalReportDSL.g:35504:2: rule__Style__UnorderedGroup_4__Impl ( rule__Style__UnorderedGroup_4__9 )?
+            // InternalReportDSL.g:35228:1: ( rule__Style__UnorderedGroup_4__Impl ( rule__Style__UnorderedGroup_4__9 )? )
+            // InternalReportDSL.g:35229:2: rule__Style__UnorderedGroup_4__Impl ( rule__Style__UnorderedGroup_4__9 )?
             {
-            pushFollow(FOLLOW_223);
+            pushFollow(FOLLOW_221);
             rule__Style__UnorderedGroup_4__Impl();
 
             state._fsp--;
             if (state.failed) return ;
-            // InternalReportDSL.g:35505:2: ( rule__Style__UnorderedGroup_4__9 )?
-            int alt269=2;
-            alt269 = dfa269.predict(input);
-            switch (alt269) {
+            // InternalReportDSL.g:35230:2: ( rule__Style__UnorderedGroup_4__9 )?
+            int alt251=2;
+            alt251 = dfa251.predict(input);
+            switch (alt251) {
                 case 1 :
                     // InternalReportDSL.g:0:0: rule__Style__UnorderedGroup_4__9
                     {
@@ -116411,24 +115339,24 @@
 
 
     // $ANTLR start "rule__Style__UnorderedGroup_4__9"
-    // InternalReportDSL.g:35511:1: rule__Style__UnorderedGroup_4__9 : rule__Style__UnorderedGroup_4__Impl ( rule__Style__UnorderedGroup_4__10 )? ;
+    // InternalReportDSL.g:35236:1: rule__Style__UnorderedGroup_4__9 : rule__Style__UnorderedGroup_4__Impl ( rule__Style__UnorderedGroup_4__10 )? ;
     public final void rule__Style__UnorderedGroup_4__9() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:35515:1: ( rule__Style__UnorderedGroup_4__Impl ( rule__Style__UnorderedGroup_4__10 )? )
-            // InternalReportDSL.g:35516:2: rule__Style__UnorderedGroup_4__Impl ( rule__Style__UnorderedGroup_4__10 )?
+            // InternalReportDSL.g:35240:1: ( rule__Style__UnorderedGroup_4__Impl ( rule__Style__UnorderedGroup_4__10 )? )
+            // InternalReportDSL.g:35241:2: rule__Style__UnorderedGroup_4__Impl ( rule__Style__UnorderedGroup_4__10 )?
             {
-            pushFollow(FOLLOW_223);
+            pushFollow(FOLLOW_221);
             rule__Style__UnorderedGroup_4__Impl();
 
             state._fsp--;
             if (state.failed) return ;
-            // InternalReportDSL.g:35517:2: ( rule__Style__UnorderedGroup_4__10 )?
-            int alt270=2;
-            alt270 = dfa270.predict(input);
-            switch (alt270) {
+            // InternalReportDSL.g:35242:2: ( rule__Style__UnorderedGroup_4__10 )?
+            int alt252=2;
+            alt252 = dfa252.predict(input);
+            switch (alt252) {
                 case 1 :
                     // InternalReportDSL.g:0:0: rule__Style__UnorderedGroup_4__10
                     {
@@ -116462,24 +115390,24 @@
 
 
     // $ANTLR start "rule__Style__UnorderedGroup_4__10"
-    // InternalReportDSL.g:35523:1: rule__Style__UnorderedGroup_4__10 : rule__Style__UnorderedGroup_4__Impl ( rule__Style__UnorderedGroup_4__11 )? ;
+    // InternalReportDSL.g:35248:1: rule__Style__UnorderedGroup_4__10 : rule__Style__UnorderedGroup_4__Impl ( rule__Style__UnorderedGroup_4__11 )? ;
     public final void rule__Style__UnorderedGroup_4__10() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:35527:1: ( rule__Style__UnorderedGroup_4__Impl ( rule__Style__UnorderedGroup_4__11 )? )
-            // InternalReportDSL.g:35528:2: rule__Style__UnorderedGroup_4__Impl ( rule__Style__UnorderedGroup_4__11 )?
+            // InternalReportDSL.g:35252:1: ( rule__Style__UnorderedGroup_4__Impl ( rule__Style__UnorderedGroup_4__11 )? )
+            // InternalReportDSL.g:35253:2: rule__Style__UnorderedGroup_4__Impl ( rule__Style__UnorderedGroup_4__11 )?
             {
-            pushFollow(FOLLOW_223);
+            pushFollow(FOLLOW_221);
             rule__Style__UnorderedGroup_4__Impl();
 
             state._fsp--;
             if (state.failed) return ;
-            // InternalReportDSL.g:35529:2: ( rule__Style__UnorderedGroup_4__11 )?
-            int alt271=2;
-            alt271 = dfa271.predict(input);
-            switch (alt271) {
+            // InternalReportDSL.g:35254:2: ( rule__Style__UnorderedGroup_4__11 )?
+            int alt253=2;
+            alt253 = dfa253.predict(input);
+            switch (alt253) {
                 case 1 :
                     // InternalReportDSL.g:0:0: rule__Style__UnorderedGroup_4__11
                     {
@@ -116513,24 +115441,24 @@
 
 
     // $ANTLR start "rule__Style__UnorderedGroup_4__11"
-    // InternalReportDSL.g:35535:1: rule__Style__UnorderedGroup_4__11 : rule__Style__UnorderedGroup_4__Impl ( rule__Style__UnorderedGroup_4__12 )? ;
+    // InternalReportDSL.g:35260:1: rule__Style__UnorderedGroup_4__11 : rule__Style__UnorderedGroup_4__Impl ( rule__Style__UnorderedGroup_4__12 )? ;
     public final void rule__Style__UnorderedGroup_4__11() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:35539:1: ( rule__Style__UnorderedGroup_4__Impl ( rule__Style__UnorderedGroup_4__12 )? )
-            // InternalReportDSL.g:35540:2: rule__Style__UnorderedGroup_4__Impl ( rule__Style__UnorderedGroup_4__12 )?
+            // InternalReportDSL.g:35264:1: ( rule__Style__UnorderedGroup_4__Impl ( rule__Style__UnorderedGroup_4__12 )? )
+            // InternalReportDSL.g:35265:2: rule__Style__UnorderedGroup_4__Impl ( rule__Style__UnorderedGroup_4__12 )?
             {
-            pushFollow(FOLLOW_223);
+            pushFollow(FOLLOW_221);
             rule__Style__UnorderedGroup_4__Impl();
 
             state._fsp--;
             if (state.failed) return ;
-            // InternalReportDSL.g:35541:2: ( rule__Style__UnorderedGroup_4__12 )?
-            int alt272=2;
-            alt272 = dfa272.predict(input);
-            switch (alt272) {
+            // InternalReportDSL.g:35266:2: ( rule__Style__UnorderedGroup_4__12 )?
+            int alt254=2;
+            alt254 = dfa254.predict(input);
+            switch (alt254) {
                 case 1 :
                     // InternalReportDSL.g:0:0: rule__Style__UnorderedGroup_4__12
                     {
@@ -116564,24 +115492,24 @@
 
 
     // $ANTLR start "rule__Style__UnorderedGroup_4__12"
-    // InternalReportDSL.g:35547:1: rule__Style__UnorderedGroup_4__12 : rule__Style__UnorderedGroup_4__Impl ( rule__Style__UnorderedGroup_4__13 )? ;
+    // InternalReportDSL.g:35272:1: rule__Style__UnorderedGroup_4__12 : rule__Style__UnorderedGroup_4__Impl ( rule__Style__UnorderedGroup_4__13 )? ;
     public final void rule__Style__UnorderedGroup_4__12() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:35551:1: ( rule__Style__UnorderedGroup_4__Impl ( rule__Style__UnorderedGroup_4__13 )? )
-            // InternalReportDSL.g:35552:2: rule__Style__UnorderedGroup_4__Impl ( rule__Style__UnorderedGroup_4__13 )?
+            // InternalReportDSL.g:35276:1: ( rule__Style__UnorderedGroup_4__Impl ( rule__Style__UnorderedGroup_4__13 )? )
+            // InternalReportDSL.g:35277:2: rule__Style__UnorderedGroup_4__Impl ( rule__Style__UnorderedGroup_4__13 )?
             {
-            pushFollow(FOLLOW_223);
+            pushFollow(FOLLOW_221);
             rule__Style__UnorderedGroup_4__Impl();
 
             state._fsp--;
             if (state.failed) return ;
-            // InternalReportDSL.g:35553:2: ( rule__Style__UnorderedGroup_4__13 )?
-            int alt273=2;
-            alt273 = dfa273.predict(input);
-            switch (alt273) {
+            // InternalReportDSL.g:35278:2: ( rule__Style__UnorderedGroup_4__13 )?
+            int alt255=2;
+            alt255 = dfa255.predict(input);
+            switch (alt255) {
                 case 1 :
                     // InternalReportDSL.g:0:0: rule__Style__UnorderedGroup_4__13
                     {
@@ -116615,24 +115543,24 @@
 
 
     // $ANTLR start "rule__Style__UnorderedGroup_4__13"
-    // InternalReportDSL.g:35559:1: rule__Style__UnorderedGroup_4__13 : rule__Style__UnorderedGroup_4__Impl ( rule__Style__UnorderedGroup_4__14 )? ;
+    // InternalReportDSL.g:35284:1: rule__Style__UnorderedGroup_4__13 : rule__Style__UnorderedGroup_4__Impl ( rule__Style__UnorderedGroup_4__14 )? ;
     public final void rule__Style__UnorderedGroup_4__13() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:35563:1: ( rule__Style__UnorderedGroup_4__Impl ( rule__Style__UnorderedGroup_4__14 )? )
-            // InternalReportDSL.g:35564:2: rule__Style__UnorderedGroup_4__Impl ( rule__Style__UnorderedGroup_4__14 )?
+            // InternalReportDSL.g:35288:1: ( rule__Style__UnorderedGroup_4__Impl ( rule__Style__UnorderedGroup_4__14 )? )
+            // InternalReportDSL.g:35289:2: rule__Style__UnorderedGroup_4__Impl ( rule__Style__UnorderedGroup_4__14 )?
             {
-            pushFollow(FOLLOW_223);
+            pushFollow(FOLLOW_221);
             rule__Style__UnorderedGroup_4__Impl();
 
             state._fsp--;
             if (state.failed) return ;
-            // InternalReportDSL.g:35565:2: ( rule__Style__UnorderedGroup_4__14 )?
-            int alt274=2;
-            alt274 = dfa274.predict(input);
-            switch (alt274) {
+            // InternalReportDSL.g:35290:2: ( rule__Style__UnorderedGroup_4__14 )?
+            int alt256=2;
+            alt256 = dfa256.predict(input);
+            switch (alt256) {
                 case 1 :
                     // InternalReportDSL.g:0:0: rule__Style__UnorderedGroup_4__14
                     {
@@ -116666,24 +115594,24 @@
 
 
     // $ANTLR start "rule__Style__UnorderedGroup_4__14"
-    // InternalReportDSL.g:35571:1: rule__Style__UnorderedGroup_4__14 : rule__Style__UnorderedGroup_4__Impl ( rule__Style__UnorderedGroup_4__15 )? ;
+    // InternalReportDSL.g:35296:1: rule__Style__UnorderedGroup_4__14 : rule__Style__UnorderedGroup_4__Impl ( rule__Style__UnorderedGroup_4__15 )? ;
     public final void rule__Style__UnorderedGroup_4__14() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:35575:1: ( rule__Style__UnorderedGroup_4__Impl ( rule__Style__UnorderedGroup_4__15 )? )
-            // InternalReportDSL.g:35576:2: rule__Style__UnorderedGroup_4__Impl ( rule__Style__UnorderedGroup_4__15 )?
+            // InternalReportDSL.g:35300:1: ( rule__Style__UnorderedGroup_4__Impl ( rule__Style__UnorderedGroup_4__15 )? )
+            // InternalReportDSL.g:35301:2: rule__Style__UnorderedGroup_4__Impl ( rule__Style__UnorderedGroup_4__15 )?
             {
-            pushFollow(FOLLOW_223);
+            pushFollow(FOLLOW_221);
             rule__Style__UnorderedGroup_4__Impl();
 
             state._fsp--;
             if (state.failed) return ;
-            // InternalReportDSL.g:35577:2: ( rule__Style__UnorderedGroup_4__15 )?
-            int alt275=2;
-            alt275 = dfa275.predict(input);
-            switch (alt275) {
+            // InternalReportDSL.g:35302:2: ( rule__Style__UnorderedGroup_4__15 )?
+            int alt257=2;
+            alt257 = dfa257.predict(input);
+            switch (alt257) {
                 case 1 :
                     // InternalReportDSL.g:0:0: rule__Style__UnorderedGroup_4__15
                     {
@@ -116717,24 +115645,24 @@
 
 
     // $ANTLR start "rule__Style__UnorderedGroup_4__15"
-    // InternalReportDSL.g:35583:1: rule__Style__UnorderedGroup_4__15 : rule__Style__UnorderedGroup_4__Impl ( rule__Style__UnorderedGroup_4__16 )? ;
+    // InternalReportDSL.g:35308:1: rule__Style__UnorderedGroup_4__15 : rule__Style__UnorderedGroup_4__Impl ( rule__Style__UnorderedGroup_4__16 )? ;
     public final void rule__Style__UnorderedGroup_4__15() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:35587:1: ( rule__Style__UnorderedGroup_4__Impl ( rule__Style__UnorderedGroup_4__16 )? )
-            // InternalReportDSL.g:35588:2: rule__Style__UnorderedGroup_4__Impl ( rule__Style__UnorderedGroup_4__16 )?
+            // InternalReportDSL.g:35312:1: ( rule__Style__UnorderedGroup_4__Impl ( rule__Style__UnorderedGroup_4__16 )? )
+            // InternalReportDSL.g:35313:2: rule__Style__UnorderedGroup_4__Impl ( rule__Style__UnorderedGroup_4__16 )?
             {
-            pushFollow(FOLLOW_223);
+            pushFollow(FOLLOW_221);
             rule__Style__UnorderedGroup_4__Impl();
 
             state._fsp--;
             if (state.failed) return ;
-            // InternalReportDSL.g:35589:2: ( rule__Style__UnorderedGroup_4__16 )?
-            int alt276=2;
-            alt276 = dfa276.predict(input);
-            switch (alt276) {
+            // InternalReportDSL.g:35314:2: ( rule__Style__UnorderedGroup_4__16 )?
+            int alt258=2;
+            alt258 = dfa258.predict(input);
+            switch (alt258) {
                 case 1 :
                     // InternalReportDSL.g:0:0: rule__Style__UnorderedGroup_4__16
                     {
@@ -116768,14 +115696,65 @@
 
 
     // $ANTLR start "rule__Style__UnorderedGroup_4__16"
-    // InternalReportDSL.g:35595:1: rule__Style__UnorderedGroup_4__16 : rule__Style__UnorderedGroup_4__Impl ;
+    // InternalReportDSL.g:35320:1: rule__Style__UnorderedGroup_4__16 : rule__Style__UnorderedGroup_4__Impl ( rule__Style__UnorderedGroup_4__17 )? ;
     public final void rule__Style__UnorderedGroup_4__16() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:35599:1: ( rule__Style__UnorderedGroup_4__Impl )
-            // InternalReportDSL.g:35600:2: rule__Style__UnorderedGroup_4__Impl
+            // InternalReportDSL.g:35324:1: ( rule__Style__UnorderedGroup_4__Impl ( rule__Style__UnorderedGroup_4__17 )? )
+            // InternalReportDSL.g:35325:2: rule__Style__UnorderedGroup_4__Impl ( rule__Style__UnorderedGroup_4__17 )?
+            {
+            pushFollow(FOLLOW_221);
+            rule__Style__UnorderedGroup_4__Impl();
+
+            state._fsp--;
+            if (state.failed) return ;
+            // InternalReportDSL.g:35326:2: ( rule__Style__UnorderedGroup_4__17 )?
+            int alt259=2;
+            alt259 = dfa259.predict(input);
+            switch (alt259) {
+                case 1 :
+                    // InternalReportDSL.g:0:0: rule__Style__UnorderedGroup_4__17
+                    {
+                    pushFollow(FOLLOW_2);
+                    rule__Style__UnorderedGroup_4__17();
+
+                    state._fsp--;
+                    if (state.failed) return ;
+
+                    }
+                    break;
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__Style__UnorderedGroup_4__16"
+
+
+    // $ANTLR start "rule__Style__UnorderedGroup_4__17"
+    // InternalReportDSL.g:35332:1: rule__Style__UnorderedGroup_4__17 : rule__Style__UnorderedGroup_4__Impl ;
+    public final void rule__Style__UnorderedGroup_4__17() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+        	
+        try {
+            // InternalReportDSL.g:35336:1: ( rule__Style__UnorderedGroup_4__Impl )
+            // InternalReportDSL.g:35337:2: rule__Style__UnorderedGroup_4__Impl
             {
             pushFollow(FOLLOW_2);
             rule__Style__UnorderedGroup_4__Impl();
@@ -116797,24 +115776,24 @@
         }
         return ;
     }
-    // $ANTLR end "rule__Style__UnorderedGroup_4__16"
+    // $ANTLR end "rule__Style__UnorderedGroup_4__17"
 
 
     // $ANTLR start "rule__MediaStyle__UnorderedGroup_3"
-    // InternalReportDSL.g:35607:1: rule__MediaStyle__UnorderedGroup_3 : ( rule__MediaStyle__UnorderedGroup_3__0 )? ;
+    // InternalReportDSL.g:35344:1: rule__MediaStyle__UnorderedGroup_3 : ( rule__MediaStyle__UnorderedGroup_3__0 )? ;
     public final void rule__MediaStyle__UnorderedGroup_3() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         		getUnorderedGroupHelper().enter(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3());
         	
         try {
-            // InternalReportDSL.g:35612:1: ( ( rule__MediaStyle__UnorderedGroup_3__0 )? )
-            // InternalReportDSL.g:35613:2: ( rule__MediaStyle__UnorderedGroup_3__0 )?
+            // InternalReportDSL.g:35349:1: ( ( rule__MediaStyle__UnorderedGroup_3__0 )? )
+            // InternalReportDSL.g:35350:2: ( rule__MediaStyle__UnorderedGroup_3__0 )?
             {
-            // InternalReportDSL.g:35613:2: ( rule__MediaStyle__UnorderedGroup_3__0 )?
-            int alt277=2;
-            alt277 = dfa277.predict(input);
-            switch (alt277) {
+            // InternalReportDSL.g:35350:2: ( rule__MediaStyle__UnorderedGroup_3__0 )?
+            int alt260=2;
+            alt260 = dfa260.predict(input);
+            switch (alt260) {
                 case 1 :
                     // InternalReportDSL.g:0:0: rule__MediaStyle__UnorderedGroup_3__0
                     {
@@ -116849,43 +115828,43 @@
 
 
     // $ANTLR start "rule__MediaStyle__UnorderedGroup_3__Impl"
-    // InternalReportDSL.g:35621:1: rule__MediaStyle__UnorderedGroup_3__Impl : ( ({...}? => ( ( ( rule__MediaStyle__Group_3_0__0 ) ) ) ) | ({...}? => ( ( ( rule__MediaStyle__Group_3_1__0 ) ) ) ) | ({...}? => ( ( ( rule__MediaStyle__Group_3_2__0 ) ) ) ) | ({...}? => ( ( ( rule__MediaStyle__Group_3_3__0 ) ) ) ) | ({...}? => ( ( ( rule__MediaStyle__Group_3_4__0 ) ) ) ) | ({...}? => ( ( ( rule__MediaStyle__Group_3_5__0 ) ) ) ) | ({...}? => ( ( ( rule__MediaStyle__Group_3_6__0 ) ) ) ) | ({...}? => ( ( ( rule__MediaStyle__Group_3_7__0 ) ) ) ) | ({...}? => ( ( ( rule__MediaStyle__Group_3_8__0 ) ) ) ) | ({...}? => ( ( ( rule__MediaStyle__Group_3_9__0 ) ) ) ) | ({...}? => ( ( ( rule__MediaStyle__Group_3_10__0 ) ) ) ) | ({...}? => ( ( ( rule__MediaStyle__Group_3_11__0 ) ) ) ) | ({...}? => ( ( ( rule__MediaStyle__Group_3_12__0 ) ) ) ) | ({...}? => ( ( ( rule__MediaStyle__Group_3_13__0 ) ) ) ) | ({...}? => ( ( ( rule__MediaStyle__Group_3_14__0 ) ) ) ) | ({...}? => ( ( ( rule__MediaStyle__Group_3_15__0 ) ) ) ) | ({...}? => ( ( ( rule__MediaStyle__Group_3_16__0 ) ) ) ) ) ;
+    // InternalReportDSL.g:35358:1: rule__MediaStyle__UnorderedGroup_3__Impl : ( ({...}? => ( ( ( rule__MediaStyle__Group_3_0__0 ) ) ) ) | ({...}? => ( ( ( rule__MediaStyle__Group_3_1__0 ) ) ) ) | ({...}? => ( ( ( rule__MediaStyle__Group_3_2__0 ) ) ) ) | ({...}? => ( ( ( rule__MediaStyle__Group_3_3__0 ) ) ) ) | ({...}? => ( ( ( rule__MediaStyle__Group_3_4__0 ) ) ) ) | ({...}? => ( ( ( rule__MediaStyle__Group_3_5__0 ) ) ) ) | ({...}? => ( ( ( rule__MediaStyle__Group_3_6__0 ) ) ) ) | ({...}? => ( ( ( rule__MediaStyle__Group_3_7__0 ) ) ) ) | ({...}? => ( ( ( rule__MediaStyle__Group_3_8__0 ) ) ) ) | ({...}? => ( ( ( rule__MediaStyle__Group_3_9__0 ) ) ) ) | ({...}? => ( ( ( rule__MediaStyle__Group_3_10__0 ) ) ) ) | ({...}? => ( ( ( rule__MediaStyle__Group_3_11__0 ) ) ) ) | ({...}? => ( ( ( rule__MediaStyle__Group_3_12__0 ) ) ) ) | ({...}? => ( ( ( rule__MediaStyle__Group_3_13__0 ) ) ) ) | ({...}? => ( ( ( rule__MediaStyle__Group_3_14__0 ) ) ) ) | ({...}? => ( ( ( rule__MediaStyle__Group_3_15__0 ) ) ) ) | ({...}? => ( ( ( rule__MediaStyle__Group_3_16__0 ) ) ) ) | ({...}? => ( ( ( rule__MediaStyle__Group_3_17__0 ) ) ) ) ) ;
     public final void rule__MediaStyle__UnorderedGroup_3__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         		boolean selected = false;
         	
         try {
-            // InternalReportDSL.g:35626:1: ( ( ({...}? => ( ( ( rule__MediaStyle__Group_3_0__0 ) ) ) ) | ({...}? => ( ( ( rule__MediaStyle__Group_3_1__0 ) ) ) ) | ({...}? => ( ( ( rule__MediaStyle__Group_3_2__0 ) ) ) ) | ({...}? => ( ( ( rule__MediaStyle__Group_3_3__0 ) ) ) ) | ({...}? => ( ( ( rule__MediaStyle__Group_3_4__0 ) ) ) ) | ({...}? => ( ( ( rule__MediaStyle__Group_3_5__0 ) ) ) ) | ({...}? => ( ( ( rule__MediaStyle__Group_3_6__0 ) ) ) ) | ({...}? => ( ( ( rule__MediaStyle__Group_3_7__0 ) ) ) ) | ({...}? => ( ( ( rule__MediaStyle__Group_3_8__0 ) ) ) ) | ({...}? => ( ( ( rule__MediaStyle__Group_3_9__0 ) ) ) ) | ({...}? => ( ( ( rule__MediaStyle__Group_3_10__0 ) ) ) ) | ({...}? => ( ( ( rule__MediaStyle__Group_3_11__0 ) ) ) ) | ({...}? => ( ( ( rule__MediaStyle__Group_3_12__0 ) ) ) ) | ({...}? => ( ( ( rule__MediaStyle__Group_3_13__0 ) ) ) ) | ({...}? => ( ( ( rule__MediaStyle__Group_3_14__0 ) ) ) ) | ({...}? => ( ( ( rule__MediaStyle__Group_3_15__0 ) ) ) ) | ({...}? => ( ( ( rule__MediaStyle__Group_3_16__0 ) ) ) ) ) )
-            // InternalReportDSL.g:35627:3: ( ({...}? => ( ( ( rule__MediaStyle__Group_3_0__0 ) ) ) ) | ({...}? => ( ( ( rule__MediaStyle__Group_3_1__0 ) ) ) ) | ({...}? => ( ( ( rule__MediaStyle__Group_3_2__0 ) ) ) ) | ({...}? => ( ( ( rule__MediaStyle__Group_3_3__0 ) ) ) ) | ({...}? => ( ( ( rule__MediaStyle__Group_3_4__0 ) ) ) ) | ({...}? => ( ( ( rule__MediaStyle__Group_3_5__0 ) ) ) ) | ({...}? => ( ( ( rule__MediaStyle__Group_3_6__0 ) ) ) ) | ({...}? => ( ( ( rule__MediaStyle__Group_3_7__0 ) ) ) ) | ({...}? => ( ( ( rule__MediaStyle__Group_3_8__0 ) ) ) ) | ({...}? => ( ( ( rule__MediaStyle__Group_3_9__0 ) ) ) ) | ({...}? => ( ( ( rule__MediaStyle__Group_3_10__0 ) ) ) ) | ({...}? => ( ( ( rule__MediaStyle__Group_3_11__0 ) ) ) ) | ({...}? => ( ( ( rule__MediaStyle__Group_3_12__0 ) ) ) ) | ({...}? => ( ( ( rule__MediaStyle__Group_3_13__0 ) ) ) ) | ({...}? => ( ( ( rule__MediaStyle__Group_3_14__0 ) ) ) ) | ({...}? => ( ( ( rule__MediaStyle__Group_3_15__0 ) ) ) ) | ({...}? => ( ( ( rule__MediaStyle__Group_3_16__0 ) ) ) ) )
+            // InternalReportDSL.g:35363:1: ( ( ({...}? => ( ( ( rule__MediaStyle__Group_3_0__0 ) ) ) ) | ({...}? => ( ( ( rule__MediaStyle__Group_3_1__0 ) ) ) ) | ({...}? => ( ( ( rule__MediaStyle__Group_3_2__0 ) ) ) ) | ({...}? => ( ( ( rule__MediaStyle__Group_3_3__0 ) ) ) ) | ({...}? => ( ( ( rule__MediaStyle__Group_3_4__0 ) ) ) ) | ({...}? => ( ( ( rule__MediaStyle__Group_3_5__0 ) ) ) ) | ({...}? => ( ( ( rule__MediaStyle__Group_3_6__0 ) ) ) ) | ({...}? => ( ( ( rule__MediaStyle__Group_3_7__0 ) ) ) ) | ({...}? => ( ( ( rule__MediaStyle__Group_3_8__0 ) ) ) ) | ({...}? => ( ( ( rule__MediaStyle__Group_3_9__0 ) ) ) ) | ({...}? => ( ( ( rule__MediaStyle__Group_3_10__0 ) ) ) ) | ({...}? => ( ( ( rule__MediaStyle__Group_3_11__0 ) ) ) ) | ({...}? => ( ( ( rule__MediaStyle__Group_3_12__0 ) ) ) ) | ({...}? => ( ( ( rule__MediaStyle__Group_3_13__0 ) ) ) ) | ({...}? => ( ( ( rule__MediaStyle__Group_3_14__0 ) ) ) ) | ({...}? => ( ( ( rule__MediaStyle__Group_3_15__0 ) ) ) ) | ({...}? => ( ( ( rule__MediaStyle__Group_3_16__0 ) ) ) ) | ({...}? => ( ( ( rule__MediaStyle__Group_3_17__0 ) ) ) ) ) )
+            // InternalReportDSL.g:35364:3: ( ({...}? => ( ( ( rule__MediaStyle__Group_3_0__0 ) ) ) ) | ({...}? => ( ( ( rule__MediaStyle__Group_3_1__0 ) ) ) ) | ({...}? => ( ( ( rule__MediaStyle__Group_3_2__0 ) ) ) ) | ({...}? => ( ( ( rule__MediaStyle__Group_3_3__0 ) ) ) ) | ({...}? => ( ( ( rule__MediaStyle__Group_3_4__0 ) ) ) ) | ({...}? => ( ( ( rule__MediaStyle__Group_3_5__0 ) ) ) ) | ({...}? => ( ( ( rule__MediaStyle__Group_3_6__0 ) ) ) ) | ({...}? => ( ( ( rule__MediaStyle__Group_3_7__0 ) ) ) ) | ({...}? => ( ( ( rule__MediaStyle__Group_3_8__0 ) ) ) ) | ({...}? => ( ( ( rule__MediaStyle__Group_3_9__0 ) ) ) ) | ({...}? => ( ( ( rule__MediaStyle__Group_3_10__0 ) ) ) ) | ({...}? => ( ( ( rule__MediaStyle__Group_3_11__0 ) ) ) ) | ({...}? => ( ( ( rule__MediaStyle__Group_3_12__0 ) ) ) ) | ({...}? => ( ( ( rule__MediaStyle__Group_3_13__0 ) ) ) ) | ({...}? => ( ( ( rule__MediaStyle__Group_3_14__0 ) ) ) ) | ({...}? => ( ( ( rule__MediaStyle__Group_3_15__0 ) ) ) ) | ({...}? => ( ( ( rule__MediaStyle__Group_3_16__0 ) ) ) ) | ({...}? => ( ( ( rule__MediaStyle__Group_3_17__0 ) ) ) ) )
             {
-            // InternalReportDSL.g:35627:3: ( ({...}? => ( ( ( rule__MediaStyle__Group_3_0__0 ) ) ) ) | ({...}? => ( ( ( rule__MediaStyle__Group_3_1__0 ) ) ) ) | ({...}? => ( ( ( rule__MediaStyle__Group_3_2__0 ) ) ) ) | ({...}? => ( ( ( rule__MediaStyle__Group_3_3__0 ) ) ) ) | ({...}? => ( ( ( rule__MediaStyle__Group_3_4__0 ) ) ) ) | ({...}? => ( ( ( rule__MediaStyle__Group_3_5__0 ) ) ) ) | ({...}? => ( ( ( rule__MediaStyle__Group_3_6__0 ) ) ) ) | ({...}? => ( ( ( rule__MediaStyle__Group_3_7__0 ) ) ) ) | ({...}? => ( ( ( rule__MediaStyle__Group_3_8__0 ) ) ) ) | ({...}? => ( ( ( rule__MediaStyle__Group_3_9__0 ) ) ) ) | ({...}? => ( ( ( rule__MediaStyle__Group_3_10__0 ) ) ) ) | ({...}? => ( ( ( rule__MediaStyle__Group_3_11__0 ) ) ) ) | ({...}? => ( ( ( rule__MediaStyle__Group_3_12__0 ) ) ) ) | ({...}? => ( ( ( rule__MediaStyle__Group_3_13__0 ) ) ) ) | ({...}? => ( ( ( rule__MediaStyle__Group_3_14__0 ) ) ) ) | ({...}? => ( ( ( rule__MediaStyle__Group_3_15__0 ) ) ) ) | ({...}? => ( ( ( rule__MediaStyle__Group_3_16__0 ) ) ) ) )
-            int alt278=17;
-            alt278 = dfa278.predict(input);
-            switch (alt278) {
+            // InternalReportDSL.g:35364:3: ( ({...}? => ( ( ( rule__MediaStyle__Group_3_0__0 ) ) ) ) | ({...}? => ( ( ( rule__MediaStyle__Group_3_1__0 ) ) ) ) | ({...}? => ( ( ( rule__MediaStyle__Group_3_2__0 ) ) ) ) | ({...}? => ( ( ( rule__MediaStyle__Group_3_3__0 ) ) ) ) | ({...}? => ( ( ( rule__MediaStyle__Group_3_4__0 ) ) ) ) | ({...}? => ( ( ( rule__MediaStyle__Group_3_5__0 ) ) ) ) | ({...}? => ( ( ( rule__MediaStyle__Group_3_6__0 ) ) ) ) | ({...}? => ( ( ( rule__MediaStyle__Group_3_7__0 ) ) ) ) | ({...}? => ( ( ( rule__MediaStyle__Group_3_8__0 ) ) ) ) | ({...}? => ( ( ( rule__MediaStyle__Group_3_9__0 ) ) ) ) | ({...}? => ( ( ( rule__MediaStyle__Group_3_10__0 ) ) ) ) | ({...}? => ( ( ( rule__MediaStyle__Group_3_11__0 ) ) ) ) | ({...}? => ( ( ( rule__MediaStyle__Group_3_12__0 ) ) ) ) | ({...}? => ( ( ( rule__MediaStyle__Group_3_13__0 ) ) ) ) | ({...}? => ( ( ( rule__MediaStyle__Group_3_14__0 ) ) ) ) | ({...}? => ( ( ( rule__MediaStyle__Group_3_15__0 ) ) ) ) | ({...}? => ( ( ( rule__MediaStyle__Group_3_16__0 ) ) ) ) | ({...}? => ( ( ( rule__MediaStyle__Group_3_17__0 ) ) ) ) )
+            int alt261=18;
+            alt261 = dfa261.predict(input);
+            switch (alt261) {
                 case 1 :
-                    // InternalReportDSL.g:35628:3: ({...}? => ( ( ( rule__MediaStyle__Group_3_0__0 ) ) ) )
+                    // InternalReportDSL.g:35365:3: ({...}? => ( ( ( rule__MediaStyle__Group_3_0__0 ) ) ) )
                     {
-                    // InternalReportDSL.g:35628:3: ({...}? => ( ( ( rule__MediaStyle__Group_3_0__0 ) ) ) )
-                    // InternalReportDSL.g:35629:4: {...}? => ( ( ( rule__MediaStyle__Group_3_0__0 ) ) )
+                    // InternalReportDSL.g:35365:3: ({...}? => ( ( ( rule__MediaStyle__Group_3_0__0 ) ) ) )
+                    // InternalReportDSL.g:35366:4: {...}? => ( ( ( rule__MediaStyle__Group_3_0__0 ) ) )
                     {
                     if ( ! getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 0) ) {
                         if (state.backtracking>0) {state.failed=true; return ;}
                         throw new FailedPredicateException(input, "rule__MediaStyle__UnorderedGroup_3__Impl", "getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 0)");
                     }
-                    // InternalReportDSL.g:35629:106: ( ( ( rule__MediaStyle__Group_3_0__0 ) ) )
-                    // InternalReportDSL.g:35630:5: ( ( rule__MediaStyle__Group_3_0__0 ) )
+                    // InternalReportDSL.g:35366:106: ( ( ( rule__MediaStyle__Group_3_0__0 ) ) )
+                    // InternalReportDSL.g:35367:5: ( ( rule__MediaStyle__Group_3_0__0 ) )
                     {
                     getUnorderedGroupHelper().select(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 0);
                     selected = true;
-                    // InternalReportDSL.g:35636:5: ( ( rule__MediaStyle__Group_3_0__0 ) )
-                    // InternalReportDSL.g:35637:6: ( rule__MediaStyle__Group_3_0__0 )
+                    // InternalReportDSL.g:35373:5: ( ( rule__MediaStyle__Group_3_0__0 ) )
+                    // InternalReportDSL.g:35374:6: ( rule__MediaStyle__Group_3_0__0 )
                     {
                     if ( state.backtracking==0 ) {
                        before(grammarAccess.getMediaStyleAccess().getGroup_3_0()); 
                     }
-                    // InternalReportDSL.g:35638:6: ( rule__MediaStyle__Group_3_0__0 )
-                    // InternalReportDSL.g:35638:7: rule__MediaStyle__Group_3_0__0
+                    // InternalReportDSL.g:35375:6: ( rule__MediaStyle__Group_3_0__0 )
+                    // InternalReportDSL.g:35375:7: rule__MediaStyle__Group_3_0__0
                     {
                     pushFollow(FOLLOW_2);
                     rule__MediaStyle__Group_3_0__0();
@@ -116911,28 +115890,28 @@
                     }
                     break;
                 case 2 :
-                    // InternalReportDSL.g:35643:3: ({...}? => ( ( ( rule__MediaStyle__Group_3_1__0 ) ) ) )
+                    // InternalReportDSL.g:35380:3: ({...}? => ( ( ( rule__MediaStyle__Group_3_1__0 ) ) ) )
                     {
-                    // InternalReportDSL.g:35643:3: ({...}? => ( ( ( rule__MediaStyle__Group_3_1__0 ) ) ) )
-                    // InternalReportDSL.g:35644:4: {...}? => ( ( ( rule__MediaStyle__Group_3_1__0 ) ) )
+                    // InternalReportDSL.g:35380:3: ({...}? => ( ( ( rule__MediaStyle__Group_3_1__0 ) ) ) )
+                    // InternalReportDSL.g:35381:4: {...}? => ( ( ( rule__MediaStyle__Group_3_1__0 ) ) )
                     {
                     if ( ! getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 1) ) {
                         if (state.backtracking>0) {state.failed=true; return ;}
                         throw new FailedPredicateException(input, "rule__MediaStyle__UnorderedGroup_3__Impl", "getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 1)");
                     }
-                    // InternalReportDSL.g:35644:106: ( ( ( rule__MediaStyle__Group_3_1__0 ) ) )
-                    // InternalReportDSL.g:35645:5: ( ( rule__MediaStyle__Group_3_1__0 ) )
+                    // InternalReportDSL.g:35381:106: ( ( ( rule__MediaStyle__Group_3_1__0 ) ) )
+                    // InternalReportDSL.g:35382:5: ( ( rule__MediaStyle__Group_3_1__0 ) )
                     {
                     getUnorderedGroupHelper().select(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 1);
                     selected = true;
-                    // InternalReportDSL.g:35651:5: ( ( rule__MediaStyle__Group_3_1__0 ) )
-                    // InternalReportDSL.g:35652:6: ( rule__MediaStyle__Group_3_1__0 )
+                    // InternalReportDSL.g:35388:5: ( ( rule__MediaStyle__Group_3_1__0 ) )
+                    // InternalReportDSL.g:35389:6: ( rule__MediaStyle__Group_3_1__0 )
                     {
                     if ( state.backtracking==0 ) {
                        before(grammarAccess.getMediaStyleAccess().getGroup_3_1()); 
                     }
-                    // InternalReportDSL.g:35653:6: ( rule__MediaStyle__Group_3_1__0 )
-                    // InternalReportDSL.g:35653:7: rule__MediaStyle__Group_3_1__0
+                    // InternalReportDSL.g:35390:6: ( rule__MediaStyle__Group_3_1__0 )
+                    // InternalReportDSL.g:35390:7: rule__MediaStyle__Group_3_1__0
                     {
                     pushFollow(FOLLOW_2);
                     rule__MediaStyle__Group_3_1__0();
@@ -116958,28 +115937,28 @@
                     }
                     break;
                 case 3 :
-                    // InternalReportDSL.g:35658:3: ({...}? => ( ( ( rule__MediaStyle__Group_3_2__0 ) ) ) )
+                    // InternalReportDSL.g:35395:3: ({...}? => ( ( ( rule__MediaStyle__Group_3_2__0 ) ) ) )
                     {
-                    // InternalReportDSL.g:35658:3: ({...}? => ( ( ( rule__MediaStyle__Group_3_2__0 ) ) ) )
-                    // InternalReportDSL.g:35659:4: {...}? => ( ( ( rule__MediaStyle__Group_3_2__0 ) ) )
+                    // InternalReportDSL.g:35395:3: ({...}? => ( ( ( rule__MediaStyle__Group_3_2__0 ) ) ) )
+                    // InternalReportDSL.g:35396:4: {...}? => ( ( ( rule__MediaStyle__Group_3_2__0 ) ) )
                     {
                     if ( ! getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 2) ) {
                         if (state.backtracking>0) {state.failed=true; return ;}
                         throw new FailedPredicateException(input, "rule__MediaStyle__UnorderedGroup_3__Impl", "getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 2)");
                     }
-                    // InternalReportDSL.g:35659:106: ( ( ( rule__MediaStyle__Group_3_2__0 ) ) )
-                    // InternalReportDSL.g:35660:5: ( ( rule__MediaStyle__Group_3_2__0 ) )
+                    // InternalReportDSL.g:35396:106: ( ( ( rule__MediaStyle__Group_3_2__0 ) ) )
+                    // InternalReportDSL.g:35397:5: ( ( rule__MediaStyle__Group_3_2__0 ) )
                     {
                     getUnorderedGroupHelper().select(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 2);
                     selected = true;
-                    // InternalReportDSL.g:35666:5: ( ( rule__MediaStyle__Group_3_2__0 ) )
-                    // InternalReportDSL.g:35667:6: ( rule__MediaStyle__Group_3_2__0 )
+                    // InternalReportDSL.g:35403:5: ( ( rule__MediaStyle__Group_3_2__0 ) )
+                    // InternalReportDSL.g:35404:6: ( rule__MediaStyle__Group_3_2__0 )
                     {
                     if ( state.backtracking==0 ) {
                        before(grammarAccess.getMediaStyleAccess().getGroup_3_2()); 
                     }
-                    // InternalReportDSL.g:35668:6: ( rule__MediaStyle__Group_3_2__0 )
-                    // InternalReportDSL.g:35668:7: rule__MediaStyle__Group_3_2__0
+                    // InternalReportDSL.g:35405:6: ( rule__MediaStyle__Group_3_2__0 )
+                    // InternalReportDSL.g:35405:7: rule__MediaStyle__Group_3_2__0
                     {
                     pushFollow(FOLLOW_2);
                     rule__MediaStyle__Group_3_2__0();
@@ -117005,28 +115984,28 @@
                     }
                     break;
                 case 4 :
-                    // InternalReportDSL.g:35673:3: ({...}? => ( ( ( rule__MediaStyle__Group_3_3__0 ) ) ) )
+                    // InternalReportDSL.g:35410:3: ({...}? => ( ( ( rule__MediaStyle__Group_3_3__0 ) ) ) )
                     {
-                    // InternalReportDSL.g:35673:3: ({...}? => ( ( ( rule__MediaStyle__Group_3_3__0 ) ) ) )
-                    // InternalReportDSL.g:35674:4: {...}? => ( ( ( rule__MediaStyle__Group_3_3__0 ) ) )
+                    // InternalReportDSL.g:35410:3: ({...}? => ( ( ( rule__MediaStyle__Group_3_3__0 ) ) ) )
+                    // InternalReportDSL.g:35411:4: {...}? => ( ( ( rule__MediaStyle__Group_3_3__0 ) ) )
                     {
                     if ( ! getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 3) ) {
                         if (state.backtracking>0) {state.failed=true; return ;}
                         throw new FailedPredicateException(input, "rule__MediaStyle__UnorderedGroup_3__Impl", "getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 3)");
                     }
-                    // InternalReportDSL.g:35674:106: ( ( ( rule__MediaStyle__Group_3_3__0 ) ) )
-                    // InternalReportDSL.g:35675:5: ( ( rule__MediaStyle__Group_3_3__0 ) )
+                    // InternalReportDSL.g:35411:106: ( ( ( rule__MediaStyle__Group_3_3__0 ) ) )
+                    // InternalReportDSL.g:35412:5: ( ( rule__MediaStyle__Group_3_3__0 ) )
                     {
                     getUnorderedGroupHelper().select(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 3);
                     selected = true;
-                    // InternalReportDSL.g:35681:5: ( ( rule__MediaStyle__Group_3_3__0 ) )
-                    // InternalReportDSL.g:35682:6: ( rule__MediaStyle__Group_3_3__0 )
+                    // InternalReportDSL.g:35418:5: ( ( rule__MediaStyle__Group_3_3__0 ) )
+                    // InternalReportDSL.g:35419:6: ( rule__MediaStyle__Group_3_3__0 )
                     {
                     if ( state.backtracking==0 ) {
                        before(grammarAccess.getMediaStyleAccess().getGroup_3_3()); 
                     }
-                    // InternalReportDSL.g:35683:6: ( rule__MediaStyle__Group_3_3__0 )
-                    // InternalReportDSL.g:35683:7: rule__MediaStyle__Group_3_3__0
+                    // InternalReportDSL.g:35420:6: ( rule__MediaStyle__Group_3_3__0 )
+                    // InternalReportDSL.g:35420:7: rule__MediaStyle__Group_3_3__0
                     {
                     pushFollow(FOLLOW_2);
                     rule__MediaStyle__Group_3_3__0();
@@ -117052,28 +116031,28 @@
                     }
                     break;
                 case 5 :
-                    // InternalReportDSL.g:35688:3: ({...}? => ( ( ( rule__MediaStyle__Group_3_4__0 ) ) ) )
+                    // InternalReportDSL.g:35425:3: ({...}? => ( ( ( rule__MediaStyle__Group_3_4__0 ) ) ) )
                     {
-                    // InternalReportDSL.g:35688:3: ({...}? => ( ( ( rule__MediaStyle__Group_3_4__0 ) ) ) )
-                    // InternalReportDSL.g:35689:4: {...}? => ( ( ( rule__MediaStyle__Group_3_4__0 ) ) )
+                    // InternalReportDSL.g:35425:3: ({...}? => ( ( ( rule__MediaStyle__Group_3_4__0 ) ) ) )
+                    // InternalReportDSL.g:35426:4: {...}? => ( ( ( rule__MediaStyle__Group_3_4__0 ) ) )
                     {
                     if ( ! getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 4) ) {
                         if (state.backtracking>0) {state.failed=true; return ;}
                         throw new FailedPredicateException(input, "rule__MediaStyle__UnorderedGroup_3__Impl", "getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 4)");
                     }
-                    // InternalReportDSL.g:35689:106: ( ( ( rule__MediaStyle__Group_3_4__0 ) ) )
-                    // InternalReportDSL.g:35690:5: ( ( rule__MediaStyle__Group_3_4__0 ) )
+                    // InternalReportDSL.g:35426:106: ( ( ( rule__MediaStyle__Group_3_4__0 ) ) )
+                    // InternalReportDSL.g:35427:5: ( ( rule__MediaStyle__Group_3_4__0 ) )
                     {
                     getUnorderedGroupHelper().select(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 4);
                     selected = true;
-                    // InternalReportDSL.g:35696:5: ( ( rule__MediaStyle__Group_3_4__0 ) )
-                    // InternalReportDSL.g:35697:6: ( rule__MediaStyle__Group_3_4__0 )
+                    // InternalReportDSL.g:35433:5: ( ( rule__MediaStyle__Group_3_4__0 ) )
+                    // InternalReportDSL.g:35434:6: ( rule__MediaStyle__Group_3_4__0 )
                     {
                     if ( state.backtracking==0 ) {
                        before(grammarAccess.getMediaStyleAccess().getGroup_3_4()); 
                     }
-                    // InternalReportDSL.g:35698:6: ( rule__MediaStyle__Group_3_4__0 )
-                    // InternalReportDSL.g:35698:7: rule__MediaStyle__Group_3_4__0
+                    // InternalReportDSL.g:35435:6: ( rule__MediaStyle__Group_3_4__0 )
+                    // InternalReportDSL.g:35435:7: rule__MediaStyle__Group_3_4__0
                     {
                     pushFollow(FOLLOW_2);
                     rule__MediaStyle__Group_3_4__0();
@@ -117099,28 +116078,28 @@
                     }
                     break;
                 case 6 :
-                    // InternalReportDSL.g:35703:3: ({...}? => ( ( ( rule__MediaStyle__Group_3_5__0 ) ) ) )
+                    // InternalReportDSL.g:35440:3: ({...}? => ( ( ( rule__MediaStyle__Group_3_5__0 ) ) ) )
                     {
-                    // InternalReportDSL.g:35703:3: ({...}? => ( ( ( rule__MediaStyle__Group_3_5__0 ) ) ) )
-                    // InternalReportDSL.g:35704:4: {...}? => ( ( ( rule__MediaStyle__Group_3_5__0 ) ) )
+                    // InternalReportDSL.g:35440:3: ({...}? => ( ( ( rule__MediaStyle__Group_3_5__0 ) ) ) )
+                    // InternalReportDSL.g:35441:4: {...}? => ( ( ( rule__MediaStyle__Group_3_5__0 ) ) )
                     {
                     if ( ! getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 5) ) {
                         if (state.backtracking>0) {state.failed=true; return ;}
                         throw new FailedPredicateException(input, "rule__MediaStyle__UnorderedGroup_3__Impl", "getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 5)");
                     }
-                    // InternalReportDSL.g:35704:106: ( ( ( rule__MediaStyle__Group_3_5__0 ) ) )
-                    // InternalReportDSL.g:35705:5: ( ( rule__MediaStyle__Group_3_5__0 ) )
+                    // InternalReportDSL.g:35441:106: ( ( ( rule__MediaStyle__Group_3_5__0 ) ) )
+                    // InternalReportDSL.g:35442:5: ( ( rule__MediaStyle__Group_3_5__0 ) )
                     {
                     getUnorderedGroupHelper().select(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 5);
                     selected = true;
-                    // InternalReportDSL.g:35711:5: ( ( rule__MediaStyle__Group_3_5__0 ) )
-                    // InternalReportDSL.g:35712:6: ( rule__MediaStyle__Group_3_5__0 )
+                    // InternalReportDSL.g:35448:5: ( ( rule__MediaStyle__Group_3_5__0 ) )
+                    // InternalReportDSL.g:35449:6: ( rule__MediaStyle__Group_3_5__0 )
                     {
                     if ( state.backtracking==0 ) {
                        before(grammarAccess.getMediaStyleAccess().getGroup_3_5()); 
                     }
-                    // InternalReportDSL.g:35713:6: ( rule__MediaStyle__Group_3_5__0 )
-                    // InternalReportDSL.g:35713:7: rule__MediaStyle__Group_3_5__0
+                    // InternalReportDSL.g:35450:6: ( rule__MediaStyle__Group_3_5__0 )
+                    // InternalReportDSL.g:35450:7: rule__MediaStyle__Group_3_5__0
                     {
                     pushFollow(FOLLOW_2);
                     rule__MediaStyle__Group_3_5__0();
@@ -117146,28 +116125,28 @@
                     }
                     break;
                 case 7 :
-                    // InternalReportDSL.g:35718:3: ({...}? => ( ( ( rule__MediaStyle__Group_3_6__0 ) ) ) )
+                    // InternalReportDSL.g:35455:3: ({...}? => ( ( ( rule__MediaStyle__Group_3_6__0 ) ) ) )
                     {
-                    // InternalReportDSL.g:35718:3: ({...}? => ( ( ( rule__MediaStyle__Group_3_6__0 ) ) ) )
-                    // InternalReportDSL.g:35719:4: {...}? => ( ( ( rule__MediaStyle__Group_3_6__0 ) ) )
+                    // InternalReportDSL.g:35455:3: ({...}? => ( ( ( rule__MediaStyle__Group_3_6__0 ) ) ) )
+                    // InternalReportDSL.g:35456:4: {...}? => ( ( ( rule__MediaStyle__Group_3_6__0 ) ) )
                     {
                     if ( ! getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 6) ) {
                         if (state.backtracking>0) {state.failed=true; return ;}
                         throw new FailedPredicateException(input, "rule__MediaStyle__UnorderedGroup_3__Impl", "getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 6)");
                     }
-                    // InternalReportDSL.g:35719:106: ( ( ( rule__MediaStyle__Group_3_6__0 ) ) )
-                    // InternalReportDSL.g:35720:5: ( ( rule__MediaStyle__Group_3_6__0 ) )
+                    // InternalReportDSL.g:35456:106: ( ( ( rule__MediaStyle__Group_3_6__0 ) ) )
+                    // InternalReportDSL.g:35457:5: ( ( rule__MediaStyle__Group_3_6__0 ) )
                     {
                     getUnorderedGroupHelper().select(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 6);
                     selected = true;
-                    // InternalReportDSL.g:35726:5: ( ( rule__MediaStyle__Group_3_6__0 ) )
-                    // InternalReportDSL.g:35727:6: ( rule__MediaStyle__Group_3_6__0 )
+                    // InternalReportDSL.g:35463:5: ( ( rule__MediaStyle__Group_3_6__0 ) )
+                    // InternalReportDSL.g:35464:6: ( rule__MediaStyle__Group_3_6__0 )
                     {
                     if ( state.backtracking==0 ) {
                        before(grammarAccess.getMediaStyleAccess().getGroup_3_6()); 
                     }
-                    // InternalReportDSL.g:35728:6: ( rule__MediaStyle__Group_3_6__0 )
-                    // InternalReportDSL.g:35728:7: rule__MediaStyle__Group_3_6__0
+                    // InternalReportDSL.g:35465:6: ( rule__MediaStyle__Group_3_6__0 )
+                    // InternalReportDSL.g:35465:7: rule__MediaStyle__Group_3_6__0
                     {
                     pushFollow(FOLLOW_2);
                     rule__MediaStyle__Group_3_6__0();
@@ -117193,28 +116172,28 @@
                     }
                     break;
                 case 8 :
-                    // InternalReportDSL.g:35733:3: ({...}? => ( ( ( rule__MediaStyle__Group_3_7__0 ) ) ) )
+                    // InternalReportDSL.g:35470:3: ({...}? => ( ( ( rule__MediaStyle__Group_3_7__0 ) ) ) )
                     {
-                    // InternalReportDSL.g:35733:3: ({...}? => ( ( ( rule__MediaStyle__Group_3_7__0 ) ) ) )
-                    // InternalReportDSL.g:35734:4: {...}? => ( ( ( rule__MediaStyle__Group_3_7__0 ) ) )
+                    // InternalReportDSL.g:35470:3: ({...}? => ( ( ( rule__MediaStyle__Group_3_7__0 ) ) ) )
+                    // InternalReportDSL.g:35471:4: {...}? => ( ( ( rule__MediaStyle__Group_3_7__0 ) ) )
                     {
                     if ( ! getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 7) ) {
                         if (state.backtracking>0) {state.failed=true; return ;}
                         throw new FailedPredicateException(input, "rule__MediaStyle__UnorderedGroup_3__Impl", "getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 7)");
                     }
-                    // InternalReportDSL.g:35734:106: ( ( ( rule__MediaStyle__Group_3_7__0 ) ) )
-                    // InternalReportDSL.g:35735:5: ( ( rule__MediaStyle__Group_3_7__0 ) )
+                    // InternalReportDSL.g:35471:106: ( ( ( rule__MediaStyle__Group_3_7__0 ) ) )
+                    // InternalReportDSL.g:35472:5: ( ( rule__MediaStyle__Group_3_7__0 ) )
                     {
                     getUnorderedGroupHelper().select(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 7);
                     selected = true;
-                    // InternalReportDSL.g:35741:5: ( ( rule__MediaStyle__Group_3_7__0 ) )
-                    // InternalReportDSL.g:35742:6: ( rule__MediaStyle__Group_3_7__0 )
+                    // InternalReportDSL.g:35478:5: ( ( rule__MediaStyle__Group_3_7__0 ) )
+                    // InternalReportDSL.g:35479:6: ( rule__MediaStyle__Group_3_7__0 )
                     {
                     if ( state.backtracking==0 ) {
                        before(grammarAccess.getMediaStyleAccess().getGroup_3_7()); 
                     }
-                    // InternalReportDSL.g:35743:6: ( rule__MediaStyle__Group_3_7__0 )
-                    // InternalReportDSL.g:35743:7: rule__MediaStyle__Group_3_7__0
+                    // InternalReportDSL.g:35480:6: ( rule__MediaStyle__Group_3_7__0 )
+                    // InternalReportDSL.g:35480:7: rule__MediaStyle__Group_3_7__0
                     {
                     pushFollow(FOLLOW_2);
                     rule__MediaStyle__Group_3_7__0();
@@ -117240,28 +116219,28 @@
                     }
                     break;
                 case 9 :
-                    // InternalReportDSL.g:35748:3: ({...}? => ( ( ( rule__MediaStyle__Group_3_8__0 ) ) ) )
+                    // InternalReportDSL.g:35485:3: ({...}? => ( ( ( rule__MediaStyle__Group_3_8__0 ) ) ) )
                     {
-                    // InternalReportDSL.g:35748:3: ({...}? => ( ( ( rule__MediaStyle__Group_3_8__0 ) ) ) )
-                    // InternalReportDSL.g:35749:4: {...}? => ( ( ( rule__MediaStyle__Group_3_8__0 ) ) )
+                    // InternalReportDSL.g:35485:3: ({...}? => ( ( ( rule__MediaStyle__Group_3_8__0 ) ) ) )
+                    // InternalReportDSL.g:35486:4: {...}? => ( ( ( rule__MediaStyle__Group_3_8__0 ) ) )
                     {
                     if ( ! getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 8) ) {
                         if (state.backtracking>0) {state.failed=true; return ;}
                         throw new FailedPredicateException(input, "rule__MediaStyle__UnorderedGroup_3__Impl", "getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 8)");
                     }
-                    // InternalReportDSL.g:35749:106: ( ( ( rule__MediaStyle__Group_3_8__0 ) ) )
-                    // InternalReportDSL.g:35750:5: ( ( rule__MediaStyle__Group_3_8__0 ) )
+                    // InternalReportDSL.g:35486:106: ( ( ( rule__MediaStyle__Group_3_8__0 ) ) )
+                    // InternalReportDSL.g:35487:5: ( ( rule__MediaStyle__Group_3_8__0 ) )
                     {
                     getUnorderedGroupHelper().select(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 8);
                     selected = true;
-                    // InternalReportDSL.g:35756:5: ( ( rule__MediaStyle__Group_3_8__0 ) )
-                    // InternalReportDSL.g:35757:6: ( rule__MediaStyle__Group_3_8__0 )
+                    // InternalReportDSL.g:35493:5: ( ( rule__MediaStyle__Group_3_8__0 ) )
+                    // InternalReportDSL.g:35494:6: ( rule__MediaStyle__Group_3_8__0 )
                     {
                     if ( state.backtracking==0 ) {
                        before(grammarAccess.getMediaStyleAccess().getGroup_3_8()); 
                     }
-                    // InternalReportDSL.g:35758:6: ( rule__MediaStyle__Group_3_8__0 )
-                    // InternalReportDSL.g:35758:7: rule__MediaStyle__Group_3_8__0
+                    // InternalReportDSL.g:35495:6: ( rule__MediaStyle__Group_3_8__0 )
+                    // InternalReportDSL.g:35495:7: rule__MediaStyle__Group_3_8__0
                     {
                     pushFollow(FOLLOW_2);
                     rule__MediaStyle__Group_3_8__0();
@@ -117287,28 +116266,28 @@
                     }
                     break;
                 case 10 :
-                    // InternalReportDSL.g:35763:3: ({...}? => ( ( ( rule__MediaStyle__Group_3_9__0 ) ) ) )
+                    // InternalReportDSL.g:35500:3: ({...}? => ( ( ( rule__MediaStyle__Group_3_9__0 ) ) ) )
                     {
-                    // InternalReportDSL.g:35763:3: ({...}? => ( ( ( rule__MediaStyle__Group_3_9__0 ) ) ) )
-                    // InternalReportDSL.g:35764:4: {...}? => ( ( ( rule__MediaStyle__Group_3_9__0 ) ) )
+                    // InternalReportDSL.g:35500:3: ({...}? => ( ( ( rule__MediaStyle__Group_3_9__0 ) ) ) )
+                    // InternalReportDSL.g:35501:4: {...}? => ( ( ( rule__MediaStyle__Group_3_9__0 ) ) )
                     {
                     if ( ! getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 9) ) {
                         if (state.backtracking>0) {state.failed=true; return ;}
                         throw new FailedPredicateException(input, "rule__MediaStyle__UnorderedGroup_3__Impl", "getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 9)");
                     }
-                    // InternalReportDSL.g:35764:106: ( ( ( rule__MediaStyle__Group_3_9__0 ) ) )
-                    // InternalReportDSL.g:35765:5: ( ( rule__MediaStyle__Group_3_9__0 ) )
+                    // InternalReportDSL.g:35501:106: ( ( ( rule__MediaStyle__Group_3_9__0 ) ) )
+                    // InternalReportDSL.g:35502:5: ( ( rule__MediaStyle__Group_3_9__0 ) )
                     {
                     getUnorderedGroupHelper().select(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 9);
                     selected = true;
-                    // InternalReportDSL.g:35771:5: ( ( rule__MediaStyle__Group_3_9__0 ) )
-                    // InternalReportDSL.g:35772:6: ( rule__MediaStyle__Group_3_9__0 )
+                    // InternalReportDSL.g:35508:5: ( ( rule__MediaStyle__Group_3_9__0 ) )
+                    // InternalReportDSL.g:35509:6: ( rule__MediaStyle__Group_3_9__0 )
                     {
                     if ( state.backtracking==0 ) {
                        before(grammarAccess.getMediaStyleAccess().getGroup_3_9()); 
                     }
-                    // InternalReportDSL.g:35773:6: ( rule__MediaStyle__Group_3_9__0 )
-                    // InternalReportDSL.g:35773:7: rule__MediaStyle__Group_3_9__0
+                    // InternalReportDSL.g:35510:6: ( rule__MediaStyle__Group_3_9__0 )
+                    // InternalReportDSL.g:35510:7: rule__MediaStyle__Group_3_9__0
                     {
                     pushFollow(FOLLOW_2);
                     rule__MediaStyle__Group_3_9__0();
@@ -117334,28 +116313,28 @@
                     }
                     break;
                 case 11 :
-                    // InternalReportDSL.g:35778:3: ({...}? => ( ( ( rule__MediaStyle__Group_3_10__0 ) ) ) )
+                    // InternalReportDSL.g:35515:3: ({...}? => ( ( ( rule__MediaStyle__Group_3_10__0 ) ) ) )
                     {
-                    // InternalReportDSL.g:35778:3: ({...}? => ( ( ( rule__MediaStyle__Group_3_10__0 ) ) ) )
-                    // InternalReportDSL.g:35779:4: {...}? => ( ( ( rule__MediaStyle__Group_3_10__0 ) ) )
+                    // InternalReportDSL.g:35515:3: ({...}? => ( ( ( rule__MediaStyle__Group_3_10__0 ) ) ) )
+                    // InternalReportDSL.g:35516:4: {...}? => ( ( ( rule__MediaStyle__Group_3_10__0 ) ) )
                     {
                     if ( ! getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 10) ) {
                         if (state.backtracking>0) {state.failed=true; return ;}
                         throw new FailedPredicateException(input, "rule__MediaStyle__UnorderedGroup_3__Impl", "getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 10)");
                     }
-                    // InternalReportDSL.g:35779:107: ( ( ( rule__MediaStyle__Group_3_10__0 ) ) )
-                    // InternalReportDSL.g:35780:5: ( ( rule__MediaStyle__Group_3_10__0 ) )
+                    // InternalReportDSL.g:35516:107: ( ( ( rule__MediaStyle__Group_3_10__0 ) ) )
+                    // InternalReportDSL.g:35517:5: ( ( rule__MediaStyle__Group_3_10__0 ) )
                     {
                     getUnorderedGroupHelper().select(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 10);
                     selected = true;
-                    // InternalReportDSL.g:35786:5: ( ( rule__MediaStyle__Group_3_10__0 ) )
-                    // InternalReportDSL.g:35787:6: ( rule__MediaStyle__Group_3_10__0 )
+                    // InternalReportDSL.g:35523:5: ( ( rule__MediaStyle__Group_3_10__0 ) )
+                    // InternalReportDSL.g:35524:6: ( rule__MediaStyle__Group_3_10__0 )
                     {
                     if ( state.backtracking==0 ) {
                        before(grammarAccess.getMediaStyleAccess().getGroup_3_10()); 
                     }
-                    // InternalReportDSL.g:35788:6: ( rule__MediaStyle__Group_3_10__0 )
-                    // InternalReportDSL.g:35788:7: rule__MediaStyle__Group_3_10__0
+                    // InternalReportDSL.g:35525:6: ( rule__MediaStyle__Group_3_10__0 )
+                    // InternalReportDSL.g:35525:7: rule__MediaStyle__Group_3_10__0
                     {
                     pushFollow(FOLLOW_2);
                     rule__MediaStyle__Group_3_10__0();
@@ -117381,28 +116360,28 @@
                     }
                     break;
                 case 12 :
-                    // InternalReportDSL.g:35793:3: ({...}? => ( ( ( rule__MediaStyle__Group_3_11__0 ) ) ) )
+                    // InternalReportDSL.g:35530:3: ({...}? => ( ( ( rule__MediaStyle__Group_3_11__0 ) ) ) )
                     {
-                    // InternalReportDSL.g:35793:3: ({...}? => ( ( ( rule__MediaStyle__Group_3_11__0 ) ) ) )
-                    // InternalReportDSL.g:35794:4: {...}? => ( ( ( rule__MediaStyle__Group_3_11__0 ) ) )
+                    // InternalReportDSL.g:35530:3: ({...}? => ( ( ( rule__MediaStyle__Group_3_11__0 ) ) ) )
+                    // InternalReportDSL.g:35531:4: {...}? => ( ( ( rule__MediaStyle__Group_3_11__0 ) ) )
                     {
                     if ( ! getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 11) ) {
                         if (state.backtracking>0) {state.failed=true; return ;}
                         throw new FailedPredicateException(input, "rule__MediaStyle__UnorderedGroup_3__Impl", "getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 11)");
                     }
-                    // InternalReportDSL.g:35794:107: ( ( ( rule__MediaStyle__Group_3_11__0 ) ) )
-                    // InternalReportDSL.g:35795:5: ( ( rule__MediaStyle__Group_3_11__0 ) )
+                    // InternalReportDSL.g:35531:107: ( ( ( rule__MediaStyle__Group_3_11__0 ) ) )
+                    // InternalReportDSL.g:35532:5: ( ( rule__MediaStyle__Group_3_11__0 ) )
                     {
                     getUnorderedGroupHelper().select(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 11);
                     selected = true;
-                    // InternalReportDSL.g:35801:5: ( ( rule__MediaStyle__Group_3_11__0 ) )
-                    // InternalReportDSL.g:35802:6: ( rule__MediaStyle__Group_3_11__0 )
+                    // InternalReportDSL.g:35538:5: ( ( rule__MediaStyle__Group_3_11__0 ) )
+                    // InternalReportDSL.g:35539:6: ( rule__MediaStyle__Group_3_11__0 )
                     {
                     if ( state.backtracking==0 ) {
                        before(grammarAccess.getMediaStyleAccess().getGroup_3_11()); 
                     }
-                    // InternalReportDSL.g:35803:6: ( rule__MediaStyle__Group_3_11__0 )
-                    // InternalReportDSL.g:35803:7: rule__MediaStyle__Group_3_11__0
+                    // InternalReportDSL.g:35540:6: ( rule__MediaStyle__Group_3_11__0 )
+                    // InternalReportDSL.g:35540:7: rule__MediaStyle__Group_3_11__0
                     {
                     pushFollow(FOLLOW_2);
                     rule__MediaStyle__Group_3_11__0();
@@ -117428,28 +116407,28 @@
                     }
                     break;
                 case 13 :
-                    // InternalReportDSL.g:35808:3: ({...}? => ( ( ( rule__MediaStyle__Group_3_12__0 ) ) ) )
+                    // InternalReportDSL.g:35545:3: ({...}? => ( ( ( rule__MediaStyle__Group_3_12__0 ) ) ) )
                     {
-                    // InternalReportDSL.g:35808:3: ({...}? => ( ( ( rule__MediaStyle__Group_3_12__0 ) ) ) )
-                    // InternalReportDSL.g:35809:4: {...}? => ( ( ( rule__MediaStyle__Group_3_12__0 ) ) )
+                    // InternalReportDSL.g:35545:3: ({...}? => ( ( ( rule__MediaStyle__Group_3_12__0 ) ) ) )
+                    // InternalReportDSL.g:35546:4: {...}? => ( ( ( rule__MediaStyle__Group_3_12__0 ) ) )
                     {
                     if ( ! getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 12) ) {
                         if (state.backtracking>0) {state.failed=true; return ;}
                         throw new FailedPredicateException(input, "rule__MediaStyle__UnorderedGroup_3__Impl", "getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 12)");
                     }
-                    // InternalReportDSL.g:35809:107: ( ( ( rule__MediaStyle__Group_3_12__0 ) ) )
-                    // InternalReportDSL.g:35810:5: ( ( rule__MediaStyle__Group_3_12__0 ) )
+                    // InternalReportDSL.g:35546:107: ( ( ( rule__MediaStyle__Group_3_12__0 ) ) )
+                    // InternalReportDSL.g:35547:5: ( ( rule__MediaStyle__Group_3_12__0 ) )
                     {
                     getUnorderedGroupHelper().select(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 12);
                     selected = true;
-                    // InternalReportDSL.g:35816:5: ( ( rule__MediaStyle__Group_3_12__0 ) )
-                    // InternalReportDSL.g:35817:6: ( rule__MediaStyle__Group_3_12__0 )
+                    // InternalReportDSL.g:35553:5: ( ( rule__MediaStyle__Group_3_12__0 ) )
+                    // InternalReportDSL.g:35554:6: ( rule__MediaStyle__Group_3_12__0 )
                     {
                     if ( state.backtracking==0 ) {
                        before(grammarAccess.getMediaStyleAccess().getGroup_3_12()); 
                     }
-                    // InternalReportDSL.g:35818:6: ( rule__MediaStyle__Group_3_12__0 )
-                    // InternalReportDSL.g:35818:7: rule__MediaStyle__Group_3_12__0
+                    // InternalReportDSL.g:35555:6: ( rule__MediaStyle__Group_3_12__0 )
+                    // InternalReportDSL.g:35555:7: rule__MediaStyle__Group_3_12__0
                     {
                     pushFollow(FOLLOW_2);
                     rule__MediaStyle__Group_3_12__0();
@@ -117475,28 +116454,28 @@
                     }
                     break;
                 case 14 :
-                    // InternalReportDSL.g:35823:3: ({...}? => ( ( ( rule__MediaStyle__Group_3_13__0 ) ) ) )
+                    // InternalReportDSL.g:35560:3: ({...}? => ( ( ( rule__MediaStyle__Group_3_13__0 ) ) ) )
                     {
-                    // InternalReportDSL.g:35823:3: ({...}? => ( ( ( rule__MediaStyle__Group_3_13__0 ) ) ) )
-                    // InternalReportDSL.g:35824:4: {...}? => ( ( ( rule__MediaStyle__Group_3_13__0 ) ) )
+                    // InternalReportDSL.g:35560:3: ({...}? => ( ( ( rule__MediaStyle__Group_3_13__0 ) ) ) )
+                    // InternalReportDSL.g:35561:4: {...}? => ( ( ( rule__MediaStyle__Group_3_13__0 ) ) )
                     {
                     if ( ! getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 13) ) {
                         if (state.backtracking>0) {state.failed=true; return ;}
                         throw new FailedPredicateException(input, "rule__MediaStyle__UnorderedGroup_3__Impl", "getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 13)");
                     }
-                    // InternalReportDSL.g:35824:107: ( ( ( rule__MediaStyle__Group_3_13__0 ) ) )
-                    // InternalReportDSL.g:35825:5: ( ( rule__MediaStyle__Group_3_13__0 ) )
+                    // InternalReportDSL.g:35561:107: ( ( ( rule__MediaStyle__Group_3_13__0 ) ) )
+                    // InternalReportDSL.g:35562:5: ( ( rule__MediaStyle__Group_3_13__0 ) )
                     {
                     getUnorderedGroupHelper().select(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 13);
                     selected = true;
-                    // InternalReportDSL.g:35831:5: ( ( rule__MediaStyle__Group_3_13__0 ) )
-                    // InternalReportDSL.g:35832:6: ( rule__MediaStyle__Group_3_13__0 )
+                    // InternalReportDSL.g:35568:5: ( ( rule__MediaStyle__Group_3_13__0 ) )
+                    // InternalReportDSL.g:35569:6: ( rule__MediaStyle__Group_3_13__0 )
                     {
                     if ( state.backtracking==0 ) {
                        before(grammarAccess.getMediaStyleAccess().getGroup_3_13()); 
                     }
-                    // InternalReportDSL.g:35833:6: ( rule__MediaStyle__Group_3_13__0 )
-                    // InternalReportDSL.g:35833:7: rule__MediaStyle__Group_3_13__0
+                    // InternalReportDSL.g:35570:6: ( rule__MediaStyle__Group_3_13__0 )
+                    // InternalReportDSL.g:35570:7: rule__MediaStyle__Group_3_13__0
                     {
                     pushFollow(FOLLOW_2);
                     rule__MediaStyle__Group_3_13__0();
@@ -117522,28 +116501,28 @@
                     }
                     break;
                 case 15 :
-                    // InternalReportDSL.g:35838:3: ({...}? => ( ( ( rule__MediaStyle__Group_3_14__0 ) ) ) )
+                    // InternalReportDSL.g:35575:3: ({...}? => ( ( ( rule__MediaStyle__Group_3_14__0 ) ) ) )
                     {
-                    // InternalReportDSL.g:35838:3: ({...}? => ( ( ( rule__MediaStyle__Group_3_14__0 ) ) ) )
-                    // InternalReportDSL.g:35839:4: {...}? => ( ( ( rule__MediaStyle__Group_3_14__0 ) ) )
+                    // InternalReportDSL.g:35575:3: ({...}? => ( ( ( rule__MediaStyle__Group_3_14__0 ) ) ) )
+                    // InternalReportDSL.g:35576:4: {...}? => ( ( ( rule__MediaStyle__Group_3_14__0 ) ) )
                     {
                     if ( ! getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 14) ) {
                         if (state.backtracking>0) {state.failed=true; return ;}
                         throw new FailedPredicateException(input, "rule__MediaStyle__UnorderedGroup_3__Impl", "getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 14)");
                     }
-                    // InternalReportDSL.g:35839:107: ( ( ( rule__MediaStyle__Group_3_14__0 ) ) )
-                    // InternalReportDSL.g:35840:5: ( ( rule__MediaStyle__Group_3_14__0 ) )
+                    // InternalReportDSL.g:35576:107: ( ( ( rule__MediaStyle__Group_3_14__0 ) ) )
+                    // InternalReportDSL.g:35577:5: ( ( rule__MediaStyle__Group_3_14__0 ) )
                     {
                     getUnorderedGroupHelper().select(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 14);
                     selected = true;
-                    // InternalReportDSL.g:35846:5: ( ( rule__MediaStyle__Group_3_14__0 ) )
-                    // InternalReportDSL.g:35847:6: ( rule__MediaStyle__Group_3_14__0 )
+                    // InternalReportDSL.g:35583:5: ( ( rule__MediaStyle__Group_3_14__0 ) )
+                    // InternalReportDSL.g:35584:6: ( rule__MediaStyle__Group_3_14__0 )
                     {
                     if ( state.backtracking==0 ) {
                        before(grammarAccess.getMediaStyleAccess().getGroup_3_14()); 
                     }
-                    // InternalReportDSL.g:35848:6: ( rule__MediaStyle__Group_3_14__0 )
-                    // InternalReportDSL.g:35848:7: rule__MediaStyle__Group_3_14__0
+                    // InternalReportDSL.g:35585:6: ( rule__MediaStyle__Group_3_14__0 )
+                    // InternalReportDSL.g:35585:7: rule__MediaStyle__Group_3_14__0
                     {
                     pushFollow(FOLLOW_2);
                     rule__MediaStyle__Group_3_14__0();
@@ -117569,28 +116548,28 @@
                     }
                     break;
                 case 16 :
-                    // InternalReportDSL.g:35853:3: ({...}? => ( ( ( rule__MediaStyle__Group_3_15__0 ) ) ) )
+                    // InternalReportDSL.g:35590:3: ({...}? => ( ( ( rule__MediaStyle__Group_3_15__0 ) ) ) )
                     {
-                    // InternalReportDSL.g:35853:3: ({...}? => ( ( ( rule__MediaStyle__Group_3_15__0 ) ) ) )
-                    // InternalReportDSL.g:35854:4: {...}? => ( ( ( rule__MediaStyle__Group_3_15__0 ) ) )
+                    // InternalReportDSL.g:35590:3: ({...}? => ( ( ( rule__MediaStyle__Group_3_15__0 ) ) ) )
+                    // InternalReportDSL.g:35591:4: {...}? => ( ( ( rule__MediaStyle__Group_3_15__0 ) ) )
                     {
                     if ( ! getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 15) ) {
                         if (state.backtracking>0) {state.failed=true; return ;}
                         throw new FailedPredicateException(input, "rule__MediaStyle__UnorderedGroup_3__Impl", "getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 15)");
                     }
-                    // InternalReportDSL.g:35854:107: ( ( ( rule__MediaStyle__Group_3_15__0 ) ) )
-                    // InternalReportDSL.g:35855:5: ( ( rule__MediaStyle__Group_3_15__0 ) )
+                    // InternalReportDSL.g:35591:107: ( ( ( rule__MediaStyle__Group_3_15__0 ) ) )
+                    // InternalReportDSL.g:35592:5: ( ( rule__MediaStyle__Group_3_15__0 ) )
                     {
                     getUnorderedGroupHelper().select(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 15);
                     selected = true;
-                    // InternalReportDSL.g:35861:5: ( ( rule__MediaStyle__Group_3_15__0 ) )
-                    // InternalReportDSL.g:35862:6: ( rule__MediaStyle__Group_3_15__0 )
+                    // InternalReportDSL.g:35598:5: ( ( rule__MediaStyle__Group_3_15__0 ) )
+                    // InternalReportDSL.g:35599:6: ( rule__MediaStyle__Group_3_15__0 )
                     {
                     if ( state.backtracking==0 ) {
                        before(grammarAccess.getMediaStyleAccess().getGroup_3_15()); 
                     }
-                    // InternalReportDSL.g:35863:6: ( rule__MediaStyle__Group_3_15__0 )
-                    // InternalReportDSL.g:35863:7: rule__MediaStyle__Group_3_15__0
+                    // InternalReportDSL.g:35600:6: ( rule__MediaStyle__Group_3_15__0 )
+                    // InternalReportDSL.g:35600:7: rule__MediaStyle__Group_3_15__0
                     {
                     pushFollow(FOLLOW_2);
                     rule__MediaStyle__Group_3_15__0();
@@ -117616,28 +116595,28 @@
                     }
                     break;
                 case 17 :
-                    // InternalReportDSL.g:35868:3: ({...}? => ( ( ( rule__MediaStyle__Group_3_16__0 ) ) ) )
+                    // InternalReportDSL.g:35605:3: ({...}? => ( ( ( rule__MediaStyle__Group_3_16__0 ) ) ) )
                     {
-                    // InternalReportDSL.g:35868:3: ({...}? => ( ( ( rule__MediaStyle__Group_3_16__0 ) ) ) )
-                    // InternalReportDSL.g:35869:4: {...}? => ( ( ( rule__MediaStyle__Group_3_16__0 ) ) )
+                    // InternalReportDSL.g:35605:3: ({...}? => ( ( ( rule__MediaStyle__Group_3_16__0 ) ) ) )
+                    // InternalReportDSL.g:35606:4: {...}? => ( ( ( rule__MediaStyle__Group_3_16__0 ) ) )
                     {
                     if ( ! getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 16) ) {
                         if (state.backtracking>0) {state.failed=true; return ;}
                         throw new FailedPredicateException(input, "rule__MediaStyle__UnorderedGroup_3__Impl", "getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 16)");
                     }
-                    // InternalReportDSL.g:35869:107: ( ( ( rule__MediaStyle__Group_3_16__0 ) ) )
-                    // InternalReportDSL.g:35870:5: ( ( rule__MediaStyle__Group_3_16__0 ) )
+                    // InternalReportDSL.g:35606:107: ( ( ( rule__MediaStyle__Group_3_16__0 ) ) )
+                    // InternalReportDSL.g:35607:5: ( ( rule__MediaStyle__Group_3_16__0 ) )
                     {
                     getUnorderedGroupHelper().select(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 16);
                     selected = true;
-                    // InternalReportDSL.g:35876:5: ( ( rule__MediaStyle__Group_3_16__0 ) )
-                    // InternalReportDSL.g:35877:6: ( rule__MediaStyle__Group_3_16__0 )
+                    // InternalReportDSL.g:35613:5: ( ( rule__MediaStyle__Group_3_16__0 ) )
+                    // InternalReportDSL.g:35614:6: ( rule__MediaStyle__Group_3_16__0 )
                     {
                     if ( state.backtracking==0 ) {
                        before(grammarAccess.getMediaStyleAccess().getGroup_3_16()); 
                     }
-                    // InternalReportDSL.g:35878:6: ( rule__MediaStyle__Group_3_16__0 )
-                    // InternalReportDSL.g:35878:7: rule__MediaStyle__Group_3_16__0
+                    // InternalReportDSL.g:35615:6: ( rule__MediaStyle__Group_3_16__0 )
+                    // InternalReportDSL.g:35615:7: rule__MediaStyle__Group_3_16__0
                     {
                     pushFollow(FOLLOW_2);
                     rule__MediaStyle__Group_3_16__0();
@@ -117662,6 +116641,53 @@
 
                     }
                     break;
+                case 18 :
+                    // InternalReportDSL.g:35620:3: ({...}? => ( ( ( rule__MediaStyle__Group_3_17__0 ) ) ) )
+                    {
+                    // InternalReportDSL.g:35620:3: ({...}? => ( ( ( rule__MediaStyle__Group_3_17__0 ) ) ) )
+                    // InternalReportDSL.g:35621:4: {...}? => ( ( ( rule__MediaStyle__Group_3_17__0 ) ) )
+                    {
+                    if ( ! getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 17) ) {
+                        if (state.backtracking>0) {state.failed=true; return ;}
+                        throw new FailedPredicateException(input, "rule__MediaStyle__UnorderedGroup_3__Impl", "getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 17)");
+                    }
+                    // InternalReportDSL.g:35621:107: ( ( ( rule__MediaStyle__Group_3_17__0 ) ) )
+                    // InternalReportDSL.g:35622:5: ( ( rule__MediaStyle__Group_3_17__0 ) )
+                    {
+                    getUnorderedGroupHelper().select(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 17);
+                    selected = true;
+                    // InternalReportDSL.g:35628:5: ( ( rule__MediaStyle__Group_3_17__0 ) )
+                    // InternalReportDSL.g:35629:6: ( rule__MediaStyle__Group_3_17__0 )
+                    {
+                    if ( state.backtracking==0 ) {
+                       before(grammarAccess.getMediaStyleAccess().getGroup_3_17()); 
+                    }
+                    // InternalReportDSL.g:35630:6: ( rule__MediaStyle__Group_3_17__0 )
+                    // InternalReportDSL.g:35630:7: rule__MediaStyle__Group_3_17__0
+                    {
+                    pushFollow(FOLLOW_2);
+                    rule__MediaStyle__Group_3_17__0();
+
+                    state._fsp--;
+                    if (state.failed) return ;
+
+                    }
+
+                    if ( state.backtracking==0 ) {
+                       after(grammarAccess.getMediaStyleAccess().getGroup_3_17()); 
+                    }
+
+                    }
+
+
+                    }
+
+
+                    }
+
+
+                    }
+                    break;
 
             }
 
@@ -117686,24 +116712,24 @@
 
 
     // $ANTLR start "rule__MediaStyle__UnorderedGroup_3__0"
-    // InternalReportDSL.g:35891:1: rule__MediaStyle__UnorderedGroup_3__0 : rule__MediaStyle__UnorderedGroup_3__Impl ( rule__MediaStyle__UnorderedGroup_3__1 )? ;
+    // InternalReportDSL.g:35643:1: rule__MediaStyle__UnorderedGroup_3__0 : rule__MediaStyle__UnorderedGroup_3__Impl ( rule__MediaStyle__UnorderedGroup_3__1 )? ;
     public final void rule__MediaStyle__UnorderedGroup_3__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:35895:1: ( rule__MediaStyle__UnorderedGroup_3__Impl ( rule__MediaStyle__UnorderedGroup_3__1 )? )
-            // InternalReportDSL.g:35896:2: rule__MediaStyle__UnorderedGroup_3__Impl ( rule__MediaStyle__UnorderedGroup_3__1 )?
+            // InternalReportDSL.g:35647:1: ( rule__MediaStyle__UnorderedGroup_3__Impl ( rule__MediaStyle__UnorderedGroup_3__1 )? )
+            // InternalReportDSL.g:35648:2: rule__MediaStyle__UnorderedGroup_3__Impl ( rule__MediaStyle__UnorderedGroup_3__1 )?
             {
-            pushFollow(FOLLOW_223);
+            pushFollow(FOLLOW_221);
             rule__MediaStyle__UnorderedGroup_3__Impl();
 
             state._fsp--;
             if (state.failed) return ;
-            // InternalReportDSL.g:35897:2: ( rule__MediaStyle__UnorderedGroup_3__1 )?
-            int alt279=2;
-            alt279 = dfa279.predict(input);
-            switch (alt279) {
+            // InternalReportDSL.g:35649:2: ( rule__MediaStyle__UnorderedGroup_3__1 )?
+            int alt262=2;
+            alt262 = dfa262.predict(input);
+            switch (alt262) {
                 case 1 :
                     // InternalReportDSL.g:0:0: rule__MediaStyle__UnorderedGroup_3__1
                     {
@@ -117737,24 +116763,24 @@
 
 
     // $ANTLR start "rule__MediaStyle__UnorderedGroup_3__1"
-    // InternalReportDSL.g:35903:1: rule__MediaStyle__UnorderedGroup_3__1 : rule__MediaStyle__UnorderedGroup_3__Impl ( rule__MediaStyle__UnorderedGroup_3__2 )? ;
+    // InternalReportDSL.g:35655:1: rule__MediaStyle__UnorderedGroup_3__1 : rule__MediaStyle__UnorderedGroup_3__Impl ( rule__MediaStyle__UnorderedGroup_3__2 )? ;
     public final void rule__MediaStyle__UnorderedGroup_3__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:35907:1: ( rule__MediaStyle__UnorderedGroup_3__Impl ( rule__MediaStyle__UnorderedGroup_3__2 )? )
-            // InternalReportDSL.g:35908:2: rule__MediaStyle__UnorderedGroup_3__Impl ( rule__MediaStyle__UnorderedGroup_3__2 )?
+            // InternalReportDSL.g:35659:1: ( rule__MediaStyle__UnorderedGroup_3__Impl ( rule__MediaStyle__UnorderedGroup_3__2 )? )
+            // InternalReportDSL.g:35660:2: rule__MediaStyle__UnorderedGroup_3__Impl ( rule__MediaStyle__UnorderedGroup_3__2 )?
             {
-            pushFollow(FOLLOW_223);
+            pushFollow(FOLLOW_221);
             rule__MediaStyle__UnorderedGroup_3__Impl();
 
             state._fsp--;
             if (state.failed) return ;
-            // InternalReportDSL.g:35909:2: ( rule__MediaStyle__UnorderedGroup_3__2 )?
-            int alt280=2;
-            alt280 = dfa280.predict(input);
-            switch (alt280) {
+            // InternalReportDSL.g:35661:2: ( rule__MediaStyle__UnorderedGroup_3__2 )?
+            int alt263=2;
+            alt263 = dfa263.predict(input);
+            switch (alt263) {
                 case 1 :
                     // InternalReportDSL.g:0:0: rule__MediaStyle__UnorderedGroup_3__2
                     {
@@ -117788,24 +116814,24 @@
 
 
     // $ANTLR start "rule__MediaStyle__UnorderedGroup_3__2"
-    // InternalReportDSL.g:35915:1: rule__MediaStyle__UnorderedGroup_3__2 : rule__MediaStyle__UnorderedGroup_3__Impl ( rule__MediaStyle__UnorderedGroup_3__3 )? ;
+    // InternalReportDSL.g:35667:1: rule__MediaStyle__UnorderedGroup_3__2 : rule__MediaStyle__UnorderedGroup_3__Impl ( rule__MediaStyle__UnorderedGroup_3__3 )? ;
     public final void rule__MediaStyle__UnorderedGroup_3__2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:35919:1: ( rule__MediaStyle__UnorderedGroup_3__Impl ( rule__MediaStyle__UnorderedGroup_3__3 )? )
-            // InternalReportDSL.g:35920:2: rule__MediaStyle__UnorderedGroup_3__Impl ( rule__MediaStyle__UnorderedGroup_3__3 )?
+            // InternalReportDSL.g:35671:1: ( rule__MediaStyle__UnorderedGroup_3__Impl ( rule__MediaStyle__UnorderedGroup_3__3 )? )
+            // InternalReportDSL.g:35672:2: rule__MediaStyle__UnorderedGroup_3__Impl ( rule__MediaStyle__UnorderedGroup_3__3 )?
             {
-            pushFollow(FOLLOW_223);
+            pushFollow(FOLLOW_221);
             rule__MediaStyle__UnorderedGroup_3__Impl();
 
             state._fsp--;
             if (state.failed) return ;
-            // InternalReportDSL.g:35921:2: ( rule__MediaStyle__UnorderedGroup_3__3 )?
-            int alt281=2;
-            alt281 = dfa281.predict(input);
-            switch (alt281) {
+            // InternalReportDSL.g:35673:2: ( rule__MediaStyle__UnorderedGroup_3__3 )?
+            int alt264=2;
+            alt264 = dfa264.predict(input);
+            switch (alt264) {
                 case 1 :
                     // InternalReportDSL.g:0:0: rule__MediaStyle__UnorderedGroup_3__3
                     {
@@ -117839,24 +116865,24 @@
 
 
     // $ANTLR start "rule__MediaStyle__UnorderedGroup_3__3"
-    // InternalReportDSL.g:35927:1: rule__MediaStyle__UnorderedGroup_3__3 : rule__MediaStyle__UnorderedGroup_3__Impl ( rule__MediaStyle__UnorderedGroup_3__4 )? ;
+    // InternalReportDSL.g:35679:1: rule__MediaStyle__UnorderedGroup_3__3 : rule__MediaStyle__UnorderedGroup_3__Impl ( rule__MediaStyle__UnorderedGroup_3__4 )? ;
     public final void rule__MediaStyle__UnorderedGroup_3__3() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:35931:1: ( rule__MediaStyle__UnorderedGroup_3__Impl ( rule__MediaStyle__UnorderedGroup_3__4 )? )
-            // InternalReportDSL.g:35932:2: rule__MediaStyle__UnorderedGroup_3__Impl ( rule__MediaStyle__UnorderedGroup_3__4 )?
+            // InternalReportDSL.g:35683:1: ( rule__MediaStyle__UnorderedGroup_3__Impl ( rule__MediaStyle__UnorderedGroup_3__4 )? )
+            // InternalReportDSL.g:35684:2: rule__MediaStyle__UnorderedGroup_3__Impl ( rule__MediaStyle__UnorderedGroup_3__4 )?
             {
-            pushFollow(FOLLOW_223);
+            pushFollow(FOLLOW_221);
             rule__MediaStyle__UnorderedGroup_3__Impl();
 
             state._fsp--;
             if (state.failed) return ;
-            // InternalReportDSL.g:35933:2: ( rule__MediaStyle__UnorderedGroup_3__4 )?
-            int alt282=2;
-            alt282 = dfa282.predict(input);
-            switch (alt282) {
+            // InternalReportDSL.g:35685:2: ( rule__MediaStyle__UnorderedGroup_3__4 )?
+            int alt265=2;
+            alt265 = dfa265.predict(input);
+            switch (alt265) {
                 case 1 :
                     // InternalReportDSL.g:0:0: rule__MediaStyle__UnorderedGroup_3__4
                     {
@@ -117890,24 +116916,24 @@
 
 
     // $ANTLR start "rule__MediaStyle__UnorderedGroup_3__4"
-    // InternalReportDSL.g:35939:1: rule__MediaStyle__UnorderedGroup_3__4 : rule__MediaStyle__UnorderedGroup_3__Impl ( rule__MediaStyle__UnorderedGroup_3__5 )? ;
+    // InternalReportDSL.g:35691:1: rule__MediaStyle__UnorderedGroup_3__4 : rule__MediaStyle__UnorderedGroup_3__Impl ( rule__MediaStyle__UnorderedGroup_3__5 )? ;
     public final void rule__MediaStyle__UnorderedGroup_3__4() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:35943:1: ( rule__MediaStyle__UnorderedGroup_3__Impl ( rule__MediaStyle__UnorderedGroup_3__5 )? )
-            // InternalReportDSL.g:35944:2: rule__MediaStyle__UnorderedGroup_3__Impl ( rule__MediaStyle__UnorderedGroup_3__5 )?
+            // InternalReportDSL.g:35695:1: ( rule__MediaStyle__UnorderedGroup_3__Impl ( rule__MediaStyle__UnorderedGroup_3__5 )? )
+            // InternalReportDSL.g:35696:2: rule__MediaStyle__UnorderedGroup_3__Impl ( rule__MediaStyle__UnorderedGroup_3__5 )?
             {
-            pushFollow(FOLLOW_223);
+            pushFollow(FOLLOW_221);
             rule__MediaStyle__UnorderedGroup_3__Impl();
 
             state._fsp--;
             if (state.failed) return ;
-            // InternalReportDSL.g:35945:2: ( rule__MediaStyle__UnorderedGroup_3__5 )?
-            int alt283=2;
-            alt283 = dfa283.predict(input);
-            switch (alt283) {
+            // InternalReportDSL.g:35697:2: ( rule__MediaStyle__UnorderedGroup_3__5 )?
+            int alt266=2;
+            alt266 = dfa266.predict(input);
+            switch (alt266) {
                 case 1 :
                     // InternalReportDSL.g:0:0: rule__MediaStyle__UnorderedGroup_3__5
                     {
@@ -117941,24 +116967,24 @@
 
 
     // $ANTLR start "rule__MediaStyle__UnorderedGroup_3__5"
-    // InternalReportDSL.g:35951:1: rule__MediaStyle__UnorderedGroup_3__5 : rule__MediaStyle__UnorderedGroup_3__Impl ( rule__MediaStyle__UnorderedGroup_3__6 )? ;
+    // InternalReportDSL.g:35703:1: rule__MediaStyle__UnorderedGroup_3__5 : rule__MediaStyle__UnorderedGroup_3__Impl ( rule__MediaStyle__UnorderedGroup_3__6 )? ;
     public final void rule__MediaStyle__UnorderedGroup_3__5() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:35955:1: ( rule__MediaStyle__UnorderedGroup_3__Impl ( rule__MediaStyle__UnorderedGroup_3__6 )? )
-            // InternalReportDSL.g:35956:2: rule__MediaStyle__UnorderedGroup_3__Impl ( rule__MediaStyle__UnorderedGroup_3__6 )?
+            // InternalReportDSL.g:35707:1: ( rule__MediaStyle__UnorderedGroup_3__Impl ( rule__MediaStyle__UnorderedGroup_3__6 )? )
+            // InternalReportDSL.g:35708:2: rule__MediaStyle__UnorderedGroup_3__Impl ( rule__MediaStyle__UnorderedGroup_3__6 )?
             {
-            pushFollow(FOLLOW_223);
+            pushFollow(FOLLOW_221);
             rule__MediaStyle__UnorderedGroup_3__Impl();
 
             state._fsp--;
             if (state.failed) return ;
-            // InternalReportDSL.g:35957:2: ( rule__MediaStyle__UnorderedGroup_3__6 )?
-            int alt284=2;
-            alt284 = dfa284.predict(input);
-            switch (alt284) {
+            // InternalReportDSL.g:35709:2: ( rule__MediaStyle__UnorderedGroup_3__6 )?
+            int alt267=2;
+            alt267 = dfa267.predict(input);
+            switch (alt267) {
                 case 1 :
                     // InternalReportDSL.g:0:0: rule__MediaStyle__UnorderedGroup_3__6
                     {
@@ -117992,24 +117018,24 @@
 
 
     // $ANTLR start "rule__MediaStyle__UnorderedGroup_3__6"
-    // InternalReportDSL.g:35963:1: rule__MediaStyle__UnorderedGroup_3__6 : rule__MediaStyle__UnorderedGroup_3__Impl ( rule__MediaStyle__UnorderedGroup_3__7 )? ;
+    // InternalReportDSL.g:35715:1: rule__MediaStyle__UnorderedGroup_3__6 : rule__MediaStyle__UnorderedGroup_3__Impl ( rule__MediaStyle__UnorderedGroup_3__7 )? ;
     public final void rule__MediaStyle__UnorderedGroup_3__6() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:35967:1: ( rule__MediaStyle__UnorderedGroup_3__Impl ( rule__MediaStyle__UnorderedGroup_3__7 )? )
-            // InternalReportDSL.g:35968:2: rule__MediaStyle__UnorderedGroup_3__Impl ( rule__MediaStyle__UnorderedGroup_3__7 )?
+            // InternalReportDSL.g:35719:1: ( rule__MediaStyle__UnorderedGroup_3__Impl ( rule__MediaStyle__UnorderedGroup_3__7 )? )
+            // InternalReportDSL.g:35720:2: rule__MediaStyle__UnorderedGroup_3__Impl ( rule__MediaStyle__UnorderedGroup_3__7 )?
             {
-            pushFollow(FOLLOW_223);
+            pushFollow(FOLLOW_221);
             rule__MediaStyle__UnorderedGroup_3__Impl();
 
             state._fsp--;
             if (state.failed) return ;
-            // InternalReportDSL.g:35969:2: ( rule__MediaStyle__UnorderedGroup_3__7 )?
-            int alt285=2;
-            alt285 = dfa285.predict(input);
-            switch (alt285) {
+            // InternalReportDSL.g:35721:2: ( rule__MediaStyle__UnorderedGroup_3__7 )?
+            int alt268=2;
+            alt268 = dfa268.predict(input);
+            switch (alt268) {
                 case 1 :
                     // InternalReportDSL.g:0:0: rule__MediaStyle__UnorderedGroup_3__7
                     {
@@ -118043,24 +117069,24 @@
 
 
     // $ANTLR start "rule__MediaStyle__UnorderedGroup_3__7"
-    // InternalReportDSL.g:35975:1: rule__MediaStyle__UnorderedGroup_3__7 : rule__MediaStyle__UnorderedGroup_3__Impl ( rule__MediaStyle__UnorderedGroup_3__8 )? ;
+    // InternalReportDSL.g:35727:1: rule__MediaStyle__UnorderedGroup_3__7 : rule__MediaStyle__UnorderedGroup_3__Impl ( rule__MediaStyle__UnorderedGroup_3__8 )? ;
     public final void rule__MediaStyle__UnorderedGroup_3__7() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:35979:1: ( rule__MediaStyle__UnorderedGroup_3__Impl ( rule__MediaStyle__UnorderedGroup_3__8 )? )
-            // InternalReportDSL.g:35980:2: rule__MediaStyle__UnorderedGroup_3__Impl ( rule__MediaStyle__UnorderedGroup_3__8 )?
+            // InternalReportDSL.g:35731:1: ( rule__MediaStyle__UnorderedGroup_3__Impl ( rule__MediaStyle__UnorderedGroup_3__8 )? )
+            // InternalReportDSL.g:35732:2: rule__MediaStyle__UnorderedGroup_3__Impl ( rule__MediaStyle__UnorderedGroup_3__8 )?
             {
-            pushFollow(FOLLOW_223);
+            pushFollow(FOLLOW_221);
             rule__MediaStyle__UnorderedGroup_3__Impl();
 
             state._fsp--;
             if (state.failed) return ;
-            // InternalReportDSL.g:35981:2: ( rule__MediaStyle__UnorderedGroup_3__8 )?
-            int alt286=2;
-            alt286 = dfa286.predict(input);
-            switch (alt286) {
+            // InternalReportDSL.g:35733:2: ( rule__MediaStyle__UnorderedGroup_3__8 )?
+            int alt269=2;
+            alt269 = dfa269.predict(input);
+            switch (alt269) {
                 case 1 :
                     // InternalReportDSL.g:0:0: rule__MediaStyle__UnorderedGroup_3__8
                     {
@@ -118094,24 +117120,24 @@
 
 
     // $ANTLR start "rule__MediaStyle__UnorderedGroup_3__8"
-    // InternalReportDSL.g:35987:1: rule__MediaStyle__UnorderedGroup_3__8 : rule__MediaStyle__UnorderedGroup_3__Impl ( rule__MediaStyle__UnorderedGroup_3__9 )? ;
+    // InternalReportDSL.g:35739:1: rule__MediaStyle__UnorderedGroup_3__8 : rule__MediaStyle__UnorderedGroup_3__Impl ( rule__MediaStyle__UnorderedGroup_3__9 )? ;
     public final void rule__MediaStyle__UnorderedGroup_3__8() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:35991:1: ( rule__MediaStyle__UnorderedGroup_3__Impl ( rule__MediaStyle__UnorderedGroup_3__9 )? )
-            // InternalReportDSL.g:35992:2: rule__MediaStyle__UnorderedGroup_3__Impl ( rule__MediaStyle__UnorderedGroup_3__9 )?
+            // InternalReportDSL.g:35743:1: ( rule__MediaStyle__UnorderedGroup_3__Impl ( rule__MediaStyle__UnorderedGroup_3__9 )? )
+            // InternalReportDSL.g:35744:2: rule__MediaStyle__UnorderedGroup_3__Impl ( rule__MediaStyle__UnorderedGroup_3__9 )?
             {
-            pushFollow(FOLLOW_223);
+            pushFollow(FOLLOW_221);
             rule__MediaStyle__UnorderedGroup_3__Impl();
 
             state._fsp--;
             if (state.failed) return ;
-            // InternalReportDSL.g:35993:2: ( rule__MediaStyle__UnorderedGroup_3__9 )?
-            int alt287=2;
-            alt287 = dfa287.predict(input);
-            switch (alt287) {
+            // InternalReportDSL.g:35745:2: ( rule__MediaStyle__UnorderedGroup_3__9 )?
+            int alt270=2;
+            alt270 = dfa270.predict(input);
+            switch (alt270) {
                 case 1 :
                     // InternalReportDSL.g:0:0: rule__MediaStyle__UnorderedGroup_3__9
                     {
@@ -118145,24 +117171,24 @@
 
 
     // $ANTLR start "rule__MediaStyle__UnorderedGroup_3__9"
-    // InternalReportDSL.g:35999:1: rule__MediaStyle__UnorderedGroup_3__9 : rule__MediaStyle__UnorderedGroup_3__Impl ( rule__MediaStyle__UnorderedGroup_3__10 )? ;
+    // InternalReportDSL.g:35751:1: rule__MediaStyle__UnorderedGroup_3__9 : rule__MediaStyle__UnorderedGroup_3__Impl ( rule__MediaStyle__UnorderedGroup_3__10 )? ;
     public final void rule__MediaStyle__UnorderedGroup_3__9() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:36003:1: ( rule__MediaStyle__UnorderedGroup_3__Impl ( rule__MediaStyle__UnorderedGroup_3__10 )? )
-            // InternalReportDSL.g:36004:2: rule__MediaStyle__UnorderedGroup_3__Impl ( rule__MediaStyle__UnorderedGroup_3__10 )?
+            // InternalReportDSL.g:35755:1: ( rule__MediaStyle__UnorderedGroup_3__Impl ( rule__MediaStyle__UnorderedGroup_3__10 )? )
+            // InternalReportDSL.g:35756:2: rule__MediaStyle__UnorderedGroup_3__Impl ( rule__MediaStyle__UnorderedGroup_3__10 )?
             {
-            pushFollow(FOLLOW_223);
+            pushFollow(FOLLOW_221);
             rule__MediaStyle__UnorderedGroup_3__Impl();
 
             state._fsp--;
             if (state.failed) return ;
-            // InternalReportDSL.g:36005:2: ( rule__MediaStyle__UnorderedGroup_3__10 )?
-            int alt288=2;
-            alt288 = dfa288.predict(input);
-            switch (alt288) {
+            // InternalReportDSL.g:35757:2: ( rule__MediaStyle__UnorderedGroup_3__10 )?
+            int alt271=2;
+            alt271 = dfa271.predict(input);
+            switch (alt271) {
                 case 1 :
                     // InternalReportDSL.g:0:0: rule__MediaStyle__UnorderedGroup_3__10
                     {
@@ -118196,24 +117222,24 @@
 
 
     // $ANTLR start "rule__MediaStyle__UnorderedGroup_3__10"
-    // InternalReportDSL.g:36011:1: rule__MediaStyle__UnorderedGroup_3__10 : rule__MediaStyle__UnorderedGroup_3__Impl ( rule__MediaStyle__UnorderedGroup_3__11 )? ;
+    // InternalReportDSL.g:35763:1: rule__MediaStyle__UnorderedGroup_3__10 : rule__MediaStyle__UnorderedGroup_3__Impl ( rule__MediaStyle__UnorderedGroup_3__11 )? ;
     public final void rule__MediaStyle__UnorderedGroup_3__10() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:36015:1: ( rule__MediaStyle__UnorderedGroup_3__Impl ( rule__MediaStyle__UnorderedGroup_3__11 )? )
-            // InternalReportDSL.g:36016:2: rule__MediaStyle__UnorderedGroup_3__Impl ( rule__MediaStyle__UnorderedGroup_3__11 )?
+            // InternalReportDSL.g:35767:1: ( rule__MediaStyle__UnorderedGroup_3__Impl ( rule__MediaStyle__UnorderedGroup_3__11 )? )
+            // InternalReportDSL.g:35768:2: rule__MediaStyle__UnorderedGroup_3__Impl ( rule__MediaStyle__UnorderedGroup_3__11 )?
             {
-            pushFollow(FOLLOW_223);
+            pushFollow(FOLLOW_221);
             rule__MediaStyle__UnorderedGroup_3__Impl();
 
             state._fsp--;
             if (state.failed) return ;
-            // InternalReportDSL.g:36017:2: ( rule__MediaStyle__UnorderedGroup_3__11 )?
-            int alt289=2;
-            alt289 = dfa289.predict(input);
-            switch (alt289) {
+            // InternalReportDSL.g:35769:2: ( rule__MediaStyle__UnorderedGroup_3__11 )?
+            int alt272=2;
+            alt272 = dfa272.predict(input);
+            switch (alt272) {
                 case 1 :
                     // InternalReportDSL.g:0:0: rule__MediaStyle__UnorderedGroup_3__11
                     {
@@ -118247,24 +117273,24 @@
 
 
     // $ANTLR start "rule__MediaStyle__UnorderedGroup_3__11"
-    // InternalReportDSL.g:36023:1: rule__MediaStyle__UnorderedGroup_3__11 : rule__MediaStyle__UnorderedGroup_3__Impl ( rule__MediaStyle__UnorderedGroup_3__12 )? ;
+    // InternalReportDSL.g:35775:1: rule__MediaStyle__UnorderedGroup_3__11 : rule__MediaStyle__UnorderedGroup_3__Impl ( rule__MediaStyle__UnorderedGroup_3__12 )? ;
     public final void rule__MediaStyle__UnorderedGroup_3__11() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:36027:1: ( rule__MediaStyle__UnorderedGroup_3__Impl ( rule__MediaStyle__UnorderedGroup_3__12 )? )
-            // InternalReportDSL.g:36028:2: rule__MediaStyle__UnorderedGroup_3__Impl ( rule__MediaStyle__UnorderedGroup_3__12 )?
+            // InternalReportDSL.g:35779:1: ( rule__MediaStyle__UnorderedGroup_3__Impl ( rule__MediaStyle__UnorderedGroup_3__12 )? )
+            // InternalReportDSL.g:35780:2: rule__MediaStyle__UnorderedGroup_3__Impl ( rule__MediaStyle__UnorderedGroup_3__12 )?
             {
-            pushFollow(FOLLOW_223);
+            pushFollow(FOLLOW_221);
             rule__MediaStyle__UnorderedGroup_3__Impl();
 
             state._fsp--;
             if (state.failed) return ;
-            // InternalReportDSL.g:36029:2: ( rule__MediaStyle__UnorderedGroup_3__12 )?
-            int alt290=2;
-            alt290 = dfa290.predict(input);
-            switch (alt290) {
+            // InternalReportDSL.g:35781:2: ( rule__MediaStyle__UnorderedGroup_3__12 )?
+            int alt273=2;
+            alt273 = dfa273.predict(input);
+            switch (alt273) {
                 case 1 :
                     // InternalReportDSL.g:0:0: rule__MediaStyle__UnorderedGroup_3__12
                     {
@@ -118298,24 +117324,24 @@
 
 
     // $ANTLR start "rule__MediaStyle__UnorderedGroup_3__12"
-    // InternalReportDSL.g:36035:1: rule__MediaStyle__UnorderedGroup_3__12 : rule__MediaStyle__UnorderedGroup_3__Impl ( rule__MediaStyle__UnorderedGroup_3__13 )? ;
+    // InternalReportDSL.g:35787:1: rule__MediaStyle__UnorderedGroup_3__12 : rule__MediaStyle__UnorderedGroup_3__Impl ( rule__MediaStyle__UnorderedGroup_3__13 )? ;
     public final void rule__MediaStyle__UnorderedGroup_3__12() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:36039:1: ( rule__MediaStyle__UnorderedGroup_3__Impl ( rule__MediaStyle__UnorderedGroup_3__13 )? )
-            // InternalReportDSL.g:36040:2: rule__MediaStyle__UnorderedGroup_3__Impl ( rule__MediaStyle__UnorderedGroup_3__13 )?
+            // InternalReportDSL.g:35791:1: ( rule__MediaStyle__UnorderedGroup_3__Impl ( rule__MediaStyle__UnorderedGroup_3__13 )? )
+            // InternalReportDSL.g:35792:2: rule__MediaStyle__UnorderedGroup_3__Impl ( rule__MediaStyle__UnorderedGroup_3__13 )?
             {
-            pushFollow(FOLLOW_223);
+            pushFollow(FOLLOW_221);
             rule__MediaStyle__UnorderedGroup_3__Impl();
 
             state._fsp--;
             if (state.failed) return ;
-            // InternalReportDSL.g:36041:2: ( rule__MediaStyle__UnorderedGroup_3__13 )?
-            int alt291=2;
-            alt291 = dfa291.predict(input);
-            switch (alt291) {
+            // InternalReportDSL.g:35793:2: ( rule__MediaStyle__UnorderedGroup_3__13 )?
+            int alt274=2;
+            alt274 = dfa274.predict(input);
+            switch (alt274) {
                 case 1 :
                     // InternalReportDSL.g:0:0: rule__MediaStyle__UnorderedGroup_3__13
                     {
@@ -118349,24 +117375,24 @@
 
 
     // $ANTLR start "rule__MediaStyle__UnorderedGroup_3__13"
-    // InternalReportDSL.g:36047:1: rule__MediaStyle__UnorderedGroup_3__13 : rule__MediaStyle__UnorderedGroup_3__Impl ( rule__MediaStyle__UnorderedGroup_3__14 )? ;
+    // InternalReportDSL.g:35799:1: rule__MediaStyle__UnorderedGroup_3__13 : rule__MediaStyle__UnorderedGroup_3__Impl ( rule__MediaStyle__UnorderedGroup_3__14 )? ;
     public final void rule__MediaStyle__UnorderedGroup_3__13() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:36051:1: ( rule__MediaStyle__UnorderedGroup_3__Impl ( rule__MediaStyle__UnorderedGroup_3__14 )? )
-            // InternalReportDSL.g:36052:2: rule__MediaStyle__UnorderedGroup_3__Impl ( rule__MediaStyle__UnorderedGroup_3__14 )?
+            // InternalReportDSL.g:35803:1: ( rule__MediaStyle__UnorderedGroup_3__Impl ( rule__MediaStyle__UnorderedGroup_3__14 )? )
+            // InternalReportDSL.g:35804:2: rule__MediaStyle__UnorderedGroup_3__Impl ( rule__MediaStyle__UnorderedGroup_3__14 )?
             {
-            pushFollow(FOLLOW_223);
+            pushFollow(FOLLOW_221);
             rule__MediaStyle__UnorderedGroup_3__Impl();
 
             state._fsp--;
             if (state.failed) return ;
-            // InternalReportDSL.g:36053:2: ( rule__MediaStyle__UnorderedGroup_3__14 )?
-            int alt292=2;
-            alt292 = dfa292.predict(input);
-            switch (alt292) {
+            // InternalReportDSL.g:35805:2: ( rule__MediaStyle__UnorderedGroup_3__14 )?
+            int alt275=2;
+            alt275 = dfa275.predict(input);
+            switch (alt275) {
                 case 1 :
                     // InternalReportDSL.g:0:0: rule__MediaStyle__UnorderedGroup_3__14
                     {
@@ -118400,24 +117426,24 @@
 
 
     // $ANTLR start "rule__MediaStyle__UnorderedGroup_3__14"
-    // InternalReportDSL.g:36059:1: rule__MediaStyle__UnorderedGroup_3__14 : rule__MediaStyle__UnorderedGroup_3__Impl ( rule__MediaStyle__UnorderedGroup_3__15 )? ;
+    // InternalReportDSL.g:35811:1: rule__MediaStyle__UnorderedGroup_3__14 : rule__MediaStyle__UnorderedGroup_3__Impl ( rule__MediaStyle__UnorderedGroup_3__15 )? ;
     public final void rule__MediaStyle__UnorderedGroup_3__14() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:36063:1: ( rule__MediaStyle__UnorderedGroup_3__Impl ( rule__MediaStyle__UnorderedGroup_3__15 )? )
-            // InternalReportDSL.g:36064:2: rule__MediaStyle__UnorderedGroup_3__Impl ( rule__MediaStyle__UnorderedGroup_3__15 )?
+            // InternalReportDSL.g:35815:1: ( rule__MediaStyle__UnorderedGroup_3__Impl ( rule__MediaStyle__UnorderedGroup_3__15 )? )
+            // InternalReportDSL.g:35816:2: rule__MediaStyle__UnorderedGroup_3__Impl ( rule__MediaStyle__UnorderedGroup_3__15 )?
             {
-            pushFollow(FOLLOW_223);
+            pushFollow(FOLLOW_221);
             rule__MediaStyle__UnorderedGroup_3__Impl();
 
             state._fsp--;
             if (state.failed) return ;
-            // InternalReportDSL.g:36065:2: ( rule__MediaStyle__UnorderedGroup_3__15 )?
-            int alt293=2;
-            alt293 = dfa293.predict(input);
-            switch (alt293) {
+            // InternalReportDSL.g:35817:2: ( rule__MediaStyle__UnorderedGroup_3__15 )?
+            int alt276=2;
+            alt276 = dfa276.predict(input);
+            switch (alt276) {
                 case 1 :
                     // InternalReportDSL.g:0:0: rule__MediaStyle__UnorderedGroup_3__15
                     {
@@ -118451,24 +117477,24 @@
 
 
     // $ANTLR start "rule__MediaStyle__UnorderedGroup_3__15"
-    // InternalReportDSL.g:36071:1: rule__MediaStyle__UnorderedGroup_3__15 : rule__MediaStyle__UnorderedGroup_3__Impl ( rule__MediaStyle__UnorderedGroup_3__16 )? ;
+    // InternalReportDSL.g:35823:1: rule__MediaStyle__UnorderedGroup_3__15 : rule__MediaStyle__UnorderedGroup_3__Impl ( rule__MediaStyle__UnorderedGroup_3__16 )? ;
     public final void rule__MediaStyle__UnorderedGroup_3__15() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:36075:1: ( rule__MediaStyle__UnorderedGroup_3__Impl ( rule__MediaStyle__UnorderedGroup_3__16 )? )
-            // InternalReportDSL.g:36076:2: rule__MediaStyle__UnorderedGroup_3__Impl ( rule__MediaStyle__UnorderedGroup_3__16 )?
+            // InternalReportDSL.g:35827:1: ( rule__MediaStyle__UnorderedGroup_3__Impl ( rule__MediaStyle__UnorderedGroup_3__16 )? )
+            // InternalReportDSL.g:35828:2: rule__MediaStyle__UnorderedGroup_3__Impl ( rule__MediaStyle__UnorderedGroup_3__16 )?
             {
-            pushFollow(FOLLOW_223);
+            pushFollow(FOLLOW_221);
             rule__MediaStyle__UnorderedGroup_3__Impl();
 
             state._fsp--;
             if (state.failed) return ;
-            // InternalReportDSL.g:36077:2: ( rule__MediaStyle__UnorderedGroup_3__16 )?
-            int alt294=2;
-            alt294 = dfa294.predict(input);
-            switch (alt294) {
+            // InternalReportDSL.g:35829:2: ( rule__MediaStyle__UnorderedGroup_3__16 )?
+            int alt277=2;
+            alt277 = dfa277.predict(input);
+            switch (alt277) {
                 case 1 :
                     // InternalReportDSL.g:0:0: rule__MediaStyle__UnorderedGroup_3__16
                     {
@@ -118502,14 +117528,65 @@
 
 
     // $ANTLR start "rule__MediaStyle__UnorderedGroup_3__16"
-    // InternalReportDSL.g:36083:1: rule__MediaStyle__UnorderedGroup_3__16 : rule__MediaStyle__UnorderedGroup_3__Impl ;
+    // InternalReportDSL.g:35835:1: rule__MediaStyle__UnorderedGroup_3__16 : rule__MediaStyle__UnorderedGroup_3__Impl ( rule__MediaStyle__UnorderedGroup_3__17 )? ;
     public final void rule__MediaStyle__UnorderedGroup_3__16() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:36087:1: ( rule__MediaStyle__UnorderedGroup_3__Impl )
-            // InternalReportDSL.g:36088:2: rule__MediaStyle__UnorderedGroup_3__Impl
+            // InternalReportDSL.g:35839:1: ( rule__MediaStyle__UnorderedGroup_3__Impl ( rule__MediaStyle__UnorderedGroup_3__17 )? )
+            // InternalReportDSL.g:35840:2: rule__MediaStyle__UnorderedGroup_3__Impl ( rule__MediaStyle__UnorderedGroup_3__17 )?
+            {
+            pushFollow(FOLLOW_221);
+            rule__MediaStyle__UnorderedGroup_3__Impl();
+
+            state._fsp--;
+            if (state.failed) return ;
+            // InternalReportDSL.g:35841:2: ( rule__MediaStyle__UnorderedGroup_3__17 )?
+            int alt278=2;
+            alt278 = dfa278.predict(input);
+            switch (alt278) {
+                case 1 :
+                    // InternalReportDSL.g:0:0: rule__MediaStyle__UnorderedGroup_3__17
+                    {
+                    pushFollow(FOLLOW_2);
+                    rule__MediaStyle__UnorderedGroup_3__17();
+
+                    state._fsp--;
+                    if (state.failed) return ;
+
+                    }
+                    break;
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__MediaStyle__UnorderedGroup_3__16"
+
+
+    // $ANTLR start "rule__MediaStyle__UnorderedGroup_3__17"
+    // InternalReportDSL.g:35847:1: rule__MediaStyle__UnorderedGroup_3__17 : rule__MediaStyle__UnorderedGroup_3__Impl ;
+    public final void rule__MediaStyle__UnorderedGroup_3__17() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+        	
+        try {
+            // InternalReportDSL.g:35851:1: ( rule__MediaStyle__UnorderedGroup_3__Impl )
+            // InternalReportDSL.g:35852:2: rule__MediaStyle__UnorderedGroup_3__Impl
             {
             pushFollow(FOLLOW_2);
             rule__MediaStyle__UnorderedGroup_3__Impl();
@@ -118531,37 +117608,2672 @@
         }
         return ;
     }
-    // $ANTLR end "rule__MediaStyle__UnorderedGroup_3__16"
+    // $ANTLR end "rule__MediaStyle__UnorderedGroup_3__17"
+
+
+    // $ANTLR start "rule__Grid__UnorderedGroup_3"
+    // InternalReportDSL.g:35859:1: rule__Grid__UnorderedGroup_3 : ( rule__Grid__UnorderedGroup_3__0 )? ;
+    public final void rule__Grid__UnorderedGroup_3() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+        		getUnorderedGroupHelper().enter(grammarAccess.getGridAccess().getUnorderedGroup_3());
+        	
+        try {
+            // InternalReportDSL.g:35864:1: ( ( rule__Grid__UnorderedGroup_3__0 )? )
+            // InternalReportDSL.g:35865:2: ( rule__Grid__UnorderedGroup_3__0 )?
+            {
+            // InternalReportDSL.g:35865:2: ( rule__Grid__UnorderedGroup_3__0 )?
+            int alt279=2;
+            int LA279_0 = input.LA(1);
+
+            if ( LA279_0 == 158 && getUnorderedGroupHelper().canSelect(grammarAccess.getGridAccess().getUnorderedGroup_3(), 0) ) {
+                alt279=1;
+            }
+            else if ( LA279_0 == 197 && getUnorderedGroupHelper().canSelect(grammarAccess.getGridAccess().getUnorderedGroup_3(), 1) ) {
+                alt279=1;
+            }
+            else if ( LA279_0 == 265 && getUnorderedGroupHelper().canSelect(grammarAccess.getGridAccess().getUnorderedGroup_3(), 2) ) {
+                alt279=1;
+            }
+            switch (alt279) {
+                case 1 :
+                    // InternalReportDSL.g:0:0: rule__Grid__UnorderedGroup_3__0
+                    {
+                    pushFollow(FOLLOW_2);
+                    rule__Grid__UnorderedGroup_3__0();
+
+                    state._fsp--;
+                    if (state.failed) return ;
+
+                    }
+                    break;
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	getUnorderedGroupHelper().leave(grammarAccess.getGridAccess().getUnorderedGroup_3());
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__Grid__UnorderedGroup_3"
+
+
+    // $ANTLR start "rule__Grid__UnorderedGroup_3__Impl"
+    // InternalReportDSL.g:35873:1: rule__Grid__UnorderedGroup_3__Impl : ( ({...}? => ( ( ( rule__Grid__Group_3_0__0 ) ) ) ) | ({...}? => ( ( ( rule__Grid__Group_3_1__0 ) ) ) ) | ({...}? => ( ( ( rule__Grid__VisibilityItemAssignment_3_2 ) ) ) ) ) ;
+    public final void rule__Grid__UnorderedGroup_3__Impl() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+        		boolean selected = false;
+        	
+        try {
+            // InternalReportDSL.g:35878:1: ( ( ({...}? => ( ( ( rule__Grid__Group_3_0__0 ) ) ) ) | ({...}? => ( ( ( rule__Grid__Group_3_1__0 ) ) ) ) | ({...}? => ( ( ( rule__Grid__VisibilityItemAssignment_3_2 ) ) ) ) ) )
+            // InternalReportDSL.g:35879:3: ( ({...}? => ( ( ( rule__Grid__Group_3_0__0 ) ) ) ) | ({...}? => ( ( ( rule__Grid__Group_3_1__0 ) ) ) ) | ({...}? => ( ( ( rule__Grid__VisibilityItemAssignment_3_2 ) ) ) ) )
+            {
+            // InternalReportDSL.g:35879:3: ( ({...}? => ( ( ( rule__Grid__Group_3_0__0 ) ) ) ) | ({...}? => ( ( ( rule__Grid__Group_3_1__0 ) ) ) ) | ({...}? => ( ( ( rule__Grid__VisibilityItemAssignment_3_2 ) ) ) ) )
+            int alt280=3;
+            int LA280_0 = input.LA(1);
+
+            if ( LA280_0 == 158 && getUnorderedGroupHelper().canSelect(grammarAccess.getGridAccess().getUnorderedGroup_3(), 0) ) {
+                alt280=1;
+            }
+            else if ( LA280_0 == 197 && getUnorderedGroupHelper().canSelect(grammarAccess.getGridAccess().getUnorderedGroup_3(), 1) ) {
+                alt280=2;
+            }
+            else if ( LA280_0 == 265 && getUnorderedGroupHelper().canSelect(grammarAccess.getGridAccess().getUnorderedGroup_3(), 2) ) {
+                alt280=3;
+            }
+            else {
+                if (state.backtracking>0) {state.failed=true; return ;}
+                NoViableAltException nvae =
+                    new NoViableAltException("", 280, 0, input);
+
+                throw nvae;
+            }
+            switch (alt280) {
+                case 1 :
+                    // InternalReportDSL.g:35880:3: ({...}? => ( ( ( rule__Grid__Group_3_0__0 ) ) ) )
+                    {
+                    // InternalReportDSL.g:35880:3: ({...}? => ( ( ( rule__Grid__Group_3_0__0 ) ) ) )
+                    // InternalReportDSL.g:35881:4: {...}? => ( ( ( rule__Grid__Group_3_0__0 ) ) )
+                    {
+                    if ( ! getUnorderedGroupHelper().canSelect(grammarAccess.getGridAccess().getUnorderedGroup_3(), 0) ) {
+                        if (state.backtracking>0) {state.failed=true; return ;}
+                        throw new FailedPredicateException(input, "rule__Grid__UnorderedGroup_3__Impl", "getUnorderedGroupHelper().canSelect(grammarAccess.getGridAccess().getUnorderedGroup_3(), 0)");
+                    }
+                    // InternalReportDSL.g:35881:100: ( ( ( rule__Grid__Group_3_0__0 ) ) )
+                    // InternalReportDSL.g:35882:5: ( ( rule__Grid__Group_3_0__0 ) )
+                    {
+                    getUnorderedGroupHelper().select(grammarAccess.getGridAccess().getUnorderedGroup_3(), 0);
+                    selected = true;
+                    // InternalReportDSL.g:35888:5: ( ( rule__Grid__Group_3_0__0 ) )
+                    // InternalReportDSL.g:35889:6: ( rule__Grid__Group_3_0__0 )
+                    {
+                    if ( state.backtracking==0 ) {
+                       before(grammarAccess.getGridAccess().getGroup_3_0()); 
+                    }
+                    // InternalReportDSL.g:35890:6: ( rule__Grid__Group_3_0__0 )
+                    // InternalReportDSL.g:35890:7: rule__Grid__Group_3_0__0
+                    {
+                    pushFollow(FOLLOW_2);
+                    rule__Grid__Group_3_0__0();
+
+                    state._fsp--;
+                    if (state.failed) return ;
+
+                    }
+
+                    if ( state.backtracking==0 ) {
+                       after(grammarAccess.getGridAccess().getGroup_3_0()); 
+                    }
+
+                    }
+
+
+                    }
+
+
+                    }
+
+
+                    }
+                    break;
+                case 2 :
+                    // InternalReportDSL.g:35895:3: ({...}? => ( ( ( rule__Grid__Group_3_1__0 ) ) ) )
+                    {
+                    // InternalReportDSL.g:35895:3: ({...}? => ( ( ( rule__Grid__Group_3_1__0 ) ) ) )
+                    // InternalReportDSL.g:35896:4: {...}? => ( ( ( rule__Grid__Group_3_1__0 ) ) )
+                    {
+                    if ( ! getUnorderedGroupHelper().canSelect(grammarAccess.getGridAccess().getUnorderedGroup_3(), 1) ) {
+                        if (state.backtracking>0) {state.failed=true; return ;}
+                        throw new FailedPredicateException(input, "rule__Grid__UnorderedGroup_3__Impl", "getUnorderedGroupHelper().canSelect(grammarAccess.getGridAccess().getUnorderedGroup_3(), 1)");
+                    }
+                    // InternalReportDSL.g:35896:100: ( ( ( rule__Grid__Group_3_1__0 ) ) )
+                    // InternalReportDSL.g:35897:5: ( ( rule__Grid__Group_3_1__0 ) )
+                    {
+                    getUnorderedGroupHelper().select(grammarAccess.getGridAccess().getUnorderedGroup_3(), 1);
+                    selected = true;
+                    // InternalReportDSL.g:35903:5: ( ( rule__Grid__Group_3_1__0 ) )
+                    // InternalReportDSL.g:35904:6: ( rule__Grid__Group_3_1__0 )
+                    {
+                    if ( state.backtracking==0 ) {
+                       before(grammarAccess.getGridAccess().getGroup_3_1()); 
+                    }
+                    // InternalReportDSL.g:35905:6: ( rule__Grid__Group_3_1__0 )
+                    // InternalReportDSL.g:35905:7: rule__Grid__Group_3_1__0
+                    {
+                    pushFollow(FOLLOW_2);
+                    rule__Grid__Group_3_1__0();
+
+                    state._fsp--;
+                    if (state.failed) return ;
+
+                    }
+
+                    if ( state.backtracking==0 ) {
+                       after(grammarAccess.getGridAccess().getGroup_3_1()); 
+                    }
+
+                    }
+
+
+                    }
+
+
+                    }
+
+
+                    }
+                    break;
+                case 3 :
+                    // InternalReportDSL.g:35910:3: ({...}? => ( ( ( rule__Grid__VisibilityItemAssignment_3_2 ) ) ) )
+                    {
+                    // InternalReportDSL.g:35910:3: ({...}? => ( ( ( rule__Grid__VisibilityItemAssignment_3_2 ) ) ) )
+                    // InternalReportDSL.g:35911:4: {...}? => ( ( ( rule__Grid__VisibilityItemAssignment_3_2 ) ) )
+                    {
+                    if ( ! getUnorderedGroupHelper().canSelect(grammarAccess.getGridAccess().getUnorderedGroup_3(), 2) ) {
+                        if (state.backtracking>0) {state.failed=true; return ;}
+                        throw new FailedPredicateException(input, "rule__Grid__UnorderedGroup_3__Impl", "getUnorderedGroupHelper().canSelect(grammarAccess.getGridAccess().getUnorderedGroup_3(), 2)");
+                    }
+                    // InternalReportDSL.g:35911:100: ( ( ( rule__Grid__VisibilityItemAssignment_3_2 ) ) )
+                    // InternalReportDSL.g:35912:5: ( ( rule__Grid__VisibilityItemAssignment_3_2 ) )
+                    {
+                    getUnorderedGroupHelper().select(grammarAccess.getGridAccess().getUnorderedGroup_3(), 2);
+                    selected = true;
+                    // InternalReportDSL.g:35918:5: ( ( rule__Grid__VisibilityItemAssignment_3_2 ) )
+                    // InternalReportDSL.g:35919:6: ( rule__Grid__VisibilityItemAssignment_3_2 )
+                    {
+                    if ( state.backtracking==0 ) {
+                       before(grammarAccess.getGridAccess().getVisibilityItemAssignment_3_2()); 
+                    }
+                    // InternalReportDSL.g:35920:6: ( rule__Grid__VisibilityItemAssignment_3_2 )
+                    // InternalReportDSL.g:35920:7: rule__Grid__VisibilityItemAssignment_3_2
+                    {
+                    pushFollow(FOLLOW_2);
+                    rule__Grid__VisibilityItemAssignment_3_2();
+
+                    state._fsp--;
+                    if (state.failed) return ;
+
+                    }
+
+                    if ( state.backtracking==0 ) {
+                       after(grammarAccess.getGridAccess().getVisibilityItemAssignment_3_2()); 
+                    }
+
+                    }
+
+
+                    }
+
+
+                    }
+
+
+                    }
+                    break;
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	if (selected)
+            		getUnorderedGroupHelper().returnFromSelection(grammarAccess.getGridAccess().getUnorderedGroup_3());
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__Grid__UnorderedGroup_3__Impl"
+
+
+    // $ANTLR start "rule__Grid__UnorderedGroup_3__0"
+    // InternalReportDSL.g:35933:1: rule__Grid__UnorderedGroup_3__0 : rule__Grid__UnorderedGroup_3__Impl ( rule__Grid__UnorderedGroup_3__1 )? ;
+    public final void rule__Grid__UnorderedGroup_3__0() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+        	
+        try {
+            // InternalReportDSL.g:35937:1: ( rule__Grid__UnorderedGroup_3__Impl ( rule__Grid__UnorderedGroup_3__1 )? )
+            // InternalReportDSL.g:35938:2: rule__Grid__UnorderedGroup_3__Impl ( rule__Grid__UnorderedGroup_3__1 )?
+            {
+            pushFollow(FOLLOW_222);
+            rule__Grid__UnorderedGroup_3__Impl();
+
+            state._fsp--;
+            if (state.failed) return ;
+            // InternalReportDSL.g:35939:2: ( rule__Grid__UnorderedGroup_3__1 )?
+            int alt281=2;
+            int LA281_0 = input.LA(1);
+
+            if ( LA281_0 == 158 && getUnorderedGroupHelper().canSelect(grammarAccess.getGridAccess().getUnorderedGroup_3(), 0) ) {
+                alt281=1;
+            }
+            else if ( LA281_0 == 197 && getUnorderedGroupHelper().canSelect(grammarAccess.getGridAccess().getUnorderedGroup_3(), 1) ) {
+                alt281=1;
+            }
+            else if ( LA281_0 == 265 && getUnorderedGroupHelper().canSelect(grammarAccess.getGridAccess().getUnorderedGroup_3(), 2) ) {
+                alt281=1;
+            }
+            switch (alt281) {
+                case 1 :
+                    // InternalReportDSL.g:0:0: rule__Grid__UnorderedGroup_3__1
+                    {
+                    pushFollow(FOLLOW_2);
+                    rule__Grid__UnorderedGroup_3__1();
+
+                    state._fsp--;
+                    if (state.failed) return ;
+
+                    }
+                    break;
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__Grid__UnorderedGroup_3__0"
+
+
+    // $ANTLR start "rule__Grid__UnorderedGroup_3__1"
+    // InternalReportDSL.g:35945:1: rule__Grid__UnorderedGroup_3__1 : rule__Grid__UnorderedGroup_3__Impl ( rule__Grid__UnorderedGroup_3__2 )? ;
+    public final void rule__Grid__UnorderedGroup_3__1() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+        	
+        try {
+            // InternalReportDSL.g:35949:1: ( rule__Grid__UnorderedGroup_3__Impl ( rule__Grid__UnorderedGroup_3__2 )? )
+            // InternalReportDSL.g:35950:2: rule__Grid__UnorderedGroup_3__Impl ( rule__Grid__UnorderedGroup_3__2 )?
+            {
+            pushFollow(FOLLOW_222);
+            rule__Grid__UnorderedGroup_3__Impl();
+
+            state._fsp--;
+            if (state.failed) return ;
+            // InternalReportDSL.g:35951:2: ( rule__Grid__UnorderedGroup_3__2 )?
+            int alt282=2;
+            int LA282_0 = input.LA(1);
+
+            if ( LA282_0 == 158 && getUnorderedGroupHelper().canSelect(grammarAccess.getGridAccess().getUnorderedGroup_3(), 0) ) {
+                alt282=1;
+            }
+            else if ( LA282_0 == 197 && getUnorderedGroupHelper().canSelect(grammarAccess.getGridAccess().getUnorderedGroup_3(), 1) ) {
+                alt282=1;
+            }
+            else if ( LA282_0 == 265 && getUnorderedGroupHelper().canSelect(grammarAccess.getGridAccess().getUnorderedGroup_3(), 2) ) {
+                alt282=1;
+            }
+            switch (alt282) {
+                case 1 :
+                    // InternalReportDSL.g:0:0: rule__Grid__UnorderedGroup_3__2
+                    {
+                    pushFollow(FOLLOW_2);
+                    rule__Grid__UnorderedGroup_3__2();
+
+                    state._fsp--;
+                    if (state.failed) return ;
+
+                    }
+                    break;
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__Grid__UnorderedGroup_3__1"
+
+
+    // $ANTLR start "rule__Grid__UnorderedGroup_3__2"
+    // InternalReportDSL.g:35957:1: rule__Grid__UnorderedGroup_3__2 : rule__Grid__UnorderedGroup_3__Impl ;
+    public final void rule__Grid__UnorderedGroup_3__2() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+        	
+        try {
+            // InternalReportDSL.g:35961:1: ( rule__Grid__UnorderedGroup_3__Impl )
+            // InternalReportDSL.g:35962:2: rule__Grid__UnorderedGroup_3__Impl
+            {
+            pushFollow(FOLLOW_2);
+            rule__Grid__UnorderedGroup_3__Impl();
+
+            state._fsp--;
+            if (state.failed) return ;
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__Grid__UnorderedGroup_3__2"
+
+
+    // $ANTLR start "rule__GridRow__UnorderedGroup_3"
+    // InternalReportDSL.g:35969:1: rule__GridRow__UnorderedGroup_3 : ( rule__GridRow__UnorderedGroup_3__0 )? ;
+    public final void rule__GridRow__UnorderedGroup_3() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+        		getUnorderedGroupHelper().enter(grammarAccess.getGridRowAccess().getUnorderedGroup_3());
+        	
+        try {
+            // InternalReportDSL.g:35974:1: ( ( rule__GridRow__UnorderedGroup_3__0 )? )
+            // InternalReportDSL.g:35975:2: ( rule__GridRow__UnorderedGroup_3__0 )?
+            {
+            // InternalReportDSL.g:35975:2: ( rule__GridRow__UnorderedGroup_3__0 )?
+            int alt283=2;
+            int LA283_0 = input.LA(1);
+
+            if ( LA283_0 == 158 && getUnorderedGroupHelper().canSelect(grammarAccess.getGridRowAccess().getUnorderedGroup_3(), 0) ) {
+                alt283=1;
+            }
+            else if ( LA283_0 == 192 && getUnorderedGroupHelper().canSelect(grammarAccess.getGridRowAccess().getUnorderedGroup_3(), 1) ) {
+                alt283=1;
+            }
+            else if ( LA283_0 == 265 && getUnorderedGroupHelper().canSelect(grammarAccess.getGridRowAccess().getUnorderedGroup_3(), 2) ) {
+                alt283=1;
+            }
+            switch (alt283) {
+                case 1 :
+                    // InternalReportDSL.g:0:0: rule__GridRow__UnorderedGroup_3__0
+                    {
+                    pushFollow(FOLLOW_2);
+                    rule__GridRow__UnorderedGroup_3__0();
+
+                    state._fsp--;
+                    if (state.failed) return ;
+
+                    }
+                    break;
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	getUnorderedGroupHelper().leave(grammarAccess.getGridRowAccess().getUnorderedGroup_3());
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__GridRow__UnorderedGroup_3"
+
+
+    // $ANTLR start "rule__GridRow__UnorderedGroup_3__Impl"
+    // InternalReportDSL.g:35983:1: rule__GridRow__UnorderedGroup_3__Impl : ( ({...}? => ( ( ( rule__GridRow__Group_3_0__0 ) ) ) ) | ({...}? => ( ( ( rule__GridRow__Group_3_1__0 ) ) ) ) | ({...}? => ( ( ( rule__GridRow__VisibilityItemAssignment_3_2 ) ) ) ) ) ;
+    public final void rule__GridRow__UnorderedGroup_3__Impl() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+        		boolean selected = false;
+        	
+        try {
+            // InternalReportDSL.g:35988:1: ( ( ({...}? => ( ( ( rule__GridRow__Group_3_0__0 ) ) ) ) | ({...}? => ( ( ( rule__GridRow__Group_3_1__0 ) ) ) ) | ({...}? => ( ( ( rule__GridRow__VisibilityItemAssignment_3_2 ) ) ) ) ) )
+            // InternalReportDSL.g:35989:3: ( ({...}? => ( ( ( rule__GridRow__Group_3_0__0 ) ) ) ) | ({...}? => ( ( ( rule__GridRow__Group_3_1__0 ) ) ) ) | ({...}? => ( ( ( rule__GridRow__VisibilityItemAssignment_3_2 ) ) ) ) )
+            {
+            // InternalReportDSL.g:35989:3: ( ({...}? => ( ( ( rule__GridRow__Group_3_0__0 ) ) ) ) | ({...}? => ( ( ( rule__GridRow__Group_3_1__0 ) ) ) ) | ({...}? => ( ( ( rule__GridRow__VisibilityItemAssignment_3_2 ) ) ) ) )
+            int alt284=3;
+            int LA284_0 = input.LA(1);
+
+            if ( LA284_0 == 158 && getUnorderedGroupHelper().canSelect(grammarAccess.getGridRowAccess().getUnorderedGroup_3(), 0) ) {
+                alt284=1;
+            }
+            else if ( LA284_0 == 192 && getUnorderedGroupHelper().canSelect(grammarAccess.getGridRowAccess().getUnorderedGroup_3(), 1) ) {
+                alt284=2;
+            }
+            else if ( LA284_0 == 265 && getUnorderedGroupHelper().canSelect(grammarAccess.getGridRowAccess().getUnorderedGroup_3(), 2) ) {
+                alt284=3;
+            }
+            else {
+                if (state.backtracking>0) {state.failed=true; return ;}
+                NoViableAltException nvae =
+                    new NoViableAltException("", 284, 0, input);
+
+                throw nvae;
+            }
+            switch (alt284) {
+                case 1 :
+                    // InternalReportDSL.g:35990:3: ({...}? => ( ( ( rule__GridRow__Group_3_0__0 ) ) ) )
+                    {
+                    // InternalReportDSL.g:35990:3: ({...}? => ( ( ( rule__GridRow__Group_3_0__0 ) ) ) )
+                    // InternalReportDSL.g:35991:4: {...}? => ( ( ( rule__GridRow__Group_3_0__0 ) ) )
+                    {
+                    if ( ! getUnorderedGroupHelper().canSelect(grammarAccess.getGridRowAccess().getUnorderedGroup_3(), 0) ) {
+                        if (state.backtracking>0) {state.failed=true; return ;}
+                        throw new FailedPredicateException(input, "rule__GridRow__UnorderedGroup_3__Impl", "getUnorderedGroupHelper().canSelect(grammarAccess.getGridRowAccess().getUnorderedGroup_3(), 0)");
+                    }
+                    // InternalReportDSL.g:35991:103: ( ( ( rule__GridRow__Group_3_0__0 ) ) )
+                    // InternalReportDSL.g:35992:5: ( ( rule__GridRow__Group_3_0__0 ) )
+                    {
+                    getUnorderedGroupHelper().select(grammarAccess.getGridRowAccess().getUnorderedGroup_3(), 0);
+                    selected = true;
+                    // InternalReportDSL.g:35998:5: ( ( rule__GridRow__Group_3_0__0 ) )
+                    // InternalReportDSL.g:35999:6: ( rule__GridRow__Group_3_0__0 )
+                    {
+                    if ( state.backtracking==0 ) {
+                       before(grammarAccess.getGridRowAccess().getGroup_3_0()); 
+                    }
+                    // InternalReportDSL.g:36000:6: ( rule__GridRow__Group_3_0__0 )
+                    // InternalReportDSL.g:36000:7: rule__GridRow__Group_3_0__0
+                    {
+                    pushFollow(FOLLOW_2);
+                    rule__GridRow__Group_3_0__0();
+
+                    state._fsp--;
+                    if (state.failed) return ;
+
+                    }
+
+                    if ( state.backtracking==0 ) {
+                       after(grammarAccess.getGridRowAccess().getGroup_3_0()); 
+                    }
+
+                    }
+
+
+                    }
+
+
+                    }
+
+
+                    }
+                    break;
+                case 2 :
+                    // InternalReportDSL.g:36005:3: ({...}? => ( ( ( rule__GridRow__Group_3_1__0 ) ) ) )
+                    {
+                    // InternalReportDSL.g:36005:3: ({...}? => ( ( ( rule__GridRow__Group_3_1__0 ) ) ) )
+                    // InternalReportDSL.g:36006:4: {...}? => ( ( ( rule__GridRow__Group_3_1__0 ) ) )
+                    {
+                    if ( ! getUnorderedGroupHelper().canSelect(grammarAccess.getGridRowAccess().getUnorderedGroup_3(), 1) ) {
+                        if (state.backtracking>0) {state.failed=true; return ;}
+                        throw new FailedPredicateException(input, "rule__GridRow__UnorderedGroup_3__Impl", "getUnorderedGroupHelper().canSelect(grammarAccess.getGridRowAccess().getUnorderedGroup_3(), 1)");
+                    }
+                    // InternalReportDSL.g:36006:103: ( ( ( rule__GridRow__Group_3_1__0 ) ) )
+                    // InternalReportDSL.g:36007:5: ( ( rule__GridRow__Group_3_1__0 ) )
+                    {
+                    getUnorderedGroupHelper().select(grammarAccess.getGridRowAccess().getUnorderedGroup_3(), 1);
+                    selected = true;
+                    // InternalReportDSL.g:36013:5: ( ( rule__GridRow__Group_3_1__0 ) )
+                    // InternalReportDSL.g:36014:6: ( rule__GridRow__Group_3_1__0 )
+                    {
+                    if ( state.backtracking==0 ) {
+                       before(grammarAccess.getGridRowAccess().getGroup_3_1()); 
+                    }
+                    // InternalReportDSL.g:36015:6: ( rule__GridRow__Group_3_1__0 )
+                    // InternalReportDSL.g:36015:7: rule__GridRow__Group_3_1__0
+                    {
+                    pushFollow(FOLLOW_2);
+                    rule__GridRow__Group_3_1__0();
+
+                    state._fsp--;
+                    if (state.failed) return ;
+
+                    }
+
+                    if ( state.backtracking==0 ) {
+                       after(grammarAccess.getGridRowAccess().getGroup_3_1()); 
+                    }
+
+                    }
+
+
+                    }
+
+
+                    }
+
+
+                    }
+                    break;
+                case 3 :
+                    // InternalReportDSL.g:36020:3: ({...}? => ( ( ( rule__GridRow__VisibilityItemAssignment_3_2 ) ) ) )
+                    {
+                    // InternalReportDSL.g:36020:3: ({...}? => ( ( ( rule__GridRow__VisibilityItemAssignment_3_2 ) ) ) )
+                    // InternalReportDSL.g:36021:4: {...}? => ( ( ( rule__GridRow__VisibilityItemAssignment_3_2 ) ) )
+                    {
+                    if ( ! getUnorderedGroupHelper().canSelect(grammarAccess.getGridRowAccess().getUnorderedGroup_3(), 2) ) {
+                        if (state.backtracking>0) {state.failed=true; return ;}
+                        throw new FailedPredicateException(input, "rule__GridRow__UnorderedGroup_3__Impl", "getUnorderedGroupHelper().canSelect(grammarAccess.getGridRowAccess().getUnorderedGroup_3(), 2)");
+                    }
+                    // InternalReportDSL.g:36021:103: ( ( ( rule__GridRow__VisibilityItemAssignment_3_2 ) ) )
+                    // InternalReportDSL.g:36022:5: ( ( rule__GridRow__VisibilityItemAssignment_3_2 ) )
+                    {
+                    getUnorderedGroupHelper().select(grammarAccess.getGridRowAccess().getUnorderedGroup_3(), 2);
+                    selected = true;
+                    // InternalReportDSL.g:36028:5: ( ( rule__GridRow__VisibilityItemAssignment_3_2 ) )
+                    // InternalReportDSL.g:36029:6: ( rule__GridRow__VisibilityItemAssignment_3_2 )
+                    {
+                    if ( state.backtracking==0 ) {
+                       before(grammarAccess.getGridRowAccess().getVisibilityItemAssignment_3_2()); 
+                    }
+                    // InternalReportDSL.g:36030:6: ( rule__GridRow__VisibilityItemAssignment_3_2 )
+                    // InternalReportDSL.g:36030:7: rule__GridRow__VisibilityItemAssignment_3_2
+                    {
+                    pushFollow(FOLLOW_2);
+                    rule__GridRow__VisibilityItemAssignment_3_2();
+
+                    state._fsp--;
+                    if (state.failed) return ;
+
+                    }
+
+                    if ( state.backtracking==0 ) {
+                       after(grammarAccess.getGridRowAccess().getVisibilityItemAssignment_3_2()); 
+                    }
+
+                    }
+
+
+                    }
+
+
+                    }
+
+
+                    }
+                    break;
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	if (selected)
+            		getUnorderedGroupHelper().returnFromSelection(grammarAccess.getGridRowAccess().getUnorderedGroup_3());
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__GridRow__UnorderedGroup_3__Impl"
+
+
+    // $ANTLR start "rule__GridRow__UnorderedGroup_3__0"
+    // InternalReportDSL.g:36043:1: rule__GridRow__UnorderedGroup_3__0 : rule__GridRow__UnorderedGroup_3__Impl ( rule__GridRow__UnorderedGroup_3__1 )? ;
+    public final void rule__GridRow__UnorderedGroup_3__0() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+        	
+        try {
+            // InternalReportDSL.g:36047:1: ( rule__GridRow__UnorderedGroup_3__Impl ( rule__GridRow__UnorderedGroup_3__1 )? )
+            // InternalReportDSL.g:36048:2: rule__GridRow__UnorderedGroup_3__Impl ( rule__GridRow__UnorderedGroup_3__1 )?
+            {
+            pushFollow(FOLLOW_223);
+            rule__GridRow__UnorderedGroup_3__Impl();
+
+            state._fsp--;
+            if (state.failed) return ;
+            // InternalReportDSL.g:36049:2: ( rule__GridRow__UnorderedGroup_3__1 )?
+            int alt285=2;
+            int LA285_0 = input.LA(1);
+
+            if ( LA285_0 == 158 && getUnorderedGroupHelper().canSelect(grammarAccess.getGridRowAccess().getUnorderedGroup_3(), 0) ) {
+                alt285=1;
+            }
+            else if ( LA285_0 == 192 && getUnorderedGroupHelper().canSelect(grammarAccess.getGridRowAccess().getUnorderedGroup_3(), 1) ) {
+                alt285=1;
+            }
+            else if ( LA285_0 == 265 && getUnorderedGroupHelper().canSelect(grammarAccess.getGridRowAccess().getUnorderedGroup_3(), 2) ) {
+                alt285=1;
+            }
+            switch (alt285) {
+                case 1 :
+                    // InternalReportDSL.g:0:0: rule__GridRow__UnorderedGroup_3__1
+                    {
+                    pushFollow(FOLLOW_2);
+                    rule__GridRow__UnorderedGroup_3__1();
+
+                    state._fsp--;
+                    if (state.failed) return ;
+
+                    }
+                    break;
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__GridRow__UnorderedGroup_3__0"
+
+
+    // $ANTLR start "rule__GridRow__UnorderedGroup_3__1"
+    // InternalReportDSL.g:36055:1: rule__GridRow__UnorderedGroup_3__1 : rule__GridRow__UnorderedGroup_3__Impl ( rule__GridRow__UnorderedGroup_3__2 )? ;
+    public final void rule__GridRow__UnorderedGroup_3__1() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+        	
+        try {
+            // InternalReportDSL.g:36059:1: ( rule__GridRow__UnorderedGroup_3__Impl ( rule__GridRow__UnorderedGroup_3__2 )? )
+            // InternalReportDSL.g:36060:2: rule__GridRow__UnorderedGroup_3__Impl ( rule__GridRow__UnorderedGroup_3__2 )?
+            {
+            pushFollow(FOLLOW_223);
+            rule__GridRow__UnorderedGroup_3__Impl();
+
+            state._fsp--;
+            if (state.failed) return ;
+            // InternalReportDSL.g:36061:2: ( rule__GridRow__UnorderedGroup_3__2 )?
+            int alt286=2;
+            int LA286_0 = input.LA(1);
+
+            if ( LA286_0 == 158 && getUnorderedGroupHelper().canSelect(grammarAccess.getGridRowAccess().getUnorderedGroup_3(), 0) ) {
+                alt286=1;
+            }
+            else if ( LA286_0 == 192 && getUnorderedGroupHelper().canSelect(grammarAccess.getGridRowAccess().getUnorderedGroup_3(), 1) ) {
+                alt286=1;
+            }
+            else if ( LA286_0 == 265 && getUnorderedGroupHelper().canSelect(grammarAccess.getGridRowAccess().getUnorderedGroup_3(), 2) ) {
+                alt286=1;
+            }
+            switch (alt286) {
+                case 1 :
+                    // InternalReportDSL.g:0:0: rule__GridRow__UnorderedGroup_3__2
+                    {
+                    pushFollow(FOLLOW_2);
+                    rule__GridRow__UnorderedGroup_3__2();
+
+                    state._fsp--;
+                    if (state.failed) return ;
+
+                    }
+                    break;
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__GridRow__UnorderedGroup_3__1"
+
+
+    // $ANTLR start "rule__GridRow__UnorderedGroup_3__2"
+    // InternalReportDSL.g:36067:1: rule__GridRow__UnorderedGroup_3__2 : rule__GridRow__UnorderedGroup_3__Impl ;
+    public final void rule__GridRow__UnorderedGroup_3__2() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+        	
+        try {
+            // InternalReportDSL.g:36071:1: ( rule__GridRow__UnorderedGroup_3__Impl )
+            // InternalReportDSL.g:36072:2: rule__GridRow__UnorderedGroup_3__Impl
+            {
+            pushFollow(FOLLOW_2);
+            rule__GridRow__UnorderedGroup_3__Impl();
+
+            state._fsp--;
+            if (state.failed) return ;
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__GridRow__UnorderedGroup_3__2"
+
+
+    // $ANTLR start "rule__GridCell__UnorderedGroup_3"
+    // InternalReportDSL.g:36079:1: rule__GridCell__UnorderedGroup_3 : ( rule__GridCell__UnorderedGroup_3__0 )? ;
+    public final void rule__GridCell__UnorderedGroup_3() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+        		getUnorderedGroupHelper().enter(grammarAccess.getGridCellAccess().getUnorderedGroup_3());
+        	
+        try {
+            // InternalReportDSL.g:36084:1: ( ( rule__GridCell__UnorderedGroup_3__0 )? )
+            // InternalReportDSL.g:36085:2: ( rule__GridCell__UnorderedGroup_3__0 )?
+            {
+            // InternalReportDSL.g:36085:2: ( rule__GridCell__UnorderedGroup_3__0 )?
+            int alt287=2;
+            int LA287_0 = input.LA(1);
+
+            if ( LA287_0 == 158 && getUnorderedGroupHelper().canSelect(grammarAccess.getGridCellAccess().getUnorderedGroup_3(), 0) ) {
+                alt287=1;
+            }
+            else if ( LA287_0 == 197 && getUnorderedGroupHelper().canSelect(grammarAccess.getGridCellAccess().getUnorderedGroup_3(), 1) ) {
+                alt287=1;
+            }
+            else if ( LA287_0 == 200 && getUnorderedGroupHelper().canSelect(grammarAccess.getGridCellAccess().getUnorderedGroup_3(), 2) ) {
+                alt287=1;
+            }
+            else if ( LA287_0 == 265 && getUnorderedGroupHelper().canSelect(grammarAccess.getGridCellAccess().getUnorderedGroup_3(), 3) ) {
+                alt287=1;
+            }
+            switch (alt287) {
+                case 1 :
+                    // InternalReportDSL.g:0:0: rule__GridCell__UnorderedGroup_3__0
+                    {
+                    pushFollow(FOLLOW_2);
+                    rule__GridCell__UnorderedGroup_3__0();
+
+                    state._fsp--;
+                    if (state.failed) return ;
+
+                    }
+                    break;
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	getUnorderedGroupHelper().leave(grammarAccess.getGridCellAccess().getUnorderedGroup_3());
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__GridCell__UnorderedGroup_3"
+
+
+    // $ANTLR start "rule__GridCell__UnorderedGroup_3__Impl"
+    // InternalReportDSL.g:36093:1: rule__GridCell__UnorderedGroup_3__Impl : ( ({...}? => ( ( ( rule__GridCell__Group_3_0__0 ) ) ) ) | ({...}? => ( ( ( rule__GridCell__Group_3_1__0 ) ) ) ) | ({...}? => ( ( ( rule__GridCell__Group_3_2__0 ) ) ) ) | ({...}? => ( ( ( rule__GridCell__VisibilityItemAssignment_3_3 ) ) ) ) ) ;
+    public final void rule__GridCell__UnorderedGroup_3__Impl() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+        		boolean selected = false;
+        	
+        try {
+            // InternalReportDSL.g:36098:1: ( ( ({...}? => ( ( ( rule__GridCell__Group_3_0__0 ) ) ) ) | ({...}? => ( ( ( rule__GridCell__Group_3_1__0 ) ) ) ) | ({...}? => ( ( ( rule__GridCell__Group_3_2__0 ) ) ) ) | ({...}? => ( ( ( rule__GridCell__VisibilityItemAssignment_3_3 ) ) ) ) ) )
+            // InternalReportDSL.g:36099:3: ( ({...}? => ( ( ( rule__GridCell__Group_3_0__0 ) ) ) ) | ({...}? => ( ( ( rule__GridCell__Group_3_1__0 ) ) ) ) | ({...}? => ( ( ( rule__GridCell__Group_3_2__0 ) ) ) ) | ({...}? => ( ( ( rule__GridCell__VisibilityItemAssignment_3_3 ) ) ) ) )
+            {
+            // InternalReportDSL.g:36099:3: ( ({...}? => ( ( ( rule__GridCell__Group_3_0__0 ) ) ) ) | ({...}? => ( ( ( rule__GridCell__Group_3_1__0 ) ) ) ) | ({...}? => ( ( ( rule__GridCell__Group_3_2__0 ) ) ) ) | ({...}? => ( ( ( rule__GridCell__VisibilityItemAssignment_3_3 ) ) ) ) )
+            int alt288=4;
+            int LA288_0 = input.LA(1);
+
+            if ( LA288_0 == 158 && getUnorderedGroupHelper().canSelect(grammarAccess.getGridCellAccess().getUnorderedGroup_3(), 0) ) {
+                alt288=1;
+            }
+            else if ( LA288_0 == 197 && getUnorderedGroupHelper().canSelect(grammarAccess.getGridCellAccess().getUnorderedGroup_3(), 1) ) {
+                alt288=2;
+            }
+            else if ( LA288_0 == 200 && getUnorderedGroupHelper().canSelect(grammarAccess.getGridCellAccess().getUnorderedGroup_3(), 2) ) {
+                alt288=3;
+            }
+            else if ( LA288_0 == 265 && getUnorderedGroupHelper().canSelect(grammarAccess.getGridCellAccess().getUnorderedGroup_3(), 3) ) {
+                alt288=4;
+            }
+            else {
+                if (state.backtracking>0) {state.failed=true; return ;}
+                NoViableAltException nvae =
+                    new NoViableAltException("", 288, 0, input);
+
+                throw nvae;
+            }
+            switch (alt288) {
+                case 1 :
+                    // InternalReportDSL.g:36100:3: ({...}? => ( ( ( rule__GridCell__Group_3_0__0 ) ) ) )
+                    {
+                    // InternalReportDSL.g:36100:3: ({...}? => ( ( ( rule__GridCell__Group_3_0__0 ) ) ) )
+                    // InternalReportDSL.g:36101:4: {...}? => ( ( ( rule__GridCell__Group_3_0__0 ) ) )
+                    {
+                    if ( ! getUnorderedGroupHelper().canSelect(grammarAccess.getGridCellAccess().getUnorderedGroup_3(), 0) ) {
+                        if (state.backtracking>0) {state.failed=true; return ;}
+                        throw new FailedPredicateException(input, "rule__GridCell__UnorderedGroup_3__Impl", "getUnorderedGroupHelper().canSelect(grammarAccess.getGridCellAccess().getUnorderedGroup_3(), 0)");
+                    }
+                    // InternalReportDSL.g:36101:104: ( ( ( rule__GridCell__Group_3_0__0 ) ) )
+                    // InternalReportDSL.g:36102:5: ( ( rule__GridCell__Group_3_0__0 ) )
+                    {
+                    getUnorderedGroupHelper().select(grammarAccess.getGridCellAccess().getUnorderedGroup_3(), 0);
+                    selected = true;
+                    // InternalReportDSL.g:36108:5: ( ( rule__GridCell__Group_3_0__0 ) )
+                    // InternalReportDSL.g:36109:6: ( rule__GridCell__Group_3_0__0 )
+                    {
+                    if ( state.backtracking==0 ) {
+                       before(grammarAccess.getGridCellAccess().getGroup_3_0()); 
+                    }
+                    // InternalReportDSL.g:36110:6: ( rule__GridCell__Group_3_0__0 )
+                    // InternalReportDSL.g:36110:7: rule__GridCell__Group_3_0__0
+                    {
+                    pushFollow(FOLLOW_2);
+                    rule__GridCell__Group_3_0__0();
+
+                    state._fsp--;
+                    if (state.failed) return ;
+
+                    }
+
+                    if ( state.backtracking==0 ) {
+                       after(grammarAccess.getGridCellAccess().getGroup_3_0()); 
+                    }
+
+                    }
+
+
+                    }
+
+
+                    }
+
+
+                    }
+                    break;
+                case 2 :
+                    // InternalReportDSL.g:36115:3: ({...}? => ( ( ( rule__GridCell__Group_3_1__0 ) ) ) )
+                    {
+                    // InternalReportDSL.g:36115:3: ({...}? => ( ( ( rule__GridCell__Group_3_1__0 ) ) ) )
+                    // InternalReportDSL.g:36116:4: {...}? => ( ( ( rule__GridCell__Group_3_1__0 ) ) )
+                    {
+                    if ( ! getUnorderedGroupHelper().canSelect(grammarAccess.getGridCellAccess().getUnorderedGroup_3(), 1) ) {
+                        if (state.backtracking>0) {state.failed=true; return ;}
+                        throw new FailedPredicateException(input, "rule__GridCell__UnorderedGroup_3__Impl", "getUnorderedGroupHelper().canSelect(grammarAccess.getGridCellAccess().getUnorderedGroup_3(), 1)");
+                    }
+                    // InternalReportDSL.g:36116:104: ( ( ( rule__GridCell__Group_3_1__0 ) ) )
+                    // InternalReportDSL.g:36117:5: ( ( rule__GridCell__Group_3_1__0 ) )
+                    {
+                    getUnorderedGroupHelper().select(grammarAccess.getGridCellAccess().getUnorderedGroup_3(), 1);
+                    selected = true;
+                    // InternalReportDSL.g:36123:5: ( ( rule__GridCell__Group_3_1__0 ) )
+                    // InternalReportDSL.g:36124:6: ( rule__GridCell__Group_3_1__0 )
+                    {
+                    if ( state.backtracking==0 ) {
+                       before(grammarAccess.getGridCellAccess().getGroup_3_1()); 
+                    }
+                    // InternalReportDSL.g:36125:6: ( rule__GridCell__Group_3_1__0 )
+                    // InternalReportDSL.g:36125:7: rule__GridCell__Group_3_1__0
+                    {
+                    pushFollow(FOLLOW_2);
+                    rule__GridCell__Group_3_1__0();
+
+                    state._fsp--;
+                    if (state.failed) return ;
+
+                    }
+
+                    if ( state.backtracking==0 ) {
+                       after(grammarAccess.getGridCellAccess().getGroup_3_1()); 
+                    }
+
+                    }
+
+
+                    }
+
+
+                    }
+
+
+                    }
+                    break;
+                case 3 :
+                    // InternalReportDSL.g:36130:3: ({...}? => ( ( ( rule__GridCell__Group_3_2__0 ) ) ) )
+                    {
+                    // InternalReportDSL.g:36130:3: ({...}? => ( ( ( rule__GridCell__Group_3_2__0 ) ) ) )
+                    // InternalReportDSL.g:36131:4: {...}? => ( ( ( rule__GridCell__Group_3_2__0 ) ) )
+                    {
+                    if ( ! getUnorderedGroupHelper().canSelect(grammarAccess.getGridCellAccess().getUnorderedGroup_3(), 2) ) {
+                        if (state.backtracking>0) {state.failed=true; return ;}
+                        throw new FailedPredicateException(input, "rule__GridCell__UnorderedGroup_3__Impl", "getUnorderedGroupHelper().canSelect(grammarAccess.getGridCellAccess().getUnorderedGroup_3(), 2)");
+                    }
+                    // InternalReportDSL.g:36131:104: ( ( ( rule__GridCell__Group_3_2__0 ) ) )
+                    // InternalReportDSL.g:36132:5: ( ( rule__GridCell__Group_3_2__0 ) )
+                    {
+                    getUnorderedGroupHelper().select(grammarAccess.getGridCellAccess().getUnorderedGroup_3(), 2);
+                    selected = true;
+                    // InternalReportDSL.g:36138:5: ( ( rule__GridCell__Group_3_2__0 ) )
+                    // InternalReportDSL.g:36139:6: ( rule__GridCell__Group_3_2__0 )
+                    {
+                    if ( state.backtracking==0 ) {
+                       before(grammarAccess.getGridCellAccess().getGroup_3_2()); 
+                    }
+                    // InternalReportDSL.g:36140:6: ( rule__GridCell__Group_3_2__0 )
+                    // InternalReportDSL.g:36140:7: rule__GridCell__Group_3_2__0
+                    {
+                    pushFollow(FOLLOW_2);
+                    rule__GridCell__Group_3_2__0();
+
+                    state._fsp--;
+                    if (state.failed) return ;
+
+                    }
+
+                    if ( state.backtracking==0 ) {
+                       after(grammarAccess.getGridCellAccess().getGroup_3_2()); 
+                    }
+
+                    }
+
+
+                    }
+
+
+                    }
+
+
+                    }
+                    break;
+                case 4 :
+                    // InternalReportDSL.g:36145:3: ({...}? => ( ( ( rule__GridCell__VisibilityItemAssignment_3_3 ) ) ) )
+                    {
+                    // InternalReportDSL.g:36145:3: ({...}? => ( ( ( rule__GridCell__VisibilityItemAssignment_3_3 ) ) ) )
+                    // InternalReportDSL.g:36146:4: {...}? => ( ( ( rule__GridCell__VisibilityItemAssignment_3_3 ) ) )
+                    {
+                    if ( ! getUnorderedGroupHelper().canSelect(grammarAccess.getGridCellAccess().getUnorderedGroup_3(), 3) ) {
+                        if (state.backtracking>0) {state.failed=true; return ;}
+                        throw new FailedPredicateException(input, "rule__GridCell__UnorderedGroup_3__Impl", "getUnorderedGroupHelper().canSelect(grammarAccess.getGridCellAccess().getUnorderedGroup_3(), 3)");
+                    }
+                    // InternalReportDSL.g:36146:104: ( ( ( rule__GridCell__VisibilityItemAssignment_3_3 ) ) )
+                    // InternalReportDSL.g:36147:5: ( ( rule__GridCell__VisibilityItemAssignment_3_3 ) )
+                    {
+                    getUnorderedGroupHelper().select(grammarAccess.getGridCellAccess().getUnorderedGroup_3(), 3);
+                    selected = true;
+                    // InternalReportDSL.g:36153:5: ( ( rule__GridCell__VisibilityItemAssignment_3_3 ) )
+                    // InternalReportDSL.g:36154:6: ( rule__GridCell__VisibilityItemAssignment_3_3 )
+                    {
+                    if ( state.backtracking==0 ) {
+                       before(grammarAccess.getGridCellAccess().getVisibilityItemAssignment_3_3()); 
+                    }
+                    // InternalReportDSL.g:36155:6: ( rule__GridCell__VisibilityItemAssignment_3_3 )
+                    // InternalReportDSL.g:36155:7: rule__GridCell__VisibilityItemAssignment_3_3
+                    {
+                    pushFollow(FOLLOW_2);
+                    rule__GridCell__VisibilityItemAssignment_3_3();
+
+                    state._fsp--;
+                    if (state.failed) return ;
+
+                    }
+
+                    if ( state.backtracking==0 ) {
+                       after(grammarAccess.getGridCellAccess().getVisibilityItemAssignment_3_3()); 
+                    }
+
+                    }
+
+
+                    }
+
+
+                    }
+
+
+                    }
+                    break;
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	if (selected)
+            		getUnorderedGroupHelper().returnFromSelection(grammarAccess.getGridCellAccess().getUnorderedGroup_3());
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__GridCell__UnorderedGroup_3__Impl"
+
+
+    // $ANTLR start "rule__GridCell__UnorderedGroup_3__0"
+    // InternalReportDSL.g:36168:1: rule__GridCell__UnorderedGroup_3__0 : rule__GridCell__UnorderedGroup_3__Impl ( rule__GridCell__UnorderedGroup_3__1 )? ;
+    public final void rule__GridCell__UnorderedGroup_3__0() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+        	
+        try {
+            // InternalReportDSL.g:36172:1: ( rule__GridCell__UnorderedGroup_3__Impl ( rule__GridCell__UnorderedGroup_3__1 )? )
+            // InternalReportDSL.g:36173:2: rule__GridCell__UnorderedGroup_3__Impl ( rule__GridCell__UnorderedGroup_3__1 )?
+            {
+            pushFollow(FOLLOW_224);
+            rule__GridCell__UnorderedGroup_3__Impl();
+
+            state._fsp--;
+            if (state.failed) return ;
+            // InternalReportDSL.g:36174:2: ( rule__GridCell__UnorderedGroup_3__1 )?
+            int alt289=2;
+            int LA289_0 = input.LA(1);
+
+            if ( LA289_0 == 158 && getUnorderedGroupHelper().canSelect(grammarAccess.getGridCellAccess().getUnorderedGroup_3(), 0) ) {
+                alt289=1;
+            }
+            else if ( LA289_0 == 197 && getUnorderedGroupHelper().canSelect(grammarAccess.getGridCellAccess().getUnorderedGroup_3(), 1) ) {
+                alt289=1;
+            }
+            else if ( LA289_0 == 200 && getUnorderedGroupHelper().canSelect(grammarAccess.getGridCellAccess().getUnorderedGroup_3(), 2) ) {
+                alt289=1;
+            }
+            else if ( LA289_0 == 265 && getUnorderedGroupHelper().canSelect(grammarAccess.getGridCellAccess().getUnorderedGroup_3(), 3) ) {
+                alt289=1;
+            }
+            switch (alt289) {
+                case 1 :
+                    // InternalReportDSL.g:0:0: rule__GridCell__UnorderedGroup_3__1
+                    {
+                    pushFollow(FOLLOW_2);
+                    rule__GridCell__UnorderedGroup_3__1();
+
+                    state._fsp--;
+                    if (state.failed) return ;
+
+                    }
+                    break;
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__GridCell__UnorderedGroup_3__0"
+
+
+    // $ANTLR start "rule__GridCell__UnorderedGroup_3__1"
+    // InternalReportDSL.g:36180:1: rule__GridCell__UnorderedGroup_3__1 : rule__GridCell__UnorderedGroup_3__Impl ( rule__GridCell__UnorderedGroup_3__2 )? ;
+    public final void rule__GridCell__UnorderedGroup_3__1() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+        	
+        try {
+            // InternalReportDSL.g:36184:1: ( rule__GridCell__UnorderedGroup_3__Impl ( rule__GridCell__UnorderedGroup_3__2 )? )
+            // InternalReportDSL.g:36185:2: rule__GridCell__UnorderedGroup_3__Impl ( rule__GridCell__UnorderedGroup_3__2 )?
+            {
+            pushFollow(FOLLOW_224);
+            rule__GridCell__UnorderedGroup_3__Impl();
+
+            state._fsp--;
+            if (state.failed) return ;
+            // InternalReportDSL.g:36186:2: ( rule__GridCell__UnorderedGroup_3__2 )?
+            int alt290=2;
+            int LA290_0 = input.LA(1);
+
+            if ( LA290_0 == 158 && getUnorderedGroupHelper().canSelect(grammarAccess.getGridCellAccess().getUnorderedGroup_3(), 0) ) {
+                alt290=1;
+            }
+            else if ( LA290_0 == 197 && getUnorderedGroupHelper().canSelect(grammarAccess.getGridCellAccess().getUnorderedGroup_3(), 1) ) {
+                alt290=1;
+            }
+            else if ( LA290_0 == 200 && getUnorderedGroupHelper().canSelect(grammarAccess.getGridCellAccess().getUnorderedGroup_3(), 2) ) {
+                alt290=1;
+            }
+            else if ( LA290_0 == 265 && getUnorderedGroupHelper().canSelect(grammarAccess.getGridCellAccess().getUnorderedGroup_3(), 3) ) {
+                alt290=1;
+            }
+            switch (alt290) {
+                case 1 :
+                    // InternalReportDSL.g:0:0: rule__GridCell__UnorderedGroup_3__2
+                    {
+                    pushFollow(FOLLOW_2);
+                    rule__GridCell__UnorderedGroup_3__2();
+
+                    state._fsp--;
+                    if (state.failed) return ;
+
+                    }
+                    break;
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__GridCell__UnorderedGroup_3__1"
+
+
+    // $ANTLR start "rule__GridCell__UnorderedGroup_3__2"
+    // InternalReportDSL.g:36192:1: rule__GridCell__UnorderedGroup_3__2 : rule__GridCell__UnorderedGroup_3__Impl ( rule__GridCell__UnorderedGroup_3__3 )? ;
+    public final void rule__GridCell__UnorderedGroup_3__2() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+        	
+        try {
+            // InternalReportDSL.g:36196:1: ( rule__GridCell__UnorderedGroup_3__Impl ( rule__GridCell__UnorderedGroup_3__3 )? )
+            // InternalReportDSL.g:36197:2: rule__GridCell__UnorderedGroup_3__Impl ( rule__GridCell__UnorderedGroup_3__3 )?
+            {
+            pushFollow(FOLLOW_224);
+            rule__GridCell__UnorderedGroup_3__Impl();
+
+            state._fsp--;
+            if (state.failed) return ;
+            // InternalReportDSL.g:36198:2: ( rule__GridCell__UnorderedGroup_3__3 )?
+            int alt291=2;
+            int LA291_0 = input.LA(1);
+
+            if ( LA291_0 == 158 && getUnorderedGroupHelper().canSelect(grammarAccess.getGridCellAccess().getUnorderedGroup_3(), 0) ) {
+                alt291=1;
+            }
+            else if ( LA291_0 == 197 && getUnorderedGroupHelper().canSelect(grammarAccess.getGridCellAccess().getUnorderedGroup_3(), 1) ) {
+                alt291=1;
+            }
+            else if ( LA291_0 == 200 && getUnorderedGroupHelper().canSelect(grammarAccess.getGridCellAccess().getUnorderedGroup_3(), 2) ) {
+                alt291=1;
+            }
+            else if ( LA291_0 == 265 && getUnorderedGroupHelper().canSelect(grammarAccess.getGridCellAccess().getUnorderedGroup_3(), 3) ) {
+                alt291=1;
+            }
+            switch (alt291) {
+                case 1 :
+                    // InternalReportDSL.g:0:0: rule__GridCell__UnorderedGroup_3__3
+                    {
+                    pushFollow(FOLLOW_2);
+                    rule__GridCell__UnorderedGroup_3__3();
+
+                    state._fsp--;
+                    if (state.failed) return ;
+
+                    }
+                    break;
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__GridCell__UnorderedGroup_3__2"
+
+
+    // $ANTLR start "rule__GridCell__UnorderedGroup_3__3"
+    // InternalReportDSL.g:36204:1: rule__GridCell__UnorderedGroup_3__3 : rule__GridCell__UnorderedGroup_3__Impl ;
+    public final void rule__GridCell__UnorderedGroup_3__3() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+        	
+        try {
+            // InternalReportDSL.g:36208:1: ( rule__GridCell__UnorderedGroup_3__Impl )
+            // InternalReportDSL.g:36209:2: rule__GridCell__UnorderedGroup_3__Impl
+            {
+            pushFollow(FOLLOW_2);
+            rule__GridCell__UnorderedGroup_3__Impl();
+
+            state._fsp--;
+            if (state.failed) return ;
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__GridCell__UnorderedGroup_3__3"
+
+
+    // $ANTLR start "rule__DatamartTable__UnorderedGroup_2"
+    // InternalReportDSL.g:36216:1: rule__DatamartTable__UnorderedGroup_2 : ( rule__DatamartTable__UnorderedGroup_2__0 )? ;
+    public final void rule__DatamartTable__UnorderedGroup_2() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+        		getUnorderedGroupHelper().enter(grammarAccess.getDatamartTableAccess().getUnorderedGroup_2());
+        	
+        try {
+            // InternalReportDSL.g:36221:1: ( ( rule__DatamartTable__UnorderedGroup_2__0 )? )
+            // InternalReportDSL.g:36222:2: ( rule__DatamartTable__UnorderedGroup_2__0 )?
+            {
+            // InternalReportDSL.g:36222:2: ( rule__DatamartTable__UnorderedGroup_2__0 )?
+            int alt292=2;
+            int LA292_0 = input.LA(1);
+
+            if ( LA292_0 == 158 && getUnorderedGroupHelper().canSelect(grammarAccess.getDatamartTableAccess().getUnorderedGroup_2(), 0) ) {
+                alt292=1;
+            }
+            else if ( LA292_0 == 265 && getUnorderedGroupHelper().canSelect(grammarAccess.getDatamartTableAccess().getUnorderedGroup_2(), 1) ) {
+                alt292=1;
+            }
+            else if ( LA292_0 == 216 && getUnorderedGroupHelper().canSelect(grammarAccess.getDatamartTableAccess().getUnorderedGroup_2(), 2) ) {
+                alt292=1;
+            }
+            switch (alt292) {
+                case 1 :
+                    // InternalReportDSL.g:0:0: rule__DatamartTable__UnorderedGroup_2__0
+                    {
+                    pushFollow(FOLLOW_2);
+                    rule__DatamartTable__UnorderedGroup_2__0();
+
+                    state._fsp--;
+                    if (state.failed) return ;
+
+                    }
+                    break;
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	getUnorderedGroupHelper().leave(grammarAccess.getDatamartTableAccess().getUnorderedGroup_2());
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__DatamartTable__UnorderedGroup_2"
+
+
+    // $ANTLR start "rule__DatamartTable__UnorderedGroup_2__Impl"
+    // InternalReportDSL.g:36230:1: rule__DatamartTable__UnorderedGroup_2__Impl : ( ({...}? => ( ( ( rule__DatamartTable__Group_2_0__0 ) ) ) ) | ({...}? => ( ( ( rule__DatamartTable__VisibilityItemAssignment_2_1 ) ) ) ) | ({...}? => ( ( ( rule__DatamartTable__PageBreakAssignment_2_2 ) ) ) ) ) ;
+    public final void rule__DatamartTable__UnorderedGroup_2__Impl() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+        		boolean selected = false;
+        	
+        try {
+            // InternalReportDSL.g:36235:1: ( ( ({...}? => ( ( ( rule__DatamartTable__Group_2_0__0 ) ) ) ) | ({...}? => ( ( ( rule__DatamartTable__VisibilityItemAssignment_2_1 ) ) ) ) | ({...}? => ( ( ( rule__DatamartTable__PageBreakAssignment_2_2 ) ) ) ) ) )
+            // InternalReportDSL.g:36236:3: ( ({...}? => ( ( ( rule__DatamartTable__Group_2_0__0 ) ) ) ) | ({...}? => ( ( ( rule__DatamartTable__VisibilityItemAssignment_2_1 ) ) ) ) | ({...}? => ( ( ( rule__DatamartTable__PageBreakAssignment_2_2 ) ) ) ) )
+            {
+            // InternalReportDSL.g:36236:3: ( ({...}? => ( ( ( rule__DatamartTable__Group_2_0__0 ) ) ) ) | ({...}? => ( ( ( rule__DatamartTable__VisibilityItemAssignment_2_1 ) ) ) ) | ({...}? => ( ( ( rule__DatamartTable__PageBreakAssignment_2_2 ) ) ) ) )
+            int alt293=3;
+            int LA293_0 = input.LA(1);
+
+            if ( LA293_0 == 158 && getUnorderedGroupHelper().canSelect(grammarAccess.getDatamartTableAccess().getUnorderedGroup_2(), 0) ) {
+                alt293=1;
+            }
+            else if ( LA293_0 == 265 && getUnorderedGroupHelper().canSelect(grammarAccess.getDatamartTableAccess().getUnorderedGroup_2(), 1) ) {
+                alt293=2;
+            }
+            else if ( LA293_0 == 216 && getUnorderedGroupHelper().canSelect(grammarAccess.getDatamartTableAccess().getUnorderedGroup_2(), 2) ) {
+                alt293=3;
+            }
+            else {
+                if (state.backtracking>0) {state.failed=true; return ;}
+                NoViableAltException nvae =
+                    new NoViableAltException("", 293, 0, input);
+
+                throw nvae;
+            }
+            switch (alt293) {
+                case 1 :
+                    // InternalReportDSL.g:36237:3: ({...}? => ( ( ( rule__DatamartTable__Group_2_0__0 ) ) ) )
+                    {
+                    // InternalReportDSL.g:36237:3: ({...}? => ( ( ( rule__DatamartTable__Group_2_0__0 ) ) ) )
+                    // InternalReportDSL.g:36238:4: {...}? => ( ( ( rule__DatamartTable__Group_2_0__0 ) ) )
+                    {
+                    if ( ! getUnorderedGroupHelper().canSelect(grammarAccess.getDatamartTableAccess().getUnorderedGroup_2(), 0) ) {
+                        if (state.backtracking>0) {state.failed=true; return ;}
+                        throw new FailedPredicateException(input, "rule__DatamartTable__UnorderedGroup_2__Impl", "getUnorderedGroupHelper().canSelect(grammarAccess.getDatamartTableAccess().getUnorderedGroup_2(), 0)");
+                    }
+                    // InternalReportDSL.g:36238:109: ( ( ( rule__DatamartTable__Group_2_0__0 ) ) )
+                    // InternalReportDSL.g:36239:5: ( ( rule__DatamartTable__Group_2_0__0 ) )
+                    {
+                    getUnorderedGroupHelper().select(grammarAccess.getDatamartTableAccess().getUnorderedGroup_2(), 0);
+                    selected = true;
+                    // InternalReportDSL.g:36245:5: ( ( rule__DatamartTable__Group_2_0__0 ) )
+                    // InternalReportDSL.g:36246:6: ( rule__DatamartTable__Group_2_0__0 )
+                    {
+                    if ( state.backtracking==0 ) {
+                       before(grammarAccess.getDatamartTableAccess().getGroup_2_0()); 
+                    }
+                    // InternalReportDSL.g:36247:6: ( rule__DatamartTable__Group_2_0__0 )
+                    // InternalReportDSL.g:36247:7: rule__DatamartTable__Group_2_0__0
+                    {
+                    pushFollow(FOLLOW_2);
+                    rule__DatamartTable__Group_2_0__0();
+
+                    state._fsp--;
+                    if (state.failed) return ;
+
+                    }
+
+                    if ( state.backtracking==0 ) {
+                       after(grammarAccess.getDatamartTableAccess().getGroup_2_0()); 
+                    }
+
+                    }
+
+
+                    }
+
+
+                    }
+
+
+                    }
+                    break;
+                case 2 :
+                    // InternalReportDSL.g:36252:3: ({...}? => ( ( ( rule__DatamartTable__VisibilityItemAssignment_2_1 ) ) ) )
+                    {
+                    // InternalReportDSL.g:36252:3: ({...}? => ( ( ( rule__DatamartTable__VisibilityItemAssignment_2_1 ) ) ) )
+                    // InternalReportDSL.g:36253:4: {...}? => ( ( ( rule__DatamartTable__VisibilityItemAssignment_2_1 ) ) )
+                    {
+                    if ( ! getUnorderedGroupHelper().canSelect(grammarAccess.getDatamartTableAccess().getUnorderedGroup_2(), 1) ) {
+                        if (state.backtracking>0) {state.failed=true; return ;}
+                        throw new FailedPredicateException(input, "rule__DatamartTable__UnorderedGroup_2__Impl", "getUnorderedGroupHelper().canSelect(grammarAccess.getDatamartTableAccess().getUnorderedGroup_2(), 1)");
+                    }
+                    // InternalReportDSL.g:36253:109: ( ( ( rule__DatamartTable__VisibilityItemAssignment_2_1 ) ) )
+                    // InternalReportDSL.g:36254:5: ( ( rule__DatamartTable__VisibilityItemAssignment_2_1 ) )
+                    {
+                    getUnorderedGroupHelper().select(grammarAccess.getDatamartTableAccess().getUnorderedGroup_2(), 1);
+                    selected = true;
+                    // InternalReportDSL.g:36260:5: ( ( rule__DatamartTable__VisibilityItemAssignment_2_1 ) )
+                    // InternalReportDSL.g:36261:6: ( rule__DatamartTable__VisibilityItemAssignment_2_1 )
+                    {
+                    if ( state.backtracking==0 ) {
+                       before(grammarAccess.getDatamartTableAccess().getVisibilityItemAssignment_2_1()); 
+                    }
+                    // InternalReportDSL.g:36262:6: ( rule__DatamartTable__VisibilityItemAssignment_2_1 )
+                    // InternalReportDSL.g:36262:7: rule__DatamartTable__VisibilityItemAssignment_2_1
+                    {
+                    pushFollow(FOLLOW_2);
+                    rule__DatamartTable__VisibilityItemAssignment_2_1();
+
+                    state._fsp--;
+                    if (state.failed) return ;
+
+                    }
+
+                    if ( state.backtracking==0 ) {
+                       after(grammarAccess.getDatamartTableAccess().getVisibilityItemAssignment_2_1()); 
+                    }
+
+                    }
+
+
+                    }
+
+
+                    }
+
+
+                    }
+                    break;
+                case 3 :
+                    // InternalReportDSL.g:36267:3: ({...}? => ( ( ( rule__DatamartTable__PageBreakAssignment_2_2 ) ) ) )
+                    {
+                    // InternalReportDSL.g:36267:3: ({...}? => ( ( ( rule__DatamartTable__PageBreakAssignment_2_2 ) ) ) )
+                    // InternalReportDSL.g:36268:4: {...}? => ( ( ( rule__DatamartTable__PageBreakAssignment_2_2 ) ) )
+                    {
+                    if ( ! getUnorderedGroupHelper().canSelect(grammarAccess.getDatamartTableAccess().getUnorderedGroup_2(), 2) ) {
+                        if (state.backtracking>0) {state.failed=true; return ;}
+                        throw new FailedPredicateException(input, "rule__DatamartTable__UnorderedGroup_2__Impl", "getUnorderedGroupHelper().canSelect(grammarAccess.getDatamartTableAccess().getUnorderedGroup_2(), 2)");
+                    }
+                    // InternalReportDSL.g:36268:109: ( ( ( rule__DatamartTable__PageBreakAssignment_2_2 ) ) )
+                    // InternalReportDSL.g:36269:5: ( ( rule__DatamartTable__PageBreakAssignment_2_2 ) )
+                    {
+                    getUnorderedGroupHelper().select(grammarAccess.getDatamartTableAccess().getUnorderedGroup_2(), 2);
+                    selected = true;
+                    // InternalReportDSL.g:36275:5: ( ( rule__DatamartTable__PageBreakAssignment_2_2 ) )
+                    // InternalReportDSL.g:36276:6: ( rule__DatamartTable__PageBreakAssignment_2_2 )
+                    {
+                    if ( state.backtracking==0 ) {
+                       before(grammarAccess.getDatamartTableAccess().getPageBreakAssignment_2_2()); 
+                    }
+                    // InternalReportDSL.g:36277:6: ( rule__DatamartTable__PageBreakAssignment_2_2 )
+                    // InternalReportDSL.g:36277:7: rule__DatamartTable__PageBreakAssignment_2_2
+                    {
+                    pushFollow(FOLLOW_2);
+                    rule__DatamartTable__PageBreakAssignment_2_2();
+
+                    state._fsp--;
+                    if (state.failed) return ;
+
+                    }
+
+                    if ( state.backtracking==0 ) {
+                       after(grammarAccess.getDatamartTableAccess().getPageBreakAssignment_2_2()); 
+                    }
+
+                    }
+
+
+                    }
+
+
+                    }
+
+
+                    }
+                    break;
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	if (selected)
+            		getUnorderedGroupHelper().returnFromSelection(grammarAccess.getDatamartTableAccess().getUnorderedGroup_2());
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__DatamartTable__UnorderedGroup_2__Impl"
+
+
+    // $ANTLR start "rule__DatamartTable__UnorderedGroup_2__0"
+    // InternalReportDSL.g:36290:1: rule__DatamartTable__UnorderedGroup_2__0 : rule__DatamartTable__UnorderedGroup_2__Impl ( rule__DatamartTable__UnorderedGroup_2__1 )? ;
+    public final void rule__DatamartTable__UnorderedGroup_2__0() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+        	
+        try {
+            // InternalReportDSL.g:36294:1: ( rule__DatamartTable__UnorderedGroup_2__Impl ( rule__DatamartTable__UnorderedGroup_2__1 )? )
+            // InternalReportDSL.g:36295:2: rule__DatamartTable__UnorderedGroup_2__Impl ( rule__DatamartTable__UnorderedGroup_2__1 )?
+            {
+            pushFollow(FOLLOW_225);
+            rule__DatamartTable__UnorderedGroup_2__Impl();
+
+            state._fsp--;
+            if (state.failed) return ;
+            // InternalReportDSL.g:36296:2: ( rule__DatamartTable__UnorderedGroup_2__1 )?
+            int alt294=2;
+            int LA294_0 = input.LA(1);
+
+            if ( LA294_0 == 158 && getUnorderedGroupHelper().canSelect(grammarAccess.getDatamartTableAccess().getUnorderedGroup_2(), 0) ) {
+                alt294=1;
+            }
+            else if ( LA294_0 == 265 && getUnorderedGroupHelper().canSelect(grammarAccess.getDatamartTableAccess().getUnorderedGroup_2(), 1) ) {
+                alt294=1;
+            }
+            else if ( LA294_0 == 216 && getUnorderedGroupHelper().canSelect(grammarAccess.getDatamartTableAccess().getUnorderedGroup_2(), 2) ) {
+                alt294=1;
+            }
+            switch (alt294) {
+                case 1 :
+                    // InternalReportDSL.g:0:0: rule__DatamartTable__UnorderedGroup_2__1
+                    {
+                    pushFollow(FOLLOW_2);
+                    rule__DatamartTable__UnorderedGroup_2__1();
+
+                    state._fsp--;
+                    if (state.failed) return ;
+
+                    }
+                    break;
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__DatamartTable__UnorderedGroup_2__0"
+
+
+    // $ANTLR start "rule__DatamartTable__UnorderedGroup_2__1"
+    // InternalReportDSL.g:36302:1: rule__DatamartTable__UnorderedGroup_2__1 : rule__DatamartTable__UnorderedGroup_2__Impl ( rule__DatamartTable__UnorderedGroup_2__2 )? ;
+    public final void rule__DatamartTable__UnorderedGroup_2__1() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+        	
+        try {
+            // InternalReportDSL.g:36306:1: ( rule__DatamartTable__UnorderedGroup_2__Impl ( rule__DatamartTable__UnorderedGroup_2__2 )? )
+            // InternalReportDSL.g:36307:2: rule__DatamartTable__UnorderedGroup_2__Impl ( rule__DatamartTable__UnorderedGroup_2__2 )?
+            {
+            pushFollow(FOLLOW_225);
+            rule__DatamartTable__UnorderedGroup_2__Impl();
+
+            state._fsp--;
+            if (state.failed) return ;
+            // InternalReportDSL.g:36308:2: ( rule__DatamartTable__UnorderedGroup_2__2 )?
+            int alt295=2;
+            int LA295_0 = input.LA(1);
+
+            if ( LA295_0 == 158 && getUnorderedGroupHelper().canSelect(grammarAccess.getDatamartTableAccess().getUnorderedGroup_2(), 0) ) {
+                alt295=1;
+            }
+            else if ( LA295_0 == 265 && getUnorderedGroupHelper().canSelect(grammarAccess.getDatamartTableAccess().getUnorderedGroup_2(), 1) ) {
+                alt295=1;
+            }
+            else if ( LA295_0 == 216 && getUnorderedGroupHelper().canSelect(grammarAccess.getDatamartTableAccess().getUnorderedGroup_2(), 2) ) {
+                alt295=1;
+            }
+            switch (alt295) {
+                case 1 :
+                    // InternalReportDSL.g:0:0: rule__DatamartTable__UnorderedGroup_2__2
+                    {
+                    pushFollow(FOLLOW_2);
+                    rule__DatamartTable__UnorderedGroup_2__2();
+
+                    state._fsp--;
+                    if (state.failed) return ;
+
+                    }
+                    break;
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__DatamartTable__UnorderedGroup_2__1"
+
+
+    // $ANTLR start "rule__DatamartTable__UnorderedGroup_2__2"
+    // InternalReportDSL.g:36314:1: rule__DatamartTable__UnorderedGroup_2__2 : rule__DatamartTable__UnorderedGroup_2__Impl ;
+    public final void rule__DatamartTable__UnorderedGroup_2__2() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+        	
+        try {
+            // InternalReportDSL.g:36318:1: ( rule__DatamartTable__UnorderedGroup_2__Impl )
+            // InternalReportDSL.g:36319:2: rule__DatamartTable__UnorderedGroup_2__Impl
+            {
+            pushFollow(FOLLOW_2);
+            rule__DatamartTable__UnorderedGroup_2__Impl();
+
+            state._fsp--;
+            if (state.failed) return ;
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__DatamartTable__UnorderedGroup_2__2"
+
+
+    // $ANTLR start "rule__DatamartTableGroup__UnorderedGroup_4"
+    // InternalReportDSL.g:36326:1: rule__DatamartTableGroup__UnorderedGroup_4 : ( rule__DatamartTableGroup__UnorderedGroup_4__0 )? ;
+    public final void rule__DatamartTableGroup__UnorderedGroup_4() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+        		getUnorderedGroupHelper().enter(grammarAccess.getDatamartTableGroupAccess().getUnorderedGroup_4());
+        	
+        try {
+            // InternalReportDSL.g:36331:1: ( ( rule__DatamartTableGroup__UnorderedGroup_4__0 )? )
+            // InternalReportDSL.g:36332:2: ( rule__DatamartTableGroup__UnorderedGroup_4__0 )?
+            {
+            // InternalReportDSL.g:36332:2: ( rule__DatamartTableGroup__UnorderedGroup_4__0 )?
+            int alt296=2;
+            int LA296_0 = input.LA(1);
+
+            if ( LA296_0 == 265 && getUnorderedGroupHelper().canSelect(grammarAccess.getDatamartTableGroupAccess().getUnorderedGroup_4(), 0) ) {
+                alt296=1;
+            }
+            else if ( LA296_0 == 216 && getUnorderedGroupHelper().canSelect(grammarAccess.getDatamartTableGroupAccess().getUnorderedGroup_4(), 1) ) {
+                alt296=1;
+            }
+            switch (alt296) {
+                case 1 :
+                    // InternalReportDSL.g:0:0: rule__DatamartTableGroup__UnorderedGroup_4__0
+                    {
+                    pushFollow(FOLLOW_2);
+                    rule__DatamartTableGroup__UnorderedGroup_4__0();
+
+                    state._fsp--;
+                    if (state.failed) return ;
+
+                    }
+                    break;
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	getUnorderedGroupHelper().leave(grammarAccess.getDatamartTableGroupAccess().getUnorderedGroup_4());
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__DatamartTableGroup__UnorderedGroup_4"
+
+
+    // $ANTLR start "rule__DatamartTableGroup__UnorderedGroup_4__Impl"
+    // InternalReportDSL.g:36340:1: rule__DatamartTableGroup__UnorderedGroup_4__Impl : ( ({...}? => ( ( ( rule__DatamartTableGroup__VisibilityItemAssignment_4_0 ) ) ) ) | ({...}? => ( ( ( rule__DatamartTableGroup__PageBreakAssignment_4_1 ) ) ) ) ) ;
+    public final void rule__DatamartTableGroup__UnorderedGroup_4__Impl() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+        		boolean selected = false;
+        	
+        try {
+            // InternalReportDSL.g:36345:1: ( ( ({...}? => ( ( ( rule__DatamartTableGroup__VisibilityItemAssignment_4_0 ) ) ) ) | ({...}? => ( ( ( rule__DatamartTableGroup__PageBreakAssignment_4_1 ) ) ) ) ) )
+            // InternalReportDSL.g:36346:3: ( ({...}? => ( ( ( rule__DatamartTableGroup__VisibilityItemAssignment_4_0 ) ) ) ) | ({...}? => ( ( ( rule__DatamartTableGroup__PageBreakAssignment_4_1 ) ) ) ) )
+            {
+            // InternalReportDSL.g:36346:3: ( ({...}? => ( ( ( rule__DatamartTableGroup__VisibilityItemAssignment_4_0 ) ) ) ) | ({...}? => ( ( ( rule__DatamartTableGroup__PageBreakAssignment_4_1 ) ) ) ) )
+            int alt297=2;
+            int LA297_0 = input.LA(1);
+
+            if ( LA297_0 == 265 && getUnorderedGroupHelper().canSelect(grammarAccess.getDatamartTableGroupAccess().getUnorderedGroup_4(), 0) ) {
+                alt297=1;
+            }
+            else if ( LA297_0 == 216 && getUnorderedGroupHelper().canSelect(grammarAccess.getDatamartTableGroupAccess().getUnorderedGroup_4(), 1) ) {
+                alt297=2;
+            }
+            else {
+                if (state.backtracking>0) {state.failed=true; return ;}
+                NoViableAltException nvae =
+                    new NoViableAltException("", 297, 0, input);
+
+                throw nvae;
+            }
+            switch (alt297) {
+                case 1 :
+                    // InternalReportDSL.g:36347:3: ({...}? => ( ( ( rule__DatamartTableGroup__VisibilityItemAssignment_4_0 ) ) ) )
+                    {
+                    // InternalReportDSL.g:36347:3: ({...}? => ( ( ( rule__DatamartTableGroup__VisibilityItemAssignment_4_0 ) ) ) )
+                    // InternalReportDSL.g:36348:4: {...}? => ( ( ( rule__DatamartTableGroup__VisibilityItemAssignment_4_0 ) ) )
+                    {
+                    if ( ! getUnorderedGroupHelper().canSelect(grammarAccess.getDatamartTableGroupAccess().getUnorderedGroup_4(), 0) ) {
+                        if (state.backtracking>0) {state.failed=true; return ;}
+                        throw new FailedPredicateException(input, "rule__DatamartTableGroup__UnorderedGroup_4__Impl", "getUnorderedGroupHelper().canSelect(grammarAccess.getDatamartTableGroupAccess().getUnorderedGroup_4(), 0)");
+                    }
+                    // InternalReportDSL.g:36348:114: ( ( ( rule__DatamartTableGroup__VisibilityItemAssignment_4_0 ) ) )
+                    // InternalReportDSL.g:36349:5: ( ( rule__DatamartTableGroup__VisibilityItemAssignment_4_0 ) )
+                    {
+                    getUnorderedGroupHelper().select(grammarAccess.getDatamartTableGroupAccess().getUnorderedGroup_4(), 0);
+                    selected = true;
+                    // InternalReportDSL.g:36355:5: ( ( rule__DatamartTableGroup__VisibilityItemAssignment_4_0 ) )
+                    // InternalReportDSL.g:36356:6: ( rule__DatamartTableGroup__VisibilityItemAssignment_4_0 )
+                    {
+                    if ( state.backtracking==0 ) {
+                       before(grammarAccess.getDatamartTableGroupAccess().getVisibilityItemAssignment_4_0()); 
+                    }
+                    // InternalReportDSL.g:36357:6: ( rule__DatamartTableGroup__VisibilityItemAssignment_4_0 )
+                    // InternalReportDSL.g:36357:7: rule__DatamartTableGroup__VisibilityItemAssignment_4_0
+                    {
+                    pushFollow(FOLLOW_2);
+                    rule__DatamartTableGroup__VisibilityItemAssignment_4_0();
+
+                    state._fsp--;
+                    if (state.failed) return ;
+
+                    }
+
+                    if ( state.backtracking==0 ) {
+                       after(grammarAccess.getDatamartTableGroupAccess().getVisibilityItemAssignment_4_0()); 
+                    }
+
+                    }
+
+
+                    }
+
+
+                    }
+
+
+                    }
+                    break;
+                case 2 :
+                    // InternalReportDSL.g:36362:3: ({...}? => ( ( ( rule__DatamartTableGroup__PageBreakAssignment_4_1 ) ) ) )
+                    {
+                    // InternalReportDSL.g:36362:3: ({...}? => ( ( ( rule__DatamartTableGroup__PageBreakAssignment_4_1 ) ) ) )
+                    // InternalReportDSL.g:36363:4: {...}? => ( ( ( rule__DatamartTableGroup__PageBreakAssignment_4_1 ) ) )
+                    {
+                    if ( ! getUnorderedGroupHelper().canSelect(grammarAccess.getDatamartTableGroupAccess().getUnorderedGroup_4(), 1) ) {
+                        if (state.backtracking>0) {state.failed=true; return ;}
+                        throw new FailedPredicateException(input, "rule__DatamartTableGroup__UnorderedGroup_4__Impl", "getUnorderedGroupHelper().canSelect(grammarAccess.getDatamartTableGroupAccess().getUnorderedGroup_4(), 1)");
+                    }
+                    // InternalReportDSL.g:36363:114: ( ( ( rule__DatamartTableGroup__PageBreakAssignment_4_1 ) ) )
+                    // InternalReportDSL.g:36364:5: ( ( rule__DatamartTableGroup__PageBreakAssignment_4_1 ) )
+                    {
+                    getUnorderedGroupHelper().select(grammarAccess.getDatamartTableGroupAccess().getUnorderedGroup_4(), 1);
+                    selected = true;
+                    // InternalReportDSL.g:36370:5: ( ( rule__DatamartTableGroup__PageBreakAssignment_4_1 ) )
+                    // InternalReportDSL.g:36371:6: ( rule__DatamartTableGroup__PageBreakAssignment_4_1 )
+                    {
+                    if ( state.backtracking==0 ) {
+                       before(grammarAccess.getDatamartTableGroupAccess().getPageBreakAssignment_4_1()); 
+                    }
+                    // InternalReportDSL.g:36372:6: ( rule__DatamartTableGroup__PageBreakAssignment_4_1 )
+                    // InternalReportDSL.g:36372:7: rule__DatamartTableGroup__PageBreakAssignment_4_1
+                    {
+                    pushFollow(FOLLOW_2);
+                    rule__DatamartTableGroup__PageBreakAssignment_4_1();
+
+                    state._fsp--;
+                    if (state.failed) return ;
+
+                    }
+
+                    if ( state.backtracking==0 ) {
+                       after(grammarAccess.getDatamartTableGroupAccess().getPageBreakAssignment_4_1()); 
+                    }
+
+                    }
+
+
+                    }
+
+
+                    }
+
+
+                    }
+                    break;
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	if (selected)
+            		getUnorderedGroupHelper().returnFromSelection(grammarAccess.getDatamartTableGroupAccess().getUnorderedGroup_4());
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__DatamartTableGroup__UnorderedGroup_4__Impl"
+
+
+    // $ANTLR start "rule__DatamartTableGroup__UnorderedGroup_4__0"
+    // InternalReportDSL.g:36385:1: rule__DatamartTableGroup__UnorderedGroup_4__0 : rule__DatamartTableGroup__UnorderedGroup_4__Impl ( rule__DatamartTableGroup__UnorderedGroup_4__1 )? ;
+    public final void rule__DatamartTableGroup__UnorderedGroup_4__0() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+        	
+        try {
+            // InternalReportDSL.g:36389:1: ( rule__DatamartTableGroup__UnorderedGroup_4__Impl ( rule__DatamartTableGroup__UnorderedGroup_4__1 )? )
+            // InternalReportDSL.g:36390:2: rule__DatamartTableGroup__UnorderedGroup_4__Impl ( rule__DatamartTableGroup__UnorderedGroup_4__1 )?
+            {
+            pushFollow(FOLLOW_225);
+            rule__DatamartTableGroup__UnorderedGroup_4__Impl();
+
+            state._fsp--;
+            if (state.failed) return ;
+            // InternalReportDSL.g:36391:2: ( rule__DatamartTableGroup__UnorderedGroup_4__1 )?
+            int alt298=2;
+            int LA298_0 = input.LA(1);
+
+            if ( LA298_0 == 265 && getUnorderedGroupHelper().canSelect(grammarAccess.getDatamartTableGroupAccess().getUnorderedGroup_4(), 0) ) {
+                alt298=1;
+            }
+            else if ( LA298_0 == 216 && getUnorderedGroupHelper().canSelect(grammarAccess.getDatamartTableGroupAccess().getUnorderedGroup_4(), 1) ) {
+                alt298=1;
+            }
+            switch (alt298) {
+                case 1 :
+                    // InternalReportDSL.g:0:0: rule__DatamartTableGroup__UnorderedGroup_4__1
+                    {
+                    pushFollow(FOLLOW_2);
+                    rule__DatamartTableGroup__UnorderedGroup_4__1();
+
+                    state._fsp--;
+                    if (state.failed) return ;
+
+                    }
+                    break;
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__DatamartTableGroup__UnorderedGroup_4__0"
+
+
+    // $ANTLR start "rule__DatamartTableGroup__UnorderedGroup_4__1"
+    // InternalReportDSL.g:36397:1: rule__DatamartTableGroup__UnorderedGroup_4__1 : rule__DatamartTableGroup__UnorderedGroup_4__Impl ;
+    public final void rule__DatamartTableGroup__UnorderedGroup_4__1() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+        	
+        try {
+            // InternalReportDSL.g:36401:1: ( rule__DatamartTableGroup__UnorderedGroup_4__Impl )
+            // InternalReportDSL.g:36402:2: rule__DatamartTableGroup__UnorderedGroup_4__Impl
+            {
+            pushFollow(FOLLOW_2);
+            rule__DatamartTableGroup__UnorderedGroup_4__Impl();
+
+            state._fsp--;
+            if (state.failed) return ;
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__DatamartTableGroup__UnorderedGroup_4__1"
+
+
+    // $ANTLR start "rule__DatamartTableHeader__UnorderedGroup_2"
+    // InternalReportDSL.g:36409:1: rule__DatamartTableHeader__UnorderedGroup_2 : ( rule__DatamartTableHeader__UnorderedGroup_2__0 )? ;
+    public final void rule__DatamartTableHeader__UnorderedGroup_2() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+        		getUnorderedGroupHelper().enter(grammarAccess.getDatamartTableHeaderAccess().getUnorderedGroup_2());
+        	
+        try {
+            // InternalReportDSL.g:36414:1: ( ( rule__DatamartTableHeader__UnorderedGroup_2__0 )? )
+            // InternalReportDSL.g:36415:2: ( rule__DatamartTableHeader__UnorderedGroup_2__0 )?
+            {
+            // InternalReportDSL.g:36415:2: ( rule__DatamartTableHeader__UnorderedGroup_2__0 )?
+            int alt299=2;
+            int LA299_0 = input.LA(1);
+
+            if ( LA299_0 == 158 && getUnorderedGroupHelper().canSelect(grammarAccess.getDatamartTableHeaderAccess().getUnorderedGroup_2(), 0) ) {
+                alt299=1;
+            }
+            else if ( LA299_0 == 216 && getUnorderedGroupHelper().canSelect(grammarAccess.getDatamartTableHeaderAccess().getUnorderedGroup_2(), 1) ) {
+                alt299=1;
+            }
+            switch (alt299) {
+                case 1 :
+                    // InternalReportDSL.g:0:0: rule__DatamartTableHeader__UnorderedGroup_2__0
+                    {
+                    pushFollow(FOLLOW_2);
+                    rule__DatamartTableHeader__UnorderedGroup_2__0();
+
+                    state._fsp--;
+                    if (state.failed) return ;
+
+                    }
+                    break;
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	getUnorderedGroupHelper().leave(grammarAccess.getDatamartTableHeaderAccess().getUnorderedGroup_2());
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__DatamartTableHeader__UnorderedGroup_2"
+
+
+    // $ANTLR start "rule__DatamartTableHeader__UnorderedGroup_2__Impl"
+    // InternalReportDSL.g:36423:1: rule__DatamartTableHeader__UnorderedGroup_2__Impl : ( ({...}? => ( ( ( rule__DatamartTableHeader__Group_2_0__0 ) ) ) ) | ({...}? => ( ( ( rule__DatamartTableHeader__PageBreakAssignment_2_1 ) ) ) ) ) ;
+    public final void rule__DatamartTableHeader__UnorderedGroup_2__Impl() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+        		boolean selected = false;
+        	
+        try {
+            // InternalReportDSL.g:36428:1: ( ( ({...}? => ( ( ( rule__DatamartTableHeader__Group_2_0__0 ) ) ) ) | ({...}? => ( ( ( rule__DatamartTableHeader__PageBreakAssignment_2_1 ) ) ) ) ) )
+            // InternalReportDSL.g:36429:3: ( ({...}? => ( ( ( rule__DatamartTableHeader__Group_2_0__0 ) ) ) ) | ({...}? => ( ( ( rule__DatamartTableHeader__PageBreakAssignment_2_1 ) ) ) ) )
+            {
+            // InternalReportDSL.g:36429:3: ( ({...}? => ( ( ( rule__DatamartTableHeader__Group_2_0__0 ) ) ) ) | ({...}? => ( ( ( rule__DatamartTableHeader__PageBreakAssignment_2_1 ) ) ) ) )
+            int alt300=2;
+            int LA300_0 = input.LA(1);
+
+            if ( LA300_0 == 158 && getUnorderedGroupHelper().canSelect(grammarAccess.getDatamartTableHeaderAccess().getUnorderedGroup_2(), 0) ) {
+                alt300=1;
+            }
+            else if ( LA300_0 == 216 && getUnorderedGroupHelper().canSelect(grammarAccess.getDatamartTableHeaderAccess().getUnorderedGroup_2(), 1) ) {
+                alt300=2;
+            }
+            else {
+                if (state.backtracking>0) {state.failed=true; return ;}
+                NoViableAltException nvae =
+                    new NoViableAltException("", 300, 0, input);
+
+                throw nvae;
+            }
+            switch (alt300) {
+                case 1 :
+                    // InternalReportDSL.g:36430:3: ({...}? => ( ( ( rule__DatamartTableHeader__Group_2_0__0 ) ) ) )
+                    {
+                    // InternalReportDSL.g:36430:3: ({...}? => ( ( ( rule__DatamartTableHeader__Group_2_0__0 ) ) ) )
+                    // InternalReportDSL.g:36431:4: {...}? => ( ( ( rule__DatamartTableHeader__Group_2_0__0 ) ) )
+                    {
+                    if ( ! getUnorderedGroupHelper().canSelect(grammarAccess.getDatamartTableHeaderAccess().getUnorderedGroup_2(), 0) ) {
+                        if (state.backtracking>0) {state.failed=true; return ;}
+                        throw new FailedPredicateException(input, "rule__DatamartTableHeader__UnorderedGroup_2__Impl", "getUnorderedGroupHelper().canSelect(grammarAccess.getDatamartTableHeaderAccess().getUnorderedGroup_2(), 0)");
+                    }
+                    // InternalReportDSL.g:36431:115: ( ( ( rule__DatamartTableHeader__Group_2_0__0 ) ) )
+                    // InternalReportDSL.g:36432:5: ( ( rule__DatamartTableHeader__Group_2_0__0 ) )
+                    {
+                    getUnorderedGroupHelper().select(grammarAccess.getDatamartTableHeaderAccess().getUnorderedGroup_2(), 0);
+                    selected = true;
+                    // InternalReportDSL.g:36438:5: ( ( rule__DatamartTableHeader__Group_2_0__0 ) )
+                    // InternalReportDSL.g:36439:6: ( rule__DatamartTableHeader__Group_2_0__0 )
+                    {
+                    if ( state.backtracking==0 ) {
+                       before(grammarAccess.getDatamartTableHeaderAccess().getGroup_2_0()); 
+                    }
+                    // InternalReportDSL.g:36440:6: ( rule__DatamartTableHeader__Group_2_0__0 )
+                    // InternalReportDSL.g:36440:7: rule__DatamartTableHeader__Group_2_0__0
+                    {
+                    pushFollow(FOLLOW_2);
+                    rule__DatamartTableHeader__Group_2_0__0();
+
+                    state._fsp--;
+                    if (state.failed) return ;
+
+                    }
+
+                    if ( state.backtracking==0 ) {
+                       after(grammarAccess.getDatamartTableHeaderAccess().getGroup_2_0()); 
+                    }
+
+                    }
+
+
+                    }
+
+
+                    }
+
+
+                    }
+                    break;
+                case 2 :
+                    // InternalReportDSL.g:36445:3: ({...}? => ( ( ( rule__DatamartTableHeader__PageBreakAssignment_2_1 ) ) ) )
+                    {
+                    // InternalReportDSL.g:36445:3: ({...}? => ( ( ( rule__DatamartTableHeader__PageBreakAssignment_2_1 ) ) ) )
+                    // InternalReportDSL.g:36446:4: {...}? => ( ( ( rule__DatamartTableHeader__PageBreakAssignment_2_1 ) ) )
+                    {
+                    if ( ! getUnorderedGroupHelper().canSelect(grammarAccess.getDatamartTableHeaderAccess().getUnorderedGroup_2(), 1) ) {
+                        if (state.backtracking>0) {state.failed=true; return ;}
+                        throw new FailedPredicateException(input, "rule__DatamartTableHeader__UnorderedGroup_2__Impl", "getUnorderedGroupHelper().canSelect(grammarAccess.getDatamartTableHeaderAccess().getUnorderedGroup_2(), 1)");
+                    }
+                    // InternalReportDSL.g:36446:115: ( ( ( rule__DatamartTableHeader__PageBreakAssignment_2_1 ) ) )
+                    // InternalReportDSL.g:36447:5: ( ( rule__DatamartTableHeader__PageBreakAssignment_2_1 ) )
+                    {
+                    getUnorderedGroupHelper().select(grammarAccess.getDatamartTableHeaderAccess().getUnorderedGroup_2(), 1);
+                    selected = true;
+                    // InternalReportDSL.g:36453:5: ( ( rule__DatamartTableHeader__PageBreakAssignment_2_1 ) )
+                    // InternalReportDSL.g:36454:6: ( rule__DatamartTableHeader__PageBreakAssignment_2_1 )
+                    {
+                    if ( state.backtracking==0 ) {
+                       before(grammarAccess.getDatamartTableHeaderAccess().getPageBreakAssignment_2_1()); 
+                    }
+                    // InternalReportDSL.g:36455:6: ( rule__DatamartTableHeader__PageBreakAssignment_2_1 )
+                    // InternalReportDSL.g:36455:7: rule__DatamartTableHeader__PageBreakAssignment_2_1
+                    {
+                    pushFollow(FOLLOW_2);
+                    rule__DatamartTableHeader__PageBreakAssignment_2_1();
+
+                    state._fsp--;
+                    if (state.failed) return ;
+
+                    }
+
+                    if ( state.backtracking==0 ) {
+                       after(grammarAccess.getDatamartTableHeaderAccess().getPageBreakAssignment_2_1()); 
+                    }
+
+                    }
+
+
+                    }
+
+
+                    }
+
+
+                    }
+                    break;
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	if (selected)
+            		getUnorderedGroupHelper().returnFromSelection(grammarAccess.getDatamartTableHeaderAccess().getUnorderedGroup_2());
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__DatamartTableHeader__UnorderedGroup_2__Impl"
+
+
+    // $ANTLR start "rule__DatamartTableHeader__UnorderedGroup_2__0"
+    // InternalReportDSL.g:36468:1: rule__DatamartTableHeader__UnorderedGroup_2__0 : rule__DatamartTableHeader__UnorderedGroup_2__Impl ( rule__DatamartTableHeader__UnorderedGroup_2__1 )? ;
+    public final void rule__DatamartTableHeader__UnorderedGroup_2__0() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+        	
+        try {
+            // InternalReportDSL.g:36472:1: ( rule__DatamartTableHeader__UnorderedGroup_2__Impl ( rule__DatamartTableHeader__UnorderedGroup_2__1 )? )
+            // InternalReportDSL.g:36473:2: rule__DatamartTableHeader__UnorderedGroup_2__Impl ( rule__DatamartTableHeader__UnorderedGroup_2__1 )?
+            {
+            pushFollow(FOLLOW_225);
+            rule__DatamartTableHeader__UnorderedGroup_2__Impl();
+
+            state._fsp--;
+            if (state.failed) return ;
+            // InternalReportDSL.g:36474:2: ( rule__DatamartTableHeader__UnorderedGroup_2__1 )?
+            int alt301=2;
+            int LA301_0 = input.LA(1);
+
+            if ( LA301_0 == 158 && getUnorderedGroupHelper().canSelect(grammarAccess.getDatamartTableHeaderAccess().getUnorderedGroup_2(), 0) ) {
+                alt301=1;
+            }
+            else if ( LA301_0 == 216 && getUnorderedGroupHelper().canSelect(grammarAccess.getDatamartTableHeaderAccess().getUnorderedGroup_2(), 1) ) {
+                alt301=1;
+            }
+            switch (alt301) {
+                case 1 :
+                    // InternalReportDSL.g:0:0: rule__DatamartTableHeader__UnorderedGroup_2__1
+                    {
+                    pushFollow(FOLLOW_2);
+                    rule__DatamartTableHeader__UnorderedGroup_2__1();
+
+                    state._fsp--;
+                    if (state.failed) return ;
+
+                    }
+                    break;
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__DatamartTableHeader__UnorderedGroup_2__0"
+
+
+    // $ANTLR start "rule__DatamartTableHeader__UnorderedGroup_2__1"
+    // InternalReportDSL.g:36480:1: rule__DatamartTableHeader__UnorderedGroup_2__1 : rule__DatamartTableHeader__UnorderedGroup_2__Impl ;
+    public final void rule__DatamartTableHeader__UnorderedGroup_2__1() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+        	
+        try {
+            // InternalReportDSL.g:36484:1: ( rule__DatamartTableHeader__UnorderedGroup_2__Impl )
+            // InternalReportDSL.g:36485:2: rule__DatamartTableHeader__UnorderedGroup_2__Impl
+            {
+            pushFollow(FOLLOW_2);
+            rule__DatamartTableHeader__UnorderedGroup_2__Impl();
+
+            state._fsp--;
+            if (state.failed) return ;
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__DatamartTableHeader__UnorderedGroup_2__1"
+
+
+    // $ANTLR start "rule__DatamartTableFooter__UnorderedGroup_2"
+    // InternalReportDSL.g:36492:1: rule__DatamartTableFooter__UnorderedGroup_2 : ( rule__DatamartTableFooter__UnorderedGroup_2__0 )? ;
+    public final void rule__DatamartTableFooter__UnorderedGroup_2() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+        		getUnorderedGroupHelper().enter(grammarAccess.getDatamartTableFooterAccess().getUnorderedGroup_2());
+        	
+        try {
+            // InternalReportDSL.g:36497:1: ( ( rule__DatamartTableFooter__UnorderedGroup_2__0 )? )
+            // InternalReportDSL.g:36498:2: ( rule__DatamartTableFooter__UnorderedGroup_2__0 )?
+            {
+            // InternalReportDSL.g:36498:2: ( rule__DatamartTableFooter__UnorderedGroup_2__0 )?
+            int alt302=2;
+            int LA302_0 = input.LA(1);
+
+            if ( LA302_0 == 158 && getUnorderedGroupHelper().canSelect(grammarAccess.getDatamartTableFooterAccess().getUnorderedGroup_2(), 0) ) {
+                alt302=1;
+            }
+            else if ( LA302_0 == 216 && getUnorderedGroupHelper().canSelect(grammarAccess.getDatamartTableFooterAccess().getUnorderedGroup_2(), 1) ) {
+                alt302=1;
+            }
+            switch (alt302) {
+                case 1 :
+                    // InternalReportDSL.g:0:0: rule__DatamartTableFooter__UnorderedGroup_2__0
+                    {
+                    pushFollow(FOLLOW_2);
+                    rule__DatamartTableFooter__UnorderedGroup_2__0();
+
+                    state._fsp--;
+                    if (state.failed) return ;
+
+                    }
+                    break;
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	getUnorderedGroupHelper().leave(grammarAccess.getDatamartTableFooterAccess().getUnorderedGroup_2());
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__DatamartTableFooter__UnorderedGroup_2"
+
+
+    // $ANTLR start "rule__DatamartTableFooter__UnorderedGroup_2__Impl"
+    // InternalReportDSL.g:36506:1: rule__DatamartTableFooter__UnorderedGroup_2__Impl : ( ({...}? => ( ( ( rule__DatamartTableFooter__Group_2_0__0 ) ) ) ) | ({...}? => ( ( ( rule__DatamartTableFooter__PageBreakAssignment_2_1 ) ) ) ) ) ;
+    public final void rule__DatamartTableFooter__UnorderedGroup_2__Impl() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+        		boolean selected = false;
+        	
+        try {
+            // InternalReportDSL.g:36511:1: ( ( ({...}? => ( ( ( rule__DatamartTableFooter__Group_2_0__0 ) ) ) ) | ({...}? => ( ( ( rule__DatamartTableFooter__PageBreakAssignment_2_1 ) ) ) ) ) )
+            // InternalReportDSL.g:36512:3: ( ({...}? => ( ( ( rule__DatamartTableFooter__Group_2_0__0 ) ) ) ) | ({...}? => ( ( ( rule__DatamartTableFooter__PageBreakAssignment_2_1 ) ) ) ) )
+            {
+            // InternalReportDSL.g:36512:3: ( ({...}? => ( ( ( rule__DatamartTableFooter__Group_2_0__0 ) ) ) ) | ({...}? => ( ( ( rule__DatamartTableFooter__PageBreakAssignment_2_1 ) ) ) ) )
+            int alt303=2;
+            int LA303_0 = input.LA(1);
+
+            if ( LA303_0 == 158 && getUnorderedGroupHelper().canSelect(grammarAccess.getDatamartTableFooterAccess().getUnorderedGroup_2(), 0) ) {
+                alt303=1;
+            }
+            else if ( LA303_0 == 216 && getUnorderedGroupHelper().canSelect(grammarAccess.getDatamartTableFooterAccess().getUnorderedGroup_2(), 1) ) {
+                alt303=2;
+            }
+            else {
+                if (state.backtracking>0) {state.failed=true; return ;}
+                NoViableAltException nvae =
+                    new NoViableAltException("", 303, 0, input);
+
+                throw nvae;
+            }
+            switch (alt303) {
+                case 1 :
+                    // InternalReportDSL.g:36513:3: ({...}? => ( ( ( rule__DatamartTableFooter__Group_2_0__0 ) ) ) )
+                    {
+                    // InternalReportDSL.g:36513:3: ({...}? => ( ( ( rule__DatamartTableFooter__Group_2_0__0 ) ) ) )
+                    // InternalReportDSL.g:36514:4: {...}? => ( ( ( rule__DatamartTableFooter__Group_2_0__0 ) ) )
+                    {
+                    if ( ! getUnorderedGroupHelper().canSelect(grammarAccess.getDatamartTableFooterAccess().getUnorderedGroup_2(), 0) ) {
+                        if (state.backtracking>0) {state.failed=true; return ;}
+                        throw new FailedPredicateException(input, "rule__DatamartTableFooter__UnorderedGroup_2__Impl", "getUnorderedGroupHelper().canSelect(grammarAccess.getDatamartTableFooterAccess().getUnorderedGroup_2(), 0)");
+                    }
+                    // InternalReportDSL.g:36514:115: ( ( ( rule__DatamartTableFooter__Group_2_0__0 ) ) )
+                    // InternalReportDSL.g:36515:5: ( ( rule__DatamartTableFooter__Group_2_0__0 ) )
+                    {
+                    getUnorderedGroupHelper().select(grammarAccess.getDatamartTableFooterAccess().getUnorderedGroup_2(), 0);
+                    selected = true;
+                    // InternalReportDSL.g:36521:5: ( ( rule__DatamartTableFooter__Group_2_0__0 ) )
+                    // InternalReportDSL.g:36522:6: ( rule__DatamartTableFooter__Group_2_0__0 )
+                    {
+                    if ( state.backtracking==0 ) {
+                       before(grammarAccess.getDatamartTableFooterAccess().getGroup_2_0()); 
+                    }
+                    // InternalReportDSL.g:36523:6: ( rule__DatamartTableFooter__Group_2_0__0 )
+                    // InternalReportDSL.g:36523:7: rule__DatamartTableFooter__Group_2_0__0
+                    {
+                    pushFollow(FOLLOW_2);
+                    rule__DatamartTableFooter__Group_2_0__0();
+
+                    state._fsp--;
+                    if (state.failed) return ;
+
+                    }
+
+                    if ( state.backtracking==0 ) {
+                       after(grammarAccess.getDatamartTableFooterAccess().getGroup_2_0()); 
+                    }
+
+                    }
+
+
+                    }
+
+
+                    }
+
+
+                    }
+                    break;
+                case 2 :
+                    // InternalReportDSL.g:36528:3: ({...}? => ( ( ( rule__DatamartTableFooter__PageBreakAssignment_2_1 ) ) ) )
+                    {
+                    // InternalReportDSL.g:36528:3: ({...}? => ( ( ( rule__DatamartTableFooter__PageBreakAssignment_2_1 ) ) ) )
+                    // InternalReportDSL.g:36529:4: {...}? => ( ( ( rule__DatamartTableFooter__PageBreakAssignment_2_1 ) ) )
+                    {
+                    if ( ! getUnorderedGroupHelper().canSelect(grammarAccess.getDatamartTableFooterAccess().getUnorderedGroup_2(), 1) ) {
+                        if (state.backtracking>0) {state.failed=true; return ;}
+                        throw new FailedPredicateException(input, "rule__DatamartTableFooter__UnorderedGroup_2__Impl", "getUnorderedGroupHelper().canSelect(grammarAccess.getDatamartTableFooterAccess().getUnorderedGroup_2(), 1)");
+                    }
+                    // InternalReportDSL.g:36529:115: ( ( ( rule__DatamartTableFooter__PageBreakAssignment_2_1 ) ) )
+                    // InternalReportDSL.g:36530:5: ( ( rule__DatamartTableFooter__PageBreakAssignment_2_1 ) )
+                    {
+                    getUnorderedGroupHelper().select(grammarAccess.getDatamartTableFooterAccess().getUnorderedGroup_2(), 1);
+                    selected = true;
+                    // InternalReportDSL.g:36536:5: ( ( rule__DatamartTableFooter__PageBreakAssignment_2_1 ) )
+                    // InternalReportDSL.g:36537:6: ( rule__DatamartTableFooter__PageBreakAssignment_2_1 )
+                    {
+                    if ( state.backtracking==0 ) {
+                       before(grammarAccess.getDatamartTableFooterAccess().getPageBreakAssignment_2_1()); 
+                    }
+                    // InternalReportDSL.g:36538:6: ( rule__DatamartTableFooter__PageBreakAssignment_2_1 )
+                    // InternalReportDSL.g:36538:7: rule__DatamartTableFooter__PageBreakAssignment_2_1
+                    {
+                    pushFollow(FOLLOW_2);
+                    rule__DatamartTableFooter__PageBreakAssignment_2_1();
+
+                    state._fsp--;
+                    if (state.failed) return ;
+
+                    }
+
+                    if ( state.backtracking==0 ) {
+                       after(grammarAccess.getDatamartTableFooterAccess().getPageBreakAssignment_2_1()); 
+                    }
+
+                    }
+
+
+                    }
+
+
+                    }
+
+
+                    }
+                    break;
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	if (selected)
+            		getUnorderedGroupHelper().returnFromSelection(grammarAccess.getDatamartTableFooterAccess().getUnorderedGroup_2());
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__DatamartTableFooter__UnorderedGroup_2__Impl"
+
+
+    // $ANTLR start "rule__DatamartTableFooter__UnorderedGroup_2__0"
+    // InternalReportDSL.g:36551:1: rule__DatamartTableFooter__UnorderedGroup_2__0 : rule__DatamartTableFooter__UnorderedGroup_2__Impl ( rule__DatamartTableFooter__UnorderedGroup_2__1 )? ;
+    public final void rule__DatamartTableFooter__UnorderedGroup_2__0() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+        	
+        try {
+            // InternalReportDSL.g:36555:1: ( rule__DatamartTableFooter__UnorderedGroup_2__Impl ( rule__DatamartTableFooter__UnorderedGroup_2__1 )? )
+            // InternalReportDSL.g:36556:2: rule__DatamartTableFooter__UnorderedGroup_2__Impl ( rule__DatamartTableFooter__UnorderedGroup_2__1 )?
+            {
+            pushFollow(FOLLOW_225);
+            rule__DatamartTableFooter__UnorderedGroup_2__Impl();
+
+            state._fsp--;
+            if (state.failed) return ;
+            // InternalReportDSL.g:36557:2: ( rule__DatamartTableFooter__UnorderedGroup_2__1 )?
+            int alt304=2;
+            int LA304_0 = input.LA(1);
+
+            if ( LA304_0 == 158 && getUnorderedGroupHelper().canSelect(grammarAccess.getDatamartTableFooterAccess().getUnorderedGroup_2(), 0) ) {
+                alt304=1;
+            }
+            else if ( LA304_0 == 216 && getUnorderedGroupHelper().canSelect(grammarAccess.getDatamartTableFooterAccess().getUnorderedGroup_2(), 1) ) {
+                alt304=1;
+            }
+            switch (alt304) {
+                case 1 :
+                    // InternalReportDSL.g:0:0: rule__DatamartTableFooter__UnorderedGroup_2__1
+                    {
+                    pushFollow(FOLLOW_2);
+                    rule__DatamartTableFooter__UnorderedGroup_2__1();
+
+                    state._fsp--;
+                    if (state.failed) return ;
+
+                    }
+                    break;
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__DatamartTableFooter__UnorderedGroup_2__0"
+
+
+    // $ANTLR start "rule__DatamartTableFooter__UnorderedGroup_2__1"
+    // InternalReportDSL.g:36563:1: rule__DatamartTableFooter__UnorderedGroup_2__1 : rule__DatamartTableFooter__UnorderedGroup_2__Impl ;
+    public final void rule__DatamartTableFooter__UnorderedGroup_2__1() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+        	
+        try {
+            // InternalReportDSL.g:36567:1: ( rule__DatamartTableFooter__UnorderedGroup_2__Impl )
+            // InternalReportDSL.g:36568:2: rule__DatamartTableFooter__UnorderedGroup_2__Impl
+            {
+            pushFollow(FOLLOW_2);
+            rule__DatamartTableFooter__UnorderedGroup_2__Impl();
+
+            state._fsp--;
+            if (state.failed) return ;
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__DatamartTableFooter__UnorderedGroup_2__1"
 
 
     // $ANTLR start "rule__DatamartTableAttribute__UnorderedGroup_1"
-    // InternalReportDSL.g:36095:1: rule__DatamartTableAttribute__UnorderedGroup_1 : ( rule__DatamartTableAttribute__UnorderedGroup_1__0 )? ;
+    // InternalReportDSL.g:36575:1: rule__DatamartTableAttribute__UnorderedGroup_1 : ( rule__DatamartTableAttribute__UnorderedGroup_1__0 )? ;
     public final void rule__DatamartTableAttribute__UnorderedGroup_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         		getUnorderedGroupHelper().enter(grammarAccess.getDatamartTableAttributeAccess().getUnorderedGroup_1());
         	
         try {
-            // InternalReportDSL.g:36100:1: ( ( rule__DatamartTableAttribute__UnorderedGroup_1__0 )? )
-            // InternalReportDSL.g:36101:2: ( rule__DatamartTableAttribute__UnorderedGroup_1__0 )?
+            // InternalReportDSL.g:36580:1: ( ( rule__DatamartTableAttribute__UnorderedGroup_1__0 )? )
+            // InternalReportDSL.g:36581:2: ( rule__DatamartTableAttribute__UnorderedGroup_1__0 )?
             {
-            // InternalReportDSL.g:36101:2: ( rule__DatamartTableAttribute__UnorderedGroup_1__0 )?
-            int alt295=2;
-            int LA295_0 = input.LA(1);
+            // InternalReportDSL.g:36581:2: ( rule__DatamartTableAttribute__UnorderedGroup_1__0 )?
+            int alt305=2;
+            int LA305_0 = input.LA(1);
 
-            if ( LA295_0 == 190 && getUnorderedGroupHelper().canSelect(grammarAccess.getDatamartTableAttributeAccess().getUnorderedGroup_1(), 0) ) {
-                alt295=1;
+            if ( LA305_0 == 197 && getUnorderedGroupHelper().canSelect(grammarAccess.getDatamartTableAttributeAccess().getUnorderedGroup_1(), 0) ) {
+                alt305=1;
             }
-            else if ( LA295_0 == 152 && getUnorderedGroupHelper().canSelect(grammarAccess.getDatamartTableAttributeAccess().getUnorderedGroup_1(), 1) ) {
-                alt295=1;
+            else if ( LA305_0 == 158 && getUnorderedGroupHelper().canSelect(grammarAccess.getDatamartTableAttributeAccess().getUnorderedGroup_1(), 1) ) {
+                alt305=1;
             }
-            else if ( LA295_0 == 198 && getUnorderedGroupHelper().canSelect(grammarAccess.getDatamartTableAttributeAccess().getUnorderedGroup_1(), 2) ) {
-                alt295=1;
+            else if ( LA305_0 == 205 && getUnorderedGroupHelper().canSelect(grammarAccess.getDatamartTableAttributeAccess().getUnorderedGroup_1(), 2) ) {
+                alt305=1;
             }
-            else if ( LA295_0 == 199 && getUnorderedGroupHelper().canSelect(grammarAccess.getDatamartTableAttributeAccess().getUnorderedGroup_1(), 3) ) {
-                alt295=1;
+            else if ( LA305_0 == 206 && getUnorderedGroupHelper().canSelect(grammarAccess.getDatamartTableAttributeAccess().getUnorderedGroup_1(), 3) ) {
+                alt305=1;
             }
-            switch (alt295) {
+            switch (alt305) {
                 case 1 :
                     // InternalReportDSL.g:0:0: rule__DatamartTableAttribute__UnorderedGroup_1__0
                     {
@@ -118596,63 +120308,63 @@
 
 
     // $ANTLR start "rule__DatamartTableAttribute__UnorderedGroup_1__Impl"
-    // InternalReportDSL.g:36109:1: rule__DatamartTableAttribute__UnorderedGroup_1__Impl : ( ({...}? => ( ( ( rule__DatamartTableAttribute__Group_1_0__0 ) ) ) ) | ({...}? => ( ( ( rule__DatamartTableAttribute__Group_1_1__0 ) ) ) ) | ({...}? => ( ( ( rule__DatamartTableAttribute__Group_1_2__0 ) ) ) ) | ({...}? => ( ( ( rule__DatamartTableAttribute__Group_1_3__0 ) ) ) ) ) ;
+    // InternalReportDSL.g:36589:1: rule__DatamartTableAttribute__UnorderedGroup_1__Impl : ( ({...}? => ( ( ( rule__DatamartTableAttribute__Group_1_0__0 ) ) ) ) | ({...}? => ( ( ( rule__DatamartTableAttribute__Group_1_1__0 ) ) ) ) | ({...}? => ( ( ( rule__DatamartTableAttribute__Group_1_2__0 ) ) ) ) | ({...}? => ( ( ( rule__DatamartTableAttribute__Group_1_3__0 ) ) ) ) ) ;
     public final void rule__DatamartTableAttribute__UnorderedGroup_1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         		boolean selected = false;
         	
         try {
-            // InternalReportDSL.g:36114:1: ( ( ({...}? => ( ( ( rule__DatamartTableAttribute__Group_1_0__0 ) ) ) ) | ({...}? => ( ( ( rule__DatamartTableAttribute__Group_1_1__0 ) ) ) ) | ({...}? => ( ( ( rule__DatamartTableAttribute__Group_1_2__0 ) ) ) ) | ({...}? => ( ( ( rule__DatamartTableAttribute__Group_1_3__0 ) ) ) ) ) )
-            // InternalReportDSL.g:36115:3: ( ({...}? => ( ( ( rule__DatamartTableAttribute__Group_1_0__0 ) ) ) ) | ({...}? => ( ( ( rule__DatamartTableAttribute__Group_1_1__0 ) ) ) ) | ({...}? => ( ( ( rule__DatamartTableAttribute__Group_1_2__0 ) ) ) ) | ({...}? => ( ( ( rule__DatamartTableAttribute__Group_1_3__0 ) ) ) ) )
+            // InternalReportDSL.g:36594:1: ( ( ({...}? => ( ( ( rule__DatamartTableAttribute__Group_1_0__0 ) ) ) ) | ({...}? => ( ( ( rule__DatamartTableAttribute__Group_1_1__0 ) ) ) ) | ({...}? => ( ( ( rule__DatamartTableAttribute__Group_1_2__0 ) ) ) ) | ({...}? => ( ( ( rule__DatamartTableAttribute__Group_1_3__0 ) ) ) ) ) )
+            // InternalReportDSL.g:36595:3: ( ({...}? => ( ( ( rule__DatamartTableAttribute__Group_1_0__0 ) ) ) ) | ({...}? => ( ( ( rule__DatamartTableAttribute__Group_1_1__0 ) ) ) ) | ({...}? => ( ( ( rule__DatamartTableAttribute__Group_1_2__0 ) ) ) ) | ({...}? => ( ( ( rule__DatamartTableAttribute__Group_1_3__0 ) ) ) ) )
             {
-            // InternalReportDSL.g:36115:3: ( ({...}? => ( ( ( rule__DatamartTableAttribute__Group_1_0__0 ) ) ) ) | ({...}? => ( ( ( rule__DatamartTableAttribute__Group_1_1__0 ) ) ) ) | ({...}? => ( ( ( rule__DatamartTableAttribute__Group_1_2__0 ) ) ) ) | ({...}? => ( ( ( rule__DatamartTableAttribute__Group_1_3__0 ) ) ) ) )
-            int alt296=4;
-            int LA296_0 = input.LA(1);
+            // InternalReportDSL.g:36595:3: ( ({...}? => ( ( ( rule__DatamartTableAttribute__Group_1_0__0 ) ) ) ) | ({...}? => ( ( ( rule__DatamartTableAttribute__Group_1_1__0 ) ) ) ) | ({...}? => ( ( ( rule__DatamartTableAttribute__Group_1_2__0 ) ) ) ) | ({...}? => ( ( ( rule__DatamartTableAttribute__Group_1_3__0 ) ) ) ) )
+            int alt306=4;
+            int LA306_0 = input.LA(1);
 
-            if ( LA296_0 == 190 && getUnorderedGroupHelper().canSelect(grammarAccess.getDatamartTableAttributeAccess().getUnorderedGroup_1(), 0) ) {
-                alt296=1;
+            if ( LA306_0 == 197 && getUnorderedGroupHelper().canSelect(grammarAccess.getDatamartTableAttributeAccess().getUnorderedGroup_1(), 0) ) {
+                alt306=1;
             }
-            else if ( LA296_0 == 152 && getUnorderedGroupHelper().canSelect(grammarAccess.getDatamartTableAttributeAccess().getUnorderedGroup_1(), 1) ) {
-                alt296=2;
+            else if ( LA306_0 == 158 && getUnorderedGroupHelper().canSelect(grammarAccess.getDatamartTableAttributeAccess().getUnorderedGroup_1(), 1) ) {
+                alt306=2;
             }
-            else if ( LA296_0 == 198 && getUnorderedGroupHelper().canSelect(grammarAccess.getDatamartTableAttributeAccess().getUnorderedGroup_1(), 2) ) {
-                alt296=3;
+            else if ( LA306_0 == 205 && getUnorderedGroupHelper().canSelect(grammarAccess.getDatamartTableAttributeAccess().getUnorderedGroup_1(), 2) ) {
+                alt306=3;
             }
-            else if ( LA296_0 == 199 && getUnorderedGroupHelper().canSelect(grammarAccess.getDatamartTableAttributeAccess().getUnorderedGroup_1(), 3) ) {
-                alt296=4;
+            else if ( LA306_0 == 206 && getUnorderedGroupHelper().canSelect(grammarAccess.getDatamartTableAttributeAccess().getUnorderedGroup_1(), 3) ) {
+                alt306=4;
             }
             else {
                 if (state.backtracking>0) {state.failed=true; return ;}
                 NoViableAltException nvae =
-                    new NoViableAltException("", 296, 0, input);
+                    new NoViableAltException("", 306, 0, input);
 
                 throw nvae;
             }
-            switch (alt296) {
+            switch (alt306) {
                 case 1 :
-                    // InternalReportDSL.g:36116:3: ({...}? => ( ( ( rule__DatamartTableAttribute__Group_1_0__0 ) ) ) )
+                    // InternalReportDSL.g:36596:3: ({...}? => ( ( ( rule__DatamartTableAttribute__Group_1_0__0 ) ) ) )
                     {
-                    // InternalReportDSL.g:36116:3: ({...}? => ( ( ( rule__DatamartTableAttribute__Group_1_0__0 ) ) ) )
-                    // InternalReportDSL.g:36117:4: {...}? => ( ( ( rule__DatamartTableAttribute__Group_1_0__0 ) ) )
+                    // InternalReportDSL.g:36596:3: ({...}? => ( ( ( rule__DatamartTableAttribute__Group_1_0__0 ) ) ) )
+                    // InternalReportDSL.g:36597:4: {...}? => ( ( ( rule__DatamartTableAttribute__Group_1_0__0 ) ) )
                     {
                     if ( ! getUnorderedGroupHelper().canSelect(grammarAccess.getDatamartTableAttributeAccess().getUnorderedGroup_1(), 0) ) {
                         if (state.backtracking>0) {state.failed=true; return ;}
                         throw new FailedPredicateException(input, "rule__DatamartTableAttribute__UnorderedGroup_1__Impl", "getUnorderedGroupHelper().canSelect(grammarAccess.getDatamartTableAttributeAccess().getUnorderedGroup_1(), 0)");
                     }
-                    // InternalReportDSL.g:36117:118: ( ( ( rule__DatamartTableAttribute__Group_1_0__0 ) ) )
-                    // InternalReportDSL.g:36118:5: ( ( rule__DatamartTableAttribute__Group_1_0__0 ) )
+                    // InternalReportDSL.g:36597:118: ( ( ( rule__DatamartTableAttribute__Group_1_0__0 ) ) )
+                    // InternalReportDSL.g:36598:5: ( ( rule__DatamartTableAttribute__Group_1_0__0 ) )
                     {
                     getUnorderedGroupHelper().select(grammarAccess.getDatamartTableAttributeAccess().getUnorderedGroup_1(), 0);
                     selected = true;
-                    // InternalReportDSL.g:36124:5: ( ( rule__DatamartTableAttribute__Group_1_0__0 ) )
-                    // InternalReportDSL.g:36125:6: ( rule__DatamartTableAttribute__Group_1_0__0 )
+                    // InternalReportDSL.g:36604:5: ( ( rule__DatamartTableAttribute__Group_1_0__0 ) )
+                    // InternalReportDSL.g:36605:6: ( rule__DatamartTableAttribute__Group_1_0__0 )
                     {
                     if ( state.backtracking==0 ) {
                        before(grammarAccess.getDatamartTableAttributeAccess().getGroup_1_0()); 
                     }
-                    // InternalReportDSL.g:36126:6: ( rule__DatamartTableAttribute__Group_1_0__0 )
-                    // InternalReportDSL.g:36126:7: rule__DatamartTableAttribute__Group_1_0__0
+                    // InternalReportDSL.g:36606:6: ( rule__DatamartTableAttribute__Group_1_0__0 )
+                    // InternalReportDSL.g:36606:7: rule__DatamartTableAttribute__Group_1_0__0
                     {
                     pushFollow(FOLLOW_2);
                     rule__DatamartTableAttribute__Group_1_0__0();
@@ -118678,28 +120390,28 @@
                     }
                     break;
                 case 2 :
-                    // InternalReportDSL.g:36131:3: ({...}? => ( ( ( rule__DatamartTableAttribute__Group_1_1__0 ) ) ) )
+                    // InternalReportDSL.g:36611:3: ({...}? => ( ( ( rule__DatamartTableAttribute__Group_1_1__0 ) ) ) )
                     {
-                    // InternalReportDSL.g:36131:3: ({...}? => ( ( ( rule__DatamartTableAttribute__Group_1_1__0 ) ) ) )
-                    // InternalReportDSL.g:36132:4: {...}? => ( ( ( rule__DatamartTableAttribute__Group_1_1__0 ) ) )
+                    // InternalReportDSL.g:36611:3: ({...}? => ( ( ( rule__DatamartTableAttribute__Group_1_1__0 ) ) ) )
+                    // InternalReportDSL.g:36612:4: {...}? => ( ( ( rule__DatamartTableAttribute__Group_1_1__0 ) ) )
                     {
                     if ( ! getUnorderedGroupHelper().canSelect(grammarAccess.getDatamartTableAttributeAccess().getUnorderedGroup_1(), 1) ) {
                         if (state.backtracking>0) {state.failed=true; return ;}
                         throw new FailedPredicateException(input, "rule__DatamartTableAttribute__UnorderedGroup_1__Impl", "getUnorderedGroupHelper().canSelect(grammarAccess.getDatamartTableAttributeAccess().getUnorderedGroup_1(), 1)");
                     }
-                    // InternalReportDSL.g:36132:118: ( ( ( rule__DatamartTableAttribute__Group_1_1__0 ) ) )
-                    // InternalReportDSL.g:36133:5: ( ( rule__DatamartTableAttribute__Group_1_1__0 ) )
+                    // InternalReportDSL.g:36612:118: ( ( ( rule__DatamartTableAttribute__Group_1_1__0 ) ) )
+                    // InternalReportDSL.g:36613:5: ( ( rule__DatamartTableAttribute__Group_1_1__0 ) )
                     {
                     getUnorderedGroupHelper().select(grammarAccess.getDatamartTableAttributeAccess().getUnorderedGroup_1(), 1);
                     selected = true;
-                    // InternalReportDSL.g:36139:5: ( ( rule__DatamartTableAttribute__Group_1_1__0 ) )
-                    // InternalReportDSL.g:36140:6: ( rule__DatamartTableAttribute__Group_1_1__0 )
+                    // InternalReportDSL.g:36619:5: ( ( rule__DatamartTableAttribute__Group_1_1__0 ) )
+                    // InternalReportDSL.g:36620:6: ( rule__DatamartTableAttribute__Group_1_1__0 )
                     {
                     if ( state.backtracking==0 ) {
                        before(grammarAccess.getDatamartTableAttributeAccess().getGroup_1_1()); 
                     }
-                    // InternalReportDSL.g:36141:6: ( rule__DatamartTableAttribute__Group_1_1__0 )
-                    // InternalReportDSL.g:36141:7: rule__DatamartTableAttribute__Group_1_1__0
+                    // InternalReportDSL.g:36621:6: ( rule__DatamartTableAttribute__Group_1_1__0 )
+                    // InternalReportDSL.g:36621:7: rule__DatamartTableAttribute__Group_1_1__0
                     {
                     pushFollow(FOLLOW_2);
                     rule__DatamartTableAttribute__Group_1_1__0();
@@ -118725,28 +120437,28 @@
                     }
                     break;
                 case 3 :
-                    // InternalReportDSL.g:36146:3: ({...}? => ( ( ( rule__DatamartTableAttribute__Group_1_2__0 ) ) ) )
+                    // InternalReportDSL.g:36626:3: ({...}? => ( ( ( rule__DatamartTableAttribute__Group_1_2__0 ) ) ) )
                     {
-                    // InternalReportDSL.g:36146:3: ({...}? => ( ( ( rule__DatamartTableAttribute__Group_1_2__0 ) ) ) )
-                    // InternalReportDSL.g:36147:4: {...}? => ( ( ( rule__DatamartTableAttribute__Group_1_2__0 ) ) )
+                    // InternalReportDSL.g:36626:3: ({...}? => ( ( ( rule__DatamartTableAttribute__Group_1_2__0 ) ) ) )
+                    // InternalReportDSL.g:36627:4: {...}? => ( ( ( rule__DatamartTableAttribute__Group_1_2__0 ) ) )
                     {
                     if ( ! getUnorderedGroupHelper().canSelect(grammarAccess.getDatamartTableAttributeAccess().getUnorderedGroup_1(), 2) ) {
                         if (state.backtracking>0) {state.failed=true; return ;}
                         throw new FailedPredicateException(input, "rule__DatamartTableAttribute__UnorderedGroup_1__Impl", "getUnorderedGroupHelper().canSelect(grammarAccess.getDatamartTableAttributeAccess().getUnorderedGroup_1(), 2)");
                     }
-                    // InternalReportDSL.g:36147:118: ( ( ( rule__DatamartTableAttribute__Group_1_2__0 ) ) )
-                    // InternalReportDSL.g:36148:5: ( ( rule__DatamartTableAttribute__Group_1_2__0 ) )
+                    // InternalReportDSL.g:36627:118: ( ( ( rule__DatamartTableAttribute__Group_1_2__0 ) ) )
+                    // InternalReportDSL.g:36628:5: ( ( rule__DatamartTableAttribute__Group_1_2__0 ) )
                     {
                     getUnorderedGroupHelper().select(grammarAccess.getDatamartTableAttributeAccess().getUnorderedGroup_1(), 2);
                     selected = true;
-                    // InternalReportDSL.g:36154:5: ( ( rule__DatamartTableAttribute__Group_1_2__0 ) )
-                    // InternalReportDSL.g:36155:6: ( rule__DatamartTableAttribute__Group_1_2__0 )
+                    // InternalReportDSL.g:36634:5: ( ( rule__DatamartTableAttribute__Group_1_2__0 ) )
+                    // InternalReportDSL.g:36635:6: ( rule__DatamartTableAttribute__Group_1_2__0 )
                     {
                     if ( state.backtracking==0 ) {
                        before(grammarAccess.getDatamartTableAttributeAccess().getGroup_1_2()); 
                     }
-                    // InternalReportDSL.g:36156:6: ( rule__DatamartTableAttribute__Group_1_2__0 )
-                    // InternalReportDSL.g:36156:7: rule__DatamartTableAttribute__Group_1_2__0
+                    // InternalReportDSL.g:36636:6: ( rule__DatamartTableAttribute__Group_1_2__0 )
+                    // InternalReportDSL.g:36636:7: rule__DatamartTableAttribute__Group_1_2__0
                     {
                     pushFollow(FOLLOW_2);
                     rule__DatamartTableAttribute__Group_1_2__0();
@@ -118772,28 +120484,28 @@
                     }
                     break;
                 case 4 :
-                    // InternalReportDSL.g:36161:3: ({...}? => ( ( ( rule__DatamartTableAttribute__Group_1_3__0 ) ) ) )
+                    // InternalReportDSL.g:36641:3: ({...}? => ( ( ( rule__DatamartTableAttribute__Group_1_3__0 ) ) ) )
                     {
-                    // InternalReportDSL.g:36161:3: ({...}? => ( ( ( rule__DatamartTableAttribute__Group_1_3__0 ) ) ) )
-                    // InternalReportDSL.g:36162:4: {...}? => ( ( ( rule__DatamartTableAttribute__Group_1_3__0 ) ) )
+                    // InternalReportDSL.g:36641:3: ({...}? => ( ( ( rule__DatamartTableAttribute__Group_1_3__0 ) ) ) )
+                    // InternalReportDSL.g:36642:4: {...}? => ( ( ( rule__DatamartTableAttribute__Group_1_3__0 ) ) )
                     {
                     if ( ! getUnorderedGroupHelper().canSelect(grammarAccess.getDatamartTableAttributeAccess().getUnorderedGroup_1(), 3) ) {
                         if (state.backtracking>0) {state.failed=true; return ;}
                         throw new FailedPredicateException(input, "rule__DatamartTableAttribute__UnorderedGroup_1__Impl", "getUnorderedGroupHelper().canSelect(grammarAccess.getDatamartTableAttributeAccess().getUnorderedGroup_1(), 3)");
                     }
-                    // InternalReportDSL.g:36162:118: ( ( ( rule__DatamartTableAttribute__Group_1_3__0 ) ) )
-                    // InternalReportDSL.g:36163:5: ( ( rule__DatamartTableAttribute__Group_1_3__0 ) )
+                    // InternalReportDSL.g:36642:118: ( ( ( rule__DatamartTableAttribute__Group_1_3__0 ) ) )
+                    // InternalReportDSL.g:36643:5: ( ( rule__DatamartTableAttribute__Group_1_3__0 ) )
                     {
                     getUnorderedGroupHelper().select(grammarAccess.getDatamartTableAttributeAccess().getUnorderedGroup_1(), 3);
                     selected = true;
-                    // InternalReportDSL.g:36169:5: ( ( rule__DatamartTableAttribute__Group_1_3__0 ) )
-                    // InternalReportDSL.g:36170:6: ( rule__DatamartTableAttribute__Group_1_3__0 )
+                    // InternalReportDSL.g:36649:5: ( ( rule__DatamartTableAttribute__Group_1_3__0 ) )
+                    // InternalReportDSL.g:36650:6: ( rule__DatamartTableAttribute__Group_1_3__0 )
                     {
                     if ( state.backtracking==0 ) {
                        before(grammarAccess.getDatamartTableAttributeAccess().getGroup_1_3()); 
                     }
-                    // InternalReportDSL.g:36171:6: ( rule__DatamartTableAttribute__Group_1_3__0 )
-                    // InternalReportDSL.g:36171:7: rule__DatamartTableAttribute__Group_1_3__0
+                    // InternalReportDSL.g:36651:6: ( rule__DatamartTableAttribute__Group_1_3__0 )
+                    // InternalReportDSL.g:36651:7: rule__DatamartTableAttribute__Group_1_3__0
                     {
                     pushFollow(FOLLOW_2);
                     rule__DatamartTableAttribute__Group_1_3__0();
@@ -118842,37 +120554,37 @@
 
 
     // $ANTLR start "rule__DatamartTableAttribute__UnorderedGroup_1__0"
-    // InternalReportDSL.g:36184:1: rule__DatamartTableAttribute__UnorderedGroup_1__0 : rule__DatamartTableAttribute__UnorderedGroup_1__Impl ( rule__DatamartTableAttribute__UnorderedGroup_1__1 )? ;
+    // InternalReportDSL.g:36664:1: rule__DatamartTableAttribute__UnorderedGroup_1__0 : rule__DatamartTableAttribute__UnorderedGroup_1__Impl ( rule__DatamartTableAttribute__UnorderedGroup_1__1 )? ;
     public final void rule__DatamartTableAttribute__UnorderedGroup_1__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:36188:1: ( rule__DatamartTableAttribute__UnorderedGroup_1__Impl ( rule__DatamartTableAttribute__UnorderedGroup_1__1 )? )
-            // InternalReportDSL.g:36189:2: rule__DatamartTableAttribute__UnorderedGroup_1__Impl ( rule__DatamartTableAttribute__UnorderedGroup_1__1 )?
+            // InternalReportDSL.g:36668:1: ( rule__DatamartTableAttribute__UnorderedGroup_1__Impl ( rule__DatamartTableAttribute__UnorderedGroup_1__1 )? )
+            // InternalReportDSL.g:36669:2: rule__DatamartTableAttribute__UnorderedGroup_1__Impl ( rule__DatamartTableAttribute__UnorderedGroup_1__1 )?
             {
-            pushFollow(FOLLOW_224);
+            pushFollow(FOLLOW_226);
             rule__DatamartTableAttribute__UnorderedGroup_1__Impl();
 
             state._fsp--;
             if (state.failed) return ;
-            // InternalReportDSL.g:36190:2: ( rule__DatamartTableAttribute__UnorderedGroup_1__1 )?
-            int alt297=2;
-            int LA297_0 = input.LA(1);
+            // InternalReportDSL.g:36670:2: ( rule__DatamartTableAttribute__UnorderedGroup_1__1 )?
+            int alt307=2;
+            int LA307_0 = input.LA(1);
 
-            if ( LA297_0 == 190 && getUnorderedGroupHelper().canSelect(grammarAccess.getDatamartTableAttributeAccess().getUnorderedGroup_1(), 0) ) {
-                alt297=1;
+            if ( LA307_0 == 197 && getUnorderedGroupHelper().canSelect(grammarAccess.getDatamartTableAttributeAccess().getUnorderedGroup_1(), 0) ) {
+                alt307=1;
             }
-            else if ( LA297_0 == 152 && getUnorderedGroupHelper().canSelect(grammarAccess.getDatamartTableAttributeAccess().getUnorderedGroup_1(), 1) ) {
-                alt297=1;
+            else if ( LA307_0 == 158 && getUnorderedGroupHelper().canSelect(grammarAccess.getDatamartTableAttributeAccess().getUnorderedGroup_1(), 1) ) {
+                alt307=1;
             }
-            else if ( LA297_0 == 198 && getUnorderedGroupHelper().canSelect(grammarAccess.getDatamartTableAttributeAccess().getUnorderedGroup_1(), 2) ) {
-                alt297=1;
+            else if ( LA307_0 == 205 && getUnorderedGroupHelper().canSelect(grammarAccess.getDatamartTableAttributeAccess().getUnorderedGroup_1(), 2) ) {
+                alt307=1;
             }
-            else if ( LA297_0 == 199 && getUnorderedGroupHelper().canSelect(grammarAccess.getDatamartTableAttributeAccess().getUnorderedGroup_1(), 3) ) {
-                alt297=1;
+            else if ( LA307_0 == 206 && getUnorderedGroupHelper().canSelect(grammarAccess.getDatamartTableAttributeAccess().getUnorderedGroup_1(), 3) ) {
+                alt307=1;
             }
-            switch (alt297) {
+            switch (alt307) {
                 case 1 :
                     // InternalReportDSL.g:0:0: rule__DatamartTableAttribute__UnorderedGroup_1__1
                     {
@@ -118906,37 +120618,37 @@
 
 
     // $ANTLR start "rule__DatamartTableAttribute__UnorderedGroup_1__1"
-    // InternalReportDSL.g:36196:1: rule__DatamartTableAttribute__UnorderedGroup_1__1 : rule__DatamartTableAttribute__UnorderedGroup_1__Impl ( rule__DatamartTableAttribute__UnorderedGroup_1__2 )? ;
+    // InternalReportDSL.g:36676:1: rule__DatamartTableAttribute__UnorderedGroup_1__1 : rule__DatamartTableAttribute__UnorderedGroup_1__Impl ( rule__DatamartTableAttribute__UnorderedGroup_1__2 )? ;
     public final void rule__DatamartTableAttribute__UnorderedGroup_1__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:36200:1: ( rule__DatamartTableAttribute__UnorderedGroup_1__Impl ( rule__DatamartTableAttribute__UnorderedGroup_1__2 )? )
-            // InternalReportDSL.g:36201:2: rule__DatamartTableAttribute__UnorderedGroup_1__Impl ( rule__DatamartTableAttribute__UnorderedGroup_1__2 )?
+            // InternalReportDSL.g:36680:1: ( rule__DatamartTableAttribute__UnorderedGroup_1__Impl ( rule__DatamartTableAttribute__UnorderedGroup_1__2 )? )
+            // InternalReportDSL.g:36681:2: rule__DatamartTableAttribute__UnorderedGroup_1__Impl ( rule__DatamartTableAttribute__UnorderedGroup_1__2 )?
             {
-            pushFollow(FOLLOW_224);
+            pushFollow(FOLLOW_226);
             rule__DatamartTableAttribute__UnorderedGroup_1__Impl();
 
             state._fsp--;
             if (state.failed) return ;
-            // InternalReportDSL.g:36202:2: ( rule__DatamartTableAttribute__UnorderedGroup_1__2 )?
-            int alt298=2;
-            int LA298_0 = input.LA(1);
+            // InternalReportDSL.g:36682:2: ( rule__DatamartTableAttribute__UnorderedGroup_1__2 )?
+            int alt308=2;
+            int LA308_0 = input.LA(1);
 
-            if ( LA298_0 == 190 && getUnorderedGroupHelper().canSelect(grammarAccess.getDatamartTableAttributeAccess().getUnorderedGroup_1(), 0) ) {
-                alt298=1;
+            if ( LA308_0 == 197 && getUnorderedGroupHelper().canSelect(grammarAccess.getDatamartTableAttributeAccess().getUnorderedGroup_1(), 0) ) {
+                alt308=1;
             }
-            else if ( LA298_0 == 152 && getUnorderedGroupHelper().canSelect(grammarAccess.getDatamartTableAttributeAccess().getUnorderedGroup_1(), 1) ) {
-                alt298=1;
+            else if ( LA308_0 == 158 && getUnorderedGroupHelper().canSelect(grammarAccess.getDatamartTableAttributeAccess().getUnorderedGroup_1(), 1) ) {
+                alt308=1;
             }
-            else if ( LA298_0 == 198 && getUnorderedGroupHelper().canSelect(grammarAccess.getDatamartTableAttributeAccess().getUnorderedGroup_1(), 2) ) {
-                alt298=1;
+            else if ( LA308_0 == 205 && getUnorderedGroupHelper().canSelect(grammarAccess.getDatamartTableAttributeAccess().getUnorderedGroup_1(), 2) ) {
+                alt308=1;
             }
-            else if ( LA298_0 == 199 && getUnorderedGroupHelper().canSelect(grammarAccess.getDatamartTableAttributeAccess().getUnorderedGroup_1(), 3) ) {
-                alt298=1;
+            else if ( LA308_0 == 206 && getUnorderedGroupHelper().canSelect(grammarAccess.getDatamartTableAttributeAccess().getUnorderedGroup_1(), 3) ) {
+                alt308=1;
             }
-            switch (alt298) {
+            switch (alt308) {
                 case 1 :
                     // InternalReportDSL.g:0:0: rule__DatamartTableAttribute__UnorderedGroup_1__2
                     {
@@ -118970,37 +120682,37 @@
 
 
     // $ANTLR start "rule__DatamartTableAttribute__UnorderedGroup_1__2"
-    // InternalReportDSL.g:36208:1: rule__DatamartTableAttribute__UnorderedGroup_1__2 : rule__DatamartTableAttribute__UnorderedGroup_1__Impl ( rule__DatamartTableAttribute__UnorderedGroup_1__3 )? ;
+    // InternalReportDSL.g:36688:1: rule__DatamartTableAttribute__UnorderedGroup_1__2 : rule__DatamartTableAttribute__UnorderedGroup_1__Impl ( rule__DatamartTableAttribute__UnorderedGroup_1__3 )? ;
     public final void rule__DatamartTableAttribute__UnorderedGroup_1__2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:36212:1: ( rule__DatamartTableAttribute__UnorderedGroup_1__Impl ( rule__DatamartTableAttribute__UnorderedGroup_1__3 )? )
-            // InternalReportDSL.g:36213:2: rule__DatamartTableAttribute__UnorderedGroup_1__Impl ( rule__DatamartTableAttribute__UnorderedGroup_1__3 )?
+            // InternalReportDSL.g:36692:1: ( rule__DatamartTableAttribute__UnorderedGroup_1__Impl ( rule__DatamartTableAttribute__UnorderedGroup_1__3 )? )
+            // InternalReportDSL.g:36693:2: rule__DatamartTableAttribute__UnorderedGroup_1__Impl ( rule__DatamartTableAttribute__UnorderedGroup_1__3 )?
             {
-            pushFollow(FOLLOW_224);
+            pushFollow(FOLLOW_226);
             rule__DatamartTableAttribute__UnorderedGroup_1__Impl();
 
             state._fsp--;
             if (state.failed) return ;
-            // InternalReportDSL.g:36214:2: ( rule__DatamartTableAttribute__UnorderedGroup_1__3 )?
-            int alt299=2;
-            int LA299_0 = input.LA(1);
+            // InternalReportDSL.g:36694:2: ( rule__DatamartTableAttribute__UnorderedGroup_1__3 )?
+            int alt309=2;
+            int LA309_0 = input.LA(1);
 
-            if ( LA299_0 == 190 && getUnorderedGroupHelper().canSelect(grammarAccess.getDatamartTableAttributeAccess().getUnorderedGroup_1(), 0) ) {
-                alt299=1;
+            if ( LA309_0 == 197 && getUnorderedGroupHelper().canSelect(grammarAccess.getDatamartTableAttributeAccess().getUnorderedGroup_1(), 0) ) {
+                alt309=1;
             }
-            else if ( LA299_0 == 152 && getUnorderedGroupHelper().canSelect(grammarAccess.getDatamartTableAttributeAccess().getUnorderedGroup_1(), 1) ) {
-                alt299=1;
+            else if ( LA309_0 == 158 && getUnorderedGroupHelper().canSelect(grammarAccess.getDatamartTableAttributeAccess().getUnorderedGroup_1(), 1) ) {
+                alt309=1;
             }
-            else if ( LA299_0 == 198 && getUnorderedGroupHelper().canSelect(grammarAccess.getDatamartTableAttributeAccess().getUnorderedGroup_1(), 2) ) {
-                alt299=1;
+            else if ( LA309_0 == 205 && getUnorderedGroupHelper().canSelect(grammarAccess.getDatamartTableAttributeAccess().getUnorderedGroup_1(), 2) ) {
+                alt309=1;
             }
-            else if ( LA299_0 == 199 && getUnorderedGroupHelper().canSelect(grammarAccess.getDatamartTableAttributeAccess().getUnorderedGroup_1(), 3) ) {
-                alt299=1;
+            else if ( LA309_0 == 206 && getUnorderedGroupHelper().canSelect(grammarAccess.getDatamartTableAttributeAccess().getUnorderedGroup_1(), 3) ) {
+                alt309=1;
             }
-            switch (alt299) {
+            switch (alt309) {
                 case 1 :
                     // InternalReportDSL.g:0:0: rule__DatamartTableAttribute__UnorderedGroup_1__3
                     {
@@ -119034,14 +120746,14 @@
 
 
     // $ANTLR start "rule__DatamartTableAttribute__UnorderedGroup_1__3"
-    // InternalReportDSL.g:36220:1: rule__DatamartTableAttribute__UnorderedGroup_1__3 : rule__DatamartTableAttribute__UnorderedGroup_1__Impl ;
+    // InternalReportDSL.g:36700:1: rule__DatamartTableAttribute__UnorderedGroup_1__3 : rule__DatamartTableAttribute__UnorderedGroup_1__Impl ;
     public final void rule__DatamartTableAttribute__UnorderedGroup_1__3() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:36224:1: ( rule__DatamartTableAttribute__UnorderedGroup_1__Impl )
-            // InternalReportDSL.g:36225:2: rule__DatamartTableAttribute__UnorderedGroup_1__Impl
+            // InternalReportDSL.g:36704:1: ( rule__DatamartTableAttribute__UnorderedGroup_1__Impl )
+            // InternalReportDSL.g:36705:2: rule__DatamartTableAttribute__UnorderedGroup_1__Impl
             {
             pushFollow(FOLLOW_2);
             rule__DatamartTableAttribute__UnorderedGroup_1__Impl();
@@ -119067,35 +120779,35 @@
 
 
     // $ANTLR start "rule__TableAggregation__UnorderedGroup_2"
-    // InternalReportDSL.g:36232:1: rule__TableAggregation__UnorderedGroup_2 : ( rule__TableAggregation__UnorderedGroup_2__0 )? ;
+    // InternalReportDSL.g:36712:1: rule__TableAggregation__UnorderedGroup_2 : ( rule__TableAggregation__UnorderedGroup_2__0 )? ;
     public final void rule__TableAggregation__UnorderedGroup_2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         		getUnorderedGroupHelper().enter(grammarAccess.getTableAggregationAccess().getUnorderedGroup_2());
         	
         try {
-            // InternalReportDSL.g:36237:1: ( ( rule__TableAggregation__UnorderedGroup_2__0 )? )
-            // InternalReportDSL.g:36238:2: ( rule__TableAggregation__UnorderedGroup_2__0 )?
+            // InternalReportDSL.g:36717:1: ( ( rule__TableAggregation__UnorderedGroup_2__0 )? )
+            // InternalReportDSL.g:36718:2: ( rule__TableAggregation__UnorderedGroup_2__0 )?
             {
-            // InternalReportDSL.g:36238:2: ( rule__TableAggregation__UnorderedGroup_2__0 )?
-            int alt300=2;
-            int LA300_0 = input.LA(1);
+            // InternalReportDSL.g:36718:2: ( rule__TableAggregation__UnorderedGroup_2__0 )?
+            int alt310=2;
+            int LA310_0 = input.LA(1);
 
-            if ( LA300_0 == 202 && getUnorderedGroupHelper().canSelect(grammarAccess.getTableAggregationAccess().getUnorderedGroup_2(), 0) ) {
-                alt300=1;
+            if ( LA310_0 == 209 && getUnorderedGroupHelper().canSelect(grammarAccess.getTableAggregationAccess().getUnorderedGroup_2(), 0) ) {
+                alt310=1;
             }
-            else if ( (LA300_0==203) ) {
-                int LA300_2 = input.LA(2);
+            else if ( (LA310_0==210) ) {
+                int LA310_2 = input.LA(2);
 
-                if ( (LA300_2==RULE_STRING) ) {
-                    int LA300_4 = input.LA(3);
+                if ( (LA310_2==RULE_STRING) ) {
+                    int LA310_4 = input.LA(3);
 
-                    if ( synpred439_InternalReportDSL() && getUnorderedGroupHelper().canSelect(grammarAccess.getTableAggregationAccess().getUnorderedGroup_2(), 1) ) {
-                        alt300=1;
+                    if ( synpred460_InternalReportDSL() && getUnorderedGroupHelper().canSelect(grammarAccess.getTableAggregationAccess().getUnorderedGroup_2(), 1) ) {
+                        alt310=1;
                     }
                 }
             }
-            switch (alt300) {
+            switch (alt310) {
                 case 1 :
                     // InternalReportDSL.g:0:0: rule__TableAggregation__UnorderedGroup_2__0
                     {
@@ -119130,57 +120842,57 @@
 
 
     // $ANTLR start "rule__TableAggregation__UnorderedGroup_2__Impl"
-    // InternalReportDSL.g:36246:1: rule__TableAggregation__UnorderedGroup_2__Impl : ( ({...}? => ( ( ( rule__TableAggregation__Group_2_0__0 ) ) ) ) | ({...}? => ( ( ( rule__TableAggregation__Group_2_1__0 ) ) ) ) ) ;
+    // InternalReportDSL.g:36726:1: rule__TableAggregation__UnorderedGroup_2__Impl : ( ({...}? => ( ( ( rule__TableAggregation__Group_2_0__0 ) ) ) ) | ({...}? => ( ( ( rule__TableAggregation__Group_2_1__0 ) ) ) ) ) ;
     public final void rule__TableAggregation__UnorderedGroup_2__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         		boolean selected = false;
         	
         try {
-            // InternalReportDSL.g:36251:1: ( ( ({...}? => ( ( ( rule__TableAggregation__Group_2_0__0 ) ) ) ) | ({...}? => ( ( ( rule__TableAggregation__Group_2_1__0 ) ) ) ) ) )
-            // InternalReportDSL.g:36252:3: ( ({...}? => ( ( ( rule__TableAggregation__Group_2_0__0 ) ) ) ) | ({...}? => ( ( ( rule__TableAggregation__Group_2_1__0 ) ) ) ) )
+            // InternalReportDSL.g:36731:1: ( ( ({...}? => ( ( ( rule__TableAggregation__Group_2_0__0 ) ) ) ) | ({...}? => ( ( ( rule__TableAggregation__Group_2_1__0 ) ) ) ) ) )
+            // InternalReportDSL.g:36732:3: ( ({...}? => ( ( ( rule__TableAggregation__Group_2_0__0 ) ) ) ) | ({...}? => ( ( ( rule__TableAggregation__Group_2_1__0 ) ) ) ) )
             {
-            // InternalReportDSL.g:36252:3: ( ({...}? => ( ( ( rule__TableAggregation__Group_2_0__0 ) ) ) ) | ({...}? => ( ( ( rule__TableAggregation__Group_2_1__0 ) ) ) ) )
-            int alt301=2;
-            int LA301_0 = input.LA(1);
+            // InternalReportDSL.g:36732:3: ( ({...}? => ( ( ( rule__TableAggregation__Group_2_0__0 ) ) ) ) | ({...}? => ( ( ( rule__TableAggregation__Group_2_1__0 ) ) ) ) )
+            int alt311=2;
+            int LA311_0 = input.LA(1);
 
-            if ( LA301_0 == 202 && getUnorderedGroupHelper().canSelect(grammarAccess.getTableAggregationAccess().getUnorderedGroup_2(), 0) ) {
-                alt301=1;
+            if ( LA311_0 == 209 && getUnorderedGroupHelper().canSelect(grammarAccess.getTableAggregationAccess().getUnorderedGroup_2(), 0) ) {
+                alt311=1;
             }
-            else if ( LA301_0 == 203 && getUnorderedGroupHelper().canSelect(grammarAccess.getTableAggregationAccess().getUnorderedGroup_2(), 1) ) {
-                alt301=2;
+            else if ( LA311_0 == 210 && getUnorderedGroupHelper().canSelect(grammarAccess.getTableAggregationAccess().getUnorderedGroup_2(), 1) ) {
+                alt311=2;
             }
             else {
                 if (state.backtracking>0) {state.failed=true; return ;}
                 NoViableAltException nvae =
-                    new NoViableAltException("", 301, 0, input);
+                    new NoViableAltException("", 311, 0, input);
 
                 throw nvae;
             }
-            switch (alt301) {
+            switch (alt311) {
                 case 1 :
-                    // InternalReportDSL.g:36253:3: ({...}? => ( ( ( rule__TableAggregation__Group_2_0__0 ) ) ) )
+                    // InternalReportDSL.g:36733:3: ({...}? => ( ( ( rule__TableAggregation__Group_2_0__0 ) ) ) )
                     {
-                    // InternalReportDSL.g:36253:3: ({...}? => ( ( ( rule__TableAggregation__Group_2_0__0 ) ) ) )
-                    // InternalReportDSL.g:36254:4: {...}? => ( ( ( rule__TableAggregation__Group_2_0__0 ) ) )
+                    // InternalReportDSL.g:36733:3: ({...}? => ( ( ( rule__TableAggregation__Group_2_0__0 ) ) ) )
+                    // InternalReportDSL.g:36734:4: {...}? => ( ( ( rule__TableAggregation__Group_2_0__0 ) ) )
                     {
                     if ( ! getUnorderedGroupHelper().canSelect(grammarAccess.getTableAggregationAccess().getUnorderedGroup_2(), 0) ) {
                         if (state.backtracking>0) {state.failed=true; return ;}
                         throw new FailedPredicateException(input, "rule__TableAggregation__UnorderedGroup_2__Impl", "getUnorderedGroupHelper().canSelect(grammarAccess.getTableAggregationAccess().getUnorderedGroup_2(), 0)");
                     }
-                    // InternalReportDSL.g:36254:112: ( ( ( rule__TableAggregation__Group_2_0__0 ) ) )
-                    // InternalReportDSL.g:36255:5: ( ( rule__TableAggregation__Group_2_0__0 ) )
+                    // InternalReportDSL.g:36734:112: ( ( ( rule__TableAggregation__Group_2_0__0 ) ) )
+                    // InternalReportDSL.g:36735:5: ( ( rule__TableAggregation__Group_2_0__0 ) )
                     {
                     getUnorderedGroupHelper().select(grammarAccess.getTableAggregationAccess().getUnorderedGroup_2(), 0);
                     selected = true;
-                    // InternalReportDSL.g:36261:5: ( ( rule__TableAggregation__Group_2_0__0 ) )
-                    // InternalReportDSL.g:36262:6: ( rule__TableAggregation__Group_2_0__0 )
+                    // InternalReportDSL.g:36741:5: ( ( rule__TableAggregation__Group_2_0__0 ) )
+                    // InternalReportDSL.g:36742:6: ( rule__TableAggregation__Group_2_0__0 )
                     {
                     if ( state.backtracking==0 ) {
                        before(grammarAccess.getTableAggregationAccess().getGroup_2_0()); 
                     }
-                    // InternalReportDSL.g:36263:6: ( rule__TableAggregation__Group_2_0__0 )
-                    // InternalReportDSL.g:36263:7: rule__TableAggregation__Group_2_0__0
+                    // InternalReportDSL.g:36743:6: ( rule__TableAggregation__Group_2_0__0 )
+                    // InternalReportDSL.g:36743:7: rule__TableAggregation__Group_2_0__0
                     {
                     pushFollow(FOLLOW_2);
                     rule__TableAggregation__Group_2_0__0();
@@ -119206,28 +120918,28 @@
                     }
                     break;
                 case 2 :
-                    // InternalReportDSL.g:36268:3: ({...}? => ( ( ( rule__TableAggregation__Group_2_1__0 ) ) ) )
+                    // InternalReportDSL.g:36748:3: ({...}? => ( ( ( rule__TableAggregation__Group_2_1__0 ) ) ) )
                     {
-                    // InternalReportDSL.g:36268:3: ({...}? => ( ( ( rule__TableAggregation__Group_2_1__0 ) ) ) )
-                    // InternalReportDSL.g:36269:4: {...}? => ( ( ( rule__TableAggregation__Group_2_1__0 ) ) )
+                    // InternalReportDSL.g:36748:3: ({...}? => ( ( ( rule__TableAggregation__Group_2_1__0 ) ) ) )
+                    // InternalReportDSL.g:36749:4: {...}? => ( ( ( rule__TableAggregation__Group_2_1__0 ) ) )
                     {
                     if ( ! getUnorderedGroupHelper().canSelect(grammarAccess.getTableAggregationAccess().getUnorderedGroup_2(), 1) ) {
                         if (state.backtracking>0) {state.failed=true; return ;}
                         throw new FailedPredicateException(input, "rule__TableAggregation__UnorderedGroup_2__Impl", "getUnorderedGroupHelper().canSelect(grammarAccess.getTableAggregationAccess().getUnorderedGroup_2(), 1)");
                     }
-                    // InternalReportDSL.g:36269:112: ( ( ( rule__TableAggregation__Group_2_1__0 ) ) )
-                    // InternalReportDSL.g:36270:5: ( ( rule__TableAggregation__Group_2_1__0 ) )
+                    // InternalReportDSL.g:36749:112: ( ( ( rule__TableAggregation__Group_2_1__0 ) ) )
+                    // InternalReportDSL.g:36750:5: ( ( rule__TableAggregation__Group_2_1__0 ) )
                     {
                     getUnorderedGroupHelper().select(grammarAccess.getTableAggregationAccess().getUnorderedGroup_2(), 1);
                     selected = true;
-                    // InternalReportDSL.g:36276:5: ( ( rule__TableAggregation__Group_2_1__0 ) )
-                    // InternalReportDSL.g:36277:6: ( rule__TableAggregation__Group_2_1__0 )
+                    // InternalReportDSL.g:36756:5: ( ( rule__TableAggregation__Group_2_1__0 ) )
+                    // InternalReportDSL.g:36757:6: ( rule__TableAggregation__Group_2_1__0 )
                     {
                     if ( state.backtracking==0 ) {
                        before(grammarAccess.getTableAggregationAccess().getGroup_2_1()); 
                     }
-                    // InternalReportDSL.g:36278:6: ( rule__TableAggregation__Group_2_1__0 )
-                    // InternalReportDSL.g:36278:7: rule__TableAggregation__Group_2_1__0
+                    // InternalReportDSL.g:36758:6: ( rule__TableAggregation__Group_2_1__0 )
+                    // InternalReportDSL.g:36758:7: rule__TableAggregation__Group_2_1__0
                     {
                     pushFollow(FOLLOW_2);
                     rule__TableAggregation__Group_2_1__0();
@@ -119276,39 +120988,39 @@
 
 
     // $ANTLR start "rule__TableAggregation__UnorderedGroup_2__0"
-    // InternalReportDSL.g:36291:1: rule__TableAggregation__UnorderedGroup_2__0 : rule__TableAggregation__UnorderedGroup_2__Impl ( rule__TableAggregation__UnorderedGroup_2__1 )? ;
+    // InternalReportDSL.g:36771:1: rule__TableAggregation__UnorderedGroup_2__0 : rule__TableAggregation__UnorderedGroup_2__Impl ( rule__TableAggregation__UnorderedGroup_2__1 )? ;
     public final void rule__TableAggregation__UnorderedGroup_2__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:36295:1: ( rule__TableAggregation__UnorderedGroup_2__Impl ( rule__TableAggregation__UnorderedGroup_2__1 )? )
-            // InternalReportDSL.g:36296:2: rule__TableAggregation__UnorderedGroup_2__Impl ( rule__TableAggregation__UnorderedGroup_2__1 )?
+            // InternalReportDSL.g:36775:1: ( rule__TableAggregation__UnorderedGroup_2__Impl ( rule__TableAggregation__UnorderedGroup_2__1 )? )
+            // InternalReportDSL.g:36776:2: rule__TableAggregation__UnorderedGroup_2__Impl ( rule__TableAggregation__UnorderedGroup_2__1 )?
             {
-            pushFollow(FOLLOW_225);
+            pushFollow(FOLLOW_227);
             rule__TableAggregation__UnorderedGroup_2__Impl();
 
             state._fsp--;
             if (state.failed) return ;
-            // InternalReportDSL.g:36297:2: ( rule__TableAggregation__UnorderedGroup_2__1 )?
-            int alt302=2;
-            int LA302_0 = input.LA(1);
+            // InternalReportDSL.g:36777:2: ( rule__TableAggregation__UnorderedGroup_2__1 )?
+            int alt312=2;
+            int LA312_0 = input.LA(1);
 
-            if ( LA302_0 == 202 && getUnorderedGroupHelper().canSelect(grammarAccess.getTableAggregationAccess().getUnorderedGroup_2(), 0) ) {
-                alt302=1;
+            if ( LA312_0 == 209 && getUnorderedGroupHelper().canSelect(grammarAccess.getTableAggregationAccess().getUnorderedGroup_2(), 0) ) {
+                alt312=1;
             }
-            else if ( (LA302_0==203) ) {
-                int LA302_2 = input.LA(2);
+            else if ( (LA312_0==210) ) {
+                int LA312_2 = input.LA(2);
 
-                if ( (LA302_2==RULE_STRING) ) {
-                    int LA302_4 = input.LA(3);
+                if ( (LA312_2==RULE_STRING) ) {
+                    int LA312_4 = input.LA(3);
 
-                    if ( synpred441_InternalReportDSL() && getUnorderedGroupHelper().canSelect(grammarAccess.getTableAggregationAccess().getUnorderedGroup_2(), 1) ) {
-                        alt302=1;
+                    if ( synpred462_InternalReportDSL() && getUnorderedGroupHelper().canSelect(grammarAccess.getTableAggregationAccess().getUnorderedGroup_2(), 1) ) {
+                        alt312=1;
                     }
                 }
             }
-            switch (alt302) {
+            switch (alt312) {
                 case 1 :
                     // InternalReportDSL.g:0:0: rule__TableAggregation__UnorderedGroup_2__1
                     {
@@ -119342,14 +121054,14 @@
 
 
     // $ANTLR start "rule__TableAggregation__UnorderedGroup_2__1"
-    // InternalReportDSL.g:36303:1: rule__TableAggregation__UnorderedGroup_2__1 : rule__TableAggregation__UnorderedGroup_2__Impl ;
+    // InternalReportDSL.g:36783:1: rule__TableAggregation__UnorderedGroup_2__1 : rule__TableAggregation__UnorderedGroup_2__Impl ;
     public final void rule__TableAggregation__UnorderedGroup_2__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:36307:1: ( rule__TableAggregation__UnorderedGroup_2__Impl )
-            // InternalReportDSL.g:36308:2: rule__TableAggregation__UnorderedGroup_2__Impl
+            // InternalReportDSL.g:36787:1: ( rule__TableAggregation__UnorderedGroup_2__Impl )
+            // InternalReportDSL.g:36788:2: rule__TableAggregation__UnorderedGroup_2__Impl
             {
             pushFollow(FOLLOW_2);
             rule__TableAggregation__UnorderedGroup_2__Impl();
@@ -119375,17 +121087,17 @@
 
 
     // $ANTLR start "rule__ReportModel__ImportSectionAssignment_0"
-    // InternalReportDSL.g:36315:1: rule__ReportModel__ImportSectionAssignment_0 : ( ruleXImportSection ) ;
+    // InternalReportDSL.g:36795:1: rule__ReportModel__ImportSectionAssignment_0 : ( ruleXImportSection ) ;
     public final void rule__ReportModel__ImportSectionAssignment_0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:36319:1: ( ( ruleXImportSection ) )
-            // InternalReportDSL.g:36320:2: ( ruleXImportSection )
+            // InternalReportDSL.g:36799:1: ( ( ruleXImportSection ) )
+            // InternalReportDSL.g:36800:2: ( ruleXImportSection )
             {
-            // InternalReportDSL.g:36320:2: ( ruleXImportSection )
-            // InternalReportDSL.g:36321:3: ruleXImportSection
+            // InternalReportDSL.g:36800:2: ( ruleXImportSection )
+            // InternalReportDSL.g:36801:3: ruleXImportSection
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getReportModelAccess().getImportSectionXImportSectionParserRuleCall_0_0()); 
@@ -119420,17 +121132,17 @@
 
 
     // $ANTLR start "rule__ReportModel__PckgAssignment_1"
-    // InternalReportDSL.g:36330:1: rule__ReportModel__PckgAssignment_1 : ( ruleReportPackage ) ;
+    // InternalReportDSL.g:36810:1: rule__ReportModel__PckgAssignment_1 : ( ruleReportPackage ) ;
     public final void rule__ReportModel__PckgAssignment_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:36334:1: ( ( ruleReportPackage ) )
-            // InternalReportDSL.g:36335:2: ( ruleReportPackage )
+            // InternalReportDSL.g:36814:1: ( ( ruleReportPackage ) )
+            // InternalReportDSL.g:36815:2: ( ruleReportPackage )
             {
-            // InternalReportDSL.g:36335:2: ( ruleReportPackage )
-            // InternalReportDSL.g:36336:3: ruleReportPackage
+            // InternalReportDSL.g:36815:2: ( ruleReportPackage )
+            // InternalReportDSL.g:36816:3: ruleReportPackage
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getReportModelAccess().getPckgReportPackageParserRuleCall_1_0()); 
@@ -119465,17 +121177,17 @@
 
 
     // $ANTLR start "rule__ReportPackage__NameAssignment_2"
-    // InternalReportDSL.g:36345:1: rule__ReportPackage__NameAssignment_2 : ( ruleQualifiedName ) ;
+    // InternalReportDSL.g:36825:1: rule__ReportPackage__NameAssignment_2 : ( ruleQualifiedName ) ;
     public final void rule__ReportPackage__NameAssignment_2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:36349:1: ( ( ruleQualifiedName ) )
-            // InternalReportDSL.g:36350:2: ( ruleQualifiedName )
+            // InternalReportDSL.g:36829:1: ( ( ruleQualifiedName ) )
+            // InternalReportDSL.g:36830:2: ( ruleQualifiedName )
             {
-            // InternalReportDSL.g:36350:2: ( ruleQualifiedName )
-            // InternalReportDSL.g:36351:3: ruleQualifiedName
+            // InternalReportDSL.g:36830:2: ( ruleQualifiedName )
+            // InternalReportDSL.g:36831:3: ruleQualifiedName
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getReportPackageAccess().getNameQualifiedNameParserRuleCall_2_0()); 
@@ -119510,17 +121222,17 @@
 
 
     // $ANTLR start "rule__ReportPackage__ExternalCssURIAssignment_4_2_1"
-    // InternalReportDSL.g:36360:1: rule__ReportPackage__ExternalCssURIAssignment_4_2_1 : ( RULE_STRING ) ;
+    // InternalReportDSL.g:36840:1: rule__ReportPackage__ExternalCssURIAssignment_4_2_1 : ( RULE_STRING ) ;
     public final void rule__ReportPackage__ExternalCssURIAssignment_4_2_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:36364:1: ( ( RULE_STRING ) )
-            // InternalReportDSL.g:36365:2: ( RULE_STRING )
+            // InternalReportDSL.g:36844:1: ( ( RULE_STRING ) )
+            // InternalReportDSL.g:36845:2: ( RULE_STRING )
             {
-            // InternalReportDSL.g:36365:2: ( RULE_STRING )
-            // InternalReportDSL.g:36366:3: RULE_STRING
+            // InternalReportDSL.g:36845:2: ( RULE_STRING )
+            // InternalReportDSL.g:36846:3: RULE_STRING
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getReportPackageAccess().getExternalCssURISTRINGTerminalRuleCall_4_2_1_0()); 
@@ -119551,17 +121263,17 @@
 
 
     // $ANTLR start "rule__ReportPackage__ExternalCssURIBundleAssignment_4_2_2_1"
-    // InternalReportDSL.g:36375:1: rule__ReportPackage__ExternalCssURIBundleAssignment_4_2_2_1 : ( RULE_STRING ) ;
+    // InternalReportDSL.g:36855:1: rule__ReportPackage__ExternalCssURIBundleAssignment_4_2_2_1 : ( RULE_STRING ) ;
     public final void rule__ReportPackage__ExternalCssURIBundleAssignment_4_2_2_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:36379:1: ( ( RULE_STRING ) )
-            // InternalReportDSL.g:36380:2: ( RULE_STRING )
+            // InternalReportDSL.g:36859:1: ( ( RULE_STRING ) )
+            // InternalReportDSL.g:36860:2: ( RULE_STRING )
             {
-            // InternalReportDSL.g:36380:2: ( RULE_STRING )
-            // InternalReportDSL.g:36381:3: RULE_STRING
+            // InternalReportDSL.g:36860:2: ( RULE_STRING )
+            // InternalReportDSL.g:36861:3: RULE_STRING
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getReportPackageAccess().getExternalCssURIBundleSTRINGTerminalRuleCall_4_2_2_1_0()); 
@@ -119592,17 +121304,17 @@
 
 
     // $ANTLR start "rule__ReportPackage__FormattersAssignment_4_3"
-    // InternalReportDSL.g:36390:1: rule__ReportPackage__FormattersAssignment_4_3 : ( ruleSomeFormats ) ;
+    // InternalReportDSL.g:36870:1: rule__ReportPackage__FormattersAssignment_4_3 : ( ruleSomeFormats ) ;
     public final void rule__ReportPackage__FormattersAssignment_4_3() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:36394:1: ( ( ruleSomeFormats ) )
-            // InternalReportDSL.g:36395:2: ( ruleSomeFormats )
+            // InternalReportDSL.g:36874:1: ( ( ruleSomeFormats ) )
+            // InternalReportDSL.g:36875:2: ( ruleSomeFormats )
             {
-            // InternalReportDSL.g:36395:2: ( ruleSomeFormats )
-            // InternalReportDSL.g:36396:3: ruleSomeFormats
+            // InternalReportDSL.g:36875:2: ( ruleSomeFormats )
+            // InternalReportDSL.g:36876:3: ruleSomeFormats
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getReportPackageAccess().getFormattersSomeFormatsParserRuleCall_4_3_0()); 
@@ -119637,17 +121349,17 @@
 
 
     // $ANTLR start "rule__ReportPackage__ColorsAssignment_4_4"
-    // InternalReportDSL.g:36405:1: rule__ReportPackage__ColorsAssignment_4_4 : ( ruleColors ) ;
+    // InternalReportDSL.g:36885:1: rule__ReportPackage__ColorsAssignment_4_4 : ( ruleColors ) ;
     public final void rule__ReportPackage__ColorsAssignment_4_4() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:36409:1: ( ( ruleColors ) )
-            // InternalReportDSL.g:36410:2: ( ruleColors )
+            // InternalReportDSL.g:36889:1: ( ( ruleColors ) )
+            // InternalReportDSL.g:36890:2: ( ruleColors )
             {
-            // InternalReportDSL.g:36410:2: ( ruleColors )
-            // InternalReportDSL.g:36411:3: ruleColors
+            // InternalReportDSL.g:36890:2: ( ruleColors )
+            // InternalReportDSL.g:36891:3: ruleColors
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getReportPackageAccess().getColorsColorsParserRuleCall_4_4_0()); 
@@ -119682,17 +121394,17 @@
 
 
     // $ANTLR start "rule__ReportPackage__FontsAssignment_4_5"
-    // InternalReportDSL.g:36420:1: rule__ReportPackage__FontsAssignment_4_5 : ( ruleFonts ) ;
+    // InternalReportDSL.g:36900:1: rule__ReportPackage__FontsAssignment_4_5 : ( ruleFonts ) ;
     public final void rule__ReportPackage__FontsAssignment_4_5() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:36424:1: ( ( ruleFonts ) )
-            // InternalReportDSL.g:36425:2: ( ruleFonts )
+            // InternalReportDSL.g:36904:1: ( ( ruleFonts ) )
+            // InternalReportDSL.g:36905:2: ( ruleFonts )
             {
-            // InternalReportDSL.g:36425:2: ( ruleFonts )
-            // InternalReportDSL.g:36426:3: ruleFonts
+            // InternalReportDSL.g:36905:2: ( ruleFonts )
+            // InternalReportDSL.g:36906:3: ruleFonts
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getReportPackageAccess().getFontsFontsParserRuleCall_4_5_0()); 
@@ -119727,17 +121439,17 @@
 
 
     // $ANTLR start "rule__ReportPackage__MediasAssignment_4_6"
-    // InternalReportDSL.g:36435:1: rule__ReportPackage__MediasAssignment_4_6 : ( ruleMedias ) ;
+    // InternalReportDSL.g:36915:1: rule__ReportPackage__MediasAssignment_4_6 : ( ruleMedias ) ;
     public final void rule__ReportPackage__MediasAssignment_4_6() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:36439:1: ( ( ruleMedias ) )
-            // InternalReportDSL.g:36440:2: ( ruleMedias )
+            // InternalReportDSL.g:36919:1: ( ( ruleMedias ) )
+            // InternalReportDSL.g:36920:2: ( ruleMedias )
             {
-            // InternalReportDSL.g:36440:2: ( ruleMedias )
-            // InternalReportDSL.g:36441:3: ruleMedias
+            // InternalReportDSL.g:36920:2: ( ruleMedias )
+            // InternalReportDSL.g:36921:3: ruleMedias
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getReportPackageAccess().getMediasMediasParserRuleCall_4_6_0()); 
@@ -119772,17 +121484,17 @@
 
 
     // $ANTLR start "rule__ReportPackage__StylesAssignment_4_7"
-    // InternalReportDSL.g:36450:1: rule__ReportPackage__StylesAssignment_4_7 : ( ruleStyles ) ;
+    // InternalReportDSL.g:36930:1: rule__ReportPackage__StylesAssignment_4_7 : ( ruleStyles ) ;
     public final void rule__ReportPackage__StylesAssignment_4_7() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:36454:1: ( ( ruleStyles ) )
-            // InternalReportDSL.g:36455:2: ( ruleStyles )
+            // InternalReportDSL.g:36934:1: ( ( ruleStyles ) )
+            // InternalReportDSL.g:36935:2: ( ruleStyles )
             {
-            // InternalReportDSL.g:36455:2: ( ruleStyles )
-            // InternalReportDSL.g:36456:3: ruleStyles
+            // InternalReportDSL.g:36935:2: ( ruleStyles )
+            // InternalReportDSL.g:36936:3: ruleStyles
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getReportPackageAccess().getStylesStylesParserRuleCall_4_7_0()); 
@@ -119817,17 +121529,17 @@
 
 
     // $ANTLR start "rule__ReportPackage__PagetemplatesAssignment_4_8"
-    // InternalReportDSL.g:36465:1: rule__ReportPackage__PagetemplatesAssignment_4_8 : ( rulePageTemplates ) ;
+    // InternalReportDSL.g:36945:1: rule__ReportPackage__PagetemplatesAssignment_4_8 : ( rulePageTemplates ) ;
     public final void rule__ReportPackage__PagetemplatesAssignment_4_8() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:36469:1: ( ( rulePageTemplates ) )
-            // InternalReportDSL.g:36470:2: ( rulePageTemplates )
+            // InternalReportDSL.g:36949:1: ( ( rulePageTemplates ) )
+            // InternalReportDSL.g:36950:2: ( rulePageTemplates )
             {
-            // InternalReportDSL.g:36470:2: ( rulePageTemplates )
-            // InternalReportDSL.g:36471:3: rulePageTemplates
+            // InternalReportDSL.g:36950:2: ( rulePageTemplates )
+            // InternalReportDSL.g:36951:3: rulePageTemplates
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getReportPackageAccess().getPagetemplatesPageTemplatesParserRuleCall_4_8_0()); 
@@ -119862,17 +121574,17 @@
 
 
     // $ANTLR start "rule__ReportPackage__ReportsAssignment_5"
-    // InternalReportDSL.g:36480:1: rule__ReportPackage__ReportsAssignment_5 : ( ruleReport ) ;
+    // InternalReportDSL.g:36960:1: rule__ReportPackage__ReportsAssignment_5 : ( ruleReport ) ;
     public final void rule__ReportPackage__ReportsAssignment_5() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:36484:1: ( ( ruleReport ) )
-            // InternalReportDSL.g:36485:2: ( ruleReport )
+            // InternalReportDSL.g:36964:1: ( ( ruleReport ) )
+            // InternalReportDSL.g:36965:2: ( ruleReport )
             {
-            // InternalReportDSL.g:36485:2: ( ruleReport )
-            // InternalReportDSL.g:36486:3: ruleReport
+            // InternalReportDSL.g:36965:2: ( ruleReport )
+            // InternalReportDSL.g:36966:3: ruleReport
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getReportPackageAccess().getReportsReportParserRuleCall_5_0()); 
@@ -119907,17 +121619,17 @@
 
 
     // $ANTLR start "rule__PageTemplates__PagetemplatesAssignment_1"
-    // InternalReportDSL.g:36495:1: rule__PageTemplates__PagetemplatesAssignment_1 : ( rulePageTemplate ) ;
+    // InternalReportDSL.g:36975:1: rule__PageTemplates__PagetemplatesAssignment_1 : ( rulePageTemplate ) ;
     public final void rule__PageTemplates__PagetemplatesAssignment_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:36499:1: ( ( rulePageTemplate ) )
-            // InternalReportDSL.g:36500:2: ( rulePageTemplate )
+            // InternalReportDSL.g:36979:1: ( ( rulePageTemplate ) )
+            // InternalReportDSL.g:36980:2: ( rulePageTemplate )
             {
-            // InternalReportDSL.g:36500:2: ( rulePageTemplate )
-            // InternalReportDSL.g:36501:3: rulePageTemplate
+            // InternalReportDSL.g:36980:2: ( rulePageTemplate )
+            // InternalReportDSL.g:36981:3: rulePageTemplate
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getPageTemplatesAccess().getPagetemplatesPageTemplateParserRuleCall_1_0()); 
@@ -119952,17 +121664,17 @@
 
 
     // $ANTLR start "rule__SomeFormats__FormattersAssignment_3"
-    // InternalReportDSL.g:36510:1: rule__SomeFormats__FormattersAssignment_3 : ( ruleSomeFormat ) ;
+    // InternalReportDSL.g:36990:1: rule__SomeFormats__FormattersAssignment_3 : ( ruleSomeFormat ) ;
     public final void rule__SomeFormats__FormattersAssignment_3() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:36514:1: ( ( ruleSomeFormat ) )
-            // InternalReportDSL.g:36515:2: ( ruleSomeFormat )
+            // InternalReportDSL.g:36994:1: ( ( ruleSomeFormat ) )
+            // InternalReportDSL.g:36995:2: ( ruleSomeFormat )
             {
-            // InternalReportDSL.g:36515:2: ( ruleSomeFormat )
-            // InternalReportDSL.g:36516:3: ruleSomeFormat
+            // InternalReportDSL.g:36995:2: ( ruleSomeFormat )
+            // InternalReportDSL.g:36996:3: ruleSomeFormat
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getSomeFormatsAccess().getFormattersSomeFormatParserRuleCall_3_0()); 
@@ -119997,17 +121709,17 @@
 
 
     // $ANTLR start "rule__Colors__ColorsAssignment_3"
-    // InternalReportDSL.g:36525:1: rule__Colors__ColorsAssignment_3 : ( ruleColor ) ;
+    // InternalReportDSL.g:37005:1: rule__Colors__ColorsAssignment_3 : ( ruleColor ) ;
     public final void rule__Colors__ColorsAssignment_3() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:36529:1: ( ( ruleColor ) )
-            // InternalReportDSL.g:36530:2: ( ruleColor )
+            // InternalReportDSL.g:37009:1: ( ( ruleColor ) )
+            // InternalReportDSL.g:37010:2: ( ruleColor )
             {
-            // InternalReportDSL.g:36530:2: ( ruleColor )
-            // InternalReportDSL.g:36531:3: ruleColor
+            // InternalReportDSL.g:37010:2: ( ruleColor )
+            // InternalReportDSL.g:37011:3: ruleColor
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getColorsAccess().getColorsColorParserRuleCall_3_0()); 
@@ -120042,17 +121754,17 @@
 
 
     // $ANTLR start "rule__Fonts__FontsAssignment_3"
-    // InternalReportDSL.g:36540:1: rule__Fonts__FontsAssignment_3 : ( ruleFont ) ;
+    // InternalReportDSL.g:37020:1: rule__Fonts__FontsAssignment_3 : ( ruleFont ) ;
     public final void rule__Fonts__FontsAssignment_3() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:36544:1: ( ( ruleFont ) )
-            // InternalReportDSL.g:36545:2: ( ruleFont )
+            // InternalReportDSL.g:37024:1: ( ( ruleFont ) )
+            // InternalReportDSL.g:37025:2: ( ruleFont )
             {
-            // InternalReportDSL.g:36545:2: ( ruleFont )
-            // InternalReportDSL.g:36546:3: ruleFont
+            // InternalReportDSL.g:37025:2: ( ruleFont )
+            // InternalReportDSL.g:37026:3: ruleFont
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getFontsAccess().getFontsFontParserRuleCall_3_0()); 
@@ -120087,17 +121799,17 @@
 
 
     // $ANTLR start "rule__Medias__MediasAssignment_3"
-    // InternalReportDSL.g:36555:1: rule__Medias__MediasAssignment_3 : ( ruleMedia ) ;
+    // InternalReportDSL.g:37035:1: rule__Medias__MediasAssignment_3 : ( ruleMedia ) ;
     public final void rule__Medias__MediasAssignment_3() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:36559:1: ( ( ruleMedia ) )
-            // InternalReportDSL.g:36560:2: ( ruleMedia )
+            // InternalReportDSL.g:37039:1: ( ( ruleMedia ) )
+            // InternalReportDSL.g:37040:2: ( ruleMedia )
             {
-            // InternalReportDSL.g:36560:2: ( ruleMedia )
-            // InternalReportDSL.g:36561:3: ruleMedia
+            // InternalReportDSL.g:37040:2: ( ruleMedia )
+            // InternalReportDSL.g:37041:3: ruleMedia
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getMediasAccess().getMediasMediaParserRuleCall_3_0()); 
@@ -120132,17 +121844,17 @@
 
 
     // $ANTLR start "rule__Media__NameAssignment_1"
-    // InternalReportDSL.g:36570:1: rule__Media__NameAssignment_1 : ( RULE_ID ) ;
+    // InternalReportDSL.g:37050:1: rule__Media__NameAssignment_1 : ( RULE_ID ) ;
     public final void rule__Media__NameAssignment_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:36574:1: ( ( RULE_ID ) )
-            // InternalReportDSL.g:36575:2: ( RULE_ID )
+            // InternalReportDSL.g:37054:1: ( ( RULE_ID ) )
+            // InternalReportDSL.g:37055:2: ( RULE_ID )
             {
-            // InternalReportDSL.g:36575:2: ( RULE_ID )
-            // InternalReportDSL.g:36576:3: RULE_ID
+            // InternalReportDSL.g:37055:2: ( RULE_ID )
+            // InternalReportDSL.g:37056:3: RULE_ID
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getMediaAccess().getNameIDTerminalRuleCall_1_0()); 
@@ -120173,17 +121885,17 @@
 
 
     // $ANTLR start "rule__Styles__StylesAssignment_3"
-    // InternalReportDSL.g:36585:1: rule__Styles__StylesAssignment_3 : ( ruleStyle ) ;
+    // InternalReportDSL.g:37065:1: rule__Styles__StylesAssignment_3 : ( ruleStyle ) ;
     public final void rule__Styles__StylesAssignment_3() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:36589:1: ( ( ruleStyle ) )
-            // InternalReportDSL.g:36590:2: ( ruleStyle )
+            // InternalReportDSL.g:37069:1: ( ( ruleStyle ) )
+            // InternalReportDSL.g:37070:2: ( ruleStyle )
             {
-            // InternalReportDSL.g:36590:2: ( ruleStyle )
-            // InternalReportDSL.g:36591:3: ruleStyle
+            // InternalReportDSL.g:37070:2: ( ruleStyle )
+            // InternalReportDSL.g:37071:3: ruleStyle
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getStylesAccess().getStylesStyleParserRuleCall_3_0()); 
@@ -120218,17 +121930,17 @@
 
 
     // $ANTLR start "rule__PageTemplate__NameAssignment_1"
-    // InternalReportDSL.g:36600:1: rule__PageTemplate__NameAssignment_1 : ( RULE_ID ) ;
+    // InternalReportDSL.g:37080:1: rule__PageTemplate__NameAssignment_1 : ( RULE_ID ) ;
     public final void rule__PageTemplate__NameAssignment_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:36604:1: ( ( RULE_ID ) )
-            // InternalReportDSL.g:36605:2: ( RULE_ID )
+            // InternalReportDSL.g:37084:1: ( ( RULE_ID ) )
+            // InternalReportDSL.g:37085:2: ( RULE_ID )
             {
-            // InternalReportDSL.g:36605:2: ( RULE_ID )
-            // InternalReportDSL.g:36606:3: RULE_ID
+            // InternalReportDSL.g:37085:2: ( RULE_ID )
+            // InternalReportDSL.g:37086:3: RULE_ID
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getPageTemplateAccess().getNameIDTerminalRuleCall_1_0()); 
@@ -120259,17 +121971,17 @@
 
 
     // $ANTLR start "rule__PageTemplate__SizeAssignment_4"
-    // InternalReportDSL.g:36615:1: rule__PageTemplate__SizeAssignment_4 : ( rulePageSizeEnum ) ;
+    // InternalReportDSL.g:37095:1: rule__PageTemplate__SizeAssignment_4 : ( rulePageSizeEnum ) ;
     public final void rule__PageTemplate__SizeAssignment_4() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:36619:1: ( ( rulePageSizeEnum ) )
-            // InternalReportDSL.g:36620:2: ( rulePageSizeEnum )
+            // InternalReportDSL.g:37099:1: ( ( rulePageSizeEnum ) )
+            // InternalReportDSL.g:37100:2: ( rulePageSizeEnum )
             {
-            // InternalReportDSL.g:36620:2: ( rulePageSizeEnum )
-            // InternalReportDSL.g:36621:3: rulePageSizeEnum
+            // InternalReportDSL.g:37100:2: ( rulePageSizeEnum )
+            // InternalReportDSL.g:37101:3: rulePageSizeEnum
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getPageTemplateAccess().getSizePageSizeEnumEnumRuleCall_4_0()); 
@@ -120304,17 +122016,17 @@
 
 
     // $ANTLR start "rule__PageTemplate__OrientationAssignment_6"
-    // InternalReportDSL.g:36630:1: rule__PageTemplate__OrientationAssignment_6 : ( ruleOrientationEnum ) ;
+    // InternalReportDSL.g:37110:1: rule__PageTemplate__OrientationAssignment_6 : ( ruleOrientationEnum ) ;
     public final void rule__PageTemplate__OrientationAssignment_6() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:36634:1: ( ( ruleOrientationEnum ) )
-            // InternalReportDSL.g:36635:2: ( ruleOrientationEnum )
+            // InternalReportDSL.g:37114:1: ( ( ruleOrientationEnum ) )
+            // InternalReportDSL.g:37115:2: ( ruleOrientationEnum )
             {
-            // InternalReportDSL.g:36635:2: ( ruleOrientationEnum )
-            // InternalReportDSL.g:36636:3: ruleOrientationEnum
+            // InternalReportDSL.g:37115:2: ( ruleOrientationEnum )
+            // InternalReportDSL.g:37116:3: ruleOrientationEnum
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getPageTemplateAccess().getOrientationOrientationEnumEnumRuleCall_6_0()); 
@@ -120349,17 +122061,17 @@
 
 
     // $ANTLR start "rule__PageTemplate__TopMarginValueAssignment_8"
-    // InternalReportDSL.g:36645:1: rule__PageTemplate__TopMarginValueAssignment_8 : ( ruleUnsignedNumber ) ;
+    // InternalReportDSL.g:37125:1: rule__PageTemplate__TopMarginValueAssignment_8 : ( ruleUnsignedNumber ) ;
     public final void rule__PageTemplate__TopMarginValueAssignment_8() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:36649:1: ( ( ruleUnsignedNumber ) )
-            // InternalReportDSL.g:36650:2: ( ruleUnsignedNumber )
+            // InternalReportDSL.g:37129:1: ( ( ruleUnsignedNumber ) )
+            // InternalReportDSL.g:37130:2: ( ruleUnsignedNumber )
             {
-            // InternalReportDSL.g:36650:2: ( ruleUnsignedNumber )
-            // InternalReportDSL.g:36651:3: ruleUnsignedNumber
+            // InternalReportDSL.g:37130:2: ( ruleUnsignedNumber )
+            // InternalReportDSL.g:37131:3: ruleUnsignedNumber
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getPageTemplateAccess().getTopMarginValueUnsignedNumberParserRuleCall_8_0()); 
@@ -120394,17 +122106,17 @@
 
 
     // $ANTLR start "rule__PageTemplate__LeftMarginValueAssignment_10"
-    // InternalReportDSL.g:36660:1: rule__PageTemplate__LeftMarginValueAssignment_10 : ( ruleUnsignedNumber ) ;
+    // InternalReportDSL.g:37140:1: rule__PageTemplate__LeftMarginValueAssignment_10 : ( ruleUnsignedNumber ) ;
     public final void rule__PageTemplate__LeftMarginValueAssignment_10() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:36664:1: ( ( ruleUnsignedNumber ) )
-            // InternalReportDSL.g:36665:2: ( ruleUnsignedNumber )
+            // InternalReportDSL.g:37144:1: ( ( ruleUnsignedNumber ) )
+            // InternalReportDSL.g:37145:2: ( ruleUnsignedNumber )
             {
-            // InternalReportDSL.g:36665:2: ( ruleUnsignedNumber )
-            // InternalReportDSL.g:36666:3: ruleUnsignedNumber
+            // InternalReportDSL.g:37145:2: ( ruleUnsignedNumber )
+            // InternalReportDSL.g:37146:3: ruleUnsignedNumber
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getPageTemplateAccess().getLeftMarginValueUnsignedNumberParserRuleCall_10_0()); 
@@ -120439,17 +122151,17 @@
 
 
     // $ANTLR start "rule__PageTemplate__BottomMarginValueAssignment_12"
-    // InternalReportDSL.g:36675:1: rule__PageTemplate__BottomMarginValueAssignment_12 : ( ruleUnsignedNumber ) ;
+    // InternalReportDSL.g:37155:1: rule__PageTemplate__BottomMarginValueAssignment_12 : ( ruleUnsignedNumber ) ;
     public final void rule__PageTemplate__BottomMarginValueAssignment_12() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:36679:1: ( ( ruleUnsignedNumber ) )
-            // InternalReportDSL.g:36680:2: ( ruleUnsignedNumber )
+            // InternalReportDSL.g:37159:1: ( ( ruleUnsignedNumber ) )
+            // InternalReportDSL.g:37160:2: ( ruleUnsignedNumber )
             {
-            // InternalReportDSL.g:36680:2: ( ruleUnsignedNumber )
-            // InternalReportDSL.g:36681:3: ruleUnsignedNumber
+            // InternalReportDSL.g:37160:2: ( ruleUnsignedNumber )
+            // InternalReportDSL.g:37161:3: ruleUnsignedNumber
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getPageTemplateAccess().getBottomMarginValueUnsignedNumberParserRuleCall_12_0()); 
@@ -120484,17 +122196,17 @@
 
 
     // $ANTLR start "rule__PageTemplate__RightMarginValueAssignment_14"
-    // InternalReportDSL.g:36690:1: rule__PageTemplate__RightMarginValueAssignment_14 : ( ruleUnsignedNumber ) ;
+    // InternalReportDSL.g:37170:1: rule__PageTemplate__RightMarginValueAssignment_14 : ( ruleUnsignedNumber ) ;
     public final void rule__PageTemplate__RightMarginValueAssignment_14() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:36694:1: ( ( ruleUnsignedNumber ) )
-            // InternalReportDSL.g:36695:2: ( ruleUnsignedNumber )
+            // InternalReportDSL.g:37174:1: ( ( ruleUnsignedNumber ) )
+            // InternalReportDSL.g:37175:2: ( ruleUnsignedNumber )
             {
-            // InternalReportDSL.g:36695:2: ( ruleUnsignedNumber )
-            // InternalReportDSL.g:36696:3: ruleUnsignedNumber
+            // InternalReportDSL.g:37175:2: ( ruleUnsignedNumber )
+            // InternalReportDSL.g:37176:3: ruleUnsignedNumber
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getPageTemplateAccess().getRightMarginValueUnsignedNumberParserRuleCall_14_0()); 
@@ -120529,17 +122241,17 @@
 
 
     // $ANTLR start "rule__PageTemplate__HeaderAssignment_15"
-    // InternalReportDSL.g:36705:1: rule__PageTemplate__HeaderAssignment_15 : ( rulePageHeader ) ;
+    // InternalReportDSL.g:37185:1: rule__PageTemplate__HeaderAssignment_15 : ( rulePageHeader ) ;
     public final void rule__PageTemplate__HeaderAssignment_15() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:36709:1: ( ( rulePageHeader ) )
-            // InternalReportDSL.g:36710:2: ( rulePageHeader )
+            // InternalReportDSL.g:37189:1: ( ( rulePageHeader ) )
+            // InternalReportDSL.g:37190:2: ( rulePageHeader )
             {
-            // InternalReportDSL.g:36710:2: ( rulePageHeader )
-            // InternalReportDSL.g:36711:3: rulePageHeader
+            // InternalReportDSL.g:37190:2: ( rulePageHeader )
+            // InternalReportDSL.g:37191:3: rulePageHeader
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getPageTemplateAccess().getHeaderPageHeaderParserRuleCall_15_0()); 
@@ -120574,17 +122286,17 @@
 
 
     // $ANTLR start "rule__PageTemplate__FooterAssignment_16"
-    // InternalReportDSL.g:36720:1: rule__PageTemplate__FooterAssignment_16 : ( rulePageFooter ) ;
+    // InternalReportDSL.g:37200:1: rule__PageTemplate__FooterAssignment_16 : ( rulePageFooter ) ;
     public final void rule__PageTemplate__FooterAssignment_16() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:36724:1: ( ( rulePageFooter ) )
-            // InternalReportDSL.g:36725:2: ( rulePageFooter )
+            // InternalReportDSL.g:37204:1: ( ( rulePageFooter ) )
+            // InternalReportDSL.g:37205:2: ( rulePageFooter )
             {
-            // InternalReportDSL.g:36725:2: ( rulePageFooter )
-            // InternalReportDSL.g:36726:3: rulePageFooter
+            // InternalReportDSL.g:37205:2: ( rulePageFooter )
+            // InternalReportDSL.g:37206:3: rulePageFooter
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getPageTemplateAccess().getFooterPageFooterParserRuleCall_16_0()); 
@@ -120619,17 +122331,17 @@
 
 
     // $ANTLR start "rule__Color__NameAssignment_1"
-    // InternalReportDSL.g:36735:1: rule__Color__NameAssignment_1 : ( RULE_ID ) ;
+    // InternalReportDSL.g:37215:1: rule__Color__NameAssignment_1 : ( RULE_ID ) ;
     public final void rule__Color__NameAssignment_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:36739:1: ( ( RULE_ID ) )
-            // InternalReportDSL.g:36740:2: ( RULE_ID )
+            // InternalReportDSL.g:37219:1: ( ( RULE_ID ) )
+            // InternalReportDSL.g:37220:2: ( RULE_ID )
             {
-            // InternalReportDSL.g:36740:2: ( RULE_ID )
-            // InternalReportDSL.g:36741:3: RULE_ID
+            // InternalReportDSL.g:37220:2: ( RULE_ID )
+            // InternalReportDSL.g:37221:3: RULE_ID
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getColorAccess().getNameIDTerminalRuleCall_1_0()); 
@@ -120660,17 +122372,17 @@
 
 
     // $ANTLR start "rule__Color__ColorAssignment_2_0"
-    // InternalReportDSL.g:36750:1: rule__Color__ColorAssignment_2_0 : ( RULE_STRING ) ;
+    // InternalReportDSL.g:37230:1: rule__Color__ColorAssignment_2_0 : ( RULE_STRING ) ;
     public final void rule__Color__ColorAssignment_2_0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:36754:1: ( ( RULE_STRING ) )
-            // InternalReportDSL.g:36755:2: ( RULE_STRING )
+            // InternalReportDSL.g:37234:1: ( ( RULE_STRING ) )
+            // InternalReportDSL.g:37235:2: ( RULE_STRING )
             {
-            // InternalReportDSL.g:36755:2: ( RULE_STRING )
-            // InternalReportDSL.g:36756:3: RULE_STRING
+            // InternalReportDSL.g:37235:2: ( RULE_STRING )
+            // InternalReportDSL.g:37236:3: RULE_STRING
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getColorAccess().getColorSTRINGTerminalRuleCall_2_0_0()); 
@@ -120701,23 +122413,23 @@
 
 
     // $ANTLR start "rule__Color__BasecolorAssignment_2_1_1"
-    // InternalReportDSL.g:36765:1: rule__Color__BasecolorAssignment_2_1_1 : ( ( RULE_ID ) ) ;
+    // InternalReportDSL.g:37245:1: rule__Color__BasecolorAssignment_2_1_1 : ( ( RULE_ID ) ) ;
     public final void rule__Color__BasecolorAssignment_2_1_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:36769:1: ( ( ( RULE_ID ) ) )
-            // InternalReportDSL.g:36770:2: ( ( RULE_ID ) )
+            // InternalReportDSL.g:37249:1: ( ( ( RULE_ID ) ) )
+            // InternalReportDSL.g:37250:2: ( ( RULE_ID ) )
             {
-            // InternalReportDSL.g:36770:2: ( ( RULE_ID ) )
-            // InternalReportDSL.g:36771:3: ( RULE_ID )
+            // InternalReportDSL.g:37250:2: ( ( RULE_ID ) )
+            // InternalReportDSL.g:37251:3: ( RULE_ID )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getColorAccess().getBasecolorColorCrossReference_2_1_1_0()); 
             }
-            // InternalReportDSL.g:36772:3: ( RULE_ID )
-            // InternalReportDSL.g:36773:4: RULE_ID
+            // InternalReportDSL.g:37252:3: ( RULE_ID )
+            // InternalReportDSL.g:37253:4: RULE_ID
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getColorAccess().getBasecolorColorIDTerminalRuleCall_2_1_1_0_1()); 
@@ -120754,17 +122466,17 @@
 
 
     // $ANTLR start "rule__Color__DarkensbyAssignment_2_1_3"
-    // InternalReportDSL.g:36784:1: rule__Color__DarkensbyAssignment_2_1_3 : ( RULE_INT ) ;
+    // InternalReportDSL.g:37264:1: rule__Color__DarkensbyAssignment_2_1_3 : ( RULE_INT ) ;
     public final void rule__Color__DarkensbyAssignment_2_1_3() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:36788:1: ( ( RULE_INT ) )
-            // InternalReportDSL.g:36789:2: ( RULE_INT )
+            // InternalReportDSL.g:37268:1: ( ( RULE_INT ) )
+            // InternalReportDSL.g:37269:2: ( RULE_INT )
             {
-            // InternalReportDSL.g:36789:2: ( RULE_INT )
-            // InternalReportDSL.g:36790:3: RULE_INT
+            // InternalReportDSL.g:37269:2: ( RULE_INT )
+            // InternalReportDSL.g:37270:3: RULE_INT
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getColorAccess().getDarkensbyINTTerminalRuleCall_2_1_3_0()); 
@@ -120795,23 +122507,23 @@
 
 
     // $ANTLR start "rule__Color__BasecolorAssignment_2_2_1"
-    // InternalReportDSL.g:36799:1: rule__Color__BasecolorAssignment_2_2_1 : ( ( RULE_ID ) ) ;
+    // InternalReportDSL.g:37279:1: rule__Color__BasecolorAssignment_2_2_1 : ( ( RULE_ID ) ) ;
     public final void rule__Color__BasecolorAssignment_2_2_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:36803:1: ( ( ( RULE_ID ) ) )
-            // InternalReportDSL.g:36804:2: ( ( RULE_ID ) )
+            // InternalReportDSL.g:37283:1: ( ( ( RULE_ID ) ) )
+            // InternalReportDSL.g:37284:2: ( ( RULE_ID ) )
             {
-            // InternalReportDSL.g:36804:2: ( ( RULE_ID ) )
-            // InternalReportDSL.g:36805:3: ( RULE_ID )
+            // InternalReportDSL.g:37284:2: ( ( RULE_ID ) )
+            // InternalReportDSL.g:37285:3: ( RULE_ID )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getColorAccess().getBasecolorColorCrossReference_2_2_1_0()); 
             }
-            // InternalReportDSL.g:36806:3: ( RULE_ID )
-            // InternalReportDSL.g:36807:4: RULE_ID
+            // InternalReportDSL.g:37286:3: ( RULE_ID )
+            // InternalReportDSL.g:37287:4: RULE_ID
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getColorAccess().getBasecolorColorIDTerminalRuleCall_2_2_1_0_1()); 
@@ -120848,17 +122560,17 @@
 
 
     // $ANTLR start "rule__Color__LightensbyAssignment_2_2_3"
-    // InternalReportDSL.g:36818:1: rule__Color__LightensbyAssignment_2_2_3 : ( RULE_INT ) ;
+    // InternalReportDSL.g:37298:1: rule__Color__LightensbyAssignment_2_2_3 : ( RULE_INT ) ;
     public final void rule__Color__LightensbyAssignment_2_2_3() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:36822:1: ( ( RULE_INT ) )
-            // InternalReportDSL.g:36823:2: ( RULE_INT )
+            // InternalReportDSL.g:37302:1: ( ( RULE_INT ) )
+            // InternalReportDSL.g:37303:2: ( RULE_INT )
             {
-            // InternalReportDSL.g:36823:2: ( RULE_INT )
-            // InternalReportDSL.g:36824:3: RULE_INT
+            // InternalReportDSL.g:37303:2: ( RULE_INT )
+            // InternalReportDSL.g:37304:3: RULE_INT
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getColorAccess().getLightensbyINTTerminalRuleCall_2_2_3_0()); 
@@ -120889,23 +122601,23 @@
 
 
     // $ANTLR start "rule__Color__BasecolorAssignment_2_3_1"
-    // InternalReportDSL.g:36833:1: rule__Color__BasecolorAssignment_2_3_1 : ( ( RULE_ID ) ) ;
+    // InternalReportDSL.g:37313:1: rule__Color__BasecolorAssignment_2_3_1 : ( ( RULE_ID ) ) ;
     public final void rule__Color__BasecolorAssignment_2_3_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:36837:1: ( ( ( RULE_ID ) ) )
-            // InternalReportDSL.g:36838:2: ( ( RULE_ID ) )
+            // InternalReportDSL.g:37317:1: ( ( ( RULE_ID ) ) )
+            // InternalReportDSL.g:37318:2: ( ( RULE_ID ) )
             {
-            // InternalReportDSL.g:36838:2: ( ( RULE_ID ) )
-            // InternalReportDSL.g:36839:3: ( RULE_ID )
+            // InternalReportDSL.g:37318:2: ( ( RULE_ID ) )
+            // InternalReportDSL.g:37319:3: ( RULE_ID )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getColorAccess().getBasecolorColorCrossReference_2_3_1_0()); 
             }
-            // InternalReportDSL.g:36840:3: ( RULE_ID )
-            // InternalReportDSL.g:36841:4: RULE_ID
+            // InternalReportDSL.g:37320:3: ( RULE_ID )
+            // InternalReportDSL.g:37321:4: RULE_ID
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getColorAccess().getBasecolorColorIDTerminalRuleCall_2_3_1_0_1()); 
@@ -120942,17 +122654,17 @@
 
 
     // $ANTLR start "rule__Color__TransformsbyAssignment_2_3_3"
-    // InternalReportDSL.g:36852:1: rule__Color__TransformsbyAssignment_2_3_3 : ( RULE_INT ) ;
+    // InternalReportDSL.g:37332:1: rule__Color__TransformsbyAssignment_2_3_3 : ( RULE_INT ) ;
     public final void rule__Color__TransformsbyAssignment_2_3_3() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:36856:1: ( ( RULE_INT ) )
-            // InternalReportDSL.g:36857:2: ( RULE_INT )
+            // InternalReportDSL.g:37336:1: ( ( RULE_INT ) )
+            // InternalReportDSL.g:37337:2: ( RULE_INT )
             {
-            // InternalReportDSL.g:36857:2: ( RULE_INT )
-            // InternalReportDSL.g:36858:3: RULE_INT
+            // InternalReportDSL.g:37337:2: ( RULE_INT )
+            // InternalReportDSL.g:37338:3: RULE_INT
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getColorAccess().getTransformsbyINTTerminalRuleCall_2_3_3_0()); 
@@ -120983,23 +122695,23 @@
 
 
     // $ANTLR start "rule__Color__TargetcolorAssignment_2_3_5"
-    // InternalReportDSL.g:36867:1: rule__Color__TargetcolorAssignment_2_3_5 : ( ( RULE_ID ) ) ;
+    // InternalReportDSL.g:37347:1: rule__Color__TargetcolorAssignment_2_3_5 : ( ( RULE_ID ) ) ;
     public final void rule__Color__TargetcolorAssignment_2_3_5() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:36871:1: ( ( ( RULE_ID ) ) )
-            // InternalReportDSL.g:36872:2: ( ( RULE_ID ) )
+            // InternalReportDSL.g:37351:1: ( ( ( RULE_ID ) ) )
+            // InternalReportDSL.g:37352:2: ( ( RULE_ID ) )
             {
-            // InternalReportDSL.g:36872:2: ( ( RULE_ID ) )
-            // InternalReportDSL.g:36873:3: ( RULE_ID )
+            // InternalReportDSL.g:37352:2: ( ( RULE_ID ) )
+            // InternalReportDSL.g:37353:3: ( RULE_ID )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getColorAccess().getTargetcolorColorCrossReference_2_3_5_0()); 
             }
-            // InternalReportDSL.g:36874:3: ( RULE_ID )
-            // InternalReportDSL.g:36875:4: RULE_ID
+            // InternalReportDSL.g:37354:3: ( RULE_ID )
+            // InternalReportDSL.g:37355:4: RULE_ID
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getColorAccess().getTargetcolorColorIDTerminalRuleCall_2_3_5_0_1()); 
@@ -121036,17 +122748,17 @@
 
 
     // $ANTLR start "rule__Font__NameAssignment_1"
-    // InternalReportDSL.g:36886:1: rule__Font__NameAssignment_1 : ( RULE_ID ) ;
+    // InternalReportDSL.g:37366:1: rule__Font__NameAssignment_1 : ( RULE_ID ) ;
     public final void rule__Font__NameAssignment_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:36890:1: ( ( RULE_ID ) )
-            // InternalReportDSL.g:36891:2: ( RULE_ID )
+            // InternalReportDSL.g:37370:1: ( ( RULE_ID ) )
+            // InternalReportDSL.g:37371:2: ( RULE_ID )
             {
-            // InternalReportDSL.g:36891:2: ( RULE_ID )
-            // InternalReportDSL.g:36892:3: RULE_ID
+            // InternalReportDSL.g:37371:2: ( RULE_ID )
+            // InternalReportDSL.g:37372:3: RULE_ID
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getFontAccess().getNameIDTerminalRuleCall_1_0()); 
@@ -121077,23 +122789,23 @@
 
 
     // $ANTLR start "rule__Font__ExtendsAssignment_2_1"
-    // InternalReportDSL.g:36901:1: rule__Font__ExtendsAssignment_2_1 : ( ( RULE_ID ) ) ;
+    // InternalReportDSL.g:37381:1: rule__Font__ExtendsAssignment_2_1 : ( ( RULE_ID ) ) ;
     public final void rule__Font__ExtendsAssignment_2_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:36905:1: ( ( ( RULE_ID ) ) )
-            // InternalReportDSL.g:36906:2: ( ( RULE_ID ) )
+            // InternalReportDSL.g:37385:1: ( ( ( RULE_ID ) ) )
+            // InternalReportDSL.g:37386:2: ( ( RULE_ID ) )
             {
-            // InternalReportDSL.g:36906:2: ( ( RULE_ID ) )
-            // InternalReportDSL.g:36907:3: ( RULE_ID )
+            // InternalReportDSL.g:37386:2: ( ( RULE_ID ) )
+            // InternalReportDSL.g:37387:3: ( RULE_ID )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getFontAccess().getExtendsFontCrossReference_2_1_0()); 
             }
-            // InternalReportDSL.g:36908:3: ( RULE_ID )
-            // InternalReportDSL.g:36909:4: RULE_ID
+            // InternalReportDSL.g:37388:3: ( RULE_ID )
+            // InternalReportDSL.g:37389:4: RULE_ID
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getFontAccess().getExtendsFontIDTerminalRuleCall_2_1_0_1()); 
@@ -121130,17 +122842,17 @@
 
 
     // $ANTLR start "rule__Font__FamilyAssignment_4_0_1"
-    // InternalReportDSL.g:36920:1: rule__Font__FamilyAssignment_4_0_1 : ( ruleFontFamily ) ;
+    // InternalReportDSL.g:37400:1: rule__Font__FamilyAssignment_4_0_1 : ( ruleFontFamily ) ;
     public final void rule__Font__FamilyAssignment_4_0_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:36924:1: ( ( ruleFontFamily ) )
-            // InternalReportDSL.g:36925:2: ( ruleFontFamily )
+            // InternalReportDSL.g:37404:1: ( ( ruleFontFamily ) )
+            // InternalReportDSL.g:37405:2: ( ruleFontFamily )
             {
-            // InternalReportDSL.g:36925:2: ( ruleFontFamily )
-            // InternalReportDSL.g:36926:3: ruleFontFamily
+            // InternalReportDSL.g:37405:2: ( ruleFontFamily )
+            // InternalReportDSL.g:37406:3: ruleFontFamily
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getFontAccess().getFamilyFontFamilyParserRuleCall_4_0_1_0()); 
@@ -121175,17 +122887,17 @@
 
 
     // $ANTLR start "rule__Font__StyleAssignment_4_1"
-    // InternalReportDSL.g:36935:1: rule__Font__StyleAssignment_4_1 : ( ruleFontStyleEnum ) ;
+    // InternalReportDSL.g:37415:1: rule__Font__StyleAssignment_4_1 : ( ruleFontStyleEnum ) ;
     public final void rule__Font__StyleAssignment_4_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:36939:1: ( ( ruleFontStyleEnum ) )
-            // InternalReportDSL.g:36940:2: ( ruleFontStyleEnum )
+            // InternalReportDSL.g:37419:1: ( ( ruleFontStyleEnum ) )
+            // InternalReportDSL.g:37420:2: ( ruleFontStyleEnum )
             {
-            // InternalReportDSL.g:36940:2: ( ruleFontStyleEnum )
-            // InternalReportDSL.g:36941:3: ruleFontStyleEnum
+            // InternalReportDSL.g:37420:2: ( ruleFontStyleEnum )
+            // InternalReportDSL.g:37421:3: ruleFontStyleEnum
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getFontAccess().getStyleFontStyleEnumEnumRuleCall_4_1_0()); 
@@ -121220,28 +122932,28 @@
 
 
     // $ANTLR start "rule__Font__BoldAssignment_4_2"
-    // InternalReportDSL.g:36950:1: rule__Font__BoldAssignment_4_2 : ( ( 'bold' ) ) ;
+    // InternalReportDSL.g:37430:1: rule__Font__BoldAssignment_4_2 : ( ( 'bold' ) ) ;
     public final void rule__Font__BoldAssignment_4_2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:36954:1: ( ( ( 'bold' ) ) )
-            // InternalReportDSL.g:36955:2: ( ( 'bold' ) )
+            // InternalReportDSL.g:37434:1: ( ( ( 'bold' ) ) )
+            // InternalReportDSL.g:37435:2: ( ( 'bold' ) )
             {
-            // InternalReportDSL.g:36955:2: ( ( 'bold' ) )
-            // InternalReportDSL.g:36956:3: ( 'bold' )
+            // InternalReportDSL.g:37435:2: ( ( 'bold' ) )
+            // InternalReportDSL.g:37436:3: ( 'bold' )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getFontAccess().getBoldBoldKeyword_4_2_0()); 
             }
-            // InternalReportDSL.g:36957:3: ( 'bold' )
-            // InternalReportDSL.g:36958:4: 'bold'
+            // InternalReportDSL.g:37437:3: ( 'bold' )
+            // InternalReportDSL.g:37438:4: 'bold'
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getFontAccess().getBoldBoldKeyword_4_2_0()); 
             }
-            match(input,253,FOLLOW_2); if (state.failed) return ;
+            match(input,260,FOLLOW_2); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getFontAccess().getBoldBoldKeyword_4_2_0()); 
             }
@@ -121273,17 +122985,17 @@
 
 
     // $ANTLR start "rule__Font__SizevalueAssignment_4_3_1"
-    // InternalReportDSL.g:36969:1: rule__Font__SizevalueAssignment_4_3_1 : ( ruleUnsignedNumber ) ;
+    // InternalReportDSL.g:37449:1: rule__Font__SizevalueAssignment_4_3_1 : ( ruleUnsignedNumber ) ;
     public final void rule__Font__SizevalueAssignment_4_3_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:36973:1: ( ( ruleUnsignedNumber ) )
-            // InternalReportDSL.g:36974:2: ( ruleUnsignedNumber )
+            // InternalReportDSL.g:37453:1: ( ( ruleUnsignedNumber ) )
+            // InternalReportDSL.g:37454:2: ( ruleUnsignedNumber )
             {
-            // InternalReportDSL.g:36974:2: ( ruleUnsignedNumber )
-            // InternalReportDSL.g:36975:3: ruleUnsignedNumber
+            // InternalReportDSL.g:37454:2: ( ruleUnsignedNumber )
+            // InternalReportDSL.g:37455:3: ruleUnsignedNumber
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getFontAccess().getSizevalueUnsignedNumberParserRuleCall_4_3_1_0()); 
@@ -121318,17 +123030,17 @@
 
 
     // $ANTLR start "rule__Font__SizeunitAssignment_4_3_2"
-    // InternalReportDSL.g:36984:1: rule__Font__SizeunitAssignment_4_3_2 : ( ruleUnitEnum ) ;
+    // InternalReportDSL.g:37464:1: rule__Font__SizeunitAssignment_4_3_2 : ( ruleUnitEnum ) ;
     public final void rule__Font__SizeunitAssignment_4_3_2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:36988:1: ( ( ruleUnitEnum ) )
-            // InternalReportDSL.g:36989:2: ( ruleUnitEnum )
+            // InternalReportDSL.g:37468:1: ( ( ruleUnitEnum ) )
+            // InternalReportDSL.g:37469:2: ( ruleUnitEnum )
             {
-            // InternalReportDSL.g:36989:2: ( ruleUnitEnum )
-            // InternalReportDSL.g:36990:3: ruleUnitEnum
+            // InternalReportDSL.g:37469:2: ( ruleUnitEnum )
+            // InternalReportDSL.g:37470:3: ruleUnitEnum
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getFontAccess().getSizeunitUnitEnumEnumRuleCall_4_3_2_0()); 
@@ -121363,17 +123075,17 @@
 
 
     // $ANTLR start "rule__BuildInFontFamily__CustomAssignment"
-    // InternalReportDSL.g:36999:1: rule__BuildInFontFamily__CustomAssignment : ( ruleBuildInFontFamilyEnum ) ;
+    // InternalReportDSL.g:37479:1: rule__BuildInFontFamily__CustomAssignment : ( ruleBuildInFontFamilyEnum ) ;
     public final void rule__BuildInFontFamily__CustomAssignment() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:37003:1: ( ( ruleBuildInFontFamilyEnum ) )
-            // InternalReportDSL.g:37004:2: ( ruleBuildInFontFamilyEnum )
+            // InternalReportDSL.g:37483:1: ( ( ruleBuildInFontFamilyEnum ) )
+            // InternalReportDSL.g:37484:2: ( ruleBuildInFontFamilyEnum )
             {
-            // InternalReportDSL.g:37004:2: ( ruleBuildInFontFamilyEnum )
-            // InternalReportDSL.g:37005:3: ruleBuildInFontFamilyEnum
+            // InternalReportDSL.g:37484:2: ( ruleBuildInFontFamilyEnum )
+            // InternalReportDSL.g:37485:3: ruleBuildInFontFamilyEnum
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getBuildInFontFamilyAccess().getCustomBuildInFontFamilyEnumEnumRuleCall_0()); 
@@ -121408,17 +123120,17 @@
 
 
     // $ANTLR start "rule__CustomFontFamily__CustomAssignment"
-    // InternalReportDSL.g:37014:1: rule__CustomFontFamily__CustomAssignment : ( RULE_STRING ) ;
+    // InternalReportDSL.g:37494:1: rule__CustomFontFamily__CustomAssignment : ( RULE_STRING ) ;
     public final void rule__CustomFontFamily__CustomAssignment() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:37018:1: ( ( RULE_STRING ) )
-            // InternalReportDSL.g:37019:2: ( RULE_STRING )
+            // InternalReportDSL.g:37498:1: ( ( RULE_STRING ) )
+            // InternalReportDSL.g:37499:2: ( RULE_STRING )
             {
-            // InternalReportDSL.g:37019:2: ( RULE_STRING )
-            // InternalReportDSL.g:37020:3: RULE_STRING
+            // InternalReportDSL.g:37499:2: ( RULE_STRING )
+            // InternalReportDSL.g:37500:3: RULE_STRING
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getCustomFontFamilyAccess().getCustomSTRINGTerminalRuleCall_0()); 
@@ -121449,17 +123161,17 @@
 
 
     // $ANTLR start "rule__BorderStyle__TypeAssignment_0"
-    // InternalReportDSL.g:37029:1: rule__BorderStyle__TypeAssignment_0 : ( ruleBorderTypeEnum ) ;
+    // InternalReportDSL.g:37509:1: rule__BorderStyle__TypeAssignment_0 : ( ruleBorderTypeEnum ) ;
     public final void rule__BorderStyle__TypeAssignment_0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:37033:1: ( ( ruleBorderTypeEnum ) )
-            // InternalReportDSL.g:37034:2: ( ruleBorderTypeEnum )
+            // InternalReportDSL.g:37513:1: ( ( ruleBorderTypeEnum ) )
+            // InternalReportDSL.g:37514:2: ( ruleBorderTypeEnum )
             {
-            // InternalReportDSL.g:37034:2: ( ruleBorderTypeEnum )
-            // InternalReportDSL.g:37035:3: ruleBorderTypeEnum
+            // InternalReportDSL.g:37514:2: ( ruleBorderTypeEnum )
+            // InternalReportDSL.g:37515:3: ruleBorderTypeEnum
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getBorderStyleAccess().getTypeBorderTypeEnumEnumRuleCall_0_0()); 
@@ -121494,17 +123206,17 @@
 
 
     // $ANTLR start "rule__BorderStyle__WidthValueAssignment_1"
-    // InternalReportDSL.g:37044:1: rule__BorderStyle__WidthValueAssignment_1 : ( ruleUnsignedNumber ) ;
+    // InternalReportDSL.g:37524:1: rule__BorderStyle__WidthValueAssignment_1 : ( ruleUnsignedNumber ) ;
     public final void rule__BorderStyle__WidthValueAssignment_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:37048:1: ( ( ruleUnsignedNumber ) )
-            // InternalReportDSL.g:37049:2: ( ruleUnsignedNumber )
+            // InternalReportDSL.g:37528:1: ( ( ruleUnsignedNumber ) )
+            // InternalReportDSL.g:37529:2: ( ruleUnsignedNumber )
             {
-            // InternalReportDSL.g:37049:2: ( ruleUnsignedNumber )
-            // InternalReportDSL.g:37050:3: ruleUnsignedNumber
+            // InternalReportDSL.g:37529:2: ( ruleUnsignedNumber )
+            // InternalReportDSL.g:37530:3: ruleUnsignedNumber
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getBorderStyleAccess().getWidthValueUnsignedNumberParserRuleCall_1_0()); 
@@ -121539,23 +123251,23 @@
 
 
     // $ANTLR start "rule__BorderStyle__ColorAssignment_2"
-    // InternalReportDSL.g:37059:1: rule__BorderStyle__ColorAssignment_2 : ( ( RULE_ID ) ) ;
+    // InternalReportDSL.g:37539:1: rule__BorderStyle__ColorAssignment_2 : ( ( RULE_ID ) ) ;
     public final void rule__BorderStyle__ColorAssignment_2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:37063:1: ( ( ( RULE_ID ) ) )
-            // InternalReportDSL.g:37064:2: ( ( RULE_ID ) )
+            // InternalReportDSL.g:37543:1: ( ( ( RULE_ID ) ) )
+            // InternalReportDSL.g:37544:2: ( ( RULE_ID ) )
             {
-            // InternalReportDSL.g:37064:2: ( ( RULE_ID ) )
-            // InternalReportDSL.g:37065:3: ( RULE_ID )
+            // InternalReportDSL.g:37544:2: ( ( RULE_ID ) )
+            // InternalReportDSL.g:37545:3: ( RULE_ID )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getBorderStyleAccess().getColorColorCrossReference_2_0()); 
             }
-            // InternalReportDSL.g:37066:3: ( RULE_ID )
-            // InternalReportDSL.g:37067:4: RULE_ID
+            // InternalReportDSL.g:37546:3: ( RULE_ID )
+            // InternalReportDSL.g:37547:4: RULE_ID
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getBorderStyleAccess().getColorColorIDTerminalRuleCall_2_0_1()); 
@@ -121592,17 +123304,17 @@
 
 
     // $ANTLR start "rule__Style__NameAssignment_1"
-    // InternalReportDSL.g:37078:1: rule__Style__NameAssignment_1 : ( RULE_ID ) ;
+    // InternalReportDSL.g:37558:1: rule__Style__NameAssignment_1 : ( RULE_ID ) ;
     public final void rule__Style__NameAssignment_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:37082:1: ( ( RULE_ID ) )
-            // InternalReportDSL.g:37083:2: ( RULE_ID )
+            // InternalReportDSL.g:37562:1: ( ( RULE_ID ) )
+            // InternalReportDSL.g:37563:2: ( RULE_ID )
             {
-            // InternalReportDSL.g:37083:2: ( RULE_ID )
-            // InternalReportDSL.g:37084:3: RULE_ID
+            // InternalReportDSL.g:37563:2: ( RULE_ID )
+            // InternalReportDSL.g:37564:3: RULE_ID
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getStyleAccess().getNameIDTerminalRuleCall_1_0()); 
@@ -121633,23 +123345,23 @@
 
 
     // $ANTLR start "rule__Style__ExtendsAssignment_3_1"
-    // InternalReportDSL.g:37093:1: rule__Style__ExtendsAssignment_3_1 : ( ( RULE_ID ) ) ;
+    // InternalReportDSL.g:37573:1: rule__Style__ExtendsAssignment_3_1 : ( ( RULE_ID ) ) ;
     public final void rule__Style__ExtendsAssignment_3_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:37097:1: ( ( ( RULE_ID ) ) )
-            // InternalReportDSL.g:37098:2: ( ( RULE_ID ) )
+            // InternalReportDSL.g:37577:1: ( ( ( RULE_ID ) ) )
+            // InternalReportDSL.g:37578:2: ( ( RULE_ID ) )
             {
-            // InternalReportDSL.g:37098:2: ( ( RULE_ID ) )
-            // InternalReportDSL.g:37099:3: ( RULE_ID )
+            // InternalReportDSL.g:37578:2: ( ( RULE_ID ) )
+            // InternalReportDSL.g:37579:3: ( RULE_ID )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getStyleAccess().getExtendsStyleCrossReference_3_1_0()); 
             }
-            // InternalReportDSL.g:37100:3: ( RULE_ID )
-            // InternalReportDSL.g:37101:4: RULE_ID
+            // InternalReportDSL.g:37580:3: ( RULE_ID )
+            // InternalReportDSL.g:37581:4: RULE_ID
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getStyleAccess().getExtendsStyleIDTerminalRuleCall_3_1_0_1()); 
@@ -121686,23 +123398,23 @@
 
 
     // $ANTLR start "rule__Style__FormatAssignment_4_0_1"
-    // InternalReportDSL.g:37112:1: rule__Style__FormatAssignment_4_0_1 : ( ( RULE_ID ) ) ;
+    // InternalReportDSL.g:37592:1: rule__Style__FormatAssignment_4_0_1 : ( ( RULE_ID ) ) ;
     public final void rule__Style__FormatAssignment_4_0_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:37116:1: ( ( ( RULE_ID ) ) )
-            // InternalReportDSL.g:37117:2: ( ( RULE_ID ) )
+            // InternalReportDSL.g:37596:1: ( ( ( RULE_ID ) ) )
+            // InternalReportDSL.g:37597:2: ( ( RULE_ID ) )
             {
-            // InternalReportDSL.g:37117:2: ( ( RULE_ID ) )
-            // InternalReportDSL.g:37118:3: ( RULE_ID )
+            // InternalReportDSL.g:37597:2: ( ( RULE_ID ) )
+            // InternalReportDSL.g:37598:3: ( RULE_ID )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getStyleAccess().getFormatSomeFormatCrossReference_4_0_1_0()); 
             }
-            // InternalReportDSL.g:37119:3: ( RULE_ID )
-            // InternalReportDSL.g:37120:4: RULE_ID
+            // InternalReportDSL.g:37599:3: ( RULE_ID )
+            // InternalReportDSL.g:37600:4: RULE_ID
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getStyleAccess().getFormatSomeFormatIDTerminalRuleCall_4_0_1_0_1()); 
@@ -121739,23 +123451,23 @@
 
 
     // $ANTLR start "rule__Style__FontAssignment_4_1_1"
-    // InternalReportDSL.g:37131:1: rule__Style__FontAssignment_4_1_1 : ( ( RULE_ID ) ) ;
+    // InternalReportDSL.g:37611:1: rule__Style__FontAssignment_4_1_1 : ( ( RULE_ID ) ) ;
     public final void rule__Style__FontAssignment_4_1_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:37135:1: ( ( ( RULE_ID ) ) )
-            // InternalReportDSL.g:37136:2: ( ( RULE_ID ) )
+            // InternalReportDSL.g:37615:1: ( ( ( RULE_ID ) ) )
+            // InternalReportDSL.g:37616:2: ( ( RULE_ID ) )
             {
-            // InternalReportDSL.g:37136:2: ( ( RULE_ID ) )
-            // InternalReportDSL.g:37137:3: ( RULE_ID )
+            // InternalReportDSL.g:37616:2: ( ( RULE_ID ) )
+            // InternalReportDSL.g:37617:3: ( RULE_ID )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getStyleAccess().getFontFontCrossReference_4_1_1_0()); 
             }
-            // InternalReportDSL.g:37138:3: ( RULE_ID )
-            // InternalReportDSL.g:37139:4: RULE_ID
+            // InternalReportDSL.g:37618:3: ( RULE_ID )
+            // InternalReportDSL.g:37619:4: RULE_ID
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getStyleAccess().getFontFontIDTerminalRuleCall_4_1_1_0_1()); 
@@ -121792,23 +123504,23 @@
 
 
     // $ANTLR start "rule__Style__BackgroundcolorAssignment_4_2_1"
-    // InternalReportDSL.g:37150:1: rule__Style__BackgroundcolorAssignment_4_2_1 : ( ( RULE_ID ) ) ;
+    // InternalReportDSL.g:37630:1: rule__Style__BackgroundcolorAssignment_4_2_1 : ( ( RULE_ID ) ) ;
     public final void rule__Style__BackgroundcolorAssignment_4_2_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:37154:1: ( ( ( RULE_ID ) ) )
-            // InternalReportDSL.g:37155:2: ( ( RULE_ID ) )
+            // InternalReportDSL.g:37634:1: ( ( ( RULE_ID ) ) )
+            // InternalReportDSL.g:37635:2: ( ( RULE_ID ) )
             {
-            // InternalReportDSL.g:37155:2: ( ( RULE_ID ) )
-            // InternalReportDSL.g:37156:3: ( RULE_ID )
+            // InternalReportDSL.g:37635:2: ( ( RULE_ID ) )
+            // InternalReportDSL.g:37636:3: ( RULE_ID )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getStyleAccess().getBackgroundcolorColorCrossReference_4_2_1_0()); 
             }
-            // InternalReportDSL.g:37157:3: ( RULE_ID )
-            // InternalReportDSL.g:37158:4: RULE_ID
+            // InternalReportDSL.g:37637:3: ( RULE_ID )
+            // InternalReportDSL.g:37638:4: RULE_ID
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getStyleAccess().getBackgroundcolorColorIDTerminalRuleCall_4_2_1_0_1()); 
@@ -121845,23 +123557,23 @@
 
 
     // $ANTLR start "rule__Style__Backgroundcolor_alternateAssignment_4_2_2_1"
-    // InternalReportDSL.g:37169:1: rule__Style__Backgroundcolor_alternateAssignment_4_2_2_1 : ( ( RULE_ID ) ) ;
+    // InternalReportDSL.g:37649:1: rule__Style__Backgroundcolor_alternateAssignment_4_2_2_1 : ( ( RULE_ID ) ) ;
     public final void rule__Style__Backgroundcolor_alternateAssignment_4_2_2_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:37173:1: ( ( ( RULE_ID ) ) )
-            // InternalReportDSL.g:37174:2: ( ( RULE_ID ) )
+            // InternalReportDSL.g:37653:1: ( ( ( RULE_ID ) ) )
+            // InternalReportDSL.g:37654:2: ( ( RULE_ID ) )
             {
-            // InternalReportDSL.g:37174:2: ( ( RULE_ID ) )
-            // InternalReportDSL.g:37175:3: ( RULE_ID )
+            // InternalReportDSL.g:37654:2: ( ( RULE_ID ) )
+            // InternalReportDSL.g:37655:3: ( RULE_ID )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getStyleAccess().getBackgroundcolor_alternateColorCrossReference_4_2_2_1_0()); 
             }
-            // InternalReportDSL.g:37176:3: ( RULE_ID )
-            // InternalReportDSL.g:37177:4: RULE_ID
+            // InternalReportDSL.g:37656:3: ( RULE_ID )
+            // InternalReportDSL.g:37657:4: RULE_ID
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getStyleAccess().getBackgroundcolor_alternateColorIDTerminalRuleCall_4_2_2_1_0_1()); 
@@ -121898,23 +123610,23 @@
 
 
     // $ANTLR start "rule__Style__TextcolorAssignment_4_3_1"
-    // InternalReportDSL.g:37188:1: rule__Style__TextcolorAssignment_4_3_1 : ( ( RULE_ID ) ) ;
+    // InternalReportDSL.g:37668:1: rule__Style__TextcolorAssignment_4_3_1 : ( ( RULE_ID ) ) ;
     public final void rule__Style__TextcolorAssignment_4_3_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:37192:1: ( ( ( RULE_ID ) ) )
-            // InternalReportDSL.g:37193:2: ( ( RULE_ID ) )
+            // InternalReportDSL.g:37672:1: ( ( ( RULE_ID ) ) )
+            // InternalReportDSL.g:37673:2: ( ( RULE_ID ) )
             {
-            // InternalReportDSL.g:37193:2: ( ( RULE_ID ) )
-            // InternalReportDSL.g:37194:3: ( RULE_ID )
+            // InternalReportDSL.g:37673:2: ( ( RULE_ID ) )
+            // InternalReportDSL.g:37674:3: ( RULE_ID )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getStyleAccess().getTextcolorColorCrossReference_4_3_1_0()); 
             }
-            // InternalReportDSL.g:37195:3: ( RULE_ID )
-            // InternalReportDSL.g:37196:4: RULE_ID
+            // InternalReportDSL.g:37675:3: ( RULE_ID )
+            // InternalReportDSL.g:37676:4: RULE_ID
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getStyleAccess().getTextcolorColorIDTerminalRuleCall_4_3_1_0_1()); 
@@ -121951,17 +123663,17 @@
 
 
     // $ANTLR start "rule__Style__TextalignAssignment_4_4_1"
-    // InternalReportDSL.g:37207:1: rule__Style__TextalignAssignment_4_4_1 : ( ruleTextAlignEnum ) ;
+    // InternalReportDSL.g:37687:1: rule__Style__TextalignAssignment_4_4_1 : ( ruleTextAlignEnum ) ;
     public final void rule__Style__TextalignAssignment_4_4_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:37211:1: ( ( ruleTextAlignEnum ) )
-            // InternalReportDSL.g:37212:2: ( ruleTextAlignEnum )
+            // InternalReportDSL.g:37691:1: ( ( ruleTextAlignEnum ) )
+            // InternalReportDSL.g:37692:2: ( ruleTextAlignEnum )
             {
-            // InternalReportDSL.g:37212:2: ( ruleTextAlignEnum )
-            // InternalReportDSL.g:37213:3: ruleTextAlignEnum
+            // InternalReportDSL.g:37692:2: ( ruleTextAlignEnum )
+            // InternalReportDSL.g:37693:3: ruleTextAlignEnum
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getStyleAccess().getTextalignTextAlignEnumEnumRuleCall_4_4_1_0()); 
@@ -121995,21 +123707,66 @@
     // $ANTLR end "rule__Style__TextalignAssignment_4_4_1"
 
 
-    // $ANTLR start "rule__Style__BorderTopAssignment_4_5_1"
-    // InternalReportDSL.g:37222:1: rule__Style__BorderTopAssignment_4_5_1 : ( ruleBorderStyle ) ;
-    public final void rule__Style__BorderTopAssignment_4_5_1() throws RecognitionException {
+    // $ANTLR start "rule__Style__VerticalalignAssignment_4_5_1"
+    // InternalReportDSL.g:37702:1: rule__Style__VerticalalignAssignment_4_5_1 : ( ruleVerticalTextAlignEnum ) ;
+    public final void rule__Style__VerticalalignAssignment_4_5_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:37226:1: ( ( ruleBorderStyle ) )
-            // InternalReportDSL.g:37227:2: ( ruleBorderStyle )
+            // InternalReportDSL.g:37706:1: ( ( ruleVerticalTextAlignEnum ) )
+            // InternalReportDSL.g:37707:2: ( ruleVerticalTextAlignEnum )
             {
-            // InternalReportDSL.g:37227:2: ( ruleBorderStyle )
-            // InternalReportDSL.g:37228:3: ruleBorderStyle
+            // InternalReportDSL.g:37707:2: ( ruleVerticalTextAlignEnum )
+            // InternalReportDSL.g:37708:3: ruleVerticalTextAlignEnum
             {
             if ( state.backtracking==0 ) {
-               before(grammarAccess.getStyleAccess().getBorderTopBorderStyleParserRuleCall_4_5_1_0()); 
+               before(grammarAccess.getStyleAccess().getVerticalalignVerticalTextAlignEnumEnumRuleCall_4_5_1_0()); 
+            }
+            pushFollow(FOLLOW_2);
+            ruleVerticalTextAlignEnum();
+
+            state._fsp--;
+            if (state.failed) return ;
+            if ( state.backtracking==0 ) {
+               after(grammarAccess.getStyleAccess().getVerticalalignVerticalTextAlignEnumEnumRuleCall_4_5_1_0()); 
+            }
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__Style__VerticalalignAssignment_4_5_1"
+
+
+    // $ANTLR start "rule__Style__BorderTopAssignment_4_6_1"
+    // InternalReportDSL.g:37717:1: rule__Style__BorderTopAssignment_4_6_1 : ( ruleBorderStyle ) ;
+    public final void rule__Style__BorderTopAssignment_4_6_1() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+        	
+        try {
+            // InternalReportDSL.g:37721:1: ( ( ruleBorderStyle ) )
+            // InternalReportDSL.g:37722:2: ( ruleBorderStyle )
+            {
+            // InternalReportDSL.g:37722:2: ( ruleBorderStyle )
+            // InternalReportDSL.g:37723:3: ruleBorderStyle
+            {
+            if ( state.backtracking==0 ) {
+               before(grammarAccess.getStyleAccess().getBorderTopBorderStyleParserRuleCall_4_6_1_0()); 
             }
             pushFollow(FOLLOW_2);
             ruleBorderStyle();
@@ -122017,7 +123774,7 @@
             state._fsp--;
             if (state.failed) return ;
             if ( state.backtracking==0 ) {
-               after(grammarAccess.getStyleAccess().getBorderTopBorderStyleParserRuleCall_4_5_1_0()); 
+               after(grammarAccess.getStyleAccess().getBorderTopBorderStyleParserRuleCall_4_6_1_0()); 
             }
 
             }
@@ -122037,24 +123794,24 @@
         }
         return ;
     }
-    // $ANTLR end "rule__Style__BorderTopAssignment_4_5_1"
+    // $ANTLR end "rule__Style__BorderTopAssignment_4_6_1"
 
 
-    // $ANTLR start "rule__Style__BorderBottomAssignment_4_6_1"
-    // InternalReportDSL.g:37237:1: rule__Style__BorderBottomAssignment_4_6_1 : ( ruleBorderStyle ) ;
-    public final void rule__Style__BorderBottomAssignment_4_6_1() throws RecognitionException {
+    // $ANTLR start "rule__Style__BorderBottomAssignment_4_7_1"
+    // InternalReportDSL.g:37732:1: rule__Style__BorderBottomAssignment_4_7_1 : ( ruleBorderStyle ) ;
+    public final void rule__Style__BorderBottomAssignment_4_7_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:37241:1: ( ( ruleBorderStyle ) )
-            // InternalReportDSL.g:37242:2: ( ruleBorderStyle )
+            // InternalReportDSL.g:37736:1: ( ( ruleBorderStyle ) )
+            // InternalReportDSL.g:37737:2: ( ruleBorderStyle )
             {
-            // InternalReportDSL.g:37242:2: ( ruleBorderStyle )
-            // InternalReportDSL.g:37243:3: ruleBorderStyle
+            // InternalReportDSL.g:37737:2: ( ruleBorderStyle )
+            // InternalReportDSL.g:37738:3: ruleBorderStyle
             {
             if ( state.backtracking==0 ) {
-               before(grammarAccess.getStyleAccess().getBorderBottomBorderStyleParserRuleCall_4_6_1_0()); 
+               before(grammarAccess.getStyleAccess().getBorderBottomBorderStyleParserRuleCall_4_7_1_0()); 
             }
             pushFollow(FOLLOW_2);
             ruleBorderStyle();
@@ -122062,7 +123819,7 @@
             state._fsp--;
             if (state.failed) return ;
             if ( state.backtracking==0 ) {
-               after(grammarAccess.getStyleAccess().getBorderBottomBorderStyleParserRuleCall_4_6_1_0()); 
+               after(grammarAccess.getStyleAccess().getBorderBottomBorderStyleParserRuleCall_4_7_1_0()); 
             }
 
             }
@@ -122082,24 +123839,24 @@
         }
         return ;
     }
-    // $ANTLR end "rule__Style__BorderBottomAssignment_4_6_1"
+    // $ANTLR end "rule__Style__BorderBottomAssignment_4_7_1"
 
 
-    // $ANTLR start "rule__Style__BorderLeftAssignment_4_7_1"
-    // InternalReportDSL.g:37252:1: rule__Style__BorderLeftAssignment_4_7_1 : ( ruleBorderStyle ) ;
-    public final void rule__Style__BorderLeftAssignment_4_7_1() throws RecognitionException {
+    // $ANTLR start "rule__Style__BorderLeftAssignment_4_8_1"
+    // InternalReportDSL.g:37747:1: rule__Style__BorderLeftAssignment_4_8_1 : ( ruleBorderStyle ) ;
+    public final void rule__Style__BorderLeftAssignment_4_8_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:37256:1: ( ( ruleBorderStyle ) )
-            // InternalReportDSL.g:37257:2: ( ruleBorderStyle )
+            // InternalReportDSL.g:37751:1: ( ( ruleBorderStyle ) )
+            // InternalReportDSL.g:37752:2: ( ruleBorderStyle )
             {
-            // InternalReportDSL.g:37257:2: ( ruleBorderStyle )
-            // InternalReportDSL.g:37258:3: ruleBorderStyle
+            // InternalReportDSL.g:37752:2: ( ruleBorderStyle )
+            // InternalReportDSL.g:37753:3: ruleBorderStyle
             {
             if ( state.backtracking==0 ) {
-               before(grammarAccess.getStyleAccess().getBorderLeftBorderStyleParserRuleCall_4_7_1_0()); 
+               before(grammarAccess.getStyleAccess().getBorderLeftBorderStyleParserRuleCall_4_8_1_0()); 
             }
             pushFollow(FOLLOW_2);
             ruleBorderStyle();
@@ -122107,7 +123864,7 @@
             state._fsp--;
             if (state.failed) return ;
             if ( state.backtracking==0 ) {
-               after(grammarAccess.getStyleAccess().getBorderLeftBorderStyleParserRuleCall_4_7_1_0()); 
+               after(grammarAccess.getStyleAccess().getBorderLeftBorderStyleParserRuleCall_4_8_1_0()); 
             }
 
             }
@@ -122127,24 +123884,24 @@
         }
         return ;
     }
-    // $ANTLR end "rule__Style__BorderLeftAssignment_4_7_1"
+    // $ANTLR end "rule__Style__BorderLeftAssignment_4_8_1"
 
 
-    // $ANTLR start "rule__Style__BorderRightAssignment_4_8_1"
-    // InternalReportDSL.g:37267:1: rule__Style__BorderRightAssignment_4_8_1 : ( ruleBorderStyle ) ;
-    public final void rule__Style__BorderRightAssignment_4_8_1() throws RecognitionException {
+    // $ANTLR start "rule__Style__BorderRightAssignment_4_9_1"
+    // InternalReportDSL.g:37762:1: rule__Style__BorderRightAssignment_4_9_1 : ( ruleBorderStyle ) ;
+    public final void rule__Style__BorderRightAssignment_4_9_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:37271:1: ( ( ruleBorderStyle ) )
-            // InternalReportDSL.g:37272:2: ( ruleBorderStyle )
+            // InternalReportDSL.g:37766:1: ( ( ruleBorderStyle ) )
+            // InternalReportDSL.g:37767:2: ( ruleBorderStyle )
             {
-            // InternalReportDSL.g:37272:2: ( ruleBorderStyle )
-            // InternalReportDSL.g:37273:3: ruleBorderStyle
+            // InternalReportDSL.g:37767:2: ( ruleBorderStyle )
+            // InternalReportDSL.g:37768:3: ruleBorderStyle
             {
             if ( state.backtracking==0 ) {
-               before(grammarAccess.getStyleAccess().getBorderRightBorderStyleParserRuleCall_4_8_1_0()); 
+               before(grammarAccess.getStyleAccess().getBorderRightBorderStyleParserRuleCall_4_9_1_0()); 
             }
             pushFollow(FOLLOW_2);
             ruleBorderStyle();
@@ -122152,7 +123909,7 @@
             state._fsp--;
             if (state.failed) return ;
             if ( state.backtracking==0 ) {
-               after(grammarAccess.getStyleAccess().getBorderRightBorderStyleParserRuleCall_4_8_1_0()); 
+               after(grammarAccess.getStyleAccess().getBorderRightBorderStyleParserRuleCall_4_9_1_0()); 
             }
 
             }
@@ -122172,24 +123929,24 @@
         }
         return ;
     }
-    // $ANTLR end "rule__Style__BorderRightAssignment_4_8_1"
+    // $ANTLR end "rule__Style__BorderRightAssignment_4_9_1"
 
 
-    // $ANTLR start "rule__Style__PaddingTopValueAssignment_4_9_1"
-    // InternalReportDSL.g:37282:1: rule__Style__PaddingTopValueAssignment_4_9_1 : ( ruleUnsignedNumber ) ;
-    public final void rule__Style__PaddingTopValueAssignment_4_9_1() throws RecognitionException {
+    // $ANTLR start "rule__Style__PaddingTopValueAssignment_4_10_1"
+    // InternalReportDSL.g:37777:1: rule__Style__PaddingTopValueAssignment_4_10_1 : ( ruleUnsignedNumber ) ;
+    public final void rule__Style__PaddingTopValueAssignment_4_10_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:37286:1: ( ( ruleUnsignedNumber ) )
-            // InternalReportDSL.g:37287:2: ( ruleUnsignedNumber )
+            // InternalReportDSL.g:37781:1: ( ( ruleUnsignedNumber ) )
+            // InternalReportDSL.g:37782:2: ( ruleUnsignedNumber )
             {
-            // InternalReportDSL.g:37287:2: ( ruleUnsignedNumber )
-            // InternalReportDSL.g:37288:3: ruleUnsignedNumber
+            // InternalReportDSL.g:37782:2: ( ruleUnsignedNumber )
+            // InternalReportDSL.g:37783:3: ruleUnsignedNumber
             {
             if ( state.backtracking==0 ) {
-               before(grammarAccess.getStyleAccess().getPaddingTopValueUnsignedNumberParserRuleCall_4_9_1_0()); 
+               before(grammarAccess.getStyleAccess().getPaddingTopValueUnsignedNumberParserRuleCall_4_10_1_0()); 
             }
             pushFollow(FOLLOW_2);
             ruleUnsignedNumber();
@@ -122197,7 +123954,7 @@
             state._fsp--;
             if (state.failed) return ;
             if ( state.backtracking==0 ) {
-               after(grammarAccess.getStyleAccess().getPaddingTopValueUnsignedNumberParserRuleCall_4_9_1_0()); 
+               after(grammarAccess.getStyleAccess().getPaddingTopValueUnsignedNumberParserRuleCall_4_10_1_0()); 
             }
 
             }
@@ -122217,24 +123974,24 @@
         }
         return ;
     }
-    // $ANTLR end "rule__Style__PaddingTopValueAssignment_4_9_1"
+    // $ANTLR end "rule__Style__PaddingTopValueAssignment_4_10_1"
 
 
-    // $ANTLR start "rule__Style__PaddingBottomValueAssignment_4_10_1"
-    // InternalReportDSL.g:37297:1: rule__Style__PaddingBottomValueAssignment_4_10_1 : ( ruleUnsignedNumber ) ;
-    public final void rule__Style__PaddingBottomValueAssignment_4_10_1() throws RecognitionException {
+    // $ANTLR start "rule__Style__PaddingBottomValueAssignment_4_11_1"
+    // InternalReportDSL.g:37792:1: rule__Style__PaddingBottomValueAssignment_4_11_1 : ( ruleUnsignedNumber ) ;
+    public final void rule__Style__PaddingBottomValueAssignment_4_11_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:37301:1: ( ( ruleUnsignedNumber ) )
-            // InternalReportDSL.g:37302:2: ( ruleUnsignedNumber )
+            // InternalReportDSL.g:37796:1: ( ( ruleUnsignedNumber ) )
+            // InternalReportDSL.g:37797:2: ( ruleUnsignedNumber )
             {
-            // InternalReportDSL.g:37302:2: ( ruleUnsignedNumber )
-            // InternalReportDSL.g:37303:3: ruleUnsignedNumber
+            // InternalReportDSL.g:37797:2: ( ruleUnsignedNumber )
+            // InternalReportDSL.g:37798:3: ruleUnsignedNumber
             {
             if ( state.backtracking==0 ) {
-               before(grammarAccess.getStyleAccess().getPaddingBottomValueUnsignedNumberParserRuleCall_4_10_1_0()); 
+               before(grammarAccess.getStyleAccess().getPaddingBottomValueUnsignedNumberParserRuleCall_4_11_1_0()); 
             }
             pushFollow(FOLLOW_2);
             ruleUnsignedNumber();
@@ -122242,7 +123999,7 @@
             state._fsp--;
             if (state.failed) return ;
             if ( state.backtracking==0 ) {
-               after(grammarAccess.getStyleAccess().getPaddingBottomValueUnsignedNumberParserRuleCall_4_10_1_0()); 
+               after(grammarAccess.getStyleAccess().getPaddingBottomValueUnsignedNumberParserRuleCall_4_11_1_0()); 
             }
 
             }
@@ -122262,24 +124019,24 @@
         }
         return ;
     }
-    // $ANTLR end "rule__Style__PaddingBottomValueAssignment_4_10_1"
+    // $ANTLR end "rule__Style__PaddingBottomValueAssignment_4_11_1"
 
 
-    // $ANTLR start "rule__Style__PaddingLeftValueAssignment_4_11_1"
-    // InternalReportDSL.g:37312:1: rule__Style__PaddingLeftValueAssignment_4_11_1 : ( ruleUnsignedNumber ) ;
-    public final void rule__Style__PaddingLeftValueAssignment_4_11_1() throws RecognitionException {
+    // $ANTLR start "rule__Style__PaddingLeftValueAssignment_4_12_1"
+    // InternalReportDSL.g:37807:1: rule__Style__PaddingLeftValueAssignment_4_12_1 : ( ruleUnsignedNumber ) ;
+    public final void rule__Style__PaddingLeftValueAssignment_4_12_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:37316:1: ( ( ruleUnsignedNumber ) )
-            // InternalReportDSL.g:37317:2: ( ruleUnsignedNumber )
+            // InternalReportDSL.g:37811:1: ( ( ruleUnsignedNumber ) )
+            // InternalReportDSL.g:37812:2: ( ruleUnsignedNumber )
             {
-            // InternalReportDSL.g:37317:2: ( ruleUnsignedNumber )
-            // InternalReportDSL.g:37318:3: ruleUnsignedNumber
+            // InternalReportDSL.g:37812:2: ( ruleUnsignedNumber )
+            // InternalReportDSL.g:37813:3: ruleUnsignedNumber
             {
             if ( state.backtracking==0 ) {
-               before(grammarAccess.getStyleAccess().getPaddingLeftValueUnsignedNumberParserRuleCall_4_11_1_0()); 
+               before(grammarAccess.getStyleAccess().getPaddingLeftValueUnsignedNumberParserRuleCall_4_12_1_0()); 
             }
             pushFollow(FOLLOW_2);
             ruleUnsignedNumber();
@@ -122287,7 +124044,7 @@
             state._fsp--;
             if (state.failed) return ;
             if ( state.backtracking==0 ) {
-               after(grammarAccess.getStyleAccess().getPaddingLeftValueUnsignedNumberParserRuleCall_4_11_1_0()); 
+               after(grammarAccess.getStyleAccess().getPaddingLeftValueUnsignedNumberParserRuleCall_4_12_1_0()); 
             }
 
             }
@@ -122307,24 +124064,24 @@
         }
         return ;
     }
-    // $ANTLR end "rule__Style__PaddingLeftValueAssignment_4_11_1"
+    // $ANTLR end "rule__Style__PaddingLeftValueAssignment_4_12_1"
 
 
-    // $ANTLR start "rule__Style__PaddingRightValueAssignment_4_12_1"
-    // InternalReportDSL.g:37327:1: rule__Style__PaddingRightValueAssignment_4_12_1 : ( ruleUnsignedNumber ) ;
-    public final void rule__Style__PaddingRightValueAssignment_4_12_1() throws RecognitionException {
+    // $ANTLR start "rule__Style__PaddingRightValueAssignment_4_13_1"
+    // InternalReportDSL.g:37822:1: rule__Style__PaddingRightValueAssignment_4_13_1 : ( ruleUnsignedNumber ) ;
+    public final void rule__Style__PaddingRightValueAssignment_4_13_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:37331:1: ( ( ruleUnsignedNumber ) )
-            // InternalReportDSL.g:37332:2: ( ruleUnsignedNumber )
+            // InternalReportDSL.g:37826:1: ( ( ruleUnsignedNumber ) )
+            // InternalReportDSL.g:37827:2: ( ruleUnsignedNumber )
             {
-            // InternalReportDSL.g:37332:2: ( ruleUnsignedNumber )
-            // InternalReportDSL.g:37333:3: ruleUnsignedNumber
+            // InternalReportDSL.g:37827:2: ( ruleUnsignedNumber )
+            // InternalReportDSL.g:37828:3: ruleUnsignedNumber
             {
             if ( state.backtracking==0 ) {
-               before(grammarAccess.getStyleAccess().getPaddingRightValueUnsignedNumberParserRuleCall_4_12_1_0()); 
+               before(grammarAccess.getStyleAccess().getPaddingRightValueUnsignedNumberParserRuleCall_4_13_1_0()); 
             }
             pushFollow(FOLLOW_2);
             ruleUnsignedNumber();
@@ -122332,7 +124089,7 @@
             state._fsp--;
             if (state.failed) return ;
             if ( state.backtracking==0 ) {
-               after(grammarAccess.getStyleAccess().getPaddingRightValueUnsignedNumberParserRuleCall_4_12_1_0()); 
+               after(grammarAccess.getStyleAccess().getPaddingRightValueUnsignedNumberParserRuleCall_4_13_1_0()); 
             }
 
             }
@@ -122352,24 +124109,24 @@
         }
         return ;
     }
-    // $ANTLR end "rule__Style__PaddingRightValueAssignment_4_12_1"
+    // $ANTLR end "rule__Style__PaddingRightValueAssignment_4_13_1"
 
 
-    // $ANTLR start "rule__Style__MarginTopValueAssignment_4_13_1"
-    // InternalReportDSL.g:37342:1: rule__Style__MarginTopValueAssignment_4_13_1 : ( ruleUnsignedNumber ) ;
-    public final void rule__Style__MarginTopValueAssignment_4_13_1() throws RecognitionException {
+    // $ANTLR start "rule__Style__MarginTopValueAssignment_4_14_1"
+    // InternalReportDSL.g:37837:1: rule__Style__MarginTopValueAssignment_4_14_1 : ( ruleUnsignedNumber ) ;
+    public final void rule__Style__MarginTopValueAssignment_4_14_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:37346:1: ( ( ruleUnsignedNumber ) )
-            // InternalReportDSL.g:37347:2: ( ruleUnsignedNumber )
+            // InternalReportDSL.g:37841:1: ( ( ruleUnsignedNumber ) )
+            // InternalReportDSL.g:37842:2: ( ruleUnsignedNumber )
             {
-            // InternalReportDSL.g:37347:2: ( ruleUnsignedNumber )
-            // InternalReportDSL.g:37348:3: ruleUnsignedNumber
+            // InternalReportDSL.g:37842:2: ( ruleUnsignedNumber )
+            // InternalReportDSL.g:37843:3: ruleUnsignedNumber
             {
             if ( state.backtracking==0 ) {
-               before(grammarAccess.getStyleAccess().getMarginTopValueUnsignedNumberParserRuleCall_4_13_1_0()); 
+               before(grammarAccess.getStyleAccess().getMarginTopValueUnsignedNumberParserRuleCall_4_14_1_0()); 
             }
             pushFollow(FOLLOW_2);
             ruleUnsignedNumber();
@@ -122377,7 +124134,7 @@
             state._fsp--;
             if (state.failed) return ;
             if ( state.backtracking==0 ) {
-               after(grammarAccess.getStyleAccess().getMarginTopValueUnsignedNumberParserRuleCall_4_13_1_0()); 
+               after(grammarAccess.getStyleAccess().getMarginTopValueUnsignedNumberParserRuleCall_4_14_1_0()); 
             }
 
             }
@@ -122397,24 +124154,24 @@
         }
         return ;
     }
-    // $ANTLR end "rule__Style__MarginTopValueAssignment_4_13_1"
+    // $ANTLR end "rule__Style__MarginTopValueAssignment_4_14_1"
 
 
-    // $ANTLR start "rule__Style__MarginBottomValueAssignment_4_14_1"
-    // InternalReportDSL.g:37357:1: rule__Style__MarginBottomValueAssignment_4_14_1 : ( ruleUnsignedNumber ) ;
-    public final void rule__Style__MarginBottomValueAssignment_4_14_1() throws RecognitionException {
+    // $ANTLR start "rule__Style__MarginBottomValueAssignment_4_15_1"
+    // InternalReportDSL.g:37852:1: rule__Style__MarginBottomValueAssignment_4_15_1 : ( ruleUnsignedNumber ) ;
+    public final void rule__Style__MarginBottomValueAssignment_4_15_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:37361:1: ( ( ruleUnsignedNumber ) )
-            // InternalReportDSL.g:37362:2: ( ruleUnsignedNumber )
+            // InternalReportDSL.g:37856:1: ( ( ruleUnsignedNumber ) )
+            // InternalReportDSL.g:37857:2: ( ruleUnsignedNumber )
             {
-            // InternalReportDSL.g:37362:2: ( ruleUnsignedNumber )
-            // InternalReportDSL.g:37363:3: ruleUnsignedNumber
+            // InternalReportDSL.g:37857:2: ( ruleUnsignedNumber )
+            // InternalReportDSL.g:37858:3: ruleUnsignedNumber
             {
             if ( state.backtracking==0 ) {
-               before(grammarAccess.getStyleAccess().getMarginBottomValueUnsignedNumberParserRuleCall_4_14_1_0()); 
+               before(grammarAccess.getStyleAccess().getMarginBottomValueUnsignedNumberParserRuleCall_4_15_1_0()); 
             }
             pushFollow(FOLLOW_2);
             ruleUnsignedNumber();
@@ -122422,7 +124179,7 @@
             state._fsp--;
             if (state.failed) return ;
             if ( state.backtracking==0 ) {
-               after(grammarAccess.getStyleAccess().getMarginBottomValueUnsignedNumberParserRuleCall_4_14_1_0()); 
+               after(grammarAccess.getStyleAccess().getMarginBottomValueUnsignedNumberParserRuleCall_4_15_1_0()); 
             }
 
             }
@@ -122442,24 +124199,24 @@
         }
         return ;
     }
-    // $ANTLR end "rule__Style__MarginBottomValueAssignment_4_14_1"
+    // $ANTLR end "rule__Style__MarginBottomValueAssignment_4_15_1"
 
 
-    // $ANTLR start "rule__Style__MarginLeftValueAssignment_4_15_1"
-    // InternalReportDSL.g:37372:1: rule__Style__MarginLeftValueAssignment_4_15_1 : ( ruleUnsignedNumber ) ;
-    public final void rule__Style__MarginLeftValueAssignment_4_15_1() throws RecognitionException {
+    // $ANTLR start "rule__Style__MarginLeftValueAssignment_4_16_1"
+    // InternalReportDSL.g:37867:1: rule__Style__MarginLeftValueAssignment_4_16_1 : ( ruleUnsignedNumber ) ;
+    public final void rule__Style__MarginLeftValueAssignment_4_16_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:37376:1: ( ( ruleUnsignedNumber ) )
-            // InternalReportDSL.g:37377:2: ( ruleUnsignedNumber )
+            // InternalReportDSL.g:37871:1: ( ( ruleUnsignedNumber ) )
+            // InternalReportDSL.g:37872:2: ( ruleUnsignedNumber )
             {
-            // InternalReportDSL.g:37377:2: ( ruleUnsignedNumber )
-            // InternalReportDSL.g:37378:3: ruleUnsignedNumber
+            // InternalReportDSL.g:37872:2: ( ruleUnsignedNumber )
+            // InternalReportDSL.g:37873:3: ruleUnsignedNumber
             {
             if ( state.backtracking==0 ) {
-               before(grammarAccess.getStyleAccess().getMarginLeftValueUnsignedNumberParserRuleCall_4_15_1_0()); 
+               before(grammarAccess.getStyleAccess().getMarginLeftValueUnsignedNumberParserRuleCall_4_16_1_0()); 
             }
             pushFollow(FOLLOW_2);
             ruleUnsignedNumber();
@@ -122467,7 +124224,7 @@
             state._fsp--;
             if (state.failed) return ;
             if ( state.backtracking==0 ) {
-               after(grammarAccess.getStyleAccess().getMarginLeftValueUnsignedNumberParserRuleCall_4_15_1_0()); 
+               after(grammarAccess.getStyleAccess().getMarginLeftValueUnsignedNumberParserRuleCall_4_16_1_0()); 
             }
 
             }
@@ -122487,24 +124244,24 @@
         }
         return ;
     }
-    // $ANTLR end "rule__Style__MarginLeftValueAssignment_4_15_1"
+    // $ANTLR end "rule__Style__MarginLeftValueAssignment_4_16_1"
 
 
-    // $ANTLR start "rule__Style__MarginRightValueAssignment_4_16_1"
-    // InternalReportDSL.g:37387:1: rule__Style__MarginRightValueAssignment_4_16_1 : ( ruleUnsignedNumber ) ;
-    public final void rule__Style__MarginRightValueAssignment_4_16_1() throws RecognitionException {
+    // $ANTLR start "rule__Style__MarginRightValueAssignment_4_17_1"
+    // InternalReportDSL.g:37882:1: rule__Style__MarginRightValueAssignment_4_17_1 : ( ruleUnsignedNumber ) ;
+    public final void rule__Style__MarginRightValueAssignment_4_17_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:37391:1: ( ( ruleUnsignedNumber ) )
-            // InternalReportDSL.g:37392:2: ( ruleUnsignedNumber )
+            // InternalReportDSL.g:37886:1: ( ( ruleUnsignedNumber ) )
+            // InternalReportDSL.g:37887:2: ( ruleUnsignedNumber )
             {
-            // InternalReportDSL.g:37392:2: ( ruleUnsignedNumber )
-            // InternalReportDSL.g:37393:3: ruleUnsignedNumber
+            // InternalReportDSL.g:37887:2: ( ruleUnsignedNumber )
+            // InternalReportDSL.g:37888:3: ruleUnsignedNumber
             {
             if ( state.backtracking==0 ) {
-               before(grammarAccess.getStyleAccess().getMarginRightValueUnsignedNumberParserRuleCall_4_16_1_0()); 
+               before(grammarAccess.getStyleAccess().getMarginRightValueUnsignedNumberParserRuleCall_4_17_1_0()); 
             }
             pushFollow(FOLLOW_2);
             ruleUnsignedNumber();
@@ -122512,7 +124269,7 @@
             state._fsp--;
             if (state.failed) return ;
             if ( state.backtracking==0 ) {
-               after(grammarAccess.getStyleAccess().getMarginRightValueUnsignedNumberParserRuleCall_4_16_1_0()); 
+               after(grammarAccess.getStyleAccess().getMarginRightValueUnsignedNumberParserRuleCall_4_17_1_0()); 
             }
 
             }
@@ -122532,21 +124289,21 @@
         }
         return ;
     }
-    // $ANTLR end "rule__Style__MarginRightValueAssignment_4_16_1"
+    // $ANTLR end "rule__Style__MarginRightValueAssignment_4_17_1"
 
 
     // $ANTLR start "rule__Style__MediastylesAssignment_5"
-    // InternalReportDSL.g:37402:1: rule__Style__MediastylesAssignment_5 : ( ruleMediaStyle ) ;
+    // InternalReportDSL.g:37897:1: rule__Style__MediastylesAssignment_5 : ( ruleMediaStyle ) ;
     public final void rule__Style__MediastylesAssignment_5() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:37406:1: ( ( ruleMediaStyle ) )
-            // InternalReportDSL.g:37407:2: ( ruleMediaStyle )
+            // InternalReportDSL.g:37901:1: ( ( ruleMediaStyle ) )
+            // InternalReportDSL.g:37902:2: ( ruleMediaStyle )
             {
-            // InternalReportDSL.g:37407:2: ( ruleMediaStyle )
-            // InternalReportDSL.g:37408:3: ruleMediaStyle
+            // InternalReportDSL.g:37902:2: ( ruleMediaStyle )
+            // InternalReportDSL.g:37903:3: ruleMediaStyle
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getStyleAccess().getMediastylesMediaStyleParserRuleCall_5_0()); 
@@ -122581,23 +124338,23 @@
 
 
     // $ANTLR start "rule__MediaStyle__MediaAssignment_1"
-    // InternalReportDSL.g:37417:1: rule__MediaStyle__MediaAssignment_1 : ( ( RULE_ID ) ) ;
+    // InternalReportDSL.g:37912:1: rule__MediaStyle__MediaAssignment_1 : ( ( RULE_ID ) ) ;
     public final void rule__MediaStyle__MediaAssignment_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:37421:1: ( ( ( RULE_ID ) ) )
-            // InternalReportDSL.g:37422:2: ( ( RULE_ID ) )
+            // InternalReportDSL.g:37916:1: ( ( ( RULE_ID ) ) )
+            // InternalReportDSL.g:37917:2: ( ( RULE_ID ) )
             {
-            // InternalReportDSL.g:37422:2: ( ( RULE_ID ) )
-            // InternalReportDSL.g:37423:3: ( RULE_ID )
+            // InternalReportDSL.g:37917:2: ( ( RULE_ID ) )
+            // InternalReportDSL.g:37918:3: ( RULE_ID )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getMediaStyleAccess().getMediaMediaCrossReference_1_0()); 
             }
-            // InternalReportDSL.g:37424:3: ( RULE_ID )
-            // InternalReportDSL.g:37425:4: RULE_ID
+            // InternalReportDSL.g:37919:3: ( RULE_ID )
+            // InternalReportDSL.g:37920:4: RULE_ID
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getMediaStyleAccess().getMediaMediaIDTerminalRuleCall_1_0_1()); 
@@ -122634,23 +124391,23 @@
 
 
     // $ANTLR start "rule__MediaStyle__FormatAssignment_3_0_1"
-    // InternalReportDSL.g:37436:1: rule__MediaStyle__FormatAssignment_3_0_1 : ( ( RULE_ID ) ) ;
+    // InternalReportDSL.g:37931:1: rule__MediaStyle__FormatAssignment_3_0_1 : ( ( RULE_ID ) ) ;
     public final void rule__MediaStyle__FormatAssignment_3_0_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:37440:1: ( ( ( RULE_ID ) ) )
-            // InternalReportDSL.g:37441:2: ( ( RULE_ID ) )
+            // InternalReportDSL.g:37935:1: ( ( ( RULE_ID ) ) )
+            // InternalReportDSL.g:37936:2: ( ( RULE_ID ) )
             {
-            // InternalReportDSL.g:37441:2: ( ( RULE_ID ) )
-            // InternalReportDSL.g:37442:3: ( RULE_ID )
+            // InternalReportDSL.g:37936:2: ( ( RULE_ID ) )
+            // InternalReportDSL.g:37937:3: ( RULE_ID )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getMediaStyleAccess().getFormatSomeFormatCrossReference_3_0_1_0()); 
             }
-            // InternalReportDSL.g:37443:3: ( RULE_ID )
-            // InternalReportDSL.g:37444:4: RULE_ID
+            // InternalReportDSL.g:37938:3: ( RULE_ID )
+            // InternalReportDSL.g:37939:4: RULE_ID
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getMediaStyleAccess().getFormatSomeFormatIDTerminalRuleCall_3_0_1_0_1()); 
@@ -122687,23 +124444,23 @@
 
 
     // $ANTLR start "rule__MediaStyle__FontAssignment_3_1_1"
-    // InternalReportDSL.g:37455:1: rule__MediaStyle__FontAssignment_3_1_1 : ( ( RULE_ID ) ) ;
+    // InternalReportDSL.g:37950:1: rule__MediaStyle__FontAssignment_3_1_1 : ( ( RULE_ID ) ) ;
     public final void rule__MediaStyle__FontAssignment_3_1_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:37459:1: ( ( ( RULE_ID ) ) )
-            // InternalReportDSL.g:37460:2: ( ( RULE_ID ) )
+            // InternalReportDSL.g:37954:1: ( ( ( RULE_ID ) ) )
+            // InternalReportDSL.g:37955:2: ( ( RULE_ID ) )
             {
-            // InternalReportDSL.g:37460:2: ( ( RULE_ID ) )
-            // InternalReportDSL.g:37461:3: ( RULE_ID )
+            // InternalReportDSL.g:37955:2: ( ( RULE_ID ) )
+            // InternalReportDSL.g:37956:3: ( RULE_ID )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getMediaStyleAccess().getFontFontCrossReference_3_1_1_0()); 
             }
-            // InternalReportDSL.g:37462:3: ( RULE_ID )
-            // InternalReportDSL.g:37463:4: RULE_ID
+            // InternalReportDSL.g:37957:3: ( RULE_ID )
+            // InternalReportDSL.g:37958:4: RULE_ID
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getMediaStyleAccess().getFontFontIDTerminalRuleCall_3_1_1_0_1()); 
@@ -122740,23 +124497,23 @@
 
 
     // $ANTLR start "rule__MediaStyle__BackgroundcolorAssignment_3_2_1"
-    // InternalReportDSL.g:37474:1: rule__MediaStyle__BackgroundcolorAssignment_3_2_1 : ( ( RULE_ID ) ) ;
+    // InternalReportDSL.g:37969:1: rule__MediaStyle__BackgroundcolorAssignment_3_2_1 : ( ( RULE_ID ) ) ;
     public final void rule__MediaStyle__BackgroundcolorAssignment_3_2_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:37478:1: ( ( ( RULE_ID ) ) )
-            // InternalReportDSL.g:37479:2: ( ( RULE_ID ) )
+            // InternalReportDSL.g:37973:1: ( ( ( RULE_ID ) ) )
+            // InternalReportDSL.g:37974:2: ( ( RULE_ID ) )
             {
-            // InternalReportDSL.g:37479:2: ( ( RULE_ID ) )
-            // InternalReportDSL.g:37480:3: ( RULE_ID )
+            // InternalReportDSL.g:37974:2: ( ( RULE_ID ) )
+            // InternalReportDSL.g:37975:3: ( RULE_ID )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getMediaStyleAccess().getBackgroundcolorColorCrossReference_3_2_1_0()); 
             }
-            // InternalReportDSL.g:37481:3: ( RULE_ID )
-            // InternalReportDSL.g:37482:4: RULE_ID
+            // InternalReportDSL.g:37976:3: ( RULE_ID )
+            // InternalReportDSL.g:37977:4: RULE_ID
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getMediaStyleAccess().getBackgroundcolorColorIDTerminalRuleCall_3_2_1_0_1()); 
@@ -122793,23 +124550,23 @@
 
 
     // $ANTLR start "rule__MediaStyle__Backgroundcolor_alternateAssignment_3_2_2_1"
-    // InternalReportDSL.g:37493:1: rule__MediaStyle__Backgroundcolor_alternateAssignment_3_2_2_1 : ( ( RULE_ID ) ) ;
+    // InternalReportDSL.g:37988:1: rule__MediaStyle__Backgroundcolor_alternateAssignment_3_2_2_1 : ( ( RULE_ID ) ) ;
     public final void rule__MediaStyle__Backgroundcolor_alternateAssignment_3_2_2_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:37497:1: ( ( ( RULE_ID ) ) )
-            // InternalReportDSL.g:37498:2: ( ( RULE_ID ) )
+            // InternalReportDSL.g:37992:1: ( ( ( RULE_ID ) ) )
+            // InternalReportDSL.g:37993:2: ( ( RULE_ID ) )
             {
-            // InternalReportDSL.g:37498:2: ( ( RULE_ID ) )
-            // InternalReportDSL.g:37499:3: ( RULE_ID )
+            // InternalReportDSL.g:37993:2: ( ( RULE_ID ) )
+            // InternalReportDSL.g:37994:3: ( RULE_ID )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getMediaStyleAccess().getBackgroundcolor_alternateColorCrossReference_3_2_2_1_0()); 
             }
-            // InternalReportDSL.g:37500:3: ( RULE_ID )
-            // InternalReportDSL.g:37501:4: RULE_ID
+            // InternalReportDSL.g:37995:3: ( RULE_ID )
+            // InternalReportDSL.g:37996:4: RULE_ID
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getMediaStyleAccess().getBackgroundcolor_alternateColorIDTerminalRuleCall_3_2_2_1_0_1()); 
@@ -122846,23 +124603,23 @@
 
 
     // $ANTLR start "rule__MediaStyle__TextcolorAssignment_3_3_1"
-    // InternalReportDSL.g:37512:1: rule__MediaStyle__TextcolorAssignment_3_3_1 : ( ( RULE_ID ) ) ;
+    // InternalReportDSL.g:38007:1: rule__MediaStyle__TextcolorAssignment_3_3_1 : ( ( RULE_ID ) ) ;
     public final void rule__MediaStyle__TextcolorAssignment_3_3_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:37516:1: ( ( ( RULE_ID ) ) )
-            // InternalReportDSL.g:37517:2: ( ( RULE_ID ) )
+            // InternalReportDSL.g:38011:1: ( ( ( RULE_ID ) ) )
+            // InternalReportDSL.g:38012:2: ( ( RULE_ID ) )
             {
-            // InternalReportDSL.g:37517:2: ( ( RULE_ID ) )
-            // InternalReportDSL.g:37518:3: ( RULE_ID )
+            // InternalReportDSL.g:38012:2: ( ( RULE_ID ) )
+            // InternalReportDSL.g:38013:3: ( RULE_ID )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getMediaStyleAccess().getTextcolorColorCrossReference_3_3_1_0()); 
             }
-            // InternalReportDSL.g:37519:3: ( RULE_ID )
-            // InternalReportDSL.g:37520:4: RULE_ID
+            // InternalReportDSL.g:38014:3: ( RULE_ID )
+            // InternalReportDSL.g:38015:4: RULE_ID
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getMediaStyleAccess().getTextcolorColorIDTerminalRuleCall_3_3_1_0_1()); 
@@ -122899,17 +124656,17 @@
 
 
     // $ANTLR start "rule__MediaStyle__TextalignAssignment_3_4_1"
-    // InternalReportDSL.g:37531:1: rule__MediaStyle__TextalignAssignment_3_4_1 : ( ruleTextAlignEnum ) ;
+    // InternalReportDSL.g:38026:1: rule__MediaStyle__TextalignAssignment_3_4_1 : ( ruleTextAlignEnum ) ;
     public final void rule__MediaStyle__TextalignAssignment_3_4_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:37535:1: ( ( ruleTextAlignEnum ) )
-            // InternalReportDSL.g:37536:2: ( ruleTextAlignEnum )
+            // InternalReportDSL.g:38030:1: ( ( ruleTextAlignEnum ) )
+            // InternalReportDSL.g:38031:2: ( ruleTextAlignEnum )
             {
-            // InternalReportDSL.g:37536:2: ( ruleTextAlignEnum )
-            // InternalReportDSL.g:37537:3: ruleTextAlignEnum
+            // InternalReportDSL.g:38031:2: ( ruleTextAlignEnum )
+            // InternalReportDSL.g:38032:3: ruleTextAlignEnum
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getMediaStyleAccess().getTextalignTextAlignEnumEnumRuleCall_3_4_1_0()); 
@@ -122943,21 +124700,66 @@
     // $ANTLR end "rule__MediaStyle__TextalignAssignment_3_4_1"
 
 
-    // $ANTLR start "rule__MediaStyle__BorderTopAssignment_3_5_1"
-    // InternalReportDSL.g:37546:1: rule__MediaStyle__BorderTopAssignment_3_5_1 : ( ruleBorderStyle ) ;
-    public final void rule__MediaStyle__BorderTopAssignment_3_5_1() throws RecognitionException {
+    // $ANTLR start "rule__MediaStyle__VerticalalignAssignment_3_5_1"
+    // InternalReportDSL.g:38041:1: rule__MediaStyle__VerticalalignAssignment_3_5_1 : ( ruleVerticalTextAlignEnum ) ;
+    public final void rule__MediaStyle__VerticalalignAssignment_3_5_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:37550:1: ( ( ruleBorderStyle ) )
-            // InternalReportDSL.g:37551:2: ( ruleBorderStyle )
+            // InternalReportDSL.g:38045:1: ( ( ruleVerticalTextAlignEnum ) )
+            // InternalReportDSL.g:38046:2: ( ruleVerticalTextAlignEnum )
             {
-            // InternalReportDSL.g:37551:2: ( ruleBorderStyle )
-            // InternalReportDSL.g:37552:3: ruleBorderStyle
+            // InternalReportDSL.g:38046:2: ( ruleVerticalTextAlignEnum )
+            // InternalReportDSL.g:38047:3: ruleVerticalTextAlignEnum
             {
             if ( state.backtracking==0 ) {
-               before(grammarAccess.getMediaStyleAccess().getBorderTopBorderStyleParserRuleCall_3_5_1_0()); 
+               before(grammarAccess.getMediaStyleAccess().getVerticalalignVerticalTextAlignEnumEnumRuleCall_3_5_1_0()); 
+            }
+            pushFollow(FOLLOW_2);
+            ruleVerticalTextAlignEnum();
+
+            state._fsp--;
+            if (state.failed) return ;
+            if ( state.backtracking==0 ) {
+               after(grammarAccess.getMediaStyleAccess().getVerticalalignVerticalTextAlignEnumEnumRuleCall_3_5_1_0()); 
+            }
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__MediaStyle__VerticalalignAssignment_3_5_1"
+
+
+    // $ANTLR start "rule__MediaStyle__BorderTopAssignment_3_6_1"
+    // InternalReportDSL.g:38056:1: rule__MediaStyle__BorderTopAssignment_3_6_1 : ( ruleBorderStyle ) ;
+    public final void rule__MediaStyle__BorderTopAssignment_3_6_1() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+        	
+        try {
+            // InternalReportDSL.g:38060:1: ( ( ruleBorderStyle ) )
+            // InternalReportDSL.g:38061:2: ( ruleBorderStyle )
+            {
+            // InternalReportDSL.g:38061:2: ( ruleBorderStyle )
+            // InternalReportDSL.g:38062:3: ruleBorderStyle
+            {
+            if ( state.backtracking==0 ) {
+               before(grammarAccess.getMediaStyleAccess().getBorderTopBorderStyleParserRuleCall_3_6_1_0()); 
             }
             pushFollow(FOLLOW_2);
             ruleBorderStyle();
@@ -122965,7 +124767,7 @@
             state._fsp--;
             if (state.failed) return ;
             if ( state.backtracking==0 ) {
-               after(grammarAccess.getMediaStyleAccess().getBorderTopBorderStyleParserRuleCall_3_5_1_0()); 
+               after(grammarAccess.getMediaStyleAccess().getBorderTopBorderStyleParserRuleCall_3_6_1_0()); 
             }
 
             }
@@ -122985,24 +124787,24 @@
         }
         return ;
     }
-    // $ANTLR end "rule__MediaStyle__BorderTopAssignment_3_5_1"
+    // $ANTLR end "rule__MediaStyle__BorderTopAssignment_3_6_1"
 
 
-    // $ANTLR start "rule__MediaStyle__BorderBottomAssignment_3_6_1"
-    // InternalReportDSL.g:37561:1: rule__MediaStyle__BorderBottomAssignment_3_6_1 : ( ruleBorderStyle ) ;
-    public final void rule__MediaStyle__BorderBottomAssignment_3_6_1() throws RecognitionException {
+    // $ANTLR start "rule__MediaStyle__BorderBottomAssignment_3_7_1"
+    // InternalReportDSL.g:38071:1: rule__MediaStyle__BorderBottomAssignment_3_7_1 : ( ruleBorderStyle ) ;
+    public final void rule__MediaStyle__BorderBottomAssignment_3_7_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:37565:1: ( ( ruleBorderStyle ) )
-            // InternalReportDSL.g:37566:2: ( ruleBorderStyle )
+            // InternalReportDSL.g:38075:1: ( ( ruleBorderStyle ) )
+            // InternalReportDSL.g:38076:2: ( ruleBorderStyle )
             {
-            // InternalReportDSL.g:37566:2: ( ruleBorderStyle )
-            // InternalReportDSL.g:37567:3: ruleBorderStyle
+            // InternalReportDSL.g:38076:2: ( ruleBorderStyle )
+            // InternalReportDSL.g:38077:3: ruleBorderStyle
             {
             if ( state.backtracking==0 ) {
-               before(grammarAccess.getMediaStyleAccess().getBorderBottomBorderStyleParserRuleCall_3_6_1_0()); 
+               before(grammarAccess.getMediaStyleAccess().getBorderBottomBorderStyleParserRuleCall_3_7_1_0()); 
             }
             pushFollow(FOLLOW_2);
             ruleBorderStyle();
@@ -123010,7 +124812,7 @@
             state._fsp--;
             if (state.failed) return ;
             if ( state.backtracking==0 ) {
-               after(grammarAccess.getMediaStyleAccess().getBorderBottomBorderStyleParserRuleCall_3_6_1_0()); 
+               after(grammarAccess.getMediaStyleAccess().getBorderBottomBorderStyleParserRuleCall_3_7_1_0()); 
             }
 
             }
@@ -123030,24 +124832,24 @@
         }
         return ;
     }
-    // $ANTLR end "rule__MediaStyle__BorderBottomAssignment_3_6_1"
+    // $ANTLR end "rule__MediaStyle__BorderBottomAssignment_3_7_1"
 
 
-    // $ANTLR start "rule__MediaStyle__BorderLeftAssignment_3_7_1"
-    // InternalReportDSL.g:37576:1: rule__MediaStyle__BorderLeftAssignment_3_7_1 : ( ruleBorderStyle ) ;
-    public final void rule__MediaStyle__BorderLeftAssignment_3_7_1() throws RecognitionException {
+    // $ANTLR start "rule__MediaStyle__BorderLeftAssignment_3_8_1"
+    // InternalReportDSL.g:38086:1: rule__MediaStyle__BorderLeftAssignment_3_8_1 : ( ruleBorderStyle ) ;
+    public final void rule__MediaStyle__BorderLeftAssignment_3_8_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:37580:1: ( ( ruleBorderStyle ) )
-            // InternalReportDSL.g:37581:2: ( ruleBorderStyle )
+            // InternalReportDSL.g:38090:1: ( ( ruleBorderStyle ) )
+            // InternalReportDSL.g:38091:2: ( ruleBorderStyle )
             {
-            // InternalReportDSL.g:37581:2: ( ruleBorderStyle )
-            // InternalReportDSL.g:37582:3: ruleBorderStyle
+            // InternalReportDSL.g:38091:2: ( ruleBorderStyle )
+            // InternalReportDSL.g:38092:3: ruleBorderStyle
             {
             if ( state.backtracking==0 ) {
-               before(grammarAccess.getMediaStyleAccess().getBorderLeftBorderStyleParserRuleCall_3_7_1_0()); 
+               before(grammarAccess.getMediaStyleAccess().getBorderLeftBorderStyleParserRuleCall_3_8_1_0()); 
             }
             pushFollow(FOLLOW_2);
             ruleBorderStyle();
@@ -123055,7 +124857,7 @@
             state._fsp--;
             if (state.failed) return ;
             if ( state.backtracking==0 ) {
-               after(grammarAccess.getMediaStyleAccess().getBorderLeftBorderStyleParserRuleCall_3_7_1_0()); 
+               after(grammarAccess.getMediaStyleAccess().getBorderLeftBorderStyleParserRuleCall_3_8_1_0()); 
             }
 
             }
@@ -123075,24 +124877,24 @@
         }
         return ;
     }
-    // $ANTLR end "rule__MediaStyle__BorderLeftAssignment_3_7_1"
+    // $ANTLR end "rule__MediaStyle__BorderLeftAssignment_3_8_1"
 
 
-    // $ANTLR start "rule__MediaStyle__BorderRightAssignment_3_8_1"
-    // InternalReportDSL.g:37591:1: rule__MediaStyle__BorderRightAssignment_3_8_1 : ( ruleBorderStyle ) ;
-    public final void rule__MediaStyle__BorderRightAssignment_3_8_1() throws RecognitionException {
+    // $ANTLR start "rule__MediaStyle__BorderRightAssignment_3_9_1"
+    // InternalReportDSL.g:38101:1: rule__MediaStyle__BorderRightAssignment_3_9_1 : ( ruleBorderStyle ) ;
+    public final void rule__MediaStyle__BorderRightAssignment_3_9_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:37595:1: ( ( ruleBorderStyle ) )
-            // InternalReportDSL.g:37596:2: ( ruleBorderStyle )
+            // InternalReportDSL.g:38105:1: ( ( ruleBorderStyle ) )
+            // InternalReportDSL.g:38106:2: ( ruleBorderStyle )
             {
-            // InternalReportDSL.g:37596:2: ( ruleBorderStyle )
-            // InternalReportDSL.g:37597:3: ruleBorderStyle
+            // InternalReportDSL.g:38106:2: ( ruleBorderStyle )
+            // InternalReportDSL.g:38107:3: ruleBorderStyle
             {
             if ( state.backtracking==0 ) {
-               before(grammarAccess.getMediaStyleAccess().getBorderRightBorderStyleParserRuleCall_3_8_1_0()); 
+               before(grammarAccess.getMediaStyleAccess().getBorderRightBorderStyleParserRuleCall_3_9_1_0()); 
             }
             pushFollow(FOLLOW_2);
             ruleBorderStyle();
@@ -123100,7 +124902,7 @@
             state._fsp--;
             if (state.failed) return ;
             if ( state.backtracking==0 ) {
-               after(grammarAccess.getMediaStyleAccess().getBorderRightBorderStyleParserRuleCall_3_8_1_0()); 
+               after(grammarAccess.getMediaStyleAccess().getBorderRightBorderStyleParserRuleCall_3_9_1_0()); 
             }
 
             }
@@ -123120,24 +124922,24 @@
         }
         return ;
     }
-    // $ANTLR end "rule__MediaStyle__BorderRightAssignment_3_8_1"
+    // $ANTLR end "rule__MediaStyle__BorderRightAssignment_3_9_1"
 
 
-    // $ANTLR start "rule__MediaStyle__PaddingTopValueAssignment_3_9_1"
-    // InternalReportDSL.g:37606:1: rule__MediaStyle__PaddingTopValueAssignment_3_9_1 : ( ruleUnsignedNumber ) ;
-    public final void rule__MediaStyle__PaddingTopValueAssignment_3_9_1() throws RecognitionException {
+    // $ANTLR start "rule__MediaStyle__PaddingTopValueAssignment_3_10_1"
+    // InternalReportDSL.g:38116:1: rule__MediaStyle__PaddingTopValueAssignment_3_10_1 : ( ruleUnsignedNumber ) ;
+    public final void rule__MediaStyle__PaddingTopValueAssignment_3_10_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:37610:1: ( ( ruleUnsignedNumber ) )
-            // InternalReportDSL.g:37611:2: ( ruleUnsignedNumber )
+            // InternalReportDSL.g:38120:1: ( ( ruleUnsignedNumber ) )
+            // InternalReportDSL.g:38121:2: ( ruleUnsignedNumber )
             {
-            // InternalReportDSL.g:37611:2: ( ruleUnsignedNumber )
-            // InternalReportDSL.g:37612:3: ruleUnsignedNumber
+            // InternalReportDSL.g:38121:2: ( ruleUnsignedNumber )
+            // InternalReportDSL.g:38122:3: ruleUnsignedNumber
             {
             if ( state.backtracking==0 ) {
-               before(grammarAccess.getMediaStyleAccess().getPaddingTopValueUnsignedNumberParserRuleCall_3_9_1_0()); 
+               before(grammarAccess.getMediaStyleAccess().getPaddingTopValueUnsignedNumberParserRuleCall_3_10_1_0()); 
             }
             pushFollow(FOLLOW_2);
             ruleUnsignedNumber();
@@ -123145,7 +124947,7 @@
             state._fsp--;
             if (state.failed) return ;
             if ( state.backtracking==0 ) {
-               after(grammarAccess.getMediaStyleAccess().getPaddingTopValueUnsignedNumberParserRuleCall_3_9_1_0()); 
+               after(grammarAccess.getMediaStyleAccess().getPaddingTopValueUnsignedNumberParserRuleCall_3_10_1_0()); 
             }
 
             }
@@ -123165,24 +124967,24 @@
         }
         return ;
     }
-    // $ANTLR end "rule__MediaStyle__PaddingTopValueAssignment_3_9_1"
+    // $ANTLR end "rule__MediaStyle__PaddingTopValueAssignment_3_10_1"
 
 
-    // $ANTLR start "rule__MediaStyle__PaddingBottomValueAssignment_3_10_1"
-    // InternalReportDSL.g:37621:1: rule__MediaStyle__PaddingBottomValueAssignment_3_10_1 : ( ruleUnsignedNumber ) ;
-    public final void rule__MediaStyle__PaddingBottomValueAssignment_3_10_1() throws RecognitionException {
+    // $ANTLR start "rule__MediaStyle__PaddingBottomValueAssignment_3_11_1"
+    // InternalReportDSL.g:38131:1: rule__MediaStyle__PaddingBottomValueAssignment_3_11_1 : ( ruleUnsignedNumber ) ;
+    public final void rule__MediaStyle__PaddingBottomValueAssignment_3_11_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:37625:1: ( ( ruleUnsignedNumber ) )
-            // InternalReportDSL.g:37626:2: ( ruleUnsignedNumber )
+            // InternalReportDSL.g:38135:1: ( ( ruleUnsignedNumber ) )
+            // InternalReportDSL.g:38136:2: ( ruleUnsignedNumber )
             {
-            // InternalReportDSL.g:37626:2: ( ruleUnsignedNumber )
-            // InternalReportDSL.g:37627:3: ruleUnsignedNumber
+            // InternalReportDSL.g:38136:2: ( ruleUnsignedNumber )
+            // InternalReportDSL.g:38137:3: ruleUnsignedNumber
             {
             if ( state.backtracking==0 ) {
-               before(grammarAccess.getMediaStyleAccess().getPaddingBottomValueUnsignedNumberParserRuleCall_3_10_1_0()); 
+               before(grammarAccess.getMediaStyleAccess().getPaddingBottomValueUnsignedNumberParserRuleCall_3_11_1_0()); 
             }
             pushFollow(FOLLOW_2);
             ruleUnsignedNumber();
@@ -123190,7 +124992,7 @@
             state._fsp--;
             if (state.failed) return ;
             if ( state.backtracking==0 ) {
-               after(grammarAccess.getMediaStyleAccess().getPaddingBottomValueUnsignedNumberParserRuleCall_3_10_1_0()); 
+               after(grammarAccess.getMediaStyleAccess().getPaddingBottomValueUnsignedNumberParserRuleCall_3_11_1_0()); 
             }
 
             }
@@ -123210,24 +125012,24 @@
         }
         return ;
     }
-    // $ANTLR end "rule__MediaStyle__PaddingBottomValueAssignment_3_10_1"
+    // $ANTLR end "rule__MediaStyle__PaddingBottomValueAssignment_3_11_1"
 
 
-    // $ANTLR start "rule__MediaStyle__PaddingLeftValueAssignment_3_11_1"
-    // InternalReportDSL.g:37636:1: rule__MediaStyle__PaddingLeftValueAssignment_3_11_1 : ( ruleUnsignedNumber ) ;
-    public final void rule__MediaStyle__PaddingLeftValueAssignment_3_11_1() throws RecognitionException {
+    // $ANTLR start "rule__MediaStyle__PaddingLeftValueAssignment_3_12_1"
+    // InternalReportDSL.g:38146:1: rule__MediaStyle__PaddingLeftValueAssignment_3_12_1 : ( ruleUnsignedNumber ) ;
+    public final void rule__MediaStyle__PaddingLeftValueAssignment_3_12_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:37640:1: ( ( ruleUnsignedNumber ) )
-            // InternalReportDSL.g:37641:2: ( ruleUnsignedNumber )
+            // InternalReportDSL.g:38150:1: ( ( ruleUnsignedNumber ) )
+            // InternalReportDSL.g:38151:2: ( ruleUnsignedNumber )
             {
-            // InternalReportDSL.g:37641:2: ( ruleUnsignedNumber )
-            // InternalReportDSL.g:37642:3: ruleUnsignedNumber
+            // InternalReportDSL.g:38151:2: ( ruleUnsignedNumber )
+            // InternalReportDSL.g:38152:3: ruleUnsignedNumber
             {
             if ( state.backtracking==0 ) {
-               before(grammarAccess.getMediaStyleAccess().getPaddingLeftValueUnsignedNumberParserRuleCall_3_11_1_0()); 
+               before(grammarAccess.getMediaStyleAccess().getPaddingLeftValueUnsignedNumberParserRuleCall_3_12_1_0()); 
             }
             pushFollow(FOLLOW_2);
             ruleUnsignedNumber();
@@ -123235,7 +125037,7 @@
             state._fsp--;
             if (state.failed) return ;
             if ( state.backtracking==0 ) {
-               after(grammarAccess.getMediaStyleAccess().getPaddingLeftValueUnsignedNumberParserRuleCall_3_11_1_0()); 
+               after(grammarAccess.getMediaStyleAccess().getPaddingLeftValueUnsignedNumberParserRuleCall_3_12_1_0()); 
             }
 
             }
@@ -123255,24 +125057,24 @@
         }
         return ;
     }
-    // $ANTLR end "rule__MediaStyle__PaddingLeftValueAssignment_3_11_1"
+    // $ANTLR end "rule__MediaStyle__PaddingLeftValueAssignment_3_12_1"
 
 
-    // $ANTLR start "rule__MediaStyle__PaddingRightValueAssignment_3_12_1"
-    // InternalReportDSL.g:37651:1: rule__MediaStyle__PaddingRightValueAssignment_3_12_1 : ( ruleUnsignedNumber ) ;
-    public final void rule__MediaStyle__PaddingRightValueAssignment_3_12_1() throws RecognitionException {
+    // $ANTLR start "rule__MediaStyle__PaddingRightValueAssignment_3_13_1"
+    // InternalReportDSL.g:38161:1: rule__MediaStyle__PaddingRightValueAssignment_3_13_1 : ( ruleUnsignedNumber ) ;
+    public final void rule__MediaStyle__PaddingRightValueAssignment_3_13_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:37655:1: ( ( ruleUnsignedNumber ) )
-            // InternalReportDSL.g:37656:2: ( ruleUnsignedNumber )
+            // InternalReportDSL.g:38165:1: ( ( ruleUnsignedNumber ) )
+            // InternalReportDSL.g:38166:2: ( ruleUnsignedNumber )
             {
-            // InternalReportDSL.g:37656:2: ( ruleUnsignedNumber )
-            // InternalReportDSL.g:37657:3: ruleUnsignedNumber
+            // InternalReportDSL.g:38166:2: ( ruleUnsignedNumber )
+            // InternalReportDSL.g:38167:3: ruleUnsignedNumber
             {
             if ( state.backtracking==0 ) {
-               before(grammarAccess.getMediaStyleAccess().getPaddingRightValueUnsignedNumberParserRuleCall_3_12_1_0()); 
+               before(grammarAccess.getMediaStyleAccess().getPaddingRightValueUnsignedNumberParserRuleCall_3_13_1_0()); 
             }
             pushFollow(FOLLOW_2);
             ruleUnsignedNumber();
@@ -123280,7 +125082,7 @@
             state._fsp--;
             if (state.failed) return ;
             if ( state.backtracking==0 ) {
-               after(grammarAccess.getMediaStyleAccess().getPaddingRightValueUnsignedNumberParserRuleCall_3_12_1_0()); 
+               after(grammarAccess.getMediaStyleAccess().getPaddingRightValueUnsignedNumberParserRuleCall_3_13_1_0()); 
             }
 
             }
@@ -123300,24 +125102,24 @@
         }
         return ;
     }
-    // $ANTLR end "rule__MediaStyle__PaddingRightValueAssignment_3_12_1"
+    // $ANTLR end "rule__MediaStyle__PaddingRightValueAssignment_3_13_1"
 
 
-    // $ANTLR start "rule__MediaStyle__MarginTopValueAssignment_3_13_1"
-    // InternalReportDSL.g:37666:1: rule__MediaStyle__MarginTopValueAssignment_3_13_1 : ( ruleUnsignedNumber ) ;
-    public final void rule__MediaStyle__MarginTopValueAssignment_3_13_1() throws RecognitionException {
+    // $ANTLR start "rule__MediaStyle__MarginTopValueAssignment_3_14_1"
+    // InternalReportDSL.g:38176:1: rule__MediaStyle__MarginTopValueAssignment_3_14_1 : ( ruleUnsignedNumber ) ;
+    public final void rule__MediaStyle__MarginTopValueAssignment_3_14_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:37670:1: ( ( ruleUnsignedNumber ) )
-            // InternalReportDSL.g:37671:2: ( ruleUnsignedNumber )
+            // InternalReportDSL.g:38180:1: ( ( ruleUnsignedNumber ) )
+            // InternalReportDSL.g:38181:2: ( ruleUnsignedNumber )
             {
-            // InternalReportDSL.g:37671:2: ( ruleUnsignedNumber )
-            // InternalReportDSL.g:37672:3: ruleUnsignedNumber
+            // InternalReportDSL.g:38181:2: ( ruleUnsignedNumber )
+            // InternalReportDSL.g:38182:3: ruleUnsignedNumber
             {
             if ( state.backtracking==0 ) {
-               before(grammarAccess.getMediaStyleAccess().getMarginTopValueUnsignedNumberParserRuleCall_3_13_1_0()); 
+               before(grammarAccess.getMediaStyleAccess().getMarginTopValueUnsignedNumberParserRuleCall_3_14_1_0()); 
             }
             pushFollow(FOLLOW_2);
             ruleUnsignedNumber();
@@ -123325,7 +125127,7 @@
             state._fsp--;
             if (state.failed) return ;
             if ( state.backtracking==0 ) {
-               after(grammarAccess.getMediaStyleAccess().getMarginTopValueUnsignedNumberParserRuleCall_3_13_1_0()); 
+               after(grammarAccess.getMediaStyleAccess().getMarginTopValueUnsignedNumberParserRuleCall_3_14_1_0()); 
             }
 
             }
@@ -123345,24 +125147,24 @@
         }
         return ;
     }
-    // $ANTLR end "rule__MediaStyle__MarginTopValueAssignment_3_13_1"
+    // $ANTLR end "rule__MediaStyle__MarginTopValueAssignment_3_14_1"
 
 
-    // $ANTLR start "rule__MediaStyle__MarginBottomValueAssignment_3_14_1"
-    // InternalReportDSL.g:37681:1: rule__MediaStyle__MarginBottomValueAssignment_3_14_1 : ( ruleUnsignedNumber ) ;
-    public final void rule__MediaStyle__MarginBottomValueAssignment_3_14_1() throws RecognitionException {
+    // $ANTLR start "rule__MediaStyle__MarginBottomValueAssignment_3_15_1"
+    // InternalReportDSL.g:38191:1: rule__MediaStyle__MarginBottomValueAssignment_3_15_1 : ( ruleUnsignedNumber ) ;
+    public final void rule__MediaStyle__MarginBottomValueAssignment_3_15_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:37685:1: ( ( ruleUnsignedNumber ) )
-            // InternalReportDSL.g:37686:2: ( ruleUnsignedNumber )
+            // InternalReportDSL.g:38195:1: ( ( ruleUnsignedNumber ) )
+            // InternalReportDSL.g:38196:2: ( ruleUnsignedNumber )
             {
-            // InternalReportDSL.g:37686:2: ( ruleUnsignedNumber )
-            // InternalReportDSL.g:37687:3: ruleUnsignedNumber
+            // InternalReportDSL.g:38196:2: ( ruleUnsignedNumber )
+            // InternalReportDSL.g:38197:3: ruleUnsignedNumber
             {
             if ( state.backtracking==0 ) {
-               before(grammarAccess.getMediaStyleAccess().getMarginBottomValueUnsignedNumberParserRuleCall_3_14_1_0()); 
+               before(grammarAccess.getMediaStyleAccess().getMarginBottomValueUnsignedNumberParserRuleCall_3_15_1_0()); 
             }
             pushFollow(FOLLOW_2);
             ruleUnsignedNumber();
@@ -123370,7 +125172,7 @@
             state._fsp--;
             if (state.failed) return ;
             if ( state.backtracking==0 ) {
-               after(grammarAccess.getMediaStyleAccess().getMarginBottomValueUnsignedNumberParserRuleCall_3_14_1_0()); 
+               after(grammarAccess.getMediaStyleAccess().getMarginBottomValueUnsignedNumberParserRuleCall_3_15_1_0()); 
             }
 
             }
@@ -123390,24 +125192,24 @@
         }
         return ;
     }
-    // $ANTLR end "rule__MediaStyle__MarginBottomValueAssignment_3_14_1"
+    // $ANTLR end "rule__MediaStyle__MarginBottomValueAssignment_3_15_1"
 
 
-    // $ANTLR start "rule__MediaStyle__MarginLeftValueAssignment_3_15_1"
-    // InternalReportDSL.g:37696:1: rule__MediaStyle__MarginLeftValueAssignment_3_15_1 : ( ruleUnsignedNumber ) ;
-    public final void rule__MediaStyle__MarginLeftValueAssignment_3_15_1() throws RecognitionException {
+    // $ANTLR start "rule__MediaStyle__MarginLeftValueAssignment_3_16_1"
+    // InternalReportDSL.g:38206:1: rule__MediaStyle__MarginLeftValueAssignment_3_16_1 : ( ruleUnsignedNumber ) ;
+    public final void rule__MediaStyle__MarginLeftValueAssignment_3_16_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:37700:1: ( ( ruleUnsignedNumber ) )
-            // InternalReportDSL.g:37701:2: ( ruleUnsignedNumber )
+            // InternalReportDSL.g:38210:1: ( ( ruleUnsignedNumber ) )
+            // InternalReportDSL.g:38211:2: ( ruleUnsignedNumber )
             {
-            // InternalReportDSL.g:37701:2: ( ruleUnsignedNumber )
-            // InternalReportDSL.g:37702:3: ruleUnsignedNumber
+            // InternalReportDSL.g:38211:2: ( ruleUnsignedNumber )
+            // InternalReportDSL.g:38212:3: ruleUnsignedNumber
             {
             if ( state.backtracking==0 ) {
-               before(grammarAccess.getMediaStyleAccess().getMarginLeftValueUnsignedNumberParserRuleCall_3_15_1_0()); 
+               before(grammarAccess.getMediaStyleAccess().getMarginLeftValueUnsignedNumberParserRuleCall_3_16_1_0()); 
             }
             pushFollow(FOLLOW_2);
             ruleUnsignedNumber();
@@ -123415,7 +125217,7 @@
             state._fsp--;
             if (state.failed) return ;
             if ( state.backtracking==0 ) {
-               after(grammarAccess.getMediaStyleAccess().getMarginLeftValueUnsignedNumberParserRuleCall_3_15_1_0()); 
+               after(grammarAccess.getMediaStyleAccess().getMarginLeftValueUnsignedNumberParserRuleCall_3_16_1_0()); 
             }
 
             }
@@ -123435,24 +125237,24 @@
         }
         return ;
     }
-    // $ANTLR end "rule__MediaStyle__MarginLeftValueAssignment_3_15_1"
+    // $ANTLR end "rule__MediaStyle__MarginLeftValueAssignment_3_16_1"
 
 
-    // $ANTLR start "rule__MediaStyle__MarginRightValueAssignment_3_16_1"
-    // InternalReportDSL.g:37711:1: rule__MediaStyle__MarginRightValueAssignment_3_16_1 : ( ruleUnsignedNumber ) ;
-    public final void rule__MediaStyle__MarginRightValueAssignment_3_16_1() throws RecognitionException {
+    // $ANTLR start "rule__MediaStyle__MarginRightValueAssignment_3_17_1"
+    // InternalReportDSL.g:38221:1: rule__MediaStyle__MarginRightValueAssignment_3_17_1 : ( ruleUnsignedNumber ) ;
+    public final void rule__MediaStyle__MarginRightValueAssignment_3_17_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:37715:1: ( ( ruleUnsignedNumber ) )
-            // InternalReportDSL.g:37716:2: ( ruleUnsignedNumber )
+            // InternalReportDSL.g:38225:1: ( ( ruleUnsignedNumber ) )
+            // InternalReportDSL.g:38226:2: ( ruleUnsignedNumber )
             {
-            // InternalReportDSL.g:37716:2: ( ruleUnsignedNumber )
-            // InternalReportDSL.g:37717:3: ruleUnsignedNumber
+            // InternalReportDSL.g:38226:2: ( ruleUnsignedNumber )
+            // InternalReportDSL.g:38227:3: ruleUnsignedNumber
             {
             if ( state.backtracking==0 ) {
-               before(grammarAccess.getMediaStyleAccess().getMarginRightValueUnsignedNumberParserRuleCall_3_16_1_0()); 
+               before(grammarAccess.getMediaStyleAccess().getMarginRightValueUnsignedNumberParserRuleCall_3_17_1_0()); 
             }
             pushFollow(FOLLOW_2);
             ruleUnsignedNumber();
@@ -123460,7 +125262,7 @@
             state._fsp--;
             if (state.failed) return ;
             if ( state.backtracking==0 ) {
-               after(grammarAccess.getMediaStyleAccess().getMarginRightValueUnsignedNumberParserRuleCall_3_16_1_0()); 
+               after(grammarAccess.getMediaStyleAccess().getMarginRightValueUnsignedNumberParserRuleCall_3_17_1_0()); 
             }
 
             }
@@ -123480,21 +125282,21 @@
         }
         return ;
     }
-    // $ANTLR end "rule__MediaStyle__MarginRightValueAssignment_3_16_1"
+    // $ANTLR end "rule__MediaStyle__MarginRightValueAssignment_3_17_1"
 
 
     // $ANTLR start "rule__UomoFormat__NameAssignment_1"
-    // InternalReportDSL.g:37726:1: rule__UomoFormat__NameAssignment_1 : ( RULE_ID ) ;
+    // InternalReportDSL.g:38236:1: rule__UomoFormat__NameAssignment_1 : ( RULE_ID ) ;
     public final void rule__UomoFormat__NameAssignment_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:37730:1: ( ( RULE_ID ) )
-            // InternalReportDSL.g:37731:2: ( RULE_ID )
+            // InternalReportDSL.g:38240:1: ( ( RULE_ID ) )
+            // InternalReportDSL.g:38241:2: ( RULE_ID )
             {
-            // InternalReportDSL.g:37731:2: ( RULE_ID )
-            // InternalReportDSL.g:37732:3: RULE_ID
+            // InternalReportDSL.g:38241:2: ( RULE_ID )
+            // InternalReportDSL.g:38242:3: RULE_ID
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getUomoFormatAccess().getNameIDTerminalRuleCall_1_0()); 
@@ -123525,17 +125327,17 @@
 
 
     // $ANTLR start "rule__UomoFormat__Ui_patternAssignment_4"
-    // InternalReportDSL.g:37741:1: rule__UomoFormat__Ui_patternAssignment_4 : ( RULE_STRING ) ;
+    // InternalReportDSL.g:38251:1: rule__UomoFormat__Ui_patternAssignment_4 : ( RULE_STRING ) ;
     public final void rule__UomoFormat__Ui_patternAssignment_4() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:37745:1: ( ( RULE_STRING ) )
-            // InternalReportDSL.g:37746:2: ( RULE_STRING )
+            // InternalReportDSL.g:38255:1: ( ( RULE_STRING ) )
+            // InternalReportDSL.g:38256:2: ( RULE_STRING )
             {
-            // InternalReportDSL.g:37746:2: ( RULE_STRING )
-            // InternalReportDSL.g:37747:3: RULE_STRING
+            // InternalReportDSL.g:38256:2: ( RULE_STRING )
+            // InternalReportDSL.g:38257:3: RULE_STRING
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getUomoFormatAccess().getUi_patternSTRINGTerminalRuleCall_4_0()); 
@@ -123566,17 +125368,17 @@
 
 
     // $ANTLR start "rule__UomoFormat__Report_patternAssignment_6"
-    // InternalReportDSL.g:37756:1: rule__UomoFormat__Report_patternAssignment_6 : ( RULE_STRING ) ;
+    // InternalReportDSL.g:38266:1: rule__UomoFormat__Report_patternAssignment_6 : ( RULE_STRING ) ;
     public final void rule__UomoFormat__Report_patternAssignment_6() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:37760:1: ( ( RULE_STRING ) )
-            // InternalReportDSL.g:37761:2: ( RULE_STRING )
+            // InternalReportDSL.g:38270:1: ( ( RULE_STRING ) )
+            // InternalReportDSL.g:38271:2: ( RULE_STRING )
             {
-            // InternalReportDSL.g:37761:2: ( RULE_STRING )
-            // InternalReportDSL.g:37762:3: RULE_STRING
+            // InternalReportDSL.g:38271:2: ( RULE_STRING )
+            // InternalReportDSL.g:38272:3: RULE_STRING
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getUomoFormatAccess().getReport_patternSTRINGTerminalRuleCall_6_0()); 
@@ -123607,17 +125409,17 @@
 
 
     // $ANTLR start "rule__UomoFormat__TextalignAssignment_8"
-    // InternalReportDSL.g:37771:1: rule__UomoFormat__TextalignAssignment_8 : ( ruleTextAlignEnum ) ;
+    // InternalReportDSL.g:38281:1: rule__UomoFormat__TextalignAssignment_8 : ( ruleTextAlignEnum ) ;
     public final void rule__UomoFormat__TextalignAssignment_8() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:37775:1: ( ( ruleTextAlignEnum ) )
-            // InternalReportDSL.g:37776:2: ( ruleTextAlignEnum )
+            // InternalReportDSL.g:38285:1: ( ( ruleTextAlignEnum ) )
+            // InternalReportDSL.g:38286:2: ( ruleTextAlignEnum )
             {
-            // InternalReportDSL.g:37776:2: ( ruleTextAlignEnum )
-            // InternalReportDSL.g:37777:3: ruleTextAlignEnum
+            // InternalReportDSL.g:38286:2: ( ruleTextAlignEnum )
+            // InternalReportDSL.g:38287:3: ruleTextAlignEnum
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getUomoFormatAccess().getTextalignTextAlignEnumEnumRuleCall_8_0()); 
@@ -123652,17 +125454,17 @@
 
 
     // $ANTLR start "rule__NumberFormat__NameAssignment_1"
-    // InternalReportDSL.g:37786:1: rule__NumberFormat__NameAssignment_1 : ( RULE_ID ) ;
+    // InternalReportDSL.g:38296:1: rule__NumberFormat__NameAssignment_1 : ( RULE_ID ) ;
     public final void rule__NumberFormat__NameAssignment_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:37790:1: ( ( RULE_ID ) )
-            // InternalReportDSL.g:37791:2: ( RULE_ID )
+            // InternalReportDSL.g:38300:1: ( ( RULE_ID ) )
+            // InternalReportDSL.g:38301:2: ( RULE_ID )
             {
-            // InternalReportDSL.g:37791:2: ( RULE_ID )
-            // InternalReportDSL.g:37792:3: RULE_ID
+            // InternalReportDSL.g:38301:2: ( RULE_ID )
+            // InternalReportDSL.g:38302:3: RULE_ID
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getNumberFormatAccess().getNameIDTerminalRuleCall_1_0()); 
@@ -123693,17 +125495,17 @@
 
 
     // $ANTLR start "rule__NumberFormat__Ui_patternAssignment_4"
-    // InternalReportDSL.g:37801:1: rule__NumberFormat__Ui_patternAssignment_4 : ( RULE_STRING ) ;
+    // InternalReportDSL.g:38311:1: rule__NumberFormat__Ui_patternAssignment_4 : ( RULE_STRING ) ;
     public final void rule__NumberFormat__Ui_patternAssignment_4() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:37805:1: ( ( RULE_STRING ) )
-            // InternalReportDSL.g:37806:2: ( RULE_STRING )
+            // InternalReportDSL.g:38315:1: ( ( RULE_STRING ) )
+            // InternalReportDSL.g:38316:2: ( RULE_STRING )
             {
-            // InternalReportDSL.g:37806:2: ( RULE_STRING )
-            // InternalReportDSL.g:37807:3: RULE_STRING
+            // InternalReportDSL.g:38316:2: ( RULE_STRING )
+            // InternalReportDSL.g:38317:3: RULE_STRING
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getNumberFormatAccess().getUi_patternSTRINGTerminalRuleCall_4_0()); 
@@ -123734,17 +125536,17 @@
 
 
     // $ANTLR start "rule__NumberFormat__Report_categoryAssignment_6"
-    // InternalReportDSL.g:37816:1: rule__NumberFormat__Report_categoryAssignment_6 : ( ruleNumberFormatCategoryEnum ) ;
+    // InternalReportDSL.g:38326:1: rule__NumberFormat__Report_categoryAssignment_6 : ( ruleNumberFormatCategoryEnum ) ;
     public final void rule__NumberFormat__Report_categoryAssignment_6() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:37820:1: ( ( ruleNumberFormatCategoryEnum ) )
-            // InternalReportDSL.g:37821:2: ( ruleNumberFormatCategoryEnum )
+            // InternalReportDSL.g:38330:1: ( ( ruleNumberFormatCategoryEnum ) )
+            // InternalReportDSL.g:38331:2: ( ruleNumberFormatCategoryEnum )
             {
-            // InternalReportDSL.g:37821:2: ( ruleNumberFormatCategoryEnum )
-            // InternalReportDSL.g:37822:3: ruleNumberFormatCategoryEnum
+            // InternalReportDSL.g:38331:2: ( ruleNumberFormatCategoryEnum )
+            // InternalReportDSL.g:38332:3: ruleNumberFormatCategoryEnum
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getNumberFormatAccess().getReport_categoryNumberFormatCategoryEnumEnumRuleCall_6_0()); 
@@ -123779,17 +125581,17 @@
 
 
     // $ANTLR start "rule__NumberFormat__Report_patternAssignment_7"
-    // InternalReportDSL.g:37831:1: rule__NumberFormat__Report_patternAssignment_7 : ( RULE_STRING ) ;
+    // InternalReportDSL.g:38341:1: rule__NumberFormat__Report_patternAssignment_7 : ( RULE_STRING ) ;
     public final void rule__NumberFormat__Report_patternAssignment_7() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:37835:1: ( ( RULE_STRING ) )
-            // InternalReportDSL.g:37836:2: ( RULE_STRING )
+            // InternalReportDSL.g:38345:1: ( ( RULE_STRING ) )
+            // InternalReportDSL.g:38346:2: ( RULE_STRING )
             {
-            // InternalReportDSL.g:37836:2: ( RULE_STRING )
-            // InternalReportDSL.g:37837:3: RULE_STRING
+            // InternalReportDSL.g:38346:2: ( RULE_STRING )
+            // InternalReportDSL.g:38347:3: RULE_STRING
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getNumberFormatAccess().getReport_patternSTRINGTerminalRuleCall_7_0()); 
@@ -123820,17 +125622,17 @@
 
 
     // $ANTLR start "rule__NumberFormat__TextalignAssignment_9"
-    // InternalReportDSL.g:37846:1: rule__NumberFormat__TextalignAssignment_9 : ( ruleTextAlignEnum ) ;
+    // InternalReportDSL.g:38356:1: rule__NumberFormat__TextalignAssignment_9 : ( ruleTextAlignEnum ) ;
     public final void rule__NumberFormat__TextalignAssignment_9() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:37850:1: ( ( ruleTextAlignEnum ) )
-            // InternalReportDSL.g:37851:2: ( ruleTextAlignEnum )
+            // InternalReportDSL.g:38360:1: ( ( ruleTextAlignEnum ) )
+            // InternalReportDSL.g:38361:2: ( ruleTextAlignEnum )
             {
-            // InternalReportDSL.g:37851:2: ( ruleTextAlignEnum )
-            // InternalReportDSL.g:37852:3: ruleTextAlignEnum
+            // InternalReportDSL.g:38361:2: ( ruleTextAlignEnum )
+            // InternalReportDSL.g:38362:3: ruleTextAlignEnum
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getNumberFormatAccess().getTextalignTextAlignEnumEnumRuleCall_9_0()); 
@@ -123865,17 +125667,17 @@
 
 
     // $ANTLR start "rule__CurrencyFormat__NameAssignment_1"
-    // InternalReportDSL.g:37861:1: rule__CurrencyFormat__NameAssignment_1 : ( RULE_ID ) ;
+    // InternalReportDSL.g:38371:1: rule__CurrencyFormat__NameAssignment_1 : ( RULE_ID ) ;
     public final void rule__CurrencyFormat__NameAssignment_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:37865:1: ( ( RULE_ID ) )
-            // InternalReportDSL.g:37866:2: ( RULE_ID )
+            // InternalReportDSL.g:38375:1: ( ( RULE_ID ) )
+            // InternalReportDSL.g:38376:2: ( RULE_ID )
             {
-            // InternalReportDSL.g:37866:2: ( RULE_ID )
-            // InternalReportDSL.g:37867:3: RULE_ID
+            // InternalReportDSL.g:38376:2: ( RULE_ID )
+            // InternalReportDSL.g:38377:3: RULE_ID
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getCurrencyFormatAccess().getNameIDTerminalRuleCall_1_0()); 
@@ -123906,17 +125708,17 @@
 
 
     // $ANTLR start "rule__CurrencyFormat__Ui_patternAssignment_4"
-    // InternalReportDSL.g:37876:1: rule__CurrencyFormat__Ui_patternAssignment_4 : ( RULE_STRING ) ;
+    // InternalReportDSL.g:38386:1: rule__CurrencyFormat__Ui_patternAssignment_4 : ( RULE_STRING ) ;
     public final void rule__CurrencyFormat__Ui_patternAssignment_4() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:37880:1: ( ( RULE_STRING ) )
-            // InternalReportDSL.g:37881:2: ( RULE_STRING )
+            // InternalReportDSL.g:38390:1: ( ( RULE_STRING ) )
+            // InternalReportDSL.g:38391:2: ( RULE_STRING )
             {
-            // InternalReportDSL.g:37881:2: ( RULE_STRING )
-            // InternalReportDSL.g:37882:3: RULE_STRING
+            // InternalReportDSL.g:38391:2: ( RULE_STRING )
+            // InternalReportDSL.g:38392:3: RULE_STRING
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getCurrencyFormatAccess().getUi_patternSTRINGTerminalRuleCall_4_0()); 
@@ -123947,17 +125749,17 @@
 
 
     // $ANTLR start "rule__CurrencyFormat__Report_categoryAssignment_6"
-    // InternalReportDSL.g:37891:1: rule__CurrencyFormat__Report_categoryAssignment_6 : ( ruleCurrencyFormatCategoryEnum ) ;
+    // InternalReportDSL.g:38401:1: rule__CurrencyFormat__Report_categoryAssignment_6 : ( ruleCurrencyFormatCategoryEnum ) ;
     public final void rule__CurrencyFormat__Report_categoryAssignment_6() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:37895:1: ( ( ruleCurrencyFormatCategoryEnum ) )
-            // InternalReportDSL.g:37896:2: ( ruleCurrencyFormatCategoryEnum )
+            // InternalReportDSL.g:38405:1: ( ( ruleCurrencyFormatCategoryEnum ) )
+            // InternalReportDSL.g:38406:2: ( ruleCurrencyFormatCategoryEnum )
             {
-            // InternalReportDSL.g:37896:2: ( ruleCurrencyFormatCategoryEnum )
-            // InternalReportDSL.g:37897:3: ruleCurrencyFormatCategoryEnum
+            // InternalReportDSL.g:38406:2: ( ruleCurrencyFormatCategoryEnum )
+            // InternalReportDSL.g:38407:3: ruleCurrencyFormatCategoryEnum
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getCurrencyFormatAccess().getReport_categoryCurrencyFormatCategoryEnumEnumRuleCall_6_0()); 
@@ -123992,17 +125794,17 @@
 
 
     // $ANTLR start "rule__CurrencyFormat__Report_patternAssignment_7"
-    // InternalReportDSL.g:37906:1: rule__CurrencyFormat__Report_patternAssignment_7 : ( RULE_STRING ) ;
+    // InternalReportDSL.g:38416:1: rule__CurrencyFormat__Report_patternAssignment_7 : ( RULE_STRING ) ;
     public final void rule__CurrencyFormat__Report_patternAssignment_7() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:37910:1: ( ( RULE_STRING ) )
-            // InternalReportDSL.g:37911:2: ( RULE_STRING )
+            // InternalReportDSL.g:38420:1: ( ( RULE_STRING ) )
+            // InternalReportDSL.g:38421:2: ( RULE_STRING )
             {
-            // InternalReportDSL.g:37911:2: ( RULE_STRING )
-            // InternalReportDSL.g:37912:3: RULE_STRING
+            // InternalReportDSL.g:38421:2: ( RULE_STRING )
+            // InternalReportDSL.g:38422:3: RULE_STRING
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getCurrencyFormatAccess().getReport_patternSTRINGTerminalRuleCall_7_0()); 
@@ -124033,17 +125835,17 @@
 
 
     // $ANTLR start "rule__CurrencyFormat__TextalignAssignment_9"
-    // InternalReportDSL.g:37921:1: rule__CurrencyFormat__TextalignAssignment_9 : ( ruleTextAlignEnum ) ;
+    // InternalReportDSL.g:38431:1: rule__CurrencyFormat__TextalignAssignment_9 : ( ruleTextAlignEnum ) ;
     public final void rule__CurrencyFormat__TextalignAssignment_9() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:37925:1: ( ( ruleTextAlignEnum ) )
-            // InternalReportDSL.g:37926:2: ( ruleTextAlignEnum )
+            // InternalReportDSL.g:38435:1: ( ( ruleTextAlignEnum ) )
+            // InternalReportDSL.g:38436:2: ( ruleTextAlignEnum )
             {
-            // InternalReportDSL.g:37926:2: ( ruleTextAlignEnum )
-            // InternalReportDSL.g:37927:3: ruleTextAlignEnum
+            // InternalReportDSL.g:38436:2: ( ruleTextAlignEnum )
+            // InternalReportDSL.g:38437:3: ruleTextAlignEnum
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getCurrencyFormatAccess().getTextalignTextAlignEnumEnumRuleCall_9_0()); 
@@ -124078,17 +125880,17 @@
 
 
     // $ANTLR start "rule__DateFormat__NameAssignment_1"
-    // InternalReportDSL.g:37936:1: rule__DateFormat__NameAssignment_1 : ( RULE_ID ) ;
+    // InternalReportDSL.g:38446:1: rule__DateFormat__NameAssignment_1 : ( RULE_ID ) ;
     public final void rule__DateFormat__NameAssignment_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:37940:1: ( ( RULE_ID ) )
-            // InternalReportDSL.g:37941:2: ( RULE_ID )
+            // InternalReportDSL.g:38450:1: ( ( RULE_ID ) )
+            // InternalReportDSL.g:38451:2: ( RULE_ID )
             {
-            // InternalReportDSL.g:37941:2: ( RULE_ID )
-            // InternalReportDSL.g:37942:3: RULE_ID
+            // InternalReportDSL.g:38451:2: ( RULE_ID )
+            // InternalReportDSL.g:38452:3: RULE_ID
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getDateFormatAccess().getNameIDTerminalRuleCall_1_0()); 
@@ -124119,17 +125921,17 @@
 
 
     // $ANTLR start "rule__DateFormat__Ui_patternAssignment_4"
-    // InternalReportDSL.g:37951:1: rule__DateFormat__Ui_patternAssignment_4 : ( RULE_STRING ) ;
+    // InternalReportDSL.g:38461:1: rule__DateFormat__Ui_patternAssignment_4 : ( RULE_STRING ) ;
     public final void rule__DateFormat__Ui_patternAssignment_4() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:37955:1: ( ( RULE_STRING ) )
-            // InternalReportDSL.g:37956:2: ( RULE_STRING )
+            // InternalReportDSL.g:38465:1: ( ( RULE_STRING ) )
+            // InternalReportDSL.g:38466:2: ( RULE_STRING )
             {
-            // InternalReportDSL.g:37956:2: ( RULE_STRING )
-            // InternalReportDSL.g:37957:3: RULE_STRING
+            // InternalReportDSL.g:38466:2: ( RULE_STRING )
+            // InternalReportDSL.g:38467:3: RULE_STRING
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getDateFormatAccess().getUi_patternSTRINGTerminalRuleCall_4_0()); 
@@ -124160,17 +125962,17 @@
 
 
     // $ANTLR start "rule__DateFormat__Report_categoryAssignment_6"
-    // InternalReportDSL.g:37966:1: rule__DateFormat__Report_categoryAssignment_6 : ( ruleDateFormatCategoryEnum ) ;
+    // InternalReportDSL.g:38476:1: rule__DateFormat__Report_categoryAssignment_6 : ( ruleDateFormatCategoryEnum ) ;
     public final void rule__DateFormat__Report_categoryAssignment_6() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:37970:1: ( ( ruleDateFormatCategoryEnum ) )
-            // InternalReportDSL.g:37971:2: ( ruleDateFormatCategoryEnum )
+            // InternalReportDSL.g:38480:1: ( ( ruleDateFormatCategoryEnum ) )
+            // InternalReportDSL.g:38481:2: ( ruleDateFormatCategoryEnum )
             {
-            // InternalReportDSL.g:37971:2: ( ruleDateFormatCategoryEnum )
-            // InternalReportDSL.g:37972:3: ruleDateFormatCategoryEnum
+            // InternalReportDSL.g:38481:2: ( ruleDateFormatCategoryEnum )
+            // InternalReportDSL.g:38482:3: ruleDateFormatCategoryEnum
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getDateFormatAccess().getReport_categoryDateFormatCategoryEnumEnumRuleCall_6_0()); 
@@ -124205,17 +126007,17 @@
 
 
     // $ANTLR start "rule__DateFormat__Report_patternAssignment_7"
-    // InternalReportDSL.g:37981:1: rule__DateFormat__Report_patternAssignment_7 : ( RULE_STRING ) ;
+    // InternalReportDSL.g:38491:1: rule__DateFormat__Report_patternAssignment_7 : ( RULE_STRING ) ;
     public final void rule__DateFormat__Report_patternAssignment_7() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:37985:1: ( ( RULE_STRING ) )
-            // InternalReportDSL.g:37986:2: ( RULE_STRING )
+            // InternalReportDSL.g:38495:1: ( ( RULE_STRING ) )
+            // InternalReportDSL.g:38496:2: ( RULE_STRING )
             {
-            // InternalReportDSL.g:37986:2: ( RULE_STRING )
-            // InternalReportDSL.g:37987:3: RULE_STRING
+            // InternalReportDSL.g:38496:2: ( RULE_STRING )
+            // InternalReportDSL.g:38497:3: RULE_STRING
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getDateFormatAccess().getReport_patternSTRINGTerminalRuleCall_7_0()); 
@@ -124246,17 +126048,17 @@
 
 
     // $ANTLR start "rule__DateFormat__TextalignAssignment_9"
-    // InternalReportDSL.g:37996:1: rule__DateFormat__TextalignAssignment_9 : ( ruleTextAlignEnum ) ;
+    // InternalReportDSL.g:38506:1: rule__DateFormat__TextalignAssignment_9 : ( ruleTextAlignEnum ) ;
     public final void rule__DateFormat__TextalignAssignment_9() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:38000:1: ( ( ruleTextAlignEnum ) )
-            // InternalReportDSL.g:38001:2: ( ruleTextAlignEnum )
+            // InternalReportDSL.g:38510:1: ( ( ruleTextAlignEnum ) )
+            // InternalReportDSL.g:38511:2: ( ruleTextAlignEnum )
             {
-            // InternalReportDSL.g:38001:2: ( ruleTextAlignEnum )
-            // InternalReportDSL.g:38002:3: ruleTextAlignEnum
+            // InternalReportDSL.g:38511:2: ( ruleTextAlignEnum )
+            // InternalReportDSL.g:38512:3: ruleTextAlignEnum
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getDateFormatAccess().getTextalignTextAlignEnumEnumRuleCall_9_0()); 
@@ -124291,17 +126093,17 @@
 
 
     // $ANTLR start "rule__DateTimeFormat__NameAssignment_1"
-    // InternalReportDSL.g:38011:1: rule__DateTimeFormat__NameAssignment_1 : ( RULE_ID ) ;
+    // InternalReportDSL.g:38521:1: rule__DateTimeFormat__NameAssignment_1 : ( RULE_ID ) ;
     public final void rule__DateTimeFormat__NameAssignment_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:38015:1: ( ( RULE_ID ) )
-            // InternalReportDSL.g:38016:2: ( RULE_ID )
+            // InternalReportDSL.g:38525:1: ( ( RULE_ID ) )
+            // InternalReportDSL.g:38526:2: ( RULE_ID )
             {
-            // InternalReportDSL.g:38016:2: ( RULE_ID )
-            // InternalReportDSL.g:38017:3: RULE_ID
+            // InternalReportDSL.g:38526:2: ( RULE_ID )
+            // InternalReportDSL.g:38527:3: RULE_ID
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getDateTimeFormatAccess().getNameIDTerminalRuleCall_1_0()); 
@@ -124332,17 +126134,17 @@
 
 
     // $ANTLR start "rule__DateTimeFormat__Ui_patternAssignment_4"
-    // InternalReportDSL.g:38026:1: rule__DateTimeFormat__Ui_patternAssignment_4 : ( RULE_STRING ) ;
+    // InternalReportDSL.g:38536:1: rule__DateTimeFormat__Ui_patternAssignment_4 : ( RULE_STRING ) ;
     public final void rule__DateTimeFormat__Ui_patternAssignment_4() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:38030:1: ( ( RULE_STRING ) )
-            // InternalReportDSL.g:38031:2: ( RULE_STRING )
+            // InternalReportDSL.g:38540:1: ( ( RULE_STRING ) )
+            // InternalReportDSL.g:38541:2: ( RULE_STRING )
             {
-            // InternalReportDSL.g:38031:2: ( RULE_STRING )
-            // InternalReportDSL.g:38032:3: RULE_STRING
+            // InternalReportDSL.g:38541:2: ( RULE_STRING )
+            // InternalReportDSL.g:38542:3: RULE_STRING
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getDateTimeFormatAccess().getUi_patternSTRINGTerminalRuleCall_4_0()); 
@@ -124373,17 +126175,17 @@
 
 
     // $ANTLR start "rule__DateTimeFormat__Report_categoryAssignment_6"
-    // InternalReportDSL.g:38041:1: rule__DateTimeFormat__Report_categoryAssignment_6 : ( ruleDateTimeFormatCategoryEnum ) ;
+    // InternalReportDSL.g:38551:1: rule__DateTimeFormat__Report_categoryAssignment_6 : ( ruleDateTimeFormatCategoryEnum ) ;
     public final void rule__DateTimeFormat__Report_categoryAssignment_6() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:38045:1: ( ( ruleDateTimeFormatCategoryEnum ) )
-            // InternalReportDSL.g:38046:2: ( ruleDateTimeFormatCategoryEnum )
+            // InternalReportDSL.g:38555:1: ( ( ruleDateTimeFormatCategoryEnum ) )
+            // InternalReportDSL.g:38556:2: ( ruleDateTimeFormatCategoryEnum )
             {
-            // InternalReportDSL.g:38046:2: ( ruleDateTimeFormatCategoryEnum )
-            // InternalReportDSL.g:38047:3: ruleDateTimeFormatCategoryEnum
+            // InternalReportDSL.g:38556:2: ( ruleDateTimeFormatCategoryEnum )
+            // InternalReportDSL.g:38557:3: ruleDateTimeFormatCategoryEnum
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getDateTimeFormatAccess().getReport_categoryDateTimeFormatCategoryEnumEnumRuleCall_6_0()); 
@@ -124418,17 +126220,17 @@
 
 
     // $ANTLR start "rule__DateTimeFormat__Report_patternAssignment_7"
-    // InternalReportDSL.g:38056:1: rule__DateTimeFormat__Report_patternAssignment_7 : ( RULE_STRING ) ;
+    // InternalReportDSL.g:38566:1: rule__DateTimeFormat__Report_patternAssignment_7 : ( RULE_STRING ) ;
     public final void rule__DateTimeFormat__Report_patternAssignment_7() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:38060:1: ( ( RULE_STRING ) )
-            // InternalReportDSL.g:38061:2: ( RULE_STRING )
+            // InternalReportDSL.g:38570:1: ( ( RULE_STRING ) )
+            // InternalReportDSL.g:38571:2: ( RULE_STRING )
             {
-            // InternalReportDSL.g:38061:2: ( RULE_STRING )
-            // InternalReportDSL.g:38062:3: RULE_STRING
+            // InternalReportDSL.g:38571:2: ( RULE_STRING )
+            // InternalReportDSL.g:38572:3: RULE_STRING
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getDateTimeFormatAccess().getReport_patternSTRINGTerminalRuleCall_7_0()); 
@@ -124459,17 +126261,17 @@
 
 
     // $ANTLR start "rule__DateTimeFormat__TextalignAssignment_9"
-    // InternalReportDSL.g:38071:1: rule__DateTimeFormat__TextalignAssignment_9 : ( ruleTextAlignEnum ) ;
+    // InternalReportDSL.g:38581:1: rule__DateTimeFormat__TextalignAssignment_9 : ( ruleTextAlignEnum ) ;
     public final void rule__DateTimeFormat__TextalignAssignment_9() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:38075:1: ( ( ruleTextAlignEnum ) )
-            // InternalReportDSL.g:38076:2: ( ruleTextAlignEnum )
+            // InternalReportDSL.g:38585:1: ( ( ruleTextAlignEnum ) )
+            // InternalReportDSL.g:38586:2: ( ruleTextAlignEnum )
             {
-            // InternalReportDSL.g:38076:2: ( ruleTextAlignEnum )
-            // InternalReportDSL.g:38077:3: ruleTextAlignEnum
+            // InternalReportDSL.g:38586:2: ( ruleTextAlignEnum )
+            // InternalReportDSL.g:38587:3: ruleTextAlignEnum
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getDateTimeFormatAccess().getTextalignTextAlignEnumEnumRuleCall_9_0()); 
@@ -124504,17 +126306,17 @@
 
 
     // $ANTLR start "rule__TimeFormat__NameAssignment_1"
-    // InternalReportDSL.g:38086:1: rule__TimeFormat__NameAssignment_1 : ( RULE_ID ) ;
+    // InternalReportDSL.g:38596:1: rule__TimeFormat__NameAssignment_1 : ( RULE_ID ) ;
     public final void rule__TimeFormat__NameAssignment_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:38090:1: ( ( RULE_ID ) )
-            // InternalReportDSL.g:38091:2: ( RULE_ID )
+            // InternalReportDSL.g:38600:1: ( ( RULE_ID ) )
+            // InternalReportDSL.g:38601:2: ( RULE_ID )
             {
-            // InternalReportDSL.g:38091:2: ( RULE_ID )
-            // InternalReportDSL.g:38092:3: RULE_ID
+            // InternalReportDSL.g:38601:2: ( RULE_ID )
+            // InternalReportDSL.g:38602:3: RULE_ID
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getTimeFormatAccess().getNameIDTerminalRuleCall_1_0()); 
@@ -124545,17 +126347,17 @@
 
 
     // $ANTLR start "rule__TimeFormat__Ui_patternAssignment_4"
-    // InternalReportDSL.g:38101:1: rule__TimeFormat__Ui_patternAssignment_4 : ( RULE_STRING ) ;
+    // InternalReportDSL.g:38611:1: rule__TimeFormat__Ui_patternAssignment_4 : ( RULE_STRING ) ;
     public final void rule__TimeFormat__Ui_patternAssignment_4() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:38105:1: ( ( RULE_STRING ) )
-            // InternalReportDSL.g:38106:2: ( RULE_STRING )
+            // InternalReportDSL.g:38615:1: ( ( RULE_STRING ) )
+            // InternalReportDSL.g:38616:2: ( RULE_STRING )
             {
-            // InternalReportDSL.g:38106:2: ( RULE_STRING )
-            // InternalReportDSL.g:38107:3: RULE_STRING
+            // InternalReportDSL.g:38616:2: ( RULE_STRING )
+            // InternalReportDSL.g:38617:3: RULE_STRING
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getTimeFormatAccess().getUi_patternSTRINGTerminalRuleCall_4_0()); 
@@ -124586,17 +126388,17 @@
 
 
     // $ANTLR start "rule__TimeFormat__Report_categoryAssignment_6"
-    // InternalReportDSL.g:38116:1: rule__TimeFormat__Report_categoryAssignment_6 : ( ruleTimeFormatCategoryEnum ) ;
+    // InternalReportDSL.g:38626:1: rule__TimeFormat__Report_categoryAssignment_6 : ( ruleTimeFormatCategoryEnum ) ;
     public final void rule__TimeFormat__Report_categoryAssignment_6() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:38120:1: ( ( ruleTimeFormatCategoryEnum ) )
-            // InternalReportDSL.g:38121:2: ( ruleTimeFormatCategoryEnum )
+            // InternalReportDSL.g:38630:1: ( ( ruleTimeFormatCategoryEnum ) )
+            // InternalReportDSL.g:38631:2: ( ruleTimeFormatCategoryEnum )
             {
-            // InternalReportDSL.g:38121:2: ( ruleTimeFormatCategoryEnum )
-            // InternalReportDSL.g:38122:3: ruleTimeFormatCategoryEnum
+            // InternalReportDSL.g:38631:2: ( ruleTimeFormatCategoryEnum )
+            // InternalReportDSL.g:38632:3: ruleTimeFormatCategoryEnum
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getTimeFormatAccess().getReport_categoryTimeFormatCategoryEnumEnumRuleCall_6_0()); 
@@ -124631,17 +126433,17 @@
 
 
     // $ANTLR start "rule__TimeFormat__Report_patternAssignment_7"
-    // InternalReportDSL.g:38131:1: rule__TimeFormat__Report_patternAssignment_7 : ( RULE_STRING ) ;
+    // InternalReportDSL.g:38641:1: rule__TimeFormat__Report_patternAssignment_7 : ( RULE_STRING ) ;
     public final void rule__TimeFormat__Report_patternAssignment_7() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:38135:1: ( ( RULE_STRING ) )
-            // InternalReportDSL.g:38136:2: ( RULE_STRING )
+            // InternalReportDSL.g:38645:1: ( ( RULE_STRING ) )
+            // InternalReportDSL.g:38646:2: ( RULE_STRING )
             {
-            // InternalReportDSL.g:38136:2: ( RULE_STRING )
-            // InternalReportDSL.g:38137:3: RULE_STRING
+            // InternalReportDSL.g:38646:2: ( RULE_STRING )
+            // InternalReportDSL.g:38647:3: RULE_STRING
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getTimeFormatAccess().getReport_patternSTRINGTerminalRuleCall_7_0()); 
@@ -124672,17 +126474,17 @@
 
 
     // $ANTLR start "rule__TimeFormat__TextalignAssignment_9"
-    // InternalReportDSL.g:38146:1: rule__TimeFormat__TextalignAssignment_9 : ( ruleTextAlignEnum ) ;
+    // InternalReportDSL.g:38656:1: rule__TimeFormat__TextalignAssignment_9 : ( ruleTextAlignEnum ) ;
     public final void rule__TimeFormat__TextalignAssignment_9() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:38150:1: ( ( ruleTextAlignEnum ) )
-            // InternalReportDSL.g:38151:2: ( ruleTextAlignEnum )
+            // InternalReportDSL.g:38660:1: ( ( ruleTextAlignEnum ) )
+            // InternalReportDSL.g:38661:2: ( ruleTextAlignEnum )
             {
-            // InternalReportDSL.g:38151:2: ( ruleTextAlignEnum )
-            // InternalReportDSL.g:38152:3: ruleTextAlignEnum
+            // InternalReportDSL.g:38661:2: ( ruleTextAlignEnum )
+            // InternalReportDSL.g:38662:3: ruleTextAlignEnum
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getTimeFormatAccess().getTextalignTextAlignEnumEnumRuleCall_9_0()); 
@@ -124717,17 +126519,17 @@
 
 
     // $ANTLR start "rule__Report__NameAssignment_1"
-    // InternalReportDSL.g:38161:1: rule__Report__NameAssignment_1 : ( RULE_ID ) ;
+    // InternalReportDSL.g:38671:1: rule__Report__NameAssignment_1 : ( RULE_ID ) ;
     public final void rule__Report__NameAssignment_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:38165:1: ( ( RULE_ID ) )
-            // InternalReportDSL.g:38166:2: ( RULE_ID )
+            // InternalReportDSL.g:38675:1: ( ( RULE_ID ) )
+            // InternalReportDSL.g:38676:2: ( RULE_ID )
             {
-            // InternalReportDSL.g:38166:2: ( RULE_ID )
-            // InternalReportDSL.g:38167:3: RULE_ID
+            // InternalReportDSL.g:38676:2: ( RULE_ID )
+            // InternalReportDSL.g:38677:3: RULE_ID
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getReportAccess().getNameIDTerminalRuleCall_1_0()); 
@@ -124758,28 +126560,28 @@
 
 
     // $ANTLR start "rule__Report__DescriptionAssignment_2_0"
-    // InternalReportDSL.g:38176:1: rule__Report__DescriptionAssignment_2_0 : ( ( 'describedBy' ) ) ;
+    // InternalReportDSL.g:38686:1: rule__Report__DescriptionAssignment_2_0 : ( ( 'describedBy' ) ) ;
     public final void rule__Report__DescriptionAssignment_2_0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:38180:1: ( ( ( 'describedBy' ) ) )
-            // InternalReportDSL.g:38181:2: ( ( 'describedBy' ) )
+            // InternalReportDSL.g:38690:1: ( ( ( 'describedBy' ) ) )
+            // InternalReportDSL.g:38691:2: ( ( 'describedBy' ) )
             {
-            // InternalReportDSL.g:38181:2: ( ( 'describedBy' ) )
-            // InternalReportDSL.g:38182:3: ( 'describedBy' )
+            // InternalReportDSL.g:38691:2: ( ( 'describedBy' ) )
+            // InternalReportDSL.g:38692:3: ( 'describedBy' )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getReportAccess().getDescriptionDescribedByKeyword_2_0_0()); 
             }
-            // InternalReportDSL.g:38183:3: ( 'describedBy' )
-            // InternalReportDSL.g:38184:4: 'describedBy'
+            // InternalReportDSL.g:38693:3: ( 'describedBy' )
+            // InternalReportDSL.g:38694:4: 'describedBy'
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getReportAccess().getDescriptionDescribedByKeyword_2_0_0()); 
             }
-            match(input,183,FOLLOW_2); if (state.failed) return ;
+            match(input,190,FOLLOW_2); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getReportAccess().getDescriptionDescribedByKeyword_2_0_0()); 
             }
@@ -124811,17 +126613,17 @@
 
 
     // $ANTLR start "rule__Report__DescriptionValueAssignment_2_1"
-    // InternalReportDSL.g:38195:1: rule__Report__DescriptionValueAssignment_2_1 : ( ruleTRANSLATABLESTRING ) ;
+    // InternalReportDSL.g:38705:1: rule__Report__DescriptionValueAssignment_2_1 : ( ruleTRANSLATABLESTRING ) ;
     public final void rule__Report__DescriptionValueAssignment_2_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:38199:1: ( ( ruleTRANSLATABLESTRING ) )
-            // InternalReportDSL.g:38200:2: ( ruleTRANSLATABLESTRING )
+            // InternalReportDSL.g:38709:1: ( ( ruleTRANSLATABLESTRING ) )
+            // InternalReportDSL.g:38710:2: ( ruleTRANSLATABLESTRING )
             {
-            // InternalReportDSL.g:38200:2: ( ruleTRANSLATABLESTRING )
-            // InternalReportDSL.g:38201:3: ruleTRANSLATABLESTRING
+            // InternalReportDSL.g:38710:2: ( ruleTRANSLATABLESTRING )
+            // InternalReportDSL.g:38711:3: ruleTRANSLATABLESTRING
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getReportAccess().getDescriptionValueTRANSLATABLESTRINGParserRuleCall_2_1_0()); 
@@ -124856,23 +126658,23 @@
 
 
     // $ANTLR start "rule__Report__ToolbarAssignment_3_1"
-    // InternalReportDSL.g:38210:1: rule__Report__ToolbarAssignment_3_1 : ( ( RULE_ID ) ) ;
+    // InternalReportDSL.g:38720:1: rule__Report__ToolbarAssignment_3_1 : ( ( RULE_ID ) ) ;
     public final void rule__Report__ToolbarAssignment_3_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:38214:1: ( ( ( RULE_ID ) ) )
-            // InternalReportDSL.g:38215:2: ( ( RULE_ID ) )
+            // InternalReportDSL.g:38724:1: ( ( ( RULE_ID ) ) )
+            // InternalReportDSL.g:38725:2: ( ( RULE_ID ) )
             {
-            // InternalReportDSL.g:38215:2: ( ( RULE_ID ) )
-            // InternalReportDSL.g:38216:3: ( RULE_ID )
+            // InternalReportDSL.g:38725:2: ( ( RULE_ID ) )
+            // InternalReportDSL.g:38726:3: ( RULE_ID )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getReportAccess().getToolbarActionToolbarCrossReference_3_1_0()); 
             }
-            // InternalReportDSL.g:38217:3: ( RULE_ID )
-            // InternalReportDSL.g:38218:4: RULE_ID
+            // InternalReportDSL.g:38727:3: ( RULE_ID )
+            // InternalReportDSL.g:38728:4: RULE_ID
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getReportAccess().getToolbarActionToolbarIDTerminalRuleCall_3_1_0_1()); 
@@ -124909,23 +126711,23 @@
 
 
     // $ANTLR start "rule__Report__DatamartRefAssignment_6"
-    // InternalReportDSL.g:38229:1: rule__Report__DatamartRefAssignment_6 : ( ( RULE_ID ) ) ;
+    // InternalReportDSL.g:38739:1: rule__Report__DatamartRefAssignment_6 : ( ( RULE_ID ) ) ;
     public final void rule__Report__DatamartRefAssignment_6() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:38233:1: ( ( ( RULE_ID ) ) )
-            // InternalReportDSL.g:38234:2: ( ( RULE_ID ) )
+            // InternalReportDSL.g:38743:1: ( ( ( RULE_ID ) ) )
+            // InternalReportDSL.g:38744:2: ( ( RULE_ID ) )
             {
-            // InternalReportDSL.g:38234:2: ( ( RULE_ID ) )
-            // InternalReportDSL.g:38235:3: ( RULE_ID )
+            // InternalReportDSL.g:38744:2: ( ( RULE_ID ) )
+            // InternalReportDSL.g:38745:3: ( RULE_ID )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getReportAccess().getDatamartRefDatamartDefinitionCrossReference_6_0()); 
             }
-            // InternalReportDSL.g:38236:3: ( RULE_ID )
-            // InternalReportDSL.g:38237:4: RULE_ID
+            // InternalReportDSL.g:38746:3: ( RULE_ID )
+            // InternalReportDSL.g:38747:4: RULE_ID
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getReportAccess().getDatamartRefDatamartDefinitionIDTerminalRuleCall_6_0_1()); 
@@ -124962,28 +126764,28 @@
 
 
     // $ANTLR start "rule__Report__SelectByIdAssignment_7"
-    // InternalReportDSL.g:38248:1: rule__Report__SelectByIdAssignment_7 : ( ( 'selectById' ) ) ;
+    // InternalReportDSL.g:38758:1: rule__Report__SelectByIdAssignment_7 : ( ( 'selectById' ) ) ;
     public final void rule__Report__SelectByIdAssignment_7() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:38252:1: ( ( ( 'selectById' ) ) )
-            // InternalReportDSL.g:38253:2: ( ( 'selectById' ) )
+            // InternalReportDSL.g:38762:1: ( ( ( 'selectById' ) ) )
+            // InternalReportDSL.g:38763:2: ( ( 'selectById' ) )
             {
-            // InternalReportDSL.g:38253:2: ( ( 'selectById' ) )
-            // InternalReportDSL.g:38254:3: ( 'selectById' )
+            // InternalReportDSL.g:38763:2: ( ( 'selectById' ) )
+            // InternalReportDSL.g:38764:3: ( 'selectById' )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getReportAccess().getSelectByIdSelectByIdKeyword_7_0()); 
             }
-            // InternalReportDSL.g:38255:3: ( 'selectById' )
-            // InternalReportDSL.g:38256:4: 'selectById'
+            // InternalReportDSL.g:38765:3: ( 'selectById' )
+            // InternalReportDSL.g:38766:4: 'selectById'
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getReportAccess().getSelectByIdSelectByIdKeyword_7_0()); 
             }
-            match(input,254,FOLLOW_2); if (state.failed) return ;
+            match(input,261,FOLLOW_2); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getReportAccess().getSelectByIdSelectByIdKeyword_7_0()); 
             }
@@ -125015,17 +126817,17 @@
 
 
     // $ANTLR start "rule__Report__RenderingAssignment_9"
-    // InternalReportDSL.g:38267:1: rule__Report__RenderingAssignment_9 : ( ruleRenderingEnum ) ;
+    // InternalReportDSL.g:38777:1: rule__Report__RenderingAssignment_9 : ( ruleRenderingEnum ) ;
     public final void rule__Report__RenderingAssignment_9() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:38271:1: ( ( ruleRenderingEnum ) )
-            // InternalReportDSL.g:38272:2: ( ruleRenderingEnum )
+            // InternalReportDSL.g:38781:1: ( ( ruleRenderingEnum ) )
+            // InternalReportDSL.g:38782:2: ( ruleRenderingEnum )
             {
-            // InternalReportDSL.g:38272:2: ( ruleRenderingEnum )
-            // InternalReportDSL.g:38273:3: ruleRenderingEnum
+            // InternalReportDSL.g:38782:2: ( ruleRenderingEnum )
+            // InternalReportDSL.g:38783:3: ruleRenderingEnum
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getReportAccess().getRenderingRenderingEnumEnumRuleCall_9_0()); 
@@ -125060,17 +126862,17 @@
 
 
     // $ANTLR start "rule__Report__ExternalCssURIAssignment_10_1"
-    // InternalReportDSL.g:38282:1: rule__Report__ExternalCssURIAssignment_10_1 : ( RULE_STRING ) ;
+    // InternalReportDSL.g:38792:1: rule__Report__ExternalCssURIAssignment_10_1 : ( RULE_STRING ) ;
     public final void rule__Report__ExternalCssURIAssignment_10_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:38286:1: ( ( RULE_STRING ) )
-            // InternalReportDSL.g:38287:2: ( RULE_STRING )
+            // InternalReportDSL.g:38796:1: ( ( RULE_STRING ) )
+            // InternalReportDSL.g:38797:2: ( RULE_STRING )
             {
-            // InternalReportDSL.g:38287:2: ( RULE_STRING )
-            // InternalReportDSL.g:38288:3: RULE_STRING
+            // InternalReportDSL.g:38797:2: ( RULE_STRING )
+            // InternalReportDSL.g:38798:3: RULE_STRING
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getReportAccess().getExternalCssURISTRINGTerminalRuleCall_10_1_0()); 
@@ -125101,17 +126903,17 @@
 
 
     // $ANTLR start "rule__Report__ExternalCssURIBundleAssignment_10_2_1"
-    // InternalReportDSL.g:38297:1: rule__Report__ExternalCssURIBundleAssignment_10_2_1 : ( RULE_STRING ) ;
+    // InternalReportDSL.g:38807:1: rule__Report__ExternalCssURIBundleAssignment_10_2_1 : ( RULE_STRING ) ;
     public final void rule__Report__ExternalCssURIBundleAssignment_10_2_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:38301:1: ( ( RULE_STRING ) )
-            // InternalReportDSL.g:38302:2: ( RULE_STRING )
+            // InternalReportDSL.g:38811:1: ( ( RULE_STRING ) )
+            // InternalReportDSL.g:38812:2: ( RULE_STRING )
             {
-            // InternalReportDSL.g:38302:2: ( RULE_STRING )
-            // InternalReportDSL.g:38303:3: RULE_STRING
+            // InternalReportDSL.g:38812:2: ( RULE_STRING )
+            // InternalReportDSL.g:38813:3: RULE_STRING
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getReportAccess().getExternalCssURIBundleSTRINGTerminalRuleCall_10_2_1_0()); 
@@ -125142,17 +126944,17 @@
 
 
     // $ANTLR start "rule__Report__DefaultUnitAssignment_11_1"
-    // InternalReportDSL.g:38312:1: rule__Report__DefaultUnitAssignment_11_1 : ( ruleUnitEnum ) ;
+    // InternalReportDSL.g:38822:1: rule__Report__DefaultUnitAssignment_11_1 : ( ruleUnitEnum ) ;
     public final void rule__Report__DefaultUnitAssignment_11_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:38316:1: ( ( ruleUnitEnum ) )
-            // InternalReportDSL.g:38317:2: ( ruleUnitEnum )
+            // InternalReportDSL.g:38826:1: ( ( ruleUnitEnum ) )
+            // InternalReportDSL.g:38827:2: ( ruleUnitEnum )
             {
-            // InternalReportDSL.g:38317:2: ( ruleUnitEnum )
-            // InternalReportDSL.g:38318:3: ruleUnitEnum
+            // InternalReportDSL.g:38827:2: ( ruleUnitEnum )
+            // InternalReportDSL.g:38828:3: ruleUnitEnum
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getReportAccess().getDefaultUnitUnitEnumEnumRuleCall_11_1_0()); 
@@ -125187,23 +126989,23 @@
 
 
     // $ANTLR start "rule__Report__PageTemplateAssignment_13"
-    // InternalReportDSL.g:38327:1: rule__Report__PageTemplateAssignment_13 : ( ( RULE_ID ) ) ;
+    // InternalReportDSL.g:38837:1: rule__Report__PageTemplateAssignment_13 : ( ( RULE_ID ) ) ;
     public final void rule__Report__PageTemplateAssignment_13() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:38331:1: ( ( ( RULE_ID ) ) )
-            // InternalReportDSL.g:38332:2: ( ( RULE_ID ) )
+            // InternalReportDSL.g:38841:1: ( ( ( RULE_ID ) ) )
+            // InternalReportDSL.g:38842:2: ( ( RULE_ID ) )
             {
-            // InternalReportDSL.g:38332:2: ( ( RULE_ID ) )
-            // InternalReportDSL.g:38333:3: ( RULE_ID )
+            // InternalReportDSL.g:38842:2: ( ( RULE_ID ) )
+            // InternalReportDSL.g:38843:3: ( RULE_ID )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getReportAccess().getPageTemplatePageTemplateCrossReference_13_0()); 
             }
-            // InternalReportDSL.g:38334:3: ( RULE_ID )
-            // InternalReportDSL.g:38335:4: RULE_ID
+            // InternalReportDSL.g:38844:3: ( RULE_ID )
+            // InternalReportDSL.g:38845:4: RULE_ID
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getReportAccess().getPageTemplatePageTemplateIDTerminalRuleCall_13_0_1()); 
@@ -125240,23 +127042,23 @@
 
 
     // $ANTLR start "rule__Report__MediaAssignment_15"
-    // InternalReportDSL.g:38346:1: rule__Report__MediaAssignment_15 : ( ( RULE_ID ) ) ;
+    // InternalReportDSL.g:38856:1: rule__Report__MediaAssignment_15 : ( ( RULE_ID ) ) ;
     public final void rule__Report__MediaAssignment_15() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:38350:1: ( ( ( RULE_ID ) ) )
-            // InternalReportDSL.g:38351:2: ( ( RULE_ID ) )
+            // InternalReportDSL.g:38860:1: ( ( ( RULE_ID ) ) )
+            // InternalReportDSL.g:38861:2: ( ( RULE_ID ) )
             {
-            // InternalReportDSL.g:38351:2: ( ( RULE_ID ) )
-            // InternalReportDSL.g:38352:3: ( RULE_ID )
+            // InternalReportDSL.g:38861:2: ( ( RULE_ID ) )
+            // InternalReportDSL.g:38862:3: ( RULE_ID )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getReportAccess().getMediaMediaCrossReference_15_0()); 
             }
-            // InternalReportDSL.g:38353:3: ( RULE_ID )
-            // InternalReportDSL.g:38354:4: RULE_ID
+            // InternalReportDSL.g:38863:3: ( RULE_ID )
+            // InternalReportDSL.g:38864:4: RULE_ID
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getReportAccess().getMediaMediaIDTerminalRuleCall_15_0_1()); 
@@ -125293,17 +127095,17 @@
 
 
     // $ANTLR start "rule__Report__DesignAssignment_16"
-    // InternalReportDSL.g:38365:1: rule__Report__DesignAssignment_16 : ( ruleReportDesign ) ;
+    // InternalReportDSL.g:38875:1: rule__Report__DesignAssignment_16 : ( ruleReportDesign ) ;
     public final void rule__Report__DesignAssignment_16() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:38369:1: ( ( ruleReportDesign ) )
-            // InternalReportDSL.g:38370:2: ( ruleReportDesign )
+            // InternalReportDSL.g:38879:1: ( ( ruleReportDesign ) )
+            // InternalReportDSL.g:38880:2: ( ruleReportDesign )
             {
-            // InternalReportDSL.g:38370:2: ( ruleReportDesign )
-            // InternalReportDSL.g:38371:3: ruleReportDesign
+            // InternalReportDSL.g:38880:2: ( ruleReportDesign )
+            // InternalReportDSL.g:38881:3: ruleReportDesign
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getReportAccess().getDesignReportDesignParserRuleCall_16_0()); 
@@ -125338,17 +127140,17 @@
 
 
     // $ANTLR start "rule__ReportDesignFile__NameAssignment_1"
-    // InternalReportDSL.g:38380:1: rule__ReportDesignFile__NameAssignment_1 : ( RULE_STRING ) ;
+    // InternalReportDSL.g:38890:1: rule__ReportDesignFile__NameAssignment_1 : ( RULE_STRING ) ;
     public final void rule__ReportDesignFile__NameAssignment_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:38384:1: ( ( RULE_STRING ) )
-            // InternalReportDSL.g:38385:2: ( RULE_STRING )
+            // InternalReportDSL.g:38894:1: ( ( RULE_STRING ) )
+            // InternalReportDSL.g:38895:2: ( RULE_STRING )
             {
-            // InternalReportDSL.g:38385:2: ( RULE_STRING )
-            // InternalReportDSL.g:38386:3: RULE_STRING
+            // InternalReportDSL.g:38895:2: ( RULE_STRING )
+            // InternalReportDSL.g:38896:3: RULE_STRING
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getReportDesignFileAccess().getNameSTRINGTerminalRuleCall_1_0()); 
@@ -125379,17 +127181,17 @@
 
 
     // $ANTLR start "rule__ReportDesignTemplate__DescriptionAssignment_2_1"
-    // InternalReportDSL.g:38395:1: rule__ReportDesignTemplate__DescriptionAssignment_2_1 : ( RULE_STRING ) ;
+    // InternalReportDSL.g:38905:1: rule__ReportDesignTemplate__DescriptionAssignment_2_1 : ( RULE_STRING ) ;
     public final void rule__ReportDesignTemplate__DescriptionAssignment_2_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:38399:1: ( ( RULE_STRING ) )
-            // InternalReportDSL.g:38400:2: ( RULE_STRING )
+            // InternalReportDSL.g:38909:1: ( ( RULE_STRING ) )
+            // InternalReportDSL.g:38910:2: ( RULE_STRING )
             {
-            // InternalReportDSL.g:38400:2: ( RULE_STRING )
-            // InternalReportDSL.g:38401:3: RULE_STRING
+            // InternalReportDSL.g:38910:2: ( RULE_STRING )
+            // InternalReportDSL.g:38911:3: RULE_STRING
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getReportDesignTemplateAccess().getDescriptionSTRINGTerminalRuleCall_2_1_0()); 
@@ -125420,17 +127222,17 @@
 
 
     // $ANTLR start "rule__ReportDesignTemplate__HeaderAssignment_3"
-    // InternalReportDSL.g:38410:1: rule__ReportDesignTemplate__HeaderAssignment_3 : ( rulePageHeader ) ;
+    // InternalReportDSL.g:38920:1: rule__ReportDesignTemplate__HeaderAssignment_3 : ( rulePageHeader ) ;
     public final void rule__ReportDesignTemplate__HeaderAssignment_3() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:38414:1: ( ( rulePageHeader ) )
-            // InternalReportDSL.g:38415:2: ( rulePageHeader )
+            // InternalReportDSL.g:38924:1: ( ( rulePageHeader ) )
+            // InternalReportDSL.g:38925:2: ( rulePageHeader )
             {
-            // InternalReportDSL.g:38415:2: ( rulePageHeader )
-            // InternalReportDSL.g:38416:3: rulePageHeader
+            // InternalReportDSL.g:38925:2: ( rulePageHeader )
+            // InternalReportDSL.g:38926:3: rulePageHeader
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getReportDesignTemplateAccess().getHeaderPageHeaderParserRuleCall_3_0()); 
@@ -125465,17 +127267,17 @@
 
 
     // $ANTLR start "rule__ReportDesignTemplate__DetailAssignment_4"
-    // InternalReportDSL.g:38425:1: rule__ReportDesignTemplate__DetailAssignment_4 : ( rulePageDetail ) ;
+    // InternalReportDSL.g:38935:1: rule__ReportDesignTemplate__DetailAssignment_4 : ( rulePageDetail ) ;
     public final void rule__ReportDesignTemplate__DetailAssignment_4() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:38429:1: ( ( rulePageDetail ) )
-            // InternalReportDSL.g:38430:2: ( rulePageDetail )
+            // InternalReportDSL.g:38939:1: ( ( rulePageDetail ) )
+            // InternalReportDSL.g:38940:2: ( rulePageDetail )
             {
-            // InternalReportDSL.g:38430:2: ( rulePageDetail )
-            // InternalReportDSL.g:38431:3: rulePageDetail
+            // InternalReportDSL.g:38940:2: ( rulePageDetail )
+            // InternalReportDSL.g:38941:3: rulePageDetail
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getReportDesignTemplateAccess().getDetailPageDetailParserRuleCall_4_0()); 
@@ -125510,17 +127312,17 @@
 
 
     // $ANTLR start "rule__ReportDesignTemplate__FooterAssignment_5"
-    // InternalReportDSL.g:38440:1: rule__ReportDesignTemplate__FooterAssignment_5 : ( rulePageFooter ) ;
+    // InternalReportDSL.g:38950:1: rule__ReportDesignTemplate__FooterAssignment_5 : ( rulePageFooter ) ;
     public final void rule__ReportDesignTemplate__FooterAssignment_5() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:38444:1: ( ( rulePageFooter ) )
-            // InternalReportDSL.g:38445:2: ( rulePageFooter )
+            // InternalReportDSL.g:38954:1: ( ( rulePageFooter ) )
+            // InternalReportDSL.g:38955:2: ( rulePageFooter )
             {
-            // InternalReportDSL.g:38445:2: ( rulePageFooter )
-            // InternalReportDSL.g:38446:3: rulePageFooter
+            // InternalReportDSL.g:38955:2: ( rulePageFooter )
+            // InternalReportDSL.g:38956:3: rulePageFooter
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getReportDesignTemplateAccess().getFooterPageFooterParserRuleCall_5_0()); 
@@ -125555,28 +127357,28 @@
 
 
     // $ANTLR start "rule__PageHeader__ShowOnFirstAssignment_3"
-    // InternalReportDSL.g:38455:1: rule__PageHeader__ShowOnFirstAssignment_3 : ( ( 'showOnFirst' ) ) ;
+    // InternalReportDSL.g:38965:1: rule__PageHeader__ShowOnFirstAssignment_3 : ( ( 'showOnFirst' ) ) ;
     public final void rule__PageHeader__ShowOnFirstAssignment_3() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:38459:1: ( ( ( 'showOnFirst' ) ) )
-            // InternalReportDSL.g:38460:2: ( ( 'showOnFirst' ) )
+            // InternalReportDSL.g:38969:1: ( ( ( 'showOnFirst' ) ) )
+            // InternalReportDSL.g:38970:2: ( ( 'showOnFirst' ) )
             {
-            // InternalReportDSL.g:38460:2: ( ( 'showOnFirst' ) )
-            // InternalReportDSL.g:38461:3: ( 'showOnFirst' )
+            // InternalReportDSL.g:38970:2: ( ( 'showOnFirst' ) )
+            // InternalReportDSL.g:38971:3: ( 'showOnFirst' )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getPageHeaderAccess().getShowOnFirstShowOnFirstKeyword_3_0()); 
             }
-            // InternalReportDSL.g:38462:3: ( 'showOnFirst' )
-            // InternalReportDSL.g:38463:4: 'showOnFirst'
+            // InternalReportDSL.g:38972:3: ( 'showOnFirst' )
+            // InternalReportDSL.g:38973:4: 'showOnFirst'
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getPageHeaderAccess().getShowOnFirstShowOnFirstKeyword_3_0()); 
             }
-            match(input,255,FOLLOW_2); if (state.failed) return ;
+            match(input,262,FOLLOW_2); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getPageHeaderAccess().getShowOnFirstShowOnFirstKeyword_3_0()); 
             }
@@ -125608,17 +127410,17 @@
 
 
     // $ANTLR start "rule__PageHeader__HeightValueAssignment_5"
-    // InternalReportDSL.g:38474:1: rule__PageHeader__HeightValueAssignment_5 : ( ruleUnsignedNumber ) ;
+    // InternalReportDSL.g:38984:1: rule__PageHeader__HeightValueAssignment_5 : ( ruleUnsignedNumber ) ;
     public final void rule__PageHeader__HeightValueAssignment_5() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:38478:1: ( ( ruleUnsignedNumber ) )
-            // InternalReportDSL.g:38479:2: ( ruleUnsignedNumber )
+            // InternalReportDSL.g:38988:1: ( ( ruleUnsignedNumber ) )
+            // InternalReportDSL.g:38989:2: ( ruleUnsignedNumber )
             {
-            // InternalReportDSL.g:38479:2: ( ruleUnsignedNumber )
-            // InternalReportDSL.g:38480:3: ruleUnsignedNumber
+            // InternalReportDSL.g:38989:2: ( ruleUnsignedNumber )
+            // InternalReportDSL.g:38990:3: ruleUnsignedNumber
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getPageHeaderAccess().getHeightValueUnsignedNumberParserRuleCall_5_0()); 
@@ -125653,17 +127455,17 @@
 
 
     // $ANTLR start "rule__PageHeader__ElementsAssignment_6"
-    // InternalReportDSL.g:38489:1: rule__PageHeader__ElementsAssignment_6 : ( ruleElement ) ;
+    // InternalReportDSL.g:38999:1: rule__PageHeader__ElementsAssignment_6 : ( ruleElement ) ;
     public final void rule__PageHeader__ElementsAssignment_6() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:38493:1: ( ( ruleElement ) )
-            // InternalReportDSL.g:38494:2: ( ruleElement )
+            // InternalReportDSL.g:39003:1: ( ( ruleElement ) )
+            // InternalReportDSL.g:39004:2: ( ruleElement )
             {
-            // InternalReportDSL.g:38494:2: ( ruleElement )
-            // InternalReportDSL.g:38495:3: ruleElement
+            // InternalReportDSL.g:39004:2: ( ruleElement )
+            // InternalReportDSL.g:39005:3: ruleElement
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getPageHeaderAccess().getElementsElementParserRuleCall_6_0()); 
@@ -125698,17 +127500,17 @@
 
 
     // $ANTLR start "rule__PageDetail__ElementsAssignment_3"
-    // InternalReportDSL.g:38504:1: rule__PageDetail__ElementsAssignment_3 : ( ruleElement ) ;
+    // InternalReportDSL.g:39014:1: rule__PageDetail__ElementsAssignment_3 : ( ruleElement ) ;
     public final void rule__PageDetail__ElementsAssignment_3() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:38508:1: ( ( ruleElement ) )
-            // InternalReportDSL.g:38509:2: ( ruleElement )
+            // InternalReportDSL.g:39018:1: ( ( ruleElement ) )
+            // InternalReportDSL.g:39019:2: ( ruleElement )
             {
-            // InternalReportDSL.g:38509:2: ( ruleElement )
-            // InternalReportDSL.g:38510:3: ruleElement
+            // InternalReportDSL.g:39019:2: ( ruleElement )
+            // InternalReportDSL.g:39020:3: ruleElement
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getPageDetailAccess().getElementsElementParserRuleCall_3_0()); 
@@ -125743,28 +127545,28 @@
 
 
     // $ANTLR start "rule__PageFooter__ShowOnLastAssignment_3"
-    // InternalReportDSL.g:38519:1: rule__PageFooter__ShowOnLastAssignment_3 : ( ( 'showOnLast' ) ) ;
+    // InternalReportDSL.g:39029:1: rule__PageFooter__ShowOnLastAssignment_3 : ( ( 'showOnLast' ) ) ;
     public final void rule__PageFooter__ShowOnLastAssignment_3() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:38523:1: ( ( ( 'showOnLast' ) ) )
-            // InternalReportDSL.g:38524:2: ( ( 'showOnLast' ) )
+            // InternalReportDSL.g:39033:1: ( ( ( 'showOnLast' ) ) )
+            // InternalReportDSL.g:39034:2: ( ( 'showOnLast' ) )
             {
-            // InternalReportDSL.g:38524:2: ( ( 'showOnLast' ) )
-            // InternalReportDSL.g:38525:3: ( 'showOnLast' )
+            // InternalReportDSL.g:39034:2: ( ( 'showOnLast' ) )
+            // InternalReportDSL.g:39035:3: ( 'showOnLast' )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getPageFooterAccess().getShowOnLastShowOnLastKeyword_3_0()); 
             }
-            // InternalReportDSL.g:38526:3: ( 'showOnLast' )
-            // InternalReportDSL.g:38527:4: 'showOnLast'
+            // InternalReportDSL.g:39036:3: ( 'showOnLast' )
+            // InternalReportDSL.g:39037:4: 'showOnLast'
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getPageFooterAccess().getShowOnLastShowOnLastKeyword_3_0()); 
             }
-            match(input,256,FOLLOW_2); if (state.failed) return ;
+            match(input,263,FOLLOW_2); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getPageFooterAccess().getShowOnLastShowOnLastKeyword_3_0()); 
             }
@@ -125796,17 +127598,17 @@
 
 
     // $ANTLR start "rule__PageFooter__HeightValueAssignment_5"
-    // InternalReportDSL.g:38538:1: rule__PageFooter__HeightValueAssignment_5 : ( ruleUnsignedNumber ) ;
+    // InternalReportDSL.g:39048:1: rule__PageFooter__HeightValueAssignment_5 : ( ruleUnsignedNumber ) ;
     public final void rule__PageFooter__HeightValueAssignment_5() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:38542:1: ( ( ruleUnsignedNumber ) )
-            // InternalReportDSL.g:38543:2: ( ruleUnsignedNumber )
+            // InternalReportDSL.g:39052:1: ( ( ruleUnsignedNumber ) )
+            // InternalReportDSL.g:39053:2: ( ruleUnsignedNumber )
             {
-            // InternalReportDSL.g:38543:2: ( ruleUnsignedNumber )
-            // InternalReportDSL.g:38544:3: ruleUnsignedNumber
+            // InternalReportDSL.g:39053:2: ( ruleUnsignedNumber )
+            // InternalReportDSL.g:39054:3: ruleUnsignedNumber
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getPageFooterAccess().getHeightValueUnsignedNumberParserRuleCall_5_0()); 
@@ -125841,17 +127643,17 @@
 
 
     // $ANTLR start "rule__PageFooter__ElementsAssignment_6"
-    // InternalReportDSL.g:38553:1: rule__PageFooter__ElementsAssignment_6 : ( ruleElement ) ;
+    // InternalReportDSL.g:39063:1: rule__PageFooter__ElementsAssignment_6 : ( ruleElement ) ;
     public final void rule__PageFooter__ElementsAssignment_6() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:38557:1: ( ( ruleElement ) )
-            // InternalReportDSL.g:38558:2: ( ruleElement )
+            // InternalReportDSL.g:39067:1: ( ( ruleElement ) )
+            // InternalReportDSL.g:39068:2: ( ruleElement )
             {
-            // InternalReportDSL.g:38558:2: ( ruleElement )
-            // InternalReportDSL.g:38559:3: ruleElement
+            // InternalReportDSL.g:39068:2: ( ruleElement )
+            // InternalReportDSL.g:39069:3: ruleElement
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getPageFooterAccess().getElementsElementParserRuleCall_6_0()); 
@@ -125886,17 +127688,17 @@
 
 
     // $ANTLR start "rule__Grid__NameAssignment_2_1"
-    // InternalReportDSL.g:38568:1: rule__Grid__NameAssignment_2_1 : ( RULE_ID ) ;
+    // InternalReportDSL.g:39078:1: rule__Grid__NameAssignment_2_1 : ( RULE_ID ) ;
     public final void rule__Grid__NameAssignment_2_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:38572:1: ( ( RULE_ID ) )
-            // InternalReportDSL.g:38573:2: ( RULE_ID )
+            // InternalReportDSL.g:39082:1: ( ( RULE_ID ) )
+            // InternalReportDSL.g:39083:2: ( RULE_ID )
             {
-            // InternalReportDSL.g:38573:2: ( RULE_ID )
-            // InternalReportDSL.g:38574:3: RULE_ID
+            // InternalReportDSL.g:39083:2: ( RULE_ID )
+            // InternalReportDSL.g:39084:3: RULE_ID
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getGridAccess().getNameIDTerminalRuleCall_2_1_0()); 
@@ -125926,21 +127728,74 @@
     // $ANTLR end "rule__Grid__NameAssignment_2_1"
 
 
-    // $ANTLR start "rule__Grid__WidthValueAssignment_3_1"
-    // InternalReportDSL.g:38583:1: rule__Grid__WidthValueAssignment_3_1 : ( ruleUnsignedNumber ) ;
-    public final void rule__Grid__WidthValueAssignment_3_1() throws RecognitionException {
+    // $ANTLR start "rule__Grid__StyleAssignment_3_0_1"
+    // InternalReportDSL.g:39093:1: rule__Grid__StyleAssignment_3_0_1 : ( ( RULE_ID ) ) ;
+    public final void rule__Grid__StyleAssignment_3_0_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:38587:1: ( ( ruleUnsignedNumber ) )
-            // InternalReportDSL.g:38588:2: ( ruleUnsignedNumber )
+            // InternalReportDSL.g:39097:1: ( ( ( RULE_ID ) ) )
+            // InternalReportDSL.g:39098:2: ( ( RULE_ID ) )
             {
-            // InternalReportDSL.g:38588:2: ( ruleUnsignedNumber )
-            // InternalReportDSL.g:38589:3: ruleUnsignedNumber
+            // InternalReportDSL.g:39098:2: ( ( RULE_ID ) )
+            // InternalReportDSL.g:39099:3: ( RULE_ID )
             {
             if ( state.backtracking==0 ) {
-               before(grammarAccess.getGridAccess().getWidthValueUnsignedNumberParserRuleCall_3_1_0()); 
+               before(grammarAccess.getGridAccess().getStyleStyleCrossReference_3_0_1_0()); 
+            }
+            // InternalReportDSL.g:39100:3: ( RULE_ID )
+            // InternalReportDSL.g:39101:4: RULE_ID
+            {
+            if ( state.backtracking==0 ) {
+               before(grammarAccess.getGridAccess().getStyleStyleIDTerminalRuleCall_3_0_1_0_1()); 
+            }
+            match(input,RULE_ID,FOLLOW_2); if (state.failed) return ;
+            if ( state.backtracking==0 ) {
+               after(grammarAccess.getGridAccess().getStyleStyleIDTerminalRuleCall_3_0_1_0_1()); 
+            }
+
+            }
+
+            if ( state.backtracking==0 ) {
+               after(grammarAccess.getGridAccess().getStyleStyleCrossReference_3_0_1_0()); 
+            }
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__Grid__StyleAssignment_3_0_1"
+
+
+    // $ANTLR start "rule__Grid__WidthValueAssignment_3_1_1"
+    // InternalReportDSL.g:39112:1: rule__Grid__WidthValueAssignment_3_1_1 : ( ruleUnsignedNumber ) ;
+    public final void rule__Grid__WidthValueAssignment_3_1_1() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+        	
+        try {
+            // InternalReportDSL.g:39116:1: ( ( ruleUnsignedNumber ) )
+            // InternalReportDSL.g:39117:2: ( ruleUnsignedNumber )
+            {
+            // InternalReportDSL.g:39117:2: ( ruleUnsignedNumber )
+            // InternalReportDSL.g:39118:3: ruleUnsignedNumber
+            {
+            if ( state.backtracking==0 ) {
+               before(grammarAccess.getGridAccess().getWidthValueUnsignedNumberParserRuleCall_3_1_1_0()); 
             }
             pushFollow(FOLLOW_2);
             ruleUnsignedNumber();
@@ -125948,7 +127803,7 @@
             state._fsp--;
             if (state.failed) return ;
             if ( state.backtracking==0 ) {
-               after(grammarAccess.getGridAccess().getWidthValueUnsignedNumberParserRuleCall_3_1_0()); 
+               after(grammarAccess.getGridAccess().getWidthValueUnsignedNumberParserRuleCall_3_1_1_0()); 
             }
 
             }
@@ -125968,24 +127823,24 @@
         }
         return ;
     }
-    // $ANTLR end "rule__Grid__WidthValueAssignment_3_1"
+    // $ANTLR end "rule__Grid__WidthValueAssignment_3_1_1"
 
 
-    // $ANTLR start "rule__Grid__VisibilityItemAssignment_4"
-    // InternalReportDSL.g:38598:1: rule__Grid__VisibilityItemAssignment_4 : ( ruleVisibility ) ;
-    public final void rule__Grid__VisibilityItemAssignment_4() throws RecognitionException {
+    // $ANTLR start "rule__Grid__VisibilityItemAssignment_3_2"
+    // InternalReportDSL.g:39127:1: rule__Grid__VisibilityItemAssignment_3_2 : ( ruleVisibility ) ;
+    public final void rule__Grid__VisibilityItemAssignment_3_2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:38602:1: ( ( ruleVisibility ) )
-            // InternalReportDSL.g:38603:2: ( ruleVisibility )
+            // InternalReportDSL.g:39131:1: ( ( ruleVisibility ) )
+            // InternalReportDSL.g:39132:2: ( ruleVisibility )
             {
-            // InternalReportDSL.g:38603:2: ( ruleVisibility )
-            // InternalReportDSL.g:38604:3: ruleVisibility
+            // InternalReportDSL.g:39132:2: ( ruleVisibility )
+            // InternalReportDSL.g:39133:3: ruleVisibility
             {
             if ( state.backtracking==0 ) {
-               before(grammarAccess.getGridAccess().getVisibilityItemVisibilityParserRuleCall_4_0()); 
+               before(grammarAccess.getGridAccess().getVisibilityItemVisibilityParserRuleCall_3_2_0()); 
             }
             pushFollow(FOLLOW_2);
             ruleVisibility();
@@ -125993,7 +127848,7 @@
             state._fsp--;
             if (state.failed) return ;
             if ( state.backtracking==0 ) {
-               after(grammarAccess.getGridAccess().getVisibilityItemVisibilityParserRuleCall_4_0()); 
+               after(grammarAccess.getGridAccess().getVisibilityItemVisibilityParserRuleCall_3_2_0()); 
             }
 
             }
@@ -126013,24 +127868,24 @@
         }
         return ;
     }
-    // $ANTLR end "rule__Grid__VisibilityItemAssignment_4"
+    // $ANTLR end "rule__Grid__VisibilityItemAssignment_3_2"
 
 
-    // $ANTLR start "rule__Grid__RowsAssignment_6"
-    // InternalReportDSL.g:38613:1: rule__Grid__RowsAssignment_6 : ( ruleGridRow ) ;
-    public final void rule__Grid__RowsAssignment_6() throws RecognitionException {
+    // $ANTLR start "rule__Grid__RowsAssignment_5"
+    // InternalReportDSL.g:39142:1: rule__Grid__RowsAssignment_5 : ( ruleGridRow ) ;
+    public final void rule__Grid__RowsAssignment_5() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:38617:1: ( ( ruleGridRow ) )
-            // InternalReportDSL.g:38618:2: ( ruleGridRow )
+            // InternalReportDSL.g:39146:1: ( ( ruleGridRow ) )
+            // InternalReportDSL.g:39147:2: ( ruleGridRow )
             {
-            // InternalReportDSL.g:38618:2: ( ruleGridRow )
-            // InternalReportDSL.g:38619:3: ruleGridRow
+            // InternalReportDSL.g:39147:2: ( ruleGridRow )
+            // InternalReportDSL.g:39148:3: ruleGridRow
             {
             if ( state.backtracking==0 ) {
-               before(grammarAccess.getGridAccess().getRowsGridRowParserRuleCall_6_0()); 
+               before(grammarAccess.getGridAccess().getRowsGridRowParserRuleCall_5_0()); 
             }
             pushFollow(FOLLOW_2);
             ruleGridRow();
@@ -126038,7 +127893,7 @@
             state._fsp--;
             if (state.failed) return ;
             if ( state.backtracking==0 ) {
-               after(grammarAccess.getGridAccess().getRowsGridRowParserRuleCall_6_0()); 
+               after(grammarAccess.getGridAccess().getRowsGridRowParserRuleCall_5_0()); 
             }
 
             }
@@ -126058,21 +127913,21 @@
         }
         return ;
     }
-    // $ANTLR end "rule__Grid__RowsAssignment_6"
+    // $ANTLR end "rule__Grid__RowsAssignment_5"
 
 
     // $ANTLR start "rule__GridRow__NameAssignment_2_1"
-    // InternalReportDSL.g:38628:1: rule__GridRow__NameAssignment_2_1 : ( RULE_ID ) ;
+    // InternalReportDSL.g:39157:1: rule__GridRow__NameAssignment_2_1 : ( RULE_ID ) ;
     public final void rule__GridRow__NameAssignment_2_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:38632:1: ( ( RULE_ID ) )
-            // InternalReportDSL.g:38633:2: ( RULE_ID )
+            // InternalReportDSL.g:39161:1: ( ( RULE_ID ) )
+            // InternalReportDSL.g:39162:2: ( RULE_ID )
             {
-            // InternalReportDSL.g:38633:2: ( RULE_ID )
-            // InternalReportDSL.g:38634:3: RULE_ID
+            // InternalReportDSL.g:39162:2: ( RULE_ID )
+            // InternalReportDSL.g:39163:3: RULE_ID
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getGridRowAccess().getNameIDTerminalRuleCall_2_1_0()); 
@@ -126102,37 +127957,37 @@
     // $ANTLR end "rule__GridRow__NameAssignment_2_1"
 
 
-    // $ANTLR start "rule__GridRow__StyleAssignment_3_1"
-    // InternalReportDSL.g:38643:1: rule__GridRow__StyleAssignment_3_1 : ( ( RULE_ID ) ) ;
-    public final void rule__GridRow__StyleAssignment_3_1() throws RecognitionException {
+    // $ANTLR start "rule__GridRow__StyleAssignment_3_0_1"
+    // InternalReportDSL.g:39172:1: rule__GridRow__StyleAssignment_3_0_1 : ( ( RULE_ID ) ) ;
+    public final void rule__GridRow__StyleAssignment_3_0_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:38647:1: ( ( ( RULE_ID ) ) )
-            // InternalReportDSL.g:38648:2: ( ( RULE_ID ) )
+            // InternalReportDSL.g:39176:1: ( ( ( RULE_ID ) ) )
+            // InternalReportDSL.g:39177:2: ( ( RULE_ID ) )
             {
-            // InternalReportDSL.g:38648:2: ( ( RULE_ID ) )
-            // InternalReportDSL.g:38649:3: ( RULE_ID )
+            // InternalReportDSL.g:39177:2: ( ( RULE_ID ) )
+            // InternalReportDSL.g:39178:3: ( RULE_ID )
             {
             if ( state.backtracking==0 ) {
-               before(grammarAccess.getGridRowAccess().getStyleStyleCrossReference_3_1_0()); 
+               before(grammarAccess.getGridRowAccess().getStyleStyleCrossReference_3_0_1_0()); 
             }
-            // InternalReportDSL.g:38650:3: ( RULE_ID )
-            // InternalReportDSL.g:38651:4: RULE_ID
+            // InternalReportDSL.g:39179:3: ( RULE_ID )
+            // InternalReportDSL.g:39180:4: RULE_ID
             {
             if ( state.backtracking==0 ) {
-               before(grammarAccess.getGridRowAccess().getStyleStyleIDTerminalRuleCall_3_1_0_1()); 
+               before(grammarAccess.getGridRowAccess().getStyleStyleIDTerminalRuleCall_3_0_1_0_1()); 
             }
             match(input,RULE_ID,FOLLOW_2); if (state.failed) return ;
             if ( state.backtracking==0 ) {
-               after(grammarAccess.getGridRowAccess().getStyleStyleIDTerminalRuleCall_3_1_0_1()); 
+               after(grammarAccess.getGridRowAccess().getStyleStyleIDTerminalRuleCall_3_0_1_0_1()); 
             }
 
             }
 
             if ( state.backtracking==0 ) {
-               after(grammarAccess.getGridRowAccess().getStyleStyleCrossReference_3_1_0()); 
+               after(grammarAccess.getGridRowAccess().getStyleStyleCrossReference_3_0_1_0()); 
             }
 
             }
@@ -126152,24 +128007,24 @@
         }
         return ;
     }
-    // $ANTLR end "rule__GridRow__StyleAssignment_3_1"
+    // $ANTLR end "rule__GridRow__StyleAssignment_3_0_1"
 
 
-    // $ANTLR start "rule__GridRow__HeightValueAssignment_4_1"
-    // InternalReportDSL.g:38662:1: rule__GridRow__HeightValueAssignment_4_1 : ( ruleUnsignedNumber ) ;
-    public final void rule__GridRow__HeightValueAssignment_4_1() throws RecognitionException {
+    // $ANTLR start "rule__GridRow__HeightValueAssignment_3_1_1"
+    // InternalReportDSL.g:39191:1: rule__GridRow__HeightValueAssignment_3_1_1 : ( ruleUnsignedNumber ) ;
+    public final void rule__GridRow__HeightValueAssignment_3_1_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:38666:1: ( ( ruleUnsignedNumber ) )
-            // InternalReportDSL.g:38667:2: ( ruleUnsignedNumber )
+            // InternalReportDSL.g:39195:1: ( ( ruleUnsignedNumber ) )
+            // InternalReportDSL.g:39196:2: ( ruleUnsignedNumber )
             {
-            // InternalReportDSL.g:38667:2: ( ruleUnsignedNumber )
-            // InternalReportDSL.g:38668:3: ruleUnsignedNumber
+            // InternalReportDSL.g:39196:2: ( ruleUnsignedNumber )
+            // InternalReportDSL.g:39197:3: ruleUnsignedNumber
             {
             if ( state.backtracking==0 ) {
-               before(grammarAccess.getGridRowAccess().getHeightValueUnsignedNumberParserRuleCall_4_1_0()); 
+               before(grammarAccess.getGridRowAccess().getHeightValueUnsignedNumberParserRuleCall_3_1_1_0()); 
             }
             pushFollow(FOLLOW_2);
             ruleUnsignedNumber();
@@ -126177,7 +128032,7 @@
             state._fsp--;
             if (state.failed) return ;
             if ( state.backtracking==0 ) {
-               after(grammarAccess.getGridRowAccess().getHeightValueUnsignedNumberParserRuleCall_4_1_0()); 
+               after(grammarAccess.getGridRowAccess().getHeightValueUnsignedNumberParserRuleCall_3_1_1_0()); 
             }
 
             }
@@ -126197,24 +128052,24 @@
         }
         return ;
     }
-    // $ANTLR end "rule__GridRow__HeightValueAssignment_4_1"
+    // $ANTLR end "rule__GridRow__HeightValueAssignment_3_1_1"
 
 
-    // $ANTLR start "rule__GridRow__VisibilityItemAssignment_5"
-    // InternalReportDSL.g:38677:1: rule__GridRow__VisibilityItemAssignment_5 : ( ruleVisibility ) ;
-    public final void rule__GridRow__VisibilityItemAssignment_5() throws RecognitionException {
+    // $ANTLR start "rule__GridRow__VisibilityItemAssignment_3_2"
+    // InternalReportDSL.g:39206:1: rule__GridRow__VisibilityItemAssignment_3_2 : ( ruleVisibility ) ;
+    public final void rule__GridRow__VisibilityItemAssignment_3_2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:38681:1: ( ( ruleVisibility ) )
-            // InternalReportDSL.g:38682:2: ( ruleVisibility )
+            // InternalReportDSL.g:39210:1: ( ( ruleVisibility ) )
+            // InternalReportDSL.g:39211:2: ( ruleVisibility )
             {
-            // InternalReportDSL.g:38682:2: ( ruleVisibility )
-            // InternalReportDSL.g:38683:3: ruleVisibility
+            // InternalReportDSL.g:39211:2: ( ruleVisibility )
+            // InternalReportDSL.g:39212:3: ruleVisibility
             {
             if ( state.backtracking==0 ) {
-               before(grammarAccess.getGridRowAccess().getVisibilityItemVisibilityParserRuleCall_5_0()); 
+               before(grammarAccess.getGridRowAccess().getVisibilityItemVisibilityParserRuleCall_3_2_0()); 
             }
             pushFollow(FOLLOW_2);
             ruleVisibility();
@@ -126222,7 +128077,7 @@
             state._fsp--;
             if (state.failed) return ;
             if ( state.backtracking==0 ) {
-               after(grammarAccess.getGridRowAccess().getVisibilityItemVisibilityParserRuleCall_5_0()); 
+               after(grammarAccess.getGridRowAccess().getVisibilityItemVisibilityParserRuleCall_3_2_0()); 
             }
 
             }
@@ -126242,24 +128097,24 @@
         }
         return ;
     }
-    // $ANTLR end "rule__GridRow__VisibilityItemAssignment_5"
+    // $ANTLR end "rule__GridRow__VisibilityItemAssignment_3_2"
 
 
-    // $ANTLR start "rule__GridRow__CellsAssignment_7"
-    // InternalReportDSL.g:38692:1: rule__GridRow__CellsAssignment_7 : ( ruleGridCell ) ;
-    public final void rule__GridRow__CellsAssignment_7() throws RecognitionException {
+    // $ANTLR start "rule__GridRow__CellsAssignment_5"
+    // InternalReportDSL.g:39221:1: rule__GridRow__CellsAssignment_5 : ( ruleGridCell ) ;
+    public final void rule__GridRow__CellsAssignment_5() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:38696:1: ( ( ruleGridCell ) )
-            // InternalReportDSL.g:38697:2: ( ruleGridCell )
+            // InternalReportDSL.g:39225:1: ( ( ruleGridCell ) )
+            // InternalReportDSL.g:39226:2: ( ruleGridCell )
             {
-            // InternalReportDSL.g:38697:2: ( ruleGridCell )
-            // InternalReportDSL.g:38698:3: ruleGridCell
+            // InternalReportDSL.g:39226:2: ( ruleGridCell )
+            // InternalReportDSL.g:39227:3: ruleGridCell
             {
             if ( state.backtracking==0 ) {
-               before(grammarAccess.getGridRowAccess().getCellsGridCellParserRuleCall_7_0()); 
+               before(grammarAccess.getGridRowAccess().getCellsGridCellParserRuleCall_5_0()); 
             }
             pushFollow(FOLLOW_2);
             ruleGridCell();
@@ -126267,7 +128122,7 @@
             state._fsp--;
             if (state.failed) return ;
             if ( state.backtracking==0 ) {
-               after(grammarAccess.getGridRowAccess().getCellsGridCellParserRuleCall_7_0()); 
+               after(grammarAccess.getGridRowAccess().getCellsGridCellParserRuleCall_5_0()); 
             }
 
             }
@@ -126287,21 +128142,21 @@
         }
         return ;
     }
-    // $ANTLR end "rule__GridRow__CellsAssignment_7"
+    // $ANTLR end "rule__GridRow__CellsAssignment_5"
 
 
     // $ANTLR start "rule__GridCell__NameAssignment_2_1"
-    // InternalReportDSL.g:38707:1: rule__GridCell__NameAssignment_2_1 : ( RULE_ID ) ;
+    // InternalReportDSL.g:39236:1: rule__GridCell__NameAssignment_2_1 : ( RULE_ID ) ;
     public final void rule__GridCell__NameAssignment_2_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:38711:1: ( ( RULE_ID ) )
-            // InternalReportDSL.g:38712:2: ( RULE_ID )
+            // InternalReportDSL.g:39240:1: ( ( RULE_ID ) )
+            // InternalReportDSL.g:39241:2: ( RULE_ID )
             {
-            // InternalReportDSL.g:38712:2: ( RULE_ID )
-            // InternalReportDSL.g:38713:3: RULE_ID
+            // InternalReportDSL.g:39241:2: ( RULE_ID )
+            // InternalReportDSL.g:39242:3: RULE_ID
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getGridCellAccess().getNameIDTerminalRuleCall_2_1_0()); 
@@ -126331,37 +128186,37 @@
     // $ANTLR end "rule__GridCell__NameAssignment_2_1"
 
 
-    // $ANTLR start "rule__GridCell__StyleAssignment_3_1"
-    // InternalReportDSL.g:38722:1: rule__GridCell__StyleAssignment_3_1 : ( ( RULE_ID ) ) ;
-    public final void rule__GridCell__StyleAssignment_3_1() throws RecognitionException {
+    // $ANTLR start "rule__GridCell__StyleAssignment_3_0_1"
+    // InternalReportDSL.g:39251:1: rule__GridCell__StyleAssignment_3_0_1 : ( ( RULE_ID ) ) ;
+    public final void rule__GridCell__StyleAssignment_3_0_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:38726:1: ( ( ( RULE_ID ) ) )
-            // InternalReportDSL.g:38727:2: ( ( RULE_ID ) )
+            // InternalReportDSL.g:39255:1: ( ( ( RULE_ID ) ) )
+            // InternalReportDSL.g:39256:2: ( ( RULE_ID ) )
             {
-            // InternalReportDSL.g:38727:2: ( ( RULE_ID ) )
-            // InternalReportDSL.g:38728:3: ( RULE_ID )
+            // InternalReportDSL.g:39256:2: ( ( RULE_ID ) )
+            // InternalReportDSL.g:39257:3: ( RULE_ID )
             {
             if ( state.backtracking==0 ) {
-               before(grammarAccess.getGridCellAccess().getStyleStyleCrossReference_3_1_0()); 
+               before(grammarAccess.getGridCellAccess().getStyleStyleCrossReference_3_0_1_0()); 
             }
-            // InternalReportDSL.g:38729:3: ( RULE_ID )
-            // InternalReportDSL.g:38730:4: RULE_ID
+            // InternalReportDSL.g:39258:3: ( RULE_ID )
+            // InternalReportDSL.g:39259:4: RULE_ID
             {
             if ( state.backtracking==0 ) {
-               before(grammarAccess.getGridCellAccess().getStyleStyleIDTerminalRuleCall_3_1_0_1()); 
+               before(grammarAccess.getGridCellAccess().getStyleStyleIDTerminalRuleCall_3_0_1_0_1()); 
             }
             match(input,RULE_ID,FOLLOW_2); if (state.failed) return ;
             if ( state.backtracking==0 ) {
-               after(grammarAccess.getGridCellAccess().getStyleStyleIDTerminalRuleCall_3_1_0_1()); 
+               after(grammarAccess.getGridCellAccess().getStyleStyleIDTerminalRuleCall_3_0_1_0_1()); 
             }
 
             }
 
             if ( state.backtracking==0 ) {
-               after(grammarAccess.getGridCellAccess().getStyleStyleCrossReference_3_1_0()); 
+               after(grammarAccess.getGridCellAccess().getStyleStyleCrossReference_3_0_1_0()); 
             }
 
             }
@@ -126381,24 +128236,24 @@
         }
         return ;
     }
-    // $ANTLR end "rule__GridCell__StyleAssignment_3_1"
+    // $ANTLR end "rule__GridCell__StyleAssignment_3_0_1"
 
 
-    // $ANTLR start "rule__GridCell__WidthValueAssignment_4_1"
-    // InternalReportDSL.g:38741:1: rule__GridCell__WidthValueAssignment_4_1 : ( ruleUnsignedNumber ) ;
-    public final void rule__GridCell__WidthValueAssignment_4_1() throws RecognitionException {
+    // $ANTLR start "rule__GridCell__WidthValueAssignment_3_1_1"
+    // InternalReportDSL.g:39270:1: rule__GridCell__WidthValueAssignment_3_1_1 : ( ruleUnsignedNumber ) ;
+    public final void rule__GridCell__WidthValueAssignment_3_1_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:38745:1: ( ( ruleUnsignedNumber ) )
-            // InternalReportDSL.g:38746:2: ( ruleUnsignedNumber )
+            // InternalReportDSL.g:39274:1: ( ( ruleUnsignedNumber ) )
+            // InternalReportDSL.g:39275:2: ( ruleUnsignedNumber )
             {
-            // InternalReportDSL.g:38746:2: ( ruleUnsignedNumber )
-            // InternalReportDSL.g:38747:3: ruleUnsignedNumber
+            // InternalReportDSL.g:39275:2: ( ruleUnsignedNumber )
+            // InternalReportDSL.g:39276:3: ruleUnsignedNumber
             {
             if ( state.backtracking==0 ) {
-               before(grammarAccess.getGridCellAccess().getWidthValueUnsignedNumberParserRuleCall_4_1_0()); 
+               before(grammarAccess.getGridCellAccess().getWidthValueUnsignedNumberParserRuleCall_3_1_1_0()); 
             }
             pushFollow(FOLLOW_2);
             ruleUnsignedNumber();
@@ -126406,7 +128261,7 @@
             state._fsp--;
             if (state.failed) return ;
             if ( state.backtracking==0 ) {
-               after(grammarAccess.getGridCellAccess().getWidthValueUnsignedNumberParserRuleCall_4_1_0()); 
+               after(grammarAccess.getGridCellAccess().getWidthValueUnsignedNumberParserRuleCall_3_1_1_0()); 
             }
 
             }
@@ -126426,28 +128281,28 @@
         }
         return ;
     }
-    // $ANTLR end "rule__GridCell__WidthValueAssignment_4_1"
+    // $ANTLR end "rule__GridCell__WidthValueAssignment_3_1_1"
 
 
-    // $ANTLR start "rule__GridCell__ColumnspanAssignment_5_1"
-    // InternalReportDSL.g:38756:1: rule__GridCell__ColumnspanAssignment_5_1 : ( RULE_INT ) ;
-    public final void rule__GridCell__ColumnspanAssignment_5_1() throws RecognitionException {
+    // $ANTLR start "rule__GridCell__ColumnspanAssignment_3_2_1"
+    // InternalReportDSL.g:39285:1: rule__GridCell__ColumnspanAssignment_3_2_1 : ( RULE_INT ) ;
+    public final void rule__GridCell__ColumnspanAssignment_3_2_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:38760:1: ( ( RULE_INT ) )
-            // InternalReportDSL.g:38761:2: ( RULE_INT )
+            // InternalReportDSL.g:39289:1: ( ( RULE_INT ) )
+            // InternalReportDSL.g:39290:2: ( RULE_INT )
             {
-            // InternalReportDSL.g:38761:2: ( RULE_INT )
-            // InternalReportDSL.g:38762:3: RULE_INT
+            // InternalReportDSL.g:39290:2: ( RULE_INT )
+            // InternalReportDSL.g:39291:3: RULE_INT
             {
             if ( state.backtracking==0 ) {
-               before(grammarAccess.getGridCellAccess().getColumnspanINTTerminalRuleCall_5_1_0()); 
+               before(grammarAccess.getGridCellAccess().getColumnspanINTTerminalRuleCall_3_2_1_0()); 
             }
             match(input,RULE_INT,FOLLOW_2); if (state.failed) return ;
             if ( state.backtracking==0 ) {
-               after(grammarAccess.getGridCellAccess().getColumnspanINTTerminalRuleCall_5_1_0()); 
+               after(grammarAccess.getGridCellAccess().getColumnspanINTTerminalRuleCall_3_2_1_0()); 
             }
 
             }
@@ -126467,24 +128322,24 @@
         }
         return ;
     }
-    // $ANTLR end "rule__GridCell__ColumnspanAssignment_5_1"
+    // $ANTLR end "rule__GridCell__ColumnspanAssignment_3_2_1"
 
 
-    // $ANTLR start "rule__GridCell__VisibilityItemAssignment_6"
-    // InternalReportDSL.g:38771:1: rule__GridCell__VisibilityItemAssignment_6 : ( ruleVisibility ) ;
-    public final void rule__GridCell__VisibilityItemAssignment_6() throws RecognitionException {
+    // $ANTLR start "rule__GridCell__VisibilityItemAssignment_3_3"
+    // InternalReportDSL.g:39300:1: rule__GridCell__VisibilityItemAssignment_3_3 : ( ruleVisibility ) ;
+    public final void rule__GridCell__VisibilityItemAssignment_3_3() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:38775:1: ( ( ruleVisibility ) )
-            // InternalReportDSL.g:38776:2: ( ruleVisibility )
+            // InternalReportDSL.g:39304:1: ( ( ruleVisibility ) )
+            // InternalReportDSL.g:39305:2: ( ruleVisibility )
             {
-            // InternalReportDSL.g:38776:2: ( ruleVisibility )
-            // InternalReportDSL.g:38777:3: ruleVisibility
+            // InternalReportDSL.g:39305:2: ( ruleVisibility )
+            // InternalReportDSL.g:39306:3: ruleVisibility
             {
             if ( state.backtracking==0 ) {
-               before(grammarAccess.getGridCellAccess().getVisibilityItemVisibilityParserRuleCall_6_0()); 
+               before(grammarAccess.getGridCellAccess().getVisibilityItemVisibilityParserRuleCall_3_3_0()); 
             }
             pushFollow(FOLLOW_2);
             ruleVisibility();
@@ -126492,7 +128347,7 @@
             state._fsp--;
             if (state.failed) return ;
             if ( state.backtracking==0 ) {
-               after(grammarAccess.getGridCellAccess().getVisibilityItemVisibilityParserRuleCall_6_0()); 
+               after(grammarAccess.getGridCellAccess().getVisibilityItemVisibilityParserRuleCall_3_3_0()); 
             }
 
             }
@@ -126512,24 +128367,24 @@
         }
         return ;
     }
-    // $ANTLR end "rule__GridCell__VisibilityItemAssignment_6"
+    // $ANTLR end "rule__GridCell__VisibilityItemAssignment_3_3"
 
 
-    // $ANTLR start "rule__GridCell__ElementsAssignment_8"
-    // InternalReportDSL.g:38786:1: rule__GridCell__ElementsAssignment_8 : ( ruleElement ) ;
-    public final void rule__GridCell__ElementsAssignment_8() throws RecognitionException {
+    // $ANTLR start "rule__GridCell__ElementsAssignment_5"
+    // InternalReportDSL.g:39315:1: rule__GridCell__ElementsAssignment_5 : ( ruleElement ) ;
+    public final void rule__GridCell__ElementsAssignment_5() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:38790:1: ( ( ruleElement ) )
-            // InternalReportDSL.g:38791:2: ( ruleElement )
+            // InternalReportDSL.g:39319:1: ( ( ruleElement ) )
+            // InternalReportDSL.g:39320:2: ( ruleElement )
             {
-            // InternalReportDSL.g:38791:2: ( ruleElement )
-            // InternalReportDSL.g:38792:3: ruleElement
+            // InternalReportDSL.g:39320:2: ( ruleElement )
+            // InternalReportDSL.g:39321:3: ruleElement
             {
             if ( state.backtracking==0 ) {
-               before(grammarAccess.getGridCellAccess().getElementsElementParserRuleCall_8_0()); 
+               before(grammarAccess.getGridCellAccess().getElementsElementParserRuleCall_5_0()); 
             }
             pushFollow(FOLLOW_2);
             ruleElement();
@@ -126537,7 +128392,7 @@
             state._fsp--;
             if (state.failed) return ;
             if ( state.backtracking==0 ) {
-               after(grammarAccess.getGridCellAccess().getElementsElementParserRuleCall_8_0()); 
+               after(grammarAccess.getGridCellAccess().getElementsElementParserRuleCall_5_0()); 
             }
 
             }
@@ -126557,40 +128412,40 @@
         }
         return ;
     }
-    // $ANTLR end "rule__GridCell__ElementsAssignment_8"
+    // $ANTLR end "rule__GridCell__ElementsAssignment_5"
 
 
-    // $ANTLR start "rule__DatamartTable__StyleAssignment_1_1"
-    // InternalReportDSL.g:38801:1: rule__DatamartTable__StyleAssignment_1_1 : ( ( RULE_ID ) ) ;
-    public final void rule__DatamartTable__StyleAssignment_1_1() throws RecognitionException {
+    // $ANTLR start "rule__DatamartTable__DatamartRefAssignment_1_1"
+    // InternalReportDSL.g:39330:1: rule__DatamartTable__DatamartRefAssignment_1_1 : ( ( RULE_ID ) ) ;
+    public final void rule__DatamartTable__DatamartRefAssignment_1_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:38805:1: ( ( ( RULE_ID ) ) )
-            // InternalReportDSL.g:38806:2: ( ( RULE_ID ) )
+            // InternalReportDSL.g:39334:1: ( ( ( RULE_ID ) ) )
+            // InternalReportDSL.g:39335:2: ( ( RULE_ID ) )
             {
-            // InternalReportDSL.g:38806:2: ( ( RULE_ID ) )
-            // InternalReportDSL.g:38807:3: ( RULE_ID )
+            // InternalReportDSL.g:39335:2: ( ( RULE_ID ) )
+            // InternalReportDSL.g:39336:3: ( RULE_ID )
             {
             if ( state.backtracking==0 ) {
-               before(grammarAccess.getDatamartTableAccess().getStyleStyleCrossReference_1_1_0()); 
+               before(grammarAccess.getDatamartTableAccess().getDatamartRefDatamartDefinitionCrossReference_1_1_0()); 
             }
-            // InternalReportDSL.g:38808:3: ( RULE_ID )
-            // InternalReportDSL.g:38809:4: RULE_ID
+            // InternalReportDSL.g:39337:3: ( RULE_ID )
+            // InternalReportDSL.g:39338:4: RULE_ID
             {
             if ( state.backtracking==0 ) {
-               before(grammarAccess.getDatamartTableAccess().getStyleStyleIDTerminalRuleCall_1_1_0_1()); 
+               before(grammarAccess.getDatamartTableAccess().getDatamartRefDatamartDefinitionIDTerminalRuleCall_1_1_0_1()); 
             }
             match(input,RULE_ID,FOLLOW_2); if (state.failed) return ;
             if ( state.backtracking==0 ) {
-               after(grammarAccess.getDatamartTableAccess().getStyleStyleIDTerminalRuleCall_1_1_0_1()); 
+               after(grammarAccess.getDatamartTableAccess().getDatamartRefDatamartDefinitionIDTerminalRuleCall_1_1_0_1()); 
             }
 
             }
 
             if ( state.backtracking==0 ) {
-               after(grammarAccess.getDatamartTableAccess().getStyleStyleCrossReference_1_1_0()); 
+               after(grammarAccess.getDatamartTableAccess().getDatamartRefDatamartDefinitionCrossReference_1_1_0()); 
             }
 
             }
@@ -126610,24 +128465,118 @@
         }
         return ;
     }
-    // $ANTLR end "rule__DatamartTable__StyleAssignment_1_1"
+    // $ANTLR end "rule__DatamartTable__DatamartRefAssignment_1_1"
 
 
-    // $ANTLR start "rule__DatamartTable__VisibilityItemAssignment_2"
-    // InternalReportDSL.g:38820:1: rule__DatamartTable__VisibilityItemAssignment_2 : ( ruleVisibility ) ;
-    public final void rule__DatamartTable__VisibilityItemAssignment_2() throws RecognitionException {
+    // $ANTLR start "rule__DatamartTable__NameAssignment_1_2_1"
+    // InternalReportDSL.g:39349:1: rule__DatamartTable__NameAssignment_1_2_1 : ( RULE_ID ) ;
+    public final void rule__DatamartTable__NameAssignment_1_2_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:38824:1: ( ( ruleVisibility ) )
-            // InternalReportDSL.g:38825:2: ( ruleVisibility )
+            // InternalReportDSL.g:39353:1: ( ( RULE_ID ) )
+            // InternalReportDSL.g:39354:2: ( RULE_ID )
             {
-            // InternalReportDSL.g:38825:2: ( ruleVisibility )
-            // InternalReportDSL.g:38826:3: ruleVisibility
+            // InternalReportDSL.g:39354:2: ( RULE_ID )
+            // InternalReportDSL.g:39355:3: RULE_ID
             {
             if ( state.backtracking==0 ) {
-               before(grammarAccess.getDatamartTableAccess().getVisibilityItemVisibilityParserRuleCall_2_0()); 
+               before(grammarAccess.getDatamartTableAccess().getNameIDTerminalRuleCall_1_2_1_0()); 
+            }
+            match(input,RULE_ID,FOLLOW_2); if (state.failed) return ;
+            if ( state.backtracking==0 ) {
+               after(grammarAccess.getDatamartTableAccess().getNameIDTerminalRuleCall_1_2_1_0()); 
+            }
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__DatamartTable__NameAssignment_1_2_1"
+
+
+    // $ANTLR start "rule__DatamartTable__StyleAssignment_2_0_1"
+    // InternalReportDSL.g:39364:1: rule__DatamartTable__StyleAssignment_2_0_1 : ( ( RULE_ID ) ) ;
+    public final void rule__DatamartTable__StyleAssignment_2_0_1() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+        	
+        try {
+            // InternalReportDSL.g:39368:1: ( ( ( RULE_ID ) ) )
+            // InternalReportDSL.g:39369:2: ( ( RULE_ID ) )
+            {
+            // InternalReportDSL.g:39369:2: ( ( RULE_ID ) )
+            // InternalReportDSL.g:39370:3: ( RULE_ID )
+            {
+            if ( state.backtracking==0 ) {
+               before(grammarAccess.getDatamartTableAccess().getStyleStyleCrossReference_2_0_1_0()); 
+            }
+            // InternalReportDSL.g:39371:3: ( RULE_ID )
+            // InternalReportDSL.g:39372:4: RULE_ID
+            {
+            if ( state.backtracking==0 ) {
+               before(grammarAccess.getDatamartTableAccess().getStyleStyleIDTerminalRuleCall_2_0_1_0_1()); 
+            }
+            match(input,RULE_ID,FOLLOW_2); if (state.failed) return ;
+            if ( state.backtracking==0 ) {
+               after(grammarAccess.getDatamartTableAccess().getStyleStyleIDTerminalRuleCall_2_0_1_0_1()); 
+            }
+
+            }
+
+            if ( state.backtracking==0 ) {
+               after(grammarAccess.getDatamartTableAccess().getStyleStyleCrossReference_2_0_1_0()); 
+            }
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__DatamartTable__StyleAssignment_2_0_1"
+
+
+    // $ANTLR start "rule__DatamartTable__VisibilityItemAssignment_2_1"
+    // InternalReportDSL.g:39383:1: rule__DatamartTable__VisibilityItemAssignment_2_1 : ( ruleVisibility ) ;
+    public final void rule__DatamartTable__VisibilityItemAssignment_2_1() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+        	
+        try {
+            // InternalReportDSL.g:39387:1: ( ( ruleVisibility ) )
+            // InternalReportDSL.g:39388:2: ( ruleVisibility )
+            {
+            // InternalReportDSL.g:39388:2: ( ruleVisibility )
+            // InternalReportDSL.g:39389:3: ruleVisibility
+            {
+            if ( state.backtracking==0 ) {
+               before(grammarAccess.getDatamartTableAccess().getVisibilityItemVisibilityParserRuleCall_2_1_0()); 
             }
             pushFollow(FOLLOW_2);
             ruleVisibility();
@@ -126635,7 +128584,7 @@
             state._fsp--;
             if (state.failed) return ;
             if ( state.backtracking==0 ) {
-               after(grammarAccess.getDatamartTableAccess().getVisibilityItemVisibilityParserRuleCall_2_0()); 
+               after(grammarAccess.getDatamartTableAccess().getVisibilityItemVisibilityParserRuleCall_2_1_0()); 
             }
 
             }
@@ -126655,24 +128604,24 @@
         }
         return ;
     }
-    // $ANTLR end "rule__DatamartTable__VisibilityItemAssignment_2"
+    // $ANTLR end "rule__DatamartTable__VisibilityItemAssignment_2_1"
 
 
-    // $ANTLR start "rule__DatamartTable__PageBreakAssignment_3"
-    // InternalReportDSL.g:38835:1: rule__DatamartTable__PageBreakAssignment_3 : ( rulePageBreak ) ;
-    public final void rule__DatamartTable__PageBreakAssignment_3() throws RecognitionException {
+    // $ANTLR start "rule__DatamartTable__PageBreakAssignment_2_2"
+    // InternalReportDSL.g:39398:1: rule__DatamartTable__PageBreakAssignment_2_2 : ( rulePageBreak ) ;
+    public final void rule__DatamartTable__PageBreakAssignment_2_2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:38839:1: ( ( rulePageBreak ) )
-            // InternalReportDSL.g:38840:2: ( rulePageBreak )
+            // InternalReportDSL.g:39402:1: ( ( rulePageBreak ) )
+            // InternalReportDSL.g:39403:2: ( rulePageBreak )
             {
-            // InternalReportDSL.g:38840:2: ( rulePageBreak )
-            // InternalReportDSL.g:38841:3: rulePageBreak
+            // InternalReportDSL.g:39403:2: ( rulePageBreak )
+            // InternalReportDSL.g:39404:3: rulePageBreak
             {
             if ( state.backtracking==0 ) {
-               before(grammarAccess.getDatamartTableAccess().getPageBreakPageBreakParserRuleCall_3_0()); 
+               before(grammarAccess.getDatamartTableAccess().getPageBreakPageBreakParserRuleCall_2_2_0()); 
             }
             pushFollow(FOLLOW_2);
             rulePageBreak();
@@ -126680,7 +128629,7 @@
             state._fsp--;
             if (state.failed) return ;
             if ( state.backtracking==0 ) {
-               after(grammarAccess.getDatamartTableAccess().getPageBreakPageBreakParserRuleCall_3_0()); 
+               after(grammarAccess.getDatamartTableAccess().getPageBreakPageBreakParserRuleCall_2_2_0()); 
             }
 
             }
@@ -126700,40 +128649,32 @@
         }
         return ;
     }
-    // $ANTLR end "rule__DatamartTable__PageBreakAssignment_3"
+    // $ANTLR end "rule__DatamartTable__PageBreakAssignment_2_2"
 
 
-    // $ANTLR start "rule__DatamartTable__DetailheaderAssignment_5_0"
-    // InternalReportDSL.g:38850:1: rule__DatamartTable__DetailheaderAssignment_5_0 : ( ( 'detailheader' ) ) ;
-    public final void rule__DatamartTable__DetailheaderAssignment_5_0() throws RecognitionException {
+    // $ANTLR start "rule__DatamartTable__HeaderAssignment_4"
+    // InternalReportDSL.g:39413:1: rule__DatamartTable__HeaderAssignment_4 : ( ruleDatamartTableHeader ) ;
+    public final void rule__DatamartTable__HeaderAssignment_4() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:38854:1: ( ( ( 'detailheader' ) ) )
-            // InternalReportDSL.g:38855:2: ( ( 'detailheader' ) )
+            // InternalReportDSL.g:39417:1: ( ( ruleDatamartTableHeader ) )
+            // InternalReportDSL.g:39418:2: ( ruleDatamartTableHeader )
             {
-            // InternalReportDSL.g:38855:2: ( ( 'detailheader' ) )
-            // InternalReportDSL.g:38856:3: ( 'detailheader' )
+            // InternalReportDSL.g:39418:2: ( ruleDatamartTableHeader )
+            // InternalReportDSL.g:39419:3: ruleDatamartTableHeader
             {
             if ( state.backtracking==0 ) {
-               before(grammarAccess.getDatamartTableAccess().getDetailheaderDetailheaderKeyword_5_0_0()); 
+               before(grammarAccess.getDatamartTableAccess().getHeaderDatamartTableHeaderParserRuleCall_4_0()); 
             }
-            // InternalReportDSL.g:38857:3: ( 'detailheader' )
-            // InternalReportDSL.g:38858:4: 'detailheader'
-            {
-            if ( state.backtracking==0 ) {
-               before(grammarAccess.getDatamartTableAccess().getDetailheaderDetailheaderKeyword_5_0_0()); 
-            }
-            match(input,257,FOLLOW_2); if (state.failed) return ;
-            if ( state.backtracking==0 ) {
-               after(grammarAccess.getDatamartTableAccess().getDetailheaderDetailheaderKeyword_5_0_0()); 
-            }
+            pushFollow(FOLLOW_2);
+            ruleDatamartTableHeader();
 
-            }
-
+            state._fsp--;
+            if (state.failed) return ;
             if ( state.backtracking==0 ) {
-               after(grammarAccess.getDatamartTableAccess().getDetailheaderDetailheaderKeyword_5_0_0()); 
+               after(grammarAccess.getDatamartTableAccess().getHeaderDatamartTableHeaderParserRuleCall_4_0()); 
             }
 
             }
@@ -126753,183 +128694,24 @@
         }
         return ;
     }
-    // $ANTLR end "rule__DatamartTable__DetailheaderAssignment_5_0"
+    // $ANTLR end "rule__DatamartTable__HeaderAssignment_4"
 
 
-    // $ANTLR start "rule__DatamartTable__HeaderstyleAssignment_5_1_1"
-    // InternalReportDSL.g:38869:1: rule__DatamartTable__HeaderstyleAssignment_5_1_1 : ( ( RULE_ID ) ) ;
-    public final void rule__DatamartTable__HeaderstyleAssignment_5_1_1() throws RecognitionException {
+    // $ANTLR start "rule__DatamartTable__GroupsAssignment_5"
+    // InternalReportDSL.g:39428:1: rule__DatamartTable__GroupsAssignment_5 : ( ruleDatamartTableGroup ) ;
+    public final void rule__DatamartTable__GroupsAssignment_5() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:38873:1: ( ( ( RULE_ID ) ) )
-            // InternalReportDSL.g:38874:2: ( ( RULE_ID ) )
+            // InternalReportDSL.g:39432:1: ( ( ruleDatamartTableGroup ) )
+            // InternalReportDSL.g:39433:2: ( ruleDatamartTableGroup )
             {
-            // InternalReportDSL.g:38874:2: ( ( RULE_ID ) )
-            // InternalReportDSL.g:38875:3: ( RULE_ID )
+            // InternalReportDSL.g:39433:2: ( ruleDatamartTableGroup )
+            // InternalReportDSL.g:39434:3: ruleDatamartTableGroup
             {
             if ( state.backtracking==0 ) {
-               before(grammarAccess.getDatamartTableAccess().getHeaderstyleStyleCrossReference_5_1_1_0()); 
-            }
-            // InternalReportDSL.g:38876:3: ( RULE_ID )
-            // InternalReportDSL.g:38877:4: RULE_ID
-            {
-            if ( state.backtracking==0 ) {
-               before(grammarAccess.getDatamartTableAccess().getHeaderstyleStyleIDTerminalRuleCall_5_1_1_0_1()); 
-            }
-            match(input,RULE_ID,FOLLOW_2); if (state.failed) return ;
-            if ( state.backtracking==0 ) {
-               after(grammarAccess.getDatamartTableAccess().getHeaderstyleStyleIDTerminalRuleCall_5_1_1_0_1()); 
-            }
-
-            }
-
-            if ( state.backtracking==0 ) {
-               after(grammarAccess.getDatamartTableAccess().getHeaderstyleStyleCrossReference_5_1_1_0()); 
-            }
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__DatamartTable__HeaderstyleAssignment_5_1_1"
-
-
-    // $ANTLR start "rule__DatamartTable__DetailfooterAssignment_6_0"
-    // InternalReportDSL.g:38888:1: rule__DatamartTable__DetailfooterAssignment_6_0 : ( ( 'detailfooter' ) ) ;
-    public final void rule__DatamartTable__DetailfooterAssignment_6_0() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-        	
-        try {
-            // InternalReportDSL.g:38892:1: ( ( ( 'detailfooter' ) ) )
-            // InternalReportDSL.g:38893:2: ( ( 'detailfooter' ) )
-            {
-            // InternalReportDSL.g:38893:2: ( ( 'detailfooter' ) )
-            // InternalReportDSL.g:38894:3: ( 'detailfooter' )
-            {
-            if ( state.backtracking==0 ) {
-               before(grammarAccess.getDatamartTableAccess().getDetailfooterDetailfooterKeyword_6_0_0()); 
-            }
-            // InternalReportDSL.g:38895:3: ( 'detailfooter' )
-            // InternalReportDSL.g:38896:4: 'detailfooter'
-            {
-            if ( state.backtracking==0 ) {
-               before(grammarAccess.getDatamartTableAccess().getDetailfooterDetailfooterKeyword_6_0_0()); 
-            }
-            match(input,258,FOLLOW_2); if (state.failed) return ;
-            if ( state.backtracking==0 ) {
-               after(grammarAccess.getDatamartTableAccess().getDetailfooterDetailfooterKeyword_6_0_0()); 
-            }
-
-            }
-
-            if ( state.backtracking==0 ) {
-               after(grammarAccess.getDatamartTableAccess().getDetailfooterDetailfooterKeyword_6_0_0()); 
-            }
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__DatamartTable__DetailfooterAssignment_6_0"
-
-
-    // $ANTLR start "rule__DatamartTable__FooterstyleAssignment_6_1_1"
-    // InternalReportDSL.g:38907:1: rule__DatamartTable__FooterstyleAssignment_6_1_1 : ( ( RULE_ID ) ) ;
-    public final void rule__DatamartTable__FooterstyleAssignment_6_1_1() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-        	
-        try {
-            // InternalReportDSL.g:38911:1: ( ( ( RULE_ID ) ) )
-            // InternalReportDSL.g:38912:2: ( ( RULE_ID ) )
-            {
-            // InternalReportDSL.g:38912:2: ( ( RULE_ID ) )
-            // InternalReportDSL.g:38913:3: ( RULE_ID )
-            {
-            if ( state.backtracking==0 ) {
-               before(grammarAccess.getDatamartTableAccess().getFooterstyleStyleCrossReference_6_1_1_0()); 
-            }
-            // InternalReportDSL.g:38914:3: ( RULE_ID )
-            // InternalReportDSL.g:38915:4: RULE_ID
-            {
-            if ( state.backtracking==0 ) {
-               before(grammarAccess.getDatamartTableAccess().getFooterstyleStyleIDTerminalRuleCall_6_1_1_0_1()); 
-            }
-            match(input,RULE_ID,FOLLOW_2); if (state.failed) return ;
-            if ( state.backtracking==0 ) {
-               after(grammarAccess.getDatamartTableAccess().getFooterstyleStyleIDTerminalRuleCall_6_1_1_0_1()); 
-            }
-
-            }
-
-            if ( state.backtracking==0 ) {
-               after(grammarAccess.getDatamartTableAccess().getFooterstyleStyleCrossReference_6_1_1_0()); 
-            }
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__DatamartTable__FooterstyleAssignment_6_1_1"
-
-
-    // $ANTLR start "rule__DatamartTable__GroupsAssignment_7"
-    // InternalReportDSL.g:38926:1: rule__DatamartTable__GroupsAssignment_7 : ( ruleDatamartTableGroup ) ;
-    public final void rule__DatamartTable__GroupsAssignment_7() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-        	
-        try {
-            // InternalReportDSL.g:38930:1: ( ( ruleDatamartTableGroup ) )
-            // InternalReportDSL.g:38931:2: ( ruleDatamartTableGroup )
-            {
-            // InternalReportDSL.g:38931:2: ( ruleDatamartTableGroup )
-            // InternalReportDSL.g:38932:3: ruleDatamartTableGroup
-            {
-            if ( state.backtracking==0 ) {
-               before(grammarAccess.getDatamartTableAccess().getGroupsDatamartTableGroupParserRuleCall_7_0()); 
+               before(grammarAccess.getDatamartTableAccess().getGroupsDatamartTableGroupParserRuleCall_5_0()); 
             }
             pushFollow(FOLLOW_2);
             ruleDatamartTableGroup();
@@ -126937,7 +128719,7 @@
             state._fsp--;
             if (state.failed) return ;
             if ( state.backtracking==0 ) {
-               after(grammarAccess.getDatamartTableAccess().getGroupsDatamartTableGroupParserRuleCall_7_0()); 
+               after(grammarAccess.getDatamartTableAccess().getGroupsDatamartTableGroupParserRuleCall_5_0()); 
             }
 
             }
@@ -126957,24 +128739,24 @@
         }
         return ;
     }
-    // $ANTLR end "rule__DatamartTable__GroupsAssignment_7"
+    // $ANTLR end "rule__DatamartTable__GroupsAssignment_5"
 
 
-    // $ANTLR start "rule__DatamartTable__DetailAssignment_8"
-    // InternalReportDSL.g:38941:1: rule__DatamartTable__DetailAssignment_8 : ( ruleDatamartTableDetail ) ;
-    public final void rule__DatamartTable__DetailAssignment_8() throws RecognitionException {
+    // $ANTLR start "rule__DatamartTable__DetailAssignment_6"
+    // InternalReportDSL.g:39443:1: rule__DatamartTable__DetailAssignment_6 : ( ruleDatamartTableDetail ) ;
+    public final void rule__DatamartTable__DetailAssignment_6() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:38945:1: ( ( ruleDatamartTableDetail ) )
-            // InternalReportDSL.g:38946:2: ( ruleDatamartTableDetail )
+            // InternalReportDSL.g:39447:1: ( ( ruleDatamartTableDetail ) )
+            // InternalReportDSL.g:39448:2: ( ruleDatamartTableDetail )
             {
-            // InternalReportDSL.g:38946:2: ( ruleDatamartTableDetail )
-            // InternalReportDSL.g:38947:3: ruleDatamartTableDetail
+            // InternalReportDSL.g:39448:2: ( ruleDatamartTableDetail )
+            // InternalReportDSL.g:39449:3: ruleDatamartTableDetail
             {
             if ( state.backtracking==0 ) {
-               before(grammarAccess.getDatamartTableAccess().getDetailDatamartTableDetailParserRuleCall_8_0()); 
+               before(grammarAccess.getDatamartTableAccess().getDetailDatamartTableDetailParserRuleCall_6_0()); 
             }
             pushFollow(FOLLOW_2);
             ruleDatamartTableDetail();
@@ -126982,7 +128764,7 @@
             state._fsp--;
             if (state.failed) return ;
             if ( state.backtracking==0 ) {
-               after(grammarAccess.getDatamartTableAccess().getDetailDatamartTableDetailParserRuleCall_8_0()); 
+               after(grammarAccess.getDatamartTableAccess().getDetailDatamartTableDetailParserRuleCall_6_0()); 
             }
 
             }
@@ -127002,21 +128784,66 @@
         }
         return ;
     }
-    // $ANTLR end "rule__DatamartTable__DetailAssignment_8"
+    // $ANTLR end "rule__DatamartTable__DetailAssignment_6"
+
+
+    // $ANTLR start "rule__DatamartTable__FooterAssignment_7"
+    // InternalReportDSL.g:39458:1: rule__DatamartTable__FooterAssignment_7 : ( ruleDatamartTableFooter ) ;
+    public final void rule__DatamartTable__FooterAssignment_7() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+        	
+        try {
+            // InternalReportDSL.g:39462:1: ( ( ruleDatamartTableFooter ) )
+            // InternalReportDSL.g:39463:2: ( ruleDatamartTableFooter )
+            {
+            // InternalReportDSL.g:39463:2: ( ruleDatamartTableFooter )
+            // InternalReportDSL.g:39464:3: ruleDatamartTableFooter
+            {
+            if ( state.backtracking==0 ) {
+               before(grammarAccess.getDatamartTableAccess().getFooterDatamartTableFooterParserRuleCall_7_0()); 
+            }
+            pushFollow(FOLLOW_2);
+            ruleDatamartTableFooter();
+
+            state._fsp--;
+            if (state.failed) return ;
+            if ( state.backtracking==0 ) {
+               after(grammarAccess.getDatamartTableAccess().getFooterDatamartTableFooterParserRuleCall_7_0()); 
+            }
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__DatamartTable__FooterAssignment_7"
 
 
     // $ANTLR start "rule__DatamartTableGroup__NameAssignment_1"
-    // InternalReportDSL.g:38956:1: rule__DatamartTableGroup__NameAssignment_1 : ( RULE_ID ) ;
+    // InternalReportDSL.g:39473:1: rule__DatamartTableGroup__NameAssignment_1 : ( RULE_ID ) ;
     public final void rule__DatamartTableGroup__NameAssignment_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:38960:1: ( ( RULE_ID ) )
-            // InternalReportDSL.g:38961:2: ( RULE_ID )
+            // InternalReportDSL.g:39477:1: ( ( RULE_ID ) )
+            // InternalReportDSL.g:39478:2: ( RULE_ID )
             {
-            // InternalReportDSL.g:38961:2: ( RULE_ID )
-            // InternalReportDSL.g:38962:3: RULE_ID
+            // InternalReportDSL.g:39478:2: ( RULE_ID )
+            // InternalReportDSL.g:39479:3: RULE_ID
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getDatamartTableGroupAccess().getNameIDTerminalRuleCall_1_0()); 
@@ -127047,23 +128874,23 @@
 
 
     // $ANTLR start "rule__DatamartTableGroup__GroupingRefAssignment_3"
-    // InternalReportDSL.g:38971:1: rule__DatamartTableGroup__GroupingRefAssignment_3 : ( ( RULE_ID ) ) ;
+    // InternalReportDSL.g:39488:1: rule__DatamartTableGroup__GroupingRefAssignment_3 : ( ( RULE_ID ) ) ;
     public final void rule__DatamartTableGroup__GroupingRefAssignment_3() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:38975:1: ( ( ( RULE_ID ) ) )
-            // InternalReportDSL.g:38976:2: ( ( RULE_ID ) )
+            // InternalReportDSL.g:39492:1: ( ( ( RULE_ID ) ) )
+            // InternalReportDSL.g:39493:2: ( ( RULE_ID ) )
             {
-            // InternalReportDSL.g:38976:2: ( ( RULE_ID ) )
-            // InternalReportDSL.g:38977:3: ( RULE_ID )
+            // InternalReportDSL.g:39493:2: ( ( RULE_ID ) )
+            // InternalReportDSL.g:39494:3: ( RULE_ID )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getDatamartTableGroupAccess().getGroupingRefDatamartAttributeCrossReference_3_0()); 
             }
-            // InternalReportDSL.g:38978:3: ( RULE_ID )
-            // InternalReportDSL.g:38979:4: RULE_ID
+            // InternalReportDSL.g:39495:3: ( RULE_ID )
+            // InternalReportDSL.g:39496:4: RULE_ID
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getDatamartTableGroupAccess().getGroupingRefDatamartAttributeIDTerminalRuleCall_3_0_1()); 
@@ -127099,21 +128926,21 @@
     // $ANTLR end "rule__DatamartTableGroup__GroupingRefAssignment_3"
 
 
-    // $ANTLR start "rule__DatamartTableGroup__VisibilityItemAssignment_4"
-    // InternalReportDSL.g:38990:1: rule__DatamartTableGroup__VisibilityItemAssignment_4 : ( ruleVisibility ) ;
-    public final void rule__DatamartTableGroup__VisibilityItemAssignment_4() throws RecognitionException {
+    // $ANTLR start "rule__DatamartTableGroup__VisibilityItemAssignment_4_0"
+    // InternalReportDSL.g:39507:1: rule__DatamartTableGroup__VisibilityItemAssignment_4_0 : ( ruleVisibility ) ;
+    public final void rule__DatamartTableGroup__VisibilityItemAssignment_4_0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:38994:1: ( ( ruleVisibility ) )
-            // InternalReportDSL.g:38995:2: ( ruleVisibility )
+            // InternalReportDSL.g:39511:1: ( ( ruleVisibility ) )
+            // InternalReportDSL.g:39512:2: ( ruleVisibility )
             {
-            // InternalReportDSL.g:38995:2: ( ruleVisibility )
-            // InternalReportDSL.g:38996:3: ruleVisibility
+            // InternalReportDSL.g:39512:2: ( ruleVisibility )
+            // InternalReportDSL.g:39513:3: ruleVisibility
             {
             if ( state.backtracking==0 ) {
-               before(grammarAccess.getDatamartTableGroupAccess().getVisibilityItemVisibilityParserRuleCall_4_0()); 
+               before(grammarAccess.getDatamartTableGroupAccess().getVisibilityItemVisibilityParserRuleCall_4_0_0()); 
             }
             pushFollow(FOLLOW_2);
             ruleVisibility();
@@ -127121,7 +128948,7 @@
             state._fsp--;
             if (state.failed) return ;
             if ( state.backtracking==0 ) {
-               after(grammarAccess.getDatamartTableGroupAccess().getVisibilityItemVisibilityParserRuleCall_4_0()); 
+               after(grammarAccess.getDatamartTableGroupAccess().getVisibilityItemVisibilityParserRuleCall_4_0_0()); 
             }
 
             }
@@ -127141,24 +128968,24 @@
         }
         return ;
     }
-    // $ANTLR end "rule__DatamartTableGroup__VisibilityItemAssignment_4"
+    // $ANTLR end "rule__DatamartTableGroup__VisibilityItemAssignment_4_0"
 
 
-    // $ANTLR start "rule__DatamartTableGroup__PageBreakAssignment_5"
-    // InternalReportDSL.g:39005:1: rule__DatamartTableGroup__PageBreakAssignment_5 : ( rulePageBreak ) ;
-    public final void rule__DatamartTableGroup__PageBreakAssignment_5() throws RecognitionException {
+    // $ANTLR start "rule__DatamartTableGroup__PageBreakAssignment_4_1"
+    // InternalReportDSL.g:39522:1: rule__DatamartTableGroup__PageBreakAssignment_4_1 : ( rulePageBreak ) ;
+    public final void rule__DatamartTableGroup__PageBreakAssignment_4_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:39009:1: ( ( rulePageBreak ) )
-            // InternalReportDSL.g:39010:2: ( rulePageBreak )
+            // InternalReportDSL.g:39526:1: ( ( rulePageBreak ) )
+            // InternalReportDSL.g:39527:2: ( rulePageBreak )
             {
-            // InternalReportDSL.g:39010:2: ( rulePageBreak )
-            // InternalReportDSL.g:39011:3: rulePageBreak
+            // InternalReportDSL.g:39527:2: ( rulePageBreak )
+            // InternalReportDSL.g:39528:3: rulePageBreak
             {
             if ( state.backtracking==0 ) {
-               before(grammarAccess.getDatamartTableGroupAccess().getPageBreakPageBreakParserRuleCall_5_0()); 
+               before(grammarAccess.getDatamartTableGroupAccess().getPageBreakPageBreakParserRuleCall_4_1_0()); 
             }
             pushFollow(FOLLOW_2);
             rulePageBreak();
@@ -127166,7 +128993,7 @@
             state._fsp--;
             if (state.failed) return ;
             if ( state.backtracking==0 ) {
-               after(grammarAccess.getDatamartTableGroupAccess().getPageBreakPageBreakParserRuleCall_5_0()); 
+               after(grammarAccess.getDatamartTableGroupAccess().getPageBreakPageBreakParserRuleCall_4_1_0()); 
             }
 
             }
@@ -127186,32 +129013,32 @@
         }
         return ;
     }
-    // $ANTLR end "rule__DatamartTableGroup__PageBreakAssignment_5"
+    // $ANTLR end "rule__DatamartTableGroup__PageBreakAssignment_4_1"
 
 
-    // $ANTLR start "rule__DatamartTableGroup__HeaderAssignment_7"
-    // InternalReportDSL.g:39020:1: rule__DatamartTableGroup__HeaderAssignment_7 : ( ruleDatamartTableGroupHeader ) ;
-    public final void rule__DatamartTableGroup__HeaderAssignment_7() throws RecognitionException {
+    // $ANTLR start "rule__DatamartTableGroup__HeaderAssignment_6"
+    // InternalReportDSL.g:39537:1: rule__DatamartTableGroup__HeaderAssignment_6 : ( ruleDatamartTableHeader ) ;
+    public final void rule__DatamartTableGroup__HeaderAssignment_6() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:39024:1: ( ( ruleDatamartTableGroupHeader ) )
-            // InternalReportDSL.g:39025:2: ( ruleDatamartTableGroupHeader )
+            // InternalReportDSL.g:39541:1: ( ( ruleDatamartTableHeader ) )
+            // InternalReportDSL.g:39542:2: ( ruleDatamartTableHeader )
             {
-            // InternalReportDSL.g:39025:2: ( ruleDatamartTableGroupHeader )
-            // InternalReportDSL.g:39026:3: ruleDatamartTableGroupHeader
+            // InternalReportDSL.g:39542:2: ( ruleDatamartTableHeader )
+            // InternalReportDSL.g:39543:3: ruleDatamartTableHeader
             {
             if ( state.backtracking==0 ) {
-               before(grammarAccess.getDatamartTableGroupAccess().getHeaderDatamartTableGroupHeaderParserRuleCall_7_0()); 
+               before(grammarAccess.getDatamartTableGroupAccess().getHeaderDatamartTableHeaderParserRuleCall_6_0()); 
             }
             pushFollow(FOLLOW_2);
-            ruleDatamartTableGroupHeader();
+            ruleDatamartTableHeader();
 
             state._fsp--;
             if (state.failed) return ;
             if ( state.backtracking==0 ) {
-               after(grammarAccess.getDatamartTableGroupAccess().getHeaderDatamartTableGroupHeaderParserRuleCall_7_0()); 
+               after(grammarAccess.getDatamartTableGroupAccess().getHeaderDatamartTableHeaderParserRuleCall_6_0()); 
             }
 
             }
@@ -127231,244 +129058,32 @@
         }
         return ;
     }
-    // $ANTLR end "rule__DatamartTableGroup__HeaderAssignment_7"
+    // $ANTLR end "rule__DatamartTableGroup__HeaderAssignment_6"
 
 
-    // $ANTLR start "rule__DatamartTableGroup__DetailheaderAssignment_8_0"
-    // InternalReportDSL.g:39035:1: rule__DatamartTableGroup__DetailheaderAssignment_8_0 : ( ( 'detailheader' ) ) ;
-    public final void rule__DatamartTableGroup__DetailheaderAssignment_8_0() throws RecognitionException {
+    // $ANTLR start "rule__DatamartTableGroup__FooterAssignment_7"
+    // InternalReportDSL.g:39552:1: rule__DatamartTableGroup__FooterAssignment_7 : ( ruleDatamartTableFooter ) ;
+    public final void rule__DatamartTableGroup__FooterAssignment_7() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:39039:1: ( ( ( 'detailheader' ) ) )
-            // InternalReportDSL.g:39040:2: ( ( 'detailheader' ) )
+            // InternalReportDSL.g:39556:1: ( ( ruleDatamartTableFooter ) )
+            // InternalReportDSL.g:39557:2: ( ruleDatamartTableFooter )
             {
-            // InternalReportDSL.g:39040:2: ( ( 'detailheader' ) )
-            // InternalReportDSL.g:39041:3: ( 'detailheader' )
+            // InternalReportDSL.g:39557:2: ( ruleDatamartTableFooter )
+            // InternalReportDSL.g:39558:3: ruleDatamartTableFooter
             {
             if ( state.backtracking==0 ) {
-               before(grammarAccess.getDatamartTableGroupAccess().getDetailheaderDetailheaderKeyword_8_0_0()); 
-            }
-            // InternalReportDSL.g:39042:3: ( 'detailheader' )
-            // InternalReportDSL.g:39043:4: 'detailheader'
-            {
-            if ( state.backtracking==0 ) {
-               before(grammarAccess.getDatamartTableGroupAccess().getDetailheaderDetailheaderKeyword_8_0_0()); 
-            }
-            match(input,257,FOLLOW_2); if (state.failed) return ;
-            if ( state.backtracking==0 ) {
-               after(grammarAccess.getDatamartTableGroupAccess().getDetailheaderDetailheaderKeyword_8_0_0()); 
-            }
-
-            }
-
-            if ( state.backtracking==0 ) {
-               after(grammarAccess.getDatamartTableGroupAccess().getDetailheaderDetailheaderKeyword_8_0_0()); 
-            }
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__DatamartTableGroup__DetailheaderAssignment_8_0"
-
-
-    // $ANTLR start "rule__DatamartTableGroup__HeaderstyleAssignment_8_1_1"
-    // InternalReportDSL.g:39054:1: rule__DatamartTableGroup__HeaderstyleAssignment_8_1_1 : ( ( RULE_ID ) ) ;
-    public final void rule__DatamartTableGroup__HeaderstyleAssignment_8_1_1() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-        	
-        try {
-            // InternalReportDSL.g:39058:1: ( ( ( RULE_ID ) ) )
-            // InternalReportDSL.g:39059:2: ( ( RULE_ID ) )
-            {
-            // InternalReportDSL.g:39059:2: ( ( RULE_ID ) )
-            // InternalReportDSL.g:39060:3: ( RULE_ID )
-            {
-            if ( state.backtracking==0 ) {
-               before(grammarAccess.getDatamartTableGroupAccess().getHeaderstyleStyleCrossReference_8_1_1_0()); 
-            }
-            // InternalReportDSL.g:39061:3: ( RULE_ID )
-            // InternalReportDSL.g:39062:4: RULE_ID
-            {
-            if ( state.backtracking==0 ) {
-               before(grammarAccess.getDatamartTableGroupAccess().getHeaderstyleStyleIDTerminalRuleCall_8_1_1_0_1()); 
-            }
-            match(input,RULE_ID,FOLLOW_2); if (state.failed) return ;
-            if ( state.backtracking==0 ) {
-               after(grammarAccess.getDatamartTableGroupAccess().getHeaderstyleStyleIDTerminalRuleCall_8_1_1_0_1()); 
-            }
-
-            }
-
-            if ( state.backtracking==0 ) {
-               after(grammarAccess.getDatamartTableGroupAccess().getHeaderstyleStyleCrossReference_8_1_1_0()); 
-            }
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__DatamartTableGroup__HeaderstyleAssignment_8_1_1"
-
-
-    // $ANTLR start "rule__DatamartTableGroup__DetailfooterAssignment_9_0"
-    // InternalReportDSL.g:39073:1: rule__DatamartTableGroup__DetailfooterAssignment_9_0 : ( ( 'detailfooter' ) ) ;
-    public final void rule__DatamartTableGroup__DetailfooterAssignment_9_0() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-        	
-        try {
-            // InternalReportDSL.g:39077:1: ( ( ( 'detailfooter' ) ) )
-            // InternalReportDSL.g:39078:2: ( ( 'detailfooter' ) )
-            {
-            // InternalReportDSL.g:39078:2: ( ( 'detailfooter' ) )
-            // InternalReportDSL.g:39079:3: ( 'detailfooter' )
-            {
-            if ( state.backtracking==0 ) {
-               before(grammarAccess.getDatamartTableGroupAccess().getDetailfooterDetailfooterKeyword_9_0_0()); 
-            }
-            // InternalReportDSL.g:39080:3: ( 'detailfooter' )
-            // InternalReportDSL.g:39081:4: 'detailfooter'
-            {
-            if ( state.backtracking==0 ) {
-               before(grammarAccess.getDatamartTableGroupAccess().getDetailfooterDetailfooterKeyword_9_0_0()); 
-            }
-            match(input,258,FOLLOW_2); if (state.failed) return ;
-            if ( state.backtracking==0 ) {
-               after(grammarAccess.getDatamartTableGroupAccess().getDetailfooterDetailfooterKeyword_9_0_0()); 
-            }
-
-            }
-
-            if ( state.backtracking==0 ) {
-               after(grammarAccess.getDatamartTableGroupAccess().getDetailfooterDetailfooterKeyword_9_0_0()); 
-            }
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__DatamartTableGroup__DetailfooterAssignment_9_0"
-
-
-    // $ANTLR start "rule__DatamartTableGroup__FooterstyleAssignment_9_1_1"
-    // InternalReportDSL.g:39092:1: rule__DatamartTableGroup__FooterstyleAssignment_9_1_1 : ( ( RULE_ID ) ) ;
-    public final void rule__DatamartTableGroup__FooterstyleAssignment_9_1_1() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-        	
-        try {
-            // InternalReportDSL.g:39096:1: ( ( ( RULE_ID ) ) )
-            // InternalReportDSL.g:39097:2: ( ( RULE_ID ) )
-            {
-            // InternalReportDSL.g:39097:2: ( ( RULE_ID ) )
-            // InternalReportDSL.g:39098:3: ( RULE_ID )
-            {
-            if ( state.backtracking==0 ) {
-               before(grammarAccess.getDatamartTableGroupAccess().getFooterstyleStyleCrossReference_9_1_1_0()); 
-            }
-            // InternalReportDSL.g:39099:3: ( RULE_ID )
-            // InternalReportDSL.g:39100:4: RULE_ID
-            {
-            if ( state.backtracking==0 ) {
-               before(grammarAccess.getDatamartTableGroupAccess().getFooterstyleStyleIDTerminalRuleCall_9_1_1_0_1()); 
-            }
-            match(input,RULE_ID,FOLLOW_2); if (state.failed) return ;
-            if ( state.backtracking==0 ) {
-               after(grammarAccess.getDatamartTableGroupAccess().getFooterstyleStyleIDTerminalRuleCall_9_1_1_0_1()); 
-            }
-
-            }
-
-            if ( state.backtracking==0 ) {
-               after(grammarAccess.getDatamartTableGroupAccess().getFooterstyleStyleCrossReference_9_1_1_0()); 
-            }
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__DatamartTableGroup__FooterstyleAssignment_9_1_1"
-
-
-    // $ANTLR start "rule__DatamartTableGroup__FooterAssignment_10"
-    // InternalReportDSL.g:39111:1: rule__DatamartTableGroup__FooterAssignment_10 : ( ruleDatamartTableGroupFooter ) ;
-    public final void rule__DatamartTableGroup__FooterAssignment_10() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-        	
-        try {
-            // InternalReportDSL.g:39115:1: ( ( ruleDatamartTableGroupFooter ) )
-            // InternalReportDSL.g:39116:2: ( ruleDatamartTableGroupFooter )
-            {
-            // InternalReportDSL.g:39116:2: ( ruleDatamartTableGroupFooter )
-            // InternalReportDSL.g:39117:3: ruleDatamartTableGroupFooter
-            {
-            if ( state.backtracking==0 ) {
-               before(grammarAccess.getDatamartTableGroupAccess().getFooterDatamartTableGroupFooterParserRuleCall_10_0()); 
+               before(grammarAccess.getDatamartTableGroupAccess().getFooterDatamartTableFooterParserRuleCall_7_0()); 
             }
             pushFollow(FOLLOW_2);
-            ruleDatamartTableGroupFooter();
+            ruleDatamartTableFooter();
 
             state._fsp--;
             if (state.failed) return ;
             if ( state.backtracking==0 ) {
-               after(grammarAccess.getDatamartTableGroupAccess().getFooterDatamartTableGroupFooterParserRuleCall_10_0()); 
+               after(grammarAccess.getDatamartTableGroupAccess().getFooterDatamartTableFooterParserRuleCall_7_0()); 
             }
 
             }
@@ -127488,40 +129103,40 @@
         }
         return ;
     }
-    // $ANTLR end "rule__DatamartTableGroup__FooterAssignment_10"
+    // $ANTLR end "rule__DatamartTableGroup__FooterAssignment_7"
 
 
-    // $ANTLR start "rule__DatamartTableGroupHeader__StyleAssignment_2_1"
-    // InternalReportDSL.g:39126:1: rule__DatamartTableGroupHeader__StyleAssignment_2_1 : ( ( RULE_ID ) ) ;
-    public final void rule__DatamartTableGroupHeader__StyleAssignment_2_1() throws RecognitionException {
+    // $ANTLR start "rule__DatamartTableHeader__StyleAssignment_2_0_1"
+    // InternalReportDSL.g:39567:1: rule__DatamartTableHeader__StyleAssignment_2_0_1 : ( ( RULE_ID ) ) ;
+    public final void rule__DatamartTableHeader__StyleAssignment_2_0_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:39130:1: ( ( ( RULE_ID ) ) )
-            // InternalReportDSL.g:39131:2: ( ( RULE_ID ) )
+            // InternalReportDSL.g:39571:1: ( ( ( RULE_ID ) ) )
+            // InternalReportDSL.g:39572:2: ( ( RULE_ID ) )
             {
-            // InternalReportDSL.g:39131:2: ( ( RULE_ID ) )
-            // InternalReportDSL.g:39132:3: ( RULE_ID )
+            // InternalReportDSL.g:39572:2: ( ( RULE_ID ) )
+            // InternalReportDSL.g:39573:3: ( RULE_ID )
             {
             if ( state.backtracking==0 ) {
-               before(grammarAccess.getDatamartTableGroupHeaderAccess().getStyleStyleCrossReference_2_1_0()); 
+               before(grammarAccess.getDatamartTableHeaderAccess().getStyleStyleCrossReference_2_0_1_0()); 
             }
-            // InternalReportDSL.g:39133:3: ( RULE_ID )
-            // InternalReportDSL.g:39134:4: RULE_ID
+            // InternalReportDSL.g:39574:3: ( RULE_ID )
+            // InternalReportDSL.g:39575:4: RULE_ID
             {
             if ( state.backtracking==0 ) {
-               before(grammarAccess.getDatamartTableGroupHeaderAccess().getStyleStyleIDTerminalRuleCall_2_1_0_1()); 
+               before(grammarAccess.getDatamartTableHeaderAccess().getStyleStyleIDTerminalRuleCall_2_0_1_0_1()); 
             }
             match(input,RULE_ID,FOLLOW_2); if (state.failed) return ;
             if ( state.backtracking==0 ) {
-               after(grammarAccess.getDatamartTableGroupHeaderAccess().getStyleStyleIDTerminalRuleCall_2_1_0_1()); 
+               after(grammarAccess.getDatamartTableHeaderAccess().getStyleStyleIDTerminalRuleCall_2_0_1_0_1()); 
             }
 
             }
 
             if ( state.backtracking==0 ) {
-               after(grammarAccess.getDatamartTableGroupHeaderAccess().getStyleStyleCrossReference_2_1_0()); 
+               after(grammarAccess.getDatamartTableHeaderAccess().getStyleStyleCrossReference_2_0_1_0()); 
             }
 
             }
@@ -127541,24 +129156,24 @@
         }
         return ;
     }
-    // $ANTLR end "rule__DatamartTableGroupHeader__StyleAssignment_2_1"
+    // $ANTLR end "rule__DatamartTableHeader__StyleAssignment_2_0_1"
 
 
-    // $ANTLR start "rule__DatamartTableGroupHeader__PageBreakAssignment_3"
-    // InternalReportDSL.g:39145:1: rule__DatamartTableGroupHeader__PageBreakAssignment_3 : ( rulePageBreak ) ;
-    public final void rule__DatamartTableGroupHeader__PageBreakAssignment_3() throws RecognitionException {
+    // $ANTLR start "rule__DatamartTableHeader__PageBreakAssignment_2_1"
+    // InternalReportDSL.g:39586:1: rule__DatamartTableHeader__PageBreakAssignment_2_1 : ( rulePageBreak ) ;
+    public final void rule__DatamartTableHeader__PageBreakAssignment_2_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:39149:1: ( ( rulePageBreak ) )
-            // InternalReportDSL.g:39150:2: ( rulePageBreak )
+            // InternalReportDSL.g:39590:1: ( ( rulePageBreak ) )
+            // InternalReportDSL.g:39591:2: ( rulePageBreak )
             {
-            // InternalReportDSL.g:39150:2: ( rulePageBreak )
-            // InternalReportDSL.g:39151:3: rulePageBreak
+            // InternalReportDSL.g:39591:2: ( rulePageBreak )
+            // InternalReportDSL.g:39592:3: rulePageBreak
             {
             if ( state.backtracking==0 ) {
-               before(grammarAccess.getDatamartTableGroupHeaderAccess().getPageBreakPageBreakParserRuleCall_3_0()); 
+               before(grammarAccess.getDatamartTableHeaderAccess().getPageBreakPageBreakParserRuleCall_2_1_0()); 
             }
             pushFollow(FOLLOW_2);
             rulePageBreak();
@@ -127566,7 +129181,7 @@
             state._fsp--;
             if (state.failed) return ;
             if ( state.backtracking==0 ) {
-               after(grammarAccess.getDatamartTableGroupHeaderAccess().getPageBreakPageBreakParserRuleCall_3_0()); 
+               after(grammarAccess.getDatamartTableHeaderAccess().getPageBreakPageBreakParserRuleCall_2_1_0()); 
             }
 
             }
@@ -127586,24 +129201,24 @@
         }
         return ;
     }
-    // $ANTLR end "rule__DatamartTableGroupHeader__PageBreakAssignment_3"
+    // $ANTLR end "rule__DatamartTableHeader__PageBreakAssignment_2_1"
 
 
-    // $ANTLR start "rule__DatamartTableGroupHeader__RowsAssignment_5"
-    // InternalReportDSL.g:39160:1: rule__DatamartTableGroupHeader__RowsAssignment_5 : ( ruleGridRow ) ;
-    public final void rule__DatamartTableGroupHeader__RowsAssignment_5() throws RecognitionException {
+    // $ANTLR start "rule__DatamartTableHeader__RowsAssignment_3_1"
+    // InternalReportDSL.g:39601:1: rule__DatamartTableHeader__RowsAssignment_3_1 : ( ruleGridRow ) ;
+    public final void rule__DatamartTableHeader__RowsAssignment_3_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:39164:1: ( ( ruleGridRow ) )
-            // InternalReportDSL.g:39165:2: ( ruleGridRow )
+            // InternalReportDSL.g:39605:1: ( ( ruleGridRow ) )
+            // InternalReportDSL.g:39606:2: ( ruleGridRow )
             {
-            // InternalReportDSL.g:39165:2: ( ruleGridRow )
-            // InternalReportDSL.g:39166:3: ruleGridRow
+            // InternalReportDSL.g:39606:2: ( ruleGridRow )
+            // InternalReportDSL.g:39607:3: ruleGridRow
             {
             if ( state.backtracking==0 ) {
-               before(grammarAccess.getDatamartTableGroupHeaderAccess().getRowsGridRowParserRuleCall_5_0()); 
+               before(grammarAccess.getDatamartTableHeaderAccess().getRowsGridRowParserRuleCall_3_1_0()); 
             }
             pushFollow(FOLLOW_2);
             ruleGridRow();
@@ -127611,7 +129226,7 @@
             state._fsp--;
             if (state.failed) return ;
             if ( state.backtracking==0 ) {
-               after(grammarAccess.getDatamartTableGroupHeaderAccess().getRowsGridRowParserRuleCall_5_0()); 
+               after(grammarAccess.getDatamartTableHeaderAccess().getRowsGridRowParserRuleCall_3_1_0()); 
             }
 
             }
@@ -127631,40 +129246,40 @@
         }
         return ;
     }
-    // $ANTLR end "rule__DatamartTableGroupHeader__RowsAssignment_5"
+    // $ANTLR end "rule__DatamartTableHeader__RowsAssignment_3_1"
 
 
-    // $ANTLR start "rule__DatamartTableGroupFooter__StyleAssignment_2_1"
-    // InternalReportDSL.g:39175:1: rule__DatamartTableGroupFooter__StyleAssignment_2_1 : ( ( RULE_ID ) ) ;
-    public final void rule__DatamartTableGroupFooter__StyleAssignment_2_1() throws RecognitionException {
+    // $ANTLR start "rule__DatamartTableFooter__StyleAssignment_2_0_1"
+    // InternalReportDSL.g:39616:1: rule__DatamartTableFooter__StyleAssignment_2_0_1 : ( ( RULE_ID ) ) ;
+    public final void rule__DatamartTableFooter__StyleAssignment_2_0_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:39179:1: ( ( ( RULE_ID ) ) )
-            // InternalReportDSL.g:39180:2: ( ( RULE_ID ) )
+            // InternalReportDSL.g:39620:1: ( ( ( RULE_ID ) ) )
+            // InternalReportDSL.g:39621:2: ( ( RULE_ID ) )
             {
-            // InternalReportDSL.g:39180:2: ( ( RULE_ID ) )
-            // InternalReportDSL.g:39181:3: ( RULE_ID )
+            // InternalReportDSL.g:39621:2: ( ( RULE_ID ) )
+            // InternalReportDSL.g:39622:3: ( RULE_ID )
             {
             if ( state.backtracking==0 ) {
-               before(grammarAccess.getDatamartTableGroupFooterAccess().getStyleStyleCrossReference_2_1_0()); 
+               before(grammarAccess.getDatamartTableFooterAccess().getStyleStyleCrossReference_2_0_1_0()); 
             }
-            // InternalReportDSL.g:39182:3: ( RULE_ID )
-            // InternalReportDSL.g:39183:4: RULE_ID
+            // InternalReportDSL.g:39623:3: ( RULE_ID )
+            // InternalReportDSL.g:39624:4: RULE_ID
             {
             if ( state.backtracking==0 ) {
-               before(grammarAccess.getDatamartTableGroupFooterAccess().getStyleStyleIDTerminalRuleCall_2_1_0_1()); 
+               before(grammarAccess.getDatamartTableFooterAccess().getStyleStyleIDTerminalRuleCall_2_0_1_0_1()); 
             }
             match(input,RULE_ID,FOLLOW_2); if (state.failed) return ;
             if ( state.backtracking==0 ) {
-               after(grammarAccess.getDatamartTableGroupFooterAccess().getStyleStyleIDTerminalRuleCall_2_1_0_1()); 
+               after(grammarAccess.getDatamartTableFooterAccess().getStyleStyleIDTerminalRuleCall_2_0_1_0_1()); 
             }
 
             }
 
             if ( state.backtracking==0 ) {
-               after(grammarAccess.getDatamartTableGroupFooterAccess().getStyleStyleCrossReference_2_1_0()); 
+               after(grammarAccess.getDatamartTableFooterAccess().getStyleStyleCrossReference_2_0_1_0()); 
             }
 
             }
@@ -127684,24 +129299,24 @@
         }
         return ;
     }
-    // $ANTLR end "rule__DatamartTableGroupFooter__StyleAssignment_2_1"
+    // $ANTLR end "rule__DatamartTableFooter__StyleAssignment_2_0_1"
 
 
-    // $ANTLR start "rule__DatamartTableGroupFooter__PageBreakAssignment_3"
-    // InternalReportDSL.g:39194:1: rule__DatamartTableGroupFooter__PageBreakAssignment_3 : ( rulePageBreak ) ;
-    public final void rule__DatamartTableGroupFooter__PageBreakAssignment_3() throws RecognitionException {
+    // $ANTLR start "rule__DatamartTableFooter__PageBreakAssignment_2_1"
+    // InternalReportDSL.g:39635:1: rule__DatamartTableFooter__PageBreakAssignment_2_1 : ( rulePageBreak ) ;
+    public final void rule__DatamartTableFooter__PageBreakAssignment_2_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:39198:1: ( ( rulePageBreak ) )
-            // InternalReportDSL.g:39199:2: ( rulePageBreak )
+            // InternalReportDSL.g:39639:1: ( ( rulePageBreak ) )
+            // InternalReportDSL.g:39640:2: ( rulePageBreak )
             {
-            // InternalReportDSL.g:39199:2: ( rulePageBreak )
-            // InternalReportDSL.g:39200:3: rulePageBreak
+            // InternalReportDSL.g:39640:2: ( rulePageBreak )
+            // InternalReportDSL.g:39641:3: rulePageBreak
             {
             if ( state.backtracking==0 ) {
-               before(grammarAccess.getDatamartTableGroupFooterAccess().getPageBreakPageBreakParserRuleCall_3_0()); 
+               before(grammarAccess.getDatamartTableFooterAccess().getPageBreakPageBreakParserRuleCall_2_1_0()); 
             }
             pushFollow(FOLLOW_2);
             rulePageBreak();
@@ -127709,7 +129324,7 @@
             state._fsp--;
             if (state.failed) return ;
             if ( state.backtracking==0 ) {
-               after(grammarAccess.getDatamartTableGroupFooterAccess().getPageBreakPageBreakParserRuleCall_3_0()); 
+               after(grammarAccess.getDatamartTableFooterAccess().getPageBreakPageBreakParserRuleCall_2_1_0()); 
             }
 
             }
@@ -127729,24 +129344,24 @@
         }
         return ;
     }
-    // $ANTLR end "rule__DatamartTableGroupFooter__PageBreakAssignment_3"
+    // $ANTLR end "rule__DatamartTableFooter__PageBreakAssignment_2_1"
 
 
-    // $ANTLR start "rule__DatamartTableGroupFooter__RowsAssignment_5"
-    // InternalReportDSL.g:39209:1: rule__DatamartTableGroupFooter__RowsAssignment_5 : ( ruleGridRow ) ;
-    public final void rule__DatamartTableGroupFooter__RowsAssignment_5() throws RecognitionException {
+    // $ANTLR start "rule__DatamartTableFooter__RowsAssignment_3_1"
+    // InternalReportDSL.g:39650:1: rule__DatamartTableFooter__RowsAssignment_3_1 : ( ruleGridRow ) ;
+    public final void rule__DatamartTableFooter__RowsAssignment_3_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:39213:1: ( ( ruleGridRow ) )
-            // InternalReportDSL.g:39214:2: ( ruleGridRow )
+            // InternalReportDSL.g:39654:1: ( ( ruleGridRow ) )
+            // InternalReportDSL.g:39655:2: ( ruleGridRow )
             {
-            // InternalReportDSL.g:39214:2: ( ruleGridRow )
-            // InternalReportDSL.g:39215:3: ruleGridRow
+            // InternalReportDSL.g:39655:2: ( ruleGridRow )
+            // InternalReportDSL.g:39656:3: ruleGridRow
             {
             if ( state.backtracking==0 ) {
-               before(grammarAccess.getDatamartTableGroupFooterAccess().getRowsGridRowParserRuleCall_5_0()); 
+               before(grammarAccess.getDatamartTableFooterAccess().getRowsGridRowParserRuleCall_3_1_0()); 
             }
             pushFollow(FOLLOW_2);
             ruleGridRow();
@@ -127754,7 +129369,7 @@
             state._fsp--;
             if (state.failed) return ;
             if ( state.backtracking==0 ) {
-               after(grammarAccess.getDatamartTableGroupFooterAccess().getRowsGridRowParserRuleCall_5_0()); 
+               after(grammarAccess.getDatamartTableFooterAccess().getRowsGridRowParserRuleCall_3_1_0()); 
             }
 
             }
@@ -127774,27 +129389,27 @@
         }
         return ;
     }
-    // $ANTLR end "rule__DatamartTableGroupFooter__RowsAssignment_5"
+    // $ANTLR end "rule__DatamartTableFooter__RowsAssignment_3_1"
 
 
     // $ANTLR start "rule__DatamartTableDetail__StyleAssignment_2_1"
-    // InternalReportDSL.g:39224:1: rule__DatamartTableDetail__StyleAssignment_2_1 : ( ( RULE_ID ) ) ;
+    // InternalReportDSL.g:39665:1: rule__DatamartTableDetail__StyleAssignment_2_1 : ( ( RULE_ID ) ) ;
     public final void rule__DatamartTableDetail__StyleAssignment_2_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:39228:1: ( ( ( RULE_ID ) ) )
-            // InternalReportDSL.g:39229:2: ( ( RULE_ID ) )
+            // InternalReportDSL.g:39669:1: ( ( ( RULE_ID ) ) )
+            // InternalReportDSL.g:39670:2: ( ( RULE_ID ) )
             {
-            // InternalReportDSL.g:39229:2: ( ( RULE_ID ) )
-            // InternalReportDSL.g:39230:3: ( RULE_ID )
+            // InternalReportDSL.g:39670:2: ( ( RULE_ID ) )
+            // InternalReportDSL.g:39671:3: ( RULE_ID )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getDatamartTableDetailAccess().getStyleStyleCrossReference_2_1_0()); 
             }
-            // InternalReportDSL.g:39231:3: ( RULE_ID )
-            // InternalReportDSL.g:39232:4: RULE_ID
+            // InternalReportDSL.g:39672:3: ( RULE_ID )
+            // InternalReportDSL.g:39673:4: RULE_ID
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getDatamartTableDetailAccess().getStyleStyleIDTerminalRuleCall_2_1_0_1()); 
@@ -127831,17 +129446,17 @@
 
 
     // $ANTLR start "rule__DatamartTableDetail__ColumnFormattersAssignment_3_1_1"
-    // InternalReportDSL.g:39243:1: rule__DatamartTableDetail__ColumnFormattersAssignment_3_1_1 : ( ruleDatamartTableAttribute ) ;
+    // InternalReportDSL.g:39684:1: rule__DatamartTableDetail__ColumnFormattersAssignment_3_1_1 : ( ruleDatamartTableAttribute ) ;
     public final void rule__DatamartTableDetail__ColumnFormattersAssignment_3_1_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:39247:1: ( ( ruleDatamartTableAttribute ) )
-            // InternalReportDSL.g:39248:2: ( ruleDatamartTableAttribute )
+            // InternalReportDSL.g:39688:1: ( ( ruleDatamartTableAttribute ) )
+            // InternalReportDSL.g:39689:2: ( ruleDatamartTableAttribute )
             {
-            // InternalReportDSL.g:39248:2: ( ruleDatamartTableAttribute )
-            // InternalReportDSL.g:39249:3: ruleDatamartTableAttribute
+            // InternalReportDSL.g:39689:2: ( ruleDatamartTableAttribute )
+            // InternalReportDSL.g:39690:3: ruleDatamartTableAttribute
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getDatamartTableDetailAccess().getColumnFormattersDatamartTableAttributeParserRuleCall_3_1_1_0()); 
@@ -127876,17 +129491,17 @@
 
 
     // $ANTLR start "rule__DatamartTableAttribute__ColumnAssignment_0"
-    // InternalReportDSL.g:39258:1: rule__DatamartTableAttribute__ColumnAssignment_0 : ( ruleTableValueElement ) ;
+    // InternalReportDSL.g:39699:1: rule__DatamartTableAttribute__ColumnAssignment_0 : ( ruleTableValueElement ) ;
     public final void rule__DatamartTableAttribute__ColumnAssignment_0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:39262:1: ( ( ruleTableValueElement ) )
-            // InternalReportDSL.g:39263:2: ( ruleTableValueElement )
+            // InternalReportDSL.g:39703:1: ( ( ruleTableValueElement ) )
+            // InternalReportDSL.g:39704:2: ( ruleTableValueElement )
             {
-            // InternalReportDSL.g:39263:2: ( ruleTableValueElement )
-            // InternalReportDSL.g:39264:3: ruleTableValueElement
+            // InternalReportDSL.g:39704:2: ( ruleTableValueElement )
+            // InternalReportDSL.g:39705:3: ruleTableValueElement
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getDatamartTableAttributeAccess().getColumnTableValueElementParserRuleCall_0_0()); 
@@ -127921,17 +129536,17 @@
 
 
     // $ANTLR start "rule__DatamartTableAttribute__WidthValueAssignment_1_0_1"
-    // InternalReportDSL.g:39273:1: rule__DatamartTableAttribute__WidthValueAssignment_1_0_1 : ( ruleUnsignedNumber ) ;
+    // InternalReportDSL.g:39714:1: rule__DatamartTableAttribute__WidthValueAssignment_1_0_1 : ( ruleUnsignedNumber ) ;
     public final void rule__DatamartTableAttribute__WidthValueAssignment_1_0_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:39277:1: ( ( ruleUnsignedNumber ) )
-            // InternalReportDSL.g:39278:2: ( ruleUnsignedNumber )
+            // InternalReportDSL.g:39718:1: ( ( ruleUnsignedNumber ) )
+            // InternalReportDSL.g:39719:2: ( ruleUnsignedNumber )
             {
-            // InternalReportDSL.g:39278:2: ( ruleUnsignedNumber )
-            // InternalReportDSL.g:39279:3: ruleUnsignedNumber
+            // InternalReportDSL.g:39719:2: ( ruleUnsignedNumber )
+            // InternalReportDSL.g:39720:3: ruleUnsignedNumber
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getDatamartTableAttributeAccess().getWidthValueUnsignedNumberParserRuleCall_1_0_1_0()); 
@@ -127966,23 +129581,23 @@
 
 
     // $ANTLR start "rule__DatamartTableAttribute__StyleAssignment_1_1_1"
-    // InternalReportDSL.g:39288:1: rule__DatamartTableAttribute__StyleAssignment_1_1_1 : ( ( RULE_ID ) ) ;
+    // InternalReportDSL.g:39729:1: rule__DatamartTableAttribute__StyleAssignment_1_1_1 : ( ( RULE_ID ) ) ;
     public final void rule__DatamartTableAttribute__StyleAssignment_1_1_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:39292:1: ( ( ( RULE_ID ) ) )
-            // InternalReportDSL.g:39293:2: ( ( RULE_ID ) )
+            // InternalReportDSL.g:39733:1: ( ( ( RULE_ID ) ) )
+            // InternalReportDSL.g:39734:2: ( ( RULE_ID ) )
             {
-            // InternalReportDSL.g:39293:2: ( ( RULE_ID ) )
-            // InternalReportDSL.g:39294:3: ( RULE_ID )
+            // InternalReportDSL.g:39734:2: ( ( RULE_ID ) )
+            // InternalReportDSL.g:39735:3: ( RULE_ID )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getDatamartTableAttributeAccess().getStyleStyleCrossReference_1_1_1_0()); 
             }
-            // InternalReportDSL.g:39295:3: ( RULE_ID )
-            // InternalReportDSL.g:39296:4: RULE_ID
+            // InternalReportDSL.g:39736:3: ( RULE_ID )
+            // InternalReportDSL.g:39737:4: RULE_ID
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getDatamartTableAttributeAccess().getStyleStyleIDTerminalRuleCall_1_1_1_0_1()); 
@@ -128019,28 +129634,28 @@
 
 
     // $ANTLR start "rule__DatamartTableAttribute__HideLabelIntervalAssignment_1_2_1"
-    // InternalReportDSL.g:39307:1: rule__DatamartTableAttribute__HideLabelIntervalAssignment_1_2_1 : ( ( 'hidelabel' ) ) ;
+    // InternalReportDSL.g:39748:1: rule__DatamartTableAttribute__HideLabelIntervalAssignment_1_2_1 : ( ( 'hidelabel' ) ) ;
     public final void rule__DatamartTableAttribute__HideLabelIntervalAssignment_1_2_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:39311:1: ( ( ( 'hidelabel' ) ) )
-            // InternalReportDSL.g:39312:2: ( ( 'hidelabel' ) )
+            // InternalReportDSL.g:39752:1: ( ( ( 'hidelabel' ) ) )
+            // InternalReportDSL.g:39753:2: ( ( 'hidelabel' ) )
             {
-            // InternalReportDSL.g:39312:2: ( ( 'hidelabel' ) )
-            // InternalReportDSL.g:39313:3: ( 'hidelabel' )
+            // InternalReportDSL.g:39753:2: ( ( 'hidelabel' ) )
+            // InternalReportDSL.g:39754:3: ( 'hidelabel' )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getDatamartTableAttributeAccess().getHideLabelIntervalHidelabelKeyword_1_2_1_0()); 
             }
-            // InternalReportDSL.g:39314:3: ( 'hidelabel' )
-            // InternalReportDSL.g:39315:4: 'hidelabel'
+            // InternalReportDSL.g:39755:3: ( 'hidelabel' )
+            // InternalReportDSL.g:39756:4: 'hidelabel'
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getDatamartTableAttributeAccess().getHideLabelIntervalHidelabelKeyword_1_2_1_0()); 
             }
-            match(input,259,FOLLOW_2); if (state.failed) return ;
+            match(input,264,FOLLOW_2); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getDatamartTableAttributeAccess().getHideLabelIntervalHidelabelKeyword_1_2_1_0()); 
             }
@@ -128072,17 +129687,17 @@
 
 
     // $ANTLR start "rule__DatamartTableAttribute__IntervalsAssignment_1_2_3"
-    // InternalReportDSL.g:39326:1: rule__DatamartTableAttribute__IntervalsAssignment_1_2_3 : ( ruleTableInterval ) ;
+    // InternalReportDSL.g:39767:1: rule__DatamartTableAttribute__IntervalsAssignment_1_2_3 : ( ruleTableInterval ) ;
     public final void rule__DatamartTableAttribute__IntervalsAssignment_1_2_3() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:39330:1: ( ( ruleTableInterval ) )
-            // InternalReportDSL.g:39331:2: ( ruleTableInterval )
+            // InternalReportDSL.g:39771:1: ( ( ruleTableInterval ) )
+            // InternalReportDSL.g:39772:2: ( ruleTableInterval )
             {
-            // InternalReportDSL.g:39331:2: ( ruleTableInterval )
-            // InternalReportDSL.g:39332:3: ruleTableInterval
+            // InternalReportDSL.g:39772:2: ( ruleTableInterval )
+            // InternalReportDSL.g:39773:3: ruleTableInterval
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getDatamartTableAttributeAccess().getIntervalsTableIntervalParserRuleCall_1_2_3_0()); 
@@ -128117,28 +129732,28 @@
 
 
     // $ANTLR start "rule__DatamartTableAttribute__HideLabelLookupAssignment_1_3_1"
-    // InternalReportDSL.g:39341:1: rule__DatamartTableAttribute__HideLabelLookupAssignment_1_3_1 : ( ( 'hidelabel' ) ) ;
+    // InternalReportDSL.g:39782:1: rule__DatamartTableAttribute__HideLabelLookupAssignment_1_3_1 : ( ( 'hidelabel' ) ) ;
     public final void rule__DatamartTableAttribute__HideLabelLookupAssignment_1_3_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:39345:1: ( ( ( 'hidelabel' ) ) )
-            // InternalReportDSL.g:39346:2: ( ( 'hidelabel' ) )
+            // InternalReportDSL.g:39786:1: ( ( ( 'hidelabel' ) ) )
+            // InternalReportDSL.g:39787:2: ( ( 'hidelabel' ) )
             {
-            // InternalReportDSL.g:39346:2: ( ( 'hidelabel' ) )
-            // InternalReportDSL.g:39347:3: ( 'hidelabel' )
+            // InternalReportDSL.g:39787:2: ( ( 'hidelabel' ) )
+            // InternalReportDSL.g:39788:3: ( 'hidelabel' )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getDatamartTableAttributeAccess().getHideLabelLookupHidelabelKeyword_1_3_1_0()); 
             }
-            // InternalReportDSL.g:39348:3: ( 'hidelabel' )
-            // InternalReportDSL.g:39349:4: 'hidelabel'
+            // InternalReportDSL.g:39789:3: ( 'hidelabel' )
+            // InternalReportDSL.g:39790:4: 'hidelabel'
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getDatamartTableAttributeAccess().getHideLabelLookupHidelabelKeyword_1_3_1_0()); 
             }
-            match(input,259,FOLLOW_2); if (state.failed) return ;
+            match(input,264,FOLLOW_2); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getDatamartTableAttributeAccess().getHideLabelLookupHidelabelKeyword_1_3_1_0()); 
             }
@@ -128170,17 +129785,17 @@
 
 
     // $ANTLR start "rule__DatamartTableAttribute__LookupsAssignment_1_3_3"
-    // InternalReportDSL.g:39360:1: rule__DatamartTableAttribute__LookupsAssignment_1_3_3 : ( ruleTableLookup ) ;
+    // InternalReportDSL.g:39801:1: rule__DatamartTableAttribute__LookupsAssignment_1_3_3 : ( ruleTableLookup ) ;
     public final void rule__DatamartTableAttribute__LookupsAssignment_1_3_3() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:39364:1: ( ( ruleTableLookup ) )
-            // InternalReportDSL.g:39365:2: ( ruleTableLookup )
+            // InternalReportDSL.g:39805:1: ( ( ruleTableLookup ) )
+            // InternalReportDSL.g:39806:2: ( ruleTableLookup )
             {
-            // InternalReportDSL.g:39365:2: ( ruleTableLookup )
-            // InternalReportDSL.g:39366:3: ruleTableLookup
+            // InternalReportDSL.g:39806:2: ( ruleTableLookup )
+            // InternalReportDSL.g:39807:3: ruleTableLookup
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getDatamartTableAttributeAccess().getLookupsTableLookupParserRuleCall_1_3_3_0()); 
@@ -128215,23 +129830,23 @@
 
 
     // $ANTLR start "rule__TableAttribute__ValueRefAssignment_1"
-    // InternalReportDSL.g:39375:1: rule__TableAttribute__ValueRefAssignment_1 : ( ( RULE_ID ) ) ;
+    // InternalReportDSL.g:39816:1: rule__TableAttribute__ValueRefAssignment_1 : ( ( RULE_ID ) ) ;
     public final void rule__TableAttribute__ValueRefAssignment_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:39379:1: ( ( ( RULE_ID ) ) )
-            // InternalReportDSL.g:39380:2: ( ( RULE_ID ) )
+            // InternalReportDSL.g:39820:1: ( ( ( RULE_ID ) ) )
+            // InternalReportDSL.g:39821:2: ( ( RULE_ID ) )
             {
-            // InternalReportDSL.g:39380:2: ( ( RULE_ID ) )
-            // InternalReportDSL.g:39381:3: ( RULE_ID )
+            // InternalReportDSL.g:39821:2: ( ( RULE_ID ) )
+            // InternalReportDSL.g:39822:3: ( RULE_ID )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getTableAttributeAccess().getValueRefDatamartAttributeCrossReference_1_0()); 
             }
-            // InternalReportDSL.g:39382:3: ( RULE_ID )
-            // InternalReportDSL.g:39383:4: RULE_ID
+            // InternalReportDSL.g:39823:3: ( RULE_ID )
+            // InternalReportDSL.g:39824:4: RULE_ID
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getTableAttributeAccess().getValueRefDatamartAttributeIDTerminalRuleCall_1_0_1()); 
@@ -128268,17 +129883,17 @@
 
 
     // $ANTLR start "rule__TableAggregation__AggregationAssignment_1"
-    // InternalReportDSL.g:39394:1: rule__TableAggregation__AggregationAssignment_1 : ( ruleTableBaseAggregation ) ;
+    // InternalReportDSL.g:39835:1: rule__TableAggregation__AggregationAssignment_1 : ( ruleTableBaseAggregation ) ;
     public final void rule__TableAggregation__AggregationAssignment_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:39398:1: ( ( ruleTableBaseAggregation ) )
-            // InternalReportDSL.g:39399:2: ( ruleTableBaseAggregation )
+            // InternalReportDSL.g:39839:1: ( ( ruleTableBaseAggregation ) )
+            // InternalReportDSL.g:39840:2: ( ruleTableBaseAggregation )
             {
-            // InternalReportDSL.g:39399:2: ( ruleTableBaseAggregation )
-            // InternalReportDSL.g:39400:3: ruleTableBaseAggregation
+            // InternalReportDSL.g:39840:2: ( ruleTableBaseAggregation )
+            // InternalReportDSL.g:39841:3: ruleTableBaseAggregation
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getTableAggregationAccess().getAggregationTableBaseAggregationParserRuleCall_1_0()); 
@@ -128313,23 +129928,23 @@
 
 
     // $ANTLR start "rule__TableAggregation__OnGroupAssignment_2_0_1"
-    // InternalReportDSL.g:39409:1: rule__TableAggregation__OnGroupAssignment_2_0_1 : ( ( RULE_ID ) ) ;
+    // InternalReportDSL.g:39850:1: rule__TableAggregation__OnGroupAssignment_2_0_1 : ( ( RULE_ID ) ) ;
     public final void rule__TableAggregation__OnGroupAssignment_2_0_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:39413:1: ( ( ( RULE_ID ) ) )
-            // InternalReportDSL.g:39414:2: ( ( RULE_ID ) )
+            // InternalReportDSL.g:39854:1: ( ( ( RULE_ID ) ) )
+            // InternalReportDSL.g:39855:2: ( ( RULE_ID ) )
             {
-            // InternalReportDSL.g:39414:2: ( ( RULE_ID ) )
-            // InternalReportDSL.g:39415:3: ( RULE_ID )
+            // InternalReportDSL.g:39855:2: ( ( RULE_ID ) )
+            // InternalReportDSL.g:39856:3: ( RULE_ID )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getTableAggregationAccess().getOnGroupDatamartTableGroupCrossReference_2_0_1_0()); 
             }
-            // InternalReportDSL.g:39416:3: ( RULE_ID )
-            // InternalReportDSL.g:39417:4: RULE_ID
+            // InternalReportDSL.g:39857:3: ( RULE_ID )
+            // InternalReportDSL.g:39858:4: RULE_ID
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getTableAggregationAccess().getOnGroupDatamartTableGroupIDTerminalRuleCall_2_0_1_0_1()); 
@@ -128366,17 +129981,17 @@
 
 
     // $ANTLR start "rule__TableAggregation__TextAssignment_2_1_1"
-    // InternalReportDSL.g:39428:1: rule__TableAggregation__TextAssignment_2_1_1 : ( ruleTRANSLATABLESTRING ) ;
+    // InternalReportDSL.g:39869:1: rule__TableAggregation__TextAssignment_2_1_1 : ( ruleTRANSLATABLESTRING ) ;
     public final void rule__TableAggregation__TextAssignment_2_1_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:39432:1: ( ( ruleTRANSLATABLESTRING ) )
-            // InternalReportDSL.g:39433:2: ( ruleTRANSLATABLESTRING )
+            // InternalReportDSL.g:39873:1: ( ( ruleTRANSLATABLESTRING ) )
+            // InternalReportDSL.g:39874:2: ( ruleTRANSLATABLESTRING )
             {
-            // InternalReportDSL.g:39433:2: ( ruleTRANSLATABLESTRING )
-            // InternalReportDSL.g:39434:3: ruleTRANSLATABLESTRING
+            // InternalReportDSL.g:39874:2: ( ruleTRANSLATABLESTRING )
+            // InternalReportDSL.g:39875:3: ruleTRANSLATABLESTRING
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getTableAggregationAccess().getTextTRANSLATABLESTRINGParserRuleCall_2_1_1_0()); 
@@ -128411,17 +130026,17 @@
 
 
     // $ANTLR start "rule__TablePureAggregation__AggregationAssignment"
-    // InternalReportDSL.g:39443:1: rule__TablePureAggregation__AggregationAssignment : ( rulePureAggregationTypeEnum ) ;
+    // InternalReportDSL.g:39884:1: rule__TablePureAggregation__AggregationAssignment : ( rulePureAggregationTypeEnum ) ;
     public final void rule__TablePureAggregation__AggregationAssignment() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:39447:1: ( ( rulePureAggregationTypeEnum ) )
-            // InternalReportDSL.g:39448:2: ( rulePureAggregationTypeEnum )
+            // InternalReportDSL.g:39888:1: ( ( rulePureAggregationTypeEnum ) )
+            // InternalReportDSL.g:39889:2: ( rulePureAggregationTypeEnum )
             {
-            // InternalReportDSL.g:39448:2: ( rulePureAggregationTypeEnum )
-            // InternalReportDSL.g:39449:3: rulePureAggregationTypeEnum
+            // InternalReportDSL.g:39889:2: ( rulePureAggregationTypeEnum )
+            // InternalReportDSL.g:39890:3: rulePureAggregationTypeEnum
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getTablePureAggregationAccess().getAggregationPureAggregationTypeEnumEnumRuleCall_0()); 
@@ -128456,17 +130071,17 @@
 
 
     // $ANTLR start "rule__TableUnaryAggregation__AggregationAssignment_0"
-    // InternalReportDSL.g:39458:1: rule__TableUnaryAggregation__AggregationAssignment_0 : ( ruleUnaryAggregationTypeEnum ) ;
+    // InternalReportDSL.g:39899:1: rule__TableUnaryAggregation__AggregationAssignment_0 : ( ruleUnaryAggregationTypeEnum ) ;
     public final void rule__TableUnaryAggregation__AggregationAssignment_0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:39462:1: ( ( ruleUnaryAggregationTypeEnum ) )
-            // InternalReportDSL.g:39463:2: ( ruleUnaryAggregationTypeEnum )
+            // InternalReportDSL.g:39903:1: ( ( ruleUnaryAggregationTypeEnum ) )
+            // InternalReportDSL.g:39904:2: ( ruleUnaryAggregationTypeEnum )
             {
-            // InternalReportDSL.g:39463:2: ( ruleUnaryAggregationTypeEnum )
-            // InternalReportDSL.g:39464:3: ruleUnaryAggregationTypeEnum
+            // InternalReportDSL.g:39904:2: ( ruleUnaryAggregationTypeEnum )
+            // InternalReportDSL.g:39905:3: ruleUnaryAggregationTypeEnum
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getTableUnaryAggregationAccess().getAggregationUnaryAggregationTypeEnumEnumRuleCall_0_0()); 
@@ -128501,23 +130116,23 @@
 
 
     // $ANTLR start "rule__TableUnaryAggregation__ValueRefsAssignment_1"
-    // InternalReportDSL.g:39473:1: rule__TableUnaryAggregation__ValueRefsAssignment_1 : ( ( RULE_ID ) ) ;
+    // InternalReportDSL.g:39914:1: rule__TableUnaryAggregation__ValueRefsAssignment_1 : ( ( RULE_ID ) ) ;
     public final void rule__TableUnaryAggregation__ValueRefsAssignment_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:39477:1: ( ( ( RULE_ID ) ) )
-            // InternalReportDSL.g:39478:2: ( ( RULE_ID ) )
+            // InternalReportDSL.g:39918:1: ( ( ( RULE_ID ) ) )
+            // InternalReportDSL.g:39919:2: ( ( RULE_ID ) )
             {
-            // InternalReportDSL.g:39478:2: ( ( RULE_ID ) )
-            // InternalReportDSL.g:39479:3: ( RULE_ID )
+            // InternalReportDSL.g:39919:2: ( ( RULE_ID ) )
+            // InternalReportDSL.g:39920:3: ( RULE_ID )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getTableUnaryAggregationAccess().getValueRefsDatamartAttributeCrossReference_1_0()); 
             }
-            // InternalReportDSL.g:39480:3: ( RULE_ID )
-            // InternalReportDSL.g:39481:4: RULE_ID
+            // InternalReportDSL.g:39921:3: ( RULE_ID )
+            // InternalReportDSL.g:39922:4: RULE_ID
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getTableUnaryAggregationAccess().getValueRefsDatamartAttributeIDTerminalRuleCall_1_0_1()); 
@@ -128554,17 +130169,17 @@
 
 
     // $ANTLR start "rule__TableMultipleAggregation__AggregationAssignment_0"
-    // InternalReportDSL.g:39492:1: rule__TableMultipleAggregation__AggregationAssignment_0 : ( ruleMultipleAggregationTypeEnum ) ;
+    // InternalReportDSL.g:39933:1: rule__TableMultipleAggregation__AggregationAssignment_0 : ( ruleMultipleAggregationTypeEnum ) ;
     public final void rule__TableMultipleAggregation__AggregationAssignment_0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:39496:1: ( ( ruleMultipleAggregationTypeEnum ) )
-            // InternalReportDSL.g:39497:2: ( ruleMultipleAggregationTypeEnum )
+            // InternalReportDSL.g:39937:1: ( ( ruleMultipleAggregationTypeEnum ) )
+            // InternalReportDSL.g:39938:2: ( ruleMultipleAggregationTypeEnum )
             {
-            // InternalReportDSL.g:39497:2: ( ruleMultipleAggregationTypeEnum )
-            // InternalReportDSL.g:39498:3: ruleMultipleAggregationTypeEnum
+            // InternalReportDSL.g:39938:2: ( ruleMultipleAggregationTypeEnum )
+            // InternalReportDSL.g:39939:3: ruleMultipleAggregationTypeEnum
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getTableMultipleAggregationAccess().getAggregationMultipleAggregationTypeEnumEnumRuleCall_0_0()); 
@@ -128599,23 +130214,23 @@
 
 
     // $ANTLR start "rule__TableMultipleAggregation__ValueRefsAssignment_2"
-    // InternalReportDSL.g:39507:1: rule__TableMultipleAggregation__ValueRefsAssignment_2 : ( ( RULE_ID ) ) ;
+    // InternalReportDSL.g:39948:1: rule__TableMultipleAggregation__ValueRefsAssignment_2 : ( ( RULE_ID ) ) ;
     public final void rule__TableMultipleAggregation__ValueRefsAssignment_2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:39511:1: ( ( ( RULE_ID ) ) )
-            // InternalReportDSL.g:39512:2: ( ( RULE_ID ) )
+            // InternalReportDSL.g:39952:1: ( ( ( RULE_ID ) ) )
+            // InternalReportDSL.g:39953:2: ( ( RULE_ID ) )
             {
-            // InternalReportDSL.g:39512:2: ( ( RULE_ID ) )
-            // InternalReportDSL.g:39513:3: ( RULE_ID )
+            // InternalReportDSL.g:39953:2: ( ( RULE_ID ) )
+            // InternalReportDSL.g:39954:3: ( RULE_ID )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getTableMultipleAggregationAccess().getValueRefsDatamartAttributeCrossReference_2_0()); 
             }
-            // InternalReportDSL.g:39514:3: ( RULE_ID )
-            // InternalReportDSL.g:39515:4: RULE_ID
+            // InternalReportDSL.g:39955:3: ( RULE_ID )
+            // InternalReportDSL.g:39956:4: RULE_ID
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getTableMultipleAggregationAccess().getValueRefsDatamartAttributeIDTerminalRuleCall_2_0_1()); 
@@ -128652,17 +130267,17 @@
 
 
     // $ANTLR start "rule__TranslatableText__ValueAssignment_1"
-    // InternalReportDSL.g:39526:1: rule__TranslatableText__ValueAssignment_1 : ( ruleTRANSLATABLESTRING ) ;
+    // InternalReportDSL.g:39967:1: rule__TranslatableText__ValueAssignment_1 : ( ruleTRANSLATABLESTRING ) ;
     public final void rule__TranslatableText__ValueAssignment_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:39530:1: ( ( ruleTRANSLATABLESTRING ) )
-            // InternalReportDSL.g:39531:2: ( ruleTRANSLATABLESTRING )
+            // InternalReportDSL.g:39971:1: ( ( ruleTRANSLATABLESTRING ) )
+            // InternalReportDSL.g:39972:2: ( ruleTRANSLATABLESTRING )
             {
-            // InternalReportDSL.g:39531:2: ( ruleTRANSLATABLESTRING )
-            // InternalReportDSL.g:39532:3: ruleTRANSLATABLESTRING
+            // InternalReportDSL.g:39972:2: ( ruleTRANSLATABLESTRING )
+            // InternalReportDSL.g:39973:3: ruleTRANSLATABLESTRING
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getTranslatableTextAccess().getValueTRANSLATABLESTRINGParserRuleCall_1_0()); 
@@ -128697,17 +130312,17 @@
 
 
     // $ANTLR start "rule__NonTranslatableText__ValueAssignment_1"
-    // InternalReportDSL.g:39541:1: rule__NonTranslatableText__ValueAssignment_1 : ( RULE_STRING ) ;
+    // InternalReportDSL.g:39982:1: rule__NonTranslatableText__ValueAssignment_1 : ( RULE_STRING ) ;
     public final void rule__NonTranslatableText__ValueAssignment_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:39545:1: ( ( RULE_STRING ) )
-            // InternalReportDSL.g:39546:2: ( RULE_STRING )
+            // InternalReportDSL.g:39986:1: ( ( RULE_STRING ) )
+            // InternalReportDSL.g:39987:2: ( RULE_STRING )
             {
-            // InternalReportDSL.g:39546:2: ( RULE_STRING )
-            // InternalReportDSL.g:39547:3: RULE_STRING
+            // InternalReportDSL.g:39987:2: ( RULE_STRING )
+            // InternalReportDSL.g:39988:3: RULE_STRING
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getNonTranslatableTextAccess().getValueSTRINGTerminalRuleCall_1_0()); 
@@ -128738,17 +130353,17 @@
 
 
     // $ANTLR start "rule__StringBinder__ElementsAssignment_3"
-    // InternalReportDSL.g:39556:1: rule__StringBinder__ElementsAssignment_3 : ( ruleStringBinderValue ) ;
+    // InternalReportDSL.g:39997:1: rule__StringBinder__ElementsAssignment_3 : ( ruleStringBinderValue ) ;
     public final void rule__StringBinder__ElementsAssignment_3() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:39560:1: ( ( ruleStringBinderValue ) )
-            // InternalReportDSL.g:39561:2: ( ruleStringBinderValue )
+            // InternalReportDSL.g:40001:1: ( ( ruleStringBinderValue ) )
+            // InternalReportDSL.g:40002:2: ( ruleStringBinderValue )
             {
-            // InternalReportDSL.g:39561:2: ( ruleStringBinderValue )
-            // InternalReportDSL.g:39562:3: ruleStringBinderValue
+            // InternalReportDSL.g:40002:2: ( ruleStringBinderValue )
+            // InternalReportDSL.g:40003:3: ruleStringBinderValue
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getStringBinderAccess().getElementsStringBinderValueParserRuleCall_3_0()); 
@@ -128783,23 +130398,23 @@
 
 
     // $ANTLR start "rule__StringBinder__StyleAssignment_5_1"
-    // InternalReportDSL.g:39571:1: rule__StringBinder__StyleAssignment_5_1 : ( ( RULE_ID ) ) ;
+    // InternalReportDSL.g:40012:1: rule__StringBinder__StyleAssignment_5_1 : ( ( RULE_ID ) ) ;
     public final void rule__StringBinder__StyleAssignment_5_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:39575:1: ( ( ( RULE_ID ) ) )
-            // InternalReportDSL.g:39576:2: ( ( RULE_ID ) )
+            // InternalReportDSL.g:40016:1: ( ( ( RULE_ID ) ) )
+            // InternalReportDSL.g:40017:2: ( ( RULE_ID ) )
             {
-            // InternalReportDSL.g:39576:2: ( ( RULE_ID ) )
-            // InternalReportDSL.g:39577:3: ( RULE_ID )
+            // InternalReportDSL.g:40017:2: ( ( RULE_ID ) )
+            // InternalReportDSL.g:40018:3: ( RULE_ID )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getStringBinderAccess().getStyleStyleCrossReference_5_1_0()); 
             }
-            // InternalReportDSL.g:39578:3: ( RULE_ID )
-            // InternalReportDSL.g:39579:4: RULE_ID
+            // InternalReportDSL.g:40019:3: ( RULE_ID )
+            // InternalReportDSL.g:40020:4: RULE_ID
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getStringBinderAccess().getStyleStyleIDTerminalRuleCall_5_1_0_1()); 
@@ -128835,21 +130450,21 @@
     // $ANTLR end "rule__StringBinder__StyleAssignment_5_1"
 
 
-    // $ANTLR start "rule__PageBreak__BeforePageBreakAssignment_2_1"
-    // InternalReportDSL.g:39590:1: rule__PageBreak__BeforePageBreakAssignment_2_1 : ( ruleBeforeAfterPageBreakEnum ) ;
-    public final void rule__PageBreak__BeforePageBreakAssignment_2_1() throws RecognitionException {
+    // $ANTLR start "rule__PageBreak__BeforePageBreakAssignment_3_1"
+    // InternalReportDSL.g:40031:1: rule__PageBreak__BeforePageBreakAssignment_3_1 : ( ruleBeforeAfterPageBreakEnum ) ;
+    public final void rule__PageBreak__BeforePageBreakAssignment_3_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:39594:1: ( ( ruleBeforeAfterPageBreakEnum ) )
-            // InternalReportDSL.g:39595:2: ( ruleBeforeAfterPageBreakEnum )
+            // InternalReportDSL.g:40035:1: ( ( ruleBeforeAfterPageBreakEnum ) )
+            // InternalReportDSL.g:40036:2: ( ruleBeforeAfterPageBreakEnum )
             {
-            // InternalReportDSL.g:39595:2: ( ruleBeforeAfterPageBreakEnum )
-            // InternalReportDSL.g:39596:3: ruleBeforeAfterPageBreakEnum
+            // InternalReportDSL.g:40036:2: ( ruleBeforeAfterPageBreakEnum )
+            // InternalReportDSL.g:40037:3: ruleBeforeAfterPageBreakEnum
             {
             if ( state.backtracking==0 ) {
-               before(grammarAccess.getPageBreakAccess().getBeforePageBreakBeforeAfterPageBreakEnumEnumRuleCall_2_1_0()); 
+               before(grammarAccess.getPageBreakAccess().getBeforePageBreakBeforeAfterPageBreakEnumEnumRuleCall_3_1_0()); 
             }
             pushFollow(FOLLOW_2);
             ruleBeforeAfterPageBreakEnum();
@@ -128857,7 +130472,7 @@
             state._fsp--;
             if (state.failed) return ;
             if ( state.backtracking==0 ) {
-               after(grammarAccess.getPageBreakAccess().getBeforePageBreakBeforeAfterPageBreakEnumEnumRuleCall_2_1_0()); 
+               after(grammarAccess.getPageBreakAccess().getBeforePageBreakBeforeAfterPageBreakEnumEnumRuleCall_3_1_0()); 
             }
 
             }
@@ -128877,24 +130492,24 @@
         }
         return ;
     }
-    // $ANTLR end "rule__PageBreak__BeforePageBreakAssignment_2_1"
+    // $ANTLR end "rule__PageBreak__BeforePageBreakAssignment_3_1"
 
 
-    // $ANTLR start "rule__PageBreak__AfterPageBreakAssignment_3_1"
-    // InternalReportDSL.g:39605:1: rule__PageBreak__AfterPageBreakAssignment_3_1 : ( ruleBeforeAfterPageBreakEnum ) ;
-    public final void rule__PageBreak__AfterPageBreakAssignment_3_1() throws RecognitionException {
+    // $ANTLR start "rule__PageBreak__AfterPageBreakAssignment_4_1"
+    // InternalReportDSL.g:40046:1: rule__PageBreak__AfterPageBreakAssignment_4_1 : ( ruleBeforeAfterPageBreakEnum ) ;
+    public final void rule__PageBreak__AfterPageBreakAssignment_4_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:39609:1: ( ( ruleBeforeAfterPageBreakEnum ) )
-            // InternalReportDSL.g:39610:2: ( ruleBeforeAfterPageBreakEnum )
+            // InternalReportDSL.g:40050:1: ( ( ruleBeforeAfterPageBreakEnum ) )
+            // InternalReportDSL.g:40051:2: ( ruleBeforeAfterPageBreakEnum )
             {
-            // InternalReportDSL.g:39610:2: ( ruleBeforeAfterPageBreakEnum )
-            // InternalReportDSL.g:39611:3: ruleBeforeAfterPageBreakEnum
+            // InternalReportDSL.g:40051:2: ( ruleBeforeAfterPageBreakEnum )
+            // InternalReportDSL.g:40052:3: ruleBeforeAfterPageBreakEnum
             {
             if ( state.backtracking==0 ) {
-               before(grammarAccess.getPageBreakAccess().getAfterPageBreakBeforeAfterPageBreakEnumEnumRuleCall_3_1_0()); 
+               before(grammarAccess.getPageBreakAccess().getAfterPageBreakBeforeAfterPageBreakEnumEnumRuleCall_4_1_0()); 
             }
             pushFollow(FOLLOW_2);
             ruleBeforeAfterPageBreakEnum();
@@ -128902,7 +130517,7 @@
             state._fsp--;
             if (state.failed) return ;
             if ( state.backtracking==0 ) {
-               after(grammarAccess.getPageBreakAccess().getAfterPageBreakBeforeAfterPageBreakEnumEnumRuleCall_3_1_0()); 
+               after(grammarAccess.getPageBreakAccess().getAfterPageBreakBeforeAfterPageBreakEnumEnumRuleCall_4_1_0()); 
             }
 
             }
@@ -128922,24 +130537,24 @@
         }
         return ;
     }
-    // $ANTLR end "rule__PageBreak__AfterPageBreakAssignment_3_1"
+    // $ANTLR end "rule__PageBreak__AfterPageBreakAssignment_4_1"
 
 
-    // $ANTLR start "rule__PageBreak__InsidePageBreakAssignment_4_1"
-    // InternalReportDSL.g:39620:1: rule__PageBreak__InsidePageBreakAssignment_4_1 : ( ruleInsidePageBreakEnum ) ;
-    public final void rule__PageBreak__InsidePageBreakAssignment_4_1() throws RecognitionException {
+    // $ANTLR start "rule__PageBreak__InsidePageBreakAssignment_5_1"
+    // InternalReportDSL.g:40061:1: rule__PageBreak__InsidePageBreakAssignment_5_1 : ( ruleInsidePageBreakEnum ) ;
+    public final void rule__PageBreak__InsidePageBreakAssignment_5_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:39624:1: ( ( ruleInsidePageBreakEnum ) )
-            // InternalReportDSL.g:39625:2: ( ruleInsidePageBreakEnum )
+            // InternalReportDSL.g:40065:1: ( ( ruleInsidePageBreakEnum ) )
+            // InternalReportDSL.g:40066:2: ( ruleInsidePageBreakEnum )
             {
-            // InternalReportDSL.g:39625:2: ( ruleInsidePageBreakEnum )
-            // InternalReportDSL.g:39626:3: ruleInsidePageBreakEnum
+            // InternalReportDSL.g:40066:2: ( ruleInsidePageBreakEnum )
+            // InternalReportDSL.g:40067:3: ruleInsidePageBreakEnum
             {
             if ( state.backtracking==0 ) {
-               before(grammarAccess.getPageBreakAccess().getInsidePageBreakInsidePageBreakEnumEnumRuleCall_4_1_0()); 
+               before(grammarAccess.getPageBreakAccess().getInsidePageBreakInsidePageBreakEnumEnumRuleCall_5_1_0()); 
             }
             pushFollow(FOLLOW_2);
             ruleInsidePageBreakEnum();
@@ -128947,7 +130562,7 @@
             state._fsp--;
             if (state.failed) return ;
             if ( state.backtracking==0 ) {
-               after(grammarAccess.getPageBreakAccess().getInsidePageBreakInsidePageBreakEnumEnumRuleCall_4_1_0()); 
+               after(grammarAccess.getPageBreakAccess().getInsidePageBreakInsidePageBreakEnumEnumRuleCall_5_1_0()); 
             }
 
             }
@@ -128967,21 +130582,21 @@
         }
         return ;
     }
-    // $ANTLR end "rule__PageBreak__InsidePageBreakAssignment_4_1"
+    // $ANTLR end "rule__PageBreak__InsidePageBreakAssignment_5_1"
 
 
     // $ANTLR start "rule__TableBinaryAggregation__AggregationAssignment_0"
-    // InternalReportDSL.g:39635:1: rule__TableBinaryAggregation__AggregationAssignment_0 : ( ruleBinaryAggregationTypeEnum ) ;
+    // InternalReportDSL.g:40076:1: rule__TableBinaryAggregation__AggregationAssignment_0 : ( ruleBinaryAggregationTypeEnum ) ;
     public final void rule__TableBinaryAggregation__AggregationAssignment_0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:39639:1: ( ( ruleBinaryAggregationTypeEnum ) )
-            // InternalReportDSL.g:39640:2: ( ruleBinaryAggregationTypeEnum )
+            // InternalReportDSL.g:40080:1: ( ( ruleBinaryAggregationTypeEnum ) )
+            // InternalReportDSL.g:40081:2: ( ruleBinaryAggregationTypeEnum )
             {
-            // InternalReportDSL.g:39640:2: ( ruleBinaryAggregationTypeEnum )
-            // InternalReportDSL.g:39641:3: ruleBinaryAggregationTypeEnum
+            // InternalReportDSL.g:40081:2: ( ruleBinaryAggregationTypeEnum )
+            // InternalReportDSL.g:40082:3: ruleBinaryAggregationTypeEnum
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getTableBinaryAggregationAccess().getAggregationBinaryAggregationTypeEnumEnumRuleCall_0_0()); 
@@ -129016,23 +130631,23 @@
 
 
     // $ANTLR start "rule__TableBinaryAggregation__ValueRefsAssignment_2"
-    // InternalReportDSL.g:39650:1: rule__TableBinaryAggregation__ValueRefsAssignment_2 : ( ( RULE_ID ) ) ;
+    // InternalReportDSL.g:40091:1: rule__TableBinaryAggregation__ValueRefsAssignment_2 : ( ( RULE_ID ) ) ;
     public final void rule__TableBinaryAggregation__ValueRefsAssignment_2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:39654:1: ( ( ( RULE_ID ) ) )
-            // InternalReportDSL.g:39655:2: ( ( RULE_ID ) )
+            // InternalReportDSL.g:40095:1: ( ( ( RULE_ID ) ) )
+            // InternalReportDSL.g:40096:2: ( ( RULE_ID ) )
             {
-            // InternalReportDSL.g:39655:2: ( ( RULE_ID ) )
-            // InternalReportDSL.g:39656:3: ( RULE_ID )
+            // InternalReportDSL.g:40096:2: ( ( RULE_ID ) )
+            // InternalReportDSL.g:40097:3: ( RULE_ID )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getTableBinaryAggregationAccess().getValueRefsDatamartAttributeCrossReference_2_0()); 
             }
-            // InternalReportDSL.g:39657:3: ( RULE_ID )
-            // InternalReportDSL.g:39658:4: RULE_ID
+            // InternalReportDSL.g:40098:3: ( RULE_ID )
+            // InternalReportDSL.g:40099:4: RULE_ID
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getTableBinaryAggregationAccess().getValueRefsDatamartAttributeIDTerminalRuleCall_2_0_1()); 
@@ -129069,23 +130684,23 @@
 
 
     // $ANTLR start "rule__TableBinaryAggregation__ValueRefsAssignment_3"
-    // InternalReportDSL.g:39669:1: rule__TableBinaryAggregation__ValueRefsAssignment_3 : ( ( RULE_ID ) ) ;
+    // InternalReportDSL.g:40110:1: rule__TableBinaryAggregation__ValueRefsAssignment_3 : ( ( RULE_ID ) ) ;
     public final void rule__TableBinaryAggregation__ValueRefsAssignment_3() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:39673:1: ( ( ( RULE_ID ) ) )
-            // InternalReportDSL.g:39674:2: ( ( RULE_ID ) )
+            // InternalReportDSL.g:40114:1: ( ( ( RULE_ID ) ) )
+            // InternalReportDSL.g:40115:2: ( ( RULE_ID ) )
             {
-            // InternalReportDSL.g:39674:2: ( ( RULE_ID ) )
-            // InternalReportDSL.g:39675:3: ( RULE_ID )
+            // InternalReportDSL.g:40115:2: ( ( RULE_ID ) )
+            // InternalReportDSL.g:40116:3: ( RULE_ID )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getTableBinaryAggregationAccess().getValueRefsDatamartAttributeCrossReference_3_0()); 
             }
-            // InternalReportDSL.g:39676:3: ( RULE_ID )
-            // InternalReportDSL.g:39677:4: RULE_ID
+            // InternalReportDSL.g:40117:3: ( RULE_ID )
+            // InternalReportDSL.g:40118:4: RULE_ID
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getTableBinaryAggregationAccess().getValueRefsDatamartAttributeIDTerminalRuleCall_3_0_1()); 
@@ -129122,17 +130737,17 @@
 
 
     // $ANTLR start "rule__TableNumberInterval__NumberIntervalValueAssignment_2"
-    // InternalReportDSL.g:39688:1: rule__TableNumberInterval__NumberIntervalValueAssignment_2 : ( ruleSignedNumber ) ;
+    // InternalReportDSL.g:40129:1: rule__TableNumberInterval__NumberIntervalValueAssignment_2 : ( ruleSignedNumber ) ;
     public final void rule__TableNumberInterval__NumberIntervalValueAssignment_2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:39692:1: ( ( ruleSignedNumber ) )
-            // InternalReportDSL.g:39693:2: ( ruleSignedNumber )
+            // InternalReportDSL.g:40133:1: ( ( ruleSignedNumber ) )
+            // InternalReportDSL.g:40134:2: ( ruleSignedNumber )
             {
-            // InternalReportDSL.g:39693:2: ( ruleSignedNumber )
-            // InternalReportDSL.g:39694:3: ruleSignedNumber
+            // InternalReportDSL.g:40134:2: ( ruleSignedNumber )
+            // InternalReportDSL.g:40135:3: ruleSignedNumber
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getTableNumberIntervalAccess().getNumberIntervalValueSignedNumberParserRuleCall_2_0()); 
@@ -129167,17 +130782,17 @@
 
 
     // $ANTLR start "rule__TableNumberInterval__NumberRangeAssignment_3"
-    // InternalReportDSL.g:39703:1: rule__TableNumberInterval__NumberRangeAssignment_3 : ( ruleTableRangeElement ) ;
+    // InternalReportDSL.g:40144:1: rule__TableNumberInterval__NumberRangeAssignment_3 : ( ruleTableRangeElement ) ;
     public final void rule__TableNumberInterval__NumberRangeAssignment_3() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:39707:1: ( ( ruleTableRangeElement ) )
-            // InternalReportDSL.g:39708:2: ( ruleTableRangeElement )
+            // InternalReportDSL.g:40148:1: ( ( ruleTableRangeElement ) )
+            // InternalReportDSL.g:40149:2: ( ruleTableRangeElement )
             {
-            // InternalReportDSL.g:39708:2: ( ruleTableRangeElement )
-            // InternalReportDSL.g:39709:3: ruleTableRangeElement
+            // InternalReportDSL.g:40149:2: ( ruleTableRangeElement )
+            // InternalReportDSL.g:40150:3: ruleTableRangeElement
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getTableNumberIntervalAccess().getNumberRangeTableRangeElementParserRuleCall_3_0()); 
@@ -129212,17 +130827,17 @@
 
 
     // $ANTLR start "rule__TableDateDayInterval__DateIntervalValueAssignment_2"
-    // InternalReportDSL.g:39718:1: rule__TableDateDayInterval__DateIntervalValueAssignment_2 : ( ruleSignedNumber ) ;
+    // InternalReportDSL.g:40159:1: rule__TableDateDayInterval__DateIntervalValueAssignment_2 : ( ruleSignedNumber ) ;
     public final void rule__TableDateDayInterval__DateIntervalValueAssignment_2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:39722:1: ( ( ruleSignedNumber ) )
-            // InternalReportDSL.g:39723:2: ( ruleSignedNumber )
+            // InternalReportDSL.g:40163:1: ( ( ruleSignedNumber ) )
+            // InternalReportDSL.g:40164:2: ( ruleSignedNumber )
             {
-            // InternalReportDSL.g:39723:2: ( ruleSignedNumber )
-            // InternalReportDSL.g:39724:3: ruleSignedNumber
+            // InternalReportDSL.g:40164:2: ( ruleSignedNumber )
+            // InternalReportDSL.g:40165:3: ruleSignedNumber
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getTableDateDayIntervalAccess().getDateIntervalValueSignedNumberParserRuleCall_2_0()); 
@@ -129257,17 +130872,17 @@
 
 
     // $ANTLR start "rule__TableDateDayInterval__DateRangeAssignment_3"
-    // InternalReportDSL.g:39733:1: rule__TableDateDayInterval__DateRangeAssignment_3 : ( ruleTableRangeElement ) ;
+    // InternalReportDSL.g:40174:1: rule__TableDateDayInterval__DateRangeAssignment_3 : ( ruleTableRangeElement ) ;
     public final void rule__TableDateDayInterval__DateRangeAssignment_3() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:39737:1: ( ( ruleTableRangeElement ) )
-            // InternalReportDSL.g:39738:2: ( ruleTableRangeElement )
+            // InternalReportDSL.g:40178:1: ( ( ruleTableRangeElement ) )
+            // InternalReportDSL.g:40179:2: ( ruleTableRangeElement )
             {
-            // InternalReportDSL.g:39738:2: ( ruleTableRangeElement )
-            // InternalReportDSL.g:39739:3: ruleTableRangeElement
+            // InternalReportDSL.g:40179:2: ( ruleTableRangeElement )
+            // InternalReportDSL.g:40180:3: ruleTableRangeElement
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getTableDateDayIntervalAccess().getDateRangeTableRangeElementParserRuleCall_3_0()); 
@@ -129302,17 +130917,17 @@
 
 
     // $ANTLR start "rule__TableNumberLookup__LookupValueAssignment_2"
-    // InternalReportDSL.g:39748:1: rule__TableNumberLookup__LookupValueAssignment_2 : ( ruleSignedNumber ) ;
+    // InternalReportDSL.g:40189:1: rule__TableNumberLookup__LookupValueAssignment_2 : ( ruleSignedNumber ) ;
     public final void rule__TableNumberLookup__LookupValueAssignment_2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:39752:1: ( ( ruleSignedNumber ) )
-            // InternalReportDSL.g:39753:2: ( ruleSignedNumber )
+            // InternalReportDSL.g:40193:1: ( ( ruleSignedNumber ) )
+            // InternalReportDSL.g:40194:2: ( ruleSignedNumber )
             {
-            // InternalReportDSL.g:39753:2: ( ruleSignedNumber )
-            // InternalReportDSL.g:39754:3: ruleSignedNumber
+            // InternalReportDSL.g:40194:2: ( ruleSignedNumber )
+            // InternalReportDSL.g:40195:3: ruleSignedNumber
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getTableNumberLookupAccess().getLookupValueSignedNumberParserRuleCall_2_0()); 
@@ -129347,17 +130962,17 @@
 
 
     // $ANTLR start "rule__TableNumberLookup__DiscreteAssignment_3"
-    // InternalReportDSL.g:39763:1: rule__TableNumberLookup__DiscreteAssignment_3 : ( ruleTableRangeElement ) ;
+    // InternalReportDSL.g:40204:1: rule__TableNumberLookup__DiscreteAssignment_3 : ( ruleTableRangeElement ) ;
     public final void rule__TableNumberLookup__DiscreteAssignment_3() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:39767:1: ( ( ruleTableRangeElement ) )
-            // InternalReportDSL.g:39768:2: ( ruleTableRangeElement )
+            // InternalReportDSL.g:40208:1: ( ( ruleTableRangeElement ) )
+            // InternalReportDSL.g:40209:2: ( ruleTableRangeElement )
             {
-            // InternalReportDSL.g:39768:2: ( ruleTableRangeElement )
-            // InternalReportDSL.g:39769:3: ruleTableRangeElement
+            // InternalReportDSL.g:40209:2: ( ruleTableRangeElement )
+            // InternalReportDSL.g:40210:3: ruleTableRangeElement
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getTableNumberLookupAccess().getDiscreteTableRangeElementParserRuleCall_3_0()); 
@@ -129392,17 +131007,17 @@
 
 
     // $ANTLR start "rule__TableStringLookup__LookupValueAssignment_2"
-    // InternalReportDSL.g:39778:1: rule__TableStringLookup__LookupValueAssignment_2 : ( RULE_STRING ) ;
+    // InternalReportDSL.g:40219:1: rule__TableStringLookup__LookupValueAssignment_2 : ( RULE_STRING ) ;
     public final void rule__TableStringLookup__LookupValueAssignment_2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:39782:1: ( ( RULE_STRING ) )
-            // InternalReportDSL.g:39783:2: ( RULE_STRING )
+            // InternalReportDSL.g:40223:1: ( ( RULE_STRING ) )
+            // InternalReportDSL.g:40224:2: ( RULE_STRING )
             {
-            // InternalReportDSL.g:39783:2: ( RULE_STRING )
-            // InternalReportDSL.g:39784:3: RULE_STRING
+            // InternalReportDSL.g:40224:2: ( RULE_STRING )
+            // InternalReportDSL.g:40225:3: RULE_STRING
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getTableStringLookupAccess().getLookupValueSTRINGTerminalRuleCall_2_0()); 
@@ -129433,17 +131048,17 @@
 
 
     // $ANTLR start "rule__TableStringLookup__DiscreteAssignment_3"
-    // InternalReportDSL.g:39793:1: rule__TableStringLookup__DiscreteAssignment_3 : ( ruleTableRangeElement ) ;
+    // InternalReportDSL.g:40234:1: rule__TableStringLookup__DiscreteAssignment_3 : ( ruleTableRangeElement ) ;
     public final void rule__TableStringLookup__DiscreteAssignment_3() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:39797:1: ( ( ruleTableRangeElement ) )
-            // InternalReportDSL.g:39798:2: ( ruleTableRangeElement )
+            // InternalReportDSL.g:40238:1: ( ( ruleTableRangeElement ) )
+            // InternalReportDSL.g:40239:2: ( ruleTableRangeElement )
             {
-            // InternalReportDSL.g:39798:2: ( ruleTableRangeElement )
-            // InternalReportDSL.g:39799:3: ruleTableRangeElement
+            // InternalReportDSL.g:40239:2: ( ruleTableRangeElement )
+            // InternalReportDSL.g:40240:3: ruleTableRangeElement
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getTableStringLookupAccess().getDiscreteTableRangeElementParserRuleCall_3_0()); 
@@ -129478,17 +131093,17 @@
 
 
     // $ANTLR start "rule__TableDateDayLookup__LookupValueAssignment_2"
-    // InternalReportDSL.g:39808:1: rule__TableDateDayLookup__LookupValueAssignment_2 : ( ruleSignedNumber ) ;
+    // InternalReportDSL.g:40249:1: rule__TableDateDayLookup__LookupValueAssignment_2 : ( ruleSignedNumber ) ;
     public final void rule__TableDateDayLookup__LookupValueAssignment_2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:39812:1: ( ( ruleSignedNumber ) )
-            // InternalReportDSL.g:39813:2: ( ruleSignedNumber )
+            // InternalReportDSL.g:40253:1: ( ( ruleSignedNumber ) )
+            // InternalReportDSL.g:40254:2: ( ruleSignedNumber )
             {
-            // InternalReportDSL.g:39813:2: ( ruleSignedNumber )
-            // InternalReportDSL.g:39814:3: ruleSignedNumber
+            // InternalReportDSL.g:40254:2: ( ruleSignedNumber )
+            // InternalReportDSL.g:40255:3: ruleSignedNumber
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getTableDateDayLookupAccess().getLookupValueSignedNumberParserRuleCall_2_0()); 
@@ -129523,17 +131138,17 @@
 
 
     // $ANTLR start "rule__TableDateDayLookup__DiscreteAssignment_3"
-    // InternalReportDSL.g:39823:1: rule__TableDateDayLookup__DiscreteAssignment_3 : ( ruleTableRangeElement ) ;
+    // InternalReportDSL.g:40264:1: rule__TableDateDayLookup__DiscreteAssignment_3 : ( ruleTableRangeElement ) ;
     public final void rule__TableDateDayLookup__DiscreteAssignment_3() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:39827:1: ( ( ruleTableRangeElement ) )
-            // InternalReportDSL.g:39828:2: ( ruleTableRangeElement )
+            // InternalReportDSL.g:40268:1: ( ( ruleTableRangeElement ) )
+            // InternalReportDSL.g:40269:2: ( ruleTableRangeElement )
             {
-            // InternalReportDSL.g:39828:2: ( ruleTableRangeElement )
-            // InternalReportDSL.g:39829:3: ruleTableRangeElement
+            // InternalReportDSL.g:40269:2: ( ruleTableRangeElement )
+            // InternalReportDSL.g:40270:3: ruleTableRangeElement
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getTableDateDayLookupAccess().getDiscreteTableRangeElementParserRuleCall_3_0()); 
@@ -129568,28 +131183,28 @@
 
 
     // $ANTLR start "rule__Visibility__VisibilityAssignment_0"
-    // InternalReportDSL.g:39838:1: rule__Visibility__VisibilityAssignment_0 : ( ( 'visibility' ) ) ;
+    // InternalReportDSL.g:40279:1: rule__Visibility__VisibilityAssignment_0 : ( ( 'visibility' ) ) ;
     public final void rule__Visibility__VisibilityAssignment_0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:39842:1: ( ( ( 'visibility' ) ) )
-            // InternalReportDSL.g:39843:2: ( ( 'visibility' ) )
+            // InternalReportDSL.g:40283:1: ( ( ( 'visibility' ) ) )
+            // InternalReportDSL.g:40284:2: ( ( 'visibility' ) )
             {
-            // InternalReportDSL.g:39843:2: ( ( 'visibility' ) )
-            // InternalReportDSL.g:39844:3: ( 'visibility' )
+            // InternalReportDSL.g:40284:2: ( ( 'visibility' ) )
+            // InternalReportDSL.g:40285:3: ( 'visibility' )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getVisibilityAccess().getVisibilityVisibilityKeyword_0_0()); 
             }
-            // InternalReportDSL.g:39845:3: ( 'visibility' )
-            // InternalReportDSL.g:39846:4: 'visibility'
+            // InternalReportDSL.g:40286:3: ( 'visibility' )
+            // InternalReportDSL.g:40287:4: 'visibility'
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getVisibilityAccess().getVisibilityVisibilityKeyword_0_0()); 
             }
-            match(input,260,FOLLOW_2); if (state.failed) return ;
+            match(input,265,FOLLOW_2); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getVisibilityAccess().getVisibilityVisibilityKeyword_0_0()); 
             }
@@ -129621,23 +131236,23 @@
 
 
     // $ANTLR start "rule__Visibility__VisibilityAttributeAssignment_1"
-    // InternalReportDSL.g:39857:1: rule__Visibility__VisibilityAttributeAssignment_1 : ( ( RULE_ID ) ) ;
+    // InternalReportDSL.g:40298:1: rule__Visibility__VisibilityAttributeAssignment_1 : ( ( RULE_ID ) ) ;
     public final void rule__Visibility__VisibilityAttributeAssignment_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:39861:1: ( ( ( RULE_ID ) ) )
-            // InternalReportDSL.g:39862:2: ( ( RULE_ID ) )
+            // InternalReportDSL.g:40302:1: ( ( ( RULE_ID ) ) )
+            // InternalReportDSL.g:40303:2: ( ( RULE_ID ) )
             {
-            // InternalReportDSL.g:39862:2: ( ( RULE_ID ) )
-            // InternalReportDSL.g:39863:3: ( RULE_ID )
+            // InternalReportDSL.g:40303:2: ( ( RULE_ID ) )
+            // InternalReportDSL.g:40304:3: ( RULE_ID )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getVisibilityAccess().getVisibilityAttributeDatamartAttributeCrossReference_1_0()); 
             }
-            // InternalReportDSL.g:39864:3: ( RULE_ID )
-            // InternalReportDSL.g:39865:4: RULE_ID
+            // InternalReportDSL.g:40305:3: ( RULE_ID )
+            // InternalReportDSL.g:40306:4: RULE_ID
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getVisibilityAccess().getVisibilityAttributeDatamartAttributeIDTerminalRuleCall_1_0_1()); 
@@ -129674,23 +131289,23 @@
 
 
     // $ANTLR start "rule__TableTextColor__ColorAssignment_1"
-    // InternalReportDSL.g:39876:1: rule__TableTextColor__ColorAssignment_1 : ( ( RULE_ID ) ) ;
+    // InternalReportDSL.g:40317:1: rule__TableTextColor__ColorAssignment_1 : ( ( RULE_ID ) ) ;
     public final void rule__TableTextColor__ColorAssignment_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:39880:1: ( ( ( RULE_ID ) ) )
-            // InternalReportDSL.g:39881:2: ( ( RULE_ID ) )
+            // InternalReportDSL.g:40321:1: ( ( ( RULE_ID ) ) )
+            // InternalReportDSL.g:40322:2: ( ( RULE_ID ) )
             {
-            // InternalReportDSL.g:39881:2: ( ( RULE_ID ) )
-            // InternalReportDSL.g:39882:3: ( RULE_ID )
+            // InternalReportDSL.g:40322:2: ( ( RULE_ID ) )
+            // InternalReportDSL.g:40323:3: ( RULE_ID )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getTableTextColorAccess().getColorColorCrossReference_1_0()); 
             }
-            // InternalReportDSL.g:39883:3: ( RULE_ID )
-            // InternalReportDSL.g:39884:4: RULE_ID
+            // InternalReportDSL.g:40324:3: ( RULE_ID )
+            // InternalReportDSL.g:40325:4: RULE_ID
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getTableTextColorAccess().getColorColorIDTerminalRuleCall_1_0_1()); 
@@ -129727,23 +131342,23 @@
 
 
     // $ANTLR start "rule__TableCellColor__ColorAssignment_1"
-    // InternalReportDSL.g:39895:1: rule__TableCellColor__ColorAssignment_1 : ( ( RULE_ID ) ) ;
+    // InternalReportDSL.g:40336:1: rule__TableCellColor__ColorAssignment_1 : ( ( RULE_ID ) ) ;
     public final void rule__TableCellColor__ColorAssignment_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:39899:1: ( ( ( RULE_ID ) ) )
-            // InternalReportDSL.g:39900:2: ( ( RULE_ID ) )
+            // InternalReportDSL.g:40340:1: ( ( ( RULE_ID ) ) )
+            // InternalReportDSL.g:40341:2: ( ( RULE_ID ) )
             {
-            // InternalReportDSL.g:39900:2: ( ( RULE_ID ) )
-            // InternalReportDSL.g:39901:3: ( RULE_ID )
+            // InternalReportDSL.g:40341:2: ( ( RULE_ID ) )
+            // InternalReportDSL.g:40342:3: ( RULE_ID )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getTableCellColorAccess().getColorColorCrossReference_1_0()); 
             }
-            // InternalReportDSL.g:39902:3: ( RULE_ID )
-            // InternalReportDSL.g:39903:4: RULE_ID
+            // InternalReportDSL.g:40343:3: ( RULE_ID )
+            // InternalReportDSL.g:40344:4: RULE_ID
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getTableCellColorAccess().getColorColorIDTerminalRuleCall_1_0_1()); 
@@ -129780,17 +131395,17 @@
 
 
     // $ANTLR start "rule__TableIcon__IconAssignment_1"
-    // InternalReportDSL.g:39914:1: rule__TableIcon__IconAssignment_1 : ( RULE_STRING ) ;
+    // InternalReportDSL.g:40355:1: rule__TableIcon__IconAssignment_1 : ( RULE_STRING ) ;
     public final void rule__TableIcon__IconAssignment_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:39918:1: ( ( RULE_STRING ) )
-            // InternalReportDSL.g:39919:2: ( RULE_STRING )
+            // InternalReportDSL.g:40359:1: ( ( RULE_STRING ) )
+            // InternalReportDSL.g:40360:2: ( RULE_STRING )
             {
-            // InternalReportDSL.g:39919:2: ( RULE_STRING )
-            // InternalReportDSL.g:39920:3: RULE_STRING
+            // InternalReportDSL.g:40360:2: ( RULE_STRING )
+            // InternalReportDSL.g:40361:3: RULE_STRING
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getTableIconAccess().getIconSTRINGTerminalRuleCall_1_0()); 
@@ -129821,17 +131436,17 @@
 
 
     // $ANTLR start "rule__TableTrend__IconAssignment_1"
-    // InternalReportDSL.g:39929:1: rule__TableTrend__IconAssignment_1 : ( ruleTrendIconEnum ) ;
+    // InternalReportDSL.g:40370:1: rule__TableTrend__IconAssignment_1 : ( ruleTrendIconEnum ) ;
     public final void rule__TableTrend__IconAssignment_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:39933:1: ( ( ruleTrendIconEnum ) )
-            // InternalReportDSL.g:39934:2: ( ruleTrendIconEnum )
+            // InternalReportDSL.g:40374:1: ( ( ruleTrendIconEnum ) )
+            // InternalReportDSL.g:40375:2: ( ruleTrendIconEnum )
             {
-            // InternalReportDSL.g:39934:2: ( ruleTrendIconEnum )
-            // InternalReportDSL.g:39935:3: ruleTrendIconEnum
+            // InternalReportDSL.g:40375:2: ( ruleTrendIconEnum )
+            // InternalReportDSL.g:40376:3: ruleTrendIconEnum
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getTableTrendAccess().getIconTrendIconEnumEnumRuleCall_1_0()); 
@@ -129866,17 +131481,17 @@
 
 
     // $ANTLR start "rule__Title__TextAssignment_2"
-    // InternalReportDSL.g:39944:1: rule__Title__TextAssignment_2 : ( ruleTRANSLATABLESTRING ) ;
+    // InternalReportDSL.g:40385:1: rule__Title__TextAssignment_2 : ( ruleTRANSLATABLESTRING ) ;
     public final void rule__Title__TextAssignment_2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:39948:1: ( ( ruleTRANSLATABLESTRING ) )
-            // InternalReportDSL.g:39949:2: ( ruleTRANSLATABLESTRING )
+            // InternalReportDSL.g:40389:1: ( ( ruleTRANSLATABLESTRING ) )
+            // InternalReportDSL.g:40390:2: ( ruleTRANSLATABLESTRING )
             {
-            // InternalReportDSL.g:39949:2: ( ruleTRANSLATABLESTRING )
-            // InternalReportDSL.g:39950:3: ruleTRANSLATABLESTRING
+            // InternalReportDSL.g:40390:2: ( ruleTRANSLATABLESTRING )
+            // InternalReportDSL.g:40391:3: ruleTRANSLATABLESTRING
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getTitleAccess().getTextTRANSLATABLESTRINGParserRuleCall_2_0()); 
@@ -129911,23 +131526,23 @@
 
 
     // $ANTLR start "rule__Title__StyleAssignment_3_1"
-    // InternalReportDSL.g:39959:1: rule__Title__StyleAssignment_3_1 : ( ( RULE_ID ) ) ;
+    // InternalReportDSL.g:40400:1: rule__Title__StyleAssignment_3_1 : ( ( RULE_ID ) ) ;
     public final void rule__Title__StyleAssignment_3_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:39963:1: ( ( ( RULE_ID ) ) )
-            // InternalReportDSL.g:39964:2: ( ( RULE_ID ) )
+            // InternalReportDSL.g:40404:1: ( ( ( RULE_ID ) ) )
+            // InternalReportDSL.g:40405:2: ( ( RULE_ID ) )
             {
-            // InternalReportDSL.g:39964:2: ( ( RULE_ID ) )
-            // InternalReportDSL.g:39965:3: ( RULE_ID )
+            // InternalReportDSL.g:40405:2: ( ( RULE_ID ) )
+            // InternalReportDSL.g:40406:3: ( RULE_ID )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getTitleAccess().getStyleStyleCrossReference_3_1_0()); 
             }
-            // InternalReportDSL.g:39966:3: ( RULE_ID )
-            // InternalReportDSL.g:39967:4: RULE_ID
+            // InternalReportDSL.g:40407:3: ( RULE_ID )
+            // InternalReportDSL.g:40408:4: RULE_ID
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getTitleAccess().getStyleStyleIDTerminalRuleCall_3_1_0_1()); 
@@ -129964,17 +131579,17 @@
 
 
     // $ANTLR start "rule__SubTitle__TextAssignment_2"
-    // InternalReportDSL.g:39978:1: rule__SubTitle__TextAssignment_2 : ( ruleTRANSLATABLESTRING ) ;
+    // InternalReportDSL.g:40419:1: rule__SubTitle__TextAssignment_2 : ( ruleTRANSLATABLESTRING ) ;
     public final void rule__SubTitle__TextAssignment_2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:39982:1: ( ( ruleTRANSLATABLESTRING ) )
-            // InternalReportDSL.g:39983:2: ( ruleTRANSLATABLESTRING )
+            // InternalReportDSL.g:40423:1: ( ( ruleTRANSLATABLESTRING ) )
+            // InternalReportDSL.g:40424:2: ( ruleTRANSLATABLESTRING )
             {
-            // InternalReportDSL.g:39983:2: ( ruleTRANSLATABLESTRING )
-            // InternalReportDSL.g:39984:3: ruleTRANSLATABLESTRING
+            // InternalReportDSL.g:40424:2: ( ruleTRANSLATABLESTRING )
+            // InternalReportDSL.g:40425:3: ruleTRANSLATABLESTRING
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getSubTitleAccess().getTextTRANSLATABLESTRINGParserRuleCall_2_0()); 
@@ -130009,23 +131624,23 @@
 
 
     // $ANTLR start "rule__SubTitle__StyleAssignment_3_1"
-    // InternalReportDSL.g:39993:1: rule__SubTitle__StyleAssignment_3_1 : ( ( RULE_ID ) ) ;
+    // InternalReportDSL.g:40434:1: rule__SubTitle__StyleAssignment_3_1 : ( ( RULE_ID ) ) ;
     public final void rule__SubTitle__StyleAssignment_3_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:39997:1: ( ( ( RULE_ID ) ) )
-            // InternalReportDSL.g:39998:2: ( ( RULE_ID ) )
+            // InternalReportDSL.g:40438:1: ( ( ( RULE_ID ) ) )
+            // InternalReportDSL.g:40439:2: ( ( RULE_ID ) )
             {
-            // InternalReportDSL.g:39998:2: ( ( RULE_ID ) )
-            // InternalReportDSL.g:39999:3: ( RULE_ID )
+            // InternalReportDSL.g:40439:2: ( ( RULE_ID ) )
+            // InternalReportDSL.g:40440:3: ( RULE_ID )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getSubTitleAccess().getStyleStyleCrossReference_3_1_0()); 
             }
-            // InternalReportDSL.g:40000:3: ( RULE_ID )
-            // InternalReportDSL.g:40001:4: RULE_ID
+            // InternalReportDSL.g:40441:3: ( RULE_ID )
+            // InternalReportDSL.g:40442:4: RULE_ID
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getSubTitleAccess().getStyleStyleIDTerminalRuleCall_3_1_0_1()); 
@@ -130062,17 +131677,17 @@
 
 
     // $ANTLR start "rule__SubSubTitle__TextAssignment_2"
-    // InternalReportDSL.g:40012:1: rule__SubSubTitle__TextAssignment_2 : ( ruleTRANSLATABLESTRING ) ;
+    // InternalReportDSL.g:40453:1: rule__SubSubTitle__TextAssignment_2 : ( ruleTRANSLATABLESTRING ) ;
     public final void rule__SubSubTitle__TextAssignment_2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:40016:1: ( ( ruleTRANSLATABLESTRING ) )
-            // InternalReportDSL.g:40017:2: ( ruleTRANSLATABLESTRING )
+            // InternalReportDSL.g:40457:1: ( ( ruleTRANSLATABLESTRING ) )
+            // InternalReportDSL.g:40458:2: ( ruleTRANSLATABLESTRING )
             {
-            // InternalReportDSL.g:40017:2: ( ruleTRANSLATABLESTRING )
-            // InternalReportDSL.g:40018:3: ruleTRANSLATABLESTRING
+            // InternalReportDSL.g:40458:2: ( ruleTRANSLATABLESTRING )
+            // InternalReportDSL.g:40459:3: ruleTRANSLATABLESTRING
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getSubSubTitleAccess().getTextTRANSLATABLESTRINGParserRuleCall_2_0()); 
@@ -130107,23 +131722,23 @@
 
 
     // $ANTLR start "rule__SubSubTitle__StyleAssignment_3_1"
-    // InternalReportDSL.g:40027:1: rule__SubSubTitle__StyleAssignment_3_1 : ( ( RULE_ID ) ) ;
+    // InternalReportDSL.g:40468:1: rule__SubSubTitle__StyleAssignment_3_1 : ( ( RULE_ID ) ) ;
     public final void rule__SubSubTitle__StyleAssignment_3_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:40031:1: ( ( ( RULE_ID ) ) )
-            // InternalReportDSL.g:40032:2: ( ( RULE_ID ) )
+            // InternalReportDSL.g:40472:1: ( ( ( RULE_ID ) ) )
+            // InternalReportDSL.g:40473:2: ( ( RULE_ID ) )
             {
-            // InternalReportDSL.g:40032:2: ( ( RULE_ID ) )
-            // InternalReportDSL.g:40033:3: ( RULE_ID )
+            // InternalReportDSL.g:40473:2: ( ( RULE_ID ) )
+            // InternalReportDSL.g:40474:3: ( RULE_ID )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getSubSubTitleAccess().getStyleStyleCrossReference_3_1_0()); 
             }
-            // InternalReportDSL.g:40034:3: ( RULE_ID )
-            // InternalReportDSL.g:40035:4: RULE_ID
+            // InternalReportDSL.g:40475:3: ( RULE_ID )
+            // InternalReportDSL.g:40476:4: RULE_ID
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getSubSubTitleAccess().getStyleStyleIDTerminalRuleCall_3_1_0_1()); 
@@ -130160,17 +131775,17 @@
 
 
     // $ANTLR start "rule__Label__TextAssignment_2"
-    // InternalReportDSL.g:40046:1: rule__Label__TextAssignment_2 : ( ruleTRANSLATABLESTRING ) ;
+    // InternalReportDSL.g:40487:1: rule__Label__TextAssignment_2 : ( ruleTRANSLATABLESTRING ) ;
     public final void rule__Label__TextAssignment_2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:40050:1: ( ( ruleTRANSLATABLESTRING ) )
-            // InternalReportDSL.g:40051:2: ( ruleTRANSLATABLESTRING )
+            // InternalReportDSL.g:40491:1: ( ( ruleTRANSLATABLESTRING ) )
+            // InternalReportDSL.g:40492:2: ( ruleTRANSLATABLESTRING )
             {
-            // InternalReportDSL.g:40051:2: ( ruleTRANSLATABLESTRING )
-            // InternalReportDSL.g:40052:3: ruleTRANSLATABLESTRING
+            // InternalReportDSL.g:40492:2: ( ruleTRANSLATABLESTRING )
+            // InternalReportDSL.g:40493:3: ruleTRANSLATABLESTRING
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getLabelAccess().getTextTRANSLATABLESTRINGParserRuleCall_2_0()); 
@@ -130205,23 +131820,23 @@
 
 
     // $ANTLR start "rule__Label__StyleAssignment_3_1"
-    // InternalReportDSL.g:40061:1: rule__Label__StyleAssignment_3_1 : ( ( RULE_ID ) ) ;
+    // InternalReportDSL.g:40502:1: rule__Label__StyleAssignment_3_1 : ( ( RULE_ID ) ) ;
     public final void rule__Label__StyleAssignment_3_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:40065:1: ( ( ( RULE_ID ) ) )
-            // InternalReportDSL.g:40066:2: ( ( RULE_ID ) )
+            // InternalReportDSL.g:40506:1: ( ( ( RULE_ID ) ) )
+            // InternalReportDSL.g:40507:2: ( ( RULE_ID ) )
             {
-            // InternalReportDSL.g:40066:2: ( ( RULE_ID ) )
-            // InternalReportDSL.g:40067:3: ( RULE_ID )
+            // InternalReportDSL.g:40507:2: ( ( RULE_ID ) )
+            // InternalReportDSL.g:40508:3: ( RULE_ID )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getLabelAccess().getStyleStyleCrossReference_3_1_0()); 
             }
-            // InternalReportDSL.g:40068:3: ( RULE_ID )
-            // InternalReportDSL.g:40069:4: RULE_ID
+            // InternalReportDSL.g:40509:3: ( RULE_ID )
+            // InternalReportDSL.g:40510:4: RULE_ID
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getLabelAccess().getStyleStyleIDTerminalRuleCall_3_1_0_1()); 
@@ -130258,17 +131873,17 @@
 
 
     // $ANTLR start "rule__Text__TextContentTypeAssignment_2"
-    // InternalReportDSL.g:40080:1: rule__Text__TextContentTypeAssignment_2 : ( ruleTextContentTypeEnum ) ;
+    // InternalReportDSL.g:40521:1: rule__Text__TextContentTypeAssignment_2 : ( ruleTextContentTypeEnum ) ;
     public final void rule__Text__TextContentTypeAssignment_2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:40084:1: ( ( ruleTextContentTypeEnum ) )
-            // InternalReportDSL.g:40085:2: ( ruleTextContentTypeEnum )
+            // InternalReportDSL.g:40525:1: ( ( ruleTextContentTypeEnum ) )
+            // InternalReportDSL.g:40526:2: ( ruleTextContentTypeEnum )
             {
-            // InternalReportDSL.g:40085:2: ( ruleTextContentTypeEnum )
-            // InternalReportDSL.g:40086:3: ruleTextContentTypeEnum
+            // InternalReportDSL.g:40526:2: ( ruleTextContentTypeEnum )
+            // InternalReportDSL.g:40527:3: ruleTextContentTypeEnum
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getTextAccess().getTextContentTypeTextContentTypeEnumEnumRuleCall_2_0()); 
@@ -130303,17 +131918,17 @@
 
 
     // $ANTLR start "rule__Text__TextAssignment_3"
-    // InternalReportDSL.g:40095:1: rule__Text__TextAssignment_3 : ( ruleTRANSLATABLESTRING ) ;
+    // InternalReportDSL.g:40536:1: rule__Text__TextAssignment_3 : ( ruleTRANSLATABLESTRING ) ;
     public final void rule__Text__TextAssignment_3() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:40099:1: ( ( ruleTRANSLATABLESTRING ) )
-            // InternalReportDSL.g:40100:2: ( ruleTRANSLATABLESTRING )
+            // InternalReportDSL.g:40540:1: ( ( ruleTRANSLATABLESTRING ) )
+            // InternalReportDSL.g:40541:2: ( ruleTRANSLATABLESTRING )
             {
-            // InternalReportDSL.g:40100:2: ( ruleTRANSLATABLESTRING )
-            // InternalReportDSL.g:40101:3: ruleTRANSLATABLESTRING
+            // InternalReportDSL.g:40541:2: ( ruleTRANSLATABLESTRING )
+            // InternalReportDSL.g:40542:3: ruleTRANSLATABLESTRING
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getTextAccess().getTextTRANSLATABLESTRINGParserRuleCall_3_0()); 
@@ -130348,23 +131963,23 @@
 
 
     // $ANTLR start "rule__Text__StyleAssignment_4_1"
-    // InternalReportDSL.g:40110:1: rule__Text__StyleAssignment_4_1 : ( ( RULE_ID ) ) ;
+    // InternalReportDSL.g:40551:1: rule__Text__StyleAssignment_4_1 : ( ( RULE_ID ) ) ;
     public final void rule__Text__StyleAssignment_4_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:40114:1: ( ( ( RULE_ID ) ) )
-            // InternalReportDSL.g:40115:2: ( ( RULE_ID ) )
+            // InternalReportDSL.g:40555:1: ( ( ( RULE_ID ) ) )
+            // InternalReportDSL.g:40556:2: ( ( RULE_ID ) )
             {
-            // InternalReportDSL.g:40115:2: ( ( RULE_ID ) )
-            // InternalReportDSL.g:40116:3: ( RULE_ID )
+            // InternalReportDSL.g:40556:2: ( ( RULE_ID ) )
+            // InternalReportDSL.g:40557:3: ( RULE_ID )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getTextAccess().getStyleStyleCrossReference_4_1_0()); 
             }
-            // InternalReportDSL.g:40117:3: ( RULE_ID )
-            // InternalReportDSL.g:40118:4: RULE_ID
+            // InternalReportDSL.g:40558:3: ( RULE_ID )
+            // InternalReportDSL.g:40559:4: RULE_ID
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getTextAccess().getStyleStyleIDTerminalRuleCall_4_1_0_1()); 
@@ -130401,17 +132016,17 @@
 
 
     // $ANTLR start "rule__AutoText__TypeAssignment_1"
-    // InternalReportDSL.g:40129:1: rule__AutoText__TypeAssignment_1 : ( ruleAutoTextEnum ) ;
+    // InternalReportDSL.g:40570:1: rule__AutoText__TypeAssignment_1 : ( ruleAutoTextEnum ) ;
     public final void rule__AutoText__TypeAssignment_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:40133:1: ( ( ruleAutoTextEnum ) )
-            // InternalReportDSL.g:40134:2: ( ruleAutoTextEnum )
+            // InternalReportDSL.g:40574:1: ( ( ruleAutoTextEnum ) )
+            // InternalReportDSL.g:40575:2: ( ruleAutoTextEnum )
             {
-            // InternalReportDSL.g:40134:2: ( ruleAutoTextEnum )
-            // InternalReportDSL.g:40135:3: ruleAutoTextEnum
+            // InternalReportDSL.g:40575:2: ( ruleAutoTextEnum )
+            // InternalReportDSL.g:40576:3: ruleAutoTextEnum
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getAutoTextAccess().getTypeAutoTextEnumEnumRuleCall_1_0()); 
@@ -130446,23 +132061,23 @@
 
 
     // $ANTLR start "rule__AutoText__StyleAssignment_2_1"
-    // InternalReportDSL.g:40144:1: rule__AutoText__StyleAssignment_2_1 : ( ( RULE_ID ) ) ;
+    // InternalReportDSL.g:40585:1: rule__AutoText__StyleAssignment_2_1 : ( ( RULE_ID ) ) ;
     public final void rule__AutoText__StyleAssignment_2_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:40148:1: ( ( ( RULE_ID ) ) )
-            // InternalReportDSL.g:40149:2: ( ( RULE_ID ) )
+            // InternalReportDSL.g:40589:1: ( ( ( RULE_ID ) ) )
+            // InternalReportDSL.g:40590:2: ( ( RULE_ID ) )
             {
-            // InternalReportDSL.g:40149:2: ( ( RULE_ID ) )
-            // InternalReportDSL.g:40150:3: ( RULE_ID )
+            // InternalReportDSL.g:40590:2: ( ( RULE_ID ) )
+            // InternalReportDSL.g:40591:3: ( RULE_ID )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getAutoTextAccess().getStyleStyleCrossReference_2_1_0()); 
             }
-            // InternalReportDSL.g:40151:3: ( RULE_ID )
-            // InternalReportDSL.g:40152:4: RULE_ID
+            // InternalReportDSL.g:40592:3: ( RULE_ID )
+            // InternalReportDSL.g:40593:4: RULE_ID
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getAutoTextAccess().getStyleStyleIDTerminalRuleCall_2_1_0_1()); 
@@ -130499,17 +132114,17 @@
 
 
     // $ANTLR start "rule__Image__SizeAssignment_1"
-    // InternalReportDSL.g:40163:1: rule__Image__SizeAssignment_1 : ( ruleImageSizeEnum ) ;
+    // InternalReportDSL.g:40604:1: rule__Image__SizeAssignment_1 : ( ruleImageSizeEnum ) ;
     public final void rule__Image__SizeAssignment_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:40167:1: ( ( ruleImageSizeEnum ) )
-            // InternalReportDSL.g:40168:2: ( ruleImageSizeEnum )
+            // InternalReportDSL.g:40608:1: ( ( ruleImageSizeEnum ) )
+            // InternalReportDSL.g:40609:2: ( ruleImageSizeEnum )
             {
-            // InternalReportDSL.g:40168:2: ( ruleImageSizeEnum )
-            // InternalReportDSL.g:40169:3: ruleImageSizeEnum
+            // InternalReportDSL.g:40609:2: ( ruleImageSizeEnum )
+            // InternalReportDSL.g:40610:3: ruleImageSizeEnum
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getImageAccess().getSizeImageSizeEnumEnumRuleCall_1_0()); 
@@ -130544,17 +132159,17 @@
 
 
     // $ANTLR start "rule__Image__ScaleAssignment_2_1"
-    // InternalReportDSL.g:40178:1: rule__Image__ScaleAssignment_2_1 : ( ruleUnsignedNumber ) ;
+    // InternalReportDSL.g:40619:1: rule__Image__ScaleAssignment_2_1 : ( ruleUnsignedNumber ) ;
     public final void rule__Image__ScaleAssignment_2_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:40182:1: ( ( ruleUnsignedNumber ) )
-            // InternalReportDSL.g:40183:2: ( ruleUnsignedNumber )
+            // InternalReportDSL.g:40623:1: ( ( ruleUnsignedNumber ) )
+            // InternalReportDSL.g:40624:2: ( ruleUnsignedNumber )
             {
-            // InternalReportDSL.g:40183:2: ( ruleUnsignedNumber )
-            // InternalReportDSL.g:40184:3: ruleUnsignedNumber
+            // InternalReportDSL.g:40624:2: ( ruleUnsignedNumber )
+            // InternalReportDSL.g:40625:3: ruleUnsignedNumber
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getImageAccess().getScaleUnsignedNumberParserRuleCall_2_1_0()); 
@@ -130589,17 +132204,17 @@
 
 
     // $ANTLR start "rule__Image__HeightValueAssignment_3_1"
-    // InternalReportDSL.g:40193:1: rule__Image__HeightValueAssignment_3_1 : ( ruleUnsignedNumber ) ;
+    // InternalReportDSL.g:40634:1: rule__Image__HeightValueAssignment_3_1 : ( ruleUnsignedNumber ) ;
     public final void rule__Image__HeightValueAssignment_3_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:40197:1: ( ( ruleUnsignedNumber ) )
-            // InternalReportDSL.g:40198:2: ( ruleUnsignedNumber )
+            // InternalReportDSL.g:40638:1: ( ( ruleUnsignedNumber ) )
+            // InternalReportDSL.g:40639:2: ( ruleUnsignedNumber )
             {
-            // InternalReportDSL.g:40198:2: ( ruleUnsignedNumber )
-            // InternalReportDSL.g:40199:3: ruleUnsignedNumber
+            // InternalReportDSL.g:40639:2: ( ruleUnsignedNumber )
+            // InternalReportDSL.g:40640:3: ruleUnsignedNumber
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getImageAccess().getHeightValueUnsignedNumberParserRuleCall_3_1_0()); 
@@ -130634,17 +132249,17 @@
 
 
     // $ANTLR start "rule__Image__HeightUnitAssignment_3_2"
-    // InternalReportDSL.g:40208:1: rule__Image__HeightUnitAssignment_3_2 : ( ruleUnitEnum ) ;
+    // InternalReportDSL.g:40649:1: rule__Image__HeightUnitAssignment_3_2 : ( ruleUnitEnum ) ;
     public final void rule__Image__HeightUnitAssignment_3_2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:40212:1: ( ( ruleUnitEnum ) )
-            // InternalReportDSL.g:40213:2: ( ruleUnitEnum )
+            // InternalReportDSL.g:40653:1: ( ( ruleUnitEnum ) )
+            // InternalReportDSL.g:40654:2: ( ruleUnitEnum )
             {
-            // InternalReportDSL.g:40213:2: ( ruleUnitEnum )
-            // InternalReportDSL.g:40214:3: ruleUnitEnum
+            // InternalReportDSL.g:40654:2: ( ruleUnitEnum )
+            // InternalReportDSL.g:40655:3: ruleUnitEnum
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getImageAccess().getHeightUnitUnitEnumEnumRuleCall_3_2_0()); 
@@ -130679,17 +132294,17 @@
 
 
     // $ANTLR start "rule__Image__WidthValueAssignment_4_1"
-    // InternalReportDSL.g:40223:1: rule__Image__WidthValueAssignment_4_1 : ( ruleUnsignedNumber ) ;
+    // InternalReportDSL.g:40664:1: rule__Image__WidthValueAssignment_4_1 : ( ruleUnsignedNumber ) ;
     public final void rule__Image__WidthValueAssignment_4_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:40227:1: ( ( ruleUnsignedNumber ) )
-            // InternalReportDSL.g:40228:2: ( ruleUnsignedNumber )
+            // InternalReportDSL.g:40668:1: ( ( ruleUnsignedNumber ) )
+            // InternalReportDSL.g:40669:2: ( ruleUnsignedNumber )
             {
-            // InternalReportDSL.g:40228:2: ( ruleUnsignedNumber )
-            // InternalReportDSL.g:40229:3: ruleUnsignedNumber
+            // InternalReportDSL.g:40669:2: ( ruleUnsignedNumber )
+            // InternalReportDSL.g:40670:3: ruleUnsignedNumber
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getImageAccess().getWidthValueUnsignedNumberParserRuleCall_4_1_0()); 
@@ -130724,17 +132339,17 @@
 
 
     // $ANTLR start "rule__Image__WidthUnitAssignment_4_2"
-    // InternalReportDSL.g:40238:1: rule__Image__WidthUnitAssignment_4_2 : ( ruleUnitEnum ) ;
+    // InternalReportDSL.g:40679:1: rule__Image__WidthUnitAssignment_4_2 : ( ruleUnitEnum ) ;
     public final void rule__Image__WidthUnitAssignment_4_2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:40242:1: ( ( ruleUnitEnum ) )
-            // InternalReportDSL.g:40243:2: ( ruleUnitEnum )
+            // InternalReportDSL.g:40683:1: ( ( ruleUnitEnum ) )
+            // InternalReportDSL.g:40684:2: ( ruleUnitEnum )
             {
-            // InternalReportDSL.g:40243:2: ( ruleUnitEnum )
-            // InternalReportDSL.g:40244:3: ruleUnitEnum
+            // InternalReportDSL.g:40684:2: ( ruleUnitEnum )
+            // InternalReportDSL.g:40685:3: ruleUnitEnum
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getImageAccess().getWidthUnitUnitEnumEnumRuleCall_4_2_0()); 
@@ -130769,17 +132384,17 @@
 
 
     // $ANTLR start "rule__Image__SourceTypeAssignment_5"
-    // InternalReportDSL.g:40253:1: rule__Image__SourceTypeAssignment_5 : ( ruleImageSourceEnum ) ;
+    // InternalReportDSL.g:40694:1: rule__Image__SourceTypeAssignment_5 : ( ruleImageSourceEnum ) ;
     public final void rule__Image__SourceTypeAssignment_5() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:40257:1: ( ( ruleImageSourceEnum ) )
-            // InternalReportDSL.g:40258:2: ( ruleImageSourceEnum )
+            // InternalReportDSL.g:40698:1: ( ( ruleImageSourceEnum ) )
+            // InternalReportDSL.g:40699:2: ( ruleImageSourceEnum )
             {
-            // InternalReportDSL.g:40258:2: ( ruleImageSourceEnum )
-            // InternalReportDSL.g:40259:3: ruleImageSourceEnum
+            // InternalReportDSL.g:40699:2: ( ruleImageSourceEnum )
+            // InternalReportDSL.g:40700:3: ruleImageSourceEnum
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getImageAccess().getSourceTypeImageSourceEnumEnumRuleCall_5_0()); 
@@ -130814,17 +132429,17 @@
 
 
     // $ANTLR start "rule__Image__FilenameAssignment_6"
-    // InternalReportDSL.g:40268:1: rule__Image__FilenameAssignment_6 : ( RULE_STRING ) ;
+    // InternalReportDSL.g:40709:1: rule__Image__FilenameAssignment_6 : ( RULE_STRING ) ;
     public final void rule__Image__FilenameAssignment_6() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:40272:1: ( ( RULE_STRING ) )
-            // InternalReportDSL.g:40273:2: ( RULE_STRING )
+            // InternalReportDSL.g:40713:1: ( ( RULE_STRING ) )
+            // InternalReportDSL.g:40714:2: ( RULE_STRING )
             {
-            // InternalReportDSL.g:40273:2: ( RULE_STRING )
-            // InternalReportDSL.g:40274:3: RULE_STRING
+            // InternalReportDSL.g:40714:2: ( RULE_STRING )
+            // InternalReportDSL.g:40715:3: RULE_STRING
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getImageAccess().getFilenameSTRINGTerminalRuleCall_6_0()); 
@@ -130855,23 +132470,23 @@
 
 
     // $ANTLR start "rule__XImportDeclaration__StaticAssignment_2_0_0"
-    // InternalReportDSL.g:40283:1: rule__XImportDeclaration__StaticAssignment_2_0_0 : ( ( 'static' ) ) ;
+    // InternalReportDSL.g:40724:1: rule__XImportDeclaration__StaticAssignment_2_0_0 : ( ( 'static' ) ) ;
     public final void rule__XImportDeclaration__StaticAssignment_2_0_0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:40287:1: ( ( ( 'static' ) ) )
-            // InternalReportDSL.g:40288:2: ( ( 'static' ) )
+            // InternalReportDSL.g:40728:1: ( ( ( 'static' ) ) )
+            // InternalReportDSL.g:40729:2: ( ( 'static' ) )
             {
-            // InternalReportDSL.g:40288:2: ( ( 'static' ) )
-            // InternalReportDSL.g:40289:3: ( 'static' )
+            // InternalReportDSL.g:40729:2: ( ( 'static' ) )
+            // InternalReportDSL.g:40730:3: ( 'static' )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXImportDeclarationAccess().getStaticStaticKeyword_2_0_0_0()); 
             }
-            // InternalReportDSL.g:40290:3: ( 'static' )
-            // InternalReportDSL.g:40291:4: 'static'
+            // InternalReportDSL.g:40731:3: ( 'static' )
+            // InternalReportDSL.g:40732:4: 'static'
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXImportDeclarationAccess().getStaticStaticKeyword_2_0_0_0()); 
@@ -130908,23 +132523,23 @@
 
 
     // $ANTLR start "rule__XImportDeclaration__ExtensionAssignment_2_0_1"
-    // InternalReportDSL.g:40302:1: rule__XImportDeclaration__ExtensionAssignment_2_0_1 : ( ( 'extension' ) ) ;
+    // InternalReportDSL.g:40743:1: rule__XImportDeclaration__ExtensionAssignment_2_0_1 : ( ( 'extension' ) ) ;
     public final void rule__XImportDeclaration__ExtensionAssignment_2_0_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:40306:1: ( ( ( 'extension' ) ) )
-            // InternalReportDSL.g:40307:2: ( ( 'extension' ) )
+            // InternalReportDSL.g:40747:1: ( ( ( 'extension' ) ) )
+            // InternalReportDSL.g:40748:2: ( ( 'extension' ) )
             {
-            // InternalReportDSL.g:40307:2: ( ( 'extension' ) )
-            // InternalReportDSL.g:40308:3: ( 'extension' )
+            // InternalReportDSL.g:40748:2: ( ( 'extension' ) )
+            // InternalReportDSL.g:40749:3: ( 'extension' )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXImportDeclarationAccess().getExtensionExtensionKeyword_2_0_1_0()); 
             }
-            // InternalReportDSL.g:40309:3: ( 'extension' )
-            // InternalReportDSL.g:40310:4: 'extension'
+            // InternalReportDSL.g:40750:3: ( 'extension' )
+            // InternalReportDSL.g:40751:4: 'extension'
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXImportDeclarationAccess().getExtensionExtensionKeyword_2_0_1_0()); 
@@ -130961,23 +132576,23 @@
 
 
     // $ANTLR start "rule__XImportDeclaration__ImportedTypeAssignment_2_0_2"
-    // InternalReportDSL.g:40321:1: rule__XImportDeclaration__ImportedTypeAssignment_2_0_2 : ( ( ruleQualifiedNameInStaticImport ) ) ;
+    // InternalReportDSL.g:40762:1: rule__XImportDeclaration__ImportedTypeAssignment_2_0_2 : ( ( ruleQualifiedNameInStaticImport ) ) ;
     public final void rule__XImportDeclaration__ImportedTypeAssignment_2_0_2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:40325:1: ( ( ( ruleQualifiedNameInStaticImport ) ) )
-            // InternalReportDSL.g:40326:2: ( ( ruleQualifiedNameInStaticImport ) )
+            // InternalReportDSL.g:40766:1: ( ( ( ruleQualifiedNameInStaticImport ) ) )
+            // InternalReportDSL.g:40767:2: ( ( ruleQualifiedNameInStaticImport ) )
             {
-            // InternalReportDSL.g:40326:2: ( ( ruleQualifiedNameInStaticImport ) )
-            // InternalReportDSL.g:40327:3: ( ruleQualifiedNameInStaticImport )
+            // InternalReportDSL.g:40767:2: ( ( ruleQualifiedNameInStaticImport ) )
+            // InternalReportDSL.g:40768:3: ( ruleQualifiedNameInStaticImport )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXImportDeclarationAccess().getImportedTypeJvmDeclaredTypeCrossReference_2_0_2_0()); 
             }
-            // InternalReportDSL.g:40328:3: ( ruleQualifiedNameInStaticImport )
-            // InternalReportDSL.g:40329:4: ruleQualifiedNameInStaticImport
+            // InternalReportDSL.g:40769:3: ( ruleQualifiedNameInStaticImport )
+            // InternalReportDSL.g:40770:4: ruleQualifiedNameInStaticImport
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXImportDeclarationAccess().getImportedTypeJvmDeclaredTypeQualifiedNameInStaticImportParserRuleCall_2_0_2_0_1()); 
@@ -131018,23 +132633,23 @@
 
 
     // $ANTLR start "rule__XImportDeclaration__WildcardAssignment_2_0_3_0"
-    // InternalReportDSL.g:40340:1: rule__XImportDeclaration__WildcardAssignment_2_0_3_0 : ( ( '*' ) ) ;
+    // InternalReportDSL.g:40781:1: rule__XImportDeclaration__WildcardAssignment_2_0_3_0 : ( ( '*' ) ) ;
     public final void rule__XImportDeclaration__WildcardAssignment_2_0_3_0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:40344:1: ( ( ( '*' ) ) )
-            // InternalReportDSL.g:40345:2: ( ( '*' ) )
+            // InternalReportDSL.g:40785:1: ( ( ( '*' ) ) )
+            // InternalReportDSL.g:40786:2: ( ( '*' ) )
             {
-            // InternalReportDSL.g:40345:2: ( ( '*' ) )
-            // InternalReportDSL.g:40346:3: ( '*' )
+            // InternalReportDSL.g:40786:2: ( ( '*' ) )
+            // InternalReportDSL.g:40787:3: ( '*' )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXImportDeclarationAccess().getWildcardAsteriskKeyword_2_0_3_0_0()); 
             }
-            // InternalReportDSL.g:40347:3: ( '*' )
-            // InternalReportDSL.g:40348:4: '*'
+            // InternalReportDSL.g:40788:3: ( '*' )
+            // InternalReportDSL.g:40789:4: '*'
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXImportDeclarationAccess().getWildcardAsteriskKeyword_2_0_3_0_0()); 
@@ -131071,17 +132686,17 @@
 
 
     // $ANTLR start "rule__XImportDeclaration__MemberNameAssignment_2_0_3_1"
-    // InternalReportDSL.g:40359:1: rule__XImportDeclaration__MemberNameAssignment_2_0_3_1 : ( ruleValidID ) ;
+    // InternalReportDSL.g:40800:1: rule__XImportDeclaration__MemberNameAssignment_2_0_3_1 : ( ruleValidID ) ;
     public final void rule__XImportDeclaration__MemberNameAssignment_2_0_3_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:40363:1: ( ( ruleValidID ) )
-            // InternalReportDSL.g:40364:2: ( ruleValidID )
+            // InternalReportDSL.g:40804:1: ( ( ruleValidID ) )
+            // InternalReportDSL.g:40805:2: ( ruleValidID )
             {
-            // InternalReportDSL.g:40364:2: ( ruleValidID )
-            // InternalReportDSL.g:40365:3: ruleValidID
+            // InternalReportDSL.g:40805:2: ( ruleValidID )
+            // InternalReportDSL.g:40806:3: ruleValidID
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXImportDeclarationAccess().getMemberNameValidIDParserRuleCall_2_0_3_1_0()); 
@@ -131116,23 +132731,23 @@
 
 
     // $ANTLR start "rule__XImportDeclaration__ImportedTypeAssignment_2_1"
-    // InternalReportDSL.g:40374:1: rule__XImportDeclaration__ImportedTypeAssignment_2_1 : ( ( ruleQualifiedName ) ) ;
+    // InternalReportDSL.g:40815:1: rule__XImportDeclaration__ImportedTypeAssignment_2_1 : ( ( ruleQualifiedName ) ) ;
     public final void rule__XImportDeclaration__ImportedTypeAssignment_2_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:40378:1: ( ( ( ruleQualifiedName ) ) )
-            // InternalReportDSL.g:40379:2: ( ( ruleQualifiedName ) )
+            // InternalReportDSL.g:40819:1: ( ( ( ruleQualifiedName ) ) )
+            // InternalReportDSL.g:40820:2: ( ( ruleQualifiedName ) )
             {
-            // InternalReportDSL.g:40379:2: ( ( ruleQualifiedName ) )
-            // InternalReportDSL.g:40380:3: ( ruleQualifiedName )
+            // InternalReportDSL.g:40820:2: ( ( ruleQualifiedName ) )
+            // InternalReportDSL.g:40821:3: ( ruleQualifiedName )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXImportDeclarationAccess().getImportedTypeJvmDeclaredTypeCrossReference_2_1_0()); 
             }
-            // InternalReportDSL.g:40381:3: ( ruleQualifiedName )
-            // InternalReportDSL.g:40382:4: ruleQualifiedName
+            // InternalReportDSL.g:40822:3: ( ruleQualifiedName )
+            // InternalReportDSL.g:40823:4: ruleQualifiedName
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXImportDeclarationAccess().getImportedTypeJvmDeclaredTypeQualifiedNameParserRuleCall_2_1_0_1()); 
@@ -131173,17 +132788,17 @@
 
 
     // $ANTLR start "rule__XImportDeclaration__ImportedNamespaceAssignment_2_2"
-    // InternalReportDSL.g:40393:1: rule__XImportDeclaration__ImportedNamespaceAssignment_2_2 : ( ruleQualifiedNameWithWildcard ) ;
+    // InternalReportDSL.g:40834:1: rule__XImportDeclaration__ImportedNamespaceAssignment_2_2 : ( ruleQualifiedNameWithWildcard ) ;
     public final void rule__XImportDeclaration__ImportedNamespaceAssignment_2_2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:40397:1: ( ( ruleQualifiedNameWithWildcard ) )
-            // InternalReportDSL.g:40398:2: ( ruleQualifiedNameWithWildcard )
+            // InternalReportDSL.g:40838:1: ( ( ruleQualifiedNameWithWildcard ) )
+            // InternalReportDSL.g:40839:2: ( ruleQualifiedNameWithWildcard )
             {
-            // InternalReportDSL.g:40398:2: ( ruleQualifiedNameWithWildcard )
-            // InternalReportDSL.g:40399:3: ruleQualifiedNameWithWildcard
+            // InternalReportDSL.g:40839:2: ( ruleQualifiedNameWithWildcard )
+            // InternalReportDSL.g:40840:3: ruleQualifiedNameWithWildcard
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXImportDeclarationAccess().getImportedNamespaceQualifiedNameWithWildcardParserRuleCall_2_2_0()); 
@@ -131218,28 +132833,28 @@
 
 
     // $ANTLR start "rule__XImportDeclaration__FqnImportAssignment_2_3_0"
-    // InternalReportDSL.g:40408:1: rule__XImportDeclaration__FqnImportAssignment_2_3_0 : ( ( 'ns' ) ) ;
+    // InternalReportDSL.g:40849:1: rule__XImportDeclaration__FqnImportAssignment_2_3_0 : ( ( 'ns' ) ) ;
     public final void rule__XImportDeclaration__FqnImportAssignment_2_3_0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:40412:1: ( ( ( 'ns' ) ) )
-            // InternalReportDSL.g:40413:2: ( ( 'ns' ) )
+            // InternalReportDSL.g:40853:1: ( ( ( 'ns' ) ) )
+            // InternalReportDSL.g:40854:2: ( ( 'ns' ) )
             {
-            // InternalReportDSL.g:40413:2: ( ( 'ns' ) )
-            // InternalReportDSL.g:40414:3: ( 'ns' )
+            // InternalReportDSL.g:40854:2: ( ( 'ns' ) )
+            // InternalReportDSL.g:40855:3: ( 'ns' )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXImportDeclarationAccess().getFqnImportNsKeyword_2_3_0_0()); 
             }
-            // InternalReportDSL.g:40415:3: ( 'ns' )
-            // InternalReportDSL.g:40416:4: 'ns'
+            // InternalReportDSL.g:40856:3: ( 'ns' )
+            // InternalReportDSL.g:40857:4: 'ns'
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXImportDeclarationAccess().getFqnImportNsKeyword_2_3_0_0()); 
             }
-            match(input,261,FOLLOW_2); if (state.failed) return ;
+            match(input,266,FOLLOW_2); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getXImportDeclarationAccess().getFqnImportNsKeyword_2_3_0_0()); 
             }
@@ -131271,17 +132886,17 @@
 
 
     // $ANTLR start "rule__XImportDeclaration__ImportedFullyQualifiedNameAssignment_2_3_1"
-    // InternalReportDSL.g:40427:1: rule__XImportDeclaration__ImportedFullyQualifiedNameAssignment_2_3_1 : ( ruleQualifiedName ) ;
+    // InternalReportDSL.g:40868:1: rule__XImportDeclaration__ImportedFullyQualifiedNameAssignment_2_3_1 : ( ruleQualifiedName ) ;
     public final void rule__XImportDeclaration__ImportedFullyQualifiedNameAssignment_2_3_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:40431:1: ( ( ruleQualifiedName ) )
-            // InternalReportDSL.g:40432:2: ( ruleQualifiedName )
+            // InternalReportDSL.g:40872:1: ( ( ruleQualifiedName ) )
+            // InternalReportDSL.g:40873:2: ( ruleQualifiedName )
             {
-            // InternalReportDSL.g:40432:2: ( ruleQualifiedName )
-            // InternalReportDSL.g:40433:3: ruleQualifiedName
+            // InternalReportDSL.g:40873:2: ( ruleQualifiedName )
+            // InternalReportDSL.g:40874:3: ruleQualifiedName
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXImportDeclarationAccess().getImportedFullyQualifiedNameQualifiedNameParserRuleCall_2_3_1_0()); 
@@ -131316,23 +132931,23 @@
 
 
     // $ANTLR start "rule__XAnnotation__AnnotationTypeAssignment_2"
-    // InternalReportDSL.g:40442:1: rule__XAnnotation__AnnotationTypeAssignment_2 : ( ( ruleQualifiedName ) ) ;
+    // InternalReportDSL.g:40883:1: rule__XAnnotation__AnnotationTypeAssignment_2 : ( ( ruleQualifiedName ) ) ;
     public final void rule__XAnnotation__AnnotationTypeAssignment_2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:40446:1: ( ( ( ruleQualifiedName ) ) )
-            // InternalReportDSL.g:40447:2: ( ( ruleQualifiedName ) )
+            // InternalReportDSL.g:40887:1: ( ( ( ruleQualifiedName ) ) )
+            // InternalReportDSL.g:40888:2: ( ( ruleQualifiedName ) )
             {
-            // InternalReportDSL.g:40447:2: ( ( ruleQualifiedName ) )
-            // InternalReportDSL.g:40448:3: ( ruleQualifiedName )
+            // InternalReportDSL.g:40888:2: ( ( ruleQualifiedName ) )
+            // InternalReportDSL.g:40889:3: ( ruleQualifiedName )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXAnnotationAccess().getAnnotationTypeJvmAnnotationTypeCrossReference_2_0()); 
             }
-            // InternalReportDSL.g:40449:3: ( ruleQualifiedName )
-            // InternalReportDSL.g:40450:4: ruleQualifiedName
+            // InternalReportDSL.g:40890:3: ( ruleQualifiedName )
+            // InternalReportDSL.g:40891:4: ruleQualifiedName
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXAnnotationAccess().getAnnotationTypeJvmAnnotationTypeQualifiedNameParserRuleCall_2_0_1()); 
@@ -131373,17 +132988,17 @@
 
 
     // $ANTLR start "rule__XAnnotation__ElementValuePairsAssignment_3_1_0_0"
-    // InternalReportDSL.g:40461:1: rule__XAnnotation__ElementValuePairsAssignment_3_1_0_0 : ( ruleXAnnotationElementValuePair ) ;
+    // InternalReportDSL.g:40902:1: rule__XAnnotation__ElementValuePairsAssignment_3_1_0_0 : ( ruleXAnnotationElementValuePair ) ;
     public final void rule__XAnnotation__ElementValuePairsAssignment_3_1_0_0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:40465:1: ( ( ruleXAnnotationElementValuePair ) )
-            // InternalReportDSL.g:40466:2: ( ruleXAnnotationElementValuePair )
+            // InternalReportDSL.g:40906:1: ( ( ruleXAnnotationElementValuePair ) )
+            // InternalReportDSL.g:40907:2: ( ruleXAnnotationElementValuePair )
             {
-            // InternalReportDSL.g:40466:2: ( ruleXAnnotationElementValuePair )
-            // InternalReportDSL.g:40467:3: ruleXAnnotationElementValuePair
+            // InternalReportDSL.g:40907:2: ( ruleXAnnotationElementValuePair )
+            // InternalReportDSL.g:40908:3: ruleXAnnotationElementValuePair
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXAnnotationAccess().getElementValuePairsXAnnotationElementValuePairParserRuleCall_3_1_0_0_0()); 
@@ -131418,17 +133033,17 @@
 
 
     // $ANTLR start "rule__XAnnotation__ElementValuePairsAssignment_3_1_0_1_1"
-    // InternalReportDSL.g:40476:1: rule__XAnnotation__ElementValuePairsAssignment_3_1_0_1_1 : ( ruleXAnnotationElementValuePair ) ;
+    // InternalReportDSL.g:40917:1: rule__XAnnotation__ElementValuePairsAssignment_3_1_0_1_1 : ( ruleXAnnotationElementValuePair ) ;
     public final void rule__XAnnotation__ElementValuePairsAssignment_3_1_0_1_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:40480:1: ( ( ruleXAnnotationElementValuePair ) )
-            // InternalReportDSL.g:40481:2: ( ruleXAnnotationElementValuePair )
+            // InternalReportDSL.g:40921:1: ( ( ruleXAnnotationElementValuePair ) )
+            // InternalReportDSL.g:40922:2: ( ruleXAnnotationElementValuePair )
             {
-            // InternalReportDSL.g:40481:2: ( ruleXAnnotationElementValuePair )
-            // InternalReportDSL.g:40482:3: ruleXAnnotationElementValuePair
+            // InternalReportDSL.g:40922:2: ( ruleXAnnotationElementValuePair )
+            // InternalReportDSL.g:40923:3: ruleXAnnotationElementValuePair
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXAnnotationAccess().getElementValuePairsXAnnotationElementValuePairParserRuleCall_3_1_0_1_1_0()); 
@@ -131463,17 +133078,17 @@
 
 
     // $ANTLR start "rule__XAnnotation__ValueAssignment_3_1_1"
-    // InternalReportDSL.g:40491:1: rule__XAnnotation__ValueAssignment_3_1_1 : ( ruleXAnnotationElementValueOrCommaList ) ;
+    // InternalReportDSL.g:40932:1: rule__XAnnotation__ValueAssignment_3_1_1 : ( ruleXAnnotationElementValueOrCommaList ) ;
     public final void rule__XAnnotation__ValueAssignment_3_1_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:40495:1: ( ( ruleXAnnotationElementValueOrCommaList ) )
-            // InternalReportDSL.g:40496:2: ( ruleXAnnotationElementValueOrCommaList )
+            // InternalReportDSL.g:40936:1: ( ( ruleXAnnotationElementValueOrCommaList ) )
+            // InternalReportDSL.g:40937:2: ( ruleXAnnotationElementValueOrCommaList )
             {
-            // InternalReportDSL.g:40496:2: ( ruleXAnnotationElementValueOrCommaList )
-            // InternalReportDSL.g:40497:3: ruleXAnnotationElementValueOrCommaList
+            // InternalReportDSL.g:40937:2: ( ruleXAnnotationElementValueOrCommaList )
+            // InternalReportDSL.g:40938:3: ruleXAnnotationElementValueOrCommaList
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXAnnotationAccess().getValueXAnnotationElementValueOrCommaListParserRuleCall_3_1_1_0()); 
@@ -131508,23 +133123,23 @@
 
 
     // $ANTLR start "rule__XAnnotationElementValuePair__ElementAssignment_0_0_0"
-    // InternalReportDSL.g:40506:1: rule__XAnnotationElementValuePair__ElementAssignment_0_0_0 : ( ( ruleValidID ) ) ;
+    // InternalReportDSL.g:40947:1: rule__XAnnotationElementValuePair__ElementAssignment_0_0_0 : ( ( ruleValidID ) ) ;
     public final void rule__XAnnotationElementValuePair__ElementAssignment_0_0_0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:40510:1: ( ( ( ruleValidID ) ) )
-            // InternalReportDSL.g:40511:2: ( ( ruleValidID ) )
+            // InternalReportDSL.g:40951:1: ( ( ( ruleValidID ) ) )
+            // InternalReportDSL.g:40952:2: ( ( ruleValidID ) )
             {
-            // InternalReportDSL.g:40511:2: ( ( ruleValidID ) )
-            // InternalReportDSL.g:40512:3: ( ruleValidID )
+            // InternalReportDSL.g:40952:2: ( ( ruleValidID ) )
+            // InternalReportDSL.g:40953:3: ( ruleValidID )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXAnnotationElementValuePairAccess().getElementJvmOperationCrossReference_0_0_0_0()); 
             }
-            // InternalReportDSL.g:40513:3: ( ruleValidID )
-            // InternalReportDSL.g:40514:4: ruleValidID
+            // InternalReportDSL.g:40954:3: ( ruleValidID )
+            // InternalReportDSL.g:40955:4: ruleValidID
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXAnnotationElementValuePairAccess().getElementJvmOperationValidIDParserRuleCall_0_0_0_0_1()); 
@@ -131565,17 +133180,17 @@
 
 
     // $ANTLR start "rule__XAnnotationElementValuePair__ValueAssignment_1"
-    // InternalReportDSL.g:40525:1: rule__XAnnotationElementValuePair__ValueAssignment_1 : ( ruleXAnnotationElementValue ) ;
+    // InternalReportDSL.g:40966:1: rule__XAnnotationElementValuePair__ValueAssignment_1 : ( ruleXAnnotationElementValue ) ;
     public final void rule__XAnnotationElementValuePair__ValueAssignment_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:40529:1: ( ( ruleXAnnotationElementValue ) )
-            // InternalReportDSL.g:40530:2: ( ruleXAnnotationElementValue )
+            // InternalReportDSL.g:40970:1: ( ( ruleXAnnotationElementValue ) )
+            // InternalReportDSL.g:40971:2: ( ruleXAnnotationElementValue )
             {
-            // InternalReportDSL.g:40530:2: ( ruleXAnnotationElementValue )
-            // InternalReportDSL.g:40531:3: ruleXAnnotationElementValue
+            // InternalReportDSL.g:40971:2: ( ruleXAnnotationElementValue )
+            // InternalReportDSL.g:40972:3: ruleXAnnotationElementValue
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXAnnotationElementValuePairAccess().getValueXAnnotationElementValueParserRuleCall_1_0()); 
@@ -131610,17 +133225,17 @@
 
 
     // $ANTLR start "rule__XAnnotationElementValueOrCommaList__ElementsAssignment_0_1_0"
-    // InternalReportDSL.g:40540:1: rule__XAnnotationElementValueOrCommaList__ElementsAssignment_0_1_0 : ( ruleXAnnotationOrExpression ) ;
+    // InternalReportDSL.g:40981:1: rule__XAnnotationElementValueOrCommaList__ElementsAssignment_0_1_0 : ( ruleXAnnotationOrExpression ) ;
     public final void rule__XAnnotationElementValueOrCommaList__ElementsAssignment_0_1_0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:40544:1: ( ( ruleXAnnotationOrExpression ) )
-            // InternalReportDSL.g:40545:2: ( ruleXAnnotationOrExpression )
+            // InternalReportDSL.g:40985:1: ( ( ruleXAnnotationOrExpression ) )
+            // InternalReportDSL.g:40986:2: ( ruleXAnnotationOrExpression )
             {
-            // InternalReportDSL.g:40545:2: ( ruleXAnnotationOrExpression )
-            // InternalReportDSL.g:40546:3: ruleXAnnotationOrExpression
+            // InternalReportDSL.g:40986:2: ( ruleXAnnotationOrExpression )
+            // InternalReportDSL.g:40987:3: ruleXAnnotationOrExpression
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXAnnotationElementValueOrCommaListAccess().getElementsXAnnotationOrExpressionParserRuleCall_0_1_0_0()); 
@@ -131655,17 +133270,17 @@
 
 
     // $ANTLR start "rule__XAnnotationElementValueOrCommaList__ElementsAssignment_0_1_1_1"
-    // InternalReportDSL.g:40555:1: rule__XAnnotationElementValueOrCommaList__ElementsAssignment_0_1_1_1 : ( ruleXAnnotationOrExpression ) ;
+    // InternalReportDSL.g:40996:1: rule__XAnnotationElementValueOrCommaList__ElementsAssignment_0_1_1_1 : ( ruleXAnnotationOrExpression ) ;
     public final void rule__XAnnotationElementValueOrCommaList__ElementsAssignment_0_1_1_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:40559:1: ( ( ruleXAnnotationOrExpression ) )
-            // InternalReportDSL.g:40560:2: ( ruleXAnnotationOrExpression )
+            // InternalReportDSL.g:41000:1: ( ( ruleXAnnotationOrExpression ) )
+            // InternalReportDSL.g:41001:2: ( ruleXAnnotationOrExpression )
             {
-            // InternalReportDSL.g:40560:2: ( ruleXAnnotationOrExpression )
-            // InternalReportDSL.g:40561:3: ruleXAnnotationOrExpression
+            // InternalReportDSL.g:41001:2: ( ruleXAnnotationOrExpression )
+            // InternalReportDSL.g:41002:3: ruleXAnnotationOrExpression
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXAnnotationElementValueOrCommaListAccess().getElementsXAnnotationOrExpressionParserRuleCall_0_1_1_1_0()); 
@@ -131700,17 +133315,17 @@
 
 
     // $ANTLR start "rule__XAnnotationElementValueOrCommaList__ElementsAssignment_1_1_1_1"
-    // InternalReportDSL.g:40570:1: rule__XAnnotationElementValueOrCommaList__ElementsAssignment_1_1_1_1 : ( ruleXAnnotationOrExpression ) ;
+    // InternalReportDSL.g:41011:1: rule__XAnnotationElementValueOrCommaList__ElementsAssignment_1_1_1_1 : ( ruleXAnnotationOrExpression ) ;
     public final void rule__XAnnotationElementValueOrCommaList__ElementsAssignment_1_1_1_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:40574:1: ( ( ruleXAnnotationOrExpression ) )
-            // InternalReportDSL.g:40575:2: ( ruleXAnnotationOrExpression )
+            // InternalReportDSL.g:41015:1: ( ( ruleXAnnotationOrExpression ) )
+            // InternalReportDSL.g:41016:2: ( ruleXAnnotationOrExpression )
             {
-            // InternalReportDSL.g:40575:2: ( ruleXAnnotationOrExpression )
-            // InternalReportDSL.g:40576:3: ruleXAnnotationOrExpression
+            // InternalReportDSL.g:41016:2: ( ruleXAnnotationOrExpression )
+            // InternalReportDSL.g:41017:3: ruleXAnnotationOrExpression
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXAnnotationElementValueOrCommaListAccess().getElementsXAnnotationOrExpressionParserRuleCall_1_1_1_1_0()); 
@@ -131745,17 +133360,17 @@
 
 
     // $ANTLR start "rule__XAnnotationElementValue__ElementsAssignment_0_1_0"
-    // InternalReportDSL.g:40585:1: rule__XAnnotationElementValue__ElementsAssignment_0_1_0 : ( ruleXAnnotationOrExpression ) ;
+    // InternalReportDSL.g:41026:1: rule__XAnnotationElementValue__ElementsAssignment_0_1_0 : ( ruleXAnnotationOrExpression ) ;
     public final void rule__XAnnotationElementValue__ElementsAssignment_0_1_0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:40589:1: ( ( ruleXAnnotationOrExpression ) )
-            // InternalReportDSL.g:40590:2: ( ruleXAnnotationOrExpression )
+            // InternalReportDSL.g:41030:1: ( ( ruleXAnnotationOrExpression ) )
+            // InternalReportDSL.g:41031:2: ( ruleXAnnotationOrExpression )
             {
-            // InternalReportDSL.g:40590:2: ( ruleXAnnotationOrExpression )
-            // InternalReportDSL.g:40591:3: ruleXAnnotationOrExpression
+            // InternalReportDSL.g:41031:2: ( ruleXAnnotationOrExpression )
+            // InternalReportDSL.g:41032:3: ruleXAnnotationOrExpression
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXAnnotationElementValueAccess().getElementsXAnnotationOrExpressionParserRuleCall_0_1_0_0()); 
@@ -131790,17 +133405,17 @@
 
 
     // $ANTLR start "rule__XAnnotationElementValue__ElementsAssignment_0_1_1_1"
-    // InternalReportDSL.g:40600:1: rule__XAnnotationElementValue__ElementsAssignment_0_1_1_1 : ( ruleXAnnotationOrExpression ) ;
+    // InternalReportDSL.g:41041:1: rule__XAnnotationElementValue__ElementsAssignment_0_1_1_1 : ( ruleXAnnotationOrExpression ) ;
     public final void rule__XAnnotationElementValue__ElementsAssignment_0_1_1_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:40604:1: ( ( ruleXAnnotationOrExpression ) )
-            // InternalReportDSL.g:40605:2: ( ruleXAnnotationOrExpression )
+            // InternalReportDSL.g:41045:1: ( ( ruleXAnnotationOrExpression ) )
+            // InternalReportDSL.g:41046:2: ( ruleXAnnotationOrExpression )
             {
-            // InternalReportDSL.g:40605:2: ( ruleXAnnotationOrExpression )
-            // InternalReportDSL.g:40606:3: ruleXAnnotationOrExpression
+            // InternalReportDSL.g:41046:2: ( ruleXAnnotationOrExpression )
+            // InternalReportDSL.g:41047:3: ruleXAnnotationOrExpression
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXAnnotationElementValueAccess().getElementsXAnnotationOrExpressionParserRuleCall_0_1_1_1_0()); 
@@ -131835,23 +133450,23 @@
 
 
     // $ANTLR start "rule__XAssignment__FeatureAssignment_0_1"
-    // InternalReportDSL.g:40615:1: rule__XAssignment__FeatureAssignment_0_1 : ( ( ruleFeatureCallID ) ) ;
+    // InternalReportDSL.g:41056:1: rule__XAssignment__FeatureAssignment_0_1 : ( ( ruleFeatureCallID ) ) ;
     public final void rule__XAssignment__FeatureAssignment_0_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:40619:1: ( ( ( ruleFeatureCallID ) ) )
-            // InternalReportDSL.g:40620:2: ( ( ruleFeatureCallID ) )
+            // InternalReportDSL.g:41060:1: ( ( ( ruleFeatureCallID ) ) )
+            // InternalReportDSL.g:41061:2: ( ( ruleFeatureCallID ) )
             {
-            // InternalReportDSL.g:40620:2: ( ( ruleFeatureCallID ) )
-            // InternalReportDSL.g:40621:3: ( ruleFeatureCallID )
+            // InternalReportDSL.g:41061:2: ( ( ruleFeatureCallID ) )
+            // InternalReportDSL.g:41062:3: ( ruleFeatureCallID )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXAssignmentAccess().getFeatureJvmIdentifiableElementCrossReference_0_1_0()); 
             }
-            // InternalReportDSL.g:40622:3: ( ruleFeatureCallID )
-            // InternalReportDSL.g:40623:4: ruleFeatureCallID
+            // InternalReportDSL.g:41063:3: ( ruleFeatureCallID )
+            // InternalReportDSL.g:41064:4: ruleFeatureCallID
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXAssignmentAccess().getFeatureJvmIdentifiableElementFeatureCallIDParserRuleCall_0_1_0_1()); 
@@ -131892,17 +133507,17 @@
 
 
     // $ANTLR start "rule__XAssignment__ValueAssignment_0_3"
-    // InternalReportDSL.g:40634:1: rule__XAssignment__ValueAssignment_0_3 : ( ruleXAssignment ) ;
+    // InternalReportDSL.g:41075:1: rule__XAssignment__ValueAssignment_0_3 : ( ruleXAssignment ) ;
     public final void rule__XAssignment__ValueAssignment_0_3() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:40638:1: ( ( ruleXAssignment ) )
-            // InternalReportDSL.g:40639:2: ( ruleXAssignment )
+            // InternalReportDSL.g:41079:1: ( ( ruleXAssignment ) )
+            // InternalReportDSL.g:41080:2: ( ruleXAssignment )
             {
-            // InternalReportDSL.g:40639:2: ( ruleXAssignment )
-            // InternalReportDSL.g:40640:3: ruleXAssignment
+            // InternalReportDSL.g:41080:2: ( ruleXAssignment )
+            // InternalReportDSL.g:41081:3: ruleXAssignment
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXAssignmentAccess().getValueXAssignmentParserRuleCall_0_3_0()); 
@@ -131937,23 +133552,23 @@
 
 
     // $ANTLR start "rule__XAssignment__FeatureAssignment_1_1_0_0_1"
-    // InternalReportDSL.g:40649:1: rule__XAssignment__FeatureAssignment_1_1_0_0_1 : ( ( ruleOpMultiAssign ) ) ;
+    // InternalReportDSL.g:41090:1: rule__XAssignment__FeatureAssignment_1_1_0_0_1 : ( ( ruleOpMultiAssign ) ) ;
     public final void rule__XAssignment__FeatureAssignment_1_1_0_0_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:40653:1: ( ( ( ruleOpMultiAssign ) ) )
-            // InternalReportDSL.g:40654:2: ( ( ruleOpMultiAssign ) )
+            // InternalReportDSL.g:41094:1: ( ( ( ruleOpMultiAssign ) ) )
+            // InternalReportDSL.g:41095:2: ( ( ruleOpMultiAssign ) )
             {
-            // InternalReportDSL.g:40654:2: ( ( ruleOpMultiAssign ) )
-            // InternalReportDSL.g:40655:3: ( ruleOpMultiAssign )
+            // InternalReportDSL.g:41095:2: ( ( ruleOpMultiAssign ) )
+            // InternalReportDSL.g:41096:3: ( ruleOpMultiAssign )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXAssignmentAccess().getFeatureJvmIdentifiableElementCrossReference_1_1_0_0_1_0()); 
             }
-            // InternalReportDSL.g:40656:3: ( ruleOpMultiAssign )
-            // InternalReportDSL.g:40657:4: ruleOpMultiAssign
+            // InternalReportDSL.g:41097:3: ( ruleOpMultiAssign )
+            // InternalReportDSL.g:41098:4: ruleOpMultiAssign
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXAssignmentAccess().getFeatureJvmIdentifiableElementOpMultiAssignParserRuleCall_1_1_0_0_1_0_1()); 
@@ -131994,17 +133609,17 @@
 
 
     // $ANTLR start "rule__XAssignment__RightOperandAssignment_1_1_1"
-    // InternalReportDSL.g:40668:1: rule__XAssignment__RightOperandAssignment_1_1_1 : ( ruleXAssignment ) ;
+    // InternalReportDSL.g:41109:1: rule__XAssignment__RightOperandAssignment_1_1_1 : ( ruleXAssignment ) ;
     public final void rule__XAssignment__RightOperandAssignment_1_1_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:40672:1: ( ( ruleXAssignment ) )
-            // InternalReportDSL.g:40673:2: ( ruleXAssignment )
+            // InternalReportDSL.g:41113:1: ( ( ruleXAssignment ) )
+            // InternalReportDSL.g:41114:2: ( ruleXAssignment )
             {
-            // InternalReportDSL.g:40673:2: ( ruleXAssignment )
-            // InternalReportDSL.g:40674:3: ruleXAssignment
+            // InternalReportDSL.g:41114:2: ( ruleXAssignment )
+            // InternalReportDSL.g:41115:3: ruleXAssignment
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXAssignmentAccess().getRightOperandXAssignmentParserRuleCall_1_1_1_0()); 
@@ -132039,23 +133654,23 @@
 
 
     // $ANTLR start "rule__XOrExpression__FeatureAssignment_1_0_0_1"
-    // InternalReportDSL.g:40683:1: rule__XOrExpression__FeatureAssignment_1_0_0_1 : ( ( ruleOpOr ) ) ;
+    // InternalReportDSL.g:41124:1: rule__XOrExpression__FeatureAssignment_1_0_0_1 : ( ( ruleOpOr ) ) ;
     public final void rule__XOrExpression__FeatureAssignment_1_0_0_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:40687:1: ( ( ( ruleOpOr ) ) )
-            // InternalReportDSL.g:40688:2: ( ( ruleOpOr ) )
+            // InternalReportDSL.g:41128:1: ( ( ( ruleOpOr ) ) )
+            // InternalReportDSL.g:41129:2: ( ( ruleOpOr ) )
             {
-            // InternalReportDSL.g:40688:2: ( ( ruleOpOr ) )
-            // InternalReportDSL.g:40689:3: ( ruleOpOr )
+            // InternalReportDSL.g:41129:2: ( ( ruleOpOr ) )
+            // InternalReportDSL.g:41130:3: ( ruleOpOr )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXOrExpressionAccess().getFeatureJvmIdentifiableElementCrossReference_1_0_0_1_0()); 
             }
-            // InternalReportDSL.g:40690:3: ( ruleOpOr )
-            // InternalReportDSL.g:40691:4: ruleOpOr
+            // InternalReportDSL.g:41131:3: ( ruleOpOr )
+            // InternalReportDSL.g:41132:4: ruleOpOr
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXOrExpressionAccess().getFeatureJvmIdentifiableElementOpOrParserRuleCall_1_0_0_1_0_1()); 
@@ -132096,17 +133711,17 @@
 
 
     // $ANTLR start "rule__XOrExpression__RightOperandAssignment_1_1"
-    // InternalReportDSL.g:40702:1: rule__XOrExpression__RightOperandAssignment_1_1 : ( ruleXAndExpression ) ;
+    // InternalReportDSL.g:41143:1: rule__XOrExpression__RightOperandAssignment_1_1 : ( ruleXAndExpression ) ;
     public final void rule__XOrExpression__RightOperandAssignment_1_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:40706:1: ( ( ruleXAndExpression ) )
-            // InternalReportDSL.g:40707:2: ( ruleXAndExpression )
+            // InternalReportDSL.g:41147:1: ( ( ruleXAndExpression ) )
+            // InternalReportDSL.g:41148:2: ( ruleXAndExpression )
             {
-            // InternalReportDSL.g:40707:2: ( ruleXAndExpression )
-            // InternalReportDSL.g:40708:3: ruleXAndExpression
+            // InternalReportDSL.g:41148:2: ( ruleXAndExpression )
+            // InternalReportDSL.g:41149:3: ruleXAndExpression
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXOrExpressionAccess().getRightOperandXAndExpressionParserRuleCall_1_1_0()); 
@@ -132141,23 +133756,23 @@
 
 
     // $ANTLR start "rule__XAndExpression__FeatureAssignment_1_0_0_1"
-    // InternalReportDSL.g:40717:1: rule__XAndExpression__FeatureAssignment_1_0_0_1 : ( ( ruleOpAnd ) ) ;
+    // InternalReportDSL.g:41158:1: rule__XAndExpression__FeatureAssignment_1_0_0_1 : ( ( ruleOpAnd ) ) ;
     public final void rule__XAndExpression__FeatureAssignment_1_0_0_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:40721:1: ( ( ( ruleOpAnd ) ) )
-            // InternalReportDSL.g:40722:2: ( ( ruleOpAnd ) )
+            // InternalReportDSL.g:41162:1: ( ( ( ruleOpAnd ) ) )
+            // InternalReportDSL.g:41163:2: ( ( ruleOpAnd ) )
             {
-            // InternalReportDSL.g:40722:2: ( ( ruleOpAnd ) )
-            // InternalReportDSL.g:40723:3: ( ruleOpAnd )
+            // InternalReportDSL.g:41163:2: ( ( ruleOpAnd ) )
+            // InternalReportDSL.g:41164:3: ( ruleOpAnd )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXAndExpressionAccess().getFeatureJvmIdentifiableElementCrossReference_1_0_0_1_0()); 
             }
-            // InternalReportDSL.g:40724:3: ( ruleOpAnd )
-            // InternalReportDSL.g:40725:4: ruleOpAnd
+            // InternalReportDSL.g:41165:3: ( ruleOpAnd )
+            // InternalReportDSL.g:41166:4: ruleOpAnd
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXAndExpressionAccess().getFeatureJvmIdentifiableElementOpAndParserRuleCall_1_0_0_1_0_1()); 
@@ -132198,17 +133813,17 @@
 
 
     // $ANTLR start "rule__XAndExpression__RightOperandAssignment_1_1"
-    // InternalReportDSL.g:40736:1: rule__XAndExpression__RightOperandAssignment_1_1 : ( ruleXEqualityExpression ) ;
+    // InternalReportDSL.g:41177:1: rule__XAndExpression__RightOperandAssignment_1_1 : ( ruleXEqualityExpression ) ;
     public final void rule__XAndExpression__RightOperandAssignment_1_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:40740:1: ( ( ruleXEqualityExpression ) )
-            // InternalReportDSL.g:40741:2: ( ruleXEqualityExpression )
+            // InternalReportDSL.g:41181:1: ( ( ruleXEqualityExpression ) )
+            // InternalReportDSL.g:41182:2: ( ruleXEqualityExpression )
             {
-            // InternalReportDSL.g:40741:2: ( ruleXEqualityExpression )
-            // InternalReportDSL.g:40742:3: ruleXEqualityExpression
+            // InternalReportDSL.g:41182:2: ( ruleXEqualityExpression )
+            // InternalReportDSL.g:41183:3: ruleXEqualityExpression
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXAndExpressionAccess().getRightOperandXEqualityExpressionParserRuleCall_1_1_0()); 
@@ -132243,23 +133858,23 @@
 
 
     // $ANTLR start "rule__XEqualityExpression__FeatureAssignment_1_0_0_1"
-    // InternalReportDSL.g:40751:1: rule__XEqualityExpression__FeatureAssignment_1_0_0_1 : ( ( ruleOpEquality ) ) ;
+    // InternalReportDSL.g:41192:1: rule__XEqualityExpression__FeatureAssignment_1_0_0_1 : ( ( ruleOpEquality ) ) ;
     public final void rule__XEqualityExpression__FeatureAssignment_1_0_0_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:40755:1: ( ( ( ruleOpEquality ) ) )
-            // InternalReportDSL.g:40756:2: ( ( ruleOpEquality ) )
+            // InternalReportDSL.g:41196:1: ( ( ( ruleOpEquality ) ) )
+            // InternalReportDSL.g:41197:2: ( ( ruleOpEquality ) )
             {
-            // InternalReportDSL.g:40756:2: ( ( ruleOpEquality ) )
-            // InternalReportDSL.g:40757:3: ( ruleOpEquality )
+            // InternalReportDSL.g:41197:2: ( ( ruleOpEquality ) )
+            // InternalReportDSL.g:41198:3: ( ruleOpEquality )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXEqualityExpressionAccess().getFeatureJvmIdentifiableElementCrossReference_1_0_0_1_0()); 
             }
-            // InternalReportDSL.g:40758:3: ( ruleOpEquality )
-            // InternalReportDSL.g:40759:4: ruleOpEquality
+            // InternalReportDSL.g:41199:3: ( ruleOpEquality )
+            // InternalReportDSL.g:41200:4: ruleOpEquality
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXEqualityExpressionAccess().getFeatureJvmIdentifiableElementOpEqualityParserRuleCall_1_0_0_1_0_1()); 
@@ -132300,17 +133915,17 @@
 
 
     // $ANTLR start "rule__XEqualityExpression__RightOperandAssignment_1_1"
-    // InternalReportDSL.g:40770:1: rule__XEqualityExpression__RightOperandAssignment_1_1 : ( ruleXRelationalExpression ) ;
+    // InternalReportDSL.g:41211:1: rule__XEqualityExpression__RightOperandAssignment_1_1 : ( ruleXRelationalExpression ) ;
     public final void rule__XEqualityExpression__RightOperandAssignment_1_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:40774:1: ( ( ruleXRelationalExpression ) )
-            // InternalReportDSL.g:40775:2: ( ruleXRelationalExpression )
+            // InternalReportDSL.g:41215:1: ( ( ruleXRelationalExpression ) )
+            // InternalReportDSL.g:41216:2: ( ruleXRelationalExpression )
             {
-            // InternalReportDSL.g:40775:2: ( ruleXRelationalExpression )
-            // InternalReportDSL.g:40776:3: ruleXRelationalExpression
+            // InternalReportDSL.g:41216:2: ( ruleXRelationalExpression )
+            // InternalReportDSL.g:41217:3: ruleXRelationalExpression
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXEqualityExpressionAccess().getRightOperandXRelationalExpressionParserRuleCall_1_1_0()); 
@@ -132345,17 +133960,17 @@
 
 
     // $ANTLR start "rule__XRelationalExpression__TypeAssignment_1_0_1"
-    // InternalReportDSL.g:40785:1: rule__XRelationalExpression__TypeAssignment_1_0_1 : ( ruleJvmTypeReference ) ;
+    // InternalReportDSL.g:41226:1: rule__XRelationalExpression__TypeAssignment_1_0_1 : ( ruleJvmTypeReference ) ;
     public final void rule__XRelationalExpression__TypeAssignment_1_0_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:40789:1: ( ( ruleJvmTypeReference ) )
-            // InternalReportDSL.g:40790:2: ( ruleJvmTypeReference )
+            // InternalReportDSL.g:41230:1: ( ( ruleJvmTypeReference ) )
+            // InternalReportDSL.g:41231:2: ( ruleJvmTypeReference )
             {
-            // InternalReportDSL.g:40790:2: ( ruleJvmTypeReference )
-            // InternalReportDSL.g:40791:3: ruleJvmTypeReference
+            // InternalReportDSL.g:41231:2: ( ruleJvmTypeReference )
+            // InternalReportDSL.g:41232:3: ruleJvmTypeReference
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXRelationalExpressionAccess().getTypeJvmTypeReferenceParserRuleCall_1_0_1_0()); 
@@ -132390,23 +134005,23 @@
 
 
     // $ANTLR start "rule__XRelationalExpression__FeatureAssignment_1_1_0_0_1"
-    // InternalReportDSL.g:40800:1: rule__XRelationalExpression__FeatureAssignment_1_1_0_0_1 : ( ( ruleOpCompare ) ) ;
+    // InternalReportDSL.g:41241:1: rule__XRelationalExpression__FeatureAssignment_1_1_0_0_1 : ( ( ruleOpCompare ) ) ;
     public final void rule__XRelationalExpression__FeatureAssignment_1_1_0_0_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:40804:1: ( ( ( ruleOpCompare ) ) )
-            // InternalReportDSL.g:40805:2: ( ( ruleOpCompare ) )
+            // InternalReportDSL.g:41245:1: ( ( ( ruleOpCompare ) ) )
+            // InternalReportDSL.g:41246:2: ( ( ruleOpCompare ) )
             {
-            // InternalReportDSL.g:40805:2: ( ( ruleOpCompare ) )
-            // InternalReportDSL.g:40806:3: ( ruleOpCompare )
+            // InternalReportDSL.g:41246:2: ( ( ruleOpCompare ) )
+            // InternalReportDSL.g:41247:3: ( ruleOpCompare )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXRelationalExpressionAccess().getFeatureJvmIdentifiableElementCrossReference_1_1_0_0_1_0()); 
             }
-            // InternalReportDSL.g:40807:3: ( ruleOpCompare )
-            // InternalReportDSL.g:40808:4: ruleOpCompare
+            // InternalReportDSL.g:41248:3: ( ruleOpCompare )
+            // InternalReportDSL.g:41249:4: ruleOpCompare
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXRelationalExpressionAccess().getFeatureJvmIdentifiableElementOpCompareParserRuleCall_1_1_0_0_1_0_1()); 
@@ -132447,17 +134062,17 @@
 
 
     // $ANTLR start "rule__XRelationalExpression__RightOperandAssignment_1_1_1"
-    // InternalReportDSL.g:40819:1: rule__XRelationalExpression__RightOperandAssignment_1_1_1 : ( ruleXOtherOperatorExpression ) ;
+    // InternalReportDSL.g:41260:1: rule__XRelationalExpression__RightOperandAssignment_1_1_1 : ( ruleXOtherOperatorExpression ) ;
     public final void rule__XRelationalExpression__RightOperandAssignment_1_1_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:40823:1: ( ( ruleXOtherOperatorExpression ) )
-            // InternalReportDSL.g:40824:2: ( ruleXOtherOperatorExpression )
+            // InternalReportDSL.g:41264:1: ( ( ruleXOtherOperatorExpression ) )
+            // InternalReportDSL.g:41265:2: ( ruleXOtherOperatorExpression )
             {
-            // InternalReportDSL.g:40824:2: ( ruleXOtherOperatorExpression )
-            // InternalReportDSL.g:40825:3: ruleXOtherOperatorExpression
+            // InternalReportDSL.g:41265:2: ( ruleXOtherOperatorExpression )
+            // InternalReportDSL.g:41266:3: ruleXOtherOperatorExpression
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXRelationalExpressionAccess().getRightOperandXOtherOperatorExpressionParserRuleCall_1_1_1_0()); 
@@ -132492,23 +134107,23 @@
 
 
     // $ANTLR start "rule__XOtherOperatorExpression__FeatureAssignment_1_0_0_1"
-    // InternalReportDSL.g:40834:1: rule__XOtherOperatorExpression__FeatureAssignment_1_0_0_1 : ( ( ruleOpOther ) ) ;
+    // InternalReportDSL.g:41275:1: rule__XOtherOperatorExpression__FeatureAssignment_1_0_0_1 : ( ( ruleOpOther ) ) ;
     public final void rule__XOtherOperatorExpression__FeatureAssignment_1_0_0_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:40838:1: ( ( ( ruleOpOther ) ) )
-            // InternalReportDSL.g:40839:2: ( ( ruleOpOther ) )
+            // InternalReportDSL.g:41279:1: ( ( ( ruleOpOther ) ) )
+            // InternalReportDSL.g:41280:2: ( ( ruleOpOther ) )
             {
-            // InternalReportDSL.g:40839:2: ( ( ruleOpOther ) )
-            // InternalReportDSL.g:40840:3: ( ruleOpOther )
+            // InternalReportDSL.g:41280:2: ( ( ruleOpOther ) )
+            // InternalReportDSL.g:41281:3: ( ruleOpOther )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXOtherOperatorExpressionAccess().getFeatureJvmIdentifiableElementCrossReference_1_0_0_1_0()); 
             }
-            // InternalReportDSL.g:40841:3: ( ruleOpOther )
-            // InternalReportDSL.g:40842:4: ruleOpOther
+            // InternalReportDSL.g:41282:3: ( ruleOpOther )
+            // InternalReportDSL.g:41283:4: ruleOpOther
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXOtherOperatorExpressionAccess().getFeatureJvmIdentifiableElementOpOtherParserRuleCall_1_0_0_1_0_1()); 
@@ -132549,17 +134164,17 @@
 
 
     // $ANTLR start "rule__XOtherOperatorExpression__RightOperandAssignment_1_1"
-    // InternalReportDSL.g:40853:1: rule__XOtherOperatorExpression__RightOperandAssignment_1_1 : ( ruleXAdditiveExpression ) ;
+    // InternalReportDSL.g:41294:1: rule__XOtherOperatorExpression__RightOperandAssignment_1_1 : ( ruleXAdditiveExpression ) ;
     public final void rule__XOtherOperatorExpression__RightOperandAssignment_1_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:40857:1: ( ( ruleXAdditiveExpression ) )
-            // InternalReportDSL.g:40858:2: ( ruleXAdditiveExpression )
+            // InternalReportDSL.g:41298:1: ( ( ruleXAdditiveExpression ) )
+            // InternalReportDSL.g:41299:2: ( ruleXAdditiveExpression )
             {
-            // InternalReportDSL.g:40858:2: ( ruleXAdditiveExpression )
-            // InternalReportDSL.g:40859:3: ruleXAdditiveExpression
+            // InternalReportDSL.g:41299:2: ( ruleXAdditiveExpression )
+            // InternalReportDSL.g:41300:3: ruleXAdditiveExpression
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXOtherOperatorExpressionAccess().getRightOperandXAdditiveExpressionParserRuleCall_1_1_0()); 
@@ -132594,23 +134209,23 @@
 
 
     // $ANTLR start "rule__XAdditiveExpression__FeatureAssignment_1_0_0_1"
-    // InternalReportDSL.g:40868:1: rule__XAdditiveExpression__FeatureAssignment_1_0_0_1 : ( ( ruleOpAdd ) ) ;
+    // InternalReportDSL.g:41309:1: rule__XAdditiveExpression__FeatureAssignment_1_0_0_1 : ( ( ruleOpAdd ) ) ;
     public final void rule__XAdditiveExpression__FeatureAssignment_1_0_0_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:40872:1: ( ( ( ruleOpAdd ) ) )
-            // InternalReportDSL.g:40873:2: ( ( ruleOpAdd ) )
+            // InternalReportDSL.g:41313:1: ( ( ( ruleOpAdd ) ) )
+            // InternalReportDSL.g:41314:2: ( ( ruleOpAdd ) )
             {
-            // InternalReportDSL.g:40873:2: ( ( ruleOpAdd ) )
-            // InternalReportDSL.g:40874:3: ( ruleOpAdd )
+            // InternalReportDSL.g:41314:2: ( ( ruleOpAdd ) )
+            // InternalReportDSL.g:41315:3: ( ruleOpAdd )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXAdditiveExpressionAccess().getFeatureJvmIdentifiableElementCrossReference_1_0_0_1_0()); 
             }
-            // InternalReportDSL.g:40875:3: ( ruleOpAdd )
-            // InternalReportDSL.g:40876:4: ruleOpAdd
+            // InternalReportDSL.g:41316:3: ( ruleOpAdd )
+            // InternalReportDSL.g:41317:4: ruleOpAdd
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXAdditiveExpressionAccess().getFeatureJvmIdentifiableElementOpAddParserRuleCall_1_0_0_1_0_1()); 
@@ -132651,17 +134266,17 @@
 
 
     // $ANTLR start "rule__XAdditiveExpression__RightOperandAssignment_1_1"
-    // InternalReportDSL.g:40887:1: rule__XAdditiveExpression__RightOperandAssignment_1_1 : ( ruleXMultiplicativeExpression ) ;
+    // InternalReportDSL.g:41328:1: rule__XAdditiveExpression__RightOperandAssignment_1_1 : ( ruleXMultiplicativeExpression ) ;
     public final void rule__XAdditiveExpression__RightOperandAssignment_1_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:40891:1: ( ( ruleXMultiplicativeExpression ) )
-            // InternalReportDSL.g:40892:2: ( ruleXMultiplicativeExpression )
+            // InternalReportDSL.g:41332:1: ( ( ruleXMultiplicativeExpression ) )
+            // InternalReportDSL.g:41333:2: ( ruleXMultiplicativeExpression )
             {
-            // InternalReportDSL.g:40892:2: ( ruleXMultiplicativeExpression )
-            // InternalReportDSL.g:40893:3: ruleXMultiplicativeExpression
+            // InternalReportDSL.g:41333:2: ( ruleXMultiplicativeExpression )
+            // InternalReportDSL.g:41334:3: ruleXMultiplicativeExpression
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXAdditiveExpressionAccess().getRightOperandXMultiplicativeExpressionParserRuleCall_1_1_0()); 
@@ -132696,23 +134311,23 @@
 
 
     // $ANTLR start "rule__XMultiplicativeExpression__FeatureAssignment_1_0_0_1"
-    // InternalReportDSL.g:40902:1: rule__XMultiplicativeExpression__FeatureAssignment_1_0_0_1 : ( ( ruleOpMulti ) ) ;
+    // InternalReportDSL.g:41343:1: rule__XMultiplicativeExpression__FeatureAssignment_1_0_0_1 : ( ( ruleOpMulti ) ) ;
     public final void rule__XMultiplicativeExpression__FeatureAssignment_1_0_0_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:40906:1: ( ( ( ruleOpMulti ) ) )
-            // InternalReportDSL.g:40907:2: ( ( ruleOpMulti ) )
+            // InternalReportDSL.g:41347:1: ( ( ( ruleOpMulti ) ) )
+            // InternalReportDSL.g:41348:2: ( ( ruleOpMulti ) )
             {
-            // InternalReportDSL.g:40907:2: ( ( ruleOpMulti ) )
-            // InternalReportDSL.g:40908:3: ( ruleOpMulti )
+            // InternalReportDSL.g:41348:2: ( ( ruleOpMulti ) )
+            // InternalReportDSL.g:41349:3: ( ruleOpMulti )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXMultiplicativeExpressionAccess().getFeatureJvmIdentifiableElementCrossReference_1_0_0_1_0()); 
             }
-            // InternalReportDSL.g:40909:3: ( ruleOpMulti )
-            // InternalReportDSL.g:40910:4: ruleOpMulti
+            // InternalReportDSL.g:41350:3: ( ruleOpMulti )
+            // InternalReportDSL.g:41351:4: ruleOpMulti
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXMultiplicativeExpressionAccess().getFeatureJvmIdentifiableElementOpMultiParserRuleCall_1_0_0_1_0_1()); 
@@ -132753,17 +134368,17 @@
 
 
     // $ANTLR start "rule__XMultiplicativeExpression__RightOperandAssignment_1_1"
-    // InternalReportDSL.g:40921:1: rule__XMultiplicativeExpression__RightOperandAssignment_1_1 : ( ruleXUnaryOperation ) ;
+    // InternalReportDSL.g:41362:1: rule__XMultiplicativeExpression__RightOperandAssignment_1_1 : ( ruleXUnaryOperation ) ;
     public final void rule__XMultiplicativeExpression__RightOperandAssignment_1_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:40925:1: ( ( ruleXUnaryOperation ) )
-            // InternalReportDSL.g:40926:2: ( ruleXUnaryOperation )
+            // InternalReportDSL.g:41366:1: ( ( ruleXUnaryOperation ) )
+            // InternalReportDSL.g:41367:2: ( ruleXUnaryOperation )
             {
-            // InternalReportDSL.g:40926:2: ( ruleXUnaryOperation )
-            // InternalReportDSL.g:40927:3: ruleXUnaryOperation
+            // InternalReportDSL.g:41367:2: ( ruleXUnaryOperation )
+            // InternalReportDSL.g:41368:3: ruleXUnaryOperation
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXMultiplicativeExpressionAccess().getRightOperandXUnaryOperationParserRuleCall_1_1_0()); 
@@ -132798,23 +134413,23 @@
 
 
     // $ANTLR start "rule__XUnaryOperation__FeatureAssignment_0_1"
-    // InternalReportDSL.g:40936:1: rule__XUnaryOperation__FeatureAssignment_0_1 : ( ( ruleOpUnary ) ) ;
+    // InternalReportDSL.g:41377:1: rule__XUnaryOperation__FeatureAssignment_0_1 : ( ( ruleOpUnary ) ) ;
     public final void rule__XUnaryOperation__FeatureAssignment_0_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:40940:1: ( ( ( ruleOpUnary ) ) )
-            // InternalReportDSL.g:40941:2: ( ( ruleOpUnary ) )
+            // InternalReportDSL.g:41381:1: ( ( ( ruleOpUnary ) ) )
+            // InternalReportDSL.g:41382:2: ( ( ruleOpUnary ) )
             {
-            // InternalReportDSL.g:40941:2: ( ( ruleOpUnary ) )
-            // InternalReportDSL.g:40942:3: ( ruleOpUnary )
+            // InternalReportDSL.g:41382:2: ( ( ruleOpUnary ) )
+            // InternalReportDSL.g:41383:3: ( ruleOpUnary )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXUnaryOperationAccess().getFeatureJvmIdentifiableElementCrossReference_0_1_0()); 
             }
-            // InternalReportDSL.g:40943:3: ( ruleOpUnary )
-            // InternalReportDSL.g:40944:4: ruleOpUnary
+            // InternalReportDSL.g:41384:3: ( ruleOpUnary )
+            // InternalReportDSL.g:41385:4: ruleOpUnary
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXUnaryOperationAccess().getFeatureJvmIdentifiableElementOpUnaryParserRuleCall_0_1_0_1()); 
@@ -132855,17 +134470,17 @@
 
 
     // $ANTLR start "rule__XUnaryOperation__OperandAssignment_0_2"
-    // InternalReportDSL.g:40955:1: rule__XUnaryOperation__OperandAssignment_0_2 : ( ruleXUnaryOperation ) ;
+    // InternalReportDSL.g:41396:1: rule__XUnaryOperation__OperandAssignment_0_2 : ( ruleXUnaryOperation ) ;
     public final void rule__XUnaryOperation__OperandAssignment_0_2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:40959:1: ( ( ruleXUnaryOperation ) )
-            // InternalReportDSL.g:40960:2: ( ruleXUnaryOperation )
+            // InternalReportDSL.g:41400:1: ( ( ruleXUnaryOperation ) )
+            // InternalReportDSL.g:41401:2: ( ruleXUnaryOperation )
             {
-            // InternalReportDSL.g:40960:2: ( ruleXUnaryOperation )
-            // InternalReportDSL.g:40961:3: ruleXUnaryOperation
+            // InternalReportDSL.g:41401:2: ( ruleXUnaryOperation )
+            // InternalReportDSL.g:41402:3: ruleXUnaryOperation
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXUnaryOperationAccess().getOperandXUnaryOperationParserRuleCall_0_2_0()); 
@@ -132900,17 +134515,17 @@
 
 
     // $ANTLR start "rule__XCastedExpression__TypeAssignment_1_1"
-    // InternalReportDSL.g:40970:1: rule__XCastedExpression__TypeAssignment_1_1 : ( ruleJvmTypeReference ) ;
+    // InternalReportDSL.g:41411:1: rule__XCastedExpression__TypeAssignment_1_1 : ( ruleJvmTypeReference ) ;
     public final void rule__XCastedExpression__TypeAssignment_1_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:40974:1: ( ( ruleJvmTypeReference ) )
-            // InternalReportDSL.g:40975:2: ( ruleJvmTypeReference )
+            // InternalReportDSL.g:41415:1: ( ( ruleJvmTypeReference ) )
+            // InternalReportDSL.g:41416:2: ( ruleJvmTypeReference )
             {
-            // InternalReportDSL.g:40975:2: ( ruleJvmTypeReference )
-            // InternalReportDSL.g:40976:3: ruleJvmTypeReference
+            // InternalReportDSL.g:41416:2: ( ruleJvmTypeReference )
+            // InternalReportDSL.g:41417:3: ruleJvmTypeReference
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXCastedExpressionAccess().getTypeJvmTypeReferenceParserRuleCall_1_1_0()); 
@@ -132945,23 +134560,23 @@
 
 
     // $ANTLR start "rule__XPostfixOperation__FeatureAssignment_1_0_1"
-    // InternalReportDSL.g:40985:1: rule__XPostfixOperation__FeatureAssignment_1_0_1 : ( ( ruleOpPostfix ) ) ;
+    // InternalReportDSL.g:41426:1: rule__XPostfixOperation__FeatureAssignment_1_0_1 : ( ( ruleOpPostfix ) ) ;
     public final void rule__XPostfixOperation__FeatureAssignment_1_0_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:40989:1: ( ( ( ruleOpPostfix ) ) )
-            // InternalReportDSL.g:40990:2: ( ( ruleOpPostfix ) )
+            // InternalReportDSL.g:41430:1: ( ( ( ruleOpPostfix ) ) )
+            // InternalReportDSL.g:41431:2: ( ( ruleOpPostfix ) )
             {
-            // InternalReportDSL.g:40990:2: ( ( ruleOpPostfix ) )
-            // InternalReportDSL.g:40991:3: ( ruleOpPostfix )
+            // InternalReportDSL.g:41431:2: ( ( ruleOpPostfix ) )
+            // InternalReportDSL.g:41432:3: ( ruleOpPostfix )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXPostfixOperationAccess().getFeatureJvmIdentifiableElementCrossReference_1_0_1_0()); 
             }
-            // InternalReportDSL.g:40992:3: ( ruleOpPostfix )
-            // InternalReportDSL.g:40993:4: ruleOpPostfix
+            // InternalReportDSL.g:41433:3: ( ruleOpPostfix )
+            // InternalReportDSL.g:41434:4: ruleOpPostfix
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXPostfixOperationAccess().getFeatureJvmIdentifiableElementOpPostfixParserRuleCall_1_0_1_0_1()); 
@@ -133002,28 +134617,28 @@
 
 
     // $ANTLR start "rule__XMemberFeatureCall__ExplicitStaticAssignment_1_0_0_0_1_1"
-    // InternalReportDSL.g:41004:1: rule__XMemberFeatureCall__ExplicitStaticAssignment_1_0_0_0_1_1 : ( ( '::' ) ) ;
+    // InternalReportDSL.g:41445:1: rule__XMemberFeatureCall__ExplicitStaticAssignment_1_0_0_0_1_1 : ( ( '::' ) ) ;
     public final void rule__XMemberFeatureCall__ExplicitStaticAssignment_1_0_0_0_1_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:41008:1: ( ( ( '::' ) ) )
-            // InternalReportDSL.g:41009:2: ( ( '::' ) )
+            // InternalReportDSL.g:41449:1: ( ( ( '::' ) ) )
+            // InternalReportDSL.g:41450:2: ( ( '::' ) )
             {
-            // InternalReportDSL.g:41009:2: ( ( '::' ) )
-            // InternalReportDSL.g:41010:3: ( '::' )
+            // InternalReportDSL.g:41450:2: ( ( '::' ) )
+            // InternalReportDSL.g:41451:3: ( '::' )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXMemberFeatureCallAccess().getExplicitStaticColonColonKeyword_1_0_0_0_1_1_0()); 
             }
-            // InternalReportDSL.g:41011:3: ( '::' )
-            // InternalReportDSL.g:41012:4: '::'
+            // InternalReportDSL.g:41452:3: ( '::' )
+            // InternalReportDSL.g:41453:4: '::'
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXMemberFeatureCallAccess().getExplicitStaticColonColonKeyword_1_0_0_0_1_1_0()); 
             }
-            match(input,262,FOLLOW_2); if (state.failed) return ;
+            match(input,267,FOLLOW_2); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getXMemberFeatureCallAccess().getExplicitStaticColonColonKeyword_1_0_0_0_1_1_0()); 
             }
@@ -133055,23 +134670,23 @@
 
 
     // $ANTLR start "rule__XMemberFeatureCall__FeatureAssignment_1_0_0_0_2"
-    // InternalReportDSL.g:41023:1: rule__XMemberFeatureCall__FeatureAssignment_1_0_0_0_2 : ( ( ruleFeatureCallID ) ) ;
+    // InternalReportDSL.g:41464:1: rule__XMemberFeatureCall__FeatureAssignment_1_0_0_0_2 : ( ( ruleFeatureCallID ) ) ;
     public final void rule__XMemberFeatureCall__FeatureAssignment_1_0_0_0_2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:41027:1: ( ( ( ruleFeatureCallID ) ) )
-            // InternalReportDSL.g:41028:2: ( ( ruleFeatureCallID ) )
+            // InternalReportDSL.g:41468:1: ( ( ( ruleFeatureCallID ) ) )
+            // InternalReportDSL.g:41469:2: ( ( ruleFeatureCallID ) )
             {
-            // InternalReportDSL.g:41028:2: ( ( ruleFeatureCallID ) )
-            // InternalReportDSL.g:41029:3: ( ruleFeatureCallID )
+            // InternalReportDSL.g:41469:2: ( ( ruleFeatureCallID ) )
+            // InternalReportDSL.g:41470:3: ( ruleFeatureCallID )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXMemberFeatureCallAccess().getFeatureJvmIdentifiableElementCrossReference_1_0_0_0_2_0()); 
             }
-            // InternalReportDSL.g:41030:3: ( ruleFeatureCallID )
-            // InternalReportDSL.g:41031:4: ruleFeatureCallID
+            // InternalReportDSL.g:41471:3: ( ruleFeatureCallID )
+            // InternalReportDSL.g:41472:4: ruleFeatureCallID
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXMemberFeatureCallAccess().getFeatureJvmIdentifiableElementFeatureCallIDParserRuleCall_1_0_0_0_2_0_1()); 
@@ -133112,17 +134727,17 @@
 
 
     // $ANTLR start "rule__XMemberFeatureCall__ValueAssignment_1_0_1"
-    // InternalReportDSL.g:41042:1: rule__XMemberFeatureCall__ValueAssignment_1_0_1 : ( ruleXAssignment ) ;
+    // InternalReportDSL.g:41483:1: rule__XMemberFeatureCall__ValueAssignment_1_0_1 : ( ruleXAssignment ) ;
     public final void rule__XMemberFeatureCall__ValueAssignment_1_0_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:41046:1: ( ( ruleXAssignment ) )
-            // InternalReportDSL.g:41047:2: ( ruleXAssignment )
+            // InternalReportDSL.g:41487:1: ( ( ruleXAssignment ) )
+            // InternalReportDSL.g:41488:2: ( ruleXAssignment )
             {
-            // InternalReportDSL.g:41047:2: ( ruleXAssignment )
-            // InternalReportDSL.g:41048:3: ruleXAssignment
+            // InternalReportDSL.g:41488:2: ( ruleXAssignment )
+            // InternalReportDSL.g:41489:3: ruleXAssignment
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXMemberFeatureCallAccess().getValueXAssignmentParserRuleCall_1_0_1_0()); 
@@ -133157,28 +134772,28 @@
 
 
     // $ANTLR start "rule__XMemberFeatureCall__NullSafeAssignment_1_1_0_0_1_1"
-    // InternalReportDSL.g:41057:1: rule__XMemberFeatureCall__NullSafeAssignment_1_1_0_0_1_1 : ( ( '?.' ) ) ;
+    // InternalReportDSL.g:41498:1: rule__XMemberFeatureCall__NullSafeAssignment_1_1_0_0_1_1 : ( ( '?.' ) ) ;
     public final void rule__XMemberFeatureCall__NullSafeAssignment_1_1_0_0_1_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:41061:1: ( ( ( '?.' ) ) )
-            // InternalReportDSL.g:41062:2: ( ( '?.' ) )
+            // InternalReportDSL.g:41502:1: ( ( ( '?.' ) ) )
+            // InternalReportDSL.g:41503:2: ( ( '?.' ) )
             {
-            // InternalReportDSL.g:41062:2: ( ( '?.' ) )
-            // InternalReportDSL.g:41063:3: ( '?.' )
+            // InternalReportDSL.g:41503:2: ( ( '?.' ) )
+            // InternalReportDSL.g:41504:3: ( '?.' )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXMemberFeatureCallAccess().getNullSafeQuestionMarkFullStopKeyword_1_1_0_0_1_1_0()); 
             }
-            // InternalReportDSL.g:41064:3: ( '?.' )
-            // InternalReportDSL.g:41065:4: '?.'
+            // InternalReportDSL.g:41505:3: ( '?.' )
+            // InternalReportDSL.g:41506:4: '?.'
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXMemberFeatureCallAccess().getNullSafeQuestionMarkFullStopKeyword_1_1_0_0_1_1_0()); 
             }
-            match(input,263,FOLLOW_2); if (state.failed) return ;
+            match(input,268,FOLLOW_2); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getXMemberFeatureCallAccess().getNullSafeQuestionMarkFullStopKeyword_1_1_0_0_1_1_0()); 
             }
@@ -133210,28 +134825,28 @@
 
 
     // $ANTLR start "rule__XMemberFeatureCall__ExplicitStaticAssignment_1_1_0_0_1_2"
-    // InternalReportDSL.g:41076:1: rule__XMemberFeatureCall__ExplicitStaticAssignment_1_1_0_0_1_2 : ( ( '::' ) ) ;
+    // InternalReportDSL.g:41517:1: rule__XMemberFeatureCall__ExplicitStaticAssignment_1_1_0_0_1_2 : ( ( '::' ) ) ;
     public final void rule__XMemberFeatureCall__ExplicitStaticAssignment_1_1_0_0_1_2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:41080:1: ( ( ( '::' ) ) )
-            // InternalReportDSL.g:41081:2: ( ( '::' ) )
+            // InternalReportDSL.g:41521:1: ( ( ( '::' ) ) )
+            // InternalReportDSL.g:41522:2: ( ( '::' ) )
             {
-            // InternalReportDSL.g:41081:2: ( ( '::' ) )
-            // InternalReportDSL.g:41082:3: ( '::' )
+            // InternalReportDSL.g:41522:2: ( ( '::' ) )
+            // InternalReportDSL.g:41523:3: ( '::' )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXMemberFeatureCallAccess().getExplicitStaticColonColonKeyword_1_1_0_0_1_2_0()); 
             }
-            // InternalReportDSL.g:41083:3: ( '::' )
-            // InternalReportDSL.g:41084:4: '::'
+            // InternalReportDSL.g:41524:3: ( '::' )
+            // InternalReportDSL.g:41525:4: '::'
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXMemberFeatureCallAccess().getExplicitStaticColonColonKeyword_1_1_0_0_1_2_0()); 
             }
-            match(input,262,FOLLOW_2); if (state.failed) return ;
+            match(input,267,FOLLOW_2); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getXMemberFeatureCallAccess().getExplicitStaticColonColonKeyword_1_1_0_0_1_2_0()); 
             }
@@ -133263,17 +134878,17 @@
 
 
     // $ANTLR start "rule__XMemberFeatureCall__TypeArgumentsAssignment_1_1_1_1"
-    // InternalReportDSL.g:41095:1: rule__XMemberFeatureCall__TypeArgumentsAssignment_1_1_1_1 : ( ruleJvmArgumentTypeReference ) ;
+    // InternalReportDSL.g:41536:1: rule__XMemberFeatureCall__TypeArgumentsAssignment_1_1_1_1 : ( ruleJvmArgumentTypeReference ) ;
     public final void rule__XMemberFeatureCall__TypeArgumentsAssignment_1_1_1_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:41099:1: ( ( ruleJvmArgumentTypeReference ) )
-            // InternalReportDSL.g:41100:2: ( ruleJvmArgumentTypeReference )
+            // InternalReportDSL.g:41540:1: ( ( ruleJvmArgumentTypeReference ) )
+            // InternalReportDSL.g:41541:2: ( ruleJvmArgumentTypeReference )
             {
-            // InternalReportDSL.g:41100:2: ( ruleJvmArgumentTypeReference )
-            // InternalReportDSL.g:41101:3: ruleJvmArgumentTypeReference
+            // InternalReportDSL.g:41541:2: ( ruleJvmArgumentTypeReference )
+            // InternalReportDSL.g:41542:3: ruleJvmArgumentTypeReference
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXMemberFeatureCallAccess().getTypeArgumentsJvmArgumentTypeReferenceParserRuleCall_1_1_1_1_0()); 
@@ -133308,17 +134923,17 @@
 
 
     // $ANTLR start "rule__XMemberFeatureCall__TypeArgumentsAssignment_1_1_1_2_1"
-    // InternalReportDSL.g:41110:1: rule__XMemberFeatureCall__TypeArgumentsAssignment_1_1_1_2_1 : ( ruleJvmArgumentTypeReference ) ;
+    // InternalReportDSL.g:41551:1: rule__XMemberFeatureCall__TypeArgumentsAssignment_1_1_1_2_1 : ( ruleJvmArgumentTypeReference ) ;
     public final void rule__XMemberFeatureCall__TypeArgumentsAssignment_1_1_1_2_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:41114:1: ( ( ruleJvmArgumentTypeReference ) )
-            // InternalReportDSL.g:41115:2: ( ruleJvmArgumentTypeReference )
+            // InternalReportDSL.g:41555:1: ( ( ruleJvmArgumentTypeReference ) )
+            // InternalReportDSL.g:41556:2: ( ruleJvmArgumentTypeReference )
             {
-            // InternalReportDSL.g:41115:2: ( ruleJvmArgumentTypeReference )
-            // InternalReportDSL.g:41116:3: ruleJvmArgumentTypeReference
+            // InternalReportDSL.g:41556:2: ( ruleJvmArgumentTypeReference )
+            // InternalReportDSL.g:41557:3: ruleJvmArgumentTypeReference
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXMemberFeatureCallAccess().getTypeArgumentsJvmArgumentTypeReferenceParserRuleCall_1_1_1_2_1_0()); 
@@ -133353,23 +134968,23 @@
 
 
     // $ANTLR start "rule__XMemberFeatureCall__FeatureAssignment_1_1_2"
-    // InternalReportDSL.g:41125:1: rule__XMemberFeatureCall__FeatureAssignment_1_1_2 : ( ( ruleIdOrSuper ) ) ;
+    // InternalReportDSL.g:41566:1: rule__XMemberFeatureCall__FeatureAssignment_1_1_2 : ( ( ruleIdOrSuper ) ) ;
     public final void rule__XMemberFeatureCall__FeatureAssignment_1_1_2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:41129:1: ( ( ( ruleIdOrSuper ) ) )
-            // InternalReportDSL.g:41130:2: ( ( ruleIdOrSuper ) )
+            // InternalReportDSL.g:41570:1: ( ( ( ruleIdOrSuper ) ) )
+            // InternalReportDSL.g:41571:2: ( ( ruleIdOrSuper ) )
             {
-            // InternalReportDSL.g:41130:2: ( ( ruleIdOrSuper ) )
-            // InternalReportDSL.g:41131:3: ( ruleIdOrSuper )
+            // InternalReportDSL.g:41571:2: ( ( ruleIdOrSuper ) )
+            // InternalReportDSL.g:41572:3: ( ruleIdOrSuper )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXMemberFeatureCallAccess().getFeatureJvmIdentifiableElementCrossReference_1_1_2_0()); 
             }
-            // InternalReportDSL.g:41132:3: ( ruleIdOrSuper )
-            // InternalReportDSL.g:41133:4: ruleIdOrSuper
+            // InternalReportDSL.g:41573:3: ( ruleIdOrSuper )
+            // InternalReportDSL.g:41574:4: ruleIdOrSuper
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXMemberFeatureCallAccess().getFeatureJvmIdentifiableElementIdOrSuperParserRuleCall_1_1_2_0_1()); 
@@ -133410,28 +135025,28 @@
 
 
     // $ANTLR start "rule__XMemberFeatureCall__ExplicitOperationCallAssignment_1_1_3_0"
-    // InternalReportDSL.g:41144:1: rule__XMemberFeatureCall__ExplicitOperationCallAssignment_1_1_3_0 : ( ( '(' ) ) ;
+    // InternalReportDSL.g:41585:1: rule__XMemberFeatureCall__ExplicitOperationCallAssignment_1_1_3_0 : ( ( '(' ) ) ;
     public final void rule__XMemberFeatureCall__ExplicitOperationCallAssignment_1_1_3_0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:41148:1: ( ( ( '(' ) ) )
-            // InternalReportDSL.g:41149:2: ( ( '(' ) )
+            // InternalReportDSL.g:41589:1: ( ( ( '(' ) ) )
+            // InternalReportDSL.g:41590:2: ( ( '(' ) )
             {
-            // InternalReportDSL.g:41149:2: ( ( '(' ) )
-            // InternalReportDSL.g:41150:3: ( '(' )
+            // InternalReportDSL.g:41590:2: ( ( '(' ) )
+            // InternalReportDSL.g:41591:3: ( '(' )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXMemberFeatureCallAccess().getExplicitOperationCallLeftParenthesisKeyword_1_1_3_0_0()); 
             }
-            // InternalReportDSL.g:41151:3: ( '(' )
-            // InternalReportDSL.g:41152:4: '('
+            // InternalReportDSL.g:41592:3: ( '(' )
+            // InternalReportDSL.g:41593:4: '('
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXMemberFeatureCallAccess().getExplicitOperationCallLeftParenthesisKeyword_1_1_3_0_0()); 
             }
-            match(input,204,FOLLOW_2); if (state.failed) return ;
+            match(input,211,FOLLOW_2); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getXMemberFeatureCallAccess().getExplicitOperationCallLeftParenthesisKeyword_1_1_3_0_0()); 
             }
@@ -133463,17 +135078,17 @@
 
 
     // $ANTLR start "rule__XMemberFeatureCall__MemberCallArgumentsAssignment_1_1_3_1_0"
-    // InternalReportDSL.g:41163:1: rule__XMemberFeatureCall__MemberCallArgumentsAssignment_1_1_3_1_0 : ( ruleXShortClosure ) ;
+    // InternalReportDSL.g:41604:1: rule__XMemberFeatureCall__MemberCallArgumentsAssignment_1_1_3_1_0 : ( ruleXShortClosure ) ;
     public final void rule__XMemberFeatureCall__MemberCallArgumentsAssignment_1_1_3_1_0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:41167:1: ( ( ruleXShortClosure ) )
-            // InternalReportDSL.g:41168:2: ( ruleXShortClosure )
+            // InternalReportDSL.g:41608:1: ( ( ruleXShortClosure ) )
+            // InternalReportDSL.g:41609:2: ( ruleXShortClosure )
             {
-            // InternalReportDSL.g:41168:2: ( ruleXShortClosure )
-            // InternalReportDSL.g:41169:3: ruleXShortClosure
+            // InternalReportDSL.g:41609:2: ( ruleXShortClosure )
+            // InternalReportDSL.g:41610:3: ruleXShortClosure
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXMemberFeatureCallAccess().getMemberCallArgumentsXShortClosureParserRuleCall_1_1_3_1_0_0()); 
@@ -133508,17 +135123,17 @@
 
 
     // $ANTLR start "rule__XMemberFeatureCall__MemberCallArgumentsAssignment_1_1_3_1_1_0"
-    // InternalReportDSL.g:41178:1: rule__XMemberFeatureCall__MemberCallArgumentsAssignment_1_1_3_1_1_0 : ( ruleXExpression ) ;
+    // InternalReportDSL.g:41619:1: rule__XMemberFeatureCall__MemberCallArgumentsAssignment_1_1_3_1_1_0 : ( ruleXExpression ) ;
     public final void rule__XMemberFeatureCall__MemberCallArgumentsAssignment_1_1_3_1_1_0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:41182:1: ( ( ruleXExpression ) )
-            // InternalReportDSL.g:41183:2: ( ruleXExpression )
+            // InternalReportDSL.g:41623:1: ( ( ruleXExpression ) )
+            // InternalReportDSL.g:41624:2: ( ruleXExpression )
             {
-            // InternalReportDSL.g:41183:2: ( ruleXExpression )
-            // InternalReportDSL.g:41184:3: ruleXExpression
+            // InternalReportDSL.g:41624:2: ( ruleXExpression )
+            // InternalReportDSL.g:41625:3: ruleXExpression
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXMemberFeatureCallAccess().getMemberCallArgumentsXExpressionParserRuleCall_1_1_3_1_1_0_0()); 
@@ -133553,17 +135168,17 @@
 
 
     // $ANTLR start "rule__XMemberFeatureCall__MemberCallArgumentsAssignment_1_1_3_1_1_1_1"
-    // InternalReportDSL.g:41193:1: rule__XMemberFeatureCall__MemberCallArgumentsAssignment_1_1_3_1_1_1_1 : ( ruleXExpression ) ;
+    // InternalReportDSL.g:41634:1: rule__XMemberFeatureCall__MemberCallArgumentsAssignment_1_1_3_1_1_1_1 : ( ruleXExpression ) ;
     public final void rule__XMemberFeatureCall__MemberCallArgumentsAssignment_1_1_3_1_1_1_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:41197:1: ( ( ruleXExpression ) )
-            // InternalReportDSL.g:41198:2: ( ruleXExpression )
+            // InternalReportDSL.g:41638:1: ( ( ruleXExpression ) )
+            // InternalReportDSL.g:41639:2: ( ruleXExpression )
             {
-            // InternalReportDSL.g:41198:2: ( ruleXExpression )
-            // InternalReportDSL.g:41199:3: ruleXExpression
+            // InternalReportDSL.g:41639:2: ( ruleXExpression )
+            // InternalReportDSL.g:41640:3: ruleXExpression
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXMemberFeatureCallAccess().getMemberCallArgumentsXExpressionParserRuleCall_1_1_3_1_1_1_1_0()); 
@@ -133598,17 +135213,17 @@
 
 
     // $ANTLR start "rule__XMemberFeatureCall__MemberCallArgumentsAssignment_1_1_4"
-    // InternalReportDSL.g:41208:1: rule__XMemberFeatureCall__MemberCallArgumentsAssignment_1_1_4 : ( ruleXClosure ) ;
+    // InternalReportDSL.g:41649:1: rule__XMemberFeatureCall__MemberCallArgumentsAssignment_1_1_4 : ( ruleXClosure ) ;
     public final void rule__XMemberFeatureCall__MemberCallArgumentsAssignment_1_1_4() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:41212:1: ( ( ruleXClosure ) )
-            // InternalReportDSL.g:41213:2: ( ruleXClosure )
+            // InternalReportDSL.g:41653:1: ( ( ruleXClosure ) )
+            // InternalReportDSL.g:41654:2: ( ruleXClosure )
             {
-            // InternalReportDSL.g:41213:2: ( ruleXClosure )
-            // InternalReportDSL.g:41214:3: ruleXClosure
+            // InternalReportDSL.g:41654:2: ( ruleXClosure )
+            // InternalReportDSL.g:41655:3: ruleXClosure
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXMemberFeatureCallAccess().getMemberCallArgumentsXClosureParserRuleCall_1_1_4_0()); 
@@ -133643,17 +135258,17 @@
 
 
     // $ANTLR start "rule__XSetLiteral__ElementsAssignment_3_0"
-    // InternalReportDSL.g:41223:1: rule__XSetLiteral__ElementsAssignment_3_0 : ( ruleXExpression ) ;
+    // InternalReportDSL.g:41664:1: rule__XSetLiteral__ElementsAssignment_3_0 : ( ruleXExpression ) ;
     public final void rule__XSetLiteral__ElementsAssignment_3_0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:41227:1: ( ( ruleXExpression ) )
-            // InternalReportDSL.g:41228:2: ( ruleXExpression )
+            // InternalReportDSL.g:41668:1: ( ( ruleXExpression ) )
+            // InternalReportDSL.g:41669:2: ( ruleXExpression )
             {
-            // InternalReportDSL.g:41228:2: ( ruleXExpression )
-            // InternalReportDSL.g:41229:3: ruleXExpression
+            // InternalReportDSL.g:41669:2: ( ruleXExpression )
+            // InternalReportDSL.g:41670:3: ruleXExpression
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXSetLiteralAccess().getElementsXExpressionParserRuleCall_3_0_0()); 
@@ -133688,17 +135303,17 @@
 
 
     // $ANTLR start "rule__XSetLiteral__ElementsAssignment_3_1_1"
-    // InternalReportDSL.g:41238:1: rule__XSetLiteral__ElementsAssignment_3_1_1 : ( ruleXExpression ) ;
+    // InternalReportDSL.g:41679:1: rule__XSetLiteral__ElementsAssignment_3_1_1 : ( ruleXExpression ) ;
     public final void rule__XSetLiteral__ElementsAssignment_3_1_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:41242:1: ( ( ruleXExpression ) )
-            // InternalReportDSL.g:41243:2: ( ruleXExpression )
+            // InternalReportDSL.g:41683:1: ( ( ruleXExpression ) )
+            // InternalReportDSL.g:41684:2: ( ruleXExpression )
             {
-            // InternalReportDSL.g:41243:2: ( ruleXExpression )
-            // InternalReportDSL.g:41244:3: ruleXExpression
+            // InternalReportDSL.g:41684:2: ( ruleXExpression )
+            // InternalReportDSL.g:41685:3: ruleXExpression
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXSetLiteralAccess().getElementsXExpressionParserRuleCall_3_1_1_0()); 
@@ -133733,17 +135348,17 @@
 
 
     // $ANTLR start "rule__XListLiteral__ElementsAssignment_3_0"
-    // InternalReportDSL.g:41253:1: rule__XListLiteral__ElementsAssignment_3_0 : ( ruleXExpression ) ;
+    // InternalReportDSL.g:41694:1: rule__XListLiteral__ElementsAssignment_3_0 : ( ruleXExpression ) ;
     public final void rule__XListLiteral__ElementsAssignment_3_0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:41257:1: ( ( ruleXExpression ) )
-            // InternalReportDSL.g:41258:2: ( ruleXExpression )
+            // InternalReportDSL.g:41698:1: ( ( ruleXExpression ) )
+            // InternalReportDSL.g:41699:2: ( ruleXExpression )
             {
-            // InternalReportDSL.g:41258:2: ( ruleXExpression )
-            // InternalReportDSL.g:41259:3: ruleXExpression
+            // InternalReportDSL.g:41699:2: ( ruleXExpression )
+            // InternalReportDSL.g:41700:3: ruleXExpression
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXListLiteralAccess().getElementsXExpressionParserRuleCall_3_0_0()); 
@@ -133778,17 +135393,17 @@
 
 
     // $ANTLR start "rule__XListLiteral__ElementsAssignment_3_1_1"
-    // InternalReportDSL.g:41268:1: rule__XListLiteral__ElementsAssignment_3_1_1 : ( ruleXExpression ) ;
+    // InternalReportDSL.g:41709:1: rule__XListLiteral__ElementsAssignment_3_1_1 : ( ruleXExpression ) ;
     public final void rule__XListLiteral__ElementsAssignment_3_1_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:41272:1: ( ( ruleXExpression ) )
-            // InternalReportDSL.g:41273:2: ( ruleXExpression )
+            // InternalReportDSL.g:41713:1: ( ( ruleXExpression ) )
+            // InternalReportDSL.g:41714:2: ( ruleXExpression )
             {
-            // InternalReportDSL.g:41273:2: ( ruleXExpression )
-            // InternalReportDSL.g:41274:3: ruleXExpression
+            // InternalReportDSL.g:41714:2: ( ruleXExpression )
+            // InternalReportDSL.g:41715:3: ruleXExpression
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXListLiteralAccess().getElementsXExpressionParserRuleCall_3_1_1_0()); 
@@ -133823,17 +135438,17 @@
 
 
     // $ANTLR start "rule__XClosure__DeclaredFormalParametersAssignment_1_0_0_0"
-    // InternalReportDSL.g:41283:1: rule__XClosure__DeclaredFormalParametersAssignment_1_0_0_0 : ( ruleJvmFormalParameter ) ;
+    // InternalReportDSL.g:41724:1: rule__XClosure__DeclaredFormalParametersAssignment_1_0_0_0 : ( ruleJvmFormalParameter ) ;
     public final void rule__XClosure__DeclaredFormalParametersAssignment_1_0_0_0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:41287:1: ( ( ruleJvmFormalParameter ) )
-            // InternalReportDSL.g:41288:2: ( ruleJvmFormalParameter )
+            // InternalReportDSL.g:41728:1: ( ( ruleJvmFormalParameter ) )
+            // InternalReportDSL.g:41729:2: ( ruleJvmFormalParameter )
             {
-            // InternalReportDSL.g:41288:2: ( ruleJvmFormalParameter )
-            // InternalReportDSL.g:41289:3: ruleJvmFormalParameter
+            // InternalReportDSL.g:41729:2: ( ruleJvmFormalParameter )
+            // InternalReportDSL.g:41730:3: ruleJvmFormalParameter
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXClosureAccess().getDeclaredFormalParametersJvmFormalParameterParserRuleCall_1_0_0_0_0()); 
@@ -133868,17 +135483,17 @@
 
 
     // $ANTLR start "rule__XClosure__DeclaredFormalParametersAssignment_1_0_0_1_1"
-    // InternalReportDSL.g:41298:1: rule__XClosure__DeclaredFormalParametersAssignment_1_0_0_1_1 : ( ruleJvmFormalParameter ) ;
+    // InternalReportDSL.g:41739:1: rule__XClosure__DeclaredFormalParametersAssignment_1_0_0_1_1 : ( ruleJvmFormalParameter ) ;
     public final void rule__XClosure__DeclaredFormalParametersAssignment_1_0_0_1_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:41302:1: ( ( ruleJvmFormalParameter ) )
-            // InternalReportDSL.g:41303:2: ( ruleJvmFormalParameter )
+            // InternalReportDSL.g:41743:1: ( ( ruleJvmFormalParameter ) )
+            // InternalReportDSL.g:41744:2: ( ruleJvmFormalParameter )
             {
-            // InternalReportDSL.g:41303:2: ( ruleJvmFormalParameter )
-            // InternalReportDSL.g:41304:3: ruleJvmFormalParameter
+            // InternalReportDSL.g:41744:2: ( ruleJvmFormalParameter )
+            // InternalReportDSL.g:41745:3: ruleJvmFormalParameter
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXClosureAccess().getDeclaredFormalParametersJvmFormalParameterParserRuleCall_1_0_0_1_1_0()); 
@@ -133913,28 +135528,28 @@
 
 
     // $ANTLR start "rule__XClosure__ExplicitSyntaxAssignment_1_0_1"
-    // InternalReportDSL.g:41313:1: rule__XClosure__ExplicitSyntaxAssignment_1_0_1 : ( ( '|' ) ) ;
+    // InternalReportDSL.g:41754:1: rule__XClosure__ExplicitSyntaxAssignment_1_0_1 : ( ( '|' ) ) ;
     public final void rule__XClosure__ExplicitSyntaxAssignment_1_0_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:41317:1: ( ( ( '|' ) ) )
-            // InternalReportDSL.g:41318:2: ( ( '|' ) )
+            // InternalReportDSL.g:41758:1: ( ( ( '|' ) ) )
+            // InternalReportDSL.g:41759:2: ( ( '|' ) )
             {
-            // InternalReportDSL.g:41318:2: ( ( '|' ) )
-            // InternalReportDSL.g:41319:3: ( '|' )
+            // InternalReportDSL.g:41759:2: ( ( '|' ) )
+            // InternalReportDSL.g:41760:3: ( '|' )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXClosureAccess().getExplicitSyntaxVerticalLineKeyword_1_0_1_0()); 
             }
-            // InternalReportDSL.g:41320:3: ( '|' )
-            // InternalReportDSL.g:41321:4: '|'
+            // InternalReportDSL.g:41761:3: ( '|' )
+            // InternalReportDSL.g:41762:4: '|'
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXClosureAccess().getExplicitSyntaxVerticalLineKeyword_1_0_1_0()); 
             }
-            match(input,264,FOLLOW_2); if (state.failed) return ;
+            match(input,269,FOLLOW_2); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getXClosureAccess().getExplicitSyntaxVerticalLineKeyword_1_0_1_0()); 
             }
@@ -133966,17 +135581,17 @@
 
 
     // $ANTLR start "rule__XClosure__ExpressionAssignment_2"
-    // InternalReportDSL.g:41332:1: rule__XClosure__ExpressionAssignment_2 : ( ruleXExpressionInClosure ) ;
+    // InternalReportDSL.g:41773:1: rule__XClosure__ExpressionAssignment_2 : ( ruleXExpressionInClosure ) ;
     public final void rule__XClosure__ExpressionAssignment_2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:41336:1: ( ( ruleXExpressionInClosure ) )
-            // InternalReportDSL.g:41337:2: ( ruleXExpressionInClosure )
+            // InternalReportDSL.g:41777:1: ( ( ruleXExpressionInClosure ) )
+            // InternalReportDSL.g:41778:2: ( ruleXExpressionInClosure )
             {
-            // InternalReportDSL.g:41337:2: ( ruleXExpressionInClosure )
-            // InternalReportDSL.g:41338:3: ruleXExpressionInClosure
+            // InternalReportDSL.g:41778:2: ( ruleXExpressionInClosure )
+            // InternalReportDSL.g:41779:3: ruleXExpressionInClosure
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXClosureAccess().getExpressionXExpressionInClosureParserRuleCall_2_0()); 
@@ -134011,17 +135626,17 @@
 
 
     // $ANTLR start "rule__XExpressionInClosure__ExpressionsAssignment_1_0"
-    // InternalReportDSL.g:41347:1: rule__XExpressionInClosure__ExpressionsAssignment_1_0 : ( ruleXExpressionOrVarDeclaration ) ;
+    // InternalReportDSL.g:41788:1: rule__XExpressionInClosure__ExpressionsAssignment_1_0 : ( ruleXExpressionOrVarDeclaration ) ;
     public final void rule__XExpressionInClosure__ExpressionsAssignment_1_0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:41351:1: ( ( ruleXExpressionOrVarDeclaration ) )
-            // InternalReportDSL.g:41352:2: ( ruleXExpressionOrVarDeclaration )
+            // InternalReportDSL.g:41792:1: ( ( ruleXExpressionOrVarDeclaration ) )
+            // InternalReportDSL.g:41793:2: ( ruleXExpressionOrVarDeclaration )
             {
-            // InternalReportDSL.g:41352:2: ( ruleXExpressionOrVarDeclaration )
-            // InternalReportDSL.g:41353:3: ruleXExpressionOrVarDeclaration
+            // InternalReportDSL.g:41793:2: ( ruleXExpressionOrVarDeclaration )
+            // InternalReportDSL.g:41794:3: ruleXExpressionOrVarDeclaration
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXExpressionInClosureAccess().getExpressionsXExpressionOrVarDeclarationParserRuleCall_1_0_0()); 
@@ -134056,17 +135671,17 @@
 
 
     // $ANTLR start "rule__XShortClosure__DeclaredFormalParametersAssignment_0_0_1_0"
-    // InternalReportDSL.g:41362:1: rule__XShortClosure__DeclaredFormalParametersAssignment_0_0_1_0 : ( ruleJvmFormalParameter ) ;
+    // InternalReportDSL.g:41803:1: rule__XShortClosure__DeclaredFormalParametersAssignment_0_0_1_0 : ( ruleJvmFormalParameter ) ;
     public final void rule__XShortClosure__DeclaredFormalParametersAssignment_0_0_1_0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:41366:1: ( ( ruleJvmFormalParameter ) )
-            // InternalReportDSL.g:41367:2: ( ruleJvmFormalParameter )
+            // InternalReportDSL.g:41807:1: ( ( ruleJvmFormalParameter ) )
+            // InternalReportDSL.g:41808:2: ( ruleJvmFormalParameter )
             {
-            // InternalReportDSL.g:41367:2: ( ruleJvmFormalParameter )
-            // InternalReportDSL.g:41368:3: ruleJvmFormalParameter
+            // InternalReportDSL.g:41808:2: ( ruleJvmFormalParameter )
+            // InternalReportDSL.g:41809:3: ruleJvmFormalParameter
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXShortClosureAccess().getDeclaredFormalParametersJvmFormalParameterParserRuleCall_0_0_1_0_0()); 
@@ -134101,17 +135716,17 @@
 
 
     // $ANTLR start "rule__XShortClosure__DeclaredFormalParametersAssignment_0_0_1_1_1"
-    // InternalReportDSL.g:41377:1: rule__XShortClosure__DeclaredFormalParametersAssignment_0_0_1_1_1 : ( ruleJvmFormalParameter ) ;
+    // InternalReportDSL.g:41818:1: rule__XShortClosure__DeclaredFormalParametersAssignment_0_0_1_1_1 : ( ruleJvmFormalParameter ) ;
     public final void rule__XShortClosure__DeclaredFormalParametersAssignment_0_0_1_1_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:41381:1: ( ( ruleJvmFormalParameter ) )
-            // InternalReportDSL.g:41382:2: ( ruleJvmFormalParameter )
+            // InternalReportDSL.g:41822:1: ( ( ruleJvmFormalParameter ) )
+            // InternalReportDSL.g:41823:2: ( ruleJvmFormalParameter )
             {
-            // InternalReportDSL.g:41382:2: ( ruleJvmFormalParameter )
-            // InternalReportDSL.g:41383:3: ruleJvmFormalParameter
+            // InternalReportDSL.g:41823:2: ( ruleJvmFormalParameter )
+            // InternalReportDSL.g:41824:3: ruleJvmFormalParameter
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXShortClosureAccess().getDeclaredFormalParametersJvmFormalParameterParserRuleCall_0_0_1_1_1_0()); 
@@ -134146,28 +135761,28 @@
 
 
     // $ANTLR start "rule__XShortClosure__ExplicitSyntaxAssignment_0_0_2"
-    // InternalReportDSL.g:41392:1: rule__XShortClosure__ExplicitSyntaxAssignment_0_0_2 : ( ( '|' ) ) ;
+    // InternalReportDSL.g:41833:1: rule__XShortClosure__ExplicitSyntaxAssignment_0_0_2 : ( ( '|' ) ) ;
     public final void rule__XShortClosure__ExplicitSyntaxAssignment_0_0_2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:41396:1: ( ( ( '|' ) ) )
-            // InternalReportDSL.g:41397:2: ( ( '|' ) )
+            // InternalReportDSL.g:41837:1: ( ( ( '|' ) ) )
+            // InternalReportDSL.g:41838:2: ( ( '|' ) )
             {
-            // InternalReportDSL.g:41397:2: ( ( '|' ) )
-            // InternalReportDSL.g:41398:3: ( '|' )
+            // InternalReportDSL.g:41838:2: ( ( '|' ) )
+            // InternalReportDSL.g:41839:3: ( '|' )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXShortClosureAccess().getExplicitSyntaxVerticalLineKeyword_0_0_2_0()); 
             }
-            // InternalReportDSL.g:41399:3: ( '|' )
-            // InternalReportDSL.g:41400:4: '|'
+            // InternalReportDSL.g:41840:3: ( '|' )
+            // InternalReportDSL.g:41841:4: '|'
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXShortClosureAccess().getExplicitSyntaxVerticalLineKeyword_0_0_2_0()); 
             }
-            match(input,264,FOLLOW_2); if (state.failed) return ;
+            match(input,269,FOLLOW_2); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getXShortClosureAccess().getExplicitSyntaxVerticalLineKeyword_0_0_2_0()); 
             }
@@ -134199,17 +135814,17 @@
 
 
     // $ANTLR start "rule__XShortClosure__ExpressionAssignment_1"
-    // InternalReportDSL.g:41411:1: rule__XShortClosure__ExpressionAssignment_1 : ( ruleXExpression ) ;
+    // InternalReportDSL.g:41852:1: rule__XShortClosure__ExpressionAssignment_1 : ( ruleXExpression ) ;
     public final void rule__XShortClosure__ExpressionAssignment_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:41415:1: ( ( ruleXExpression ) )
-            // InternalReportDSL.g:41416:2: ( ruleXExpression )
+            // InternalReportDSL.g:41856:1: ( ( ruleXExpression ) )
+            // InternalReportDSL.g:41857:2: ( ruleXExpression )
             {
-            // InternalReportDSL.g:41416:2: ( ruleXExpression )
-            // InternalReportDSL.g:41417:3: ruleXExpression
+            // InternalReportDSL.g:41857:2: ( ruleXExpression )
+            // InternalReportDSL.g:41858:3: ruleXExpression
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXShortClosureAccess().getExpressionXExpressionParserRuleCall_1_0()); 
@@ -134244,17 +135859,17 @@
 
 
     // $ANTLR start "rule__XIfExpression__IfAssignment_3"
-    // InternalReportDSL.g:41426:1: rule__XIfExpression__IfAssignment_3 : ( ruleXExpression ) ;
+    // InternalReportDSL.g:41867:1: rule__XIfExpression__IfAssignment_3 : ( ruleXExpression ) ;
     public final void rule__XIfExpression__IfAssignment_3() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:41430:1: ( ( ruleXExpression ) )
-            // InternalReportDSL.g:41431:2: ( ruleXExpression )
+            // InternalReportDSL.g:41871:1: ( ( ruleXExpression ) )
+            // InternalReportDSL.g:41872:2: ( ruleXExpression )
             {
-            // InternalReportDSL.g:41431:2: ( ruleXExpression )
-            // InternalReportDSL.g:41432:3: ruleXExpression
+            // InternalReportDSL.g:41872:2: ( ruleXExpression )
+            // InternalReportDSL.g:41873:3: ruleXExpression
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXIfExpressionAccess().getIfXExpressionParserRuleCall_3_0()); 
@@ -134289,17 +135904,17 @@
 
 
     // $ANTLR start "rule__XIfExpression__ThenAssignment_5"
-    // InternalReportDSL.g:41441:1: rule__XIfExpression__ThenAssignment_5 : ( ruleXExpression ) ;
+    // InternalReportDSL.g:41882:1: rule__XIfExpression__ThenAssignment_5 : ( ruleXExpression ) ;
     public final void rule__XIfExpression__ThenAssignment_5() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:41445:1: ( ( ruleXExpression ) )
-            // InternalReportDSL.g:41446:2: ( ruleXExpression )
+            // InternalReportDSL.g:41886:1: ( ( ruleXExpression ) )
+            // InternalReportDSL.g:41887:2: ( ruleXExpression )
             {
-            // InternalReportDSL.g:41446:2: ( ruleXExpression )
-            // InternalReportDSL.g:41447:3: ruleXExpression
+            // InternalReportDSL.g:41887:2: ( ruleXExpression )
+            // InternalReportDSL.g:41888:3: ruleXExpression
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXIfExpressionAccess().getThenXExpressionParserRuleCall_5_0()); 
@@ -134334,17 +135949,17 @@
 
 
     // $ANTLR start "rule__XIfExpression__ElseAssignment_6_1"
-    // InternalReportDSL.g:41456:1: rule__XIfExpression__ElseAssignment_6_1 : ( ruleXExpression ) ;
+    // InternalReportDSL.g:41897:1: rule__XIfExpression__ElseAssignment_6_1 : ( ruleXExpression ) ;
     public final void rule__XIfExpression__ElseAssignment_6_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:41460:1: ( ( ruleXExpression ) )
-            // InternalReportDSL.g:41461:2: ( ruleXExpression )
+            // InternalReportDSL.g:41901:1: ( ( ruleXExpression ) )
+            // InternalReportDSL.g:41902:2: ( ruleXExpression )
             {
-            // InternalReportDSL.g:41461:2: ( ruleXExpression )
-            // InternalReportDSL.g:41462:3: ruleXExpression
+            // InternalReportDSL.g:41902:2: ( ruleXExpression )
+            // InternalReportDSL.g:41903:3: ruleXExpression
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXIfExpressionAccess().getElseXExpressionParserRuleCall_6_1_0()); 
@@ -134379,17 +135994,17 @@
 
 
     // $ANTLR start "rule__XSwitchExpression__DeclaredParamAssignment_2_0_0_0_1"
-    // InternalReportDSL.g:41471:1: rule__XSwitchExpression__DeclaredParamAssignment_2_0_0_0_1 : ( ruleJvmFormalParameter ) ;
+    // InternalReportDSL.g:41912:1: rule__XSwitchExpression__DeclaredParamAssignment_2_0_0_0_1 : ( ruleJvmFormalParameter ) ;
     public final void rule__XSwitchExpression__DeclaredParamAssignment_2_0_0_0_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:41475:1: ( ( ruleJvmFormalParameter ) )
-            // InternalReportDSL.g:41476:2: ( ruleJvmFormalParameter )
+            // InternalReportDSL.g:41916:1: ( ( ruleJvmFormalParameter ) )
+            // InternalReportDSL.g:41917:2: ( ruleJvmFormalParameter )
             {
-            // InternalReportDSL.g:41476:2: ( ruleJvmFormalParameter )
-            // InternalReportDSL.g:41477:3: ruleJvmFormalParameter
+            // InternalReportDSL.g:41917:2: ( ruleJvmFormalParameter )
+            // InternalReportDSL.g:41918:3: ruleJvmFormalParameter
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXSwitchExpressionAccess().getDeclaredParamJvmFormalParameterParserRuleCall_2_0_0_0_1_0()); 
@@ -134424,17 +136039,17 @@
 
 
     // $ANTLR start "rule__XSwitchExpression__SwitchAssignment_2_0_1"
-    // InternalReportDSL.g:41486:1: rule__XSwitchExpression__SwitchAssignment_2_0_1 : ( ruleXExpression ) ;
+    // InternalReportDSL.g:41927:1: rule__XSwitchExpression__SwitchAssignment_2_0_1 : ( ruleXExpression ) ;
     public final void rule__XSwitchExpression__SwitchAssignment_2_0_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:41490:1: ( ( ruleXExpression ) )
-            // InternalReportDSL.g:41491:2: ( ruleXExpression )
+            // InternalReportDSL.g:41931:1: ( ( ruleXExpression ) )
+            // InternalReportDSL.g:41932:2: ( ruleXExpression )
             {
-            // InternalReportDSL.g:41491:2: ( ruleXExpression )
-            // InternalReportDSL.g:41492:3: ruleXExpression
+            // InternalReportDSL.g:41932:2: ( ruleXExpression )
+            // InternalReportDSL.g:41933:3: ruleXExpression
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXSwitchExpressionAccess().getSwitchXExpressionParserRuleCall_2_0_1_0()); 
@@ -134469,17 +136084,17 @@
 
 
     // $ANTLR start "rule__XSwitchExpression__DeclaredParamAssignment_2_1_0_0_0"
-    // InternalReportDSL.g:41501:1: rule__XSwitchExpression__DeclaredParamAssignment_2_1_0_0_0 : ( ruleJvmFormalParameter ) ;
+    // InternalReportDSL.g:41942:1: rule__XSwitchExpression__DeclaredParamAssignment_2_1_0_0_0 : ( ruleJvmFormalParameter ) ;
     public final void rule__XSwitchExpression__DeclaredParamAssignment_2_1_0_0_0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:41505:1: ( ( ruleJvmFormalParameter ) )
-            // InternalReportDSL.g:41506:2: ( ruleJvmFormalParameter )
+            // InternalReportDSL.g:41946:1: ( ( ruleJvmFormalParameter ) )
+            // InternalReportDSL.g:41947:2: ( ruleJvmFormalParameter )
             {
-            // InternalReportDSL.g:41506:2: ( ruleJvmFormalParameter )
-            // InternalReportDSL.g:41507:3: ruleJvmFormalParameter
+            // InternalReportDSL.g:41947:2: ( ruleJvmFormalParameter )
+            // InternalReportDSL.g:41948:3: ruleJvmFormalParameter
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXSwitchExpressionAccess().getDeclaredParamJvmFormalParameterParserRuleCall_2_1_0_0_0_0()); 
@@ -134514,17 +136129,17 @@
 
 
     // $ANTLR start "rule__XSwitchExpression__SwitchAssignment_2_1_1"
-    // InternalReportDSL.g:41516:1: rule__XSwitchExpression__SwitchAssignment_2_1_1 : ( ruleXExpression ) ;
+    // InternalReportDSL.g:41957:1: rule__XSwitchExpression__SwitchAssignment_2_1_1 : ( ruleXExpression ) ;
     public final void rule__XSwitchExpression__SwitchAssignment_2_1_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:41520:1: ( ( ruleXExpression ) )
-            // InternalReportDSL.g:41521:2: ( ruleXExpression )
+            // InternalReportDSL.g:41961:1: ( ( ruleXExpression ) )
+            // InternalReportDSL.g:41962:2: ( ruleXExpression )
             {
-            // InternalReportDSL.g:41521:2: ( ruleXExpression )
-            // InternalReportDSL.g:41522:3: ruleXExpression
+            // InternalReportDSL.g:41962:2: ( ruleXExpression )
+            // InternalReportDSL.g:41963:3: ruleXExpression
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXSwitchExpressionAccess().getSwitchXExpressionParserRuleCall_2_1_1_0()); 
@@ -134559,17 +136174,17 @@
 
 
     // $ANTLR start "rule__XSwitchExpression__CasesAssignment_4"
-    // InternalReportDSL.g:41531:1: rule__XSwitchExpression__CasesAssignment_4 : ( ruleXCasePart ) ;
+    // InternalReportDSL.g:41972:1: rule__XSwitchExpression__CasesAssignment_4 : ( ruleXCasePart ) ;
     public final void rule__XSwitchExpression__CasesAssignment_4() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:41535:1: ( ( ruleXCasePart ) )
-            // InternalReportDSL.g:41536:2: ( ruleXCasePart )
+            // InternalReportDSL.g:41976:1: ( ( ruleXCasePart ) )
+            // InternalReportDSL.g:41977:2: ( ruleXCasePart )
             {
-            // InternalReportDSL.g:41536:2: ( ruleXCasePart )
-            // InternalReportDSL.g:41537:3: ruleXCasePart
+            // InternalReportDSL.g:41977:2: ( ruleXCasePart )
+            // InternalReportDSL.g:41978:3: ruleXCasePart
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXSwitchExpressionAccess().getCasesXCasePartParserRuleCall_4_0()); 
@@ -134604,17 +136219,17 @@
 
 
     // $ANTLR start "rule__XSwitchExpression__DefaultAssignment_5_2"
-    // InternalReportDSL.g:41546:1: rule__XSwitchExpression__DefaultAssignment_5_2 : ( ruleXExpression ) ;
+    // InternalReportDSL.g:41987:1: rule__XSwitchExpression__DefaultAssignment_5_2 : ( ruleXExpression ) ;
     public final void rule__XSwitchExpression__DefaultAssignment_5_2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:41550:1: ( ( ruleXExpression ) )
-            // InternalReportDSL.g:41551:2: ( ruleXExpression )
+            // InternalReportDSL.g:41991:1: ( ( ruleXExpression ) )
+            // InternalReportDSL.g:41992:2: ( ruleXExpression )
             {
-            // InternalReportDSL.g:41551:2: ( ruleXExpression )
-            // InternalReportDSL.g:41552:3: ruleXExpression
+            // InternalReportDSL.g:41992:2: ( ruleXExpression )
+            // InternalReportDSL.g:41993:3: ruleXExpression
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXSwitchExpressionAccess().getDefaultXExpressionParserRuleCall_5_2_0()); 
@@ -134649,17 +136264,17 @@
 
 
     // $ANTLR start "rule__XCasePart__TypeGuardAssignment_1"
-    // InternalReportDSL.g:41561:1: rule__XCasePart__TypeGuardAssignment_1 : ( ruleJvmTypeReference ) ;
+    // InternalReportDSL.g:42002:1: rule__XCasePart__TypeGuardAssignment_1 : ( ruleJvmTypeReference ) ;
     public final void rule__XCasePart__TypeGuardAssignment_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:41565:1: ( ( ruleJvmTypeReference ) )
-            // InternalReportDSL.g:41566:2: ( ruleJvmTypeReference )
+            // InternalReportDSL.g:42006:1: ( ( ruleJvmTypeReference ) )
+            // InternalReportDSL.g:42007:2: ( ruleJvmTypeReference )
             {
-            // InternalReportDSL.g:41566:2: ( ruleJvmTypeReference )
-            // InternalReportDSL.g:41567:3: ruleJvmTypeReference
+            // InternalReportDSL.g:42007:2: ( ruleJvmTypeReference )
+            // InternalReportDSL.g:42008:3: ruleJvmTypeReference
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXCasePartAccess().getTypeGuardJvmTypeReferenceParserRuleCall_1_0()); 
@@ -134694,17 +136309,17 @@
 
 
     // $ANTLR start "rule__XCasePart__CaseAssignment_2_1"
-    // InternalReportDSL.g:41576:1: rule__XCasePart__CaseAssignment_2_1 : ( ruleXExpression ) ;
+    // InternalReportDSL.g:42017:1: rule__XCasePart__CaseAssignment_2_1 : ( ruleXExpression ) ;
     public final void rule__XCasePart__CaseAssignment_2_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:41580:1: ( ( ruleXExpression ) )
-            // InternalReportDSL.g:41581:2: ( ruleXExpression )
+            // InternalReportDSL.g:42021:1: ( ( ruleXExpression ) )
+            // InternalReportDSL.g:42022:2: ( ruleXExpression )
             {
-            // InternalReportDSL.g:41581:2: ( ruleXExpression )
-            // InternalReportDSL.g:41582:3: ruleXExpression
+            // InternalReportDSL.g:42022:2: ( ruleXExpression )
+            // InternalReportDSL.g:42023:3: ruleXExpression
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXCasePartAccess().getCaseXExpressionParserRuleCall_2_1_0()); 
@@ -134739,17 +136354,17 @@
 
 
     // $ANTLR start "rule__XCasePart__ThenAssignment_3_0_1"
-    // InternalReportDSL.g:41591:1: rule__XCasePart__ThenAssignment_3_0_1 : ( ruleXExpression ) ;
+    // InternalReportDSL.g:42032:1: rule__XCasePart__ThenAssignment_3_0_1 : ( ruleXExpression ) ;
     public final void rule__XCasePart__ThenAssignment_3_0_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:41595:1: ( ( ruleXExpression ) )
-            // InternalReportDSL.g:41596:2: ( ruleXExpression )
+            // InternalReportDSL.g:42036:1: ( ( ruleXExpression ) )
+            // InternalReportDSL.g:42037:2: ( ruleXExpression )
             {
-            // InternalReportDSL.g:41596:2: ( ruleXExpression )
-            // InternalReportDSL.g:41597:3: ruleXExpression
+            // InternalReportDSL.g:42037:2: ( ruleXExpression )
+            // InternalReportDSL.g:42038:3: ruleXExpression
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXCasePartAccess().getThenXExpressionParserRuleCall_3_0_1_0()); 
@@ -134784,28 +136399,28 @@
 
 
     // $ANTLR start "rule__XCasePart__FallThroughAssignment_3_1"
-    // InternalReportDSL.g:41606:1: rule__XCasePart__FallThroughAssignment_3_1 : ( ( ',' ) ) ;
+    // InternalReportDSL.g:42047:1: rule__XCasePart__FallThroughAssignment_3_1 : ( ( ',' ) ) ;
     public final void rule__XCasePart__FallThroughAssignment_3_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:41610:1: ( ( ( ',' ) ) )
-            // InternalReportDSL.g:41611:2: ( ( ',' ) )
+            // InternalReportDSL.g:42051:1: ( ( ( ',' ) ) )
+            // InternalReportDSL.g:42052:2: ( ( ',' ) )
             {
-            // InternalReportDSL.g:41611:2: ( ( ',' ) )
-            // InternalReportDSL.g:41612:3: ( ',' )
+            // InternalReportDSL.g:42052:2: ( ( ',' ) )
+            // InternalReportDSL.g:42053:3: ( ',' )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXCasePartAccess().getFallThroughCommaKeyword_3_1_0()); 
             }
-            // InternalReportDSL.g:41613:3: ( ',' )
-            // InternalReportDSL.g:41614:4: ','
+            // InternalReportDSL.g:42054:3: ( ',' )
+            // InternalReportDSL.g:42055:4: ','
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXCasePartAccess().getFallThroughCommaKeyword_3_1_0()); 
             }
-            match(input,228,FOLLOW_2); if (state.failed) return ;
+            match(input,235,FOLLOW_2); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getXCasePartAccess().getFallThroughCommaKeyword_3_1_0()); 
             }
@@ -134837,17 +136452,17 @@
 
 
     // $ANTLR start "rule__XForLoopExpression__DeclaredParamAssignment_0_0_3"
-    // InternalReportDSL.g:41625:1: rule__XForLoopExpression__DeclaredParamAssignment_0_0_3 : ( ruleJvmFormalParameter ) ;
+    // InternalReportDSL.g:42066:1: rule__XForLoopExpression__DeclaredParamAssignment_0_0_3 : ( ruleJvmFormalParameter ) ;
     public final void rule__XForLoopExpression__DeclaredParamAssignment_0_0_3() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:41629:1: ( ( ruleJvmFormalParameter ) )
-            // InternalReportDSL.g:41630:2: ( ruleJvmFormalParameter )
+            // InternalReportDSL.g:42070:1: ( ( ruleJvmFormalParameter ) )
+            // InternalReportDSL.g:42071:2: ( ruleJvmFormalParameter )
             {
-            // InternalReportDSL.g:41630:2: ( ruleJvmFormalParameter )
-            // InternalReportDSL.g:41631:3: ruleJvmFormalParameter
+            // InternalReportDSL.g:42071:2: ( ruleJvmFormalParameter )
+            // InternalReportDSL.g:42072:3: ruleJvmFormalParameter
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXForLoopExpressionAccess().getDeclaredParamJvmFormalParameterParserRuleCall_0_0_3_0()); 
@@ -134882,17 +136497,17 @@
 
 
     // $ANTLR start "rule__XForLoopExpression__ForExpressionAssignment_1"
-    // InternalReportDSL.g:41640:1: rule__XForLoopExpression__ForExpressionAssignment_1 : ( ruleXExpression ) ;
+    // InternalReportDSL.g:42081:1: rule__XForLoopExpression__ForExpressionAssignment_1 : ( ruleXExpression ) ;
     public final void rule__XForLoopExpression__ForExpressionAssignment_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:41644:1: ( ( ruleXExpression ) )
-            // InternalReportDSL.g:41645:2: ( ruleXExpression )
+            // InternalReportDSL.g:42085:1: ( ( ruleXExpression ) )
+            // InternalReportDSL.g:42086:2: ( ruleXExpression )
             {
-            // InternalReportDSL.g:41645:2: ( ruleXExpression )
-            // InternalReportDSL.g:41646:3: ruleXExpression
+            // InternalReportDSL.g:42086:2: ( ruleXExpression )
+            // InternalReportDSL.g:42087:3: ruleXExpression
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXForLoopExpressionAccess().getForExpressionXExpressionParserRuleCall_1_0()); 
@@ -134927,17 +136542,17 @@
 
 
     // $ANTLR start "rule__XForLoopExpression__EachExpressionAssignment_3"
-    // InternalReportDSL.g:41655:1: rule__XForLoopExpression__EachExpressionAssignment_3 : ( ruleXExpression ) ;
+    // InternalReportDSL.g:42096:1: rule__XForLoopExpression__EachExpressionAssignment_3 : ( ruleXExpression ) ;
     public final void rule__XForLoopExpression__EachExpressionAssignment_3() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:41659:1: ( ( ruleXExpression ) )
-            // InternalReportDSL.g:41660:2: ( ruleXExpression )
+            // InternalReportDSL.g:42100:1: ( ( ruleXExpression ) )
+            // InternalReportDSL.g:42101:2: ( ruleXExpression )
             {
-            // InternalReportDSL.g:41660:2: ( ruleXExpression )
-            // InternalReportDSL.g:41661:3: ruleXExpression
+            // InternalReportDSL.g:42101:2: ( ruleXExpression )
+            // InternalReportDSL.g:42102:3: ruleXExpression
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXForLoopExpressionAccess().getEachExpressionXExpressionParserRuleCall_3_0()); 
@@ -134972,17 +136587,17 @@
 
 
     // $ANTLR start "rule__XBasicForLoopExpression__InitExpressionsAssignment_3_0"
-    // InternalReportDSL.g:41670:1: rule__XBasicForLoopExpression__InitExpressionsAssignment_3_0 : ( ruleXExpressionOrVarDeclaration ) ;
+    // InternalReportDSL.g:42111:1: rule__XBasicForLoopExpression__InitExpressionsAssignment_3_0 : ( ruleXExpressionOrVarDeclaration ) ;
     public final void rule__XBasicForLoopExpression__InitExpressionsAssignment_3_0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:41674:1: ( ( ruleXExpressionOrVarDeclaration ) )
-            // InternalReportDSL.g:41675:2: ( ruleXExpressionOrVarDeclaration )
+            // InternalReportDSL.g:42115:1: ( ( ruleXExpressionOrVarDeclaration ) )
+            // InternalReportDSL.g:42116:2: ( ruleXExpressionOrVarDeclaration )
             {
-            // InternalReportDSL.g:41675:2: ( ruleXExpressionOrVarDeclaration )
-            // InternalReportDSL.g:41676:3: ruleXExpressionOrVarDeclaration
+            // InternalReportDSL.g:42116:2: ( ruleXExpressionOrVarDeclaration )
+            // InternalReportDSL.g:42117:3: ruleXExpressionOrVarDeclaration
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXBasicForLoopExpressionAccess().getInitExpressionsXExpressionOrVarDeclarationParserRuleCall_3_0_0()); 
@@ -135017,17 +136632,17 @@
 
 
     // $ANTLR start "rule__XBasicForLoopExpression__InitExpressionsAssignment_3_1_1"
-    // InternalReportDSL.g:41685:1: rule__XBasicForLoopExpression__InitExpressionsAssignment_3_1_1 : ( ruleXExpressionOrVarDeclaration ) ;
+    // InternalReportDSL.g:42126:1: rule__XBasicForLoopExpression__InitExpressionsAssignment_3_1_1 : ( ruleXExpressionOrVarDeclaration ) ;
     public final void rule__XBasicForLoopExpression__InitExpressionsAssignment_3_1_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:41689:1: ( ( ruleXExpressionOrVarDeclaration ) )
-            // InternalReportDSL.g:41690:2: ( ruleXExpressionOrVarDeclaration )
+            // InternalReportDSL.g:42130:1: ( ( ruleXExpressionOrVarDeclaration ) )
+            // InternalReportDSL.g:42131:2: ( ruleXExpressionOrVarDeclaration )
             {
-            // InternalReportDSL.g:41690:2: ( ruleXExpressionOrVarDeclaration )
-            // InternalReportDSL.g:41691:3: ruleXExpressionOrVarDeclaration
+            // InternalReportDSL.g:42131:2: ( ruleXExpressionOrVarDeclaration )
+            // InternalReportDSL.g:42132:3: ruleXExpressionOrVarDeclaration
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXBasicForLoopExpressionAccess().getInitExpressionsXExpressionOrVarDeclarationParserRuleCall_3_1_1_0()); 
@@ -135062,17 +136677,17 @@
 
 
     // $ANTLR start "rule__XBasicForLoopExpression__ExpressionAssignment_5"
-    // InternalReportDSL.g:41700:1: rule__XBasicForLoopExpression__ExpressionAssignment_5 : ( ruleXExpression ) ;
+    // InternalReportDSL.g:42141:1: rule__XBasicForLoopExpression__ExpressionAssignment_5 : ( ruleXExpression ) ;
     public final void rule__XBasicForLoopExpression__ExpressionAssignment_5() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:41704:1: ( ( ruleXExpression ) )
-            // InternalReportDSL.g:41705:2: ( ruleXExpression )
+            // InternalReportDSL.g:42145:1: ( ( ruleXExpression ) )
+            // InternalReportDSL.g:42146:2: ( ruleXExpression )
             {
-            // InternalReportDSL.g:41705:2: ( ruleXExpression )
-            // InternalReportDSL.g:41706:3: ruleXExpression
+            // InternalReportDSL.g:42146:2: ( ruleXExpression )
+            // InternalReportDSL.g:42147:3: ruleXExpression
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXBasicForLoopExpressionAccess().getExpressionXExpressionParserRuleCall_5_0()); 
@@ -135107,17 +136722,17 @@
 
 
     // $ANTLR start "rule__XBasicForLoopExpression__UpdateExpressionsAssignment_7_0"
-    // InternalReportDSL.g:41715:1: rule__XBasicForLoopExpression__UpdateExpressionsAssignment_7_0 : ( ruleXExpression ) ;
+    // InternalReportDSL.g:42156:1: rule__XBasicForLoopExpression__UpdateExpressionsAssignment_7_0 : ( ruleXExpression ) ;
     public final void rule__XBasicForLoopExpression__UpdateExpressionsAssignment_7_0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:41719:1: ( ( ruleXExpression ) )
-            // InternalReportDSL.g:41720:2: ( ruleXExpression )
+            // InternalReportDSL.g:42160:1: ( ( ruleXExpression ) )
+            // InternalReportDSL.g:42161:2: ( ruleXExpression )
             {
-            // InternalReportDSL.g:41720:2: ( ruleXExpression )
-            // InternalReportDSL.g:41721:3: ruleXExpression
+            // InternalReportDSL.g:42161:2: ( ruleXExpression )
+            // InternalReportDSL.g:42162:3: ruleXExpression
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXBasicForLoopExpressionAccess().getUpdateExpressionsXExpressionParserRuleCall_7_0_0()); 
@@ -135152,17 +136767,17 @@
 
 
     // $ANTLR start "rule__XBasicForLoopExpression__UpdateExpressionsAssignment_7_1_1"
-    // InternalReportDSL.g:41730:1: rule__XBasicForLoopExpression__UpdateExpressionsAssignment_7_1_1 : ( ruleXExpression ) ;
+    // InternalReportDSL.g:42171:1: rule__XBasicForLoopExpression__UpdateExpressionsAssignment_7_1_1 : ( ruleXExpression ) ;
     public final void rule__XBasicForLoopExpression__UpdateExpressionsAssignment_7_1_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:41734:1: ( ( ruleXExpression ) )
-            // InternalReportDSL.g:41735:2: ( ruleXExpression )
+            // InternalReportDSL.g:42175:1: ( ( ruleXExpression ) )
+            // InternalReportDSL.g:42176:2: ( ruleXExpression )
             {
-            // InternalReportDSL.g:41735:2: ( ruleXExpression )
-            // InternalReportDSL.g:41736:3: ruleXExpression
+            // InternalReportDSL.g:42176:2: ( ruleXExpression )
+            // InternalReportDSL.g:42177:3: ruleXExpression
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXBasicForLoopExpressionAccess().getUpdateExpressionsXExpressionParserRuleCall_7_1_1_0()); 
@@ -135197,17 +136812,17 @@
 
 
     // $ANTLR start "rule__XBasicForLoopExpression__EachExpressionAssignment_9"
-    // InternalReportDSL.g:41745:1: rule__XBasicForLoopExpression__EachExpressionAssignment_9 : ( ruleXExpression ) ;
+    // InternalReportDSL.g:42186:1: rule__XBasicForLoopExpression__EachExpressionAssignment_9 : ( ruleXExpression ) ;
     public final void rule__XBasicForLoopExpression__EachExpressionAssignment_9() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:41749:1: ( ( ruleXExpression ) )
-            // InternalReportDSL.g:41750:2: ( ruleXExpression )
+            // InternalReportDSL.g:42190:1: ( ( ruleXExpression ) )
+            // InternalReportDSL.g:42191:2: ( ruleXExpression )
             {
-            // InternalReportDSL.g:41750:2: ( ruleXExpression )
-            // InternalReportDSL.g:41751:3: ruleXExpression
+            // InternalReportDSL.g:42191:2: ( ruleXExpression )
+            // InternalReportDSL.g:42192:3: ruleXExpression
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXBasicForLoopExpressionAccess().getEachExpressionXExpressionParserRuleCall_9_0()); 
@@ -135242,17 +136857,17 @@
 
 
     // $ANTLR start "rule__XWhileExpression__PredicateAssignment_3"
-    // InternalReportDSL.g:41760:1: rule__XWhileExpression__PredicateAssignment_3 : ( ruleXExpression ) ;
+    // InternalReportDSL.g:42201:1: rule__XWhileExpression__PredicateAssignment_3 : ( ruleXExpression ) ;
     public final void rule__XWhileExpression__PredicateAssignment_3() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:41764:1: ( ( ruleXExpression ) )
-            // InternalReportDSL.g:41765:2: ( ruleXExpression )
+            // InternalReportDSL.g:42205:1: ( ( ruleXExpression ) )
+            // InternalReportDSL.g:42206:2: ( ruleXExpression )
             {
-            // InternalReportDSL.g:41765:2: ( ruleXExpression )
-            // InternalReportDSL.g:41766:3: ruleXExpression
+            // InternalReportDSL.g:42206:2: ( ruleXExpression )
+            // InternalReportDSL.g:42207:3: ruleXExpression
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXWhileExpressionAccess().getPredicateXExpressionParserRuleCall_3_0()); 
@@ -135287,17 +136902,17 @@
 
 
     // $ANTLR start "rule__XWhileExpression__BodyAssignment_5"
-    // InternalReportDSL.g:41775:1: rule__XWhileExpression__BodyAssignment_5 : ( ruleXExpression ) ;
+    // InternalReportDSL.g:42216:1: rule__XWhileExpression__BodyAssignment_5 : ( ruleXExpression ) ;
     public final void rule__XWhileExpression__BodyAssignment_5() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:41779:1: ( ( ruleXExpression ) )
-            // InternalReportDSL.g:41780:2: ( ruleXExpression )
+            // InternalReportDSL.g:42220:1: ( ( ruleXExpression ) )
+            // InternalReportDSL.g:42221:2: ( ruleXExpression )
             {
-            // InternalReportDSL.g:41780:2: ( ruleXExpression )
-            // InternalReportDSL.g:41781:3: ruleXExpression
+            // InternalReportDSL.g:42221:2: ( ruleXExpression )
+            // InternalReportDSL.g:42222:3: ruleXExpression
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXWhileExpressionAccess().getBodyXExpressionParserRuleCall_5_0()); 
@@ -135332,17 +136947,17 @@
 
 
     // $ANTLR start "rule__XDoWhileExpression__BodyAssignment_2"
-    // InternalReportDSL.g:41790:1: rule__XDoWhileExpression__BodyAssignment_2 : ( ruleXExpression ) ;
+    // InternalReportDSL.g:42231:1: rule__XDoWhileExpression__BodyAssignment_2 : ( ruleXExpression ) ;
     public final void rule__XDoWhileExpression__BodyAssignment_2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:41794:1: ( ( ruleXExpression ) )
-            // InternalReportDSL.g:41795:2: ( ruleXExpression )
+            // InternalReportDSL.g:42235:1: ( ( ruleXExpression ) )
+            // InternalReportDSL.g:42236:2: ( ruleXExpression )
             {
-            // InternalReportDSL.g:41795:2: ( ruleXExpression )
-            // InternalReportDSL.g:41796:3: ruleXExpression
+            // InternalReportDSL.g:42236:2: ( ruleXExpression )
+            // InternalReportDSL.g:42237:3: ruleXExpression
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXDoWhileExpressionAccess().getBodyXExpressionParserRuleCall_2_0()); 
@@ -135377,17 +136992,17 @@
 
 
     // $ANTLR start "rule__XDoWhileExpression__PredicateAssignment_5"
-    // InternalReportDSL.g:41805:1: rule__XDoWhileExpression__PredicateAssignment_5 : ( ruleXExpression ) ;
+    // InternalReportDSL.g:42246:1: rule__XDoWhileExpression__PredicateAssignment_5 : ( ruleXExpression ) ;
     public final void rule__XDoWhileExpression__PredicateAssignment_5() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:41809:1: ( ( ruleXExpression ) )
-            // InternalReportDSL.g:41810:2: ( ruleXExpression )
+            // InternalReportDSL.g:42250:1: ( ( ruleXExpression ) )
+            // InternalReportDSL.g:42251:2: ( ruleXExpression )
             {
-            // InternalReportDSL.g:41810:2: ( ruleXExpression )
-            // InternalReportDSL.g:41811:3: ruleXExpression
+            // InternalReportDSL.g:42251:2: ( ruleXExpression )
+            // InternalReportDSL.g:42252:3: ruleXExpression
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXDoWhileExpressionAccess().getPredicateXExpressionParserRuleCall_5_0()); 
@@ -135422,17 +137037,17 @@
 
 
     // $ANTLR start "rule__XBlockExpression__ExpressionsAssignment_2_0"
-    // InternalReportDSL.g:41820:1: rule__XBlockExpression__ExpressionsAssignment_2_0 : ( ruleXExpressionOrVarDeclaration ) ;
+    // InternalReportDSL.g:42261:1: rule__XBlockExpression__ExpressionsAssignment_2_0 : ( ruleXExpressionOrVarDeclaration ) ;
     public final void rule__XBlockExpression__ExpressionsAssignment_2_0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:41824:1: ( ( ruleXExpressionOrVarDeclaration ) )
-            // InternalReportDSL.g:41825:2: ( ruleXExpressionOrVarDeclaration )
+            // InternalReportDSL.g:42265:1: ( ( ruleXExpressionOrVarDeclaration ) )
+            // InternalReportDSL.g:42266:2: ( ruleXExpressionOrVarDeclaration )
             {
-            // InternalReportDSL.g:41825:2: ( ruleXExpressionOrVarDeclaration )
-            // InternalReportDSL.g:41826:3: ruleXExpressionOrVarDeclaration
+            // InternalReportDSL.g:42266:2: ( ruleXExpressionOrVarDeclaration )
+            // InternalReportDSL.g:42267:3: ruleXExpressionOrVarDeclaration
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXBlockExpressionAccess().getExpressionsXExpressionOrVarDeclarationParserRuleCall_2_0_0()); 
@@ -135467,28 +137082,28 @@
 
 
     // $ANTLR start "rule__XVariableDeclaration__WriteableAssignment_1_0"
-    // InternalReportDSL.g:41835:1: rule__XVariableDeclaration__WriteableAssignment_1_0 : ( ( 'var' ) ) ;
+    // InternalReportDSL.g:42276:1: rule__XVariableDeclaration__WriteableAssignment_1_0 : ( ( 'var' ) ) ;
     public final void rule__XVariableDeclaration__WriteableAssignment_1_0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:41839:1: ( ( ( 'var' ) ) )
-            // InternalReportDSL.g:41840:2: ( ( 'var' ) )
+            // InternalReportDSL.g:42280:1: ( ( ( 'var' ) ) )
+            // InternalReportDSL.g:42281:2: ( ( 'var' ) )
             {
-            // InternalReportDSL.g:41840:2: ( ( 'var' ) )
-            // InternalReportDSL.g:41841:3: ( 'var' )
+            // InternalReportDSL.g:42281:2: ( ( 'var' ) )
+            // InternalReportDSL.g:42282:3: ( 'var' )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXVariableDeclarationAccess().getWriteableVarKeyword_1_0_0()); 
             }
-            // InternalReportDSL.g:41842:3: ( 'var' )
-            // InternalReportDSL.g:41843:4: 'var'
+            // InternalReportDSL.g:42283:3: ( 'var' )
+            // InternalReportDSL.g:42284:4: 'var'
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXVariableDeclarationAccess().getWriteableVarKeyword_1_0_0()); 
             }
-            match(input,265,FOLLOW_2); if (state.failed) return ;
+            match(input,270,FOLLOW_2); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getXVariableDeclarationAccess().getWriteableVarKeyword_1_0_0()); 
             }
@@ -135520,17 +137135,17 @@
 
 
     // $ANTLR start "rule__XVariableDeclaration__TypeAssignment_2_0_0_0"
-    // InternalReportDSL.g:41854:1: rule__XVariableDeclaration__TypeAssignment_2_0_0_0 : ( ruleJvmTypeReference ) ;
+    // InternalReportDSL.g:42295:1: rule__XVariableDeclaration__TypeAssignment_2_0_0_0 : ( ruleJvmTypeReference ) ;
     public final void rule__XVariableDeclaration__TypeAssignment_2_0_0_0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:41858:1: ( ( ruleJvmTypeReference ) )
-            // InternalReportDSL.g:41859:2: ( ruleJvmTypeReference )
+            // InternalReportDSL.g:42299:1: ( ( ruleJvmTypeReference ) )
+            // InternalReportDSL.g:42300:2: ( ruleJvmTypeReference )
             {
-            // InternalReportDSL.g:41859:2: ( ruleJvmTypeReference )
-            // InternalReportDSL.g:41860:3: ruleJvmTypeReference
+            // InternalReportDSL.g:42300:2: ( ruleJvmTypeReference )
+            // InternalReportDSL.g:42301:3: ruleJvmTypeReference
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXVariableDeclarationAccess().getTypeJvmTypeReferenceParserRuleCall_2_0_0_0_0()); 
@@ -135565,17 +137180,17 @@
 
 
     // $ANTLR start "rule__XVariableDeclaration__NameAssignment_2_0_0_1"
-    // InternalReportDSL.g:41869:1: rule__XVariableDeclaration__NameAssignment_2_0_0_1 : ( ruleValidID ) ;
+    // InternalReportDSL.g:42310:1: rule__XVariableDeclaration__NameAssignment_2_0_0_1 : ( ruleValidID ) ;
     public final void rule__XVariableDeclaration__NameAssignment_2_0_0_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:41873:1: ( ( ruleValidID ) )
-            // InternalReportDSL.g:41874:2: ( ruleValidID )
+            // InternalReportDSL.g:42314:1: ( ( ruleValidID ) )
+            // InternalReportDSL.g:42315:2: ( ruleValidID )
             {
-            // InternalReportDSL.g:41874:2: ( ruleValidID )
-            // InternalReportDSL.g:41875:3: ruleValidID
+            // InternalReportDSL.g:42315:2: ( ruleValidID )
+            // InternalReportDSL.g:42316:3: ruleValidID
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXVariableDeclarationAccess().getNameValidIDParserRuleCall_2_0_0_1_0()); 
@@ -135610,17 +137225,17 @@
 
 
     // $ANTLR start "rule__XVariableDeclaration__NameAssignment_2_1"
-    // InternalReportDSL.g:41884:1: rule__XVariableDeclaration__NameAssignment_2_1 : ( ruleValidID ) ;
+    // InternalReportDSL.g:42325:1: rule__XVariableDeclaration__NameAssignment_2_1 : ( ruleValidID ) ;
     public final void rule__XVariableDeclaration__NameAssignment_2_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:41888:1: ( ( ruleValidID ) )
-            // InternalReportDSL.g:41889:2: ( ruleValidID )
+            // InternalReportDSL.g:42329:1: ( ( ruleValidID ) )
+            // InternalReportDSL.g:42330:2: ( ruleValidID )
             {
-            // InternalReportDSL.g:41889:2: ( ruleValidID )
-            // InternalReportDSL.g:41890:3: ruleValidID
+            // InternalReportDSL.g:42330:2: ( ruleValidID )
+            // InternalReportDSL.g:42331:3: ruleValidID
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXVariableDeclarationAccess().getNameValidIDParserRuleCall_2_1_0()); 
@@ -135655,17 +137270,17 @@
 
 
     // $ANTLR start "rule__XVariableDeclaration__RightAssignment_3_1"
-    // InternalReportDSL.g:41899:1: rule__XVariableDeclaration__RightAssignment_3_1 : ( ruleXExpression ) ;
+    // InternalReportDSL.g:42340:1: rule__XVariableDeclaration__RightAssignment_3_1 : ( ruleXExpression ) ;
     public final void rule__XVariableDeclaration__RightAssignment_3_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:41903:1: ( ( ruleXExpression ) )
-            // InternalReportDSL.g:41904:2: ( ruleXExpression )
+            // InternalReportDSL.g:42344:1: ( ( ruleXExpression ) )
+            // InternalReportDSL.g:42345:2: ( ruleXExpression )
             {
-            // InternalReportDSL.g:41904:2: ( ruleXExpression )
-            // InternalReportDSL.g:41905:3: ruleXExpression
+            // InternalReportDSL.g:42345:2: ( ruleXExpression )
+            // InternalReportDSL.g:42346:3: ruleXExpression
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXVariableDeclarationAccess().getRightXExpressionParserRuleCall_3_1_0()); 
@@ -135700,17 +137315,17 @@
 
 
     // $ANTLR start "rule__JvmFormalParameter__ParameterTypeAssignment_0"
-    // InternalReportDSL.g:41914:1: rule__JvmFormalParameter__ParameterTypeAssignment_0 : ( ruleJvmTypeReference ) ;
+    // InternalReportDSL.g:42355:1: rule__JvmFormalParameter__ParameterTypeAssignment_0 : ( ruleJvmTypeReference ) ;
     public final void rule__JvmFormalParameter__ParameterTypeAssignment_0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:41918:1: ( ( ruleJvmTypeReference ) )
-            // InternalReportDSL.g:41919:2: ( ruleJvmTypeReference )
+            // InternalReportDSL.g:42359:1: ( ( ruleJvmTypeReference ) )
+            // InternalReportDSL.g:42360:2: ( ruleJvmTypeReference )
             {
-            // InternalReportDSL.g:41919:2: ( ruleJvmTypeReference )
-            // InternalReportDSL.g:41920:3: ruleJvmTypeReference
+            // InternalReportDSL.g:42360:2: ( ruleJvmTypeReference )
+            // InternalReportDSL.g:42361:3: ruleJvmTypeReference
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getJvmFormalParameterAccess().getParameterTypeJvmTypeReferenceParserRuleCall_0_0()); 
@@ -135745,17 +137360,17 @@
 
 
     // $ANTLR start "rule__JvmFormalParameter__NameAssignment_1"
-    // InternalReportDSL.g:41929:1: rule__JvmFormalParameter__NameAssignment_1 : ( ruleValidID ) ;
+    // InternalReportDSL.g:42370:1: rule__JvmFormalParameter__NameAssignment_1 : ( ruleValidID ) ;
     public final void rule__JvmFormalParameter__NameAssignment_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:41933:1: ( ( ruleValidID ) )
-            // InternalReportDSL.g:41934:2: ( ruleValidID )
+            // InternalReportDSL.g:42374:1: ( ( ruleValidID ) )
+            // InternalReportDSL.g:42375:2: ( ruleValidID )
             {
-            // InternalReportDSL.g:41934:2: ( ruleValidID )
-            // InternalReportDSL.g:41935:3: ruleValidID
+            // InternalReportDSL.g:42375:2: ( ruleValidID )
+            // InternalReportDSL.g:42376:3: ruleValidID
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getJvmFormalParameterAccess().getNameValidIDParserRuleCall_1_0()); 
@@ -135790,17 +137405,17 @@
 
 
     // $ANTLR start "rule__FullJvmFormalParameter__ParameterTypeAssignment_0"
-    // InternalReportDSL.g:41944:1: rule__FullJvmFormalParameter__ParameterTypeAssignment_0 : ( ruleJvmTypeReference ) ;
+    // InternalReportDSL.g:42385:1: rule__FullJvmFormalParameter__ParameterTypeAssignment_0 : ( ruleJvmTypeReference ) ;
     public final void rule__FullJvmFormalParameter__ParameterTypeAssignment_0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:41948:1: ( ( ruleJvmTypeReference ) )
-            // InternalReportDSL.g:41949:2: ( ruleJvmTypeReference )
+            // InternalReportDSL.g:42389:1: ( ( ruleJvmTypeReference ) )
+            // InternalReportDSL.g:42390:2: ( ruleJvmTypeReference )
             {
-            // InternalReportDSL.g:41949:2: ( ruleJvmTypeReference )
-            // InternalReportDSL.g:41950:3: ruleJvmTypeReference
+            // InternalReportDSL.g:42390:2: ( ruleJvmTypeReference )
+            // InternalReportDSL.g:42391:3: ruleJvmTypeReference
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getFullJvmFormalParameterAccess().getParameterTypeJvmTypeReferenceParserRuleCall_0_0()); 
@@ -135835,17 +137450,17 @@
 
 
     // $ANTLR start "rule__FullJvmFormalParameter__NameAssignment_1"
-    // InternalReportDSL.g:41959:1: rule__FullJvmFormalParameter__NameAssignment_1 : ( ruleValidID ) ;
+    // InternalReportDSL.g:42400:1: rule__FullJvmFormalParameter__NameAssignment_1 : ( ruleValidID ) ;
     public final void rule__FullJvmFormalParameter__NameAssignment_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:41963:1: ( ( ruleValidID ) )
-            // InternalReportDSL.g:41964:2: ( ruleValidID )
+            // InternalReportDSL.g:42404:1: ( ( ruleValidID ) )
+            // InternalReportDSL.g:42405:2: ( ruleValidID )
             {
-            // InternalReportDSL.g:41964:2: ( ruleValidID )
-            // InternalReportDSL.g:41965:3: ruleValidID
+            // InternalReportDSL.g:42405:2: ( ruleValidID )
+            // InternalReportDSL.g:42406:3: ruleValidID
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getFullJvmFormalParameterAccess().getNameValidIDParserRuleCall_1_0()); 
@@ -135880,17 +137495,17 @@
 
 
     // $ANTLR start "rule__XFeatureCall__TypeArgumentsAssignment_1_1"
-    // InternalReportDSL.g:41974:1: rule__XFeatureCall__TypeArgumentsAssignment_1_1 : ( ruleJvmArgumentTypeReference ) ;
+    // InternalReportDSL.g:42415:1: rule__XFeatureCall__TypeArgumentsAssignment_1_1 : ( ruleJvmArgumentTypeReference ) ;
     public final void rule__XFeatureCall__TypeArgumentsAssignment_1_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:41978:1: ( ( ruleJvmArgumentTypeReference ) )
-            // InternalReportDSL.g:41979:2: ( ruleJvmArgumentTypeReference )
+            // InternalReportDSL.g:42419:1: ( ( ruleJvmArgumentTypeReference ) )
+            // InternalReportDSL.g:42420:2: ( ruleJvmArgumentTypeReference )
             {
-            // InternalReportDSL.g:41979:2: ( ruleJvmArgumentTypeReference )
-            // InternalReportDSL.g:41980:3: ruleJvmArgumentTypeReference
+            // InternalReportDSL.g:42420:2: ( ruleJvmArgumentTypeReference )
+            // InternalReportDSL.g:42421:3: ruleJvmArgumentTypeReference
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXFeatureCallAccess().getTypeArgumentsJvmArgumentTypeReferenceParserRuleCall_1_1_0()); 
@@ -135925,17 +137540,17 @@
 
 
     // $ANTLR start "rule__XFeatureCall__TypeArgumentsAssignment_1_2_1"
-    // InternalReportDSL.g:41989:1: rule__XFeatureCall__TypeArgumentsAssignment_1_2_1 : ( ruleJvmArgumentTypeReference ) ;
+    // InternalReportDSL.g:42430:1: rule__XFeatureCall__TypeArgumentsAssignment_1_2_1 : ( ruleJvmArgumentTypeReference ) ;
     public final void rule__XFeatureCall__TypeArgumentsAssignment_1_2_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:41993:1: ( ( ruleJvmArgumentTypeReference ) )
-            // InternalReportDSL.g:41994:2: ( ruleJvmArgumentTypeReference )
+            // InternalReportDSL.g:42434:1: ( ( ruleJvmArgumentTypeReference ) )
+            // InternalReportDSL.g:42435:2: ( ruleJvmArgumentTypeReference )
             {
-            // InternalReportDSL.g:41994:2: ( ruleJvmArgumentTypeReference )
-            // InternalReportDSL.g:41995:3: ruleJvmArgumentTypeReference
+            // InternalReportDSL.g:42435:2: ( ruleJvmArgumentTypeReference )
+            // InternalReportDSL.g:42436:3: ruleJvmArgumentTypeReference
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXFeatureCallAccess().getTypeArgumentsJvmArgumentTypeReferenceParserRuleCall_1_2_1_0()); 
@@ -135970,23 +137585,23 @@
 
 
     // $ANTLR start "rule__XFeatureCall__FeatureAssignment_2"
-    // InternalReportDSL.g:42004:1: rule__XFeatureCall__FeatureAssignment_2 : ( ( ruleIdOrSuper ) ) ;
+    // InternalReportDSL.g:42445:1: rule__XFeatureCall__FeatureAssignment_2 : ( ( ruleIdOrSuper ) ) ;
     public final void rule__XFeatureCall__FeatureAssignment_2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:42008:1: ( ( ( ruleIdOrSuper ) ) )
-            // InternalReportDSL.g:42009:2: ( ( ruleIdOrSuper ) )
+            // InternalReportDSL.g:42449:1: ( ( ( ruleIdOrSuper ) ) )
+            // InternalReportDSL.g:42450:2: ( ( ruleIdOrSuper ) )
             {
-            // InternalReportDSL.g:42009:2: ( ( ruleIdOrSuper ) )
-            // InternalReportDSL.g:42010:3: ( ruleIdOrSuper )
+            // InternalReportDSL.g:42450:2: ( ( ruleIdOrSuper ) )
+            // InternalReportDSL.g:42451:3: ( ruleIdOrSuper )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXFeatureCallAccess().getFeatureJvmIdentifiableElementCrossReference_2_0()); 
             }
-            // InternalReportDSL.g:42011:3: ( ruleIdOrSuper )
-            // InternalReportDSL.g:42012:4: ruleIdOrSuper
+            // InternalReportDSL.g:42452:3: ( ruleIdOrSuper )
+            // InternalReportDSL.g:42453:4: ruleIdOrSuper
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXFeatureCallAccess().getFeatureJvmIdentifiableElementIdOrSuperParserRuleCall_2_0_1()); 
@@ -136027,28 +137642,28 @@
 
 
     // $ANTLR start "rule__XFeatureCall__ExplicitOperationCallAssignment_3_0"
-    // InternalReportDSL.g:42023:1: rule__XFeatureCall__ExplicitOperationCallAssignment_3_0 : ( ( '(' ) ) ;
+    // InternalReportDSL.g:42464:1: rule__XFeatureCall__ExplicitOperationCallAssignment_3_0 : ( ( '(' ) ) ;
     public final void rule__XFeatureCall__ExplicitOperationCallAssignment_3_0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:42027:1: ( ( ( '(' ) ) )
-            // InternalReportDSL.g:42028:2: ( ( '(' ) )
+            // InternalReportDSL.g:42468:1: ( ( ( '(' ) ) )
+            // InternalReportDSL.g:42469:2: ( ( '(' ) )
             {
-            // InternalReportDSL.g:42028:2: ( ( '(' ) )
-            // InternalReportDSL.g:42029:3: ( '(' )
+            // InternalReportDSL.g:42469:2: ( ( '(' ) )
+            // InternalReportDSL.g:42470:3: ( '(' )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXFeatureCallAccess().getExplicitOperationCallLeftParenthesisKeyword_3_0_0()); 
             }
-            // InternalReportDSL.g:42030:3: ( '(' )
-            // InternalReportDSL.g:42031:4: '('
+            // InternalReportDSL.g:42471:3: ( '(' )
+            // InternalReportDSL.g:42472:4: '('
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXFeatureCallAccess().getExplicitOperationCallLeftParenthesisKeyword_3_0_0()); 
             }
-            match(input,204,FOLLOW_2); if (state.failed) return ;
+            match(input,211,FOLLOW_2); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getXFeatureCallAccess().getExplicitOperationCallLeftParenthesisKeyword_3_0_0()); 
             }
@@ -136080,17 +137695,17 @@
 
 
     // $ANTLR start "rule__XFeatureCall__FeatureCallArgumentsAssignment_3_1_0"
-    // InternalReportDSL.g:42042:1: rule__XFeatureCall__FeatureCallArgumentsAssignment_3_1_0 : ( ruleXShortClosure ) ;
+    // InternalReportDSL.g:42483:1: rule__XFeatureCall__FeatureCallArgumentsAssignment_3_1_0 : ( ruleXShortClosure ) ;
     public final void rule__XFeatureCall__FeatureCallArgumentsAssignment_3_1_0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:42046:1: ( ( ruleXShortClosure ) )
-            // InternalReportDSL.g:42047:2: ( ruleXShortClosure )
+            // InternalReportDSL.g:42487:1: ( ( ruleXShortClosure ) )
+            // InternalReportDSL.g:42488:2: ( ruleXShortClosure )
             {
-            // InternalReportDSL.g:42047:2: ( ruleXShortClosure )
-            // InternalReportDSL.g:42048:3: ruleXShortClosure
+            // InternalReportDSL.g:42488:2: ( ruleXShortClosure )
+            // InternalReportDSL.g:42489:3: ruleXShortClosure
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXFeatureCallAccess().getFeatureCallArgumentsXShortClosureParserRuleCall_3_1_0_0()); 
@@ -136125,17 +137740,17 @@
 
 
     // $ANTLR start "rule__XFeatureCall__FeatureCallArgumentsAssignment_3_1_1_0"
-    // InternalReportDSL.g:42057:1: rule__XFeatureCall__FeatureCallArgumentsAssignment_3_1_1_0 : ( ruleXExpression ) ;
+    // InternalReportDSL.g:42498:1: rule__XFeatureCall__FeatureCallArgumentsAssignment_3_1_1_0 : ( ruleXExpression ) ;
     public final void rule__XFeatureCall__FeatureCallArgumentsAssignment_3_1_1_0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:42061:1: ( ( ruleXExpression ) )
-            // InternalReportDSL.g:42062:2: ( ruleXExpression )
+            // InternalReportDSL.g:42502:1: ( ( ruleXExpression ) )
+            // InternalReportDSL.g:42503:2: ( ruleXExpression )
             {
-            // InternalReportDSL.g:42062:2: ( ruleXExpression )
-            // InternalReportDSL.g:42063:3: ruleXExpression
+            // InternalReportDSL.g:42503:2: ( ruleXExpression )
+            // InternalReportDSL.g:42504:3: ruleXExpression
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXFeatureCallAccess().getFeatureCallArgumentsXExpressionParserRuleCall_3_1_1_0_0()); 
@@ -136170,17 +137785,17 @@
 
 
     // $ANTLR start "rule__XFeatureCall__FeatureCallArgumentsAssignment_3_1_1_1_1"
-    // InternalReportDSL.g:42072:1: rule__XFeatureCall__FeatureCallArgumentsAssignment_3_1_1_1_1 : ( ruleXExpression ) ;
+    // InternalReportDSL.g:42513:1: rule__XFeatureCall__FeatureCallArgumentsAssignment_3_1_1_1_1 : ( ruleXExpression ) ;
     public final void rule__XFeatureCall__FeatureCallArgumentsAssignment_3_1_1_1_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:42076:1: ( ( ruleXExpression ) )
-            // InternalReportDSL.g:42077:2: ( ruleXExpression )
+            // InternalReportDSL.g:42517:1: ( ( ruleXExpression ) )
+            // InternalReportDSL.g:42518:2: ( ruleXExpression )
             {
-            // InternalReportDSL.g:42077:2: ( ruleXExpression )
-            // InternalReportDSL.g:42078:3: ruleXExpression
+            // InternalReportDSL.g:42518:2: ( ruleXExpression )
+            // InternalReportDSL.g:42519:3: ruleXExpression
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXFeatureCallAccess().getFeatureCallArgumentsXExpressionParserRuleCall_3_1_1_1_1_0()); 
@@ -136215,17 +137830,17 @@
 
 
     // $ANTLR start "rule__XFeatureCall__FeatureCallArgumentsAssignment_4"
-    // InternalReportDSL.g:42087:1: rule__XFeatureCall__FeatureCallArgumentsAssignment_4 : ( ruleXClosure ) ;
+    // InternalReportDSL.g:42528:1: rule__XFeatureCall__FeatureCallArgumentsAssignment_4 : ( ruleXClosure ) ;
     public final void rule__XFeatureCall__FeatureCallArgumentsAssignment_4() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:42091:1: ( ( ruleXClosure ) )
-            // InternalReportDSL.g:42092:2: ( ruleXClosure )
+            // InternalReportDSL.g:42532:1: ( ( ruleXClosure ) )
+            // InternalReportDSL.g:42533:2: ( ruleXClosure )
             {
-            // InternalReportDSL.g:42092:2: ( ruleXClosure )
-            // InternalReportDSL.g:42093:3: ruleXClosure
+            // InternalReportDSL.g:42533:2: ( ruleXClosure )
+            // InternalReportDSL.g:42534:3: ruleXClosure
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXFeatureCallAccess().getFeatureCallArgumentsXClosureParserRuleCall_4_0()); 
@@ -136260,23 +137875,23 @@
 
 
     // $ANTLR start "rule__XConstructorCall__ConstructorAssignment_2"
-    // InternalReportDSL.g:42102:1: rule__XConstructorCall__ConstructorAssignment_2 : ( ( ruleQualifiedName ) ) ;
+    // InternalReportDSL.g:42543:1: rule__XConstructorCall__ConstructorAssignment_2 : ( ( ruleQualifiedName ) ) ;
     public final void rule__XConstructorCall__ConstructorAssignment_2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:42106:1: ( ( ( ruleQualifiedName ) ) )
-            // InternalReportDSL.g:42107:2: ( ( ruleQualifiedName ) )
+            // InternalReportDSL.g:42547:1: ( ( ( ruleQualifiedName ) ) )
+            // InternalReportDSL.g:42548:2: ( ( ruleQualifiedName ) )
             {
-            // InternalReportDSL.g:42107:2: ( ( ruleQualifiedName ) )
-            // InternalReportDSL.g:42108:3: ( ruleQualifiedName )
+            // InternalReportDSL.g:42548:2: ( ( ruleQualifiedName ) )
+            // InternalReportDSL.g:42549:3: ( ruleQualifiedName )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXConstructorCallAccess().getConstructorJvmConstructorCrossReference_2_0()); 
             }
-            // InternalReportDSL.g:42109:3: ( ruleQualifiedName )
-            // InternalReportDSL.g:42110:4: ruleQualifiedName
+            // InternalReportDSL.g:42550:3: ( ruleQualifiedName )
+            // InternalReportDSL.g:42551:4: ruleQualifiedName
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXConstructorCallAccess().getConstructorJvmConstructorQualifiedNameParserRuleCall_2_0_1()); 
@@ -136317,17 +137932,17 @@
 
 
     // $ANTLR start "rule__XConstructorCall__TypeArgumentsAssignment_3_1"
-    // InternalReportDSL.g:42121:1: rule__XConstructorCall__TypeArgumentsAssignment_3_1 : ( ruleJvmArgumentTypeReference ) ;
+    // InternalReportDSL.g:42562:1: rule__XConstructorCall__TypeArgumentsAssignment_3_1 : ( ruleJvmArgumentTypeReference ) ;
     public final void rule__XConstructorCall__TypeArgumentsAssignment_3_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:42125:1: ( ( ruleJvmArgumentTypeReference ) )
-            // InternalReportDSL.g:42126:2: ( ruleJvmArgumentTypeReference )
+            // InternalReportDSL.g:42566:1: ( ( ruleJvmArgumentTypeReference ) )
+            // InternalReportDSL.g:42567:2: ( ruleJvmArgumentTypeReference )
             {
-            // InternalReportDSL.g:42126:2: ( ruleJvmArgumentTypeReference )
-            // InternalReportDSL.g:42127:3: ruleJvmArgumentTypeReference
+            // InternalReportDSL.g:42567:2: ( ruleJvmArgumentTypeReference )
+            // InternalReportDSL.g:42568:3: ruleJvmArgumentTypeReference
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXConstructorCallAccess().getTypeArgumentsJvmArgumentTypeReferenceParserRuleCall_3_1_0()); 
@@ -136362,17 +137977,17 @@
 
 
     // $ANTLR start "rule__XConstructorCall__TypeArgumentsAssignment_3_2_1"
-    // InternalReportDSL.g:42136:1: rule__XConstructorCall__TypeArgumentsAssignment_3_2_1 : ( ruleJvmArgumentTypeReference ) ;
+    // InternalReportDSL.g:42577:1: rule__XConstructorCall__TypeArgumentsAssignment_3_2_1 : ( ruleJvmArgumentTypeReference ) ;
     public final void rule__XConstructorCall__TypeArgumentsAssignment_3_2_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:42140:1: ( ( ruleJvmArgumentTypeReference ) )
-            // InternalReportDSL.g:42141:2: ( ruleJvmArgumentTypeReference )
+            // InternalReportDSL.g:42581:1: ( ( ruleJvmArgumentTypeReference ) )
+            // InternalReportDSL.g:42582:2: ( ruleJvmArgumentTypeReference )
             {
-            // InternalReportDSL.g:42141:2: ( ruleJvmArgumentTypeReference )
-            // InternalReportDSL.g:42142:3: ruleJvmArgumentTypeReference
+            // InternalReportDSL.g:42582:2: ( ruleJvmArgumentTypeReference )
+            // InternalReportDSL.g:42583:3: ruleJvmArgumentTypeReference
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXConstructorCallAccess().getTypeArgumentsJvmArgumentTypeReferenceParserRuleCall_3_2_1_0()); 
@@ -136407,28 +138022,28 @@
 
 
     // $ANTLR start "rule__XConstructorCall__ExplicitConstructorCallAssignment_4_0"
-    // InternalReportDSL.g:42151:1: rule__XConstructorCall__ExplicitConstructorCallAssignment_4_0 : ( ( '(' ) ) ;
+    // InternalReportDSL.g:42592:1: rule__XConstructorCall__ExplicitConstructorCallAssignment_4_0 : ( ( '(' ) ) ;
     public final void rule__XConstructorCall__ExplicitConstructorCallAssignment_4_0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:42155:1: ( ( ( '(' ) ) )
-            // InternalReportDSL.g:42156:2: ( ( '(' ) )
+            // InternalReportDSL.g:42596:1: ( ( ( '(' ) ) )
+            // InternalReportDSL.g:42597:2: ( ( '(' ) )
             {
-            // InternalReportDSL.g:42156:2: ( ( '(' ) )
-            // InternalReportDSL.g:42157:3: ( '(' )
+            // InternalReportDSL.g:42597:2: ( ( '(' ) )
+            // InternalReportDSL.g:42598:3: ( '(' )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXConstructorCallAccess().getExplicitConstructorCallLeftParenthesisKeyword_4_0_0()); 
             }
-            // InternalReportDSL.g:42158:3: ( '(' )
-            // InternalReportDSL.g:42159:4: '('
+            // InternalReportDSL.g:42599:3: ( '(' )
+            // InternalReportDSL.g:42600:4: '('
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXConstructorCallAccess().getExplicitConstructorCallLeftParenthesisKeyword_4_0_0()); 
             }
-            match(input,204,FOLLOW_2); if (state.failed) return ;
+            match(input,211,FOLLOW_2); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getXConstructorCallAccess().getExplicitConstructorCallLeftParenthesisKeyword_4_0_0()); 
             }
@@ -136460,17 +138075,17 @@
 
 
     // $ANTLR start "rule__XConstructorCall__ArgumentsAssignment_4_1_0"
-    // InternalReportDSL.g:42170:1: rule__XConstructorCall__ArgumentsAssignment_4_1_0 : ( ruleXShortClosure ) ;
+    // InternalReportDSL.g:42611:1: rule__XConstructorCall__ArgumentsAssignment_4_1_0 : ( ruleXShortClosure ) ;
     public final void rule__XConstructorCall__ArgumentsAssignment_4_1_0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:42174:1: ( ( ruleXShortClosure ) )
-            // InternalReportDSL.g:42175:2: ( ruleXShortClosure )
+            // InternalReportDSL.g:42615:1: ( ( ruleXShortClosure ) )
+            // InternalReportDSL.g:42616:2: ( ruleXShortClosure )
             {
-            // InternalReportDSL.g:42175:2: ( ruleXShortClosure )
-            // InternalReportDSL.g:42176:3: ruleXShortClosure
+            // InternalReportDSL.g:42616:2: ( ruleXShortClosure )
+            // InternalReportDSL.g:42617:3: ruleXShortClosure
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXConstructorCallAccess().getArgumentsXShortClosureParserRuleCall_4_1_0_0()); 
@@ -136505,17 +138120,17 @@
 
 
     // $ANTLR start "rule__XConstructorCall__ArgumentsAssignment_4_1_1_0"
-    // InternalReportDSL.g:42185:1: rule__XConstructorCall__ArgumentsAssignment_4_1_1_0 : ( ruleXExpression ) ;
+    // InternalReportDSL.g:42626:1: rule__XConstructorCall__ArgumentsAssignment_4_1_1_0 : ( ruleXExpression ) ;
     public final void rule__XConstructorCall__ArgumentsAssignment_4_1_1_0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:42189:1: ( ( ruleXExpression ) )
-            // InternalReportDSL.g:42190:2: ( ruleXExpression )
+            // InternalReportDSL.g:42630:1: ( ( ruleXExpression ) )
+            // InternalReportDSL.g:42631:2: ( ruleXExpression )
             {
-            // InternalReportDSL.g:42190:2: ( ruleXExpression )
-            // InternalReportDSL.g:42191:3: ruleXExpression
+            // InternalReportDSL.g:42631:2: ( ruleXExpression )
+            // InternalReportDSL.g:42632:3: ruleXExpression
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXConstructorCallAccess().getArgumentsXExpressionParserRuleCall_4_1_1_0_0()); 
@@ -136550,17 +138165,17 @@
 
 
     // $ANTLR start "rule__XConstructorCall__ArgumentsAssignment_4_1_1_1_1"
-    // InternalReportDSL.g:42200:1: rule__XConstructorCall__ArgumentsAssignment_4_1_1_1_1 : ( ruleXExpression ) ;
+    // InternalReportDSL.g:42641:1: rule__XConstructorCall__ArgumentsAssignment_4_1_1_1_1 : ( ruleXExpression ) ;
     public final void rule__XConstructorCall__ArgumentsAssignment_4_1_1_1_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:42204:1: ( ( ruleXExpression ) )
-            // InternalReportDSL.g:42205:2: ( ruleXExpression )
+            // InternalReportDSL.g:42645:1: ( ( ruleXExpression ) )
+            // InternalReportDSL.g:42646:2: ( ruleXExpression )
             {
-            // InternalReportDSL.g:42205:2: ( ruleXExpression )
-            // InternalReportDSL.g:42206:3: ruleXExpression
+            // InternalReportDSL.g:42646:2: ( ruleXExpression )
+            // InternalReportDSL.g:42647:3: ruleXExpression
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXConstructorCallAccess().getArgumentsXExpressionParserRuleCall_4_1_1_1_1_0()); 
@@ -136595,17 +138210,17 @@
 
 
     // $ANTLR start "rule__XConstructorCall__ArgumentsAssignment_5"
-    // InternalReportDSL.g:42215:1: rule__XConstructorCall__ArgumentsAssignment_5 : ( ruleXClosure ) ;
+    // InternalReportDSL.g:42656:1: rule__XConstructorCall__ArgumentsAssignment_5 : ( ruleXClosure ) ;
     public final void rule__XConstructorCall__ArgumentsAssignment_5() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:42219:1: ( ( ruleXClosure ) )
-            // InternalReportDSL.g:42220:2: ( ruleXClosure )
+            // InternalReportDSL.g:42660:1: ( ( ruleXClosure ) )
+            // InternalReportDSL.g:42661:2: ( ruleXClosure )
             {
-            // InternalReportDSL.g:42220:2: ( ruleXClosure )
-            // InternalReportDSL.g:42221:3: ruleXClosure
+            // InternalReportDSL.g:42661:2: ( ruleXClosure )
+            // InternalReportDSL.g:42662:3: ruleXClosure
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXConstructorCallAccess().getArgumentsXClosureParserRuleCall_5_0()); 
@@ -136640,28 +138255,28 @@
 
 
     // $ANTLR start "rule__XBooleanLiteral__IsTrueAssignment_1_1"
-    // InternalReportDSL.g:42230:1: rule__XBooleanLiteral__IsTrueAssignment_1_1 : ( ( 'true' ) ) ;
+    // InternalReportDSL.g:42671:1: rule__XBooleanLiteral__IsTrueAssignment_1_1 : ( ( 'true' ) ) ;
     public final void rule__XBooleanLiteral__IsTrueAssignment_1_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:42234:1: ( ( ( 'true' ) ) )
-            // InternalReportDSL.g:42235:2: ( ( 'true' ) )
+            // InternalReportDSL.g:42675:1: ( ( ( 'true' ) ) )
+            // InternalReportDSL.g:42676:2: ( ( 'true' ) )
             {
-            // InternalReportDSL.g:42235:2: ( ( 'true' ) )
-            // InternalReportDSL.g:42236:3: ( 'true' )
+            // InternalReportDSL.g:42676:2: ( ( 'true' ) )
+            // InternalReportDSL.g:42677:3: ( 'true' )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXBooleanLiteralAccess().getIsTrueTrueKeyword_1_1_0()); 
             }
-            // InternalReportDSL.g:42237:3: ( 'true' )
-            // InternalReportDSL.g:42238:4: 'true'
+            // InternalReportDSL.g:42678:3: ( 'true' )
+            // InternalReportDSL.g:42679:4: 'true'
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXBooleanLiteralAccess().getIsTrueTrueKeyword_1_1_0()); 
             }
-            match(input,266,FOLLOW_2); if (state.failed) return ;
+            match(input,271,FOLLOW_2); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getXBooleanLiteralAccess().getIsTrueTrueKeyword_1_1_0()); 
             }
@@ -136693,17 +138308,17 @@
 
 
     // $ANTLR start "rule__XNumberLiteral__ValueAssignment_1"
-    // InternalReportDSL.g:42249:1: rule__XNumberLiteral__ValueAssignment_1 : ( ruleNumber ) ;
+    // InternalReportDSL.g:42690:1: rule__XNumberLiteral__ValueAssignment_1 : ( ruleNumber ) ;
     public final void rule__XNumberLiteral__ValueAssignment_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:42253:1: ( ( ruleNumber ) )
-            // InternalReportDSL.g:42254:2: ( ruleNumber )
+            // InternalReportDSL.g:42694:1: ( ( ruleNumber ) )
+            // InternalReportDSL.g:42695:2: ( ruleNumber )
             {
-            // InternalReportDSL.g:42254:2: ( ruleNumber )
-            // InternalReportDSL.g:42255:3: ruleNumber
+            // InternalReportDSL.g:42695:2: ( ruleNumber )
+            // InternalReportDSL.g:42696:3: ruleNumber
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXNumberLiteralAccess().getValueNumberParserRuleCall_1_0()); 
@@ -136738,17 +138353,17 @@
 
 
     // $ANTLR start "rule__XStringLiteral__ValueAssignment_1"
-    // InternalReportDSL.g:42264:1: rule__XStringLiteral__ValueAssignment_1 : ( RULE_STRING ) ;
+    // InternalReportDSL.g:42705:1: rule__XStringLiteral__ValueAssignment_1 : ( RULE_STRING ) ;
     public final void rule__XStringLiteral__ValueAssignment_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:42268:1: ( ( RULE_STRING ) )
-            // InternalReportDSL.g:42269:2: ( RULE_STRING )
+            // InternalReportDSL.g:42709:1: ( ( RULE_STRING ) )
+            // InternalReportDSL.g:42710:2: ( RULE_STRING )
             {
-            // InternalReportDSL.g:42269:2: ( RULE_STRING )
-            // InternalReportDSL.g:42270:3: RULE_STRING
+            // InternalReportDSL.g:42710:2: ( RULE_STRING )
+            // InternalReportDSL.g:42711:3: RULE_STRING
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXStringLiteralAccess().getValueSTRINGTerminalRuleCall_1_0()); 
@@ -136779,23 +138394,23 @@
 
 
     // $ANTLR start "rule__XTypeLiteral__TypeAssignment_3"
-    // InternalReportDSL.g:42279:1: rule__XTypeLiteral__TypeAssignment_3 : ( ( ruleQualifiedName ) ) ;
+    // InternalReportDSL.g:42720:1: rule__XTypeLiteral__TypeAssignment_3 : ( ( ruleQualifiedName ) ) ;
     public final void rule__XTypeLiteral__TypeAssignment_3() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:42283:1: ( ( ( ruleQualifiedName ) ) )
-            // InternalReportDSL.g:42284:2: ( ( ruleQualifiedName ) )
+            // InternalReportDSL.g:42724:1: ( ( ( ruleQualifiedName ) ) )
+            // InternalReportDSL.g:42725:2: ( ( ruleQualifiedName ) )
             {
-            // InternalReportDSL.g:42284:2: ( ( ruleQualifiedName ) )
-            // InternalReportDSL.g:42285:3: ( ruleQualifiedName )
+            // InternalReportDSL.g:42725:2: ( ( ruleQualifiedName ) )
+            // InternalReportDSL.g:42726:3: ( ruleQualifiedName )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXTypeLiteralAccess().getTypeJvmTypeCrossReference_3_0()); 
             }
-            // InternalReportDSL.g:42286:3: ( ruleQualifiedName )
-            // InternalReportDSL.g:42287:4: ruleQualifiedName
+            // InternalReportDSL.g:42727:3: ( ruleQualifiedName )
+            // InternalReportDSL.g:42728:4: ruleQualifiedName
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXTypeLiteralAccess().getTypeJvmTypeQualifiedNameParserRuleCall_3_0_1()); 
@@ -136836,17 +138451,17 @@
 
 
     // $ANTLR start "rule__XTypeLiteral__ArrayDimensionsAssignment_4"
-    // InternalReportDSL.g:42298:1: rule__XTypeLiteral__ArrayDimensionsAssignment_4 : ( ruleArrayBrackets ) ;
+    // InternalReportDSL.g:42739:1: rule__XTypeLiteral__ArrayDimensionsAssignment_4 : ( ruleArrayBrackets ) ;
     public final void rule__XTypeLiteral__ArrayDimensionsAssignment_4() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:42302:1: ( ( ruleArrayBrackets ) )
-            // InternalReportDSL.g:42303:2: ( ruleArrayBrackets )
+            // InternalReportDSL.g:42743:1: ( ( ruleArrayBrackets ) )
+            // InternalReportDSL.g:42744:2: ( ruleArrayBrackets )
             {
-            // InternalReportDSL.g:42303:2: ( ruleArrayBrackets )
-            // InternalReportDSL.g:42304:3: ruleArrayBrackets
+            // InternalReportDSL.g:42744:2: ( ruleArrayBrackets )
+            // InternalReportDSL.g:42745:3: ruleArrayBrackets
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXTypeLiteralAccess().getArrayDimensionsArrayBracketsParserRuleCall_4_0()); 
@@ -136881,17 +138496,17 @@
 
 
     // $ANTLR start "rule__XThrowExpression__ExpressionAssignment_2"
-    // InternalReportDSL.g:42313:1: rule__XThrowExpression__ExpressionAssignment_2 : ( ruleXExpression ) ;
+    // InternalReportDSL.g:42754:1: rule__XThrowExpression__ExpressionAssignment_2 : ( ruleXExpression ) ;
     public final void rule__XThrowExpression__ExpressionAssignment_2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:42317:1: ( ( ruleXExpression ) )
-            // InternalReportDSL.g:42318:2: ( ruleXExpression )
+            // InternalReportDSL.g:42758:1: ( ( ruleXExpression ) )
+            // InternalReportDSL.g:42759:2: ( ruleXExpression )
             {
-            // InternalReportDSL.g:42318:2: ( ruleXExpression )
-            // InternalReportDSL.g:42319:3: ruleXExpression
+            // InternalReportDSL.g:42759:2: ( ruleXExpression )
+            // InternalReportDSL.g:42760:3: ruleXExpression
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXThrowExpressionAccess().getExpressionXExpressionParserRuleCall_2_0()); 
@@ -136926,17 +138541,17 @@
 
 
     // $ANTLR start "rule__XReturnExpression__ExpressionAssignment_2"
-    // InternalReportDSL.g:42328:1: rule__XReturnExpression__ExpressionAssignment_2 : ( ruleXExpression ) ;
+    // InternalReportDSL.g:42769:1: rule__XReturnExpression__ExpressionAssignment_2 : ( ruleXExpression ) ;
     public final void rule__XReturnExpression__ExpressionAssignment_2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:42332:1: ( ( ruleXExpression ) )
-            // InternalReportDSL.g:42333:2: ( ruleXExpression )
+            // InternalReportDSL.g:42773:1: ( ( ruleXExpression ) )
+            // InternalReportDSL.g:42774:2: ( ruleXExpression )
             {
-            // InternalReportDSL.g:42333:2: ( ruleXExpression )
-            // InternalReportDSL.g:42334:3: ruleXExpression
+            // InternalReportDSL.g:42774:2: ( ruleXExpression )
+            // InternalReportDSL.g:42775:3: ruleXExpression
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXReturnExpressionAccess().getExpressionXExpressionParserRuleCall_2_0()); 
@@ -136971,17 +138586,17 @@
 
 
     // $ANTLR start "rule__XTryCatchFinallyExpression__ExpressionAssignment_2"
-    // InternalReportDSL.g:42343:1: rule__XTryCatchFinallyExpression__ExpressionAssignment_2 : ( ruleXExpression ) ;
+    // InternalReportDSL.g:42784:1: rule__XTryCatchFinallyExpression__ExpressionAssignment_2 : ( ruleXExpression ) ;
     public final void rule__XTryCatchFinallyExpression__ExpressionAssignment_2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:42347:1: ( ( ruleXExpression ) )
-            // InternalReportDSL.g:42348:2: ( ruleXExpression )
+            // InternalReportDSL.g:42788:1: ( ( ruleXExpression ) )
+            // InternalReportDSL.g:42789:2: ( ruleXExpression )
             {
-            // InternalReportDSL.g:42348:2: ( ruleXExpression )
-            // InternalReportDSL.g:42349:3: ruleXExpression
+            // InternalReportDSL.g:42789:2: ( ruleXExpression )
+            // InternalReportDSL.g:42790:3: ruleXExpression
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXTryCatchFinallyExpressionAccess().getExpressionXExpressionParserRuleCall_2_0()); 
@@ -137016,17 +138631,17 @@
 
 
     // $ANTLR start "rule__XTryCatchFinallyExpression__CatchClausesAssignment_3_0_0"
-    // InternalReportDSL.g:42358:1: rule__XTryCatchFinallyExpression__CatchClausesAssignment_3_0_0 : ( ruleXCatchClause ) ;
+    // InternalReportDSL.g:42799:1: rule__XTryCatchFinallyExpression__CatchClausesAssignment_3_0_0 : ( ruleXCatchClause ) ;
     public final void rule__XTryCatchFinallyExpression__CatchClausesAssignment_3_0_0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:42362:1: ( ( ruleXCatchClause ) )
-            // InternalReportDSL.g:42363:2: ( ruleXCatchClause )
+            // InternalReportDSL.g:42803:1: ( ( ruleXCatchClause ) )
+            // InternalReportDSL.g:42804:2: ( ruleXCatchClause )
             {
-            // InternalReportDSL.g:42363:2: ( ruleXCatchClause )
-            // InternalReportDSL.g:42364:3: ruleXCatchClause
+            // InternalReportDSL.g:42804:2: ( ruleXCatchClause )
+            // InternalReportDSL.g:42805:3: ruleXCatchClause
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXTryCatchFinallyExpressionAccess().getCatchClausesXCatchClauseParserRuleCall_3_0_0_0()); 
@@ -137061,17 +138676,17 @@
 
 
     // $ANTLR start "rule__XTryCatchFinallyExpression__FinallyExpressionAssignment_3_0_1_1"
-    // InternalReportDSL.g:42373:1: rule__XTryCatchFinallyExpression__FinallyExpressionAssignment_3_0_1_1 : ( ruleXExpression ) ;
+    // InternalReportDSL.g:42814:1: rule__XTryCatchFinallyExpression__FinallyExpressionAssignment_3_0_1_1 : ( ruleXExpression ) ;
     public final void rule__XTryCatchFinallyExpression__FinallyExpressionAssignment_3_0_1_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:42377:1: ( ( ruleXExpression ) )
-            // InternalReportDSL.g:42378:2: ( ruleXExpression )
+            // InternalReportDSL.g:42818:1: ( ( ruleXExpression ) )
+            // InternalReportDSL.g:42819:2: ( ruleXExpression )
             {
-            // InternalReportDSL.g:42378:2: ( ruleXExpression )
-            // InternalReportDSL.g:42379:3: ruleXExpression
+            // InternalReportDSL.g:42819:2: ( ruleXExpression )
+            // InternalReportDSL.g:42820:3: ruleXExpression
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXTryCatchFinallyExpressionAccess().getFinallyExpressionXExpressionParserRuleCall_3_0_1_1_0()); 
@@ -137106,17 +138721,17 @@
 
 
     // $ANTLR start "rule__XTryCatchFinallyExpression__FinallyExpressionAssignment_3_1_1"
-    // InternalReportDSL.g:42388:1: rule__XTryCatchFinallyExpression__FinallyExpressionAssignment_3_1_1 : ( ruleXExpression ) ;
+    // InternalReportDSL.g:42829:1: rule__XTryCatchFinallyExpression__FinallyExpressionAssignment_3_1_1 : ( ruleXExpression ) ;
     public final void rule__XTryCatchFinallyExpression__FinallyExpressionAssignment_3_1_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:42392:1: ( ( ruleXExpression ) )
-            // InternalReportDSL.g:42393:2: ( ruleXExpression )
+            // InternalReportDSL.g:42833:1: ( ( ruleXExpression ) )
+            // InternalReportDSL.g:42834:2: ( ruleXExpression )
             {
-            // InternalReportDSL.g:42393:2: ( ruleXExpression )
-            // InternalReportDSL.g:42394:3: ruleXExpression
+            // InternalReportDSL.g:42834:2: ( ruleXExpression )
+            // InternalReportDSL.g:42835:3: ruleXExpression
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXTryCatchFinallyExpressionAccess().getFinallyExpressionXExpressionParserRuleCall_3_1_1_0()); 
@@ -137151,17 +138766,17 @@
 
 
     // $ANTLR start "rule__XSynchronizedExpression__ParamAssignment_1"
-    // InternalReportDSL.g:42403:1: rule__XSynchronizedExpression__ParamAssignment_1 : ( ruleXExpression ) ;
+    // InternalReportDSL.g:42844:1: rule__XSynchronizedExpression__ParamAssignment_1 : ( ruleXExpression ) ;
     public final void rule__XSynchronizedExpression__ParamAssignment_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:42407:1: ( ( ruleXExpression ) )
-            // InternalReportDSL.g:42408:2: ( ruleXExpression )
+            // InternalReportDSL.g:42848:1: ( ( ruleXExpression ) )
+            // InternalReportDSL.g:42849:2: ( ruleXExpression )
             {
-            // InternalReportDSL.g:42408:2: ( ruleXExpression )
-            // InternalReportDSL.g:42409:3: ruleXExpression
+            // InternalReportDSL.g:42849:2: ( ruleXExpression )
+            // InternalReportDSL.g:42850:3: ruleXExpression
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXSynchronizedExpressionAccess().getParamXExpressionParserRuleCall_1_0()); 
@@ -137196,17 +138811,17 @@
 
 
     // $ANTLR start "rule__XSynchronizedExpression__ExpressionAssignment_3"
-    // InternalReportDSL.g:42418:1: rule__XSynchronizedExpression__ExpressionAssignment_3 : ( ruleXExpression ) ;
+    // InternalReportDSL.g:42859:1: rule__XSynchronizedExpression__ExpressionAssignment_3 : ( ruleXExpression ) ;
     public final void rule__XSynchronizedExpression__ExpressionAssignment_3() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:42422:1: ( ( ruleXExpression ) )
-            // InternalReportDSL.g:42423:2: ( ruleXExpression )
+            // InternalReportDSL.g:42863:1: ( ( ruleXExpression ) )
+            // InternalReportDSL.g:42864:2: ( ruleXExpression )
             {
-            // InternalReportDSL.g:42423:2: ( ruleXExpression )
-            // InternalReportDSL.g:42424:3: ruleXExpression
+            // InternalReportDSL.g:42864:2: ( ruleXExpression )
+            // InternalReportDSL.g:42865:3: ruleXExpression
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXSynchronizedExpressionAccess().getExpressionXExpressionParserRuleCall_3_0()); 
@@ -137241,17 +138856,17 @@
 
 
     // $ANTLR start "rule__XCatchClause__DeclaredParamAssignment_2"
-    // InternalReportDSL.g:42433:1: rule__XCatchClause__DeclaredParamAssignment_2 : ( ruleFullJvmFormalParameter ) ;
+    // InternalReportDSL.g:42874:1: rule__XCatchClause__DeclaredParamAssignment_2 : ( ruleFullJvmFormalParameter ) ;
     public final void rule__XCatchClause__DeclaredParamAssignment_2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:42437:1: ( ( ruleFullJvmFormalParameter ) )
-            // InternalReportDSL.g:42438:2: ( ruleFullJvmFormalParameter )
+            // InternalReportDSL.g:42878:1: ( ( ruleFullJvmFormalParameter ) )
+            // InternalReportDSL.g:42879:2: ( ruleFullJvmFormalParameter )
             {
-            // InternalReportDSL.g:42438:2: ( ruleFullJvmFormalParameter )
-            // InternalReportDSL.g:42439:3: ruleFullJvmFormalParameter
+            // InternalReportDSL.g:42879:2: ( ruleFullJvmFormalParameter )
+            // InternalReportDSL.g:42880:3: ruleFullJvmFormalParameter
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXCatchClauseAccess().getDeclaredParamFullJvmFormalParameterParserRuleCall_2_0()); 
@@ -137286,17 +138901,17 @@
 
 
     // $ANTLR start "rule__XCatchClause__ExpressionAssignment_4"
-    // InternalReportDSL.g:42448:1: rule__XCatchClause__ExpressionAssignment_4 : ( ruleXExpression ) ;
+    // InternalReportDSL.g:42889:1: rule__XCatchClause__ExpressionAssignment_4 : ( ruleXExpression ) ;
     public final void rule__XCatchClause__ExpressionAssignment_4() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:42452:1: ( ( ruleXExpression ) )
-            // InternalReportDSL.g:42453:2: ( ruleXExpression )
+            // InternalReportDSL.g:42893:1: ( ( ruleXExpression ) )
+            // InternalReportDSL.g:42894:2: ( ruleXExpression )
             {
-            // InternalReportDSL.g:42453:2: ( ruleXExpression )
-            // InternalReportDSL.g:42454:3: ruleXExpression
+            // InternalReportDSL.g:42894:2: ( ruleXExpression )
+            // InternalReportDSL.g:42895:3: ruleXExpression
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXCatchClauseAccess().getExpressionXExpressionParserRuleCall_4_0()); 
@@ -137331,17 +138946,17 @@
 
 
     // $ANTLR start "rule__XFunctionTypeRef__ParamTypesAssignment_0_1_0"
-    // InternalReportDSL.g:42463:1: rule__XFunctionTypeRef__ParamTypesAssignment_0_1_0 : ( ruleJvmTypeReference ) ;
+    // InternalReportDSL.g:42904:1: rule__XFunctionTypeRef__ParamTypesAssignment_0_1_0 : ( ruleJvmTypeReference ) ;
     public final void rule__XFunctionTypeRef__ParamTypesAssignment_0_1_0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:42467:1: ( ( ruleJvmTypeReference ) )
-            // InternalReportDSL.g:42468:2: ( ruleJvmTypeReference )
+            // InternalReportDSL.g:42908:1: ( ( ruleJvmTypeReference ) )
+            // InternalReportDSL.g:42909:2: ( ruleJvmTypeReference )
             {
-            // InternalReportDSL.g:42468:2: ( ruleJvmTypeReference )
-            // InternalReportDSL.g:42469:3: ruleJvmTypeReference
+            // InternalReportDSL.g:42909:2: ( ruleJvmTypeReference )
+            // InternalReportDSL.g:42910:3: ruleJvmTypeReference
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXFunctionTypeRefAccess().getParamTypesJvmTypeReferenceParserRuleCall_0_1_0_0()); 
@@ -137376,17 +138991,17 @@
 
 
     // $ANTLR start "rule__XFunctionTypeRef__ParamTypesAssignment_0_1_1_1"
-    // InternalReportDSL.g:42478:1: rule__XFunctionTypeRef__ParamTypesAssignment_0_1_1_1 : ( ruleJvmTypeReference ) ;
+    // InternalReportDSL.g:42919:1: rule__XFunctionTypeRef__ParamTypesAssignment_0_1_1_1 : ( ruleJvmTypeReference ) ;
     public final void rule__XFunctionTypeRef__ParamTypesAssignment_0_1_1_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:42482:1: ( ( ruleJvmTypeReference ) )
-            // InternalReportDSL.g:42483:2: ( ruleJvmTypeReference )
+            // InternalReportDSL.g:42923:1: ( ( ruleJvmTypeReference ) )
+            // InternalReportDSL.g:42924:2: ( ruleJvmTypeReference )
             {
-            // InternalReportDSL.g:42483:2: ( ruleJvmTypeReference )
-            // InternalReportDSL.g:42484:3: ruleJvmTypeReference
+            // InternalReportDSL.g:42924:2: ( ruleJvmTypeReference )
+            // InternalReportDSL.g:42925:3: ruleJvmTypeReference
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXFunctionTypeRefAccess().getParamTypesJvmTypeReferenceParserRuleCall_0_1_1_1_0()); 
@@ -137421,17 +139036,17 @@
 
 
     // $ANTLR start "rule__XFunctionTypeRef__ReturnTypeAssignment_2"
-    // InternalReportDSL.g:42493:1: rule__XFunctionTypeRef__ReturnTypeAssignment_2 : ( ruleJvmTypeReference ) ;
+    // InternalReportDSL.g:42934:1: rule__XFunctionTypeRef__ReturnTypeAssignment_2 : ( ruleJvmTypeReference ) ;
     public final void rule__XFunctionTypeRef__ReturnTypeAssignment_2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:42497:1: ( ( ruleJvmTypeReference ) )
-            // InternalReportDSL.g:42498:2: ( ruleJvmTypeReference )
+            // InternalReportDSL.g:42938:1: ( ( ruleJvmTypeReference ) )
+            // InternalReportDSL.g:42939:2: ( ruleJvmTypeReference )
             {
-            // InternalReportDSL.g:42498:2: ( ruleJvmTypeReference )
-            // InternalReportDSL.g:42499:3: ruleJvmTypeReference
+            // InternalReportDSL.g:42939:2: ( ruleJvmTypeReference )
+            // InternalReportDSL.g:42940:3: ruleJvmTypeReference
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXFunctionTypeRefAccess().getReturnTypeJvmTypeReferenceParserRuleCall_2_0()); 
@@ -137466,23 +139081,23 @@
 
 
     // $ANTLR start "rule__JvmParameterizedTypeReference__TypeAssignment_0"
-    // InternalReportDSL.g:42508:1: rule__JvmParameterizedTypeReference__TypeAssignment_0 : ( ( ruleQualifiedName ) ) ;
+    // InternalReportDSL.g:42949:1: rule__JvmParameterizedTypeReference__TypeAssignment_0 : ( ( ruleQualifiedName ) ) ;
     public final void rule__JvmParameterizedTypeReference__TypeAssignment_0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:42512:1: ( ( ( ruleQualifiedName ) ) )
-            // InternalReportDSL.g:42513:2: ( ( ruleQualifiedName ) )
+            // InternalReportDSL.g:42953:1: ( ( ( ruleQualifiedName ) ) )
+            // InternalReportDSL.g:42954:2: ( ( ruleQualifiedName ) )
             {
-            // InternalReportDSL.g:42513:2: ( ( ruleQualifiedName ) )
-            // InternalReportDSL.g:42514:3: ( ruleQualifiedName )
+            // InternalReportDSL.g:42954:2: ( ( ruleQualifiedName ) )
+            // InternalReportDSL.g:42955:3: ( ruleQualifiedName )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getJvmParameterizedTypeReferenceAccess().getTypeJvmTypeCrossReference_0_0()); 
             }
-            // InternalReportDSL.g:42515:3: ( ruleQualifiedName )
-            // InternalReportDSL.g:42516:4: ruleQualifiedName
+            // InternalReportDSL.g:42956:3: ( ruleQualifiedName )
+            // InternalReportDSL.g:42957:4: ruleQualifiedName
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getJvmParameterizedTypeReferenceAccess().getTypeJvmTypeQualifiedNameParserRuleCall_0_0_1()); 
@@ -137523,17 +139138,17 @@
 
 
     // $ANTLR start "rule__JvmParameterizedTypeReference__ArgumentsAssignment_1_1"
-    // InternalReportDSL.g:42527:1: rule__JvmParameterizedTypeReference__ArgumentsAssignment_1_1 : ( ruleJvmArgumentTypeReference ) ;
+    // InternalReportDSL.g:42968:1: rule__JvmParameterizedTypeReference__ArgumentsAssignment_1_1 : ( ruleJvmArgumentTypeReference ) ;
     public final void rule__JvmParameterizedTypeReference__ArgumentsAssignment_1_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:42531:1: ( ( ruleJvmArgumentTypeReference ) )
-            // InternalReportDSL.g:42532:2: ( ruleJvmArgumentTypeReference )
+            // InternalReportDSL.g:42972:1: ( ( ruleJvmArgumentTypeReference ) )
+            // InternalReportDSL.g:42973:2: ( ruleJvmArgumentTypeReference )
             {
-            // InternalReportDSL.g:42532:2: ( ruleJvmArgumentTypeReference )
-            // InternalReportDSL.g:42533:3: ruleJvmArgumentTypeReference
+            // InternalReportDSL.g:42973:2: ( ruleJvmArgumentTypeReference )
+            // InternalReportDSL.g:42974:3: ruleJvmArgumentTypeReference
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getJvmParameterizedTypeReferenceAccess().getArgumentsJvmArgumentTypeReferenceParserRuleCall_1_1_0()); 
@@ -137568,17 +139183,17 @@
 
 
     // $ANTLR start "rule__JvmParameterizedTypeReference__ArgumentsAssignment_1_2_1"
-    // InternalReportDSL.g:42542:1: rule__JvmParameterizedTypeReference__ArgumentsAssignment_1_2_1 : ( ruleJvmArgumentTypeReference ) ;
+    // InternalReportDSL.g:42983:1: rule__JvmParameterizedTypeReference__ArgumentsAssignment_1_2_1 : ( ruleJvmArgumentTypeReference ) ;
     public final void rule__JvmParameterizedTypeReference__ArgumentsAssignment_1_2_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:42546:1: ( ( ruleJvmArgumentTypeReference ) )
-            // InternalReportDSL.g:42547:2: ( ruleJvmArgumentTypeReference )
+            // InternalReportDSL.g:42987:1: ( ( ruleJvmArgumentTypeReference ) )
+            // InternalReportDSL.g:42988:2: ( ruleJvmArgumentTypeReference )
             {
-            // InternalReportDSL.g:42547:2: ( ruleJvmArgumentTypeReference )
-            // InternalReportDSL.g:42548:3: ruleJvmArgumentTypeReference
+            // InternalReportDSL.g:42988:2: ( ruleJvmArgumentTypeReference )
+            // InternalReportDSL.g:42989:3: ruleJvmArgumentTypeReference
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getJvmParameterizedTypeReferenceAccess().getArgumentsJvmArgumentTypeReferenceParserRuleCall_1_2_1_0()); 
@@ -137613,23 +139228,23 @@
 
 
     // $ANTLR start "rule__JvmParameterizedTypeReference__TypeAssignment_1_4_1"
-    // InternalReportDSL.g:42557:1: rule__JvmParameterizedTypeReference__TypeAssignment_1_4_1 : ( ( ruleValidID ) ) ;
+    // InternalReportDSL.g:42998:1: rule__JvmParameterizedTypeReference__TypeAssignment_1_4_1 : ( ( ruleValidID ) ) ;
     public final void rule__JvmParameterizedTypeReference__TypeAssignment_1_4_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:42561:1: ( ( ( ruleValidID ) ) )
-            // InternalReportDSL.g:42562:2: ( ( ruleValidID ) )
+            // InternalReportDSL.g:43002:1: ( ( ( ruleValidID ) ) )
+            // InternalReportDSL.g:43003:2: ( ( ruleValidID ) )
             {
-            // InternalReportDSL.g:42562:2: ( ( ruleValidID ) )
-            // InternalReportDSL.g:42563:3: ( ruleValidID )
+            // InternalReportDSL.g:43003:2: ( ( ruleValidID ) )
+            // InternalReportDSL.g:43004:3: ( ruleValidID )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getJvmParameterizedTypeReferenceAccess().getTypeJvmTypeCrossReference_1_4_1_0()); 
             }
-            // InternalReportDSL.g:42564:3: ( ruleValidID )
-            // InternalReportDSL.g:42565:4: ruleValidID
+            // InternalReportDSL.g:43005:3: ( ruleValidID )
+            // InternalReportDSL.g:43006:4: ruleValidID
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getJvmParameterizedTypeReferenceAccess().getTypeJvmTypeValidIDParserRuleCall_1_4_1_0_1()); 
@@ -137670,17 +139285,17 @@
 
 
     // $ANTLR start "rule__JvmParameterizedTypeReference__ArgumentsAssignment_1_4_2_1"
-    // InternalReportDSL.g:42576:1: rule__JvmParameterizedTypeReference__ArgumentsAssignment_1_4_2_1 : ( ruleJvmArgumentTypeReference ) ;
+    // InternalReportDSL.g:43017:1: rule__JvmParameterizedTypeReference__ArgumentsAssignment_1_4_2_1 : ( ruleJvmArgumentTypeReference ) ;
     public final void rule__JvmParameterizedTypeReference__ArgumentsAssignment_1_4_2_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:42580:1: ( ( ruleJvmArgumentTypeReference ) )
-            // InternalReportDSL.g:42581:2: ( ruleJvmArgumentTypeReference )
+            // InternalReportDSL.g:43021:1: ( ( ruleJvmArgumentTypeReference ) )
+            // InternalReportDSL.g:43022:2: ( ruleJvmArgumentTypeReference )
             {
-            // InternalReportDSL.g:42581:2: ( ruleJvmArgumentTypeReference )
-            // InternalReportDSL.g:42582:3: ruleJvmArgumentTypeReference
+            // InternalReportDSL.g:43022:2: ( ruleJvmArgumentTypeReference )
+            // InternalReportDSL.g:43023:3: ruleJvmArgumentTypeReference
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getJvmParameterizedTypeReferenceAccess().getArgumentsJvmArgumentTypeReferenceParserRuleCall_1_4_2_1_0()); 
@@ -137715,17 +139330,17 @@
 
 
     // $ANTLR start "rule__JvmParameterizedTypeReference__ArgumentsAssignment_1_4_2_2_1"
-    // InternalReportDSL.g:42591:1: rule__JvmParameterizedTypeReference__ArgumentsAssignment_1_4_2_2_1 : ( ruleJvmArgumentTypeReference ) ;
+    // InternalReportDSL.g:43032:1: rule__JvmParameterizedTypeReference__ArgumentsAssignment_1_4_2_2_1 : ( ruleJvmArgumentTypeReference ) ;
     public final void rule__JvmParameterizedTypeReference__ArgumentsAssignment_1_4_2_2_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:42595:1: ( ( ruleJvmArgumentTypeReference ) )
-            // InternalReportDSL.g:42596:2: ( ruleJvmArgumentTypeReference )
+            // InternalReportDSL.g:43036:1: ( ( ruleJvmArgumentTypeReference ) )
+            // InternalReportDSL.g:43037:2: ( ruleJvmArgumentTypeReference )
             {
-            // InternalReportDSL.g:42596:2: ( ruleJvmArgumentTypeReference )
-            // InternalReportDSL.g:42597:3: ruleJvmArgumentTypeReference
+            // InternalReportDSL.g:43037:2: ( ruleJvmArgumentTypeReference )
+            // InternalReportDSL.g:43038:3: ruleJvmArgumentTypeReference
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getJvmParameterizedTypeReferenceAccess().getArgumentsJvmArgumentTypeReferenceParserRuleCall_1_4_2_2_1_0()); 
@@ -137760,17 +139375,17 @@
 
 
     // $ANTLR start "rule__JvmWildcardTypeReference__ConstraintsAssignment_2_0_0"
-    // InternalReportDSL.g:42606:1: rule__JvmWildcardTypeReference__ConstraintsAssignment_2_0_0 : ( ruleJvmUpperBound ) ;
+    // InternalReportDSL.g:43047:1: rule__JvmWildcardTypeReference__ConstraintsAssignment_2_0_0 : ( ruleJvmUpperBound ) ;
     public final void rule__JvmWildcardTypeReference__ConstraintsAssignment_2_0_0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:42610:1: ( ( ruleJvmUpperBound ) )
-            // InternalReportDSL.g:42611:2: ( ruleJvmUpperBound )
+            // InternalReportDSL.g:43051:1: ( ( ruleJvmUpperBound ) )
+            // InternalReportDSL.g:43052:2: ( ruleJvmUpperBound )
             {
-            // InternalReportDSL.g:42611:2: ( ruleJvmUpperBound )
-            // InternalReportDSL.g:42612:3: ruleJvmUpperBound
+            // InternalReportDSL.g:43052:2: ( ruleJvmUpperBound )
+            // InternalReportDSL.g:43053:3: ruleJvmUpperBound
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getJvmWildcardTypeReferenceAccess().getConstraintsJvmUpperBoundParserRuleCall_2_0_0_0()); 
@@ -137805,17 +139420,17 @@
 
 
     // $ANTLR start "rule__JvmWildcardTypeReference__ConstraintsAssignment_2_0_1"
-    // InternalReportDSL.g:42621:1: rule__JvmWildcardTypeReference__ConstraintsAssignment_2_0_1 : ( ruleJvmUpperBoundAnded ) ;
+    // InternalReportDSL.g:43062:1: rule__JvmWildcardTypeReference__ConstraintsAssignment_2_0_1 : ( ruleJvmUpperBoundAnded ) ;
     public final void rule__JvmWildcardTypeReference__ConstraintsAssignment_2_0_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:42625:1: ( ( ruleJvmUpperBoundAnded ) )
-            // InternalReportDSL.g:42626:2: ( ruleJvmUpperBoundAnded )
+            // InternalReportDSL.g:43066:1: ( ( ruleJvmUpperBoundAnded ) )
+            // InternalReportDSL.g:43067:2: ( ruleJvmUpperBoundAnded )
             {
-            // InternalReportDSL.g:42626:2: ( ruleJvmUpperBoundAnded )
-            // InternalReportDSL.g:42627:3: ruleJvmUpperBoundAnded
+            // InternalReportDSL.g:43067:2: ( ruleJvmUpperBoundAnded )
+            // InternalReportDSL.g:43068:3: ruleJvmUpperBoundAnded
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getJvmWildcardTypeReferenceAccess().getConstraintsJvmUpperBoundAndedParserRuleCall_2_0_1_0()); 
@@ -137850,17 +139465,17 @@
 
 
     // $ANTLR start "rule__JvmWildcardTypeReference__ConstraintsAssignment_2_1_0"
-    // InternalReportDSL.g:42636:1: rule__JvmWildcardTypeReference__ConstraintsAssignment_2_1_0 : ( ruleJvmLowerBound ) ;
+    // InternalReportDSL.g:43077:1: rule__JvmWildcardTypeReference__ConstraintsAssignment_2_1_0 : ( ruleJvmLowerBound ) ;
     public final void rule__JvmWildcardTypeReference__ConstraintsAssignment_2_1_0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:42640:1: ( ( ruleJvmLowerBound ) )
-            // InternalReportDSL.g:42641:2: ( ruleJvmLowerBound )
+            // InternalReportDSL.g:43081:1: ( ( ruleJvmLowerBound ) )
+            // InternalReportDSL.g:43082:2: ( ruleJvmLowerBound )
             {
-            // InternalReportDSL.g:42641:2: ( ruleJvmLowerBound )
-            // InternalReportDSL.g:42642:3: ruleJvmLowerBound
+            // InternalReportDSL.g:43082:2: ( ruleJvmLowerBound )
+            // InternalReportDSL.g:43083:3: ruleJvmLowerBound
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getJvmWildcardTypeReferenceAccess().getConstraintsJvmLowerBoundParserRuleCall_2_1_0_0()); 
@@ -137895,17 +139510,17 @@
 
 
     // $ANTLR start "rule__JvmWildcardTypeReference__ConstraintsAssignment_2_1_1"
-    // InternalReportDSL.g:42651:1: rule__JvmWildcardTypeReference__ConstraintsAssignment_2_1_1 : ( ruleJvmLowerBoundAnded ) ;
+    // InternalReportDSL.g:43092:1: rule__JvmWildcardTypeReference__ConstraintsAssignment_2_1_1 : ( ruleJvmLowerBoundAnded ) ;
     public final void rule__JvmWildcardTypeReference__ConstraintsAssignment_2_1_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:42655:1: ( ( ruleJvmLowerBoundAnded ) )
-            // InternalReportDSL.g:42656:2: ( ruleJvmLowerBoundAnded )
+            // InternalReportDSL.g:43096:1: ( ( ruleJvmLowerBoundAnded ) )
+            // InternalReportDSL.g:43097:2: ( ruleJvmLowerBoundAnded )
             {
-            // InternalReportDSL.g:42656:2: ( ruleJvmLowerBoundAnded )
-            // InternalReportDSL.g:42657:3: ruleJvmLowerBoundAnded
+            // InternalReportDSL.g:43097:2: ( ruleJvmLowerBoundAnded )
+            // InternalReportDSL.g:43098:3: ruleJvmLowerBoundAnded
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getJvmWildcardTypeReferenceAccess().getConstraintsJvmLowerBoundAndedParserRuleCall_2_1_1_0()); 
@@ -137940,17 +139555,17 @@
 
 
     // $ANTLR start "rule__JvmUpperBound__TypeReferenceAssignment_1"
-    // InternalReportDSL.g:42666:1: rule__JvmUpperBound__TypeReferenceAssignment_1 : ( ruleJvmTypeReference ) ;
+    // InternalReportDSL.g:43107:1: rule__JvmUpperBound__TypeReferenceAssignment_1 : ( ruleJvmTypeReference ) ;
     public final void rule__JvmUpperBound__TypeReferenceAssignment_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:42670:1: ( ( ruleJvmTypeReference ) )
-            // InternalReportDSL.g:42671:2: ( ruleJvmTypeReference )
+            // InternalReportDSL.g:43111:1: ( ( ruleJvmTypeReference ) )
+            // InternalReportDSL.g:43112:2: ( ruleJvmTypeReference )
             {
-            // InternalReportDSL.g:42671:2: ( ruleJvmTypeReference )
-            // InternalReportDSL.g:42672:3: ruleJvmTypeReference
+            // InternalReportDSL.g:43112:2: ( ruleJvmTypeReference )
+            // InternalReportDSL.g:43113:3: ruleJvmTypeReference
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getJvmUpperBoundAccess().getTypeReferenceJvmTypeReferenceParserRuleCall_1_0()); 
@@ -137985,17 +139600,17 @@
 
 
     // $ANTLR start "rule__JvmUpperBoundAnded__TypeReferenceAssignment_1"
-    // InternalReportDSL.g:42681:1: rule__JvmUpperBoundAnded__TypeReferenceAssignment_1 : ( ruleJvmTypeReference ) ;
+    // InternalReportDSL.g:43122:1: rule__JvmUpperBoundAnded__TypeReferenceAssignment_1 : ( ruleJvmTypeReference ) ;
     public final void rule__JvmUpperBoundAnded__TypeReferenceAssignment_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:42685:1: ( ( ruleJvmTypeReference ) )
-            // InternalReportDSL.g:42686:2: ( ruleJvmTypeReference )
+            // InternalReportDSL.g:43126:1: ( ( ruleJvmTypeReference ) )
+            // InternalReportDSL.g:43127:2: ( ruleJvmTypeReference )
             {
-            // InternalReportDSL.g:42686:2: ( ruleJvmTypeReference )
-            // InternalReportDSL.g:42687:3: ruleJvmTypeReference
+            // InternalReportDSL.g:43127:2: ( ruleJvmTypeReference )
+            // InternalReportDSL.g:43128:3: ruleJvmTypeReference
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getJvmUpperBoundAndedAccess().getTypeReferenceJvmTypeReferenceParserRuleCall_1_0()); 
@@ -138030,17 +139645,17 @@
 
 
     // $ANTLR start "rule__JvmLowerBound__TypeReferenceAssignment_1"
-    // InternalReportDSL.g:42696:1: rule__JvmLowerBound__TypeReferenceAssignment_1 : ( ruleJvmTypeReference ) ;
+    // InternalReportDSL.g:43137:1: rule__JvmLowerBound__TypeReferenceAssignment_1 : ( ruleJvmTypeReference ) ;
     public final void rule__JvmLowerBound__TypeReferenceAssignment_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:42700:1: ( ( ruleJvmTypeReference ) )
-            // InternalReportDSL.g:42701:2: ( ruleJvmTypeReference )
+            // InternalReportDSL.g:43141:1: ( ( ruleJvmTypeReference ) )
+            // InternalReportDSL.g:43142:2: ( ruleJvmTypeReference )
             {
-            // InternalReportDSL.g:42701:2: ( ruleJvmTypeReference )
-            // InternalReportDSL.g:42702:3: ruleJvmTypeReference
+            // InternalReportDSL.g:43142:2: ( ruleJvmTypeReference )
+            // InternalReportDSL.g:43143:3: ruleJvmTypeReference
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getJvmLowerBoundAccess().getTypeReferenceJvmTypeReferenceParserRuleCall_1_0()); 
@@ -138075,17 +139690,17 @@
 
 
     // $ANTLR start "rule__JvmLowerBoundAnded__TypeReferenceAssignment_1"
-    // InternalReportDSL.g:42711:1: rule__JvmLowerBoundAnded__TypeReferenceAssignment_1 : ( ruleJvmTypeReference ) ;
+    // InternalReportDSL.g:43152:1: rule__JvmLowerBoundAnded__TypeReferenceAssignment_1 : ( ruleJvmTypeReference ) ;
     public final void rule__JvmLowerBoundAnded__TypeReferenceAssignment_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:42715:1: ( ( ruleJvmTypeReference ) )
-            // InternalReportDSL.g:42716:2: ( ruleJvmTypeReference )
+            // InternalReportDSL.g:43156:1: ( ( ruleJvmTypeReference ) )
+            // InternalReportDSL.g:43157:2: ( ruleJvmTypeReference )
             {
-            // InternalReportDSL.g:42716:2: ( ruleJvmTypeReference )
-            // InternalReportDSL.g:42717:3: ruleJvmTypeReference
+            // InternalReportDSL.g:43157:2: ( ruleJvmTypeReference )
+            // InternalReportDSL.g:43158:3: ruleJvmTypeReference
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getJvmLowerBoundAndedAccess().getTypeReferenceJvmTypeReferenceParserRuleCall_1_0()); 
@@ -138120,17 +139735,17 @@
 
 
     // $ANTLR start "rule__XImportSection__ImportDeclarationsAssignment"
-    // InternalReportDSL.g:42726:1: rule__XImportSection__ImportDeclarationsAssignment : ( ruleXImportDeclaration ) ;
+    // InternalReportDSL.g:43167:1: rule__XImportSection__ImportDeclarationsAssignment : ( ruleXImportDeclaration ) ;
     public final void rule__XImportSection__ImportDeclarationsAssignment() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalReportDSL.g:42730:1: ( ( ruleXImportDeclaration ) )
-            // InternalReportDSL.g:42731:2: ( ruleXImportDeclaration )
+            // InternalReportDSL.g:43171:1: ( ( ruleXImportDeclaration ) )
+            // InternalReportDSL.g:43172:2: ( ruleXImportDeclaration )
             {
-            // InternalReportDSL.g:42731:2: ( ruleXImportDeclaration )
-            // InternalReportDSL.g:42732:3: ruleXImportDeclaration
+            // InternalReportDSL.g:43172:2: ( ruleXImportDeclaration )
+            // InternalReportDSL.g:43173:3: ruleXImportDeclaration
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXImportSectionAccess().getImportDeclarationsXImportDeclarationParserRuleCall_0()); 
@@ -138165,17 +139780,17 @@
 
     // $ANTLR start synpred41_InternalReportDSL
     public final void synpred41_InternalReportDSL_fragment() throws RecognitionException {   
-        // InternalReportDSL.g:4877:2: ( ( ( rule__XAnnotation__Group_3_1_0__0 ) ) )
-        // InternalReportDSL.g:4877:2: ( ( rule__XAnnotation__Group_3_1_0__0 ) )
+        // InternalReportDSL.g:4893:2: ( ( ( rule__XAnnotation__Group_3_1_0__0 ) ) )
+        // InternalReportDSL.g:4893:2: ( ( rule__XAnnotation__Group_3_1_0__0 ) )
         {
-        // InternalReportDSL.g:4877:2: ( ( rule__XAnnotation__Group_3_1_0__0 ) )
-        // InternalReportDSL.g:4878:3: ( rule__XAnnotation__Group_3_1_0__0 )
+        // InternalReportDSL.g:4893:2: ( ( rule__XAnnotation__Group_3_1_0__0 ) )
+        // InternalReportDSL.g:4894:3: ( rule__XAnnotation__Group_3_1_0__0 )
         {
         if ( state.backtracking==0 ) {
            before(grammarAccess.getXAnnotationAccess().getGroup_3_1_0()); 
         }
-        // InternalReportDSL.g:4879:3: ( rule__XAnnotation__Group_3_1_0__0 )
-        // InternalReportDSL.g:4879:4: rule__XAnnotation__Group_3_1_0__0
+        // InternalReportDSL.g:4895:3: ( rule__XAnnotation__Group_3_1_0__0 )
+        // InternalReportDSL.g:4895:4: rule__XAnnotation__Group_3_1_0__0
         {
         pushFollow(FOLLOW_2);
         rule__XAnnotation__Group_3_1_0__0();
@@ -138195,17 +139810,17 @@
 
     // $ANTLR start synpred42_InternalReportDSL
     public final void synpred42_InternalReportDSL_fragment() throws RecognitionException {   
-        // InternalReportDSL.g:4898:2: ( ( ( rule__XAnnotationElementValueOrCommaList__Group_0__0 ) ) )
-        // InternalReportDSL.g:4898:2: ( ( rule__XAnnotationElementValueOrCommaList__Group_0__0 ) )
+        // InternalReportDSL.g:4914:2: ( ( ( rule__XAnnotationElementValueOrCommaList__Group_0__0 ) ) )
+        // InternalReportDSL.g:4914:2: ( ( rule__XAnnotationElementValueOrCommaList__Group_0__0 ) )
         {
-        // InternalReportDSL.g:4898:2: ( ( rule__XAnnotationElementValueOrCommaList__Group_0__0 ) )
-        // InternalReportDSL.g:4899:3: ( rule__XAnnotationElementValueOrCommaList__Group_0__0 )
+        // InternalReportDSL.g:4914:2: ( ( rule__XAnnotationElementValueOrCommaList__Group_0__0 ) )
+        // InternalReportDSL.g:4915:3: ( rule__XAnnotationElementValueOrCommaList__Group_0__0 )
         {
         if ( state.backtracking==0 ) {
            before(grammarAccess.getXAnnotationElementValueOrCommaListAccess().getGroup_0()); 
         }
-        // InternalReportDSL.g:4900:3: ( rule__XAnnotationElementValueOrCommaList__Group_0__0 )
-        // InternalReportDSL.g:4900:4: rule__XAnnotationElementValueOrCommaList__Group_0__0
+        // InternalReportDSL.g:4916:3: ( rule__XAnnotationElementValueOrCommaList__Group_0__0 )
+        // InternalReportDSL.g:4916:4: rule__XAnnotationElementValueOrCommaList__Group_0__0
         {
         pushFollow(FOLLOW_2);
         rule__XAnnotationElementValueOrCommaList__Group_0__0();
@@ -138225,17 +139840,17 @@
 
     // $ANTLR start synpred43_InternalReportDSL
     public final void synpred43_InternalReportDSL_fragment() throws RecognitionException {   
-        // InternalReportDSL.g:4919:2: ( ( ( rule__XAnnotationElementValue__Group_0__0 ) ) )
-        // InternalReportDSL.g:4919:2: ( ( rule__XAnnotationElementValue__Group_0__0 ) )
+        // InternalReportDSL.g:4935:2: ( ( ( rule__XAnnotationElementValue__Group_0__0 ) ) )
+        // InternalReportDSL.g:4935:2: ( ( rule__XAnnotationElementValue__Group_0__0 ) )
         {
-        // InternalReportDSL.g:4919:2: ( ( rule__XAnnotationElementValue__Group_0__0 ) )
-        // InternalReportDSL.g:4920:3: ( rule__XAnnotationElementValue__Group_0__0 )
+        // InternalReportDSL.g:4935:2: ( ( rule__XAnnotationElementValue__Group_0__0 ) )
+        // InternalReportDSL.g:4936:3: ( rule__XAnnotationElementValue__Group_0__0 )
         {
         if ( state.backtracking==0 ) {
            before(grammarAccess.getXAnnotationElementValueAccess().getGroup_0()); 
         }
-        // InternalReportDSL.g:4921:3: ( rule__XAnnotationElementValue__Group_0__0 )
-        // InternalReportDSL.g:4921:4: rule__XAnnotationElementValue__Group_0__0
+        // InternalReportDSL.g:4937:3: ( rule__XAnnotationElementValue__Group_0__0 )
+        // InternalReportDSL.g:4937:4: rule__XAnnotationElementValue__Group_0__0
         {
         pushFollow(FOLLOW_2);
         rule__XAnnotationElementValue__Group_0__0();
@@ -138255,17 +139870,17 @@
 
     // $ANTLR start synpred68_InternalReportDSL
     public final void synpred68_InternalReportDSL_fragment() throws RecognitionException {   
-        // InternalReportDSL.g:5204:2: ( ( ( rule__OpOther__Group_6_1_0__0 ) ) )
-        // InternalReportDSL.g:5204:2: ( ( rule__OpOther__Group_6_1_0__0 ) )
+        // InternalReportDSL.g:5220:2: ( ( ( rule__OpOther__Group_6_1_0__0 ) ) )
+        // InternalReportDSL.g:5220:2: ( ( rule__OpOther__Group_6_1_0__0 ) )
         {
-        // InternalReportDSL.g:5204:2: ( ( rule__OpOther__Group_6_1_0__0 ) )
-        // InternalReportDSL.g:5205:3: ( rule__OpOther__Group_6_1_0__0 )
+        // InternalReportDSL.g:5220:2: ( ( rule__OpOther__Group_6_1_0__0 ) )
+        // InternalReportDSL.g:5221:3: ( rule__OpOther__Group_6_1_0__0 )
         {
         if ( state.backtracking==0 ) {
            before(grammarAccess.getOpOtherAccess().getGroup_6_1_0()); 
         }
-        // InternalReportDSL.g:5206:3: ( rule__OpOther__Group_6_1_0__0 )
-        // InternalReportDSL.g:5206:4: rule__OpOther__Group_6_1_0__0
+        // InternalReportDSL.g:5222:3: ( rule__OpOther__Group_6_1_0__0 )
+        // InternalReportDSL.g:5222:4: rule__OpOther__Group_6_1_0__0
         {
         pushFollow(FOLLOW_2);
         rule__OpOther__Group_6_1_0__0();
@@ -138285,11 +139900,11 @@
 
     // $ANTLR start synpred69_InternalReportDSL
     public final void synpred69_InternalReportDSL_fragment() throws RecognitionException {   
-        // InternalReportDSL.g:5210:2: ( ( '<' ) )
-        // InternalReportDSL.g:5210:2: ( '<' )
+        // InternalReportDSL.g:5226:2: ( ( '<' ) )
+        // InternalReportDSL.g:5226:2: ( '<' )
         {
-        // InternalReportDSL.g:5210:2: ( '<' )
-        // InternalReportDSL.g:5211:3: '<'
+        // InternalReportDSL.g:5226:2: ( '<' )
+        // InternalReportDSL.g:5227:3: '<'
         {
         if ( state.backtracking==0 ) {
            before(grammarAccess.getOpOtherAccess().getLessThanSignKeyword_6_1_1()); 
@@ -138305,17 +139920,17 @@
 
     // $ANTLR start synpred82_InternalReportDSL
     public final void synpred82_InternalReportDSL_fragment() throws RecognitionException {   
-        // InternalReportDSL.g:5423:2: ( ( ( rule__XMemberFeatureCall__MemberCallArgumentsAssignment_1_1_3_1_0 ) ) )
-        // InternalReportDSL.g:5423:2: ( ( rule__XMemberFeatureCall__MemberCallArgumentsAssignment_1_1_3_1_0 ) )
+        // InternalReportDSL.g:5439:2: ( ( ( rule__XMemberFeatureCall__MemberCallArgumentsAssignment_1_1_3_1_0 ) ) )
+        // InternalReportDSL.g:5439:2: ( ( rule__XMemberFeatureCall__MemberCallArgumentsAssignment_1_1_3_1_0 ) )
         {
-        // InternalReportDSL.g:5423:2: ( ( rule__XMemberFeatureCall__MemberCallArgumentsAssignment_1_1_3_1_0 ) )
-        // InternalReportDSL.g:5424:3: ( rule__XMemberFeatureCall__MemberCallArgumentsAssignment_1_1_3_1_0 )
+        // InternalReportDSL.g:5439:2: ( ( rule__XMemberFeatureCall__MemberCallArgumentsAssignment_1_1_3_1_0 ) )
+        // InternalReportDSL.g:5440:3: ( rule__XMemberFeatureCall__MemberCallArgumentsAssignment_1_1_3_1_0 )
         {
         if ( state.backtracking==0 ) {
            before(grammarAccess.getXMemberFeatureCallAccess().getMemberCallArgumentsAssignment_1_1_3_1_0()); 
         }
-        // InternalReportDSL.g:5425:3: ( rule__XMemberFeatureCall__MemberCallArgumentsAssignment_1_1_3_1_0 )
-        // InternalReportDSL.g:5425:4: rule__XMemberFeatureCall__MemberCallArgumentsAssignment_1_1_3_1_0
+        // InternalReportDSL.g:5441:3: ( rule__XMemberFeatureCall__MemberCallArgumentsAssignment_1_1_3_1_0 )
+        // InternalReportDSL.g:5441:4: rule__XMemberFeatureCall__MemberCallArgumentsAssignment_1_1_3_1_0
         {
         pushFollow(FOLLOW_2);
         rule__XMemberFeatureCall__MemberCallArgumentsAssignment_1_1_3_1_0();
@@ -138335,17 +139950,17 @@
 
     // $ANTLR start synpred90_InternalReportDSL
     public final void synpred90_InternalReportDSL_fragment() throws RecognitionException {   
-        // InternalReportDSL.g:5486:2: ( ( ( ruleXForLoopExpression ) ) )
-        // InternalReportDSL.g:5486:2: ( ( ruleXForLoopExpression ) )
+        // InternalReportDSL.g:5502:2: ( ( ( ruleXForLoopExpression ) ) )
+        // InternalReportDSL.g:5502:2: ( ( ruleXForLoopExpression ) )
         {
-        // InternalReportDSL.g:5486:2: ( ( ruleXForLoopExpression ) )
-        // InternalReportDSL.g:5487:3: ( ruleXForLoopExpression )
+        // InternalReportDSL.g:5502:2: ( ( ruleXForLoopExpression ) )
+        // InternalReportDSL.g:5503:3: ( ruleXForLoopExpression )
         {
         if ( state.backtracking==0 ) {
            before(grammarAccess.getXPrimaryExpressionAccess().getXForLoopExpressionParserRuleCall_7()); 
         }
-        // InternalReportDSL.g:5488:3: ( ruleXForLoopExpression )
-        // InternalReportDSL.g:5488:4: ruleXForLoopExpression
+        // InternalReportDSL.g:5504:3: ( ruleXForLoopExpression )
+        // InternalReportDSL.g:5504:4: ruleXForLoopExpression
         {
         pushFollow(FOLLOW_2);
         ruleXForLoopExpression();
@@ -138365,11 +139980,11 @@
 
     // $ANTLR start synpred91_InternalReportDSL
     public final void synpred91_InternalReportDSL_fragment() throws RecognitionException {   
-        // InternalReportDSL.g:5492:2: ( ( ruleXBasicForLoopExpression ) )
-        // InternalReportDSL.g:5492:2: ( ruleXBasicForLoopExpression )
+        // InternalReportDSL.g:5508:2: ( ( ruleXBasicForLoopExpression ) )
+        // InternalReportDSL.g:5508:2: ( ruleXBasicForLoopExpression )
         {
-        // InternalReportDSL.g:5492:2: ( ruleXBasicForLoopExpression )
-        // InternalReportDSL.g:5493:3: ruleXBasicForLoopExpression
+        // InternalReportDSL.g:5508:2: ( ruleXBasicForLoopExpression )
+        // InternalReportDSL.g:5509:3: ruleXBasicForLoopExpression
         {
         if ( state.backtracking==0 ) {
            before(grammarAccess.getXPrimaryExpressionAccess().getXBasicForLoopExpressionParserRuleCall_8()); 
@@ -138389,17 +140004,17 @@
 
     // $ANTLR start synpred104_InternalReportDSL
     public final void synpred104_InternalReportDSL_fragment() throws RecognitionException {   
-        // InternalReportDSL.g:5615:2: ( ( ( rule__XSwitchExpression__Group_2_0__0 ) ) )
-        // InternalReportDSL.g:5615:2: ( ( rule__XSwitchExpression__Group_2_0__0 ) )
+        // InternalReportDSL.g:5631:2: ( ( ( rule__XSwitchExpression__Group_2_0__0 ) ) )
+        // InternalReportDSL.g:5631:2: ( ( rule__XSwitchExpression__Group_2_0__0 ) )
         {
-        // InternalReportDSL.g:5615:2: ( ( rule__XSwitchExpression__Group_2_0__0 ) )
-        // InternalReportDSL.g:5616:3: ( rule__XSwitchExpression__Group_2_0__0 )
+        // InternalReportDSL.g:5631:2: ( ( rule__XSwitchExpression__Group_2_0__0 ) )
+        // InternalReportDSL.g:5632:3: ( rule__XSwitchExpression__Group_2_0__0 )
         {
         if ( state.backtracking==0 ) {
            before(grammarAccess.getXSwitchExpressionAccess().getGroup_2_0()); 
         }
-        // InternalReportDSL.g:5617:3: ( rule__XSwitchExpression__Group_2_0__0 )
-        // InternalReportDSL.g:5617:4: rule__XSwitchExpression__Group_2_0__0
+        // InternalReportDSL.g:5633:3: ( rule__XSwitchExpression__Group_2_0__0 )
+        // InternalReportDSL.g:5633:4: rule__XSwitchExpression__Group_2_0__0
         {
         pushFollow(FOLLOW_2);
         rule__XSwitchExpression__Group_2_0__0();
@@ -138419,17 +140034,17 @@
 
     // $ANTLR start synpred108_InternalReportDSL
     public final void synpred108_InternalReportDSL_fragment() throws RecognitionException {   
-        // InternalReportDSL.g:5699:2: ( ( ( rule__XVariableDeclaration__Group_2_0__0 ) ) )
-        // InternalReportDSL.g:5699:2: ( ( rule__XVariableDeclaration__Group_2_0__0 ) )
+        // InternalReportDSL.g:5715:2: ( ( ( rule__XVariableDeclaration__Group_2_0__0 ) ) )
+        // InternalReportDSL.g:5715:2: ( ( rule__XVariableDeclaration__Group_2_0__0 ) )
         {
-        // InternalReportDSL.g:5699:2: ( ( rule__XVariableDeclaration__Group_2_0__0 ) )
-        // InternalReportDSL.g:5700:3: ( rule__XVariableDeclaration__Group_2_0__0 )
+        // InternalReportDSL.g:5715:2: ( ( rule__XVariableDeclaration__Group_2_0__0 ) )
+        // InternalReportDSL.g:5716:3: ( rule__XVariableDeclaration__Group_2_0__0 )
         {
         if ( state.backtracking==0 ) {
            before(grammarAccess.getXVariableDeclarationAccess().getGroup_2_0()); 
         }
-        // InternalReportDSL.g:5701:3: ( rule__XVariableDeclaration__Group_2_0__0 )
-        // InternalReportDSL.g:5701:4: rule__XVariableDeclaration__Group_2_0__0
+        // InternalReportDSL.g:5717:3: ( rule__XVariableDeclaration__Group_2_0__0 )
+        // InternalReportDSL.g:5717:4: rule__XVariableDeclaration__Group_2_0__0
         {
         pushFollow(FOLLOW_2);
         rule__XVariableDeclaration__Group_2_0__0();
@@ -138449,17 +140064,17 @@
 
     // $ANTLR start synpred109_InternalReportDSL
     public final void synpred109_InternalReportDSL_fragment() throws RecognitionException {   
-        // InternalReportDSL.g:5720:2: ( ( ( rule__XFeatureCall__FeatureCallArgumentsAssignment_3_1_0 ) ) )
-        // InternalReportDSL.g:5720:2: ( ( rule__XFeatureCall__FeatureCallArgumentsAssignment_3_1_0 ) )
+        // InternalReportDSL.g:5736:2: ( ( ( rule__XFeatureCall__FeatureCallArgumentsAssignment_3_1_0 ) ) )
+        // InternalReportDSL.g:5736:2: ( ( rule__XFeatureCall__FeatureCallArgumentsAssignment_3_1_0 ) )
         {
-        // InternalReportDSL.g:5720:2: ( ( rule__XFeatureCall__FeatureCallArgumentsAssignment_3_1_0 ) )
-        // InternalReportDSL.g:5721:3: ( rule__XFeatureCall__FeatureCallArgumentsAssignment_3_1_0 )
+        // InternalReportDSL.g:5736:2: ( ( rule__XFeatureCall__FeatureCallArgumentsAssignment_3_1_0 ) )
+        // InternalReportDSL.g:5737:3: ( rule__XFeatureCall__FeatureCallArgumentsAssignment_3_1_0 )
         {
         if ( state.backtracking==0 ) {
            before(grammarAccess.getXFeatureCallAccess().getFeatureCallArgumentsAssignment_3_1_0()); 
         }
-        // InternalReportDSL.g:5722:3: ( rule__XFeatureCall__FeatureCallArgumentsAssignment_3_1_0 )
-        // InternalReportDSL.g:5722:4: rule__XFeatureCall__FeatureCallArgumentsAssignment_3_1_0
+        // InternalReportDSL.g:5738:3: ( rule__XFeatureCall__FeatureCallArgumentsAssignment_3_1_0 )
+        // InternalReportDSL.g:5738:4: rule__XFeatureCall__FeatureCallArgumentsAssignment_3_1_0
         {
         pushFollow(FOLLOW_2);
         rule__XFeatureCall__FeatureCallArgumentsAssignment_3_1_0();
@@ -138479,17 +140094,17 @@
 
     // $ANTLR start synpred115_InternalReportDSL
     public final void synpred115_InternalReportDSL_fragment() throws RecognitionException {   
-        // InternalReportDSL.g:5801:2: ( ( ( rule__XConstructorCall__ArgumentsAssignment_4_1_0 ) ) )
-        // InternalReportDSL.g:5801:2: ( ( rule__XConstructorCall__ArgumentsAssignment_4_1_0 ) )
+        // InternalReportDSL.g:5817:2: ( ( ( rule__XConstructorCall__ArgumentsAssignment_4_1_0 ) ) )
+        // InternalReportDSL.g:5817:2: ( ( rule__XConstructorCall__ArgumentsAssignment_4_1_0 ) )
         {
-        // InternalReportDSL.g:5801:2: ( ( rule__XConstructorCall__ArgumentsAssignment_4_1_0 ) )
-        // InternalReportDSL.g:5802:3: ( rule__XConstructorCall__ArgumentsAssignment_4_1_0 )
+        // InternalReportDSL.g:5817:2: ( ( rule__XConstructorCall__ArgumentsAssignment_4_1_0 ) )
+        // InternalReportDSL.g:5818:3: ( rule__XConstructorCall__ArgumentsAssignment_4_1_0 )
         {
         if ( state.backtracking==0 ) {
            before(grammarAccess.getXConstructorCallAccess().getArgumentsAssignment_4_1_0()); 
         }
-        // InternalReportDSL.g:5803:3: ( rule__XConstructorCall__ArgumentsAssignment_4_1_0 )
-        // InternalReportDSL.g:5803:4: rule__XConstructorCall__ArgumentsAssignment_4_1_0
+        // InternalReportDSL.g:5819:3: ( rule__XConstructorCall__ArgumentsAssignment_4_1_0 )
+        // InternalReportDSL.g:5819:4: rule__XConstructorCall__ArgumentsAssignment_4_1_0
         {
         pushFollow(FOLLOW_2);
         rule__XConstructorCall__ArgumentsAssignment_4_1_0();
@@ -138507,10 +140122,10 @@
     }
     // $ANTLR end synpred115_InternalReportDSL
 
-    // $ANTLR start synpred285_InternalReportDSL
-    public final void synpred285_InternalReportDSL_fragment() throws RecognitionException {   
-        // InternalReportDSL.g:23680:3: ( rule__XAssignment__Group_1_1__0 )
-        // InternalReportDSL.g:23680:3: rule__XAssignment__Group_1_1__0
+    // $ANTLR start synpred271_InternalReportDSL
+    public final void synpred271_InternalReportDSL_fragment() throws RecognitionException {   
+        // InternalReportDSL.g:23390:3: ( rule__XAssignment__Group_1_1__0 )
+        // InternalReportDSL.g:23390:3: rule__XAssignment__Group_1_1__0
         {
         pushFollow(FOLLOW_2);
         rule__XAssignment__Group_1_1__0();
@@ -138520,12 +140135,12 @@
 
         }
     }
-    // $ANTLR end synpred285_InternalReportDSL
+    // $ANTLR end synpred271_InternalReportDSL
 
-    // $ANTLR start synpred287_InternalReportDSL
-    public final void synpred287_InternalReportDSL_fragment() throws RecognitionException {   
-        // InternalReportDSL.g:24031:3: ( rule__XOrExpression__Group_1__0 )
-        // InternalReportDSL.g:24031:3: rule__XOrExpression__Group_1__0
+    // $ANTLR start synpred273_InternalReportDSL
+    public final void synpred273_InternalReportDSL_fragment() throws RecognitionException {   
+        // InternalReportDSL.g:23741:3: ( rule__XOrExpression__Group_1__0 )
+        // InternalReportDSL.g:23741:3: rule__XOrExpression__Group_1__0
         {
         pushFollow(FOLLOW_2);
         rule__XOrExpression__Group_1__0();
@@ -138535,12 +140150,12 @@
 
         }
     }
-    // $ANTLR end synpred287_InternalReportDSL
+    // $ANTLR end synpred273_InternalReportDSL
 
-    // $ANTLR start synpred288_InternalReportDSL
-    public final void synpred288_InternalReportDSL_fragment() throws RecognitionException {   
-        // InternalReportDSL.g:24220:3: ( rule__XAndExpression__Group_1__0 )
-        // InternalReportDSL.g:24220:3: rule__XAndExpression__Group_1__0
+    // $ANTLR start synpred274_InternalReportDSL
+    public final void synpred274_InternalReportDSL_fragment() throws RecognitionException {   
+        // InternalReportDSL.g:23930:3: ( rule__XAndExpression__Group_1__0 )
+        // InternalReportDSL.g:23930:3: rule__XAndExpression__Group_1__0
         {
         pushFollow(FOLLOW_2);
         rule__XAndExpression__Group_1__0();
@@ -138550,12 +140165,12 @@
 
         }
     }
-    // $ANTLR end synpred288_InternalReportDSL
+    // $ANTLR end synpred274_InternalReportDSL
 
-    // $ANTLR start synpred289_InternalReportDSL
-    public final void synpred289_InternalReportDSL_fragment() throws RecognitionException {   
-        // InternalReportDSL.g:24409:3: ( rule__XEqualityExpression__Group_1__0 )
-        // InternalReportDSL.g:24409:3: rule__XEqualityExpression__Group_1__0
+    // $ANTLR start synpred275_InternalReportDSL
+    public final void synpred275_InternalReportDSL_fragment() throws RecognitionException {   
+        // InternalReportDSL.g:24119:3: ( rule__XEqualityExpression__Group_1__0 )
+        // InternalReportDSL.g:24119:3: rule__XEqualityExpression__Group_1__0
         {
         pushFollow(FOLLOW_2);
         rule__XEqualityExpression__Group_1__0();
@@ -138565,12 +140180,12 @@
 
         }
     }
-    // $ANTLR end synpred289_InternalReportDSL
+    // $ANTLR end synpred275_InternalReportDSL
 
-    // $ANTLR start synpred290_InternalReportDSL
-    public final void synpred290_InternalReportDSL_fragment() throws RecognitionException {   
-        // InternalReportDSL.g:24598:3: ( rule__XRelationalExpression__Alternatives_1 )
-        // InternalReportDSL.g:24598:3: rule__XRelationalExpression__Alternatives_1
+    // $ANTLR start synpred276_InternalReportDSL
+    public final void synpred276_InternalReportDSL_fragment() throws RecognitionException {   
+        // InternalReportDSL.g:24308:3: ( rule__XRelationalExpression__Alternatives_1 )
+        // InternalReportDSL.g:24308:3: rule__XRelationalExpression__Alternatives_1
         {
         pushFollow(FOLLOW_2);
         rule__XRelationalExpression__Alternatives_1();
@@ -138580,12 +140195,12 @@
 
         }
     }
-    // $ANTLR end synpred290_InternalReportDSL
+    // $ANTLR end synpred276_InternalReportDSL
 
-    // $ANTLR start synpred291_InternalReportDSL
-    public final void synpred291_InternalReportDSL_fragment() throws RecognitionException {   
-        // InternalReportDSL.g:24976:3: ( rule__XOtherOperatorExpression__Group_1__0 )
-        // InternalReportDSL.g:24976:3: rule__XOtherOperatorExpression__Group_1__0
+    // $ANTLR start synpred277_InternalReportDSL
+    public final void synpred277_InternalReportDSL_fragment() throws RecognitionException {   
+        // InternalReportDSL.g:24686:3: ( rule__XOtherOperatorExpression__Group_1__0 )
+        // InternalReportDSL.g:24686:3: rule__XOtherOperatorExpression__Group_1__0
         {
         pushFollow(FOLLOW_2);
         rule__XOtherOperatorExpression__Group_1__0();
@@ -138595,12 +140210,12 @@
 
         }
     }
-    // $ANTLR end synpred291_InternalReportDSL
+    // $ANTLR end synpred277_InternalReportDSL
 
-    // $ANTLR start synpred292_InternalReportDSL
-    public final void synpred292_InternalReportDSL_fragment() throws RecognitionException {   
-        // InternalReportDSL.g:25489:3: ( rule__XAdditiveExpression__Group_1__0 )
-        // InternalReportDSL.g:25489:3: rule__XAdditiveExpression__Group_1__0
+    // $ANTLR start synpred278_InternalReportDSL
+    public final void synpred278_InternalReportDSL_fragment() throws RecognitionException {   
+        // InternalReportDSL.g:25199:3: ( rule__XAdditiveExpression__Group_1__0 )
+        // InternalReportDSL.g:25199:3: rule__XAdditiveExpression__Group_1__0
         {
         pushFollow(FOLLOW_2);
         rule__XAdditiveExpression__Group_1__0();
@@ -138610,12 +140225,12 @@
 
         }
     }
-    // $ANTLR end synpred292_InternalReportDSL
+    // $ANTLR end synpred278_InternalReportDSL
 
-    // $ANTLR start synpred293_InternalReportDSL
-    public final void synpred293_InternalReportDSL_fragment() throws RecognitionException {   
-        // InternalReportDSL.g:25678:3: ( rule__XMultiplicativeExpression__Group_1__0 )
-        // InternalReportDSL.g:25678:3: rule__XMultiplicativeExpression__Group_1__0
+    // $ANTLR start synpred279_InternalReportDSL
+    public final void synpred279_InternalReportDSL_fragment() throws RecognitionException {   
+        // InternalReportDSL.g:25388:3: ( rule__XMultiplicativeExpression__Group_1__0 )
+        // InternalReportDSL.g:25388:3: rule__XMultiplicativeExpression__Group_1__0
         {
         pushFollow(FOLLOW_2);
         rule__XMultiplicativeExpression__Group_1__0();
@@ -138625,12 +140240,12 @@
 
         }
     }
-    // $ANTLR end synpred293_InternalReportDSL
+    // $ANTLR end synpred279_InternalReportDSL
 
-    // $ANTLR start synpred294_InternalReportDSL
-    public final void synpred294_InternalReportDSL_fragment() throws RecognitionException {   
-        // InternalReportDSL.g:25948:3: ( rule__XCastedExpression__Group_1__0 )
-        // InternalReportDSL.g:25948:3: rule__XCastedExpression__Group_1__0
+    // $ANTLR start synpred280_InternalReportDSL
+    public final void synpred280_InternalReportDSL_fragment() throws RecognitionException {   
+        // InternalReportDSL.g:25658:3: ( rule__XCastedExpression__Group_1__0 )
+        // InternalReportDSL.g:25658:3: rule__XCastedExpression__Group_1__0
         {
         pushFollow(FOLLOW_2);
         rule__XCastedExpression__Group_1__0();
@@ -138640,12 +140255,12 @@
 
         }
     }
-    // $ANTLR end synpred294_InternalReportDSL
+    // $ANTLR end synpred280_InternalReportDSL
 
-    // $ANTLR start synpred295_InternalReportDSL
-    public final void synpred295_InternalReportDSL_fragment() throws RecognitionException {   
-        // InternalReportDSL.g:26137:3: ( rule__XPostfixOperation__Group_1__0 )
-        // InternalReportDSL.g:26137:3: rule__XPostfixOperation__Group_1__0
+    // $ANTLR start synpred281_InternalReportDSL
+    public final void synpred281_InternalReportDSL_fragment() throws RecognitionException {   
+        // InternalReportDSL.g:25847:3: ( rule__XPostfixOperation__Group_1__0 )
+        // InternalReportDSL.g:25847:3: rule__XPostfixOperation__Group_1__0
         {
         pushFollow(FOLLOW_2);
         rule__XPostfixOperation__Group_1__0();
@@ -138655,12 +140270,12 @@
 
         }
     }
-    // $ANTLR end synpred295_InternalReportDSL
+    // $ANTLR end synpred281_InternalReportDSL
 
-    // $ANTLR start synpred296_InternalReportDSL
-    public final void synpred296_InternalReportDSL_fragment() throws RecognitionException {   
-        // InternalReportDSL.g:26272:3: ( rule__XMemberFeatureCall__Alternatives_1 )
-        // InternalReportDSL.g:26272:3: rule__XMemberFeatureCall__Alternatives_1
+    // $ANTLR start synpred282_InternalReportDSL
+    public final void synpred282_InternalReportDSL_fragment() throws RecognitionException {   
+        // InternalReportDSL.g:25982:3: ( rule__XMemberFeatureCall__Alternatives_1 )
+        // InternalReportDSL.g:25982:3: rule__XMemberFeatureCall__Alternatives_1
         {
         pushFollow(FOLLOW_2);
         rule__XMemberFeatureCall__Alternatives_1();
@@ -138670,12 +140285,12 @@
 
         }
     }
-    // $ANTLR end synpred296_InternalReportDSL
+    // $ANTLR end synpred282_InternalReportDSL
 
-    // $ANTLR start synpred298_InternalReportDSL
-    public final void synpred298_InternalReportDSL_fragment() throws RecognitionException {   
-        // InternalReportDSL.g:26570:3: ( rule__XMemberFeatureCall__Group_1_1_3__0 )
-        // InternalReportDSL.g:26570:3: rule__XMemberFeatureCall__Group_1_1_3__0
+    // $ANTLR start synpred284_InternalReportDSL
+    public final void synpred284_InternalReportDSL_fragment() throws RecognitionException {   
+        // InternalReportDSL.g:26280:3: ( rule__XMemberFeatureCall__Group_1_1_3__0 )
+        // InternalReportDSL.g:26280:3: rule__XMemberFeatureCall__Group_1_1_3__0
         {
         pushFollow(FOLLOW_2);
         rule__XMemberFeatureCall__Group_1_1_3__0();
@@ -138685,12 +140300,12 @@
 
         }
     }
-    // $ANTLR end synpred298_InternalReportDSL
+    // $ANTLR end synpred284_InternalReportDSL
 
-    // $ANTLR start synpred299_InternalReportDSL
-    public final void synpred299_InternalReportDSL_fragment() throws RecognitionException {   
-        // InternalReportDSL.g:26596:3: ( rule__XMemberFeatureCall__MemberCallArgumentsAssignment_1_1_4 )
-        // InternalReportDSL.g:26596:3: rule__XMemberFeatureCall__MemberCallArgumentsAssignment_1_1_4
+    // $ANTLR start synpred285_InternalReportDSL
+    public final void synpred285_InternalReportDSL_fragment() throws RecognitionException {   
+        // InternalReportDSL.g:26306:3: ( rule__XMemberFeatureCall__MemberCallArgumentsAssignment_1_1_4 )
+        // InternalReportDSL.g:26306:3: rule__XMemberFeatureCall__MemberCallArgumentsAssignment_1_1_4
         {
         pushFollow(FOLLOW_2);
         rule__XMemberFeatureCall__MemberCallArgumentsAssignment_1_1_4();
@@ -138700,12 +140315,12 @@
 
         }
     }
-    // $ANTLR end synpred299_InternalReportDSL
+    // $ANTLR end synpred285_InternalReportDSL
 
-    // $ANTLR start synpred307_InternalReportDSL
-    public final void synpred307_InternalReportDSL_fragment() throws RecognitionException {   
-        // InternalReportDSL.g:27569:3: ( rule__XClosure__Group_1__0 )
-        // InternalReportDSL.g:27569:3: rule__XClosure__Group_1__0
+    // $ANTLR start synpred293_InternalReportDSL
+    public final void synpred293_InternalReportDSL_fragment() throws RecognitionException {   
+        // InternalReportDSL.g:27279:3: ( rule__XClosure__Group_1__0 )
+        // InternalReportDSL.g:27279:3: rule__XClosure__Group_1__0
         {
         pushFollow(FOLLOW_2);
         rule__XClosure__Group_1__0();
@@ -138715,12 +140330,12 @@
 
         }
     }
-    // $ANTLR end synpred307_InternalReportDSL
+    // $ANTLR end synpred293_InternalReportDSL
 
-    // $ANTLR start synpred314_InternalReportDSL
-    public final void synpred314_InternalReportDSL_fragment() throws RecognitionException {   
-        // InternalReportDSL.g:28540:3: ( rule__XIfExpression__Group_6__0 )
-        // InternalReportDSL.g:28540:3: rule__XIfExpression__Group_6__0
+    // $ANTLR start synpred300_InternalReportDSL
+    public final void synpred300_InternalReportDSL_fragment() throws RecognitionException {   
+        // InternalReportDSL.g:28250:3: ( rule__XIfExpression__Group_6__0 )
+        // InternalReportDSL.g:28250:3: rule__XIfExpression__Group_6__0
         {
         pushFollow(FOLLOW_2);
         rule__XIfExpression__Group_6__0();
@@ -138730,12 +140345,12 @@
 
         }
     }
-    // $ANTLR end synpred314_InternalReportDSL
+    // $ANTLR end synpred300_InternalReportDSL
 
-    // $ANTLR start synpred317_InternalReportDSL
-    public final void synpred317_InternalReportDSL_fragment() throws RecognitionException {   
-        // InternalReportDSL.g:29000:3: ( rule__XSwitchExpression__Group_2_1_0__0 )
-        // InternalReportDSL.g:29000:3: rule__XSwitchExpression__Group_2_1_0__0
+    // $ANTLR start synpred303_InternalReportDSL
+    public final void synpred303_InternalReportDSL_fragment() throws RecognitionException {   
+        // InternalReportDSL.g:28710:3: ( rule__XSwitchExpression__Group_2_1_0__0 )
+        // InternalReportDSL.g:28710:3: rule__XSwitchExpression__Group_2_1_0__0
         {
         pushFollow(FOLLOW_2);
         rule__XSwitchExpression__Group_2_1_0__0();
@@ -138745,12 +140360,12 @@
 
         }
     }
-    // $ANTLR end synpred317_InternalReportDSL
+    // $ANTLR end synpred303_InternalReportDSL
 
-    // $ANTLR start synpred330_InternalReportDSL
-    public final void synpred330_InternalReportDSL_fragment() throws RecognitionException {   
-        // InternalReportDSL.g:31133:3: ( rule__XFeatureCall__Group_3__0 )
-        // InternalReportDSL.g:31133:3: rule__XFeatureCall__Group_3__0
+    // $ANTLR start synpred316_InternalReportDSL
+    public final void synpred316_InternalReportDSL_fragment() throws RecognitionException {   
+        // InternalReportDSL.g:30843:3: ( rule__XFeatureCall__Group_3__0 )
+        // InternalReportDSL.g:30843:3: rule__XFeatureCall__Group_3__0
         {
         pushFollow(FOLLOW_2);
         rule__XFeatureCall__Group_3__0();
@@ -138760,117 +140375,117 @@
 
         }
     }
+    // $ANTLR end synpred316_InternalReportDSL
+
+    // $ANTLR start synpred317_InternalReportDSL
+    public final void synpred317_InternalReportDSL_fragment() throws RecognitionException {   
+        // InternalReportDSL.g:30869:3: ( rule__XFeatureCall__FeatureCallArgumentsAssignment_4 )
+        // InternalReportDSL.g:30869:3: rule__XFeatureCall__FeatureCallArgumentsAssignment_4
+        {
+        pushFollow(FOLLOW_2);
+        rule__XFeatureCall__FeatureCallArgumentsAssignment_4();
+
+        state._fsp--;
+        if (state.failed) return ;
+
+        }
+    }
+    // $ANTLR end synpred317_InternalReportDSL
+
+    // $ANTLR start synpred321_InternalReportDSL
+    public final void synpred321_InternalReportDSL_fragment() throws RecognitionException {   
+        // InternalReportDSL.g:31329:3: ( rule__XConstructorCall__Group_3__0 )
+        // InternalReportDSL.g:31329:3: rule__XConstructorCall__Group_3__0
+        {
+        pushFollow(FOLLOW_2);
+        rule__XConstructorCall__Group_3__0();
+
+        state._fsp--;
+        if (state.failed) return ;
+
+        }
+    }
+    // $ANTLR end synpred321_InternalReportDSL
+
+    // $ANTLR start synpred322_InternalReportDSL
+    public final void synpred322_InternalReportDSL_fragment() throws RecognitionException {   
+        // InternalReportDSL.g:31356:3: ( rule__XConstructorCall__Group_4__0 )
+        // InternalReportDSL.g:31356:3: rule__XConstructorCall__Group_4__0
+        {
+        pushFollow(FOLLOW_2);
+        rule__XConstructorCall__Group_4__0();
+
+        state._fsp--;
+        if (state.failed) return ;
+
+        }
+    }
+    // $ANTLR end synpred322_InternalReportDSL
+
+    // $ANTLR start synpred323_InternalReportDSL
+    public final void synpred323_InternalReportDSL_fragment() throws RecognitionException {   
+        // InternalReportDSL.g:31382:3: ( rule__XConstructorCall__ArgumentsAssignment_5 )
+        // InternalReportDSL.g:31382:3: rule__XConstructorCall__ArgumentsAssignment_5
+        {
+        pushFollow(FOLLOW_2);
+        rule__XConstructorCall__ArgumentsAssignment_5();
+
+        state._fsp--;
+        if (state.failed) return ;
+
+        }
+    }
+    // $ANTLR end synpred323_InternalReportDSL
+
+    // $ANTLR start synpred328_InternalReportDSL
+    public final void synpred328_InternalReportDSL_fragment() throws RecognitionException {   
+        // InternalReportDSL.g:32273:3: ( rule__XReturnExpression__ExpressionAssignment_2 )
+        // InternalReportDSL.g:32273:3: rule__XReturnExpression__ExpressionAssignment_2
+        {
+        pushFollow(FOLLOW_2);
+        rule__XReturnExpression__ExpressionAssignment_2();
+
+        state._fsp--;
+        if (state.failed) return ;
+
+        }
+    }
+    // $ANTLR end synpred328_InternalReportDSL
+
+    // $ANTLR start synpred329_InternalReportDSL
+    public final void synpred329_InternalReportDSL_fragment() throws RecognitionException {   
+        // InternalReportDSL.g:32415:4: ( rule__XTryCatchFinallyExpression__CatchClausesAssignment_3_0_0 )
+        // InternalReportDSL.g:32415:4: rule__XTryCatchFinallyExpression__CatchClausesAssignment_3_0_0
+        {
+        pushFollow(FOLLOW_2);
+        rule__XTryCatchFinallyExpression__CatchClausesAssignment_3_0_0();
+
+        state._fsp--;
+        if (state.failed) return ;
+
+        }
+    }
+    // $ANTLR end synpred329_InternalReportDSL
+
+    // $ANTLR start synpred330_InternalReportDSL
+    public final void synpred330_InternalReportDSL_fragment() throws RecognitionException {   
+        // InternalReportDSL.g:32442:3: ( rule__XTryCatchFinallyExpression__Group_3_0_1__0 )
+        // InternalReportDSL.g:32442:3: rule__XTryCatchFinallyExpression__Group_3_0_1__0
+        {
+        pushFollow(FOLLOW_2);
+        rule__XTryCatchFinallyExpression__Group_3_0_1__0();
+
+        state._fsp--;
+        if (state.failed) return ;
+
+        }
+    }
     // $ANTLR end synpred330_InternalReportDSL
 
     // $ANTLR start synpred331_InternalReportDSL
     public final void synpred331_InternalReportDSL_fragment() throws RecognitionException {   
-        // InternalReportDSL.g:31159:3: ( rule__XFeatureCall__FeatureCallArgumentsAssignment_4 )
-        // InternalReportDSL.g:31159:3: rule__XFeatureCall__FeatureCallArgumentsAssignment_4
-        {
-        pushFollow(FOLLOW_2);
-        rule__XFeatureCall__FeatureCallArgumentsAssignment_4();
-
-        state._fsp--;
-        if (state.failed) return ;
-
-        }
-    }
-    // $ANTLR end synpred331_InternalReportDSL
-
-    // $ANTLR start synpred335_InternalReportDSL
-    public final void synpred335_InternalReportDSL_fragment() throws RecognitionException {   
-        // InternalReportDSL.g:31619:3: ( rule__XConstructorCall__Group_3__0 )
-        // InternalReportDSL.g:31619:3: rule__XConstructorCall__Group_3__0
-        {
-        pushFollow(FOLLOW_2);
-        rule__XConstructorCall__Group_3__0();
-
-        state._fsp--;
-        if (state.failed) return ;
-
-        }
-    }
-    // $ANTLR end synpred335_InternalReportDSL
-
-    // $ANTLR start synpred336_InternalReportDSL
-    public final void synpred336_InternalReportDSL_fragment() throws RecognitionException {   
-        // InternalReportDSL.g:31646:3: ( rule__XConstructorCall__Group_4__0 )
-        // InternalReportDSL.g:31646:3: rule__XConstructorCall__Group_4__0
-        {
-        pushFollow(FOLLOW_2);
-        rule__XConstructorCall__Group_4__0();
-
-        state._fsp--;
-        if (state.failed) return ;
-
-        }
-    }
-    // $ANTLR end synpred336_InternalReportDSL
-
-    // $ANTLR start synpred337_InternalReportDSL
-    public final void synpred337_InternalReportDSL_fragment() throws RecognitionException {   
-        // InternalReportDSL.g:31672:3: ( rule__XConstructorCall__ArgumentsAssignment_5 )
-        // InternalReportDSL.g:31672:3: rule__XConstructorCall__ArgumentsAssignment_5
-        {
-        pushFollow(FOLLOW_2);
-        rule__XConstructorCall__ArgumentsAssignment_5();
-
-        state._fsp--;
-        if (state.failed) return ;
-
-        }
-    }
-    // $ANTLR end synpred337_InternalReportDSL
-
-    // $ANTLR start synpred342_InternalReportDSL
-    public final void synpred342_InternalReportDSL_fragment() throws RecognitionException {   
-        // InternalReportDSL.g:32563:3: ( rule__XReturnExpression__ExpressionAssignment_2 )
-        // InternalReportDSL.g:32563:3: rule__XReturnExpression__ExpressionAssignment_2
-        {
-        pushFollow(FOLLOW_2);
-        rule__XReturnExpression__ExpressionAssignment_2();
-
-        state._fsp--;
-        if (state.failed) return ;
-
-        }
-    }
-    // $ANTLR end synpred342_InternalReportDSL
-
-    // $ANTLR start synpred343_InternalReportDSL
-    public final void synpred343_InternalReportDSL_fragment() throws RecognitionException {   
-        // InternalReportDSL.g:32705:4: ( rule__XTryCatchFinallyExpression__CatchClausesAssignment_3_0_0 )
-        // InternalReportDSL.g:32705:4: rule__XTryCatchFinallyExpression__CatchClausesAssignment_3_0_0
-        {
-        pushFollow(FOLLOW_2);
-        rule__XTryCatchFinallyExpression__CatchClausesAssignment_3_0_0();
-
-        state._fsp--;
-        if (state.failed) return ;
-
-        }
-    }
-    // $ANTLR end synpred343_InternalReportDSL
-
-    // $ANTLR start synpred344_InternalReportDSL
-    public final void synpred344_InternalReportDSL_fragment() throws RecognitionException {   
-        // InternalReportDSL.g:32732:3: ( rule__XTryCatchFinallyExpression__Group_3_0_1__0 )
-        // InternalReportDSL.g:32732:3: rule__XTryCatchFinallyExpression__Group_3_0_1__0
-        {
-        pushFollow(FOLLOW_2);
-        rule__XTryCatchFinallyExpression__Group_3_0_1__0();
-
-        state._fsp--;
-        if (state.failed) return ;
-
-        }
-    }
-    // $ANTLR end synpred344_InternalReportDSL
-
-    // $ANTLR start synpred345_InternalReportDSL
-    public final void synpred345_InternalReportDSL_fragment() throws RecognitionException {   
-        // InternalReportDSL.g:33245:3: ( rule__QualifiedName__Group_1__0 )
-        // InternalReportDSL.g:33245:3: rule__QualifiedName__Group_1__0
+        // InternalReportDSL.g:32955:3: ( rule__QualifiedName__Group_1__0 )
+        // InternalReportDSL.g:32955:3: rule__QualifiedName__Group_1__0
         {
         pushFollow(FOLLOW_2);
         rule__QualifiedName__Group_1__0();
@@ -138880,12 +140495,12 @@
 
         }
     }
-    // $ANTLR end synpred345_InternalReportDSL
+    // $ANTLR end synpred331_InternalReportDSL
 
-    // $ANTLR start synpred347_InternalReportDSL
-    public final void synpred347_InternalReportDSL_fragment() throws RecognitionException {   
-        // InternalReportDSL.g:33461:3: ( rule__JvmTypeReference__Group_0_1__0 )
-        // InternalReportDSL.g:33461:3: rule__JvmTypeReference__Group_0_1__0
+    // $ANTLR start synpred333_InternalReportDSL
+    public final void synpred333_InternalReportDSL_fragment() throws RecognitionException {   
+        // InternalReportDSL.g:33171:3: ( rule__JvmTypeReference__Group_0_1__0 )
+        // InternalReportDSL.g:33171:3: rule__JvmTypeReference__Group_0_1__0
         {
         pushFollow(FOLLOW_2);
         rule__JvmTypeReference__Group_0_1__0();
@@ -138895,12 +140510,12 @@
 
         }
     }
-    // $ANTLR end synpred347_InternalReportDSL
+    // $ANTLR end synpred333_InternalReportDSL
 
-    // $ANTLR start synpred351_InternalReportDSL
-    public final void synpred351_InternalReportDSL_fragment() throws RecognitionException {   
-        // InternalReportDSL.g:33920:3: ( rule__JvmParameterizedTypeReference__Group_1__0 )
-        // InternalReportDSL.g:33920:3: rule__JvmParameterizedTypeReference__Group_1__0
+    // $ANTLR start synpred337_InternalReportDSL
+    public final void synpred337_InternalReportDSL_fragment() throws RecognitionException {   
+        // InternalReportDSL.g:33630:3: ( rule__JvmParameterizedTypeReference__Group_1__0 )
+        // InternalReportDSL.g:33630:3: rule__JvmParameterizedTypeReference__Group_1__0
         {
         pushFollow(FOLLOW_2);
         rule__JvmParameterizedTypeReference__Group_1__0();
@@ -138910,12 +140525,12 @@
 
         }
     }
-    // $ANTLR end synpred351_InternalReportDSL
+    // $ANTLR end synpred337_InternalReportDSL
 
-    // $ANTLR start synpred353_InternalReportDSL
-    public final void synpred353_InternalReportDSL_fragment() throws RecognitionException {   
-        // InternalReportDSL.g:34055:3: ( rule__JvmParameterizedTypeReference__Group_1_4__0 )
-        // InternalReportDSL.g:34055:3: rule__JvmParameterizedTypeReference__Group_1_4__0
+    // $ANTLR start synpred339_InternalReportDSL
+    public final void synpred339_InternalReportDSL_fragment() throws RecognitionException {   
+        // InternalReportDSL.g:33765:3: ( rule__JvmParameterizedTypeReference__Group_1_4__0 )
+        // InternalReportDSL.g:33765:3: rule__JvmParameterizedTypeReference__Group_1_4__0
         {
         pushFollow(FOLLOW_2);
         rule__JvmParameterizedTypeReference__Group_1_4__0();
@@ -138925,12 +140540,12 @@
 
         }
     }
-    // $ANTLR end synpred353_InternalReportDSL
+    // $ANTLR end synpred339_InternalReportDSL
 
-    // $ANTLR start synpred354_InternalReportDSL
-    public final void synpred354_InternalReportDSL_fragment() throws RecognitionException {   
-        // InternalReportDSL.g:34190:3: ( rule__JvmParameterizedTypeReference__Group_1_4_2__0 )
-        // InternalReportDSL.g:34190:3: rule__JvmParameterizedTypeReference__Group_1_4_2__0
+    // $ANTLR start synpred340_InternalReportDSL
+    public final void synpred340_InternalReportDSL_fragment() throws RecognitionException {   
+        // InternalReportDSL.g:33900:3: ( rule__JvmParameterizedTypeReference__Group_1_4_2__0 )
+        // InternalReportDSL.g:33900:3: rule__JvmParameterizedTypeReference__Group_1_4_2__0
         {
         pushFollow(FOLLOW_2);
         rule__JvmParameterizedTypeReference__Group_1_4_2__0();
@@ -138940,12 +140555,12 @@
 
         }
     }
-    // $ANTLR end synpred354_InternalReportDSL
+    // $ANTLR end synpred340_InternalReportDSL
 
-    // $ANTLR start synpred359_InternalReportDSL
-    public final void synpred359_InternalReportDSL_fragment() throws RecognitionException {   
-        // InternalReportDSL.g:34988:2: ( rule__Font__UnorderedGroup_4__0 )
-        // InternalReportDSL.g:34988:2: rule__Font__UnorderedGroup_4__0
+    // $ANTLR start synpred345_InternalReportDSL
+    public final void synpred345_InternalReportDSL_fragment() throws RecognitionException {   
+        // InternalReportDSL.g:34698:2: ( rule__Font__UnorderedGroup_4__0 )
+        // InternalReportDSL.g:34698:2: rule__Font__UnorderedGroup_4__0
         {
         pushFollow(FOLLOW_2);
         rule__Font__UnorderedGroup_4__0();
@@ -138955,32 +140570,32 @@
 
         }
     }
-    // $ANTLR end synpred359_InternalReportDSL
+    // $ANTLR end synpred345_InternalReportDSL
 
-    // $ANTLR start synpred360_InternalReportDSL
-    public final void synpred360_InternalReportDSL_fragment() throws RecognitionException {   
-        // InternalReportDSL.g:35003:3: ( ({...}? => ( ( ( rule__Font__Group_4_0__0 ) ) ) ) )
-        // InternalReportDSL.g:35003:3: ({...}? => ( ( ( rule__Font__Group_4_0__0 ) ) ) )
+    // $ANTLR start synpred346_InternalReportDSL
+    public final void synpred346_InternalReportDSL_fragment() throws RecognitionException {   
+        // InternalReportDSL.g:34713:3: ( ({...}? => ( ( ( rule__Font__Group_4_0__0 ) ) ) ) )
+        // InternalReportDSL.g:34713:3: ({...}? => ( ( ( rule__Font__Group_4_0__0 ) ) ) )
         {
-        // InternalReportDSL.g:35003:3: ({...}? => ( ( ( rule__Font__Group_4_0__0 ) ) ) )
-        // InternalReportDSL.g:35004:4: {...}? => ( ( ( rule__Font__Group_4_0__0 ) ) )
+        // InternalReportDSL.g:34713:3: ({...}? => ( ( ( rule__Font__Group_4_0__0 ) ) ) )
+        // InternalReportDSL.g:34714:4: {...}? => ( ( ( rule__Font__Group_4_0__0 ) ) )
         {
         if ( ! getUnorderedGroupHelper().canSelect(grammarAccess.getFontAccess().getUnorderedGroup_4(), 0) ) {
             if (state.backtracking>0) {state.failed=true; return ;}
-            throw new FailedPredicateException(input, "synpred360_InternalReportDSL", "getUnorderedGroupHelper().canSelect(grammarAccess.getFontAccess().getUnorderedGroup_4(), 0)");
+            throw new FailedPredicateException(input, "synpred346_InternalReportDSL", "getUnorderedGroupHelper().canSelect(grammarAccess.getFontAccess().getUnorderedGroup_4(), 0)");
         }
-        // InternalReportDSL.g:35004:100: ( ( ( rule__Font__Group_4_0__0 ) ) )
-        // InternalReportDSL.g:35005:5: ( ( rule__Font__Group_4_0__0 ) )
+        // InternalReportDSL.g:34714:100: ( ( ( rule__Font__Group_4_0__0 ) ) )
+        // InternalReportDSL.g:34715:5: ( ( rule__Font__Group_4_0__0 ) )
         {
         getUnorderedGroupHelper().select(grammarAccess.getFontAccess().getUnorderedGroup_4(), 0);
-        // InternalReportDSL.g:35011:5: ( ( rule__Font__Group_4_0__0 ) )
-        // InternalReportDSL.g:35012:6: ( rule__Font__Group_4_0__0 )
+        // InternalReportDSL.g:34721:5: ( ( rule__Font__Group_4_0__0 ) )
+        // InternalReportDSL.g:34722:6: ( rule__Font__Group_4_0__0 )
         {
         if ( state.backtracking==0 ) {
            before(grammarAccess.getFontAccess().getGroup_4_0()); 
         }
-        // InternalReportDSL.g:35013:6: ( rule__Font__Group_4_0__0 )
-        // InternalReportDSL.g:35013:7: rule__Font__Group_4_0__0
+        // InternalReportDSL.g:34723:6: ( rule__Font__Group_4_0__0 )
+        // InternalReportDSL.g:34723:7: rule__Font__Group_4_0__0
         {
         pushFollow(FOLLOW_2);
         rule__Font__Group_4_0__0();
@@ -139002,35 +140617,565 @@
 
         }
     }
+    // $ANTLR end synpred346_InternalReportDSL
+
+    // $ANTLR start synpred347_InternalReportDSL
+    public final void synpred347_InternalReportDSL_fragment() throws RecognitionException {   
+        // InternalReportDSL.g:34728:3: ( ({...}? => ( ( ( rule__Font__StyleAssignment_4_1 ) ) ) ) )
+        // InternalReportDSL.g:34728:3: ({...}? => ( ( ( rule__Font__StyleAssignment_4_1 ) ) ) )
+        {
+        // InternalReportDSL.g:34728:3: ({...}? => ( ( ( rule__Font__StyleAssignment_4_1 ) ) ) )
+        // InternalReportDSL.g:34729:4: {...}? => ( ( ( rule__Font__StyleAssignment_4_1 ) ) )
+        {
+        if ( ! getUnorderedGroupHelper().canSelect(grammarAccess.getFontAccess().getUnorderedGroup_4(), 1) ) {
+            if (state.backtracking>0) {state.failed=true; return ;}
+            throw new FailedPredicateException(input, "synpred347_InternalReportDSL", "getUnorderedGroupHelper().canSelect(grammarAccess.getFontAccess().getUnorderedGroup_4(), 1)");
+        }
+        // InternalReportDSL.g:34729:100: ( ( ( rule__Font__StyleAssignment_4_1 ) ) )
+        // InternalReportDSL.g:34730:5: ( ( rule__Font__StyleAssignment_4_1 ) )
+        {
+        getUnorderedGroupHelper().select(grammarAccess.getFontAccess().getUnorderedGroup_4(), 1);
+        // InternalReportDSL.g:34736:5: ( ( rule__Font__StyleAssignment_4_1 ) )
+        // InternalReportDSL.g:34737:6: ( rule__Font__StyleAssignment_4_1 )
+        {
+        if ( state.backtracking==0 ) {
+           before(grammarAccess.getFontAccess().getStyleAssignment_4_1()); 
+        }
+        // InternalReportDSL.g:34738:6: ( rule__Font__StyleAssignment_4_1 )
+        // InternalReportDSL.g:34738:7: rule__Font__StyleAssignment_4_1
+        {
+        pushFollow(FOLLOW_2);
+        rule__Font__StyleAssignment_4_1();
+
+        state._fsp--;
+        if (state.failed) return ;
+
+        }
+
+
+        }
+
+
+        }
+
+
+        }
+
+
+        }
+    }
+    // $ANTLR end synpred347_InternalReportDSL
+
+    // $ANTLR start synpred348_InternalReportDSL
+    public final void synpred348_InternalReportDSL_fragment() throws RecognitionException {   
+        // InternalReportDSL.g:34743:3: ( ({...}? => ( ( ( rule__Font__BoldAssignment_4_2 ) ) ) ) )
+        // InternalReportDSL.g:34743:3: ({...}? => ( ( ( rule__Font__BoldAssignment_4_2 ) ) ) )
+        {
+        // InternalReportDSL.g:34743:3: ({...}? => ( ( ( rule__Font__BoldAssignment_4_2 ) ) ) )
+        // InternalReportDSL.g:34744:4: {...}? => ( ( ( rule__Font__BoldAssignment_4_2 ) ) )
+        {
+        if ( ! getUnorderedGroupHelper().canSelect(grammarAccess.getFontAccess().getUnorderedGroup_4(), 2) ) {
+            if (state.backtracking>0) {state.failed=true; return ;}
+            throw new FailedPredicateException(input, "synpred348_InternalReportDSL", "getUnorderedGroupHelper().canSelect(grammarAccess.getFontAccess().getUnorderedGroup_4(), 2)");
+        }
+        // InternalReportDSL.g:34744:100: ( ( ( rule__Font__BoldAssignment_4_2 ) ) )
+        // InternalReportDSL.g:34745:5: ( ( rule__Font__BoldAssignment_4_2 ) )
+        {
+        getUnorderedGroupHelper().select(grammarAccess.getFontAccess().getUnorderedGroup_4(), 2);
+        // InternalReportDSL.g:34751:5: ( ( rule__Font__BoldAssignment_4_2 ) )
+        // InternalReportDSL.g:34752:6: ( rule__Font__BoldAssignment_4_2 )
+        {
+        if ( state.backtracking==0 ) {
+           before(grammarAccess.getFontAccess().getBoldAssignment_4_2()); 
+        }
+        // InternalReportDSL.g:34753:6: ( rule__Font__BoldAssignment_4_2 )
+        // InternalReportDSL.g:34753:7: rule__Font__BoldAssignment_4_2
+        {
+        pushFollow(FOLLOW_2);
+        rule__Font__BoldAssignment_4_2();
+
+        state._fsp--;
+        if (state.failed) return ;
+
+        }
+
+
+        }
+
+
+        }
+
+
+        }
+
+
+        }
+    }
+    // $ANTLR end synpred348_InternalReportDSL
+
+    // $ANTLR start synpred349_InternalReportDSL
+    public final void synpred349_InternalReportDSL_fragment() throws RecognitionException {   
+        // InternalReportDSL.g:34787:2: ( rule__Font__UnorderedGroup_4__1 )
+        // InternalReportDSL.g:34787:2: rule__Font__UnorderedGroup_4__1
+        {
+        pushFollow(FOLLOW_2);
+        rule__Font__UnorderedGroup_4__1();
+
+        state._fsp--;
+        if (state.failed) return ;
+
+        }
+    }
+    // $ANTLR end synpred349_InternalReportDSL
+
+    // $ANTLR start synpred350_InternalReportDSL
+    public final void synpred350_InternalReportDSL_fragment() throws RecognitionException {   
+        // InternalReportDSL.g:34799:2: ( rule__Font__UnorderedGroup_4__2 )
+        // InternalReportDSL.g:34799:2: rule__Font__UnorderedGroup_4__2
+        {
+        pushFollow(FOLLOW_2);
+        rule__Font__UnorderedGroup_4__2();
+
+        state._fsp--;
+        if (state.failed) return ;
+
+        }
+    }
+    // $ANTLR end synpred350_InternalReportDSL
+
+    // $ANTLR start synpred351_InternalReportDSL
+    public final void synpred351_InternalReportDSL_fragment() throws RecognitionException {   
+        // InternalReportDSL.g:34811:2: ( rule__Font__UnorderedGroup_4__3 )
+        // InternalReportDSL.g:34811:2: rule__Font__UnorderedGroup_4__3
+        {
+        pushFollow(FOLLOW_2);
+        rule__Font__UnorderedGroup_4__3();
+
+        state._fsp--;
+        if (state.failed) return ;
+
+        }
+    }
+    // $ANTLR end synpred351_InternalReportDSL
+
+    // $ANTLR start synpred352_InternalReportDSL
+    public final void synpred352_InternalReportDSL_fragment() throws RecognitionException {   
+        // InternalReportDSL.g:34835:2: ( rule__Style__UnorderedGroup_4__0 )
+        // InternalReportDSL.g:34835:2: rule__Style__UnorderedGroup_4__0
+        {
+        pushFollow(FOLLOW_2);
+        rule__Style__UnorderedGroup_4__0();
+
+        state._fsp--;
+        if (state.failed) return ;
+
+        }
+    }
+    // $ANTLR end synpred352_InternalReportDSL
+
+    // $ANTLR start synpred353_InternalReportDSL
+    public final void synpred353_InternalReportDSL_fragment() throws RecognitionException {   
+        // InternalReportDSL.g:34850:3: ( ({...}? => ( ( ( rule__Style__Group_4_0__0 ) ) ) ) )
+        // InternalReportDSL.g:34850:3: ({...}? => ( ( ( rule__Style__Group_4_0__0 ) ) ) )
+        {
+        // InternalReportDSL.g:34850:3: ({...}? => ( ( ( rule__Style__Group_4_0__0 ) ) ) )
+        // InternalReportDSL.g:34851:4: {...}? => ( ( ( rule__Style__Group_4_0__0 ) ) )
+        {
+        if ( ! getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 0) ) {
+            if (state.backtracking>0) {state.failed=true; return ;}
+            throw new FailedPredicateException(input, "synpred353_InternalReportDSL", "getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 0)");
+        }
+        // InternalReportDSL.g:34851:101: ( ( ( rule__Style__Group_4_0__0 ) ) )
+        // InternalReportDSL.g:34852:5: ( ( rule__Style__Group_4_0__0 ) )
+        {
+        getUnorderedGroupHelper().select(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 0);
+        // InternalReportDSL.g:34858:5: ( ( rule__Style__Group_4_0__0 ) )
+        // InternalReportDSL.g:34859:6: ( rule__Style__Group_4_0__0 )
+        {
+        if ( state.backtracking==0 ) {
+           before(grammarAccess.getStyleAccess().getGroup_4_0()); 
+        }
+        // InternalReportDSL.g:34860:6: ( rule__Style__Group_4_0__0 )
+        // InternalReportDSL.g:34860:7: rule__Style__Group_4_0__0
+        {
+        pushFollow(FOLLOW_2);
+        rule__Style__Group_4_0__0();
+
+        state._fsp--;
+        if (state.failed) return ;
+
+        }
+
+
+        }
+
+
+        }
+
+
+        }
+
+
+        }
+    }
+    // $ANTLR end synpred353_InternalReportDSL
+
+    // $ANTLR start synpred354_InternalReportDSL
+    public final void synpred354_InternalReportDSL_fragment() throws RecognitionException {   
+        // InternalReportDSL.g:34865:3: ( ({...}? => ( ( ( rule__Style__Group_4_1__0 ) ) ) ) )
+        // InternalReportDSL.g:34865:3: ({...}? => ( ( ( rule__Style__Group_4_1__0 ) ) ) )
+        {
+        // InternalReportDSL.g:34865:3: ({...}? => ( ( ( rule__Style__Group_4_1__0 ) ) ) )
+        // InternalReportDSL.g:34866:4: {...}? => ( ( ( rule__Style__Group_4_1__0 ) ) )
+        {
+        if ( ! getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 1) ) {
+            if (state.backtracking>0) {state.failed=true; return ;}
+            throw new FailedPredicateException(input, "synpred354_InternalReportDSL", "getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 1)");
+        }
+        // InternalReportDSL.g:34866:101: ( ( ( rule__Style__Group_4_1__0 ) ) )
+        // InternalReportDSL.g:34867:5: ( ( rule__Style__Group_4_1__0 ) )
+        {
+        getUnorderedGroupHelper().select(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 1);
+        // InternalReportDSL.g:34873:5: ( ( rule__Style__Group_4_1__0 ) )
+        // InternalReportDSL.g:34874:6: ( rule__Style__Group_4_1__0 )
+        {
+        if ( state.backtracking==0 ) {
+           before(grammarAccess.getStyleAccess().getGroup_4_1()); 
+        }
+        // InternalReportDSL.g:34875:6: ( rule__Style__Group_4_1__0 )
+        // InternalReportDSL.g:34875:7: rule__Style__Group_4_1__0
+        {
+        pushFollow(FOLLOW_2);
+        rule__Style__Group_4_1__0();
+
+        state._fsp--;
+        if (state.failed) return ;
+
+        }
+
+
+        }
+
+
+        }
+
+
+        }
+
+
+        }
+    }
+    // $ANTLR end synpred354_InternalReportDSL
+
+    // $ANTLR start synpred355_InternalReportDSL
+    public final void synpred355_InternalReportDSL_fragment() throws RecognitionException {   
+        // InternalReportDSL.g:34880:3: ( ({...}? => ( ( ( rule__Style__Group_4_2__0 ) ) ) ) )
+        // InternalReportDSL.g:34880:3: ({...}? => ( ( ( rule__Style__Group_4_2__0 ) ) ) )
+        {
+        // InternalReportDSL.g:34880:3: ({...}? => ( ( ( rule__Style__Group_4_2__0 ) ) ) )
+        // InternalReportDSL.g:34881:4: {...}? => ( ( ( rule__Style__Group_4_2__0 ) ) )
+        {
+        if ( ! getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 2) ) {
+            if (state.backtracking>0) {state.failed=true; return ;}
+            throw new FailedPredicateException(input, "synpred355_InternalReportDSL", "getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 2)");
+        }
+        // InternalReportDSL.g:34881:101: ( ( ( rule__Style__Group_4_2__0 ) ) )
+        // InternalReportDSL.g:34882:5: ( ( rule__Style__Group_4_2__0 ) )
+        {
+        getUnorderedGroupHelper().select(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 2);
+        // InternalReportDSL.g:34888:5: ( ( rule__Style__Group_4_2__0 ) )
+        // InternalReportDSL.g:34889:6: ( rule__Style__Group_4_2__0 )
+        {
+        if ( state.backtracking==0 ) {
+           before(grammarAccess.getStyleAccess().getGroup_4_2()); 
+        }
+        // InternalReportDSL.g:34890:6: ( rule__Style__Group_4_2__0 )
+        // InternalReportDSL.g:34890:7: rule__Style__Group_4_2__0
+        {
+        pushFollow(FOLLOW_2);
+        rule__Style__Group_4_2__0();
+
+        state._fsp--;
+        if (state.failed) return ;
+
+        }
+
+
+        }
+
+
+        }
+
+
+        }
+
+
+        }
+    }
+    // $ANTLR end synpred355_InternalReportDSL
+
+    // $ANTLR start synpred356_InternalReportDSL
+    public final void synpred356_InternalReportDSL_fragment() throws RecognitionException {   
+        // InternalReportDSL.g:34895:3: ( ({...}? => ( ( ( rule__Style__Group_4_3__0 ) ) ) ) )
+        // InternalReportDSL.g:34895:3: ({...}? => ( ( ( rule__Style__Group_4_3__0 ) ) ) )
+        {
+        // InternalReportDSL.g:34895:3: ({...}? => ( ( ( rule__Style__Group_4_3__0 ) ) ) )
+        // InternalReportDSL.g:34896:4: {...}? => ( ( ( rule__Style__Group_4_3__0 ) ) )
+        {
+        if ( ! getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 3) ) {
+            if (state.backtracking>0) {state.failed=true; return ;}
+            throw new FailedPredicateException(input, "synpred356_InternalReportDSL", "getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 3)");
+        }
+        // InternalReportDSL.g:34896:101: ( ( ( rule__Style__Group_4_3__0 ) ) )
+        // InternalReportDSL.g:34897:5: ( ( rule__Style__Group_4_3__0 ) )
+        {
+        getUnorderedGroupHelper().select(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 3);
+        // InternalReportDSL.g:34903:5: ( ( rule__Style__Group_4_3__0 ) )
+        // InternalReportDSL.g:34904:6: ( rule__Style__Group_4_3__0 )
+        {
+        if ( state.backtracking==0 ) {
+           before(grammarAccess.getStyleAccess().getGroup_4_3()); 
+        }
+        // InternalReportDSL.g:34905:6: ( rule__Style__Group_4_3__0 )
+        // InternalReportDSL.g:34905:7: rule__Style__Group_4_3__0
+        {
+        pushFollow(FOLLOW_2);
+        rule__Style__Group_4_3__0();
+
+        state._fsp--;
+        if (state.failed) return ;
+
+        }
+
+
+        }
+
+
+        }
+
+
+        }
+
+
+        }
+    }
+    // $ANTLR end synpred356_InternalReportDSL
+
+    // $ANTLR start synpred357_InternalReportDSL
+    public final void synpred357_InternalReportDSL_fragment() throws RecognitionException {   
+        // InternalReportDSL.g:34910:3: ( ({...}? => ( ( ( rule__Style__Group_4_4__0 ) ) ) ) )
+        // InternalReportDSL.g:34910:3: ({...}? => ( ( ( rule__Style__Group_4_4__0 ) ) ) )
+        {
+        // InternalReportDSL.g:34910:3: ({...}? => ( ( ( rule__Style__Group_4_4__0 ) ) ) )
+        // InternalReportDSL.g:34911:4: {...}? => ( ( ( rule__Style__Group_4_4__0 ) ) )
+        {
+        if ( ! getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 4) ) {
+            if (state.backtracking>0) {state.failed=true; return ;}
+            throw new FailedPredicateException(input, "synpred357_InternalReportDSL", "getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 4)");
+        }
+        // InternalReportDSL.g:34911:101: ( ( ( rule__Style__Group_4_4__0 ) ) )
+        // InternalReportDSL.g:34912:5: ( ( rule__Style__Group_4_4__0 ) )
+        {
+        getUnorderedGroupHelper().select(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 4);
+        // InternalReportDSL.g:34918:5: ( ( rule__Style__Group_4_4__0 ) )
+        // InternalReportDSL.g:34919:6: ( rule__Style__Group_4_4__0 )
+        {
+        if ( state.backtracking==0 ) {
+           before(grammarAccess.getStyleAccess().getGroup_4_4()); 
+        }
+        // InternalReportDSL.g:34920:6: ( rule__Style__Group_4_4__0 )
+        // InternalReportDSL.g:34920:7: rule__Style__Group_4_4__0
+        {
+        pushFollow(FOLLOW_2);
+        rule__Style__Group_4_4__0();
+
+        state._fsp--;
+        if (state.failed) return ;
+
+        }
+
+
+        }
+
+
+        }
+
+
+        }
+
+
+        }
+    }
+    // $ANTLR end synpred357_InternalReportDSL
+
+    // $ANTLR start synpred358_InternalReportDSL
+    public final void synpred358_InternalReportDSL_fragment() throws RecognitionException {   
+        // InternalReportDSL.g:34925:3: ( ({...}? => ( ( ( rule__Style__Group_4_5__0 ) ) ) ) )
+        // InternalReportDSL.g:34925:3: ({...}? => ( ( ( rule__Style__Group_4_5__0 ) ) ) )
+        {
+        // InternalReportDSL.g:34925:3: ({...}? => ( ( ( rule__Style__Group_4_5__0 ) ) ) )
+        // InternalReportDSL.g:34926:4: {...}? => ( ( ( rule__Style__Group_4_5__0 ) ) )
+        {
+        if ( ! getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 5) ) {
+            if (state.backtracking>0) {state.failed=true; return ;}
+            throw new FailedPredicateException(input, "synpred358_InternalReportDSL", "getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 5)");
+        }
+        // InternalReportDSL.g:34926:101: ( ( ( rule__Style__Group_4_5__0 ) ) )
+        // InternalReportDSL.g:34927:5: ( ( rule__Style__Group_4_5__0 ) )
+        {
+        getUnorderedGroupHelper().select(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 5);
+        // InternalReportDSL.g:34933:5: ( ( rule__Style__Group_4_5__0 ) )
+        // InternalReportDSL.g:34934:6: ( rule__Style__Group_4_5__0 )
+        {
+        if ( state.backtracking==0 ) {
+           before(grammarAccess.getStyleAccess().getGroup_4_5()); 
+        }
+        // InternalReportDSL.g:34935:6: ( rule__Style__Group_4_5__0 )
+        // InternalReportDSL.g:34935:7: rule__Style__Group_4_5__0
+        {
+        pushFollow(FOLLOW_2);
+        rule__Style__Group_4_5__0();
+
+        state._fsp--;
+        if (state.failed) return ;
+
+        }
+
+
+        }
+
+
+        }
+
+
+        }
+
+
+        }
+    }
+    // $ANTLR end synpred358_InternalReportDSL
+
+    // $ANTLR start synpred359_InternalReportDSL
+    public final void synpred359_InternalReportDSL_fragment() throws RecognitionException {   
+        // InternalReportDSL.g:34940:3: ( ({...}? => ( ( ( rule__Style__Group_4_6__0 ) ) ) ) )
+        // InternalReportDSL.g:34940:3: ({...}? => ( ( ( rule__Style__Group_4_6__0 ) ) ) )
+        {
+        // InternalReportDSL.g:34940:3: ({...}? => ( ( ( rule__Style__Group_4_6__0 ) ) ) )
+        // InternalReportDSL.g:34941:4: {...}? => ( ( ( rule__Style__Group_4_6__0 ) ) )
+        {
+        if ( ! getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 6) ) {
+            if (state.backtracking>0) {state.failed=true; return ;}
+            throw new FailedPredicateException(input, "synpred359_InternalReportDSL", "getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 6)");
+        }
+        // InternalReportDSL.g:34941:101: ( ( ( rule__Style__Group_4_6__0 ) ) )
+        // InternalReportDSL.g:34942:5: ( ( rule__Style__Group_4_6__0 ) )
+        {
+        getUnorderedGroupHelper().select(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 6);
+        // InternalReportDSL.g:34948:5: ( ( rule__Style__Group_4_6__0 ) )
+        // InternalReportDSL.g:34949:6: ( rule__Style__Group_4_6__0 )
+        {
+        if ( state.backtracking==0 ) {
+           before(grammarAccess.getStyleAccess().getGroup_4_6()); 
+        }
+        // InternalReportDSL.g:34950:6: ( rule__Style__Group_4_6__0 )
+        // InternalReportDSL.g:34950:7: rule__Style__Group_4_6__0
+        {
+        pushFollow(FOLLOW_2);
+        rule__Style__Group_4_6__0();
+
+        state._fsp--;
+        if (state.failed) return ;
+
+        }
+
+
+        }
+
+
+        }
+
+
+        }
+
+
+        }
+    }
+    // $ANTLR end synpred359_InternalReportDSL
+
+    // $ANTLR start synpred360_InternalReportDSL
+    public final void synpred360_InternalReportDSL_fragment() throws RecognitionException {   
+        // InternalReportDSL.g:34955:3: ( ({...}? => ( ( ( rule__Style__Group_4_7__0 ) ) ) ) )
+        // InternalReportDSL.g:34955:3: ({...}? => ( ( ( rule__Style__Group_4_7__0 ) ) ) )
+        {
+        // InternalReportDSL.g:34955:3: ({...}? => ( ( ( rule__Style__Group_4_7__0 ) ) ) )
+        // InternalReportDSL.g:34956:4: {...}? => ( ( ( rule__Style__Group_4_7__0 ) ) )
+        {
+        if ( ! getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 7) ) {
+            if (state.backtracking>0) {state.failed=true; return ;}
+            throw new FailedPredicateException(input, "synpred360_InternalReportDSL", "getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 7)");
+        }
+        // InternalReportDSL.g:34956:101: ( ( ( rule__Style__Group_4_7__0 ) ) )
+        // InternalReportDSL.g:34957:5: ( ( rule__Style__Group_4_7__0 ) )
+        {
+        getUnorderedGroupHelper().select(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 7);
+        // InternalReportDSL.g:34963:5: ( ( rule__Style__Group_4_7__0 ) )
+        // InternalReportDSL.g:34964:6: ( rule__Style__Group_4_7__0 )
+        {
+        if ( state.backtracking==0 ) {
+           before(grammarAccess.getStyleAccess().getGroup_4_7()); 
+        }
+        // InternalReportDSL.g:34965:6: ( rule__Style__Group_4_7__0 )
+        // InternalReportDSL.g:34965:7: rule__Style__Group_4_7__0
+        {
+        pushFollow(FOLLOW_2);
+        rule__Style__Group_4_7__0();
+
+        state._fsp--;
+        if (state.failed) return ;
+
+        }
+
+
+        }
+
+
+        }
+
+
+        }
+
+
+        }
+    }
     // $ANTLR end synpred360_InternalReportDSL
 
     // $ANTLR start synpred361_InternalReportDSL
     public final void synpred361_InternalReportDSL_fragment() throws RecognitionException {   
-        // InternalReportDSL.g:35018:3: ( ({...}? => ( ( ( rule__Font__StyleAssignment_4_1 ) ) ) ) )
-        // InternalReportDSL.g:35018:3: ({...}? => ( ( ( rule__Font__StyleAssignment_4_1 ) ) ) )
+        // InternalReportDSL.g:34970:3: ( ({...}? => ( ( ( rule__Style__Group_4_8__0 ) ) ) ) )
+        // InternalReportDSL.g:34970:3: ({...}? => ( ( ( rule__Style__Group_4_8__0 ) ) ) )
         {
-        // InternalReportDSL.g:35018:3: ({...}? => ( ( ( rule__Font__StyleAssignment_4_1 ) ) ) )
-        // InternalReportDSL.g:35019:4: {...}? => ( ( ( rule__Font__StyleAssignment_4_1 ) ) )
+        // InternalReportDSL.g:34970:3: ({...}? => ( ( ( rule__Style__Group_4_8__0 ) ) ) )
+        // InternalReportDSL.g:34971:4: {...}? => ( ( ( rule__Style__Group_4_8__0 ) ) )
         {
-        if ( ! getUnorderedGroupHelper().canSelect(grammarAccess.getFontAccess().getUnorderedGroup_4(), 1) ) {
+        if ( ! getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 8) ) {
             if (state.backtracking>0) {state.failed=true; return ;}
-            throw new FailedPredicateException(input, "synpred361_InternalReportDSL", "getUnorderedGroupHelper().canSelect(grammarAccess.getFontAccess().getUnorderedGroup_4(), 1)");
+            throw new FailedPredicateException(input, "synpred361_InternalReportDSL", "getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 8)");
         }
-        // InternalReportDSL.g:35019:100: ( ( ( rule__Font__StyleAssignment_4_1 ) ) )
-        // InternalReportDSL.g:35020:5: ( ( rule__Font__StyleAssignment_4_1 ) )
+        // InternalReportDSL.g:34971:101: ( ( ( rule__Style__Group_4_8__0 ) ) )
+        // InternalReportDSL.g:34972:5: ( ( rule__Style__Group_4_8__0 ) )
         {
-        getUnorderedGroupHelper().select(grammarAccess.getFontAccess().getUnorderedGroup_4(), 1);
-        // InternalReportDSL.g:35026:5: ( ( rule__Font__StyleAssignment_4_1 ) )
-        // InternalReportDSL.g:35027:6: ( rule__Font__StyleAssignment_4_1 )
+        getUnorderedGroupHelper().select(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 8);
+        // InternalReportDSL.g:34978:5: ( ( rule__Style__Group_4_8__0 ) )
+        // InternalReportDSL.g:34979:6: ( rule__Style__Group_4_8__0 )
         {
         if ( state.backtracking==0 ) {
-           before(grammarAccess.getFontAccess().getStyleAssignment_4_1()); 
+           before(grammarAccess.getStyleAccess().getGroup_4_8()); 
         }
-        // InternalReportDSL.g:35028:6: ( rule__Font__StyleAssignment_4_1 )
-        // InternalReportDSL.g:35028:7: rule__Font__StyleAssignment_4_1
+        // InternalReportDSL.g:34980:6: ( rule__Style__Group_4_8__0 )
+        // InternalReportDSL.g:34980:7: rule__Style__Group_4_8__0
         {
         pushFollow(FOLLOW_2);
-        rule__Font__StyleAssignment_4_1();
+        rule__Style__Group_4_8__0();
 
         state._fsp--;
         if (state.failed) return ;
@@ -139053,31 +141198,31 @@
 
     // $ANTLR start synpred362_InternalReportDSL
     public final void synpred362_InternalReportDSL_fragment() throws RecognitionException {   
-        // InternalReportDSL.g:35033:3: ( ({...}? => ( ( ( rule__Font__BoldAssignment_4_2 ) ) ) ) )
-        // InternalReportDSL.g:35033:3: ({...}? => ( ( ( rule__Font__BoldAssignment_4_2 ) ) ) )
+        // InternalReportDSL.g:34985:3: ( ({...}? => ( ( ( rule__Style__Group_4_9__0 ) ) ) ) )
+        // InternalReportDSL.g:34985:3: ({...}? => ( ( ( rule__Style__Group_4_9__0 ) ) ) )
         {
-        // InternalReportDSL.g:35033:3: ({...}? => ( ( ( rule__Font__BoldAssignment_4_2 ) ) ) )
-        // InternalReportDSL.g:35034:4: {...}? => ( ( ( rule__Font__BoldAssignment_4_2 ) ) )
+        // InternalReportDSL.g:34985:3: ({...}? => ( ( ( rule__Style__Group_4_9__0 ) ) ) )
+        // InternalReportDSL.g:34986:4: {...}? => ( ( ( rule__Style__Group_4_9__0 ) ) )
         {
-        if ( ! getUnorderedGroupHelper().canSelect(grammarAccess.getFontAccess().getUnorderedGroup_4(), 2) ) {
+        if ( ! getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 9) ) {
             if (state.backtracking>0) {state.failed=true; return ;}
-            throw new FailedPredicateException(input, "synpred362_InternalReportDSL", "getUnorderedGroupHelper().canSelect(grammarAccess.getFontAccess().getUnorderedGroup_4(), 2)");
+            throw new FailedPredicateException(input, "synpred362_InternalReportDSL", "getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 9)");
         }
-        // InternalReportDSL.g:35034:100: ( ( ( rule__Font__BoldAssignment_4_2 ) ) )
-        // InternalReportDSL.g:35035:5: ( ( rule__Font__BoldAssignment_4_2 ) )
+        // InternalReportDSL.g:34986:101: ( ( ( rule__Style__Group_4_9__0 ) ) )
+        // InternalReportDSL.g:34987:5: ( ( rule__Style__Group_4_9__0 ) )
         {
-        getUnorderedGroupHelper().select(grammarAccess.getFontAccess().getUnorderedGroup_4(), 2);
-        // InternalReportDSL.g:35041:5: ( ( rule__Font__BoldAssignment_4_2 ) )
-        // InternalReportDSL.g:35042:6: ( rule__Font__BoldAssignment_4_2 )
+        getUnorderedGroupHelper().select(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 9);
+        // InternalReportDSL.g:34993:5: ( ( rule__Style__Group_4_9__0 ) )
+        // InternalReportDSL.g:34994:6: ( rule__Style__Group_4_9__0 )
         {
         if ( state.backtracking==0 ) {
-           before(grammarAccess.getFontAccess().getBoldAssignment_4_2()); 
+           before(grammarAccess.getStyleAccess().getGroup_4_9()); 
         }
-        // InternalReportDSL.g:35043:6: ( rule__Font__BoldAssignment_4_2 )
-        // InternalReportDSL.g:35043:7: rule__Font__BoldAssignment_4_2
+        // InternalReportDSL.g:34995:6: ( rule__Style__Group_4_9__0 )
+        // InternalReportDSL.g:34995:7: rule__Style__Group_4_9__0
         {
         pushFollow(FOLLOW_2);
-        rule__Font__BoldAssignment_4_2();
+        rule__Style__Group_4_9__0();
 
         state._fsp--;
         if (state.failed) return ;
@@ -139100,91 +141245,219 @@
 
     // $ANTLR start synpred363_InternalReportDSL
     public final void synpred363_InternalReportDSL_fragment() throws RecognitionException {   
-        // InternalReportDSL.g:35077:2: ( rule__Font__UnorderedGroup_4__1 )
-        // InternalReportDSL.g:35077:2: rule__Font__UnorderedGroup_4__1
+        // InternalReportDSL.g:35000:3: ( ({...}? => ( ( ( rule__Style__Group_4_10__0 ) ) ) ) )
+        // InternalReportDSL.g:35000:3: ({...}? => ( ( ( rule__Style__Group_4_10__0 ) ) ) )
+        {
+        // InternalReportDSL.g:35000:3: ({...}? => ( ( ( rule__Style__Group_4_10__0 ) ) ) )
+        // InternalReportDSL.g:35001:4: {...}? => ( ( ( rule__Style__Group_4_10__0 ) ) )
+        {
+        if ( ! getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 10) ) {
+            if (state.backtracking>0) {state.failed=true; return ;}
+            throw new FailedPredicateException(input, "synpred363_InternalReportDSL", "getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 10)");
+        }
+        // InternalReportDSL.g:35001:102: ( ( ( rule__Style__Group_4_10__0 ) ) )
+        // InternalReportDSL.g:35002:5: ( ( rule__Style__Group_4_10__0 ) )
+        {
+        getUnorderedGroupHelper().select(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 10);
+        // InternalReportDSL.g:35008:5: ( ( rule__Style__Group_4_10__0 ) )
+        // InternalReportDSL.g:35009:6: ( rule__Style__Group_4_10__0 )
+        {
+        if ( state.backtracking==0 ) {
+           before(grammarAccess.getStyleAccess().getGroup_4_10()); 
+        }
+        // InternalReportDSL.g:35010:6: ( rule__Style__Group_4_10__0 )
+        // InternalReportDSL.g:35010:7: rule__Style__Group_4_10__0
         {
         pushFollow(FOLLOW_2);
-        rule__Font__UnorderedGroup_4__1();
+        rule__Style__Group_4_10__0();
 
         state._fsp--;
         if (state.failed) return ;
 
         }
+
+
+        }
+
+
+        }
+
+
+        }
+
+
+        }
     }
     // $ANTLR end synpred363_InternalReportDSL
 
     // $ANTLR start synpred364_InternalReportDSL
     public final void synpred364_InternalReportDSL_fragment() throws RecognitionException {   
-        // InternalReportDSL.g:35089:2: ( rule__Font__UnorderedGroup_4__2 )
-        // InternalReportDSL.g:35089:2: rule__Font__UnorderedGroup_4__2
+        // InternalReportDSL.g:35015:3: ( ({...}? => ( ( ( rule__Style__Group_4_11__0 ) ) ) ) )
+        // InternalReportDSL.g:35015:3: ({...}? => ( ( ( rule__Style__Group_4_11__0 ) ) ) )
+        {
+        // InternalReportDSL.g:35015:3: ({...}? => ( ( ( rule__Style__Group_4_11__0 ) ) ) )
+        // InternalReportDSL.g:35016:4: {...}? => ( ( ( rule__Style__Group_4_11__0 ) ) )
+        {
+        if ( ! getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 11) ) {
+            if (state.backtracking>0) {state.failed=true; return ;}
+            throw new FailedPredicateException(input, "synpred364_InternalReportDSL", "getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 11)");
+        }
+        // InternalReportDSL.g:35016:102: ( ( ( rule__Style__Group_4_11__0 ) ) )
+        // InternalReportDSL.g:35017:5: ( ( rule__Style__Group_4_11__0 ) )
+        {
+        getUnorderedGroupHelper().select(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 11);
+        // InternalReportDSL.g:35023:5: ( ( rule__Style__Group_4_11__0 ) )
+        // InternalReportDSL.g:35024:6: ( rule__Style__Group_4_11__0 )
+        {
+        if ( state.backtracking==0 ) {
+           before(grammarAccess.getStyleAccess().getGroup_4_11()); 
+        }
+        // InternalReportDSL.g:35025:6: ( rule__Style__Group_4_11__0 )
+        // InternalReportDSL.g:35025:7: rule__Style__Group_4_11__0
         {
         pushFollow(FOLLOW_2);
-        rule__Font__UnorderedGroup_4__2();
+        rule__Style__Group_4_11__0();
 
         state._fsp--;
         if (state.failed) return ;
 
         }
+
+
+        }
+
+
+        }
+
+
+        }
+
+
+        }
     }
     // $ANTLR end synpred364_InternalReportDSL
 
     // $ANTLR start synpred365_InternalReportDSL
     public final void synpred365_InternalReportDSL_fragment() throws RecognitionException {   
-        // InternalReportDSL.g:35101:2: ( rule__Font__UnorderedGroup_4__3 )
-        // InternalReportDSL.g:35101:2: rule__Font__UnorderedGroup_4__3
+        // InternalReportDSL.g:35030:3: ( ({...}? => ( ( ( rule__Style__Group_4_12__0 ) ) ) ) )
+        // InternalReportDSL.g:35030:3: ({...}? => ( ( ( rule__Style__Group_4_12__0 ) ) ) )
+        {
+        // InternalReportDSL.g:35030:3: ({...}? => ( ( ( rule__Style__Group_4_12__0 ) ) ) )
+        // InternalReportDSL.g:35031:4: {...}? => ( ( ( rule__Style__Group_4_12__0 ) ) )
+        {
+        if ( ! getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 12) ) {
+            if (state.backtracking>0) {state.failed=true; return ;}
+            throw new FailedPredicateException(input, "synpred365_InternalReportDSL", "getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 12)");
+        }
+        // InternalReportDSL.g:35031:102: ( ( ( rule__Style__Group_4_12__0 ) ) )
+        // InternalReportDSL.g:35032:5: ( ( rule__Style__Group_4_12__0 ) )
+        {
+        getUnorderedGroupHelper().select(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 12);
+        // InternalReportDSL.g:35038:5: ( ( rule__Style__Group_4_12__0 ) )
+        // InternalReportDSL.g:35039:6: ( rule__Style__Group_4_12__0 )
+        {
+        if ( state.backtracking==0 ) {
+           before(grammarAccess.getStyleAccess().getGroup_4_12()); 
+        }
+        // InternalReportDSL.g:35040:6: ( rule__Style__Group_4_12__0 )
+        // InternalReportDSL.g:35040:7: rule__Style__Group_4_12__0
         {
         pushFollow(FOLLOW_2);
-        rule__Font__UnorderedGroup_4__3();
+        rule__Style__Group_4_12__0();
 
         state._fsp--;
         if (state.failed) return ;
 
         }
+
+
+        }
+
+
+        }
+
+
+        }
+
+
+        }
     }
     // $ANTLR end synpred365_InternalReportDSL
 
     // $ANTLR start synpred366_InternalReportDSL
     public final void synpred366_InternalReportDSL_fragment() throws RecognitionException {   
-        // InternalReportDSL.g:35125:2: ( rule__Style__UnorderedGroup_4__0 )
-        // InternalReportDSL.g:35125:2: rule__Style__UnorderedGroup_4__0
+        // InternalReportDSL.g:35045:3: ( ({...}? => ( ( ( rule__Style__Group_4_13__0 ) ) ) ) )
+        // InternalReportDSL.g:35045:3: ({...}? => ( ( ( rule__Style__Group_4_13__0 ) ) ) )
+        {
+        // InternalReportDSL.g:35045:3: ({...}? => ( ( ( rule__Style__Group_4_13__0 ) ) ) )
+        // InternalReportDSL.g:35046:4: {...}? => ( ( ( rule__Style__Group_4_13__0 ) ) )
+        {
+        if ( ! getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 13) ) {
+            if (state.backtracking>0) {state.failed=true; return ;}
+            throw new FailedPredicateException(input, "synpred366_InternalReportDSL", "getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 13)");
+        }
+        // InternalReportDSL.g:35046:102: ( ( ( rule__Style__Group_4_13__0 ) ) )
+        // InternalReportDSL.g:35047:5: ( ( rule__Style__Group_4_13__0 ) )
+        {
+        getUnorderedGroupHelper().select(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 13);
+        // InternalReportDSL.g:35053:5: ( ( rule__Style__Group_4_13__0 ) )
+        // InternalReportDSL.g:35054:6: ( rule__Style__Group_4_13__0 )
+        {
+        if ( state.backtracking==0 ) {
+           before(grammarAccess.getStyleAccess().getGroup_4_13()); 
+        }
+        // InternalReportDSL.g:35055:6: ( rule__Style__Group_4_13__0 )
+        // InternalReportDSL.g:35055:7: rule__Style__Group_4_13__0
         {
         pushFollow(FOLLOW_2);
-        rule__Style__UnorderedGroup_4__0();
+        rule__Style__Group_4_13__0();
 
         state._fsp--;
         if (state.failed) return ;
 
         }
+
+
+        }
+
+
+        }
+
+
+        }
+
+
+        }
     }
     // $ANTLR end synpred366_InternalReportDSL
 
     // $ANTLR start synpred367_InternalReportDSL
     public final void synpred367_InternalReportDSL_fragment() throws RecognitionException {   
-        // InternalReportDSL.g:35140:3: ( ({...}? => ( ( ( rule__Style__Group_4_0__0 ) ) ) ) )
-        // InternalReportDSL.g:35140:3: ({...}? => ( ( ( rule__Style__Group_4_0__0 ) ) ) )
+        // InternalReportDSL.g:35060:3: ( ({...}? => ( ( ( rule__Style__Group_4_14__0 ) ) ) ) )
+        // InternalReportDSL.g:35060:3: ({...}? => ( ( ( rule__Style__Group_4_14__0 ) ) ) )
         {
-        // InternalReportDSL.g:35140:3: ({...}? => ( ( ( rule__Style__Group_4_0__0 ) ) ) )
-        // InternalReportDSL.g:35141:4: {...}? => ( ( ( rule__Style__Group_4_0__0 ) ) )
+        // InternalReportDSL.g:35060:3: ({...}? => ( ( ( rule__Style__Group_4_14__0 ) ) ) )
+        // InternalReportDSL.g:35061:4: {...}? => ( ( ( rule__Style__Group_4_14__0 ) ) )
         {
-        if ( ! getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 0) ) {
+        if ( ! getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 14) ) {
             if (state.backtracking>0) {state.failed=true; return ;}
-            throw new FailedPredicateException(input, "synpred367_InternalReportDSL", "getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 0)");
+            throw new FailedPredicateException(input, "synpred367_InternalReportDSL", "getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 14)");
         }
-        // InternalReportDSL.g:35141:101: ( ( ( rule__Style__Group_4_0__0 ) ) )
-        // InternalReportDSL.g:35142:5: ( ( rule__Style__Group_4_0__0 ) )
+        // InternalReportDSL.g:35061:102: ( ( ( rule__Style__Group_4_14__0 ) ) )
+        // InternalReportDSL.g:35062:5: ( ( rule__Style__Group_4_14__0 ) )
         {
-        getUnorderedGroupHelper().select(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 0);
-        // InternalReportDSL.g:35148:5: ( ( rule__Style__Group_4_0__0 ) )
-        // InternalReportDSL.g:35149:6: ( rule__Style__Group_4_0__0 )
+        getUnorderedGroupHelper().select(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 14);
+        // InternalReportDSL.g:35068:5: ( ( rule__Style__Group_4_14__0 ) )
+        // InternalReportDSL.g:35069:6: ( rule__Style__Group_4_14__0 )
         {
         if ( state.backtracking==0 ) {
-           before(grammarAccess.getStyleAccess().getGroup_4_0()); 
+           before(grammarAccess.getStyleAccess().getGroup_4_14()); 
         }
-        // InternalReportDSL.g:35150:6: ( rule__Style__Group_4_0__0 )
-        // InternalReportDSL.g:35150:7: rule__Style__Group_4_0__0
+        // InternalReportDSL.g:35070:6: ( rule__Style__Group_4_14__0 )
+        // InternalReportDSL.g:35070:7: rule__Style__Group_4_14__0
         {
         pushFollow(FOLLOW_2);
-        rule__Style__Group_4_0__0();
+        rule__Style__Group_4_14__0();
 
         state._fsp--;
         if (state.failed) return ;
@@ -139207,31 +141480,31 @@
 
     // $ANTLR start synpred368_InternalReportDSL
     public final void synpred368_InternalReportDSL_fragment() throws RecognitionException {   
-        // InternalReportDSL.g:35155:3: ( ({...}? => ( ( ( rule__Style__Group_4_1__0 ) ) ) ) )
-        // InternalReportDSL.g:35155:3: ({...}? => ( ( ( rule__Style__Group_4_1__0 ) ) ) )
+        // InternalReportDSL.g:35075:3: ( ({...}? => ( ( ( rule__Style__Group_4_15__0 ) ) ) ) )
+        // InternalReportDSL.g:35075:3: ({...}? => ( ( ( rule__Style__Group_4_15__0 ) ) ) )
         {
-        // InternalReportDSL.g:35155:3: ({...}? => ( ( ( rule__Style__Group_4_1__0 ) ) ) )
-        // InternalReportDSL.g:35156:4: {...}? => ( ( ( rule__Style__Group_4_1__0 ) ) )
+        // InternalReportDSL.g:35075:3: ({...}? => ( ( ( rule__Style__Group_4_15__0 ) ) ) )
+        // InternalReportDSL.g:35076:4: {...}? => ( ( ( rule__Style__Group_4_15__0 ) ) )
         {
-        if ( ! getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 1) ) {
+        if ( ! getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 15) ) {
             if (state.backtracking>0) {state.failed=true; return ;}
-            throw new FailedPredicateException(input, "synpred368_InternalReportDSL", "getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 1)");
+            throw new FailedPredicateException(input, "synpred368_InternalReportDSL", "getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 15)");
         }
-        // InternalReportDSL.g:35156:101: ( ( ( rule__Style__Group_4_1__0 ) ) )
-        // InternalReportDSL.g:35157:5: ( ( rule__Style__Group_4_1__0 ) )
+        // InternalReportDSL.g:35076:102: ( ( ( rule__Style__Group_4_15__0 ) ) )
+        // InternalReportDSL.g:35077:5: ( ( rule__Style__Group_4_15__0 ) )
         {
-        getUnorderedGroupHelper().select(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 1);
-        // InternalReportDSL.g:35163:5: ( ( rule__Style__Group_4_1__0 ) )
-        // InternalReportDSL.g:35164:6: ( rule__Style__Group_4_1__0 )
+        getUnorderedGroupHelper().select(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 15);
+        // InternalReportDSL.g:35083:5: ( ( rule__Style__Group_4_15__0 ) )
+        // InternalReportDSL.g:35084:6: ( rule__Style__Group_4_15__0 )
         {
         if ( state.backtracking==0 ) {
-           before(grammarAccess.getStyleAccess().getGroup_4_1()); 
+           before(grammarAccess.getStyleAccess().getGroup_4_15()); 
         }
-        // InternalReportDSL.g:35165:6: ( rule__Style__Group_4_1__0 )
-        // InternalReportDSL.g:35165:7: rule__Style__Group_4_1__0
+        // InternalReportDSL.g:35085:6: ( rule__Style__Group_4_15__0 )
+        // InternalReportDSL.g:35085:7: rule__Style__Group_4_15__0
         {
         pushFollow(FOLLOW_2);
-        rule__Style__Group_4_1__0();
+        rule__Style__Group_4_15__0();
 
         state._fsp--;
         if (state.failed) return ;
@@ -139254,31 +141527,31 @@
 
     // $ANTLR start synpred369_InternalReportDSL
     public final void synpred369_InternalReportDSL_fragment() throws RecognitionException {   
-        // InternalReportDSL.g:35170:3: ( ({...}? => ( ( ( rule__Style__Group_4_2__0 ) ) ) ) )
-        // InternalReportDSL.g:35170:3: ({...}? => ( ( ( rule__Style__Group_4_2__0 ) ) ) )
+        // InternalReportDSL.g:35090:3: ( ({...}? => ( ( ( rule__Style__Group_4_16__0 ) ) ) ) )
+        // InternalReportDSL.g:35090:3: ({...}? => ( ( ( rule__Style__Group_4_16__0 ) ) ) )
         {
-        // InternalReportDSL.g:35170:3: ({...}? => ( ( ( rule__Style__Group_4_2__0 ) ) ) )
-        // InternalReportDSL.g:35171:4: {...}? => ( ( ( rule__Style__Group_4_2__0 ) ) )
+        // InternalReportDSL.g:35090:3: ({...}? => ( ( ( rule__Style__Group_4_16__0 ) ) ) )
+        // InternalReportDSL.g:35091:4: {...}? => ( ( ( rule__Style__Group_4_16__0 ) ) )
         {
-        if ( ! getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 2) ) {
+        if ( ! getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 16) ) {
             if (state.backtracking>0) {state.failed=true; return ;}
-            throw new FailedPredicateException(input, "synpred369_InternalReportDSL", "getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 2)");
+            throw new FailedPredicateException(input, "synpred369_InternalReportDSL", "getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 16)");
         }
-        // InternalReportDSL.g:35171:101: ( ( ( rule__Style__Group_4_2__0 ) ) )
-        // InternalReportDSL.g:35172:5: ( ( rule__Style__Group_4_2__0 ) )
+        // InternalReportDSL.g:35091:102: ( ( ( rule__Style__Group_4_16__0 ) ) )
+        // InternalReportDSL.g:35092:5: ( ( rule__Style__Group_4_16__0 ) )
         {
-        getUnorderedGroupHelper().select(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 2);
-        // InternalReportDSL.g:35178:5: ( ( rule__Style__Group_4_2__0 ) )
-        // InternalReportDSL.g:35179:6: ( rule__Style__Group_4_2__0 )
+        getUnorderedGroupHelper().select(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 16);
+        // InternalReportDSL.g:35098:5: ( ( rule__Style__Group_4_16__0 ) )
+        // InternalReportDSL.g:35099:6: ( rule__Style__Group_4_16__0 )
         {
         if ( state.backtracking==0 ) {
-           before(grammarAccess.getStyleAccess().getGroup_4_2()); 
+           before(grammarAccess.getStyleAccess().getGroup_4_16()); 
         }
-        // InternalReportDSL.g:35180:6: ( rule__Style__Group_4_2__0 )
-        // InternalReportDSL.g:35180:7: rule__Style__Group_4_2__0
+        // InternalReportDSL.g:35100:6: ( rule__Style__Group_4_16__0 )
+        // InternalReportDSL.g:35100:7: rule__Style__Group_4_16__0
         {
         pushFollow(FOLLOW_2);
-        rule__Style__Group_4_2__0();
+        rule__Style__Group_4_16__0();
 
         state._fsp--;
         if (state.failed) return ;
@@ -139301,622 +141574,206 @@
 
     // $ANTLR start synpred370_InternalReportDSL
     public final void synpred370_InternalReportDSL_fragment() throws RecognitionException {   
-        // InternalReportDSL.g:35185:3: ( ({...}? => ( ( ( rule__Style__Group_4_3__0 ) ) ) ) )
-        // InternalReportDSL.g:35185:3: ({...}? => ( ( ( rule__Style__Group_4_3__0 ) ) ) )
-        {
-        // InternalReportDSL.g:35185:3: ({...}? => ( ( ( rule__Style__Group_4_3__0 ) ) ) )
-        // InternalReportDSL.g:35186:4: {...}? => ( ( ( rule__Style__Group_4_3__0 ) ) )
-        {
-        if ( ! getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 3) ) {
-            if (state.backtracking>0) {state.failed=true; return ;}
-            throw new FailedPredicateException(input, "synpred370_InternalReportDSL", "getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 3)");
-        }
-        // InternalReportDSL.g:35186:101: ( ( ( rule__Style__Group_4_3__0 ) ) )
-        // InternalReportDSL.g:35187:5: ( ( rule__Style__Group_4_3__0 ) )
-        {
-        getUnorderedGroupHelper().select(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 3);
-        // InternalReportDSL.g:35193:5: ( ( rule__Style__Group_4_3__0 ) )
-        // InternalReportDSL.g:35194:6: ( rule__Style__Group_4_3__0 )
-        {
-        if ( state.backtracking==0 ) {
-           before(grammarAccess.getStyleAccess().getGroup_4_3()); 
-        }
-        // InternalReportDSL.g:35195:6: ( rule__Style__Group_4_3__0 )
-        // InternalReportDSL.g:35195:7: rule__Style__Group_4_3__0
+        // InternalReportDSL.g:35134:2: ( rule__Style__UnorderedGroup_4__1 )
+        // InternalReportDSL.g:35134:2: rule__Style__UnorderedGroup_4__1
         {
         pushFollow(FOLLOW_2);
-        rule__Style__Group_4_3__0();
+        rule__Style__UnorderedGroup_4__1();
 
         state._fsp--;
         if (state.failed) return ;
 
         }
-
-
-        }
-
-
-        }
-
-
-        }
-
-
-        }
     }
     // $ANTLR end synpred370_InternalReportDSL
 
     // $ANTLR start synpred371_InternalReportDSL
     public final void synpred371_InternalReportDSL_fragment() throws RecognitionException {   
-        // InternalReportDSL.g:35200:3: ( ({...}? => ( ( ( rule__Style__Group_4_4__0 ) ) ) ) )
-        // InternalReportDSL.g:35200:3: ({...}? => ( ( ( rule__Style__Group_4_4__0 ) ) ) )
-        {
-        // InternalReportDSL.g:35200:3: ({...}? => ( ( ( rule__Style__Group_4_4__0 ) ) ) )
-        // InternalReportDSL.g:35201:4: {...}? => ( ( ( rule__Style__Group_4_4__0 ) ) )
-        {
-        if ( ! getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 4) ) {
-            if (state.backtracking>0) {state.failed=true; return ;}
-            throw new FailedPredicateException(input, "synpred371_InternalReportDSL", "getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 4)");
-        }
-        // InternalReportDSL.g:35201:101: ( ( ( rule__Style__Group_4_4__0 ) ) )
-        // InternalReportDSL.g:35202:5: ( ( rule__Style__Group_4_4__0 ) )
-        {
-        getUnorderedGroupHelper().select(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 4);
-        // InternalReportDSL.g:35208:5: ( ( rule__Style__Group_4_4__0 ) )
-        // InternalReportDSL.g:35209:6: ( rule__Style__Group_4_4__0 )
-        {
-        if ( state.backtracking==0 ) {
-           before(grammarAccess.getStyleAccess().getGroup_4_4()); 
-        }
-        // InternalReportDSL.g:35210:6: ( rule__Style__Group_4_4__0 )
-        // InternalReportDSL.g:35210:7: rule__Style__Group_4_4__0
+        // InternalReportDSL.g:35146:2: ( rule__Style__UnorderedGroup_4__2 )
+        // InternalReportDSL.g:35146:2: rule__Style__UnorderedGroup_4__2
         {
         pushFollow(FOLLOW_2);
-        rule__Style__Group_4_4__0();
+        rule__Style__UnorderedGroup_4__2();
 
         state._fsp--;
         if (state.failed) return ;
 
         }
-
-
-        }
-
-
-        }
-
-
-        }
-
-
-        }
     }
     // $ANTLR end synpred371_InternalReportDSL
 
     // $ANTLR start synpred372_InternalReportDSL
     public final void synpred372_InternalReportDSL_fragment() throws RecognitionException {   
-        // InternalReportDSL.g:35215:3: ( ({...}? => ( ( ( rule__Style__Group_4_5__0 ) ) ) ) )
-        // InternalReportDSL.g:35215:3: ({...}? => ( ( ( rule__Style__Group_4_5__0 ) ) ) )
-        {
-        // InternalReportDSL.g:35215:3: ({...}? => ( ( ( rule__Style__Group_4_5__0 ) ) ) )
-        // InternalReportDSL.g:35216:4: {...}? => ( ( ( rule__Style__Group_4_5__0 ) ) )
-        {
-        if ( ! getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 5) ) {
-            if (state.backtracking>0) {state.failed=true; return ;}
-            throw new FailedPredicateException(input, "synpred372_InternalReportDSL", "getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 5)");
-        }
-        // InternalReportDSL.g:35216:101: ( ( ( rule__Style__Group_4_5__0 ) ) )
-        // InternalReportDSL.g:35217:5: ( ( rule__Style__Group_4_5__0 ) )
-        {
-        getUnorderedGroupHelper().select(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 5);
-        // InternalReportDSL.g:35223:5: ( ( rule__Style__Group_4_5__0 ) )
-        // InternalReportDSL.g:35224:6: ( rule__Style__Group_4_5__0 )
-        {
-        if ( state.backtracking==0 ) {
-           before(grammarAccess.getStyleAccess().getGroup_4_5()); 
-        }
-        // InternalReportDSL.g:35225:6: ( rule__Style__Group_4_5__0 )
-        // InternalReportDSL.g:35225:7: rule__Style__Group_4_5__0
+        // InternalReportDSL.g:35158:2: ( rule__Style__UnorderedGroup_4__3 )
+        // InternalReportDSL.g:35158:2: rule__Style__UnorderedGroup_4__3
         {
         pushFollow(FOLLOW_2);
-        rule__Style__Group_4_5__0();
+        rule__Style__UnorderedGroup_4__3();
 
         state._fsp--;
         if (state.failed) return ;
 
         }
-
-
-        }
-
-
-        }
-
-
-        }
-
-
-        }
     }
     // $ANTLR end synpred372_InternalReportDSL
 
     // $ANTLR start synpred373_InternalReportDSL
     public final void synpred373_InternalReportDSL_fragment() throws RecognitionException {   
-        // InternalReportDSL.g:35230:3: ( ({...}? => ( ( ( rule__Style__Group_4_6__0 ) ) ) ) )
-        // InternalReportDSL.g:35230:3: ({...}? => ( ( ( rule__Style__Group_4_6__0 ) ) ) )
-        {
-        // InternalReportDSL.g:35230:3: ({...}? => ( ( ( rule__Style__Group_4_6__0 ) ) ) )
-        // InternalReportDSL.g:35231:4: {...}? => ( ( ( rule__Style__Group_4_6__0 ) ) )
-        {
-        if ( ! getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 6) ) {
-            if (state.backtracking>0) {state.failed=true; return ;}
-            throw new FailedPredicateException(input, "synpred373_InternalReportDSL", "getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 6)");
-        }
-        // InternalReportDSL.g:35231:101: ( ( ( rule__Style__Group_4_6__0 ) ) )
-        // InternalReportDSL.g:35232:5: ( ( rule__Style__Group_4_6__0 ) )
-        {
-        getUnorderedGroupHelper().select(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 6);
-        // InternalReportDSL.g:35238:5: ( ( rule__Style__Group_4_6__0 ) )
-        // InternalReportDSL.g:35239:6: ( rule__Style__Group_4_6__0 )
-        {
-        if ( state.backtracking==0 ) {
-           before(grammarAccess.getStyleAccess().getGroup_4_6()); 
-        }
-        // InternalReportDSL.g:35240:6: ( rule__Style__Group_4_6__0 )
-        // InternalReportDSL.g:35240:7: rule__Style__Group_4_6__0
+        // InternalReportDSL.g:35170:2: ( rule__Style__UnorderedGroup_4__4 )
+        // InternalReportDSL.g:35170:2: rule__Style__UnorderedGroup_4__4
         {
         pushFollow(FOLLOW_2);
-        rule__Style__Group_4_6__0();
+        rule__Style__UnorderedGroup_4__4();
 
         state._fsp--;
         if (state.failed) return ;
 
         }
-
-
-        }
-
-
-        }
-
-
-        }
-
-
-        }
     }
     // $ANTLR end synpred373_InternalReportDSL
 
     // $ANTLR start synpred374_InternalReportDSL
     public final void synpred374_InternalReportDSL_fragment() throws RecognitionException {   
-        // InternalReportDSL.g:35245:3: ( ({...}? => ( ( ( rule__Style__Group_4_7__0 ) ) ) ) )
-        // InternalReportDSL.g:35245:3: ({...}? => ( ( ( rule__Style__Group_4_7__0 ) ) ) )
-        {
-        // InternalReportDSL.g:35245:3: ({...}? => ( ( ( rule__Style__Group_4_7__0 ) ) ) )
-        // InternalReportDSL.g:35246:4: {...}? => ( ( ( rule__Style__Group_4_7__0 ) ) )
-        {
-        if ( ! getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 7) ) {
-            if (state.backtracking>0) {state.failed=true; return ;}
-            throw new FailedPredicateException(input, "synpred374_InternalReportDSL", "getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 7)");
-        }
-        // InternalReportDSL.g:35246:101: ( ( ( rule__Style__Group_4_7__0 ) ) )
-        // InternalReportDSL.g:35247:5: ( ( rule__Style__Group_4_7__0 ) )
-        {
-        getUnorderedGroupHelper().select(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 7);
-        // InternalReportDSL.g:35253:5: ( ( rule__Style__Group_4_7__0 ) )
-        // InternalReportDSL.g:35254:6: ( rule__Style__Group_4_7__0 )
-        {
-        if ( state.backtracking==0 ) {
-           before(grammarAccess.getStyleAccess().getGroup_4_7()); 
-        }
-        // InternalReportDSL.g:35255:6: ( rule__Style__Group_4_7__0 )
-        // InternalReportDSL.g:35255:7: rule__Style__Group_4_7__0
+        // InternalReportDSL.g:35182:2: ( rule__Style__UnorderedGroup_4__5 )
+        // InternalReportDSL.g:35182:2: rule__Style__UnorderedGroup_4__5
         {
         pushFollow(FOLLOW_2);
-        rule__Style__Group_4_7__0();
+        rule__Style__UnorderedGroup_4__5();
 
         state._fsp--;
         if (state.failed) return ;
 
         }
-
-
-        }
-
-
-        }
-
-
-        }
-
-
-        }
     }
     // $ANTLR end synpred374_InternalReportDSL
 
     // $ANTLR start synpred375_InternalReportDSL
     public final void synpred375_InternalReportDSL_fragment() throws RecognitionException {   
-        // InternalReportDSL.g:35260:3: ( ({...}? => ( ( ( rule__Style__Group_4_8__0 ) ) ) ) )
-        // InternalReportDSL.g:35260:3: ({...}? => ( ( ( rule__Style__Group_4_8__0 ) ) ) )
-        {
-        // InternalReportDSL.g:35260:3: ({...}? => ( ( ( rule__Style__Group_4_8__0 ) ) ) )
-        // InternalReportDSL.g:35261:4: {...}? => ( ( ( rule__Style__Group_4_8__0 ) ) )
-        {
-        if ( ! getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 8) ) {
-            if (state.backtracking>0) {state.failed=true; return ;}
-            throw new FailedPredicateException(input, "synpred375_InternalReportDSL", "getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 8)");
-        }
-        // InternalReportDSL.g:35261:101: ( ( ( rule__Style__Group_4_8__0 ) ) )
-        // InternalReportDSL.g:35262:5: ( ( rule__Style__Group_4_8__0 ) )
-        {
-        getUnorderedGroupHelper().select(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 8);
-        // InternalReportDSL.g:35268:5: ( ( rule__Style__Group_4_8__0 ) )
-        // InternalReportDSL.g:35269:6: ( rule__Style__Group_4_8__0 )
-        {
-        if ( state.backtracking==0 ) {
-           before(grammarAccess.getStyleAccess().getGroup_4_8()); 
-        }
-        // InternalReportDSL.g:35270:6: ( rule__Style__Group_4_8__0 )
-        // InternalReportDSL.g:35270:7: rule__Style__Group_4_8__0
+        // InternalReportDSL.g:35194:2: ( rule__Style__UnorderedGroup_4__6 )
+        // InternalReportDSL.g:35194:2: rule__Style__UnorderedGroup_4__6
         {
         pushFollow(FOLLOW_2);
-        rule__Style__Group_4_8__0();
+        rule__Style__UnorderedGroup_4__6();
 
         state._fsp--;
         if (state.failed) return ;
 
         }
-
-
-        }
-
-
-        }
-
-
-        }
-
-
-        }
     }
     // $ANTLR end synpred375_InternalReportDSL
 
     // $ANTLR start synpred376_InternalReportDSL
     public final void synpred376_InternalReportDSL_fragment() throws RecognitionException {   
-        // InternalReportDSL.g:35275:3: ( ({...}? => ( ( ( rule__Style__Group_4_9__0 ) ) ) ) )
-        // InternalReportDSL.g:35275:3: ({...}? => ( ( ( rule__Style__Group_4_9__0 ) ) ) )
-        {
-        // InternalReportDSL.g:35275:3: ({...}? => ( ( ( rule__Style__Group_4_9__0 ) ) ) )
-        // InternalReportDSL.g:35276:4: {...}? => ( ( ( rule__Style__Group_4_9__0 ) ) )
-        {
-        if ( ! getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 9) ) {
-            if (state.backtracking>0) {state.failed=true; return ;}
-            throw new FailedPredicateException(input, "synpred376_InternalReportDSL", "getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 9)");
-        }
-        // InternalReportDSL.g:35276:101: ( ( ( rule__Style__Group_4_9__0 ) ) )
-        // InternalReportDSL.g:35277:5: ( ( rule__Style__Group_4_9__0 ) )
-        {
-        getUnorderedGroupHelper().select(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 9);
-        // InternalReportDSL.g:35283:5: ( ( rule__Style__Group_4_9__0 ) )
-        // InternalReportDSL.g:35284:6: ( rule__Style__Group_4_9__0 )
-        {
-        if ( state.backtracking==0 ) {
-           before(grammarAccess.getStyleAccess().getGroup_4_9()); 
-        }
-        // InternalReportDSL.g:35285:6: ( rule__Style__Group_4_9__0 )
-        // InternalReportDSL.g:35285:7: rule__Style__Group_4_9__0
+        // InternalReportDSL.g:35206:2: ( rule__Style__UnorderedGroup_4__7 )
+        // InternalReportDSL.g:35206:2: rule__Style__UnorderedGroup_4__7
         {
         pushFollow(FOLLOW_2);
-        rule__Style__Group_4_9__0();
+        rule__Style__UnorderedGroup_4__7();
 
         state._fsp--;
         if (state.failed) return ;
 
         }
-
-
-        }
-
-
-        }
-
-
-        }
-
-
-        }
     }
     // $ANTLR end synpred376_InternalReportDSL
 
     // $ANTLR start synpred377_InternalReportDSL
     public final void synpred377_InternalReportDSL_fragment() throws RecognitionException {   
-        // InternalReportDSL.g:35290:3: ( ({...}? => ( ( ( rule__Style__Group_4_10__0 ) ) ) ) )
-        // InternalReportDSL.g:35290:3: ({...}? => ( ( ( rule__Style__Group_4_10__0 ) ) ) )
-        {
-        // InternalReportDSL.g:35290:3: ({...}? => ( ( ( rule__Style__Group_4_10__0 ) ) ) )
-        // InternalReportDSL.g:35291:4: {...}? => ( ( ( rule__Style__Group_4_10__0 ) ) )
-        {
-        if ( ! getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 10) ) {
-            if (state.backtracking>0) {state.failed=true; return ;}
-            throw new FailedPredicateException(input, "synpred377_InternalReportDSL", "getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 10)");
-        }
-        // InternalReportDSL.g:35291:102: ( ( ( rule__Style__Group_4_10__0 ) ) )
-        // InternalReportDSL.g:35292:5: ( ( rule__Style__Group_4_10__0 ) )
-        {
-        getUnorderedGroupHelper().select(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 10);
-        // InternalReportDSL.g:35298:5: ( ( rule__Style__Group_4_10__0 ) )
-        // InternalReportDSL.g:35299:6: ( rule__Style__Group_4_10__0 )
-        {
-        if ( state.backtracking==0 ) {
-           before(grammarAccess.getStyleAccess().getGroup_4_10()); 
-        }
-        // InternalReportDSL.g:35300:6: ( rule__Style__Group_4_10__0 )
-        // InternalReportDSL.g:35300:7: rule__Style__Group_4_10__0
+        // InternalReportDSL.g:35218:2: ( rule__Style__UnorderedGroup_4__8 )
+        // InternalReportDSL.g:35218:2: rule__Style__UnorderedGroup_4__8
         {
         pushFollow(FOLLOW_2);
-        rule__Style__Group_4_10__0();
+        rule__Style__UnorderedGroup_4__8();
 
         state._fsp--;
         if (state.failed) return ;
 
         }
-
-
-        }
-
-
-        }
-
-
-        }
-
-
-        }
     }
     // $ANTLR end synpred377_InternalReportDSL
 
     // $ANTLR start synpred378_InternalReportDSL
     public final void synpred378_InternalReportDSL_fragment() throws RecognitionException {   
-        // InternalReportDSL.g:35305:3: ( ({...}? => ( ( ( rule__Style__Group_4_11__0 ) ) ) ) )
-        // InternalReportDSL.g:35305:3: ({...}? => ( ( ( rule__Style__Group_4_11__0 ) ) ) )
-        {
-        // InternalReportDSL.g:35305:3: ({...}? => ( ( ( rule__Style__Group_4_11__0 ) ) ) )
-        // InternalReportDSL.g:35306:4: {...}? => ( ( ( rule__Style__Group_4_11__0 ) ) )
-        {
-        if ( ! getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 11) ) {
-            if (state.backtracking>0) {state.failed=true; return ;}
-            throw new FailedPredicateException(input, "synpred378_InternalReportDSL", "getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 11)");
-        }
-        // InternalReportDSL.g:35306:102: ( ( ( rule__Style__Group_4_11__0 ) ) )
-        // InternalReportDSL.g:35307:5: ( ( rule__Style__Group_4_11__0 ) )
-        {
-        getUnorderedGroupHelper().select(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 11);
-        // InternalReportDSL.g:35313:5: ( ( rule__Style__Group_4_11__0 ) )
-        // InternalReportDSL.g:35314:6: ( rule__Style__Group_4_11__0 )
-        {
-        if ( state.backtracking==0 ) {
-           before(grammarAccess.getStyleAccess().getGroup_4_11()); 
-        }
-        // InternalReportDSL.g:35315:6: ( rule__Style__Group_4_11__0 )
-        // InternalReportDSL.g:35315:7: rule__Style__Group_4_11__0
+        // InternalReportDSL.g:35230:2: ( rule__Style__UnorderedGroup_4__9 )
+        // InternalReportDSL.g:35230:2: rule__Style__UnorderedGroup_4__9
         {
         pushFollow(FOLLOW_2);
-        rule__Style__Group_4_11__0();
+        rule__Style__UnorderedGroup_4__9();
 
         state._fsp--;
         if (state.failed) return ;
 
         }
-
-
-        }
-
-
-        }
-
-
-        }
-
-
-        }
     }
     // $ANTLR end synpred378_InternalReportDSL
 
     // $ANTLR start synpred379_InternalReportDSL
     public final void synpred379_InternalReportDSL_fragment() throws RecognitionException {   
-        // InternalReportDSL.g:35320:3: ( ({...}? => ( ( ( rule__Style__Group_4_12__0 ) ) ) ) )
-        // InternalReportDSL.g:35320:3: ({...}? => ( ( ( rule__Style__Group_4_12__0 ) ) ) )
-        {
-        // InternalReportDSL.g:35320:3: ({...}? => ( ( ( rule__Style__Group_4_12__0 ) ) ) )
-        // InternalReportDSL.g:35321:4: {...}? => ( ( ( rule__Style__Group_4_12__0 ) ) )
-        {
-        if ( ! getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 12) ) {
-            if (state.backtracking>0) {state.failed=true; return ;}
-            throw new FailedPredicateException(input, "synpred379_InternalReportDSL", "getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 12)");
-        }
-        // InternalReportDSL.g:35321:102: ( ( ( rule__Style__Group_4_12__0 ) ) )
-        // InternalReportDSL.g:35322:5: ( ( rule__Style__Group_4_12__0 ) )
-        {
-        getUnorderedGroupHelper().select(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 12);
-        // InternalReportDSL.g:35328:5: ( ( rule__Style__Group_4_12__0 ) )
-        // InternalReportDSL.g:35329:6: ( rule__Style__Group_4_12__0 )
-        {
-        if ( state.backtracking==0 ) {
-           before(grammarAccess.getStyleAccess().getGroup_4_12()); 
-        }
-        // InternalReportDSL.g:35330:6: ( rule__Style__Group_4_12__0 )
-        // InternalReportDSL.g:35330:7: rule__Style__Group_4_12__0
+        // InternalReportDSL.g:35242:2: ( rule__Style__UnorderedGroup_4__10 )
+        // InternalReportDSL.g:35242:2: rule__Style__UnorderedGroup_4__10
         {
         pushFollow(FOLLOW_2);
-        rule__Style__Group_4_12__0();
+        rule__Style__UnorderedGroup_4__10();
 
         state._fsp--;
         if (state.failed) return ;
 
         }
-
-
-        }
-
-
-        }
-
-
-        }
-
-
-        }
     }
     // $ANTLR end synpred379_InternalReportDSL
 
     // $ANTLR start synpred380_InternalReportDSL
     public final void synpred380_InternalReportDSL_fragment() throws RecognitionException {   
-        // InternalReportDSL.g:35335:3: ( ({...}? => ( ( ( rule__Style__Group_4_13__0 ) ) ) ) )
-        // InternalReportDSL.g:35335:3: ({...}? => ( ( ( rule__Style__Group_4_13__0 ) ) ) )
-        {
-        // InternalReportDSL.g:35335:3: ({...}? => ( ( ( rule__Style__Group_4_13__0 ) ) ) )
-        // InternalReportDSL.g:35336:4: {...}? => ( ( ( rule__Style__Group_4_13__0 ) ) )
-        {
-        if ( ! getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 13) ) {
-            if (state.backtracking>0) {state.failed=true; return ;}
-            throw new FailedPredicateException(input, "synpred380_InternalReportDSL", "getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 13)");
-        }
-        // InternalReportDSL.g:35336:102: ( ( ( rule__Style__Group_4_13__0 ) ) )
-        // InternalReportDSL.g:35337:5: ( ( rule__Style__Group_4_13__0 ) )
-        {
-        getUnorderedGroupHelper().select(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 13);
-        // InternalReportDSL.g:35343:5: ( ( rule__Style__Group_4_13__0 ) )
-        // InternalReportDSL.g:35344:6: ( rule__Style__Group_4_13__0 )
-        {
-        if ( state.backtracking==0 ) {
-           before(grammarAccess.getStyleAccess().getGroup_4_13()); 
-        }
-        // InternalReportDSL.g:35345:6: ( rule__Style__Group_4_13__0 )
-        // InternalReportDSL.g:35345:7: rule__Style__Group_4_13__0
+        // InternalReportDSL.g:35254:2: ( rule__Style__UnorderedGroup_4__11 )
+        // InternalReportDSL.g:35254:2: rule__Style__UnorderedGroup_4__11
         {
         pushFollow(FOLLOW_2);
-        rule__Style__Group_4_13__0();
+        rule__Style__UnorderedGroup_4__11();
 
         state._fsp--;
         if (state.failed) return ;
 
         }
-
-
-        }
-
-
-        }
-
-
-        }
-
-
-        }
     }
     // $ANTLR end synpred380_InternalReportDSL
 
     // $ANTLR start synpred381_InternalReportDSL
     public final void synpred381_InternalReportDSL_fragment() throws RecognitionException {   
-        // InternalReportDSL.g:35350:3: ( ({...}? => ( ( ( rule__Style__Group_4_14__0 ) ) ) ) )
-        // InternalReportDSL.g:35350:3: ({...}? => ( ( ( rule__Style__Group_4_14__0 ) ) ) )
-        {
-        // InternalReportDSL.g:35350:3: ({...}? => ( ( ( rule__Style__Group_4_14__0 ) ) ) )
-        // InternalReportDSL.g:35351:4: {...}? => ( ( ( rule__Style__Group_4_14__0 ) ) )
-        {
-        if ( ! getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 14) ) {
-            if (state.backtracking>0) {state.failed=true; return ;}
-            throw new FailedPredicateException(input, "synpred381_InternalReportDSL", "getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 14)");
-        }
-        // InternalReportDSL.g:35351:102: ( ( ( rule__Style__Group_4_14__0 ) ) )
-        // InternalReportDSL.g:35352:5: ( ( rule__Style__Group_4_14__0 ) )
-        {
-        getUnorderedGroupHelper().select(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 14);
-        // InternalReportDSL.g:35358:5: ( ( rule__Style__Group_4_14__0 ) )
-        // InternalReportDSL.g:35359:6: ( rule__Style__Group_4_14__0 )
-        {
-        if ( state.backtracking==0 ) {
-           before(grammarAccess.getStyleAccess().getGroup_4_14()); 
-        }
-        // InternalReportDSL.g:35360:6: ( rule__Style__Group_4_14__0 )
-        // InternalReportDSL.g:35360:7: rule__Style__Group_4_14__0
+        // InternalReportDSL.g:35266:2: ( rule__Style__UnorderedGroup_4__12 )
+        // InternalReportDSL.g:35266:2: rule__Style__UnorderedGroup_4__12
         {
         pushFollow(FOLLOW_2);
-        rule__Style__Group_4_14__0();
+        rule__Style__UnorderedGroup_4__12();
 
         state._fsp--;
         if (state.failed) return ;
 
         }
-
-
-        }
-
-
-        }
-
-
-        }
-
-
-        }
     }
     // $ANTLR end synpred381_InternalReportDSL
 
     // $ANTLR start synpred382_InternalReportDSL
     public final void synpred382_InternalReportDSL_fragment() throws RecognitionException {   
-        // InternalReportDSL.g:35365:3: ( ({...}? => ( ( ( rule__Style__Group_4_15__0 ) ) ) ) )
-        // InternalReportDSL.g:35365:3: ({...}? => ( ( ( rule__Style__Group_4_15__0 ) ) ) )
-        {
-        // InternalReportDSL.g:35365:3: ({...}? => ( ( ( rule__Style__Group_4_15__0 ) ) ) )
-        // InternalReportDSL.g:35366:4: {...}? => ( ( ( rule__Style__Group_4_15__0 ) ) )
-        {
-        if ( ! getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 15) ) {
-            if (state.backtracking>0) {state.failed=true; return ;}
-            throw new FailedPredicateException(input, "synpred382_InternalReportDSL", "getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 15)");
-        }
-        // InternalReportDSL.g:35366:102: ( ( ( rule__Style__Group_4_15__0 ) ) )
-        // InternalReportDSL.g:35367:5: ( ( rule__Style__Group_4_15__0 ) )
-        {
-        getUnorderedGroupHelper().select(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 15);
-        // InternalReportDSL.g:35373:5: ( ( rule__Style__Group_4_15__0 ) )
-        // InternalReportDSL.g:35374:6: ( rule__Style__Group_4_15__0 )
-        {
-        if ( state.backtracking==0 ) {
-           before(grammarAccess.getStyleAccess().getGroup_4_15()); 
-        }
-        // InternalReportDSL.g:35375:6: ( rule__Style__Group_4_15__0 )
-        // InternalReportDSL.g:35375:7: rule__Style__Group_4_15__0
+        // InternalReportDSL.g:35278:2: ( rule__Style__UnorderedGroup_4__13 )
+        // InternalReportDSL.g:35278:2: rule__Style__UnorderedGroup_4__13
         {
         pushFollow(FOLLOW_2);
-        rule__Style__Group_4_15__0();
+        rule__Style__UnorderedGroup_4__13();
 
         state._fsp--;
         if (state.failed) return ;
 
         }
-
-
-        }
-
-
-        }
-
-
-        }
-
-
-        }
     }
     // $ANTLR end synpred382_InternalReportDSL
 
     // $ANTLR start synpred383_InternalReportDSL
     public final void synpred383_InternalReportDSL_fragment() throws RecognitionException {   
-        // InternalReportDSL.g:35409:2: ( rule__Style__UnorderedGroup_4__1 )
-        // InternalReportDSL.g:35409:2: rule__Style__UnorderedGroup_4__1
+        // InternalReportDSL.g:35290:2: ( rule__Style__UnorderedGroup_4__14 )
+        // InternalReportDSL.g:35290:2: rule__Style__UnorderedGroup_4__14
         {
         pushFollow(FOLLOW_2);
-        rule__Style__UnorderedGroup_4__1();
+        rule__Style__UnorderedGroup_4__14();
 
         state._fsp--;
         if (state.failed) return ;
@@ -139927,11 +141784,11 @@
 
     // $ANTLR start synpred384_InternalReportDSL
     public final void synpred384_InternalReportDSL_fragment() throws RecognitionException {   
-        // InternalReportDSL.g:35421:2: ( rule__Style__UnorderedGroup_4__2 )
-        // InternalReportDSL.g:35421:2: rule__Style__UnorderedGroup_4__2
+        // InternalReportDSL.g:35302:2: ( rule__Style__UnorderedGroup_4__15 )
+        // InternalReportDSL.g:35302:2: rule__Style__UnorderedGroup_4__15
         {
         pushFollow(FOLLOW_2);
-        rule__Style__UnorderedGroup_4__2();
+        rule__Style__UnorderedGroup_4__15();
 
         state._fsp--;
         if (state.failed) return ;
@@ -139942,11 +141799,11 @@
 
     // $ANTLR start synpred385_InternalReportDSL
     public final void synpred385_InternalReportDSL_fragment() throws RecognitionException {   
-        // InternalReportDSL.g:35433:2: ( rule__Style__UnorderedGroup_4__3 )
-        // InternalReportDSL.g:35433:2: rule__Style__UnorderedGroup_4__3
+        // InternalReportDSL.g:35314:2: ( rule__Style__UnorderedGroup_4__16 )
+        // InternalReportDSL.g:35314:2: rule__Style__UnorderedGroup_4__16
         {
         pushFollow(FOLLOW_2);
-        rule__Style__UnorderedGroup_4__3();
+        rule__Style__UnorderedGroup_4__16();
 
         state._fsp--;
         if (state.failed) return ;
@@ -139957,11 +141814,11 @@
 
     // $ANTLR start synpred386_InternalReportDSL
     public final void synpred386_InternalReportDSL_fragment() throws RecognitionException {   
-        // InternalReportDSL.g:35445:2: ( rule__Style__UnorderedGroup_4__4 )
-        // InternalReportDSL.g:35445:2: rule__Style__UnorderedGroup_4__4
+        // InternalReportDSL.g:35326:2: ( rule__Style__UnorderedGroup_4__17 )
+        // InternalReportDSL.g:35326:2: rule__Style__UnorderedGroup_4__17
         {
         pushFollow(FOLLOW_2);
-        rule__Style__UnorderedGroup_4__4();
+        rule__Style__UnorderedGroup_4__17();
 
         state._fsp--;
         if (state.failed) return ;
@@ -139972,11 +141829,11 @@
 
     // $ANTLR start synpred387_InternalReportDSL
     public final void synpred387_InternalReportDSL_fragment() throws RecognitionException {   
-        // InternalReportDSL.g:35457:2: ( rule__Style__UnorderedGroup_4__5 )
-        // InternalReportDSL.g:35457:2: rule__Style__UnorderedGroup_4__5
+        // InternalReportDSL.g:35350:2: ( rule__MediaStyle__UnorderedGroup_3__0 )
+        // InternalReportDSL.g:35350:2: rule__MediaStyle__UnorderedGroup_3__0
         {
         pushFollow(FOLLOW_2);
-        rule__Style__UnorderedGroup_4__5();
+        rule__MediaStyle__UnorderedGroup_3__0();
 
         state._fsp--;
         if (state.failed) return ;
@@ -139987,211 +141844,595 @@
 
     // $ANTLR start synpred388_InternalReportDSL
     public final void synpred388_InternalReportDSL_fragment() throws RecognitionException {   
-        // InternalReportDSL.g:35469:2: ( rule__Style__UnorderedGroup_4__6 )
-        // InternalReportDSL.g:35469:2: rule__Style__UnorderedGroup_4__6
+        // InternalReportDSL.g:35365:3: ( ({...}? => ( ( ( rule__MediaStyle__Group_3_0__0 ) ) ) ) )
+        // InternalReportDSL.g:35365:3: ({...}? => ( ( ( rule__MediaStyle__Group_3_0__0 ) ) ) )
+        {
+        // InternalReportDSL.g:35365:3: ({...}? => ( ( ( rule__MediaStyle__Group_3_0__0 ) ) ) )
+        // InternalReportDSL.g:35366:4: {...}? => ( ( ( rule__MediaStyle__Group_3_0__0 ) ) )
+        {
+        if ( ! getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 0) ) {
+            if (state.backtracking>0) {state.failed=true; return ;}
+            throw new FailedPredicateException(input, "synpred388_InternalReportDSL", "getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 0)");
+        }
+        // InternalReportDSL.g:35366:106: ( ( ( rule__MediaStyle__Group_3_0__0 ) ) )
+        // InternalReportDSL.g:35367:5: ( ( rule__MediaStyle__Group_3_0__0 ) )
+        {
+        getUnorderedGroupHelper().select(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 0);
+        // InternalReportDSL.g:35373:5: ( ( rule__MediaStyle__Group_3_0__0 ) )
+        // InternalReportDSL.g:35374:6: ( rule__MediaStyle__Group_3_0__0 )
+        {
+        if ( state.backtracking==0 ) {
+           before(grammarAccess.getMediaStyleAccess().getGroup_3_0()); 
+        }
+        // InternalReportDSL.g:35375:6: ( rule__MediaStyle__Group_3_0__0 )
+        // InternalReportDSL.g:35375:7: rule__MediaStyle__Group_3_0__0
         {
         pushFollow(FOLLOW_2);
-        rule__Style__UnorderedGroup_4__6();
+        rule__MediaStyle__Group_3_0__0();
 
         state._fsp--;
         if (state.failed) return ;
 
         }
+
+
+        }
+
+
+        }
+
+
+        }
+
+
+        }
     }
     // $ANTLR end synpred388_InternalReportDSL
 
     // $ANTLR start synpred389_InternalReportDSL
     public final void synpred389_InternalReportDSL_fragment() throws RecognitionException {   
-        // InternalReportDSL.g:35481:2: ( rule__Style__UnorderedGroup_4__7 )
-        // InternalReportDSL.g:35481:2: rule__Style__UnorderedGroup_4__7
+        // InternalReportDSL.g:35380:3: ( ({...}? => ( ( ( rule__MediaStyle__Group_3_1__0 ) ) ) ) )
+        // InternalReportDSL.g:35380:3: ({...}? => ( ( ( rule__MediaStyle__Group_3_1__0 ) ) ) )
+        {
+        // InternalReportDSL.g:35380:3: ({...}? => ( ( ( rule__MediaStyle__Group_3_1__0 ) ) ) )
+        // InternalReportDSL.g:35381:4: {...}? => ( ( ( rule__MediaStyle__Group_3_1__0 ) ) )
+        {
+        if ( ! getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 1) ) {
+            if (state.backtracking>0) {state.failed=true; return ;}
+            throw new FailedPredicateException(input, "synpred389_InternalReportDSL", "getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 1)");
+        }
+        // InternalReportDSL.g:35381:106: ( ( ( rule__MediaStyle__Group_3_1__0 ) ) )
+        // InternalReportDSL.g:35382:5: ( ( rule__MediaStyle__Group_3_1__0 ) )
+        {
+        getUnorderedGroupHelper().select(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 1);
+        // InternalReportDSL.g:35388:5: ( ( rule__MediaStyle__Group_3_1__0 ) )
+        // InternalReportDSL.g:35389:6: ( rule__MediaStyle__Group_3_1__0 )
+        {
+        if ( state.backtracking==0 ) {
+           before(grammarAccess.getMediaStyleAccess().getGroup_3_1()); 
+        }
+        // InternalReportDSL.g:35390:6: ( rule__MediaStyle__Group_3_1__0 )
+        // InternalReportDSL.g:35390:7: rule__MediaStyle__Group_3_1__0
         {
         pushFollow(FOLLOW_2);
-        rule__Style__UnorderedGroup_4__7();
+        rule__MediaStyle__Group_3_1__0();
 
         state._fsp--;
         if (state.failed) return ;
 
         }
+
+
+        }
+
+
+        }
+
+
+        }
+
+
+        }
     }
     // $ANTLR end synpred389_InternalReportDSL
 
     // $ANTLR start synpred390_InternalReportDSL
     public final void synpred390_InternalReportDSL_fragment() throws RecognitionException {   
-        // InternalReportDSL.g:35493:2: ( rule__Style__UnorderedGroup_4__8 )
-        // InternalReportDSL.g:35493:2: rule__Style__UnorderedGroup_4__8
+        // InternalReportDSL.g:35395:3: ( ({...}? => ( ( ( rule__MediaStyle__Group_3_2__0 ) ) ) ) )
+        // InternalReportDSL.g:35395:3: ({...}? => ( ( ( rule__MediaStyle__Group_3_2__0 ) ) ) )
+        {
+        // InternalReportDSL.g:35395:3: ({...}? => ( ( ( rule__MediaStyle__Group_3_2__0 ) ) ) )
+        // InternalReportDSL.g:35396:4: {...}? => ( ( ( rule__MediaStyle__Group_3_2__0 ) ) )
+        {
+        if ( ! getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 2) ) {
+            if (state.backtracking>0) {state.failed=true; return ;}
+            throw new FailedPredicateException(input, "synpred390_InternalReportDSL", "getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 2)");
+        }
+        // InternalReportDSL.g:35396:106: ( ( ( rule__MediaStyle__Group_3_2__0 ) ) )
+        // InternalReportDSL.g:35397:5: ( ( rule__MediaStyle__Group_3_2__0 ) )
+        {
+        getUnorderedGroupHelper().select(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 2);
+        // InternalReportDSL.g:35403:5: ( ( rule__MediaStyle__Group_3_2__0 ) )
+        // InternalReportDSL.g:35404:6: ( rule__MediaStyle__Group_3_2__0 )
+        {
+        if ( state.backtracking==0 ) {
+           before(grammarAccess.getMediaStyleAccess().getGroup_3_2()); 
+        }
+        // InternalReportDSL.g:35405:6: ( rule__MediaStyle__Group_3_2__0 )
+        // InternalReportDSL.g:35405:7: rule__MediaStyle__Group_3_2__0
         {
         pushFollow(FOLLOW_2);
-        rule__Style__UnorderedGroup_4__8();
+        rule__MediaStyle__Group_3_2__0();
 
         state._fsp--;
         if (state.failed) return ;
 
         }
+
+
+        }
+
+
+        }
+
+
+        }
+
+
+        }
     }
     // $ANTLR end synpred390_InternalReportDSL
 
     // $ANTLR start synpred391_InternalReportDSL
     public final void synpred391_InternalReportDSL_fragment() throws RecognitionException {   
-        // InternalReportDSL.g:35505:2: ( rule__Style__UnorderedGroup_4__9 )
-        // InternalReportDSL.g:35505:2: rule__Style__UnorderedGroup_4__9
+        // InternalReportDSL.g:35410:3: ( ({...}? => ( ( ( rule__MediaStyle__Group_3_3__0 ) ) ) ) )
+        // InternalReportDSL.g:35410:3: ({...}? => ( ( ( rule__MediaStyle__Group_3_3__0 ) ) ) )
+        {
+        // InternalReportDSL.g:35410:3: ({...}? => ( ( ( rule__MediaStyle__Group_3_3__0 ) ) ) )
+        // InternalReportDSL.g:35411:4: {...}? => ( ( ( rule__MediaStyle__Group_3_3__0 ) ) )
+        {
+        if ( ! getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 3) ) {
+            if (state.backtracking>0) {state.failed=true; return ;}
+            throw new FailedPredicateException(input, "synpred391_InternalReportDSL", "getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 3)");
+        }
+        // InternalReportDSL.g:35411:106: ( ( ( rule__MediaStyle__Group_3_3__0 ) ) )
+        // InternalReportDSL.g:35412:5: ( ( rule__MediaStyle__Group_3_3__0 ) )
+        {
+        getUnorderedGroupHelper().select(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 3);
+        // InternalReportDSL.g:35418:5: ( ( rule__MediaStyle__Group_3_3__0 ) )
+        // InternalReportDSL.g:35419:6: ( rule__MediaStyle__Group_3_3__0 )
+        {
+        if ( state.backtracking==0 ) {
+           before(grammarAccess.getMediaStyleAccess().getGroup_3_3()); 
+        }
+        // InternalReportDSL.g:35420:6: ( rule__MediaStyle__Group_3_3__0 )
+        // InternalReportDSL.g:35420:7: rule__MediaStyle__Group_3_3__0
         {
         pushFollow(FOLLOW_2);
-        rule__Style__UnorderedGroup_4__9();
+        rule__MediaStyle__Group_3_3__0();
 
         state._fsp--;
         if (state.failed) return ;
 
         }
+
+
+        }
+
+
+        }
+
+
+        }
+
+
+        }
     }
     // $ANTLR end synpred391_InternalReportDSL
 
     // $ANTLR start synpred392_InternalReportDSL
     public final void synpred392_InternalReportDSL_fragment() throws RecognitionException {   
-        // InternalReportDSL.g:35517:2: ( rule__Style__UnorderedGroup_4__10 )
-        // InternalReportDSL.g:35517:2: rule__Style__UnorderedGroup_4__10
+        // InternalReportDSL.g:35425:3: ( ({...}? => ( ( ( rule__MediaStyle__Group_3_4__0 ) ) ) ) )
+        // InternalReportDSL.g:35425:3: ({...}? => ( ( ( rule__MediaStyle__Group_3_4__0 ) ) ) )
+        {
+        // InternalReportDSL.g:35425:3: ({...}? => ( ( ( rule__MediaStyle__Group_3_4__0 ) ) ) )
+        // InternalReportDSL.g:35426:4: {...}? => ( ( ( rule__MediaStyle__Group_3_4__0 ) ) )
+        {
+        if ( ! getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 4) ) {
+            if (state.backtracking>0) {state.failed=true; return ;}
+            throw new FailedPredicateException(input, "synpred392_InternalReportDSL", "getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 4)");
+        }
+        // InternalReportDSL.g:35426:106: ( ( ( rule__MediaStyle__Group_3_4__0 ) ) )
+        // InternalReportDSL.g:35427:5: ( ( rule__MediaStyle__Group_3_4__0 ) )
+        {
+        getUnorderedGroupHelper().select(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 4);
+        // InternalReportDSL.g:35433:5: ( ( rule__MediaStyle__Group_3_4__0 ) )
+        // InternalReportDSL.g:35434:6: ( rule__MediaStyle__Group_3_4__0 )
+        {
+        if ( state.backtracking==0 ) {
+           before(grammarAccess.getMediaStyleAccess().getGroup_3_4()); 
+        }
+        // InternalReportDSL.g:35435:6: ( rule__MediaStyle__Group_3_4__0 )
+        // InternalReportDSL.g:35435:7: rule__MediaStyle__Group_3_4__0
         {
         pushFollow(FOLLOW_2);
-        rule__Style__UnorderedGroup_4__10();
+        rule__MediaStyle__Group_3_4__0();
 
         state._fsp--;
         if (state.failed) return ;
 
         }
+
+
+        }
+
+
+        }
+
+
+        }
+
+
+        }
     }
     // $ANTLR end synpred392_InternalReportDSL
 
     // $ANTLR start synpred393_InternalReportDSL
     public final void synpred393_InternalReportDSL_fragment() throws RecognitionException {   
-        // InternalReportDSL.g:35529:2: ( rule__Style__UnorderedGroup_4__11 )
-        // InternalReportDSL.g:35529:2: rule__Style__UnorderedGroup_4__11
+        // InternalReportDSL.g:35440:3: ( ({...}? => ( ( ( rule__MediaStyle__Group_3_5__0 ) ) ) ) )
+        // InternalReportDSL.g:35440:3: ({...}? => ( ( ( rule__MediaStyle__Group_3_5__0 ) ) ) )
+        {
+        // InternalReportDSL.g:35440:3: ({...}? => ( ( ( rule__MediaStyle__Group_3_5__0 ) ) ) )
+        // InternalReportDSL.g:35441:4: {...}? => ( ( ( rule__MediaStyle__Group_3_5__0 ) ) )
+        {
+        if ( ! getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 5) ) {
+            if (state.backtracking>0) {state.failed=true; return ;}
+            throw new FailedPredicateException(input, "synpred393_InternalReportDSL", "getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 5)");
+        }
+        // InternalReportDSL.g:35441:106: ( ( ( rule__MediaStyle__Group_3_5__0 ) ) )
+        // InternalReportDSL.g:35442:5: ( ( rule__MediaStyle__Group_3_5__0 ) )
+        {
+        getUnorderedGroupHelper().select(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 5);
+        // InternalReportDSL.g:35448:5: ( ( rule__MediaStyle__Group_3_5__0 ) )
+        // InternalReportDSL.g:35449:6: ( rule__MediaStyle__Group_3_5__0 )
+        {
+        if ( state.backtracking==0 ) {
+           before(grammarAccess.getMediaStyleAccess().getGroup_3_5()); 
+        }
+        // InternalReportDSL.g:35450:6: ( rule__MediaStyle__Group_3_5__0 )
+        // InternalReportDSL.g:35450:7: rule__MediaStyle__Group_3_5__0
         {
         pushFollow(FOLLOW_2);
-        rule__Style__UnorderedGroup_4__11();
+        rule__MediaStyle__Group_3_5__0();
 
         state._fsp--;
         if (state.failed) return ;
 
         }
+
+
+        }
+
+
+        }
+
+
+        }
+
+
+        }
     }
     // $ANTLR end synpred393_InternalReportDSL
 
     // $ANTLR start synpred394_InternalReportDSL
     public final void synpred394_InternalReportDSL_fragment() throws RecognitionException {   
-        // InternalReportDSL.g:35541:2: ( rule__Style__UnorderedGroup_4__12 )
-        // InternalReportDSL.g:35541:2: rule__Style__UnorderedGroup_4__12
+        // InternalReportDSL.g:35455:3: ( ({...}? => ( ( ( rule__MediaStyle__Group_3_6__0 ) ) ) ) )
+        // InternalReportDSL.g:35455:3: ({...}? => ( ( ( rule__MediaStyle__Group_3_6__0 ) ) ) )
+        {
+        // InternalReportDSL.g:35455:3: ({...}? => ( ( ( rule__MediaStyle__Group_3_6__0 ) ) ) )
+        // InternalReportDSL.g:35456:4: {...}? => ( ( ( rule__MediaStyle__Group_3_6__0 ) ) )
+        {
+        if ( ! getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 6) ) {
+            if (state.backtracking>0) {state.failed=true; return ;}
+            throw new FailedPredicateException(input, "synpred394_InternalReportDSL", "getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 6)");
+        }
+        // InternalReportDSL.g:35456:106: ( ( ( rule__MediaStyle__Group_3_6__0 ) ) )
+        // InternalReportDSL.g:35457:5: ( ( rule__MediaStyle__Group_3_6__0 ) )
+        {
+        getUnorderedGroupHelper().select(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 6);
+        // InternalReportDSL.g:35463:5: ( ( rule__MediaStyle__Group_3_6__0 ) )
+        // InternalReportDSL.g:35464:6: ( rule__MediaStyle__Group_3_6__0 )
+        {
+        if ( state.backtracking==0 ) {
+           before(grammarAccess.getMediaStyleAccess().getGroup_3_6()); 
+        }
+        // InternalReportDSL.g:35465:6: ( rule__MediaStyle__Group_3_6__0 )
+        // InternalReportDSL.g:35465:7: rule__MediaStyle__Group_3_6__0
         {
         pushFollow(FOLLOW_2);
-        rule__Style__UnorderedGroup_4__12();
+        rule__MediaStyle__Group_3_6__0();
 
         state._fsp--;
         if (state.failed) return ;
 
         }
+
+
+        }
+
+
+        }
+
+
+        }
+
+
+        }
     }
     // $ANTLR end synpred394_InternalReportDSL
 
     // $ANTLR start synpred395_InternalReportDSL
     public final void synpred395_InternalReportDSL_fragment() throws RecognitionException {   
-        // InternalReportDSL.g:35553:2: ( rule__Style__UnorderedGroup_4__13 )
-        // InternalReportDSL.g:35553:2: rule__Style__UnorderedGroup_4__13
+        // InternalReportDSL.g:35470:3: ( ({...}? => ( ( ( rule__MediaStyle__Group_3_7__0 ) ) ) ) )
+        // InternalReportDSL.g:35470:3: ({...}? => ( ( ( rule__MediaStyle__Group_3_7__0 ) ) ) )
+        {
+        // InternalReportDSL.g:35470:3: ({...}? => ( ( ( rule__MediaStyle__Group_3_7__0 ) ) ) )
+        // InternalReportDSL.g:35471:4: {...}? => ( ( ( rule__MediaStyle__Group_3_7__0 ) ) )
+        {
+        if ( ! getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 7) ) {
+            if (state.backtracking>0) {state.failed=true; return ;}
+            throw new FailedPredicateException(input, "synpred395_InternalReportDSL", "getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 7)");
+        }
+        // InternalReportDSL.g:35471:106: ( ( ( rule__MediaStyle__Group_3_7__0 ) ) )
+        // InternalReportDSL.g:35472:5: ( ( rule__MediaStyle__Group_3_7__0 ) )
+        {
+        getUnorderedGroupHelper().select(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 7);
+        // InternalReportDSL.g:35478:5: ( ( rule__MediaStyle__Group_3_7__0 ) )
+        // InternalReportDSL.g:35479:6: ( rule__MediaStyle__Group_3_7__0 )
+        {
+        if ( state.backtracking==0 ) {
+           before(grammarAccess.getMediaStyleAccess().getGroup_3_7()); 
+        }
+        // InternalReportDSL.g:35480:6: ( rule__MediaStyle__Group_3_7__0 )
+        // InternalReportDSL.g:35480:7: rule__MediaStyle__Group_3_7__0
         {
         pushFollow(FOLLOW_2);
-        rule__Style__UnorderedGroup_4__13();
+        rule__MediaStyle__Group_3_7__0();
 
         state._fsp--;
         if (state.failed) return ;
 
         }
+
+
+        }
+
+
+        }
+
+
+        }
+
+
+        }
     }
     // $ANTLR end synpred395_InternalReportDSL
 
     // $ANTLR start synpred396_InternalReportDSL
     public final void synpred396_InternalReportDSL_fragment() throws RecognitionException {   
-        // InternalReportDSL.g:35565:2: ( rule__Style__UnorderedGroup_4__14 )
-        // InternalReportDSL.g:35565:2: rule__Style__UnorderedGroup_4__14
+        // InternalReportDSL.g:35485:3: ( ({...}? => ( ( ( rule__MediaStyle__Group_3_8__0 ) ) ) ) )
+        // InternalReportDSL.g:35485:3: ({...}? => ( ( ( rule__MediaStyle__Group_3_8__0 ) ) ) )
+        {
+        // InternalReportDSL.g:35485:3: ({...}? => ( ( ( rule__MediaStyle__Group_3_8__0 ) ) ) )
+        // InternalReportDSL.g:35486:4: {...}? => ( ( ( rule__MediaStyle__Group_3_8__0 ) ) )
+        {
+        if ( ! getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 8) ) {
+            if (state.backtracking>0) {state.failed=true; return ;}
+            throw new FailedPredicateException(input, "synpred396_InternalReportDSL", "getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 8)");
+        }
+        // InternalReportDSL.g:35486:106: ( ( ( rule__MediaStyle__Group_3_8__0 ) ) )
+        // InternalReportDSL.g:35487:5: ( ( rule__MediaStyle__Group_3_8__0 ) )
+        {
+        getUnorderedGroupHelper().select(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 8);
+        // InternalReportDSL.g:35493:5: ( ( rule__MediaStyle__Group_3_8__0 ) )
+        // InternalReportDSL.g:35494:6: ( rule__MediaStyle__Group_3_8__0 )
+        {
+        if ( state.backtracking==0 ) {
+           before(grammarAccess.getMediaStyleAccess().getGroup_3_8()); 
+        }
+        // InternalReportDSL.g:35495:6: ( rule__MediaStyle__Group_3_8__0 )
+        // InternalReportDSL.g:35495:7: rule__MediaStyle__Group_3_8__0
         {
         pushFollow(FOLLOW_2);
-        rule__Style__UnorderedGroup_4__14();
+        rule__MediaStyle__Group_3_8__0();
 
         state._fsp--;
         if (state.failed) return ;
 
         }
+
+
+        }
+
+
+        }
+
+
+        }
+
+
+        }
     }
     // $ANTLR end synpred396_InternalReportDSL
 
     // $ANTLR start synpred397_InternalReportDSL
     public final void synpred397_InternalReportDSL_fragment() throws RecognitionException {   
-        // InternalReportDSL.g:35577:2: ( rule__Style__UnorderedGroup_4__15 )
-        // InternalReportDSL.g:35577:2: rule__Style__UnorderedGroup_4__15
+        // InternalReportDSL.g:35500:3: ( ({...}? => ( ( ( rule__MediaStyle__Group_3_9__0 ) ) ) ) )
+        // InternalReportDSL.g:35500:3: ({...}? => ( ( ( rule__MediaStyle__Group_3_9__0 ) ) ) )
+        {
+        // InternalReportDSL.g:35500:3: ({...}? => ( ( ( rule__MediaStyle__Group_3_9__0 ) ) ) )
+        // InternalReportDSL.g:35501:4: {...}? => ( ( ( rule__MediaStyle__Group_3_9__0 ) ) )
+        {
+        if ( ! getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 9) ) {
+            if (state.backtracking>0) {state.failed=true; return ;}
+            throw new FailedPredicateException(input, "synpred397_InternalReportDSL", "getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 9)");
+        }
+        // InternalReportDSL.g:35501:106: ( ( ( rule__MediaStyle__Group_3_9__0 ) ) )
+        // InternalReportDSL.g:35502:5: ( ( rule__MediaStyle__Group_3_9__0 ) )
+        {
+        getUnorderedGroupHelper().select(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 9);
+        // InternalReportDSL.g:35508:5: ( ( rule__MediaStyle__Group_3_9__0 ) )
+        // InternalReportDSL.g:35509:6: ( rule__MediaStyle__Group_3_9__0 )
+        {
+        if ( state.backtracking==0 ) {
+           before(grammarAccess.getMediaStyleAccess().getGroup_3_9()); 
+        }
+        // InternalReportDSL.g:35510:6: ( rule__MediaStyle__Group_3_9__0 )
+        // InternalReportDSL.g:35510:7: rule__MediaStyle__Group_3_9__0
         {
         pushFollow(FOLLOW_2);
-        rule__Style__UnorderedGroup_4__15();
+        rule__MediaStyle__Group_3_9__0();
 
         state._fsp--;
         if (state.failed) return ;
 
         }
+
+
+        }
+
+
+        }
+
+
+        }
+
+
+        }
     }
     // $ANTLR end synpred397_InternalReportDSL
 
     // $ANTLR start synpred398_InternalReportDSL
     public final void synpred398_InternalReportDSL_fragment() throws RecognitionException {   
-        // InternalReportDSL.g:35589:2: ( rule__Style__UnorderedGroup_4__16 )
-        // InternalReportDSL.g:35589:2: rule__Style__UnorderedGroup_4__16
+        // InternalReportDSL.g:35515:3: ( ({...}? => ( ( ( rule__MediaStyle__Group_3_10__0 ) ) ) ) )
+        // InternalReportDSL.g:35515:3: ({...}? => ( ( ( rule__MediaStyle__Group_3_10__0 ) ) ) )
+        {
+        // InternalReportDSL.g:35515:3: ({...}? => ( ( ( rule__MediaStyle__Group_3_10__0 ) ) ) )
+        // InternalReportDSL.g:35516:4: {...}? => ( ( ( rule__MediaStyle__Group_3_10__0 ) ) )
+        {
+        if ( ! getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 10) ) {
+            if (state.backtracking>0) {state.failed=true; return ;}
+            throw new FailedPredicateException(input, "synpred398_InternalReportDSL", "getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 10)");
+        }
+        // InternalReportDSL.g:35516:107: ( ( ( rule__MediaStyle__Group_3_10__0 ) ) )
+        // InternalReportDSL.g:35517:5: ( ( rule__MediaStyle__Group_3_10__0 ) )
+        {
+        getUnorderedGroupHelper().select(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 10);
+        // InternalReportDSL.g:35523:5: ( ( rule__MediaStyle__Group_3_10__0 ) )
+        // InternalReportDSL.g:35524:6: ( rule__MediaStyle__Group_3_10__0 )
+        {
+        if ( state.backtracking==0 ) {
+           before(grammarAccess.getMediaStyleAccess().getGroup_3_10()); 
+        }
+        // InternalReportDSL.g:35525:6: ( rule__MediaStyle__Group_3_10__0 )
+        // InternalReportDSL.g:35525:7: rule__MediaStyle__Group_3_10__0
         {
         pushFollow(FOLLOW_2);
-        rule__Style__UnorderedGroup_4__16();
+        rule__MediaStyle__Group_3_10__0();
 
         state._fsp--;
         if (state.failed) return ;
 
         }
+
+
+        }
+
+
+        }
+
+
+        }
+
+
+        }
     }
     // $ANTLR end synpred398_InternalReportDSL
 
     // $ANTLR start synpred399_InternalReportDSL
     public final void synpred399_InternalReportDSL_fragment() throws RecognitionException {   
-        // InternalReportDSL.g:35613:2: ( rule__MediaStyle__UnorderedGroup_3__0 )
-        // InternalReportDSL.g:35613:2: rule__MediaStyle__UnorderedGroup_3__0
+        // InternalReportDSL.g:35530:3: ( ({...}? => ( ( ( rule__MediaStyle__Group_3_11__0 ) ) ) ) )
+        // InternalReportDSL.g:35530:3: ({...}? => ( ( ( rule__MediaStyle__Group_3_11__0 ) ) ) )
+        {
+        // InternalReportDSL.g:35530:3: ({...}? => ( ( ( rule__MediaStyle__Group_3_11__0 ) ) ) )
+        // InternalReportDSL.g:35531:4: {...}? => ( ( ( rule__MediaStyle__Group_3_11__0 ) ) )
+        {
+        if ( ! getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 11) ) {
+            if (state.backtracking>0) {state.failed=true; return ;}
+            throw new FailedPredicateException(input, "synpred399_InternalReportDSL", "getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 11)");
+        }
+        // InternalReportDSL.g:35531:107: ( ( ( rule__MediaStyle__Group_3_11__0 ) ) )
+        // InternalReportDSL.g:35532:5: ( ( rule__MediaStyle__Group_3_11__0 ) )
+        {
+        getUnorderedGroupHelper().select(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 11);
+        // InternalReportDSL.g:35538:5: ( ( rule__MediaStyle__Group_3_11__0 ) )
+        // InternalReportDSL.g:35539:6: ( rule__MediaStyle__Group_3_11__0 )
+        {
+        if ( state.backtracking==0 ) {
+           before(grammarAccess.getMediaStyleAccess().getGroup_3_11()); 
+        }
+        // InternalReportDSL.g:35540:6: ( rule__MediaStyle__Group_3_11__0 )
+        // InternalReportDSL.g:35540:7: rule__MediaStyle__Group_3_11__0
         {
         pushFollow(FOLLOW_2);
-        rule__MediaStyle__UnorderedGroup_3__0();
+        rule__MediaStyle__Group_3_11__0();
 
         state._fsp--;
         if (state.failed) return ;
 
         }
+
+
+        }
+
+
+        }
+
+
+        }
+
+
+        }
     }
     // $ANTLR end synpred399_InternalReportDSL
 
     // $ANTLR start synpred400_InternalReportDSL
     public final void synpred400_InternalReportDSL_fragment() throws RecognitionException {   
-        // InternalReportDSL.g:35628:3: ( ({...}? => ( ( ( rule__MediaStyle__Group_3_0__0 ) ) ) ) )
-        // InternalReportDSL.g:35628:3: ({...}? => ( ( ( rule__MediaStyle__Group_3_0__0 ) ) ) )
+        // InternalReportDSL.g:35545:3: ( ({...}? => ( ( ( rule__MediaStyle__Group_3_12__0 ) ) ) ) )
+        // InternalReportDSL.g:35545:3: ({...}? => ( ( ( rule__MediaStyle__Group_3_12__0 ) ) ) )
         {
-        // InternalReportDSL.g:35628:3: ({...}? => ( ( ( rule__MediaStyle__Group_3_0__0 ) ) ) )
-        // InternalReportDSL.g:35629:4: {...}? => ( ( ( rule__MediaStyle__Group_3_0__0 ) ) )
+        // InternalReportDSL.g:35545:3: ({...}? => ( ( ( rule__MediaStyle__Group_3_12__0 ) ) ) )
+        // InternalReportDSL.g:35546:4: {...}? => ( ( ( rule__MediaStyle__Group_3_12__0 ) ) )
         {
-        if ( ! getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 0) ) {
+        if ( ! getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 12) ) {
             if (state.backtracking>0) {state.failed=true; return ;}
-            throw new FailedPredicateException(input, "synpred400_InternalReportDSL", "getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 0)");
+            throw new FailedPredicateException(input, "synpred400_InternalReportDSL", "getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 12)");
         }
-        // InternalReportDSL.g:35629:106: ( ( ( rule__MediaStyle__Group_3_0__0 ) ) )
-        // InternalReportDSL.g:35630:5: ( ( rule__MediaStyle__Group_3_0__0 ) )
+        // InternalReportDSL.g:35546:107: ( ( ( rule__MediaStyle__Group_3_12__0 ) ) )
+        // InternalReportDSL.g:35547:5: ( ( rule__MediaStyle__Group_3_12__0 ) )
         {
-        getUnorderedGroupHelper().select(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 0);
-        // InternalReportDSL.g:35636:5: ( ( rule__MediaStyle__Group_3_0__0 ) )
-        // InternalReportDSL.g:35637:6: ( rule__MediaStyle__Group_3_0__0 )
+        getUnorderedGroupHelper().select(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 12);
+        // InternalReportDSL.g:35553:5: ( ( rule__MediaStyle__Group_3_12__0 ) )
+        // InternalReportDSL.g:35554:6: ( rule__MediaStyle__Group_3_12__0 )
         {
         if ( state.backtracking==0 ) {
-           before(grammarAccess.getMediaStyleAccess().getGroup_3_0()); 
+           before(grammarAccess.getMediaStyleAccess().getGroup_3_12()); 
         }
-        // InternalReportDSL.g:35638:6: ( rule__MediaStyle__Group_3_0__0 )
-        // InternalReportDSL.g:35638:7: rule__MediaStyle__Group_3_0__0
+        // InternalReportDSL.g:35555:6: ( rule__MediaStyle__Group_3_12__0 )
+        // InternalReportDSL.g:35555:7: rule__MediaStyle__Group_3_12__0
         {
         pushFollow(FOLLOW_2);
-        rule__MediaStyle__Group_3_0__0();
+        rule__MediaStyle__Group_3_12__0();
 
         state._fsp--;
         if (state.failed) return ;
@@ -140214,31 +142455,31 @@
 
     // $ANTLR start synpred401_InternalReportDSL
     public final void synpred401_InternalReportDSL_fragment() throws RecognitionException {   
-        // InternalReportDSL.g:35643:3: ( ({...}? => ( ( ( rule__MediaStyle__Group_3_1__0 ) ) ) ) )
-        // InternalReportDSL.g:35643:3: ({...}? => ( ( ( rule__MediaStyle__Group_3_1__0 ) ) ) )
+        // InternalReportDSL.g:35560:3: ( ({...}? => ( ( ( rule__MediaStyle__Group_3_13__0 ) ) ) ) )
+        // InternalReportDSL.g:35560:3: ({...}? => ( ( ( rule__MediaStyle__Group_3_13__0 ) ) ) )
         {
-        // InternalReportDSL.g:35643:3: ({...}? => ( ( ( rule__MediaStyle__Group_3_1__0 ) ) ) )
-        // InternalReportDSL.g:35644:4: {...}? => ( ( ( rule__MediaStyle__Group_3_1__0 ) ) )
+        // InternalReportDSL.g:35560:3: ({...}? => ( ( ( rule__MediaStyle__Group_3_13__0 ) ) ) )
+        // InternalReportDSL.g:35561:4: {...}? => ( ( ( rule__MediaStyle__Group_3_13__0 ) ) )
         {
-        if ( ! getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 1) ) {
+        if ( ! getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 13) ) {
             if (state.backtracking>0) {state.failed=true; return ;}
-            throw new FailedPredicateException(input, "synpred401_InternalReportDSL", "getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 1)");
+            throw new FailedPredicateException(input, "synpred401_InternalReportDSL", "getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 13)");
         }
-        // InternalReportDSL.g:35644:106: ( ( ( rule__MediaStyle__Group_3_1__0 ) ) )
-        // InternalReportDSL.g:35645:5: ( ( rule__MediaStyle__Group_3_1__0 ) )
+        // InternalReportDSL.g:35561:107: ( ( ( rule__MediaStyle__Group_3_13__0 ) ) )
+        // InternalReportDSL.g:35562:5: ( ( rule__MediaStyle__Group_3_13__0 ) )
         {
-        getUnorderedGroupHelper().select(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 1);
-        // InternalReportDSL.g:35651:5: ( ( rule__MediaStyle__Group_3_1__0 ) )
-        // InternalReportDSL.g:35652:6: ( rule__MediaStyle__Group_3_1__0 )
+        getUnorderedGroupHelper().select(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 13);
+        // InternalReportDSL.g:35568:5: ( ( rule__MediaStyle__Group_3_13__0 ) )
+        // InternalReportDSL.g:35569:6: ( rule__MediaStyle__Group_3_13__0 )
         {
         if ( state.backtracking==0 ) {
-           before(grammarAccess.getMediaStyleAccess().getGroup_3_1()); 
+           before(grammarAccess.getMediaStyleAccess().getGroup_3_13()); 
         }
-        // InternalReportDSL.g:35653:6: ( rule__MediaStyle__Group_3_1__0 )
-        // InternalReportDSL.g:35653:7: rule__MediaStyle__Group_3_1__0
+        // InternalReportDSL.g:35570:6: ( rule__MediaStyle__Group_3_13__0 )
+        // InternalReportDSL.g:35570:7: rule__MediaStyle__Group_3_13__0
         {
         pushFollow(FOLLOW_2);
-        rule__MediaStyle__Group_3_1__0();
+        rule__MediaStyle__Group_3_13__0();
 
         state._fsp--;
         if (state.failed) return ;
@@ -140261,31 +142502,31 @@
 
     // $ANTLR start synpred402_InternalReportDSL
     public final void synpred402_InternalReportDSL_fragment() throws RecognitionException {   
-        // InternalReportDSL.g:35658:3: ( ({...}? => ( ( ( rule__MediaStyle__Group_3_2__0 ) ) ) ) )
-        // InternalReportDSL.g:35658:3: ({...}? => ( ( ( rule__MediaStyle__Group_3_2__0 ) ) ) )
+        // InternalReportDSL.g:35575:3: ( ({...}? => ( ( ( rule__MediaStyle__Group_3_14__0 ) ) ) ) )
+        // InternalReportDSL.g:35575:3: ({...}? => ( ( ( rule__MediaStyle__Group_3_14__0 ) ) ) )
         {
-        // InternalReportDSL.g:35658:3: ({...}? => ( ( ( rule__MediaStyle__Group_3_2__0 ) ) ) )
-        // InternalReportDSL.g:35659:4: {...}? => ( ( ( rule__MediaStyle__Group_3_2__0 ) ) )
+        // InternalReportDSL.g:35575:3: ({...}? => ( ( ( rule__MediaStyle__Group_3_14__0 ) ) ) )
+        // InternalReportDSL.g:35576:4: {...}? => ( ( ( rule__MediaStyle__Group_3_14__0 ) ) )
         {
-        if ( ! getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 2) ) {
+        if ( ! getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 14) ) {
             if (state.backtracking>0) {state.failed=true; return ;}
-            throw new FailedPredicateException(input, "synpred402_InternalReportDSL", "getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 2)");
+            throw new FailedPredicateException(input, "synpred402_InternalReportDSL", "getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 14)");
         }
-        // InternalReportDSL.g:35659:106: ( ( ( rule__MediaStyle__Group_3_2__0 ) ) )
-        // InternalReportDSL.g:35660:5: ( ( rule__MediaStyle__Group_3_2__0 ) )
+        // InternalReportDSL.g:35576:107: ( ( ( rule__MediaStyle__Group_3_14__0 ) ) )
+        // InternalReportDSL.g:35577:5: ( ( rule__MediaStyle__Group_3_14__0 ) )
         {
-        getUnorderedGroupHelper().select(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 2);
-        // InternalReportDSL.g:35666:5: ( ( rule__MediaStyle__Group_3_2__0 ) )
-        // InternalReportDSL.g:35667:6: ( rule__MediaStyle__Group_3_2__0 )
+        getUnorderedGroupHelper().select(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 14);
+        // InternalReportDSL.g:35583:5: ( ( rule__MediaStyle__Group_3_14__0 ) )
+        // InternalReportDSL.g:35584:6: ( rule__MediaStyle__Group_3_14__0 )
         {
         if ( state.backtracking==0 ) {
-           before(grammarAccess.getMediaStyleAccess().getGroup_3_2()); 
+           before(grammarAccess.getMediaStyleAccess().getGroup_3_14()); 
         }
-        // InternalReportDSL.g:35668:6: ( rule__MediaStyle__Group_3_2__0 )
-        // InternalReportDSL.g:35668:7: rule__MediaStyle__Group_3_2__0
+        // InternalReportDSL.g:35585:6: ( rule__MediaStyle__Group_3_14__0 )
+        // InternalReportDSL.g:35585:7: rule__MediaStyle__Group_3_14__0
         {
         pushFollow(FOLLOW_2);
-        rule__MediaStyle__Group_3_2__0();
+        rule__MediaStyle__Group_3_14__0();
 
         state._fsp--;
         if (state.failed) return ;
@@ -140308,31 +142549,31 @@
 
     // $ANTLR start synpred403_InternalReportDSL
     public final void synpred403_InternalReportDSL_fragment() throws RecognitionException {   
-        // InternalReportDSL.g:35673:3: ( ({...}? => ( ( ( rule__MediaStyle__Group_3_3__0 ) ) ) ) )
-        // InternalReportDSL.g:35673:3: ({...}? => ( ( ( rule__MediaStyle__Group_3_3__0 ) ) ) )
+        // InternalReportDSL.g:35590:3: ( ({...}? => ( ( ( rule__MediaStyle__Group_3_15__0 ) ) ) ) )
+        // InternalReportDSL.g:35590:3: ({...}? => ( ( ( rule__MediaStyle__Group_3_15__0 ) ) ) )
         {
-        // InternalReportDSL.g:35673:3: ({...}? => ( ( ( rule__MediaStyle__Group_3_3__0 ) ) ) )
-        // InternalReportDSL.g:35674:4: {...}? => ( ( ( rule__MediaStyle__Group_3_3__0 ) ) )
+        // InternalReportDSL.g:35590:3: ({...}? => ( ( ( rule__MediaStyle__Group_3_15__0 ) ) ) )
+        // InternalReportDSL.g:35591:4: {...}? => ( ( ( rule__MediaStyle__Group_3_15__0 ) ) )
         {
-        if ( ! getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 3) ) {
+        if ( ! getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 15) ) {
             if (state.backtracking>0) {state.failed=true; return ;}
-            throw new FailedPredicateException(input, "synpred403_InternalReportDSL", "getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 3)");
+            throw new FailedPredicateException(input, "synpred403_InternalReportDSL", "getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 15)");
         }
-        // InternalReportDSL.g:35674:106: ( ( ( rule__MediaStyle__Group_3_3__0 ) ) )
-        // InternalReportDSL.g:35675:5: ( ( rule__MediaStyle__Group_3_3__0 ) )
+        // InternalReportDSL.g:35591:107: ( ( ( rule__MediaStyle__Group_3_15__0 ) ) )
+        // InternalReportDSL.g:35592:5: ( ( rule__MediaStyle__Group_3_15__0 ) )
         {
-        getUnorderedGroupHelper().select(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 3);
-        // InternalReportDSL.g:35681:5: ( ( rule__MediaStyle__Group_3_3__0 ) )
-        // InternalReportDSL.g:35682:6: ( rule__MediaStyle__Group_3_3__0 )
+        getUnorderedGroupHelper().select(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 15);
+        // InternalReportDSL.g:35598:5: ( ( rule__MediaStyle__Group_3_15__0 ) )
+        // InternalReportDSL.g:35599:6: ( rule__MediaStyle__Group_3_15__0 )
         {
         if ( state.backtracking==0 ) {
-           before(grammarAccess.getMediaStyleAccess().getGroup_3_3()); 
+           before(grammarAccess.getMediaStyleAccess().getGroup_3_15()); 
         }
-        // InternalReportDSL.g:35683:6: ( rule__MediaStyle__Group_3_3__0 )
-        // InternalReportDSL.g:35683:7: rule__MediaStyle__Group_3_3__0
+        // InternalReportDSL.g:35600:6: ( rule__MediaStyle__Group_3_15__0 )
+        // InternalReportDSL.g:35600:7: rule__MediaStyle__Group_3_15__0
         {
         pushFollow(FOLLOW_2);
-        rule__MediaStyle__Group_3_3__0();
+        rule__MediaStyle__Group_3_15__0();
 
         state._fsp--;
         if (state.failed) return ;
@@ -140355,31 +142596,31 @@
 
     // $ANTLR start synpred404_InternalReportDSL
     public final void synpred404_InternalReportDSL_fragment() throws RecognitionException {   
-        // InternalReportDSL.g:35688:3: ( ({...}? => ( ( ( rule__MediaStyle__Group_3_4__0 ) ) ) ) )
-        // InternalReportDSL.g:35688:3: ({...}? => ( ( ( rule__MediaStyle__Group_3_4__0 ) ) ) )
+        // InternalReportDSL.g:35605:3: ( ({...}? => ( ( ( rule__MediaStyle__Group_3_16__0 ) ) ) ) )
+        // InternalReportDSL.g:35605:3: ({...}? => ( ( ( rule__MediaStyle__Group_3_16__0 ) ) ) )
         {
-        // InternalReportDSL.g:35688:3: ({...}? => ( ( ( rule__MediaStyle__Group_3_4__0 ) ) ) )
-        // InternalReportDSL.g:35689:4: {...}? => ( ( ( rule__MediaStyle__Group_3_4__0 ) ) )
+        // InternalReportDSL.g:35605:3: ({...}? => ( ( ( rule__MediaStyle__Group_3_16__0 ) ) ) )
+        // InternalReportDSL.g:35606:4: {...}? => ( ( ( rule__MediaStyle__Group_3_16__0 ) ) )
         {
-        if ( ! getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 4) ) {
+        if ( ! getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 16) ) {
             if (state.backtracking>0) {state.failed=true; return ;}
-            throw new FailedPredicateException(input, "synpred404_InternalReportDSL", "getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 4)");
+            throw new FailedPredicateException(input, "synpred404_InternalReportDSL", "getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 16)");
         }
-        // InternalReportDSL.g:35689:106: ( ( ( rule__MediaStyle__Group_3_4__0 ) ) )
-        // InternalReportDSL.g:35690:5: ( ( rule__MediaStyle__Group_3_4__0 ) )
+        // InternalReportDSL.g:35606:107: ( ( ( rule__MediaStyle__Group_3_16__0 ) ) )
+        // InternalReportDSL.g:35607:5: ( ( rule__MediaStyle__Group_3_16__0 ) )
         {
-        getUnorderedGroupHelper().select(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 4);
-        // InternalReportDSL.g:35696:5: ( ( rule__MediaStyle__Group_3_4__0 ) )
-        // InternalReportDSL.g:35697:6: ( rule__MediaStyle__Group_3_4__0 )
+        getUnorderedGroupHelper().select(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 16);
+        // InternalReportDSL.g:35613:5: ( ( rule__MediaStyle__Group_3_16__0 ) )
+        // InternalReportDSL.g:35614:6: ( rule__MediaStyle__Group_3_16__0 )
         {
         if ( state.backtracking==0 ) {
-           before(grammarAccess.getMediaStyleAccess().getGroup_3_4()); 
+           before(grammarAccess.getMediaStyleAccess().getGroup_3_16()); 
         }
-        // InternalReportDSL.g:35698:6: ( rule__MediaStyle__Group_3_4__0 )
-        // InternalReportDSL.g:35698:7: rule__MediaStyle__Group_3_4__0
+        // InternalReportDSL.g:35615:6: ( rule__MediaStyle__Group_3_16__0 )
+        // InternalReportDSL.g:35615:7: rule__MediaStyle__Group_3_16__0
         {
         pushFollow(FOLLOW_2);
-        rule__MediaStyle__Group_3_4__0();
+        rule__MediaStyle__Group_3_16__0();
 
         state._fsp--;
         if (state.failed) return ;
@@ -140402,528 +142643,176 @@
 
     // $ANTLR start synpred405_InternalReportDSL
     public final void synpred405_InternalReportDSL_fragment() throws RecognitionException {   
-        // InternalReportDSL.g:35703:3: ( ({...}? => ( ( ( rule__MediaStyle__Group_3_5__0 ) ) ) ) )
-        // InternalReportDSL.g:35703:3: ({...}? => ( ( ( rule__MediaStyle__Group_3_5__0 ) ) ) )
-        {
-        // InternalReportDSL.g:35703:3: ({...}? => ( ( ( rule__MediaStyle__Group_3_5__0 ) ) ) )
-        // InternalReportDSL.g:35704:4: {...}? => ( ( ( rule__MediaStyle__Group_3_5__0 ) ) )
-        {
-        if ( ! getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 5) ) {
-            if (state.backtracking>0) {state.failed=true; return ;}
-            throw new FailedPredicateException(input, "synpred405_InternalReportDSL", "getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 5)");
-        }
-        // InternalReportDSL.g:35704:106: ( ( ( rule__MediaStyle__Group_3_5__0 ) ) )
-        // InternalReportDSL.g:35705:5: ( ( rule__MediaStyle__Group_3_5__0 ) )
-        {
-        getUnorderedGroupHelper().select(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 5);
-        // InternalReportDSL.g:35711:5: ( ( rule__MediaStyle__Group_3_5__0 ) )
-        // InternalReportDSL.g:35712:6: ( rule__MediaStyle__Group_3_5__0 )
-        {
-        if ( state.backtracking==0 ) {
-           before(grammarAccess.getMediaStyleAccess().getGroup_3_5()); 
-        }
-        // InternalReportDSL.g:35713:6: ( rule__MediaStyle__Group_3_5__0 )
-        // InternalReportDSL.g:35713:7: rule__MediaStyle__Group_3_5__0
+        // InternalReportDSL.g:35649:2: ( rule__MediaStyle__UnorderedGroup_3__1 )
+        // InternalReportDSL.g:35649:2: rule__MediaStyle__UnorderedGroup_3__1
         {
         pushFollow(FOLLOW_2);
-        rule__MediaStyle__Group_3_5__0();
+        rule__MediaStyle__UnorderedGroup_3__1();
 
         state._fsp--;
         if (state.failed) return ;
 
         }
-
-
-        }
-
-
-        }
-
-
-        }
-
-
-        }
     }
     // $ANTLR end synpred405_InternalReportDSL
 
     // $ANTLR start synpred406_InternalReportDSL
     public final void synpred406_InternalReportDSL_fragment() throws RecognitionException {   
-        // InternalReportDSL.g:35718:3: ( ({...}? => ( ( ( rule__MediaStyle__Group_3_6__0 ) ) ) ) )
-        // InternalReportDSL.g:35718:3: ({...}? => ( ( ( rule__MediaStyle__Group_3_6__0 ) ) ) )
-        {
-        // InternalReportDSL.g:35718:3: ({...}? => ( ( ( rule__MediaStyle__Group_3_6__0 ) ) ) )
-        // InternalReportDSL.g:35719:4: {...}? => ( ( ( rule__MediaStyle__Group_3_6__0 ) ) )
-        {
-        if ( ! getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 6) ) {
-            if (state.backtracking>0) {state.failed=true; return ;}
-            throw new FailedPredicateException(input, "synpred406_InternalReportDSL", "getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 6)");
-        }
-        // InternalReportDSL.g:35719:106: ( ( ( rule__MediaStyle__Group_3_6__0 ) ) )
-        // InternalReportDSL.g:35720:5: ( ( rule__MediaStyle__Group_3_6__0 ) )
-        {
-        getUnorderedGroupHelper().select(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 6);
-        // InternalReportDSL.g:35726:5: ( ( rule__MediaStyle__Group_3_6__0 ) )
-        // InternalReportDSL.g:35727:6: ( rule__MediaStyle__Group_3_6__0 )
-        {
-        if ( state.backtracking==0 ) {
-           before(grammarAccess.getMediaStyleAccess().getGroup_3_6()); 
-        }
-        // InternalReportDSL.g:35728:6: ( rule__MediaStyle__Group_3_6__0 )
-        // InternalReportDSL.g:35728:7: rule__MediaStyle__Group_3_6__0
+        // InternalReportDSL.g:35661:2: ( rule__MediaStyle__UnorderedGroup_3__2 )
+        // InternalReportDSL.g:35661:2: rule__MediaStyle__UnorderedGroup_3__2
         {
         pushFollow(FOLLOW_2);
-        rule__MediaStyle__Group_3_6__0();
+        rule__MediaStyle__UnorderedGroup_3__2();
 
         state._fsp--;
         if (state.failed) return ;
 
         }
-
-
-        }
-
-
-        }
-
-
-        }
-
-
-        }
     }
     // $ANTLR end synpred406_InternalReportDSL
 
     // $ANTLR start synpred407_InternalReportDSL
     public final void synpred407_InternalReportDSL_fragment() throws RecognitionException {   
-        // InternalReportDSL.g:35733:3: ( ({...}? => ( ( ( rule__MediaStyle__Group_3_7__0 ) ) ) ) )
-        // InternalReportDSL.g:35733:3: ({...}? => ( ( ( rule__MediaStyle__Group_3_7__0 ) ) ) )
-        {
-        // InternalReportDSL.g:35733:3: ({...}? => ( ( ( rule__MediaStyle__Group_3_7__0 ) ) ) )
-        // InternalReportDSL.g:35734:4: {...}? => ( ( ( rule__MediaStyle__Group_3_7__0 ) ) )
-        {
-        if ( ! getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 7) ) {
-            if (state.backtracking>0) {state.failed=true; return ;}
-            throw new FailedPredicateException(input, "synpred407_InternalReportDSL", "getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 7)");
-        }
-        // InternalReportDSL.g:35734:106: ( ( ( rule__MediaStyle__Group_3_7__0 ) ) )
-        // InternalReportDSL.g:35735:5: ( ( rule__MediaStyle__Group_3_7__0 ) )
-        {
-        getUnorderedGroupHelper().select(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 7);
-        // InternalReportDSL.g:35741:5: ( ( rule__MediaStyle__Group_3_7__0 ) )
-        // InternalReportDSL.g:35742:6: ( rule__MediaStyle__Group_3_7__0 )
-        {
-        if ( state.backtracking==0 ) {
-           before(grammarAccess.getMediaStyleAccess().getGroup_3_7()); 
-        }
-        // InternalReportDSL.g:35743:6: ( rule__MediaStyle__Group_3_7__0 )
-        // InternalReportDSL.g:35743:7: rule__MediaStyle__Group_3_7__0
+        // InternalReportDSL.g:35673:2: ( rule__MediaStyle__UnorderedGroup_3__3 )
+        // InternalReportDSL.g:35673:2: rule__MediaStyle__UnorderedGroup_3__3
         {
         pushFollow(FOLLOW_2);
-        rule__MediaStyle__Group_3_7__0();
+        rule__MediaStyle__UnorderedGroup_3__3();
 
         state._fsp--;
         if (state.failed) return ;
 
         }
-
-
-        }
-
-
-        }
-
-
-        }
-
-
-        }
     }
     // $ANTLR end synpred407_InternalReportDSL
 
     // $ANTLR start synpred408_InternalReportDSL
     public final void synpred408_InternalReportDSL_fragment() throws RecognitionException {   
-        // InternalReportDSL.g:35748:3: ( ({...}? => ( ( ( rule__MediaStyle__Group_3_8__0 ) ) ) ) )
-        // InternalReportDSL.g:35748:3: ({...}? => ( ( ( rule__MediaStyle__Group_3_8__0 ) ) ) )
-        {
-        // InternalReportDSL.g:35748:3: ({...}? => ( ( ( rule__MediaStyle__Group_3_8__0 ) ) ) )
-        // InternalReportDSL.g:35749:4: {...}? => ( ( ( rule__MediaStyle__Group_3_8__0 ) ) )
-        {
-        if ( ! getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 8) ) {
-            if (state.backtracking>0) {state.failed=true; return ;}
-            throw new FailedPredicateException(input, "synpred408_InternalReportDSL", "getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 8)");
-        }
-        // InternalReportDSL.g:35749:106: ( ( ( rule__MediaStyle__Group_3_8__0 ) ) )
-        // InternalReportDSL.g:35750:5: ( ( rule__MediaStyle__Group_3_8__0 ) )
-        {
-        getUnorderedGroupHelper().select(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 8);
-        // InternalReportDSL.g:35756:5: ( ( rule__MediaStyle__Group_3_8__0 ) )
-        // InternalReportDSL.g:35757:6: ( rule__MediaStyle__Group_3_8__0 )
-        {
-        if ( state.backtracking==0 ) {
-           before(grammarAccess.getMediaStyleAccess().getGroup_3_8()); 
-        }
-        // InternalReportDSL.g:35758:6: ( rule__MediaStyle__Group_3_8__0 )
-        // InternalReportDSL.g:35758:7: rule__MediaStyle__Group_3_8__0
+        // InternalReportDSL.g:35685:2: ( rule__MediaStyle__UnorderedGroup_3__4 )
+        // InternalReportDSL.g:35685:2: rule__MediaStyle__UnorderedGroup_3__4
         {
         pushFollow(FOLLOW_2);
-        rule__MediaStyle__Group_3_8__0();
+        rule__MediaStyle__UnorderedGroup_3__4();
 
         state._fsp--;
         if (state.failed) return ;
 
         }
-
-
-        }
-
-
-        }
-
-
-        }
-
-
-        }
     }
     // $ANTLR end synpred408_InternalReportDSL
 
     // $ANTLR start synpred409_InternalReportDSL
     public final void synpred409_InternalReportDSL_fragment() throws RecognitionException {   
-        // InternalReportDSL.g:35763:3: ( ({...}? => ( ( ( rule__MediaStyle__Group_3_9__0 ) ) ) ) )
-        // InternalReportDSL.g:35763:3: ({...}? => ( ( ( rule__MediaStyle__Group_3_9__0 ) ) ) )
-        {
-        // InternalReportDSL.g:35763:3: ({...}? => ( ( ( rule__MediaStyle__Group_3_9__0 ) ) ) )
-        // InternalReportDSL.g:35764:4: {...}? => ( ( ( rule__MediaStyle__Group_3_9__0 ) ) )
-        {
-        if ( ! getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 9) ) {
-            if (state.backtracking>0) {state.failed=true; return ;}
-            throw new FailedPredicateException(input, "synpred409_InternalReportDSL", "getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 9)");
-        }
-        // InternalReportDSL.g:35764:106: ( ( ( rule__MediaStyle__Group_3_9__0 ) ) )
-        // InternalReportDSL.g:35765:5: ( ( rule__MediaStyle__Group_3_9__0 ) )
-        {
-        getUnorderedGroupHelper().select(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 9);
-        // InternalReportDSL.g:35771:5: ( ( rule__MediaStyle__Group_3_9__0 ) )
-        // InternalReportDSL.g:35772:6: ( rule__MediaStyle__Group_3_9__0 )
-        {
-        if ( state.backtracking==0 ) {
-           before(grammarAccess.getMediaStyleAccess().getGroup_3_9()); 
-        }
-        // InternalReportDSL.g:35773:6: ( rule__MediaStyle__Group_3_9__0 )
-        // InternalReportDSL.g:35773:7: rule__MediaStyle__Group_3_9__0
+        // InternalReportDSL.g:35697:2: ( rule__MediaStyle__UnorderedGroup_3__5 )
+        // InternalReportDSL.g:35697:2: rule__MediaStyle__UnorderedGroup_3__5
         {
         pushFollow(FOLLOW_2);
-        rule__MediaStyle__Group_3_9__0();
+        rule__MediaStyle__UnorderedGroup_3__5();
 
         state._fsp--;
         if (state.failed) return ;
 
         }
-
-
-        }
-
-
-        }
-
-
-        }
-
-
-        }
     }
     // $ANTLR end synpred409_InternalReportDSL
 
     // $ANTLR start synpred410_InternalReportDSL
     public final void synpred410_InternalReportDSL_fragment() throws RecognitionException {   
-        // InternalReportDSL.g:35778:3: ( ({...}? => ( ( ( rule__MediaStyle__Group_3_10__0 ) ) ) ) )
-        // InternalReportDSL.g:35778:3: ({...}? => ( ( ( rule__MediaStyle__Group_3_10__0 ) ) ) )
-        {
-        // InternalReportDSL.g:35778:3: ({...}? => ( ( ( rule__MediaStyle__Group_3_10__0 ) ) ) )
-        // InternalReportDSL.g:35779:4: {...}? => ( ( ( rule__MediaStyle__Group_3_10__0 ) ) )
-        {
-        if ( ! getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 10) ) {
-            if (state.backtracking>0) {state.failed=true; return ;}
-            throw new FailedPredicateException(input, "synpred410_InternalReportDSL", "getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 10)");
-        }
-        // InternalReportDSL.g:35779:107: ( ( ( rule__MediaStyle__Group_3_10__0 ) ) )
-        // InternalReportDSL.g:35780:5: ( ( rule__MediaStyle__Group_3_10__0 ) )
-        {
-        getUnorderedGroupHelper().select(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 10);
-        // InternalReportDSL.g:35786:5: ( ( rule__MediaStyle__Group_3_10__0 ) )
-        // InternalReportDSL.g:35787:6: ( rule__MediaStyle__Group_3_10__0 )
-        {
-        if ( state.backtracking==0 ) {
-           before(grammarAccess.getMediaStyleAccess().getGroup_3_10()); 
-        }
-        // InternalReportDSL.g:35788:6: ( rule__MediaStyle__Group_3_10__0 )
-        // InternalReportDSL.g:35788:7: rule__MediaStyle__Group_3_10__0
+        // InternalReportDSL.g:35709:2: ( rule__MediaStyle__UnorderedGroup_3__6 )
+        // InternalReportDSL.g:35709:2: rule__MediaStyle__UnorderedGroup_3__6
         {
         pushFollow(FOLLOW_2);
-        rule__MediaStyle__Group_3_10__0();
+        rule__MediaStyle__UnorderedGroup_3__6();
 
         state._fsp--;
         if (state.failed) return ;
 
         }
-
-
-        }
-
-
-        }
-
-
-        }
-
-
-        }
     }
     // $ANTLR end synpred410_InternalReportDSL
 
     // $ANTLR start synpred411_InternalReportDSL
     public final void synpred411_InternalReportDSL_fragment() throws RecognitionException {   
-        // InternalReportDSL.g:35793:3: ( ({...}? => ( ( ( rule__MediaStyle__Group_3_11__0 ) ) ) ) )
-        // InternalReportDSL.g:35793:3: ({...}? => ( ( ( rule__MediaStyle__Group_3_11__0 ) ) ) )
-        {
-        // InternalReportDSL.g:35793:3: ({...}? => ( ( ( rule__MediaStyle__Group_3_11__0 ) ) ) )
-        // InternalReportDSL.g:35794:4: {...}? => ( ( ( rule__MediaStyle__Group_3_11__0 ) ) )
-        {
-        if ( ! getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 11) ) {
-            if (state.backtracking>0) {state.failed=true; return ;}
-            throw new FailedPredicateException(input, "synpred411_InternalReportDSL", "getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 11)");
-        }
-        // InternalReportDSL.g:35794:107: ( ( ( rule__MediaStyle__Group_3_11__0 ) ) )
-        // InternalReportDSL.g:35795:5: ( ( rule__MediaStyle__Group_3_11__0 ) )
-        {
-        getUnorderedGroupHelper().select(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 11);
-        // InternalReportDSL.g:35801:5: ( ( rule__MediaStyle__Group_3_11__0 ) )
-        // InternalReportDSL.g:35802:6: ( rule__MediaStyle__Group_3_11__0 )
-        {
-        if ( state.backtracking==0 ) {
-           before(grammarAccess.getMediaStyleAccess().getGroup_3_11()); 
-        }
-        // InternalReportDSL.g:35803:6: ( rule__MediaStyle__Group_3_11__0 )
-        // InternalReportDSL.g:35803:7: rule__MediaStyle__Group_3_11__0
+        // InternalReportDSL.g:35721:2: ( rule__MediaStyle__UnorderedGroup_3__7 )
+        // InternalReportDSL.g:35721:2: rule__MediaStyle__UnorderedGroup_3__7
         {
         pushFollow(FOLLOW_2);
-        rule__MediaStyle__Group_3_11__0();
+        rule__MediaStyle__UnorderedGroup_3__7();
 
         state._fsp--;
         if (state.failed) return ;
 
         }
-
-
-        }
-
-
-        }
-
-
-        }
-
-
-        }
     }
     // $ANTLR end synpred411_InternalReportDSL
 
     // $ANTLR start synpred412_InternalReportDSL
     public final void synpred412_InternalReportDSL_fragment() throws RecognitionException {   
-        // InternalReportDSL.g:35808:3: ( ({...}? => ( ( ( rule__MediaStyle__Group_3_12__0 ) ) ) ) )
-        // InternalReportDSL.g:35808:3: ({...}? => ( ( ( rule__MediaStyle__Group_3_12__0 ) ) ) )
-        {
-        // InternalReportDSL.g:35808:3: ({...}? => ( ( ( rule__MediaStyle__Group_3_12__0 ) ) ) )
-        // InternalReportDSL.g:35809:4: {...}? => ( ( ( rule__MediaStyle__Group_3_12__0 ) ) )
-        {
-        if ( ! getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 12) ) {
-            if (state.backtracking>0) {state.failed=true; return ;}
-            throw new FailedPredicateException(input, "synpred412_InternalReportDSL", "getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 12)");
-        }
-        // InternalReportDSL.g:35809:107: ( ( ( rule__MediaStyle__Group_3_12__0 ) ) )
-        // InternalReportDSL.g:35810:5: ( ( rule__MediaStyle__Group_3_12__0 ) )
-        {
-        getUnorderedGroupHelper().select(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 12);
-        // InternalReportDSL.g:35816:5: ( ( rule__MediaStyle__Group_3_12__0 ) )
-        // InternalReportDSL.g:35817:6: ( rule__MediaStyle__Group_3_12__0 )
-        {
-        if ( state.backtracking==0 ) {
-           before(grammarAccess.getMediaStyleAccess().getGroup_3_12()); 
-        }
-        // InternalReportDSL.g:35818:6: ( rule__MediaStyle__Group_3_12__0 )
-        // InternalReportDSL.g:35818:7: rule__MediaStyle__Group_3_12__0
+        // InternalReportDSL.g:35733:2: ( rule__MediaStyle__UnorderedGroup_3__8 )
+        // InternalReportDSL.g:35733:2: rule__MediaStyle__UnorderedGroup_3__8
         {
         pushFollow(FOLLOW_2);
-        rule__MediaStyle__Group_3_12__0();
+        rule__MediaStyle__UnorderedGroup_3__8();
 
         state._fsp--;
         if (state.failed) return ;
 
         }
-
-
-        }
-
-
-        }
-
-
-        }
-
-
-        }
     }
     // $ANTLR end synpred412_InternalReportDSL
 
     // $ANTLR start synpred413_InternalReportDSL
     public final void synpred413_InternalReportDSL_fragment() throws RecognitionException {   
-        // InternalReportDSL.g:35823:3: ( ({...}? => ( ( ( rule__MediaStyle__Group_3_13__0 ) ) ) ) )
-        // InternalReportDSL.g:35823:3: ({...}? => ( ( ( rule__MediaStyle__Group_3_13__0 ) ) ) )
-        {
-        // InternalReportDSL.g:35823:3: ({...}? => ( ( ( rule__MediaStyle__Group_3_13__0 ) ) ) )
-        // InternalReportDSL.g:35824:4: {...}? => ( ( ( rule__MediaStyle__Group_3_13__0 ) ) )
-        {
-        if ( ! getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 13) ) {
-            if (state.backtracking>0) {state.failed=true; return ;}
-            throw new FailedPredicateException(input, "synpred413_InternalReportDSL", "getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 13)");
-        }
-        // InternalReportDSL.g:35824:107: ( ( ( rule__MediaStyle__Group_3_13__0 ) ) )
-        // InternalReportDSL.g:35825:5: ( ( rule__MediaStyle__Group_3_13__0 ) )
-        {
-        getUnorderedGroupHelper().select(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 13);
-        // InternalReportDSL.g:35831:5: ( ( rule__MediaStyle__Group_3_13__0 ) )
-        // InternalReportDSL.g:35832:6: ( rule__MediaStyle__Group_3_13__0 )
-        {
-        if ( state.backtracking==0 ) {
-           before(grammarAccess.getMediaStyleAccess().getGroup_3_13()); 
-        }
-        // InternalReportDSL.g:35833:6: ( rule__MediaStyle__Group_3_13__0 )
-        // InternalReportDSL.g:35833:7: rule__MediaStyle__Group_3_13__0
+        // InternalReportDSL.g:35745:2: ( rule__MediaStyle__UnorderedGroup_3__9 )
+        // InternalReportDSL.g:35745:2: rule__MediaStyle__UnorderedGroup_3__9
         {
         pushFollow(FOLLOW_2);
-        rule__MediaStyle__Group_3_13__0();
+        rule__MediaStyle__UnorderedGroup_3__9();
 
         state._fsp--;
         if (state.failed) return ;
 
         }
-
-
-        }
-
-
-        }
-
-
-        }
-
-
-        }
     }
     // $ANTLR end synpred413_InternalReportDSL
 
     // $ANTLR start synpred414_InternalReportDSL
     public final void synpred414_InternalReportDSL_fragment() throws RecognitionException {   
-        // InternalReportDSL.g:35838:3: ( ({...}? => ( ( ( rule__MediaStyle__Group_3_14__0 ) ) ) ) )
-        // InternalReportDSL.g:35838:3: ({...}? => ( ( ( rule__MediaStyle__Group_3_14__0 ) ) ) )
-        {
-        // InternalReportDSL.g:35838:3: ({...}? => ( ( ( rule__MediaStyle__Group_3_14__0 ) ) ) )
-        // InternalReportDSL.g:35839:4: {...}? => ( ( ( rule__MediaStyle__Group_3_14__0 ) ) )
-        {
-        if ( ! getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 14) ) {
-            if (state.backtracking>0) {state.failed=true; return ;}
-            throw new FailedPredicateException(input, "synpred414_InternalReportDSL", "getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 14)");
-        }
-        // InternalReportDSL.g:35839:107: ( ( ( rule__MediaStyle__Group_3_14__0 ) ) )
-        // InternalReportDSL.g:35840:5: ( ( rule__MediaStyle__Group_3_14__0 ) )
-        {
-        getUnorderedGroupHelper().select(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 14);
-        // InternalReportDSL.g:35846:5: ( ( rule__MediaStyle__Group_3_14__0 ) )
-        // InternalReportDSL.g:35847:6: ( rule__MediaStyle__Group_3_14__0 )
-        {
-        if ( state.backtracking==0 ) {
-           before(grammarAccess.getMediaStyleAccess().getGroup_3_14()); 
-        }
-        // InternalReportDSL.g:35848:6: ( rule__MediaStyle__Group_3_14__0 )
-        // InternalReportDSL.g:35848:7: rule__MediaStyle__Group_3_14__0
+        // InternalReportDSL.g:35757:2: ( rule__MediaStyle__UnorderedGroup_3__10 )
+        // InternalReportDSL.g:35757:2: rule__MediaStyle__UnorderedGroup_3__10
         {
         pushFollow(FOLLOW_2);
-        rule__MediaStyle__Group_3_14__0();
+        rule__MediaStyle__UnorderedGroup_3__10();
 
         state._fsp--;
         if (state.failed) return ;
 
         }
-
-
-        }
-
-
-        }
-
-
-        }
-
-
-        }
     }
     // $ANTLR end synpred414_InternalReportDSL
 
     // $ANTLR start synpred415_InternalReportDSL
     public final void synpred415_InternalReportDSL_fragment() throws RecognitionException {   
-        // InternalReportDSL.g:35853:3: ( ({...}? => ( ( ( rule__MediaStyle__Group_3_15__0 ) ) ) ) )
-        // InternalReportDSL.g:35853:3: ({...}? => ( ( ( rule__MediaStyle__Group_3_15__0 ) ) ) )
-        {
-        // InternalReportDSL.g:35853:3: ({...}? => ( ( ( rule__MediaStyle__Group_3_15__0 ) ) ) )
-        // InternalReportDSL.g:35854:4: {...}? => ( ( ( rule__MediaStyle__Group_3_15__0 ) ) )
-        {
-        if ( ! getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 15) ) {
-            if (state.backtracking>0) {state.failed=true; return ;}
-            throw new FailedPredicateException(input, "synpred415_InternalReportDSL", "getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 15)");
-        }
-        // InternalReportDSL.g:35854:107: ( ( ( rule__MediaStyle__Group_3_15__0 ) ) )
-        // InternalReportDSL.g:35855:5: ( ( rule__MediaStyle__Group_3_15__0 ) )
-        {
-        getUnorderedGroupHelper().select(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 15);
-        // InternalReportDSL.g:35861:5: ( ( rule__MediaStyle__Group_3_15__0 ) )
-        // InternalReportDSL.g:35862:6: ( rule__MediaStyle__Group_3_15__0 )
-        {
-        if ( state.backtracking==0 ) {
-           before(grammarAccess.getMediaStyleAccess().getGroup_3_15()); 
-        }
-        // InternalReportDSL.g:35863:6: ( rule__MediaStyle__Group_3_15__0 )
-        // InternalReportDSL.g:35863:7: rule__MediaStyle__Group_3_15__0
+        // InternalReportDSL.g:35769:2: ( rule__MediaStyle__UnorderedGroup_3__11 )
+        // InternalReportDSL.g:35769:2: rule__MediaStyle__UnorderedGroup_3__11
         {
         pushFollow(FOLLOW_2);
-        rule__MediaStyle__Group_3_15__0();
+        rule__MediaStyle__UnorderedGroup_3__11();
 
         state._fsp--;
         if (state.failed) return ;
 
         }
-
-
-        }
-
-
-        }
-
-
-        }
-
-
-        }
     }
     // $ANTLR end synpred415_InternalReportDSL
 
     // $ANTLR start synpred416_InternalReportDSL
     public final void synpred416_InternalReportDSL_fragment() throws RecognitionException {   
-        // InternalReportDSL.g:35897:2: ( rule__MediaStyle__UnorderedGroup_3__1 )
-        // InternalReportDSL.g:35897:2: rule__MediaStyle__UnorderedGroup_3__1
+        // InternalReportDSL.g:35781:2: ( rule__MediaStyle__UnorderedGroup_3__12 )
+        // InternalReportDSL.g:35781:2: rule__MediaStyle__UnorderedGroup_3__12
         {
         pushFollow(FOLLOW_2);
-        rule__MediaStyle__UnorderedGroup_3__1();
+        rule__MediaStyle__UnorderedGroup_3__12();
 
         state._fsp--;
         if (state.failed) return ;
@@ -140934,11 +142823,11 @@
 
     // $ANTLR start synpred417_InternalReportDSL
     public final void synpred417_InternalReportDSL_fragment() throws RecognitionException {   
-        // InternalReportDSL.g:35909:2: ( rule__MediaStyle__UnorderedGroup_3__2 )
-        // InternalReportDSL.g:35909:2: rule__MediaStyle__UnorderedGroup_3__2
+        // InternalReportDSL.g:35793:2: ( rule__MediaStyle__UnorderedGroup_3__13 )
+        // InternalReportDSL.g:35793:2: rule__MediaStyle__UnorderedGroup_3__13
         {
         pushFollow(FOLLOW_2);
-        rule__MediaStyle__UnorderedGroup_3__2();
+        rule__MediaStyle__UnorderedGroup_3__13();
 
         state._fsp--;
         if (state.failed) return ;
@@ -140949,11 +142838,11 @@
 
     // $ANTLR start synpred418_InternalReportDSL
     public final void synpred418_InternalReportDSL_fragment() throws RecognitionException {   
-        // InternalReportDSL.g:35921:2: ( rule__MediaStyle__UnorderedGroup_3__3 )
-        // InternalReportDSL.g:35921:2: rule__MediaStyle__UnorderedGroup_3__3
+        // InternalReportDSL.g:35805:2: ( rule__MediaStyle__UnorderedGroup_3__14 )
+        // InternalReportDSL.g:35805:2: rule__MediaStyle__UnorderedGroup_3__14
         {
         pushFollow(FOLLOW_2);
-        rule__MediaStyle__UnorderedGroup_3__3();
+        rule__MediaStyle__UnorderedGroup_3__14();
 
         state._fsp--;
         if (state.failed) return ;
@@ -140964,11 +142853,11 @@
 
     // $ANTLR start synpred419_InternalReportDSL
     public final void synpred419_InternalReportDSL_fragment() throws RecognitionException {   
-        // InternalReportDSL.g:35933:2: ( rule__MediaStyle__UnorderedGroup_3__4 )
-        // InternalReportDSL.g:35933:2: rule__MediaStyle__UnorderedGroup_3__4
+        // InternalReportDSL.g:35817:2: ( rule__MediaStyle__UnorderedGroup_3__15 )
+        // InternalReportDSL.g:35817:2: rule__MediaStyle__UnorderedGroup_3__15
         {
         pushFollow(FOLLOW_2);
-        rule__MediaStyle__UnorderedGroup_3__4();
+        rule__MediaStyle__UnorderedGroup_3__15();
 
         state._fsp--;
         if (state.failed) return ;
@@ -140979,11 +142868,11 @@
 
     // $ANTLR start synpred420_InternalReportDSL
     public final void synpred420_InternalReportDSL_fragment() throws RecognitionException {   
-        // InternalReportDSL.g:35945:2: ( rule__MediaStyle__UnorderedGroup_3__5 )
-        // InternalReportDSL.g:35945:2: rule__MediaStyle__UnorderedGroup_3__5
+        // InternalReportDSL.g:35829:2: ( rule__MediaStyle__UnorderedGroup_3__16 )
+        // InternalReportDSL.g:35829:2: rule__MediaStyle__UnorderedGroup_3__16
         {
         pushFollow(FOLLOW_2);
-        rule__MediaStyle__UnorderedGroup_3__5();
+        rule__MediaStyle__UnorderedGroup_3__16();
 
         state._fsp--;
         if (state.failed) return ;
@@ -140994,11 +142883,11 @@
 
     // $ANTLR start synpred421_InternalReportDSL
     public final void synpred421_InternalReportDSL_fragment() throws RecognitionException {   
-        // InternalReportDSL.g:35957:2: ( rule__MediaStyle__UnorderedGroup_3__6 )
-        // InternalReportDSL.g:35957:2: rule__MediaStyle__UnorderedGroup_3__6
+        // InternalReportDSL.g:35841:2: ( rule__MediaStyle__UnorderedGroup_3__17 )
+        // InternalReportDSL.g:35841:2: rule__MediaStyle__UnorderedGroup_3__17
         {
         pushFollow(FOLLOW_2);
-        rule__MediaStyle__UnorderedGroup_3__6();
+        rule__MediaStyle__UnorderedGroup_3__17();
 
         state._fsp--;
         if (state.failed) return ;
@@ -141009,11 +142898,11 @@
 
     // $ANTLR start synpred422_InternalReportDSL
     public final void synpred422_InternalReportDSL_fragment() throws RecognitionException {   
-        // InternalReportDSL.g:35969:2: ( rule__MediaStyle__UnorderedGroup_3__7 )
-        // InternalReportDSL.g:35969:2: rule__MediaStyle__UnorderedGroup_3__7
+        // InternalReportDSL.g:35865:2: ( rule__Grid__UnorderedGroup_3__0 )
+        // InternalReportDSL.g:35865:2: rule__Grid__UnorderedGroup_3__0
         {
         pushFollow(FOLLOW_2);
-        rule__MediaStyle__UnorderedGroup_3__7();
+        rule__Grid__UnorderedGroup_3__0();
 
         state._fsp--;
         if (state.failed) return ;
@@ -141024,41 +142913,105 @@
 
     // $ANTLR start synpred423_InternalReportDSL
     public final void synpred423_InternalReportDSL_fragment() throws RecognitionException {   
-        // InternalReportDSL.g:35981:2: ( rule__MediaStyle__UnorderedGroup_3__8 )
-        // InternalReportDSL.g:35981:2: rule__MediaStyle__UnorderedGroup_3__8
+        // InternalReportDSL.g:35880:3: ( ({...}? => ( ( ( rule__Grid__Group_3_0__0 ) ) ) ) )
+        // InternalReportDSL.g:35880:3: ({...}? => ( ( ( rule__Grid__Group_3_0__0 ) ) ) )
+        {
+        // InternalReportDSL.g:35880:3: ({...}? => ( ( ( rule__Grid__Group_3_0__0 ) ) ) )
+        // InternalReportDSL.g:35881:4: {...}? => ( ( ( rule__Grid__Group_3_0__0 ) ) )
+        {
+        if ( ! getUnorderedGroupHelper().canSelect(grammarAccess.getGridAccess().getUnorderedGroup_3(), 0) ) {
+            if (state.backtracking>0) {state.failed=true; return ;}
+            throw new FailedPredicateException(input, "synpred423_InternalReportDSL", "getUnorderedGroupHelper().canSelect(grammarAccess.getGridAccess().getUnorderedGroup_3(), 0)");
+        }
+        // InternalReportDSL.g:35881:100: ( ( ( rule__Grid__Group_3_0__0 ) ) )
+        // InternalReportDSL.g:35882:5: ( ( rule__Grid__Group_3_0__0 ) )
+        {
+        getUnorderedGroupHelper().select(grammarAccess.getGridAccess().getUnorderedGroup_3(), 0);
+        // InternalReportDSL.g:35888:5: ( ( rule__Grid__Group_3_0__0 ) )
+        // InternalReportDSL.g:35889:6: ( rule__Grid__Group_3_0__0 )
+        {
+        if ( state.backtracking==0 ) {
+           before(grammarAccess.getGridAccess().getGroup_3_0()); 
+        }
+        // InternalReportDSL.g:35890:6: ( rule__Grid__Group_3_0__0 )
+        // InternalReportDSL.g:35890:7: rule__Grid__Group_3_0__0
         {
         pushFollow(FOLLOW_2);
-        rule__MediaStyle__UnorderedGroup_3__8();
+        rule__Grid__Group_3_0__0();
 
         state._fsp--;
         if (state.failed) return ;
 
         }
+
+
+        }
+
+
+        }
+
+
+        }
+
+
+        }
     }
     // $ANTLR end synpred423_InternalReportDSL
 
     // $ANTLR start synpred424_InternalReportDSL
     public final void synpred424_InternalReportDSL_fragment() throws RecognitionException {   
-        // InternalReportDSL.g:35993:2: ( rule__MediaStyle__UnorderedGroup_3__9 )
-        // InternalReportDSL.g:35993:2: rule__MediaStyle__UnorderedGroup_3__9
+        // InternalReportDSL.g:35895:3: ( ({...}? => ( ( ( rule__Grid__Group_3_1__0 ) ) ) ) )
+        // InternalReportDSL.g:35895:3: ({...}? => ( ( ( rule__Grid__Group_3_1__0 ) ) ) )
+        {
+        // InternalReportDSL.g:35895:3: ({...}? => ( ( ( rule__Grid__Group_3_1__0 ) ) ) )
+        // InternalReportDSL.g:35896:4: {...}? => ( ( ( rule__Grid__Group_3_1__0 ) ) )
+        {
+        if ( ! getUnorderedGroupHelper().canSelect(grammarAccess.getGridAccess().getUnorderedGroup_3(), 1) ) {
+            if (state.backtracking>0) {state.failed=true; return ;}
+            throw new FailedPredicateException(input, "synpred424_InternalReportDSL", "getUnorderedGroupHelper().canSelect(grammarAccess.getGridAccess().getUnorderedGroup_3(), 1)");
+        }
+        // InternalReportDSL.g:35896:100: ( ( ( rule__Grid__Group_3_1__0 ) ) )
+        // InternalReportDSL.g:35897:5: ( ( rule__Grid__Group_3_1__0 ) )
+        {
+        getUnorderedGroupHelper().select(grammarAccess.getGridAccess().getUnorderedGroup_3(), 1);
+        // InternalReportDSL.g:35903:5: ( ( rule__Grid__Group_3_1__0 ) )
+        // InternalReportDSL.g:35904:6: ( rule__Grid__Group_3_1__0 )
+        {
+        if ( state.backtracking==0 ) {
+           before(grammarAccess.getGridAccess().getGroup_3_1()); 
+        }
+        // InternalReportDSL.g:35905:6: ( rule__Grid__Group_3_1__0 )
+        // InternalReportDSL.g:35905:7: rule__Grid__Group_3_1__0
         {
         pushFollow(FOLLOW_2);
-        rule__MediaStyle__UnorderedGroup_3__9();
+        rule__Grid__Group_3_1__0();
 
         state._fsp--;
         if (state.failed) return ;
 
         }
+
+
+        }
+
+
+        }
+
+
+        }
+
+
+        }
     }
     // $ANTLR end synpred424_InternalReportDSL
 
     // $ANTLR start synpred425_InternalReportDSL
     public final void synpred425_InternalReportDSL_fragment() throws RecognitionException {   
-        // InternalReportDSL.g:36005:2: ( rule__MediaStyle__UnorderedGroup_3__10 )
-        // InternalReportDSL.g:36005:2: rule__MediaStyle__UnorderedGroup_3__10
+        // InternalReportDSL.g:35939:2: ( rule__Grid__UnorderedGroup_3__1 )
+        // InternalReportDSL.g:35939:2: rule__Grid__UnorderedGroup_3__1
         {
         pushFollow(FOLLOW_2);
-        rule__MediaStyle__UnorderedGroup_3__10();
+        rule__Grid__UnorderedGroup_3__1();
 
         state._fsp--;
         if (state.failed) return ;
@@ -141069,11 +143022,11 @@
 
     // $ANTLR start synpred426_InternalReportDSL
     public final void synpred426_InternalReportDSL_fragment() throws RecognitionException {   
-        // InternalReportDSL.g:36017:2: ( rule__MediaStyle__UnorderedGroup_3__11 )
-        // InternalReportDSL.g:36017:2: rule__MediaStyle__UnorderedGroup_3__11
+        // InternalReportDSL.g:35951:2: ( rule__Grid__UnorderedGroup_3__2 )
+        // InternalReportDSL.g:35951:2: rule__Grid__UnorderedGroup_3__2
         {
         pushFollow(FOLLOW_2);
-        rule__MediaStyle__UnorderedGroup_3__11();
+        rule__Grid__UnorderedGroup_3__2();
 
         state._fsp--;
         if (state.failed) return ;
@@ -141084,11 +143037,11 @@
 
     // $ANTLR start synpred427_InternalReportDSL
     public final void synpred427_InternalReportDSL_fragment() throws RecognitionException {   
-        // InternalReportDSL.g:36029:2: ( rule__MediaStyle__UnorderedGroup_3__12 )
-        // InternalReportDSL.g:36029:2: rule__MediaStyle__UnorderedGroup_3__12
+        // InternalReportDSL.g:35975:2: ( rule__GridRow__UnorderedGroup_3__0 )
+        // InternalReportDSL.g:35975:2: rule__GridRow__UnorderedGroup_3__0
         {
         pushFollow(FOLLOW_2);
-        rule__MediaStyle__UnorderedGroup_3__12();
+        rule__GridRow__UnorderedGroup_3__0();
 
         state._fsp--;
         if (state.failed) return ;
@@ -141099,41 +143052,105 @@
 
     // $ANTLR start synpred428_InternalReportDSL
     public final void synpred428_InternalReportDSL_fragment() throws RecognitionException {   
-        // InternalReportDSL.g:36041:2: ( rule__MediaStyle__UnorderedGroup_3__13 )
-        // InternalReportDSL.g:36041:2: rule__MediaStyle__UnorderedGroup_3__13
+        // InternalReportDSL.g:35990:3: ( ({...}? => ( ( ( rule__GridRow__Group_3_0__0 ) ) ) ) )
+        // InternalReportDSL.g:35990:3: ({...}? => ( ( ( rule__GridRow__Group_3_0__0 ) ) ) )
+        {
+        // InternalReportDSL.g:35990:3: ({...}? => ( ( ( rule__GridRow__Group_3_0__0 ) ) ) )
+        // InternalReportDSL.g:35991:4: {...}? => ( ( ( rule__GridRow__Group_3_0__0 ) ) )
+        {
+        if ( ! getUnorderedGroupHelper().canSelect(grammarAccess.getGridRowAccess().getUnorderedGroup_3(), 0) ) {
+            if (state.backtracking>0) {state.failed=true; return ;}
+            throw new FailedPredicateException(input, "synpred428_InternalReportDSL", "getUnorderedGroupHelper().canSelect(grammarAccess.getGridRowAccess().getUnorderedGroup_3(), 0)");
+        }
+        // InternalReportDSL.g:35991:103: ( ( ( rule__GridRow__Group_3_0__0 ) ) )
+        // InternalReportDSL.g:35992:5: ( ( rule__GridRow__Group_3_0__0 ) )
+        {
+        getUnorderedGroupHelper().select(grammarAccess.getGridRowAccess().getUnorderedGroup_3(), 0);
+        // InternalReportDSL.g:35998:5: ( ( rule__GridRow__Group_3_0__0 ) )
+        // InternalReportDSL.g:35999:6: ( rule__GridRow__Group_3_0__0 )
+        {
+        if ( state.backtracking==0 ) {
+           before(grammarAccess.getGridRowAccess().getGroup_3_0()); 
+        }
+        // InternalReportDSL.g:36000:6: ( rule__GridRow__Group_3_0__0 )
+        // InternalReportDSL.g:36000:7: rule__GridRow__Group_3_0__0
         {
         pushFollow(FOLLOW_2);
-        rule__MediaStyle__UnorderedGroup_3__13();
+        rule__GridRow__Group_3_0__0();
 
         state._fsp--;
         if (state.failed) return ;
 
         }
+
+
+        }
+
+
+        }
+
+
+        }
+
+
+        }
     }
     // $ANTLR end synpred428_InternalReportDSL
 
     // $ANTLR start synpred429_InternalReportDSL
     public final void synpred429_InternalReportDSL_fragment() throws RecognitionException {   
-        // InternalReportDSL.g:36053:2: ( rule__MediaStyle__UnorderedGroup_3__14 )
-        // InternalReportDSL.g:36053:2: rule__MediaStyle__UnorderedGroup_3__14
+        // InternalReportDSL.g:36005:3: ( ({...}? => ( ( ( rule__GridRow__Group_3_1__0 ) ) ) ) )
+        // InternalReportDSL.g:36005:3: ({...}? => ( ( ( rule__GridRow__Group_3_1__0 ) ) ) )
+        {
+        // InternalReportDSL.g:36005:3: ({...}? => ( ( ( rule__GridRow__Group_3_1__0 ) ) ) )
+        // InternalReportDSL.g:36006:4: {...}? => ( ( ( rule__GridRow__Group_3_1__0 ) ) )
+        {
+        if ( ! getUnorderedGroupHelper().canSelect(grammarAccess.getGridRowAccess().getUnorderedGroup_3(), 1) ) {
+            if (state.backtracking>0) {state.failed=true; return ;}
+            throw new FailedPredicateException(input, "synpred429_InternalReportDSL", "getUnorderedGroupHelper().canSelect(grammarAccess.getGridRowAccess().getUnorderedGroup_3(), 1)");
+        }
+        // InternalReportDSL.g:36006:103: ( ( ( rule__GridRow__Group_3_1__0 ) ) )
+        // InternalReportDSL.g:36007:5: ( ( rule__GridRow__Group_3_1__0 ) )
+        {
+        getUnorderedGroupHelper().select(grammarAccess.getGridRowAccess().getUnorderedGroup_3(), 1);
+        // InternalReportDSL.g:36013:5: ( ( rule__GridRow__Group_3_1__0 ) )
+        // InternalReportDSL.g:36014:6: ( rule__GridRow__Group_3_1__0 )
+        {
+        if ( state.backtracking==0 ) {
+           before(grammarAccess.getGridRowAccess().getGroup_3_1()); 
+        }
+        // InternalReportDSL.g:36015:6: ( rule__GridRow__Group_3_1__0 )
+        // InternalReportDSL.g:36015:7: rule__GridRow__Group_3_1__0
         {
         pushFollow(FOLLOW_2);
-        rule__MediaStyle__UnorderedGroup_3__14();
+        rule__GridRow__Group_3_1__0();
 
         state._fsp--;
         if (state.failed) return ;
 
         }
+
+
+        }
+
+
+        }
+
+
+        }
+
+
+        }
     }
     // $ANTLR end synpred429_InternalReportDSL
 
     // $ANTLR start synpred430_InternalReportDSL
     public final void synpred430_InternalReportDSL_fragment() throws RecognitionException {   
-        // InternalReportDSL.g:36065:2: ( rule__MediaStyle__UnorderedGroup_3__15 )
-        // InternalReportDSL.g:36065:2: rule__MediaStyle__UnorderedGroup_3__15
+        // InternalReportDSL.g:36049:2: ( rule__GridRow__UnorderedGroup_3__1 )
+        // InternalReportDSL.g:36049:2: rule__GridRow__UnorderedGroup_3__1
         {
         pushFollow(FOLLOW_2);
-        rule__MediaStyle__UnorderedGroup_3__15();
+        rule__GridRow__UnorderedGroup_3__1();
 
         state._fsp--;
         if (state.failed) return ;
@@ -141144,11 +143161,11 @@
 
     // $ANTLR start synpred431_InternalReportDSL
     public final void synpred431_InternalReportDSL_fragment() throws RecognitionException {   
-        // InternalReportDSL.g:36077:2: ( rule__MediaStyle__UnorderedGroup_3__16 )
-        // InternalReportDSL.g:36077:2: rule__MediaStyle__UnorderedGroup_3__16
+        // InternalReportDSL.g:36061:2: ( rule__GridRow__UnorderedGroup_3__2 )
+        // InternalReportDSL.g:36061:2: rule__GridRow__UnorderedGroup_3__2
         {
         pushFollow(FOLLOW_2);
-        rule__MediaStyle__UnorderedGroup_3__16();
+        rule__GridRow__UnorderedGroup_3__2();
 
         state._fsp--;
         if (state.failed) return ;
@@ -141159,11 +143176,11 @@
 
     // $ANTLR start synpred432_InternalReportDSL
     public final void synpred432_InternalReportDSL_fragment() throws RecognitionException {   
-        // InternalReportDSL.g:36101:2: ( rule__DatamartTableAttribute__UnorderedGroup_1__0 )
-        // InternalReportDSL.g:36101:2: rule__DatamartTableAttribute__UnorderedGroup_1__0
+        // InternalReportDSL.g:36085:2: ( rule__GridCell__UnorderedGroup_3__0 )
+        // InternalReportDSL.g:36085:2: rule__GridCell__UnorderedGroup_3__0
         {
         pushFollow(FOLLOW_2);
-        rule__DatamartTableAttribute__UnorderedGroup_1__0();
+        rule__GridCell__UnorderedGroup_3__0();
 
         state._fsp--;
         if (state.failed) return ;
@@ -141174,31 +143191,31 @@
 
     // $ANTLR start synpred433_InternalReportDSL
     public final void synpred433_InternalReportDSL_fragment() throws RecognitionException {   
-        // InternalReportDSL.g:36116:3: ( ({...}? => ( ( ( rule__DatamartTableAttribute__Group_1_0__0 ) ) ) ) )
-        // InternalReportDSL.g:36116:3: ({...}? => ( ( ( rule__DatamartTableAttribute__Group_1_0__0 ) ) ) )
+        // InternalReportDSL.g:36100:3: ( ({...}? => ( ( ( rule__GridCell__Group_3_0__0 ) ) ) ) )
+        // InternalReportDSL.g:36100:3: ({...}? => ( ( ( rule__GridCell__Group_3_0__0 ) ) ) )
         {
-        // InternalReportDSL.g:36116:3: ({...}? => ( ( ( rule__DatamartTableAttribute__Group_1_0__0 ) ) ) )
-        // InternalReportDSL.g:36117:4: {...}? => ( ( ( rule__DatamartTableAttribute__Group_1_0__0 ) ) )
+        // InternalReportDSL.g:36100:3: ({...}? => ( ( ( rule__GridCell__Group_3_0__0 ) ) ) )
+        // InternalReportDSL.g:36101:4: {...}? => ( ( ( rule__GridCell__Group_3_0__0 ) ) )
         {
-        if ( ! getUnorderedGroupHelper().canSelect(grammarAccess.getDatamartTableAttributeAccess().getUnorderedGroup_1(), 0) ) {
+        if ( ! getUnorderedGroupHelper().canSelect(grammarAccess.getGridCellAccess().getUnorderedGroup_3(), 0) ) {
             if (state.backtracking>0) {state.failed=true; return ;}
-            throw new FailedPredicateException(input, "synpred433_InternalReportDSL", "getUnorderedGroupHelper().canSelect(grammarAccess.getDatamartTableAttributeAccess().getUnorderedGroup_1(), 0)");
+            throw new FailedPredicateException(input, "synpred433_InternalReportDSL", "getUnorderedGroupHelper().canSelect(grammarAccess.getGridCellAccess().getUnorderedGroup_3(), 0)");
         }
-        // InternalReportDSL.g:36117:118: ( ( ( rule__DatamartTableAttribute__Group_1_0__0 ) ) )
-        // InternalReportDSL.g:36118:5: ( ( rule__DatamartTableAttribute__Group_1_0__0 ) )
+        // InternalReportDSL.g:36101:104: ( ( ( rule__GridCell__Group_3_0__0 ) ) )
+        // InternalReportDSL.g:36102:5: ( ( rule__GridCell__Group_3_0__0 ) )
         {
-        getUnorderedGroupHelper().select(grammarAccess.getDatamartTableAttributeAccess().getUnorderedGroup_1(), 0);
-        // InternalReportDSL.g:36124:5: ( ( rule__DatamartTableAttribute__Group_1_0__0 ) )
-        // InternalReportDSL.g:36125:6: ( rule__DatamartTableAttribute__Group_1_0__0 )
+        getUnorderedGroupHelper().select(grammarAccess.getGridCellAccess().getUnorderedGroup_3(), 0);
+        // InternalReportDSL.g:36108:5: ( ( rule__GridCell__Group_3_0__0 ) )
+        // InternalReportDSL.g:36109:6: ( rule__GridCell__Group_3_0__0 )
         {
         if ( state.backtracking==0 ) {
-           before(grammarAccess.getDatamartTableAttributeAccess().getGroup_1_0()); 
+           before(grammarAccess.getGridCellAccess().getGroup_3_0()); 
         }
-        // InternalReportDSL.g:36126:6: ( rule__DatamartTableAttribute__Group_1_0__0 )
-        // InternalReportDSL.g:36126:7: rule__DatamartTableAttribute__Group_1_0__0
+        // InternalReportDSL.g:36110:6: ( rule__GridCell__Group_3_0__0 )
+        // InternalReportDSL.g:36110:7: rule__GridCell__Group_3_0__0
         {
         pushFollow(FOLLOW_2);
-        rule__DatamartTableAttribute__Group_1_0__0();
+        rule__GridCell__Group_3_0__0();
 
         state._fsp--;
         if (state.failed) return ;
@@ -141221,31 +143238,31 @@
 
     // $ANTLR start synpred434_InternalReportDSL
     public final void synpred434_InternalReportDSL_fragment() throws RecognitionException {   
-        // InternalReportDSL.g:36131:3: ( ({...}? => ( ( ( rule__DatamartTableAttribute__Group_1_1__0 ) ) ) ) )
-        // InternalReportDSL.g:36131:3: ({...}? => ( ( ( rule__DatamartTableAttribute__Group_1_1__0 ) ) ) )
+        // InternalReportDSL.g:36115:3: ( ({...}? => ( ( ( rule__GridCell__Group_3_1__0 ) ) ) ) )
+        // InternalReportDSL.g:36115:3: ({...}? => ( ( ( rule__GridCell__Group_3_1__0 ) ) ) )
         {
-        // InternalReportDSL.g:36131:3: ({...}? => ( ( ( rule__DatamartTableAttribute__Group_1_1__0 ) ) ) )
-        // InternalReportDSL.g:36132:4: {...}? => ( ( ( rule__DatamartTableAttribute__Group_1_1__0 ) ) )
+        // InternalReportDSL.g:36115:3: ({...}? => ( ( ( rule__GridCell__Group_3_1__0 ) ) ) )
+        // InternalReportDSL.g:36116:4: {...}? => ( ( ( rule__GridCell__Group_3_1__0 ) ) )
         {
-        if ( ! getUnorderedGroupHelper().canSelect(grammarAccess.getDatamartTableAttributeAccess().getUnorderedGroup_1(), 1) ) {
+        if ( ! getUnorderedGroupHelper().canSelect(grammarAccess.getGridCellAccess().getUnorderedGroup_3(), 1) ) {
             if (state.backtracking>0) {state.failed=true; return ;}
-            throw new FailedPredicateException(input, "synpred434_InternalReportDSL", "getUnorderedGroupHelper().canSelect(grammarAccess.getDatamartTableAttributeAccess().getUnorderedGroup_1(), 1)");
+            throw new FailedPredicateException(input, "synpred434_InternalReportDSL", "getUnorderedGroupHelper().canSelect(grammarAccess.getGridCellAccess().getUnorderedGroup_3(), 1)");
         }
-        // InternalReportDSL.g:36132:118: ( ( ( rule__DatamartTableAttribute__Group_1_1__0 ) ) )
-        // InternalReportDSL.g:36133:5: ( ( rule__DatamartTableAttribute__Group_1_1__0 ) )
+        // InternalReportDSL.g:36116:104: ( ( ( rule__GridCell__Group_3_1__0 ) ) )
+        // InternalReportDSL.g:36117:5: ( ( rule__GridCell__Group_3_1__0 ) )
         {
-        getUnorderedGroupHelper().select(grammarAccess.getDatamartTableAttributeAccess().getUnorderedGroup_1(), 1);
-        // InternalReportDSL.g:36139:5: ( ( rule__DatamartTableAttribute__Group_1_1__0 ) )
-        // InternalReportDSL.g:36140:6: ( rule__DatamartTableAttribute__Group_1_1__0 )
+        getUnorderedGroupHelper().select(grammarAccess.getGridCellAccess().getUnorderedGroup_3(), 1);
+        // InternalReportDSL.g:36123:5: ( ( rule__GridCell__Group_3_1__0 ) )
+        // InternalReportDSL.g:36124:6: ( rule__GridCell__Group_3_1__0 )
         {
         if ( state.backtracking==0 ) {
-           before(grammarAccess.getDatamartTableAttributeAccess().getGroup_1_1()); 
+           before(grammarAccess.getGridCellAccess().getGroup_3_1()); 
         }
-        // InternalReportDSL.g:36141:6: ( rule__DatamartTableAttribute__Group_1_1__0 )
-        // InternalReportDSL.g:36141:7: rule__DatamartTableAttribute__Group_1_1__0
+        // InternalReportDSL.g:36125:6: ( rule__GridCell__Group_3_1__0 )
+        // InternalReportDSL.g:36125:7: rule__GridCell__Group_3_1__0
         {
         pushFollow(FOLLOW_2);
-        rule__DatamartTableAttribute__Group_1_1__0();
+        rule__GridCell__Group_3_1__0();
 
         state._fsp--;
         if (state.failed) return ;
@@ -141268,31 +143285,31 @@
 
     // $ANTLR start synpred435_InternalReportDSL
     public final void synpred435_InternalReportDSL_fragment() throws RecognitionException {   
-        // InternalReportDSL.g:36146:3: ( ({...}? => ( ( ( rule__DatamartTableAttribute__Group_1_2__0 ) ) ) ) )
-        // InternalReportDSL.g:36146:3: ({...}? => ( ( ( rule__DatamartTableAttribute__Group_1_2__0 ) ) ) )
+        // InternalReportDSL.g:36130:3: ( ({...}? => ( ( ( rule__GridCell__Group_3_2__0 ) ) ) ) )
+        // InternalReportDSL.g:36130:3: ({...}? => ( ( ( rule__GridCell__Group_3_2__0 ) ) ) )
         {
-        // InternalReportDSL.g:36146:3: ({...}? => ( ( ( rule__DatamartTableAttribute__Group_1_2__0 ) ) ) )
-        // InternalReportDSL.g:36147:4: {...}? => ( ( ( rule__DatamartTableAttribute__Group_1_2__0 ) ) )
+        // InternalReportDSL.g:36130:3: ({...}? => ( ( ( rule__GridCell__Group_3_2__0 ) ) ) )
+        // InternalReportDSL.g:36131:4: {...}? => ( ( ( rule__GridCell__Group_3_2__0 ) ) )
         {
-        if ( ! getUnorderedGroupHelper().canSelect(grammarAccess.getDatamartTableAttributeAccess().getUnorderedGroup_1(), 2) ) {
+        if ( ! getUnorderedGroupHelper().canSelect(grammarAccess.getGridCellAccess().getUnorderedGroup_3(), 2) ) {
             if (state.backtracking>0) {state.failed=true; return ;}
-            throw new FailedPredicateException(input, "synpred435_InternalReportDSL", "getUnorderedGroupHelper().canSelect(grammarAccess.getDatamartTableAttributeAccess().getUnorderedGroup_1(), 2)");
+            throw new FailedPredicateException(input, "synpred435_InternalReportDSL", "getUnorderedGroupHelper().canSelect(grammarAccess.getGridCellAccess().getUnorderedGroup_3(), 2)");
         }
-        // InternalReportDSL.g:36147:118: ( ( ( rule__DatamartTableAttribute__Group_1_2__0 ) ) )
-        // InternalReportDSL.g:36148:5: ( ( rule__DatamartTableAttribute__Group_1_2__0 ) )
+        // InternalReportDSL.g:36131:104: ( ( ( rule__GridCell__Group_3_2__0 ) ) )
+        // InternalReportDSL.g:36132:5: ( ( rule__GridCell__Group_3_2__0 ) )
         {
-        getUnorderedGroupHelper().select(grammarAccess.getDatamartTableAttributeAccess().getUnorderedGroup_1(), 2);
-        // InternalReportDSL.g:36154:5: ( ( rule__DatamartTableAttribute__Group_1_2__0 ) )
-        // InternalReportDSL.g:36155:6: ( rule__DatamartTableAttribute__Group_1_2__0 )
+        getUnorderedGroupHelper().select(grammarAccess.getGridCellAccess().getUnorderedGroup_3(), 2);
+        // InternalReportDSL.g:36138:5: ( ( rule__GridCell__Group_3_2__0 ) )
+        // InternalReportDSL.g:36139:6: ( rule__GridCell__Group_3_2__0 )
         {
         if ( state.backtracking==0 ) {
-           before(grammarAccess.getDatamartTableAttributeAccess().getGroup_1_2()); 
+           before(grammarAccess.getGridCellAccess().getGroup_3_2()); 
         }
-        // InternalReportDSL.g:36156:6: ( rule__DatamartTableAttribute__Group_1_2__0 )
-        // InternalReportDSL.g:36156:7: rule__DatamartTableAttribute__Group_1_2__0
+        // InternalReportDSL.g:36140:6: ( rule__GridCell__Group_3_2__0 )
+        // InternalReportDSL.g:36140:7: rule__GridCell__Group_3_2__0
         {
         pushFollow(FOLLOW_2);
-        rule__DatamartTableAttribute__Group_1_2__0();
+        rule__GridCell__Group_3_2__0();
 
         state._fsp--;
         if (state.failed) return ;
@@ -141315,11 +143332,11 @@
 
     // $ANTLR start synpred436_InternalReportDSL
     public final void synpred436_InternalReportDSL_fragment() throws RecognitionException {   
-        // InternalReportDSL.g:36190:2: ( rule__DatamartTableAttribute__UnorderedGroup_1__1 )
-        // InternalReportDSL.g:36190:2: rule__DatamartTableAttribute__UnorderedGroup_1__1
+        // InternalReportDSL.g:36174:2: ( rule__GridCell__UnorderedGroup_3__1 )
+        // InternalReportDSL.g:36174:2: rule__GridCell__UnorderedGroup_3__1
         {
         pushFollow(FOLLOW_2);
-        rule__DatamartTableAttribute__UnorderedGroup_1__1();
+        rule__GridCell__UnorderedGroup_3__1();
 
         state._fsp--;
         if (state.failed) return ;
@@ -141330,11 +143347,11 @@
 
     // $ANTLR start synpred437_InternalReportDSL
     public final void synpred437_InternalReportDSL_fragment() throws RecognitionException {   
-        // InternalReportDSL.g:36202:2: ( rule__DatamartTableAttribute__UnorderedGroup_1__2 )
-        // InternalReportDSL.g:36202:2: rule__DatamartTableAttribute__UnorderedGroup_1__2
+        // InternalReportDSL.g:36186:2: ( rule__GridCell__UnorderedGroup_3__2 )
+        // InternalReportDSL.g:36186:2: rule__GridCell__UnorderedGroup_3__2
         {
         pushFollow(FOLLOW_2);
-        rule__DatamartTableAttribute__UnorderedGroup_1__2();
+        rule__GridCell__UnorderedGroup_3__2();
 
         state._fsp--;
         if (state.failed) return ;
@@ -141345,11 +143362,11 @@
 
     // $ANTLR start synpred438_InternalReportDSL
     public final void synpred438_InternalReportDSL_fragment() throws RecognitionException {   
-        // InternalReportDSL.g:36214:2: ( rule__DatamartTableAttribute__UnorderedGroup_1__3 )
-        // InternalReportDSL.g:36214:2: rule__DatamartTableAttribute__UnorderedGroup_1__3
+        // InternalReportDSL.g:36198:2: ( rule__GridCell__UnorderedGroup_3__3 )
+        // InternalReportDSL.g:36198:2: rule__GridCell__UnorderedGroup_3__3
         {
         pushFollow(FOLLOW_2);
-        rule__DatamartTableAttribute__UnorderedGroup_1__3();
+        rule__GridCell__UnorderedGroup_3__3();
 
         state._fsp--;
         if (state.failed) return ;
@@ -141360,11 +143377,11 @@
 
     // $ANTLR start synpred439_InternalReportDSL
     public final void synpred439_InternalReportDSL_fragment() throws RecognitionException {   
-        // InternalReportDSL.g:36238:2: ( rule__TableAggregation__UnorderedGroup_2__0 )
-        // InternalReportDSL.g:36238:2: rule__TableAggregation__UnorderedGroup_2__0
+        // InternalReportDSL.g:36222:2: ( rule__DatamartTable__UnorderedGroup_2__0 )
+        // InternalReportDSL.g:36222:2: rule__DatamartTable__UnorderedGroup_2__0
         {
         pushFollow(FOLLOW_2);
-        rule__TableAggregation__UnorderedGroup_2__0();
+        rule__DatamartTable__UnorderedGroup_2__0();
 
         state._fsp--;
         if (state.failed) return ;
@@ -141375,31 +143392,31 @@
 
     // $ANTLR start synpred440_InternalReportDSL
     public final void synpred440_InternalReportDSL_fragment() throws RecognitionException {   
-        // InternalReportDSL.g:36253:3: ( ({...}? => ( ( ( rule__TableAggregation__Group_2_0__0 ) ) ) ) )
-        // InternalReportDSL.g:36253:3: ({...}? => ( ( ( rule__TableAggregation__Group_2_0__0 ) ) ) )
+        // InternalReportDSL.g:36237:3: ( ({...}? => ( ( ( rule__DatamartTable__Group_2_0__0 ) ) ) ) )
+        // InternalReportDSL.g:36237:3: ({...}? => ( ( ( rule__DatamartTable__Group_2_0__0 ) ) ) )
         {
-        // InternalReportDSL.g:36253:3: ({...}? => ( ( ( rule__TableAggregation__Group_2_0__0 ) ) ) )
-        // InternalReportDSL.g:36254:4: {...}? => ( ( ( rule__TableAggregation__Group_2_0__0 ) ) )
+        // InternalReportDSL.g:36237:3: ({...}? => ( ( ( rule__DatamartTable__Group_2_0__0 ) ) ) )
+        // InternalReportDSL.g:36238:4: {...}? => ( ( ( rule__DatamartTable__Group_2_0__0 ) ) )
         {
-        if ( ! getUnorderedGroupHelper().canSelect(grammarAccess.getTableAggregationAccess().getUnorderedGroup_2(), 0) ) {
+        if ( ! getUnorderedGroupHelper().canSelect(grammarAccess.getDatamartTableAccess().getUnorderedGroup_2(), 0) ) {
             if (state.backtracking>0) {state.failed=true; return ;}
-            throw new FailedPredicateException(input, "synpred440_InternalReportDSL", "getUnorderedGroupHelper().canSelect(grammarAccess.getTableAggregationAccess().getUnorderedGroup_2(), 0)");
+            throw new FailedPredicateException(input, "synpred440_InternalReportDSL", "getUnorderedGroupHelper().canSelect(grammarAccess.getDatamartTableAccess().getUnorderedGroup_2(), 0)");
         }
-        // InternalReportDSL.g:36254:112: ( ( ( rule__TableAggregation__Group_2_0__0 ) ) )
-        // InternalReportDSL.g:36255:5: ( ( rule__TableAggregation__Group_2_0__0 ) )
+        // InternalReportDSL.g:36238:109: ( ( ( rule__DatamartTable__Group_2_0__0 ) ) )
+        // InternalReportDSL.g:36239:5: ( ( rule__DatamartTable__Group_2_0__0 ) )
         {
-        getUnorderedGroupHelper().select(grammarAccess.getTableAggregationAccess().getUnorderedGroup_2(), 0);
-        // InternalReportDSL.g:36261:5: ( ( rule__TableAggregation__Group_2_0__0 ) )
-        // InternalReportDSL.g:36262:6: ( rule__TableAggregation__Group_2_0__0 )
+        getUnorderedGroupHelper().select(grammarAccess.getDatamartTableAccess().getUnorderedGroup_2(), 0);
+        // InternalReportDSL.g:36245:5: ( ( rule__DatamartTable__Group_2_0__0 ) )
+        // InternalReportDSL.g:36246:6: ( rule__DatamartTable__Group_2_0__0 )
         {
         if ( state.backtracking==0 ) {
-           before(grammarAccess.getTableAggregationAccess().getGroup_2_0()); 
+           before(grammarAccess.getDatamartTableAccess().getGroup_2_0()); 
         }
-        // InternalReportDSL.g:36263:6: ( rule__TableAggregation__Group_2_0__0 )
-        // InternalReportDSL.g:36263:7: rule__TableAggregation__Group_2_0__0
+        // InternalReportDSL.g:36247:6: ( rule__DatamartTable__Group_2_0__0 )
+        // InternalReportDSL.g:36247:7: rule__DatamartTable__Group_2_0__0
         {
         pushFollow(FOLLOW_2);
-        rule__TableAggregation__Group_2_0__0();
+        rule__DatamartTable__Group_2_0__0();
 
         state._fsp--;
         if (state.failed) return ;
@@ -141422,8 +143439,579 @@
 
     // $ANTLR start synpred441_InternalReportDSL
     public final void synpred441_InternalReportDSL_fragment() throws RecognitionException {   
-        // InternalReportDSL.g:36297:2: ( rule__TableAggregation__UnorderedGroup_2__1 )
-        // InternalReportDSL.g:36297:2: rule__TableAggregation__UnorderedGroup_2__1
+        // InternalReportDSL.g:36252:3: ( ({...}? => ( ( ( rule__DatamartTable__VisibilityItemAssignment_2_1 ) ) ) ) )
+        // InternalReportDSL.g:36252:3: ({...}? => ( ( ( rule__DatamartTable__VisibilityItemAssignment_2_1 ) ) ) )
+        {
+        // InternalReportDSL.g:36252:3: ({...}? => ( ( ( rule__DatamartTable__VisibilityItemAssignment_2_1 ) ) ) )
+        // InternalReportDSL.g:36253:4: {...}? => ( ( ( rule__DatamartTable__VisibilityItemAssignment_2_1 ) ) )
+        {
+        if ( ! getUnorderedGroupHelper().canSelect(grammarAccess.getDatamartTableAccess().getUnorderedGroup_2(), 1) ) {
+            if (state.backtracking>0) {state.failed=true; return ;}
+            throw new FailedPredicateException(input, "synpred441_InternalReportDSL", "getUnorderedGroupHelper().canSelect(grammarAccess.getDatamartTableAccess().getUnorderedGroup_2(), 1)");
+        }
+        // InternalReportDSL.g:36253:109: ( ( ( rule__DatamartTable__VisibilityItemAssignment_2_1 ) ) )
+        // InternalReportDSL.g:36254:5: ( ( rule__DatamartTable__VisibilityItemAssignment_2_1 ) )
+        {
+        getUnorderedGroupHelper().select(grammarAccess.getDatamartTableAccess().getUnorderedGroup_2(), 1);
+        // InternalReportDSL.g:36260:5: ( ( rule__DatamartTable__VisibilityItemAssignment_2_1 ) )
+        // InternalReportDSL.g:36261:6: ( rule__DatamartTable__VisibilityItemAssignment_2_1 )
+        {
+        if ( state.backtracking==0 ) {
+           before(grammarAccess.getDatamartTableAccess().getVisibilityItemAssignment_2_1()); 
+        }
+        // InternalReportDSL.g:36262:6: ( rule__DatamartTable__VisibilityItemAssignment_2_1 )
+        // InternalReportDSL.g:36262:7: rule__DatamartTable__VisibilityItemAssignment_2_1
+        {
+        pushFollow(FOLLOW_2);
+        rule__DatamartTable__VisibilityItemAssignment_2_1();
+
+        state._fsp--;
+        if (state.failed) return ;
+
+        }
+
+
+        }
+
+
+        }
+
+
+        }
+
+
+        }
+    }
+    // $ANTLR end synpred441_InternalReportDSL
+
+    // $ANTLR start synpred442_InternalReportDSL
+    public final void synpred442_InternalReportDSL_fragment() throws RecognitionException {   
+        // InternalReportDSL.g:36296:2: ( rule__DatamartTable__UnorderedGroup_2__1 )
+        // InternalReportDSL.g:36296:2: rule__DatamartTable__UnorderedGroup_2__1
+        {
+        pushFollow(FOLLOW_2);
+        rule__DatamartTable__UnorderedGroup_2__1();
+
+        state._fsp--;
+        if (state.failed) return ;
+
+        }
+    }
+    // $ANTLR end synpred442_InternalReportDSL
+
+    // $ANTLR start synpred443_InternalReportDSL
+    public final void synpred443_InternalReportDSL_fragment() throws RecognitionException {   
+        // InternalReportDSL.g:36308:2: ( rule__DatamartTable__UnorderedGroup_2__2 )
+        // InternalReportDSL.g:36308:2: rule__DatamartTable__UnorderedGroup_2__2
+        {
+        pushFollow(FOLLOW_2);
+        rule__DatamartTable__UnorderedGroup_2__2();
+
+        state._fsp--;
+        if (state.failed) return ;
+
+        }
+    }
+    // $ANTLR end synpred443_InternalReportDSL
+
+    // $ANTLR start synpred444_InternalReportDSL
+    public final void synpred444_InternalReportDSL_fragment() throws RecognitionException {   
+        // InternalReportDSL.g:36332:2: ( rule__DatamartTableGroup__UnorderedGroup_4__0 )
+        // InternalReportDSL.g:36332:2: rule__DatamartTableGroup__UnorderedGroup_4__0
+        {
+        pushFollow(FOLLOW_2);
+        rule__DatamartTableGroup__UnorderedGroup_4__0();
+
+        state._fsp--;
+        if (state.failed) return ;
+
+        }
+    }
+    // $ANTLR end synpred444_InternalReportDSL
+
+    // $ANTLR start synpred445_InternalReportDSL
+    public final void synpred445_InternalReportDSL_fragment() throws RecognitionException {   
+        // InternalReportDSL.g:36347:3: ( ({...}? => ( ( ( rule__DatamartTableGroup__VisibilityItemAssignment_4_0 ) ) ) ) )
+        // InternalReportDSL.g:36347:3: ({...}? => ( ( ( rule__DatamartTableGroup__VisibilityItemAssignment_4_0 ) ) ) )
+        {
+        // InternalReportDSL.g:36347:3: ({...}? => ( ( ( rule__DatamartTableGroup__VisibilityItemAssignment_4_0 ) ) ) )
+        // InternalReportDSL.g:36348:4: {...}? => ( ( ( rule__DatamartTableGroup__VisibilityItemAssignment_4_0 ) ) )
+        {
+        if ( ! getUnorderedGroupHelper().canSelect(grammarAccess.getDatamartTableGroupAccess().getUnorderedGroup_4(), 0) ) {
+            if (state.backtracking>0) {state.failed=true; return ;}
+            throw new FailedPredicateException(input, "synpred445_InternalReportDSL", "getUnorderedGroupHelper().canSelect(grammarAccess.getDatamartTableGroupAccess().getUnorderedGroup_4(), 0)");
+        }
+        // InternalReportDSL.g:36348:114: ( ( ( rule__DatamartTableGroup__VisibilityItemAssignment_4_0 ) ) )
+        // InternalReportDSL.g:36349:5: ( ( rule__DatamartTableGroup__VisibilityItemAssignment_4_0 ) )
+        {
+        getUnorderedGroupHelper().select(grammarAccess.getDatamartTableGroupAccess().getUnorderedGroup_4(), 0);
+        // InternalReportDSL.g:36355:5: ( ( rule__DatamartTableGroup__VisibilityItemAssignment_4_0 ) )
+        // InternalReportDSL.g:36356:6: ( rule__DatamartTableGroup__VisibilityItemAssignment_4_0 )
+        {
+        if ( state.backtracking==0 ) {
+           before(grammarAccess.getDatamartTableGroupAccess().getVisibilityItemAssignment_4_0()); 
+        }
+        // InternalReportDSL.g:36357:6: ( rule__DatamartTableGroup__VisibilityItemAssignment_4_0 )
+        // InternalReportDSL.g:36357:7: rule__DatamartTableGroup__VisibilityItemAssignment_4_0
+        {
+        pushFollow(FOLLOW_2);
+        rule__DatamartTableGroup__VisibilityItemAssignment_4_0();
+
+        state._fsp--;
+        if (state.failed) return ;
+
+        }
+
+
+        }
+
+
+        }
+
+
+        }
+
+
+        }
+    }
+    // $ANTLR end synpred445_InternalReportDSL
+
+    // $ANTLR start synpred446_InternalReportDSL
+    public final void synpred446_InternalReportDSL_fragment() throws RecognitionException {   
+        // InternalReportDSL.g:36391:2: ( rule__DatamartTableGroup__UnorderedGroup_4__1 )
+        // InternalReportDSL.g:36391:2: rule__DatamartTableGroup__UnorderedGroup_4__1
+        {
+        pushFollow(FOLLOW_2);
+        rule__DatamartTableGroup__UnorderedGroup_4__1();
+
+        state._fsp--;
+        if (state.failed) return ;
+
+        }
+    }
+    // $ANTLR end synpred446_InternalReportDSL
+
+    // $ANTLR start synpred447_InternalReportDSL
+    public final void synpred447_InternalReportDSL_fragment() throws RecognitionException {   
+        // InternalReportDSL.g:36415:2: ( rule__DatamartTableHeader__UnorderedGroup_2__0 )
+        // InternalReportDSL.g:36415:2: rule__DatamartTableHeader__UnorderedGroup_2__0
+        {
+        pushFollow(FOLLOW_2);
+        rule__DatamartTableHeader__UnorderedGroup_2__0();
+
+        state._fsp--;
+        if (state.failed) return ;
+
+        }
+    }
+    // $ANTLR end synpred447_InternalReportDSL
+
+    // $ANTLR start synpred448_InternalReportDSL
+    public final void synpred448_InternalReportDSL_fragment() throws RecognitionException {   
+        // InternalReportDSL.g:36430:3: ( ({...}? => ( ( ( rule__DatamartTableHeader__Group_2_0__0 ) ) ) ) )
+        // InternalReportDSL.g:36430:3: ({...}? => ( ( ( rule__DatamartTableHeader__Group_2_0__0 ) ) ) )
+        {
+        // InternalReportDSL.g:36430:3: ({...}? => ( ( ( rule__DatamartTableHeader__Group_2_0__0 ) ) ) )
+        // InternalReportDSL.g:36431:4: {...}? => ( ( ( rule__DatamartTableHeader__Group_2_0__0 ) ) )
+        {
+        if ( ! getUnorderedGroupHelper().canSelect(grammarAccess.getDatamartTableHeaderAccess().getUnorderedGroup_2(), 0) ) {
+            if (state.backtracking>0) {state.failed=true; return ;}
+            throw new FailedPredicateException(input, "synpred448_InternalReportDSL", "getUnorderedGroupHelper().canSelect(grammarAccess.getDatamartTableHeaderAccess().getUnorderedGroup_2(), 0)");
+        }
+        // InternalReportDSL.g:36431:115: ( ( ( rule__DatamartTableHeader__Group_2_0__0 ) ) )
+        // InternalReportDSL.g:36432:5: ( ( rule__DatamartTableHeader__Group_2_0__0 ) )
+        {
+        getUnorderedGroupHelper().select(grammarAccess.getDatamartTableHeaderAccess().getUnorderedGroup_2(), 0);
+        // InternalReportDSL.g:36438:5: ( ( rule__DatamartTableHeader__Group_2_0__0 ) )
+        // InternalReportDSL.g:36439:6: ( rule__DatamartTableHeader__Group_2_0__0 )
+        {
+        if ( state.backtracking==0 ) {
+           before(grammarAccess.getDatamartTableHeaderAccess().getGroup_2_0()); 
+        }
+        // InternalReportDSL.g:36440:6: ( rule__DatamartTableHeader__Group_2_0__0 )
+        // InternalReportDSL.g:36440:7: rule__DatamartTableHeader__Group_2_0__0
+        {
+        pushFollow(FOLLOW_2);
+        rule__DatamartTableHeader__Group_2_0__0();
+
+        state._fsp--;
+        if (state.failed) return ;
+
+        }
+
+
+        }
+
+
+        }
+
+
+        }
+
+
+        }
+    }
+    // $ANTLR end synpred448_InternalReportDSL
+
+    // $ANTLR start synpred449_InternalReportDSL
+    public final void synpred449_InternalReportDSL_fragment() throws RecognitionException {   
+        // InternalReportDSL.g:36474:2: ( rule__DatamartTableHeader__UnorderedGroup_2__1 )
+        // InternalReportDSL.g:36474:2: rule__DatamartTableHeader__UnorderedGroup_2__1
+        {
+        pushFollow(FOLLOW_2);
+        rule__DatamartTableHeader__UnorderedGroup_2__1();
+
+        state._fsp--;
+        if (state.failed) return ;
+
+        }
+    }
+    // $ANTLR end synpred449_InternalReportDSL
+
+    // $ANTLR start synpred450_InternalReportDSL
+    public final void synpred450_InternalReportDSL_fragment() throws RecognitionException {   
+        // InternalReportDSL.g:36498:2: ( rule__DatamartTableFooter__UnorderedGroup_2__0 )
+        // InternalReportDSL.g:36498:2: rule__DatamartTableFooter__UnorderedGroup_2__0
+        {
+        pushFollow(FOLLOW_2);
+        rule__DatamartTableFooter__UnorderedGroup_2__0();
+
+        state._fsp--;
+        if (state.failed) return ;
+
+        }
+    }
+    // $ANTLR end synpred450_InternalReportDSL
+
+    // $ANTLR start synpred451_InternalReportDSL
+    public final void synpred451_InternalReportDSL_fragment() throws RecognitionException {   
+        // InternalReportDSL.g:36513:3: ( ({...}? => ( ( ( rule__DatamartTableFooter__Group_2_0__0 ) ) ) ) )
+        // InternalReportDSL.g:36513:3: ({...}? => ( ( ( rule__DatamartTableFooter__Group_2_0__0 ) ) ) )
+        {
+        // InternalReportDSL.g:36513:3: ({...}? => ( ( ( rule__DatamartTableFooter__Group_2_0__0 ) ) ) )
+        // InternalReportDSL.g:36514:4: {...}? => ( ( ( rule__DatamartTableFooter__Group_2_0__0 ) ) )
+        {
+        if ( ! getUnorderedGroupHelper().canSelect(grammarAccess.getDatamartTableFooterAccess().getUnorderedGroup_2(), 0) ) {
+            if (state.backtracking>0) {state.failed=true; return ;}
+            throw new FailedPredicateException(input, "synpred451_InternalReportDSL", "getUnorderedGroupHelper().canSelect(grammarAccess.getDatamartTableFooterAccess().getUnorderedGroup_2(), 0)");
+        }
+        // InternalReportDSL.g:36514:115: ( ( ( rule__DatamartTableFooter__Group_2_0__0 ) ) )
+        // InternalReportDSL.g:36515:5: ( ( rule__DatamartTableFooter__Group_2_0__0 ) )
+        {
+        getUnorderedGroupHelper().select(grammarAccess.getDatamartTableFooterAccess().getUnorderedGroup_2(), 0);
+        // InternalReportDSL.g:36521:5: ( ( rule__DatamartTableFooter__Group_2_0__0 ) )
+        // InternalReportDSL.g:36522:6: ( rule__DatamartTableFooter__Group_2_0__0 )
+        {
+        if ( state.backtracking==0 ) {
+           before(grammarAccess.getDatamartTableFooterAccess().getGroup_2_0()); 
+        }
+        // InternalReportDSL.g:36523:6: ( rule__DatamartTableFooter__Group_2_0__0 )
+        // InternalReportDSL.g:36523:7: rule__DatamartTableFooter__Group_2_0__0
+        {
+        pushFollow(FOLLOW_2);
+        rule__DatamartTableFooter__Group_2_0__0();
+
+        state._fsp--;
+        if (state.failed) return ;
+
+        }
+
+
+        }
+
+
+        }
+
+
+        }
+
+
+        }
+    }
+    // $ANTLR end synpred451_InternalReportDSL
+
+    // $ANTLR start synpred452_InternalReportDSL
+    public final void synpred452_InternalReportDSL_fragment() throws RecognitionException {   
+        // InternalReportDSL.g:36557:2: ( rule__DatamartTableFooter__UnorderedGroup_2__1 )
+        // InternalReportDSL.g:36557:2: rule__DatamartTableFooter__UnorderedGroup_2__1
+        {
+        pushFollow(FOLLOW_2);
+        rule__DatamartTableFooter__UnorderedGroup_2__1();
+
+        state._fsp--;
+        if (state.failed) return ;
+
+        }
+    }
+    // $ANTLR end synpred452_InternalReportDSL
+
+    // $ANTLR start synpred453_InternalReportDSL
+    public final void synpred453_InternalReportDSL_fragment() throws RecognitionException {   
+        // InternalReportDSL.g:36581:2: ( rule__DatamartTableAttribute__UnorderedGroup_1__0 )
+        // InternalReportDSL.g:36581:2: rule__DatamartTableAttribute__UnorderedGroup_1__0
+        {
+        pushFollow(FOLLOW_2);
+        rule__DatamartTableAttribute__UnorderedGroup_1__0();
+
+        state._fsp--;
+        if (state.failed) return ;
+
+        }
+    }
+    // $ANTLR end synpred453_InternalReportDSL
+
+    // $ANTLR start synpred454_InternalReportDSL
+    public final void synpred454_InternalReportDSL_fragment() throws RecognitionException {   
+        // InternalReportDSL.g:36596:3: ( ({...}? => ( ( ( rule__DatamartTableAttribute__Group_1_0__0 ) ) ) ) )
+        // InternalReportDSL.g:36596:3: ({...}? => ( ( ( rule__DatamartTableAttribute__Group_1_0__0 ) ) ) )
+        {
+        // InternalReportDSL.g:36596:3: ({...}? => ( ( ( rule__DatamartTableAttribute__Group_1_0__0 ) ) ) )
+        // InternalReportDSL.g:36597:4: {...}? => ( ( ( rule__DatamartTableAttribute__Group_1_0__0 ) ) )
+        {
+        if ( ! getUnorderedGroupHelper().canSelect(grammarAccess.getDatamartTableAttributeAccess().getUnorderedGroup_1(), 0) ) {
+            if (state.backtracking>0) {state.failed=true; return ;}
+            throw new FailedPredicateException(input, "synpred454_InternalReportDSL", "getUnorderedGroupHelper().canSelect(grammarAccess.getDatamartTableAttributeAccess().getUnorderedGroup_1(), 0)");
+        }
+        // InternalReportDSL.g:36597:118: ( ( ( rule__DatamartTableAttribute__Group_1_0__0 ) ) )
+        // InternalReportDSL.g:36598:5: ( ( rule__DatamartTableAttribute__Group_1_0__0 ) )
+        {
+        getUnorderedGroupHelper().select(grammarAccess.getDatamartTableAttributeAccess().getUnorderedGroup_1(), 0);
+        // InternalReportDSL.g:36604:5: ( ( rule__DatamartTableAttribute__Group_1_0__0 ) )
+        // InternalReportDSL.g:36605:6: ( rule__DatamartTableAttribute__Group_1_0__0 )
+        {
+        if ( state.backtracking==0 ) {
+           before(grammarAccess.getDatamartTableAttributeAccess().getGroup_1_0()); 
+        }
+        // InternalReportDSL.g:36606:6: ( rule__DatamartTableAttribute__Group_1_0__0 )
+        // InternalReportDSL.g:36606:7: rule__DatamartTableAttribute__Group_1_0__0
+        {
+        pushFollow(FOLLOW_2);
+        rule__DatamartTableAttribute__Group_1_0__0();
+
+        state._fsp--;
+        if (state.failed) return ;
+
+        }
+
+
+        }
+
+
+        }
+
+
+        }
+
+
+        }
+    }
+    // $ANTLR end synpred454_InternalReportDSL
+
+    // $ANTLR start synpred455_InternalReportDSL
+    public final void synpred455_InternalReportDSL_fragment() throws RecognitionException {   
+        // InternalReportDSL.g:36611:3: ( ({...}? => ( ( ( rule__DatamartTableAttribute__Group_1_1__0 ) ) ) ) )
+        // InternalReportDSL.g:36611:3: ({...}? => ( ( ( rule__DatamartTableAttribute__Group_1_1__0 ) ) ) )
+        {
+        // InternalReportDSL.g:36611:3: ({...}? => ( ( ( rule__DatamartTableAttribute__Group_1_1__0 ) ) ) )
+        // InternalReportDSL.g:36612:4: {...}? => ( ( ( rule__DatamartTableAttribute__Group_1_1__0 ) ) )
+        {
+        if ( ! getUnorderedGroupHelper().canSelect(grammarAccess.getDatamartTableAttributeAccess().getUnorderedGroup_1(), 1) ) {
+            if (state.backtracking>0) {state.failed=true; return ;}
+            throw new FailedPredicateException(input, "synpred455_InternalReportDSL", "getUnorderedGroupHelper().canSelect(grammarAccess.getDatamartTableAttributeAccess().getUnorderedGroup_1(), 1)");
+        }
+        // InternalReportDSL.g:36612:118: ( ( ( rule__DatamartTableAttribute__Group_1_1__0 ) ) )
+        // InternalReportDSL.g:36613:5: ( ( rule__DatamartTableAttribute__Group_1_1__0 ) )
+        {
+        getUnorderedGroupHelper().select(grammarAccess.getDatamartTableAttributeAccess().getUnorderedGroup_1(), 1);
+        // InternalReportDSL.g:36619:5: ( ( rule__DatamartTableAttribute__Group_1_1__0 ) )
+        // InternalReportDSL.g:36620:6: ( rule__DatamartTableAttribute__Group_1_1__0 )
+        {
+        if ( state.backtracking==0 ) {
+           before(grammarAccess.getDatamartTableAttributeAccess().getGroup_1_1()); 
+        }
+        // InternalReportDSL.g:36621:6: ( rule__DatamartTableAttribute__Group_1_1__0 )
+        // InternalReportDSL.g:36621:7: rule__DatamartTableAttribute__Group_1_1__0
+        {
+        pushFollow(FOLLOW_2);
+        rule__DatamartTableAttribute__Group_1_1__0();
+
+        state._fsp--;
+        if (state.failed) return ;
+
+        }
+
+
+        }
+
+
+        }
+
+
+        }
+
+
+        }
+    }
+    // $ANTLR end synpred455_InternalReportDSL
+
+    // $ANTLR start synpred456_InternalReportDSL
+    public final void synpred456_InternalReportDSL_fragment() throws RecognitionException {   
+        // InternalReportDSL.g:36626:3: ( ({...}? => ( ( ( rule__DatamartTableAttribute__Group_1_2__0 ) ) ) ) )
+        // InternalReportDSL.g:36626:3: ({...}? => ( ( ( rule__DatamartTableAttribute__Group_1_2__0 ) ) ) )
+        {
+        // InternalReportDSL.g:36626:3: ({...}? => ( ( ( rule__DatamartTableAttribute__Group_1_2__0 ) ) ) )
+        // InternalReportDSL.g:36627:4: {...}? => ( ( ( rule__DatamartTableAttribute__Group_1_2__0 ) ) )
+        {
+        if ( ! getUnorderedGroupHelper().canSelect(grammarAccess.getDatamartTableAttributeAccess().getUnorderedGroup_1(), 2) ) {
+            if (state.backtracking>0) {state.failed=true; return ;}
+            throw new FailedPredicateException(input, "synpred456_InternalReportDSL", "getUnorderedGroupHelper().canSelect(grammarAccess.getDatamartTableAttributeAccess().getUnorderedGroup_1(), 2)");
+        }
+        // InternalReportDSL.g:36627:118: ( ( ( rule__DatamartTableAttribute__Group_1_2__0 ) ) )
+        // InternalReportDSL.g:36628:5: ( ( rule__DatamartTableAttribute__Group_1_2__0 ) )
+        {
+        getUnorderedGroupHelper().select(grammarAccess.getDatamartTableAttributeAccess().getUnorderedGroup_1(), 2);
+        // InternalReportDSL.g:36634:5: ( ( rule__DatamartTableAttribute__Group_1_2__0 ) )
+        // InternalReportDSL.g:36635:6: ( rule__DatamartTableAttribute__Group_1_2__0 )
+        {
+        if ( state.backtracking==0 ) {
+           before(grammarAccess.getDatamartTableAttributeAccess().getGroup_1_2()); 
+        }
+        // InternalReportDSL.g:36636:6: ( rule__DatamartTableAttribute__Group_1_2__0 )
+        // InternalReportDSL.g:36636:7: rule__DatamartTableAttribute__Group_1_2__0
+        {
+        pushFollow(FOLLOW_2);
+        rule__DatamartTableAttribute__Group_1_2__0();
+
+        state._fsp--;
+        if (state.failed) return ;
+
+        }
+
+
+        }
+
+
+        }
+
+
+        }
+
+
+        }
+    }
+    // $ANTLR end synpred456_InternalReportDSL
+
+    // $ANTLR start synpred457_InternalReportDSL
+    public final void synpred457_InternalReportDSL_fragment() throws RecognitionException {   
+        // InternalReportDSL.g:36670:2: ( rule__DatamartTableAttribute__UnorderedGroup_1__1 )
+        // InternalReportDSL.g:36670:2: rule__DatamartTableAttribute__UnorderedGroup_1__1
+        {
+        pushFollow(FOLLOW_2);
+        rule__DatamartTableAttribute__UnorderedGroup_1__1();
+
+        state._fsp--;
+        if (state.failed) return ;
+
+        }
+    }
+    // $ANTLR end synpred457_InternalReportDSL
+
+    // $ANTLR start synpred458_InternalReportDSL
+    public final void synpred458_InternalReportDSL_fragment() throws RecognitionException {   
+        // InternalReportDSL.g:36682:2: ( rule__DatamartTableAttribute__UnorderedGroup_1__2 )
+        // InternalReportDSL.g:36682:2: rule__DatamartTableAttribute__UnorderedGroup_1__2
+        {
+        pushFollow(FOLLOW_2);
+        rule__DatamartTableAttribute__UnorderedGroup_1__2();
+
+        state._fsp--;
+        if (state.failed) return ;
+
+        }
+    }
+    // $ANTLR end synpred458_InternalReportDSL
+
+    // $ANTLR start synpred459_InternalReportDSL
+    public final void synpred459_InternalReportDSL_fragment() throws RecognitionException {   
+        // InternalReportDSL.g:36694:2: ( rule__DatamartTableAttribute__UnorderedGroup_1__3 )
+        // InternalReportDSL.g:36694:2: rule__DatamartTableAttribute__UnorderedGroup_1__3
+        {
+        pushFollow(FOLLOW_2);
+        rule__DatamartTableAttribute__UnorderedGroup_1__3();
+
+        state._fsp--;
+        if (state.failed) return ;
+
+        }
+    }
+    // $ANTLR end synpred459_InternalReportDSL
+
+    // $ANTLR start synpred460_InternalReportDSL
+    public final void synpred460_InternalReportDSL_fragment() throws RecognitionException {   
+        // InternalReportDSL.g:36718:2: ( rule__TableAggregation__UnorderedGroup_2__0 )
+        // InternalReportDSL.g:36718:2: rule__TableAggregation__UnorderedGroup_2__0
+        {
+        pushFollow(FOLLOW_2);
+        rule__TableAggregation__UnorderedGroup_2__0();
+
+        state._fsp--;
+        if (state.failed) return ;
+
+        }
+    }
+    // $ANTLR end synpred460_InternalReportDSL
+
+    // $ANTLR start synpred461_InternalReportDSL
+    public final void synpred461_InternalReportDSL_fragment() throws RecognitionException {   
+        // InternalReportDSL.g:36733:3: ( ({...}? => ( ( ( rule__TableAggregation__Group_2_0__0 ) ) ) ) )
+        // InternalReportDSL.g:36733:3: ({...}? => ( ( ( rule__TableAggregation__Group_2_0__0 ) ) ) )
+        {
+        // InternalReportDSL.g:36733:3: ({...}? => ( ( ( rule__TableAggregation__Group_2_0__0 ) ) ) )
+        // InternalReportDSL.g:36734:4: {...}? => ( ( ( rule__TableAggregation__Group_2_0__0 ) ) )
+        {
+        if ( ! getUnorderedGroupHelper().canSelect(grammarAccess.getTableAggregationAccess().getUnorderedGroup_2(), 0) ) {
+            if (state.backtracking>0) {state.failed=true; return ;}
+            throw new FailedPredicateException(input, "synpred461_InternalReportDSL", "getUnorderedGroupHelper().canSelect(grammarAccess.getTableAggregationAccess().getUnorderedGroup_2(), 0)");
+        }
+        // InternalReportDSL.g:36734:112: ( ( ( rule__TableAggregation__Group_2_0__0 ) ) )
+        // InternalReportDSL.g:36735:5: ( ( rule__TableAggregation__Group_2_0__0 ) )
+        {
+        getUnorderedGroupHelper().select(grammarAccess.getTableAggregationAccess().getUnorderedGroup_2(), 0);
+        // InternalReportDSL.g:36741:5: ( ( rule__TableAggregation__Group_2_0__0 ) )
+        // InternalReportDSL.g:36742:6: ( rule__TableAggregation__Group_2_0__0 )
+        {
+        if ( state.backtracking==0 ) {
+           before(grammarAccess.getTableAggregationAccess().getGroup_2_0()); 
+        }
+        // InternalReportDSL.g:36743:6: ( rule__TableAggregation__Group_2_0__0 )
+        // InternalReportDSL.g:36743:7: rule__TableAggregation__Group_2_0__0
+        {
+        pushFollow(FOLLOW_2);
+        rule__TableAggregation__Group_2_0__0();
+
+        state._fsp--;
+        if (state.failed) return ;
+
+        }
+
+
+        }
+
+
+        }
+
+
+        }
+
+
+        }
+    }
+    // $ANTLR end synpred461_InternalReportDSL
+
+    // $ANTLR start synpred462_InternalReportDSL
+    public final void synpred462_InternalReportDSL_fragment() throws RecognitionException {   
+        // InternalReportDSL.g:36777:2: ( rule__TableAggregation__UnorderedGroup_2__1 )
+        // InternalReportDSL.g:36777:2: rule__TableAggregation__UnorderedGroup_2__1
         {
         pushFollow(FOLLOW_2);
         rule__TableAggregation__UnorderedGroup_2__1();
@@ -141433,10 +144021,24 @@
 
         }
     }
-    // $ANTLR end synpred441_InternalReportDSL
+    // $ANTLR end synpred462_InternalReportDSL
 
     // Delegated rules
 
+    public final boolean synpred358_InternalReportDSL() {
+        state.backtracking++;
+        int start = input.mark();
+        try {
+            synpred358_InternalReportDSL_fragment(); // can never throw exception
+        } catch (RecognitionException re) {
+            System.err.println("impossible: "+re);
+        }
+        boolean success = !state.failed;
+        input.rewind(start);
+        state.backtracking--;
+        state.failed=false;
+        return success;
+    }
     public final boolean synpred345_InternalReportDSL() {
         state.backtracking++;
         int start = input.mark();
@@ -141451,6 +144053,20 @@
         state.failed=false;
         return success;
     }
+    public final boolean synpred459_InternalReportDSL() {
+        state.backtracking++;
+        int start = input.mark();
+        try {
+            synpred459_InternalReportDSL_fragment(); // can never throw exception
+        } catch (RecognitionException re) {
+            System.err.println("impossible: "+re);
+        }
+        boolean success = !state.failed;
+        input.rewind(start);
+        state.backtracking--;
+        state.failed=false;
+        return success;
+    }
     public final boolean synpred433_InternalReportDSL() {
         state.backtracking++;
         int start = input.mark();
@@ -141465,6 +144081,20 @@
         state.failed=false;
         return success;
     }
+    public final boolean synpred446_InternalReportDSL() {
+        state.backtracking++;
+        int start = input.mark();
+        try {
+            synpred446_InternalReportDSL_fragment(); // can never throw exception
+        } catch (RecognitionException re) {
+            System.err.println("impossible: "+re);
+        }
+        boolean success = !state.failed;
+        input.rewind(start);
+        state.backtracking--;
+        state.failed=false;
+        return success;
+    }
     public final boolean synpred406_InternalReportDSL() {
         state.backtracking++;
         int start = input.mark();
@@ -141479,6 +144109,34 @@
         state.failed=false;
         return success;
     }
+    public final boolean synpred284_InternalReportDSL() {
+        state.backtracking++;
+        int start = input.mark();
+        try {
+            synpred284_InternalReportDSL_fragment(); // can never throw exception
+        } catch (RecognitionException re) {
+            System.err.println("impossible: "+re);
+        }
+        boolean success = !state.failed;
+        input.rewind(start);
+        state.backtracking--;
+        state.failed=false;
+        return success;
+    }
+    public final boolean synpred271_InternalReportDSL() {
+        state.backtracking++;
+        int start = input.mark();
+        try {
+            synpred271_InternalReportDSL_fragment(); // can never throw exception
+        } catch (RecognitionException re) {
+            System.err.println("impossible: "+re);
+        }
+        boolean success = !state.failed;
+        input.rewind(start);
+        state.backtracking--;
+        state.failed=false;
+        return success;
+    }
     public final boolean synpred420_InternalReportDSL() {
         state.backtracking++;
         int start = input.mark();
@@ -141507,6 +144165,34 @@
         state.failed=false;
         return success;
     }
+    public final boolean synpred447_InternalReportDSL() {
+        state.backtracking++;
+        int start = input.mark();
+        try {
+            synpred447_InternalReportDSL_fragment(); // can never throw exception
+        } catch (RecognitionException re) {
+            System.err.println("impossible: "+re);
+        }
+        boolean success = !state.failed;
+        input.rewind(start);
+        state.backtracking--;
+        state.failed=false;
+        return success;
+    }
+    public final boolean synpred333_InternalReportDSL() {
+        state.backtracking++;
+        int start = input.mark();
+        try {
+            synpred333_InternalReportDSL_fragment(); // can never throw exception
+        } catch (RecognitionException re) {
+            System.err.println("impossible: "+re);
+        }
+        boolean success = !state.failed;
+        input.rewind(start);
+        state.backtracking--;
+        state.failed=false;
+        return success;
+    }
     public final boolean synpred373_InternalReportDSL() {
         state.backtracking++;
         int start = input.mark();
@@ -141577,11 +144263,11 @@
         state.failed=false;
         return success;
     }
-    public final boolean synpred298_InternalReportDSL() {
+    public final boolean synpred346_InternalReportDSL() {
         state.backtracking++;
         int start = input.mark();
         try {
-            synpred298_InternalReportDSL_fragment(); // can never throw exception
+            synpred346_InternalReportDSL_fragment(); // can never throw exception
         } catch (RecognitionException re) {
             System.err.println("impossible: "+re);
         }
@@ -141619,6 +144305,20 @@
         state.failed=false;
         return success;
     }
+    public final boolean synpred461_InternalReportDSL() {
+        state.backtracking++;
+        int start = input.mark();
+        try {
+            synpred461_InternalReportDSL_fragment(); // can never throw exception
+        } catch (RecognitionException re) {
+            System.err.println("impossible: "+re);
+        }
+        boolean success = !state.failed;
+        input.rewind(start);
+        state.backtracking--;
+        state.failed=false;
+        return success;
+    }
     public final boolean synpred407_InternalReportDSL() {
         state.backtracking++;
         int start = input.mark();
@@ -141647,6 +144347,34 @@
         state.failed=false;
         return success;
     }
+    public final boolean synpred316_InternalReportDSL() {
+        state.backtracking++;
+        int start = input.mark();
+        try {
+            synpred316_InternalReportDSL_fragment(); // can never throw exception
+        } catch (RecognitionException re) {
+            System.err.println("impossible: "+re);
+        }
+        boolean success = !state.failed;
+        input.rewind(start);
+        state.backtracking--;
+        state.failed=false;
+        return success;
+    }
+    public final boolean synpred462_InternalReportDSL() {
+        state.backtracking++;
+        int start = input.mark();
+        try {
+            synpred462_InternalReportDSL_fragment(); // can never throw exception
+        } catch (RecognitionException re) {
+            System.err.println("impossible: "+re);
+        }
+        boolean success = !state.failed;
+        input.rewind(start);
+        state.backtracking--;
+        state.failed=false;
+        return success;
+    }
     public final boolean synpred432_InternalReportDSL() {
         state.backtracking++;
         int start = input.mark();
@@ -141675,20 +144403,6 @@
         state.failed=false;
         return success;
     }
-    public final boolean synpred296_InternalReportDSL() {
-        state.backtracking++;
-        int start = input.mark();
-        try {
-            synpred296_InternalReportDSL_fragment(); // can never throw exception
-        } catch (RecognitionException re) {
-            System.err.println("impossible: "+re);
-        }
-        boolean success = !state.failed;
-        input.rewind(start);
-        state.backtracking--;
-        state.failed=false;
-        return success;
-    }
     public final boolean synpred371_InternalReportDSL() {
         state.backtracking++;
         int start = input.mark();
@@ -141717,6 +144431,20 @@
         state.failed=false;
         return success;
     }
+    public final boolean synpred357_InternalReportDSL() {
+        state.backtracking++;
+        int start = input.mark();
+        try {
+            synpred357_InternalReportDSL_fragment(); // can never throw exception
+        } catch (RecognitionException re) {
+            System.err.println("impossible: "+re);
+        }
+        boolean success = !state.failed;
+        input.rewind(start);
+        state.backtracking--;
+        state.failed=false;
+        return success;
+    }
     public final boolean synpred397_InternalReportDSL() {
         state.backtracking++;
         int start = input.mark();
@@ -141731,6 +144459,20 @@
         state.failed=false;
         return success;
     }
+    public final boolean synpred448_InternalReportDSL() {
+        state.backtracking++;
+        int start = input.mark();
+        try {
+            synpred448_InternalReportDSL_fragment(); // can never throw exception
+        } catch (RecognitionException re) {
+            System.err.println("impossible: "+re);
+        }
+        boolean success = !state.failed;
+        input.rewind(start);
+        state.backtracking--;
+        state.failed=false;
+        return success;
+    }
     public final boolean synpred104_InternalReportDSL() {
         state.backtracking++;
         int start = input.mark();
@@ -141745,6 +144487,20 @@
         state.failed=false;
         return success;
     }
+    public final boolean synpred458_InternalReportDSL() {
+        state.backtracking++;
+        int start = input.mark();
+        try {
+            synpred458_InternalReportDSL_fragment(); // can never throw exception
+        } catch (RecognitionException re) {
+            System.err.println("impossible: "+re);
+        }
+        boolean success = !state.failed;
+        input.rewind(start);
+        state.backtracking--;
+        state.failed=false;
+        return success;
+    }
     public final boolean synpred372_InternalReportDSL() {
         state.backtracking++;
         int start = input.mark();
@@ -141843,20 +144599,6 @@
         state.failed=false;
         return success;
     }
-    public final boolean synpred307_InternalReportDSL() {
-        state.backtracking++;
-        int start = input.mark();
-        try {
-            synpred307_InternalReportDSL_fragment(); // can never throw exception
-        } catch (RecognitionException re) {
-            System.err.println("impossible: "+re);
-        }
-        boolean success = !state.failed;
-        input.rewind(start);
-        state.backtracking--;
-        state.failed=false;
-        return success;
-    }
     public final boolean synpred41_InternalReportDSL() {
         state.backtracking++;
         int start = input.mark();
@@ -141885,6 +144627,20 @@
         state.failed=false;
         return success;
     }
+    public final boolean synpred321_InternalReportDSL() {
+        state.backtracking++;
+        int start = input.mark();
+        try {
+            synpred321_InternalReportDSL_fragment(); // can never throw exception
+        } catch (RecognitionException re) {
+            System.err.println("impossible: "+re);
+        }
+        boolean success = !state.failed;
+        input.rewind(start);
+        state.backtracking--;
+        state.failed=false;
+        return success;
+    }
     public final boolean synpred331_InternalReportDSL() {
         state.backtracking++;
         int start = input.mark();
@@ -141913,11 +144669,11 @@
         state.failed=false;
         return success;
     }
-    public final boolean synpred335_InternalReportDSL() {
+    public final boolean synpred390_InternalReportDSL() {
         state.backtracking++;
         int start = input.mark();
         try {
-            synpred335_InternalReportDSL_fragment(); // can never throw exception
+            synpred390_InternalReportDSL_fragment(); // can never throw exception
         } catch (RecognitionException re) {
             System.err.println("impossible: "+re);
         }
@@ -141927,11 +144683,11 @@
         state.failed=false;
         return success;
     }
-    public final boolean synpred390_InternalReportDSL() {
+    public final boolean synpred348_InternalReportDSL() {
         state.backtracking++;
         int start = input.mark();
         try {
-            synpred390_InternalReportDSL_fragment(); // can never throw exception
+            synpred348_InternalReportDSL_fragment(); // can never throw exception
         } catch (RecognitionException re) {
             System.err.println("impossible: "+re);
         }
@@ -141983,6 +144739,20 @@
         state.failed=false;
         return success;
     }
+    public final boolean synpred328_InternalReportDSL() {
+        state.backtracking++;
+        int start = input.mark();
+        try {
+            synpred328_InternalReportDSL_fragment(); // can never throw exception
+        } catch (RecognitionException re) {
+            System.err.println("impossible: "+re);
+        }
+        boolean success = !state.failed;
+        input.rewind(start);
+        state.backtracking--;
+        state.failed=false;
+        return success;
+    }
     public final boolean synpred430_InternalReportDSL() {
         state.backtracking++;
         int start = input.mark();
@@ -141997,6 +144767,20 @@
         state.failed=false;
         return success;
     }
+    public final boolean synpred443_InternalReportDSL() {
+        state.backtracking++;
+        int start = input.mark();
+        try {
+            synpred443_InternalReportDSL_fragment(); // can never throw exception
+        } catch (RecognitionException re) {
+            System.err.println("impossible: "+re);
+        }
+        boolean success = !state.failed;
+        input.rewind(start);
+        state.backtracking--;
+        state.failed=false;
+        return success;
+    }
     public final boolean synpred82_InternalReportDSL() {
         state.backtracking++;
         int start = input.mark();
@@ -142025,6 +144809,20 @@
         state.failed=false;
         return success;
     }
+    public final boolean synpred355_InternalReportDSL() {
+        state.backtracking++;
+        int start = input.mark();
+        try {
+            synpred355_InternalReportDSL_fragment(); // can never throw exception
+        } catch (RecognitionException re) {
+            System.err.println("impossible: "+re);
+        }
+        boolean success = !state.failed;
+        input.rewind(start);
+        state.backtracking--;
+        state.failed=false;
+        return success;
+    }
     public final boolean synpred403_InternalReportDSL() {
         state.backtracking++;
         int start = input.mark();
@@ -142053,6 +144851,20 @@
         state.failed=false;
         return success;
     }
+    public final boolean synpred281_InternalReportDSL() {
+        state.backtracking++;
+        int start = input.mark();
+        try {
+            synpred281_InternalReportDSL_fragment(); // can never throw exception
+        } catch (RecognitionException re) {
+            System.err.println("impossible: "+re);
+        }
+        boolean success = !state.failed;
+        input.rewind(start);
+        state.backtracking--;
+        state.failed=false;
+        return success;
+    }
     public final boolean synpred330_InternalReportDSL() {
         state.backtracking++;
         int start = input.mark();
@@ -142067,11 +144879,11 @@
         state.failed=false;
         return success;
     }
-    public final boolean synpred288_InternalReportDSL() {
+    public final boolean synpred275_InternalReportDSL() {
         state.backtracking++;
         int start = input.mark();
         try {
-            synpred288_InternalReportDSL_fragment(); // can never throw exception
+            synpred275_InternalReportDSL_fragment(); // can never throw exception
         } catch (RecognitionException re) {
             System.err.println("impossible: "+re);
         }
@@ -142081,11 +144893,11 @@
         state.failed=false;
         return success;
     }
-    public final boolean synpred343_InternalReportDSL() {
+    public final boolean synpred457_InternalReportDSL() {
         state.backtracking++;
         int start = input.mark();
         try {
-            synpred343_InternalReportDSL_fragment(); // can never throw exception
+            synpred457_InternalReportDSL_fragment(); // can never throw exception
         } catch (RecognitionException re) {
             System.err.println("impossible: "+re);
         }
@@ -142095,11 +144907,25 @@
         state.failed=false;
         return success;
     }
-    public final boolean synpred295_InternalReportDSL() {
+    public final boolean synpred323_InternalReportDSL() {
         state.backtracking++;
         int start = input.mark();
         try {
-            synpred295_InternalReportDSL_fragment(); // can never throw exception
+            synpred323_InternalReportDSL_fragment(); // can never throw exception
+        } catch (RecognitionException re) {
+            System.err.println("impossible: "+re);
+        }
+        boolean success = !state.failed;
+        input.rewind(start);
+        state.backtracking--;
+        state.failed=false;
+        return success;
+    }
+    public final boolean synpred350_InternalReportDSL() {
+        state.backtracking++;
+        int start = input.mark();
+        try {
+            synpred350_InternalReportDSL_fragment(); // can never throw exception
         } catch (RecognitionException re) {
             System.err.println("impossible: "+re);
         }
@@ -142179,6 +145005,34 @@
         state.failed=false;
         return success;
     }
+    public final boolean synpred273_InternalReportDSL() {
+        state.backtracking++;
+        int start = input.mark();
+        try {
+            synpred273_InternalReportDSL_fragment(); // can never throw exception
+        } catch (RecognitionException re) {
+            System.err.println("impossible: "+re);
+        }
+        boolean success = !state.failed;
+        input.rewind(start);
+        state.backtracking--;
+        state.failed=false;
+        return success;
+    }
+    public final boolean synpred303_InternalReportDSL() {
+        state.backtracking++;
+        int start = input.mark();
+        try {
+            synpred303_InternalReportDSL_fragment(); // can never throw exception
+        } catch (RecognitionException re) {
+            System.err.println("impossible: "+re);
+        }
+        boolean success = !state.failed;
+        input.rewind(start);
+        state.backtracking--;
+        state.failed=false;
+        return success;
+    }
     public final boolean synpred293_InternalReportDSL() {
         state.backtracking++;
         int start = input.mark();
@@ -142207,6 +145061,20 @@
         state.failed=false;
         return success;
     }
+    public final boolean synpred445_InternalReportDSL() {
+        state.backtracking++;
+        int start = input.mark();
+        try {
+            synpred445_InternalReportDSL_fragment(); // can never throw exception
+        } catch (RecognitionException re) {
+            System.err.println("impossible: "+re);
+        }
+        boolean success = !state.failed;
+        input.rewind(start);
+        state.backtracking--;
+        state.failed=false;
+        return success;
+    }
     public final boolean synpred435_InternalReportDSL() {
         state.backtracking++;
         int start = input.mark();
@@ -142221,6 +145089,20 @@
         state.failed=false;
         return success;
     }
+    public final boolean synpred455_InternalReportDSL() {
+        state.backtracking++;
+        int start = input.mark();
+        try {
+            synpred455_InternalReportDSL_fragment(); // can never throw exception
+        } catch (RecognitionException re) {
+            System.err.println("impossible: "+re);
+        }
+        boolean success = !state.failed;
+        input.rewind(start);
+        state.backtracking--;
+        state.failed=false;
+        return success;
+    }
     public final boolean synpred395_InternalReportDSL() {
         state.backtracking++;
         int start = input.mark();
@@ -142249,6 +145131,34 @@
         state.failed=false;
         return success;
     }
+    public final boolean synpred460_InternalReportDSL() {
+        state.backtracking++;
+        int start = input.mark();
+        try {
+            synpred460_InternalReportDSL_fragment(); // can never throw exception
+        } catch (RecognitionException re) {
+            System.err.println("impossible: "+re);
+        }
+        boolean success = !state.failed;
+        input.rewind(start);
+        state.backtracking--;
+        state.failed=false;
+        return success;
+    }
+    public final boolean synpred450_InternalReportDSL() {
+        state.backtracking++;
+        int start = input.mark();
+        try {
+            synpred450_InternalReportDSL_fragment(); // can never throw exception
+        } catch (RecognitionException re) {
+            System.err.println("impossible: "+re);
+        }
+        boolean success = !state.failed;
+        input.rewind(start);
+        state.backtracking--;
+        state.failed=false;
+        return success;
+    }
     public final boolean synpred425_InternalReportDSL() {
         state.backtracking++;
         int start = input.mark();
@@ -142347,20 +145257,6 @@
         state.failed=false;
         return success;
     }
-    public final boolean synpred292_InternalReportDSL() {
-        state.backtracking++;
-        int start = input.mark();
-        try {
-            synpred292_InternalReportDSL_fragment(); // can never throw exception
-        } catch (RecognitionException re) {
-            System.err.println("impossible: "+re);
-        }
-        boolean success = !state.failed;
-        input.rewind(start);
-        state.backtracking--;
-        state.failed=false;
-        return success;
-    }
     public final boolean synpred439_InternalReportDSL() {
         state.backtracking++;
         int start = input.mark();
@@ -142403,6 +145299,20 @@
         state.failed=false;
         return success;
     }
+    public final boolean synpred352_InternalReportDSL() {
+        state.backtracking++;
+        int start = input.mark();
+        try {
+            synpred352_InternalReportDSL_fragment(); // can never throw exception
+        } catch (RecognitionException re) {
+            System.err.println("impossible: "+re);
+        }
+        boolean success = !state.failed;
+        input.rewind(start);
+        state.backtracking--;
+        state.failed=false;
+        return success;
+    }
     public final boolean synpred365_InternalReportDSL() {
         state.backtracking++;
         int start = input.mark();
@@ -142431,6 +145341,20 @@
         state.failed=false;
         return success;
     }
+    public final boolean synpred277_InternalReportDSL() {
+        state.backtracking++;
+        int start = input.mark();
+        try {
+            synpred277_InternalReportDSL_fragment(); // can never throw exception
+        } catch (RecognitionException re) {
+            System.err.println("impossible: "+re);
+        }
+        boolean success = !state.failed;
+        input.rewind(start);
+        state.backtracking--;
+        state.failed=false;
+        return success;
+    }
     public final boolean synpred379_InternalReportDSL() {
         state.backtracking++;
         int start = input.mark();
@@ -142445,6 +145369,20 @@
         state.failed=false;
         return success;
     }
+    public final boolean synpred278_InternalReportDSL() {
+        state.backtracking++;
+        int start = input.mark();
+        try {
+            synpred278_InternalReportDSL_fragment(); // can never throw exception
+        } catch (RecognitionException re) {
+            System.err.println("impossible: "+re);
+        }
+        boolean success = !state.failed;
+        input.rewind(start);
+        state.backtracking--;
+        state.failed=false;
+        return success;
+    }
     public final boolean synpred353_InternalReportDSL() {
         state.backtracking++;
         int start = input.mark();
@@ -142473,6 +145411,20 @@
         state.failed=false;
         return success;
     }
+    public final boolean synpred340_InternalReportDSL() {
+        state.backtracking++;
+        int start = input.mark();
+        try {
+            synpred340_InternalReportDSL_fragment(); // can never throw exception
+        } catch (RecognitionException re) {
+            System.err.println("impossible: "+re);
+        }
+        boolean success = !state.failed;
+        input.rewind(start);
+        state.backtracking--;
+        state.failed=false;
+        return success;
+    }
     public final boolean synpred414_InternalReportDSL() {
         state.backtracking++;
         int start = input.mark();
@@ -142515,6 +145467,20 @@
         state.failed=false;
         return success;
     }
+    public final boolean synpred339_InternalReportDSL() {
+        state.backtracking++;
+        int start = input.mark();
+        try {
+            synpred339_InternalReportDSL_fragment(); // can never throw exception
+        } catch (RecognitionException re) {
+            System.err.println("impossible: "+re);
+        }
+        boolean success = !state.failed;
+        input.rewind(start);
+        state.backtracking--;
+        state.failed=false;
+        return success;
+    }
     public final boolean synpred441_InternalReportDSL() {
         state.backtracking++;
         int start = input.mark();
@@ -142529,6 +145495,20 @@
         state.failed=false;
         return success;
     }
+    public final boolean synpred454_InternalReportDSL() {
+        state.backtracking++;
+        int start = input.mark();
+        try {
+            synpred454_InternalReportDSL_fragment(); // can never throw exception
+        } catch (RecognitionException re) {
+            System.err.println("impossible: "+re);
+        }
+        boolean success = !state.failed;
+        input.rewind(start);
+        state.backtracking--;
+        state.failed=false;
+        return success;
+    }
     public final boolean synpred366_InternalReportDSL() {
         state.backtracking++;
         int start = input.mark();
@@ -142557,6 +145537,20 @@
         state.failed=false;
         return success;
     }
+    public final boolean synpred452_InternalReportDSL() {
+        state.backtracking++;
+        int start = input.mark();
+        try {
+            synpred452_InternalReportDSL_fragment(); // can never throw exception
+        } catch (RecognitionException re) {
+            System.err.println("impossible: "+re);
+        }
+        boolean success = !state.failed;
+        input.rewind(start);
+        state.backtracking--;
+        state.failed=false;
+        return success;
+    }
     public final boolean synpred351_InternalReportDSL() {
         state.backtracking++;
         int start = input.mark();
@@ -142571,6 +145565,20 @@
         state.failed=false;
         return success;
     }
+    public final boolean synpred442_InternalReportDSL() {
+        state.backtracking++;
+        int start = input.mark();
+        try {
+            synpred442_InternalReportDSL_fragment(); // can never throw exception
+        } catch (RecognitionException re) {
+            System.err.println("impossible: "+re);
+        }
+        boolean success = !state.failed;
+        input.rewind(start);
+        state.backtracking--;
+        state.failed=false;
+        return success;
+    }
     public final boolean synpred377_InternalReportDSL() {
         state.backtracking++;
         int start = input.mark();
@@ -142585,6 +145593,34 @@
         state.failed=false;
         return success;
     }
+    public final boolean synpred276_InternalReportDSL() {
+        state.backtracking++;
+        int start = input.mark();
+        try {
+            synpred276_InternalReportDSL_fragment(); // can never throw exception
+        } catch (RecognitionException re) {
+            System.err.println("impossible: "+re);
+        }
+        boolean success = !state.failed;
+        input.rewind(start);
+        state.backtracking--;
+        state.failed=false;
+        return success;
+    }
+    public final boolean synpred300_InternalReportDSL() {
+        state.backtracking++;
+        int start = input.mark();
+        try {
+            synpred300_InternalReportDSL_fragment(); // can never throw exception
+        } catch (RecognitionException re) {
+            System.err.println("impossible: "+re);
+        }
+        boolean success = !state.failed;
+        input.rewind(start);
+        state.backtracking--;
+        state.failed=false;
+        return success;
+    }
     public final boolean synpred381_InternalReportDSL() {
         state.backtracking++;
         int start = input.mark();
@@ -142627,20 +145663,6 @@
         state.failed=false;
         return success;
     }
-    public final boolean synpred291_InternalReportDSL() {
-        state.backtracking++;
-        int start = input.mark();
-        try {
-            synpred291_InternalReportDSL_fragment(); // can never throw exception
-        } catch (RecognitionException re) {
-            System.err.println("impossible: "+re);
-        }
-        boolean success = !state.failed;
-        input.rewind(start);
-        state.backtracking--;
-        state.failed=false;
-        return success;
-    }
     public final boolean synpred428_InternalReportDSL() {
         state.backtracking++;
         int start = input.mark();
@@ -142739,6 +145761,20 @@
         state.failed=false;
         return success;
     }
+    public final boolean synpred453_InternalReportDSL() {
+        state.backtracking++;
+        int start = input.mark();
+        try {
+            synpred453_InternalReportDSL_fragment(); // can never throw exception
+        } catch (RecognitionException re) {
+            System.err.println("impossible: "+re);
+        }
+        boolean success = !state.failed;
+        input.rewind(start);
+        state.backtracking--;
+        state.failed=false;
+        return success;
+    }
     public final boolean synpred412_InternalReportDSL() {
         state.backtracking++;
         int start = input.mark();
@@ -142753,11 +145789,25 @@
         state.failed=false;
         return success;
     }
-    public final boolean synpred290_InternalReportDSL() {
+    public final boolean synpred280_InternalReportDSL() {
         state.backtracking++;
         int start = input.mark();
         try {
-            synpred290_InternalReportDSL_fragment(); // can never throw exception
+            synpred280_InternalReportDSL_fragment(); // can never throw exception
+        } catch (RecognitionException re) {
+            System.err.println("impossible: "+re);
+        }
+        boolean success = !state.failed;
+        input.rewind(start);
+        state.backtracking--;
+        state.failed=false;
+        return success;
+    }
+    public final boolean synpred322_InternalReportDSL() {
+        state.backtracking++;
+        int start = input.mark();
+        try {
+            synpred322_InternalReportDSL_fragment(); // can never throw exception
         } catch (RecognitionException re) {
             System.err.println("impossible: "+re);
         }
@@ -142781,6 +145831,20 @@
         state.failed=false;
         return success;
     }
+    public final boolean synpred449_InternalReportDSL() {
+        state.backtracking++;
+        int start = input.mark();
+        try {
+            synpred449_InternalReportDSL_fragment(); // can never throw exception
+        } catch (RecognitionException re) {
+            System.err.println("impossible: "+re);
+        }
+        boolean success = !state.failed;
+        input.rewind(start);
+        state.backtracking--;
+        state.failed=false;
+        return success;
+    }
     public final boolean synpred416_InternalReportDSL() {
         state.backtracking++;
         int start = input.mark();
@@ -142809,11 +145873,11 @@
         state.failed=false;
         return success;
     }
-    public final boolean synpred287_InternalReportDSL() {
+    public final boolean synpred456_InternalReportDSL() {
         state.backtracking++;
         int start = input.mark();
         try {
-            synpred287_InternalReportDSL_fragment(); // can never throw exception
+            synpred456_InternalReportDSL_fragment(); // can never throw exception
         } catch (RecognitionException re) {
             System.err.println("impossible: "+re);
         }
@@ -142879,11 +145943,25 @@
         state.failed=false;
         return success;
     }
-    public final boolean synpred342_InternalReportDSL() {
+    public final boolean synpred274_InternalReportDSL() {
         state.backtracking++;
         int start = input.mark();
         try {
-            synpred342_InternalReportDSL_fragment(); // can never throw exception
+            synpred274_InternalReportDSL_fragment(); // can never throw exception
+        } catch (RecognitionException re) {
+            System.err.println("impossible: "+re);
+        }
+        boolean success = !state.failed;
+        input.rewind(start);
+        state.backtracking--;
+        state.failed=false;
+        return success;
+    }
+    public final boolean synpred444_InternalReportDSL() {
+        state.backtracking++;
+        int start = input.mark();
+        try {
+            synpred444_InternalReportDSL_fragment(); // can never throw exception
         } catch (RecognitionException re) {
             System.err.println("impossible: "+re);
         }
@@ -142921,11 +145999,11 @@
         state.failed=false;
         return success;
     }
-    public final boolean synpred336_InternalReportDSL() {
+    public final boolean synpred282_InternalReportDSL() {
         state.backtracking++;
         int start = input.mark();
         try {
-            synpred336_InternalReportDSL_fragment(); // can never throw exception
+            synpred282_InternalReportDSL_fragment(); // can never throw exception
         } catch (RecognitionException re) {
             System.err.println("impossible: "+re);
         }
@@ -143005,6 +146083,48 @@
         state.failed=false;
         return success;
     }
+    public final boolean synpred329_InternalReportDSL() {
+        state.backtracking++;
+        int start = input.mark();
+        try {
+            synpred329_InternalReportDSL_fragment(); // can never throw exception
+        } catch (RecognitionException re) {
+            System.err.println("impossible: "+re);
+        }
+        boolean success = !state.failed;
+        input.rewind(start);
+        state.backtracking--;
+        state.failed=false;
+        return success;
+    }
+    public final boolean synpred356_InternalReportDSL() {
+        state.backtracking++;
+        int start = input.mark();
+        try {
+            synpred356_InternalReportDSL_fragment(); // can never throw exception
+        } catch (RecognitionException re) {
+            System.err.println("impossible: "+re);
+        }
+        boolean success = !state.failed;
+        input.rewind(start);
+        state.backtracking--;
+        state.failed=false;
+        return success;
+    }
+    public final boolean synpred349_InternalReportDSL() {
+        state.backtracking++;
+        int start = input.mark();
+        try {
+            synpred349_InternalReportDSL_fragment(); // can never throw exception
+        } catch (RecognitionException re) {
+            System.err.println("impossible: "+re);
+        }
+        boolean success = !state.failed;
+        input.rewind(start);
+        state.backtracking--;
+        state.failed=false;
+        return success;
+    }
     public final boolean synpred424_InternalReportDSL() {
         state.backtracking++;
         int start = input.mark();
@@ -143019,6 +146139,20 @@
         state.failed=false;
         return success;
     }
+    public final boolean synpred451_InternalReportDSL() {
+        state.backtracking++;
+        int start = input.mark();
+        try {
+            synpred451_InternalReportDSL_fragment(); // can never throw exception
+        } catch (RecognitionException re) {
+            System.err.println("impossible: "+re);
+        }
+        boolean success = !state.failed;
+        input.rewind(start);
+        state.backtracking--;
+        state.failed=false;
+        return success;
+    }
     public final boolean synpred374_InternalReportDSL() {
         state.backtracking++;
         int start = input.mark();
@@ -143033,20 +146167,6 @@
         state.failed=false;
         return success;
     }
-    public final boolean synpred299_InternalReportDSL() {
-        state.backtracking++;
-        int start = input.mark();
-        try {
-            synpred299_InternalReportDSL_fragment(); // can never throw exception
-        } catch (RecognitionException re) {
-            System.err.println("impossible: "+re);
-        }
-        boolean success = !state.failed;
-        input.rewind(start);
-        state.backtracking--;
-        state.failed=false;
-        return success;
-    }
     public final boolean synpred384_InternalReportDSL() {
         state.backtracking++;
         int start = input.mark();
@@ -143061,20 +146181,6 @@
         state.failed=false;
         return success;
     }
-    public final boolean synpred289_InternalReportDSL() {
-        state.backtracking++;
-        int start = input.mark();
-        try {
-            synpred289_InternalReportDSL_fragment(); // can never throw exception
-        } catch (RecognitionException re) {
-            System.err.println("impossible: "+re);
-        }
-        boolean success = !state.failed;
-        input.rewind(start);
-        state.backtracking--;
-        state.failed=false;
-        return success;
-    }
     public final boolean synpred364_InternalReportDSL() {
         state.backtracking++;
         int start = input.mark();
@@ -143117,6 +146223,20 @@
         state.failed=false;
         return success;
     }
+    public final boolean synpred279_InternalReportDSL() {
+        state.backtracking++;
+        int start = input.mark();
+        try {
+            synpred279_InternalReportDSL_fragment(); // can never throw exception
+        } catch (RecognitionException re) {
+            System.err.println("impossible: "+re);
+        }
+        boolean success = !state.failed;
+        input.rewind(start);
+        state.backtracking--;
+        state.failed=false;
+        return success;
+    }
     public final boolean synpred394_InternalReportDSL() {
         state.backtracking++;
         int start = input.mark();
@@ -143131,48 +146251,6 @@
         state.failed=false;
         return success;
     }
-    public final boolean synpred314_InternalReportDSL() {
-        state.backtracking++;
-        int start = input.mark();
-        try {
-            synpred314_InternalReportDSL_fragment(); // can never throw exception
-        } catch (RecognitionException re) {
-            System.err.println("impossible: "+re);
-        }
-        boolean success = !state.failed;
-        input.rewind(start);
-        state.backtracking--;
-        state.failed=false;
-        return success;
-    }
-    public final boolean synpred294_InternalReportDSL() {
-        state.backtracking++;
-        int start = input.mark();
-        try {
-            synpred294_InternalReportDSL_fragment(); // can never throw exception
-        } catch (RecognitionException re) {
-            System.err.println("impossible: "+re);
-        }
-        boolean success = !state.failed;
-        input.rewind(start);
-        state.backtracking--;
-        state.failed=false;
-        return success;
-    }
-    public final boolean synpred344_InternalReportDSL() {
-        state.backtracking++;
-        int start = input.mark();
-        try {
-            synpred344_InternalReportDSL_fragment(); // can never throw exception
-        } catch (RecognitionException re) {
-            System.err.println("impossible: "+re);
-        }
-        boolean success = !state.failed;
-        input.rewind(start);
-        state.backtracking--;
-        state.failed=false;
-        return success;
-    }
 
 
     protected DFA15 dfa15 = new DFA15(this);
@@ -143186,20 +146264,38 @@
     protected DFA41 dfa41 = new DFA41(this);
     protected DFA46 dfa46 = new DFA46(this);
     protected DFA49 dfa49 = new DFA49(this);
-    protected DFA180 dfa180 = new DFA180(this);
-    protected DFA186 dfa186 = new DFA186(this);
-    protected DFA193 dfa193 = new DFA193(this);
+    protected DFA162 dfa162 = new DFA162(this);
+    protected DFA168 dfa168 = new DFA168(this);
+    protected DFA175 dfa175 = new DFA175(this);
+    protected DFA176 dfa176 = new DFA176(this);
+    protected DFA184 dfa184 = new DFA184(this);
     protected DFA194 dfa194 = new DFA194(this);
-    protected DFA202 dfa202 = new DFA202(this);
+    protected DFA207 dfa207 = new DFA207(this);
+    protected DFA208 dfa208 = new DFA208(this);
     protected DFA212 dfa212 = new DFA212(this);
-    protected DFA225 dfa225 = new DFA225(this);
-    protected DFA226 dfa226 = new DFA226(this);
-    protected DFA230 dfa230 = new DFA230(this);
+    protected DFA213 dfa213 = new DFA213(this);
+    protected DFA214 dfa214 = new DFA214(this);
+    protected DFA219 dfa219 = new DFA219(this);
+    protected DFA228 dfa228 = new DFA228(this);
     protected DFA231 dfa231 = new DFA231(this);
-    protected DFA232 dfa232 = new DFA232(this);
-    protected DFA237 dfa237 = new DFA237(this);
+    protected DFA241 dfa241 = new DFA241(this);
+    protected DFA242 dfa242 = new DFA242(this);
+    protected DFA243 dfa243 = new DFA243(this);
+    protected DFA244 dfa244 = new DFA244(this);
+    protected DFA245 dfa245 = new DFA245(this);
     protected DFA246 dfa246 = new DFA246(this);
+    protected DFA247 dfa247 = new DFA247(this);
+    protected DFA248 dfa248 = new DFA248(this);
     protected DFA249 dfa249 = new DFA249(this);
+    protected DFA250 dfa250 = new DFA250(this);
+    protected DFA251 dfa251 = new DFA251(this);
+    protected DFA252 dfa252 = new DFA252(this);
+    protected DFA253 dfa253 = new DFA253(this);
+    protected DFA254 dfa254 = new DFA254(this);
+    protected DFA255 dfa255 = new DFA255(this);
+    protected DFA256 dfa256 = new DFA256(this);
+    protected DFA257 dfa257 = new DFA257(this);
+    protected DFA258 dfa258 = new DFA258(this);
     protected DFA259 dfa259 = new DFA259(this);
     protected DFA260 dfa260 = new DFA260(this);
     protected DFA261 dfa261 = new DFA261(this);
@@ -143220,37 +146316,21 @@
     protected DFA276 dfa276 = new DFA276(this);
     protected DFA277 dfa277 = new DFA277(this);
     protected DFA278 dfa278 = new DFA278(this);
-    protected DFA279 dfa279 = new DFA279(this);
-    protected DFA280 dfa280 = new DFA280(this);
-    protected DFA281 dfa281 = new DFA281(this);
-    protected DFA282 dfa282 = new DFA282(this);
-    protected DFA283 dfa283 = new DFA283(this);
-    protected DFA284 dfa284 = new DFA284(this);
-    protected DFA285 dfa285 = new DFA285(this);
-    protected DFA286 dfa286 = new DFA286(this);
-    protected DFA287 dfa287 = new DFA287(this);
-    protected DFA288 dfa288 = new DFA288(this);
-    protected DFA289 dfa289 = new DFA289(this);
-    protected DFA290 dfa290 = new DFA290(this);
-    protected DFA291 dfa291 = new DFA291(this);
-    protected DFA292 dfa292 = new DFA292(this);
-    protected DFA293 dfa293 = new DFA293(this);
-    protected DFA294 dfa294 = new DFA294(this);
     static final String dfa_1s = "\10\uffff";
-    static final String dfa_2s = "\2\uffff\1\5\4\uffff\1\5";
-    static final String dfa_3s = "\1\5\1\uffff\1\57\1\uffff\1\5\2\uffff\1\57";
-    static final String dfa_4s = "\1\u0105\1\uffff\1\u00e2\1\uffff\1\50\2\uffff\1\u00e2";
-    static final String dfa_5s = "\1\uffff\1\1\1\uffff\1\4\1\uffff\1\2\1\3\1\uffff";
+    static final String dfa_2s = "\2\uffff\1\5\3\uffff\1\5\1\uffff";
+    static final String dfa_3s = "\1\5\1\uffff\1\57\1\uffff\1\5\1\uffff\1\57\1\uffff";
+    static final String dfa_4s = "\1\u010a\1\uffff\1\u00e9\1\uffff\1\50\1\uffff\1\u00e9\1\uffff";
+    static final String dfa_5s = "\1\uffff\1\1\1\uffff\1\4\1\uffff\1\2\1\uffff\1\3";
     static final String dfa_6s = "\10\uffff}>";
     static final String[] dfa_7s = {
-            "\1\2\54\uffff\1\1\u00d2\uffff\1\3",
+            "\1\2\54\uffff\1\1\u00d7\uffff\1\3",
             "",
-            "\1\4\3\uffff\1\5\110\uffff\1\5\145\uffff\1\5",
+            "\1\4\3\uffff\1\5\116\uffff\1\5\146\uffff\1\5",
             "",
-            "\1\7\42\uffff\1\6",
+            "\1\6\42\uffff\1\7",
             "",
-            "",
-            "\1\4\3\uffff\1\5\110\uffff\1\5\145\uffff\1\5"
+            "\1\4\3\uffff\1\5\116\uffff\1\5\146\uffff\1\5",
+            ""
     };
 
     static final short[] dfa_1 = DFA.unpackEncodedString(dfa_1s);
@@ -143275,16 +146355,16 @@
             this.transition = dfa_7;
         }
         public String getDescription() {
-            return "4818:1: rule__XImportDeclaration__Alternatives_2 : ( ( ( rule__XImportDeclaration__Group_2_0__0 ) ) | ( ( rule__XImportDeclaration__ImportedTypeAssignment_2_1 ) ) | ( ( rule__XImportDeclaration__ImportedNamespaceAssignment_2_2 ) ) | ( ( rule__XImportDeclaration__Group_2_3__0 ) ) );";
+            return "4834:1: rule__XImportDeclaration__Alternatives_2 : ( ( ( rule__XImportDeclaration__Group_2_0__0 ) ) | ( ( rule__XImportDeclaration__ImportedTypeAssignment_2_1 ) ) | ( ( rule__XImportDeclaration__ImportedNamespaceAssignment_2_2 ) ) | ( ( rule__XImportDeclaration__Group_2_3__0 ) ) );";
         }
     }
     static final String dfa_8s = "\43\uffff";
     static final String dfa_9s = "\1\4\1\0\41\uffff";
-    static final String dfa_10s = "\1\u010a\1\0\41\uffff";
+    static final String dfa_10s = "\1\u010f\1\0\41\uffff";
     static final String dfa_11s = "\2\uffff\1\2\37\uffff\1\1";
     static final String dfa_12s = "\1\uffff\1\0\41\uffff}>";
     static final String[] dfa_13s = {
-            "\1\2\1\1\3\2\26\uffff\1\2\6\uffff\2\2\4\uffff\1\2\4\uffff\6\2\106\uffff\1\2\116\uffff\1\2\26\uffff\1\2\2\uffff\2\2\1\uffff\1\2\1\uffff\1\2\3\uffff\11\2\1\uffff\1\2\20\uffff\1\2",
+            "\1\2\1\1\3\2\26\uffff\1\2\6\uffff\2\2\4\uffff\1\2\4\uffff\6\2\114\uffff\1\2\117\uffff\1\2\26\uffff\1\2\2\uffff\2\2\1\uffff\1\2\1\uffff\1\2\3\uffff\11\2\1\uffff\1\2\16\uffff\1\2",
             "\1\uffff",
             "",
             "",
@@ -143342,7 +146422,7 @@
             this.transition = dfa_13;
         }
         public String getDescription() {
-            return "4872:1: rule__XAnnotation__Alternatives_3_1 : ( ( ( rule__XAnnotation__Group_3_1_0__0 ) ) | ( ( rule__XAnnotation__ValueAssignment_3_1_1 ) ) );";
+            return "4888:1: rule__XAnnotation__Alternatives_3_1 : ( ( ( rule__XAnnotation__Group_3_1_0__0 ) ) | ( ( rule__XAnnotation__ValueAssignment_3_1_1 ) ) );";
         }
         public int specialStateTransition(int s, IntStream _input) throws NoViableAltException {
             TokenStream input = (TokenStream)_input;
@@ -143372,7 +146452,7 @@
         }
     }
     static final String[] dfa_14s = {
-            "\5\2\26\uffff\1\2\6\uffff\2\2\4\uffff\1\2\4\uffff\6\2\106\uffff\1\2\116\uffff\1\2\26\uffff\1\2\2\uffff\1\1\1\2\1\uffff\1\2\1\uffff\1\2\3\uffff\11\2\1\uffff\1\2\20\uffff\1\2",
+            "\5\2\26\uffff\1\2\6\uffff\2\2\4\uffff\1\2\4\uffff\6\2\114\uffff\1\2\117\uffff\1\2\26\uffff\1\2\2\uffff\1\1\1\2\1\uffff\1\2\1\uffff\1\2\3\uffff\11\2\1\uffff\1\2\16\uffff\1\2",
             "\1\uffff",
             "",
             "",
@@ -143424,7 +146504,7 @@
             this.transition = dfa_14;
         }
         public String getDescription() {
-            return "4893:1: rule__XAnnotationElementValueOrCommaList__Alternatives : ( ( ( rule__XAnnotationElementValueOrCommaList__Group_0__0 ) ) | ( ( rule__XAnnotationElementValueOrCommaList__Group_1__0 ) ) );";
+            return "4909:1: rule__XAnnotationElementValueOrCommaList__Alternatives : ( ( ( rule__XAnnotationElementValueOrCommaList__Group_0__0 ) ) | ( ( rule__XAnnotationElementValueOrCommaList__Group_1__0 ) ) );";
         }
         public int specialStateTransition(int s, IntStream _input) throws NoViableAltException {
             TokenStream input = (TokenStream)_input;
@@ -143468,7 +146548,7 @@
             this.transition = dfa_14;
         }
         public String getDescription() {
-            return "4914:1: rule__XAnnotationElementValue__Alternatives : ( ( ( rule__XAnnotationElementValue__Group_0__0 ) ) | ( ruleXAnnotationOrExpression ) );";
+            return "4930:1: rule__XAnnotationElementValue__Alternatives : ( ( ( rule__XAnnotationElementValue__Group_0__0 ) ) | ( ruleXAnnotationOrExpression ) );";
         }
         public int specialStateTransition(int s, IntStream _input) throws NoViableAltException {
             TokenStream input = (TokenStream)_input;
@@ -143537,25 +146617,25 @@
             this.transition = dfa_20;
         }
         public String getDescription() {
-            return "5115:1: rule__OpOther__Alternatives : ( ( '->' ) | ( '..<' ) | ( ( rule__OpOther__Group_2__0 ) ) | ( '..' ) | ( '=>' ) | ( ( rule__OpOther__Group_5__0 ) ) | ( ( rule__OpOther__Group_6__0 ) ) | ( '<>' ) | ( '?:' ) );";
+            return "5131:1: rule__OpOther__Alternatives : ( ( '->' ) | ( '..<' ) | ( ( rule__OpOther__Group_2__0 ) ) | ( '..' ) | ( '=>' ) | ( ( rule__OpOther__Group_5__0 ) ) | ( ( rule__OpOther__Group_6__0 ) ) | ( '<>' ) | ( '?:' ) );";
         }
     }
     static final String dfa_21s = "\12\uffff";
     static final String dfa_22s = "\4\uffff\5\3\1\uffff";
     static final String dfa_23s = "\1\57\2\5\1\uffff\5\4\1\uffff";
-    static final String dfa_24s = "\1\u0107\2\65\1\uffff\5\u010a\1\uffff";
+    static final String dfa_24s = "\1\u010c\2\65\1\uffff\5\u010f\1\uffff";
     static final String dfa_25s = "\3\uffff\1\2\5\uffff\1\1";
     static final String dfa_26s = "\12\uffff}>";
     static final String[] dfa_27s = {
-            "\1\1\u00d6\uffff\1\2\1\3",
+            "\1\1\u00db\uffff\1\2\1\3",
             "\1\4\31\uffff\1\3\21\uffff\1\5\1\6\1\7\1\10\1\3",
             "\1\4\31\uffff\1\3\21\uffff\1\5\1\6\1\7\1\10\1\3",
             "",
-            "\5\3\4\uffff\1\11\2\3\4\uffff\43\3\106\uffff\2\3\76\uffff\1\3\16\uffff\2\3\24\uffff\1\3\1\uffff\27\3\13\uffff\2\3\1\uffff\2\3",
-            "\5\3\4\uffff\1\11\2\3\4\uffff\43\3\106\uffff\2\3\76\uffff\1\3\16\uffff\2\3\24\uffff\1\3\1\uffff\27\3\13\uffff\2\3\1\uffff\2\3",
-            "\5\3\4\uffff\1\11\2\3\4\uffff\43\3\106\uffff\2\3\76\uffff\1\3\16\uffff\2\3\24\uffff\1\3\1\uffff\27\3\13\uffff\2\3\1\uffff\2\3",
-            "\5\3\4\uffff\1\11\2\3\4\uffff\43\3\106\uffff\2\3\76\uffff\1\3\16\uffff\2\3\24\uffff\1\3\1\uffff\27\3\13\uffff\2\3\1\uffff\2\3",
-            "\5\3\4\uffff\1\11\2\3\4\uffff\43\3\106\uffff\2\3\76\uffff\1\3\16\uffff\2\3\24\uffff\1\3\1\uffff\27\3\13\uffff\2\3\1\uffff\2\3",
+            "\5\3\4\uffff\1\11\2\3\4\uffff\43\3\114\uffff\2\3\77\uffff\1\3\16\uffff\2\3\24\uffff\1\3\1\uffff\27\3\11\uffff\2\3\1\uffff\2\3",
+            "\5\3\4\uffff\1\11\2\3\4\uffff\43\3\114\uffff\2\3\77\uffff\1\3\16\uffff\2\3\24\uffff\1\3\1\uffff\27\3\11\uffff\2\3\1\uffff\2\3",
+            "\5\3\4\uffff\1\11\2\3\4\uffff\43\3\114\uffff\2\3\77\uffff\1\3\16\uffff\2\3\24\uffff\1\3\1\uffff\27\3\11\uffff\2\3\1\uffff\2\3",
+            "\5\3\4\uffff\1\11\2\3\4\uffff\43\3\114\uffff\2\3\77\uffff\1\3\16\uffff\2\3\24\uffff\1\3\1\uffff\27\3\11\uffff\2\3\1\uffff\2\3",
+            "\5\3\4\uffff\1\11\2\3\4\uffff\43\3\114\uffff\2\3\77\uffff\1\3\16\uffff\2\3\24\uffff\1\3\1\uffff\27\3\11\uffff\2\3\1\uffff\2\3",
             ""
     };
 
@@ -143581,15 +146661,15 @@
             this.transition = dfa_27;
         }
         public String getDescription() {
-            return "5349:1: rule__XMemberFeatureCall__Alternatives_1 : ( ( ( rule__XMemberFeatureCall__Group_1_0__0 ) ) | ( ( rule__XMemberFeatureCall__Group_1_1__0 ) ) );";
+            return "5365:1: rule__XMemberFeatureCall__Alternatives_1 : ( ( ( rule__XMemberFeatureCall__Group_1_0__0 ) ) | ( ( rule__XMemberFeatureCall__Group_1_1__0 ) ) );";
         }
     }
     static final String dfa_28s = "\1\4\2\0\40\uffff";
-    static final String dfa_29s = "\1\u010a\2\0\40\uffff";
+    static final String dfa_29s = "\1\u010f\2\0\40\uffff";
     static final String dfa_30s = "\3\uffff\1\1\1\uffff\1\2\35\uffff";
     static final String dfa_31s = "\1\uffff\1\0\1\1\40\uffff}>";
     static final String[] dfa_32s = {
-            "\1\5\1\1\3\5\26\uffff\1\5\3\uffff\1\3\2\uffff\2\5\4\uffff\1\5\4\uffff\6\5\106\uffff\1\5\116\uffff\1\2\31\uffff\2\5\1\uffff\1\5\1\uffff\1\5\3\uffff\11\5\1\uffff\1\5\16\uffff\1\3\1\uffff\1\5",
+            "\1\5\1\1\3\5\26\uffff\1\5\3\uffff\1\3\2\uffff\2\5\4\uffff\1\5\4\uffff\6\5\114\uffff\1\5\117\uffff\1\2\31\uffff\2\5\1\uffff\1\5\1\uffff\1\5\3\uffff\11\5\1\uffff\1\5\14\uffff\1\3\1\uffff\1\5",
             "\1\uffff",
             "\1\uffff",
             "",
@@ -143645,7 +146725,7 @@
             this.transition = dfa_32;
         }
         public String getDescription() {
-            return "5418:1: rule__XMemberFeatureCall__Alternatives_1_1_3_1 : ( ( ( rule__XMemberFeatureCall__MemberCallArgumentsAssignment_1_1_3_1_0 ) ) | ( ( rule__XMemberFeatureCall__Group_1_1_3_1_1__0 ) ) );";
+            return "5434:1: rule__XMemberFeatureCall__Alternatives_1_1_3_1 : ( ( ( rule__XMemberFeatureCall__MemberCallArgumentsAssignment_1_1_3_1_0 ) ) | ( ( rule__XMemberFeatureCall__Group_1_1_3_1_1__0 ) ) );";
         }
         public int specialStateTransition(int s, IntStream _input) throws NoViableAltException {
             TokenStream input = (TokenStream)_input;
@@ -143691,11 +146771,11 @@
     }
     static final String dfa_33s = "\40\uffff";
     static final String dfa_34s = "\1\4\26\uffff\1\0\10\uffff";
-    static final String dfa_35s = "\1\u010a\26\uffff\1\0\10\uffff";
+    static final String dfa_35s = "\1\u010f\26\uffff\1\0\10\uffff";
     static final String dfa_36s = "\1\uffff\1\1\1\2\1\3\1\4\1\5\6\uffff\1\6\11\uffff\1\7\1\uffff\1\12\1\13\1\14\1\15\1\16\1\17\1\10\1\11";
     static final String dfa_37s = "\27\uffff\1\0\10\uffff}>";
     static final String[] dfa_38s = {
-            "\1\14\1\5\3\14\26\uffff\1\5\21\uffff\5\5\1\14\106\uffff\1\2\116\uffff\1\35\31\uffff\2\14\1\uffff\1\26\1\uffff\1\3\3\uffff\1\27\1\30\1\31\1\1\2\14\1\32\1\33\1\34\1\uffff\1\4\20\uffff\1\14",
+            "\1\14\1\5\3\14\26\uffff\1\5\21\uffff\5\5\1\14\114\uffff\1\2\117\uffff\1\35\31\uffff\2\14\1\uffff\1\26\1\uffff\1\3\3\uffff\1\27\1\30\1\31\1\1\2\14\1\32\1\33\1\34\1\uffff\1\4\16\uffff\1\14",
             "",
             "",
             "",
@@ -143750,7 +146830,7 @@
             this.transition = dfa_38;
         }
         public String getDescription() {
-            return "5439:1: rule__XPrimaryExpression__Alternatives : ( ( ruleXConstructorCall ) | ( ruleXBlockExpression ) | ( ruleXSwitchExpression ) | ( ( ruleXSynchronizedExpression ) ) | ( ruleXFeatureCall ) | ( ruleXLiteral ) | ( ruleXIfExpression ) | ( ( ruleXForLoopExpression ) ) | ( ruleXBasicForLoopExpression ) | ( ruleXWhileExpression ) | ( ruleXDoWhileExpression ) | ( ruleXThrowExpression ) | ( ruleXReturnExpression ) | ( ruleXTryCatchFinallyExpression ) | ( ruleXParenthesizedExpression ) );";
+            return "5455:1: rule__XPrimaryExpression__Alternatives : ( ( ruleXConstructorCall ) | ( ruleXBlockExpression ) | ( ruleXSwitchExpression ) | ( ( ruleXSynchronizedExpression ) ) | ( ruleXFeatureCall ) | ( ruleXLiteral ) | ( ruleXIfExpression ) | ( ( ruleXForLoopExpression ) ) | ( ruleXBasicForLoopExpression ) | ( ruleXWhileExpression ) | ( ruleXDoWhileExpression ) | ( ruleXThrowExpression ) | ( ruleXReturnExpression ) | ( ruleXTryCatchFinallyExpression ) | ( ruleXParenthesizedExpression ) );";
         }
         public int specialStateTransition(int s, IntStream _input) throws NoViableAltException {
             TokenStream input = (TokenStream)_input;
@@ -143780,7 +146860,7 @@
         }
     }
     static final String[] dfa_39s = {
-            "\5\2\26\uffff\1\2\3\uffff\1\2\2\uffff\2\2\4\uffff\1\2\4\uffff\6\2\106\uffff\1\2\116\uffff\1\1\31\uffff\2\2\1\uffff\1\2\1\uffff\1\2\3\uffff\11\2\1\uffff\1\2\20\uffff\1\2",
+            "\5\2\26\uffff\1\2\3\uffff\1\2\2\uffff\2\2\4\uffff\1\2\4\uffff\6\2\114\uffff\1\2\117\uffff\1\1\31\uffff\2\2\1\uffff\1\2\1\uffff\1\2\3\uffff\11\2\1\uffff\1\2\16\uffff\1\2",
             "\1\uffff",
             "",
             "",
@@ -143832,7 +146912,7 @@
             this.transition = dfa_39;
         }
         public String getDescription() {
-            return "5610:1: rule__XSwitchExpression__Alternatives_2 : ( ( ( rule__XSwitchExpression__Group_2_0__0 ) ) | ( ( rule__XSwitchExpression__Group_2_1__0 ) ) );";
+            return "5626:1: rule__XSwitchExpression__Alternatives_2 : ( ( ( rule__XSwitchExpression__Group_2_0__0 ) ) | ( ( rule__XSwitchExpression__Group_2_1__0 ) ) );";
         }
         public int specialStateTransition(int s, IntStream _input) throws NoViableAltException {
             TokenStream input = (TokenStream)_input;
@@ -143876,7 +146956,7 @@
             this.transition = dfa_32;
         }
         public String getDescription() {
-            return "5715:1: rule__XFeatureCall__Alternatives_3_1 : ( ( ( rule__XFeatureCall__FeatureCallArgumentsAssignment_3_1_0 ) ) | ( ( rule__XFeatureCall__Group_3_1_1__0 ) ) );";
+            return "5731:1: rule__XFeatureCall__Alternatives_3_1 : ( ( ( rule__XFeatureCall__FeatureCallArgumentsAssignment_3_1_0 ) ) | ( ( rule__XFeatureCall__Group_3_1_1__0 ) ) );";
         }
         public int specialStateTransition(int s, IntStream _input) throws NoViableAltException {
             TokenStream input = (TokenStream)_input;
@@ -143935,7 +147015,7 @@
             this.transition = dfa_32;
         }
         public String getDescription() {
-            return "5796:1: rule__XConstructorCall__Alternatives_4_1 : ( ( ( rule__XConstructorCall__ArgumentsAssignment_4_1_0 ) ) | ( ( rule__XConstructorCall__Group_4_1_1__0 ) ) );";
+            return "5812:1: rule__XConstructorCall__Alternatives_4_1 : ( ( ( rule__XConstructorCall__ArgumentsAssignment_4_1_0 ) ) | ( ( rule__XConstructorCall__Group_4_1_1__0 ) ) );";
         }
         public int specialStateTransition(int s, IntStream _input) throws NoViableAltException {
             TokenStream input = (TokenStream)_input;
@@ -143981,11 +147061,11 @@
     }
     static final String dfa_40s = "\1\10\11\uffff";
     static final String dfa_41s = "\1\4\7\0\2\uffff";
-    static final String dfa_42s = "\1\u010a\7\0\2\uffff";
+    static final String dfa_42s = "\1\u010f\7\0\2\uffff";
     static final String dfa_43s = "\10\uffff\1\2\1\1";
-    static final String dfa_44s = "\1\uffff\1\5\1\3\1\2\1\1\1\6\1\4\1\0\2\uffff}>";
+    static final String dfa_44s = "\1\uffff\1\5\1\2\1\1\1\0\1\6\1\4\1\3\2\uffff}>";
     static final String[] dfa_45s = {
-            "\5\10\5\uffff\2\10\4\uffff\1\1\1\2\1\3\1\4\1\5\5\10\1\7\1\6\27\10\106\uffff\2\10\76\uffff\1\10\16\uffff\2\10\24\uffff\1\10\1\uffff\27\10\13\uffff\2\10\1\uffff\2\10",
+            "\5\10\5\uffff\2\10\4\uffff\1\1\1\2\1\3\1\4\1\5\5\10\1\7\1\6\27\10\114\uffff\2\10\77\uffff\1\10\16\uffff\2\10\24\uffff\1\10\1\uffff\27\10\11\uffff\2\10\1\uffff\2\10",
             "\1\uffff",
             "\1\uffff",
             "\1\uffff",
@@ -144003,11 +147083,11 @@
     static final short[] dfa_44 = DFA.unpackEncodedString(dfa_44s);
     static final short[][] dfa_45 = unpackEncodedStringArray(dfa_45s);
 
-    class DFA180 extends DFA {
+    class DFA162 extends DFA {
 
-        public DFA180(BaseRecognizer recognizer) {
+        public DFA162(BaseRecognizer recognizer) {
             this.recognizer = recognizer;
-            this.decisionNumber = 180;
+            this.decisionNumber = 162;
             this.eot = dfa_21;
             this.eof = dfa_40;
             this.min = dfa_41;
@@ -144017,132 +147097,132 @@
             this.transition = dfa_45;
         }
         public String getDescription() {
-            return "23680:2: ( rule__XAssignment__Group_1_1__0 )?";
+            return "23390:2: ( rule__XAssignment__Group_1_1__0 )?";
         }
         public int specialStateTransition(int s, IntStream _input) throws NoViableAltException {
             TokenStream input = (TokenStream)_input;
         	int _s = s;
             switch ( s ) {
                     case 0 : 
-                        int LA180_7 = input.LA(1);
+                        int LA162_4 = input.LA(1);
 
                          
-                        int index180_7 = input.index();
+                        int index162_4 = input.index();
                         input.rewind();
                         s = -1;
-                        if ( (synpred285_InternalReportDSL()) ) {s = 9;}
+                        if ( (synpred271_InternalReportDSL()) ) {s = 9;}
 
                         else if ( (true) ) {s = 8;}
 
                          
-                        input.seek(index180_7);
+                        input.seek(index162_4);
                         if ( s>=0 ) return s;
                         break;
                     case 1 : 
-                        int LA180_4 = input.LA(1);
+                        int LA162_3 = input.LA(1);
 
                          
-                        int index180_4 = input.index();
+                        int index162_3 = input.index();
                         input.rewind();
                         s = -1;
-                        if ( (synpred285_InternalReportDSL()) ) {s = 9;}
+                        if ( (synpred271_InternalReportDSL()) ) {s = 9;}
 
                         else if ( (true) ) {s = 8;}
 
                          
-                        input.seek(index180_4);
+                        input.seek(index162_3);
                         if ( s>=0 ) return s;
                         break;
                     case 2 : 
-                        int LA180_3 = input.LA(1);
+                        int LA162_2 = input.LA(1);
 
                          
-                        int index180_3 = input.index();
+                        int index162_2 = input.index();
                         input.rewind();
                         s = -1;
-                        if ( (synpred285_InternalReportDSL()) ) {s = 9;}
+                        if ( (synpred271_InternalReportDSL()) ) {s = 9;}
 
                         else if ( (true) ) {s = 8;}
 
                          
-                        input.seek(index180_3);
+                        input.seek(index162_2);
                         if ( s>=0 ) return s;
                         break;
                     case 3 : 
-                        int LA180_2 = input.LA(1);
+                        int LA162_7 = input.LA(1);
 
                          
-                        int index180_2 = input.index();
+                        int index162_7 = input.index();
                         input.rewind();
                         s = -1;
-                        if ( (synpred285_InternalReportDSL()) ) {s = 9;}
+                        if ( (synpred271_InternalReportDSL()) ) {s = 9;}
 
                         else if ( (true) ) {s = 8;}
 
                          
-                        input.seek(index180_2);
+                        input.seek(index162_7);
                         if ( s>=0 ) return s;
                         break;
                     case 4 : 
-                        int LA180_6 = input.LA(1);
+                        int LA162_6 = input.LA(1);
 
                          
-                        int index180_6 = input.index();
+                        int index162_6 = input.index();
                         input.rewind();
                         s = -1;
-                        if ( (synpred285_InternalReportDSL()) ) {s = 9;}
+                        if ( (synpred271_InternalReportDSL()) ) {s = 9;}
 
                         else if ( (true) ) {s = 8;}
 
                          
-                        input.seek(index180_6);
+                        input.seek(index162_6);
                         if ( s>=0 ) return s;
                         break;
                     case 5 : 
-                        int LA180_1 = input.LA(1);
+                        int LA162_1 = input.LA(1);
 
                          
-                        int index180_1 = input.index();
+                        int index162_1 = input.index();
                         input.rewind();
                         s = -1;
-                        if ( (synpred285_InternalReportDSL()) ) {s = 9;}
+                        if ( (synpred271_InternalReportDSL()) ) {s = 9;}
 
                         else if ( (true) ) {s = 8;}
 
                          
-                        input.seek(index180_1);
+                        input.seek(index162_1);
                         if ( s>=0 ) return s;
                         break;
                     case 6 : 
-                        int LA180_5 = input.LA(1);
+                        int LA162_5 = input.LA(1);
 
                          
-                        int index180_5 = input.index();
+                        int index162_5 = input.index();
                         input.rewind();
                         s = -1;
-                        if ( (synpred285_InternalReportDSL()) ) {s = 9;}
+                        if ( (synpred271_InternalReportDSL()) ) {s = 9;}
 
                         else if ( (true) ) {s = 8;}
 
                          
-                        input.seek(index180_5);
+                        input.seek(index162_5);
                         if ( s>=0 ) return s;
                         break;
             }
             if (state.backtracking>0) {state.failed=true; return -1;}
             NoViableAltException nvae =
-                new NoViableAltException(getDescription(), 180, _s, input);
+                new NoViableAltException(getDescription(), 162, _s, input);
             error(nvae);
             throw nvae;
         }
     }
     static final String dfa_46s = "\1\1\12\uffff";
     static final String dfa_47s = "\1\4\1\uffff\10\0\1\uffff";
-    static final String dfa_48s = "\1\u010a\1\uffff\10\0\1\uffff";
+    static final String dfa_48s = "\1\u010f\1\uffff\10\0\1\uffff";
     static final String dfa_49s = "\1\uffff\1\2\10\uffff\1\1";
-    static final String dfa_50s = "\2\uffff\1\7\1\0\1\6\1\1\1\3\1\4\1\5\1\2\1\uffff}>";
+    static final String dfa_50s = "\2\uffff\1\3\1\4\1\5\1\1\1\0\1\6\1\7\1\2\1\uffff}>";
     static final String[] dfa_51s = {
-            "\5\1\5\uffff\2\1\4\uffff\12\1\1\3\1\2\1\4\1\5\1\6\1\7\1\10\1\11\21\1\106\uffff\2\1\76\uffff\1\1\16\uffff\2\1\24\uffff\1\1\1\uffff\27\1\13\uffff\2\1\1\uffff\2\1",
+            "\5\1\5\uffff\2\1\4\uffff\12\1\1\3\1\2\1\4\1\5\1\6\1\7\1\10\1\11\21\1\114\uffff\2\1\77\uffff\1\1\16\uffff\2\1\24\uffff\1\1\1\uffff\27\1\11\uffff\2\1\1\uffff\2\1",
             "",
             "\1\uffff",
             "\1\uffff",
@@ -144161,11 +147241,11 @@
     static final short[] dfa_50 = DFA.unpackEncodedString(dfa_50s);
     static final short[][] dfa_51 = unpackEncodedStringArray(dfa_51s);
 
-    class DFA186 extends DFA {
+    class DFA168 extends DFA {
 
-        public DFA186(BaseRecognizer recognizer) {
+        public DFA168(BaseRecognizer recognizer) {
             this.recognizer = recognizer;
-            this.decisionNumber = 186;
+            this.decisionNumber = 168;
             this.eot = dfa_15;
             this.eof = dfa_46;
             this.min = dfa_47;
@@ -144175,136 +147255,136 @@
             this.transition = dfa_51;
         }
         public String getDescription() {
-            return "()* loopback of 24976:2: ( rule__XOtherOperatorExpression__Group_1__0 )*";
+            return "()* loopback of 24686:2: ( rule__XOtherOperatorExpression__Group_1__0 )*";
         }
         public int specialStateTransition(int s, IntStream _input) throws NoViableAltException {
             TokenStream input = (TokenStream)_input;
         	int _s = s;
             switch ( s ) {
                     case 0 : 
-                        int LA186_3 = input.LA(1);
+                        int LA168_6 = input.LA(1);
 
                          
-                        int index186_3 = input.index();
+                        int index168_6 = input.index();
                         input.rewind();
                         s = -1;
-                        if ( (synpred291_InternalReportDSL()) ) {s = 10;}
+                        if ( (synpred277_InternalReportDSL()) ) {s = 10;}
 
                         else if ( (true) ) {s = 1;}
 
                          
-                        input.seek(index186_3);
+                        input.seek(index168_6);
                         if ( s>=0 ) return s;
                         break;
                     case 1 : 
-                        int LA186_5 = input.LA(1);
+                        int LA168_5 = input.LA(1);
 
                          
-                        int index186_5 = input.index();
+                        int index168_5 = input.index();
                         input.rewind();
                         s = -1;
-                        if ( (synpred291_InternalReportDSL()) ) {s = 10;}
+                        if ( (synpred277_InternalReportDSL()) ) {s = 10;}
 
                         else if ( (true) ) {s = 1;}
 
                          
-                        input.seek(index186_5);
+                        input.seek(index168_5);
                         if ( s>=0 ) return s;
                         break;
                     case 2 : 
-                        int LA186_9 = input.LA(1);
+                        int LA168_9 = input.LA(1);
 
                          
-                        int index186_9 = input.index();
+                        int index168_9 = input.index();
                         input.rewind();
                         s = -1;
-                        if ( (synpred291_InternalReportDSL()) ) {s = 10;}
+                        if ( (synpred277_InternalReportDSL()) ) {s = 10;}
 
                         else if ( (true) ) {s = 1;}
 
                          
-                        input.seek(index186_9);
+                        input.seek(index168_9);
                         if ( s>=0 ) return s;
                         break;
                     case 3 : 
-                        int LA186_6 = input.LA(1);
+                        int LA168_2 = input.LA(1);
 
                          
-                        int index186_6 = input.index();
+                        int index168_2 = input.index();
                         input.rewind();
                         s = -1;
-                        if ( (synpred291_InternalReportDSL()) ) {s = 10;}
+                        if ( (synpred277_InternalReportDSL()) ) {s = 10;}
 
                         else if ( (true) ) {s = 1;}
 
                          
-                        input.seek(index186_6);
+                        input.seek(index168_2);
                         if ( s>=0 ) return s;
                         break;
                     case 4 : 
-                        int LA186_7 = input.LA(1);
+                        int LA168_3 = input.LA(1);
 
                          
-                        int index186_7 = input.index();
+                        int index168_3 = input.index();
                         input.rewind();
                         s = -1;
-                        if ( (synpred291_InternalReportDSL()) ) {s = 10;}
+                        if ( (synpred277_InternalReportDSL()) ) {s = 10;}
 
                         else if ( (true) ) {s = 1;}
 
                          
-                        input.seek(index186_7);
+                        input.seek(index168_3);
                         if ( s>=0 ) return s;
                         break;
                     case 5 : 
-                        int LA186_8 = input.LA(1);
+                        int LA168_4 = input.LA(1);
 
                          
-                        int index186_8 = input.index();
+                        int index168_4 = input.index();
                         input.rewind();
                         s = -1;
-                        if ( (synpred291_InternalReportDSL()) ) {s = 10;}
+                        if ( (synpred277_InternalReportDSL()) ) {s = 10;}
 
                         else if ( (true) ) {s = 1;}
 
                          
-                        input.seek(index186_8);
+                        input.seek(index168_4);
                         if ( s>=0 ) return s;
                         break;
                     case 6 : 
-                        int LA186_4 = input.LA(1);
+                        int LA168_7 = input.LA(1);
 
                          
-                        int index186_4 = input.index();
+                        int index168_7 = input.index();
                         input.rewind();
                         s = -1;
-                        if ( (synpred291_InternalReportDSL()) ) {s = 10;}
+                        if ( (synpred277_InternalReportDSL()) ) {s = 10;}
 
                         else if ( (true) ) {s = 1;}
 
                          
-                        input.seek(index186_4);
+                        input.seek(index168_7);
                         if ( s>=0 ) return s;
                         break;
                     case 7 : 
-                        int LA186_2 = input.LA(1);
+                        int LA168_8 = input.LA(1);
 
                          
-                        int index186_2 = input.index();
+                        int index168_8 = input.index();
                         input.rewind();
                         s = -1;
-                        if ( (synpred291_InternalReportDSL()) ) {s = 10;}
+                        if ( (synpred277_InternalReportDSL()) ) {s = 10;}
 
                         else if ( (true) ) {s = 1;}
 
                          
-                        input.seek(index186_2);
+                        input.seek(index168_8);
                         if ( s>=0 ) return s;
                         break;
             }
             if (state.backtracking>0) {state.failed=true; return -1;}
             NoViableAltException nvae =
-                new NoViableAltException(getDescription(), 186, _s, input);
+                new NoViableAltException(getDescription(), 168, _s, input);
             error(nvae);
             throw nvae;
         }
@@ -144312,11 +147392,11 @@
     static final String dfa_52s = "\116\uffff";
     static final String dfa_53s = "\1\2\115\uffff";
     static final String dfa_54s = "\1\4\1\0\114\uffff";
-    static final String dfa_55s = "\1\u010a\1\0\114\uffff";
+    static final String dfa_55s = "\1\u010f\1\0\114\uffff";
     static final String dfa_56s = "\2\uffff\1\2\112\uffff\1\1";
     static final String dfa_57s = "\1\uffff\1\0\114\uffff}>";
     static final String[] dfa_58s = {
-            "\5\2\5\uffff\2\2\4\uffff\43\2\106\uffff\2\2\76\uffff\1\2\16\uffff\1\1\1\2\24\uffff\1\2\1\uffff\27\2\13\uffff\2\2\1\uffff\2\2",
+            "\5\2\5\uffff\2\2\4\uffff\43\2\114\uffff\2\2\77\uffff\1\2\16\uffff\1\1\1\2\24\uffff\1\2\1\uffff\27\2\11\uffff\2\2\1\uffff\2\2",
             "\1\uffff",
             "",
             "",
@@ -144404,11 +147484,11 @@
     static final short[] dfa_57 = DFA.unpackEncodedString(dfa_57s);
     static final short[][] dfa_58 = unpackEncodedStringArray(dfa_58s);
 
-    class DFA193 extends DFA {
+    class DFA175 extends DFA {
 
-        public DFA193(BaseRecognizer recognizer) {
+        public DFA175(BaseRecognizer recognizer) {
             this.recognizer = recognizer;
-            this.decisionNumber = 193;
+            this.decisionNumber = 175;
             this.eot = dfa_52;
             this.eof = dfa_53;
             this.min = dfa_54;
@@ -144418,37 +147498,37 @@
             this.transition = dfa_58;
         }
         public String getDescription() {
-            return "26570:2: ( rule__XMemberFeatureCall__Group_1_1_3__0 )?";
+            return "26280:2: ( rule__XMemberFeatureCall__Group_1_1_3__0 )?";
         }
         public int specialStateTransition(int s, IntStream _input) throws NoViableAltException {
             TokenStream input = (TokenStream)_input;
         	int _s = s;
             switch ( s ) {
                     case 0 : 
-                        int LA193_1 = input.LA(1);
+                        int LA175_1 = input.LA(1);
 
                          
-                        int index193_1 = input.index();
+                        int index175_1 = input.index();
                         input.rewind();
                         s = -1;
-                        if ( (synpred298_InternalReportDSL()) ) {s = 77;}
+                        if ( (synpred284_InternalReportDSL()) ) {s = 77;}
 
                         else if ( (true) ) {s = 2;}
 
                          
-                        input.seek(index193_1);
+                        input.seek(index175_1);
                         if ( s>=0 ) return s;
                         break;
             }
             if (state.backtracking>0) {state.failed=true; return -1;}
             NoViableAltException nvae =
-                new NoViableAltException(getDescription(), 193, _s, input);
+                new NoViableAltException(getDescription(), 175, _s, input);
             error(nvae);
             throw nvae;
         }
     }
     static final String[] dfa_59s = {
-            "\5\2\5\uffff\2\2\4\uffff\43\2\106\uffff\2\2\76\uffff\1\2\16\uffff\2\2\24\uffff\1\2\1\uffff\3\2\1\1\23\2\13\uffff\2\2\1\uffff\2\2",
+            "\5\2\5\uffff\2\2\4\uffff\43\2\114\uffff\2\2\77\uffff\1\2\16\uffff\2\2\24\uffff\1\2\1\uffff\3\2\1\1\23\2\11\uffff\2\2\1\uffff\2\2",
             "\1\uffff",
             "",
             "",
@@ -144529,11 +147609,11 @@
     };
     static final short[][] dfa_59 = unpackEncodedStringArray(dfa_59s);
 
-    class DFA194 extends DFA {
+    class DFA176 extends DFA {
 
-        public DFA194(BaseRecognizer recognizer) {
+        public DFA176(BaseRecognizer recognizer) {
             this.recognizer = recognizer;
-            this.decisionNumber = 194;
+            this.decisionNumber = 176;
             this.eot = dfa_52;
             this.eof = dfa_53;
             this.min = dfa_54;
@@ -144543,42 +147623,42 @@
             this.transition = dfa_59;
         }
         public String getDescription() {
-            return "26596:2: ( rule__XMemberFeatureCall__MemberCallArgumentsAssignment_1_1_4 )?";
+            return "26306:2: ( rule__XMemberFeatureCall__MemberCallArgumentsAssignment_1_1_4 )?";
         }
         public int specialStateTransition(int s, IntStream _input) throws NoViableAltException {
             TokenStream input = (TokenStream)_input;
         	int _s = s;
             switch ( s ) {
                     case 0 : 
-                        int LA194_1 = input.LA(1);
+                        int LA176_1 = input.LA(1);
 
                          
-                        int index194_1 = input.index();
+                        int index176_1 = input.index();
                         input.rewind();
                         s = -1;
-                        if ( (synpred299_InternalReportDSL()) ) {s = 77;}
+                        if ( (synpred285_InternalReportDSL()) ) {s = 77;}
 
                         else if ( (true) ) {s = 2;}
 
                          
-                        input.seek(index194_1);
+                        input.seek(index176_1);
                         if ( s>=0 ) return s;
                         break;
             }
             if (state.backtracking>0) {state.failed=true; return -1;}
             NoViableAltException nvae =
-                new NoViableAltException(getDescription(), 194, _s, input);
+                new NoViableAltException(getDescription(), 176, _s, input);
             error(nvae);
             throw nvae;
         }
     }
     static final String dfa_60s = "\46\uffff";
     static final String dfa_61s = "\1\4\2\0\43\uffff";
-    static final String dfa_62s = "\1\u010a\2\0\43\uffff";
+    static final String dfa_62s = "\1\u010f\2\0\43\uffff";
     static final String dfa_63s = "\3\uffff\1\1\1\uffff\1\2\40\uffff";
     static final String dfa_64s = "\1\uffff\1\0\1\1\43\uffff}>";
     static final String[] dfa_65s = {
-            "\1\5\1\1\3\5\26\uffff\1\5\3\uffff\1\3\2\uffff\2\5\4\uffff\1\5\3\uffff\7\5\106\uffff\1\5\116\uffff\1\2\30\uffff\3\5\1\uffff\1\5\1\uffff\1\5\3\uffff\11\5\1\uffff\1\5\16\uffff\1\3\2\5",
+            "\1\5\1\1\3\5\26\uffff\1\5\3\uffff\1\3\2\uffff\2\5\4\uffff\1\5\3\uffff\7\5\114\uffff\1\5\117\uffff\1\2\30\uffff\3\5\1\uffff\1\5\1\uffff\1\5\3\uffff\11\5\1\uffff\1\5\14\uffff\1\3\2\5",
             "\1\uffff",
             "\1\uffff",
             "",
@@ -144625,11 +147705,11 @@
     static final short[] dfa_64 = DFA.unpackEncodedString(dfa_64s);
     static final short[][] dfa_65 = unpackEncodedStringArray(dfa_65s);
 
-    class DFA202 extends DFA {
+    class DFA184 extends DFA {
 
-        public DFA202(BaseRecognizer recognizer) {
+        public DFA184(BaseRecognizer recognizer) {
             this.recognizer = recognizer;
-            this.decisionNumber = 202;
+            this.decisionNumber = 184;
             this.eot = dfa_60;
             this.eof = dfa_60;
             this.min = dfa_61;
@@ -144639,57 +147719,57 @@
             this.transition = dfa_65;
         }
         public String getDescription() {
-            return "27569:2: ( rule__XClosure__Group_1__0 )?";
+            return "27279:2: ( rule__XClosure__Group_1__0 )?";
         }
         public int specialStateTransition(int s, IntStream _input) throws NoViableAltException {
             TokenStream input = (TokenStream)_input;
         	int _s = s;
             switch ( s ) {
                     case 0 : 
-                        int LA202_1 = input.LA(1);
+                        int LA184_1 = input.LA(1);
 
                          
-                        int index202_1 = input.index();
+                        int index184_1 = input.index();
                         input.rewind();
                         s = -1;
-                        if ( (synpred307_InternalReportDSL()) ) {s = 3;}
+                        if ( (synpred293_InternalReportDSL()) ) {s = 3;}
 
                         else if ( (true) ) {s = 5;}
 
                          
-                        input.seek(index202_1);
+                        input.seek(index184_1);
                         if ( s>=0 ) return s;
                         break;
                     case 1 : 
-                        int LA202_2 = input.LA(1);
+                        int LA184_2 = input.LA(1);
 
                          
-                        int index202_2 = input.index();
+                        int index184_2 = input.index();
                         input.rewind();
                         s = -1;
-                        if ( (synpred307_InternalReportDSL()) ) {s = 3;}
+                        if ( (synpred293_InternalReportDSL()) ) {s = 3;}
 
                         else if ( (true) ) {s = 5;}
 
                          
-                        input.seek(index202_2);
+                        input.seek(index184_2);
                         if ( s>=0 ) return s;
                         break;
             }
             if (state.backtracking>0) {state.failed=true; return -1;}
             NoViableAltException nvae =
-                new NoViableAltException(getDescription(), 202, _s, input);
+                new NoViableAltException(getDescription(), 184, _s, input);
             error(nvae);
             throw nvae;
         }
     }
     static final String dfa_66s = "\42\uffff";
     static final String dfa_67s = "\1\4\2\0\37\uffff";
-    static final String dfa_68s = "\1\u010a\2\0\37\uffff";
+    static final String dfa_68s = "\1\u010f\2\0\37\uffff";
     static final String dfa_69s = "\3\uffff\1\1\1\2\35\uffff";
     static final String dfa_70s = "\1\uffff\1\0\1\1\37\uffff}>";
     static final String[] dfa_71s = {
-            "\1\4\1\1\3\4\26\uffff\1\4\3\uffff\1\3\2\uffff\2\4\4\uffff\1\4\4\uffff\6\4\106\uffff\1\4\116\uffff\1\2\31\uffff\2\4\1\uffff\1\4\1\uffff\1\4\3\uffff\11\4\1\uffff\1\4\20\uffff\1\4",
+            "\1\4\1\1\3\4\26\uffff\1\4\3\uffff\1\3\2\uffff\2\4\4\uffff\1\4\4\uffff\6\4\114\uffff\1\4\117\uffff\1\2\31\uffff\2\4\1\uffff\1\4\1\uffff\1\4\3\uffff\11\4\1\uffff\1\4\16\uffff\1\4",
             "\1\uffff",
             "\1\uffff",
             "",
@@ -144732,11 +147812,11 @@
     static final short[] dfa_70 = DFA.unpackEncodedString(dfa_70s);
     static final short[][] dfa_71 = unpackEncodedStringArray(dfa_71s);
 
-    class DFA212 extends DFA {
+    class DFA194 extends DFA {
 
-        public DFA212(BaseRecognizer recognizer) {
+        public DFA194(BaseRecognizer recognizer) {
             this.recognizer = recognizer;
-            this.decisionNumber = 212;
+            this.decisionNumber = 194;
             this.eot = dfa_66;
             this.eof = dfa_66;
             this.min = dfa_67;
@@ -144746,56 +147826,56 @@
             this.transition = dfa_71;
         }
         public String getDescription() {
-            return "29000:2: ( rule__XSwitchExpression__Group_2_1_0__0 )?";
+            return "28710:2: ( rule__XSwitchExpression__Group_2_1_0__0 )?";
         }
         public int specialStateTransition(int s, IntStream _input) throws NoViableAltException {
             TokenStream input = (TokenStream)_input;
         	int _s = s;
             switch ( s ) {
                     case 0 : 
-                        int LA212_1 = input.LA(1);
+                        int LA194_1 = input.LA(1);
 
                          
-                        int index212_1 = input.index();
+                        int index194_1 = input.index();
                         input.rewind();
                         s = -1;
-                        if ( (synpred317_InternalReportDSL()) ) {s = 3;}
+                        if ( (synpred303_InternalReportDSL()) ) {s = 3;}
 
                         else if ( (true) ) {s = 4;}
 
                          
-                        input.seek(index212_1);
+                        input.seek(index194_1);
                         if ( s>=0 ) return s;
                         break;
                     case 1 : 
-                        int LA212_2 = input.LA(1);
+                        int LA194_2 = input.LA(1);
 
                          
-                        int index212_2 = input.index();
+                        int index194_2 = input.index();
                         input.rewind();
                         s = -1;
-                        if ( (synpred317_InternalReportDSL()) ) {s = 3;}
+                        if ( (synpred303_InternalReportDSL()) ) {s = 3;}
 
                         else if ( (true) ) {s = 4;}
 
                          
-                        input.seek(index212_2);
+                        input.seek(index194_2);
                         if ( s>=0 ) return s;
                         break;
             }
             if (state.backtracking>0) {state.failed=true; return -1;}
             NoViableAltException nvae =
-                new NoViableAltException(getDescription(), 212, _s, input);
+                new NoViableAltException(getDescription(), 194, _s, input);
             error(nvae);
             throw nvae;
         }
     }
 
-    class DFA225 extends DFA {
+    class DFA207 extends DFA {
 
-        public DFA225(BaseRecognizer recognizer) {
+        public DFA207(BaseRecognizer recognizer) {
             this.recognizer = recognizer;
-            this.decisionNumber = 225;
+            this.decisionNumber = 207;
             this.eot = dfa_52;
             this.eof = dfa_53;
             this.min = dfa_54;
@@ -144805,41 +147885,41 @@
             this.transition = dfa_58;
         }
         public String getDescription() {
-            return "31133:2: ( rule__XFeatureCall__Group_3__0 )?";
+            return "30843:2: ( rule__XFeatureCall__Group_3__0 )?";
         }
         public int specialStateTransition(int s, IntStream _input) throws NoViableAltException {
             TokenStream input = (TokenStream)_input;
         	int _s = s;
             switch ( s ) {
                     case 0 : 
-                        int LA225_1 = input.LA(1);
+                        int LA207_1 = input.LA(1);
 
                          
-                        int index225_1 = input.index();
+                        int index207_1 = input.index();
                         input.rewind();
                         s = -1;
-                        if ( (synpred330_InternalReportDSL()) ) {s = 77;}
+                        if ( (synpred316_InternalReportDSL()) ) {s = 77;}
 
                         else if ( (true) ) {s = 2;}
 
                          
-                        input.seek(index225_1);
+                        input.seek(index207_1);
                         if ( s>=0 ) return s;
                         break;
             }
             if (state.backtracking>0) {state.failed=true; return -1;}
             NoViableAltException nvae =
-                new NoViableAltException(getDescription(), 225, _s, input);
+                new NoViableAltException(getDescription(), 207, _s, input);
             error(nvae);
             throw nvae;
         }
     }
 
-    class DFA226 extends DFA {
+    class DFA208 extends DFA {
 
-        public DFA226(BaseRecognizer recognizer) {
+        public DFA208(BaseRecognizer recognizer) {
             this.recognizer = recognizer;
-            this.decisionNumber = 226;
+            this.decisionNumber = 208;
             this.eot = dfa_52;
             this.eof = dfa_53;
             this.min = dfa_54;
@@ -144849,37 +147929,37 @@
             this.transition = dfa_59;
         }
         public String getDescription() {
-            return "31159:2: ( rule__XFeatureCall__FeatureCallArgumentsAssignment_4 )?";
+            return "30869:2: ( rule__XFeatureCall__FeatureCallArgumentsAssignment_4 )?";
         }
         public int specialStateTransition(int s, IntStream _input) throws NoViableAltException {
             TokenStream input = (TokenStream)_input;
         	int _s = s;
             switch ( s ) {
                     case 0 : 
-                        int LA226_1 = input.LA(1);
+                        int LA208_1 = input.LA(1);
 
                          
-                        int index226_1 = input.index();
+                        int index208_1 = input.index();
                         input.rewind();
                         s = -1;
-                        if ( (synpred331_InternalReportDSL()) ) {s = 77;}
+                        if ( (synpred317_InternalReportDSL()) ) {s = 77;}
 
                         else if ( (true) ) {s = 2;}
 
                          
-                        input.seek(index226_1);
+                        input.seek(index208_1);
                         if ( s>=0 ) return s;
                         break;
             }
             if (state.backtracking>0) {state.failed=true; return -1;}
             NoViableAltException nvae =
-                new NoViableAltException(getDescription(), 226, _s, input);
+                new NoViableAltException(getDescription(), 208, _s, input);
             error(nvae);
             throw nvae;
         }
     }
     static final String[] dfa_72s = {
-            "\5\2\5\uffff\2\2\4\uffff\13\2\1\1\27\2\106\uffff\2\2\76\uffff\1\2\16\uffff\2\2\24\uffff\1\2\1\uffff\27\2\13\uffff\2\2\1\uffff\2\2",
+            "\5\2\5\uffff\2\2\4\uffff\13\2\1\1\27\2\114\uffff\2\2\77\uffff\1\2\16\uffff\2\2\24\uffff\1\2\1\uffff\27\2\11\uffff\2\2\1\uffff\2\2",
             "\1\uffff",
             "",
             "",
@@ -144960,11 +148040,11 @@
     };
     static final short[][] dfa_72 = unpackEncodedStringArray(dfa_72s);
 
-    class DFA230 extends DFA {
+    class DFA212 extends DFA {
 
-        public DFA230(BaseRecognizer recognizer) {
+        public DFA212(BaseRecognizer recognizer) {
             this.recognizer = recognizer;
-            this.decisionNumber = 230;
+            this.decisionNumber = 212;
             this.eot = dfa_52;
             this.eof = dfa_53;
             this.min = dfa_54;
@@ -144974,41 +148054,41 @@
             this.transition = dfa_72;
         }
         public String getDescription() {
-            return "31619:2: ( rule__XConstructorCall__Group_3__0 )?";
+            return "31329:2: ( rule__XConstructorCall__Group_3__0 )?";
         }
         public int specialStateTransition(int s, IntStream _input) throws NoViableAltException {
             TokenStream input = (TokenStream)_input;
         	int _s = s;
             switch ( s ) {
                     case 0 : 
-                        int LA230_1 = input.LA(1);
+                        int LA212_1 = input.LA(1);
 
                          
-                        int index230_1 = input.index();
+                        int index212_1 = input.index();
                         input.rewind();
                         s = -1;
-                        if ( (synpred335_InternalReportDSL()) ) {s = 77;}
+                        if ( (synpred321_InternalReportDSL()) ) {s = 77;}
 
                         else if ( (true) ) {s = 2;}
 
                          
-                        input.seek(index230_1);
+                        input.seek(index212_1);
                         if ( s>=0 ) return s;
                         break;
             }
             if (state.backtracking>0) {state.failed=true; return -1;}
             NoViableAltException nvae =
-                new NoViableAltException(getDescription(), 230, _s, input);
+                new NoViableAltException(getDescription(), 212, _s, input);
             error(nvae);
             throw nvae;
         }
     }
 
-    class DFA231 extends DFA {
+    class DFA213 extends DFA {
 
-        public DFA231(BaseRecognizer recognizer) {
+        public DFA213(BaseRecognizer recognizer) {
             this.recognizer = recognizer;
-            this.decisionNumber = 231;
+            this.decisionNumber = 213;
             this.eot = dfa_52;
             this.eof = dfa_53;
             this.min = dfa_54;
@@ -145018,41 +148098,41 @@
             this.transition = dfa_58;
         }
         public String getDescription() {
-            return "31646:2: ( rule__XConstructorCall__Group_4__0 )?";
+            return "31356:2: ( rule__XConstructorCall__Group_4__0 )?";
         }
         public int specialStateTransition(int s, IntStream _input) throws NoViableAltException {
             TokenStream input = (TokenStream)_input;
         	int _s = s;
             switch ( s ) {
                     case 0 : 
-                        int LA231_1 = input.LA(1);
+                        int LA213_1 = input.LA(1);
 
                          
-                        int index231_1 = input.index();
+                        int index213_1 = input.index();
                         input.rewind();
                         s = -1;
-                        if ( (synpred336_InternalReportDSL()) ) {s = 77;}
+                        if ( (synpred322_InternalReportDSL()) ) {s = 77;}
 
                         else if ( (true) ) {s = 2;}
 
                          
-                        input.seek(index231_1);
+                        input.seek(index213_1);
                         if ( s>=0 ) return s;
                         break;
             }
             if (state.backtracking>0) {state.failed=true; return -1;}
             NoViableAltException nvae =
-                new NoViableAltException(getDescription(), 231, _s, input);
+                new NoViableAltException(getDescription(), 213, _s, input);
             error(nvae);
             throw nvae;
         }
     }
 
-    class DFA232 extends DFA {
+    class DFA214 extends DFA {
 
-        public DFA232(BaseRecognizer recognizer) {
+        public DFA214(BaseRecognizer recognizer) {
             this.recognizer = recognizer;
-            this.decisionNumber = 232;
+            this.decisionNumber = 214;
             this.eot = dfa_52;
             this.eof = dfa_53;
             this.min = dfa_54;
@@ -145062,42 +148142,42 @@
             this.transition = dfa_59;
         }
         public String getDescription() {
-            return "31672:2: ( rule__XConstructorCall__ArgumentsAssignment_5 )?";
+            return "31382:2: ( rule__XConstructorCall__ArgumentsAssignment_5 )?";
         }
         public int specialStateTransition(int s, IntStream _input) throws NoViableAltException {
             TokenStream input = (TokenStream)_input;
         	int _s = s;
             switch ( s ) {
                     case 0 : 
-                        int LA232_1 = input.LA(1);
+                        int LA214_1 = input.LA(1);
 
                          
-                        int index232_1 = input.index();
+                        int index214_1 = input.index();
                         input.rewind();
                         s = -1;
-                        if ( (synpred337_InternalReportDSL()) ) {s = 77;}
+                        if ( (synpred323_InternalReportDSL()) ) {s = 77;}
 
                         else if ( (true) ) {s = 2;}
 
                          
-                        input.seek(index232_1);
+                        input.seek(index214_1);
                         if ( s>=0 ) return s;
                         break;
             }
             if (state.backtracking>0) {state.failed=true; return -1;}
             NoViableAltException nvae =
-                new NoViableAltException(getDescription(), 232, _s, input);
+                new NoViableAltException(getDescription(), 214, _s, input);
             error(nvae);
             throw nvae;
         }
     }
     static final String dfa_73s = "\1\41\115\uffff";
     static final String dfa_74s = "\1\4\40\0\55\uffff";
-    static final String dfa_75s = "\1\u010a\40\0\55\uffff";
+    static final String dfa_75s = "\1\u010f\40\0\55\uffff";
     static final String dfa_76s = "\41\uffff\1\2\53\uffff\1\1";
     static final String dfa_77s = "\1\uffff\1\0\1\1\1\2\1\3\1\4\1\5\1\6\1\7\1\10\1\11\1\12\1\13\1\14\1\15\1\16\1\17\1\20\1\21\1\22\1\23\1\24\1\25\1\26\1\27\1\30\1\31\1\32\1\33\1\34\1\35\1\36\1\37\55\uffff}>";
     static final String[] dfa_78s = {
-            "\1\27\1\1\1\23\1\24\1\25\5\uffff\2\41\4\uffff\13\41\1\15\6\41\1\10\1\7\4\41\1\6\4\41\1\2\1\3\1\4\1\5\1\16\1\21\106\uffff\1\12\1\41\76\uffff\1\41\16\uffff\1\40\1\41\24\uffff\1\41\1\uffff\2\41\1\17\1\20\1\41\1\31\1\41\1\13\3\41\1\32\1\33\1\34\1\11\1\26\1\30\1\35\1\36\1\37\1\41\1\14\1\41\13\uffff\2\41\1\uffff\1\41\1\22",
+            "\1\27\1\1\1\23\1\24\1\25\5\uffff\2\41\4\uffff\13\41\1\15\6\41\1\10\1\7\4\41\1\6\4\41\1\2\1\3\1\4\1\5\1\16\1\21\114\uffff\1\12\1\41\77\uffff\1\41\16\uffff\1\40\1\41\24\uffff\1\41\1\uffff\2\41\1\17\1\20\1\41\1\31\1\41\1\13\3\41\1\32\1\33\1\34\1\11\1\26\1\30\1\35\1\36\1\37\1\41\1\14\1\41\11\uffff\2\41\1\uffff\1\41\1\22",
             "\1\uffff",
             "\1\uffff",
             "\1\uffff",
@@ -145183,11 +148263,11 @@
     static final short[] dfa_77 = DFA.unpackEncodedString(dfa_77s);
     static final short[][] dfa_78 = unpackEncodedStringArray(dfa_78s);
 
-    class DFA237 extends DFA {
+    class DFA219 extends DFA {
 
-        public DFA237(BaseRecognizer recognizer) {
+        public DFA219(BaseRecognizer recognizer) {
             this.recognizer = recognizer;
-            this.decisionNumber = 237;
+            this.decisionNumber = 219;
             this.eot = dfa_52;
             this.eof = dfa_73;
             this.min = dfa_74;
@@ -145197,496 +148277,496 @@
             this.transition = dfa_78;
         }
         public String getDescription() {
-            return "32563:2: ( rule__XReturnExpression__ExpressionAssignment_2 )?";
+            return "32273:2: ( rule__XReturnExpression__ExpressionAssignment_2 )?";
         }
         public int specialStateTransition(int s, IntStream _input) throws NoViableAltException {
             TokenStream input = (TokenStream)_input;
         	int _s = s;
             switch ( s ) {
                     case 0 : 
-                        int LA237_1 = input.LA(1);
+                        int LA219_1 = input.LA(1);
 
                          
-                        int index237_1 = input.index();
+                        int index219_1 = input.index();
                         input.rewind();
                         s = -1;
-                        if ( (synpred342_InternalReportDSL()) ) {s = 77;}
+                        if ( (synpred328_InternalReportDSL()) ) {s = 77;}
 
                         else if ( (true) ) {s = 33;}
 
                          
-                        input.seek(index237_1);
+                        input.seek(index219_1);
                         if ( s>=0 ) return s;
                         break;
                     case 1 : 
-                        int LA237_2 = input.LA(1);
+                        int LA219_2 = input.LA(1);
 
                          
-                        int index237_2 = input.index();
+                        int index219_2 = input.index();
                         input.rewind();
                         s = -1;
-                        if ( (synpred342_InternalReportDSL()) ) {s = 77;}
+                        if ( (synpred328_InternalReportDSL()) ) {s = 77;}
 
                         else if ( (true) ) {s = 33;}
 
                          
-                        input.seek(index237_2);
+                        input.seek(index219_2);
                         if ( s>=0 ) return s;
                         break;
                     case 2 : 
-                        int LA237_3 = input.LA(1);
+                        int LA219_3 = input.LA(1);
 
                          
-                        int index237_3 = input.index();
+                        int index219_3 = input.index();
                         input.rewind();
                         s = -1;
-                        if ( (synpred342_InternalReportDSL()) ) {s = 77;}
+                        if ( (synpred328_InternalReportDSL()) ) {s = 77;}
 
                         else if ( (true) ) {s = 33;}
 
                          
-                        input.seek(index237_3);
+                        input.seek(index219_3);
                         if ( s>=0 ) return s;
                         break;
                     case 3 : 
-                        int LA237_4 = input.LA(1);
+                        int LA219_4 = input.LA(1);
 
                          
-                        int index237_4 = input.index();
+                        int index219_4 = input.index();
                         input.rewind();
                         s = -1;
-                        if ( (synpred342_InternalReportDSL()) ) {s = 77;}
+                        if ( (synpred328_InternalReportDSL()) ) {s = 77;}
 
                         else if ( (true) ) {s = 33;}
 
                          
-                        input.seek(index237_4);
+                        input.seek(index219_4);
                         if ( s>=0 ) return s;
                         break;
                     case 4 : 
-                        int LA237_5 = input.LA(1);
+                        int LA219_5 = input.LA(1);
 
                          
-                        int index237_5 = input.index();
+                        int index219_5 = input.index();
                         input.rewind();
                         s = -1;
-                        if ( (synpred342_InternalReportDSL()) ) {s = 77;}
+                        if ( (synpred328_InternalReportDSL()) ) {s = 77;}
 
                         else if ( (true) ) {s = 33;}
 
                          
-                        input.seek(index237_5);
+                        input.seek(index219_5);
                         if ( s>=0 ) return s;
                         break;
                     case 5 : 
-                        int LA237_6 = input.LA(1);
+                        int LA219_6 = input.LA(1);
 
                          
-                        int index237_6 = input.index();
+                        int index219_6 = input.index();
                         input.rewind();
                         s = -1;
-                        if ( (synpred342_InternalReportDSL()) ) {s = 77;}
+                        if ( (synpred328_InternalReportDSL()) ) {s = 77;}
 
                         else if ( (true) ) {s = 33;}
 
                          
-                        input.seek(index237_6);
+                        input.seek(index219_6);
                         if ( s>=0 ) return s;
                         break;
                     case 6 : 
-                        int LA237_7 = input.LA(1);
+                        int LA219_7 = input.LA(1);
 
                          
-                        int index237_7 = input.index();
+                        int index219_7 = input.index();
                         input.rewind();
                         s = -1;
-                        if ( (synpred342_InternalReportDSL()) ) {s = 77;}
+                        if ( (synpred328_InternalReportDSL()) ) {s = 77;}
 
                         else if ( (true) ) {s = 33;}
 
                          
-                        input.seek(index237_7);
+                        input.seek(index219_7);
                         if ( s>=0 ) return s;
                         break;
                     case 7 : 
-                        int LA237_8 = input.LA(1);
+                        int LA219_8 = input.LA(1);
 
                          
-                        int index237_8 = input.index();
+                        int index219_8 = input.index();
                         input.rewind();
                         s = -1;
-                        if ( (synpred342_InternalReportDSL()) ) {s = 77;}
+                        if ( (synpred328_InternalReportDSL()) ) {s = 77;}
 
                         else if ( (true) ) {s = 33;}
 
                          
-                        input.seek(index237_8);
+                        input.seek(index219_8);
                         if ( s>=0 ) return s;
                         break;
                     case 8 : 
-                        int LA237_9 = input.LA(1);
+                        int LA219_9 = input.LA(1);
 
                          
-                        int index237_9 = input.index();
+                        int index219_9 = input.index();
                         input.rewind();
                         s = -1;
-                        if ( (synpred342_InternalReportDSL()) ) {s = 77;}
+                        if ( (synpred328_InternalReportDSL()) ) {s = 77;}
 
                         else if ( (true) ) {s = 33;}
 
                          
-                        input.seek(index237_9);
+                        input.seek(index219_9);
                         if ( s>=0 ) return s;
                         break;
                     case 9 : 
-                        int LA237_10 = input.LA(1);
+                        int LA219_10 = input.LA(1);
 
                          
-                        int index237_10 = input.index();
+                        int index219_10 = input.index();
                         input.rewind();
                         s = -1;
-                        if ( (synpred342_InternalReportDSL()) ) {s = 77;}
+                        if ( (synpred328_InternalReportDSL()) ) {s = 77;}
 
                         else if ( (true) ) {s = 33;}
 
                          
-                        input.seek(index237_10);
+                        input.seek(index219_10);
                         if ( s>=0 ) return s;
                         break;
                     case 10 : 
-                        int LA237_11 = input.LA(1);
+                        int LA219_11 = input.LA(1);
 
                          
-                        int index237_11 = input.index();
+                        int index219_11 = input.index();
                         input.rewind();
                         s = -1;
-                        if ( (synpred342_InternalReportDSL()) ) {s = 77;}
+                        if ( (synpred328_InternalReportDSL()) ) {s = 77;}
 
                         else if ( (true) ) {s = 33;}
 
                          
-                        input.seek(index237_11);
+                        input.seek(index219_11);
                         if ( s>=0 ) return s;
                         break;
                     case 11 : 
-                        int LA237_12 = input.LA(1);
+                        int LA219_12 = input.LA(1);
 
                          
-                        int index237_12 = input.index();
+                        int index219_12 = input.index();
                         input.rewind();
                         s = -1;
-                        if ( (synpred342_InternalReportDSL()) ) {s = 77;}
+                        if ( (synpred328_InternalReportDSL()) ) {s = 77;}
 
                         else if ( (true) ) {s = 33;}
 
                          
-                        input.seek(index237_12);
+                        input.seek(index219_12);
                         if ( s>=0 ) return s;
                         break;
                     case 12 : 
-                        int LA237_13 = input.LA(1);
+                        int LA219_13 = input.LA(1);
 
                          
-                        int index237_13 = input.index();
+                        int index219_13 = input.index();
                         input.rewind();
                         s = -1;
-                        if ( (synpred342_InternalReportDSL()) ) {s = 77;}
+                        if ( (synpred328_InternalReportDSL()) ) {s = 77;}
 
                         else if ( (true) ) {s = 33;}
 
                          
-                        input.seek(index237_13);
+                        input.seek(index219_13);
                         if ( s>=0 ) return s;
                         break;
                     case 13 : 
-                        int LA237_14 = input.LA(1);
+                        int LA219_14 = input.LA(1);
 
                          
-                        int index237_14 = input.index();
+                        int index219_14 = input.index();
                         input.rewind();
                         s = -1;
-                        if ( (synpred342_InternalReportDSL()) ) {s = 77;}
+                        if ( (synpred328_InternalReportDSL()) ) {s = 77;}
 
                         else if ( (true) ) {s = 33;}
 
                          
-                        input.seek(index237_14);
+                        input.seek(index219_14);
                         if ( s>=0 ) return s;
                         break;
                     case 14 : 
-                        int LA237_15 = input.LA(1);
+                        int LA219_15 = input.LA(1);
 
                          
-                        int index237_15 = input.index();
+                        int index219_15 = input.index();
                         input.rewind();
                         s = -1;
-                        if ( (synpred342_InternalReportDSL()) ) {s = 77;}
+                        if ( (synpred328_InternalReportDSL()) ) {s = 77;}
 
                         else if ( (true) ) {s = 33;}
 
                          
-                        input.seek(index237_15);
+                        input.seek(index219_15);
                         if ( s>=0 ) return s;
                         break;
                     case 15 : 
-                        int LA237_16 = input.LA(1);
+                        int LA219_16 = input.LA(1);
 
                          
-                        int index237_16 = input.index();
+                        int index219_16 = input.index();
                         input.rewind();
                         s = -1;
-                        if ( (synpred342_InternalReportDSL()) ) {s = 77;}
+                        if ( (synpred328_InternalReportDSL()) ) {s = 77;}
 
                         else if ( (true) ) {s = 33;}
 
                          
-                        input.seek(index237_16);
+                        input.seek(index219_16);
                         if ( s>=0 ) return s;
                         break;
                     case 16 : 
-                        int LA237_17 = input.LA(1);
+                        int LA219_17 = input.LA(1);
 
                          
-                        int index237_17 = input.index();
+                        int index219_17 = input.index();
                         input.rewind();
                         s = -1;
-                        if ( (synpred342_InternalReportDSL()) ) {s = 77;}
+                        if ( (synpred328_InternalReportDSL()) ) {s = 77;}
 
                         else if ( (true) ) {s = 33;}
 
                          
-                        input.seek(index237_17);
+                        input.seek(index219_17);
                         if ( s>=0 ) return s;
                         break;
                     case 17 : 
-                        int LA237_18 = input.LA(1);
+                        int LA219_18 = input.LA(1);
 
                          
-                        int index237_18 = input.index();
+                        int index219_18 = input.index();
                         input.rewind();
                         s = -1;
-                        if ( (synpred342_InternalReportDSL()) ) {s = 77;}
+                        if ( (synpred328_InternalReportDSL()) ) {s = 77;}
 
                         else if ( (true) ) {s = 33;}
 
                          
-                        input.seek(index237_18);
+                        input.seek(index219_18);
                         if ( s>=0 ) return s;
                         break;
                     case 18 : 
-                        int LA237_19 = input.LA(1);
+                        int LA219_19 = input.LA(1);
 
                          
-                        int index237_19 = input.index();
+                        int index219_19 = input.index();
                         input.rewind();
                         s = -1;
-                        if ( (synpred342_InternalReportDSL()) ) {s = 77;}
+                        if ( (synpred328_InternalReportDSL()) ) {s = 77;}
 
                         else if ( (true) ) {s = 33;}
 
                          
-                        input.seek(index237_19);
+                        input.seek(index219_19);
                         if ( s>=0 ) return s;
                         break;
                     case 19 : 
-                        int LA237_20 = input.LA(1);
+                        int LA219_20 = input.LA(1);
 
                          
-                        int index237_20 = input.index();
+                        int index219_20 = input.index();
                         input.rewind();
                         s = -1;
-                        if ( (synpred342_InternalReportDSL()) ) {s = 77;}
+                        if ( (synpred328_InternalReportDSL()) ) {s = 77;}
 
                         else if ( (true) ) {s = 33;}
 
                          
-                        input.seek(index237_20);
+                        input.seek(index219_20);
                         if ( s>=0 ) return s;
                         break;
                     case 20 : 
-                        int LA237_21 = input.LA(1);
+                        int LA219_21 = input.LA(1);
 
                          
-                        int index237_21 = input.index();
+                        int index219_21 = input.index();
                         input.rewind();
                         s = -1;
-                        if ( (synpred342_InternalReportDSL()) ) {s = 77;}
+                        if ( (synpred328_InternalReportDSL()) ) {s = 77;}
 
                         else if ( (true) ) {s = 33;}
 
                          
-                        input.seek(index237_21);
+                        input.seek(index219_21);
                         if ( s>=0 ) return s;
                         break;
                     case 21 : 
-                        int LA237_22 = input.LA(1);
+                        int LA219_22 = input.LA(1);
 
                          
-                        int index237_22 = input.index();
+                        int index219_22 = input.index();
                         input.rewind();
                         s = -1;
-                        if ( (synpred342_InternalReportDSL()) ) {s = 77;}
+                        if ( (synpred328_InternalReportDSL()) ) {s = 77;}
 
                         else if ( (true) ) {s = 33;}
 
                          
-                        input.seek(index237_22);
+                        input.seek(index219_22);
                         if ( s>=0 ) return s;
                         break;
                     case 22 : 
-                        int LA237_23 = input.LA(1);
+                        int LA219_23 = input.LA(1);
 
                          
-                        int index237_23 = input.index();
+                        int index219_23 = input.index();
                         input.rewind();
                         s = -1;
-                        if ( (synpred342_InternalReportDSL()) ) {s = 77;}
+                        if ( (synpred328_InternalReportDSL()) ) {s = 77;}
 
                         else if ( (true) ) {s = 33;}
 
                          
-                        input.seek(index237_23);
+                        input.seek(index219_23);
                         if ( s>=0 ) return s;
                         break;
                     case 23 : 
-                        int LA237_24 = input.LA(1);
+                        int LA219_24 = input.LA(1);
 
                          
-                        int index237_24 = input.index();
+                        int index219_24 = input.index();
                         input.rewind();
                         s = -1;
-                        if ( (synpred342_InternalReportDSL()) ) {s = 77;}
+                        if ( (synpred328_InternalReportDSL()) ) {s = 77;}
 
                         else if ( (true) ) {s = 33;}
 
                          
-                        input.seek(index237_24);
+                        input.seek(index219_24);
                         if ( s>=0 ) return s;
                         break;
                     case 24 : 
-                        int LA237_25 = input.LA(1);
+                        int LA219_25 = input.LA(1);
 
                          
-                        int index237_25 = input.index();
+                        int index219_25 = input.index();
                         input.rewind();
                         s = -1;
-                        if ( (synpred342_InternalReportDSL()) ) {s = 77;}
+                        if ( (synpred328_InternalReportDSL()) ) {s = 77;}
 
                         else if ( (true) ) {s = 33;}
 
                          
-                        input.seek(index237_25);
+                        input.seek(index219_25);
                         if ( s>=0 ) return s;
                         break;
                     case 25 : 
-                        int LA237_26 = input.LA(1);
+                        int LA219_26 = input.LA(1);
 
                          
-                        int index237_26 = input.index();
+                        int index219_26 = input.index();
                         input.rewind();
                         s = -1;
-                        if ( (synpred342_InternalReportDSL()) ) {s = 77;}
+                        if ( (synpred328_InternalReportDSL()) ) {s = 77;}
 
                         else if ( (true) ) {s = 33;}
 
                          
-                        input.seek(index237_26);
+                        input.seek(index219_26);
                         if ( s>=0 ) return s;
                         break;
                     case 26 : 
-                        int LA237_27 = input.LA(1);
+                        int LA219_27 = input.LA(1);
 
                          
-                        int index237_27 = input.index();
+                        int index219_27 = input.index();
                         input.rewind();
                         s = -1;
-                        if ( (synpred342_InternalReportDSL()) ) {s = 77;}
+                        if ( (synpred328_InternalReportDSL()) ) {s = 77;}
 
                         else if ( (true) ) {s = 33;}
 
                          
-                        input.seek(index237_27);
+                        input.seek(index219_27);
                         if ( s>=0 ) return s;
                         break;
                     case 27 : 
-                        int LA237_28 = input.LA(1);
+                        int LA219_28 = input.LA(1);
 
                          
-                        int index237_28 = input.index();
+                        int index219_28 = input.index();
                         input.rewind();
                         s = -1;
-                        if ( (synpred342_InternalReportDSL()) ) {s = 77;}
+                        if ( (synpred328_InternalReportDSL()) ) {s = 77;}
 
                         else if ( (true) ) {s = 33;}
 
                          
-                        input.seek(index237_28);
+                        input.seek(index219_28);
                         if ( s>=0 ) return s;
                         break;
                     case 28 : 
-                        int LA237_29 = input.LA(1);
+                        int LA219_29 = input.LA(1);
 
                          
-                        int index237_29 = input.index();
+                        int index219_29 = input.index();
                         input.rewind();
                         s = -1;
-                        if ( (synpred342_InternalReportDSL()) ) {s = 77;}
+                        if ( (synpred328_InternalReportDSL()) ) {s = 77;}
 
                         else if ( (true) ) {s = 33;}
 
                          
-                        input.seek(index237_29);
+                        input.seek(index219_29);
                         if ( s>=0 ) return s;
                         break;
                     case 29 : 
-                        int LA237_30 = input.LA(1);
+                        int LA219_30 = input.LA(1);
 
                          
-                        int index237_30 = input.index();
+                        int index219_30 = input.index();
                         input.rewind();
                         s = -1;
-                        if ( (synpred342_InternalReportDSL()) ) {s = 77;}
+                        if ( (synpred328_InternalReportDSL()) ) {s = 77;}
 
                         else if ( (true) ) {s = 33;}
 
                          
-                        input.seek(index237_30);
+                        input.seek(index219_30);
                         if ( s>=0 ) return s;
                         break;
                     case 30 : 
-                        int LA237_31 = input.LA(1);
+                        int LA219_31 = input.LA(1);
 
                          
-                        int index237_31 = input.index();
+                        int index219_31 = input.index();
                         input.rewind();
                         s = -1;
-                        if ( (synpred342_InternalReportDSL()) ) {s = 77;}
+                        if ( (synpred328_InternalReportDSL()) ) {s = 77;}
 
                         else if ( (true) ) {s = 33;}
 
                          
-                        input.seek(index237_31);
+                        input.seek(index219_31);
                         if ( s>=0 ) return s;
                         break;
                     case 31 : 
-                        int LA237_32 = input.LA(1);
+                        int LA219_32 = input.LA(1);
 
                          
-                        int index237_32 = input.index();
+                        int index219_32 = input.index();
                         input.rewind();
                         s = -1;
-                        if ( (synpred342_InternalReportDSL()) ) {s = 77;}
+                        if ( (synpred328_InternalReportDSL()) ) {s = 77;}
 
                         else if ( (true) ) {s = 33;}
 
                          
-                        input.seek(index237_32);
+                        input.seek(index219_32);
                         if ( s>=0 ) return s;
                         break;
             }
             if (state.backtracking>0) {state.failed=true; return -1;}
             NoViableAltException nvae =
-                new NoViableAltException(getDescription(), 237, _s, input);
+                new NoViableAltException(getDescription(), 219, _s, input);
             error(nvae);
             throw nvae;
         }
@@ -145694,11 +148774,11 @@
     static final String dfa_79s = "\117\uffff";
     static final String dfa_80s = "\1\2\116\uffff";
     static final String dfa_81s = "\1\4\1\0\115\uffff";
-    static final String dfa_82s = "\1\u010a\1\0\115\uffff";
+    static final String dfa_82s = "\1\u010f\1\0\115\uffff";
     static final String dfa_83s = "\2\uffff\1\2\113\uffff\1\1";
     static final String dfa_84s = "\1\uffff\1\0\115\uffff}>";
     static final String[] dfa_85s = {
-            "\5\2\5\uffff\2\2\4\uffff\13\2\1\1\27\2\106\uffff\2\2\76\uffff\1\2\16\uffff\2\2\24\uffff\1\2\1\uffff\27\2\1\uffff\1\2\11\uffff\2\2\1\uffff\2\2",
+            "\5\2\5\uffff\2\2\4\uffff\13\2\1\1\27\2\114\uffff\2\2\77\uffff\1\2\16\uffff\2\2\24\uffff\1\2\1\uffff\27\2\1\uffff\1\2\7\uffff\2\2\1\uffff\2\2",
             "\1\uffff",
             "",
             "",
@@ -145787,11 +148867,11 @@
     static final short[] dfa_84 = DFA.unpackEncodedString(dfa_84s);
     static final short[][] dfa_85 = unpackEncodedStringArray(dfa_85s);
 
-    class DFA246 extends DFA {
+    class DFA228 extends DFA {
 
-        public DFA246(BaseRecognizer recognizer) {
+        public DFA228(BaseRecognizer recognizer) {
             this.recognizer = recognizer;
-            this.decisionNumber = 246;
+            this.decisionNumber = 228;
             this.eot = dfa_79;
             this.eof = dfa_80;
             this.min = dfa_81;
@@ -145801,41 +148881,41 @@
             this.transition = dfa_85;
         }
         public String getDescription() {
-            return "33920:2: ( rule__JvmParameterizedTypeReference__Group_1__0 )?";
+            return "33630:2: ( rule__JvmParameterizedTypeReference__Group_1__0 )?";
         }
         public int specialStateTransition(int s, IntStream _input) throws NoViableAltException {
             TokenStream input = (TokenStream)_input;
         	int _s = s;
             switch ( s ) {
                     case 0 : 
-                        int LA246_1 = input.LA(1);
+                        int LA228_1 = input.LA(1);
 
                          
-                        int index246_1 = input.index();
+                        int index228_1 = input.index();
                         input.rewind();
                         s = -1;
-                        if ( (synpred351_InternalReportDSL()) ) {s = 78;}
+                        if ( (synpred337_InternalReportDSL()) ) {s = 78;}
 
                         else if ( (true) ) {s = 2;}
 
                          
-                        input.seek(index246_1);
+                        input.seek(index228_1);
                         if ( s>=0 ) return s;
                         break;
             }
             if (state.backtracking>0) {state.failed=true; return -1;}
             NoViableAltException nvae =
-                new NoViableAltException(getDescription(), 246, _s, input);
+                new NoViableAltException(getDescription(), 228, _s, input);
             error(nvae);
             throw nvae;
         }
     }
 
-    class DFA249 extends DFA {
+    class DFA231 extends DFA {
 
-        public DFA249(BaseRecognizer recognizer) {
+        public DFA231(BaseRecognizer recognizer) {
             this.recognizer = recognizer;
-            this.decisionNumber = 249;
+            this.decisionNumber = 231;
             this.eot = dfa_79;
             this.eof = dfa_80;
             this.min = dfa_81;
@@ -145845,42 +148925,43 @@
             this.transition = dfa_85;
         }
         public String getDescription() {
-            return "34190:2: ( rule__JvmParameterizedTypeReference__Group_1_4_2__0 )?";
+            return "33900:2: ( rule__JvmParameterizedTypeReference__Group_1_4_2__0 )?";
         }
         public int specialStateTransition(int s, IntStream _input) throws NoViableAltException {
             TokenStream input = (TokenStream)_input;
         	int _s = s;
             switch ( s ) {
                     case 0 : 
-                        int LA249_1 = input.LA(1);
+                        int LA231_1 = input.LA(1);
 
                          
-                        int index249_1 = input.index();
+                        int index231_1 = input.index();
                         input.rewind();
                         s = -1;
-                        if ( (synpred354_InternalReportDSL()) ) {s = 78;}
+                        if ( (synpred340_InternalReportDSL()) ) {s = 78;}
 
                         else if ( (true) ) {s = 2;}
 
                          
-                        input.seek(index249_1);
+                        input.seek(index231_1);
                         if ( s>=0 ) return s;
                         break;
             }
             if (state.backtracking>0) {state.failed=true; return -1;}
             NoViableAltException nvae =
-                new NoViableAltException(getDescription(), 249, _s, input);
+                new NoViableAltException(getDescription(), 231, _s, input);
             error(nvae);
             throw nvae;
         }
     }
-    static final String dfa_86s = "\23\uffff";
-    static final String dfa_87s = "\1\176\22\uffff";
-    static final String dfa_88s = "\1\u00a9\22\uffff";
-    static final String dfa_89s = "\1\uffff\21\1\1\2";
-    static final String dfa_90s = "\1\0\22\uffff}>";
+    static final String dfa_86s = "\24\uffff";
+    static final String dfa_87s = "\1\u0084\23\uffff";
+    static final String dfa_88s = "\1\u00b0\23\uffff";
+    static final String dfa_89s = "\1\uffff\22\1\1\2";
+    static final String dfa_90s = "\1\0\23\uffff}>";
     static final String[] dfa_91s = {
-            "\1\22\7\uffff\1\22\16\uffff\1\2\3\uffff\1\1\1\3\1\uffff\1\4\1\5\1\6\1\7\1\10\1\11\1\12\1\13\1\14\1\15\1\16\1\17\1\20\1\21",
+            "\1\23\7\uffff\1\23\16\uffff\1\2\3\uffff\1\1\1\3\1\uffff\1\4\1\5\1\6\1\7\1\10\1\11\1\12\1\13\1\14\1\15\1\16\1\17\1\20\1\21\1\22",
+            "",
             "",
             "",
             "",
@@ -145908,11 +148989,11 @@
     static final short[] dfa_90 = DFA.unpackEncodedString(dfa_90s);
     static final short[][] dfa_91 = unpackEncodedStringArray(dfa_91s);
 
-    class DFA259 extends DFA {
+    class DFA241 extends DFA {
 
-        public DFA259(BaseRecognizer recognizer) {
+        public DFA241(BaseRecognizer recognizer) {
             this.recognizer = recognizer;
-            this.decisionNumber = 259;
+            this.decisionNumber = 241;
             this.eot = dfa_86;
             this.eof = dfa_86;
             this.min = dfa_87;
@@ -145922,74 +149003,77 @@
             this.transition = dfa_91;
         }
         public String getDescription() {
-            return "35125:2: ( rule__Style__UnorderedGroup_4__0 )?";
+            return "34835:2: ( rule__Style__UnorderedGroup_4__0 )?";
         }
         public int specialStateTransition(int s, IntStream _input) throws NoViableAltException {
             TokenStream input = (TokenStream)_input;
         	int _s = s;
             switch ( s ) {
                     case 0 : 
-                        int LA259_0 = input.LA(1);
+                        int LA241_0 = input.LA(1);
 
                          
-                        int index259_0 = input.index();
+                        int index241_0 = input.index();
                         input.rewind();
                         s = -1;
-                        if ( LA259_0 == 153 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 0) ) {s = 1;}
+                        if ( LA241_0 == 159 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 0) ) {s = 1;}
 
-                        else if ( LA259_0 == 149 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 1) ) {s = 2;}
+                        else if ( LA241_0 == 155 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 1) ) {s = 2;}
 
-                        else if ( LA259_0 == 154 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 2) ) {s = 3;}
+                        else if ( LA241_0 == 160 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 2) ) {s = 3;}
 
-                        else if ( LA259_0 == 156 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 3) ) {s = 4;}
+                        else if ( LA241_0 == 162 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 3) ) {s = 4;}
 
-                        else if ( LA259_0 == 157 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 4) ) {s = 5;}
+                        else if ( LA241_0 == 163 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 4) ) {s = 5;}
 
-                        else if ( LA259_0 == 158 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 5) ) {s = 6;}
+                        else if ( LA241_0 == 164 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 5) ) {s = 6;}
 
-                        else if ( LA259_0 == 159 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 6) ) {s = 7;}
+                        else if ( LA241_0 == 165 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 6) ) {s = 7;}
 
-                        else if ( LA259_0 == 160 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 7) ) {s = 8;}
+                        else if ( LA241_0 == 166 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 7) ) {s = 8;}
 
-                        else if ( LA259_0 == 161 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 8) ) {s = 9;}
+                        else if ( LA241_0 == 167 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 8) ) {s = 9;}
 
-                        else if ( LA259_0 == 162 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 9) ) {s = 10;}
+                        else if ( LA241_0 == 168 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 9) ) {s = 10;}
 
-                        else if ( LA259_0 == 163 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 10) ) {s = 11;}
+                        else if ( LA241_0 == 169 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 10) ) {s = 11;}
 
-                        else if ( LA259_0 == 164 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 11) ) {s = 12;}
+                        else if ( LA241_0 == 170 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 11) ) {s = 12;}
 
-                        else if ( LA259_0 == 165 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 12) ) {s = 13;}
+                        else if ( LA241_0 == 171 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 12) ) {s = 13;}
 
-                        else if ( LA259_0 == 166 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 13) ) {s = 14;}
+                        else if ( LA241_0 == 172 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 13) ) {s = 14;}
 
-                        else if ( LA259_0 == 167 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 14) ) {s = 15;}
+                        else if ( LA241_0 == 173 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 14) ) {s = 15;}
 
-                        else if ( LA259_0 == 168 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 15) ) {s = 16;}
+                        else if ( LA241_0 == 174 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 15) ) {s = 16;}
 
-                        else if ( LA259_0 == 169 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 16) ) {s = 17;}
+                        else if ( LA241_0 == 175 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 16) ) {s = 17;}
 
-                        else if ( (LA259_0==126||LA259_0==134) ) {s = 18;}
+                        else if ( LA241_0 == 176 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 17) ) {s = 18;}
+
+                        else if ( (LA241_0==132||LA241_0==140) ) {s = 19;}
 
                          
-                        input.seek(index259_0);
+                        input.seek(index241_0);
                         if ( s>=0 ) return s;
                         break;
             }
             if (state.backtracking>0) {state.failed=true; return -1;}
             NoViableAltException nvae =
-                new NoViableAltException(getDescription(), 259, _s, input);
+                new NoViableAltException(getDescription(), 241, _s, input);
             error(nvae);
             throw nvae;
         }
     }
-    static final String dfa_92s = "\22\uffff";
-    static final String dfa_93s = "\1\u0095\21\uffff";
-    static final String dfa_94s = "\1\u00a9\21\uffff";
-    static final String dfa_95s = "\1\uffff\1\1\1\2\1\3\1\4\1\5\1\6\1\7\1\10\1\11\1\12\1\13\1\14\1\15\1\16\1\17\1\20\1\21";
-    static final String dfa_96s = "\1\0\21\uffff}>";
+    static final String dfa_92s = "\23\uffff";
+    static final String dfa_93s = "\1\u009b\22\uffff";
+    static final String dfa_94s = "\1\u00b0\22\uffff";
+    static final String dfa_95s = "\1\uffff\1\1\1\2\1\3\1\4\1\5\1\6\1\7\1\10\1\11\1\12\1\13\1\14\1\15\1\16\1\17\1\20\1\21\1\22";
+    static final String dfa_96s = "\1\0\22\uffff}>";
     static final String[] dfa_97s = {
-            "\1\2\3\uffff\1\1\1\3\1\uffff\1\4\1\5\1\6\1\7\1\10\1\11\1\12\1\13\1\14\1\15\1\16\1\17\1\20\1\21",
+            "\1\2\3\uffff\1\1\1\3\1\uffff\1\4\1\5\1\6\1\7\1\10\1\11\1\12\1\13\1\14\1\15\1\16\1\17\1\20\1\21\1\22",
+            "",
             "",
             "",
             "",
@@ -146016,11 +149100,11 @@
     static final short[] dfa_96 = DFA.unpackEncodedString(dfa_96s);
     static final short[][] dfa_97 = unpackEncodedStringArray(dfa_97s);
 
-    class DFA260 extends DFA {
+    class DFA242 extends DFA {
 
-        public DFA260(BaseRecognizer recognizer) {
+        public DFA242(BaseRecognizer recognizer) {
             this.recognizer = recognizer;
-            this.decisionNumber = 260;
+            this.decisionNumber = 242;
             this.eot = dfa_92;
             this.eof = dfa_92;
             this.min = dfa_93;
@@ -146030,7 +149114,1434 @@
             this.transition = dfa_97;
         }
         public String getDescription() {
-            return "35139:3: ( ({...}? => ( ( ( rule__Style__Group_4_0__0 ) ) ) ) | ({...}? => ( ( ( rule__Style__Group_4_1__0 ) ) ) ) | ({...}? => ( ( ( rule__Style__Group_4_2__0 ) ) ) ) | ({...}? => ( ( ( rule__Style__Group_4_3__0 ) ) ) ) | ({...}? => ( ( ( rule__Style__Group_4_4__0 ) ) ) ) | ({...}? => ( ( ( rule__Style__Group_4_5__0 ) ) ) ) | ({...}? => ( ( ( rule__Style__Group_4_6__0 ) ) ) ) | ({...}? => ( ( ( rule__Style__Group_4_7__0 ) ) ) ) | ({...}? => ( ( ( rule__Style__Group_4_8__0 ) ) ) ) | ({...}? => ( ( ( rule__Style__Group_4_9__0 ) ) ) ) | ({...}? => ( ( ( rule__Style__Group_4_10__0 ) ) ) ) | ({...}? => ( ( ( rule__Style__Group_4_11__0 ) ) ) ) | ({...}? => ( ( ( rule__Style__Group_4_12__0 ) ) ) ) | ({...}? => ( ( ( rule__Style__Group_4_13__0 ) ) ) ) | ({...}? => ( ( ( rule__Style__Group_4_14__0 ) ) ) ) | ({...}? => ( ( ( rule__Style__Group_4_15__0 ) ) ) ) | ({...}? => ( ( ( rule__Style__Group_4_16__0 ) ) ) ) )";
+            return "34849:3: ( ({...}? => ( ( ( rule__Style__Group_4_0__0 ) ) ) ) | ({...}? => ( ( ( rule__Style__Group_4_1__0 ) ) ) ) | ({...}? => ( ( ( rule__Style__Group_4_2__0 ) ) ) ) | ({...}? => ( ( ( rule__Style__Group_4_3__0 ) ) ) ) | ({...}? => ( ( ( rule__Style__Group_4_4__0 ) ) ) ) | ({...}? => ( ( ( rule__Style__Group_4_5__0 ) ) ) ) | ({...}? => ( ( ( rule__Style__Group_4_6__0 ) ) ) ) | ({...}? => ( ( ( rule__Style__Group_4_7__0 ) ) ) ) | ({...}? => ( ( ( rule__Style__Group_4_8__0 ) ) ) ) | ({...}? => ( ( ( rule__Style__Group_4_9__0 ) ) ) ) | ({...}? => ( ( ( rule__Style__Group_4_10__0 ) ) ) ) | ({...}? => ( ( ( rule__Style__Group_4_11__0 ) ) ) ) | ({...}? => ( ( ( rule__Style__Group_4_12__0 ) ) ) ) | ({...}? => ( ( ( rule__Style__Group_4_13__0 ) ) ) ) | ({...}? => ( ( ( rule__Style__Group_4_14__0 ) ) ) ) | ({...}? => ( ( ( rule__Style__Group_4_15__0 ) ) ) ) | ({...}? => ( ( ( rule__Style__Group_4_16__0 ) ) ) ) | ({...}? => ( ( ( rule__Style__Group_4_17__0 ) ) ) ) )";
+        }
+        public int specialStateTransition(int s, IntStream _input) throws NoViableAltException {
+            TokenStream input = (TokenStream)_input;
+        	int _s = s;
+            switch ( s ) {
+                    case 0 : 
+                        int LA242_0 = input.LA(1);
+
+                         
+                        int index242_0 = input.index();
+                        input.rewind();
+                        s = -1;
+                        if ( LA242_0 == 159 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 0) ) {s = 1;}
+
+                        else if ( LA242_0 == 155 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 1) ) {s = 2;}
+
+                        else if ( LA242_0 == 160 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 2) ) {s = 3;}
+
+                        else if ( LA242_0 == 162 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 3) ) {s = 4;}
+
+                        else if ( LA242_0 == 163 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 4) ) {s = 5;}
+
+                        else if ( LA242_0 == 164 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 5) ) {s = 6;}
+
+                        else if ( LA242_0 == 165 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 6) ) {s = 7;}
+
+                        else if ( LA242_0 == 166 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 7) ) {s = 8;}
+
+                        else if ( LA242_0 == 167 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 8) ) {s = 9;}
+
+                        else if ( LA242_0 == 168 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 9) ) {s = 10;}
+
+                        else if ( LA242_0 == 169 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 10) ) {s = 11;}
+
+                        else if ( LA242_0 == 170 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 11) ) {s = 12;}
+
+                        else if ( LA242_0 == 171 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 12) ) {s = 13;}
+
+                        else if ( LA242_0 == 172 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 13) ) {s = 14;}
+
+                        else if ( LA242_0 == 173 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 14) ) {s = 15;}
+
+                        else if ( LA242_0 == 174 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 15) ) {s = 16;}
+
+                        else if ( LA242_0 == 175 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 16) ) {s = 17;}
+
+                        else if ( LA242_0 == 176 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 17) ) {s = 18;}
+
+                         
+                        input.seek(index242_0);
+                        if ( s>=0 ) return s;
+                        break;
+            }
+            if (state.backtracking>0) {state.failed=true; return -1;}
+            NoViableAltException nvae =
+                new NoViableAltException(getDescription(), 242, _s, input);
+            error(nvae);
+            throw nvae;
+        }
+    }
+    static final String dfa_98s = "\1\23\23\uffff";
+    static final short[] dfa_98 = DFA.unpackEncodedString(dfa_98s);
+
+    class DFA243 extends DFA {
+
+        public DFA243(BaseRecognizer recognizer) {
+            this.recognizer = recognizer;
+            this.decisionNumber = 243;
+            this.eot = dfa_86;
+            this.eof = dfa_98;
+            this.min = dfa_87;
+            this.max = dfa_88;
+            this.accept = dfa_89;
+            this.special = dfa_90;
+            this.transition = dfa_91;
+        }
+        public String getDescription() {
+            return "35134:2: ( rule__Style__UnorderedGroup_4__1 )?";
+        }
+        public int specialStateTransition(int s, IntStream _input) throws NoViableAltException {
+            TokenStream input = (TokenStream)_input;
+        	int _s = s;
+            switch ( s ) {
+                    case 0 : 
+                        int LA243_0 = input.LA(1);
+
+                         
+                        int index243_0 = input.index();
+                        input.rewind();
+                        s = -1;
+                        if ( LA243_0 == 159 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 0) ) {s = 1;}
+
+                        else if ( LA243_0 == 155 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 1) ) {s = 2;}
+
+                        else if ( LA243_0 == 160 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 2) ) {s = 3;}
+
+                        else if ( LA243_0 == 162 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 3) ) {s = 4;}
+
+                        else if ( LA243_0 == 163 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 4) ) {s = 5;}
+
+                        else if ( LA243_0 == 164 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 5) ) {s = 6;}
+
+                        else if ( LA243_0 == 165 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 6) ) {s = 7;}
+
+                        else if ( LA243_0 == 166 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 7) ) {s = 8;}
+
+                        else if ( LA243_0 == 167 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 8) ) {s = 9;}
+
+                        else if ( LA243_0 == 168 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 9) ) {s = 10;}
+
+                        else if ( LA243_0 == 169 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 10) ) {s = 11;}
+
+                        else if ( LA243_0 == 170 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 11) ) {s = 12;}
+
+                        else if ( LA243_0 == 171 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 12) ) {s = 13;}
+
+                        else if ( LA243_0 == 172 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 13) ) {s = 14;}
+
+                        else if ( LA243_0 == 173 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 14) ) {s = 15;}
+
+                        else if ( LA243_0 == 174 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 15) ) {s = 16;}
+
+                        else if ( LA243_0 == 175 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 16) ) {s = 17;}
+
+                        else if ( LA243_0 == 176 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 17) ) {s = 18;}
+
+                        else if ( (LA243_0==EOF||LA243_0==132||LA243_0==140) ) {s = 19;}
+
+                         
+                        input.seek(index243_0);
+                        if ( s>=0 ) return s;
+                        break;
+            }
+            if (state.backtracking>0) {state.failed=true; return -1;}
+            NoViableAltException nvae =
+                new NoViableAltException(getDescription(), 243, _s, input);
+            error(nvae);
+            throw nvae;
+        }
+    }
+
+    class DFA244 extends DFA {
+
+        public DFA244(BaseRecognizer recognizer) {
+            this.recognizer = recognizer;
+            this.decisionNumber = 244;
+            this.eot = dfa_86;
+            this.eof = dfa_98;
+            this.min = dfa_87;
+            this.max = dfa_88;
+            this.accept = dfa_89;
+            this.special = dfa_90;
+            this.transition = dfa_91;
+        }
+        public String getDescription() {
+            return "35146:2: ( rule__Style__UnorderedGroup_4__2 )?";
+        }
+        public int specialStateTransition(int s, IntStream _input) throws NoViableAltException {
+            TokenStream input = (TokenStream)_input;
+        	int _s = s;
+            switch ( s ) {
+                    case 0 : 
+                        int LA244_0 = input.LA(1);
+
+                         
+                        int index244_0 = input.index();
+                        input.rewind();
+                        s = -1;
+                        if ( LA244_0 == 159 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 0) ) {s = 1;}
+
+                        else if ( LA244_0 == 155 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 1) ) {s = 2;}
+
+                        else if ( LA244_0 == 160 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 2) ) {s = 3;}
+
+                        else if ( LA244_0 == 162 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 3) ) {s = 4;}
+
+                        else if ( LA244_0 == 163 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 4) ) {s = 5;}
+
+                        else if ( LA244_0 == 164 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 5) ) {s = 6;}
+
+                        else if ( LA244_0 == 165 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 6) ) {s = 7;}
+
+                        else if ( LA244_0 == 166 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 7) ) {s = 8;}
+
+                        else if ( LA244_0 == 167 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 8) ) {s = 9;}
+
+                        else if ( LA244_0 == 168 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 9) ) {s = 10;}
+
+                        else if ( LA244_0 == 169 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 10) ) {s = 11;}
+
+                        else if ( LA244_0 == 170 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 11) ) {s = 12;}
+
+                        else if ( LA244_0 == 171 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 12) ) {s = 13;}
+
+                        else if ( LA244_0 == 172 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 13) ) {s = 14;}
+
+                        else if ( LA244_0 == 173 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 14) ) {s = 15;}
+
+                        else if ( LA244_0 == 174 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 15) ) {s = 16;}
+
+                        else if ( LA244_0 == 175 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 16) ) {s = 17;}
+
+                        else if ( LA244_0 == 176 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 17) ) {s = 18;}
+
+                        else if ( (LA244_0==EOF||LA244_0==132||LA244_0==140) ) {s = 19;}
+
+                         
+                        input.seek(index244_0);
+                        if ( s>=0 ) return s;
+                        break;
+            }
+            if (state.backtracking>0) {state.failed=true; return -1;}
+            NoViableAltException nvae =
+                new NoViableAltException(getDescription(), 244, _s, input);
+            error(nvae);
+            throw nvae;
+        }
+    }
+
+    class DFA245 extends DFA {
+
+        public DFA245(BaseRecognizer recognizer) {
+            this.recognizer = recognizer;
+            this.decisionNumber = 245;
+            this.eot = dfa_86;
+            this.eof = dfa_98;
+            this.min = dfa_87;
+            this.max = dfa_88;
+            this.accept = dfa_89;
+            this.special = dfa_90;
+            this.transition = dfa_91;
+        }
+        public String getDescription() {
+            return "35158:2: ( rule__Style__UnorderedGroup_4__3 )?";
+        }
+        public int specialStateTransition(int s, IntStream _input) throws NoViableAltException {
+            TokenStream input = (TokenStream)_input;
+        	int _s = s;
+            switch ( s ) {
+                    case 0 : 
+                        int LA245_0 = input.LA(1);
+
+                         
+                        int index245_0 = input.index();
+                        input.rewind();
+                        s = -1;
+                        if ( LA245_0 == 159 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 0) ) {s = 1;}
+
+                        else if ( LA245_0 == 155 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 1) ) {s = 2;}
+
+                        else if ( LA245_0 == 160 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 2) ) {s = 3;}
+
+                        else if ( LA245_0 == 162 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 3) ) {s = 4;}
+
+                        else if ( LA245_0 == 163 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 4) ) {s = 5;}
+
+                        else if ( LA245_0 == 164 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 5) ) {s = 6;}
+
+                        else if ( LA245_0 == 165 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 6) ) {s = 7;}
+
+                        else if ( LA245_0 == 166 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 7) ) {s = 8;}
+
+                        else if ( LA245_0 == 167 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 8) ) {s = 9;}
+
+                        else if ( LA245_0 == 168 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 9) ) {s = 10;}
+
+                        else if ( LA245_0 == 169 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 10) ) {s = 11;}
+
+                        else if ( LA245_0 == 170 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 11) ) {s = 12;}
+
+                        else if ( LA245_0 == 171 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 12) ) {s = 13;}
+
+                        else if ( LA245_0 == 172 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 13) ) {s = 14;}
+
+                        else if ( LA245_0 == 173 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 14) ) {s = 15;}
+
+                        else if ( LA245_0 == 174 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 15) ) {s = 16;}
+
+                        else if ( LA245_0 == 175 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 16) ) {s = 17;}
+
+                        else if ( LA245_0 == 176 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 17) ) {s = 18;}
+
+                        else if ( (LA245_0==EOF||LA245_0==132||LA245_0==140) ) {s = 19;}
+
+                         
+                        input.seek(index245_0);
+                        if ( s>=0 ) return s;
+                        break;
+            }
+            if (state.backtracking>0) {state.failed=true; return -1;}
+            NoViableAltException nvae =
+                new NoViableAltException(getDescription(), 245, _s, input);
+            error(nvae);
+            throw nvae;
+        }
+    }
+
+    class DFA246 extends DFA {
+
+        public DFA246(BaseRecognizer recognizer) {
+            this.recognizer = recognizer;
+            this.decisionNumber = 246;
+            this.eot = dfa_86;
+            this.eof = dfa_98;
+            this.min = dfa_87;
+            this.max = dfa_88;
+            this.accept = dfa_89;
+            this.special = dfa_90;
+            this.transition = dfa_91;
+        }
+        public String getDescription() {
+            return "35170:2: ( rule__Style__UnorderedGroup_4__4 )?";
+        }
+        public int specialStateTransition(int s, IntStream _input) throws NoViableAltException {
+            TokenStream input = (TokenStream)_input;
+        	int _s = s;
+            switch ( s ) {
+                    case 0 : 
+                        int LA246_0 = input.LA(1);
+
+                         
+                        int index246_0 = input.index();
+                        input.rewind();
+                        s = -1;
+                        if ( LA246_0 == 159 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 0) ) {s = 1;}
+
+                        else if ( LA246_0 == 155 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 1) ) {s = 2;}
+
+                        else if ( LA246_0 == 160 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 2) ) {s = 3;}
+
+                        else if ( LA246_0 == 162 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 3) ) {s = 4;}
+
+                        else if ( LA246_0 == 163 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 4) ) {s = 5;}
+
+                        else if ( LA246_0 == 164 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 5) ) {s = 6;}
+
+                        else if ( LA246_0 == 165 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 6) ) {s = 7;}
+
+                        else if ( LA246_0 == 166 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 7) ) {s = 8;}
+
+                        else if ( LA246_0 == 167 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 8) ) {s = 9;}
+
+                        else if ( LA246_0 == 168 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 9) ) {s = 10;}
+
+                        else if ( LA246_0 == 169 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 10) ) {s = 11;}
+
+                        else if ( LA246_0 == 170 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 11) ) {s = 12;}
+
+                        else if ( LA246_0 == 171 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 12) ) {s = 13;}
+
+                        else if ( LA246_0 == 172 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 13) ) {s = 14;}
+
+                        else if ( LA246_0 == 173 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 14) ) {s = 15;}
+
+                        else if ( LA246_0 == 174 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 15) ) {s = 16;}
+
+                        else if ( LA246_0 == 175 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 16) ) {s = 17;}
+
+                        else if ( LA246_0 == 176 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 17) ) {s = 18;}
+
+                        else if ( (LA246_0==EOF||LA246_0==132||LA246_0==140) ) {s = 19;}
+
+                         
+                        input.seek(index246_0);
+                        if ( s>=0 ) return s;
+                        break;
+            }
+            if (state.backtracking>0) {state.failed=true; return -1;}
+            NoViableAltException nvae =
+                new NoViableAltException(getDescription(), 246, _s, input);
+            error(nvae);
+            throw nvae;
+        }
+    }
+
+    class DFA247 extends DFA {
+
+        public DFA247(BaseRecognizer recognizer) {
+            this.recognizer = recognizer;
+            this.decisionNumber = 247;
+            this.eot = dfa_86;
+            this.eof = dfa_98;
+            this.min = dfa_87;
+            this.max = dfa_88;
+            this.accept = dfa_89;
+            this.special = dfa_90;
+            this.transition = dfa_91;
+        }
+        public String getDescription() {
+            return "35182:2: ( rule__Style__UnorderedGroup_4__5 )?";
+        }
+        public int specialStateTransition(int s, IntStream _input) throws NoViableAltException {
+            TokenStream input = (TokenStream)_input;
+        	int _s = s;
+            switch ( s ) {
+                    case 0 : 
+                        int LA247_0 = input.LA(1);
+
+                         
+                        int index247_0 = input.index();
+                        input.rewind();
+                        s = -1;
+                        if ( LA247_0 == 159 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 0) ) {s = 1;}
+
+                        else if ( LA247_0 == 155 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 1) ) {s = 2;}
+
+                        else if ( LA247_0 == 160 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 2) ) {s = 3;}
+
+                        else if ( LA247_0 == 162 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 3) ) {s = 4;}
+
+                        else if ( LA247_0 == 163 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 4) ) {s = 5;}
+
+                        else if ( LA247_0 == 164 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 5) ) {s = 6;}
+
+                        else if ( LA247_0 == 165 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 6) ) {s = 7;}
+
+                        else if ( LA247_0 == 166 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 7) ) {s = 8;}
+
+                        else if ( LA247_0 == 167 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 8) ) {s = 9;}
+
+                        else if ( LA247_0 == 168 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 9) ) {s = 10;}
+
+                        else if ( LA247_0 == 169 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 10) ) {s = 11;}
+
+                        else if ( LA247_0 == 170 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 11) ) {s = 12;}
+
+                        else if ( LA247_0 == 171 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 12) ) {s = 13;}
+
+                        else if ( LA247_0 == 172 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 13) ) {s = 14;}
+
+                        else if ( LA247_0 == 173 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 14) ) {s = 15;}
+
+                        else if ( LA247_0 == 174 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 15) ) {s = 16;}
+
+                        else if ( LA247_0 == 175 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 16) ) {s = 17;}
+
+                        else if ( LA247_0 == 176 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 17) ) {s = 18;}
+
+                        else if ( (LA247_0==EOF||LA247_0==132||LA247_0==140) ) {s = 19;}
+
+                         
+                        input.seek(index247_0);
+                        if ( s>=0 ) return s;
+                        break;
+            }
+            if (state.backtracking>0) {state.failed=true; return -1;}
+            NoViableAltException nvae =
+                new NoViableAltException(getDescription(), 247, _s, input);
+            error(nvae);
+            throw nvae;
+        }
+    }
+
+    class DFA248 extends DFA {
+
+        public DFA248(BaseRecognizer recognizer) {
+            this.recognizer = recognizer;
+            this.decisionNumber = 248;
+            this.eot = dfa_86;
+            this.eof = dfa_98;
+            this.min = dfa_87;
+            this.max = dfa_88;
+            this.accept = dfa_89;
+            this.special = dfa_90;
+            this.transition = dfa_91;
+        }
+        public String getDescription() {
+            return "35194:2: ( rule__Style__UnorderedGroup_4__6 )?";
+        }
+        public int specialStateTransition(int s, IntStream _input) throws NoViableAltException {
+            TokenStream input = (TokenStream)_input;
+        	int _s = s;
+            switch ( s ) {
+                    case 0 : 
+                        int LA248_0 = input.LA(1);
+
+                         
+                        int index248_0 = input.index();
+                        input.rewind();
+                        s = -1;
+                        if ( LA248_0 == 159 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 0) ) {s = 1;}
+
+                        else if ( LA248_0 == 155 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 1) ) {s = 2;}
+
+                        else if ( LA248_0 == 160 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 2) ) {s = 3;}
+
+                        else if ( LA248_0 == 162 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 3) ) {s = 4;}
+
+                        else if ( LA248_0 == 163 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 4) ) {s = 5;}
+
+                        else if ( LA248_0 == 164 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 5) ) {s = 6;}
+
+                        else if ( LA248_0 == 165 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 6) ) {s = 7;}
+
+                        else if ( LA248_0 == 166 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 7) ) {s = 8;}
+
+                        else if ( LA248_0 == 167 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 8) ) {s = 9;}
+
+                        else if ( LA248_0 == 168 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 9) ) {s = 10;}
+
+                        else if ( LA248_0 == 169 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 10) ) {s = 11;}
+
+                        else if ( LA248_0 == 170 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 11) ) {s = 12;}
+
+                        else if ( LA248_0 == 171 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 12) ) {s = 13;}
+
+                        else if ( LA248_0 == 172 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 13) ) {s = 14;}
+
+                        else if ( LA248_0 == 173 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 14) ) {s = 15;}
+
+                        else if ( LA248_0 == 174 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 15) ) {s = 16;}
+
+                        else if ( LA248_0 == 175 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 16) ) {s = 17;}
+
+                        else if ( LA248_0 == 176 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 17) ) {s = 18;}
+
+                        else if ( (LA248_0==EOF||LA248_0==132||LA248_0==140) ) {s = 19;}
+
+                         
+                        input.seek(index248_0);
+                        if ( s>=0 ) return s;
+                        break;
+            }
+            if (state.backtracking>0) {state.failed=true; return -1;}
+            NoViableAltException nvae =
+                new NoViableAltException(getDescription(), 248, _s, input);
+            error(nvae);
+            throw nvae;
+        }
+    }
+
+    class DFA249 extends DFA {
+
+        public DFA249(BaseRecognizer recognizer) {
+            this.recognizer = recognizer;
+            this.decisionNumber = 249;
+            this.eot = dfa_86;
+            this.eof = dfa_98;
+            this.min = dfa_87;
+            this.max = dfa_88;
+            this.accept = dfa_89;
+            this.special = dfa_90;
+            this.transition = dfa_91;
+        }
+        public String getDescription() {
+            return "35206:2: ( rule__Style__UnorderedGroup_4__7 )?";
+        }
+        public int specialStateTransition(int s, IntStream _input) throws NoViableAltException {
+            TokenStream input = (TokenStream)_input;
+        	int _s = s;
+            switch ( s ) {
+                    case 0 : 
+                        int LA249_0 = input.LA(1);
+
+                         
+                        int index249_0 = input.index();
+                        input.rewind();
+                        s = -1;
+                        if ( LA249_0 == 159 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 0) ) {s = 1;}
+
+                        else if ( LA249_0 == 155 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 1) ) {s = 2;}
+
+                        else if ( LA249_0 == 160 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 2) ) {s = 3;}
+
+                        else if ( LA249_0 == 162 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 3) ) {s = 4;}
+
+                        else if ( LA249_0 == 163 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 4) ) {s = 5;}
+
+                        else if ( LA249_0 == 164 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 5) ) {s = 6;}
+
+                        else if ( LA249_0 == 165 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 6) ) {s = 7;}
+
+                        else if ( LA249_0 == 166 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 7) ) {s = 8;}
+
+                        else if ( LA249_0 == 167 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 8) ) {s = 9;}
+
+                        else if ( LA249_0 == 168 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 9) ) {s = 10;}
+
+                        else if ( LA249_0 == 169 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 10) ) {s = 11;}
+
+                        else if ( LA249_0 == 170 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 11) ) {s = 12;}
+
+                        else if ( LA249_0 == 171 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 12) ) {s = 13;}
+
+                        else if ( LA249_0 == 172 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 13) ) {s = 14;}
+
+                        else if ( LA249_0 == 173 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 14) ) {s = 15;}
+
+                        else if ( LA249_0 == 174 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 15) ) {s = 16;}
+
+                        else if ( LA249_0 == 175 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 16) ) {s = 17;}
+
+                        else if ( LA249_0 == 176 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 17) ) {s = 18;}
+
+                        else if ( (LA249_0==EOF||LA249_0==132||LA249_0==140) ) {s = 19;}
+
+                         
+                        input.seek(index249_0);
+                        if ( s>=0 ) return s;
+                        break;
+            }
+            if (state.backtracking>0) {state.failed=true; return -1;}
+            NoViableAltException nvae =
+                new NoViableAltException(getDescription(), 249, _s, input);
+            error(nvae);
+            throw nvae;
+        }
+    }
+
+    class DFA250 extends DFA {
+
+        public DFA250(BaseRecognizer recognizer) {
+            this.recognizer = recognizer;
+            this.decisionNumber = 250;
+            this.eot = dfa_86;
+            this.eof = dfa_98;
+            this.min = dfa_87;
+            this.max = dfa_88;
+            this.accept = dfa_89;
+            this.special = dfa_90;
+            this.transition = dfa_91;
+        }
+        public String getDescription() {
+            return "35218:2: ( rule__Style__UnorderedGroup_4__8 )?";
+        }
+        public int specialStateTransition(int s, IntStream _input) throws NoViableAltException {
+            TokenStream input = (TokenStream)_input;
+        	int _s = s;
+            switch ( s ) {
+                    case 0 : 
+                        int LA250_0 = input.LA(1);
+
+                         
+                        int index250_0 = input.index();
+                        input.rewind();
+                        s = -1;
+                        if ( LA250_0 == 159 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 0) ) {s = 1;}
+
+                        else if ( LA250_0 == 155 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 1) ) {s = 2;}
+
+                        else if ( LA250_0 == 160 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 2) ) {s = 3;}
+
+                        else if ( LA250_0 == 162 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 3) ) {s = 4;}
+
+                        else if ( LA250_0 == 163 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 4) ) {s = 5;}
+
+                        else if ( LA250_0 == 164 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 5) ) {s = 6;}
+
+                        else if ( LA250_0 == 165 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 6) ) {s = 7;}
+
+                        else if ( LA250_0 == 166 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 7) ) {s = 8;}
+
+                        else if ( LA250_0 == 167 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 8) ) {s = 9;}
+
+                        else if ( LA250_0 == 168 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 9) ) {s = 10;}
+
+                        else if ( LA250_0 == 169 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 10) ) {s = 11;}
+
+                        else if ( LA250_0 == 170 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 11) ) {s = 12;}
+
+                        else if ( LA250_0 == 171 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 12) ) {s = 13;}
+
+                        else if ( LA250_0 == 172 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 13) ) {s = 14;}
+
+                        else if ( LA250_0 == 173 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 14) ) {s = 15;}
+
+                        else if ( LA250_0 == 174 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 15) ) {s = 16;}
+
+                        else if ( LA250_0 == 175 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 16) ) {s = 17;}
+
+                        else if ( LA250_0 == 176 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 17) ) {s = 18;}
+
+                        else if ( (LA250_0==EOF||LA250_0==132||LA250_0==140) ) {s = 19;}
+
+                         
+                        input.seek(index250_0);
+                        if ( s>=0 ) return s;
+                        break;
+            }
+            if (state.backtracking>0) {state.failed=true; return -1;}
+            NoViableAltException nvae =
+                new NoViableAltException(getDescription(), 250, _s, input);
+            error(nvae);
+            throw nvae;
+        }
+    }
+
+    class DFA251 extends DFA {
+
+        public DFA251(BaseRecognizer recognizer) {
+            this.recognizer = recognizer;
+            this.decisionNumber = 251;
+            this.eot = dfa_86;
+            this.eof = dfa_98;
+            this.min = dfa_87;
+            this.max = dfa_88;
+            this.accept = dfa_89;
+            this.special = dfa_90;
+            this.transition = dfa_91;
+        }
+        public String getDescription() {
+            return "35230:2: ( rule__Style__UnorderedGroup_4__9 )?";
+        }
+        public int specialStateTransition(int s, IntStream _input) throws NoViableAltException {
+            TokenStream input = (TokenStream)_input;
+        	int _s = s;
+            switch ( s ) {
+                    case 0 : 
+                        int LA251_0 = input.LA(1);
+
+                         
+                        int index251_0 = input.index();
+                        input.rewind();
+                        s = -1;
+                        if ( LA251_0 == 159 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 0) ) {s = 1;}
+
+                        else if ( LA251_0 == 155 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 1) ) {s = 2;}
+
+                        else if ( LA251_0 == 160 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 2) ) {s = 3;}
+
+                        else if ( LA251_0 == 162 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 3) ) {s = 4;}
+
+                        else if ( LA251_0 == 163 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 4) ) {s = 5;}
+
+                        else if ( LA251_0 == 164 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 5) ) {s = 6;}
+
+                        else if ( LA251_0 == 165 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 6) ) {s = 7;}
+
+                        else if ( LA251_0 == 166 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 7) ) {s = 8;}
+
+                        else if ( LA251_0 == 167 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 8) ) {s = 9;}
+
+                        else if ( LA251_0 == 168 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 9) ) {s = 10;}
+
+                        else if ( LA251_0 == 169 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 10) ) {s = 11;}
+
+                        else if ( LA251_0 == 170 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 11) ) {s = 12;}
+
+                        else if ( LA251_0 == 171 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 12) ) {s = 13;}
+
+                        else if ( LA251_0 == 172 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 13) ) {s = 14;}
+
+                        else if ( LA251_0 == 173 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 14) ) {s = 15;}
+
+                        else if ( LA251_0 == 174 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 15) ) {s = 16;}
+
+                        else if ( LA251_0 == 175 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 16) ) {s = 17;}
+
+                        else if ( LA251_0 == 176 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 17) ) {s = 18;}
+
+                        else if ( (LA251_0==EOF||LA251_0==132||LA251_0==140) ) {s = 19;}
+
+                         
+                        input.seek(index251_0);
+                        if ( s>=0 ) return s;
+                        break;
+            }
+            if (state.backtracking>0) {state.failed=true; return -1;}
+            NoViableAltException nvae =
+                new NoViableAltException(getDescription(), 251, _s, input);
+            error(nvae);
+            throw nvae;
+        }
+    }
+
+    class DFA252 extends DFA {
+
+        public DFA252(BaseRecognizer recognizer) {
+            this.recognizer = recognizer;
+            this.decisionNumber = 252;
+            this.eot = dfa_86;
+            this.eof = dfa_98;
+            this.min = dfa_87;
+            this.max = dfa_88;
+            this.accept = dfa_89;
+            this.special = dfa_90;
+            this.transition = dfa_91;
+        }
+        public String getDescription() {
+            return "35242:2: ( rule__Style__UnorderedGroup_4__10 )?";
+        }
+        public int specialStateTransition(int s, IntStream _input) throws NoViableAltException {
+            TokenStream input = (TokenStream)_input;
+        	int _s = s;
+            switch ( s ) {
+                    case 0 : 
+                        int LA252_0 = input.LA(1);
+
+                         
+                        int index252_0 = input.index();
+                        input.rewind();
+                        s = -1;
+                        if ( LA252_0 == 159 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 0) ) {s = 1;}
+
+                        else if ( LA252_0 == 155 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 1) ) {s = 2;}
+
+                        else if ( LA252_0 == 160 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 2) ) {s = 3;}
+
+                        else if ( LA252_0 == 162 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 3) ) {s = 4;}
+
+                        else if ( LA252_0 == 163 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 4) ) {s = 5;}
+
+                        else if ( LA252_0 == 164 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 5) ) {s = 6;}
+
+                        else if ( LA252_0 == 165 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 6) ) {s = 7;}
+
+                        else if ( LA252_0 == 166 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 7) ) {s = 8;}
+
+                        else if ( LA252_0 == 167 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 8) ) {s = 9;}
+
+                        else if ( LA252_0 == 168 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 9) ) {s = 10;}
+
+                        else if ( LA252_0 == 169 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 10) ) {s = 11;}
+
+                        else if ( LA252_0 == 170 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 11) ) {s = 12;}
+
+                        else if ( LA252_0 == 171 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 12) ) {s = 13;}
+
+                        else if ( LA252_0 == 172 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 13) ) {s = 14;}
+
+                        else if ( LA252_0 == 173 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 14) ) {s = 15;}
+
+                        else if ( LA252_0 == 174 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 15) ) {s = 16;}
+
+                        else if ( LA252_0 == 175 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 16) ) {s = 17;}
+
+                        else if ( LA252_0 == 176 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 17) ) {s = 18;}
+
+                        else if ( (LA252_0==EOF||LA252_0==132||LA252_0==140) ) {s = 19;}
+
+                         
+                        input.seek(index252_0);
+                        if ( s>=0 ) return s;
+                        break;
+            }
+            if (state.backtracking>0) {state.failed=true; return -1;}
+            NoViableAltException nvae =
+                new NoViableAltException(getDescription(), 252, _s, input);
+            error(nvae);
+            throw nvae;
+        }
+    }
+
+    class DFA253 extends DFA {
+
+        public DFA253(BaseRecognizer recognizer) {
+            this.recognizer = recognizer;
+            this.decisionNumber = 253;
+            this.eot = dfa_86;
+            this.eof = dfa_98;
+            this.min = dfa_87;
+            this.max = dfa_88;
+            this.accept = dfa_89;
+            this.special = dfa_90;
+            this.transition = dfa_91;
+        }
+        public String getDescription() {
+            return "35254:2: ( rule__Style__UnorderedGroup_4__11 )?";
+        }
+        public int specialStateTransition(int s, IntStream _input) throws NoViableAltException {
+            TokenStream input = (TokenStream)_input;
+        	int _s = s;
+            switch ( s ) {
+                    case 0 : 
+                        int LA253_0 = input.LA(1);
+
+                         
+                        int index253_0 = input.index();
+                        input.rewind();
+                        s = -1;
+                        if ( LA253_0 == 159 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 0) ) {s = 1;}
+
+                        else if ( LA253_0 == 155 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 1) ) {s = 2;}
+
+                        else if ( LA253_0 == 160 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 2) ) {s = 3;}
+
+                        else if ( LA253_0 == 162 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 3) ) {s = 4;}
+
+                        else if ( LA253_0 == 163 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 4) ) {s = 5;}
+
+                        else if ( LA253_0 == 164 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 5) ) {s = 6;}
+
+                        else if ( LA253_0 == 165 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 6) ) {s = 7;}
+
+                        else if ( LA253_0 == 166 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 7) ) {s = 8;}
+
+                        else if ( LA253_0 == 167 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 8) ) {s = 9;}
+
+                        else if ( LA253_0 == 168 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 9) ) {s = 10;}
+
+                        else if ( LA253_0 == 169 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 10) ) {s = 11;}
+
+                        else if ( LA253_0 == 170 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 11) ) {s = 12;}
+
+                        else if ( LA253_0 == 171 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 12) ) {s = 13;}
+
+                        else if ( LA253_0 == 172 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 13) ) {s = 14;}
+
+                        else if ( LA253_0 == 173 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 14) ) {s = 15;}
+
+                        else if ( LA253_0 == 174 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 15) ) {s = 16;}
+
+                        else if ( LA253_0 == 175 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 16) ) {s = 17;}
+
+                        else if ( LA253_0 == 176 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 17) ) {s = 18;}
+
+                        else if ( (LA253_0==EOF||LA253_0==132||LA253_0==140) ) {s = 19;}
+
+                         
+                        input.seek(index253_0);
+                        if ( s>=0 ) return s;
+                        break;
+            }
+            if (state.backtracking>0) {state.failed=true; return -1;}
+            NoViableAltException nvae =
+                new NoViableAltException(getDescription(), 253, _s, input);
+            error(nvae);
+            throw nvae;
+        }
+    }
+
+    class DFA254 extends DFA {
+
+        public DFA254(BaseRecognizer recognizer) {
+            this.recognizer = recognizer;
+            this.decisionNumber = 254;
+            this.eot = dfa_86;
+            this.eof = dfa_98;
+            this.min = dfa_87;
+            this.max = dfa_88;
+            this.accept = dfa_89;
+            this.special = dfa_90;
+            this.transition = dfa_91;
+        }
+        public String getDescription() {
+            return "35266:2: ( rule__Style__UnorderedGroup_4__12 )?";
+        }
+        public int specialStateTransition(int s, IntStream _input) throws NoViableAltException {
+            TokenStream input = (TokenStream)_input;
+        	int _s = s;
+            switch ( s ) {
+                    case 0 : 
+                        int LA254_0 = input.LA(1);
+
+                         
+                        int index254_0 = input.index();
+                        input.rewind();
+                        s = -1;
+                        if ( LA254_0 == 159 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 0) ) {s = 1;}
+
+                        else if ( LA254_0 == 155 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 1) ) {s = 2;}
+
+                        else if ( LA254_0 == 160 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 2) ) {s = 3;}
+
+                        else if ( LA254_0 == 162 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 3) ) {s = 4;}
+
+                        else if ( LA254_0 == 163 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 4) ) {s = 5;}
+
+                        else if ( LA254_0 == 164 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 5) ) {s = 6;}
+
+                        else if ( LA254_0 == 165 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 6) ) {s = 7;}
+
+                        else if ( LA254_0 == 166 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 7) ) {s = 8;}
+
+                        else if ( LA254_0 == 167 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 8) ) {s = 9;}
+
+                        else if ( LA254_0 == 168 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 9) ) {s = 10;}
+
+                        else if ( LA254_0 == 169 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 10) ) {s = 11;}
+
+                        else if ( LA254_0 == 170 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 11) ) {s = 12;}
+
+                        else if ( LA254_0 == 171 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 12) ) {s = 13;}
+
+                        else if ( LA254_0 == 172 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 13) ) {s = 14;}
+
+                        else if ( LA254_0 == 173 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 14) ) {s = 15;}
+
+                        else if ( LA254_0 == 174 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 15) ) {s = 16;}
+
+                        else if ( LA254_0 == 175 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 16) ) {s = 17;}
+
+                        else if ( LA254_0 == 176 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 17) ) {s = 18;}
+
+                        else if ( (LA254_0==EOF||LA254_0==132||LA254_0==140) ) {s = 19;}
+
+                         
+                        input.seek(index254_0);
+                        if ( s>=0 ) return s;
+                        break;
+            }
+            if (state.backtracking>0) {state.failed=true; return -1;}
+            NoViableAltException nvae =
+                new NoViableAltException(getDescription(), 254, _s, input);
+            error(nvae);
+            throw nvae;
+        }
+    }
+
+    class DFA255 extends DFA {
+
+        public DFA255(BaseRecognizer recognizer) {
+            this.recognizer = recognizer;
+            this.decisionNumber = 255;
+            this.eot = dfa_86;
+            this.eof = dfa_98;
+            this.min = dfa_87;
+            this.max = dfa_88;
+            this.accept = dfa_89;
+            this.special = dfa_90;
+            this.transition = dfa_91;
+        }
+        public String getDescription() {
+            return "35278:2: ( rule__Style__UnorderedGroup_4__13 )?";
+        }
+        public int specialStateTransition(int s, IntStream _input) throws NoViableAltException {
+            TokenStream input = (TokenStream)_input;
+        	int _s = s;
+            switch ( s ) {
+                    case 0 : 
+                        int LA255_0 = input.LA(1);
+
+                         
+                        int index255_0 = input.index();
+                        input.rewind();
+                        s = -1;
+                        if ( LA255_0 == 159 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 0) ) {s = 1;}
+
+                        else if ( LA255_0 == 155 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 1) ) {s = 2;}
+
+                        else if ( LA255_0 == 160 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 2) ) {s = 3;}
+
+                        else if ( LA255_0 == 162 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 3) ) {s = 4;}
+
+                        else if ( LA255_0 == 163 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 4) ) {s = 5;}
+
+                        else if ( LA255_0 == 164 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 5) ) {s = 6;}
+
+                        else if ( LA255_0 == 165 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 6) ) {s = 7;}
+
+                        else if ( LA255_0 == 166 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 7) ) {s = 8;}
+
+                        else if ( LA255_0 == 167 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 8) ) {s = 9;}
+
+                        else if ( LA255_0 == 168 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 9) ) {s = 10;}
+
+                        else if ( LA255_0 == 169 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 10) ) {s = 11;}
+
+                        else if ( LA255_0 == 170 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 11) ) {s = 12;}
+
+                        else if ( LA255_0 == 171 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 12) ) {s = 13;}
+
+                        else if ( LA255_0 == 172 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 13) ) {s = 14;}
+
+                        else if ( LA255_0 == 173 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 14) ) {s = 15;}
+
+                        else if ( LA255_0 == 174 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 15) ) {s = 16;}
+
+                        else if ( LA255_0 == 175 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 16) ) {s = 17;}
+
+                        else if ( LA255_0 == 176 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 17) ) {s = 18;}
+
+                        else if ( (LA255_0==EOF||LA255_0==132||LA255_0==140) ) {s = 19;}
+
+                         
+                        input.seek(index255_0);
+                        if ( s>=0 ) return s;
+                        break;
+            }
+            if (state.backtracking>0) {state.failed=true; return -1;}
+            NoViableAltException nvae =
+                new NoViableAltException(getDescription(), 255, _s, input);
+            error(nvae);
+            throw nvae;
+        }
+    }
+
+    class DFA256 extends DFA {
+
+        public DFA256(BaseRecognizer recognizer) {
+            this.recognizer = recognizer;
+            this.decisionNumber = 256;
+            this.eot = dfa_86;
+            this.eof = dfa_98;
+            this.min = dfa_87;
+            this.max = dfa_88;
+            this.accept = dfa_89;
+            this.special = dfa_90;
+            this.transition = dfa_91;
+        }
+        public String getDescription() {
+            return "35290:2: ( rule__Style__UnorderedGroup_4__14 )?";
+        }
+        public int specialStateTransition(int s, IntStream _input) throws NoViableAltException {
+            TokenStream input = (TokenStream)_input;
+        	int _s = s;
+            switch ( s ) {
+                    case 0 : 
+                        int LA256_0 = input.LA(1);
+
+                         
+                        int index256_0 = input.index();
+                        input.rewind();
+                        s = -1;
+                        if ( LA256_0 == 159 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 0) ) {s = 1;}
+
+                        else if ( LA256_0 == 155 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 1) ) {s = 2;}
+
+                        else if ( LA256_0 == 160 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 2) ) {s = 3;}
+
+                        else if ( LA256_0 == 162 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 3) ) {s = 4;}
+
+                        else if ( LA256_0 == 163 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 4) ) {s = 5;}
+
+                        else if ( LA256_0 == 164 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 5) ) {s = 6;}
+
+                        else if ( LA256_0 == 165 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 6) ) {s = 7;}
+
+                        else if ( LA256_0 == 166 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 7) ) {s = 8;}
+
+                        else if ( LA256_0 == 167 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 8) ) {s = 9;}
+
+                        else if ( LA256_0 == 168 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 9) ) {s = 10;}
+
+                        else if ( LA256_0 == 169 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 10) ) {s = 11;}
+
+                        else if ( LA256_0 == 170 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 11) ) {s = 12;}
+
+                        else if ( LA256_0 == 171 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 12) ) {s = 13;}
+
+                        else if ( LA256_0 == 172 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 13) ) {s = 14;}
+
+                        else if ( LA256_0 == 173 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 14) ) {s = 15;}
+
+                        else if ( LA256_0 == 174 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 15) ) {s = 16;}
+
+                        else if ( LA256_0 == 175 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 16) ) {s = 17;}
+
+                        else if ( LA256_0 == 176 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 17) ) {s = 18;}
+
+                        else if ( (LA256_0==EOF||LA256_0==132||LA256_0==140) ) {s = 19;}
+
+                         
+                        input.seek(index256_0);
+                        if ( s>=0 ) return s;
+                        break;
+            }
+            if (state.backtracking>0) {state.failed=true; return -1;}
+            NoViableAltException nvae =
+                new NoViableAltException(getDescription(), 256, _s, input);
+            error(nvae);
+            throw nvae;
+        }
+    }
+
+    class DFA257 extends DFA {
+
+        public DFA257(BaseRecognizer recognizer) {
+            this.recognizer = recognizer;
+            this.decisionNumber = 257;
+            this.eot = dfa_86;
+            this.eof = dfa_98;
+            this.min = dfa_87;
+            this.max = dfa_88;
+            this.accept = dfa_89;
+            this.special = dfa_90;
+            this.transition = dfa_91;
+        }
+        public String getDescription() {
+            return "35302:2: ( rule__Style__UnorderedGroup_4__15 )?";
+        }
+        public int specialStateTransition(int s, IntStream _input) throws NoViableAltException {
+            TokenStream input = (TokenStream)_input;
+        	int _s = s;
+            switch ( s ) {
+                    case 0 : 
+                        int LA257_0 = input.LA(1);
+
+                         
+                        int index257_0 = input.index();
+                        input.rewind();
+                        s = -1;
+                        if ( LA257_0 == 159 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 0) ) {s = 1;}
+
+                        else if ( LA257_0 == 155 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 1) ) {s = 2;}
+
+                        else if ( LA257_0 == 160 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 2) ) {s = 3;}
+
+                        else if ( LA257_0 == 162 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 3) ) {s = 4;}
+
+                        else if ( LA257_0 == 163 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 4) ) {s = 5;}
+
+                        else if ( LA257_0 == 164 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 5) ) {s = 6;}
+
+                        else if ( LA257_0 == 165 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 6) ) {s = 7;}
+
+                        else if ( LA257_0 == 166 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 7) ) {s = 8;}
+
+                        else if ( LA257_0 == 167 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 8) ) {s = 9;}
+
+                        else if ( LA257_0 == 168 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 9) ) {s = 10;}
+
+                        else if ( LA257_0 == 169 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 10) ) {s = 11;}
+
+                        else if ( LA257_0 == 170 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 11) ) {s = 12;}
+
+                        else if ( LA257_0 == 171 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 12) ) {s = 13;}
+
+                        else if ( LA257_0 == 172 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 13) ) {s = 14;}
+
+                        else if ( LA257_0 == 173 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 14) ) {s = 15;}
+
+                        else if ( LA257_0 == 174 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 15) ) {s = 16;}
+
+                        else if ( LA257_0 == 175 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 16) ) {s = 17;}
+
+                        else if ( LA257_0 == 176 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 17) ) {s = 18;}
+
+                        else if ( (LA257_0==EOF||LA257_0==132||LA257_0==140) ) {s = 19;}
+
+                         
+                        input.seek(index257_0);
+                        if ( s>=0 ) return s;
+                        break;
+            }
+            if (state.backtracking>0) {state.failed=true; return -1;}
+            NoViableAltException nvae =
+                new NoViableAltException(getDescription(), 257, _s, input);
+            error(nvae);
+            throw nvae;
+        }
+    }
+
+    class DFA258 extends DFA {
+
+        public DFA258(BaseRecognizer recognizer) {
+            this.recognizer = recognizer;
+            this.decisionNumber = 258;
+            this.eot = dfa_86;
+            this.eof = dfa_98;
+            this.min = dfa_87;
+            this.max = dfa_88;
+            this.accept = dfa_89;
+            this.special = dfa_90;
+            this.transition = dfa_91;
+        }
+        public String getDescription() {
+            return "35314:2: ( rule__Style__UnorderedGroup_4__16 )?";
+        }
+        public int specialStateTransition(int s, IntStream _input) throws NoViableAltException {
+            TokenStream input = (TokenStream)_input;
+        	int _s = s;
+            switch ( s ) {
+                    case 0 : 
+                        int LA258_0 = input.LA(1);
+
+                         
+                        int index258_0 = input.index();
+                        input.rewind();
+                        s = -1;
+                        if ( LA258_0 == 159 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 0) ) {s = 1;}
+
+                        else if ( LA258_0 == 155 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 1) ) {s = 2;}
+
+                        else if ( LA258_0 == 160 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 2) ) {s = 3;}
+
+                        else if ( LA258_0 == 162 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 3) ) {s = 4;}
+
+                        else if ( LA258_0 == 163 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 4) ) {s = 5;}
+
+                        else if ( LA258_0 == 164 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 5) ) {s = 6;}
+
+                        else if ( LA258_0 == 165 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 6) ) {s = 7;}
+
+                        else if ( LA258_0 == 166 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 7) ) {s = 8;}
+
+                        else if ( LA258_0 == 167 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 8) ) {s = 9;}
+
+                        else if ( LA258_0 == 168 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 9) ) {s = 10;}
+
+                        else if ( LA258_0 == 169 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 10) ) {s = 11;}
+
+                        else if ( LA258_0 == 170 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 11) ) {s = 12;}
+
+                        else if ( LA258_0 == 171 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 12) ) {s = 13;}
+
+                        else if ( LA258_0 == 172 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 13) ) {s = 14;}
+
+                        else if ( LA258_0 == 173 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 14) ) {s = 15;}
+
+                        else if ( LA258_0 == 174 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 15) ) {s = 16;}
+
+                        else if ( LA258_0 == 175 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 16) ) {s = 17;}
+
+                        else if ( LA258_0 == 176 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 17) ) {s = 18;}
+
+                        else if ( (LA258_0==EOF||LA258_0==132||LA258_0==140) ) {s = 19;}
+
+                         
+                        input.seek(index258_0);
+                        if ( s>=0 ) return s;
+                        break;
+            }
+            if (state.backtracking>0) {state.failed=true; return -1;}
+            NoViableAltException nvae =
+                new NoViableAltException(getDescription(), 258, _s, input);
+            error(nvae);
+            throw nvae;
+        }
+    }
+
+    class DFA259 extends DFA {
+
+        public DFA259(BaseRecognizer recognizer) {
+            this.recognizer = recognizer;
+            this.decisionNumber = 259;
+            this.eot = dfa_86;
+            this.eof = dfa_98;
+            this.min = dfa_87;
+            this.max = dfa_88;
+            this.accept = dfa_89;
+            this.special = dfa_90;
+            this.transition = dfa_91;
+        }
+        public String getDescription() {
+            return "35326:2: ( rule__Style__UnorderedGroup_4__17 )?";
+        }
+        public int specialStateTransition(int s, IntStream _input) throws NoViableAltException {
+            TokenStream input = (TokenStream)_input;
+        	int _s = s;
+            switch ( s ) {
+                    case 0 : 
+                        int LA259_0 = input.LA(1);
+
+                         
+                        int index259_0 = input.index();
+                        input.rewind();
+                        s = -1;
+                        if ( LA259_0 == 159 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 0) ) {s = 1;}
+
+                        else if ( LA259_0 == 155 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 1) ) {s = 2;}
+
+                        else if ( LA259_0 == 160 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 2) ) {s = 3;}
+
+                        else if ( LA259_0 == 162 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 3) ) {s = 4;}
+
+                        else if ( LA259_0 == 163 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 4) ) {s = 5;}
+
+                        else if ( LA259_0 == 164 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 5) ) {s = 6;}
+
+                        else if ( LA259_0 == 165 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 6) ) {s = 7;}
+
+                        else if ( LA259_0 == 166 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 7) ) {s = 8;}
+
+                        else if ( LA259_0 == 167 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 8) ) {s = 9;}
+
+                        else if ( LA259_0 == 168 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 9) ) {s = 10;}
+
+                        else if ( LA259_0 == 169 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 10) ) {s = 11;}
+
+                        else if ( LA259_0 == 170 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 11) ) {s = 12;}
+
+                        else if ( LA259_0 == 171 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 12) ) {s = 13;}
+
+                        else if ( LA259_0 == 172 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 13) ) {s = 14;}
+
+                        else if ( LA259_0 == 173 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 14) ) {s = 15;}
+
+                        else if ( LA259_0 == 174 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 15) ) {s = 16;}
+
+                        else if ( LA259_0 == 175 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 16) ) {s = 17;}
+
+                        else if ( LA259_0 == 176 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 17) ) {s = 18;}
+
+                        else if ( (LA259_0==EOF||LA259_0==132||LA259_0==140) ) {s = 19;}
+
+                         
+                        input.seek(index259_0);
+                        if ( s>=0 ) return s;
+                        break;
+            }
+            if (state.backtracking>0) {state.failed=true; return -1;}
+            NoViableAltException nvae =
+                new NoViableAltException(getDescription(), 259, _s, input);
+            error(nvae);
+            throw nvae;
+        }
+    }
+    static final String[] dfa_99s = {
+            "\1\23\26\uffff\1\2\3\uffff\1\1\1\3\1\uffff\1\4\1\5\1\6\1\7\1\10\1\11\1\12\1\13\1\14\1\15\1\16\1\17\1\20\1\21\1\22",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            ""
+    };
+    static final short[][] dfa_99 = unpackEncodedStringArray(dfa_99s);
+
+    class DFA260 extends DFA {
+
+        public DFA260(BaseRecognizer recognizer) {
+            this.recognizer = recognizer;
+            this.decisionNumber = 260;
+            this.eot = dfa_86;
+            this.eof = dfa_86;
+            this.min = dfa_87;
+            this.max = dfa_88;
+            this.accept = dfa_89;
+            this.special = dfa_90;
+            this.transition = dfa_99;
+        }
+        public String getDescription() {
+            return "35350:2: ( rule__MediaStyle__UnorderedGroup_3__0 )?";
         }
         public int specialStateTransition(int s, IntStream _input) throws NoViableAltException {
             TokenStream input = (TokenStream)_input;
@@ -146043,39 +150554,43 @@
                         int index260_0 = input.index();
                         input.rewind();
                         s = -1;
-                        if ( LA260_0 == 153 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 0) ) {s = 1;}
+                        if ( LA260_0 == 159 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 0) ) {s = 1;}
 
-                        else if ( LA260_0 == 149 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 1) ) {s = 2;}
+                        else if ( LA260_0 == 155 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 1) ) {s = 2;}
 
-                        else if ( LA260_0 == 154 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 2) ) {s = 3;}
+                        else if ( LA260_0 == 160 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 2) ) {s = 3;}
 
-                        else if ( LA260_0 == 156 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 3) ) {s = 4;}
+                        else if ( LA260_0 == 162 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 3) ) {s = 4;}
 
-                        else if ( LA260_0 == 157 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 4) ) {s = 5;}
+                        else if ( LA260_0 == 163 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 4) ) {s = 5;}
 
-                        else if ( LA260_0 == 158 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 5) ) {s = 6;}
+                        else if ( LA260_0 == 164 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 5) ) {s = 6;}
 
-                        else if ( LA260_0 == 159 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 6) ) {s = 7;}
+                        else if ( LA260_0 == 165 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 6) ) {s = 7;}
 
-                        else if ( LA260_0 == 160 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 7) ) {s = 8;}
+                        else if ( LA260_0 == 166 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 7) ) {s = 8;}
 
-                        else if ( LA260_0 == 161 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 8) ) {s = 9;}
+                        else if ( LA260_0 == 167 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 8) ) {s = 9;}
 
-                        else if ( LA260_0 == 162 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 9) ) {s = 10;}
+                        else if ( LA260_0 == 168 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 9) ) {s = 10;}
 
-                        else if ( LA260_0 == 163 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 10) ) {s = 11;}
+                        else if ( LA260_0 == 169 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 10) ) {s = 11;}
 
-                        else if ( LA260_0 == 164 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 11) ) {s = 12;}
+                        else if ( LA260_0 == 170 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 11) ) {s = 12;}
 
-                        else if ( LA260_0 == 165 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 12) ) {s = 13;}
+                        else if ( LA260_0 == 171 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 12) ) {s = 13;}
 
-                        else if ( LA260_0 == 166 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 13) ) {s = 14;}
+                        else if ( LA260_0 == 172 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 13) ) {s = 14;}
 
-                        else if ( LA260_0 == 167 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 14) ) {s = 15;}
+                        else if ( LA260_0 == 173 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 14) ) {s = 15;}
 
-                        else if ( LA260_0 == 168 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 15) ) {s = 16;}
+                        else if ( LA260_0 == 174 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 15) ) {s = 16;}
 
-                        else if ( LA260_0 == 169 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 16) ) {s = 17;}
+                        else if ( LA260_0 == 175 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 16) ) {s = 17;}
+
+                        else if ( LA260_0 == 176 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 17) ) {s = 18;}
+
+                        else if ( (LA260_0==132) ) {s = 19;}
 
                          
                         input.seek(index260_0);
@@ -146089,24 +150604,22 @@
             throw nvae;
         }
     }
-    static final String dfa_98s = "\1\22\22\uffff";
-    static final short[] dfa_98 = DFA.unpackEncodedString(dfa_98s);
 
     class DFA261 extends DFA {
 
         public DFA261(BaseRecognizer recognizer) {
             this.recognizer = recognizer;
             this.decisionNumber = 261;
-            this.eot = dfa_86;
-            this.eof = dfa_98;
-            this.min = dfa_87;
-            this.max = dfa_88;
-            this.accept = dfa_89;
-            this.special = dfa_90;
-            this.transition = dfa_91;
+            this.eot = dfa_92;
+            this.eof = dfa_92;
+            this.min = dfa_93;
+            this.max = dfa_94;
+            this.accept = dfa_95;
+            this.special = dfa_96;
+            this.transition = dfa_97;
         }
         public String getDescription() {
-            return "35409:2: ( rule__Style__UnorderedGroup_4__1 )?";
+            return "35364:3: ( ({...}? => ( ( ( rule__MediaStyle__Group_3_0__0 ) ) ) ) | ({...}? => ( ( ( rule__MediaStyle__Group_3_1__0 ) ) ) ) | ({...}? => ( ( ( rule__MediaStyle__Group_3_2__0 ) ) ) ) | ({...}? => ( ( ( rule__MediaStyle__Group_3_3__0 ) ) ) ) | ({...}? => ( ( ( rule__MediaStyle__Group_3_4__0 ) ) ) ) | ({...}? => ( ( ( rule__MediaStyle__Group_3_5__0 ) ) ) ) | ({...}? => ( ( ( rule__MediaStyle__Group_3_6__0 ) ) ) ) | ({...}? => ( ( ( rule__MediaStyle__Group_3_7__0 ) ) ) ) | ({...}? => ( ( ( rule__MediaStyle__Group_3_8__0 ) ) ) ) | ({...}? => ( ( ( rule__MediaStyle__Group_3_9__0 ) ) ) ) | ({...}? => ( ( ( rule__MediaStyle__Group_3_10__0 ) ) ) ) | ({...}? => ( ( ( rule__MediaStyle__Group_3_11__0 ) ) ) ) | ({...}? => ( ( ( rule__MediaStyle__Group_3_12__0 ) ) ) ) | ({...}? => ( ( ( rule__MediaStyle__Group_3_13__0 ) ) ) ) | ({...}? => ( ( ( rule__MediaStyle__Group_3_14__0 ) ) ) ) | ({...}? => ( ( ( rule__MediaStyle__Group_3_15__0 ) ) ) ) | ({...}? => ( ( ( rule__MediaStyle__Group_3_16__0 ) ) ) ) | ({...}? => ( ( ( rule__MediaStyle__Group_3_17__0 ) ) ) ) )";
         }
         public int specialStateTransition(int s, IntStream _input) throws NoViableAltException {
             TokenStream input = (TokenStream)_input;
@@ -146119,41 +150632,41 @@
                         int index261_0 = input.index();
                         input.rewind();
                         s = -1;
-                        if ( LA261_0 == 153 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 0) ) {s = 1;}
+                        if ( LA261_0 == 159 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 0) ) {s = 1;}
 
-                        else if ( LA261_0 == 149 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 1) ) {s = 2;}
+                        else if ( LA261_0 == 155 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 1) ) {s = 2;}
 
-                        else if ( LA261_0 == 154 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 2) ) {s = 3;}
+                        else if ( LA261_0 == 160 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 2) ) {s = 3;}
 
-                        else if ( LA261_0 == 156 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 3) ) {s = 4;}
+                        else if ( LA261_0 == 162 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 3) ) {s = 4;}
 
-                        else if ( LA261_0 == 157 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 4) ) {s = 5;}
+                        else if ( LA261_0 == 163 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 4) ) {s = 5;}
 
-                        else if ( LA261_0 == 158 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 5) ) {s = 6;}
+                        else if ( LA261_0 == 164 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 5) ) {s = 6;}
 
-                        else if ( LA261_0 == 159 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 6) ) {s = 7;}
+                        else if ( LA261_0 == 165 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 6) ) {s = 7;}
 
-                        else if ( LA261_0 == 160 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 7) ) {s = 8;}
+                        else if ( LA261_0 == 166 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 7) ) {s = 8;}
 
-                        else if ( LA261_0 == 161 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 8) ) {s = 9;}
+                        else if ( LA261_0 == 167 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 8) ) {s = 9;}
 
-                        else if ( LA261_0 == 162 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 9) ) {s = 10;}
+                        else if ( LA261_0 == 168 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 9) ) {s = 10;}
 
-                        else if ( LA261_0 == 163 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 10) ) {s = 11;}
+                        else if ( LA261_0 == 169 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 10) ) {s = 11;}
 
-                        else if ( LA261_0 == 164 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 11) ) {s = 12;}
+                        else if ( LA261_0 == 170 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 11) ) {s = 12;}
 
-                        else if ( LA261_0 == 165 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 12) ) {s = 13;}
+                        else if ( LA261_0 == 171 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 12) ) {s = 13;}
 
-                        else if ( LA261_0 == 166 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 13) ) {s = 14;}
+                        else if ( LA261_0 == 172 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 13) ) {s = 14;}
 
-                        else if ( LA261_0 == 167 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 14) ) {s = 15;}
+                        else if ( LA261_0 == 173 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 14) ) {s = 15;}
 
-                        else if ( LA261_0 == 168 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 15) ) {s = 16;}
+                        else if ( LA261_0 == 174 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 15) ) {s = 16;}
 
-                        else if ( LA261_0 == 169 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 16) ) {s = 17;}
+                        else if ( LA261_0 == 175 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 16) ) {s = 17;}
 
-                        else if ( (LA261_0==EOF||LA261_0==126||LA261_0==134) ) {s = 18;}
+                        else if ( LA261_0 == 176 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 17) ) {s = 18;}
 
                          
                         input.seek(index261_0);
@@ -146179,10 +150692,10 @@
             this.max = dfa_88;
             this.accept = dfa_89;
             this.special = dfa_90;
-            this.transition = dfa_91;
+            this.transition = dfa_99;
         }
         public String getDescription() {
-            return "35421:2: ( rule__Style__UnorderedGroup_4__2 )?";
+            return "35649:2: ( rule__MediaStyle__UnorderedGroup_3__1 )?";
         }
         public int specialStateTransition(int s, IntStream _input) throws NoViableAltException {
             TokenStream input = (TokenStream)_input;
@@ -146195,41 +150708,43 @@
                         int index262_0 = input.index();
                         input.rewind();
                         s = -1;
-                        if ( LA262_0 == 153 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 0) ) {s = 1;}
+                        if ( LA262_0 == 159 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 0) ) {s = 1;}
 
-                        else if ( LA262_0 == 149 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 1) ) {s = 2;}
+                        else if ( LA262_0 == 155 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 1) ) {s = 2;}
 
-                        else if ( LA262_0 == 154 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 2) ) {s = 3;}
+                        else if ( LA262_0 == 160 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 2) ) {s = 3;}
 
-                        else if ( LA262_0 == 156 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 3) ) {s = 4;}
+                        else if ( LA262_0 == 162 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 3) ) {s = 4;}
 
-                        else if ( LA262_0 == 157 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 4) ) {s = 5;}
+                        else if ( LA262_0 == 163 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 4) ) {s = 5;}
 
-                        else if ( LA262_0 == 158 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 5) ) {s = 6;}
+                        else if ( LA262_0 == 164 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 5) ) {s = 6;}
 
-                        else if ( LA262_0 == 159 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 6) ) {s = 7;}
+                        else if ( LA262_0 == 165 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 6) ) {s = 7;}
 
-                        else if ( LA262_0 == 160 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 7) ) {s = 8;}
+                        else if ( LA262_0 == 166 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 7) ) {s = 8;}
 
-                        else if ( LA262_0 == 161 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 8) ) {s = 9;}
+                        else if ( LA262_0 == 167 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 8) ) {s = 9;}
 
-                        else if ( LA262_0 == 162 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 9) ) {s = 10;}
+                        else if ( LA262_0 == 168 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 9) ) {s = 10;}
 
-                        else if ( LA262_0 == 163 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 10) ) {s = 11;}
+                        else if ( LA262_0 == 169 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 10) ) {s = 11;}
 
-                        else if ( LA262_0 == 164 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 11) ) {s = 12;}
+                        else if ( LA262_0 == 170 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 11) ) {s = 12;}
 
-                        else if ( LA262_0 == 165 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 12) ) {s = 13;}
+                        else if ( LA262_0 == 171 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 12) ) {s = 13;}
 
-                        else if ( LA262_0 == 166 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 13) ) {s = 14;}
+                        else if ( LA262_0 == 172 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 13) ) {s = 14;}
 
-                        else if ( LA262_0 == 167 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 14) ) {s = 15;}
+                        else if ( LA262_0 == 173 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 14) ) {s = 15;}
 
-                        else if ( LA262_0 == 168 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 15) ) {s = 16;}
+                        else if ( LA262_0 == 174 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 15) ) {s = 16;}
 
-                        else if ( LA262_0 == 169 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 16) ) {s = 17;}
+                        else if ( LA262_0 == 175 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 16) ) {s = 17;}
 
-                        else if ( (LA262_0==EOF||LA262_0==126||LA262_0==134) ) {s = 18;}
+                        else if ( LA262_0 == 176 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 17) ) {s = 18;}
+
+                        else if ( (LA262_0==EOF||LA262_0==132) ) {s = 19;}
 
                          
                         input.seek(index262_0);
@@ -146255,10 +150770,10 @@
             this.max = dfa_88;
             this.accept = dfa_89;
             this.special = dfa_90;
-            this.transition = dfa_91;
+            this.transition = dfa_99;
         }
         public String getDescription() {
-            return "35433:2: ( rule__Style__UnorderedGroup_4__3 )?";
+            return "35661:2: ( rule__MediaStyle__UnorderedGroup_3__2 )?";
         }
         public int specialStateTransition(int s, IntStream _input) throws NoViableAltException {
             TokenStream input = (TokenStream)_input;
@@ -146271,41 +150786,43 @@
                         int index263_0 = input.index();
                         input.rewind();
                         s = -1;
-                        if ( LA263_0 == 153 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 0) ) {s = 1;}
+                        if ( LA263_0 == 159 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 0) ) {s = 1;}
 
-                        else if ( LA263_0 == 149 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 1) ) {s = 2;}
+                        else if ( LA263_0 == 155 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 1) ) {s = 2;}
 
-                        else if ( LA263_0 == 154 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 2) ) {s = 3;}
+                        else if ( LA263_0 == 160 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 2) ) {s = 3;}
 
-                        else if ( LA263_0 == 156 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 3) ) {s = 4;}
+                        else if ( LA263_0 == 162 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 3) ) {s = 4;}
 
-                        else if ( LA263_0 == 157 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 4) ) {s = 5;}
+                        else if ( LA263_0 == 163 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 4) ) {s = 5;}
 
-                        else if ( LA263_0 == 158 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 5) ) {s = 6;}
+                        else if ( LA263_0 == 164 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 5) ) {s = 6;}
 
-                        else if ( LA263_0 == 159 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 6) ) {s = 7;}
+                        else if ( LA263_0 == 165 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 6) ) {s = 7;}
 
-                        else if ( LA263_0 == 160 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 7) ) {s = 8;}
+                        else if ( LA263_0 == 166 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 7) ) {s = 8;}
 
-                        else if ( LA263_0 == 161 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 8) ) {s = 9;}
+                        else if ( LA263_0 == 167 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 8) ) {s = 9;}
 
-                        else if ( LA263_0 == 162 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 9) ) {s = 10;}
+                        else if ( LA263_0 == 168 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 9) ) {s = 10;}
 
-                        else if ( LA263_0 == 163 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 10) ) {s = 11;}
+                        else if ( LA263_0 == 169 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 10) ) {s = 11;}
 
-                        else if ( LA263_0 == 164 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 11) ) {s = 12;}
+                        else if ( LA263_0 == 170 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 11) ) {s = 12;}
 
-                        else if ( LA263_0 == 165 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 12) ) {s = 13;}
+                        else if ( LA263_0 == 171 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 12) ) {s = 13;}
 
-                        else if ( LA263_0 == 166 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 13) ) {s = 14;}
+                        else if ( LA263_0 == 172 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 13) ) {s = 14;}
 
-                        else if ( LA263_0 == 167 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 14) ) {s = 15;}
+                        else if ( LA263_0 == 173 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 14) ) {s = 15;}
 
-                        else if ( LA263_0 == 168 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 15) ) {s = 16;}
+                        else if ( LA263_0 == 174 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 15) ) {s = 16;}
 
-                        else if ( LA263_0 == 169 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 16) ) {s = 17;}
+                        else if ( LA263_0 == 175 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 16) ) {s = 17;}
 
-                        else if ( (LA263_0==EOF||LA263_0==126||LA263_0==134) ) {s = 18;}
+                        else if ( LA263_0 == 176 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 17) ) {s = 18;}
+
+                        else if ( (LA263_0==EOF||LA263_0==132) ) {s = 19;}
 
                          
                         input.seek(index263_0);
@@ -146331,10 +150848,10 @@
             this.max = dfa_88;
             this.accept = dfa_89;
             this.special = dfa_90;
-            this.transition = dfa_91;
+            this.transition = dfa_99;
         }
         public String getDescription() {
-            return "35445:2: ( rule__Style__UnorderedGroup_4__4 )?";
+            return "35673:2: ( rule__MediaStyle__UnorderedGroup_3__3 )?";
         }
         public int specialStateTransition(int s, IntStream _input) throws NoViableAltException {
             TokenStream input = (TokenStream)_input;
@@ -146347,41 +150864,43 @@
                         int index264_0 = input.index();
                         input.rewind();
                         s = -1;
-                        if ( LA264_0 == 153 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 0) ) {s = 1;}
+                        if ( LA264_0 == 159 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 0) ) {s = 1;}
 
-                        else if ( LA264_0 == 149 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 1) ) {s = 2;}
+                        else if ( LA264_0 == 155 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 1) ) {s = 2;}
 
-                        else if ( LA264_0 == 154 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 2) ) {s = 3;}
+                        else if ( LA264_0 == 160 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 2) ) {s = 3;}
 
-                        else if ( LA264_0 == 156 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 3) ) {s = 4;}
+                        else if ( LA264_0 == 162 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 3) ) {s = 4;}
 
-                        else if ( LA264_0 == 157 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 4) ) {s = 5;}
+                        else if ( LA264_0 == 163 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 4) ) {s = 5;}
 
-                        else if ( LA264_0 == 158 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 5) ) {s = 6;}
+                        else if ( LA264_0 == 164 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 5) ) {s = 6;}
 
-                        else if ( LA264_0 == 159 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 6) ) {s = 7;}
+                        else if ( LA264_0 == 165 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 6) ) {s = 7;}
 
-                        else if ( LA264_0 == 160 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 7) ) {s = 8;}
+                        else if ( LA264_0 == 166 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 7) ) {s = 8;}
 
-                        else if ( LA264_0 == 161 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 8) ) {s = 9;}
+                        else if ( LA264_0 == 167 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 8) ) {s = 9;}
 
-                        else if ( LA264_0 == 162 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 9) ) {s = 10;}
+                        else if ( LA264_0 == 168 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 9) ) {s = 10;}
 
-                        else if ( LA264_0 == 163 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 10) ) {s = 11;}
+                        else if ( LA264_0 == 169 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 10) ) {s = 11;}
 
-                        else if ( LA264_0 == 164 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 11) ) {s = 12;}
+                        else if ( LA264_0 == 170 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 11) ) {s = 12;}
 
-                        else if ( LA264_0 == 165 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 12) ) {s = 13;}
+                        else if ( LA264_0 == 171 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 12) ) {s = 13;}
 
-                        else if ( LA264_0 == 166 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 13) ) {s = 14;}
+                        else if ( LA264_0 == 172 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 13) ) {s = 14;}
 
-                        else if ( LA264_0 == 167 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 14) ) {s = 15;}
+                        else if ( LA264_0 == 173 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 14) ) {s = 15;}
 
-                        else if ( LA264_0 == 168 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 15) ) {s = 16;}
+                        else if ( LA264_0 == 174 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 15) ) {s = 16;}
 
-                        else if ( LA264_0 == 169 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 16) ) {s = 17;}
+                        else if ( LA264_0 == 175 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 16) ) {s = 17;}
 
-                        else if ( (LA264_0==EOF||LA264_0==126||LA264_0==134) ) {s = 18;}
+                        else if ( LA264_0 == 176 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 17) ) {s = 18;}
+
+                        else if ( (LA264_0==EOF||LA264_0==132) ) {s = 19;}
 
                          
                         input.seek(index264_0);
@@ -146407,10 +150926,10 @@
             this.max = dfa_88;
             this.accept = dfa_89;
             this.special = dfa_90;
-            this.transition = dfa_91;
+            this.transition = dfa_99;
         }
         public String getDescription() {
-            return "35457:2: ( rule__Style__UnorderedGroup_4__5 )?";
+            return "35685:2: ( rule__MediaStyle__UnorderedGroup_3__4 )?";
         }
         public int specialStateTransition(int s, IntStream _input) throws NoViableAltException {
             TokenStream input = (TokenStream)_input;
@@ -146423,41 +150942,43 @@
                         int index265_0 = input.index();
                         input.rewind();
                         s = -1;
-                        if ( LA265_0 == 153 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 0) ) {s = 1;}
+                        if ( LA265_0 == 159 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 0) ) {s = 1;}
 
-                        else if ( LA265_0 == 149 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 1) ) {s = 2;}
+                        else if ( LA265_0 == 155 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 1) ) {s = 2;}
 
-                        else if ( LA265_0 == 154 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 2) ) {s = 3;}
+                        else if ( LA265_0 == 160 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 2) ) {s = 3;}
 
-                        else if ( LA265_0 == 156 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 3) ) {s = 4;}
+                        else if ( LA265_0 == 162 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 3) ) {s = 4;}
 
-                        else if ( LA265_0 == 157 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 4) ) {s = 5;}
+                        else if ( LA265_0 == 163 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 4) ) {s = 5;}
 
-                        else if ( LA265_0 == 158 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 5) ) {s = 6;}
+                        else if ( LA265_0 == 164 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 5) ) {s = 6;}
 
-                        else if ( LA265_0 == 159 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 6) ) {s = 7;}
+                        else if ( LA265_0 == 165 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 6) ) {s = 7;}
 
-                        else if ( LA265_0 == 160 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 7) ) {s = 8;}
+                        else if ( LA265_0 == 166 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 7) ) {s = 8;}
 
-                        else if ( LA265_0 == 161 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 8) ) {s = 9;}
+                        else if ( LA265_0 == 167 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 8) ) {s = 9;}
 
-                        else if ( LA265_0 == 162 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 9) ) {s = 10;}
+                        else if ( LA265_0 == 168 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 9) ) {s = 10;}
 
-                        else if ( LA265_0 == 163 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 10) ) {s = 11;}
+                        else if ( LA265_0 == 169 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 10) ) {s = 11;}
 
-                        else if ( LA265_0 == 164 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 11) ) {s = 12;}
+                        else if ( LA265_0 == 170 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 11) ) {s = 12;}
 
-                        else if ( LA265_0 == 165 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 12) ) {s = 13;}
+                        else if ( LA265_0 == 171 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 12) ) {s = 13;}
 
-                        else if ( LA265_0 == 166 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 13) ) {s = 14;}
+                        else if ( LA265_0 == 172 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 13) ) {s = 14;}
 
-                        else if ( LA265_0 == 167 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 14) ) {s = 15;}
+                        else if ( LA265_0 == 173 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 14) ) {s = 15;}
 
-                        else if ( LA265_0 == 168 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 15) ) {s = 16;}
+                        else if ( LA265_0 == 174 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 15) ) {s = 16;}
 
-                        else if ( LA265_0 == 169 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 16) ) {s = 17;}
+                        else if ( LA265_0 == 175 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 16) ) {s = 17;}
 
-                        else if ( (LA265_0==EOF||LA265_0==126||LA265_0==134) ) {s = 18;}
+                        else if ( LA265_0 == 176 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 17) ) {s = 18;}
+
+                        else if ( (LA265_0==EOF||LA265_0==132) ) {s = 19;}
 
                          
                         input.seek(index265_0);
@@ -146483,10 +151004,10 @@
             this.max = dfa_88;
             this.accept = dfa_89;
             this.special = dfa_90;
-            this.transition = dfa_91;
+            this.transition = dfa_99;
         }
         public String getDescription() {
-            return "35469:2: ( rule__Style__UnorderedGroup_4__6 )?";
+            return "35697:2: ( rule__MediaStyle__UnorderedGroup_3__5 )?";
         }
         public int specialStateTransition(int s, IntStream _input) throws NoViableAltException {
             TokenStream input = (TokenStream)_input;
@@ -146499,41 +151020,43 @@
                         int index266_0 = input.index();
                         input.rewind();
                         s = -1;
-                        if ( LA266_0 == 153 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 0) ) {s = 1;}
+                        if ( LA266_0 == 159 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 0) ) {s = 1;}
 
-                        else if ( LA266_0 == 149 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 1) ) {s = 2;}
+                        else if ( LA266_0 == 155 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 1) ) {s = 2;}
 
-                        else if ( LA266_0 == 154 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 2) ) {s = 3;}
+                        else if ( LA266_0 == 160 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 2) ) {s = 3;}
 
-                        else if ( LA266_0 == 156 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 3) ) {s = 4;}
+                        else if ( LA266_0 == 162 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 3) ) {s = 4;}
 
-                        else if ( LA266_0 == 157 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 4) ) {s = 5;}
+                        else if ( LA266_0 == 163 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 4) ) {s = 5;}
 
-                        else if ( LA266_0 == 158 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 5) ) {s = 6;}
+                        else if ( LA266_0 == 164 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 5) ) {s = 6;}
 
-                        else if ( LA266_0 == 159 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 6) ) {s = 7;}
+                        else if ( LA266_0 == 165 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 6) ) {s = 7;}
 
-                        else if ( LA266_0 == 160 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 7) ) {s = 8;}
+                        else if ( LA266_0 == 166 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 7) ) {s = 8;}
 
-                        else if ( LA266_0 == 161 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 8) ) {s = 9;}
+                        else if ( LA266_0 == 167 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 8) ) {s = 9;}
 
-                        else if ( LA266_0 == 162 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 9) ) {s = 10;}
+                        else if ( LA266_0 == 168 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 9) ) {s = 10;}
 
-                        else if ( LA266_0 == 163 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 10) ) {s = 11;}
+                        else if ( LA266_0 == 169 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 10) ) {s = 11;}
 
-                        else if ( LA266_0 == 164 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 11) ) {s = 12;}
+                        else if ( LA266_0 == 170 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 11) ) {s = 12;}
 
-                        else if ( LA266_0 == 165 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 12) ) {s = 13;}
+                        else if ( LA266_0 == 171 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 12) ) {s = 13;}
 
-                        else if ( LA266_0 == 166 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 13) ) {s = 14;}
+                        else if ( LA266_0 == 172 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 13) ) {s = 14;}
 
-                        else if ( LA266_0 == 167 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 14) ) {s = 15;}
+                        else if ( LA266_0 == 173 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 14) ) {s = 15;}
 
-                        else if ( LA266_0 == 168 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 15) ) {s = 16;}
+                        else if ( LA266_0 == 174 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 15) ) {s = 16;}
 
-                        else if ( LA266_0 == 169 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 16) ) {s = 17;}
+                        else if ( LA266_0 == 175 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 16) ) {s = 17;}
 
-                        else if ( (LA266_0==EOF||LA266_0==126||LA266_0==134) ) {s = 18;}
+                        else if ( LA266_0 == 176 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 17) ) {s = 18;}
+
+                        else if ( (LA266_0==EOF||LA266_0==132) ) {s = 19;}
 
                          
                         input.seek(index266_0);
@@ -146559,10 +151082,10 @@
             this.max = dfa_88;
             this.accept = dfa_89;
             this.special = dfa_90;
-            this.transition = dfa_91;
+            this.transition = dfa_99;
         }
         public String getDescription() {
-            return "35481:2: ( rule__Style__UnorderedGroup_4__7 )?";
+            return "35709:2: ( rule__MediaStyle__UnorderedGroup_3__6 )?";
         }
         public int specialStateTransition(int s, IntStream _input) throws NoViableAltException {
             TokenStream input = (TokenStream)_input;
@@ -146575,41 +151098,43 @@
                         int index267_0 = input.index();
                         input.rewind();
                         s = -1;
-                        if ( LA267_0 == 153 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 0) ) {s = 1;}
+                        if ( LA267_0 == 159 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 0) ) {s = 1;}
 
-                        else if ( LA267_0 == 149 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 1) ) {s = 2;}
+                        else if ( LA267_0 == 155 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 1) ) {s = 2;}
 
-                        else if ( LA267_0 == 154 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 2) ) {s = 3;}
+                        else if ( LA267_0 == 160 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 2) ) {s = 3;}
 
-                        else if ( LA267_0 == 156 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 3) ) {s = 4;}
+                        else if ( LA267_0 == 162 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 3) ) {s = 4;}
 
-                        else if ( LA267_0 == 157 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 4) ) {s = 5;}
+                        else if ( LA267_0 == 163 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 4) ) {s = 5;}
 
-                        else if ( LA267_0 == 158 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 5) ) {s = 6;}
+                        else if ( LA267_0 == 164 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 5) ) {s = 6;}
 
-                        else if ( LA267_0 == 159 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 6) ) {s = 7;}
+                        else if ( LA267_0 == 165 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 6) ) {s = 7;}
 
-                        else if ( LA267_0 == 160 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 7) ) {s = 8;}
+                        else if ( LA267_0 == 166 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 7) ) {s = 8;}
 
-                        else if ( LA267_0 == 161 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 8) ) {s = 9;}
+                        else if ( LA267_0 == 167 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 8) ) {s = 9;}
 
-                        else if ( LA267_0 == 162 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 9) ) {s = 10;}
+                        else if ( LA267_0 == 168 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 9) ) {s = 10;}
 
-                        else if ( LA267_0 == 163 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 10) ) {s = 11;}
+                        else if ( LA267_0 == 169 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 10) ) {s = 11;}
 
-                        else if ( LA267_0 == 164 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 11) ) {s = 12;}
+                        else if ( LA267_0 == 170 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 11) ) {s = 12;}
 
-                        else if ( LA267_0 == 165 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 12) ) {s = 13;}
+                        else if ( LA267_0 == 171 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 12) ) {s = 13;}
 
-                        else if ( LA267_0 == 166 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 13) ) {s = 14;}
+                        else if ( LA267_0 == 172 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 13) ) {s = 14;}
 
-                        else if ( LA267_0 == 167 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 14) ) {s = 15;}
+                        else if ( LA267_0 == 173 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 14) ) {s = 15;}
 
-                        else if ( LA267_0 == 168 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 15) ) {s = 16;}
+                        else if ( LA267_0 == 174 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 15) ) {s = 16;}
 
-                        else if ( LA267_0 == 169 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 16) ) {s = 17;}
+                        else if ( LA267_0 == 175 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 16) ) {s = 17;}
 
-                        else if ( (LA267_0==EOF||LA267_0==126||LA267_0==134) ) {s = 18;}
+                        else if ( LA267_0 == 176 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 17) ) {s = 18;}
+
+                        else if ( (LA267_0==EOF||LA267_0==132) ) {s = 19;}
 
                          
                         input.seek(index267_0);
@@ -146635,10 +151160,10 @@
             this.max = dfa_88;
             this.accept = dfa_89;
             this.special = dfa_90;
-            this.transition = dfa_91;
+            this.transition = dfa_99;
         }
         public String getDescription() {
-            return "35493:2: ( rule__Style__UnorderedGroup_4__8 )?";
+            return "35721:2: ( rule__MediaStyle__UnorderedGroup_3__7 )?";
         }
         public int specialStateTransition(int s, IntStream _input) throws NoViableAltException {
             TokenStream input = (TokenStream)_input;
@@ -146651,41 +151176,43 @@
                         int index268_0 = input.index();
                         input.rewind();
                         s = -1;
-                        if ( LA268_0 == 153 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 0) ) {s = 1;}
+                        if ( LA268_0 == 159 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 0) ) {s = 1;}
 
-                        else if ( LA268_0 == 149 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 1) ) {s = 2;}
+                        else if ( LA268_0 == 155 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 1) ) {s = 2;}
 
-                        else if ( LA268_0 == 154 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 2) ) {s = 3;}
+                        else if ( LA268_0 == 160 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 2) ) {s = 3;}
 
-                        else if ( LA268_0 == 156 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 3) ) {s = 4;}
+                        else if ( LA268_0 == 162 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 3) ) {s = 4;}
 
-                        else if ( LA268_0 == 157 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 4) ) {s = 5;}
+                        else if ( LA268_0 == 163 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 4) ) {s = 5;}
 
-                        else if ( LA268_0 == 158 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 5) ) {s = 6;}
+                        else if ( LA268_0 == 164 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 5) ) {s = 6;}
 
-                        else if ( LA268_0 == 159 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 6) ) {s = 7;}
+                        else if ( LA268_0 == 165 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 6) ) {s = 7;}
 
-                        else if ( LA268_0 == 160 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 7) ) {s = 8;}
+                        else if ( LA268_0 == 166 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 7) ) {s = 8;}
 
-                        else if ( LA268_0 == 161 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 8) ) {s = 9;}
+                        else if ( LA268_0 == 167 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 8) ) {s = 9;}
 
-                        else if ( LA268_0 == 162 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 9) ) {s = 10;}
+                        else if ( LA268_0 == 168 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 9) ) {s = 10;}
 
-                        else if ( LA268_0 == 163 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 10) ) {s = 11;}
+                        else if ( LA268_0 == 169 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 10) ) {s = 11;}
 
-                        else if ( LA268_0 == 164 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 11) ) {s = 12;}
+                        else if ( LA268_0 == 170 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 11) ) {s = 12;}
 
-                        else if ( LA268_0 == 165 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 12) ) {s = 13;}
+                        else if ( LA268_0 == 171 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 12) ) {s = 13;}
 
-                        else if ( LA268_0 == 166 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 13) ) {s = 14;}
+                        else if ( LA268_0 == 172 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 13) ) {s = 14;}
 
-                        else if ( LA268_0 == 167 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 14) ) {s = 15;}
+                        else if ( LA268_0 == 173 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 14) ) {s = 15;}
 
-                        else if ( LA268_0 == 168 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 15) ) {s = 16;}
+                        else if ( LA268_0 == 174 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 15) ) {s = 16;}
 
-                        else if ( LA268_0 == 169 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 16) ) {s = 17;}
+                        else if ( LA268_0 == 175 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 16) ) {s = 17;}
 
-                        else if ( (LA268_0==EOF||LA268_0==126||LA268_0==134) ) {s = 18;}
+                        else if ( LA268_0 == 176 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 17) ) {s = 18;}
+
+                        else if ( (LA268_0==EOF||LA268_0==132) ) {s = 19;}
 
                          
                         input.seek(index268_0);
@@ -146711,10 +151238,10 @@
             this.max = dfa_88;
             this.accept = dfa_89;
             this.special = dfa_90;
-            this.transition = dfa_91;
+            this.transition = dfa_99;
         }
         public String getDescription() {
-            return "35505:2: ( rule__Style__UnorderedGroup_4__9 )?";
+            return "35733:2: ( rule__MediaStyle__UnorderedGroup_3__8 )?";
         }
         public int specialStateTransition(int s, IntStream _input) throws NoViableAltException {
             TokenStream input = (TokenStream)_input;
@@ -146727,41 +151254,43 @@
                         int index269_0 = input.index();
                         input.rewind();
                         s = -1;
-                        if ( LA269_0 == 153 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 0) ) {s = 1;}
+                        if ( LA269_0 == 159 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 0) ) {s = 1;}
 
-                        else if ( LA269_0 == 149 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 1) ) {s = 2;}
+                        else if ( LA269_0 == 155 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 1) ) {s = 2;}
 
-                        else if ( LA269_0 == 154 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 2) ) {s = 3;}
+                        else if ( LA269_0 == 160 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 2) ) {s = 3;}
 
-                        else if ( LA269_0 == 156 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 3) ) {s = 4;}
+                        else if ( LA269_0 == 162 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 3) ) {s = 4;}
 
-                        else if ( LA269_0 == 157 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 4) ) {s = 5;}
+                        else if ( LA269_0 == 163 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 4) ) {s = 5;}
 
-                        else if ( LA269_0 == 158 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 5) ) {s = 6;}
+                        else if ( LA269_0 == 164 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 5) ) {s = 6;}
 
-                        else if ( LA269_0 == 159 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 6) ) {s = 7;}
+                        else if ( LA269_0 == 165 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 6) ) {s = 7;}
 
-                        else if ( LA269_0 == 160 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 7) ) {s = 8;}
+                        else if ( LA269_0 == 166 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 7) ) {s = 8;}
 
-                        else if ( LA269_0 == 161 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 8) ) {s = 9;}
+                        else if ( LA269_0 == 167 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 8) ) {s = 9;}
 
-                        else if ( LA269_0 == 162 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 9) ) {s = 10;}
+                        else if ( LA269_0 == 168 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 9) ) {s = 10;}
 
-                        else if ( LA269_0 == 163 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 10) ) {s = 11;}
+                        else if ( LA269_0 == 169 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 10) ) {s = 11;}
 
-                        else if ( LA269_0 == 164 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 11) ) {s = 12;}
+                        else if ( LA269_0 == 170 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 11) ) {s = 12;}
 
-                        else if ( LA269_0 == 165 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 12) ) {s = 13;}
+                        else if ( LA269_0 == 171 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 12) ) {s = 13;}
 
-                        else if ( LA269_0 == 166 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 13) ) {s = 14;}
+                        else if ( LA269_0 == 172 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 13) ) {s = 14;}
 
-                        else if ( LA269_0 == 167 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 14) ) {s = 15;}
+                        else if ( LA269_0 == 173 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 14) ) {s = 15;}
 
-                        else if ( LA269_0 == 168 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 15) ) {s = 16;}
+                        else if ( LA269_0 == 174 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 15) ) {s = 16;}
 
-                        else if ( LA269_0 == 169 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 16) ) {s = 17;}
+                        else if ( LA269_0 == 175 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 16) ) {s = 17;}
 
-                        else if ( (LA269_0==EOF||LA269_0==126||LA269_0==134) ) {s = 18;}
+                        else if ( LA269_0 == 176 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 17) ) {s = 18;}
+
+                        else if ( (LA269_0==EOF||LA269_0==132) ) {s = 19;}
 
                          
                         input.seek(index269_0);
@@ -146787,10 +151316,10 @@
             this.max = dfa_88;
             this.accept = dfa_89;
             this.special = dfa_90;
-            this.transition = dfa_91;
+            this.transition = dfa_99;
         }
         public String getDescription() {
-            return "35517:2: ( rule__Style__UnorderedGroup_4__10 )?";
+            return "35745:2: ( rule__MediaStyle__UnorderedGroup_3__9 )?";
         }
         public int specialStateTransition(int s, IntStream _input) throws NoViableAltException {
             TokenStream input = (TokenStream)_input;
@@ -146803,41 +151332,43 @@
                         int index270_0 = input.index();
                         input.rewind();
                         s = -1;
-                        if ( LA270_0 == 153 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 0) ) {s = 1;}
+                        if ( LA270_0 == 159 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 0) ) {s = 1;}
 
-                        else if ( LA270_0 == 149 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 1) ) {s = 2;}
+                        else if ( LA270_0 == 155 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 1) ) {s = 2;}
 
-                        else if ( LA270_0 == 154 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 2) ) {s = 3;}
+                        else if ( LA270_0 == 160 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 2) ) {s = 3;}
 
-                        else if ( LA270_0 == 156 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 3) ) {s = 4;}
+                        else if ( LA270_0 == 162 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 3) ) {s = 4;}
 
-                        else if ( LA270_0 == 157 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 4) ) {s = 5;}
+                        else if ( LA270_0 == 163 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 4) ) {s = 5;}
 
-                        else if ( LA270_0 == 158 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 5) ) {s = 6;}
+                        else if ( LA270_0 == 164 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 5) ) {s = 6;}
 
-                        else if ( LA270_0 == 159 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 6) ) {s = 7;}
+                        else if ( LA270_0 == 165 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 6) ) {s = 7;}
 
-                        else if ( LA270_0 == 160 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 7) ) {s = 8;}
+                        else if ( LA270_0 == 166 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 7) ) {s = 8;}
 
-                        else if ( LA270_0 == 161 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 8) ) {s = 9;}
+                        else if ( LA270_0 == 167 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 8) ) {s = 9;}
 
-                        else if ( LA270_0 == 162 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 9) ) {s = 10;}
+                        else if ( LA270_0 == 168 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 9) ) {s = 10;}
 
-                        else if ( LA270_0 == 163 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 10) ) {s = 11;}
+                        else if ( LA270_0 == 169 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 10) ) {s = 11;}
 
-                        else if ( LA270_0 == 164 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 11) ) {s = 12;}
+                        else if ( LA270_0 == 170 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 11) ) {s = 12;}
 
-                        else if ( LA270_0 == 165 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 12) ) {s = 13;}
+                        else if ( LA270_0 == 171 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 12) ) {s = 13;}
 
-                        else if ( LA270_0 == 166 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 13) ) {s = 14;}
+                        else if ( LA270_0 == 172 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 13) ) {s = 14;}
 
-                        else if ( LA270_0 == 167 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 14) ) {s = 15;}
+                        else if ( LA270_0 == 173 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 14) ) {s = 15;}
 
-                        else if ( LA270_0 == 168 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 15) ) {s = 16;}
+                        else if ( LA270_0 == 174 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 15) ) {s = 16;}
 
-                        else if ( LA270_0 == 169 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 16) ) {s = 17;}
+                        else if ( LA270_0 == 175 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 16) ) {s = 17;}
 
-                        else if ( (LA270_0==EOF||LA270_0==126||LA270_0==134) ) {s = 18;}
+                        else if ( LA270_0 == 176 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 17) ) {s = 18;}
+
+                        else if ( (LA270_0==EOF||LA270_0==132) ) {s = 19;}
 
                          
                         input.seek(index270_0);
@@ -146863,10 +151394,10 @@
             this.max = dfa_88;
             this.accept = dfa_89;
             this.special = dfa_90;
-            this.transition = dfa_91;
+            this.transition = dfa_99;
         }
         public String getDescription() {
-            return "35529:2: ( rule__Style__UnorderedGroup_4__11 )?";
+            return "35757:2: ( rule__MediaStyle__UnorderedGroup_3__10 )?";
         }
         public int specialStateTransition(int s, IntStream _input) throws NoViableAltException {
             TokenStream input = (TokenStream)_input;
@@ -146879,41 +151410,43 @@
                         int index271_0 = input.index();
                         input.rewind();
                         s = -1;
-                        if ( LA271_0 == 153 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 0) ) {s = 1;}
+                        if ( LA271_0 == 159 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 0) ) {s = 1;}
 
-                        else if ( LA271_0 == 149 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 1) ) {s = 2;}
+                        else if ( LA271_0 == 155 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 1) ) {s = 2;}
 
-                        else if ( LA271_0 == 154 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 2) ) {s = 3;}
+                        else if ( LA271_0 == 160 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 2) ) {s = 3;}
 
-                        else if ( LA271_0 == 156 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 3) ) {s = 4;}
+                        else if ( LA271_0 == 162 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 3) ) {s = 4;}
 
-                        else if ( LA271_0 == 157 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 4) ) {s = 5;}
+                        else if ( LA271_0 == 163 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 4) ) {s = 5;}
 
-                        else if ( LA271_0 == 158 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 5) ) {s = 6;}
+                        else if ( LA271_0 == 164 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 5) ) {s = 6;}
 
-                        else if ( LA271_0 == 159 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 6) ) {s = 7;}
+                        else if ( LA271_0 == 165 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 6) ) {s = 7;}
 
-                        else if ( LA271_0 == 160 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 7) ) {s = 8;}
+                        else if ( LA271_0 == 166 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 7) ) {s = 8;}
 
-                        else if ( LA271_0 == 161 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 8) ) {s = 9;}
+                        else if ( LA271_0 == 167 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 8) ) {s = 9;}
 
-                        else if ( LA271_0 == 162 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 9) ) {s = 10;}
+                        else if ( LA271_0 == 168 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 9) ) {s = 10;}
 
-                        else if ( LA271_0 == 163 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 10) ) {s = 11;}
+                        else if ( LA271_0 == 169 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 10) ) {s = 11;}
 
-                        else if ( LA271_0 == 164 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 11) ) {s = 12;}
+                        else if ( LA271_0 == 170 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 11) ) {s = 12;}
 
-                        else if ( LA271_0 == 165 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 12) ) {s = 13;}
+                        else if ( LA271_0 == 171 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 12) ) {s = 13;}
 
-                        else if ( LA271_0 == 166 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 13) ) {s = 14;}
+                        else if ( LA271_0 == 172 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 13) ) {s = 14;}
 
-                        else if ( LA271_0 == 167 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 14) ) {s = 15;}
+                        else if ( LA271_0 == 173 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 14) ) {s = 15;}
 
-                        else if ( LA271_0 == 168 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 15) ) {s = 16;}
+                        else if ( LA271_0 == 174 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 15) ) {s = 16;}
 
-                        else if ( LA271_0 == 169 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 16) ) {s = 17;}
+                        else if ( LA271_0 == 175 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 16) ) {s = 17;}
 
-                        else if ( (LA271_0==EOF||LA271_0==126||LA271_0==134) ) {s = 18;}
+                        else if ( LA271_0 == 176 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 17) ) {s = 18;}
+
+                        else if ( (LA271_0==EOF||LA271_0==132) ) {s = 19;}
 
                          
                         input.seek(index271_0);
@@ -146939,10 +151472,10 @@
             this.max = dfa_88;
             this.accept = dfa_89;
             this.special = dfa_90;
-            this.transition = dfa_91;
+            this.transition = dfa_99;
         }
         public String getDescription() {
-            return "35541:2: ( rule__Style__UnorderedGroup_4__12 )?";
+            return "35769:2: ( rule__MediaStyle__UnorderedGroup_3__11 )?";
         }
         public int specialStateTransition(int s, IntStream _input) throws NoViableAltException {
             TokenStream input = (TokenStream)_input;
@@ -146955,41 +151488,43 @@
                         int index272_0 = input.index();
                         input.rewind();
                         s = -1;
-                        if ( LA272_0 == 153 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 0) ) {s = 1;}
+                        if ( LA272_0 == 159 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 0) ) {s = 1;}
 
-                        else if ( LA272_0 == 149 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 1) ) {s = 2;}
+                        else if ( LA272_0 == 155 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 1) ) {s = 2;}
 
-                        else if ( LA272_0 == 154 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 2) ) {s = 3;}
+                        else if ( LA272_0 == 160 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 2) ) {s = 3;}
 
-                        else if ( LA272_0 == 156 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 3) ) {s = 4;}
+                        else if ( LA272_0 == 162 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 3) ) {s = 4;}
 
-                        else if ( LA272_0 == 157 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 4) ) {s = 5;}
+                        else if ( LA272_0 == 163 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 4) ) {s = 5;}
 
-                        else if ( LA272_0 == 158 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 5) ) {s = 6;}
+                        else if ( LA272_0 == 164 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 5) ) {s = 6;}
 
-                        else if ( LA272_0 == 159 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 6) ) {s = 7;}
+                        else if ( LA272_0 == 165 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 6) ) {s = 7;}
 
-                        else if ( LA272_0 == 160 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 7) ) {s = 8;}
+                        else if ( LA272_0 == 166 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 7) ) {s = 8;}
 
-                        else if ( LA272_0 == 161 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 8) ) {s = 9;}
+                        else if ( LA272_0 == 167 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 8) ) {s = 9;}
 
-                        else if ( LA272_0 == 162 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 9) ) {s = 10;}
+                        else if ( LA272_0 == 168 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 9) ) {s = 10;}
 
-                        else if ( LA272_0 == 163 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 10) ) {s = 11;}
+                        else if ( LA272_0 == 169 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 10) ) {s = 11;}
 
-                        else if ( LA272_0 == 164 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 11) ) {s = 12;}
+                        else if ( LA272_0 == 170 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 11) ) {s = 12;}
 
-                        else if ( LA272_0 == 165 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 12) ) {s = 13;}
+                        else if ( LA272_0 == 171 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 12) ) {s = 13;}
 
-                        else if ( LA272_0 == 166 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 13) ) {s = 14;}
+                        else if ( LA272_0 == 172 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 13) ) {s = 14;}
 
-                        else if ( LA272_0 == 167 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 14) ) {s = 15;}
+                        else if ( LA272_0 == 173 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 14) ) {s = 15;}
 
-                        else if ( LA272_0 == 168 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 15) ) {s = 16;}
+                        else if ( LA272_0 == 174 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 15) ) {s = 16;}
 
-                        else if ( LA272_0 == 169 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 16) ) {s = 17;}
+                        else if ( LA272_0 == 175 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 16) ) {s = 17;}
 
-                        else if ( (LA272_0==EOF||LA272_0==126||LA272_0==134) ) {s = 18;}
+                        else if ( LA272_0 == 176 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 17) ) {s = 18;}
+
+                        else if ( (LA272_0==EOF||LA272_0==132) ) {s = 19;}
 
                          
                         input.seek(index272_0);
@@ -147015,10 +151550,10 @@
             this.max = dfa_88;
             this.accept = dfa_89;
             this.special = dfa_90;
-            this.transition = dfa_91;
+            this.transition = dfa_99;
         }
         public String getDescription() {
-            return "35553:2: ( rule__Style__UnorderedGroup_4__13 )?";
+            return "35781:2: ( rule__MediaStyle__UnorderedGroup_3__12 )?";
         }
         public int specialStateTransition(int s, IntStream _input) throws NoViableAltException {
             TokenStream input = (TokenStream)_input;
@@ -147031,41 +151566,43 @@
                         int index273_0 = input.index();
                         input.rewind();
                         s = -1;
-                        if ( LA273_0 == 153 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 0) ) {s = 1;}
+                        if ( LA273_0 == 159 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 0) ) {s = 1;}
 
-                        else if ( LA273_0 == 149 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 1) ) {s = 2;}
+                        else if ( LA273_0 == 155 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 1) ) {s = 2;}
 
-                        else if ( LA273_0 == 154 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 2) ) {s = 3;}
+                        else if ( LA273_0 == 160 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 2) ) {s = 3;}
 
-                        else if ( LA273_0 == 156 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 3) ) {s = 4;}
+                        else if ( LA273_0 == 162 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 3) ) {s = 4;}
 
-                        else if ( LA273_0 == 157 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 4) ) {s = 5;}
+                        else if ( LA273_0 == 163 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 4) ) {s = 5;}
 
-                        else if ( LA273_0 == 158 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 5) ) {s = 6;}
+                        else if ( LA273_0 == 164 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 5) ) {s = 6;}
 
-                        else if ( LA273_0 == 159 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 6) ) {s = 7;}
+                        else if ( LA273_0 == 165 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 6) ) {s = 7;}
 
-                        else if ( LA273_0 == 160 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 7) ) {s = 8;}
+                        else if ( LA273_0 == 166 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 7) ) {s = 8;}
 
-                        else if ( LA273_0 == 161 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 8) ) {s = 9;}
+                        else if ( LA273_0 == 167 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 8) ) {s = 9;}
 
-                        else if ( LA273_0 == 162 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 9) ) {s = 10;}
+                        else if ( LA273_0 == 168 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 9) ) {s = 10;}
 
-                        else if ( LA273_0 == 163 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 10) ) {s = 11;}
+                        else if ( LA273_0 == 169 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 10) ) {s = 11;}
 
-                        else if ( LA273_0 == 164 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 11) ) {s = 12;}
+                        else if ( LA273_0 == 170 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 11) ) {s = 12;}
 
-                        else if ( LA273_0 == 165 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 12) ) {s = 13;}
+                        else if ( LA273_0 == 171 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 12) ) {s = 13;}
 
-                        else if ( LA273_0 == 166 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 13) ) {s = 14;}
+                        else if ( LA273_0 == 172 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 13) ) {s = 14;}
 
-                        else if ( LA273_0 == 167 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 14) ) {s = 15;}
+                        else if ( LA273_0 == 173 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 14) ) {s = 15;}
 
-                        else if ( LA273_0 == 168 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 15) ) {s = 16;}
+                        else if ( LA273_0 == 174 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 15) ) {s = 16;}
 
-                        else if ( LA273_0 == 169 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 16) ) {s = 17;}
+                        else if ( LA273_0 == 175 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 16) ) {s = 17;}
 
-                        else if ( (LA273_0==EOF||LA273_0==126||LA273_0==134) ) {s = 18;}
+                        else if ( LA273_0 == 176 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 17) ) {s = 18;}
+
+                        else if ( (LA273_0==EOF||LA273_0==132) ) {s = 19;}
 
                          
                         input.seek(index273_0);
@@ -147091,10 +151628,10 @@
             this.max = dfa_88;
             this.accept = dfa_89;
             this.special = dfa_90;
-            this.transition = dfa_91;
+            this.transition = dfa_99;
         }
         public String getDescription() {
-            return "35565:2: ( rule__Style__UnorderedGroup_4__14 )?";
+            return "35793:2: ( rule__MediaStyle__UnorderedGroup_3__13 )?";
         }
         public int specialStateTransition(int s, IntStream _input) throws NoViableAltException {
             TokenStream input = (TokenStream)_input;
@@ -147107,41 +151644,43 @@
                         int index274_0 = input.index();
                         input.rewind();
                         s = -1;
-                        if ( LA274_0 == 153 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 0) ) {s = 1;}
+                        if ( LA274_0 == 159 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 0) ) {s = 1;}
 
-                        else if ( LA274_0 == 149 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 1) ) {s = 2;}
+                        else if ( LA274_0 == 155 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 1) ) {s = 2;}
 
-                        else if ( LA274_0 == 154 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 2) ) {s = 3;}
+                        else if ( LA274_0 == 160 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 2) ) {s = 3;}
 
-                        else if ( LA274_0 == 156 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 3) ) {s = 4;}
+                        else if ( LA274_0 == 162 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 3) ) {s = 4;}
 
-                        else if ( LA274_0 == 157 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 4) ) {s = 5;}
+                        else if ( LA274_0 == 163 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 4) ) {s = 5;}
 
-                        else if ( LA274_0 == 158 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 5) ) {s = 6;}
+                        else if ( LA274_0 == 164 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 5) ) {s = 6;}
 
-                        else if ( LA274_0 == 159 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 6) ) {s = 7;}
+                        else if ( LA274_0 == 165 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 6) ) {s = 7;}
 
-                        else if ( LA274_0 == 160 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 7) ) {s = 8;}
+                        else if ( LA274_0 == 166 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 7) ) {s = 8;}
 
-                        else if ( LA274_0 == 161 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 8) ) {s = 9;}
+                        else if ( LA274_0 == 167 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 8) ) {s = 9;}
 
-                        else if ( LA274_0 == 162 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 9) ) {s = 10;}
+                        else if ( LA274_0 == 168 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 9) ) {s = 10;}
 
-                        else if ( LA274_0 == 163 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 10) ) {s = 11;}
+                        else if ( LA274_0 == 169 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 10) ) {s = 11;}
 
-                        else if ( LA274_0 == 164 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 11) ) {s = 12;}
+                        else if ( LA274_0 == 170 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 11) ) {s = 12;}
 
-                        else if ( LA274_0 == 165 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 12) ) {s = 13;}
+                        else if ( LA274_0 == 171 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 12) ) {s = 13;}
 
-                        else if ( LA274_0 == 166 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 13) ) {s = 14;}
+                        else if ( LA274_0 == 172 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 13) ) {s = 14;}
 
-                        else if ( LA274_0 == 167 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 14) ) {s = 15;}
+                        else if ( LA274_0 == 173 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 14) ) {s = 15;}
 
-                        else if ( LA274_0 == 168 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 15) ) {s = 16;}
+                        else if ( LA274_0 == 174 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 15) ) {s = 16;}
 
-                        else if ( LA274_0 == 169 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 16) ) {s = 17;}
+                        else if ( LA274_0 == 175 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 16) ) {s = 17;}
 
-                        else if ( (LA274_0==EOF||LA274_0==126||LA274_0==134) ) {s = 18;}
+                        else if ( LA274_0 == 176 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 17) ) {s = 18;}
+
+                        else if ( (LA274_0==EOF||LA274_0==132) ) {s = 19;}
 
                          
                         input.seek(index274_0);
@@ -147167,10 +151706,10 @@
             this.max = dfa_88;
             this.accept = dfa_89;
             this.special = dfa_90;
-            this.transition = dfa_91;
+            this.transition = dfa_99;
         }
         public String getDescription() {
-            return "35577:2: ( rule__Style__UnorderedGroup_4__15 )?";
+            return "35805:2: ( rule__MediaStyle__UnorderedGroup_3__14 )?";
         }
         public int specialStateTransition(int s, IntStream _input) throws NoViableAltException {
             TokenStream input = (TokenStream)_input;
@@ -147183,41 +151722,43 @@
                         int index275_0 = input.index();
                         input.rewind();
                         s = -1;
-                        if ( LA275_0 == 153 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 0) ) {s = 1;}
+                        if ( LA275_0 == 159 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 0) ) {s = 1;}
 
-                        else if ( LA275_0 == 149 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 1) ) {s = 2;}
+                        else if ( LA275_0 == 155 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 1) ) {s = 2;}
 
-                        else if ( LA275_0 == 154 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 2) ) {s = 3;}
+                        else if ( LA275_0 == 160 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 2) ) {s = 3;}
 
-                        else if ( LA275_0 == 156 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 3) ) {s = 4;}
+                        else if ( LA275_0 == 162 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 3) ) {s = 4;}
 
-                        else if ( LA275_0 == 157 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 4) ) {s = 5;}
+                        else if ( LA275_0 == 163 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 4) ) {s = 5;}
 
-                        else if ( LA275_0 == 158 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 5) ) {s = 6;}
+                        else if ( LA275_0 == 164 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 5) ) {s = 6;}
 
-                        else if ( LA275_0 == 159 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 6) ) {s = 7;}
+                        else if ( LA275_0 == 165 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 6) ) {s = 7;}
 
-                        else if ( LA275_0 == 160 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 7) ) {s = 8;}
+                        else if ( LA275_0 == 166 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 7) ) {s = 8;}
 
-                        else if ( LA275_0 == 161 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 8) ) {s = 9;}
+                        else if ( LA275_0 == 167 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 8) ) {s = 9;}
 
-                        else if ( LA275_0 == 162 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 9) ) {s = 10;}
+                        else if ( LA275_0 == 168 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 9) ) {s = 10;}
 
-                        else if ( LA275_0 == 163 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 10) ) {s = 11;}
+                        else if ( LA275_0 == 169 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 10) ) {s = 11;}
 
-                        else if ( LA275_0 == 164 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 11) ) {s = 12;}
+                        else if ( LA275_0 == 170 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 11) ) {s = 12;}
 
-                        else if ( LA275_0 == 165 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 12) ) {s = 13;}
+                        else if ( LA275_0 == 171 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 12) ) {s = 13;}
 
-                        else if ( LA275_0 == 166 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 13) ) {s = 14;}
+                        else if ( LA275_0 == 172 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 13) ) {s = 14;}
 
-                        else if ( LA275_0 == 167 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 14) ) {s = 15;}
+                        else if ( LA275_0 == 173 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 14) ) {s = 15;}
 
-                        else if ( LA275_0 == 168 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 15) ) {s = 16;}
+                        else if ( LA275_0 == 174 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 15) ) {s = 16;}
 
-                        else if ( LA275_0 == 169 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 16) ) {s = 17;}
+                        else if ( LA275_0 == 175 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 16) ) {s = 17;}
 
-                        else if ( (LA275_0==EOF||LA275_0==126||LA275_0==134) ) {s = 18;}
+                        else if ( LA275_0 == 176 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 17) ) {s = 18;}
+
+                        else if ( (LA275_0==EOF||LA275_0==132) ) {s = 19;}
 
                          
                         input.seek(index275_0);
@@ -147243,10 +151784,10 @@
             this.max = dfa_88;
             this.accept = dfa_89;
             this.special = dfa_90;
-            this.transition = dfa_91;
+            this.transition = dfa_99;
         }
         public String getDescription() {
-            return "35589:2: ( rule__Style__UnorderedGroup_4__16 )?";
+            return "35817:2: ( rule__MediaStyle__UnorderedGroup_3__15 )?";
         }
         public int specialStateTransition(int s, IntStream _input) throws NoViableAltException {
             TokenStream input = (TokenStream)_input;
@@ -147259,41 +151800,43 @@
                         int index276_0 = input.index();
                         input.rewind();
                         s = -1;
-                        if ( LA276_0 == 153 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 0) ) {s = 1;}
+                        if ( LA276_0 == 159 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 0) ) {s = 1;}
 
-                        else if ( LA276_0 == 149 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 1) ) {s = 2;}
+                        else if ( LA276_0 == 155 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 1) ) {s = 2;}
 
-                        else if ( LA276_0 == 154 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 2) ) {s = 3;}
+                        else if ( LA276_0 == 160 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 2) ) {s = 3;}
 
-                        else if ( LA276_0 == 156 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 3) ) {s = 4;}
+                        else if ( LA276_0 == 162 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 3) ) {s = 4;}
 
-                        else if ( LA276_0 == 157 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 4) ) {s = 5;}
+                        else if ( LA276_0 == 163 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 4) ) {s = 5;}
 
-                        else if ( LA276_0 == 158 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 5) ) {s = 6;}
+                        else if ( LA276_0 == 164 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 5) ) {s = 6;}
 
-                        else if ( LA276_0 == 159 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 6) ) {s = 7;}
+                        else if ( LA276_0 == 165 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 6) ) {s = 7;}
 
-                        else if ( LA276_0 == 160 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 7) ) {s = 8;}
+                        else if ( LA276_0 == 166 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 7) ) {s = 8;}
 
-                        else if ( LA276_0 == 161 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 8) ) {s = 9;}
+                        else if ( LA276_0 == 167 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 8) ) {s = 9;}
 
-                        else if ( LA276_0 == 162 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 9) ) {s = 10;}
+                        else if ( LA276_0 == 168 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 9) ) {s = 10;}
 
-                        else if ( LA276_0 == 163 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 10) ) {s = 11;}
+                        else if ( LA276_0 == 169 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 10) ) {s = 11;}
 
-                        else if ( LA276_0 == 164 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 11) ) {s = 12;}
+                        else if ( LA276_0 == 170 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 11) ) {s = 12;}
 
-                        else if ( LA276_0 == 165 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 12) ) {s = 13;}
+                        else if ( LA276_0 == 171 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 12) ) {s = 13;}
 
-                        else if ( LA276_0 == 166 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 13) ) {s = 14;}
+                        else if ( LA276_0 == 172 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 13) ) {s = 14;}
 
-                        else if ( LA276_0 == 167 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 14) ) {s = 15;}
+                        else if ( LA276_0 == 173 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 14) ) {s = 15;}
 
-                        else if ( LA276_0 == 168 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 15) ) {s = 16;}
+                        else if ( LA276_0 == 174 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 15) ) {s = 16;}
 
-                        else if ( LA276_0 == 169 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 16) ) {s = 17;}
+                        else if ( LA276_0 == 175 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 16) ) {s = 17;}
 
-                        else if ( (LA276_0==EOF||LA276_0==126||LA276_0==134) ) {s = 18;}
+                        else if ( LA276_0 == 176 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 17) ) {s = 18;}
+
+                        else if ( (LA276_0==EOF||LA276_0==132) ) {s = 19;}
 
                          
                         input.seek(index276_0);
@@ -147307,28 +151850,6 @@
             throw nvae;
         }
     }
-    static final String[] dfa_99s = {
-            "\1\22\26\uffff\1\2\3\uffff\1\1\1\3\1\uffff\1\4\1\5\1\6\1\7\1\10\1\11\1\12\1\13\1\14\1\15\1\16\1\17\1\20\1\21",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            ""
-    };
-    static final short[][] dfa_99 = unpackEncodedStringArray(dfa_99s);
 
     class DFA277 extends DFA {
 
@@ -147336,7 +151857,7 @@
             this.recognizer = recognizer;
             this.decisionNumber = 277;
             this.eot = dfa_86;
-            this.eof = dfa_86;
+            this.eof = dfa_98;
             this.min = dfa_87;
             this.max = dfa_88;
             this.accept = dfa_89;
@@ -147344,7 +151865,7 @@
             this.transition = dfa_99;
         }
         public String getDescription() {
-            return "35613:2: ( rule__MediaStyle__UnorderedGroup_3__0 )?";
+            return "35829:2: ( rule__MediaStyle__UnorderedGroup_3__16 )?";
         }
         public int specialStateTransition(int s, IntStream _input) throws NoViableAltException {
             TokenStream input = (TokenStream)_input;
@@ -147357,41 +151878,43 @@
                         int index277_0 = input.index();
                         input.rewind();
                         s = -1;
-                        if ( LA277_0 == 153 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 0) ) {s = 1;}
+                        if ( LA277_0 == 159 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 0) ) {s = 1;}
 
-                        else if ( LA277_0 == 149 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 1) ) {s = 2;}
+                        else if ( LA277_0 == 155 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 1) ) {s = 2;}
 
-                        else if ( LA277_0 == 154 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 2) ) {s = 3;}
+                        else if ( LA277_0 == 160 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 2) ) {s = 3;}
 
-                        else if ( LA277_0 == 156 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 3) ) {s = 4;}
+                        else if ( LA277_0 == 162 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 3) ) {s = 4;}
 
-                        else if ( LA277_0 == 157 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 4) ) {s = 5;}
+                        else if ( LA277_0 == 163 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 4) ) {s = 5;}
 
-                        else if ( LA277_0 == 158 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 5) ) {s = 6;}
+                        else if ( LA277_0 == 164 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 5) ) {s = 6;}
 
-                        else if ( LA277_0 == 159 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 6) ) {s = 7;}
+                        else if ( LA277_0 == 165 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 6) ) {s = 7;}
 
-                        else if ( LA277_0 == 160 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 7) ) {s = 8;}
+                        else if ( LA277_0 == 166 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 7) ) {s = 8;}
 
-                        else if ( LA277_0 == 161 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 8) ) {s = 9;}
+                        else if ( LA277_0 == 167 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 8) ) {s = 9;}
 
-                        else if ( LA277_0 == 162 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 9) ) {s = 10;}
+                        else if ( LA277_0 == 168 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 9) ) {s = 10;}
 
-                        else if ( LA277_0 == 163 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 10) ) {s = 11;}
+                        else if ( LA277_0 == 169 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 10) ) {s = 11;}
 
-                        else if ( LA277_0 == 164 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 11) ) {s = 12;}
+                        else if ( LA277_0 == 170 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 11) ) {s = 12;}
 
-                        else if ( LA277_0 == 165 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 12) ) {s = 13;}
+                        else if ( LA277_0 == 171 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 12) ) {s = 13;}
 
-                        else if ( LA277_0 == 166 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 13) ) {s = 14;}
+                        else if ( LA277_0 == 172 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 13) ) {s = 14;}
 
-                        else if ( LA277_0 == 167 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 14) ) {s = 15;}
+                        else if ( LA277_0 == 173 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 14) ) {s = 15;}
 
-                        else if ( LA277_0 == 168 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 15) ) {s = 16;}
+                        else if ( LA277_0 == 174 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 15) ) {s = 16;}
 
-                        else if ( LA277_0 == 169 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 16) ) {s = 17;}
+                        else if ( LA277_0 == 175 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 16) ) {s = 17;}
 
-                        else if ( (LA277_0==126) ) {s = 18;}
+                        else if ( LA277_0 == 176 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 17) ) {s = 18;}
+
+                        else if ( (LA277_0==EOF||LA277_0==132) ) {s = 19;}
 
                          
                         input.seek(index277_0);
@@ -147411,16 +151934,16 @@
         public DFA278(BaseRecognizer recognizer) {
             this.recognizer = recognizer;
             this.decisionNumber = 278;
-            this.eot = dfa_92;
-            this.eof = dfa_92;
-            this.min = dfa_93;
-            this.max = dfa_94;
-            this.accept = dfa_95;
-            this.special = dfa_96;
-            this.transition = dfa_97;
+            this.eot = dfa_86;
+            this.eof = dfa_98;
+            this.min = dfa_87;
+            this.max = dfa_88;
+            this.accept = dfa_89;
+            this.special = dfa_90;
+            this.transition = dfa_99;
         }
         public String getDescription() {
-            return "35627:3: ( ({...}? => ( ( ( rule__MediaStyle__Group_3_0__0 ) ) ) ) | ({...}? => ( ( ( rule__MediaStyle__Group_3_1__0 ) ) ) ) | ({...}? => ( ( ( rule__MediaStyle__Group_3_2__0 ) ) ) ) | ({...}? => ( ( ( rule__MediaStyle__Group_3_3__0 ) ) ) ) | ({...}? => ( ( ( rule__MediaStyle__Group_3_4__0 ) ) ) ) | ({...}? => ( ( ( rule__MediaStyle__Group_3_5__0 ) ) ) ) | ({...}? => ( ( ( rule__MediaStyle__Group_3_6__0 ) ) ) ) | ({...}? => ( ( ( rule__MediaStyle__Group_3_7__0 ) ) ) ) | ({...}? => ( ( ( rule__MediaStyle__Group_3_8__0 ) ) ) ) | ({...}? => ( ( ( rule__MediaStyle__Group_3_9__0 ) ) ) ) | ({...}? => ( ( ( rule__MediaStyle__Group_3_10__0 ) ) ) ) | ({...}? => ( ( ( rule__MediaStyle__Group_3_11__0 ) ) ) ) | ({...}? => ( ( ( rule__MediaStyle__Group_3_12__0 ) ) ) ) | ({...}? => ( ( ( rule__MediaStyle__Group_3_13__0 ) ) ) ) | ({...}? => ( ( ( rule__MediaStyle__Group_3_14__0 ) ) ) ) | ({...}? => ( ( ( rule__MediaStyle__Group_3_15__0 ) ) ) ) | ({...}? => ( ( ( rule__MediaStyle__Group_3_16__0 ) ) ) ) )";
+            return "35841:2: ( rule__MediaStyle__UnorderedGroup_3__17 )?";
         }
         public int specialStateTransition(int s, IntStream _input) throws NoViableAltException {
             TokenStream input = (TokenStream)_input;
@@ -147433,39 +151956,43 @@
                         int index278_0 = input.index();
                         input.rewind();
                         s = -1;
-                        if ( LA278_0 == 153 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 0) ) {s = 1;}
+                        if ( LA278_0 == 159 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 0) ) {s = 1;}
 
-                        else if ( LA278_0 == 149 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 1) ) {s = 2;}
+                        else if ( LA278_0 == 155 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 1) ) {s = 2;}
 
-                        else if ( LA278_0 == 154 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 2) ) {s = 3;}
+                        else if ( LA278_0 == 160 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 2) ) {s = 3;}
 
-                        else if ( LA278_0 == 156 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 3) ) {s = 4;}
+                        else if ( LA278_0 == 162 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 3) ) {s = 4;}
 
-                        else if ( LA278_0 == 157 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 4) ) {s = 5;}
+                        else if ( LA278_0 == 163 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 4) ) {s = 5;}
 
-                        else if ( LA278_0 == 158 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 5) ) {s = 6;}
+                        else if ( LA278_0 == 164 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 5) ) {s = 6;}
 
-                        else if ( LA278_0 == 159 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 6) ) {s = 7;}
+                        else if ( LA278_0 == 165 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 6) ) {s = 7;}
 
-                        else if ( LA278_0 == 160 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 7) ) {s = 8;}
+                        else if ( LA278_0 == 166 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 7) ) {s = 8;}
 
-                        else if ( LA278_0 == 161 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 8) ) {s = 9;}
+                        else if ( LA278_0 == 167 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 8) ) {s = 9;}
 
-                        else if ( LA278_0 == 162 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 9) ) {s = 10;}
+                        else if ( LA278_0 == 168 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 9) ) {s = 10;}
 
-                        else if ( LA278_0 == 163 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 10) ) {s = 11;}
+                        else if ( LA278_0 == 169 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 10) ) {s = 11;}
 
-                        else if ( LA278_0 == 164 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 11) ) {s = 12;}
+                        else if ( LA278_0 == 170 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 11) ) {s = 12;}
 
-                        else if ( LA278_0 == 165 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 12) ) {s = 13;}
+                        else if ( LA278_0 == 171 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 12) ) {s = 13;}
 
-                        else if ( LA278_0 == 166 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 13) ) {s = 14;}
+                        else if ( LA278_0 == 172 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 13) ) {s = 14;}
 
-                        else if ( LA278_0 == 167 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 14) ) {s = 15;}
+                        else if ( LA278_0 == 173 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 14) ) {s = 15;}
 
-                        else if ( LA278_0 == 168 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 15) ) {s = 16;}
+                        else if ( LA278_0 == 174 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 15) ) {s = 16;}
 
-                        else if ( LA278_0 == 169 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 16) ) {s = 17;}
+                        else if ( LA278_0 == 175 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 16) ) {s = 17;}
+
+                        else if ( LA278_0 == 176 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 17) ) {s = 18;}
+
+                        else if ( (LA278_0==EOF||LA278_0==132) ) {s = 19;}
 
                          
                         input.seek(index278_0);
@@ -147479,1448 +152006,234 @@
             throw nvae;
         }
     }
-
-    class DFA279 extends DFA {
-
-        public DFA279(BaseRecognizer recognizer) {
-            this.recognizer = recognizer;
-            this.decisionNumber = 279;
-            this.eot = dfa_86;
-            this.eof = dfa_98;
-            this.min = dfa_87;
-            this.max = dfa_88;
-            this.accept = dfa_89;
-            this.special = dfa_90;
-            this.transition = dfa_99;
-        }
-        public String getDescription() {
-            return "35897:2: ( rule__MediaStyle__UnorderedGroup_3__1 )?";
-        }
-        public int specialStateTransition(int s, IntStream _input) throws NoViableAltException {
-            TokenStream input = (TokenStream)_input;
-        	int _s = s;
-            switch ( s ) {
-                    case 0 : 
-                        int LA279_0 = input.LA(1);
-
-                         
-                        int index279_0 = input.index();
-                        input.rewind();
-                        s = -1;
-                        if ( LA279_0 == 153 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 0) ) {s = 1;}
-
-                        else if ( LA279_0 == 149 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 1) ) {s = 2;}
-
-                        else if ( LA279_0 == 154 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 2) ) {s = 3;}
-
-                        else if ( LA279_0 == 156 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 3) ) {s = 4;}
-
-                        else if ( LA279_0 == 157 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 4) ) {s = 5;}
-
-                        else if ( LA279_0 == 158 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 5) ) {s = 6;}
-
-                        else if ( LA279_0 == 159 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 6) ) {s = 7;}
-
-                        else if ( LA279_0 == 160 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 7) ) {s = 8;}
-
-                        else if ( LA279_0 == 161 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 8) ) {s = 9;}
-
-                        else if ( LA279_0 == 162 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 9) ) {s = 10;}
-
-                        else if ( LA279_0 == 163 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 10) ) {s = 11;}
-
-                        else if ( LA279_0 == 164 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 11) ) {s = 12;}
-
-                        else if ( LA279_0 == 165 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 12) ) {s = 13;}
-
-                        else if ( LA279_0 == 166 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 13) ) {s = 14;}
-
-                        else if ( LA279_0 == 167 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 14) ) {s = 15;}
-
-                        else if ( LA279_0 == 168 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 15) ) {s = 16;}
-
-                        else if ( LA279_0 == 169 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 16) ) {s = 17;}
-
-                        else if ( (LA279_0==EOF||LA279_0==126) ) {s = 18;}
-
-                         
-                        input.seek(index279_0);
-                        if ( s>=0 ) return s;
-                        break;
-            }
-            if (state.backtracking>0) {state.failed=true; return -1;}
-            NoViableAltException nvae =
-                new NoViableAltException(getDescription(), 279, _s, input);
-            error(nvae);
-            throw nvae;
-        }
-    }
-
-    class DFA280 extends DFA {
-
-        public DFA280(BaseRecognizer recognizer) {
-            this.recognizer = recognizer;
-            this.decisionNumber = 280;
-            this.eot = dfa_86;
-            this.eof = dfa_98;
-            this.min = dfa_87;
-            this.max = dfa_88;
-            this.accept = dfa_89;
-            this.special = dfa_90;
-            this.transition = dfa_99;
-        }
-        public String getDescription() {
-            return "35909:2: ( rule__MediaStyle__UnorderedGroup_3__2 )?";
-        }
-        public int specialStateTransition(int s, IntStream _input) throws NoViableAltException {
-            TokenStream input = (TokenStream)_input;
-        	int _s = s;
-            switch ( s ) {
-                    case 0 : 
-                        int LA280_0 = input.LA(1);
-
-                         
-                        int index280_0 = input.index();
-                        input.rewind();
-                        s = -1;
-                        if ( LA280_0 == 153 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 0) ) {s = 1;}
-
-                        else if ( LA280_0 == 149 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 1) ) {s = 2;}
-
-                        else if ( LA280_0 == 154 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 2) ) {s = 3;}
-
-                        else if ( LA280_0 == 156 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 3) ) {s = 4;}
-
-                        else if ( LA280_0 == 157 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 4) ) {s = 5;}
-
-                        else if ( LA280_0 == 158 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 5) ) {s = 6;}
-
-                        else if ( LA280_0 == 159 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 6) ) {s = 7;}
-
-                        else if ( LA280_0 == 160 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 7) ) {s = 8;}
-
-                        else if ( LA280_0 == 161 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 8) ) {s = 9;}
-
-                        else if ( LA280_0 == 162 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 9) ) {s = 10;}
-
-                        else if ( LA280_0 == 163 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 10) ) {s = 11;}
-
-                        else if ( LA280_0 == 164 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 11) ) {s = 12;}
-
-                        else if ( LA280_0 == 165 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 12) ) {s = 13;}
-
-                        else if ( LA280_0 == 166 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 13) ) {s = 14;}
-
-                        else if ( LA280_0 == 167 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 14) ) {s = 15;}
-
-                        else if ( LA280_0 == 168 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 15) ) {s = 16;}
-
-                        else if ( LA280_0 == 169 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 16) ) {s = 17;}
-
-                        else if ( (LA280_0==EOF||LA280_0==126) ) {s = 18;}
-
-                         
-                        input.seek(index280_0);
-                        if ( s>=0 ) return s;
-                        break;
-            }
-            if (state.backtracking>0) {state.failed=true; return -1;}
-            NoViableAltException nvae =
-                new NoViableAltException(getDescription(), 280, _s, input);
-            error(nvae);
-            throw nvae;
-        }
-    }
-
-    class DFA281 extends DFA {
-
-        public DFA281(BaseRecognizer recognizer) {
-            this.recognizer = recognizer;
-            this.decisionNumber = 281;
-            this.eot = dfa_86;
-            this.eof = dfa_98;
-            this.min = dfa_87;
-            this.max = dfa_88;
-            this.accept = dfa_89;
-            this.special = dfa_90;
-            this.transition = dfa_99;
-        }
-        public String getDescription() {
-            return "35921:2: ( rule__MediaStyle__UnorderedGroup_3__3 )?";
-        }
-        public int specialStateTransition(int s, IntStream _input) throws NoViableAltException {
-            TokenStream input = (TokenStream)_input;
-        	int _s = s;
-            switch ( s ) {
-                    case 0 : 
-                        int LA281_0 = input.LA(1);
-
-                         
-                        int index281_0 = input.index();
-                        input.rewind();
-                        s = -1;
-                        if ( LA281_0 == 153 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 0) ) {s = 1;}
-
-                        else if ( LA281_0 == 149 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 1) ) {s = 2;}
-
-                        else if ( LA281_0 == 154 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 2) ) {s = 3;}
-
-                        else if ( LA281_0 == 156 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 3) ) {s = 4;}
-
-                        else if ( LA281_0 == 157 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 4) ) {s = 5;}
-
-                        else if ( LA281_0 == 158 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 5) ) {s = 6;}
-
-                        else if ( LA281_0 == 159 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 6) ) {s = 7;}
-
-                        else if ( LA281_0 == 160 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 7) ) {s = 8;}
-
-                        else if ( LA281_0 == 161 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 8) ) {s = 9;}
-
-                        else if ( LA281_0 == 162 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 9) ) {s = 10;}
-
-                        else if ( LA281_0 == 163 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 10) ) {s = 11;}
-
-                        else if ( LA281_0 == 164 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 11) ) {s = 12;}
-
-                        else if ( LA281_0 == 165 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 12) ) {s = 13;}
-
-                        else if ( LA281_0 == 166 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 13) ) {s = 14;}
-
-                        else if ( LA281_0 == 167 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 14) ) {s = 15;}
-
-                        else if ( LA281_0 == 168 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 15) ) {s = 16;}
-
-                        else if ( LA281_0 == 169 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 16) ) {s = 17;}
-
-                        else if ( (LA281_0==EOF||LA281_0==126) ) {s = 18;}
-
-                         
-                        input.seek(index281_0);
-                        if ( s>=0 ) return s;
-                        break;
-            }
-            if (state.backtracking>0) {state.failed=true; return -1;}
-            NoViableAltException nvae =
-                new NoViableAltException(getDescription(), 281, _s, input);
-            error(nvae);
-            throw nvae;
-        }
-    }
-
-    class DFA282 extends DFA {
-
-        public DFA282(BaseRecognizer recognizer) {
-            this.recognizer = recognizer;
-            this.decisionNumber = 282;
-            this.eot = dfa_86;
-            this.eof = dfa_98;
-            this.min = dfa_87;
-            this.max = dfa_88;
-            this.accept = dfa_89;
-            this.special = dfa_90;
-            this.transition = dfa_99;
-        }
-        public String getDescription() {
-            return "35933:2: ( rule__MediaStyle__UnorderedGroup_3__4 )?";
-        }
-        public int specialStateTransition(int s, IntStream _input) throws NoViableAltException {
-            TokenStream input = (TokenStream)_input;
-        	int _s = s;
-            switch ( s ) {
-                    case 0 : 
-                        int LA282_0 = input.LA(1);
-
-                         
-                        int index282_0 = input.index();
-                        input.rewind();
-                        s = -1;
-                        if ( LA282_0 == 153 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 0) ) {s = 1;}
-
-                        else if ( LA282_0 == 149 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 1) ) {s = 2;}
-
-                        else if ( LA282_0 == 154 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 2) ) {s = 3;}
-
-                        else if ( LA282_0 == 156 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 3) ) {s = 4;}
-
-                        else if ( LA282_0 == 157 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 4) ) {s = 5;}
-
-                        else if ( LA282_0 == 158 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 5) ) {s = 6;}
-
-                        else if ( LA282_0 == 159 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 6) ) {s = 7;}
-
-                        else if ( LA282_0 == 160 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 7) ) {s = 8;}
-
-                        else if ( LA282_0 == 161 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 8) ) {s = 9;}
-
-                        else if ( LA282_0 == 162 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 9) ) {s = 10;}
-
-                        else if ( LA282_0 == 163 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 10) ) {s = 11;}
-
-                        else if ( LA282_0 == 164 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 11) ) {s = 12;}
-
-                        else if ( LA282_0 == 165 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 12) ) {s = 13;}
-
-                        else if ( LA282_0 == 166 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 13) ) {s = 14;}
-
-                        else if ( LA282_0 == 167 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 14) ) {s = 15;}
-
-                        else if ( LA282_0 == 168 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 15) ) {s = 16;}
-
-                        else if ( LA282_0 == 169 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 16) ) {s = 17;}
-
-                        else if ( (LA282_0==EOF||LA282_0==126) ) {s = 18;}
-
-                         
-                        input.seek(index282_0);
-                        if ( s>=0 ) return s;
-                        break;
-            }
-            if (state.backtracking>0) {state.failed=true; return -1;}
-            NoViableAltException nvae =
-                new NoViableAltException(getDescription(), 282, _s, input);
-            error(nvae);
-            throw nvae;
-        }
-    }
-
-    class DFA283 extends DFA {
-
-        public DFA283(BaseRecognizer recognizer) {
-            this.recognizer = recognizer;
-            this.decisionNumber = 283;
-            this.eot = dfa_86;
-            this.eof = dfa_98;
-            this.min = dfa_87;
-            this.max = dfa_88;
-            this.accept = dfa_89;
-            this.special = dfa_90;
-            this.transition = dfa_99;
-        }
-        public String getDescription() {
-            return "35945:2: ( rule__MediaStyle__UnorderedGroup_3__5 )?";
-        }
-        public int specialStateTransition(int s, IntStream _input) throws NoViableAltException {
-            TokenStream input = (TokenStream)_input;
-        	int _s = s;
-            switch ( s ) {
-                    case 0 : 
-                        int LA283_0 = input.LA(1);
-
-                         
-                        int index283_0 = input.index();
-                        input.rewind();
-                        s = -1;
-                        if ( LA283_0 == 153 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 0) ) {s = 1;}
-
-                        else if ( LA283_0 == 149 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 1) ) {s = 2;}
-
-                        else if ( LA283_0 == 154 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 2) ) {s = 3;}
-
-                        else if ( LA283_0 == 156 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 3) ) {s = 4;}
-
-                        else if ( LA283_0 == 157 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 4) ) {s = 5;}
-
-                        else if ( LA283_0 == 158 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 5) ) {s = 6;}
-
-                        else if ( LA283_0 == 159 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 6) ) {s = 7;}
-
-                        else if ( LA283_0 == 160 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 7) ) {s = 8;}
-
-                        else if ( LA283_0 == 161 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 8) ) {s = 9;}
-
-                        else if ( LA283_0 == 162 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 9) ) {s = 10;}
-
-                        else if ( LA283_0 == 163 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 10) ) {s = 11;}
-
-                        else if ( LA283_0 == 164 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 11) ) {s = 12;}
-
-                        else if ( LA283_0 == 165 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 12) ) {s = 13;}
-
-                        else if ( LA283_0 == 166 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 13) ) {s = 14;}
-
-                        else if ( LA283_0 == 167 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 14) ) {s = 15;}
-
-                        else if ( LA283_0 == 168 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 15) ) {s = 16;}
-
-                        else if ( LA283_0 == 169 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 16) ) {s = 17;}
-
-                        else if ( (LA283_0==EOF||LA283_0==126) ) {s = 18;}
-
-                         
-                        input.seek(index283_0);
-                        if ( s>=0 ) return s;
-                        break;
-            }
-            if (state.backtracking>0) {state.failed=true; return -1;}
-            NoViableAltException nvae =
-                new NoViableAltException(getDescription(), 283, _s, input);
-            error(nvae);
-            throw nvae;
-        }
-    }
-
-    class DFA284 extends DFA {
-
-        public DFA284(BaseRecognizer recognizer) {
-            this.recognizer = recognizer;
-            this.decisionNumber = 284;
-            this.eot = dfa_86;
-            this.eof = dfa_98;
-            this.min = dfa_87;
-            this.max = dfa_88;
-            this.accept = dfa_89;
-            this.special = dfa_90;
-            this.transition = dfa_99;
-        }
-        public String getDescription() {
-            return "35957:2: ( rule__MediaStyle__UnorderedGroup_3__6 )?";
-        }
-        public int specialStateTransition(int s, IntStream _input) throws NoViableAltException {
-            TokenStream input = (TokenStream)_input;
-        	int _s = s;
-            switch ( s ) {
-                    case 0 : 
-                        int LA284_0 = input.LA(1);
-
-                         
-                        int index284_0 = input.index();
-                        input.rewind();
-                        s = -1;
-                        if ( LA284_0 == 153 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 0) ) {s = 1;}
-
-                        else if ( LA284_0 == 149 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 1) ) {s = 2;}
-
-                        else if ( LA284_0 == 154 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 2) ) {s = 3;}
-
-                        else if ( LA284_0 == 156 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 3) ) {s = 4;}
-
-                        else if ( LA284_0 == 157 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 4) ) {s = 5;}
-
-                        else if ( LA284_0 == 158 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 5) ) {s = 6;}
-
-                        else if ( LA284_0 == 159 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 6) ) {s = 7;}
-
-                        else if ( LA284_0 == 160 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 7) ) {s = 8;}
-
-                        else if ( LA284_0 == 161 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 8) ) {s = 9;}
-
-                        else if ( LA284_0 == 162 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 9) ) {s = 10;}
-
-                        else if ( LA284_0 == 163 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 10) ) {s = 11;}
-
-                        else if ( LA284_0 == 164 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 11) ) {s = 12;}
-
-                        else if ( LA284_0 == 165 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 12) ) {s = 13;}
-
-                        else if ( LA284_0 == 166 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 13) ) {s = 14;}
-
-                        else if ( LA284_0 == 167 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 14) ) {s = 15;}
-
-                        else if ( LA284_0 == 168 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 15) ) {s = 16;}
-
-                        else if ( LA284_0 == 169 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 16) ) {s = 17;}
-
-                        else if ( (LA284_0==EOF||LA284_0==126) ) {s = 18;}
-
-                         
-                        input.seek(index284_0);
-                        if ( s>=0 ) return s;
-                        break;
-            }
-            if (state.backtracking>0) {state.failed=true; return -1;}
-            NoViableAltException nvae =
-                new NoViableAltException(getDescription(), 284, _s, input);
-            error(nvae);
-            throw nvae;
-        }
-    }
-
-    class DFA285 extends DFA {
-
-        public DFA285(BaseRecognizer recognizer) {
-            this.recognizer = recognizer;
-            this.decisionNumber = 285;
-            this.eot = dfa_86;
-            this.eof = dfa_98;
-            this.min = dfa_87;
-            this.max = dfa_88;
-            this.accept = dfa_89;
-            this.special = dfa_90;
-            this.transition = dfa_99;
-        }
-        public String getDescription() {
-            return "35969:2: ( rule__MediaStyle__UnorderedGroup_3__7 )?";
-        }
-        public int specialStateTransition(int s, IntStream _input) throws NoViableAltException {
-            TokenStream input = (TokenStream)_input;
-        	int _s = s;
-            switch ( s ) {
-                    case 0 : 
-                        int LA285_0 = input.LA(1);
-
-                         
-                        int index285_0 = input.index();
-                        input.rewind();
-                        s = -1;
-                        if ( LA285_0 == 153 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 0) ) {s = 1;}
-
-                        else if ( LA285_0 == 149 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 1) ) {s = 2;}
-
-                        else if ( LA285_0 == 154 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 2) ) {s = 3;}
-
-                        else if ( LA285_0 == 156 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 3) ) {s = 4;}
-
-                        else if ( LA285_0 == 157 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 4) ) {s = 5;}
-
-                        else if ( LA285_0 == 158 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 5) ) {s = 6;}
-
-                        else if ( LA285_0 == 159 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 6) ) {s = 7;}
-
-                        else if ( LA285_0 == 160 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 7) ) {s = 8;}
-
-                        else if ( LA285_0 == 161 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 8) ) {s = 9;}
-
-                        else if ( LA285_0 == 162 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 9) ) {s = 10;}
-
-                        else if ( LA285_0 == 163 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 10) ) {s = 11;}
-
-                        else if ( LA285_0 == 164 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 11) ) {s = 12;}
-
-                        else if ( LA285_0 == 165 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 12) ) {s = 13;}
-
-                        else if ( LA285_0 == 166 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 13) ) {s = 14;}
-
-                        else if ( LA285_0 == 167 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 14) ) {s = 15;}
-
-                        else if ( LA285_0 == 168 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 15) ) {s = 16;}
-
-                        else if ( LA285_0 == 169 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 16) ) {s = 17;}
-
-                        else if ( (LA285_0==EOF||LA285_0==126) ) {s = 18;}
-
-                         
-                        input.seek(index285_0);
-                        if ( s>=0 ) return s;
-                        break;
-            }
-            if (state.backtracking>0) {state.failed=true; return -1;}
-            NoViableAltException nvae =
-                new NoViableAltException(getDescription(), 285, _s, input);
-            error(nvae);
-            throw nvae;
-        }
-    }
-
-    class DFA286 extends DFA {
-
-        public DFA286(BaseRecognizer recognizer) {
-            this.recognizer = recognizer;
-            this.decisionNumber = 286;
-            this.eot = dfa_86;
-            this.eof = dfa_98;
-            this.min = dfa_87;
-            this.max = dfa_88;
-            this.accept = dfa_89;
-            this.special = dfa_90;
-            this.transition = dfa_99;
-        }
-        public String getDescription() {
-            return "35981:2: ( rule__MediaStyle__UnorderedGroup_3__8 )?";
-        }
-        public int specialStateTransition(int s, IntStream _input) throws NoViableAltException {
-            TokenStream input = (TokenStream)_input;
-        	int _s = s;
-            switch ( s ) {
-                    case 0 : 
-                        int LA286_0 = input.LA(1);
-
-                         
-                        int index286_0 = input.index();
-                        input.rewind();
-                        s = -1;
-                        if ( LA286_0 == 153 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 0) ) {s = 1;}
-
-                        else if ( LA286_0 == 149 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 1) ) {s = 2;}
-
-                        else if ( LA286_0 == 154 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 2) ) {s = 3;}
-
-                        else if ( LA286_0 == 156 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 3) ) {s = 4;}
-
-                        else if ( LA286_0 == 157 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 4) ) {s = 5;}
-
-                        else if ( LA286_0 == 158 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 5) ) {s = 6;}
-
-                        else if ( LA286_0 == 159 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 6) ) {s = 7;}
-
-                        else if ( LA286_0 == 160 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 7) ) {s = 8;}
-
-                        else if ( LA286_0 == 161 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 8) ) {s = 9;}
-
-                        else if ( LA286_0 == 162 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 9) ) {s = 10;}
-
-                        else if ( LA286_0 == 163 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 10) ) {s = 11;}
-
-                        else if ( LA286_0 == 164 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 11) ) {s = 12;}
-
-                        else if ( LA286_0 == 165 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 12) ) {s = 13;}
-
-                        else if ( LA286_0 == 166 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 13) ) {s = 14;}
-
-                        else if ( LA286_0 == 167 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 14) ) {s = 15;}
-
-                        else if ( LA286_0 == 168 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 15) ) {s = 16;}
-
-                        else if ( LA286_0 == 169 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 16) ) {s = 17;}
-
-                        else if ( (LA286_0==EOF||LA286_0==126) ) {s = 18;}
-
-                         
-                        input.seek(index286_0);
-                        if ( s>=0 ) return s;
-                        break;
-            }
-            if (state.backtracking>0) {state.failed=true; return -1;}
-            NoViableAltException nvae =
-                new NoViableAltException(getDescription(), 286, _s, input);
-            error(nvae);
-            throw nvae;
-        }
-    }
-
-    class DFA287 extends DFA {
-
-        public DFA287(BaseRecognizer recognizer) {
-            this.recognizer = recognizer;
-            this.decisionNumber = 287;
-            this.eot = dfa_86;
-            this.eof = dfa_98;
-            this.min = dfa_87;
-            this.max = dfa_88;
-            this.accept = dfa_89;
-            this.special = dfa_90;
-            this.transition = dfa_99;
-        }
-        public String getDescription() {
-            return "35993:2: ( rule__MediaStyle__UnorderedGroup_3__9 )?";
-        }
-        public int specialStateTransition(int s, IntStream _input) throws NoViableAltException {
-            TokenStream input = (TokenStream)_input;
-        	int _s = s;
-            switch ( s ) {
-                    case 0 : 
-                        int LA287_0 = input.LA(1);
-
-                         
-                        int index287_0 = input.index();
-                        input.rewind();
-                        s = -1;
-                        if ( LA287_0 == 153 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 0) ) {s = 1;}
-
-                        else if ( LA287_0 == 149 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 1) ) {s = 2;}
-
-                        else if ( LA287_0 == 154 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 2) ) {s = 3;}
-
-                        else if ( LA287_0 == 156 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 3) ) {s = 4;}
-
-                        else if ( LA287_0 == 157 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 4) ) {s = 5;}
-
-                        else if ( LA287_0 == 158 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 5) ) {s = 6;}
-
-                        else if ( LA287_0 == 159 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 6) ) {s = 7;}
-
-                        else if ( LA287_0 == 160 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 7) ) {s = 8;}
-
-                        else if ( LA287_0 == 161 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 8) ) {s = 9;}
-
-                        else if ( LA287_0 == 162 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 9) ) {s = 10;}
-
-                        else if ( LA287_0 == 163 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 10) ) {s = 11;}
-
-                        else if ( LA287_0 == 164 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 11) ) {s = 12;}
-
-                        else if ( LA287_0 == 165 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 12) ) {s = 13;}
-
-                        else if ( LA287_0 == 166 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 13) ) {s = 14;}
-
-                        else if ( LA287_0 == 167 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 14) ) {s = 15;}
-
-                        else if ( LA287_0 == 168 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 15) ) {s = 16;}
-
-                        else if ( LA287_0 == 169 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 16) ) {s = 17;}
-
-                        else if ( (LA287_0==EOF||LA287_0==126) ) {s = 18;}
-
-                         
-                        input.seek(index287_0);
-                        if ( s>=0 ) return s;
-                        break;
-            }
-            if (state.backtracking>0) {state.failed=true; return -1;}
-            NoViableAltException nvae =
-                new NoViableAltException(getDescription(), 287, _s, input);
-            error(nvae);
-            throw nvae;
-        }
-    }
-
-    class DFA288 extends DFA {
-
-        public DFA288(BaseRecognizer recognizer) {
-            this.recognizer = recognizer;
-            this.decisionNumber = 288;
-            this.eot = dfa_86;
-            this.eof = dfa_98;
-            this.min = dfa_87;
-            this.max = dfa_88;
-            this.accept = dfa_89;
-            this.special = dfa_90;
-            this.transition = dfa_99;
-        }
-        public String getDescription() {
-            return "36005:2: ( rule__MediaStyle__UnorderedGroup_3__10 )?";
-        }
-        public int specialStateTransition(int s, IntStream _input) throws NoViableAltException {
-            TokenStream input = (TokenStream)_input;
-        	int _s = s;
-            switch ( s ) {
-                    case 0 : 
-                        int LA288_0 = input.LA(1);
-
-                         
-                        int index288_0 = input.index();
-                        input.rewind();
-                        s = -1;
-                        if ( LA288_0 == 153 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 0) ) {s = 1;}
-
-                        else if ( LA288_0 == 149 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 1) ) {s = 2;}
-
-                        else if ( LA288_0 == 154 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 2) ) {s = 3;}
-
-                        else if ( LA288_0 == 156 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 3) ) {s = 4;}
-
-                        else if ( LA288_0 == 157 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 4) ) {s = 5;}
-
-                        else if ( LA288_0 == 158 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 5) ) {s = 6;}
-
-                        else if ( LA288_0 == 159 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 6) ) {s = 7;}
-
-                        else if ( LA288_0 == 160 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 7) ) {s = 8;}
-
-                        else if ( LA288_0 == 161 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 8) ) {s = 9;}
-
-                        else if ( LA288_0 == 162 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 9) ) {s = 10;}
-
-                        else if ( LA288_0 == 163 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 10) ) {s = 11;}
-
-                        else if ( LA288_0 == 164 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 11) ) {s = 12;}
-
-                        else if ( LA288_0 == 165 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 12) ) {s = 13;}
-
-                        else if ( LA288_0 == 166 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 13) ) {s = 14;}
-
-                        else if ( LA288_0 == 167 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 14) ) {s = 15;}
-
-                        else if ( LA288_0 == 168 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 15) ) {s = 16;}
-
-                        else if ( LA288_0 == 169 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 16) ) {s = 17;}
-
-                        else if ( (LA288_0==EOF||LA288_0==126) ) {s = 18;}
-
-                         
-                        input.seek(index288_0);
-                        if ( s>=0 ) return s;
-                        break;
-            }
-            if (state.backtracking>0) {state.failed=true; return -1;}
-            NoViableAltException nvae =
-                new NoViableAltException(getDescription(), 288, _s, input);
-            error(nvae);
-            throw nvae;
-        }
-    }
-
-    class DFA289 extends DFA {
-
-        public DFA289(BaseRecognizer recognizer) {
-            this.recognizer = recognizer;
-            this.decisionNumber = 289;
-            this.eot = dfa_86;
-            this.eof = dfa_98;
-            this.min = dfa_87;
-            this.max = dfa_88;
-            this.accept = dfa_89;
-            this.special = dfa_90;
-            this.transition = dfa_99;
-        }
-        public String getDescription() {
-            return "36017:2: ( rule__MediaStyle__UnorderedGroup_3__11 )?";
-        }
-        public int specialStateTransition(int s, IntStream _input) throws NoViableAltException {
-            TokenStream input = (TokenStream)_input;
-        	int _s = s;
-            switch ( s ) {
-                    case 0 : 
-                        int LA289_0 = input.LA(1);
-
-                         
-                        int index289_0 = input.index();
-                        input.rewind();
-                        s = -1;
-                        if ( LA289_0 == 153 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 0) ) {s = 1;}
-
-                        else if ( LA289_0 == 149 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 1) ) {s = 2;}
-
-                        else if ( LA289_0 == 154 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 2) ) {s = 3;}
-
-                        else if ( LA289_0 == 156 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 3) ) {s = 4;}
-
-                        else if ( LA289_0 == 157 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 4) ) {s = 5;}
-
-                        else if ( LA289_0 == 158 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 5) ) {s = 6;}
-
-                        else if ( LA289_0 == 159 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 6) ) {s = 7;}
-
-                        else if ( LA289_0 == 160 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 7) ) {s = 8;}
-
-                        else if ( LA289_0 == 161 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 8) ) {s = 9;}
-
-                        else if ( LA289_0 == 162 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 9) ) {s = 10;}
-
-                        else if ( LA289_0 == 163 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 10) ) {s = 11;}
-
-                        else if ( LA289_0 == 164 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 11) ) {s = 12;}
-
-                        else if ( LA289_0 == 165 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 12) ) {s = 13;}
-
-                        else if ( LA289_0 == 166 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 13) ) {s = 14;}
-
-                        else if ( LA289_0 == 167 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 14) ) {s = 15;}
-
-                        else if ( LA289_0 == 168 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 15) ) {s = 16;}
-
-                        else if ( LA289_0 == 169 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 16) ) {s = 17;}
-
-                        else if ( (LA289_0==EOF||LA289_0==126) ) {s = 18;}
-
-                         
-                        input.seek(index289_0);
-                        if ( s>=0 ) return s;
-                        break;
-            }
-            if (state.backtracking>0) {state.failed=true; return -1;}
-            NoViableAltException nvae =
-                new NoViableAltException(getDescription(), 289, _s, input);
-            error(nvae);
-            throw nvae;
-        }
-    }
-
-    class DFA290 extends DFA {
-
-        public DFA290(BaseRecognizer recognizer) {
-            this.recognizer = recognizer;
-            this.decisionNumber = 290;
-            this.eot = dfa_86;
-            this.eof = dfa_98;
-            this.min = dfa_87;
-            this.max = dfa_88;
-            this.accept = dfa_89;
-            this.special = dfa_90;
-            this.transition = dfa_99;
-        }
-        public String getDescription() {
-            return "36029:2: ( rule__MediaStyle__UnorderedGroup_3__12 )?";
-        }
-        public int specialStateTransition(int s, IntStream _input) throws NoViableAltException {
-            TokenStream input = (TokenStream)_input;
-        	int _s = s;
-            switch ( s ) {
-                    case 0 : 
-                        int LA290_0 = input.LA(1);
-
-                         
-                        int index290_0 = input.index();
-                        input.rewind();
-                        s = -1;
-                        if ( LA290_0 == 153 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 0) ) {s = 1;}
-
-                        else if ( LA290_0 == 149 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 1) ) {s = 2;}
-
-                        else if ( LA290_0 == 154 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 2) ) {s = 3;}
-
-                        else if ( LA290_0 == 156 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 3) ) {s = 4;}
-
-                        else if ( LA290_0 == 157 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 4) ) {s = 5;}
-
-                        else if ( LA290_0 == 158 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 5) ) {s = 6;}
-
-                        else if ( LA290_0 == 159 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 6) ) {s = 7;}
-
-                        else if ( LA290_0 == 160 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 7) ) {s = 8;}
-
-                        else if ( LA290_0 == 161 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 8) ) {s = 9;}
-
-                        else if ( LA290_0 == 162 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 9) ) {s = 10;}
-
-                        else if ( LA290_0 == 163 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 10) ) {s = 11;}
-
-                        else if ( LA290_0 == 164 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 11) ) {s = 12;}
-
-                        else if ( LA290_0 == 165 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 12) ) {s = 13;}
-
-                        else if ( LA290_0 == 166 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 13) ) {s = 14;}
-
-                        else if ( LA290_0 == 167 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 14) ) {s = 15;}
-
-                        else if ( LA290_0 == 168 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 15) ) {s = 16;}
-
-                        else if ( LA290_0 == 169 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 16) ) {s = 17;}
-
-                        else if ( (LA290_0==EOF||LA290_0==126) ) {s = 18;}
-
-                         
-                        input.seek(index290_0);
-                        if ( s>=0 ) return s;
-                        break;
-            }
-            if (state.backtracking>0) {state.failed=true; return -1;}
-            NoViableAltException nvae =
-                new NoViableAltException(getDescription(), 290, _s, input);
-            error(nvae);
-            throw nvae;
-        }
-    }
-
-    class DFA291 extends DFA {
-
-        public DFA291(BaseRecognizer recognizer) {
-            this.recognizer = recognizer;
-            this.decisionNumber = 291;
-            this.eot = dfa_86;
-            this.eof = dfa_98;
-            this.min = dfa_87;
-            this.max = dfa_88;
-            this.accept = dfa_89;
-            this.special = dfa_90;
-            this.transition = dfa_99;
-        }
-        public String getDescription() {
-            return "36041:2: ( rule__MediaStyle__UnorderedGroup_3__13 )?";
-        }
-        public int specialStateTransition(int s, IntStream _input) throws NoViableAltException {
-            TokenStream input = (TokenStream)_input;
-        	int _s = s;
-            switch ( s ) {
-                    case 0 : 
-                        int LA291_0 = input.LA(1);
-
-                         
-                        int index291_0 = input.index();
-                        input.rewind();
-                        s = -1;
-                        if ( LA291_0 == 153 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 0) ) {s = 1;}
-
-                        else if ( LA291_0 == 149 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 1) ) {s = 2;}
-
-                        else if ( LA291_0 == 154 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 2) ) {s = 3;}
-
-                        else if ( LA291_0 == 156 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 3) ) {s = 4;}
-
-                        else if ( LA291_0 == 157 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 4) ) {s = 5;}
-
-                        else if ( LA291_0 == 158 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 5) ) {s = 6;}
-
-                        else if ( LA291_0 == 159 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 6) ) {s = 7;}
-
-                        else if ( LA291_0 == 160 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 7) ) {s = 8;}
-
-                        else if ( LA291_0 == 161 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 8) ) {s = 9;}
-
-                        else if ( LA291_0 == 162 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 9) ) {s = 10;}
-
-                        else if ( LA291_0 == 163 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 10) ) {s = 11;}
-
-                        else if ( LA291_0 == 164 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 11) ) {s = 12;}
-
-                        else if ( LA291_0 == 165 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 12) ) {s = 13;}
-
-                        else if ( LA291_0 == 166 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 13) ) {s = 14;}
-
-                        else if ( LA291_0 == 167 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 14) ) {s = 15;}
-
-                        else if ( LA291_0 == 168 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 15) ) {s = 16;}
-
-                        else if ( LA291_0 == 169 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 16) ) {s = 17;}
-
-                        else if ( (LA291_0==EOF||LA291_0==126) ) {s = 18;}
-
-                         
-                        input.seek(index291_0);
-                        if ( s>=0 ) return s;
-                        break;
-            }
-            if (state.backtracking>0) {state.failed=true; return -1;}
-            NoViableAltException nvae =
-                new NoViableAltException(getDescription(), 291, _s, input);
-            error(nvae);
-            throw nvae;
-        }
-    }
-
-    class DFA292 extends DFA {
-
-        public DFA292(BaseRecognizer recognizer) {
-            this.recognizer = recognizer;
-            this.decisionNumber = 292;
-            this.eot = dfa_86;
-            this.eof = dfa_98;
-            this.min = dfa_87;
-            this.max = dfa_88;
-            this.accept = dfa_89;
-            this.special = dfa_90;
-            this.transition = dfa_99;
-        }
-        public String getDescription() {
-            return "36053:2: ( rule__MediaStyle__UnorderedGroup_3__14 )?";
-        }
-        public int specialStateTransition(int s, IntStream _input) throws NoViableAltException {
-            TokenStream input = (TokenStream)_input;
-        	int _s = s;
-            switch ( s ) {
-                    case 0 : 
-                        int LA292_0 = input.LA(1);
-
-                         
-                        int index292_0 = input.index();
-                        input.rewind();
-                        s = -1;
-                        if ( LA292_0 == 153 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 0) ) {s = 1;}
-
-                        else if ( LA292_0 == 149 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 1) ) {s = 2;}
-
-                        else if ( LA292_0 == 154 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 2) ) {s = 3;}
-
-                        else if ( LA292_0 == 156 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 3) ) {s = 4;}
-
-                        else if ( LA292_0 == 157 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 4) ) {s = 5;}
-
-                        else if ( LA292_0 == 158 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 5) ) {s = 6;}
-
-                        else if ( LA292_0 == 159 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 6) ) {s = 7;}
-
-                        else if ( LA292_0 == 160 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 7) ) {s = 8;}
-
-                        else if ( LA292_0 == 161 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 8) ) {s = 9;}
-
-                        else if ( LA292_0 == 162 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 9) ) {s = 10;}
-
-                        else if ( LA292_0 == 163 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 10) ) {s = 11;}
-
-                        else if ( LA292_0 == 164 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 11) ) {s = 12;}
-
-                        else if ( LA292_0 == 165 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 12) ) {s = 13;}
-
-                        else if ( LA292_0 == 166 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 13) ) {s = 14;}
-
-                        else if ( LA292_0 == 167 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 14) ) {s = 15;}
-
-                        else if ( LA292_0 == 168 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 15) ) {s = 16;}
-
-                        else if ( LA292_0 == 169 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 16) ) {s = 17;}
-
-                        else if ( (LA292_0==EOF||LA292_0==126) ) {s = 18;}
-
-                         
-                        input.seek(index292_0);
-                        if ( s>=0 ) return s;
-                        break;
-            }
-            if (state.backtracking>0) {state.failed=true; return -1;}
-            NoViableAltException nvae =
-                new NoViableAltException(getDescription(), 292, _s, input);
-            error(nvae);
-            throw nvae;
-        }
-    }
-
-    class DFA293 extends DFA {
-
-        public DFA293(BaseRecognizer recognizer) {
-            this.recognizer = recognizer;
-            this.decisionNumber = 293;
-            this.eot = dfa_86;
-            this.eof = dfa_98;
-            this.min = dfa_87;
-            this.max = dfa_88;
-            this.accept = dfa_89;
-            this.special = dfa_90;
-            this.transition = dfa_99;
-        }
-        public String getDescription() {
-            return "36065:2: ( rule__MediaStyle__UnorderedGroup_3__15 )?";
-        }
-        public int specialStateTransition(int s, IntStream _input) throws NoViableAltException {
-            TokenStream input = (TokenStream)_input;
-        	int _s = s;
-            switch ( s ) {
-                    case 0 : 
-                        int LA293_0 = input.LA(1);
-
-                         
-                        int index293_0 = input.index();
-                        input.rewind();
-                        s = -1;
-                        if ( LA293_0 == 153 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 0) ) {s = 1;}
-
-                        else if ( LA293_0 == 149 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 1) ) {s = 2;}
-
-                        else if ( LA293_0 == 154 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 2) ) {s = 3;}
-
-                        else if ( LA293_0 == 156 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 3) ) {s = 4;}
-
-                        else if ( LA293_0 == 157 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 4) ) {s = 5;}
-
-                        else if ( LA293_0 == 158 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 5) ) {s = 6;}
-
-                        else if ( LA293_0 == 159 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 6) ) {s = 7;}
-
-                        else if ( LA293_0 == 160 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 7) ) {s = 8;}
-
-                        else if ( LA293_0 == 161 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 8) ) {s = 9;}
-
-                        else if ( LA293_0 == 162 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 9) ) {s = 10;}
-
-                        else if ( LA293_0 == 163 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 10) ) {s = 11;}
-
-                        else if ( LA293_0 == 164 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 11) ) {s = 12;}
-
-                        else if ( LA293_0 == 165 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 12) ) {s = 13;}
-
-                        else if ( LA293_0 == 166 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 13) ) {s = 14;}
-
-                        else if ( LA293_0 == 167 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 14) ) {s = 15;}
-
-                        else if ( LA293_0 == 168 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 15) ) {s = 16;}
-
-                        else if ( LA293_0 == 169 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 16) ) {s = 17;}
-
-                        else if ( (LA293_0==EOF||LA293_0==126) ) {s = 18;}
-
-                         
-                        input.seek(index293_0);
-                        if ( s>=0 ) return s;
-                        break;
-            }
-            if (state.backtracking>0) {state.failed=true; return -1;}
-            NoViableAltException nvae =
-                new NoViableAltException(getDescription(), 293, _s, input);
-            error(nvae);
-            throw nvae;
-        }
-    }
-
-    class DFA294 extends DFA {
-
-        public DFA294(BaseRecognizer recognizer) {
-            this.recognizer = recognizer;
-            this.decisionNumber = 294;
-            this.eot = dfa_86;
-            this.eof = dfa_98;
-            this.min = dfa_87;
-            this.max = dfa_88;
-            this.accept = dfa_89;
-            this.special = dfa_90;
-            this.transition = dfa_99;
-        }
-        public String getDescription() {
-            return "36077:2: ( rule__MediaStyle__UnorderedGroup_3__16 )?";
-        }
-        public int specialStateTransition(int s, IntStream _input) throws NoViableAltException {
-            TokenStream input = (TokenStream)_input;
-        	int _s = s;
-            switch ( s ) {
-                    case 0 : 
-                        int LA294_0 = input.LA(1);
-
-                         
-                        int index294_0 = input.index();
-                        input.rewind();
-                        s = -1;
-                        if ( LA294_0 == 153 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 0) ) {s = 1;}
-
-                        else if ( LA294_0 == 149 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 1) ) {s = 2;}
-
-                        else if ( LA294_0 == 154 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 2) ) {s = 3;}
-
-                        else if ( LA294_0 == 156 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 3) ) {s = 4;}
-
-                        else if ( LA294_0 == 157 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 4) ) {s = 5;}
-
-                        else if ( LA294_0 == 158 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 5) ) {s = 6;}
-
-                        else if ( LA294_0 == 159 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 6) ) {s = 7;}
-
-                        else if ( LA294_0 == 160 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 7) ) {s = 8;}
-
-                        else if ( LA294_0 == 161 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 8) ) {s = 9;}
-
-                        else if ( LA294_0 == 162 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 9) ) {s = 10;}
-
-                        else if ( LA294_0 == 163 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 10) ) {s = 11;}
-
-                        else if ( LA294_0 == 164 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 11) ) {s = 12;}
-
-                        else if ( LA294_0 == 165 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 12) ) {s = 13;}
-
-                        else if ( LA294_0 == 166 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 13) ) {s = 14;}
-
-                        else if ( LA294_0 == 167 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 14) ) {s = 15;}
-
-                        else if ( LA294_0 == 168 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 15) ) {s = 16;}
-
-                        else if ( LA294_0 == 169 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 16) ) {s = 17;}
-
-                        else if ( (LA294_0==EOF||LA294_0==126) ) {s = 18;}
-
-                         
-                        input.seek(index294_0);
-                        if ( s>=0 ) return s;
-                        break;
-            }
-            if (state.backtracking>0) {state.failed=true; return -1;}
-            NoViableAltException nvae =
-                new NoViableAltException(getDescription(), 294, _s, input);
-            error(nvae);
-            throw nvae;
-        }
-    }
  
 
     public static final BitSet FOLLOW_1 = new BitSet(new long[]{0x0000000000000000L});
     public static final BitSet FOLLOW_2 = new BitSet(new long[]{0x0000000000000002L});
     public static final BitSet FOLLOW_3 = new BitSet(new long[]{0x0008000000000002L});
     public static final BitSet FOLLOW_4 = new BitSet(new long[]{0x0000000000000022L});
-    public static final BitSet FOLLOW_5 = new BitSet(new long[]{0x0000000000000000L,0x1000000000000000L});
-    public static final BitSet FOLLOW_6 = new BitSet(new long[]{0x0000000000000002L,0x1000000000000000L});
+    public static final BitSet FOLLOW_5 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000004L});
+    public static final BitSet FOLLOW_6 = new BitSet(new long[]{0x0000000000000002L,0x0000000000000000L,0x0000000000000004L});
     public static final BitSet FOLLOW_7 = new BitSet(new long[]{0x0000000000000020L});
-    public static final BitSet FOLLOW_8 = new BitSet(new long[]{0x0000000000000000L,0x2000000000000000L});
-    public static final BitSet FOLLOW_9 = new BitSet(new long[]{0x0000000000000000L,0xC000000000000000L,0x0000100000000000L});
-    public static final BitSet FOLLOW_10 = new BitSet(new long[]{0x0000000000000002L,0x0000000000000000L,0x0000100000000000L});
-    public static final BitSet FOLLOW_11 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000005L});
-    public static final BitSet FOLLOW_12 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000008L});
-    public static final BitSet FOLLOW_13 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000010L});
-    public static final BitSet FOLLOW_14 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000020L});
-    public static final BitSet FOLLOW_15 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000080L});
-    public static final BitSet FOLLOW_16 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000100L});
-    public static final BitSet FOLLOW_17 = new BitSet(new long[]{0x0000000000000000L,0x4000000000000000L});
+    public static final BitSet FOLLOW_8 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000008L});
+    public static final BitSet FOLLOW_9 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0008000000000030L});
+    public static final BitSet FOLLOW_10 = new BitSet(new long[]{0x0000000000000002L,0x0000000000000000L,0x0008000000000000L});
+    public static final BitSet FOLLOW_11 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000140L});
+    public static final BitSet FOLLOW_12 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000200L});
+    public static final BitSet FOLLOW_13 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000400L});
+    public static final BitSet FOLLOW_14 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000800L});
+    public static final BitSet FOLLOW_15 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000002000L});
+    public static final BitSet FOLLOW_16 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000004000L});
+    public static final BitSet FOLLOW_17 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000010L});
     public static final BitSet FOLLOW_18 = new BitSet(new long[]{0x0000000000000010L});
-    public static final BitSet FOLLOW_19 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000002L});
-    public static final BitSet FOLLOW_20 = new BitSet(new long[]{0x0000000000000002L,0x0000000000000000L,0x0000000000000100L});
-    public static final BitSet FOLLOW_21 = new BitSet(new long[]{0x0000000000000000L,0x4000000000400000L,0x0001E40000000000L});
-    public static final BitSet FOLLOW_22 = new BitSet(new long[]{0x0000000000000002L,0x0000000000400000L,0x0001E40000000000L});
-    public static final BitSet FOLLOW_23 = new BitSet(new long[]{0x0000000000000000L,0x4000000000000000L,0x0000000000008000L});
-    public static final BitSet FOLLOW_24 = new BitSet(new long[]{0x0000000000000002L,0x0000000000000000L,0x0000000000008000L});
-    public static final BitSet FOLLOW_25 = new BitSet(new long[]{0x0000000000000000L,0x4000000000000000L,0x0000000000200000L});
-    public static final BitSet FOLLOW_26 = new BitSet(new long[]{0x0000000000000002L,0x0000000000000000L,0x0000000000200000L});
-    public static final BitSet FOLLOW_27 = new BitSet(new long[]{0x0000000000000000L,0x4000000000000000L,0x0000000000000040L});
-    public static final BitSet FOLLOW_28 = new BitSet(new long[]{0x0000000000000002L,0x0000000000000000L,0x0000000000000040L});
-    public static final BitSet FOLLOW_29 = new BitSet(new long[]{0x0000000000000000L,0x4000000000000000L,0x0000000001000000L});
-    public static final BitSet FOLLOW_30 = new BitSet(new long[]{0x0000000000000002L,0x0000000000000000L,0x0000000001000000L});
-    public static final BitSet FOLLOW_31 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000200L});
+    public static final BitSet FOLLOW_19 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000080L});
+    public static final BitSet FOLLOW_20 = new BitSet(new long[]{0x0000000000000002L,0x0000000000000000L,0x0000000000004000L});
+    public static final BitSet FOLLOW_21 = new BitSet(new long[]{0x0000000000000000L,0x0000000002000000L,0x00F2000000000010L});
+    public static final BitSet FOLLOW_22 = new BitSet(new long[]{0x0000000000000002L,0x0000000002000000L,0x00F2000000000000L});
+    public static final BitSet FOLLOW_23 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000200010L});
+    public static final BitSet FOLLOW_24 = new BitSet(new long[]{0x0000000000000002L,0x0000000000000000L,0x0000000000200000L});
+    public static final BitSet FOLLOW_25 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000008000010L});
+    public static final BitSet FOLLOW_26 = new BitSet(new long[]{0x0000000000000002L,0x0000000000000000L,0x0000000008000000L});
+    public static final BitSet FOLLOW_27 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000001010L});
+    public static final BitSet FOLLOW_28 = new BitSet(new long[]{0x0000000000000002L,0x0000000000000000L,0x0000000000001000L});
+    public static final BitSet FOLLOW_29 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000040000010L});
+    public static final BitSet FOLLOW_30 = new BitSet(new long[]{0x0000000000000002L,0x0000000000000000L,0x0000000040000000L});
+    public static final BitSet FOLLOW_31 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000008000L});
     public static final BitSet FOLLOW_32 = new BitSet(new long[]{0x8000000000000000L,0x000000000000003FL});
-    public static final BitSet FOLLOW_33 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000400L});
+    public static final BitSet FOLLOW_33 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000010000L});
     public static final BitSet FOLLOW_34 = new BitSet(new long[]{0x0000000000000000L,0x00000000000000C0L});
-    public static final BitSet FOLLOW_35 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000800L});
+    public static final BitSet FOLLOW_35 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000020000L});
     public static final BitSet FOLLOW_36 = new BitSet(new long[]{0x00000000000001C0L});
-    public static final BitSet FOLLOW_37 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000001000L});
-    public static final BitSet FOLLOW_38 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000002000L});
-    public static final BitSet FOLLOW_39 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000004000L});
-    public static final BitSet FOLLOW_40 = new BitSet(new long[]{0x0000000000000000L,0x4000000000000000L,0x0900000000000000L});
-    public static final BitSet FOLLOW_41 = new BitSet(new long[]{0x0000000000000010L,0x0000000000000000L,0x00000000000D0000L});
-    public static final BitSet FOLLOW_42 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000020000L});
+    public static final BitSet FOLLOW_37 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000040000L});
+    public static final BitSet FOLLOW_38 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000080000L});
+    public static final BitSet FOLLOW_39 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000100000L});
+    public static final BitSet FOLLOW_40 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x8000000000000010L,0x0000000000000004L});
+    public static final BitSet FOLLOW_41 = new BitSet(new long[]{0x0000000000000010L,0x0000000000000000L,0x0000000003400000L});
+    public static final BitSet FOLLOW_42 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000800000L});
     public static final BitSet FOLLOW_43 = new BitSet(new long[]{0x0000000000000080L});
-    public static final BitSet FOLLOW_44 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000100000L});
-    public static final BitSet FOLLOW_45 = new BitSet(new long[]{0x0002000000000000L,0x2000000000000000L});
-    public static final BitSet FOLLOW_46 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000700L,0x0000000000C00000L,0x2000000000000000L});
+    public static final BitSet FOLLOW_44 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000004000000L});
+    public static final BitSet FOLLOW_45 = new BitSet(new long[]{0x0002000000000000L,0x0000000000000000L,0x0000000000000008L});
+    public static final BitSet FOLLOW_46 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000700L,0x0000000030000000L,0x0000000000000000L,0x0000000000000010L});
     public static final BitSet FOLLOW_47 = new BitSet(new long[]{0x0000000000000010L,0x0000000000003800L});
     public static final BitSet FOLLOW_48 = new BitSet(new long[]{0x7F80080000000000L});
-    public static final BitSet FOLLOW_49 = new BitSet(new long[]{0x0002000000000000L,0x0000000000000000L,0x000003FFF6200000L});
-    public static final BitSet FOLLOW_50 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000008000000L});
+    public static final BitSet FOLLOW_49 = new BitSet(new long[]{0x0002000000000000L,0x0000000000000000L,0x0001FFFD88000000L});
+    public static final BitSet FOLLOW_50 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000200000000L});
     public static final BitSet FOLLOW_51 = new BitSet(new long[]{0x0000000000000000L,0x000000000001C000L});
-    public static final BitSet FOLLOW_52 = new BitSet(new long[]{0x0000000000000000L,0x0001FF0000000000L});
-    public static final BitSet FOLLOW_53 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x000003FFF6200000L});
-    public static final BitSet FOLLOW_54 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000080000000000L});
-    public static final BitSet FOLLOW_55 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000100000000000L});
-    public static final BitSet FOLLOW_56 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000020000000L});
-    public static final BitSet FOLLOW_57 = new BitSet(new long[]{0x0000000000010000L,0x00000000003E0000L});
-    public static final BitSet FOLLOW_58 = new BitSet(new long[]{0x0000000000010000L,0x0000000000420000L});
-    public static final BitSet FOLLOW_59 = new BitSet(new long[]{0x0000000000010000L});
-    public static final BitSet FOLLOW_60 = new BitSet(new long[]{0x0000000000000000L,0x2000000000000000L,0x0088000000000000L});
-    public static final BitSet FOLLOW_61 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0002000000000000L});
-    public static final BitSet FOLLOW_62 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0004000000000000L,0x4000000000000000L});
-    public static final BitSet FOLLOW_63 = new BitSet(new long[]{0x0000000000000000L,0x0000000001800000L});
-    public static final BitSet FOLLOW_64 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0010000000000101L});
-    public static final BitSet FOLLOW_65 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000040L});
-    public static final BitSet FOLLOW_66 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0060000000000000L});
-    public static final BitSet FOLLOW_67 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0580000000000000L});
-    public static final BitSet FOLLOW_68 = new BitSet(new long[]{0x0000000000000000L,0x4000000000000000L,0x0800000000000000L});
-    public static final BitSet FOLLOW_69 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0100000000000000L});
-    public static final BitSet FOLLOW_70 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0200000000000000L,0x8000000000000000L});
-    public static final BitSet FOLLOW_71 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x1000000000000000L,0x00000001F8018B04L});
-    public static final BitSet FOLLOW_72 = new BitSet(new long[]{0x0000000000000000L,0x4000000000000000L,0x1000000000000000L,0x00000001F8018B04L});
-    public static final BitSet FOLLOW_73 = new BitSet(new long[]{0x0000000000000002L,0x0000000000000000L,0x1000000000000000L,0x00000001F8018B04L});
-    public static final BitSet FOLLOW_74 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0800000000000000L});
-    public static final BitSet FOLLOW_75 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0200000000000000L,0x0000000000000000L,0x0000000000000001L});
-    public static final BitSet FOLLOW_76 = new BitSet(new long[]{0x0000000000000000L,0x2000000000000000L,0x6000000000000000L,0x0000000000000000L,0x0000000000000010L});
-    public static final BitSet FOLLOW_77 = new BitSet(new long[]{0x0000000000000000L,0x4000000000000000L,0x8000000000000000L});
-    public static final BitSet FOLLOW_78 = new BitSet(new long[]{0x0000000000000002L,0x0000000000000000L,0x8000000000000000L});
-    public static final BitSet FOLLOW_79 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x8000000000000000L});
-    public static final BitSet FOLLOW_80 = new BitSet(new long[]{0x0000000000000000L,0x2000000000000000L,0x2200000001000000L,0x0000000000000000L,0x0000000000000010L});
-    public static final BitSet FOLLOW_81 = new BitSet(new long[]{0x0000000000000000L,0x4000000000000000L,0x0000000000000000L,0x0000000000000001L});
-    public static final BitSet FOLLOW_82 = new BitSet(new long[]{0x0000000000000002L,0x0000000000000000L,0x0000000000000000L,0x0000000000000001L});
-    public static final BitSet FOLLOW_83 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000000L,0x0000000000000001L});
-    public static final BitSet FOLLOW_84 = new BitSet(new long[]{0x0000000000000000L,0x2000000000000000L,0x6000000001000000L,0x0000000000000002L,0x0000000000000010L});
-    public static final BitSet FOLLOW_85 = new BitSet(new long[]{0x0000000000000000L,0x2000000000000000L,0x0000000001000000L,0x0000000000020000L,0x0000000000000010L});
-    public static final BitSet FOLLOW_86 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000000L,0x0000000000000028L,0x0000000000000006L});
-    public static final BitSet FOLLOW_87 = new BitSet(new long[]{0x0000000000000002L,0x0000000000000000L,0x0000000000000000L,0x0000000000000008L});
-    public static final BitSet FOLLOW_88 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000001000000L});
+    public static final BitSet FOLLOW_52 = new BitSet(new long[]{0x0000000000000000L,0x00000000000E0000L});
+    public static final BitSet FOLLOW_53 = new BitSet(new long[]{0x0000000000000000L,0x000FF80000000000L});
+    public static final BitSet FOLLOW_54 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0001FFFD88000000L});
+    public static final BitSet FOLLOW_55 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0004000000000000L});
+    public static final BitSet FOLLOW_56 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0008000000000000L});
+    public static final BitSet FOLLOW_57 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000800000000L});
+    public static final BitSet FOLLOW_58 = new BitSet(new long[]{0x0000000000010000L,0x0000000001F00000L});
+    public static final BitSet FOLLOW_59 = new BitSet(new long[]{0x0000000000010000L,0x0000000002100000L});
+    public static final BitSet FOLLOW_60 = new BitSet(new long[]{0x0000000000010000L});
+    public static final BitSet FOLLOW_61 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x4400000000000008L});
+    public static final BitSet FOLLOW_62 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0100000000000000L});
+    public static final BitSet FOLLOW_63 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0200000000000000L,0x0000000000000000L,0x0000000000000020L});
+    public static final BitSet FOLLOW_64 = new BitSet(new long[]{0x0000000000000000L,0x000000000C000000L});
+    public static final BitSet FOLLOW_65 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0800000000004040L});
+    public static final BitSet FOLLOW_66 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000001000L});
+    public static final BitSet FOLLOW_67 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x3000000000000000L});
+    public static final BitSet FOLLOW_68 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0xC000000000000000L,0x0000000000000002L});
+    public static final BitSet FOLLOW_69 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000010L,0x0000000000000004L});
+    public static final BitSet FOLLOW_70 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x8000000000000000L});
+    public static final BitSet FOLLOW_71 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000000L,0x0000000000000001L,0x0000000000000040L});
+    public static final BitSet FOLLOW_72 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000000L,0x000000FC00C58208L});
+    public static final BitSet FOLLOW_73 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000010L,0x000000FC00C58208L});
+    public static final BitSet FOLLOW_74 = new BitSet(new long[]{0x0000000000000002L,0x0000000000000000L,0x0000000000000000L,0x000000FC00C58208L});
+    public static final BitSet FOLLOW_75 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000000L,0x0000000000000004L});
+    public static final BitSet FOLLOW_76 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000000L,0x0000000000000001L,0x0000000000000080L});
+    public static final BitSet FOLLOW_77 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000040000000L,0x0000000000000030L,0x0000000000000200L});
+    public static final BitSet FOLLOW_78 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000010L,0x0000000000000040L});
+    public static final BitSet FOLLOW_79 = new BitSet(new long[]{0x0000000000000002L,0x0000000000000000L,0x0000000000000000L,0x0000000000000040L});
+    public static final BitSet FOLLOW_80 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000000L,0x0000000000000040L});
+    public static final BitSet FOLLOW_81 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000040000000L,0x0000000000000031L,0x0000000000000200L});
+    public static final BitSet FOLLOW_82 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000010L,0x0000000000000080L});
+    public static final BitSet FOLLOW_83 = new BitSet(new long[]{0x0000000000000002L,0x0000000000000000L,0x0000000000000000L,0x0000000000000080L});
+    public static final BitSet FOLLOW_84 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000000L,0x0000000000000080L});
+    public static final BitSet FOLLOW_85 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000040000000L,0x0000000000000130L,0x0000000000000200L});
+    public static final BitSet FOLLOW_86 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0100000040000000L,0x0000000001000020L,0x0000000000000200L});
+    public static final BitSet FOLLOW_87 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x8000000000000000L,0x0000000000001400L});
+    public static final BitSet FOLLOW_88 = new BitSet(new long[]{0x0000000000000002L,0x0000000000000000L,0x0000000000000000L,0x0000000000000400L});
     public static final BitSet FOLLOW_89 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000000L,0x0000000000000010L});
-    public static final BitSet FOLLOW_90 = new BitSet(new long[]{0x0000000000000000L,0x2000000000000000L,0x0000000000000000L,0x0000000000020000L,0x0000000000000010L});
-    public static final BitSet FOLLOW_91 = new BitSet(new long[]{0x0000000000000000L,0x4000000000000000L,0x0900000000000000L,0x0000000000000000L,0x0000000000000006L});
-    public static final BitSet FOLLOW_92 = new BitSet(new long[]{0x0000000000000000L,0x2000000000000000L,0x0000000001000000L,0x0000000000020000L});
-    public static final BitSet FOLLOW_93 = new BitSet(new long[]{0x0000000000080000L,0x2000000000000000L,0x0000000001000000L});
-    public static final BitSet FOLLOW_94 = new BitSet(new long[]{0x0000000000000000L,0x4000000000000000L,0x0000000000000000L,0x0000000000000300L});
-    public static final BitSet FOLLOW_95 = new BitSet(new long[]{0x0000000000000002L,0x0000000000000000L,0x0000000000000000L,0x0000000000000300L});
-    public static final BitSet FOLLOW_96 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x4000000001000000L,0x00000000000000C0L});
-    public static final BitSet FOLLOW_97 = new BitSet(new long[]{0x0000000000000000L,0x2000000000000000L,0x0000000000000000L,0x0000000000000000L,0x0000000000000008L});
-    public static final BitSet FOLLOW_98 = new BitSet(new long[]{0x0000000000000000L,0x4000000000000000L,0x0000000000000000L,0x0000000000600000L});
-    public static final BitSet FOLLOW_99 = new BitSet(new long[]{0x0000000000000002L,0x0000000000000000L,0x0000000000000000L,0x0000000000600000L});
-    public static final BitSet FOLLOW_100 = new BitSet(new long[]{0x0000000000000000L,0x4000000000000000L,0x0000200000000000L,0x0000000000C00000L});
-    public static final BitSet FOLLOW_101 = new BitSet(new long[]{0x0000000000000002L,0x0000000000000000L,0x0000200000000000L,0x0000000000C00000L});
-    public static final BitSet FOLLOW_102 = new BitSet(new long[]{0x0000000000060000L,0x00000000FE000000L});
-    public static final BitSet FOLLOW_103 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000000L,0x0000000000000C00L});
-    public static final BitSet FOLLOW_104 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000000L,0x0000000000001000L});
-    public static final BitSet FOLLOW_105 = new BitSet(new long[]{0x0000000000000020L,0x0000000000000000L,0x0000000000000000L,0x0000000000002000L});
-    public static final BitSet FOLLOW_106 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000000L,0x0000000000010000L});
-    public static final BitSet FOLLOW_107 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000000L,0x000000000000E100L});
-    public static final BitSet FOLLOW_108 = new BitSet(new long[]{0x0000000000000002L,0x0000000000000000L,0x0000000000000000L,0x000000000000C100L});
-    public static final BitSet FOLLOW_109 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000000L,0x0000000000020000L});
-    public static final BitSet FOLLOW_110 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000000L,0x00000000001C0000L});
-    public static final BitSet FOLLOW_111 = new BitSet(new long[]{0x0000000000000000L,0x0000000700000000L});
-    public static final BitSet FOLLOW_112 = new BitSet(new long[]{0x0000000000000000L,0x0000000500000000L});
-    public static final BitSet FOLLOW_113 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000000L,0x0000000000002000L});
-    public static final BitSet FOLLOW_114 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000000L,0x0000000000200000L});
-    public static final BitSet FOLLOW_115 = new BitSet(new long[]{0x00000080000001C0L});
-    public static final BitSet FOLLOW_116 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000010000000L,0x0000000007000000L});
-    public static final BitSet FOLLOW_117 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000000L,0x0000000000600000L});
-    public static final BitSet FOLLOW_118 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000200000000000L});
-    public static final BitSet FOLLOW_119 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000000L,0x0000000000800000L});
-    public static final BitSet FOLLOW_120 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000200000000000L,0x0000000000C00000L});
-    public static final BitSet FOLLOW_121 = new BitSet(new long[]{0x0000000000000000L,0x000000F800000000L});
-    public static final BitSet FOLLOW_122 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000000L,0x0000000000000800L});
-    public static final BitSet FOLLOW_123 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000000L,0x0000000008000000L});
-    public static final BitSet FOLLOW_124 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000000L,0x0000000010000000L});
-    public static final BitSet FOLLOW_125 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000000L,0x0000000020000000L});
-    public static final BitSet FOLLOW_126 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000000L,0x0000000040000000L});
-    public static final BitSet FOLLOW_127 = new BitSet(new long[]{0x0000000000000010L,0x0800000100800000L});
-    public static final BitSet FOLLOW_128 = new BitSet(new long[]{0x0000000000000000L,0x003E000000000000L});
-    public static final BitSet FOLLOW_129 = new BitSet(new long[]{0x0000000000000000L,0x07C0000000000000L,0x4200000000000000L,0x0000000200000000L});
-    public static final BitSet FOLLOW_130 = new BitSet(new long[]{0x0008000000000000L});
-    public static final BitSet FOLLOW_131 = new BitSet(new long[]{0x0004000000000020L,0x0000000000000000L,0x0000000000000000L,0x0000000000000000L,0x0000000000000020L});
-    public static final BitSet FOLLOW_132 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000000L,0x0000000400000000L});
-    public static final BitSet FOLLOW_133 = new BitSet(new long[]{0x0010000000000020L});
-    public static final BitSet FOLLOW_134 = new BitSet(new long[]{0x0000010000000020L});
-    public static final BitSet FOLLOW_135 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000000L,0x0000000800000000L});
-    public static final BitSet FOLLOW_136 = new BitSet(new long[]{0x007E10C0800001F0L,0x2000000000000000L,0x0000000000000000L,0x02FF8AC800003000L,0x0000000000000400L});
-    public static final BitSet FOLLOW_137 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000000L,0x0000001000000000L});
-    public static final BitSet FOLLOW_138 = new BitSet(new long[]{0x0000000000000002L,0x0000000000000000L,0x0000000000000000L,0x0000001000000000L});
-    public static final BitSet FOLLOW_139 = new BitSet(new long[]{0x007E10C0800001F0L,0x2000000000000000L,0x0000000000000000L,0x02FF8AC800001000L,0x0000000000000400L});
-    public static final BitSet FOLLOW_140 = new BitSet(new long[]{0x0000000000002000L});
-    public static final BitSet FOLLOW_141 = new BitSet(new long[]{0x007E10C0800001F0L,0x2000000000000000L,0x0000000000000000L,0x02FF8AE800001000L,0x0000000000000400L});
-    public static final BitSet FOLLOW_142 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000000L,0x0000004000000000L});
-    public static final BitSet FOLLOW_143 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000000L,0x0000008000000000L});
-    public static final BitSet FOLLOW_144 = new BitSet(new long[]{0x001E000000000020L});
-    public static final BitSet FOLLOW_145 = new BitSet(new long[]{0x00000000C1F00000L});
-    public static final BitSet FOLLOW_146 = new BitSet(new long[]{0x0000000080000000L});
-    public static final BitSet FOLLOW_147 = new BitSet(new long[]{0x0000000060000000L});
-    public static final BitSet FOLLOW_148 = new BitSet(new long[]{0x0000000000004000L});
-    public static final BitSet FOLLOW_149 = new BitSet(new long[]{0x0000000000004002L});
-    public static final BitSet FOLLOW_150 = new BitSet(new long[]{0x0000000000008000L});
-    public static final BitSet FOLLOW_151 = new BitSet(new long[]{0x0000000000008002L});
-    public static final BitSet FOLLOW_152 = new BitSet(new long[]{0x000000001E000000L});
-    public static final BitSet FOLLOW_153 = new BitSet(new long[]{0x000000001E000002L});
-    public static final BitSet FOLLOW_154 = new BitSet(new long[]{0x00000000E0000000L,0x0000000000000000L,0x0000000000000000L,0x0000010000000000L});
-    public static final BitSet FOLLOW_155 = new BitSet(new long[]{0x00000000E0000002L,0x0000000000000000L,0x0000000000000000L,0x0000010000000000L});
-    public static final BitSet FOLLOW_156 = new BitSet(new long[]{0x0000000800000020L,0x0000000000000000L,0x0000000000000000L,0x0000000000001000L});
-    public static final BitSet FOLLOW_157 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000000L,0x0000010000000000L});
-    public static final BitSet FOLLOW_158 = new BitSet(new long[]{0x0000003FC0000000L});
-    public static final BitSet FOLLOW_159 = new BitSet(new long[]{0x0000003FC0000002L});
-    public static final BitSet FOLLOW_160 = new BitSet(new long[]{0x0000000400000000L});
-    public static final BitSet FOLLOW_161 = new BitSet(new long[]{0x0000000040000000L});
-    public static final BitSet FOLLOW_162 = new BitSet(new long[]{0x0000000880000000L});
-    public static final BitSet FOLLOW_163 = new BitSet(new long[]{0x000000C000000000L});
-    public static final BitSet FOLLOW_164 = new BitSet(new long[]{0x000000C000000002L});
-    public static final BitSet FOLLOW_165 = new BitSet(new long[]{0x00000F0000000000L});
-    public static final BitSet FOLLOW_166 = new BitSet(new long[]{0x00000F0000000002L});
-    public static final BitSet FOLLOW_167 = new BitSet(new long[]{0x000010C000000000L});
-    public static final BitSet FOLLOW_168 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x2000000000000000L});
-    public static final BitSet FOLLOW_169 = new BitSet(new long[]{0x0000000000000002L,0x0000000000000000L,0x2000000000000000L});
-    public static final BitSet FOLLOW_170 = new BitSet(new long[]{0x0000600000000000L});
-    public static final BitSet FOLLOW_171 = new BitSet(new long[]{0x0000800000000000L,0x0000000000000000L,0x0000000000000000L,0x0000000000000000L,0x00000000000000C0L});
-    public static final BitSet FOLLOW_172 = new BitSet(new long[]{0x0000800000000002L,0x0000000000000000L,0x0000000000000000L,0x0000000000000000L,0x00000000000000C0L});
-    public static final BitSet FOLLOW_173 = new BitSet(new long[]{0x0000800000000000L,0x0000000000000000L,0x0000000000000000L,0x0000000000000000L,0x0000000000000040L});
-    public static final BitSet FOLLOW_174 = new BitSet(new long[]{0x003E000080000020L});
-    public static final BitSet FOLLOW_175 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000000L,0x0000008000001000L});
-    public static final BitSet FOLLOW_176 = new BitSet(new long[]{0x0000000800000020L,0x0000000000000000L,0x0000000000000000L,0x0800000000001000L});
-    public static final BitSet FOLLOW_177 = new BitSet(new long[]{0x0000000040000000L,0x0000000000000000L,0x0000000000000000L,0x0000001000000000L});
-    public static final BitSet FOLLOW_178 = new BitSet(new long[]{0x007E10C8800001F0L,0x2000000000000000L,0x0000000000000000L,0x02FF8AC800003000L,0x0000000000000500L});
-    public static final BitSet FOLLOW_179 = new BitSet(new long[]{0x007E10C0800001F0L,0x6000000000000000L,0x0000000000000000L,0x02FF8AC800001000L,0x0000000000000400L});
-    public static final BitSet FOLLOW_180 = new BitSet(new long[]{0x007F10C8800001F0L,0x2000000000000000L,0x0000000000000000L,0x02FF8AC800001000L,0x0000000000000700L});
-    public static final BitSet FOLLOW_181 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000000L,0x0000002000000000L});
-    public static final BitSet FOLLOW_182 = new BitSet(new long[]{0x0000000800000020L,0x0000000000000000L,0x0000000000000000L,0x0000000000001000L,0x0000000000000100L});
-    public static final BitSet FOLLOW_183 = new BitSet(new long[]{0x007F10C0800001F2L,0x2000000000000000L,0x0000000000000000L,0x02FF8AC800001000L,0x0000000000000600L});
-    public static final BitSet FOLLOW_184 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000000L,0x0000020000000000L});
-    public static final BitSet FOLLOW_185 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000000L,0x0000040000000000L});
-    public static final BitSet FOLLOW_186 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000000L,0x0000080000000000L});
-    public static final BitSet FOLLOW_187 = new BitSet(new long[]{0x007E10C8800001F0L,0x2000000000000000L,0x0000000000000000L,0x02FF8AC800001000L,0x0000000000000400L});
-    public static final BitSet FOLLOW_188 = new BitSet(new long[]{0x0000000800000020L,0x4000000000000000L,0x0000000000000000L,0x0000701000001000L});
-    public static final BitSet FOLLOW_189 = new BitSet(new long[]{0x0000000800000022L,0x0000000000000000L,0x0000000000000000L,0x0000501000001000L});
-    public static final BitSet FOLLOW_190 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000000L,0x0000100000000000L});
-    public static final BitSet FOLLOW_191 = new BitSet(new long[]{0x0000000800000020L,0x0000000000000000L,0x0000000000000000L,0x0000501000001000L});
-    public static final BitSet FOLLOW_192 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000000L,0x0000800000000000L});
-    public static final BitSet FOLLOW_193 = new BitSet(new long[]{0x007F10C0800001F0L,0x2000000000000000L,0x0000000000000000L,0x02FF8ACC00001000L,0x0000000000000600L});
-    public static final BitSet FOLLOW_194 = new BitSet(new long[]{0x007E10C0800001F0L,0x2000000000000000L,0x0000000000000000L,0x02FF8ACC00001000L,0x0000000000000400L});
-    public static final BitSet FOLLOW_195 = new BitSet(new long[]{0x007F10C0800001F0L,0x2000000000000000L,0x0000000000000000L,0x02FF8AC800001000L,0x0000000000000600L});
-    public static final BitSet FOLLOW_196 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000000L,0x0001000000000000L});
-    public static final BitSet FOLLOW_197 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000000L,0x0002000000000000L});
-    public static final BitSet FOLLOW_198 = new BitSet(new long[]{0x007F10C0800001F0L,0x6000000000000000L,0x0000000000000000L,0x02FF8AC800001000L,0x0000000000000600L});
-    public static final BitSet FOLLOW_199 = new BitSet(new long[]{0x0001000000000000L,0x0000000000000000L,0x0000000000000000L,0x0000000000000000L,0x0000000000000200L});
-    public static final BitSet FOLLOW_200 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000000L,0x0004000000000000L});
-    public static final BitSet FOLLOW_201 = new BitSet(new long[]{0x0000000080000000L,0x0000000000000000L,0x0000000000000000L,0x0000008000001000L});
-    public static final BitSet FOLLOW_202 = new BitSet(new long[]{0x0040000000000000L,0x0000000000000000L,0x0000000000000000L,0x0000000000000000L,0x0000000000000400L});
-    public static final BitSet FOLLOW_203 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000000L,0x0008000000000000L});
-    public static final BitSet FOLLOW_204 = new BitSet(new long[]{0x00400000000001D0L,0x0000000000000000L,0x0000000000000000L,0x001800C000000000L,0x0000000000000400L});
-    public static final BitSet FOLLOW_205 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000000L,0x0000008000002000L});
-    public static final BitSet FOLLOW_206 = new BitSet(new long[]{0x0000000000000002L,0x0000000000000000L,0x0000000000000000L,0x0000008000000000L});
-    public static final BitSet FOLLOW_207 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000000L,0x0020000000000000L});
-    public static final BitSet FOLLOW_208 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000000L,0x0040000000000000L});
-    public static final BitSet FOLLOW_209 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000000L,0x0080000000000000L});
-    public static final BitSet FOLLOW_210 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000000L,0x0500000000000000L});
-    public static final BitSet FOLLOW_211 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000000L,0x0100000000000000L});
-    public static final BitSet FOLLOW_212 = new BitSet(new long[]{0x0000000000000002L,0x0000000000000000L,0x0000000000000000L,0x0400000000000000L});
-    public static final BitSet FOLLOW_213 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000000L,0x0200000000000000L});
-    public static final BitSet FOLLOW_214 = new BitSet(new long[]{0x0000800000000000L});
-    public static final BitSet FOLLOW_215 = new BitSet(new long[]{0x0000800000000002L});
-    public static final BitSet FOLLOW_216 = new BitSet(new long[]{0x0000000000000180L});
-    public static final BitSet FOLLOW_217 = new BitSet(new long[]{0x0000000800000020L,0x0000000000000000L,0x0000000000000000L,0x0000000000003000L});
-    public static final BitSet FOLLOW_218 = new BitSet(new long[]{0x0022000000000000L});
-    public static final BitSet FOLLOW_219 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000000L,0x1000000000000000L});
-    public static final BitSet FOLLOW_220 = new BitSet(new long[]{0x0000000000000002L,0x0000000000000000L,0x0000000000000000L,0x1000000000000000L});
-    public static final BitSet FOLLOW_221 = new BitSet(new long[]{0x0000010000000000L});
-    public static final BitSet FOLLOW_222 = new BitSet(new long[]{0x0000000000000002L,0x0000000000000700L,0x0000000000C00000L,0x2000000000000000L});
-    public static final BitSet FOLLOW_223 = new BitSet(new long[]{0x0000000000000002L,0x0000000000000000L,0x000003FFF6200000L});
-    public static final BitSet FOLLOW_224 = new BitSet(new long[]{0x0000000000000002L,0x0000000000000000L,0x4000000001000000L,0x00000000000000C0L});
-    public static final BitSet FOLLOW_225 = new BitSet(new long[]{0x0000000000000002L,0x0000000000000000L,0x0000000000000000L,0x0000000000000C00L});
+    public static final BitSet FOLLOW_90 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000000L,0x0000000000000800L});
+    public static final BitSet FOLLOW_91 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000040000000L,0x0000000001000020L,0x0000000000000200L});
+    public static final BitSet FOLLOW_92 = new BitSet(new long[]{0x0000000000080000L,0x0000000000000000L,0x0000000040000008L});
+    public static final BitSet FOLLOW_93 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000010L,0x0000000000018000L});
+    public static final BitSet FOLLOW_94 = new BitSet(new long[]{0x0000000000000002L,0x0000000000000000L,0x0000000000000000L,0x0000000000018000L});
+    public static final BitSet FOLLOW_95 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000040000000L,0x0000000000006020L});
+    public static final BitSet FOLLOW_96 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000008L,0x0000000000000000L,0x0000000000000100L});
+    public static final BitSet FOLLOW_97 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000010L,0x0000000030000000L});
+    public static final BitSet FOLLOW_98 = new BitSet(new long[]{0x0000000000000002L,0x0000000000000000L,0x0000000000000000L,0x0000000030000000L});
+    public static final BitSet FOLLOW_99 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0010000000000010L,0x0000000060000000L});
+    public static final BitSet FOLLOW_100 = new BitSet(new long[]{0x0000000000000002L,0x0000000000000000L,0x0010000000000000L,0x0000000060000000L});
+    public static final BitSet FOLLOW_101 = new BitSet(new long[]{0x0000000000060000L,0x00000007F0000000L});
+    public static final BitSet FOLLOW_102 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000000L,0x0000000000060000L});
+    public static final BitSet FOLLOW_103 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000000L,0x0000000000080000L});
+    public static final BitSet FOLLOW_104 = new BitSet(new long[]{0x0000000000000020L,0x0000000000000000L,0x0000000000000000L,0x0000000000100000L});
+    public static final BitSet FOLLOW_105 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000000L,0x0000000000800000L});
+    public static final BitSet FOLLOW_106 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000000L,0x0000000000708000L});
+    public static final BitSet FOLLOW_107 = new BitSet(new long[]{0x0000000000000002L,0x0000000000000000L,0x0000000000000000L,0x0000000000608000L});
+    public static final BitSet FOLLOW_108 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000040000000L});
+    public static final BitSet FOLLOW_109 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000000L,0x000000000E100000L});
+    public static final BitSet FOLLOW_110 = new BitSet(new long[]{0x0000000000000000L,0x0000003800000000L});
+    public static final BitSet FOLLOW_111 = new BitSet(new long[]{0x0000000000000000L,0x0000002800000000L});
+    public static final BitSet FOLLOW_112 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000000L,0x0000000000100000L});
+    public static final BitSet FOLLOW_113 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000000L,0x0000000010000000L});
+    public static final BitSet FOLLOW_114 = new BitSet(new long[]{0x00000080000001C0L});
+    public static final BitSet FOLLOW_115 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000400000000L,0x0000000380000000L});
+    public static final BitSet FOLLOW_116 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000000L,0x0000000030000000L});
+    public static final BitSet FOLLOW_117 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0010000000000000L});
+    public static final BitSet FOLLOW_118 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000000L,0x0000000040000000L});
+    public static final BitSet FOLLOW_119 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0010000000000000L,0x0000000060000000L});
+    public static final BitSet FOLLOW_120 = new BitSet(new long[]{0x0000000000000000L,0x000007C000000000L});
+    public static final BitSet FOLLOW_121 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000000L,0x0000000000040000L});
+    public static final BitSet FOLLOW_122 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000000L,0x0000000400000000L});
+    public static final BitSet FOLLOW_123 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000000L,0x0000000800000000L});
+    public static final BitSet FOLLOW_124 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000000L,0x0000001000000000L});
+    public static final BitSet FOLLOW_125 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000000L,0x0000002000000000L});
+    public static final BitSet FOLLOW_126 = new BitSet(new long[]{0x0000000000000010L,0x0000000804000000L,0x0000000000000002L});
+    public static final BitSet FOLLOW_127 = new BitSet(new long[]{0x0000000000000000L,0x0FF0000000000000L});
+    public static final BitSet FOLLOW_128 = new BitSet(new long[]{0x0000000000000000L,0xF000000000000000L,0x0000000000000001L,0x0000010000000021L});
+    public static final BitSet FOLLOW_129 = new BitSet(new long[]{0x0008000000000000L});
+    public static final BitSet FOLLOW_130 = new BitSet(new long[]{0x0004000000000020L,0x0000000000000000L,0x0000000000000000L,0x0000000000000000L,0x0000000000000400L});
+    public static final BitSet FOLLOW_131 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000000L,0x0000020000000000L});
+    public static final BitSet FOLLOW_132 = new BitSet(new long[]{0x0010000000000020L});
+    public static final BitSet FOLLOW_133 = new BitSet(new long[]{0x0000010000000020L});
+    public static final BitSet FOLLOW_134 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000000L,0x0000040000000000L});
+    public static final BitSet FOLLOW_135 = new BitSet(new long[]{0x007E10C0800001F0L,0x0000000000000000L,0x0000000000000008L,0x7FC5640000180000L,0x0000000000008001L});
+    public static final BitSet FOLLOW_136 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000000L,0x0000080000000000L});
+    public static final BitSet FOLLOW_137 = new BitSet(new long[]{0x0000000000000002L,0x0000000000000000L,0x0000000000000000L,0x0000080000000000L});
+    public static final BitSet FOLLOW_138 = new BitSet(new long[]{0x007E10C0800001F0L,0x0000000000000000L,0x0000000000000008L,0x7FC5640000080000L,0x0000000000008001L});
+    public static final BitSet FOLLOW_139 = new BitSet(new long[]{0x0000000000002000L});
+    public static final BitSet FOLLOW_140 = new BitSet(new long[]{0x007E10C0800001F0L,0x0000000000000000L,0x0000000000000008L,0x7FC5740000080000L,0x0000000000008001L});
+    public static final BitSet FOLLOW_141 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000000L,0x0000200000000000L});
+    public static final BitSet FOLLOW_142 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000000L,0x0000400000000000L});
+    public static final BitSet FOLLOW_143 = new BitSet(new long[]{0x001E000000000020L});
+    public static final BitSet FOLLOW_144 = new BitSet(new long[]{0x00000000C1F00000L});
+    public static final BitSet FOLLOW_145 = new BitSet(new long[]{0x0000000080000000L});
+    public static final BitSet FOLLOW_146 = new BitSet(new long[]{0x0000000060000000L});
+    public static final BitSet FOLLOW_147 = new BitSet(new long[]{0x0000000000004000L});
+    public static final BitSet FOLLOW_148 = new BitSet(new long[]{0x0000000000004002L});
+    public static final BitSet FOLLOW_149 = new BitSet(new long[]{0x0000000000008000L});
+    public static final BitSet FOLLOW_150 = new BitSet(new long[]{0x0000000000008002L});
+    public static final BitSet FOLLOW_151 = new BitSet(new long[]{0x000000001E000000L});
+    public static final BitSet FOLLOW_152 = new BitSet(new long[]{0x000000001E000002L});
+    public static final BitSet FOLLOW_153 = new BitSet(new long[]{0x00000000E0000000L,0x0000000000000000L,0x0000000000000000L,0x0000800000000000L});
+    public static final BitSet FOLLOW_154 = new BitSet(new long[]{0x00000000E0000002L,0x0000000000000000L,0x0000000000000000L,0x0000800000000000L});
+    public static final BitSet FOLLOW_155 = new BitSet(new long[]{0x0000000800000020L,0x0000000000000000L,0x0000000000000000L,0x0000000000080000L});
+    public static final BitSet FOLLOW_156 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000000L,0x0000800000000000L});
+    public static final BitSet FOLLOW_157 = new BitSet(new long[]{0x0000003FC0000000L});
+    public static final BitSet FOLLOW_158 = new BitSet(new long[]{0x0000003FC0000002L});
+    public static final BitSet FOLLOW_159 = new BitSet(new long[]{0x0000000400000000L});
+    public static final BitSet FOLLOW_160 = new BitSet(new long[]{0x0000000040000000L});
+    public static final BitSet FOLLOW_161 = new BitSet(new long[]{0x0000000880000000L});
+    public static final BitSet FOLLOW_162 = new BitSet(new long[]{0x000000C000000000L});
+    public static final BitSet FOLLOW_163 = new BitSet(new long[]{0x000000C000000002L});
+    public static final BitSet FOLLOW_164 = new BitSet(new long[]{0x00000F0000000000L});
+    public static final BitSet FOLLOW_165 = new BitSet(new long[]{0x00000F0000000002L});
+    public static final BitSet FOLLOW_166 = new BitSet(new long[]{0x000010C000000000L});
+    public static final BitSet FOLLOW_167 = new BitSet(new long[]{0x0000000000000002L,0x0000000000000000L,0x0000000000000000L,0x0000000000000010L});
+    public static final BitSet FOLLOW_168 = new BitSet(new long[]{0x0000600000000000L});
+    public static final BitSet FOLLOW_169 = new BitSet(new long[]{0x0000800000000000L,0x0000000000000000L,0x0000000000000000L,0x0000000000000000L,0x0000000000001800L});
+    public static final BitSet FOLLOW_170 = new BitSet(new long[]{0x0000800000000002L,0x0000000000000000L,0x0000000000000000L,0x0000000000000000L,0x0000000000001800L});
+    public static final BitSet FOLLOW_171 = new BitSet(new long[]{0x0000800000000000L,0x0000000000000000L,0x0000000000000000L,0x0000000000000000L,0x0000000000000800L});
+    public static final BitSet FOLLOW_172 = new BitSet(new long[]{0x003E000080000020L});
+    public static final BitSet FOLLOW_173 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000000L,0x0000400000080000L});
+    public static final BitSet FOLLOW_174 = new BitSet(new long[]{0x0000000800000020L,0x0000000000000000L,0x0000000000000000L,0x0000000000080000L,0x0000000000000004L});
+    public static final BitSet FOLLOW_175 = new BitSet(new long[]{0x0000000040000000L,0x0000000000000000L,0x0000000000000000L,0x0000080000000000L});
+    public static final BitSet FOLLOW_176 = new BitSet(new long[]{0x007E10C8800001F0L,0x0000000000000000L,0x0000000000000008L,0x7FC5640000180000L,0x000000000000A001L});
+    public static final BitSet FOLLOW_177 = new BitSet(new long[]{0x007E10C0800001F0L,0x0000000000000000L,0x0000000000000018L,0x7FC5640000080000L,0x0000000000008001L});
+    public static final BitSet FOLLOW_178 = new BitSet(new long[]{0x007F10C8800001F0L,0x0000000000000000L,0x0000000000000008L,0x7FC5640000080000L,0x000000000000E001L});
+    public static final BitSet FOLLOW_179 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000000L,0x0000100000000000L});
+    public static final BitSet FOLLOW_180 = new BitSet(new long[]{0x0000000800000020L,0x0000000000000000L,0x0000000000000000L,0x0000000000080000L,0x0000000000002000L});
+    public static final BitSet FOLLOW_181 = new BitSet(new long[]{0x007F10C0800001F2L,0x0000000000000000L,0x0000000000000008L,0x7FC5640000080000L,0x000000000000C001L});
+    public static final BitSet FOLLOW_182 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000000L,0x0001000000000000L});
+    public static final BitSet FOLLOW_183 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000000L,0x0002000000000000L});
+    public static final BitSet FOLLOW_184 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000000L,0x0004000000000000L});
+    public static final BitSet FOLLOW_185 = new BitSet(new long[]{0x007E10C8800001F0L,0x0000000000000000L,0x0000000000000008L,0x7FC5640000080000L,0x0000000000008001L});
+    public static final BitSet FOLLOW_186 = new BitSet(new long[]{0x0000000800000020L,0x0000000000000000L,0x0000000000000010L,0x0038080000080000L});
+    public static final BitSet FOLLOW_187 = new BitSet(new long[]{0x0000000800000022L,0x0000000000000000L,0x0000000000000000L,0x0028080000080000L});
+    public static final BitSet FOLLOW_188 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000000L,0x0008000000000000L});
+    public static final BitSet FOLLOW_189 = new BitSet(new long[]{0x0000000800000020L,0x0000000000000000L,0x0000000000000000L,0x0028080000080000L});
+    public static final BitSet FOLLOW_190 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000000L,0x0040000000000000L});
+    public static final BitSet FOLLOW_191 = new BitSet(new long[]{0x007F10C0800001F0L,0x0000000000000000L,0x0000000000000008L,0x7FC5660000080000L,0x000000000000C001L});
+    public static final BitSet FOLLOW_192 = new BitSet(new long[]{0x007E10C0800001F0L,0x0000000000000000L,0x0000000000000008L,0x7FC5660000080000L,0x0000000000008001L});
+    public static final BitSet FOLLOW_193 = new BitSet(new long[]{0x007F10C0800001F0L,0x0000000000000000L,0x0000000000000008L,0x7FC5640000080000L,0x000000000000C001L});
+    public static final BitSet FOLLOW_194 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000000L,0x0080000000000000L});
+    public static final BitSet FOLLOW_195 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000000L,0x0100000000000000L});
+    public static final BitSet FOLLOW_196 = new BitSet(new long[]{0x007F10C0800001F0L,0x0000000000000000L,0x0000000000000018L,0x7FC5640000080000L,0x000000000000C001L});
+    public static final BitSet FOLLOW_197 = new BitSet(new long[]{0x0001000000000000L,0x0000000000000000L,0x0000000000000000L,0x0000000000000000L,0x0000000000004000L});
+    public static final BitSet FOLLOW_198 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000000L,0x0200000000000000L});
+    public static final BitSet FOLLOW_199 = new BitSet(new long[]{0x0000000080000000L,0x0000000000000000L,0x0000000000000000L,0x0000400000080000L});
+    public static final BitSet FOLLOW_200 = new BitSet(new long[]{0x0040000000000000L,0x0000000000000000L,0x0000000000000000L,0x0000000000000000L,0x0000000000008000L});
+    public static final BitSet FOLLOW_201 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000000L,0x0400000000000000L});
+    public static final BitSet FOLLOW_202 = new BitSet(new long[]{0x00400000000001D0L,0x0000000000000000L,0x0000000000000000L,0x0C00600000000000L,0x0000000000008000L});
+    public static final BitSet FOLLOW_203 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000000L,0x0000400000100000L});
+    public static final BitSet FOLLOW_204 = new BitSet(new long[]{0x0000000000000002L,0x0000000000000000L,0x0000000000000000L,0x0000400000000000L});
+    public static final BitSet FOLLOW_205 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000000L,0x1000000000000000L});
+    public static final BitSet FOLLOW_206 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000000L,0x2000000000000000L});
+    public static final BitSet FOLLOW_207 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000000L,0x4000000000000000L});
+    public static final BitSet FOLLOW_208 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000000L,0x8000000000000000L,0x0000000000000002L});
+    public static final BitSet FOLLOW_209 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000000L,0x8000000000000000L});
+    public static final BitSet FOLLOW_210 = new BitSet(new long[]{0x0000000000000002L,0x0000000000000000L,0x0000000000000000L,0x0000000000000000L,0x0000000000000002L});
+    public static final BitSet FOLLOW_211 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000000L,0x0000000000000000L,0x0000000000000001L});
+    public static final BitSet FOLLOW_212 = new BitSet(new long[]{0x0000800000000000L});
+    public static final BitSet FOLLOW_213 = new BitSet(new long[]{0x0000800000000002L});
+    public static final BitSet FOLLOW_214 = new BitSet(new long[]{0x0000000000000180L});
+    public static final BitSet FOLLOW_215 = new BitSet(new long[]{0x0000000800000020L,0x0000000000000000L,0x0000000000000000L,0x0000000000180000L});
+    public static final BitSet FOLLOW_216 = new BitSet(new long[]{0x0022000000000000L});
+    public static final BitSet FOLLOW_217 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000000L,0x0000000000000000L,0x0000000000000008L});
+    public static final BitSet FOLLOW_218 = new BitSet(new long[]{0x0000000000000002L,0x0000000000000000L,0x0000000000000000L,0x0000000000000000L,0x0000000000000008L});
+    public static final BitSet FOLLOW_219 = new BitSet(new long[]{0x0000010000000000L});
+    public static final BitSet FOLLOW_220 = new BitSet(new long[]{0x0000000000000002L,0x0000000000000700L,0x0000000030000000L,0x0000000000000000L,0x0000000000000010L});
+    public static final BitSet FOLLOW_221 = new BitSet(new long[]{0x0000000000000002L,0x0000000000000000L,0x0001FFFD88000000L});
+    public static final BitSet FOLLOW_222 = new BitSet(new long[]{0x0000000000000002L,0x0000000000000000L,0x0000000040000000L,0x0000000000000020L,0x0000000000000200L});
+    public static final BitSet FOLLOW_223 = new BitSet(new long[]{0x0000000000000002L,0x0000000000000000L,0x0000000040000000L,0x0000000000000021L,0x0000000000000200L});
+    public static final BitSet FOLLOW_224 = new BitSet(new long[]{0x0000000000000002L,0x0000000000000000L,0x0000000040000000L,0x0000000000000120L,0x0000000000000200L});
+    public static final BitSet FOLLOW_225 = new BitSet(new long[]{0x0000000000000002L,0x0000000000000000L,0x0000000040000000L,0x0000000001000020L,0x0000000000000200L});
+    public static final BitSet FOLLOW_226 = new BitSet(new long[]{0x0000000000000002L,0x0000000000000000L,0x0000000040000000L,0x0000000000006020L});
+    public static final BitSet FOLLOW_227 = new BitSet(new long[]{0x0000000000000002L,0x0000000000000000L,0x0000000000000000L,0x0000000000060000L});
 
 }
diff --git a/org.eclipse.osbp.xtext.reportdsl.oda.datamart/src/org/eclipse/osbp/xtext/reportdsl/oda/datamart/i18n/Messages.java b/org.eclipse.osbp.xtext.reportdsl.oda.datamart/src/org/eclipse/osbp/xtext/reportdsl/oda/datamart/i18n/Messages.java
deleted file mode 100644
index 06d44d7..0000000
--- a/org.eclipse.osbp.xtext.reportdsl.oda.datamart/src/org/eclipse/osbp/xtext/reportdsl/oda/datamart/i18n/Messages.java
+++ /dev/null
@@ -1,38 +0,0 @@
-/**
- *                                                                            
- * Copyright (c) 2011, 2016 - Loetz GmbH&Co.KG (69115 Heidelberg, Germany)
- *                                                                            
- * All rights reserved. This program and the accompanying materials           
- * are made available under the terms of the Eclipse Public License v1.0       
- * which accompanies this distribution, and is available at                  
- * http://www.eclipse.org/legal/epl-v10.html                                 
- *                                                                            
- * Contributors:   
- * Christophe Loetz (Loetz GmbH&Co.KG) - initial implementation 
- */
-package org.eclipse.osbp.xtext.reportdsl.oda.datamart.i18n;
-
-import java.util.MissingResourceException;
-import java.util.ResourceBundle;
-
-/**
- * Resource messages wrapper for the package to obtain localized message text.
- */
-
-public class Messages {
-    private static final String BUNDLE_NAME = "org.eclipse.osbp.xtext.reportdsl.oda.datamart.i18n.messages";//$NON-NLS-1$
-
-    private static final ResourceBundle RESOURCE_BUNDLE = ResourceBundle.getBundle( BUNDLE_NAME );
-
-    private Messages() {
-    }
-
-    public static String getString( String key ) {
-        try {
-            return RESOURCE_BUNDLE.getString( key );
-        }
-        catch( MissingResourceException e ) {
-            return '!' + key + '!';
-        }
-    }
-}
diff --git a/org.eclipse.osbp.xtext.reportdsl.oda.datamart/src/org/eclipse/osbp/xtext/reportdsl/oda/datamart/i18n/messages.properties b/org.eclipse.osbp.xtext.reportdsl.oda.datamart/src/org/eclipse/osbp/xtext/reportdsl/oda/datamart/i18n/messages.properties
deleted file mode 100644
index a03f551..0000000
--- a/org.eclipse.osbp.xtext.reportdsl.oda.datamart/src/org/eclipse/osbp/xtext/reportdsl/oda/datamart/i18n/messages.properties
+++ /dev/null
@@ -1,27 +0,0 @@
-# Exception messages for the Oda Datamart Driver
-
-connection_CONNECTION_PROPERTIES_MISSING=Connection properties are missing.
-connection_CANNOT_OPEN_FLAT_FILE_DB_DIR=Cannot open CSV file database under directory: 
-
-query_COMMAND_IS_EMPTY=Query command is empty.
-query_DO_NOT_SUPPORT_CROSS_TABLE_QUERY=Cross-table query is not supported.
-query_COMMAND_NOT_VALID=Query command is not valid.
-query_ARGUMENT_ERROR=The argument should be either 'NAME' or 'TYPE'.
-query_IO_EXCEPTION=An I/O Exception occurred when reading the file.
-query_SOURCE_DATA_ERROR=Duplicate column names found in source data.
-query_COLUMN_NAME_ERROR=Column name error
-query_INVALID_FLAT_FILE=The flatfile data source in not valid.
-resultSet_COLUMN_NOT_FOUND=Column not found:
-resultSet_CURSOR_HAS_NOT_BEEN_INITIALIZED=Cursor has not been initialized yet.
-
-resultSetMetaData_INVALID_COLUMN_INDEX=Invalid column index:
-
-dataTypes_TYPE_NAME_INVALID=Invalid type name:
-
-dataSetMetaData_PRODUCT_NAME=DTP ODA Flat File Data Source Provider
-
-common_ARGUMENT_CANNOT_BE_NULL=Arguments cannot be null.
-common_CONNECTION_HAS_NOT_OPENED=Connection is not open.
-common_CANNOT_FIND_COLUMN=Cannot find any columns.
-query_streamClosed=Stream closed
-query_invalidTableName=Invalid table name:
diff --git a/org.eclipse.osbp.xtext.reportdsl.oda.datamart/src/org/eclipse/osbp/xtext/reportdsl/oda/datamart/impl/Query.java b/org.eclipse.osbp.xtext.reportdsl.oda.datamart/src/org/eclipse/osbp/xtext/reportdsl/oda/datamart/impl/Query.java
index db9a6b0..2ca0312 100644
--- a/org.eclipse.osbp.xtext.reportdsl.oda.datamart/src/org/eclipse/osbp/xtext/reportdsl/oda/datamart/impl/Query.java
+++ b/org.eclipse.osbp.xtext.reportdsl.oda.datamart/src/org/eclipse/osbp/xtext/reportdsl/oda/datamart/impl/Query.java
@@ -83,13 +83,16 @@
 	private Class<?> fTaskOperativeDtoClass = null;
 	private List<IDto> fTaskInitialOperativeDtos = null;
 	private boolean fEnableFillerText = false;
-	private AEntityDatamart fDatamartInstance = null;
+	private QuerySpecification querySpec;
+	private String fDataSetName = null;
+	private Map<String, AEntityDatamart> fDatamartInstanceMap = null;
 	private Map<String, PropertyLookup> fPropertyLookupMap = null;
 	private List<Integer> fAxisFilter = null;
 	private IUser user = null;
 	private Locale locale;
 	private IDSLMetadataService dslMetadataService;
 	private IBlobService blobService;
+	private String queryText = null;
 	private static final Logger LOGGER = LoggerFactory.getLogger(Query.class);
 
 	public Query(IConnection host, String bundleSymbolicName, String datamartClassName, List<Integer> axisFilter) {
@@ -119,13 +122,14 @@
 			validateOpenConnection();
 			String formattedQuery = formatQueryText(query);
 			validateQueryText(formattedQuery);
+			this.queryText = formattedQuery;
 			getMetaData();
 
-			if (fDatamartInstance != null) {
+			if (fDatamartInstanceMap.get(fDataSetName) != null) {
 				try {
 					// --- get the data to extract the data types >:-( ---
-					fDatamartInstance.enableFillerText(fEnableFillerText);
-					DerivedCellSet cellSet = fDatamartInstance.getResults(fTaskOperativeDtoClass,
+					fDatamartInstanceMap.get(fDataSetName).enableFillerText(fEnableFillerText);
+					DerivedCellSet cellSet = fDatamartInstanceMap.get(fDataSetName).getResults(fTaskOperativeDtoClass,
 							fTaskInitialOperativeDtos);
 					if (cellSet != null) {
 						fResultCellTable = new Cell2dTable(cellSet);
@@ -188,7 +192,7 @@
 				}
 				locale = user.getLocale();
 				if (appContext.get(IReportProvider.APPCONTEXT_DATAMARTINSTANCE) != null) {
-					fDatamartInstance = (AEntityDatamart) appContext.get(IReportProvider.APPCONTEXT_DATAMARTINSTANCE);
+					fDatamartInstanceMap = (Map<String, AEntityDatamart>) appContext.get(IReportProvider.APPCONTEXT_DATAMARTINSTANCE);
 				}
 				if (appContext.get(IReportProvider.APPCONTEXT_PROPERTYLOOKUP) != null) {
 					fPropertyLookupMap = (Map<String, PropertyLookup>) appContext
@@ -207,7 +211,7 @@
 			String exceptionDetails = sw.toString();
 			LOGGER.error(EXCEPTION_OCCURED, exceptionDetails);  		
 		}
-		if (fDatamartInstance == null) {
+		if (fDatamartInstanceMap.get(fDataSetName) == null) {
 			if ((fBundleSymbolicName != null) && (fDatamartClassName != null)) {
 				// !!! remember the original class loader !!!
 				ClassLoader originalLoader = Thread.currentThread().getContextClassLoader();
@@ -217,7 +221,7 @@
 					// --- get the constructor ---
 					Constructor<?> constructor = datamartClass.getConstructor();	// NOSONAR
 					// --- create the instance ---
-					fDatamartInstance = (AEntityDatamart) constructor.newInstance();
+					fDatamartInstanceMap.put(fDataSetName, (AEntityDatamart) constructor.newInstance());
 				} catch (NullPointerException | InstantiationException | IllegalAccessException
 						| IllegalArgumentException | NoSuchMethodException | SecurityException |InvocationTargetException e) {
 					StringWriter sw = new StringWriter();
@@ -231,7 +235,7 @@
 			}
 		} else {
 			if (fBundleSymbolicName == null) {
-				Bundle bundle = FrameworkUtil.getBundle(fDatamartInstance.getClass());
+				Bundle bundle = FrameworkUtil.getBundle(fDatamartInstanceMap.get(fDataSetName).getClass());
 				if (bundle != null) {
 					fBundleSymbolicName = bundle.getSymbolicName();
 				}
@@ -299,7 +303,7 @@
 	 */
 	public IResultSetMetaData getMetaData() throws OdaException {
 		if (fResultSetMetaData == null) {
-			fResultSetMetaData = new ResultSetMetaData(fDatamartInstance.getTypesMap());
+			fResultSetMetaData = new ResultSetMetaData(fDatamartInstanceMap.get(fDataSetName).getTypesMap(), fDatamartInstanceMap.get(fDataSetName).getTypesProp());
 		}
 		return fResultSetMetaData;
 	}
@@ -715,12 +719,12 @@
 
 	@Override
 	public String getEffectiveQueryText() {
-		return null;
+		return this.queryText;
 	}
 
 	@Override
 	public QuerySpecification getSpecification() {
-		return null;
+		return querySpec;
 	}
 
 	@Override
@@ -734,7 +738,8 @@
 	}
 
 	@Override
-	public void setSpecification(QuerySpecification arg0) throws OdaException {
-		// not needed
+	public void setSpecification(QuerySpecification querySpec) throws OdaException {
+		this.querySpec = querySpec;
+		fDataSetName = (String) querySpec.getProperty("dataSetName");
 	}
 }
diff --git a/org.eclipse.osbp.xtext.reportdsl.oda.datamart/src/org/eclipse/osbp/xtext/reportdsl/oda/datamart/impl/ResultSet.java b/org.eclipse.osbp.xtext.reportdsl.oda.datamart/src/org/eclipse/osbp/xtext/reportdsl/oda/datamart/impl/ResultSet.java
index ad90a1c..10dd37f 100644
--- a/org.eclipse.osbp.xtext.reportdsl.oda.datamart/src/org/eclipse/osbp/xtext/reportdsl/oda/datamart/impl/ResultSet.java
+++ b/org.eclipse.osbp.xtext.reportdsl.oda.datamart/src/org/eclipse/osbp/xtext/reportdsl/oda/datamart/impl/ResultSet.java
@@ -329,7 +329,18 @@
         Object object = getObject(resultSetIndex);
        	if	(object instanceof String) {
     		LOGGER.debug("resultSetIdx:{} Blob from String:{}", resultSetIndex, (String)object);
-       		byte[] byteArrayImage = fBlobService.getByteArrayImage((String)object, 2);
+    		int resolution = 2;
+    		if (getMetaData() instanceof ResultSetMetaData) {
+    			String resolutionStr = ((ResultSetMetaData)getMetaData()).getTypesPropMap().get(getMetaData().getColumnName(resultSetIndex));
+    			if (resolutionStr != null) {
+    				try {
+    					resolution = Integer.parseInt(resolutionStr.trim());
+    				} catch (NumberFormatException nfe) {
+    					LOGGER.error("NumberFormatException: blob resolution property is not a number! So the default resolution '2' is used.");
+    				}
+    			}
+    		}
+       		byte[] byteArrayImage = fBlobService.getByteArrayImage((String)object, resolution);
        		if (byteArrayImage != null) {
        			return new Blob(byteArrayImage);
        		} else {
diff --git a/org.eclipse.osbp.xtext.reportdsl.oda.datamart/src/org/eclipse/osbp/xtext/reportdsl/oda/datamart/impl/ResultSetMetaData.java b/org.eclipse.osbp.xtext.reportdsl.oda.datamart/src/org/eclipse/osbp/xtext/reportdsl/oda/datamart/impl/ResultSetMetaData.java
index 04cfbaf..1c37506 100644
--- a/org.eclipse.osbp.xtext.reportdsl.oda.datamart/src/org/eclipse/osbp/xtext/reportdsl/oda/datamart/impl/ResultSetMetaData.java
+++ b/org.eclipse.osbp.xtext.reportdsl.oda.datamart/src/org/eclipse/osbp/xtext/reportdsl/oda/datamart/impl/ResultSetMetaData.java
@@ -35,6 +35,7 @@
     private String[] columnNames = null;
     private DataTypes[] columnTypes = null;
     private String[] columnLabels = null;
+    private HashMap<String, String> typesPropMap;
 	private static final Logger LOGGER = LoggerFactory.getLogger(ResultSetMetaData.class);
 
     ResultSetMetaData( String[] colNames, DataTypes[] colTypes, String[] colLabels ) {
@@ -51,7 +52,8 @@
         }
     }
     
-    ResultSetMetaData( HashMap<String, EType> typesMap) {
+    ResultSetMetaData( HashMap<String, EType> typesMap, HashMap<String, String> typesPropMap) {
+    	this.typesPropMap = typesPropMap;
 		columnNames = typesMap.keySet().toArray(new String[0]); 
 		for(int idx=0; idx<columnNames.length; idx++) {
 			columnNames[idx] = columnNames[idx].split("\\.")[1];
@@ -67,7 +69,11 @@
 		}
     }
 
-    public void setColumnTypes(DataTypes[] colTypes) {
+    public HashMap<String, String> getTypesPropMap() {
+		return typesPropMap;
+	}
+
+	public void setColumnTypes(DataTypes[] colTypes) {
         this.columnTypes = colTypes;
     }
     
diff --git a/org.eclipse.osbp.xtext.reportdsl.tests/org.eclipse.osbp.xtext.reportdsl.tests.launch b/org.eclipse.osbp.xtext.reportdsl.tests/org.eclipse.osbp.xtext.reportdsl.tests.launch
deleted file mode 100644
index d3831da..0000000
--- a/org.eclipse.osbp.xtext.reportdsl.tests/org.eclipse.osbp.xtext.reportdsl.tests.launch
+++ /dev/null
@@ -1,15 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<launchConfiguration type="org.eclipse.jdt.junit.launchconfig">
-<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_PATHS">
-<listEntry value="/org.eclipse.osbp.xtext.reportdsl.tests"/>
-</listAttribute>
-<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_TYPES">
-<listEntry value="4"/>
-</listAttribute>
-<stringAttribute key="org.eclipse.jdt.junit.CONTAINER" value="=org.eclipse.osbp.xtext.reportdsl.tests"/>
-<booleanAttribute key="org.eclipse.jdt.junit.KEEPRUNNING_ATTR" value="false"/>
-<stringAttribute key="org.eclipse.jdt.junit.TEST_KIND" value="org.eclipse.jdt.junit.loader.junit4"/>
-<stringAttribute key="org.eclipse.jdt.launching.CLASSPATH_PROVIDER" value="org.eclipse.m2e.launchconfig.classpathProvider"/>
-<stringAttribute key="org.eclipse.jdt.launching.PROJECT_ATTR" value="org.eclipse.osbp.xtext.reportdsl.tests"/>
-<stringAttribute key="org.eclipse.jdt.launching.SOURCE_PATH_PROVIDER" value="org.eclipse.m2e.launchconfig.sourcepathProvider"/>
-</launchConfiguration>
diff --git a/org.eclipse.osbp.xtext.reportdsl.tests/src-gen/org/eclipse/osbp/xtext/reportdsl/ReportDSLInjectorProvider.java b/org.eclipse.osbp.xtext.reportdsl.tests/src-gen/org/eclipse/osbp/xtext/reportdsl/ReportDSLInjectorProvider.java
deleted file mode 100644
index e5d91fc..0000000
--- a/org.eclipse.osbp.xtext.reportdsl.tests/src-gen/org/eclipse/osbp/xtext/reportdsl/ReportDSLInjectorProvider.java
+++ /dev/null
@@ -1,56 +0,0 @@
-/**
- *                                                                            
- *  Copyright (c) 2011, 2016 - Loetz GmbH&Co.KG (69115 Heidelberg, Germany) 
- *                                                                            
- *  All rights reserved. This program and the accompanying materials           
- *  are made available under the terms of the Eclipse Public License v1.0       
- *  which accompanies this distribution, and is available at                  
- *  http://www.eclipse.org/legal/epl-v10.html                                 
- *                                                                            
- *  Contributors:                                                      
- * 	   Christophe Loetz (Loetz GmbH&Co.KG) - initial implementation
- * 
- */
-
-package org.eclipse.osbp.xtext.reportdsl;
-
-import org.eclipse.xtext.junit4.GlobalRegistries;
-import org.eclipse.xtext.junit4.GlobalRegistries.GlobalStateMemento;
-import org.eclipse.xtext.junit4.IInjectorProvider;
-import org.eclipse.xtext.junit4.IRegistryConfigurator;
-
-import com.google.inject.Injector;
-
-public class ReportDSLInjectorProvider implements IInjectorProvider, IRegistryConfigurator {
-	
-    protected GlobalStateMemento stateBeforeInjectorCreation;
-	protected GlobalStateMemento stateAfterInjectorCreation;
-	protected Injector injector;
-
-	static {
-		GlobalRegistries.initializeDefaults();
-	}
-
-	public Injector getInjector()
-	{
-		if (injector == null) {
-			stateBeforeInjectorCreation = GlobalRegistries.makeCopyOfGlobalState();
-			this.injector = internalCreateInjector();
-			stateAfterInjectorCreation = GlobalRegistries.makeCopyOfGlobalState();
-		}
-		return injector;
-	}
-	
-	protected Injector internalCreateInjector() {
-	    return new ReportDSLStandaloneSetup().createInjectorAndDoEMFRegistration();
-	}
-
-	public void restoreRegistry() {
-		stateBeforeInjectorCreation.restoreGlobalState();
-	}
-
-	public void setupRegistry() {
-		getInjector();
-		stateAfterInjectorCreation.restoreGlobalState();
-	}
-}
diff --git a/org.eclipse.osbp.xtext.reportdsl.tests/src-gen/org/eclipse/osbp/xtext/reportdsl/ReportDSLUiInjectorProvider.java b/org.eclipse.osbp.xtext.reportdsl.tests/src-gen/org/eclipse/osbp/xtext/reportdsl/ReportDSLUiInjectorProvider.java
deleted file mode 100644
index 0943d56..0000000
--- a/org.eclipse.osbp.xtext.reportdsl.tests/src-gen/org/eclipse/osbp/xtext/reportdsl/ReportDSLUiInjectorProvider.java
+++ /dev/null
@@ -1,27 +0,0 @@
-/**
- *                                                                            
- *  Copyright (c) 2011, 2016 - Loetz GmbH&Co.KG (69115 Heidelberg, Germany) 
- *                                                                            
- *  All rights reserved. This program and the accompanying materials           
- *  are made available under the terms of the Eclipse Public License v1.0       
- *  which accompanies this distribution, and is available at                  
- *  http://www.eclipse.org/legal/epl-v10.html                                 
- *                                                                            
- *  Contributors:                                                      
- * 	   Christophe Loetz (Loetz GmbH&Co.KG) - initial implementation
- * 
- */
-
-package org.eclipse.osbp.xtext.reportdsl;
-
-import org.eclipse.xtext.junit4.IInjectorProvider;
-
-import com.google.inject.Injector;
-
-public class ReportDSLUiInjectorProvider implements IInjectorProvider {
-	
-	public Injector getInjector() {
-		return org.eclipse.osbp.xtext.reportdsl.ui.internal.ReportDSLActivator.getInstance().getInjector("org.eclipse.osbp.xtext.reportdsl.ReportDSL");
-	}
-	
-}
diff --git a/org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/AbstractReportDSLProposalProvider.java b/org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/AbstractReportDSLProposalProvider.java
index 7c46ca3..f6ceb19 100644
--- a/org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/AbstractReportDSLProposalProvider.java
+++ b/org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/AbstractReportDSLProposalProvider.java
@@ -183,6 +183,9 @@
 	public void completeStyle_Textalign(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
 		completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
 	}
+	public void completeStyle_Verticalalign(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+		completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
+	}
 	public void completeStyle_BorderTop(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
 		completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
 	}
@@ -243,6 +246,9 @@
 	public void completeMediaStyle_Textalign(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
 		completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
 	}
+	public void completeMediaStyle_Verticalalign(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+		completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
+	}
 	public void completeMediaStyle_BorderTop(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
 		completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
 	}
@@ -444,6 +450,9 @@
 	public void completeGrid_Name(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
 		completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
 	}
+	public void completeGrid_Style(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+		lookupCrossReference(((CrossReference)assignment.getTerminal()), context, acceptor);
+	}
 	public void completeGrid_WidthValue(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
 		completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
 	}
@@ -486,6 +495,12 @@
 	public void completeGridCell_Elements(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
 		completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
 	}
+	public void completeDatamartTable_DatamartRef(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+		lookupCrossReference(((CrossReference)assignment.getTerminal()), context, acceptor);
+	}
+	public void completeDatamartTable_Name(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+		completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
+	}
 	public void completeDatamartTable_Style(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
 		lookupCrossReference(((CrossReference)assignment.getTerminal()), context, acceptor);
 	}
@@ -495,17 +510,8 @@
 	public void completeDatamartTable_PageBreak(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
 		completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
 	}
-	public void completeDatamartTable_Detailheader(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
-		// subclasses may override
-	}
-	public void completeDatamartTable_Headerstyle(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
-		lookupCrossReference(((CrossReference)assignment.getTerminal()), context, acceptor);
-	}
-	public void completeDatamartTable_Detailfooter(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
-		// subclasses may override
-	}
-	public void completeDatamartTable_Footerstyle(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
-		lookupCrossReference(((CrossReference)assignment.getTerminal()), context, acceptor);
+	public void completeDatamartTable_Header(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+		completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
 	}
 	public void completeDatamartTable_Groups(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
 		completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
@@ -513,6 +519,9 @@
 	public void completeDatamartTable_Detail(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
 		completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
 	}
+	public void completeDatamartTable_Footer(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+		completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
+	}
 	public void completeDatamartTableGroup_Name(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
 		completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
 	}
@@ -528,37 +537,25 @@
 	public void completeDatamartTableGroup_Header(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
 		completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
 	}
-	public void completeDatamartTableGroup_Detailheader(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
-		// subclasses may override
-	}
-	public void completeDatamartTableGroup_Headerstyle(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
-		lookupCrossReference(((CrossReference)assignment.getTerminal()), context, acceptor);
-	}
-	public void completeDatamartTableGroup_Detailfooter(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
-		// subclasses may override
-	}
-	public void completeDatamartTableGroup_Footerstyle(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
-		lookupCrossReference(((CrossReference)assignment.getTerminal()), context, acceptor);
-	}
 	public void completeDatamartTableGroup_Footer(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
 		completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
 	}
-	public void completeDatamartTableGroupHeader_Style(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+	public void completeDatamartTableHeader_Style(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
 		lookupCrossReference(((CrossReference)assignment.getTerminal()), context, acceptor);
 	}
-	public void completeDatamartTableGroupHeader_PageBreak(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+	public void completeDatamartTableHeader_PageBreak(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
 		completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
 	}
-	public void completeDatamartTableGroupHeader_Rows(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+	public void completeDatamartTableHeader_Rows(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
 		completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
 	}
-	public void completeDatamartTableGroupFooter_Style(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+	public void completeDatamartTableFooter_Style(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
 		lookupCrossReference(((CrossReference)assignment.getTerminal()), context, acceptor);
 	}
-	public void completeDatamartTableGroupFooter_PageBreak(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+	public void completeDatamartTableFooter_PageBreak(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
 		completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
 	}
-	public void completeDatamartTableGroupFooter_Rows(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+	public void completeDatamartTableFooter_Rows(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
 		completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
 	}
 	public void completeDatamartTableDetail_Style(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
@@ -847,6 +844,9 @@
 	public void complete_TextAlignEnum(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
 		// subclasses may override
 	}
+	public void complete_VerticalTextAlignEnum(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+		// subclasses may override
+	}
 	public void complete_SomeFormat(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
 		// subclasses may override
 	}
@@ -928,10 +928,10 @@
 	public void complete_DatamartTableGroup(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
 		// subclasses may override
 	}
-	public void complete_DatamartTableGroupHeader(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+	public void complete_DatamartTableHeader(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
 		// subclasses may override
 	}
-	public void complete_DatamartTableGroupFooter(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+	public void complete_DatamartTableFooter(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
 		// subclasses may override
 	}
 	public void complete_DatamartTableDetail(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
diff --git a/org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/PartialReportDSLContentAssistParser.java b/org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/PartialReportDSLContentAssistParser.java
deleted file mode 100644
index 6b7b74c..0000000
--- a/org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/PartialReportDSLContentAssistParser.java
+++ /dev/null
@@ -1,49 +0,0 @@
-/**
- *                                                                            
- *  Copyright (c) 2011, 2016 - Loetz GmbH&Co.KG (69115 Heidelberg, Germany) 
- *                                                                            
- *  All rights reserved. This program and the accompanying materials           
- *  are made available under the terms of the Eclipse Public License v1.0       
- *  which accompanies this distribution, and is available at                  
- *  http://www.eclipse.org/legal/epl-v10.html                                 
- *                                                                            
- *  Contributors:                                                      
- * 	   Christophe Loetz (Loetz GmbH&Co.KG) - initial implementation
- * 
- */
-
-package org.eclipse.osbp.xtext.reportdsl.ui.contentassist.antlr;
-
-import java.util.Collection;
-import java.util.Collections;
-
-import org.eclipse.xtext.AbstractRule;
-import org.eclipse.xtext.ui.codetemplates.ui.partialEditing.IPartialContentAssistParser;
-import org.eclipse.xtext.ui.editor.contentassist.antlr.FollowElement;
-import org.eclipse.xtext.ui.editor.contentassist.antlr.internal.AbstractInternalContentAssistParser;
-import org.eclipse.xtext.util.PolymorphicDispatcher;
-
-/**
- * @author Sebastian Zarnekow - Initial contribution and API
- */
-@SuppressWarnings("restriction")
-public class PartialReportDSLContentAssistParser extends ReportDSLParser implements IPartialContentAssistParser {
-
-	private AbstractRule rule;
-
-	public void initializeFor(AbstractRule rule) {
-		this.rule = rule;
-	}
-	
-	@Override
-	protected Collection<FollowElement> getFollowElements(AbstractInternalContentAssistParser parser) {
-		if (rule == null || rule.eIsProxy())
-			return Collections.emptyList();
-		String methodName = "entryRule" + rule.getName();
-		PolymorphicDispatcher<Collection<FollowElement>> dispatcher = 
-			new PolymorphicDispatcher<Collection<FollowElement>>(methodName, 0, 0, Collections.singletonList(parser));
-		dispatcher.invoke();
-		return parser.getFollowElements();
-	}
-
-}
diff --git a/org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/ReportDSLParser.java b/org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/ReportDSLParser.java
deleted file mode 100644
index 0218898..0000000
--- a/org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/ReportDSLParser.java
+++ /dev/null
@@ -1,907 +0,0 @@
-/**
- *                                                                            
- *  Copyright (c) 2011, 2016 - Loetz GmbH&Co.KG (69115 Heidelberg, Germany) 
- *                                                                            
- *  All rights reserved. This program and the accompanying materials           
- *  are made available under the terms of the Eclipse Public License v1.0       
- *  which accompanies this distribution, and is available at                  
- *  http://www.eclipse.org/legal/epl-v10.html                                 
- *                                                                            
- *  Contributors:                                                      
- * 	   Christophe Loetz (Loetz GmbH&Co.KG) - initial implementation
- * 
- */
-
-package org.eclipse.osbp.xtext.reportdsl.ui.contentassist.antlr;
-
-import java.util.Collection;
-import java.util.Map;
-import java.util.HashMap;
-
-import org.antlr.runtime.RecognitionException;
-import org.eclipse.xtext.AbstractElement;
-import org.eclipse.xtext.ui.editor.contentassist.antlr.AbstractContentAssistParser;
-import org.eclipse.xtext.ui.editor.contentassist.antlr.FollowElement;
-import org.eclipse.xtext.ui.editor.contentassist.antlr.internal.AbstractInternalContentAssistParser;
-
-import com.google.inject.Inject;
-
-import org.eclipse.osbp.xtext.reportdsl.services.ReportDSLGrammarAccess;
-
-public class ReportDSLParser extends AbstractContentAssistParser {
-	
-	@Inject
-	private ReportDSLGrammarAccess grammarAccess;
-	
-	private Map<AbstractElement, String> nameMappings;
-	
-	@Override
-	protected org.eclipse.osbp.xtext.reportdsl.ui.contentassist.antlr.internal.InternalReportDSLParser createParser() {
-		org.eclipse.osbp.xtext.reportdsl.ui.contentassist.antlr.internal.InternalReportDSLParser result = new org.eclipse.osbp.xtext.reportdsl.ui.contentassist.antlr.internal.InternalReportDSLParser(null);
-		result.setGrammarAccess(grammarAccess);
-		return result;
-	}
-	
-	@Override
-	protected String getRuleName(AbstractElement element) {
-		if (nameMappings == null) {
-			nameMappings = new HashMap<AbstractElement, String>() {
-				private static final long serialVersionUID = 1L;
-				{
-					put(grammarAccess.getColorAccess().getAlternatives_2(), "rule__Color__Alternatives_2");
-					put(grammarAccess.getFontFamilyAccess().getAlternatives(), "rule__FontFamily__Alternatives");
-					put(grammarAccess.getSomeFormatAccess().getAlternatives(), "rule__SomeFormat__Alternatives");
-					put(grammarAccess.getReportDesignAccess().getAlternatives(), "rule__ReportDesign__Alternatives");
-					put(grammarAccess.getContainerAccess().getAlternatives(), "rule__Container__Alternatives");
-					put(grammarAccess.getElementAccess().getAlternatives(), "rule__Element__Alternatives");
-					put(grammarAccess.getDatamartTableDetailAccess().getAlternatives_3(), "rule__DatamartTableDetail__Alternatives_3");
-					put(grammarAccess.getTableValueElementAccess().getAlternatives(), "rule__TableValueElement__Alternatives");
-					put(grammarAccess.getTableBaseAggregationAccess().getAlternatives(), "rule__TableBaseAggregation__Alternatives");
-					put(grammarAccess.getTableIntervalAccess().getAlternatives(), "rule__TableInterval__Alternatives");
-					put(grammarAccess.getTableLookupAccess().getAlternatives(), "rule__TableLookup__Alternatives");
-					put(grammarAccess.getTableRangeElementAccess().getAlternatives(), "rule__TableRangeElement__Alternatives");
-					put(grammarAccess.getXAnnotationAccess().getAlternatives_3_1(), "rule__XAnnotation__Alternatives_3_1");
-					put(grammarAccess.getXAnnotationElementValueOrCommaListAccess().getAlternatives(), "rule__XAnnotationElementValueOrCommaList__Alternatives");
-					put(grammarAccess.getXAnnotationElementValueAccess().getAlternatives(), "rule__XAnnotationElementValue__Alternatives");
-					put(grammarAccess.getXAnnotationOrExpressionAccess().getAlternatives(), "rule__XAnnotationOrExpression__Alternatives");
-					put(grammarAccess.getXAssignmentAccess().getAlternatives(), "rule__XAssignment__Alternatives");
-					put(grammarAccess.getOpMultiAssignAccess().getAlternatives(), "rule__OpMultiAssign__Alternatives");
-					put(grammarAccess.getOpEqualityAccess().getAlternatives(), "rule__OpEquality__Alternatives");
-					put(grammarAccess.getXRelationalExpressionAccess().getAlternatives_1(), "rule__XRelationalExpression__Alternatives_1");
-					put(grammarAccess.getOpCompareAccess().getAlternatives(), "rule__OpCompare__Alternatives");
-					put(grammarAccess.getOpOtherAccess().getAlternatives(), "rule__OpOther__Alternatives");
-					put(grammarAccess.getOpOtherAccess().getAlternatives_5_1(), "rule__OpOther__Alternatives_5_1");
-					put(grammarAccess.getOpOtherAccess().getAlternatives_6_1(), "rule__OpOther__Alternatives_6_1");
-					put(grammarAccess.getOpAddAccess().getAlternatives(), "rule__OpAdd__Alternatives");
-					put(grammarAccess.getOpMultiAccess().getAlternatives(), "rule__OpMulti__Alternatives");
-					put(grammarAccess.getXUnaryOperationAccess().getAlternatives(), "rule__XUnaryOperation__Alternatives");
-					put(grammarAccess.getOpUnaryAccess().getAlternatives(), "rule__OpUnary__Alternatives");
-					put(grammarAccess.getOpPostfixAccess().getAlternatives(), "rule__OpPostfix__Alternatives");
-					put(grammarAccess.getXMemberFeatureCallAccess().getAlternatives_1(), "rule__XMemberFeatureCall__Alternatives_1");
-					put(grammarAccess.getXMemberFeatureCallAccess().getAlternatives_1_0_0_0_1(), "rule__XMemberFeatureCall__Alternatives_1_0_0_0_1");
-					put(grammarAccess.getXMemberFeatureCallAccess().getAlternatives_1_1_0_0_1(), "rule__XMemberFeatureCall__Alternatives_1_1_0_0_1");
-					put(grammarAccess.getXMemberFeatureCallAccess().getAlternatives_1_1_3_1(), "rule__XMemberFeatureCall__Alternatives_1_1_3_1");
-					put(grammarAccess.getXPrimaryExpressionAccess().getAlternatives(), "rule__XPrimaryExpression__Alternatives");
-					put(grammarAccess.getXLiteralAccess().getAlternatives(), "rule__XLiteral__Alternatives");
-					put(grammarAccess.getXCollectionLiteralAccess().getAlternatives(), "rule__XCollectionLiteral__Alternatives");
-					put(grammarAccess.getXSwitchExpressionAccess().getAlternatives_2(), "rule__XSwitchExpression__Alternatives_2");
-					put(grammarAccess.getXCasePartAccess().getAlternatives_3(), "rule__XCasePart__Alternatives_3");
-					put(grammarAccess.getXExpressionOrVarDeclarationAccess().getAlternatives(), "rule__XExpressionOrVarDeclaration__Alternatives");
-					put(grammarAccess.getXVariableDeclarationAccess().getAlternatives_1(), "rule__XVariableDeclaration__Alternatives_1");
-					put(grammarAccess.getXVariableDeclarationAccess().getAlternatives_2(), "rule__XVariableDeclaration__Alternatives_2");
-					put(grammarAccess.getXFeatureCallAccess().getAlternatives_3_1(), "rule__XFeatureCall__Alternatives_3_1");
-					put(grammarAccess.getFeatureCallIDAccess().getAlternatives(), "rule__FeatureCallID__Alternatives");
-					put(grammarAccess.getIdOrSuperAccess().getAlternatives(), "rule__IdOrSuper__Alternatives");
-					put(grammarAccess.getXConstructorCallAccess().getAlternatives_4_1(), "rule__XConstructorCall__Alternatives_4_1");
-					put(grammarAccess.getXBooleanLiteralAccess().getAlternatives_1(), "rule__XBooleanLiteral__Alternatives_1");
-					put(grammarAccess.getXTryCatchFinallyExpressionAccess().getAlternatives_3(), "rule__XTryCatchFinallyExpression__Alternatives_3");
-					put(grammarAccess.getNumberAccess().getAlternatives(), "rule__Number__Alternatives");
-					put(grammarAccess.getNumberAccess().getAlternatives_1_0(), "rule__Number__Alternatives_1_0");
-					put(grammarAccess.getNumberAccess().getAlternatives_1_1_1(), "rule__Number__Alternatives_1_1_1");
-					put(grammarAccess.getJvmTypeReferenceAccess().getAlternatives(), "rule__JvmTypeReference__Alternatives");
-					put(grammarAccess.getJvmArgumentTypeReferenceAccess().getAlternatives(), "rule__JvmArgumentTypeReference__Alternatives");
-					put(grammarAccess.getJvmWildcardTypeReferenceAccess().getAlternatives_2(), "rule__JvmWildcardTypeReference__Alternatives_2");
-					put(grammarAccess.getXImportDeclarationAccess().getAlternatives_1(), "rule__XImportDeclaration__Alternatives_1");
-					put(grammarAccess.getXImportDeclarationAccess().getAlternatives_1_0_3(), "rule__XImportDeclaration__Alternatives_1_0_3");
-					put(grammarAccess.getUnitEnumAccess().getAlternatives(), "rule__UnitEnum__Alternatives");
-					put(grammarAccess.getPageSizeEnumAccess().getAlternatives(), "rule__PageSizeEnum__Alternatives");
-					put(grammarAccess.getOrientationEnumAccess().getAlternatives(), "rule__OrientationEnum__Alternatives");
-					put(grammarAccess.getFontStyleEnumAccess().getAlternatives(), "rule__FontStyleEnum__Alternatives");
-					put(grammarAccess.getBuildInFontFamilyEnumAccess().getAlternatives(), "rule__BuildInFontFamilyEnum__Alternatives");
-					put(grammarAccess.getTextAlignEnumAccess().getAlternatives(), "rule__TextAlignEnum__Alternatives");
-					put(grammarAccess.getNumberFormatCategoryEnumAccess().getAlternatives(), "rule__NumberFormatCategoryEnum__Alternatives");
-					put(grammarAccess.getCurrencyFormatCategoryEnumAccess().getAlternatives(), "rule__CurrencyFormatCategoryEnum__Alternatives");
-					put(grammarAccess.getRenderingEnumAccess().getAlternatives(), "rule__RenderingEnum__Alternatives");
-					put(grammarAccess.getPureAggregationTypeEnumAccess().getAlternatives(), "rule__PureAggregationTypeEnum__Alternatives");
-					put(grammarAccess.getUnaryAggregationTypeEnumAccess().getAlternatives(), "rule__UnaryAggregationTypeEnum__Alternatives");
-					put(grammarAccess.getTrendIconEnumAccess().getAlternatives(), "rule__TrendIconEnum__Alternatives");
-					put(grammarAccess.getBorderTypeEnumAccess().getAlternatives(), "rule__BorderTypeEnum__Alternatives");
-					put(grammarAccess.getAutoTextEnumAccess().getAlternatives(), "rule__AutoTextEnum__Alternatives");
-					put(grammarAccess.getImageSizeEnumAccess().getAlternatives(), "rule__ImageSizeEnum__Alternatives");
-					put(grammarAccess.getImageSourceEnumAccess().getAlternatives(), "rule__ImageSourceEnum__Alternatives");
-					put(grammarAccess.getReportPackageAccess().getGroup(), "rule__ReportPackage__Group__0");
-					put(grammarAccess.getReportPackageAccess().getGroup_5(), "rule__ReportPackage__Group_5__0");
-					put(grammarAccess.getReportPackageAccess().getGroup_5_2(), "rule__ReportPackage__Group_5_2__0");
-					put(grammarAccess.getReportPackageAccess().getGroup_5_2_2(), "rule__ReportPackage__Group_5_2_2__0");
-					put(grammarAccess.getPageTemplatesAccess().getGroup(), "rule__PageTemplates__Group__0");
-					put(grammarAccess.getSomeFormatsAccess().getGroup(), "rule__SomeFormats__Group__0");
-					put(grammarAccess.getColorsAccess().getGroup(), "rule__Colors__Group__0");
-					put(grammarAccess.getFontsAccess().getGroup(), "rule__Fonts__Group__0");
-					put(grammarAccess.getMediasAccess().getGroup(), "rule__Medias__Group__0");
-					put(grammarAccess.getMediaAccess().getGroup(), "rule__Media__Group__0");
-					put(grammarAccess.getStylesAccess().getGroup(), "rule__Styles__Group__0");
-					put(grammarAccess.getPageTemplateAccess().getGroup(), "rule__PageTemplate__Group__0");
-					put(grammarAccess.getColorAccess().getGroup(), "rule__Color__Group__0");
-					put(grammarAccess.getColorAccess().getGroup_2_1(), "rule__Color__Group_2_1__0");
-					put(grammarAccess.getColorAccess().getGroup_2_2(), "rule__Color__Group_2_2__0");
-					put(grammarAccess.getColorAccess().getGroup_2_3(), "rule__Color__Group_2_3__0");
-					put(grammarAccess.getFontAccess().getGroup_0(), "rule__Font__Group_0__0");
-					put(grammarAccess.getFontAccess().getGroup_0_3(), "rule__Font__Group_0_3__0");
-					put(grammarAccess.getFontAccess().getGroup_0_4(), "rule__Font__Group_0_4__0");
-					put(grammarAccess.getFontAccess().getGroup_3(), "rule__Font__Group_3__0");
-					put(grammarAccess.getFontAccess().getGroup_3_0(), "rule__Font__Group_3_0__0");
-					put(grammarAccess.getBorderStyleAccess().getGroup(), "rule__BorderStyle__Group__0");
-					put(grammarAccess.getStyleAccess().getGroup(), "rule__Style__Group__0");
-					put(grammarAccess.getStyleAccess().getGroup_3(), "rule__Style__Group_3__0");
-					put(grammarAccess.getStyleAccess().getGroup_4_0(), "rule__Style__Group_4_0__0");
-					put(grammarAccess.getStyleAccess().getGroup_4_1(), "rule__Style__Group_4_1__0");
-					put(grammarAccess.getStyleAccess().getGroup_4_2(), "rule__Style__Group_4_2__0");
-					put(grammarAccess.getStyleAccess().getGroup_4_2_2(), "rule__Style__Group_4_2_2__0");
-					put(grammarAccess.getStyleAccess().getGroup_4_3(), "rule__Style__Group_4_3__0");
-					put(grammarAccess.getStyleAccess().getGroup_4_4(), "rule__Style__Group_4_4__0");
-					put(grammarAccess.getStyleAccess().getGroup_4_5(), "rule__Style__Group_4_5__0");
-					put(grammarAccess.getStyleAccess().getGroup_4_6(), "rule__Style__Group_4_6__0");
-					put(grammarAccess.getStyleAccess().getGroup_4_7(), "rule__Style__Group_4_7__0");
-					put(grammarAccess.getStyleAccess().getGroup_4_8(), "rule__Style__Group_4_8__0");
-					put(grammarAccess.getStyleAccess().getGroup_4_9(), "rule__Style__Group_4_9__0");
-					put(grammarAccess.getStyleAccess().getGroup_4_10(), "rule__Style__Group_4_10__0");
-					put(grammarAccess.getStyleAccess().getGroup_4_11(), "rule__Style__Group_4_11__0");
-					put(grammarAccess.getStyleAccess().getGroup_4_12(), "rule__Style__Group_4_12__0");
-					put(grammarAccess.getStyleAccess().getGroup_4_13(), "rule__Style__Group_4_13__0");
-					put(grammarAccess.getStyleAccess().getGroup_4_14(), "rule__Style__Group_4_14__0");
-					put(grammarAccess.getStyleAccess().getGroup_4_15(), "rule__Style__Group_4_15__0");
-					put(grammarAccess.getStyleAccess().getGroup_4_16(), "rule__Style__Group_4_16__0");
-					put(grammarAccess.getMediaStyleAccess().getGroup(), "rule__MediaStyle__Group__0");
-					put(grammarAccess.getMediaStyleAccess().getGroup_3_0(), "rule__MediaStyle__Group_3_0__0");
-					put(grammarAccess.getMediaStyleAccess().getGroup_3_1(), "rule__MediaStyle__Group_3_1__0");
-					put(grammarAccess.getMediaStyleAccess().getGroup_3_2(), "rule__MediaStyle__Group_3_2__0");
-					put(grammarAccess.getMediaStyleAccess().getGroup_3_2_2(), "rule__MediaStyle__Group_3_2_2__0");
-					put(grammarAccess.getMediaStyleAccess().getGroup_3_3(), "rule__MediaStyle__Group_3_3__0");
-					put(grammarAccess.getMediaStyleAccess().getGroup_3_4(), "rule__MediaStyle__Group_3_4__0");
-					put(grammarAccess.getMediaStyleAccess().getGroup_3_5(), "rule__MediaStyle__Group_3_5__0");
-					put(grammarAccess.getMediaStyleAccess().getGroup_3_6(), "rule__MediaStyle__Group_3_6__0");
-					put(grammarAccess.getMediaStyleAccess().getGroup_3_7(), "rule__MediaStyle__Group_3_7__0");
-					put(grammarAccess.getMediaStyleAccess().getGroup_3_8(), "rule__MediaStyle__Group_3_8__0");
-					put(grammarAccess.getMediaStyleAccess().getGroup_3_9(), "rule__MediaStyle__Group_3_9__0");
-					put(grammarAccess.getMediaStyleAccess().getGroup_3_10(), "rule__MediaStyle__Group_3_10__0");
-					put(grammarAccess.getMediaStyleAccess().getGroup_3_11(), "rule__MediaStyle__Group_3_11__0");
-					put(grammarAccess.getMediaStyleAccess().getGroup_3_12(), "rule__MediaStyle__Group_3_12__0");
-					put(grammarAccess.getMediaStyleAccess().getGroup_3_13(), "rule__MediaStyle__Group_3_13__0");
-					put(grammarAccess.getMediaStyleAccess().getGroup_3_14(), "rule__MediaStyle__Group_3_14__0");
-					put(grammarAccess.getMediaStyleAccess().getGroup_3_15(), "rule__MediaStyle__Group_3_15__0");
-					put(grammarAccess.getMediaStyleAccess().getGroup_3_16(), "rule__MediaStyle__Group_3_16__0");
-					put(grammarAccess.getUomoFormatAccess().getGroup(), "rule__UomoFormat__Group__0");
-					put(grammarAccess.getNumberFormatAccess().getGroup(), "rule__NumberFormat__Group__0");
-					put(grammarAccess.getCurrencyFormatAccess().getGroup(), "rule__CurrencyFormat__Group__0");
-					put(grammarAccess.getDateFormatAccess().getGroup(), "rule__DateFormat__Group__0");
-					put(grammarAccess.getDateTimeFormatAccess().getGroup(), "rule__DateTimeFormat__Group__0");
-					put(grammarAccess.getTimeFormatAccess().getGroup(), "rule__TimeFormat__Group__0");
-					put(grammarAccess.getReportAccess().getGroup(), "rule__Report__Group__0");
-					put(grammarAccess.getReportAccess().getGroup_2(), "rule__Report__Group_2__0");
-					put(grammarAccess.getReportAccess().getGroup_3(), "rule__Report__Group_3__0");
-					put(grammarAccess.getReportAccess().getGroup_9(), "rule__Report__Group_9__0");
-					put(grammarAccess.getReportAccess().getGroup_9_2(), "rule__Report__Group_9_2__0");
-					put(grammarAccess.getReportDesignFileAccess().getGroup(), "rule__ReportDesignFile__Group__0");
-					put(grammarAccess.getReportDesignTemplateAccess().getGroup(), "rule__ReportDesignTemplate__Group__0");
-					put(grammarAccess.getReportDesignTemplateAccess().getGroup_2(), "rule__ReportDesignTemplate__Group_2__0");
-					put(grammarAccess.getPageHeaderAccess().getGroup(), "rule__PageHeader__Group__0");
-					put(grammarAccess.getPageDetailAccess().getGroup(), "rule__PageDetail__Group__0");
-					put(grammarAccess.getPageFooterAccess().getGroup(), "rule__PageFooter__Group__0");
-					put(grammarAccess.getGridAccess().getGroup(), "rule__Grid__Group__0");
-					put(grammarAccess.getGridAccess().getGroup_2(), "rule__Grid__Group_2__0");
-					put(grammarAccess.getGridRowAccess().getGroup(), "rule__GridRow__Group__0");
-					put(grammarAccess.getGridRowAccess().getGroup_2(), "rule__GridRow__Group_2__0");
-					put(grammarAccess.getGridRowAccess().getGroup_3(), "rule__GridRow__Group_3__0");
-					put(grammarAccess.getGridCellAccess().getGroup(), "rule__GridCell__Group__0");
-					put(grammarAccess.getGridCellAccess().getGroup_2(), "rule__GridCell__Group_2__0");
-					put(grammarAccess.getGridCellAccess().getGroup_3(), "rule__GridCell__Group_3__0");
-					put(grammarAccess.getDatamartTableAccess().getGroup(), "rule__DatamartTable__Group__0");
-					put(grammarAccess.getDatamartTableAccess().getGroup_1(), "rule__DatamartTable__Group_1__0");
-					put(grammarAccess.getDatamartTableAccess().getGroup_3(), "rule__DatamartTable__Group_3__0");
-					put(grammarAccess.getDatamartTableAccess().getGroup_3_1(), "rule__DatamartTable__Group_3_1__0");
-					put(grammarAccess.getDatamartTableAccess().getGroup_4(), "rule__DatamartTable__Group_4__0");
-					put(grammarAccess.getDatamartTableAccess().getGroup_4_1(), "rule__DatamartTable__Group_4_1__0");
-					put(grammarAccess.getDatamartTableGroupAccess().getGroup(), "rule__DatamartTableGroup__Group__0");
-					put(grammarAccess.getDatamartTableGroupAccess().getGroup_6(), "rule__DatamartTableGroup__Group_6__0");
-					put(grammarAccess.getDatamartTableGroupAccess().getGroup_6_1(), "rule__DatamartTableGroup__Group_6_1__0");
-					put(grammarAccess.getDatamartTableGroupAccess().getGroup_7(), "rule__DatamartTableGroup__Group_7__0");
-					put(grammarAccess.getDatamartTableGroupAccess().getGroup_7_1(), "rule__DatamartTableGroup__Group_7_1__0");
-					put(grammarAccess.getDatamartTableGroupHeaderAccess().getGroup(), "rule__DatamartTableGroupHeader__Group__0");
-					put(grammarAccess.getDatamartTableGroupHeaderAccess().getGroup_2(), "rule__DatamartTableGroupHeader__Group_2__0");
-					put(grammarAccess.getDatamartTableGroupFooterAccess().getGroup(), "rule__DatamartTableGroupFooter__Group__0");
-					put(grammarAccess.getDatamartTableGroupFooterAccess().getGroup_2(), "rule__DatamartTableGroupFooter__Group_2__0");
-					put(grammarAccess.getDatamartTableDetailAccess().getGroup(), "rule__DatamartTableDetail__Group__0");
-					put(grammarAccess.getDatamartTableDetailAccess().getGroup_2(), "rule__DatamartTableDetail__Group_2__0");
-					put(grammarAccess.getDatamartTableDetailAccess().getGroup_3_1(), "rule__DatamartTableDetail__Group_3_1__0");
-					put(grammarAccess.getDatamartTablePropertyAccess().getGroup(), "rule__DatamartTableProperty__Group__0");
-					put(grammarAccess.getDatamartTablePropertyAccess().getGroup_1_0(), "rule__DatamartTableProperty__Group_1_0__0");
-					put(grammarAccess.getDatamartTablePropertyAccess().getGroup_1_1(), "rule__DatamartTableProperty__Group_1_1__0");
-					put(grammarAccess.getDatamartTablePropertyAccess().getGroup_1_2(), "rule__DatamartTableProperty__Group_1_2__0");
-					put(grammarAccess.getDatamartTablePropertyAccess().getGroup_1_3(), "rule__DatamartTableProperty__Group_1_3__0");
-					put(grammarAccess.getTableFormatterAccess().getGroup(), "rule__TableFormatter__Group__0");
-					put(grammarAccess.getTableImageAccess().getGroup(), "rule__TableImage__Group__0");
-					put(grammarAccess.getTableImageAccess().getGroup_3_2(), "rule__TableImage__Group_3_2__0");
-					put(grammarAccess.getTablePropertyAccess().getGroup(), "rule__TableProperty__Group__0");
-					put(grammarAccess.getTableAggregationAccess().getGroup(), "rule__TableAggregation__Group__0");
-					put(grammarAccess.getTableAggregationAccess().getGroup_2_0(), "rule__TableAggregation__Group_2_0__0");
-					put(grammarAccess.getTableAggregationAccess().getGroup_2_1(), "rule__TableAggregation__Group_2_1__0");
-					put(grammarAccess.getTableUnaryAggregationAccess().getGroup(), "rule__TableUnaryAggregation__Group__0");
-					put(grammarAccess.getTableMultipleAggregationAccess().getGroup(), "rule__TableMultipleAggregation__Group__0");
-					put(grammarAccess.getTableBinaryAggregationAccess().getGroup(), "rule__TableBinaryAggregation__Group__0");
-					put(grammarAccess.getTableNumberIntervalAccess().getGroup(), "rule__TableNumberInterval__Group__0");
-					put(grammarAccess.getTableDateDayIntervalAccess().getGroup(), "rule__TableDateDayInterval__Group__0");
-					put(grammarAccess.getTableNumberLookupAccess().getGroup(), "rule__TableNumberLookup__Group__0");
-					put(grammarAccess.getTableStringLookupAccess().getGroup(), "rule__TableStringLookup__Group__0");
-					put(grammarAccess.getTableDateDayLookupAccess().getGroup(), "rule__TableDateDayLookup__Group__0");
-					put(grammarAccess.getSignedNumberAccess().getGroup(), "rule__SignedNumber__Group__0");
-					put(grammarAccess.getTableTextColorAccess().getGroup(), "rule__TableTextColor__Group__0");
-					put(grammarAccess.getTableCellColorAccess().getGroup(), "rule__TableCellColor__Group__0");
-					put(grammarAccess.getTableIconAccess().getGroup(), "rule__TableIcon__Group__0");
-					put(grammarAccess.getTableTrendAccess().getGroup(), "rule__TableTrend__Group__0");
-					put(grammarAccess.getTitleAccess().getGroup(), "rule__Title__Group__0");
-					put(grammarAccess.getTitleAccess().getGroup_3(), "rule__Title__Group_3__0");
-					put(grammarAccess.getSubTitleAccess().getGroup(), "rule__SubTitle__Group__0");
-					put(grammarAccess.getSubTitleAccess().getGroup_3(), "rule__SubTitle__Group_3__0");
-					put(grammarAccess.getSubSubTitleAccess().getGroup(), "rule__SubSubTitle__Group__0");
-					put(grammarAccess.getSubSubTitleAccess().getGroup_3(), "rule__SubSubTitle__Group_3__0");
-					put(grammarAccess.getLabelAccess().getGroup(), "rule__Label__Group__0");
-					put(grammarAccess.getLabelAccess().getGroup_3(), "rule__Label__Group_3__0");
-					put(grammarAccess.getTextAccess().getGroup(), "rule__Text__Group__0");
-					put(grammarAccess.getTextAccess().getGroup_3(), "rule__Text__Group_3__0");
-					put(grammarAccess.getAutoTextAccess().getGroup(), "rule__AutoText__Group__0");
-					put(grammarAccess.getAutoTextAccess().getGroup_2(), "rule__AutoText__Group_2__0");
-					put(grammarAccess.getImageAccess().getGroup(), "rule__Image__Group__0");
-					put(grammarAccess.getImageAccess().getGroup_2(), "rule__Image__Group_2__0");
-					put(grammarAccess.getReportImportAccess().getGroup(), "rule__ReportImport__Group__0");
-					put(grammarAccess.getReportQualifiedNameWithWildCardAccess().getGroup(), "rule__ReportQualifiedNameWithWildCard__Group__0");
-					put(grammarAccess.getReportQualifiedNameWithWildCardAccess().getGroup_1(), "rule__ReportQualifiedNameWithWildCard__Group_1__0");
-					put(grammarAccess.getXAnnotationAccess().getGroup(), "rule__XAnnotation__Group__0");
-					put(grammarAccess.getXAnnotationAccess().getGroup_3(), "rule__XAnnotation__Group_3__0");
-					put(grammarAccess.getXAnnotationAccess().getGroup_3_1_0(), "rule__XAnnotation__Group_3_1_0__0");
-					put(grammarAccess.getXAnnotationAccess().getGroup_3_1_0_1(), "rule__XAnnotation__Group_3_1_0_1__0");
-					put(grammarAccess.getXAnnotationElementValuePairAccess().getGroup(), "rule__XAnnotationElementValuePair__Group__0");
-					put(grammarAccess.getXAnnotationElementValuePairAccess().getGroup_0(), "rule__XAnnotationElementValuePair__Group_0__0");
-					put(grammarAccess.getXAnnotationElementValuePairAccess().getGroup_0_0(), "rule__XAnnotationElementValuePair__Group_0_0__0");
-					put(grammarAccess.getXAnnotationElementValueOrCommaListAccess().getGroup_0(), "rule__XAnnotationElementValueOrCommaList__Group_0__0");
-					put(grammarAccess.getXAnnotationElementValueOrCommaListAccess().getGroup_0_0(), "rule__XAnnotationElementValueOrCommaList__Group_0_0__0");
-					put(grammarAccess.getXAnnotationElementValueOrCommaListAccess().getGroup_0_0_0(), "rule__XAnnotationElementValueOrCommaList__Group_0_0_0__0");
-					put(grammarAccess.getXAnnotationElementValueOrCommaListAccess().getGroup_0_1(), "rule__XAnnotationElementValueOrCommaList__Group_0_1__0");
-					put(grammarAccess.getXAnnotationElementValueOrCommaListAccess().getGroup_0_1_1(), "rule__XAnnotationElementValueOrCommaList__Group_0_1_1__0");
-					put(grammarAccess.getXAnnotationElementValueOrCommaListAccess().getGroup_1(), "rule__XAnnotationElementValueOrCommaList__Group_1__0");
-					put(grammarAccess.getXAnnotationElementValueOrCommaListAccess().getGroup_1_1(), "rule__XAnnotationElementValueOrCommaList__Group_1_1__0");
-					put(grammarAccess.getXAnnotationElementValueOrCommaListAccess().getGroup_1_1_1(), "rule__XAnnotationElementValueOrCommaList__Group_1_1_1__0");
-					put(grammarAccess.getXAnnotationElementValueAccess().getGroup_0(), "rule__XAnnotationElementValue__Group_0__0");
-					put(grammarAccess.getXAnnotationElementValueAccess().getGroup_0_0(), "rule__XAnnotationElementValue__Group_0_0__0");
-					put(grammarAccess.getXAnnotationElementValueAccess().getGroup_0_0_0(), "rule__XAnnotationElementValue__Group_0_0_0__0");
-					put(grammarAccess.getXAnnotationElementValueAccess().getGroup_0_1(), "rule__XAnnotationElementValue__Group_0_1__0");
-					put(grammarAccess.getXAnnotationElementValueAccess().getGroup_0_1_1(), "rule__XAnnotationElementValue__Group_0_1_1__0");
-					put(grammarAccess.getXAssignmentAccess().getGroup_0(), "rule__XAssignment__Group_0__0");
-					put(grammarAccess.getXAssignmentAccess().getGroup_1(), "rule__XAssignment__Group_1__0");
-					put(grammarAccess.getXAssignmentAccess().getGroup_1_1(), "rule__XAssignment__Group_1_1__0");
-					put(grammarAccess.getXAssignmentAccess().getGroup_1_1_0(), "rule__XAssignment__Group_1_1_0__0");
-					put(grammarAccess.getXAssignmentAccess().getGroup_1_1_0_0(), "rule__XAssignment__Group_1_1_0_0__0");
-					put(grammarAccess.getOpMultiAssignAccess().getGroup_5(), "rule__OpMultiAssign__Group_5__0");
-					put(grammarAccess.getOpMultiAssignAccess().getGroup_6(), "rule__OpMultiAssign__Group_6__0");
-					put(grammarAccess.getXOrExpressionAccess().getGroup(), "rule__XOrExpression__Group__0");
-					put(grammarAccess.getXOrExpressionAccess().getGroup_1(), "rule__XOrExpression__Group_1__0");
-					put(grammarAccess.getXOrExpressionAccess().getGroup_1_0(), "rule__XOrExpression__Group_1_0__0");
-					put(grammarAccess.getXOrExpressionAccess().getGroup_1_0_0(), "rule__XOrExpression__Group_1_0_0__0");
-					put(grammarAccess.getXAndExpressionAccess().getGroup(), "rule__XAndExpression__Group__0");
-					put(grammarAccess.getXAndExpressionAccess().getGroup_1(), "rule__XAndExpression__Group_1__0");
-					put(grammarAccess.getXAndExpressionAccess().getGroup_1_0(), "rule__XAndExpression__Group_1_0__0");
-					put(grammarAccess.getXAndExpressionAccess().getGroup_1_0_0(), "rule__XAndExpression__Group_1_0_0__0");
-					put(grammarAccess.getXEqualityExpressionAccess().getGroup(), "rule__XEqualityExpression__Group__0");
-					put(grammarAccess.getXEqualityExpressionAccess().getGroup_1(), "rule__XEqualityExpression__Group_1__0");
-					put(grammarAccess.getXEqualityExpressionAccess().getGroup_1_0(), "rule__XEqualityExpression__Group_1_0__0");
-					put(grammarAccess.getXEqualityExpressionAccess().getGroup_1_0_0(), "rule__XEqualityExpression__Group_1_0_0__0");
-					put(grammarAccess.getXRelationalExpressionAccess().getGroup(), "rule__XRelationalExpression__Group__0");
-					put(grammarAccess.getXRelationalExpressionAccess().getGroup_1_0(), "rule__XRelationalExpression__Group_1_0__0");
-					put(grammarAccess.getXRelationalExpressionAccess().getGroup_1_0_0(), "rule__XRelationalExpression__Group_1_0_0__0");
-					put(grammarAccess.getXRelationalExpressionAccess().getGroup_1_0_0_0(), "rule__XRelationalExpression__Group_1_0_0_0__0");
-					put(grammarAccess.getXRelationalExpressionAccess().getGroup_1_1(), "rule__XRelationalExpression__Group_1_1__0");
-					put(grammarAccess.getXRelationalExpressionAccess().getGroup_1_1_0(), "rule__XRelationalExpression__Group_1_1_0__0");
-					put(grammarAccess.getXRelationalExpressionAccess().getGroup_1_1_0_0(), "rule__XRelationalExpression__Group_1_1_0_0__0");
-					put(grammarAccess.getOpCompareAccess().getGroup_1(), "rule__OpCompare__Group_1__0");
-					put(grammarAccess.getXOtherOperatorExpressionAccess().getGroup(), "rule__XOtherOperatorExpression__Group__0");
-					put(grammarAccess.getXOtherOperatorExpressionAccess().getGroup_1(), "rule__XOtherOperatorExpression__Group_1__0");
-					put(grammarAccess.getXOtherOperatorExpressionAccess().getGroup_1_0(), "rule__XOtherOperatorExpression__Group_1_0__0");
-					put(grammarAccess.getXOtherOperatorExpressionAccess().getGroup_1_0_0(), "rule__XOtherOperatorExpression__Group_1_0_0__0");
-					put(grammarAccess.getOpOtherAccess().getGroup_2(), "rule__OpOther__Group_2__0");
-					put(grammarAccess.getOpOtherAccess().getGroup_5(), "rule__OpOther__Group_5__0");
-					put(grammarAccess.getOpOtherAccess().getGroup_5_1_0(), "rule__OpOther__Group_5_1_0__0");
-					put(grammarAccess.getOpOtherAccess().getGroup_5_1_0_0(), "rule__OpOther__Group_5_1_0_0__0");
-					put(grammarAccess.getOpOtherAccess().getGroup_6(), "rule__OpOther__Group_6__0");
-					put(grammarAccess.getOpOtherAccess().getGroup_6_1_0(), "rule__OpOther__Group_6_1_0__0");
-					put(grammarAccess.getOpOtherAccess().getGroup_6_1_0_0(), "rule__OpOther__Group_6_1_0_0__0");
-					put(grammarAccess.getXAdditiveExpressionAccess().getGroup(), "rule__XAdditiveExpression__Group__0");
-					put(grammarAccess.getXAdditiveExpressionAccess().getGroup_1(), "rule__XAdditiveExpression__Group_1__0");
-					put(grammarAccess.getXAdditiveExpressionAccess().getGroup_1_0(), "rule__XAdditiveExpression__Group_1_0__0");
-					put(grammarAccess.getXAdditiveExpressionAccess().getGroup_1_0_0(), "rule__XAdditiveExpression__Group_1_0_0__0");
-					put(grammarAccess.getXMultiplicativeExpressionAccess().getGroup(), "rule__XMultiplicativeExpression__Group__0");
-					put(grammarAccess.getXMultiplicativeExpressionAccess().getGroup_1(), "rule__XMultiplicativeExpression__Group_1__0");
-					put(grammarAccess.getXMultiplicativeExpressionAccess().getGroup_1_0(), "rule__XMultiplicativeExpression__Group_1_0__0");
-					put(grammarAccess.getXMultiplicativeExpressionAccess().getGroup_1_0_0(), "rule__XMultiplicativeExpression__Group_1_0_0__0");
-					put(grammarAccess.getXUnaryOperationAccess().getGroup_0(), "rule__XUnaryOperation__Group_0__0");
-					put(grammarAccess.getXCastedExpressionAccess().getGroup(), "rule__XCastedExpression__Group__0");
-					put(grammarAccess.getXCastedExpressionAccess().getGroup_1(), "rule__XCastedExpression__Group_1__0");
-					put(grammarAccess.getXCastedExpressionAccess().getGroup_1_0(), "rule__XCastedExpression__Group_1_0__0");
-					put(grammarAccess.getXCastedExpressionAccess().getGroup_1_0_0(), "rule__XCastedExpression__Group_1_0_0__0");
-					put(grammarAccess.getXPostfixOperationAccess().getGroup(), "rule__XPostfixOperation__Group__0");
-					put(grammarAccess.getXPostfixOperationAccess().getGroup_1(), "rule__XPostfixOperation__Group_1__0");
-					put(grammarAccess.getXPostfixOperationAccess().getGroup_1_0(), "rule__XPostfixOperation__Group_1_0__0");
-					put(grammarAccess.getXMemberFeatureCallAccess().getGroup(), "rule__XMemberFeatureCall__Group__0");
-					put(grammarAccess.getXMemberFeatureCallAccess().getGroup_1_0(), "rule__XMemberFeatureCall__Group_1_0__0");
-					put(grammarAccess.getXMemberFeatureCallAccess().getGroup_1_0_0(), "rule__XMemberFeatureCall__Group_1_0_0__0");
-					put(grammarAccess.getXMemberFeatureCallAccess().getGroup_1_0_0_0(), "rule__XMemberFeatureCall__Group_1_0_0_0__0");
-					put(grammarAccess.getXMemberFeatureCallAccess().getGroup_1_1(), "rule__XMemberFeatureCall__Group_1_1__0");
-					put(grammarAccess.getXMemberFeatureCallAccess().getGroup_1_1_0(), "rule__XMemberFeatureCall__Group_1_1_0__0");
-					put(grammarAccess.getXMemberFeatureCallAccess().getGroup_1_1_0_0(), "rule__XMemberFeatureCall__Group_1_1_0_0__0");
-					put(grammarAccess.getXMemberFeatureCallAccess().getGroup_1_1_1(), "rule__XMemberFeatureCall__Group_1_1_1__0");
-					put(grammarAccess.getXMemberFeatureCallAccess().getGroup_1_1_1_2(), "rule__XMemberFeatureCall__Group_1_1_1_2__0");
-					put(grammarAccess.getXMemberFeatureCallAccess().getGroup_1_1_3(), "rule__XMemberFeatureCall__Group_1_1_3__0");
-					put(grammarAccess.getXMemberFeatureCallAccess().getGroup_1_1_3_1_1(), "rule__XMemberFeatureCall__Group_1_1_3_1_1__0");
-					put(grammarAccess.getXMemberFeatureCallAccess().getGroup_1_1_3_1_1_1(), "rule__XMemberFeatureCall__Group_1_1_3_1_1_1__0");
-					put(grammarAccess.getXSetLiteralAccess().getGroup(), "rule__XSetLiteral__Group__0");
-					put(grammarAccess.getXSetLiteralAccess().getGroup_3(), "rule__XSetLiteral__Group_3__0");
-					put(grammarAccess.getXSetLiteralAccess().getGroup_3_1(), "rule__XSetLiteral__Group_3_1__0");
-					put(grammarAccess.getXListLiteralAccess().getGroup(), "rule__XListLiteral__Group__0");
-					put(grammarAccess.getXListLiteralAccess().getGroup_3(), "rule__XListLiteral__Group_3__0");
-					put(grammarAccess.getXListLiteralAccess().getGroup_3_1(), "rule__XListLiteral__Group_3_1__0");
-					put(grammarAccess.getXClosureAccess().getGroup(), "rule__XClosure__Group__0");
-					put(grammarAccess.getXClosureAccess().getGroup_0(), "rule__XClosure__Group_0__0");
-					put(grammarAccess.getXClosureAccess().getGroup_0_0(), "rule__XClosure__Group_0_0__0");
-					put(grammarAccess.getXClosureAccess().getGroup_1(), "rule__XClosure__Group_1__0");
-					put(grammarAccess.getXClosureAccess().getGroup_1_0(), "rule__XClosure__Group_1_0__0");
-					put(grammarAccess.getXClosureAccess().getGroup_1_0_0(), "rule__XClosure__Group_1_0_0__0");
-					put(grammarAccess.getXClosureAccess().getGroup_1_0_0_1(), "rule__XClosure__Group_1_0_0_1__0");
-					put(grammarAccess.getXExpressionInClosureAccess().getGroup(), "rule__XExpressionInClosure__Group__0");
-					put(grammarAccess.getXExpressionInClosureAccess().getGroup_1(), "rule__XExpressionInClosure__Group_1__0");
-					put(grammarAccess.getXShortClosureAccess().getGroup(), "rule__XShortClosure__Group__0");
-					put(grammarAccess.getXShortClosureAccess().getGroup_0(), "rule__XShortClosure__Group_0__0");
-					put(grammarAccess.getXShortClosureAccess().getGroup_0_0(), "rule__XShortClosure__Group_0_0__0");
-					put(grammarAccess.getXShortClosureAccess().getGroup_0_0_1(), "rule__XShortClosure__Group_0_0_1__0");
-					put(grammarAccess.getXShortClosureAccess().getGroup_0_0_1_1(), "rule__XShortClosure__Group_0_0_1_1__0");
-					put(grammarAccess.getXParenthesizedExpressionAccess().getGroup(), "rule__XParenthesizedExpression__Group__0");
-					put(grammarAccess.getXIfExpressionAccess().getGroup(), "rule__XIfExpression__Group__0");
-					put(grammarAccess.getXIfExpressionAccess().getGroup_6(), "rule__XIfExpression__Group_6__0");
-					put(grammarAccess.getXSwitchExpressionAccess().getGroup(), "rule__XSwitchExpression__Group__0");
-					put(grammarAccess.getXSwitchExpressionAccess().getGroup_2_0(), "rule__XSwitchExpression__Group_2_0__0");
-					put(grammarAccess.getXSwitchExpressionAccess().getGroup_2_0_0(), "rule__XSwitchExpression__Group_2_0_0__0");
-					put(grammarAccess.getXSwitchExpressionAccess().getGroup_2_0_0_0(), "rule__XSwitchExpression__Group_2_0_0_0__0");
-					put(grammarAccess.getXSwitchExpressionAccess().getGroup_2_1(), "rule__XSwitchExpression__Group_2_1__0");
-					put(grammarAccess.getXSwitchExpressionAccess().getGroup_2_1_0(), "rule__XSwitchExpression__Group_2_1_0__0");
-					put(grammarAccess.getXSwitchExpressionAccess().getGroup_2_1_0_0(), "rule__XSwitchExpression__Group_2_1_0_0__0");
-					put(grammarAccess.getXSwitchExpressionAccess().getGroup_5(), "rule__XSwitchExpression__Group_5__0");
-					put(grammarAccess.getXCasePartAccess().getGroup(), "rule__XCasePart__Group__0");
-					put(grammarAccess.getXCasePartAccess().getGroup_2(), "rule__XCasePart__Group_2__0");
-					put(grammarAccess.getXCasePartAccess().getGroup_3_0(), "rule__XCasePart__Group_3_0__0");
-					put(grammarAccess.getXForLoopExpressionAccess().getGroup(), "rule__XForLoopExpression__Group__0");
-					put(grammarAccess.getXForLoopExpressionAccess().getGroup_0(), "rule__XForLoopExpression__Group_0__0");
-					put(grammarAccess.getXForLoopExpressionAccess().getGroup_0_0(), "rule__XForLoopExpression__Group_0_0__0");
-					put(grammarAccess.getXBasicForLoopExpressionAccess().getGroup(), "rule__XBasicForLoopExpression__Group__0");
-					put(grammarAccess.getXBasicForLoopExpressionAccess().getGroup_3(), "rule__XBasicForLoopExpression__Group_3__0");
-					put(grammarAccess.getXBasicForLoopExpressionAccess().getGroup_3_1(), "rule__XBasicForLoopExpression__Group_3_1__0");
-					put(grammarAccess.getXBasicForLoopExpressionAccess().getGroup_7(), "rule__XBasicForLoopExpression__Group_7__0");
-					put(grammarAccess.getXBasicForLoopExpressionAccess().getGroup_7_1(), "rule__XBasicForLoopExpression__Group_7_1__0");
-					put(grammarAccess.getXWhileExpressionAccess().getGroup(), "rule__XWhileExpression__Group__0");
-					put(grammarAccess.getXDoWhileExpressionAccess().getGroup(), "rule__XDoWhileExpression__Group__0");
-					put(grammarAccess.getXBlockExpressionAccess().getGroup(), "rule__XBlockExpression__Group__0");
-					put(grammarAccess.getXBlockExpressionAccess().getGroup_2(), "rule__XBlockExpression__Group_2__0");
-					put(grammarAccess.getXVariableDeclarationAccess().getGroup(), "rule__XVariableDeclaration__Group__0");
-					put(grammarAccess.getXVariableDeclarationAccess().getGroup_2_0(), "rule__XVariableDeclaration__Group_2_0__0");
-					put(grammarAccess.getXVariableDeclarationAccess().getGroup_2_0_0(), "rule__XVariableDeclaration__Group_2_0_0__0");
-					put(grammarAccess.getXVariableDeclarationAccess().getGroup_3(), "rule__XVariableDeclaration__Group_3__0");
-					put(grammarAccess.getJvmFormalParameterAccess().getGroup(), "rule__JvmFormalParameter__Group__0");
-					put(grammarAccess.getFullJvmFormalParameterAccess().getGroup(), "rule__FullJvmFormalParameter__Group__0");
-					put(grammarAccess.getXFeatureCallAccess().getGroup(), "rule__XFeatureCall__Group__0");
-					put(grammarAccess.getXFeatureCallAccess().getGroup_1(), "rule__XFeatureCall__Group_1__0");
-					put(grammarAccess.getXFeatureCallAccess().getGroup_1_2(), "rule__XFeatureCall__Group_1_2__0");
-					put(grammarAccess.getXFeatureCallAccess().getGroup_3(), "rule__XFeatureCall__Group_3__0");
-					put(grammarAccess.getXFeatureCallAccess().getGroup_3_1_1(), "rule__XFeatureCall__Group_3_1_1__0");
-					put(grammarAccess.getXFeatureCallAccess().getGroup_3_1_1_1(), "rule__XFeatureCall__Group_3_1_1_1__0");
-					put(grammarAccess.getXConstructorCallAccess().getGroup(), "rule__XConstructorCall__Group__0");
-					put(grammarAccess.getXConstructorCallAccess().getGroup_3(), "rule__XConstructorCall__Group_3__0");
-					put(grammarAccess.getXConstructorCallAccess().getGroup_3_2(), "rule__XConstructorCall__Group_3_2__0");
-					put(grammarAccess.getXConstructorCallAccess().getGroup_4(), "rule__XConstructorCall__Group_4__0");
-					put(grammarAccess.getXConstructorCallAccess().getGroup_4_1_1(), "rule__XConstructorCall__Group_4_1_1__0");
-					put(grammarAccess.getXConstructorCallAccess().getGroup_4_1_1_1(), "rule__XConstructorCall__Group_4_1_1_1__0");
-					put(grammarAccess.getXBooleanLiteralAccess().getGroup(), "rule__XBooleanLiteral__Group__0");
-					put(grammarAccess.getXNullLiteralAccess().getGroup(), "rule__XNullLiteral__Group__0");
-					put(grammarAccess.getXNumberLiteralAccess().getGroup(), "rule__XNumberLiteral__Group__0");
-					put(grammarAccess.getXStringLiteralAccess().getGroup(), "rule__XStringLiteral__Group__0");
-					put(grammarAccess.getXTypeLiteralAccess().getGroup(), "rule__XTypeLiteral__Group__0");
-					put(grammarAccess.getXThrowExpressionAccess().getGroup(), "rule__XThrowExpression__Group__0");
-					put(grammarAccess.getXReturnExpressionAccess().getGroup(), "rule__XReturnExpression__Group__0");
-					put(grammarAccess.getXTryCatchFinallyExpressionAccess().getGroup(), "rule__XTryCatchFinallyExpression__Group__0");
-					put(grammarAccess.getXTryCatchFinallyExpressionAccess().getGroup_3_0(), "rule__XTryCatchFinallyExpression__Group_3_0__0");
-					put(grammarAccess.getXTryCatchFinallyExpressionAccess().getGroup_3_0_1(), "rule__XTryCatchFinallyExpression__Group_3_0_1__0");
-					put(grammarAccess.getXTryCatchFinallyExpressionAccess().getGroup_3_1(), "rule__XTryCatchFinallyExpression__Group_3_1__0");
-					put(grammarAccess.getXSynchronizedExpressionAccess().getGroup(), "rule__XSynchronizedExpression__Group__0");
-					put(grammarAccess.getXSynchronizedExpressionAccess().getGroup_0(), "rule__XSynchronizedExpression__Group_0__0");
-					put(grammarAccess.getXSynchronizedExpressionAccess().getGroup_0_0(), "rule__XSynchronizedExpression__Group_0_0__0");
-					put(grammarAccess.getXCatchClauseAccess().getGroup(), "rule__XCatchClause__Group__0");
-					put(grammarAccess.getQualifiedNameAccess().getGroup(), "rule__QualifiedName__Group__0");
-					put(grammarAccess.getQualifiedNameAccess().getGroup_1(), "rule__QualifiedName__Group_1__0");
-					put(grammarAccess.getNumberAccess().getGroup_1(), "rule__Number__Group_1__0");
-					put(grammarAccess.getNumberAccess().getGroup_1_1(), "rule__Number__Group_1_1__0");
-					put(grammarAccess.getStaticQualifierAccess().getGroup(), "rule__StaticQualifier__Group__0");
-					put(grammarAccess.getJvmTypeReferenceAccess().getGroup_0(), "rule__JvmTypeReference__Group_0__0");
-					put(grammarAccess.getJvmTypeReferenceAccess().getGroup_0_1(), "rule__JvmTypeReference__Group_0_1__0");
-					put(grammarAccess.getJvmTypeReferenceAccess().getGroup_0_1_0(), "rule__JvmTypeReference__Group_0_1_0__0");
-					put(grammarAccess.getArrayBracketsAccess().getGroup(), "rule__ArrayBrackets__Group__0");
-					put(grammarAccess.getXFunctionTypeRefAccess().getGroup(), "rule__XFunctionTypeRef__Group__0");
-					put(grammarAccess.getXFunctionTypeRefAccess().getGroup_0(), "rule__XFunctionTypeRef__Group_0__0");
-					put(grammarAccess.getXFunctionTypeRefAccess().getGroup_0_1(), "rule__XFunctionTypeRef__Group_0_1__0");
-					put(grammarAccess.getXFunctionTypeRefAccess().getGroup_0_1_1(), "rule__XFunctionTypeRef__Group_0_1_1__0");
-					put(grammarAccess.getJvmParameterizedTypeReferenceAccess().getGroup(), "rule__JvmParameterizedTypeReference__Group__0");
-					put(grammarAccess.getJvmParameterizedTypeReferenceAccess().getGroup_1(), "rule__JvmParameterizedTypeReference__Group_1__0");
-					put(grammarAccess.getJvmParameterizedTypeReferenceAccess().getGroup_1_2(), "rule__JvmParameterizedTypeReference__Group_1_2__0");
-					put(grammarAccess.getJvmParameterizedTypeReferenceAccess().getGroup_1_4(), "rule__JvmParameterizedTypeReference__Group_1_4__0");
-					put(grammarAccess.getJvmParameterizedTypeReferenceAccess().getGroup_1_4_0(), "rule__JvmParameterizedTypeReference__Group_1_4_0__0");
-					put(grammarAccess.getJvmParameterizedTypeReferenceAccess().getGroup_1_4_0_0(), "rule__JvmParameterizedTypeReference__Group_1_4_0_0__0");
-					put(grammarAccess.getJvmParameterizedTypeReferenceAccess().getGroup_1_4_2(), "rule__JvmParameterizedTypeReference__Group_1_4_2__0");
-					put(grammarAccess.getJvmParameterizedTypeReferenceAccess().getGroup_1_4_2_2(), "rule__JvmParameterizedTypeReference__Group_1_4_2_2__0");
-					put(grammarAccess.getJvmWildcardTypeReferenceAccess().getGroup(), "rule__JvmWildcardTypeReference__Group__0");
-					put(grammarAccess.getJvmWildcardTypeReferenceAccess().getGroup_2_0(), "rule__JvmWildcardTypeReference__Group_2_0__0");
-					put(grammarAccess.getJvmWildcardTypeReferenceAccess().getGroup_2_1(), "rule__JvmWildcardTypeReference__Group_2_1__0");
-					put(grammarAccess.getJvmUpperBoundAccess().getGroup(), "rule__JvmUpperBound__Group__0");
-					put(grammarAccess.getJvmUpperBoundAndedAccess().getGroup(), "rule__JvmUpperBoundAnded__Group__0");
-					put(grammarAccess.getJvmLowerBoundAccess().getGroup(), "rule__JvmLowerBound__Group__0");
-					put(grammarAccess.getJvmLowerBoundAndedAccess().getGroup(), "rule__JvmLowerBoundAnded__Group__0");
-					put(grammarAccess.getJvmTypeParameterAccess().getGroup(), "rule__JvmTypeParameter__Group__0");
-					put(grammarAccess.getJvmTypeParameterAccess().getGroup_1(), "rule__JvmTypeParameter__Group_1__0");
-					put(grammarAccess.getQualifiedNameWithWildcardAccess().getGroup(), "rule__QualifiedNameWithWildcard__Group__0");
-					put(grammarAccess.getXImportDeclarationAccess().getGroup(), "rule__XImportDeclaration__Group__0");
-					put(grammarAccess.getXImportDeclarationAccess().getGroup_1_0(), "rule__XImportDeclaration__Group_1_0__0");
-					put(grammarAccess.getQualifiedNameInStaticImportAccess().getGroup(), "rule__QualifiedNameInStaticImport__Group__0");
-					put(grammarAccess.getReportModelAccess().getPckgAssignment(), "rule__ReportModel__PckgAssignment");
-					put(grammarAccess.getReportPackageAccess().getNameAssignment_2(), "rule__ReportPackage__NameAssignment_2");
-					put(grammarAccess.getReportPackageAccess().getImportsAssignment_4(), "rule__ReportPackage__ImportsAssignment_4");
-					put(grammarAccess.getReportPackageAccess().getExternalCssURIAssignment_5_2_1(), "rule__ReportPackage__ExternalCssURIAssignment_5_2_1");
-					put(grammarAccess.getReportPackageAccess().getExternalCssURIBundleAssignment_5_2_2_1(), "rule__ReportPackage__ExternalCssURIBundleAssignment_5_2_2_1");
-					put(grammarAccess.getReportPackageAccess().getPagetemplatesAssignment_5_3(), "rule__ReportPackage__PagetemplatesAssignment_5_3");
-					put(grammarAccess.getReportPackageAccess().getFormattersAssignment_5_4(), "rule__ReportPackage__FormattersAssignment_5_4");
-					put(grammarAccess.getReportPackageAccess().getColorsAssignment_5_5(), "rule__ReportPackage__ColorsAssignment_5_5");
-					put(grammarAccess.getReportPackageAccess().getFontsAssignment_5_6(), "rule__ReportPackage__FontsAssignment_5_6");
-					put(grammarAccess.getReportPackageAccess().getMediasAssignment_5_7(), "rule__ReportPackage__MediasAssignment_5_7");
-					put(grammarAccess.getReportPackageAccess().getStylesAssignment_5_8(), "rule__ReportPackage__StylesAssignment_5_8");
-					put(grammarAccess.getReportPackageAccess().getReportsAssignment_6(), "rule__ReportPackage__ReportsAssignment_6");
-					put(grammarAccess.getPageTemplatesAccess().getPagetemplatesAssignment_1(), "rule__PageTemplates__PagetemplatesAssignment_1");
-					put(grammarAccess.getSomeFormatsAccess().getFormattersAssignment_3(), "rule__SomeFormats__FormattersAssignment_3");
-					put(grammarAccess.getColorsAccess().getColorsAssignment_3(), "rule__Colors__ColorsAssignment_3");
-					put(grammarAccess.getFontsAccess().getFontsAssignment_3(), "rule__Fonts__FontsAssignment_3");
-					put(grammarAccess.getMediasAccess().getMediasAssignment_3(), "rule__Medias__MediasAssignment_3");
-					put(grammarAccess.getMediaAccess().getNameAssignment_1(), "rule__Media__NameAssignment_1");
-					put(grammarAccess.getStylesAccess().getStylesAssignment_3(), "rule__Styles__StylesAssignment_3");
-					put(grammarAccess.getPageTemplateAccess().getNameAssignment_1(), "rule__PageTemplate__NameAssignment_1");
-					put(grammarAccess.getPageTemplateAccess().getSizeAssignment_4(), "rule__PageTemplate__SizeAssignment_4");
-					put(grammarAccess.getPageTemplateAccess().getOrientationAssignment_6(), "rule__PageTemplate__OrientationAssignment_6");
-					put(grammarAccess.getPageTemplateAccess().getTopMarginValueAssignment_8(), "rule__PageTemplate__TopMarginValueAssignment_8");
-					put(grammarAccess.getPageTemplateAccess().getTopMarginUnitAssignment_9(), "rule__PageTemplate__TopMarginUnitAssignment_9");
-					put(grammarAccess.getPageTemplateAccess().getLeftMarginValueAssignment_11(), "rule__PageTemplate__LeftMarginValueAssignment_11");
-					put(grammarAccess.getPageTemplateAccess().getLeftMarginUnitAssignment_12(), "rule__PageTemplate__LeftMarginUnitAssignment_12");
-					put(grammarAccess.getPageTemplateAccess().getBottomMarginValueAssignment_14(), "rule__PageTemplate__BottomMarginValueAssignment_14");
-					put(grammarAccess.getPageTemplateAccess().getBottomMarginUnitAssignment_15(), "rule__PageTemplate__BottomMarginUnitAssignment_15");
-					put(grammarAccess.getPageTemplateAccess().getRightMarginValueAssignment_17(), "rule__PageTemplate__RightMarginValueAssignment_17");
-					put(grammarAccess.getPageTemplateAccess().getRightMarginUnitAssignment_18(), "rule__PageTemplate__RightMarginUnitAssignment_18");
-					put(grammarAccess.getPageTemplateAccess().getHeaderAssignment_19(), "rule__PageTemplate__HeaderAssignment_19");
-					put(grammarAccess.getPageTemplateAccess().getFooterAssignment_20(), "rule__PageTemplate__FooterAssignment_20");
-					put(grammarAccess.getColorAccess().getNameAssignment_1(), "rule__Color__NameAssignment_1");
-					put(grammarAccess.getColorAccess().getColorAssignment_2_0(), "rule__Color__ColorAssignment_2_0");
-					put(grammarAccess.getColorAccess().getBasecolorAssignment_2_1_1(), "rule__Color__BasecolorAssignment_2_1_1");
-					put(grammarAccess.getColorAccess().getDarkensbyAssignment_2_1_3(), "rule__Color__DarkensbyAssignment_2_1_3");
-					put(grammarAccess.getColorAccess().getBasecolorAssignment_2_2_1(), "rule__Color__BasecolorAssignment_2_2_1");
-					put(grammarAccess.getColorAccess().getLightensbyAssignment_2_2_3(), "rule__Color__LightensbyAssignment_2_2_3");
-					put(grammarAccess.getColorAccess().getBasecolorAssignment_2_3_1(), "rule__Color__BasecolorAssignment_2_3_1");
-					put(grammarAccess.getColorAccess().getTransformsbyAssignment_2_3_3(), "rule__Color__TransformsbyAssignment_2_3_3");
-					put(grammarAccess.getColorAccess().getTargetcolorAssignment_2_3_5(), "rule__Color__TargetcolorAssignment_2_3_5");
-					put(grammarAccess.getFontAccess().getNameAssignment_0_1(), "rule__Font__NameAssignment_0_1");
-					put(grammarAccess.getFontAccess().getExtendsAssignment_0_3_1(), "rule__Font__ExtendsAssignment_0_3_1");
-					put(grammarAccess.getFontAccess().getFamilyAssignment_0_4_1(), "rule__Font__FamilyAssignment_0_4_1");
-					put(grammarAccess.getFontAccess().getStyleAssignment_1(), "rule__Font__StyleAssignment_1");
-					put(grammarAccess.getFontAccess().getBoldAssignment_2(), "rule__Font__BoldAssignment_2");
-					put(grammarAccess.getFontAccess().getSizevalueAssignment_3_0_1(), "rule__Font__SizevalueAssignment_3_0_1");
-					put(grammarAccess.getFontAccess().getSizeunitAssignment_3_0_2(), "rule__Font__SizeunitAssignment_3_0_2");
-					put(grammarAccess.getBuildInFontFamilyAccess().getCustomAssignment(), "rule__BuildInFontFamily__CustomAssignment");
-					put(grammarAccess.getCustomFontFamilyAccess().getCustomAssignment(), "rule__CustomFontFamily__CustomAssignment");
-					put(grammarAccess.getBorderStyleAccess().getTypeAssignment_0(), "rule__BorderStyle__TypeAssignment_0");
-					put(grammarAccess.getBorderStyleAccess().getWidthvalueAssignment_1(), "rule__BorderStyle__WidthvalueAssignment_1");
-					put(grammarAccess.getBorderStyleAccess().getWidthunitAssignment_2(), "rule__BorderStyle__WidthunitAssignment_2");
-					put(grammarAccess.getBorderStyleAccess().getColorAssignment_3(), "rule__BorderStyle__ColorAssignment_3");
-					put(grammarAccess.getStyleAccess().getNameAssignment_1(), "rule__Style__NameAssignment_1");
-					put(grammarAccess.getStyleAccess().getExtendsAssignment_3_1(), "rule__Style__ExtendsAssignment_3_1");
-					put(grammarAccess.getStyleAccess().getFormatAssignment_4_0_1(), "rule__Style__FormatAssignment_4_0_1");
-					put(grammarAccess.getStyleAccess().getFontAssignment_4_1_1(), "rule__Style__FontAssignment_4_1_1");
-					put(grammarAccess.getStyleAccess().getBackgroundcolorAssignment_4_2_1(), "rule__Style__BackgroundcolorAssignment_4_2_1");
-					put(grammarAccess.getStyleAccess().getBackgroundcolor_alternateAssignment_4_2_2_1(), "rule__Style__Backgroundcolor_alternateAssignment_4_2_2_1");
-					put(grammarAccess.getStyleAccess().getTextcolorAssignment_4_3_1(), "rule__Style__TextcolorAssignment_4_3_1");
-					put(grammarAccess.getStyleAccess().getTextalignAssignment_4_4_1(), "rule__Style__TextalignAssignment_4_4_1");
-					put(grammarAccess.getStyleAccess().getBorderTopAssignment_4_5_1(), "rule__Style__BorderTopAssignment_4_5_1");
-					put(grammarAccess.getStyleAccess().getBorderBottomAssignment_4_6_1(), "rule__Style__BorderBottomAssignment_4_6_1");
-					put(grammarAccess.getStyleAccess().getBorderLeftAssignment_4_7_1(), "rule__Style__BorderLeftAssignment_4_7_1");
-					put(grammarAccess.getStyleAccess().getBorderRightAssignment_4_8_1(), "rule__Style__BorderRightAssignment_4_8_1");
-					put(grammarAccess.getStyleAccess().getPaddingTopValueAssignment_4_9_1(), "rule__Style__PaddingTopValueAssignment_4_9_1");
-					put(grammarAccess.getStyleAccess().getPaddingTopUnitAssignment_4_9_2(), "rule__Style__PaddingTopUnitAssignment_4_9_2");
-					put(grammarAccess.getStyleAccess().getPaddingBottomValueAssignment_4_10_1(), "rule__Style__PaddingBottomValueAssignment_4_10_1");
-					put(grammarAccess.getStyleAccess().getPaddingBottomUnitAssignment_4_10_2(), "rule__Style__PaddingBottomUnitAssignment_4_10_2");
-					put(grammarAccess.getStyleAccess().getPaddingLeftValueAssignment_4_11_1(), "rule__Style__PaddingLeftValueAssignment_4_11_1");
-					put(grammarAccess.getStyleAccess().getPaddingLeftUnitAssignment_4_11_2(), "rule__Style__PaddingLeftUnitAssignment_4_11_2");
-					put(grammarAccess.getStyleAccess().getPaddingRightValueAssignment_4_12_1(), "rule__Style__PaddingRightValueAssignment_4_12_1");
-					put(grammarAccess.getStyleAccess().getPaddingRightUnitAssignment_4_12_2(), "rule__Style__PaddingRightUnitAssignment_4_12_2");
-					put(grammarAccess.getStyleAccess().getMarginTopValueAssignment_4_13_1(), "rule__Style__MarginTopValueAssignment_4_13_1");
-					put(grammarAccess.getStyleAccess().getMarginTopUnitAssignment_4_13_2(), "rule__Style__MarginTopUnitAssignment_4_13_2");
-					put(grammarAccess.getStyleAccess().getMarginBottomValueAssignment_4_14_1(), "rule__Style__MarginBottomValueAssignment_4_14_1");
-					put(grammarAccess.getStyleAccess().getMarginBottomUnitAssignment_4_14_2(), "rule__Style__MarginBottomUnitAssignment_4_14_2");
-					put(grammarAccess.getStyleAccess().getMarginLeftValueAssignment_4_15_1(), "rule__Style__MarginLeftValueAssignment_4_15_1");
-					put(grammarAccess.getStyleAccess().getMarginLeftUnitAssignment_4_15_2(), "rule__Style__MarginLeftUnitAssignment_4_15_2");
-					put(grammarAccess.getStyleAccess().getMarginRightValueAssignment_4_16_1(), "rule__Style__MarginRightValueAssignment_4_16_1");
-					put(grammarAccess.getStyleAccess().getMarginRightUnitAssignment_4_16_2(), "rule__Style__MarginRightUnitAssignment_4_16_2");
-					put(grammarAccess.getStyleAccess().getMediastylesAssignment_5(), "rule__Style__MediastylesAssignment_5");
-					put(grammarAccess.getMediaStyleAccess().getMediaAssignment_1(), "rule__MediaStyle__MediaAssignment_1");
-					put(grammarAccess.getMediaStyleAccess().getFormatAssignment_3_0_1(), "rule__MediaStyle__FormatAssignment_3_0_1");
-					put(grammarAccess.getMediaStyleAccess().getFontAssignment_3_1_1(), "rule__MediaStyle__FontAssignment_3_1_1");
-					put(grammarAccess.getMediaStyleAccess().getBackgroundcolorAssignment_3_2_1(), "rule__MediaStyle__BackgroundcolorAssignment_3_2_1");
-					put(grammarAccess.getMediaStyleAccess().getBackgroundcolor_alternateAssignment_3_2_2_1(), "rule__MediaStyle__Backgroundcolor_alternateAssignment_3_2_2_1");
-					put(grammarAccess.getMediaStyleAccess().getTextcolorAssignment_3_3_1(), "rule__MediaStyle__TextcolorAssignment_3_3_1");
-					put(grammarAccess.getMediaStyleAccess().getTextalignAssignment_3_4_1(), "rule__MediaStyle__TextalignAssignment_3_4_1");
-					put(grammarAccess.getMediaStyleAccess().getBorderTopAssignment_3_5_1(), "rule__MediaStyle__BorderTopAssignment_3_5_1");
-					put(grammarAccess.getMediaStyleAccess().getBorderBottomAssignment_3_6_1(), "rule__MediaStyle__BorderBottomAssignment_3_6_1");
-					put(grammarAccess.getMediaStyleAccess().getBorderLeftAssignment_3_7_1(), "rule__MediaStyle__BorderLeftAssignment_3_7_1");
-					put(grammarAccess.getMediaStyleAccess().getBorderRightAssignment_3_8_1(), "rule__MediaStyle__BorderRightAssignment_3_8_1");
-					put(grammarAccess.getMediaStyleAccess().getPaddingTopValueAssignment_3_9_1(), "rule__MediaStyle__PaddingTopValueAssignment_3_9_1");
-					put(grammarAccess.getMediaStyleAccess().getPaddingTopUnitAssignment_3_9_2(), "rule__MediaStyle__PaddingTopUnitAssignment_3_9_2");
-					put(grammarAccess.getMediaStyleAccess().getPaddingBottomValueAssignment_3_10_1(), "rule__MediaStyle__PaddingBottomValueAssignment_3_10_1");
-					put(grammarAccess.getMediaStyleAccess().getPaddingBottomUnitAssignment_3_10_2(), "rule__MediaStyle__PaddingBottomUnitAssignment_3_10_2");
-					put(grammarAccess.getMediaStyleAccess().getPaddingLeftValueAssignment_3_11_1(), "rule__MediaStyle__PaddingLeftValueAssignment_3_11_1");
-					put(grammarAccess.getMediaStyleAccess().getPaddingLeftUnitAssignment_3_11_2(), "rule__MediaStyle__PaddingLeftUnitAssignment_3_11_2");
-					put(grammarAccess.getMediaStyleAccess().getPaddingRightValueAssignment_3_12_1(), "rule__MediaStyle__PaddingRightValueAssignment_3_12_1");
-					put(grammarAccess.getMediaStyleAccess().getPaddingRightUnitAssignment_3_12_2(), "rule__MediaStyle__PaddingRightUnitAssignment_3_12_2");
-					put(grammarAccess.getMediaStyleAccess().getMarginTopValueAssignment_3_13_1(), "rule__MediaStyle__MarginTopValueAssignment_3_13_1");
-					put(grammarAccess.getMediaStyleAccess().getMarginTopUnitAssignment_3_13_2(), "rule__MediaStyle__MarginTopUnitAssignment_3_13_2");
-					put(grammarAccess.getMediaStyleAccess().getMarginBottomValueAssignment_3_14_1(), "rule__MediaStyle__MarginBottomValueAssignment_3_14_1");
-					put(grammarAccess.getMediaStyleAccess().getMarginBottomUnitAssignment_3_14_2(), "rule__MediaStyle__MarginBottomUnitAssignment_3_14_2");
-					put(grammarAccess.getMediaStyleAccess().getMarginLeftValueAssignment_3_15_1(), "rule__MediaStyle__MarginLeftValueAssignment_3_15_1");
-					put(grammarAccess.getMediaStyleAccess().getMarginLeftUnitAssignment_3_15_2(), "rule__MediaStyle__MarginLeftUnitAssignment_3_15_2");
-					put(grammarAccess.getMediaStyleAccess().getMarginRightValueAssignment_3_16_1(), "rule__MediaStyle__MarginRightValueAssignment_3_16_1");
-					put(grammarAccess.getMediaStyleAccess().getMarginRightUnitAssignment_3_16_2(), "rule__MediaStyle__MarginRightUnitAssignment_3_16_2");
-					put(grammarAccess.getUomoFormatAccess().getNameAssignment_1(), "rule__UomoFormat__NameAssignment_1");
-					put(grammarAccess.getUomoFormatAccess().getUi_patternAssignment_4(), "rule__UomoFormat__Ui_patternAssignment_4");
-					put(grammarAccess.getUomoFormatAccess().getReport_patternAssignment_6(), "rule__UomoFormat__Report_patternAssignment_6");
-					put(grammarAccess.getUomoFormatAccess().getTextalignAssignment_8(), "rule__UomoFormat__TextalignAssignment_8");
-					put(grammarAccess.getNumberFormatAccess().getNameAssignment_1(), "rule__NumberFormat__NameAssignment_1");
-					put(grammarAccess.getNumberFormatAccess().getUi_patternAssignment_4(), "rule__NumberFormat__Ui_patternAssignment_4");
-					put(grammarAccess.getNumberFormatAccess().getReport_categoryAssignment_6(), "rule__NumberFormat__Report_categoryAssignment_6");
-					put(grammarAccess.getNumberFormatAccess().getReport_patternAssignment_7(), "rule__NumberFormat__Report_patternAssignment_7");
-					put(grammarAccess.getNumberFormatAccess().getTextalignAssignment_9(), "rule__NumberFormat__TextalignAssignment_9");
-					put(grammarAccess.getCurrencyFormatAccess().getNameAssignment_1(), "rule__CurrencyFormat__NameAssignment_1");
-					put(grammarAccess.getCurrencyFormatAccess().getUi_patternAssignment_4(), "rule__CurrencyFormat__Ui_patternAssignment_4");
-					put(grammarAccess.getCurrencyFormatAccess().getReport_categoryAssignment_6(), "rule__CurrencyFormat__Report_categoryAssignment_6");
-					put(grammarAccess.getCurrencyFormatAccess().getReport_patternAssignment_7(), "rule__CurrencyFormat__Report_patternAssignment_7");
-					put(grammarAccess.getCurrencyFormatAccess().getTextalignAssignment_9(), "rule__CurrencyFormat__TextalignAssignment_9");
-					put(grammarAccess.getDateFormatAccess().getNameAssignment_1(), "rule__DateFormat__NameAssignment_1");
-					put(grammarAccess.getDateFormatAccess().getUi_patternAssignment_4(), "rule__DateFormat__Ui_patternAssignment_4");
-					put(grammarAccess.getDateFormatAccess().getReport_categoryAssignment_6(), "rule__DateFormat__Report_categoryAssignment_6");
-					put(grammarAccess.getDateFormatAccess().getReport_patternAssignment_7(), "rule__DateFormat__Report_patternAssignment_7");
-					put(grammarAccess.getDateFormatAccess().getTextalignAssignment_9(), "rule__DateFormat__TextalignAssignment_9");
-					put(grammarAccess.getDateTimeFormatAccess().getNameAssignment_1(), "rule__DateTimeFormat__NameAssignment_1");
-					put(grammarAccess.getDateTimeFormatAccess().getUi_patternAssignment_4(), "rule__DateTimeFormat__Ui_patternAssignment_4");
-					put(grammarAccess.getDateTimeFormatAccess().getReport_categoryAssignment_6(), "rule__DateTimeFormat__Report_categoryAssignment_6");
-					put(grammarAccess.getDateTimeFormatAccess().getReport_patternAssignment_7(), "rule__DateTimeFormat__Report_patternAssignment_7");
-					put(grammarAccess.getDateTimeFormatAccess().getTextalignAssignment_9(), "rule__DateTimeFormat__TextalignAssignment_9");
-					put(grammarAccess.getTimeFormatAccess().getNameAssignment_1(), "rule__TimeFormat__NameAssignment_1");
-					put(grammarAccess.getTimeFormatAccess().getUi_patternAssignment_4(), "rule__TimeFormat__Ui_patternAssignment_4");
-					put(grammarAccess.getTimeFormatAccess().getReport_categoryAssignment_6(), "rule__TimeFormat__Report_categoryAssignment_6");
-					put(grammarAccess.getTimeFormatAccess().getReport_patternAssignment_7(), "rule__TimeFormat__Report_patternAssignment_7");
-					put(grammarAccess.getTimeFormatAccess().getTextalignAssignment_9(), "rule__TimeFormat__TextalignAssignment_9");
-					put(grammarAccess.getReportAccess().getNameAssignment_1(), "rule__Report__NameAssignment_1");
-					put(grammarAccess.getReportAccess().getDescriptionAssignment_2_0(), "rule__Report__DescriptionAssignment_2_0");
-					put(grammarAccess.getReportAccess().getDescriptionValueAssignment_2_1(), "rule__Report__DescriptionValueAssignment_2_1");
-					put(grammarAccess.getReportAccess().getToolbarAssignment_3_1(), "rule__Report__ToolbarAssignment_3_1");
-					put(grammarAccess.getReportAccess().getDatamartRefAssignment_6(), "rule__Report__DatamartRefAssignment_6");
-					put(grammarAccess.getReportAccess().getRenderingAssignment_8(), "rule__Report__RenderingAssignment_8");
-					put(grammarAccess.getReportAccess().getExternalCssURIAssignment_9_1(), "rule__Report__ExternalCssURIAssignment_9_1");
-					put(grammarAccess.getReportAccess().getExternalCssURIBundleAssignment_9_2_1(), "rule__Report__ExternalCssURIBundleAssignment_9_2_1");
-					put(grammarAccess.getReportAccess().getPageTemplateAssignment_11(), "rule__Report__PageTemplateAssignment_11");
-					put(grammarAccess.getReportAccess().getMediaAssignment_13(), "rule__Report__MediaAssignment_13");
-					put(grammarAccess.getReportAccess().getDesignAssignment_14(), "rule__Report__DesignAssignment_14");
-					put(grammarAccess.getReportDesignFileAccess().getNameAssignment_1(), "rule__ReportDesignFile__NameAssignment_1");
-					put(grammarAccess.getReportDesignTemplateAccess().getDescriptionAssignment_2_1(), "rule__ReportDesignTemplate__DescriptionAssignment_2_1");
-					put(grammarAccess.getReportDesignTemplateAccess().getHeaderAssignment_3(), "rule__ReportDesignTemplate__HeaderAssignment_3");
-					put(grammarAccess.getReportDesignTemplateAccess().getDetailAssignment_4(), "rule__ReportDesignTemplate__DetailAssignment_4");
-					put(grammarAccess.getReportDesignTemplateAccess().getFooterAssignment_5(), "rule__ReportDesignTemplate__FooterAssignment_5");
-					put(grammarAccess.getPageHeaderAccess().getShowOnFirstAssignment_3(), "rule__PageHeader__ShowOnFirstAssignment_3");
-					put(grammarAccess.getPageHeaderAccess().getHeightValueAssignment_5(), "rule__PageHeader__HeightValueAssignment_5");
-					put(grammarAccess.getPageHeaderAccess().getHeightUnitAssignment_6(), "rule__PageHeader__HeightUnitAssignment_6");
-					put(grammarAccess.getPageHeaderAccess().getElementsAssignment_7(), "rule__PageHeader__ElementsAssignment_7");
-					put(grammarAccess.getPageDetailAccess().getElementsAssignment_3(), "rule__PageDetail__ElementsAssignment_3");
-					put(grammarAccess.getPageFooterAccess().getShowOnLastAssignment_3(), "rule__PageFooter__ShowOnLastAssignment_3");
-					put(grammarAccess.getPageFooterAccess().getHeightValueAssignment_5(), "rule__PageFooter__HeightValueAssignment_5");
-					put(grammarAccess.getPageFooterAccess().getHeightUnitAssignment_6(), "rule__PageFooter__HeightUnitAssignment_6");
-					put(grammarAccess.getPageFooterAccess().getElementsAssignment_7(), "rule__PageFooter__ElementsAssignment_7");
-					put(grammarAccess.getGridAccess().getNameAssignment_2_1(), "rule__Grid__NameAssignment_2_1");
-					put(grammarAccess.getGridAccess().getRowsAssignment_4(), "rule__Grid__RowsAssignment_4");
-					put(grammarAccess.getGridRowAccess().getNameAssignment_2_1(), "rule__GridRow__NameAssignment_2_1");
-					put(grammarAccess.getGridRowAccess().getStyleAssignment_3_1(), "rule__GridRow__StyleAssignment_3_1");
-					put(grammarAccess.getGridRowAccess().getCellsAssignment_5(), "rule__GridRow__CellsAssignment_5");
-					put(grammarAccess.getGridCellAccess().getNameAssignment_2_1(), "rule__GridCell__NameAssignment_2_1");
-					put(grammarAccess.getGridCellAccess().getColumnspanAssignment_3_1(), "rule__GridCell__ColumnspanAssignment_3_1");
-					put(grammarAccess.getGridCellAccess().getElementsAssignment_5(), "rule__GridCell__ElementsAssignment_5");
-					put(grammarAccess.getDatamartTableAccess().getStyleAssignment_1_1(), "rule__DatamartTable__StyleAssignment_1_1");
-					put(grammarAccess.getDatamartTableAccess().getDetailheaderAssignment_3_0(), "rule__DatamartTable__DetailheaderAssignment_3_0");
-					put(grammarAccess.getDatamartTableAccess().getHeaderstyleAssignment_3_1_1(), "rule__DatamartTable__HeaderstyleAssignment_3_1_1");
-					put(grammarAccess.getDatamartTableAccess().getDetailfooterAssignment_4_0(), "rule__DatamartTable__DetailfooterAssignment_4_0");
-					put(grammarAccess.getDatamartTableAccess().getFooterstyleAssignment_4_1_1(), "rule__DatamartTable__FooterstyleAssignment_4_1_1");
-					put(grammarAccess.getDatamartTableAccess().getGroupsAssignment_5(), "rule__DatamartTable__GroupsAssignment_5");
-					put(grammarAccess.getDatamartTableAccess().getDetailAssignment_6(), "rule__DatamartTable__DetailAssignment_6");
-					put(grammarAccess.getDatamartTableGroupAccess().getNameAssignment_1(), "rule__DatamartTableGroup__NameAssignment_1");
-					put(grammarAccess.getDatamartTableGroupAccess().getGroupingRefAssignment_3(), "rule__DatamartTableGroup__GroupingRefAssignment_3");
-					put(grammarAccess.getDatamartTableGroupAccess().getHeaderAssignment_5(), "rule__DatamartTableGroup__HeaderAssignment_5");
-					put(grammarAccess.getDatamartTableGroupAccess().getDetailheaderAssignment_6_0(), "rule__DatamartTableGroup__DetailheaderAssignment_6_0");
-					put(grammarAccess.getDatamartTableGroupAccess().getHeaderstyleAssignment_6_1_1(), "rule__DatamartTableGroup__HeaderstyleAssignment_6_1_1");
-					put(grammarAccess.getDatamartTableGroupAccess().getDetailfooterAssignment_7_0(), "rule__DatamartTableGroup__DetailfooterAssignment_7_0");
-					put(grammarAccess.getDatamartTableGroupAccess().getFooterstyleAssignment_7_1_1(), "rule__DatamartTableGroup__FooterstyleAssignment_7_1_1");
-					put(grammarAccess.getDatamartTableGroupAccess().getFooterAssignment_8(), "rule__DatamartTableGroup__FooterAssignment_8");
-					put(grammarAccess.getDatamartTableGroupHeaderAccess().getStyleAssignment_2_1(), "rule__DatamartTableGroupHeader__StyleAssignment_2_1");
-					put(grammarAccess.getDatamartTableGroupHeaderAccess().getRowsAssignment_4(), "rule__DatamartTableGroupHeader__RowsAssignment_4");
-					put(grammarAccess.getDatamartTableGroupFooterAccess().getStyleAssignment_2_1(), "rule__DatamartTableGroupFooter__StyleAssignment_2_1");
-					put(grammarAccess.getDatamartTableGroupFooterAccess().getRowsAssignment_4(), "rule__DatamartTableGroupFooter__RowsAssignment_4");
-					put(grammarAccess.getDatamartTableDetailAccess().getStyleAssignment_2_1(), "rule__DatamartTableDetail__StyleAssignment_2_1");
-					put(grammarAccess.getDatamartTableDetailAccess().getColumnFormattersAssignment_3_1_1(), "rule__DatamartTableDetail__ColumnFormattersAssignment_3_1_1");
-					put(grammarAccess.getDatamartTablePropertyAccess().getColumnAssignment_0(), "rule__DatamartTableProperty__ColumnAssignment_0");
-					put(grammarAccess.getDatamartTablePropertyAccess().getStyleAssignment_1_0_1(), "rule__DatamartTableProperty__StyleAssignment_1_0_1");
-					put(grammarAccess.getDatamartTablePropertyAccess().getHasImageAssignment_1_1_0(), "rule__DatamartTableProperty__HasImageAssignment_1_1_0");
-					put(grammarAccess.getDatamartTablePropertyAccess().getImageAssignment_1_1_1(), "rule__DatamartTableProperty__ImageAssignment_1_1_1");
-					put(grammarAccess.getDatamartTablePropertyAccess().getHideLabelIntervalAssignment_1_2_1(), "rule__DatamartTableProperty__HideLabelIntervalAssignment_1_2_1");
-					put(grammarAccess.getDatamartTablePropertyAccess().getIntervalsAssignment_1_2_3(), "rule__DatamartTableProperty__IntervalsAssignment_1_2_3");
-					put(grammarAccess.getDatamartTablePropertyAccess().getHideLabelLookupAssignment_1_3_1(), "rule__DatamartTableProperty__HideLabelLookupAssignment_1_3_1");
-					put(grammarAccess.getDatamartTablePropertyAccess().getLookupsAssignment_1_3_3(), "rule__DatamartTableProperty__LookupsAssignment_1_3_3");
-					put(grammarAccess.getTableFormatterAccess().getFormatAssignment_2(), "rule__TableFormatter__FormatAssignment_2");
-					put(grammarAccess.getTableImageAccess().getImagePathPatternAssignment_2(), "rule__TableImage__ImagePathPatternAssignment_2");
-					put(grammarAccess.getTableImageAccess().getHasParameterAssignment_3_0(), "rule__TableImage__HasParameterAssignment_3_0");
-					put(grammarAccess.getTableImageAccess().getHideImageLabelAssignment_3_1(), "rule__TableImage__HideImageLabelAssignment_3_1");
-					put(grammarAccess.getTableImageAccess().getResizeAssignment_3_2_0(), "rule__TableImage__ResizeAssignment_3_2_0");
-					put(grammarAccess.getTableImageAccess().getResizeStringAssignment_3_2_1(), "rule__TableImage__ResizeStringAssignment_3_2_1");
-					put(grammarAccess.getTablePropertyAccess().getValueRefAssignment_1(), "rule__TableProperty__ValueRefAssignment_1");
-					put(grammarAccess.getTableAggregationAccess().getAggregationAssignment_1(), "rule__TableAggregation__AggregationAssignment_1");
-					put(grammarAccess.getTableAggregationAccess().getOnGroupAssignment_2_0_1(), "rule__TableAggregation__OnGroupAssignment_2_0_1");
-					put(grammarAccess.getTableAggregationAccess().getTextAssignment_2_1_1(), "rule__TableAggregation__TextAssignment_2_1_1");
-					put(grammarAccess.getTablePureAggregationAccess().getAggregationAssignment(), "rule__TablePureAggregation__AggregationAssignment");
-					put(grammarAccess.getTableUnaryAggregationAccess().getAggregationAssignment_0(), "rule__TableUnaryAggregation__AggregationAssignment_0");
-					put(grammarAccess.getTableUnaryAggregationAccess().getValueRefsAssignment_2(), "rule__TableUnaryAggregation__ValueRefsAssignment_2");
-					put(grammarAccess.getTableMultipleAggregationAccess().getAggregationAssignment_0(), "rule__TableMultipleAggregation__AggregationAssignment_0");
-					put(grammarAccess.getTableMultipleAggregationAccess().getValueRefsAssignment_3(), "rule__TableMultipleAggregation__ValueRefsAssignment_3");
-					put(grammarAccess.getTableBinaryAggregationAccess().getAggregationAssignment_0(), "rule__TableBinaryAggregation__AggregationAssignment_0");
-					put(grammarAccess.getTableBinaryAggregationAccess().getValueRefsAssignment_3(), "rule__TableBinaryAggregation__ValueRefsAssignment_3");
-					put(grammarAccess.getTableBinaryAggregationAccess().getValueRefsAssignment_4(), "rule__TableBinaryAggregation__ValueRefsAssignment_4");
-					put(grammarAccess.getTableNumberIntervalAccess().getNumberIntervalValueAssignment_2(), "rule__TableNumberInterval__NumberIntervalValueAssignment_2");
-					put(grammarAccess.getTableNumberIntervalAccess().getNumberRangeAssignment_3(), "rule__TableNumberInterval__NumberRangeAssignment_3");
-					put(grammarAccess.getTableDateDayIntervalAccess().getDateIntervalValueAssignment_2(), "rule__TableDateDayInterval__DateIntervalValueAssignment_2");
-					put(grammarAccess.getTableDateDayIntervalAccess().getDateRangeAssignment_3(), "rule__TableDateDayInterval__DateRangeAssignment_3");
-					put(grammarAccess.getTableNumberLookupAccess().getLookupValueAssignment_2(), "rule__TableNumberLookup__LookupValueAssignment_2");
-					put(grammarAccess.getTableNumberLookupAccess().getDiscreteAssignment_3(), "rule__TableNumberLookup__DiscreteAssignment_3");
-					put(grammarAccess.getTableStringLookupAccess().getLookupValueAssignment_2(), "rule__TableStringLookup__LookupValueAssignment_2");
-					put(grammarAccess.getTableStringLookupAccess().getDiscreteAssignment_3(), "rule__TableStringLookup__DiscreteAssignment_3");
-					put(grammarAccess.getTableDateDayLookupAccess().getLookupValueAssignment_2(), "rule__TableDateDayLookup__LookupValueAssignment_2");
-					put(grammarAccess.getTableDateDayLookupAccess().getDiscreteAssignment_3(), "rule__TableDateDayLookup__DiscreteAssignment_3");
-					put(grammarAccess.getTableTextColorAccess().getColorAssignment_1(), "rule__TableTextColor__ColorAssignment_1");
-					put(grammarAccess.getTableCellColorAccess().getColorAssignment_1(), "rule__TableCellColor__ColorAssignment_1");
-					put(grammarAccess.getTableIconAccess().getIconAssignment_1(), "rule__TableIcon__IconAssignment_1");
-					put(grammarAccess.getTableTrendAccess().getIconAssignment_1(), "rule__TableTrend__IconAssignment_1");
-					put(grammarAccess.getTitleAccess().getTextAssignment_2(), "rule__Title__TextAssignment_2");
-					put(grammarAccess.getTitleAccess().getStyleAssignment_3_1(), "rule__Title__StyleAssignment_3_1");
-					put(grammarAccess.getSubTitleAccess().getTextAssignment_2(), "rule__SubTitle__TextAssignment_2");
-					put(grammarAccess.getSubTitleAccess().getStyleAssignment_3_1(), "rule__SubTitle__StyleAssignment_3_1");
-					put(grammarAccess.getSubSubTitleAccess().getTextAssignment_2(), "rule__SubSubTitle__TextAssignment_2");
-					put(grammarAccess.getSubSubTitleAccess().getStyleAssignment_3_1(), "rule__SubSubTitle__StyleAssignment_3_1");
-					put(grammarAccess.getLabelAccess().getTextAssignment_2(), "rule__Label__TextAssignment_2");
-					put(grammarAccess.getLabelAccess().getStyleAssignment_3_1(), "rule__Label__StyleAssignment_3_1");
-					put(grammarAccess.getTextAccess().getTextAssignment_2(), "rule__Text__TextAssignment_2");
-					put(grammarAccess.getTextAccess().getStyleAssignment_3_1(), "rule__Text__StyleAssignment_3_1");
-					put(grammarAccess.getAutoTextAccess().getTypeAssignment_1(), "rule__AutoText__TypeAssignment_1");
-					put(grammarAccess.getAutoTextAccess().getStyleAssignment_2_1(), "rule__AutoText__StyleAssignment_2_1");
-					put(grammarAccess.getImageAccess().getSizeAssignment_1(), "rule__Image__SizeAssignment_1");
-					put(grammarAccess.getImageAccess().getScaleAssignment_2_1(), "rule__Image__ScaleAssignment_2_1");
-					put(grammarAccess.getImageAccess().getSourceTypeAssignment_3(), "rule__Image__SourceTypeAssignment_3");
-					put(grammarAccess.getImageAccess().getFilenameAssignment_4(), "rule__Image__FilenameAssignment_4");
-					put(grammarAccess.getReportImportAccess().getImportedNamespaceAssignment_1(), "rule__ReportImport__ImportedNamespaceAssignment_1");
-					put(grammarAccess.getXAnnotationAccess().getAnnotationTypeAssignment_2(), "rule__XAnnotation__AnnotationTypeAssignment_2");
-					put(grammarAccess.getXAnnotationAccess().getElementValuePairsAssignment_3_1_0_0(), "rule__XAnnotation__ElementValuePairsAssignment_3_1_0_0");
-					put(grammarAccess.getXAnnotationAccess().getElementValuePairsAssignment_3_1_0_1_1(), "rule__XAnnotation__ElementValuePairsAssignment_3_1_0_1_1");
-					put(grammarAccess.getXAnnotationAccess().getValueAssignment_3_1_1(), "rule__XAnnotation__ValueAssignment_3_1_1");
-					put(grammarAccess.getXAnnotationElementValuePairAccess().getElementAssignment_0_0_0(), "rule__XAnnotationElementValuePair__ElementAssignment_0_0_0");
-					put(grammarAccess.getXAnnotationElementValuePairAccess().getValueAssignment_1(), "rule__XAnnotationElementValuePair__ValueAssignment_1");
-					put(grammarAccess.getXAnnotationElementValueOrCommaListAccess().getElementsAssignment_0_1_0(), "rule__XAnnotationElementValueOrCommaList__ElementsAssignment_0_1_0");
-					put(grammarAccess.getXAnnotationElementValueOrCommaListAccess().getElementsAssignment_0_1_1_1(), "rule__XAnnotationElementValueOrCommaList__ElementsAssignment_0_1_1_1");
-					put(grammarAccess.getXAnnotationElementValueOrCommaListAccess().getElementsAssignment_1_1_1_1(), "rule__XAnnotationElementValueOrCommaList__ElementsAssignment_1_1_1_1");
-					put(grammarAccess.getXAnnotationElementValueAccess().getElementsAssignment_0_1_0(), "rule__XAnnotationElementValue__ElementsAssignment_0_1_0");
-					put(grammarAccess.getXAnnotationElementValueAccess().getElementsAssignment_0_1_1_1(), "rule__XAnnotationElementValue__ElementsAssignment_0_1_1_1");
-					put(grammarAccess.getXAssignmentAccess().getFeatureAssignment_0_1(), "rule__XAssignment__FeatureAssignment_0_1");
-					put(grammarAccess.getXAssignmentAccess().getValueAssignment_0_3(), "rule__XAssignment__ValueAssignment_0_3");
-					put(grammarAccess.getXAssignmentAccess().getFeatureAssignment_1_1_0_0_1(), "rule__XAssignment__FeatureAssignment_1_1_0_0_1");
-					put(grammarAccess.getXAssignmentAccess().getRightOperandAssignment_1_1_1(), "rule__XAssignment__RightOperandAssignment_1_1_1");
-					put(grammarAccess.getXOrExpressionAccess().getFeatureAssignment_1_0_0_1(), "rule__XOrExpression__FeatureAssignment_1_0_0_1");
-					put(grammarAccess.getXOrExpressionAccess().getRightOperandAssignment_1_1(), "rule__XOrExpression__RightOperandAssignment_1_1");
-					put(grammarAccess.getXAndExpressionAccess().getFeatureAssignment_1_0_0_1(), "rule__XAndExpression__FeatureAssignment_1_0_0_1");
-					put(grammarAccess.getXAndExpressionAccess().getRightOperandAssignment_1_1(), "rule__XAndExpression__RightOperandAssignment_1_1");
-					put(grammarAccess.getXEqualityExpressionAccess().getFeatureAssignment_1_0_0_1(), "rule__XEqualityExpression__FeatureAssignment_1_0_0_1");
-					put(grammarAccess.getXEqualityExpressionAccess().getRightOperandAssignment_1_1(), "rule__XEqualityExpression__RightOperandAssignment_1_1");
-					put(grammarAccess.getXRelationalExpressionAccess().getTypeAssignment_1_0_1(), "rule__XRelationalExpression__TypeAssignment_1_0_1");
-					put(grammarAccess.getXRelationalExpressionAccess().getFeatureAssignment_1_1_0_0_1(), "rule__XRelationalExpression__FeatureAssignment_1_1_0_0_1");
-					put(grammarAccess.getXRelationalExpressionAccess().getRightOperandAssignment_1_1_1(), "rule__XRelationalExpression__RightOperandAssignment_1_1_1");
-					put(grammarAccess.getXOtherOperatorExpressionAccess().getFeatureAssignment_1_0_0_1(), "rule__XOtherOperatorExpression__FeatureAssignment_1_0_0_1");
-					put(grammarAccess.getXOtherOperatorExpressionAccess().getRightOperandAssignment_1_1(), "rule__XOtherOperatorExpression__RightOperandAssignment_1_1");
-					put(grammarAccess.getXAdditiveExpressionAccess().getFeatureAssignment_1_0_0_1(), "rule__XAdditiveExpression__FeatureAssignment_1_0_0_1");
-					put(grammarAccess.getXAdditiveExpressionAccess().getRightOperandAssignment_1_1(), "rule__XAdditiveExpression__RightOperandAssignment_1_1");
-					put(grammarAccess.getXMultiplicativeExpressionAccess().getFeatureAssignment_1_0_0_1(), "rule__XMultiplicativeExpression__FeatureAssignment_1_0_0_1");
-					put(grammarAccess.getXMultiplicativeExpressionAccess().getRightOperandAssignment_1_1(), "rule__XMultiplicativeExpression__RightOperandAssignment_1_1");
-					put(grammarAccess.getXUnaryOperationAccess().getFeatureAssignment_0_1(), "rule__XUnaryOperation__FeatureAssignment_0_1");
-					put(grammarAccess.getXUnaryOperationAccess().getOperandAssignment_0_2(), "rule__XUnaryOperation__OperandAssignment_0_2");
-					put(grammarAccess.getXCastedExpressionAccess().getTypeAssignment_1_1(), "rule__XCastedExpression__TypeAssignment_1_1");
-					put(grammarAccess.getXPostfixOperationAccess().getFeatureAssignment_1_0_1(), "rule__XPostfixOperation__FeatureAssignment_1_0_1");
-					put(grammarAccess.getXMemberFeatureCallAccess().getExplicitStaticAssignment_1_0_0_0_1_1(), "rule__XMemberFeatureCall__ExplicitStaticAssignment_1_0_0_0_1_1");
-					put(grammarAccess.getXMemberFeatureCallAccess().getFeatureAssignment_1_0_0_0_2(), "rule__XMemberFeatureCall__FeatureAssignment_1_0_0_0_2");
-					put(grammarAccess.getXMemberFeatureCallAccess().getValueAssignment_1_0_1(), "rule__XMemberFeatureCall__ValueAssignment_1_0_1");
-					put(grammarAccess.getXMemberFeatureCallAccess().getNullSafeAssignment_1_1_0_0_1_1(), "rule__XMemberFeatureCall__NullSafeAssignment_1_1_0_0_1_1");
-					put(grammarAccess.getXMemberFeatureCallAccess().getExplicitStaticAssignment_1_1_0_0_1_2(), "rule__XMemberFeatureCall__ExplicitStaticAssignment_1_1_0_0_1_2");
-					put(grammarAccess.getXMemberFeatureCallAccess().getTypeArgumentsAssignment_1_1_1_1(), "rule__XMemberFeatureCall__TypeArgumentsAssignment_1_1_1_1");
-					put(grammarAccess.getXMemberFeatureCallAccess().getTypeArgumentsAssignment_1_1_1_2_1(), "rule__XMemberFeatureCall__TypeArgumentsAssignment_1_1_1_2_1");
-					put(grammarAccess.getXMemberFeatureCallAccess().getFeatureAssignment_1_1_2(), "rule__XMemberFeatureCall__FeatureAssignment_1_1_2");
-					put(grammarAccess.getXMemberFeatureCallAccess().getExplicitOperationCallAssignment_1_1_3_0(), "rule__XMemberFeatureCall__ExplicitOperationCallAssignment_1_1_3_0");
-					put(grammarAccess.getXMemberFeatureCallAccess().getMemberCallArgumentsAssignment_1_1_3_1_0(), "rule__XMemberFeatureCall__MemberCallArgumentsAssignment_1_1_3_1_0");
-					put(grammarAccess.getXMemberFeatureCallAccess().getMemberCallArgumentsAssignment_1_1_3_1_1_0(), "rule__XMemberFeatureCall__MemberCallArgumentsAssignment_1_1_3_1_1_0");
-					put(grammarAccess.getXMemberFeatureCallAccess().getMemberCallArgumentsAssignment_1_1_3_1_1_1_1(), "rule__XMemberFeatureCall__MemberCallArgumentsAssignment_1_1_3_1_1_1_1");
-					put(grammarAccess.getXMemberFeatureCallAccess().getMemberCallArgumentsAssignment_1_1_4(), "rule__XMemberFeatureCall__MemberCallArgumentsAssignment_1_1_4");
-					put(grammarAccess.getXSetLiteralAccess().getElementsAssignment_3_0(), "rule__XSetLiteral__ElementsAssignment_3_0");
-					put(grammarAccess.getXSetLiteralAccess().getElementsAssignment_3_1_1(), "rule__XSetLiteral__ElementsAssignment_3_1_1");
-					put(grammarAccess.getXListLiteralAccess().getElementsAssignment_3_0(), "rule__XListLiteral__ElementsAssignment_3_0");
-					put(grammarAccess.getXListLiteralAccess().getElementsAssignment_3_1_1(), "rule__XListLiteral__ElementsAssignment_3_1_1");
-					put(grammarAccess.getXClosureAccess().getDeclaredFormalParametersAssignment_1_0_0_0(), "rule__XClosure__DeclaredFormalParametersAssignment_1_0_0_0");
-					put(grammarAccess.getXClosureAccess().getDeclaredFormalParametersAssignment_1_0_0_1_1(), "rule__XClosure__DeclaredFormalParametersAssignment_1_0_0_1_1");
-					put(grammarAccess.getXClosureAccess().getExplicitSyntaxAssignment_1_0_1(), "rule__XClosure__ExplicitSyntaxAssignment_1_0_1");
-					put(grammarAccess.getXClosureAccess().getExpressionAssignment_2(), "rule__XClosure__ExpressionAssignment_2");
-					put(grammarAccess.getXExpressionInClosureAccess().getExpressionsAssignment_1_0(), "rule__XExpressionInClosure__ExpressionsAssignment_1_0");
-					put(grammarAccess.getXShortClosureAccess().getDeclaredFormalParametersAssignment_0_0_1_0(), "rule__XShortClosure__DeclaredFormalParametersAssignment_0_0_1_0");
-					put(grammarAccess.getXShortClosureAccess().getDeclaredFormalParametersAssignment_0_0_1_1_1(), "rule__XShortClosure__DeclaredFormalParametersAssignment_0_0_1_1_1");
-					put(grammarAccess.getXShortClosureAccess().getExplicitSyntaxAssignment_0_0_2(), "rule__XShortClosure__ExplicitSyntaxAssignment_0_0_2");
-					put(grammarAccess.getXShortClosureAccess().getExpressionAssignment_1(), "rule__XShortClosure__ExpressionAssignment_1");
-					put(grammarAccess.getXIfExpressionAccess().getIfAssignment_3(), "rule__XIfExpression__IfAssignment_3");
-					put(grammarAccess.getXIfExpressionAccess().getThenAssignment_5(), "rule__XIfExpression__ThenAssignment_5");
-					put(grammarAccess.getXIfExpressionAccess().getElseAssignment_6_1(), "rule__XIfExpression__ElseAssignment_6_1");
-					put(grammarAccess.getXSwitchExpressionAccess().getDeclaredParamAssignment_2_0_0_0_1(), "rule__XSwitchExpression__DeclaredParamAssignment_2_0_0_0_1");
-					put(grammarAccess.getXSwitchExpressionAccess().getSwitchAssignment_2_0_1(), "rule__XSwitchExpression__SwitchAssignment_2_0_1");
-					put(grammarAccess.getXSwitchExpressionAccess().getDeclaredParamAssignment_2_1_0_0_0(), "rule__XSwitchExpression__DeclaredParamAssignment_2_1_0_0_0");
-					put(grammarAccess.getXSwitchExpressionAccess().getSwitchAssignment_2_1_1(), "rule__XSwitchExpression__SwitchAssignment_2_1_1");
-					put(grammarAccess.getXSwitchExpressionAccess().getCasesAssignment_4(), "rule__XSwitchExpression__CasesAssignment_4");
-					put(grammarAccess.getXSwitchExpressionAccess().getDefaultAssignment_5_2(), "rule__XSwitchExpression__DefaultAssignment_5_2");
-					put(grammarAccess.getXCasePartAccess().getTypeGuardAssignment_1(), "rule__XCasePart__TypeGuardAssignment_1");
-					put(grammarAccess.getXCasePartAccess().getCaseAssignment_2_1(), "rule__XCasePart__CaseAssignment_2_1");
-					put(grammarAccess.getXCasePartAccess().getThenAssignment_3_0_1(), "rule__XCasePart__ThenAssignment_3_0_1");
-					put(grammarAccess.getXCasePartAccess().getFallThroughAssignment_3_1(), "rule__XCasePart__FallThroughAssignment_3_1");
-					put(grammarAccess.getXForLoopExpressionAccess().getDeclaredParamAssignment_0_0_3(), "rule__XForLoopExpression__DeclaredParamAssignment_0_0_3");
-					put(grammarAccess.getXForLoopExpressionAccess().getForExpressionAssignment_1(), "rule__XForLoopExpression__ForExpressionAssignment_1");
-					put(grammarAccess.getXForLoopExpressionAccess().getEachExpressionAssignment_3(), "rule__XForLoopExpression__EachExpressionAssignment_3");
-					put(grammarAccess.getXBasicForLoopExpressionAccess().getInitExpressionsAssignment_3_0(), "rule__XBasicForLoopExpression__InitExpressionsAssignment_3_0");
-					put(grammarAccess.getXBasicForLoopExpressionAccess().getInitExpressionsAssignment_3_1_1(), "rule__XBasicForLoopExpression__InitExpressionsAssignment_3_1_1");
-					put(grammarAccess.getXBasicForLoopExpressionAccess().getExpressionAssignment_5(), "rule__XBasicForLoopExpression__ExpressionAssignment_5");
-					put(grammarAccess.getXBasicForLoopExpressionAccess().getUpdateExpressionsAssignment_7_0(), "rule__XBasicForLoopExpression__UpdateExpressionsAssignment_7_0");
-					put(grammarAccess.getXBasicForLoopExpressionAccess().getUpdateExpressionsAssignment_7_1_1(), "rule__XBasicForLoopExpression__UpdateExpressionsAssignment_7_1_1");
-					put(grammarAccess.getXBasicForLoopExpressionAccess().getEachExpressionAssignment_9(), "rule__XBasicForLoopExpression__EachExpressionAssignment_9");
-					put(grammarAccess.getXWhileExpressionAccess().getPredicateAssignment_3(), "rule__XWhileExpression__PredicateAssignment_3");
-					put(grammarAccess.getXWhileExpressionAccess().getBodyAssignment_5(), "rule__XWhileExpression__BodyAssignment_5");
-					put(grammarAccess.getXDoWhileExpressionAccess().getBodyAssignment_2(), "rule__XDoWhileExpression__BodyAssignment_2");
-					put(grammarAccess.getXDoWhileExpressionAccess().getPredicateAssignment_5(), "rule__XDoWhileExpression__PredicateAssignment_5");
-					put(grammarAccess.getXBlockExpressionAccess().getExpressionsAssignment_2_0(), "rule__XBlockExpression__ExpressionsAssignment_2_0");
-					put(grammarAccess.getXVariableDeclarationAccess().getWriteableAssignment_1_0(), "rule__XVariableDeclaration__WriteableAssignment_1_0");
-					put(grammarAccess.getXVariableDeclarationAccess().getTypeAssignment_2_0_0_0(), "rule__XVariableDeclaration__TypeAssignment_2_0_0_0");
-					put(grammarAccess.getXVariableDeclarationAccess().getNameAssignment_2_0_0_1(), "rule__XVariableDeclaration__NameAssignment_2_0_0_1");
-					put(grammarAccess.getXVariableDeclarationAccess().getNameAssignment_2_1(), "rule__XVariableDeclaration__NameAssignment_2_1");
-					put(grammarAccess.getXVariableDeclarationAccess().getRightAssignment_3_1(), "rule__XVariableDeclaration__RightAssignment_3_1");
-					put(grammarAccess.getJvmFormalParameterAccess().getParameterTypeAssignment_0(), "rule__JvmFormalParameter__ParameterTypeAssignment_0");
-					put(grammarAccess.getJvmFormalParameterAccess().getNameAssignment_1(), "rule__JvmFormalParameter__NameAssignment_1");
-					put(grammarAccess.getFullJvmFormalParameterAccess().getParameterTypeAssignment_0(), "rule__FullJvmFormalParameter__ParameterTypeAssignment_0");
-					put(grammarAccess.getFullJvmFormalParameterAccess().getNameAssignment_1(), "rule__FullJvmFormalParameter__NameAssignment_1");
-					put(grammarAccess.getXFeatureCallAccess().getTypeArgumentsAssignment_1_1(), "rule__XFeatureCall__TypeArgumentsAssignment_1_1");
-					put(grammarAccess.getXFeatureCallAccess().getTypeArgumentsAssignment_1_2_1(), "rule__XFeatureCall__TypeArgumentsAssignment_1_2_1");
-					put(grammarAccess.getXFeatureCallAccess().getFeatureAssignment_2(), "rule__XFeatureCall__FeatureAssignment_2");
-					put(grammarAccess.getXFeatureCallAccess().getExplicitOperationCallAssignment_3_0(), "rule__XFeatureCall__ExplicitOperationCallAssignment_3_0");
-					put(grammarAccess.getXFeatureCallAccess().getFeatureCallArgumentsAssignment_3_1_0(), "rule__XFeatureCall__FeatureCallArgumentsAssignment_3_1_0");
-					put(grammarAccess.getXFeatureCallAccess().getFeatureCallArgumentsAssignment_3_1_1_0(), "rule__XFeatureCall__FeatureCallArgumentsAssignment_3_1_1_0");
-					put(grammarAccess.getXFeatureCallAccess().getFeatureCallArgumentsAssignment_3_1_1_1_1(), "rule__XFeatureCall__FeatureCallArgumentsAssignment_3_1_1_1_1");
-					put(grammarAccess.getXFeatureCallAccess().getFeatureCallArgumentsAssignment_4(), "rule__XFeatureCall__FeatureCallArgumentsAssignment_4");
-					put(grammarAccess.getXConstructorCallAccess().getConstructorAssignment_2(), "rule__XConstructorCall__ConstructorAssignment_2");
-					put(grammarAccess.getXConstructorCallAccess().getTypeArgumentsAssignment_3_1(), "rule__XConstructorCall__TypeArgumentsAssignment_3_1");
-					put(grammarAccess.getXConstructorCallAccess().getTypeArgumentsAssignment_3_2_1(), "rule__XConstructorCall__TypeArgumentsAssignment_3_2_1");
-					put(grammarAccess.getXConstructorCallAccess().getExplicitConstructorCallAssignment_4_0(), "rule__XConstructorCall__ExplicitConstructorCallAssignment_4_0");
-					put(grammarAccess.getXConstructorCallAccess().getArgumentsAssignment_4_1_0(), "rule__XConstructorCall__ArgumentsAssignment_4_1_0");
-					put(grammarAccess.getXConstructorCallAccess().getArgumentsAssignment_4_1_1_0(), "rule__XConstructorCall__ArgumentsAssignment_4_1_1_0");
-					put(grammarAccess.getXConstructorCallAccess().getArgumentsAssignment_4_1_1_1_1(), "rule__XConstructorCall__ArgumentsAssignment_4_1_1_1_1");
-					put(grammarAccess.getXConstructorCallAccess().getArgumentsAssignment_5(), "rule__XConstructorCall__ArgumentsAssignment_5");
-					put(grammarAccess.getXBooleanLiteralAccess().getIsTrueAssignment_1_1(), "rule__XBooleanLiteral__IsTrueAssignment_1_1");
-					put(grammarAccess.getXNumberLiteralAccess().getValueAssignment_1(), "rule__XNumberLiteral__ValueAssignment_1");
-					put(grammarAccess.getXStringLiteralAccess().getValueAssignment_1(), "rule__XStringLiteral__ValueAssignment_1");
-					put(grammarAccess.getXTypeLiteralAccess().getTypeAssignment_3(), "rule__XTypeLiteral__TypeAssignment_3");
-					put(grammarAccess.getXTypeLiteralAccess().getArrayDimensionsAssignment_4(), "rule__XTypeLiteral__ArrayDimensionsAssignment_4");
-					put(grammarAccess.getXThrowExpressionAccess().getExpressionAssignment_2(), "rule__XThrowExpression__ExpressionAssignment_2");
-					put(grammarAccess.getXReturnExpressionAccess().getExpressionAssignment_2(), "rule__XReturnExpression__ExpressionAssignment_2");
-					put(grammarAccess.getXTryCatchFinallyExpressionAccess().getExpressionAssignment_2(), "rule__XTryCatchFinallyExpression__ExpressionAssignment_2");
-					put(grammarAccess.getXTryCatchFinallyExpressionAccess().getCatchClausesAssignment_3_0_0(), "rule__XTryCatchFinallyExpression__CatchClausesAssignment_3_0_0");
-					put(grammarAccess.getXTryCatchFinallyExpressionAccess().getFinallyExpressionAssignment_3_0_1_1(), "rule__XTryCatchFinallyExpression__FinallyExpressionAssignment_3_0_1_1");
-					put(grammarAccess.getXTryCatchFinallyExpressionAccess().getFinallyExpressionAssignment_3_1_1(), "rule__XTryCatchFinallyExpression__FinallyExpressionAssignment_3_1_1");
-					put(grammarAccess.getXSynchronizedExpressionAccess().getParamAssignment_1(), "rule__XSynchronizedExpression__ParamAssignment_1");
-					put(grammarAccess.getXSynchronizedExpressionAccess().getExpressionAssignment_3(), "rule__XSynchronizedExpression__ExpressionAssignment_3");
-					put(grammarAccess.getXCatchClauseAccess().getDeclaredParamAssignment_2(), "rule__XCatchClause__DeclaredParamAssignment_2");
-					put(grammarAccess.getXCatchClauseAccess().getExpressionAssignment_4(), "rule__XCatchClause__ExpressionAssignment_4");
-					put(grammarAccess.getXFunctionTypeRefAccess().getParamTypesAssignment_0_1_0(), "rule__XFunctionTypeRef__ParamTypesAssignment_0_1_0");
-					put(grammarAccess.getXFunctionTypeRefAccess().getParamTypesAssignment_0_1_1_1(), "rule__XFunctionTypeRef__ParamTypesAssignment_0_1_1_1");
-					put(grammarAccess.getXFunctionTypeRefAccess().getReturnTypeAssignment_2(), "rule__XFunctionTypeRef__ReturnTypeAssignment_2");
-					put(grammarAccess.getJvmParameterizedTypeReferenceAccess().getTypeAssignment_0(), "rule__JvmParameterizedTypeReference__TypeAssignment_0");
-					put(grammarAccess.getJvmParameterizedTypeReferenceAccess().getArgumentsAssignment_1_1(), "rule__JvmParameterizedTypeReference__ArgumentsAssignment_1_1");
-					put(grammarAccess.getJvmParameterizedTypeReferenceAccess().getArgumentsAssignment_1_2_1(), "rule__JvmParameterizedTypeReference__ArgumentsAssignment_1_2_1");
-					put(grammarAccess.getJvmParameterizedTypeReferenceAccess().getTypeAssignment_1_4_1(), "rule__JvmParameterizedTypeReference__TypeAssignment_1_4_1");
-					put(grammarAccess.getJvmParameterizedTypeReferenceAccess().getArgumentsAssignment_1_4_2_1(), "rule__JvmParameterizedTypeReference__ArgumentsAssignment_1_4_2_1");
-					put(grammarAccess.getJvmParameterizedTypeReferenceAccess().getArgumentsAssignment_1_4_2_2_1(), "rule__JvmParameterizedTypeReference__ArgumentsAssignment_1_4_2_2_1");
-					put(grammarAccess.getJvmWildcardTypeReferenceAccess().getConstraintsAssignment_2_0_0(), "rule__JvmWildcardTypeReference__ConstraintsAssignment_2_0_0");
-					put(grammarAccess.getJvmWildcardTypeReferenceAccess().getConstraintsAssignment_2_0_1(), "rule__JvmWildcardTypeReference__ConstraintsAssignment_2_0_1");
-					put(grammarAccess.getJvmWildcardTypeReferenceAccess().getConstraintsAssignment_2_1_0(), "rule__JvmWildcardTypeReference__ConstraintsAssignment_2_1_0");
-					put(grammarAccess.getJvmWildcardTypeReferenceAccess().getConstraintsAssignment_2_1_1(), "rule__JvmWildcardTypeReference__ConstraintsAssignment_2_1_1");
-					put(grammarAccess.getJvmUpperBoundAccess().getTypeReferenceAssignment_1(), "rule__JvmUpperBound__TypeReferenceAssignment_1");
-					put(grammarAccess.getJvmUpperBoundAndedAccess().getTypeReferenceAssignment_1(), "rule__JvmUpperBoundAnded__TypeReferenceAssignment_1");
-					put(grammarAccess.getJvmLowerBoundAccess().getTypeReferenceAssignment_1(), "rule__JvmLowerBound__TypeReferenceAssignment_1");
-					put(grammarAccess.getJvmLowerBoundAndedAccess().getTypeReferenceAssignment_1(), "rule__JvmLowerBoundAnded__TypeReferenceAssignment_1");
-					put(grammarAccess.getJvmTypeParameterAccess().getNameAssignment_0(), "rule__JvmTypeParameter__NameAssignment_0");
-					put(grammarAccess.getJvmTypeParameterAccess().getConstraintsAssignment_1_0(), "rule__JvmTypeParameter__ConstraintsAssignment_1_0");
-					put(grammarAccess.getJvmTypeParameterAccess().getConstraintsAssignment_1_1(), "rule__JvmTypeParameter__ConstraintsAssignment_1_1");
-					put(grammarAccess.getXImportSectionAccess().getImportDeclarationsAssignment(), "rule__XImportSection__ImportDeclarationsAssignment");
-					put(grammarAccess.getXImportDeclarationAccess().getStaticAssignment_1_0_0(), "rule__XImportDeclaration__StaticAssignment_1_0_0");
-					put(grammarAccess.getXImportDeclarationAccess().getExtensionAssignment_1_0_1(), "rule__XImportDeclaration__ExtensionAssignment_1_0_1");
-					put(grammarAccess.getXImportDeclarationAccess().getImportedTypeAssignment_1_0_2(), "rule__XImportDeclaration__ImportedTypeAssignment_1_0_2");
-					put(grammarAccess.getXImportDeclarationAccess().getWildcardAssignment_1_0_3_0(), "rule__XImportDeclaration__WildcardAssignment_1_0_3_0");
-					put(grammarAccess.getXImportDeclarationAccess().getMemberNameAssignment_1_0_3_1(), "rule__XImportDeclaration__MemberNameAssignment_1_0_3_1");
-					put(grammarAccess.getXImportDeclarationAccess().getImportedTypeAssignment_1_1(), "rule__XImportDeclaration__ImportedTypeAssignment_1_1");
-					put(grammarAccess.getXImportDeclarationAccess().getImportedNamespaceAssignment_1_2(), "rule__XImportDeclaration__ImportedNamespaceAssignment_1_2");
-					put(grammarAccess.getFontAccess().getUnorderedGroup(), "rule__Font__UnorderedGroup");
-					put(grammarAccess.getStyleAccess().getUnorderedGroup_4(), "rule__Style__UnorderedGroup_4");
-					put(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), "rule__MediaStyle__UnorderedGroup_3");
-					put(grammarAccess.getDatamartTablePropertyAccess().getUnorderedGroup_1(), "rule__DatamartTableProperty__UnorderedGroup_1");
-					put(grammarAccess.getTableImageAccess().getUnorderedGroup_3(), "rule__TableImage__UnorderedGroup_3");
-					put(grammarAccess.getTableAggregationAccess().getUnorderedGroup_2(), "rule__TableAggregation__UnorderedGroup_2");
-				}
-			};
-		}
-		return nameMappings.get(element);
-	}
-	
-	@Override
-	protected Collection<FollowElement> getFollowElements(AbstractInternalContentAssistParser parser) {
-		try {
-			org.eclipse.osbp.xtext.reportdsl.ui.contentassist.antlr.internal.InternalReportDSLParser typedParser = (org.eclipse.osbp.xtext.reportdsl.ui.contentassist.antlr.internal.InternalReportDSLParser) parser;
-			typedParser.entryRuleReportModel();
-			return typedParser.getFollowElements();
-		} catch(RecognitionException ex) {
-			throw new RuntimeException(ex);
-		}		
-	}
-	
-	@Override
-	protected String[] getInitialHiddenTokens() {
-		return new String[] { "RULE_WS", "RULE_ML_COMMENT", "RULE_SL_COMMENT" };
-	}
-	
-	public ReportDSLGrammarAccess getGrammarAccess() {
-		return this.grammarAccess;
-	}
-	
-	public void setGrammarAccess(ReportDSLGrammarAccess grammarAccess) {
-		this.grammarAccess = grammarAccess;
-	}
-}
diff --git a/org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g b/org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g
deleted file mode 100644
index c553ed8..0000000
--- a/org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g
+++ /dev/null
@@ -1,10015 +0,0 @@
-/**
- *                                                                            
- *  Copyright (c) 2011, 2016 - Loetz GmbH&Co.KG (69115 Heidelberg, Germany) 
- *                                                                            
- *  All rights reserved. This program and the accompanying materials           
- *  are made available under the terms of the Eclipse Public License v1.0       
- *  which accompanies this distribution, and is available at                  
- *  http://www.eclipse.org/legal/epl-v10.html                                 
- *                                                                            
- *  Contributors:                                                      
- * 	   Christophe Loetz (Loetz GmbH&Co.KG) - initial implementation
- * 
- */
-
-grammar InternalReportDSL;
-
-options {
-	superClass=AbstractInternalContentAssistParser;
-	backtrack=true;
-	
-}
-
-@lexer::header {
-package org.eclipse.osbp.xtext.reportdsl.ui.contentassist.antlr.internal;
-
-// Hack: Use our own Lexer superclass by means of import. 
-// Currently there is no other way to specify the superclass for the lexer.
-import org.eclipse.xtext.ui.editor.contentassist.antlr.internal.Lexer;
-}
-
-@parser::header {
-package org.eclipse.osbp.xtext.reportdsl.ui.contentassist.antlr.internal; 
-
-import java.io.InputStream;
-import org.eclipse.xtext.*;
-import org.eclipse.xtext.parser.*;
-import org.eclipse.xtext.parser.impl.*;
-import org.eclipse.emf.ecore.util.EcoreUtil;
-import org.eclipse.emf.ecore.EObject;
-import org.eclipse.xtext.parser.antlr.XtextTokenStream;
-import org.eclipse.xtext.parser.antlr.XtextTokenStream.HiddenTokens;
-import org.eclipse.xtext.ui.editor.contentassist.antlr.internal.AbstractInternalContentAssistParser;
-import org.eclipse.xtext.ui.editor.contentassist.antlr.internal.DFA;
-import org.eclipse.osbp.xtext.reportdsl.services.ReportDSLGrammarAccess;
-
-}
-
-@parser::members {
- 
- 	private ReportDSLGrammarAccess grammarAccess;
- 	
-    public void setGrammarAccess(ReportDSLGrammarAccess grammarAccess) {
-    	this.grammarAccess = grammarAccess;
-    }
-    
-    @Override
-    protected Grammar getGrammar() {
-    	return grammarAccess.getGrammar();
-    }
-    
-    @Override
-    protected String getValueForTokenName(String tokenName) {
-    	return tokenName;
-    }
-
-}
-
-
-
-
-// Entry rule entryRuleReportModel
-entryRuleReportModel 
-:
-{ before(grammarAccess.getReportModelRule()); }
-	 ruleReportModel
-{ after(grammarAccess.getReportModelRule()); } 
-	 EOF 
-;
-
-// Rule ReportModel
-ruleReportModel
-    @init {
-		int stackSize = keepStackSize();
-    }
-	:
-(
-{ before(grammarAccess.getReportModelAccess().getPckgAssignment()); }
-(rule__ReportModel__PckgAssignment)*
-{ after(grammarAccess.getReportModelAccess().getPckgAssignment()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
-
-// Entry rule entryRuleReportPackage
-entryRuleReportPackage 
-:
-{ before(grammarAccess.getReportPackageRule()); }
-	 ruleReportPackage
-{ after(grammarAccess.getReportPackageRule()); } 
-	 EOF 
-;
-
-// Rule ReportPackage
-ruleReportPackage
-    @init {
-		int stackSize = keepStackSize();
-    }
-	:
-(
-{ before(grammarAccess.getReportPackageAccess().getGroup()); }
-(rule__ReportPackage__Group__0)
-{ after(grammarAccess.getReportPackageAccess().getGroup()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
-
-// Entry rule entryRulePageTemplates
-entryRulePageTemplates 
-:
-{ before(grammarAccess.getPageTemplatesRule()); }
-	 rulePageTemplates
-{ after(grammarAccess.getPageTemplatesRule()); } 
-	 EOF 
-;
-
-// Rule PageTemplates
-rulePageTemplates
-    @init {
-		int stackSize = keepStackSize();
-    }
-	:
-(
-{ before(grammarAccess.getPageTemplatesAccess().getGroup()); }
-(rule__PageTemplates__Group__0)
-{ after(grammarAccess.getPageTemplatesAccess().getGroup()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
-
-// Entry rule entryRuleSomeFormats
-entryRuleSomeFormats 
-:
-{ before(grammarAccess.getSomeFormatsRule()); }
-	 ruleSomeFormats
-{ after(grammarAccess.getSomeFormatsRule()); } 
-	 EOF 
-;
-
-// Rule SomeFormats
-ruleSomeFormats
-    @init {
-		int stackSize = keepStackSize();
-    }
-	:
-(
-{ before(grammarAccess.getSomeFormatsAccess().getGroup()); }
-(rule__SomeFormats__Group__0)
-{ after(grammarAccess.getSomeFormatsAccess().getGroup()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
-
-// Entry rule entryRuleColors
-entryRuleColors 
-:
-{ before(grammarAccess.getColorsRule()); }
-	 ruleColors
-{ after(grammarAccess.getColorsRule()); } 
-	 EOF 
-;
-
-// Rule Colors
-ruleColors
-    @init {
-		int stackSize = keepStackSize();
-    }
-	:
-(
-{ before(grammarAccess.getColorsAccess().getGroup()); }
-(rule__Colors__Group__0)
-{ after(grammarAccess.getColorsAccess().getGroup()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
-
-// Entry rule entryRuleFonts
-entryRuleFonts 
-:
-{ before(grammarAccess.getFontsRule()); }
-	 ruleFonts
-{ after(grammarAccess.getFontsRule()); } 
-	 EOF 
-;
-
-// Rule Fonts
-ruleFonts
-    @init {
-		int stackSize = keepStackSize();
-    }
-	:
-(
-{ before(grammarAccess.getFontsAccess().getGroup()); }
-(rule__Fonts__Group__0)
-{ after(grammarAccess.getFontsAccess().getGroup()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
-
-// Entry rule entryRuleMedias
-entryRuleMedias 
-:
-{ before(grammarAccess.getMediasRule()); }
-	 ruleMedias
-{ after(grammarAccess.getMediasRule()); } 
-	 EOF 
-;
-
-// Rule Medias
-ruleMedias
-    @init {
-		int stackSize = keepStackSize();
-    }
-	:
-(
-{ before(grammarAccess.getMediasAccess().getGroup()); }
-(rule__Medias__Group__0)
-{ after(grammarAccess.getMediasAccess().getGroup()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
-
-// Entry rule entryRuleMedia
-entryRuleMedia 
-:
-{ before(grammarAccess.getMediaRule()); }
-	 ruleMedia
-{ after(grammarAccess.getMediaRule()); } 
-	 EOF 
-;
-
-// Rule Media
-ruleMedia
-    @init {
-		int stackSize = keepStackSize();
-    }
-	:
-(
-{ before(grammarAccess.getMediaAccess().getGroup()); }
-(rule__Media__Group__0)
-{ after(grammarAccess.getMediaAccess().getGroup()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
-
-// Entry rule entryRuleStyles
-entryRuleStyles 
-:
-{ before(grammarAccess.getStylesRule()); }
-	 ruleStyles
-{ after(grammarAccess.getStylesRule()); } 
-	 EOF 
-;
-
-// Rule Styles
-ruleStyles
-    @init {
-		int stackSize = keepStackSize();
-    }
-	:
-(
-{ before(grammarAccess.getStylesAccess().getGroup()); }
-(rule__Styles__Group__0)
-{ after(grammarAccess.getStylesAccess().getGroup()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
-
-// Entry rule entryRulePageTemplate
-entryRulePageTemplate 
-:
-{ before(grammarAccess.getPageTemplateRule()); }
-	 rulePageTemplate
-{ after(grammarAccess.getPageTemplateRule()); } 
-	 EOF 
-;
-
-// Rule PageTemplate
-rulePageTemplate
-    @init {
-		int stackSize = keepStackSize();
-    }
-	:
-(
-{ before(grammarAccess.getPageTemplateAccess().getGroup()); }
-(rule__PageTemplate__Group__0)
-{ after(grammarAccess.getPageTemplateAccess().getGroup()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
-
-// Entry rule entryRuleUnsignedNumber
-entryRuleUnsignedNumber 
-:
-{ before(grammarAccess.getUnsignedNumberRule()); }
-	 ruleUnsignedNumber
-{ after(grammarAccess.getUnsignedNumberRule()); } 
-	 EOF 
-;
-
-// Rule UnsignedNumber
-ruleUnsignedNumber
-    @init {
-		int stackSize = keepStackSize();
-    }
-	:
-(
-{ before(grammarAccess.getUnsignedNumberAccess().getNumberParserRuleCall()); }
-	ruleNumber
-{ after(grammarAccess.getUnsignedNumberAccess().getNumberParserRuleCall()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
-
-// Entry rule entryRuleColor
-entryRuleColor 
-:
-{ before(grammarAccess.getColorRule()); }
-	 ruleColor
-{ after(grammarAccess.getColorRule()); } 
-	 EOF 
-;
-
-// Rule Color
-ruleColor
-    @init {
-		int stackSize = keepStackSize();
-    }
-	:
-(
-{ before(grammarAccess.getColorAccess().getGroup()); }
-(rule__Color__Group__0)
-{ after(grammarAccess.getColorAccess().getGroup()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
-
-// Entry rule entryRuleFont
-entryRuleFont 
-:
-{ before(grammarAccess.getFontRule()); }
-	 ruleFont
-{ after(grammarAccess.getFontRule()); } 
-	 EOF 
-;
-
-// Rule Font
-ruleFont
-    @init {
-		int stackSize = keepStackSize();
-    }
-	:
-(
-{ before(grammarAccess.getFontAccess().getUnorderedGroup()); }
-(rule__Font__UnorderedGroup)
-{ after(grammarAccess.getFontAccess().getUnorderedGroup()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
-
-// Entry rule entryRuleFontFamily
-entryRuleFontFamily 
-:
-{ before(grammarAccess.getFontFamilyRule()); }
-	 ruleFontFamily
-{ after(grammarAccess.getFontFamilyRule()); } 
-	 EOF 
-;
-
-// Rule FontFamily
-ruleFontFamily
-    @init {
-		int stackSize = keepStackSize();
-    }
-	:
-(
-{ before(grammarAccess.getFontFamilyAccess().getAlternatives()); }
-(rule__FontFamily__Alternatives)
-{ after(grammarAccess.getFontFamilyAccess().getAlternatives()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
-
-// Entry rule entryRuleBuildInFontFamily
-entryRuleBuildInFontFamily 
-:
-{ before(grammarAccess.getBuildInFontFamilyRule()); }
-	 ruleBuildInFontFamily
-{ after(grammarAccess.getBuildInFontFamilyRule()); } 
-	 EOF 
-;
-
-// Rule BuildInFontFamily
-ruleBuildInFontFamily
-    @init {
-		int stackSize = keepStackSize();
-    }
-	:
-(
-{ before(grammarAccess.getBuildInFontFamilyAccess().getCustomAssignment()); }
-(rule__BuildInFontFamily__CustomAssignment)
-{ after(grammarAccess.getBuildInFontFamilyAccess().getCustomAssignment()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
-
-// Entry rule entryRuleCustomFontFamily
-entryRuleCustomFontFamily 
-:
-{ before(grammarAccess.getCustomFontFamilyRule()); }
-	 ruleCustomFontFamily
-{ after(grammarAccess.getCustomFontFamilyRule()); } 
-	 EOF 
-;
-
-// Rule CustomFontFamily
-ruleCustomFontFamily
-    @init {
-		int stackSize = keepStackSize();
-    }
-	:
-(
-{ before(grammarAccess.getCustomFontFamilyAccess().getCustomAssignment()); }
-(rule__CustomFontFamily__CustomAssignment)
-{ after(grammarAccess.getCustomFontFamilyAccess().getCustomAssignment()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
-
-// Entry rule entryRuleBorderStyle
-entryRuleBorderStyle 
-:
-{ before(grammarAccess.getBorderStyleRule()); }
-	 ruleBorderStyle
-{ after(grammarAccess.getBorderStyleRule()); } 
-	 EOF 
-;
-
-// Rule BorderStyle
-ruleBorderStyle
-    @init {
-		int stackSize = keepStackSize();
-    }
-	:
-(
-{ before(grammarAccess.getBorderStyleAccess().getGroup()); }
-(rule__BorderStyle__Group__0)
-{ after(grammarAccess.getBorderStyleAccess().getGroup()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
-
-// Entry rule entryRuleStyle
-entryRuleStyle 
-:
-{ before(grammarAccess.getStyleRule()); }
-	 ruleStyle
-{ after(grammarAccess.getStyleRule()); } 
-	 EOF 
-;
-
-// Rule Style
-ruleStyle
-    @init {
-		int stackSize = keepStackSize();
-    }
-	:
-(
-{ before(grammarAccess.getStyleAccess().getGroup()); }
-(rule__Style__Group__0)
-{ after(grammarAccess.getStyleAccess().getGroup()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
-
-// Entry rule entryRuleMediaStyle
-entryRuleMediaStyle 
-:
-{ before(grammarAccess.getMediaStyleRule()); }
-	 ruleMediaStyle
-{ after(grammarAccess.getMediaStyleRule()); } 
-	 EOF 
-;
-
-// Rule MediaStyle
-ruleMediaStyle
-    @init {
-		int stackSize = keepStackSize();
-    }
-	:
-(
-{ before(grammarAccess.getMediaStyleAccess().getGroup()); }
-(rule__MediaStyle__Group__0)
-{ after(grammarAccess.getMediaStyleAccess().getGroup()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
-
-// Entry rule entryRuleSomeFormat
-entryRuleSomeFormat 
-:
-{ before(grammarAccess.getSomeFormatRule()); }
-	 ruleSomeFormat
-{ after(grammarAccess.getSomeFormatRule()); } 
-	 EOF 
-;
-
-// Rule SomeFormat
-ruleSomeFormat
-    @init {
-		int stackSize = keepStackSize();
-    }
-	:
-(
-{ before(grammarAccess.getSomeFormatAccess().getAlternatives()); }
-(rule__SomeFormat__Alternatives)
-{ after(grammarAccess.getSomeFormatAccess().getAlternatives()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
-
-// Entry rule entryRuleUomoFormat
-entryRuleUomoFormat 
-:
-{ before(grammarAccess.getUomoFormatRule()); }
-	 ruleUomoFormat
-{ after(grammarAccess.getUomoFormatRule()); } 
-	 EOF 
-;
-
-// Rule UomoFormat
-ruleUomoFormat
-    @init {
-		int stackSize = keepStackSize();
-    }
-	:
-(
-{ before(grammarAccess.getUomoFormatAccess().getGroup()); }
-(rule__UomoFormat__Group__0)
-{ after(grammarAccess.getUomoFormatAccess().getGroup()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
-
-// Entry rule entryRuleNumberFormat
-entryRuleNumberFormat 
-:
-{ before(grammarAccess.getNumberFormatRule()); }
-	 ruleNumberFormat
-{ after(grammarAccess.getNumberFormatRule()); } 
-	 EOF 
-;
-
-// Rule NumberFormat
-ruleNumberFormat
-    @init {
-		int stackSize = keepStackSize();
-    }
-	:
-(
-{ before(grammarAccess.getNumberFormatAccess().getGroup()); }
-(rule__NumberFormat__Group__0)
-{ after(grammarAccess.getNumberFormatAccess().getGroup()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
-
-// Entry rule entryRuleCurrencyFormat
-entryRuleCurrencyFormat 
-:
-{ before(grammarAccess.getCurrencyFormatRule()); }
-	 ruleCurrencyFormat
-{ after(grammarAccess.getCurrencyFormatRule()); } 
-	 EOF 
-;
-
-// Rule CurrencyFormat
-ruleCurrencyFormat
-    @init {
-		int stackSize = keepStackSize();
-    }
-	:
-(
-{ before(grammarAccess.getCurrencyFormatAccess().getGroup()); }
-(rule__CurrencyFormat__Group__0)
-{ after(grammarAccess.getCurrencyFormatAccess().getGroup()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
-
-// Entry rule entryRuleDateFormat
-entryRuleDateFormat 
-:
-{ before(grammarAccess.getDateFormatRule()); }
-	 ruleDateFormat
-{ after(grammarAccess.getDateFormatRule()); } 
-	 EOF 
-;
-
-// Rule DateFormat
-ruleDateFormat
-    @init {
-		int stackSize = keepStackSize();
-    }
-	:
-(
-{ before(grammarAccess.getDateFormatAccess().getGroup()); }
-(rule__DateFormat__Group__0)
-{ after(grammarAccess.getDateFormatAccess().getGroup()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
-
-// Entry rule entryRuleDateTimeFormat
-entryRuleDateTimeFormat 
-:
-{ before(grammarAccess.getDateTimeFormatRule()); }
-	 ruleDateTimeFormat
-{ after(grammarAccess.getDateTimeFormatRule()); } 
-	 EOF 
-;
-
-// Rule DateTimeFormat
-ruleDateTimeFormat
-    @init {
-		int stackSize = keepStackSize();
-    }
-	:
-(
-{ before(grammarAccess.getDateTimeFormatAccess().getGroup()); }
-(rule__DateTimeFormat__Group__0)
-{ after(grammarAccess.getDateTimeFormatAccess().getGroup()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
-
-// Entry rule entryRuleTimeFormat
-entryRuleTimeFormat 
-:
-{ before(grammarAccess.getTimeFormatRule()); }
-	 ruleTimeFormat
-{ after(grammarAccess.getTimeFormatRule()); } 
-	 EOF 
-;
-
-// Rule TimeFormat
-ruleTimeFormat
-    @init {
-		int stackSize = keepStackSize();
-    }
-	:
-(
-{ before(grammarAccess.getTimeFormatAccess().getGroup()); }
-(rule__TimeFormat__Group__0)
-{ after(grammarAccess.getTimeFormatAccess().getGroup()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
-
-// Entry rule entryRuleReport
-entryRuleReport 
-:
-{ before(grammarAccess.getReportRule()); }
-	 ruleReport
-{ after(grammarAccess.getReportRule()); } 
-	 EOF 
-;
-
-// Rule Report
-ruleReport
-    @init {
-		int stackSize = keepStackSize();
-    }
-	:
-(
-{ before(grammarAccess.getReportAccess().getGroup()); }
-(rule__Report__Group__0)
-{ after(grammarAccess.getReportAccess().getGroup()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
-
-// Entry rule entryRuleReportDesign
-entryRuleReportDesign 
-:
-{ before(grammarAccess.getReportDesignRule()); }
-	 ruleReportDesign
-{ after(grammarAccess.getReportDesignRule()); } 
-	 EOF 
-;
-
-// Rule ReportDesign
-ruleReportDesign
-    @init {
-		int stackSize = keepStackSize();
-    }
-	:
-(
-{ before(grammarAccess.getReportDesignAccess().getAlternatives()); }
-(rule__ReportDesign__Alternatives)
-{ after(grammarAccess.getReportDesignAccess().getAlternatives()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
-
-// Entry rule entryRuleReportDesignFile
-entryRuleReportDesignFile 
-:
-{ before(grammarAccess.getReportDesignFileRule()); }
-	 ruleReportDesignFile
-{ after(grammarAccess.getReportDesignFileRule()); } 
-	 EOF 
-;
-
-// Rule ReportDesignFile
-ruleReportDesignFile
-    @init {
-		int stackSize = keepStackSize();
-    }
-	:
-(
-{ before(grammarAccess.getReportDesignFileAccess().getGroup()); }
-(rule__ReportDesignFile__Group__0)
-{ after(grammarAccess.getReportDesignFileAccess().getGroup()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
-
-// Entry rule entryRuleReportDesignTemplate
-entryRuleReportDesignTemplate 
-:
-{ before(grammarAccess.getReportDesignTemplateRule()); }
-	 ruleReportDesignTemplate
-{ after(grammarAccess.getReportDesignTemplateRule()); } 
-	 EOF 
-;
-
-// Rule ReportDesignTemplate
-ruleReportDesignTemplate
-    @init {
-		int stackSize = keepStackSize();
-    }
-	:
-(
-{ before(grammarAccess.getReportDesignTemplateAccess().getGroup()); }
-(rule__ReportDesignTemplate__Group__0)
-{ after(grammarAccess.getReportDesignTemplateAccess().getGroup()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
-
-
-
-// Entry rule entryRulePageHeader
-entryRulePageHeader 
-:
-{ before(grammarAccess.getPageHeaderRule()); }
-	 rulePageHeader
-{ after(grammarAccess.getPageHeaderRule()); } 
-	 EOF 
-;
-
-// Rule PageHeader
-rulePageHeader
-    @init {
-		int stackSize = keepStackSize();
-    }
-	:
-(
-{ before(grammarAccess.getPageHeaderAccess().getGroup()); }
-(rule__PageHeader__Group__0)
-{ after(grammarAccess.getPageHeaderAccess().getGroup()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
-
-// Entry rule entryRulePageDetail
-entryRulePageDetail 
-:
-{ before(grammarAccess.getPageDetailRule()); }
-	 rulePageDetail
-{ after(grammarAccess.getPageDetailRule()); } 
-	 EOF 
-;
-
-// Rule PageDetail
-rulePageDetail
-    @init {
-		int stackSize = keepStackSize();
-    }
-	:
-(
-{ before(grammarAccess.getPageDetailAccess().getGroup()); }
-(rule__PageDetail__Group__0)
-{ after(grammarAccess.getPageDetailAccess().getGroup()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
-
-// Entry rule entryRulePageFooter
-entryRulePageFooter 
-:
-{ before(grammarAccess.getPageFooterRule()); }
-	 rulePageFooter
-{ after(grammarAccess.getPageFooterRule()); } 
-	 EOF 
-;
-
-// Rule PageFooter
-rulePageFooter
-    @init {
-		int stackSize = keepStackSize();
-    }
-	:
-(
-{ before(grammarAccess.getPageFooterAccess().getGroup()); }
-(rule__PageFooter__Group__0)
-{ after(grammarAccess.getPageFooterAccess().getGroup()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
-
-// Entry rule entryRuleElement
-entryRuleElement 
-:
-{ before(grammarAccess.getElementRule()); }
-	 ruleElement
-{ after(grammarAccess.getElementRule()); } 
-	 EOF 
-;
-
-// Rule Element
-ruleElement
-    @init {
-		int stackSize = keepStackSize();
-    }
-	:
-(
-{ before(grammarAccess.getElementAccess().getAlternatives()); }
-(rule__Element__Alternatives)
-{ after(grammarAccess.getElementAccess().getAlternatives()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
-
-// Entry rule entryRuleGrid
-entryRuleGrid 
-:
-{ before(grammarAccess.getGridRule()); }
-	 ruleGrid
-{ after(grammarAccess.getGridRule()); } 
-	 EOF 
-;
-
-// Rule Grid
-ruleGrid
-    @init {
-		int stackSize = keepStackSize();
-    }
-	:
-(
-{ before(grammarAccess.getGridAccess().getGroup()); }
-(rule__Grid__Group__0)
-{ after(grammarAccess.getGridAccess().getGroup()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
-
-// Entry rule entryRuleGridRow
-entryRuleGridRow 
-:
-{ before(grammarAccess.getGridRowRule()); }
-	 ruleGridRow
-{ after(grammarAccess.getGridRowRule()); } 
-	 EOF 
-;
-
-// Rule GridRow
-ruleGridRow
-    @init {
-		int stackSize = keepStackSize();
-    }
-	:
-(
-{ before(grammarAccess.getGridRowAccess().getGroup()); }
-(rule__GridRow__Group__0)
-{ after(grammarAccess.getGridRowAccess().getGroup()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
-
-// Entry rule entryRuleGridCell
-entryRuleGridCell 
-:
-{ before(grammarAccess.getGridCellRule()); }
-	 ruleGridCell
-{ after(grammarAccess.getGridCellRule()); } 
-	 EOF 
-;
-
-// Rule GridCell
-ruleGridCell
-    @init {
-		int stackSize = keepStackSize();
-    }
-	:
-(
-{ before(grammarAccess.getGridCellAccess().getGroup()); }
-(rule__GridCell__Group__0)
-{ after(grammarAccess.getGridCellAccess().getGroup()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
-
-// Entry rule entryRuleDatamartTable
-entryRuleDatamartTable 
-:
-{ before(grammarAccess.getDatamartTableRule()); }
-	 ruleDatamartTable
-{ after(grammarAccess.getDatamartTableRule()); } 
-	 EOF 
-;
-
-// Rule DatamartTable
-ruleDatamartTable
-    @init {
-		int stackSize = keepStackSize();
-    }
-	:
-(
-{ before(grammarAccess.getDatamartTableAccess().getGroup()); }
-(rule__DatamartTable__Group__0)
-{ after(grammarAccess.getDatamartTableAccess().getGroup()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
-
-// Entry rule entryRuleDatamartTableGroup
-entryRuleDatamartTableGroup 
-:
-{ before(grammarAccess.getDatamartTableGroupRule()); }
-	 ruleDatamartTableGroup
-{ after(grammarAccess.getDatamartTableGroupRule()); } 
-	 EOF 
-;
-
-// Rule DatamartTableGroup
-ruleDatamartTableGroup
-    @init {
-		int stackSize = keepStackSize();
-    }
-	:
-(
-{ before(grammarAccess.getDatamartTableGroupAccess().getGroup()); }
-(rule__DatamartTableGroup__Group__0)
-{ after(grammarAccess.getDatamartTableGroupAccess().getGroup()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
-
-// Entry rule entryRuleDatamartTableGroupHeader
-entryRuleDatamartTableGroupHeader 
-:
-{ before(grammarAccess.getDatamartTableGroupHeaderRule()); }
-	 ruleDatamartTableGroupHeader
-{ after(grammarAccess.getDatamartTableGroupHeaderRule()); } 
-	 EOF 
-;
-
-// Rule DatamartTableGroupHeader
-ruleDatamartTableGroupHeader
-    @init {
-		int stackSize = keepStackSize();
-    }
-	:
-(
-{ before(grammarAccess.getDatamartTableGroupHeaderAccess().getGroup()); }
-(rule__DatamartTableGroupHeader__Group__0)
-{ after(grammarAccess.getDatamartTableGroupHeaderAccess().getGroup()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
-
-// Entry rule entryRuleDatamartTableGroupFooter
-entryRuleDatamartTableGroupFooter 
-:
-{ before(grammarAccess.getDatamartTableGroupFooterRule()); }
-	 ruleDatamartTableGroupFooter
-{ after(grammarAccess.getDatamartTableGroupFooterRule()); } 
-	 EOF 
-;
-
-// Rule DatamartTableGroupFooter
-ruleDatamartTableGroupFooter
-    @init {
-		int stackSize = keepStackSize();
-    }
-	:
-(
-{ before(grammarAccess.getDatamartTableGroupFooterAccess().getGroup()); }
-(rule__DatamartTableGroupFooter__Group__0)
-{ after(grammarAccess.getDatamartTableGroupFooterAccess().getGroup()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
-
-// Entry rule entryRuleDatamartTableDetail
-entryRuleDatamartTableDetail 
-:
-{ before(grammarAccess.getDatamartTableDetailRule()); }
-	 ruleDatamartTableDetail
-{ after(grammarAccess.getDatamartTableDetailRule()); } 
-	 EOF 
-;
-
-// Rule DatamartTableDetail
-ruleDatamartTableDetail
-    @init {
-		int stackSize = keepStackSize();
-    }
-	:
-(
-{ before(grammarAccess.getDatamartTableDetailAccess().getGroup()); }
-(rule__DatamartTableDetail__Group__0)
-{ after(grammarAccess.getDatamartTableDetailAccess().getGroup()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
-
-// Entry rule entryRuleDatamartTableProperty
-entryRuleDatamartTableProperty 
-:
-{ before(grammarAccess.getDatamartTablePropertyRule()); }
-	 ruleDatamartTableProperty
-{ after(grammarAccess.getDatamartTablePropertyRule()); } 
-	 EOF 
-;
-
-// Rule DatamartTableProperty
-ruleDatamartTableProperty
-    @init {
-		int stackSize = keepStackSize();
-    }
-	:
-(
-{ before(grammarAccess.getDatamartTablePropertyAccess().getGroup()); }
-(rule__DatamartTableProperty__Group__0)
-{ after(grammarAccess.getDatamartTablePropertyAccess().getGroup()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
-
-
-
-// Entry rule entryRuleTableImage
-entryRuleTableImage 
-:
-{ before(grammarAccess.getTableImageRule()); }
-	 ruleTableImage
-{ after(grammarAccess.getTableImageRule()); } 
-	 EOF 
-;
-
-// Rule TableImage
-ruleTableImage
-    @init {
-		int stackSize = keepStackSize();
-    }
-	:
-(
-{ before(grammarAccess.getTableImageAccess().getGroup()); }
-(rule__TableImage__Group__0)
-{ after(grammarAccess.getTableImageAccess().getGroup()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
-
-// Entry rule entryRuleTableValueElement
-entryRuleTableValueElement 
-:
-{ before(grammarAccess.getTableValueElementRule()); }
-	 ruleTableValueElement
-{ after(grammarAccess.getTableValueElementRule()); } 
-	 EOF 
-;
-
-// Rule TableValueElement
-ruleTableValueElement
-    @init {
-		int stackSize = keepStackSize();
-    }
-	:
-(
-{ before(grammarAccess.getTableValueElementAccess().getAlternatives()); }
-(rule__TableValueElement__Alternatives)
-{ after(grammarAccess.getTableValueElementAccess().getAlternatives()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
-
-// Entry rule entryRuleTableProperty
-entryRuleTableProperty 
-:
-{ before(grammarAccess.getTablePropertyRule()); }
-	 ruleTableProperty
-{ after(grammarAccess.getTablePropertyRule()); } 
-	 EOF 
-;
-
-// Rule TableProperty
-ruleTableProperty
-    @init {
-		int stackSize = keepStackSize();
-    }
-	:
-(
-{ before(grammarAccess.getTablePropertyAccess().getGroup()); }
-(rule__TableProperty__Group__0)
-{ after(grammarAccess.getTablePropertyAccess().getGroup()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
-
-// Entry rule entryRuleTableAggregation
-entryRuleTableAggregation 
-:
-{ before(grammarAccess.getTableAggregationRule()); }
-	 ruleTableAggregation
-{ after(grammarAccess.getTableAggregationRule()); } 
-	 EOF 
-;
-
-// Rule TableAggregation
-ruleTableAggregation
-    @init {
-		int stackSize = keepStackSize();
-    }
-	:
-(
-{ before(grammarAccess.getTableAggregationAccess().getGroup()); }
-(rule__TableAggregation__Group__0)
-{ after(grammarAccess.getTableAggregationAccess().getGroup()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
-
-// Entry rule entryRuleTableBaseAggregation
-entryRuleTableBaseAggregation 
-:
-{ before(grammarAccess.getTableBaseAggregationRule()); }
-	 ruleTableBaseAggregation
-{ after(grammarAccess.getTableBaseAggregationRule()); } 
-	 EOF 
-;
-
-// Rule TableBaseAggregation
-ruleTableBaseAggregation
-    @init {
-		int stackSize = keepStackSize();
-    }
-	:
-(
-{ before(grammarAccess.getTableBaseAggregationAccess().getAlternatives()); }
-(rule__TableBaseAggregation__Alternatives)
-{ after(grammarAccess.getTableBaseAggregationAccess().getAlternatives()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
-
-// Entry rule entryRuleTablePureAggregation
-entryRuleTablePureAggregation 
-:
-{ before(grammarAccess.getTablePureAggregationRule()); }
-	 ruleTablePureAggregation
-{ after(grammarAccess.getTablePureAggregationRule()); } 
-	 EOF 
-;
-
-// Rule TablePureAggregation
-ruleTablePureAggregation
-    @init {
-		int stackSize = keepStackSize();
-    }
-	:
-(
-{ before(grammarAccess.getTablePureAggregationAccess().getAggregationAssignment()); }
-(rule__TablePureAggregation__AggregationAssignment)
-{ after(grammarAccess.getTablePureAggregationAccess().getAggregationAssignment()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
-
-// Entry rule entryRuleTableUnaryAggregation
-entryRuleTableUnaryAggregation 
-:
-{ before(grammarAccess.getTableUnaryAggregationRule()); }
-	 ruleTableUnaryAggregation
-{ after(grammarAccess.getTableUnaryAggregationRule()); } 
-	 EOF 
-;
-
-// Rule TableUnaryAggregation
-ruleTableUnaryAggregation
-    @init {
-		int stackSize = keepStackSize();
-    }
-	:
-(
-{ before(grammarAccess.getTableUnaryAggregationAccess().getGroup()); }
-(rule__TableUnaryAggregation__Group__0)
-{ after(grammarAccess.getTableUnaryAggregationAccess().getGroup()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
-
-// Entry rule entryRuleTableMultipleAggregation
-entryRuleTableMultipleAggregation 
-:
-{ before(grammarAccess.getTableMultipleAggregationRule()); }
-	 ruleTableMultipleAggregation
-{ after(grammarAccess.getTableMultipleAggregationRule()); } 
-	 EOF 
-;
-
-// Rule TableMultipleAggregation
-ruleTableMultipleAggregation
-    @init {
-		int stackSize = keepStackSize();
-    }
-	:
-(
-{ before(grammarAccess.getTableMultipleAggregationAccess().getGroup()); }
-(rule__TableMultipleAggregation__Group__0)
-{ after(grammarAccess.getTableMultipleAggregationAccess().getGroup()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
-
-// Entry rule entryRuleTableBinaryAggregation
-entryRuleTableBinaryAggregation 
-:
-{ before(grammarAccess.getTableBinaryAggregationRule()); }
-	 ruleTableBinaryAggregation
-{ after(grammarAccess.getTableBinaryAggregationRule()); } 
-	 EOF 
-;
-
-// Rule TableBinaryAggregation
-ruleTableBinaryAggregation
-    @init {
-		int stackSize = keepStackSize();
-    }
-	:
-(
-{ before(grammarAccess.getTableBinaryAggregationAccess().getGroup()); }
-(rule__TableBinaryAggregation__Group__0)
-{ after(grammarAccess.getTableBinaryAggregationAccess().getGroup()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
-
-// Entry rule entryRuleTableInterval
-entryRuleTableInterval 
-:
-{ before(grammarAccess.getTableIntervalRule()); }
-	 ruleTableInterval
-{ after(grammarAccess.getTableIntervalRule()); } 
-	 EOF 
-;
-
-// Rule TableInterval
-ruleTableInterval
-    @init {
-		int stackSize = keepStackSize();
-    }
-	:
-(
-{ before(grammarAccess.getTableIntervalAccess().getAlternatives()); }
-(rule__TableInterval__Alternatives)
-{ after(grammarAccess.getTableIntervalAccess().getAlternatives()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
-
-// Entry rule entryRuleTableNumberInterval
-entryRuleTableNumberInterval 
-:
-{ before(grammarAccess.getTableNumberIntervalRule()); }
-	 ruleTableNumberInterval
-{ after(grammarAccess.getTableNumberIntervalRule()); } 
-	 EOF 
-;
-
-// Rule TableNumberInterval
-ruleTableNumberInterval
-    @init {
-		int stackSize = keepStackSize();
-    }
-	:
-(
-{ before(grammarAccess.getTableNumberIntervalAccess().getGroup()); }
-(rule__TableNumberInterval__Group__0)
-{ after(grammarAccess.getTableNumberIntervalAccess().getGroup()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
-
-// Entry rule entryRuleTableDateDayInterval
-entryRuleTableDateDayInterval 
-:
-{ before(grammarAccess.getTableDateDayIntervalRule()); }
-	 ruleTableDateDayInterval
-{ after(grammarAccess.getTableDateDayIntervalRule()); } 
-	 EOF 
-;
-
-// Rule TableDateDayInterval
-ruleTableDateDayInterval
-    @init {
-		int stackSize = keepStackSize();
-    }
-	:
-(
-{ before(grammarAccess.getTableDateDayIntervalAccess().getGroup()); }
-(rule__TableDateDayInterval__Group__0)
-{ after(grammarAccess.getTableDateDayIntervalAccess().getGroup()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
-
-// Entry rule entryRuleTableLookup
-entryRuleTableLookup 
-:
-{ before(grammarAccess.getTableLookupRule()); }
-	 ruleTableLookup
-{ after(grammarAccess.getTableLookupRule()); } 
-	 EOF 
-;
-
-// Rule TableLookup
-ruleTableLookup
-    @init {
-		int stackSize = keepStackSize();
-    }
-	:
-(
-{ before(grammarAccess.getTableLookupAccess().getAlternatives()); }
-(rule__TableLookup__Alternatives)
-{ after(grammarAccess.getTableLookupAccess().getAlternatives()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
-
-// Entry rule entryRuleTableNumberLookup
-entryRuleTableNumberLookup 
-:
-{ before(grammarAccess.getTableNumberLookupRule()); }
-	 ruleTableNumberLookup
-{ after(grammarAccess.getTableNumberLookupRule()); } 
-	 EOF 
-;
-
-// Rule TableNumberLookup
-ruleTableNumberLookup
-    @init {
-		int stackSize = keepStackSize();
-    }
-	:
-(
-{ before(grammarAccess.getTableNumberLookupAccess().getGroup()); }
-(rule__TableNumberLookup__Group__0)
-{ after(grammarAccess.getTableNumberLookupAccess().getGroup()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
-
-// Entry rule entryRuleTableStringLookup
-entryRuleTableStringLookup 
-:
-{ before(grammarAccess.getTableStringLookupRule()); }
-	 ruleTableStringLookup
-{ after(grammarAccess.getTableStringLookupRule()); } 
-	 EOF 
-;
-
-// Rule TableStringLookup
-ruleTableStringLookup
-    @init {
-		int stackSize = keepStackSize();
-    }
-	:
-(
-{ before(grammarAccess.getTableStringLookupAccess().getGroup()); }
-(rule__TableStringLookup__Group__0)
-{ after(grammarAccess.getTableStringLookupAccess().getGroup()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
-
-// Entry rule entryRuleTableDateDayLookup
-entryRuleTableDateDayLookup 
-:
-{ before(grammarAccess.getTableDateDayLookupRule()); }
-	 ruleTableDateDayLookup
-{ after(grammarAccess.getTableDateDayLookupRule()); } 
-	 EOF 
-;
-
-// Rule TableDateDayLookup
-ruleTableDateDayLookup
-    @init {
-		int stackSize = keepStackSize();
-    }
-	:
-(
-{ before(grammarAccess.getTableDateDayLookupAccess().getGroup()); }
-(rule__TableDateDayLookup__Group__0)
-{ after(grammarAccess.getTableDateDayLookupAccess().getGroup()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
-
-// Entry rule entryRuleTableRangeElement
-entryRuleTableRangeElement 
-:
-{ before(grammarAccess.getTableRangeElementRule()); }
-	 ruleTableRangeElement
-{ after(grammarAccess.getTableRangeElementRule()); } 
-	 EOF 
-;
-
-// Rule TableRangeElement
-ruleTableRangeElement
-    @init {
-		int stackSize = keepStackSize();
-    }
-	:
-(
-{ before(grammarAccess.getTableRangeElementAccess().getAlternatives()); }
-(rule__TableRangeElement__Alternatives)
-{ after(grammarAccess.getTableRangeElementAccess().getAlternatives()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
-
-// Entry rule entryRuleSignedNumber
-entryRuleSignedNumber 
-:
-{ before(grammarAccess.getSignedNumberRule()); }
-	 ruleSignedNumber
-{ after(grammarAccess.getSignedNumberRule()); } 
-	 EOF 
-;
-
-// Rule SignedNumber
-ruleSignedNumber
-    @init {
-		int stackSize = keepStackSize();
-    }
-	:
-(
-{ before(grammarAccess.getSignedNumberAccess().getGroup()); }
-(rule__SignedNumber__Group__0)
-{ after(grammarAccess.getSignedNumberAccess().getGroup()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
-
-// Entry rule entryRuleTableTextColor
-entryRuleTableTextColor 
-:
-{ before(grammarAccess.getTableTextColorRule()); }
-	 ruleTableTextColor
-{ after(grammarAccess.getTableTextColorRule()); } 
-	 EOF 
-;
-
-// Rule TableTextColor
-ruleTableTextColor
-    @init {
-		int stackSize = keepStackSize();
-    }
-	:
-(
-{ before(grammarAccess.getTableTextColorAccess().getGroup()); }
-(rule__TableTextColor__Group__0)
-{ after(grammarAccess.getTableTextColorAccess().getGroup()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
-
-// Entry rule entryRuleTableCellColor
-entryRuleTableCellColor 
-:
-{ before(grammarAccess.getTableCellColorRule()); }
-	 ruleTableCellColor
-{ after(grammarAccess.getTableCellColorRule()); } 
-	 EOF 
-;
-
-// Rule TableCellColor
-ruleTableCellColor
-    @init {
-		int stackSize = keepStackSize();
-    }
-	:
-(
-{ before(grammarAccess.getTableCellColorAccess().getGroup()); }
-(rule__TableCellColor__Group__0)
-{ after(grammarAccess.getTableCellColorAccess().getGroup()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
-
-// Entry rule entryRuleTableIcon
-entryRuleTableIcon 
-:
-{ before(grammarAccess.getTableIconRule()); }
-	 ruleTableIcon
-{ after(grammarAccess.getTableIconRule()); } 
-	 EOF 
-;
-
-// Rule TableIcon
-ruleTableIcon
-    @init {
-		int stackSize = keepStackSize();
-    }
-	:
-(
-{ before(grammarAccess.getTableIconAccess().getGroup()); }
-(rule__TableIcon__Group__0)
-{ after(grammarAccess.getTableIconAccess().getGroup()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
-
-// Entry rule entryRuleTableTrend
-entryRuleTableTrend 
-:
-{ before(grammarAccess.getTableTrendRule()); }
-	 ruleTableTrend
-{ after(grammarAccess.getTableTrendRule()); } 
-	 EOF 
-;
-
-// Rule TableTrend
-ruleTableTrend
-    @init {
-		int stackSize = keepStackSize();
-    }
-	:
-(
-{ before(grammarAccess.getTableTrendAccess().getGroup()); }
-(rule__TableTrend__Group__0)
-{ after(grammarAccess.getTableTrendAccess().getGroup()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
-
-// Entry rule entryRuleTitle
-entryRuleTitle 
-:
-{ before(grammarAccess.getTitleRule()); }
-	 ruleTitle
-{ after(grammarAccess.getTitleRule()); } 
-	 EOF 
-;
-
-// Rule Title
-ruleTitle
-    @init {
-		int stackSize = keepStackSize();
-    }
-	:
-(
-{ before(grammarAccess.getTitleAccess().getGroup()); }
-(rule__Title__Group__0)
-{ after(grammarAccess.getTitleAccess().getGroup()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
-
-// Entry rule entryRuleSubTitle
-entryRuleSubTitle 
-:
-{ before(grammarAccess.getSubTitleRule()); }
-	 ruleSubTitle
-{ after(grammarAccess.getSubTitleRule()); } 
-	 EOF 
-;
-
-// Rule SubTitle
-ruleSubTitle
-    @init {
-		int stackSize = keepStackSize();
-    }
-	:
-(
-{ before(grammarAccess.getSubTitleAccess().getGroup()); }
-(rule__SubTitle__Group__0)
-{ after(grammarAccess.getSubTitleAccess().getGroup()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
-
-// Entry rule entryRuleSubSubTitle
-entryRuleSubSubTitle 
-:
-{ before(grammarAccess.getSubSubTitleRule()); }
-	 ruleSubSubTitle
-{ after(grammarAccess.getSubSubTitleRule()); } 
-	 EOF 
-;
-
-// Rule SubSubTitle
-ruleSubSubTitle
-    @init {
-		int stackSize = keepStackSize();
-    }
-	:
-(
-{ before(grammarAccess.getSubSubTitleAccess().getGroup()); }
-(rule__SubSubTitle__Group__0)
-{ after(grammarAccess.getSubSubTitleAccess().getGroup()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
-
-// Entry rule entryRuleLabel
-entryRuleLabel 
-:
-{ before(grammarAccess.getLabelRule()); }
-	 ruleLabel
-{ after(grammarAccess.getLabelRule()); } 
-	 EOF 
-;
-
-// Rule Label
-ruleLabel
-    @init {
-		int stackSize = keepStackSize();
-    }
-	:
-(
-{ before(grammarAccess.getLabelAccess().getGroup()); }
-(rule__Label__Group__0)
-{ after(grammarAccess.getLabelAccess().getGroup()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
-
-// Entry rule entryRuleText
-entryRuleText 
-:
-{ before(grammarAccess.getTextRule()); }
-	 ruleText
-{ after(grammarAccess.getTextRule()); } 
-	 EOF 
-;
-
-// Rule Text
-ruleText
-    @init {
-		int stackSize = keepStackSize();
-    }
-	:
-(
-{ before(grammarAccess.getTextAccess().getGroup()); }
-(rule__Text__Group__0)
-{ after(grammarAccess.getTextAccess().getGroup()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
-
-// Entry rule entryRuleAutoText
-entryRuleAutoText 
-:
-{ before(grammarAccess.getAutoTextRule()); }
-	 ruleAutoText
-{ after(grammarAccess.getAutoTextRule()); } 
-	 EOF 
-;
-
-// Rule AutoText
-ruleAutoText
-    @init {
-		int stackSize = keepStackSize();
-    }
-	:
-(
-{ before(grammarAccess.getAutoTextAccess().getGroup()); }
-(rule__AutoText__Group__0)
-{ after(grammarAccess.getAutoTextAccess().getGroup()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
-
-// Entry rule entryRuleImage
-entryRuleImage 
-:
-{ before(grammarAccess.getImageRule()); }
-	 ruleImage
-{ after(grammarAccess.getImageRule()); } 
-	 EOF 
-;
-
-// Rule Image
-ruleImage
-    @init {
-		int stackSize = keepStackSize();
-    }
-	:
-(
-{ before(grammarAccess.getImageAccess().getGroup()); }
-(rule__Image__Group__0)
-{ after(grammarAccess.getImageAccess().getGroup()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
-
-// Entry rule entryRuleReportImport
-entryRuleReportImport 
-:
-{ before(grammarAccess.getReportImportRule()); }
-	 ruleReportImport
-{ after(grammarAccess.getReportImportRule()); } 
-	 EOF 
-;
-
-// Rule ReportImport
-ruleReportImport
-    @init {
-		int stackSize = keepStackSize();
-    }
-	:
-(
-{ before(grammarAccess.getReportImportAccess().getGroup()); }
-(rule__ReportImport__Group__0)
-{ after(grammarAccess.getReportImportAccess().getGroup()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
-
-// Entry rule entryRuleReportQualifiedNameWithWildCard
-entryRuleReportQualifiedNameWithWildCard 
-:
-{ before(grammarAccess.getReportQualifiedNameWithWildCardRule()); }
-	 ruleReportQualifiedNameWithWildCard
-{ after(grammarAccess.getReportQualifiedNameWithWildCardRule()); } 
-	 EOF 
-;
-
-// Rule ReportQualifiedNameWithWildCard
-ruleReportQualifiedNameWithWildCard
-    @init {
-		int stackSize = keepStackSize();
-    }
-	:
-(
-{ before(grammarAccess.getReportQualifiedNameWithWildCardAccess().getGroup()); }
-(rule__ReportQualifiedNameWithWildCard__Group__0)
-{ after(grammarAccess.getReportQualifiedNameWithWildCardAccess().getGroup()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
-
-// Entry rule entryRuleTRANSLATABLESTRING
-entryRuleTRANSLATABLESTRING 
-:
-{ before(grammarAccess.getTRANSLATABLESTRINGRule()); }
-	 ruleTRANSLATABLESTRING
-{ after(grammarAccess.getTRANSLATABLESTRINGRule()); } 
-	 EOF 
-;
-
-// Rule TRANSLATABLESTRING
-ruleTRANSLATABLESTRING
-    @init {
-		int stackSize = keepStackSize();
-    }
-	:
-(
-{ before(grammarAccess.getTRANSLATABLESTRINGAccess().getSTRINGTerminalRuleCall()); }
-	RULE_STRING
-{ after(grammarAccess.getTRANSLATABLESTRINGAccess().getSTRINGTerminalRuleCall()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
-
-// Entry rule entryRuleXAnnotation
-entryRuleXAnnotation 
-:
-{ before(grammarAccess.getXAnnotationRule()); }
-	 ruleXAnnotation
-{ after(grammarAccess.getXAnnotationRule()); } 
-	 EOF 
-;
-
-// Rule XAnnotation
-ruleXAnnotation
-    @init {
-		int stackSize = keepStackSize();
-    }
-	:
-(
-{ before(grammarAccess.getXAnnotationAccess().getGroup()); }
-(rule__XAnnotation__Group__0)
-{ after(grammarAccess.getXAnnotationAccess().getGroup()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
-
-// Entry rule entryRuleXAnnotationElementValuePair
-entryRuleXAnnotationElementValuePair 
-:
-{ before(grammarAccess.getXAnnotationElementValuePairRule()); }
-	 ruleXAnnotationElementValuePair
-{ after(grammarAccess.getXAnnotationElementValuePairRule()); } 
-	 EOF 
-;
-
-// Rule XAnnotationElementValuePair
-ruleXAnnotationElementValuePair
-    @init {
-		int stackSize = keepStackSize();
-    }
-	:
-(
-{ before(grammarAccess.getXAnnotationElementValuePairAccess().getGroup()); }
-(rule__XAnnotationElementValuePair__Group__0)
-{ after(grammarAccess.getXAnnotationElementValuePairAccess().getGroup()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
-
-// Entry rule entryRuleXAnnotationElementValueOrCommaList
-entryRuleXAnnotationElementValueOrCommaList 
-:
-{ before(grammarAccess.getXAnnotationElementValueOrCommaListRule()); }
-	 ruleXAnnotationElementValueOrCommaList
-{ after(grammarAccess.getXAnnotationElementValueOrCommaListRule()); } 
-	 EOF 
-;
-
-// Rule XAnnotationElementValueOrCommaList
-ruleXAnnotationElementValueOrCommaList
-    @init {
-		int stackSize = keepStackSize();
-    }
-	:
-(
-{ before(grammarAccess.getXAnnotationElementValueOrCommaListAccess().getAlternatives()); }
-(rule__XAnnotationElementValueOrCommaList__Alternatives)
-{ after(grammarAccess.getXAnnotationElementValueOrCommaListAccess().getAlternatives()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
-
-// Entry rule entryRuleXAnnotationElementValue
-entryRuleXAnnotationElementValue 
-:
-{ before(grammarAccess.getXAnnotationElementValueRule()); }
-	 ruleXAnnotationElementValue
-{ after(grammarAccess.getXAnnotationElementValueRule()); } 
-	 EOF 
-;
-
-// Rule XAnnotationElementValue
-ruleXAnnotationElementValue
-    @init {
-		int stackSize = keepStackSize();
-    }
-	:
-(
-{ before(grammarAccess.getXAnnotationElementValueAccess().getAlternatives()); }
-(rule__XAnnotationElementValue__Alternatives)
-{ after(grammarAccess.getXAnnotationElementValueAccess().getAlternatives()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
-
-// Entry rule entryRuleXAnnotationOrExpression
-entryRuleXAnnotationOrExpression 
-:
-{ before(grammarAccess.getXAnnotationOrExpressionRule()); }
-	 ruleXAnnotationOrExpression
-{ after(grammarAccess.getXAnnotationOrExpressionRule()); } 
-	 EOF 
-;
-
-// Rule XAnnotationOrExpression
-ruleXAnnotationOrExpression
-    @init {
-		int stackSize = keepStackSize();
-    }
-	:
-(
-{ before(grammarAccess.getXAnnotationOrExpressionAccess().getAlternatives()); }
-(rule__XAnnotationOrExpression__Alternatives)
-{ after(grammarAccess.getXAnnotationOrExpressionAccess().getAlternatives()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
-
-// Entry rule entryRuleXExpression
-entryRuleXExpression 
-:
-{ before(grammarAccess.getXExpressionRule()); }
-	 ruleXExpression
-{ after(grammarAccess.getXExpressionRule()); } 
-	 EOF 
-;
-
-// Rule XExpression
-ruleXExpression
-    @init {
-		int stackSize = keepStackSize();
-    }
-	:
-(
-{ before(grammarAccess.getXExpressionAccess().getXAssignmentParserRuleCall()); }
-	ruleXAssignment
-{ after(grammarAccess.getXExpressionAccess().getXAssignmentParserRuleCall()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
-
-// Entry rule entryRuleXAssignment
-entryRuleXAssignment 
-:
-{ before(grammarAccess.getXAssignmentRule()); }
-	 ruleXAssignment
-{ after(grammarAccess.getXAssignmentRule()); } 
-	 EOF 
-;
-
-// Rule XAssignment
-ruleXAssignment
-    @init {
-		int stackSize = keepStackSize();
-    }
-	:
-(
-{ before(grammarAccess.getXAssignmentAccess().getAlternatives()); }
-(rule__XAssignment__Alternatives)
-{ after(grammarAccess.getXAssignmentAccess().getAlternatives()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
-
-// Entry rule entryRuleOpSingleAssign
-entryRuleOpSingleAssign 
-:
-{ before(grammarAccess.getOpSingleAssignRule()); }
-	 ruleOpSingleAssign
-{ after(grammarAccess.getOpSingleAssignRule()); } 
-	 EOF 
-;
-
-// Rule OpSingleAssign
-ruleOpSingleAssign
-    @init {
-		int stackSize = keepStackSize();
-    }
-	:
-(
-{ before(grammarAccess.getOpSingleAssignAccess().getEqualsSignKeyword()); }
-
-	'=' 
-
-{ after(grammarAccess.getOpSingleAssignAccess().getEqualsSignKeyword()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
-
-// Entry rule entryRuleOpMultiAssign
-entryRuleOpMultiAssign 
-:
-{ before(grammarAccess.getOpMultiAssignRule()); }
-	 ruleOpMultiAssign
-{ after(grammarAccess.getOpMultiAssignRule()); } 
-	 EOF 
-;
-
-// Rule OpMultiAssign
-ruleOpMultiAssign
-    @init {
-		int stackSize = keepStackSize();
-    }
-	:
-(
-{ before(grammarAccess.getOpMultiAssignAccess().getAlternatives()); }
-(rule__OpMultiAssign__Alternatives)
-{ after(grammarAccess.getOpMultiAssignAccess().getAlternatives()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
-
-// Entry rule entryRuleXOrExpression
-entryRuleXOrExpression 
-:
-{ before(grammarAccess.getXOrExpressionRule()); }
-	 ruleXOrExpression
-{ after(grammarAccess.getXOrExpressionRule()); } 
-	 EOF 
-;
-
-// Rule XOrExpression
-ruleXOrExpression
-    @init {
-		int stackSize = keepStackSize();
-    }
-	:
-(
-{ before(grammarAccess.getXOrExpressionAccess().getGroup()); }
-(rule__XOrExpression__Group__0)
-{ after(grammarAccess.getXOrExpressionAccess().getGroup()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
-
-// Entry rule entryRuleOpOr
-entryRuleOpOr 
-:
-{ before(grammarAccess.getOpOrRule()); }
-	 ruleOpOr
-{ after(grammarAccess.getOpOrRule()); } 
-	 EOF 
-;
-
-// Rule OpOr
-ruleOpOr
-    @init {
-		int stackSize = keepStackSize();
-    }
-	:
-(
-{ before(grammarAccess.getOpOrAccess().getVerticalLineVerticalLineKeyword()); }
-
-	'||' 
-
-{ after(grammarAccess.getOpOrAccess().getVerticalLineVerticalLineKeyword()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
-
-// Entry rule entryRuleXAndExpression
-entryRuleXAndExpression 
-:
-{ before(grammarAccess.getXAndExpressionRule()); }
-	 ruleXAndExpression
-{ after(grammarAccess.getXAndExpressionRule()); } 
-	 EOF 
-;
-
-// Rule XAndExpression
-ruleXAndExpression
-    @init {
-		int stackSize = keepStackSize();
-    }
-	:
-(
-{ before(grammarAccess.getXAndExpressionAccess().getGroup()); }
-(rule__XAndExpression__Group__0)
-{ after(grammarAccess.getXAndExpressionAccess().getGroup()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
-
-// Entry rule entryRuleOpAnd
-entryRuleOpAnd 
-:
-{ before(grammarAccess.getOpAndRule()); }
-	 ruleOpAnd
-{ after(grammarAccess.getOpAndRule()); } 
-	 EOF 
-;
-
-// Rule OpAnd
-ruleOpAnd
-    @init {
-		int stackSize = keepStackSize();
-    }
-	:
-(
-{ before(grammarAccess.getOpAndAccess().getAmpersandAmpersandKeyword()); }
-
-	'&&' 
-
-{ after(grammarAccess.getOpAndAccess().getAmpersandAmpersandKeyword()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
-
-// Entry rule entryRuleXEqualityExpression
-entryRuleXEqualityExpression 
-:
-{ before(grammarAccess.getXEqualityExpressionRule()); }
-	 ruleXEqualityExpression
-{ after(grammarAccess.getXEqualityExpressionRule()); } 
-	 EOF 
-;
-
-// Rule XEqualityExpression
-ruleXEqualityExpression
-    @init {
-		int stackSize = keepStackSize();
-    }
-	:
-(
-{ before(grammarAccess.getXEqualityExpressionAccess().getGroup()); }
-(rule__XEqualityExpression__Group__0)
-{ after(grammarAccess.getXEqualityExpressionAccess().getGroup()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
-
-// Entry rule entryRuleOpEquality
-entryRuleOpEquality 
-:
-{ before(grammarAccess.getOpEqualityRule()); }
-	 ruleOpEquality
-{ after(grammarAccess.getOpEqualityRule()); } 
-	 EOF 
-;
-
-// Rule OpEquality
-ruleOpEquality
-    @init {
-		int stackSize = keepStackSize();
-    }
-	:
-(
-{ before(grammarAccess.getOpEqualityAccess().getAlternatives()); }
-(rule__OpEquality__Alternatives)
-{ after(grammarAccess.getOpEqualityAccess().getAlternatives()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
-
-// Entry rule entryRuleXRelationalExpression
-entryRuleXRelationalExpression 
-:
-{ before(grammarAccess.getXRelationalExpressionRule()); }
-	 ruleXRelationalExpression
-{ after(grammarAccess.getXRelationalExpressionRule()); } 
-	 EOF 
-;
-
-// Rule XRelationalExpression
-ruleXRelationalExpression
-    @init {
-		int stackSize = keepStackSize();
-    }
-	:
-(
-{ before(grammarAccess.getXRelationalExpressionAccess().getGroup()); }
-(rule__XRelationalExpression__Group__0)
-{ after(grammarAccess.getXRelationalExpressionAccess().getGroup()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
-
-// Entry rule entryRuleOpCompare
-entryRuleOpCompare 
-:
-{ before(grammarAccess.getOpCompareRule()); }
-	 ruleOpCompare
-{ after(grammarAccess.getOpCompareRule()); } 
-	 EOF 
-;
-
-// Rule OpCompare
-ruleOpCompare
-    @init {
-		int stackSize = keepStackSize();
-    }
-	:
-(
-{ before(grammarAccess.getOpCompareAccess().getAlternatives()); }
-(rule__OpCompare__Alternatives)
-{ after(grammarAccess.getOpCompareAccess().getAlternatives()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
-
-// Entry rule entryRuleXOtherOperatorExpression
-entryRuleXOtherOperatorExpression 
-:
-{ before(grammarAccess.getXOtherOperatorExpressionRule()); }
-	 ruleXOtherOperatorExpression
-{ after(grammarAccess.getXOtherOperatorExpressionRule()); } 
-	 EOF 
-;
-
-// Rule XOtherOperatorExpression
-ruleXOtherOperatorExpression
-    @init {
-		int stackSize = keepStackSize();
-    }
-	:
-(
-{ before(grammarAccess.getXOtherOperatorExpressionAccess().getGroup()); }
-(rule__XOtherOperatorExpression__Group__0)
-{ after(grammarAccess.getXOtherOperatorExpressionAccess().getGroup()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
-
-// Entry rule entryRuleOpOther
-entryRuleOpOther 
-:
-{ before(grammarAccess.getOpOtherRule()); }
-	 ruleOpOther
-{ after(grammarAccess.getOpOtherRule()); } 
-	 EOF 
-;
-
-// Rule OpOther
-ruleOpOther
-    @init {
-		int stackSize = keepStackSize();
-    }
-	:
-(
-{ before(grammarAccess.getOpOtherAccess().getAlternatives()); }
-(rule__OpOther__Alternatives)
-{ after(grammarAccess.getOpOtherAccess().getAlternatives()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
-
-// Entry rule entryRuleXAdditiveExpression
-entryRuleXAdditiveExpression 
-:
-{ before(grammarAccess.getXAdditiveExpressionRule()); }
-	 ruleXAdditiveExpression
-{ after(grammarAccess.getXAdditiveExpressionRule()); } 
-	 EOF 
-;
-
-// Rule XAdditiveExpression
-ruleXAdditiveExpression
-    @init {
-		int stackSize = keepStackSize();
-    }
-	:
-(
-{ before(grammarAccess.getXAdditiveExpressionAccess().getGroup()); }
-(rule__XAdditiveExpression__Group__0)
-{ after(grammarAccess.getXAdditiveExpressionAccess().getGroup()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
-
-// Entry rule entryRuleOpAdd
-entryRuleOpAdd 
-:
-{ before(grammarAccess.getOpAddRule()); }
-	 ruleOpAdd
-{ after(grammarAccess.getOpAddRule()); } 
-	 EOF 
-;
-
-// Rule OpAdd
-ruleOpAdd
-    @init {
-		int stackSize = keepStackSize();
-    }
-	:
-(
-{ before(grammarAccess.getOpAddAccess().getAlternatives()); }
-(rule__OpAdd__Alternatives)
-{ after(grammarAccess.getOpAddAccess().getAlternatives()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
-
-// Entry rule entryRuleXMultiplicativeExpression
-entryRuleXMultiplicativeExpression 
-:
-{ before(grammarAccess.getXMultiplicativeExpressionRule()); }
-	 ruleXMultiplicativeExpression
-{ after(grammarAccess.getXMultiplicativeExpressionRule()); } 
-	 EOF 
-;
-
-// Rule XMultiplicativeExpression
-ruleXMultiplicativeExpression
-    @init {
-		int stackSize = keepStackSize();
-    }
-	:
-(
-{ before(grammarAccess.getXMultiplicativeExpressionAccess().getGroup()); }
-(rule__XMultiplicativeExpression__Group__0)
-{ after(grammarAccess.getXMultiplicativeExpressionAccess().getGroup()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
-
-// Entry rule entryRuleOpMulti
-entryRuleOpMulti 
-:
-{ before(grammarAccess.getOpMultiRule()); }
-	 ruleOpMulti
-{ after(grammarAccess.getOpMultiRule()); } 
-	 EOF 
-;
-
-// Rule OpMulti
-ruleOpMulti
-    @init {
-		int stackSize = keepStackSize();
-    }
-	:
-(
-{ before(grammarAccess.getOpMultiAccess().getAlternatives()); }
-(rule__OpMulti__Alternatives)
-{ after(grammarAccess.getOpMultiAccess().getAlternatives()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
-
-// Entry rule entryRuleXUnaryOperation
-entryRuleXUnaryOperation 
-:
-{ before(grammarAccess.getXUnaryOperationRule()); }
-	 ruleXUnaryOperation
-{ after(grammarAccess.getXUnaryOperationRule()); } 
-	 EOF 
-;
-
-// Rule XUnaryOperation
-ruleXUnaryOperation
-    @init {
-		int stackSize = keepStackSize();
-    }
-	:
-(
-{ before(grammarAccess.getXUnaryOperationAccess().getAlternatives()); }
-(rule__XUnaryOperation__Alternatives)
-{ after(grammarAccess.getXUnaryOperationAccess().getAlternatives()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
-
-// Entry rule entryRuleOpUnary
-entryRuleOpUnary 
-:
-{ before(grammarAccess.getOpUnaryRule()); }
-	 ruleOpUnary
-{ after(grammarAccess.getOpUnaryRule()); } 
-	 EOF 
-;
-
-// Rule OpUnary
-ruleOpUnary
-    @init {
-		int stackSize = keepStackSize();
-    }
-	:
-(
-{ before(grammarAccess.getOpUnaryAccess().getAlternatives()); }
-(rule__OpUnary__Alternatives)
-{ after(grammarAccess.getOpUnaryAccess().getAlternatives()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
-
-// Entry rule entryRuleXCastedExpression
-entryRuleXCastedExpression 
-:
-{ before(grammarAccess.getXCastedExpressionRule()); }
-	 ruleXCastedExpression
-{ after(grammarAccess.getXCastedExpressionRule()); } 
-	 EOF 
-;
-
-// Rule XCastedExpression
-ruleXCastedExpression
-    @init {
-		int stackSize = keepStackSize();
-    }
-	:
-(
-{ before(grammarAccess.getXCastedExpressionAccess().getGroup()); }
-(rule__XCastedExpression__Group__0)
-{ after(grammarAccess.getXCastedExpressionAccess().getGroup()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
-
-// Entry rule entryRuleXPostfixOperation
-entryRuleXPostfixOperation 
-:
-{ before(grammarAccess.getXPostfixOperationRule()); }
-	 ruleXPostfixOperation
-{ after(grammarAccess.getXPostfixOperationRule()); } 
-	 EOF 
-;
-
-// Rule XPostfixOperation
-ruleXPostfixOperation
-    @init {
-		int stackSize = keepStackSize();
-    }
-	:
-(
-{ before(grammarAccess.getXPostfixOperationAccess().getGroup()); }
-(rule__XPostfixOperation__Group__0)
-{ after(grammarAccess.getXPostfixOperationAccess().getGroup()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
-
-// Entry rule entryRuleOpPostfix
-entryRuleOpPostfix 
-:
-{ before(grammarAccess.getOpPostfixRule()); }
-	 ruleOpPostfix
-{ after(grammarAccess.getOpPostfixRule()); } 
-	 EOF 
-;
-
-// Rule OpPostfix
-ruleOpPostfix
-    @init {
-		int stackSize = keepStackSize();
-    }
-	:
-(
-{ before(grammarAccess.getOpPostfixAccess().getAlternatives()); }
-(rule__OpPostfix__Alternatives)
-{ after(grammarAccess.getOpPostfixAccess().getAlternatives()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
-
-// Entry rule entryRuleXMemberFeatureCall
-entryRuleXMemberFeatureCall 
-:
-{ before(grammarAccess.getXMemberFeatureCallRule()); }
-	 ruleXMemberFeatureCall
-{ after(grammarAccess.getXMemberFeatureCallRule()); } 
-	 EOF 
-;
-
-// Rule XMemberFeatureCall
-ruleXMemberFeatureCall
-    @init {
-		int stackSize = keepStackSize();
-    }
-	:
-(
-{ before(grammarAccess.getXMemberFeatureCallAccess().getGroup()); }
-(rule__XMemberFeatureCall__Group__0)
-{ after(grammarAccess.getXMemberFeatureCallAccess().getGroup()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
-
-// Entry rule entryRuleXPrimaryExpression
-entryRuleXPrimaryExpression 
-:
-{ before(grammarAccess.getXPrimaryExpressionRule()); }
-	 ruleXPrimaryExpression
-{ after(grammarAccess.getXPrimaryExpressionRule()); } 
-	 EOF 
-;
-
-// Rule XPrimaryExpression
-ruleXPrimaryExpression
-    @init {
-		int stackSize = keepStackSize();
-    }
-	:
-(
-{ before(grammarAccess.getXPrimaryExpressionAccess().getAlternatives()); }
-(rule__XPrimaryExpression__Alternatives)
-{ after(grammarAccess.getXPrimaryExpressionAccess().getAlternatives()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
-
-// Entry rule entryRuleXLiteral
-entryRuleXLiteral 
-:
-{ before(grammarAccess.getXLiteralRule()); }
-	 ruleXLiteral
-{ after(grammarAccess.getXLiteralRule()); } 
-	 EOF 
-;
-
-// Rule XLiteral
-ruleXLiteral
-    @init {
-		int stackSize = keepStackSize();
-    }
-	:
-(
-{ before(grammarAccess.getXLiteralAccess().getAlternatives()); }
-(rule__XLiteral__Alternatives)
-{ after(grammarAccess.getXLiteralAccess().getAlternatives()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
-
-// Entry rule entryRuleXCollectionLiteral
-entryRuleXCollectionLiteral 
-:
-{ before(grammarAccess.getXCollectionLiteralRule()); }
-	 ruleXCollectionLiteral
-{ after(grammarAccess.getXCollectionLiteralRule()); } 
-	 EOF 
-;
-
-// Rule XCollectionLiteral
-ruleXCollectionLiteral
-    @init {
-		int stackSize = keepStackSize();
-    }
-	:
-(
-{ before(grammarAccess.getXCollectionLiteralAccess().getAlternatives()); }
-(rule__XCollectionLiteral__Alternatives)
-{ after(grammarAccess.getXCollectionLiteralAccess().getAlternatives()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
-
-// Entry rule entryRuleXSetLiteral
-entryRuleXSetLiteral 
-:
-{ before(grammarAccess.getXSetLiteralRule()); }
-	 ruleXSetLiteral
-{ after(grammarAccess.getXSetLiteralRule()); } 
-	 EOF 
-;
-
-// Rule XSetLiteral
-ruleXSetLiteral
-    @init {
-		int stackSize = keepStackSize();
-    }
-	:
-(
-{ before(grammarAccess.getXSetLiteralAccess().getGroup()); }
-(rule__XSetLiteral__Group__0)
-{ after(grammarAccess.getXSetLiteralAccess().getGroup()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
-
-// Entry rule entryRuleXListLiteral
-entryRuleXListLiteral 
-:
-{ before(grammarAccess.getXListLiteralRule()); }
-	 ruleXListLiteral
-{ after(grammarAccess.getXListLiteralRule()); } 
-	 EOF 
-;
-
-// Rule XListLiteral
-ruleXListLiteral
-    @init {
-		int stackSize = keepStackSize();
-    }
-	:
-(
-{ before(grammarAccess.getXListLiteralAccess().getGroup()); }
-(rule__XListLiteral__Group__0)
-{ after(grammarAccess.getXListLiteralAccess().getGroup()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
-
-// Entry rule entryRuleXClosure
-entryRuleXClosure 
-:
-{ before(grammarAccess.getXClosureRule()); }
-	 ruleXClosure
-{ after(grammarAccess.getXClosureRule()); } 
-	 EOF 
-;
-
-// Rule XClosure
-ruleXClosure
-    @init {
-		int stackSize = keepStackSize();
-    }
-	:
-(
-{ before(grammarAccess.getXClosureAccess().getGroup()); }
-(rule__XClosure__Group__0)
-{ after(grammarAccess.getXClosureAccess().getGroup()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
-
-// Entry rule entryRuleXExpressionInClosure
-entryRuleXExpressionInClosure 
-:
-{ before(grammarAccess.getXExpressionInClosureRule()); }
-	 ruleXExpressionInClosure
-{ after(grammarAccess.getXExpressionInClosureRule()); } 
-	 EOF 
-;
-
-// Rule XExpressionInClosure
-ruleXExpressionInClosure
-    @init {
-		int stackSize = keepStackSize();
-    }
-	:
-(
-{ before(grammarAccess.getXExpressionInClosureAccess().getGroup()); }
-(rule__XExpressionInClosure__Group__0)
-{ after(grammarAccess.getXExpressionInClosureAccess().getGroup()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
-
-// Entry rule entryRuleXShortClosure
-entryRuleXShortClosure 
-:
-{ before(grammarAccess.getXShortClosureRule()); }
-	 ruleXShortClosure
-{ after(grammarAccess.getXShortClosureRule()); } 
-	 EOF 
-;
-
-// Rule XShortClosure
-ruleXShortClosure
-    @init {
-		int stackSize = keepStackSize();
-    }
-	:
-(
-{ before(grammarAccess.getXShortClosureAccess().getGroup()); }
-(rule__XShortClosure__Group__0)
-{ after(grammarAccess.getXShortClosureAccess().getGroup()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
-
-// Entry rule entryRuleXParenthesizedExpression
-entryRuleXParenthesizedExpression 
-:
-{ before(grammarAccess.getXParenthesizedExpressionRule()); }
-	 ruleXParenthesizedExpression
-{ after(grammarAccess.getXParenthesizedExpressionRule()); } 
-	 EOF 
-;
-
-// Rule XParenthesizedExpression
-ruleXParenthesizedExpression
-    @init {
-		int stackSize = keepStackSize();
-    }
-	:
-(
-{ before(grammarAccess.getXParenthesizedExpressionAccess().getGroup()); }
-(rule__XParenthesizedExpression__Group__0)
-{ after(grammarAccess.getXParenthesizedExpressionAccess().getGroup()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
-
-// Entry rule entryRuleXIfExpression
-entryRuleXIfExpression 
-:
-{ before(grammarAccess.getXIfExpressionRule()); }
-	 ruleXIfExpression
-{ after(grammarAccess.getXIfExpressionRule()); } 
-	 EOF 
-;
-
-// Rule XIfExpression
-ruleXIfExpression
-    @init {
-		int stackSize = keepStackSize();
-    }
-	:
-(
-{ before(grammarAccess.getXIfExpressionAccess().getGroup()); }
-(rule__XIfExpression__Group__0)
-{ after(grammarAccess.getXIfExpressionAccess().getGroup()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
-
-// Entry rule entryRuleXSwitchExpression
-entryRuleXSwitchExpression 
-:
-{ before(grammarAccess.getXSwitchExpressionRule()); }
-	 ruleXSwitchExpression
-{ after(grammarAccess.getXSwitchExpressionRule()); } 
-	 EOF 
-;
-
-// Rule XSwitchExpression
-ruleXSwitchExpression
-    @init {
-		int stackSize = keepStackSize();
-    }
-	:
-(
-{ before(grammarAccess.getXSwitchExpressionAccess().getGroup()); }
-(rule__XSwitchExpression__Group__0)
-{ after(grammarAccess.getXSwitchExpressionAccess().getGroup()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
-
-// Entry rule entryRuleXCasePart
-entryRuleXCasePart 
-:
-{ before(grammarAccess.getXCasePartRule()); }
-	 ruleXCasePart
-{ after(grammarAccess.getXCasePartRule()); } 
-	 EOF 
-;
-
-// Rule XCasePart
-ruleXCasePart
-    @init {
-		int stackSize = keepStackSize();
-    }
-	:
-(
-{ before(grammarAccess.getXCasePartAccess().getGroup()); }
-(rule__XCasePart__Group__0)
-{ after(grammarAccess.getXCasePartAccess().getGroup()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
-
-// Entry rule entryRuleXForLoopExpression
-entryRuleXForLoopExpression 
-:
-{ before(grammarAccess.getXForLoopExpressionRule()); }
-	 ruleXForLoopExpression
-{ after(grammarAccess.getXForLoopExpressionRule()); } 
-	 EOF 
-;
-
-// Rule XForLoopExpression
-ruleXForLoopExpression
-    @init {
-		int stackSize = keepStackSize();
-    }
-	:
-(
-{ before(grammarAccess.getXForLoopExpressionAccess().getGroup()); }
-(rule__XForLoopExpression__Group__0)
-{ after(grammarAccess.getXForLoopExpressionAccess().getGroup()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
-
-// Entry rule entryRuleXBasicForLoopExpression
-entryRuleXBasicForLoopExpression 
-:
-{ before(grammarAccess.getXBasicForLoopExpressionRule()); }
-	 ruleXBasicForLoopExpression
-{ after(grammarAccess.getXBasicForLoopExpressionRule()); } 
-	 EOF 
-;
-
-// Rule XBasicForLoopExpression
-ruleXBasicForLoopExpression
-    @init {
-		int stackSize = keepStackSize();
-    }
-	:
-(
-{ before(grammarAccess.getXBasicForLoopExpressionAccess().getGroup()); }
-(rule__XBasicForLoopExpression__Group__0)
-{ after(grammarAccess.getXBasicForLoopExpressionAccess().getGroup()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
-
-// Entry rule entryRuleXWhileExpression
-entryRuleXWhileExpression 
-:
-{ before(grammarAccess.getXWhileExpressionRule()); }
-	 ruleXWhileExpression
-{ after(grammarAccess.getXWhileExpressionRule()); } 
-	 EOF 
-;
-
-// Rule XWhileExpression
-ruleXWhileExpression
-    @init {
-		int stackSize = keepStackSize();
-    }
-	:
-(
-{ before(grammarAccess.getXWhileExpressionAccess().getGroup()); }
-(rule__XWhileExpression__Group__0)
-{ after(grammarAccess.getXWhileExpressionAccess().getGroup()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
-
-// Entry rule entryRuleXDoWhileExpression
-entryRuleXDoWhileExpression 
-:
-{ before(grammarAccess.getXDoWhileExpressionRule()); }
-	 ruleXDoWhileExpression
-{ after(grammarAccess.getXDoWhileExpressionRule()); } 
-	 EOF 
-;
-
-// Rule XDoWhileExpression
-ruleXDoWhileExpression
-    @init {
-		int stackSize = keepStackSize();
-    }
-	:
-(
-{ before(grammarAccess.getXDoWhileExpressionAccess().getGroup()); }
-(rule__XDoWhileExpression__Group__0)
-{ after(grammarAccess.getXDoWhileExpressionAccess().getGroup()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
-
-// Entry rule entryRuleXBlockExpression
-entryRuleXBlockExpression 
-:
-{ before(grammarAccess.getXBlockExpressionRule()); }
-	 ruleXBlockExpression
-{ after(grammarAccess.getXBlockExpressionRule()); } 
-	 EOF 
-;
-
-// Rule XBlockExpression
-ruleXBlockExpression
-    @init {
-		int stackSize = keepStackSize();
-    }
-	:
-(
-{ before(grammarAccess.getXBlockExpressionAccess().getGroup()); }
-(rule__XBlockExpression__Group__0)
-{ after(grammarAccess.getXBlockExpressionAccess().getGroup()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
-
-// Entry rule entryRuleXExpressionOrVarDeclaration
-entryRuleXExpressionOrVarDeclaration 
-:
-{ before(grammarAccess.getXExpressionOrVarDeclarationRule()); }
-	 ruleXExpressionOrVarDeclaration
-{ after(grammarAccess.getXExpressionOrVarDeclarationRule()); } 
-	 EOF 
-;
-
-// Rule XExpressionOrVarDeclaration
-ruleXExpressionOrVarDeclaration
-    @init {
-		int stackSize = keepStackSize();
-    }
-	:
-(
-{ before(grammarAccess.getXExpressionOrVarDeclarationAccess().getAlternatives()); }
-(rule__XExpressionOrVarDeclaration__Alternatives)
-{ after(grammarAccess.getXExpressionOrVarDeclarationAccess().getAlternatives()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
-
-// Entry rule entryRuleXVariableDeclaration
-entryRuleXVariableDeclaration 
-:
-{ before(grammarAccess.getXVariableDeclarationRule()); }
-	 ruleXVariableDeclaration
-{ after(grammarAccess.getXVariableDeclarationRule()); } 
-	 EOF 
-;
-
-// Rule XVariableDeclaration
-ruleXVariableDeclaration
-    @init {
-		int stackSize = keepStackSize();
-    }
-	:
-(
-{ before(grammarAccess.getXVariableDeclarationAccess().getGroup()); }
-(rule__XVariableDeclaration__Group__0)
-{ after(grammarAccess.getXVariableDeclarationAccess().getGroup()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
-
-// Entry rule entryRuleJvmFormalParameter
-entryRuleJvmFormalParameter 
-:
-{ before(grammarAccess.getJvmFormalParameterRule()); }
-	 ruleJvmFormalParameter
-{ after(grammarAccess.getJvmFormalParameterRule()); } 
-	 EOF 
-;
-
-// Rule JvmFormalParameter
-ruleJvmFormalParameter
-    @init {
-		int stackSize = keepStackSize();
-    }
-	:
-(
-{ before(grammarAccess.getJvmFormalParameterAccess().getGroup()); }
-(rule__JvmFormalParameter__Group__0)
-{ after(grammarAccess.getJvmFormalParameterAccess().getGroup()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
-
-// Entry rule entryRuleFullJvmFormalParameter
-entryRuleFullJvmFormalParameter 
-:
-{ before(grammarAccess.getFullJvmFormalParameterRule()); }
-	 ruleFullJvmFormalParameter
-{ after(grammarAccess.getFullJvmFormalParameterRule()); } 
-	 EOF 
-;
-
-// Rule FullJvmFormalParameter
-ruleFullJvmFormalParameter
-    @init {
-		int stackSize = keepStackSize();
-    }
-	:
-(
-{ before(grammarAccess.getFullJvmFormalParameterAccess().getGroup()); }
-(rule__FullJvmFormalParameter__Group__0)
-{ after(grammarAccess.getFullJvmFormalParameterAccess().getGroup()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
-
-// Entry rule entryRuleXFeatureCall
-entryRuleXFeatureCall 
-:
-{ before(grammarAccess.getXFeatureCallRule()); }
-	 ruleXFeatureCall
-{ after(grammarAccess.getXFeatureCallRule()); } 
-	 EOF 
-;
-
-// Rule XFeatureCall
-ruleXFeatureCall
-    @init {
-		int stackSize = keepStackSize();
-    }
-	:
-(
-{ before(grammarAccess.getXFeatureCallAccess().getGroup()); }
-(rule__XFeatureCall__Group__0)
-{ after(grammarAccess.getXFeatureCallAccess().getGroup()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
-
-// Entry rule entryRuleFeatureCallID
-entryRuleFeatureCallID 
-:
-{ before(grammarAccess.getFeatureCallIDRule()); }
-	 ruleFeatureCallID
-{ after(grammarAccess.getFeatureCallIDRule()); } 
-	 EOF 
-;
-
-// Rule FeatureCallID
-ruleFeatureCallID
-    @init {
-		int stackSize = keepStackSize();
-    }
-	:
-(
-{ before(grammarAccess.getFeatureCallIDAccess().getAlternatives()); }
-(rule__FeatureCallID__Alternatives)
-{ after(grammarAccess.getFeatureCallIDAccess().getAlternatives()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
-
-// Entry rule entryRuleIdOrSuper
-entryRuleIdOrSuper 
-:
-{ before(grammarAccess.getIdOrSuperRule()); }
-	 ruleIdOrSuper
-{ after(grammarAccess.getIdOrSuperRule()); } 
-	 EOF 
-;
-
-// Rule IdOrSuper
-ruleIdOrSuper
-    @init {
-		int stackSize = keepStackSize();
-    }
-	:
-(
-{ before(grammarAccess.getIdOrSuperAccess().getAlternatives()); }
-(rule__IdOrSuper__Alternatives)
-{ after(grammarAccess.getIdOrSuperAccess().getAlternatives()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
-
-// Entry rule entryRuleXConstructorCall
-entryRuleXConstructorCall 
-:
-{ before(grammarAccess.getXConstructorCallRule()); }
-	 ruleXConstructorCall
-{ after(grammarAccess.getXConstructorCallRule()); } 
-	 EOF 
-;
-
-// Rule XConstructorCall
-ruleXConstructorCall
-    @init {
-		int stackSize = keepStackSize();
-    }
-	:
-(
-{ before(grammarAccess.getXConstructorCallAccess().getGroup()); }
-(rule__XConstructorCall__Group__0)
-{ after(grammarAccess.getXConstructorCallAccess().getGroup()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
-
-// Entry rule entryRuleXBooleanLiteral
-entryRuleXBooleanLiteral 
-:
-{ before(grammarAccess.getXBooleanLiteralRule()); }
-	 ruleXBooleanLiteral
-{ after(grammarAccess.getXBooleanLiteralRule()); } 
-	 EOF 
-;
-
-// Rule XBooleanLiteral
-ruleXBooleanLiteral
-    @init {
-		int stackSize = keepStackSize();
-    }
-	:
-(
-{ before(grammarAccess.getXBooleanLiteralAccess().getGroup()); }
-(rule__XBooleanLiteral__Group__0)
-{ after(grammarAccess.getXBooleanLiteralAccess().getGroup()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
-
-// Entry rule entryRuleXNullLiteral
-entryRuleXNullLiteral 
-:
-{ before(grammarAccess.getXNullLiteralRule()); }
-	 ruleXNullLiteral
-{ after(grammarAccess.getXNullLiteralRule()); } 
-	 EOF 
-;
-
-// Rule XNullLiteral
-ruleXNullLiteral
-    @init {
-		int stackSize = keepStackSize();
-    }
-	:
-(
-{ before(grammarAccess.getXNullLiteralAccess().getGroup()); }
-(rule__XNullLiteral__Group__0)
-{ after(grammarAccess.getXNullLiteralAccess().getGroup()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
-
-// Entry rule entryRuleXNumberLiteral
-entryRuleXNumberLiteral 
-:
-{ before(grammarAccess.getXNumberLiteralRule()); }
-	 ruleXNumberLiteral
-{ after(grammarAccess.getXNumberLiteralRule()); } 
-	 EOF 
-;
-
-// Rule XNumberLiteral
-ruleXNumberLiteral
-    @init {
-		int stackSize = keepStackSize();
-    }
-	:
-(
-{ before(grammarAccess.getXNumberLiteralAccess().getGroup()); }
-(rule__XNumberLiteral__Group__0)
-{ after(grammarAccess.getXNumberLiteralAccess().getGroup()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
-
-// Entry rule entryRuleXStringLiteral
-entryRuleXStringLiteral 
-:
-{ before(grammarAccess.getXStringLiteralRule()); }
-	 ruleXStringLiteral
-{ after(grammarAccess.getXStringLiteralRule()); } 
-	 EOF 
-;
-
-// Rule XStringLiteral
-ruleXStringLiteral
-    @init {
-		int stackSize = keepStackSize();
-    }
-	:
-(
-{ before(grammarAccess.getXStringLiteralAccess().getGroup()); }
-(rule__XStringLiteral__Group__0)
-{ after(grammarAccess.getXStringLiteralAccess().getGroup()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
-
-// Entry rule entryRuleXTypeLiteral
-entryRuleXTypeLiteral 
-:
-{ before(grammarAccess.getXTypeLiteralRule()); }
-	 ruleXTypeLiteral
-{ after(grammarAccess.getXTypeLiteralRule()); } 
-	 EOF 
-;
-
-// Rule XTypeLiteral
-ruleXTypeLiteral
-    @init {
-		int stackSize = keepStackSize();
-    }
-	:
-(
-{ before(grammarAccess.getXTypeLiteralAccess().getGroup()); }
-(rule__XTypeLiteral__Group__0)
-{ after(grammarAccess.getXTypeLiteralAccess().getGroup()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
-
-// Entry rule entryRuleXThrowExpression
-entryRuleXThrowExpression 
-:
-{ before(grammarAccess.getXThrowExpressionRule()); }
-	 ruleXThrowExpression
-{ after(grammarAccess.getXThrowExpressionRule()); } 
-	 EOF 
-;
-
-// Rule XThrowExpression
-ruleXThrowExpression
-    @init {
-		int stackSize = keepStackSize();
-    }
-	:
-(
-{ before(grammarAccess.getXThrowExpressionAccess().getGroup()); }
-(rule__XThrowExpression__Group__0)
-{ after(grammarAccess.getXThrowExpressionAccess().getGroup()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
-
-// Entry rule entryRuleXReturnExpression
-entryRuleXReturnExpression 
-:
-{ before(grammarAccess.getXReturnExpressionRule()); }
-	 ruleXReturnExpression
-{ after(grammarAccess.getXReturnExpressionRule()); } 
-	 EOF 
-;
-
-// Rule XReturnExpression
-ruleXReturnExpression
-    @init {
-		int stackSize = keepStackSize();
-    }
-	:
-(
-{ before(grammarAccess.getXReturnExpressionAccess().getGroup()); }
-(rule__XReturnExpression__Group__0)
-{ after(grammarAccess.getXReturnExpressionAccess().getGroup()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
-
-// Entry rule entryRuleXTryCatchFinallyExpression
-entryRuleXTryCatchFinallyExpression 
-:
-{ before(grammarAccess.getXTryCatchFinallyExpressionRule()); }
-	 ruleXTryCatchFinallyExpression
-{ after(grammarAccess.getXTryCatchFinallyExpressionRule()); } 
-	 EOF 
-;
-
-// Rule XTryCatchFinallyExpression
-ruleXTryCatchFinallyExpression
-    @init {
-		int stackSize = keepStackSize();
-    }
-	:
-(
-{ before(grammarAccess.getXTryCatchFinallyExpressionAccess().getGroup()); }
-(rule__XTryCatchFinallyExpression__Group__0)
-{ after(grammarAccess.getXTryCatchFinallyExpressionAccess().getGroup()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
-
-// Entry rule entryRuleXSynchronizedExpression
-entryRuleXSynchronizedExpression 
-:
-{ before(grammarAccess.getXSynchronizedExpressionRule()); }
-	 ruleXSynchronizedExpression
-{ after(grammarAccess.getXSynchronizedExpressionRule()); } 
-	 EOF 
-;
-
-// Rule XSynchronizedExpression
-ruleXSynchronizedExpression
-    @init {
-		int stackSize = keepStackSize();
-    }
-	:
-(
-{ before(grammarAccess.getXSynchronizedExpressionAccess().getGroup()); }
-(rule__XSynchronizedExpression__Group__0)
-{ after(grammarAccess.getXSynchronizedExpressionAccess().getGroup()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
-
-// Entry rule entryRuleXCatchClause
-entryRuleXCatchClause 
-:
-{ before(grammarAccess.getXCatchClauseRule()); }
-	 ruleXCatchClause
-{ after(grammarAccess.getXCatchClauseRule()); } 
-	 EOF 
-;
-
-// Rule XCatchClause
-ruleXCatchClause
-    @init {
-		int stackSize = keepStackSize();
-    }
-	:
-(
-{ before(grammarAccess.getXCatchClauseAccess().getGroup()); }
-(rule__XCatchClause__Group__0)
-{ after(grammarAccess.getXCatchClauseAccess().getGroup()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
-
-// Entry rule entryRuleQualifiedName
-entryRuleQualifiedName 
-:
-{ before(grammarAccess.getQualifiedNameRule()); }
-	 ruleQualifiedName
-{ after(grammarAccess.getQualifiedNameRule()); } 
-	 EOF 
-;
-
-// Rule QualifiedName
-ruleQualifiedName
-    @init {
-		int stackSize = keepStackSize();
-    }
-	:
-(
-{ before(grammarAccess.getQualifiedNameAccess().getGroup()); }
-(rule__QualifiedName__Group__0)
-{ after(grammarAccess.getQualifiedNameAccess().getGroup()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
-
-// Entry rule entryRuleNumber
-entryRuleNumber 
-@init {
-	HiddenTokens myHiddenTokenState = ((XtextTokenStream)input).setHiddenTokens();
-}
-:
-{ before(grammarAccess.getNumberRule()); }
-	 ruleNumber
-{ after(grammarAccess.getNumberRule()); } 
-	 EOF 
-;
-finally {
-	myHiddenTokenState.restore();
-}
-
-// Rule Number
-ruleNumber
-    @init {
-		HiddenTokens myHiddenTokenState = ((XtextTokenStream)input).setHiddenTokens();
-		int stackSize = keepStackSize();
-    }
-	:
-(
-{ before(grammarAccess.getNumberAccess().getAlternatives()); }
-(rule__Number__Alternatives)
-{ after(grammarAccess.getNumberAccess().getAlternatives()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-	myHiddenTokenState.restore();
-}
-
-
-
-
-
-// Entry rule entryRuleJvmTypeReference
-entryRuleJvmTypeReference 
-:
-{ before(grammarAccess.getJvmTypeReferenceRule()); }
-	 ruleJvmTypeReference
-{ after(grammarAccess.getJvmTypeReferenceRule()); } 
-	 EOF 
-;
-
-// Rule JvmTypeReference
-ruleJvmTypeReference
-    @init {
-		int stackSize = keepStackSize();
-    }
-	:
-(
-{ before(grammarAccess.getJvmTypeReferenceAccess().getAlternatives()); }
-(rule__JvmTypeReference__Alternatives)
-{ after(grammarAccess.getJvmTypeReferenceAccess().getAlternatives()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
-
-// Entry rule entryRuleArrayBrackets
-entryRuleArrayBrackets 
-:
-{ before(grammarAccess.getArrayBracketsRule()); }
-	 ruleArrayBrackets
-{ after(grammarAccess.getArrayBracketsRule()); } 
-	 EOF 
-;
-
-// Rule ArrayBrackets
-ruleArrayBrackets
-    @init {
-		int stackSize = keepStackSize();
-    }
-	:
-(
-{ before(grammarAccess.getArrayBracketsAccess().getGroup()); }
-(rule__ArrayBrackets__Group__0)
-{ after(grammarAccess.getArrayBracketsAccess().getGroup()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
-
-// Entry rule entryRuleXFunctionTypeRef
-entryRuleXFunctionTypeRef 
-:
-{ before(grammarAccess.getXFunctionTypeRefRule()); }
-	 ruleXFunctionTypeRef
-{ after(grammarAccess.getXFunctionTypeRefRule()); } 
-	 EOF 
-;
-
-// Rule XFunctionTypeRef
-ruleXFunctionTypeRef
-    @init {
-		int stackSize = keepStackSize();
-    }
-	:
-(
-{ before(grammarAccess.getXFunctionTypeRefAccess().getGroup()); }
-(rule__XFunctionTypeRef__Group__0)
-{ after(grammarAccess.getXFunctionTypeRefAccess().getGroup()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
-
-// Entry rule entryRuleJvmParameterizedTypeReference
-entryRuleJvmParameterizedTypeReference 
-:
-{ before(grammarAccess.getJvmParameterizedTypeReferenceRule()); }
-	 ruleJvmParameterizedTypeReference
-{ after(grammarAccess.getJvmParameterizedTypeReferenceRule()); } 
-	 EOF 
-;
-
-// Rule JvmParameterizedTypeReference
-ruleJvmParameterizedTypeReference
-    @init {
-		int stackSize = keepStackSize();
-    }
-	:
-(
-{ before(grammarAccess.getJvmParameterizedTypeReferenceAccess().getGroup()); }
-(rule__JvmParameterizedTypeReference__Group__0)
-{ after(grammarAccess.getJvmParameterizedTypeReferenceAccess().getGroup()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
-
-// Entry rule entryRuleJvmArgumentTypeReference
-entryRuleJvmArgumentTypeReference 
-:
-{ before(grammarAccess.getJvmArgumentTypeReferenceRule()); }
-	 ruleJvmArgumentTypeReference
-{ after(grammarAccess.getJvmArgumentTypeReferenceRule()); } 
-	 EOF 
-;
-
-// Rule JvmArgumentTypeReference
-ruleJvmArgumentTypeReference
-    @init {
-		int stackSize = keepStackSize();
-    }
-	:
-(
-{ before(grammarAccess.getJvmArgumentTypeReferenceAccess().getAlternatives()); }
-(rule__JvmArgumentTypeReference__Alternatives)
-{ after(grammarAccess.getJvmArgumentTypeReferenceAccess().getAlternatives()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
-
-// Entry rule entryRuleJvmWildcardTypeReference
-entryRuleJvmWildcardTypeReference 
-:
-{ before(grammarAccess.getJvmWildcardTypeReferenceRule()); }
-	 ruleJvmWildcardTypeReference
-{ after(grammarAccess.getJvmWildcardTypeReferenceRule()); } 
-	 EOF 
-;
-
-// Rule JvmWildcardTypeReference
-ruleJvmWildcardTypeReference
-    @init {
-		int stackSize = keepStackSize();
-    }
-	:
-(
-{ before(grammarAccess.getJvmWildcardTypeReferenceAccess().getGroup()); }
-(rule__JvmWildcardTypeReference__Group__0)
-{ after(grammarAccess.getJvmWildcardTypeReferenceAccess().getGroup()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
-
-// Entry rule entryRuleJvmUpperBound
-entryRuleJvmUpperBound 
-:
-{ before(grammarAccess.getJvmUpperBoundRule()); }
-	 ruleJvmUpperBound
-{ after(grammarAccess.getJvmUpperBoundRule()); } 
-	 EOF 
-;
-
-// Rule JvmUpperBound
-ruleJvmUpperBound
-    @init {
-		int stackSize = keepStackSize();
-    }
-	:
-(
-{ before(grammarAccess.getJvmUpperBoundAccess().getGroup()); }
-(rule__JvmUpperBound__Group__0)
-{ after(grammarAccess.getJvmUpperBoundAccess().getGroup()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
-
-// Entry rule entryRuleJvmUpperBoundAnded
-entryRuleJvmUpperBoundAnded 
-:
-{ before(grammarAccess.getJvmUpperBoundAndedRule()); }
-	 ruleJvmUpperBoundAnded
-{ after(grammarAccess.getJvmUpperBoundAndedRule()); } 
-	 EOF 
-;
-
-// Rule JvmUpperBoundAnded
-ruleJvmUpperBoundAnded
-    @init {
-		int stackSize = keepStackSize();
-    }
-	:
-(
-{ before(grammarAccess.getJvmUpperBoundAndedAccess().getGroup()); }
-(rule__JvmUpperBoundAnded__Group__0)
-{ after(grammarAccess.getJvmUpperBoundAndedAccess().getGroup()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
-
-// Entry rule entryRuleJvmLowerBound
-entryRuleJvmLowerBound 
-:
-{ before(grammarAccess.getJvmLowerBoundRule()); }
-	 ruleJvmLowerBound
-{ after(grammarAccess.getJvmLowerBoundRule()); } 
-	 EOF 
-;
-
-// Rule JvmLowerBound
-ruleJvmLowerBound
-    @init {
-		int stackSize = keepStackSize();
-    }
-	:
-(
-{ before(grammarAccess.getJvmLowerBoundAccess().getGroup()); }
-(rule__JvmLowerBound__Group__0)
-{ after(grammarAccess.getJvmLowerBoundAccess().getGroup()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
-
-// Entry rule entryRuleJvmLowerBoundAnded
-entryRuleJvmLowerBoundAnded 
-:
-{ before(grammarAccess.getJvmLowerBoundAndedRule()); }
-	 ruleJvmLowerBoundAnded
-{ after(grammarAccess.getJvmLowerBoundAndedRule()); } 
-	 EOF 
-;
-
-// Rule JvmLowerBoundAnded
-ruleJvmLowerBoundAnded
-    @init {
-		int stackSize = keepStackSize();
-    }
-	:
-(
-{ before(grammarAccess.getJvmLowerBoundAndedAccess().getGroup()); }
-(rule__JvmLowerBoundAnded__Group__0)
-{ after(grammarAccess.getJvmLowerBoundAndedAccess().getGroup()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
-
-
-
-// Entry rule entryRuleQualifiedNameWithWildcard
-entryRuleQualifiedNameWithWildcard 
-:
-{ before(grammarAccess.getQualifiedNameWithWildcardRule()); }
-	 ruleQualifiedNameWithWildcard
-{ after(grammarAccess.getQualifiedNameWithWildcardRule()); } 
-	 EOF 
-;
-
-// Rule QualifiedNameWithWildcard
-ruleQualifiedNameWithWildcard
-    @init {
-		int stackSize = keepStackSize();
-    }
-	:
-(
-{ before(grammarAccess.getQualifiedNameWithWildcardAccess().getGroup()); }
-(rule__QualifiedNameWithWildcard__Group__0)
-{ after(grammarAccess.getQualifiedNameWithWildcardAccess().getGroup()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
-
-// Entry rule entryRuleValidID
-entryRuleValidID 
-:
-{ before(grammarAccess.getValidIDRule()); }
-	 ruleValidID
-{ after(grammarAccess.getValidIDRule()); } 
-	 EOF 
-;
-
-// Rule ValidID
-ruleValidID
-    @init {
-		int stackSize = keepStackSize();
-    }
-	:
-(
-{ before(grammarAccess.getValidIDAccess().getIDTerminalRuleCall()); }
-	RULE_ID
-{ after(grammarAccess.getValidIDAccess().getIDTerminalRuleCall()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
-
-
-
-// Entry rule entryRuleXImportDeclaration
-entryRuleXImportDeclaration 
-:
-{ before(grammarAccess.getXImportDeclarationRule()); }
-	 ruleXImportDeclaration
-{ after(grammarAccess.getXImportDeclarationRule()); } 
-	 EOF 
-;
-
-// Rule XImportDeclaration
-ruleXImportDeclaration
-    @init {
-		int stackSize = keepStackSize();
-    }
-	:
-(
-{ before(grammarAccess.getXImportDeclarationAccess().getGroup()); }
-(rule__XImportDeclaration__Group__0)
-{ after(grammarAccess.getXImportDeclarationAccess().getGroup()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
-
-// Entry rule entryRuleQualifiedNameInStaticImport
-entryRuleQualifiedNameInStaticImport 
-:
-{ before(grammarAccess.getQualifiedNameInStaticImportRule()); }
-	 ruleQualifiedNameInStaticImport
-{ after(grammarAccess.getQualifiedNameInStaticImportRule()); } 
-	 EOF 
-;
-
-// Rule QualifiedNameInStaticImport
-ruleQualifiedNameInStaticImport
-    @init {
-		int stackSize = keepStackSize();
-    }
-	:
-(
-(
-{ before(grammarAccess.getQualifiedNameInStaticImportAccess().getGroup()); }
-(rule__QualifiedNameInStaticImport__Group__0)
-{ after(grammarAccess.getQualifiedNameInStaticImportAccess().getGroup()); }
-)
-(
-{ before(grammarAccess.getQualifiedNameInStaticImportAccess().getGroup()); }
-(rule__QualifiedNameInStaticImport__Group__0)*
-{ after(grammarAccess.getQualifiedNameInStaticImportAccess().getGroup()); }
-)
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
-
-
-// Rule UnitEnum
-ruleUnitEnum
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-(
-{ before(grammarAccess.getUnitEnumAccess().getAlternatives()); }
-(rule__UnitEnum__Alternatives)
-{ after(grammarAccess.getUnitEnumAccess().getAlternatives()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
-
-// Rule PageSizeEnum
-rulePageSizeEnum
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-(
-{ before(grammarAccess.getPageSizeEnumAccess().getAlternatives()); }
-(rule__PageSizeEnum__Alternatives)
-{ after(grammarAccess.getPageSizeEnumAccess().getAlternatives()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
-
-// Rule OrientationEnum
-ruleOrientationEnum
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-(
-{ before(grammarAccess.getOrientationEnumAccess().getAlternatives()); }
-(rule__OrientationEnum__Alternatives)
-{ after(grammarAccess.getOrientationEnumAccess().getAlternatives()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
-
-// Rule FontStyleEnum
-ruleFontStyleEnum
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-(
-{ before(grammarAccess.getFontStyleEnumAccess().getAlternatives()); }
-(rule__FontStyleEnum__Alternatives)
-{ after(grammarAccess.getFontStyleEnumAccess().getAlternatives()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
-
-// Rule BuildInFontFamilyEnum
-ruleBuildInFontFamilyEnum
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-(
-{ before(grammarAccess.getBuildInFontFamilyEnumAccess().getAlternatives()); }
-(rule__BuildInFontFamilyEnum__Alternatives)
-{ after(grammarAccess.getBuildInFontFamilyEnumAccess().getAlternatives()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
-
-// Rule TextAlignEnum
-ruleTextAlignEnum
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-(
-{ before(grammarAccess.getTextAlignEnumAccess().getAlternatives()); }
-(rule__TextAlignEnum__Alternatives)
-{ after(grammarAccess.getTextAlignEnumAccess().getAlternatives()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
-
-// Rule NumberFormatCategoryEnum
-ruleNumberFormatCategoryEnum
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-(
-{ before(grammarAccess.getNumberFormatCategoryEnumAccess().getAlternatives()); }
-(rule__NumberFormatCategoryEnum__Alternatives)
-{ after(grammarAccess.getNumberFormatCategoryEnumAccess().getAlternatives()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
-
-// Rule CurrencyFormatCategoryEnum
-ruleCurrencyFormatCategoryEnum
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-(
-{ before(grammarAccess.getCurrencyFormatCategoryEnumAccess().getAlternatives()); }
-(rule__CurrencyFormatCategoryEnum__Alternatives)
-{ after(grammarAccess.getCurrencyFormatCategoryEnumAccess().getAlternatives()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
-
-// Rule DateFormatCategoryEnum
-ruleDateFormatCategoryEnum
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-(
-{ before(grammarAccess.getDateFormatCategoryEnumAccess().getCUSTOMEnumLiteralDeclaration()); }
-(	'custom' 
-)
-{ after(grammarAccess.getDateFormatCategoryEnumAccess().getCUSTOMEnumLiteralDeclaration()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
-
-// Rule DateTimeFormatCategoryEnum
-ruleDateTimeFormatCategoryEnum
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-(
-{ before(grammarAccess.getDateTimeFormatCategoryEnumAccess().getCUSTOMEnumLiteralDeclaration()); }
-(	'custom' 
-)
-{ after(grammarAccess.getDateTimeFormatCategoryEnumAccess().getCUSTOMEnumLiteralDeclaration()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
-
-// Rule TimeFormatCategoryEnum
-ruleTimeFormatCategoryEnum
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-(
-{ before(grammarAccess.getTimeFormatCategoryEnumAccess().getCUSTOMEnumLiteralDeclaration()); }
-(	'custom' 
-)
-{ after(grammarAccess.getTimeFormatCategoryEnumAccess().getCUSTOMEnumLiteralDeclaration()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
-
-// Rule RenderingEnum
-ruleRenderingEnum
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-(
-{ before(grammarAccess.getRenderingEnumAccess().getAlternatives()); }
-(rule__RenderingEnum__Alternatives)
-{ after(grammarAccess.getRenderingEnumAccess().getAlternatives()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
-
-// Rule PureAggregationTypeEnum
-rulePureAggregationTypeEnum
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-(
-{ before(grammarAccess.getPureAggregationTypeEnumAccess().getAlternatives()); }
-(rule__PureAggregationTypeEnum__Alternatives)
-{ after(grammarAccess.getPureAggregationTypeEnumAccess().getAlternatives()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
-
-// Rule UnaryAggregationTypeEnum
-ruleUnaryAggregationTypeEnum
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-(
-{ before(grammarAccess.getUnaryAggregationTypeEnumAccess().getAlternatives()); }
-(rule__UnaryAggregationTypeEnum__Alternatives)
-{ after(grammarAccess.getUnaryAggregationTypeEnumAccess().getAlternatives()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
-
-// Rule BinaryAggregationTypeEnum
-ruleBinaryAggregationTypeEnum
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-(
-{ before(grammarAccess.getBinaryAggregationTypeEnumAccess().getDIVEnumLiteralDeclaration()); }
-(	'divide' 
-)
-{ after(grammarAccess.getBinaryAggregationTypeEnumAccess().getDIVEnumLiteralDeclaration()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
-
-// Rule MultipleAggregationTypeEnum
-ruleMultipleAggregationTypeEnum
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-(
-{ before(grammarAccess.getMultipleAggregationTypeEnumAccess().getCONCATEnumLiteralDeclaration()); }
-(	'concat' 
-)
-{ after(grammarAccess.getMultipleAggregationTypeEnumAccess().getCONCATEnumLiteralDeclaration()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
-
-// Rule TrendIconEnum
-ruleTrendIconEnum
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-(
-{ before(grammarAccess.getTrendIconEnumAccess().getAlternatives()); }
-(rule__TrendIconEnum__Alternatives)
-{ after(grammarAccess.getTrendIconEnumAccess().getAlternatives()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
-
-// Rule BorderTypeEnum
-ruleBorderTypeEnum
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-(
-{ before(grammarAccess.getBorderTypeEnumAccess().getAlternatives()); }
-(rule__BorderTypeEnum__Alternatives)
-{ after(grammarAccess.getBorderTypeEnumAccess().getAlternatives()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
-
-// Rule AutoTextEnum
-ruleAutoTextEnum
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-(
-{ before(grammarAccess.getAutoTextEnumAccess().getAlternatives()); }
-(rule__AutoTextEnum__Alternatives)
-{ after(grammarAccess.getAutoTextEnumAccess().getAlternatives()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
-
-// Rule ImageSizeEnum
-ruleImageSizeEnum
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-(
-{ before(grammarAccess.getImageSizeEnumAccess().getAlternatives()); }
-(rule__ImageSizeEnum__Alternatives)
-{ after(grammarAccess.getImageSizeEnumAccess().getAlternatives()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
-
-// Rule ImageSourceEnum
-ruleImageSourceEnum
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-(
-{ before(grammarAccess.getImageSourceEnumAccess().getAlternatives()); }
-(rule__ImageSourceEnum__Alternatives)
-{ after(grammarAccess.getImageSourceEnumAccess().getAlternatives()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
-
-rule__Color__Alternatives_2
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-(
-{ before(grammarAccess.getColorAccess().getColorAssignment_2_0()); }
-(rule__Color__ColorAssignment_2_0)
-{ after(grammarAccess.getColorAccess().getColorAssignment_2_0()); }
-)
-
-    |(
-{ before(grammarAccess.getColorAccess().getGroup_2_1()); }
-(rule__Color__Group_2_1__0)
-{ after(grammarAccess.getColorAccess().getGroup_2_1()); }
-)
-
-    |(
-{ before(grammarAccess.getColorAccess().getGroup_2_2()); }
-(rule__Color__Group_2_2__0)
-{ after(grammarAccess.getColorAccess().getGroup_2_2()); }
-)
-
-    |(
-{ before(grammarAccess.getColorAccess().getGroup_2_3()); }
-(rule__Color__Group_2_3__0)
-{ after(grammarAccess.getColorAccess().getGroup_2_3()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__FontFamily__Alternatives
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-(
-{ before(grammarAccess.getFontFamilyAccess().getBuildInFontFamilyParserRuleCall_0()); }
-	ruleBuildInFontFamily
-{ after(grammarAccess.getFontFamilyAccess().getBuildInFontFamilyParserRuleCall_0()); }
-)
-
-    |(
-{ before(grammarAccess.getFontFamilyAccess().getCustomFontFamilyParserRuleCall_1()); }
-	ruleCustomFontFamily
-{ after(grammarAccess.getFontFamilyAccess().getCustomFontFamilyParserRuleCall_1()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__SomeFormat__Alternatives
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-(
-{ before(grammarAccess.getSomeFormatAccess().getUomoFormatParserRuleCall_0()); }
-	ruleUomoFormat
-{ after(grammarAccess.getSomeFormatAccess().getUomoFormatParserRuleCall_0()); }
-)
-
-    |(
-{ before(grammarAccess.getSomeFormatAccess().getNumberFormatParserRuleCall_1()); }
-	ruleNumberFormat
-{ after(grammarAccess.getSomeFormatAccess().getNumberFormatParserRuleCall_1()); }
-)
-
-    |(
-{ before(grammarAccess.getSomeFormatAccess().getCurrencyFormatParserRuleCall_2()); }
-	ruleCurrencyFormat
-{ after(grammarAccess.getSomeFormatAccess().getCurrencyFormatParserRuleCall_2()); }
-)
-
-    |(
-{ before(grammarAccess.getSomeFormatAccess().getDateFormatParserRuleCall_3()); }
-	ruleDateFormat
-{ after(grammarAccess.getSomeFormatAccess().getDateFormatParserRuleCall_3()); }
-)
-
-    |(
-{ before(grammarAccess.getSomeFormatAccess().getDateTimeFormatParserRuleCall_4()); }
-	ruleDateTimeFormat
-{ after(grammarAccess.getSomeFormatAccess().getDateTimeFormatParserRuleCall_4()); }
-)
-
-    |(
-{ before(grammarAccess.getSomeFormatAccess().getTimeFormatParserRuleCall_5()); }
-	ruleTimeFormat
-{ after(grammarAccess.getSomeFormatAccess().getTimeFormatParserRuleCall_5()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__ReportDesign__Alternatives
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-(
-{ before(grammarAccess.getReportDesignAccess().getReportDesignFileParserRuleCall_0()); }
-	ruleReportDesignFile
-{ after(grammarAccess.getReportDesignAccess().getReportDesignFileParserRuleCall_0()); }
-)
-
-    |(
-{ before(grammarAccess.getReportDesignAccess().getReportDesignTemplateParserRuleCall_1()); }
-	ruleReportDesignTemplate
-{ after(grammarAccess.getReportDesignAccess().getReportDesignTemplateParserRuleCall_1()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
-rule__Element__Alternatives
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-(
-{ before(grammarAccess.getElementAccess().getTitleParserRuleCall_0()); }
-	ruleTitle
-{ after(grammarAccess.getElementAccess().getTitleParserRuleCall_0()); }
-)
-
-    |(
-{ before(grammarAccess.getElementAccess().getSubTitleParserRuleCall_1()); }
-	ruleSubTitle
-{ after(grammarAccess.getElementAccess().getSubTitleParserRuleCall_1()); }
-)
-
-    |(
-{ before(grammarAccess.getElementAccess().getSubSubTitleParserRuleCall_2()); }
-	ruleSubSubTitle
-{ after(grammarAccess.getElementAccess().getSubSubTitleParserRuleCall_2()); }
-)
-
-    |(
-{ before(grammarAccess.getElementAccess().getLabelParserRuleCall_3()); }
-	ruleLabel
-{ after(grammarAccess.getElementAccess().getLabelParserRuleCall_3()); }
-)
-
-    |(
-{ before(grammarAccess.getElementAccess().getTextParserRuleCall_4()); }
-	ruleText
-{ after(grammarAccess.getElementAccess().getTextParserRuleCall_4()); }
-)
-
-    |(
-{ before(grammarAccess.getElementAccess().getAutoTextParserRuleCall_5()); }
-	ruleAutoText
-{ after(grammarAccess.getElementAccess().getAutoTextParserRuleCall_5()); }
-)
-
-    |(
-{ before(grammarAccess.getElementAccess().getImageParserRuleCall_6()); }
-	ruleImage
-{ after(grammarAccess.getElementAccess().getImageParserRuleCall_6()); }
-)
-
-    |(
-{ before(grammarAccess.getElementAccess().getDatamartTableParserRuleCall_7()); }
-	ruleDatamartTable
-{ after(grammarAccess.getElementAccess().getDatamartTableParserRuleCall_7()); }
-)
-
-    |(
-{ before(grammarAccess.getElementAccess().getDatamartTablePropertyParserRuleCall_8()); }
-	ruleDatamartTableProperty
-{ after(grammarAccess.getElementAccess().getDatamartTablePropertyParserRuleCall_8()); }
-)
-
-    |(
-{ before(grammarAccess.getElementAccess().getGridParserRuleCall_9()); }
-	ruleGrid
-{ after(grammarAccess.getElementAccess().getGridParserRuleCall_9()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__DatamartTableDetail__Alternatives_3
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-(
-{ before(grammarAccess.getDatamartTableDetailAccess().getAllKeyword_3_0()); }
-
-	'all' 
-
-{ after(grammarAccess.getDatamartTableDetailAccess().getAllKeyword_3_0()); }
-)
-
-    |(
-{ before(grammarAccess.getDatamartTableDetailAccess().getGroup_3_1()); }
-(rule__DatamartTableDetail__Group_3_1__0)
-{ after(grammarAccess.getDatamartTableDetailAccess().getGroup_3_1()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__TableValueElement__Alternatives
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-(
-{ before(grammarAccess.getTableValueElementAccess().getTablePropertyParserRuleCall_0()); }
-	ruleTableProperty
-{ after(grammarAccess.getTableValueElementAccess().getTablePropertyParserRuleCall_0()); }
-)
-
-    |(
-{ before(grammarAccess.getTableValueElementAccess().getTableAggregationParserRuleCall_1()); }
-	ruleTableAggregation
-{ after(grammarAccess.getTableValueElementAccess().getTableAggregationParserRuleCall_1()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__TableBaseAggregation__Alternatives
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-(
-{ before(grammarAccess.getTableBaseAggregationAccess().getTablePureAggregationParserRuleCall_0()); }
-	ruleTablePureAggregation
-{ after(grammarAccess.getTableBaseAggregationAccess().getTablePureAggregationParserRuleCall_0()); }
-)
-
-    |(
-{ before(grammarAccess.getTableBaseAggregationAccess().getTableUnaryAggregationParserRuleCall_1()); }
-	ruleTableUnaryAggregation
-{ after(grammarAccess.getTableBaseAggregationAccess().getTableUnaryAggregationParserRuleCall_1()); }
-)
-
-    |(
-{ before(grammarAccess.getTableBaseAggregationAccess().getTableMultipleAggregationParserRuleCall_2()); }
-	ruleTableMultipleAggregation
-{ after(grammarAccess.getTableBaseAggregationAccess().getTableMultipleAggregationParserRuleCall_2()); }
-)
-
-    |(
-{ before(grammarAccess.getTableBaseAggregationAccess().getTableBinaryAggregationParserRuleCall_3()); }
-	ruleTableBinaryAggregation
-{ after(grammarAccess.getTableBaseAggregationAccess().getTableBinaryAggregationParserRuleCall_3()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__TableInterval__Alternatives
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-(
-{ before(grammarAccess.getTableIntervalAccess().getTableNumberIntervalParserRuleCall_0()); }
-	ruleTableNumberInterval
-{ after(grammarAccess.getTableIntervalAccess().getTableNumberIntervalParserRuleCall_0()); }
-)
-
-    |(
-{ before(grammarAccess.getTableIntervalAccess().getTableDateDayIntervalParserRuleCall_1()); }
-	ruleTableDateDayInterval
-{ after(grammarAccess.getTableIntervalAccess().getTableDateDayIntervalParserRuleCall_1()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__TableLookup__Alternatives
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-(
-{ before(grammarAccess.getTableLookupAccess().getTableNumberLookupParserRuleCall_0()); }
-	ruleTableNumberLookup
-{ after(grammarAccess.getTableLookupAccess().getTableNumberLookupParserRuleCall_0()); }
-)
-
-    |(
-{ before(grammarAccess.getTableLookupAccess().getTableStringLookupParserRuleCall_1()); }
-	ruleTableStringLookup
-{ after(grammarAccess.getTableLookupAccess().getTableStringLookupParserRuleCall_1()); }
-)
-
-    |(
-{ before(grammarAccess.getTableLookupAccess().getTableDateDayLookupParserRuleCall_2()); }
-	ruleTableDateDayLookup
-{ after(grammarAccess.getTableLookupAccess().getTableDateDayLookupParserRuleCall_2()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__TableRangeElement__Alternatives
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-(
-{ before(grammarAccess.getTableRangeElementAccess().getTableTextColorParserRuleCall_0()); }
-	ruleTableTextColor
-{ after(grammarAccess.getTableRangeElementAccess().getTableTextColorParserRuleCall_0()); }
-)
-
-    |(
-{ before(grammarAccess.getTableRangeElementAccess().getTableCellColorParserRuleCall_1()); }
-	ruleTableCellColor
-{ after(grammarAccess.getTableRangeElementAccess().getTableCellColorParserRuleCall_1()); }
-)
-
-    |(
-{ before(grammarAccess.getTableRangeElementAccess().getTableIconParserRuleCall_2()); }
-	ruleTableIcon
-{ after(grammarAccess.getTableRangeElementAccess().getTableIconParserRuleCall_2()); }
-)
-
-    |(
-{ before(grammarAccess.getTableRangeElementAccess().getTableTrendParserRuleCall_3()); }
-	ruleTableTrend
-{ after(grammarAccess.getTableRangeElementAccess().getTableTrendParserRuleCall_3()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__XAnnotation__Alternatives_3_1
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-(
-{ before(grammarAccess.getXAnnotationAccess().getGroup_3_1_0()); }
-(rule__XAnnotation__Group_3_1_0__0)
-{ after(grammarAccess.getXAnnotationAccess().getGroup_3_1_0()); }
-)
-
-    |(
-{ before(grammarAccess.getXAnnotationAccess().getValueAssignment_3_1_1()); }
-(rule__XAnnotation__ValueAssignment_3_1_1)
-{ after(grammarAccess.getXAnnotationAccess().getValueAssignment_3_1_1()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__XAnnotationElementValueOrCommaList__Alternatives
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-(
-{ before(grammarAccess.getXAnnotationElementValueOrCommaListAccess().getGroup_0()); }
-(rule__XAnnotationElementValueOrCommaList__Group_0__0)
-{ after(grammarAccess.getXAnnotationElementValueOrCommaListAccess().getGroup_0()); }
-)
-
-    |(
-{ before(grammarAccess.getXAnnotationElementValueOrCommaListAccess().getGroup_1()); }
-(rule__XAnnotationElementValueOrCommaList__Group_1__0)
-{ after(grammarAccess.getXAnnotationElementValueOrCommaListAccess().getGroup_1()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__XAnnotationElementValue__Alternatives
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-(
-{ before(grammarAccess.getXAnnotationElementValueAccess().getGroup_0()); }
-(rule__XAnnotationElementValue__Group_0__0)
-{ after(grammarAccess.getXAnnotationElementValueAccess().getGroup_0()); }
-)
-
-    |(
-{ before(grammarAccess.getXAnnotationElementValueAccess().getXAnnotationOrExpressionParserRuleCall_1()); }
-	ruleXAnnotationOrExpression
-{ after(grammarAccess.getXAnnotationElementValueAccess().getXAnnotationOrExpressionParserRuleCall_1()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__XAnnotationOrExpression__Alternatives
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-(
-{ before(grammarAccess.getXAnnotationOrExpressionAccess().getXAnnotationParserRuleCall_0()); }
-	ruleXAnnotation
-{ after(grammarAccess.getXAnnotationOrExpressionAccess().getXAnnotationParserRuleCall_0()); }
-)
-
-    |(
-{ before(grammarAccess.getXAnnotationOrExpressionAccess().getXExpressionParserRuleCall_1()); }
-	ruleXExpression
-{ after(grammarAccess.getXAnnotationOrExpressionAccess().getXExpressionParserRuleCall_1()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__XAssignment__Alternatives
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-(
-{ before(grammarAccess.getXAssignmentAccess().getGroup_0()); }
-(rule__XAssignment__Group_0__0)
-{ after(grammarAccess.getXAssignmentAccess().getGroup_0()); }
-)
-
-    |(
-{ before(grammarAccess.getXAssignmentAccess().getGroup_1()); }
-(rule__XAssignment__Group_1__0)
-{ after(grammarAccess.getXAssignmentAccess().getGroup_1()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__OpMultiAssign__Alternatives
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-(
-{ before(grammarAccess.getOpMultiAssignAccess().getPlusSignEqualsSignKeyword_0()); }
-
-	'+=' 
-
-{ after(grammarAccess.getOpMultiAssignAccess().getPlusSignEqualsSignKeyword_0()); }
-)
-
-    |(
-{ before(grammarAccess.getOpMultiAssignAccess().getHyphenMinusEqualsSignKeyword_1()); }
-
-	'-=' 
-
-{ after(grammarAccess.getOpMultiAssignAccess().getHyphenMinusEqualsSignKeyword_1()); }
-)
-
-    |(
-{ before(grammarAccess.getOpMultiAssignAccess().getAsteriskEqualsSignKeyword_2()); }
-
-	'*=' 
-
-{ after(grammarAccess.getOpMultiAssignAccess().getAsteriskEqualsSignKeyword_2()); }
-)
-
-    |(
-{ before(grammarAccess.getOpMultiAssignAccess().getSolidusEqualsSignKeyword_3()); }
-
-	'/=' 
-
-{ after(grammarAccess.getOpMultiAssignAccess().getSolidusEqualsSignKeyword_3()); }
-)
-
-    |(
-{ before(grammarAccess.getOpMultiAssignAccess().getPercentSignEqualsSignKeyword_4()); }
-
-	'%=' 
-
-{ after(grammarAccess.getOpMultiAssignAccess().getPercentSignEqualsSignKeyword_4()); }
-)
-
-    |(
-{ before(grammarAccess.getOpMultiAssignAccess().getGroup_5()); }
-(rule__OpMultiAssign__Group_5__0)
-{ after(grammarAccess.getOpMultiAssignAccess().getGroup_5()); }
-)
-
-    |(
-{ before(grammarAccess.getOpMultiAssignAccess().getGroup_6()); }
-(rule__OpMultiAssign__Group_6__0)
-{ after(grammarAccess.getOpMultiAssignAccess().getGroup_6()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__OpEquality__Alternatives
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-(
-{ before(grammarAccess.getOpEqualityAccess().getEqualsSignEqualsSignKeyword_0()); }
-
-	'==' 
-
-{ after(grammarAccess.getOpEqualityAccess().getEqualsSignEqualsSignKeyword_0()); }
-)
-
-    |(
-{ before(grammarAccess.getOpEqualityAccess().getExclamationMarkEqualsSignKeyword_1()); }
-
-	'!=' 
-
-{ after(grammarAccess.getOpEqualityAccess().getExclamationMarkEqualsSignKeyword_1()); }
-)
-
-    |(
-{ before(grammarAccess.getOpEqualityAccess().getEqualsSignEqualsSignEqualsSignKeyword_2()); }
-
-	'===' 
-
-{ after(grammarAccess.getOpEqualityAccess().getEqualsSignEqualsSignEqualsSignKeyword_2()); }
-)
-
-    |(
-{ before(grammarAccess.getOpEqualityAccess().getExclamationMarkEqualsSignEqualsSignKeyword_3()); }
-
-	'!==' 
-
-{ after(grammarAccess.getOpEqualityAccess().getExclamationMarkEqualsSignEqualsSignKeyword_3()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__XRelationalExpression__Alternatives_1
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-(
-{ before(grammarAccess.getXRelationalExpressionAccess().getGroup_1_0()); }
-(rule__XRelationalExpression__Group_1_0__0)
-{ after(grammarAccess.getXRelationalExpressionAccess().getGroup_1_0()); }
-)
-
-    |(
-{ before(grammarAccess.getXRelationalExpressionAccess().getGroup_1_1()); }
-(rule__XRelationalExpression__Group_1_1__0)
-{ after(grammarAccess.getXRelationalExpressionAccess().getGroup_1_1()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__OpCompare__Alternatives
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-(
-{ before(grammarAccess.getOpCompareAccess().getGreaterThanSignEqualsSignKeyword_0()); }
-
-	'>=' 
-
-{ after(grammarAccess.getOpCompareAccess().getGreaterThanSignEqualsSignKeyword_0()); }
-)
-
-    |(
-{ before(grammarAccess.getOpCompareAccess().getGroup_1()); }
-(rule__OpCompare__Group_1__0)
-{ after(grammarAccess.getOpCompareAccess().getGroup_1()); }
-)
-
-    |(
-{ before(grammarAccess.getOpCompareAccess().getGreaterThanSignKeyword_2()); }
-
-	'>' 
-
-{ after(grammarAccess.getOpCompareAccess().getGreaterThanSignKeyword_2()); }
-)
-
-    |(
-{ before(grammarAccess.getOpCompareAccess().getLessThanSignKeyword_3()); }
-
-	'<' 
-
-{ after(grammarAccess.getOpCompareAccess().getLessThanSignKeyword_3()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__OpOther__Alternatives
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-(
-{ before(grammarAccess.getOpOtherAccess().getHyphenMinusGreaterThanSignKeyword_0()); }
-
-	'->' 
-
-{ after(grammarAccess.getOpOtherAccess().getHyphenMinusGreaterThanSignKeyword_0()); }
-)
-
-    |(
-{ before(grammarAccess.getOpOtherAccess().getFullStopFullStopLessThanSignKeyword_1()); }
-
-	'..<' 
-
-{ after(grammarAccess.getOpOtherAccess().getFullStopFullStopLessThanSignKeyword_1()); }
-)
-
-    |(
-{ before(grammarAccess.getOpOtherAccess().getGroup_2()); }
-(rule__OpOther__Group_2__0)
-{ after(grammarAccess.getOpOtherAccess().getGroup_2()); }
-)
-
-    |(
-{ before(grammarAccess.getOpOtherAccess().getFullStopFullStopKeyword_3()); }
-
-	'..' 
-
-{ after(grammarAccess.getOpOtherAccess().getFullStopFullStopKeyword_3()); }
-)
-
-    |(
-{ before(grammarAccess.getOpOtherAccess().getEqualsSignGreaterThanSignKeyword_4()); }
-
-	'=>' 
-
-{ after(grammarAccess.getOpOtherAccess().getEqualsSignGreaterThanSignKeyword_4()); }
-)
-
-    |(
-{ before(grammarAccess.getOpOtherAccess().getGroup_5()); }
-(rule__OpOther__Group_5__0)
-{ after(grammarAccess.getOpOtherAccess().getGroup_5()); }
-)
-
-    |(
-{ before(grammarAccess.getOpOtherAccess().getGroup_6()); }
-(rule__OpOther__Group_6__0)
-{ after(grammarAccess.getOpOtherAccess().getGroup_6()); }
-)
-
-    |(
-{ before(grammarAccess.getOpOtherAccess().getLessThanSignGreaterThanSignKeyword_7()); }
-
-	'<>' 
-
-{ after(grammarAccess.getOpOtherAccess().getLessThanSignGreaterThanSignKeyword_7()); }
-)
-
-    |(
-{ before(grammarAccess.getOpOtherAccess().getQuestionMarkColonKeyword_8()); }
-
-	'?:' 
-
-{ after(grammarAccess.getOpOtherAccess().getQuestionMarkColonKeyword_8()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__OpOther__Alternatives_5_1
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-(
-{ before(grammarAccess.getOpOtherAccess().getGroup_5_1_0()); }
-(rule__OpOther__Group_5_1_0__0)
-{ after(grammarAccess.getOpOtherAccess().getGroup_5_1_0()); }
-)
-
-    |(
-{ before(grammarAccess.getOpOtherAccess().getGreaterThanSignKeyword_5_1_1()); }
-
-	'>' 
-
-{ after(grammarAccess.getOpOtherAccess().getGreaterThanSignKeyword_5_1_1()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__OpOther__Alternatives_6_1
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-(
-{ before(grammarAccess.getOpOtherAccess().getGroup_6_1_0()); }
-(rule__OpOther__Group_6_1_0__0)
-{ after(grammarAccess.getOpOtherAccess().getGroup_6_1_0()); }
-)
-
-    |(
-{ before(grammarAccess.getOpOtherAccess().getLessThanSignKeyword_6_1_1()); }
-
-	'<' 
-
-{ after(grammarAccess.getOpOtherAccess().getLessThanSignKeyword_6_1_1()); }
-)
-
-    |(
-{ before(grammarAccess.getOpOtherAccess().getEqualsSignGreaterThanSignKeyword_6_1_2()); }
-
-	'=>' 
-
-{ after(grammarAccess.getOpOtherAccess().getEqualsSignGreaterThanSignKeyword_6_1_2()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__OpAdd__Alternatives
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-(
-{ before(grammarAccess.getOpAddAccess().getPlusSignKeyword_0()); }
-
-	'+' 
-
-{ after(grammarAccess.getOpAddAccess().getPlusSignKeyword_0()); }
-)
-
-    |(
-{ before(grammarAccess.getOpAddAccess().getHyphenMinusKeyword_1()); }
-
-	'-' 
-
-{ after(grammarAccess.getOpAddAccess().getHyphenMinusKeyword_1()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__OpMulti__Alternatives
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-(
-{ before(grammarAccess.getOpMultiAccess().getAsteriskKeyword_0()); }
-
-	'*' 
-
-{ after(grammarAccess.getOpMultiAccess().getAsteriskKeyword_0()); }
-)
-
-    |(
-{ before(grammarAccess.getOpMultiAccess().getAsteriskAsteriskKeyword_1()); }
-
-	'**' 
-
-{ after(grammarAccess.getOpMultiAccess().getAsteriskAsteriskKeyword_1()); }
-)
-
-    |(
-{ before(grammarAccess.getOpMultiAccess().getSolidusKeyword_2()); }
-
-	'/' 
-
-{ after(grammarAccess.getOpMultiAccess().getSolidusKeyword_2()); }
-)
-
-    |(
-{ before(grammarAccess.getOpMultiAccess().getPercentSignKeyword_3()); }
-
-	'%' 
-
-{ after(grammarAccess.getOpMultiAccess().getPercentSignKeyword_3()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__XUnaryOperation__Alternatives
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-(
-{ before(grammarAccess.getXUnaryOperationAccess().getGroup_0()); }
-(rule__XUnaryOperation__Group_0__0)
-{ after(grammarAccess.getXUnaryOperationAccess().getGroup_0()); }
-)
-
-    |(
-{ before(grammarAccess.getXUnaryOperationAccess().getXCastedExpressionParserRuleCall_1()); }
-	ruleXCastedExpression
-{ after(grammarAccess.getXUnaryOperationAccess().getXCastedExpressionParserRuleCall_1()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__OpUnary__Alternatives
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-(
-{ before(grammarAccess.getOpUnaryAccess().getExclamationMarkKeyword_0()); }
-
-	'!' 
-
-{ after(grammarAccess.getOpUnaryAccess().getExclamationMarkKeyword_0()); }
-)
-
-    |(
-{ before(grammarAccess.getOpUnaryAccess().getHyphenMinusKeyword_1()); }
-
-	'-' 
-
-{ after(grammarAccess.getOpUnaryAccess().getHyphenMinusKeyword_1()); }
-)
-
-    |(
-{ before(grammarAccess.getOpUnaryAccess().getPlusSignKeyword_2()); }
-
-	'+' 
-
-{ after(grammarAccess.getOpUnaryAccess().getPlusSignKeyword_2()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__OpPostfix__Alternatives
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-(
-{ before(grammarAccess.getOpPostfixAccess().getPlusSignPlusSignKeyword_0()); }
-
-	'++' 
-
-{ after(grammarAccess.getOpPostfixAccess().getPlusSignPlusSignKeyword_0()); }
-)
-
-    |(
-{ before(grammarAccess.getOpPostfixAccess().getHyphenMinusHyphenMinusKeyword_1()); }
-
-	'--' 
-
-{ after(grammarAccess.getOpPostfixAccess().getHyphenMinusHyphenMinusKeyword_1()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__XMemberFeatureCall__Alternatives_1
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-(
-{ before(grammarAccess.getXMemberFeatureCallAccess().getGroup_1_0()); }
-(rule__XMemberFeatureCall__Group_1_0__0)
-{ after(grammarAccess.getXMemberFeatureCallAccess().getGroup_1_0()); }
-)
-
-    |(
-{ before(grammarAccess.getXMemberFeatureCallAccess().getGroup_1_1()); }
-(rule__XMemberFeatureCall__Group_1_1__0)
-{ after(grammarAccess.getXMemberFeatureCallAccess().getGroup_1_1()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__XMemberFeatureCall__Alternatives_1_0_0_0_1
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-(
-{ before(grammarAccess.getXMemberFeatureCallAccess().getFullStopKeyword_1_0_0_0_1_0()); }
-
-	'.' 
-
-{ after(grammarAccess.getXMemberFeatureCallAccess().getFullStopKeyword_1_0_0_0_1_0()); }
-)
-
-    |(
-{ before(grammarAccess.getXMemberFeatureCallAccess().getExplicitStaticAssignment_1_0_0_0_1_1()); }
-(rule__XMemberFeatureCall__ExplicitStaticAssignment_1_0_0_0_1_1)
-{ after(grammarAccess.getXMemberFeatureCallAccess().getExplicitStaticAssignment_1_0_0_0_1_1()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__XMemberFeatureCall__Alternatives_1_1_0_0_1
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-(
-{ before(grammarAccess.getXMemberFeatureCallAccess().getFullStopKeyword_1_1_0_0_1_0()); }
-
-	'.' 
-
-{ after(grammarAccess.getXMemberFeatureCallAccess().getFullStopKeyword_1_1_0_0_1_0()); }
-)
-
-    |(
-{ before(grammarAccess.getXMemberFeatureCallAccess().getNullSafeAssignment_1_1_0_0_1_1()); }
-(rule__XMemberFeatureCall__NullSafeAssignment_1_1_0_0_1_1)
-{ after(grammarAccess.getXMemberFeatureCallAccess().getNullSafeAssignment_1_1_0_0_1_1()); }
-)
-
-    |(
-{ before(grammarAccess.getXMemberFeatureCallAccess().getExplicitStaticAssignment_1_1_0_0_1_2()); }
-(rule__XMemberFeatureCall__ExplicitStaticAssignment_1_1_0_0_1_2)
-{ after(grammarAccess.getXMemberFeatureCallAccess().getExplicitStaticAssignment_1_1_0_0_1_2()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__XMemberFeatureCall__Alternatives_1_1_3_1
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-(
-{ before(grammarAccess.getXMemberFeatureCallAccess().getMemberCallArgumentsAssignment_1_1_3_1_0()); }
-(rule__XMemberFeatureCall__MemberCallArgumentsAssignment_1_1_3_1_0)
-{ after(grammarAccess.getXMemberFeatureCallAccess().getMemberCallArgumentsAssignment_1_1_3_1_0()); }
-)
-
-    |(
-{ before(grammarAccess.getXMemberFeatureCallAccess().getGroup_1_1_3_1_1()); }
-(rule__XMemberFeatureCall__Group_1_1_3_1_1__0)
-{ after(grammarAccess.getXMemberFeatureCallAccess().getGroup_1_1_3_1_1()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__XPrimaryExpression__Alternatives
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-(
-{ before(grammarAccess.getXPrimaryExpressionAccess().getXConstructorCallParserRuleCall_0()); }
-	ruleXConstructorCall
-{ after(grammarAccess.getXPrimaryExpressionAccess().getXConstructorCallParserRuleCall_0()); }
-)
-
-    |(
-{ before(grammarAccess.getXPrimaryExpressionAccess().getXBlockExpressionParserRuleCall_1()); }
-	ruleXBlockExpression
-{ after(grammarAccess.getXPrimaryExpressionAccess().getXBlockExpressionParserRuleCall_1()); }
-)
-
-    |(
-{ before(grammarAccess.getXPrimaryExpressionAccess().getXSwitchExpressionParserRuleCall_2()); }
-	ruleXSwitchExpression
-{ after(grammarAccess.getXPrimaryExpressionAccess().getXSwitchExpressionParserRuleCall_2()); }
-)
-
-    |(
-{ before(grammarAccess.getXPrimaryExpressionAccess().getXSynchronizedExpressionParserRuleCall_3()); }
-(	ruleXSynchronizedExpression)
-{ after(grammarAccess.getXPrimaryExpressionAccess().getXSynchronizedExpressionParserRuleCall_3()); }
-)
-
-    |(
-{ before(grammarAccess.getXPrimaryExpressionAccess().getXFeatureCallParserRuleCall_4()); }
-	ruleXFeatureCall
-{ after(grammarAccess.getXPrimaryExpressionAccess().getXFeatureCallParserRuleCall_4()); }
-)
-
-    |(
-{ before(grammarAccess.getXPrimaryExpressionAccess().getXLiteralParserRuleCall_5()); }
-	ruleXLiteral
-{ after(grammarAccess.getXPrimaryExpressionAccess().getXLiteralParserRuleCall_5()); }
-)
-
-    |(
-{ before(grammarAccess.getXPrimaryExpressionAccess().getXIfExpressionParserRuleCall_6()); }
-	ruleXIfExpression
-{ after(grammarAccess.getXPrimaryExpressionAccess().getXIfExpressionParserRuleCall_6()); }
-)
-
-    |(
-{ before(grammarAccess.getXPrimaryExpressionAccess().getXForLoopExpressionParserRuleCall_7()); }
-(	ruleXForLoopExpression)
-{ after(grammarAccess.getXPrimaryExpressionAccess().getXForLoopExpressionParserRuleCall_7()); }
-)
-
-    |(
-{ before(grammarAccess.getXPrimaryExpressionAccess().getXBasicForLoopExpressionParserRuleCall_8()); }
-	ruleXBasicForLoopExpression
-{ after(grammarAccess.getXPrimaryExpressionAccess().getXBasicForLoopExpressionParserRuleCall_8()); }
-)
-
-    |(
-{ before(grammarAccess.getXPrimaryExpressionAccess().getXWhileExpressionParserRuleCall_9()); }
-	ruleXWhileExpression
-{ after(grammarAccess.getXPrimaryExpressionAccess().getXWhileExpressionParserRuleCall_9()); }
-)
-
-    |(
-{ before(grammarAccess.getXPrimaryExpressionAccess().getXDoWhileExpressionParserRuleCall_10()); }
-	ruleXDoWhileExpression
-{ after(grammarAccess.getXPrimaryExpressionAccess().getXDoWhileExpressionParserRuleCall_10()); }
-)
-
-    |(
-{ before(grammarAccess.getXPrimaryExpressionAccess().getXThrowExpressionParserRuleCall_11()); }
-	ruleXThrowExpression
-{ after(grammarAccess.getXPrimaryExpressionAccess().getXThrowExpressionParserRuleCall_11()); }
-)
-
-    |(
-{ before(grammarAccess.getXPrimaryExpressionAccess().getXReturnExpressionParserRuleCall_12()); }
-	ruleXReturnExpression
-{ after(grammarAccess.getXPrimaryExpressionAccess().getXReturnExpressionParserRuleCall_12()); }
-)
-
-    |(
-{ before(grammarAccess.getXPrimaryExpressionAccess().getXTryCatchFinallyExpressionParserRuleCall_13()); }
-	ruleXTryCatchFinallyExpression
-{ after(grammarAccess.getXPrimaryExpressionAccess().getXTryCatchFinallyExpressionParserRuleCall_13()); }
-)
-
-    |(
-{ before(grammarAccess.getXPrimaryExpressionAccess().getXParenthesizedExpressionParserRuleCall_14()); }
-	ruleXParenthesizedExpression
-{ after(grammarAccess.getXPrimaryExpressionAccess().getXParenthesizedExpressionParserRuleCall_14()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__XLiteral__Alternatives
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-(
-{ before(grammarAccess.getXLiteralAccess().getXCollectionLiteralParserRuleCall_0()); }
-	ruleXCollectionLiteral
-{ after(grammarAccess.getXLiteralAccess().getXCollectionLiteralParserRuleCall_0()); }
-)
-
-    |(
-{ before(grammarAccess.getXLiteralAccess().getXClosureParserRuleCall_1()); }
-(	ruleXClosure)
-{ after(grammarAccess.getXLiteralAccess().getXClosureParserRuleCall_1()); }
-)
-
-    |(
-{ before(grammarAccess.getXLiteralAccess().getXBooleanLiteralParserRuleCall_2()); }
-	ruleXBooleanLiteral
-{ after(grammarAccess.getXLiteralAccess().getXBooleanLiteralParserRuleCall_2()); }
-)
-
-    |(
-{ before(grammarAccess.getXLiteralAccess().getXNumberLiteralParserRuleCall_3()); }
-	ruleXNumberLiteral
-{ after(grammarAccess.getXLiteralAccess().getXNumberLiteralParserRuleCall_3()); }
-)
-
-    |(
-{ before(grammarAccess.getXLiteralAccess().getXNullLiteralParserRuleCall_4()); }
-	ruleXNullLiteral
-{ after(grammarAccess.getXLiteralAccess().getXNullLiteralParserRuleCall_4()); }
-)
-
-    |(
-{ before(grammarAccess.getXLiteralAccess().getXStringLiteralParserRuleCall_5()); }
-	ruleXStringLiteral
-{ after(grammarAccess.getXLiteralAccess().getXStringLiteralParserRuleCall_5()); }
-)
-
-    |(
-{ before(grammarAccess.getXLiteralAccess().getXTypeLiteralParserRuleCall_6()); }
-	ruleXTypeLiteral
-{ after(grammarAccess.getXLiteralAccess().getXTypeLiteralParserRuleCall_6()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__XCollectionLiteral__Alternatives
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-(
-{ before(grammarAccess.getXCollectionLiteralAccess().getXSetLiteralParserRuleCall_0()); }
-	ruleXSetLiteral
-{ after(grammarAccess.getXCollectionLiteralAccess().getXSetLiteralParserRuleCall_0()); }
-)
-
-    |(
-{ before(grammarAccess.getXCollectionLiteralAccess().getXListLiteralParserRuleCall_1()); }
-	ruleXListLiteral
-{ after(grammarAccess.getXCollectionLiteralAccess().getXListLiteralParserRuleCall_1()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__XSwitchExpression__Alternatives_2
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-(
-{ before(grammarAccess.getXSwitchExpressionAccess().getGroup_2_0()); }
-(rule__XSwitchExpression__Group_2_0__0)
-{ after(grammarAccess.getXSwitchExpressionAccess().getGroup_2_0()); }
-)
-
-    |(
-{ before(grammarAccess.getXSwitchExpressionAccess().getGroup_2_1()); }
-(rule__XSwitchExpression__Group_2_1__0)
-{ after(grammarAccess.getXSwitchExpressionAccess().getGroup_2_1()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__XCasePart__Alternatives_3
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-(
-{ before(grammarAccess.getXCasePartAccess().getGroup_3_0()); }
-(rule__XCasePart__Group_3_0__0)
-{ after(grammarAccess.getXCasePartAccess().getGroup_3_0()); }
-)
-
-    |(
-{ before(grammarAccess.getXCasePartAccess().getFallThroughAssignment_3_1()); }
-(rule__XCasePart__FallThroughAssignment_3_1)
-{ after(grammarAccess.getXCasePartAccess().getFallThroughAssignment_3_1()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__XExpressionOrVarDeclaration__Alternatives
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-(
-{ before(grammarAccess.getXExpressionOrVarDeclarationAccess().getXVariableDeclarationParserRuleCall_0()); }
-	ruleXVariableDeclaration
-{ after(grammarAccess.getXExpressionOrVarDeclarationAccess().getXVariableDeclarationParserRuleCall_0()); }
-)
-
-    |(
-{ before(grammarAccess.getXExpressionOrVarDeclarationAccess().getXExpressionParserRuleCall_1()); }
-	ruleXExpression
-{ after(grammarAccess.getXExpressionOrVarDeclarationAccess().getXExpressionParserRuleCall_1()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__XVariableDeclaration__Alternatives_1
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-(
-{ before(grammarAccess.getXVariableDeclarationAccess().getWriteableAssignment_1_0()); }
-(rule__XVariableDeclaration__WriteableAssignment_1_0)
-{ after(grammarAccess.getXVariableDeclarationAccess().getWriteableAssignment_1_0()); }
-)
-
-    |(
-{ before(grammarAccess.getXVariableDeclarationAccess().getValKeyword_1_1()); }
-
-	'val' 
-
-{ after(grammarAccess.getXVariableDeclarationAccess().getValKeyword_1_1()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__XVariableDeclaration__Alternatives_2
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-(
-{ before(grammarAccess.getXVariableDeclarationAccess().getGroup_2_0()); }
-(rule__XVariableDeclaration__Group_2_0__0)
-{ after(grammarAccess.getXVariableDeclarationAccess().getGroup_2_0()); }
-)
-
-    |(
-{ before(grammarAccess.getXVariableDeclarationAccess().getNameAssignment_2_1()); }
-(rule__XVariableDeclaration__NameAssignment_2_1)
-{ after(grammarAccess.getXVariableDeclarationAccess().getNameAssignment_2_1()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__XFeatureCall__Alternatives_3_1
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-(
-{ before(grammarAccess.getXFeatureCallAccess().getFeatureCallArgumentsAssignment_3_1_0()); }
-(rule__XFeatureCall__FeatureCallArgumentsAssignment_3_1_0)
-{ after(grammarAccess.getXFeatureCallAccess().getFeatureCallArgumentsAssignment_3_1_0()); }
-)
-
-    |(
-{ before(grammarAccess.getXFeatureCallAccess().getGroup_3_1_1()); }
-(rule__XFeatureCall__Group_3_1_1__0)
-{ after(grammarAccess.getXFeatureCallAccess().getGroup_3_1_1()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__FeatureCallID__Alternatives
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-(
-{ before(grammarAccess.getFeatureCallIDAccess().getValidIDParserRuleCall_0()); }
-	ruleValidID
-{ after(grammarAccess.getFeatureCallIDAccess().getValidIDParserRuleCall_0()); }
-)
-
-    |(
-{ before(grammarAccess.getFeatureCallIDAccess().getExtendsKeyword_1()); }
-
-	'extends' 
-
-{ after(grammarAccess.getFeatureCallIDAccess().getExtendsKeyword_1()); }
-)
-
-    |(
-{ before(grammarAccess.getFeatureCallIDAccess().getStaticKeyword_2()); }
-
-	'static' 
-
-{ after(grammarAccess.getFeatureCallIDAccess().getStaticKeyword_2()); }
-)
-
-    |(
-{ before(grammarAccess.getFeatureCallIDAccess().getImportKeyword_3()); }
-
-	'import' 
-
-{ after(grammarAccess.getFeatureCallIDAccess().getImportKeyword_3()); }
-)
-
-    |(
-{ before(grammarAccess.getFeatureCallIDAccess().getExtensionKeyword_4()); }
-
-	'extension' 
-
-{ after(grammarAccess.getFeatureCallIDAccess().getExtensionKeyword_4()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__IdOrSuper__Alternatives
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-(
-{ before(grammarAccess.getIdOrSuperAccess().getFeatureCallIDParserRuleCall_0()); }
-	ruleFeatureCallID
-{ after(grammarAccess.getIdOrSuperAccess().getFeatureCallIDParserRuleCall_0()); }
-)
-
-    |(
-{ before(grammarAccess.getIdOrSuperAccess().getSuperKeyword_1()); }
-
-	'super' 
-
-{ after(grammarAccess.getIdOrSuperAccess().getSuperKeyword_1()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__XConstructorCall__Alternatives_4_1
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-(
-{ before(grammarAccess.getXConstructorCallAccess().getArgumentsAssignment_4_1_0()); }
-(rule__XConstructorCall__ArgumentsAssignment_4_1_0)
-{ after(grammarAccess.getXConstructorCallAccess().getArgumentsAssignment_4_1_0()); }
-)
-
-    |(
-{ before(grammarAccess.getXConstructorCallAccess().getGroup_4_1_1()); }
-(rule__XConstructorCall__Group_4_1_1__0)
-{ after(grammarAccess.getXConstructorCallAccess().getGroup_4_1_1()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__XBooleanLiteral__Alternatives_1
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-(
-{ before(grammarAccess.getXBooleanLiteralAccess().getFalseKeyword_1_0()); }
-
-	'false' 
-
-{ after(grammarAccess.getXBooleanLiteralAccess().getFalseKeyword_1_0()); }
-)
-
-    |(
-{ before(grammarAccess.getXBooleanLiteralAccess().getIsTrueAssignment_1_1()); }
-(rule__XBooleanLiteral__IsTrueAssignment_1_1)
-{ after(grammarAccess.getXBooleanLiteralAccess().getIsTrueAssignment_1_1()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__XTryCatchFinallyExpression__Alternatives_3
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-(
-{ before(grammarAccess.getXTryCatchFinallyExpressionAccess().getGroup_3_0()); }
-(rule__XTryCatchFinallyExpression__Group_3_0__0)
-{ after(grammarAccess.getXTryCatchFinallyExpressionAccess().getGroup_3_0()); }
-)
-
-    |(
-{ before(grammarAccess.getXTryCatchFinallyExpressionAccess().getGroup_3_1()); }
-(rule__XTryCatchFinallyExpression__Group_3_1__0)
-{ after(grammarAccess.getXTryCatchFinallyExpressionAccess().getGroup_3_1()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__Number__Alternatives
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-(
-{ before(grammarAccess.getNumberAccess().getHEXTerminalRuleCall_0()); }
-	RULE_HEX
-{ after(grammarAccess.getNumberAccess().getHEXTerminalRuleCall_0()); }
-)
-
-    |(
-{ before(grammarAccess.getNumberAccess().getGroup_1()); }
-(rule__Number__Group_1__0)
-{ after(grammarAccess.getNumberAccess().getGroup_1()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__Number__Alternatives_1_0
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-(
-{ before(grammarAccess.getNumberAccess().getINTTerminalRuleCall_1_0_0()); }
-	RULE_INT
-{ after(grammarAccess.getNumberAccess().getINTTerminalRuleCall_1_0_0()); }
-)
-
-    |(
-{ before(grammarAccess.getNumberAccess().getDECIMALTerminalRuleCall_1_0_1()); }
-	RULE_DECIMAL
-{ after(grammarAccess.getNumberAccess().getDECIMALTerminalRuleCall_1_0_1()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__Number__Alternatives_1_1_1
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-(
-{ before(grammarAccess.getNumberAccess().getINTTerminalRuleCall_1_1_1_0()); }
-	RULE_INT
-{ after(grammarAccess.getNumberAccess().getINTTerminalRuleCall_1_1_1_0()); }
-)
-
-    |(
-{ before(grammarAccess.getNumberAccess().getDECIMALTerminalRuleCall_1_1_1_1()); }
-	RULE_DECIMAL
-{ after(grammarAccess.getNumberAccess().getDECIMALTerminalRuleCall_1_1_1_1()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__JvmTypeReference__Alternatives
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-(
-{ before(grammarAccess.getJvmTypeReferenceAccess().getGroup_0()); }
-(rule__JvmTypeReference__Group_0__0)
-{ after(grammarAccess.getJvmTypeReferenceAccess().getGroup_0()); }
-)
-
-    |(
-{ before(grammarAccess.getJvmTypeReferenceAccess().getXFunctionTypeRefParserRuleCall_1()); }
-	ruleXFunctionTypeRef
-{ after(grammarAccess.getJvmTypeReferenceAccess().getXFunctionTypeRefParserRuleCall_1()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__JvmArgumentTypeReference__Alternatives
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-(
-{ before(grammarAccess.getJvmArgumentTypeReferenceAccess().getJvmTypeReferenceParserRuleCall_0()); }
-	ruleJvmTypeReference
-{ after(grammarAccess.getJvmArgumentTypeReferenceAccess().getJvmTypeReferenceParserRuleCall_0()); }
-)
-
-    |(
-{ before(grammarAccess.getJvmArgumentTypeReferenceAccess().getJvmWildcardTypeReferenceParserRuleCall_1()); }
-	ruleJvmWildcardTypeReference
-{ after(grammarAccess.getJvmArgumentTypeReferenceAccess().getJvmWildcardTypeReferenceParserRuleCall_1()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__JvmWildcardTypeReference__Alternatives_2
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-(
-{ before(grammarAccess.getJvmWildcardTypeReferenceAccess().getGroup_2_0()); }
-(rule__JvmWildcardTypeReference__Group_2_0__0)
-{ after(grammarAccess.getJvmWildcardTypeReferenceAccess().getGroup_2_0()); }
-)
-
-    |(
-{ before(grammarAccess.getJvmWildcardTypeReferenceAccess().getGroup_2_1()); }
-(rule__JvmWildcardTypeReference__Group_2_1__0)
-{ after(grammarAccess.getJvmWildcardTypeReferenceAccess().getGroup_2_1()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__XImportDeclaration__Alternatives_1
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-(
-{ before(grammarAccess.getXImportDeclarationAccess().getGroup_1_0()); }
-(rule__XImportDeclaration__Group_1_0__0)
-{ after(grammarAccess.getXImportDeclarationAccess().getGroup_1_0()); }
-)
-
-    |(
-{ before(grammarAccess.getXImportDeclarationAccess().getImportedTypeAssignment_1_1()); }
-(rule__XImportDeclaration__ImportedTypeAssignment_1_1)
-{ after(grammarAccess.getXImportDeclarationAccess().getImportedTypeAssignment_1_1()); }
-)
-
-    |(
-{ before(grammarAccess.getXImportDeclarationAccess().getImportedNamespaceAssignment_1_2()); }
-(rule__XImportDeclaration__ImportedNamespaceAssignment_1_2)
-{ after(grammarAccess.getXImportDeclarationAccess().getImportedNamespaceAssignment_1_2()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__XImportDeclaration__Alternatives_1_0_3
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-(
-{ before(grammarAccess.getXImportDeclarationAccess().getWildcardAssignment_1_0_3_0()); }
-(rule__XImportDeclaration__WildcardAssignment_1_0_3_0)
-{ after(grammarAccess.getXImportDeclarationAccess().getWildcardAssignment_1_0_3_0()); }
-)
-
-    |(
-{ before(grammarAccess.getXImportDeclarationAccess().getMemberNameAssignment_1_0_3_1()); }
-(rule__XImportDeclaration__MemberNameAssignment_1_0_3_1)
-{ after(grammarAccess.getXImportDeclarationAccess().getMemberNameAssignment_1_0_3_1()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__UnitEnum__Alternatives
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-(
-{ before(grammarAccess.getUnitEnumAccess().getMMEnumLiteralDeclaration_0()); }
-(	'mm' 
-)
-{ after(grammarAccess.getUnitEnumAccess().getMMEnumLiteralDeclaration_0()); }
-)
-
-    |(
-{ before(grammarAccess.getUnitEnumAccess().getCMEnumLiteralDeclaration_1()); }
-(	'cm' 
-)
-{ after(grammarAccess.getUnitEnumAccess().getCMEnumLiteralDeclaration_1()); }
-)
-
-    |(
-{ before(grammarAccess.getUnitEnumAccess().getPTEnumLiteralDeclaration_2()); }
-(	'pt' 
-)
-{ after(grammarAccess.getUnitEnumAccess().getPTEnumLiteralDeclaration_2()); }
-)
-
-    |(
-{ before(grammarAccess.getUnitEnumAccess().getINEnumLiteralDeclaration_3()); }
-(	'inch' 
-)
-{ after(grammarAccess.getUnitEnumAccess().getINEnumLiteralDeclaration_3()); }
-)
-
-    |(
-{ before(grammarAccess.getUnitEnumAccess().getPCEnumLiteralDeclaration_4()); }
-(	'pc' 
-)
-{ after(grammarAccess.getUnitEnumAccess().getPCEnumLiteralDeclaration_4()); }
-)
-
-    |(
-{ before(grammarAccess.getUnitEnumAccess().getEMEnumLiteralDeclaration_5()); }
-(	'em' 
-)
-{ after(grammarAccess.getUnitEnumAccess().getEMEnumLiteralDeclaration_5()); }
-)
-
-    |(
-{ before(grammarAccess.getUnitEnumAccess().getEXEnumLiteralDeclaration_6()); }
-(	'ex' 
-)
-{ after(grammarAccess.getUnitEnumAccess().getEXEnumLiteralDeclaration_6()); }
-)
-
-    |(
-{ before(grammarAccess.getUnitEnumAccess().getPXEnumLiteralDeclaration_7()); }
-(	'px' 
-)
-{ after(grammarAccess.getUnitEnumAccess().getPXEnumLiteralDeclaration_7()); }
-)
-
-    |(
-{ before(grammarAccess.getUnitEnumAccess().getPERCENTAGEEnumLiteralDeclaration_8()); }
-(	'%' 
-)
-{ after(grammarAccess.getUnitEnumAccess().getPERCENTAGEEnumLiteralDeclaration_8()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__PageSizeEnum__Alternatives
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-(
-{ before(grammarAccess.getPageSizeEnumAccess().getA4EnumLiteralDeclaration_0()); }
-(	'a4' 
-)
-{ after(grammarAccess.getPageSizeEnumAccess().getA4EnumLiteralDeclaration_0()); }
-)
-
-    |(
-{ before(grammarAccess.getPageSizeEnumAccess().getA3EnumLiteralDeclaration_1()); }
-(	'a3' 
-)
-{ after(grammarAccess.getPageSizeEnumAccess().getA3EnumLiteralDeclaration_1()); }
-)
-
-    |(
-{ before(grammarAccess.getPageSizeEnumAccess().getA5EnumLiteralDeclaration_2()); }
-(	'a5' 
-)
-{ after(grammarAccess.getPageSizeEnumAccess().getA5EnumLiteralDeclaration_2()); }
-)
-
-    |(
-{ before(grammarAccess.getPageSizeEnumAccess().getUS_LETTEREnumLiteralDeclaration_3()); }
-(	'us-letter' 
-)
-{ after(grammarAccess.getPageSizeEnumAccess().getUS_LETTEREnumLiteralDeclaration_3()); }
-)
-
-    |(
-{ before(grammarAccess.getPageSizeEnumAccess().getUS_LEGALEnumLiteralDeclaration_4()); }
-(	'us-legal' 
-)
-{ after(grammarAccess.getPageSizeEnumAccess().getUS_LEGALEnumLiteralDeclaration_4()); }
-)
-
-    |(
-{ before(grammarAccess.getPageSizeEnumAccess().getUS_LEDGEREnumLiteralDeclaration_5()); }
-(	'us-ledger' 
-)
-{ after(grammarAccess.getPageSizeEnumAccess().getUS_LEDGEREnumLiteralDeclaration_5()); }
-)
-
-    |(
-{ before(grammarAccess.getPageSizeEnumAccess().getUS_SUPER_BEnumLiteralDeclaration_6()); }
-(	'us-super-b' 
-)
-{ after(grammarAccess.getPageSizeEnumAccess().getUS_SUPER_BEnumLiteralDeclaration_6()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__OrientationEnum__Alternatives
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-(
-{ before(grammarAccess.getOrientationEnumAccess().getPORTRAITEnumLiteralDeclaration_0()); }
-(	'portrait' 
-)
-{ after(grammarAccess.getOrientationEnumAccess().getPORTRAITEnumLiteralDeclaration_0()); }
-)
-
-    |(
-{ before(grammarAccess.getOrientationEnumAccess().getLANDSCAPEEnumLiteralDeclaration_1()); }
-(	'landscape' 
-)
-{ after(grammarAccess.getOrientationEnumAccess().getLANDSCAPEEnumLiteralDeclaration_1()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__FontStyleEnum__Alternatives
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-(
-{ before(grammarAccess.getFontStyleEnumAccess().getNORMALEnumLiteralDeclaration_0()); }
-(	'normal' 
-)
-{ after(grammarAccess.getFontStyleEnumAccess().getNORMALEnumLiteralDeclaration_0()); }
-)
-
-    |(
-{ before(grammarAccess.getFontStyleEnumAccess().getITALICEnumLiteralDeclaration_1()); }
-(	'italic' 
-)
-{ after(grammarAccess.getFontStyleEnumAccess().getITALICEnumLiteralDeclaration_1()); }
-)
-
-    |(
-{ before(grammarAccess.getFontStyleEnumAccess().getOBLIQUEEnumLiteralDeclaration_2()); }
-(	'oblique' 
-)
-{ after(grammarAccess.getFontStyleEnumAccess().getOBLIQUEEnumLiteralDeclaration_2()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__BuildInFontFamilyEnum__Alternatives
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-(
-{ before(grammarAccess.getBuildInFontFamilyEnumAccess().getMONOSPACEEnumLiteralDeclaration_0()); }
-(	'monospace' 
-)
-{ after(grammarAccess.getBuildInFontFamilyEnumAccess().getMONOSPACEEnumLiteralDeclaration_0()); }
-)
-
-    |(
-{ before(grammarAccess.getBuildInFontFamilyEnumAccess().getSANS_SERIFEnumLiteralDeclaration_1()); }
-(	'sans-serif' 
-)
-{ after(grammarAccess.getBuildInFontFamilyEnumAccess().getSANS_SERIFEnumLiteralDeclaration_1()); }
-)
-
-    |(
-{ before(grammarAccess.getBuildInFontFamilyEnumAccess().getSERIFEnumLiteralDeclaration_2()); }
-(	'serif' 
-)
-{ after(grammarAccess.getBuildInFontFamilyEnumAccess().getSERIFEnumLiteralDeclaration_2()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__TextAlignEnum__Alternatives
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-(
-{ before(grammarAccess.getTextAlignEnumAccess().getLEFTEnumLiteralDeclaration_0()); }
-(	'left' 
-)
-{ after(grammarAccess.getTextAlignEnumAccess().getLEFTEnumLiteralDeclaration_0()); }
-)
-
-    |(
-{ before(grammarAccess.getTextAlignEnumAccess().getCENTEREnumLiteralDeclaration_1()); }
-(	'center' 
-)
-{ after(grammarAccess.getTextAlignEnumAccess().getCENTEREnumLiteralDeclaration_1()); }
-)
-
-    |(
-{ before(grammarAccess.getTextAlignEnumAccess().getRIGHTEnumLiteralDeclaration_2()); }
-(	'right' 
-)
-{ after(grammarAccess.getTextAlignEnumAccess().getRIGHTEnumLiteralDeclaration_2()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__NumberFormatCategoryEnum__Alternatives
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-(
-{ before(grammarAccess.getNumberFormatCategoryEnumAccess().getUNFORMATTEDEnumLiteralDeclaration_0()); }
-(	'unformatted' 
-)
-{ after(grammarAccess.getNumberFormatCategoryEnumAccess().getUNFORMATTEDEnumLiteralDeclaration_0()); }
-)
-
-    |(
-{ before(grammarAccess.getNumberFormatCategoryEnumAccess().getGENERAL_NUMBEREnumLiteralDeclaration_1()); }
-(	'general-number' 
-)
-{ after(grammarAccess.getNumberFormatCategoryEnumAccess().getGENERAL_NUMBEREnumLiteralDeclaration_1()); }
-)
-
-    |(
-{ before(grammarAccess.getNumberFormatCategoryEnumAccess().getFIXEDEnumLiteralDeclaration_2()); }
-(	'fixed' 
-)
-{ after(grammarAccess.getNumberFormatCategoryEnumAccess().getFIXEDEnumLiteralDeclaration_2()); }
-)
-
-    |(
-{ before(grammarAccess.getNumberFormatCategoryEnumAccess().getPERCENTEnumLiteralDeclaration_3()); }
-(	'percent' 
-)
-{ after(grammarAccess.getNumberFormatCategoryEnumAccess().getPERCENTEnumLiteralDeclaration_3()); }
-)
-
-    |(
-{ before(grammarAccess.getNumberFormatCategoryEnumAccess().getSCIENTIFICEnumLiteralDeclaration_4()); }
-(	'scientific' 
-)
-{ after(grammarAccess.getNumberFormatCategoryEnumAccess().getSCIENTIFICEnumLiteralDeclaration_4()); }
-)
-
-    |(
-{ before(grammarAccess.getNumberFormatCategoryEnumAccess().getCUSTOMEnumLiteralDeclaration_5()); }
-(	'custom' 
-)
-{ after(grammarAccess.getNumberFormatCategoryEnumAccess().getCUSTOMEnumLiteralDeclaration_5()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__CurrencyFormatCategoryEnum__Alternatives
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-(
-{ before(grammarAccess.getCurrencyFormatCategoryEnumAccess().getUNFORMATTEDEnumLiteralDeclaration_0()); }
-(	'unformatted' 
-)
-{ after(grammarAccess.getCurrencyFormatCategoryEnumAccess().getUNFORMATTEDEnumLiteralDeclaration_0()); }
-)
-
-    |(
-{ before(grammarAccess.getCurrencyFormatCategoryEnumAccess().getCURRENCYEnumLiteralDeclaration_1()); }
-(	'currency' 
-)
-{ after(grammarAccess.getCurrencyFormatCategoryEnumAccess().getCURRENCYEnumLiteralDeclaration_1()); }
-)
-
-    |(
-{ before(grammarAccess.getCurrencyFormatCategoryEnumAccess().getCUSTOMEnumLiteralDeclaration_2()); }
-(	'custom' 
-)
-{ after(grammarAccess.getCurrencyFormatCategoryEnumAccess().getCUSTOMEnumLiteralDeclaration_2()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__RenderingEnum__Alternatives
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-(
-{ before(grammarAccess.getRenderingEnumAccess().getHTMLEnumLiteralDeclaration_0()); }
-(	'html' 
-)
-{ after(grammarAccess.getRenderingEnumAccess().getHTMLEnumLiteralDeclaration_0()); }
-)
-
-    |(
-{ before(grammarAccess.getRenderingEnumAccess().getPDFEnumLiteralDeclaration_1()); }
-(	'pdf' 
-)
-{ after(grammarAccess.getRenderingEnumAccess().getPDFEnumLiteralDeclaration_1()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__PureAggregationTypeEnum__Alternatives
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-(
-{ before(grammarAccess.getPureAggregationTypeEnumAccess().getCOUNTEnumLiteralDeclaration_0()); }
-(	'count' 
-)
-{ after(grammarAccess.getPureAggregationTypeEnumAccess().getCOUNTEnumLiteralDeclaration_0()); }
-)
-
-    |(
-{ before(grammarAccess.getPureAggregationTypeEnumAccess().getRUNNINGCOUNTEnumLiteralDeclaration_1()); }
-(	'running-count' 
-)
-{ after(grammarAccess.getPureAggregationTypeEnumAccess().getRUNNINGCOUNTEnumLiteralDeclaration_1()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__UnaryAggregationTypeEnum__Alternatives
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-(
-{ before(grammarAccess.getUnaryAggregationTypeEnumAccess().getSUMEnumLiteralDeclaration_0()); }
-(	'sum' 
-)
-{ after(grammarAccess.getUnaryAggregationTypeEnumAccess().getSUMEnumLiteralDeclaration_0()); }
-)
-
-    |(
-{ before(grammarAccess.getUnaryAggregationTypeEnumAccess().getAVEEnumLiteralDeclaration_1()); }
-(	'average' 
-)
-{ after(grammarAccess.getUnaryAggregationTypeEnumAccess().getAVEEnumLiteralDeclaration_1()); }
-)
-
-    |(
-{ before(grammarAccess.getUnaryAggregationTypeEnumAccess().getMINEnumLiteralDeclaration_2()); }
-(	'minimum' 
-)
-{ after(grammarAccess.getUnaryAggregationTypeEnumAccess().getMINEnumLiteralDeclaration_2()); }
-)
-
-    |(
-{ before(grammarAccess.getUnaryAggregationTypeEnumAccess().getMAXEnumLiteralDeclaration_3()); }
-(	'maximum' 
-)
-{ after(grammarAccess.getUnaryAggregationTypeEnumAccess().getMAXEnumLiteralDeclaration_3()); }
-)
-
-    |(
-{ before(grammarAccess.getUnaryAggregationTypeEnumAccess().getRUNNINGSUMEnumLiteralDeclaration_4()); }
-(	'running-sum' 
-)
-{ after(grammarAccess.getUnaryAggregationTypeEnumAccess().getRUNNINGSUMEnumLiteralDeclaration_4()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__TrendIconEnum__Alternatives
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-(
-{ before(grammarAccess.getTrendIconEnumAccess().getRISINGEnumLiteralDeclaration_0()); }
-(	'rising' 
-)
-{ after(grammarAccess.getTrendIconEnumAccess().getRISINGEnumLiteralDeclaration_0()); }
-)
-
-    |(
-{ before(grammarAccess.getTrendIconEnumAccess().getBADRISINGEnumLiteralDeclaration_1()); }
-(	'bad-rising' 
-)
-{ after(grammarAccess.getTrendIconEnumAccess().getBADRISINGEnumLiteralDeclaration_1()); }
-)
-
-    |(
-{ before(grammarAccess.getTrendIconEnumAccess().getSLOPINGEnumLiteralDeclaration_2()); }
-(	'sloping' 
-)
-{ after(grammarAccess.getTrendIconEnumAccess().getSLOPINGEnumLiteralDeclaration_2()); }
-)
-
-    |(
-{ before(grammarAccess.getTrendIconEnumAccess().getGOODSLOPINGEnumLiteralDeclaration_3()); }
-(	'good-sloping' 
-)
-{ after(grammarAccess.getTrendIconEnumAccess().getGOODSLOPINGEnumLiteralDeclaration_3()); }
-)
-
-    |(
-{ before(grammarAccess.getTrendIconEnumAccess().getSTAGNATINGEnumLiteralDeclaration_4()); }
-(	'stagnating' 
-)
-{ after(grammarAccess.getTrendIconEnumAccess().getSTAGNATINGEnumLiteralDeclaration_4()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__BorderTypeEnum__Alternatives
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-(
-{ before(grammarAccess.getBorderTypeEnumAccess().getNONEEnumLiteralDeclaration_0()); }
-(	'none' 
-)
-{ after(grammarAccess.getBorderTypeEnumAccess().getNONEEnumLiteralDeclaration_0()); }
-)
-
-    |(
-{ before(grammarAccess.getBorderTypeEnumAccess().getSOLIDEnumLiteralDeclaration_1()); }
-(	'solid' 
-)
-{ after(grammarAccess.getBorderTypeEnumAccess().getSOLIDEnumLiteralDeclaration_1()); }
-)
-
-    |(
-{ before(grammarAccess.getBorderTypeEnumAccess().getDOTTEDEnumLiteralDeclaration_2()); }
-(	'dotted' 
-)
-{ after(grammarAccess.getBorderTypeEnumAccess().getDOTTEDEnumLiteralDeclaration_2()); }
-)
-
-    |(
-{ before(grammarAccess.getBorderTypeEnumAccess().getDASHEDEnumLiteralDeclaration_3()); }
-(	'dashed' 
-)
-{ after(grammarAccess.getBorderTypeEnumAccess().getDASHEDEnumLiteralDeclaration_3()); }
-)
-
-    |(
-{ before(grammarAccess.getBorderTypeEnumAccess().getDOUBLEEnumLiteralDeclaration_4()); }
-(	'double' 
-)
-{ after(grammarAccess.getBorderTypeEnumAccess().getDOUBLEEnumLiteralDeclaration_4()); }
-)
-
-    |(
-{ before(grammarAccess.getBorderTypeEnumAccess().getGROOVEEnumLiteralDeclaration_5()); }
-(	'groove' 
-)
-{ after(grammarAccess.getBorderTypeEnumAccess().getGROOVEEnumLiteralDeclaration_5()); }
-)
-
-    |(
-{ before(grammarAccess.getBorderTypeEnumAccess().getRIDGEEnumLiteralDeclaration_6()); }
-(	'ridge' 
-)
-{ after(grammarAccess.getBorderTypeEnumAccess().getRIDGEEnumLiteralDeclaration_6()); }
-)
-
-    |(
-{ before(grammarAccess.getBorderTypeEnumAccess().getINSETEnumLiteralDeclaration_7()); }
-(	'inset' 
-)
-{ after(grammarAccess.getBorderTypeEnumAccess().getINSETEnumLiteralDeclaration_7()); }
-)
-
-    |(
-{ before(grammarAccess.getBorderTypeEnumAccess().getOUTSETEnumLiteralDeclaration_8()); }
-(	'outset' 
-)
-{ after(grammarAccess.getBorderTypeEnumAccess().getOUTSETEnumLiteralDeclaration_8()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__AutoTextEnum__Alternatives
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-(
-{ before(grammarAccess.getAutoTextEnumAccess().getPAGE_NUMBEREnumLiteralDeclaration_0()); }
-(	'page-number' 
-)
-{ after(grammarAccess.getAutoTextEnumAccess().getPAGE_NUMBEREnumLiteralDeclaration_0()); }
-)
-
-    |(
-{ before(grammarAccess.getAutoTextEnumAccess().getTOTAL_PAGEEnumLiteralDeclaration_1()); }
-(	'total-page' 
-)
-{ after(grammarAccess.getAutoTextEnumAccess().getTOTAL_PAGEEnumLiteralDeclaration_1()); }
-)
-
-    |(
-{ before(grammarAccess.getAutoTextEnumAccess().getPAGE_NUMBER_UNFILTEREDEnumLiteralDeclaration_2()); }
-(	'page-number-unfiltered' 
-)
-{ after(grammarAccess.getAutoTextEnumAccess().getPAGE_NUMBER_UNFILTEREDEnumLiteralDeclaration_2()); }
-)
-
-    |(
-{ before(grammarAccess.getAutoTextEnumAccess().getTOTAL_PAGE_UNFILTEREDEnumLiteralDeclaration_3()); }
-(	'total-page-unfiltered' 
-)
-{ after(grammarAccess.getAutoTextEnumAccess().getTOTAL_PAGE_UNFILTEREDEnumLiteralDeclaration_3()); }
-)
-
-    |(
-{ before(grammarAccess.getAutoTextEnumAccess().getPAGE_VARIABLEEnumLiteralDeclaration_4()); }
-(	'page-variable' 
-)
-{ after(grammarAccess.getAutoTextEnumAccess().getPAGE_VARIABLEEnumLiteralDeclaration_4()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__ImageSizeEnum__Alternatives
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-(
-{ before(grammarAccess.getImageSizeEnumAccess().getSIZE_TO_IMAGEEnumLiteralDeclaration_0()); }
-(	'size-to-image' 
-)
-{ after(grammarAccess.getImageSizeEnumAccess().getSIZE_TO_IMAGEEnumLiteralDeclaration_0()); }
-)
-
-    |(
-{ before(grammarAccess.getImageSizeEnumAccess().getSCALE_TO_ITEMEnumLiteralDeclaration_1()); }
-(	'scale-to-item' 
-)
-{ after(grammarAccess.getImageSizeEnumAccess().getSCALE_TO_ITEMEnumLiteralDeclaration_1()); }
-)
-
-    |(
-{ before(grammarAccess.getImageSizeEnumAccess().getCLIPEnumLiteralDeclaration_2()); }
-(	'clip' 
-)
-{ after(grammarAccess.getImageSizeEnumAccess().getCLIPEnumLiteralDeclaration_2()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__ImageSourceEnum__Alternatives
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-(
-{ before(grammarAccess.getImageSourceEnumAccess().getFILEEnumLiteralDeclaration_0()); }
-(	'file' 
-)
-{ after(grammarAccess.getImageSourceEnumAccess().getFILEEnumLiteralDeclaration_0()); }
-)
-
-    |(
-{ before(grammarAccess.getImageSourceEnumAccess().getURLEnumLiteralDeclaration_1()); }
-(	'url' 
-)
-{ after(grammarAccess.getImageSourceEnumAccess().getURLEnumLiteralDeclaration_1()); }
-)
-
-    |(
-{ before(grammarAccess.getImageSourceEnumAccess().getEMBEDEnumLiteralDeclaration_2()); }
-(	'embed' 
-)
-{ after(grammarAccess.getImageSourceEnumAccess().getEMBEDEnumLiteralDeclaration_2()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
-
-rule__ReportPackage__Group__0
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-	rule__ReportPackage__Group__0__Impl
-	rule__ReportPackage__Group__1
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__ReportPackage__Group__0__Impl
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-(
-{ before(grammarAccess.getReportPackageAccess().getReportPackageAction_0()); }
-(
-
-)
-{ after(grammarAccess.getReportPackageAccess().getReportPackageAction_0()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
-rule__ReportPackage__Group__1
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-	rule__ReportPackage__Group__1__Impl
-	rule__ReportPackage__Group__2
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__ReportPackage__Group__1__Impl
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-(
-{ before(grammarAccess.getReportPackageAccess().getPackageKeyword_1()); }
-
-	'package' 
-
-{ after(grammarAccess.getReportPackageAccess().getPackageKeyword_1()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
-rule__ReportPackage__Group__2
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-	rule__ReportPackage__Group__2__Impl
-	rule__ReportPackage__Group__3
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__ReportPackage__Group__2__Impl
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-(
-{ before(grammarAccess.getReportPackageAccess().getNameAssignment_2()); }
-(rule__ReportPackage__NameAssignment_2)
-{ after(grammarAccess.getReportPackageAccess().getNameAssignment_2()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
-rule__ReportPackage__Group__3
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-	rule__ReportPackage__Group__3__Impl
-	rule__ReportPackage__Group__4
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__ReportPackage__Group__3__Impl
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-(
-{ before(grammarAccess.getReportPackageAccess().getLeftCurlyBracketKeyword_3()); }
-
-	'{' 
-
-{ after(grammarAccess.getReportPackageAccess().getLeftCurlyBracketKeyword_3()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
-rule__ReportPackage__Group__4
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-	rule__ReportPackage__Group__4__Impl
-	rule__ReportPackage__Group__5
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__ReportPackage__Group__4__Impl
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-(
-{ before(grammarAccess.getReportPackageAccess().getImportsAssignment_4()); }
-(rule__ReportPackage__ImportsAssignment_4)*
-{ after(grammarAccess.getReportPackageAccess().getImportsAssignment_4()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
-rule__ReportPackage__Group__5
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-	rule__ReportPackage__Group__5__Impl
-	rule__ReportPackage__Group__6
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__ReportPackage__Group__5__Impl
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-(
-{ before(grammarAccess.getReportPackageAccess().getGroup_5()); }
-(rule__ReportPackage__Group_5__0)?
-{ after(grammarAccess.getReportPackageAccess().getGroup_5()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
-rule__ReportPackage__Group__6
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-	rule__ReportPackage__Group__6__Impl
-	rule__ReportPackage__Group__7
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__ReportPackage__Group__6__Impl
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-(
-{ before(grammarAccess.getReportPackageAccess().getReportsAssignment_6()); }
-(rule__ReportPackage__ReportsAssignment_6)*
-{ after(grammarAccess.getReportPackageAccess().getReportsAssignment_6()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
-rule__ReportPackage__Group__7
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-	rule__ReportPackage__Group__7__Impl
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__ReportPackage__Group__7__Impl
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-(
-{ before(grammarAccess.getReportPackageAccess().getRightCurlyBracketKeyword_7()); }
-
-	'}' 
-
-{ after(grammarAccess.getReportPackageAccess().getRightCurlyBracketKeyword_7()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-rule__ReportPackage__Group_5__0
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-	rule__ReportPackage__Group_5__0__Impl
-	rule__ReportPackage__Group_5__1
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__ReportPackage__Group_5__0__Impl
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-(
-{ before(grammarAccess.getReportPackageAccess().getLayoutDataKeyword_5_0()); }
-
-	'layout-data' 
-
-{ after(grammarAccess.getReportPackageAccess().getLayoutDataKeyword_5_0()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
-rule__ReportPackage__Group_5__1
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-	rule__ReportPackage__Group_5__1__Impl
-	rule__ReportPackage__Group_5__2
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__ReportPackage__Group_5__1__Impl
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-(
-{ before(grammarAccess.getReportPackageAccess().getLeftCurlyBracketKeyword_5_1()); }
-
-	'{' 
-
-{ after(grammarAccess.getReportPackageAccess().getLeftCurlyBracketKeyword_5_1()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
-rule__ReportPackage__Group_5__2
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-	rule__ReportPackage__Group_5__2__Impl
-	rule__ReportPackage__Group_5__3
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__ReportPackage__Group_5__2__Impl
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-(
-{ before(grammarAccess.getReportPackageAccess().getGroup_5_2()); }
-(rule__ReportPackage__Group_5_2__0)?
-{ after(grammarAccess.getReportPackageAccess().getGroup_5_2()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
-rule__ReportPackage__Group_5__3
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-	rule__ReportPackage__Group_5__3__Impl
-	rule__ReportPackage__Group_5__4
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__ReportPackage__Group_5__3__Impl
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-(
-{ before(grammarAccess.getReportPackageAccess().getPagetemplatesAssignment_5_3()); }
-(rule__ReportPackage__PagetemplatesAssignment_5_3)
-{ after(grammarAccess.getReportPackageAccess().getPagetemplatesAssignment_5_3()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
-rule__ReportPackage__Group_5__4
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-	rule__ReportPackage__Group_5__4__Impl
-	rule__ReportPackage__Group_5__5
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__ReportPackage__Group_5__4__Impl
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-(
-{ before(grammarAccess.getReportPackageAccess().getFormattersAssignment_5_4()); }
-(rule__ReportPackage__FormattersAssignment_5_4)
-{ after(grammarAccess.getReportPackageAccess().getFormattersAssignment_5_4()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
-rule__ReportPackage__Group_5__5
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-	rule__ReportPackage__Group_5__5__Impl
-	rule__ReportPackage__Group_5__6
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__ReportPackage__Group_5__5__Impl
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-(
-{ before(grammarAccess.getReportPackageAccess().getColorsAssignment_5_5()); }
-(rule__ReportPackage__ColorsAssignment_5_5)
-{ after(grammarAccess.getReportPackageAccess().getColorsAssignment_5_5()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
-rule__ReportPackage__Group_5__6
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-	rule__ReportPackage__Group_5__6__Impl
-	rule__ReportPackage__Group_5__7
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__ReportPackage__Group_5__6__Impl
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-(
-{ before(grammarAccess.getReportPackageAccess().getFontsAssignment_5_6()); }
-(rule__ReportPackage__FontsAssignment_5_6)
-{ after(grammarAccess.getReportPackageAccess().getFontsAssignment_5_6()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
-rule__ReportPackage__Group_5__7
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-	rule__ReportPackage__Group_5__7__Impl
-	rule__ReportPackage__Group_5__8
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__ReportPackage__Group_5__7__Impl
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-(
-{ before(grammarAccess.getReportPackageAccess().getMediasAssignment_5_7()); }
-(rule__ReportPackage__MediasAssignment_5_7)
-{ after(grammarAccess.getReportPackageAccess().getMediasAssignment_5_7()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
-rule__ReportPackage__Group_5__8
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-	rule__ReportPackage__Group_5__8__Impl
-	rule__ReportPackage__Group_5__9
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__ReportPackage__Group_5__8__Impl
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-(
-{ before(grammarAccess.getReportPackageAccess().getStylesAssignment_5_8()); }
-(rule__ReportPackage__StylesAssignment_5_8)
-{ after(grammarAccess.getReportPackageAccess().getStylesAssignment_5_8()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
-rule__ReportPackage__Group_5__9
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-	rule__ReportPackage__Group_5__9__Impl
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__ReportPackage__Group_5__9__Impl
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-(
-{ before(grammarAccess.getReportPackageAccess().getRightCurlyBracketKeyword_5_9()); }
-
-	'}' 
-
-{ after(grammarAccess.getReportPackageAccess().getRightCurlyBracketKeyword_5_9()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-rule__ReportPackage__Group_5_2__0
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-	rule__ReportPackage__Group_5_2__0__Impl
-	rule__ReportPackage__Group_5_2__1
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__ReportPackage__Group_5_2__0__Impl
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-(
-{ before(grammarAccess.getReportPackageAccess().getExternalCssURIKeyword_5_2_0()); }
-
-	'externalCssURI' 
-
-{ after(grammarAccess.getReportPackageAccess().getExternalCssURIKeyword_5_2_0()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
-rule__ReportPackage__Group_5_2__1
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-	rule__ReportPackage__Group_5_2__1__Impl
-	rule__ReportPackage__Group_5_2__2
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__ReportPackage__Group_5_2__1__Impl
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-(
-{ before(grammarAccess.getReportPackageAccess().getExternalCssURIAssignment_5_2_1()); }
-(rule__ReportPackage__ExternalCssURIAssignment_5_2_1)
-{ after(grammarAccess.getReportPackageAccess().getExternalCssURIAssignment_5_2_1()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
-rule__ReportPackage__Group_5_2__2
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-	rule__ReportPackage__Group_5_2__2__Impl
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__ReportPackage__Group_5_2__2__Impl
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-(
-{ before(grammarAccess.getReportPackageAccess().getGroup_5_2_2()); }
-(rule__ReportPackage__Group_5_2_2__0)?
-{ after(grammarAccess.getReportPackageAccess().getGroup_5_2_2()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
-
-
-
-
-
-
-rule__ReportPackage__Group_5_2_2__0
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-	rule__ReportPackage__Group_5_2_2__0__Impl
-	rule__ReportPackage__Group_5_2_2__1
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__ReportPackage__Group_5_2_2__0__Impl
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-(
-{ before(grammarAccess.getReportPackageAccess().getFromBundleKeyword_5_2_2_0()); }
-
-	'from bundle' 
-
-{ after(grammarAccess.getReportPackageAccess().getFromBundleKeyword_5_2_2_0()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
-rule__ReportPackage__Group_5_2_2__1
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-	rule__ReportPackage__Group_5_2_2__1__Impl
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__ReportPackage__Group_5_2_2__1__Impl
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-(
-{ before(grammarAccess.getReportPackageAccess().getExternalCssURIBundleAssignment_5_2_2_1()); }
-(rule__ReportPackage__ExternalCssURIBundleAssignment_5_2_2_1)
-{ after(grammarAccess.getReportPackageAccess().getExternalCssURIBundleAssignment_5_2_2_1()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
-
-
-
-
-rule__PageTemplates__Group__0
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-	rule__PageTemplates__Group__0__Impl
-	rule__PageTemplates__Group__1
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__PageTemplates__Group__0__Impl
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-(
-{ before(grammarAccess.getPageTemplatesAccess().getPageTemplatesAction_0()); }
-(
-
-)
-{ after(grammarAccess.getPageTemplatesAccess().getPageTemplatesAction_0()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
-rule__PageTemplates__Group__1
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-	rule__PageTemplates__Group__1__Impl
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__PageTemplates__Group__1__Impl
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-(
-{ before(grammarAccess.getPageTemplatesAccess().getPagetemplatesAssignment_1()); }
-(rule__PageTemplates__PagetemplatesAssignment_1)*
-{ after(grammarAccess.getPageTemplatesAccess().getPagetemplatesAssignment_1()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
-
-
-
-
-rule__SomeFormats__Group__0
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-	rule__SomeFormats__Group__0__Impl
-	rule__SomeFormats__Group__1
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__SomeFormats__Group__0__Impl
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-(
-{ before(grammarAccess.getSomeFormatsAccess().getSomeFormatsAction_0()); }
-(
-
-)
-{ after(grammarAccess.getSomeFormatsAccess().getSomeFormatsAction_0()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
-rule__SomeFormats__Group__1
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-	rule__SomeFormats__Group__1__Impl
-	rule__SomeFormats__Group__2
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__SomeFormats__Group__1__Impl
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-(
-{ before(grammarAccess.getSomeFormatsAccess().getFormattersKeyword_1()); }
-
-	'formatters' 
-
-{ after(grammarAccess.getSomeFormatsAccess().getFormattersKeyword_1()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
-rule__SomeFormats__Group__2
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-	rule__SomeFormats__Group__2__Impl
-	rule__SomeFormats__Group__3
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__SomeFormats__Group__2__Impl
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-(
-{ before(grammarAccess.getSomeFormatsAccess().getLeftCurlyBracketKeyword_2()); }
-
-	'{' 
-
-{ after(grammarAccess.getSomeFormatsAccess().getLeftCurlyBracketKeyword_2()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
-rule__SomeFormats__Group__3
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-	rule__SomeFormats__Group__3__Impl
-	rule__SomeFormats__Group__4
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__SomeFormats__Group__3__Impl
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-(
-{ before(grammarAccess.getSomeFormatsAccess().getFormattersAssignment_3()); }
-(rule__SomeFormats__FormattersAssignment_3)*
-{ after(grammarAccess.getSomeFormatsAccess().getFormattersAssignment_3()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
-rule__SomeFormats__Group__4
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-	rule__SomeFormats__Group__4__Impl
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__SomeFormats__Group__4__Impl
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-(
-{ before(grammarAccess.getSomeFormatsAccess().getRightCurlyBracketKeyword_4()); }
-
-	'}' 
-
-{ after(grammarAccess.getSomeFormatsAccess().getRightCurlyBracketKeyword_4()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
-
-
-
-
-
-
-
-
-
-
-rule__Colors__Group__0
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-	rule__Colors__Group__0__Impl
-	rule__Colors__Group__1
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__Colors__Group__0__Impl
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-(
-{ before(grammarAccess.getColorsAccess().getColorsAction_0()); }
-(
-
-)
-{ after(grammarAccess.getColorsAccess().getColorsAction_0()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
-rule__Colors__Group__1
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-	rule__Colors__Group__1__Impl
-	rule__Colors__Group__2
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__Colors__Group__1__Impl
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-(
-{ before(grammarAccess.getColorsAccess().getColorsKeyword_1()); }
-
-	'colors' 
-
-{ after(grammarAccess.getColorsAccess().getColorsKeyword_1()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
-rule__Colors__Group__2
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-	rule__Colors__Group__2__Impl
-	rule__Colors__Group__3
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__Colors__Group__2__Impl
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-(
-{ before(grammarAccess.getColorsAccess().getLeftCurlyBracketKeyword_2()); }
-
-	'{' 
-
-{ after(grammarAccess.getColorsAccess().getLeftCurlyBracketKeyword_2()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
-rule__Colors__Group__3
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-	rule__Colors__Group__3__Impl
-	rule__Colors__Group__4
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__Colors__Group__3__Impl
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-(
-{ before(grammarAccess.getColorsAccess().getColorsAssignment_3()); }
-(rule__Colors__ColorsAssignment_3)*
-{ after(grammarAccess.getColorsAccess().getColorsAssignment_3()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
-rule__Colors__Group__4
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-	rule__Colors__Group__4__Impl
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__Colors__Group__4__Impl
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-(
-{ before(grammarAccess.getColorsAccess().getRightCurlyBracketKeyword_4()); }
-
-	'}' 
-
-{ after(grammarAccess.getColorsAccess().getRightCurlyBracketKeyword_4()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
-
-
-
-
-
-
-
-
-
-
-rule__Fonts__Group__0
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-	rule__Fonts__Group__0__Impl
-	rule__Fonts__Group__1
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__Fonts__Group__0__Impl
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-(
-{ before(grammarAccess.getFontsAccess().getFontsAction_0()); }
-(
-
-)
-{ after(grammarAccess.getFontsAccess().getFontsAction_0()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
-rule__Fonts__Group__1
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-	rule__Fonts__Group__1__Impl
-	rule__Fonts__Group__2
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__Fonts__Group__1__Impl
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-(
-{ before(grammarAccess.getFontsAccess().getFontsKeyword_1()); }
-
-	'fonts' 
-
-{ after(grammarAccess.getFontsAccess().getFontsKeyword_1()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
-rule__Fonts__Group__2
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-	rule__Fonts__Group__2__Impl
-	rule__Fonts__Group__3
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__Fonts__Group__2__Impl
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-(
-{ before(grammarAccess.getFontsAccess().getLeftCurlyBracketKeyword_2()); }
-
-	'{' 
-
-{ after(grammarAccess.getFontsAccess().getLeftCurlyBracketKeyword_2()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
-rule__Fonts__Group__3
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-	rule__Fonts__Group__3__Impl
-	rule__Fonts__Group__4
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__Fonts__Group__3__Impl
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-(
-{ before(grammarAccess.getFontsAccess().getFontsAssignment_3()); }
-(rule__Fonts__FontsAssignment_3)*
-{ after(grammarAccess.getFontsAccess().getFontsAssignment_3()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
-rule__Fonts__Group__4
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-	rule__Fonts__Group__4__Impl
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__Fonts__Group__4__Impl
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-(
-{ before(grammarAccess.getFontsAccess().getRightCurlyBracketKeyword_4()); }
-
-	'}' 
-
-{ after(grammarAccess.getFontsAccess().getRightCurlyBracketKeyword_4()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
-
-
-
-
-
-
-
-
-
-
-rule__Medias__Group__0
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-	rule__Medias__Group__0__Impl
-	rule__Medias__Group__1
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__Medias__Group__0__Impl
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-(
-{ before(grammarAccess.getMediasAccess().getMediasAction_0()); }
-(
-
-)
-{ after(grammarAccess.getMediasAccess().getMediasAction_0()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
-rule__Medias__Group__1
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-	rule__Medias__Group__1__Impl
-	rule__Medias__Group__2
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__Medias__Group__1__Impl
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-(
-{ before(grammarAccess.getMediasAccess().getMediasKeyword_1()); }
-
-	'medias' 
-
-{ after(grammarAccess.getMediasAccess().getMediasKeyword_1()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
-rule__Medias__Group__2
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-	rule__Medias__Group__2__Impl
-	rule__Medias__Group__3
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__Medias__Group__2__Impl
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-(
-{ before(grammarAccess.getMediasAccess().getLeftCurlyBracketKeyword_2()); }
-
-	'{' 
-
-{ after(grammarAccess.getMediasAccess().getLeftCurlyBracketKeyword_2()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
-rule__Medias__Group__3
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-	rule__Medias__Group__3__Impl
-	rule__Medias__Group__4
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__Medias__Group__3__Impl
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-(
-{ before(grammarAccess.getMediasAccess().getMediasAssignment_3()); }
-(rule__Medias__MediasAssignment_3)*
-{ after(grammarAccess.getMediasAccess().getMediasAssignment_3()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
-rule__Medias__Group__4
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-	rule__Medias__Group__4__Impl
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__Medias__Group__4__Impl
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-(
-{ before(grammarAccess.getMediasAccess().getRightCurlyBracketKeyword_4()); }
-
-	'}' 
-
-{ after(grammarAccess.getMediasAccess().getRightCurlyBracketKeyword_4()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
-
-
-
-
-
-
-
-
-
-
-rule__Media__Group__0
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-	rule__Media__Group__0__Impl
-	rule__Media__Group__1
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__Media__Group__0__Impl
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-(
-{ before(grammarAccess.getMediaAccess().getMediaKeyword_0()); }
-
-	'media' 
-
-{ after(grammarAccess.getMediaAccess().getMediaKeyword_0()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
-rule__Media__Group__1
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-	rule__Media__Group__1__Impl
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__Media__Group__1__Impl
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-(
-{ before(grammarAccess.getMediaAccess().getNameAssignment_1()); }
-(rule__Media__NameAssignment_1)
-{ after(grammarAccess.getMediaAccess().getNameAssignment_1()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
-
-
-
-
-rule__Styles__Group__0
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-	rule__Styles__Group__0__Impl
-	rule__Styles__Group__1
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__Styles__Group__0__Impl
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-(
-{ before(grammarAccess.getStylesAccess().getStylesAction_0()); }
-(
-
-)
-{ after(grammarAccess.getStylesAccess().getStylesAction_0()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
-rule__Styles__Group__1
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-	rule__Styles__Group__1__Impl
-	rule__Styles__Group__2
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__Styles__Group__1__Impl
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-(
-{ before(grammarAccess.getStylesAccess().getStylesKeyword_1()); }
-
-	'styles' 
-
-{ after(grammarAccess.getStylesAccess().getStylesKeyword_1()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
-rule__Styles__Group__2
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-	rule__Styles__Group__2__Impl
-	rule__Styles__Group__3
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__Styles__Group__2__Impl
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-(
-{ before(grammarAccess.getStylesAccess().getLeftCurlyBracketKeyword_2()); }
-
-	'{' 
-
-{ after(grammarAccess.getStylesAccess().getLeftCurlyBracketKeyword_2()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
-rule__Styles__Group__3
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-	rule__Styles__Group__3__Impl
-	rule__Styles__Group__4
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__Styles__Group__3__Impl
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-(
-{ before(grammarAccess.getStylesAccess().getStylesAssignment_3()); }
-(rule__Styles__StylesAssignment_3)*
-{ after(grammarAccess.getStylesAccess().getStylesAssignment_3()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
-rule__Styles__Group__4
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-	rule__Styles__Group__4__Impl
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__Styles__Group__4__Impl
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-(
-{ before(grammarAccess.getStylesAccess().getRightCurlyBracketKeyword_4()); }
-
-	'}' 
-
-{ after(grammarAccess.getStylesAccess().getRightCurlyBracketKeyword_4()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
-
-
-
-
-
-
-
-
-
-
-rule__PageTemplate__Group__0
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-	rule__PageTemplate__Group__0__Impl
-	rule__PageTemplate__Group__1
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__PageTemplate__Group__0__Impl
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-(
-{ before(grammarAccess.getPageTemplateAccess().getPagetemplateKeyword_0()); }
-
-	'pagetemplate' 
-
-{ after(grammarAccess.getPageTemplateAccess().getPagetemplateKeyword_0()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
-rule__PageTemplate__Group__1
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-	rule__PageTemplate__Group__1__Impl
-	rule__PageTemplate__Group__2
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__PageTemplate__Group__1__Impl
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-(
-{ before(grammarAccess.getPageTemplateAccess().getNameAssignment_1()); }
-(rule__PageTemplate__NameAssignment_1)
-{ after(grammarAccess.getPageTemplateAccess().getNameAssignment_1()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
-rule__PageTemplate__Group__2
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-	rule__PageTemplate__Group__2__Impl
-	rule__PageTemplate__Group__3
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__PageTemplate__Group__2__Impl
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-(
-{ before(grammarAccess.getPageTemplateAccess().getLeftCurlyBracketKeyword_2()); }
-
-	'{' 
-
-{ after(grammarAccess.getPageTemplateAccess().getLeftCurlyBracketKeyword_2()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
-rule__PageTemplate__Group__3
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-	rule__PageTemplate__Group__3__Impl
-	rule__PageTemplate__Group__4
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__PageTemplate__Group__3__Impl
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-(
-{ before(grammarAccess.getPageTemplateAccess().getTypeKeyword_3()); }
-
-	'type' 
-
-{ after(grammarAccess.getPageTemplateAccess().getTypeKeyword_3()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
-rule__PageTemplate__Group__4
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-	rule__PageTemplate__Group__4__Impl
-	rule__PageTemplate__Group__5
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__PageTemplate__Group__4__Impl
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-(
-{ before(grammarAccess.getPageTemplateAccess().getSizeAssignment_4()); }
-(rule__PageTemplate__SizeAssignment_4)
-{ after(grammarAccess.getPageTemplateAccess().getSizeAssignment_4()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
-rule__PageTemplate__Group__5
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-	rule__PageTemplate__Group__5__Impl
-	rule__PageTemplate__Group__6
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__PageTemplate__Group__5__Impl
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-(
-{ before(grammarAccess.getPageTemplateAccess().getOrientationKeyword_5()); }
-
-	'orientation' 
-
-{ after(grammarAccess.getPageTemplateAccess().getOrientationKeyword_5()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
-rule__PageTemplate__Group__6
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-	rule__PageTemplate__Group__6__Impl
-	rule__PageTemplate__Group__7
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__PageTemplate__Group__6__Impl
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-(
-{ before(grammarAccess.getPageTemplateAccess().getOrientationAssignment_6()); }
-(rule__PageTemplate__OrientationAssignment_6)
-{ after(grammarAccess.getPageTemplateAccess().getOrientationAssignment_6()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
-rule__PageTemplate__Group__7
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-	rule__PageTemplate__Group__7__Impl
-	rule__PageTemplate__Group__8
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__PageTemplate__Group__7__Impl
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-(
-{ before(grammarAccess.getPageTemplateAccess().getTopmarginKeyword_7()); }
-
-	'topmargin' 
-
-{ after(grammarAccess.getPageTemplateAccess().getTopmarginKeyword_7()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
-rule__PageTemplate__Group__8
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-	rule__PageTemplate__Group__8__Impl
-	rule__PageTemplate__Group__9
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__PageTemplate__Group__8__Impl
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-(
-{ before(grammarAccess.getPageTemplateAccess().getTopMarginValueAssignment_8()); }
-(rule__PageTemplate__TopMarginValueAssignment_8)
-{ after(grammarAccess.getPageTemplateAccess().getTopMarginValueAssignment_8()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
-rule__PageTemplate__Group__9
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-	rule__PageTemplate__Group__9__Impl
-	rule__PageTemplate__Group__10
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__PageTemplate__Group__9__Impl
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-(
-{ before(grammarAccess.getPageTemplateAccess().getTopMarginUnitAssignment_9()); }
-(rule__PageTemplate__TopMarginUnitAssignment_9)
-{ after(grammarAccess.getPageTemplateAccess().getTopMarginUnitAssignment_9()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
-rule__PageTemplate__Group__10
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-	rule__PageTemplate__Group__10__Impl
-	rule__PageTemplate__Group__11
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__PageTemplate__Group__10__Impl
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-(
-{ before(grammarAccess.getPageTemplateAccess().getLeftmarginKeyword_10()); }
-
-	'leftmargin' 
-
-{ after(grammarAccess.getPageTemplateAccess().getLeftmarginKeyword_10()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
-rule__PageTemplate__Group__11
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-	rule__PageTemplate__Group__11__Impl
-	rule__PageTemplate__Group__12
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__PageTemplate__Group__11__Impl
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-(
-{ before(grammarAccess.getPageTemplateAccess().getLeftMarginValueAssignment_11()); }
-(rule__PageTemplate__LeftMarginValueAssignment_11)
-{ after(grammarAccess.getPageTemplateAccess().getLeftMarginValueAssignment_11()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
-rule__PageTemplate__Group__12
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-	rule__PageTemplate__Group__12__Impl
-	rule__PageTemplate__Group__13
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__PageTemplate__Group__12__Impl
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-(
-{ before(grammarAccess.getPageTemplateAccess().getLeftMarginUnitAssignment_12()); }
-(rule__PageTemplate__LeftMarginUnitAssignment_12)
-{ after(grammarAccess.getPageTemplateAccess().getLeftMarginUnitAssignment_12()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
-rule__PageTemplate__Group__13
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-	rule__PageTemplate__Group__13__Impl
-	rule__PageTemplate__Group__14
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__PageTemplate__Group__13__Impl
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-(
-{ before(grammarAccess.getPageTemplateAccess().getBottommarginKeyword_13()); }
-
-	'bottommargin' 
-
-{ after(grammarAccess.getPageTemplateAccess().getBottommarginKeyword_13()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
-rule__PageTemplate__Group__14
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-	rule__PageTemplate__Group__14__Impl
-	rule__PageTemplate__Group__15
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__PageTemplate__Group__14__Impl
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-(
-{ before(grammarAccess.getPageTemplateAccess().getBottomMarginValueAssignment_14()); }
-(rule__PageTemplate__BottomMarginValueAssignment_14)
-{ after(grammarAccess.getPageTemplateAccess().getBottomMarginValueAssignment_14()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
-rule__PageTemplate__Group__15
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-	rule__PageTemplate__Group__15__Impl
-	rule__PageTemplate__Group__16
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__PageTemplate__Group__15__Impl
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-(
-{ before(grammarAccess.getPageTemplateAccess().getBottomMarginUnitAssignment_15()); }
-(rule__PageTemplate__BottomMarginUnitAssignment_15)
-{ after(grammarAccess.getPageTemplateAccess().getBottomMarginUnitAssignment_15()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
-rule__PageTemplate__Group__16
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-	rule__PageTemplate__Group__16__Impl
-	rule__PageTemplate__Group__17
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__PageTemplate__Group__16__Impl
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-(
-{ before(grammarAccess.getPageTemplateAccess().getRightmarginKeyword_16()); }
-
-	'rightmargin' 
-
-{ after(grammarAccess.getPageTemplateAccess().getRightmarginKeyword_16()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
-rule__PageTemplate__Group__17
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-	rule__PageTemplate__Group__17__Impl
-	rule__PageTemplate__Group__18
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__PageTemplate__Group__17__Impl
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-(
-{ before(grammarAccess.getPageTemplateAccess().getRightMarginValueAssignment_17()); }
-(rule__PageTemplate__RightMarginValueAssignment_17)
-{ after(grammarAccess.getPageTemplateAccess().getRightMarginValueAssignment_17()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
-rule__PageTemplate__Group__18
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-	rule__PageTemplate__Group__18__Impl
-	rule__PageTemplate__Group__19
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__PageTemplate__Group__18__Impl
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-(
-{ before(grammarAccess.getPageTemplateAccess().getRightMarginUnitAssignment_18()); }
-(rule__PageTemplate__RightMarginUnitAssignment_18)
-{ after(grammarAccess.getPageTemplateAccess().getRightMarginUnitAssignment_18()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
-rule__PageTemplate__Group__19
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-	rule__PageTemplate__Group__19__Impl
-	rule__PageTemplate__Group__20
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__PageTemplate__Group__19__Impl
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-(
-{ before(grammarAccess.getPageTemplateAccess().getHeaderAssignment_19()); }
-(rule__PageTemplate__HeaderAssignment_19)?
-{ after(grammarAccess.getPageTemplateAccess().getHeaderAssignment_19()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
-rule__PageTemplate__Group__20
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-	rule__PageTemplate__Group__20__Impl
-	rule__PageTemplate__Group__21
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__PageTemplate__Group__20__Impl
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-(
-{ before(grammarAccess.getPageTemplateAccess().getFooterAssignment_20()); }
-(rule__PageTemplate__FooterAssignment_20)?
-{ after(grammarAccess.getPageTemplateAccess().getFooterAssignment_20()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
-rule__PageTemplate__Group__21
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-	rule__PageTemplate__Group__21__Impl
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__PageTemplate__Group__21__Impl
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-(
-{ before(grammarAccess.getPageTemplateAccess().getRightCurlyBracketKeyword_21()); }
-
-	'}' 
-
-{ after(grammarAccess.getPageTemplateAccess().getRightCurlyBracketKeyword_21()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-rule__Color__Group__0
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-	rule__Color__Group__0__Impl
-	rule__Color__Group__1
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__Color__Group__0__Impl
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-(
-{ before(grammarAccess.getColorAccess().getColorKeyword_0()); }
-
-	'color' 
-
-{ after(grammarAccess.getColorAccess().getColorKeyword_0()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
-rule__Color__Group__1
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-	rule__Color__Group__1__Impl
-	rule__Color__Group__2
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__Color__Group__1__Impl
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-(
-{ before(grammarAccess.getColorAccess().getNameAssignment_1()); }
-(rule__Color__NameAssignment_1)
-{ after(grammarAccess.getColorAccess().getNameAssignment_1()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
-rule__Color__Group__2
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-	rule__Color__Group__2__Impl
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__Color__Group__2__Impl
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-(
-{ before(grammarAccess.getColorAccess().getAlternatives_2()); }
-(rule__Color__Alternatives_2)
-{ after(grammarAccess.getColorAccess().getAlternatives_2()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
-
-
-
-
-
-
-rule__Color__Group_2_1__0
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-	rule__Color__Group_2_1__0__Impl
-	rule__Color__Group_2_1__1
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__Color__Group_2_1__0__Impl
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-(
-{ before(grammarAccess.getColorAccess().getDarkensKeyword_2_1_0()); }
-
-	'darkens' 
-
-{ after(grammarAccess.getColorAccess().getDarkensKeyword_2_1_0()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
-rule__Color__Group_2_1__1
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-	rule__Color__Group_2_1__1__Impl
-	rule__Color__Group_2_1__2
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__Color__Group_2_1__1__Impl
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-(
-{ before(grammarAccess.getColorAccess().getBasecolorAssignment_2_1_1()); }
-(rule__Color__BasecolorAssignment_2_1_1)
-{ after(grammarAccess.getColorAccess().getBasecolorAssignment_2_1_1()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
-rule__Color__Group_2_1__2
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-	rule__Color__Group_2_1__2__Impl
-	rule__Color__Group_2_1__3
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__Color__Group_2_1__2__Impl
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-(
-{ before(grammarAccess.getColorAccess().getByPercentKeyword_2_1_2()); }
-
-	'by-percent' 
-
-{ after(grammarAccess.getColorAccess().getByPercentKeyword_2_1_2()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
-rule__Color__Group_2_1__3
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-	rule__Color__Group_2_1__3__Impl
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__Color__Group_2_1__3__Impl
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-(
-{ before(grammarAccess.getColorAccess().getDarkensbyAssignment_2_1_3()); }
-(rule__Color__DarkensbyAssignment_2_1_3)
-{ after(grammarAccess.getColorAccess().getDarkensbyAssignment_2_1_3()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
-
-
-
-
-
-
-
-
-rule__Color__Group_2_2__0
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-	rule__Color__Group_2_2__0__Impl
-	rule__Color__Group_2_2__1
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__Color__Group_2_2__0__Impl
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-(
-{ before(grammarAccess.getColorAccess().getLightensKeyword_2_2_0()); }
-
-	'lightens' 
-
-{ after(grammarAccess.getColorAccess().getLightensKeyword_2_2_0()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
-rule__Color__Group_2_2__1
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-	rule__Color__Group_2_2__1__Impl
-	rule__Color__Group_2_2__2
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__Color__Group_2_2__1__Impl
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-(
-{ before(grammarAccess.getColorAccess().getBasecolorAssignment_2_2_1()); }
-(rule__Color__BasecolorAssignment_2_2_1)
-{ after(grammarAccess.getColorAccess().getBasecolorAssignment_2_2_1()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
-rule__Color__Group_2_2__2
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-	rule__Color__Group_2_2__2__Impl
-	rule__Color__Group_2_2__3
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__Color__Group_2_2__2__Impl
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-(
-{ before(grammarAccess.getColorAccess().getByPercentKeyword_2_2_2()); }
-
-	'by-percent' 
-
-{ after(grammarAccess.getColorAccess().getByPercentKeyword_2_2_2()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
-rule__Color__Group_2_2__3
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-	rule__Color__Group_2_2__3__Impl
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__Color__Group_2_2__3__Impl
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-(
-{ before(grammarAccess.getColorAccess().getLightensbyAssignment_2_2_3()); }
-(rule__Color__LightensbyAssignment_2_2_3)
-{ after(grammarAccess.getColorAccess().getLightensbyAssignment_2_2_3()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
-
-
-
-
-
-
-
-
-rule__Color__Group_2_3__0
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-	rule__Color__Group_2_3__0__Impl
-	rule__Color__Group_2_3__1
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__Color__Group_2_3__0__Impl
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-(
-{ before(grammarAccess.getColorAccess().getTransformsKeyword_2_3_0()); }
-
-	'transforms' 
-
-{ after(grammarAccess.getColorAccess().getTransformsKeyword_2_3_0()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
-rule__Color__Group_2_3__1
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-	rule__Color__Group_2_3__1__Impl
-	rule__Color__Group_2_3__2
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__Color__Group_2_3__1__Impl
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-(
-{ before(grammarAccess.getColorAccess().getBasecolorAssignment_2_3_1()); }
-(rule__Color__BasecolorAssignment_2_3_1)
-{ after(grammarAccess.getColorAccess().getBasecolorAssignment_2_3_1()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
-rule__Color__Group_2_3__2
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-	rule__Color__Group_2_3__2__Impl
-	rule__Color__Group_2_3__3
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__Color__Group_2_3__2__Impl
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-(
-{ before(grammarAccess.getColorAccess().getByPercentKeyword_2_3_2()); }
-
-	'by-percent' 
-
-{ after(grammarAccess.getColorAccess().getByPercentKeyword_2_3_2()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
-rule__Color__Group_2_3__3
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-	rule__Color__Group_2_3__3__Impl
-	rule__Color__Group_2_3__4
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__Color__Group_2_3__3__Impl
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-(
-{ before(grammarAccess.getColorAccess().getTransformsbyAssignment_2_3_3()); }
-(rule__Color__TransformsbyAssignment_2_3_3)
-{ after(grammarAccess.getColorAccess().getTransformsbyAssignment_2_3_3()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
-rule__Color__Group_2_3__4
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-	rule__Color__Group_2_3__4__Impl
-	rule__Color__Group_2_3__5
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__Color__Group_2_3__4__Impl
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-(
-{ before(grammarAccess.getColorAccess().getTowardsKeyword_2_3_4()); }
-
-	'towards' 
-
-{ after(grammarAccess.getColorAccess().getTowardsKeyword_2_3_4()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
-rule__Color__Group_2_3__5
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-	rule__Color__Group_2_3__5__Impl
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
diff --git a/org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.tokens b/org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.tokens
deleted file mode 100644
index b8db516..0000000
--- a/org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.tokens
+++ /dev/null
@@ -1,493 +0,0 @@
-'!'=44
-'!='=26
-'!=='=28
-'#'=218
-'%'=43
-'%='=24
-'&&'=15
-'&'=241
-'('=200
-')'=201
-'*'=40
-'**'=41
-'*='=22
-'+'=38
-'++'=45
-'+='=20
-','=216
-'-'=39
-'--'=46
-'-='=21
-'->'=32
-'.'=47
-'..'=34
-'..<'=33
-'/'=42
-'/='=23
-':'=225
-'::'=250
-';'=221
-'<'=31
-'<>'=36
-'='=13
-'=='=25
-'==='=27
-'=>'=35
-'>'=30
-'>='=29
-'?'=240
-'?.'=251
-'?:'=37
-'@'=215
-'['=219
-']'=217
-'a3'=64
-'a4'=63
-'a5'=65
-'aggregate'=196
-'all'=19
-'alternate'=152
-'as'=184
-'autotext'=212
-'average'=92
-'backgroundcolor'=151
-'bad-rising'=97
-'bold'=242
-'border-bottom'=156
-'border-left'=157
-'border-right'=158
-'border-top'=155
-'bottommargin'=138
-'by'=190
-'by-percent'=142
-'case'=227
-'catch'=239
-'cell'=186
-'cellcolor'=205
-'center'=79
-'clip'=117
-'cm'=56
-'color'=140
-'colors'=128
-'columnspan'=187
-'concat'=18
-'count'=89
-'currency'=86
-'custom'=16
-'darkens'=141
-'dashed'=104
-'datamart'=174
-'date'=171
-'date+time'=172
-'days in past'=203
-'default'=226
-'described by'=178
-'detail'=181
-'detailfooter'=246
-'detailheader'=245
-'details'=191
-'divide'=17
-'do'=230
-'dotted'=103
-'double'=105
-'dynamic'=248
-'else'=223
-'em'=60
-'embed'=120
-'ex'=61
-'extends'=49
-'extension'=52
-'externalCssURI'=125
-'false'=54
-'family'=147
-'file'=118
-'finally'=237
-'fixed'=83
-'font'=146
-'fonts'=129
-'footer'=182
-'for'=228
-'formatter'=150
-'formatters'=127
-'from bundle'=126
-'general-number'=82
-'good-sloping'=99
-'grid'=183
-'groove'=106
-'group'=189
-'header'=179
-'height'=180
-'hidelabel'=247
-'html'=87
-'icon'=206
-'if'=222
-'image'=213
-'import'=51
-'inch'=58
-'inset'=108
-'instanceof'=220
-'intervals'=192
-'italic'=73
-'label'=210
-'landscape'=71
-'layout-data'=124
-'left'=78
-'leftmargin'=137
-'lightens'=143
-'lookups'=193
-'margin-bottom'=164
-'margin-left'=165
-'margin-right'=166
-'margin-top'=163
-'maximum'=94
-'media'=131
-'medias'=130
-'minimum'=93
-'mm'=55
-'monospace'=75
-'new'=231
-'none'=101
-'normal'=72
-'null'=232
-'number'=170
-'oblique'=74
-'of'=199
-'on-group'=197
-'orientation'=135
-'outset'=109
-'package'=121
-'padding-bottom'=160
-'padding-left'=161
-'padding-right'=162
-'padding-top'=159
-'page-number'=110
-'page-number-unfiltered'=112
-'page-variable'=114
-'pagetemplate'=133
-'path'=194
-'pc'=59
-'pdf'=88
-'percent'=84
-'portrait'=70
-'property'=195
-'pt'=57
-'px'=62
-'rendering'=175
-'report'=169
-'resize'=249
-'return'=235
-'ridge'=107
-'right'=80
-'rightmargin'=139
-'rising'=96
-'row'=185
-'running-count'=90
-'running-sum'=95
-'sans-serif'=76
-'scale'=214
-'scale-to-item'=116
-'scientific'=85
-'serif'=77
-'showOnFirst'=243
-'showOnLast'=244
-'size'=148
-'size-to-image'=115
-'sloping'=98
-'solid'=102
-'stagnating'=100
-'static'=50
-'string'=204
-'style'=149
-'styles'=132
-'subsubtitle'=209
-'subtitle'=208
-'sum'=91
-'super'=53
-'switch'=224
-'synchronized'=238
-'table'=188
-'template'=177
-'text'=211
-'textalign'=154
-'textcolor'=153
-'throw'=234
-'time'=173
-'title'=198
-'toolbar'=176
-'topmargin'=136
-'total-page'=111
-'total-page-unfiltered'=113
-'towards'=145
-'transforms'=144
-'trend'=207
-'true'=254
-'try'=236
-'type'=134
-'typeof'=233
-'ui'=168
-'unformatted'=81
-'uomo'=167
-'up to'=202
-'url'=119
-'us-ledger'=68
-'us-legal'=67
-'us-letter'=66
-'us-super-b'=69
-'val'=48
-'var'=253
-'while'=229
-'{'=122
-'|'=252
-'||'=14
-'}'=123
-RULE_ANY_OTHER=12
-RULE_DECIMAL=8
-RULE_HEX=6
-RULE_ID=5
-RULE_INT=7
-RULE_ML_COMMENT=9
-RULE_SL_COMMENT=10
-RULE_STRING=4
-RULE_WS=11
-T__100=100
-T__101=101
-T__102=102
-T__103=103
-T__104=104
-T__105=105
-T__106=106
-T__107=107
-T__108=108
-T__109=109
-T__110=110
-T__111=111
-T__112=112
-T__113=113
-T__114=114
-T__115=115
-T__116=116
-T__117=117
-T__118=118
-T__119=119
-T__120=120
-T__121=121
-T__122=122
-T__123=123
-T__124=124
-T__125=125
-T__126=126
-T__127=127
-T__128=128
-T__129=129
-T__130=130
-T__131=131
-T__132=132
-T__133=133
-T__134=134
-T__135=135
-T__136=136
-T__137=137
-T__138=138
-T__139=139
-T__13=13
-T__140=140
-T__141=141
-T__142=142
-T__143=143
-T__144=144
-T__145=145
-T__146=146
-T__147=147
-T__148=148
-T__149=149
-T__14=14
-T__150=150
-T__151=151
-T__152=152
-T__153=153
-T__154=154
-T__155=155
-T__156=156
-T__157=157
-T__158=158
-T__159=159
-T__15=15
-T__160=160
-T__161=161
-T__162=162
-T__163=163
-T__164=164
-T__165=165
-T__166=166
-T__167=167
-T__168=168
-T__169=169
-T__16=16
-T__170=170
-T__171=171
-T__172=172
-T__173=173
-T__174=174
-T__175=175
-T__176=176
-T__177=177
-T__178=178
-T__179=179
-T__17=17
-T__180=180
-T__181=181
-T__182=182
-T__183=183
-T__184=184
-T__185=185
-T__186=186
-T__187=187
-T__188=188
-T__189=189
-T__18=18
-T__190=190
-T__191=191
-T__192=192
-T__193=193
-T__194=194
-T__195=195
-T__196=196
-T__197=197
-T__198=198
-T__199=199
-T__19=19
-T__200=200
-T__201=201
-T__202=202
-T__203=203
-T__204=204
-T__205=205
-T__206=206
-T__207=207
-T__208=208
-T__209=209
-T__20=20
-T__210=210
-T__211=211
-T__212=212
-T__213=213
-T__214=214
-T__215=215
-T__216=216
-T__217=217
-T__218=218
-T__219=219
-T__21=21
-T__220=220
-T__221=221
-T__222=222
-T__223=223
-T__224=224
-T__225=225
-T__226=226
-T__227=227
-T__228=228
-T__229=229
-T__22=22
-T__230=230
-T__231=231
-T__232=232
-T__233=233
-T__234=234
-T__235=235
-T__236=236
-T__237=237
-T__238=238
-T__239=239
-T__23=23
-T__240=240
-T__241=241
-T__242=242
-T__243=243
-T__244=244
-T__245=245
-T__246=246
-T__247=247
-T__248=248
-T__249=249
-T__24=24
-T__250=250
-T__251=251
-T__252=252
-T__253=253
-T__254=254
-T__25=25
-T__26=26
-T__27=27
-T__28=28
-T__29=29
-T__30=30
-T__31=31
-T__32=32
-T__33=33
-T__34=34
-T__35=35
-T__36=36
-T__37=37
-T__38=38
-T__39=39
-T__40=40
-T__41=41
-T__42=42
-T__43=43
-T__44=44
-T__45=45
-T__46=46
-T__47=47
-T__48=48
-T__49=49
-T__50=50
-T__51=51
-T__52=52
-T__53=53
-T__54=54
-T__55=55
-T__56=56
-T__57=57
-T__58=58
-T__59=59
-T__60=60
-T__61=61
-T__62=62
-T__63=63
-T__64=64
-T__65=65
-T__66=66
-T__67=67
-T__68=68
-T__69=69
-T__70=70
-T__71=71
-T__72=72
-T__73=73
-T__74=74
-T__75=75
-T__76=76
-T__77=77
-T__78=78
-T__79=79
-T__80=80
-T__81=81
-T__82=82
-T__83=83
-T__84=84
-T__85=85
-T__86=86
-T__87=87
-T__88=88
-T__89=89
-T__90=90
-T__91=91
-T__92=92
-T__93=93
-T__94=94
-T__95=95
-T__96=96
-T__97=97
-T__98=98
-T__99=99
diff --git a/org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSLLexer.java b/org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSLLexer.java
deleted file mode 100644
index 634251a..0000000
--- a/org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSLLexer.java
+++ /dev/null
@@ -1,9633 +0,0 @@
-/**
- *                                                                            
- *  Copyright (c) 2011, 2016 - Loetz GmbH&Co.KG (69115 Heidelberg, Germany) 
- *                                                                            
- *  All rights reserved. This program and the accompanying materials           
- *  are made available under the terms of the Eclipse Public License v1.0       
- *  which accompanies this distribution, and is available at                  
- *  http://www.eclipse.org/legal/epl-v10.html                                 
- *                                                                            
- *  Contributors:                                                      
- * 	   Christophe Loetz (Loetz GmbH&Co.KG) - initial implementation
- * 
- */
-
-package org.eclipse.osbp.xtext.reportdsl.ui.contentassist.antlr.internal;
-
-// Hack: Use our own Lexer superclass by means of import. 
-// Currently there is no other way to specify the superclass for the lexer.
-import org.eclipse.xtext.ui.editor.contentassist.antlr.internal.Lexer;
-
-
-import org.antlr.runtime.*;
-import java.util.Stack;
-import java.util.List;
-import java.util.ArrayList;
-
-@SuppressWarnings("all")
-public class InternalReportDSLLexer extends Lexer {
-    public static final int T__144=144;
-    public static final int T__143=143;
-    public static final int T__146=146;
-    public static final int T__50=50;
-    public static final int T__145=145;
-    public static final int T__140=140;
-    public static final int T__142=142;
-    public static final int T__141=141;
-    public static final int T__59=59;
-    public static final int T__55=55;
-    public static final int T__56=56;
-    public static final int T__57=57;
-    public static final int T__58=58;
-    public static final int T__51=51;
-    public static final int T__137=137;
-    public static final int T__52=52;
-    public static final int T__136=136;
-    public static final int T__53=53;
-    public static final int T__139=139;
-    public static final int T__54=54;
-    public static final int T__138=138;
-    public static final int T__133=133;
-    public static final int T__254=254;
-    public static final int T__132=132;
-    public static final int T__253=253;
-    public static final int T__60=60;
-    public static final int T__135=135;
-    public static final int T__61=61;
-    public static final int T__134=134;
-    public static final int T__250=250;
-    public static final int RULE_ID=5;
-    public static final int T__131=131;
-    public static final int T__252=252;
-    public static final int T__130=130;
-    public static final int T__251=251;
-    public static final int RULE_INT=7;
-    public static final int T__66=66;
-    public static final int T__67=67;
-    public static final int T__129=129;
-    public static final int T__68=68;
-    public static final int T__69=69;
-    public static final int T__62=62;
-    public static final int T__126=126;
-    public static final int T__247=247;
-    public static final int T__63=63;
-    public static final int T__125=125;
-    public static final int T__246=246;
-    public static final int T__64=64;
-    public static final int T__128=128;
-    public static final int T__249=249;
-    public static final int T__65=65;
-    public static final int T__127=127;
-    public static final int T__248=248;
-    public static final int T__166=166;
-    public static final int T__165=165;
-    public static final int T__168=168;
-    public static final int T__167=167;
-    public static final int T__162=162;
-    public static final int T__161=161;
-    public static final int T__164=164;
-    public static final int T__163=163;
-    public static final int T__160=160;
-    public static final int T__37=37;
-    public static final int T__38=38;
-    public static final int T__39=39;
-    public static final int T__33=33;
-    public static final int T__34=34;
-    public static final int T__35=35;
-    public static final int T__36=36;
-    public static final int T__159=159;
-    public static final int T__30=30;
-    public static final int T__158=158;
-    public static final int T__31=31;
-    public static final int T__32=32;
-    public static final int T__155=155;
-    public static final int T__154=154;
-    public static final int T__157=157;
-    public static final int T__156=156;
-    public static final int T__151=151;
-    public static final int T__150=150;
-    public static final int T__153=153;
-    public static final int T__152=152;
-    public static final int T__48=48;
-    public static final int T__49=49;
-    public static final int T__44=44;
-    public static final int T__45=45;
-    public static final int T__46=46;
-    public static final int T__47=47;
-    public static final int T__40=40;
-    public static final int T__148=148;
-    public static final int T__41=41;
-    public static final int T__147=147;
-    public static final int T__42=42;
-    public static final int T__43=43;
-    public static final int T__149=149;
-    public static final int T__100=100;
-    public static final int T__221=221;
-    public static final int T__220=220;
-    public static final int T__102=102;
-    public static final int T__223=223;
-    public static final int T__101=101;
-    public static final int T__222=222;
-    public static final int T__19=19;
-    public static final int T__15=15;
-    public static final int T__16=16;
-    public static final int T__17=17;
-    public static final int T__18=18;
-    public static final int T__218=218;
-    public static final int T__217=217;
-    public static final int T__13=13;
-    public static final int T__14=14;
-    public static final int T__219=219;
-    public static final int T__214=214;
-    public static final int T__213=213;
-    public static final int T__216=216;
-    public static final int T__215=215;
-    public static final int T__210=210;
-    public static final int T__212=212;
-    public static final int T__211=211;
-    public static final int RULE_DECIMAL=8;
-    public static final int T__26=26;
-    public static final int T__27=27;
-    public static final int T__28=28;
-    public static final int T__29=29;
-    public static final int T__22=22;
-    public static final int T__207=207;
-    public static final int T__23=23;
-    public static final int T__206=206;
-    public static final int T__24=24;
-    public static final int T__209=209;
-    public static final int T__25=25;
-    public static final int T__208=208;
-    public static final int T__203=203;
-    public static final int T__202=202;
-    public static final int T__20=20;
-    public static final int T__205=205;
-    public static final int T__21=21;
-    public static final int T__204=204;
-    public static final int T__122=122;
-    public static final int T__243=243;
-    public static final int T__121=121;
-    public static final int T__242=242;
-    public static final int T__124=124;
-    public static final int T__245=245;
-    public static final int T__123=123;
-    public static final int T__244=244;
-    public static final int T__120=120;
-    public static final int T__241=241;
-    public static final int T__240=240;
-    public static final int RULE_SL_COMMENT=10;
-    public static final int T__119=119;
-    public static final int T__118=118;
-    public static final int T__239=239;
-    public static final int T__115=115;
-    public static final int T__236=236;
-    public static final int EOF=-1;
-    public static final int T__114=114;
-    public static final int T__235=235;
-    public static final int T__117=117;
-    public static final int T__238=238;
-    public static final int T__116=116;
-    public static final int T__237=237;
-    public static final int T__111=111;
-    public static final int T__232=232;
-    public static final int T__110=110;
-    public static final int T__231=231;
-    public static final int T__113=113;
-    public static final int T__234=234;
-    public static final int T__112=112;
-    public static final int T__233=233;
-    public static final int T__230=230;
-    public static final int T__108=108;
-    public static final int T__229=229;
-    public static final int T__107=107;
-    public static final int T__228=228;
-    public static final int T__109=109;
-    public static final int T__104=104;
-    public static final int T__225=225;
-    public static final int T__103=103;
-    public static final int T__224=224;
-    public static final int T__106=106;
-    public static final int T__227=227;
-    public static final int T__105=105;
-    public static final int T__226=226;
-    public static final int RULE_HEX=6;
-    public static final int RULE_ML_COMMENT=9;
-    public static final int T__201=201;
-    public static final int T__200=200;
-    public static final int T__91=91;
-    public static final int T__188=188;
-    public static final int T__92=92;
-    public static final int T__187=187;
-    public static final int T__93=93;
-    public static final int T__94=94;
-    public static final int T__189=189;
-    public static final int T__184=184;
-    public static final int T__183=183;
-    public static final int T__186=186;
-    public static final int T__90=90;
-    public static final int T__185=185;
-    public static final int T__180=180;
-    public static final int T__182=182;
-    public static final int T__181=181;
-    public static final int T__99=99;
-    public static final int T__95=95;
-    public static final int T__96=96;
-    public static final int T__97=97;
-    public static final int T__98=98;
-    public static final int T__177=177;
-    public static final int T__176=176;
-    public static final int T__179=179;
-    public static final int T__178=178;
-    public static final int T__173=173;
-    public static final int T__172=172;
-    public static final int T__175=175;
-    public static final int T__174=174;
-    public static final int T__171=171;
-    public static final int T__170=170;
-    public static final int T__169=169;
-    public static final int T__70=70;
-    public static final int T__71=71;
-    public static final int T__72=72;
-    public static final int RULE_STRING=4;
-    public static final int T__77=77;
-    public static final int T__78=78;
-    public static final int T__79=79;
-    public static final int T__73=73;
-    public static final int T__74=74;
-    public static final int T__75=75;
-    public static final int T__76=76;
-    public static final int T__80=80;
-    public static final int T__199=199;
-    public static final int T__81=81;
-    public static final int T__198=198;
-    public static final int T__82=82;
-    public static final int T__83=83;
-    public static final int T__195=195;
-    public static final int T__194=194;
-    public static final int RULE_WS=11;
-    public static final int T__197=197;
-    public static final int T__196=196;
-    public static final int T__191=191;
-    public static final int T__190=190;
-    public static final int T__193=193;
-    public static final int T__192=192;
-    public static final int RULE_ANY_OTHER=12;
-    public static final int T__88=88;
-    public static final int T__89=89;
-    public static final int T__84=84;
-    public static final int T__85=85;
-    public static final int T__86=86;
-    public static final int T__87=87;
-
-    // delegates
-    // delegators
-
-    public InternalReportDSLLexer() {;} 
-    public InternalReportDSLLexer(CharStream input) {
-        this(input, new RecognizerSharedState());
-    }
-    public InternalReportDSLLexer(CharStream input, RecognizerSharedState state) {
-        super(input,state);
-
-    }
-    public String getGrammarFileName() { return "../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g"; }
-
-    // $ANTLR start "T__13"
-    public final void mT__13() throws RecognitionException {
-        try {
-            int _type = T__13;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:11:7: ( '=' )
-            // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:11:9: '='
-            {
-            match('='); 
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "T__13"
-
-    // $ANTLR start "T__14"
-    public final void mT__14() throws RecognitionException {
-        try {
-            int _type = T__14;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:12:7: ( '||' )
-            // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:12:9: '||'
-            {
-            match("||"); 
-
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "T__14"
-
-    // $ANTLR start "T__15"
-    public final void mT__15() throws RecognitionException {
-        try {
-            int _type = T__15;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:13:7: ( '&&' )
-            // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:13:9: '&&'
-            {
-            match("&&"); 
-
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "T__15"
-
-    // $ANTLR start "T__16"
-    public final void mT__16() throws RecognitionException {
-        try {
-            int _type = T__16;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:14:7: ( 'custom' )
-            // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:14:9: 'custom'
-            {
-            match("custom"); 
-
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "T__16"
-
-    // $ANTLR start "T__17"
-    public final void mT__17() throws RecognitionException {
-        try {
-            int _type = T__17;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:15:7: ( 'divide' )
-            // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:15:9: 'divide'
-            {
-            match("divide"); 
-
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "T__17"
-
-    // $ANTLR start "T__18"
-    public final void mT__18() throws RecognitionException {
-        try {
-            int _type = T__18;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:16:7: ( 'concat' )
-            // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:16:9: 'concat'
-            {
-            match("concat"); 
-
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "T__18"
-
-    // $ANTLR start "T__19"
-    public final void mT__19() throws RecognitionException {
-        try {
-            int _type = T__19;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:17:7: ( 'all' )
-            // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:17:9: 'all'
-            {
-            match("all"); 
-
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "T__19"
-
-    // $ANTLR start "T__20"
-    public final void mT__20() throws RecognitionException {
-        try {
-            int _type = T__20;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:18:7: ( '+=' )
-            // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:18:9: '+='
-            {
-            match("+="); 
-
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "T__20"
-
-    // $ANTLR start "T__21"
-    public final void mT__21() throws RecognitionException {
-        try {
-            int _type = T__21;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:19:7: ( '-=' )
-            // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:19:9: '-='
-            {
-            match("-="); 
-
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "T__21"
-
-    // $ANTLR start "T__22"
-    public final void mT__22() throws RecognitionException {
-        try {
-            int _type = T__22;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:20:7: ( '*=' )
-            // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:20:9: '*='
-            {
-            match("*="); 
-
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "T__22"
-
-    // $ANTLR start "T__23"
-    public final void mT__23() throws RecognitionException {
-        try {
-            int _type = T__23;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:21:7: ( '/=' )
-            // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:21:9: '/='
-            {
-            match("/="); 
-
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "T__23"
-
-    // $ANTLR start "T__24"
-    public final void mT__24() throws RecognitionException {
-        try {
-            int _type = T__24;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:22:7: ( '%=' )
-            // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:22:9: '%='
-            {
-            match("%="); 
-
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "T__24"
-
-    // $ANTLR start "T__25"
-    public final void mT__25() throws RecognitionException {
-        try {
-            int _type = T__25;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:23:7: ( '==' )
-            // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:23:9: '=='
-            {
-            match("=="); 
-
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "T__25"
-
-    // $ANTLR start "T__26"
-    public final void mT__26() throws RecognitionException {
-        try {
-            int _type = T__26;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:24:7: ( '!=' )
-            // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:24:9: '!='
-            {
-            match("!="); 
-
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "T__26"
-
-    // $ANTLR start "T__27"
-    public final void mT__27() throws RecognitionException {
-        try {
-            int _type = T__27;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:25:7: ( '===' )
-            // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:25:9: '==='
-            {
-            match("==="); 
-
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "T__27"
-
-    // $ANTLR start "T__28"
-    public final void mT__28() throws RecognitionException {
-        try {
-            int _type = T__28;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:26:7: ( '!==' )
-            // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:26:9: '!=='
-            {
-            match("!=="); 
-
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "T__28"
-
-    // $ANTLR start "T__29"
-    public final void mT__29() throws RecognitionException {
-        try {
-            int _type = T__29;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:27:7: ( '>=' )
-            // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:27:9: '>='
-            {
-            match(">="); 
-
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "T__29"
-
-    // $ANTLR start "T__30"
-    public final void mT__30() throws RecognitionException {
-        try {
-            int _type = T__30;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:28:7: ( '>' )
-            // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:28:9: '>'
-            {
-            match('>'); 
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "T__30"
-
-    // $ANTLR start "T__31"
-    public final void mT__31() throws RecognitionException {
-        try {
-            int _type = T__31;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:29:7: ( '<' )
-            // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:29:9: '<'
-            {
-            match('<'); 
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "T__31"
-
-    // $ANTLR start "T__32"
-    public final void mT__32() throws RecognitionException {
-        try {
-            int _type = T__32;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:30:7: ( '->' )
-            // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:30:9: '->'
-            {
-            match("->"); 
-
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "T__32"
-
-    // $ANTLR start "T__33"
-    public final void mT__33() throws RecognitionException {
-        try {
-            int _type = T__33;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:31:7: ( '..<' )
-            // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:31:9: '..<'
-            {
-            match("..<"); 
-
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "T__33"
-
-    // $ANTLR start "T__34"
-    public final void mT__34() throws RecognitionException {
-        try {
-            int _type = T__34;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:32:7: ( '..' )
-            // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:32:9: '..'
-            {
-            match(".."); 
-
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "T__34"
-
-    // $ANTLR start "T__35"
-    public final void mT__35() throws RecognitionException {
-        try {
-            int _type = T__35;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:33:7: ( '=>' )
-            // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:33:9: '=>'
-            {
-            match("=>"); 
-
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "T__35"
-
-    // $ANTLR start "T__36"
-    public final void mT__36() throws RecognitionException {
-        try {
-            int _type = T__36;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:34:7: ( '<>' )
-            // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:34:9: '<>'
-            {
-            match("<>"); 
-
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "T__36"
-
-    // $ANTLR start "T__37"
-    public final void mT__37() throws RecognitionException {
-        try {
-            int _type = T__37;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:35:7: ( '?:' )
-            // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:35:9: '?:'
-            {
-            match("?:"); 
-
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "T__37"
-
-    // $ANTLR start "T__38"
-    public final void mT__38() throws RecognitionException {
-        try {
-            int _type = T__38;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:36:7: ( '+' )
-            // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:36:9: '+'
-            {
-            match('+'); 
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "T__38"
-
-    // $ANTLR start "T__39"
-    public final void mT__39() throws RecognitionException {
-        try {
-            int _type = T__39;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:37:7: ( '-' )
-            // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:37:9: '-'
-            {
-            match('-'); 
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "T__39"
-
-    // $ANTLR start "T__40"
-    public final void mT__40() throws RecognitionException {
-        try {
-            int _type = T__40;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:38:7: ( '*' )
-            // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:38:9: '*'
-            {
-            match('*'); 
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "T__40"
-
-    // $ANTLR start "T__41"
-    public final void mT__41() throws RecognitionException {
-        try {
-            int _type = T__41;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:39:7: ( '**' )
-            // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:39:9: '**'
-            {
-            match("**"); 
-
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "T__41"
-
-    // $ANTLR start "T__42"
-    public final void mT__42() throws RecognitionException {
-        try {
-            int _type = T__42;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:40:7: ( '/' )
-            // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:40:9: '/'
-            {
-            match('/'); 
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "T__42"
-
-    // $ANTLR start "T__43"
-    public final void mT__43() throws RecognitionException {
-        try {
-            int _type = T__43;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:41:7: ( '%' )
-            // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:41:9: '%'
-            {
-            match('%'); 
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "T__43"
-
-    // $ANTLR start "T__44"
-    public final void mT__44() throws RecognitionException {
-        try {
-            int _type = T__44;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:42:7: ( '!' )
-            // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:42:9: '!'
-            {
-            match('!'); 
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "T__44"
-
-    // $ANTLR start "T__45"
-    public final void mT__45() throws RecognitionException {
-        try {
-            int _type = T__45;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:43:7: ( '++' )
-            // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:43:9: '++'
-            {
-            match("++"); 
-
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "T__45"
-
-    // $ANTLR start "T__46"
-    public final void mT__46() throws RecognitionException {
-        try {
-            int _type = T__46;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:44:7: ( '--' )
-            // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:44:9: '--'
-            {
-            match("--"); 
-
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "T__46"
-
-    // $ANTLR start "T__47"
-    public final void mT__47() throws RecognitionException {
-        try {
-            int _type = T__47;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:45:7: ( '.' )
-            // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:45:9: '.'
-            {
-            match('.'); 
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "T__47"
-
-    // $ANTLR start "T__48"
-    public final void mT__48() throws RecognitionException {
-        try {
-            int _type = T__48;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:46:7: ( 'val' )
-            // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:46:9: 'val'
-            {
-            match("val"); 
-
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "T__48"
-
-    // $ANTLR start "T__49"
-    public final void mT__49() throws RecognitionException {
-        try {
-            int _type = T__49;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:47:7: ( 'extends' )
-            // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:47:9: 'extends'
-            {
-            match("extends"); 
-
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "T__49"
-
-    // $ANTLR start "T__50"
-    public final void mT__50() throws RecognitionException {
-        try {
-            int _type = T__50;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:48:7: ( 'static' )
-            // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:48:9: 'static'
-            {
-            match("static"); 
-
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "T__50"
-
-    // $ANTLR start "T__51"
-    public final void mT__51() throws RecognitionException {
-        try {
-            int _type = T__51;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:49:7: ( 'import' )
-            // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:49:9: 'import'
-            {
-            match("import"); 
-
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "T__51"
-
-    // $ANTLR start "T__52"
-    public final void mT__52() throws RecognitionException {
-        try {
-            int _type = T__52;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:50:7: ( 'extension' )
-            // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:50:9: 'extension'
-            {
-            match("extension"); 
-
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "T__52"
-
-    // $ANTLR start "T__53"
-    public final void mT__53() throws RecognitionException {
-        try {
-            int _type = T__53;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:51:7: ( 'super' )
-            // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:51:9: 'super'
-            {
-            match("super"); 
-
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "T__53"
-
-    // $ANTLR start "T__54"
-    public final void mT__54() throws RecognitionException {
-        try {
-            int _type = T__54;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:52:7: ( 'false' )
-            // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:52:9: 'false'
-            {
-            match("false"); 
-
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "T__54"
-
-    // $ANTLR start "T__55"
-    public final void mT__55() throws RecognitionException {
-        try {
-            int _type = T__55;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:53:7: ( 'mm' )
-            // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:53:9: 'mm'
-            {
-            match("mm"); 
-
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "T__55"
-
-    // $ANTLR start "T__56"
-    public final void mT__56() throws RecognitionException {
-        try {
-            int _type = T__56;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:54:7: ( 'cm' )
-            // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:54:9: 'cm'
-            {
-            match("cm"); 
-
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "T__56"
-
-    // $ANTLR start "T__57"
-    public final void mT__57() throws RecognitionException {
-        try {
-            int _type = T__57;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:55:7: ( 'pt' )
-            // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:55:9: 'pt'
-            {
-            match("pt"); 
-
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "T__57"
-
-    // $ANTLR start "T__58"
-    public final void mT__58() throws RecognitionException {
-        try {
-            int _type = T__58;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:56:7: ( 'inch' )
-            // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:56:9: 'inch'
-            {
-            match("inch"); 
-
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "T__58"
-
-    // $ANTLR start "T__59"
-    public final void mT__59() throws RecognitionException {
-        try {
-            int _type = T__59;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:57:7: ( 'pc' )
-            // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:57:9: 'pc'
-            {
-            match("pc"); 
-
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "T__59"
-
-    // $ANTLR start "T__60"
-    public final void mT__60() throws RecognitionException {
-        try {
-            int _type = T__60;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:58:7: ( 'em' )
-            // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:58:9: 'em'
-            {
-            match("em"); 
-
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "T__60"
-
-    // $ANTLR start "T__61"
-    public final void mT__61() throws RecognitionException {
-        try {
-            int _type = T__61;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:59:7: ( 'ex' )
-            // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:59:9: 'ex'
-            {
-            match("ex"); 
-
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "T__61"
-
-    // $ANTLR start "T__62"
-    public final void mT__62() throws RecognitionException {
-        try {
-            int _type = T__62;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:60:7: ( 'px' )
-            // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:60:9: 'px'
-            {
-            match("px"); 
-
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "T__62"
-
-    // $ANTLR start "T__63"
-    public final void mT__63() throws RecognitionException {
-        try {
-            int _type = T__63;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:61:7: ( 'a4' )
-            // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:61:9: 'a4'
-            {
-            match("a4"); 
-
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "T__63"
-
-    // $ANTLR start "T__64"
-    public final void mT__64() throws RecognitionException {
-        try {
-            int _type = T__64;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:62:7: ( 'a3' )
-            // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:62:9: 'a3'
-            {
-            match("a3"); 
-
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "T__64"
-
-    // $ANTLR start "T__65"
-    public final void mT__65() throws RecognitionException {
-        try {
-            int _type = T__65;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:63:7: ( 'a5' )
-            // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:63:9: 'a5'
-            {
-            match("a5"); 
-
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "T__65"
-
-    // $ANTLR start "T__66"
-    public final void mT__66() throws RecognitionException {
-        try {
-            int _type = T__66;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:64:7: ( 'us-letter' )
-            // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:64:9: 'us-letter'
-            {
-            match("us-letter"); 
-
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "T__66"
-
-    // $ANTLR start "T__67"
-    public final void mT__67() throws RecognitionException {
-        try {
-            int _type = T__67;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:65:7: ( 'us-legal' )
-            // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:65:9: 'us-legal'
-            {
-            match("us-legal"); 
-
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "T__67"
-
-    // $ANTLR start "T__68"
-    public final void mT__68() throws RecognitionException {
-        try {
-            int _type = T__68;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:66:7: ( 'us-ledger' )
-            // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:66:9: 'us-ledger'
-            {
-            match("us-ledger"); 
-
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "T__68"
-
-    // $ANTLR start "T__69"
-    public final void mT__69() throws RecognitionException {
-        try {
-            int _type = T__69;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:67:7: ( 'us-super-b' )
-            // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:67:9: 'us-super-b'
-            {
-            match("us-super-b"); 
-
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "T__69"
-
-    // $ANTLR start "T__70"
-    public final void mT__70() throws RecognitionException {
-        try {
-            int _type = T__70;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:68:7: ( 'portrait' )
-            // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:68:9: 'portrait'
-            {
-            match("portrait"); 
-
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "T__70"
-
-    // $ANTLR start "T__71"
-    public final void mT__71() throws RecognitionException {
-        try {
-            int _type = T__71;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:69:7: ( 'landscape' )
-            // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:69:9: 'landscape'
-            {
-            match("landscape"); 
-
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "T__71"
-
-    // $ANTLR start "T__72"
-    public final void mT__72() throws RecognitionException {
-        try {
-            int _type = T__72;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:70:7: ( 'normal' )
-            // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:70:9: 'normal'
-            {
-            match("normal"); 
-
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "T__72"
-
-    // $ANTLR start "T__73"
-    public final void mT__73() throws RecognitionException {
-        try {
-            int _type = T__73;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:71:7: ( 'italic' )
-            // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:71:9: 'italic'
-            {
-            match("italic"); 
-
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "T__73"
-
-    // $ANTLR start "T__74"
-    public final void mT__74() throws RecognitionException {
-        try {
-            int _type = T__74;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:72:7: ( 'oblique' )
-            // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:72:9: 'oblique'
-            {
-            match("oblique"); 
-
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "T__74"
-
-    // $ANTLR start "T__75"
-    public final void mT__75() throws RecognitionException {
-        try {
-            int _type = T__75;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:73:7: ( 'monospace' )
-            // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:73:9: 'monospace'
-            {
-            match("monospace"); 
-
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "T__75"
-
-    // $ANTLR start "T__76"
-    public final void mT__76() throws RecognitionException {
-        try {
-            int _type = T__76;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:74:7: ( 'sans-serif' )
-            // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:74:9: 'sans-serif'
-            {
-            match("sans-serif"); 
-
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "T__76"
-
-    // $ANTLR start "T__77"
-    public final void mT__77() throws RecognitionException {
-        try {
-            int _type = T__77;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:75:7: ( 'serif' )
-            // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:75:9: 'serif'
-            {
-            match("serif"); 
-
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "T__77"
-
-    // $ANTLR start "T__78"
-    public final void mT__78() throws RecognitionException {
-        try {
-            int _type = T__78;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:76:7: ( 'left' )
-            // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:76:9: 'left'
-            {
-            match("left"); 
-
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "T__78"
-
-    // $ANTLR start "T__79"
-    public final void mT__79() throws RecognitionException {
-        try {
-            int _type = T__79;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:77:7: ( 'center' )
-            // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:77:9: 'center'
-            {
-            match("center"); 
-
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "T__79"
-
-    // $ANTLR start "T__80"
-    public final void mT__80() throws RecognitionException {
-        try {
-            int _type = T__80;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:78:7: ( 'right' )
-            // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:78:9: 'right'
-            {
-            match("right"); 
-
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "T__80"
-
-    // $ANTLR start "T__81"
-    public final void mT__81() throws RecognitionException {
-        try {
-            int _type = T__81;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:79:7: ( 'unformatted' )
-            // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:79:9: 'unformatted'
-            {
-            match("unformatted"); 
-
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "T__81"
-
-    // $ANTLR start "T__82"
-    public final void mT__82() throws RecognitionException {
-        try {
-            int _type = T__82;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:80:7: ( 'general-number' )
-            // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:80:9: 'general-number'
-            {
-            match("general-number"); 
-
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "T__82"
-
-    // $ANTLR start "T__83"
-    public final void mT__83() throws RecognitionException {
-        try {
-            int _type = T__83;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:81:7: ( 'fixed' )
-            // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:81:9: 'fixed'
-            {
-            match("fixed"); 
-
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "T__83"
-
-    // $ANTLR start "T__84"
-    public final void mT__84() throws RecognitionException {
-        try {
-            int _type = T__84;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:82:7: ( 'percent' )
-            // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:82:9: 'percent'
-            {
-            match("percent"); 
-
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "T__84"
-
-    // $ANTLR start "T__85"
-    public final void mT__85() throws RecognitionException {
-        try {
-            int _type = T__85;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:83:7: ( 'scientific' )
-            // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:83:9: 'scientific'
-            {
-            match("scientific"); 
-
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "T__85"
-
-    // $ANTLR start "T__86"
-    public final void mT__86() throws RecognitionException {
-        try {
-            int _type = T__86;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:84:7: ( 'currency' )
-            // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:84:9: 'currency'
-            {
-            match("currency"); 
-
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "T__86"
-
-    // $ANTLR start "T__87"
-    public final void mT__87() throws RecognitionException {
-        try {
-            int _type = T__87;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:85:7: ( 'html' )
-            // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:85:9: 'html'
-            {
-            match("html"); 
-
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "T__87"
-
-    // $ANTLR start "T__88"
-    public final void mT__88() throws RecognitionException {
-        try {
-            int _type = T__88;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:86:7: ( 'pdf' )
-            // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:86:9: 'pdf'
-            {
-            match("pdf"); 
-
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "T__88"
-
-    // $ANTLR start "T__89"
-    public final void mT__89() throws RecognitionException {
-        try {
-            int _type = T__89;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:87:7: ( 'count' )
-            // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:87:9: 'count'
-            {
-            match("count"); 
-
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "T__89"
-
-    // $ANTLR start "T__90"
-    public final void mT__90() throws RecognitionException {
-        try {
-            int _type = T__90;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:88:7: ( 'running-count' )
-            // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:88:9: 'running-count'
-            {
-            match("running-count"); 
-
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "T__90"
-
-    // $ANTLR start "T__91"
-    public final void mT__91() throws RecognitionException {
-        try {
-            int _type = T__91;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:89:7: ( 'sum' )
-            // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:89:9: 'sum'
-            {
-            match("sum"); 
-
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "T__91"
-
-    // $ANTLR start "T__92"
-    public final void mT__92() throws RecognitionException {
-        try {
-            int _type = T__92;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:90:7: ( 'average' )
-            // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:90:9: 'average'
-            {
-            match("average"); 
-
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "T__92"
-
-    // $ANTLR start "T__93"
-    public final void mT__93() throws RecognitionException {
-        try {
-            int _type = T__93;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:91:7: ( 'minimum' )
-            // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:91:9: 'minimum'
-            {
-            match("minimum"); 
-
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "T__93"
-
-    // $ANTLR start "T__94"
-    public final void mT__94() throws RecognitionException {
-        try {
-            int _type = T__94;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:92:7: ( 'maximum' )
-            // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:92:9: 'maximum'
-            {
-            match("maximum"); 
-
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "T__94"
-
-    // $ANTLR start "T__95"
-    public final void mT__95() throws RecognitionException {
-        try {
-            int _type = T__95;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:93:7: ( 'running-sum' )
-            // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:93:9: 'running-sum'
-            {
-            match("running-sum"); 
-
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "T__95"
-
-    // $ANTLR start "T__96"
-    public final void mT__96() throws RecognitionException {
-        try {
-            int _type = T__96;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:94:7: ( 'rising' )
-            // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:94:9: 'rising'
-            {
-            match("rising"); 
-
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "T__96"
-
-    // $ANTLR start "T__97"
-    public final void mT__97() throws RecognitionException {
-        try {
-            int _type = T__97;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:95:7: ( 'bad-rising' )
-            // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:95:9: 'bad-rising'
-            {
-            match("bad-rising"); 
-
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "T__97"
-
-    // $ANTLR start "T__98"
-    public final void mT__98() throws RecognitionException {
-        try {
-            int _type = T__98;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:96:7: ( 'sloping' )
-            // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:96:9: 'sloping'
-            {
-            match("sloping"); 
-
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "T__98"
-
-    // $ANTLR start "T__99"
-    public final void mT__99() throws RecognitionException {
-        try {
-            int _type = T__99;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:97:7: ( 'good-sloping' )
-            // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:97:9: 'good-sloping'
-            {
-            match("good-sloping"); 
-
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "T__99"
-
-    // $ANTLR start "T__100"
-    public final void mT__100() throws RecognitionException {
-        try {
-            int _type = T__100;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:98:8: ( 'stagnating' )
-            // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:98:10: 'stagnating'
-            {
-            match("stagnating"); 
-
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "T__100"
-
-    // $ANTLR start "T__101"
-    public final void mT__101() throws RecognitionException {
-        try {
-            int _type = T__101;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:99:8: ( 'none' )
-            // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:99:10: 'none'
-            {
-            match("none"); 
-
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "T__101"
-
-    // $ANTLR start "T__102"
-    public final void mT__102() throws RecognitionException {
-        try {
-            int _type = T__102;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:100:8: ( 'solid' )
-            // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:100:10: 'solid'
-            {
-            match("solid"); 
-
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "T__102"
-
-    // $ANTLR start "T__103"
-    public final void mT__103() throws RecognitionException {
-        try {
-            int _type = T__103;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:101:8: ( 'dotted' )
-            // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:101:10: 'dotted'
-            {
-            match("dotted"); 
-
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "T__103"
-
-    // $ANTLR start "T__104"
-    public final void mT__104() throws RecognitionException {
-        try {
-            int _type = T__104;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:102:8: ( 'dashed' )
-            // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:102:10: 'dashed'
-            {
-            match("dashed"); 
-
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "T__104"
-
-    // $ANTLR start "T__105"
-    public final void mT__105() throws RecognitionException {
-        try {
-            int _type = T__105;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:103:8: ( 'double' )
-            // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:103:10: 'double'
-            {
-            match("double"); 
-
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "T__105"
-
-    // $ANTLR start "T__106"
-    public final void mT__106() throws RecognitionException {
-        try {
-            int _type = T__106;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:104:8: ( 'groove' )
-            // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:104:10: 'groove'
-            {
-            match("groove"); 
-
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "T__106"
-
-    // $ANTLR start "T__107"
-    public final void mT__107() throws RecognitionException {
-        try {
-            int _type = T__107;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:105:8: ( 'ridge' )
-            // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:105:10: 'ridge'
-            {
-            match("ridge"); 
-
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "T__107"
-
-    // $ANTLR start "T__108"
-    public final void mT__108() throws RecognitionException {
-        try {
-            int _type = T__108;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:106:8: ( 'inset' )
-            // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:106:10: 'inset'
-            {
-            match("inset"); 
-
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "T__108"
-
-    // $ANTLR start "T__109"
-    public final void mT__109() throws RecognitionException {
-        try {
-            int _type = T__109;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:107:8: ( 'outset' )
-            // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:107:10: 'outset'
-            {
-            match("outset"); 
-
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "T__109"
-
-    // $ANTLR start "T__110"
-    public final void mT__110() throws RecognitionException {
-        try {
-            int _type = T__110;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:108:8: ( 'page-number' )
-            // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:108:10: 'page-number'
-            {
-            match("page-number"); 
-
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "T__110"
-
-    // $ANTLR start "T__111"
-    public final void mT__111() throws RecognitionException {
-        try {
-            int _type = T__111;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:109:8: ( 'total-page' )
-            // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:109:10: 'total-page'
-            {
-            match("total-page"); 
-
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "T__111"
-
-    // $ANTLR start "T__112"
-    public final void mT__112() throws RecognitionException {
-        try {
-            int _type = T__112;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:110:8: ( 'page-number-unfiltered' )
-            // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:110:10: 'page-number-unfiltered'
-            {
-            match("page-number-unfiltered"); 
-
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "T__112"
-
-    // $ANTLR start "T__113"
-    public final void mT__113() throws RecognitionException {
-        try {
-            int _type = T__113;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:111:8: ( 'total-page-unfiltered' )
-            // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:111:10: 'total-page-unfiltered'
-            {
-            match("total-page-unfiltered"); 
-
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "T__113"
-
-    // $ANTLR start "T__114"
-    public final void mT__114() throws RecognitionException {
-        try {
-            int _type = T__114;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:112:8: ( 'page-variable' )
-            // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:112:10: 'page-variable'
-            {
-            match("page-variable"); 
-
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "T__114"
-
-    // $ANTLR start "T__115"
-    public final void mT__115() throws RecognitionException {
-        try {
-            int _type = T__115;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:113:8: ( 'size-to-image' )
-            // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:113:10: 'size-to-image'
-            {
-            match("size-to-image"); 
-
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "T__115"
-
-    // $ANTLR start "T__116"
-    public final void mT__116() throws RecognitionException {
-        try {
-            int _type = T__116;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:114:8: ( 'scale-to-item' )
-            // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:114:10: 'scale-to-item'
-            {
-            match("scale-to-item"); 
-
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "T__116"
-
-    // $ANTLR start "T__117"
-    public final void mT__117() throws RecognitionException {
-        try {
-            int _type = T__117;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:115:8: ( 'clip' )
-            // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:115:10: 'clip'
-            {
-            match("clip"); 
-
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "T__117"
-
-    // $ANTLR start "T__118"
-    public final void mT__118() throws RecognitionException {
-        try {
-            int _type = T__118;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:116:8: ( 'file' )
-            // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:116:10: 'file'
-            {
-            match("file"); 
-
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "T__118"
-
-    // $ANTLR start "T__119"
-    public final void mT__119() throws RecognitionException {
-        try {
-            int _type = T__119;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:117:8: ( 'url' )
-            // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:117:10: 'url'
-            {
-            match("url"); 
-
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "T__119"
-
-    // $ANTLR start "T__120"
-    public final void mT__120() throws RecognitionException {
-        try {
-            int _type = T__120;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:118:8: ( 'embed' )
-            // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:118:10: 'embed'
-            {
-            match("embed"); 
-
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "T__120"
-
-    // $ANTLR start "T__121"
-    public final void mT__121() throws RecognitionException {
-        try {
-            int _type = T__121;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:119:8: ( 'package' )
-            // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:119:10: 'package'
-            {
-            match("package"); 
-
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "T__121"
-
-    // $ANTLR start "T__122"
-    public final void mT__122() throws RecognitionException {
-        try {
-            int _type = T__122;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:120:8: ( '{' )
-            // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:120:10: '{'
-            {
-            match('{'); 
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "T__122"
-
-    // $ANTLR start "T__123"
-    public final void mT__123() throws RecognitionException {
-        try {
-            int _type = T__123;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:121:8: ( '}' )
-            // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:121:10: '}'
-            {
-            match('}'); 
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "T__123"
-
-    // $ANTLR start "T__124"
-    public final void mT__124() throws RecognitionException {
-        try {
-            int _type = T__124;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:122:8: ( 'layout-data' )
-            // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:122:10: 'layout-data'
-            {
-            match("layout-data"); 
-
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "T__124"
-
-    // $ANTLR start "T__125"
-    public final void mT__125() throws RecognitionException {
-        try {
-            int _type = T__125;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:123:8: ( 'externalCssURI' )
-            // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:123:10: 'externalCssURI'
-            {
-            match("externalCssURI"); 
-
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "T__125"
-
-    // $ANTLR start "T__126"
-    public final void mT__126() throws RecognitionException {
-        try {
-            int _type = T__126;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:124:8: ( 'from bundle' )
-            // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:124:10: 'from bundle'
-            {
-            match("from bundle"); 
-
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "T__126"
-
-    // $ANTLR start "T__127"
-    public final void mT__127() throws RecognitionException {
-        try {
-            int _type = T__127;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:125:8: ( 'formatters' )
-            // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:125:10: 'formatters'
-            {
-            match("formatters"); 
-
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "T__127"
-
-    // $ANTLR start "T__128"
-    public final void mT__128() throws RecognitionException {
-        try {
-            int _type = T__128;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:126:8: ( 'colors' )
-            // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:126:10: 'colors'
-            {
-            match("colors"); 
-
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "T__128"
-
-    // $ANTLR start "T__129"
-    public final void mT__129() throws RecognitionException {
-        try {
-            int _type = T__129;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:127:8: ( 'fonts' )
-            // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:127:10: 'fonts'
-            {
-            match("fonts"); 
-
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "T__129"
-
-    // $ANTLR start "T__130"
-    public final void mT__130() throws RecognitionException {
-        try {
-            int _type = T__130;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:128:8: ( 'medias' )
-            // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:128:10: 'medias'
-            {
-            match("medias"); 
-
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "T__130"
-
-    // $ANTLR start "T__131"
-    public final void mT__131() throws RecognitionException {
-        try {
-            int _type = T__131;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:129:8: ( 'media' )
-            // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:129:10: 'media'
-            {
-            match("media"); 
-
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "T__131"
-
-    // $ANTLR start "T__132"
-    public final void mT__132() throws RecognitionException {
-        try {
-            int _type = T__132;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:130:8: ( 'styles' )
-            // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:130:10: 'styles'
-            {
-            match("styles"); 
-
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "T__132"
-
-    // $ANTLR start "T__133"
-    public final void mT__133() throws RecognitionException {
-        try {
-            int _type = T__133;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:131:8: ( 'pagetemplate' )
-            // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:131:10: 'pagetemplate'
-            {
-            match("pagetemplate"); 
-
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "T__133"
-
-    // $ANTLR start "T__134"
-    public final void mT__134() throws RecognitionException {
-        try {
-            int _type = T__134;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:132:8: ( 'type' )
-            // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:132:10: 'type'
-            {
-            match("type"); 
-
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "T__134"
-
-    // $ANTLR start "T__135"
-    public final void mT__135() throws RecognitionException {
-        try {
-            int _type = T__135;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:133:8: ( 'orientation' )
-            // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:133:10: 'orientation'
-            {
-            match("orientation"); 
-
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "T__135"
-
-    // $ANTLR start "T__136"
-    public final void mT__136() throws RecognitionException {
-        try {
-            int _type = T__136;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:134:8: ( 'topmargin' )
-            // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:134:10: 'topmargin'
-            {
-            match("topmargin"); 
-
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "T__136"
-
-    // $ANTLR start "T__137"
-    public final void mT__137() throws RecognitionException {
-        try {
-            int _type = T__137;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:135:8: ( 'leftmargin' )
-            // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:135:10: 'leftmargin'
-            {
-            match("leftmargin"); 
-
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "T__137"
-
-    // $ANTLR start "T__138"
-    public final void mT__138() throws RecognitionException {
-        try {
-            int _type = T__138;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:136:8: ( 'bottommargin' )
-            // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:136:10: 'bottommargin'
-            {
-            match("bottommargin"); 
-
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "T__138"
-
-    // $ANTLR start "T__139"
-    public final void mT__139() throws RecognitionException {
-        try {
-            int _type = T__139;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:137:8: ( 'rightmargin' )
-            // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:137:10: 'rightmargin'
-            {
-            match("rightmargin"); 
-
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "T__139"
-
-    // $ANTLR start "T__140"
-    public final void mT__140() throws RecognitionException {
-        try {
-            int _type = T__140;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:138:8: ( 'color' )
-            // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:138:10: 'color'
-            {
-            match("color"); 
-
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "T__140"
-
-    // $ANTLR start "T__141"
-    public final void mT__141() throws RecognitionException {
-        try {
-            int _type = T__141;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:139:8: ( 'darkens' )
-            // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:139:10: 'darkens'
-            {
-            match("darkens"); 
-
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "T__141"
-
-    // $ANTLR start "T__142"
-    public final void mT__142() throws RecognitionException {
-        try {
-            int _type = T__142;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:140:8: ( 'by-percent' )
-            // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:140:10: 'by-percent'
-            {
-            match("by-percent"); 
-
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "T__142"
-
-    // $ANTLR start "T__143"
-    public final void mT__143() throws RecognitionException {
-        try {
-            int _type = T__143;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:141:8: ( 'lightens' )
-            // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:141:10: 'lightens'
-            {
-            match("lightens"); 
-
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "T__143"
-
-    // $ANTLR start "T__144"
-    public final void mT__144() throws RecognitionException {
-        try {
-            int _type = T__144;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:142:8: ( 'transforms' )
-            // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:142:10: 'transforms'
-            {
-            match("transforms"); 
-
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "T__144"
-
-    // $ANTLR start "T__145"
-    public final void mT__145() throws RecognitionException {
-        try {
-            int _type = T__145;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:143:8: ( 'towards' )
-            // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:143:10: 'towards'
-            {
-            match("towards"); 
-
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "T__145"
-
-    // $ANTLR start "T__146"
-    public final void mT__146() throws RecognitionException {
-        try {
-            int _type = T__146;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:144:8: ( 'font' )
-            // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:144:10: 'font'
-            {
-            match("font"); 
-
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "T__146"
-
-    // $ANTLR start "T__147"
-    public final void mT__147() throws RecognitionException {
-        try {
-            int _type = T__147;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:145:8: ( 'family' )
-            // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:145:10: 'family'
-            {
-            match("family"); 
-
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "T__147"
-
-    // $ANTLR start "T__148"
-    public final void mT__148() throws RecognitionException {
-        try {
-            int _type = T__148;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:146:8: ( 'size' )
-            // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:146:10: 'size'
-            {
-            match("size"); 
-
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "T__148"
-
-    // $ANTLR start "T__149"
-    public final void mT__149() throws RecognitionException {
-        try {
-            int _type = T__149;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:147:8: ( 'style' )
-            // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:147:10: 'style'
-            {
-            match("style"); 
-
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "T__149"
-
-    // $ANTLR start "T__150"
-    public final void mT__150() throws RecognitionException {
-        try {
-            int _type = T__150;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:148:8: ( 'formatter' )
-            // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:148:10: 'formatter'
-            {
-            match("formatter"); 
-
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "T__150"
-
-    // $ANTLR start "T__151"
-    public final void mT__151() throws RecognitionException {
-        try {
-            int _type = T__151;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:149:8: ( 'backgroundcolor' )
-            // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:149:10: 'backgroundcolor'
-            {
-            match("backgroundcolor"); 
-
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "T__151"
-
-    // $ANTLR start "T__152"
-    public final void mT__152() throws RecognitionException {
-        try {
-            int _type = T__152;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:150:8: ( 'alternate' )
-            // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:150:10: 'alternate'
-            {
-            match("alternate"); 
-
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "T__152"
-
-    // $ANTLR start "T__153"
-    public final void mT__153() throws RecognitionException {
-        try {
-            int _type = T__153;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:151:8: ( 'textcolor' )
-            // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:151:10: 'textcolor'
-            {
-            match("textcolor"); 
-
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "T__153"
-
-    // $ANTLR start "T__154"
-    public final void mT__154() throws RecognitionException {
-        try {
-            int _type = T__154;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:152:8: ( 'textalign' )
-            // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:152:10: 'textalign'
-            {
-            match("textalign"); 
-
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "T__154"
-
-    // $ANTLR start "T__155"
-    public final void mT__155() throws RecognitionException {
-        try {
-            int _type = T__155;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:153:8: ( 'border-top' )
-            // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:153:10: 'border-top'
-            {
-            match("border-top"); 
-
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "T__155"
-
-    // $ANTLR start "T__156"
-    public final void mT__156() throws RecognitionException {
-        try {
-            int _type = T__156;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:154:8: ( 'border-bottom' )
-            // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:154:10: 'border-bottom'
-            {
-            match("border-bottom"); 
-
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "T__156"
-
-    // $ANTLR start "T__157"
-    public final void mT__157() throws RecognitionException {
-        try {
-            int _type = T__157;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:155:8: ( 'border-left' )
-            // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:155:10: 'border-left'
-            {
-            match("border-left"); 
-
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "T__157"
-
-    // $ANTLR start "T__158"
-    public final void mT__158() throws RecognitionException {
-        try {
-            int _type = T__158;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:156:8: ( 'border-right' )
-            // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:156:10: 'border-right'
-            {
-            match("border-right"); 
-
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "T__158"
-
-    // $ANTLR start "T__159"
-    public final void mT__159() throws RecognitionException {
-        try {
-            int _type = T__159;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:157:8: ( 'padding-top' )
-            // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:157:10: 'padding-top'
-            {
-            match("padding-top"); 
-
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "T__159"
-
-    // $ANTLR start "T__160"
-    public final void mT__160() throws RecognitionException {
-        try {
-            int _type = T__160;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:158:8: ( 'padding-bottom' )
-            // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:158:10: 'padding-bottom'
-            {
-            match("padding-bottom"); 
-
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "T__160"
-
-    // $ANTLR start "T__161"
-    public final void mT__161() throws RecognitionException {
-        try {
-            int _type = T__161;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:159:8: ( 'padding-left' )
-            // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:159:10: 'padding-left'
-            {
-            match("padding-left"); 
-
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "T__161"
-
-    // $ANTLR start "T__162"
-    public final void mT__162() throws RecognitionException {
-        try {
-            int _type = T__162;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:160:8: ( 'padding-right' )
-            // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:160:10: 'padding-right'
-            {
-            match("padding-right"); 
-
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "T__162"
-
-    // $ANTLR start "T__163"
-    public final void mT__163() throws RecognitionException {
-        try {
-            int _type = T__163;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:161:8: ( 'margin-top' )
-            // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:161:10: 'margin-top'
-            {
-            match("margin-top"); 
-
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "T__163"
-
-    // $ANTLR start "T__164"
-    public final void mT__164() throws RecognitionException {
-        try {
-            int _type = T__164;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:162:8: ( 'margin-bottom' )
-            // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:162:10: 'margin-bottom'
-            {
-            match("margin-bottom"); 
-
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "T__164"
-
-    // $ANTLR start "T__165"
-    public final void mT__165() throws RecognitionException {
-        try {
-            int _type = T__165;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:163:8: ( 'margin-left' )
-            // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:163:10: 'margin-left'
-            {
-            match("margin-left"); 
-
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "T__165"
-
-    // $ANTLR start "T__166"
-    public final void mT__166() throws RecognitionException {
-        try {
-            int _type = T__166;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:164:8: ( 'margin-right' )
-            // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:164:10: 'margin-right'
-            {
-            match("margin-right"); 
-
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "T__166"
-
-    // $ANTLR start "T__167"
-    public final void mT__167() throws RecognitionException {
-        try {
-            int _type = T__167;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:165:8: ( 'uomo' )
-            // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:165:10: 'uomo'
-            {
-            match("uomo"); 
-
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "T__167"
-
-    // $ANTLR start "T__168"
-    public final void mT__168() throws RecognitionException {
-        try {
-            int _type = T__168;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:166:8: ( 'ui' )
-            // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:166:10: 'ui'
-            {
-            match("ui"); 
-
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "T__168"
-
-    // $ANTLR start "T__169"
-    public final void mT__169() throws RecognitionException {
-        try {
-            int _type = T__169;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:167:8: ( 'report' )
-            // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:167:10: 'report'
-            {
-            match("report"); 
-
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "T__169"
-
-    // $ANTLR start "T__170"
-    public final void mT__170() throws RecognitionException {
-        try {
-            int _type = T__170;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:168:8: ( 'number' )
-            // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:168:10: 'number'
-            {
-            match("number"); 
-
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "T__170"
-
-    // $ANTLR start "T__171"
-    public final void mT__171() throws RecognitionException {
-        try {
-            int _type = T__171;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:169:8: ( 'date' )
-            // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:169:10: 'date'
-            {
-            match("date"); 
-
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "T__171"
-
-    // $ANTLR start "T__172"
-    public final void mT__172() throws RecognitionException {
-        try {
-            int _type = T__172;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:170:8: ( 'date+time' )
-            // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:170:10: 'date+time'
-            {
-            match("date+time"); 
-
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "T__172"
-
-    // $ANTLR start "T__173"
-    public final void mT__173() throws RecognitionException {
-        try {
-            int _type = T__173;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:171:8: ( 'time' )
-            // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:171:10: 'time'
-            {
-            match("time"); 
-
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "T__173"
-
-    // $ANTLR start "T__174"
-    public final void mT__174() throws RecognitionException {
-        try {
-            int _type = T__174;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:172:8: ( 'datamart' )
-            // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:172:10: 'datamart'
-            {
-            match("datamart"); 
-
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "T__174"
-
-    // $ANTLR start "T__175"
-    public final void mT__175() throws RecognitionException {
-        try {
-            int _type = T__175;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:173:8: ( 'rendering' )
-            // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:173:10: 'rendering'
-            {
-            match("rendering"); 
-
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "T__175"
-
-    // $ANTLR start "T__176"
-    public final void mT__176() throws RecognitionException {
-        try {
-            int _type = T__176;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:174:8: ( 'toolbar' )
-            // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:174:10: 'toolbar'
-            {
-            match("toolbar"); 
-
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "T__176"
-
-    // $ANTLR start "T__177"
-    public final void mT__177() throws RecognitionException {
-        try {
-            int _type = T__177;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:175:8: ( 'template' )
-            // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:175:10: 'template'
-            {
-            match("template"); 
-
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "T__177"
-
-    // $ANTLR start "T__178"
-    public final void mT__178() throws RecognitionException {
-        try {
-            int _type = T__178;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:176:8: ( 'described by' )
-            // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:176:10: 'described by'
-            {
-            match("described by"); 
-
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "T__178"
-
-    // $ANTLR start "T__179"
-    public final void mT__179() throws RecognitionException {
-        try {
-            int _type = T__179;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:177:8: ( 'header' )
-            // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:177:10: 'header'
-            {
-            match("header"); 
-
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "T__179"
-
-    // $ANTLR start "T__180"
-    public final void mT__180() throws RecognitionException {
-        try {
-            int _type = T__180;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:178:8: ( 'height' )
-            // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:178:10: 'height'
-            {
-            match("height"); 
-
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "T__180"
-
-    // $ANTLR start "T__181"
-    public final void mT__181() throws RecognitionException {
-        try {
-            int _type = T__181;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:179:8: ( 'detail' )
-            // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:179:10: 'detail'
-            {
-            match("detail"); 
-
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "T__181"
-
-    // $ANTLR start "T__182"
-    public final void mT__182() throws RecognitionException {
-        try {
-            int _type = T__182;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:180:8: ( 'footer' )
-            // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:180:10: 'footer'
-            {
-            match("footer"); 
-
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "T__182"
-
-    // $ANTLR start "T__183"
-    public final void mT__183() throws RecognitionException {
-        try {
-            int _type = T__183;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:181:8: ( 'grid' )
-            // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:181:10: 'grid'
-            {
-            match("grid"); 
-
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "T__183"
-
-    // $ANTLR start "T__184"
-    public final void mT__184() throws RecognitionException {
-        try {
-            int _type = T__184;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:182:8: ( 'as' )
-            // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:182:10: 'as'
-            {
-            match("as"); 
-
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "T__184"
-
-    // $ANTLR start "T__185"
-    public final void mT__185() throws RecognitionException {
-        try {
-            int _type = T__185;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:183:8: ( 'row' )
-            // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:183:10: 'row'
-            {
-            match("row"); 
-
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "T__185"
-
-    // $ANTLR start "T__186"
-    public final void mT__186() throws RecognitionException {
-        try {
-            int _type = T__186;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:184:8: ( 'cell' )
-            // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:184:10: 'cell'
-            {
-            match("cell"); 
-
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "T__186"
-
-    // $ANTLR start "T__187"
-    public final void mT__187() throws RecognitionException {
-        try {
-            int _type = T__187;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:185:8: ( 'columnspan' )
-            // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:185:10: 'columnspan'
-            {
-            match("columnspan"); 
-
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "T__187"
-
-    // $ANTLR start "T__188"
-    public final void mT__188() throws RecognitionException {
-        try {
-            int _type = T__188;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:186:8: ( 'table' )
-            // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:186:10: 'table'
-            {
-            match("table"); 
-
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "T__188"
-
-    // $ANTLR start "T__189"
-    public final void mT__189() throws RecognitionException {
-        try {
-            int _type = T__189;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:187:8: ( 'group' )
-            // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:187:10: 'group'
-            {
-            match("group"); 
-
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "T__189"
-
-    // $ANTLR start "T__190"
-    public final void mT__190() throws RecognitionException {
-        try {
-            int _type = T__190;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:188:8: ( 'by' )
-            // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:188:10: 'by'
-            {
-            match("by"); 
-
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "T__190"
-
-    // $ANTLR start "T__191"
-    public final void mT__191() throws RecognitionException {
-        try {
-            int _type = T__191;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:189:8: ( 'details' )
-            // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:189:10: 'details'
-            {
-            match("details"); 
-
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "T__191"
-
-    // $ANTLR start "T__192"
-    public final void mT__192() throws RecognitionException {
-        try {
-            int _type = T__192;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:190:8: ( 'intervals' )
-            // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:190:10: 'intervals'
-            {
-            match("intervals"); 
-
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "T__192"
-
-    // $ANTLR start "T__193"
-    public final void mT__193() throws RecognitionException {
-        try {
-            int _type = T__193;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:191:8: ( 'lookups' )
-            // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:191:10: 'lookups'
-            {
-            match("lookups"); 
-
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "T__193"
-
-    // $ANTLR start "T__194"
-    public final void mT__194() throws RecognitionException {
-        try {
-            int _type = T__194;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:192:8: ( 'path' )
-            // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:192:10: 'path'
-            {
-            match("path"); 
-
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "T__194"
-
-    // $ANTLR start "T__195"
-    public final void mT__195() throws RecognitionException {
-        try {
-            int _type = T__195;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:193:8: ( 'property' )
-            // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:193:10: 'property'
-            {
-            match("property"); 
-
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "T__195"
-
-    // $ANTLR start "T__196"
-    public final void mT__196() throws RecognitionException {
-        try {
-            int _type = T__196;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:194:8: ( 'aggregate' )
-            // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:194:10: 'aggregate'
-            {
-            match("aggregate"); 
-
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "T__196"
-
-    // $ANTLR start "T__197"
-    public final void mT__197() throws RecognitionException {
-        try {
-            int _type = T__197;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:195:8: ( 'on-group' )
-            // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:195:10: 'on-group'
-            {
-            match("on-group"); 
-
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "T__197"
-
-    // $ANTLR start "T__198"
-    public final void mT__198() throws RecognitionException {
-        try {
-            int _type = T__198;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:196:8: ( 'title' )
-            // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:196:10: 'title'
-            {
-            match("title"); 
-
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "T__198"
-
-    // $ANTLR start "T__199"
-    public final void mT__199() throws RecognitionException {
-        try {
-            int _type = T__199;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:197:8: ( 'of' )
-            // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:197:10: 'of'
-            {
-            match("of"); 
-
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "T__199"
-
-    // $ANTLR start "T__200"
-    public final void mT__200() throws RecognitionException {
-        try {
-            int _type = T__200;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:198:8: ( '(' )
-            // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:198:10: '('
-            {
-            match('('); 
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "T__200"
-
-    // $ANTLR start "T__201"
-    public final void mT__201() throws RecognitionException {
-        try {
-            int _type = T__201;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:199:8: ( ')' )
-            // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:199:10: ')'
-            {
-            match(')'); 
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "T__201"
-
-    // $ANTLR start "T__202"
-    public final void mT__202() throws RecognitionException {
-        try {
-            int _type = T__202;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:200:8: ( 'up to' )
-            // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:200:10: 'up to'
-            {
-            match("up to"); 
-
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "T__202"
-
-    // $ANTLR start "T__203"
-    public final void mT__203() throws RecognitionException {
-        try {
-            int _type = T__203;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:201:8: ( 'days in past' )
-            // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:201:10: 'days in past'
-            {
-            match("days in past"); 
-
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "T__203"
-
-    // $ANTLR start "T__204"
-    public final void mT__204() throws RecognitionException {
-        try {
-            int _type = T__204;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:202:8: ( 'string' )
-            // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:202:10: 'string'
-            {
-            match("string"); 
-
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "T__204"
-
-    // $ANTLR start "T__205"
-    public final void mT__205() throws RecognitionException {
-        try {
-            int _type = T__205;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:203:8: ( 'cellcolor' )
-            // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:203:10: 'cellcolor'
-            {
-            match("cellcolor"); 
-
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "T__205"
-
-    // $ANTLR start "T__206"
-    public final void mT__206() throws RecognitionException {
-        try {
-            int _type = T__206;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:204:8: ( 'icon' )
-            // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:204:10: 'icon'
-            {
-            match("icon"); 
-
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "T__206"
-
-    // $ANTLR start "T__207"
-    public final void mT__207() throws RecognitionException {
-        try {
-            int _type = T__207;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:205:8: ( 'trend' )
-            // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:205:10: 'trend'
-            {
-            match("trend"); 
-
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "T__207"
-
-    // $ANTLR start "T__208"
-    public final void mT__208() throws RecognitionException {
-        try {
-            int _type = T__208;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:206:8: ( 'subtitle' )
-            // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:206:10: 'subtitle'
-            {
-            match("subtitle"); 
-
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "T__208"
-
-    // $ANTLR start "T__209"
-    public final void mT__209() throws RecognitionException {
-        try {
-            int _type = T__209;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:207:8: ( 'subsubtitle' )
-            // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:207:10: 'subsubtitle'
-            {
-            match("subsubtitle"); 
-
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "T__209"
-
-    // $ANTLR start "T__210"
-    public final void mT__210() throws RecognitionException {
-        try {
-            int _type = T__210;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:208:8: ( 'label' )
-            // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:208:10: 'label'
-            {
-            match("label"); 
-
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "T__210"
-
-    // $ANTLR start "T__211"
-    public final void mT__211() throws RecognitionException {
-        try {
-            int _type = T__211;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:209:8: ( 'text' )
-            // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:209:10: 'text'
-            {
-            match("text"); 
-
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "T__211"
-
-    // $ANTLR start "T__212"
-    public final void mT__212() throws RecognitionException {
-        try {
-            int _type = T__212;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:210:8: ( 'autotext' )
-            // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:210:10: 'autotext'
-            {
-            match("autotext"); 
-
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "T__212"
-
-    // $ANTLR start "T__213"
-    public final void mT__213() throws RecognitionException {
-        try {
-            int _type = T__213;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:211:8: ( 'image' )
-            // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:211:10: 'image'
-            {
-            match("image"); 
-
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "T__213"
-
-    // $ANTLR start "T__214"
-    public final void mT__214() throws RecognitionException {
-        try {
-            int _type = T__214;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:212:8: ( 'scale' )
-            // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:212:10: 'scale'
-            {
-            match("scale"); 
-
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "T__214"
-
-    // $ANTLR start "T__215"
-    public final void mT__215() throws RecognitionException {
-        try {
-            int _type = T__215;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:213:8: ( '@' )
-            // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:213:10: '@'
-            {
-            match('@'); 
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "T__215"
-
-    // $ANTLR start "T__216"
-    public final void mT__216() throws RecognitionException {
-        try {
-            int _type = T__216;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:214:8: ( ',' )
-            // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:214:10: ','
-            {
-            match(','); 
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "T__216"
-
-    // $ANTLR start "T__217"
-    public final void mT__217() throws RecognitionException {
-        try {
-            int _type = T__217;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:215:8: ( ']' )
-            // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:215:10: ']'
-            {
-            match(']'); 
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "T__217"
-
-    // $ANTLR start "T__218"
-    public final void mT__218() throws RecognitionException {
-        try {
-            int _type = T__218;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:216:8: ( '#' )
-            // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:216:10: '#'
-            {
-            match('#'); 
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "T__218"
-
-    // $ANTLR start "T__219"
-    public final void mT__219() throws RecognitionException {
-        try {
-            int _type = T__219;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:217:8: ( '[' )
-            // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:217:10: '['
-            {
-            match('['); 
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "T__219"
-
-    // $ANTLR start "T__220"
-    public final void mT__220() throws RecognitionException {
-        try {
-            int _type = T__220;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:218:8: ( 'instanceof' )
-            // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:218:10: 'instanceof'
-            {
-            match("instanceof"); 
-
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "T__220"
-
-    // $ANTLR start "T__221"
-    public final void mT__221() throws RecognitionException {
-        try {
-            int _type = T__221;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:219:8: ( ';' )
-            // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:219:10: ';'
-            {
-            match(';'); 
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "T__221"
-
-    // $ANTLR start "T__222"
-    public final void mT__222() throws RecognitionException {
-        try {
-            int _type = T__222;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:220:8: ( 'if' )
-            // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:220:10: 'if'
-            {
-            match("if"); 
-
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "T__222"
-
-    // $ANTLR start "T__223"
-    public final void mT__223() throws RecognitionException {
-        try {
-            int _type = T__223;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:221:8: ( 'else' )
-            // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:221:10: 'else'
-            {
-            match("else"); 
-
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "T__223"
-
-    // $ANTLR start "T__224"
-    public final void mT__224() throws RecognitionException {
-        try {
-            int _type = T__224;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:222:8: ( 'switch' )
-            // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:222:10: 'switch'
-            {
-            match("switch"); 
-
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "T__224"
-
-    // $ANTLR start "T__225"
-    public final void mT__225() throws RecognitionException {
-        try {
-            int _type = T__225;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:223:8: ( ':' )
-            // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:223:10: ':'
-            {
-            match(':'); 
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "T__225"
-
-    // $ANTLR start "T__226"
-    public final void mT__226() throws RecognitionException {
-        try {
-            int _type = T__226;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:224:8: ( 'default' )
-            // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:224:10: 'default'
-            {
-            match("default"); 
-
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "T__226"
-
-    // $ANTLR start "T__227"
-    public final void mT__227() throws RecognitionException {
-        try {
-            int _type = T__227;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:225:8: ( 'case' )
-            // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:225:10: 'case'
-            {
-            match("case"); 
-
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "T__227"
-
-    // $ANTLR start "T__228"
-    public final void mT__228() throws RecognitionException {
-        try {
-            int _type = T__228;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:226:8: ( 'for' )
-            // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:226:10: 'for'
-            {
-            match("for"); 
-
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "T__228"
-
-    // $ANTLR start "T__229"
-    public final void mT__229() throws RecognitionException {
-        try {
-            int _type = T__229;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:227:8: ( 'while' )
-            // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:227:10: 'while'
-            {
-            match("while"); 
-
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "T__229"
-
-    // $ANTLR start "T__230"
-    public final void mT__230() throws RecognitionException {
-        try {
-            int _type = T__230;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:228:8: ( 'do' )
-            // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:228:10: 'do'
-            {
-            match("do"); 
-
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "T__230"
-
-    // $ANTLR start "T__231"
-    public final void mT__231() throws RecognitionException {
-        try {
-            int _type = T__231;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:229:8: ( 'new' )
-            // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:229:10: 'new'
-            {
-            match("new"); 
-
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "T__231"
-
-    // $ANTLR start "T__232"
-    public final void mT__232() throws RecognitionException {
-        try {
-            int _type = T__232;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:230:8: ( 'null' )
-            // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:230:10: 'null'
-            {
-            match("null"); 
-
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "T__232"
-
-    // $ANTLR start "T__233"
-    public final void mT__233() throws RecognitionException {
-        try {
-            int _type = T__233;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:231:8: ( 'typeof' )
-            // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:231:10: 'typeof'
-            {
-            match("typeof"); 
-
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "T__233"
-
-    // $ANTLR start "T__234"
-    public final void mT__234() throws RecognitionException {
-        try {
-            int _type = T__234;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:232:8: ( 'throw' )
-            // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:232:10: 'throw'
-            {
-            match("throw"); 
-
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "T__234"
-
-    // $ANTLR start "T__235"
-    public final void mT__235() throws RecognitionException {
-        try {
-            int _type = T__235;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:233:8: ( 'return' )
-            // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:233:10: 'return'
-            {
-            match("return"); 
-
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "T__235"
-
-    // $ANTLR start "T__236"
-    public final void mT__236() throws RecognitionException {
-        try {
-            int _type = T__236;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:234:8: ( 'try' )
-            // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:234:10: 'try'
-            {
-            match("try"); 
-
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "T__236"
-
-    // $ANTLR start "T__237"
-    public final void mT__237() throws RecognitionException {
-        try {
-            int _type = T__237;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:235:8: ( 'finally' )
-            // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:235:10: 'finally'
-            {
-            match("finally"); 
-
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "T__237"
-
-    // $ANTLR start "T__238"
-    public final void mT__238() throws RecognitionException {
-        try {
-            int _type = T__238;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:236:8: ( 'synchronized' )
-            // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:236:10: 'synchronized'
-            {
-            match("synchronized"); 
-
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "T__238"
-
-    // $ANTLR start "T__239"
-    public final void mT__239() throws RecognitionException {
-        try {
-            int _type = T__239;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:237:8: ( 'catch' )
-            // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:237:10: 'catch'
-            {
-            match("catch"); 
-
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "T__239"
-
-    // $ANTLR start "T__240"
-    public final void mT__240() throws RecognitionException {
-        try {
-            int _type = T__240;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:238:8: ( '?' )
-            // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:238:10: '?'
-            {
-            match('?'); 
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "T__240"
-
-    // $ANTLR start "T__241"
-    public final void mT__241() throws RecognitionException {
-        try {
-            int _type = T__241;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:239:8: ( '&' )
-            // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:239:10: '&'
-            {
-            match('&'); 
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "T__241"
-
-    // $ANTLR start "T__242"
-    public final void mT__242() throws RecognitionException {
-        try {
-            int _type = T__242;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:240:8: ( 'bold' )
-            // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:240:10: 'bold'
-            {
-            match("bold"); 
-
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "T__242"
-
-    // $ANTLR start "T__243"
-    public final void mT__243() throws RecognitionException {
-        try {
-            int _type = T__243;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:241:8: ( 'showOnFirst' )
-            // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:241:10: 'showOnFirst'
-            {
-            match("showOnFirst"); 
-
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "T__243"
-
-    // $ANTLR start "T__244"
-    public final void mT__244() throws RecognitionException {
-        try {
-            int _type = T__244;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:242:8: ( 'showOnLast' )
-            // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:242:10: 'showOnLast'
-            {
-            match("showOnLast"); 
-
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "T__244"
-
-    // $ANTLR start "T__245"
-    public final void mT__245() throws RecognitionException {
-        try {
-            int _type = T__245;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:243:8: ( 'detailheader' )
-            // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:243:10: 'detailheader'
-            {
-            match("detailheader"); 
-
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "T__245"
-
-    // $ANTLR start "T__246"
-    public final void mT__246() throws RecognitionException {
-        try {
-            int _type = T__246;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:244:8: ( 'detailfooter' )
-            // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:244:10: 'detailfooter'
-            {
-            match("detailfooter"); 
-
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "T__246"
-
-    // $ANTLR start "T__247"
-    public final void mT__247() throws RecognitionException {
-        try {
-            int _type = T__247;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:245:8: ( 'hidelabel' )
-            // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:245:10: 'hidelabel'
-            {
-            match("hidelabel"); 
-
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "T__247"
-
-    // $ANTLR start "T__248"
-    public final void mT__248() throws RecognitionException {
-        try {
-            int _type = T__248;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:246:8: ( 'dynamic' )
-            // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:246:10: 'dynamic'
-            {
-            match("dynamic"); 
-
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "T__248"
-
-    // $ANTLR start "T__249"
-    public final void mT__249() throws RecognitionException {
-        try {
-            int _type = T__249;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:247:8: ( 'resize' )
-            // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:247:10: 'resize'
-            {
-            match("resize"); 
-
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "T__249"
-
-    // $ANTLR start "T__250"
-    public final void mT__250() throws RecognitionException {
-        try {
-            int _type = T__250;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:248:8: ( '::' )
-            // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:248:10: '::'
-            {
-            match("::"); 
-
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "T__250"
-
-    // $ANTLR start "T__251"
-    public final void mT__251() throws RecognitionException {
-        try {
-            int _type = T__251;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:249:8: ( '?.' )
-            // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:249:10: '?.'
-            {
-            match("?."); 
-
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "T__251"
-
-    // $ANTLR start "T__252"
-    public final void mT__252() throws RecognitionException {
-        try {
-            int _type = T__252;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:250:8: ( '|' )
-            // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:250:10: '|'
-            {
-            match('|'); 
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "T__252"
-
-    // $ANTLR start "T__253"
-    public final void mT__253() throws RecognitionException {
-        try {
-            int _type = T__253;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:251:8: ( 'var' )
-            // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:251:10: 'var'
-            {
-            match("var"); 
-
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "T__253"
-
-    // $ANTLR start "T__254"
-    public final void mT__254() throws RecognitionException {
-        try {
-            int _type = T__254;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:252:8: ( 'true' )
-            // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:252:10: 'true'
-            {
-            match("true"); 
-
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "T__254"
-
-    // $ANTLR start "RULE_HEX"
-    public final void mRULE_HEX() throws RecognitionException {
-        try {
-            int _type = RULE_HEX;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:47720:10: ( ( '0x' | '0X' ) ( '0' .. '9' | 'a' .. 'f' | 'A' .. 'F' | '_' )+ ( '#' ( ( 'b' | 'B' ) ( 'i' | 'I' ) | ( 'l' | 'L' ) ) )? )
-            // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:47720:12: ( '0x' | '0X' ) ( '0' .. '9' | 'a' .. 'f' | 'A' .. 'F' | '_' )+ ( '#' ( ( 'b' | 'B' ) ( 'i' | 'I' ) | ( 'l' | 'L' ) ) )?
-            {
-            // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:47720:12: ( '0x' | '0X' )
-            int alt1=2;
-            int LA1_0 = input.LA(1);
-
-            if ( (LA1_0=='0') ) {
-                int LA1_1 = input.LA(2);
-
-                if ( (LA1_1=='x') ) {
-                    alt1=1;
-                }
-                else if ( (LA1_1=='X') ) {
-                    alt1=2;
-                }
-                else {
-                    NoViableAltException nvae =
-                        new NoViableAltException("", 1, 1, input);
-
-                    throw nvae;
-                }
-            }
-            else {
-                NoViableAltException nvae =
-                    new NoViableAltException("", 1, 0, input);
-
-                throw nvae;
-            }
-            switch (alt1) {
-                case 1 :
-                    // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:47720:13: '0x'
-                    {
-                    match("0x"); 
-
-
-                    }
-                    break;
-                case 2 :
-                    // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:47720:18: '0X'
-                    {
-                    match("0X"); 
-
-
-                    }
-                    break;
-
-            }
-
-            // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:47720:24: ( '0' .. '9' | 'a' .. 'f' | 'A' .. 'F' | '_' )+
-            int cnt2=0;
-            loop2:
-            do {
-                int alt2=2;
-                int LA2_0 = input.LA(1);
-
-                if ( ((LA2_0>='0' && LA2_0<='9')||(LA2_0>='A' && LA2_0<='F')||LA2_0=='_'||(LA2_0>='a' && LA2_0<='f')) ) {
-                    alt2=1;
-                }
-
-
-                switch (alt2) {
-            	case 1 :
-            	    // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:
-            	    {
-            	    if ( (input.LA(1)>='0' && input.LA(1)<='9')||(input.LA(1)>='A' && input.LA(1)<='F')||input.LA(1)=='_'||(input.LA(1)>='a' && input.LA(1)<='f') ) {
-            	        input.consume();
-
-            	    }
-            	    else {
-            	        MismatchedSetException mse = new MismatchedSetException(null,input);
-            	        recover(mse);
-            	        throw mse;}
-
-
-            	    }
-            	    break;
-
-            	default :
-            	    if ( cnt2 >= 1 ) break loop2;
-                        EarlyExitException eee =
-                            new EarlyExitException(2, input);
-                        throw eee;
-                }
-                cnt2++;
-            } while (true);
-
-            // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:47720:58: ( '#' ( ( 'b' | 'B' ) ( 'i' | 'I' ) | ( 'l' | 'L' ) ) )?
-            int alt4=2;
-            int LA4_0 = input.LA(1);
-
-            if ( (LA4_0=='#') ) {
-                alt4=1;
-            }
-            switch (alt4) {
-                case 1 :
-                    // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:47720:59: '#' ( ( 'b' | 'B' ) ( 'i' | 'I' ) | ( 'l' | 'L' ) )
-                    {
-                    match('#'); 
-                    // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:47720:63: ( ( 'b' | 'B' ) ( 'i' | 'I' ) | ( 'l' | 'L' ) )
-                    int alt3=2;
-                    int LA3_0 = input.LA(1);
-
-                    if ( (LA3_0=='B'||LA3_0=='b') ) {
-                        alt3=1;
-                    }
-                    else if ( (LA3_0=='L'||LA3_0=='l') ) {
-                        alt3=2;
-                    }
-                    else {
-                        NoViableAltException nvae =
-                            new NoViableAltException("", 3, 0, input);
-
-                        throw nvae;
-                    }
-                    switch (alt3) {
-                        case 1 :
-                            // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:47720:64: ( 'b' | 'B' ) ( 'i' | 'I' )
-                            {
-                            if ( input.LA(1)=='B'||input.LA(1)=='b' ) {
-                                input.consume();
-
-                            }
-                            else {
-                                MismatchedSetException mse = new MismatchedSetException(null,input);
-                                recover(mse);
-                                throw mse;}
-
-                            if ( input.LA(1)=='I'||input.LA(1)=='i' ) {
-                                input.consume();
-
-                            }
-                            else {
-                                MismatchedSetException mse = new MismatchedSetException(null,input);
-                                recover(mse);
-                                throw mse;}
-
-
-                            }
-                            break;
-                        case 2 :
-                            // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:47720:84: ( 'l' | 'L' )
-                            {
-                            if ( input.LA(1)=='L'||input.LA(1)=='l' ) {
-                                input.consume();
-
-                            }
-                            else {
-                                MismatchedSetException mse = new MismatchedSetException(null,input);
-                                recover(mse);
-                                throw mse;}
-
-
-                            }
-                            break;
-
-                    }
-
-
-                    }
-                    break;
-
-            }
-
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "RULE_HEX"
-
-    // $ANTLR start "RULE_INT"
-    public final void mRULE_INT() throws RecognitionException {
-        try {
-            int _type = RULE_INT;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:47722:10: ( '0' .. '9' ( '0' .. '9' | '_' )* )
-            // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:47722:12: '0' .. '9' ( '0' .. '9' | '_' )*
-            {
-            matchRange('0','9'); 
-            // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:47722:21: ( '0' .. '9' | '_' )*
-            loop5:
-            do {
-                int alt5=2;
-                int LA5_0 = input.LA(1);
-
-                if ( ((LA5_0>='0' && LA5_0<='9')||LA5_0=='_') ) {
-                    alt5=1;
-                }
-
-
-                switch (alt5) {
-            	case 1 :
-            	    // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:
-            	    {
-            	    if ( (input.LA(1)>='0' && input.LA(1)<='9')||input.LA(1)=='_' ) {
-            	        input.consume();
-
-            	    }
-            	    else {
-            	        MismatchedSetException mse = new MismatchedSetException(null,input);
-            	        recover(mse);
-            	        throw mse;}
-
-
-            	    }
-            	    break;
-
-            	default :
-            	    break loop5;
-                }
-            } while (true);
-
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "RULE_INT"
-
-    // $ANTLR start "RULE_DECIMAL"
-    public final void mRULE_DECIMAL() throws RecognitionException {
-        try {
-            int _type = RULE_DECIMAL;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:47724:14: ( RULE_INT ( ( 'e' | 'E' ) ( '+' | '-' )? RULE_INT )? ( ( 'b' | 'B' ) ( 'i' | 'I' | 'd' | 'D' ) | ( 'l' | 'L' | 'd' | 'D' | 'f' | 'F' ) )? )
-            // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:47724:16: RULE_INT ( ( 'e' | 'E' ) ( '+' | '-' )? RULE_INT )? ( ( 'b' | 'B' ) ( 'i' | 'I' | 'd' | 'D' ) | ( 'l' | 'L' | 'd' | 'D' | 'f' | 'F' ) )?
-            {
-            mRULE_INT(); 
-            // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:47724:25: ( ( 'e' | 'E' ) ( '+' | '-' )? RULE_INT )?
-            int alt7=2;
-            int LA7_0 = input.LA(1);
-
-            if ( (LA7_0=='E'||LA7_0=='e') ) {
-                alt7=1;
-            }
-            switch (alt7) {
-                case 1 :
-                    // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:47724:26: ( 'e' | 'E' ) ( '+' | '-' )? RULE_INT
-                    {
-                    if ( input.LA(1)=='E'||input.LA(1)=='e' ) {
-                        input.consume();
-
-                    }
-                    else {
-                        MismatchedSetException mse = new MismatchedSetException(null,input);
-                        recover(mse);
-                        throw mse;}
-
-                    // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:47724:36: ( '+' | '-' )?
-                    int alt6=2;
-                    int LA6_0 = input.LA(1);
-
-                    if ( (LA6_0=='+'||LA6_0=='-') ) {
-                        alt6=1;
-                    }
-                    switch (alt6) {
-                        case 1 :
-                            // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:
-                            {
-                            if ( input.LA(1)=='+'||input.LA(1)=='-' ) {
-                                input.consume();
-
-                            }
-                            else {
-                                MismatchedSetException mse = new MismatchedSetException(null,input);
-                                recover(mse);
-                                throw mse;}
-
-
-                            }
-                            break;
-
-                    }
-
-                    mRULE_INT(); 
-
-                    }
-                    break;
-
-            }
-
-            // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:47724:58: ( ( 'b' | 'B' ) ( 'i' | 'I' | 'd' | 'D' ) | ( 'l' | 'L' | 'd' | 'D' | 'f' | 'F' ) )?
-            int alt8=3;
-            int LA8_0 = input.LA(1);
-
-            if ( (LA8_0=='B'||LA8_0=='b') ) {
-                alt8=1;
-            }
-            else if ( (LA8_0=='D'||LA8_0=='F'||LA8_0=='L'||LA8_0=='d'||LA8_0=='f'||LA8_0=='l') ) {
-                alt8=2;
-            }
-            switch (alt8) {
-                case 1 :
-                    // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:47724:59: ( 'b' | 'B' ) ( 'i' | 'I' | 'd' | 'D' )
-                    {
-                    if ( input.LA(1)=='B'||input.LA(1)=='b' ) {
-                        input.consume();
-
-                    }
-                    else {
-                        MismatchedSetException mse = new MismatchedSetException(null,input);
-                        recover(mse);
-                        throw mse;}
-
-                    if ( input.LA(1)=='D'||input.LA(1)=='I'||input.LA(1)=='d'||input.LA(1)=='i' ) {
-                        input.consume();
-
-                    }
-                    else {
-                        MismatchedSetException mse = new MismatchedSetException(null,input);
-                        recover(mse);
-                        throw mse;}
-
-
-                    }
-                    break;
-                case 2 :
-                    // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:47724:87: ( 'l' | 'L' | 'd' | 'D' | 'f' | 'F' )
-                    {
-                    if ( input.LA(1)=='D'||input.LA(1)=='F'||input.LA(1)=='L'||input.LA(1)=='d'||input.LA(1)=='f'||input.LA(1)=='l' ) {
-                        input.consume();
-
-                    }
-                    else {
-                        MismatchedSetException mse = new MismatchedSetException(null,input);
-                        recover(mse);
-                        throw mse;}
-
-
-                    }
-                    break;
-
-            }
-
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "RULE_DECIMAL"
-
-    // $ANTLR start "RULE_ID"
-    public final void mRULE_ID() throws RecognitionException {
-        try {
-            int _type = RULE_ID;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:47726:9: ( ( '^' )? ( 'a' .. 'z' | 'A' .. 'Z' | '$' | '_' ) ( 'a' .. 'z' | 'A' .. 'Z' | '$' | '_' | '0' .. '9' )* )
-            // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:47726:11: ( '^' )? ( 'a' .. 'z' | 'A' .. 'Z' | '$' | '_' ) ( 'a' .. 'z' | 'A' .. 'Z' | '$' | '_' | '0' .. '9' )*
-            {
-            // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:47726:11: ( '^' )?
-            int alt9=2;
-            int LA9_0 = input.LA(1);
-
-            if ( (LA9_0=='^') ) {
-                alt9=1;
-            }
-            switch (alt9) {
-                case 1 :
-                    // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:47726:11: '^'
-                    {
-                    match('^'); 
-
-                    }
-                    break;
-
-            }
-
-            if ( input.LA(1)=='$'||(input.LA(1)>='A' && input.LA(1)<='Z')||input.LA(1)=='_'||(input.LA(1)>='a' && input.LA(1)<='z') ) {
-                input.consume();
-
-            }
-            else {
-                MismatchedSetException mse = new MismatchedSetException(null,input);
-                recover(mse);
-                throw mse;}
-
-            // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:47726:44: ( 'a' .. 'z' | 'A' .. 'Z' | '$' | '_' | '0' .. '9' )*
-            loop10:
-            do {
-                int alt10=2;
-                int LA10_0 = input.LA(1);
-
-                if ( (LA10_0=='$'||(LA10_0>='0' && LA10_0<='9')||(LA10_0>='A' && LA10_0<='Z')||LA10_0=='_'||(LA10_0>='a' && LA10_0<='z')) ) {
-                    alt10=1;
-                }
-
-
-                switch (alt10) {
-            	case 1 :
-            	    // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:
-            	    {
-            	    if ( input.LA(1)=='$'||(input.LA(1)>='0' && input.LA(1)<='9')||(input.LA(1)>='A' && input.LA(1)<='Z')||input.LA(1)=='_'||(input.LA(1)>='a' && input.LA(1)<='z') ) {
-            	        input.consume();
-
-            	    }
-            	    else {
-            	        MismatchedSetException mse = new MismatchedSetException(null,input);
-            	        recover(mse);
-            	        throw mse;}
-
-
-            	    }
-            	    break;
-
-            	default :
-            	    break loop10;
-                }
-            } while (true);
-
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "RULE_ID"
-
-    // $ANTLR start "RULE_STRING"
-    public final void mRULE_STRING() throws RecognitionException {
-        try {
-            int _type = RULE_STRING;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:47728:13: ( ( '\"' ( '\\\\' . | ~ ( ( '\\\\' | '\"' ) ) )* ( '\"' )? | '\\'' ( '\\\\' . | ~ ( ( '\\\\' | '\\'' ) ) )* ( '\\'' )? ) )
-            // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:47728:15: ( '\"' ( '\\\\' . | ~ ( ( '\\\\' | '\"' ) ) )* ( '\"' )? | '\\'' ( '\\\\' . | ~ ( ( '\\\\' | '\\'' ) ) )* ( '\\'' )? )
-            {
-            // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:47728:15: ( '\"' ( '\\\\' . | ~ ( ( '\\\\' | '\"' ) ) )* ( '\"' )? | '\\'' ( '\\\\' . | ~ ( ( '\\\\' | '\\'' ) ) )* ( '\\'' )? )
-            int alt15=2;
-            int LA15_0 = input.LA(1);
-
-            if ( (LA15_0=='\"') ) {
-                alt15=1;
-            }
-            else if ( (LA15_0=='\'') ) {
-                alt15=2;
-            }
-            else {
-                NoViableAltException nvae =
-                    new NoViableAltException("", 15, 0, input);
-
-                throw nvae;
-            }
-            switch (alt15) {
-                case 1 :
-                    // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:47728:16: '\"' ( '\\\\' . | ~ ( ( '\\\\' | '\"' ) ) )* ( '\"' )?
-                    {
-                    match('\"'); 
-                    // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:47728:20: ( '\\\\' . | ~ ( ( '\\\\' | '\"' ) ) )*
-                    loop11:
-                    do {
-                        int alt11=3;
-                        int LA11_0 = input.LA(1);
-
-                        if ( (LA11_0=='\\') ) {
-                            alt11=1;
-                        }
-                        else if ( ((LA11_0>='\u0000' && LA11_0<='!')||(LA11_0>='#' && LA11_0<='[')||(LA11_0>=']' && LA11_0<='\uFFFF')) ) {
-                            alt11=2;
-                        }
-
-
-                        switch (alt11) {
-                    	case 1 :
-                    	    // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:47728:21: '\\\\' .
-                    	    {
-                    	    match('\\'); 
-                    	    matchAny(); 
-
-                    	    }
-                    	    break;
-                    	case 2 :
-                    	    // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:47728:28: ~ ( ( '\\\\' | '\"' ) )
-                    	    {
-                    	    if ( (input.LA(1)>='\u0000' && input.LA(1)<='!')||(input.LA(1)>='#' && input.LA(1)<='[')||(input.LA(1)>=']' && input.LA(1)<='\uFFFF') ) {
-                    	        input.consume();
-
-                    	    }
-                    	    else {
-                    	        MismatchedSetException mse = new MismatchedSetException(null,input);
-                    	        recover(mse);
-                    	        throw mse;}
-
-
-                    	    }
-                    	    break;
-
-                    	default :
-                    	    break loop11;
-                        }
-                    } while (true);
-
-                    // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:47728:44: ( '\"' )?
-                    int alt12=2;
-                    int LA12_0 = input.LA(1);
-
-                    if ( (LA12_0=='\"') ) {
-                        alt12=1;
-                    }
-                    switch (alt12) {
-                        case 1 :
-                            // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:47728:44: '\"'
-                            {
-                            match('\"'); 
-
-                            }
-                            break;
-
-                    }
-
-
-                    }
-                    break;
-                case 2 :
-                    // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:47728:49: '\\'' ( '\\\\' . | ~ ( ( '\\\\' | '\\'' ) ) )* ( '\\'' )?
-                    {
-                    match('\''); 
-                    // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:47728:54: ( '\\\\' . | ~ ( ( '\\\\' | '\\'' ) ) )*
-                    loop13:
-                    do {
-                        int alt13=3;
-                        int LA13_0 = input.LA(1);
-
-                        if ( (LA13_0=='\\') ) {
-                            alt13=1;
-                        }
-                        else if ( ((LA13_0>='\u0000' && LA13_0<='&')||(LA13_0>='(' && LA13_0<='[')||(LA13_0>=']' && LA13_0<='\uFFFF')) ) {
-                            alt13=2;
-                        }
-
-
-                        switch (alt13) {
-                    	case 1 :
-                    	    // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:47728:55: '\\\\' .
-                    	    {
-                    	    match('\\'); 
-                    	    matchAny(); 
-
-                    	    }
-                    	    break;
-                    	case 2 :
-                    	    // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:47728:62: ~ ( ( '\\\\' | '\\'' ) )
-                    	    {
-                    	    if ( (input.LA(1)>='\u0000' && input.LA(1)<='&')||(input.LA(1)>='(' && input.LA(1)<='[')||(input.LA(1)>=']' && input.LA(1)<='\uFFFF') ) {
-                    	        input.consume();
-
-                    	    }
-                    	    else {
-                    	        MismatchedSetException mse = new MismatchedSetException(null,input);
-                    	        recover(mse);
-                    	        throw mse;}
-
-
-                    	    }
-                    	    break;
-
-                    	default :
-                    	    break loop13;
-                        }
-                    } while (true);
-
-                    // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:47728:79: ( '\\'' )?
-                    int alt14=2;
-                    int LA14_0 = input.LA(1);
-
-                    if ( (LA14_0=='\'') ) {
-                        alt14=1;
-                    }
-                    switch (alt14) {
-                        case 1 :
-                            // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:47728:79: '\\''
-                            {
-                            match('\''); 
-
-                            }
-                            break;
-
-                    }
-
-
-                    }
-                    break;
-
-            }
-
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "RULE_STRING"
-
-    // $ANTLR start "RULE_ML_COMMENT"
-    public final void mRULE_ML_COMMENT() throws RecognitionException {
-        try {
-            int _type = RULE_ML_COMMENT;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:47730:17: ( '/*' ( options {greedy=false; } : . )* '*/' )
-            // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:47730:19: '/*' ( options {greedy=false; } : . )* '*/'
-            {
-            match("/*"); 
-
-            // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:47730:24: ( options {greedy=false; } : . )*
-            loop16:
-            do {
-                int alt16=2;
-                int LA16_0 = input.LA(1);
-
-                if ( (LA16_0=='*') ) {
-                    int LA16_1 = input.LA(2);
-
-                    if ( (LA16_1=='/') ) {
-                        alt16=2;
-                    }
-                    else if ( ((LA16_1>='\u0000' && LA16_1<='.')||(LA16_1>='0' && LA16_1<='\uFFFF')) ) {
-                        alt16=1;
-                    }
-
-
-                }
-                else if ( ((LA16_0>='\u0000' && LA16_0<=')')||(LA16_0>='+' && LA16_0<='\uFFFF')) ) {
-                    alt16=1;
-                }
-
-
-                switch (alt16) {
-            	case 1 :
-            	    // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:47730:52: .
-            	    {
-            	    matchAny(); 
-
-            	    }
-            	    break;
-
-            	default :
-            	    break loop16;
-                }
-            } while (true);
-
-            match("*/"); 
-
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "RULE_ML_COMMENT"
-
-    // $ANTLR start "RULE_SL_COMMENT"
-    public final void mRULE_SL_COMMENT() throws RecognitionException {
-        try {
-            int _type = RULE_SL_COMMENT;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:47732:17: ( '//' (~ ( ( '\\n' | '\\r' ) ) )* ( ( '\\r' )? '\\n' )? )
-            // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:47732:19: '//' (~ ( ( '\\n' | '\\r' ) ) )* ( ( '\\r' )? '\\n' )?
-            {
-            match("//"); 
-
-            // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:47732:24: (~ ( ( '\\n' | '\\r' ) ) )*
-            loop17:
-            do {
-                int alt17=2;
-                int LA17_0 = input.LA(1);
-
-                if ( ((LA17_0>='\u0000' && LA17_0<='\t')||(LA17_0>='\u000B' && LA17_0<='\f')||(LA17_0>='\u000E' && LA17_0<='\uFFFF')) ) {
-                    alt17=1;
-                }
-
-
-                switch (alt17) {
-            	case 1 :
-            	    // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:47732:24: ~ ( ( '\\n' | '\\r' ) )
-            	    {
-            	    if ( (input.LA(1)>='\u0000' && input.LA(1)<='\t')||(input.LA(1)>='\u000B' && input.LA(1)<='\f')||(input.LA(1)>='\u000E' && input.LA(1)<='\uFFFF') ) {
-            	        input.consume();
-
-            	    }
-            	    else {
-            	        MismatchedSetException mse = new MismatchedSetException(null,input);
-            	        recover(mse);
-            	        throw mse;}
-
-
-            	    }
-            	    break;
-
-            	default :
-            	    break loop17;
-                }
-            } while (true);
-
-            // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:47732:40: ( ( '\\r' )? '\\n' )?
-            int alt19=2;
-            int LA19_0 = input.LA(1);
-
-            if ( (LA19_0=='\n'||LA19_0=='\r') ) {
-                alt19=1;
-            }
-            switch (alt19) {
-                case 1 :
-                    // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:47732:41: ( '\\r' )? '\\n'
-                    {
-                    // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:47732:41: ( '\\r' )?
-                    int alt18=2;
-                    int LA18_0 = input.LA(1);
-
-                    if ( (LA18_0=='\r') ) {
-                        alt18=1;
-                    }
-                    switch (alt18) {
-                        case 1 :
-                            // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:47732:41: '\\r'
-                            {
-                            match('\r'); 
-
-                            }
-                            break;
-
-                    }
-
-                    match('\n'); 
-
-                    }
-                    break;
-
-            }
-
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "RULE_SL_COMMENT"
-
-    // $ANTLR start "RULE_WS"
-    public final void mRULE_WS() throws RecognitionException {
-        try {
-            int _type = RULE_WS;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:47734:9: ( ( ' ' | '\\t' | '\\r' | '\\n' )+ )
-            // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:47734:11: ( ' ' | '\\t' | '\\r' | '\\n' )+
-            {
-            // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:47734:11: ( ' ' | '\\t' | '\\r' | '\\n' )+
-            int cnt20=0;
-            loop20:
-            do {
-                int alt20=2;
-                int LA20_0 = input.LA(1);
-
-                if ( ((LA20_0>='\t' && LA20_0<='\n')||LA20_0=='\r'||LA20_0==' ') ) {
-                    alt20=1;
-                }
-
-
-                switch (alt20) {
-            	case 1 :
-            	    // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:
-            	    {
-            	    if ( (input.LA(1)>='\t' && input.LA(1)<='\n')||input.LA(1)=='\r'||input.LA(1)==' ' ) {
-            	        input.consume();
-
-            	    }
-            	    else {
-            	        MismatchedSetException mse = new MismatchedSetException(null,input);
-            	        recover(mse);
-            	        throw mse;}
-
-
-            	    }
-            	    break;
-
-            	default :
-            	    if ( cnt20 >= 1 ) break loop20;
-                        EarlyExitException eee =
-                            new EarlyExitException(20, input);
-                        throw eee;
-                }
-                cnt20++;
-            } while (true);
-
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "RULE_WS"
-
-    // $ANTLR start "RULE_ANY_OTHER"
-    public final void mRULE_ANY_OTHER() throws RecognitionException {
-        try {
-            int _type = RULE_ANY_OTHER;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:47736:16: ( . )
-            // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:47736:18: .
-            {
-            matchAny(); 
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "RULE_ANY_OTHER"
-
-    public void mTokens() throws RecognitionException {
-        // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:1:8: ( T__13 | T__14 | T__15 | T__16 | T__17 | T__18 | T__19 | T__20 | T__21 | T__22 | T__23 | T__24 | T__25 | T__26 | T__27 | T__28 | T__29 | T__30 | T__31 | T__32 | T__33 | T__34 | T__35 | T__36 | T__37 | T__38 | T__39 | T__40 | T__41 | T__42 | T__43 | T__44 | T__45 | T__46 | T__47 | T__48 | T__49 | T__50 | T__51 | T__52 | T__53 | T__54 | T__55 | T__56 | T__57 | T__58 | T__59 | T__60 | T__61 | T__62 | T__63 | T__64 | T__65 | T__66 | T__67 | T__68 | T__69 | T__70 | T__71 | T__72 | T__73 | T__74 | T__75 | T__76 | T__77 | T__78 | T__79 | T__80 | T__81 | T__82 | T__83 | T__84 | T__85 | T__86 | T__87 | T__88 | T__89 | T__90 | T__91 | T__92 | T__93 | T__94 | T__95 | T__96 | T__97 | T__98 | T__99 | T__100 | T__101 | T__102 | T__103 | T__104 | T__105 | T__106 | T__107 | T__108 | T__109 | T__110 | T__111 | T__112 | T__113 | T__114 | T__115 | T__116 | T__117 | T__118 | T__119 | T__120 | T__121 | T__122 | T__123 | T__124 | T__125 | T__126 | T__127 | T__128 | T__129 | T__130 | T__131 | T__132 | T__133 | T__134 | T__135 | T__136 | T__137 | T__138 | T__139 | T__140 | T__141 | T__142 | T__143 | T__144 | T__145 | T__146 | T__147 | T__148 | T__149 | T__150 | T__151 | T__152 | T__153 | T__154 | T__155 | T__156 | T__157 | T__158 | T__159 | T__160 | T__161 | T__162 | T__163 | T__164 | T__165 | T__166 | T__167 | T__168 | T__169 | T__170 | T__171 | T__172 | T__173 | T__174 | T__175 | T__176 | T__177 | T__178 | T__179 | T__180 | T__181 | T__182 | T__183 | T__184 | T__185 | T__186 | T__187 | T__188 | T__189 | T__190 | T__191 | T__192 | T__193 | T__194 | T__195 | T__196 | T__197 | T__198 | T__199 | T__200 | T__201 | T__202 | T__203 | T__204 | T__205 | T__206 | T__207 | T__208 | T__209 | T__210 | T__211 | T__212 | T__213 | T__214 | T__215 | T__216 | T__217 | T__218 | T__219 | T__220 | T__221 | T__222 | T__223 | T__224 | T__225 | T__226 | T__227 | T__228 | T__229 | T__230 | T__231 | T__232 | T__233 | T__234 | T__235 | T__236 | T__237 | T__238 | T__239 | T__240 | T__241 | T__242 | T__243 | T__244 | T__245 | T__246 | T__247 | T__248 | T__249 | T__250 | T__251 | T__252 | T__253 | T__254 | RULE_HEX | RULE_INT | RULE_DECIMAL | RULE_ID | RULE_STRING | RULE_ML_COMMENT | RULE_SL_COMMENT | RULE_WS | RULE_ANY_OTHER )
-        int alt21=251;
-        alt21 = dfa21.predict(input);
-        switch (alt21) {
-            case 1 :
-                // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:1:10: T__13
-                {
-                mT__13(); 
-
-                }
-                break;
-            case 2 :
-                // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:1:16: T__14
-                {
-                mT__14(); 
-
-                }
-                break;
-            case 3 :
-                // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:1:22: T__15
-                {
-                mT__15(); 
-
-                }
-                break;
-            case 4 :
-                // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:1:28: T__16
-                {
-                mT__16(); 
-
-                }
-                break;
-            case 5 :
-                // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:1:34: T__17
-                {
-                mT__17(); 
-
-                }
-                break;
-            case 6 :
-                // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:1:40: T__18
-                {
-                mT__18(); 
-
-                }
-                break;
-            case 7 :
-                // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:1:46: T__19
-                {
-                mT__19(); 
-
-                }
-                break;
-            case 8 :
-                // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:1:52: T__20
-                {
-                mT__20(); 
-
-                }
-                break;
-            case 9 :
-                // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:1:58: T__21
-                {
-                mT__21(); 
-
-                }
-                break;
-            case 10 :
-                // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:1:64: T__22
-                {
-                mT__22(); 
-
-                }
-                break;
-            case 11 :
-                // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:1:70: T__23
-                {
-                mT__23(); 
-
-                }
-                break;
-            case 12 :
-                // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:1:76: T__24
-                {
-                mT__24(); 
-
-                }
-                break;
-            case 13 :
-                // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:1:82: T__25
-                {
-                mT__25(); 
-
-                }
-                break;
-            case 14 :
-                // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:1:88: T__26
-                {
-                mT__26(); 
-
-                }
-                break;
-            case 15 :
-                // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:1:94: T__27
-                {
-                mT__27(); 
-
-                }
-                break;
-            case 16 :
-                // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:1:100: T__28
-                {
-                mT__28(); 
-
-                }
-                break;
-            case 17 :
-                // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:1:106: T__29
-                {
-                mT__29(); 
-
-                }
-                break;
-            case 18 :
-                // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:1:112: T__30
-                {
-                mT__30(); 
-
-                }
-                break;
-            case 19 :
-                // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:1:118: T__31
-                {
-                mT__31(); 
-
-                }
-                break;
-            case 20 :
-                // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:1:124: T__32
-                {
-                mT__32(); 
-
-                }
-                break;
-            case 21 :
-                // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:1:130: T__33
-                {
-                mT__33(); 
-
-                }
-                break;
-            case 22 :
-                // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:1:136: T__34
-                {
-                mT__34(); 
-
-                }
-                break;
-            case 23 :
-                // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:1:142: T__35
-                {
-                mT__35(); 
-
-                }
-                break;
-            case 24 :
-                // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:1:148: T__36
-                {
-                mT__36(); 
-
-                }
-                break;
-            case 25 :
-                // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:1:154: T__37
-                {
-                mT__37(); 
-
-                }
-                break;
-            case 26 :
-                // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:1:160: T__38
-                {
-                mT__38(); 
-
-                }
-                break;
-            case 27 :
-                // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:1:166: T__39
-                {
-                mT__39(); 
-
-                }
-                break;
-            case 28 :
-                // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:1:172: T__40
-                {
-                mT__40(); 
-
-                }
-                break;
-            case 29 :
-                // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:1:178: T__41
-                {
-                mT__41(); 
-
-                }
-                break;
-            case 30 :
-                // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:1:184: T__42
-                {
-                mT__42(); 
-
-                }
-                break;
-            case 31 :
-                // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:1:190: T__43
-                {
-                mT__43(); 
-
-                }
-                break;
-            case 32 :
-                // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:1:196: T__44
-                {
-                mT__44(); 
-
-                }
-                break;
-            case 33 :
-                // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:1:202: T__45
-                {
-                mT__45(); 
-
-                }
-                break;
-            case 34 :
-                // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:1:208: T__46
-                {
-                mT__46(); 
-
-                }
-                break;
-            case 35 :
-                // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:1:214: T__47
-                {
-                mT__47(); 
-
-                }
-                break;
-            case 36 :
-                // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:1:220: T__48
-                {
-                mT__48(); 
-
-                }
-                break;
-            case 37 :
-                // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:1:226: T__49
-                {
-                mT__49(); 
-
-                }
-                break;
-            case 38 :
-                // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:1:232: T__50
-                {
-                mT__50(); 
-
-                }
-                break;
-            case 39 :
-                // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:1:238: T__51
-                {
-                mT__51(); 
-
-                }
-                break;
-            case 40 :
-                // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:1:244: T__52
-                {
-                mT__52(); 
-
-                }
-                break;
-            case 41 :
-                // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:1:250: T__53
-                {
-                mT__53(); 
-
-                }
-                break;
-            case 42 :
-                // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:1:256: T__54
-                {
-                mT__54(); 
-
-                }
-                break;
-            case 43 :
-                // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:1:262: T__55
-                {
-                mT__55(); 
-
-                }
-                break;
-            case 44 :
-                // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:1:268: T__56
-                {
-                mT__56(); 
-
-                }
-                break;
-            case 45 :
-                // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:1:274: T__57
-                {
-                mT__57(); 
-
-                }
-                break;
-            case 46 :
-                // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:1:280: T__58
-                {
-                mT__58(); 
-
-                }
-                break;
-            case 47 :
-                // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:1:286: T__59
-                {
-                mT__59(); 
-
-                }
-                break;
-            case 48 :
-                // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:1:292: T__60
-                {
-                mT__60(); 
-
-                }
-                break;
-            case 49 :
-                // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:1:298: T__61
-                {
-                mT__61(); 
-
-                }
-                break;
-            case 50 :
-                // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:1:304: T__62
-                {
-                mT__62(); 
-
-                }
-                break;
-            case 51 :
-                // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:1:310: T__63
-                {
-                mT__63(); 
-
-                }
-                break;
-            case 52 :
-                // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:1:316: T__64
-                {
-                mT__64(); 
-
-                }
-                break;
-            case 53 :
-                // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:1:322: T__65
-                {
-                mT__65(); 
-
-                }
-                break;
-            case 54 :
-                // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:1:328: T__66
-                {
-                mT__66(); 
-
-                }
-                break;
-            case 55 :
-                // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:1:334: T__67
-                {
-                mT__67(); 
-
-                }
-                break;
-            case 56 :
-                // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:1:340: T__68
-                {
-                mT__68(); 
-
-                }
-                break;
-            case 57 :
-                // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:1:346: T__69
-                {
-                mT__69(); 
-
-                }
-                break;
-            case 58 :
-                // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:1:352: T__70
-                {
-                mT__70(); 
-
-                }
-                break;
-            case 59 :
-                // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:1:358: T__71
-                {
-                mT__71(); 
-
-                }
-                break;
-            case 60 :
-                // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:1:364: T__72
-                {
-                mT__72(); 
-
-                }
-                break;
-            case 61 :
-                // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:1:370: T__73
-                {
-                mT__73(); 
-
-                }
-                break;
-            case 62 :
-                // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:1:376: T__74
-                {
-                mT__74(); 
-
-                }
-                break;
-            case 63 :
-                // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:1:382: T__75
-                {
-                mT__75(); 
-
-                }
-                break;
-            case 64 :
-                // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:1:388: T__76
-                {
-                mT__76(); 
-
-                }
-                break;
-            case 65 :
-                // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:1:394: T__77
-                {
-                mT__77(); 
-
-                }
-                break;
-            case 66 :
-                // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:1:400: T__78
-                {
-                mT__78(); 
-
-                }
-                break;
-            case 67 :
-                // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:1:406: T__79
-                {
-                mT__79(); 
-
-                }
-                break;
-            case 68 :
-                // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:1:412: T__80
-                {
-                mT__80(); 
-
-                }
-                break;
-            case 69 :
-                // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:1:418: T__81
-                {
-                mT__81(); 
-
-                }
-                break;
-            case 70 :
-                // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:1:424: T__82
-                {
-                mT__82(); 
-
-                }
-                break;
-            case 71 :
-                // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:1:430: T__83
-                {
-                mT__83(); 
-
-                }
-                break;
-            case 72 :
-                // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:1:436: T__84
-                {
-                mT__84(); 
-
-                }
-                break;
-            case 73 :
-                // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:1:442: T__85
-                {
-                mT__85(); 
-
-                }
-                break;
-            case 74 :
-                // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:1:448: T__86
-                {
-                mT__86(); 
-
-                }
-                break;
-            case 75 :
-                // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:1:454: T__87
-                {
-                mT__87(); 
-
-                }
-                break;
-            case 76 :
-                // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:1:460: T__88
-                {
-                mT__88(); 
-
-                }
-                break;
-            case 77 :
-                // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:1:466: T__89
-                {
-                mT__89(); 
-
-                }
-                break;
-            case 78 :
-                // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:1:472: T__90
-                {
-                mT__90(); 
-
-                }
-                break;
-            case 79 :
-                // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:1:478: T__91
-                {
-                mT__91(); 
-
-                }
-                break;
-            case 80 :
-                // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:1:484: T__92
-                {
-                mT__92(); 
-
-                }
-                break;
-            case 81 :
-                // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:1:490: T__93
-                {
-                mT__93(); 
-
-                }
-                break;
-            case 82 :
-                // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:1:496: T__94
-                {
-                mT__94(); 
-
-                }
-                break;
-            case 83 :
-                // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:1:502: T__95
-                {
-                mT__95(); 
-
-                }
-                break;
-            case 84 :
-                // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:1:508: T__96
-                {
-                mT__96(); 
-
-                }
-                break;
-            case 85 :
-                // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:1:514: T__97
-                {
-                mT__97(); 
-
-                }
-                break;
-            case 86 :
-                // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:1:520: T__98
-                {
-                mT__98(); 
-
-                }
-                break;
-            case 87 :
-                // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:1:526: T__99
-                {
-                mT__99(); 
-
-                }
-                break;
-            case 88 :
-                // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:1:532: T__100
-                {
-                mT__100(); 
-
-                }
-                break;
-            case 89 :
-                // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:1:539: T__101
-                {
-                mT__101(); 
-
-                }
-                break;
-            case 90 :
-                // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:1:546: T__102
-                {
-                mT__102(); 
-
-                }
-                break;
-            case 91 :
-                // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:1:553: T__103
-                {
-                mT__103(); 
-
-                }
-                break;
-            case 92 :
-                // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:1:560: T__104
-                {
-                mT__104(); 
-
-                }
-                break;
-            case 93 :
-                // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:1:567: T__105
-                {
-                mT__105(); 
-
-                }
-                break;
-            case 94 :
-                // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:1:574: T__106
-                {
-                mT__106(); 
-
-                }
-                break;
-            case 95 :
-                // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:1:581: T__107
-                {
-                mT__107(); 
-
-                }
-                break;
-            case 96 :
-                // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:1:588: T__108
-                {
-                mT__108(); 
-
-                }
-                break;
-            case 97 :
-                // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:1:595: T__109
-                {
-                mT__109(); 
-
-                }
-                break;
-            case 98 :
-                // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:1:602: T__110
-                {
-                mT__110(); 
-
-                }
-                break;
-            case 99 :
-                // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:1:609: T__111
-                {
-                mT__111(); 
-
-                }
-                break;
-            case 100 :
-                // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:1:616: T__112
-                {
-                mT__112(); 
-
-                }
-                break;
-            case 101 :
-                // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:1:623: T__113
-                {
-                mT__113(); 
-
-                }
-                break;
-            case 102 :
-                // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:1:630: T__114
-                {
-                mT__114(); 
-
-                }
-                break;
-            case 103 :
-                // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:1:637: T__115
-                {
-                mT__115(); 
-
-                }
-                break;
-            case 104 :
-                // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:1:644: T__116
-                {
-                mT__116(); 
-
-                }
-                break;
-            case 105 :
-                // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:1:651: T__117
-                {
-                mT__117(); 
-
-                }
-                break;
-            case 106 :
-                // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:1:658: T__118
-                {
-                mT__118(); 
-
-                }
-                break;
-            case 107 :
-                // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:1:665: T__119
-                {
-                mT__119(); 
-
-                }
-                break;
-            case 108 :
-                // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:1:672: T__120
-                {
-                mT__120(); 
-
-                }
-                break;
-            case 109 :
-                // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:1:679: T__121
-                {
-                mT__121(); 
-
-                }
-                break;
-            case 110 :
-                // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:1:686: T__122
-                {
-                mT__122(); 
-
-                }
-                break;
-            case 111 :
-                // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:1:693: T__123
-                {
-                mT__123(); 
-
-                }
-                break;
-            case 112 :
-                // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:1:700: T__124
-                {
-                mT__124(); 
-
-                }
-                break;
-            case 113 :
-                // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:1:707: T__125
-                {
-                mT__125(); 
-
-                }
-                break;
-            case 114 :
-                // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:1:714: T__126
-                {
-                mT__126(); 
-
-                }
-                break;
-            case 115 :
-                // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:1:721: T__127
-                {
-                mT__127(); 
-
-                }
-                break;
-            case 116 :
-                // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:1:728: T__128
-                {
-                mT__128(); 
-
-                }
-                break;
-            case 117 :
-                // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:1:735: T__129
-                {
-                mT__129(); 
-
-                }
-                break;
-            case 118 :
-                // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:1:742: T__130
-                {
-                mT__130(); 
-
-                }
-                break;
-            case 119 :
-                // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:1:749: T__131
-                {
-                mT__131(); 
-
-                }
-                break;
-            case 120 :
-                // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:1:756: T__132
-                {
-                mT__132(); 
-
-                }
-                break;
-            case 121 :
-                // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:1:763: T__133
-                {
-                mT__133(); 
-
-                }
-                break;
-            case 122 :
-                // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:1:770: T__134
-                {
-                mT__134(); 
-
-                }
-                break;
-            case 123 :
-                // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:1:777: T__135
-                {
-                mT__135(); 
-
-                }
-                break;
-            case 124 :
-                // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:1:784: T__136
-                {
-                mT__136(); 
-
-                }
-                break;
-            case 125 :
-                // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:1:791: T__137
-                {
-                mT__137(); 
-
-                }
-                break;
-            case 126 :
-                // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:1:798: T__138
-                {
-                mT__138(); 
-
-                }
-                break;
-            case 127 :
-                // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:1:805: T__139
-                {
-                mT__139(); 
-
-                }
-                break;
-            case 128 :
-                // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:1:812: T__140
-                {
-                mT__140(); 
-
-                }
-                break;
-            case 129 :
-                // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:1:819: T__141
-                {
-                mT__141(); 
-
-                }
-                break;
-            case 130 :
-                // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:1:826: T__142
-                {
-                mT__142(); 
-
-                }
-                break;
-            case 131 :
-                // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:1:833: T__143
-                {
-                mT__143(); 
-
-                }
-                break;
-            case 132 :
-                // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:1:840: T__144
-                {
-                mT__144(); 
-
-                }
-                break;
-            case 133 :
-                // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:1:847: T__145
-                {
-                mT__145(); 
-
-                }
-                break;
-            case 134 :
-                // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:1:854: T__146
-                {
-                mT__146(); 
-
-                }
-                break;
-            case 135 :
-                // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:1:861: T__147
-                {
-                mT__147(); 
-
-                }
-                break;
-            case 136 :
-                // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:1:868: T__148
-                {
-                mT__148(); 
-
-                }
-                break;
-            case 137 :
-                // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:1:875: T__149
-                {
-                mT__149(); 
-
-                }
-                break;
-            case 138 :
-                // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:1:882: T__150
-                {
-                mT__150(); 
-
-                }
-                break;
-            case 139 :
-                // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:1:889: T__151
-                {
-                mT__151(); 
-
-                }
-                break;
-            case 140 :
-                // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:1:896: T__152
-                {
-                mT__152(); 
-
-                }
-                break;
-            case 141 :
-                // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:1:903: T__153
-                {
-                mT__153(); 
-
-                }
-                break;
-            case 142 :
-                // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:1:910: T__154
-                {
-                mT__154(); 
-
-                }
-                break;
-            case 143 :
-                // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:1:917: T__155
-                {
-                mT__155(); 
-
-                }
-                break;
-            case 144 :
-                // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:1:924: T__156
-                {
-                mT__156(); 
-
-                }
-                break;
-            case 145 :
-                // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:1:931: T__157
-                {
-                mT__157(); 
-
-                }
-                break;
-            case 146 :
-                // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:1:938: T__158
-                {
-                mT__158(); 
-
-                }
-                break;
-            case 147 :
-                // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:1:945: T__159
-                {
-                mT__159(); 
-
-                }
-                break;
-            case 148 :
-                // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:1:952: T__160
-                {
-                mT__160(); 
-
-                }
-                break;
-            case 149 :
-                // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:1:959: T__161
-                {
-                mT__161(); 
-
-                }
-                break;
-            case 150 :
-                // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:1:966: T__162
-                {
-                mT__162(); 
-
-                }
-                break;
-            case 151 :
-                // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:1:973: T__163
-                {
-                mT__163(); 
-
-                }
-                break;
-            case 152 :
-                // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:1:980: T__164
-                {
-                mT__164(); 
-
-                }
-                break;
-            case 153 :
-                // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:1:987: T__165
-                {
-                mT__165(); 
-
-                }
-                break;
-            case 154 :
-                // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:1:994: T__166
-                {
-                mT__166(); 
-
-                }
-                break;
-            case 155 :
-                // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:1:1001: T__167
-                {
-                mT__167(); 
-
-                }
-                break;
-            case 156 :
-                // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:1:1008: T__168
-                {
-                mT__168(); 
-
-                }
-                break;
-            case 157 :
-                // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:1:1015: T__169
-                {
-                mT__169(); 
-
-                }
-                break;
-            case 158 :
-                // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:1:1022: T__170
-                {
-                mT__170(); 
-
-                }
-                break;
-            case 159 :
-                // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:1:1029: T__171
-                {
-                mT__171(); 
-
-                }
-                break;
-            case 160 :
-                // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:1:1036: T__172
-                {
-                mT__172(); 
-
-                }
-                break;
-            case 161 :
-                // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:1:1043: T__173
-                {
-                mT__173(); 
-
-                }
-                break;
-            case 162 :
-                // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:1:1050: T__174
-                {
-                mT__174(); 
-
-                }
-                break;
-            case 163 :
-                // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:1:1057: T__175
-                {
-                mT__175(); 
-
-                }
-                break;
-            case 164 :
-                // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:1:1064: T__176
-                {
-                mT__176(); 
-
-                }
-                break;
-            case 165 :
-                // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:1:1071: T__177
-                {
-                mT__177(); 
-
-                }
-                break;
-            case 166 :
-                // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:1:1078: T__178
-                {
-                mT__178(); 
-
-                }
-                break;
-            case 167 :
-                // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:1:1085: T__179
-                {
-                mT__179(); 
-
-                }
-                break;
-            case 168 :
-                // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:1:1092: T__180
-                {
-                mT__180(); 
-
-                }
-                break;
-            case 169 :
-                // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:1:1099: T__181
-                {
-                mT__181(); 
-
-                }
-                break;
-            case 170 :
-                // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:1:1106: T__182
-                {
-                mT__182(); 
-
-                }
-                break;
-            case 171 :
-                // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:1:1113: T__183
-                {
-                mT__183(); 
-
-                }
-                break;
-            case 172 :
-                // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:1:1120: T__184
-                {
-                mT__184(); 
-
-                }
-                break;
-            case 173 :
-                // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:1:1127: T__185
-                {
-                mT__185(); 
-
-                }
-                break;
-            case 174 :
-                // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:1:1134: T__186
-                {
-                mT__186(); 
-
-                }
-                break;
-            case 175 :
-                // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:1:1141: T__187
-                {
-                mT__187(); 
-
-                }
-                break;
-            case 176 :
-                // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:1:1148: T__188
-                {
-                mT__188(); 
-
-                }
-                break;
-            case 177 :
-                // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:1:1155: T__189
-                {
-                mT__189(); 
-
-                }
-                break;
-            case 178 :
-                // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:1:1162: T__190
-                {
-                mT__190(); 
-
-                }
-                break;
-            case 179 :
-                // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:1:1169: T__191
-                {
-                mT__191(); 
-
-                }
-                break;
-            case 180 :
-                // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:1:1176: T__192
-                {
-                mT__192(); 
-
-                }
-                break;
-            case 181 :
-                // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:1:1183: T__193
-                {
-                mT__193(); 
-
-                }
-                break;
-            case 182 :
-                // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:1:1190: T__194
-                {
-                mT__194(); 
-
-                }
-                break;
-            case 183 :
-                // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:1:1197: T__195
-                {
-                mT__195(); 
-
-                }
-                break;
-            case 184 :
-                // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:1:1204: T__196
-                {
-                mT__196(); 
-
-                }
-                break;
-            case 185 :
-                // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:1:1211: T__197
-                {
-                mT__197(); 
-
-                }
-                break;
-            case 186 :
-                // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:1:1218: T__198
-                {
-                mT__198(); 
-
-                }
-                break;
-            case 187 :
-                // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:1:1225: T__199
-                {
-                mT__199(); 
-
-                }
-                break;
-            case 188 :
-                // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:1:1232: T__200
-                {
-                mT__200(); 
-
-                }
-                break;
-            case 189 :
-                // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:1:1239: T__201
-                {
-                mT__201(); 
-
-                }
-                break;
-            case 190 :
-                // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:1:1246: T__202
-                {
-                mT__202(); 
-
-                }
-                break;
-            case 191 :
-                // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:1:1253: T__203
-                {
-                mT__203(); 
-
-                }
-                break;
-            case 192 :
-                // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:1:1260: T__204
-                {
-                mT__204(); 
-
-                }
-                break;
-            case 193 :
-                // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:1:1267: T__205
-                {
-                mT__205(); 
-
-                }
-                break;
-            case 194 :
-                // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:1:1274: T__206
-                {
-                mT__206(); 
-
-                }
-                break;
-            case 195 :
-                // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:1:1281: T__207
-                {
-                mT__207(); 
-
-                }
-                break;
-            case 196 :
-                // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:1:1288: T__208
-                {
-                mT__208(); 
-
-                }
-                break;
-            case 197 :
-                // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:1:1295: T__209
-                {
-                mT__209(); 
-
-                }
-                break;
-            case 198 :
-                // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:1:1302: T__210
-                {
-                mT__210(); 
-
-                }
-                break;
-            case 199 :
-                // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:1:1309: T__211
-                {
-                mT__211(); 
-
-                }
-                break;
-            case 200 :
-                // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:1:1316: T__212
-                {
-                mT__212(); 
-
-                }
-                break;
-            case 201 :
-                // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:1:1323: T__213
-                {
-                mT__213(); 
-
-                }
-                break;
-            case 202 :
-                // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:1:1330: T__214
-                {
-                mT__214(); 
-
-                }
-                break;
-            case 203 :
-                // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:1:1337: T__215
-                {
-                mT__215(); 
-
-                }
-                break;
-            case 204 :
-                // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:1:1344: T__216
-                {
-                mT__216(); 
-
-                }
-                break;
-            case 205 :
-                // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:1:1351: T__217
-                {
-                mT__217(); 
-
-                }
-                break;
-            case 206 :
-                // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:1:1358: T__218
-                {
-                mT__218(); 
-
-                }
-                break;
-            case 207 :
-                // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:1:1365: T__219
-                {
-                mT__219(); 
-
-                }
-                break;
-            case 208 :
-                // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:1:1372: T__220
-                {
-                mT__220(); 
-
-                }
-                break;
-            case 209 :
-                // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:1:1379: T__221
-                {
-                mT__221(); 
-
-                }
-                break;
-            case 210 :
-                // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:1:1386: T__222
-                {
-                mT__222(); 
-
-                }
-                break;
-            case 211 :
-                // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:1:1393: T__223
-                {
-                mT__223(); 
-
-                }
-                break;
-            case 212 :
-                // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:1:1400: T__224
-                {
-                mT__224(); 
-
-                }
-                break;
-            case 213 :
-                // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:1:1407: T__225
-                {
-                mT__225(); 
-
-                }
-                break;
-            case 214 :
-                // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:1:1414: T__226
-                {
-                mT__226(); 
-
-                }
-                break;
-            case 215 :
-                // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:1:1421: T__227
-                {
-                mT__227(); 
-
-                }
-                break;
-            case 216 :
-                // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:1:1428: T__228
-                {
-                mT__228(); 
-
-                }
-                break;
-            case 217 :
-                // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:1:1435: T__229
-                {
-                mT__229(); 
-
-                }
-                break;
-            case 218 :
-                // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:1:1442: T__230
-                {
-                mT__230(); 
-
-                }
-                break;
-            case 219 :
-                // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:1:1449: T__231
-                {
-                mT__231(); 
-
-                }
-                break;
-            case 220 :
-                // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:1:1456: T__232
-                {
-                mT__232(); 
-
-                }
-                break;
-            case 221 :
-                // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:1:1463: T__233
-                {
-                mT__233(); 
-
-                }
-                break;
-            case 222 :
-                // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:1:1470: T__234
-                {
-                mT__234(); 
-
-                }
-                break;
-            case 223 :
-                // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:1:1477: T__235
-                {
-                mT__235(); 
-
-                }
-                break;
-            case 224 :
-                // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:1:1484: T__236
-                {
-                mT__236(); 
-
-                }
-                break;
-            case 225 :
-                // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:1:1491: T__237
-                {
-                mT__237(); 
-
-                }
-                break;
-            case 226 :
-                // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:1:1498: T__238
-                {
-                mT__238(); 
-
-                }
-                break;
-            case 227 :
-                // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:1:1505: T__239
-                {
-                mT__239(); 
-
-                }
-                break;
-            case 228 :
-                // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:1:1512: T__240
-                {
-                mT__240(); 
-
-                }
-                break;
-            case 229 :
-                // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:1:1519: T__241
-                {
-                mT__241(); 
-
-                }
-                break;
-            case 230 :
-                // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:1:1526: T__242
-                {
-                mT__242(); 
-
-                }
-                break;
-            case 231 :
-                // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:1:1533: T__243
-                {
-                mT__243(); 
-
-                }
-                break;
-            case 232 :
-                // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:1:1540: T__244
-                {
-                mT__244(); 
-
-                }
-                break;
-            case 233 :
-                // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:1:1547: T__245
-                {
-                mT__245(); 
-
-                }
-                break;
-            case 234 :
-                // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:1:1554: T__246
-                {
-                mT__246(); 
-
-                }
-                break;
-            case 235 :
-                // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:1:1561: T__247
-                {
-                mT__247(); 
-
-                }
-                break;
-            case 236 :
-                // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:1:1568: T__248
-                {
-                mT__248(); 
-
-                }
-                break;
-            case 237 :
-                // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:1:1575: T__249
-                {
-                mT__249(); 
-
-                }
-                break;
-            case 238 :
-                // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:1:1582: T__250
-                {
-                mT__250(); 
-
-                }
-                break;
-            case 239 :
-                // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:1:1589: T__251
-                {
-                mT__251(); 
-
-                }
-                break;
-            case 240 :
-                // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:1:1596: T__252
-                {
-                mT__252(); 
-
-                }
-                break;
-            case 241 :
-                // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:1:1603: T__253
-                {
-                mT__253(); 
-
-                }
-                break;
-            case 242 :
-                // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:1:1610: T__254
-                {
-                mT__254(); 
-
-                }
-                break;
-            case 243 :
-                // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:1:1617: RULE_HEX
-                {
-                mRULE_HEX(); 
-
-                }
-                break;
-            case 244 :
-                // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:1:1626: RULE_INT
-                {
-                mRULE_INT(); 
-
-                }
-                break;
-            case 245 :
-                // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:1:1635: RULE_DECIMAL
-                {
-                mRULE_DECIMAL(); 
-
-                }
-                break;
-            case 246 :
-                // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:1:1648: RULE_ID
-                {
-                mRULE_ID(); 
-
-                }
-                break;
-            case 247 :
-                // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:1:1656: RULE_STRING
-                {
-                mRULE_STRING(); 
-
-                }
-                break;
-            case 248 :
-                // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:1:1668: RULE_ML_COMMENT
-                {
-                mRULE_ML_COMMENT(); 
-
-                }
-                break;
-            case 249 :
-                // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:1:1684: RULE_SL_COMMENT
-                {
-                mRULE_SL_COMMENT(); 
-
-                }
-                break;
-            case 250 :
-                // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:1:1700: RULE_WS
-                {
-                mRULE_WS(); 
-
-                }
-                break;
-            case 251 :
-                // ../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g:1:1708: RULE_ANY_OTHER
-                {
-                mRULE_ANY_OTHER(); 
-
-                }
-                break;
-
-        }
-
-    }
-
-
-    protected DFA21 dfa21 = new DFA21(this);
-    static final String DFA21_eotS =
-        "\1\uffff\1\67\1\71\1\73\3\102\1\122\1\126\1\131\1\135\1\137\1\141"+
-        "\1\143\1\145\1\147\1\152\20\102\12\uffff\1\u00c1\1\102\2\u00c5\1"+
-        "\64\5\uffff\1\u00ca\6\uffff\2\102\1\u00d0\3\102\1\uffff\1\102\1"+
-        "\u00d9\4\102\1\u00e4\1\u00e5\1\u00e6\1\102\1\u00e8\2\102\20\uffff"+
-        "\1\u00ec\5\uffff\1\u00ee\4\uffff\1\102\1\u00f2\1\u00f4\20\102\1"+
-        "\u010d\4\102\1\u0117\4\102\1\u011d\1\u011e\1\u011f\11\102\1\u012c"+
-        "\14\102\1\u013d\14\102\1\u0155\7\102\14\uffff\1\102\1\uffff\1\u00c5"+
-        "\6\uffff\5\102\1\uffff\10\102\1\uffff\10\102\1\u017d\1\102\3\uffff"+
-        "\1\102\1\uffff\2\102\4\uffff\1\u0182\1\u0183\1\102\1\uffff\1\102"+
-        "\1\uffff\5\102\1\u018c\22\102\1\uffff\6\102\1\u01a8\2\102\1\uffff"+
-        "\5\102\3\uffff\2\102\1\u01b2\5\102\1\uffff\1\102\1\u01bb\1\102\2"+
-        "\uffff\12\102\1\u01c7\3\102\2\uffff\10\102\1\u01d3\15\102\2\uffff"+
-        "\7\102\1\u01e9\17\102\1\u01fa\1\u01fb\1\u01fc\6\102\1\u0204\6\102"+
-        "\1\uffff\4\102\2\uffff\2\102\1\u0212\5\102\1\uffff\10\102\1\u0221"+
-        "\5\102\1\u0227\4\102\1\u022c\3\102\1\u0230\3\102\1\uffff\1\u0235"+
-        "\10\102\1\uffff\3\102\1\u0242\1\102\2\uffff\1\102\1\uffff\1\u0246"+
-        "\3\102\1\u024b\3\102\1\u024f\1\102\1\u0251\1\uffff\13\102\1\uffff"+
-        "\4\102\1\u0261\1\u0262\3\102\1\uffff\3\102\1\u0269\4\102\1\u026f"+
-        "\2\102\1\uffff\1\u0272\1\u0275\1\102\1\u0277\7\102\1\u027f\1\u0281"+
-        "\3\102\3\uffff\1\u0285\5\102\2\uffff\1\102\1\uffff\12\102\1\u0297"+
-        "\1\uffff\2\102\1\u029b\1\102\1\u029d\2\102\1\uffff\1\u02a0\1\102"+
-        "\1\u02a3\1\102\1\u02a5\2\uffff\4\102\1\u02aa\1\uffff\1\u02ab\3\102"+
-        "\1\uffff\1\u02af\1\102\1\u02b1\1\uffff\1\102\1\uffff\1\102\1\u02b4"+
-        "\1\uffff\5\102\1\u02bb\2\102\1\uffff\3\102\1\uffff\1\102\1\uffff"+
-        "\1\102\1\uffff\2\102\1\u02ca\1\102\1\uffff\3\102\1\uffff\1\102\1"+
-        "\uffff\3\102\1\u02d4\1\102\1\u02d6\6\102\1\uffff\1\102\1\u02de\2"+
-        "\uffff\6\102\1\uffff\5\102\1\uffff\1\102\1\u02eb\1\uffff\2\102\1"+
-        "\uffff\1\102\1\uffff\1\u02ef\1\u02f0\1\u02f1\1\u02f2\1\u02f3\1\102"+
-        "\1\u02f5\1\uffff\1\u02f6\1\uffff\1\102\1\u02f8\1\102\1\uffff\1\u02fa"+
-        "\1\u02fb\1\u02fc\1\u02fd\3\102\1\u0304\11\102\1\uffff\1\u030e\1"+
-        "\102\1\u0310\1\uffff\1\u0311\1\uffff\2\102\1\uffff\1\102\2\uffff"+
-        "\1\102\1\uffff\1\u0316\2\102\1\u031a\2\uffff\2\102\1\u031d\1\uffff"+
-        "\1\u031e\1\uffff\2\102\1\uffff\1\u0321\4\102\1\u0326\1\uffff\2\102"+
-        "\2\uffff\4\102\3\uffff\3\102\1\uffff\3\102\1\u0334\1\u0335\1\102"+
-        "\1\u0337\2\102\1\uffff\1\u033a\1\uffff\1\102\1\u033c\1\102\1\u033e"+
-        "\1\u033f\1\102\1\u0341\1\uffff\1\u0342\1\u0343\4\102\1\uffff\3\102"+
-        "\1\u034c\1\102\1\uffff\3\102\5\uffff\1\102\2\uffff\1\102\1\uffff"+
-        "\1\102\4\uffff\1\u0354\2\102\1\u0357\2\102\1\uffff\1\u035a\1\u035b"+
-        "\1\102\1\u035d\2\102\1\u0360\2\102\1\uffff\1\102\2\uffff\3\102\1"+
-        "\u0367\1\uffff\3\102\1\uffff\2\102\2\uffff\1\u036d\1\102\1\uffff"+
-        "\1\102\1\u0370\1\u0371\2\uffff\1\102\1\u0377\1\uffff\1\102\1\u037a"+
-        "\4\102\1\uffff\2\102\1\u0381\2\uffff\1\u0382\1\uffff\2\102\1\uffff"+
-        "\1\102\1\uffff\1\102\2\uffff\1\102\3\uffff\3\102\2\uffff\1\102\1"+
-        "\u0391\1\u0392\1\uffff\4\102\1\u0397\2\102\1\uffff\1\u039a\1\102"+
-        "\1\uffff\2\102\2\uffff\1\102\1\uffff\1\102\1\u03a0\1\uffff\3\102"+
-        "\1\u03a4\2\102\1\uffff\5\102\1\uffff\2\102\6\uffff\1\u03ae\2\uffff"+
-        "\1\102\2\uffff\1\u03b5\3\102\1\u03b9\2\uffff\2\102\1\uffff\1\102"+
-        "\1\uffff\3\102\5\uffff\1\102\2\uffff\3\102\1\u03c7\1\uffff\1\102"+
-        "\1\u03c9\1\uffff\3\102\1\u03cd\1\u03ce\1\uffff\1\u03cf\2\102\1\uffff"+
-        "\6\102\1\u03d8\1\u03da\1\u03db\2\uffff\1\102\5\uffff\1\102\1\u03df"+
-        "\1\102\1\uffff\2\102\2\uffff\1\u03e3\1\u03e4\2\102\1\uffff\1\u03e8"+
-        "\1\102\1\u03ea\1\u03eb\1\uffff\1\u03ec\2\uffff\2\102\3\uffff\1\102"+
-        "\1\u03f0\1\102\1\u03f2\2\102\1\u03f5\1\u03f6\1\uffff\1\u03f7\3\uffff"+
-        "\2\102\1\uffff\1\u03fb\2\102\2\uffff\2\102\1\u0401\1\uffff\1\u0402"+
-        "\3\uffff\3\102\1\uffff\1\u0406\1\uffff\1\102\1\u0408\3\uffff\1\u040a"+
-        "\1\102\1\u040c\1\uffff\1\u040d\1\u040e\2\102\3\uffff\1\u0411\1\u0412"+
-        "\1\102\1\uffff\1\u0414\3\uffff\1\u0415\3\uffff\1\102\1\u0417\2\uffff"+
-        "\1\102\2\uffff\1\102\1\uffff\1\u041a\1\102\1\uffff\1\u041c\1\uffff";
-    static final String DFA21_eofS =
-        "\u041d\uffff";
-    static final String DFA21_minS =
-        "\1\0\1\75\1\174\1\46\2\141\1\63\1\53\1\55\2\52\3\75\1\76\2\56\1"+
-        "\141\1\154\1\141\1\143\3\141\1\151\1\141\1\145\1\142\3\145\2\141"+
-        "\12\uffff\1\72\1\150\2\60\1\44\5\uffff\1\75\6\uffff\1\162\1\154"+
-        "\1\44\1\154\1\151\1\163\1\uffff\1\166\1\44\1\162\1\146\1\156\1\154"+
-        "\3\44\1\145\1\44\1\147\1\164\20\uffff\1\75\5\uffff\1\74\4\uffff"+
-        "\1\154\2\44\1\163\1\141\1\142\1\156\1\162\1\141\1\157\1\154\1\172"+
-        "\1\151\1\156\1\157\1\141\1\143\1\141\1\157\1\44\2\154\1\157\1\156"+
-        "\1\44\2\156\1\162\1\144\3\44\2\162\1\146\1\143\1\157\1\55\1\146"+
-        "\1\154\1\155\1\44\1\40\1\142\1\146\1\147\1\157\1\156\1\154\1\167"+
-        "\1\154\1\164\1\151\1\55\1\44\1\144\2\156\1\167\1\156\1\157\1\151"+
-        "\1\155\1\141\1\144\1\143\1\154\1\44\1\157\1\160\1\141\2\155\1\142"+
-        "\1\162\14\uffff\1\151\1\uffff\1\60\6\uffff\1\164\1\162\1\143\1\156"+
-        "\1\157\1\uffff\1\164\1\154\1\160\1\145\1\143\1\151\1\164\1\142\1"+
-        "\uffff\1\150\1\153\1\141\1\163\1\143\3\141\1\44\1\145\3\uffff\1"+
-        "\162\1\uffff\1\162\1\157\4\uffff\2\44\1\145\1\uffff\1\145\1\uffff"+
-        "\1\145\1\147\1\154\1\151\1\145\1\44\2\163\1\151\1\145\1\154\1\160"+
-        "\1\151\1\145\1\164\1\143\1\167\1\157\1\147\1\150\2\145\1\154\1\156"+
-        "\1\uffff\1\163\1\151\2\145\1\141\1\155\1\44\2\164\1\uffff\1\157"+
-        "\2\151\1\147\1\151\3\uffff\1\164\1\143\1\44\1\145\1\153\1\144\1"+
-        "\150\1\160\1\154\1\157\1\44\1\157\2\uffff\1\144\1\157\1\145\1\164"+
-        "\1\150\1\153\1\155\1\145\1\142\1\154\1\44\1\151\1\163\1\145\2\uffff"+
-        "\1\150\1\151\1\147\1\156\1\157\1\144\1\165\1\151\1\44\1\145\1\144"+
-        "\1\157\1\144\1\154\1\144\1\147\1\145\1\55\1\153\1\164\2\144\2\uffff"+
-        "\1\141\1\155\1\141\1\154\1\145\2\156\1\44\1\145\1\164\1\160\1\145"+
-        "\2\154\1\157\1\154\1\157\1\145\1\141\1\164\1\162\1\155\1\145\3\44"+
-        "\1\150\1\144\1\145\1\154\2\145\1\44\1\155\1\40\1\162\1\151\1\165"+
-        "\1\155\1\uffff\1\162\1\141\1\145\1\164\2\uffff\1\156\1\144\1\44"+
-        "\1\151\1\156\1\145\1\156\1\162\1\uffff\1\151\1\165\1\55\1\146\1"+
-        "\156\1\145\1\151\1\144\1\44\1\143\1\150\1\117\1\162\1\145\1\44\1"+
-        "\164\1\141\1\162\1\151\1\44\1\145\1\154\1\144\1\44\1\154\1\40\1"+
-        "\141\1\uffff\1\44\1\145\1\163\2\155\1\151\1\141\1\162\1\145\1\uffff"+
-        "\1\55\1\141\1\151\1\44\2\145\1\uffff\1\162\1\uffff\1\44\1\163\1"+
-        "\165\1\154\1\44\1\164\1\165\1\141\1\44\1\145\1\44\1\uffff\1\161"+
-        "\1\145\1\156\1\164\1\156\1\145\1\151\1\162\1\145\1\162\1\172\1\uffff"+
-        "\1\162\1\55\1\166\1\160\2\44\1\145\1\150\1\154\1\uffff\1\147\1\157"+
-        "\1\145\1\44\1\154\1\141\1\162\1\142\1\44\1\163\1\144\1\uffff\2\44"+
-        "\1\154\1\44\2\145\1\167\1\145\1\155\1\156\1\164\2\44\1\156\1\162"+
-        "\1\157\3\uffff\1\44\1\145\1\144\1\145\1\144\1\156\2\uffff\1\141"+
-        "\1\uffff\1\151\2\154\1\151\1\156\2\147\1\145\1\144\1\156\1\44\1"+
-        "\uffff\1\143\1\141\1\44\1\147\1\44\1\164\1\142\1\uffff\1\44\1\164"+
-        "\1\44\1\156\1\44\2\uffff\1\150\1\162\1\156\1\164\1\44\1\uffff\1"+
-        "\44\1\156\1\166\1\143\1\uffff\1\44\1\171\1\44\1\uffff\1\154\1\uffff"+
-        "\1\164\1\44\1\uffff\1\162\1\160\2\165\1\156\1\44\1\141\2\156\1\145"+
-        "\1\147\1\156\1\uffff\1\162\1\144\1\155\1\uffff\1\143\1\164\1\44"+
-        "\1\141\1\uffff\1\145\1\160\1\154\1\uffff\1\162\1\uffff\1\165\2\164"+
-        "\1\44\1\147\1\44\1\156\1\164\1\162\1\156\1\145\1\141\1\uffff\1\145"+
-        "\1\44\2\uffff\1\162\1\164\1\141\1\162\1\155\1\162\1\uffff\1\55\1"+
-        "\162\1\144\1\141\1\146\1\uffff\1\146\1\44\1\uffff\1\157\1\154\1"+
-        "\uffff\1\141\1\uffff\5\44\1\143\1\44\1\uffff\1\44\1\uffff\1\163"+
-        "\1\44\1\154\1\uffff\4\44\1\163\1\162\1\142\1\44\1\164\1\143\1\141"+
-        "\1\145\1\141\1\170\1\163\1\151\1\141\1\uffff\1\44\1\164\1\44\1\uffff"+
-        "\1\44\1\uffff\1\154\1\164\1\uffff\1\151\2\uffff\1\147\1\uffff\1"+
-        "\44\1\157\1\106\1\44\2\uffff\1\143\1\141\1\44\1\uffff\1\44\1\uffff"+
-        "\1\171\1\164\1\uffff\1\44\1\141\2\155\1\55\1\44\1\uffff\1\151\1"+
-        "\164\1\165\1\uffff\1\155\1\145\1\147\1\164\3\uffff\2\141\1\55\1"+
-        "\uffff\1\162\1\156\1\163\2\44\1\145\1\44\2\141\1\uffff\1\44\1\uffff"+
-        "\1\147\1\44\1\151\2\44\1\154\1\44\1\uffff\2\44\1\142\1\157\1\155"+
-        "\1\55\1\160\1\147\1\163\1\162\1\44\1\157\1\uffff\1\154\1\151\1\164"+
-        "\5\uffff\1\171\2\uffff\1\160\1\uffff\1\157\4\uffff\1\44\1\164\1"+
-        "\145\1\44\1\145\1\157\1\uffff\2\44\1\164\1\44\2\164\1\44\1\157\1"+
-        "\154\1\uffff\1\151\2\uffff\1\145\1\151\1\146\1\44\1\uffff\1\156"+
-        "\1\151\1\141\1\uffff\1\145\1\154\2\uffff\1\44\1\145\1\uffff\1\143"+
-        "\2\44\1\142\1\uffff\1\164\1\44\1\155\1\160\1\44\1\55\1\171\1\164"+
-        "\1\160\1\uffff\1\147\1\163\1\44\2\uffff\1\44\1\uffff\1\164\1\162"+
-        "\1\uffff\1\55\1\uffff\1\156\2\uffff\1\55\3\uffff\1\145\1\165\1\141"+
-        "\1\142\1\141\1\151\2\44\1\uffff\1\162\1\157\1\147\1\145\1\44\1\141"+
-        "\1\162\1\uffff\1\44\1\144\1\uffff\1\141\1\157\2\uffff\1\145\1\uffff"+
-        "\1\145\1\44\1\uffff\1\156\1\103\1\156\1\44\1\164\1\151\1\uffff\1"+
-        "\151\1\162\1\163\1\157\1\163\1\uffff\1\162\1\145\6\uffff\1\44\1"+
-        "\uffff\1\142\1\154\1\uffff\1\142\1\44\1\164\1\145\1\151\1\44\2\uffff"+
-        "\1\151\1\147\1\143\1\147\1\uffff\1\154\1\156\1\162\4\uffff\1\147"+
-        "\1\156\2\uffff\1\155\1\162\1\156\1\44\1\uffff\1\156\1\44\1\uffff"+
-        "\1\40\1\144\1\164\2\44\1\uffff\1\44\1\163\1\147\1\uffff\1\154\1"+
-        "\143\1\172\1\163\1\164\1\146\3\44\1\uffff\1\145\1\141\5\uffff\1"+
-        "\145\1\44\1\156\1\uffff\1\157\1\151\2\uffff\2\44\1\144\1\147\1\145"+
-        "\1\44\1\163\2\44\1\uffff\1\44\2\uffff\2\145\3\uffff\1\163\1\44\1"+
-        "\145\1\44\1\145\1\164\2\44\1\uffff\1\44\2\uffff\1\162\1\164\1\144"+
-        "\1\uffff\1\44\2\156\2\uffff\1\143\1\151\1\55\1\uffff\1\44\3\uffff"+
-        "\2\162\1\125\1\uffff\1\44\1\uffff\1\144\1\44\3\uffff\1\55\1\145"+
-        "\1\44\1\uffff\2\44\1\157\1\156\3\uffff\2\44\1\122\1\uffff\1\44\3"+
-        "\uffff\1\44\3\uffff\1\154\1\44\2\uffff\1\111\2\uffff\1\157\1\uffff"+
-        "\1\44\1\162\1\uffff\1\44\1\uffff";
-    static final String DFA21_maxS =
-        "\1\uffff\1\76\1\174\1\46\1\165\1\171\1\166\1\75\1\76\5\75\1\76"+
-        "\1\56\1\72\1\141\1\170\1\171\1\164\1\162\1\157\1\170\1\163\1\157"+
-        "\3\165\1\162\1\164\2\171\12\uffff\1\72\1\150\1\170\1\154\1\172\5"+
-        "\uffff\1\75\6\uffff\1\163\1\165\1\172\1\156\1\151\1\164\1\uffff"+
-        "\1\166\1\172\1\171\1\164\1\156\1\164\3\172\1\145\1\172\1\147\1\164"+
-        "\20\uffff\1\75\5\uffff\1\74\4\uffff\1\162\2\172\1\163\1\171\1\160"+
-        "\1\156\1\162\1\151\1\157\1\154\1\172\1\151\1\156\1\157\1\160\1\164"+
-        "\1\141\1\157\1\172\1\155\1\170\1\157\1\162\1\172\2\156\1\170\1\144"+
-        "\3\172\2\162\1\146\1\164\1\157\1\55\1\146\1\154\1\155\1\172\1\40"+
-        "\1\171\1\146\1\147\1\157\1\162\1\155\1\167\1\154\1\164\1\151\1\55"+
-        "\1\172\1\163\1\156\1\164\1\167\1\156\2\157\1\155\1\151\2\144\1\164"+
-        "\1\172\1\167\1\160\1\171\1\170\1\164\1\142\1\162\14\uffff\1\151"+
-        "\1\uffff\1\154\6\uffff\1\164\1\162\1\143\1\156\1\165\1\uffff\1\164"+
-        "\1\154\1\160\1\145\1\143\1\151\1\164\1\142\1\uffff\1\150\1\153\1"+
-        "\145\1\163\1\143\3\141\1\172\1\145\3\uffff\1\162\1\uffff\1\162\1"+
-        "\157\4\uffff\2\172\1\145\1\uffff\1\145\1\uffff\1\145\1\164\1\154"+
-        "\1\151\1\145\1\172\1\164\1\163\1\151\1\145\1\154\1\160\1\151\1\145"+
-        "\1\164\1\143\1\167\1\157\1\147\1\150\1\164\1\145\1\154\1\156\1\uffff"+
-        "\1\163\1\151\2\145\1\141\1\155\1\172\2\164\1\uffff\1\157\2\151\1"+
-        "\147\1\151\3\uffff\1\164\1\143\1\172\1\145\1\153\1\144\1\150\1\160"+
-        "\1\163\1\157\1\172\1\157\2\uffff\1\144\1\157\1\145\1\164\1\150\1"+
-        "\153\1\155\1\145\1\142\1\154\1\172\1\151\1\163\1\145\2\uffff\1\150"+
-        "\1\151\1\147\1\156\1\157\1\144\1\165\1\151\1\172\1\145\1\144\1\165"+
-        "\1\144\1\154\1\144\1\147\1\145\1\55\1\153\1\164\2\144\2\uffff\1"+
-        "\141\1\155\1\141\1\154\1\145\2\156\1\172\1\145\1\164\1\160\1\145"+
-        "\2\154\1\157\1\154\1\157\1\145\1\141\1\164\1\162\1\155\1\145\3\172"+
-        "\1\150\1\144\1\145\1\154\2\145\1\172\1\155\1\40\1\162\1\151\1\165"+
-        "\1\155\1\uffff\1\162\1\141\1\145\1\164\2\uffff\1\162\1\144\1\172"+
-        "\1\151\1\156\1\145\1\156\1\162\1\uffff\1\151\1\165\1\55\1\146\1"+
-        "\156\1\145\1\151\1\144\1\172\1\143\1\150\1\117\1\162\1\145\1\172"+
-        "\1\164\1\141\1\162\1\151\1\172\1\145\1\154\1\144\1\172\1\154\1\40"+
-        "\1\141\1\uffff\1\172\1\145\1\163\2\155\1\151\1\141\1\162\1\145\1"+
-        "\uffff\1\164\1\141\1\151\1\172\2\145\1\uffff\1\162\1\uffff\1\172"+
-        "\1\163\1\165\1\154\1\172\1\164\1\165\1\141\1\172\1\145\1\172\1\uffff"+
-        "\1\161\1\145\1\156\1\164\1\156\1\145\1\151\1\162\1\145\1\162\1\172"+
-        "\1\uffff\1\162\1\55\1\166\1\160\2\172\1\145\1\150\1\154\1\uffff"+
-        "\1\147\1\157\1\145\1\172\1\154\1\141\1\162\1\142\1\172\1\163\1\144"+
-        "\1\uffff\2\172\1\154\1\172\2\145\1\167\1\145\1\155\1\156\1\164\2"+
-        "\172\1\156\1\162\1\157\3\uffff\1\172\1\145\1\144\1\145\1\144\1\156"+
-        "\2\uffff\1\141\1\uffff\1\151\2\154\1\151\1\156\2\147\1\145\1\163"+
-        "\1\156\1\172\1\uffff\1\143\1\141\1\172\1\147\1\172\1\164\1\142\1"+
-        "\uffff\1\172\1\164\1\172\1\156\1\172\2\uffff\1\150\1\162\1\156\1"+
-        "\164\1\172\1\uffff\1\172\1\156\1\166\1\143\1\uffff\1\172\1\171\1"+
-        "\172\1\uffff\1\154\1\uffff\1\164\1\172\1\uffff\1\162\1\160\2\165"+
-        "\1\156\1\172\1\141\1\156\1\166\1\145\1\147\1\156\1\uffff\1\162\1"+
-        "\164\1\155\1\uffff\1\143\1\164\1\172\1\141\1\uffff\1\145\1\160\1"+
-        "\154\1\uffff\1\162\1\uffff\1\165\2\164\1\172\1\147\1\172\1\156\1"+
-        "\164\1\162\1\156\1\145\1\141\1\uffff\1\145\1\172\2\uffff\1\162\1"+
-        "\164\1\141\1\162\1\155\1\162\1\uffff\1\55\1\162\1\144\1\141\1\146"+
-        "\1\uffff\1\146\1\172\1\uffff\1\157\1\154\1\uffff\1\141\1\uffff\5"+
-        "\172\1\143\1\172\1\uffff\1\172\1\uffff\1\163\1\172\1\154\1\uffff"+
-        "\4\172\1\163\1\162\1\142\1\172\1\164\1\143\1\141\1\145\1\141\1\170"+
-        "\1\163\1\151\1\141\1\uffff\1\172\1\164\1\172\1\uffff\1\172\1\uffff"+
-        "\1\154\1\164\1\uffff\1\151\2\uffff\1\147\1\uffff\1\172\1\157\1\114"+
-        "\1\172\2\uffff\1\143\1\141\1\172\1\uffff\1\172\1\uffff\1\171\1\164"+
-        "\1\uffff\1\172\1\141\2\155\1\55\1\172\1\uffff\1\151\1\164\1\165"+
-        "\1\uffff\1\155\1\145\1\147\1\164\3\uffff\2\141\1\55\1\uffff\1\162"+
-        "\1\156\1\163\2\172\1\145\1\172\2\141\1\uffff\1\172\1\uffff\1\147"+
-        "\1\172\1\151\2\172\1\154\1\172\1\uffff\2\172\1\142\1\157\1\155\1"+
-        "\55\1\160\1\147\1\163\1\162\1\172\1\157\1\uffff\1\154\1\151\1\164"+
-        "\5\uffff\1\171\2\uffff\1\160\1\uffff\1\157\4\uffff\1\172\1\164\1"+
-        "\145\1\172\1\145\1\157\1\uffff\2\172\1\164\1\172\2\164\1\172\1\157"+
-        "\1\154\1\uffff\1\151\2\uffff\1\145\1\151\1\146\1\172\1\uffff\1\156"+
-        "\1\151\1\141\1\uffff\1\145\1\154\2\uffff\1\172\1\145\1\uffff\1\143"+
-        "\2\172\1\164\1\uffff\1\164\1\172\1\155\1\160\1\172\1\55\1\171\1"+
-        "\164\1\160\1\uffff\1\147\1\163\1\172\2\uffff\1\172\1\uffff\1\164"+
-        "\1\162\1\uffff\1\55\1\uffff\1\156\2\uffff\1\55\3\uffff\1\145\1\165"+
-        "\1\141\1\164\1\141\1\151\2\172\1\uffff\1\162\1\157\1\147\1\145\1"+
-        "\172\1\141\1\162\1\uffff\1\172\1\144\1\uffff\1\141\1\157\2\uffff"+
-        "\1\145\1\uffff\1\145\1\172\1\uffff\1\156\1\103\1\156\1\172\1\164"+
-        "\1\151\1\uffff\1\151\1\162\1\163\1\157\1\163\1\uffff\1\162\1\145"+
-        "\6\uffff\1\172\1\uffff\1\142\1\154\1\uffff\1\164\1\172\1\164\1\145"+
-        "\1\151\1\172\2\uffff\1\151\1\147\1\163\1\147\1\uffff\1\154\1\156"+
-        "\1\162\4\uffff\1\147\1\156\2\uffff\1\155\1\162\1\156\1\172\1\uffff"+
-        "\1\156\1\172\1\uffff\1\40\1\144\1\164\2\172\1\uffff\1\172\1\163"+
-        "\1\147\1\uffff\1\154\1\143\1\172\1\163\1\164\1\146\3\172\1\uffff"+
-        "\1\145\1\141\5\uffff\1\145\1\172\1\156\1\uffff\1\157\1\151\2\uffff"+
-        "\2\172\1\144\1\147\1\145\1\172\1\163\2\172\1\uffff\1\172\2\uffff"+
-        "\2\145\3\uffff\1\163\1\172\1\145\1\172\1\145\1\164\2\172\1\uffff"+
-        "\1\172\2\uffff\1\162\1\164\1\144\1\uffff\1\172\2\156\2\uffff\1\143"+
-        "\1\151\1\55\1\uffff\1\172\3\uffff\2\162\1\125\1\uffff\1\172\1\uffff"+
-        "\1\144\1\172\3\uffff\1\55\1\145\1\172\1\uffff\2\172\1\157\1\156"+
-        "\3\uffff\2\172\1\122\1\uffff\1\172\3\uffff\1\172\3\uffff\1\154\1"+
-        "\172\2\uffff\1\111\2\uffff\1\157\1\uffff\1\172\1\162\1\uffff\1\172"+
-        "\1\uffff";
-    static final String DFA21_acceptS =
-        "\41\uffff\1\156\1\157\1\u00bc\1\u00bd\1\u00cb\1\u00cc\1\u00cd\1"+
-        "\u00ce\1\u00cf\1\u00d1\5\uffff\1\u00f6\2\u00f7\1\u00fa\1\u00fb\1"+
-        "\uffff\1\27\1\1\1\2\1\u00f0\1\3\1\u00e5\6\uffff\1\u00f6\15\uffff"+
-        "\1\10\1\41\1\32\1\11\1\24\1\42\1\33\1\12\1\35\1\34\1\13\1\u00f8"+
-        "\1\u00f9\1\36\1\14\1\37\1\uffff\1\40\1\21\1\22\1\30\1\23\1\uffff"+
-        "\1\43\1\31\1\u00ef\1\u00e4\113\uffff\1\156\1\157\1\u00bc\1\u00bd"+
-        "\1\u00cb\1\u00cc\1\u00cd\1\u00ce\1\u00cf\1\u00d1\1\u00ee\1\u00d5"+
-        "\1\uffff\1\u00f3\1\uffff\1\u00f4\1\u00f5\1\u00f7\1\u00fa\1\17\1"+
-        "\15\5\uffff\1\54\10\uffff\1\u00da\12\uffff\1\63\1\64\1\65\1\uffff"+
-        "\1\u00ac\2\uffff\1\20\1\16\1\25\1\26\3\uffff\1\61\1\uffff\1\60\30"+
-        "\uffff\1\u00d2\11\uffff\1\53\5\uffff\1\55\1\57\1\62\14\uffff\1\u009c"+
-        "\1\u00be\16\uffff\1\u00b9\1\u00bb\26\uffff\1\u0082\1\u00b2\47\uffff"+
-        "\1\7\4\uffff\1\44\1\u00f1\10\uffff\1\117\33\uffff\1\u00d8\11\uffff"+
-        "\1\114\6\uffff\1\71\1\uffff\1\153\13\uffff\1\u00db\13\uffff\1\u00ad"+
-        "\11\uffff\1\125\13\uffff\1\u00e0\20\uffff\1\u00ae\1\151\1\u00d7"+
-        "\6\uffff\1\u00a0\1\u009f\1\uffff\1\u00bf\13\uffff\1\u00d3\7\uffff"+
-        "\1\100\5\uffff\1\147\1\u0088\5\uffff\1\56\4\uffff\1\u00c2\3\uffff"+
-        "\1\152\1\uffff\1\162\2\uffff\1\u0086\14\uffff\1\u00b6\3\uffff\1"+
-        "\u009b\4\uffff\1\102\3\uffff\1\131\1\uffff\1\u00dc\14\uffff\1\127"+
-        "\2\uffff\1\u00ab\1\113\6\uffff\1\u00e6\5\uffff\1\172\2\uffff\1\u00f2"+
-        "\2\uffff\1\u00c7\1\uffff\1\u00a1\7\uffff\1\115\1\uffff\1\u0080\3"+
-        "\uffff\1\u00e3\21\uffff\1\154\3\uffff\1\u0089\1\uffff\1\51\2\uffff"+
-        "\1\101\1\uffff\1\150\1\u00ca\1\uffff\1\132\4\uffff\1\u00c9\1\140"+
-        "\3\uffff\1\52\1\uffff\1\107\2\uffff\1\165\6\uffff\1\167\3\uffff"+
-        "\1\146\4\uffff\1\66\1\67\1\70\3\uffff\1\u00c6\11\uffff\1\104\1\uffff"+
-        "\1\137\7\uffff\1\u00b1\14\uffff\1\u00c3\3\uffff\1\u00ba\1\u00b0"+
-        "\1\u00de\1\u00d9\1\4\1\uffff\1\6\1\164\1\uffff\1\103\1\uffff\1\5"+
-        "\1\133\1\135\1\134\6\uffff\1\u00a9\11\uffff\1\46\1\uffff\1\170\1"+
-        "\u00c0\4\uffff\1\u00d4\3\uffff\1\47\2\uffff\1\75\1\u0087\2\uffff"+
-        "\1\u00aa\4\uffff\1\166\11\uffff\1\160\3\uffff\1\74\1\u009e\1\uffff"+
-        "\1\141\2\uffff\1\124\1\uffff\1\u009d\1\uffff\1\u00df\1\u00ed\1\uffff"+
-        "\1\136\1\u00a7\1\u00a8\10\uffff\1\u00dd\7\uffff\1\u0081\2\uffff"+
-        "\1\u00b3\2\uffff\1\u00d6\1\u00ec\1\uffff\1\120\2\uffff\1\45\6\uffff"+
-        "\1\126\5\uffff\1\u00e1\2\uffff\1\121\1\122\1\u0097\1\u0098\1\u0099"+
-        "\1\u009a\1\uffff\1\110\2\uffff\1\155\6\uffff\1\u00b5\1\76\4\uffff"+
-        "\1\106\3\uffff\1\u008f\1\u0090\1\u0091\1\u0092\2\uffff\1\u0085\1"+
-        "\u00a4\4\uffff\1\112\2\uffff\1\u00a2\5\uffff\1\u00c8\3\uffff\1\u00c4"+
-        "\11\uffff\1\72\2\uffff\1\u0093\1\u0094\1\u0095\1\u0096\1\u00b7\3"+
-        "\uffff\1\u0083\2\uffff\1\116\1\123\11\uffff\1\u00a5\1\uffff\1\u00c1"+
-        "\1\u00a6\2\uffff\1\u008c\1\u00b8\1\50\10\uffff\1\u00b4\1\uffff\1"+
-        "\u008a\1\77\3\uffff\1\73\3\uffff\1\u00a3\1\u00eb\3\uffff\1\174\1"+
-        "\uffff\1\u008d\1\u008e\1\u00af\3\uffff\1\130\1\uffff\1\111\2\uffff"+
-        "\1\u00e8\1\u00d0\1\163\3\uffff\1\175\4\uffff\1\145\1\143\1\u0084"+
-        "\3\uffff\1\u00c5\1\uffff\1\u00e7\1\144\1\142\1\uffff\1\105\1\173"+
-        "\1\177\2\uffff\1\u00e9\1\u00ea\1\uffff\1\u00e2\1\171\1\uffff\1\176"+
-        "\2\uffff\1\161\1\uffff\1\u008b";
-    static final String DFA21_specialS =
-        "\1\0\u041c\uffff}>";
-    static final String[] DFA21_transitionS = {
-            "\11\64\2\63\2\64\1\63\22\64\1\63\1\14\1\61\1\50\1\60\1\13\1"+
-            "\3\1\62\1\43\1\44\1\11\1\7\1\46\1\10\1\17\1\12\1\55\11\56\1"+
-            "\53\1\52\1\16\1\1\1\15\1\20\1\45\32\60\1\51\1\64\1\47\1\57\1"+
-            "\60\1\64\1\6\1\37\1\4\1\5\1\22\1\25\1\35\1\36\1\24\2\60\1\31"+
-            "\1\26\1\32\1\33\1\27\1\60\1\34\1\23\1\40\1\30\1\21\1\54\3\60"+
-            "\1\41\1\2\1\42\uff82\64",
-            "\1\65\1\66",
-            "\1\70",
-            "\1\72",
-            "\1\101\3\uffff\1\77\6\uffff\1\100\1\76\1\uffff\1\75\5\uffff"+
-            "\1\74",
-            "\1\105\3\uffff\1\106\3\uffff\1\103\5\uffff\1\104\11\uffff"+
-            "\1\107",
-            "\1\112\1\111\1\113\61\uffff\1\116\4\uffff\1\110\6\uffff\1"+
-            "\115\1\uffff\1\117\1\114",
-            "\1\121\21\uffff\1\120",
-            "\1\125\17\uffff\1\123\1\124",
-            "\1\130\22\uffff\1\127",
-            "\1\133\4\uffff\1\134\15\uffff\1\132",
-            "\1\136",
-            "\1\140",
-            "\1\142",
-            "\1\144",
-            "\1\146",
-            "\1\151\13\uffff\1\150",
-            "\1\153",
-            "\1\156\1\155\12\uffff\1\154",
-            "\1\161\1\uffff\1\163\1\uffff\1\162\2\uffff\1\171\1\166\2\uffff"+
-            "\1\164\2\uffff\1\165\4\uffff\1\157\1\160\1\uffff\1\167\1\uffff"+
-            "\1\170",
-            "\1\175\2\uffff\1\176\6\uffff\1\172\1\173\5\uffff\1\174",
-            "\1\177\7\uffff\1\u0080\5\uffff\1\u0082\2\uffff\1\u0081",
-            "\1\u0086\3\uffff\1\u0087\3\uffff\1\u0085\3\uffff\1\u0083\1"+
-            "\uffff\1\u0084",
-            "\1\u008e\1\uffff\1\u0089\1\u008d\1\u008c\11\uffff\1\u008b"+
-            "\2\uffff\1\u008f\1\uffff\1\u0088\3\uffff\1\u008a",
-            "\1\u0094\4\uffff\1\u0091\1\u0093\1\u0095\1\uffff\1\u0092\1"+
-            "\u0090",
-            "\1\u0096\3\uffff\1\u0097\3\uffff\1\u0098\5\uffff\1\u0099",
-            "\1\u009c\11\uffff\1\u009a\5\uffff\1\u009b",
-            "\1\u009d\3\uffff\1\u00a1\7\uffff\1\u00a0\3\uffff\1\u009f\2"+
-            "\uffff\1\u009e",
-            "\1\u00a4\3\uffff\1\u00a2\5\uffff\1\u00a5\5\uffff\1\u00a3",
-            "\1\u00a6\11\uffff\1\u00a7\2\uffff\1\u00a8",
-            "\1\u00aa\3\uffff\1\u00ab\12\uffff\1\u00a9",
-            "\1\u00ac\15\uffff\1\u00ad\11\uffff\1\u00ae",
-            "\1\u00b4\3\uffff\1\u00b2\2\uffff\1\u00b5\1\u00b3\5\uffff\1"+
-            "\u00af\2\uffff\1\u00b1\6\uffff\1\u00b0",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "\1\u00c0",
-            "\1\u00c2",
-            "\12\u00c4\10\uffff\1\u00c6\1\uffff\3\u00c6\5\uffff\1\u00c6"+
-            "\13\uffff\1\u00c3\6\uffff\1\u00c4\2\uffff\1\u00c6\1\uffff\3"+
-            "\u00c6\5\uffff\1\u00c6\13\uffff\1\u00c3",
-            "\12\u00c4\10\uffff\1\u00c6\1\uffff\3\u00c6\5\uffff\1\u00c6"+
-            "\22\uffff\1\u00c4\2\uffff\1\u00c6\1\uffff\3\u00c6\5\uffff\1"+
-            "\u00c6",
-            "\1\102\34\uffff\32\102\4\uffff\1\102\1\uffff\32\102",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "\1\u00c9",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "\1\u00cc\1\u00cb",
-            "\1\u00cf\1\uffff\1\u00cd\6\uffff\1\u00ce",
-            "\1\102\13\uffff\12\102\7\uffff\32\102\4\uffff\1\102\1\uffff"+
-            "\32\102",
-            "\1\u00d2\1\uffff\1\u00d1",
-            "\1\u00d3",
-            "\1\u00d4\1\u00d5",
-            "",
-            "\1\u00d6",
-            "\1\102\13\uffff\12\102\7\uffff\32\102\4\uffff\1\102\1\uffff"+
-            "\23\102\1\u00d7\1\u00d8\5\102",
-            "\1\u00db\1\u00da\1\u00dc\4\uffff\1\u00dd",
-            "\1\u00e0\14\uffff\1\u00de\1\u00df",
-            "\1\u00e1",
-            "\1\u00e2\7\uffff\1\u00e3",
-            "\1\102\13\uffff\12\102\7\uffff\32\102\4\uffff\1\102\1\uffff"+
-            "\32\102",
-            "\1\102\13\uffff\12\102\7\uffff\32\102\4\uffff\1\102\1\uffff"+
-            "\32\102",
-            "\1\102\13\uffff\12\102\7\uffff\32\102\4\uffff\1\102\1\uffff"+
-            "\32\102",
-            "\1\u00e7",
-            "\1\102\13\uffff\12\102\7\uffff\32\102\4\uffff\1\102\1\uffff"+
-            "\32\102",
-            "\1\u00e9",
-            "\1\u00ea",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "\1\u00eb",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "\1\u00ed",
-            "",
-            "",
-            "",
-            "",
-            "\1\u00ef\5\uffff\1\u00f0",
-            "\1\102\13\uffff\12\102\7\uffff\32\102\4\uffff\1\102\1\uffff"+
-            "\23\102\1\u00f1\6\102",
-            "\1\102\13\uffff\12\102\7\uffff\32\102\4\uffff\1\102\1\uffff"+
-            "\1\102\1\u00f3\30\102",
-            "\1\u00f5",
-            "\1\u00f6\20\uffff\1\u00f8\6\uffff\1\u00f7",
-            "\1\u00fb\12\uffff\1\u00fa\2\uffff\1\u00f9",
-            "\1\u00fc",
-            "\1\u00fd",
-            "\1\u00ff\7\uffff\1\u00fe",
-            "\1\u0100",
-            "\1\u0101",
-            "\1\u0102",
-            "\1\u0103",
-            "\1\u0104",
-            "\1\u0105",
-            "\1\u0107\16\uffff\1\u0106",
-            "\1\u0108\17\uffff\1\u0109\1\u010a",
-            "\1\u010b",
-            "\1\u010c",
-            "\1\102\13\uffff\12\102\7\uffff\32\102\4\uffff\1\102\1\uffff"+
-            "\32\102",
-            "\1\u010e\1\u010f",
-            "\1\u0111\1\uffff\1\u0112\11\uffff\1\u0110",
-            "\1\u0113",
-            "\1\u0115\1\u0116\2\uffff\1\u0114",
-            "\1\102\13\uffff\12\102\7\uffff\32\102\4\uffff\1\102\1\uffff"+
-            "\32\102",
-            "\1\u0118",
-            "\1\u0119",
-            "\1\u011b\5\uffff\1\u011a",
-            "\1\u011c",
-            "\1\102\13\uffff\12\102\7\uffff\32\102\4\uffff\1\102\1\uffff"+
-            "\32\102",
-            "\1\102\13\uffff\12\102\7\uffff\32\102\4\uffff\1\102\1\uffff"+
-            "\32\102",
-            "\1\102\13\uffff\12\102\7\uffff\32\102\4\uffff\1\102\1\uffff"+
-            "\32\102",
-            "\1\u0120",
-            "\1\u0121",
-            "\1\u0122",
-            "\1\u0124\1\u0125\2\uffff\1\u0123\14\uffff\1\u0126",
-            "\1\u0127",
-            "\1\u0128",
-            "\1\u0129",
-            "\1\u012a",
-            "\1\u012b",
-            "\1\102\13\uffff\12\102\7\uffff\32\102\4\uffff\1\102\1\uffff"+
-            "\32\102",
-            "\1\u012d",
-            "\1\u0130\13\uffff\1\u012e\12\uffff\1\u012f",
-            "\1\u0131",
-            "\1\u0132",
-            "\1\u0133",
-            "\1\u0135\3\uffff\1\u0134",
-            "\1\u0137\1\u0136",
-            "\1\u0138",
-            "\1\u0139",
-            "\1\u013a",
-            "\1\u013b",
-            "\1\u013c",
-            "\1\102\13\uffff\12\102\7\uffff\32\102\4\uffff\1\102\1\uffff"+
-            "\32\102",
-            "\1\u0140\2\uffff\1\u013e\13\uffff\1\u013f",
-            "\1\u0141",
-            "\1\u0143\1\uffff\1\u0142\2\uffff\1\u0145\1\u0144",
-            "\1\u0146",
-            "\1\u0147",
-            "\1\u0148",
-            "\1\u014a\5\uffff\1\u0149",
-            "\1\u014b",
-            "\1\u014c\7\uffff\1\u014d",
-            "\1\u014e",
-            "\1\u0150\1\u014f",
-            "\1\u0153\5\uffff\1\u0152\1\uffff\1\u0151",
-            "\1\102\10\uffff\1\u0154\2\uffff\12\102\7\uffff\32\102\4\uffff"+
-            "\1\102\1\uffff\32\102",
-            "\1\u0159\1\u0157\3\uffff\1\u0156\2\uffff\1\u0158",
-            "\1\u015a",
-            "\1\u015b\3\uffff\1\u015c\17\uffff\1\u015e\3\uffff\1\u015d",
-            "\1\u0160\12\uffff\1\u015f",
-            "\1\u0161\6\uffff\1\u0162",
-            "\1\u0163",
-            "\1\u0164",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "\1\u0165",
-            "",
-            "\12\u00c4\10\uffff\1\u00c6\1\uffff\3\u00c6\5\uffff\1\u00c6"+
-            "\22\uffff\1\u00c4\2\uffff\1\u00c6\1\uffff\3\u00c6\5\uffff\1"+
-            "\u00c6",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "\1\u0166",
-            "\1\u0167",
-            "\1\u0168",
-            "\1\u0169",
-            "\1\u016a\5\uffff\1\u016b",
-            "",
-            "\1\u016c",
-            "\1\u016d",
-            "\1\u016e",
-            "\1\u016f",
-            "\1\u0170",
-            "\1\u0171",
-            "\1\u0172",
-            "\1\u0173",
-            "",
-            "\1\u0174",
-            "\1\u0175",
-            "\1\u0177\3\uffff\1\u0176",
-            "\1\u0178",
-            "\1\u0179",
-            "\1\u017a",
-            "\1\u017b",
-            "\1\u017c",
-            "\1\102\13\uffff\12\102\7\uffff\32\102\4\uffff\1\102\1\uffff"+
-            "\32\102",
-            "\1\u017e",
-            "",
-            "",
-            "",
-            "\1\u017f",
-            "",
-            "\1\u0180",
-            "\1\u0181",
-            "",
-            "",
-            "",
-            "",
-            "\1\102\13\uffff\12\102\7\uffff\32\102\4\uffff\1\102\1\uffff"+
-            "\32\102",
-            "\1\102\13\uffff\12\102\7\uffff\32\102\4\uffff\1\102\1\uffff"+
-            "\32\102",
-            "\1\u0184",
-            "",
-            "\1\u0185",
-            "",
-            "\1\u0186",
-            "\1\u0188\14\uffff\1\u0187",
-            "\1\u0189",
-            "\1\u018a",
-            "\1\u018b",
-            "\1\102\13\uffff\12\102\7\uffff\32\102\4\uffff\1\102\1\uffff"+
-            "\32\102",
-            "\1\u018e\1\u018d",
-            "\1\u018f",
-            "\1\u0190",
-            "\1\u0191",
-            "\1\u0192",
-            "\1\u0193",
-            "\1\u0194",
-            "\1\u0195",
-            "\1\u0196",
-            "\1\u0197",
-            "\1\u0198",
-            "\1\u0199",
-            "\1\u019a",
-            "\1\u019b",
-            "\1\u019c\16\uffff\1\u019d",
-            "\1\u019e",
-            "\1\u019f",
-            "\1\u01a0",
-            "",
-            "\1\u01a1",
-            "\1\u01a2",
-            "\1\u01a3",
-            "\1\u01a4",
-            "\1\u01a5",
-            "\1\u01a6",
-            "\1\102\13\uffff\12\102\7\uffff\32\102\4\uffff\1\102\1\uffff"+
-            "\14\102\1\u01a7\15\102",
-            "\1\u01a9",
-            "\1\u01aa",
-            "",
-            "\1\u01ab",
-            "\1\u01ac",
-            "\1\u01ad",
-            "\1\u01ae",
-            "\1\u01af",
-            "",
-            "",
-            "",
-            "\1\u01b0",
-            "\1\u01b1",
-            "\1\102\13\uffff\12\102\7\uffff\32\102\4\uffff\1\102\1\uffff"+
-            "\32\102",
-            "\1\u01b3",
-            "\1\u01b4",
-            "\1\u01b5",
-            "\1\u01b6",
-            "\1\u01b7",
-            "\1\u01b8\6\uffff\1\u01b9",
-            "\1\u01ba",
-            "\1\102\13\uffff\12\102\7\uffff\32\102\4\uffff\1\102\1\uffff"+
-            "\32\102",
-            "\1\u01bc",
-            "",
-            "",
-            "\1\u01bd",
-            "\1\u01be",
-            "\1\u01bf",
-            "\1\u01c0",
-            "\1\u01c1",
-            "\1\u01c2",
-            "\1\u01c3",
-            "\1\u01c4",
-            "\1\u01c5",
-            "\1\u01c6",
-            "\1\102\13\uffff\12\102\7\uffff\32\102\4\uffff\1\102\1\uffff"+
-            "\32\102",
-            "\1\u01c8",
-            "\1\u01c9",
-            "\1\u01ca",
-            "",
-            "",
-            "\1\u01cb",
-            "\1\u01cc",
-            "\1\u01cd",
-            "\1\u01ce",
-            "\1\u01cf",
-            "\1\u01d0",
-            "\1\u01d1",
-            "\1\u01d2",
-            "\1\102\13\uffff\12\102\7\uffff\32\102\4\uffff\1\102\1\uffff"+
-            "\32\102",
-            "\1\u01d4",
-            "\1\u01d5",
-            "\1\u01d6\5\uffff\1\u01d7",
-            "\1\u01d8",
-            "\1\u01d9",
-            "\1\u01da",
-            "\1\u01db",
-            "\1\u01dc",
-            "\1\u01dd",
-            "\1\u01de",
-            "\1\u01df",
-            "\1\u01e0",
-            "\1\u01e1",
-            "",
-            "",
-            "\1\u01e2",
-            "\1\u01e3",
-            "\1\u01e4",
-            "\1\u01e5",
-            "\1\u01e6",
-            "\1\u01e7",
-            "\1\u01e8",
-            "\1\102\13\uffff\12\102\7\uffff\32\102\4\uffff\1\102\1\uffff"+
-            "\32\102",
-            "\1\u01ea",
-            "\1\u01eb",
-            "\1\u01ec",
-            "\1\u01ed",
-            "\1\u01ee",
-            "\1\u01ef",
-            "\1\u01f0",
-            "\1\u01f1",
-            "\1\u01f2",
-            "\1\u01f3",
-            "\1\u01f4",
-            "\1\u01f5",
-            "\1\u01f6",
-            "\1\u01f7",
-            "\1\u01f8",
-            "\1\102\13\uffff\12\102\7\uffff\32\102\4\uffff\1\102\1\uffff"+
-            "\2\102\1\u01f9\27\102",
-            "\1\102\13\uffff\12\102\7\uffff\32\102\4\uffff\1\102\1\uffff"+
-            "\32\102",
-            "\1\102\13\uffff\12\102\7\uffff\32\102\4\uffff\1\102\1\uffff"+
-            "\32\102",
-            "\1\u01fd",
-            "\1\u01fe",
-            "\1\u01ff",
-            "\1\u0200",
-            "\1\u0201",
-            "\1\u0202",
-            "\1\102\6\uffff\1\u0203\4\uffff\12\102\7\uffff\32\102\4\uffff"+
-            "\1\102\1\uffff\32\102",
-            "\1\u0205",
-            "\1\u0206",
-            "\1\u0207",
-            "\1\u0208",
-            "\1\u0209",
-            "\1\u020a",
-            "",
-            "\1\u020b",
-            "\1\u020c",
-            "\1\u020d",
-            "\1\u020e",
-            "",
-            "",
-            "\1\u020f\3\uffff\1\u0210",
-            "\1\u0211",
-            "\1\102\13\uffff\12\102\7\uffff\32\102\4\uffff\1\102\1\uffff"+
-            "\32\102",
-            "\1\u0213",
-            "\1\u0214",
-            "\1\u0215",
-            "\1\u0216",
-            "\1\u0217",
-            "",
-            "\1\u0218",
-            "\1\u0219",
-            "\1\u021a",
-            "\1\u021b",
-            "\1\u021c",
-            "\1\u021d",
-            "\1\u021e",
-            "\1\u021f",
-            "\1\102\10\uffff\1\u0220\2\uffff\12\102\7\uffff\32\102\4\uffff"+
-            "\1\102\1\uffff\32\102",
-            "\1\u0222",
-            "\1\u0223",
-            "\1\u0224",
-            "\1\u0225",
-            "\1\u0226",
-            "\1\102\13\uffff\12\102\7\uffff\32\102\4\uffff\1\102\1\uffff"+
-            "\32\102",
-            "\1\u0228",
-            "\1\u0229",
-            "\1\u022a",
-            "\1\u022b",
-            "\1\102\13\uffff\12\102\7\uffff\32\102\4\uffff\1\102\1\uffff"+
-            "\32\102",
-            "\1\u022d",
-            "\1\u022e",
-            "\1\u022f",
-            "\1\102\13\uffff\12\102\7\uffff\32\102\4\uffff\1\102\1\uffff"+
-            "\32\102",
-            "\1\u0231",
-            "\1\u0232",
-            "\1\u0233",
-            "",
-            "\1\102\13\uffff\12\102\7\uffff\32\102\4\uffff\1\102\1\uffff"+
-            "\22\102\1\u0234\7\102",
-            "\1\u0236",
-            "\1\u0237",
-            "\1\u0238",
-            "\1\u0239",
-            "\1\u023a",
-            "\1\u023b",
-            "\1\u023c",
-            "\1\u023d",
-            "",
-            "\1\u023e\106\uffff\1\u023f",
-            "\1\u0240",
-            "\1\u0241",
-            "\1\102\13\uffff\12\102\7\uffff\32\102\4\uffff\1\102\1\uffff"+
-            "\32\102",
-            "\1\u0243",
-            "\1\u0244",
-            "",
-            "\1\u0245",
-            "",
-            "\1\102\13\uffff\12\102\7\uffff\32\102\4\uffff\1\102\1\uffff"+
-            "\32\102",
-            "\1\u0247",
-            "\1\u0248",
-            "\1\u0249",
-            "\1\102\13\uffff\12\102\7\uffff\32\102\4\uffff\1\102\1\uffff"+
-            "\14\102\1\u024a\15\102",
-            "\1\u024c",
-            "\1\u024d",
-            "\1\u024e",
-            "\1\102\13\uffff\12\102\7\uffff\32\102\4\uffff\1\102\1\uffff"+
-            "\32\102",
-            "\1\u0250",
-            "\1\102\13\uffff\12\102\7\uffff\32\102\4\uffff\1\102\1\uffff"+
-            "\32\102",
-            "",
-            "\1\u0252",
-            "\1\u0253",
-            "\1\u0254",
-            "\1\u0255",
-            "\1\u0256",
-            "\1\u0257",
-            "\1\u0258",
-            "\1\u0259",
-            "\1\u025a",
-            "\1\u025b",
-            "\1\u025c",
-            "",
-            "\1\u025d",
-            "\1\u025e",
-            "\1\u025f",
-            "\1\u0260",
-            "\1\102\13\uffff\12\102\7\uffff\32\102\4\uffff\1\102\1\uffff"+
-            "\32\102",
-            "\1\102\13\uffff\12\102\7\uffff\32\102\4\uffff\1\102\1\uffff"+
-            "\32\102",
-            "\1\u0263",
-            "\1\u0264",
-            "\1\u0265",
-            "",
-            "\1\u0266",
-            "\1\u0267",
-            "\1\u0268",
-            "\1\102\13\uffff\12\102\7\uffff\32\102\4\uffff\1\102\1\uffff"+
-            "\32\102",
-            "\1\u026a",
-            "\1\u026b",
-            "\1\u026c",
-            "\1\u026d",
-            "\1\102\13\uffff\12\102\7\uffff\32\102\4\uffff\1\102\1\uffff"+
-            "\16\102\1\u026e\13\102",
-            "\1\u0270",
-            "\1\u0271",
-            "",
-            "\1\102\13\uffff\12\102\7\uffff\32\102\4\uffff\1\102\1\uffff"+
-            "\32\102",
-            "\1\102\13\uffff\12\102\7\uffff\32\102\4\uffff\1\102\1\uffff"+
-            "\1\u0274\1\102\1\u0273\27\102",
-            "\1\u0276",
-            "\1\102\13\uffff\12\102\7\uffff\32\102\4\uffff\1\102\1\uffff"+
-            "\32\102",
-            "\1\u0278",
-            "\1\u0279",
-            "\1\u027a",
-            "\1\u027b",
-            "\1\u027c",
-            "\1\u027d",
-            "\1\u027e",
-            "\1\102\13\uffff\12\102\7\uffff\32\102\4\uffff\1\102\1\uffff"+
-            "\32\102",
-            "\1\102\13\uffff\12\102\7\uffff\32\102\4\uffff\1\102\1\uffff"+
-            "\22\102\1\u0280\7\102",
-            "\1\u0282",
-            "\1\u0283",
-            "\1\u0284",
-            "",
-            "",
-            "",
-            "\1\102\13\uffff\12\102\7\uffff\32\102\4\uffff\1\102\1\uffff"+
-            "\32\102",
-            "\1\u0286",
-            "\1\u0287",
-            "\1\u0288",
-            "\1\u0289",
-            "\1\u028a",
-            "",
-            "",
-            "\1\u028b",
-            "",
-            "\1\u028c",
-            "\1\u028d",
-            "\1\u028e",
-            "\1\u028f",
-            "\1\u0290",
-            "\1\u0291",
-            "\1\u0292",
-            "\1\u0293",
-            "\1\u0294\16\uffff\1\u0295",
-            "\1\u0296",
-            "\1\102\13\uffff\12\102\7\uffff\32\102\4\uffff\1\102\1\uffff"+
-            "\32\102",
-            "",
-            "\1\u0298",
-            "\1\u0299",
-            "\1\102\13\uffff\12\102\7\uffff\32\102\4\uffff\1\102\1\uffff"+
-            "\22\102\1\u029a\7\102",
-            "\1\u029c",
-            "\1\102\13\uffff\12\102\7\uffff\32\102\4\uffff\1\102\1\uffff"+
-            "\32\102",
-            "\1\u029e",
-            "\1\u029f",
-            "",
-            "\1\102\13\uffff\12\102\7\uffff\32\102\4\uffff\1\102\1\uffff"+
-            "\32\102",
-            "\1\u02a1",
-            "\1\102\10\uffff\1\u02a2\2\uffff\12\102\7\uffff\32\102\4\uffff"+
-            "\1\102\1\uffff\32\102",
-            "\1\u02a4",
-            "\1\102\13\uffff\12\102\7\uffff\32\102\4\uffff\1\102\1\uffff"+
-            "\32\102",
-            "",
-            "",
-            "\1\u02a6",
-            "\1\u02a7",
-            "\1\u02a8",
-            "\1\u02a9",
-            "\1\102\13\uffff\12\102\7\uffff\32\102\4\uffff\1\102\1\uffff"+
-            "\32\102",
-            "",
-            "\1\102\13\uffff\12\102\7\uffff\32\102\4\uffff\1\102\1\uffff"+
-            "\32\102",
-            "\1\u02ac",
-            "\1\u02ad",
-            "\1\u02ae",
-            "",
-            "\1\102\13\uffff\12\102\7\uffff\32\102\4\uffff\1\102\1\uffff"+
-            "\32\102",
-            "\1\u02b0",
-            "\1\102\13\uffff\12\102\7\uffff\32\102\4\uffff\1\102\1\uffff"+
-            "\32\102",
-            "",
-            "\1\u02b2",
-            "",
-            "\1\u02b3",
-            "\1\102\13\uffff\12\102\7\uffff\32\102\4\uffff\1\102\1\uffff"+
-            "\32\102",
-            "",
-            "\1\u02b5",
-            "\1\u02b6",
-            "\1\u02b7",
-            "\1\u02b8",
-            "\1\u02b9",
-            "\1\102\13\uffff\12\102\7\uffff\32\102\4\uffff\1\102\1\uffff"+
-            "\22\102\1\u02ba\7\102",
-            "\1\u02bc",
-            "\1\u02bd",
-            "\1\u02be\7\uffff\1\u02bf",
-            "\1\u02c0",
-            "\1\u02c1",
-            "\1\u02c2",
-            "",
-            "\1\u02c3",
-            "\1\u02c6\2\uffff\1\u02c5\14\uffff\1\u02c4",
-            "\1\u02c7",
-            "",
-            "\1\u02c8",
-            "\1\u02c9",
-            "\1\102\13\uffff\12\102\7\uffff\32\102\4\uffff\1\102\1\uffff"+
-            "\32\102",
-            "\1\u02cb",
-            "",
-            "\1\u02cc",
-            "\1\u02cd",
-            "\1\u02ce",
-            "",
-            "\1\u02cf",
-            "",
-            "\1\u02d0",
-            "\1\u02d1",
-            "\1\u02d2",
-            "\1\102\13\uffff\12\102\7\uffff\32\102\4\uffff\1\102\1\uffff"+
-            "\14\102\1\u02d3\15\102",
-            "\1\u02d5",
-            "\1\102\13\uffff\12\102\7\uffff\32\102\4\uffff\1\102\1\uffff"+
-            "\32\102",
-            "\1\u02d7",
-            "\1\u02d8",
-            "\1\u02d9",
-            "\1\u02da",
-            "\1\u02db",
-            "\1\u02dc",
-            "",
-            "\1\u02dd",
-            "\1\102\13\uffff\12\102\7\uffff\32\102\4\uffff\1\102\1\uffff"+
-            "\32\102",
-            "",
-            "",
-            "\1\u02df",
-            "\1\u02e0",
-            "\1\u02e1",
-            "\1\u02e2",
-            "\1\u02e3",
-            "\1\u02e4",
-            "",
-            "\1\u02e5",
-            "\1\u02e6",
-            "\1\u02e7",
-            "\1\u02e8",
-            "\1\u02e9",
-            "",
-            "\1\u02ea",
-            "\1\102\13\uffff\12\102\7\uffff\32\102\4\uffff\1\102\1\uffff"+
-            "\32\102",
-            "",
-            "\1\u02ec",
-            "\1\u02ed",
-            "",
-            "\1\u02ee",
-            "",
-            "\1\102\13\uffff\12\102\7\uffff\32\102\4\uffff\1\102\1\uffff"+
-            "\32\102",
-            "\1\102\13\uffff\12\102\7\uffff\32\102\4\uffff\1\102\1\uffff"+
-            "\32\102",
-            "\1\102\13\uffff\12\102\7\uffff\32\102\4\uffff\1\102\1\uffff"+
-            "\32\102",
-            "\1\102\13\uffff\12\102\7\uffff\32\102\4\uffff\1\102\1\uffff"+
-            "\32\102",
-            "\1\102\13\uffff\12\102\7\uffff\32\102\4\uffff\1\102\1\uffff"+
-            "\32\102",
-            "\1\u02f4",
-            "\1\102\13\uffff\12\102\7\uffff\32\102\4\uffff\1\102\1\uffff"+
-            "\32\102",
-            "",
-            "\1\102\13\uffff\12\102\7\uffff\32\102\4\uffff\1\102\1\uffff"+
-            "\32\102",
-            "",
-            "\1\u02f7",
-            "\1\102\13\uffff\12\102\7\uffff\32\102\4\uffff\1\102\1\uffff"+
-            "\32\102",
-            "\1\u02f9",
-            "",
-            "\1\102\13\uffff\12\102\7\uffff\32\102\4\uffff\1\102\1\uffff"+
-            "\32\102",
-            "\1\102\13\uffff\12\102\7\uffff\32\102\4\uffff\1\102\1\uffff"+
-            "\32\102",
-            "\1\102\13\uffff\12\102\7\uffff\32\102\4\uffff\1\102\1\uffff"+
-            "\32\102",
-            "\1\102\13\uffff\12\102\7\uffff\32\102\4\uffff\1\102\1\uffff"+
-            "\32\102",
-            "\1\u02fe",
-            "\1\u02ff",
-            "\1\u0300",
-            "\1\102\13\uffff\12\102\7\uffff\32\102\4\uffff\1\102\1\uffff"+
-            "\5\102\1\u0303\1\102\1\u0302\12\102\1\u0301\7\102",
-            "\1\u0305",
-            "\1\u0306",
-            "\1\u0307",
-            "\1\u0308",
-            "\1\u0309",
-            "\1\u030a",
-            "\1\u030b",
-            "\1\u030c",
-            "\1\u030d",
-            "",
-            "\1\102\13\uffff\12\102\7\uffff\32\102\4\uffff\1\102\1\uffff"+
-            "\32\102",
-            "\1\u030f",
-            "\1\102\13\uffff\12\102\7\uffff\32\102\4\uffff\1\102\1\uffff"+
-            "\32\102",
-            "",
-            "\1\102\13\uffff\12\102\7\uffff\32\102\4\uffff\1\102\1\uffff"+
-            "\32\102",
-            "",
-            "\1\u0312",
-            "\1\u0313",
-            "",
-            "\1\u0314",
-            "",
-            "",
-            "\1\u0315",
-            "",
-            "\1\102\13\uffff\12\102\7\uffff\32\102\4\uffff\1\102\1\uffff"+
-            "\32\102",
-            "\1\u0317",
-            "\1\u0318\5\uffff\1\u0319",
-            "\1\102\13\uffff\12\102\7\uffff\32\102\4\uffff\1\102\1\uffff"+
-            "\32\102",
-            "",
-            "",
-            "\1\u031b",
-            "\1\u031c",
-            "\1\102\13\uffff\12\102\7\uffff\32\102\4\uffff\1\102\1\uffff"+
-            "\32\102",
-            "",
-            "\1\102\13\uffff\12\102\7\uffff\32\102\4\uffff\1\102\1\uffff"+
-            "\32\102",
-            "",
-            "\1\u031f",
-            "\1\u0320",
-            "",
-            "\1\102\13\uffff\12\102\7\uffff\32\102\4\uffff\1\102\1\uffff"+
-            "\32\102",
-            "\1\u0322",
-            "\1\u0323",
-            "\1\u0324",
-            "\1\u0325",
-            "\1\102\13\uffff\12\102\7\uffff\32\102\4\uffff\1\102\1\uffff"+
-            "\32\102",
-            "",
-            "\1\u0327",
-            "\1\u0328",
-            "\1\u0329",
-            "",
-            "\1\u032a",
-            "\1\u032b",
-            "\1\u032c",
-            "\1\u032d",
-            "",
-            "",
-            "",
-            "\1\u032e",
-            "\1\u032f",
-            "\1\u0330",
-            "",
-            "\1\u0331",
-            "\1\u0332",
-            "\1\u0333",
-            "\1\102\13\uffff\12\102\7\uffff\32\102\4\uffff\1\102\1\uffff"+
-            "\32\102",
-            "\1\102\13\uffff\12\102\7\uffff\32\102\4\uffff\1\102\1\uffff"+
-            "\32\102",
-            "\1\u0336",
-            "\1\102\13\uffff\12\102\7\uffff\32\102\4\uffff\1\102\1\uffff"+
-            "\32\102",
-            "\1\u0338",
-            "\1\u0339",
-            "",
-            "\1\102\13\uffff\12\102\7\uffff\32\102\4\uffff\1\102\1\uffff"+
-            "\32\102",
-            "",
-            "\1\u033b",
-            "\1\102\13\uffff\12\102\7\uffff\32\102\4\uffff\1\102\1\uffff"+
-            "\32\102",
-            "\1\u033d",
-            "\1\102\13\uffff\12\102\7\uffff\32\102\4\uffff\1\102\1\uffff"+
-            "\32\102",
-            "\1\102\13\uffff\12\102\7\uffff\32\102\4\uffff\1\102\1\uffff"+
-            "\32\102",
-            "\1\u0340",
-            "\1\102\13\uffff\12\102\7\uffff\32\102\4\uffff\1\102\1\uffff"+
-            "\32\102",
-            "",
-            "\1\102\13\uffff\12\102\7\uffff\32\102\4\uffff\1\102\1\uffff"+
-            "\32\102",
-            "\1\102\13\uffff\12\102\7\uffff\32\102\4\uffff\1\102\1\uffff"+
-            "\32\102",
-            "\1\u0344",
-            "\1\u0345",
-            "\1\u0346",
-            "\1\u0347",
-            "\1\u0348",
-            "\1\u0349",
-            "\1\u034a",
-            "\1\u034b",
-            "\1\102\13\uffff\12\102\7\uffff\32\102\4\uffff\1\102\1\uffff"+
-            "\32\102",
-            "\1\u034d",
-            "",
-            "\1\u034e",
-            "\1\u034f",
-            "\1\u0350",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "\1\u0351",
-            "",
-            "",
-            "\1\u0352",
-            "",
-            "\1\u0353",
-            "",
-            "",
-            "",
-            "",
-            "\1\102\13\uffff\12\102\7\uffff\32\102\4\uffff\1\102\1\uffff"+
-            "\32\102",
-            "\1\u0355",
-            "\1\u0356",
-            "\1\102\13\uffff\12\102\7\uffff\32\102\4\uffff\1\102\1\uffff"+
-            "\32\102",
-            "\1\u0358",
-            "\1\u0359",
-            "",
-            "\1\102\13\uffff\12\102\7\uffff\32\102\4\uffff\1\102\1\uffff"+
-            "\32\102",
-            "\1\102\13\uffff\12\102\7\uffff\32\102\4\uffff\1\102\1\uffff"+
-            "\32\102",
-            "\1\u035c",
-            "\1\102\13\uffff\12\102\7\uffff\32\102\4\uffff\1\102\1\uffff"+
-            "\32\102",
-            "\1\u035e",
-            "\1\u035f",
-            "\1\102\13\uffff\12\102\7\uffff\32\102\4\uffff\1\102\1\uffff"+
-            "\32\102",
-            "\1\u0361",
-            "\1\u0362",
-            "",
-            "\1\u0363",
-            "",
-            "",
-            "\1\u0364",
-            "\1\u0365",
-            "\1\u0366",
-            "\1\102\13\uffff\12\102\7\uffff\32\102\4\uffff\1\102\1\uffff"+
-            "\32\102",
-            "",
-            "\1\u0368",
-            "\1\u0369",
-            "\1\u036a",
-            "",
-            "\1\u036b",
-            "\1\u036c",
-            "",
-            "",
-            "\1\102\13\uffff\12\102\7\uffff\32\102\4\uffff\1\102\1\uffff"+
-            "\32\102",
-            "\1\u036e",
-            "",
-            "\1\u036f",
-            "\1\102\13\uffff\12\102\7\uffff\32\102\4\uffff\1\102\1\uffff"+
-            "\32\102",
-            "\1\102\13\uffff\12\102\7\uffff\32\102\4\uffff\1\102\1\uffff"+
-            "\32\102",
-            "\1\u0373\11\uffff\1\u0374\5\uffff\1\u0375\1\uffff\1\u0372",
-            "",
-            "\1\u0376",
-            "\1\102\13\uffff\12\102\7\uffff\32\102\4\uffff\1\102\1\uffff"+
-            "\32\102",
-            "\1\u0378",
-            "\1\u0379",
-            "\1\102\13\uffff\12\102\7\uffff\32\102\4\uffff\1\102\1\uffff"+
-            "\32\102",
-            "\1\u037b",
-            "\1\u037c",
-            "\1\u037d",
-            "\1\u037e",
-            "",
-            "\1\u037f",
-            "\1\u0380",
-            "\1\102\13\uffff\12\102\7\uffff\32\102\4\uffff\1\102\1\uffff"+
-            "\32\102",
-            "",
-            "",
-            "\1\102\13\uffff\12\102\7\uffff\32\102\4\uffff\1\102\1\uffff"+
-            "\32\102",
-            "",
-            "\1\u0383",
-            "\1\u0384",
-            "",
-            "\1\u0385",
-            "",
-            "\1\u0386",
-            "",
-            "",
-            "\1\u0387",
-            "",
-            "",
-            "",
-            "\1\u0388",
-            "\1\u0389",
-            "\1\u038a",
-            "\1\u038c\11\uffff\1\u038d\5\uffff\1\u038e\1\uffff\1\u038b",
-            "\1\u038f",
-            "\1\u0390",
-            "\1\102\13\uffff\12\102\7\uffff\32\102\4\uffff\1\102\1\uffff"+
-            "\32\102",
-            "\1\102\13\uffff\12\102\7\uffff\32\102\4\uffff\1\102\1\uffff"+
-            "\32\102",
-            "",
-            "\1\u0393",
-            "\1\u0394",
-            "\1\u0395",
-            "\1\u0396",
-            "\1\102\13\uffff\12\102\7\uffff\32\102\4\uffff\1\102\1\uffff"+
-            "\32\102",
-            "\1\u0398",
-            "\1\u0399",
-            "",
-            "\1\102\13\uffff\12\102\7\uffff\32\102\4\uffff\1\102\1\uffff"+
-            "\32\102",
-            "\1\u039b",
-            "",
-            "\1\u039c",
-            "\1\u039d",
-            "",
-            "",
-            "\1\u039e",
-            "",
-            "\1\u039f",
-            "\1\102\13\uffff\12\102\7\uffff\32\102\4\uffff\1\102\1\uffff"+
-            "\32\102",
-            "",
-            "\1\u03a1",
-            "\1\u03a2",
-            "\1\u03a3",
-            "\1\102\13\uffff\12\102\7\uffff\32\102\4\uffff\1\102\1\uffff"+
-            "\32\102",
-            "\1\u03a5",
-            "\1\u03a6",
-            "",
-            "\1\u03a7",
-            "\1\u03a8",
-            "\1\u03a9",
-            "\1\u03aa",
-            "\1\u03ab",
-            "",
-            "\1\u03ac",
-            "\1\u03ad",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "\1\102\13\uffff\12\102\7\uffff\32\102\4\uffff\1\102\1\uffff"+
-            "\32\102",
-            "",
-            "\1\u03af",
-            "\1\u03b0",
-            "",
-            "\1\u03b2\11\uffff\1\u03b3\5\uffff\1\u03b4\1\uffff\1\u03b1",
-            "\1\102\13\uffff\12\102\7\uffff\32\102\4\uffff\1\102\1\uffff"+
-            "\32\102",
-            "\1\u03b6",
-            "\1\u03b7",
-            "\1\u03b8",
-            "\1\102\13\uffff\12\102\7\uffff\32\102\4\uffff\1\102\1\uffff"+
-            "\32\102",
-            "",
-            "",
-            "\1\u03ba",
-            "\1\u03bb",
-            "\1\u03bc\17\uffff\1\u03bd",
-            "\1\u03be",
-            "",
-            "\1\u03bf",
-            "\1\u03c0",
-            "\1\u03c1",
-            "",
-            "",
-            "",
-            "",
-            "\1\u03c2",
-            "\1\u03c3",
-            "",
-            "",
-            "\1\u03c4",
-            "\1\u03c5",
-            "\1\u03c6",
-            "\1\102\13\uffff\12\102\7\uffff\32\102\4\uffff\1\102\1\uffff"+
-            "\32\102",
-            "",
-            "\1\u03c8",
-            "\1\102\13\uffff\12\102\7\uffff\32\102\4\uffff\1\102\1\uffff"+
-            "\32\102",
-            "",
-            "\1\u03ca",
-            "\1\u03cb",
-            "\1\u03cc",
-            "\1\102\13\uffff\12\102\7\uffff\32\102\4\uffff\1\102\1\uffff"+
-            "\32\102",
-            "\1\102\13\uffff\12\102\7\uffff\32\102\4\uffff\1\102\1\uffff"+
-            "\32\102",
-            "",
-            "\1\102\13\uffff\12\102\7\uffff\32\102\4\uffff\1\102\1\uffff"+
-            "\32\102",
-            "\1\u03d0",
-            "\1\u03d1",
-            "",
-            "\1\u03d2",
-            "\1\u03d3",
-            "\1\u03d4",
-            "\1\u03d5",
-            "\1\u03d6",
-            "\1\u03d7",
-            "\1\102\13\uffff\12\102\7\uffff\32\102\4\uffff\1\102\1\uffff"+
-            "\32\102",
-            "\1\102\13\uffff\12\102\7\uffff\32\102\4\uffff\1\102\1\uffff"+
-            "\22\102\1\u03d9\7\102",
-            "\1\102\13\uffff\12\102\7\uffff\32\102\4\uffff\1\102\1\uffff"+
-            "\32\102",
-            "",
-            "\1\u03dc",
-            "\1\u03dd",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "\1\u03de",
-            "\1\102\13\uffff\12\102\7\uffff\32\102\4\uffff\1\102\1\uffff"+
-            "\32\102",
-            "\1\u03e0",
-            "",
-            "\1\u03e1",
-            "\1\u03e2",
-            "",
-            "",
-            "\1\102\13\uffff\12\102\7\uffff\32\102\4\uffff\1\102\1\uffff"+
-            "\32\102",
-            "\1\102\13\uffff\12\102\7\uffff\32\102\4\uffff\1\102\1\uffff"+
-            "\32\102",
-            "\1\u03e5",
-            "\1\u03e6",
-            "\1\u03e7",
-            "\1\102\13\uffff\12\102\7\uffff\32\102\4\uffff\1\102\1\uffff"+
-            "\32\102",
-            "\1\u03e9",
-            "\1\102\13\uffff\12\102\7\uffff\32\102\4\uffff\1\102\1\uffff"+
-            "\32\102",
-            "\1\102\13\uffff\12\102\7\uffff\32\102\4\uffff\1\102\1\uffff"+
-            "\32\102",
-            "",
-            "\1\102\13\uffff\12\102\7\uffff\32\102\4\uffff\1\102\1\uffff"+
-            "\32\102",
-            "",
-            "",
-            "\1\u03ed",
-            "\1\u03ee",
-            "",
-            "",
-            "",
-            "\1\u03ef",
-            "\1\102\13\uffff\12\102\7\uffff\32\102\4\uffff\1\102\1\uffff"+
-            "\32\102",
-            "\1\u03f1",
-            "\1\102\13\uffff\12\102\7\uffff\32\102\4\uffff\1\102\1\uffff"+
-            "\32\102",
-            "\1\u03f3",
-            "\1\u03f4",
-            "\1\102\13\uffff\12\102\7\uffff\32\102\4\uffff\1\102\1\uffff"+
-            "\32\102",
-            "\1\102\13\uffff\12\102\7\uffff\32\102\4\uffff\1\102\1\uffff"+
-            "\32\102",
-            "",
-            "\1\102\13\uffff\12\102\7\uffff\32\102\4\uffff\1\102\1\uffff"+
-            "\32\102",
-            "",
-            "",
-            "\1\u03f8",
-            "\1\u03f9",
-            "\1\u03fa",
-            "",
-            "\1\102\13\uffff\12\102\7\uffff\32\102\4\uffff\1\102\1\uffff"+
-            "\32\102",
-            "\1\u03fc",
-            "\1\u03fd",
-            "",
-            "",
-            "\1\u03fe",
-            "\1\u03ff",
-            "\1\u0400",
-            "",
-            "\1\102\13\uffff\12\102\7\uffff\32\102\4\uffff\1\102\1\uffff"+
-            "\32\102",
-            "",
-            "",
-            "",
-            "\1\u0403",
-            "\1\u0404",
-            "\1\u0405",
-            "",
-            "\1\102\13\uffff\12\102\7\uffff\32\102\4\uffff\1\102\1\uffff"+
-            "\32\102",
-            "",
-            "\1\u0407",
-            "\1\102\13\uffff\12\102\7\uffff\32\102\4\uffff\1\102\1\uffff"+
-            "\32\102",
-            "",
-            "",
-            "",
-            "\1\u0409",
-            "\1\u040b",
-            "\1\102\13\uffff\12\102\7\uffff\32\102\4\uffff\1\102\1\uffff"+
-            "\32\102",
-            "",
-            "\1\102\13\uffff\12\102\7\uffff\32\102\4\uffff\1\102\1\uffff"+
-            "\32\102",
-            "\1\102\13\uffff\12\102\7\uffff\32\102\4\uffff\1\102\1\uffff"+
-            "\32\102",
-            "\1\u040f",
-            "\1\u0410",
-            "",
-            "",
-            "",
-            "\1\102\13\uffff\12\102\7\uffff\32\102\4\uffff\1\102\1\uffff"+
-            "\32\102",
-            "\1\102\13\uffff\12\102\7\uffff\32\102\4\uffff\1\102\1\uffff"+
-            "\32\102",
-            "\1\u0413",
-            "",
-            "\1\102\13\uffff\12\102\7\uffff\32\102\4\uffff\1\102\1\uffff"+
-            "\32\102",
-            "",
-            "",
-            "",
-            "\1\102\13\uffff\12\102\7\uffff\32\102\4\uffff\1\102\1\uffff"+
-            "\32\102",
-            "",
-            "",
-            "",
-            "\1\u0416",
-            "\1\102\13\uffff\12\102\7\uffff\32\102\4\uffff\1\102\1\uffff"+
-            "\32\102",
-            "",
-            "",
-            "\1\u0418",
-            "",
-            "",
-            "\1\u0419",
-            "",
-            "\1\102\13\uffff\12\102\7\uffff\32\102\4\uffff\1\102\1\uffff"+
-            "\32\102",
-            "\1\u041b",
-            "",
-            "\1\102\13\uffff\12\102\7\uffff\32\102\4\uffff\1\102\1\uffff"+
-            "\32\102",
-            ""
-    };
-
-    static final short[] DFA21_eot = DFA.unpackEncodedString(DFA21_eotS);
-    static final short[] DFA21_eof = DFA.unpackEncodedString(DFA21_eofS);
-    static final char[] DFA21_min = DFA.unpackEncodedStringToUnsignedChars(DFA21_minS);
-    static final char[] DFA21_max = DFA.unpackEncodedStringToUnsignedChars(DFA21_maxS);
-    static final short[] DFA21_accept = DFA.unpackEncodedString(DFA21_acceptS);
-    static final short[] DFA21_special = DFA.unpackEncodedString(DFA21_specialS);
-    static final short[][] DFA21_transition;
-
-    static {
-        int numStates = DFA21_transitionS.length;
-        DFA21_transition = new short[numStates][];
-        for (int i=0; i<numStates; i++) {
-            DFA21_transition[i] = DFA.unpackEncodedString(DFA21_transitionS[i]);
-        }
-    }
-
-    static class DFA21 extends DFA {
-
-        public DFA21(BaseRecognizer recognizer) {
-            this.recognizer = recognizer;
-            this.decisionNumber = 21;
-            this.eot = DFA21_eot;
-            this.eof = DFA21_eof;
-            this.min = DFA21_min;
-            this.max = DFA21_max;
-            this.accept = DFA21_accept;
-            this.special = DFA21_special;
-            this.transition = DFA21_transition;
-        }
-        public String getDescription() {
-            return "1:1: Tokens : ( T__13 | T__14 | T__15 | T__16 | T__17 | T__18 | T__19 | T__20 | T__21 | T__22 | T__23 | T__24 | T__25 | T__26 | T__27 | T__28 | T__29 | T__30 | T__31 | T__32 | T__33 | T__34 | T__35 | T__36 | T__37 | T__38 | T__39 | T__40 | T__41 | T__42 | T__43 | T__44 | T__45 | T__46 | T__47 | T__48 | T__49 | T__50 | T__51 | T__52 | T__53 | T__54 | T__55 | T__56 | T__57 | T__58 | T__59 | T__60 | T__61 | T__62 | T__63 | T__64 | T__65 | T__66 | T__67 | T__68 | T__69 | T__70 | T__71 | T__72 | T__73 | T__74 | T__75 | T__76 | T__77 | T__78 | T__79 | T__80 | T__81 | T__82 | T__83 | T__84 | T__85 | T__86 | T__87 | T__88 | T__89 | T__90 | T__91 | T__92 | T__93 | T__94 | T__95 | T__96 | T__97 | T__98 | T__99 | T__100 | T__101 | T__102 | T__103 | T__104 | T__105 | T__106 | T__107 | T__108 | T__109 | T__110 | T__111 | T__112 | T__113 | T__114 | T__115 | T__116 | T__117 | T__118 | T__119 | T__120 | T__121 | T__122 | T__123 | T__124 | T__125 | T__126 | T__127 | T__128 | T__129 | T__130 | T__131 | T__132 | T__133 | T__134 | T__135 | T__136 | T__137 | T__138 | T__139 | T__140 | T__141 | T__142 | T__143 | T__144 | T__145 | T__146 | T__147 | T__148 | T__149 | T__150 | T__151 | T__152 | T__153 | T__154 | T__155 | T__156 | T__157 | T__158 | T__159 | T__160 | T__161 | T__162 | T__163 | T__164 | T__165 | T__166 | T__167 | T__168 | T__169 | T__170 | T__171 | T__172 | T__173 | T__174 | T__175 | T__176 | T__177 | T__178 | T__179 | T__180 | T__181 | T__182 | T__183 | T__184 | T__185 | T__186 | T__187 | T__188 | T__189 | T__190 | T__191 | T__192 | T__193 | T__194 | T__195 | T__196 | T__197 | T__198 | T__199 | T__200 | T__201 | T__202 | T__203 | T__204 | T__205 | T__206 | T__207 | T__208 | T__209 | T__210 | T__211 | T__212 | T__213 | T__214 | T__215 | T__216 | T__217 | T__218 | T__219 | T__220 | T__221 | T__222 | T__223 | T__224 | T__225 | T__226 | T__227 | T__228 | T__229 | T__230 | T__231 | T__232 | T__233 | T__234 | T__235 | T__236 | T__237 | T__238 | T__239 | T__240 | T__241 | T__242 | T__243 | T__244 | T__245 | T__246 | T__247 | T__248 | T__249 | T__250 | T__251 | T__252 | T__253 | T__254 | RULE_HEX | RULE_INT | RULE_DECIMAL | RULE_ID | RULE_STRING | RULE_ML_COMMENT | RULE_SL_COMMENT | RULE_WS | RULE_ANY_OTHER );";
-        }
-        public int specialStateTransition(int s, IntStream _input) throws NoViableAltException {
-            IntStream input = _input;
-        	int _s = s;
-            switch ( s ) {
-                    case 0 : 
-                        int LA21_0 = input.LA(1);
-
-                        s = -1;
-                        if ( (LA21_0=='=') ) {s = 1;}
-
-                        else if ( (LA21_0=='|') ) {s = 2;}
-
-                        else if ( (LA21_0=='&') ) {s = 3;}
-
-                        else if ( (LA21_0=='c') ) {s = 4;}
-
-                        else if ( (LA21_0=='d') ) {s = 5;}
-
-                        else if ( (LA21_0=='a') ) {s = 6;}
-
-                        else if ( (LA21_0=='+') ) {s = 7;}
-
-                        else if ( (LA21_0=='-') ) {s = 8;}
-
-                        else if ( (LA21_0=='*') ) {s = 9;}
-
-                        else if ( (LA21_0=='/') ) {s = 10;}
-
-                        else if ( (LA21_0=='%') ) {s = 11;}
-
-                        else if ( (LA21_0=='!') ) {s = 12;}
-
-                        else if ( (LA21_0=='>') ) {s = 13;}
-
-                        else if ( (LA21_0=='<') ) {s = 14;}
-
-                        else if ( (LA21_0=='.') ) {s = 15;}
-
-                        else if ( (LA21_0=='?') ) {s = 16;}
-
-                        else if ( (LA21_0=='v') ) {s = 17;}
-
-                        else if ( (LA21_0=='e') ) {s = 18;}
-
-                        else if ( (LA21_0=='s') ) {s = 19;}
-
-                        else if ( (LA21_0=='i') ) {s = 20;}
-
-                        else if ( (LA21_0=='f') ) {s = 21;}
-
-                        else if ( (LA21_0=='m') ) {s = 22;}
-
-                        else if ( (LA21_0=='p') ) {s = 23;}
-
-                        else if ( (LA21_0=='u') ) {s = 24;}
-
-                        else if ( (LA21_0=='l') ) {s = 25;}
-
-                        else if ( (LA21_0=='n') ) {s = 26;}
-
-                        else if ( (LA21_0=='o') ) {s = 27;}
-
-                        else if ( (LA21_0=='r') ) {s = 28;}
-
-                        else if ( (LA21_0=='g') ) {s = 29;}
-
-                        else if ( (LA21_0=='h') ) {s = 30;}
-
-                        else if ( (LA21_0=='b') ) {s = 31;}
-
-                        else if ( (LA21_0=='t') ) {s = 32;}
-
-                        else if ( (LA21_0=='{') ) {s = 33;}
-
-                        else if ( (LA21_0=='}') ) {s = 34;}
-
-                        else if ( (LA21_0=='(') ) {s = 35;}
-
-                        else if ( (LA21_0==')') ) {s = 36;}
-
-                        else if ( (LA21_0=='@') ) {s = 37;}
-
-                        else if ( (LA21_0==',') ) {s = 38;}
-
-                        else if ( (LA21_0==']') ) {s = 39;}
-
-                        else if ( (LA21_0=='#') ) {s = 40;}
-
-                        else if ( (LA21_0=='[') ) {s = 41;}
-
-                        else if ( (LA21_0==';') ) {s = 42;}
-
-                        else if ( (LA21_0==':') ) {s = 43;}
-
-                        else if ( (LA21_0=='w') ) {s = 44;}
-
-                        else if ( (LA21_0=='0') ) {s = 45;}
-
-                        else if ( ((LA21_0>='1' && LA21_0<='9')) ) {s = 46;}
-
-                        else if ( (LA21_0=='^') ) {s = 47;}
-
-                        else if ( (LA21_0=='$'||(LA21_0>='A' && LA21_0<='Z')||LA21_0=='_'||(LA21_0>='j' && LA21_0<='k')||LA21_0=='q'||(LA21_0>='x' && LA21_0<='z')) ) {s = 48;}
-
-                        else if ( (LA21_0=='\"') ) {s = 49;}
-
-                        else if ( (LA21_0=='\'') ) {s = 50;}
-
-                        else if ( ((LA21_0>='\t' && LA21_0<='\n')||LA21_0=='\r'||LA21_0==' ') ) {s = 51;}
-
-                        else if ( ((LA21_0>='\u0000' && LA21_0<='\b')||(LA21_0>='\u000B' && LA21_0<='\f')||(LA21_0>='\u000E' && LA21_0<='\u001F')||LA21_0=='\\'||LA21_0=='`'||(LA21_0>='~' && LA21_0<='\uFFFF')) ) {s = 52;}
-
-                        if ( s>=0 ) return s;
-                        break;
-            }
-            NoViableAltException nvae =
-                new NoViableAltException(getDescription(), 21, _s, input);
-            error(nvae);
-            throw nvae;
-        }
-    }
- 
-
-}
diff --git a/org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSLParser.java b/org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSLParser.java
deleted file mode 100644
index 1567fd6..0000000
--- a/org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSLParser.java
+++ /dev/null
@@ -1,10015 +0,0 @@
-/**
- *                                                                            
- *  Copyright (c) 2011, 2016 - Loetz GmbH&Co.KG (69115 Heidelberg, Germany) 
- *                                                                            
- *  All rights reserved. This program and the accompanying materials           
- *  are made available under the terms of the Eclipse Public License v1.0       
- *  which accompanies this distribution, and is available at                  
- *  http://www.eclipse.org/legal/epl-v10.html                                 
- *                                                                            
- *  Contributors:                                                      
- * 	   Christophe Loetz (Loetz GmbH&Co.KG) - initial implementation
- * 
- */
-
-package org.eclipse.osbp.xtext.reportdsl.ui.contentassist.antlr.internal; 
-
-import java.io.InputStream;
-import org.eclipse.xtext.*;
-import org.eclipse.xtext.parser.*;
-import org.eclipse.xtext.parser.impl.*;
-import org.eclipse.emf.ecore.util.EcoreUtil;
-import org.eclipse.emf.ecore.EObject;
-import org.eclipse.xtext.parser.antlr.XtextTokenStream;
-import org.eclipse.xtext.parser.antlr.XtextTokenStream.HiddenTokens;
-import org.eclipse.xtext.ui.editor.contentassist.antlr.internal.AbstractInternalContentAssistParser;
-import org.eclipse.xtext.ui.editor.contentassist.antlr.internal.DFA;
-import org.eclipse.osbp.xtext.reportdsl.services.ReportDSLGrammarAccess;
-
-
-
-import org.antlr.runtime.*;
-import java.util.Stack;
-import java.util.List;
-import java.util.ArrayList;
-import java.util.Map;
-import java.util.HashMap;
-@SuppressWarnings("all")
-interface InternalReportDSLParserSignatures {
-     void entryRuleReportModel() throws RecognitionException;
-     void ruleReportModel() throws RecognitionException;
-     void entryRuleReportPackage() throws RecognitionException;
-     void ruleReportPackage() throws RecognitionException;
-     void entryRulePageTemplates() throws RecognitionException;
-     void rulePageTemplates() throws RecognitionException;
-     void entryRuleSomeFormats() throws RecognitionException;
-     void ruleSomeFormats() throws RecognitionException;
-     void entryRuleColors() throws RecognitionException;
-     void ruleColors() throws RecognitionException;
-     void entryRuleFonts() throws RecognitionException;
-     void ruleFonts() throws RecognitionException;
-     void entryRuleMedias() throws RecognitionException;
-     void ruleMedias() throws RecognitionException;
-     void entryRuleMedia() throws RecognitionException;
-     void ruleMedia() throws RecognitionException;
-     void entryRuleStyles() throws RecognitionException;
-     void ruleStyles() throws RecognitionException;
-     void entryRulePageTemplate() throws RecognitionException;
-     void rulePageTemplate() throws RecognitionException;
-     void entryRuleUnsignedNumber() throws RecognitionException;
-     void ruleUnsignedNumber() throws RecognitionException;
-     void entryRuleColor() throws RecognitionException;
-     void ruleColor() throws RecognitionException;
-     void entryRuleFont() throws RecognitionException;
-     void ruleFont() throws RecognitionException;
-     void entryRuleFontFamily() throws RecognitionException;
-     void ruleFontFamily() throws RecognitionException;
-     void entryRuleBuildInFontFamily() throws RecognitionException;
-     void ruleBuildInFontFamily() throws RecognitionException;
-     void entryRuleCustomFontFamily() throws RecognitionException;
-     void ruleCustomFontFamily() throws RecognitionException;
-     void entryRuleBorderStyle() throws RecognitionException;
-     void ruleBorderStyle() throws RecognitionException;
-     void entryRuleStyle() throws RecognitionException;
-     void ruleStyle() throws RecognitionException;
-     void entryRuleMediaStyle() throws RecognitionException;
-     void ruleMediaStyle() throws RecognitionException;
-     void entryRuleSomeFormat() throws RecognitionException;
-     void ruleSomeFormat() throws RecognitionException;
-     void entryRuleUomoFormat() throws RecognitionException;
-     void ruleUomoFormat() throws RecognitionException;
-     void entryRuleNumberFormat() throws RecognitionException;
-     void ruleNumberFormat() throws RecognitionException;
-     void entryRuleCurrencyFormat() throws RecognitionException;
-     void ruleCurrencyFormat() throws RecognitionException;
-     void entryRuleDateFormat() throws RecognitionException;
-     void ruleDateFormat() throws RecognitionException;
-     void entryRuleDateTimeFormat() throws RecognitionException;
-     void ruleDateTimeFormat() throws RecognitionException;
-     void entryRuleTimeFormat() throws RecognitionException;
-     void ruleTimeFormat() throws RecognitionException;
-     void entryRuleReport() throws RecognitionException;
-     void ruleReport() throws RecognitionException;
-     void entryRuleReportDesign() throws RecognitionException;
-     void ruleReportDesign() throws RecognitionException;
-     void entryRuleReportDesignFile() throws RecognitionException;
-     void ruleReportDesignFile() throws RecognitionException;
-     void entryRuleReportDesignTemplate() throws RecognitionException;
-     void ruleReportDesignTemplate() throws RecognitionException;
-     void entryRulePageHeader() throws RecognitionException;
-     void rulePageHeader() throws RecognitionException;
-     void entryRulePageDetail() throws RecognitionException;
-     void rulePageDetail() throws RecognitionException;
-     void entryRulePageFooter() throws RecognitionException;
-     void rulePageFooter() throws RecognitionException;
-     void entryRuleElement() throws RecognitionException;
-     void ruleElement() throws RecognitionException;
-     void entryRuleGrid() throws RecognitionException;
-     void ruleGrid() throws RecognitionException;
-     void entryRuleGridRow() throws RecognitionException;
-     void ruleGridRow() throws RecognitionException;
-     void entryRuleGridCell() throws RecognitionException;
-     void ruleGridCell() throws RecognitionException;
-     void entryRuleDatamartTable() throws RecognitionException;
-     void ruleDatamartTable() throws RecognitionException;
-     void entryRuleDatamartTableGroup() throws RecognitionException;
-     void ruleDatamartTableGroup() throws RecognitionException;
-     void entryRuleDatamartTableGroupHeader() throws RecognitionException;
-     void ruleDatamartTableGroupHeader() throws RecognitionException;
-     void entryRuleDatamartTableGroupFooter() throws RecognitionException;
-     void ruleDatamartTableGroupFooter() throws RecognitionException;
-     void entryRuleDatamartTableDetail() throws RecognitionException;
-     void ruleDatamartTableDetail() throws RecognitionException;
-     void entryRuleDatamartTableProperty() throws RecognitionException;
-     void ruleDatamartTableProperty() throws RecognitionException;
-     void entryRuleTableImage() throws RecognitionException;
-     void ruleTableImage() throws RecognitionException;
-     void entryRuleTableValueElement() throws RecognitionException;
-     void ruleTableValueElement() throws RecognitionException;
-     void entryRuleTableProperty() throws RecognitionException;
-     void ruleTableProperty() throws RecognitionException;
-     void entryRuleTableAggregation() throws RecognitionException;
-     void ruleTableAggregation() throws RecognitionException;
-     void entryRuleTableBaseAggregation() throws RecognitionException;
-     void ruleTableBaseAggregation() throws RecognitionException;
-     void entryRuleTablePureAggregation() throws RecognitionException;
-     void ruleTablePureAggregation() throws RecognitionException;
-     void entryRuleTableUnaryAggregation() throws RecognitionException;
-     void ruleTableUnaryAggregation() throws RecognitionException;
-     void entryRuleTableMultipleAggregation() throws RecognitionException;
-     void ruleTableMultipleAggregation() throws RecognitionException;
-     void entryRuleTableBinaryAggregation() throws RecognitionException;
-     void ruleTableBinaryAggregation() throws RecognitionException;
-     void entryRuleTableInterval() throws RecognitionException;
-     void ruleTableInterval() throws RecognitionException;
-     void entryRuleTableNumberInterval() throws RecognitionException;
-     void ruleTableNumberInterval() throws RecognitionException;
-     void entryRuleTableDateDayInterval() throws RecognitionException;
-     void ruleTableDateDayInterval() throws RecognitionException;
-     void entryRuleTableLookup() throws RecognitionException;
-     void ruleTableLookup() throws RecognitionException;
-     void entryRuleTableNumberLookup() throws RecognitionException;
-     void ruleTableNumberLookup() throws RecognitionException;
-     void entryRuleTableStringLookup() throws RecognitionException;
-     void ruleTableStringLookup() throws RecognitionException;
-     void entryRuleTableDateDayLookup() throws RecognitionException;
-     void ruleTableDateDayLookup() throws RecognitionException;
-     void entryRuleTableRangeElement() throws RecognitionException;
-     void ruleTableRangeElement() throws RecognitionException;
-     void entryRuleSignedNumber() throws RecognitionException;
-     void ruleSignedNumber() throws RecognitionException;
-     void entryRuleTableTextColor() throws RecognitionException;
-     void ruleTableTextColor() throws RecognitionException;
-     void entryRuleTableCellColor() throws RecognitionException;
-     void ruleTableCellColor() throws RecognitionException;
-     void entryRuleTableIcon() throws RecognitionException;
-     void ruleTableIcon() throws RecognitionException;
-     void entryRuleTableTrend() throws RecognitionException;
-     void ruleTableTrend() throws RecognitionException;
-     void entryRuleTitle() throws RecognitionException;
-     void ruleTitle() throws RecognitionException;
-     void entryRuleSubTitle() throws RecognitionException;
-     void ruleSubTitle() throws RecognitionException;
-     void entryRuleSubSubTitle() throws RecognitionException;
-     void ruleSubSubTitle() throws RecognitionException;
-     void entryRuleLabel() throws RecognitionException;
-     void ruleLabel() throws RecognitionException;
-     void entryRuleText() throws RecognitionException;
-     void ruleText() throws RecognitionException;
-     void entryRuleAutoText() throws RecognitionException;
-     void ruleAutoText() throws RecognitionException;
-     void entryRuleImage() throws RecognitionException;
-     void ruleImage() throws RecognitionException;
-     void entryRuleReportImport() throws RecognitionException;
-     void ruleReportImport() throws RecognitionException;
-     void entryRuleReportQualifiedNameWithWildCard() throws RecognitionException;
-     void ruleReportQualifiedNameWithWildCard() throws RecognitionException;
-     void entryRuleTRANSLATABLESTRING() throws RecognitionException;
-     void ruleTRANSLATABLESTRING() throws RecognitionException;
-     void entryRuleXAnnotation() throws RecognitionException;
-     void ruleXAnnotation() throws RecognitionException;
-     void entryRuleXAnnotationElementValuePair() throws RecognitionException;
-     void ruleXAnnotationElementValuePair() throws RecognitionException;
-     void entryRuleXAnnotationElementValueOrCommaList() throws RecognitionException;
-     void ruleXAnnotationElementValueOrCommaList() throws RecognitionException;
-     void entryRuleXAnnotationElementValue() throws RecognitionException;
-     void ruleXAnnotationElementValue() throws RecognitionException;
-     void entryRuleXAnnotationOrExpression() throws RecognitionException;
-     void ruleXAnnotationOrExpression() throws RecognitionException;
-     void entryRuleXExpression() throws RecognitionException;
-     void ruleXExpression() throws RecognitionException;
-     void entryRuleXAssignment() throws RecognitionException;
-     void ruleXAssignment() throws RecognitionException;
-     void entryRuleOpSingleAssign() throws RecognitionException;
-     void ruleOpSingleAssign() throws RecognitionException;
-     void entryRuleOpMultiAssign() throws RecognitionException;
-     void ruleOpMultiAssign() throws RecognitionException;
-     void entryRuleXOrExpression() throws RecognitionException;
-     void ruleXOrExpression() throws RecognitionException;
-     void entryRuleOpOr() throws RecognitionException;
-     void ruleOpOr() throws RecognitionException;
-     void entryRuleXAndExpression() throws RecognitionException;
-     void ruleXAndExpression() throws RecognitionException;
-     void entryRuleOpAnd() throws RecognitionException;
-     void ruleOpAnd() throws RecognitionException;
-     void entryRuleXEqualityExpression() throws RecognitionException;
-     void ruleXEqualityExpression() throws RecognitionException;
-     void entryRuleOpEquality() throws RecognitionException;
-     void ruleOpEquality() throws RecognitionException;
-     void entryRuleXRelationalExpression() throws RecognitionException;
-     void ruleXRelationalExpression() throws RecognitionException;
-     void entryRuleOpCompare() throws RecognitionException;
-     void ruleOpCompare() throws RecognitionException;
-     void entryRuleXOtherOperatorExpression() throws RecognitionException;
-     void ruleXOtherOperatorExpression() throws RecognitionException;
-     void entryRuleOpOther() throws RecognitionException;
-     void ruleOpOther() throws RecognitionException;
-     void entryRuleXAdditiveExpression() throws RecognitionException;
-     void ruleXAdditiveExpression() throws RecognitionException;
-     void entryRuleOpAdd() throws RecognitionException;
-     void ruleOpAdd() throws RecognitionException;
-     void entryRuleXMultiplicativeExpression() throws RecognitionException;
-     void ruleXMultiplicativeExpression() throws RecognitionException;
-     void entryRuleOpMulti() throws RecognitionException;
-     void ruleOpMulti() throws RecognitionException;
-     void entryRuleXUnaryOperation() throws RecognitionException;
-     void ruleXUnaryOperation() throws RecognitionException;
-     void entryRuleOpUnary() throws RecognitionException;
-     void ruleOpUnary() throws RecognitionException;
-     void entryRuleXCastedExpression() throws RecognitionException;
-     void ruleXCastedExpression() throws RecognitionException;
-     void entryRuleXPostfixOperation() throws RecognitionException;
-     void ruleXPostfixOperation() throws RecognitionException;
-     void entryRuleOpPostfix() throws RecognitionException;
-     void ruleOpPostfix() throws RecognitionException;
-     void entryRuleXMemberFeatureCall() throws RecognitionException;
-     void ruleXMemberFeatureCall() throws RecognitionException;
-     void entryRuleXPrimaryExpression() throws RecognitionException;
-     void ruleXPrimaryExpression() throws RecognitionException;
-     void entryRuleXLiteral() throws RecognitionException;
-     void ruleXLiteral() throws RecognitionException;
-     void entryRuleXCollectionLiteral() throws RecognitionException;
-     void ruleXCollectionLiteral() throws RecognitionException;
-     void entryRuleXSetLiteral() throws RecognitionException;
-     void ruleXSetLiteral() throws RecognitionException;
-     void entryRuleXListLiteral() throws RecognitionException;
-     void ruleXListLiteral() throws RecognitionException;
-     void entryRuleXClosure() throws RecognitionException;
-     void ruleXClosure() throws RecognitionException;
-     void entryRuleXExpressionInClosure() throws RecognitionException;
-     void ruleXExpressionInClosure() throws RecognitionException;
-     void entryRuleXShortClosure() throws RecognitionException;
-     void ruleXShortClosure() throws RecognitionException;
-     void entryRuleXParenthesizedExpression() throws RecognitionException;
-     void ruleXParenthesizedExpression() throws RecognitionException;
-     void entryRuleXIfExpression() throws RecognitionException;
-     void ruleXIfExpression() throws RecognitionException;
-     void entryRuleXSwitchExpression() throws RecognitionException;
-     void ruleXSwitchExpression() throws RecognitionException;
-     void entryRuleXCasePart() throws RecognitionException;
-     void ruleXCasePart() throws RecognitionException;
-     void entryRuleXForLoopExpression() throws RecognitionException;
-     void ruleXForLoopExpression() throws RecognitionException;
-     void entryRuleXBasicForLoopExpression() throws RecognitionException;
-     void ruleXBasicForLoopExpression() throws RecognitionException;
-     void entryRuleXWhileExpression() throws RecognitionException;
-     void ruleXWhileExpression() throws RecognitionException;
-     void entryRuleXDoWhileExpression() throws RecognitionException;
-     void ruleXDoWhileExpression() throws RecognitionException;
-     void entryRuleXBlockExpression() throws RecognitionException;
-     void ruleXBlockExpression() throws RecognitionException;
-     void entryRuleXExpressionOrVarDeclaration() throws RecognitionException;
-     void ruleXExpressionOrVarDeclaration() throws RecognitionException;
-     void entryRuleXVariableDeclaration() throws RecognitionException;
-     void ruleXVariableDeclaration() throws RecognitionException;
-     void entryRuleJvmFormalParameter() throws RecognitionException;
-     void ruleJvmFormalParameter() throws RecognitionException;
-     void entryRuleFullJvmFormalParameter() throws RecognitionException;
-     void ruleFullJvmFormalParameter() throws RecognitionException;
-     void entryRuleXFeatureCall() throws RecognitionException;
-     void ruleXFeatureCall() throws RecognitionException;
-     void entryRuleFeatureCallID() throws RecognitionException;
-     void ruleFeatureCallID() throws RecognitionException;
-     void entryRuleIdOrSuper() throws RecognitionException;
-     void ruleIdOrSuper() throws RecognitionException;
-     void entryRuleXConstructorCall() throws RecognitionException;
-     void ruleXConstructorCall() throws RecognitionException;
-     void entryRuleXBooleanLiteral() throws RecognitionException;
-     void ruleXBooleanLiteral() throws RecognitionException;
-     void entryRuleXNullLiteral() throws RecognitionException;
-     void ruleXNullLiteral() throws RecognitionException;
-     void entryRuleXNumberLiteral() throws RecognitionException;
-     void ruleXNumberLiteral() throws RecognitionException;
-     void entryRuleXStringLiteral() throws RecognitionException;
-     void ruleXStringLiteral() throws RecognitionException;
-     void entryRuleXTypeLiteral() throws RecognitionException;
-     void ruleXTypeLiteral() throws RecognitionException;
-     void entryRuleXThrowExpression() throws RecognitionException;
-     void ruleXThrowExpression() throws RecognitionException;
-     void entryRuleXReturnExpression() throws RecognitionException;
-     void ruleXReturnExpression() throws RecognitionException;
-     void entryRuleXTryCatchFinallyExpression() throws RecognitionException;
-     void ruleXTryCatchFinallyExpression() throws RecognitionException;
-     void entryRuleXSynchronizedExpression() throws RecognitionException;
-     void ruleXSynchronizedExpression() throws RecognitionException;
-     void entryRuleXCatchClause() throws RecognitionException;
-     void ruleXCatchClause() throws RecognitionException;
-     void entryRuleQualifiedName() throws RecognitionException;
-     void ruleQualifiedName() throws RecognitionException;
-     void entryRuleNumber() throws RecognitionException;
-     void ruleNumber() throws RecognitionException;
-     void entryRuleJvmTypeReference() throws RecognitionException;
-     void ruleJvmTypeReference() throws RecognitionException;
-     void entryRuleArrayBrackets() throws RecognitionException;
-     void ruleArrayBrackets() throws RecognitionException;
-     void entryRuleXFunctionTypeRef() throws RecognitionException;
-     void ruleXFunctionTypeRef() throws RecognitionException;
-     void entryRuleJvmParameterizedTypeReference() throws RecognitionException;
-     void ruleJvmParameterizedTypeReference() throws RecognitionException;
-     void entryRuleJvmArgumentTypeReference() throws RecognitionException;
-     void ruleJvmArgumentTypeReference() throws RecognitionException;
-     void entryRuleJvmWildcardTypeReference() throws RecognitionException;
-     void ruleJvmWildcardTypeReference() throws RecognitionException;
-     void entryRuleJvmUpperBound() throws RecognitionException;
-     void ruleJvmUpperBound() throws RecognitionException;
-     void entryRuleJvmUpperBoundAnded() throws RecognitionException;
-     void ruleJvmUpperBoundAnded() throws RecognitionException;
-     void entryRuleJvmLowerBound() throws RecognitionException;
-     void ruleJvmLowerBound() throws RecognitionException;
-     void entryRuleJvmLowerBoundAnded() throws RecognitionException;
-     void ruleJvmLowerBoundAnded() throws RecognitionException;
-     void entryRuleQualifiedNameWithWildcard() throws RecognitionException;
-     void ruleQualifiedNameWithWildcard() throws RecognitionException;
-     void entryRuleValidID() throws RecognitionException;
-     void ruleValidID() throws RecognitionException;
-     void entryRuleXImportDeclaration() throws RecognitionException;
-     void ruleXImportDeclaration() throws RecognitionException;
-     void entryRuleQualifiedNameInStaticImport() throws RecognitionException;
-     void ruleQualifiedNameInStaticImport() throws RecognitionException;
-     void ruleUnitEnum() throws RecognitionException;
-     void rulePageSizeEnum() throws RecognitionException;
-     void ruleOrientationEnum() throws RecognitionException;
-     void ruleFontStyleEnum() throws RecognitionException;
-     void ruleBuildInFontFamilyEnum() throws RecognitionException;
-     void ruleTextAlignEnum() throws RecognitionException;
-     void ruleNumberFormatCategoryEnum() throws RecognitionException;
-     void ruleCurrencyFormatCategoryEnum() throws RecognitionException;
-     void ruleDateFormatCategoryEnum() throws RecognitionException;
-     void ruleDateTimeFormatCategoryEnum() throws RecognitionException;
-     void ruleTimeFormatCategoryEnum() throws RecognitionException;
-     void ruleRenderingEnum() throws RecognitionException;
-     void rulePureAggregationTypeEnum() throws RecognitionException;
-     void ruleUnaryAggregationTypeEnum() throws RecognitionException;
-     void ruleBinaryAggregationTypeEnum() throws RecognitionException;
-     void ruleMultipleAggregationTypeEnum() throws RecognitionException;
-     void ruleTrendIconEnum() throws RecognitionException;
-     void ruleBorderTypeEnum() throws RecognitionException;
-     void ruleAutoTextEnum() throws RecognitionException;
-     void ruleImageSizeEnum() throws RecognitionException;
-     void ruleImageSourceEnum() throws RecognitionException;
-     void rule__Color__Alternatives_2() throws RecognitionException;
-     void rule__FontFamily__Alternatives() throws RecognitionException;
-     void rule__SomeFormat__Alternatives() throws RecognitionException;
-     void rule__ReportDesign__Alternatives() throws RecognitionException;
-     void rule__Element__Alternatives() throws RecognitionException;
-     void rule__DatamartTableDetail__Alternatives_3() throws RecognitionException;
-     void rule__TableValueElement__Alternatives() throws RecognitionException;
-     void rule__TableBaseAggregation__Alternatives() throws RecognitionException;
-     void rule__TableInterval__Alternatives() throws RecognitionException;
-     void rule__TableLookup__Alternatives() throws RecognitionException;
-     void rule__TableRangeElement__Alternatives() throws RecognitionException;
-     void rule__XAnnotation__Alternatives_3_1() throws RecognitionException;
-     void rule__XAnnotationElementValueOrCommaList__Alternatives() throws RecognitionException;
-     void rule__XAnnotationElementValue__Alternatives() throws RecognitionException;
-     void rule__XAnnotationOrExpression__Alternatives() throws RecognitionException;
-     void rule__XAssignment__Alternatives() throws RecognitionException;
-     void rule__OpMultiAssign__Alternatives() throws RecognitionException;
-     void rule__OpEquality__Alternatives() throws RecognitionException;
-     void rule__XRelationalExpression__Alternatives_1() throws RecognitionException;
-     void rule__OpCompare__Alternatives() throws RecognitionException;
-     void rule__OpOther__Alternatives() throws RecognitionException;
-     void rule__OpOther__Alternatives_5_1() throws RecognitionException;
-     void rule__OpOther__Alternatives_6_1() throws RecognitionException;
-     void rule__OpAdd__Alternatives() throws RecognitionException;
-     void rule__OpMulti__Alternatives() throws RecognitionException;
-     void rule__XUnaryOperation__Alternatives() throws RecognitionException;
-     void rule__OpUnary__Alternatives() throws RecognitionException;
-     void rule__OpPostfix__Alternatives() throws RecognitionException;
-     void rule__XMemberFeatureCall__Alternatives_1() throws RecognitionException;
-     void rule__XMemberFeatureCall__Alternatives_1_0_0_0_1() throws RecognitionException;
-     void rule__XMemberFeatureCall__Alternatives_1_1_0_0_1() throws RecognitionException;
-     void rule__XMemberFeatureCall__Alternatives_1_1_3_1() throws RecognitionException;
-     void rule__XPrimaryExpression__Alternatives() throws RecognitionException;
-     void rule__XLiteral__Alternatives() throws RecognitionException;
-     void rule__XCollectionLiteral__Alternatives() throws RecognitionException;
-     void rule__XSwitchExpression__Alternatives_2() throws RecognitionException;
-     void rule__XCasePart__Alternatives_3() throws RecognitionException;
-     void rule__XExpressionOrVarDeclaration__Alternatives() throws RecognitionException;
-     void rule__XVariableDeclaration__Alternatives_1() throws RecognitionException;
-     void rule__XVariableDeclaration__Alternatives_2() throws RecognitionException;
-     void rule__XFeatureCall__Alternatives_3_1() throws RecognitionException;
-     void rule__FeatureCallID__Alternatives() throws RecognitionException;
-     void rule__IdOrSuper__Alternatives() throws RecognitionException;
-     void rule__XConstructorCall__Alternatives_4_1() throws RecognitionException;
-     void rule__XBooleanLiteral__Alternatives_1() throws RecognitionException;
-     void rule__XTryCatchFinallyExpression__Alternatives_3() throws RecognitionException;
-     void rule__Number__Alternatives() throws RecognitionException;
-     void rule__Number__Alternatives_1_0() throws RecognitionException;
-     void rule__Number__Alternatives_1_1_1() throws RecognitionException;
-     void rule__JvmTypeReference__Alternatives() throws RecognitionException;
-     void rule__JvmArgumentTypeReference__Alternatives() throws RecognitionException;
-     void rule__JvmWildcardTypeReference__Alternatives_2() throws RecognitionException;
-     void rule__XImportDeclaration__Alternatives_1() throws RecognitionException;
-     void rule__XImportDeclaration__Alternatives_1_0_3() throws RecognitionException;
-     void rule__UnitEnum__Alternatives() throws RecognitionException;
-     void rule__PageSizeEnum__Alternatives() throws RecognitionException;
-     void rule__OrientationEnum__Alternatives() throws RecognitionException;
-     void rule__FontStyleEnum__Alternatives() throws RecognitionException;
-     void rule__BuildInFontFamilyEnum__Alternatives() throws RecognitionException;
-     void rule__TextAlignEnum__Alternatives() throws RecognitionException;
-     void rule__NumberFormatCategoryEnum__Alternatives() throws RecognitionException;
-     void rule__CurrencyFormatCategoryEnum__Alternatives() throws RecognitionException;
-     void rule__RenderingEnum__Alternatives() throws RecognitionException;
-     void rule__PureAggregationTypeEnum__Alternatives() throws RecognitionException;
-     void rule__UnaryAggregationTypeEnum__Alternatives() throws RecognitionException;
-     void rule__TrendIconEnum__Alternatives() throws RecognitionException;
-     void rule__BorderTypeEnum__Alternatives() throws RecognitionException;
-     void rule__AutoTextEnum__Alternatives() throws RecognitionException;
-     void rule__ImageSizeEnum__Alternatives() throws RecognitionException;
-     void rule__ImageSourceEnum__Alternatives() throws RecognitionException;
-     void rule__ReportPackage__Group__0() throws RecognitionException;
-     void rule__ReportPackage__Group__0__Impl() throws RecognitionException;
-     void rule__ReportPackage__Group__1() throws RecognitionException;
-     void rule__ReportPackage__Group__1__Impl() throws RecognitionException;
-     void rule__ReportPackage__Group__2() throws RecognitionException;
-     void rule__ReportPackage__Group__2__Impl() throws RecognitionException;
-     void rule__ReportPackage__Group__3() throws RecognitionException;
-     void rule__ReportPackage__Group__3__Impl() throws RecognitionException;
-     void rule__ReportPackage__Group__4() throws RecognitionException;
-     void rule__ReportPackage__Group__4__Impl() throws RecognitionException;
-     void rule__ReportPackage__Group__5() throws RecognitionException;
-     void rule__ReportPackage__Group__5__Impl() throws RecognitionException;
-     void rule__ReportPackage__Group__6() throws RecognitionException;
-     void rule__ReportPackage__Group__6__Impl() throws RecognitionException;
-     void rule__ReportPackage__Group__7() throws RecognitionException;
-     void rule__ReportPackage__Group__7__Impl() throws RecognitionException;
-     void rule__ReportPackage__Group_5__0() throws RecognitionException;
-     void rule__ReportPackage__Group_5__0__Impl() throws RecognitionException;
-     void rule__ReportPackage__Group_5__1() throws RecognitionException;
-     void rule__ReportPackage__Group_5__1__Impl() throws RecognitionException;
-     void rule__ReportPackage__Group_5__2() throws RecognitionException;
-     void rule__ReportPackage__Group_5__2__Impl() throws RecognitionException;
-     void rule__ReportPackage__Group_5__3() throws RecognitionException;
-     void rule__ReportPackage__Group_5__3__Impl() throws RecognitionException;
-     void rule__ReportPackage__Group_5__4() throws RecognitionException;
-     void rule__ReportPackage__Group_5__4__Impl() throws RecognitionException;
-     void rule__ReportPackage__Group_5__5() throws RecognitionException;
-     void rule__ReportPackage__Group_5__5__Impl() throws RecognitionException;
-     void rule__ReportPackage__Group_5__6() throws RecognitionException;
-     void rule__ReportPackage__Group_5__6__Impl() throws RecognitionException;
-     void rule__ReportPackage__Group_5__7() throws RecognitionException;
-     void rule__ReportPackage__Group_5__7__Impl() throws RecognitionException;
-     void rule__ReportPackage__Group_5__8() throws RecognitionException;
-     void rule__ReportPackage__Group_5__8__Impl() throws RecognitionException;
-     void rule__ReportPackage__Group_5__9() throws RecognitionException;
-     void rule__ReportPackage__Group_5__9__Impl() throws RecognitionException;
-     void rule__ReportPackage__Group_5_2__0() throws RecognitionException;
-     void rule__ReportPackage__Group_5_2__0__Impl() throws RecognitionException;
-     void rule__ReportPackage__Group_5_2__1() throws RecognitionException;
-     void rule__ReportPackage__Group_5_2__1__Impl() throws RecognitionException;
-     void rule__ReportPackage__Group_5_2__2() throws RecognitionException;
-     void rule__ReportPackage__Group_5_2__2__Impl() throws RecognitionException;
-     void rule__ReportPackage__Group_5_2_2__0() throws RecognitionException;
-     void rule__ReportPackage__Group_5_2_2__0__Impl() throws RecognitionException;
-     void rule__ReportPackage__Group_5_2_2__1() throws RecognitionException;
-     void rule__ReportPackage__Group_5_2_2__1__Impl() throws RecognitionException;
-     void rule__PageTemplates__Group__0() throws RecognitionException;
-     void rule__PageTemplates__Group__0__Impl() throws RecognitionException;
-     void rule__PageTemplates__Group__1() throws RecognitionException;
-     void rule__PageTemplates__Group__1__Impl() throws RecognitionException;
-     void rule__SomeFormats__Group__0() throws RecognitionException;
-     void rule__SomeFormats__Group__0__Impl() throws RecognitionException;
-     void rule__SomeFormats__Group__1() throws RecognitionException;
-     void rule__SomeFormats__Group__1__Impl() throws RecognitionException;
-     void rule__SomeFormats__Group__2() throws RecognitionException;
-     void rule__SomeFormats__Group__2__Impl() throws RecognitionException;
-     void rule__SomeFormats__Group__3() throws RecognitionException;
-     void rule__SomeFormats__Group__3__Impl() throws RecognitionException;
-     void rule__SomeFormats__Group__4() throws RecognitionException;
-     void rule__SomeFormats__Group__4__Impl() throws RecognitionException;
-     void rule__Colors__Group__0() throws RecognitionException;
-     void rule__Colors__Group__0__Impl() throws RecognitionException;
-     void rule__Colors__Group__1() throws RecognitionException;
-     void rule__Colors__Group__1__Impl() throws RecognitionException;
-     void rule__Colors__Group__2() throws RecognitionException;
-     void rule__Colors__Group__2__Impl() throws RecognitionException;
-     void rule__Colors__Group__3() throws RecognitionException;
-     void rule__Colors__Group__3__Impl() throws RecognitionException;
-     void rule__Colors__Group__4() throws RecognitionException;
-     void rule__Colors__Group__4__Impl() throws RecognitionException;
-     void rule__Fonts__Group__0() throws RecognitionException;
-     void rule__Fonts__Group__0__Impl() throws RecognitionException;
-     void rule__Fonts__Group__1() throws RecognitionException;
-     void rule__Fonts__Group__1__Impl() throws RecognitionException;
-     void rule__Fonts__Group__2() throws RecognitionException;
-     void rule__Fonts__Group__2__Impl() throws RecognitionException;
-     void rule__Fonts__Group__3() throws RecognitionException;
-     void rule__Fonts__Group__3__Impl() throws RecognitionException;
-     void rule__Fonts__Group__4() throws RecognitionException;
-     void rule__Fonts__Group__4__Impl() throws RecognitionException;
-     void rule__Medias__Group__0() throws RecognitionException;
-     void rule__Medias__Group__0__Impl() throws RecognitionException;
-     void rule__Medias__Group__1() throws RecognitionException;
-     void rule__Medias__Group__1__Impl() throws RecognitionException;
-     void rule__Medias__Group__2() throws RecognitionException;
-     void rule__Medias__Group__2__Impl() throws RecognitionException;
-     void rule__Medias__Group__3() throws RecognitionException;
-     void rule__Medias__Group__3__Impl() throws RecognitionException;
-     void rule__Medias__Group__4() throws RecognitionException;
-     void rule__Medias__Group__4__Impl() throws RecognitionException;
-     void rule__Media__Group__0() throws RecognitionException;
-     void rule__Media__Group__0__Impl() throws RecognitionException;
-     void rule__Media__Group__1() throws RecognitionException;
-     void rule__Media__Group__1__Impl() throws RecognitionException;
-     void rule__Styles__Group__0() throws RecognitionException;
-     void rule__Styles__Group__0__Impl() throws RecognitionException;
-     void rule__Styles__Group__1() throws RecognitionException;
-     void rule__Styles__Group__1__Impl() throws RecognitionException;
-     void rule__Styles__Group__2() throws RecognitionException;
-     void rule__Styles__Group__2__Impl() throws RecognitionException;
-     void rule__Styles__Group__3() throws RecognitionException;
-     void rule__Styles__Group__3__Impl() throws RecognitionException;
-     void rule__Styles__Group__4() throws RecognitionException;
-     void rule__Styles__Group__4__Impl() throws RecognitionException;
-     void rule__PageTemplate__Group__0() throws RecognitionException;
-     void rule__PageTemplate__Group__0__Impl() throws RecognitionException;
-     void rule__PageTemplate__Group__1() throws RecognitionException;
-     void rule__PageTemplate__Group__1__Impl() throws RecognitionException;
-     void rule__PageTemplate__Group__2() throws RecognitionException;
-     void rule__PageTemplate__Group__2__Impl() throws RecognitionException;
-     void rule__PageTemplate__Group__3() throws RecognitionException;
-     void rule__PageTemplate__Group__3__Impl() throws RecognitionException;
-     void rule__PageTemplate__Group__4() throws RecognitionException;
-     void rule__PageTemplate__Group__4__Impl() throws RecognitionException;
-     void rule__PageTemplate__Group__5() throws RecognitionException;
-     void rule__PageTemplate__Group__5__Impl() throws RecognitionException;
-     void rule__PageTemplate__Group__6() throws RecognitionException;
-     void rule__PageTemplate__Group__6__Impl() throws RecognitionException;
-     void rule__PageTemplate__Group__7() throws RecognitionException;
-     void rule__PageTemplate__Group__7__Impl() throws RecognitionException;
-     void rule__PageTemplate__Group__8() throws RecognitionException;
-     void rule__PageTemplate__Group__8__Impl() throws RecognitionException;
-     void rule__PageTemplate__Group__9() throws RecognitionException;
-     void rule__PageTemplate__Group__9__Impl() throws RecognitionException;
-     void rule__PageTemplate__Group__10() throws RecognitionException;
-     void rule__PageTemplate__Group__10__Impl() throws RecognitionException;
-     void rule__PageTemplate__Group__11() throws RecognitionException;
-     void rule__PageTemplate__Group__11__Impl() throws RecognitionException;
-     void rule__PageTemplate__Group__12() throws RecognitionException;
-     void rule__PageTemplate__Group__12__Impl() throws RecognitionException;
-     void rule__PageTemplate__Group__13() throws RecognitionException;
-     void rule__PageTemplate__Group__13__Impl() throws RecognitionException;
-     void rule__PageTemplate__Group__14() throws RecognitionException;
-     void rule__PageTemplate__Group__14__Impl() throws RecognitionException;
-     void rule__PageTemplate__Group__15() throws RecognitionException;
-     void rule__PageTemplate__Group__15__Impl() throws RecognitionException;
-     void rule__PageTemplate__Group__16() throws RecognitionException;
-     void rule__PageTemplate__Group__16__Impl() throws RecognitionException;
-     void rule__PageTemplate__Group__17() throws RecognitionException;
-     void rule__PageTemplate__Group__17__Impl() throws RecognitionException;
-     void rule__PageTemplate__Group__18() throws RecognitionException;
-     void rule__PageTemplate__Group__18__Impl() throws RecognitionException;
-     void rule__PageTemplate__Group__19() throws RecognitionException;
-     void rule__PageTemplate__Group__19__Impl() throws RecognitionException;
-     void rule__PageTemplate__Group__20() throws RecognitionException;
-     void rule__PageTemplate__Group__20__Impl() throws RecognitionException;
-     void rule__PageTemplate__Group__21() throws RecognitionException;
-     void rule__PageTemplate__Group__21__Impl() throws RecognitionException;
-     void rule__Color__Group__0() throws RecognitionException;
-     void rule__Color__Group__0__Impl() throws RecognitionException;
-     void rule__Color__Group__1() throws RecognitionException;
-     void rule__Color__Group__1__Impl() throws RecognitionException;
-     void rule__Color__Group__2() throws RecognitionException;
-     void rule__Color__Group__2__Impl() throws RecognitionException;
-     void rule__Color__Group_2_1__0() throws RecognitionException;
-     void rule__Color__Group_2_1__0__Impl() throws RecognitionException;
-     void rule__Color__Group_2_1__1() throws RecognitionException;
-     void rule__Color__Group_2_1__1__Impl() throws RecognitionException;
-     void rule__Color__Group_2_1__2() throws RecognitionException;
-     void rule__Color__Group_2_1__2__Impl() throws RecognitionException;
-     void rule__Color__Group_2_1__3() throws RecognitionException;
-     void rule__Color__Group_2_1__3__Impl() throws RecognitionException;
-     void rule__Color__Group_2_2__0() throws RecognitionException;
-     void rule__Color__Group_2_2__0__Impl() throws RecognitionException;
-     void rule__Color__Group_2_2__1() throws RecognitionException;
-     void rule__Color__Group_2_2__1__Impl() throws RecognitionException;
-     void rule__Color__Group_2_2__2() throws RecognitionException;
-     void rule__Color__Group_2_2__2__Impl() throws RecognitionException;
-     void rule__Color__Group_2_2__3() throws RecognitionException;
-     void rule__Color__Group_2_2__3__Impl() throws RecognitionException;
-     void rule__Color__Group_2_3__0() throws RecognitionException;
-     void rule__Color__Group_2_3__0__Impl() throws RecognitionException;
-     void rule__Color__Group_2_3__1() throws RecognitionException;
-     void rule__Color__Group_2_3__1__Impl() throws RecognitionException;
-     void rule__Color__Group_2_3__2() throws RecognitionException;
-     void rule__Color__Group_2_3__2__Impl() throws RecognitionException;
-     void rule__Color__Group_2_3__3() throws RecognitionException;
-     void rule__Color__Group_2_3__3__Impl() throws RecognitionException;
-     void rule__Color__Group_2_3__4() throws RecognitionException;
-     void rule__Color__Group_2_3__4__Impl() throws RecognitionException;
-     void rule__Color__Group_2_3__5() throws RecognitionException;
-     void rule__Color__Group_2_3__5__Impl() throws RecognitionException;
-     void rule__Font__Group_0__0() throws RecognitionException;
-     void rule__Font__Group_0__0__Impl() throws RecognitionException;
-     void rule__Font__Group_0__1() throws RecognitionException;
-     void rule__Font__Group_0__1__Impl() throws RecognitionException;
-     void rule__Font__Group_0__2() throws RecognitionException;
-     void rule__Font__Group_0__2__Impl() throws RecognitionException;
-     void rule__Font__Group_0__3() throws RecognitionException;
-     void rule__Font__Group_0__3__Impl() throws RecognitionException;
-     void rule__Font__Group_0__4() throws RecognitionException;
-     void rule__Font__Group_0__4__Impl() throws RecognitionException;
-     void rule__Font__Group_0_3__0() throws RecognitionException;
-     void rule__Font__Group_0_3__0__Impl() throws RecognitionException;
-     void rule__Font__Group_0_3__1() throws RecognitionException;
-     void rule__Font__Group_0_3__1__Impl() throws RecognitionException;
-     void rule__Font__Group_0_4__0() throws RecognitionException;
-     void rule__Font__Group_0_4__0__Impl() throws RecognitionException;
-     void rule__Font__Group_0_4__1() throws RecognitionException;
-     void rule__Font__Group_0_4__1__Impl() throws RecognitionException;
-     void rule__Font__Group_3__0() throws RecognitionException;
-     void rule__Font__Group_3__0__Impl() throws RecognitionException;
-     void rule__Font__Group_3__1() throws RecognitionException;
-     void rule__Font__Group_3__1__Impl() throws RecognitionException;
-     void rule__Font__Group_3_0__0() throws RecognitionException;
-     void rule__Font__Group_3_0__0__Impl() throws RecognitionException;
-     void rule__Font__Group_3_0__1() throws RecognitionException;
-     void rule__Font__Group_3_0__1__Impl() throws RecognitionException;
-     void rule__Font__Group_3_0__2() throws RecognitionException;
-     void rule__Font__Group_3_0__2__Impl() throws RecognitionException;
-     void rule__BorderStyle__Group__0() throws RecognitionException;
-     void rule__BorderStyle__Group__0__Impl() throws RecognitionException;
-     void rule__BorderStyle__Group__1() throws RecognitionException;
-     void rule__BorderStyle__Group__1__Impl() throws RecognitionException;
-     void rule__BorderStyle__Group__2() throws RecognitionException;
-     void rule__BorderStyle__Group__2__Impl() throws RecognitionException;
-     void rule__BorderStyle__Group__3() throws RecognitionException;
-     void rule__BorderStyle__Group__3__Impl() throws RecognitionException;
-     void rule__Style__Group__0() throws RecognitionException;
-     void rule__Style__Group__0__Impl() throws RecognitionException;
-     void rule__Style__Group__1() throws RecognitionException;
-     void rule__Style__Group__1__Impl() throws RecognitionException;
-     void rule__Style__Group__2() throws RecognitionException;
-     void rule__Style__Group__2__Impl() throws RecognitionException;
-     void rule__Style__Group__3() throws RecognitionException;
-     void rule__Style__Group__3__Impl() throws RecognitionException;
-     void rule__Style__Group__4() throws RecognitionException;
-     void rule__Style__Group__4__Impl() throws RecognitionException;
-     void rule__Style__Group__5() throws RecognitionException;
-     void rule__Style__Group__5__Impl() throws RecognitionException;
-     void rule__Style__Group__6() throws RecognitionException;
-     void rule__Style__Group__6__Impl() throws RecognitionException;
-     void rule__Style__Group_3__0() throws RecognitionException;
-     void rule__Style__Group_3__0__Impl() throws RecognitionException;
-     void rule__Style__Group_3__1() throws RecognitionException;
-     void rule__Style__Group_3__1__Impl() throws RecognitionException;
-     void rule__Style__Group_4_0__0() throws RecognitionException;
-     void rule__Style__Group_4_0__0__Impl() throws RecognitionException;
-     void rule__Style__Group_4_0__1() throws RecognitionException;
-     void rule__Style__Group_4_0__1__Impl() throws RecognitionException;
-     void rule__Style__Group_4_1__0() throws RecognitionException;
-     void rule__Style__Group_4_1__0__Impl() throws RecognitionException;
-     void rule__Style__Group_4_1__1() throws RecognitionException;
-     void rule__Style__Group_4_1__1__Impl() throws RecognitionException;
-     void rule__Style__Group_4_2__0() throws RecognitionException;
-     void rule__Style__Group_4_2__0__Impl() throws RecognitionException;
-     void rule__Style__Group_4_2__1() throws RecognitionException;
-     void rule__Style__Group_4_2__1__Impl() throws RecognitionException;
-     void rule__Style__Group_4_2__2() throws RecognitionException;
-     void rule__Style__Group_4_2__2__Impl() throws RecognitionException;
-     void rule__Style__Group_4_2_2__0() throws RecognitionException;
-     void rule__Style__Group_4_2_2__0__Impl() throws RecognitionException;
-     void rule__Style__Group_4_2_2__1() throws RecognitionException;
-     void rule__Style__Group_4_2_2__1__Impl() throws RecognitionException;
-     void rule__Style__Group_4_3__0() throws RecognitionException;
-     void rule__Style__Group_4_3__0__Impl() throws RecognitionException;
-     void rule__Style__Group_4_3__1() throws RecognitionException;
-     void rule__Style__Group_4_3__1__Impl() throws RecognitionException;
-     void rule__Style__Group_4_4__0() throws RecognitionException;
-     void rule__Style__Group_4_4__0__Impl() throws RecognitionException;
-     void rule__Style__Group_4_4__1() throws RecognitionException;
-     void rule__Style__Group_4_4__1__Impl() throws RecognitionException;
-     void rule__Style__Group_4_5__0() throws RecognitionException;
-     void rule__Style__Group_4_5__0__Impl() throws RecognitionException;
-     void rule__Style__Group_4_5__1() throws RecognitionException;
-     void rule__Style__Group_4_5__1__Impl() throws RecognitionException;
-     void rule__Style__Group_4_6__0() throws RecognitionException;
-     void rule__Style__Group_4_6__0__Impl() throws RecognitionException;
-     void rule__Style__Group_4_6__1() throws RecognitionException;
-     void rule__Style__Group_4_6__1__Impl() throws RecognitionException;
-     void rule__Style__Group_4_7__0() throws RecognitionException;
-     void rule__Style__Group_4_7__0__Impl() throws RecognitionException;
-     void rule__Style__Group_4_7__1() throws RecognitionException;
-     void rule__Style__Group_4_7__1__Impl() throws RecognitionException;
-     void rule__Style__Group_4_8__0() throws RecognitionException;
-     void rule__Style__Group_4_8__0__Impl() throws RecognitionException;
-     void rule__Style__Group_4_8__1() throws RecognitionException;
-     void rule__Style__Group_4_8__1__Impl() throws RecognitionException;
-     void rule__Style__Group_4_9__0() throws RecognitionException;
-     void rule__Style__Group_4_9__0__Impl() throws RecognitionException;
-     void rule__Style__Group_4_9__1() throws RecognitionException;
-     void rule__Style__Group_4_9__1__Impl() throws RecognitionException;
-     void rule__Style__Group_4_9__2() throws RecognitionException;
-     void rule__Style__Group_4_9__2__Impl() throws RecognitionException;
-     void rule__Style__Group_4_10__0() throws RecognitionException;
-     void rule__Style__Group_4_10__0__Impl() throws RecognitionException;
-     void rule__Style__Group_4_10__1() throws RecognitionException;
-     void rule__Style__Group_4_10__1__Impl() throws RecognitionException;
-     void rule__Style__Group_4_10__2() throws RecognitionException;
-     void rule__Style__Group_4_10__2__Impl() throws RecognitionException;
-     void rule__Style__Group_4_11__0() throws RecognitionException;
-     void rule__Style__Group_4_11__0__Impl() throws RecognitionException;
-     void rule__Style__Group_4_11__1() throws RecognitionException;
-     void rule__Style__Group_4_11__1__Impl() throws RecognitionException;
-     void rule__Style__Group_4_11__2() throws RecognitionException;
-     void rule__Style__Group_4_11__2__Impl() throws RecognitionException;
-     void rule__Style__Group_4_12__0() throws RecognitionException;
-     void rule__Style__Group_4_12__0__Impl() throws RecognitionException;
-     void rule__Style__Group_4_12__1() throws RecognitionException;
-     void rule__Style__Group_4_12__1__Impl() throws RecognitionException;
-     void rule__Style__Group_4_12__2() throws RecognitionException;
-     void rule__Style__Group_4_12__2__Impl() throws RecognitionException;
-     void rule__Style__Group_4_13__0() throws RecognitionException;
-     void rule__Style__Group_4_13__0__Impl() throws RecognitionException;
-     void rule__Style__Group_4_13__1() throws RecognitionException;
-     void rule__Style__Group_4_13__1__Impl() throws RecognitionException;
-     void rule__Style__Group_4_13__2() throws RecognitionException;
-     void rule__Style__Group_4_13__2__Impl() throws RecognitionException;
-     void rule__Style__Group_4_14__0() throws RecognitionException;
-     void rule__Style__Group_4_14__0__Impl() throws RecognitionException;
-     void rule__Style__Group_4_14__1() throws RecognitionException;
-     void rule__Style__Group_4_14__1__Impl() throws RecognitionException;
-     void rule__Style__Group_4_14__2() throws RecognitionException;
-     void rule__Style__Group_4_14__2__Impl() throws RecognitionException;
-     void rule__Style__Group_4_15__0() throws RecognitionException;
-     void rule__Style__Group_4_15__0__Impl() throws RecognitionException;
-     void rule__Style__Group_4_15__1() throws RecognitionException;
-     void rule__Style__Group_4_15__1__Impl() throws RecognitionException;
-     void rule__Style__Group_4_15__2() throws RecognitionException;
-     void rule__Style__Group_4_15__2__Impl() throws RecognitionException;
-     void rule__Style__Group_4_16__0() throws RecognitionException;
-     void rule__Style__Group_4_16__0__Impl() throws RecognitionException;
-     void rule__Style__Group_4_16__1() throws RecognitionException;
-     void rule__Style__Group_4_16__1__Impl() throws RecognitionException;
-     void rule__Style__Group_4_16__2() throws RecognitionException;
-     void rule__Style__Group_4_16__2__Impl() throws RecognitionException;
-     void rule__MediaStyle__Group__0() throws RecognitionException;
-     void rule__MediaStyle__Group__0__Impl() throws RecognitionException;
-     void rule__MediaStyle__Group__1() throws RecognitionException;
-     void rule__MediaStyle__Group__1__Impl() throws RecognitionException;
-     void rule__MediaStyle__Group__2() throws RecognitionException;
-     void rule__MediaStyle__Group__2__Impl() throws RecognitionException;
-     void rule__MediaStyle__Group__3() throws RecognitionException;
-     void rule__MediaStyle__Group__3__Impl() throws RecognitionException;
-     void rule__MediaStyle__Group__4() throws RecognitionException;
-     void rule__MediaStyle__Group__4__Impl() throws RecognitionException;
-     void rule__MediaStyle__Group_3_0__0() throws RecognitionException;
-     void rule__MediaStyle__Group_3_0__0__Impl() throws RecognitionException;
-     void rule__MediaStyle__Group_3_0__1() throws RecognitionException;
-     void rule__MediaStyle__Group_3_0__1__Impl() throws RecognitionException;
-     void rule__MediaStyle__Group_3_1__0() throws RecognitionException;
-     void rule__MediaStyle__Group_3_1__0__Impl() throws RecognitionException;
-     void rule__MediaStyle__Group_3_1__1() throws RecognitionException;
-     void rule__MediaStyle__Group_3_1__1__Impl() throws RecognitionException;
-     void rule__MediaStyle__Group_3_2__0() throws RecognitionException;
-     void rule__MediaStyle__Group_3_2__0__Impl() throws RecognitionException;
-     void rule__MediaStyle__Group_3_2__1() throws RecognitionException;
-     void rule__MediaStyle__Group_3_2__1__Impl() throws RecognitionException;
-     void rule__MediaStyle__Group_3_2__2() throws RecognitionException;
-     void rule__MediaStyle__Group_3_2__2__Impl() throws RecognitionException;
-     void rule__MediaStyle__Group_3_2_2__0() throws RecognitionException;
-     void rule__MediaStyle__Group_3_2_2__0__Impl() throws RecognitionException;
-     void rule__MediaStyle__Group_3_2_2__1() throws RecognitionException;
-     void rule__MediaStyle__Group_3_2_2__1__Impl() throws RecognitionException;
-     void rule__MediaStyle__Group_3_3__0() throws RecognitionException;
-     void rule__MediaStyle__Group_3_3__0__Impl() throws RecognitionException;
-     void rule__MediaStyle__Group_3_3__1() throws RecognitionException;
-     void rule__MediaStyle__Group_3_3__1__Impl() throws RecognitionException;
-     void rule__MediaStyle__Group_3_4__0() throws RecognitionException;
-     void rule__MediaStyle__Group_3_4__0__Impl() throws RecognitionException;
-     void rule__MediaStyle__Group_3_4__1() throws RecognitionException;
-     void rule__MediaStyle__Group_3_4__1__Impl() throws RecognitionException;
-     void rule__MediaStyle__Group_3_5__0() throws RecognitionException;
-     void rule__MediaStyle__Group_3_5__0__Impl() throws RecognitionException;
-     void rule__MediaStyle__Group_3_5__1() throws RecognitionException;
-     void rule__MediaStyle__Group_3_5__1__Impl() throws RecognitionException;
-     void rule__MediaStyle__Group_3_6__0() throws RecognitionException;
-     void rule__MediaStyle__Group_3_6__0__Impl() throws RecognitionException;
-     void rule__MediaStyle__Group_3_6__1() throws RecognitionException;
-     void rule__MediaStyle__Group_3_6__1__Impl() throws RecognitionException;
-     void rule__MediaStyle__Group_3_7__0() throws RecognitionException;
-     void rule__MediaStyle__Group_3_7__0__Impl() throws RecognitionException;
-     void rule__MediaStyle__Group_3_7__1() throws RecognitionException;
-     void rule__MediaStyle__Group_3_7__1__Impl() throws RecognitionException;
-     void rule__MediaStyle__Group_3_8__0() throws RecognitionException;
-     void rule__MediaStyle__Group_3_8__0__Impl() throws RecognitionException;
-     void rule__MediaStyle__Group_3_8__1() throws RecognitionException;
-     void rule__MediaStyle__Group_3_8__1__Impl() throws RecognitionException;
-     void rule__MediaStyle__Group_3_9__0() throws RecognitionException;
-     void rule__MediaStyle__Group_3_9__0__Impl() throws RecognitionException;
-     void rule__MediaStyle__Group_3_9__1() throws RecognitionException;
-     void rule__MediaStyle__Group_3_9__1__Impl() throws RecognitionException;
-     void rule__MediaStyle__Group_3_9__2() throws RecognitionException;
-     void rule__MediaStyle__Group_3_9__2__Impl() throws RecognitionException;
-     void rule__MediaStyle__Group_3_10__0() throws RecognitionException;
-     void rule__MediaStyle__Group_3_10__0__Impl() throws RecognitionException;
-     void rule__MediaStyle__Group_3_10__1() throws RecognitionException;
-     void rule__MediaStyle__Group_3_10__1__Impl() throws RecognitionException;
-     void rule__MediaStyle__Group_3_10__2() throws RecognitionException;
-     void rule__MediaStyle__Group_3_10__2__Impl() throws RecognitionException;
-     void rule__MediaStyle__Group_3_11__0() throws RecognitionException;
-     void rule__MediaStyle__Group_3_11__0__Impl() throws RecognitionException;
-     void rule__MediaStyle__Group_3_11__1() throws RecognitionException;
-     void rule__MediaStyle__Group_3_11__1__Impl() throws RecognitionException;
-     void rule__MediaStyle__Group_3_11__2() throws RecognitionException;
-     void rule__MediaStyle__Group_3_11__2__Impl() throws RecognitionException;
-     void rule__MediaStyle__Group_3_12__0() throws RecognitionException;
-     void rule__MediaStyle__Group_3_12__0__Impl() throws RecognitionException;
-     void rule__MediaStyle__Group_3_12__1() throws RecognitionException;
-     void rule__MediaStyle__Group_3_12__1__Impl() throws RecognitionException;
-     void rule__MediaStyle__Group_3_12__2() throws RecognitionException;
-     void rule__MediaStyle__Group_3_12__2__Impl() throws RecognitionException;
-     void rule__MediaStyle__Group_3_13__0() throws RecognitionException;
-     void rule__MediaStyle__Group_3_13__0__Impl() throws RecognitionException;
-     void rule__MediaStyle__Group_3_13__1() throws RecognitionException;
-     void rule__MediaStyle__Group_3_13__1__Impl() throws RecognitionException;
-     void rule__MediaStyle__Group_3_13__2() throws RecognitionException;
-     void rule__MediaStyle__Group_3_13__2__Impl() throws RecognitionException;
-     void rule__MediaStyle__Group_3_14__0() throws RecognitionException;
-     void rule__MediaStyle__Group_3_14__0__Impl() throws RecognitionException;
-     void rule__MediaStyle__Group_3_14__1() throws RecognitionException;
-     void rule__MediaStyle__Group_3_14__1__Impl() throws RecognitionException;
-     void rule__MediaStyle__Group_3_14__2() throws RecognitionException;
-     void rule__MediaStyle__Group_3_14__2__Impl() throws RecognitionException;
-     void rule__MediaStyle__Group_3_15__0() throws RecognitionException;
-     void rule__MediaStyle__Group_3_15__0__Impl() throws RecognitionException;
-     void rule__MediaStyle__Group_3_15__1() throws RecognitionException;
-     void rule__MediaStyle__Group_3_15__1__Impl() throws RecognitionException;
-     void rule__MediaStyle__Group_3_15__2() throws RecognitionException;
-     void rule__MediaStyle__Group_3_15__2__Impl() throws RecognitionException;
-     void rule__MediaStyle__Group_3_16__0() throws RecognitionException;
-     void rule__MediaStyle__Group_3_16__0__Impl() throws RecognitionException;
-     void rule__MediaStyle__Group_3_16__1() throws RecognitionException;
-     void rule__MediaStyle__Group_3_16__1__Impl() throws RecognitionException;
-     void rule__MediaStyle__Group_3_16__2() throws RecognitionException;
-     void rule__MediaStyle__Group_3_16__2__Impl() throws RecognitionException;
-     void rule__UomoFormat__Group__0() throws RecognitionException;
-     void rule__UomoFormat__Group__0__Impl() throws RecognitionException;
-     void rule__UomoFormat__Group__1() throws RecognitionException;
-     void rule__UomoFormat__Group__1__Impl() throws RecognitionException;
-     void rule__UomoFormat__Group__2() throws RecognitionException;
-     void rule__UomoFormat__Group__2__Impl() throws RecognitionException;
-     void rule__UomoFormat__Group__3() throws RecognitionException;
-     void rule__UomoFormat__Group__3__Impl() throws RecognitionException;
-     void rule__UomoFormat__Group__4() throws RecognitionException;
-     void rule__UomoFormat__Group__4__Impl() throws RecognitionException;
-     void rule__UomoFormat__Group__5() throws RecognitionException;
-     void rule__UomoFormat__Group__5__Impl() throws RecognitionException;
-     void rule__UomoFormat__Group__6() throws RecognitionException;
-     void rule__UomoFormat__Group__6__Impl() throws RecognitionException;
-     void rule__UomoFormat__Group__7() throws RecognitionException;
-     void rule__UomoFormat__Group__7__Impl() throws RecognitionException;
-     void rule__UomoFormat__Group__8() throws RecognitionException;
-     void rule__UomoFormat__Group__8__Impl() throws RecognitionException;
-     void rule__UomoFormat__Group__9() throws RecognitionException;
-     void rule__UomoFormat__Group__9__Impl() throws RecognitionException;
-     void rule__NumberFormat__Group__0() throws RecognitionException;
-     void rule__NumberFormat__Group__0__Impl() throws RecognitionException;
-     void rule__NumberFormat__Group__1() throws RecognitionException;
-     void rule__NumberFormat__Group__1__Impl() throws RecognitionException;
-     void rule__NumberFormat__Group__2() throws RecognitionException;
-     void rule__NumberFormat__Group__2__Impl() throws RecognitionException;
-     void rule__NumberFormat__Group__3() throws RecognitionException;
-     void rule__NumberFormat__Group__3__Impl() throws RecognitionException;
-     void rule__NumberFormat__Group__4() throws RecognitionException;
-     void rule__NumberFormat__Group__4__Impl() throws RecognitionException;
-     void rule__NumberFormat__Group__5() throws RecognitionException;
-     void rule__NumberFormat__Group__5__Impl() throws RecognitionException;
-     void rule__NumberFormat__Group__6() throws RecognitionException;
-     void rule__NumberFormat__Group__6__Impl() throws RecognitionException;
-     void rule__NumberFormat__Group__7() throws RecognitionException;
-     void rule__NumberFormat__Group__7__Impl() throws RecognitionException;
-     void rule__NumberFormat__Group__8() throws RecognitionException;
-     void rule__NumberFormat__Group__8__Impl() throws RecognitionException;
-     void rule__NumberFormat__Group__9() throws RecognitionException;
-     void rule__NumberFormat__Group__9__Impl() throws RecognitionException;
-     void rule__NumberFormat__Group__10() throws RecognitionException;
-     void rule__NumberFormat__Group__10__Impl() throws RecognitionException;
-     void rule__CurrencyFormat__Group__0() throws RecognitionException;
-     void rule__CurrencyFormat__Group__0__Impl() throws RecognitionException;
-     void rule__CurrencyFormat__Group__1() throws RecognitionException;
-     void rule__CurrencyFormat__Group__1__Impl() throws RecognitionException;
-     void rule__CurrencyFormat__Group__2() throws RecognitionException;
-     void rule__CurrencyFormat__Group__2__Impl() throws RecognitionException;
-     void rule__CurrencyFormat__Group__3() throws RecognitionException;
-     void rule__CurrencyFormat__Group__3__Impl() throws RecognitionException;
-     void rule__CurrencyFormat__Group__4() throws RecognitionException;
-     void rule__CurrencyFormat__Group__4__Impl() throws RecognitionException;
-     void rule__CurrencyFormat__Group__5() throws RecognitionException;
-     void rule__CurrencyFormat__Group__5__Impl() throws RecognitionException;
-     void rule__CurrencyFormat__Group__6() throws RecognitionException;
-     void rule__CurrencyFormat__Group__6__Impl() throws RecognitionException;
-     void rule__CurrencyFormat__Group__7() throws RecognitionException;
-     void rule__CurrencyFormat__Group__7__Impl() throws RecognitionException;
-     void rule__CurrencyFormat__Group__8() throws RecognitionException;
-     void rule__CurrencyFormat__Group__8__Impl() throws RecognitionException;
-     void rule__CurrencyFormat__Group__9() throws RecognitionException;
-     void rule__CurrencyFormat__Group__9__Impl() throws RecognitionException;
-     void rule__CurrencyFormat__Group__10() throws RecognitionException;
-     void rule__CurrencyFormat__Group__10__Impl() throws RecognitionException;
-     void rule__DateFormat__Group__0() throws RecognitionException;
-     void rule__DateFormat__Group__0__Impl() throws RecognitionException;
-     void rule__DateFormat__Group__1() throws RecognitionException;
-     void rule__DateFormat__Group__1__Impl() throws RecognitionException;
-     void rule__DateFormat__Group__2() throws RecognitionException;
-     void rule__DateFormat__Group__2__Impl() throws RecognitionException;
-     void rule__DateFormat__Group__3() throws RecognitionException;
-     void rule__DateFormat__Group__3__Impl() throws RecognitionException;
-     void rule__DateFormat__Group__4() throws RecognitionException;
-     void rule__DateFormat__Group__4__Impl() throws RecognitionException;
-     void rule__DateFormat__Group__5() throws RecognitionException;
-     void rule__DateFormat__Group__5__Impl() throws RecognitionException;
-     void rule__DateFormat__Group__6() throws RecognitionException;
-     void rule__DateFormat__Group__6__Impl() throws RecognitionException;
-     void rule__DateFormat__Group__7() throws RecognitionException;
-     void rule__DateFormat__Group__7__Impl() throws RecognitionException;
-     void rule__DateFormat__Group__8() throws RecognitionException;
-     void rule__DateFormat__Group__8__Impl() throws RecognitionException;
-     void rule__DateFormat__Group__9() throws RecognitionException;
-     void rule__DateFormat__Group__9__Impl() throws RecognitionException;
-     void rule__DateFormat__Group__10() throws RecognitionException;
-     void rule__DateFormat__Group__10__Impl() throws RecognitionException;
-     void rule__DateTimeFormat__Group__0() throws RecognitionException;
-     void rule__DateTimeFormat__Group__0__Impl() throws RecognitionException;
-     void rule__DateTimeFormat__Group__1() throws RecognitionException;
-     void rule__DateTimeFormat__Group__1__Impl() throws RecognitionException;
-     void rule__DateTimeFormat__Group__2() throws RecognitionException;
-     void rule__DateTimeFormat__Group__2__Impl() throws RecognitionException;
-     void rule__DateTimeFormat__Group__3() throws RecognitionException;
-     void rule__DateTimeFormat__Group__3__Impl() throws RecognitionException;
-     void rule__DateTimeFormat__Group__4() throws RecognitionException;
-     void rule__DateTimeFormat__Group__4__Impl() throws RecognitionException;
-     void rule__DateTimeFormat__Group__5() throws RecognitionException;
-     void rule__DateTimeFormat__Group__5__Impl() throws RecognitionException;
-     void rule__DateTimeFormat__Group__6() throws RecognitionException;
-     void rule__DateTimeFormat__Group__6__Impl() throws RecognitionException;
-     void rule__DateTimeFormat__Group__7() throws RecognitionException;
-     void rule__DateTimeFormat__Group__7__Impl() throws RecognitionException;
-     void rule__DateTimeFormat__Group__8() throws RecognitionException;
-     void rule__DateTimeFormat__Group__8__Impl() throws RecognitionException;
-     void rule__DateTimeFormat__Group__9() throws RecognitionException;
-     void rule__DateTimeFormat__Group__9__Impl() throws RecognitionException;
-     void rule__DateTimeFormat__Group__10() throws RecognitionException;
-     void rule__DateTimeFormat__Group__10__Impl() throws RecognitionException;
-     void rule__TimeFormat__Group__0() throws RecognitionException;
-     void rule__TimeFormat__Group__0__Impl() throws RecognitionException;
-     void rule__TimeFormat__Group__1() throws RecognitionException;
-     void rule__TimeFormat__Group__1__Impl() throws RecognitionException;
-     void rule__TimeFormat__Group__2() throws RecognitionException;
-     void rule__TimeFormat__Group__2__Impl() throws RecognitionException;
-     void rule__TimeFormat__Group__3() throws RecognitionException;
-     void rule__TimeFormat__Group__3__Impl() throws RecognitionException;
-     void rule__TimeFormat__Group__4() throws RecognitionException;
-     void rule__TimeFormat__Group__4__Impl() throws RecognitionException;
-     void rule__TimeFormat__Group__5() throws RecognitionException;
-     void rule__TimeFormat__Group__5__Impl() throws RecognitionException;
-     void rule__TimeFormat__Group__6() throws RecognitionException;
-     void rule__TimeFormat__Group__6__Impl() throws RecognitionException;
-     void rule__TimeFormat__Group__7() throws RecognitionException;
-     void rule__TimeFormat__Group__7__Impl() throws RecognitionException;
-     void rule__TimeFormat__Group__8() throws RecognitionException;
-     void rule__TimeFormat__Group__8__Impl() throws RecognitionException;
-     void rule__TimeFormat__Group__9() throws RecognitionException;
-     void rule__TimeFormat__Group__9__Impl() throws RecognitionException;
-     void rule__TimeFormat__Group__10() throws RecognitionException;
-     void rule__TimeFormat__Group__10__Impl() throws RecognitionException;
-     void rule__Report__Group__0() throws RecognitionException;
-     void rule__Report__Group__0__Impl() throws RecognitionException;
-     void rule__Report__Group__1() throws RecognitionException;
-     void rule__Report__Group__1__Impl() throws RecognitionException;
-     void rule__Report__Group__2() throws RecognitionException;
-     void rule__Report__Group__2__Impl() throws RecognitionException;
-     void rule__Report__Group__3() throws RecognitionException;
-     void rule__Report__Group__3__Impl() throws RecognitionException;
-     void rule__Report__Group__4() throws RecognitionException;
-     void rule__Report__Group__4__Impl() throws RecognitionException;
-     void rule__Report__Group__5() throws RecognitionException;
-     void rule__Report__Group__5__Impl() throws RecognitionException;
-     void rule__Report__Group__6() throws RecognitionException;
-     void rule__Report__Group__6__Impl() throws RecognitionException;
-     void rule__Report__Group__7() throws RecognitionException;
-     void rule__Report__Group__7__Impl() throws RecognitionException;
-     void rule__Report__Group__8() throws RecognitionException;
-     void rule__Report__Group__8__Impl() throws RecognitionException;
-     void rule__Report__Group__9() throws RecognitionException;
-     void rule__Report__Group__9__Impl() throws RecognitionException;
-     void rule__Report__Group__10() throws RecognitionException;
-     void rule__Report__Group__10__Impl() throws RecognitionException;
-     void rule__Report__Group__11() throws RecognitionException;
-     void rule__Report__Group__11__Impl() throws RecognitionException;
-     void rule__Report__Group__12() throws RecognitionException;
-     void rule__Report__Group__12__Impl() throws RecognitionException;
-     void rule__Report__Group__13() throws RecognitionException;
-     void rule__Report__Group__13__Impl() throws RecognitionException;
-     void rule__Report__Group__14() throws RecognitionException;
-     void rule__Report__Group__14__Impl() throws RecognitionException;
-     void rule__Report__Group__15() throws RecognitionException;
-     void rule__Report__Group__15__Impl() throws RecognitionException;
-     void rule__Report__Group_2__0() throws RecognitionException;
-     void rule__Report__Group_2__0__Impl() throws RecognitionException;
-     void rule__Report__Group_2__1() throws RecognitionException;
-     void rule__Report__Group_2__1__Impl() throws RecognitionException;
-     void rule__Report__Group_3__0() throws RecognitionException;
-     void rule__Report__Group_3__0__Impl() throws RecognitionException;
-     void rule__Report__Group_3__1() throws RecognitionException;
-     void rule__Report__Group_3__1__Impl() throws RecognitionException;
-     void rule__Report__Group_9__0() throws RecognitionException;
-     void rule__Report__Group_9__0__Impl() throws RecognitionException;
-     void rule__Report__Group_9__1() throws RecognitionException;
-     void rule__Report__Group_9__1__Impl() throws RecognitionException;
-     void rule__Report__Group_9__2() throws RecognitionException;
-     void rule__Report__Group_9__2__Impl() throws RecognitionException;
-     void rule__Report__Group_9_2__0() throws RecognitionException;
-     void rule__Report__Group_9_2__0__Impl() throws RecognitionException;
-     void rule__Report__Group_9_2__1() throws RecognitionException;
-     void rule__Report__Group_9_2__1__Impl() throws RecognitionException;
-     void rule__ReportDesignFile__Group__0() throws RecognitionException;
-     void rule__ReportDesignFile__Group__0__Impl() throws RecognitionException;
-     void rule__ReportDesignFile__Group__1() throws RecognitionException;
-     void rule__ReportDesignFile__Group__1__Impl() throws RecognitionException;
-     void rule__ReportDesignTemplate__Group__0() throws RecognitionException;
-     void rule__ReportDesignTemplate__Group__0__Impl() throws RecognitionException;
-     void rule__ReportDesignTemplate__Group__1() throws RecognitionException;
-     void rule__ReportDesignTemplate__Group__1__Impl() throws RecognitionException;
-     void rule__ReportDesignTemplate__Group__2() throws RecognitionException;
-     void rule__ReportDesignTemplate__Group__2__Impl() throws RecognitionException;
-     void rule__ReportDesignTemplate__Group__3() throws RecognitionException;
-     void rule__ReportDesignTemplate__Group__3__Impl() throws RecognitionException;
-     void rule__ReportDesignTemplate__Group__4() throws RecognitionException;
-     void rule__ReportDesignTemplate__Group__4__Impl() throws RecognitionException;
-     void rule__ReportDesignTemplate__Group__5() throws RecognitionException;
-     void rule__ReportDesignTemplate__Group__5__Impl() throws RecognitionException;
-     void rule__ReportDesignTemplate__Group__6() throws RecognitionException;
-     void rule__ReportDesignTemplate__Group__6__Impl() throws RecognitionException;
-     void rule__ReportDesignTemplate__Group_2__0() throws RecognitionException;
-     void rule__ReportDesignTemplate__Group_2__0__Impl() throws RecognitionException;
-     void rule__ReportDesignTemplate__Group_2__1() throws RecognitionException;
-     void rule__ReportDesignTemplate__Group_2__1__Impl() throws RecognitionException;
-     void rule__PageHeader__Group__0() throws RecognitionException;
-     void rule__PageHeader__Group__0__Impl() throws RecognitionException;
-     void rule__PageHeader__Group__1() throws RecognitionException;
-     void rule__PageHeader__Group__1__Impl() throws RecognitionException;
-     void rule__PageHeader__Group__2() throws RecognitionException;
-     void rule__PageHeader__Group__2__Impl() throws RecognitionException;
-     void rule__PageHeader__Group__3() throws RecognitionException;
-     void rule__PageHeader__Group__3__Impl() throws RecognitionException;
-     void rule__PageHeader__Group__4() throws RecognitionException;
-     void rule__PageHeader__Group__4__Impl() throws RecognitionException;
-     void rule__PageHeader__Group__5() throws RecognitionException;
-     void rule__PageHeader__Group__5__Impl() throws RecognitionException;
-     void rule__PageHeader__Group__6() throws RecognitionException;
-     void rule__PageHeader__Group__6__Impl() throws RecognitionException;
-     void rule__PageHeader__Group__7() throws RecognitionException;
-     void rule__PageHeader__Group__7__Impl() throws RecognitionException;
-     void rule__PageHeader__Group__8() throws RecognitionException;
-     void rule__PageHeader__Group__8__Impl() throws RecognitionException;
-     void rule__PageDetail__Group__0() throws RecognitionException;
-     void rule__PageDetail__Group__0__Impl() throws RecognitionException;
-     void rule__PageDetail__Group__1() throws RecognitionException;
-     void rule__PageDetail__Group__1__Impl() throws RecognitionException;
-     void rule__PageDetail__Group__2() throws RecognitionException;
-     void rule__PageDetail__Group__2__Impl() throws RecognitionException;
-     void rule__PageDetail__Group__3() throws RecognitionException;
-     void rule__PageDetail__Group__3__Impl() throws RecognitionException;
-     void rule__PageDetail__Group__4() throws RecognitionException;
-     void rule__PageDetail__Group__4__Impl() throws RecognitionException;
-     void rule__PageFooter__Group__0() throws RecognitionException;
-     void rule__PageFooter__Group__0__Impl() throws RecognitionException;
-     void rule__PageFooter__Group__1() throws RecognitionException;
-     void rule__PageFooter__Group__1__Impl() throws RecognitionException;
-     void rule__PageFooter__Group__2() throws RecognitionException;
-     void rule__PageFooter__Group__2__Impl() throws RecognitionException;
-     void rule__PageFooter__Group__3() throws RecognitionException;
-     void rule__PageFooter__Group__3__Impl() throws RecognitionException;
-     void rule__PageFooter__Group__4() throws RecognitionException;
-     void rule__PageFooter__Group__4__Impl() throws RecognitionException;
-     void rule__PageFooter__Group__5() throws RecognitionException;
-     void rule__PageFooter__Group__5__Impl() throws RecognitionException;
-     void rule__PageFooter__Group__6() throws RecognitionException;
-     void rule__PageFooter__Group__6__Impl() throws RecognitionException;
-     void rule__PageFooter__Group__7() throws RecognitionException;
-     void rule__PageFooter__Group__7__Impl() throws RecognitionException;
-     void rule__PageFooter__Group__8() throws RecognitionException;
-     void rule__PageFooter__Group__8__Impl() throws RecognitionException;
-     void rule__Grid__Group__0() throws RecognitionException;
-     void rule__Grid__Group__0__Impl() throws RecognitionException;
-     void rule__Grid__Group__1() throws RecognitionException;
-     void rule__Grid__Group__1__Impl() throws RecognitionException;
-     void rule__Grid__Group__2() throws RecognitionException;
-     void rule__Grid__Group__2__Impl() throws RecognitionException;
-     void rule__Grid__Group__3() throws RecognitionException;
-     void rule__Grid__Group__3__Impl() throws RecognitionException;
-     void rule__Grid__Group__4() throws RecognitionException;
-     void rule__Grid__Group__4__Impl() throws RecognitionException;
-     void rule__Grid__Group__5() throws RecognitionException;
-     void rule__Grid__Group__5__Impl() throws RecognitionException;
-     void rule__Grid__Group_2__0() throws RecognitionException;
-     void rule__Grid__Group_2__0__Impl() throws RecognitionException;
-     void rule__Grid__Group_2__1() throws RecognitionException;
-     void rule__Grid__Group_2__1__Impl() throws RecognitionException;
-     void rule__GridRow__Group__0() throws RecognitionException;
-     void rule__GridRow__Group__0__Impl() throws RecognitionException;
-     void rule__GridRow__Group__1() throws RecognitionException;
-     void rule__GridRow__Group__1__Impl() throws RecognitionException;
-     void rule__GridRow__Group__2() throws RecognitionException;
-     void rule__GridRow__Group__2__Impl() throws RecognitionException;
-     void rule__GridRow__Group__3() throws RecognitionException;
-     void rule__GridRow__Group__3__Impl() throws RecognitionException;
-     void rule__GridRow__Group__4() throws RecognitionException;
-     void rule__GridRow__Group__4__Impl() throws RecognitionException;
-     void rule__GridRow__Group__5() throws RecognitionException;
-     void rule__GridRow__Group__5__Impl() throws RecognitionException;
-     void rule__GridRow__Group__6() throws RecognitionException;
-     void rule__GridRow__Group__6__Impl() throws RecognitionException;
-     void rule__GridRow__Group_2__0() throws RecognitionException;
-     void rule__GridRow__Group_2__0__Impl() throws RecognitionException;
-     void rule__GridRow__Group_2__1() throws RecognitionException;
-     void rule__GridRow__Group_2__1__Impl() throws RecognitionException;
-     void rule__GridRow__Group_3__0() throws RecognitionException;
-     void rule__GridRow__Group_3__0__Impl() throws RecognitionException;
-     void rule__GridRow__Group_3__1() throws RecognitionException;
-     void rule__GridRow__Group_3__1__Impl() throws RecognitionException;
-     void rule__GridCell__Group__0() throws RecognitionException;
-     void rule__GridCell__Group__0__Impl() throws RecognitionException;
-     void rule__GridCell__Group__1() throws RecognitionException;
-     void rule__GridCell__Group__1__Impl() throws RecognitionException;
-     void rule__GridCell__Group__2() throws RecognitionException;
-     void rule__GridCell__Group__2__Impl() throws RecognitionException;
-     void rule__GridCell__Group__3() throws RecognitionException;
-     void rule__GridCell__Group__3__Impl() throws RecognitionException;
-     void rule__GridCell__Group__4() throws RecognitionException;
-     void rule__GridCell__Group__4__Impl() throws RecognitionException;
-     void rule__GridCell__Group__5() throws RecognitionException;
-     void rule__GridCell__Group__5__Impl() throws RecognitionException;
-     void rule__GridCell__Group__6() throws RecognitionException;
-     void rule__GridCell__Group__6__Impl() throws RecognitionException;
-     void rule__GridCell__Group_2__0() throws RecognitionException;
-     void rule__GridCell__Group_2__0__Impl() throws RecognitionException;
-     void rule__GridCell__Group_2__1() throws RecognitionException;
-     void rule__GridCell__Group_2__1__Impl() throws RecognitionException;
-     void rule__GridCell__Group_3__0() throws RecognitionException;
-     void rule__GridCell__Group_3__0__Impl() throws RecognitionException;
-     void rule__GridCell__Group_3__1() throws RecognitionException;
-     void rule__GridCell__Group_3__1__Impl() throws RecognitionException;
-     void rule__DatamartTable__Group__0() throws RecognitionException;
-     void rule__DatamartTable__Group__0__Impl() throws RecognitionException;
-     void rule__DatamartTable__Group__1() throws RecognitionException;
-     void rule__DatamartTable__Group__1__Impl() throws RecognitionException;
-     void rule__DatamartTable__Group__2() throws RecognitionException;
-     void rule__DatamartTable__Group__2__Impl() throws RecognitionException;
-     void rule__DatamartTable__Group__3() throws RecognitionException;
-     void rule__DatamartTable__Group__3__Impl() throws RecognitionException;
-     void rule__DatamartTable__Group__4() throws RecognitionException;
-     void rule__DatamartTable__Group__4__Impl() throws RecognitionException;
-     void rule__DatamartTable__Group__5() throws RecognitionException;
-     void rule__DatamartTable__Group__5__Impl() throws RecognitionException;
-     void rule__DatamartTable__Group__6() throws RecognitionException;
-     void rule__DatamartTable__Group__6__Impl() throws RecognitionException;
-     void rule__DatamartTable__Group__7() throws RecognitionException;
-     void rule__DatamartTable__Group__7__Impl() throws RecognitionException;
-     void rule__DatamartTable__Group_1__0() throws RecognitionException;
-     void rule__DatamartTable__Group_1__0__Impl() throws RecognitionException;
-     void rule__DatamartTable__Group_1__1() throws RecognitionException;
-     void rule__DatamartTable__Group_1__1__Impl() throws RecognitionException;
-     void rule__DatamartTable__Group_3__0() throws RecognitionException;
-     void rule__DatamartTable__Group_3__0__Impl() throws RecognitionException;
-     void rule__DatamartTable__Group_3__1() throws RecognitionException;
-     void rule__DatamartTable__Group_3__1__Impl() throws RecognitionException;
-     void rule__DatamartTable__Group_3_1__0() throws RecognitionException;
-     void rule__DatamartTable__Group_3_1__0__Impl() throws RecognitionException;
-     void rule__DatamartTable__Group_3_1__1() throws RecognitionException;
-     void rule__DatamartTable__Group_3_1__1__Impl() throws RecognitionException;
-     void rule__DatamartTable__Group_4__0() throws RecognitionException;
-     void rule__DatamartTable__Group_4__0__Impl() throws RecognitionException;
-     void rule__DatamartTable__Group_4__1() throws RecognitionException;
-     void rule__DatamartTable__Group_4__1__Impl() throws RecognitionException;
-     void rule__DatamartTable__Group_4_1__0() throws RecognitionException;
-     void rule__DatamartTable__Group_4_1__0__Impl() throws RecognitionException;
-     void rule__DatamartTable__Group_4_1__1() throws RecognitionException;
-     void rule__DatamartTable__Group_4_1__1__Impl() throws RecognitionException;
-     void rule__DatamartTableGroup__Group__0() throws RecognitionException;
-     void rule__DatamartTableGroup__Group__0__Impl() throws RecognitionException;
-     void rule__DatamartTableGroup__Group__1() throws RecognitionException;
-     void rule__DatamartTableGroup__Group__1__Impl() throws RecognitionException;
-     void rule__DatamartTableGroup__Group__2() throws RecognitionException;
-     void rule__DatamartTableGroup__Group__2__Impl() throws RecognitionException;
-     void rule__DatamartTableGroup__Group__3() throws RecognitionException;
-     void rule__DatamartTableGroup__Group__3__Impl() throws RecognitionException;
-     void rule__DatamartTableGroup__Group__4() throws RecognitionException;
-     void rule__DatamartTableGroup__Group__4__Impl() throws RecognitionException;
-     void rule__DatamartTableGroup__Group__5() throws RecognitionException;
-     void rule__DatamartTableGroup__Group__5__Impl() throws RecognitionException;
-     void rule__DatamartTableGroup__Group__6() throws RecognitionException;
-     void rule__DatamartTableGroup__Group__6__Impl() throws RecognitionException;
-     void rule__DatamartTableGroup__Group__7() throws RecognitionException;
-     void rule__DatamartTableGroup__Group__7__Impl() throws RecognitionException;
-     void rule__DatamartTableGroup__Group__8() throws RecognitionException;
-     void rule__DatamartTableGroup__Group__8__Impl() throws RecognitionException;
-     void rule__DatamartTableGroup__Group__9() throws RecognitionException;
-     void rule__DatamartTableGroup__Group__9__Impl() throws RecognitionException;
-     void rule__DatamartTableGroup__Group_6__0() throws RecognitionException;
-     void rule__DatamartTableGroup__Group_6__0__Impl() throws RecognitionException;
-     void rule__DatamartTableGroup__Group_6__1() throws RecognitionException;
-     void rule__DatamartTableGroup__Group_6__1__Impl() throws RecognitionException;
-     void rule__DatamartTableGroup__Group_6_1__0() throws RecognitionException;
-     void rule__DatamartTableGroup__Group_6_1__0__Impl() throws RecognitionException;
-     void rule__DatamartTableGroup__Group_6_1__1() throws RecognitionException;
-     void rule__DatamartTableGroup__Group_6_1__1__Impl() throws RecognitionException;
-     void rule__DatamartTableGroup__Group_7__0() throws RecognitionException;
-     void rule__DatamartTableGroup__Group_7__0__Impl() throws RecognitionException;
-     void rule__DatamartTableGroup__Group_7__1() throws RecognitionException;
-     void rule__DatamartTableGroup__Group_7__1__Impl() throws RecognitionException;
-     void rule__DatamartTableGroup__Group_7_1__0() throws RecognitionException;
-     void rule__DatamartTableGroup__Group_7_1__0__Impl() throws RecognitionException;
-     void rule__DatamartTableGroup__Group_7_1__1() throws RecognitionException;
-     void rule__DatamartTableGroup__Group_7_1__1__Impl() throws RecognitionException;
-     void rule__DatamartTableGroupHeader__Group__0() throws RecognitionException;
-     void rule__DatamartTableGroupHeader__Group__0__Impl() throws RecognitionException;
-     void rule__DatamartTableGroupHeader__Group__1() throws RecognitionException;
-     void rule__DatamartTableGroupHeader__Group__1__Impl() throws RecognitionException;
-     void rule__DatamartTableGroupHeader__Group__2() throws RecognitionException;
-     void rule__DatamartTableGroupHeader__Group__2__Impl() throws RecognitionException;
-     void rule__DatamartTableGroupHeader__Group__3() throws RecognitionException;
-     void rule__DatamartTableGroupHeader__Group__3__Impl() throws RecognitionException;
-     void rule__DatamartTableGroupHeader__Group__4() throws RecognitionException;
-     void rule__DatamartTableGroupHeader__Group__4__Impl() throws RecognitionException;
-     void rule__DatamartTableGroupHeader__Group__5() throws RecognitionException;
-     void rule__DatamartTableGroupHeader__Group__5__Impl() throws RecognitionException;
-     void rule__DatamartTableGroupHeader__Group_2__0() throws RecognitionException;
-     void rule__DatamartTableGroupHeader__Group_2__0__Impl() throws RecognitionException;
-     void rule__DatamartTableGroupHeader__Group_2__1() throws RecognitionException;
-     void rule__DatamartTableGroupHeader__Group_2__1__Impl() throws RecognitionException;
-     void rule__DatamartTableGroupFooter__Group__0() throws RecognitionException;
-     void rule__DatamartTableGroupFooter__Group__0__Impl() throws RecognitionException;
-     void rule__DatamartTableGroupFooter__Group__1() throws RecognitionException;
-     void rule__DatamartTableGroupFooter__Group__1__Impl() throws RecognitionException;
-     void rule__DatamartTableGroupFooter__Group__2() throws RecognitionException;
-     void rule__DatamartTableGroupFooter__Group__2__Impl() throws RecognitionException;
-     void rule__DatamartTableGroupFooter__Group__3() throws RecognitionException;
-     void rule__DatamartTableGroupFooter__Group__3__Impl() throws RecognitionException;
-     void rule__DatamartTableGroupFooter__Group__4() throws RecognitionException;
-     void rule__DatamartTableGroupFooter__Group__4__Impl() throws RecognitionException;
-     void rule__DatamartTableGroupFooter__Group__5() throws RecognitionException;
-     void rule__DatamartTableGroupFooter__Group__5__Impl() throws RecognitionException;
-     void rule__DatamartTableGroupFooter__Group_2__0() throws RecognitionException;
-     void rule__DatamartTableGroupFooter__Group_2__0__Impl() throws RecognitionException;
-     void rule__DatamartTableGroupFooter__Group_2__1() throws RecognitionException;
-     void rule__DatamartTableGroupFooter__Group_2__1__Impl() throws RecognitionException;
-     void rule__DatamartTableDetail__Group__0() throws RecognitionException;
-     void rule__DatamartTableDetail__Group__0__Impl() throws RecognitionException;
-     void rule__DatamartTableDetail__Group__1() throws RecognitionException;
-     void rule__DatamartTableDetail__Group__1__Impl() throws RecognitionException;
-     void rule__DatamartTableDetail__Group__2() throws RecognitionException;
-     void rule__DatamartTableDetail__Group__2__Impl() throws RecognitionException;
-     void rule__DatamartTableDetail__Group__3() throws RecognitionException;
-     void rule__DatamartTableDetail__Group__3__Impl() throws RecognitionException;
-     void rule__DatamartTableDetail__Group_2__0() throws RecognitionException;
-     void rule__DatamartTableDetail__Group_2__0__Impl() throws RecognitionException;
-     void rule__DatamartTableDetail__Group_2__1() throws RecognitionException;
-     void rule__DatamartTableDetail__Group_2__1__Impl() throws RecognitionException;
-     void rule__DatamartTableDetail__Group_3_1__0() throws RecognitionException;
-     void rule__DatamartTableDetail__Group_3_1__0__Impl() throws RecognitionException;
-     void rule__DatamartTableDetail__Group_3_1__1() throws RecognitionException;
-     void rule__DatamartTableDetail__Group_3_1__1__Impl() throws RecognitionException;
-     void rule__DatamartTableDetail__Group_3_1__2() throws RecognitionException;
-     void rule__DatamartTableDetail__Group_3_1__2__Impl() throws RecognitionException;
-     void rule__DatamartTableProperty__Group__0() throws RecognitionException;
-     void rule__DatamartTableProperty__Group__0__Impl() throws RecognitionException;
-     void rule__DatamartTableProperty__Group__1() throws RecognitionException;
-     void rule__DatamartTableProperty__Group__1__Impl() throws RecognitionException;
-     void rule__DatamartTableProperty__Group_1_0__0() throws RecognitionException;
-     void rule__DatamartTableProperty__Group_1_0__0__Impl() throws RecognitionException;
-     void rule__DatamartTableProperty__Group_1_0__1() throws RecognitionException;
-     void rule__DatamartTableProperty__Group_1_0__1__Impl() throws RecognitionException;
-     void rule__DatamartTableProperty__Group_1_1__0() throws RecognitionException;
-     void rule__DatamartTableProperty__Group_1_1__0__Impl() throws RecognitionException;
-     void rule__DatamartTableProperty__Group_1_1__1() throws RecognitionException;
-     void rule__DatamartTableProperty__Group_1_1__1__Impl() throws RecognitionException;
-     void rule__DatamartTableProperty__Group_1_2__0() throws RecognitionException;
-     void rule__DatamartTableProperty__Group_1_2__0__Impl() throws RecognitionException;
-     void rule__DatamartTableProperty__Group_1_2__1() throws RecognitionException;
-     void rule__DatamartTableProperty__Group_1_2__1__Impl() throws RecognitionException;
-     void rule__DatamartTableProperty__Group_1_2__2() throws RecognitionException;
-     void rule__DatamartTableProperty__Group_1_2__2__Impl() throws RecognitionException;
-     void rule__DatamartTableProperty__Group_1_2__3() throws RecognitionException;
-     void rule__DatamartTableProperty__Group_1_2__3__Impl() throws RecognitionException;
-     void rule__DatamartTableProperty__Group_1_2__4() throws RecognitionException;
-     void rule__DatamartTableProperty__Group_1_2__4__Impl() throws RecognitionException;
-     void rule__DatamartTableProperty__Group_1_3__0() throws RecognitionException;
-     void rule__DatamartTableProperty__Group_1_3__0__Impl() throws RecognitionException;
-     void rule__DatamartTableProperty__Group_1_3__1() throws RecognitionException;
-     void rule__DatamartTableProperty__Group_1_3__1__Impl() throws RecognitionException;
-     void rule__DatamartTableProperty__Group_1_3__2() throws RecognitionException;
-     void rule__DatamartTableProperty__Group_1_3__2__Impl() throws RecognitionException;
-     void rule__DatamartTableProperty__Group_1_3__3() throws RecognitionException;
-     void rule__DatamartTableProperty__Group_1_3__3__Impl() throws RecognitionException;
-     void rule__DatamartTableProperty__Group_1_3__4() throws RecognitionException;
-     void rule__DatamartTableProperty__Group_1_3__4__Impl() throws RecognitionException;
-     void rule__TableImage__Group__0() throws RecognitionException;
-     void rule__TableImage__Group__0__Impl() throws RecognitionException;
-     void rule__TableImage__Group__1() throws RecognitionException;
-     void rule__TableImage__Group__1__Impl() throws RecognitionException;
-     void rule__TableImage__Group__2() throws RecognitionException;
-     void rule__TableImage__Group__2__Impl() throws RecognitionException;
-     void rule__TableImage__Group__3() throws RecognitionException;
-     void rule__TableImage__Group__3__Impl() throws RecognitionException;
-     void rule__TableImage__Group_3_2__0() throws RecognitionException;
-     void rule__TableImage__Group_3_2__0__Impl() throws RecognitionException;
-     void rule__TableImage__Group_3_2__1() throws RecognitionException;
-     void rule__TableImage__Group_3_2__1__Impl() throws RecognitionException;
-     void rule__TableProperty__Group__0() throws RecognitionException;
-     void rule__TableProperty__Group__0__Impl() throws RecognitionException;
-     void rule__TableProperty__Group__1() throws RecognitionException;
-     void rule__TableProperty__Group__1__Impl() throws RecognitionException;
-     void rule__TableAggregation__Group__0() throws RecognitionException;
-     void rule__TableAggregation__Group__0__Impl() throws RecognitionException;
-     void rule__TableAggregation__Group__1() throws RecognitionException;
-     void rule__TableAggregation__Group__1__Impl() throws RecognitionException;
-     void rule__TableAggregation__Group__2() throws RecognitionException;
-     void rule__TableAggregation__Group__2__Impl() throws RecognitionException;
-     void rule__TableAggregation__Group_2_0__0() throws RecognitionException;
-     void rule__TableAggregation__Group_2_0__0__Impl() throws RecognitionException;
-     void rule__TableAggregation__Group_2_0__1() throws RecognitionException;
-     void rule__TableAggregation__Group_2_0__1__Impl() throws RecognitionException;
-     void rule__TableAggregation__Group_2_1__0() throws RecognitionException;
-     void rule__TableAggregation__Group_2_1__0__Impl() throws RecognitionException;
-     void rule__TableAggregation__Group_2_1__1() throws RecognitionException;
-     void rule__TableAggregation__Group_2_1__1__Impl() throws RecognitionException;
-     void rule__TableUnaryAggregation__Group__0() throws RecognitionException;
-     void rule__TableUnaryAggregation__Group__0__Impl() throws RecognitionException;
-     void rule__TableUnaryAggregation__Group__1() throws RecognitionException;
-     void rule__TableUnaryAggregation__Group__1__Impl() throws RecognitionException;
-     void rule__TableUnaryAggregation__Group__2() throws RecognitionException;
-     void rule__TableUnaryAggregation__Group__2__Impl() throws RecognitionException;
-     void rule__TableMultipleAggregation__Group__0() throws RecognitionException;
-     void rule__TableMultipleAggregation__Group__0__Impl() throws RecognitionException;
-     void rule__TableMultipleAggregation__Group__1() throws RecognitionException;
-     void rule__TableMultipleAggregation__Group__1__Impl() throws RecognitionException;
-     void rule__TableMultipleAggregation__Group__2() throws RecognitionException;
-     void rule__TableMultipleAggregation__Group__2__Impl() throws RecognitionException;
-     void rule__TableMultipleAggregation__Group__3() throws RecognitionException;
-     void rule__TableMultipleAggregation__Group__3__Impl() throws RecognitionException;
-     void rule__TableMultipleAggregation__Group__4() throws RecognitionException;
-     void rule__TableMultipleAggregation__Group__4__Impl() throws RecognitionException;
-     void rule__TableBinaryAggregation__Group__0() throws RecognitionException;
-     void rule__TableBinaryAggregation__Group__0__Impl() throws RecognitionException;
-     void rule__TableBinaryAggregation__Group__1() throws RecognitionException;
-     void rule__TableBinaryAggregation__Group__1__Impl() throws RecognitionException;
-     void rule__TableBinaryAggregation__Group__2() throws RecognitionException;
-     void rule__TableBinaryAggregation__Group__2__Impl() throws RecognitionException;
-     void rule__TableBinaryAggregation__Group__3() throws RecognitionException;
-     void rule__TableBinaryAggregation__Group__3__Impl() throws RecognitionException;
-     void rule__TableBinaryAggregation__Group__4() throws RecognitionException;
-     void rule__TableBinaryAggregation__Group__4__Impl() throws RecognitionException;
-     void rule__TableBinaryAggregation__Group__5() throws RecognitionException;
-     void rule__TableBinaryAggregation__Group__5__Impl() throws RecognitionException;
-     void rule__TableNumberInterval__Group__0() throws RecognitionException;
-     void rule__TableNumberInterval__Group__0__Impl() throws RecognitionException;
-     void rule__TableNumberInterval__Group__1() throws RecognitionException;
-     void rule__TableNumberInterval__Group__1__Impl() throws RecognitionException;
-     void rule__TableNumberInterval__Group__2() throws RecognitionException;
-     void rule__TableNumberInterval__Group__2__Impl() throws RecognitionException;
-     void rule__TableNumberInterval__Group__3() throws RecognitionException;
-     void rule__TableNumberInterval__Group__3__Impl() throws RecognitionException;
-     void rule__TableDateDayInterval__Group__0() throws RecognitionException;
-     void rule__TableDateDayInterval__Group__0__Impl() throws RecognitionException;
-     void rule__TableDateDayInterval__Group__1() throws RecognitionException;
-     void rule__TableDateDayInterval__Group__1__Impl() throws RecognitionException;
-     void rule__TableDateDayInterval__Group__2() throws RecognitionException;
-     void rule__TableDateDayInterval__Group__2__Impl() throws RecognitionException;
-     void rule__TableDateDayInterval__Group__3() throws RecognitionException;
-     void rule__TableDateDayInterval__Group__3__Impl() throws RecognitionException;
-     void rule__TableNumberLookup__Group__0() throws RecognitionException;
-     void rule__TableNumberLookup__Group__0__Impl() throws RecognitionException;
-     void rule__TableNumberLookup__Group__1() throws RecognitionException;
-     void rule__TableNumberLookup__Group__1__Impl() throws RecognitionException;
-     void rule__TableNumberLookup__Group__2() throws RecognitionException;
-     void rule__TableNumberLookup__Group__2__Impl() throws RecognitionException;
-     void rule__TableNumberLookup__Group__3() throws RecognitionException;
-     void rule__TableNumberLookup__Group__3__Impl() throws RecognitionException;
-     void rule__TableStringLookup__Group__0() throws RecognitionException;
-     void rule__TableStringLookup__Group__0__Impl() throws RecognitionException;
-     void rule__TableStringLookup__Group__1() throws RecognitionException;
-     void rule__TableStringLookup__Group__1__Impl() throws RecognitionException;
-     void rule__TableStringLookup__Group__2() throws RecognitionException;
-     void rule__TableStringLookup__Group__2__Impl() throws RecognitionException;
-     void rule__TableStringLookup__Group__3() throws RecognitionException;
-     void rule__TableStringLookup__Group__3__Impl() throws RecognitionException;
-     void rule__TableDateDayLookup__Group__0() throws RecognitionException;
-     void rule__TableDateDayLookup__Group__0__Impl() throws RecognitionException;
-     void rule__TableDateDayLookup__Group__1() throws RecognitionException;
-     void rule__TableDateDayLookup__Group__1__Impl() throws RecognitionException;
-     void rule__TableDateDayLookup__Group__2() throws RecognitionException;
-     void rule__TableDateDayLookup__Group__2__Impl() throws RecognitionException;
-     void rule__TableDateDayLookup__Group__3() throws RecognitionException;
-     void rule__TableDateDayLookup__Group__3__Impl() throws RecognitionException;
-     void rule__SignedNumber__Group__0() throws RecognitionException;
-     void rule__SignedNumber__Group__0__Impl() throws RecognitionException;
-     void rule__SignedNumber__Group__1() throws RecognitionException;
-     void rule__SignedNumber__Group__1__Impl() throws RecognitionException;
-     void rule__TableTextColor__Group__0() throws RecognitionException;
-     void rule__TableTextColor__Group__0__Impl() throws RecognitionException;
-     void rule__TableTextColor__Group__1() throws RecognitionException;
-     void rule__TableTextColor__Group__1__Impl() throws RecognitionException;
-     void rule__TableCellColor__Group__0() throws RecognitionException;
-     void rule__TableCellColor__Group__0__Impl() throws RecognitionException;
-     void rule__TableCellColor__Group__1() throws RecognitionException;
-     void rule__TableCellColor__Group__1__Impl() throws RecognitionException;
-     void rule__TableIcon__Group__0() throws RecognitionException;
-     void rule__TableIcon__Group__0__Impl() throws RecognitionException;
-     void rule__TableIcon__Group__1() throws RecognitionException;
-     void rule__TableIcon__Group__1__Impl() throws RecognitionException;
-     void rule__TableTrend__Group__0() throws RecognitionException;
-     void rule__TableTrend__Group__0__Impl() throws RecognitionException;
-     void rule__TableTrend__Group__1() throws RecognitionException;
-     void rule__TableTrend__Group__1__Impl() throws RecognitionException;
-     void rule__Title__Group__0() throws RecognitionException;
-     void rule__Title__Group__0__Impl() throws RecognitionException;
-     void rule__Title__Group__1() throws RecognitionException;
-     void rule__Title__Group__1__Impl() throws RecognitionException;
-     void rule__Title__Group__2() throws RecognitionException;
-     void rule__Title__Group__2__Impl() throws RecognitionException;
-     void rule__Title__Group__3() throws RecognitionException;
-     void rule__Title__Group__3__Impl() throws RecognitionException;
-     void rule__Title__Group_3__0() throws RecognitionException;
-     void rule__Title__Group_3__0__Impl() throws RecognitionException;
-     void rule__Title__Group_3__1() throws RecognitionException;
-     void rule__Title__Group_3__1__Impl() throws RecognitionException;
-     void rule__SubTitle__Group__0() throws RecognitionException;
-     void rule__SubTitle__Group__0__Impl() throws RecognitionException;
-     void rule__SubTitle__Group__1() throws RecognitionException;
-     void rule__SubTitle__Group__1__Impl() throws RecognitionException;
-     void rule__SubTitle__Group__2() throws RecognitionException;
-     void rule__SubTitle__Group__2__Impl() throws RecognitionException;
-     void rule__SubTitle__Group__3() throws RecognitionException;
-     void rule__SubTitle__Group__3__Impl() throws RecognitionException;
-     void rule__SubTitle__Group_3__0() throws RecognitionException;
-     void rule__SubTitle__Group_3__0__Impl() throws RecognitionException;
-     void rule__SubTitle__Group_3__1() throws RecognitionException;
-     void rule__SubTitle__Group_3__1__Impl() throws RecognitionException;
-     void rule__SubSubTitle__Group__0() throws RecognitionException;
-     void rule__SubSubTitle__Group__0__Impl() throws RecognitionException;
-     void rule__SubSubTitle__Group__1() throws RecognitionException;
-     void rule__SubSubTitle__Group__1__Impl() throws RecognitionException;
-     void rule__SubSubTitle__Group__2() throws RecognitionException;
-     void rule__SubSubTitle__Group__2__Impl() throws RecognitionException;
-     void rule__SubSubTitle__Group__3() throws RecognitionException;
-     void rule__SubSubTitle__Group__3__Impl() throws RecognitionException;
-     void rule__SubSubTitle__Group_3__0() throws RecognitionException;
-     void rule__SubSubTitle__Group_3__0__Impl() throws RecognitionException;
-     void rule__SubSubTitle__Group_3__1() throws RecognitionException;
-     void rule__SubSubTitle__Group_3__1__Impl() throws RecognitionException;
-     void rule__Label__Group__0() throws RecognitionException;
-     void rule__Label__Group__0__Impl() throws RecognitionException;
-     void rule__Label__Group__1() throws RecognitionException;
-     void rule__Label__Group__1__Impl() throws RecognitionException;
-     void rule__Label__Group__2() throws RecognitionException;
-     void rule__Label__Group__2__Impl() throws RecognitionException;
-     void rule__Label__Group__3() throws RecognitionException;
-     void rule__Label__Group__3__Impl() throws RecognitionException;
-     void rule__Label__Group_3__0() throws RecognitionException;
-     void rule__Label__Group_3__0__Impl() throws RecognitionException;
-     void rule__Label__Group_3__1() throws RecognitionException;
-     void rule__Label__Group_3__1__Impl() throws RecognitionException;
-     void rule__Text__Group__0() throws RecognitionException;
-     void rule__Text__Group__0__Impl() throws RecognitionException;
-     void rule__Text__Group__1() throws RecognitionException;
-     void rule__Text__Group__1__Impl() throws RecognitionException;
-     void rule__Text__Group__2() throws RecognitionException;
-     void rule__Text__Group__2__Impl() throws RecognitionException;
-     void rule__Text__Group__3() throws RecognitionException;
-     void rule__Text__Group__3__Impl() throws RecognitionException;
-     void rule__Text__Group_3__0() throws RecognitionException;
-     void rule__Text__Group_3__0__Impl() throws RecognitionException;
-     void rule__Text__Group_3__1() throws RecognitionException;
-     void rule__Text__Group_3__1__Impl() throws RecognitionException;
-     void rule__AutoText__Group__0() throws RecognitionException;
-     void rule__AutoText__Group__0__Impl() throws RecognitionException;
-     void rule__AutoText__Group__1() throws RecognitionException;
-     void rule__AutoText__Group__1__Impl() throws RecognitionException;
-     void rule__AutoText__Group__2() throws RecognitionException;
-     void rule__AutoText__Group__2__Impl() throws RecognitionException;
-     void rule__AutoText__Group_2__0() throws RecognitionException;
-     void rule__AutoText__Group_2__0__Impl() throws RecognitionException;
-     void rule__AutoText__Group_2__1() throws RecognitionException;
-     void rule__AutoText__Group_2__1__Impl() throws RecognitionException;
-     void rule__Image__Group__0() throws RecognitionException;
-     void rule__Image__Group__0__Impl() throws RecognitionException;
-     void rule__Image__Group__1() throws RecognitionException;
-     void rule__Image__Group__1__Impl() throws RecognitionException;
-     void rule__Image__Group__2() throws RecognitionException;
-     void rule__Image__Group__2__Impl() throws RecognitionException;
-     void rule__Image__Group__3() throws RecognitionException;
-     void rule__Image__Group__3__Impl() throws RecognitionException;
-     void rule__Image__Group__4() throws RecognitionException;
-     void rule__Image__Group__4__Impl() throws RecognitionException;
-     void rule__Image__Group_2__0() throws RecognitionException;
-     void rule__Image__Group_2__0__Impl() throws RecognitionException;
-     void rule__Image__Group_2__1() throws RecognitionException;
-     void rule__Image__Group_2__1__Impl() throws RecognitionException;
-     void rule__ReportImport__Group__0() throws RecognitionException;
-     void rule__ReportImport__Group__0__Impl() throws RecognitionException;
-     void rule__ReportImport__Group__1() throws RecognitionException;
-     void rule__ReportImport__Group__1__Impl() throws RecognitionException;
-     void rule__ReportQualifiedNameWithWildCard__Group__0() throws RecognitionException;
-     void rule__ReportQualifiedNameWithWildCard__Group__0__Impl() throws RecognitionException;
-     void rule__ReportQualifiedNameWithWildCard__Group__1() throws RecognitionException;
-     void rule__ReportQualifiedNameWithWildCard__Group__1__Impl() throws RecognitionException;
-     void rule__ReportQualifiedNameWithWildCard__Group_1__0() throws RecognitionException;
-     void rule__ReportQualifiedNameWithWildCard__Group_1__0__Impl() throws RecognitionException;
-     void rule__ReportQualifiedNameWithWildCard__Group_1__1() throws RecognitionException;
-     void rule__ReportQualifiedNameWithWildCard__Group_1__1__Impl() throws RecognitionException;
-     void rule__XAnnotation__Group__0() throws RecognitionException;
-     void rule__XAnnotation__Group__0__Impl() throws RecognitionException;
-     void rule__XAnnotation__Group__1() throws RecognitionException;
-     void rule__XAnnotation__Group__1__Impl() throws RecognitionException;
-     void rule__XAnnotation__Group__2() throws RecognitionException;
-     void rule__XAnnotation__Group__2__Impl() throws RecognitionException;
-     void rule__XAnnotation__Group__3() throws RecognitionException;
-     void rule__XAnnotation__Group__3__Impl() throws RecognitionException;
-     void rule__XAnnotation__Group_3__0() throws RecognitionException;
-     void rule__XAnnotation__Group_3__0__Impl() throws RecognitionException;
-     void rule__XAnnotation__Group_3__1() throws RecognitionException;
-     void rule__XAnnotation__Group_3__1__Impl() throws RecognitionException;
-     void rule__XAnnotation__Group_3__2() throws RecognitionException;
-     void rule__XAnnotation__Group_3__2__Impl() throws RecognitionException;
-     void rule__XAnnotation__Group_3_1_0__0() throws RecognitionException;
-     void rule__XAnnotation__Group_3_1_0__0__Impl() throws RecognitionException;
-     void rule__XAnnotation__Group_3_1_0__1() throws RecognitionException;
-     void rule__XAnnotation__Group_3_1_0__1__Impl() throws RecognitionException;
-     void rule__XAnnotation__Group_3_1_0_1__0() throws RecognitionException;
-     void rule__XAnnotation__Group_3_1_0_1__0__Impl() throws RecognitionException;
-     void rule__XAnnotation__Group_3_1_0_1__1() throws RecognitionException;
-     void rule__XAnnotation__Group_3_1_0_1__1__Impl() throws RecognitionException;
-     void rule__XAnnotationElementValuePair__Group__0() throws RecognitionException;
-     void rule__XAnnotationElementValuePair__Group__0__Impl() throws RecognitionException;
-     void rule__XAnnotationElementValuePair__Group__1() throws RecognitionException;
-     void rule__XAnnotationElementValuePair__Group__1__Impl() throws RecognitionException;
-     void rule__XAnnotationElementValuePair__Group_0__0() throws RecognitionException;
-     void rule__XAnnotationElementValuePair__Group_0__0__Impl() throws RecognitionException;
-     void rule__XAnnotationElementValuePair__Group_0_0__0() throws RecognitionException;
-     void rule__XAnnotationElementValuePair__Group_0_0__0__Impl() throws RecognitionException;
-     void rule__XAnnotationElementValuePair__Group_0_0__1() throws RecognitionException;
-     void rule__XAnnotationElementValuePair__Group_0_0__1__Impl() throws RecognitionException;
-     void rule__XAnnotationElementValueOrCommaList__Group_0__0() throws RecognitionException;
-     void rule__XAnnotationElementValueOrCommaList__Group_0__0__Impl() throws RecognitionException;
-     void rule__XAnnotationElementValueOrCommaList__Group_0__1() throws RecognitionException;
-     void rule__XAnnotationElementValueOrCommaList__Group_0__1__Impl() throws RecognitionException;
-     void rule__XAnnotationElementValueOrCommaList__Group_0__2() throws RecognitionException;
-     void rule__XAnnotationElementValueOrCommaList__Group_0__2__Impl() throws RecognitionException;
-     void rule__XAnnotationElementValueOrCommaList__Group_0_0__0() throws RecognitionException;
-     void rule__XAnnotationElementValueOrCommaList__Group_0_0__0__Impl() throws RecognitionException;
-     void rule__XAnnotationElementValueOrCommaList__Group_0_0_0__0() throws RecognitionException;
-     void rule__XAnnotationElementValueOrCommaList__Group_0_0_0__0__Impl() throws RecognitionException;
-     void rule__XAnnotationElementValueOrCommaList__Group_0_0_0__1() throws RecognitionException;
-     void rule__XAnnotationElementValueOrCommaList__Group_0_0_0__1__Impl() throws RecognitionException;
-     void rule__XAnnotationElementValueOrCommaList__Group_0_0_0__2() throws RecognitionException;
-     void rule__XAnnotationElementValueOrCommaList__Group_0_0_0__2__Impl() throws RecognitionException;
-     void rule__XAnnotationElementValueOrCommaList__Group_0_1__0() throws RecognitionException;
-     void rule__XAnnotationElementValueOrCommaList__Group_0_1__0__Impl() throws RecognitionException;
-     void rule__XAnnotationElementValueOrCommaList__Group_0_1__1() throws RecognitionException;
-     void rule__XAnnotationElementValueOrCommaList__Group_0_1__1__Impl() throws RecognitionException;
-     void rule__XAnnotationElementValueOrCommaList__Group_0_1_1__0() throws RecognitionException;
-     void rule__XAnnotationElementValueOrCommaList__Group_0_1_1__0__Impl() throws RecognitionException;
-     void rule__XAnnotationElementValueOrCommaList__Group_0_1_1__1() throws RecognitionException;
-     void rule__XAnnotationElementValueOrCommaList__Group_0_1_1__1__Impl() throws RecognitionException;
-     void rule__XAnnotationElementValueOrCommaList__Group_1__0() throws RecognitionException;
-     void rule__XAnnotationElementValueOrCommaList__Group_1__0__Impl() throws RecognitionException;
-     void rule__XAnnotationElementValueOrCommaList__Group_1__1() throws RecognitionException;
-     void rule__XAnnotationElementValueOrCommaList__Group_1__1__Impl() throws RecognitionException;
-     void rule__XAnnotationElementValueOrCommaList__Group_1_1__0() throws RecognitionException;
-     void rule__XAnnotationElementValueOrCommaList__Group_1_1__0__Impl() throws RecognitionException;
-     void rule__XAnnotationElementValueOrCommaList__Group_1_1__1() throws RecognitionException;
-     void rule__XAnnotationElementValueOrCommaList__Group_1_1__1__Impl() throws RecognitionException;
-     void rule__XAnnotationElementValueOrCommaList__Group_1_1_1__0() throws RecognitionException;
-     void rule__XAnnotationElementValueOrCommaList__Group_1_1_1__0__Impl() throws RecognitionException;
-     void rule__XAnnotationElementValueOrCommaList__Group_1_1_1__1() throws RecognitionException;
-     void rule__XAnnotationElementValueOrCommaList__Group_1_1_1__1__Impl() throws RecognitionException;
-     void rule__XAnnotationElementValue__Group_0__0() throws RecognitionException;
-     void rule__XAnnotationElementValue__Group_0__0__Impl() throws RecognitionException;
-     void rule__XAnnotationElementValue__Group_0__1() throws RecognitionException;
-     void rule__XAnnotationElementValue__Group_0__1__Impl() throws RecognitionException;
-     void rule__XAnnotationElementValue__Group_0__2() throws RecognitionException;
-     void rule__XAnnotationElementValue__Group_0__2__Impl() throws RecognitionException;
-     void rule__XAnnotationElementValue__Group_0_0__0() throws RecognitionException;
-     void rule__XAnnotationElementValue__Group_0_0__0__Impl() throws RecognitionException;
-     void rule__XAnnotationElementValue__Group_0_0_0__0() throws RecognitionException;
-     void rule__XAnnotationElementValue__Group_0_0_0__0__Impl() throws RecognitionException;
-     void rule__XAnnotationElementValue__Group_0_0_0__1() throws RecognitionException;
-     void rule__XAnnotationElementValue__Group_0_0_0__1__Impl() throws RecognitionException;
-     void rule__XAnnotationElementValue__Group_0_0_0__2() throws RecognitionException;
-     void rule__XAnnotationElementValue__Group_0_0_0__2__Impl() throws RecognitionException;
-     void rule__XAnnotationElementValue__Group_0_1__0() throws RecognitionException;
-     void rule__XAnnotationElementValue__Group_0_1__0__Impl() throws RecognitionException;
-     void rule__XAnnotationElementValue__Group_0_1__1() throws RecognitionException;
-     void rule__XAnnotationElementValue__Group_0_1__1__Impl() throws RecognitionException;
-     void rule__XAnnotationElementValue__Group_0_1_1__0() throws RecognitionException;
-     void rule__XAnnotationElementValue__Group_0_1_1__0__Impl() throws RecognitionException;
-     void rule__XAnnotationElementValue__Group_0_1_1__1() throws RecognitionException;
-     void rule__XAnnotationElementValue__Group_0_1_1__1__Impl() throws RecognitionException;
-     void rule__XAssignment__Group_0__0() throws RecognitionException;
-     void rule__XAssignment__Group_0__0__Impl() throws RecognitionException;
-     void rule__XAssignment__Group_0__1() throws RecognitionException;
-     void rule__XAssignment__Group_0__1__Impl() throws RecognitionException;
-     void rule__XAssignment__Group_0__2() throws RecognitionException;
-     void rule__XAssignment__Group_0__2__Impl() throws RecognitionException;
-     void rule__XAssignment__Group_0__3() throws RecognitionException;
-     void rule__XAssignment__Group_0__3__Impl() throws RecognitionException;
-     void rule__XAssignment__Group_1__0() throws RecognitionException;
-     void rule__XAssignment__Group_1__0__Impl() throws RecognitionException;
-     void rule__XAssignment__Group_1__1() throws RecognitionException;
-     void rule__XAssignment__Group_1__1__Impl() throws RecognitionException;
-     void rule__XAssignment__Group_1_1__0() throws RecognitionException;
-     void rule__XAssignment__Group_1_1__0__Impl() throws RecognitionException;
-     void rule__XAssignment__Group_1_1__1() throws RecognitionException;
-     void rule__XAssignment__Group_1_1__1__Impl() throws RecognitionException;
-     void rule__XAssignment__Group_1_1_0__0() throws RecognitionException;
-     void rule__XAssignment__Group_1_1_0__0__Impl() throws RecognitionException;
-     void rule__XAssignment__Group_1_1_0_0__0() throws RecognitionException;
-     void rule__XAssignment__Group_1_1_0_0__0__Impl() throws RecognitionException;
-     void rule__XAssignment__Group_1_1_0_0__1() throws RecognitionException;
-     void rule__XAssignment__Group_1_1_0_0__1__Impl() throws RecognitionException;
-     void rule__OpMultiAssign__Group_5__0() throws RecognitionException;
-     void rule__OpMultiAssign__Group_5__0__Impl() throws RecognitionException;
-     void rule__OpMultiAssign__Group_5__1() throws RecognitionException;
-     void rule__OpMultiAssign__Group_5__1__Impl() throws RecognitionException;
-     void rule__OpMultiAssign__Group_5__2() throws RecognitionException;
-     void rule__OpMultiAssign__Group_5__2__Impl() throws RecognitionException;
-     void rule__OpMultiAssign__Group_6__0() throws RecognitionException;
-     void rule__OpMultiAssign__Group_6__0__Impl() throws RecognitionException;
-     void rule__OpMultiAssign__Group_6__1() throws RecognitionException;
-     void rule__OpMultiAssign__Group_6__1__Impl() throws RecognitionException;
-     void rule__OpMultiAssign__Group_6__2() throws RecognitionException;
-     void rule__OpMultiAssign__Group_6__2__Impl() throws RecognitionException;
-     void rule__XOrExpression__Group__0() throws RecognitionException;
-     void rule__XOrExpression__Group__0__Impl() throws RecognitionException;
-     void rule__XOrExpression__Group__1() throws RecognitionException;
-     void rule__XOrExpression__Group__1__Impl() throws RecognitionException;
-     void rule__XOrExpression__Group_1__0() throws RecognitionException;
-     void rule__XOrExpression__Group_1__0__Impl() throws RecognitionException;
-     void rule__XOrExpression__Group_1__1() throws RecognitionException;
-     void rule__XOrExpression__Group_1__1__Impl() throws RecognitionException;
-     void rule__XOrExpression__Group_1_0__0() throws RecognitionException;
-     void rule__XOrExpression__Group_1_0__0__Impl() throws RecognitionException;
-     void rule__XOrExpression__Group_1_0_0__0() throws RecognitionException;
-     void rule__XOrExpression__Group_1_0_0__0__Impl() throws RecognitionException;
-     void rule__XOrExpression__Group_1_0_0__1() throws RecognitionException;
-     void rule__XOrExpression__Group_1_0_0__1__Impl() throws RecognitionException;
-     void rule__XAndExpression__Group__0() throws RecognitionException;
-     void rule__XAndExpression__Group__0__Impl() throws RecognitionException;
-     void rule__XAndExpression__Group__1() throws RecognitionException;
-     void rule__XAndExpression__Group__1__Impl() throws RecognitionException;
-     void rule__XAndExpression__Group_1__0() throws RecognitionException;
-     void rule__XAndExpression__Group_1__0__Impl() throws RecognitionException;
-     void rule__XAndExpression__Group_1__1() throws RecognitionException;
-     void rule__XAndExpression__Group_1__1__Impl() throws RecognitionException;
-     void rule__XAndExpression__Group_1_0__0() throws RecognitionException;
-     void rule__XAndExpression__Group_1_0__0__Impl() throws RecognitionException;
-     void rule__XAndExpression__Group_1_0_0__0() throws RecognitionException;
-     void rule__XAndExpression__Group_1_0_0__0__Impl() throws RecognitionException;
-     void rule__XAndExpression__Group_1_0_0__1() throws RecognitionException;
-     void rule__XAndExpression__Group_1_0_0__1__Impl() throws RecognitionException;
-     void rule__XEqualityExpression__Group__0() throws RecognitionException;
-     void rule__XEqualityExpression__Group__0__Impl() throws RecognitionException;
-     void rule__XEqualityExpression__Group__1() throws RecognitionException;
-     void rule__XEqualityExpression__Group__1__Impl() throws RecognitionException;
-     void rule__XEqualityExpression__Group_1__0() throws RecognitionException;
-     void rule__XEqualityExpression__Group_1__0__Impl() throws RecognitionException;
-     void rule__XEqualityExpression__Group_1__1() throws RecognitionException;
-     void rule__XEqualityExpression__Group_1__1__Impl() throws RecognitionException;
-     void rule__XEqualityExpression__Group_1_0__0() throws RecognitionException;
-     void rule__XEqualityExpression__Group_1_0__0__Impl() throws RecognitionException;
-     void rule__XEqualityExpression__Group_1_0_0__0() throws RecognitionException;
-     void rule__XEqualityExpression__Group_1_0_0__0__Impl() throws RecognitionException;
-     void rule__XEqualityExpression__Group_1_0_0__1() throws RecognitionException;
-     void rule__XEqualityExpression__Group_1_0_0__1__Impl() throws RecognitionException;
-     void rule__XRelationalExpression__Group__0() throws RecognitionException;
-     void rule__XRelationalExpression__Group__0__Impl() throws RecognitionException;
-     void rule__XRelationalExpression__Group__1() throws RecognitionException;
-     void rule__XRelationalExpression__Group__1__Impl() throws RecognitionException;
-     void rule__XRelationalExpression__Group_1_0__0() throws RecognitionException;
-     void rule__XRelationalExpression__Group_1_0__0__Impl() throws RecognitionException;
-     void rule__XRelationalExpression__Group_1_0__1() throws RecognitionException;
-     void rule__XRelationalExpression__Group_1_0__1__Impl() throws RecognitionException;
-     void rule__XRelationalExpression__Group_1_0_0__0() throws RecognitionException;
-     void rule__XRelationalExpression__Group_1_0_0__0__Impl() throws RecognitionException;
-     void rule__XRelationalExpression__Group_1_0_0_0__0() throws RecognitionException;
-     void rule__XRelationalExpression__Group_1_0_0_0__0__Impl() throws RecognitionException;
-     void rule__XRelationalExpression__Group_1_0_0_0__1() throws RecognitionException;
-     void rule__XRelationalExpression__Group_1_0_0_0__1__Impl() throws RecognitionException;
-     void rule__XRelationalExpression__Group_1_1__0() throws RecognitionException;
-     void rule__XRelationalExpression__Group_1_1__0__Impl() throws RecognitionException;
-     void rule__XRelationalExpression__Group_1_1__1() throws RecognitionException;
-     void rule__XRelationalExpression__Group_1_1__1__Impl() throws RecognitionException;
-     void rule__XRelationalExpression__Group_1_1_0__0() throws RecognitionException;
-     void rule__XRelationalExpression__Group_1_1_0__0__Impl() throws RecognitionException;
-     void rule__XRelationalExpression__Group_1_1_0_0__0() throws RecognitionException;
-     void rule__XRelationalExpression__Group_1_1_0_0__0__Impl() throws RecognitionException;
-     void rule__XRelationalExpression__Group_1_1_0_0__1() throws RecognitionException;
-     void rule__XRelationalExpression__Group_1_1_0_0__1__Impl() throws RecognitionException;
-     void rule__OpCompare__Group_1__0() throws RecognitionException;
-     void rule__OpCompare__Group_1__0__Impl() throws RecognitionException;
-     void rule__OpCompare__Group_1__1() throws RecognitionException;
-     void rule__OpCompare__Group_1__1__Impl() throws RecognitionException;
-     void rule__XOtherOperatorExpression__Group__0() throws RecognitionException;
-     void rule__XOtherOperatorExpression__Group__0__Impl() throws RecognitionException;
-     void rule__XOtherOperatorExpression__Group__1() throws RecognitionException;
-     void rule__XOtherOperatorExpression__Group__1__Impl() throws RecognitionException;
-     void rule__XOtherOperatorExpression__Group_1__0() throws RecognitionException;
-     void rule__XOtherOperatorExpression__Group_1__0__Impl() throws RecognitionException;
-     void rule__XOtherOperatorExpression__Group_1__1() throws RecognitionException;
-     void rule__XOtherOperatorExpression__Group_1__1__Impl() throws RecognitionException;
-     void rule__XOtherOperatorExpression__Group_1_0__0() throws RecognitionException;
-     void rule__XOtherOperatorExpression__Group_1_0__0__Impl() throws RecognitionException;
-     void rule__XOtherOperatorExpression__Group_1_0_0__0() throws RecognitionException;
-     void rule__XOtherOperatorExpression__Group_1_0_0__0__Impl() throws RecognitionException;
-     void rule__XOtherOperatorExpression__Group_1_0_0__1() throws RecognitionException;
-     void rule__XOtherOperatorExpression__Group_1_0_0__1__Impl() throws RecognitionException;
-     void rule__OpOther__Group_2__0() throws RecognitionException;
-     void rule__OpOther__Group_2__0__Impl() throws RecognitionException;
-     void rule__OpOther__Group_2__1() throws RecognitionException;
-     void rule__OpOther__Group_2__1__Impl() throws RecognitionException;
-     void rule__OpOther__Group_5__0() throws RecognitionException;
-     void rule__OpOther__Group_5__0__Impl() throws RecognitionException;
-     void rule__OpOther__Group_5__1() throws RecognitionException;
-     void rule__OpOther__Group_5__1__Impl() throws RecognitionException;
-     void rule__OpOther__Group_5_1_0__0() throws RecognitionException;
-     void rule__OpOther__Group_5_1_0__0__Impl() throws RecognitionException;
-     void rule__OpOther__Group_5_1_0_0__0() throws RecognitionException;
-     void rule__OpOther__Group_5_1_0_0__0__Impl() throws RecognitionException;
-     void rule__OpOther__Group_5_1_0_0__1() throws RecognitionException;
-     void rule__OpOther__Group_5_1_0_0__1__Impl() throws RecognitionException;
-     void rule__OpOther__Group_6__0() throws RecognitionException;
-     void rule__OpOther__Group_6__0__Impl() throws RecognitionException;
-     void rule__OpOther__Group_6__1() throws RecognitionException;
-     void rule__OpOther__Group_6__1__Impl() throws RecognitionException;
-     void rule__OpOther__Group_6_1_0__0() throws RecognitionException;
-     void rule__OpOther__Group_6_1_0__0__Impl() throws RecognitionException;
-     void rule__OpOther__Group_6_1_0_0__0() throws RecognitionException;
-     void rule__OpOther__Group_6_1_0_0__0__Impl() throws RecognitionException;
-     void rule__OpOther__Group_6_1_0_0__1() throws RecognitionException;
-     void rule__OpOther__Group_6_1_0_0__1__Impl() throws RecognitionException;
-     void rule__XAdditiveExpression__Group__0() throws RecognitionException;
-     void rule__XAdditiveExpression__Group__0__Impl() throws RecognitionException;
-     void rule__XAdditiveExpression__Group__1() throws RecognitionException;
-     void rule__XAdditiveExpression__Group__1__Impl() throws RecognitionException;
-     void rule__XAdditiveExpression__Group_1__0() throws RecognitionException;
-     void rule__XAdditiveExpression__Group_1__0__Impl() throws RecognitionException;
-     void rule__XAdditiveExpression__Group_1__1() throws RecognitionException;
-     void rule__XAdditiveExpression__Group_1__1__Impl() throws RecognitionException;
-     void rule__XAdditiveExpression__Group_1_0__0() throws RecognitionException;
-     void rule__XAdditiveExpression__Group_1_0__0__Impl() throws RecognitionException;
-     void rule__XAdditiveExpression__Group_1_0_0__0() throws RecognitionException;
-     void rule__XAdditiveExpression__Group_1_0_0__0__Impl() throws RecognitionException;
-     void rule__XAdditiveExpression__Group_1_0_0__1() throws RecognitionException;
-     void rule__XAdditiveExpression__Group_1_0_0__1__Impl() throws RecognitionException;
-     void rule__XMultiplicativeExpression__Group__0() throws RecognitionException;
-     void rule__XMultiplicativeExpression__Group__0__Impl() throws RecognitionException;
-     void rule__XMultiplicativeExpression__Group__1() throws RecognitionException;
-     void rule__XMultiplicativeExpression__Group__1__Impl() throws RecognitionException;
-     void rule__XMultiplicativeExpression__Group_1__0() throws RecognitionException;
-     void rule__XMultiplicativeExpression__Group_1__0__Impl() throws RecognitionException;
-     void rule__XMultiplicativeExpression__Group_1__1() throws RecognitionException;
-     void rule__XMultiplicativeExpression__Group_1__1__Impl() throws RecognitionException;
-     void rule__XMultiplicativeExpression__Group_1_0__0() throws RecognitionException;
-     void rule__XMultiplicativeExpression__Group_1_0__0__Impl() throws RecognitionException;
-     void rule__XMultiplicativeExpression__Group_1_0_0__0() throws RecognitionException;
-     void rule__XMultiplicativeExpression__Group_1_0_0__0__Impl() throws RecognitionException;
-     void rule__XMultiplicativeExpression__Group_1_0_0__1() throws RecognitionException;
-     void rule__XMultiplicativeExpression__Group_1_0_0__1__Impl() throws RecognitionException;
-     void rule__XUnaryOperation__Group_0__0() throws RecognitionException;
-     void rule__XUnaryOperation__Group_0__0__Impl() throws RecognitionException;
-     void rule__XUnaryOperation__Group_0__1() throws RecognitionException;
-     void rule__XUnaryOperation__Group_0__1__Impl() throws RecognitionException;
-     void rule__XUnaryOperation__Group_0__2() throws RecognitionException;
-     void rule__XUnaryOperation__Group_0__2__Impl() throws RecognitionException;
-     void rule__XCastedExpression__Group__0() throws RecognitionException;
-     void rule__XCastedExpression__Group__0__Impl() throws RecognitionException;
-     void rule__XCastedExpression__Group__1() throws RecognitionException;
-     void rule__XCastedExpression__Group__1__Impl() throws RecognitionException;
-     void rule__XCastedExpression__Group_1__0() throws RecognitionException;
-     void rule__XCastedExpression__Group_1__0__Impl() throws RecognitionException;
-     void rule__XCastedExpression__Group_1__1() throws RecognitionException;
-     void rule__XCastedExpression__Group_1__1__Impl() throws RecognitionException;
-     void rule__XCastedExpression__Group_1_0__0() throws RecognitionException;
-     void rule__XCastedExpression__Group_1_0__0__Impl() throws RecognitionException;
-     void rule__XCastedExpression__Group_1_0_0__0() throws RecognitionException;
-     void rule__XCastedExpression__Group_1_0_0__0__Impl() throws RecognitionException;
-     void rule__XCastedExpression__Group_1_0_0__1() throws RecognitionException;
-     void rule__XCastedExpression__Group_1_0_0__1__Impl() throws RecognitionException;
-     void rule__XPostfixOperation__Group__0() throws RecognitionException;
-     void rule__XPostfixOperation__Group__0__Impl() throws RecognitionException;
-     void rule__XPostfixOperation__Group__1() throws RecognitionException;
-     void rule__XPostfixOperation__Group__1__Impl() throws RecognitionException;
-     void rule__XPostfixOperation__Group_1__0() throws RecognitionException;
-     void rule__XPostfixOperation__Group_1__0__Impl() throws RecognitionException;
-     void rule__XPostfixOperation__Group_1_0__0() throws RecognitionException;
-     void rule__XPostfixOperation__Group_1_0__0__Impl() throws RecognitionException;
-     void rule__XPostfixOperation__Group_1_0__1() throws RecognitionException;
-     void rule__XPostfixOperation__Group_1_0__1__Impl() throws RecognitionException;
-     void rule__XMemberFeatureCall__Group__0() throws RecognitionException;
-     void rule__XMemberFeatureCall__Group__0__Impl() throws RecognitionException;
-     void rule__XMemberFeatureCall__Group__1() throws RecognitionException;
-     void rule__XMemberFeatureCall__Group__1__Impl() throws RecognitionException;
-     void rule__XMemberFeatureCall__Group_1_0__0() throws RecognitionException;
-     void rule__XMemberFeatureCall__Group_1_0__0__Impl() throws RecognitionException;
-     void rule__XMemberFeatureCall__Group_1_0__1() throws RecognitionException;
-     void rule__XMemberFeatureCall__Group_1_0__1__Impl() throws RecognitionException;
-     void rule__XMemberFeatureCall__Group_1_0_0__0() throws RecognitionException;
-     void rule__XMemberFeatureCall__Group_1_0_0__0__Impl() throws RecognitionException;
-     void rule__XMemberFeatureCall__Group_1_0_0_0__0() throws RecognitionException;
-     void rule__XMemberFeatureCall__Group_1_0_0_0__0__Impl() throws RecognitionException;
-     void rule__XMemberFeatureCall__Group_1_0_0_0__1() throws RecognitionException;
-     void rule__XMemberFeatureCall__Group_1_0_0_0__1__Impl() throws RecognitionException;
-     void rule__XMemberFeatureCall__Group_1_0_0_0__2() throws RecognitionException;
-     void rule__XMemberFeatureCall__Group_1_0_0_0__2__Impl() throws RecognitionException;
-     void rule__XMemberFeatureCall__Group_1_0_0_0__3() throws RecognitionException;
-     void rule__XMemberFeatureCall__Group_1_0_0_0__3__Impl() throws RecognitionException;
-     void rule__XMemberFeatureCall__Group_1_1__0() throws RecognitionException;
-     void rule__XMemberFeatureCall__Group_1_1__0__Impl() throws RecognitionException;
-     void rule__XMemberFeatureCall__Group_1_1__1() throws RecognitionException;
-     void rule__XMemberFeatureCall__Group_1_1__1__Impl() throws RecognitionException;
-     void rule__XMemberFeatureCall__Group_1_1__2() throws RecognitionException;
-     void rule__XMemberFeatureCall__Group_1_1__2__Impl() throws RecognitionException;
-     void rule__XMemberFeatureCall__Group_1_1__3() throws RecognitionException;
-     void rule__XMemberFeatureCall__Group_1_1__3__Impl() throws RecognitionException;
-     void rule__XMemberFeatureCall__Group_1_1__4() throws RecognitionException;
-     void rule__XMemberFeatureCall__Group_1_1__4__Impl() throws RecognitionException;
-     void rule__XMemberFeatureCall__Group_1_1_0__0() throws RecognitionException;
-     void rule__XMemberFeatureCall__Group_1_1_0__0__Impl() throws RecognitionException;
-     void rule__XMemberFeatureCall__Group_1_1_0_0__0() throws RecognitionException;
-     void rule__XMemberFeatureCall__Group_1_1_0_0__0__Impl() throws RecognitionException;
-     void rule__XMemberFeatureCall__Group_1_1_0_0__1() throws RecognitionException;
-     void rule__XMemberFeatureCall__Group_1_1_0_0__1__Impl() throws RecognitionException;
-     void rule__XMemberFeatureCall__Group_1_1_1__0() throws RecognitionException;
-     void rule__XMemberFeatureCall__Group_1_1_1__0__Impl() throws RecognitionException;
-     void rule__XMemberFeatureCall__Group_1_1_1__1() throws RecognitionException;
-     void rule__XMemberFeatureCall__Group_1_1_1__1__Impl() throws RecognitionException;
-     void rule__XMemberFeatureCall__Group_1_1_1__2() throws RecognitionException;
-     void rule__XMemberFeatureCall__Group_1_1_1__2__Impl() throws RecognitionException;
-     void rule__XMemberFeatureCall__Group_1_1_1__3() throws RecognitionException;
-     void rule__XMemberFeatureCall__Group_1_1_1__3__Impl() throws RecognitionException;
-     void rule__XMemberFeatureCall__Group_1_1_1_2__0() throws RecognitionException;
-     void rule__XMemberFeatureCall__Group_1_1_1_2__0__Impl() throws RecognitionException;
-     void rule__XMemberFeatureCall__Group_1_1_1_2__1() throws RecognitionException;
-     void rule__XMemberFeatureCall__Group_1_1_1_2__1__Impl() throws RecognitionException;
-     void rule__XMemberFeatureCall__Group_1_1_3__0() throws RecognitionException;
-     void rule__XMemberFeatureCall__Group_1_1_3__0__Impl() throws RecognitionException;
-     void rule__XMemberFeatureCall__Group_1_1_3__1() throws RecognitionException;
-     void rule__XMemberFeatureCall__Group_1_1_3__1__Impl() throws RecognitionException;
-     void rule__XMemberFeatureCall__Group_1_1_3__2() throws RecognitionException;
-     void rule__XMemberFeatureCall__Group_1_1_3__2__Impl() throws RecognitionException;
-     void rule__XMemberFeatureCall__Group_1_1_3_1_1__0() throws RecognitionException;
-     void rule__XMemberFeatureCall__Group_1_1_3_1_1__0__Impl() throws RecognitionException;
-     void rule__XMemberFeatureCall__Group_1_1_3_1_1__1() throws RecognitionException;
-     void rule__XMemberFeatureCall__Group_1_1_3_1_1__1__Impl() throws RecognitionException;
-     void rule__XMemberFeatureCall__Group_1_1_3_1_1_1__0() throws RecognitionException;
-     void rule__XMemberFeatureCall__Group_1_1_3_1_1_1__0__Impl() throws RecognitionException;
-     void rule__XMemberFeatureCall__Group_1_1_3_1_1_1__1() throws RecognitionException;
-     void rule__XMemberFeatureCall__Group_1_1_3_1_1_1__1__Impl() throws RecognitionException;
-     void rule__XSetLiteral__Group__0() throws RecognitionException;
-     void rule__XSetLiteral__Group__0__Impl() throws RecognitionException;
-     void rule__XSetLiteral__Group__1() throws RecognitionException;
-     void rule__XSetLiteral__Group__1__Impl() throws RecognitionException;
-     void rule__XSetLiteral__Group__2() throws RecognitionException;
-     void rule__XSetLiteral__Group__2__Impl() throws RecognitionException;
-     void rule__XSetLiteral__Group__3() throws RecognitionException;
-     void rule__XSetLiteral__Group__3__Impl() throws RecognitionException;
-     void rule__XSetLiteral__Group__4() throws RecognitionException;
-     void rule__XSetLiteral__Group__4__Impl() throws RecognitionException;
-     void rule__XSetLiteral__Group_3__0() throws RecognitionException;
-     void rule__XSetLiteral__Group_3__0__Impl() throws RecognitionException;
-     void rule__XSetLiteral__Group_3__1() throws RecognitionException;
-     void rule__XSetLiteral__Group_3__1__Impl() throws RecognitionException;
-     void rule__XSetLiteral__Group_3_1__0() throws RecognitionException;
-     void rule__XSetLiteral__Group_3_1__0__Impl() throws RecognitionException;
-     void rule__XSetLiteral__Group_3_1__1() throws RecognitionException;
-     void rule__XSetLiteral__Group_3_1__1__Impl() throws RecognitionException;
-     void rule__XListLiteral__Group__0() throws RecognitionException;
-     void rule__XListLiteral__Group__0__Impl() throws RecognitionException;
-     void rule__XListLiteral__Group__1() throws RecognitionException;
-     void rule__XListLiteral__Group__1__Impl() throws RecognitionException;
-     void rule__XListLiteral__Group__2() throws RecognitionException;
-     void rule__XListLiteral__Group__2__Impl() throws RecognitionException;
-     void rule__XListLiteral__Group__3() throws RecognitionException;
-     void rule__XListLiteral__Group__3__Impl() throws RecognitionException;
-     void rule__XListLiteral__Group__4() throws RecognitionException;
-     void rule__XListLiteral__Group__4__Impl() throws RecognitionException;
-     void rule__XListLiteral__Group_3__0() throws RecognitionException;
-     void rule__XListLiteral__Group_3__0__Impl() throws RecognitionException;
-     void rule__XListLiteral__Group_3__1() throws RecognitionException;
-     void rule__XListLiteral__Group_3__1__Impl() throws RecognitionException;
-     void rule__XListLiteral__Group_3_1__0() throws RecognitionException;
-     void rule__XListLiteral__Group_3_1__0__Impl() throws RecognitionException;
-     void rule__XListLiteral__Group_3_1__1() throws RecognitionException;
-     void rule__XListLiteral__Group_3_1__1__Impl() throws RecognitionException;
-     void rule__XClosure__Group__0() throws RecognitionException;
-     void rule__XClosure__Group__0__Impl() throws RecognitionException;
-     void rule__XClosure__Group__1() throws RecognitionException;
-     void rule__XClosure__Group__1__Impl() throws RecognitionException;
-     void rule__XClosure__Group__2() throws RecognitionException;
-     void rule__XClosure__Group__2__Impl() throws RecognitionException;
-     void rule__XClosure__Group__3() throws RecognitionException;
-     void rule__XClosure__Group__3__Impl() throws RecognitionException;
-     void rule__XClosure__Group_0__0() throws RecognitionException;
-     void rule__XClosure__Group_0__0__Impl() throws RecognitionException;
-     void rule__XClosure__Group_0_0__0() throws RecognitionException;
-     void rule__XClosure__Group_0_0__0__Impl() throws RecognitionException;
-     void rule__XClosure__Group_0_0__1() throws RecognitionException;
-     void rule__XClosure__Group_0_0__1__Impl() throws RecognitionException;
-     void rule__XClosure__Group_1__0() throws RecognitionException;
-     void rule__XClosure__Group_1__0__Impl() throws RecognitionException;
-     void rule__XClosure__Group_1_0__0() throws RecognitionException;
-     void rule__XClosure__Group_1_0__0__Impl() throws RecognitionException;
-     void rule__XClosure__Group_1_0__1() throws RecognitionException;
-     void rule__XClosure__Group_1_0__1__Impl() throws RecognitionException;
-     void rule__XClosure__Group_1_0_0__0() throws RecognitionException;
-     void rule__XClosure__Group_1_0_0__0__Impl() throws RecognitionException;
-     void rule__XClosure__Group_1_0_0__1() throws RecognitionException;
-     void rule__XClosure__Group_1_0_0__1__Impl() throws RecognitionException;
-     void rule__XClosure__Group_1_0_0_1__0() throws RecognitionException;
-     void rule__XClosure__Group_1_0_0_1__0__Impl() throws RecognitionException;
-     void rule__XClosure__Group_1_0_0_1__1() throws RecognitionException;
-     void rule__XClosure__Group_1_0_0_1__1__Impl() throws RecognitionException;
-     void rule__XExpressionInClosure__Group__0() throws RecognitionException;
-     void rule__XExpressionInClosure__Group__0__Impl() throws RecognitionException;
-     void rule__XExpressionInClosure__Group__1() throws RecognitionException;
-     void rule__XExpressionInClosure__Group__1__Impl() throws RecognitionException;
-     void rule__XExpressionInClosure__Group_1__0() throws RecognitionException;
-     void rule__XExpressionInClosure__Group_1__0__Impl() throws RecognitionException;
-     void rule__XExpressionInClosure__Group_1__1() throws RecognitionException;
-     void rule__XExpressionInClosure__Group_1__1__Impl() throws RecognitionException;
-     void rule__XShortClosure__Group__0() throws RecognitionException;
-     void rule__XShortClosure__Group__0__Impl() throws RecognitionException;
-     void rule__XShortClosure__Group__1() throws RecognitionException;
-     void rule__XShortClosure__Group__1__Impl() throws RecognitionException;
-     void rule__XShortClosure__Group_0__0() throws RecognitionException;
-     void rule__XShortClosure__Group_0__0__Impl() throws RecognitionException;
-     void rule__XShortClosure__Group_0_0__0() throws RecognitionException;
-     void rule__XShortClosure__Group_0_0__0__Impl() throws RecognitionException;
-     void rule__XShortClosure__Group_0_0__1() throws RecognitionException;
-     void rule__XShortClosure__Group_0_0__1__Impl() throws RecognitionException;
-     void rule__XShortClosure__Group_0_0__2() throws RecognitionException;
-     void rule__XShortClosure__Group_0_0__2__Impl() throws RecognitionException;
-     void rule__XShortClosure__Group_0_0_1__0() throws RecognitionException;
-     void rule__XShortClosure__Group_0_0_1__0__Impl() throws RecognitionException;
-     void rule__XShortClosure__Group_0_0_1__1() throws RecognitionException;
-     void rule__XShortClosure__Group_0_0_1__1__Impl() throws RecognitionException;
-     void rule__XShortClosure__Group_0_0_1_1__0() throws RecognitionException;
-     void rule__XShortClosure__Group_0_0_1_1__0__Impl() throws RecognitionException;
-     void rule__XShortClosure__Group_0_0_1_1__1() throws RecognitionException;
-     void rule__XShortClosure__Group_0_0_1_1__1__Impl() throws RecognitionException;
-     void rule__XParenthesizedExpression__Group__0() throws RecognitionException;
-     void rule__XParenthesizedExpression__Group__0__Impl() throws RecognitionException;
-     void rule__XParenthesizedExpression__Group__1() throws RecognitionException;
-     void rule__XParenthesizedExpression__Group__1__Impl() throws RecognitionException;
-     void rule__XParenthesizedExpression__Group__2() throws RecognitionException;
-     void rule__XParenthesizedExpression__Group__2__Impl() throws RecognitionException;
-     void rule__XIfExpression__Group__0() throws RecognitionException;
-     void rule__XIfExpression__Group__0__Impl() throws RecognitionException;
-     void rule__XIfExpression__Group__1() throws RecognitionException;
-     void rule__XIfExpression__Group__1__Impl() throws RecognitionException;
-     void rule__XIfExpression__Group__2() throws RecognitionException;
-     void rule__XIfExpression__Group__2__Impl() throws RecognitionException;
-     void rule__XIfExpression__Group__3() throws RecognitionException;
-     void rule__XIfExpression__Group__3__Impl() throws RecognitionException;
-     void rule__XIfExpression__Group__4() throws RecognitionException;
-     void rule__XIfExpression__Group__4__Impl() throws RecognitionException;
-     void rule__XIfExpression__Group__5() throws RecognitionException;
-     void rule__XIfExpression__Group__5__Impl() throws RecognitionException;
-     void rule__XIfExpression__Group__6() throws RecognitionException;
-     void rule__XIfExpression__Group__6__Impl() throws RecognitionException;
-     void rule__XIfExpression__Group_6__0() throws RecognitionException;
-     void rule__XIfExpression__Group_6__0__Impl() throws RecognitionException;
-     void rule__XIfExpression__Group_6__1() throws RecognitionException;
-     void rule__XIfExpression__Group_6__1__Impl() throws RecognitionException;
-     void rule__XSwitchExpression__Group__0() throws RecognitionException;
-     void rule__XSwitchExpression__Group__0__Impl() throws RecognitionException;
-     void rule__XSwitchExpression__Group__1() throws RecognitionException;
-     void rule__XSwitchExpression__Group__1__Impl() throws RecognitionException;
-     void rule__XSwitchExpression__Group__2() throws RecognitionException;
-     void rule__XSwitchExpression__Group__2__Impl() throws RecognitionException;
-     void rule__XSwitchExpression__Group__3() throws RecognitionException;
-     void rule__XSwitchExpression__Group__3__Impl() throws RecognitionException;
-     void rule__XSwitchExpression__Group__4() throws RecognitionException;
-     void rule__XSwitchExpression__Group__4__Impl() throws RecognitionException;
-     void rule__XSwitchExpression__Group__5() throws RecognitionException;
-     void rule__XSwitchExpression__Group__5__Impl() throws RecognitionException;
-     void rule__XSwitchExpression__Group__6() throws RecognitionException;
-     void rule__XSwitchExpression__Group__6__Impl() throws RecognitionException;
-     void rule__XSwitchExpression__Group_2_0__0() throws RecognitionException;
-     void rule__XSwitchExpression__Group_2_0__0__Impl() throws RecognitionException;
-     void rule__XSwitchExpression__Group_2_0__1() throws RecognitionException;
-     void rule__XSwitchExpression__Group_2_0__1__Impl() throws RecognitionException;
-     void rule__XSwitchExpression__Group_2_0__2() throws RecognitionException;
-     void rule__XSwitchExpression__Group_2_0__2__Impl() throws RecognitionException;
-     void rule__XSwitchExpression__Group_2_0_0__0() throws RecognitionException;
-     void rule__XSwitchExpression__Group_2_0_0__0__Impl() throws RecognitionException;
-     void rule__XSwitchExpression__Group_2_0_0_0__0() throws RecognitionException;
-     void rule__XSwitchExpression__Group_2_0_0_0__0__Impl() throws RecognitionException;
-     void rule__XSwitchExpression__Group_2_0_0_0__1() throws RecognitionException;
-     void rule__XSwitchExpression__Group_2_0_0_0__1__Impl() throws RecognitionException;
-     void rule__XSwitchExpression__Group_2_0_0_0__2() throws RecognitionException;
-     void rule__XSwitchExpression__Group_2_0_0_0__2__Impl() throws RecognitionException;
-     void rule__XSwitchExpression__Group_2_1__0() throws RecognitionException;
-     void rule__XSwitchExpression__Group_2_1__0__Impl() throws RecognitionException;
-     void rule__XSwitchExpression__Group_2_1__1() throws RecognitionException;
-     void rule__XSwitchExpression__Group_2_1__1__Impl() throws RecognitionException;
-     void rule__XSwitchExpression__Group_2_1_0__0() throws RecognitionException;
-     void rule__XSwitchExpression__Group_2_1_0__0__Impl() throws RecognitionException;
-     void rule__XSwitchExpression__Group_2_1_0_0__0() throws RecognitionException;
-     void rule__XSwitchExpression__Group_2_1_0_0__0__Impl() throws RecognitionException;
-     void rule__XSwitchExpression__Group_2_1_0_0__1() throws RecognitionException;
-     void rule__XSwitchExpression__Group_2_1_0_0__1__Impl() throws RecognitionException;
-     void rule__XSwitchExpression__Group_5__0() throws RecognitionException;
-     void rule__XSwitchExpression__Group_5__0__Impl() throws RecognitionException;
-     void rule__XSwitchExpression__Group_5__1() throws RecognitionException;
-     void rule__XSwitchExpression__Group_5__1__Impl() throws RecognitionException;
-     void rule__XSwitchExpression__Group_5__2() throws RecognitionException;
-     void rule__XSwitchExpression__Group_5__2__Impl() throws RecognitionException;
-     void rule__XCasePart__Group__0() throws RecognitionException;
-     void rule__XCasePart__Group__0__Impl() throws RecognitionException;
-     void rule__XCasePart__Group__1() throws RecognitionException;
-     void rule__XCasePart__Group__1__Impl() throws RecognitionException;
-     void rule__XCasePart__Group__2() throws RecognitionException;
-     void rule__XCasePart__Group__2__Impl() throws RecognitionException;
-     void rule__XCasePart__Group__3() throws RecognitionException;
-     void rule__XCasePart__Group__3__Impl() throws RecognitionException;
-     void rule__XCasePart__Group_2__0() throws RecognitionException;
-     void rule__XCasePart__Group_2__0__Impl() throws RecognitionException;
-     void rule__XCasePart__Group_2__1() throws RecognitionException;
-     void rule__XCasePart__Group_2__1__Impl() throws RecognitionException;
-     void rule__XCasePart__Group_3_0__0() throws RecognitionException;
-     void rule__XCasePart__Group_3_0__0__Impl() throws RecognitionException;
-     void rule__XCasePart__Group_3_0__1() throws RecognitionException;
-     void rule__XCasePart__Group_3_0__1__Impl() throws RecognitionException;
-     void rule__XForLoopExpression__Group__0() throws RecognitionException;
-     void rule__XForLoopExpression__Group__0__Impl() throws RecognitionException;
-     void rule__XForLoopExpression__Group__1() throws RecognitionException;
-     void rule__XForLoopExpression__Group__1__Impl() throws RecognitionException;
-     void rule__XForLoopExpression__Group__2() throws RecognitionException;
-     void rule__XForLoopExpression__Group__2__Impl() throws RecognitionException;
-     void rule__XForLoopExpression__Group__3() throws RecognitionException;
-     void rule__XForLoopExpression__Group__3__Impl() throws RecognitionException;
-     void rule__XForLoopExpression__Group_0__0() throws RecognitionException;
-     void rule__XForLoopExpression__Group_0__0__Impl() throws RecognitionException;
-     void rule__XForLoopExpression__Group_0_0__0() throws RecognitionException;
-     void rule__XForLoopExpression__Group_0_0__0__Impl() throws RecognitionException;
-     void rule__XForLoopExpression__Group_0_0__1() throws RecognitionException;
-     void rule__XForLoopExpression__Group_0_0__1__Impl() throws RecognitionException;
-     void rule__XForLoopExpression__Group_0_0__2() throws RecognitionException;
-     void rule__XForLoopExpression__Group_0_0__2__Impl() throws RecognitionException;
-     void rule__XForLoopExpression__Group_0_0__3() throws RecognitionException;
-     void rule__XForLoopExpression__Group_0_0__3__Impl() throws RecognitionException;
-     void rule__XForLoopExpression__Group_0_0__4() throws RecognitionException;
-     void rule__XForLoopExpression__Group_0_0__4__Impl() throws RecognitionException;
-     void rule__XBasicForLoopExpression__Group__0() throws RecognitionException;
-     void rule__XBasicForLoopExpression__Group__0__Impl() throws RecognitionException;
-     void rule__XBasicForLoopExpression__Group__1() throws RecognitionException;
-     void rule__XBasicForLoopExpression__Group__1__Impl() throws RecognitionException;
-     void rule__XBasicForLoopExpression__Group__2() throws RecognitionException;
-     void rule__XBasicForLoopExpression__Group__2__Impl() throws RecognitionException;
-     void rule__XBasicForLoopExpression__Group__3() throws RecognitionException;
-     void rule__XBasicForLoopExpression__Group__3__Impl() throws RecognitionException;
-     void rule__XBasicForLoopExpression__Group__4() throws RecognitionException;
-     void rule__XBasicForLoopExpression__Group__4__Impl() throws RecognitionException;
-     void rule__XBasicForLoopExpression__Group__5() throws RecognitionException;
-     void rule__XBasicForLoopExpression__Group__5__Impl() throws RecognitionException;
-     void rule__XBasicForLoopExpression__Group__6() throws RecognitionException;
-     void rule__XBasicForLoopExpression__Group__6__Impl() throws RecognitionException;
-     void rule__XBasicForLoopExpression__Group__7() throws RecognitionException;
-     void rule__XBasicForLoopExpression__Group__7__Impl() throws RecognitionException;
-     void rule__XBasicForLoopExpression__Group__8() throws RecognitionException;
-     void rule__XBasicForLoopExpression__Group__8__Impl() throws RecognitionException;
-     void rule__XBasicForLoopExpression__Group__9() throws RecognitionException;
-     void rule__XBasicForLoopExpression__Group__9__Impl() throws RecognitionException;
-     void rule__XBasicForLoopExpression__Group_3__0() throws RecognitionException;
-     void rule__XBasicForLoopExpression__Group_3__0__Impl() throws RecognitionException;
-     void rule__XBasicForLoopExpression__Group_3__1() throws RecognitionException;
-     void rule__XBasicForLoopExpression__Group_3__1__Impl() throws RecognitionException;
-     void rule__XBasicForLoopExpression__Group_3_1__0() throws RecognitionException;
-     void rule__XBasicForLoopExpression__Group_3_1__0__Impl() throws RecognitionException;
-     void rule__XBasicForLoopExpression__Group_3_1__1() throws RecognitionException;
-     void rule__XBasicForLoopExpression__Group_3_1__1__Impl() throws RecognitionException;
-     void rule__XBasicForLoopExpression__Group_7__0() throws RecognitionException;
-     void rule__XBasicForLoopExpression__Group_7__0__Impl() throws RecognitionException;
-     void rule__XBasicForLoopExpression__Group_7__1() throws RecognitionException;
-     void rule__XBasicForLoopExpression__Group_7__1__Impl() throws RecognitionException;
-     void rule__XBasicForLoopExpression__Group_7_1__0() throws RecognitionException;
-     void rule__XBasicForLoopExpression__Group_7_1__0__Impl() throws RecognitionException;
-     void rule__XBasicForLoopExpression__Group_7_1__1() throws RecognitionException;
-     void rule__XBasicForLoopExpression__Group_7_1__1__Impl() throws RecognitionException;
-     void rule__XWhileExpression__Group__0() throws RecognitionException;
-     void rule__XWhileExpression__Group__0__Impl() throws RecognitionException;
-     void rule__XWhileExpression__Group__1() throws RecognitionException;
-     void rule__XWhileExpression__Group__1__Impl() throws RecognitionException;
-     void rule__XWhileExpression__Group__2() throws RecognitionException;
-     void rule__XWhileExpression__Group__2__Impl() throws RecognitionException;
-     void rule__XWhileExpression__Group__3() throws RecognitionException;
-     void rule__XWhileExpression__Group__3__Impl() throws RecognitionException;
-     void rule__XWhileExpression__Group__4() throws RecognitionException;
-     void rule__XWhileExpression__Group__4__Impl() throws RecognitionException;
-     void rule__XWhileExpression__Group__5() throws RecognitionException;
-     void rule__XWhileExpression__Group__5__Impl() throws RecognitionException;
-     void rule__XDoWhileExpression__Group__0() throws RecognitionException;
-     void rule__XDoWhileExpression__Group__0__Impl() throws RecognitionException;
-     void rule__XDoWhileExpression__Group__1() throws RecognitionException;
-     void rule__XDoWhileExpression__Group__1__Impl() throws RecognitionException;
-     void rule__XDoWhileExpression__Group__2() throws RecognitionException;
-     void rule__XDoWhileExpression__Group__2__Impl() throws RecognitionException;
-     void rule__XDoWhileExpression__Group__3() throws RecognitionException;
-     void rule__XDoWhileExpression__Group__3__Impl() throws RecognitionException;
-     void rule__XDoWhileExpression__Group__4() throws RecognitionException;
-     void rule__XDoWhileExpression__Group__4__Impl() throws RecognitionException;
-     void rule__XDoWhileExpression__Group__5() throws RecognitionException;
-     void rule__XDoWhileExpression__Group__5__Impl() throws RecognitionException;
-     void rule__XDoWhileExpression__Group__6() throws RecognitionException;
-     void rule__XDoWhileExpression__Group__6__Impl() throws RecognitionException;
-     void rule__XBlockExpression__Group__0() throws RecognitionException;
-     void rule__XBlockExpression__Group__0__Impl() throws RecognitionException;
-     void rule__XBlockExpression__Group__1() throws RecognitionException;
-     void rule__XBlockExpression__Group__1__Impl() throws RecognitionException;
-     void rule__XBlockExpression__Group__2() throws RecognitionException;
-     void rule__XBlockExpression__Group__2__Impl() throws RecognitionException;
-     void rule__XBlockExpression__Group__3() throws RecognitionException;
-     void rule__XBlockExpression__Group__3__Impl() throws RecognitionException;
-     void rule__XBlockExpression__Group_2__0() throws RecognitionException;
-     void rule__XBlockExpression__Group_2__0__Impl() throws RecognitionException;
-     void rule__XBlockExpression__Group_2__1() throws RecognitionException;
-     void rule__XBlockExpression__Group_2__1__Impl() throws RecognitionException;
-     void rule__XVariableDeclaration__Group__0() throws RecognitionException;
-     void rule__XVariableDeclaration__Group__0__Impl() throws RecognitionException;
-     void rule__XVariableDeclaration__Group__1() throws RecognitionException;
-     void rule__XVariableDeclaration__Group__1__Impl() throws RecognitionException;
-     void rule__XVariableDeclaration__Group__2() throws RecognitionException;
-     void rule__XVariableDeclaration__Group__2__Impl() throws RecognitionException;
-     void rule__XVariableDeclaration__Group__3() throws RecognitionException;
-     void rule__XVariableDeclaration__Group__3__Impl() throws RecognitionException;
-     void rule__XVariableDeclaration__Group_2_0__0() throws RecognitionException;
-     void rule__XVariableDeclaration__Group_2_0__0__Impl() throws RecognitionException;
-     void rule__XVariableDeclaration__Group_2_0_0__0() throws RecognitionException;
-     void rule__XVariableDeclaration__Group_2_0_0__0__Impl() throws RecognitionException;
-     void rule__XVariableDeclaration__Group_2_0_0__1() throws RecognitionException;
-     void rule__XVariableDeclaration__Group_2_0_0__1__Impl() throws RecognitionException;
-     void rule__XVariableDeclaration__Group_3__0() throws RecognitionException;
-     void rule__XVariableDeclaration__Group_3__0__Impl() throws RecognitionException;
-     void rule__XVariableDeclaration__Group_3__1() throws RecognitionException;
-     void rule__XVariableDeclaration__Group_3__1__Impl() throws RecognitionException;
-     void rule__JvmFormalParameter__Group__0() throws RecognitionException;
-     void rule__JvmFormalParameter__Group__0__Impl() throws RecognitionException;
-     void rule__JvmFormalParameter__Group__1() throws RecognitionException;
-     void rule__JvmFormalParameter__Group__1__Impl() throws RecognitionException;
-     void rule__FullJvmFormalParameter__Group__0() throws RecognitionException;
-     void rule__FullJvmFormalParameter__Group__0__Impl() throws RecognitionException;
-     void rule__FullJvmFormalParameter__Group__1() throws RecognitionException;
-     void rule__FullJvmFormalParameter__Group__1__Impl() throws RecognitionException;
-     void rule__XFeatureCall__Group__0() throws RecognitionException;
-     void rule__XFeatureCall__Group__0__Impl() throws RecognitionException;
-     void rule__XFeatureCall__Group__1() throws RecognitionException;
-     void rule__XFeatureCall__Group__1__Impl() throws RecognitionException;
-     void rule__XFeatureCall__Group__2() throws RecognitionException;
-     void rule__XFeatureCall__Group__2__Impl() throws RecognitionException;
-     void rule__XFeatureCall__Group__3() throws RecognitionException;
-     void rule__XFeatureCall__Group__3__Impl() throws RecognitionException;
-     void rule__XFeatureCall__Group__4() throws RecognitionException;
-     void rule__XFeatureCall__Group__4__Impl() throws RecognitionException;
-     void rule__XFeatureCall__Group_1__0() throws RecognitionException;
-     void rule__XFeatureCall__Group_1__0__Impl() throws RecognitionException;
-     void rule__XFeatureCall__Group_1__1() throws RecognitionException;
-     void rule__XFeatureCall__Group_1__1__Impl() throws RecognitionException;
-     void rule__XFeatureCall__Group_1__2() throws RecognitionException;
-     void rule__XFeatureCall__Group_1__2__Impl() throws RecognitionException;
-     void rule__XFeatureCall__Group_1__3() throws RecognitionException;
-     void rule__XFeatureCall__Group_1__3__Impl() throws RecognitionException;
-     void rule__XFeatureCall__Group_1_2__0() throws RecognitionException;
-     void rule__XFeatureCall__Group_1_2__0__Impl() throws RecognitionException;
-     void rule__XFeatureCall__Group_1_2__1() throws RecognitionException;
-     void rule__XFeatureCall__Group_1_2__1__Impl() throws RecognitionException;
-     void rule__XFeatureCall__Group_3__0() throws RecognitionException;
-     void rule__XFeatureCall__Group_3__0__Impl() throws RecognitionException;
-     void rule__XFeatureCall__Group_3__1() throws RecognitionException;
-     void rule__XFeatureCall__Group_3__1__Impl() throws RecognitionException;
-     void rule__XFeatureCall__Group_3__2() throws RecognitionException;
-     void rule__XFeatureCall__Group_3__2__Impl() throws RecognitionException;
-     void rule__XFeatureCall__Group_3_1_1__0() throws RecognitionException;
-     void rule__XFeatureCall__Group_3_1_1__0__Impl() throws RecognitionException;
-     void rule__XFeatureCall__Group_3_1_1__1() throws RecognitionException;
-     void rule__XFeatureCall__Group_3_1_1__1__Impl() throws RecognitionException;
-     void rule__XFeatureCall__Group_3_1_1_1__0() throws RecognitionException;
-     void rule__XFeatureCall__Group_3_1_1_1__0__Impl() throws RecognitionException;
-     void rule__XFeatureCall__Group_3_1_1_1__1() throws RecognitionException;
-     void rule__XFeatureCall__Group_3_1_1_1__1__Impl() throws RecognitionException;
-     void rule__XConstructorCall__Group__0() throws RecognitionException;
-     void rule__XConstructorCall__Group__0__Impl() throws RecognitionException;
-     void rule__XConstructorCall__Group__1() throws RecognitionException;
-     void rule__XConstructorCall__Group__1__Impl() throws RecognitionException;
-     void rule__XConstructorCall__Group__2() throws RecognitionException;
-     void rule__XConstructorCall__Group__2__Impl() throws RecognitionException;
-     void rule__XConstructorCall__Group__3() throws RecognitionException;
-     void rule__XConstructorCall__Group__3__Impl() throws RecognitionException;
-     void rule__XConstructorCall__Group__4() throws RecognitionException;
-     void rule__XConstructorCall__Group__4__Impl() throws RecognitionException;
-     void rule__XConstructorCall__Group__5() throws RecognitionException;
-     void rule__XConstructorCall__Group__5__Impl() throws RecognitionException;
-     void rule__XConstructorCall__Group_3__0() throws RecognitionException;
-     void rule__XConstructorCall__Group_3__0__Impl() throws RecognitionException;
-     void rule__XConstructorCall__Group_3__1() throws RecognitionException;
-     void rule__XConstructorCall__Group_3__1__Impl() throws RecognitionException;
-     void rule__XConstructorCall__Group_3__2() throws RecognitionException;
-     void rule__XConstructorCall__Group_3__2__Impl() throws RecognitionException;
-     void rule__XConstructorCall__Group_3__3() throws RecognitionException;
-     void rule__XConstructorCall__Group_3__3__Impl() throws RecognitionException;
-     void rule__XConstructorCall__Group_3_2__0() throws RecognitionException;
-     void rule__XConstructorCall__Group_3_2__0__Impl() throws RecognitionException;
-     void rule__XConstructorCall__Group_3_2__1() throws RecognitionException;
-     void rule__XConstructorCall__Group_3_2__1__Impl() throws RecognitionException;
-     void rule__XConstructorCall__Group_4__0() throws RecognitionException;
-     void rule__XConstructorCall__Group_4__0__Impl() throws RecognitionException;
-     void rule__XConstructorCall__Group_4__1() throws RecognitionException;
-     void rule__XConstructorCall__Group_4__1__Impl() throws RecognitionException;
-     void rule__XConstructorCall__Group_4__2() throws RecognitionException;
-     void rule__XConstructorCall__Group_4__2__Impl() throws RecognitionException;
-     void rule__XConstructorCall__Group_4_1_1__0() throws RecognitionException;
-     void rule__XConstructorCall__Group_4_1_1__0__Impl() throws RecognitionException;
-     void rule__XConstructorCall__Group_4_1_1__1() throws RecognitionException;
-     void rule__XConstructorCall__Group_4_1_1__1__Impl() throws RecognitionException;
-     void rule__XConstructorCall__Group_4_1_1_1__0() throws RecognitionException;
-     void rule__XConstructorCall__Group_4_1_1_1__0__Impl() throws RecognitionException;
-     void rule__XConstructorCall__Group_4_1_1_1__1() throws RecognitionException;
-     void rule__XConstructorCall__Group_4_1_1_1__1__Impl() throws RecognitionException;
-     void rule__XBooleanLiteral__Group__0() throws RecognitionException;
-     void rule__XBooleanLiteral__Group__0__Impl() throws RecognitionException;
-     void rule__XBooleanLiteral__Group__1() throws RecognitionException;
-     void rule__XBooleanLiteral__Group__1__Impl() throws RecognitionException;
-     void rule__XNullLiteral__Group__0() throws RecognitionException;
-     void rule__XNullLiteral__Group__0__Impl() throws RecognitionException;
-     void rule__XNullLiteral__Group__1() throws RecognitionException;
-     void rule__XNullLiteral__Group__1__Impl() throws RecognitionException;
-     void rule__XNumberLiteral__Group__0() throws RecognitionException;
-     void rule__XNumberLiteral__Group__0__Impl() throws RecognitionException;
-     void rule__XNumberLiteral__Group__1() throws RecognitionException;
-     void rule__XNumberLiteral__Group__1__Impl() throws RecognitionException;
-     void rule__XStringLiteral__Group__0() throws RecognitionException;
-     void rule__XStringLiteral__Group__0__Impl() throws RecognitionException;
-     void rule__XStringLiteral__Group__1() throws RecognitionException;
-     void rule__XStringLiteral__Group__1__Impl() throws RecognitionException;
-     void rule__XTypeLiteral__Group__0() throws RecognitionException;
-     void rule__XTypeLiteral__Group__0__Impl() throws RecognitionException;
-     void rule__XTypeLiteral__Group__1() throws RecognitionException;
-     void rule__XTypeLiteral__Group__1__Impl() throws RecognitionException;
-     void rule__XTypeLiteral__Group__2() throws RecognitionException;
-     void rule__XTypeLiteral__Group__2__Impl() throws RecognitionException;
-     void rule__XTypeLiteral__Group__3() throws RecognitionException;
-     void rule__XTypeLiteral__Group__3__Impl() throws RecognitionException;
-     void rule__XTypeLiteral__Group__4() throws RecognitionException;
-     void rule__XTypeLiteral__Group__4__Impl() throws RecognitionException;
-     void rule__XTypeLiteral__Group__5() throws RecognitionException;
-     void rule__XTypeLiteral__Group__5__Impl() throws RecognitionException;
-     void rule__XThrowExpression__Group__0() throws RecognitionException;
-     void rule__XThrowExpression__Group__0__Impl() throws RecognitionException;
-     void rule__XThrowExpression__Group__1() throws RecognitionException;
-     void rule__XThrowExpression__Group__1__Impl() throws RecognitionException;
-     void rule__XThrowExpression__Group__2() throws RecognitionException;
-     void rule__XThrowExpression__Group__2__Impl() throws RecognitionException;
-     void rule__XReturnExpression__Group__0() throws RecognitionException;
-     void rule__XReturnExpression__Group__0__Impl() throws RecognitionException;
-     void rule__XReturnExpression__Group__1() throws RecognitionException;
-     void rule__XReturnExpression__Group__1__Impl() throws RecognitionException;
-     void rule__XReturnExpression__Group__2() throws RecognitionException;
-     void rule__XReturnExpression__Group__2__Impl() throws RecognitionException;
-     void rule__XTryCatchFinallyExpression__Group__0() throws RecognitionException;
-     void rule__XTryCatchFinallyExpression__Group__0__Impl() throws RecognitionException;
-     void rule__XTryCatchFinallyExpression__Group__1() throws RecognitionException;
-     void rule__XTryCatchFinallyExpression__Group__1__Impl() throws RecognitionException;
-     void rule__XTryCatchFinallyExpression__Group__2() throws RecognitionException;
-     void rule__XTryCatchFinallyExpression__Group__2__Impl() throws RecognitionException;
-     void rule__XTryCatchFinallyExpression__Group__3() throws RecognitionException;
-     void rule__XTryCatchFinallyExpression__Group__3__Impl() throws RecognitionException;
-     void rule__XTryCatchFinallyExpression__Group_3_0__0() throws RecognitionException;
-     void rule__XTryCatchFinallyExpression__Group_3_0__0__Impl() throws RecognitionException;
-     void rule__XTryCatchFinallyExpression__Group_3_0__1() throws RecognitionException;
-     void rule__XTryCatchFinallyExpression__Group_3_0__1__Impl() throws RecognitionException;
-     void rule__XTryCatchFinallyExpression__Group_3_0_1__0() throws RecognitionException;
-     void rule__XTryCatchFinallyExpression__Group_3_0_1__0__Impl() throws RecognitionException;
-     void rule__XTryCatchFinallyExpression__Group_3_0_1__1() throws RecognitionException;
-     void rule__XTryCatchFinallyExpression__Group_3_0_1__1__Impl() throws RecognitionException;
-     void rule__XTryCatchFinallyExpression__Group_3_1__0() throws RecognitionException;
-     void rule__XTryCatchFinallyExpression__Group_3_1__0__Impl() throws RecognitionException;
-     void rule__XTryCatchFinallyExpression__Group_3_1__1() throws RecognitionException;
-     void rule__XTryCatchFinallyExpression__Group_3_1__1__Impl() throws RecognitionException;
-     void rule__XSynchronizedExpression__Group__0() throws RecognitionException;
-     void rule__XSynchronizedExpression__Group__0__Impl() throws RecognitionException;
-     void rule__XSynchronizedExpression__Group__1() throws RecognitionException;
-     void rule__XSynchronizedExpression__Group__1__Impl() throws RecognitionException;
-     void rule__XSynchronizedExpression__Group__2() throws RecognitionException;
-     void rule__XSynchronizedExpression__Group__2__Impl() throws RecognitionException;
-     void rule__XSynchronizedExpression__Group__3() throws RecognitionException;
-     void rule__XSynchronizedExpression__Group__3__Impl() throws RecognitionException;
-     void rule__XSynchronizedExpression__Group_0__0() throws RecognitionException;
-     void rule__XSynchronizedExpression__Group_0__0__Impl() throws RecognitionException;
-     void rule__XSynchronizedExpression__Group_0_0__0() throws RecognitionException;
-     void rule__XSynchronizedExpression__Group_0_0__0__Impl() throws RecognitionException;
-     void rule__XSynchronizedExpression__Group_0_0__1() throws RecognitionException;
-     void rule__XSynchronizedExpression__Group_0_0__1__Impl() throws RecognitionException;
-     void rule__XSynchronizedExpression__Group_0_0__2() throws RecognitionException;
-     void rule__XSynchronizedExpression__Group_0_0__2__Impl() throws RecognitionException;
-     void rule__XCatchClause__Group__0() throws RecognitionException;
-     void rule__XCatchClause__Group__0__Impl() throws RecognitionException;
-     void rule__XCatchClause__Group__1() throws RecognitionException;
-     void rule__XCatchClause__Group__1__Impl() throws RecognitionException;
-     void rule__XCatchClause__Group__2() throws RecognitionException;
-     void rule__XCatchClause__Group__2__Impl() throws RecognitionException;
-     void rule__XCatchClause__Group__3() throws RecognitionException;
-     void rule__XCatchClause__Group__3__Impl() throws RecognitionException;
-     void rule__XCatchClause__Group__4() throws RecognitionException;
-     void rule__XCatchClause__Group__4__Impl() throws RecognitionException;
-     void rule__QualifiedName__Group__0() throws RecognitionException;
-     void rule__QualifiedName__Group__0__Impl() throws RecognitionException;
-     void rule__QualifiedName__Group__1() throws RecognitionException;
-     void rule__QualifiedName__Group__1__Impl() throws RecognitionException;
-     void rule__QualifiedName__Group_1__0() throws RecognitionException;
-     void rule__QualifiedName__Group_1__0__Impl() throws RecognitionException;
-     void rule__QualifiedName__Group_1__1() throws RecognitionException;
-     void rule__QualifiedName__Group_1__1__Impl() throws RecognitionException;
-     void rule__Number__Group_1__0() throws RecognitionException;
-     void rule__Number__Group_1__0__Impl() throws RecognitionException;
-     void rule__Number__Group_1__1() throws RecognitionException;
-     void rule__Number__Group_1__1__Impl() throws RecognitionException;
-     void rule__Number__Group_1_1__0() throws RecognitionException;
-     void rule__Number__Group_1_1__0__Impl() throws RecognitionException;
-     void rule__Number__Group_1_1__1() throws RecognitionException;
-     void rule__Number__Group_1_1__1__Impl() throws RecognitionException;
-     void rule__JvmTypeReference__Group_0__0() throws RecognitionException;
-     void rule__JvmTypeReference__Group_0__0__Impl() throws RecognitionException;
-     void rule__JvmTypeReference__Group_0__1() throws RecognitionException;
-     void rule__JvmTypeReference__Group_0__1__Impl() throws RecognitionException;
-     void rule__JvmTypeReference__Group_0_1__0() throws RecognitionException;
-     void rule__JvmTypeReference__Group_0_1__0__Impl() throws RecognitionException;
-     void rule__JvmTypeReference__Group_0_1_0__0() throws RecognitionException;
-     void rule__JvmTypeReference__Group_0_1_0__0__Impl() throws RecognitionException;
-     void rule__JvmTypeReference__Group_0_1_0__1() throws RecognitionException;
-     void rule__JvmTypeReference__Group_0_1_0__1__Impl() throws RecognitionException;
-     void rule__ArrayBrackets__Group__0() throws RecognitionException;
-     void rule__ArrayBrackets__Group__0__Impl() throws RecognitionException;
-     void rule__ArrayBrackets__Group__1() throws RecognitionException;
-     void rule__ArrayBrackets__Group__1__Impl() throws RecognitionException;
-     void rule__XFunctionTypeRef__Group__0() throws RecognitionException;
-     void rule__XFunctionTypeRef__Group__0__Impl() throws RecognitionException;
-     void rule__XFunctionTypeRef__Group__1() throws RecognitionException;
-     void rule__XFunctionTypeRef__Group__1__Impl() throws RecognitionException;
-     void rule__XFunctionTypeRef__Group__2() throws RecognitionException;
-     void rule__XFunctionTypeRef__Group__2__Impl() throws RecognitionException;
-     void rule__XFunctionTypeRef__Group_0__0() throws RecognitionException;
-     void rule__XFunctionTypeRef__Group_0__0__Impl() throws RecognitionException;
-     void rule__XFunctionTypeRef__Group_0__1() throws RecognitionException;
-     void rule__XFunctionTypeRef__Group_0__1__Impl() throws RecognitionException;
-     void rule__XFunctionTypeRef__Group_0__2() throws RecognitionException;
-     void rule__XFunctionTypeRef__Group_0__2__Impl() throws RecognitionException;
-     void rule__XFunctionTypeRef__Group_0_1__0() throws RecognitionException;
-     void rule__XFunctionTypeRef__Group_0_1__0__Impl() throws RecognitionException;
-     void rule__XFunctionTypeRef__Group_0_1__1() throws RecognitionException;
-     void rule__XFunctionTypeRef__Group_0_1__1__Impl() throws RecognitionException;
-     void rule__XFunctionTypeRef__Group_0_1_1__0() throws RecognitionException;
-     void rule__XFunctionTypeRef__Group_0_1_1__0__Impl() throws RecognitionException;
-     void rule__XFunctionTypeRef__Group_0_1_1__1() throws RecognitionException;
-     void rule__XFunctionTypeRef__Group_0_1_1__1__Impl() throws RecognitionException;
-     void rule__JvmParameterizedTypeReference__Group__0() throws RecognitionException;
-     void rule__JvmParameterizedTypeReference__Group__0__Impl() throws RecognitionException;
-     void rule__JvmParameterizedTypeReference__Group__1() throws RecognitionException;
-     void rule__JvmParameterizedTypeReference__Group__1__Impl() throws RecognitionException;
-     void rule__JvmParameterizedTypeReference__Group_1__0() throws RecognitionException;
-     void rule__JvmParameterizedTypeReference__Group_1__0__Impl() throws RecognitionException;
-     void rule__JvmParameterizedTypeReference__Group_1__1() throws RecognitionException;
-     void rule__JvmParameterizedTypeReference__Group_1__1__Impl() throws RecognitionException;
-     void rule__JvmParameterizedTypeReference__Group_1__2() throws RecognitionException;
-     void rule__JvmParameterizedTypeReference__Group_1__2__Impl() throws RecognitionException;
-     void rule__JvmParameterizedTypeReference__Group_1__3() throws RecognitionException;
-     void rule__JvmParameterizedTypeReference__Group_1__3__Impl() throws RecognitionException;
-     void rule__JvmParameterizedTypeReference__Group_1__4() throws RecognitionException;
-     void rule__JvmParameterizedTypeReference__Group_1__4__Impl() throws RecognitionException;
-     void rule__JvmParameterizedTypeReference__Group_1_2__0() throws RecognitionException;
-     void rule__JvmParameterizedTypeReference__Group_1_2__0__Impl() throws RecognitionException;
-     void rule__JvmParameterizedTypeReference__Group_1_2__1() throws RecognitionException;
-     void rule__JvmParameterizedTypeReference__Group_1_2__1__Impl() throws RecognitionException;
-     void rule__JvmParameterizedTypeReference__Group_1_4__0() throws RecognitionException;
-     void rule__JvmParameterizedTypeReference__Group_1_4__0__Impl() throws RecognitionException;
-     void rule__JvmParameterizedTypeReference__Group_1_4__1() throws RecognitionException;
-     void rule__JvmParameterizedTypeReference__Group_1_4__1__Impl() throws RecognitionException;
-     void rule__JvmParameterizedTypeReference__Group_1_4__2() throws RecognitionException;
-     void rule__JvmParameterizedTypeReference__Group_1_4__2__Impl() throws RecognitionException;
-     void rule__JvmParameterizedTypeReference__Group_1_4_0__0() throws RecognitionException;
-     void rule__JvmParameterizedTypeReference__Group_1_4_0__0__Impl() throws RecognitionException;
-     void rule__JvmParameterizedTypeReference__Group_1_4_0_0__0() throws RecognitionException;
-     void rule__JvmParameterizedTypeReference__Group_1_4_0_0__0__Impl() throws RecognitionException;
-     void rule__JvmParameterizedTypeReference__Group_1_4_0_0__1() throws RecognitionException;
-     void rule__JvmParameterizedTypeReference__Group_1_4_0_0__1__Impl() throws RecognitionException;
-     void rule__JvmParameterizedTypeReference__Group_1_4_2__0() throws RecognitionException;
-     void rule__JvmParameterizedTypeReference__Group_1_4_2__0__Impl() throws RecognitionException;
-     void rule__JvmParameterizedTypeReference__Group_1_4_2__1() throws RecognitionException;
-     void rule__JvmParameterizedTypeReference__Group_1_4_2__1__Impl() throws RecognitionException;
-     void rule__JvmParameterizedTypeReference__Group_1_4_2__2() throws RecognitionException;
-     void rule__JvmParameterizedTypeReference__Group_1_4_2__2__Impl() throws RecognitionException;
-     void rule__JvmParameterizedTypeReference__Group_1_4_2__3() throws RecognitionException;
-     void rule__JvmParameterizedTypeReference__Group_1_4_2__3__Impl() throws RecognitionException;
-     void rule__JvmParameterizedTypeReference__Group_1_4_2_2__0() throws RecognitionException;
-     void rule__JvmParameterizedTypeReference__Group_1_4_2_2__0__Impl() throws RecognitionException;
-     void rule__JvmParameterizedTypeReference__Group_1_4_2_2__1() throws RecognitionException;
-     void rule__JvmParameterizedTypeReference__Group_1_4_2_2__1__Impl() throws RecognitionException;
-     void rule__JvmWildcardTypeReference__Group__0() throws RecognitionException;
-     void rule__JvmWildcardTypeReference__Group__0__Impl() throws RecognitionException;
-     void rule__JvmWildcardTypeReference__Group__1() throws RecognitionException;
-     void rule__JvmWildcardTypeReference__Group__1__Impl() throws RecognitionException;
-     void rule__JvmWildcardTypeReference__Group__2() throws RecognitionException;
-     void rule__JvmWildcardTypeReference__Group__2__Impl() throws RecognitionException;
-     void rule__JvmWildcardTypeReference__Group_2_0__0() throws RecognitionException;
-     void rule__JvmWildcardTypeReference__Group_2_0__0__Impl() throws RecognitionException;
-     void rule__JvmWildcardTypeReference__Group_2_0__1() throws RecognitionException;
-     void rule__JvmWildcardTypeReference__Group_2_0__1__Impl() throws RecognitionException;
-     void rule__JvmWildcardTypeReference__Group_2_1__0() throws RecognitionException;
-     void rule__JvmWildcardTypeReference__Group_2_1__0__Impl() throws RecognitionException;
-     void rule__JvmWildcardTypeReference__Group_2_1__1() throws RecognitionException;
-     void rule__JvmWildcardTypeReference__Group_2_1__1__Impl() throws RecognitionException;
-     void rule__JvmUpperBound__Group__0() throws RecognitionException;
-     void rule__JvmUpperBound__Group__0__Impl() throws RecognitionException;
-     void rule__JvmUpperBound__Group__1() throws RecognitionException;
-     void rule__JvmUpperBound__Group__1__Impl() throws RecognitionException;
-     void rule__JvmUpperBoundAnded__Group__0() throws RecognitionException;
-     void rule__JvmUpperBoundAnded__Group__0__Impl() throws RecognitionException;
-     void rule__JvmUpperBoundAnded__Group__1() throws RecognitionException;
-     void rule__JvmUpperBoundAnded__Group__1__Impl() throws RecognitionException;
-     void rule__JvmLowerBound__Group__0() throws RecognitionException;
-     void rule__JvmLowerBound__Group__0__Impl() throws RecognitionException;
-     void rule__JvmLowerBound__Group__1() throws RecognitionException;
-     void rule__JvmLowerBound__Group__1__Impl() throws RecognitionException;
-     void rule__JvmLowerBoundAnded__Group__0() throws RecognitionException;
-     void rule__JvmLowerBoundAnded__Group__0__Impl() throws RecognitionException;
-     void rule__JvmLowerBoundAnded__Group__1() throws RecognitionException;
-     void rule__JvmLowerBoundAnded__Group__1__Impl() throws RecognitionException;
-     void rule__QualifiedNameWithWildcard__Group__0() throws RecognitionException;
-     void rule__QualifiedNameWithWildcard__Group__0__Impl() throws RecognitionException;
-     void rule__QualifiedNameWithWildcard__Group__1() throws RecognitionException;
-     void rule__QualifiedNameWithWildcard__Group__1__Impl() throws RecognitionException;
-     void rule__QualifiedNameWithWildcard__Group__2() throws RecognitionException;
-     void rule__QualifiedNameWithWildcard__Group__2__Impl() throws RecognitionException;
-     void rule__XImportDeclaration__Group__0() throws RecognitionException;
-     void rule__XImportDeclaration__Group__0__Impl() throws RecognitionException;
-     void rule__XImportDeclaration__Group__1() throws RecognitionException;
-     void rule__XImportDeclaration__Group__1__Impl() throws RecognitionException;
-     void rule__XImportDeclaration__Group__2() throws RecognitionException;
-     void rule__XImportDeclaration__Group__2__Impl() throws RecognitionException;
-     void rule__XImportDeclaration__Group_1_0__0() throws RecognitionException;
-     void rule__XImportDeclaration__Group_1_0__0__Impl() throws RecognitionException;
-     void rule__XImportDeclaration__Group_1_0__1() throws RecognitionException;
-     void rule__XImportDeclaration__Group_1_0__1__Impl() throws RecognitionException;
-     void rule__XImportDeclaration__Group_1_0__2() throws RecognitionException;
-     void rule__XImportDeclaration__Group_1_0__2__Impl() throws RecognitionException;
-     void rule__XImportDeclaration__Group_1_0__3() throws RecognitionException;
-     void rule__XImportDeclaration__Group_1_0__3__Impl() throws RecognitionException;
-     void rule__QualifiedNameInStaticImport__Group__0() throws RecognitionException;
-     void rule__QualifiedNameInStaticImport__Group__0__Impl() throws RecognitionException;
-     void rule__QualifiedNameInStaticImport__Group__1() throws RecognitionException;
-     void rule__QualifiedNameInStaticImport__Group__1__Impl() throws RecognitionException;
-     void rule__Font__UnorderedGroup() throws RecognitionException;
-     void rule__Font__UnorderedGroup__Impl() throws RecognitionException;
-     void rule__Font__UnorderedGroup__0() throws RecognitionException;
-     void rule__Font__UnorderedGroup__1() throws RecognitionException;
-     void rule__Font__UnorderedGroup__2() throws RecognitionException;
-     void rule__Font__UnorderedGroup__3() throws RecognitionException;
-     void rule__Style__UnorderedGroup_4() throws RecognitionException;
-     void rule__Style__UnorderedGroup_4__Impl() throws RecognitionException;
-     void rule__Style__UnorderedGroup_4__0() throws RecognitionException;
-     void rule__Style__UnorderedGroup_4__1() throws RecognitionException;
-     void rule__Style__UnorderedGroup_4__2() throws RecognitionException;
-     void rule__Style__UnorderedGroup_4__3() throws RecognitionException;
-     void rule__Style__UnorderedGroup_4__4() throws RecognitionException;
-     void rule__Style__UnorderedGroup_4__5() throws RecognitionException;
-     void rule__Style__UnorderedGroup_4__6() throws RecognitionException;
-     void rule__Style__UnorderedGroup_4__7() throws RecognitionException;
-     void rule__Style__UnorderedGroup_4__8() throws RecognitionException;
-     void rule__Style__UnorderedGroup_4__9() throws RecognitionException;
-     void rule__Style__UnorderedGroup_4__10() throws RecognitionException;
-     void rule__Style__UnorderedGroup_4__11() throws RecognitionException;
-     void rule__Style__UnorderedGroup_4__12() throws RecognitionException;
-     void rule__Style__UnorderedGroup_4__13() throws RecognitionException;
-     void rule__Style__UnorderedGroup_4__14() throws RecognitionException;
-     void rule__Style__UnorderedGroup_4__15() throws RecognitionException;
-     void rule__Style__UnorderedGroup_4__16() throws RecognitionException;
-     void rule__MediaStyle__UnorderedGroup_3() throws RecognitionException;
-     void rule__MediaStyle__UnorderedGroup_3__Impl() throws RecognitionException;
-     void rule__MediaStyle__UnorderedGroup_3__0() throws RecognitionException;
-     void rule__MediaStyle__UnorderedGroup_3__1() throws RecognitionException;
-     void rule__MediaStyle__UnorderedGroup_3__2() throws RecognitionException;
-     void rule__MediaStyle__UnorderedGroup_3__3() throws RecognitionException;
-     void rule__MediaStyle__UnorderedGroup_3__4() throws RecognitionException;
-     void rule__MediaStyle__UnorderedGroup_3__5() throws RecognitionException;
-     void rule__MediaStyle__UnorderedGroup_3__6() throws RecognitionException;
-     void rule__MediaStyle__UnorderedGroup_3__7() throws RecognitionException;
-     void rule__MediaStyle__UnorderedGroup_3__8() throws RecognitionException;
-     void rule__MediaStyle__UnorderedGroup_3__9() throws RecognitionException;
-     void rule__MediaStyle__UnorderedGroup_3__10() throws RecognitionException;
-     void rule__MediaStyle__UnorderedGroup_3__11() throws RecognitionException;
-     void rule__MediaStyle__UnorderedGroup_3__12() throws RecognitionException;
-     void rule__MediaStyle__UnorderedGroup_3__13() throws RecognitionException;
-     void rule__MediaStyle__UnorderedGroup_3__14() throws RecognitionException;
-     void rule__MediaStyle__UnorderedGroup_3__15() throws RecognitionException;
-     void rule__MediaStyle__UnorderedGroup_3__16() throws RecognitionException;
-     void rule__DatamartTableProperty__UnorderedGroup_1() throws RecognitionException;
-     void rule__DatamartTableProperty__UnorderedGroup_1__Impl() throws RecognitionException;
-     void rule__DatamartTableProperty__UnorderedGroup_1__0() throws RecognitionException;
-     void rule__DatamartTableProperty__UnorderedGroup_1__1() throws RecognitionException;
-     void rule__DatamartTableProperty__UnorderedGroup_1__2() throws RecognitionException;
-     void rule__DatamartTableProperty__UnorderedGroup_1__3() throws RecognitionException;
-     void rule__TableImage__UnorderedGroup_3() throws RecognitionException;
-     void rule__TableImage__UnorderedGroup_3__Impl() throws RecognitionException;
-     void rule__TableImage__UnorderedGroup_3__0() throws RecognitionException;
-     void rule__TableImage__UnorderedGroup_3__1() throws RecognitionException;
-     void rule__TableImage__UnorderedGroup_3__2() throws RecognitionException;
-     void rule__TableAggregation__UnorderedGroup_2() throws RecognitionException;
-     void rule__TableAggregation__UnorderedGroup_2__Impl() throws RecognitionException;
-     void rule__TableAggregation__UnorderedGroup_2__0() throws RecognitionException;
-     void rule__TableAggregation__UnorderedGroup_2__1() throws RecognitionException;
-     void rule__ReportModel__PckgAssignment() throws RecognitionException;
-     void rule__ReportPackage__NameAssignment_2() throws RecognitionException;
-     void rule__ReportPackage__ImportsAssignment_4() throws RecognitionException;
-     void rule__ReportPackage__ExternalCssURIAssignment_5_2_1() throws RecognitionException;
-     void rule__ReportPackage__ExternalCssURIBundleAssignment_5_2_2_1() throws RecognitionException;
-     void rule__ReportPackage__PagetemplatesAssignment_5_3() throws RecognitionException;
-     void rule__ReportPackage__FormattersAssignment_5_4() throws RecognitionException;
-     void rule__ReportPackage__ColorsAssignment_5_5() throws RecognitionException;
-     void rule__ReportPackage__FontsAssignment_5_6() throws RecognitionException;
-     void rule__ReportPackage__MediasAssignment_5_7() throws RecognitionException;
-     void rule__ReportPackage__StylesAssignment_5_8() throws RecognitionException;
-     void rule__ReportPackage__ReportsAssignment_6() throws RecognitionException;
-     void rule__PageTemplates__PagetemplatesAssignment_1() throws RecognitionException;
-     void rule__SomeFormats__FormattersAssignment_3() throws RecognitionException;
-     void rule__Colors__ColorsAssignment_3() throws RecognitionException;
-     void rule__Fonts__FontsAssignment_3() throws RecognitionException;
-     void rule__Medias__MediasAssignment_3() throws RecognitionException;
-     void rule__Media__NameAssignment_1() throws RecognitionException;
-     void rule__Styles__StylesAssignment_3() throws RecognitionException;
-     void rule__PageTemplate__NameAssignment_1() throws RecognitionException;
-     void rule__PageTemplate__SizeAssignment_4() throws RecognitionException;
-     void rule__PageTemplate__OrientationAssignment_6() throws RecognitionException;
-     void rule__PageTemplate__TopMarginValueAssignment_8() throws RecognitionException;
-     void rule__PageTemplate__TopMarginUnitAssignment_9() throws RecognitionException;
-     void rule__PageTemplate__LeftMarginValueAssignment_11() throws RecognitionException;
-     void rule__PageTemplate__LeftMarginUnitAssignment_12() throws RecognitionException;
-     void rule__PageTemplate__BottomMarginValueAssignment_14() throws RecognitionException;
-     void rule__PageTemplate__BottomMarginUnitAssignment_15() throws RecognitionException;
-     void rule__PageTemplate__RightMarginValueAssignment_17() throws RecognitionException;
-     void rule__PageTemplate__RightMarginUnitAssignment_18() throws RecognitionException;
-     void rule__PageTemplate__HeaderAssignment_19() throws RecognitionException;
-     void rule__PageTemplate__FooterAssignment_20() throws RecognitionException;
-     void rule__Color__NameAssignment_1() throws RecognitionException;
-     void rule__Color__ColorAssignment_2_0() throws RecognitionException;
-     void rule__Color__BasecolorAssignment_2_1_1() throws RecognitionException;
-     void rule__Color__DarkensbyAssignment_2_1_3() throws RecognitionException;
-     void rule__Color__BasecolorAssignment_2_2_1() throws RecognitionException;
-     void rule__Color__LightensbyAssignment_2_2_3() throws RecognitionException;
-     void rule__Color__BasecolorAssignment_2_3_1() throws RecognitionException;
-     void rule__Color__TransformsbyAssignment_2_3_3() throws RecognitionException;
-     void rule__Color__TargetcolorAssignment_2_3_5() throws RecognitionException;
-     void rule__Font__NameAssignment_0_1() throws RecognitionException;
-     void rule__Font__ExtendsAssignment_0_3_1() throws RecognitionException;
-     void rule__Font__FamilyAssignment_0_4_1() throws RecognitionException;
-     void rule__Font__StyleAssignment_1() throws RecognitionException;
-     void rule__Font__BoldAssignment_2() throws RecognitionException;
-     void rule__Font__SizevalueAssignment_3_0_1() throws RecognitionException;
-     void rule__Font__SizeunitAssignment_3_0_2() throws RecognitionException;
-     void rule__BuildInFontFamily__CustomAssignment() throws RecognitionException;
-     void rule__CustomFontFamily__CustomAssignment() throws RecognitionException;
-     void rule__BorderStyle__TypeAssignment_0() throws RecognitionException;
-     void rule__BorderStyle__WidthvalueAssignment_1() throws RecognitionException;
-     void rule__BorderStyle__WidthunitAssignment_2() throws RecognitionException;
-     void rule__BorderStyle__ColorAssignment_3() throws RecognitionException;
-     void rule__Style__NameAssignment_1() throws RecognitionException;
-     void rule__Style__ExtendsAssignment_3_1() throws RecognitionException;
-     void rule__Style__FormatAssignment_4_0_1() throws RecognitionException;
-     void rule__Style__FontAssignment_4_1_1() throws RecognitionException;
-     void rule__Style__BackgroundcolorAssignment_4_2_1() throws RecognitionException;
-     void rule__Style__Backgroundcolor_alternateAssignment_4_2_2_1() throws RecognitionException;
-     void rule__Style__TextcolorAssignment_4_3_1() throws RecognitionException;
-     void rule__Style__TextalignAssignment_4_4_1() throws RecognitionException;
-     void rule__Style__BorderTopAssignment_4_5_1() throws RecognitionException;
-     void rule__Style__BorderBottomAssignment_4_6_1() throws RecognitionException;
-     void rule__Style__BorderLeftAssignment_4_7_1() throws RecognitionException;
-     void rule__Style__BorderRightAssignment_4_8_1() throws RecognitionException;
-     void rule__Style__PaddingTopValueAssignment_4_9_1() throws RecognitionException;
-     void rule__Style__PaddingTopUnitAssignment_4_9_2() throws RecognitionException;
-     void rule__Style__PaddingBottomValueAssignment_4_10_1() throws RecognitionException;
-     void rule__Style__PaddingBottomUnitAssignment_4_10_2() throws RecognitionException;
-     void rule__Style__PaddingLeftValueAssignment_4_11_1() throws RecognitionException;
-     void rule__Style__PaddingLeftUnitAssignment_4_11_2() throws RecognitionException;
-     void rule__Style__PaddingRightValueAssignment_4_12_1() throws RecognitionException;
-     void rule__Style__PaddingRightUnitAssignment_4_12_2() throws RecognitionException;
-     void rule__Style__MarginTopValueAssignment_4_13_1() throws RecognitionException;
-     void rule__Style__MarginTopUnitAssignment_4_13_2() throws RecognitionException;
-     void rule__Style__MarginBottomValueAssignment_4_14_1() throws RecognitionException;
-     void rule__Style__MarginBottomUnitAssignment_4_14_2() throws RecognitionException;
-     void rule__Style__MarginLeftValueAssignment_4_15_1() throws RecognitionException;
-     void rule__Style__MarginLeftUnitAssignment_4_15_2() throws RecognitionException;
-     void rule__Style__MarginRightValueAssignment_4_16_1() throws RecognitionException;
-     void rule__Style__MarginRightUnitAssignment_4_16_2() throws RecognitionException;
-     void rule__Style__MediastylesAssignment_5() throws RecognitionException;
-     void rule__MediaStyle__MediaAssignment_1() throws RecognitionException;
-     void rule__MediaStyle__FormatAssignment_3_0_1() throws RecognitionException;
-     void rule__MediaStyle__FontAssignment_3_1_1() throws RecognitionException;
-     void rule__MediaStyle__BackgroundcolorAssignment_3_2_1() throws RecognitionException;
-     void rule__MediaStyle__Backgroundcolor_alternateAssignment_3_2_2_1() throws RecognitionException;
-     void rule__MediaStyle__TextcolorAssignment_3_3_1() throws RecognitionException;
-     void rule__MediaStyle__TextalignAssignment_3_4_1() throws RecognitionException;
-     void rule__MediaStyle__BorderTopAssignment_3_5_1() throws RecognitionException;
-     void rule__MediaStyle__BorderBottomAssignment_3_6_1() throws RecognitionException;
-     void rule__MediaStyle__BorderLeftAssignment_3_7_1() throws RecognitionException;
-     void rule__MediaStyle__BorderRightAssignment_3_8_1() throws RecognitionException;
-     void rule__MediaStyle__PaddingTopValueAssignment_3_9_1() throws RecognitionException;
-     void rule__MediaStyle__PaddingTopUnitAssignment_3_9_2() throws RecognitionException;
-     void rule__MediaStyle__PaddingBottomValueAssignment_3_10_1() throws RecognitionException;
-     void rule__MediaStyle__PaddingBottomUnitAssignment_3_10_2() throws RecognitionException;
-     void rule__MediaStyle__PaddingLeftValueAssignment_3_11_1() throws RecognitionException;
-     void rule__MediaStyle__PaddingLeftUnitAssignment_3_11_2() throws RecognitionException;
-     void rule__MediaStyle__PaddingRightValueAssignment_3_12_1() throws RecognitionException;
-     void rule__MediaStyle__PaddingRightUnitAssignment_3_12_2() throws RecognitionException;
-     void rule__MediaStyle__MarginTopValueAssignment_3_13_1() throws RecognitionException;
-     void rule__MediaStyle__MarginTopUnitAssignment_3_13_2() throws RecognitionException;
-     void rule__MediaStyle__MarginBottomValueAssignment_3_14_1() throws RecognitionException;
-     void rule__MediaStyle__MarginBottomUnitAssignment_3_14_2() throws RecognitionException;
-     void rule__MediaStyle__MarginLeftValueAssignment_3_15_1() throws RecognitionException;
-     void rule__MediaStyle__MarginLeftUnitAssignment_3_15_2() throws RecognitionException;
-     void rule__MediaStyle__MarginRightValueAssignment_3_16_1() throws RecognitionException;
-     void rule__MediaStyle__MarginRightUnitAssignment_3_16_2() throws RecognitionException;
-     void rule__UomoFormat__NameAssignment_1() throws RecognitionException;
-     void rule__UomoFormat__Ui_patternAssignment_4() throws RecognitionException;
-     void rule__UomoFormat__Report_patternAssignment_6() throws RecognitionException;
-     void rule__UomoFormat__TextalignAssignment_8() throws RecognitionException;
-     void rule__NumberFormat__NameAssignment_1() throws RecognitionException;
-     void rule__NumberFormat__Ui_patternAssignment_4() throws RecognitionException;
-     void rule__NumberFormat__Report_categoryAssignment_6() throws RecognitionException;
-     void rule__NumberFormat__Report_patternAssignment_7() throws RecognitionException;
-     void rule__NumberFormat__TextalignAssignment_9() throws RecognitionException;
-     void rule__CurrencyFormat__NameAssignment_1() throws RecognitionException;
-     void rule__CurrencyFormat__Ui_patternAssignment_4() throws RecognitionException;
-     void rule__CurrencyFormat__Report_categoryAssignment_6() throws RecognitionException;
-     void rule__CurrencyFormat__Report_patternAssignment_7() throws RecognitionException;
-     void rule__CurrencyFormat__TextalignAssignment_9() throws RecognitionException;
-     void rule__DateFormat__NameAssignment_1() throws RecognitionException;
-     void rule__DateFormat__Ui_patternAssignment_4() throws RecognitionException;
-     void rule__DateFormat__Report_categoryAssignment_6() throws RecognitionException;
-     void rule__DateFormat__Report_patternAssignment_7() throws RecognitionException;
-     void rule__DateFormat__TextalignAssignment_9() throws RecognitionException;
-     void rule__DateTimeFormat__NameAssignment_1() throws RecognitionException;
-     void rule__DateTimeFormat__Ui_patternAssignment_4() throws RecognitionException;
-     void rule__DateTimeFormat__Report_categoryAssignment_6() throws RecognitionException;
-     void rule__DateTimeFormat__Report_patternAssignment_7() throws RecognitionException;
-     void rule__DateTimeFormat__TextalignAssignment_9() throws RecognitionException;
-     void rule__TimeFormat__NameAssignment_1() throws RecognitionException;
-     void rule__TimeFormat__Ui_patternAssignment_4() throws RecognitionException;
-     void rule__TimeFormat__Report_categoryAssignment_6() throws RecognitionException;
-     void rule__TimeFormat__Report_patternAssignment_7() throws RecognitionException;
-     void rule__TimeFormat__TextalignAssignment_9() throws RecognitionException;
-     void rule__Report__NameAssignment_1() throws RecognitionException;
-     void rule__Report__DescriptionAssignment_2_0() throws RecognitionException;
-     void rule__Report__DescriptionValueAssignment_2_1() throws RecognitionException;
-     void rule__Report__ToolbarAssignment_3_1() throws RecognitionException;
-     void rule__Report__DatamartRefAssignment_6() throws RecognitionException;
-     void rule__Report__RenderingAssignment_8() throws RecognitionException;
-     void rule__Report__ExternalCssURIAssignment_9_1() throws RecognitionException;
-     void rule__Report__ExternalCssURIBundleAssignment_9_2_1() throws RecognitionException;
-     void rule__Report__PageTemplateAssignment_11() throws RecognitionException;
-     void rule__Report__MediaAssignment_13() throws RecognitionException;
-     void rule__Report__DesignAssignment_14() throws RecognitionException;
-     void rule__ReportDesignFile__NameAssignment_1() throws RecognitionException;
-     void rule__ReportDesignTemplate__DescriptionAssignment_2_1() throws RecognitionException;
-     void rule__ReportDesignTemplate__HeaderAssignment_3() throws RecognitionException;
-     void rule__ReportDesignTemplate__DetailAssignment_4() throws RecognitionException;
-     void rule__ReportDesignTemplate__FooterAssignment_5() throws RecognitionException;
-     void rule__PageHeader__ShowOnFirstAssignment_3() throws RecognitionException;
-     void rule__PageHeader__HeightValueAssignment_5() throws RecognitionException;
-     void rule__PageHeader__HeightUnitAssignment_6() throws RecognitionException;
-     void rule__PageHeader__ElementsAssignment_7() throws RecognitionException;
-     void rule__PageDetail__ElementsAssignment_3() throws RecognitionException;
-     void rule__PageFooter__ShowOnLastAssignment_3() throws RecognitionException;
-     void rule__PageFooter__HeightValueAssignment_5() throws RecognitionException;
-     void rule__PageFooter__HeightUnitAssignment_6() throws RecognitionException;
-     void rule__PageFooter__ElementsAssignment_7() throws RecognitionException;
-     void rule__Grid__NameAssignment_2_1() throws RecognitionException;
-     void rule__Grid__RowsAssignment_4() throws RecognitionException;
-     void rule__GridRow__NameAssignment_2_1() throws RecognitionException;
-     void rule__GridRow__StyleAssignment_3_1() throws RecognitionException;
-     void rule__GridRow__CellsAssignment_5() throws RecognitionException;
-     void rule__GridCell__NameAssignment_2_1() throws RecognitionException;
-     void rule__GridCell__ColumnspanAssignment_3_1() throws RecognitionException;
-     void rule__GridCell__ElementsAssignment_5() throws RecognitionException;
-     void rule__DatamartTable__StyleAssignment_1_1() throws RecognitionException;
-     void rule__DatamartTable__DetailheaderAssignment_3_0() throws RecognitionException;
-     void rule__DatamartTable__HeaderstyleAssignment_3_1_1() throws RecognitionException;
-     void rule__DatamartTable__DetailfooterAssignment_4_0() throws RecognitionException;
-     void rule__DatamartTable__FooterstyleAssignment_4_1_1() throws RecognitionException;
-     void rule__DatamartTable__GroupsAssignment_5() throws RecognitionException;
-     void rule__DatamartTable__DetailAssignment_6() throws RecognitionException;
-     void rule__DatamartTableGroup__NameAssignment_1() throws RecognitionException;
-     void rule__DatamartTableGroup__GroupingRefAssignment_3() throws RecognitionException;
-     void rule__DatamartTableGroup__HeaderAssignment_5() throws RecognitionException;
-     void rule__DatamartTableGroup__DetailheaderAssignment_6_0() throws RecognitionException;
-     void rule__DatamartTableGroup__HeaderstyleAssignment_6_1_1() throws RecognitionException;
-     void rule__DatamartTableGroup__DetailfooterAssignment_7_0() throws RecognitionException;
-     void rule__DatamartTableGroup__FooterstyleAssignment_7_1_1() throws RecognitionException;
-     void rule__DatamartTableGroup__FooterAssignment_8() throws RecognitionException;
-     void rule__DatamartTableGroupHeader__StyleAssignment_2_1() throws RecognitionException;
-     void rule__DatamartTableGroupHeader__RowsAssignment_4() throws RecognitionException;
-     void rule__DatamartTableGroupFooter__StyleAssignment_2_1() throws RecognitionException;
-     void rule__DatamartTableGroupFooter__RowsAssignment_4() throws RecognitionException;
-     void rule__DatamartTableDetail__StyleAssignment_2_1() throws RecognitionException;
-     void rule__DatamartTableDetail__ColumnFormattersAssignment_3_1_1() throws RecognitionException;
-     void rule__DatamartTableProperty__ColumnAssignment_0() throws RecognitionException;
-     void rule__DatamartTableProperty__StyleAssignment_1_0_1() throws RecognitionException;
-     void rule__DatamartTableProperty__HasImageAssignment_1_1_0() throws RecognitionException;
-     void rule__DatamartTableProperty__ImageAssignment_1_1_1() throws RecognitionException;
-     void rule__DatamartTableProperty__HideLabelIntervalAssignment_1_2_1() throws RecognitionException;
-     void rule__DatamartTableProperty__IntervalsAssignment_1_2_3() throws RecognitionException;
-     void rule__DatamartTableProperty__HideLabelLookupAssignment_1_3_1() throws RecognitionException;
-     void rule__DatamartTableProperty__LookupsAssignment_1_3_3() throws RecognitionException;
-     void rule__TableImage__ImagePathPatternAssignment_2() throws RecognitionException;
-     void rule__TableImage__HasParameterAssignment_3_0() throws RecognitionException;
-     void rule__TableImage__HideImageLabelAssignment_3_1() throws RecognitionException;
-     void rule__TableImage__ResizeAssignment_3_2_0() throws RecognitionException;
-     void rule__TableImage__ResizeStringAssignment_3_2_1() throws RecognitionException;
-     void rule__TableProperty__ValueRefAssignment_1() throws RecognitionException;
-     void rule__TableAggregation__AggregationAssignment_1() throws RecognitionException;
-     void rule__TableAggregation__OnGroupAssignment_2_0_1() throws RecognitionException;
-     void rule__TableAggregation__TextAssignment_2_1_1() throws RecognitionException;
-     void rule__TablePureAggregation__AggregationAssignment() throws RecognitionException;
-     void rule__TableUnaryAggregation__AggregationAssignment_0() throws RecognitionException;
-     void rule__TableUnaryAggregation__ValueRefsAssignment_2() throws RecognitionException;
-     void rule__TableMultipleAggregation__AggregationAssignment_0() throws RecognitionException;
-     void rule__TableMultipleAggregation__ValueRefsAssignment_3() throws RecognitionException;
-     void rule__TableBinaryAggregation__AggregationAssignment_0() throws RecognitionException;
-     void rule__TableBinaryAggregation__ValueRefsAssignment_3() throws RecognitionException;
-     void rule__TableBinaryAggregation__ValueRefsAssignment_4() throws RecognitionException;
-     void rule__TableNumberInterval__NumberIntervalValueAssignment_2() throws RecognitionException;
-     void rule__TableNumberInterval__NumberRangeAssignment_3() throws RecognitionException;
-     void rule__TableDateDayInterval__DateIntervalValueAssignment_2() throws RecognitionException;
-     void rule__TableDateDayInterval__DateRangeAssignment_3() throws RecognitionException;
-     void rule__TableNumberLookup__LookupValueAssignment_2() throws RecognitionException;
-     void rule__TableNumberLookup__DiscreteAssignment_3() throws RecognitionException;
-     void rule__TableStringLookup__LookupValueAssignment_2() throws RecognitionException;
-     void rule__TableStringLookup__DiscreteAssignment_3() throws RecognitionException;
-     void rule__TableDateDayLookup__LookupValueAssignment_2() throws RecognitionException;
-     void rule__TableDateDayLookup__DiscreteAssignment_3() throws RecognitionException;
-     void rule__TableTextColor__ColorAssignment_1() throws RecognitionException;
-     void rule__TableCellColor__ColorAssignment_1() throws RecognitionException;
-     void rule__TableIcon__IconAssignment_1() throws RecognitionException;
-     void rule__TableTrend__IconAssignment_1() throws RecognitionException;
-     void rule__Title__TextAssignment_2() throws RecognitionException;
-     void rule__Title__StyleAssignment_3_1() throws RecognitionException;
-     void rule__SubTitle__TextAssignment_2() throws RecognitionException;
-     void rule__SubTitle__StyleAssignment_3_1() throws RecognitionException;
-     void rule__SubSubTitle__TextAssignment_2() throws RecognitionException;
-     void rule__SubSubTitle__StyleAssignment_3_1() throws RecognitionException;
-     void rule__Label__TextAssignment_2() throws RecognitionException;
-     void rule__Label__StyleAssignment_3_1() throws RecognitionException;
-     void rule__Text__TextAssignment_2() throws RecognitionException;
-     void rule__Text__StyleAssignment_3_1() throws RecognitionException;
-     void rule__AutoText__TypeAssignment_1() throws RecognitionException;
-     void rule__AutoText__StyleAssignment_2_1() throws RecognitionException;
-     void rule__Image__SizeAssignment_1() throws RecognitionException;
-     void rule__Image__ScaleAssignment_2_1() throws RecognitionException;
-     void rule__Image__SourceTypeAssignment_3() throws RecognitionException;
-     void rule__Image__FilenameAssignment_4() throws RecognitionException;
-     void rule__ReportImport__ImportedNamespaceAssignment_1() throws RecognitionException;
-     void rule__XAnnotation__AnnotationTypeAssignment_2() throws RecognitionException;
-     void rule__XAnnotation__ElementValuePairsAssignment_3_1_0_0() throws RecognitionException;
-     void rule__XAnnotation__ElementValuePairsAssignment_3_1_0_1_1() throws RecognitionException;
-     void rule__XAnnotation__ValueAssignment_3_1_1() throws RecognitionException;
-     void rule__XAnnotationElementValuePair__ElementAssignment_0_0_0() throws RecognitionException;
-     void rule__XAnnotationElementValuePair__ValueAssignment_1() throws RecognitionException;
-     void rule__XAnnotationElementValueOrCommaList__ElementsAssignment_0_1_0() throws RecognitionException;
-     void rule__XAnnotationElementValueOrCommaList__ElementsAssignment_0_1_1_1() throws RecognitionException;
-     void rule__XAnnotationElementValueOrCommaList__ElementsAssignment_1_1_1_1() throws RecognitionException;
-     void rule__XAnnotationElementValue__ElementsAssignment_0_1_0() throws RecognitionException;
-     void rule__XAnnotationElementValue__ElementsAssignment_0_1_1_1() throws RecognitionException;
-     void rule__XAssignment__FeatureAssignment_0_1() throws RecognitionException;
-     void rule__XAssignment__ValueAssignment_0_3() throws RecognitionException;
-     void rule__XAssignment__FeatureAssignment_1_1_0_0_1() throws RecognitionException;
-     void rule__XAssignment__RightOperandAssignment_1_1_1() throws RecognitionException;
-     void rule__XOrExpression__FeatureAssignment_1_0_0_1() throws RecognitionException;
-     void rule__XOrExpression__RightOperandAssignment_1_1() throws RecognitionException;
-     void rule__XAndExpression__FeatureAssignment_1_0_0_1() throws RecognitionException;
-     void rule__XAndExpression__RightOperandAssignment_1_1() throws RecognitionException;
-     void rule__XEqualityExpression__FeatureAssignment_1_0_0_1() throws RecognitionException;
-     void rule__XEqualityExpression__RightOperandAssignment_1_1() throws RecognitionException;
-     void rule__XRelationalExpression__TypeAssignment_1_0_1() throws RecognitionException;
-     void rule__XRelationalExpression__FeatureAssignment_1_1_0_0_1() throws RecognitionException;
-     void rule__XRelationalExpression__RightOperandAssignment_1_1_1() throws RecognitionException;
-     void rule__XOtherOperatorExpression__FeatureAssignment_1_0_0_1() throws RecognitionException;
-     void rule__XOtherOperatorExpression__RightOperandAssignment_1_1() throws RecognitionException;
-     void rule__XAdditiveExpression__FeatureAssignment_1_0_0_1() throws RecognitionException;
-     void rule__XAdditiveExpression__RightOperandAssignment_1_1() throws RecognitionException;
-     void rule__XMultiplicativeExpression__FeatureAssignment_1_0_0_1() throws RecognitionException;
-     void rule__XMultiplicativeExpression__RightOperandAssignment_1_1() throws RecognitionException;
-     void rule__XUnaryOperation__FeatureAssignment_0_1() throws RecognitionException;
-     void rule__XUnaryOperation__OperandAssignment_0_2() throws RecognitionException;
-     void rule__XCastedExpression__TypeAssignment_1_1() throws RecognitionException;
-     void rule__XPostfixOperation__FeatureAssignment_1_0_1() throws RecognitionException;
-     void rule__XMemberFeatureCall__ExplicitStaticAssignment_1_0_0_0_1_1() throws RecognitionException;
-     void rule__XMemberFeatureCall__FeatureAssignment_1_0_0_0_2() throws RecognitionException;
-     void rule__XMemberFeatureCall__ValueAssignment_1_0_1() throws RecognitionException;
-     void rule__XMemberFeatureCall__NullSafeAssignment_1_1_0_0_1_1() throws RecognitionException;
-     void rule__XMemberFeatureCall__ExplicitStaticAssignment_1_1_0_0_1_2() throws RecognitionException;
-     void rule__XMemberFeatureCall__TypeArgumentsAssignment_1_1_1_1() throws RecognitionException;
-     void rule__XMemberFeatureCall__TypeArgumentsAssignment_1_1_1_2_1() throws RecognitionException;
-     void rule__XMemberFeatureCall__FeatureAssignment_1_1_2() throws RecognitionException;
-     void rule__XMemberFeatureCall__ExplicitOperationCallAssignment_1_1_3_0() throws RecognitionException;
-     void rule__XMemberFeatureCall__MemberCallArgumentsAssignment_1_1_3_1_0() throws RecognitionException;
-     void rule__XMemberFeatureCall__MemberCallArgumentsAssignment_1_1_3_1_1_0() throws RecognitionException;
-     void rule__XMemberFeatureCall__MemberCallArgumentsAssignment_1_1_3_1_1_1_1() throws RecognitionException;
-     void rule__XMemberFeatureCall__MemberCallArgumentsAssignment_1_1_4() throws RecognitionException;
-     void rule__XSetLiteral__ElementsAssignment_3_0() throws RecognitionException;
-     void rule__XSetLiteral__ElementsAssignment_3_1_1() throws RecognitionException;
-     void rule__XListLiteral__ElementsAssignment_3_0() throws RecognitionException;
-     void rule__XListLiteral__ElementsAssignment_3_1_1() throws RecognitionException;
-     void rule__XClosure__DeclaredFormalParametersAssignment_1_0_0_0() throws RecognitionException;
-     void rule__XClosure__DeclaredFormalParametersAssignment_1_0_0_1_1() throws RecognitionException;
-     void rule__XClosure__ExplicitSyntaxAssignment_1_0_1() throws RecognitionException;
-     void rule__XClosure__ExpressionAssignment_2() throws RecognitionException;
-     void rule__XExpressionInClosure__ExpressionsAssignment_1_0() throws RecognitionException;
-     void rule__XShortClosure__DeclaredFormalParametersAssignment_0_0_1_0() throws RecognitionException;
-     void rule__XShortClosure__DeclaredFormalParametersAssignment_0_0_1_1_1() throws RecognitionException;
-     void rule__XShortClosure__ExplicitSyntaxAssignment_0_0_2() throws RecognitionException;
-     void rule__XShortClosure__ExpressionAssignment_1() throws RecognitionException;
-     void rule__XIfExpression__IfAssignment_3() throws RecognitionException;
-     void rule__XIfExpression__ThenAssignment_5() throws RecognitionException;
-     void rule__XIfExpression__ElseAssignment_6_1() throws RecognitionException;
-     void rule__XSwitchExpression__DeclaredParamAssignment_2_0_0_0_1() throws RecognitionException;
-     void rule__XSwitchExpression__SwitchAssignment_2_0_1() throws RecognitionException;
-     void rule__XSwitchExpression__DeclaredParamAssignment_2_1_0_0_0() throws RecognitionException;
-     void rule__XSwitchExpression__SwitchAssignment_2_1_1() throws RecognitionException;
-     void rule__XSwitchExpression__CasesAssignment_4() throws RecognitionException;
-     void rule__XSwitchExpression__DefaultAssignment_5_2() throws RecognitionException;
-     void rule__XCasePart__TypeGuardAssignment_1() throws RecognitionException;
-     void rule__XCasePart__CaseAssignment_2_1() throws RecognitionException;
-     void rule__XCasePart__ThenAssignment_3_0_1() throws RecognitionException;
-     void rule__XCasePart__FallThroughAssignment_3_1() throws RecognitionException;
-     void rule__XForLoopExpression__DeclaredParamAssignment_0_0_3() throws RecognitionException;
-     void rule__XForLoopExpression__ForExpressionAssignment_1() throws RecognitionException;
-     void rule__XForLoopExpression__EachExpressionAssignment_3() throws RecognitionException;
-     void rule__XBasicForLoopExpression__InitExpressionsAssignment_3_0() throws RecognitionException;
-     void rule__XBasicForLoopExpression__InitExpressionsAssignment_3_1_1() throws RecognitionException;
-     void rule__XBasicForLoopExpression__ExpressionAssignment_5() throws RecognitionException;
-     void rule__XBasicForLoopExpression__UpdateExpressionsAssignment_7_0() throws RecognitionException;
-     void rule__XBasicForLoopExpression__UpdateExpressionsAssignment_7_1_1() throws RecognitionException;
-     void rule__XBasicForLoopExpression__EachExpressionAssignment_9() throws RecognitionException;
-     void rule__XWhileExpression__PredicateAssignment_3() throws RecognitionException;
-     void rule__XWhileExpression__BodyAssignment_5() throws RecognitionException;
-     void rule__XDoWhileExpression__BodyAssignment_2() throws RecognitionException;
-     void rule__XDoWhileExpression__PredicateAssignment_5() throws RecognitionException;
-     void rule__XBlockExpression__ExpressionsAssignment_2_0() throws RecognitionException;
-     void rule__XVariableDeclaration__WriteableAssignment_1_0() throws RecognitionException;
-     void rule__XVariableDeclaration__TypeAssignment_2_0_0_0() throws RecognitionException;
-     void rule__XVariableDeclaration__NameAssignment_2_0_0_1() throws RecognitionException;
-     void rule__XVariableDeclaration__NameAssignment_2_1() throws RecognitionException;
-     void rule__XVariableDeclaration__RightAssignment_3_1() throws RecognitionException;
-     void rule__JvmFormalParameter__ParameterTypeAssignment_0() throws RecognitionException;
-     void rule__JvmFormalParameter__NameAssignment_1() throws RecognitionException;
-     void rule__FullJvmFormalParameter__ParameterTypeAssignment_0() throws RecognitionException;
-     void rule__FullJvmFormalParameter__NameAssignment_1() throws RecognitionException;
-     void rule__XFeatureCall__TypeArgumentsAssignment_1_1() throws RecognitionException;
-     void rule__XFeatureCall__TypeArgumentsAssignment_1_2_1() throws RecognitionException;
-     void rule__XFeatureCall__FeatureAssignment_2() throws RecognitionException;
-     void rule__XFeatureCall__ExplicitOperationCallAssignment_3_0() throws RecognitionException;
-     void rule__XFeatureCall__FeatureCallArgumentsAssignment_3_1_0() throws RecognitionException;
-     void rule__XFeatureCall__FeatureCallArgumentsAssignment_3_1_1_0() throws RecognitionException;
-     void rule__XFeatureCall__FeatureCallArgumentsAssignment_3_1_1_1_1() throws RecognitionException;
-     void rule__XFeatureCall__FeatureCallArgumentsAssignment_4() throws RecognitionException;
-     void rule__XConstructorCall__ConstructorAssignment_2() throws RecognitionException;
-     void rule__XConstructorCall__TypeArgumentsAssignment_3_1() throws RecognitionException;
-     void rule__XConstructorCall__TypeArgumentsAssignment_3_2_1() throws RecognitionException;
-     void rule__XConstructorCall__ExplicitConstructorCallAssignment_4_0() throws RecognitionException;
-     void rule__XConstructorCall__ArgumentsAssignment_4_1_0() throws RecognitionException;
-     void rule__XConstructorCall__ArgumentsAssignment_4_1_1_0() throws RecognitionException;
-     void rule__XConstructorCall__ArgumentsAssignment_4_1_1_1_1() throws RecognitionException;
-     void rule__XConstructorCall__ArgumentsAssignment_5() throws RecognitionException;
-     void rule__XBooleanLiteral__IsTrueAssignment_1_1() throws RecognitionException;
-     void rule__XNumberLiteral__ValueAssignment_1() throws RecognitionException;
-     void rule__XStringLiteral__ValueAssignment_1() throws RecognitionException;
-     void rule__XTypeLiteral__TypeAssignment_3() throws RecognitionException;
-     void rule__XTypeLiteral__ArrayDimensionsAssignment_4() throws RecognitionException;
-     void rule__XThrowExpression__ExpressionAssignment_2() throws RecognitionException;
-     void rule__XReturnExpression__ExpressionAssignment_2() throws RecognitionException;
-     void rule__XTryCatchFinallyExpression__ExpressionAssignment_2() throws RecognitionException;
-     void rule__XTryCatchFinallyExpression__CatchClausesAssignment_3_0_0() throws RecognitionException;
-     void rule__XTryCatchFinallyExpression__FinallyExpressionAssignment_3_0_1_1() throws RecognitionException;
-     void rule__XTryCatchFinallyExpression__FinallyExpressionAssignment_3_1_1() throws RecognitionException;
-     void rule__XSynchronizedExpression__ParamAssignment_1() throws RecognitionException;
-     void rule__XSynchronizedExpression__ExpressionAssignment_3() throws RecognitionException;
-     void rule__XCatchClause__DeclaredParamAssignment_2() throws RecognitionException;
-     void rule__XCatchClause__ExpressionAssignment_4() throws RecognitionException;
-     void rule__XFunctionTypeRef__ParamTypesAssignment_0_1_0() throws RecognitionException;
-     void rule__XFunctionTypeRef__ParamTypesAssignment_0_1_1_1() throws RecognitionException;
-     void rule__XFunctionTypeRef__ReturnTypeAssignment_2() throws RecognitionException;
-     void rule__JvmParameterizedTypeReference__TypeAssignment_0() throws RecognitionException;
-     void rule__JvmParameterizedTypeReference__ArgumentsAssignment_1_1() throws RecognitionException;
-     void rule__JvmParameterizedTypeReference__ArgumentsAssignment_1_2_1() throws RecognitionException;
-     void rule__JvmParameterizedTypeReference__TypeAssignment_1_4_1() throws RecognitionException;
-     void rule__JvmParameterizedTypeReference__ArgumentsAssignment_1_4_2_1() throws RecognitionException;
-     void rule__JvmParameterizedTypeReference__ArgumentsAssignment_1_4_2_2_1() throws RecognitionException;
-     void rule__JvmWildcardTypeReference__ConstraintsAssignment_2_0_0() throws RecognitionException;
-     void rule__JvmWildcardTypeReference__ConstraintsAssignment_2_0_1() throws RecognitionException;
-     void rule__JvmWildcardTypeReference__ConstraintsAssignment_2_1_0() throws RecognitionException;
-     void rule__JvmWildcardTypeReference__ConstraintsAssignment_2_1_1() throws RecognitionException;
-     void rule__JvmUpperBound__TypeReferenceAssignment_1() throws RecognitionException;
-     void rule__JvmUpperBoundAnded__TypeReferenceAssignment_1() throws RecognitionException;
-     void rule__JvmLowerBound__TypeReferenceAssignment_1() throws RecognitionException;
-     void rule__JvmLowerBoundAnded__TypeReferenceAssignment_1() throws RecognitionException;
-     void rule__XImportDeclaration__StaticAssignment_1_0_0() throws RecognitionException;
-     void rule__XImportDeclaration__ExtensionAssignment_1_0_1() throws RecognitionException;
-     void rule__XImportDeclaration__ImportedTypeAssignment_1_0_2() throws RecognitionException;
-     void rule__XImportDeclaration__WildcardAssignment_1_0_3_0() throws RecognitionException;
-     void rule__XImportDeclaration__MemberNameAssignment_1_0_3_1() throws RecognitionException;
-     void rule__XImportDeclaration__ImportedTypeAssignment_1_1() throws RecognitionException;
-     void rule__XImportDeclaration__ImportedNamespaceAssignment_1_2() throws RecognitionException;
-     void synpred33_InternalReportDSL_fragment() throws RecognitionException;   
-     void synpred34_InternalReportDSL_fragment() throws RecognitionException;   
-     void synpred35_InternalReportDSL_fragment() throws RecognitionException;   
-     void synpred60_InternalReportDSL_fragment() throws RecognitionException;   
-     void synpred61_InternalReportDSL_fragment() throws RecognitionException;   
-     void synpred74_InternalReportDSL_fragment() throws RecognitionException;   
-     void synpred82_InternalReportDSL_fragment() throws RecognitionException;   
-     void synpred83_InternalReportDSL_fragment() throws RecognitionException;   
-     void synpred96_InternalReportDSL_fragment() throws RecognitionException;   
-     void synpred100_InternalReportDSL_fragment() throws RecognitionException;   
-     void synpred101_InternalReportDSL_fragment() throws RecognitionException;   
-     void synpred107_InternalReportDSL_fragment() throws RecognitionException;   
-     void synpred252_InternalReportDSL_fragment() throws RecognitionException;   
-     void synpred254_InternalReportDSL_fragment() throws RecognitionException;   
-     void synpred255_InternalReportDSL_fragment() throws RecognitionException;   
-     void synpred256_InternalReportDSL_fragment() throws RecognitionException;   
-     void synpred257_InternalReportDSL_fragment() throws RecognitionException;   
-     void synpred258_InternalReportDSL_fragment() throws RecognitionException;   
-     void synpred259_InternalReportDSL_fragment() throws RecognitionException;   
-     void synpred260_InternalReportDSL_fragment() throws RecognitionException;   
-     void synpred261_InternalReportDSL_fragment() throws RecognitionException;   
-     void synpred262_InternalReportDSL_fragment() throws RecognitionException;   
-     void synpred263_InternalReportDSL_fragment() throws RecognitionException;   
-     void synpred265_InternalReportDSL_fragment() throws RecognitionException;   
-     void synpred266_InternalReportDSL_fragment() throws RecognitionException;   
-     void synpred274_InternalReportDSL_fragment() throws RecognitionException;   
-     void synpred281_InternalReportDSL_fragment() throws RecognitionException;   
-     void synpred284_InternalReportDSL_fragment() throws RecognitionException;   
-     void synpred297_InternalReportDSL_fragment() throws RecognitionException;   
-     void synpred298_InternalReportDSL_fragment() throws RecognitionException;   
-     void synpred302_InternalReportDSL_fragment() throws RecognitionException;   
-     void synpred303_InternalReportDSL_fragment() throws RecognitionException;   
-     void synpred304_InternalReportDSL_fragment() throws RecognitionException;   
-     void synpred309_InternalReportDSL_fragment() throws RecognitionException;   
-     void synpred310_InternalReportDSL_fragment() throws RecognitionException;   
-     void synpred311_InternalReportDSL_fragment() throws RecognitionException;   
-     void synpred312_InternalReportDSL_fragment() throws RecognitionException;   
-     void synpred314_InternalReportDSL_fragment() throws RecognitionException;   
-     void synpred318_InternalReportDSL_fragment() throws RecognitionException;   
-     void synpred320_InternalReportDSL_fragment() throws RecognitionException;   
-     void synpred321_InternalReportDSL_fragment() throws RecognitionException;   
-     void synpred328_InternalReportDSL_fragment() throws RecognitionException;   
-     void synpred329_InternalReportDSL_fragment() throws RecognitionException;   
-     void synpred330_InternalReportDSL_fragment() throws RecognitionException;   
-     void synpred331_InternalReportDSL_fragment() throws RecognitionException;   
-     void synpred332_InternalReportDSL_fragment() throws RecognitionException;   
-     void synpred333_InternalReportDSL_fragment() throws RecognitionException;   
-     void synpred334_InternalReportDSL_fragment() throws RecognitionException;   
-     void synpred335_InternalReportDSL_fragment() throws RecognitionException;   
-     void synpred336_InternalReportDSL_fragment() throws RecognitionException;   
-     void synpred337_InternalReportDSL_fragment() throws RecognitionException;   
-     void synpred338_InternalReportDSL_fragment() throws RecognitionException;   
-     void synpred339_InternalReportDSL_fragment() throws RecognitionException;   
-     void synpred340_InternalReportDSL_fragment() throws RecognitionException;   
-     void synpred341_InternalReportDSL_fragment() throws RecognitionException;   
-     void synpred342_InternalReportDSL_fragment() throws RecognitionException;   
-     void synpred343_InternalReportDSL_fragment() throws RecognitionException;   
-     void synpred344_InternalReportDSL_fragment() throws RecognitionException;   
-     void synpred345_InternalReportDSL_fragment() throws RecognitionException;   
-     void synpred346_InternalReportDSL_fragment() throws RecognitionException;   
-     void synpred347_InternalReportDSL_fragment() throws RecognitionException;   
-     void synpred348_InternalReportDSL_fragment() throws RecognitionException;   
-     void synpred349_InternalReportDSL_fragment() throws RecognitionException;   
-     void synpred350_InternalReportDSL_fragment() throws RecognitionException;   
-     void synpred351_InternalReportDSL_fragment() throws RecognitionException;   
-     void synpred352_InternalReportDSL_fragment() throws RecognitionException;   
-     void synpred353_InternalReportDSL_fragment() throws RecognitionException;   
-     void synpred354_InternalReportDSL_fragment() throws RecognitionException;   
-     void synpred355_InternalReportDSL_fragment() throws RecognitionException;   
-     void synpred356_InternalReportDSL_fragment() throws RecognitionException;   
-     void synpred357_InternalReportDSL_fragment() throws RecognitionException;   
-     void synpred358_InternalReportDSL_fragment() throws RecognitionException;   
-     void synpred359_InternalReportDSL_fragment() throws RecognitionException;   
-     void synpred360_InternalReportDSL_fragment() throws RecognitionException;   
-     void synpred361_InternalReportDSL_fragment() throws RecognitionException;   
-     void synpred362_InternalReportDSL_fragment() throws RecognitionException;   
-     void synpred363_InternalReportDSL_fragment() throws RecognitionException;   
-     void synpred364_InternalReportDSL_fragment() throws RecognitionException;   
-     void synpred365_InternalReportDSL_fragment() throws RecognitionException;   
-     void synpred366_InternalReportDSL_fragment() throws RecognitionException;   
-     void synpred367_InternalReportDSL_fragment() throws RecognitionException;   
-     void synpred368_InternalReportDSL_fragment() throws RecognitionException;   
-     void synpred369_InternalReportDSL_fragment() throws RecognitionException;   
-     void synpred370_InternalReportDSL_fragment() throws RecognitionException;   
-     void synpred371_InternalReportDSL_fragment() throws RecognitionException;   
-     void synpred372_InternalReportDSL_fragment() throws RecognitionException;   
-     void synpred373_InternalReportDSL_fragment() throws RecognitionException;   
-     void synpred374_InternalReportDSL_fragment() throws RecognitionException;   
-     void synpred375_InternalReportDSL_fragment() throws RecognitionException;   
-     void synpred376_InternalReportDSL_fragment() throws RecognitionException;   
-     void synpred377_InternalReportDSL_fragment() throws RecognitionException;   
-     void synpred378_InternalReportDSL_fragment() throws RecognitionException;   
-     void synpred379_InternalReportDSL_fragment() throws RecognitionException;   
-     void synpred380_InternalReportDSL_fragment() throws RecognitionException;   
-     void synpred381_InternalReportDSL_fragment() throws RecognitionException;   
-     void synpred382_InternalReportDSL_fragment() throws RecognitionException;   
-     void synpred383_InternalReportDSL_fragment() throws RecognitionException;   
-     void synpred384_InternalReportDSL_fragment() throws RecognitionException;   
-     void synpred385_InternalReportDSL_fragment() throws RecognitionException;   
-     void synpred386_InternalReportDSL_fragment() throws RecognitionException;   
-     void synpred387_InternalReportDSL_fragment() throws RecognitionException;   
-     void synpred388_InternalReportDSL_fragment() throws RecognitionException;   
-     void synpred389_InternalReportDSL_fragment() throws RecognitionException;   
-     void synpred390_InternalReportDSL_fragment() throws RecognitionException;   
-     void synpred391_InternalReportDSL_fragment() throws RecognitionException;   
-     void synpred392_InternalReportDSL_fragment() throws RecognitionException;   
-     void synpred393_InternalReportDSL_fragment() throws RecognitionException;   
-     void synpred394_InternalReportDSL_fragment() throws RecognitionException;   
-     void synpred395_InternalReportDSL_fragment() throws RecognitionException;   
-     void synpred396_InternalReportDSL_fragment() throws RecognitionException;   
-     void synpred397_InternalReportDSL_fragment() throws RecognitionException;   
-     void synpred398_InternalReportDSL_fragment() throws RecognitionException;   
-     void synpred399_InternalReportDSL_fragment() throws RecognitionException;   
-     void synpred400_InternalReportDSL_fragment() throws RecognitionException;   
-     void synpred401_InternalReportDSL_fragment() throws RecognitionException;   
-     void synpred402_InternalReportDSL_fragment() throws RecognitionException;   
-     void synpred403_InternalReportDSL_fragment() throws RecognitionException;   
-     void synpred404_InternalReportDSL_fragment() throws RecognitionException;   
-     void synpred405_InternalReportDSL_fragment() throws RecognitionException;   
-     void synpred406_InternalReportDSL_fragment() throws RecognitionException;   
-     void synpred407_InternalReportDSL_fragment() throws RecognitionException;   
-     void synpred408_InternalReportDSL_fragment() throws RecognitionException;   
-     void synpred409_InternalReportDSL_fragment() throws RecognitionException;   
-     void synpred410_InternalReportDSL_fragment() throws RecognitionException;   
-     void synpred411_InternalReportDSL_fragment() throws RecognitionException;   
-     void synpred412_InternalReportDSL_fragment() throws RecognitionException;   
-     void synpred413_InternalReportDSL_fragment() throws RecognitionException;   
-     void synpred414_InternalReportDSL_fragment() throws RecognitionException;   
-}
-
-@SuppressWarnings("all")
-abstract class InternalReportDSLParser1 extends AbstractInternalContentAssistParser implements InternalReportDSLParserSignatures {
-
-        InternalReportDSLParser1(TokenStream input) {
-            this(input, new RecognizerSharedState());
-        }
-
-        InternalReportDSLParser1(TokenStream input, RecognizerSharedState state) {
-            super(input, state);
-        }
-
-    public static final String[] tokenNames = new String[] {
-        "<invalid>", "<EOR>", "<DOWN>", "<UP>", "RULE_STRING", "RULE_ID", "RULE_HEX", "RULE_INT", "RULE_DECIMAL", "RULE_ML_COMMENT", "RULE_SL_COMMENT", "RULE_WS", "RULE_ANY_OTHER", "'='", "'||'", "'&&'", "'custom'", "'divide'", "'concat'", "'all'", "'+='", "'-='", "'*='", "'/='", "'%='", "'=='", "'!='", "'==='", "'!=='", "'>='", "'>'", "'<'", "'->'", "'..<'", "'..'", "'=>'", "'<>'", "'?:'", "'+'", "'-'", "'*'", "'**'", "'/'", "'%'", "'!'", "'++'", "'--'", "'.'", "'val'", "'extends'", "'static'", "'import'", "'extension'", "'super'", "'false'", "'mm'", "'cm'", "'pt'", "'inch'", "'pc'", "'em'", "'ex'", "'px'", "'a4'", "'a3'", "'a5'", "'us-letter'", "'us-legal'", "'us-ledger'", "'us-super-b'", "'portrait'", "'landscape'", "'normal'", "'italic'", "'oblique'", "'monospace'", "'sans-serif'", "'serif'", "'left'", "'center'", "'right'", "'unformatted'", "'general-number'", "'fixed'", "'percent'", "'scientific'", "'currency'", "'html'", "'pdf'", "'count'", "'running-count'", "'sum'", "'average'", "'minimum'", "'maximum'", "'running-sum'", "'rising'", "'bad-rising'", "'sloping'", "'good-sloping'", "'stagnating'", "'none'", "'solid'", "'dotted'", "'dashed'", "'double'", "'groove'", "'ridge'", "'inset'", "'outset'", "'page-number'", "'total-page'", "'page-number-unfiltered'", "'total-page-unfiltered'", "'page-variable'", "'size-to-image'", "'scale-to-item'", "'clip'", "'file'", "'url'", "'embed'", "'package'", "'{'", "'}'", "'layout-data'", "'externalCssURI'", "'from bundle'", "'formatters'", "'colors'", "'fonts'", "'medias'", "'media'", "'styles'", "'pagetemplate'", "'type'", "'orientation'", "'topmargin'", "'leftmargin'", "'bottommargin'", "'rightmargin'", "'color'", "'darkens'", "'by-percent'", "'lightens'", "'transforms'", "'towards'", "'font'", "'family'", "'size'", "'style'", "'formatter'", "'backgroundcolor'", "'alternate'", "'textcolor'", "'textalign'", "'border-top'", "'border-bottom'", "'border-left'", "'border-right'", "'padding-top'", "'padding-bottom'", "'padding-left'", "'padding-right'", "'margin-top'", "'margin-bottom'", "'margin-left'", "'margin-right'", "'uomo'", "'ui'", "'report'", "'number'", "'date'", "'date+time'", "'time'", "'datamart'", "'rendering'", "'toolbar'", "'template'", "'described by'", "'header'", "'height'", "'detail'", "'footer'", "'grid'", "'as'", "'row'", "'cell'", "'columnspan'", "'table'", "'group'", "'by'", "'details'", "'intervals'", "'lookups'", "'path'", "'property'", "'aggregate'", "'on-group'", "'title'", "'of'", "'('", "')'", "'up to'", "'days in past'", "'string'", "'cellcolor'", "'icon'", "'trend'", "'subtitle'", "'subsubtitle'", "'label'", "'text'", "'autotext'", "'image'", "'scale'", "'@'", "','", "']'", "'#'", "'['", "'instanceof'", "';'", "'if'", "'else'", "'switch'", "':'", "'default'", "'case'", "'for'", "'while'", "'do'", "'new'", "'null'", "'typeof'", "'throw'", "'return'", "'try'", "'finally'", "'synchronized'", "'catch'", "'?'", "'&'", "'bold'", "'showOnFirst'", "'showOnLast'", "'detailheader'", "'detailfooter'", "'hidelabel'", "'dynamic'", "'resize'", "'::'", "'?.'", "'|'", "'var'", "'true'"
-    };
-    public static final int T__144=144;
-    public static final int T__143=143;
-    public static final int T__146=146;
-    public static final int T__50=50;
-    public static final int T__145=145;
-    public static final int T__140=140;
-    public static final int T__142=142;
-    public static final int T__141=141;
-    public static final int T__59=59;
-    public static final int T__55=55;
-    public static final int T__56=56;
-    public static final int T__57=57;
-    public static final int T__58=58;
-    public static final int T__51=51;
-    public static final int T__137=137;
-    public static final int T__52=52;
-    public static final int T__136=136;
-    public static final int T__53=53;
-    public static final int T__139=139;
-    public static final int T__54=54;
-    public static final int T__138=138;
-    public static final int T__133=133;
-    public static final int T__254=254;
-    public static final int T__132=132;
-    public static final int T__253=253;
-    public static final int T__60=60;
-    public static final int T__135=135;
-    public static final int T__61=61;
-    public static final int T__134=134;
-    public static final int T__250=250;
-    public static final int RULE_ID=5;
-    public static final int T__131=131;
-    public static final int T__252=252;
-    public static final int T__130=130;
-    public static final int T__251=251;
-    public static final int RULE_INT=7;
-    public static final int T__66=66;
-    public static final int T__67=67;
-    public static final int T__129=129;
-    public static final int T__68=68;
-    public static final int T__69=69;
-    public static final int T__62=62;
-    public static final int T__126=126;
-    public static final int T__247=247;
-    public static final int T__63=63;
-    public static final int T__125=125;
-    public static final int T__246=246;
-    public static final int T__64=64;
-    public static final int T__128=128;
-    public static final int T__249=249;
-    public static final int T__65=65;
-    public static final int T__127=127;
-    public static final int T__248=248;
-    public static final int T__166=166;
-    public static final int T__165=165;
-    public static final int T__168=168;
-    public static final int T__167=167;
-    public static final int T__162=162;
-    public static final int T__161=161;
-    public static final int T__164=164;
-    public static final int T__163=163;
-    public static final int T__160=160;
-    public static final int T__37=37;
-    public static final int T__38=38;
-    public static final int T__39=39;
-    public static final int T__33=33;
-    public static final int T__34=34;
-    public static final int T__35=35;
-    public static final int T__36=36;
-    public static final int T__159=159;
-    public static final int T__30=30;
-    public static final int T__158=158;
-    public static final int T__31=31;
-    public static final int T__32=32;
-    public static final int T__155=155;
-    public static final int T__154=154;
-    public static final int T__157=157;
-    public static final int T__156=156;
-    public static final int T__151=151;
-    public static final int T__150=150;
-    public static final int T__153=153;
-    public static final int T__152=152;
-    public static final int T__48=48;
-    public static final int T__49=49;
-    public static final int T__44=44;
-    public static final int T__45=45;
-    public static final int T__46=46;
-    public static final int T__47=47;
-    public static final int T__40=40;
-    public static final int T__148=148;
-    public static final int T__41=41;
-    public static final int T__147=147;
-    public static final int T__42=42;
-    public static final int T__43=43;
-    public static final int T__149=149;
-    public static final int T__100=100;
-    public static final int T__221=221;
-    public static final int T__220=220;
-    public static final int T__102=102;
-    public static final int T__223=223;
-    public static final int T__101=101;
-    public static final int T__222=222;
-    public static final int T__19=19;
-    public static final int T__15=15;
-    public static final int T__16=16;
-    public static final int T__17=17;
-    public static final int T__18=18;
-    public static final int T__218=218;
-    public static final int T__217=217;
-    public static final int T__13=13;
-    public static final int T__14=14;
-    public static final int T__219=219;
-    public static final int T__214=214;
-    public static final int T__213=213;
-    public static final int T__216=216;
-    public static final int T__215=215;
-    public static final int T__210=210;
-    public static final int T__212=212;
-    public static final int T__211=211;
-    public static final int RULE_DECIMAL=8;
-    public static final int T__26=26;
-    public static final int T__27=27;
-    public static final int T__28=28;
-    public static final int T__29=29;
-    public static final int T__22=22;
-    public static final int T__207=207;
-    public static final int T__23=23;
-    public static final int T__206=206;
-    public static final int T__24=24;
-    public static final int T__209=209;
-    public static final int T__25=25;
-    public static final int T__208=208;
-    public static final int T__203=203;
-    public static final int T__202=202;
-    public static final int T__20=20;
-    public static final int T__205=205;
-    public static final int T__21=21;
-    public static final int T__204=204;
-    public static final int T__122=122;
-    public static final int T__243=243;
-    public static final int T__121=121;
-    public static final int T__242=242;
-    public static final int T__124=124;
-    public static final int T__245=245;
-    public static final int T__123=123;
-    public static final int T__244=244;
-    public static final int T__120=120;
-    public static final int T__241=241;
-    public static final int T__240=240;
-    public static final int RULE_SL_COMMENT=10;
-    public static final int T__119=119;
-    public static final int T__118=118;
-    public static final int T__239=239;
-    public static final int T__115=115;
-    public static final int T__236=236;
-    public static final int EOF=-1;
-    public static final int T__114=114;
-    public static final int T__235=235;
-    public static final int T__117=117;
-    public static final int T__238=238;
-    public static final int T__116=116;
-    public static final int T__237=237;
-    public static final int T__111=111;
-    public static final int T__232=232;
-    public static final int T__110=110;
-    public static final int T__231=231;
-    public static final int T__113=113;
-    public static final int T__234=234;
-    public static final int T__112=112;
-    public static final int T__233=233;
-    public static final int T__230=230;
-    public static final int T__108=108;
-    public static final int T__229=229;
-    public static final int T__107=107;
-    public static final int T__228=228;
-    public static final int T__109=109;
-    public static final int T__104=104;
-    public static final int T__225=225;
-    public static final int T__103=103;
-    public static final int T__224=224;
-    public static final int T__106=106;
-    public static final int T__227=227;
-    public static final int T__105=105;
-    public static final int T__226=226;
-    public static final int RULE_HEX=6;
-    public static final int RULE_ML_COMMENT=9;
-    public static final int T__201=201;
-    public static final int T__200=200;
-    public static final int T__91=91;
-    public static final int T__188=188;
-    public static final int T__92=92;
-    public static final int T__187=187;
-    public static final int T__93=93;
-    public static final int T__94=94;
-    public static final int T__189=189;
-    public static final int T__184=184;
-    public static final int T__183=183;
-    public static final int T__186=186;
-    public static final int T__90=90;
-    public static final int T__185=185;
-    public static final int T__180=180;
-    public static final int T__182=182;
-    public static final int T__181=181;
-    public static final int T__99=99;
-    public static final int T__95=95;
-    public static final int T__96=96;
-    public static final int T__97=97;
-    public static final int T__98=98;
-    public static final int T__177=177;
-    public static final int T__176=176;
-    public static final int T__179=179;
-    public static final int T__178=178;
-    public static final int T__173=173;
-    public static final int T__172=172;
-    public static final int T__175=175;
-    public static final int T__174=174;
-    public static final int T__171=171;
-    public static final int T__170=170;
-    public static final int T__169=169;
-    public static final int T__70=70;
-    public static final int T__71=71;
-    public static final int T__72=72;
-    public static final int RULE_STRING=4;
-    public static final int T__77=77;
-    public static final int T__78=78;
-    public static final int T__79=79;
-    public static final int T__73=73;
-    public static final int T__74=74;
-    public static final int T__75=75;
-    public static final int T__76=76;
-    public static final int T__80=80;
-    public static final int T__199=199;
-    public static final int T__81=81;
-    public static final int T__198=198;
-    public static final int T__82=82;
-    public static final int T__83=83;
-    public static final int T__195=195;
-    public static final int T__194=194;
-    public static final int RULE_WS=11;
-    public static final int T__197=197;
-    public static final int T__196=196;
-    public static final int T__191=191;
-    public static final int T__190=190;
-    public static final int T__193=193;
-    public static final int T__192=192;
-    public static final int RULE_ANY_OTHER=12;
-    public static final int T__88=88;
-    public static final int T__89=89;
-    public static final int T__84=84;
-    public static final int T__85=85;
-    public static final int T__86=86;
-    public static final int T__87=87;
-
-
-    public String[] getTokenNames() { return InternalReportDSLParser.tokenNames; }
-    public String getGrammarFileName() { return "../org.eclipse.osbp.xtext.reportdsl.ui/src-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/antlr/internal/InternalReportDSL.g"; }
-
-
-     
-     	protected ReportDSLGrammarAccess grammarAccess;
-     	
-        public void setGrammarAccess(ReportDSLGrammarAccess grammarAccess) {
-        	this.grammarAccess = grammarAccess;
-        }
-        
-        @Override
-        protected Grammar getGrammar() {
-        	return grammarAccess.getGrammar();
-        }
-        
-        @Override
-        protected String getValueForTokenName(String tokenName) {
-        	return tokenName;
-        }
-
-
-
-
-
-    // Delegated rules
-
-    public final boolean synpred358_InternalReportDSL() {
-        state.backtracking++;
-        int start = input.mark();
-        try {
-            synpred358_InternalReportDSL_fragment(); // can never throw exception
-        } catch (RecognitionException re) {
-            System.err.println("impossible: "+re);
-        }
-        boolean success = !state.failed;
-        input.rewind(start);
-        state.backtracking--;
-        state.failed=false;
-        return success;
-    }
-    public final boolean synpred345_InternalReportDSL() {
-        state.backtracking++;
-        int start = input.mark();
-        try {
-            synpred345_InternalReportDSL_fragment(); // can never throw exception
-        } catch (RecognitionException re) {
-            System.err.println("impossible: "+re);
-        }
-        boolean success = !state.failed;
-        input.rewind(start);
-        state.backtracking--;
-        state.failed=false;
-        return success;
-    }
-    public final boolean synpred406_InternalReportDSL() {
-        state.backtracking++;
-        int start = input.mark();
-        try {
-            synpred406_InternalReportDSL_fragment(); // can never throw exception
-        } catch (RecognitionException re) {
-            System.err.println("impossible: "+re);
-        }
-        boolean success = !state.failed;
-        input.rewind(start);
-        state.backtracking--;
-        state.failed=false;
-        return success;
-    }
-    public final boolean synpred297_InternalReportDSL() {
-        state.backtracking++;
-        int start = input.mark();
-        try {
-            synpred297_InternalReportDSL_fragment(); // can never throw exception
-        } catch (RecognitionException re) {
-            System.err.println("impossible: "+re);
-        }
-        boolean success = !state.failed;
-        input.rewind(start);
-        state.backtracking--;
-        state.failed=false;
-        return success;
-    }
-    public final boolean synpred284_InternalReportDSL() {
-        state.backtracking++;
-        int start = input.mark();
-        try {
-            synpred284_InternalReportDSL_fragment(); // can never throw exception
-        } catch (RecognitionException re) {
-            System.err.println("impossible: "+re);
-        }
-        boolean success = !state.failed;
-        input.rewind(start);
-        state.backtracking--;
-        state.failed=false;
-        return success;
-    }
-    public final boolean synpred318_InternalReportDSL() {
-        state.backtracking++;
-        int start = input.mark();
-        try {
-            synpred318_InternalReportDSL_fragment(); // can never throw exception
-        } catch (RecognitionException re) {
-            System.err.println("impossible: "+re);
-        }
-        boolean success = !state.failed;
-        input.rewind(start);
-        state.backtracking--;
-        state.failed=false;
-        return success;
-    }
-    public final boolean synpred257_InternalReportDSL() {
-        state.backtracking++;
-        int start = input.mark();
-        try {
-            synpred257_InternalReportDSL_fragment(); // can never throw exception
-        } catch (RecognitionException re) {
-            System.err.println("impossible: "+re);
-        }
-        boolean success = !state.failed;
-        input.rewind(start);
-        state.backtracking--;
-        state.failed=false;
-        return success;
-    }
-    public final boolean synpred332_InternalReportDSL() {
-        state.backtracking++;
-        int start = input.mark();
-        try {
-            synpred332_InternalReportDSL_fragment(); // can never throw exception
-        } catch (RecognitionException re) {
-            System.err.println("impossible: "+re);
-        }
-        boolean success = !state.failed;
-        input.rewind(start);
-        state.backtracking--;
-        state.failed=false;
-        return success;
-    }
-    public final boolean synpred333_InternalReportDSL() {
-        state.backtracking++;
-        int start = input.mark();
-        try {
-            synpred333_InternalReportDSL_fragment(); // can never throw exception
-        } catch (RecognitionException re) {
-            System.err.println("impossible: "+re);
-        }
-        boolean success = !state.failed;
-        input.rewind(start);
-        state.backtracking--;
-        state.failed=false;
-        return success;
-    }
-    public final boolean synpred320_InternalReportDSL() {
-        state.backtracking++;
-        int start = input.mark();
-        try {
-            synpred320_InternalReportDSL_fragment(); // can never throw exception
-        } catch (RecognitionException re) {
-            System.err.println("impossible: "+re);
-        }
-        boolean success = !state.failed;
-        input.rewind(start);
-        state.backtracking--;
-        state.failed=false;
-        return success;
-    }
-    public final boolean synpred373_InternalReportDSL() {
-        state.backtracking++;
-        int start = input.mark();
-        try {
-            synpred373_InternalReportDSL_fragment(); // can never throw exception
-        } catch (RecognitionException re) {
-            System.err.println("impossible: "+re);
-        }
-        boolean success = !state.failed;
-        input.rewind(start);
-        state.backtracking--;
-        state.failed=false;
-        return success;
-    }
-    public final boolean synpred386_InternalReportDSL() {
-        state.backtracking++;
-        int start = input.mark();
-        try {
-            synpred386_InternalReportDSL_fragment(); // can never throw exception
-        } catch (RecognitionException re) {
-            System.err.println("impossible: "+re);
-        }
-        boolean success = !state.failed;
-        input.rewind(start);
-        state.backtracking--;
-        state.failed=false;
-        return success;
-    }
-    public final boolean synpred399_InternalReportDSL() {
-        state.backtracking++;
-        int start = input.mark();
-        try {
-            synpred399_InternalReportDSL_fragment(); // can never throw exception
-        } catch (RecognitionException re) {
-            System.err.println("impossible: "+re);
-        }
-        boolean success = !state.failed;
-        input.rewind(start);
-        state.backtracking--;
-        state.failed=false;
-        return success;
-    }
-    public final boolean synpred258_InternalReportDSL() {
-        state.backtracking++;
-        int start = input.mark();
-        try {
-            synpred258_InternalReportDSL_fragment(); // can never throw exception
-        } catch (RecognitionException re) {
-            System.err.println("impossible: "+re);
-        }
-        boolean success = !state.failed;
-        input.rewind(start);
-        state.backtracking--;
-        state.failed=false;
-        return success;
-    }
-    public final boolean synpred360_InternalReportDSL() {
-        state.backtracking++;
-        int start = input.mark();
-        try {
-            synpred360_InternalReportDSL_fragment(); // can never throw exception
-        } catch (RecognitionException re) {
-            System.err.println("impossible: "+re);
-        }
-        boolean success = !state.failed;
-        input.rewind(start);
-        state.backtracking--;
-        state.failed=false;
-        return success;
-    }
-    public final boolean synpred298_InternalReportDSL() {
-        state.backtracking++;
-        int start = input.mark();
-        try {
-            synpred298_InternalReportDSL_fragment(); // can never throw exception
-        } catch (RecognitionException re) {
-            System.err.println("impossible: "+re);
-        }
-        boolean success = !state.failed;
-        input.rewind(start);
-        state.backtracking--;
-        state.failed=false;
-        return success;
-    }
-    public final boolean synpred346_InternalReportDSL() {
-        state.backtracking++;
-        int start = input.mark();
-        try {
-            synpred346_InternalReportDSL_fragment(); // can never throw exception
-        } catch (RecognitionException re) {
-            System.err.println("impossible: "+re);
-        }
-        boolean success = !state.failed;
-        input.rewind(start);
-        state.backtracking--;
-        state.failed=false;
-        return success;
-    }
-    public final boolean synpred359_InternalReportDSL() {
-        state.backtracking++;
-        int start = input.mark();
-        try {
-            synpred359_InternalReportDSL_fragment(); // can never throw exception
-        } catch (RecognitionException re) {
-            System.err.println("impossible: "+re);
-        }
-        boolean success = !state.failed;
-        input.rewind(start);
-        state.backtracking--;
-        state.failed=false;
-        return success;
-    }
-    public final boolean synpred407_InternalReportDSL() {
-        state.backtracking++;
-        int start = input.mark();
-        try {
-            synpred407_InternalReportDSL_fragment(); // can never throw exception
-        } catch (RecognitionException re) {
-            System.err.println("impossible: "+re);
-        }
-        boolean success = !state.failed;
-        input.rewind(start);
-        state.backtracking--;
-        state.failed=false;
-        return success;
-    }
-    public final boolean synpred387_InternalReportDSL() {
-        state.backtracking++;
-        int start = input.mark();
-        try {
-            synpred387_InternalReportDSL_fragment(); // can never throw exception
-        } catch (RecognitionException re) {
-            System.err.println("impossible: "+re);
-        }
-        boolean success = !state.failed;
-        input.rewind(start);
-        state.backtracking--;
-        state.failed=false;
-        return success;
-    }
-    public final boolean synpred260_InternalReportDSL() {
-        state.backtracking++;
-        int start = input.mark();
-        try {
-            synpred260_InternalReportDSL_fragment(); // can never throw exception
-        } catch (RecognitionException re) {
-            System.err.println("impossible: "+re);
-        }
-        boolean success = !state.failed;
-        input.rewind(start);
-        state.backtracking--;
-        state.failed=false;
-        return success;
-    }
-    public final boolean synpred361_InternalReportDSL() {
-        state.backtracking++;
-        int start = input.mark();
-        try {
-            synpred361_InternalReportDSL_fragment(); // can never throw exception
-        } catch (RecognitionException re) {
-            System.err.println("impossible: "+re);
-        }
-        boolean success = !state.failed;
-        input.rewind(start);
-        state.backtracking--;
-        state.failed=false;
-        return success;
-    }
-    public final boolean synpred371_InternalReportDSL() {
-        state.backtracking++;
-        int start = input.mark();
-        try {
-            synpred371_InternalReportDSL_fragment(); // can never throw exception
-        } catch (RecognitionException re) {
-            System.err.println("impossible: "+re);
-        }
-        boolean success = !state.failed;
-        input.rewind(start);
-        state.backtracking--;
-        state.failed=false;
-        return success;
-    }
-    public final boolean synpred357_InternalReportDSL() {
-        state.backtracking++;
-        int start = input.mark();
-        try {
-            synpred357_InternalReportDSL_fragment(); // can never throw exception
-        } catch (RecognitionException re) {
-            System.err.println("impossible: "+re);
-        }
-        boolean success = !state.failed;
-        input.rewind(start);
-        state.backtracking--;
-        state.failed=false;
-        return success;
-    }
-    public final boolean synpred397_InternalReportDSL() {
-        state.backtracking++;
-        int start = input.mark();
-        try {
-            synpred397_InternalReportDSL_fragment(); // can never throw exception
-        } catch (RecognitionException re) {
-            System.err.println("impossible: "+re);
-        }
-        boolean success = !state.failed;
-        input.rewind(start);
-        state.backtracking--;
-        state.failed=false;
-        return success;
-    }
-    public final boolean synpred372_InternalReportDSL() {
-        state.backtracking++;
-        int start = input.mark();
-        try {
-            synpred372_InternalReportDSL_fragment(); // can never throw exception
-        } catch (RecognitionException re) {
-            System.err.println("impossible: "+re);
-        }
-        boolean success = !state.failed;
-        input.rewind(start);
-        state.backtracking--;
-        state.failed=false;
-        return success;
-    }
-    public final boolean synpred398_InternalReportDSL() {
-        state.backtracking++;
-        int start = input.mark();
-        try {
-            synpred398_InternalReportDSL_fragment(); // can never throw exception
-        } catch (RecognitionException re) {
-            System.err.println("impossible: "+re);
-        }
-        boolean success = !state.failed;
-        input.rewind(start);
-        state.backtracking--;
-        state.failed=false;
-        return success;
-    }
-    public final boolean synpred347_InternalReportDSL() {
-        state.backtracking++;
-        int start = input.mark();
-        try {
-            synpred347_InternalReportDSL_fragment(); // can never throw exception
-        } catch (RecognitionException re) {
-            System.err.println("impossible: "+re);
-        }
-        boolean success = !state.failed;
-        input.rewind(start);
-        state.backtracking--;
-        state.failed=false;
-        return success;
-    }
-    public final boolean synpred388_InternalReportDSL() {
-        state.backtracking++;
-        int start = input.mark();
-        try {
-            synpred388_InternalReportDSL_fragment(); // can never throw exception
-        } catch (RecognitionException re) {
-            System.err.println("impossible: "+re);
-        }
-        boolean success = !state.failed;
-        input.rewind(start);
-        state.backtracking--;
-        state.failed=false;
-        return success;
-    }
-    public final boolean synpred256_InternalReportDSL() {
-        state.backtracking++;
-        int start = input.mark();
-        try {
-            synpred256_InternalReportDSL_fragment(); // can never throw exception
-        } catch (RecognitionException re) {
-            System.err.println("impossible: "+re);
-        }
-        boolean success = !state.failed;
-        input.rewind(start);
-        state.backtracking--;
-        state.failed=false;
-        return success;
-    }
-    public final boolean synpred321_InternalReportDSL() {
-        state.backtracking++;
-        int start = input.mark();
-        try {
-            synpred321_InternalReportDSL_fragment(); // can never throw exception
-        } catch (RecognitionException re) {
-            System.err.println("impossible: "+re);
-        }
-        boolean success = !state.failed;
-        input.rewind(start);
-        state.backtracking--;
-        state.failed=false;
-        return success;
-    }
-    public final boolean synpred331_InternalReportDSL() {
-        state.backtracking++;
-        int start = input.mark();
-        try {
-            synpred331_InternalReportDSL_fragment(); // can never throw exception
-        } catch (RecognitionException re) {
-            System.err.println("impossible: "+re);
-        }
-        boolean success = !state.failed;
-        input.rewind(start);
-        state.backtracking--;
-        state.failed=false;
-        return success;
-    }
-    public final boolean synpred335_InternalReportDSL() {
-        state.backtracking++;
-        int start = input.mark();
-        try {
-            synpred335_InternalReportDSL_fragment(); // can never throw exception
-        } catch (RecognitionException re) {
-            System.err.println("impossible: "+re);
-        }
-        boolean success = !state.failed;
-        input.rewind(start);
-        state.backtracking--;
-        state.failed=false;
-        return success;
-    }
-    public final boolean synpred390_InternalReportDSL() {
-        state.backtracking++;
-        int start = input.mark();
-        try {
-            synpred390_InternalReportDSL_fragment(); // can never throw exception
-        } catch (RecognitionException re) {
-            System.err.println("impossible: "+re);
-        }
-        boolean success = !state.failed;
-        input.rewind(start);
-        state.backtracking--;
-        state.failed=false;
-        return success;
-    }
-    public final boolean synpred348_InternalReportDSL() {
-        state.backtracking++;
-        int start = input.mark();
-        try {
-            synpred348_InternalReportDSL_fragment(); // can never throw exception
-        } catch (RecognitionException re) {
-            System.err.println("impossible: "+re);
-        }
-        boolean success = !state.failed;
-        input.rewind(start);
-        state.backtracking--;
-        state.failed=false;
-        return success;
-    }
-    public final boolean synpred368_InternalReportDSL() {
-        state.backtracking++;
-        int start = input.mark();
-        try {
-            synpred368_InternalReportDSL_fragment(); // can never throw exception
-        } catch (RecognitionException re) {
-            System.err.println("impossible: "+re);
-        }
-        boolean success = !state.failed;
-        input.rewind(start);
-        state.backtracking--;
-        state.failed=false;
-        return success;
-    }
-    public final boolean synpred328_InternalReportDSL() {
-        state.backtracking++;
-        int start = input.mark();
-        try {
-            synpred328_InternalReportDSL_fragment(); // can never throw exception
-        } catch (RecognitionException re) {
-            System.err.println("impossible: "+re);
-        }
-        boolean success = !state.failed;
-        input.rewind(start);
-        state.backtracking--;
-        state.failed=false;
-        return success;
-    }
-    public final boolean synpred82_InternalReportDSL() {
-        state.backtracking++;
-        int start = input.mark();
-        try {
-            synpred82_InternalReportDSL_fragment(); // can never throw exception
-        } catch (RecognitionException re) {
-            System.err.println("impossible: "+re);
-        }
-        boolean success = !state.failed;
-        input.rewind(start);
-        state.backtracking--;
-        state.failed=false;
-        return success;
-    }
-    public final boolean synpred261_InternalReportDSL() {
-        state.backtracking++;
-        int start = input.mark();
-        try {
-            synpred261_InternalReportDSL_fragment(); // can never throw exception
-        } catch (RecognitionException re) {
-            System.err.println("impossible: "+re);
-        }
-        boolean success = !state.failed;
-        input.rewind(start);
-        state.backtracking--;
-        state.failed=false;
-        return success;
-    }
-    public final boolean synpred375_InternalReportDSL() {
-        state.backtracking++;
-        int start = input.mark();
-        try {
-            synpred375_InternalReportDSL_fragment(); // can never throw exception
-        } catch (RecognitionException re) {
-            System.err.println("impossible: "+re);
-        }
-        boolean success = !state.failed;
-        input.rewind(start);
-        state.backtracking--;
-        state.failed=false;
-        return success;
-    }
-    public final boolean synpred355_InternalReportDSL() {
-        state.backtracking++;
-        int start = input.mark();
-        try {
-            synpred355_InternalReportDSL_fragment(); // can never throw exception
-        } catch (RecognitionException re) {
-            System.err.println("impossible: "+re);
-        }
-        boolean success = !state.failed;
-        input.rewind(start);
-        state.backtracking--;
-        state.failed=false;
-        return success;
-    }
-    public final boolean synpred403_InternalReportDSL() {
-        state.backtracking++;
-        int start = input.mark();
-        try {
-            synpred403_InternalReportDSL_fragment(); // can never throw exception
-        } catch (RecognitionException re) {
-            System.err.println("impossible: "+re);
-        }
-        boolean success = !state.failed;
-        input.rewind(start);
-        state.backtracking--;
-        state.failed=false;
-        return success;
-    }
-    public final boolean synpred410_InternalReportDSL() {
-        state.backtracking++;
-        int start = input.mark();
-        try {
-            synpred410_InternalReportDSL_fragment(); // can never throw exception
-        } catch (RecognitionException re) {
-            System.err.println("impossible: "+re);
-        }
-        boolean success = !state.failed;
-        input.rewind(start);
-        state.backtracking--;
-        state.failed=false;
-        return success;
-    }
-    public final boolean synpred281_InternalReportDSL() {
-        state.backtracking++;
-        int start = input.mark();
-        try {
-            synpred281_InternalReportDSL_fragment(); // can never throw exception
-        } catch (RecognitionException re) {
-            System.err.println("impossible: "+re);
-        }
-        boolean success = !state.failed;
-        input.rewind(start);
-        state.backtracking--;
-        state.failed=false;
-        return success;
-    }
-    public final boolean synpred330_InternalReportDSL() {
-        state.backtracking++;
-        int start = input.mark();
-        try {
-            synpred330_InternalReportDSL_fragment(); // can never throw exception
-        } catch (RecognitionException re) {
-            System.err.println("impossible: "+re);
-        }
-        boolean success = !state.failed;
-        input.rewind(start);
-        state.backtracking--;
-        state.failed=false;
-        return success;
-    }
-    public final boolean synpred343_InternalReportDSL() {
-        state.backtracking++;
-        int start = input.mark();
-        try {
-            synpred343_InternalReportDSL_fragment(); // can never throw exception
-        } catch (RecognitionException re) {
-            System.err.println("impossible: "+re);
-        }
-        boolean success = !state.failed;
-        input.rewind(start);
-        state.backtracking--;
-        state.failed=false;
-        return success;
-    }
-    public final boolean synpred255_InternalReportDSL() {
-        state.backtracking++;
-        int start = input.mark();
-        try {
-            synpred255_InternalReportDSL_fragment(); // can never throw exception
-        } catch (RecognitionException re) {
-            System.err.println("impossible: "+re);
-        }
-        boolean success = !state.failed;
-        input.rewind(start);
-        state.backtracking--;
-        state.failed=false;
-        return success;
-    }
-    public final boolean synpred96_InternalReportDSL() {
-        state.backtracking++;
-        int start = input.mark();
-        try {
-            synpred96_InternalReportDSL_fragment(); // can never throw exception
-        } catch (RecognitionException re) {
-            System.err.println("impossible: "+re);
-        }
-        boolean success = !state.failed;
-        input.rewind(start);
-        state.backtracking--;
-        state.failed=false;
-        return success;
-    }
-    public final boolean synpred310_InternalReportDSL() {
-        state.backtracking++;
-        int start = input.mark();
-        try {
-            synpred310_InternalReportDSL_fragment(); // can never throw exception
-        } catch (RecognitionException re) {
-            System.err.println("impossible: "+re);
-        }
-        boolean success = !state.failed;
-        input.rewind(start);
-        state.backtracking--;
-        state.failed=false;
-        return success;
-    }
-    public final boolean synpred350_InternalReportDSL() {
-        state.backtracking++;
-        int start = input.mark();
-        try {
-            synpred350_InternalReportDSL_fragment(); // can never throw exception
-        } catch (RecognitionException re) {
-            System.err.println("impossible: "+re);
-        }
-        boolean success = !state.failed;
-        input.rewind(start);
-        state.backtracking--;
-        state.failed=false;
-        return success;
-    }
-    public final boolean synpred370_InternalReportDSL() {
-        state.backtracking++;
-        int start = input.mark();
-        try {
-            synpred370_InternalReportDSL_fragment(); // can never throw exception
-        } catch (RecognitionException re) {
-            System.err.println("impossible: "+re);
-        }
-        boolean success = !state.failed;
-        input.rewind(start);
-        state.backtracking--;
-        state.failed=false;
-        return success;
-    }
-    public final boolean synpred363_InternalReportDSL() {
-        state.backtracking++;
-        int start = input.mark();
-        try {
-            synpred363_InternalReportDSL_fragment(); // can never throw exception
-        } catch (RecognitionException re) {
-            System.err.println("impossible: "+re);
-        }
-        boolean success = !state.failed;
-        input.rewind(start);
-        state.backtracking--;
-        state.failed=false;
-        return success;
-    }
-    public final boolean synpred383_InternalReportDSL() {
-        state.backtracking++;
-        int start = input.mark();
-        try {
-            synpred383_InternalReportDSL_fragment(); // can never throw exception
-        } catch (RecognitionException re) {
-            System.err.println("impossible: "+re);
-        }
-        boolean success = !state.failed;
-        input.rewind(start);
-        state.backtracking--;
-        state.failed=false;
-        return success;
-    }
-    public final boolean synpred101_InternalReportDSL() {
-        state.backtracking++;
-        int start = input.mark();
-        try {
-            synpred101_InternalReportDSL_fragment(); // can never throw exception
-        } catch (RecognitionException re) {
-            System.err.println("impossible: "+re);
-        }
-        boolean success = !state.failed;
-        input.rewind(start);
-        state.backtracking--;
-        state.failed=false;
-        return success;
-    }
-    public final boolean synpred263_InternalReportDSL() {
-        state.backtracking++;
-        int start = input.mark();
-        try {
-            synpred263_InternalReportDSL_fragment(); // can never throw exception
-        } catch (RecognitionException re) {
-            System.err.println("impossible: "+re);
-        }
-        boolean success = !state.failed;
-        input.rewind(start);
-        state.backtracking--;
-        state.failed=false;
-        return success;
-    }
-    public final boolean synpred303_InternalReportDSL() {
-        state.backtracking++;
-        int start = input.mark();
-        try {
-            synpred303_InternalReportDSL_fragment(); // can never throw exception
-        } catch (RecognitionException re) {
-            System.err.println("impossible: "+re);
-        }
-        boolean success = !state.failed;
-        input.rewind(start);
-        state.backtracking--;
-        state.failed=false;
-        return success;
-    }
-    public final boolean synpred395_InternalReportDSL() {
-        state.backtracking++;
-        int start = input.mark();
-        try {
-            synpred395_InternalReportDSL_fragment(); // can never throw exception
-        } catch (RecognitionException re) {
-            System.err.println("impossible: "+re);
-        }
-        boolean success = !state.failed;
-        input.rewind(start);
-        state.backtracking--;
-        state.failed=false;
-        return success;
-    }
-    public final boolean synpred34_InternalReportDSL() {
-        state.backtracking++;
-        int start = input.mark();
-        try {
-            synpred34_InternalReportDSL_fragment(); // can never throw exception
-        } catch (RecognitionException re) {
-            System.err.println("impossible: "+re);
-        }
-        boolean success = !state.failed;
-        input.rewind(start);
-        state.backtracking--;
-        state.failed=false;
-        return success;
-    }
-    public final boolean synpred385_InternalReportDSL() {
-        state.backtracking++;
-        int start = input.mark();
-        try {
-            synpred385_InternalReportDSL_fragment(); // can never throw exception
-        } catch (RecognitionException re) {
-            System.err.println("impossible: "+re);
-        }
-        boolean success = !state.failed;
-        input.rewind(start);
-        state.backtracking--;
-        state.failed=false;
-        return success;
-    }
-    public final boolean synpred405_InternalReportDSL() {
-        state.backtracking++;
-        int start = input.mark();
-        try {
-            synpred405_InternalReportDSL_fragment(); // can never throw exception
-        } catch (RecognitionException re) {
-            System.err.println("impossible: "+re);
-        }
-        boolean success = !state.failed;
-        input.rewind(start);
-        state.backtracking--;
-        state.failed=false;
-        return success;
-    }
-    public final boolean synpred74_InternalReportDSL() {
-        state.backtracking++;
-        int start = input.mark();
-        try {
-            synpred74_InternalReportDSL_fragment(); // can never throw exception
-        } catch (RecognitionException re) {
-            System.err.println("impossible: "+re);
-        }
-        boolean success = !state.failed;
-        input.rewind(start);
-        state.backtracking--;
-        state.failed=false;
-        return success;
-    }
-    public final boolean synpred400_InternalReportDSL() {
-        state.backtracking++;
-        int start = input.mark();
-        try {
-            synpred400_InternalReportDSL_fragment(); // can never throw exception
-        } catch (RecognitionException re) {
-            System.err.println("impossible: "+re);
-        }
-        boolean success = !state.failed;
-        input.rewind(start);
-        state.backtracking--;
-        state.failed=false;
-        return success;
-    }
-    public final boolean synpred380_InternalReportDSL() {
-        state.backtracking++;
-        int start = input.mark();
-        try {
-            synpred380_InternalReportDSL_fragment(); // can never throw exception
-        } catch (RecognitionException re) {
-            System.err.println("impossible: "+re);
-        }
-        boolean success = !state.failed;
-        input.rewind(start);
-        state.backtracking--;
-        state.failed=false;
-        return success;
-    }
-    public final boolean synpred413_InternalReportDSL() {
-        state.backtracking++;
-        int start = input.mark();
-        try {
-            synpred413_InternalReportDSL_fragment(); // can never throw exception
-        } catch (RecognitionException re) {
-            System.err.println("impossible: "+re);
-        }
-        boolean success = !state.failed;
-        input.rewind(start);
-        state.backtracking--;
-        state.failed=false;
-        return success;
-    }
-    public final boolean synpred378_InternalReportDSL() {
-        state.backtracking++;
-        int start = input.mark();
-        try {
-            synpred378_InternalReportDSL_fragment(); // can never throw exception
-        } catch (RecognitionException re) {
-            System.err.println("impossible: "+re);
-        }
-        boolean success = !state.failed;
-        input.rewind(start);
-        state.backtracking--;
-        state.failed=false;
-        return success;
-    }
-    public final boolean synpred352_InternalReportDSL() {
-        state.backtracking++;
-        int start = input.mark();
-        try {
-            synpred352_InternalReportDSL_fragment(); // can never throw exception
-        } catch (RecognitionException re) {
-            System.err.println("impossible: "+re);
-        }
-        boolean success = !state.failed;
-        input.rewind(start);
-        state.backtracking--;
-        state.failed=false;
-        return success;
-    }
-    public final boolean synpred338_InternalReportDSL() {
-        state.backtracking++;
-        int start = input.mark();
-        try {
-            synpred338_InternalReportDSL_fragment(); // can never throw exception
-        } catch (RecognitionException re) {
-            System.err.println("impossible: "+re);
-        }
-        boolean success = !state.failed;
-        input.rewind(start);
-        state.backtracking--;
-        state.failed=false;
-        return success;
-    }
-    public final boolean synpred365_InternalReportDSL() {
-        state.backtracking++;
-        int start = input.mark();
-        try {
-            synpred365_InternalReportDSL_fragment(); // can never throw exception
-        } catch (RecognitionException re) {
-            System.err.println("impossible: "+re);
-        }
-        boolean success = !state.failed;
-        input.rewind(start);
-        state.backtracking--;
-        state.failed=false;
-        return success;
-    }
-    public final boolean synpred312_InternalReportDSL() {
-        state.backtracking++;
-        int start = input.mark();
-        try {
-            synpred312_InternalReportDSL_fragment(); // can never throw exception
-        } catch (RecognitionException re) {
-            System.err.println("impossible: "+re);
-        }
-        boolean success = !state.failed;
-        input.rewind(start);
-        state.backtracking--;
-        state.failed=false;
-        return success;
-    }
-    public final boolean synpred265_InternalReportDSL() {
-        state.backtracking++;
-        int start = input.mark();
-        try {
-            synpred265_InternalReportDSL_fragment(); // can never throw exception
-        } catch (RecognitionException re) {
-            System.err.println("impossible: "+re);
-        }
-        boolean success = !state.failed;
-        input.rewind(start);
-        state.backtracking--;
-        state.failed=false;
-        return success;
-    }
-    public final boolean synpred379_InternalReportDSL() {
-        state.backtracking++;
-        int start = input.mark();
-        try {
-            synpred379_InternalReportDSL_fragment(); // can never throw exception
-        } catch (RecognitionException re) {
-            System.err.println("impossible: "+re);
-        }
-        boolean success = !state.failed;
-        input.rewind(start);
-        state.backtracking--;
-        state.failed=false;
-        return success;
-    }
-    public final boolean synpred60_InternalReportDSL() {
-        state.backtracking++;
-        int start = input.mark();
-        try {
-            synpred60_InternalReportDSL_fragment(); // can never throw exception
-        } catch (RecognitionException re) {
-            System.err.println("impossible: "+re);
-        }
-        boolean success = !state.failed;
-        input.rewind(start);
-        state.backtracking--;
-        state.failed=false;
-        return success;
-    }
-    public final boolean synpred353_InternalReportDSL() {
-        state.backtracking++;
-        int start = input.mark();
-        try {
-            synpred353_InternalReportDSL_fragment(); // can never throw exception
-        } catch (RecognitionException re) {
-            System.err.println("impossible: "+re);
-        }
-        boolean success = !state.failed;
-        input.rewind(start);
-        state.backtracking--;
-        state.failed=false;
-        return success;
-    }
-    public final boolean synpred340_InternalReportDSL() {
-        state.backtracking++;
-        int start = input.mark();
-        try {
-            synpred340_InternalReportDSL_fragment(); // can never throw exception
-        } catch (RecognitionException re) {
-            System.err.println("impossible: "+re);
-        }
-        boolean success = !state.failed;
-        input.rewind(start);
-        state.backtracking--;
-        state.failed=false;
-        return success;
-    }
-    public final boolean synpred252_InternalReportDSL() {
-        state.backtracking++;
-        int start = input.mark();
-        try {
-            synpred252_InternalReportDSL_fragment(); // can never throw exception
-        } catch (RecognitionException re) {
-            System.err.println("impossible: "+re);
-        }
-        boolean success = !state.failed;
-        input.rewind(start);
-        state.backtracking--;
-        state.failed=false;
-        return success;
-    }
-    public final boolean synpred414_InternalReportDSL() {
-        state.backtracking++;
-        int start = input.mark();
-        try {
-            synpred414_InternalReportDSL_fragment(); // can never throw exception
-        } catch (RecognitionException re) {
-            System.err.println("impossible: "+re);
-        }
-        boolean success = !state.failed;
-        input.rewind(start);
-        state.backtracking--;
-        state.failed=false;
-        return success;
-    }
-    public final boolean synpred401_InternalReportDSL() {
-        state.backtracking++;
-        int start = input.mark();
-        try {
-            synpred401_InternalReportDSL_fragment(); // can never throw exception
-        } catch (RecognitionException re) {
-            System.err.println("impossible: "+re);
-        }
-        boolean success = !state.failed;
-        input.rewind(start);
-        state.backtracking--;
-        state.failed=false;
-        return success;
-    }
-    public final boolean synpred309_InternalReportDSL() {
-        state.backtracking++;
-        int start = input.mark();
-        try {
-            synpred309_InternalReportDSL_fragment(); // can never throw exception
-        } catch (RecognitionException re) {
-            System.err.println("impossible: "+re);
-        }
-        boolean success = !state.failed;
-        input.rewind(start);
-        state.backtracking--;
-        state.failed=false;
-        return success;
-    }
-    public final boolean synpred339_InternalReportDSL() {
-        state.backtracking++;
-        int start = input.mark();
-        try {
-            synpred339_InternalReportDSL_fragment(); // can never throw exception
-        } catch (RecognitionException re) {
-            System.err.println("impossible: "+re);
-        }
-        boolean success = !state.failed;
-        input.rewind(start);
-        state.backtracking--;
-        state.failed=false;
-        return success;
-    }
-    public final boolean synpred366_InternalReportDSL() {
-        state.backtracking++;
-        int start = input.mark();
-        try {
-            synpred366_InternalReportDSL_fragment(); // can never throw exception
-        } catch (RecognitionException re) {
-            System.err.println("impossible: "+re);
-        }
-        boolean success = !state.failed;
-        input.rewind(start);
-        state.backtracking--;
-        state.failed=false;
-        return success;
-    }
-    public final boolean synpred393_InternalReportDSL() {
-        state.backtracking++;
-        int start = input.mark();
-        try {
-            synpred393_InternalReportDSL_fragment(); // can never throw exception
-        } catch (RecognitionException re) {
-            System.err.println("impossible: "+re);
-        }
-        boolean success = !state.failed;
-        input.rewind(start);
-        state.backtracking--;
-        state.failed=false;
-        return success;
-    }
-    public final boolean synpred351_InternalReportDSL() {
-        state.backtracking++;
-        int start = input.mark();
-        try {
-            synpred351_InternalReportDSL_fragment(); // can never throw exception
-        } catch (RecognitionException re) {
-            System.err.println("impossible: "+re);
-        }
-        boolean success = !state.failed;
-        input.rewind(start);
-        state.backtracking--;
-        state.failed=false;
-        return success;
-    }
-    public final boolean synpred377_InternalReportDSL() {
-        state.backtracking++;
-        int start = input.mark();
-        try {
-            synpred377_InternalReportDSL_fragment(); // can never throw exception
-        } catch (RecognitionException re) {
-            System.err.println("impossible: "+re);
-        }
-        boolean success = !state.failed;
-        input.rewind(start);
-        state.backtracking--;
-        state.failed=false;
-        return success;
-    }
-    public final boolean synpred341_InternalReportDSL() {
-        state.backtracking++;
-        int start = input.mark();
-        try {
-            synpred341_InternalReportDSL_fragment(); // can never throw exception
-        } catch (RecognitionException re) {
-            System.err.println("impossible: "+re);
-        }
-        boolean success = !state.failed;
-        input.rewind(start);
-        state.backtracking--;
-        state.failed=false;
-        return success;
-    }
-    public final boolean synpred381_InternalReportDSL() {
-        state.backtracking++;
-        int start = input.mark();
-        try {
-            synpred381_InternalReportDSL_fragment(); // can never throw exception
-        } catch (RecognitionException re) {
-            System.err.println("impossible: "+re);
-        }
-        boolean success = !state.failed;
-        input.rewind(start);
-        state.backtracking--;
-        state.failed=false;
-        return success;
-    }
-    public final boolean synpred367_InternalReportDSL() {
-        state.backtracking++;
-        int start = input.mark();
-        try {
-            synpred367_InternalReportDSL_fragment(); // can never throw exception
-        } catch (RecognitionException re) {
-            System.err.println("impossible: "+re);
-        }
-        boolean success = !state.failed;
-        input.rewind(start);
-        state.backtracking--;
-        state.failed=false;
-        return success;
-    }
-    public final boolean synpred382_InternalReportDSL() {
-        state.backtracking++;
-        int start = input.mark();
-        try {
-            synpred382_InternalReportDSL_fragment(); // can never throw exception
-        } catch (RecognitionException re) {
-            System.err.println("impossible: "+re);
-        }
-        boolean success = !state.failed;
-        input.rewind(start);
-        state.backtracking--;
-        state.failed=false;
-        return success;
-    }
-    public final boolean synpred392_InternalReportDSL() {
-        state.backtracking++;
-        int start = input.mark();
-        try {
-            synpred392_InternalReportDSL_fragment(); // can never throw exception
-        } catch (RecognitionException re) {
-            System.err.println("impossible: "+re);
-        }
-        boolean success = !state.failed;
-        input.rewind(start);
-        state.backtracking--;
-        state.failed=false;
-        return success;
-    }
-    public final boolean synpred409_InternalReportDSL() {
-        state.backtracking++;
-        int start = input.mark();
-        try {
-            synpred409_InternalReportDSL_fragment(); // can never throw exception
-        } catch (RecognitionException re) {
-            System.err.println("impossible: "+re);
-        }
-        boolean success = !state.failed;
-        input.rewind(start);
-        state.backtracking--;
-        state.failed=false;
-        return success;
-    }
-    public final boolean synpred337_InternalReportDSL() {
-        state.backtracking++;
-        int start = input.mark();
-        try {
-            synpred337_InternalReportDSL_fragment(); // can never throw exception
-        } catch (RecognitionException re) {
-            System.err.println("impossible: "+re);
-        }
-        boolean success = !state.failed;
-        input.rewind(start);
-        state.backtracking--;
-        state.failed=false;
-        return success;
-    }
-    public final boolean synpred391_InternalReportDSL() {
-        state.backtracking++;
-        int start = input.mark();
-        try {
-            synpred391_InternalReportDSL_fragment(); // can never throw exception
-        } catch (RecognitionException re) {
-            System.err.println("impossible: "+re);
-        }
-        boolean success = !state.failed;
-        input.rewind(start);
-        state.backtracking--;
-        state.failed=false;
-        return success;
-    }
-    public final boolean synpred402_InternalReportDSL() {
-        state.backtracking++;
-        int start = input.mark();
-        try {
-            synpred402_InternalReportDSL_fragment(); // can never throw exception
-        } catch (RecognitionException re) {
-            System.err.println("impossible: "+re);
-        }
-        boolean success = !state.failed;
-        input.rewind(start);
-        state.backtracking--;
-        state.failed=false;
-        return success;
-    }
-    public final boolean synpred412_InternalReportDSL() {
-        state.backtracking++;
-        int start = input.mark();
-        try {
-            synpred412_InternalReportDSL_fragment(); // can never throw exception
-        } catch (RecognitionException re) {
-            System.err.println("impossible: "+re);
-        }
-        boolean success = !state.failed;
-        input.rewind(start);
-        state.backtracking--;
-        state.failed=false;
-        return success;
-    }
-    public final boolean synpred266_InternalReportDSL() {
-        state.backtracking++;
-        int start = input.mark();
-        try {
-            synpred266_InternalReportDSL_fragment(); // can never throw exception
-        } catch (RecognitionException re) {
-            System.err.println("impossible: "+re);
-        }
-        boolean success = !state.failed;
-        input.rewind(start);
-        state.backtracking--;
-        state.failed=false;
-        return success;
-    }
-    public final boolean synpred311_InternalReportDSL() {
-        state.backtracking++;
-        int start = input.mark();
-        try {
-            synpred311_InternalReportDSL_fragment(); // can never throw exception
-        } catch (RecognitionException re) {
-            System.err.println("impossible: "+re);
-        }
-        boolean success = !state.failed;
-        input.rewind(start);
-        state.backtracking--;
-        state.failed=false;
-        return success;
-    }
-    public final boolean synpred61_InternalReportDSL() {
-        state.backtracking++;
-        int start = input.mark();
-        try {
-            synpred61_InternalReportDSL_fragment(); // can never throw exception
-        } catch (RecognitionException re) {
-            System.err.println("impossible: "+re);
-        }
-        boolean success = !state.failed;
-        input.rewind(start);
-        state.backtracking--;
-        state.failed=false;
-        return success;
-    }
-    public final boolean synpred35_InternalReportDSL() {
-        state.backtracking++;
-        int start = input.mark();
-        try {
-            synpred35_InternalReportDSL_fragment(); // can never throw exception
-        } catch (RecognitionException re) {
-            System.err.println("impossible: "+re);
-        }
-        boolean success = !state.failed;
-        input.rewind(start);
-        state.backtracking--;
-        state.failed=false;
-        return success;
-    }
-    public final boolean synpred302_InternalReportDSL() {
-        state.backtracking++;
-        int start = input.mark();
-        try {
-            synpred302_InternalReportDSL_fragment(); // can never throw exception
-        } catch (RecognitionException re) {
-            System.err.println("impossible: "+re);
-        }
-        boolean success = !state.failed;
-        input.rewind(start);
-        state.backtracking--;
-        state.failed=false;
-        return success;
-    }
-    public final boolean synpred408_InternalReportDSL() {
-        state.backtracking++;
-        int start = input.mark();
-        try {
-            synpred408_InternalReportDSL_fragment(); // can never throw exception
-        } catch (RecognitionException re) {
-            System.err.println("impossible: "+re);
-        }
-        boolean success = !state.failed;
-        input.rewind(start);
-        state.backtracking--;
-        state.failed=false;
-        return success;
-    }
-    public final boolean synpred254_InternalReportDSL() {
-        state.backtracking++;
-        int start = input.mark();
-        try {
-            synpred254_InternalReportDSL_fragment(); // can never throw exception
-        } catch (RecognitionException re) {
-            System.err.println("impossible: "+re);
-        }
-        boolean success = !state.failed;
-        input.rewind(start);
-        state.backtracking--;
-        state.failed=false;
-        return success;
-    }
-    public final boolean synpred362_InternalReportDSL() {
-        state.backtracking++;
-        int start = input.mark();
-        try {
-            synpred362_InternalReportDSL_fragment(); // can never throw exception
-        } catch (RecognitionException re) {
-            System.err.println("impossible: "+re);
-        }
-        boolean success = !state.failed;
-        input.rewind(start);
-        state.backtracking--;
-        state.failed=false;
-        return success;
-    }
-    public final boolean synpred342_InternalReportDSL() {
-        state.backtracking++;
-        int start = input.mark();
-        try {
-            synpred342_InternalReportDSL_fragment(); // can never throw exception
-        } catch (RecognitionException re) {
-            System.err.println("impossible: "+re);
-        }
-        boolean success = !state.failed;
-        input.rewind(start);
-        state.backtracking--;
-        state.failed=false;
-        return success;
-    }
-    public final boolean synpred274_InternalReportDSL() {
-        state.backtracking++;
-        int start = input.mark();
-        try {
-            synpred274_InternalReportDSL_fragment(); // can never throw exception
-        } catch (RecognitionException re) {
-            System.err.println("impossible: "+re);
-        }
-        boolean success = !state.failed;
-        input.rewind(start);
-        state.backtracking--;
-        state.failed=false;
-        return success;
-    }
-    public final boolean synpred389_InternalReportDSL() {
-        state.backtracking++;
-        int start = input.mark();
-        try {
-            synpred389_InternalReportDSL_fragment(); // can never throw exception
-        } catch (RecognitionException re) {
-            System.err.println("impossible: "+re);
-        }
-        boolean success = !state.failed;
-        input.rewind(start);
-        state.backtracking--;
-        state.failed=false;
-        return success;
-    }
-    public final boolean synpred83_InternalReportDSL() {
-        state.backtracking++;
-        int start = input.mark();
-        try {
-            synpred83_InternalReportDSL_fragment(); // can never throw exception
-        } catch (RecognitionException re) {
-            System.err.println("impossible: "+re);
-        }
-        boolean success = !state.failed;
-        input.rewind(start);
-        state.backtracking--;
-        state.failed=false;
-        return success;
-    }
-    public final boolean synpred262_InternalReportDSL() {
-        state.backtracking++;
-        int start = input.mark();
-        try {
-            synpred262_InternalReportDSL_fragment(); // can never throw exception
-        } catch (RecognitionException re) {
-            System.err.println("impossible: "+re);
-        }
-        boolean success = !state.failed;
-        input.rewind(start);
-        state.backtracking--;
-        state.failed=false;
-        return success;
-    }
-    public final boolean synpred100_InternalReportDSL() {
-        state.backtracking++;
-        int start = input.mark();
-        try {
-            synpred100_InternalReportDSL_fragment(); // can never throw exception
-        } catch (RecognitionException re) {
-            System.err.println("impossible: "+re);
-        }
-        boolean success = !state.failed;
-        input.rewind(start);
-        state.backtracking--;
-        state.failed=false;
-        return success;
-    }
-    public final boolean synpred336_InternalReportDSL() {
-        state.backtracking++;
-        int start = input.mark();
-        try {
-            synpred336_InternalReportDSL_fragment(); // can never throw exception
-        } catch (RecognitionException re) {
-            System.err.println("impossible: "+re);
-        }
-        boolean success = !state.failed;
-        input.rewind(start);
-        state.backtracking--;
-        state.failed=false;
-        return success;
-    }
-    public final boolean synpred396_InternalReportDSL() {
-        state.backtracking++;
-        int start = input.mark();
-        try {
-            synpred396_InternalReportDSL_fragment(); // can never throw exception
-        } catch (RecognitionException re) {
-            System.err.println("impossible: "+re);
-        }
-        boolean success = !state.failed;
-        input.rewind(start);
-        state.backtracking--;
-        state.failed=false;
-        return success;
-    }
-    public final boolean synpred376_InternalReportDSL() {
-        state.backtracking++;
-        int start = input.mark();
-        try {
-            synpred376_InternalReportDSL_fragment(); // can never throw exception
-        } catch (RecognitionException re) {
-            System.err.println("impossible: "+re);
-        }
-        boolean success = !state.failed;
-        input.rewind(start);
-        state.backtracking--;
-        state.failed=false;
-        return success;
-    }
-    public final boolean synpred411_InternalReportDSL() {
-        state.backtracking++;
-        int start = input.mark();
-        try {
-            synpred411_InternalReportDSL_fragment(); // can never throw exception
-        } catch (RecognitionException re) {
-            System.err.println("impossible: "+re);
-        }
-        boolean success = !state.failed;
-        input.rewind(start);
-        state.backtracking--;
-        state.failed=false;
-        return success;
-    }
-    public final boolean synpred369_InternalReportDSL() {
-        state.backtracking++;
-        int start = input.mark();
-        try {
-            synpred369_InternalReportDSL_fragment(); // can never throw exception
-        } catch (RecognitionException re) {
-            System.err.println("impossible: "+re);
-        }
-        boolean success = !state.failed;
-        input.rewind(start);
-        state.backtracking--;
-        state.failed=false;
-        return success;
-    }
-    public final boolean synpred404_InternalReportDSL() {
-        state.backtracking++;
-        int start = input.mark();
-        try {
-            synpred404_InternalReportDSL_fragment(); // can never throw exception
-        } catch (RecognitionException re) {
-            System.err.println("impossible: "+re);
-        }
-        boolean success = !state.failed;
-        input.rewind(start);
-        state.backtracking--;
-        state.failed=false;
-        return success;
-    }
-    public final boolean synpred329_InternalReportDSL() {
-        state.backtracking++;
-        int start = input.mark();
-        try {
-            synpred329_InternalReportDSL_fragment(); // can never throw exception
-        } catch (RecognitionException re) {
-            System.err.println("impossible: "+re);
-        }
-        boolean success = !state.failed;
-        input.rewind(start);
-        state.backtracking--;
-        state.failed=false;
-        return success;
-    }
-    public final boolean synpred356_InternalReportDSL() {
-        state.backtracking++;
-        int start = input.mark();
-        try {
-            synpred356_InternalReportDSL_fragment(); // can never throw exception
-        } catch (RecognitionException re) {
-            System.err.println("impossible: "+re);
-        }
-        boolean success = !state.failed;
-        input.rewind(start);
-        state.backtracking--;
-        state.failed=false;
-        return success;
-    }
-    public final boolean synpred349_InternalReportDSL() {
-        state.backtracking++;
-        int start = input.mark();
-        try {
-            synpred349_InternalReportDSL_fragment(); // can never throw exception
-        } catch (RecognitionException re) {
-            System.err.println("impossible: "+re);
-        }
-        boolean success = !state.failed;
-        input.rewind(start);
-        state.backtracking--;
-        state.failed=false;
-        return success;
-    }
-    public final boolean synpred374_InternalReportDSL() {
-        state.backtracking++;
-        int start = input.mark();
-        try {
-            synpred374_InternalReportDSL_fragment(); // can never throw exception
-        } catch (RecognitionException re) {
-            System.err.println("impossible: "+re);
-        }
-        boolean success = !state.failed;
-        input.rewind(start);
-        state.backtracking--;
-        state.failed=false;
-        return success;
-    }
-    public final boolean synpred384_InternalReportDSL() {
-        state.backtracking++;
-        int start = input.mark();
-        try {
-            synpred384_InternalReportDSL_fragment(); // can never throw exception
-        } catch (RecognitionException re) {
-            System.err.println("impossible: "+re);
-        }
-        boolean success = !state.failed;
-        input.rewind(start);
-        state.backtracking--;
-        state.failed=false;
-        return success;
-    }
-    public final boolean synpred364_InternalReportDSL() {
-        state.backtracking++;
-        int start = input.mark();
-        try {
-            synpred364_InternalReportDSL_fragment(); // can never throw exception
-        } catch (RecognitionException re) {
-            System.err.println("impossible: "+re);
-        }
-        boolean success = !state.failed;
-        input.rewind(start);
-        state.backtracking--;
-        state.failed=false;
-        return success;
-    }
-    public final boolean synpred354_InternalReportDSL() {
-        state.backtracking++;
-        int start = input.mark();
-        try {
-            synpred354_InternalReportDSL_fragment(); // can never throw exception
-        } catch (RecognitionException re) {
-            System.err.println("impossible: "+re);
-        }
-        boolean success = !state.failed;
-        input.rewind(start);
-        state.backtracking--;
-        state.failed=false;
-        return success;
-    }
-    public final boolean synpred107_InternalReportDSL() {
-        state.backtracking++;
-        int start = input.mark();
-        try {
-            synpred107_InternalReportDSL_fragment(); // can never throw exception
-        } catch (RecognitionException re) {
-            System.err.println("impossible: "+re);
-        }
-        boolean success = !state.failed;
-        input.rewind(start);
-        state.backtracking--;
-        state.failed=false;
-        return success;
-    }
-    public final boolean synpred394_InternalReportDSL() {
-        state.backtracking++;
-        int start = input.mark();
-        try {
-            synpred394_InternalReportDSL_fragment(); // can never throw exception
-        } catch (RecognitionException re) {
-            System.err.println("impossible: "+re);
-        }
-        boolean success = !state.failed;
-        input.rewind(start);
-        state.backtracking--;
-        state.failed=false;
-        return success;
-    }
-    public final boolean synpred33_InternalReportDSL() {
-        state.backtracking++;
-        int start = input.mark();
-        try {
-            synpred33_InternalReportDSL_fragment(); // can never throw exception
-        } catch (RecognitionException re) {
-            System.err.println("impossible: "+re);
-        }
-        boolean success = !state.failed;
-        input.rewind(start);
-        state.backtracking--;
-        state.failed=false;
-        return success;
-    }
-    public final boolean synpred314_InternalReportDSL() {
-        state.backtracking++;
-        int start = input.mark();
-        try {
-            synpred314_InternalReportDSL_fragment(); // can never throw exception
-        } catch (RecognitionException re) {
-            System.err.println("impossible: "+re);
-        }
-        boolean success = !state.failed;
-        input.rewind(start);
-        state.backtracking--;
-        state.failed=false;
-        return success;
-    }
-    public final boolean synpred304_InternalReportDSL() {
-        state.backtracking++;
-        int start = input.mark();
-        try {
-            synpred304_InternalReportDSL_fragment(); // can never throw exception
-        } catch (RecognitionException re) {
-            System.err.println("impossible: "+re);
-        }
-        boolean success = !state.failed;
-        input.rewind(start);
-        state.backtracking--;
-        state.failed=false;
-        return success;
-    }
-    public final boolean synpred259_InternalReportDSL() {
-        state.backtracking++;
-        int start = input.mark();
-        try {
-            synpred259_InternalReportDSL_fragment(); // can never throw exception
-        } catch (RecognitionException re) {
-            System.err.println("impossible: "+re);
-        }
-        boolean success = !state.failed;
-        input.rewind(start);
-        state.backtracking--;
-        state.failed=false;
-        return success;
-    }
-    public final boolean synpred334_InternalReportDSL() {
-        state.backtracking++;
-        int start = input.mark();
-        try {
-            synpred334_InternalReportDSL_fragment(); // can never throw exception
-        } catch (RecognitionException re) {
-            System.err.println("impossible: "+re);
-        }
-        boolean success = !state.failed;
-        input.rewind(start);
-        state.backtracking--;
-        state.failed=false;
-        return success;
-    }
-    public final boolean synpred344_InternalReportDSL() {
-        state.backtracking++;
-        int start = input.mark();
-        try {
-            synpred344_InternalReportDSL_fragment(); // can never throw exception
-        } catch (RecognitionException re) {
-            System.err.println("impossible: "+re);
-        }
-        boolean success = !state.failed;
-        input.rewind(start);
-        state.backtracking--;
-        state.failed=false;
-        return success;
-    }
-
-
-    protected DFA14 dfa14 = new DFA14(this);
-    protected DFA15 dfa15 = new DFA15(this);
-    protected DFA16 dfa16 = new DFA16(this);
-    protected DFA23 dfa23 = new DFA23(this);
-    protected DFA31 dfa31 = new DFA31(this);
-    protected DFA34 dfa34 = new DFA34(this);
-    protected DFA35 dfa35 = new DFA35(this);
-    protected DFA38 dfa38 = new DFA38(this);
-    protected DFA43 dfa43 = new DFA43(this);
-    protected DFA46 dfa46 = new DFA46(this);
-    protected DFA55 dfa55 = new DFA55(this);
-    protected DFA152 dfa152 = new DFA152(this);
-    protected DFA158 dfa158 = new DFA158(this);
-    protected DFA165 dfa165 = new DFA165(this);
-    protected DFA166 dfa166 = new DFA166(this);
-    protected DFA174 dfa174 = new DFA174(this);
-    protected DFA184 dfa184 = new DFA184(this);
-    protected DFA197 dfa197 = new DFA197(this);
-    protected DFA198 dfa198 = new DFA198(this);
-    protected DFA202 dfa202 = new DFA202(this);
-    protected DFA203 dfa203 = new DFA203(this);
-    protected DFA204 dfa204 = new DFA204(this);
-    protected DFA209 dfa209 = new DFA209(this);
-    protected DFA218 dfa218 = new DFA218(this);
-    protected DFA221 dfa221 = new DFA221(this);
-    protected DFA229 dfa229 = new DFA229(this);
-    protected DFA230 dfa230 = new DFA230(this);
-    protected DFA231 dfa231 = new DFA231(this);
-    protected DFA232 dfa232 = new DFA232(this);
-    protected DFA233 dfa233 = new DFA233(this);
-    protected DFA234 dfa234 = new DFA234(this);
-    protected DFA235 dfa235 = new DFA235(this);
-    protected DFA236 dfa236 = new DFA236(this);
-    protected DFA237 dfa237 = new DFA237(this);
-    protected DFA238 dfa238 = new DFA238(this);
-    protected DFA239 dfa239 = new DFA239(this);
-    protected DFA240 dfa240 = new DFA240(this);
-    protected DFA241 dfa241 = new DFA241(this);
-    protected DFA242 dfa242 = new DFA242(this);
-    protected DFA243 dfa243 = new DFA243(this);
-    protected DFA244 dfa244 = new DFA244(this);
-    protected DFA245 dfa245 = new DFA245(this);
-    protected DFA246 dfa246 = new DFA246(this);
-    protected DFA247 dfa247 = new DFA247(this);
-    protected DFA248 dfa248 = new DFA248(this);
-    protected DFA249 dfa249 = new DFA249(this);
-    protected DFA250 dfa250 = new DFA250(this);
-    protected DFA251 dfa251 = new DFA251(this);
-    protected DFA252 dfa252 = new DFA252(this);
-    protected DFA253 dfa253 = new DFA253(this);
-    protected DFA254 dfa254 = new DFA254(this);
-    protected DFA255 dfa255 = new DFA255(this);
-    protected DFA256 dfa256 = new DFA256(this);
-    protected DFA257 dfa257 = new DFA257(this);
-    protected DFA258 dfa258 = new DFA258(this);
-    protected DFA259 dfa259 = new DFA259(this);
-    protected DFA260 dfa260 = new DFA260(this);
-    protected DFA261 dfa261 = new DFA261(this);
-    protected DFA262 dfa262 = new DFA262(this);
-    protected DFA263 dfa263 = new DFA263(this);
-    protected DFA264 dfa264 = new DFA264(this);
-    protected DFA265 dfa265 = new DFA265(this);
-    protected DFA266 dfa266 = new DFA266(this);
-    protected DFA267 dfa267 = new DFA267(this);
-    static final String DFA14_eotS =
-        "\43\uffff";
-    static final String DFA14_eofS =
-        "\43\uffff";
-    static final String DFA14_minS =
-        "\1\4\1\0\41\uffff";
-    static final String DFA14_maxS =
-        "\1\u00fe\1\0\41\uffff";
-    static final String DFA14_acceptS =
-        "\2\uffff\1\2\37\uffff\1\1";
-    static final String DFA14_specialS =
-        "\1\uffff\1\0\41\uffff}>";
-    static final String[] DFA14_transitionS = {
-            "\1\2\1\1\3\2\26\uffff\1\2\6\uffff\2\2\4\uffff\1\2\4\uffff\6"+
-            "\2\103\uffff\1\2\115\uffff\1\2\16\uffff\1\2\2\uffff\2\2\2\uffff"+
-            "\1\2\1\uffff\1\2\3\uffff\11\2\1\uffff\1\2\17\uffff\1\2",
-            "\1\uffff",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            ""
-    };
-
-    static final short[] DFA14_eot = DFA.unpackEncodedString(DFA14_eotS);
-    static final short[] DFA14_eof = DFA.unpackEncodedString(DFA14_eofS);
-    static final char[] DFA14_min = DFA.unpackEncodedStringToUnsignedChars(DFA14_minS);
-    static final char[] DFA14_max = DFA.unpackEncodedStringToUnsignedChars(DFA14_maxS);
-    static final short[] DFA14_accept = DFA.unpackEncodedString(DFA14_acceptS);
-    static final short[] DFA14_special = DFA.unpackEncodedString(DFA14_specialS);
-    static final short[][] DFA14_transition;
-
-    static {
-        int numStates = DFA14_transitionS.length;
-        DFA14_transition = new short[numStates][];
-        for (int i=0; i<numStates; i++) {
-            DFA14_transition[i] = DFA.unpackEncodedString(DFA14_transitionS[i]);
-        }
-    }
-
-    class DFA14 extends DFA {
-
-        public DFA14(BaseRecognizer recognizer) {
-            this.recognizer = recognizer;
-            this.decisionNumber = 14;
-            this.eot = DFA14_eot;
-            this.eof = DFA14_eof;
-            this.min = DFA14_min;
-            this.max = DFA14_max;
-            this.accept = DFA14_accept;
-            this.special = DFA14_special;
-            this.transition = DFA14_transition;
-        }
-        public String getDescription() {
-            return "5195:1: rule__XAnnotation__Alternatives_3_1 : ( ( ( rule__XAnnotation__Group_3_1_0__0 ) ) | ( ( rule__XAnnotation__ValueAssignment_3_1_1 ) ) );";
-        }
-        public int specialStateTransition(int s, IntStream _input) throws NoViableAltException {
-            TokenStream input = (TokenStream)_input;
-        	int _s = s;
-            switch ( s ) {
-                    case 0 : 
-                        int LA14_1 = input.LA(1);
-
-                         
-                        int index14_1 = input.index();
-                        input.rewind();
-                        s = -1;
-                        if ( (synpred33_InternalReportDSL()) ) {s = 34;}
-
-                        else if ( (true) ) {s = 2;}
-
-                         
-                        input.seek(index14_1);
-                        if ( s>=0 ) return s;
-                        break;
-            }
-            if (state.backtracking>0) {state.failed=true; return -1;}
-            NoViableAltException nvae =
-                new NoViableAltException(getDescription(), 14, _s, input);
-            error(nvae);
-            throw nvae;
-        }
-    }
-    static final String DFA15_eotS =
-        "\43\uffff";
-    static final String DFA15_eofS =
-        "\43\uffff";
-    static final String DFA15_minS =
-        "\1\4\1\0\41\uffff";
-    static final String DFA15_maxS =
-        "\1\u00fe\1\0\41\uffff";
-    static final String DFA15_acceptS =
-        "\2\uffff\1\2\37\uffff\1\1";
-    static final String DFA15_specialS =
-        "\1\uffff\1\0\41\uffff}>";
-    static final String[] DFA15_transitionS = {
-            "\5\2\26\uffff\1\2\6\uffff\2\2\4\uffff\1\2\4\uffff\6\2\103\uffff"+
-            "\1\2\115\uffff\1\2\16\uffff\1\2\2\uffff\1\1\1\2\2\uffff\1\2"+
-            "\1\uffff\1\2\3\uffff\11\2\1\uffff\1\2\17\uffff\1\2",
-            "\1\uffff",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            ""
-    };
-
-    static final short[] DFA15_eot = DFA.unpackEncodedString(DFA15_eotS);
-    static final short[] DFA15_eof = DFA.unpackEncodedString(DFA15_eofS);
-    static final char[] DFA15_min = DFA.unpackEncodedStringToUnsignedChars(DFA15_minS);
-    static final char[] DFA15_max = DFA.unpackEncodedStringToUnsignedChars(DFA15_maxS);
-    static final short[] DFA15_accept = DFA.unpackEncodedString(DFA15_acceptS);
-    static final short[] DFA15_special = DFA.unpackEncodedString(DFA15_specialS);
-    static final short[][] DFA15_transition;
-
-    static {
-        int numStates = DFA15_transitionS.length;
-        DFA15_transition = new short[numStates][];
-        for (int i=0; i<numStates; i++) {
-            DFA15_transition[i] = DFA.unpackEncodedString(DFA15_transitionS[i]);
-        }
-    }
-
-    class DFA15 extends DFA {
-
-        public DFA15(BaseRecognizer recognizer) {
-            this.recognizer = recognizer;
-            this.decisionNumber = 15;
-            this.eot = DFA15_eot;
-            this.eof = DFA15_eof;
-            this.min = DFA15_min;
-            this.max = DFA15_max;
-            this.accept = DFA15_accept;
-            this.special = DFA15_special;
-            this.transition = DFA15_transition;
-        }
-        public String getDescription() {
-            return "5217:1: rule__XAnnotationElementValueOrCommaList__Alternatives : ( ( ( rule__XAnnotationElementValueOrCommaList__Group_0__0 ) ) | ( ( rule__XAnnotationElementValueOrCommaList__Group_1__0 ) ) );";
-        }
-        public int specialStateTransition(int s, IntStream _input) throws NoViableAltException {
-            TokenStream input = (TokenStream)_input;
-        	int _s = s;
-            switch ( s ) {
-                    case 0 : 
-                        int LA15_1 = input.LA(1);
-
-                         
-                        int index15_1 = input.index();
-                        input.rewind();
-                        s = -1;
-                        if ( (synpred34_InternalReportDSL()) ) {s = 34;}
-
-                        else if ( (true) ) {s = 2;}
-
-                         
-                        input.seek(index15_1);
-                        if ( s>=0 ) return s;
-                        break;
-            }
-            if (state.backtracking>0) {state.failed=true; return -1;}
-            NoViableAltException nvae =
-                new NoViableAltException(getDescription(), 15, _s, input);
-            error(nvae);
-            throw nvae;
-        }
-    }
-    static final String DFA16_eotS =
-        "\43\uffff";
-    static final String DFA16_eofS =
-        "\43\uffff";
-    static final String DFA16_minS =
-        "\1\4\1\0\41\uffff";
-    static final String DFA16_maxS =
-        "\1\u00fe\1\0\41\uffff";
-    static final String DFA16_acceptS =
-        "\2\uffff\1\2\37\uffff\1\1";
-    static final String DFA16_specialS =
-        "\1\uffff\1\0\41\uffff}>";
-    static final String[] DFA16_transitionS = {
-            "\5\2\26\uffff\1\2\6\uffff\2\2\4\uffff\1\2\4\uffff\6\2\103\uffff"+
-            "\1\2\115\uffff\1\2\16\uffff\1\2\2\uffff\1\1\1\2\2\uffff\1\2"+
-            "\1\uffff\1\2\3\uffff\11\2\1\uffff\1\2\17\uffff\1\2",
-            "\1\uffff",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            ""
-    };
-
-    static final short[] DFA16_eot = DFA.unpackEncodedString(DFA16_eotS);
-    static final short[] DFA16_eof = DFA.unpackEncodedString(DFA16_eofS);
-    static final char[] DFA16_min = DFA.unpackEncodedStringToUnsignedChars(DFA16_minS);
-    static final char[] DFA16_max = DFA.unpackEncodedStringToUnsignedChars(DFA16_maxS);
-    static final short[] DFA16_accept = DFA.unpackEncodedString(DFA16_acceptS);
-    static final short[] DFA16_special = DFA.unpackEncodedString(DFA16_specialS);
-    static final short[][] DFA16_transition;
-
-    static {
-        int numStates = DFA16_transitionS.length;
-        DFA16_transition = new short[numStates][];
-        for (int i=0; i<numStates; i++) {
-            DFA16_transition[i] = DFA.unpackEncodedString(DFA16_transitionS[i]);
-        }
-    }
-
-    class DFA16 extends DFA {
-
-        public DFA16(BaseRecognizer recognizer) {
-            this.recognizer = recognizer;
-            this.decisionNumber = 16;
-            this.eot = DFA16_eot;
-            this.eof = DFA16_eof;
-            this.min = DFA16_min;
-            this.max = DFA16_max;
-            this.accept = DFA16_accept;
-            this.special = DFA16_special;
-            this.transition = DFA16_transition;
-        }
-        public String getDescription() {
-            return "5239:1: rule__XAnnotationElementValue__Alternatives : ( ( ( rule__XAnnotationElementValue__Group_0__0 ) ) | ( ruleXAnnotationOrExpression ) );";
-        }
-        public int specialStateTransition(int s, IntStream _input) throws NoViableAltException {
-            TokenStream input = (TokenStream)_input;
-        	int _s = s;
-            switch ( s ) {
-                    case 0 : 
-                        int LA16_1 = input.LA(1);
-
-                         
-                        int index16_1 = input.index();
-                        input.rewind();
-                        s = -1;
-                        if ( (synpred35_InternalReportDSL()) ) {s = 34;}
-
-                        else if ( (true) ) {s = 2;}
-
-                         
-                        input.seek(index16_1);
-                        if ( s>=0 ) return s;
-                        break;
-            }
-            if (state.backtracking>0) {state.failed=true; return -1;}
-            NoViableAltException nvae =
-                new NoViableAltException(getDescription(), 16, _s, input);
-            error(nvae);
-            throw nvae;
-        }
-    }
-    static final String DFA23_eotS =
-        "\13\uffff";
-    static final String DFA23_eofS =
-        "\13\uffff";
-    static final String DFA23_minS =
-        "\1\36\2\uffff\1\36\7\uffff";
-    static final String DFA23_maxS =
-        "\1\45\2\uffff\1\42\7\uffff";
-    static final String DFA23_acceptS =
-        "\1\uffff\1\1\1\2\1\uffff\1\4\1\5\1\7\1\10\1\11\1\6\1\3";
-    static final String DFA23_specialS =
-        "\13\uffff}>";
-    static final String[] DFA23_transitionS = {
-            "\1\3\1\6\1\1\1\2\1\4\1\5\1\7\1\10",
-            "",
-            "",
-            "\1\11\3\uffff\1\12",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            ""
-    };
-
-    static final short[] DFA23_eot = DFA.unpackEncodedString(DFA23_eotS);
-    static final short[] DFA23_eof = DFA.unpackEncodedString(DFA23_eofS);
-    static final char[] DFA23_min = DFA.unpackEncodedStringToUnsignedChars(DFA23_minS);
-    static final char[] DFA23_max = DFA.unpackEncodedStringToUnsignedChars(DFA23_maxS);
-    static final short[] DFA23_accept = DFA.unpackEncodedString(DFA23_acceptS);
-    static final short[] DFA23_special = DFA.unpackEncodedString(DFA23_specialS);
-    static final short[][] DFA23_transition;
-
-    static {
-        int numStates = DFA23_transitionS.length;
-        DFA23_transition = new short[numStates][];
-        for (int i=0; i<numStates; i++) {
-            DFA23_transition[i] = DFA.unpackEncodedString(DFA23_transitionS[i]);
-        }
-    }
-
-    class DFA23 extends DFA {
-
-        public DFA23(BaseRecognizer recognizer) {
-            this.recognizer = recognizer;
-            this.decisionNumber = 23;
-            this.eot = DFA23_eot;
-            this.eof = DFA23_eof;
-            this.min = DFA23_min;
-            this.max = DFA23_max;
-            this.accept = DFA23_accept;
-            this.special = DFA23_special;
-            this.transition = DFA23_transition;
-        }
-        public String getDescription() {
-            return "5471:1: rule__OpOther__Alternatives : ( ( '->' ) | ( '..<' ) | ( ( rule__OpOther__Group_2__0 ) ) | ( '..' ) | ( '=>' ) | ( ( rule__OpOther__Group_5__0 ) ) | ( ( rule__OpOther__Group_6__0 ) ) | ( '<>' ) | ( '?:' ) );";
-        }
-    }
-    static final String DFA31_eotS =
-        "\12\uffff";
-    static final String DFA31_eofS =
-        "\4\uffff\5\3\1\uffff";
-    static final String DFA31_minS =
-        "\1\57\2\5\1\uffff\5\4\1\uffff";
-    static final String DFA31_maxS =
-        "\1\u00fb\2\65\1\uffff\5\u00fe\1\uffff";
-    static final String DFA31_acceptS =
-        "\3\uffff\1\2\5\uffff\1\1";
-    static final String DFA31_specialS =
-        "\12\uffff}>";
-    static final String[] DFA31_transitionS = {
-            "\1\1\u00ca\uffff\1\2\1\3",
-            "\1\4\31\uffff\1\3\21\uffff\1\5\1\6\1\7\1\10\1\3",
-            "\1\4\31\uffff\1\3\21\uffff\1\5\1\6\1\7\1\10\1\3",
-            "",
-            "\5\3\4\uffff\1\11\2\3\4\uffff\43\3\103\uffff\2\3\74\uffff"+
-            "\1\3\17\uffff\2\3\16\uffff\30\3\12\uffff\2\3\1\uffff\2\3",
-            "\5\3\4\uffff\1\11\2\3\4\uffff\43\3\103\uffff\2\3\74\uffff"+
-            "\1\3\17\uffff\2\3\16\uffff\30\3\12\uffff\2\3\1\uffff\2\3",
-            "\5\3\4\uffff\1\11\2\3\4\uffff\43\3\103\uffff\2\3\74\uffff"+
-            "\1\3\17\uffff\2\3\16\uffff\30\3\12\uffff\2\3\1\uffff\2\3",
-            "\5\3\4\uffff\1\11\2\3\4\uffff\43\3\103\uffff\2\3\74\uffff"+
-            "\1\3\17\uffff\2\3\16\uffff\30\3\12\uffff\2\3\1\uffff\2\3",
-            "\5\3\4\uffff\1\11\2\3\4\uffff\43\3\103\uffff\2\3\74\uffff"+
-            "\1\3\17\uffff\2\3\16\uffff\30\3\12\uffff\2\3\1\uffff\2\3",
-            ""
-    };
-
-    static final short[] DFA31_eot = DFA.unpackEncodedString(DFA31_eotS);
-    static final short[] DFA31_eof = DFA.unpackEncodedString(DFA31_eofS);
-    static final char[] DFA31_min = DFA.unpackEncodedStringToUnsignedChars(DFA31_minS);
-    static final char[] DFA31_max = DFA.unpackEncodedStringToUnsignedChars(DFA31_maxS);
-    static final short[] DFA31_accept = DFA.unpackEncodedString(DFA31_acceptS);
-    static final short[] DFA31_special = DFA.unpackEncodedString(DFA31_specialS);
-    static final short[][] DFA31_transition;
-
-    static {
-        int numStates = DFA31_transitionS.length;
-        DFA31_transition = new short[numStates][];
-        for (int i=0; i<numStates; i++) {
-            DFA31_transition[i] = DFA.unpackEncodedString(DFA31_transitionS[i]);
-        }
-    }
-
-    class DFA31 extends DFA {
-
-        public DFA31(BaseRecognizer recognizer) {
-            this.recognizer = recognizer;
-            this.decisionNumber = 31;
-            this.eot = DFA31_eot;
-            this.eof = DFA31_eof;
-            this.min = DFA31_min;
-            this.max = DFA31_max;
-            this.accept = DFA31_accept;
-            this.special = DFA31_special;
-            this.transition = DFA31_transition;
-        }
-        public String getDescription() {
-            return "5753:1: rule__XMemberFeatureCall__Alternatives_1 : ( ( ( rule__XMemberFeatureCall__Group_1_0__0 ) ) | ( ( rule__XMemberFeatureCall__Group_1_1__0 ) ) );";
-        }
-    }
-    static final String DFA34_eotS =
-        "\43\uffff";
-    static final String DFA34_eofS =
-        "\43\uffff";
-    static final String DFA34_minS =
-        "\1\4\2\0\40\uffff";
-    static final String DFA34_maxS =
-        "\1\u00fe\2\0\40\uffff";
-    static final String DFA34_acceptS =
-        "\3\uffff\1\1\1\uffff\1\2\35\uffff";
-    static final String DFA34_specialS =
-        "\1\uffff\1\0\1\1\40\uffff}>";
-    static final String[] DFA34_transitionS = {
-            "\1\5\1\1\3\5\26\uffff\1\5\3\uffff\1\3\2\uffff\2\5\4\uffff\1"+
-            "\5\4\uffff\6\5\103\uffff\1\5\115\uffff\1\2\21\uffff\2\5\2\uffff"+
-            "\1\5\1\uffff\1\5\3\uffff\11\5\1\uffff\1\5\15\uffff\1\3\1\uffff"+
-            "\1\5",
-            "\1\uffff",
-            "\1\uffff",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            ""
-    };
-
-    static final short[] DFA34_eot = DFA.unpackEncodedString(DFA34_eotS);
-    static final short[] DFA34_eof = DFA.unpackEncodedString(DFA34_eofS);
-    static final char[] DFA34_min = DFA.unpackEncodedStringToUnsignedChars(DFA34_minS);
-    static final char[] DFA34_max = DFA.unpackEncodedStringToUnsignedChars(DFA34_maxS);
-    static final short[] DFA34_accept = DFA.unpackEncodedString(DFA34_acceptS);
-    static final short[] DFA34_special = DFA.unpackEncodedString(DFA34_specialS);
-    static final short[][] DFA34_transition;
-
-    static {
-        int numStates = DFA34_transitionS.length;
-        DFA34_transition = new short[numStates][];
-        for (int i=0; i<numStates; i++) {
-            DFA34_transition[i] = DFA.unpackEncodedString(DFA34_transitionS[i]);
-        }
-    }
-
-    class DFA34 extends DFA {
-
-        public DFA34(BaseRecognizer recognizer) {
-            this.recognizer = recognizer;
-            this.decisionNumber = 34;
-            this.eot = DFA34_eot;
-            this.eof = DFA34_eof;
-            this.min = DFA34_min;
-            this.max = DFA34_max;
-            this.accept = DFA34_accept;
-            this.special = DFA34_special;
-            this.transition = DFA34_transition;
-        }
-        public String getDescription() {
-            return "5829:1: rule__XMemberFeatureCall__Alternatives_1_1_3_1 : ( ( ( rule__XMemberFeatureCall__MemberCallArgumentsAssignment_1_1_3_1_0 ) ) | ( ( rule__XMemberFeatureCall__Group_1_1_3_1_1__0 ) ) );";
-        }
-        public int specialStateTransition(int s, IntStream _input) throws NoViableAltException {
-            TokenStream input = (TokenStream)_input;
-        	int _s = s;
-            switch ( s ) {
-                    case 0 : 
-                        int LA34_1 = input.LA(1);
-
-                         
-                        int index34_1 = input.index();
-                        input.rewind();
-                        s = -1;
-                        if ( (synpred74_InternalReportDSL()) ) {s = 3;}
-
-                        else if ( (true) ) {s = 5;}
-
-                         
-                        input.seek(index34_1);
-                        if ( s>=0 ) return s;
-                        break;
-                    case 1 : 
-                        int LA34_2 = input.LA(1);
-
-                         
-                        int index34_2 = input.index();
-                        input.rewind();
-                        s = -1;
-                        if ( (synpred74_InternalReportDSL()) ) {s = 3;}
-
-                        else if ( (true) ) {s = 5;}
-
-                         
-                        input.seek(index34_2);
-                        if ( s>=0 ) return s;
-                        break;
-            }
-            if (state.backtracking>0) {state.failed=true; return -1;}
-            NoViableAltException nvae =
-                new NoViableAltException(getDescription(), 34, _s, input);
-            error(nvae);
-            throw nvae;
-        }
-    }
-    static final String DFA35_eotS =
-        "\40\uffff";
-    static final String DFA35_eofS =
-        "\40\uffff";
-    static final String DFA35_minS =
-        "\1\4\26\uffff\1\0\10\uffff";
-    static final String DFA35_maxS =
-        "\1\u00fe\26\uffff\1\0\10\uffff";
-    static final String DFA35_acceptS =
-        "\1\uffff\1\1\1\2\1\3\1\4\1\5\6\uffff\1\6\11\uffff\1\7\1\uffff\1"+
-        "\12\1\13\1\14\1\15\1\16\1\17\1\10\1\11";
-    static final String DFA35_specialS =
-        "\27\uffff\1\0\10\uffff}>";
-    static final String[] DFA35_transitionS = {
-            "\1\14\1\5\3\14\26\uffff\1\5\21\uffff\5\5\1\14\103\uffff\1\2"+
-            "\115\uffff\1\35\21\uffff\2\14\2\uffff\1\26\1\uffff\1\3\3\uffff"+
-            "\1\27\1\30\1\31\1\1\2\14\1\32\1\33\1\34\1\uffff\1\4\17\uffff"+
-            "\1\14",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "\1\uffff",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            ""
-    };
-
-    static final short[] DFA35_eot = DFA.unpackEncodedString(DFA35_eotS);
-    static final short[] DFA35_eof = DFA.unpackEncodedString(DFA35_eofS);
-    static final char[] DFA35_min = DFA.unpackEncodedStringToUnsignedChars(DFA35_minS);
-    static final char[] DFA35_max = DFA.unpackEncodedStringToUnsignedChars(DFA35_maxS);
-    static final short[] DFA35_accept = DFA.unpackEncodedString(DFA35_acceptS);
-    static final short[] DFA35_special = DFA.unpackEncodedString(DFA35_specialS);
-    static final short[][] DFA35_transition;
-
-    static {
-        int numStates = DFA35_transitionS.length;
-        DFA35_transition = new short[numStates][];
-        for (int i=0; i<numStates; i++) {
-            DFA35_transition[i] = DFA.unpackEncodedString(DFA35_transitionS[i]);
-        }
-    }
-
-    class DFA35 extends DFA {
-
-        public DFA35(BaseRecognizer recognizer) {
-            this.recognizer = recognizer;
-            this.decisionNumber = 35;
-            this.eot = DFA35_eot;
-            this.eof = DFA35_eof;
-            this.min = DFA35_min;
-            this.max = DFA35_max;
-            this.accept = DFA35_accept;
-            this.special = DFA35_special;
-            this.transition = DFA35_transition;
-        }
-        public String getDescription() {
-            return "5851:1: rule__XPrimaryExpression__Alternatives : ( ( ruleXConstructorCall ) | ( ruleXBlockExpression ) | ( ruleXSwitchExpression ) | ( ( ruleXSynchronizedExpression ) ) | ( ruleXFeatureCall ) | ( ruleXLiteral ) | ( ruleXIfExpression ) | ( ( ruleXForLoopExpression ) ) | ( ruleXBasicForLoopExpression ) | ( ruleXWhileExpression ) | ( ruleXDoWhileExpression ) | ( ruleXThrowExpression ) | ( ruleXReturnExpression ) | ( ruleXTryCatchFinallyExpression ) | ( ruleXParenthesizedExpression ) );";
-        }
-        public int specialStateTransition(int s, IntStream _input) throws NoViableAltException {
-            TokenStream input = (TokenStream)_input;
-        	int _s = s;
-            switch ( s ) {
-                    case 0 : 
-                        int LA35_23 = input.LA(1);
-
-                         
-                        int index35_23 = input.index();
-                        input.rewind();
-                        s = -1;
-                        if ( (synpred82_InternalReportDSL()) ) {s = 30;}
-
-                        else if ( (synpred83_InternalReportDSL()) ) {s = 31;}
-
-                         
-                        input.seek(index35_23);
-                        if ( s>=0 ) return s;
-                        break;
-            }
-            if (state.backtracking>0) {state.failed=true; return -1;}
-            NoViableAltException nvae =
-                new NoViableAltException(getDescription(), 35, _s, input);
-            error(nvae);
-            throw nvae;
-        }
-    }
-    static final String DFA38_eotS =
-        "\43\uffff";
-    static final String DFA38_eofS =
-        "\43\uffff";
-    static final String DFA38_minS =
-        "\1\4\1\0\41\uffff";
-    static final String DFA38_maxS =
-        "\1\u00fe\1\0\41\uffff";
-    static final String DFA38_acceptS =
-        "\2\uffff\1\2\37\uffff\1\1";
-    static final String DFA38_specialS =
-        "\1\uffff\1\0\41\uffff}>";
-    static final String[] DFA38_transitionS = {
-            "\5\2\26\uffff\1\2\3\uffff\1\2\2\uffff\2\2\4\uffff\1\2\4\uffff"+
-            "\6\2\103\uffff\1\2\115\uffff\1\1\21\uffff\2\2\2\uffff\1\2\1"+
-            "\uffff\1\2\3\uffff\11\2\1\uffff\1\2\17\uffff\1\2",
-            "\1\uffff",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            ""
-    };
-
-    static final short[] DFA38_eot = DFA.unpackEncodedString(DFA38_eotS);
-    static final short[] DFA38_eof = DFA.unpackEncodedString(DFA38_eofS);
-    static final char[] DFA38_min = DFA.unpackEncodedStringToUnsignedChars(DFA38_minS);
-    static final char[] DFA38_max = DFA.unpackEncodedStringToUnsignedChars(DFA38_maxS);
-    static final short[] DFA38_accept = DFA.unpackEncodedString(DFA38_acceptS);
-    static final short[] DFA38_special = DFA.unpackEncodedString(DFA38_specialS);
-    static final short[][] DFA38_transition;
-
-    static {
-        int numStates = DFA38_transitionS.length;
-        DFA38_transition = new short[numStates][];
-        for (int i=0; i<numStates; i++) {
-            DFA38_transition[i] = DFA.unpackEncodedString(DFA38_transitionS[i]);
-        }
-    }
-
-    class DFA38 extends DFA {
-
-        public DFA38(BaseRecognizer recognizer) {
-            this.recognizer = recognizer;
-            this.decisionNumber = 38;
-            this.eot = DFA38_eot;
-            this.eof = DFA38_eof;
-            this.min = DFA38_min;
-            this.max = DFA38_max;
-            this.accept = DFA38_accept;
-            this.special = DFA38_special;
-            this.transition = DFA38_transition;
-        }
-        public String getDescription() {
-            return "6025:1: rule__XSwitchExpression__Alternatives_2 : ( ( ( rule__XSwitchExpression__Group_2_0__0 ) ) | ( ( rule__XSwitchExpression__Group_2_1__0 ) ) );";
-        }
-        public int specialStateTransition(int s, IntStream _input) throws NoViableAltException {
-            TokenStream input = (TokenStream)_input;
-        	int _s = s;
-            switch ( s ) {
-                    case 0 : 
-                        int LA38_1 = input.LA(1);
-
-                         
-                        int index38_1 = input.index();
-                        input.rewind();
-                        s = -1;
-                        if ( (synpred96_InternalReportDSL()) ) {s = 34;}
-
-                        else if ( (true) ) {s = 2;}
-
-                         
-                        input.seek(index38_1);
-                        if ( s>=0 ) return s;
-                        break;
-            }
-            if (state.backtracking>0) {state.failed=true; return -1;}
-            NoViableAltException nvae =
-                new NoViableAltException(getDescription(), 38, _s, input);
-            error(nvae);
-            throw nvae;
-        }
-    }
-    static final String DFA43_eotS =
-        "\43\uffff";
-    static final String DFA43_eofS =
-        "\43\uffff";
-    static final String DFA43_minS =
-        "\1\4\2\0\40\uffff";
-    static final String DFA43_maxS =
-        "\1\u00fe\2\0\40\uffff";
-    static final String DFA43_acceptS =
-        "\3\uffff\1\1\1\uffff\1\2\35\uffff";
-    static final String DFA43_specialS =
-        "\1\uffff\1\0\1\1\40\uffff}>";
-    static final String[] DFA43_transitionS = {
-            "\1\5\1\1\3\5\26\uffff\1\5\3\uffff\1\3\2\uffff\2\5\4\uffff\1"+
-            "\5\4\uffff\6\5\103\uffff\1\5\115\uffff\1\2\21\uffff\2\5\2\uffff"+
-            "\1\5\1\uffff\1\5\3\uffff\11\5\1\uffff\1\5\15\uffff\1\3\1\uffff"+
-            "\1\5",
-            "\1\uffff",
-            "\1\uffff",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            ""
-    };
-
-    static final short[] DFA43_eot = DFA.unpackEncodedString(DFA43_eotS);
-    static final short[] DFA43_eof = DFA.unpackEncodedString(DFA43_eofS);
-    static final char[] DFA43_min = DFA.unpackEncodedStringToUnsignedChars(DFA43_minS);
-    static final char[] DFA43_max = DFA.unpackEncodedStringToUnsignedChars(DFA43_maxS);
-    static final short[] DFA43_accept = DFA.unpackEncodedString(DFA43_acceptS);
-    static final short[] DFA43_special = DFA.unpackEncodedString(DFA43_specialS);
-    static final short[][] DFA43_transition;
-
-    static {
-        int numStates = DFA43_transitionS.length;
-        DFA43_transition = new short[numStates][];
-        for (int i=0; i<numStates; i++) {
-            DFA43_transition[i] = DFA.unpackEncodedString(DFA43_transitionS[i]);
-        }
-    }
-
-    class DFA43 extends DFA {
-
-        public DFA43(BaseRecognizer recognizer) {
-            this.recognizer = recognizer;
-            this.decisionNumber = 43;
-            this.eot = DFA43_eot;
-            this.eof = DFA43_eof;
-            this.min = DFA43_min;
-            this.max = DFA43_max;
-            this.accept = DFA43_accept;
-            this.special = DFA43_special;
-            this.transition = DFA43_transition;
-        }
-        public String getDescription() {
-            return "6137:1: rule__XFeatureCall__Alternatives_3_1 : ( ( ( rule__XFeatureCall__FeatureCallArgumentsAssignment_3_1_0 ) ) | ( ( rule__XFeatureCall__Group_3_1_1__0 ) ) );";
-        }
-        public int specialStateTransition(int s, IntStream _input) throws NoViableAltException {
-            TokenStream input = (TokenStream)_input;
-        	int _s = s;
-            switch ( s ) {
-                    case 0 : 
-                        int LA43_1 = input.LA(1);
-
-                         
-                        int index43_1 = input.index();
-                        input.rewind();
-                        s = -1;
-                        if ( (synpred101_InternalReportDSL()) ) {s = 3;}
-
-                        else if ( (true) ) {s = 5;}
-
-                         
-                        input.seek(index43_1);
-                        if ( s>=0 ) return s;
-                        break;
-                    case 1 : 
-                        int LA43_2 = input.LA(1);
-
-                         
-                        int index43_2 = input.index();
-                        input.rewind();
-                        s = -1;
-                        if ( (synpred101_InternalReportDSL()) ) {s = 3;}
-
-                        else if ( (true) ) {s = 5;}
-
-                         
-                        input.seek(index43_2);
-                        if ( s>=0 ) return s;
-                        break;
-            }
-            if (state.backtracking>0) {state.failed=true; return -1;}
-            NoViableAltException nvae =
-                new NoViableAltException(getDescription(), 43, _s, input);
-            error(nvae);
-            throw nvae;
-        }
-    }
-    static final String DFA46_eotS =
-        "\43\uffff";
-    static final String DFA46_eofS =
-        "\43\uffff";
-    static final String DFA46_minS =
-        "\1\4\2\0\40\uffff";
-    static final String DFA46_maxS =
-        "\1\u00fe\2\0\40\uffff";
-    static final String DFA46_acceptS =
-        "\3\uffff\1\1\1\uffff\1\2\35\uffff";
-    static final String DFA46_specialS =
-        "\1\uffff\1\0\1\1\40\uffff}>";
-    static final String[] DFA46_transitionS = {
-            "\1\5\1\1\3\5\26\uffff\1\5\3\uffff\1\3\2\uffff\2\5\4\uffff\1"+
-            "\5\4\uffff\6\5\103\uffff\1\5\115\uffff\1\2\21\uffff\2\5\2\uffff"+
-            "\1\5\1\uffff\1\5\3\uffff\11\5\1\uffff\1\5\15\uffff\1\3\1\uffff"+
-            "\1\5",
-            "\1\uffff",
-            "\1\uffff",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            ""
-    };
-
-    static final short[] DFA46_eot = DFA.unpackEncodedString(DFA46_eotS);
-    static final short[] DFA46_eof = DFA.unpackEncodedString(DFA46_eofS);
-    static final char[] DFA46_min = DFA.unpackEncodedStringToUnsignedChars(DFA46_minS);
-    static final char[] DFA46_max = DFA.unpackEncodedStringToUnsignedChars(DFA46_maxS);
-    static final short[] DFA46_accept = DFA.unpackEncodedString(DFA46_acceptS);
-    static final short[] DFA46_special = DFA.unpackEncodedString(DFA46_specialS);
-    static final short[][] DFA46_transition;
-
-    static {
-        int numStates = DFA46_transitionS.length;
-        DFA46_transition = new short[numStates][];
-        for (int i=0; i<numStates; i++) {
-            DFA46_transition[i] = DFA.unpackEncodedString(DFA46_transitionS[i]);
-        }
-    }
-
-    class DFA46 extends DFA {
-
-        public DFA46(BaseRecognizer recognizer) {
-            this.recognizer = recognizer;
-            this.decisionNumber = 46;
-            this.eot = DFA46_eot;
-            this.eof = DFA46_eof;
-            this.min = DFA46_min;
-            this.max = DFA46_max;
-            this.accept = DFA46_accept;
-            this.special = DFA46_special;
-            this.transition = DFA46_transition;
-        }
-        public String getDescription() {
-            return "6231:1: rule__XConstructorCall__Alternatives_4_1 : ( ( ( rule__XConstructorCall__ArgumentsAssignment_4_1_0 ) ) | ( ( rule__XConstructorCall__Group_4_1_1__0 ) ) );";
-        }
-        public int specialStateTransition(int s, IntStream _input) throws NoViableAltException {
-            TokenStream input = (TokenStream)_input;
-        	int _s = s;
-            switch ( s ) {
-                    case 0 : 
-                        int LA46_1 = input.LA(1);
-
-                         
-                        int index46_1 = input.index();
-                        input.rewind();
-                        s = -1;
-                        if ( (synpred107_InternalReportDSL()) ) {s = 3;}
-
-                        else if ( (true) ) {s = 5;}
-
-                         
-                        input.seek(index46_1);
-                        if ( s>=0 ) return s;
-                        break;
-                    case 1 : 
-                        int LA46_2 = input.LA(1);
-
-                         
-                        int index46_2 = input.index();
-                        input.rewind();
-                        s = -1;
-                        if ( (synpred107_InternalReportDSL()) ) {s = 3;}
-
-                        else if ( (true) ) {s = 5;}
-
-                         
-                        input.seek(index46_2);
-                        if ( s>=0 ) return s;
-                        break;
-            }
-            if (state.backtracking>0) {state.failed=true; return -1;}
-            NoViableAltException nvae =
-                new NoViableAltException(getDescription(), 46, _s, input);
-            error(nvae);
-            throw nvae;
-        }
-    }
-    static final String DFA55_eotS =
-        "\7\uffff";
-    static final String DFA55_eofS =
-        "\2\uffff\1\4\2\uffff\1\4\1\uffff";
-    static final String DFA55_minS =
-        "\1\5\1\uffff\1\57\1\5\1\uffff\1\57\1\uffff";
-    static final String DFA55_maxS =
-        "\1\62\1\uffff\1\u00dd\1\50\1\uffff\1\u00dd\1\uffff";
-    static final String DFA55_acceptS =
-        "\1\uffff\1\1\2\uffff\1\2\1\uffff\1\3";
-    static final String DFA55_specialS =
-        "\7\uffff}>";
-    static final String[] DFA55_transitionS = {
-            "\1\2\54\uffff\1\1",
-            "",
-            "\1\3\u00ad\uffff\1\4",
-            "\1\5\42\uffff\1\6",
-            "",
-            "\1\3\u00ad\uffff\1\4",
-            ""
-    };
-
-    static final short[] DFA55_eot = DFA.unpackEncodedString(DFA55_eotS);
-    static final short[] DFA55_eof = DFA.unpackEncodedString(DFA55_eofS);
-    static final char[] DFA55_min = DFA.unpackEncodedStringToUnsignedChars(DFA55_minS);
-    static final char[] DFA55_max = DFA.unpackEncodedStringToUnsignedChars(DFA55_maxS);
-    static final short[] DFA55_accept = DFA.unpackEncodedString(DFA55_acceptS);
-    static final short[] DFA55_special = DFA.unpackEncodedString(DFA55_specialS);
-    static final short[][] DFA55_transition;
-
-    static {
-        int numStates = DFA55_transitionS.length;
-        DFA55_transition = new short[numStates][];
-        for (int i=0; i<numStates; i++) {
-            DFA55_transition[i] = DFA.unpackEncodedString(DFA55_transitionS[i]);
-        }
-    }
-
-    class DFA55 extends DFA {
-
-        public DFA55(BaseRecognizer recognizer) {
-            this.recognizer = recognizer;
-            this.decisionNumber = 55;
-            this.eot = DFA55_eot;
-            this.eof = DFA55_eof;
-            this.min = DFA55_min;
-            this.max = DFA55_max;
-            this.accept = DFA55_accept;
-            this.special = DFA55_special;
-            this.transition = DFA55_transition;
-        }
-        public String getDescription() {
-            return "6431:1: rule__XImportDeclaration__Alternatives_1 : ( ( ( rule__XImportDeclaration__Group_1_0__0 ) ) | ( ( rule__XImportDeclaration__ImportedTypeAssignment_1_1 ) ) | ( ( rule__XImportDeclaration__ImportedNamespaceAssignment_1_2 ) ) );";
-        }
-    }
-    static final String DFA152_eotS =
-        "\12\uffff";
-    static final String DFA152_eofS =
-        "\1\10\11\uffff";
-    static final String DFA152_minS =
-        "\1\4\7\0\2\uffff";
-    static final String DFA152_maxS =
-        "\1\u00fe\7\0\2\uffff";
-    static final String DFA152_acceptS =
-        "\10\uffff\1\2\1\1";
-    static final String DFA152_specialS =
-        "\1\uffff\1\1\1\0\1\6\1\4\1\2\1\5\1\3\2\uffff}>";
-    static final String[] DFA152_transitionS = {
-            "\5\10\5\uffff\2\10\4\uffff\1\1\1\2\1\3\1\4\1\5\5\10\1\7\1\6"+
-            "\27\10\103\uffff\2\10\74\uffff\1\10\17\uffff\2\10\16\uffff\30"+
-            "\10\12\uffff\2\10\1\uffff\2\10",
-            "\1\uffff",
-            "\1\uffff",
-            "\1\uffff",
-            "\1\uffff",
-            "\1\uffff",
-            "\1\uffff",
-            "\1\uffff",
-            "",
-            ""
-    };
-
-    static final short[] DFA152_eot = DFA.unpackEncodedString(DFA152_eotS);
-    static final short[] DFA152_eof = DFA.unpackEncodedString(DFA152_eofS);
-    static final char[] DFA152_min = DFA.unpackEncodedStringToUnsignedChars(DFA152_minS);
-    static final char[] DFA152_max = DFA.unpackEncodedStringToUnsignedChars(DFA152_maxS);
-    static final short[] DFA152_accept = DFA.unpackEncodedString(DFA152_acceptS);
-    static final short[] DFA152_special = DFA.unpackEncodedString(DFA152_specialS);
-    static final short[][] DFA152_transition;
-
-    static {
-        int numStates = DFA152_transitionS.length;
-        DFA152_transition = new short[numStates][];
-        for (int i=0; i<numStates; i++) {
-            DFA152_transition[i] = DFA.unpackEncodedString(DFA152_transitionS[i]);
-        }
-    }
-
-    class DFA152 extends DFA {
-
-        public DFA152(BaseRecognizer recognizer) {
-            this.recognizer = recognizer;
-            this.decisionNumber = 152;
-            this.eot = DFA152_eot;
-            this.eof = DFA152_eof;
-            this.min = DFA152_min;
-            this.max = DFA152_max;
-            this.accept = DFA152_accept;
-            this.special = DFA152_special;
-            this.transition = DFA152_transition;
-        }
-        public String getDescription() {
-            return "26155:1: ( rule__XAssignment__Group_1_1__0 )?";
-        }
-        public int specialStateTransition(int s, IntStream _input) throws NoViableAltException {
-            TokenStream input = (TokenStream)_input;
-        	int _s = s;
-            switch ( s ) {
-                    case 0 : 
-                        int LA152_2 = input.LA(1);
-
-                         
-                        int index152_2 = input.index();
-                        input.rewind();
-                        s = -1;
-                        if ( (synpred252_InternalReportDSL()) ) {s = 9;}
-
-                        else if ( (true) ) {s = 8;}
-
-                         
-                        input.seek(index152_2);
-                        if ( s>=0 ) return s;
-                        break;
-                    case 1 : 
-                        int LA152_1 = input.LA(1);
-
-                         
-                        int index152_1 = input.index();
-                        input.rewind();
-                        s = -1;
-                        if ( (synpred252_InternalReportDSL()) ) {s = 9;}
-
-                        else if ( (true) ) {s = 8;}
-
-                         
-                        input.seek(index152_1);
-                        if ( s>=0 ) return s;
-                        break;
-                    case 2 : 
-                        int LA152_5 = input.LA(1);
-
-                         
-                        int index152_5 = input.index();
-                        input.rewind();
-                        s = -1;
-                        if ( (synpred252_InternalReportDSL()) ) {s = 9;}
-
-                        else if ( (true) ) {s = 8;}
-
-                         
-                        input.seek(index152_5);
-                        if ( s>=0 ) return s;
-                        break;
-                    case 3 : 
-                        int LA152_7 = input.LA(1);
-
-                         
-                        int index152_7 = input.index();
-                        input.rewind();
-                        s = -1;
-                        if ( (synpred252_InternalReportDSL()) ) {s = 9;}
-
-                        else if ( (true) ) {s = 8;}
-
-                         
-                        input.seek(index152_7);
-                        if ( s>=0 ) return s;
-                        break;
-                    case 4 : 
-                        int LA152_4 = input.LA(1);
-
-                         
-                        int index152_4 = input.index();
-                        input.rewind();
-                        s = -1;
-                        if ( (synpred252_InternalReportDSL()) ) {s = 9;}
-
-                        else if ( (true) ) {s = 8;}
-
-                         
-                        input.seek(index152_4);
-                        if ( s>=0 ) return s;
-                        break;
-                    case 5 : 
-                        int LA152_6 = input.LA(1);
-
-                         
-                        int index152_6 = input.index();
-                        input.rewind();
-                        s = -1;
-                        if ( (synpred252_InternalReportDSL()) ) {s = 9;}
-
-                        else if ( (true) ) {s = 8;}
-
-                         
-                        input.seek(index152_6);
-                        if ( s>=0 ) return s;
-                        break;
-                    case 6 : 
-                        int LA152_3 = input.LA(1);
-
-                         
-                        int index152_3 = input.index();
-                        input.rewind();
-                        s = -1;
-                        if ( (synpred252_InternalReportDSL()) ) {s = 9;}
-
-                        else if ( (true) ) {s = 8;}
-
-                         
-                        input.seek(index152_3);
-                        if ( s>=0 ) return s;
-                        break;
-            }
-            if (state.backtracking>0) {state.failed=true; return -1;}
-            NoViableAltException nvae =
-                new NoViableAltException(getDescription(), 152, _s, input);
-            error(nvae);
-            throw nvae;
-        }
-    }
-    static final String DFA158_eotS =
-        "\13\uffff";
-    static final String DFA158_eofS =
-        "\1\1\12\uffff";
-    static final String DFA158_minS =
-        "\1\4\1\uffff\10\0\1\uffff";
-    static final String DFA158_maxS =
-        "\1\u00fe\1\uffff\10\0\1\uffff";
-    static final String DFA158_acceptS =
-        "\1\uffff\1\2\10\uffff\1\1";
-    static final String DFA158_specialS =
-        "\2\uffff\1\5\1\0\1\7\1\1\1\4\1\3\1\6\1\2\1\uffff}>";
-    static final String[] DFA158_transitionS = {
-            "\5\1\5\uffff\2\1\4\uffff\12\1\1\3\1\2\1\4\1\5\1\6\1\7\1\10"+
-            "\1\11\21\1\103\uffff\2\1\74\uffff\1\1\17\uffff\2\1\16\uffff"+
-            "\30\1\12\uffff\2\1\1\uffff\2\1",
-            "",
-            "\1\uffff",
-            "\1\uffff",
-            "\1\uffff",
-            "\1\uffff",
-            "\1\uffff",
-            "\1\uffff",
-            "\1\uffff",
-            "\1\uffff",
-            ""
-    };
-
-    static final short[] DFA158_eot = DFA.unpackEncodedString(DFA158_eotS);
-    static final short[] DFA158_eof = DFA.unpackEncodedString(DFA158_eofS);
-    static final char[] DFA158_min = DFA.unpackEncodedStringToUnsignedChars(DFA158_minS);
-    static final char[] DFA158_max = DFA.unpackEncodedStringToUnsignedChars(DFA158_maxS);
-    static final short[] DFA158_accept = DFA.unpackEncodedString(DFA158_acceptS);
-    static final short[] DFA158_special = DFA.unpackEncodedString(DFA158_specialS);
-    static final short[][] DFA158_transition;
-
-    static {
-        int numStates = DFA158_transitionS.length;
-        DFA158_transition = new short[numStates][];
-        for (int i=0; i<numStates; i++) {
-            DFA158_transition[i] = DFA.unpackEncodedString(DFA158_transitionS[i]);
-        }
-    }
-
-    class DFA158 extends DFA {
-
-        public DFA158(BaseRecognizer recognizer) {
-            this.recognizer = recognizer;
-            this.decisionNumber = 158;
-            this.eot = DFA158_eot;
-            this.eof = DFA158_eof;
-            this.min = DFA158_min;
-            this.max = DFA158_max;
-            this.accept = DFA158_accept;
-            this.special = DFA158_special;
-            this.transition = DFA158_transition;
-        }
-        public String getDescription() {
-            return "()* loopback of 27647:1: ( rule__XOtherOperatorExpression__Group_1__0 )*";
-        }
-        public int specialStateTransition(int s, IntStream _input) throws NoViableAltException {
-            TokenStream input = (TokenStream)_input;
-        	int _s = s;
-            switch ( s ) {
-                    case 0 : 
-                        int LA158_3 = input.LA(1);
-
-                         
-                        int index158_3 = input.index();
-                        input.rewind();
-                        s = -1;
-                        if ( (synpred258_InternalReportDSL()) ) {s = 10;}
-
-                        else if ( (true) ) {s = 1;}
-
-                         
-                        input.seek(index158_3);
-                        if ( s>=0 ) return s;
-                        break;
-                    case 1 : 
-                        int LA158_5 = input.LA(1);
-
-                         
-                        int index158_5 = input.index();
-                        input.rewind();
-                        s = -1;
-                        if ( (synpred258_InternalReportDSL()) ) {s = 10;}
-
-                        else if ( (true) ) {s = 1;}
-
-                         
-                        input.seek(index158_5);
-                        if ( s>=0 ) return s;
-                        break;
-                    case 2 : 
-                        int LA158_9 = input.LA(1);
-
-                         
-                        int index158_9 = input.index();
-                        input.rewind();
-                        s = -1;
-                        if ( (synpred258_InternalReportDSL()) ) {s = 10;}
-
-                        else if ( (true) ) {s = 1;}
-
-                         
-                        input.seek(index158_9);
-                        if ( s>=0 ) return s;
-                        break;
-                    case 3 : 
-                        int LA158_7 = input.LA(1);
-
-                         
-                        int index158_7 = input.index();
-                        input.rewind();
-                        s = -1;
-                        if ( (synpred258_InternalReportDSL()) ) {s = 10;}
-
-                        else if ( (true) ) {s = 1;}
-
-                         
-                        input.seek(index158_7);
-                        if ( s>=0 ) return s;
-                        break;
-                    case 4 : 
-                        int LA158_6 = input.LA(1);
-
-                         
-                        int index158_6 = input.index();
-                        input.rewind();
-                        s = -1;
-                        if ( (synpred258_InternalReportDSL()) ) {s = 10;}
-
-                        else if ( (true) ) {s = 1;}
-
-                         
-                        input.seek(index158_6);
-                        if ( s>=0 ) return s;
-                        break;
-                    case 5 : 
-                        int LA158_2 = input.LA(1);
-
-                         
-                        int index158_2 = input.index();
-                        input.rewind();
-                        s = -1;
-                        if ( (synpred258_InternalReportDSL()) ) {s = 10;}
-
-                        else if ( (true) ) {s = 1;}
-
-                         
-                        input.seek(index158_2);
-                        if ( s>=0 ) return s;
-                        break;
-                    case 6 : 
-                        int LA158_8 = input.LA(1);
-
-                         
-                        int index158_8 = input.index();
-                        input.rewind();
-                        s = -1;
-                        if ( (synpred258_InternalReportDSL()) ) {s = 10;}
-
-                        else if ( (true) ) {s = 1;}
-
-                         
-                        input.seek(index158_8);
-                        if ( s>=0 ) return s;
-                        break;
-                    case 7 : 
-                        int LA158_4 = input.LA(1);
-
-                         
-                        int index158_4 = input.index();
-                        input.rewind();
-                        s = -1;
-                        if ( (synpred258_InternalReportDSL()) ) {s = 10;}
-
-                        else if ( (true) ) {s = 1;}
-
-                         
-                        input.seek(index158_4);
-                        if ( s>=0 ) return s;
-                        break;
-            }
-            if (state.backtracking>0) {state.failed=true; return -1;}
-            NoViableAltException nvae =
-                new NoViableAltException(getDescription(), 158, _s, input);
-            error(nvae);
-            throw nvae;
-        }
-    }
-    static final String DFA165_eotS =
-        "\116\uffff";
-    static final String DFA165_eofS =
-        "\1\2\115\uffff";
-    static final String DFA165_minS =
-        "\1\4\1\0\114\uffff";
-    static final String DFA165_maxS =
-        "\1\u00fe\1\0\114\uffff";
-    static final String DFA165_acceptS =
-        "\2\uffff\1\2\112\uffff\1\1";
-    static final String DFA165_specialS =
-        "\1\uffff\1\0\114\uffff}>";
-    static final String[] DFA165_transitionS = {
-            "\5\2\5\uffff\2\2\4\uffff\43\2\103\uffff\2\2\74\uffff\1\2\17"+
-            "\uffff\1\1\1\2\16\uffff\30\2\12\uffff\2\2\1\uffff\2\2",
-            "\1\uffff",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            ""
-    };
-
-    static final short[] DFA165_eot = DFA.unpackEncodedString(DFA165_eotS);
-    static final short[] DFA165_eof = DFA.unpackEncodedString(DFA165_eofS);
-    static final char[] DFA165_min = DFA.unpackEncodedStringToUnsignedChars(DFA165_minS);
-    static final char[] DFA165_max = DFA.unpackEncodedStringToUnsignedChars(DFA165_maxS);
-    static final short[] DFA165_accept = DFA.unpackEncodedString(DFA165_acceptS);
-    static final short[] DFA165_special = DFA.unpackEncodedString(DFA165_specialS);
-    static final short[][] DFA165_transition;
-
-    static {
-        int numStates = DFA165_transitionS.length;
-        DFA165_transition = new short[numStates][];
-        for (int i=0; i<numStates; i++) {
-            DFA165_transition[i] = DFA.unpackEncodedString(DFA165_transitionS[i]);
-        }
-    }
-
-    class DFA165 extends DFA {
-
-        public DFA165(BaseRecognizer recognizer) {
-            this.recognizer = recognizer;
-            this.decisionNumber = 165;
-            this.eot = DFA165_eot;
-            this.eof = DFA165_eof;
-            this.min = DFA165_min;
-            this.max = DFA165_max;
-            this.accept = DFA165_accept;
-            this.special = DFA165_special;
-            this.transition = DFA165_transition;
-        }
-        public String getDescription() {
-            return "29474:1: ( rule__XMemberFeatureCall__Group_1_1_3__0 )?";
-        }
-        public int specialStateTransition(int s, IntStream _input) throws NoViableAltException {
-            TokenStream input = (TokenStream)_input;
-        	int _s = s;
-            switch ( s ) {
-                    case 0 : 
-                        int LA165_1 = input.LA(1);
-
-                         
-                        int index165_1 = input.index();
-                        input.rewind();
-                        s = -1;
-                        if ( (synpred265_InternalReportDSL()) ) {s = 77;}
-
-                        else if ( (true) ) {s = 2;}
-
-                         
-                        input.seek(index165_1);
-                        if ( s>=0 ) return s;
-                        break;
-            }
-            if (state.backtracking>0) {state.failed=true; return -1;}
-            NoViableAltException nvae =
-                new NoViableAltException(getDescription(), 165, _s, input);
-            error(nvae);
-            throw nvae;
-        }
-    }
-    static final String DFA166_eotS =
-        "\116\uffff";
-    static final String DFA166_eofS =
-        "\1\2\115\uffff";
-    static final String DFA166_minS =
-        "\1\4\1\0\114\uffff";
-    static final String DFA166_maxS =
-        "\1\u00fe\1\0\114\uffff";
-    static final String DFA166_acceptS =
-        "\2\uffff\1\2\112\uffff\1\1";
-    static final String DFA166_specialS =
-        "\1\uffff\1\0\114\uffff}>";
-    static final String[] DFA166_transitionS = {
-            "\5\2\5\uffff\2\2\4\uffff\43\2\103\uffff\2\2\74\uffff\1\2\17"+
-            "\uffff\2\2\16\uffff\3\2\1\1\24\2\12\uffff\2\2\1\uffff\2\2",
-            "\1\uffff",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            ""
-    };
-
-    static final short[] DFA166_eot = DFA.unpackEncodedString(DFA166_eotS);
-    static final short[] DFA166_eof = DFA.unpackEncodedString(DFA166_eofS);
-    static final char[] DFA166_min = DFA.unpackEncodedStringToUnsignedChars(DFA166_minS);
-    static final char[] DFA166_max = DFA.unpackEncodedStringToUnsignedChars(DFA166_maxS);
-    static final short[] DFA166_accept = DFA.unpackEncodedString(DFA166_acceptS);
-    static final short[] DFA166_special = DFA.unpackEncodedString(DFA166_specialS);
-    static final short[][] DFA166_transition;
-
-    static {
-        int numStates = DFA166_transitionS.length;
-        DFA166_transition = new short[numStates][];
-        for (int i=0; i<numStates; i++) {
-            DFA166_transition[i] = DFA.unpackEncodedString(DFA166_transitionS[i]);
-        }
-    }
-
-    class DFA166 extends DFA {
-
-        public DFA166(BaseRecognizer recognizer) {
-            this.recognizer = recognizer;
-            this.decisionNumber = 166;
-            this.eot = DFA166_eot;
-            this.eof = DFA166_eof;
-            this.min = DFA166_min;
-            this.max = DFA166_max;
-            this.accept = DFA166_accept;
-            this.special = DFA166_special;
-            this.transition = DFA166_transition;
-        }
-        public String getDescription() {
-            return "29502:1: ( rule__XMemberFeatureCall__MemberCallArgumentsAssignment_1_1_4 )?";
-        }
-        public int specialStateTransition(int s, IntStream _input) throws NoViableAltException {
-            TokenStream input = (TokenStream)_input;
-        	int _s = s;
-            switch ( s ) {
-                    case 0 : 
-                        int LA166_1 = input.LA(1);
-
-                         
-                        int index166_1 = input.index();
-                        input.rewind();
-                        s = -1;
-                        if ( (synpred266_InternalReportDSL()) ) {s = 77;}
-
-                        else if ( (true) ) {s = 2;}
-
-                         
-                        input.seek(index166_1);
-                        if ( s>=0 ) return s;
-                        break;
-            }
-            if (state.backtracking>0) {state.failed=true; return -1;}
-            NoViableAltException nvae =
-                new NoViableAltException(getDescription(), 166, _s, input);
-            error(nvae);
-            throw nvae;
-        }
-    }
-    static final String DFA174_eotS =
-        "\46\uffff";
-    static final String DFA174_eofS =
-        "\46\uffff";
-    static final String DFA174_minS =
-        "\1\4\2\0\43\uffff";
-    static final String DFA174_maxS =
-        "\1\u00fe\2\0\43\uffff";
-    static final String DFA174_acceptS =
-        "\3\uffff\1\1\1\uffff\1\2\40\uffff";
-    static final String DFA174_specialS =
-        "\1\uffff\1\0\1\1\43\uffff}>";
-    static final String[] DFA174_transitionS = {
-            "\1\5\1\1\3\5\26\uffff\1\5\3\uffff\1\3\2\uffff\2\5\4\uffff\1"+
-            "\5\3\uffff\7\5\103\uffff\1\5\115\uffff\1\2\20\uffff\3\5\2\uffff"+
-            "\1\5\1\uffff\1\5\3\uffff\11\5\1\uffff\1\5\15\uffff\1\3\2\5",
-            "\1\uffff",
-            "\1\uffff",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            ""
-    };
-
-    static final short[] DFA174_eot = DFA.unpackEncodedString(DFA174_eotS);
-    static final short[] DFA174_eof = DFA.unpackEncodedString(DFA174_eofS);
-    static final char[] DFA174_min = DFA.unpackEncodedStringToUnsignedChars(DFA174_minS);
-    static final char[] DFA174_max = DFA.unpackEncodedStringToUnsignedChars(DFA174_maxS);
-    static final short[] DFA174_accept = DFA.unpackEncodedString(DFA174_acceptS);
-    static final short[] DFA174_special = DFA.unpackEncodedString(DFA174_specialS);
-    static final short[][] DFA174_transition;
-
-    static {
-        int numStates = DFA174_transitionS.length;
-        DFA174_transition = new short[numStates][];
-        for (int i=0; i<numStates; i++) {
-            DFA174_transition[i] = DFA.unpackEncodedString(DFA174_transitionS[i]);
-        }
-    }
-
-    class DFA174 extends DFA {
-
-        public DFA174(BaseRecognizer recognizer) {
-            this.recognizer = recognizer;
-            this.decisionNumber = 174;
-            this.eot = DFA174_eot;
-            this.eof = DFA174_eof;
-            this.min = DFA174_min;
-            this.max = DFA174_max;
-            this.accept = DFA174_accept;
-            this.special = DFA174_special;
-            this.transition = DFA174_transition;
-        }
-        public String getDescription() {
-            return "30643:1: ( rule__XClosure__Group_1__0 )?";
-        }
-        public int specialStateTransition(int s, IntStream _input) throws NoViableAltException {
-            TokenStream input = (TokenStream)_input;
-        	int _s = s;
-            switch ( s ) {
-                    case 0 : 
-                        int LA174_1 = input.LA(1);
-
-                         
-                        int index174_1 = input.index();
-                        input.rewind();
-                        s = -1;
-                        if ( (synpred274_InternalReportDSL()) ) {s = 3;}
-
-                        else if ( (true) ) {s = 5;}
-
-                         
-                        input.seek(index174_1);
-                        if ( s>=0 ) return s;
-                        break;
-                    case 1 : 
-                        int LA174_2 = input.LA(1);
-
-                         
-                        int index174_2 = input.index();
-                        input.rewind();
-                        s = -1;
-                        if ( (synpred274_InternalReportDSL()) ) {s = 3;}
-
-                        else if ( (true) ) {s = 5;}
-
-                         
-                        input.seek(index174_2);
-                        if ( s>=0 ) return s;
-                        break;
-            }
-            if (state.backtracking>0) {state.failed=true; return -1;}
-            NoViableAltException nvae =
-                new NoViableAltException(getDescription(), 174, _s, input);
-            error(nvae);
-            throw nvae;
-        }
-    }
-    static final String DFA184_eotS =
-        "\42\uffff";
-    static final String DFA184_eofS =
-        "\42\uffff";
-    static final String DFA184_minS =
-        "\1\4\2\0\37\uffff";
-    static final String DFA184_maxS =
-        "\1\u00fe\2\0\37\uffff";
-    static final String DFA184_acceptS =
-        "\3\uffff\1\1\1\2\35\uffff";
-    static final String DFA184_specialS =
-        "\1\uffff\1\0\1\1\37\uffff}>";
-    static final String[] DFA184_transitionS = {
-            "\1\4\1\1\3\4\26\uffff\1\4\3\uffff\1\3\2\uffff\2\4\4\uffff\1"+
-            "\4\4\uffff\6\4\103\uffff\1\4\115\uffff\1\2\21\uffff\2\4\2\uffff"+
-            "\1\4\1\uffff\1\4\3\uffff\11\4\1\uffff\1\4\17\uffff\1\4",
-            "\1\uffff",
-            "\1\uffff",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            ""
-    };
-
-    static final short[] DFA184_eot = DFA.unpackEncodedString(DFA184_eotS);
-    static final short[] DFA184_eof = DFA.unpackEncodedString(DFA184_eofS);
-    static final char[] DFA184_min = DFA.unpackEncodedStringToUnsignedChars(DFA184_minS);
-    static final char[] DFA184_max = DFA.unpackEncodedStringToUnsignedChars(DFA184_maxS);
-    static final short[] DFA184_accept = DFA.unpackEncodedString(DFA184_acceptS);
-    static final short[] DFA184_special = DFA.unpackEncodedString(DFA184_specialS);
-    static final short[][] DFA184_transition;
-
-    static {
-        int numStates = DFA184_transitionS.length;
-        DFA184_transition = new short[numStates][];
-        for (int i=0; i<numStates; i++) {
-            DFA184_transition[i] = DFA.unpackEncodedString(DFA184_transitionS[i]);
-        }
-    }
-
-    class DFA184 extends DFA {
-
-        public DFA184(BaseRecognizer recognizer) {
-            this.recognizer = recognizer;
-            this.decisionNumber = 184;
-            this.eot = DFA184_eot;
-            this.eof = DFA184_eof;
-            this.min = DFA184_min;
-            this.max = DFA184_max;
-            this.accept = DFA184_accept;
-            this.special = DFA184_special;
-            this.transition = DFA184_transition;
-        }
-        public String getDescription() {
-            return "32311:1: ( rule__XSwitchExpression__Group_2_1_0__0 )?";
-        }
-        public int specialStateTransition(int s, IntStream _input) throws NoViableAltException {
-            TokenStream input = (TokenStream)_input;
-        	int _s = s;
-            switch ( s ) {
-                    case 0 : 
-                        int LA184_1 = input.LA(1);
-
-                         
-                        int index184_1 = input.index();
-                        input.rewind();
-                        s = -1;
-                        if ( (synpred284_InternalReportDSL()) ) {s = 3;}
-
-                        else if ( (true) ) {s = 4;}
-
-                         
-                        input.seek(index184_1);
-                        if ( s>=0 ) return s;
-                        break;
-                    case 1 : 
-                        int LA184_2 = input.LA(1);
-
-                         
-                        int index184_2 = input.index();
-                        input.rewind();
-                        s = -1;
-                        if ( (synpred284_InternalReportDSL()) ) {s = 3;}
-
-                        else if ( (true) ) {s = 4;}
-
-                         
-                        input.seek(index184_2);
-                        if ( s>=0 ) return s;
-                        break;
-            }
-            if (state.backtracking>0) {state.failed=true; return -1;}
-            NoViableAltException nvae =
-                new NoViableAltException(getDescription(), 184, _s, input);
-            error(nvae);
-            throw nvae;
-        }
-    }
-    static final String DFA197_eotS =
-        "\116\uffff";
-    static final String DFA197_eofS =
-        "\1\2\115\uffff";
-    static final String DFA197_minS =
-        "\1\4\1\0\114\uffff";
-    static final String DFA197_maxS =
-        "\1\u00fe\1\0\114\uffff";
-    static final String DFA197_acceptS =
-        "\2\uffff\1\2\112\uffff\1\1";
-    static final String DFA197_specialS =
-        "\1\uffff\1\0\114\uffff}>";
-    static final String[] DFA197_transitionS = {
-            "\5\2\5\uffff\2\2\4\uffff\43\2\103\uffff\2\2\74\uffff\1\2\17"+
-            "\uffff\1\1\1\2\16\uffff\30\2\12\uffff\2\2\1\uffff\2\2",
-            "\1\uffff",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            ""
-    };
-
-    static final short[] DFA197_eot = DFA.unpackEncodedString(DFA197_eotS);
-    static final short[] DFA197_eof = DFA.unpackEncodedString(DFA197_eofS);
-    static final char[] DFA197_min = DFA.unpackEncodedStringToUnsignedChars(DFA197_minS);
-    static final char[] DFA197_max = DFA.unpackEncodedStringToUnsignedChars(DFA197_maxS);
-    static final short[] DFA197_accept = DFA.unpackEncodedString(DFA197_acceptS);
-    static final short[] DFA197_special = DFA.unpackEncodedString(DFA197_specialS);
-    static final short[][] DFA197_transition;
-
-    static {
-        int numStates = DFA197_transitionS.length;
-        DFA197_transition = new short[numStates][];
-        for (int i=0; i<numStates; i++) {
-            DFA197_transition[i] = DFA.unpackEncodedString(DFA197_transitionS[i]);
-        }
-    }
-
-    class DFA197 extends DFA {
-
-        public DFA197(BaseRecognizer recognizer) {
-            this.recognizer = recognizer;
-            this.decisionNumber = 197;
-            this.eot = DFA197_eot;
-            this.eof = DFA197_eof;
-            this.min = DFA197_min;
-            this.max = DFA197_max;
-            this.accept = DFA197_accept;
-            this.special = DFA197_special;
-            this.transition = DFA197_transition;
-        }
-        public String getDescription() {
-            return "34799:1: ( rule__XFeatureCall__Group_3__0 )?";
-        }
-        public int specialStateTransition(int s, IntStream _input) throws NoViableAltException {
-            TokenStream input = (TokenStream)_input;
-        	int _s = s;
-            switch ( s ) {
-                    case 0 : 
-                        int LA197_1 = input.LA(1);
-
-                         
-                        int index197_1 = input.index();
-                        input.rewind();
-                        s = -1;
-                        if ( (synpred297_InternalReportDSL()) ) {s = 77;}
-
-                        else if ( (true) ) {s = 2;}
-
-                         
-                        input.seek(index197_1);
-                        if ( s>=0 ) return s;
-                        break;
-            }
-            if (state.backtracking>0) {state.failed=true; return -1;}
-            NoViableAltException nvae =
-                new NoViableAltException(getDescription(), 197, _s, input);
-            error(nvae);
-            throw nvae;
-        }
-    }
-    static final String DFA198_eotS =
-        "\116\uffff";
-    static final String DFA198_eofS =
-        "\1\2\115\uffff";
-    static final String DFA198_minS =
-        "\1\4\1\0\114\uffff";
-    static final String DFA198_maxS =
-        "\1\u00fe\1\0\114\uffff";
-    static final String DFA198_acceptS =
-        "\2\uffff\1\2\112\uffff\1\1";
-    static final String DFA198_specialS =
-        "\1\uffff\1\0\114\uffff}>";
-    static final String[] DFA198_transitionS = {
-            "\5\2\5\uffff\2\2\4\uffff\43\2\103\uffff\2\2\74\uffff\1\2\17"+
-            "\uffff\2\2\16\uffff\3\2\1\1\24\2\12\uffff\2\2\1\uffff\2\2",
-            "\1\uffff",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            ""
-    };
-
-    static final short[] DFA198_eot = DFA.unpackEncodedString(DFA198_eotS);
-    static final short[] DFA198_eof = DFA.unpackEncodedString(DFA198_eofS);
-    static final char[] DFA198_min = DFA.unpackEncodedStringToUnsignedChars(DFA198_minS);
-    static final char[] DFA198_max = DFA.unpackEncodedStringToUnsignedChars(DFA198_maxS);
-    static final short[] DFA198_accept = DFA.unpackEncodedString(DFA198_acceptS);
-    static final short[] DFA198_special = DFA.unpackEncodedString(DFA198_specialS);
-    static final short[][] DFA198_transition;
-
-    static {
-        int numStates = DFA198_transitionS.length;
-        DFA198_transition = new short[numStates][];
-        for (int i=0; i<numStates; i++) {
-            DFA198_transition[i] = DFA.unpackEncodedString(DFA198_transitionS[i]);
-        }
-    }
-
-    class DFA198 extends DFA {
-
-        public DFA198(BaseRecognizer recognizer) {
-            this.recognizer = recognizer;
-            this.decisionNumber = 198;
-            this.eot = DFA198_eot;
-            this.eof = DFA198_eof;
-            this.min = DFA198_min;
-            this.max = DFA198_max;
-            this.accept = DFA198_accept;
-            this.special = DFA198_special;
-            this.transition = DFA198_transition;
-        }
-        public String getDescription() {
-            return "34827:1: ( rule__XFeatureCall__FeatureCallArgumentsAssignment_4 )?";
-        }
-        public int specialStateTransition(int s, IntStream _input) throws NoViableAltException {
-            TokenStream input = (TokenStream)_input;
-        	int _s = s;
-            switch ( s ) {
-                    case 0 : 
-                        int LA198_1 = input.LA(1);
-
-                         
-                        int index198_1 = input.index();
-                        input.rewind();
-                        s = -1;
-                        if ( (synpred298_InternalReportDSL()) ) {s = 77;}
-
-                        else if ( (true) ) {s = 2;}
-
-                         
-                        input.seek(index198_1);
-                        if ( s>=0 ) return s;
-                        break;
-            }
-            if (state.backtracking>0) {state.failed=true; return -1;}
-            NoViableAltException nvae =
-                new NoViableAltException(getDescription(), 198, _s, input);
-            error(nvae);
-            throw nvae;
-        }
-    }
-    static final String DFA202_eotS =
-        "\116\uffff";
-    static final String DFA202_eofS =
-        "\1\2\115\uffff";
-    static final String DFA202_minS =
-        "\1\4\1\0\114\uffff";
-    static final String DFA202_maxS =
-        "\1\u00fe\1\0\114\uffff";
-    static final String DFA202_acceptS =
-        "\2\uffff\1\2\112\uffff\1\1";
-    static final String DFA202_specialS =
-        "\1\uffff\1\0\114\uffff}>";
-    static final String[] DFA202_transitionS = {
-            "\5\2\5\uffff\2\2\4\uffff\13\2\1\1\27\2\103\uffff\2\2\74\uffff"+
-            "\1\2\17\uffff\2\2\16\uffff\30\2\12\uffff\2\2\1\uffff\2\2",
-            "\1\uffff",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            ""
-    };
-
-    static final short[] DFA202_eot = DFA.unpackEncodedString(DFA202_eotS);
-    static final short[] DFA202_eof = DFA.unpackEncodedString(DFA202_eofS);
-    static final char[] DFA202_min = DFA.unpackEncodedStringToUnsignedChars(DFA202_minS);
-    static final char[] DFA202_max = DFA.unpackEncodedStringToUnsignedChars(DFA202_maxS);
-    static final short[] DFA202_accept = DFA.unpackEncodedString(DFA202_acceptS);
-    static final short[] DFA202_special = DFA.unpackEncodedString(DFA202_specialS);
-    static final short[][] DFA202_transition;
-
-    static {
-        int numStates = DFA202_transitionS.length;
-        DFA202_transition = new short[numStates][];
-        for (int i=0; i<numStates; i++) {
-            DFA202_transition[i] = DFA.unpackEncodedString(DFA202_transitionS[i]);
-        }
-    }
-
-    class DFA202 extends DFA {
-
-        public DFA202(BaseRecognizer recognizer) {
-            this.recognizer = recognizer;
-            this.decisionNumber = 202;
-            this.eot = DFA202_eot;
-            this.eof = DFA202_eof;
-            this.min = DFA202_min;
-            this.max = DFA202_max;
-            this.accept = DFA202_accept;
-            this.special = DFA202_special;
-            this.transition = DFA202_transition;
-        }
-        public String getDescription() {
-            return "35365:1: ( rule__XConstructorCall__Group_3__0 )?";
-        }
-        public int specialStateTransition(int s, IntStream _input) throws NoViableAltException {
-            TokenStream input = (TokenStream)_input;
-        	int _s = s;
-            switch ( s ) {
-                    case 0 : 
-                        int LA202_1 = input.LA(1);
-
-                         
-                        int index202_1 = input.index();
-                        input.rewind();
-                        s = -1;
-                        if ( (synpred302_InternalReportDSL()) ) {s = 77;}
-
-                        else if ( (true) ) {s = 2;}
-
-                         
-                        input.seek(index202_1);
-                        if ( s>=0 ) return s;
-                        break;
-            }
-            if (state.backtracking>0) {state.failed=true; return -1;}
-            NoViableAltException nvae =
-                new NoViableAltException(getDescription(), 202, _s, input);
-            error(nvae);
-            throw nvae;
-        }
-    }
-    static final String DFA203_eotS =
-        "\116\uffff";
-    static final String DFA203_eofS =
-        "\1\2\115\uffff";
-    static final String DFA203_minS =
-        "\1\4\1\0\114\uffff";
-    static final String DFA203_maxS =
-        "\1\u00fe\1\0\114\uffff";
-    static final String DFA203_acceptS =
-        "\2\uffff\1\2\112\uffff\1\1";
-    static final String DFA203_specialS =
-        "\1\uffff\1\0\114\uffff}>";
-    static final String[] DFA203_transitionS = {
-            "\5\2\5\uffff\2\2\4\uffff\43\2\103\uffff\2\2\74\uffff\1\2\17"+
-            "\uffff\1\1\1\2\16\uffff\30\2\12\uffff\2\2\1\uffff\2\2",
-            "\1\uffff",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            ""
-    };
-
-    static final short[] DFA203_eot = DFA.unpackEncodedString(DFA203_eotS);
-    static final short[] DFA203_eof = DFA.unpackEncodedString(DFA203_eofS);
-    static final char[] DFA203_min = DFA.unpackEncodedStringToUnsignedChars(DFA203_minS);
-    static final char[] DFA203_max = DFA.unpackEncodedStringToUnsignedChars(DFA203_maxS);
-    static final short[] DFA203_accept = DFA.unpackEncodedString(DFA203_acceptS);
-    static final short[] DFA203_special = DFA.unpackEncodedString(DFA203_specialS);
-    static final short[][] DFA203_transition;
-
-    static {
-        int numStates = DFA203_transitionS.length;
-        DFA203_transition = new short[numStates][];
-        for (int i=0; i<numStates; i++) {
-            DFA203_transition[i] = DFA.unpackEncodedString(DFA203_transitionS[i]);
-        }
-    }
-
-    class DFA203 extends DFA {
-
-        public DFA203(BaseRecognizer recognizer) {
-            this.recognizer = recognizer;
-            this.decisionNumber = 203;
-            this.eot = DFA203_eot;
-            this.eof = DFA203_eof;
-            this.min = DFA203_min;
-            this.max = DFA203_max;
-            this.accept = DFA203_accept;
-            this.special = DFA203_special;
-            this.transition = DFA203_transition;
-        }
-        public String getDescription() {
-            return "35394:1: ( rule__XConstructorCall__Group_4__0 )?";
-        }
-        public int specialStateTransition(int s, IntStream _input) throws NoViableAltException {
-            TokenStream input = (TokenStream)_input;
-        	int _s = s;
-            switch ( s ) {
-                    case 0 : 
-                        int LA203_1 = input.LA(1);
-
-                         
-                        int index203_1 = input.index();
-                        input.rewind();
-                        s = -1;
-                        if ( (synpred303_InternalReportDSL()) ) {s = 77;}
-
-                        else if ( (true) ) {s = 2;}
-
-                         
-                        input.seek(index203_1);
-                        if ( s>=0 ) return s;
-                        break;
-            }
-            if (state.backtracking>0) {state.failed=true; return -1;}
-            NoViableAltException nvae =
-                new NoViableAltException(getDescription(), 203, _s, input);
-            error(nvae);
-            throw nvae;
-        }
-    }
-    static final String DFA204_eotS =
-        "\116\uffff";
-    static final String DFA204_eofS =
-        "\1\2\115\uffff";
-    static final String DFA204_minS =
-        "\1\4\1\0\114\uffff";
-    static final String DFA204_maxS =
-        "\1\u00fe\1\0\114\uffff";
-    static final String DFA204_acceptS =
-        "\2\uffff\1\2\112\uffff\1\1";
-    static final String DFA204_specialS =
-        "\1\uffff\1\0\114\uffff}>";
-    static final String[] DFA204_transitionS = {
-            "\5\2\5\uffff\2\2\4\uffff\43\2\103\uffff\2\2\74\uffff\1\2\17"+
-            "\uffff\2\2\16\uffff\3\2\1\1\24\2\12\uffff\2\2\1\uffff\2\2",
-            "\1\uffff",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            ""
-    };
-
-    static final short[] DFA204_eot = DFA.unpackEncodedString(DFA204_eotS);
-    static final short[] DFA204_eof = DFA.unpackEncodedString(DFA204_eofS);
-    static final char[] DFA204_min = DFA.unpackEncodedStringToUnsignedChars(DFA204_minS);
-    static final char[] DFA204_max = DFA.unpackEncodedStringToUnsignedChars(DFA204_maxS);
-    static final short[] DFA204_accept = DFA.unpackEncodedString(DFA204_acceptS);
-    static final short[] DFA204_special = DFA.unpackEncodedString(DFA204_specialS);
-    static final short[][] DFA204_transition;
-
-    static {
-        int numStates = DFA204_transitionS.length;
-        DFA204_transition = new short[numStates][];
-        for (int i=0; i<numStates; i++) {
-            DFA204_transition[i] = DFA.unpackEncodedString(DFA204_transitionS[i]);
-        }
-    }
-
-    class DFA204 extends DFA {
-
-        public DFA204(BaseRecognizer recognizer) {
-            this.recognizer = recognizer;
-            this.decisionNumber = 204;
-            this.eot = DFA204_eot;
-            this.eof = DFA204_eof;
-            this.min = DFA204_min;
-            this.max = DFA204_max;
-            this.accept = DFA204_accept;
-            this.special = DFA204_special;
-            this.transition = DFA204_transition;
-        }
-        public String getDescription() {
-            return "35422:1: ( rule__XConstructorCall__ArgumentsAssignment_5 )?";
-        }
-        public int specialStateTransition(int s, IntStream _input) throws NoViableAltException {
-            TokenStream input = (TokenStream)_input;
-        	int _s = s;
-            switch ( s ) {
-                    case 0 : 
-                        int LA204_1 = input.LA(1);
-
-                         
-                        int index204_1 = input.index();
-                        input.rewind();
-                        s = -1;
-                        if ( (synpred304_InternalReportDSL()) ) {s = 77;}
-
-                        else if ( (true) ) {s = 2;}
-
-                         
-                        input.seek(index204_1);
-                        if ( s>=0 ) return s;
-                        break;
-            }
-            if (state.backtracking>0) {state.failed=true; return -1;}
-            NoViableAltException nvae =
-                new NoViableAltException(getDescription(), 204, _s, input);
-            error(nvae);
-            throw nvae;
-        }
-    }
-    static final String DFA209_eotS =
-        "\116\uffff";
-    static final String DFA209_eofS =
-        "\1\41\115\uffff";
-    static final String DFA209_minS =
-        "\1\4\40\0\55\uffff";
-    static final String DFA209_maxS =
-        "\1\u00fe\40\0\55\uffff";
-    static final String DFA209_acceptS =
-        "\41\uffff\1\2\53\uffff\1\1";
-    static final String DFA209_specialS =
-        "\1\uffff\1\0\1\1\1\2\1\3\1\4\1\5\1\6\1\7\1\10\1\11\1\12\1\13\1"+
-        "\14\1\15\1\16\1\17\1\20\1\21\1\22\1\23\1\24\1\25\1\26\1\27\1\30"+
-        "\1\31\1\32\1\33\1\34\1\35\1\36\1\37\55\uffff}>";
-    static final String[] DFA209_transitionS = {
-            "\1\27\1\1\1\23\1\24\1\25\5\uffff\2\41\4\uffff\13\41\1\15\6"+
-            "\41\1\10\1\7\4\41\1\6\4\41\1\2\1\3\1\4\1\5\1\16\1\21\103\uffff"+
-            "\1\12\1\41\74\uffff\1\41\17\uffff\1\40\1\41\16\uffff\2\41\1"+
-            "\17\1\20\2\41\1\31\1\41\1\13\3\41\1\32\1\33\1\34\1\11\1\26\1"+
-            "\30\1\35\1\36\1\37\1\41\1\14\1\41\12\uffff\2\41\1\uffff\1\41"+
-            "\1\22",
-            "\1\uffff",
-            "\1\uffff",
-            "\1\uffff",
-            "\1\uffff",
-            "\1\uffff",
-            "\1\uffff",
-            "\1\uffff",
-            "\1\uffff",
-            "\1\uffff",
-            "\1\uffff",
-            "\1\uffff",
-            "\1\uffff",
-            "\1\uffff",
-            "\1\uffff",
-            "\1\uffff",
-            "\1\uffff",
-            "\1\uffff",
-            "\1\uffff",
-            "\1\uffff",
-            "\1\uffff",
-            "\1\uffff",
-            "\1\uffff",
-            "\1\uffff",
-            "\1\uffff",
-            "\1\uffff",
-            "\1\uffff",
-            "\1\uffff",
-            "\1\uffff",
-            "\1\uffff",
-            "\1\uffff",
-            "\1\uffff",
-            "\1\uffff",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            ""
-    };
-
-    static final short[] DFA209_eot = DFA.unpackEncodedString(DFA209_eotS);
-    static final short[] DFA209_eof = DFA.unpackEncodedString(DFA209_eofS);
-    static final char[] DFA209_min = DFA.unpackEncodedStringToUnsignedChars(DFA209_minS);
-    static final char[] DFA209_max = DFA.unpackEncodedStringToUnsignedChars(DFA209_maxS);
-    static final short[] DFA209_accept = DFA.unpackEncodedString(DFA209_acceptS);
-    static final short[] DFA209_special = DFA.unpackEncodedString(DFA209_specialS);
-    static final short[][] DFA209_transition;
-
-    static {
-        int numStates = DFA209_transitionS.length;
-        DFA209_transition = new short[numStates][];
-        for (int i=0; i<numStates; i++) {
-            DFA209_transition[i] = DFA.unpackEncodedString(DFA209_transitionS[i]);
-        }
-    }
-
-    class DFA209 extends DFA {
-
-        public DFA209(BaseRecognizer recognizer) {
-            this.recognizer = recognizer;
-            this.decisionNumber = 209;
-            this.eot = DFA209_eot;
-            this.eof = DFA209_eof;
-            this.min = DFA209_min;
-            this.max = DFA209_max;
-            this.accept = DFA209_accept;
-            this.special = DFA209_special;
-            this.transition = DFA209_transition;
-        }
-        public String getDescription() {
-            return "36475:1: ( rule__XReturnExpression__ExpressionAssignment_2 )?";
-        }
-        public int specialStateTransition(int s, IntStream _input) throws NoViableAltException {
-            TokenStream input = (TokenStream)_input;
-        	int _s = s;
-            switch ( s ) {
-                    case 0 : 
-                        int LA209_1 = input.LA(1);
-
-                         
-                        int index209_1 = input.index();
-                        input.rewind();
-                        s = -1;
-                        if ( (synpred309_InternalReportDSL()) ) {s = 77;}
-
-                        else if ( (true) ) {s = 33;}
-
-                         
-                        input.seek(index209_1);
-                        if ( s>=0 ) return s;
-                        break;
-                    case 1 : 
-                        int LA209_2 = input.LA(1);
-
-                         
-                        int index209_2 = input.index();
-                        input.rewind();
-                        s = -1;
-                        if ( (synpred309_InternalReportDSL()) ) {s = 77;}
-
-                        else if ( (true) ) {s = 33;}
-
-                         
-                        input.seek(index209_2);
-                        if ( s>=0 ) return s;
-                        break;
-                    case 2 : 
-                        int LA209_3 = input.LA(1);
-
-                         
-                        int index209_3 = input.index();
-                        input.rewind();
-                        s = -1;
-                        if ( (synpred309_InternalReportDSL()) ) {s = 77;}
-
-                        else if ( (true) ) {s = 33;}
-
-                         
-                        input.seek(index209_3);
-                        if ( s>=0 ) return s;
-                        break;
-                    case 3 : 
-                        int LA209_4 = input.LA(1);
-
-                         
-                        int index209_4 = input.index();
-                        input.rewind();
-                        s = -1;
-                        if ( (synpred309_InternalReportDSL()) ) {s = 77;}
-
-                        else if ( (true) ) {s = 33;}
-
-                         
-                        input.seek(index209_4);
-                        if ( s>=0 ) return s;
-                        break;
-                    case 4 : 
-                        int LA209_5 = input.LA(1);
-
-                         
-                        int index209_5 = input.index();
-                        input.rewind();
-                        s = -1;
-                        if ( (synpred309_InternalReportDSL()) ) {s = 77;}
-
-                        else if ( (true) ) {s = 33;}
-
-                         
-                        input.seek(index209_5);
-                        if ( s>=0 ) return s;
-                        break;
-                    case 5 : 
-                        int LA209_6 = input.LA(1);
-
-                         
-                        int index209_6 = input.index();
-                        input.rewind();
-                        s = -1;
-                        if ( (synpred309_InternalReportDSL()) ) {s = 77;}
-
-                        else if ( (true) ) {s = 33;}
-
-                         
-                        input.seek(index209_6);
-                        if ( s>=0 ) return s;
-                        break;
-                    case 6 : 
-                        int LA209_7 = input.LA(1);
-
-                         
-                        int index209_7 = input.index();
-                        input.rewind();
-                        s = -1;
-                        if ( (synpred309_InternalReportDSL()) ) {s = 77;}
-
-                        else if ( (true) ) {s = 33;}
-
-                         
-                        input.seek(index209_7);
-                        if ( s>=0 ) return s;
-                        break;
-                    case 7 : 
-                        int LA209_8 = input.LA(1);
-
-                         
-                        int index209_8 = input.index();
-                        input.rewind();
-                        s = -1;
-                        if ( (synpred309_InternalReportDSL()) ) {s = 77;}
-
-                        else if ( (true) ) {s = 33;}
-
-                         
-                        input.seek(index209_8);
-                        if ( s>=0 ) return s;
-                        break;
-                    case 8 : 
-                        int LA209_9 = input.LA(1);
-
-                         
-                        int index209_9 = input.index();
-                        input.rewind();
-                        s = -1;
-                        if ( (synpred309_InternalReportDSL()) ) {s = 77;}
-
-                        else if ( (true) ) {s = 33;}
-
-                         
-                        input.seek(index209_9);
-                        if ( s>=0 ) return s;
-                        break;
-                    case 9 : 
-                        int LA209_10 = input.LA(1);
-
-                         
-                        int index209_10 = input.index();
-                        input.rewind();
-                        s = -1;
-                        if ( (synpred309_InternalReportDSL()) ) {s = 77;}
-
-                        else if ( (true) ) {s = 33;}
-
-                         
-                        input.seek(index209_10);
-                        if ( s>=0 ) return s;
-                        break;
-                    case 10 : 
-                        int LA209_11 = input.LA(1);
-
-                         
-                        int index209_11 = input.index();
-                        input.rewind();
-                        s = -1;
-                        if ( (synpred309_InternalReportDSL()) ) {s = 77;}
-
-                        else if ( (true) ) {s = 33;}
-
-                         
-                        input.seek(index209_11);
-                        if ( s>=0 ) return s;
-                        break;
-                    case 11 : 
-                        int LA209_12 = input.LA(1);
-
-                         
-                        int index209_12 = input.index();
-                        input.rewind();
-                        s = -1;
-                        if ( (synpred309_InternalReportDSL()) ) {s = 77;}
-
-                        else if ( (true) ) {s = 33;}
-
-                         
-                        input.seek(index209_12);
-                        if ( s>=0 ) return s;
-                        break;
-                    case 12 : 
-                        int LA209_13 = input.LA(1);
-
-                         
-                        int index209_13 = input.index();
-                        input.rewind();
-                        s = -1;
-                        if ( (synpred309_InternalReportDSL()) ) {s = 77;}
-
-                        else if ( (true) ) {s = 33;}
-
-                         
-                        input.seek(index209_13);
-                        if ( s>=0 ) return s;
-                        break;
-                    case 13 : 
-                        int LA209_14 = input.LA(1);
-
-                         
-                        int index209_14 = input.index();
-                        input.rewind();
-                        s = -1;
-                        if ( (synpred309_InternalReportDSL()) ) {s = 77;}
-
-                        else if ( (true) ) {s = 33;}
-
-                         
-                        input.seek(index209_14);
-                        if ( s>=0 ) return s;
-                        break;
-                    case 14 : 
-                        int LA209_15 = input.LA(1);
-
-                         
-                        int index209_15 = input.index();
-                        input.rewind();
-                        s = -1;
-                        if ( (synpred309_InternalReportDSL()) ) {s = 77;}
-
-                        else if ( (true) ) {s = 33;}
-
-                         
-                        input.seek(index209_15);
-                        if ( s>=0 ) return s;
-                        break;
-                    case 15 : 
-                        int LA209_16 = input.LA(1);
-
-                         
-                        int index209_16 = input.index();
-                        input.rewind();
-                        s = -1;
-                        if ( (synpred309_InternalReportDSL()) ) {s = 77;}
-
-                        else if ( (true) ) {s = 33;}
-
-                         
-                        input.seek(index209_16);
-                        if ( s>=0 ) return s;
-                        break;
-                    case 16 : 
-                        int LA209_17 = input.LA(1);
-
-                         
-                        int index209_17 = input.index();
-                        input.rewind();
-                        s = -1;
-                        if ( (synpred309_InternalReportDSL()) ) {s = 77;}
-
-                        else if ( (true) ) {s = 33;}
-
-                         
-                        input.seek(index209_17);
-                        if ( s>=0 ) return s;
-                        break;
-                    case 17 : 
-                        int LA209_18 = input.LA(1);
-
-                         
-                        int index209_18 = input.index();
-                        input.rewind();
-                        s = -1;
-                        if ( (synpred309_InternalReportDSL()) ) {s = 77;}
-
-                        else if ( (true) ) {s = 33;}
-
-                         
-                        input.seek(index209_18);
-                        if ( s>=0 ) return s;
-                        break;
-                    case 18 : 
-                        int LA209_19 = input.LA(1);
-
-                         
-                        int index209_19 = input.index();
-                        input.rewind();
-                        s = -1;
-                        if ( (synpred309_InternalReportDSL()) ) {s = 77;}
-
-                        else if ( (true) ) {s = 33;}
-
-                         
-                        input.seek(index209_19);
-                        if ( s>=0 ) return s;
-                        break;
-                    case 19 : 
-                        int LA209_20 = input.LA(1);
-
-                         
-                        int index209_20 = input.index();
-                        input.rewind();
-                        s = -1;
-                        if ( (synpred309_InternalReportDSL()) ) {s = 77;}
-
-                        else if ( (true) ) {s = 33;}
-
-                         
-                        input.seek(index209_20);
-                        if ( s>=0 ) return s;
-                        break;
-                    case 20 : 
-                        int LA209_21 = input.LA(1);
-
-                         
-                        int index209_21 = input.index();
-                        input.rewind();
-                        s = -1;
-                        if ( (synpred309_InternalReportDSL()) ) {s = 77;}
-
-                        else if ( (true) ) {s = 33;}
-
-                         
-                        input.seek(index209_21);
-                        if ( s>=0 ) return s;
-                        break;
-                    case 21 : 
-                        int LA209_22 = input.LA(1);
-
-                         
-                        int index209_22 = input.index();
-                        input.rewind();
-                        s = -1;
-                        if ( (synpred309_InternalReportDSL()) ) {s = 77;}
-
-                        else if ( (true) ) {s = 33;}
-
-                         
-                        input.seek(index209_22);
-                        if ( s>=0 ) return s;
-                        break;
-                    case 22 : 
-                        int LA209_23 = input.LA(1);
-
-                         
-                        int index209_23 = input.index();
-                        input.rewind();
-                        s = -1;
-                        if ( (synpred309_InternalReportDSL()) ) {s = 77;}
-
-                        else if ( (true) ) {s = 33;}
-
-                         
-                        input.seek(index209_23);
-                        if ( s>=0 ) return s;
-                        break;
-                    case 23 : 
-                        int LA209_24 = input.LA(1);
-
-                         
-                        int index209_24 = input.index();
-                        input.rewind();
-                        s = -1;
-                        if ( (synpred309_InternalReportDSL()) ) {s = 77;}
-
-                        else if ( (true) ) {s = 33;}
-
-                         
-                        input.seek(index209_24);
-                        if ( s>=0 ) return s;
-                        break;
-                    case 24 : 
-                        int LA209_25 = input.LA(1);
-
-                         
-                        int index209_25 = input.index();
-                        input.rewind();
-                        s = -1;
-                        if ( (synpred309_InternalReportDSL()) ) {s = 77;}
-
-                        else if ( (true) ) {s = 33;}
-
-                         
-                        input.seek(index209_25);
-                        if ( s>=0 ) return s;
-                        break;
-                    case 25 : 
-                        int LA209_26 = input.LA(1);
-
-                         
-                        int index209_26 = input.index();
-                        input.rewind();
-                        s = -1;
-                        if ( (synpred309_InternalReportDSL()) ) {s = 77;}
-
-                        else if ( (true) ) {s = 33;}
-
-                         
-                        input.seek(index209_26);
-                        if ( s>=0 ) return s;
-                        break;
-                    case 26 : 
-                        int LA209_27 = input.LA(1);
-
-                         
-                        int index209_27 = input.index();
-                        input.rewind();
-                        s = -1;
-                        if ( (synpred309_InternalReportDSL()) ) {s = 77;}
-
-                        else if ( (true) ) {s = 33;}
-
-                         
-                        input.seek(index209_27);
-                        if ( s>=0 ) return s;
-                        break;
-                    case 27 : 
-                        int LA209_28 = input.LA(1);
-
-                         
-                        int index209_28 = input.index();
-                        input.rewind();
-                        s = -1;
-                        if ( (synpred309_InternalReportDSL()) ) {s = 77;}
-
-                        else if ( (true) ) {s = 33;}
-
-                         
-                        input.seek(index209_28);
-                        if ( s>=0 ) return s;
-                        break;
-                    case 28 : 
-                        int LA209_29 = input.LA(1);
-
-                         
-                        int index209_29 = input.index();
-                        input.rewind();
-                        s = -1;
-                        if ( (synpred309_InternalReportDSL()) ) {s = 77;}
-
-                        else if ( (true) ) {s = 33;}
-
-                         
-                        input.seek(index209_29);
-                        if ( s>=0 ) return s;
-                        break;
-                    case 29 : 
-                        int LA209_30 = input.LA(1);
-
-                         
-                        int index209_30 = input.index();
-                        input.rewind();
-                        s = -1;
-                        if ( (synpred309_InternalReportDSL()) ) {s = 77;}
-
-                        else if ( (true) ) {s = 33;}
-
-                         
-                        input.seek(index209_30);
-                        if ( s>=0 ) return s;
-                        break;
-                    case 30 : 
-                        int LA209_31 = input.LA(1);
-
-                         
-                        int index209_31 = input.index();
-                        input.rewind();
-                        s = -1;
-                        if ( (synpred309_InternalReportDSL()) ) {s = 77;}
-
-                        else if ( (true) ) {s = 33;}
-
-                         
-                        input.seek(index209_31);
-                        if ( s>=0 ) return s;
-                        break;
-                    case 31 : 
-                        int LA209_32 = input.LA(1);
-
-                         
-                        int index209_32 = input.index();
-                        input.rewind();
-                        s = -1;
-                        if ( (synpred309_InternalReportDSL()) ) {s = 77;}
-
-                        else if ( (true) ) {s = 33;}
-
-                         
-                        input.seek(index209_32);
-                        if ( s>=0 ) return s;
-                        break;
-            }
-            if (state.backtracking>0) {state.failed=true; return -1;}
-            NoViableAltException nvae =
-                new NoViableAltException(getDescription(), 209, _s, input);
-            error(nvae);
-            throw nvae;
-        }
-    }
-    static final String DFA218_eotS =
-        "\117\uffff";
-    static final String DFA218_eofS =
-        "\1\2\116\uffff";
-    static final String DFA218_minS =
-        "\1\4\1\0\115\uffff";
-    static final String DFA218_maxS =
-        "\1\u00fe\1\0\115\uffff";
-    static final String DFA218_acceptS =
-        "\2\uffff\1\2\113\uffff\1\1";
-    static final String DFA218_specialS =
-        "\1\uffff\1\0\115\uffff}>";
-    static final String[] DFA218_transitionS = {
-            "\5\2\5\uffff\2\2\4\uffff\13\2\1\1\27\2\103\uffff\2\2\74\uffff"+
-            "\1\2\17\uffff\2\2\16\uffff\30\2\1\uffff\1\2\10\uffff\2\2\1\uffff"+
-            "\2\2",
-            "\1\uffff",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            ""
-    };
-
-    static final short[] DFA218_eot = DFA.unpackEncodedString(DFA218_eotS);
-    static final short[] DFA218_eof = DFA.unpackEncodedString(DFA218_eofS);
-    static final char[] DFA218_min = DFA.unpackEncodedStringToUnsignedChars(DFA218_minS);
-    static final char[] DFA218_max = DFA.unpackEncodedStringToUnsignedChars(DFA218_maxS);
-    static final short[] DFA218_accept = DFA.unpackEncodedString(DFA218_acceptS);
-    static final short[] DFA218_special = DFA.unpackEncodedString(DFA218_specialS);
-    static final short[][] DFA218_transition;
-
-    static {
-        int numStates = DFA218_transitionS.length;
-        DFA218_transition = new short[numStates][];
-        for (int i=0; i<numStates; i++) {
-            DFA218_transition[i] = DFA.unpackEncodedString(DFA218_transitionS[i]);
-        }
-    }
-
-    class DFA218 extends DFA {
-
-        public DFA218(BaseRecognizer recognizer) {
-            this.recognizer = recognizer;
-            this.decisionNumber = 218;
-            this.eot = DFA218_eot;
-            this.eof = DFA218_eof;
-            this.min = DFA218_min;
-            this.max = DFA218_max;
-            this.accept = DFA218_accept;
-            this.special = DFA218_special;
-            this.transition = DFA218_transition;
-        }
-        public String getDescription() {
-            return "38054:1: ( rule__JvmParameterizedTypeReference__Group_1__0 )?";
-        }
-        public int specialStateTransition(int s, IntStream _input) throws NoViableAltException {
-            TokenStream input = (TokenStream)_input;
-        	int _s = s;
-            switch ( s ) {
-                    case 0 : 
-                        int LA218_1 = input.LA(1);
-
-                         
-                        int index218_1 = input.index();
-                        input.rewind();
-                        s = -1;
-                        if ( (synpred318_InternalReportDSL()) ) {s = 78;}
-
-                        else if ( (true) ) {s = 2;}
-
-                         
-                        input.seek(index218_1);
-                        if ( s>=0 ) return s;
-                        break;
-            }
-            if (state.backtracking>0) {state.failed=true; return -1;}
-            NoViableAltException nvae =
-                new NoViableAltException(getDescription(), 218, _s, input);
-            error(nvae);
-            throw nvae;
-        }
-    }
-    static final String DFA221_eotS =
-        "\117\uffff";
-    static final String DFA221_eofS =
-        "\1\2\116\uffff";
-    static final String DFA221_minS =
-        "\1\4\1\0\115\uffff";
-    static final String DFA221_maxS =
-        "\1\u00fe\1\0\115\uffff";
-    static final String DFA221_acceptS =
-        "\2\uffff\1\2\113\uffff\1\1";
-    static final String DFA221_specialS =
-        "\1\uffff\1\0\115\uffff}>";
-    static final String[] DFA221_transitionS = {
-            "\5\2\5\uffff\2\2\4\uffff\13\2\1\1\27\2\103\uffff\2\2\74\uffff"+
-            "\1\2\17\uffff\2\2\16\uffff\30\2\1\uffff\1\2\10\uffff\2\2\1\uffff"+
-            "\2\2",
-            "\1\uffff",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            ""
-    };
-
-    static final short[] DFA221_eot = DFA.unpackEncodedString(DFA221_eotS);
-    static final short[] DFA221_eof = DFA.unpackEncodedString(DFA221_eofS);
-    static final char[] DFA221_min = DFA.unpackEncodedStringToUnsignedChars(DFA221_minS);
-    static final char[] DFA221_max = DFA.unpackEncodedStringToUnsignedChars(DFA221_maxS);
-    static final short[] DFA221_accept = DFA.unpackEncodedString(DFA221_acceptS);
-    static final short[] DFA221_special = DFA.unpackEncodedString(DFA221_specialS);
-    static final short[][] DFA221_transition;
-
-    static {
-        int numStates = DFA221_transitionS.length;
-        DFA221_transition = new short[numStates][];
-        for (int i=0; i<numStates; i++) {
-            DFA221_transition[i] = DFA.unpackEncodedString(DFA221_transitionS[i]);
-        }
-    }
-
-    class DFA221 extends DFA {
-
-        public DFA221(BaseRecognizer recognizer) {
-            this.recognizer = recognizer;
-            this.decisionNumber = 221;
-            this.eot = DFA221_eot;
-            this.eof = DFA221_eof;
-            this.min = DFA221_min;
-            this.max = DFA221_max;
-            this.accept = DFA221_accept;
-            this.special = DFA221_special;
-            this.transition = DFA221_transition;
-        }
-        public String getDescription() {
-            return "38365:1: ( rule__JvmParameterizedTypeReference__Group_1_4_2__0 )?";
-        }
-        public int specialStateTransition(int s, IntStream _input) throws NoViableAltException {
-            TokenStream input = (TokenStream)_input;
-        	int _s = s;
-            switch ( s ) {
-                    case 0 : 
-                        int LA221_1 = input.LA(1);
-
-                         
-                        int index221_1 = input.index();
-                        input.rewind();
-                        s = -1;
-                        if ( (synpred321_InternalReportDSL()) ) {s = 78;}
-
-                        else if ( (true) ) {s = 2;}
-
-                         
-                        input.seek(index221_1);
-                        if ( s>=0 ) return s;
-                        break;
-            }
-            if (state.backtracking>0) {state.failed=true; return -1;}
-            NoViableAltException nvae =
-                new NoViableAltException(getDescription(), 221, _s, input);
-            error(nvae);
-            throw nvae;
-        }
-    }
-    static final String DFA229_eotS =
-        "\34\uffff";
-    static final String DFA229_eofS =
-        "\1\10\33\uffff";
-    static final String DFA229_minS =
-        "\1\110\1\5\4\0\1\6\1\0\1\uffff\1\172\1\uffff\3\53\1\0\11\173\1"+
-        "\7\1\0\2\53";
-    static final String DFA229_maxS =
-        "\1\u00f2\1\5\4\0\1\10\1\0\1\uffff\1\172\1\uffff\3\76\1\0\11\173"+
-        "\1\10\1\0\2\76";
-    static final String DFA229_acceptS =
-        "\10\uffff\1\2\1\uffff\1\1\21\uffff";
-    static final String DFA229_specialS =
-        "\2\uffff\1\3\1\4\1\1\1\0\1\uffff\1\5\6\uffff\1\6\12\uffff\1\2\2"+
-        "\uffff}>";
-    static final String[] DFA229_transitionS = {
-            "\1\2\1\3\1\4\60\uffff\1\7\26\uffff\1\1\1\uffff\1\6\135\uffff"+
-            "\1\5",
-            "\1\11",
-            "\1\uffff",
-            "\1\uffff",
-            "\1\uffff",
-            "\1\uffff",
-            "\1\13\1\14\1\15",
-            "\1\uffff",
-            "",
-            "\1\16",
-            "",
-            "\1\27\13\uffff\1\17\1\20\1\21\1\22\1\23\1\24\1\25\1\26",
-            "\1\27\3\uffff\1\30\7\uffff\1\17\1\20\1\21\1\22\1\23\1\24\1"+
-            "\25\1\26",
-            "\1\27\3\uffff\1\30\7\uffff\1\17\1\20\1\21\1\22\1\23\1\24\1"+
-            "\25\1\26",
-            "\1\uffff",
-            "\1\31",
-            "\1\31",
-            "\1\31",
-            "\1\31",
-            "\1\31",
-            "\1\31",
-            "\1\31",
-            "\1\31",
-            "\1\31",
-            "\1\32\1\33",
-            "\1\uffff",
-            "\1\27\13\uffff\1\17\1\20\1\21\1\22\1\23\1\24\1\25\1\26",
-            "\1\27\13\uffff\1\17\1\20\1\21\1\22\1\23\1\24\1\25\1\26"
-    };
-
-    static final short[] DFA229_eot = DFA.unpackEncodedString(DFA229_eotS);
-    static final short[] DFA229_eof = DFA.unpackEncodedString(DFA229_eofS);
-    static final char[] DFA229_min = DFA.unpackEncodedStringToUnsignedChars(DFA229_minS);
-    static final char[] DFA229_max = DFA.unpackEncodedStringToUnsignedChars(DFA229_maxS);
-    static final short[] DFA229_accept = DFA.unpackEncodedString(DFA229_acceptS);
-    static final short[] DFA229_special = DFA.unpackEncodedString(DFA229_specialS);
-    static final short[][] DFA229_transition;
-
-    static {
-        int numStates = DFA229_transitionS.length;
-        DFA229_transition = new short[numStates][];
-        for (int i=0; i<numStates; i++) {
-            DFA229_transition[i] = DFA.unpackEncodedString(DFA229_transitionS[i]);
-        }
-    }
-
-    class DFA229 extends DFA {
-
-        public DFA229(BaseRecognizer recognizer) {
-            this.recognizer = recognizer;
-            this.decisionNumber = 229;
-            this.eot = DFA229_eot;
-            this.eof = DFA229_eof;
-            this.min = DFA229_min;
-            this.max = DFA229_max;
-            this.accept = DFA229_accept;
-            this.special = DFA229_special;
-            this.transition = DFA229_transition;
-        }
-        public String getDescription() {
-            return "39625:2: ( rule__Font__UnorderedGroup__1 )?";
-        }
-        public int specialStateTransition(int s, IntStream _input) throws NoViableAltException {
-            TokenStream input = (TokenStream)_input;
-        	int _s = s;
-            switch ( s ) {
-                    case 0 : 
-                        int LA229_5 = input.LA(1);
-
-                         
-                        int index229_5 = input.index();
-                        input.rewind();
-                        s = -1;
-                        if ( synpred331_InternalReportDSL() && getUnorderedGroupHelper().canSelect(grammarAccess.getFontAccess().getUnorderedGroup(), 2) ) {s = 10;}
-
-                        else if ( getUnorderedGroupHelper().canLeave(grammarAccess.getFontAccess().getUnorderedGroup()) ) {s = 8;}
-
-                         
-                        input.seek(index229_5);
-                        if ( s>=0 ) return s;
-                        break;
-                    case 1 : 
-                        int LA229_4 = input.LA(1);
-
-                         
-                        int index229_4 = input.index();
-                        input.rewind();
-                        s = -1;
-                        if ( synpred331_InternalReportDSL() && getUnorderedGroupHelper().canSelect(grammarAccess.getFontAccess().getUnorderedGroup(), 1) ) {s = 10;}
-
-                        else if ( getUnorderedGroupHelper().canLeave(grammarAccess.getFontAccess().getUnorderedGroup()) ) {s = 8;}
-
-                         
-                        input.seek(index229_4);
-                        if ( s>=0 ) return s;
-                        break;
-                    case 2 : 
-                        int LA229_25 = input.LA(1);
-
-                         
-                        int index229_25 = input.index();
-                        input.rewind();
-                        s = -1;
-                        if ( synpred331_InternalReportDSL() && getUnorderedGroupHelper().canSelect(grammarAccess.getFontAccess().getUnorderedGroup(), 3) ) {s = 10;}
-
-                        else if ( getUnorderedGroupHelper().canLeave(grammarAccess.getFontAccess().getUnorderedGroup()) ) {s = 8;}
-
-                         
-                        input.seek(index229_25);
-                        if ( s>=0 ) return s;
-                        break;
-                    case 3 : 
-                        int LA229_2 = input.LA(1);
-
-                         
-                        int index229_2 = input.index();
-                        input.rewind();
-                        s = -1;
-                        if ( synpred331_InternalReportDSL() && getUnorderedGroupHelper().canSelect(grammarAccess.getFontAccess().getUnorderedGroup(), 1) ) {s = 10;}
-
-                        else if ( getUnorderedGroupHelper().canLeave(grammarAccess.getFontAccess().getUnorderedGroup()) ) {s = 8;}
-
-                         
-                        input.seek(index229_2);
-                        if ( s>=0 ) return s;
-                        break;
-                    case 4 : 
-                        int LA229_3 = input.LA(1);
-
-                         
-                        int index229_3 = input.index();
-                        input.rewind();
-                        s = -1;
-                        if ( synpred331_InternalReportDSL() && getUnorderedGroupHelper().canSelect(grammarAccess.getFontAccess().getUnorderedGroup(), 1) ) {s = 10;}
-
-                        else if ( getUnorderedGroupHelper().canLeave(grammarAccess.getFontAccess().getUnorderedGroup()) ) {s = 8;}
-
-                         
-                        input.seek(index229_3);
-                        if ( s>=0 ) return s;
-                        break;
-                    case 5 : 
-                        int LA229_7 = input.LA(1);
-
-                         
-                        int index229_7 = input.index();
-                        input.rewind();
-                        s = -1;
-                        if ( synpred331_InternalReportDSL() && getUnorderedGroupHelper().canSelect(grammarAccess.getFontAccess().getUnorderedGroup(), 3) ) {s = 10;}
-
-                        else if ( getUnorderedGroupHelper().canLeave(grammarAccess.getFontAccess().getUnorderedGroup()) ) {s = 8;}
-
-                         
-                        input.seek(index229_7);
-                        if ( s>=0 ) return s;
-                        break;
-                    case 6 : 
-                        int LA229_14 = input.LA(1);
-
-                         
-                        int index229_14 = input.index();
-                        input.rewind();
-                        s = -1;
-                        if ( synpred331_InternalReportDSL() && getUnorderedGroupHelper().canSelect(grammarAccess.getFontAccess().getUnorderedGroup(), 0) ) {s = 10;}
-
-                        else if ( getUnorderedGroupHelper().canLeave(grammarAccess.getFontAccess().getUnorderedGroup()) ) {s = 8;}
-
-                         
-                        input.seek(index229_14);
-                        if ( s>=0 ) return s;
-                        break;
-            }
-            if (state.backtracking>0) {state.failed=true; return -1;}
-            NoViableAltException nvae =
-                new NoViableAltException(getDescription(), 229, _s, input);
-            error(nvae);
-            throw nvae;
-        }
-    }
-    static final String DFA230_eotS =
-        "\34\uffff";
-    static final String DFA230_eofS =
-        "\1\10\33\uffff";
-    static final String DFA230_minS =
-        "\1\110\1\5\4\0\1\6\1\0\1\uffff\1\172\1\uffff\3\53\1\0\11\173\1"+
-        "\7\1\0\2\53";
-    static final String DFA230_maxS =
-        "\1\u00f2\1\5\4\0\1\10\1\0\1\uffff\1\172\1\uffff\3\76\1\0\11\173"+
-        "\1\10\1\0\2\76";
-    static final String DFA230_acceptS =
-        "\10\uffff\1\2\1\uffff\1\1\21\uffff";
-    static final String DFA230_specialS =
-        "\2\uffff\1\1\1\6\1\3\1\4\1\uffff\1\0\6\uffff\1\2\12\uffff\1\5\2"+
-        "\uffff}>";
-    static final String[] DFA230_transitionS = {
-            "\1\2\1\3\1\4\60\uffff\1\7\26\uffff\1\1\1\uffff\1\6\135\uffff"+
-            "\1\5",
-            "\1\11",
-            "\1\uffff",
-            "\1\uffff",
-            "\1\uffff",
-            "\1\uffff",
-            "\1\13\1\14\1\15",
-            "\1\uffff",
-            "",
-            "\1\16",
-            "",
-            "\1\27\13\uffff\1\17\1\20\1\21\1\22\1\23\1\24\1\25\1\26",
-            "\1\27\3\uffff\1\30\7\uffff\1\17\1\20\1\21\1\22\1\23\1\24\1"+
-            "\25\1\26",
-            "\1\27\3\uffff\1\30\7\uffff\1\17\1\20\1\21\1\22\1\23\1\24\1"+
-            "\25\1\26",
-            "\1\uffff",
-            "\1\31",
-            "\1\31",
-            "\1\31",
-            "\1\31",
-            "\1\31",
-            "\1\31",
-            "\1\31",
-            "\1\31",
-            "\1\31",
-            "\1\32\1\33",
-            "\1\uffff",
-            "\1\27\13\uffff\1\17\1\20\1\21\1\22\1\23\1\24\1\25\1\26",
-            "\1\27\13\uffff\1\17\1\20\1\21\1\22\1\23\1\24\1\25\1\26"
-    };
-
-    static final short[] DFA230_eot = DFA.unpackEncodedString(DFA230_eotS);
-    static final short[] DFA230_eof = DFA.unpackEncodedString(DFA230_eofS);
-    static final char[] DFA230_min = DFA.unpackEncodedStringToUnsignedChars(DFA230_minS);
-    static final char[] DFA230_max = DFA.unpackEncodedStringToUnsignedChars(DFA230_maxS);
-    static final short[] DFA230_accept = DFA.unpackEncodedString(DFA230_acceptS);
-    static final short[] DFA230_special = DFA.unpackEncodedString(DFA230_specialS);
-    static final short[][] DFA230_transition;
-
-    static {
-        int numStates = DFA230_transitionS.length;
-        DFA230_transition = new short[numStates][];
-        for (int i=0; i<numStates; i++) {
-            DFA230_transition[i] = DFA.unpackEncodedString(DFA230_transitionS[i]);
-        }
-    }
-
-    class DFA230 extends DFA {
-
-        public DFA230(BaseRecognizer recognizer) {
-            this.recognizer = recognizer;
-            this.decisionNumber = 230;
-            this.eot = DFA230_eot;
-            this.eof = DFA230_eof;
-            this.min = DFA230_min;
-            this.max = DFA230_max;
-            this.accept = DFA230_accept;
-            this.special = DFA230_special;
-            this.transition = DFA230_transition;
-        }
-        public String getDescription() {
-            return "39638:2: ( rule__Font__UnorderedGroup__2 )?";
-        }
-        public int specialStateTransition(int s, IntStream _input) throws NoViableAltException {
-            TokenStream input = (TokenStream)_input;
-        	int _s = s;
-            switch ( s ) {
-                    case 0 : 
-                        int LA230_7 = input.LA(1);
-
-                         
-                        int index230_7 = input.index();
-                        input.rewind();
-                        s = -1;
-                        if ( synpred332_InternalReportDSL() && getUnorderedGroupHelper().canSelect(grammarAccess.getFontAccess().getUnorderedGroup(), 3) ) {s = 10;}
-
-                        else if ( getUnorderedGroupHelper().canLeave(grammarAccess.getFontAccess().getUnorderedGroup()) ) {s = 8;}
-
-                         
-                        input.seek(index230_7);
-                        if ( s>=0 ) return s;
-                        break;
-                    case 1 : 
-                        int LA230_2 = input.LA(1);
-
-                         
-                        int index230_2 = input.index();
-                        input.rewind();
-                        s = -1;
-                        if ( synpred332_InternalReportDSL() && getUnorderedGroupHelper().canSelect(grammarAccess.getFontAccess().getUnorderedGroup(), 1) ) {s = 10;}
-
-                        else if ( getUnorderedGroupHelper().canLeave(grammarAccess.getFontAccess().getUnorderedGroup()) ) {s = 8;}
-
-                         
-                        input.seek(index230_2);
-                        if ( s>=0 ) return s;
-                        break;
-                    case 2 : 
-                        int LA230_14 = input.LA(1);
-
-                         
-                        int index230_14 = input.index();
-                        input.rewind();
-                        s = -1;
-                        if ( synpred332_InternalReportDSL() && getUnorderedGroupHelper().canSelect(grammarAccess.getFontAccess().getUnorderedGroup(), 0) ) {s = 10;}
-
-                        else if ( getUnorderedGroupHelper().canLeave(grammarAccess.getFontAccess().getUnorderedGroup()) ) {s = 8;}
-
-                         
-                        input.seek(index230_14);
-                        if ( s>=0 ) return s;
-                        break;
-                    case 3 : 
-                        int LA230_4 = input.LA(1);
-
-                         
-                        int index230_4 = input.index();
-                        input.rewind();
-                        s = -1;
-                        if ( synpred332_InternalReportDSL() && getUnorderedGroupHelper().canSelect(grammarAccess.getFontAccess().getUnorderedGroup(), 1) ) {s = 10;}
-
-                        else if ( getUnorderedGroupHelper().canLeave(grammarAccess.getFontAccess().getUnorderedGroup()) ) {s = 8;}
-
-                         
-                        input.seek(index230_4);
-                        if ( s>=0 ) return s;
-                        break;
-                    case 4 : 
-                        int LA230_5 = input.LA(1);
-
-                         
-                        int index230_5 = input.index();
-                        input.rewind();
-                        s = -1;
-                        if ( synpred332_InternalReportDSL() && getUnorderedGroupHelper().canSelect(grammarAccess.getFontAccess().getUnorderedGroup(), 2) ) {s = 10;}
-
-                        else if ( getUnorderedGroupHelper().canLeave(grammarAccess.getFontAccess().getUnorderedGroup()) ) {s = 8;}
-
-                         
-                        input.seek(index230_5);
-                        if ( s>=0 ) return s;
-                        break;
-                    case 5 : 
-                        int LA230_25 = input.LA(1);
-
-                         
-                        int index230_25 = input.index();
-                        input.rewind();
-                        s = -1;
-                        if ( synpred332_InternalReportDSL() && getUnorderedGroupHelper().canSelect(grammarAccess.getFontAccess().getUnorderedGroup(), 3) ) {s = 10;}
-
-                        else if ( getUnorderedGroupHelper().canLeave(grammarAccess.getFontAccess().getUnorderedGroup()) ) {s = 8;}
-
-                         
-                        input.seek(index230_25);
-                        if ( s>=0 ) return s;
-                        break;
-                    case 6 : 
-                        int LA230_3 = input.LA(1);
-
-                         
-                        int index230_3 = input.index();
-                        input.rewind();
-                        s = -1;
-                        if ( synpred332_InternalReportDSL() && getUnorderedGroupHelper().canSelect(grammarAccess.getFontAccess().getUnorderedGroup(), 1) ) {s = 10;}
-
-                        else if ( getUnorderedGroupHelper().canLeave(grammarAccess.getFontAccess().getUnorderedGroup()) ) {s = 8;}
-
-                         
-                        input.seek(index230_3);
-                        if ( s>=0 ) return s;
-                        break;
-            }
-            if (state.backtracking>0) {state.failed=true; return -1;}
-            NoViableAltException nvae =
-                new NoViableAltException(getDescription(), 230, _s, input);
-            error(nvae);
-            throw nvae;
-        }
-    }
-    static final String DFA231_eotS =
-        "\34\uffff";
-    static final String DFA231_eofS =
-        "\1\10\33\uffff";
-    static final String DFA231_minS =
-        "\1\110\1\5\4\0\1\6\1\0\1\uffff\1\172\1\uffff\3\53\1\0\11\173\1"+
-        "\7\1\0\2\53";
-    static final String DFA231_maxS =
-        "\1\u00f2\1\5\4\0\1\10\1\0\1\uffff\1\172\1\uffff\3\76\1\0\11\173"+
-        "\1\10\1\0\2\76";
-    static final String DFA231_acceptS =
-        "\10\uffff\1\2\1\uffff\1\1\21\uffff";
-    static final String DFA231_specialS =
-        "\2\uffff\1\0\1\6\1\4\1\3\1\uffff\1\5\6\uffff\1\1\12\uffff\1\2\2"+
-        "\uffff}>";
-    static final String[] DFA231_transitionS = {
-            "\1\2\1\3\1\4\60\uffff\1\7\26\uffff\1\1\1\uffff\1\6\135\uffff"+
-            "\1\5",
-            "\1\11",
-            "\1\uffff",
-            "\1\uffff",
-            "\1\uffff",
-            "\1\uffff",
-            "\1\13\1\14\1\15",
-            "\1\uffff",
-            "",
-            "\1\16",
-            "",
-            "\1\27\13\uffff\1\17\1\20\1\21\1\22\1\23\1\24\1\25\1\26",
-            "\1\27\3\uffff\1\30\7\uffff\1\17\1\20\1\21\1\22\1\23\1\24\1"+
-            "\25\1\26",
-            "\1\27\3\uffff\1\30\7\uffff\1\17\1\20\1\21\1\22\1\23\1\24\1"+
-            "\25\1\26",
-            "\1\uffff",
-            "\1\31",
-            "\1\31",
-            "\1\31",
-            "\1\31",
-            "\1\31",
-            "\1\31",
-            "\1\31",
-            "\1\31",
-            "\1\31",
-            "\1\32\1\33",
-            "\1\uffff",
-            "\1\27\13\uffff\1\17\1\20\1\21\1\22\1\23\1\24\1\25\1\26",
-            "\1\27\13\uffff\1\17\1\20\1\21\1\22\1\23\1\24\1\25\1\26"
-    };
-
-    static final short[] DFA231_eot = DFA.unpackEncodedString(DFA231_eotS);
-    static final short[] DFA231_eof = DFA.unpackEncodedString(DFA231_eofS);
-    static final char[] DFA231_min = DFA.unpackEncodedStringToUnsignedChars(DFA231_minS);
-    static final char[] DFA231_max = DFA.unpackEncodedStringToUnsignedChars(DFA231_maxS);
-    static final short[] DFA231_accept = DFA.unpackEncodedString(DFA231_acceptS);
-    static final short[] DFA231_special = DFA.unpackEncodedString(DFA231_specialS);
-    static final short[][] DFA231_transition;
-
-    static {
-        int numStates = DFA231_transitionS.length;
-        DFA231_transition = new short[numStates][];
-        for (int i=0; i<numStates; i++) {
-            DFA231_transition[i] = DFA.unpackEncodedString(DFA231_transitionS[i]);
-        }
-    }
-
-    class DFA231 extends DFA {
-
-        public DFA231(BaseRecognizer recognizer) {
-            this.recognizer = recognizer;
-            this.decisionNumber = 231;
-            this.eot = DFA231_eot;
-            this.eof = DFA231_eof;
-            this.min = DFA231_min;
-            this.max = DFA231_max;
-            this.accept = DFA231_accept;
-            this.special = DFA231_special;
-            this.transition = DFA231_transition;
-        }
-        public String getDescription() {
-            return "39651:2: ( rule__Font__UnorderedGroup__3 )?";
-        }
-        public int specialStateTransition(int s, IntStream _input) throws NoViableAltException {
-            TokenStream input = (TokenStream)_input;
-        	int _s = s;
-            switch ( s ) {
-                    case 0 : 
-                        int LA231_2 = input.LA(1);
-
-                         
-                        int index231_2 = input.index();
-                        input.rewind();
-                        s = -1;
-                        if ( synpred333_InternalReportDSL() && getUnorderedGroupHelper().canSelect(grammarAccess.getFontAccess().getUnorderedGroup(), 1) ) {s = 10;}
-
-                        else if ( getUnorderedGroupHelper().canLeave(grammarAccess.getFontAccess().getUnorderedGroup()) ) {s = 8;}
-
-                         
-                        input.seek(index231_2);
-                        if ( s>=0 ) return s;
-                        break;
-                    case 1 : 
-                        int LA231_14 = input.LA(1);
-
-                         
-                        int index231_14 = input.index();
-                        input.rewind();
-                        s = -1;
-                        if ( synpred333_InternalReportDSL() && getUnorderedGroupHelper().canSelect(grammarAccess.getFontAccess().getUnorderedGroup(), 0) ) {s = 10;}
-
-                        else if ( getUnorderedGroupHelper().canLeave(grammarAccess.getFontAccess().getUnorderedGroup()) ) {s = 8;}
-
-                         
-                        input.seek(index231_14);
-                        if ( s>=0 ) return s;
-                        break;
-                    case 2 : 
-                        int LA231_25 = input.LA(1);
-
-                         
-                        int index231_25 = input.index();
-                        input.rewind();
-                        s = -1;
-                        if ( synpred333_InternalReportDSL() && getUnorderedGroupHelper().canSelect(grammarAccess.getFontAccess().getUnorderedGroup(), 3) ) {s = 10;}
-
-                        else if ( getUnorderedGroupHelper().canLeave(grammarAccess.getFontAccess().getUnorderedGroup()) ) {s = 8;}
-
-                         
-                        input.seek(index231_25);
-                        if ( s>=0 ) return s;
-                        break;
-                    case 3 : 
-                        int LA231_5 = input.LA(1);
-
-                         
-                        int index231_5 = input.index();
-                        input.rewind();
-                        s = -1;
-                        if ( synpred333_InternalReportDSL() && getUnorderedGroupHelper().canSelect(grammarAccess.getFontAccess().getUnorderedGroup(), 2) ) {s = 10;}
-
-                        else if ( getUnorderedGroupHelper().canLeave(grammarAccess.getFontAccess().getUnorderedGroup()) ) {s = 8;}
-
-                         
-                        input.seek(index231_5);
-                        if ( s>=0 ) return s;
-                        break;
-                    case 4 : 
-                        int LA231_4 = input.LA(1);
-
-                         
-                        int index231_4 = input.index();
-                        input.rewind();
-                        s = -1;
-                        if ( synpred333_InternalReportDSL() && getUnorderedGroupHelper().canSelect(grammarAccess.getFontAccess().getUnorderedGroup(), 1) ) {s = 10;}
-
-                        else if ( getUnorderedGroupHelper().canLeave(grammarAccess.getFontAccess().getUnorderedGroup()) ) {s = 8;}
-
-                         
-                        input.seek(index231_4);
-                        if ( s>=0 ) return s;
-                        break;
-                    case 5 : 
-                        int LA231_7 = input.LA(1);
-
-                         
-                        int index231_7 = input.index();
-                        input.rewind();
-                        s = -1;
-                        if ( synpred333_InternalReportDSL() && getUnorderedGroupHelper().canSelect(grammarAccess.getFontAccess().getUnorderedGroup(), 3) ) {s = 10;}
-
-                        else if ( getUnorderedGroupHelper().canLeave(grammarAccess.getFontAccess().getUnorderedGroup()) ) {s = 8;}
-
-                         
-                        input.seek(index231_7);
-                        if ( s>=0 ) return s;
-                        break;
-                    case 6 : 
-                        int LA231_3 = input.LA(1);
-
-                         
-                        int index231_3 = input.index();
-                        input.rewind();
-                        s = -1;
-                        if ( synpred333_InternalReportDSL() && getUnorderedGroupHelper().canSelect(grammarAccess.getFontAccess().getUnorderedGroup(), 1) ) {s = 10;}
-
-                        else if ( getUnorderedGroupHelper().canLeave(grammarAccess.getFontAccess().getUnorderedGroup()) ) {s = 8;}
-
-                         
-                        input.seek(index231_3);
-                        if ( s>=0 ) return s;
-                        break;
-            }
-            if (state.backtracking>0) {state.failed=true; return -1;}
-            NoViableAltException nvae =
-                new NoViableAltException(getDescription(), 231, _s, input);
-            error(nvae);
-            throw nvae;
-        }
-    }
-    static final String DFA232_eotS =
-        "\23\uffff";
-    static final String DFA232_eofS =
-        "\23\uffff";
-    static final String DFA232_minS =
-        "\1\173\22\uffff";
-    static final String DFA232_maxS =
-        "\1\u00a6\22\uffff";
-    static final String DFA232_acceptS =
-        "\1\uffff\21\1\1\2";
-    static final String DFA232_specialS =
-        "\1\0\22\uffff}>";
-    static final String[] DFA232_transitionS = {
-            "\1\22\7\uffff\1\22\16\uffff\1\2\3\uffff\1\1\1\3\1\uffff\1\4"+
-            "\1\5\1\6\1\7\1\10\1\11\1\12\1\13\1\14\1\15\1\16\1\17\1\20\1"+
-            "\21",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            ""
-    };
-
-    static final short[] DFA232_eot = DFA.unpackEncodedString(DFA232_eotS);
-    static final short[] DFA232_eof = DFA.unpackEncodedString(DFA232_eofS);
-    static final char[] DFA232_min = DFA.unpackEncodedStringToUnsignedChars(DFA232_minS);
-    static final char[] DFA232_max = DFA.unpackEncodedStringToUnsignedChars(DFA232_maxS);
-    static final short[] DFA232_accept = DFA.unpackEncodedString(DFA232_acceptS);
-    static final short[] DFA232_special = DFA.unpackEncodedString(DFA232_specialS);
-    static final short[][] DFA232_transition;
-
-    static {
-        int numStates = DFA232_transitionS.length;
-        DFA232_transition = new short[numStates][];
-        for (int i=0; i<numStates; i++) {
-            DFA232_transition[i] = DFA.unpackEncodedString(DFA232_transitionS[i]);
-        }
-    }
-
-    class DFA232 extends DFA {
-
-        public DFA232(BaseRecognizer recognizer) {
-            this.recognizer = recognizer;
-            this.decisionNumber = 232;
-            this.eot = DFA232_eot;
-            this.eof = DFA232_eof;
-            this.min = DFA232_min;
-            this.max = DFA232_max;
-            this.accept = DFA232_accept;
-            this.special = DFA232_special;
-            this.transition = DFA232_transition;
-        }
-        public String getDescription() {
-            return "39684:2: ( rule__Style__UnorderedGroup_4__0 )?";
-        }
-        public int specialStateTransition(int s, IntStream _input) throws NoViableAltException {
-            TokenStream input = (TokenStream)_input;
-        	int _s = s;
-            switch ( s ) {
-                    case 0 : 
-                        int LA232_0 = input.LA(1);
-
-                         
-                        int index232_0 = input.index();
-                        input.rewind();
-                        s = -1;
-                        if ( LA232_0 ==150 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 0) ) {s = 1;}
-
-                        else if ( LA232_0 ==146 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 1) ) {s = 2;}
-
-                        else if ( LA232_0 ==151 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 2) ) {s = 3;}
-
-                        else if ( LA232_0 ==153 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 3) ) {s = 4;}
-
-                        else if ( LA232_0 ==154 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 4) ) {s = 5;}
-
-                        else if ( LA232_0 ==155 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 5) ) {s = 6;}
-
-                        else if ( LA232_0 ==156 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 6) ) {s = 7;}
-
-                        else if ( LA232_0 ==157 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 7) ) {s = 8;}
-
-                        else if ( LA232_0 ==158 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 8) ) {s = 9;}
-
-                        else if ( LA232_0 ==159 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 9) ) {s = 10;}
-
-                        else if ( LA232_0 ==160 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 10) ) {s = 11;}
-
-                        else if ( LA232_0 ==161 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 11) ) {s = 12;}
-
-                        else if ( LA232_0 ==162 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 12) ) {s = 13;}
-
-                        else if ( LA232_0 ==163 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 13) ) {s = 14;}
-
-                        else if ( LA232_0 ==164 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 14) ) {s = 15;}
-
-                        else if ( LA232_0 ==165 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 15) ) {s = 16;}
-
-                        else if ( LA232_0 ==166 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 16) ) {s = 17;}
-
-                        else if ( (LA232_0==123||LA232_0==131) ) {s = 18;}
-
-                         
-                        input.seek(index232_0);
-                        if ( s>=0 ) return s;
-                        break;
-            }
-            if (state.backtracking>0) {state.failed=true; return -1;}
-            NoViableAltException nvae =
-                new NoViableAltException(getDescription(), 232, _s, input);
-            error(nvae);
-            throw nvae;
-        }
-    }
-    static final String DFA233_eotS =
-        "\22\uffff";
-    static final String DFA233_eofS =
-        "\22\uffff";
-    static final String DFA233_minS =
-        "\1\u0092\21\uffff";
-    static final String DFA233_maxS =
-        "\1\u00a6\21\uffff";
-    static final String DFA233_acceptS =
-        "\1\uffff\1\1\1\2\1\3\1\4\1\5\1\6\1\7\1\10\1\11\1\12\1\13\1\14\1"+
-        "\15\1\16\1\17\1\20\1\21";
-    static final String DFA233_specialS =
-        "\1\0\21\uffff}>";
-    static final String[] DFA233_transitionS = {
-            "\1\2\3\uffff\1\1\1\3\1\uffff\1\4\1\5\1\6\1\7\1\10\1\11\1\12"+
-            "\1\13\1\14\1\15\1\16\1\17\1\20\1\21",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            ""
-    };
-
-    static final short[] DFA233_eot = DFA.unpackEncodedString(DFA233_eotS);
-    static final short[] DFA233_eof = DFA.unpackEncodedString(DFA233_eofS);
-    static final char[] DFA233_min = DFA.unpackEncodedStringToUnsignedChars(DFA233_minS);
-    static final char[] DFA233_max = DFA.unpackEncodedStringToUnsignedChars(DFA233_maxS);
-    static final short[] DFA233_accept = DFA.unpackEncodedString(DFA233_acceptS);
-    static final short[] DFA233_special = DFA.unpackEncodedString(DFA233_specialS);
-    static final short[][] DFA233_transition;
-
-    static {
-        int numStates = DFA233_transitionS.length;
-        DFA233_transition = new short[numStates][];
-        for (int i=0; i<numStates; i++) {
-            DFA233_transition[i] = DFA.unpackEncodedString(DFA233_transitionS[i]);
-        }
-    }
-
-    class DFA233 extends DFA {
-
-        public DFA233(BaseRecognizer recognizer) {
-            this.recognizer = recognizer;
-            this.decisionNumber = 233;
-            this.eot = DFA233_eot;
-            this.eof = DFA233_eof;
-            this.min = DFA233_min;
-            this.max = DFA233_max;
-            this.accept = DFA233_accept;
-            this.special = DFA233_special;
-            this.transition = DFA233_transition;
-        }
-        public String getDescription() {
-            return "39700:3: ( ({...}? => ( ( ( rule__Style__Group_4_0__0 ) ) ) ) | ({...}? => ( ( ( rule__Style__Group_4_1__0 ) ) ) ) | ({...}? => ( ( ( rule__Style__Group_4_2__0 ) ) ) ) | ({...}? => ( ( ( rule__Style__Group_4_3__0 ) ) ) ) | ({...}? => ( ( ( rule__Style__Group_4_4__0 ) ) ) ) | ({...}? => ( ( ( rule__Style__Group_4_5__0 ) ) ) ) | ({...}? => ( ( ( rule__Style__Group_4_6__0 ) ) ) ) | ({...}? => ( ( ( rule__Style__Group_4_7__0 ) ) ) ) | ({...}? => ( ( ( rule__Style__Group_4_8__0 ) ) ) ) | ({...}? => ( ( ( rule__Style__Group_4_9__0 ) ) ) ) | ({...}? => ( ( ( rule__Style__Group_4_10__0 ) ) ) ) | ({...}? => ( ( ( rule__Style__Group_4_11__0 ) ) ) ) | ({...}? => ( ( ( rule__Style__Group_4_12__0 ) ) ) ) | ({...}? => ( ( ( rule__Style__Group_4_13__0 ) ) ) ) | ({...}? => ( ( ( rule__Style__Group_4_14__0 ) ) ) ) | ({...}? => ( ( ( rule__Style__Group_4_15__0 ) ) ) ) | ({...}? => ( ( ( rule__Style__Group_4_16__0 ) ) ) ) )";
-        }
-        public int specialStateTransition(int s, IntStream _input) throws NoViableAltException {
-            TokenStream input = (TokenStream)_input;
-        	int _s = s;
-            switch ( s ) {
-                    case 0 : 
-                        int LA233_0 = input.LA(1);
-
-                         
-                        int index233_0 = input.index();
-                        input.rewind();
-                        s = -1;
-                        if ( LA233_0 ==150 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 0) ) {s = 1;}
-
-                        else if ( LA233_0 ==146 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 1) ) {s = 2;}
-
-                        else if ( LA233_0 ==151 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 2) ) {s = 3;}
-
-                        else if ( LA233_0 ==153 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 3) ) {s = 4;}
-
-                        else if ( LA233_0 ==154 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 4) ) {s = 5;}
-
-                        else if ( LA233_0 ==155 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 5) ) {s = 6;}
-
-                        else if ( LA233_0 ==156 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 6) ) {s = 7;}
-
-                        else if ( LA233_0 ==157 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 7) ) {s = 8;}
-
-                        else if ( LA233_0 ==158 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 8) ) {s = 9;}
-
-                        else if ( LA233_0 ==159 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 9) ) {s = 10;}
-
-                        else if ( LA233_0 ==160 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 10) ) {s = 11;}
-
-                        else if ( LA233_0 ==161 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 11) ) {s = 12;}
-
-                        else if ( LA233_0 ==162 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 12) ) {s = 13;}
-
-                        else if ( LA233_0 ==163 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 13) ) {s = 14;}
-
-                        else if ( LA233_0 ==164 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 14) ) {s = 15;}
-
-                        else if ( LA233_0 ==165 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 15) ) {s = 16;}
-
-                        else if ( LA233_0 ==166 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 16) ) {s = 17;}
-
-                         
-                        input.seek(index233_0);
-                        if ( s>=0 ) return s;
-                        break;
-            }
-            if (state.backtracking>0) {state.failed=true; return -1;}
-            NoViableAltException nvae =
-                new NoViableAltException(getDescription(), 233, _s, input);
-            error(nvae);
-            throw nvae;
-        }
-    }
-    static final String DFA234_eotS =
-        "\23\uffff";
-    static final String DFA234_eofS =
-        "\1\22\22\uffff";
-    static final String DFA234_minS =
-        "\1\173\22\uffff";
-    static final String DFA234_maxS =
-        "\1\u00a6\22\uffff";
-    static final String DFA234_acceptS =
-        "\1\uffff\21\1\1\2";
-    static final String DFA234_specialS =
-        "\1\0\22\uffff}>";
-    static final String[] DFA234_transitionS = {
-            "\1\22\7\uffff\1\22\16\uffff\1\2\3\uffff\1\1\1\3\1\uffff\1\4"+
-            "\1\5\1\6\1\7\1\10\1\11\1\12\1\13\1\14\1\15\1\16\1\17\1\20\1"+
-            "\21",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            ""
-    };
-
-    static final short[] DFA234_eot = DFA.unpackEncodedString(DFA234_eotS);
-    static final short[] DFA234_eof = DFA.unpackEncodedString(DFA234_eofS);
-    static final char[] DFA234_min = DFA.unpackEncodedStringToUnsignedChars(DFA234_minS);
-    static final char[] DFA234_max = DFA.unpackEncodedStringToUnsignedChars(DFA234_maxS);
-    static final short[] DFA234_accept = DFA.unpackEncodedString(DFA234_acceptS);
-    static final short[] DFA234_special = DFA.unpackEncodedString(DFA234_specialS);
-    static final short[][] DFA234_transition;
-
-    static {
-        int numStates = DFA234_transitionS.length;
-        DFA234_transition = new short[numStates][];
-        for (int i=0; i<numStates; i++) {
-            DFA234_transition[i] = DFA.unpackEncodedString(DFA234_transitionS[i]);
-        }
-    }
-
-    class DFA234 extends DFA {
-
-        public DFA234(BaseRecognizer recognizer) {
-            this.recognizer = recognizer;
-            this.decisionNumber = 234;
-            this.eot = DFA234_eot;
-            this.eof = DFA234_eof;
-            this.min = DFA234_min;
-            this.max = DFA234_max;
-            this.accept = DFA234_accept;
-            this.special = DFA234_special;
-            this.transition = DFA234_transition;
-        }
-        public String getDescription() {
-            return "40006:2: ( rule__Style__UnorderedGroup_4__1 )?";
-        }
-        public int specialStateTransition(int s, IntStream _input) throws NoViableAltException {
-            TokenStream input = (TokenStream)_input;
-        	int _s = s;
-            switch ( s ) {
-                    case 0 : 
-                        int LA234_0 = input.LA(1);
-
-                         
-                        int index234_0 = input.index();
-                        input.rewind();
-                        s = -1;
-                        if ( LA234_0 ==150 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 0) ) {s = 1;}
-
-                        else if ( LA234_0 ==146 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 1) ) {s = 2;}
-
-                        else if ( LA234_0 ==151 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 2) ) {s = 3;}
-
-                        else if ( LA234_0 ==153 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 3) ) {s = 4;}
-
-                        else if ( LA234_0 ==154 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 4) ) {s = 5;}
-
-                        else if ( LA234_0 ==155 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 5) ) {s = 6;}
-
-                        else if ( LA234_0 ==156 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 6) ) {s = 7;}
-
-                        else if ( LA234_0 ==157 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 7) ) {s = 8;}
-
-                        else if ( LA234_0 ==158 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 8) ) {s = 9;}
-
-                        else if ( LA234_0 ==159 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 9) ) {s = 10;}
-
-                        else if ( LA234_0 ==160 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 10) ) {s = 11;}
-
-                        else if ( LA234_0 ==161 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 11) ) {s = 12;}
-
-                        else if ( LA234_0 ==162 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 12) ) {s = 13;}
-
-                        else if ( LA234_0 ==163 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 13) ) {s = 14;}
-
-                        else if ( LA234_0 ==164 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 14) ) {s = 15;}
-
-                        else if ( LA234_0 ==165 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 15) ) {s = 16;}
-
-                        else if ( LA234_0 ==166 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 16) ) {s = 17;}
-
-                        else if ( (LA234_0==EOF||LA234_0==123||LA234_0==131) ) {s = 18;}
-
-                         
-                        input.seek(index234_0);
-                        if ( s>=0 ) return s;
-                        break;
-            }
-            if (state.backtracking>0) {state.failed=true; return -1;}
-            NoViableAltException nvae =
-                new NoViableAltException(getDescription(), 234, _s, input);
-            error(nvae);
-            throw nvae;
-        }
-    }
-    static final String DFA235_eotS =
-        "\23\uffff";
-    static final String DFA235_eofS =
-        "\1\22\22\uffff";
-    static final String DFA235_minS =
-        "\1\173\22\uffff";
-    static final String DFA235_maxS =
-        "\1\u00a6\22\uffff";
-    static final String DFA235_acceptS =
-        "\1\uffff\21\1\1\2";
-    static final String DFA235_specialS =
-        "\1\0\22\uffff}>";
-    static final String[] DFA235_transitionS = {
-            "\1\22\7\uffff\1\22\16\uffff\1\2\3\uffff\1\1\1\3\1\uffff\1\4"+
-            "\1\5\1\6\1\7\1\10\1\11\1\12\1\13\1\14\1\15\1\16\1\17\1\20\1"+
-            "\21",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            ""
-    };
-
-    static final short[] DFA235_eot = DFA.unpackEncodedString(DFA235_eotS);
-    static final short[] DFA235_eof = DFA.unpackEncodedString(DFA235_eofS);
-    static final char[] DFA235_min = DFA.unpackEncodedStringToUnsignedChars(DFA235_minS);
-    static final char[] DFA235_max = DFA.unpackEncodedStringToUnsignedChars(DFA235_maxS);
-    static final short[] DFA235_accept = DFA.unpackEncodedString(DFA235_acceptS);
-    static final short[] DFA235_special = DFA.unpackEncodedString(DFA235_specialS);
-    static final short[][] DFA235_transition;
-
-    static {
-        int numStates = DFA235_transitionS.length;
-        DFA235_transition = new short[numStates][];
-        for (int i=0; i<numStates; i++) {
-            DFA235_transition[i] = DFA.unpackEncodedString(DFA235_transitionS[i]);
-        }
-    }
-
-    class DFA235 extends DFA {
-
-        public DFA235(BaseRecognizer recognizer) {
-            this.recognizer = recognizer;
-            this.decisionNumber = 235;
-            this.eot = DFA235_eot;
-            this.eof = DFA235_eof;
-            this.min = DFA235_min;
-            this.max = DFA235_max;
-            this.accept = DFA235_accept;
-            this.special = DFA235_special;
-            this.transition = DFA235_transition;
-        }
-        public String getDescription() {
-            return "40019:2: ( rule__Style__UnorderedGroup_4__2 )?";
-        }
-        public int specialStateTransition(int s, IntStream _input) throws NoViableAltException {
-            TokenStream input = (TokenStream)_input;
-        	int _s = s;
diff --git a/org.eclipse.osbp.xtext.reportdsl.ui/src/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/ReportDSLProposalProvider.xtend b/org.eclipse.osbp.xtext.reportdsl.ui/src/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/ReportDSLProposalProvider.xtend
index a6dfa3c..72e7bcc 100644
--- a/org.eclipse.osbp.xtext.reportdsl.ui/src/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/ReportDSLProposalProvider.xtend
+++ b/org.eclipse.osbp.xtext.reportdsl.ui/src/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/ReportDSLProposalProvider.xtend
@@ -22,19 +22,31 @@
 import org.eclipse.jface.viewers.StyledString
 import org.eclipse.osbp.xtext.basic.ui.contentassist.BasicDSLProposalProviderHelper
 import org.eclipse.osbp.xtext.datamartdsl.DatamartEntity
+import org.eclipse.osbp.xtext.reportdsl.AutoText
+import org.eclipse.osbp.xtext.reportdsl.BinaryAggregationTypeEnum
 import org.eclipse.osbp.xtext.reportdsl.Color
 import org.eclipse.osbp.xtext.reportdsl.DatamartTable
 import org.eclipse.osbp.xtext.reportdsl.DatamartTableAttribute
+import org.eclipse.osbp.xtext.reportdsl.DatamartTableDetail
+import org.eclipse.osbp.xtext.reportdsl.DatamartTableFooter
 import org.eclipse.osbp.xtext.reportdsl.DatamartTableGroup
+import org.eclipse.osbp.xtext.reportdsl.DatamartTableHeader
 import org.eclipse.osbp.xtext.reportdsl.Image
 import org.eclipse.osbp.xtext.reportdsl.ImageSourceEnum
+import org.eclipse.osbp.xtext.reportdsl.MultipleAggregationTypeEnum
 import org.eclipse.osbp.xtext.reportdsl.PageDetail
 import org.eclipse.osbp.xtext.reportdsl.PageTemplate
+import org.eclipse.osbp.xtext.reportdsl.StringBinder
+import org.eclipse.osbp.xtext.reportdsl.SubSubTitle
+import org.eclipse.osbp.xtext.reportdsl.SubTitle
 import org.eclipse.osbp.xtext.reportdsl.TableAggregation
 import org.eclipse.osbp.xtext.reportdsl.TableAttribute
 import org.eclipse.osbp.xtext.reportdsl.TableBinaryAggregation
 import org.eclipse.osbp.xtext.reportdsl.TableMultipleAggregation
 import org.eclipse.osbp.xtext.reportdsl.TableUnaryAggregation
+import org.eclipse.osbp.xtext.reportdsl.Text
+import org.eclipse.osbp.xtext.reportdsl.Title
+import org.eclipse.osbp.xtext.reportdsl.UnaryAggregationTypeEnum
 import org.eclipse.osbp.xtext.reportdsl.common.ColorUtilities
 import org.eclipse.osbp.xtext.reportdsl.ui.ReportDSLUiDocumentationTranslator
 import org.eclipse.swt.graphics.RGB
@@ -52,9 +64,6 @@
 import org.eclipse.xtext.ui.editor.contentassist.ContentAssistContext
 import org.eclipse.xtext.ui.editor.contentassist.ICompletionProposalAcceptor
 import org.eclipse.xtext.ui.editor.contentassist.ReplacementTextApplier
-import org.eclipse.osbp.xtext.reportdsl.UnaryAggregationTypeEnum
-import org.eclipse.osbp.xtext.reportdsl.MultipleAggregationTypeEnum
-import org.eclipse.osbp.xtext.reportdsl.BinaryAggregationTypeEnum
 
 class ColorTextApplier extends ReplacementTextApplier {
 	var ContentAssistContext context
@@ -122,6 +131,14 @@
 		}
 	}
 	
+//	override createProposals(ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+//		var nullSafe = new NullSafeCompletionProposalAcceptor(acceptor);
+//		var selector = createSelector(context, nullSafe);
+//		for (AbstractElement element : context.getFirstSetGrammarElements()) {
+//			selector.accept(element);
+//		}
+//	}
+	
 	def private boolean allowedKeyword(Keyword keyword, ContentAssistContext contentAssistContext,
 			ICompletionProposalAcceptor acceptor){
 		if (contentAssistContext.isInPageTemplate && keyword.isAPageTemplateNotAllowedTableRule(contentAssistContext, acceptor)){
@@ -130,6 +147,12 @@
 		if (!contentAssistContext.isPageDetail && keyword.isAHeaderFooterNotAllowedTableRule(contentAssistContext, acceptor)){
 			return false
 		}
+		if (contentAssistContext.isTableHeader && keyword.isAHeaderNotAllowedTableRule(contentAssistContext, acceptor)){
+			return false
+		}
+		if (contentAssistContext.isTableGroupHeader && keyword.isAHeaderFooterNotAllowedTableRule(contentAssistContext, acceptor)){
+			return false
+		}
 		return true
 	}
 	
@@ -146,6 +169,23 @@
 		)
 	}
 	
+	def private boolean isAHeaderNotAllowedTableRule(Keyword keyword, ContentAssistContext contentAssistContext,
+			ICompletionProposalAcceptor acceptor){
+		return ((keyword.isDatamartTableRule(contentAssistContext, acceptor))
+			 || (keyword.isDatamartTableAttributeRule(contentAssistContext, acceptor))
+			 || (keyword.isTableAttributeRule(contentAssistContext, acceptor))
+			 || (keyword.isDatamartTableGroupRule(contentAssistContext, acceptor))
+			 || (keyword.isImageAttributeRule(contentAssistContext, acceptor))
+			 || (keyword.isTableAggregationRule(contentAssistContext, acceptor))
+			 || (keyword.isStringBinderRule(contentAssistContext, acceptor))
+			 || (keyword.isTitleBinderRule(contentAssistContext, acceptor))
+			 || (keyword.isSubTitleBinderRule(contentAssistContext, acceptor))
+			 || (keyword.isSubSubTitleBinderRule(contentAssistContext, acceptor))
+			 || (keyword.isTextRule(contentAssistContext, acceptor))
+			 || (keyword.isAutoTextRule(contentAssistContext, acceptor))
+		)
+	}
+		
 	def private boolean isAHeaderFooterNotAllowedTableRule(Keyword keyword, ContentAssistContext contentAssistContext,
 			ICompletionProposalAcceptor acceptor){
 		return ((keyword.isDatamartTableRule(contentAssistContext, acceptor))
@@ -157,12 +197,22 @@
 			 || (keyword.isTableBinaryAggregationRule(contentAssistContext, acceptor))
 		)
 	}
-	
+		
 	def private boolean isDatamartTableRule(Keyword keyword, ContentAssistContext contentAssistContext,
 			ICompletionProposalAcceptor acceptor){
 		return keyword.isFromRuleClass(contentAssistContext, acceptor, DatamartTable)
 	}
 	
+	def private boolean isDatamartTableHeaderRule(Keyword keyword, ContentAssistContext contentAssistContext,
+			ICompletionProposalAcceptor acceptor){
+		return keyword.isFromRuleClass(contentAssistContext, acceptor, DatamartTableHeader)
+	}
+	
+	def private boolean isDatamartTableFooterRule(Keyword keyword, ContentAssistContext contentAssistContext,
+			ICompletionProposalAcceptor acceptor){
+		return keyword.isFromRuleClass(contentAssistContext, acceptor, DatamartTableHeader)
+	}
+	
 	def private boolean isDatamartTableAttributeRule(Keyword keyword, ContentAssistContext contentAssistContext,
 			ICompletionProposalAcceptor acceptor){
 		return keyword.isFromRuleClass(contentAssistContext, acceptor, DatamartTableAttribute)
@@ -178,6 +228,11 @@
 		return keyword.isFromRuleClass(contentAssistContext, acceptor, DatamartTableGroup)
 	}
 	
+	def private boolean isImageAttributeRule(Keyword keyword, ContentAssistContext contentAssistContext,
+			ICompletionProposalAcceptor acceptor){
+		return keyword.isFromRuleClass(contentAssistContext, acceptor, Image)
+	}
+	
 	def private boolean isTableUnaryAggregationRule(Keyword keyword, ContentAssistContext contentAssistContext,
 			ICompletionProposalAcceptor acceptor){
 		return (keyword.isFromRuleClass(contentAssistContext, acceptor, UnaryAggregationTypeEnum) || keyword.isFromRuleClass(contentAssistContext, acceptor, TableUnaryAggregation))
@@ -198,6 +253,36 @@
 		return keyword.isFromRuleClass(contentAssistContext, acceptor, TableAggregation)
 	}
 	
+	def private boolean isStringBinderRule(Keyword keyword, ContentAssistContext contentAssistContext,
+			ICompletionProposalAcceptor acceptor){
+		return keyword.isFromRuleClass(contentAssistContext, acceptor, StringBinder)
+	}
+	
+	def private boolean isTitleBinderRule(Keyword keyword, ContentAssistContext contentAssistContext,
+			ICompletionProposalAcceptor acceptor){
+		return keyword.isFromRuleClass(contentAssistContext, acceptor, Title)
+	}
+	
+	def private boolean isSubTitleBinderRule(Keyword keyword, ContentAssistContext contentAssistContext,
+			ICompletionProposalAcceptor acceptor){
+		return keyword.isFromRuleClass(contentAssistContext, acceptor, SubTitle)
+	}
+	
+	def private boolean isSubSubTitleBinderRule(Keyword keyword, ContentAssistContext contentAssistContext,
+			ICompletionProposalAcceptor acceptor){
+		return keyword.isFromRuleClass(contentAssistContext, acceptor, SubSubTitle)
+	}
+	
+	def private boolean isTextRule(Keyword keyword, ContentAssistContext contentAssistContext,
+			ICompletionProposalAcceptor acceptor){
+		return keyword.isFromRuleClass(contentAssistContext, acceptor, Text)
+	}
+	
+	def private boolean isAutoTextRule(Keyword keyword, ContentAssistContext contentAssistContext,
+			ICompletionProposalAcceptor acceptor){
+		return keyword.isFromRuleClass(contentAssistContext, acceptor, AutoText)
+	}
+	
 	// identifies if the keyword is from a defined rule class
 	def private boolean isFromRuleClass(Keyword keyword, ContentAssistContext contentAssistContext,
 			ICompletionProposalAcceptor acceptor, Class ruleClass){
@@ -246,6 +331,57 @@
 		return false
 	}
 	
+	// identifies if the current model of the content assist context is in a table header container  
+	def private boolean isTableHeader(ContentAssistContext context){
+		var eObj = context.currentModel
+		while ((eObj!==null) && !(eObj instanceof DatamartTableHeader)){
+			eObj = eObj.eContainer
+		}
+		if ((eObj instanceof DatamartTableHeader)){
+			return (eObj.eContainer instanceof DatamartTable)
+		}
+		return false
+	}
+	
+	// identifies if the current model of the content assist context is in a table header in a group container  
+	def private boolean isTableGroupHeader(ContentAssistContext context){
+		var eObj = context.currentModel
+		while ((eObj!==null) && !(eObj instanceof DatamartTableHeader)){
+			eObj = eObj.eContainer
+		}
+		if ((eObj instanceof DatamartTableHeader)){
+			return (eObj.eContainer instanceof DatamartTableGroup)
+		}
+		return false
+	}
+	
+	// identifies if the current model of the content assist context is in a datamart table container  
+	def private boolean isDatamartTable(ContentAssistContext context){
+		var eObj = context.currentModel
+		if ((eObj instanceof DatamartTable)){
+			return true
+		}
+		return false
+	}
+	
+	// identifies if the current model of the content assist context is in a datamart table header container  
+	def private boolean isDatamartTableHeader(ContentAssistContext context){
+		var eObj = context.currentModel
+		if ((eObj instanceof DatamartTableHeader)){
+			return true
+		}
+		return false
+	}
+	
+	// identifies if the current model of the content assist context is in a datamart table footer container  
+	def private boolean isDatamartTableFooter(ContentAssistContext context){
+		var eObj = context.currentModel
+		if ((eObj instanceof DatamartTableFooter)){
+			return true
+		}
+		return false
+	}
+	
 	override void completeColor_Color(EObject model, Assignment assignment, ContentAssistContext context,
 		ICompletionProposalAcceptor acceptor) {
 		var color = createCompletionProposal("Select color...", context) as ConfigurableCompletionProposal
@@ -258,12 +394,12 @@
 	}
 
 	override void completeImage_Filename(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
-		var imageModel = context.currentModel as Image
-		if (imageModel.sourceType != ImageSourceEnum.URL){
-			filePickerProposal(model, assignment, context, acceptor, "*.*")
-		} else {
+//		var imageModel = context.currentModel as Image
+//		if (imageModel.sourceType != ImageSourceEnum.URL){
+//			filePickerProposal(model, assignment, context, acceptor, "*.*")
+//		} else {
 			provider.complete_STRING(model, (assignment.getTerminal() as RuleCall), context, acceptor)
-		}
+//		}
 	}
 
 
@@ -287,6 +423,15 @@
 			return false
 		} else if ("on-group".equals(proposal)){
 			return !context.isInPageTemplate
+		} else if (context?.currentModel instanceof DatamartTableAttribute) {
+			var eObject =  context?.currentModel.eContainer()
+			while (eObject !== null && !(eObject instanceof DatamartTableDetail)){
+				eObject = eObject.eContainer
+			}
+			if (eObject instanceof DatamartTableDetail && (eObject as DatamartTableDetail)?.style !== null){
+				return !proposal.equals((eObject as DatamartTableDetail).style.name)
+			}
+			return true
 		} else {
 
 			//			var currentModel = context.getCurrentModel();
@@ -334,8 +479,6 @@
 		acceptor.accept(fileName)
 	}
 
-	
-
 	//	def isDatamartValidProposal(ContentAssistContext context, String proposal) {
 	//		var eObj = context.currentModel
 	//		while (!(eObj instanceof Datamart)) {
@@ -383,6 +526,10 @@
 		provider.complete_STRING(model, ruleCall, context, acceptor)
 	}
 
+	override public void complete_STRING(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+		provider.complete_STRING(model, ruleCall, context, acceptor)
+	}
+
 	override public void completeTableStringLookup_LookupValue(EObject model, Assignment assignment,
 		ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
 		provider.complete_STRING(model, (assignment.getTerminal() as RuleCall), context, acceptor)
diff --git a/org.eclipse.osbp.xtext.reportdsl.ui/src/org/eclipse/osbp/xtext/reportdsl/ui/labeling/ReportDSLLabelProvider.xtend b/org.eclipse.osbp.xtext.reportdsl.ui/src/org/eclipse/osbp/xtext/reportdsl/ui/labeling/ReportDSLLabelProvider.xtend
index 18f5ae9..fdb6b52 100644
--- a/org.eclipse.osbp.xtext.reportdsl.ui/src/org/eclipse/osbp/xtext/reportdsl/ui/labeling/ReportDSLLabelProvider.xtend
+++ b/org.eclipse.osbp.xtext.reportdsl.ui/src/org/eclipse/osbp/xtext/reportdsl/ui/labeling/ReportDSLLabelProvider.xtend
@@ -33,11 +33,11 @@
 import org.eclipse.osbp.xtext.reportdsl.CurrencyFormat
 import org.eclipse.osbp.xtext.reportdsl.CustomFontFamily
 import org.eclipse.osbp.xtext.reportdsl.DatamartTable
-import org.eclipse.osbp.xtext.reportdsl.DatamartTableDetail
-import org.eclipse.osbp.xtext.reportdsl.DatamartTableGroup
-import org.eclipse.osbp.xtext.reportdsl.DatamartTableGroupFooter
-import org.eclipse.osbp.xtext.reportdsl.DatamartTableGroupHeader
 import org.eclipse.osbp.xtext.reportdsl.DatamartTableAttribute
+import org.eclipse.osbp.xtext.reportdsl.DatamartTableDetail
+import org.eclipse.osbp.xtext.reportdsl.DatamartTableFooter
+import org.eclipse.osbp.xtext.reportdsl.DatamartTableGroup
+import org.eclipse.osbp.xtext.reportdsl.DatamartTableHeader
 import org.eclipse.osbp.xtext.reportdsl.DateFormat
 import org.eclipse.osbp.xtext.reportdsl.DateTimeFormat
 import org.eclipse.osbp.xtext.reportdsl.Font
@@ -67,6 +67,7 @@
 import org.eclipse.osbp.xtext.reportdsl.SubSubTitle
 import org.eclipse.osbp.xtext.reportdsl.SubTitle
 import org.eclipse.osbp.xtext.reportdsl.TableAggregation
+import org.eclipse.osbp.xtext.reportdsl.TableAttribute
 import org.eclipse.osbp.xtext.reportdsl.TableCellColor
 import org.eclipse.osbp.xtext.reportdsl.TableDateDayInterval
 import org.eclipse.osbp.xtext.reportdsl.TableDateDayLookup
@@ -75,7 +76,6 @@
 import org.eclipse.osbp.xtext.reportdsl.TableLookup
 import org.eclipse.osbp.xtext.reportdsl.TableNumberInterval
 import org.eclipse.osbp.xtext.reportdsl.TableNumberLookup
-import org.eclipse.osbp.xtext.reportdsl.TableAttribute
 import org.eclipse.osbp.xtext.reportdsl.TableStringLookup
 import org.eclipse.osbp.xtext.reportdsl.TableTextColor
 import org.eclipse.osbp.xtext.reportdsl.TableTrend
@@ -84,13 +84,13 @@
 import org.eclipse.osbp.xtext.reportdsl.TimeFormat
 import org.eclipse.osbp.xtext.reportdsl.Title
 import org.eclipse.osbp.xtext.reportdsl.UomoFormat
+import org.eclipse.osbp.xtext.reportdsl.common.ColorUtilities
 import org.eclipse.osbp.xtext.reportdsl.common.item.AContainerItem
 import org.eclipse.swt.SWT
 import org.eclipse.swt.graphics.GC
 import org.eclipse.swt.graphics.RGB
 import org.eclipse.swt.graphics.Rectangle
 import org.eclipse.xtext.ui.label.StylerFactory
-import org.eclipse.osbp.xtext.reportdsl.common.ColorUtilities
 
 /**
  * Provides labels for a EObjects.
@@ -306,9 +306,9 @@
 			DatamartDefinition			: generateText( o, 'datamart'           )
 			DatamartTable				: generateText( o, 'datamart'           )
 			DatamartTableGroup			: generateText( o, 'table group'        )
-			DatamartTableGroupHeader	: generateText( o, 'table group header' , o.style.name )
-			DatamartTableGroupFooter	: generateText( o, 'table group footer' , o.style.name )
-			DatamartTableDetail			: generateText( o, 'table detail'       , o.style.name )
+			DatamartTableHeader			: generateText( o, 'header				')
+			DatamartTableFooter			: generateText( o, 'footer				')
+			DatamartTableDetail			: generateText( o, 'table detail'       , o.style?.name )
 			DatamartTableAttribute		: generateText( o, 'table property'     )
 			TableAttribute				: generateText( o, 'property'           , o.valueRef.attributeRef.name )
 			TableAggregation			: generateText( o, 'aggregation'        )
@@ -323,8 +323,8 @@
 			TableNumberLookup			: generateText( o, 'number lookup'      )
 			TableStringLookup			: generateText( o, 'text lookup'        )
 			TableDateDayLookup			: generateText( o, 'day lookup'         )
-			TableTextColor				: generateText( o, 'text color'         , o.color.color )
-			TableCellColor				: generateText( o, 'background color'   , o.color.color )
+			TableTextColor				: generateText( o, 'text color'         , o.color?.color )
+			TableCellColor				: generateText( o, 'background color'   , o.color?.color )
 			TableIcon					: generateText( o, 'icon'               , o.icon )
 			TableTrend					: generateText( o, 'trend icon'         )
 			Grid						: generateText( o, 'grid'               )
@@ -369,8 +369,8 @@
 			DatamartDefinition			: getInternalImage( 'dsl_datamart.png'           , class )
 			DatamartTable				: getInternalImage( 'dsl_datamart.png'           , class )
 			DatamartTableGroup			: getInternalImage( 'group.gif'                  , class )
-			DatamartTableGroupHeader	: getInternalImage( 'group_header.gif'           , class )
-			DatamartTableGroupFooter	: getInternalImage( 'group_footer.gif'           , class )
+			DatamartTableHeader			: getInternalImage( 'group_header.gif'           , class )
+			DatamartTableFooter			: getInternalImage( 'group_footer.gif'           , class )
 			DatamartTableDetail			: getInternalImage( 'detail-area.gif'            , class )
 			DatamartTableAttribute		: getInternalImage( 'properties.png'             , class )
 			TableAttribute				: getInternalImage( 'properties.png'             , class )
diff --git a/org.eclipse.osbp.xtext.reportdsl.ui/templates/templates.xml b/org.eclipse.osbp.xtext.reportdsl.ui/templates/templates.xml
index 5d09fe7..4f83397 100644
--- a/org.eclipse.osbp.xtext.reportdsl.ui/templates/templates.xml
+++ b/org.eclipse.osbp.xtext.reportdsl.ui/templates/templates.xml
@@ -1,23 +1,121 @@
 <?xml version="1.0" encoding="UTF-8" standalone="no"?><templates>
-<template id="de.osbp.xtext.reportdsl.ReportDSL.CCReport.1" autoinsert="true" context="de.osbp.xtext.reportdsl.ReportDSL.CCReport" deleted="false" description="generate report for a datamart with all available properties" enabled="true" name="complete report for datamart">
-    report AutoReport${source} describedBy "${source}" {&#13;
-        datamart ${source}&#13;
-        rendering html&#13;
-        pagetemplate A4_Portrait&#13;
-        media small&#13;
-        template {&#13;
-            header {&#13;
-                showOnFirst&#13;
-                height 10 mm&#13;
-                label "${source} Report"&#13;
-            }&#13;
-            detail {&#13;
-                table style bootstrap {&#13;
-                    detailheader style grouping_1_header&#13;
-                    details style defaultrow all&#13;
-                }&#13;
-            }&#13;
-        }&#13;
-    }&#13;
-</template>
-</templates>
\ No newline at end of file
+<template id="org.eclipse.osbp.xtext.reportdsl.ReportDSL.Report.1" autoinsert="true" context="org.eclipse.osbp.xtext.reportdsl.ReportDSL.Report" deleted="false" description="" enabled="true" name="reportTemplate1">	report Template1Report describedBy "" {&#13;
+		datamart ${source} /* define datamart */ rendering pdf pagetemplate A4_Landscape media big template {&#13;
+			header {&#13;
+				showOnFirst height 15 grid {&#13;
+					row height 15 {&#13;
+						cell style page_header_template {&#13;
+							label "Heading"&#13;
+						}&#13;
+						cell style rightAlignment {&#13;
+							/* attribute imageAttribute -- an defined image in the used datamart*/&#13;
+							/* image height 11 mm width 35 mm embed "-localpath to image-.png" -- or an embed image from a local path */&#13;
+						}&#13;
+					}&#13;
+				}&#13;
+			}&#13;
+			detail {&#13;
+				grid style param_grid {&#13;
+					row {&#13;
+						cell style param_grid_cell {&#13;
+							stringBinder( translatable "Text" /* define translatable text */ attribute ${source} /* define attribute */)&#13;
+						}&#13;
+					}&#13;
+				}&#13;
+				table style table_style {&#13;
+					header /* define table header cells if needed*/&#13;
+					group NewTableGroup1 by ${source} /* define the group attribute */&#13;
+					pageBreak( before auto after auto inside auto ) {&#13;
+						header style table_group_header_cell {&#13;
+							row {&#13;
+								cell columnspan 2 {&#13;
+									/* define attribute */&#13;
+									attribute ${source}&#13;
+								}&#13;
+								/* define other cells as required. As for example this&#13;
+								cell columnspan 7 {&#13;
+									stringBinder( attribute fullname nontranslatable "  -  " translatable "plz" attribute postal_code nontranslatable "  -  " translatable "city" attribute city nontranslatable "  -  " translatable "address" attribute address1 nontranslatable "  -  " translatable "country" attribute country )&#13;
+								}*/&#13;
+							}&#13;
+						}&#13;
+						/* define a footer as required. As for example this&#13;
+						footer {&#13;
+							row style table_group_footer_cell {&#13;
+								cell columnspan 7 {&#13;
+								}&#13;
+								cell {&#13;
+									label "saldo"&#13;
+									label "limit"&#13;
+								}&#13;
+								cell {&#13;
+									aggregate sum amount&#13;
+									attribute payamnt&#13;
+								}&#13;
+							}&#13;
+						}*/&#13;
+					}&#13;
+					details all&#13;
+					/* If you need a more detailed table detail definition look at this&#13;
+					details style table_detail_cell_no_padding {&#13;
+						attribute sku style table_detail_cell_right width 30&#13;
+						attribute serial style table_detail_cell_right width 25&#13;
+						attribute product_name style table_detail_cell width 50&#13;
+						attribute now style table_detail_cell_center&#13;
+						attribute price style table_detail_cell&#13;
+						attribute quantity style table_detail_cell&#13;
+						attribute amount style table_detail_cell&#13;
+						attribute payamnt style table_detail_cell&#13;
+						attribute total style table_detail_cell&#13;
+					}*/&#13;
+				}&#13;
+			}&#13;
+			footer {&#13;
+				showOnLast height 15 grid style page_footer {&#13;
+					row {&#13;
+						cell width 17.78 /* = 0.7in */ {&#13;
+							label "printdate"&#13;
+						}&#13;
+						cell width 17.78 /* = 0.7in */ {&#13;
+							autotext actual-date&#13;
+						}&#13;
+						cell style centerMiddleAlignment {&#13;
+							autotext report-name&#13;
+						}&#13;
+						cell width 17.78 /* = 0.7in */ {&#13;
+							stringBinder( translatable "creator" nontranslatable "compex" )&#13;
+						}&#13;
+					}&#13;
+					row {&#13;
+						cell width 17.78 /* = 0.7in */ {&#13;
+							label "time"&#13;
+						}&#13;
+						cell width 17.78 /* = 0.7in */ {&#13;
+							autotext actual-time&#13;
+						}&#13;
+						cell {&#13;
+							label ""&#13;
+						}&#13;
+						cell width 30 {&#13;
+							grid {&#13;
+								row {&#13;
+									cell {&#13;
+										label "page"&#13;
+									}&#13;
+									cell {&#13;
+										autotext page-number&#13;
+									}&#13;
+									cell {&#13;
+										nontranslatable "/"&#13;
+									}&#13;
+									cell {&#13;
+										autotext total-page&#13;
+									}&#13;
+								}&#13;
+							}&#13;
+						}&#13;
+					}&#13;
+				}&#13;
+			}&#13;
+		}&#13;
+	}&#13;
+</template></templates>
\ No newline at end of file
diff --git a/org.eclipse.osbp.xtext.reportdsl.ui/xtend-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/ReportDSLProposalProvider.java b/org.eclipse.osbp.xtext.reportdsl.ui/xtend-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/ReportDSLProposalProvider.java
index f0720ff..bdd578b 100644
--- a/org.eclipse.osbp.xtext.reportdsl.ui/xtend-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/ReportDSLProposalProvider.java
+++ b/org.eclipse.osbp.xtext.reportdsl.ui/xtend-gen/org/eclipse/osbp/xtext/reportdsl/ui/contentassist/ReportDSLProposalProvider.java
@@ -14,7 +14,6 @@
  */
 package org.eclipse.osbp.xtext.reportdsl.ui.contentassist;
 
-import com.google.common.base.Objects;
 import com.google.inject.Inject;
 import org.eclipse.emf.common.util.EList;
 import org.eclipse.emf.ecore.EClassifier;
@@ -25,20 +24,29 @@
 import org.eclipse.osbp.xtext.datamartdsl.DatamartAttribute;
 import org.eclipse.osbp.xtext.datamartdsl.DatamartEntity;
 import org.eclipse.osbp.xtext.datamartdsl.DatamartNavigation;
+import org.eclipse.osbp.xtext.reportdsl.AutoText;
 import org.eclipse.osbp.xtext.reportdsl.BinaryAggregationTypeEnum;
 import org.eclipse.osbp.xtext.reportdsl.DatamartTable;
 import org.eclipse.osbp.xtext.reportdsl.DatamartTableAttribute;
+import org.eclipse.osbp.xtext.reportdsl.DatamartTableDetail;
+import org.eclipse.osbp.xtext.reportdsl.DatamartTableFooter;
 import org.eclipse.osbp.xtext.reportdsl.DatamartTableGroup;
+import org.eclipse.osbp.xtext.reportdsl.DatamartTableHeader;
 import org.eclipse.osbp.xtext.reportdsl.Image;
-import org.eclipse.osbp.xtext.reportdsl.ImageSourceEnum;
 import org.eclipse.osbp.xtext.reportdsl.MultipleAggregationTypeEnum;
 import org.eclipse.osbp.xtext.reportdsl.PageDetail;
 import org.eclipse.osbp.xtext.reportdsl.PageTemplate;
+import org.eclipse.osbp.xtext.reportdsl.StringBinder;
+import org.eclipse.osbp.xtext.reportdsl.Style;
+import org.eclipse.osbp.xtext.reportdsl.SubSubTitle;
+import org.eclipse.osbp.xtext.reportdsl.SubTitle;
 import org.eclipse.osbp.xtext.reportdsl.TableAggregation;
 import org.eclipse.osbp.xtext.reportdsl.TableAttribute;
 import org.eclipse.osbp.xtext.reportdsl.TableBinaryAggregation;
 import org.eclipse.osbp.xtext.reportdsl.TableMultipleAggregation;
 import org.eclipse.osbp.xtext.reportdsl.TableUnaryAggregation;
+import org.eclipse.osbp.xtext.reportdsl.Text;
+import org.eclipse.osbp.xtext.reportdsl.Title;
 import org.eclipse.osbp.xtext.reportdsl.UnaryAggregationTypeEnum;
 import org.eclipse.osbp.xtext.reportdsl.ui.ReportDSLUiDocumentationTranslator;
 import org.eclipse.osbp.xtext.reportdsl.ui.contentassist.AbstractReportDSLProposalProvider;
@@ -82,6 +90,12 @@
     if (((!this.isPageDetail(contentAssistContext)) && this.isAHeaderFooterNotAllowedTableRule(keyword, contentAssistContext, acceptor))) {
       return false;
     }
+    if ((this.isTableHeader(contentAssistContext) && this.isAHeaderNotAllowedTableRule(keyword, contentAssistContext, acceptor))) {
+      return false;
+    }
+    if ((this.isTableGroupHeader(contentAssistContext) && this.isAHeaderFooterNotAllowedTableRule(keyword, contentAssistContext, acceptor))) {
+      return false;
+    }
     return true;
   }
   
@@ -89,6 +103,10 @@
     return (((((((this.isDatamartTableRule(keyword, contentAssistContext, acceptor) || this.isDatamartTableAttributeRule(keyword, contentAssistContext, acceptor)) || this.isTableAttributeRule(keyword, contentAssistContext, acceptor)) || this.isDatamartTableGroupRule(keyword, contentAssistContext, acceptor)) || this.isTableAggregationRule(keyword, contentAssistContext, acceptor)) || this.isTableUnaryAggregationRule(keyword, contentAssistContext, acceptor)) || this.isTableMultipleAggregationRule(keyword, contentAssistContext, acceptor)) || this.isTableBinaryAggregationRule(keyword, contentAssistContext, acceptor));
   }
   
+  private boolean isAHeaderNotAllowedTableRule(final Keyword keyword, final ContentAssistContext contentAssistContext, final ICompletionProposalAcceptor acceptor) {
+    return (((((((((((this.isDatamartTableRule(keyword, contentAssistContext, acceptor) || this.isDatamartTableAttributeRule(keyword, contentAssistContext, acceptor)) || this.isTableAttributeRule(keyword, contentAssistContext, acceptor)) || this.isDatamartTableGroupRule(keyword, contentAssistContext, acceptor)) || this.isImageAttributeRule(keyword, contentAssistContext, acceptor)) || this.isTableAggregationRule(keyword, contentAssistContext, acceptor)) || this.isStringBinderRule(keyword, contentAssistContext, acceptor)) || this.isTitleBinderRule(keyword, contentAssistContext, acceptor)) || this.isSubTitleBinderRule(keyword, contentAssistContext, acceptor)) || this.isSubSubTitleBinderRule(keyword, contentAssistContext, acceptor)) || this.isTextRule(keyword, contentAssistContext, acceptor)) || this.isAutoTextRule(keyword, contentAssistContext, acceptor));
+  }
+  
   private boolean isAHeaderFooterNotAllowedTableRule(final Keyword keyword, final ContentAssistContext contentAssistContext, final ICompletionProposalAcceptor acceptor) {
     return (((((this.isDatamartTableRule(keyword, contentAssistContext, acceptor) || this.isDatamartTableAttributeRule(keyword, contentAssistContext, acceptor)) || this.isDatamartTableGroupRule(keyword, contentAssistContext, acceptor)) || this.isTableUnaryAggregationRule(keyword, contentAssistContext, acceptor)) || this.isTableMultipleAggregationRule(keyword, contentAssistContext, acceptor)) || this.isTableBinaryAggregationRule(keyword, contentAssistContext, acceptor));
   }
@@ -97,6 +115,14 @@
     return this.isFromRuleClass(keyword, contentAssistContext, acceptor, DatamartTable.class);
   }
   
+  private boolean isDatamartTableHeaderRule(final Keyword keyword, final ContentAssistContext contentAssistContext, final ICompletionProposalAcceptor acceptor) {
+    return this.isFromRuleClass(keyword, contentAssistContext, acceptor, DatamartTableHeader.class);
+  }
+  
+  private boolean isDatamartTableFooterRule(final Keyword keyword, final ContentAssistContext contentAssistContext, final ICompletionProposalAcceptor acceptor) {
+    return this.isFromRuleClass(keyword, contentAssistContext, acceptor, DatamartTableHeader.class);
+  }
+  
   private boolean isDatamartTableAttributeRule(final Keyword keyword, final ContentAssistContext contentAssistContext, final ICompletionProposalAcceptor acceptor) {
     return this.isFromRuleClass(keyword, contentAssistContext, acceptor, DatamartTableAttribute.class);
   }
@@ -109,6 +135,10 @@
     return this.isFromRuleClass(keyword, contentAssistContext, acceptor, DatamartTableGroup.class);
   }
   
+  private boolean isImageAttributeRule(final Keyword keyword, final ContentAssistContext contentAssistContext, final ICompletionProposalAcceptor acceptor) {
+    return this.isFromRuleClass(keyword, contentAssistContext, acceptor, Image.class);
+  }
+  
   private boolean isTableUnaryAggregationRule(final Keyword keyword, final ContentAssistContext contentAssistContext, final ICompletionProposalAcceptor acceptor) {
     return (this.isFromRuleClass(keyword, contentAssistContext, acceptor, UnaryAggregationTypeEnum.class) || this.isFromRuleClass(keyword, contentAssistContext, acceptor, TableUnaryAggregation.class));
   }
@@ -125,6 +155,30 @@
     return this.isFromRuleClass(keyword, contentAssistContext, acceptor, TableAggregation.class);
   }
   
+  private boolean isStringBinderRule(final Keyword keyword, final ContentAssistContext contentAssistContext, final ICompletionProposalAcceptor acceptor) {
+    return this.isFromRuleClass(keyword, contentAssistContext, acceptor, StringBinder.class);
+  }
+  
+  private boolean isTitleBinderRule(final Keyword keyword, final ContentAssistContext contentAssistContext, final ICompletionProposalAcceptor acceptor) {
+    return this.isFromRuleClass(keyword, contentAssistContext, acceptor, Title.class);
+  }
+  
+  private boolean isSubTitleBinderRule(final Keyword keyword, final ContentAssistContext contentAssistContext, final ICompletionProposalAcceptor acceptor) {
+    return this.isFromRuleClass(keyword, contentAssistContext, acceptor, SubTitle.class);
+  }
+  
+  private boolean isSubSubTitleBinderRule(final Keyword keyword, final ContentAssistContext contentAssistContext, final ICompletionProposalAcceptor acceptor) {
+    return this.isFromRuleClass(keyword, contentAssistContext, acceptor, SubSubTitle.class);
+  }
+  
+  private boolean isTextRule(final Keyword keyword, final ContentAssistContext contentAssistContext, final ICompletionProposalAcceptor acceptor) {
+    return this.isFromRuleClass(keyword, contentAssistContext, acceptor, Text.class);
+  }
+  
+  private boolean isAutoTextRule(final Keyword keyword, final ContentAssistContext contentAssistContext, final ICompletionProposalAcceptor acceptor) {
+    return this.isFromRuleClass(keyword, contentAssistContext, acceptor, AutoText.class);
+  }
+  
   private boolean isFromRuleClass(final Keyword keyword, final ContentAssistContext contentAssistContext, final ICompletionProposalAcceptor acceptor, final Class ruleClass) {
     if ((keyword instanceof Keyword)) {
       String ruleClassName = ruleClass.getCanonicalName();
@@ -171,6 +225,54 @@
     return false;
   }
   
+  private boolean isTableHeader(final ContentAssistContext context) {
+    EObject eObj = context.getCurrentModel();
+    while (((eObj != null) && (!(eObj instanceof DatamartTableHeader)))) {
+      eObj = eObj.eContainer();
+    }
+    if ((eObj instanceof DatamartTableHeader)) {
+      EObject _eContainer = ((DatamartTableHeader)eObj).eContainer();
+      return (_eContainer instanceof DatamartTable);
+    }
+    return false;
+  }
+  
+  private boolean isTableGroupHeader(final ContentAssistContext context) {
+    EObject eObj = context.getCurrentModel();
+    while (((eObj != null) && (!(eObj instanceof DatamartTableHeader)))) {
+      eObj = eObj.eContainer();
+    }
+    if ((eObj instanceof DatamartTableHeader)) {
+      EObject _eContainer = ((DatamartTableHeader)eObj).eContainer();
+      return (_eContainer instanceof DatamartTableGroup);
+    }
+    return false;
+  }
+  
+  private boolean isDatamartTable(final ContentAssistContext context) {
+    EObject eObj = context.getCurrentModel();
+    if ((eObj instanceof DatamartTable)) {
+      return true;
+    }
+    return false;
+  }
+  
+  private boolean isDatamartTableHeader(final ContentAssistContext context) {
+    EObject eObj = context.getCurrentModel();
+    if ((eObj instanceof DatamartTableHeader)) {
+      return true;
+    }
+    return false;
+  }
+  
+  private boolean isDatamartTableFooter(final ContentAssistContext context) {
+    EObject eObj = context.getCurrentModel();
+    if ((eObj instanceof DatamartTableFooter)) {
+      return true;
+    }
+    return false;
+  }
+  
   @Override
   public void completeColor_Color(final EObject model, final Assignment assignment, final ContentAssistContext context, final ICompletionProposalAcceptor acceptor) {
     ICompletionProposal _createCompletionProposal = this.createCompletionProposal("Select color...", context);
@@ -185,16 +287,8 @@
   
   @Override
   public void completeImage_Filename(final EObject model, final Assignment assignment, final ContentAssistContext context, final ICompletionProposalAcceptor acceptor) {
-    EObject _currentModel = context.getCurrentModel();
-    Image imageModel = ((Image) _currentModel);
-    ImageSourceEnum _sourceType = imageModel.getSourceType();
-    boolean _notEquals = (!Objects.equal(_sourceType, ImageSourceEnum.URL));
-    if (_notEquals) {
-      this.filePickerProposal(model, assignment, context, acceptor, "*.*");
-    } else {
-      AbstractElement _terminal = assignment.getTerminal();
-      this.provider.complete_STRING(model, ((RuleCall) _terminal), context, acceptor);
-    }
+    AbstractElement _terminal = assignment.getTerminal();
+    this.provider.complete_STRING(model, ((RuleCall) _terminal), context, acceptor);
   }
   
   /**
@@ -225,7 +319,38 @@
         boolean _isInPageTemplate = this.isInPageTemplate(context);
         return (!_isInPageTemplate);
       } else {
-        return true;
+        EObject _currentModel = null;
+        if (context!=null) {
+          _currentModel=context.getCurrentModel();
+        }
+        if ((_currentModel instanceof DatamartTableAttribute)) {
+          EObject _currentModel_1 = null;
+          if (context!=null) {
+            _currentModel_1=context.getCurrentModel();
+          }
+          EObject eObject = _currentModel_1.eContainer();
+          while (((eObject != null) && (!(eObject instanceof DatamartTableDetail)))) {
+            eObject = eObject.eContainer();
+          }
+          boolean _and = false;
+          if (!(eObject instanceof DatamartTableDetail)) {
+            _and = false;
+          } else {
+            Style _style = null;
+            if (((DatamartTableDetail) eObject)!=null) {
+              _style=((DatamartTableDetail) eObject).getStyle();
+            }
+            boolean _tripleNotEquals = (_style != null);
+            _and = _tripleNotEquals;
+          }
+          if (_and) {
+            boolean _equals_1 = proposal.equals(((DatamartTableDetail) eObject).getStyle().getName());
+            return (!_equals_1);
+          }
+          return true;
+        } else {
+          return true;
+        }
       }
     }
   }
@@ -298,6 +423,11 @@
   }
   
   @Override
+  public void complete_STRING(final EObject model, final RuleCall ruleCall, final ContentAssistContext context, final ICompletionProposalAcceptor acceptor) {
+    this.provider.complete_STRING(model, ruleCall, context, acceptor);
+  }
+  
+  @Override
   public void completeTableStringLookup_LookupValue(final EObject model, final Assignment assignment, final ContentAssistContext context, final ICompletionProposalAcceptor acceptor) {
     AbstractElement _terminal = assignment.getTerminal();
     this.provider.complete_STRING(model, ((RuleCall) _terminal), context, acceptor);
diff --git a/org.eclipse.osbp.xtext.reportdsl.ui/xtend-gen/org/eclipse/osbp/xtext/reportdsl/ui/labeling/ReportDSLLabelProvider.java b/org.eclipse.osbp.xtext.reportdsl.ui/xtend-gen/org/eclipse/osbp/xtext/reportdsl/ui/labeling/ReportDSLLabelProvider.java
index b923cde..033bccd 100644
--- a/org.eclipse.osbp.xtext.reportdsl.ui/xtend-gen/org/eclipse/osbp/xtext/reportdsl/ui/labeling/ReportDSLLabelProvider.java
+++ b/org.eclipse.osbp.xtext.reportdsl.ui/xtend-gen/org/eclipse/osbp/xtext/reportdsl/ui/labeling/ReportDSLLabelProvider.java
@@ -33,9 +33,9 @@
 import org.eclipse.osbp.xtext.reportdsl.DatamartTable;
 import org.eclipse.osbp.xtext.reportdsl.DatamartTableAttribute;
 import org.eclipse.osbp.xtext.reportdsl.DatamartTableDetail;
+import org.eclipse.osbp.xtext.reportdsl.DatamartTableFooter;
 import org.eclipse.osbp.xtext.reportdsl.DatamartTableGroup;
-import org.eclipse.osbp.xtext.reportdsl.DatamartTableGroupFooter;
-import org.eclipse.osbp.xtext.reportdsl.DatamartTableGroupHeader;
+import org.eclipse.osbp.xtext.reportdsl.DatamartTableHeader;
 import org.eclipse.osbp.xtext.reportdsl.DateFormat;
 import org.eclipse.osbp.xtext.reportdsl.DateTimeFormat;
 import org.eclipse.osbp.xtext.reportdsl.FontFamily;
@@ -489,21 +489,26 @@
       }
     }
     if (!_matched) {
-      if (o instanceof DatamartTableGroupHeader) {
+      if (o instanceof DatamartTableHeader) {
         _matched=true;
-        _switchResult = this.generateText(o, "table group header", ((DatamartTableGroupHeader)o).getStyle().getName());
+        _switchResult = this.generateText(o, "header\t\t\t\t");
       }
     }
     if (!_matched) {
-      if (o instanceof DatamartTableGroupFooter) {
+      if (o instanceof DatamartTableFooter) {
         _matched=true;
-        _switchResult = this.generateText(o, "table group footer", ((DatamartTableGroupFooter)o).getStyle().getName());
+        _switchResult = this.generateText(o, "footer\t\t\t\t");
       }
     }
     if (!_matched) {
       if (o instanceof DatamartTableDetail) {
         _matched=true;
-        _switchResult = this.generateText(o, "table detail", ((DatamartTableDetail)o).getStyle().getName());
+        Style _style = ((DatamartTableDetail)o).getStyle();
+        String _name = null;
+        if (_style!=null) {
+          _name=_style.getName();
+        }
+        _switchResult = this.generateText(o, "table detail", _name);
       }
     }
     if (!_matched) {
@@ -593,13 +598,23 @@
     if (!_matched) {
       if (o instanceof TableTextColor) {
         _matched=true;
-        _switchResult = this.generateText(o, "text color", ((TableTextColor)o).getColor().getColor());
+        org.eclipse.osbp.xtext.reportdsl.Color _color = ((TableTextColor)o).getColor();
+        String _color_1 = null;
+        if (_color!=null) {
+          _color_1=_color.getColor();
+        }
+        _switchResult = this.generateText(o, "text color", _color_1);
       }
     }
     if (!_matched) {
       if (o instanceof TableCellColor) {
         _matched=true;
-        _switchResult = this.generateText(o, "background color", ((TableCellColor)o).getColor().getColor());
+        org.eclipse.osbp.xtext.reportdsl.Color _color = ((TableCellColor)o).getColor();
+        String _color_1 = null;
+        if (_color!=null) {
+          _color_1=_color.getColor();
+        }
+        _switchResult = this.generateText(o, "background color", _color_1);
       }
     }
     if (!_matched) {
@@ -831,13 +846,13 @@
       }
     }
     if (!_matched) {
-      if (o instanceof DatamartTableGroupHeader) {
+      if (o instanceof DatamartTableHeader) {
         _matched=true;
         _switchResult = this.getInternalImage("group_header.gif", this.getClass());
       }
     }
     if (!_matched) {
-      if (o instanceof DatamartTableGroupFooter) {
+      if (o instanceof DatamartTableFooter) {
         _matched=true;
         _switchResult = this.getInternalImage("group_footer.gif", this.getClass());
       }
diff --git a/org.eclipse.osbp.xtext.reportdsl/build.properties b/org.eclipse.osbp.xtext.reportdsl/build.properties
index c7bdd18..9661b97 100644
--- a/org.eclipse.osbp.xtext.reportdsl/build.properties
+++ b/org.eclipse.osbp.xtext.reportdsl/build.properties
@@ -2,7 +2,11 @@
            src-gen/,\
            xtend-gen/,\
            emf-gen/
-bin.includes = about.properties,  about.mappings,  about.ini,  about.html,  model/,\
+bin.includes = about.properties,\
+               about.mappings,\
+               about.ini,\
+               about.html,\
+               model/,\
                META-INF/,\
                .,\
                plugin.xml,\
@@ -12,7 +16,13 @@
                .settings/,\
                license.html,\
                LICENSE.txt,\
-               epl-v10.html
-src.includes = about.properties,  about.mappings,  about.ini,  about.html,  license.html,\
+               epl-v10.html,\
+               resources/
+src.includes = about.properties,\
+               about.mappings,\
+               about.ini,\
+               about.html,\
+               license.html,\
                LICENSE.txt,\
-               epl-v10.html			   
+               epl-v10.html,\
+               resources/
diff --git a/org.eclipse.osbp.xtext.reportdsl/emf-gen/org/eclipse/osbp/xtext/reportdsl/AutoTextEnum.java b/org.eclipse.osbp.xtext.reportdsl/emf-gen/org/eclipse/osbp/xtext/reportdsl/AutoTextEnum.java
index 2050498..ee76639 100644
--- a/org.eclipse.osbp.xtext.reportdsl/emf-gen/org/eclipse/osbp/xtext/reportdsl/AutoTextEnum.java
+++ b/org.eclipse.osbp.xtext.reportdsl/emf-gen/org/eclipse/osbp/xtext/reportdsl/AutoTextEnum.java
@@ -77,7 +77,37 @@
 	 * @generated
 	 * @ordered
 	 */
-	PAGE_VARIABLE(0, "PAGE_VARIABLE", "page-variable");
+	PAGE_VARIABLE(0, "PAGE_VARIABLE", "page-variable"),
+
+	/**
+	 * The '<em><b>ACTUAL DATE</b></em>' literal object.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #ACTUAL_DATE_VALUE
+	 * @generated
+	 * @ordered
+	 */
+	ACTUAL_DATE(0, "ACTUAL_DATE", "actual-date"),
+
+	/**
+	 * The '<em><b>ACTUAL TIME</b></em>' literal object.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #ACTUAL_TIME_VALUE
+	 * @generated
+	 * @ordered
+	 */
+	ACTUAL_TIME(0, "ACTUAL_TIME", "actual-time"),
+
+	/**
+	 * The '<em><b>REPORT NAME</b></em>' literal object.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #REPORT_NAME_VALUE
+	 * @generated
+	 * @ordered
+	 */
+	REPORT_NAME(0, "REPORT_NAME", "report-name");
 
 	/**
 	 * The '<em><b>PAGE NUMBER</b></em>' literal value.
@@ -155,6 +185,51 @@
 	public static final int PAGE_VARIABLE_VALUE = 0;
 
 	/**
+	 * The '<em><b>ACTUAL DATE</b></em>' literal value.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of '<em><b>ACTUAL DATE</b></em>' literal object isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @see #ACTUAL_DATE
+	 * @model literal="actual-date"
+	 * @generated
+	 * @ordered
+	 */
+	public static final int ACTUAL_DATE_VALUE = 0;
+
+	/**
+	 * The '<em><b>ACTUAL TIME</b></em>' literal value.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of '<em><b>ACTUAL TIME</b></em>' literal object isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @see #ACTUAL_TIME
+	 * @model literal="actual-time"
+	 * @generated
+	 * @ordered
+	 */
+	public static final int ACTUAL_TIME_VALUE = 0;
+
+	/**
+	 * The '<em><b>REPORT NAME</b></em>' literal value.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of '<em><b>REPORT NAME</b></em>' literal object isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @see #REPORT_NAME
+	 * @model literal="report-name"
+	 * @generated
+	 * @ordered
+	 */
+	public static final int REPORT_NAME_VALUE = 0;
+
+	/**
 	 * An array of all the '<em><b>Auto Text Enum</b></em>' enumerators.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -167,6 +242,9 @@
 			PAGE_NUMBER_UNFILTERED,
 			TOTAL_PAGE_UNFILTERED,
 			PAGE_VARIABLE,
+			ACTUAL_DATE,
+			ACTUAL_TIME,
+			REPORT_NAME,
 		};
 
 	/**
diff --git a/org.eclipse.osbp.xtext.reportdsl/emf-gen/org/eclipse/osbp/xtext/reportdsl/BaseStyle.java b/org.eclipse.osbp.xtext.reportdsl/emf-gen/org/eclipse/osbp/xtext/reportdsl/BaseStyle.java
index 313ff5c..1f93357 100644
--- a/org.eclipse.osbp.xtext.reportdsl/emf-gen/org/eclipse/osbp/xtext/reportdsl/BaseStyle.java
+++ b/org.eclipse.osbp.xtext.reportdsl/emf-gen/org/eclipse/osbp/xtext/reportdsl/BaseStyle.java
@@ -29,6 +29,7 @@
  *   <li>{@link org.eclipse.osbp.xtext.reportdsl.BaseStyle#getBackgroundcolor_alternate <em>Backgroundcolor alternate</em>}</li>
  *   <li>{@link org.eclipse.osbp.xtext.reportdsl.BaseStyle#getTextcolor <em>Textcolor</em>}</li>
  *   <li>{@link org.eclipse.osbp.xtext.reportdsl.BaseStyle#getTextalign <em>Textalign</em>}</li>
+ *   <li>{@link org.eclipse.osbp.xtext.reportdsl.BaseStyle#getVerticalalign <em>Verticalalign</em>}</li>
  *   <li>{@link org.eclipse.osbp.xtext.reportdsl.BaseStyle#getBorderTop <em>Border Top</em>}</li>
  *   <li>{@link org.eclipse.osbp.xtext.reportdsl.BaseStyle#getBorderBottom <em>Border Bottom</em>}</li>
  *   <li>{@link org.eclipse.osbp.xtext.reportdsl.BaseStyle#getBorderLeft <em>Border Left</em>}</li>
@@ -208,6 +209,35 @@
 	void setTextalign(TextAlignEnum value);
 
 	/**
+	 * Returns the value of the '<em><b>Verticalalign</b></em>' attribute.
+	 * The literals are from the enumeration {@link org.eclipse.osbp.xtext.reportdsl.VerticalTextAlignEnum}.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Verticalalign</em>' attribute isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Verticalalign</em>' attribute.
+	 * @see org.eclipse.osbp.xtext.reportdsl.VerticalTextAlignEnum
+	 * @see #setVerticalalign(VerticalTextAlignEnum)
+	 * @see org.eclipse.osbp.xtext.reportdsl.ReportDSLPackage#getBaseStyle_Verticalalign()
+	 * @model unique="false"
+	 * @generated
+	 */
+	VerticalTextAlignEnum getVerticalalign();
+
+	/**
+	 * Sets the value of the '{@link org.eclipse.osbp.xtext.reportdsl.BaseStyle#getVerticalalign <em>Verticalalign</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Verticalalign</em>' attribute.
+	 * @see org.eclipse.osbp.xtext.reportdsl.VerticalTextAlignEnum
+	 * @see #getVerticalalign()
+	 * @generated
+	 */
+	void setVerticalalign(VerticalTextAlignEnum value);
+
+	/**
 	 * Returns the value of the '<em><b>Border Top</b></em>' containment reference.
 	 * <!-- begin-user-doc -->
 	 * <p>
diff --git a/org.eclipse.osbp.xtext.reportdsl/emf-gen/org/eclipse/osbp/xtext/reportdsl/DatamartContainer.java b/org.eclipse.osbp.xtext.reportdsl/emf-gen/org/eclipse/osbp/xtext/reportdsl/DatamartContainer.java
new file mode 100644
index 0000000..5f7b795
--- /dev/null
+++ b/org.eclipse.osbp.xtext.reportdsl/emf-gen/org/eclipse/osbp/xtext/reportdsl/DatamartContainer.java
@@ -0,0 +1,63 @@
+/**
+ * Copyright (c) 2011, 2016 - Loetz GmbH&Co.KG (69115 Heidelberg, Germany)
+ *  All rights reserved. This program and the accompanying materials 
+ *  are made available under the terms of the Eclipse Public License v1.0 
+ *  which accompanies this distribution, and is available at 
+ *  http://www.eclipse.org/legal/epl-v10.html 
+ * 
+ *  Based on ideas from Xtext, Xtend, Xcore
+ *   
+ *  Contributors:  
+ *  		Christophe Loetz  (Loetz GmbH&Co.KG) - Initial implementation 
+ *  
+ */
+package org.eclipse.osbp.xtext.reportdsl;
+
+import org.eclipse.emf.ecore.EObject;
+
+import org.eclipse.osbp.xtext.datamartdsl.DatamartDefinition;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Datamart Container</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * </p>
+ * <ul>
+ *   <li>{@link org.eclipse.osbp.xtext.reportdsl.DatamartContainer#getDatamartRef <em>Datamart Ref</em>}</li>
+ * </ul>
+ *
+ * @see org.eclipse.osbp.xtext.reportdsl.ReportDSLPackage#getDatamartContainer()
+ * @model
+ * @generated
+ */
+public interface DatamartContainer extends EObject {
+	/**
+	 * Returns the value of the '<em><b>Datamart Ref</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Datamart Ref</em>' reference isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Datamart Ref</em>' reference.
+	 * @see #setDatamartRef(DatamartDefinition)
+	 * @see org.eclipse.osbp.xtext.reportdsl.ReportDSLPackage#getDatamartContainer_DatamartRef()
+	 * @model
+	 * @generated
+	 */
+	DatamartDefinition getDatamartRef();
+
+	/**
+	 * Sets the value of the '{@link org.eclipse.osbp.xtext.reportdsl.DatamartContainer#getDatamartRef <em>Datamart Ref</em>}' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Datamart Ref</em>' reference.
+	 * @see #getDatamartRef()
+	 * @generated
+	 */
+	void setDatamartRef(DatamartDefinition value);
+
+} // DatamartContainer
diff --git a/org.eclipse.osbp.xtext.reportdsl/emf-gen/org/eclipse/osbp/xtext/reportdsl/DatamartTable.java b/org.eclipse.osbp.xtext.reportdsl/emf-gen/org/eclipse/osbp/xtext/reportdsl/DatamartTable.java
index 3a2f10f..d4d3f4a 100644
--- a/org.eclipse.osbp.xtext.reportdsl/emf-gen/org/eclipse/osbp/xtext/reportdsl/DatamartTable.java
+++ b/org.eclipse.osbp.xtext.reportdsl/emf-gen/org/eclipse/osbp/xtext/reportdsl/DatamartTable.java
@@ -26,15 +26,13 @@
  * <ul>
  *   <li>{@link org.eclipse.osbp.xtext.reportdsl.DatamartTable#getGroups <em>Groups</em>}</li>
  *   <li>{@link org.eclipse.osbp.xtext.reportdsl.DatamartTable#getDetail <em>Detail</em>}</li>
- *   <li>{@link org.eclipse.osbp.xtext.reportdsl.DatamartTable#getVisibilityItem <em>Visibility Item</em>}</li>
- *   <li>{@link org.eclipse.osbp.xtext.reportdsl.DatamartTable#getPageBreak <em>Page Break</em>}</li>
  * </ul>
  *
  * @see org.eclipse.osbp.xtext.reportdsl.ReportDSLPackage#getDatamartTable()
  * @model
  * @generated
  */
-public interface DatamartTable extends ReportBase, Element, WithStyle, WithHeaderFooter {
+public interface DatamartTable extends ReportBase, Element, WithStyle, WithHeaderFooter, DatamartContainer {
 	/**
 	 * Returns the value of the '<em><b>Groups</b></em>' containment reference list.
 	 * The list contents are of type {@link org.eclipse.osbp.xtext.reportdsl.DatamartTableGroup}.
@@ -77,56 +75,4 @@
 	 */
 	void setDetail(DatamartTableDetail value);
 
-	/**
-	 * Returns the value of the '<em><b>Visibility Item</b></em>' containment reference.
-	 * <!-- begin-user-doc -->
-	 * <p>
-	 * If the meaning of the '<em>Visibility Item</em>' containment reference isn't clear,
-	 * there really should be more of a description here...
-	 * </p>
-	 * <!-- end-user-doc -->
-	 * @return the value of the '<em>Visibility Item</em>' containment reference.
-	 * @see #setVisibilityItem(Visibility)
-	 * @see org.eclipse.osbp.xtext.reportdsl.ReportDSLPackage#getDatamartTable_VisibilityItem()
-	 * @model containment="true"
-	 * @generated
-	 */
-	Visibility getVisibilityItem();
-
-	/**
-	 * Sets the value of the '{@link org.eclipse.osbp.xtext.reportdsl.DatamartTable#getVisibilityItem <em>Visibility Item</em>}' containment reference.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @param value the new value of the '<em>Visibility Item</em>' containment reference.
-	 * @see #getVisibilityItem()
-	 * @generated
-	 */
-	void setVisibilityItem(Visibility value);
-
-	/**
-	 * Returns the value of the '<em><b>Page Break</b></em>' containment reference.
-	 * <!-- begin-user-doc -->
-	 * <p>
-	 * If the meaning of the '<em>Page Break</em>' containment reference isn't clear,
-	 * there really should be more of a description here...
-	 * </p>
-	 * <!-- end-user-doc -->
-	 * @return the value of the '<em>Page Break</em>' containment reference.
-	 * @see #setPageBreak(PageBreak)
-	 * @see org.eclipse.osbp.xtext.reportdsl.ReportDSLPackage#getDatamartTable_PageBreak()
-	 * @model containment="true"
-	 * @generated
-	 */
-	PageBreak getPageBreak();
-
-	/**
-	 * Sets the value of the '{@link org.eclipse.osbp.xtext.reportdsl.DatamartTable#getPageBreak <em>Page Break</em>}' containment reference.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @param value the new value of the '<em>Page Break</em>' containment reference.
-	 * @see #getPageBreak()
-	 * @generated
-	 */
-	void setPageBreak(PageBreak value);
-
 } // DatamartTable
diff --git a/org.eclipse.osbp.xtext.reportdsl/emf-gen/org/eclipse/osbp/xtext/reportdsl/DatamartTableFooter.java b/org.eclipse.osbp.xtext.reportdsl/emf-gen/org/eclipse/osbp/xtext/reportdsl/DatamartTableFooter.java
new file mode 100644
index 0000000..1318ad7
--- /dev/null
+++ b/org.eclipse.osbp.xtext.reportdsl/emf-gen/org/eclipse/osbp/xtext/reportdsl/DatamartTableFooter.java
@@ -0,0 +1,60 @@
+/**
+ * Copyright (c) 2011, 2016 - Loetz GmbH&Co.KG (69115 Heidelberg, Germany)
+ *  All rights reserved. This program and the accompanying materials 
+ *  are made available under the terms of the Eclipse Public License v1.0 
+ *  which accompanies this distribution, and is available at 
+ *  http://www.eclipse.org/legal/epl-v10.html 
+ * 
+ *  Based on ideas from Xtext, Xtend, Xcore
+ *   
+ *  Contributors:  
+ *  		Christophe Loetz  (Loetz GmbH&Co.KG) - Initial implementation 
+ *  
+ */
+package org.eclipse.osbp.xtext.reportdsl;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Datamart Table Footer</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * </p>
+ * <ul>
+ *   <li>{@link org.eclipse.osbp.xtext.reportdsl.DatamartTableFooter#getPageBreak <em>Page Break</em>}</li>
+ * </ul>
+ *
+ * @see org.eclipse.osbp.xtext.reportdsl.ReportDSLPackage#getDatamartTableFooter()
+ * @model
+ * @generated
+ */
+public interface DatamartTableFooter extends Element, SomeGrid, WithStyle {
+	/**
+	 * Returns the value of the '<em><b>Page Break</b></em>' containment reference.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Page Break</em>' containment reference isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Page Break</em>' containment reference.
+	 * @see #setPageBreak(PageBreak)
+	 * @see org.eclipse.osbp.xtext.reportdsl.ReportDSLPackage#getDatamartTableFooter_PageBreak()
+	 * @model containment="true"
+	 * @generated
+	 */
+	PageBreak getPageBreak();
+
+	/**
+	 * Sets the value of the '{@link org.eclipse.osbp.xtext.reportdsl.DatamartTableFooter#getPageBreak <em>Page Break</em>}' containment reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Page Break</em>' containment reference.
+	 * @see #getPageBreak()
+	 * @generated
+	 */
+	void setPageBreak(PageBreak value);
+
+} // DatamartTableFooter
diff --git a/org.eclipse.osbp.xtext.reportdsl/emf-gen/org/eclipse/osbp/xtext/reportdsl/DatamartTableGroup.java b/org.eclipse.osbp.xtext.reportdsl/emf-gen/org/eclipse/osbp/xtext/reportdsl/DatamartTableGroup.java
index daffe3a..fd4587d 100644
--- a/org.eclipse.osbp.xtext.reportdsl/emf-gen/org/eclipse/osbp/xtext/reportdsl/DatamartTableGroup.java
+++ b/org.eclipse.osbp.xtext.reportdsl/emf-gen/org/eclipse/osbp/xtext/reportdsl/DatamartTableGroup.java
@@ -25,10 +25,6 @@
  * </p>
  * <ul>
  *   <li>{@link org.eclipse.osbp.xtext.reportdsl.DatamartTableGroup#getGroupingRef <em>Grouping Ref</em>}</li>
- *   <li>{@link org.eclipse.osbp.xtext.reportdsl.DatamartTableGroup#getHeader <em>Header</em>}</li>
- *   <li>{@link org.eclipse.osbp.xtext.reportdsl.DatamartTableGroup#getFooter <em>Footer</em>}</li>
- *   <li>{@link org.eclipse.osbp.xtext.reportdsl.DatamartTableGroup#getVisibilityItem <em>Visibility Item</em>}</li>
- *   <li>{@link org.eclipse.osbp.xtext.reportdsl.DatamartTableGroup#getPageBreak <em>Page Break</em>}</li>
  * </ul>
  *
  * @see org.eclipse.osbp.xtext.reportdsl.ReportDSLPackage#getDatamartTableGroup()
@@ -62,108 +58,4 @@
 	 */
 	void setGroupingRef(DatamartAttribute value);
 
-	/**
-	 * Returns the value of the '<em><b>Header</b></em>' containment reference.
-	 * <!-- begin-user-doc -->
-	 * <p>
-	 * If the meaning of the '<em>Header</em>' containment reference isn't clear,
-	 * there really should be more of a description here...
-	 * </p>
-	 * <!-- end-user-doc -->
-	 * @return the value of the '<em>Header</em>' containment reference.
-	 * @see #setHeader(DatamartTableGroupHeader)
-	 * @see org.eclipse.osbp.xtext.reportdsl.ReportDSLPackage#getDatamartTableGroup_Header()
-	 * @model containment="true"
-	 * @generated
-	 */
-	DatamartTableGroupHeader getHeader();
-
-	/**
-	 * Sets the value of the '{@link org.eclipse.osbp.xtext.reportdsl.DatamartTableGroup#getHeader <em>Header</em>}' containment reference.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @param value the new value of the '<em>Header</em>' containment reference.
-	 * @see #getHeader()
-	 * @generated
-	 */
-	void setHeader(DatamartTableGroupHeader value);
-
-	/**
-	 * Returns the value of the '<em><b>Footer</b></em>' containment reference.
-	 * <!-- begin-user-doc -->
-	 * <p>
-	 * If the meaning of the '<em>Footer</em>' containment reference isn't clear,
-	 * there really should be more of a description here...
-	 * </p>
-	 * <!-- end-user-doc -->
-	 * @return the value of the '<em>Footer</em>' containment reference.
-	 * @see #setFooter(DatamartTableGroupFooter)
-	 * @see org.eclipse.osbp.xtext.reportdsl.ReportDSLPackage#getDatamartTableGroup_Footer()
-	 * @model containment="true"
-	 * @generated
-	 */
-	DatamartTableGroupFooter getFooter();
-
-	/**
-	 * Sets the value of the '{@link org.eclipse.osbp.xtext.reportdsl.DatamartTableGroup#getFooter <em>Footer</em>}' containment reference.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @param value the new value of the '<em>Footer</em>' containment reference.
-	 * @see #getFooter()
-	 * @generated
-	 */
-	void setFooter(DatamartTableGroupFooter value);
-
-	/**
-	 * Returns the value of the '<em><b>Visibility Item</b></em>' containment reference.
-	 * <!-- begin-user-doc -->
-	 * <p>
-	 * If the meaning of the '<em>Visibility Item</em>' containment reference isn't clear,
-	 * there really should be more of a description here...
-	 * </p>
-	 * <!-- end-user-doc -->
-	 * @return the value of the '<em>Visibility Item</em>' containment reference.
-	 * @see #setVisibilityItem(Visibility)
-	 * @see org.eclipse.osbp.xtext.reportdsl.ReportDSLPackage#getDatamartTableGroup_VisibilityItem()
-	 * @model containment="true"
-	 * @generated
-	 */
-	Visibility getVisibilityItem();
-
-	/**
-	 * Sets the value of the '{@link org.eclipse.osbp.xtext.reportdsl.DatamartTableGroup#getVisibilityItem <em>Visibility Item</em>}' containment reference.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @param value the new value of the '<em>Visibility Item</em>' containment reference.
-	 * @see #getVisibilityItem()
-	 * @generated
-	 */
-	void setVisibilityItem(Visibility value);
-
-	/**
-	 * Returns the value of the '<em><b>Page Break</b></em>' containment reference.
-	 * <!-- begin-user-doc -->
-	 * <p>
-	 * If the meaning of the '<em>Page Break</em>' containment reference isn't clear,
-	 * there really should be more of a description here...
-	 * </p>
-	 * <!-- end-user-doc -->
-	 * @return the value of the '<em>Page Break</em>' containment reference.
-	 * @see #setPageBreak(PageBreak)
-	 * @see org.eclipse.osbp.xtext.reportdsl.ReportDSLPackage#getDatamartTableGroup_PageBreak()
-	 * @model containment="true"
-	 * @generated
-	 */
-	PageBreak getPageBreak();
-
-	/**
-	 * Sets the value of the '{@link org.eclipse.osbp.xtext.reportdsl.DatamartTableGroup#getPageBreak <em>Page Break</em>}' containment reference.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @param value the new value of the '<em>Page Break</em>' containment reference.
-	 * @see #getPageBreak()
-	 * @generated
-	 */
-	void setPageBreak(PageBreak value);
-
 } // DatamartTableGroup
diff --git a/org.eclipse.osbp.xtext.reportdsl/emf-gen/org/eclipse/osbp/xtext/reportdsl/DatamartTableHeader.java b/org.eclipse.osbp.xtext.reportdsl/emf-gen/org/eclipse/osbp/xtext/reportdsl/DatamartTableHeader.java
new file mode 100644
index 0000000..ecd667b
--- /dev/null
+++ b/org.eclipse.osbp.xtext.reportdsl/emf-gen/org/eclipse/osbp/xtext/reportdsl/DatamartTableHeader.java
@@ -0,0 +1,60 @@
+/**
+ * Copyright (c) 2011, 2016 - Loetz GmbH&Co.KG (69115 Heidelberg, Germany)
+ *  All rights reserved. This program and the accompanying materials 
+ *  are made available under the terms of the Eclipse Public License v1.0 
+ *  which accompanies this distribution, and is available at 
+ *  http://www.eclipse.org/legal/epl-v10.html 
+ * 
+ *  Based on ideas from Xtext, Xtend, Xcore
+ *   
+ *  Contributors:  
+ *  		Christophe Loetz  (Loetz GmbH&Co.KG) - Initial implementation 
+ *  
+ */
+package org.eclipse.osbp.xtext.reportdsl;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Datamart Table Header</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * </p>
+ * <ul>
+ *   <li>{@link org.eclipse.osbp.xtext.reportdsl.DatamartTableHeader#getPageBreak <em>Page Break</em>}</li>
+ * </ul>
+ *
+ * @see org.eclipse.osbp.xtext.reportdsl.ReportDSLPackage#getDatamartTableHeader()
+ * @model
+ * @generated
+ */
+public interface DatamartTableHeader extends Element, SomeGrid, WithStyle {
+	/**
+	 * Returns the value of the '<em><b>Page Break</b></em>' containment reference.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Page Break</em>' containment reference isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Page Break</em>' containment reference.
+	 * @see #setPageBreak(PageBreak)
+	 * @see org.eclipse.osbp.xtext.reportdsl.ReportDSLPackage#getDatamartTableHeader_PageBreak()
+	 * @model containment="true"
+	 * @generated
+	 */
+	PageBreak getPageBreak();
+
+	/**
+	 * Sets the value of the '{@link org.eclipse.osbp.xtext.reportdsl.DatamartTableHeader#getPageBreak <em>Page Break</em>}' containment reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Page Break</em>' containment reference.
+	 * @see #getPageBreak()
+	 * @generated
+	 */
+	void setPageBreak(PageBreak value);
+
+} // DatamartTableHeader
diff --git a/org.eclipse.osbp.xtext.reportdsl/emf-gen/org/eclipse/osbp/xtext/reportdsl/DatamartTableProperty.java b/org.eclipse.osbp.xtext.reportdsl/emf-gen/org/eclipse/osbp/xtext/reportdsl/DatamartTableProperty.java
deleted file mode 100644
index 306e134..0000000
--- a/org.eclipse.osbp.xtext.reportdsl/emf-gen/org/eclipse/osbp/xtext/reportdsl/DatamartTableProperty.java
+++ /dev/null
@@ -1,207 +0,0 @@
-/**
- * Copyright (c) 2011, 2016 - Loetz GmbH&Co.KG (69115 Heidelberg, Germany)
- *  All rights reserved. This program and the accompanying materials 
- *  are made available under the terms of the Eclipse Public License v1.0 
- *  which accompanies this distribution, and is available at 
- *  http://www.eclipse.org/legal/epl-v10.html 
- * 
- *  Based on ideas from Xtext, Xtend, Xcore
- *   
- *  Contributors:  
- *  		Christophe Loetz  (Loetz GmbH&Co.KG) - Initial implementation 
- *  
- */
-package org.eclipse.osbp.xtext.reportdsl;
-
-import org.eclipse.emf.common.util.EList;
-
-/**
- * <!-- begin-user-doc -->
- * A representation of the model object '<em><b>Datamart Table Property</b></em>'.
- * <!-- end-user-doc -->
- *
- * <!-- begin-model-doc -->
- *  !!! copy from tabledsl ...
- * <!-- end-model-doc -->
- *
- * <p>
- * The following features are supported:
- * <ul>
- *   <li>{@link org.eclipse.osbp.xtext.reportdsl.DatamartTableProperty#getColumn <em>Column</em>}</li>
- *   <li>{@link org.eclipse.osbp.xtext.reportdsl.DatamartTableProperty#getIntervals <em>Intervals</em>}</li>
- *   <li>{@link org.eclipse.osbp.xtext.reportdsl.DatamartTableProperty#isHideLabelInterval <em>Hide Label Interval</em>}</li>
- *   <li>{@link org.eclipse.osbp.xtext.reportdsl.DatamartTableProperty#getLookups <em>Lookups</em>}</li>
- *   <li>{@link org.eclipse.osbp.xtext.reportdsl.DatamartTableProperty#isHideLabelLookup <em>Hide Label Lookup</em>}</li>
- *   <li>{@link org.eclipse.osbp.xtext.reportdsl.DatamartTableProperty#isHasImage <em>Has Image</em>}</li>
- *   <li>{@link org.eclipse.osbp.xtext.reportdsl.DatamartTableProperty#getImage <em>Image</em>}</li>
- * </ul>
- * </p>
- *
- * @see org.eclipse.osbp.xtext.reportdsl.ReportDSLPackage#getDatamartTableProperty()
- * @model
- * @generated
- */
-public interface DatamartTableProperty extends Element, WithStyle {
-	/**
-	 * Returns the value of the '<em><b>Column</b></em>' containment reference.
-	 * <!-- begin-user-doc -->
-	 * <p>
-	 * If the meaning of the '<em>Column</em>' containment reference isn't clear,
-	 * there really should be more of a description here...
-	 * </p>
-	 * <!-- end-user-doc -->
-	 * @return the value of the '<em>Column</em>' containment reference.
-	 * @see #setColumn(TableValueElement)
-	 * @see org.eclipse.osbp.xtext.reportdsl.ReportDSLPackage#getDatamartTableProperty_Column()
-	 * @model containment="true"
-	 * @generated
-	 */
-	TableValueElement getColumn();
-
-	/**
-	 * Sets the value of the '{@link org.eclipse.osbp.xtext.reportdsl.DatamartTableProperty#getColumn <em>Column</em>}' containment reference.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @param value the new value of the '<em>Column</em>' containment reference.
-	 * @see #getColumn()
-	 * @generated
-	 */
-	void setColumn(TableValueElement value);
-
-	/**
-	 * Returns the value of the '<em><b>Intervals</b></em>' containment reference list.
-	 * The list contents are of type {@link org.eclipse.osbp.xtext.reportdsl.TableInterval}.
-	 * <!-- begin-user-doc -->
-	 * <p>
-	 * If the meaning of the '<em>Intervals</em>' containment reference list isn't clear,
-	 * there really should be more of a description here...
-	 * </p>
-	 * <!-- end-user-doc -->
-	 * @return the value of the '<em>Intervals</em>' containment reference list.
-	 * @see org.eclipse.osbp.xtext.reportdsl.ReportDSLPackage#getDatamartTableProperty_Intervals()
-	 * @model containment="true"
-	 * @generated
-	 */
-	EList<TableInterval> getIntervals();
-
-	/**
-	 * Returns the value of the '<em><b>Hide Label Interval</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <p>
-	 * If the meaning of the '<em>Hide Label Interval</em>' attribute isn't clear,
-	 * there really should be more of a description here...
-	 * </p>
-	 * <!-- end-user-doc -->
-	 * @return the value of the '<em>Hide Label Interval</em>' attribute.
-	 * @see #setHideLabelInterval(boolean)
-	 * @see org.eclipse.osbp.xtext.reportdsl.ReportDSLPackage#getDatamartTableProperty_HideLabelInterval()
-	 * @model unique="false"
-	 * @generated
-	 */
-	boolean isHideLabelInterval();
-
-	/**
-	 * Sets the value of the '{@link org.eclipse.osbp.xtext.reportdsl.DatamartTableProperty#isHideLabelInterval <em>Hide Label Interval</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @param value the new value of the '<em>Hide Label Interval</em>' attribute.
-	 * @see #isHideLabelInterval()
-	 * @generated
-	 */
-	void setHideLabelInterval(boolean value);
-
-	/**
-	 * Returns the value of the '<em><b>Lookups</b></em>' containment reference list.
-	 * The list contents are of type {@link org.eclipse.osbp.xtext.reportdsl.TableLookup}.
-	 * <!-- begin-user-doc -->
-	 * <p>
-	 * If the meaning of the '<em>Lookups</em>' containment reference list isn't clear,
-	 * there really should be more of a description here...
-	 * </p>
-	 * <!-- end-user-doc -->
-	 * @return the value of the '<em>Lookups</em>' containment reference list.
-	 * @see org.eclipse.osbp.xtext.reportdsl.ReportDSLPackage#getDatamartTableProperty_Lookups()
-	 * @model containment="true"
-	 * @generated
-	 */
-	EList<TableLookup> getLookups();
-
-	/**
-	 * Returns the value of the '<em><b>Hide Label Lookup</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <p>
-	 * If the meaning of the '<em>Hide Label Lookup</em>' attribute isn't clear,
-	 * there really should be more of a description here...
-	 * </p>
-	 * <!-- end-user-doc -->
-	 * @return the value of the '<em>Hide Label Lookup</em>' attribute.
-	 * @see #setHideLabelLookup(boolean)
-	 * @see org.eclipse.osbp.xtext.reportdsl.ReportDSLPackage#getDatamartTableProperty_HideLabelLookup()
-	 * @model unique="false"
-	 * @generated
-	 */
-	boolean isHideLabelLookup();
-
-	/**
-	 * Sets the value of the '{@link org.eclipse.osbp.xtext.reportdsl.DatamartTableProperty#isHideLabelLookup <em>Hide Label Lookup</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @param value the new value of the '<em>Hide Label Lookup</em>' attribute.
-	 * @see #isHideLabelLookup()
-	 * @generated
-	 */
-	void setHideLabelLookup(boolean value);
-
-	/**
-	 * Returns the value of the '<em><b>Has Image</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <p>
-	 * If the meaning of the '<em>Has Image</em>' attribute isn't clear,
-	 * there really should be more of a description here...
-	 * </p>
-	 * <!-- end-user-doc -->
-	 * @return the value of the '<em>Has Image</em>' attribute.
-	 * @see #setHasImage(boolean)
-	 * @see org.eclipse.osbp.xtext.reportdsl.ReportDSLPackage#getDatamartTableProperty_HasImage()
-	 * @model unique="false"
-	 * @generated
-	 */
-	boolean isHasImage();
-
-	/**
-	 * Sets the value of the '{@link org.eclipse.osbp.xtext.reportdsl.DatamartTableProperty#isHasImage <em>Has Image</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @param value the new value of the '<em>Has Image</em>' attribute.
-	 * @see #isHasImage()
-	 * @generated
-	 */
-	void setHasImage(boolean value);
-
-	/**
-	 * Returns the value of the '<em><b>Image</b></em>' containment reference.
-	 * <!-- begin-user-doc -->
-	 * <p>
-	 * If the meaning of the '<em>Image</em>' containment reference isn't clear,
-	 * there really should be more of a description here...
-	 * </p>
-	 * <!-- end-user-doc -->
-	 * @return the value of the '<em>Image</em>' containment reference.
-	 * @see #setImage(TableImage)
-	 * @see org.eclipse.osbp.xtext.reportdsl.ReportDSLPackage#getDatamartTableProperty_Image()
-	 * @model containment="true"
-	 * @generated
-	 */
-	TableImage getImage();
-
-	/**
-	 * Sets the value of the '{@link org.eclipse.osbp.xtext.reportdsl.DatamartTableProperty#getImage <em>Image</em>}' containment reference.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @param value the new value of the '<em>Image</em>' containment reference.
-	 * @see #getImage()
-	 * @generated
-	 */
-	void setImage(TableImage value);
-
-} // DatamartTableProperty
diff --git a/org.eclipse.osbp.xtext.reportdsl/emf-gen/org/eclipse/osbp/xtext/reportdsl/Grid.java b/org.eclipse.osbp.xtext.reportdsl/emf-gen/org/eclipse/osbp/xtext/reportdsl/Grid.java
index a33136e..bf7660a 100644
--- a/org.eclipse.osbp.xtext.reportdsl/emf-gen/org/eclipse/osbp/xtext/reportdsl/Grid.java
+++ b/org.eclipse.osbp.xtext.reportdsl/emf-gen/org/eclipse/osbp/xtext/reportdsl/Grid.java
@@ -35,7 +35,7 @@
  * @model
  * @generated
  */
-public interface Grid extends ReportBase, Element, SomeGrid {
+public interface Grid extends ReportBase, Element, SomeGrid, WithStyle {
 	/**
 	 * Returns the value of the '<em><b>Width Value</b></em>' attribute.
 	 * <!-- begin-user-doc -->
diff --git a/org.eclipse.osbp.xtext.reportdsl/emf-gen/org/eclipse/osbp/xtext/reportdsl/Report.java b/org.eclipse.osbp.xtext.reportdsl/emf-gen/org/eclipse/osbp/xtext/reportdsl/Report.java
index dfba912..c56c53a 100644
--- a/org.eclipse.osbp.xtext.reportdsl/emf-gen/org/eclipse/osbp/xtext/reportdsl/Report.java
+++ b/org.eclipse.osbp.xtext.reportdsl/emf-gen/org/eclipse/osbp/xtext/reportdsl/Report.java
@@ -15,8 +15,6 @@
 
 import org.eclipse.osbp.xtext.action.ActionToolbar;
 
-import org.eclipse.osbp.xtext.datamartdsl.DatamartDefinition;
-
 /**
  * <!-- begin-user-doc -->
  * A representation of the model object '<em><b>Report</b></em>'.
@@ -29,7 +27,6 @@
  *   <li>{@link org.eclipse.osbp.xtext.reportdsl.Report#isSelectById <em>Select By Id</em>}</li>
  *   <li>{@link org.eclipse.osbp.xtext.reportdsl.Report#isDescription <em>Description</em>}</li>
  *   <li>{@link org.eclipse.osbp.xtext.reportdsl.Report#getDescriptionValue <em>Description Value</em>}</li>
- *   <li>{@link org.eclipse.osbp.xtext.reportdsl.Report#getDatamartRef <em>Datamart Ref</em>}</li>
  *   <li>{@link org.eclipse.osbp.xtext.reportdsl.Report#getRendering <em>Rendering</em>}</li>
  *   <li>{@link org.eclipse.osbp.xtext.reportdsl.Report#getExternalCssURI <em>External Css URI</em>}</li>
  *   <li>{@link org.eclipse.osbp.xtext.reportdsl.Report#getExternalCssURIBundle <em>External Css URI Bundle</em>}</li>
@@ -44,7 +41,7 @@
  * @model
  * @generated
  */
-public interface Report extends ReportBase {
+public interface Report extends ReportBase, DatamartContainer {
 	/**
 	 * Returns the value of the '<em><b>Select By Id</b></em>' attribute.
 	 * <!-- begin-user-doc -->
@@ -124,32 +121,6 @@
 	void setDescriptionValue(String value);
 
 	/**
-	 * Returns the value of the '<em><b>Datamart Ref</b></em>' reference.
-	 * <!-- begin-user-doc -->
-	 * <p>
-	 * If the meaning of the '<em>Datamart Ref</em>' reference isn't clear,
-	 * there really should be more of a description here...
-	 * </p>
-	 * <!-- end-user-doc -->
-	 * @return the value of the '<em>Datamart Ref</em>' reference.
-	 * @see #setDatamartRef(DatamartDefinition)
-	 * @see org.eclipse.osbp.xtext.reportdsl.ReportDSLPackage#getReport_DatamartRef()
-	 * @model
-	 * @generated
-	 */
-	DatamartDefinition getDatamartRef();
-
-	/**
-	 * Sets the value of the '{@link org.eclipse.osbp.xtext.reportdsl.Report#getDatamartRef <em>Datamart Ref</em>}' reference.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @param value the new value of the '<em>Datamart Ref</em>' reference.
-	 * @see #getDatamartRef()
-	 * @generated
-	 */
-	void setDatamartRef(DatamartDefinition value);
-
-	/**
 	 * Returns the value of the '<em><b>Rendering</b></em>' attribute.
 	 * The literals are from the enumeration {@link org.eclipse.osbp.xtext.reportdsl.RenderingEnum}.
 	 * <!-- begin-user-doc -->
diff --git a/org.eclipse.osbp.xtext.reportdsl/emf-gen/org/eclipse/osbp/xtext/reportdsl/ReportDSLFactory.java b/org.eclipse.osbp.xtext.reportdsl/emf-gen/org/eclipse/osbp/xtext/reportdsl/ReportDSLFactory.java
index 2e3f333..f79dcea 100644
--- a/org.eclipse.osbp.xtext.reportdsl/emf-gen/org/eclipse/osbp/xtext/reportdsl/ReportDSLFactory.java
+++ b/org.eclipse.osbp.xtext.reportdsl/emf-gen/org/eclipse/osbp/xtext/reportdsl/ReportDSLFactory.java
@@ -276,6 +276,15 @@
 	TimeFormat createTimeFormat();
 
 	/**
+	 * Returns a new object of class '<em>Datamart Container</em>'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return a new object of class '<em>Datamart Container</em>'.
+	 * @generated
+	 */
+	DatamartContainer createDatamartContainer();
+
+	/**
 	 * Returns a new object of class '<em>Report</em>'.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -456,22 +465,22 @@
 	SomeGrid createSomeGrid();
 
 	/**
-	 * Returns a new object of class '<em>Datamart Table Group Header</em>'.
+	 * Returns a new object of class '<em>Datamart Table Header</em>'.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
-	 * @return a new object of class '<em>Datamart Table Group Header</em>'.
+	 * @return a new object of class '<em>Datamart Table Header</em>'.
 	 * @generated
 	 */
-	DatamartTableGroupHeader createDatamartTableGroupHeader();
+	DatamartTableHeader createDatamartTableHeader();
 
 	/**
-	 * Returns a new object of class '<em>Datamart Table Group Footer</em>'.
+	 * Returns a new object of class '<em>Datamart Table Footer</em>'.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
-	 * @return a new object of class '<em>Datamart Table Group Footer</em>'.
+	 * @return a new object of class '<em>Datamart Table Footer</em>'.
 	 * @generated
 	 */
-	DatamartTableGroupFooter createDatamartTableGroupFooter();
+	DatamartTableFooter createDatamartTableFooter();
 
 	/**
 	 * Returns a new object of class '<em>Datamart Table Detail</em>'.
diff --git a/org.eclipse.osbp.xtext.reportdsl/emf-gen/org/eclipse/osbp/xtext/reportdsl/ReportDSLPackage.java b/org.eclipse.osbp.xtext.reportdsl/emf-gen/org/eclipse/osbp/xtext/reportdsl/ReportDSLPackage.java
index c451d61..da7c294 100644
--- a/org.eclipse.osbp.xtext.reportdsl/emf-gen/org/eclipse/osbp/xtext/reportdsl/ReportDSLPackage.java
+++ b/org.eclipse.osbp.xtext.reportdsl/emf-gen/org/eclipse/osbp/xtext/reportdsl/ReportDSLPackage.java
@@ -1241,13 +1241,22 @@
 	int BASE_STYLE__TEXTALIGN = REPORT_LAZY_RESOLVER_FEATURE_COUNT + 5;
 
 	/**
+	 * The feature id for the '<em><b>Verticalalign</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int BASE_STYLE__VERTICALALIGN = REPORT_LAZY_RESOLVER_FEATURE_COUNT + 6;
+
+	/**
 	 * The feature id for the '<em><b>Border Top</b></em>' containment reference.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
 	 * @ordered
 	 */
-	int BASE_STYLE__BORDER_TOP = REPORT_LAZY_RESOLVER_FEATURE_COUNT + 6;
+	int BASE_STYLE__BORDER_TOP = REPORT_LAZY_RESOLVER_FEATURE_COUNT + 7;
 
 	/**
 	 * The feature id for the '<em><b>Border Bottom</b></em>' containment reference.
@@ -1256,7 +1265,7 @@
 	 * @generated
 	 * @ordered
 	 */
-	int BASE_STYLE__BORDER_BOTTOM = REPORT_LAZY_RESOLVER_FEATURE_COUNT + 7;
+	int BASE_STYLE__BORDER_BOTTOM = REPORT_LAZY_RESOLVER_FEATURE_COUNT + 8;
 
 	/**
 	 * The feature id for the '<em><b>Border Left</b></em>' containment reference.
@@ -1265,7 +1274,7 @@
 	 * @generated
 	 * @ordered
 	 */
-	int BASE_STYLE__BORDER_LEFT = REPORT_LAZY_RESOLVER_FEATURE_COUNT + 8;
+	int BASE_STYLE__BORDER_LEFT = REPORT_LAZY_RESOLVER_FEATURE_COUNT + 9;
 
 	/**
 	 * The feature id for the '<em><b>Border Right</b></em>' containment reference.
@@ -1274,7 +1283,7 @@
 	 * @generated
 	 * @ordered
 	 */
-	int BASE_STYLE__BORDER_RIGHT = REPORT_LAZY_RESOLVER_FEATURE_COUNT + 9;
+	int BASE_STYLE__BORDER_RIGHT = REPORT_LAZY_RESOLVER_FEATURE_COUNT + 10;
 
 	/**
 	 * The feature id for the '<em><b>Padding Top Value</b></em>' attribute.
@@ -1283,7 +1292,7 @@
 	 * @generated
 	 * @ordered
 	 */
-	int BASE_STYLE__PADDING_TOP_VALUE = REPORT_LAZY_RESOLVER_FEATURE_COUNT + 10;
+	int BASE_STYLE__PADDING_TOP_VALUE = REPORT_LAZY_RESOLVER_FEATURE_COUNT + 11;
 
 	/**
 	 * The feature id for the '<em><b>Padding Bottom Value</b></em>' attribute.
@@ -1292,7 +1301,7 @@
 	 * @generated
 	 * @ordered
 	 */
-	int BASE_STYLE__PADDING_BOTTOM_VALUE = REPORT_LAZY_RESOLVER_FEATURE_COUNT + 11;
+	int BASE_STYLE__PADDING_BOTTOM_VALUE = REPORT_LAZY_RESOLVER_FEATURE_COUNT + 12;
 
 	/**
 	 * The feature id for the '<em><b>Padding Left Value</b></em>' attribute.
@@ -1301,7 +1310,7 @@
 	 * @generated
 	 * @ordered
 	 */
-	int BASE_STYLE__PADDING_LEFT_VALUE = REPORT_LAZY_RESOLVER_FEATURE_COUNT + 12;
+	int BASE_STYLE__PADDING_LEFT_VALUE = REPORT_LAZY_RESOLVER_FEATURE_COUNT + 13;
 
 	/**
 	 * The feature id for the '<em><b>Padding Right Value</b></em>' attribute.
@@ -1310,7 +1319,7 @@
 	 * @generated
 	 * @ordered
 	 */
-	int BASE_STYLE__PADDING_RIGHT_VALUE = REPORT_LAZY_RESOLVER_FEATURE_COUNT + 13;
+	int BASE_STYLE__PADDING_RIGHT_VALUE = REPORT_LAZY_RESOLVER_FEATURE_COUNT + 14;
 
 	/**
 	 * The feature id for the '<em><b>Margin Top Value</b></em>' attribute.
@@ -1319,7 +1328,7 @@
 	 * @generated
 	 * @ordered
 	 */
-	int BASE_STYLE__MARGIN_TOP_VALUE = REPORT_LAZY_RESOLVER_FEATURE_COUNT + 14;
+	int BASE_STYLE__MARGIN_TOP_VALUE = REPORT_LAZY_RESOLVER_FEATURE_COUNT + 15;
 
 	/**
 	 * The feature id for the '<em><b>Margin Left Value</b></em>' attribute.
@@ -1328,7 +1337,7 @@
 	 * @generated
 	 * @ordered
 	 */
-	int BASE_STYLE__MARGIN_LEFT_VALUE = REPORT_LAZY_RESOLVER_FEATURE_COUNT + 15;
+	int BASE_STYLE__MARGIN_LEFT_VALUE = REPORT_LAZY_RESOLVER_FEATURE_COUNT + 16;
 
 	/**
 	 * The feature id for the '<em><b>Margin Bottom Value</b></em>' attribute.
@@ -1337,7 +1346,7 @@
 	 * @generated
 	 * @ordered
 	 */
-	int BASE_STYLE__MARGIN_BOTTOM_VALUE = REPORT_LAZY_RESOLVER_FEATURE_COUNT + 16;
+	int BASE_STYLE__MARGIN_BOTTOM_VALUE = REPORT_LAZY_RESOLVER_FEATURE_COUNT + 17;
 
 	/**
 	 * The feature id for the '<em><b>Margin Right Value</b></em>' attribute.
@@ -1346,7 +1355,7 @@
 	 * @generated
 	 * @ordered
 	 */
-	int BASE_STYLE__MARGIN_RIGHT_VALUE = REPORT_LAZY_RESOLVER_FEATURE_COUNT + 17;
+	int BASE_STYLE__MARGIN_RIGHT_VALUE = REPORT_LAZY_RESOLVER_FEATURE_COUNT + 18;
 
 	/**
 	 * The number of structural features of the '<em>Base Style</em>' class.
@@ -1355,7 +1364,7 @@
 	 * @generated
 	 * @ordered
 	 */
-	int BASE_STYLE_FEATURE_COUNT = REPORT_LAZY_RESOLVER_FEATURE_COUNT + 18;
+	int BASE_STYLE_FEATURE_COUNT = REPORT_LAZY_RESOLVER_FEATURE_COUNT + 19;
 
 	/**
 	 * The operation id for the '<em>EResolve Proxy</em>' operation.
@@ -1440,6 +1449,15 @@
 	int MEDIA_STYLE__TEXTALIGN = BASE_STYLE__TEXTALIGN;
 
 	/**
+	 * The feature id for the '<em><b>Verticalalign</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int MEDIA_STYLE__VERTICALALIGN = BASE_STYLE__VERTICALALIGN;
+
+	/**
 	 * The feature id for the '<em><b>Border Top</b></em>' containment reference.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -1657,13 +1675,22 @@
 	int STYLE__TEXTALIGN = REPORT_BASE_FEATURE_COUNT + 5;
 
 	/**
+	 * The feature id for the '<em><b>Verticalalign</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int STYLE__VERTICALALIGN = REPORT_BASE_FEATURE_COUNT + 6;
+
+	/**
 	 * The feature id for the '<em><b>Border Top</b></em>' containment reference.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
 	 * @ordered
 	 */
-	int STYLE__BORDER_TOP = REPORT_BASE_FEATURE_COUNT + 6;
+	int STYLE__BORDER_TOP = REPORT_BASE_FEATURE_COUNT + 7;
 
 	/**
 	 * The feature id for the '<em><b>Border Bottom</b></em>' containment reference.
@@ -1672,7 +1699,7 @@
 	 * @generated
 	 * @ordered
 	 */
-	int STYLE__BORDER_BOTTOM = REPORT_BASE_FEATURE_COUNT + 7;
+	int STYLE__BORDER_BOTTOM = REPORT_BASE_FEATURE_COUNT + 8;
 
 	/**
 	 * The feature id for the '<em><b>Border Left</b></em>' containment reference.
@@ -1681,7 +1708,7 @@
 	 * @generated
 	 * @ordered
 	 */
-	int STYLE__BORDER_LEFT = REPORT_BASE_FEATURE_COUNT + 8;
+	int STYLE__BORDER_LEFT = REPORT_BASE_FEATURE_COUNT + 9;
 
 	/**
 	 * The feature id for the '<em><b>Border Right</b></em>' containment reference.
@@ -1690,7 +1717,7 @@
 	 * @generated
 	 * @ordered
 	 */
-	int STYLE__BORDER_RIGHT = REPORT_BASE_FEATURE_COUNT + 9;
+	int STYLE__BORDER_RIGHT = REPORT_BASE_FEATURE_COUNT + 10;
 
 	/**
 	 * The feature id for the '<em><b>Padding Top Value</b></em>' attribute.
@@ -1699,7 +1726,7 @@
 	 * @generated
 	 * @ordered
 	 */
-	int STYLE__PADDING_TOP_VALUE = REPORT_BASE_FEATURE_COUNT + 10;
+	int STYLE__PADDING_TOP_VALUE = REPORT_BASE_FEATURE_COUNT + 11;
 
 	/**
 	 * The feature id for the '<em><b>Padding Bottom Value</b></em>' attribute.
@@ -1708,7 +1735,7 @@
 	 * @generated
 	 * @ordered
 	 */
-	int STYLE__PADDING_BOTTOM_VALUE = REPORT_BASE_FEATURE_COUNT + 11;
+	int STYLE__PADDING_BOTTOM_VALUE = REPORT_BASE_FEATURE_COUNT + 12;
 
 	/**
 	 * The feature id for the '<em><b>Padding Left Value</b></em>' attribute.
@@ -1717,7 +1744,7 @@
 	 * @generated
 	 * @ordered
 	 */
-	int STYLE__PADDING_LEFT_VALUE = REPORT_BASE_FEATURE_COUNT + 12;
+	int STYLE__PADDING_LEFT_VALUE = REPORT_BASE_FEATURE_COUNT + 13;
 
 	/**
 	 * The feature id for the '<em><b>Padding Right Value</b></em>' attribute.
@@ -1726,7 +1753,7 @@
 	 * @generated
 	 * @ordered
 	 */
-	int STYLE__PADDING_RIGHT_VALUE = REPORT_BASE_FEATURE_COUNT + 13;
+	int STYLE__PADDING_RIGHT_VALUE = REPORT_BASE_FEATURE_COUNT + 14;
 
 	/**
 	 * The feature id for the '<em><b>Margin Top Value</b></em>' attribute.
@@ -1735,7 +1762,7 @@
 	 * @generated
 	 * @ordered
 	 */
-	int STYLE__MARGIN_TOP_VALUE = REPORT_BASE_FEATURE_COUNT + 14;
+	int STYLE__MARGIN_TOP_VALUE = REPORT_BASE_FEATURE_COUNT + 15;
 
 	/**
 	 * The feature id for the '<em><b>Margin Left Value</b></em>' attribute.
@@ -1744,7 +1771,7 @@
 	 * @generated
 	 * @ordered
 	 */
-	int STYLE__MARGIN_LEFT_VALUE = REPORT_BASE_FEATURE_COUNT + 15;
+	int STYLE__MARGIN_LEFT_VALUE = REPORT_BASE_FEATURE_COUNT + 16;
 
 	/**
 	 * The feature id for the '<em><b>Margin Bottom Value</b></em>' attribute.
@@ -1753,7 +1780,7 @@
 	 * @generated
 	 * @ordered
 	 */
-	int STYLE__MARGIN_BOTTOM_VALUE = REPORT_BASE_FEATURE_COUNT + 16;
+	int STYLE__MARGIN_BOTTOM_VALUE = REPORT_BASE_FEATURE_COUNT + 17;
 
 	/**
 	 * The feature id for the '<em><b>Margin Right Value</b></em>' attribute.
@@ -1762,7 +1789,7 @@
 	 * @generated
 	 * @ordered
 	 */
-	int STYLE__MARGIN_RIGHT_VALUE = REPORT_BASE_FEATURE_COUNT + 17;
+	int STYLE__MARGIN_RIGHT_VALUE = REPORT_BASE_FEATURE_COUNT + 18;
 
 	/**
 	 * The feature id for the '<em><b>Extends</b></em>' reference.
@@ -1771,7 +1798,7 @@
 	 * @generated
 	 * @ordered
 	 */
-	int STYLE__EXTENDS = REPORT_BASE_FEATURE_COUNT + 18;
+	int STYLE__EXTENDS = REPORT_BASE_FEATURE_COUNT + 19;
 
 	/**
 	 * The feature id for the '<em><b>Mediastyles</b></em>' containment reference list.
@@ -1780,7 +1807,7 @@
 	 * @generated
 	 * @ordered
 	 */
-	int STYLE__MEDIASTYLES = REPORT_BASE_FEATURE_COUNT + 19;
+	int STYLE__MEDIASTYLES = REPORT_BASE_FEATURE_COUNT + 20;
 
 	/**
 	 * The number of structural features of the '<em>Style</em>' class.
@@ -1789,7 +1816,7 @@
 	 * @generated
 	 * @ordered
 	 */
-	int STYLE_FEATURE_COUNT = REPORT_BASE_FEATURE_COUNT + 20;
+	int STYLE_FEATURE_COUNT = REPORT_BASE_FEATURE_COUNT + 21;
 
 	/**
 	 * The operation id for the '<em>EResolve Proxy</em>' operation.
@@ -2366,6 +2393,43 @@
 	int TIME_FORMAT_OPERATION_COUNT = SOME_FORMAT_OPERATION_COUNT + 0;
 
 	/**
+	 * The meta object id for the '{@link org.eclipse.osbp.xtext.reportdsl.impl.DatamartContainerImpl <em>Datamart Container</em>}' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.eclipse.osbp.xtext.reportdsl.impl.DatamartContainerImpl
+	 * @see org.eclipse.osbp.xtext.reportdsl.impl.ReportDSLPackageImpl#getDatamartContainer()
+	 * @generated
+	 */
+	int DATAMART_CONTAINER = 28;
+
+	/**
+	 * The feature id for the '<em><b>Datamart Ref</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int DATAMART_CONTAINER__DATAMART_REF = 0;
+
+	/**
+	 * The number of structural features of the '<em>Datamart Container</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int DATAMART_CONTAINER_FEATURE_COUNT = 1;
+
+	/**
+	 * The number of operations of the '<em>Datamart Container</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int DATAMART_CONTAINER_OPERATION_COUNT = 0;
+
+	/**
 	 * The meta object id for the '{@link org.eclipse.osbp.xtext.reportdsl.impl.ReportImpl <em>Report</em>}' class.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -2373,7 +2437,7 @@
 	 * @see org.eclipse.osbp.xtext.reportdsl.impl.ReportDSLPackageImpl#getReport()
 	 * @generated
 	 */
-	int REPORT = 28;
+	int REPORT = 29;
 
 	/**
 	 * The feature id for the '<em><b>Name</b></em>' attribute.
@@ -2385,13 +2449,22 @@
 	int REPORT__NAME = REPORT_BASE__NAME;
 
 	/**
+	 * The feature id for the '<em><b>Datamart Ref</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int REPORT__DATAMART_REF = REPORT_BASE_FEATURE_COUNT + 0;
+
+	/**
 	 * The feature id for the '<em><b>Select By Id</b></em>' attribute.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
 	 * @ordered
 	 */
-	int REPORT__SELECT_BY_ID = REPORT_BASE_FEATURE_COUNT + 0;
+	int REPORT__SELECT_BY_ID = REPORT_BASE_FEATURE_COUNT + 1;
 
 	/**
 	 * The feature id for the '<em><b>Description</b></em>' attribute.
@@ -2400,7 +2473,7 @@
 	 * @generated
 	 * @ordered
 	 */
-	int REPORT__DESCRIPTION = REPORT_BASE_FEATURE_COUNT + 1;
+	int REPORT__DESCRIPTION = REPORT_BASE_FEATURE_COUNT + 2;
 
 	/**
 	 * The feature id for the '<em><b>Description Value</b></em>' attribute.
@@ -2409,16 +2482,7 @@
 	 * @generated
 	 * @ordered
 	 */
-	int REPORT__DESCRIPTION_VALUE = REPORT_BASE_FEATURE_COUNT + 2;
-
-	/**
-	 * The feature id for the '<em><b>Datamart Ref</b></em>' reference.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int REPORT__DATAMART_REF = REPORT_BASE_FEATURE_COUNT + 3;
+	int REPORT__DESCRIPTION_VALUE = REPORT_BASE_FEATURE_COUNT + 3;
 
 	/**
 	 * The feature id for the '<em><b>Rendering</b></em>' attribute.
@@ -2527,7 +2591,7 @@
 	 * @see org.eclipse.osbp.xtext.reportdsl.impl.ReportDSLPackageImpl#getReportDesign()
 	 * @generated
 	 */
-	int REPORT_DESIGN = 29;
+	int REPORT_DESIGN = 30;
 
 	/**
 	 * The number of structural features of the '<em>Report Design</em>' class.
@@ -2564,7 +2628,7 @@
 	 * @see org.eclipse.osbp.xtext.reportdsl.impl.ReportDSLPackageImpl#getReportDesignFile()
 	 * @generated
 	 */
-	int REPORT_DESIGN_FILE = 30;
+	int REPORT_DESIGN_FILE = 31;
 
 	/**
 	 * The feature id for the '<em><b>Name</b></em>' attribute.
@@ -2610,7 +2674,7 @@
 	 * @see org.eclipse.osbp.xtext.reportdsl.impl.ReportDSLPackageImpl#getReportDesignTemplate()
 	 * @generated
 	 */
-	int REPORT_DESIGN_TEMPLATE = 31;
+	int REPORT_DESIGN_TEMPLATE = 32;
 
 	/**
 	 * The feature id for the '<em><b>Description</b></em>' attribute.
@@ -2683,7 +2747,7 @@
 	 * @see org.eclipse.osbp.xtext.reportdsl.impl.ReportDSLPackageImpl#getContainer()
 	 * @generated
 	 */
-	int CONTAINER = 32;
+	int CONTAINER = 33;
 
 	/**
 	 * The feature id for the '<em><b>Elements</b></em>' containment reference list.
@@ -2729,7 +2793,7 @@
 	 * @see org.eclipse.osbp.xtext.reportdsl.impl.ReportDSLPackageImpl#getPageHeader()
 	 * @generated
 	 */
-	int PAGE_HEADER = 33;
+	int PAGE_HEADER = 34;
 
 	/**
 	 * The feature id for the '<em><b>Elements</b></em>' containment reference list.
@@ -2793,7 +2857,7 @@
 	 * @see org.eclipse.osbp.xtext.reportdsl.impl.ReportDSLPackageImpl#getPageDetail()
 	 * @generated
 	 */
-	int PAGE_DETAIL = 34;
+	int PAGE_DETAIL = 35;
 
 	/**
 	 * The feature id for the '<em><b>Elements</b></em>' containment reference list.
@@ -2839,7 +2903,7 @@
 	 * @see org.eclipse.osbp.xtext.reportdsl.impl.ReportDSLPackageImpl#getPageFooter()
 	 * @generated
 	 */
-	int PAGE_FOOTER = 35;
+	int PAGE_FOOTER = 36;
 
 	/**
 	 * The feature id for the '<em><b>Elements</b></em>' containment reference list.
@@ -2903,7 +2967,7 @@
 	 * @see org.eclipse.osbp.xtext.reportdsl.impl.ReportDSLPackageImpl#getElement()
 	 * @generated
 	 */
-	int ELEMENT = 36;
+	int ELEMENT = 37;
 
 	/**
 	 * The number of structural features of the '<em>Element</em>' class.
@@ -2940,7 +3004,7 @@
 	 * @see org.eclipse.osbp.xtext.reportdsl.impl.ReportDSLPackageImpl#getWithStyle()
 	 * @generated
 	 */
-	int WITH_STYLE = 37;
+	int WITH_STYLE = 38;
 
 	/**
 	 * The feature id for the '<em><b>Style</b></em>' reference.
@@ -2986,7 +3050,7 @@
 	 * @see org.eclipse.osbp.xtext.reportdsl.impl.ReportDSLPackageImpl#getTextElement()
 	 * @generated
 	 */
-	int TEXT_ELEMENT = 38;
+	int TEXT_ELEMENT = 39;
 
 	/**
 	 * The feature id for the '<em><b>Style</b></em>' reference.
@@ -3041,7 +3105,7 @@
 	 * @see org.eclipse.osbp.xtext.reportdsl.impl.ReportDSLPackageImpl#getTitle()
 	 * @generated
 	 */
-	int TITLE = 39;
+	int TITLE = 40;
 
 	/**
 	 * The feature id for the '<em><b>Style</b></em>' reference.
@@ -3096,7 +3160,7 @@
 	 * @see org.eclipse.osbp.xtext.reportdsl.impl.ReportDSLPackageImpl#getSubTitle()
 	 * @generated
 	 */
-	int SUB_TITLE = 40;
+	int SUB_TITLE = 41;
 
 	/**
 	 * The feature id for the '<em><b>Style</b></em>' reference.
@@ -3151,7 +3215,7 @@
 	 * @see org.eclipse.osbp.xtext.reportdsl.impl.ReportDSLPackageImpl#getSubSubTitle()
 	 * @generated
 	 */
-	int SUB_SUB_TITLE = 41;
+	int SUB_SUB_TITLE = 42;
 
 	/**
 	 * The feature id for the '<em><b>Style</b></em>' reference.
@@ -3206,7 +3270,7 @@
 	 * @see org.eclipse.osbp.xtext.reportdsl.impl.ReportDSLPackageImpl#getLabel()
 	 * @generated
 	 */
-	int LABEL = 42;
+	int LABEL = 43;
 
 	/**
 	 * The feature id for the '<em><b>Style</b></em>' reference.
@@ -3261,7 +3325,7 @@
 	 * @see org.eclipse.osbp.xtext.reportdsl.impl.ReportDSLPackageImpl#getText()
 	 * @generated
 	 */
-	int TEXT = 43;
+	int TEXT = 44;
 
 	/**
 	 * The feature id for the '<em><b>Style</b></em>' reference.
@@ -3325,7 +3389,7 @@
 	 * @see org.eclipse.osbp.xtext.reportdsl.impl.ReportDSLPackageImpl#getAutoText()
 	 * @generated
 	 */
-	int AUTO_TEXT = 44;
+	int AUTO_TEXT = 45;
 
 	/**
 	 * The feature id for the '<em><b>Style</b></em>' reference.
@@ -3380,7 +3444,7 @@
 	 * @see org.eclipse.osbp.xtext.reportdsl.impl.ReportDSLPackageImpl#getImage()
 	 * @generated
 	 */
-	int IMAGE = 45;
+	int IMAGE = 46;
 
 	/**
 	 * The feature id for the '<em><b>Style</b></em>' reference.
@@ -3498,43 +3562,43 @@
 	 * @see org.eclipse.osbp.xtext.reportdsl.impl.ReportDSLPackageImpl#getWithHeaderFooter()
 	 * @generated
 	 */
-	int WITH_HEADER_FOOTER = 46;
+	int WITH_HEADER_FOOTER = 47;
 
 	/**
-	 * The feature id for the '<em><b>Detailheader</b></em>' attribute.
+	 * The feature id for the '<em><b>Header</b></em>' containment reference.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
 	 * @ordered
 	 */
-	int WITH_HEADER_FOOTER__DETAILHEADER = REPORT_LAZY_RESOLVER_FEATURE_COUNT + 0;
+	int WITH_HEADER_FOOTER__HEADER = REPORT_LAZY_RESOLVER_FEATURE_COUNT + 0;
 
 	/**
-	 * The feature id for the '<em><b>Headerstyle</b></em>' reference.
+	 * The feature id for the '<em><b>Footer</b></em>' containment reference.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
 	 * @ordered
 	 */
-	int WITH_HEADER_FOOTER__HEADERSTYLE = REPORT_LAZY_RESOLVER_FEATURE_COUNT + 1;
+	int WITH_HEADER_FOOTER__FOOTER = REPORT_LAZY_RESOLVER_FEATURE_COUNT + 1;
 
 	/**
-	 * The feature id for the '<em><b>Detailfooter</b></em>' attribute.
+	 * The feature id for the '<em><b>Visibility Item</b></em>' containment reference.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
 	 * @ordered
 	 */
-	int WITH_HEADER_FOOTER__DETAILFOOTER = REPORT_LAZY_RESOLVER_FEATURE_COUNT + 2;
+	int WITH_HEADER_FOOTER__VISIBILITY_ITEM = REPORT_LAZY_RESOLVER_FEATURE_COUNT + 2;
 
 	/**
-	 * The feature id for the '<em><b>Footerstyle</b></em>' reference.
+	 * The feature id for the '<em><b>Page Break</b></em>' containment reference.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
 	 * @ordered
 	 */
-	int WITH_HEADER_FOOTER__FOOTERSTYLE = REPORT_LAZY_RESOLVER_FEATURE_COUNT + 3;
+	int WITH_HEADER_FOOTER__PAGE_BREAK = REPORT_LAZY_RESOLVER_FEATURE_COUNT + 3;
 
 	/**
 	 * The number of structural features of the '<em>With Header Footer</em>' class.
@@ -3571,7 +3635,7 @@
 	 * @see org.eclipse.osbp.xtext.reportdsl.impl.ReportDSLPackageImpl#getDatamartTable()
 	 * @generated
 	 */
-	int DATAMART_TABLE = 47;
+	int DATAMART_TABLE = 48;
 
 	/**
 	 * The feature id for the '<em><b>Name</b></em>' attribute.
@@ -3592,58 +3656,22 @@
 	int DATAMART_TABLE__STYLE = REPORT_BASE_FEATURE_COUNT + 0;
 
 	/**
-	 * The feature id for the '<em><b>Detailheader</b></em>' attribute.
+	 * The feature id for the '<em><b>Header</b></em>' containment reference.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
 	 * @ordered
 	 */
-	int DATAMART_TABLE__DETAILHEADER = REPORT_BASE_FEATURE_COUNT + 1;
+	int DATAMART_TABLE__HEADER = REPORT_BASE_FEATURE_COUNT + 1;
 
 	/**
-	 * The feature id for the '<em><b>Headerstyle</b></em>' reference.
+	 * The feature id for the '<em><b>Footer</b></em>' containment reference.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
 	 * @ordered
 	 */
-	int DATAMART_TABLE__HEADERSTYLE = REPORT_BASE_FEATURE_COUNT + 2;
-
-	/**
-	 * The feature id for the '<em><b>Detailfooter</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int DATAMART_TABLE__DETAILFOOTER = REPORT_BASE_FEATURE_COUNT + 3;
-
-	/**
-	 * The feature id for the '<em><b>Footerstyle</b></em>' reference.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int DATAMART_TABLE__FOOTERSTYLE = REPORT_BASE_FEATURE_COUNT + 4;
-
-	/**
-	 * The feature id for the '<em><b>Groups</b></em>' containment reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int DATAMART_TABLE__GROUPS = REPORT_BASE_FEATURE_COUNT + 5;
-
-	/**
-	 * The feature id for the '<em><b>Detail</b></em>' containment reference.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int DATAMART_TABLE__DETAIL = REPORT_BASE_FEATURE_COUNT + 6;
+	int DATAMART_TABLE__FOOTER = REPORT_BASE_FEATURE_COUNT + 2;
 
 	/**
 	 * The feature id for the '<em><b>Visibility Item</b></em>' containment reference.
@@ -3652,7 +3680,7 @@
 	 * @generated
 	 * @ordered
 	 */
-	int DATAMART_TABLE__VISIBILITY_ITEM = REPORT_BASE_FEATURE_COUNT + 7;
+	int DATAMART_TABLE__VISIBILITY_ITEM = REPORT_BASE_FEATURE_COUNT + 3;
 
 	/**
 	 * The feature id for the '<em><b>Page Break</b></em>' containment reference.
@@ -3661,7 +3689,34 @@
 	 * @generated
 	 * @ordered
 	 */
-	int DATAMART_TABLE__PAGE_BREAK = REPORT_BASE_FEATURE_COUNT + 8;
+	int DATAMART_TABLE__PAGE_BREAK = REPORT_BASE_FEATURE_COUNT + 4;
+
+	/**
+	 * The feature id for the '<em><b>Datamart Ref</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int DATAMART_TABLE__DATAMART_REF = REPORT_BASE_FEATURE_COUNT + 5;
+
+	/**
+	 * The feature id for the '<em><b>Groups</b></em>' containment reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int DATAMART_TABLE__GROUPS = REPORT_BASE_FEATURE_COUNT + 6;
+
+	/**
+	 * The feature id for the '<em><b>Detail</b></em>' containment reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int DATAMART_TABLE__DETAIL = REPORT_BASE_FEATURE_COUNT + 7;
 
 	/**
 	 * The number of structural features of the '<em>Datamart Table</em>' class.
@@ -3670,7 +3725,7 @@
 	 * @generated
 	 * @ordered
 	 */
-	int DATAMART_TABLE_FEATURE_COUNT = REPORT_BASE_FEATURE_COUNT + 9;
+	int DATAMART_TABLE_FEATURE_COUNT = REPORT_BASE_FEATURE_COUNT + 8;
 
 	/**
 	 * The operation id for the '<em>EResolve Proxy</em>' operation.
@@ -3698,7 +3753,7 @@
 	 * @see org.eclipse.osbp.xtext.reportdsl.impl.ReportDSLPackageImpl#getDatamartTableGroup()
 	 * @generated
 	 */
-	int DATAMART_TABLE_GROUP = 48;
+	int DATAMART_TABLE_GROUP = 49;
 
 	/**
 	 * The feature id for the '<em><b>Name</b></em>' attribute.
@@ -3710,40 +3765,40 @@
 	int DATAMART_TABLE_GROUP__NAME = REPORT_BASE__NAME;
 
 	/**
-	 * The feature id for the '<em><b>Detailheader</b></em>' attribute.
+	 * The feature id for the '<em><b>Header</b></em>' containment reference.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
 	 * @ordered
 	 */
-	int DATAMART_TABLE_GROUP__DETAILHEADER = REPORT_BASE_FEATURE_COUNT + 0;
+	int DATAMART_TABLE_GROUP__HEADER = REPORT_BASE_FEATURE_COUNT + 0;
 
 	/**
-	 * The feature id for the '<em><b>Headerstyle</b></em>' reference.
+	 * The feature id for the '<em><b>Footer</b></em>' containment reference.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
 	 * @ordered
 	 */
-	int DATAMART_TABLE_GROUP__HEADERSTYLE = REPORT_BASE_FEATURE_COUNT + 1;
+	int DATAMART_TABLE_GROUP__FOOTER = REPORT_BASE_FEATURE_COUNT + 1;
 
 	/**
-	 * The feature id for the '<em><b>Detailfooter</b></em>' attribute.
+	 * The feature id for the '<em><b>Visibility Item</b></em>' containment reference.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
 	 * @ordered
 	 */
-	int DATAMART_TABLE_GROUP__DETAILFOOTER = REPORT_BASE_FEATURE_COUNT + 2;
+	int DATAMART_TABLE_GROUP__VISIBILITY_ITEM = REPORT_BASE_FEATURE_COUNT + 2;
 
 	/**
-	 * The feature id for the '<em><b>Footerstyle</b></em>' reference.
+	 * The feature id for the '<em><b>Page Break</b></em>' containment reference.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
 	 * @ordered
 	 */
-	int DATAMART_TABLE_GROUP__FOOTERSTYLE = REPORT_BASE_FEATURE_COUNT + 3;
+	int DATAMART_TABLE_GROUP__PAGE_BREAK = REPORT_BASE_FEATURE_COUNT + 3;
 
 	/**
 	 * The feature id for the '<em><b>Grouping Ref</b></em>' reference.
@@ -3755,49 +3810,13 @@
 	int DATAMART_TABLE_GROUP__GROUPING_REF = REPORT_BASE_FEATURE_COUNT + 4;
 
 	/**
-	 * The feature id for the '<em><b>Header</b></em>' containment reference.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int DATAMART_TABLE_GROUP__HEADER = REPORT_BASE_FEATURE_COUNT + 5;
-
-	/**
-	 * The feature id for the '<em><b>Footer</b></em>' containment reference.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int DATAMART_TABLE_GROUP__FOOTER = REPORT_BASE_FEATURE_COUNT + 6;
-
-	/**
-	 * The feature id for the '<em><b>Visibility Item</b></em>' containment reference.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int DATAMART_TABLE_GROUP__VISIBILITY_ITEM = REPORT_BASE_FEATURE_COUNT + 7;
-
-	/**
-	 * The feature id for the '<em><b>Page Break</b></em>' containment reference.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int DATAMART_TABLE_GROUP__PAGE_BREAK = REPORT_BASE_FEATURE_COUNT + 8;
-
-	/**
 	 * The number of structural features of the '<em>Datamart Table Group</em>' class.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
 	 * @ordered
 	 */
-	int DATAMART_TABLE_GROUP_FEATURE_COUNT = REPORT_BASE_FEATURE_COUNT + 9;
+	int DATAMART_TABLE_GROUP_FEATURE_COUNT = REPORT_BASE_FEATURE_COUNT + 5;
 
 	/**
 	 * The operation id for the '<em>EResolve Proxy</em>' operation.
@@ -3825,7 +3844,7 @@
 	 * @see org.eclipse.osbp.xtext.reportdsl.impl.ReportDSLPackageImpl#getSomeGrid()
 	 * @generated
 	 */
-	int SOME_GRID = 49;
+	int SOME_GRID = 50;
 
 	/**
 	 * The feature id for the '<em><b>Rows</b></em>' containment reference list.
@@ -3864,14 +3883,14 @@
 	int SOME_GRID_OPERATION_COUNT = REPORT_LAZY_RESOLVER_OPERATION_COUNT + 0;
 
 	/**
-	 * The meta object id for the '{@link org.eclipse.osbp.xtext.reportdsl.impl.DatamartTableGroupHeaderImpl <em>Datamart Table Group Header</em>}' class.
+	 * The meta object id for the '{@link org.eclipse.osbp.xtext.reportdsl.impl.DatamartTableHeaderImpl <em>Datamart Table Header</em>}' class.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
-	 * @see org.eclipse.osbp.xtext.reportdsl.impl.DatamartTableGroupHeaderImpl
-	 * @see org.eclipse.osbp.xtext.reportdsl.impl.ReportDSLPackageImpl#getDatamartTableGroupHeader()
+	 * @see org.eclipse.osbp.xtext.reportdsl.impl.DatamartTableHeaderImpl
+	 * @see org.eclipse.osbp.xtext.reportdsl.impl.ReportDSLPackageImpl#getDatamartTableHeader()
 	 * @generated
 	 */
-	int DATAMART_TABLE_GROUP_HEADER = 50;
+	int DATAMART_TABLE_HEADER = 51;
 
 	/**
 	 * The feature id for the '<em><b>Rows</b></em>' containment reference list.
@@ -3880,7 +3899,7 @@
 	 * @generated
 	 * @ordered
 	 */
-	int DATAMART_TABLE_GROUP_HEADER__ROWS = ELEMENT_FEATURE_COUNT + 0;
+	int DATAMART_TABLE_HEADER__ROWS = ELEMENT_FEATURE_COUNT + 0;
 
 	/**
 	 * The feature id for the '<em><b>Style</b></em>' reference.
@@ -3889,7 +3908,7 @@
 	 * @generated
 	 * @ordered
 	 */
-	int DATAMART_TABLE_GROUP_HEADER__STYLE = ELEMENT_FEATURE_COUNT + 1;
+	int DATAMART_TABLE_HEADER__STYLE = ELEMENT_FEATURE_COUNT + 1;
 
 	/**
 	 * The feature id for the '<em><b>Page Break</b></em>' containment reference.
@@ -3898,16 +3917,16 @@
 	 * @generated
 	 * @ordered
 	 */
-	int DATAMART_TABLE_GROUP_HEADER__PAGE_BREAK = ELEMENT_FEATURE_COUNT + 2;
+	int DATAMART_TABLE_HEADER__PAGE_BREAK = ELEMENT_FEATURE_COUNT + 2;
 
 	/**
-	 * The number of structural features of the '<em>Datamart Table Group Header</em>' class.
+	 * The number of structural features of the '<em>Datamart Table Header</em>' class.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
 	 * @ordered
 	 */
-	int DATAMART_TABLE_GROUP_HEADER_FEATURE_COUNT = ELEMENT_FEATURE_COUNT + 3;
+	int DATAMART_TABLE_HEADER_FEATURE_COUNT = ELEMENT_FEATURE_COUNT + 3;
 
 	/**
 	 * The operation id for the '<em>EResolve Proxy</em>' operation.
@@ -3916,26 +3935,26 @@
 	 * @generated
 	 * @ordered
 	 */
-	int DATAMART_TABLE_GROUP_HEADER___ERESOLVE_PROXY__INTERNALEOBJECT = ELEMENT___ERESOLVE_PROXY__INTERNALEOBJECT;
+	int DATAMART_TABLE_HEADER___ERESOLVE_PROXY__INTERNALEOBJECT = ELEMENT___ERESOLVE_PROXY__INTERNALEOBJECT;
 
 	/**
-	 * The number of operations of the '<em>Datamart Table Group Header</em>' class.
+	 * The number of operations of the '<em>Datamart Table Header</em>' class.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
 	 * @ordered
 	 */
-	int DATAMART_TABLE_GROUP_HEADER_OPERATION_COUNT = ELEMENT_OPERATION_COUNT + 0;
+	int DATAMART_TABLE_HEADER_OPERATION_COUNT = ELEMENT_OPERATION_COUNT + 0;
 
 	/**
-	 * The meta object id for the '{@link org.eclipse.osbp.xtext.reportdsl.impl.DatamartTableGroupFooterImpl <em>Datamart Table Group Footer</em>}' class.
+	 * The meta object id for the '{@link org.eclipse.osbp.xtext.reportdsl.impl.DatamartTableFooterImpl <em>Datamart Table Footer</em>}' class.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
-	 * @see org.eclipse.osbp.xtext.reportdsl.impl.DatamartTableGroupFooterImpl
-	 * @see org.eclipse.osbp.xtext.reportdsl.impl.ReportDSLPackageImpl#getDatamartTableGroupFooter()
+	 * @see org.eclipse.osbp.xtext.reportdsl.impl.DatamartTableFooterImpl
+	 * @see org.eclipse.osbp.xtext.reportdsl.impl.ReportDSLPackageImpl#getDatamartTableFooter()
 	 * @generated
 	 */
-	int DATAMART_TABLE_GROUP_FOOTER = 51;
+	int DATAMART_TABLE_FOOTER = 52;
 
 	/**
 	 * The feature id for the '<em><b>Rows</b></em>' containment reference list.
@@ -3944,7 +3963,7 @@
 	 * @generated
 	 * @ordered
 	 */
-	int DATAMART_TABLE_GROUP_FOOTER__ROWS = ELEMENT_FEATURE_COUNT + 0;
+	int DATAMART_TABLE_FOOTER__ROWS = ELEMENT_FEATURE_COUNT + 0;
 
 	/**
 	 * The feature id for the '<em><b>Style</b></em>' reference.
@@ -3953,7 +3972,7 @@
 	 * @generated
 	 * @ordered
 	 */
-	int DATAMART_TABLE_GROUP_FOOTER__STYLE = ELEMENT_FEATURE_COUNT + 1;
+	int DATAMART_TABLE_FOOTER__STYLE = ELEMENT_FEATURE_COUNT + 1;
 
 	/**
 	 * The feature id for the '<em><b>Page Break</b></em>' containment reference.
@@ -3962,16 +3981,16 @@
 	 * @generated
 	 * @ordered
 	 */
-	int DATAMART_TABLE_GROUP_FOOTER__PAGE_BREAK = ELEMENT_FEATURE_COUNT + 2;
+	int DATAMART_TABLE_FOOTER__PAGE_BREAK = ELEMENT_FEATURE_COUNT + 2;
 
 	/**
-	 * The number of structural features of the '<em>Datamart Table Group Footer</em>' class.
+	 * The number of structural features of the '<em>Datamart Table Footer</em>' class.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
 	 * @ordered
 	 */
-	int DATAMART_TABLE_GROUP_FOOTER_FEATURE_COUNT = ELEMENT_FEATURE_COUNT + 3;
+	int DATAMART_TABLE_FOOTER_FEATURE_COUNT = ELEMENT_FEATURE_COUNT + 3;
 
 	/**
 	 * The operation id for the '<em>EResolve Proxy</em>' operation.
@@ -3980,16 +3999,16 @@
 	 * @generated
 	 * @ordered
 	 */
-	int DATAMART_TABLE_GROUP_FOOTER___ERESOLVE_PROXY__INTERNALEOBJECT = ELEMENT___ERESOLVE_PROXY__INTERNALEOBJECT;
+	int DATAMART_TABLE_FOOTER___ERESOLVE_PROXY__INTERNALEOBJECT = ELEMENT___ERESOLVE_PROXY__INTERNALEOBJECT;
 
 	/**
-	 * The number of operations of the '<em>Datamart Table Group Footer</em>' class.
+	 * The number of operations of the '<em>Datamart Table Footer</em>' class.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
 	 * @ordered
 	 */
-	int DATAMART_TABLE_GROUP_FOOTER_OPERATION_COUNT = ELEMENT_OPERATION_COUNT + 0;
+	int DATAMART_TABLE_FOOTER_OPERATION_COUNT = ELEMENT_OPERATION_COUNT + 0;
 
 	/**
 	 * The meta object id for the '{@link org.eclipse.osbp.xtext.reportdsl.impl.DatamartTableDetailImpl <em>Datamart Table Detail</em>}' class.
@@ -3999,7 +4018,7 @@
 	 * @see org.eclipse.osbp.xtext.reportdsl.impl.ReportDSLPackageImpl#getDatamartTableDetail()
 	 * @generated
 	 */
-	int DATAMART_TABLE_DETAIL = 52;
+	int DATAMART_TABLE_DETAIL = 53;
 
 	/**
 	 * The feature id for the '<em><b>Style</b></em>' reference.
@@ -4054,7 +4073,7 @@
 	 * @see org.eclipse.osbp.xtext.reportdsl.impl.ReportDSLPackageImpl#getDatamartTableAttribute()
 	 * @generated
 	 */
-	int DATAMART_TABLE_ATTRIBUTE = 53;
+	int DATAMART_TABLE_ATTRIBUTE = 54;
 
 	/**
 	 * The feature id for the '<em><b>Style</b></em>' reference.
@@ -4172,7 +4191,7 @@
 	 * @see org.eclipse.osbp.xtext.reportdsl.impl.ReportDSLPackageImpl#getTableFormatter()
 	 * @generated
 	 */
-	int TABLE_FORMATTER = 54;
+	int TABLE_FORMATTER = 55;
 
 	/**
 	 * The feature id for the '<em><b>Format</b></em>' attribute.
@@ -4209,7 +4228,7 @@
 	 * @see org.eclipse.osbp.xtext.reportdsl.impl.ReportDSLPackageImpl#getTableImage()
 	 * @generated
 	 */
-	int TABLE_IMAGE = 55;
+	int TABLE_IMAGE = 56;
 
 	/**
 	 * The feature id for the '<em><b>Image Path Pattern</b></em>' attribute.
@@ -4300,7 +4319,7 @@
 	 * @see org.eclipse.osbp.xtext.reportdsl.impl.ReportDSLPackageImpl#getTableValueElement()
 	 * @generated
 	 */
-	int TABLE_VALUE_ELEMENT = 56;
+	int TABLE_VALUE_ELEMENT = 57;
 
 	/**
 	 * The number of structural features of the '<em>Table Value Element</em>' class.
@@ -4337,7 +4356,7 @@
 	 * @see org.eclipse.osbp.xtext.reportdsl.impl.ReportDSLPackageImpl#getTableAttribute()
 	 * @generated
 	 */
-	int TABLE_ATTRIBUTE = 57;
+	int TABLE_ATTRIBUTE = 58;
 
 	/**
 	 * The feature id for the '<em><b>Value</b></em>' attribute.
@@ -4392,7 +4411,7 @@
 	 * @see org.eclipse.osbp.xtext.reportdsl.impl.ReportDSLPackageImpl#getTableAggregation()
 	 * @generated
 	 */
-	int TABLE_AGGREGATION = 58;
+	int TABLE_AGGREGATION = 59;
 
 	/**
 	 * The feature id for the '<em><b>Text</b></em>' attribute.
@@ -4456,7 +4475,7 @@
 	 * @see org.eclipse.osbp.xtext.reportdsl.impl.ReportDSLPackageImpl#getTableBaseAggregation()
 	 * @generated
 	 */
-	int TABLE_BASE_AGGREGATION = 59;
+	int TABLE_BASE_AGGREGATION = 60;
 
 	/**
 	 * The feature id for the '<em><b>Value Refs</b></em>' reference list.
@@ -4502,7 +4521,7 @@
 	 * @see org.eclipse.osbp.xtext.reportdsl.impl.ReportDSLPackageImpl#getTablePureAggregation()
 	 * @generated
 	 */
-	int TABLE_PURE_AGGREGATION = 60;
+	int TABLE_PURE_AGGREGATION = 61;
 
 	/**
 	 * The feature id for the '<em><b>Value Refs</b></em>' reference list.
@@ -4557,7 +4576,7 @@
 	 * @see org.eclipse.osbp.xtext.reportdsl.impl.ReportDSLPackageImpl#getTableUnaryAggregation()
 	 * @generated
 	 */
-	int TABLE_UNARY_AGGREGATION = 61;
+	int TABLE_UNARY_AGGREGATION = 62;
 
 	/**
 	 * The feature id for the '<em><b>Value Refs</b></em>' reference list.
@@ -4612,7 +4631,7 @@
 	 * @see org.eclipse.osbp.xtext.reportdsl.impl.ReportDSLPackageImpl#getTableMultipleAggregation()
 	 * @generated
 	 */
-	int TABLE_MULTIPLE_AGGREGATION = 62;
+	int TABLE_MULTIPLE_AGGREGATION = 63;
 
 	/**
 	 * The feature id for the '<em><b>Value Refs</b></em>' reference list.
@@ -4667,7 +4686,7 @@
 	 * @see org.eclipse.osbp.xtext.reportdsl.impl.ReportDSLPackageImpl#getTableBinaryAggregation()
 	 * @generated
 	 */
-	int TABLE_BINARY_AGGREGATION = 63;
+	int TABLE_BINARY_AGGREGATION = 64;
 
 	/**
 	 * The feature id for the '<em><b>Value Refs</b></em>' reference list.
@@ -4722,7 +4741,7 @@
 	 * @see org.eclipse.osbp.xtext.reportdsl.impl.ReportDSLPackageImpl#getTableInterval()
 	 * @generated
 	 */
-	int TABLE_INTERVAL = 64;
+	int TABLE_INTERVAL = 65;
 
 	/**
 	 * The number of structural features of the '<em>Table Interval</em>' class.
@@ -4759,7 +4778,7 @@
 	 * @see org.eclipse.osbp.xtext.reportdsl.impl.ReportDSLPackageImpl#getTableNumberInterval()
 	 * @generated
 	 */
-	int TABLE_NUMBER_INTERVAL = 65;
+	int TABLE_NUMBER_INTERVAL = 66;
 
 	/**
 	 * The feature id for the '<em><b>Number Interval Value</b></em>' attribute.
@@ -4814,7 +4833,7 @@
 	 * @see org.eclipse.osbp.xtext.reportdsl.impl.ReportDSLPackageImpl#getTableDateDayInterval()
 	 * @generated
 	 */
-	int TABLE_DATE_DAY_INTERVAL = 66;
+	int TABLE_DATE_DAY_INTERVAL = 67;
 
 	/**
 	 * The feature id for the '<em><b>Date Interval Value</b></em>' attribute.
@@ -4869,7 +4888,7 @@
 	 * @see org.eclipse.osbp.xtext.reportdsl.impl.ReportDSLPackageImpl#getTableLookup()
 	 * @generated
 	 */
-	int TABLE_LOOKUP = 67;
+	int TABLE_LOOKUP = 68;
 
 	/**
 	 * The number of structural features of the '<em>Table Lookup</em>' class.
@@ -4906,7 +4925,7 @@
 	 * @see org.eclipse.osbp.xtext.reportdsl.impl.ReportDSLPackageImpl#getTableNumberLookup()
 	 * @generated
 	 */
-	int TABLE_NUMBER_LOOKUP = 68;
+	int TABLE_NUMBER_LOOKUP = 69;
 
 	/**
 	 * The feature id for the '<em><b>Lookup Value</b></em>' attribute.
@@ -4961,7 +4980,7 @@
 	 * @see org.eclipse.osbp.xtext.reportdsl.impl.ReportDSLPackageImpl#getTableStringLookup()
 	 * @generated
 	 */
-	int TABLE_STRING_LOOKUP = 69;
+	int TABLE_STRING_LOOKUP = 70;
 
 	/**
 	 * The feature id for the '<em><b>Lookup Value</b></em>' attribute.
@@ -5016,7 +5035,7 @@
 	 * @see org.eclipse.osbp.xtext.reportdsl.impl.ReportDSLPackageImpl#getTableDateDayLookup()
 	 * @generated
 	 */
-	int TABLE_DATE_DAY_LOOKUP = 70;
+	int TABLE_DATE_DAY_LOOKUP = 71;
 
 	/**
 	 * The feature id for the '<em><b>Lookup Value</b></em>' attribute.
@@ -5071,7 +5090,7 @@
 	 * @see org.eclipse.osbp.xtext.reportdsl.impl.ReportDSLPackageImpl#getTableRangeElement()
 	 * @generated
 	 */
-	int TABLE_RANGE_ELEMENT = 71;
+	int TABLE_RANGE_ELEMENT = 72;
 
 	/**
 	 * The number of structural features of the '<em>Table Range Element</em>' class.
@@ -5108,7 +5127,7 @@
 	 * @see org.eclipse.osbp.xtext.reportdsl.impl.ReportDSLPackageImpl#getTableTextColor()
 	 * @generated
 	 */
-	int TABLE_TEXT_COLOR = 72;
+	int TABLE_TEXT_COLOR = 73;
 
 	/**
 	 * The feature id for the '<em><b>Color</b></em>' reference.
@@ -5154,7 +5173,7 @@
 	 * @see org.eclipse.osbp.xtext.reportdsl.impl.ReportDSLPackageImpl#getTableCellColor()
 	 * @generated
 	 */
-	int TABLE_CELL_COLOR = 73;
+	int TABLE_CELL_COLOR = 74;
 
 	/**
 	 * The feature id for the '<em><b>Color</b></em>' reference.
@@ -5200,7 +5219,7 @@
 	 * @see org.eclipse.osbp.xtext.reportdsl.impl.ReportDSLPackageImpl#getTableIcon()
 	 * @generated
 	 */
-	int TABLE_ICON = 74;
+	int TABLE_ICON = 75;
 
 	/**
 	 * The feature id for the '<em><b>Icon</b></em>' attribute.
@@ -5246,7 +5265,7 @@
 	 * @see org.eclipse.osbp.xtext.reportdsl.impl.ReportDSLPackageImpl#getTableTrend()
 	 * @generated
 	 */
-	int TABLE_TREND = 75;
+	int TABLE_TREND = 76;
 
 	/**
 	 * The feature id for the '<em><b>Icon</b></em>' attribute.
@@ -5292,7 +5311,7 @@
 	 * @see org.eclipse.osbp.xtext.reportdsl.impl.ReportDSLPackageImpl#getTableTooltip()
 	 * @generated
 	 */
-	int TABLE_TOOLTIP = 76;
+	int TABLE_TOOLTIP = 77;
 
 	/**
 	 * The feature id for the '<em><b>Tooltip</b></em>' attribute.
@@ -5338,7 +5357,7 @@
 	 * @see org.eclipse.osbp.xtext.reportdsl.impl.ReportDSLPackageImpl#getStringBinderElement()
 	 * @generated
 	 */
-	int STRING_BINDER_ELEMENT = 77;
+	int STRING_BINDER_ELEMENT = 78;
 
 	/**
 	 * The number of structural features of the '<em>String Binder Element</em>' class.
@@ -5375,7 +5394,7 @@
 	 * @see org.eclipse.osbp.xtext.reportdsl.impl.ReportDSLPackageImpl#getStringBinderValue()
 	 * @generated
 	 */
-	int STRING_BINDER_VALUE = 78;
+	int STRING_BINDER_VALUE = 79;
 
 	/**
 	 * The feature id for the '<em><b>Value</b></em>' attribute.
@@ -5421,7 +5440,7 @@
 	 * @see org.eclipse.osbp.xtext.reportdsl.impl.ReportDSLPackageImpl#getTranslatableText()
 	 * @generated
 	 */
-	int TRANSLATABLE_TEXT = 79;
+	int TRANSLATABLE_TEXT = 80;
 
 	/**
 	 * The feature id for the '<em><b>Value</b></em>' attribute.
@@ -5467,7 +5486,7 @@
 	 * @see org.eclipse.osbp.xtext.reportdsl.impl.ReportDSLPackageImpl#getNonTranslatableText()
 	 * @generated
 	 */
-	int NON_TRANSLATABLE_TEXT = 80;
+	int NON_TRANSLATABLE_TEXT = 81;
 
 	/**
 	 * The feature id for the '<em><b>Value</b></em>' attribute.
@@ -5513,7 +5532,7 @@
 	 * @see org.eclipse.osbp.xtext.reportdsl.impl.ReportDSLPackageImpl#getStringBinder()
 	 * @generated
 	 */
-	int STRING_BINDER = 81;
+	int STRING_BINDER = 82;
 
 	/**
 	 * The feature id for the '<em><b>Style</b></em>' reference.
@@ -5568,7 +5587,7 @@
 	 * @see org.eclipse.osbp.xtext.reportdsl.impl.ReportDSLPackageImpl#getVisibility()
 	 * @generated
 	 */
-	int VISIBILITY = 82;
+	int VISIBILITY = 83;
 
 	/**
 	 * The feature id for the '<em><b>Visibility</b></em>' attribute.
@@ -5614,7 +5633,7 @@
 	 * @see org.eclipse.osbp.xtext.reportdsl.impl.ReportDSLPackageImpl#getPageBreak()
 	 * @generated
 	 */
-	int PAGE_BREAK = 83;
+	int PAGE_BREAK = 84;
 
 	/**
 	 * The feature id for the '<em><b>Before Page Break</b></em>' attribute.
@@ -5669,7 +5688,7 @@
 	 * @see org.eclipse.osbp.xtext.reportdsl.impl.ReportDSLPackageImpl#getGrid()
 	 * @generated
 	 */
-	int GRID = 84;
+	int GRID = 85;
 
 	/**
 	 * The feature id for the '<em><b>Name</b></em>' attribute.
@@ -5690,13 +5709,22 @@
 	int GRID__ROWS = REPORT_BASE_FEATURE_COUNT + 0;
 
 	/**
+	 * The feature id for the '<em><b>Style</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int GRID__STYLE = REPORT_BASE_FEATURE_COUNT + 1;
+
+	/**
 	 * The feature id for the '<em><b>Width Value</b></em>' attribute.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
 	 * @ordered
 	 */
-	int GRID__WIDTH_VALUE = REPORT_BASE_FEATURE_COUNT + 1;
+	int GRID__WIDTH_VALUE = REPORT_BASE_FEATURE_COUNT + 2;
 
 	/**
 	 * The feature id for the '<em><b>Visibility Item</b></em>' containment reference.
@@ -5705,7 +5733,7 @@
 	 * @generated
 	 * @ordered
 	 */
-	int GRID__VISIBILITY_ITEM = REPORT_BASE_FEATURE_COUNT + 2;
+	int GRID__VISIBILITY_ITEM = REPORT_BASE_FEATURE_COUNT + 3;
 
 	/**
 	 * The number of structural features of the '<em>Grid</em>' class.
@@ -5714,7 +5742,7 @@
 	 * @generated
 	 * @ordered
 	 */
-	int GRID_FEATURE_COUNT = REPORT_BASE_FEATURE_COUNT + 3;
+	int GRID_FEATURE_COUNT = REPORT_BASE_FEATURE_COUNT + 4;
 
 	/**
 	 * The operation id for the '<em>EResolve Proxy</em>' operation.
@@ -5742,7 +5770,7 @@
 	 * @see org.eclipse.osbp.xtext.reportdsl.impl.ReportDSLPackageImpl#getGridRow()
 	 * @generated
 	 */
-	int GRID_ROW = 85;
+	int GRID_ROW = 86;
 
 	/**
 	 * The feature id for the '<em><b>Name</b></em>' attribute.
@@ -5824,7 +5852,7 @@
 	 * @see org.eclipse.osbp.xtext.reportdsl.impl.ReportDSLPackageImpl#getGridCell()
 	 * @generated
 	 */
-	int GRID_CELL = 86;
+	int GRID_CELL = 87;
 
 	/**
 	 * The feature id for the '<em><b>Name</b></em>' attribute.
@@ -5915,7 +5943,7 @@
 	 * @see org.eclipse.osbp.xtext.reportdsl.impl.ReportDSLPackageImpl#getUnitEnum()
 	 * @generated
 	 */
-	int UNIT_ENUM = 87;
+	int UNIT_ENUM = 88;
 
 	/**
 	 * The meta object id for the '{@link org.eclipse.osbp.xtext.reportdsl.PageSizeEnum <em>Page Size Enum</em>}' enum.
@@ -5925,7 +5953,7 @@
 	 * @see org.eclipse.osbp.xtext.reportdsl.impl.ReportDSLPackageImpl#getPageSizeEnum()
 	 * @generated
 	 */
-	int PAGE_SIZE_ENUM = 88;
+	int PAGE_SIZE_ENUM = 89;
 
 	/**
 	 * The meta object id for the '{@link org.eclipse.osbp.xtext.reportdsl.OrientationEnum <em>Orientation Enum</em>}' enum.
@@ -5935,7 +5963,7 @@
 	 * @see org.eclipse.osbp.xtext.reportdsl.impl.ReportDSLPackageImpl#getOrientationEnum()
 	 * @generated
 	 */
-	int ORIENTATION_ENUM = 89;
+	int ORIENTATION_ENUM = 90;
 
 	/**
 	 * The meta object id for the '{@link org.eclipse.osbp.xtext.reportdsl.FontStyleEnum <em>Font Style Enum</em>}' enum.
@@ -5945,7 +5973,7 @@
 	 * @see org.eclipse.osbp.xtext.reportdsl.impl.ReportDSLPackageImpl#getFontStyleEnum()
 	 * @generated
 	 */
-	int FONT_STYLE_ENUM = 90;
+	int FONT_STYLE_ENUM = 91;
 
 	/**
 	 * The meta object id for the '{@link org.eclipse.osbp.xtext.reportdsl.BuildInFontFamilyEnum <em>Build In Font Family Enum</em>}' enum.
@@ -5955,7 +5983,7 @@
 	 * @see org.eclipse.osbp.xtext.reportdsl.impl.ReportDSLPackageImpl#getBuildInFontFamilyEnum()
 	 * @generated
 	 */
-	int BUILD_IN_FONT_FAMILY_ENUM = 91;
+	int BUILD_IN_FONT_FAMILY_ENUM = 92;
 
 	/**
 	 * The meta object id for the '{@link org.eclipse.osbp.xtext.reportdsl.BorderTypeEnum <em>Border Type Enum</em>}' enum.
@@ -5965,7 +5993,7 @@
 	 * @see org.eclipse.osbp.xtext.reportdsl.impl.ReportDSLPackageImpl#getBorderTypeEnum()
 	 * @generated
 	 */
-	int BORDER_TYPE_ENUM = 92;
+	int BORDER_TYPE_ENUM = 93;
 
 	/**
 	 * The meta object id for the '{@link org.eclipse.osbp.xtext.reportdsl.TextAlignEnum <em>Text Align Enum</em>}' enum.
@@ -5975,7 +6003,17 @@
 	 * @see org.eclipse.osbp.xtext.reportdsl.impl.ReportDSLPackageImpl#getTextAlignEnum()
 	 * @generated
 	 */
-	int TEXT_ALIGN_ENUM = 93;
+	int TEXT_ALIGN_ENUM = 94;
+
+	/**
+	 * The meta object id for the '{@link org.eclipse.osbp.xtext.reportdsl.VerticalTextAlignEnum <em>Vertical Text Align Enum</em>}' enum.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.eclipse.osbp.xtext.reportdsl.VerticalTextAlignEnum
+	 * @see org.eclipse.osbp.xtext.reportdsl.impl.ReportDSLPackageImpl#getVerticalTextAlignEnum()
+	 * @generated
+	 */
+	int VERTICAL_TEXT_ALIGN_ENUM = 95;
 
 	/**
 	 * The meta object id for the '{@link org.eclipse.osbp.xtext.reportdsl.NumberFormatCategoryEnum <em>Number Format Category Enum</em>}' enum.
@@ -5985,7 +6023,7 @@
 	 * @see org.eclipse.osbp.xtext.reportdsl.impl.ReportDSLPackageImpl#getNumberFormatCategoryEnum()
 	 * @generated
 	 */
-	int NUMBER_FORMAT_CATEGORY_ENUM = 94;
+	int NUMBER_FORMAT_CATEGORY_ENUM = 96;
 
 	/**
 	 * The meta object id for the '{@link org.eclipse.osbp.xtext.reportdsl.CurrencyFormatCategoryEnum <em>Currency Format Category Enum</em>}' enum.
@@ -5995,7 +6033,7 @@
 	 * @see org.eclipse.osbp.xtext.reportdsl.impl.ReportDSLPackageImpl#getCurrencyFormatCategoryEnum()
 	 * @generated
 	 */
-	int CURRENCY_FORMAT_CATEGORY_ENUM = 95;
+	int CURRENCY_FORMAT_CATEGORY_ENUM = 97;
 
 	/**
 	 * The meta object id for the '{@link org.eclipse.osbp.xtext.reportdsl.DateFormatCategoryEnum <em>Date Format Category Enum</em>}' enum.
@@ -6005,7 +6043,7 @@
 	 * @see org.eclipse.osbp.xtext.reportdsl.impl.ReportDSLPackageImpl#getDateFormatCategoryEnum()
 	 * @generated
 	 */
-	int DATE_FORMAT_CATEGORY_ENUM = 96;
+	int DATE_FORMAT_CATEGORY_ENUM = 98;
 
 	/**
 	 * The meta object id for the '{@link org.eclipse.osbp.xtext.reportdsl.DateTimeFormatCategoryEnum <em>Date Time Format Category Enum</em>}' enum.
@@ -6015,7 +6053,7 @@
 	 * @see org.eclipse.osbp.xtext.reportdsl.impl.ReportDSLPackageImpl#getDateTimeFormatCategoryEnum()
 	 * @generated
 	 */
-	int DATE_TIME_FORMAT_CATEGORY_ENUM = 97;
+	int DATE_TIME_FORMAT_CATEGORY_ENUM = 99;
 
 	/**
 	 * The meta object id for the '{@link org.eclipse.osbp.xtext.reportdsl.TimeFormatCategoryEnum <em>Time Format Category Enum</em>}' enum.
@@ -6025,7 +6063,7 @@
 	 * @see org.eclipse.osbp.xtext.reportdsl.impl.ReportDSLPackageImpl#getTimeFormatCategoryEnum()
 	 * @generated
 	 */
-	int TIME_FORMAT_CATEGORY_ENUM = 98;
+	int TIME_FORMAT_CATEGORY_ENUM = 100;
 
 	/**
 	 * The meta object id for the '{@link org.eclipse.osbp.xtext.reportdsl.AutoTextEnum <em>Auto Text Enum</em>}' enum.
@@ -6035,7 +6073,7 @@
 	 * @see org.eclipse.osbp.xtext.reportdsl.impl.ReportDSLPackageImpl#getAutoTextEnum()
 	 * @generated
 	 */
-	int AUTO_TEXT_ENUM = 99;
+	int AUTO_TEXT_ENUM = 101;
 
 	/**
 	 * The meta object id for the '{@link org.eclipse.osbp.xtext.reportdsl.ImageSizeEnum <em>Image Size Enum</em>}' enum.
@@ -6045,7 +6083,7 @@
 	 * @see org.eclipse.osbp.xtext.reportdsl.impl.ReportDSLPackageImpl#getImageSizeEnum()
 	 * @generated
 	 */
-	int IMAGE_SIZE_ENUM = 100;
+	int IMAGE_SIZE_ENUM = 102;
 
 	/**
 	 * The meta object id for the '{@link org.eclipse.osbp.xtext.reportdsl.ImageSourceEnum <em>Image Source Enum</em>}' enum.
@@ -6055,7 +6093,7 @@
 	 * @see org.eclipse.osbp.xtext.reportdsl.impl.ReportDSLPackageImpl#getImageSourceEnum()
 	 * @generated
 	 */
-	int IMAGE_SOURCE_ENUM = 101;
+	int IMAGE_SOURCE_ENUM = 103;
 
 	/**
 	 * The meta object id for the '{@link org.eclipse.osbp.xtext.reportdsl.TextContentTypeEnum <em>Text Content Type Enum</em>}' enum.
@@ -6065,7 +6103,7 @@
 	 * @see org.eclipse.osbp.xtext.reportdsl.impl.ReportDSLPackageImpl#getTextContentTypeEnum()
 	 * @generated
 	 */
-	int TEXT_CONTENT_TYPE_ENUM = 102;
+	int TEXT_CONTENT_TYPE_ENUM = 104;
 
 	/**
 	 * The meta object id for the '{@link org.eclipse.osbp.xtext.reportdsl.PureAggregationTypeEnum <em>Pure Aggregation Type Enum</em>}' enum.
@@ -6075,7 +6113,7 @@
 	 * @see org.eclipse.osbp.xtext.reportdsl.impl.ReportDSLPackageImpl#getPureAggregationTypeEnum()
 	 * @generated
 	 */
-	int PURE_AGGREGATION_TYPE_ENUM = 103;
+	int PURE_AGGREGATION_TYPE_ENUM = 105;
 
 	/**
 	 * The meta object id for the '{@link org.eclipse.osbp.xtext.reportdsl.UnaryAggregationTypeEnum <em>Unary Aggregation Type Enum</em>}' enum.
@@ -6085,7 +6123,7 @@
 	 * @see org.eclipse.osbp.xtext.reportdsl.impl.ReportDSLPackageImpl#getUnaryAggregationTypeEnum()
 	 * @generated
 	 */
-	int UNARY_AGGREGATION_TYPE_ENUM = 104;
+	int UNARY_AGGREGATION_TYPE_ENUM = 106;
 
 	/**
 	 * The meta object id for the '{@link org.eclipse.osbp.xtext.reportdsl.BinaryAggregationTypeEnum <em>Binary Aggregation Type Enum</em>}' enum.
@@ -6095,7 +6133,7 @@
 	 * @see org.eclipse.osbp.xtext.reportdsl.impl.ReportDSLPackageImpl#getBinaryAggregationTypeEnum()
 	 * @generated
 	 */
-	int BINARY_AGGREGATION_TYPE_ENUM = 105;
+	int BINARY_AGGREGATION_TYPE_ENUM = 107;
 
 	/**
 	 * The meta object id for the '{@link org.eclipse.osbp.xtext.reportdsl.MultipleAggregationTypeEnum <em>Multiple Aggregation Type Enum</em>}' enum.
@@ -6105,7 +6143,7 @@
 	 * @see org.eclipse.osbp.xtext.reportdsl.impl.ReportDSLPackageImpl#getMultipleAggregationTypeEnum()
 	 * @generated
 	 */
-	int MULTIPLE_AGGREGATION_TYPE_ENUM = 106;
+	int MULTIPLE_AGGREGATION_TYPE_ENUM = 108;
 
 	/**
 	 * The meta object id for the '{@link org.eclipse.osbp.xtext.reportdsl.BeforeAfterPageBreakEnum <em>Before After Page Break Enum</em>}' enum.
@@ -6115,7 +6153,7 @@
 	 * @see org.eclipse.osbp.xtext.reportdsl.impl.ReportDSLPackageImpl#getBeforeAfterPageBreakEnum()
 	 * @generated
 	 */
-	int BEFORE_AFTER_PAGE_BREAK_ENUM = 107;
+	int BEFORE_AFTER_PAGE_BREAK_ENUM = 109;
 
 	/**
 	 * The meta object id for the '{@link org.eclipse.osbp.xtext.reportdsl.InsidePageBreakEnum <em>Inside Page Break Enum</em>}' enum.
@@ -6125,7 +6163,7 @@
 	 * @see org.eclipse.osbp.xtext.reportdsl.impl.ReportDSLPackageImpl#getInsidePageBreakEnum()
 	 * @generated
 	 */
-	int INSIDE_PAGE_BREAK_ENUM = 108;
+	int INSIDE_PAGE_BREAK_ENUM = 110;
 
 	/**
 	 * The meta object id for the '{@link org.eclipse.osbp.xtext.reportdsl.TrendIconEnum <em>Trend Icon Enum</em>}' enum.
@@ -6135,7 +6173,7 @@
 	 * @see org.eclipse.osbp.xtext.reportdsl.impl.ReportDSLPackageImpl#getTrendIconEnum()
 	 * @generated
 	 */
-	int TREND_ICON_ENUM = 109;
+	int TREND_ICON_ENUM = 111;
 
 	/**
 	 * The meta object id for the '{@link org.eclipse.osbp.xtext.reportdsl.RenderingEnum <em>Rendering Enum</em>}' enum.
@@ -6145,7 +6183,7 @@
 	 * @see org.eclipse.osbp.xtext.reportdsl.impl.ReportDSLPackageImpl#getRenderingEnum()
 	 * @generated
 	 */
-	int RENDERING_ENUM = 110;
+	int RENDERING_ENUM = 112;
 
 	/**
 	 * The meta object id for the '<em>Internal EObject</em>' data type.
@@ -6155,7 +6193,7 @@
 	 * @see org.eclipse.osbp.xtext.reportdsl.impl.ReportDSLPackageImpl#getInternalEObject()
 	 * @generated
 	 */
-	int INTERNAL_EOBJECT = 111;
+	int INTERNAL_EOBJECT = 113;
 
 
 	/**
@@ -6898,6 +6936,17 @@
 	EAttribute getBaseStyle_Textalign();
 
 	/**
+	 * Returns the meta object for the attribute '{@link org.eclipse.osbp.xtext.reportdsl.BaseStyle#getVerticalalign <em>Verticalalign</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the attribute '<em>Verticalalign</em>'.
+	 * @see org.eclipse.osbp.xtext.reportdsl.BaseStyle#getVerticalalign()
+	 * @see #getBaseStyle()
+	 * @generated
+	 */
+	EAttribute getBaseStyle_Verticalalign();
+
+	/**
 	 * Returns the meta object for the containment reference '{@link org.eclipse.osbp.xtext.reportdsl.BaseStyle#getBorderTop <em>Border Top</em>}'.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -7241,6 +7290,27 @@
 	EAttribute getTimeFormat_Report_category();
 
 	/**
+	 * Returns the meta object for class '{@link org.eclipse.osbp.xtext.reportdsl.DatamartContainer <em>Datamart Container</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for class '<em>Datamart Container</em>'.
+	 * @see org.eclipse.osbp.xtext.reportdsl.DatamartContainer
+	 * @generated
+	 */
+	EClass getDatamartContainer();
+
+	/**
+	 * Returns the meta object for the reference '{@link org.eclipse.osbp.xtext.reportdsl.DatamartContainer#getDatamartRef <em>Datamart Ref</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the reference '<em>Datamart Ref</em>'.
+	 * @see org.eclipse.osbp.xtext.reportdsl.DatamartContainer#getDatamartRef()
+	 * @see #getDatamartContainer()
+	 * @generated
+	 */
+	EReference getDatamartContainer_DatamartRef();
+
+	/**
 	 * Returns the meta object for class '{@link org.eclipse.osbp.xtext.reportdsl.Report <em>Report</em>}'.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -7284,17 +7354,6 @@
 	EAttribute getReport_DescriptionValue();
 
 	/**
-	 * Returns the meta object for the reference '{@link org.eclipse.osbp.xtext.reportdsl.Report#getDatamartRef <em>Datamart Ref</em>}'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return the meta object for the reference '<em>Datamart Ref</em>'.
-	 * @see org.eclipse.osbp.xtext.reportdsl.Report#getDatamartRef()
-	 * @see #getReport()
-	 * @generated
-	 */
-	EReference getReport_DatamartRef();
-
-	/**
 	 * Returns the meta object for the attribute '{@link org.eclipse.osbp.xtext.reportdsl.Report#getRendering <em>Rendering</em>}'.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -7805,48 +7864,48 @@
 	EClass getWithHeaderFooter();
 
 	/**
-	 * Returns the meta object for the attribute '{@link org.eclipse.osbp.xtext.reportdsl.WithHeaderFooter#isDetailheader <em>Detailheader</em>}'.
+	 * Returns the meta object for the containment reference '{@link org.eclipse.osbp.xtext.reportdsl.WithHeaderFooter#getHeader <em>Header</em>}'.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
-	 * @return the meta object for the attribute '<em>Detailheader</em>'.
-	 * @see org.eclipse.osbp.xtext.reportdsl.WithHeaderFooter#isDetailheader()
+	 * @return the meta object for the containment reference '<em>Header</em>'.
+	 * @see org.eclipse.osbp.xtext.reportdsl.WithHeaderFooter#getHeader()
 	 * @see #getWithHeaderFooter()
 	 * @generated
 	 */
-	EAttribute getWithHeaderFooter_Detailheader();
+	EReference getWithHeaderFooter_Header();
 
 	/**
-	 * Returns the meta object for the reference '{@link org.eclipse.osbp.xtext.reportdsl.WithHeaderFooter#getHeaderstyle <em>Headerstyle</em>}'.
+	 * Returns the meta object for the containment reference '{@link org.eclipse.osbp.xtext.reportdsl.WithHeaderFooter#getFooter <em>Footer</em>}'.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
-	 * @return the meta object for the reference '<em>Headerstyle</em>'.
-	 * @see org.eclipse.osbp.xtext.reportdsl.WithHeaderFooter#getHeaderstyle()
+	 * @return the meta object for the containment reference '<em>Footer</em>'.
+	 * @see org.eclipse.osbp.xtext.reportdsl.WithHeaderFooter#getFooter()
 	 * @see #getWithHeaderFooter()
 	 * @generated
 	 */
-	EReference getWithHeaderFooter_Headerstyle();
+	EReference getWithHeaderFooter_Footer();
 
 	/**
-	 * Returns the meta object for the attribute '{@link org.eclipse.osbp.xtext.reportdsl.WithHeaderFooter#isDetailfooter <em>Detailfooter</em>}'.
+	 * Returns the meta object for the containment reference '{@link org.eclipse.osbp.xtext.reportdsl.WithHeaderFooter#getVisibilityItem <em>Visibility Item</em>}'.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
-	 * @return the meta object for the attribute '<em>Detailfooter</em>'.
-	 * @see org.eclipse.osbp.xtext.reportdsl.WithHeaderFooter#isDetailfooter()
+	 * @return the meta object for the containment reference '<em>Visibility Item</em>'.
+	 * @see org.eclipse.osbp.xtext.reportdsl.WithHeaderFooter#getVisibilityItem()
 	 * @see #getWithHeaderFooter()
 	 * @generated
 	 */
-	EAttribute getWithHeaderFooter_Detailfooter();
+	EReference getWithHeaderFooter_VisibilityItem();
 
 	/**
-	 * Returns the meta object for the reference '{@link org.eclipse.osbp.xtext.reportdsl.WithHeaderFooter#getFooterstyle <em>Footerstyle</em>}'.
+	 * Returns the meta object for the containment reference '{@link org.eclipse.osbp.xtext.reportdsl.WithHeaderFooter#getPageBreak <em>Page Break</em>}'.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
-	 * @return the meta object for the reference '<em>Footerstyle</em>'.
-	 * @see org.eclipse.osbp.xtext.reportdsl.WithHeaderFooter#getFooterstyle()
+	 * @return the meta object for the containment reference '<em>Page Break</em>'.
+	 * @see org.eclipse.osbp.xtext.reportdsl.WithHeaderFooter#getPageBreak()
 	 * @see #getWithHeaderFooter()
 	 * @generated
 	 */
-	EReference getWithHeaderFooter_Footerstyle();
+	EReference getWithHeaderFooter_PageBreak();
 
 	/**
 	 * Returns the meta object for class '{@link org.eclipse.osbp.xtext.reportdsl.DatamartTable <em>Datamart Table</em>}'.
@@ -7881,28 +7940,6 @@
 	EReference getDatamartTable_Detail();
 
 	/**
-	 * Returns the meta object for the containment reference '{@link org.eclipse.osbp.xtext.reportdsl.DatamartTable#getVisibilityItem <em>Visibility Item</em>}'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return the meta object for the containment reference '<em>Visibility Item</em>'.
-	 * @see org.eclipse.osbp.xtext.reportdsl.DatamartTable#getVisibilityItem()
-	 * @see #getDatamartTable()
-	 * @generated
-	 */
-	EReference getDatamartTable_VisibilityItem();
-
-	/**
-	 * Returns the meta object for the containment reference '{@link org.eclipse.osbp.xtext.reportdsl.DatamartTable#getPageBreak <em>Page Break</em>}'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return the meta object for the containment reference '<em>Page Break</em>'.
-	 * @see org.eclipse.osbp.xtext.reportdsl.DatamartTable#getPageBreak()
-	 * @see #getDatamartTable()
-	 * @generated
-	 */
-	EReference getDatamartTable_PageBreak();
-
-	/**
 	 * Returns the meta object for class '{@link org.eclipse.osbp.xtext.reportdsl.DatamartTableGroup <em>Datamart Table Group</em>}'.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -7924,50 +7961,6 @@
 	EReference getDatamartTableGroup_GroupingRef();
 
 	/**
-	 * Returns the meta object for the containment reference '{@link org.eclipse.osbp.xtext.reportdsl.DatamartTableGroup#getHeader <em>Header</em>}'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return the meta object for the containment reference '<em>Header</em>'.
-	 * @see org.eclipse.osbp.xtext.reportdsl.DatamartTableGroup#getHeader()
-	 * @see #getDatamartTableGroup()
-	 * @generated
-	 */
-	EReference getDatamartTableGroup_Header();
-
-	/**
-	 * Returns the meta object for the containment reference '{@link org.eclipse.osbp.xtext.reportdsl.DatamartTableGroup#getFooter <em>Footer</em>}'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return the meta object for the containment reference '<em>Footer</em>'.
-	 * @see org.eclipse.osbp.xtext.reportdsl.DatamartTableGroup#getFooter()
-	 * @see #getDatamartTableGroup()
-	 * @generated
-	 */
-	EReference getDatamartTableGroup_Footer();
-
-	/**
-	 * Returns the meta object for the containment reference '{@link org.eclipse.osbp.xtext.reportdsl.DatamartTableGroup#getVisibilityItem <em>Visibility Item</em>}'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return the meta object for the containment reference '<em>Visibility Item</em>'.
-	 * @see org.eclipse.osbp.xtext.reportdsl.DatamartTableGroup#getVisibilityItem()
-	 * @see #getDatamartTableGroup()
-	 * @generated
-	 */
-	EReference getDatamartTableGroup_VisibilityItem();
-
-	/**
-	 * Returns the meta object for the containment reference '{@link org.eclipse.osbp.xtext.reportdsl.DatamartTableGroup#getPageBreak <em>Page Break</em>}'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return the meta object for the containment reference '<em>Page Break</em>'.
-	 * @see org.eclipse.osbp.xtext.reportdsl.DatamartTableGroup#getPageBreak()
-	 * @see #getDatamartTableGroup()
-	 * @generated
-	 */
-	EReference getDatamartTableGroup_PageBreak();
-
-	/**
 	 * Returns the meta object for class '{@link org.eclipse.osbp.xtext.reportdsl.SomeGrid <em>Some Grid</em>}'.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -7989,46 +7982,46 @@
 	EReference getSomeGrid_Rows();
 
 	/**
-	 * Returns the meta object for class '{@link org.eclipse.osbp.xtext.reportdsl.DatamartTableGroupHeader <em>Datamart Table Group Header</em>}'.
+	 * Returns the meta object for class '{@link org.eclipse.osbp.xtext.reportdsl.DatamartTableHeader <em>Datamart Table Header</em>}'.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
-	 * @return the meta object for class '<em>Datamart Table Group Header</em>'.
-	 * @see org.eclipse.osbp.xtext.reportdsl.DatamartTableGroupHeader
+	 * @return the meta object for class '<em>Datamart Table Header</em>'.
+	 * @see org.eclipse.osbp.xtext.reportdsl.DatamartTableHeader
 	 * @generated
 	 */
-	EClass getDatamartTableGroupHeader();
+	EClass getDatamartTableHeader();
 
 	/**
-	 * Returns the meta object for the containment reference '{@link org.eclipse.osbp.xtext.reportdsl.DatamartTableGroupHeader#getPageBreak <em>Page Break</em>}'.
+	 * Returns the meta object for the containment reference '{@link org.eclipse.osbp.xtext.reportdsl.DatamartTableHeader#getPageBreak <em>Page Break</em>}'.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @return the meta object for the containment reference '<em>Page Break</em>'.
-	 * @see org.eclipse.osbp.xtext.reportdsl.DatamartTableGroupHeader#getPageBreak()
-	 * @see #getDatamartTableGroupHeader()
+	 * @see org.eclipse.osbp.xtext.reportdsl.DatamartTableHeader#getPageBreak()
+	 * @see #getDatamartTableHeader()
 	 * @generated
 	 */
-	EReference getDatamartTableGroupHeader_PageBreak();
+	EReference getDatamartTableHeader_PageBreak();
 
 	/**
-	 * Returns the meta object for class '{@link org.eclipse.osbp.xtext.reportdsl.DatamartTableGroupFooter <em>Datamart Table Group Footer</em>}'.
+	 * Returns the meta object for class '{@link org.eclipse.osbp.xtext.reportdsl.DatamartTableFooter <em>Datamart Table Footer</em>}'.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
-	 * @return the meta object for class '<em>Datamart Table Group Footer</em>'.
-	 * @see org.eclipse.osbp.xtext.reportdsl.DatamartTableGroupFooter
+	 * @return the meta object for class '<em>Datamart Table Footer</em>'.
+	 * @see org.eclipse.osbp.xtext.reportdsl.DatamartTableFooter
 	 * @generated
 	 */
-	EClass getDatamartTableGroupFooter();
+	EClass getDatamartTableFooter();
 
 	/**
-	 * Returns the meta object for the containment reference '{@link org.eclipse.osbp.xtext.reportdsl.DatamartTableGroupFooter#getPageBreak <em>Page Break</em>}'.
+	 * Returns the meta object for the containment reference '{@link org.eclipse.osbp.xtext.reportdsl.DatamartTableFooter#getPageBreak <em>Page Break</em>}'.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @return the meta object for the containment reference '<em>Page Break</em>'.
-	 * @see org.eclipse.osbp.xtext.reportdsl.DatamartTableGroupFooter#getPageBreak()
-	 * @see #getDatamartTableGroupFooter()
+	 * @see org.eclipse.osbp.xtext.reportdsl.DatamartTableFooter#getPageBreak()
+	 * @see #getDatamartTableFooter()
 	 * @generated
 	 */
-	EReference getDatamartTableGroupFooter_PageBreak();
+	EReference getDatamartTableFooter_PageBreak();
 
 	/**
 	 * Returns the meta object for class '{@link org.eclipse.osbp.xtext.reportdsl.DatamartTableDetail <em>Datamart Table Detail</em>}'.
@@ -9056,6 +9049,16 @@
 	EEnum getTextAlignEnum();
 
 	/**
+	 * Returns the meta object for enum '{@link org.eclipse.osbp.xtext.reportdsl.VerticalTextAlignEnum <em>Vertical Text Align Enum</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for enum '<em>Vertical Text Align Enum</em>'.
+	 * @see org.eclipse.osbp.xtext.reportdsl.VerticalTextAlignEnum
+	 * @generated
+	 */
+	EEnum getVerticalTextAlignEnum();
+
+	/**
 	 * Returns the meta object for enum '{@link org.eclipse.osbp.xtext.reportdsl.NumberFormatCategoryEnum <em>Number Format Category Enum</em>}'.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -9850,6 +9853,14 @@
 		EAttribute BASE_STYLE__TEXTALIGN = eINSTANCE.getBaseStyle_Textalign();
 
 		/**
+		 * The meta object literal for the '<em><b>Verticalalign</b></em>' attribute feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EAttribute BASE_STYLE__VERTICALALIGN = eINSTANCE.getBaseStyle_Verticalalign();
+
+		/**
 		 * The meta object literal for the '<em><b>Border Top</b></em>' containment reference feature.
 		 * <!-- begin-user-doc -->
 		 * <!-- end-user-doc -->
@@ -10124,6 +10135,24 @@
 		EAttribute TIME_FORMAT__REPORT_CATEGORY = eINSTANCE.getTimeFormat_Report_category();
 
 		/**
+		 * The meta object literal for the '{@link org.eclipse.osbp.xtext.reportdsl.impl.DatamartContainerImpl <em>Datamart Container</em>}' class.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @see org.eclipse.osbp.xtext.reportdsl.impl.DatamartContainerImpl
+		 * @see org.eclipse.osbp.xtext.reportdsl.impl.ReportDSLPackageImpl#getDatamartContainer()
+		 * @generated
+		 */
+		EClass DATAMART_CONTAINER = eINSTANCE.getDatamartContainer();
+
+		/**
+		 * The meta object literal for the '<em><b>Datamart Ref</b></em>' reference feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EReference DATAMART_CONTAINER__DATAMART_REF = eINSTANCE.getDatamartContainer_DatamartRef();
+
+		/**
 		 * The meta object literal for the '{@link org.eclipse.osbp.xtext.reportdsl.impl.ReportImpl <em>Report</em>}' class.
 		 * <!-- begin-user-doc -->
 		 * <!-- end-user-doc -->
@@ -10158,14 +10187,6 @@
 		EAttribute REPORT__DESCRIPTION_VALUE = eINSTANCE.getReport_DescriptionValue();
 
 		/**
-		 * The meta object literal for the '<em><b>Datamart Ref</b></em>' reference feature.
-		 * <!-- begin-user-doc -->
-		 * <!-- end-user-doc -->
-		 * @generated
-		 */
-		EReference REPORT__DATAMART_REF = eINSTANCE.getReport_DatamartRef();
-
-		/**
 		 * The meta object literal for the '<em><b>Rendering</b></em>' attribute feature.
 		 * <!-- begin-user-doc -->
 		 * <!-- end-user-doc -->
@@ -10586,36 +10607,36 @@
 		EClass WITH_HEADER_FOOTER = eINSTANCE.getWithHeaderFooter();
 
 		/**
-		 * The meta object literal for the '<em><b>Detailheader</b></em>' attribute feature.
+		 * The meta object literal for the '<em><b>Header</b></em>' containment reference feature.
 		 * <!-- begin-user-doc -->
 		 * <!-- end-user-doc -->
 		 * @generated
 		 */
-		EAttribute WITH_HEADER_FOOTER__DETAILHEADER = eINSTANCE.getWithHeaderFooter_Detailheader();
+		EReference WITH_HEADER_FOOTER__HEADER = eINSTANCE.getWithHeaderFooter_Header();
 
 		/**
-		 * The meta object literal for the '<em><b>Headerstyle</b></em>' reference feature.
+		 * The meta object literal for the '<em><b>Footer</b></em>' containment reference feature.
 		 * <!-- begin-user-doc -->
 		 * <!-- end-user-doc -->
 		 * @generated
 		 */
-		EReference WITH_HEADER_FOOTER__HEADERSTYLE = eINSTANCE.getWithHeaderFooter_Headerstyle();
+		EReference WITH_HEADER_FOOTER__FOOTER = eINSTANCE.getWithHeaderFooter_Footer();
 
 		/**
-		 * The meta object literal for the '<em><b>Detailfooter</b></em>' attribute feature.
+		 * The meta object literal for the '<em><b>Visibility Item</b></em>' containment reference feature.
 		 * <!-- begin-user-doc -->
 		 * <!-- end-user-doc -->
 		 * @generated
 		 */
-		EAttribute WITH_HEADER_FOOTER__DETAILFOOTER = eINSTANCE.getWithHeaderFooter_Detailfooter();
+		EReference WITH_HEADER_FOOTER__VISIBILITY_ITEM = eINSTANCE.getWithHeaderFooter_VisibilityItem();
 
 		/**
-		 * The meta object literal for the '<em><b>Footerstyle</b></em>' reference feature.
+		 * The meta object literal for the '<em><b>Page Break</b></em>' containment reference feature.
 		 * <!-- begin-user-doc -->
 		 * <!-- end-user-doc -->
 		 * @generated
 		 */
-		EReference WITH_HEADER_FOOTER__FOOTERSTYLE = eINSTANCE.getWithHeaderFooter_Footerstyle();
+		EReference WITH_HEADER_FOOTER__PAGE_BREAK = eINSTANCE.getWithHeaderFooter_PageBreak();
 
 		/**
 		 * The meta object literal for the '{@link org.eclipse.osbp.xtext.reportdsl.impl.DatamartTableImpl <em>Datamart Table</em>}' class.
@@ -10644,22 +10665,6 @@
 		EReference DATAMART_TABLE__DETAIL = eINSTANCE.getDatamartTable_Detail();
 
 		/**
-		 * The meta object literal for the '<em><b>Visibility Item</b></em>' containment reference feature.
-		 * <!-- begin-user-doc -->
-		 * <!-- end-user-doc -->
-		 * @generated
-		 */
-		EReference DATAMART_TABLE__VISIBILITY_ITEM = eINSTANCE.getDatamartTable_VisibilityItem();
-
-		/**
-		 * The meta object literal for the '<em><b>Page Break</b></em>' containment reference feature.
-		 * <!-- begin-user-doc -->
-		 * <!-- end-user-doc -->
-		 * @generated
-		 */
-		EReference DATAMART_TABLE__PAGE_BREAK = eINSTANCE.getDatamartTable_PageBreak();
-
-		/**
 		 * The meta object literal for the '{@link org.eclipse.osbp.xtext.reportdsl.impl.DatamartTableGroupImpl <em>Datamart Table Group</em>}' class.
 		 * <!-- begin-user-doc -->
 		 * <!-- end-user-doc -->
@@ -10678,38 +10683,6 @@
 		EReference DATAMART_TABLE_GROUP__GROUPING_REF = eINSTANCE.getDatamartTableGroup_GroupingRef();
 
 		/**
-		 * The meta object literal for the '<em><b>Header</b></em>' containment reference feature.
-		 * <!-- begin-user-doc -->
-		 * <!-- end-user-doc -->
-		 * @generated
-		 */
-		EReference DATAMART_TABLE_GROUP__HEADER = eINSTANCE.getDatamartTableGroup_Header();
-
-		/**
-		 * The meta object literal for the '<em><b>Footer</b></em>' containment reference feature.
-		 * <!-- begin-user-doc -->
-		 * <!-- end-user-doc -->
-		 * @generated
-		 */
-		EReference DATAMART_TABLE_GROUP__FOOTER = eINSTANCE.getDatamartTableGroup_Footer();
-
-		/**
-		 * The meta object literal for the '<em><b>Visibility Item</b></em>' containment reference feature.
-		 * <!-- begin-user-doc -->
-		 * <!-- end-user-doc -->
-		 * @generated
-		 */
-		EReference DATAMART_TABLE_GROUP__VISIBILITY_ITEM = eINSTANCE.getDatamartTableGroup_VisibilityItem();
-
-		/**
-		 * The meta object literal for the '<em><b>Page Break</b></em>' containment reference feature.
-		 * <!-- begin-user-doc -->
-		 * <!-- end-user-doc -->
-		 * @generated
-		 */
-		EReference DATAMART_TABLE_GROUP__PAGE_BREAK = eINSTANCE.getDatamartTableGroup_PageBreak();
-
-		/**
 		 * The meta object literal for the '{@link org.eclipse.osbp.xtext.reportdsl.impl.SomeGridImpl <em>Some Grid</em>}' class.
 		 * <!-- begin-user-doc -->
 		 * <!-- end-user-doc -->
@@ -10728,14 +10701,14 @@
 		EReference SOME_GRID__ROWS = eINSTANCE.getSomeGrid_Rows();
 
 		/**
-		 * The meta object literal for the '{@link org.eclipse.osbp.xtext.reportdsl.impl.DatamartTableGroupHeaderImpl <em>Datamart Table Group Header</em>}' class.
+		 * The meta object literal for the '{@link org.eclipse.osbp.xtext.reportdsl.impl.DatamartTableHeaderImpl <em>Datamart Table Header</em>}' class.
 		 * <!-- begin-user-doc -->
 		 * <!-- end-user-doc -->
-		 * @see org.eclipse.osbp.xtext.reportdsl.impl.DatamartTableGroupHeaderImpl
-		 * @see org.eclipse.osbp.xtext.reportdsl.impl.ReportDSLPackageImpl#getDatamartTableGroupHeader()
+		 * @see org.eclipse.osbp.xtext.reportdsl.impl.DatamartTableHeaderImpl
+		 * @see org.eclipse.osbp.xtext.reportdsl.impl.ReportDSLPackageImpl#getDatamartTableHeader()
 		 * @generated
 		 */
-		EClass DATAMART_TABLE_GROUP_HEADER = eINSTANCE.getDatamartTableGroupHeader();
+		EClass DATAMART_TABLE_HEADER = eINSTANCE.getDatamartTableHeader();
 
 		/**
 		 * The meta object literal for the '<em><b>Page Break</b></em>' containment reference feature.
@@ -10743,17 +10716,17 @@
 		 * <!-- end-user-doc -->
 		 * @generated
 		 */
-		EReference DATAMART_TABLE_GROUP_HEADER__PAGE_BREAK = eINSTANCE.getDatamartTableGroupHeader_PageBreak();
+		EReference DATAMART_TABLE_HEADER__PAGE_BREAK = eINSTANCE.getDatamartTableHeader_PageBreak();
 
 		/**
-		 * The meta object literal for the '{@link org.eclipse.osbp.xtext.reportdsl.impl.DatamartTableGroupFooterImpl <em>Datamart Table Group Footer</em>}' class.
+		 * The meta object literal for the '{@link org.eclipse.osbp.xtext.reportdsl.impl.DatamartTableFooterImpl <em>Datamart Table Footer</em>}' class.
 		 * <!-- begin-user-doc -->
 		 * <!-- end-user-doc -->
-		 * @see org.eclipse.osbp.xtext.reportdsl.impl.DatamartTableGroupFooterImpl
-		 * @see org.eclipse.osbp.xtext.reportdsl.impl.ReportDSLPackageImpl#getDatamartTableGroupFooter()
+		 * @see org.eclipse.osbp.xtext.reportdsl.impl.DatamartTableFooterImpl
+		 * @see org.eclipse.osbp.xtext.reportdsl.impl.ReportDSLPackageImpl#getDatamartTableFooter()
 		 * @generated
 		 */
-		EClass DATAMART_TABLE_GROUP_FOOTER = eINSTANCE.getDatamartTableGroupFooter();
+		EClass DATAMART_TABLE_FOOTER = eINSTANCE.getDatamartTableFooter();
 
 		/**
 		 * The meta object literal for the '<em><b>Page Break</b></em>' containment reference feature.
@@ -10761,7 +10734,7 @@
 		 * <!-- end-user-doc -->
 		 * @generated
 		 */
-		EReference DATAMART_TABLE_GROUP_FOOTER__PAGE_BREAK = eINSTANCE.getDatamartTableGroupFooter_PageBreak();
+		EReference DATAMART_TABLE_FOOTER__PAGE_BREAK = eINSTANCE.getDatamartTableFooter_PageBreak();
 
 		/**
 		 * The meta object literal for the '{@link org.eclipse.osbp.xtext.reportdsl.impl.DatamartTableDetailImpl <em>Datamart Table Detail</em>}' class.
@@ -11624,6 +11597,16 @@
 		EEnum TEXT_ALIGN_ENUM = eINSTANCE.getTextAlignEnum();
 
 		/**
+		 * The meta object literal for the '{@link org.eclipse.osbp.xtext.reportdsl.VerticalTextAlignEnum <em>Vertical Text Align Enum</em>}' enum.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @see org.eclipse.osbp.xtext.reportdsl.VerticalTextAlignEnum
+		 * @see org.eclipse.osbp.xtext.reportdsl.impl.ReportDSLPackageImpl#getVerticalTextAlignEnum()
+		 * @generated
+		 */
+		EEnum VERTICAL_TEXT_ALIGN_ENUM = eINSTANCE.getVerticalTextAlignEnum();
+
+		/**
 		 * The meta object literal for the '{@link org.eclipse.osbp.xtext.reportdsl.NumberFormatCategoryEnum <em>Number Format Category Enum</em>}' enum.
 		 * <!-- begin-user-doc -->
 		 * <!-- end-user-doc -->
diff --git a/org.eclipse.osbp.xtext.reportdsl/emf-gen/org/eclipse/osbp/xtext/reportdsl/TableProperty.java b/org.eclipse.osbp.xtext.reportdsl/emf-gen/org/eclipse/osbp/xtext/reportdsl/TableProperty.java
deleted file mode 100644
index 9c67b83..0000000
--- a/org.eclipse.osbp.xtext.reportdsl/emf-gen/org/eclipse/osbp/xtext/reportdsl/TableProperty.java
+++ /dev/null
@@ -1,61 +0,0 @@
-/**
- * Copyright (c) 2011, 2016 - Loetz GmbH&Co.KG (69115 Heidelberg, Germany)
- *  All rights reserved. This program and the accompanying materials 
- *  are made available under the terms of the Eclipse Public License v1.0 
- *  which accompanies this distribution, and is available at 
- *  http://www.eclipse.org/legal/epl-v10.html 
- * 
- *  Based on ideas from Xtext, Xtend, Xcore
- *   
- *  Contributors:  
- *  		Christophe Loetz  (Loetz GmbH&Co.KG) - Initial implementation 
- *  
- */
-package org.eclipse.osbp.xtext.reportdsl;
-
-import org.eclipse.osbp.xtext.datamartdsl.DatamartProperty;
-
-/**
- * <!-- begin-user-doc -->
- * A representation of the model object '<em><b>Table Property</b></em>'.
- * <!-- end-user-doc -->
- *
- * <p>
- * The following features are supported:
- * <ul>
- *   <li>{@link org.eclipse.osbp.xtext.reportdsl.TableProperty#getValueRef <em>Value Ref</em>}</li>
- * </ul>
- * </p>
- *
- * @see org.eclipse.osbp.xtext.reportdsl.ReportDSLPackage#getTableProperty()
- * @model
- * @generated
- */
-public interface TableProperty extends TableValueElement {
-	/**
-	 * Returns the value of the '<em><b>Value Ref</b></em>' reference.
-	 * <!-- begin-user-doc -->
-	 * <p>
-	 * If the meaning of the '<em>Value Ref</em>' reference isn't clear,
-	 * there really should be more of a description here...
-	 * </p>
-	 * <!-- end-user-doc -->
-	 * @return the value of the '<em>Value Ref</em>' reference.
-	 * @see #setValueRef(DatamartProperty)
-	 * @see org.eclipse.osbp.xtext.reportdsl.ReportDSLPackage#getTableProperty_ValueRef()
-	 * @model
-	 * @generated
-	 */
-	DatamartProperty getValueRef();
-
-	/**
-	 * Sets the value of the '{@link org.eclipse.osbp.xtext.reportdsl.TableProperty#getValueRef <em>Value Ref</em>}' reference.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @param value the new value of the '<em>Value Ref</em>' reference.
-	 * @see #getValueRef()
-	 * @generated
-	 */
-	void setValueRef(DatamartProperty value);
-
-} // TableProperty
diff --git a/org.eclipse.osbp.xtext.reportdsl/emf-gen/org/eclipse/osbp/xtext/reportdsl/VerticalTextAlignEnum.java b/org.eclipse.osbp.xtext.reportdsl/emf-gen/org/eclipse/osbp/xtext/reportdsl/VerticalTextAlignEnum.java
new file mode 100644
index 0000000..1902726
--- /dev/null
+++ b/org.eclipse.osbp.xtext.reportdsl/emf-gen/org/eclipse/osbp/xtext/reportdsl/VerticalTextAlignEnum.java
@@ -0,0 +1,276 @@
+/**
+ * Copyright (c) 2011, 2016 - Loetz GmbH&Co.KG (69115 Heidelberg, Germany)
+ *  All rights reserved. This program and the accompanying materials 
+ *  are made available under the terms of the Eclipse Public License v1.0 
+ *  which accompanies this distribution, and is available at 
+ *  http://www.eclipse.org/legal/epl-v10.html 
+ * 
+ *  Based on ideas from Xtext, Xtend, Xcore
+ *   
+ *  Contributors:  
+ *  		Christophe Loetz  (Loetz GmbH&Co.KG) - Initial implementation 
+ *  
+ */
+package org.eclipse.osbp.xtext.reportdsl;
+
+import java.util.Arrays;
+import java.util.Collections;
+import java.util.List;
+
+import org.eclipse.emf.common.util.Enumerator;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the literals of the enumeration '<em><b>Vertical Text Align Enum</b></em>',
+ * and utility methods for working with them.
+ * <!-- end-user-doc -->
+ * @see org.eclipse.osbp.xtext.reportdsl.ReportDSLPackage#getVerticalTextAlignEnum()
+ * @model
+ * @generated
+ */
+public enum VerticalTextAlignEnum implements Enumerator {
+	/**
+	 * The '<em><b>NULL</b></em>' literal object.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #NULL_VALUE
+	 * @generated
+	 * @ordered
+	 */
+	NULL(0, "NULL", ""),
+
+	/**
+	 * The '<em><b>BOTTOM</b></em>' literal object.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #BOTTOM_VALUE
+	 * @generated
+	 * @ordered
+	 */
+	BOTTOM(0, "BOTTOM", "bottom"),
+
+	/**
+	 * The '<em><b>MIDDLE</b></em>' literal object.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #MIDDLE_VALUE
+	 * @generated
+	 * @ordered
+	 */
+	MIDDLE(0, "MIDDLE", "middle"),
+
+	/**
+	 * The '<em><b>TOP</b></em>' literal object.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #TOP_VALUE
+	 * @generated
+	 * @ordered
+	 */
+	TOP(0, "TOP", "top");
+
+	/**
+	 * The '<em><b>NULL</b></em>' literal value.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of '<em><b>NULL</b></em>' literal object isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @see #NULL
+	 * @model literal=""
+	 * @generated
+	 * @ordered
+	 */
+	public static final int NULL_VALUE = 0;
+
+	/**
+	 * The '<em><b>BOTTOM</b></em>' literal value.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of '<em><b>BOTTOM</b></em>' literal object isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @see #BOTTOM
+	 * @model literal="bottom"
+	 * @generated
+	 * @ordered
+	 */
+	public static final int BOTTOM_VALUE = 0;
+
+	/**
+	 * The '<em><b>MIDDLE</b></em>' literal value.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of '<em><b>MIDDLE</b></em>' literal object isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @see #MIDDLE
+	 * @model literal="middle"
+	 * @generated
+	 * @ordered
+	 */
+	public static final int MIDDLE_VALUE = 0;
+
+	/**
+	 * The '<em><b>TOP</b></em>' literal value.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of '<em><b>TOP</b></em>' literal object isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @see #TOP
+	 * @model literal="top"
+	 * @generated
+	 * @ordered
+	 */
+	public static final int TOP_VALUE = 0;
+
+	/**
+	 * An array of all the '<em><b>Vertical Text Align Enum</b></em>' enumerators.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private static final VerticalTextAlignEnum[] VALUES_ARRAY =
+		new VerticalTextAlignEnum[] {
+			NULL,
+			BOTTOM,
+			MIDDLE,
+			TOP,
+		};
+
+	/**
+	 * A public read-only list of all the '<em><b>Vertical Text Align Enum</b></em>' enumerators.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public static final List<VerticalTextAlignEnum> VALUES = Collections.unmodifiableList(Arrays.asList(VALUES_ARRAY));
+
+	/**
+	 * Returns the '<em><b>Vertical Text Align Enum</b></em>' literal with the specified literal value.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param literal the literal.
+	 * @return the matching enumerator or <code>null</code>.
+	 * @generated
+	 */
+	public static VerticalTextAlignEnum get(String literal) {
+		for (int i = 0; i < VALUES_ARRAY.length; ++i) {
+			VerticalTextAlignEnum result = VALUES_ARRAY[i];
+			if (result.toString().equals(literal)) {
+				return result;
+			}
+		}
+		return null;
+	}
+
+	/**
+	 * Returns the '<em><b>Vertical Text Align Enum</b></em>' literal with the specified name.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param name the name.
+	 * @return the matching enumerator or <code>null</code>.
+	 * @generated
+	 */
+	public static VerticalTextAlignEnum getByName(String name) {
+		for (int i = 0; i < VALUES_ARRAY.length; ++i) {
+			VerticalTextAlignEnum result = VALUES_ARRAY[i];
+			if (result.getName().equals(name)) {
+				return result;
+			}
+		}
+		return null;
+	}
+
+	/**
+	 * Returns the '<em><b>Vertical Text Align Enum</b></em>' literal with the specified integer value.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the integer value.
+	 * @return the matching enumerator or <code>null</code>.
+	 * @generated
+	 */
+	public static VerticalTextAlignEnum get(int value) {
+		switch (value) {
+			case NULL_VALUE: return NULL;
+		}
+		return null;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private final int value;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private final String name;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private final String literal;
+
+	/**
+	 * Only this class can construct instances.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private VerticalTextAlignEnum(int value, String name, String literal) {
+		this.value = value;
+		this.name = name;
+		this.literal = literal;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public int getValue() {
+	  return value;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public String getName() {
+	  return name;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public String getLiteral() {
+	  return literal;
+	}
+
+	/**
+	 * Returns the literal value of the enumerator, which is its string representation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public String toString() {
+		return literal;
+	}
+	
+} //VerticalTextAlignEnum
diff --git a/org.eclipse.osbp.xtext.reportdsl/emf-gen/org/eclipse/osbp/xtext/reportdsl/WithHeaderFooter.java b/org.eclipse.osbp.xtext.reportdsl/emf-gen/org/eclipse/osbp/xtext/reportdsl/WithHeaderFooter.java
index 20131d3..b8314a7 100644
--- a/org.eclipse.osbp.xtext.reportdsl/emf-gen/org/eclipse/osbp/xtext/reportdsl/WithHeaderFooter.java
+++ b/org.eclipse.osbp.xtext.reportdsl/emf-gen/org/eclipse/osbp/xtext/reportdsl/WithHeaderFooter.java
@@ -23,10 +23,10 @@
  * The following features are supported:
  * </p>
  * <ul>
- *   <li>{@link org.eclipse.osbp.xtext.reportdsl.WithHeaderFooter#isDetailheader <em>Detailheader</em>}</li>
- *   <li>{@link org.eclipse.osbp.xtext.reportdsl.WithHeaderFooter#getHeaderstyle <em>Headerstyle</em>}</li>
- *   <li>{@link org.eclipse.osbp.xtext.reportdsl.WithHeaderFooter#isDetailfooter <em>Detailfooter</em>}</li>
- *   <li>{@link org.eclipse.osbp.xtext.reportdsl.WithHeaderFooter#getFooterstyle <em>Footerstyle</em>}</li>
+ *   <li>{@link org.eclipse.osbp.xtext.reportdsl.WithHeaderFooter#getHeader <em>Header</em>}</li>
+ *   <li>{@link org.eclipse.osbp.xtext.reportdsl.WithHeaderFooter#getFooter <em>Footer</em>}</li>
+ *   <li>{@link org.eclipse.osbp.xtext.reportdsl.WithHeaderFooter#getVisibilityItem <em>Visibility Item</em>}</li>
+ *   <li>{@link org.eclipse.osbp.xtext.reportdsl.WithHeaderFooter#getPageBreak <em>Page Break</em>}</li>
  * </ul>
  *
  * @see org.eclipse.osbp.xtext.reportdsl.ReportDSLPackage#getWithHeaderFooter()
@@ -35,107 +35,107 @@
  */
 public interface WithHeaderFooter extends ReportLazyResolver {
 	/**
-	 * Returns the value of the '<em><b>Detailheader</b></em>' attribute.
+	 * Returns the value of the '<em><b>Header</b></em>' containment reference.
 	 * <!-- begin-user-doc -->
 	 * <p>
-	 * If the meaning of the '<em>Detailheader</em>' attribute isn't clear,
+	 * If the meaning of the '<em>Header</em>' containment reference isn't clear,
 	 * there really should be more of a description here...
 	 * </p>
 	 * <!-- end-user-doc -->
-	 * @return the value of the '<em>Detailheader</em>' attribute.
-	 * @see #setDetailheader(boolean)
-	 * @see org.eclipse.osbp.xtext.reportdsl.ReportDSLPackage#getWithHeaderFooter_Detailheader()
-	 * @model unique="false"
+	 * @return the value of the '<em>Header</em>' containment reference.
+	 * @see #setHeader(DatamartTableHeader)
+	 * @see org.eclipse.osbp.xtext.reportdsl.ReportDSLPackage#getWithHeaderFooter_Header()
+	 * @model containment="true"
 	 * @generated
 	 */
-	boolean isDetailheader();
+	DatamartTableHeader getHeader();
 
 	/**
-	 * Sets the value of the '{@link org.eclipse.osbp.xtext.reportdsl.WithHeaderFooter#isDetailheader <em>Detailheader</em>}' attribute.
+	 * Sets the value of the '{@link org.eclipse.osbp.xtext.reportdsl.WithHeaderFooter#getHeader <em>Header</em>}' containment reference.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
-	 * @param value the new value of the '<em>Detailheader</em>' attribute.
-	 * @see #isDetailheader()
+	 * @param value the new value of the '<em>Header</em>' containment reference.
+	 * @see #getHeader()
 	 * @generated
 	 */
-	void setDetailheader(boolean value);
+	void setHeader(DatamartTableHeader value);
 
 	/**
-	 * Returns the value of the '<em><b>Headerstyle</b></em>' reference.
+	 * Returns the value of the '<em><b>Footer</b></em>' containment reference.
 	 * <!-- begin-user-doc -->
 	 * <p>
-	 * If the meaning of the '<em>Headerstyle</em>' reference isn't clear,
+	 * If the meaning of the '<em>Footer</em>' containment reference isn't clear,
 	 * there really should be more of a description here...
 	 * </p>
 	 * <!-- end-user-doc -->
-	 * @return the value of the '<em>Headerstyle</em>' reference.
-	 * @see #setHeaderstyle(Style)
-	 * @see org.eclipse.osbp.xtext.reportdsl.ReportDSLPackage#getWithHeaderFooter_Headerstyle()
-	 * @model
+	 * @return the value of the '<em>Footer</em>' containment reference.
+	 * @see #setFooter(DatamartTableFooter)
+	 * @see org.eclipse.osbp.xtext.reportdsl.ReportDSLPackage#getWithHeaderFooter_Footer()
+	 * @model containment="true"
 	 * @generated
 	 */
-	Style getHeaderstyle();
+	DatamartTableFooter getFooter();
 
 	/**
-	 * Sets the value of the '{@link org.eclipse.osbp.xtext.reportdsl.WithHeaderFooter#getHeaderstyle <em>Headerstyle</em>}' reference.
+	 * Sets the value of the '{@link org.eclipse.osbp.xtext.reportdsl.WithHeaderFooter#getFooter <em>Footer</em>}' containment reference.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
-	 * @param value the new value of the '<em>Headerstyle</em>' reference.
-	 * @see #getHeaderstyle()
+	 * @param value the new value of the '<em>Footer</em>' containment reference.
+	 * @see #getFooter()
 	 * @generated
 	 */
-	void setHeaderstyle(Style value);
+	void setFooter(DatamartTableFooter value);
 
 	/**
-	 * Returns the value of the '<em><b>Detailfooter</b></em>' attribute.
+	 * Returns the value of the '<em><b>Visibility Item</b></em>' containment reference.
 	 * <!-- begin-user-doc -->
 	 * <p>
-	 * If the meaning of the '<em>Detailfooter</em>' attribute isn't clear,
+	 * If the meaning of the '<em>Visibility Item</em>' containment reference isn't clear,
 	 * there really should be more of a description here...
 	 * </p>
 	 * <!-- end-user-doc -->
-	 * @return the value of the '<em>Detailfooter</em>' attribute.
-	 * @see #setDetailfooter(boolean)
-	 * @see org.eclipse.osbp.xtext.reportdsl.ReportDSLPackage#getWithHeaderFooter_Detailfooter()
-	 * @model unique="false"
+	 * @return the value of the '<em>Visibility Item</em>' containment reference.
+	 * @see #setVisibilityItem(Visibility)
+	 * @see org.eclipse.osbp.xtext.reportdsl.ReportDSLPackage#getWithHeaderFooter_VisibilityItem()
+	 * @model containment="true"
 	 * @generated
 	 */
-	boolean isDetailfooter();
+	Visibility getVisibilityItem();
 
 	/**
-	 * Sets the value of the '{@link org.eclipse.osbp.xtext.reportdsl.WithHeaderFooter#isDetailfooter <em>Detailfooter</em>}' attribute.
+	 * Sets the value of the '{@link org.eclipse.osbp.xtext.reportdsl.WithHeaderFooter#getVisibilityItem <em>Visibility Item</em>}' containment reference.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
-	 * @param value the new value of the '<em>Detailfooter</em>' attribute.
-	 * @see #isDetailfooter()
+	 * @param value the new value of the '<em>Visibility Item</em>' containment reference.
+	 * @see #getVisibilityItem()
 	 * @generated
 	 */
-	void setDetailfooter(boolean value);
+	void setVisibilityItem(Visibility value);
 
 	/**
-	 * Returns the value of the '<em><b>Footerstyle</b></em>' reference.
+	 * Returns the value of the '<em><b>Page Break</b></em>' containment reference.
 	 * <!-- begin-user-doc -->
 	 * <p>
-	 * If the meaning of the '<em>Footerstyle</em>' reference isn't clear,
+	 * If the meaning of the '<em>Page Break</em>' containment reference isn't clear,
 	 * there really should be more of a description here...
 	 * </p>
 	 * <!-- end-user-doc -->
-	 * @return the value of the '<em>Footerstyle</em>' reference.
-	 * @see #setFooterstyle(Style)
-	 * @see org.eclipse.osbp.xtext.reportdsl.ReportDSLPackage#getWithHeaderFooter_Footerstyle()
-	 * @model
+	 * @return the value of the '<em>Page Break</em>' containment reference.
+	 * @see #setPageBreak(PageBreak)
+	 * @see org.eclipse.osbp.xtext.reportdsl.ReportDSLPackage#getWithHeaderFooter_PageBreak()
+	 * @model containment="true"
 	 * @generated
 	 */
-	Style getFooterstyle();
+	PageBreak getPageBreak();
 
 	/**
-	 * Sets the value of the '{@link org.eclipse.osbp.xtext.reportdsl.WithHeaderFooter#getFooterstyle <em>Footerstyle</em>}' reference.
+	 * Sets the value of the '{@link org.eclipse.osbp.xtext.reportdsl.WithHeaderFooter#getPageBreak <em>Page Break</em>}' containment reference.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
-	 * @param value the new value of the '<em>Footerstyle</em>' reference.
-	 * @see #getFooterstyle()
+	 * @param value the new value of the '<em>Page Break</em>' containment reference.
+	 * @see #getPageBreak()
 	 * @generated
 	 */
-	void setFooterstyle(Style value);
+	void setPageBreak(PageBreak value);
 
 } // WithHeaderFooter
diff --git a/org.eclipse.osbp.xtext.reportdsl/emf-gen/org/eclipse/osbp/xtext/reportdsl/impl/BaseStyleImpl.java b/org.eclipse.osbp.xtext.reportdsl/emf-gen/org/eclipse/osbp/xtext/reportdsl/impl/BaseStyleImpl.java
index 8e4e894..a655e63 100644
--- a/org.eclipse.osbp.xtext.reportdsl/emf-gen/org/eclipse/osbp/xtext/reportdsl/impl/BaseStyleImpl.java
+++ b/org.eclipse.osbp.xtext.reportdsl/emf-gen/org/eclipse/osbp/xtext/reportdsl/impl/BaseStyleImpl.java
@@ -28,6 +28,7 @@
 import org.eclipse.osbp.xtext.reportdsl.ReportDSLPackage;
 import org.eclipse.osbp.xtext.reportdsl.SomeFormat;
 import org.eclipse.osbp.xtext.reportdsl.TextAlignEnum;
+import org.eclipse.osbp.xtext.reportdsl.VerticalTextAlignEnum;
 
 /**
  * <!-- begin-user-doc -->
@@ -43,6 +44,7 @@
  *   <li>{@link org.eclipse.osbp.xtext.reportdsl.impl.BaseStyleImpl#getBackgroundcolor_alternate <em>Backgroundcolor alternate</em>}</li>
  *   <li>{@link org.eclipse.osbp.xtext.reportdsl.impl.BaseStyleImpl#getTextcolor <em>Textcolor</em>}</li>
  *   <li>{@link org.eclipse.osbp.xtext.reportdsl.impl.BaseStyleImpl#getTextalign <em>Textalign</em>}</li>
+ *   <li>{@link org.eclipse.osbp.xtext.reportdsl.impl.BaseStyleImpl#getVerticalalign <em>Verticalalign</em>}</li>
  *   <li>{@link org.eclipse.osbp.xtext.reportdsl.impl.BaseStyleImpl#getBorderTop <em>Border Top</em>}</li>
  *   <li>{@link org.eclipse.osbp.xtext.reportdsl.impl.BaseStyleImpl#getBorderBottom <em>Border Bottom</em>}</li>
  *   <li>{@link org.eclipse.osbp.xtext.reportdsl.impl.BaseStyleImpl#getBorderLeft <em>Border Left</em>}</li>
@@ -131,6 +133,26 @@
 	protected TextAlignEnum textalign = TEXTALIGN_EDEFAULT;
 
 	/**
+	 * The default value of the '{@link #getVerticalalign() <em>Verticalalign</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getVerticalalign()
+	 * @generated
+	 * @ordered
+	 */
+	protected static final VerticalTextAlignEnum VERTICALALIGN_EDEFAULT = VerticalTextAlignEnum.NULL;
+
+	/**
+	 * The cached value of the '{@link #getVerticalalign() <em>Verticalalign</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getVerticalalign()
+	 * @generated
+	 * @ordered
+	 */
+	protected VerticalTextAlignEnum verticalalign = VERTICALALIGN_EDEFAULT;
+
+	/**
 	 * The cached value of the '{@link #getBorderTop() <em>Border Top</em>}' containment reference.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -565,6 +587,27 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
+	public VerticalTextAlignEnum getVerticalalign() {
+		return verticalalign;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setVerticalalign(VerticalTextAlignEnum newVerticalalign) {
+		VerticalTextAlignEnum oldVerticalalign = verticalalign;
+		verticalalign = newVerticalalign == null ? VERTICALALIGN_EDEFAULT : newVerticalalign;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, ReportDSLPackage.BASE_STYLE__VERTICALALIGN, oldVerticalalign, verticalalign));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
 	public BorderStyle getBorderTop() {
 		return borderTop;
 	}
@@ -945,6 +988,8 @@
 				return basicGetTextcolor();
 			case ReportDSLPackage.BASE_STYLE__TEXTALIGN:
 				return getTextalign();
+			case ReportDSLPackage.BASE_STYLE__VERTICALALIGN:
+				return getVerticalalign();
 			case ReportDSLPackage.BASE_STYLE__BORDER_TOP:
 				return getBorderTop();
 			case ReportDSLPackage.BASE_STYLE__BORDER_BOTTOM:
@@ -999,6 +1044,9 @@
 			case ReportDSLPackage.BASE_STYLE__TEXTALIGN:
 				setTextalign((TextAlignEnum)newValue);
 				return;
+			case ReportDSLPackage.BASE_STYLE__VERTICALALIGN:
+				setVerticalalign((VerticalTextAlignEnum)newValue);
+				return;
 			case ReportDSLPackage.BASE_STYLE__BORDER_TOP:
 				setBorderTop((BorderStyle)newValue);
 				return;
@@ -1065,6 +1113,9 @@
 			case ReportDSLPackage.BASE_STYLE__TEXTALIGN:
 				setTextalign(TEXTALIGN_EDEFAULT);
 				return;
+			case ReportDSLPackage.BASE_STYLE__VERTICALALIGN:
+				setVerticalalign(VERTICALALIGN_EDEFAULT);
+				return;
 			case ReportDSLPackage.BASE_STYLE__BORDER_TOP:
 				setBorderTop((BorderStyle)null);
 				return;
@@ -1125,6 +1176,8 @@
 				return textcolor != null;
 			case ReportDSLPackage.BASE_STYLE__TEXTALIGN:
 				return textalign != TEXTALIGN_EDEFAULT;
+			case ReportDSLPackage.BASE_STYLE__VERTICALALIGN:
+				return verticalalign != VERTICALALIGN_EDEFAULT;
 			case ReportDSLPackage.BASE_STYLE__BORDER_TOP:
 				return borderTop != null;
 			case ReportDSLPackage.BASE_STYLE__BORDER_BOTTOM:
@@ -1165,6 +1218,8 @@
 		StringBuffer result = new StringBuffer(super.toString());
 		result.append(" (textalign: ");
 		result.append(textalign);
+		result.append(", verticalalign: ");
+		result.append(verticalalign);
 		result.append(", paddingTopValue: ");
 		result.append(paddingTopValue);
 		result.append(", paddingBottomValue: ");
diff --git a/org.eclipse.osbp.xtext.reportdsl/emf-gen/org/eclipse/osbp/xtext/reportdsl/impl/DatamartContainerImpl.java b/org.eclipse.osbp.xtext.reportdsl/emf-gen/org/eclipse/osbp/xtext/reportdsl/impl/DatamartContainerImpl.java
new file mode 100644
index 0000000..92d5b6d
--- /dev/null
+++ b/org.eclipse.osbp.xtext.reportdsl/emf-gen/org/eclipse/osbp/xtext/reportdsl/impl/DatamartContainerImpl.java
@@ -0,0 +1,169 @@
+/**
+ * Copyright (c) 2011, 2016 - Loetz GmbH&Co.KG (69115 Heidelberg, Germany)
+ *  All rights reserved. This program and the accompanying materials 
+ *  are made available under the terms of the Eclipse Public License v1.0 
+ *  which accompanies this distribution, and is available at 
+ *  http://www.eclipse.org/legal/epl-v10.html 
+ * 
+ *  Based on ideas from Xtext, Xtend, Xcore
+ *   
+ *  Contributors:  
+ *  		Christophe Loetz  (Loetz GmbH&Co.KG) - Initial implementation 
+ *  
+ */
+package org.eclipse.osbp.xtext.reportdsl.impl;
+
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.emf.ecore.impl.MinimalEObjectImpl;
+
+import org.eclipse.osbp.xtext.datamartdsl.DatamartDefinition;
+
+import org.eclipse.osbp.xtext.reportdsl.DatamartContainer;
+import org.eclipse.osbp.xtext.reportdsl.ReportDSLPackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Datamart Container</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ *   <li>{@link org.eclipse.osbp.xtext.reportdsl.impl.DatamartContainerImpl#getDatamartRef <em>Datamart Ref</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class DatamartContainerImpl extends MinimalEObjectImpl.Container implements DatamartContainer {
+	/**
+	 * The cached value of the '{@link #getDatamartRef() <em>Datamart Ref</em>}' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getDatamartRef()
+	 * @generated
+	 * @ordered
+	 */
+	protected DatamartDefinition datamartRef;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected DatamartContainerImpl() {
+		super();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected EClass eStaticClass() {
+		return ReportDSLPackage.Literals.DATAMART_CONTAINER;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public DatamartDefinition getDatamartRef() {
+		if (datamartRef != null && datamartRef.eIsProxy()) {
+			InternalEObject oldDatamartRef = (InternalEObject)datamartRef;
+			datamartRef = (DatamartDefinition)eResolveProxy(oldDatamartRef);
+			if (datamartRef != oldDatamartRef) {
+				if (eNotificationRequired())
+					eNotify(new ENotificationImpl(this, Notification.RESOLVE, ReportDSLPackage.DATAMART_CONTAINER__DATAMART_REF, oldDatamartRef, datamartRef));
+			}
+		}
+		return datamartRef;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public DatamartDefinition basicGetDatamartRef() {
+		return datamartRef;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setDatamartRef(DatamartDefinition newDatamartRef) {
+		DatamartDefinition oldDatamartRef = datamartRef;
+		datamartRef = newDatamartRef;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, ReportDSLPackage.DATAMART_CONTAINER__DATAMART_REF, oldDatamartRef, datamartRef));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Object eGet(int featureID, boolean resolve, boolean coreType) {
+		switch (featureID) {
+			case ReportDSLPackage.DATAMART_CONTAINER__DATAMART_REF:
+				if (resolve) return getDatamartRef();
+				return basicGetDatamartRef();
+		}
+		return super.eGet(featureID, resolve, coreType);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void eSet(int featureID, Object newValue) {
+		switch (featureID) {
+			case ReportDSLPackage.DATAMART_CONTAINER__DATAMART_REF:
+				setDatamartRef((DatamartDefinition)newValue);
+				return;
+		}
+		super.eSet(featureID, newValue);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void eUnset(int featureID) {
+		switch (featureID) {
+			case ReportDSLPackage.DATAMART_CONTAINER__DATAMART_REF:
+				setDatamartRef((DatamartDefinition)null);
+				return;
+		}
+		super.eUnset(featureID);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public boolean eIsSet(int featureID) {
+		switch (featureID) {
+			case ReportDSLPackage.DATAMART_CONTAINER__DATAMART_REF:
+				return datamartRef != null;
+		}
+		return super.eIsSet(featureID);
+	}
+
+} //DatamartContainerImpl
diff --git a/org.eclipse.osbp.xtext.reportdsl/emf-gen/org/eclipse/osbp/xtext/reportdsl/impl/DatamartTableGroupFooterImpl.java b/org.eclipse.osbp.xtext.reportdsl/emf-gen/org/eclipse/osbp/xtext/reportdsl/impl/DatamartTableFooterImpl.java
similarity index 77%
copy from org.eclipse.osbp.xtext.reportdsl/emf-gen/org/eclipse/osbp/xtext/reportdsl/impl/DatamartTableGroupFooterImpl.java
copy to org.eclipse.osbp.xtext.reportdsl/emf-gen/org/eclipse/osbp/xtext/reportdsl/impl/DatamartTableFooterImpl.java
index b9fe889..f1b7275 100644
--- a/org.eclipse.osbp.xtext.reportdsl/emf-gen/org/eclipse/osbp/xtext/reportdsl/impl/DatamartTableGroupFooterImpl.java
+++ b/org.eclipse.osbp.xtext.reportdsl/emf-gen/org/eclipse/osbp/xtext/reportdsl/impl/DatamartTableFooterImpl.java
@@ -28,7 +28,7 @@
 import org.eclipse.emf.ecore.util.EObjectContainmentEList;
 import org.eclipse.emf.ecore.util.InternalEList;
 
-import org.eclipse.osbp.xtext.reportdsl.DatamartTableGroupFooter;
+import org.eclipse.osbp.xtext.reportdsl.DatamartTableFooter;
 import org.eclipse.osbp.xtext.reportdsl.GridRow;
 import org.eclipse.osbp.xtext.reportdsl.PageBreak;
 import org.eclipse.osbp.xtext.reportdsl.ReportDSLPackage;
@@ -38,20 +38,20 @@
 
 /**
  * <!-- begin-user-doc -->
- * An implementation of the model object '<em><b>Datamart Table Group Footer</b></em>'.
+ * An implementation of the model object '<em><b>Datamart Table Footer</b></em>'.
  * <!-- end-user-doc -->
  * <p>
  * The following features are implemented:
  * </p>
  * <ul>
- *   <li>{@link org.eclipse.osbp.xtext.reportdsl.impl.DatamartTableGroupFooterImpl#getRows <em>Rows</em>}</li>
- *   <li>{@link org.eclipse.osbp.xtext.reportdsl.impl.DatamartTableGroupFooterImpl#getStyle <em>Style</em>}</li>
- *   <li>{@link org.eclipse.osbp.xtext.reportdsl.impl.DatamartTableGroupFooterImpl#getPageBreak <em>Page Break</em>}</li>
+ *   <li>{@link org.eclipse.osbp.xtext.reportdsl.impl.DatamartTableFooterImpl#getRows <em>Rows</em>}</li>
+ *   <li>{@link org.eclipse.osbp.xtext.reportdsl.impl.DatamartTableFooterImpl#getStyle <em>Style</em>}</li>
+ *   <li>{@link org.eclipse.osbp.xtext.reportdsl.impl.DatamartTableFooterImpl#getPageBreak <em>Page Break</em>}</li>
  * </ul>
  *
  * @generated
  */
-public class DatamartTableGroupFooterImpl extends ReportLazyResolverImpl implements DatamartTableGroupFooter {
+public class DatamartTableFooterImpl extends ReportLazyResolverImpl implements DatamartTableFooter {
 	/**
 	 * The cached value of the '{@link #getRows() <em>Rows</em>}' containment reference list.
 	 * <!-- begin-user-doc -->
@@ -87,7 +87,7 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	protected DatamartTableGroupFooterImpl() {
+	protected DatamartTableFooterImpl() {
 		super();
 	}
 
@@ -98,7 +98,7 @@
 	 */
 	@Override
 	protected EClass eStaticClass() {
-		return ReportDSLPackage.Literals.DATAMART_TABLE_GROUP_FOOTER;
+		return ReportDSLPackage.Literals.DATAMART_TABLE_FOOTER;
 	}
 
 	/**
@@ -108,7 +108,7 @@
 	 */
 	public EList<GridRow> getRows() {
 		if (rows == null) {
-			rows = new EObjectContainmentEList<GridRow>(GridRow.class, this, ReportDSLPackage.DATAMART_TABLE_GROUP_FOOTER__ROWS);
+			rows = new EObjectContainmentEList<GridRow>(GridRow.class, this, ReportDSLPackage.DATAMART_TABLE_FOOTER__ROWS);
 		}
 		return rows;
 	}
@@ -124,7 +124,7 @@
 			style = (Style)eResolveProxy(oldStyle);
 			if (style != oldStyle) {
 				if (eNotificationRequired())
-					eNotify(new ENotificationImpl(this, Notification.RESOLVE, ReportDSLPackage.DATAMART_TABLE_GROUP_FOOTER__STYLE, oldStyle, style));
+					eNotify(new ENotificationImpl(this, Notification.RESOLVE, ReportDSLPackage.DATAMART_TABLE_FOOTER__STYLE, oldStyle, style));
 			}
 		}
 		return style;
@@ -148,7 +148,7 @@
 		Style oldStyle = style;
 		style = newStyle;
 		if (eNotificationRequired())
-			eNotify(new ENotificationImpl(this, Notification.SET, ReportDSLPackage.DATAMART_TABLE_GROUP_FOOTER__STYLE, oldStyle, style));
+			eNotify(new ENotificationImpl(this, Notification.SET, ReportDSLPackage.DATAMART_TABLE_FOOTER__STYLE, oldStyle, style));
 	}
 
 	/**
@@ -169,7 +169,7 @@
 		PageBreak oldPageBreak = pageBreak;
 		pageBreak = newPageBreak;
 		if (eNotificationRequired()) {
-			ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, ReportDSLPackage.DATAMART_TABLE_GROUP_FOOTER__PAGE_BREAK, oldPageBreak, newPageBreak);
+			ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, ReportDSLPackage.DATAMART_TABLE_FOOTER__PAGE_BREAK, oldPageBreak, newPageBreak);
 			if (msgs == null) msgs = notification; else msgs.add(notification);
 		}
 		return msgs;
@@ -184,14 +184,14 @@
 		if (newPageBreak != pageBreak) {
 			NotificationChain msgs = null;
 			if (pageBreak != null)
-				msgs = ((InternalEObject)pageBreak).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - ReportDSLPackage.DATAMART_TABLE_GROUP_FOOTER__PAGE_BREAK, null, msgs);
+				msgs = ((InternalEObject)pageBreak).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - ReportDSLPackage.DATAMART_TABLE_FOOTER__PAGE_BREAK, null, msgs);
 			if (newPageBreak != null)
-				msgs = ((InternalEObject)newPageBreak).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - ReportDSLPackage.DATAMART_TABLE_GROUP_FOOTER__PAGE_BREAK, null, msgs);
+				msgs = ((InternalEObject)newPageBreak).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - ReportDSLPackage.DATAMART_TABLE_FOOTER__PAGE_BREAK, null, msgs);
 			msgs = basicSetPageBreak(newPageBreak, msgs);
 			if (msgs != null) msgs.dispatch();
 		}
 		else if (eNotificationRequired())
-			eNotify(new ENotificationImpl(this, Notification.SET, ReportDSLPackage.DATAMART_TABLE_GROUP_FOOTER__PAGE_BREAK, newPageBreak, newPageBreak));
+			eNotify(new ENotificationImpl(this, Notification.SET, ReportDSLPackage.DATAMART_TABLE_FOOTER__PAGE_BREAK, newPageBreak, newPageBreak));
 	}
 
 	/**
@@ -202,9 +202,9 @@
 	@Override
 	public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
 		switch (featureID) {
-			case ReportDSLPackage.DATAMART_TABLE_GROUP_FOOTER__ROWS:
+			case ReportDSLPackage.DATAMART_TABLE_FOOTER__ROWS:
 				return ((InternalEList<?>)getRows()).basicRemove(otherEnd, msgs);
-			case ReportDSLPackage.DATAMART_TABLE_GROUP_FOOTER__PAGE_BREAK:
+			case ReportDSLPackage.DATAMART_TABLE_FOOTER__PAGE_BREAK:
 				return basicSetPageBreak(null, msgs);
 		}
 		return super.eInverseRemove(otherEnd, featureID, msgs);
@@ -218,12 +218,12 @@
 	@Override
 	public Object eGet(int featureID, boolean resolve, boolean coreType) {
 		switch (featureID) {
-			case ReportDSLPackage.DATAMART_TABLE_GROUP_FOOTER__ROWS:
+			case ReportDSLPackage.DATAMART_TABLE_FOOTER__ROWS:
 				return getRows();
-			case ReportDSLPackage.DATAMART_TABLE_GROUP_FOOTER__STYLE:
+			case ReportDSLPackage.DATAMART_TABLE_FOOTER__STYLE:
 				if (resolve) return getStyle();
 				return basicGetStyle();
-			case ReportDSLPackage.DATAMART_TABLE_GROUP_FOOTER__PAGE_BREAK:
+			case ReportDSLPackage.DATAMART_TABLE_FOOTER__PAGE_BREAK:
 				return getPageBreak();
 		}
 		return super.eGet(featureID, resolve, coreType);
@@ -238,14 +238,14 @@
 	@Override
 	public void eSet(int featureID, Object newValue) {
 		switch (featureID) {
-			case ReportDSLPackage.DATAMART_TABLE_GROUP_FOOTER__ROWS:
+			case ReportDSLPackage.DATAMART_TABLE_FOOTER__ROWS:
 				getRows().clear();
 				getRows().addAll((Collection<? extends GridRow>)newValue);
 				return;
-			case ReportDSLPackage.DATAMART_TABLE_GROUP_FOOTER__STYLE:
+			case ReportDSLPackage.DATAMART_TABLE_FOOTER__STYLE:
 				setStyle((Style)newValue);
 				return;
-			case ReportDSLPackage.DATAMART_TABLE_GROUP_FOOTER__PAGE_BREAK:
+			case ReportDSLPackage.DATAMART_TABLE_FOOTER__PAGE_BREAK:
 				setPageBreak((PageBreak)newValue);
 				return;
 		}
@@ -260,13 +260,13 @@
 	@Override
 	public void eUnset(int featureID) {
 		switch (featureID) {
-			case ReportDSLPackage.DATAMART_TABLE_GROUP_FOOTER__ROWS:
+			case ReportDSLPackage.DATAMART_TABLE_FOOTER__ROWS:
 				getRows().clear();
 				return;
-			case ReportDSLPackage.DATAMART_TABLE_GROUP_FOOTER__STYLE:
+			case ReportDSLPackage.DATAMART_TABLE_FOOTER__STYLE:
 				setStyle((Style)null);
 				return;
-			case ReportDSLPackage.DATAMART_TABLE_GROUP_FOOTER__PAGE_BREAK:
+			case ReportDSLPackage.DATAMART_TABLE_FOOTER__PAGE_BREAK:
 				setPageBreak((PageBreak)null);
 				return;
 		}
@@ -281,11 +281,11 @@
 	@Override
 	public boolean eIsSet(int featureID) {
 		switch (featureID) {
-			case ReportDSLPackage.DATAMART_TABLE_GROUP_FOOTER__ROWS:
+			case ReportDSLPackage.DATAMART_TABLE_FOOTER__ROWS:
 				return rows != null && !rows.isEmpty();
-			case ReportDSLPackage.DATAMART_TABLE_GROUP_FOOTER__STYLE:
+			case ReportDSLPackage.DATAMART_TABLE_FOOTER__STYLE:
 				return style != null;
-			case ReportDSLPackage.DATAMART_TABLE_GROUP_FOOTER__PAGE_BREAK:
+			case ReportDSLPackage.DATAMART_TABLE_FOOTER__PAGE_BREAK:
 				return pageBreak != null;
 		}
 		return super.eIsSet(featureID);
@@ -300,13 +300,13 @@
 	public int eBaseStructuralFeatureID(int derivedFeatureID, Class<?> baseClass) {
 		if (baseClass == SomeGrid.class) {
 			switch (derivedFeatureID) {
-				case ReportDSLPackage.DATAMART_TABLE_GROUP_FOOTER__ROWS: return ReportDSLPackage.SOME_GRID__ROWS;
+				case ReportDSLPackage.DATAMART_TABLE_FOOTER__ROWS: return ReportDSLPackage.SOME_GRID__ROWS;
 				default: return -1;
 			}
 		}
 		if (baseClass == WithStyle.class) {
 			switch (derivedFeatureID) {
-				case ReportDSLPackage.DATAMART_TABLE_GROUP_FOOTER__STYLE: return ReportDSLPackage.WITH_STYLE__STYLE;
+				case ReportDSLPackage.DATAMART_TABLE_FOOTER__STYLE: return ReportDSLPackage.WITH_STYLE__STYLE;
 				default: return -1;
 			}
 		}
@@ -322,17 +322,17 @@
 	public int eDerivedStructuralFeatureID(int baseFeatureID, Class<?> baseClass) {
 		if (baseClass == SomeGrid.class) {
 			switch (baseFeatureID) {
-				case ReportDSLPackage.SOME_GRID__ROWS: return ReportDSLPackage.DATAMART_TABLE_GROUP_FOOTER__ROWS;
+				case ReportDSLPackage.SOME_GRID__ROWS: return ReportDSLPackage.DATAMART_TABLE_FOOTER__ROWS;
 				default: return -1;
 			}
 		}
 		if (baseClass == WithStyle.class) {
 			switch (baseFeatureID) {
-				case ReportDSLPackage.WITH_STYLE__STYLE: return ReportDSLPackage.DATAMART_TABLE_GROUP_FOOTER__STYLE;
+				case ReportDSLPackage.WITH_STYLE__STYLE: return ReportDSLPackage.DATAMART_TABLE_FOOTER__STYLE;
 				default: return -1;
 			}
 		}
 		return super.eDerivedStructuralFeatureID(baseFeatureID, baseClass);
 	}
 
-} //DatamartTableGroupFooterImpl
+} //DatamartTableFooterImpl
diff --git a/org.eclipse.osbp.xtext.reportdsl/emf-gen/org/eclipse/osbp/xtext/reportdsl/impl/DatamartTableGroupHeaderImpl.java b/org.eclipse.osbp.xtext.reportdsl/emf-gen/org/eclipse/osbp/xtext/reportdsl/impl/DatamartTableGroupHeaderImpl.java
deleted file mode 100644
index f37a5e8..0000000
--- a/org.eclipse.osbp.xtext.reportdsl/emf-gen/org/eclipse/osbp/xtext/reportdsl/impl/DatamartTableGroupHeaderImpl.java
+++ /dev/null
@@ -1,338 +0,0 @@
-/**
- * Copyright (c) 2011, 2016 - Loetz GmbH&Co.KG (69115 Heidelberg, Germany)
- *  All rights reserved. This program and the accompanying materials 
- *  are made available under the terms of the Eclipse Public License v1.0 
- *  which accompanies this distribution, and is available at 
- *  http://www.eclipse.org/legal/epl-v10.html 
- * 
- *  Based on ideas from Xtext, Xtend, Xcore
- *   
- *  Contributors:  
- *  		Christophe Loetz  (Loetz GmbH&Co.KG) - Initial implementation 
- *  
- */
-package org.eclipse.osbp.xtext.reportdsl.impl;
-
-import java.util.Collection;
-
-import org.eclipse.emf.common.notify.Notification;
-import org.eclipse.emf.common.notify.NotificationChain;
-
-import org.eclipse.emf.common.util.EList;
-
-import org.eclipse.emf.ecore.EClass;
-import org.eclipse.emf.ecore.InternalEObject;
-
-import org.eclipse.emf.ecore.impl.ENotificationImpl;
-
-import org.eclipse.emf.ecore.util.EObjectContainmentEList;
-import org.eclipse.emf.ecore.util.InternalEList;
-
-import org.eclipse.osbp.xtext.reportdsl.DatamartTableGroupHeader;
-import org.eclipse.osbp.xtext.reportdsl.GridRow;
-import org.eclipse.osbp.xtext.reportdsl.PageBreak;
-import org.eclipse.osbp.xtext.reportdsl.ReportDSLPackage;
-import org.eclipse.osbp.xtext.reportdsl.SomeGrid;
-import org.eclipse.osbp.xtext.reportdsl.Style;
-import org.eclipse.osbp.xtext.reportdsl.WithStyle;
-
-/**
- * <!-- begin-user-doc -->
- * An implementation of the model object '<em><b>Datamart Table Group Header</b></em>'.
- * <!-- end-user-doc -->
- * <p>
- * The following features are implemented:
- * </p>
- * <ul>
- *   <li>{@link org.eclipse.osbp.xtext.reportdsl.impl.DatamartTableGroupHeaderImpl#getRows <em>Rows</em>}</li>
- *   <li>{@link org.eclipse.osbp.xtext.reportdsl.impl.DatamartTableGroupHeaderImpl#getStyle <em>Style</em>}</li>
- *   <li>{@link org.eclipse.osbp.xtext.reportdsl.impl.DatamartTableGroupHeaderImpl#getPageBreak <em>Page Break</em>}</li>
- * </ul>
- *
- * @generated
- */
-public class DatamartTableGroupHeaderImpl extends ReportLazyResolverImpl implements DatamartTableGroupHeader {
-	/**
-	 * The cached value of the '{@link #getRows() <em>Rows</em>}' containment reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #getRows()
-	 * @generated
-	 * @ordered
-	 */
-	protected EList<GridRow> rows;
-
-	/**
-	 * The cached value of the '{@link #getStyle() <em>Style</em>}' reference.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #getStyle()
-	 * @generated
-	 * @ordered
-	 */
-	protected Style style;
-
-	/**
-	 * The cached value of the '{@link #getPageBreak() <em>Page Break</em>}' containment reference.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #getPageBreak()
-	 * @generated
-	 * @ordered
-	 */
-	protected PageBreak pageBreak;
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	protected DatamartTableGroupHeaderImpl() {
-		super();
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	protected EClass eStaticClass() {
-		return ReportDSLPackage.Literals.DATAMART_TABLE_GROUP_HEADER;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public EList<GridRow> getRows() {
-		if (rows == null) {
-			rows = new EObjectContainmentEList<GridRow>(GridRow.class, this, ReportDSLPackage.DATAMART_TABLE_GROUP_HEADER__ROWS);
-		}
-		return rows;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public Style getStyle() {
-		if (style != null && style.eIsProxy()) {
-			InternalEObject oldStyle = (InternalEObject)style;
-			style = (Style)eResolveProxy(oldStyle);
-			if (style != oldStyle) {
-				if (eNotificationRequired())
-					eNotify(new ENotificationImpl(this, Notification.RESOLVE, ReportDSLPackage.DATAMART_TABLE_GROUP_HEADER__STYLE, oldStyle, style));
-			}
-		}
-		return style;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public Style basicGetStyle() {
-		return style;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public void setStyle(Style newStyle) {
-		Style oldStyle = style;
-		style = newStyle;
-		if (eNotificationRequired())
-			eNotify(new ENotificationImpl(this, Notification.SET, ReportDSLPackage.DATAMART_TABLE_GROUP_HEADER__STYLE, oldStyle, style));
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public PageBreak getPageBreak() {
-		return pageBreak;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public NotificationChain basicSetPageBreak(PageBreak newPageBreak, NotificationChain msgs) {
-		PageBreak oldPageBreak = pageBreak;
-		pageBreak = newPageBreak;
-		if (eNotificationRequired()) {
-			ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, ReportDSLPackage.DATAMART_TABLE_GROUP_HEADER__PAGE_BREAK, oldPageBreak, newPageBreak);
-			if (msgs == null) msgs = notification; else msgs.add(notification);
-		}
-		return msgs;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public void setPageBreak(PageBreak newPageBreak) {
-		if (newPageBreak != pageBreak) {
-			NotificationChain msgs = null;
-			if (pageBreak != null)
-				msgs = ((InternalEObject)pageBreak).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - ReportDSLPackage.DATAMART_TABLE_GROUP_HEADER__PAGE_BREAK, null, msgs);
-			if (newPageBreak != null)
-				msgs = ((InternalEObject)newPageBreak).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - ReportDSLPackage.DATAMART_TABLE_GROUP_HEADER__PAGE_BREAK, null, msgs);
-			msgs = basicSetPageBreak(newPageBreak, msgs);
-			if (msgs != null) msgs.dispatch();
-		}
-		else if (eNotificationRequired())
-			eNotify(new ENotificationImpl(this, Notification.SET, ReportDSLPackage.DATAMART_TABLE_GROUP_HEADER__PAGE_BREAK, newPageBreak, newPageBreak));
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
-		switch (featureID) {
-			case ReportDSLPackage.DATAMART_TABLE_GROUP_HEADER__ROWS:
-				return ((InternalEList<?>)getRows()).basicRemove(otherEnd, msgs);
-			case ReportDSLPackage.DATAMART_TABLE_GROUP_HEADER__PAGE_BREAK:
-				return basicSetPageBreak(null, msgs);
-		}
-		return super.eInverseRemove(otherEnd, featureID, msgs);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	public Object eGet(int featureID, boolean resolve, boolean coreType) {
-		switch (featureID) {
-			case ReportDSLPackage.DATAMART_TABLE_GROUP_HEADER__ROWS:
-				return getRows();
-			case ReportDSLPackage.DATAMART_TABLE_GROUP_HEADER__STYLE:
-				if (resolve) return getStyle();
-				return basicGetStyle();
-			case ReportDSLPackage.DATAMART_TABLE_GROUP_HEADER__PAGE_BREAK:
-				return getPageBreak();
-		}
-		return super.eGet(featureID, resolve, coreType);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@SuppressWarnings("unchecked")
-	@Override
-	public void eSet(int featureID, Object newValue) {
-		switch (featureID) {
-			case ReportDSLPackage.DATAMART_TABLE_GROUP_HEADER__ROWS:
-				getRows().clear();
-				getRows().addAll((Collection<? extends GridRow>)newValue);
-				return;
-			case ReportDSLPackage.DATAMART_TABLE_GROUP_HEADER__STYLE:
-				setStyle((Style)newValue);
-				return;
-			case ReportDSLPackage.DATAMART_TABLE_GROUP_HEADER__PAGE_BREAK:
-				setPageBreak((PageBreak)newValue);
-				return;
-		}
-		super.eSet(featureID, newValue);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	public void eUnset(int featureID) {
-		switch (featureID) {
-			case ReportDSLPackage.DATAMART_TABLE_GROUP_HEADER__ROWS:
-				getRows().clear();
-				return;
-			case ReportDSLPackage.DATAMART_TABLE_GROUP_HEADER__STYLE:
-				setStyle((Style)null);
-				return;
-			case ReportDSLPackage.DATAMART_TABLE_GROUP_HEADER__PAGE_BREAK:
-				setPageBreak((PageBreak)null);
-				return;
-		}
-		super.eUnset(featureID);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	public boolean eIsSet(int featureID) {
-		switch (featureID) {
-			case ReportDSLPackage.DATAMART_TABLE_GROUP_HEADER__ROWS:
-				return rows != null && !rows.isEmpty();
-			case ReportDSLPackage.DATAMART_TABLE_GROUP_HEADER__STYLE:
-				return style != null;
-			case ReportDSLPackage.DATAMART_TABLE_GROUP_HEADER__PAGE_BREAK:
-				return pageBreak != null;
-		}
-		return super.eIsSet(featureID);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	public int eBaseStructuralFeatureID(int derivedFeatureID, Class<?> baseClass) {
-		if (baseClass == SomeGrid.class) {
-			switch (derivedFeatureID) {
-				case ReportDSLPackage.DATAMART_TABLE_GROUP_HEADER__ROWS: return ReportDSLPackage.SOME_GRID__ROWS;
-				default: return -1;
-			}
-		}
-		if (baseClass == WithStyle.class) {
-			switch (derivedFeatureID) {
-				case ReportDSLPackage.DATAMART_TABLE_GROUP_HEADER__STYLE: return ReportDSLPackage.WITH_STYLE__STYLE;
-				default: return -1;
-			}
-		}
-		return super.eBaseStructuralFeatureID(derivedFeatureID, baseClass);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	public int eDerivedStructuralFeatureID(int baseFeatureID, Class<?> baseClass) {
-		if (baseClass == SomeGrid.class) {
-			switch (baseFeatureID) {
-				case ReportDSLPackage.SOME_GRID__ROWS: return ReportDSLPackage.DATAMART_TABLE_GROUP_HEADER__ROWS;
-				default: return -1;
-			}
-		}
-		if (baseClass == WithStyle.class) {
-			switch (baseFeatureID) {
-				case ReportDSLPackage.WITH_STYLE__STYLE: return ReportDSLPackage.DATAMART_TABLE_GROUP_HEADER__STYLE;
-				default: return -1;
-			}
-		}
-		return super.eDerivedStructuralFeatureID(baseFeatureID, baseClass);
-	}
-
-} //DatamartTableGroupHeaderImpl
diff --git a/org.eclipse.osbp.xtext.reportdsl/emf-gen/org/eclipse/osbp/xtext/reportdsl/impl/DatamartTableGroupImpl.java b/org.eclipse.osbp.xtext.reportdsl/emf-gen/org/eclipse/osbp/xtext/reportdsl/impl/DatamartTableGroupImpl.java
index d102969..f2895a1 100644
--- a/org.eclipse.osbp.xtext.reportdsl/emf-gen/org/eclipse/osbp/xtext/reportdsl/impl/DatamartTableGroupImpl.java
+++ b/org.eclipse.osbp.xtext.reportdsl/emf-gen/org/eclipse/osbp/xtext/reportdsl/impl/DatamartTableGroupImpl.java
@@ -23,12 +23,11 @@
 
 import org.eclipse.osbp.xtext.datamartdsl.DatamartAttribute;
 
+import org.eclipse.osbp.xtext.reportdsl.DatamartTableFooter;
 import org.eclipse.osbp.xtext.reportdsl.DatamartTableGroup;
-import org.eclipse.osbp.xtext.reportdsl.DatamartTableGroupFooter;
-import org.eclipse.osbp.xtext.reportdsl.DatamartTableGroupHeader;
+import org.eclipse.osbp.xtext.reportdsl.DatamartTableHeader;
 import org.eclipse.osbp.xtext.reportdsl.PageBreak;
 import org.eclipse.osbp.xtext.reportdsl.ReportDSLPackage;
-import org.eclipse.osbp.xtext.reportdsl.Style;
 import org.eclipse.osbp.xtext.reportdsl.Visibility;
 import org.eclipse.osbp.xtext.reportdsl.WithHeaderFooter;
 
@@ -40,91 +39,17 @@
  * The following features are implemented:
  * </p>
  * <ul>
- *   <li>{@link org.eclipse.osbp.xtext.reportdsl.impl.DatamartTableGroupImpl#isDetailheader <em>Detailheader</em>}</li>
- *   <li>{@link org.eclipse.osbp.xtext.reportdsl.impl.DatamartTableGroupImpl#getHeaderstyle <em>Headerstyle</em>}</li>
- *   <li>{@link org.eclipse.osbp.xtext.reportdsl.impl.DatamartTableGroupImpl#isDetailfooter <em>Detailfooter</em>}</li>
- *   <li>{@link org.eclipse.osbp.xtext.reportdsl.impl.DatamartTableGroupImpl#getFooterstyle <em>Footerstyle</em>}</li>
- *   <li>{@link org.eclipse.osbp.xtext.reportdsl.impl.DatamartTableGroupImpl#getGroupingRef <em>Grouping Ref</em>}</li>
  *   <li>{@link org.eclipse.osbp.xtext.reportdsl.impl.DatamartTableGroupImpl#getHeader <em>Header</em>}</li>
  *   <li>{@link org.eclipse.osbp.xtext.reportdsl.impl.DatamartTableGroupImpl#getFooter <em>Footer</em>}</li>
  *   <li>{@link org.eclipse.osbp.xtext.reportdsl.impl.DatamartTableGroupImpl#getVisibilityItem <em>Visibility Item</em>}</li>
  *   <li>{@link org.eclipse.osbp.xtext.reportdsl.impl.DatamartTableGroupImpl#getPageBreak <em>Page Break</em>}</li>
+ *   <li>{@link org.eclipse.osbp.xtext.reportdsl.impl.DatamartTableGroupImpl#getGroupingRef <em>Grouping Ref</em>}</li>
  * </ul>
  *
  * @generated
  */
 public class DatamartTableGroupImpl extends ReportBaseImpl implements DatamartTableGroup {
 	/**
-	 * The default value of the '{@link #isDetailheader() <em>Detailheader</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #isDetailheader()
-	 * @generated
-	 * @ordered
-	 */
-	protected static final boolean DETAILHEADER_EDEFAULT = false;
-
-	/**
-	 * The cached value of the '{@link #isDetailheader() <em>Detailheader</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #isDetailheader()
-	 * @generated
-	 * @ordered
-	 */
-	protected boolean detailheader = DETAILHEADER_EDEFAULT;
-
-	/**
-	 * The cached value of the '{@link #getHeaderstyle() <em>Headerstyle</em>}' reference.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #getHeaderstyle()
-	 * @generated
-	 * @ordered
-	 */
-	protected Style headerstyle;
-
-	/**
-	 * The default value of the '{@link #isDetailfooter() <em>Detailfooter</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #isDetailfooter()
-	 * @generated
-	 * @ordered
-	 */
-	protected static final boolean DETAILFOOTER_EDEFAULT = false;
-
-	/**
-	 * The cached value of the '{@link #isDetailfooter() <em>Detailfooter</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #isDetailfooter()
-	 * @generated
-	 * @ordered
-	 */
-	protected boolean detailfooter = DETAILFOOTER_EDEFAULT;
-
-	/**
-	 * The cached value of the '{@link #getFooterstyle() <em>Footerstyle</em>}' reference.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #getFooterstyle()
-	 * @generated
-	 * @ordered
-	 */
-	protected Style footerstyle;
-
-	/**
-	 * The cached value of the '{@link #getGroupingRef() <em>Grouping Ref</em>}' reference.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #getGroupingRef()
-	 * @generated
-	 * @ordered
-	 */
-	protected DatamartAttribute groupingRef;
-
-	/**
 	 * The cached value of the '{@link #getHeader() <em>Header</em>}' containment reference.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -132,7 +57,7 @@
 	 * @generated
 	 * @ordered
 	 */
-	protected DatamartTableGroupHeader header;
+	protected DatamartTableHeader header;
 
 	/**
 	 * The cached value of the '{@link #getFooter() <em>Footer</em>}' containment reference.
@@ -142,7 +67,7 @@
 	 * @generated
 	 * @ordered
 	 */
-	protected DatamartTableGroupFooter footer;
+	protected DatamartTableFooter footer;
 
 	/**
 	 * The cached value of the '{@link #getVisibilityItem() <em>Visibility Item</em>}' containment reference.
@@ -165,6 +90,16 @@
 	protected PageBreak pageBreak;
 
 	/**
+	 * The cached value of the '{@link #getGroupingRef() <em>Grouping Ref</em>}' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getGroupingRef()
+	 * @generated
+	 * @ordered
+	 */
+	protected DatamartAttribute groupingRef;
+
+	/**
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
@@ -188,163 +123,7 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	public boolean isDetailheader() {
-		return detailheader;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public void setDetailheader(boolean newDetailheader) {
-		boolean oldDetailheader = detailheader;
-		detailheader = newDetailheader;
-		if (eNotificationRequired())
-			eNotify(new ENotificationImpl(this, Notification.SET, ReportDSLPackage.DATAMART_TABLE_GROUP__DETAILHEADER, oldDetailheader, detailheader));
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public Style getHeaderstyle() {
-		if (headerstyle != null && headerstyle.eIsProxy()) {
-			InternalEObject oldHeaderstyle = (InternalEObject)headerstyle;
-			headerstyle = (Style)eResolveProxy(oldHeaderstyle);
-			if (headerstyle != oldHeaderstyle) {
-				if (eNotificationRequired())
-					eNotify(new ENotificationImpl(this, Notification.RESOLVE, ReportDSLPackage.DATAMART_TABLE_GROUP__HEADERSTYLE, oldHeaderstyle, headerstyle));
-			}
-		}
-		return headerstyle;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public Style basicGetHeaderstyle() {
-		return headerstyle;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public void setHeaderstyle(Style newHeaderstyle) {
-		Style oldHeaderstyle = headerstyle;
-		headerstyle = newHeaderstyle;
-		if (eNotificationRequired())
-			eNotify(new ENotificationImpl(this, Notification.SET, ReportDSLPackage.DATAMART_TABLE_GROUP__HEADERSTYLE, oldHeaderstyle, headerstyle));
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public boolean isDetailfooter() {
-		return detailfooter;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public void setDetailfooter(boolean newDetailfooter) {
-		boolean oldDetailfooter = detailfooter;
-		detailfooter = newDetailfooter;
-		if (eNotificationRequired())
-			eNotify(new ENotificationImpl(this, Notification.SET, ReportDSLPackage.DATAMART_TABLE_GROUP__DETAILFOOTER, oldDetailfooter, detailfooter));
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public Style getFooterstyle() {
-		if (footerstyle != null && footerstyle.eIsProxy()) {
-			InternalEObject oldFooterstyle = (InternalEObject)footerstyle;
-			footerstyle = (Style)eResolveProxy(oldFooterstyle);
-			if (footerstyle != oldFooterstyle) {
-				if (eNotificationRequired())
-					eNotify(new ENotificationImpl(this, Notification.RESOLVE, ReportDSLPackage.DATAMART_TABLE_GROUP__FOOTERSTYLE, oldFooterstyle, footerstyle));
-			}
-		}
-		return footerstyle;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public Style basicGetFooterstyle() {
-		return footerstyle;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public void setFooterstyle(Style newFooterstyle) {
-		Style oldFooterstyle = footerstyle;
-		footerstyle = newFooterstyle;
-		if (eNotificationRequired())
-			eNotify(new ENotificationImpl(this, Notification.SET, ReportDSLPackage.DATAMART_TABLE_GROUP__FOOTERSTYLE, oldFooterstyle, footerstyle));
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public DatamartAttribute getGroupingRef() {
-		if (groupingRef != null && groupingRef.eIsProxy()) {
-			InternalEObject oldGroupingRef = (InternalEObject)groupingRef;
-			groupingRef = (DatamartAttribute)eResolveProxy(oldGroupingRef);
-			if (groupingRef != oldGroupingRef) {
-				if (eNotificationRequired())
-					eNotify(new ENotificationImpl(this, Notification.RESOLVE, ReportDSLPackage.DATAMART_TABLE_GROUP__GROUPING_REF, oldGroupingRef, groupingRef));
-			}
-		}
-		return groupingRef;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public DatamartAttribute basicGetGroupingRef() {
-		return groupingRef;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public void setGroupingRef(DatamartAttribute newGroupingRef) {
-		DatamartAttribute oldGroupingRef = groupingRef;
-		groupingRef = newGroupingRef;
-		if (eNotificationRequired())
-			eNotify(new ENotificationImpl(this, Notification.SET, ReportDSLPackage.DATAMART_TABLE_GROUP__GROUPING_REF, oldGroupingRef, groupingRef));
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public DatamartTableGroupHeader getHeader() {
+	public DatamartTableHeader getHeader() {
 		return header;
 	}
 
@@ -353,8 +132,8 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	public NotificationChain basicSetHeader(DatamartTableGroupHeader newHeader, NotificationChain msgs) {
-		DatamartTableGroupHeader oldHeader = header;
+	public NotificationChain basicSetHeader(DatamartTableHeader newHeader, NotificationChain msgs) {
+		DatamartTableHeader oldHeader = header;
 		header = newHeader;
 		if (eNotificationRequired()) {
 			ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, ReportDSLPackage.DATAMART_TABLE_GROUP__HEADER, oldHeader, newHeader);
@@ -368,7 +147,7 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	public void setHeader(DatamartTableGroupHeader newHeader) {
+	public void setHeader(DatamartTableHeader newHeader) {
 		if (newHeader != header) {
 			NotificationChain msgs = null;
 			if (header != null)
@@ -387,7 +166,7 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	public DatamartTableGroupFooter getFooter() {
+	public DatamartTableFooter getFooter() {
 		return footer;
 	}
 
@@ -396,8 +175,8 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	public NotificationChain basicSetFooter(DatamartTableGroupFooter newFooter, NotificationChain msgs) {
-		DatamartTableGroupFooter oldFooter = footer;
+	public NotificationChain basicSetFooter(DatamartTableFooter newFooter, NotificationChain msgs) {
+		DatamartTableFooter oldFooter = footer;
 		footer = newFooter;
 		if (eNotificationRequired()) {
 			ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, ReportDSLPackage.DATAMART_TABLE_GROUP__FOOTER, oldFooter, newFooter);
@@ -411,7 +190,7 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	public void setFooter(DatamartTableGroupFooter newFooter) {
+	public void setFooter(DatamartTableFooter newFooter) {
 		if (newFooter != footer) {
 			NotificationChain msgs = null;
 			if (footer != null)
@@ -516,6 +295,44 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
+	public DatamartAttribute getGroupingRef() {
+		if (groupingRef != null && groupingRef.eIsProxy()) {
+			InternalEObject oldGroupingRef = (InternalEObject)groupingRef;
+			groupingRef = (DatamartAttribute)eResolveProxy(oldGroupingRef);
+			if (groupingRef != oldGroupingRef) {
+				if (eNotificationRequired())
+					eNotify(new ENotificationImpl(this, Notification.RESOLVE, ReportDSLPackage.DATAMART_TABLE_GROUP__GROUPING_REF, oldGroupingRef, groupingRef));
+			}
+		}
+		return groupingRef;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public DatamartAttribute basicGetGroupingRef() {
+		return groupingRef;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setGroupingRef(DatamartAttribute newGroupingRef) {
+		DatamartAttribute oldGroupingRef = groupingRef;
+		groupingRef = newGroupingRef;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, ReportDSLPackage.DATAMART_TABLE_GROUP__GROUPING_REF, oldGroupingRef, groupingRef));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
 	@Override
 	public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
 		switch (featureID) {
@@ -539,19 +356,6 @@
 	@Override
 	public Object eGet(int featureID, boolean resolve, boolean coreType) {
 		switch (featureID) {
-			case ReportDSLPackage.DATAMART_TABLE_GROUP__DETAILHEADER:
-				return isDetailheader();
-			case ReportDSLPackage.DATAMART_TABLE_GROUP__HEADERSTYLE:
-				if (resolve) return getHeaderstyle();
-				return basicGetHeaderstyle();
-			case ReportDSLPackage.DATAMART_TABLE_GROUP__DETAILFOOTER:
-				return isDetailfooter();
-			case ReportDSLPackage.DATAMART_TABLE_GROUP__FOOTERSTYLE:
-				if (resolve) return getFooterstyle();
-				return basicGetFooterstyle();
-			case ReportDSLPackage.DATAMART_TABLE_GROUP__GROUPING_REF:
-				if (resolve) return getGroupingRef();
-				return basicGetGroupingRef();
 			case ReportDSLPackage.DATAMART_TABLE_GROUP__HEADER:
 				return getHeader();
 			case ReportDSLPackage.DATAMART_TABLE_GROUP__FOOTER:
@@ -560,6 +364,9 @@
 				return getVisibilityItem();
 			case ReportDSLPackage.DATAMART_TABLE_GROUP__PAGE_BREAK:
 				return getPageBreak();
+			case ReportDSLPackage.DATAMART_TABLE_GROUP__GROUPING_REF:
+				if (resolve) return getGroupingRef();
+				return basicGetGroupingRef();
 		}
 		return super.eGet(featureID, resolve, coreType);
 	}
@@ -572,26 +379,11 @@
 	@Override
 	public void eSet(int featureID, Object newValue) {
 		switch (featureID) {
-			case ReportDSLPackage.DATAMART_TABLE_GROUP__DETAILHEADER:
-				setDetailheader((Boolean)newValue);
-				return;
-			case ReportDSLPackage.DATAMART_TABLE_GROUP__HEADERSTYLE:
-				setHeaderstyle((Style)newValue);
-				return;
-			case ReportDSLPackage.DATAMART_TABLE_GROUP__DETAILFOOTER:
-				setDetailfooter((Boolean)newValue);
-				return;
-			case ReportDSLPackage.DATAMART_TABLE_GROUP__FOOTERSTYLE:
-				setFooterstyle((Style)newValue);
-				return;
-			case ReportDSLPackage.DATAMART_TABLE_GROUP__GROUPING_REF:
-				setGroupingRef((DatamartAttribute)newValue);
-				return;
 			case ReportDSLPackage.DATAMART_TABLE_GROUP__HEADER:
-				setHeader((DatamartTableGroupHeader)newValue);
+				setHeader((DatamartTableHeader)newValue);
 				return;
 			case ReportDSLPackage.DATAMART_TABLE_GROUP__FOOTER:
-				setFooter((DatamartTableGroupFooter)newValue);
+				setFooter((DatamartTableFooter)newValue);
 				return;
 			case ReportDSLPackage.DATAMART_TABLE_GROUP__VISIBILITY_ITEM:
 				setVisibilityItem((Visibility)newValue);
@@ -599,6 +391,9 @@
 			case ReportDSLPackage.DATAMART_TABLE_GROUP__PAGE_BREAK:
 				setPageBreak((PageBreak)newValue);
 				return;
+			case ReportDSLPackage.DATAMART_TABLE_GROUP__GROUPING_REF:
+				setGroupingRef((DatamartAttribute)newValue);
+				return;
 		}
 		super.eSet(featureID, newValue);
 	}
@@ -611,26 +406,11 @@
 	@Override
 	public void eUnset(int featureID) {
 		switch (featureID) {
-			case ReportDSLPackage.DATAMART_TABLE_GROUP__DETAILHEADER:
-				setDetailheader(DETAILHEADER_EDEFAULT);
-				return;
-			case ReportDSLPackage.DATAMART_TABLE_GROUP__HEADERSTYLE:
-				setHeaderstyle((Style)null);
-				return;
-			case ReportDSLPackage.DATAMART_TABLE_GROUP__DETAILFOOTER:
-				setDetailfooter(DETAILFOOTER_EDEFAULT);
-				return;
-			case ReportDSLPackage.DATAMART_TABLE_GROUP__FOOTERSTYLE:
-				setFooterstyle((Style)null);
-				return;
-			case ReportDSLPackage.DATAMART_TABLE_GROUP__GROUPING_REF:
-				setGroupingRef((DatamartAttribute)null);
-				return;
 			case ReportDSLPackage.DATAMART_TABLE_GROUP__HEADER:
-				setHeader((DatamartTableGroupHeader)null);
+				setHeader((DatamartTableHeader)null);
 				return;
 			case ReportDSLPackage.DATAMART_TABLE_GROUP__FOOTER:
-				setFooter((DatamartTableGroupFooter)null);
+				setFooter((DatamartTableFooter)null);
 				return;
 			case ReportDSLPackage.DATAMART_TABLE_GROUP__VISIBILITY_ITEM:
 				setVisibilityItem((Visibility)null);
@@ -638,6 +418,9 @@
 			case ReportDSLPackage.DATAMART_TABLE_GROUP__PAGE_BREAK:
 				setPageBreak((PageBreak)null);
 				return;
+			case ReportDSLPackage.DATAMART_TABLE_GROUP__GROUPING_REF:
+				setGroupingRef((DatamartAttribute)null);
+				return;
 		}
 		super.eUnset(featureID);
 	}
@@ -650,16 +433,6 @@
 	@Override
 	public boolean eIsSet(int featureID) {
 		switch (featureID) {
-			case ReportDSLPackage.DATAMART_TABLE_GROUP__DETAILHEADER:
-				return detailheader != DETAILHEADER_EDEFAULT;
-			case ReportDSLPackage.DATAMART_TABLE_GROUP__HEADERSTYLE:
-				return headerstyle != null;
-			case ReportDSLPackage.DATAMART_TABLE_GROUP__DETAILFOOTER:
-				return detailfooter != DETAILFOOTER_EDEFAULT;
-			case ReportDSLPackage.DATAMART_TABLE_GROUP__FOOTERSTYLE:
-				return footerstyle != null;
-			case ReportDSLPackage.DATAMART_TABLE_GROUP__GROUPING_REF:
-				return groupingRef != null;
 			case ReportDSLPackage.DATAMART_TABLE_GROUP__HEADER:
 				return header != null;
 			case ReportDSLPackage.DATAMART_TABLE_GROUP__FOOTER:
@@ -668,6 +441,8 @@
 				return visibilityItem != null;
 			case ReportDSLPackage.DATAMART_TABLE_GROUP__PAGE_BREAK:
 				return pageBreak != null;
+			case ReportDSLPackage.DATAMART_TABLE_GROUP__GROUPING_REF:
+				return groupingRef != null;
 		}
 		return super.eIsSet(featureID);
 	}
@@ -681,10 +456,10 @@
 	public int eBaseStructuralFeatureID(int derivedFeatureID, Class<?> baseClass) {
 		if (baseClass == WithHeaderFooter.class) {
 			switch (derivedFeatureID) {
-				case ReportDSLPackage.DATAMART_TABLE_GROUP__DETAILHEADER: return ReportDSLPackage.WITH_HEADER_FOOTER__DETAILHEADER;
-				case ReportDSLPackage.DATAMART_TABLE_GROUP__HEADERSTYLE: return ReportDSLPackage.WITH_HEADER_FOOTER__HEADERSTYLE;
-				case ReportDSLPackage.DATAMART_TABLE_GROUP__DETAILFOOTER: return ReportDSLPackage.WITH_HEADER_FOOTER__DETAILFOOTER;
-				case ReportDSLPackage.DATAMART_TABLE_GROUP__FOOTERSTYLE: return ReportDSLPackage.WITH_HEADER_FOOTER__FOOTERSTYLE;
+				case ReportDSLPackage.DATAMART_TABLE_GROUP__HEADER: return ReportDSLPackage.WITH_HEADER_FOOTER__HEADER;
+				case ReportDSLPackage.DATAMART_TABLE_GROUP__FOOTER: return ReportDSLPackage.WITH_HEADER_FOOTER__FOOTER;
+				case ReportDSLPackage.DATAMART_TABLE_GROUP__VISIBILITY_ITEM: return ReportDSLPackage.WITH_HEADER_FOOTER__VISIBILITY_ITEM;
+				case ReportDSLPackage.DATAMART_TABLE_GROUP__PAGE_BREAK: return ReportDSLPackage.WITH_HEADER_FOOTER__PAGE_BREAK;
 				default: return -1;
 			}
 		}
@@ -700,32 +475,14 @@
 	public int eDerivedStructuralFeatureID(int baseFeatureID, Class<?> baseClass) {
 		if (baseClass == WithHeaderFooter.class) {
 			switch (baseFeatureID) {
-				case ReportDSLPackage.WITH_HEADER_FOOTER__DETAILHEADER: return ReportDSLPackage.DATAMART_TABLE_GROUP__DETAILHEADER;
-				case ReportDSLPackage.WITH_HEADER_FOOTER__HEADERSTYLE: return ReportDSLPackage.DATAMART_TABLE_GROUP__HEADERSTYLE;
-				case ReportDSLPackage.WITH_HEADER_FOOTER__DETAILFOOTER: return ReportDSLPackage.DATAMART_TABLE_GROUP__DETAILFOOTER;
-				case ReportDSLPackage.WITH_HEADER_FOOTER__FOOTERSTYLE: return ReportDSLPackage.DATAMART_TABLE_GROUP__FOOTERSTYLE;
+				case ReportDSLPackage.WITH_HEADER_FOOTER__HEADER: return ReportDSLPackage.DATAMART_TABLE_GROUP__HEADER;
+				case ReportDSLPackage.WITH_HEADER_FOOTER__FOOTER: return ReportDSLPackage.DATAMART_TABLE_GROUP__FOOTER;
+				case ReportDSLPackage.WITH_HEADER_FOOTER__VISIBILITY_ITEM: return ReportDSLPackage.DATAMART_TABLE_GROUP__VISIBILITY_ITEM;
+				case ReportDSLPackage.WITH_HEADER_FOOTER__PAGE_BREAK: return ReportDSLPackage.DATAMART_TABLE_GROUP__PAGE_BREAK;
 				default: return -1;
 			}
 		}
 		return super.eDerivedStructuralFeatureID(baseFeatureID, baseClass);
 	}
 
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	public String toString() {
-		if (eIsProxy()) return super.toString();
-
-		StringBuffer result = new StringBuffer(super.toString());
-		result.append(" (detailheader: ");
-		result.append(detailheader);
-		result.append(", detailfooter: ");
-		result.append(detailfooter);
-		result.append(')');
-		return result.toString();
-	}
-
 } //DatamartTableGroupImpl
diff --git a/org.eclipse.osbp.xtext.reportdsl/emf-gen/org/eclipse/osbp/xtext/reportdsl/impl/DatamartTableGroupFooterImpl.java b/org.eclipse.osbp.xtext.reportdsl/emf-gen/org/eclipse/osbp/xtext/reportdsl/impl/DatamartTableHeaderImpl.java
similarity index 77%
rename from org.eclipse.osbp.xtext.reportdsl/emf-gen/org/eclipse/osbp/xtext/reportdsl/impl/DatamartTableGroupFooterImpl.java
rename to org.eclipse.osbp.xtext.reportdsl/emf-gen/org/eclipse/osbp/xtext/reportdsl/impl/DatamartTableHeaderImpl.java
index b9fe889..6a8ada2 100644
--- a/org.eclipse.osbp.xtext.reportdsl/emf-gen/org/eclipse/osbp/xtext/reportdsl/impl/DatamartTableGroupFooterImpl.java
+++ b/org.eclipse.osbp.xtext.reportdsl/emf-gen/org/eclipse/osbp/xtext/reportdsl/impl/DatamartTableHeaderImpl.java
@@ -28,7 +28,7 @@
 import org.eclipse.emf.ecore.util.EObjectContainmentEList;
 import org.eclipse.emf.ecore.util.InternalEList;
 
-import org.eclipse.osbp.xtext.reportdsl.DatamartTableGroupFooter;
+import org.eclipse.osbp.xtext.reportdsl.DatamartTableHeader;
 import org.eclipse.osbp.xtext.reportdsl.GridRow;
 import org.eclipse.osbp.xtext.reportdsl.PageBreak;
 import org.eclipse.osbp.xtext.reportdsl.ReportDSLPackage;
@@ -38,20 +38,20 @@
 
 /**
  * <!-- begin-user-doc -->
- * An implementation of the model object '<em><b>Datamart Table Group Footer</b></em>'.
+ * An implementation of the model object '<em><b>Datamart Table Header</b></em>'.
  * <!-- end-user-doc -->
  * <p>
  * The following features are implemented:
  * </p>
  * <ul>
- *   <li>{@link org.eclipse.osbp.xtext.reportdsl.impl.DatamartTableGroupFooterImpl#getRows <em>Rows</em>}</li>
- *   <li>{@link org.eclipse.osbp.xtext.reportdsl.impl.DatamartTableGroupFooterImpl#getStyle <em>Style</em>}</li>
- *   <li>{@link org.eclipse.osbp.xtext.reportdsl.impl.DatamartTableGroupFooterImpl#getPageBreak <em>Page Break</em>}</li>
+ *   <li>{@link org.eclipse.osbp.xtext.reportdsl.impl.DatamartTableHeaderImpl#getRows <em>Rows</em>}</li>
+ *   <li>{@link org.eclipse.osbp.xtext.reportdsl.impl.DatamartTableHeaderImpl#getStyle <em>Style</em>}</li>
+ *   <li>{@link org.eclipse.osbp.xtext.reportdsl.impl.DatamartTableHeaderImpl#getPageBreak <em>Page Break</em>}</li>
  * </ul>
  *
  * @generated
  */
-public class DatamartTableGroupFooterImpl extends ReportLazyResolverImpl implements DatamartTableGroupFooter {
+public class DatamartTableHeaderImpl extends ReportLazyResolverImpl implements DatamartTableHeader {
 	/**
 	 * The cached value of the '{@link #getRows() <em>Rows</em>}' containment reference list.
 	 * <!-- begin-user-doc -->
@@ -87,7 +87,7 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	protected DatamartTableGroupFooterImpl() {
+	protected DatamartTableHeaderImpl() {
 		super();
 	}
 
@@ -98,7 +98,7 @@
 	 */
 	@Override
 	protected EClass eStaticClass() {
-		return ReportDSLPackage.Literals.DATAMART_TABLE_GROUP_FOOTER;
+		return ReportDSLPackage.Literals.DATAMART_TABLE_HEADER;
 	}
 
 	/**
@@ -108,7 +108,7 @@
 	 */
 	public EList<GridRow> getRows() {
 		if (rows == null) {
-			rows = new EObjectContainmentEList<GridRow>(GridRow.class, this, ReportDSLPackage.DATAMART_TABLE_GROUP_FOOTER__ROWS);
+			rows = new EObjectContainmentEList<GridRow>(GridRow.class, this, ReportDSLPackage.DATAMART_TABLE_HEADER__ROWS);
 		}
 		return rows;
 	}
@@ -124,7 +124,7 @@
 			style = (Style)eResolveProxy(oldStyle);
 			if (style != oldStyle) {
 				if (eNotificationRequired())
-					eNotify(new ENotificationImpl(this, Notification.RESOLVE, ReportDSLPackage.DATAMART_TABLE_GROUP_FOOTER__STYLE, oldStyle, style));
+					eNotify(new ENotificationImpl(this, Notification.RESOLVE, ReportDSLPackage.DATAMART_TABLE_HEADER__STYLE, oldStyle, style));
 			}
 		}
 		return style;
@@ -148,7 +148,7 @@
 		Style oldStyle = style;
 		style = newStyle;
 		if (eNotificationRequired())
-			eNotify(new ENotificationImpl(this, Notification.SET, ReportDSLPackage.DATAMART_TABLE_GROUP_FOOTER__STYLE, oldStyle, style));
+			eNotify(new ENotificationImpl(this, Notification.SET, ReportDSLPackage.DATAMART_TABLE_HEADER__STYLE, oldStyle, style));
 	}
 
 	/**
@@ -169,7 +169,7 @@
 		PageBreak oldPageBreak = pageBreak;
 		pageBreak = newPageBreak;
 		if (eNotificationRequired()) {
-			ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, ReportDSLPackage.DATAMART_TABLE_GROUP_FOOTER__PAGE_BREAK, oldPageBreak, newPageBreak);
+			ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, ReportDSLPackage.DATAMART_TABLE_HEADER__PAGE_BREAK, oldPageBreak, newPageBreak);
 			if (msgs == null) msgs = notification; else msgs.add(notification);
 		}
 		return msgs;
@@ -184,14 +184,14 @@
 		if (newPageBreak != pageBreak) {
 			NotificationChain msgs = null;
 			if (pageBreak != null)
-				msgs = ((InternalEObject)pageBreak).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - ReportDSLPackage.DATAMART_TABLE_GROUP_FOOTER__PAGE_BREAK, null, msgs);
+				msgs = ((InternalEObject)pageBreak).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - ReportDSLPackage.DATAMART_TABLE_HEADER__PAGE_BREAK, null, msgs);
 			if (newPageBreak != null)
-				msgs = ((InternalEObject)newPageBreak).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - ReportDSLPackage.DATAMART_TABLE_GROUP_FOOTER__PAGE_BREAK, null, msgs);
+				msgs = ((InternalEObject)newPageBreak).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - ReportDSLPackage.DATAMART_TABLE_HEADER__PAGE_BREAK, null, msgs);
 			msgs = basicSetPageBreak(newPageBreak, msgs);
 			if (msgs != null) msgs.dispatch();
 		}
 		else if (eNotificationRequired())
-			eNotify(new ENotificationImpl(this, Notification.SET, ReportDSLPackage.DATAMART_TABLE_GROUP_FOOTER__PAGE_BREAK, newPageBreak, newPageBreak));
+			eNotify(new ENotificationImpl(this, Notification.SET, ReportDSLPackage.DATAMART_TABLE_HEADER__PAGE_BREAK, newPageBreak, newPageBreak));
 	}
 
 	/**
@@ -202,9 +202,9 @@
 	@Override
 	public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
 		switch (featureID) {
-			case ReportDSLPackage.DATAMART_TABLE_GROUP_FOOTER__ROWS:
+			case ReportDSLPackage.DATAMART_TABLE_HEADER__ROWS:
 				return ((InternalEList<?>)getRows()).basicRemove(otherEnd, msgs);
-			case ReportDSLPackage.DATAMART_TABLE_GROUP_FOOTER__PAGE_BREAK:
+			case ReportDSLPackage.DATAMART_TABLE_HEADER__PAGE_BREAK:
 				return basicSetPageBreak(null, msgs);
 		}
 		return super.eInverseRemove(otherEnd, featureID, msgs);
@@ -218,12 +218,12 @@
 	@Override
 	public Object eGet(int featureID, boolean resolve, boolean coreType) {
 		switch (featureID) {
-			case ReportDSLPackage.DATAMART_TABLE_GROUP_FOOTER__ROWS:
+			case ReportDSLPackage.DATAMART_TABLE_HEADER__ROWS:
 				return getRows();
-			case ReportDSLPackage.DATAMART_TABLE_GROUP_FOOTER__STYLE:
+			case ReportDSLPackage.DATAMART_TABLE_HEADER__STYLE:
 				if (resolve) return getStyle();
 				return basicGetStyle();
-			case ReportDSLPackage.DATAMART_TABLE_GROUP_FOOTER__PAGE_BREAK:
+			case ReportDSLPackage.DATAMART_TABLE_HEADER__PAGE_BREAK:
 				return getPageBreak();
 		}
 		return super.eGet(featureID, resolve, coreType);
@@ -238,14 +238,14 @@
 	@Override
 	public void eSet(int featureID, Object newValue) {
 		switch (featureID) {
-			case ReportDSLPackage.DATAMART_TABLE_GROUP_FOOTER__ROWS:
+			case ReportDSLPackage.DATAMART_TABLE_HEADER__ROWS:
 				getRows().clear();
 				getRows().addAll((Collection<? extends GridRow>)newValue);
 				return;
-			case ReportDSLPackage.DATAMART_TABLE_GROUP_FOOTER__STYLE:
+			case ReportDSLPackage.DATAMART_TABLE_HEADER__STYLE:
 				setStyle((Style)newValue);
 				return;
-			case ReportDSLPackage.DATAMART_TABLE_GROUP_FOOTER__PAGE_BREAK:
+			case ReportDSLPackage.DATAMART_TABLE_HEADER__PAGE_BREAK:
 				setPageBreak((PageBreak)newValue);
 				return;
 		}
@@ -260,13 +260,13 @@
 	@Override
 	public void eUnset(int featureID) {
 		switch (featureID) {
-			case ReportDSLPackage.DATAMART_TABLE_GROUP_FOOTER__ROWS:
+			case ReportDSLPackage.DATAMART_TABLE_HEADER__ROWS:
 				getRows().clear();
 				return;
-			case ReportDSLPackage.DATAMART_TABLE_GROUP_FOOTER__STYLE:
+			case ReportDSLPackage.DATAMART_TABLE_HEADER__STYLE:
 				setStyle((Style)null);
 				return;
-			case ReportDSLPackage.DATAMART_TABLE_GROUP_FOOTER__PAGE_BREAK:
+			case ReportDSLPackage.DATAMART_TABLE_HEADER__PAGE_BREAK:
 				setPageBreak((PageBreak)null);
 				return;
 		}
@@ -281,11 +281,11 @@
 	@Override
 	public boolean eIsSet(int featureID) {
 		switch (featureID) {
-			case ReportDSLPackage.DATAMART_TABLE_GROUP_FOOTER__ROWS:
+			case ReportDSLPackage.DATAMART_TABLE_HEADER__ROWS:
 				return rows != null && !rows.isEmpty();
-			case ReportDSLPackage.DATAMART_TABLE_GROUP_FOOTER__STYLE:
+			case ReportDSLPackage.DATAMART_TABLE_HEADER__STYLE:
 				return style != null;
-			case ReportDSLPackage.DATAMART_TABLE_GROUP_FOOTER__PAGE_BREAK:
+			case ReportDSLPackage.DATAMART_TABLE_HEADER__PAGE_BREAK:
 				return pageBreak != null;
 		}
 		return super.eIsSet(featureID);
@@ -300,13 +300,13 @@
 	public int eBaseStructuralFeatureID(int derivedFeatureID, Class<?> baseClass) {
 		if (baseClass == SomeGrid.class) {
 			switch (derivedFeatureID) {
-				case ReportDSLPackage.DATAMART_TABLE_GROUP_FOOTER__ROWS: return ReportDSLPackage.SOME_GRID__ROWS;
+				case ReportDSLPackage.DATAMART_TABLE_HEADER__ROWS: return ReportDSLPackage.SOME_GRID__ROWS;
 				default: return -1;
 			}
 		}
 		if (baseClass == WithStyle.class) {
 			switch (derivedFeatureID) {
-				case ReportDSLPackage.DATAMART_TABLE_GROUP_FOOTER__STYLE: return ReportDSLPackage.WITH_STYLE__STYLE;
+				case ReportDSLPackage.DATAMART_TABLE_HEADER__STYLE: return ReportDSLPackage.WITH_STYLE__STYLE;
 				default: return -1;
 			}
 		}
@@ -322,17 +322,17 @@
 	public int eDerivedStructuralFeatureID(int baseFeatureID, Class<?> baseClass) {
 		if (baseClass == SomeGrid.class) {
 			switch (baseFeatureID) {
-				case ReportDSLPackage.SOME_GRID__ROWS: return ReportDSLPackage.DATAMART_TABLE_GROUP_FOOTER__ROWS;
+				case ReportDSLPackage.SOME_GRID__ROWS: return ReportDSLPackage.DATAMART_TABLE_HEADER__ROWS;
 				default: return -1;
 			}
 		}
 		if (baseClass == WithStyle.class) {
 			switch (baseFeatureID) {
-				case ReportDSLPackage.WITH_STYLE__STYLE: return ReportDSLPackage.DATAMART_TABLE_GROUP_FOOTER__STYLE;
+				case ReportDSLPackage.WITH_STYLE__STYLE: return ReportDSLPackage.DATAMART_TABLE_HEADER__STYLE;
 				default: return -1;
 			}
 		}
 		return super.eDerivedStructuralFeatureID(baseFeatureID, baseClass);
 	}
 
-} //DatamartTableGroupFooterImpl
+} //DatamartTableHeaderImpl
diff --git a/org.eclipse.osbp.xtext.reportdsl/emf-gen/org/eclipse/osbp/xtext/reportdsl/impl/DatamartTableImpl.java b/org.eclipse.osbp.xtext.reportdsl/emf-gen/org/eclipse/osbp/xtext/reportdsl/impl/DatamartTableImpl.java
index f4be56d..4e30fe9 100644
--- a/org.eclipse.osbp.xtext.reportdsl/emf-gen/org/eclipse/osbp/xtext/reportdsl/impl/DatamartTableImpl.java
+++ b/org.eclipse.osbp.xtext.reportdsl/emf-gen/org/eclipse/osbp/xtext/reportdsl/impl/DatamartTableImpl.java
@@ -28,9 +28,14 @@
 import org.eclipse.emf.ecore.util.EObjectContainmentEList;
 import org.eclipse.emf.ecore.util.InternalEList;
 
+import org.eclipse.osbp.xtext.datamartdsl.DatamartDefinition;
+
+import org.eclipse.osbp.xtext.reportdsl.DatamartContainer;
 import org.eclipse.osbp.xtext.reportdsl.DatamartTable;
 import org.eclipse.osbp.xtext.reportdsl.DatamartTableDetail;
+import org.eclipse.osbp.xtext.reportdsl.DatamartTableFooter;
 import org.eclipse.osbp.xtext.reportdsl.DatamartTableGroup;
+import org.eclipse.osbp.xtext.reportdsl.DatamartTableHeader;
 import org.eclipse.osbp.xtext.reportdsl.Element;
 import org.eclipse.osbp.xtext.reportdsl.PageBreak;
 import org.eclipse.osbp.xtext.reportdsl.ReportDSLPackage;
@@ -48,14 +53,13 @@
  * </p>
  * <ul>
  *   <li>{@link org.eclipse.osbp.xtext.reportdsl.impl.DatamartTableImpl#getStyle <em>Style</em>}</li>
- *   <li>{@link org.eclipse.osbp.xtext.reportdsl.impl.DatamartTableImpl#isDetailheader <em>Detailheader</em>}</li>
- *   <li>{@link org.eclipse.osbp.xtext.reportdsl.impl.DatamartTableImpl#getHeaderstyle <em>Headerstyle</em>}</li>
- *   <li>{@link org.eclipse.osbp.xtext.reportdsl.impl.DatamartTableImpl#isDetailfooter <em>Detailfooter</em>}</li>
- *   <li>{@link org.eclipse.osbp.xtext.reportdsl.impl.DatamartTableImpl#getFooterstyle <em>Footerstyle</em>}</li>
- *   <li>{@link org.eclipse.osbp.xtext.reportdsl.impl.DatamartTableImpl#getGroups <em>Groups</em>}</li>
- *   <li>{@link org.eclipse.osbp.xtext.reportdsl.impl.DatamartTableImpl#getDetail <em>Detail</em>}</li>
+ *   <li>{@link org.eclipse.osbp.xtext.reportdsl.impl.DatamartTableImpl#getHeader <em>Header</em>}</li>
+ *   <li>{@link org.eclipse.osbp.xtext.reportdsl.impl.DatamartTableImpl#getFooter <em>Footer</em>}</li>
  *   <li>{@link org.eclipse.osbp.xtext.reportdsl.impl.DatamartTableImpl#getVisibilityItem <em>Visibility Item</em>}</li>
  *   <li>{@link org.eclipse.osbp.xtext.reportdsl.impl.DatamartTableImpl#getPageBreak <em>Page Break</em>}</li>
+ *   <li>{@link org.eclipse.osbp.xtext.reportdsl.impl.DatamartTableImpl#getDatamartRef <em>Datamart Ref</em>}</li>
+ *   <li>{@link org.eclipse.osbp.xtext.reportdsl.impl.DatamartTableImpl#getGroups <em>Groups</em>}</li>
+ *   <li>{@link org.eclipse.osbp.xtext.reportdsl.impl.DatamartTableImpl#getDetail <em>Detail</em>}</li>
  * </ul>
  *
  * @generated
@@ -72,84 +76,24 @@
 	protected Style style;
 
 	/**
-	 * The default value of the '{@link #isDetailheader() <em>Detailheader</em>}' attribute.
+	 * The cached value of the '{@link #getHeader() <em>Header</em>}' containment reference.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
-	 * @see #isDetailheader()
+	 * @see #getHeader()
 	 * @generated
 	 * @ordered
 	 */
-	protected static final boolean DETAILHEADER_EDEFAULT = false;
+	protected DatamartTableHeader header;
 
 	/**
-	 * The cached value of the '{@link #isDetailheader() <em>Detailheader</em>}' attribute.
+	 * The cached value of the '{@link #getFooter() <em>Footer</em>}' containment reference.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
-	 * @see #isDetailheader()
+	 * @see #getFooter()
 	 * @generated
 	 * @ordered
 	 */
-	protected boolean detailheader = DETAILHEADER_EDEFAULT;
-
-	/**
-	 * The cached value of the '{@link #getHeaderstyle() <em>Headerstyle</em>}' reference.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #getHeaderstyle()
-	 * @generated
-	 * @ordered
-	 */
-	protected Style headerstyle;
-
-	/**
-	 * The default value of the '{@link #isDetailfooter() <em>Detailfooter</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #isDetailfooter()
-	 * @generated
-	 * @ordered
-	 */
-	protected static final boolean DETAILFOOTER_EDEFAULT = false;
-
-	/**
-	 * The cached value of the '{@link #isDetailfooter() <em>Detailfooter</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #isDetailfooter()
-	 * @generated
-	 * @ordered
-	 */
-	protected boolean detailfooter = DETAILFOOTER_EDEFAULT;
-
-	/**
-	 * The cached value of the '{@link #getFooterstyle() <em>Footerstyle</em>}' reference.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #getFooterstyle()
-	 * @generated
-	 * @ordered
-	 */
-	protected Style footerstyle;
-
-	/**
-	 * The cached value of the '{@link #getGroups() <em>Groups</em>}' containment reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #getGroups()
-	 * @generated
-	 * @ordered
-	 */
-	protected EList<DatamartTableGroup> groups;
-
-	/**
-	 * The cached value of the '{@link #getDetail() <em>Detail</em>}' containment reference.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #getDetail()
-	 * @generated
-	 * @ordered
-	 */
-	protected DatamartTableDetail detail;
+	protected DatamartTableFooter footer;
 
 	/**
 	 * The cached value of the '{@link #getVisibilityItem() <em>Visibility Item</em>}' containment reference.
@@ -172,6 +116,36 @@
 	protected PageBreak pageBreak;
 
 	/**
+	 * The cached value of the '{@link #getDatamartRef() <em>Datamart Ref</em>}' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getDatamartRef()
+	 * @generated
+	 * @ordered
+	 */
+	protected DatamartDefinition datamartRef;
+
+	/**
+	 * The cached value of the '{@link #getGroups() <em>Groups</em>}' containment reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getGroups()
+	 * @generated
+	 * @ordered
+	 */
+	protected EList<DatamartTableGroup> groups;
+
+	/**
+	 * The cached value of the '{@link #getDetail() <em>Detail</em>}' containment reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getDetail()
+	 * @generated
+	 * @ordered
+	 */
+	protected DatamartTableDetail detail;
+
+	/**
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
@@ -233,8 +207,8 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	public boolean isDetailheader() {
-		return detailheader;
+	public DatamartTableHeader getHeader() {
+		return header;
 	}
 
 	/**
@@ -242,141 +216,11 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	public void setDetailheader(boolean newDetailheader) {
-		boolean oldDetailheader = detailheader;
-		detailheader = newDetailheader;
-		if (eNotificationRequired())
-			eNotify(new ENotificationImpl(this, Notification.SET, ReportDSLPackage.DATAMART_TABLE__DETAILHEADER, oldDetailheader, detailheader));
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public Style getHeaderstyle() {
-		if (headerstyle != null && headerstyle.eIsProxy()) {
-			InternalEObject oldHeaderstyle = (InternalEObject)headerstyle;
-			headerstyle = (Style)eResolveProxy(oldHeaderstyle);
-			if (headerstyle != oldHeaderstyle) {
-				if (eNotificationRequired())
-					eNotify(new ENotificationImpl(this, Notification.RESOLVE, ReportDSLPackage.DATAMART_TABLE__HEADERSTYLE, oldHeaderstyle, headerstyle));
-			}
-		}
-		return headerstyle;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public Style basicGetHeaderstyle() {
-		return headerstyle;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public void setHeaderstyle(Style newHeaderstyle) {
-		Style oldHeaderstyle = headerstyle;
-		headerstyle = newHeaderstyle;
-		if (eNotificationRequired())
-			eNotify(new ENotificationImpl(this, Notification.SET, ReportDSLPackage.DATAMART_TABLE__HEADERSTYLE, oldHeaderstyle, headerstyle));
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public boolean isDetailfooter() {
-		return detailfooter;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public void setDetailfooter(boolean newDetailfooter) {
-		boolean oldDetailfooter = detailfooter;
-		detailfooter = newDetailfooter;
-		if (eNotificationRequired())
-			eNotify(new ENotificationImpl(this, Notification.SET, ReportDSLPackage.DATAMART_TABLE__DETAILFOOTER, oldDetailfooter, detailfooter));
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public Style getFooterstyle() {
-		if (footerstyle != null && footerstyle.eIsProxy()) {
-			InternalEObject oldFooterstyle = (InternalEObject)footerstyle;
-			footerstyle = (Style)eResolveProxy(oldFooterstyle);
-			if (footerstyle != oldFooterstyle) {
-				if (eNotificationRequired())
-					eNotify(new ENotificationImpl(this, Notification.RESOLVE, ReportDSLPackage.DATAMART_TABLE__FOOTERSTYLE, oldFooterstyle, footerstyle));
-			}
-		}
-		return footerstyle;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public Style basicGetFooterstyle() {
-		return footerstyle;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public void setFooterstyle(Style newFooterstyle) {
-		Style oldFooterstyle = footerstyle;
-		footerstyle = newFooterstyle;
-		if (eNotificationRequired())
-			eNotify(new ENotificationImpl(this, Notification.SET, ReportDSLPackage.DATAMART_TABLE__FOOTERSTYLE, oldFooterstyle, footerstyle));
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public EList<DatamartTableGroup> getGroups() {
-		if (groups == null) {
-			groups = new EObjectContainmentEList<DatamartTableGroup>(DatamartTableGroup.class, this, ReportDSLPackage.DATAMART_TABLE__GROUPS);
-		}
-		return groups;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public DatamartTableDetail getDetail() {
-		return detail;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public NotificationChain basicSetDetail(DatamartTableDetail newDetail, NotificationChain msgs) {
-		DatamartTableDetail oldDetail = detail;
-		detail = newDetail;
+	public NotificationChain basicSetHeader(DatamartTableHeader newHeader, NotificationChain msgs) {
+		DatamartTableHeader oldHeader = header;
+		header = newHeader;
 		if (eNotificationRequired()) {
-			ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, ReportDSLPackage.DATAMART_TABLE__DETAIL, oldDetail, newDetail);
+			ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, ReportDSLPackage.DATAMART_TABLE__HEADER, oldHeader, newHeader);
 			if (msgs == null) msgs = notification; else msgs.add(notification);
 		}
 		return msgs;
@@ -387,18 +231,61 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	public void setDetail(DatamartTableDetail newDetail) {
-		if (newDetail != detail) {
+	public void setHeader(DatamartTableHeader newHeader) {
+		if (newHeader != header) {
 			NotificationChain msgs = null;
-			if (detail != null)
-				msgs = ((InternalEObject)detail).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - ReportDSLPackage.DATAMART_TABLE__DETAIL, null, msgs);
-			if (newDetail != null)
-				msgs = ((InternalEObject)newDetail).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - ReportDSLPackage.DATAMART_TABLE__DETAIL, null, msgs);
-			msgs = basicSetDetail(newDetail, msgs);
+			if (header != null)
+				msgs = ((InternalEObject)header).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - ReportDSLPackage.DATAMART_TABLE__HEADER, null, msgs);
+			if (newHeader != null)
+				msgs = ((InternalEObject)newHeader).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - ReportDSLPackage.DATAMART_TABLE__HEADER, null, msgs);
+			msgs = basicSetHeader(newHeader, msgs);
 			if (msgs != null) msgs.dispatch();
 		}
 		else if (eNotificationRequired())
-			eNotify(new ENotificationImpl(this, Notification.SET, ReportDSLPackage.DATAMART_TABLE__DETAIL, newDetail, newDetail));
+			eNotify(new ENotificationImpl(this, Notification.SET, ReportDSLPackage.DATAMART_TABLE__HEADER, newHeader, newHeader));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public DatamartTableFooter getFooter() {
+		return footer;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public NotificationChain basicSetFooter(DatamartTableFooter newFooter, NotificationChain msgs) {
+		DatamartTableFooter oldFooter = footer;
+		footer = newFooter;
+		if (eNotificationRequired()) {
+			ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, ReportDSLPackage.DATAMART_TABLE__FOOTER, oldFooter, newFooter);
+			if (msgs == null) msgs = notification; else msgs.add(notification);
+		}
+		return msgs;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setFooter(DatamartTableFooter newFooter) {
+		if (newFooter != footer) {
+			NotificationChain msgs = null;
+			if (footer != null)
+				msgs = ((InternalEObject)footer).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - ReportDSLPackage.DATAMART_TABLE__FOOTER, null, msgs);
+			if (newFooter != null)
+				msgs = ((InternalEObject)newFooter).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - ReportDSLPackage.DATAMART_TABLE__FOOTER, null, msgs);
+			msgs = basicSetFooter(newFooter, msgs);
+			if (msgs != null) msgs.dispatch();
+		}
+		else if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, ReportDSLPackage.DATAMART_TABLE__FOOTER, newFooter, newFooter));
 	}
 
 	/**
@@ -492,17 +379,114 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
+	public DatamartDefinition getDatamartRef() {
+		if (datamartRef != null && datamartRef.eIsProxy()) {
+			InternalEObject oldDatamartRef = (InternalEObject)datamartRef;
+			datamartRef = (DatamartDefinition)eResolveProxy(oldDatamartRef);
+			if (datamartRef != oldDatamartRef) {
+				if (eNotificationRequired())
+					eNotify(new ENotificationImpl(this, Notification.RESOLVE, ReportDSLPackage.DATAMART_TABLE__DATAMART_REF, oldDatamartRef, datamartRef));
+			}
+		}
+		return datamartRef;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public DatamartDefinition basicGetDatamartRef() {
+		return datamartRef;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setDatamartRef(DatamartDefinition newDatamartRef) {
+		DatamartDefinition oldDatamartRef = datamartRef;
+		datamartRef = newDatamartRef;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, ReportDSLPackage.DATAMART_TABLE__DATAMART_REF, oldDatamartRef, datamartRef));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EList<DatamartTableGroup> getGroups() {
+		if (groups == null) {
+			groups = new EObjectContainmentEList<DatamartTableGroup>(DatamartTableGroup.class, this, ReportDSLPackage.DATAMART_TABLE__GROUPS);
+		}
+		return groups;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public DatamartTableDetail getDetail() {
+		return detail;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public NotificationChain basicSetDetail(DatamartTableDetail newDetail, NotificationChain msgs) {
+		DatamartTableDetail oldDetail = detail;
+		detail = newDetail;
+		if (eNotificationRequired()) {
+			ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, ReportDSLPackage.DATAMART_TABLE__DETAIL, oldDetail, newDetail);
+			if (msgs == null) msgs = notification; else msgs.add(notification);
+		}
+		return msgs;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setDetail(DatamartTableDetail newDetail) {
+		if (newDetail != detail) {
+			NotificationChain msgs = null;
+			if (detail != null)
+				msgs = ((InternalEObject)detail).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - ReportDSLPackage.DATAMART_TABLE__DETAIL, null, msgs);
+			if (newDetail != null)
+				msgs = ((InternalEObject)newDetail).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - ReportDSLPackage.DATAMART_TABLE__DETAIL, null, msgs);
+			msgs = basicSetDetail(newDetail, msgs);
+			if (msgs != null) msgs.dispatch();
+		}
+		else if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, ReportDSLPackage.DATAMART_TABLE__DETAIL, newDetail, newDetail));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
 	@Override
 	public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
 		switch (featureID) {
-			case ReportDSLPackage.DATAMART_TABLE__GROUPS:
-				return ((InternalEList<?>)getGroups()).basicRemove(otherEnd, msgs);
-			case ReportDSLPackage.DATAMART_TABLE__DETAIL:
-				return basicSetDetail(null, msgs);
+			case ReportDSLPackage.DATAMART_TABLE__HEADER:
+				return basicSetHeader(null, msgs);
+			case ReportDSLPackage.DATAMART_TABLE__FOOTER:
+				return basicSetFooter(null, msgs);
 			case ReportDSLPackage.DATAMART_TABLE__VISIBILITY_ITEM:
 				return basicSetVisibilityItem(null, msgs);
 			case ReportDSLPackage.DATAMART_TABLE__PAGE_BREAK:
 				return basicSetPageBreak(null, msgs);
+			case ReportDSLPackage.DATAMART_TABLE__GROUPS:
+				return ((InternalEList<?>)getGroups()).basicRemove(otherEnd, msgs);
+			case ReportDSLPackage.DATAMART_TABLE__DETAIL:
+				return basicSetDetail(null, msgs);
 		}
 		return super.eInverseRemove(otherEnd, featureID, msgs);
 	}
@@ -518,24 +502,21 @@
 			case ReportDSLPackage.DATAMART_TABLE__STYLE:
 				if (resolve) return getStyle();
 				return basicGetStyle();
-			case ReportDSLPackage.DATAMART_TABLE__DETAILHEADER:
-				return isDetailheader();
-			case ReportDSLPackage.DATAMART_TABLE__HEADERSTYLE:
-				if (resolve) return getHeaderstyle();
-				return basicGetHeaderstyle();
-			case ReportDSLPackage.DATAMART_TABLE__DETAILFOOTER:
-				return isDetailfooter();
-			case ReportDSLPackage.DATAMART_TABLE__FOOTERSTYLE:
-				if (resolve) return getFooterstyle();
-				return basicGetFooterstyle();
-			case ReportDSLPackage.DATAMART_TABLE__GROUPS:
-				return getGroups();
-			case ReportDSLPackage.DATAMART_TABLE__DETAIL:
-				return getDetail();
+			case ReportDSLPackage.DATAMART_TABLE__HEADER:
+				return getHeader();
+			case ReportDSLPackage.DATAMART_TABLE__FOOTER:
+				return getFooter();
 			case ReportDSLPackage.DATAMART_TABLE__VISIBILITY_ITEM:
 				return getVisibilityItem();
 			case ReportDSLPackage.DATAMART_TABLE__PAGE_BREAK:
 				return getPageBreak();
+			case ReportDSLPackage.DATAMART_TABLE__DATAMART_REF:
+				if (resolve) return getDatamartRef();
+				return basicGetDatamartRef();
+			case ReportDSLPackage.DATAMART_TABLE__GROUPS:
+				return getGroups();
+			case ReportDSLPackage.DATAMART_TABLE__DETAIL:
+				return getDetail();
 		}
 		return super.eGet(featureID, resolve, coreType);
 	}
@@ -552,17 +533,20 @@
 			case ReportDSLPackage.DATAMART_TABLE__STYLE:
 				setStyle((Style)newValue);
 				return;
-			case ReportDSLPackage.DATAMART_TABLE__DETAILHEADER:
-				setDetailheader((Boolean)newValue);
+			case ReportDSLPackage.DATAMART_TABLE__HEADER:
+				setHeader((DatamartTableHeader)newValue);
 				return;
-			case ReportDSLPackage.DATAMART_TABLE__HEADERSTYLE:
-				setHeaderstyle((Style)newValue);
+			case ReportDSLPackage.DATAMART_TABLE__FOOTER:
+				setFooter((DatamartTableFooter)newValue);
 				return;
-			case ReportDSLPackage.DATAMART_TABLE__DETAILFOOTER:
-				setDetailfooter((Boolean)newValue);
+			case ReportDSLPackage.DATAMART_TABLE__VISIBILITY_ITEM:
+				setVisibilityItem((Visibility)newValue);
 				return;
-			case ReportDSLPackage.DATAMART_TABLE__FOOTERSTYLE:
-				setFooterstyle((Style)newValue);
+			case ReportDSLPackage.DATAMART_TABLE__PAGE_BREAK:
+				setPageBreak((PageBreak)newValue);
+				return;
+			case ReportDSLPackage.DATAMART_TABLE__DATAMART_REF:
+				setDatamartRef((DatamartDefinition)newValue);
 				return;
 			case ReportDSLPackage.DATAMART_TABLE__GROUPS:
 				getGroups().clear();
@@ -571,12 +555,6 @@
 			case ReportDSLPackage.DATAMART_TABLE__DETAIL:
 				setDetail((DatamartTableDetail)newValue);
 				return;
-			case ReportDSLPackage.DATAMART_TABLE__VISIBILITY_ITEM:
-				setVisibilityItem((Visibility)newValue);
-				return;
-			case ReportDSLPackage.DATAMART_TABLE__PAGE_BREAK:
-				setPageBreak((PageBreak)newValue);
-				return;
 		}
 		super.eSet(featureID, newValue);
 	}
@@ -592,23 +570,11 @@
 			case ReportDSLPackage.DATAMART_TABLE__STYLE:
 				setStyle((Style)null);
 				return;
-			case ReportDSLPackage.DATAMART_TABLE__DETAILHEADER:
-				setDetailheader(DETAILHEADER_EDEFAULT);
+			case ReportDSLPackage.DATAMART_TABLE__HEADER:
+				setHeader((DatamartTableHeader)null);
 				return;
-			case ReportDSLPackage.DATAMART_TABLE__HEADERSTYLE:
-				setHeaderstyle((Style)null);
-				return;
-			case ReportDSLPackage.DATAMART_TABLE__DETAILFOOTER:
-				setDetailfooter(DETAILFOOTER_EDEFAULT);
-				return;
-			case ReportDSLPackage.DATAMART_TABLE__FOOTERSTYLE:
-				setFooterstyle((Style)null);
-				return;
-			case ReportDSLPackage.DATAMART_TABLE__GROUPS:
-				getGroups().clear();
-				return;
-			case ReportDSLPackage.DATAMART_TABLE__DETAIL:
-				setDetail((DatamartTableDetail)null);
+			case ReportDSLPackage.DATAMART_TABLE__FOOTER:
+				setFooter((DatamartTableFooter)null);
 				return;
 			case ReportDSLPackage.DATAMART_TABLE__VISIBILITY_ITEM:
 				setVisibilityItem((Visibility)null);
@@ -616,6 +582,15 @@
 			case ReportDSLPackage.DATAMART_TABLE__PAGE_BREAK:
 				setPageBreak((PageBreak)null);
 				return;
+			case ReportDSLPackage.DATAMART_TABLE__DATAMART_REF:
+				setDatamartRef((DatamartDefinition)null);
+				return;
+			case ReportDSLPackage.DATAMART_TABLE__GROUPS:
+				getGroups().clear();
+				return;
+			case ReportDSLPackage.DATAMART_TABLE__DETAIL:
+				setDetail((DatamartTableDetail)null);
+				return;
 		}
 		super.eUnset(featureID);
 	}
@@ -630,22 +605,20 @@
 		switch (featureID) {
 			case ReportDSLPackage.DATAMART_TABLE__STYLE:
 				return style != null;
-			case ReportDSLPackage.DATAMART_TABLE__DETAILHEADER:
-				return detailheader != DETAILHEADER_EDEFAULT;
-			case ReportDSLPackage.DATAMART_TABLE__HEADERSTYLE:
-				return headerstyle != null;
-			case ReportDSLPackage.DATAMART_TABLE__DETAILFOOTER:
-				return detailfooter != DETAILFOOTER_EDEFAULT;
-			case ReportDSLPackage.DATAMART_TABLE__FOOTERSTYLE:
-				return footerstyle != null;
-			case ReportDSLPackage.DATAMART_TABLE__GROUPS:
-				return groups != null && !groups.isEmpty();
-			case ReportDSLPackage.DATAMART_TABLE__DETAIL:
-				return detail != null;
+			case ReportDSLPackage.DATAMART_TABLE__HEADER:
+				return header != null;
+			case ReportDSLPackage.DATAMART_TABLE__FOOTER:
+				return footer != null;
 			case ReportDSLPackage.DATAMART_TABLE__VISIBILITY_ITEM:
 				return visibilityItem != null;
 			case ReportDSLPackage.DATAMART_TABLE__PAGE_BREAK:
 				return pageBreak != null;
+			case ReportDSLPackage.DATAMART_TABLE__DATAMART_REF:
+				return datamartRef != null;
+			case ReportDSLPackage.DATAMART_TABLE__GROUPS:
+				return groups != null && !groups.isEmpty();
+			case ReportDSLPackage.DATAMART_TABLE__DETAIL:
+				return detail != null;
 		}
 		return super.eIsSet(featureID);
 	}
@@ -670,10 +643,16 @@
 		}
 		if (baseClass == WithHeaderFooter.class) {
 			switch (derivedFeatureID) {
-				case ReportDSLPackage.DATAMART_TABLE__DETAILHEADER: return ReportDSLPackage.WITH_HEADER_FOOTER__DETAILHEADER;
-				case ReportDSLPackage.DATAMART_TABLE__HEADERSTYLE: return ReportDSLPackage.WITH_HEADER_FOOTER__HEADERSTYLE;
-				case ReportDSLPackage.DATAMART_TABLE__DETAILFOOTER: return ReportDSLPackage.WITH_HEADER_FOOTER__DETAILFOOTER;
-				case ReportDSLPackage.DATAMART_TABLE__FOOTERSTYLE: return ReportDSLPackage.WITH_HEADER_FOOTER__FOOTERSTYLE;
+				case ReportDSLPackage.DATAMART_TABLE__HEADER: return ReportDSLPackage.WITH_HEADER_FOOTER__HEADER;
+				case ReportDSLPackage.DATAMART_TABLE__FOOTER: return ReportDSLPackage.WITH_HEADER_FOOTER__FOOTER;
+				case ReportDSLPackage.DATAMART_TABLE__VISIBILITY_ITEM: return ReportDSLPackage.WITH_HEADER_FOOTER__VISIBILITY_ITEM;
+				case ReportDSLPackage.DATAMART_TABLE__PAGE_BREAK: return ReportDSLPackage.WITH_HEADER_FOOTER__PAGE_BREAK;
+				default: return -1;
+			}
+		}
+		if (baseClass == DatamartContainer.class) {
+			switch (derivedFeatureID) {
+				case ReportDSLPackage.DATAMART_TABLE__DATAMART_REF: return ReportDSLPackage.DATAMART_CONTAINER__DATAMART_REF;
 				default: return -1;
 			}
 		}
@@ -700,32 +679,20 @@
 		}
 		if (baseClass == WithHeaderFooter.class) {
 			switch (baseFeatureID) {
-				case ReportDSLPackage.WITH_HEADER_FOOTER__DETAILHEADER: return ReportDSLPackage.DATAMART_TABLE__DETAILHEADER;
-				case ReportDSLPackage.WITH_HEADER_FOOTER__HEADERSTYLE: return ReportDSLPackage.DATAMART_TABLE__HEADERSTYLE;
-				case ReportDSLPackage.WITH_HEADER_FOOTER__DETAILFOOTER: return ReportDSLPackage.DATAMART_TABLE__DETAILFOOTER;
-				case ReportDSLPackage.WITH_HEADER_FOOTER__FOOTERSTYLE: return ReportDSLPackage.DATAMART_TABLE__FOOTERSTYLE;
+				case ReportDSLPackage.WITH_HEADER_FOOTER__HEADER: return ReportDSLPackage.DATAMART_TABLE__HEADER;
+				case ReportDSLPackage.WITH_HEADER_FOOTER__FOOTER: return ReportDSLPackage.DATAMART_TABLE__FOOTER;
+				case ReportDSLPackage.WITH_HEADER_FOOTER__VISIBILITY_ITEM: return ReportDSLPackage.DATAMART_TABLE__VISIBILITY_ITEM;
+				case ReportDSLPackage.WITH_HEADER_FOOTER__PAGE_BREAK: return ReportDSLPackage.DATAMART_TABLE__PAGE_BREAK;
+				default: return -1;
+			}
+		}
+		if (baseClass == DatamartContainer.class) {
+			switch (baseFeatureID) {
+				case ReportDSLPackage.DATAMART_CONTAINER__DATAMART_REF: return ReportDSLPackage.DATAMART_TABLE__DATAMART_REF;
 				default: return -1;
 			}
 		}
 		return super.eDerivedStructuralFeatureID(baseFeatureID, baseClass);
 	}
 
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	public String toString() {
-		if (eIsProxy()) return super.toString();
-
-		StringBuffer result = new StringBuffer(super.toString());
-		result.append(" (detailheader: ");
-		result.append(detailheader);
-		result.append(", detailfooter: ");
-		result.append(detailfooter);
-		result.append(')');
-		return result.toString();
-	}
-
 } //DatamartTableImpl
diff --git a/org.eclipse.osbp.xtext.reportdsl/emf-gen/org/eclipse/osbp/xtext/reportdsl/impl/DatamartTablePropertyImpl.java b/org.eclipse.osbp.xtext.reportdsl/emf-gen/org/eclipse/osbp/xtext/reportdsl/impl/DatamartTablePropertyImpl.java
deleted file mode 100644
index 704e50a..0000000
--- a/org.eclipse.osbp.xtext.reportdsl/emf-gen/org/eclipse/osbp/xtext/reportdsl/impl/DatamartTablePropertyImpl.java
+++ /dev/null
@@ -1,605 +0,0 @@
-/**
- * Copyright (c) 2011, 2016 - Loetz GmbH&Co.KG (69115 Heidelberg, Germany)
- *  All rights reserved. This program and the accompanying materials 
- *  are made available under the terms of the Eclipse Public License v1.0 
- *  which accompanies this distribution, and is available at 
- *  http://www.eclipse.org/legal/epl-v10.html 
- * 
- *  Based on ideas from Xtext, Xtend, Xcore
- *   
- *  Contributors:  
- *  		Christophe Loetz  (Loetz GmbH&Co.KG) - Initial implementation 
- *  
- */
-package org.eclipse.osbp.xtext.reportdsl.impl;
-
-import java.util.Collection;
-
-import org.eclipse.emf.common.notify.Notification;
-import org.eclipse.emf.common.notify.NotificationChain;
-
-import org.eclipse.emf.common.util.EList;
-
-import org.eclipse.emf.ecore.EClass;
-import org.eclipse.emf.ecore.InternalEObject;
-
-import org.eclipse.emf.ecore.impl.ENotificationImpl;
-
-import org.eclipse.emf.ecore.util.EObjectContainmentEList;
-import org.eclipse.emf.ecore.util.InternalEList;
-
-import org.eclipse.osbp.xtext.reportdsl.DatamartTableProperty;
-import org.eclipse.osbp.xtext.reportdsl.ReportDSLPackage;
-import org.eclipse.osbp.xtext.reportdsl.Style;
-import org.eclipse.osbp.xtext.reportdsl.TableImage;
-import org.eclipse.osbp.xtext.reportdsl.TableInterval;
-import org.eclipse.osbp.xtext.reportdsl.TableLookup;
-import org.eclipse.osbp.xtext.reportdsl.TableValueElement;
-import org.eclipse.osbp.xtext.reportdsl.WithStyle;
-
-/**
- * <!-- begin-user-doc -->
- * An implementation of the model object '<em><b>Datamart Table Property</b></em>'.
- * <!-- end-user-doc -->
- * <p>
- * The following features are implemented:
- * <ul>
- *   <li>{@link org.eclipse.osbp.xtext.reportdsl.impl.DatamartTablePropertyImpl#getStyle <em>Style</em>}</li>
- *   <li>{@link org.eclipse.osbp.xtext.reportdsl.impl.DatamartTablePropertyImpl#getColumn <em>Column</em>}</li>
- *   <li>{@link org.eclipse.osbp.xtext.reportdsl.impl.DatamartTablePropertyImpl#getIntervals <em>Intervals</em>}</li>
- *   <li>{@link org.eclipse.osbp.xtext.reportdsl.impl.DatamartTablePropertyImpl#isHideLabelInterval <em>Hide Label Interval</em>}</li>
- *   <li>{@link org.eclipse.osbp.xtext.reportdsl.impl.DatamartTablePropertyImpl#getLookups <em>Lookups</em>}</li>
- *   <li>{@link org.eclipse.osbp.xtext.reportdsl.impl.DatamartTablePropertyImpl#isHideLabelLookup <em>Hide Label Lookup</em>}</li>
- *   <li>{@link org.eclipse.osbp.xtext.reportdsl.impl.DatamartTablePropertyImpl#isHasImage <em>Has Image</em>}</li>
- *   <li>{@link org.eclipse.osbp.xtext.reportdsl.impl.DatamartTablePropertyImpl#getImage <em>Image</em>}</li>
- * </ul>
- * </p>
- *
- * @generated
- */
-public class DatamartTablePropertyImpl extends ReportLazyResolverImpl implements DatamartTableProperty {
-	/**
-	 * The cached value of the '{@link #getStyle() <em>Style</em>}' reference.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #getStyle()
-	 * @generated
-	 * @ordered
-	 */
-	protected Style style;
-
-	/**
-	 * The cached value of the '{@link #getColumn() <em>Column</em>}' containment reference.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #getColumn()
-	 * @generated
-	 * @ordered
-	 */
-	protected TableValueElement column;
-
-	/**
-	 * The cached value of the '{@link #getIntervals() <em>Intervals</em>}' containment reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #getIntervals()
-	 * @generated
-	 * @ordered
-	 */
-	protected EList<TableInterval> intervals;
-
-	/**
-	 * The default value of the '{@link #isHideLabelInterval() <em>Hide Label Interval</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #isHideLabelInterval()
-	 * @generated
-	 * @ordered
-	 */
-	protected static final boolean HIDE_LABEL_INTERVAL_EDEFAULT = false;
-
-	/**
-	 * The cached value of the '{@link #isHideLabelInterval() <em>Hide Label Interval</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #isHideLabelInterval()
-	 * @generated
-	 * @ordered
-	 */
-	protected boolean hideLabelInterval = HIDE_LABEL_INTERVAL_EDEFAULT;
-
-	/**
-	 * The cached value of the '{@link #getLookups() <em>Lookups</em>}' containment reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #getLookups()
-	 * @generated
-	 * @ordered
-	 */
-	protected EList<TableLookup> lookups;
-
-	/**
-	 * The default value of the '{@link #isHideLabelLookup() <em>Hide Label Lookup</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #isHideLabelLookup()
-	 * @generated
-	 * @ordered
-	 */
-	protected static final boolean HIDE_LABEL_LOOKUP_EDEFAULT = false;
-
-	/**
-	 * The cached value of the '{@link #isHideLabelLookup() <em>Hide Label Lookup</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #isHideLabelLookup()
-	 * @generated
-	 * @ordered
-	 */
-	protected boolean hideLabelLookup = HIDE_LABEL_LOOKUP_EDEFAULT;
-
-	/**
-	 * The default value of the '{@link #isHasImage() <em>Has Image</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #isHasImage()
-	 * @generated
-	 * @ordered
-	 */
-	protected static final boolean HAS_IMAGE_EDEFAULT = false;
-
-	/**
-	 * The cached value of the '{@link #isHasImage() <em>Has Image</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #isHasImage()
-	 * @generated
-	 * @ordered
-	 */
-	protected boolean hasImage = HAS_IMAGE_EDEFAULT;
-
-	/**
-	 * The cached value of the '{@link #getImage() <em>Image</em>}' containment reference.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #getImage()
-	 * @generated
-	 * @ordered
-	 */
-	protected TableImage image;
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	protected DatamartTablePropertyImpl() {
-		super();
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	protected EClass eStaticClass() {
-		return ReportDSLPackage.Literals.DATAMART_TABLE_PROPERTY;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public Style getStyle() {
-		if (style != null && style.eIsProxy()) {
-			InternalEObject oldStyle = (InternalEObject)style;
-			style = (Style)eResolveProxy(oldStyle);
-			if (style != oldStyle) {
-				if (eNotificationRequired())
-					eNotify(new ENotificationImpl(this, Notification.RESOLVE, ReportDSLPackage.DATAMART_TABLE_PROPERTY__STYLE, oldStyle, style));
-			}
-		}
-		return style;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public Style basicGetStyle() {
-		return style;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public void setStyle(Style newStyle) {
-		Style oldStyle = style;
-		style = newStyle;
-		if (eNotificationRequired())
-			eNotify(new ENotificationImpl(this, Notification.SET, ReportDSLPackage.DATAMART_TABLE_PROPERTY__STYLE, oldStyle, style));
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public TableValueElement getColumn() {
-		return column;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public NotificationChain basicSetColumn(TableValueElement newColumn, NotificationChain msgs) {
-		TableValueElement oldColumn = column;
-		column = newColumn;
-		if (eNotificationRequired()) {
-			ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, ReportDSLPackage.DATAMART_TABLE_PROPERTY__COLUMN, oldColumn, newColumn);
-			if (msgs == null) msgs = notification; else msgs.add(notification);
-		}
-		return msgs;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public void setColumn(TableValueElement newColumn) {
-		if (newColumn != column) {
-			NotificationChain msgs = null;
-			if (column != null)
-				msgs = ((InternalEObject)column).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - ReportDSLPackage.DATAMART_TABLE_PROPERTY__COLUMN, null, msgs);
-			if (newColumn != null)
-				msgs = ((InternalEObject)newColumn).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - ReportDSLPackage.DATAMART_TABLE_PROPERTY__COLUMN, null, msgs);
-			msgs = basicSetColumn(newColumn, msgs);
-			if (msgs != null) msgs.dispatch();
-		}
-		else if (eNotificationRequired())
-			eNotify(new ENotificationImpl(this, Notification.SET, ReportDSLPackage.DATAMART_TABLE_PROPERTY__COLUMN, newColumn, newColumn));
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public EList<TableInterval> getIntervals() {
-		if (intervals == null) {
-			intervals = new EObjectContainmentEList<TableInterval>(TableInterval.class, this, ReportDSLPackage.DATAMART_TABLE_PROPERTY__INTERVALS);
-		}
-		return intervals;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public boolean isHideLabelInterval() {
-		return hideLabelInterval;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public void setHideLabelInterval(boolean newHideLabelInterval) {
-		boolean oldHideLabelInterval = hideLabelInterval;
-		hideLabelInterval = newHideLabelInterval;
-		if (eNotificationRequired())
-			eNotify(new ENotificationImpl(this, Notification.SET, ReportDSLPackage.DATAMART_TABLE_PROPERTY__HIDE_LABEL_INTERVAL, oldHideLabelInterval, hideLabelInterval));
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public EList<TableLookup> getLookups() {
-		if (lookups == null) {
-			lookups = new EObjectContainmentEList<TableLookup>(TableLookup.class, this, ReportDSLPackage.DATAMART_TABLE_PROPERTY__LOOKUPS);
-		}
-		return lookups;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public boolean isHideLabelLookup() {
-		return hideLabelLookup;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public void setHideLabelLookup(boolean newHideLabelLookup) {
-		boolean oldHideLabelLookup = hideLabelLookup;
-		hideLabelLookup = newHideLabelLookup;
-		if (eNotificationRequired())
-			eNotify(new ENotificationImpl(this, Notification.SET, ReportDSLPackage.DATAMART_TABLE_PROPERTY__HIDE_LABEL_LOOKUP, oldHideLabelLookup, hideLabelLookup));
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public boolean isHasImage() {
-		return hasImage;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public void setHasImage(boolean newHasImage) {
-		boolean oldHasImage = hasImage;
-		hasImage = newHasImage;
-		if (eNotificationRequired())
-			eNotify(new ENotificationImpl(this, Notification.SET, ReportDSLPackage.DATAMART_TABLE_PROPERTY__HAS_IMAGE, oldHasImage, hasImage));
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public TableImage getImage() {
-		return image;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public NotificationChain basicSetImage(TableImage newImage, NotificationChain msgs) {
-		TableImage oldImage = image;
-		image = newImage;
-		if (eNotificationRequired()) {
-			ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, ReportDSLPackage.DATAMART_TABLE_PROPERTY__IMAGE, oldImage, newImage);
-			if (msgs == null) msgs = notification; else msgs.add(notification);
-		}
-		return msgs;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public void setImage(TableImage newImage) {
-		if (newImage != image) {
-			NotificationChain msgs = null;
-			if (image != null)
-				msgs = ((InternalEObject)image).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - ReportDSLPackage.DATAMART_TABLE_PROPERTY__IMAGE, null, msgs);
-			if (newImage != null)
-				msgs = ((InternalEObject)newImage).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - ReportDSLPackage.DATAMART_TABLE_PROPERTY__IMAGE, null, msgs);
-			msgs = basicSetImage(newImage, msgs);
-			if (msgs != null) msgs.dispatch();
-		}
-		else if (eNotificationRequired())
-			eNotify(new ENotificationImpl(this, Notification.SET, ReportDSLPackage.DATAMART_TABLE_PROPERTY__IMAGE, newImage, newImage));
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
-		switch (featureID) {
-			case ReportDSLPackage.DATAMART_TABLE_PROPERTY__COLUMN:
-				return basicSetColumn(null, msgs);
-			case ReportDSLPackage.DATAMART_TABLE_PROPERTY__INTERVALS:
-				return ((InternalEList<?>)getIntervals()).basicRemove(otherEnd, msgs);
-			case ReportDSLPackage.DATAMART_TABLE_PROPERTY__LOOKUPS:
-				return ((InternalEList<?>)getLookups()).basicRemove(otherEnd, msgs);
-			case ReportDSLPackage.DATAMART_TABLE_PROPERTY__IMAGE:
-				return basicSetImage(null, msgs);
-		}
-		return super.eInverseRemove(otherEnd, featureID, msgs);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	public Object eGet(int featureID, boolean resolve, boolean coreType) {
-		switch (featureID) {
-			case ReportDSLPackage.DATAMART_TABLE_PROPERTY__STYLE:
-				if (resolve) return getStyle();
-				return basicGetStyle();
-			case ReportDSLPackage.DATAMART_TABLE_PROPERTY__COLUMN:
-				return getColumn();
-			case ReportDSLPackage.DATAMART_TABLE_PROPERTY__INTERVALS:
-				return getIntervals();
-			case ReportDSLPackage.DATAMART_TABLE_PROPERTY__HIDE_LABEL_INTERVAL:
-				return isHideLabelInterval();
-			case ReportDSLPackage.DATAMART_TABLE_PROPERTY__LOOKUPS:
-				return getLookups();
-			case ReportDSLPackage.DATAMART_TABLE_PROPERTY__HIDE_LABEL_LOOKUP:
-				return isHideLabelLookup();
-			case ReportDSLPackage.DATAMART_TABLE_PROPERTY__HAS_IMAGE:
-				return isHasImage();
-			case ReportDSLPackage.DATAMART_TABLE_PROPERTY__IMAGE:
-				return getImage();
-		}
-		return super.eGet(featureID, resolve, coreType);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@SuppressWarnings("unchecked")
-	@Override
-	public void eSet(int featureID, Object newValue) {
-		switch (featureID) {
-			case ReportDSLPackage.DATAMART_TABLE_PROPERTY__STYLE:
-				setStyle((Style)newValue);
-				return;
-			case ReportDSLPackage.DATAMART_TABLE_PROPERTY__COLUMN:
-				setColumn((TableValueElement)newValue);
-				return;
-			case ReportDSLPackage.DATAMART_TABLE_PROPERTY__INTERVALS:
-				getIntervals().clear();
-				getIntervals().addAll((Collection<? extends TableInterval>)newValue);
-				return;
-			case ReportDSLPackage.DATAMART_TABLE_PROPERTY__HIDE_LABEL_INTERVAL:
-				setHideLabelInterval((Boolean)newValue);
-				return;
-			case ReportDSLPackage.DATAMART_TABLE_PROPERTY__LOOKUPS:
-				getLookups().clear();
-				getLookups().addAll((Collection<? extends TableLookup>)newValue);
-				return;
-			case ReportDSLPackage.DATAMART_TABLE_PROPERTY__HIDE_LABEL_LOOKUP:
-				setHideLabelLookup((Boolean)newValue);
-				return;
-			case ReportDSLPackage.DATAMART_TABLE_PROPERTY__HAS_IMAGE:
-				setHasImage((Boolean)newValue);
-				return;
-			case ReportDSLPackage.DATAMART_TABLE_PROPERTY__IMAGE:
-				setImage((TableImage)newValue);
-				return;
-		}
-		super.eSet(featureID, newValue);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	public void eUnset(int featureID) {
-		switch (featureID) {
-			case ReportDSLPackage.DATAMART_TABLE_PROPERTY__STYLE:
-				setStyle((Style)null);
-				return;
-			case ReportDSLPackage.DATAMART_TABLE_PROPERTY__COLUMN:
-				setColumn((TableValueElement)null);
-				return;
-			case ReportDSLPackage.DATAMART_TABLE_PROPERTY__INTERVALS:
-				getIntervals().clear();
-				return;
-			case ReportDSLPackage.DATAMART_TABLE_PROPERTY__HIDE_LABEL_INTERVAL:
-				setHideLabelInterval(HIDE_LABEL_INTERVAL_EDEFAULT);
-				return;
-			case ReportDSLPackage.DATAMART_TABLE_PROPERTY__LOOKUPS:
-				getLookups().clear();
-				return;
-			case ReportDSLPackage.DATAMART_TABLE_PROPERTY__HIDE_LABEL_LOOKUP:
-				setHideLabelLookup(HIDE_LABEL_LOOKUP_EDEFAULT);
-				return;
-			case ReportDSLPackage.DATAMART_TABLE_PROPERTY__HAS_IMAGE:
-				setHasImage(HAS_IMAGE_EDEFAULT);
-				return;
-			case ReportDSLPackage.DATAMART_TABLE_PROPERTY__IMAGE:
-				setImage((TableImage)null);
-				return;
-		}
-		super.eUnset(featureID);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	public boolean eIsSet(int featureID) {
-		switch (featureID) {
-			case ReportDSLPackage.DATAMART_TABLE_PROPERTY__STYLE:
-				return style != null;
-			case ReportDSLPackage.DATAMART_TABLE_PROPERTY__COLUMN:
-				return column != null;
-			case ReportDSLPackage.DATAMART_TABLE_PROPERTY__INTERVALS:
-				return intervals != null && !intervals.isEmpty();
-			case ReportDSLPackage.DATAMART_TABLE_PROPERTY__HIDE_LABEL_INTERVAL:
-				return hideLabelInterval != HIDE_LABEL_INTERVAL_EDEFAULT;
-			case ReportDSLPackage.DATAMART_TABLE_PROPERTY__LOOKUPS:
-				return lookups != null && !lookups.isEmpty();
-			case ReportDSLPackage.DATAMART_TABLE_PROPERTY__HIDE_LABEL_LOOKUP:
-				return hideLabelLookup != HIDE_LABEL_LOOKUP_EDEFAULT;
-			case ReportDSLPackage.DATAMART_TABLE_PROPERTY__HAS_IMAGE:
-				return hasImage != HAS_IMAGE_EDEFAULT;
-			case ReportDSLPackage.DATAMART_TABLE_PROPERTY__IMAGE:
-				return image != null;
-		}
-		return super.eIsSet(featureID);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	public int eBaseStructuralFeatureID(int derivedFeatureID, Class<?> baseClass) {
-		if (baseClass == WithStyle.class) {
-			switch (derivedFeatureID) {
-				case ReportDSLPackage.DATAMART_TABLE_PROPERTY__STYLE: return ReportDSLPackage.WITH_STYLE__STYLE;
-				default: return -1;
-			}
-		}
-		return super.eBaseStructuralFeatureID(derivedFeatureID, baseClass);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	public int eDerivedStructuralFeatureID(int baseFeatureID, Class<?> baseClass) {
-		if (baseClass == WithStyle.class) {
-			switch (baseFeatureID) {
-				case ReportDSLPackage.WITH_STYLE__STYLE: return ReportDSLPackage.DATAMART_TABLE_PROPERTY__STYLE;
-				default: return -1;
-			}
-		}
-		return super.eDerivedStructuralFeatureID(baseFeatureID, baseClass);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	public String toString() {
-		if (eIsProxy()) return super.toString();
-
-		StringBuffer result = new StringBuffer(super.toString());
-		result.append(" (hideLabelInterval: ");
-		result.append(hideLabelInterval);
-		result.append(", hideLabelLookup: ");
-		result.append(hideLabelLookup);
-		result.append(", hasImage: ");
-		result.append(hasImage);
-		result.append(')');
-		return result.toString();
-	}
-
-} //DatamartTablePropertyImpl
diff --git a/org.eclipse.osbp.xtext.reportdsl/emf-gen/org/eclipse/osbp/xtext/reportdsl/impl/GridImpl.java b/org.eclipse.osbp.xtext.reportdsl/emf-gen/org/eclipse/osbp/xtext/reportdsl/impl/GridImpl.java
index 0185c9d..8bbbb5c 100644
--- a/org.eclipse.osbp.xtext.reportdsl/emf-gen/org/eclipse/osbp/xtext/reportdsl/impl/GridImpl.java
+++ b/org.eclipse.osbp.xtext.reportdsl/emf-gen/org/eclipse/osbp/xtext/reportdsl/impl/GridImpl.java
@@ -33,7 +33,9 @@
 import org.eclipse.osbp.xtext.reportdsl.GridRow;
 import org.eclipse.osbp.xtext.reportdsl.ReportDSLPackage;
 import org.eclipse.osbp.xtext.reportdsl.SomeGrid;
+import org.eclipse.osbp.xtext.reportdsl.Style;
 import org.eclipse.osbp.xtext.reportdsl.Visibility;
+import org.eclipse.osbp.xtext.reportdsl.WithStyle;
 
 /**
  * <!-- begin-user-doc -->
@@ -44,6 +46,7 @@
  * </p>
  * <ul>
  *   <li>{@link org.eclipse.osbp.xtext.reportdsl.impl.GridImpl#getRows <em>Rows</em>}</li>
+ *   <li>{@link org.eclipse.osbp.xtext.reportdsl.impl.GridImpl#getStyle <em>Style</em>}</li>
  *   <li>{@link org.eclipse.osbp.xtext.reportdsl.impl.GridImpl#getWidthValue <em>Width Value</em>}</li>
  *   <li>{@link org.eclipse.osbp.xtext.reportdsl.impl.GridImpl#getVisibilityItem <em>Visibility Item</em>}</li>
  * </ul>
@@ -62,6 +65,16 @@
 	protected EList<GridRow> rows;
 
 	/**
+	 * The cached value of the '{@link #getStyle() <em>Style</em>}' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getStyle()
+	 * @generated
+	 * @ordered
+	 */
+	protected Style style;
+
+	/**
 	 * The default value of the '{@link #getWidthValue() <em>Width Value</em>}' attribute.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -127,6 +140,44 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
+	public Style getStyle() {
+		if (style != null && style.eIsProxy()) {
+			InternalEObject oldStyle = (InternalEObject)style;
+			style = (Style)eResolveProxy(oldStyle);
+			if (style != oldStyle) {
+				if (eNotificationRequired())
+					eNotify(new ENotificationImpl(this, Notification.RESOLVE, ReportDSLPackage.GRID__STYLE, oldStyle, style));
+			}
+		}
+		return style;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public Style basicGetStyle() {
+		return style;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setStyle(Style newStyle) {
+		Style oldStyle = style;
+		style = newStyle;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, ReportDSLPackage.GRID__STYLE, oldStyle, style));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
 	public double getWidthValue() {
 		return widthValue;
 	}
@@ -212,6 +263,9 @@
 		switch (featureID) {
 			case ReportDSLPackage.GRID__ROWS:
 				return getRows();
+			case ReportDSLPackage.GRID__STYLE:
+				if (resolve) return getStyle();
+				return basicGetStyle();
 			case ReportDSLPackage.GRID__WIDTH_VALUE:
 				return getWidthValue();
 			case ReportDSLPackage.GRID__VISIBILITY_ITEM:
@@ -233,6 +287,9 @@
 				getRows().clear();
 				getRows().addAll((Collection<? extends GridRow>)newValue);
 				return;
+			case ReportDSLPackage.GRID__STYLE:
+				setStyle((Style)newValue);
+				return;
 			case ReportDSLPackage.GRID__WIDTH_VALUE:
 				setWidthValue((Double)newValue);
 				return;
@@ -254,6 +311,9 @@
 			case ReportDSLPackage.GRID__ROWS:
 				getRows().clear();
 				return;
+			case ReportDSLPackage.GRID__STYLE:
+				setStyle((Style)null);
+				return;
 			case ReportDSLPackage.GRID__WIDTH_VALUE:
 				setWidthValue(WIDTH_VALUE_EDEFAULT);
 				return;
@@ -274,6 +334,8 @@
 		switch (featureID) {
 			case ReportDSLPackage.GRID__ROWS:
 				return rows != null && !rows.isEmpty();
+			case ReportDSLPackage.GRID__STYLE:
+				return style != null;
 			case ReportDSLPackage.GRID__WIDTH_VALUE:
 				return widthValue != WIDTH_VALUE_EDEFAULT;
 			case ReportDSLPackage.GRID__VISIBILITY_ITEM:
@@ -300,6 +362,12 @@
 				default: return -1;
 			}
 		}
+		if (baseClass == WithStyle.class) {
+			switch (derivedFeatureID) {
+				case ReportDSLPackage.GRID__STYLE: return ReportDSLPackage.WITH_STYLE__STYLE;
+				default: return -1;
+			}
+		}
 		return super.eBaseStructuralFeatureID(derivedFeatureID, baseClass);
 	}
 
@@ -321,6 +389,12 @@
 				default: return -1;
 			}
 		}
+		if (baseClass == WithStyle.class) {
+			switch (baseFeatureID) {
+				case ReportDSLPackage.WITH_STYLE__STYLE: return ReportDSLPackage.GRID__STYLE;
+				default: return -1;
+			}
+		}
 		return super.eDerivedStructuralFeatureID(baseFeatureID, baseClass);
 	}
 
diff --git a/org.eclipse.osbp.xtext.reportdsl/emf-gen/org/eclipse/osbp/xtext/reportdsl/impl/ReportDSLFactoryImpl.java b/org.eclipse.osbp.xtext.reportdsl/emf-gen/org/eclipse/osbp/xtext/reportdsl/impl/ReportDSLFactoryImpl.java
index 94d7a08..504dd28 100644
--- a/org.eclipse.osbp.xtext.reportdsl/emf-gen/org/eclipse/osbp/xtext/reportdsl/impl/ReportDSLFactoryImpl.java
+++ b/org.eclipse.osbp.xtext.reportdsl/emf-gen/org/eclipse/osbp/xtext/reportdsl/impl/ReportDSLFactoryImpl.java
@@ -96,6 +96,7 @@
 			case ReportDSLPackage.DATE_FORMAT: return createDateFormat();
 			case ReportDSLPackage.DATE_TIME_FORMAT: return createDateTimeFormat();
 			case ReportDSLPackage.TIME_FORMAT: return createTimeFormat();
+			case ReportDSLPackage.DATAMART_CONTAINER: return createDatamartContainer();
 			case ReportDSLPackage.REPORT: return createReport();
 			case ReportDSLPackage.REPORT_DESIGN_FILE: return createReportDesignFile();
 			case ReportDSLPackage.REPORT_DESIGN_TEMPLATE: return createReportDesignTemplate();
@@ -116,8 +117,8 @@
 			case ReportDSLPackage.DATAMART_TABLE: return createDatamartTable();
 			case ReportDSLPackage.DATAMART_TABLE_GROUP: return createDatamartTableGroup();
 			case ReportDSLPackage.SOME_GRID: return createSomeGrid();
-			case ReportDSLPackage.DATAMART_TABLE_GROUP_HEADER: return createDatamartTableGroupHeader();
-			case ReportDSLPackage.DATAMART_TABLE_GROUP_FOOTER: return createDatamartTableGroupFooter();
+			case ReportDSLPackage.DATAMART_TABLE_HEADER: return createDatamartTableHeader();
+			case ReportDSLPackage.DATAMART_TABLE_FOOTER: return createDatamartTableFooter();
 			case ReportDSLPackage.DATAMART_TABLE_DETAIL: return createDatamartTableDetail();
 			case ReportDSLPackage.DATAMART_TABLE_ATTRIBUTE: return createDatamartTableAttribute();
 			case ReportDSLPackage.TABLE_FORMATTER: return createTableFormatter();
@@ -174,6 +175,8 @@
 				return createBorderTypeEnumFromString(eDataType, initialValue);
 			case ReportDSLPackage.TEXT_ALIGN_ENUM:
 				return createTextAlignEnumFromString(eDataType, initialValue);
+			case ReportDSLPackage.VERTICAL_TEXT_ALIGN_ENUM:
+				return createVerticalTextAlignEnumFromString(eDataType, initialValue);
 			case ReportDSLPackage.NUMBER_FORMAT_CATEGORY_ENUM:
 				return createNumberFormatCategoryEnumFromString(eDataType, initialValue);
 			case ReportDSLPackage.CURRENCY_FORMAT_CATEGORY_ENUM:
@@ -237,6 +240,8 @@
 				return convertBorderTypeEnumToString(eDataType, instanceValue);
 			case ReportDSLPackage.TEXT_ALIGN_ENUM:
 				return convertTextAlignEnumToString(eDataType, instanceValue);
+			case ReportDSLPackage.VERTICAL_TEXT_ALIGN_ENUM:
+				return convertVerticalTextAlignEnumToString(eDataType, instanceValue);
 			case ReportDSLPackage.NUMBER_FORMAT_CATEGORY_ENUM:
 				return convertNumberFormatCategoryEnumToString(eDataType, instanceValue);
 			case ReportDSLPackage.CURRENCY_FORMAT_CATEGORY_ENUM:
@@ -553,6 +558,16 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
+	public DatamartContainer createDatamartContainer() {
+		DatamartContainerImpl datamartContainer = new DatamartContainerImpl();
+		return datamartContainer;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
 	public Report createReport() {
 		ReportImpl report = new ReportImpl();
 		return report;
@@ -753,9 +768,9 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	public DatamartTableGroupHeader createDatamartTableGroupHeader() {
-		DatamartTableGroupHeaderImpl datamartTableGroupHeader = new DatamartTableGroupHeaderImpl();
-		return datamartTableGroupHeader;
+	public DatamartTableHeader createDatamartTableHeader() {
+		DatamartTableHeaderImpl datamartTableHeader = new DatamartTableHeaderImpl();
+		return datamartTableHeader;
 	}
 
 	/**
@@ -763,9 +778,9 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	public DatamartTableGroupFooter createDatamartTableGroupFooter() {
-		DatamartTableGroupFooterImpl datamartTableGroupFooter = new DatamartTableGroupFooterImpl();
-		return datamartTableGroupFooter;
+	public DatamartTableFooter createDatamartTableFooter() {
+		DatamartTableFooterImpl datamartTableFooter = new DatamartTableFooterImpl();
+		return datamartTableFooter;
 	}
 
 	/**
@@ -1203,6 +1218,26 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
+	public VerticalTextAlignEnum createVerticalTextAlignEnumFromString(EDataType eDataType, String initialValue) {
+		VerticalTextAlignEnum result = VerticalTextAlignEnum.get(initialValue);
+		if (result == null) throw new IllegalArgumentException("The value '" + initialValue + "' is not a valid enumerator of '" + eDataType.getName() + "'");
+		return result;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public String convertVerticalTextAlignEnumToString(EDataType eDataType, Object instanceValue) {
+		return instanceValue == null ? null : instanceValue.toString();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
 	public NumberFormatCategoryEnum createNumberFormatCategoryEnumFromString(EDataType eDataType, String initialValue) {
 		NumberFormatCategoryEnum result = NumberFormatCategoryEnum.get(initialValue);
 		if (result == null) throw new IllegalArgumentException("The value '" + initialValue + "' is not a valid enumerator of '" + eDataType.getName() + "'");
diff --git a/org.eclipse.osbp.xtext.reportdsl/emf-gen/org/eclipse/osbp/xtext/reportdsl/impl/ReportDSLPackageImpl.java b/org.eclipse.osbp.xtext.reportdsl/emf-gen/org/eclipse/osbp/xtext/reportdsl/impl/ReportDSLPackageImpl.java
index 1c2753b..b215bc3 100644
--- a/org.eclipse.osbp.xtext.reportdsl/emf-gen/org/eclipse/osbp/xtext/reportdsl/impl/ReportDSLPackageImpl.java
+++ b/org.eclipse.osbp.xtext.reportdsl/emf-gen/org/eclipse/osbp/xtext/reportdsl/impl/ReportDSLPackageImpl.java
@@ -45,12 +45,13 @@
 import org.eclipse.osbp.xtext.reportdsl.CurrencyFormat;
 import org.eclipse.osbp.xtext.reportdsl.CurrencyFormatCategoryEnum;
 import org.eclipse.osbp.xtext.reportdsl.CustomFontFamily;
+import org.eclipse.osbp.xtext.reportdsl.DatamartContainer;
 import org.eclipse.osbp.xtext.reportdsl.DatamartTable;
 import org.eclipse.osbp.xtext.reportdsl.DatamartTableAttribute;
 import org.eclipse.osbp.xtext.reportdsl.DatamartTableDetail;
+import org.eclipse.osbp.xtext.reportdsl.DatamartTableFooter;
 import org.eclipse.osbp.xtext.reportdsl.DatamartTableGroup;
-import org.eclipse.osbp.xtext.reportdsl.DatamartTableGroupFooter;
-import org.eclipse.osbp.xtext.reportdsl.DatamartTableGroupHeader;
+import org.eclipse.osbp.xtext.reportdsl.DatamartTableHeader;
 import org.eclipse.osbp.xtext.reportdsl.DateFormat;
 import org.eclipse.osbp.xtext.reportdsl.DateFormatCategoryEnum;
 import org.eclipse.osbp.xtext.reportdsl.DateTimeFormat;
@@ -140,6 +141,7 @@
 import org.eclipse.osbp.xtext.reportdsl.UnaryAggregationTypeEnum;
 import org.eclipse.osbp.xtext.reportdsl.UnitEnum;
 import org.eclipse.osbp.xtext.reportdsl.UomoFormat;
+import org.eclipse.osbp.xtext.reportdsl.VerticalTextAlignEnum;
 import org.eclipse.osbp.xtext.reportdsl.Visibility;
 import org.eclipse.osbp.xtext.reportdsl.WithHeaderFooter;
 import org.eclipse.osbp.xtext.reportdsl.WithStyle;
@@ -354,6 +356,13 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
+	private EClass datamartContainerEClass = null;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
 	private EClass reportEClass = null;
 
 	/**
@@ -508,14 +517,14 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	private EClass datamartTableGroupHeaderEClass = null;
+	private EClass datamartTableHeaderEClass = null;
 
 	/**
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	private EClass datamartTableGroupFooterEClass = null;
+	private EClass datamartTableFooterEClass = null;
 
 	/**
 	 * <!-- begin-user-doc -->
@@ -816,6 +825,13 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
+	private EEnum verticalTextAlignEnumEEnum = null;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
 	private EEnum numberFormatCategoryEnumEEnum = null;
 
 	/**
@@ -1628,8 +1644,8 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	public EReference getBaseStyle_BorderTop() {
-		return (EReference)baseStyleEClass.getEStructuralFeatures().get(6);
+	public EAttribute getBaseStyle_Verticalalign() {
+		return (EAttribute)baseStyleEClass.getEStructuralFeatures().get(6);
 	}
 
 	/**
@@ -1637,7 +1653,7 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	public EReference getBaseStyle_BorderBottom() {
+	public EReference getBaseStyle_BorderTop() {
 		return (EReference)baseStyleEClass.getEStructuralFeatures().get(7);
 	}
 
@@ -1646,7 +1662,7 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	public EReference getBaseStyle_BorderLeft() {
+	public EReference getBaseStyle_BorderBottom() {
 		return (EReference)baseStyleEClass.getEStructuralFeatures().get(8);
 	}
 
@@ -1655,7 +1671,7 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	public EReference getBaseStyle_BorderRight() {
+	public EReference getBaseStyle_BorderLeft() {
 		return (EReference)baseStyleEClass.getEStructuralFeatures().get(9);
 	}
 
@@ -1664,8 +1680,8 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	public EAttribute getBaseStyle_PaddingTopValue() {
-		return (EAttribute)baseStyleEClass.getEStructuralFeatures().get(10);
+	public EReference getBaseStyle_BorderRight() {
+		return (EReference)baseStyleEClass.getEStructuralFeatures().get(10);
 	}
 
 	/**
@@ -1673,7 +1689,7 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	public EAttribute getBaseStyle_PaddingBottomValue() {
+	public EAttribute getBaseStyle_PaddingTopValue() {
 		return (EAttribute)baseStyleEClass.getEStructuralFeatures().get(11);
 	}
 
@@ -1682,7 +1698,7 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	public EAttribute getBaseStyle_PaddingLeftValue() {
+	public EAttribute getBaseStyle_PaddingBottomValue() {
 		return (EAttribute)baseStyleEClass.getEStructuralFeatures().get(12);
 	}
 
@@ -1691,7 +1707,7 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	public EAttribute getBaseStyle_PaddingRightValue() {
+	public EAttribute getBaseStyle_PaddingLeftValue() {
 		return (EAttribute)baseStyleEClass.getEStructuralFeatures().get(13);
 	}
 
@@ -1700,7 +1716,7 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	public EAttribute getBaseStyle_MarginTopValue() {
+	public EAttribute getBaseStyle_PaddingRightValue() {
 		return (EAttribute)baseStyleEClass.getEStructuralFeatures().get(14);
 	}
 
@@ -1709,7 +1725,7 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	public EAttribute getBaseStyle_MarginLeftValue() {
+	public EAttribute getBaseStyle_MarginTopValue() {
 		return (EAttribute)baseStyleEClass.getEStructuralFeatures().get(15);
 	}
 
@@ -1718,7 +1734,7 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	public EAttribute getBaseStyle_MarginBottomValue() {
+	public EAttribute getBaseStyle_MarginLeftValue() {
 		return (EAttribute)baseStyleEClass.getEStructuralFeatures().get(16);
 	}
 
@@ -1727,7 +1743,7 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	public EAttribute getBaseStyle_MarginRightValue() {
+	public EAttribute getBaseStyle_MarginBottomValue() {
 		return (EAttribute)baseStyleEClass.getEStructuralFeatures().get(17);
 	}
 
@@ -1736,6 +1752,15 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
+	public EAttribute getBaseStyle_MarginRightValue() {
+		return (EAttribute)baseStyleEClass.getEStructuralFeatures().get(18);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
 	public EClass getMediaStyle() {
 		return mediaStyleEClass;
 	}
@@ -1916,6 +1941,24 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
+	public EClass getDatamartContainer() {
+		return datamartContainerEClass;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EReference getDatamartContainer_DatamartRef() {
+		return (EReference)datamartContainerEClass.getEStructuralFeatures().get(0);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
 	public EClass getReport() {
 		return reportEClass;
 	}
@@ -1952,17 +1995,8 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	public EReference getReport_DatamartRef() {
-		return (EReference)reportEClass.getEStructuralFeatures().get(3);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
 	public EAttribute getReport_Rendering() {
-		return (EAttribute)reportEClass.getEStructuralFeatures().get(4);
+		return (EAttribute)reportEClass.getEStructuralFeatures().get(3);
 	}
 
 	/**
@@ -1971,7 +2005,7 @@
 	 * @generated
 	 */
 	public EAttribute getReport_ExternalCssURI() {
-		return (EAttribute)reportEClass.getEStructuralFeatures().get(5);
+		return (EAttribute)reportEClass.getEStructuralFeatures().get(4);
 	}
 
 	/**
@@ -1980,7 +2014,7 @@
 	 * @generated
 	 */
 	public EAttribute getReport_ExternalCssURIBundle() {
-		return (EAttribute)reportEClass.getEStructuralFeatures().get(6);
+		return (EAttribute)reportEClass.getEStructuralFeatures().get(5);
 	}
 
 	/**
@@ -1989,7 +2023,7 @@
 	 * @generated
 	 */
 	public EAttribute getReport_DefaultUnit() {
-		return (EAttribute)reportEClass.getEStructuralFeatures().get(7);
+		return (EAttribute)reportEClass.getEStructuralFeatures().get(6);
 	}
 
 	/**
@@ -1998,7 +2032,7 @@
 	 * @generated
 	 */
 	public EReference getReport_PageTemplate() {
-		return (EReference)reportEClass.getEStructuralFeatures().get(8);
+		return (EReference)reportEClass.getEStructuralFeatures().get(7);
 	}
 
 	/**
@@ -2007,7 +2041,7 @@
 	 * @generated
 	 */
 	public EReference getReport_Media() {
-		return (EReference)reportEClass.getEStructuralFeatures().get(9);
+		return (EReference)reportEClass.getEStructuralFeatures().get(8);
 	}
 
 	/**
@@ -2016,7 +2050,7 @@
 	 * @generated
 	 */
 	public EReference getReport_Toolbar() {
-		return (EReference)reportEClass.getEStructuralFeatures().get(10);
+		return (EReference)reportEClass.getEStructuralFeatures().get(9);
 	}
 
 	/**
@@ -2025,7 +2059,7 @@
 	 * @generated
 	 */
 	public EReference getReport_Design() {
-		return (EReference)reportEClass.getEStructuralFeatures().get(11);
+		return (EReference)reportEClass.getEStructuralFeatures().get(10);
 	}
 
 	/**
@@ -2393,8 +2427,8 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	public EAttribute getWithHeaderFooter_Detailheader() {
-		return (EAttribute)withHeaderFooterEClass.getEStructuralFeatures().get(0);
+	public EReference getWithHeaderFooter_Header() {
+		return (EReference)withHeaderFooterEClass.getEStructuralFeatures().get(0);
 	}
 
 	/**
@@ -2402,7 +2436,7 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	public EReference getWithHeaderFooter_Headerstyle() {
+	public EReference getWithHeaderFooter_Footer() {
 		return (EReference)withHeaderFooterEClass.getEStructuralFeatures().get(1);
 	}
 
@@ -2411,8 +2445,8 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	public EAttribute getWithHeaderFooter_Detailfooter() {
-		return (EAttribute)withHeaderFooterEClass.getEStructuralFeatures().get(2);
+	public EReference getWithHeaderFooter_VisibilityItem() {
+		return (EReference)withHeaderFooterEClass.getEStructuralFeatures().get(2);
 	}
 
 	/**
@@ -2420,7 +2454,7 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	public EReference getWithHeaderFooter_Footerstyle() {
+	public EReference getWithHeaderFooter_PageBreak() {
 		return (EReference)withHeaderFooterEClass.getEStructuralFeatures().get(3);
 	}
 
@@ -2456,24 +2490,6 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	public EReference getDatamartTable_VisibilityItem() {
-		return (EReference)datamartTableEClass.getEStructuralFeatures().get(2);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public EReference getDatamartTable_PageBreak() {
-		return (EReference)datamartTableEClass.getEStructuralFeatures().get(3);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
 	public EClass getDatamartTableGroup() {
 		return datamartTableGroupEClass;
 	}
@@ -2492,42 +2508,6 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	public EReference getDatamartTableGroup_Header() {
-		return (EReference)datamartTableGroupEClass.getEStructuralFeatures().get(1);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public EReference getDatamartTableGroup_Footer() {
-		return (EReference)datamartTableGroupEClass.getEStructuralFeatures().get(2);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public EReference getDatamartTableGroup_VisibilityItem() {
-		return (EReference)datamartTableGroupEClass.getEStructuralFeatures().get(3);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public EReference getDatamartTableGroup_PageBreak() {
-		return (EReference)datamartTableGroupEClass.getEStructuralFeatures().get(4);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
 	public EClass getSomeGrid() {
 		return someGridEClass;
 	}
@@ -2546,8 +2526,8 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	public EClass getDatamartTableGroupHeader() {
-		return datamartTableGroupHeaderEClass;
+	public EClass getDatamartTableHeader() {
+		return datamartTableHeaderEClass;
 	}
 
 	/**
@@ -2555,8 +2535,8 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	public EReference getDatamartTableGroupHeader_PageBreak() {
-		return (EReference)datamartTableGroupHeaderEClass.getEStructuralFeatures().get(0);
+	public EReference getDatamartTableHeader_PageBreak() {
+		return (EReference)datamartTableHeaderEClass.getEStructuralFeatures().get(0);
 	}
 
 	/**
@@ -2564,8 +2544,8 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	public EClass getDatamartTableGroupFooter() {
-		return datamartTableGroupFooterEClass;
+	public EClass getDatamartTableFooter() {
+		return datamartTableFooterEClass;
 	}
 
 	/**
@@ -2573,8 +2553,8 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	public EReference getDatamartTableGroupFooter_PageBreak() {
-		return (EReference)datamartTableGroupFooterEClass.getEStructuralFeatures().get(0);
+	public EReference getDatamartTableFooter_PageBreak() {
+		return (EReference)datamartTableFooterEClass.getEStructuralFeatures().get(0);
 	}
 
 	/**
@@ -3455,6 +3435,15 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
+	public EEnum getVerticalTextAlignEnum() {
+		return verticalTextAlignEnumEEnum;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
 	public EEnum getNumberFormatCategoryEnum() {
 		return numberFormatCategoryEnumEEnum;
 	}
@@ -3727,6 +3716,7 @@
 		createEReference(baseStyleEClass, BASE_STYLE__BACKGROUNDCOLOR_ALTERNATE);
 		createEReference(baseStyleEClass, BASE_STYLE__TEXTCOLOR);
 		createEAttribute(baseStyleEClass, BASE_STYLE__TEXTALIGN);
+		createEAttribute(baseStyleEClass, BASE_STYLE__VERTICALALIGN);
 		createEReference(baseStyleEClass, BASE_STYLE__BORDER_TOP);
 		createEReference(baseStyleEClass, BASE_STYLE__BORDER_BOTTOM);
 		createEReference(baseStyleEClass, BASE_STYLE__BORDER_LEFT);
@@ -3769,11 +3759,13 @@
 		timeFormatEClass = createEClass(TIME_FORMAT);
 		createEAttribute(timeFormatEClass, TIME_FORMAT__REPORT_CATEGORY);
 
+		datamartContainerEClass = createEClass(DATAMART_CONTAINER);
+		createEReference(datamartContainerEClass, DATAMART_CONTAINER__DATAMART_REF);
+
 		reportEClass = createEClass(REPORT);
 		createEAttribute(reportEClass, REPORT__SELECT_BY_ID);
 		createEAttribute(reportEClass, REPORT__DESCRIPTION);
 		createEAttribute(reportEClass, REPORT__DESCRIPTION_VALUE);
-		createEReference(reportEClass, REPORT__DATAMART_REF);
 		createEAttribute(reportEClass, REPORT__RENDERING);
 		createEAttribute(reportEClass, REPORT__EXTERNAL_CSS_URI);
 		createEAttribute(reportEClass, REPORT__EXTERNAL_CSS_URI_BUNDLE);
@@ -3840,32 +3832,26 @@
 		createEAttribute(imageEClass, IMAGE__FILENAME);
 
 		withHeaderFooterEClass = createEClass(WITH_HEADER_FOOTER);
-		createEAttribute(withHeaderFooterEClass, WITH_HEADER_FOOTER__DETAILHEADER);
-		createEReference(withHeaderFooterEClass, WITH_HEADER_FOOTER__HEADERSTYLE);
-		createEAttribute(withHeaderFooterEClass, WITH_HEADER_FOOTER__DETAILFOOTER);
-		createEReference(withHeaderFooterEClass, WITH_HEADER_FOOTER__FOOTERSTYLE);
+		createEReference(withHeaderFooterEClass, WITH_HEADER_FOOTER__HEADER);
+		createEReference(withHeaderFooterEClass, WITH_HEADER_FOOTER__FOOTER);
+		createEReference(withHeaderFooterEClass, WITH_HEADER_FOOTER__VISIBILITY_ITEM);
+		createEReference(withHeaderFooterEClass, WITH_HEADER_FOOTER__PAGE_BREAK);
 
 		datamartTableEClass = createEClass(DATAMART_TABLE);
 		createEReference(datamartTableEClass, DATAMART_TABLE__GROUPS);
 		createEReference(datamartTableEClass, DATAMART_TABLE__DETAIL);
-		createEReference(datamartTableEClass, DATAMART_TABLE__VISIBILITY_ITEM);
-		createEReference(datamartTableEClass, DATAMART_TABLE__PAGE_BREAK);
 
 		datamartTableGroupEClass = createEClass(DATAMART_TABLE_GROUP);
 		createEReference(datamartTableGroupEClass, DATAMART_TABLE_GROUP__GROUPING_REF);
-		createEReference(datamartTableGroupEClass, DATAMART_TABLE_GROUP__HEADER);
-		createEReference(datamartTableGroupEClass, DATAMART_TABLE_GROUP__FOOTER);
-		createEReference(datamartTableGroupEClass, DATAMART_TABLE_GROUP__VISIBILITY_ITEM);
-		createEReference(datamartTableGroupEClass, DATAMART_TABLE_GROUP__PAGE_BREAK);
 
 		someGridEClass = createEClass(SOME_GRID);
 		createEReference(someGridEClass, SOME_GRID__ROWS);
 
-		datamartTableGroupHeaderEClass = createEClass(DATAMART_TABLE_GROUP_HEADER);
-		createEReference(datamartTableGroupHeaderEClass, DATAMART_TABLE_GROUP_HEADER__PAGE_BREAK);
+		datamartTableHeaderEClass = createEClass(DATAMART_TABLE_HEADER);
+		createEReference(datamartTableHeaderEClass, DATAMART_TABLE_HEADER__PAGE_BREAK);
 
-		datamartTableGroupFooterEClass = createEClass(DATAMART_TABLE_GROUP_FOOTER);
-		createEReference(datamartTableGroupFooterEClass, DATAMART_TABLE_GROUP_FOOTER__PAGE_BREAK);
+		datamartTableFooterEClass = createEClass(DATAMART_TABLE_FOOTER);
+		createEReference(datamartTableFooterEClass, DATAMART_TABLE_FOOTER__PAGE_BREAK);
 
 		datamartTableDetailEClass = createEClass(DATAMART_TABLE_DETAIL);
 		createEReference(datamartTableDetailEClass, DATAMART_TABLE_DETAIL__COLUMN_FORMATTERS);
@@ -4000,6 +3986,7 @@
 		buildInFontFamilyEnumEEnum = createEEnum(BUILD_IN_FONT_FAMILY_ENUM);
 		borderTypeEnumEEnum = createEEnum(BORDER_TYPE_ENUM);
 		textAlignEnumEEnum = createEEnum(TEXT_ALIGN_ENUM);
+		verticalTextAlignEnumEEnum = createEEnum(VERTICAL_TEXT_ALIGN_ENUM);
 		numberFormatCategoryEnumEEnum = createEEnum(NUMBER_FORMAT_CATEGORY_ENUM);
 		currencyFormatCategoryEnumEEnum = createEEnum(CURRENCY_FORMAT_CATEGORY_ENUM);
 		dateFormatCategoryEnumEEnum = createEEnum(DATE_FORMAT_CATEGORY_ENUM);
@@ -4085,6 +4072,7 @@
 		dateTimeFormatEClass.getESuperTypes().add(this.getSomeFormat());
 		timeFormatEClass.getESuperTypes().add(this.getSomeFormat());
 		reportEClass.getESuperTypes().add(this.getReportBase());
+		reportEClass.getESuperTypes().add(this.getDatamartContainer());
 		reportDesignEClass.getESuperTypes().add(this.getReportLazyResolver());
 		reportDesignFileEClass.getESuperTypes().add(this.getReportDesign());
 		reportDesignTemplateEClass.getESuperTypes().add(this.getReportDesign());
@@ -4110,15 +4098,16 @@
 		datamartTableEClass.getESuperTypes().add(this.getElement());
 		datamartTableEClass.getESuperTypes().add(this.getWithStyle());
 		datamartTableEClass.getESuperTypes().add(this.getWithHeaderFooter());
+		datamartTableEClass.getESuperTypes().add(this.getDatamartContainer());
 		datamartTableGroupEClass.getESuperTypes().add(this.getReportBase());
 		datamartTableGroupEClass.getESuperTypes().add(this.getWithHeaderFooter());
 		someGridEClass.getESuperTypes().add(this.getReportLazyResolver());
-		datamartTableGroupHeaderEClass.getESuperTypes().add(this.getElement());
-		datamartTableGroupHeaderEClass.getESuperTypes().add(this.getSomeGrid());
-		datamartTableGroupHeaderEClass.getESuperTypes().add(this.getWithStyle());
-		datamartTableGroupFooterEClass.getESuperTypes().add(this.getElement());
-		datamartTableGroupFooterEClass.getESuperTypes().add(this.getSomeGrid());
-		datamartTableGroupFooterEClass.getESuperTypes().add(this.getWithStyle());
+		datamartTableHeaderEClass.getESuperTypes().add(this.getElement());
+		datamartTableHeaderEClass.getESuperTypes().add(this.getSomeGrid());
+		datamartTableHeaderEClass.getESuperTypes().add(this.getWithStyle());
+		datamartTableFooterEClass.getESuperTypes().add(this.getElement());
+		datamartTableFooterEClass.getESuperTypes().add(this.getSomeGrid());
+		datamartTableFooterEClass.getESuperTypes().add(this.getWithStyle());
 		datamartTableDetailEClass.getESuperTypes().add(this.getWithStyle());
 		datamartTableAttributeEClass.getESuperTypes().add(this.getElement());
 		datamartTableAttributeEClass.getESuperTypes().add(this.getWithStyle());
@@ -4155,6 +4144,7 @@
 		gridEClass.getESuperTypes().add(this.getReportBase());
 		gridEClass.getESuperTypes().add(this.getElement());
 		gridEClass.getESuperTypes().add(this.getSomeGrid());
+		gridEClass.getESuperTypes().add(this.getWithStyle());
 		gridRowEClass.getESuperTypes().add(this.getReportBase());
 		gridRowEClass.getESuperTypes().add(this.getWithStyle());
 		gridCellEClass.getESuperTypes().add(this.getReportBase());
@@ -4251,6 +4241,7 @@
 		initEReference(getBaseStyle_Backgroundcolor_alternate(), this.getColor(), null, "backgroundcolor_alternate", null, 0, 1, BaseStyle.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
 		initEReference(getBaseStyle_Textcolor(), this.getColor(), null, "textcolor", null, 0, 1, BaseStyle.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
 		initEAttribute(getBaseStyle_Textalign(), this.getTextAlignEnum(), "textalign", null, 0, 1, BaseStyle.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+		initEAttribute(getBaseStyle_Verticalalign(), this.getVerticalTextAlignEnum(), "verticalalign", null, 0, 1, BaseStyle.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
 		initEReference(getBaseStyle_BorderTop(), this.getBorderStyle(), null, "borderTop", null, 0, 1, BaseStyle.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
 		initEReference(getBaseStyle_BorderBottom(), this.getBorderStyle(), null, "borderBottom", null, 0, 1, BaseStyle.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
 		initEReference(getBaseStyle_BorderLeft(), this.getBorderStyle(), null, "borderLeft", null, 0, 1, BaseStyle.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
@@ -4293,11 +4284,13 @@
 		initEClass(timeFormatEClass, TimeFormat.class, "TimeFormat", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
 		initEAttribute(getTimeFormat_Report_category(), this.getTimeFormatCategoryEnum(), "report_category", null, 0, 1, TimeFormat.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
 
+		initEClass(datamartContainerEClass, DatamartContainer.class, "DatamartContainer", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+		initEReference(getDatamartContainer_DatamartRef(), theDatamartDSLPackage.getDatamartDefinition(), null, "datamartRef", null, 0, 1, DatamartContainer.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
 		initEClass(reportEClass, Report.class, "Report", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
 		initEAttribute(getReport_SelectById(), theEcorePackage.getEBoolean(), "selectById", null, 0, 1, Report.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
 		initEAttribute(getReport_Description(), theEcorePackage.getEBoolean(), "description", null, 0, 1, Report.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
 		initEAttribute(getReport_DescriptionValue(), theEcorePackage.getEString(), "descriptionValue", null, 0, 1, Report.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
-		initEReference(getReport_DatamartRef(), theDatamartDSLPackage.getDatamartDefinition(), null, "datamartRef", null, 0, 1, Report.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
 		initEAttribute(getReport_Rendering(), this.getRenderingEnum(), "rendering", null, 0, 1, Report.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
 		initEAttribute(getReport_ExternalCssURI(), theEcorePackage.getEString(), "externalCssURI", null, 0, 1, Report.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
 		initEAttribute(getReport_ExternalCssURIBundle(), theEcorePackage.getEString(), "externalCssURIBundle", null, 0, 1, Report.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
@@ -4364,32 +4357,26 @@
 		initEAttribute(getImage_Filename(), theEcorePackage.getEString(), "filename", null, 0, 1, Image.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
 
 		initEClass(withHeaderFooterEClass, WithHeaderFooter.class, "WithHeaderFooter", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
-		initEAttribute(getWithHeaderFooter_Detailheader(), theEcorePackage.getEBoolean(), "detailheader", null, 0, 1, WithHeaderFooter.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
-		initEReference(getWithHeaderFooter_Headerstyle(), this.getStyle(), null, "headerstyle", null, 0, 1, WithHeaderFooter.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
-		initEAttribute(getWithHeaderFooter_Detailfooter(), theEcorePackage.getEBoolean(), "detailfooter", null, 0, 1, WithHeaderFooter.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
-		initEReference(getWithHeaderFooter_Footerstyle(), this.getStyle(), null, "footerstyle", null, 0, 1, WithHeaderFooter.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+		initEReference(getWithHeaderFooter_Header(), this.getDatamartTableHeader(), null, "header", null, 0, 1, WithHeaderFooter.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+		initEReference(getWithHeaderFooter_Footer(), this.getDatamartTableFooter(), null, "footer", null, 0, 1, WithHeaderFooter.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+		initEReference(getWithHeaderFooter_VisibilityItem(), this.getVisibility(), null, "visibilityItem", null, 0, 1, WithHeaderFooter.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+		initEReference(getWithHeaderFooter_PageBreak(), this.getPageBreak(), null, "pageBreak", null, 0, 1, WithHeaderFooter.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
 
 		initEClass(datamartTableEClass, DatamartTable.class, "DatamartTable", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
 		initEReference(getDatamartTable_Groups(), this.getDatamartTableGroup(), null, "groups", null, 0, -1, DatamartTable.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
 		initEReference(getDatamartTable_Detail(), this.getDatamartTableDetail(), null, "detail", null, 0, 1, DatamartTable.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
-		initEReference(getDatamartTable_VisibilityItem(), this.getVisibility(), null, "visibilityItem", null, 0, 1, DatamartTable.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
-		initEReference(getDatamartTable_PageBreak(), this.getPageBreak(), null, "pageBreak", null, 0, 1, DatamartTable.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
 
 		initEClass(datamartTableGroupEClass, DatamartTableGroup.class, "DatamartTableGroup", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
 		initEReference(getDatamartTableGroup_GroupingRef(), theDatamartDSLPackage.getDatamartAttribute(), null, "groupingRef", null, 0, 1, DatamartTableGroup.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
-		initEReference(getDatamartTableGroup_Header(), this.getDatamartTableGroupHeader(), null, "header", null, 0, 1, DatamartTableGroup.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
-		initEReference(getDatamartTableGroup_Footer(), this.getDatamartTableGroupFooter(), null, "footer", null, 0, 1, DatamartTableGroup.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
-		initEReference(getDatamartTableGroup_VisibilityItem(), this.getVisibility(), null, "visibilityItem", null, 0, 1, DatamartTableGroup.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
-		initEReference(getDatamartTableGroup_PageBreak(), this.getPageBreak(), null, "pageBreak", null, 0, 1, DatamartTableGroup.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
 
 		initEClass(someGridEClass, SomeGrid.class, "SomeGrid", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
 		initEReference(getSomeGrid_Rows(), this.getGridRow(), null, "rows", null, 0, -1, SomeGrid.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
 
-		initEClass(datamartTableGroupHeaderEClass, DatamartTableGroupHeader.class, "DatamartTableGroupHeader", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
-		initEReference(getDatamartTableGroupHeader_PageBreak(), this.getPageBreak(), null, "pageBreak", null, 0, 1, DatamartTableGroupHeader.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+		initEClass(datamartTableHeaderEClass, DatamartTableHeader.class, "DatamartTableHeader", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+		initEReference(getDatamartTableHeader_PageBreak(), this.getPageBreak(), null, "pageBreak", null, 0, 1, DatamartTableHeader.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
 
-		initEClass(datamartTableGroupFooterEClass, DatamartTableGroupFooter.class, "DatamartTableGroupFooter", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
-		initEReference(getDatamartTableGroupFooter_PageBreak(), this.getPageBreak(), null, "pageBreak", null, 0, 1, DatamartTableGroupFooter.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+		initEClass(datamartTableFooterEClass, DatamartTableFooter.class, "DatamartTableFooter", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+		initEReference(getDatamartTableFooter_PageBreak(), this.getPageBreak(), null, "pageBreak", null, 0, 1, DatamartTableFooter.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
 
 		initEClass(datamartTableDetailEClass, DatamartTableDetail.class, "DatamartTableDetail", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
 		initEReference(getDatamartTableDetail_ColumnFormatters(), this.getDatamartTableAttribute(), null, "columnFormatters", null, 0, -1, DatamartTableDetail.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
@@ -4568,6 +4555,12 @@
 		addEEnumLiteral(textAlignEnumEEnum, TextAlignEnum.CENTER);
 		addEEnumLiteral(textAlignEnumEEnum, TextAlignEnum.RIGHT);
 
+		initEEnum(verticalTextAlignEnumEEnum, VerticalTextAlignEnum.class, "VerticalTextAlignEnum");
+		addEEnumLiteral(verticalTextAlignEnumEEnum, VerticalTextAlignEnum.NULL);
+		addEEnumLiteral(verticalTextAlignEnumEEnum, VerticalTextAlignEnum.BOTTOM);
+		addEEnumLiteral(verticalTextAlignEnumEEnum, VerticalTextAlignEnum.MIDDLE);
+		addEEnumLiteral(verticalTextAlignEnumEEnum, VerticalTextAlignEnum.TOP);
+
 		initEEnum(numberFormatCategoryEnumEEnum, NumberFormatCategoryEnum.class, "NumberFormatCategoryEnum");
 		addEEnumLiteral(numberFormatCategoryEnumEEnum, NumberFormatCategoryEnum.UNFORMATTED);
 		addEEnumLiteral(numberFormatCategoryEnumEEnum, NumberFormatCategoryEnum.GENERAL_NUMBER);
@@ -4596,6 +4589,9 @@
 		addEEnumLiteral(autoTextEnumEEnum, AutoTextEnum.PAGE_NUMBER_UNFILTERED);
 		addEEnumLiteral(autoTextEnumEEnum, AutoTextEnum.TOTAL_PAGE_UNFILTERED);
 		addEEnumLiteral(autoTextEnumEEnum, AutoTextEnum.PAGE_VARIABLE);
+		addEEnumLiteral(autoTextEnumEEnum, AutoTextEnum.ACTUAL_DATE);
+		addEEnumLiteral(autoTextEnumEEnum, AutoTextEnum.ACTUAL_TIME);
+		addEEnumLiteral(autoTextEnumEEnum, AutoTextEnum.REPORT_NAME);
 
 		initEEnum(imageSizeEnumEEnum, ImageSizeEnum.class, "ImageSizeEnum");
 		addEEnumLiteral(imageSizeEnumEEnum, ImageSizeEnum.SIZE_TO_IMAGE);
diff --git a/org.eclipse.osbp.xtext.reportdsl/emf-gen/org/eclipse/osbp/xtext/reportdsl/impl/ReportImpl.java b/org.eclipse.osbp.xtext.reportdsl/emf-gen/org/eclipse/osbp/xtext/reportdsl/impl/ReportImpl.java
index 7da342c..8fba8bb 100644
--- a/org.eclipse.osbp.xtext.reportdsl/emf-gen/org/eclipse/osbp/xtext/reportdsl/impl/ReportImpl.java
+++ b/org.eclipse.osbp.xtext.reportdsl/emf-gen/org/eclipse/osbp/xtext/reportdsl/impl/ReportImpl.java
@@ -25,6 +25,7 @@
 
 import org.eclipse.osbp.xtext.datamartdsl.DatamartDefinition;
 
+import org.eclipse.osbp.xtext.reportdsl.DatamartContainer;
 import org.eclipse.osbp.xtext.reportdsl.Media;
 import org.eclipse.osbp.xtext.reportdsl.PageTemplate;
 import org.eclipse.osbp.xtext.reportdsl.RenderingEnum;
@@ -41,10 +42,10 @@
  * The following features are implemented:
  * </p>
  * <ul>
+ *   <li>{@link org.eclipse.osbp.xtext.reportdsl.impl.ReportImpl#getDatamartRef <em>Datamart Ref</em>}</li>
  *   <li>{@link org.eclipse.osbp.xtext.reportdsl.impl.ReportImpl#isSelectById <em>Select By Id</em>}</li>
  *   <li>{@link org.eclipse.osbp.xtext.reportdsl.impl.ReportImpl#isDescription <em>Description</em>}</li>
  *   <li>{@link org.eclipse.osbp.xtext.reportdsl.impl.ReportImpl#getDescriptionValue <em>Description Value</em>}</li>
- *   <li>{@link org.eclipse.osbp.xtext.reportdsl.impl.ReportImpl#getDatamartRef <em>Datamart Ref</em>}</li>
  *   <li>{@link org.eclipse.osbp.xtext.reportdsl.impl.ReportImpl#getRendering <em>Rendering</em>}</li>
  *   <li>{@link org.eclipse.osbp.xtext.reportdsl.impl.ReportImpl#getExternalCssURI <em>External Css URI</em>}</li>
  *   <li>{@link org.eclipse.osbp.xtext.reportdsl.impl.ReportImpl#getExternalCssURIBundle <em>External Css URI Bundle</em>}</li>
@@ -59,6 +60,16 @@
  */
 public class ReportImpl extends ReportBaseImpl implements Report {
 	/**
+	 * The cached value of the '{@link #getDatamartRef() <em>Datamart Ref</em>}' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getDatamartRef()
+	 * @generated
+	 * @ordered
+	 */
+	protected DatamartDefinition datamartRef;
+
+	/**
 	 * The default value of the '{@link #isSelectById() <em>Select By Id</em>}' attribute.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -119,16 +130,6 @@
 	protected String descriptionValue = DESCRIPTION_VALUE_EDEFAULT;
 
 	/**
-	 * The cached value of the '{@link #getDatamartRef() <em>Datamart Ref</em>}' reference.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #getDatamartRef()
-	 * @generated
-	 * @ordered
-	 */
-	protected DatamartDefinition datamartRef;
-
-	/**
 	 * The default value of the '{@link #getRendering() <em>Rendering</em>}' attribute.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -272,6 +273,44 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
+	public DatamartDefinition getDatamartRef() {
+		if (datamartRef != null && datamartRef.eIsProxy()) {
+			InternalEObject oldDatamartRef = (InternalEObject)datamartRef;
+			datamartRef = (DatamartDefinition)eResolveProxy(oldDatamartRef);
+			if (datamartRef != oldDatamartRef) {
+				if (eNotificationRequired())
+					eNotify(new ENotificationImpl(this, Notification.RESOLVE, ReportDSLPackage.REPORT__DATAMART_REF, oldDatamartRef, datamartRef));
+			}
+		}
+		return datamartRef;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public DatamartDefinition basicGetDatamartRef() {
+		return datamartRef;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setDatamartRef(DatamartDefinition newDatamartRef) {
+		DatamartDefinition oldDatamartRef = datamartRef;
+		datamartRef = newDatamartRef;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, ReportDSLPackage.REPORT__DATAMART_REF, oldDatamartRef, datamartRef));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
 	public boolean isSelectById() {
 		return selectById;
 	}
@@ -335,44 +374,6 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	public DatamartDefinition getDatamartRef() {
-		if (datamartRef != null && datamartRef.eIsProxy()) {
-			InternalEObject oldDatamartRef = (InternalEObject)datamartRef;
-			datamartRef = (DatamartDefinition)eResolveProxy(oldDatamartRef);
-			if (datamartRef != oldDatamartRef) {
-				if (eNotificationRequired())
-					eNotify(new ENotificationImpl(this, Notification.RESOLVE, ReportDSLPackage.REPORT__DATAMART_REF, oldDatamartRef, datamartRef));
-			}
-		}
-		return datamartRef;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public DatamartDefinition basicGetDatamartRef() {
-		return datamartRef;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public void setDatamartRef(DatamartDefinition newDatamartRef) {
-		DatamartDefinition oldDatamartRef = datamartRef;
-		datamartRef = newDatamartRef;
-		if (eNotificationRequired())
-			eNotify(new ENotificationImpl(this, Notification.SET, ReportDSLPackage.REPORT__DATAMART_REF, oldDatamartRef, datamartRef));
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
 	public RenderingEnum getRendering() {
 		return rendering;
 	}
@@ -631,15 +632,15 @@
 	@Override
 	public Object eGet(int featureID, boolean resolve, boolean coreType) {
 		switch (featureID) {
+			case ReportDSLPackage.REPORT__DATAMART_REF:
+				if (resolve) return getDatamartRef();
+				return basicGetDatamartRef();
 			case ReportDSLPackage.REPORT__SELECT_BY_ID:
 				return isSelectById();
 			case ReportDSLPackage.REPORT__DESCRIPTION:
 				return isDescription();
 			case ReportDSLPackage.REPORT__DESCRIPTION_VALUE:
 				return getDescriptionValue();
-			case ReportDSLPackage.REPORT__DATAMART_REF:
-				if (resolve) return getDatamartRef();
-				return basicGetDatamartRef();
 			case ReportDSLPackage.REPORT__RENDERING:
 				return getRendering();
 			case ReportDSLPackage.REPORT__EXTERNAL_CSS_URI:
@@ -671,6 +672,9 @@
 	@Override
 	public void eSet(int featureID, Object newValue) {
 		switch (featureID) {
+			case ReportDSLPackage.REPORT__DATAMART_REF:
+				setDatamartRef((DatamartDefinition)newValue);
+				return;
 			case ReportDSLPackage.REPORT__SELECT_BY_ID:
 				setSelectById((Boolean)newValue);
 				return;
@@ -680,9 +684,6 @@
 			case ReportDSLPackage.REPORT__DESCRIPTION_VALUE:
 				setDescriptionValue((String)newValue);
 				return;
-			case ReportDSLPackage.REPORT__DATAMART_REF:
-				setDatamartRef((DatamartDefinition)newValue);
-				return;
 			case ReportDSLPackage.REPORT__RENDERING:
 				setRendering((RenderingEnum)newValue);
 				return;
@@ -719,6 +720,9 @@
 	@Override
 	public void eUnset(int featureID) {
 		switch (featureID) {
+			case ReportDSLPackage.REPORT__DATAMART_REF:
+				setDatamartRef((DatamartDefinition)null);
+				return;
 			case ReportDSLPackage.REPORT__SELECT_BY_ID:
 				setSelectById(SELECT_BY_ID_EDEFAULT);
 				return;
@@ -728,9 +732,6 @@
 			case ReportDSLPackage.REPORT__DESCRIPTION_VALUE:
 				setDescriptionValue(DESCRIPTION_VALUE_EDEFAULT);
 				return;
-			case ReportDSLPackage.REPORT__DATAMART_REF:
-				setDatamartRef((DatamartDefinition)null);
-				return;
 			case ReportDSLPackage.REPORT__RENDERING:
 				setRendering(RENDERING_EDEFAULT);
 				return;
@@ -767,14 +768,14 @@
 	@Override
 	public boolean eIsSet(int featureID) {
 		switch (featureID) {
+			case ReportDSLPackage.REPORT__DATAMART_REF:
+				return datamartRef != null;
 			case ReportDSLPackage.REPORT__SELECT_BY_ID:
 				return selectById != SELECT_BY_ID_EDEFAULT;
 			case ReportDSLPackage.REPORT__DESCRIPTION:
 				return description != DESCRIPTION_EDEFAULT;
 			case ReportDSLPackage.REPORT__DESCRIPTION_VALUE:
 				return DESCRIPTION_VALUE_EDEFAULT == null ? descriptionValue != null : !DESCRIPTION_VALUE_EDEFAULT.equals(descriptionValue);
-			case ReportDSLPackage.REPORT__DATAMART_REF:
-				return datamartRef != null;
 			case ReportDSLPackage.REPORT__RENDERING:
 				return rendering != RENDERING_EDEFAULT;
 			case ReportDSLPackage.REPORT__EXTERNAL_CSS_URI:
@@ -801,6 +802,38 @@
 	 * @generated
 	 */
 	@Override
+	public int eBaseStructuralFeatureID(int derivedFeatureID, Class<?> baseClass) {
+		if (baseClass == DatamartContainer.class) {
+			switch (derivedFeatureID) {
+				case ReportDSLPackage.REPORT__DATAMART_REF: return ReportDSLPackage.DATAMART_CONTAINER__DATAMART_REF;
+				default: return -1;
+			}
+		}
+		return super.eBaseStructuralFeatureID(derivedFeatureID, baseClass);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public int eDerivedStructuralFeatureID(int baseFeatureID, Class<?> baseClass) {
+		if (baseClass == DatamartContainer.class) {
+			switch (baseFeatureID) {
+				case ReportDSLPackage.DATAMART_CONTAINER__DATAMART_REF: return ReportDSLPackage.REPORT__DATAMART_REF;
+				default: return -1;
+			}
+		}
+		return super.eDerivedStructuralFeatureID(baseFeatureID, baseClass);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
 	public String toString() {
 		if (eIsProxy()) return super.toString();
 
diff --git a/org.eclipse.osbp.xtext.reportdsl/emf-gen/org/eclipse/osbp/xtext/reportdsl/impl/StyleImpl.java b/org.eclipse.osbp.xtext.reportdsl/emf-gen/org/eclipse/osbp/xtext/reportdsl/impl/StyleImpl.java
index 0bdbf08..85a7e0e 100644
--- a/org.eclipse.osbp.xtext.reportdsl/emf-gen/org/eclipse/osbp/xtext/reportdsl/impl/StyleImpl.java
+++ b/org.eclipse.osbp.xtext.reportdsl/emf-gen/org/eclipse/osbp/xtext/reportdsl/impl/StyleImpl.java
@@ -37,6 +37,7 @@
 import org.eclipse.osbp.xtext.reportdsl.SomeFormat;
 import org.eclipse.osbp.xtext.reportdsl.Style;
 import org.eclipse.osbp.xtext.reportdsl.TextAlignEnum;
+import org.eclipse.osbp.xtext.reportdsl.VerticalTextAlignEnum;
 
 /**
  * <!-- begin-user-doc -->
@@ -52,6 +53,7 @@
  *   <li>{@link org.eclipse.osbp.xtext.reportdsl.impl.StyleImpl#getBackgroundcolor_alternate <em>Backgroundcolor alternate</em>}</li>
  *   <li>{@link org.eclipse.osbp.xtext.reportdsl.impl.StyleImpl#getTextcolor <em>Textcolor</em>}</li>
  *   <li>{@link org.eclipse.osbp.xtext.reportdsl.impl.StyleImpl#getTextalign <em>Textalign</em>}</li>
+ *   <li>{@link org.eclipse.osbp.xtext.reportdsl.impl.StyleImpl#getVerticalalign <em>Verticalalign</em>}</li>
  *   <li>{@link org.eclipse.osbp.xtext.reportdsl.impl.StyleImpl#getBorderTop <em>Border Top</em>}</li>
  *   <li>{@link org.eclipse.osbp.xtext.reportdsl.impl.StyleImpl#getBorderBottom <em>Border Bottom</em>}</li>
  *   <li>{@link org.eclipse.osbp.xtext.reportdsl.impl.StyleImpl#getBorderLeft <em>Border Left</em>}</li>
@@ -142,6 +144,26 @@
 	protected TextAlignEnum textalign = TEXTALIGN_EDEFAULT;
 
 	/**
+	 * The default value of the '{@link #getVerticalalign() <em>Verticalalign</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getVerticalalign()
+	 * @generated
+	 * @ordered
+	 */
+	protected static final VerticalTextAlignEnum VERTICALALIGN_EDEFAULT = VerticalTextAlignEnum.NULL;
+
+	/**
+	 * The cached value of the '{@link #getVerticalalign() <em>Verticalalign</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getVerticalalign()
+	 * @generated
+	 * @ordered
+	 */
+	protected VerticalTextAlignEnum verticalalign = VERTICALALIGN_EDEFAULT;
+
+	/**
 	 * The cached value of the '{@link #getBorderTop() <em>Border Top</em>}' containment reference.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -596,6 +618,27 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
+	public VerticalTextAlignEnum getVerticalalign() {
+		return verticalalign;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setVerticalalign(VerticalTextAlignEnum newVerticalalign) {
+		VerticalTextAlignEnum oldVerticalalign = verticalalign;
+		verticalalign = newVerticalalign == null ? VERTICALALIGN_EDEFAULT : newVerticalalign;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, ReportDSLPackage.STYLE__VERTICALALIGN, oldVerticalalign, verticalalign));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
 	public BorderStyle getBorderTop() {
 		return borderTop;
 	}
@@ -1028,6 +1071,8 @@
 				return basicGetTextcolor();
 			case ReportDSLPackage.STYLE__TEXTALIGN:
 				return getTextalign();
+			case ReportDSLPackage.STYLE__VERTICALALIGN:
+				return getVerticalalign();
 			case ReportDSLPackage.STYLE__BORDER_TOP:
 				return getBorderTop();
 			case ReportDSLPackage.STYLE__BORDER_BOTTOM:
@@ -1088,6 +1133,9 @@
 			case ReportDSLPackage.STYLE__TEXTALIGN:
 				setTextalign((TextAlignEnum)newValue);
 				return;
+			case ReportDSLPackage.STYLE__VERTICALALIGN:
+				setVerticalalign((VerticalTextAlignEnum)newValue);
+				return;
 			case ReportDSLPackage.STYLE__BORDER_TOP:
 				setBorderTop((BorderStyle)newValue);
 				return;
@@ -1161,6 +1209,9 @@
 			case ReportDSLPackage.STYLE__TEXTALIGN:
 				setTextalign(TEXTALIGN_EDEFAULT);
 				return;
+			case ReportDSLPackage.STYLE__VERTICALALIGN:
+				setVerticalalign(VERTICALALIGN_EDEFAULT);
+				return;
 			case ReportDSLPackage.STYLE__BORDER_TOP:
 				setBorderTop((BorderStyle)null);
 				return;
@@ -1227,6 +1278,8 @@
 				return textcolor != null;
 			case ReportDSLPackage.STYLE__TEXTALIGN:
 				return textalign != TEXTALIGN_EDEFAULT;
+			case ReportDSLPackage.STYLE__VERTICALALIGN:
+				return verticalalign != VERTICALALIGN_EDEFAULT;
 			case ReportDSLPackage.STYLE__BORDER_TOP:
 				return borderTop != null;
 			case ReportDSLPackage.STYLE__BORDER_BOTTOM:
@@ -1274,6 +1327,7 @@
 				case ReportDSLPackage.STYLE__BACKGROUNDCOLOR_ALTERNATE: return ReportDSLPackage.BASE_STYLE__BACKGROUNDCOLOR_ALTERNATE;
 				case ReportDSLPackage.STYLE__TEXTCOLOR: return ReportDSLPackage.BASE_STYLE__TEXTCOLOR;
 				case ReportDSLPackage.STYLE__TEXTALIGN: return ReportDSLPackage.BASE_STYLE__TEXTALIGN;
+				case ReportDSLPackage.STYLE__VERTICALALIGN: return ReportDSLPackage.BASE_STYLE__VERTICALALIGN;
 				case ReportDSLPackage.STYLE__BORDER_TOP: return ReportDSLPackage.BASE_STYLE__BORDER_TOP;
 				case ReportDSLPackage.STYLE__BORDER_BOTTOM: return ReportDSLPackage.BASE_STYLE__BORDER_BOTTOM;
 				case ReportDSLPackage.STYLE__BORDER_LEFT: return ReportDSLPackage.BASE_STYLE__BORDER_LEFT;
@@ -1307,6 +1361,7 @@
 				case ReportDSLPackage.BASE_STYLE__BACKGROUNDCOLOR_ALTERNATE: return ReportDSLPackage.STYLE__BACKGROUNDCOLOR_ALTERNATE;
 				case ReportDSLPackage.BASE_STYLE__TEXTCOLOR: return ReportDSLPackage.STYLE__TEXTCOLOR;
 				case ReportDSLPackage.BASE_STYLE__TEXTALIGN: return ReportDSLPackage.STYLE__TEXTALIGN;
+				case ReportDSLPackage.BASE_STYLE__VERTICALALIGN: return ReportDSLPackage.STYLE__VERTICALALIGN;
 				case ReportDSLPackage.BASE_STYLE__BORDER_TOP: return ReportDSLPackage.STYLE__BORDER_TOP;
 				case ReportDSLPackage.BASE_STYLE__BORDER_BOTTOM: return ReportDSLPackage.STYLE__BORDER_BOTTOM;
 				case ReportDSLPackage.BASE_STYLE__BORDER_LEFT: return ReportDSLPackage.STYLE__BORDER_LEFT;
@@ -1337,6 +1392,8 @@
 		StringBuffer result = new StringBuffer(super.toString());
 		result.append(" (textalign: ");
 		result.append(textalign);
+		result.append(", verticalalign: ");
+		result.append(verticalalign);
 		result.append(", paddingTopValue: ");
 		result.append(paddingTopValue);
 		result.append(", paddingBottomValue: ");
diff --git a/org.eclipse.osbp.xtext.reportdsl/emf-gen/org/eclipse/osbp/xtext/reportdsl/impl/TablePropertyImpl.java b/org.eclipse.osbp.xtext.reportdsl/emf-gen/org/eclipse/osbp/xtext/reportdsl/impl/TablePropertyImpl.java
deleted file mode 100644
index e9db54f..0000000
--- a/org.eclipse.osbp.xtext.reportdsl/emf-gen/org/eclipse/osbp/xtext/reportdsl/impl/TablePropertyImpl.java
+++ /dev/null
@@ -1,168 +0,0 @@
-/**
- * Copyright (c) 2011, 2016 - Loetz GmbH&Co.KG (69115 Heidelberg, Germany)
- *  All rights reserved. This program and the accompanying materials 
- *  are made available under the terms of the Eclipse Public License v1.0 
- *  which accompanies this distribution, and is available at 
- *  http://www.eclipse.org/legal/epl-v10.html 
- * 
- *  Based on ideas from Xtext, Xtend, Xcore
- *   
- *  Contributors:  
- *  		Christophe Loetz  (Loetz GmbH&Co.KG) - Initial implementation 
- *  
- */
-package org.eclipse.osbp.xtext.reportdsl.impl;
-
-import org.eclipse.emf.common.notify.Notification;
-
-import org.eclipse.emf.ecore.EClass;
-import org.eclipse.emf.ecore.InternalEObject;
-
-import org.eclipse.emf.ecore.impl.ENotificationImpl;
-
-import org.eclipse.osbp.xtext.datamartdsl.DatamartProperty;
-
-import org.eclipse.osbp.xtext.reportdsl.ReportDSLPackage;
-import org.eclipse.osbp.xtext.reportdsl.TableProperty;
-
-/**
- * <!-- begin-user-doc -->
- * An implementation of the model object '<em><b>Table Property</b></em>'.
- * <!-- end-user-doc -->
- * <p>
- * The following features are implemented:
- * <ul>
- *   <li>{@link org.eclipse.osbp.xtext.reportdsl.impl.TablePropertyImpl#getValueRef <em>Value Ref</em>}</li>
- * </ul>
- * </p>
- *
- * @generated
- */
-public class TablePropertyImpl extends ReportLazyResolverImpl implements TableProperty {
-	/**
-	 * The cached value of the '{@link #getValueRef() <em>Value Ref</em>}' reference.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #getValueRef()
-	 * @generated
-	 * @ordered
-	 */
-	protected DatamartProperty valueRef;
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	protected TablePropertyImpl() {
-		super();
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	protected EClass eStaticClass() {
-		return ReportDSLPackage.Literals.TABLE_PROPERTY;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public DatamartProperty getValueRef() {
-		if (valueRef != null && valueRef.eIsProxy()) {
-			InternalEObject oldValueRef = (InternalEObject)valueRef;
-			valueRef = (DatamartProperty)eResolveProxy(oldValueRef);
-			if (valueRef != oldValueRef) {
-				if (eNotificationRequired())
-					eNotify(new ENotificationImpl(this, Notification.RESOLVE, ReportDSLPackage.TABLE_PROPERTY__VALUE_REF, oldValueRef, valueRef));
-			}
-		}
-		return valueRef;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public DatamartProperty basicGetValueRef() {
-		return valueRef;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public void setValueRef(DatamartProperty newValueRef) {
-		DatamartProperty oldValueRef = valueRef;
-		valueRef = newValueRef;
-		if (eNotificationRequired())
-			eNotify(new ENotificationImpl(this, Notification.SET, ReportDSLPackage.TABLE_PROPERTY__VALUE_REF, oldValueRef, valueRef));
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	public Object eGet(int featureID, boolean resolve, boolean coreType) {
-		switch (featureID) {
-			case ReportDSLPackage.TABLE_PROPERTY__VALUE_REF:
-				if (resolve) return getValueRef();
-				return basicGetValueRef();
-		}
-		return super.eGet(featureID, resolve, coreType);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	public void eSet(int featureID, Object newValue) {
-		switch (featureID) {
-			case ReportDSLPackage.TABLE_PROPERTY__VALUE_REF:
-				setValueRef((DatamartProperty)newValue);
-				return;
-		}
-		super.eSet(featureID, newValue);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	public void eUnset(int featureID) {
-		switch (featureID) {
-			case ReportDSLPackage.TABLE_PROPERTY__VALUE_REF:
-				setValueRef((DatamartProperty)null);
-				return;
-		}
-		super.eUnset(featureID);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	public boolean eIsSet(int featureID) {
-		switch (featureID) {
-			case ReportDSLPackage.TABLE_PROPERTY__VALUE_REF:
-				return valueRef != null;
-		}
-		return super.eIsSet(featureID);
-	}
-
-} //TablePropertyImpl
diff --git a/org.eclipse.osbp.xtext.reportdsl/emf-gen/org/eclipse/osbp/xtext/reportdsl/impl/WithHeaderFooterImpl.java b/org.eclipse.osbp.xtext.reportdsl/emf-gen/org/eclipse/osbp/xtext/reportdsl/impl/WithHeaderFooterImpl.java
index 9f6ffcf..a1c021b 100644
--- a/org.eclipse.osbp.xtext.reportdsl/emf-gen/org/eclipse/osbp/xtext/reportdsl/impl/WithHeaderFooterImpl.java
+++ b/org.eclipse.osbp.xtext.reportdsl/emf-gen/org/eclipse/osbp/xtext/reportdsl/impl/WithHeaderFooterImpl.java
@@ -14,14 +14,18 @@
 package org.eclipse.osbp.xtext.reportdsl.impl;
 
 import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.notify.NotificationChain;
 
 import org.eclipse.emf.ecore.EClass;
 import org.eclipse.emf.ecore.InternalEObject;
 
 import org.eclipse.emf.ecore.impl.ENotificationImpl;
 
+import org.eclipse.osbp.xtext.reportdsl.DatamartTableFooter;
+import org.eclipse.osbp.xtext.reportdsl.DatamartTableHeader;
+import org.eclipse.osbp.xtext.reportdsl.PageBreak;
 import org.eclipse.osbp.xtext.reportdsl.ReportDSLPackage;
-import org.eclipse.osbp.xtext.reportdsl.Style;
+import org.eclipse.osbp.xtext.reportdsl.Visibility;
 import org.eclipse.osbp.xtext.reportdsl.WithHeaderFooter;
 
 /**
@@ -32,74 +36,54 @@
  * The following features are implemented:
  * </p>
  * <ul>
- *   <li>{@link org.eclipse.osbp.xtext.reportdsl.impl.WithHeaderFooterImpl#isDetailheader <em>Detailheader</em>}</li>
- *   <li>{@link org.eclipse.osbp.xtext.reportdsl.impl.WithHeaderFooterImpl#getHeaderstyle <em>Headerstyle</em>}</li>
- *   <li>{@link org.eclipse.osbp.xtext.reportdsl.impl.WithHeaderFooterImpl#isDetailfooter <em>Detailfooter</em>}</li>
- *   <li>{@link org.eclipse.osbp.xtext.reportdsl.impl.WithHeaderFooterImpl#getFooterstyle <em>Footerstyle</em>}</li>
+ *   <li>{@link org.eclipse.osbp.xtext.reportdsl.impl.WithHeaderFooterImpl#getHeader <em>Header</em>}</li>
+ *   <li>{@link org.eclipse.osbp.xtext.reportdsl.impl.WithHeaderFooterImpl#getFooter <em>Footer</em>}</li>
+ *   <li>{@link org.eclipse.osbp.xtext.reportdsl.impl.WithHeaderFooterImpl#getVisibilityItem <em>Visibility Item</em>}</li>
+ *   <li>{@link org.eclipse.osbp.xtext.reportdsl.impl.WithHeaderFooterImpl#getPageBreak <em>Page Break</em>}</li>
  * </ul>
  *
  * @generated
  */
 public class WithHeaderFooterImpl extends ReportLazyResolverImpl implements WithHeaderFooter {
 	/**
-	 * The default value of the '{@link #isDetailheader() <em>Detailheader</em>}' attribute.
+	 * The cached value of the '{@link #getHeader() <em>Header</em>}' containment reference.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
-	 * @see #isDetailheader()
+	 * @see #getHeader()
 	 * @generated
 	 * @ordered
 	 */
-	protected static final boolean DETAILHEADER_EDEFAULT = false;
+	protected DatamartTableHeader header;
 
 	/**
-	 * The cached value of the '{@link #isDetailheader() <em>Detailheader</em>}' attribute.
+	 * The cached value of the '{@link #getFooter() <em>Footer</em>}' containment reference.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
-	 * @see #isDetailheader()
+	 * @see #getFooter()
 	 * @generated
 	 * @ordered
 	 */
-	protected boolean detailheader = DETAILHEADER_EDEFAULT;
+	protected DatamartTableFooter footer;
 
 	/**
-	 * The cached value of the '{@link #getHeaderstyle() <em>Headerstyle</em>}' reference.
+	 * The cached value of the '{@link #getVisibilityItem() <em>Visibility Item</em>}' containment reference.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
-	 * @see #getHeaderstyle()
+	 * @see #getVisibilityItem()
 	 * @generated
 	 * @ordered
 	 */
-	protected Style headerstyle;
+	protected Visibility visibilityItem;
 
 	/**
-	 * The default value of the '{@link #isDetailfooter() <em>Detailfooter</em>}' attribute.
+	 * The cached value of the '{@link #getPageBreak() <em>Page Break</em>}' containment reference.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
-	 * @see #isDetailfooter()
+	 * @see #getPageBreak()
 	 * @generated
 	 * @ordered
 	 */
-	protected static final boolean DETAILFOOTER_EDEFAULT = false;
-
-	/**
-	 * The cached value of the '{@link #isDetailfooter() <em>Detailfooter</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #isDetailfooter()
-	 * @generated
-	 * @ordered
-	 */
-	protected boolean detailfooter = DETAILFOOTER_EDEFAULT;
-
-	/**
-	 * The cached value of the '{@link #getFooterstyle() <em>Footerstyle</em>}' reference.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #getFooterstyle()
-	 * @generated
-	 * @ordered
-	 */
-	protected Style footerstyle;
+	protected PageBreak pageBreak;
 
 	/**
 	 * <!-- begin-user-doc -->
@@ -125,8 +109,8 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	public boolean isDetailheader() {
-		return detailheader;
+	public DatamartTableHeader getHeader() {
+		return header;
 	}
 
 	/**
@@ -134,28 +118,14 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	public void setDetailheader(boolean newDetailheader) {
-		boolean oldDetailheader = detailheader;
-		detailheader = newDetailheader;
-		if (eNotificationRequired())
-			eNotify(new ENotificationImpl(this, Notification.SET, ReportDSLPackage.WITH_HEADER_FOOTER__DETAILHEADER, oldDetailheader, detailheader));
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public Style getHeaderstyle() {
-		if (headerstyle != null && headerstyle.eIsProxy()) {
-			InternalEObject oldHeaderstyle = (InternalEObject)headerstyle;
-			headerstyle = (Style)eResolveProxy(oldHeaderstyle);
-			if (headerstyle != oldHeaderstyle) {
-				if (eNotificationRequired())
-					eNotify(new ENotificationImpl(this, Notification.RESOLVE, ReportDSLPackage.WITH_HEADER_FOOTER__HEADERSTYLE, oldHeaderstyle, headerstyle));
-			}
+	public NotificationChain basicSetHeader(DatamartTableHeader newHeader, NotificationChain msgs) {
+		DatamartTableHeader oldHeader = header;
+		header = newHeader;
+		if (eNotificationRequired()) {
+			ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, ReportDSLPackage.WITH_HEADER_FOOTER__HEADER, oldHeader, newHeader);
+			if (msgs == null) msgs = notification; else msgs.add(notification);
 		}
-		return headerstyle;
+		return msgs;
 	}
 
 	/**
@@ -163,58 +133,18 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	public Style basicGetHeaderstyle() {
-		return headerstyle;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public void setHeaderstyle(Style newHeaderstyle) {
-		Style oldHeaderstyle = headerstyle;
-		headerstyle = newHeaderstyle;
-		if (eNotificationRequired())
-			eNotify(new ENotificationImpl(this, Notification.SET, ReportDSLPackage.WITH_HEADER_FOOTER__HEADERSTYLE, oldHeaderstyle, headerstyle));
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public boolean isDetailfooter() {
-		return detailfooter;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public void setDetailfooter(boolean newDetailfooter) {
-		boolean oldDetailfooter = detailfooter;
-		detailfooter = newDetailfooter;
-		if (eNotificationRequired())
-			eNotify(new ENotificationImpl(this, Notification.SET, ReportDSLPackage.WITH_HEADER_FOOTER__DETAILFOOTER, oldDetailfooter, detailfooter));
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public Style getFooterstyle() {
-		if (footerstyle != null && footerstyle.eIsProxy()) {
-			InternalEObject oldFooterstyle = (InternalEObject)footerstyle;
-			footerstyle = (Style)eResolveProxy(oldFooterstyle);
-			if (footerstyle != oldFooterstyle) {
-				if (eNotificationRequired())
-					eNotify(new ENotificationImpl(this, Notification.RESOLVE, ReportDSLPackage.WITH_HEADER_FOOTER__FOOTERSTYLE, oldFooterstyle, footerstyle));
-			}
+	public void setHeader(DatamartTableHeader newHeader) {
+		if (newHeader != header) {
+			NotificationChain msgs = null;
+			if (header != null)
+				msgs = ((InternalEObject)header).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - ReportDSLPackage.WITH_HEADER_FOOTER__HEADER, null, msgs);
+			if (newHeader != null)
+				msgs = ((InternalEObject)newHeader).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - ReportDSLPackage.WITH_HEADER_FOOTER__HEADER, null, msgs);
+			msgs = basicSetHeader(newHeader, msgs);
+			if (msgs != null) msgs.dispatch();
 		}
-		return footerstyle;
+		else if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, ReportDSLPackage.WITH_HEADER_FOOTER__HEADER, newHeader, newHeader));
 	}
 
 	/**
@@ -222,8 +152,8 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	public Style basicGetFooterstyle() {
-		return footerstyle;
+	public DatamartTableFooter getFooter() {
+		return footer;
 	}
 
 	/**
@@ -231,11 +161,139 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	public void setFooterstyle(Style newFooterstyle) {
-		Style oldFooterstyle = footerstyle;
-		footerstyle = newFooterstyle;
-		if (eNotificationRequired())
-			eNotify(new ENotificationImpl(this, Notification.SET, ReportDSLPackage.WITH_HEADER_FOOTER__FOOTERSTYLE, oldFooterstyle, footerstyle));
+	public NotificationChain basicSetFooter(DatamartTableFooter newFooter, NotificationChain msgs) {
+		DatamartTableFooter oldFooter = footer;
+		footer = newFooter;
+		if (eNotificationRequired()) {
+			ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, ReportDSLPackage.WITH_HEADER_FOOTER__FOOTER, oldFooter, newFooter);
+			if (msgs == null) msgs = notification; else msgs.add(notification);
+		}
+		return msgs;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setFooter(DatamartTableFooter newFooter) {
+		if (newFooter != footer) {
+			NotificationChain msgs = null;
+			if (footer != null)
+				msgs = ((InternalEObject)footer).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - ReportDSLPackage.WITH_HEADER_FOOTER__FOOTER, null, msgs);
+			if (newFooter != null)
+				msgs = ((InternalEObject)newFooter).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - ReportDSLPackage.WITH_HEADER_FOOTER__FOOTER, null, msgs);
+			msgs = basicSetFooter(newFooter, msgs);
+			if (msgs != null) msgs.dispatch();
+		}
+		else if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, ReportDSLPackage.WITH_HEADER_FOOTER__FOOTER, newFooter, newFooter));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public Visibility getVisibilityItem() {
+		return visibilityItem;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public NotificationChain basicSetVisibilityItem(Visibility newVisibilityItem, NotificationChain msgs) {
+		Visibility oldVisibilityItem = visibilityItem;
+		visibilityItem = newVisibilityItem;
+		if (eNotificationRequired()) {
+			ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, ReportDSLPackage.WITH_HEADER_FOOTER__VISIBILITY_ITEM, oldVisibilityItem, newVisibilityItem);
+			if (msgs == null) msgs = notification; else msgs.add(notification);
+		}
+		return msgs;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setVisibilityItem(Visibility newVisibilityItem) {
+		if (newVisibilityItem != visibilityItem) {
+			NotificationChain msgs = null;
+			if (visibilityItem != null)
+				msgs = ((InternalEObject)visibilityItem).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - ReportDSLPackage.WITH_HEADER_FOOTER__VISIBILITY_ITEM, null, msgs);
+			if (newVisibilityItem != null)
+				msgs = ((InternalEObject)newVisibilityItem).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - ReportDSLPackage.WITH_HEADER_FOOTER__VISIBILITY_ITEM, null, msgs);
+			msgs = basicSetVisibilityItem(newVisibilityItem, msgs);
+			if (msgs != null) msgs.dispatch();
+		}
+		else if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, ReportDSLPackage.WITH_HEADER_FOOTER__VISIBILITY_ITEM, newVisibilityItem, newVisibilityItem));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public PageBreak getPageBreak() {
+		return pageBreak;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public NotificationChain basicSetPageBreak(PageBreak newPageBreak, NotificationChain msgs) {
+		PageBreak oldPageBreak = pageBreak;
+		pageBreak = newPageBreak;
+		if (eNotificationRequired()) {
+			ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, ReportDSLPackage.WITH_HEADER_FOOTER__PAGE_BREAK, oldPageBreak, newPageBreak);
+			if (msgs == null) msgs = notification; else msgs.add(notification);
+		}
+		return msgs;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setPageBreak(PageBreak newPageBreak) {
+		if (newPageBreak != pageBreak) {
+			NotificationChain msgs = null;
+			if (pageBreak != null)
+				msgs = ((InternalEObject)pageBreak).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - ReportDSLPackage.WITH_HEADER_FOOTER__PAGE_BREAK, null, msgs);
+			if (newPageBreak != null)
+				msgs = ((InternalEObject)newPageBreak).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - ReportDSLPackage.WITH_HEADER_FOOTER__PAGE_BREAK, null, msgs);
+			msgs = basicSetPageBreak(newPageBreak, msgs);
+			if (msgs != null) msgs.dispatch();
+		}
+		else if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, ReportDSLPackage.WITH_HEADER_FOOTER__PAGE_BREAK, newPageBreak, newPageBreak));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
+		switch (featureID) {
+			case ReportDSLPackage.WITH_HEADER_FOOTER__HEADER:
+				return basicSetHeader(null, msgs);
+			case ReportDSLPackage.WITH_HEADER_FOOTER__FOOTER:
+				return basicSetFooter(null, msgs);
+			case ReportDSLPackage.WITH_HEADER_FOOTER__VISIBILITY_ITEM:
+				return basicSetVisibilityItem(null, msgs);
+			case ReportDSLPackage.WITH_HEADER_FOOTER__PAGE_BREAK:
+				return basicSetPageBreak(null, msgs);
+		}
+		return super.eInverseRemove(otherEnd, featureID, msgs);
 	}
 
 	/**
@@ -246,16 +304,14 @@
 	@Override
 	public Object eGet(int featureID, boolean resolve, boolean coreType) {
 		switch (featureID) {
-			case ReportDSLPackage.WITH_HEADER_FOOTER__DETAILHEADER:
-				return isDetailheader();
-			case ReportDSLPackage.WITH_HEADER_FOOTER__HEADERSTYLE:
-				if (resolve) return getHeaderstyle();
-				return basicGetHeaderstyle();
-			case ReportDSLPackage.WITH_HEADER_FOOTER__DETAILFOOTER:
-				return isDetailfooter();
-			case ReportDSLPackage.WITH_HEADER_FOOTER__FOOTERSTYLE:
-				if (resolve) return getFooterstyle();
-				return basicGetFooterstyle();
+			case ReportDSLPackage.WITH_HEADER_FOOTER__HEADER:
+				return getHeader();
+			case ReportDSLPackage.WITH_HEADER_FOOTER__FOOTER:
+				return getFooter();
+			case ReportDSLPackage.WITH_HEADER_FOOTER__VISIBILITY_ITEM:
+				return getVisibilityItem();
+			case ReportDSLPackage.WITH_HEADER_FOOTER__PAGE_BREAK:
+				return getPageBreak();
 		}
 		return super.eGet(featureID, resolve, coreType);
 	}
@@ -268,17 +324,17 @@
 	@Override
 	public void eSet(int featureID, Object newValue) {
 		switch (featureID) {
-			case ReportDSLPackage.WITH_HEADER_FOOTER__DETAILHEADER:
-				setDetailheader((Boolean)newValue);
+			case ReportDSLPackage.WITH_HEADER_FOOTER__HEADER:
+				setHeader((DatamartTableHeader)newValue);
 				return;
-			case ReportDSLPackage.WITH_HEADER_FOOTER__HEADERSTYLE:
-				setHeaderstyle((Style)newValue);
+			case ReportDSLPackage.WITH_HEADER_FOOTER__FOOTER:
+				setFooter((DatamartTableFooter)newValue);
 				return;
-			case ReportDSLPackage.WITH_HEADER_FOOTER__DETAILFOOTER:
-				setDetailfooter((Boolean)newValue);
+			case ReportDSLPackage.WITH_HEADER_FOOTER__VISIBILITY_ITEM:
+				setVisibilityItem((Visibility)newValue);
 				return;
-			case ReportDSLPackage.WITH_HEADER_FOOTER__FOOTERSTYLE:
-				setFooterstyle((Style)newValue);
+			case ReportDSLPackage.WITH_HEADER_FOOTER__PAGE_BREAK:
+				setPageBreak((PageBreak)newValue);
 				return;
 		}
 		super.eSet(featureID, newValue);
@@ -292,17 +348,17 @@
 	@Override
 	public void eUnset(int featureID) {
 		switch (featureID) {
-			case ReportDSLPackage.WITH_HEADER_FOOTER__DETAILHEADER:
-				setDetailheader(DETAILHEADER_EDEFAULT);
+			case ReportDSLPackage.WITH_HEADER_FOOTER__HEADER:
+				setHeader((DatamartTableHeader)null);
 				return;
-			case ReportDSLPackage.WITH_HEADER_FOOTER__HEADERSTYLE:
-				setHeaderstyle((Style)null);
+			case ReportDSLPackage.WITH_HEADER_FOOTER__FOOTER:
+				setFooter((DatamartTableFooter)null);
 				return;
-			case ReportDSLPackage.WITH_HEADER_FOOTER__DETAILFOOTER:
-				setDetailfooter(DETAILFOOTER_EDEFAULT);
+			case ReportDSLPackage.WITH_HEADER_FOOTER__VISIBILITY_ITEM:
+				setVisibilityItem((Visibility)null);
 				return;
-			case ReportDSLPackage.WITH_HEADER_FOOTER__FOOTERSTYLE:
-				setFooterstyle((Style)null);
+			case ReportDSLPackage.WITH_HEADER_FOOTER__PAGE_BREAK:
+				setPageBreak((PageBreak)null);
 				return;
 		}
 		super.eUnset(featureID);
@@ -316,34 +372,16 @@
 	@Override
 	public boolean eIsSet(int featureID) {
 		switch (featureID) {
-			case ReportDSLPackage.WITH_HEADER_FOOTER__DETAILHEADER:
-				return detailheader != DETAILHEADER_EDEFAULT;
-			case ReportDSLPackage.WITH_HEADER_FOOTER__HEADERSTYLE:
-				return headerstyle != null;
-			case ReportDSLPackage.WITH_HEADER_FOOTER__DETAILFOOTER:
-				return detailfooter != DETAILFOOTER_EDEFAULT;
-			case ReportDSLPackage.WITH_HEADER_FOOTER__FOOTERSTYLE:
-				return footerstyle != null;
+			case ReportDSLPackage.WITH_HEADER_FOOTER__HEADER:
+				return header != null;
+			case ReportDSLPackage.WITH_HEADER_FOOTER__FOOTER:
+				return footer != null;
+			case ReportDSLPackage.WITH_HEADER_FOOTER__VISIBILITY_ITEM:
+				return visibilityItem != null;
+			case ReportDSLPackage.WITH_HEADER_FOOTER__PAGE_BREAK:
+				return pageBreak != null;
 		}
 		return super.eIsSet(featureID);
 	}
 
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	public String toString() {
-		if (eIsProxy()) return super.toString();
-
-		StringBuffer result = new StringBuffer(super.toString());
-		result.append(" (detailheader: ");
-		result.append(detailheader);
-		result.append(", detailfooter: ");
-		result.append(detailfooter);
-		result.append(')');
-		return result.toString();
-	}
-
 } //WithHeaderFooterImpl
diff --git a/org.eclipse.osbp.xtext.reportdsl/emf-gen/org/eclipse/osbp/xtext/reportdsl/util/ReportDSLAdapterFactory.java b/org.eclipse.osbp.xtext.reportdsl/emf-gen/org/eclipse/osbp/xtext/reportdsl/util/ReportDSLAdapterFactory.java
index 3af7ef7..8824e9a 100644
--- a/org.eclipse.osbp.xtext.reportdsl/emf-gen/org/eclipse/osbp/xtext/reportdsl/util/ReportDSLAdapterFactory.java
+++ b/org.eclipse.osbp.xtext.reportdsl/emf-gen/org/eclipse/osbp/xtext/reportdsl/util/ReportDSLAdapterFactory.java
@@ -194,6 +194,10 @@
 				return createTimeFormatAdapter();
 			}
 			@Override
+			public Adapter caseDatamartContainer(DatamartContainer object) {
+				return createDatamartContainerAdapter();
+			}
+			@Override
 			public Adapter caseReport(Report object) {
 				return createReportAdapter();
 			}
@@ -282,12 +286,12 @@
 				return createSomeGridAdapter();
 			}
 			@Override
-			public Adapter caseDatamartTableGroupHeader(DatamartTableGroupHeader object) {
-				return createDatamartTableGroupHeaderAdapter();
+			public Adapter caseDatamartTableHeader(DatamartTableHeader object) {
+				return createDatamartTableHeaderAdapter();
 			}
 			@Override
-			public Adapter caseDatamartTableGroupFooter(DatamartTableGroupFooter object) {
-				return createDatamartTableGroupFooterAdapter();
+			public Adapter caseDatamartTableFooter(DatamartTableFooter object) {
+				return createDatamartTableFooterAdapter();
 			}
 			@Override
 			public Adapter caseDatamartTableDetail(DatamartTableDetail object) {
@@ -850,6 +854,20 @@
 	}
 
 	/**
+	 * Creates a new adapter for an object of class '{@link org.eclipse.osbp.xtext.reportdsl.DatamartContainer <em>Datamart Container</em>}'.
+	 * <!-- begin-user-doc -->
+	 * This default implementation returns null so that we can easily ignore cases;
+	 * it's useful to ignore a case when inheritance will catch all the cases anyway.
+	 * <!-- end-user-doc -->
+	 * @return the new adapter.
+	 * @see org.eclipse.osbp.xtext.reportdsl.DatamartContainer
+	 * @generated
+	 */
+	public Adapter createDatamartContainerAdapter() {
+		return null;
+	}
+
+	/**
 	 * Creates a new adapter for an object of class '{@link org.eclipse.osbp.xtext.reportdsl.Report <em>Report</em>}'.
 	 * <!-- begin-user-doc -->
 	 * This default implementation returns null so that we can easily ignore cases;
@@ -1158,30 +1176,30 @@
 	}
 
 	/**
-	 * Creates a new adapter for an object of class '{@link org.eclipse.osbp.xtext.reportdsl.DatamartTableGroupHeader <em>Datamart Table Group Header</em>}'.
+	 * Creates a new adapter for an object of class '{@link org.eclipse.osbp.xtext.reportdsl.DatamartTableHeader <em>Datamart Table Header</em>}'.
 	 * <!-- begin-user-doc -->
 	 * This default implementation returns null so that we can easily ignore cases;
 	 * it's useful to ignore a case when inheritance will catch all the cases anyway.
 	 * <!-- end-user-doc -->
 	 * @return the new adapter.
-	 * @see org.eclipse.osbp.xtext.reportdsl.DatamartTableGroupHeader
+	 * @see org.eclipse.osbp.xtext.reportdsl.DatamartTableHeader
 	 * @generated
 	 */
-	public Adapter createDatamartTableGroupHeaderAdapter() {
+	public Adapter createDatamartTableHeaderAdapter() {
 		return null;
 	}
 
 	/**
-	 * Creates a new adapter for an object of class '{@link org.eclipse.osbp.xtext.reportdsl.DatamartTableGroupFooter <em>Datamart Table Group Footer</em>}'.
+	 * Creates a new adapter for an object of class '{@link org.eclipse.osbp.xtext.reportdsl.DatamartTableFooter <em>Datamart Table Footer</em>}'.
 	 * <!-- begin-user-doc -->
 	 * This default implementation returns null so that we can easily ignore cases;
 	 * it's useful to ignore a case when inheritance will catch all the cases anyway.
 	 * <!-- end-user-doc -->
 	 * @return the new adapter.
-	 * @see org.eclipse.osbp.xtext.reportdsl.DatamartTableGroupFooter
+	 * @see org.eclipse.osbp.xtext.reportdsl.DatamartTableFooter
 	 * @generated
 	 */
-	public Adapter createDatamartTableGroupFooterAdapter() {
+	public Adapter createDatamartTableFooterAdapter() {
 		return null;
 	}
 
diff --git a/org.eclipse.osbp.xtext.reportdsl/emf-gen/org/eclipse/osbp/xtext/reportdsl/util/ReportDSLSwitch.java b/org.eclipse.osbp.xtext.reportdsl/emf-gen/org/eclipse/osbp/xtext/reportdsl/util/ReportDSLSwitch.java
index 937d49b..cf6f56e 100644
--- a/org.eclipse.osbp.xtext.reportdsl/emf-gen/org/eclipse/osbp/xtext/reportdsl/util/ReportDSLSwitch.java
+++ b/org.eclipse.osbp.xtext.reportdsl/emf-gen/org/eclipse/osbp/xtext/reportdsl/util/ReportDSLSwitch.java
@@ -297,10 +297,17 @@
 				if (result == null) result = defaultCase(theEObject);
 				return result;
 			}
+			case ReportDSLPackage.DATAMART_CONTAINER: {
+				DatamartContainer datamartContainer = (DatamartContainer)theEObject;
+				T result = caseDatamartContainer(datamartContainer);
+				if (result == null) result = defaultCase(theEObject);
+				return result;
+			}
 			case ReportDSLPackage.REPORT: {
 				Report report = (Report)theEObject;
 				T result = caseReport(report);
 				if (result == null) result = caseReportBase(report);
+				if (result == null) result = caseDatamartContainer(report);
 				if (result == null) result = caseReportLazyResolver(report);
 				if (result == null) result = defaultCase(theEObject);
 				return result;
@@ -464,6 +471,7 @@
 				if (result == null) result = caseElement(datamartTable);
 				if (result == null) result = caseWithStyle(datamartTable);
 				if (result == null) result = caseWithHeaderFooter(datamartTable);
+				if (result == null) result = caseDatamartContainer(datamartTable);
 				if (result == null) result = caseReportLazyResolver(datamartTable);
 				if (result == null) result = defaultCase(theEObject);
 				return result;
@@ -484,23 +492,23 @@
 				if (result == null) result = defaultCase(theEObject);
 				return result;
 			}
-			case ReportDSLPackage.DATAMART_TABLE_GROUP_HEADER: {
-				DatamartTableGroupHeader datamartTableGroupHeader = (DatamartTableGroupHeader)theEObject;
-				T result = caseDatamartTableGroupHeader(datamartTableGroupHeader);
-				if (result == null) result = caseElement(datamartTableGroupHeader);
-				if (result == null) result = caseSomeGrid(datamartTableGroupHeader);
-				if (result == null) result = caseWithStyle(datamartTableGroupHeader);
-				if (result == null) result = caseReportLazyResolver(datamartTableGroupHeader);
+			case ReportDSLPackage.DATAMART_TABLE_HEADER: {
+				DatamartTableHeader datamartTableHeader = (DatamartTableHeader)theEObject;
+				T result = caseDatamartTableHeader(datamartTableHeader);
+				if (result == null) result = caseElement(datamartTableHeader);
+				if (result == null) result = caseSomeGrid(datamartTableHeader);
+				if (result == null) result = caseWithStyle(datamartTableHeader);
+				if (result == null) result = caseReportLazyResolver(datamartTableHeader);
 				if (result == null) result = defaultCase(theEObject);
 				return result;
 			}
-			case ReportDSLPackage.DATAMART_TABLE_GROUP_FOOTER: {
-				DatamartTableGroupFooter datamartTableGroupFooter = (DatamartTableGroupFooter)theEObject;
-				T result = caseDatamartTableGroupFooter(datamartTableGroupFooter);
-				if (result == null) result = caseElement(datamartTableGroupFooter);
-				if (result == null) result = caseSomeGrid(datamartTableGroupFooter);
-				if (result == null) result = caseWithStyle(datamartTableGroupFooter);
-				if (result == null) result = caseReportLazyResolver(datamartTableGroupFooter);
+			case ReportDSLPackage.DATAMART_TABLE_FOOTER: {
+				DatamartTableFooter datamartTableFooter = (DatamartTableFooter)theEObject;
+				T result = caseDatamartTableFooter(datamartTableFooter);
+				if (result == null) result = caseElement(datamartTableFooter);
+				if (result == null) result = caseSomeGrid(datamartTableFooter);
+				if (result == null) result = caseWithStyle(datamartTableFooter);
+				if (result == null) result = caseReportLazyResolver(datamartTableFooter);
 				if (result == null) result = defaultCase(theEObject);
 				return result;
 			}
@@ -756,6 +764,7 @@
 				if (result == null) result = caseReportBase(grid);
 				if (result == null) result = caseElement(grid);
 				if (result == null) result = caseSomeGrid(grid);
+				if (result == null) result = caseWithStyle(grid);
 				if (result == null) result = caseReportLazyResolver(grid);
 				if (result == null) result = defaultCase(theEObject);
 				return result;
@@ -1204,6 +1213,21 @@
 	}
 
 	/**
+	 * Returns the result of interpreting the object as an instance of '<em>Datamart Container</em>'.
+	 * <!-- begin-user-doc -->
+	 * This implementation returns null;
+	 * returning a non-null result will terminate the switch.
+	 * <!-- end-user-doc -->
+	 * @param object the target of the switch.
+	 * @return the result of interpreting the object as an instance of '<em>Datamart Container</em>'.
+	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+	 * @generated
+	 */
+	public T caseDatamartContainer(DatamartContainer object) {
+		return null;
+	}
+
+	/**
 	 * Returns the result of interpreting the object as an instance of '<em>Report</em>'.
 	 * <!-- begin-user-doc -->
 	 * This implementation returns null;
@@ -1534,32 +1558,32 @@
 	}
 
 	/**
-	 * Returns the result of interpreting the object as an instance of '<em>Datamart Table Group Header</em>'.
+	 * Returns the result of interpreting the object as an instance of '<em>Datamart Table Header</em>'.
 	 * <!-- begin-user-doc -->
 	 * This implementation returns null;
 	 * returning a non-null result will terminate the switch.
 	 * <!-- end-user-doc -->
 	 * @param object the target of the switch.
-	 * @return the result of interpreting the object as an instance of '<em>Datamart Table Group Header</em>'.
+	 * @return the result of interpreting the object as an instance of '<em>Datamart Table Header</em>'.
 	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
 	 * @generated
 	 */
-	public T caseDatamartTableGroupHeader(DatamartTableGroupHeader object) {
+	public T caseDatamartTableHeader(DatamartTableHeader object) {
 		return null;
 	}
 
 	/**
-	 * Returns the result of interpreting the object as an instance of '<em>Datamart Table Group Footer</em>'.
+	 * Returns the result of interpreting the object as an instance of '<em>Datamart Table Footer</em>'.
 	 * <!-- begin-user-doc -->
 	 * This implementation returns null;
 	 * returning a non-null result will terminate the switch.
 	 * <!-- end-user-doc -->
 	 * @param object the target of the switch.
-	 * @return the result of interpreting the object as an instance of '<em>Datamart Table Group Footer</em>'.
+	 * @return the result of interpreting the object as an instance of '<em>Datamart Table Footer</em>'.
 	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
 	 * @generated
 	 */
-	public T caseDatamartTableGroupFooter(DatamartTableGroupFooter object) {
+	public T caseDatamartTableFooter(DatamartTableFooter object) {
 		return null;
 	}
 
diff --git a/org.eclipse.osbp.xtext.reportdsl/model/ReportDSL.xcore b/org.eclipse.osbp.xtext.reportdsl/model/ReportDSL.xcore
index c9875cf..6c61c1b 100644
--- a/org.eclipse.osbp.xtext.reportdsl/model/ReportDSL.xcore
+++ b/org.eclipse.osbp.xtext.reportdsl/model/ReportDSL.xcore
@@ -204,6 +204,7 @@
 	refers Color backgroundcolor_alternate
 	refers Color textcolor
 	TextAlignEnum textalign
+	VerticalTextAlignEnum verticalalign
     contains BorderStyle borderTop
     contains BorderStyle borderBottom
     contains BorderStyle borderLeft
@@ -234,6 +235,13 @@
 	RIGHT as 'right'
 }
 
+enum VerticalTextAlignEnum {
+	NULL as ''
+	BOTTOM as 'bottom'
+	MIDDLE as 'middle'
+	TOP as 'top'
+}
+
 class SomeFormat extends ReportBase {
 	String ui_pattern
 	String report_pattern
@@ -290,11 +298,14 @@
 	CUSTOM as 'custom'
 }
 
-class Report extends ReportBase {
+class DatamartContainer {
+	refers DatamartDefinition datamartRef
+}
+
+class Report extends ReportBase, DatamartContainer {
 	boolean selectById
 	boolean description
 	String descriptionValue
-	refers DatamartDefinition datamartRef
 	RenderingEnum rendering
 	String externalCssURI
 	String externalCssURIBundle
@@ -366,6 +377,9 @@
 	PAGE_NUMBER_UNFILTERED as "page-number-unfiltered"
 	TOTAL_PAGE_UNFILTERED as "total-page-unfiltered"
 	PAGE_VARIABLE as "page-variable"
+	ACTUAL_DATE as "actual-date"
+	ACTUAL_TIME as "actual-time"
+	REPORT_NAME as "report-name"
 }
 
 class Image extends Element, WithStyle {
@@ -398,36 +412,34 @@
 }
 
 class WithHeaderFooter extends ReportLazyResolver {
-	boolean detailheader
-	refers Style headerstyle
-	boolean detailfooter
-	refers Style footerstyle
-}
-
-class DatamartTable extends ReportBase, Element, WithStyle, WithHeaderFooter {
-	contains DatamartTableGroup[] groups
-	contains DatamartTableDetail detail
+	contains DatamartTableHeader header
+	contains DatamartTableFooter footer
 	contains Visibility visibilityItem
 	contains PageBreak pageBreak
+//	boolean detailheader
+//	refers Style headerstyle
+//	boolean detailfooter
+//	refers Style footerstyle
+}
+
+class DatamartTable extends ReportBase, Element, WithStyle, WithHeaderFooter, DatamartContainer {
+	contains DatamartTableGroup[] groups
+	contains DatamartTableDetail detail
 }
 
 class DatamartTableGroup extends ReportBase, WithHeaderFooter {
 	refers DatamartAttribute groupingRef
-	contains DatamartTableGroupHeader header
-	contains DatamartTableGroupFooter footer
-	contains Visibility visibilityItem
-	contains PageBreak pageBreak
 }
 
 class SomeGrid extends ReportLazyResolver {
 	contains GridRow[] rows
 }
 
-class DatamartTableGroupHeader extends Element, SomeGrid, WithStyle {
+class DatamartTableHeader extends Element, SomeGrid, WithStyle {
 	contains PageBreak pageBreak
 }
 
-class DatamartTableGroupFooter extends Element, SomeGrid, WithStyle {
+class DatamartTableFooter extends Element, SomeGrid, WithStyle {
 	contains PageBreak pageBreak
 }
 
@@ -613,7 +625,7 @@
 
 /* ... copy from tabledsl !!! */
 
-class Grid extends ReportBase, Element, SomeGrid {
+class Grid extends ReportBase, Element, SomeGrid, WithStyle {
 	double widthValue
 	contains Visibility visibilityItem
 }
diff --git a/org.eclipse.osbp.xtext.reportdsl/resources/log4j.properties b/org.eclipse.osbp.xtext.reportdsl/resources/log4j.properties
new file mode 100644
index 0000000..51b9e7c
--- /dev/null
+++ b/org.eclipse.osbp.xtext.reportdsl/resources/log4j.properties
@@ -0,0 +1,4 @@
+log4j.rootCategory=DEBUG, stdout
+log4j.appender.stdout=org.apache.log4j.ConsoleAppender
+log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
+log4j.appender.stdout.layout.ConversionPattern=%d{yyyy-MMMM-dd HH:mm:ss:SSS} %5p %t %c{2}:%L - %m%n
diff --git a/org.eclipse.osbp.xtext.reportdsl/src-gen/README.txt b/org.eclipse.osbp.xtext.reportdsl/src-gen/README.txt
deleted file mode 100644
index bbbe557..0000000
--- a/org.eclipse.osbp.xtext.reportdsl/src-gen/README.txt
+++ /dev/null
@@ -1 +0,0 @@
-dummy file needed for git for necessary but empty directories!
\ No newline at end of file
diff --git a/org.eclipse.osbp.xtext.reportdsl/src-gen/org/eclipse/osbp/xtext/reportdsl/ReportDSL.xtextbin b/org.eclipse.osbp.xtext.reportdsl/src-gen/org/eclipse/osbp/xtext/reportdsl/ReportDSL.xtextbin
index 8ed6264..18e5def 100644
--- a/org.eclipse.osbp.xtext.reportdsl/src-gen/org/eclipse/osbp/xtext/reportdsl/ReportDSL.xtextbin
+++ b/org.eclipse.osbp.xtext.reportdsl/src-gen/org/eclipse/osbp/xtext/reportdsl/ReportDSL.xtextbin
Binary files differ
diff --git a/org.eclipse.osbp.xtext.reportdsl/src-gen/org/eclipse/osbp/xtext/reportdsl/parser/antlr/internal/InternalReportDSL.g b/org.eclipse.osbp.xtext.reportdsl/src-gen/org/eclipse/osbp/xtext/reportdsl/parser/antlr/internal/InternalReportDSL.g
index 0bae081..5f31890 100644
--- a/org.eclipse.osbp.xtext.reportdsl/src-gen/org/eclipse/osbp/xtext/reportdsl/parser/antlr/internal/InternalReportDSL.g
+++ b/org.eclipse.osbp.xtext.reportdsl/src-gen/org/eclipse/osbp/xtext/reportdsl/parser/antlr/internal/InternalReportDSL.g
@@ -1590,7 +1590,7 @@
 					newLeafNode(otherlv_2, grammarAccess.getBorderStyleAccess().getColorColorCrossReference_2_0());
 				}
 			)
-		)
+		)?
 	)
 ;
 
@@ -1832,25 +1832,25 @@
 					{
 						getUnorderedGroupHelper().select(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 5);
 					}
-								({true}?=>(otherlv_18='border-top'
+								({true}?=>(otherlv_18='verticalalign'
 								{
-									newLeafNode(otherlv_18, grammarAccess.getStyleAccess().getBorderTopKeyword_4_5_0());
+									newLeafNode(otherlv_18, grammarAccess.getStyleAccess().getVerticalalignKeyword_4_5_0());
 								}
 								(
 									(
 										{
-											newCompositeNode(grammarAccess.getStyleAccess().getBorderTopBorderStyleParserRuleCall_4_5_1_0());
+											newCompositeNode(grammarAccess.getStyleAccess().getVerticalalignVerticalTextAlignEnumEnumRuleCall_4_5_1_0());
 										}
-										lv_borderTop_19_0=ruleBorderStyle
+										lv_verticalalign_19_0=ruleVerticalTextAlignEnum
 										{
 											if ($current==null) {
 												$current = createModelElementForParent(grammarAccess.getStyleRule());
 											}
 											set(
 												$current,
-												"borderTop",
-												lv_borderTop_19_0,
-												"org.eclipse.osbp.xtext.reportdsl.ReportDSL.BorderStyle");
+												"verticalalign",
+												lv_verticalalign_19_0,
+												"org.eclipse.osbp.xtext.reportdsl.ReportDSL.VerticalTextAlignEnum");
 											afterParserOrEnumRuleCall();
 										}
 									)
@@ -1866,24 +1866,24 @@
 					{
 						getUnorderedGroupHelper().select(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 6);
 					}
-								({true}?=>(otherlv_20='border-bottom'
+								({true}?=>(otherlv_20='border-top'
 								{
-									newLeafNode(otherlv_20, grammarAccess.getStyleAccess().getBorderBottomKeyword_4_6_0());
+									newLeafNode(otherlv_20, grammarAccess.getStyleAccess().getBorderTopKeyword_4_6_0());
 								}
 								(
 									(
 										{
-											newCompositeNode(grammarAccess.getStyleAccess().getBorderBottomBorderStyleParserRuleCall_4_6_1_0());
+											newCompositeNode(grammarAccess.getStyleAccess().getBorderTopBorderStyleParserRuleCall_4_6_1_0());
 										}
-										lv_borderBottom_21_0=ruleBorderStyle
+										lv_borderTop_21_0=ruleBorderStyle
 										{
 											if ($current==null) {
 												$current = createModelElementForParent(grammarAccess.getStyleRule());
 											}
 											set(
 												$current,
-												"borderBottom",
-												lv_borderBottom_21_0,
+												"borderTop",
+												lv_borderTop_21_0,
 												"org.eclipse.osbp.xtext.reportdsl.ReportDSL.BorderStyle");
 											afterParserOrEnumRuleCall();
 										}
@@ -1900,24 +1900,24 @@
 					{
 						getUnorderedGroupHelper().select(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 7);
 					}
-								({true}?=>(otherlv_22='border-left'
+								({true}?=>(otherlv_22='border-bottom'
 								{
-									newLeafNode(otherlv_22, grammarAccess.getStyleAccess().getBorderLeftKeyword_4_7_0());
+									newLeafNode(otherlv_22, grammarAccess.getStyleAccess().getBorderBottomKeyword_4_7_0());
 								}
 								(
 									(
 										{
-											newCompositeNode(grammarAccess.getStyleAccess().getBorderLeftBorderStyleParserRuleCall_4_7_1_0());
+											newCompositeNode(grammarAccess.getStyleAccess().getBorderBottomBorderStyleParserRuleCall_4_7_1_0());
 										}
-										lv_borderLeft_23_0=ruleBorderStyle
+										lv_borderBottom_23_0=ruleBorderStyle
 										{
 											if ($current==null) {
 												$current = createModelElementForParent(grammarAccess.getStyleRule());
 											}
 											set(
 												$current,
-												"borderLeft",
-												lv_borderLeft_23_0,
+												"borderBottom",
+												lv_borderBottom_23_0,
 												"org.eclipse.osbp.xtext.reportdsl.ReportDSL.BorderStyle");
 											afterParserOrEnumRuleCall();
 										}
@@ -1934,24 +1934,24 @@
 					{
 						getUnorderedGroupHelper().select(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 8);
 					}
-								({true}?=>(otherlv_24='border-right'
+								({true}?=>(otherlv_24='border-left'
 								{
-									newLeafNode(otherlv_24, grammarAccess.getStyleAccess().getBorderRightKeyword_4_8_0());
+									newLeafNode(otherlv_24, grammarAccess.getStyleAccess().getBorderLeftKeyword_4_8_0());
 								}
 								(
 									(
 										{
-											newCompositeNode(grammarAccess.getStyleAccess().getBorderRightBorderStyleParserRuleCall_4_8_1_0());
+											newCompositeNode(grammarAccess.getStyleAccess().getBorderLeftBorderStyleParserRuleCall_4_8_1_0());
 										}
-										lv_borderRight_25_0=ruleBorderStyle
+										lv_borderLeft_25_0=ruleBorderStyle
 										{
 											if ($current==null) {
 												$current = createModelElementForParent(grammarAccess.getStyleRule());
 											}
 											set(
 												$current,
-												"borderRight",
-												lv_borderRight_25_0,
+												"borderLeft",
+												lv_borderLeft_25_0,
 												"org.eclipse.osbp.xtext.reportdsl.ReportDSL.BorderStyle");
 											afterParserOrEnumRuleCall();
 										}
@@ -1968,25 +1968,25 @@
 					{
 						getUnorderedGroupHelper().select(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 9);
 					}
-								({true}?=>(otherlv_26='padding-top'
+								({true}?=>(otherlv_26='border-right'
 								{
-									newLeafNode(otherlv_26, grammarAccess.getStyleAccess().getPaddingTopKeyword_4_9_0());
+									newLeafNode(otherlv_26, grammarAccess.getStyleAccess().getBorderRightKeyword_4_9_0());
 								}
 								(
 									(
 										{
-											newCompositeNode(grammarAccess.getStyleAccess().getPaddingTopValueUnsignedNumberParserRuleCall_4_9_1_0());
+											newCompositeNode(grammarAccess.getStyleAccess().getBorderRightBorderStyleParserRuleCall_4_9_1_0());
 										}
-										lv_paddingTopValue_27_0=ruleUnsignedNumber
+										lv_borderRight_27_0=ruleBorderStyle
 										{
 											if ($current==null) {
 												$current = createModelElementForParent(grammarAccess.getStyleRule());
 											}
 											set(
 												$current,
-												"paddingTopValue",
-												lv_paddingTopValue_27_0,
-												"org.eclipse.osbp.xtext.reportdsl.ReportDSL.UnsignedNumber");
+												"borderRight",
+												lv_borderRight_27_0,
+												"org.eclipse.osbp.xtext.reportdsl.ReportDSL.BorderStyle");
 											afterParserOrEnumRuleCall();
 										}
 									)
@@ -2002,24 +2002,24 @@
 					{
 						getUnorderedGroupHelper().select(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 10);
 					}
-								({true}?=>(otherlv_28='padding-bottom'
+								({true}?=>(otherlv_28='padding-top'
 								{
-									newLeafNode(otherlv_28, grammarAccess.getStyleAccess().getPaddingBottomKeyword_4_10_0());
+									newLeafNode(otherlv_28, grammarAccess.getStyleAccess().getPaddingTopKeyword_4_10_0());
 								}
 								(
 									(
 										{
-											newCompositeNode(grammarAccess.getStyleAccess().getPaddingBottomValueUnsignedNumberParserRuleCall_4_10_1_0());
+											newCompositeNode(grammarAccess.getStyleAccess().getPaddingTopValueUnsignedNumberParserRuleCall_4_10_1_0());
 										}
-										lv_paddingBottomValue_29_0=ruleUnsignedNumber
+										lv_paddingTopValue_29_0=ruleUnsignedNumber
 										{
 											if ($current==null) {
 												$current = createModelElementForParent(grammarAccess.getStyleRule());
 											}
 											set(
 												$current,
-												"paddingBottomValue",
-												lv_paddingBottomValue_29_0,
+												"paddingTopValue",
+												lv_paddingTopValue_29_0,
 												"org.eclipse.osbp.xtext.reportdsl.ReportDSL.UnsignedNumber");
 											afterParserOrEnumRuleCall();
 										}
@@ -2036,24 +2036,24 @@
 					{
 						getUnorderedGroupHelper().select(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 11);
 					}
-								({true}?=>(otherlv_30='padding-left'
+								({true}?=>(otherlv_30='padding-bottom'
 								{
-									newLeafNode(otherlv_30, grammarAccess.getStyleAccess().getPaddingLeftKeyword_4_11_0());
+									newLeafNode(otherlv_30, grammarAccess.getStyleAccess().getPaddingBottomKeyword_4_11_0());
 								}
 								(
 									(
 										{
-											newCompositeNode(grammarAccess.getStyleAccess().getPaddingLeftValueUnsignedNumberParserRuleCall_4_11_1_0());
+											newCompositeNode(grammarAccess.getStyleAccess().getPaddingBottomValueUnsignedNumberParserRuleCall_4_11_1_0());
 										}
-										lv_paddingLeftValue_31_0=ruleUnsignedNumber
+										lv_paddingBottomValue_31_0=ruleUnsignedNumber
 										{
 											if ($current==null) {
 												$current = createModelElementForParent(grammarAccess.getStyleRule());
 											}
 											set(
 												$current,
-												"paddingLeftValue",
-												lv_paddingLeftValue_31_0,
+												"paddingBottomValue",
+												lv_paddingBottomValue_31_0,
 												"org.eclipse.osbp.xtext.reportdsl.ReportDSL.UnsignedNumber");
 											afterParserOrEnumRuleCall();
 										}
@@ -2070,24 +2070,24 @@
 					{
 						getUnorderedGroupHelper().select(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 12);
 					}
-								({true}?=>(otherlv_32='padding-right'
+								({true}?=>(otherlv_32='padding-left'
 								{
-									newLeafNode(otherlv_32, grammarAccess.getStyleAccess().getPaddingRightKeyword_4_12_0());
+									newLeafNode(otherlv_32, grammarAccess.getStyleAccess().getPaddingLeftKeyword_4_12_0());
 								}
 								(
 									(
 										{
-											newCompositeNode(grammarAccess.getStyleAccess().getPaddingRightValueUnsignedNumberParserRuleCall_4_12_1_0());
+											newCompositeNode(grammarAccess.getStyleAccess().getPaddingLeftValueUnsignedNumberParserRuleCall_4_12_1_0());
 										}
-										lv_paddingRightValue_33_0=ruleUnsignedNumber
+										lv_paddingLeftValue_33_0=ruleUnsignedNumber
 										{
 											if ($current==null) {
 												$current = createModelElementForParent(grammarAccess.getStyleRule());
 											}
 											set(
 												$current,
-												"paddingRightValue",
-												lv_paddingRightValue_33_0,
+												"paddingLeftValue",
+												lv_paddingLeftValue_33_0,
 												"org.eclipse.osbp.xtext.reportdsl.ReportDSL.UnsignedNumber");
 											afterParserOrEnumRuleCall();
 										}
@@ -2104,24 +2104,24 @@
 					{
 						getUnorderedGroupHelper().select(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 13);
 					}
-								({true}?=>(otherlv_34='margin-top'
+								({true}?=>(otherlv_34='padding-right'
 								{
-									newLeafNode(otherlv_34, grammarAccess.getStyleAccess().getMarginTopKeyword_4_13_0());
+									newLeafNode(otherlv_34, grammarAccess.getStyleAccess().getPaddingRightKeyword_4_13_0());
 								}
 								(
 									(
 										{
-											newCompositeNode(grammarAccess.getStyleAccess().getMarginTopValueUnsignedNumberParserRuleCall_4_13_1_0());
+											newCompositeNode(grammarAccess.getStyleAccess().getPaddingRightValueUnsignedNumberParserRuleCall_4_13_1_0());
 										}
-										lv_marginTopValue_35_0=ruleUnsignedNumber
+										lv_paddingRightValue_35_0=ruleUnsignedNumber
 										{
 											if ($current==null) {
 												$current = createModelElementForParent(grammarAccess.getStyleRule());
 											}
 											set(
 												$current,
-												"marginTopValue",
-												lv_marginTopValue_35_0,
+												"paddingRightValue",
+												lv_paddingRightValue_35_0,
 												"org.eclipse.osbp.xtext.reportdsl.ReportDSL.UnsignedNumber");
 											afterParserOrEnumRuleCall();
 										}
@@ -2138,24 +2138,24 @@
 					{
 						getUnorderedGroupHelper().select(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 14);
 					}
-								({true}?=>(otherlv_36='margin-bottom'
+								({true}?=>(otherlv_36='margin-top'
 								{
-									newLeafNode(otherlv_36, grammarAccess.getStyleAccess().getMarginBottomKeyword_4_14_0());
+									newLeafNode(otherlv_36, grammarAccess.getStyleAccess().getMarginTopKeyword_4_14_0());
 								}
 								(
 									(
 										{
-											newCompositeNode(grammarAccess.getStyleAccess().getMarginBottomValueUnsignedNumberParserRuleCall_4_14_1_0());
+											newCompositeNode(grammarAccess.getStyleAccess().getMarginTopValueUnsignedNumberParserRuleCall_4_14_1_0());
 										}
-										lv_marginBottomValue_37_0=ruleUnsignedNumber
+										lv_marginTopValue_37_0=ruleUnsignedNumber
 										{
 											if ($current==null) {
 												$current = createModelElementForParent(grammarAccess.getStyleRule());
 											}
 											set(
 												$current,
-												"marginBottomValue",
-												lv_marginBottomValue_37_0,
+												"marginTopValue",
+												lv_marginTopValue_37_0,
 												"org.eclipse.osbp.xtext.reportdsl.ReportDSL.UnsignedNumber");
 											afterParserOrEnumRuleCall();
 										}
@@ -2172,24 +2172,24 @@
 					{
 						getUnorderedGroupHelper().select(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 15);
 					}
-								({true}?=>(otherlv_38='margin-left'
+								({true}?=>(otherlv_38='margin-bottom'
 								{
-									newLeafNode(otherlv_38, grammarAccess.getStyleAccess().getMarginLeftKeyword_4_15_0());
+									newLeafNode(otherlv_38, grammarAccess.getStyleAccess().getMarginBottomKeyword_4_15_0());
 								}
 								(
 									(
 										{
-											newCompositeNode(grammarAccess.getStyleAccess().getMarginLeftValueUnsignedNumberParserRuleCall_4_15_1_0());
+											newCompositeNode(grammarAccess.getStyleAccess().getMarginBottomValueUnsignedNumberParserRuleCall_4_15_1_0());
 										}
-										lv_marginLeftValue_39_0=ruleUnsignedNumber
+										lv_marginBottomValue_39_0=ruleUnsignedNumber
 										{
 											if ($current==null) {
 												$current = createModelElementForParent(grammarAccess.getStyleRule());
 											}
 											set(
 												$current,
-												"marginLeftValue",
-												lv_marginLeftValue_39_0,
+												"marginBottomValue",
+												lv_marginBottomValue_39_0,
 												"org.eclipse.osbp.xtext.reportdsl.ReportDSL.UnsignedNumber");
 											afterParserOrEnumRuleCall();
 										}
@@ -2206,16 +2206,50 @@
 					{
 						getUnorderedGroupHelper().select(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 16);
 					}
-								({true}?=>(otherlv_40='margin-right'
+								({true}?=>(otherlv_40='margin-left'
 								{
-									newLeafNode(otherlv_40, grammarAccess.getStyleAccess().getMarginRightKeyword_4_16_0());
+									newLeafNode(otherlv_40, grammarAccess.getStyleAccess().getMarginLeftKeyword_4_16_0());
 								}
 								(
 									(
 										{
-											newCompositeNode(grammarAccess.getStyleAccess().getMarginRightValueUnsignedNumberParserRuleCall_4_16_1_0());
+											newCompositeNode(grammarAccess.getStyleAccess().getMarginLeftValueUnsignedNumberParserRuleCall_4_16_1_0());
 										}
-										lv_marginRightValue_41_0=ruleUnsignedNumber
+										lv_marginLeftValue_41_0=ruleUnsignedNumber
+										{
+											if ($current==null) {
+												$current = createModelElementForParent(grammarAccess.getStyleRule());
+											}
+											set(
+												$current,
+												"marginLeftValue",
+												lv_marginLeftValue_41_0,
+												"org.eclipse.osbp.xtext.reportdsl.ReportDSL.UnsignedNumber");
+											afterParserOrEnumRuleCall();
+										}
+									)
+								)
+								))
+					{ 
+						getUnorderedGroupHelper().returnFromSelection(grammarAccess.getStyleAccess().getUnorderedGroup_4());
+					}
+				)
+			)|
+			(
+				{getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 17)}?=>(
+					{
+						getUnorderedGroupHelper().select(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 17);
+					}
+								({true}?=>(otherlv_42='margin-right'
+								{
+									newLeafNode(otherlv_42, grammarAccess.getStyleAccess().getMarginRightKeyword_4_17_0());
+								}
+								(
+									(
+										{
+											newCompositeNode(grammarAccess.getStyleAccess().getMarginRightValueUnsignedNumberParserRuleCall_4_17_1_0());
+										}
+										lv_marginRightValue_43_0=ruleUnsignedNumber
 										{
 											if ($current==null) {
 												$current = createModelElementForParent(grammarAccess.getStyleRule());
@@ -2223,7 +2257,7 @@
 											set(
 												$current,
 												"marginRightValue",
-												lv_marginRightValue_41_0,
+												lv_marginRightValue_43_0,
 												"org.eclipse.osbp.xtext.reportdsl.ReportDSL.UnsignedNumber");
 											afterParserOrEnumRuleCall();
 										}
@@ -2247,7 +2281,7 @@
 				{
 					newCompositeNode(grammarAccess.getStyleAccess().getMediastylesMediaStyleParserRuleCall_5_0());
 				}
-				lv_mediastyles_42_0=ruleMediaStyle
+				lv_mediastyles_44_0=ruleMediaStyle
 				{
 					if ($current==null) {
 						$current = createModelElementForParent(grammarAccess.getStyleRule());
@@ -2255,15 +2289,15 @@
 					add(
 						$current,
 						"mediastyles",
-						lv_mediastyles_42_0,
+						lv_mediastyles_44_0,
 						"org.eclipse.osbp.xtext.reportdsl.ReportDSL.MediaStyle");
 					afterParserOrEnumRuleCall();
 				}
 			)
 		)*
-		otherlv_43='}'
+		otherlv_45='}'
 		{
-			newLeafNode(otherlv_43, grammarAccess.getStyleAccess().getRightCurlyBracketKeyword_6());
+			newLeafNode(otherlv_45, grammarAccess.getStyleAccess().getRightCurlyBracketKeyword_6());
 		}
 	)
 ;
@@ -2482,25 +2516,25 @@
 					{
 						getUnorderedGroupHelper().select(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 5);
 					}
-								({true}?=>(otherlv_16='border-top'
+								({true}?=>(otherlv_16='verticalalign'
 								{
-									newLeafNode(otherlv_16, grammarAccess.getMediaStyleAccess().getBorderTopKeyword_3_5_0());
+									newLeafNode(otherlv_16, grammarAccess.getMediaStyleAccess().getVerticalalignKeyword_3_5_0());
 								}
 								(
 									(
 										{
-											newCompositeNode(grammarAccess.getMediaStyleAccess().getBorderTopBorderStyleParserRuleCall_3_5_1_0());
+											newCompositeNode(grammarAccess.getMediaStyleAccess().getVerticalalignVerticalTextAlignEnumEnumRuleCall_3_5_1_0());
 										}
-										lv_borderTop_17_0=ruleBorderStyle
+										lv_verticalalign_17_0=ruleVerticalTextAlignEnum
 										{
 											if ($current==null) {
 												$current = createModelElementForParent(grammarAccess.getMediaStyleRule());
 											}
 											set(
 												$current,
-												"borderTop",
-												lv_borderTop_17_0,
-												"org.eclipse.osbp.xtext.reportdsl.ReportDSL.BorderStyle");
+												"verticalalign",
+												lv_verticalalign_17_0,
+												"org.eclipse.osbp.xtext.reportdsl.ReportDSL.VerticalTextAlignEnum");
 											afterParserOrEnumRuleCall();
 										}
 									)
@@ -2516,24 +2550,24 @@
 					{
 						getUnorderedGroupHelper().select(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 6);
 					}
-								({true}?=>(otherlv_18='border-bottom'
+								({true}?=>(otherlv_18='border-top'
 								{
-									newLeafNode(otherlv_18, grammarAccess.getMediaStyleAccess().getBorderBottomKeyword_3_6_0());
+									newLeafNode(otherlv_18, grammarAccess.getMediaStyleAccess().getBorderTopKeyword_3_6_0());
 								}
 								(
 									(
 										{
-											newCompositeNode(grammarAccess.getMediaStyleAccess().getBorderBottomBorderStyleParserRuleCall_3_6_1_0());
+											newCompositeNode(grammarAccess.getMediaStyleAccess().getBorderTopBorderStyleParserRuleCall_3_6_1_0());
 										}
-										lv_borderBottom_19_0=ruleBorderStyle
+										lv_borderTop_19_0=ruleBorderStyle
 										{
 											if ($current==null) {
 												$current = createModelElementForParent(grammarAccess.getMediaStyleRule());
 											}
 											set(
 												$current,
-												"borderBottom",
-												lv_borderBottom_19_0,
+												"borderTop",
+												lv_borderTop_19_0,
 												"org.eclipse.osbp.xtext.reportdsl.ReportDSL.BorderStyle");
 											afterParserOrEnumRuleCall();
 										}
@@ -2550,24 +2584,24 @@
 					{
 						getUnorderedGroupHelper().select(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 7);
 					}
-								({true}?=>(otherlv_20='border-left'
+								({true}?=>(otherlv_20='border-bottom'
 								{
-									newLeafNode(otherlv_20, grammarAccess.getMediaStyleAccess().getBorderLeftKeyword_3_7_0());
+									newLeafNode(otherlv_20, grammarAccess.getMediaStyleAccess().getBorderBottomKeyword_3_7_0());
 								}
 								(
 									(
 										{
-											newCompositeNode(grammarAccess.getMediaStyleAccess().getBorderLeftBorderStyleParserRuleCall_3_7_1_0());
+											newCompositeNode(grammarAccess.getMediaStyleAccess().getBorderBottomBorderStyleParserRuleCall_3_7_1_0());
 										}
-										lv_borderLeft_21_0=ruleBorderStyle
+										lv_borderBottom_21_0=ruleBorderStyle
 										{
 											if ($current==null) {
 												$current = createModelElementForParent(grammarAccess.getMediaStyleRule());
 											}
 											set(
 												$current,
-												"borderLeft",
-												lv_borderLeft_21_0,
+												"borderBottom",
+												lv_borderBottom_21_0,
 												"org.eclipse.osbp.xtext.reportdsl.ReportDSL.BorderStyle");
 											afterParserOrEnumRuleCall();
 										}
@@ -2584,24 +2618,24 @@
 					{
 						getUnorderedGroupHelper().select(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 8);
 					}
-								({true}?=>(otherlv_22='border-right'
+								({true}?=>(otherlv_22='border-left'
 								{
-									newLeafNode(otherlv_22, grammarAccess.getMediaStyleAccess().getBorderRightKeyword_3_8_0());
+									newLeafNode(otherlv_22, grammarAccess.getMediaStyleAccess().getBorderLeftKeyword_3_8_0());
 								}
 								(
 									(
 										{
-											newCompositeNode(grammarAccess.getMediaStyleAccess().getBorderRightBorderStyleParserRuleCall_3_8_1_0());
+											newCompositeNode(grammarAccess.getMediaStyleAccess().getBorderLeftBorderStyleParserRuleCall_3_8_1_0());
 										}
-										lv_borderRight_23_0=ruleBorderStyle
+										lv_borderLeft_23_0=ruleBorderStyle
 										{
 											if ($current==null) {
 												$current = createModelElementForParent(grammarAccess.getMediaStyleRule());
 											}
 											set(
 												$current,
-												"borderRight",
-												lv_borderRight_23_0,
+												"borderLeft",
+												lv_borderLeft_23_0,
 												"org.eclipse.osbp.xtext.reportdsl.ReportDSL.BorderStyle");
 											afterParserOrEnumRuleCall();
 										}
@@ -2618,25 +2652,25 @@
 					{
 						getUnorderedGroupHelper().select(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 9);
 					}
-								({true}?=>(otherlv_24='padding-top'
+								({true}?=>(otherlv_24='border-right'
 								{
-									newLeafNode(otherlv_24, grammarAccess.getMediaStyleAccess().getPaddingTopKeyword_3_9_0());
+									newLeafNode(otherlv_24, grammarAccess.getMediaStyleAccess().getBorderRightKeyword_3_9_0());
 								}
 								(
 									(
 										{
-											newCompositeNode(grammarAccess.getMediaStyleAccess().getPaddingTopValueUnsignedNumberParserRuleCall_3_9_1_0());
+											newCompositeNode(grammarAccess.getMediaStyleAccess().getBorderRightBorderStyleParserRuleCall_3_9_1_0());
 										}
-										lv_paddingTopValue_25_0=ruleUnsignedNumber
+										lv_borderRight_25_0=ruleBorderStyle
 										{
 											if ($current==null) {
 												$current = createModelElementForParent(grammarAccess.getMediaStyleRule());
 											}
 											set(
 												$current,
-												"paddingTopValue",
-												lv_paddingTopValue_25_0,
-												"org.eclipse.osbp.xtext.reportdsl.ReportDSL.UnsignedNumber");
+												"borderRight",
+												lv_borderRight_25_0,
+												"org.eclipse.osbp.xtext.reportdsl.ReportDSL.BorderStyle");
 											afterParserOrEnumRuleCall();
 										}
 									)
@@ -2652,24 +2686,24 @@
 					{
 						getUnorderedGroupHelper().select(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 10);
 					}
-								({true}?=>(otherlv_26='padding-bottom'
+								({true}?=>(otherlv_26='padding-top'
 								{
-									newLeafNode(otherlv_26, grammarAccess.getMediaStyleAccess().getPaddingBottomKeyword_3_10_0());
+									newLeafNode(otherlv_26, grammarAccess.getMediaStyleAccess().getPaddingTopKeyword_3_10_0());
 								}
 								(
 									(
 										{
-											newCompositeNode(grammarAccess.getMediaStyleAccess().getPaddingBottomValueUnsignedNumberParserRuleCall_3_10_1_0());
+											newCompositeNode(grammarAccess.getMediaStyleAccess().getPaddingTopValueUnsignedNumberParserRuleCall_3_10_1_0());
 										}
-										lv_paddingBottomValue_27_0=ruleUnsignedNumber
+										lv_paddingTopValue_27_0=ruleUnsignedNumber
 										{
 											if ($current==null) {
 												$current = createModelElementForParent(grammarAccess.getMediaStyleRule());
 											}
 											set(
 												$current,
-												"paddingBottomValue",
-												lv_paddingBottomValue_27_0,
+												"paddingTopValue",
+												lv_paddingTopValue_27_0,
 												"org.eclipse.osbp.xtext.reportdsl.ReportDSL.UnsignedNumber");
 											afterParserOrEnumRuleCall();
 										}
@@ -2686,24 +2720,24 @@
 					{
 						getUnorderedGroupHelper().select(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 11);
 					}
-								({true}?=>(otherlv_28='padding-left'
+								({true}?=>(otherlv_28='padding-bottom'
 								{
-									newLeafNode(otherlv_28, grammarAccess.getMediaStyleAccess().getPaddingLeftKeyword_3_11_0());
+									newLeafNode(otherlv_28, grammarAccess.getMediaStyleAccess().getPaddingBottomKeyword_3_11_0());
 								}
 								(
 									(
 										{
-											newCompositeNode(grammarAccess.getMediaStyleAccess().getPaddingLeftValueUnsignedNumberParserRuleCall_3_11_1_0());
+											newCompositeNode(grammarAccess.getMediaStyleAccess().getPaddingBottomValueUnsignedNumberParserRuleCall_3_11_1_0());
 										}
-										lv_paddingLeftValue_29_0=ruleUnsignedNumber
+										lv_paddingBottomValue_29_0=ruleUnsignedNumber
 										{
 											if ($current==null) {
 												$current = createModelElementForParent(grammarAccess.getMediaStyleRule());
 											}
 											set(
 												$current,
-												"paddingLeftValue",
-												lv_paddingLeftValue_29_0,
+												"paddingBottomValue",
+												lv_paddingBottomValue_29_0,
 												"org.eclipse.osbp.xtext.reportdsl.ReportDSL.UnsignedNumber");
 											afterParserOrEnumRuleCall();
 										}
@@ -2720,24 +2754,24 @@
 					{
 						getUnorderedGroupHelper().select(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 12);
 					}
-								({true}?=>(otherlv_30='padding-right'
+								({true}?=>(otherlv_30='padding-left'
 								{
-									newLeafNode(otherlv_30, grammarAccess.getMediaStyleAccess().getPaddingRightKeyword_3_12_0());
+									newLeafNode(otherlv_30, grammarAccess.getMediaStyleAccess().getPaddingLeftKeyword_3_12_0());
 								}
 								(
 									(
 										{
-											newCompositeNode(grammarAccess.getMediaStyleAccess().getPaddingRightValueUnsignedNumberParserRuleCall_3_12_1_0());
+											newCompositeNode(grammarAccess.getMediaStyleAccess().getPaddingLeftValueUnsignedNumberParserRuleCall_3_12_1_0());
 										}
-										lv_paddingRightValue_31_0=ruleUnsignedNumber
+										lv_paddingLeftValue_31_0=ruleUnsignedNumber
 										{
 											if ($current==null) {
 												$current = createModelElementForParent(grammarAccess.getMediaStyleRule());
 											}
 											set(
 												$current,
-												"paddingRightValue",
-												lv_paddingRightValue_31_0,
+												"paddingLeftValue",
+												lv_paddingLeftValue_31_0,
 												"org.eclipse.osbp.xtext.reportdsl.ReportDSL.UnsignedNumber");
 											afterParserOrEnumRuleCall();
 										}
@@ -2754,24 +2788,24 @@
 					{
 						getUnorderedGroupHelper().select(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 13);
 					}
-								({true}?=>(otherlv_32='margin-top'
+								({true}?=>(otherlv_32='padding-right'
 								{
-									newLeafNode(otherlv_32, grammarAccess.getMediaStyleAccess().getMarginTopKeyword_3_13_0());
+									newLeafNode(otherlv_32, grammarAccess.getMediaStyleAccess().getPaddingRightKeyword_3_13_0());
 								}
 								(
 									(
 										{
-											newCompositeNode(grammarAccess.getMediaStyleAccess().getMarginTopValueUnsignedNumberParserRuleCall_3_13_1_0());
+											newCompositeNode(grammarAccess.getMediaStyleAccess().getPaddingRightValueUnsignedNumberParserRuleCall_3_13_1_0());
 										}
-										lv_marginTopValue_33_0=ruleUnsignedNumber
+										lv_paddingRightValue_33_0=ruleUnsignedNumber
 										{
 											if ($current==null) {
 												$current = createModelElementForParent(grammarAccess.getMediaStyleRule());
 											}
 											set(
 												$current,
-												"marginTopValue",
-												lv_marginTopValue_33_0,
+												"paddingRightValue",
+												lv_paddingRightValue_33_0,
 												"org.eclipse.osbp.xtext.reportdsl.ReportDSL.UnsignedNumber");
 											afterParserOrEnumRuleCall();
 										}
@@ -2788,24 +2822,24 @@
 					{
 						getUnorderedGroupHelper().select(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 14);
 					}
-								({true}?=>(otherlv_34='margin-bottom'
+								({true}?=>(otherlv_34='margin-top'
 								{
-									newLeafNode(otherlv_34, grammarAccess.getMediaStyleAccess().getMarginBottomKeyword_3_14_0());
+									newLeafNode(otherlv_34, grammarAccess.getMediaStyleAccess().getMarginTopKeyword_3_14_0());
 								}
 								(
 									(
 										{
-											newCompositeNode(grammarAccess.getMediaStyleAccess().getMarginBottomValueUnsignedNumberParserRuleCall_3_14_1_0());
+											newCompositeNode(grammarAccess.getMediaStyleAccess().getMarginTopValueUnsignedNumberParserRuleCall_3_14_1_0());
 										}
-										lv_marginBottomValue_35_0=ruleUnsignedNumber
+										lv_marginTopValue_35_0=ruleUnsignedNumber
 										{
 											if ($current==null) {
 												$current = createModelElementForParent(grammarAccess.getMediaStyleRule());
 											}
 											set(
 												$current,
-												"marginBottomValue",
-												lv_marginBottomValue_35_0,
+												"marginTopValue",
+												lv_marginTopValue_35_0,
 												"org.eclipse.osbp.xtext.reportdsl.ReportDSL.UnsignedNumber");
 											afterParserOrEnumRuleCall();
 										}
@@ -2822,24 +2856,24 @@
 					{
 						getUnorderedGroupHelper().select(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 15);
 					}
-								({true}?=>(otherlv_36='margin-left'
+								({true}?=>(otherlv_36='margin-bottom'
 								{
-									newLeafNode(otherlv_36, grammarAccess.getMediaStyleAccess().getMarginLeftKeyword_3_15_0());
+									newLeafNode(otherlv_36, grammarAccess.getMediaStyleAccess().getMarginBottomKeyword_3_15_0());
 								}
 								(
 									(
 										{
-											newCompositeNode(grammarAccess.getMediaStyleAccess().getMarginLeftValueUnsignedNumberParserRuleCall_3_15_1_0());
+											newCompositeNode(grammarAccess.getMediaStyleAccess().getMarginBottomValueUnsignedNumberParserRuleCall_3_15_1_0());
 										}
-										lv_marginLeftValue_37_0=ruleUnsignedNumber
+										lv_marginBottomValue_37_0=ruleUnsignedNumber
 										{
 											if ($current==null) {
 												$current = createModelElementForParent(grammarAccess.getMediaStyleRule());
 											}
 											set(
 												$current,
-												"marginLeftValue",
-												lv_marginLeftValue_37_0,
+												"marginBottomValue",
+												lv_marginBottomValue_37_0,
 												"org.eclipse.osbp.xtext.reportdsl.ReportDSL.UnsignedNumber");
 											afterParserOrEnumRuleCall();
 										}
@@ -2856,16 +2890,50 @@
 					{
 						getUnorderedGroupHelper().select(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 16);
 					}
-								({true}?=>(otherlv_38='margin-right'
+								({true}?=>(otherlv_38='margin-left'
 								{
-									newLeafNode(otherlv_38, grammarAccess.getMediaStyleAccess().getMarginRightKeyword_3_16_0());
+									newLeafNode(otherlv_38, grammarAccess.getMediaStyleAccess().getMarginLeftKeyword_3_16_0());
 								}
 								(
 									(
 										{
-											newCompositeNode(grammarAccess.getMediaStyleAccess().getMarginRightValueUnsignedNumberParserRuleCall_3_16_1_0());
+											newCompositeNode(grammarAccess.getMediaStyleAccess().getMarginLeftValueUnsignedNumberParserRuleCall_3_16_1_0());
 										}
-										lv_marginRightValue_39_0=ruleUnsignedNumber
+										lv_marginLeftValue_39_0=ruleUnsignedNumber
+										{
+											if ($current==null) {
+												$current = createModelElementForParent(grammarAccess.getMediaStyleRule());
+											}
+											set(
+												$current,
+												"marginLeftValue",
+												lv_marginLeftValue_39_0,
+												"org.eclipse.osbp.xtext.reportdsl.ReportDSL.UnsignedNumber");
+											afterParserOrEnumRuleCall();
+										}
+									)
+								)
+								))
+					{ 
+						getUnorderedGroupHelper().returnFromSelection(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3());
+					}
+				)
+			)|
+			(
+				{getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 17)}?=>(
+					{
+						getUnorderedGroupHelper().select(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 17);
+					}
+								({true}?=>(otherlv_40='margin-right'
+								{
+									newLeafNode(otherlv_40, grammarAccess.getMediaStyleAccess().getMarginRightKeyword_3_17_0());
+								}
+								(
+									(
+										{
+											newCompositeNode(grammarAccess.getMediaStyleAccess().getMarginRightValueUnsignedNumberParserRuleCall_3_17_1_0());
+										}
+										lv_marginRightValue_41_0=ruleUnsignedNumber
 										{
 											if ($current==null) {
 												$current = createModelElementForParent(grammarAccess.getMediaStyleRule());
@@ -2873,7 +2941,7 @@
 											set(
 												$current,
 												"marginRightValue",
-												lv_marginRightValue_39_0,
+												lv_marginRightValue_41_0,
 												"org.eclipse.osbp.xtext.reportdsl.ReportDSL.UnsignedNumber");
 											afterParserOrEnumRuleCall();
 										}
@@ -2892,9 +2960,9 @@
 				  getUnorderedGroupHelper().leave(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3());
 				}
 		)
-		otherlv_40='}'
+		otherlv_42='}'
 		{
-			newLeafNode(otherlv_40, grammarAccess.getMediaStyleAccess().getRightCurlyBracketKeyword_4());
+			newLeafNode(otherlv_42, grammarAccess.getMediaStyleAccess().getRightCurlyBracketKeyword_4());
 		}
 	)
 ;
@@ -4657,59 +4725,119 @@
 			)
 		)?
 		(
-			otherlv_4='width'
-			{
-				newLeafNode(otherlv_4, grammarAccess.getGridAccess().getWidthKeyword_3_0());
-			}
 			(
+				{ 
+				  getUnorderedGroupHelper().enter(grammarAccess.getGridAccess().getUnorderedGroup_3());
+				}
 				(
+					(
+			(
+				{getUnorderedGroupHelper().canSelect(grammarAccess.getGridAccess().getUnorderedGroup_3(), 0)}?=>(
 					{
-						newCompositeNode(grammarAccess.getGridAccess().getWidthValueUnsignedNumberParserRuleCall_3_1_0());
+						getUnorderedGroupHelper().select(grammarAccess.getGridAccess().getUnorderedGroup_3(), 0);
 					}
-					lv_widthValue_5_0=ruleUnsignedNumber
+								({true}?=>(otherlv_5='style'
+								{
+									newLeafNode(otherlv_5, grammarAccess.getGridAccess().getStyleKeyword_3_0_0());
+								}
+								(
+									(
+										{
+											if ($current==null) {
+												$current = createModelElement(grammarAccess.getGridRule());
+											}
+										}
+										otherlv_6=RULE_ID
+										{
+											newLeafNode(otherlv_6, grammarAccess.getGridAccess().getStyleStyleCrossReference_3_0_1_0());
+										}
+									)
+								)
+								))
+					{ 
+						getUnorderedGroupHelper().returnFromSelection(grammarAccess.getGridAccess().getUnorderedGroup_3());
+					}
+				)
+			)|
+			(
+				{getUnorderedGroupHelper().canSelect(grammarAccess.getGridAccess().getUnorderedGroup_3(), 1)}?=>(
 					{
-						if ($current==null) {
-							$current = createModelElementForParent(grammarAccess.getGridRule());
-						}
-						set(
-							$current,
-							"widthValue",
-							lv_widthValue_5_0,
-							"org.eclipse.osbp.xtext.reportdsl.ReportDSL.UnsignedNumber");
-						afterParserOrEnumRuleCall();
+						getUnorderedGroupHelper().select(grammarAccess.getGridAccess().getUnorderedGroup_3(), 1);
+					}
+								({true}?=>(otherlv_7='width'
+								{
+									newLeafNode(otherlv_7, grammarAccess.getGridAccess().getWidthKeyword_3_1_0());
+								}
+								(
+									(
+										{
+											newCompositeNode(grammarAccess.getGridAccess().getWidthValueUnsignedNumberParserRuleCall_3_1_1_0());
+										}
+										lv_widthValue_8_0=ruleUnsignedNumber
+										{
+											if ($current==null) {
+												$current = createModelElementForParent(grammarAccess.getGridRule());
+											}
+											set(
+												$current,
+												"widthValue",
+												lv_widthValue_8_0,
+												"org.eclipse.osbp.xtext.reportdsl.ReportDSL.UnsignedNumber");
+											afterParserOrEnumRuleCall();
+										}
+									)
+								)
+								))
+					{ 
+						getUnorderedGroupHelper().returnFromSelection(grammarAccess.getGridAccess().getUnorderedGroup_3());
+					}
+				)
+			)|
+			(
+				{getUnorderedGroupHelper().canSelect(grammarAccess.getGridAccess().getUnorderedGroup_3(), 2)}?=>(
+					{
+						getUnorderedGroupHelper().select(grammarAccess.getGridAccess().getUnorderedGroup_3(), 2);
+					}
+								({true}?=>((
+									{
+										newCompositeNode(grammarAccess.getGridAccess().getVisibilityItemVisibilityParserRuleCall_3_2_0());
+									}
+									lv_visibilityItem_9_0=ruleVisibility
+									{
+										if ($current==null) {
+											$current = createModelElementForParent(grammarAccess.getGridRule());
+										}
+										set(
+											$current,
+											"visibilityItem",
+											lv_visibilityItem_9_0,
+											"org.eclipse.osbp.xtext.reportdsl.ReportDSL.Visibility");
+										afterParserOrEnumRuleCall();
+									}
+								)
+								))
+					{ 
+						getUnorderedGroupHelper().returnFromSelection(grammarAccess.getGridAccess().getUnorderedGroup_3());
 					}
 				)
 			)
-		)?
-		(
-			(
-				{
-					newCompositeNode(grammarAccess.getGridAccess().getVisibilityItemVisibilityParserRuleCall_4_0());
-				}
-				lv_visibilityItem_6_0=ruleVisibility
-				{
-					if ($current==null) {
-						$current = createModelElementForParent(grammarAccess.getGridRule());
-					}
-					set(
-						$current,
-						"visibilityItem",
-						lv_visibilityItem_6_0,
-						"org.eclipse.osbp.xtext.reportdsl.ReportDSL.Visibility");
-					afterParserOrEnumRuleCall();
-				}
+					)*
+				)
 			)
-		)?
-		otherlv_7='{'
+				{ 
+				  getUnorderedGroupHelper().leave(grammarAccess.getGridAccess().getUnorderedGroup_3());
+				}
+		)
+		otherlv_10='{'
 		{
-			newLeafNode(otherlv_7, grammarAccess.getGridAccess().getLeftCurlyBracketKeyword_5());
+			newLeafNode(otherlv_10, grammarAccess.getGridAccess().getLeftCurlyBracketKeyword_4());
 		}
 		(
 			(
 				{
-					newCompositeNode(grammarAccess.getGridAccess().getRowsGridRowParserRuleCall_6_0());
+					newCompositeNode(grammarAccess.getGridAccess().getRowsGridRowParserRuleCall_5_0());
 				}
-				lv_rows_8_0=ruleGridRow
+				lv_rows_11_0=ruleGridRow
 				{
 					if ($current==null) {
 						$current = createModelElementForParent(grammarAccess.getGridRule());
@@ -4717,15 +4845,15 @@
 					add(
 						$current,
 						"rows",
-						lv_rows_8_0,
+						lv_rows_11_0,
 						"org.eclipse.osbp.xtext.reportdsl.ReportDSL.GridRow");
 					afterParserOrEnumRuleCall();
 				}
 			)
 		)*
-		otherlv_9='}'
+		otherlv_12='}'
 		{
-			newLeafNode(otherlv_9, grammarAccess.getGridAccess().getRightCurlyBracketKeyword_7());
+			newLeafNode(otherlv_12, grammarAccess.getGridAccess().getRightCurlyBracketKeyword_6());
 		}
 	)
 ;
@@ -4782,78 +4910,119 @@
 			)
 		)?
 		(
-			otherlv_4='style'
-			{
-				newLeafNode(otherlv_4, grammarAccess.getGridRowAccess().getStyleKeyword_3_0());
-			}
 			(
+				{ 
+				  getUnorderedGroupHelper().enter(grammarAccess.getGridRowAccess().getUnorderedGroup_3());
+				}
 				(
+					(
+			(
+				{getUnorderedGroupHelper().canSelect(grammarAccess.getGridRowAccess().getUnorderedGroup_3(), 0)}?=>(
 					{
-						if ($current==null) {
-							$current = createModelElement(grammarAccess.getGridRowRule());
-						}
+						getUnorderedGroupHelper().select(grammarAccess.getGridRowAccess().getUnorderedGroup_3(), 0);
 					}
-					otherlv_5=RULE_ID
+								({true}?=>(otherlv_5='style'
+								{
+									newLeafNode(otherlv_5, grammarAccess.getGridRowAccess().getStyleKeyword_3_0_0());
+								}
+								(
+									(
+										{
+											if ($current==null) {
+												$current = createModelElement(grammarAccess.getGridRowRule());
+											}
+										}
+										otherlv_6=RULE_ID
+										{
+											newLeafNode(otherlv_6, grammarAccess.getGridRowAccess().getStyleStyleCrossReference_3_0_1_0());
+										}
+									)
+								)
+								))
+					{ 
+						getUnorderedGroupHelper().returnFromSelection(grammarAccess.getGridRowAccess().getUnorderedGroup_3());
+					}
+				)
+			)|
+			(
+				{getUnorderedGroupHelper().canSelect(grammarAccess.getGridRowAccess().getUnorderedGroup_3(), 1)}?=>(
 					{
-						newLeafNode(otherlv_5, grammarAccess.getGridRowAccess().getStyleStyleCrossReference_3_1_0());
+						getUnorderedGroupHelper().select(grammarAccess.getGridRowAccess().getUnorderedGroup_3(), 1);
+					}
+								({true}?=>(otherlv_7='height'
+								{
+									newLeafNode(otherlv_7, grammarAccess.getGridRowAccess().getHeightKeyword_3_1_0());
+								}
+								(
+									(
+										{
+											newCompositeNode(grammarAccess.getGridRowAccess().getHeightValueUnsignedNumberParserRuleCall_3_1_1_0());
+										}
+										lv_heightValue_8_0=ruleUnsignedNumber
+										{
+											if ($current==null) {
+												$current = createModelElementForParent(grammarAccess.getGridRowRule());
+											}
+											set(
+												$current,
+												"heightValue",
+												lv_heightValue_8_0,
+												"org.eclipse.osbp.xtext.reportdsl.ReportDSL.UnsignedNumber");
+											afterParserOrEnumRuleCall();
+										}
+									)
+								)
+								))
+					{ 
+						getUnorderedGroupHelper().returnFromSelection(grammarAccess.getGridRowAccess().getUnorderedGroup_3());
+					}
+				)
+			)|
+			(
+				{getUnorderedGroupHelper().canSelect(grammarAccess.getGridRowAccess().getUnorderedGroup_3(), 2)}?=>(
+					{
+						getUnorderedGroupHelper().select(grammarAccess.getGridRowAccess().getUnorderedGroup_3(), 2);
+					}
+								({true}?=>((
+									{
+										newCompositeNode(grammarAccess.getGridRowAccess().getVisibilityItemVisibilityParserRuleCall_3_2_0());
+									}
+									lv_visibilityItem_9_0=ruleVisibility
+									{
+										if ($current==null) {
+											$current = createModelElementForParent(grammarAccess.getGridRowRule());
+										}
+										set(
+											$current,
+											"visibilityItem",
+											lv_visibilityItem_9_0,
+											"org.eclipse.osbp.xtext.reportdsl.ReportDSL.Visibility");
+										afterParserOrEnumRuleCall();
+									}
+								)
+								))
+					{ 
+						getUnorderedGroupHelper().returnFromSelection(grammarAccess.getGridRowAccess().getUnorderedGroup_3());
 					}
 				)
 			)
-		)?
-		(
-			otherlv_6='height'
-			{
-				newLeafNode(otherlv_6, grammarAccess.getGridRowAccess().getHeightKeyword_4_0());
-			}
-			(
-				(
-					{
-						newCompositeNode(grammarAccess.getGridRowAccess().getHeightValueUnsignedNumberParserRuleCall_4_1_0());
-					}
-					lv_heightValue_7_0=ruleUnsignedNumber
-					{
-						if ($current==null) {
-							$current = createModelElementForParent(grammarAccess.getGridRowRule());
-						}
-						set(
-							$current,
-							"heightValue",
-							lv_heightValue_7_0,
-							"org.eclipse.osbp.xtext.reportdsl.ReportDSL.UnsignedNumber");
-						afterParserOrEnumRuleCall();
-					}
+					)*
 				)
 			)
-		)?
-		(
-			(
-				{
-					newCompositeNode(grammarAccess.getGridRowAccess().getVisibilityItemVisibilityParserRuleCall_5_0());
+				{ 
+				  getUnorderedGroupHelper().leave(grammarAccess.getGridRowAccess().getUnorderedGroup_3());
 				}
-				lv_visibilityItem_8_0=ruleVisibility
-				{
-					if ($current==null) {
-						$current = createModelElementForParent(grammarAccess.getGridRowRule());
-					}
-					set(
-						$current,
-						"visibilityItem",
-						lv_visibilityItem_8_0,
-						"org.eclipse.osbp.xtext.reportdsl.ReportDSL.Visibility");
-					afterParserOrEnumRuleCall();
-				}
-			)
-		)?
-		otherlv_9='{'
+		)
+		otherlv_10='{'
 		{
-			newLeafNode(otherlv_9, grammarAccess.getGridRowAccess().getLeftCurlyBracketKeyword_6());
+			newLeafNode(otherlv_10, grammarAccess.getGridRowAccess().getLeftCurlyBracketKeyword_4());
 		}
 		(
 			(
 				{
-					newCompositeNode(grammarAccess.getGridRowAccess().getCellsGridCellParserRuleCall_7_0());
+					newCompositeNode(grammarAccess.getGridRowAccess().getCellsGridCellParserRuleCall_5_0());
 				}
-				lv_cells_10_0=ruleGridCell
+				lv_cells_11_0=ruleGridCell
 				{
 					if ($current==null) {
 						$current = createModelElementForParent(grammarAccess.getGridRowRule());
@@ -4861,15 +5030,15 @@
 					add(
 						$current,
 						"cells",
-						lv_cells_10_0,
+						lv_cells_11_0,
 						"org.eclipse.osbp.xtext.reportdsl.ReportDSL.GridCell");
 					afterParserOrEnumRuleCall();
 				}
 			)
 		)*
-		otherlv_11='}'
+		otherlv_12='}'
 		{
-			newLeafNode(otherlv_11, grammarAccess.getGridRowAccess().getRightCurlyBracketKeyword_8());
+			newLeafNode(otherlv_12, grammarAccess.getGridRowAccess().getRightCurlyBracketKeyword_6());
 		}
 	)
 ;
@@ -4926,102 +5095,152 @@
 			)
 		)?
 		(
-			otherlv_4='style'
-			{
-				newLeafNode(otherlv_4, grammarAccess.getGridCellAccess().getStyleKeyword_3_0());
-			}
 			(
-				(
-					{
-						if ($current==null) {
-							$current = createModelElement(grammarAccess.getGridCellRule());
-						}
-					}
-					otherlv_5=RULE_ID
-					{
-						newLeafNode(otherlv_5, grammarAccess.getGridCellAccess().getStyleStyleCrossReference_3_1_0());
-					}
-				)
-			)
-		)?
-		(
-			otherlv_6='width'
-			{
-				newLeafNode(otherlv_6, grammarAccess.getGridCellAccess().getWidthKeyword_4_0());
-			}
-			(
-				(
-					{
-						newCompositeNode(grammarAccess.getGridCellAccess().getWidthValueUnsignedNumberParserRuleCall_4_1_0());
-					}
-					lv_widthValue_7_0=ruleUnsignedNumber
-					{
-						if ($current==null) {
-							$current = createModelElementForParent(grammarAccess.getGridCellRule());
-						}
-						set(
-							$current,
-							"widthValue",
-							lv_widthValue_7_0,
-							"org.eclipse.osbp.xtext.reportdsl.ReportDSL.UnsignedNumber");
-						afterParserOrEnumRuleCall();
-					}
-				)
-			)
-		)?
-		(
-			otherlv_8='columnspan'
-			{
-				newLeafNode(otherlv_8, grammarAccess.getGridCellAccess().getColumnspanKeyword_5_0());
-			}
-			(
-				(
-					lv_columnspan_9_0=RULE_INT
-					{
-						newLeafNode(lv_columnspan_9_0, grammarAccess.getGridCellAccess().getColumnspanINTTerminalRuleCall_5_1_0());
-					}
-					{
-						if ($current==null) {
-							$current = createModelElement(grammarAccess.getGridCellRule());
-						}
-						setWithLastConsumed(
-							$current,
-							"columnspan",
-							lv_columnspan_9_0,
-							"org.eclipse.xtext.xbase.Xbase.INT");
-					}
-				)
-			)
-		)?
-		(
-			(
-				{
-					newCompositeNode(grammarAccess.getGridCellAccess().getVisibilityItemVisibilityParserRuleCall_6_0());
+				{ 
+				  getUnorderedGroupHelper().enter(grammarAccess.getGridCellAccess().getUnorderedGroup_3());
 				}
-				lv_visibilityItem_10_0=ruleVisibility
-				{
-					if ($current==null) {
-						$current = createModelElementForParent(grammarAccess.getGridCellRule());
+				(
+					(
+			(
+				{getUnorderedGroupHelper().canSelect(grammarAccess.getGridCellAccess().getUnorderedGroup_3(), 0)}?=>(
+					{
+						getUnorderedGroupHelper().select(grammarAccess.getGridCellAccess().getUnorderedGroup_3(), 0);
 					}
-					set(
-						$current,
-						"visibilityItem",
-						lv_visibilityItem_10_0,
-						"org.eclipse.osbp.xtext.reportdsl.ReportDSL.Visibility");
-					afterParserOrEnumRuleCall();
-				}
+								({true}?=>(otherlv_5='style'
+								{
+									newLeafNode(otherlv_5, grammarAccess.getGridCellAccess().getStyleKeyword_3_0_0());
+								}
+								(
+									(
+										{
+											if ($current==null) {
+												$current = createModelElement(grammarAccess.getGridCellRule());
+											}
+										}
+										otherlv_6=RULE_ID
+										{
+											newLeafNode(otherlv_6, grammarAccess.getGridCellAccess().getStyleStyleCrossReference_3_0_1_0());
+										}
+									)
+								)
+								))
+					{ 
+						getUnorderedGroupHelper().returnFromSelection(grammarAccess.getGridCellAccess().getUnorderedGroup_3());
+					}
+				)
+			)|
+			(
+				{getUnorderedGroupHelper().canSelect(grammarAccess.getGridCellAccess().getUnorderedGroup_3(), 1)}?=>(
+					{
+						getUnorderedGroupHelper().select(grammarAccess.getGridCellAccess().getUnorderedGroup_3(), 1);
+					}
+								({true}?=>(otherlv_7='width'
+								{
+									newLeafNode(otherlv_7, grammarAccess.getGridCellAccess().getWidthKeyword_3_1_0());
+								}
+								(
+									(
+										{
+											newCompositeNode(grammarAccess.getGridCellAccess().getWidthValueUnsignedNumberParserRuleCall_3_1_1_0());
+										}
+										lv_widthValue_8_0=ruleUnsignedNumber
+										{
+											if ($current==null) {
+												$current = createModelElementForParent(grammarAccess.getGridCellRule());
+											}
+											set(
+												$current,
+												"widthValue",
+												lv_widthValue_8_0,
+												"org.eclipse.osbp.xtext.reportdsl.ReportDSL.UnsignedNumber");
+											afterParserOrEnumRuleCall();
+										}
+									)
+								)
+								))
+					{ 
+						getUnorderedGroupHelper().returnFromSelection(grammarAccess.getGridCellAccess().getUnorderedGroup_3());
+					}
+				)
+			)|
+			(
+				{getUnorderedGroupHelper().canSelect(grammarAccess.getGridCellAccess().getUnorderedGroup_3(), 2)}?=>(
+					{
+						getUnorderedGroupHelper().select(grammarAccess.getGridCellAccess().getUnorderedGroup_3(), 2);
+					}
+								({true}?=>(otherlv_9='columnspan'
+								{
+									newLeafNode(otherlv_9, grammarAccess.getGridCellAccess().getColumnspanKeyword_3_2_0());
+								}
+								(
+									(
+										lv_columnspan_10_0=RULE_INT
+										{
+											newLeafNode(lv_columnspan_10_0, grammarAccess.getGridCellAccess().getColumnspanINTTerminalRuleCall_3_2_1_0());
+										}
+										{
+											if ($current==null) {
+												$current = createModelElement(grammarAccess.getGridCellRule());
+											}
+											setWithLastConsumed(
+												$current,
+												"columnspan",
+												lv_columnspan_10_0,
+												"org.eclipse.xtext.xbase.Xbase.INT");
+										}
+									)
+								)
+								))
+					{ 
+						getUnorderedGroupHelper().returnFromSelection(grammarAccess.getGridCellAccess().getUnorderedGroup_3());
+					}
+				)
+			)|
+			(
+				{getUnorderedGroupHelper().canSelect(grammarAccess.getGridCellAccess().getUnorderedGroup_3(), 3)}?=>(
+					{
+						getUnorderedGroupHelper().select(grammarAccess.getGridCellAccess().getUnorderedGroup_3(), 3);
+					}
+								({true}?=>((
+									{
+										newCompositeNode(grammarAccess.getGridCellAccess().getVisibilityItemVisibilityParserRuleCall_3_3_0());
+									}
+									lv_visibilityItem_11_0=ruleVisibility
+									{
+										if ($current==null) {
+											$current = createModelElementForParent(grammarAccess.getGridCellRule());
+										}
+										set(
+											$current,
+											"visibilityItem",
+											lv_visibilityItem_11_0,
+											"org.eclipse.osbp.xtext.reportdsl.ReportDSL.Visibility");
+										afterParserOrEnumRuleCall();
+									}
+								)
+								))
+					{ 
+						getUnorderedGroupHelper().returnFromSelection(grammarAccess.getGridCellAccess().getUnorderedGroup_3());
+					}
+				)
 			)
-		)?
-		otherlv_11='{'
+					)*
+				)
+			)
+				{ 
+				  getUnorderedGroupHelper().leave(grammarAccess.getGridCellAccess().getUnorderedGroup_3());
+				}
+		)
+		otherlv_12='{'
 		{
-			newLeafNode(otherlv_11, grammarAccess.getGridCellAccess().getLeftCurlyBracketKeyword_7());
+			newLeafNode(otherlv_12, grammarAccess.getGridCellAccess().getLeftCurlyBracketKeyword_4());
 		}
 		(
 			(
 				{
-					newCompositeNode(grammarAccess.getGridCellAccess().getElementsElementParserRuleCall_8_0());
+					newCompositeNode(grammarAccess.getGridCellAccess().getElementsElementParserRuleCall_5_0());
 				}
-				lv_elements_12_0=ruleElement
+				lv_elements_13_0=ruleElement
 				{
 					if ($current==null) {
 						$current = createModelElementForParent(grammarAccess.getGridCellRule());
@@ -5029,15 +5248,15 @@
 					add(
 						$current,
 						"elements",
-						lv_elements_12_0,
+						lv_elements_13_0,
 						"org.eclipse.osbp.xtext.reportdsl.ReportDSL.Element");
 					afterParserOrEnumRuleCall();
 				}
 			)
 		)*
-		otherlv_13='}'
+		otherlv_14='}'
 		{
-			newLeafNode(otherlv_13, grammarAccess.getGridCellAccess().getRightCurlyBracketKeyword_9());
+			newLeafNode(otherlv_14, grammarAccess.getGridCellAccess().getRightCurlyBracketKeyword_6());
 		}
 	)
 ;
@@ -5063,9 +5282,9 @@
 			newLeafNode(otherlv_0, grammarAccess.getDatamartTableAccess().getTableKeyword_0());
 		}
 		(
-			otherlv_1='style'
+			otherlv_1='datamart'
 			{
-				newLeafNode(otherlv_1, grammarAccess.getDatamartTableAccess().getStyleKeyword_1_0());
+				newLeafNode(otherlv_1, grammarAccess.getDatamartTableAccess().getDatamartKeyword_1_0());
 			}
 			(
 				(
@@ -5076,127 +5295,160 @@
 					}
 					otherlv_2=RULE_ID
 					{
-						newLeafNode(otherlv_2, grammarAccess.getDatamartTableAccess().getStyleStyleCrossReference_1_1_0());
+						newLeafNode(otherlv_2, grammarAccess.getDatamartTableAccess().getDatamartRefDatamartDefinitionCrossReference_1_1_0());
 					}
 				)
 			)
+			(
+				otherlv_3='as'
+				{
+					newLeafNode(otherlv_3, grammarAccess.getDatamartTableAccess().getAsKeyword_1_2_0());
+				}
+				(
+					(
+						lv_name_4_0=RULE_ID
+						{
+							newLeafNode(lv_name_4_0, grammarAccess.getDatamartTableAccess().getNameIDTerminalRuleCall_1_2_1_0());
+						}
+						{
+							if ($current==null) {
+								$current = createModelElement(grammarAccess.getDatamartTableRule());
+							}
+							setWithLastConsumed(
+								$current,
+								"name",
+								lv_name_4_0,
+								"org.eclipse.xtext.xbase.Xtype.ID");
+						}
+					)
+				)
+			)?
 		)?
 		(
 			(
-				{
-					newCompositeNode(grammarAccess.getDatamartTableAccess().getVisibilityItemVisibilityParserRuleCall_2_0());
+				{ 
+				  getUnorderedGroupHelper().enter(grammarAccess.getDatamartTableAccess().getUnorderedGroup_2());
 				}
-				lv_visibilityItem_3_0=ruleVisibility
-				{
-					if ($current==null) {
-						$current = createModelElementForParent(grammarAccess.getDatamartTableRule());
-					}
-					set(
-						$current,
-						"visibilityItem",
-						lv_visibilityItem_3_0,
-						"org.eclipse.osbp.xtext.reportdsl.ReportDSL.Visibility");
-					afterParserOrEnumRuleCall();
-				}
-			)
-		)?
-		(
+				(
+					(
 			(
-				{
-					newCompositeNode(grammarAccess.getDatamartTableAccess().getPageBreakPageBreakParserRuleCall_3_0());
-				}
-				lv_pageBreak_4_0=rulePageBreak
-				{
-					if ($current==null) {
-						$current = createModelElementForParent(grammarAccess.getDatamartTableRule());
+				{getUnorderedGroupHelper().canSelect(grammarAccess.getDatamartTableAccess().getUnorderedGroup_2(), 0)}?=>(
+					{
+						getUnorderedGroupHelper().select(grammarAccess.getDatamartTableAccess().getUnorderedGroup_2(), 0);
 					}
-					set(
-						$current,
-						"pageBreak",
-						lv_pageBreak_4_0,
-						"org.eclipse.osbp.xtext.reportdsl.ReportDSL.PageBreak");
-					afterParserOrEnumRuleCall();
-				}
+								({true}?=>(otherlv_6='style'
+								{
+									newLeafNode(otherlv_6, grammarAccess.getDatamartTableAccess().getStyleKeyword_2_0_0());
+								}
+								(
+									(
+										{
+											if ($current==null) {
+												$current = createModelElement(grammarAccess.getDatamartTableRule());
+											}
+										}
+										otherlv_7=RULE_ID
+										{
+											newLeafNode(otherlv_7, grammarAccess.getDatamartTableAccess().getStyleStyleCrossReference_2_0_1_0());
+										}
+									)
+								)
+								))
+					{ 
+						getUnorderedGroupHelper().returnFromSelection(grammarAccess.getDatamartTableAccess().getUnorderedGroup_2());
+					}
+				)
+			)|
+			(
+				{getUnorderedGroupHelper().canSelect(grammarAccess.getDatamartTableAccess().getUnorderedGroup_2(), 1)}?=>(
+					{
+						getUnorderedGroupHelper().select(grammarAccess.getDatamartTableAccess().getUnorderedGroup_2(), 1);
+					}
+								({true}?=>((
+									{
+										newCompositeNode(grammarAccess.getDatamartTableAccess().getVisibilityItemVisibilityParserRuleCall_2_1_0());
+									}
+									lv_visibilityItem_8_0=ruleVisibility
+									{
+										if ($current==null) {
+											$current = createModelElementForParent(grammarAccess.getDatamartTableRule());
+										}
+										set(
+											$current,
+											"visibilityItem",
+											lv_visibilityItem_8_0,
+											"org.eclipse.osbp.xtext.reportdsl.ReportDSL.Visibility");
+										afterParserOrEnumRuleCall();
+									}
+								)
+								))
+					{ 
+						getUnorderedGroupHelper().returnFromSelection(grammarAccess.getDatamartTableAccess().getUnorderedGroup_2());
+					}
+				)
+			)|
+			(
+				{getUnorderedGroupHelper().canSelect(grammarAccess.getDatamartTableAccess().getUnorderedGroup_2(), 2)}?=>(
+					{
+						getUnorderedGroupHelper().select(grammarAccess.getDatamartTableAccess().getUnorderedGroup_2(), 2);
+					}
+								({true}?=>((
+									{
+										newCompositeNode(grammarAccess.getDatamartTableAccess().getPageBreakPageBreakParserRuleCall_2_2_0());
+									}
+									lv_pageBreak_9_0=rulePageBreak
+									{
+										if ($current==null) {
+											$current = createModelElementForParent(grammarAccess.getDatamartTableRule());
+										}
+										set(
+											$current,
+											"pageBreak",
+											lv_pageBreak_9_0,
+											"org.eclipse.osbp.xtext.reportdsl.ReportDSL.PageBreak");
+										afterParserOrEnumRuleCall();
+									}
+								)
+								))
+					{ 
+						getUnorderedGroupHelper().returnFromSelection(grammarAccess.getDatamartTableAccess().getUnorderedGroup_2());
+					}
+				)
 			)
-		)?
-		otherlv_5='{'
+					)*
+				)
+			)
+				{ 
+				  getUnorderedGroupHelper().leave(grammarAccess.getDatamartTableAccess().getUnorderedGroup_2());
+				}
+		)
+		otherlv_10='{'
 		{
-			newLeafNode(otherlv_5, grammarAccess.getDatamartTableAccess().getLeftCurlyBracketKeyword_4());
+			newLeafNode(otherlv_10, grammarAccess.getDatamartTableAccess().getLeftCurlyBracketKeyword_3());
 		}
 		(
 			(
-				(
-					lv_detailheader_6_0='detailheader'
-					{
-						newLeafNode(lv_detailheader_6_0, grammarAccess.getDatamartTableAccess().getDetailheaderDetailheaderKeyword_5_0_0());
-					}
-					{
-						if ($current==null) {
-							$current = createModelElement(grammarAccess.getDatamartTableRule());
-						}
-						setWithLastConsumed($current, "detailheader", true, "detailheader");
-					}
-				)
-			)
-			(
-				otherlv_7='style'
 				{
-					newLeafNode(otherlv_7, grammarAccess.getDatamartTableAccess().getStyleKeyword_5_1_0());
+					newCompositeNode(grammarAccess.getDatamartTableAccess().getHeaderDatamartTableHeaderParserRuleCall_4_0());
 				}
-				(
-					(
-						{
-							if ($current==null) {
-								$current = createModelElement(grammarAccess.getDatamartTableRule());
-							}
-						}
-						otherlv_8=RULE_ID
-						{
-							newLeafNode(otherlv_8, grammarAccess.getDatamartTableAccess().getHeaderstyleStyleCrossReference_5_1_1_0());
-						}
-					)
-				)
-			)?
-		)?
-		(
-			(
-				(
-					lv_detailfooter_9_0='detailfooter'
-					{
-						newLeafNode(lv_detailfooter_9_0, grammarAccess.getDatamartTableAccess().getDetailfooterDetailfooterKeyword_6_0_0());
-					}
-					{
-						if ($current==null) {
-							$current = createModelElement(grammarAccess.getDatamartTableRule());
-						}
-						setWithLastConsumed($current, "detailfooter", true, "detailfooter");
-					}
-				)
-			)
-			(
-				otherlv_10='style'
+				lv_header_11_0=ruleDatamartTableHeader
 				{
-					newLeafNode(otherlv_10, grammarAccess.getDatamartTableAccess().getStyleKeyword_6_1_0());
+					if ($current==null) {
+						$current = createModelElementForParent(grammarAccess.getDatamartTableRule());
+					}
+					set(
+						$current,
+						"header",
+						lv_header_11_0,
+						"org.eclipse.osbp.xtext.reportdsl.ReportDSL.DatamartTableHeader");
+					afterParserOrEnumRuleCall();
 				}
-				(
-					(
-						{
-							if ($current==null) {
-								$current = createModelElement(grammarAccess.getDatamartTableRule());
-							}
-						}
-						otherlv_11=RULE_ID
-						{
-							newLeafNode(otherlv_11, grammarAccess.getDatamartTableAccess().getFooterstyleStyleCrossReference_6_1_1_0());
-						}
-					)
-				)
-			)?
+			)
 		)?
 		(
 			(
 				{
-					newCompositeNode(grammarAccess.getDatamartTableAccess().getGroupsDatamartTableGroupParserRuleCall_7_0());
+					newCompositeNode(grammarAccess.getDatamartTableAccess().getGroupsDatamartTableGroupParserRuleCall_5_0());
 				}
 				lv_groups_12_0=ruleDatamartTableGroup
 				{
@@ -5215,7 +5467,7 @@
 		(
 			(
 				{
-					newCompositeNode(grammarAccess.getDatamartTableAccess().getDetailDatamartTableDetailParserRuleCall_8_0());
+					newCompositeNode(grammarAccess.getDatamartTableAccess().getDetailDatamartTableDetailParserRuleCall_6_0());
 				}
 				lv_detail_13_0=ruleDatamartTableDetail
 				{
@@ -5231,9 +5483,28 @@
 				}
 			)
 		)
-		otherlv_14='}'
+		(
+			(
+				{
+					newCompositeNode(grammarAccess.getDatamartTableAccess().getFooterDatamartTableFooterParserRuleCall_7_0());
+				}
+				lv_footer_14_0=ruleDatamartTableFooter
+				{
+					if ($current==null) {
+						$current = createModelElementForParent(grammarAccess.getDatamartTableRule());
+					}
+					set(
+						$current,
+						"footer",
+						lv_footer_14_0,
+						"org.eclipse.osbp.xtext.reportdsl.ReportDSL.DatamartTableFooter");
+					afterParserOrEnumRuleCall();
+				}
+			)
+		)?
+		otherlv_15='}'
 		{
-			newLeafNode(otherlv_14, grammarAccess.getDatamartTableAccess().getRightCurlyBracketKeyword_9());
+			newLeafNode(otherlv_15, grammarAccess.getDatamartTableAccess().getRightCurlyBracketKeyword_8());
 		}
 	)
 ;
@@ -5295,52 +5566,84 @@
 		)
 		(
 			(
-				{
-					newCompositeNode(grammarAccess.getDatamartTableGroupAccess().getVisibilityItemVisibilityParserRuleCall_4_0());
+				{ 
+				  getUnorderedGroupHelper().enter(grammarAccess.getDatamartTableGroupAccess().getUnorderedGroup_4());
 				}
-				lv_visibilityItem_4_0=ruleVisibility
-				{
-					if ($current==null) {
-						$current = createModelElementForParent(grammarAccess.getDatamartTableGroupRule());
-					}
-					set(
-						$current,
-						"visibilityItem",
-						lv_visibilityItem_4_0,
-						"org.eclipse.osbp.xtext.reportdsl.ReportDSL.Visibility");
-					afterParserOrEnumRuleCall();
-				}
-			)
-		)?
-		(
+				(
+					(
 			(
-				{
-					newCompositeNode(grammarAccess.getDatamartTableGroupAccess().getPageBreakPageBreakParserRuleCall_5_0());
-				}
-				lv_pageBreak_5_0=rulePageBreak
-				{
-					if ($current==null) {
-						$current = createModelElementForParent(grammarAccess.getDatamartTableGroupRule());
+				{getUnorderedGroupHelper().canSelect(grammarAccess.getDatamartTableGroupAccess().getUnorderedGroup_4(), 0)}?=>(
+					{
+						getUnorderedGroupHelper().select(grammarAccess.getDatamartTableGroupAccess().getUnorderedGroup_4(), 0);
 					}
-					set(
-						$current,
-						"pageBreak",
-						lv_pageBreak_5_0,
-						"org.eclipse.osbp.xtext.reportdsl.ReportDSL.PageBreak");
-					afterParserOrEnumRuleCall();
-				}
+								({true}?=>((
+									{
+										newCompositeNode(grammarAccess.getDatamartTableGroupAccess().getVisibilityItemVisibilityParserRuleCall_4_0_0());
+									}
+									lv_visibilityItem_5_0=ruleVisibility
+									{
+										if ($current==null) {
+											$current = createModelElementForParent(grammarAccess.getDatamartTableGroupRule());
+										}
+										set(
+											$current,
+											"visibilityItem",
+											lv_visibilityItem_5_0,
+											"org.eclipse.osbp.xtext.reportdsl.ReportDSL.Visibility");
+										afterParserOrEnumRuleCall();
+									}
+								)
+								))
+					{ 
+						getUnorderedGroupHelper().returnFromSelection(grammarAccess.getDatamartTableGroupAccess().getUnorderedGroup_4());
+					}
+				)
+			)|
+			(
+				{getUnorderedGroupHelper().canSelect(grammarAccess.getDatamartTableGroupAccess().getUnorderedGroup_4(), 1)}?=>(
+					{
+						getUnorderedGroupHelper().select(grammarAccess.getDatamartTableGroupAccess().getUnorderedGroup_4(), 1);
+					}
+								({true}?=>((
+									{
+										newCompositeNode(grammarAccess.getDatamartTableGroupAccess().getPageBreakPageBreakParserRuleCall_4_1_0());
+									}
+									lv_pageBreak_6_0=rulePageBreak
+									{
+										if ($current==null) {
+											$current = createModelElementForParent(grammarAccess.getDatamartTableGroupRule());
+										}
+										set(
+											$current,
+											"pageBreak",
+											lv_pageBreak_6_0,
+											"org.eclipse.osbp.xtext.reportdsl.ReportDSL.PageBreak");
+										afterParserOrEnumRuleCall();
+									}
+								)
+								))
+					{ 
+						getUnorderedGroupHelper().returnFromSelection(grammarAccess.getDatamartTableGroupAccess().getUnorderedGroup_4());
+					}
+				)
 			)
-		)?
-		otherlv_6='{'
+					)*
+				)
+			)
+				{ 
+				  getUnorderedGroupHelper().leave(grammarAccess.getDatamartTableGroupAccess().getUnorderedGroup_4());
+				}
+		)
+		otherlv_7='{'
 		{
-			newLeafNode(otherlv_6, grammarAccess.getDatamartTableGroupAccess().getLeftCurlyBracketKeyword_6());
+			newLeafNode(otherlv_7, grammarAccess.getDatamartTableGroupAccess().getLeftCurlyBracketKeyword_5());
 		}
 		(
 			(
 				{
-					newCompositeNode(grammarAccess.getDatamartTableGroupAccess().getHeaderDatamartTableGroupHeaderParserRuleCall_7_0());
+					newCompositeNode(grammarAccess.getDatamartTableGroupAccess().getHeaderDatamartTableHeaderParserRuleCall_6_0());
 				}
-				lv_header_7_0=ruleDatamartTableGroupHeader
+				lv_header_8_0=ruleDatamartTableHeader
 				{
 					if ($current==null) {
 						$current = createModelElementForParent(grammarAccess.getDatamartTableGroupRule());
@@ -5348,88 +5651,18 @@
 					set(
 						$current,
 						"header",
-						lv_header_7_0,
-						"org.eclipse.osbp.xtext.reportdsl.ReportDSL.DatamartTableGroupHeader");
+						lv_header_8_0,
+						"org.eclipse.osbp.xtext.reportdsl.ReportDSL.DatamartTableHeader");
 					afterParserOrEnumRuleCall();
 				}
 			)
 		)?
 		(
 			(
-				(
-					lv_detailheader_8_0='detailheader'
-					{
-						newLeafNode(lv_detailheader_8_0, grammarAccess.getDatamartTableGroupAccess().getDetailheaderDetailheaderKeyword_8_0_0());
-					}
-					{
-						if ($current==null) {
-							$current = createModelElement(grammarAccess.getDatamartTableGroupRule());
-						}
-						setWithLastConsumed($current, "detailheader", true, "detailheader");
-					}
-				)
-			)
-			(
-				otherlv_9='style'
 				{
-					newLeafNode(otherlv_9, grammarAccess.getDatamartTableGroupAccess().getStyleKeyword_8_1_0());
+					newCompositeNode(grammarAccess.getDatamartTableGroupAccess().getFooterDatamartTableFooterParserRuleCall_7_0());
 				}
-				(
-					(
-						{
-							if ($current==null) {
-								$current = createModelElement(grammarAccess.getDatamartTableGroupRule());
-							}
-						}
-						otherlv_10=RULE_ID
-						{
-							newLeafNode(otherlv_10, grammarAccess.getDatamartTableGroupAccess().getHeaderstyleStyleCrossReference_8_1_1_0());
-						}
-					)
-				)
-			)?
-		)?
-		(
-			(
-				(
-					lv_detailfooter_11_0='detailfooter'
-					{
-						newLeafNode(lv_detailfooter_11_0, grammarAccess.getDatamartTableGroupAccess().getDetailfooterDetailfooterKeyword_9_0_0());
-					}
-					{
-						if ($current==null) {
-							$current = createModelElement(grammarAccess.getDatamartTableGroupRule());
-						}
-						setWithLastConsumed($current, "detailfooter", true, "detailfooter");
-					}
-				)
-			)
-			(
-				otherlv_12='style'
-				{
-					newLeafNode(otherlv_12, grammarAccess.getDatamartTableGroupAccess().getStyleKeyword_9_1_0());
-				}
-				(
-					(
-						{
-							if ($current==null) {
-								$current = createModelElement(grammarAccess.getDatamartTableGroupRule());
-							}
-						}
-						otherlv_13=RULE_ID
-						{
-							newLeafNode(otherlv_13, grammarAccess.getDatamartTableGroupAccess().getFooterstyleStyleCrossReference_9_1_1_0());
-						}
-					)
-				)
-			)?
-		)?
-		(
-			(
-				{
-					newCompositeNode(grammarAccess.getDatamartTableGroupAccess().getFooterDatamartTableGroupFooterParserRuleCall_10_0());
-				}
-				lv_footer_14_0=ruleDatamartTableGroupFooter
+				lv_footer_9_0=ruleDatamartTableFooter
 				{
 					if ($current==null) {
 						$current = createModelElementForParent(grammarAccess.getDatamartTableGroupRule());
@@ -5437,28 +5670,28 @@
 					set(
 						$current,
 						"footer",
-						lv_footer_14_0,
-						"org.eclipse.osbp.xtext.reportdsl.ReportDSL.DatamartTableGroupFooter");
+						lv_footer_9_0,
+						"org.eclipse.osbp.xtext.reportdsl.ReportDSL.DatamartTableFooter");
 					afterParserOrEnumRuleCall();
 				}
 			)
 		)?
-		otherlv_15='}'
+		otherlv_10='}'
 		{
-			newLeafNode(otherlv_15, grammarAccess.getDatamartTableGroupAccess().getRightCurlyBracketKeyword_11());
+			newLeafNode(otherlv_10, grammarAccess.getDatamartTableGroupAccess().getRightCurlyBracketKeyword_8());
 		}
 	)
 ;
 
-// Entry rule entryRuleDatamartTableGroupHeader
-entryRuleDatamartTableGroupHeader returns [EObject current=null]:
-	{ newCompositeNode(grammarAccess.getDatamartTableGroupHeaderRule()); }
-	iv_ruleDatamartTableGroupHeader=ruleDatamartTableGroupHeader
-	{ $current=$iv_ruleDatamartTableGroupHeader.current; }
+// Entry rule entryRuleDatamartTableHeader
+entryRuleDatamartTableHeader returns [EObject current=null]:
+	{ newCompositeNode(grammarAccess.getDatamartTableHeaderRule()); }
+	iv_ruleDatamartTableHeader=ruleDatamartTableHeader
+	{ $current=$iv_ruleDatamartTableHeader.current; }
 	EOF;
 
-// Rule DatamartTableGroupHeader
-ruleDatamartTableGroupHeader returns [EObject current=null]
+// Rule DatamartTableHeader
+ruleDatamartTableHeader returns [EObject current=null]
 @init {
 	enterRule();
 }
@@ -5469,91 +5702,125 @@
 		(
 			{
 				$current = forceCreateModelElement(
-					grammarAccess.getDatamartTableGroupHeaderAccess().getDatamartTableGroupHeaderAction_0(),
+					grammarAccess.getDatamartTableHeaderAccess().getDatamartTableHeaderAction_0(),
 					$current);
 			}
 		)
 		otherlv_1='header'
 		{
-			newLeafNode(otherlv_1, grammarAccess.getDatamartTableGroupHeaderAccess().getHeaderKeyword_1());
+			newLeafNode(otherlv_1, grammarAccess.getDatamartTableHeaderAccess().getHeaderKeyword_1());
 		}
 		(
-			otherlv_2='style'
+			(
+				{ 
+				  getUnorderedGroupHelper().enter(grammarAccess.getDatamartTableHeaderAccess().getUnorderedGroup_2());
+				}
+				(
+					(
+			(
+				{getUnorderedGroupHelper().canSelect(grammarAccess.getDatamartTableHeaderAccess().getUnorderedGroup_2(), 0)}?=>(
+					{
+						getUnorderedGroupHelper().select(grammarAccess.getDatamartTableHeaderAccess().getUnorderedGroup_2(), 0);
+					}
+								({true}?=>(otherlv_3='style'
+								{
+									newLeafNode(otherlv_3, grammarAccess.getDatamartTableHeaderAccess().getStyleKeyword_2_0_0());
+								}
+								(
+									(
+										{
+											if ($current==null) {
+												$current = createModelElement(grammarAccess.getDatamartTableHeaderRule());
+											}
+										}
+										otherlv_4=RULE_ID
+										{
+											newLeafNode(otherlv_4, grammarAccess.getDatamartTableHeaderAccess().getStyleStyleCrossReference_2_0_1_0());
+										}
+									)
+								)
+								))
+					{ 
+						getUnorderedGroupHelper().returnFromSelection(grammarAccess.getDatamartTableHeaderAccess().getUnorderedGroup_2());
+					}
+				)
+			)|
+			(
+				{getUnorderedGroupHelper().canSelect(grammarAccess.getDatamartTableHeaderAccess().getUnorderedGroup_2(), 1)}?=>(
+					{
+						getUnorderedGroupHelper().select(grammarAccess.getDatamartTableHeaderAccess().getUnorderedGroup_2(), 1);
+					}
+								({true}?=>((
+									{
+										newCompositeNode(grammarAccess.getDatamartTableHeaderAccess().getPageBreakPageBreakParserRuleCall_2_1_0());
+									}
+									lv_pageBreak_5_0=rulePageBreak
+									{
+										if ($current==null) {
+											$current = createModelElementForParent(grammarAccess.getDatamartTableHeaderRule());
+										}
+										set(
+											$current,
+											"pageBreak",
+											lv_pageBreak_5_0,
+											"org.eclipse.osbp.xtext.reportdsl.ReportDSL.PageBreak");
+										afterParserOrEnumRuleCall();
+									}
+								)
+								))
+					{ 
+						getUnorderedGroupHelper().returnFromSelection(grammarAccess.getDatamartTableHeaderAccess().getUnorderedGroup_2());
+					}
+				)
+			)
+					)*
+				)
+			)
+				{ 
+				  getUnorderedGroupHelper().leave(grammarAccess.getDatamartTableHeaderAccess().getUnorderedGroup_2());
+				}
+		)
+		(
+			otherlv_6='{'
 			{
-				newLeafNode(otherlv_2, grammarAccess.getDatamartTableGroupHeaderAccess().getStyleKeyword_2_0());
+				newLeafNode(otherlv_6, grammarAccess.getDatamartTableHeaderAccess().getLeftCurlyBracketKeyword_3_0());
 			}
 			(
 				(
 					{
-						if ($current==null) {
-							$current = createModelElement(grammarAccess.getDatamartTableGroupHeaderRule());
-						}
+						newCompositeNode(grammarAccess.getDatamartTableHeaderAccess().getRowsGridRowParserRuleCall_3_1_0());
 					}
-					otherlv_3=RULE_ID
+					lv_rows_7_0=ruleGridRow
 					{
-						newLeafNode(otherlv_3, grammarAccess.getDatamartTableGroupHeaderAccess().getStyleStyleCrossReference_2_1_0());
+						if ($current==null) {
+							$current = createModelElementForParent(grammarAccess.getDatamartTableHeaderRule());
+						}
+						add(
+							$current,
+							"rows",
+							lv_rows_7_0,
+							"org.eclipse.osbp.xtext.reportdsl.ReportDSL.GridRow");
+						afterParserOrEnumRuleCall();
 					}
 				)
-			)
+			)*
+			otherlv_8='}'
+			{
+				newLeafNode(otherlv_8, grammarAccess.getDatamartTableHeaderAccess().getRightCurlyBracketKeyword_3_2());
+			}
 		)?
-		(
-			(
-				{
-					newCompositeNode(grammarAccess.getDatamartTableGroupHeaderAccess().getPageBreakPageBreakParserRuleCall_3_0());
-				}
-				lv_pageBreak_4_0=rulePageBreak
-				{
-					if ($current==null) {
-						$current = createModelElementForParent(grammarAccess.getDatamartTableGroupHeaderRule());
-					}
-					set(
-						$current,
-						"pageBreak",
-						lv_pageBreak_4_0,
-						"org.eclipse.osbp.xtext.reportdsl.ReportDSL.PageBreak");
-					afterParserOrEnumRuleCall();
-				}
-			)
-		)?
-		otherlv_5='{'
-		{
-			newLeafNode(otherlv_5, grammarAccess.getDatamartTableGroupHeaderAccess().getLeftCurlyBracketKeyword_4());
-		}
-		(
-			(
-				{
-					newCompositeNode(grammarAccess.getDatamartTableGroupHeaderAccess().getRowsGridRowParserRuleCall_5_0());
-				}
-				lv_rows_6_0=ruleGridRow
-				{
-					if ($current==null) {
-						$current = createModelElementForParent(grammarAccess.getDatamartTableGroupHeaderRule());
-					}
-					add(
-						$current,
-						"rows",
-						lv_rows_6_0,
-						"org.eclipse.osbp.xtext.reportdsl.ReportDSL.GridRow");
-					afterParserOrEnumRuleCall();
-				}
-			)
-		)*
-		otherlv_7='}'
-		{
-			newLeafNode(otherlv_7, grammarAccess.getDatamartTableGroupHeaderAccess().getRightCurlyBracketKeyword_6());
-		}
 	)
 ;
 
-// Entry rule entryRuleDatamartTableGroupFooter
-entryRuleDatamartTableGroupFooter returns [EObject current=null]:
-	{ newCompositeNode(grammarAccess.getDatamartTableGroupFooterRule()); }
-	iv_ruleDatamartTableGroupFooter=ruleDatamartTableGroupFooter
-	{ $current=$iv_ruleDatamartTableGroupFooter.current; }
+// Entry rule entryRuleDatamartTableFooter
+entryRuleDatamartTableFooter returns [EObject current=null]:
+	{ newCompositeNode(grammarAccess.getDatamartTableFooterRule()); }
+	iv_ruleDatamartTableFooter=ruleDatamartTableFooter
+	{ $current=$iv_ruleDatamartTableFooter.current; }
 	EOF;
 
-// Rule DatamartTableGroupFooter
-ruleDatamartTableGroupFooter returns [EObject current=null]
+// Rule DatamartTableFooter
+ruleDatamartTableFooter returns [EObject current=null]
 @init {
 	enterRule();
 }
@@ -5564,79 +5831,113 @@
 		(
 			{
 				$current = forceCreateModelElement(
-					grammarAccess.getDatamartTableGroupFooterAccess().getDatamartTableGroupFooterAction_0(),
+					grammarAccess.getDatamartTableFooterAccess().getDatamartTableFooterAction_0(),
 					$current);
 			}
 		)
 		otherlv_1='footer'
 		{
-			newLeafNode(otherlv_1, grammarAccess.getDatamartTableGroupFooterAccess().getFooterKeyword_1());
+			newLeafNode(otherlv_1, grammarAccess.getDatamartTableFooterAccess().getFooterKeyword_1());
 		}
 		(
-			otherlv_2='style'
+			(
+				{ 
+				  getUnorderedGroupHelper().enter(grammarAccess.getDatamartTableFooterAccess().getUnorderedGroup_2());
+				}
+				(
+					(
+			(
+				{getUnorderedGroupHelper().canSelect(grammarAccess.getDatamartTableFooterAccess().getUnorderedGroup_2(), 0)}?=>(
+					{
+						getUnorderedGroupHelper().select(grammarAccess.getDatamartTableFooterAccess().getUnorderedGroup_2(), 0);
+					}
+								({true}?=>(otherlv_3='style'
+								{
+									newLeafNode(otherlv_3, grammarAccess.getDatamartTableFooterAccess().getStyleKeyword_2_0_0());
+								}
+								(
+									(
+										{
+											if ($current==null) {
+												$current = createModelElement(grammarAccess.getDatamartTableFooterRule());
+											}
+										}
+										otherlv_4=RULE_ID
+										{
+											newLeafNode(otherlv_4, grammarAccess.getDatamartTableFooterAccess().getStyleStyleCrossReference_2_0_1_0());
+										}
+									)
+								)
+								))
+					{ 
+						getUnorderedGroupHelper().returnFromSelection(grammarAccess.getDatamartTableFooterAccess().getUnorderedGroup_2());
+					}
+				)
+			)|
+			(
+				{getUnorderedGroupHelper().canSelect(grammarAccess.getDatamartTableFooterAccess().getUnorderedGroup_2(), 1)}?=>(
+					{
+						getUnorderedGroupHelper().select(grammarAccess.getDatamartTableFooterAccess().getUnorderedGroup_2(), 1);
+					}
+								({true}?=>((
+									{
+										newCompositeNode(grammarAccess.getDatamartTableFooterAccess().getPageBreakPageBreakParserRuleCall_2_1_0());
+									}
+									lv_pageBreak_5_0=rulePageBreak
+									{
+										if ($current==null) {
+											$current = createModelElementForParent(grammarAccess.getDatamartTableFooterRule());
+										}
+										set(
+											$current,
+											"pageBreak",
+											lv_pageBreak_5_0,
+											"org.eclipse.osbp.xtext.reportdsl.ReportDSL.PageBreak");
+										afterParserOrEnumRuleCall();
+									}
+								)
+								))
+					{ 
+						getUnorderedGroupHelper().returnFromSelection(grammarAccess.getDatamartTableFooterAccess().getUnorderedGroup_2());
+					}
+				)
+			)
+					)*
+				)
+			)
+				{ 
+				  getUnorderedGroupHelper().leave(grammarAccess.getDatamartTableFooterAccess().getUnorderedGroup_2());
+				}
+		)
+		(
+			otherlv_6='{'
 			{
-				newLeafNode(otherlv_2, grammarAccess.getDatamartTableGroupFooterAccess().getStyleKeyword_2_0());
+				newLeafNode(otherlv_6, grammarAccess.getDatamartTableFooterAccess().getLeftCurlyBracketKeyword_3_0());
 			}
 			(
 				(
 					{
-						if ($current==null) {
-							$current = createModelElement(grammarAccess.getDatamartTableGroupFooterRule());
-						}
+						newCompositeNode(grammarAccess.getDatamartTableFooterAccess().getRowsGridRowParserRuleCall_3_1_0());
 					}
-					otherlv_3=RULE_ID
+					lv_rows_7_0=ruleGridRow
 					{
-						newLeafNode(otherlv_3, grammarAccess.getDatamartTableGroupFooterAccess().getStyleStyleCrossReference_2_1_0());
+						if ($current==null) {
+							$current = createModelElementForParent(grammarAccess.getDatamartTableFooterRule());
+						}
+						add(
+							$current,
+							"rows",
+							lv_rows_7_0,
+							"org.eclipse.osbp.xtext.reportdsl.ReportDSL.GridRow");
+						afterParserOrEnumRuleCall();
 					}
 				)
-			)
+			)*
+			otherlv_8='}'
+			{
+				newLeafNode(otherlv_8, grammarAccess.getDatamartTableFooterAccess().getRightCurlyBracketKeyword_3_2());
+			}
 		)?
-		(
-			(
-				{
-					newCompositeNode(grammarAccess.getDatamartTableGroupFooterAccess().getPageBreakPageBreakParserRuleCall_3_0());
-				}
-				lv_pageBreak_4_0=rulePageBreak
-				{
-					if ($current==null) {
-						$current = createModelElementForParent(grammarAccess.getDatamartTableGroupFooterRule());
-					}
-					set(
-						$current,
-						"pageBreak",
-						lv_pageBreak_4_0,
-						"org.eclipse.osbp.xtext.reportdsl.ReportDSL.PageBreak");
-					afterParserOrEnumRuleCall();
-				}
-			)
-		)?
-		otherlv_5='{'
-		{
-			newLeafNode(otherlv_5, grammarAccess.getDatamartTableGroupFooterAccess().getLeftCurlyBracketKeyword_4());
-		}
-		(
-			(
-				{
-					newCompositeNode(grammarAccess.getDatamartTableGroupFooterAccess().getRowsGridRowParserRuleCall_5_0());
-				}
-				lv_rows_6_0=ruleGridRow
-				{
-					if ($current==null) {
-						$current = createModelElementForParent(grammarAccess.getDatamartTableGroupFooterRule());
-					}
-					add(
-						$current,
-						"rows",
-						lv_rows_6_0,
-						"org.eclipse.osbp.xtext.reportdsl.ReportDSL.GridRow");
-					afterParserOrEnumRuleCall();
-				}
-			)
-		)*
-		otherlv_7='}'
-		{
-			newLeafNode(otherlv_7, grammarAccess.getDatamartTableGroupFooterAccess().getRightCurlyBracketKeyword_6());
-		}
 	)
 ;
 
@@ -6572,17 +6873,21 @@
 		{
 			newLeafNode(otherlv_1, grammarAccess.getPageBreakAccess().getPageBreakKeyword_1());
 		}
+		otherlv_2='('
+		{
+			newLeafNode(otherlv_2, grammarAccess.getPageBreakAccess().getLeftParenthesisKeyword_2());
+		}
 		(
-			otherlv_2='before'
+			otherlv_3='before'
 			{
-				newLeafNode(otherlv_2, grammarAccess.getPageBreakAccess().getBeforeKeyword_2_0());
+				newLeafNode(otherlv_3, grammarAccess.getPageBreakAccess().getBeforeKeyword_3_0());
 			}
 			(
 				(
 					{
-						newCompositeNode(grammarAccess.getPageBreakAccess().getBeforePageBreakBeforeAfterPageBreakEnumEnumRuleCall_2_1_0());
+						newCompositeNode(grammarAccess.getPageBreakAccess().getBeforePageBreakBeforeAfterPageBreakEnumEnumRuleCall_3_1_0());
 					}
-					lv_beforePageBreak_3_0=ruleBeforeAfterPageBreakEnum
+					lv_beforePageBreak_4_0=ruleBeforeAfterPageBreakEnum
 					{
 						if ($current==null) {
 							$current = createModelElementForParent(grammarAccess.getPageBreakRule());
@@ -6590,7 +6895,7 @@
 						set(
 							$current,
 							"beforePageBreak",
-							lv_beforePageBreak_3_0,
+							lv_beforePageBreak_4_0,
 							"org.eclipse.osbp.xtext.reportdsl.ReportDSL.BeforeAfterPageBreakEnum");
 						afterParserOrEnumRuleCall();
 					}
@@ -6598,16 +6903,16 @@
 			)
 		)?
 		(
-			otherlv_4='after'
+			otherlv_5='after'
 			{
-				newLeafNode(otherlv_4, grammarAccess.getPageBreakAccess().getAfterKeyword_3_0());
+				newLeafNode(otherlv_5, grammarAccess.getPageBreakAccess().getAfterKeyword_4_0());
 			}
 			(
 				(
 					{
-						newCompositeNode(grammarAccess.getPageBreakAccess().getAfterPageBreakBeforeAfterPageBreakEnumEnumRuleCall_3_1_0());
+						newCompositeNode(grammarAccess.getPageBreakAccess().getAfterPageBreakBeforeAfterPageBreakEnumEnumRuleCall_4_1_0());
 					}
-					lv_afterPageBreak_5_0=ruleBeforeAfterPageBreakEnum
+					lv_afterPageBreak_6_0=ruleBeforeAfterPageBreakEnum
 					{
 						if ($current==null) {
 							$current = createModelElementForParent(grammarAccess.getPageBreakRule());
@@ -6615,7 +6920,7 @@
 						set(
 							$current,
 							"afterPageBreak",
-							lv_afterPageBreak_5_0,
+							lv_afterPageBreak_6_0,
 							"org.eclipse.osbp.xtext.reportdsl.ReportDSL.BeforeAfterPageBreakEnum");
 						afterParserOrEnumRuleCall();
 					}
@@ -6623,16 +6928,16 @@
 			)
 		)?
 		(
-			otherlv_6='inside'
+			otherlv_7='inside'
 			{
-				newLeafNode(otherlv_6, grammarAccess.getPageBreakAccess().getInsideKeyword_4_0());
+				newLeafNode(otherlv_7, grammarAccess.getPageBreakAccess().getInsideKeyword_5_0());
 			}
 			(
 				(
 					{
-						newCompositeNode(grammarAccess.getPageBreakAccess().getInsidePageBreakInsidePageBreakEnumEnumRuleCall_4_1_0());
+						newCompositeNode(grammarAccess.getPageBreakAccess().getInsidePageBreakInsidePageBreakEnumEnumRuleCall_5_1_0());
 					}
-					lv_insidePageBreak_7_0=ruleInsidePageBreakEnum
+					lv_insidePageBreak_8_0=ruleInsidePageBreakEnum
 					{
 						if ($current==null) {
 							$current = createModelElementForParent(grammarAccess.getPageBreakRule());
@@ -6640,13 +6945,17 @@
 						set(
 							$current,
 							"insidePageBreak",
-							lv_insidePageBreak_7_0,
+							lv_insidePageBreak_8_0,
 							"org.eclipse.osbp.xtext.reportdsl.ReportDSL.InsidePageBreakEnum");
 						afterParserOrEnumRuleCall();
 					}
 				)
 			)
 		)?
+		otherlv_9=')'
+		{
+			newLeafNode(otherlv_9, grammarAccess.getPageBreakAccess().getRightParenthesisKeyword_6());
+		}
 	)
 ;
 
@@ -15212,6 +15521,41 @@
 	)
 ;
 
+// Rule VerticalTextAlignEnum
+ruleVerticalTextAlignEnum returns [Enumerator current=null]
+@init {
+	enterRule();
+}
+@after {
+	leaveRule();
+}:
+	(
+		(
+			enumLiteral_0='bottom'
+			{
+				$current = grammarAccess.getVerticalTextAlignEnumAccess().getBOTTOMEnumLiteralDeclaration_0().getEnumLiteral().getInstance();
+				newLeafNode(enumLiteral_0, grammarAccess.getVerticalTextAlignEnumAccess().getBOTTOMEnumLiteralDeclaration_0());
+			}
+		)
+		    |
+		(
+			enumLiteral_1='middle'
+			{
+				$current = grammarAccess.getVerticalTextAlignEnumAccess().getMIDDLEEnumLiteralDeclaration_1().getEnumLiteral().getInstance();
+				newLeafNode(enumLiteral_1, grammarAccess.getVerticalTextAlignEnumAccess().getMIDDLEEnumLiteralDeclaration_1());
+			}
+		)
+		    |
+		(
+			enumLiteral_2='top'
+			{
+				$current = grammarAccess.getVerticalTextAlignEnumAccess().getTOPEnumLiteralDeclaration_2().getEnumLiteral().getInstance();
+				newLeafNode(enumLiteral_2, grammarAccess.getVerticalTextAlignEnumAccess().getTOPEnumLiteralDeclaration_2());
+			}
+		)
+	)
+;
+
 // Rule NumberFormatCategoryEnum
 ruleNumberFormatCategoryEnum returns [Enumerator current=null]
 @init {
@@ -15740,6 +16084,30 @@
 				newLeafNode(enumLiteral_4, grammarAccess.getAutoTextEnumAccess().getPAGE_VARIABLEEnumLiteralDeclaration_4());
 			}
 		)
+		    |
+		(
+			enumLiteral_5='actual-date'
+			{
+				$current = grammarAccess.getAutoTextEnumAccess().getACTUAL_DATEEnumLiteralDeclaration_5().getEnumLiteral().getInstance();
+				newLeafNode(enumLiteral_5, grammarAccess.getAutoTextEnumAccess().getACTUAL_DATEEnumLiteralDeclaration_5());
+			}
+		)
+		    |
+		(
+			enumLiteral_6='actual-time'
+			{
+				$current = grammarAccess.getAutoTextEnumAccess().getACTUAL_TIMEEnumLiteralDeclaration_6().getEnumLiteral().getInstance();
+				newLeafNode(enumLiteral_6, grammarAccess.getAutoTextEnumAccess().getACTUAL_TIMEEnumLiteralDeclaration_6());
+			}
+		)
+		    |
+		(
+			enumLiteral_7='report-name'
+			{
+				$current = grammarAccess.getAutoTextEnumAccess().getREPORT_NAMEEnumLiteralDeclaration_7().getEnumLiteral().getInstance();
+				newLeafNode(enumLiteral_7, grammarAccess.getAutoTextEnumAccess().getREPORT_NAMEEnumLiteralDeclaration_7());
+			}
+		)
 	)
 ;
 
diff --git a/org.eclipse.osbp.xtext.reportdsl/src-gen/org/eclipse/osbp/xtext/reportdsl/parser/antlr/internal/InternalReportDSL.tokens b/org.eclipse.osbp.xtext.reportdsl/src-gen/org/eclipse/osbp/xtext/reportdsl/parser/antlr/internal/InternalReportDSL.tokens
index a4935a5..a2e53af 100644
--- a/org.eclipse.osbp.xtext.reportdsl/src-gen/org/eclipse/osbp/xtext/reportdsl/parser/antlr/internal/InternalReportDSL.tokens
+++ b/org.eclipse.osbp.xtext.reportdsl/src-gen/org/eclipse/osbp/xtext/reportdsl/parser/antlr/internal/InternalReportDSL.tokens
@@ -1,256 +1,261 @@
-'!'=164
-'!='=150
-'!=='=152
-'#'=136
-'%'=163
-'%='=143
-'&&'=148
-'&'=195
-'('=103
-')'=104
-'*'=130
-'**'=161
-'*='=141
-'+'=160
-'++'=165
-'+='=139
-','=134
-'-'=116
-'--'=166
-'-='=140
-'->'=154
-'.'=167
-'..'=156
-'..<'=155
-'/'=162
-'/='=142
-':'=174
-'::'=168
-';'=132
-'<'=144
-'<>'=158
-'='=135
-'=='=149
-'==='=151
-'=>'=157
-'>'=145
-'>='=146
-'?'=194
-'?.'=169
-'?:'=159
-'@'=133
-'['=137
-']'=138
-'a3'=205
-'a4'=204
-'a5'=206
-'after'=110
-'aggregate'=100
-'all'=95
+'!'=163
+'!='=149
+'!=='=151
+'#'=135
+'%'=162
+'%='=142
+'&&'=147
+'&'=194
+'('=102
+')'=103
+'*'=129
+'**'=160
+'*='=140
+'+'=159
+'++'=164
+'+='=138
+','=133
+'-'=115
+'--'=165
+'-='=139
+'->'=153
+'.'=166
+'..'=155
+'..<'=154
+'/'=161
+'/='=141
+':'=173
+'::'=167
+';'=131
+'<'=143
+'<>'=157
+'='=134
+'=='=148
+'==='=150
+'=>'=156
+'>'=144
+'>='=145
+'?'=193
+'?.'=168
+'?:'=158
+'@'=132
+'['=136
+']'=137
+'a3'=204
+'a4'=203
+'a5'=205
+'actual-date'=263
+'actual-time'=264
+'after'=109
+'aggregate'=99
+'all'=94
 'alternate'=46
-'always'=240
-'as'=84
-'attribute'=99
-'auto'=239
-'autotext'=124
-'average'=233
-'avoid'=241
+'always'=242
+'as'=85
+'attribute'=98
+'auto'=241
+'autotext'=123
+'average'=235
+'avoid'=243
 'backgroundcolor'=45
-'bad-rising'=243
-'before'=109
+'bad-rising'=245
+'before'=108
 'bold'=41
-'border-bottom'=50
-'border-left'=51
-'border-right'=52
-'border-top'=49
+'border-bottom'=51
+'border-left'=52
+'border-right'=53
+'border-top'=50
+'bottom'=221
 'bottommargin'=30
-'by'=93
+'by'=92
 'by-percent'=34
-'case'=176
-'catch'=193
-'cell'=87
-'cellcolor'=117
-'center'=220
-'clip'=263
-'cm'=197
+'case'=175
+'catch'=192
+'cell'=88
+'cellcolor'=116
+'center'=219
+'clip'=268
+'cm'=196
 'color'=32
 'colors'=20
-'columnspan'=88
-'concat'=238
-'count'=230
-'currency'=65
-'custom'=227
+'columnspan'=89
+'concat'=240
+'count'=232
+'currency'=66
+'custom'=229
 'darkens'=33
-'dashed'=250
-'datamart'=71
-'date'=66
-'date+time'=67
-'daysInPast'=113
-'default'=175
-'defaultUnit'=74
-'describedBy'=69
-'detail'=80
-'detailfooter'=91
-'detailheader'=90
-'details'=94
-'divide'=237
-'do'=179
-'dotted'=249
-'double'=251
-'else'=172
-'em'=201
-'embed'=265
-'ex'=202
+'dashed'=252
+'datamart'=72
+'date'=67
+'date+time'=68
+'daysInPast'=112
+'default'=174
+'defaultUnit'=75
+'describedBy'=70
+'detail'=81
+'details'=93
+'divide'=239
+'do'=178
+'dotted'=251
+'double'=253
+'else'=171
+'em'=200
+'embed'=270
+'ex'=201
 'extends'=39
-'extension'=129
+'extension'=128
 'externalCssURI'=16
-'false'=184
+'false'=183
 'family'=40
-'file'=75
-'finally'=191
-'fixed'=224
+'file'=76
+'finally'=190
+'fixed'=226
 'font'=38
 'fonts'=21
-'footer'=81
-'for'=177
+'footer'=82
+'for'=176
 'formatter'=44
 'formatters'=19
 'fromBundle'=17
-'general-number'=223
-'good-sloping'=245
-'grid'=83
-'groove'=252
-'group'=92
-'header'=77
-'height'=79
-'hidelabel'=97
-'html'=228
-'icon'=118
-'if'=171
-'image'=125
-'import'=127
-'inch'=199
-'inset'=254
-'inside'=111
-'instanceof'=153
-'intervals'=96
-'italic'=214
-'label'=122
-'landscape'=212
+'general-number'=225
+'good-sloping'=247
+'grid'=84
+'groove'=254
+'group'=91
+'header'=78
+'height'=80
+'hidelabel'=96
+'html'=230
+'icon'=117
+'if'=170
+'image'=124
+'import'=126
+'inch'=198
+'inset'=256
+'inside'=110
+'instanceof'=152
+'intervals'=95
+'italic'=213
+'label'=121
+'landscape'=211
 'layout-data'=15
-'left'=219
+'left'=218
 'leftmargin'=29
 'lightens'=35
-'lookups'=98
-'margin-bottom'=58
-'margin-left'=59
-'margin-right'=60
-'margin-top'=57
-'maximum'=235
+'lookups'=97
+'margin-bottom'=59
+'margin-left'=60
+'margin-right'=61
+'margin-top'=58
+'maximum'=237
 'media'=23
 'medias'=22
-'minimum'=234
-'mm'=196
-'monospace'=216
-'new'=183
-'none'=247
-'nontranslatable'=106
-'normal'=213
-'ns'=131
-'null'=186
-'number'=64
-'oblique'=215
-'on-group'=101
+'middle'=222
+'minimum'=236
+'mm'=195
+'monospace'=215
+'new'=182
+'none'=249
+'nontranslatable'=105
+'normal'=212
+'ns'=130
+'null'=185
+'number'=65
+'oblique'=214
+'on-group'=100
 'orientation'=27
-'outset'=255
+'outset'=257
 'package'=13
-'padding-bottom'=54
-'padding-left'=55
-'padding-right'=56
-'padding-top'=53
-'page-number'=256
-'page-number-unfiltered'=258
-'page-variable'=260
-'pageBreak'=108
+'padding-bottom'=55
+'padding-left'=56
+'padding-right'=57
+'padding-top'=54
+'page-number'=258
+'page-number-unfiltered'=260
+'page-variable'=262
+'pageBreak'=107
 'pagetemplate'=25
-'pc'=200
-'pdf'=229
-'percent'=225
-'plain'=266
-'portrait'=211
-'pt'=198
-'px'=203
-'rendering'=73
-'report'=63
-'return'=189
-'ridge'=253
-'right'=221
+'pc'=199
+'pdf'=231
+'percent'=227
+'plain'=271
+'portrait'=210
+'pt'=197
+'px'=202
+'rendering'=74
+'report'=64
+'report-name'=265
+'return'=188
+'ridge'=255
+'right'=220
 'rightmargin'=31
-'rising'=242
-'row'=86
-'running-count'=231
-'running-sum'=236
-'sans-serif'=217
-'scale'=126
-'scale-to-item'=262
-'scientific'=226
-'selectById'=72
-'serif'=218
-'showOnFirst'=78
-'showOnLast'=82
+'rising'=244
+'row'=87
+'running-count'=233
+'running-sum'=238
+'sans-serif'=216
+'scale'=125
+'scale-to-item'=267
+'scientific'=228
+'selectById'=73
+'serif'=217
+'showOnFirst'=79
+'showOnLast'=83
 'size'=42
-'size-to-image'=261
-'sloping'=244
-'solid'=248
-'stagnating'=246
-'static'=128
-'string'=114
-'stringBinder'=107
+'size-to-image'=266
+'sloping'=246
+'solid'=250
+'stagnating'=248
+'static'=127
+'string'=113
+'stringBinder'=106
 'style'=43
 'styles'=24
-'subsubtitle'=121
-'subtitle'=120
-'sum'=232
-'super'=182
-'switch'=173
-'synchronized'=192
-'table'=89
-'template'=76
-'text'=123
+'subsubtitle'=120
+'subtitle'=119
+'sum'=234
+'super'=181
+'switch'=172
+'synchronized'=191
+'table'=90
+'template'=77
+'text'=122
 'textalign'=48
 'textcolor'=47
-'throw'=188
-'time'=68
-'title'=102
-'toolbar'=70
+'throw'=187
+'time'=69
+'title'=101
+'toolbar'=71
+'top'=223
 'topmargin'=28
-'total-page'=257
-'total-page-unfiltered'=259
+'total-page'=259
+'total-page-unfiltered'=261
 'towards'=37
 'transforms'=36
-'translatable'=105
-'trend'=119
-'true'=185
-'try'=190
+'translatable'=104
+'trend'=118
+'true'=184
+'try'=189
 'type'=26
-'typeof'=187
-'ui'=62
-'unformatted'=222
-'uomo'=61
-'upTo'=112
-'url'=264
-'us-ledger'=209
-'us-legal'=208
-'us-letter'=207
-'us-super-b'=210
-'val'=181
-'var'=180
-'visibility'=115
-'while'=178
-'width'=85
+'typeof'=186
+'ui'=63
+'unformatted'=224
+'uomo'=62
+'upTo'=111
+'url'=269
+'us-ledger'=208
+'us-legal'=207
+'us-letter'=206
+'us-super-b'=209
+'val'=180
+'var'=179
+'verticalalign'=49
+'visibility'=114
+'while'=177
+'width'=86
 '{'=14
-'|'=170
-'||'=147
+'|'=169
+'||'=146
 '}'=18
 RULE_ANY_OTHER=12
 RULE_DECIMAL=8
@@ -441,7 +446,12 @@
 T__264=264
 T__265=265
 T__266=266
+T__267=267
+T__268=268
+T__269=269
 T__26=26
+T__270=270
+T__271=271
 T__27=27
 T__28=28
 T__29=29
diff --git a/org.eclipse.osbp.xtext.reportdsl/src-gen/org/eclipse/osbp/xtext/reportdsl/parser/antlr/internal/InternalReportDSLLexer.java b/org.eclipse.osbp.xtext.reportdsl/src-gen/org/eclipse/osbp/xtext/reportdsl/parser/antlr/internal/InternalReportDSLLexer.java
index ad95d7c..bb7c152 100644
--- a/org.eclipse.osbp.xtext.reportdsl/src-gen/org/eclipse/osbp/xtext/reportdsl/parser/antlr/internal/InternalReportDSLLexer.java
+++ b/org.eclipse.osbp.xtext.reportdsl/src-gen/org/eclipse/osbp/xtext/reportdsl/parser/antlr/internal/InternalReportDSLLexer.java
@@ -1,17 +1,3 @@
-/**
- *                                                                            
- *  Copyright (c) 2011, 2016 - Loetz GmbH&Co.KG (69115 Heidelberg, Germany) 
- *                                                                            
- *  All rights reserved. This program and the accompanying materials           
- *  are made available under the terms of the Eclipse Public License v1.0       
- *  which accompanies this distribution, and is available at                  
- *  http://www.eclipse.org/legal/epl-v10.html                                 
- *                                                                            
- *  Contributors:                                                      
- * 	   Christophe Loetz (Loetz GmbH&Co.KG) - initial implementation
- * 
- */
-
 package org.eclipse.osbp.xtext.reportdsl.parser.antlr.internal;
 
 // Hack: Use our own Lexer superclass by means of import. 
@@ -31,6 +17,7 @@
     public static final int T__143=143;
     public static final int T__264=264;
     public static final int T__146=146;
+    public static final int T__267=267;
     public static final int T__50=50;
     public static final int T__145=145;
     public static final int T__266=266;
@@ -118,8 +105,10 @@
     public static final int T__156=156;
     public static final int T__151=151;
     public static final int T__150=150;
+    public static final int T__271=271;
     public static final int T__153=153;
     public static final int T__152=152;
+    public static final int T__270=270;
     public static final int T__48=48;
     public static final int T__49=49;
     public static final int T__44=44;
@@ -128,8 +117,10 @@
     public static final int T__47=47;
     public static final int T__40=40;
     public static final int T__148=148;
+    public static final int T__269=269;
     public static final int T__41=41;
     public static final int T__147=147;
+    public static final int T__268=268;
     public static final int T__42=42;
     public static final int T__43=43;
     public static final int T__149=149;
@@ -1063,10 +1054,10 @@
         try {
             int _type = T__49;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalReportDSL.g:47:7: ( 'border-top' )
-            // InternalReportDSL.g:47:9: 'border-top'
+            // InternalReportDSL.g:47:7: ( 'verticalalign' )
+            // InternalReportDSL.g:47:9: 'verticalalign'
             {
-            match("border-top"); 
+            match("verticalalign"); 
 
 
             }
@@ -1084,10 +1075,10 @@
         try {
             int _type = T__50;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalReportDSL.g:48:7: ( 'border-bottom' )
-            // InternalReportDSL.g:48:9: 'border-bottom'
+            // InternalReportDSL.g:48:7: ( 'border-top' )
+            // InternalReportDSL.g:48:9: 'border-top'
             {
-            match("border-bottom"); 
+            match("border-top"); 
 
 
             }
@@ -1105,10 +1096,10 @@
         try {
             int _type = T__51;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalReportDSL.g:49:7: ( 'border-left' )
-            // InternalReportDSL.g:49:9: 'border-left'
+            // InternalReportDSL.g:49:7: ( 'border-bottom' )
+            // InternalReportDSL.g:49:9: 'border-bottom'
             {
-            match("border-left"); 
+            match("border-bottom"); 
 
 
             }
@@ -1126,10 +1117,10 @@
         try {
             int _type = T__52;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalReportDSL.g:50:7: ( 'border-right' )
-            // InternalReportDSL.g:50:9: 'border-right'
+            // InternalReportDSL.g:50:7: ( 'border-left' )
+            // InternalReportDSL.g:50:9: 'border-left'
             {
-            match("border-right"); 
+            match("border-left"); 
 
 
             }
@@ -1147,10 +1138,10 @@
         try {
             int _type = T__53;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalReportDSL.g:51:7: ( 'padding-top' )
-            // InternalReportDSL.g:51:9: 'padding-top'
+            // InternalReportDSL.g:51:7: ( 'border-right' )
+            // InternalReportDSL.g:51:9: 'border-right'
             {
-            match("padding-top"); 
+            match("border-right"); 
 
 
             }
@@ -1168,10 +1159,10 @@
         try {
             int _type = T__54;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalReportDSL.g:52:7: ( 'padding-bottom' )
-            // InternalReportDSL.g:52:9: 'padding-bottom'
+            // InternalReportDSL.g:52:7: ( 'padding-top' )
+            // InternalReportDSL.g:52:9: 'padding-top'
             {
-            match("padding-bottom"); 
+            match("padding-top"); 
 
 
             }
@@ -1189,10 +1180,10 @@
         try {
             int _type = T__55;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalReportDSL.g:53:7: ( 'padding-left' )
-            // InternalReportDSL.g:53:9: 'padding-left'
+            // InternalReportDSL.g:53:7: ( 'padding-bottom' )
+            // InternalReportDSL.g:53:9: 'padding-bottom'
             {
-            match("padding-left"); 
+            match("padding-bottom"); 
 
 
             }
@@ -1210,10 +1201,10 @@
         try {
             int _type = T__56;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalReportDSL.g:54:7: ( 'padding-right' )
-            // InternalReportDSL.g:54:9: 'padding-right'
+            // InternalReportDSL.g:54:7: ( 'padding-left' )
+            // InternalReportDSL.g:54:9: 'padding-left'
             {
-            match("padding-right"); 
+            match("padding-left"); 
 
 
             }
@@ -1231,10 +1222,10 @@
         try {
             int _type = T__57;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalReportDSL.g:55:7: ( 'margin-top' )
-            // InternalReportDSL.g:55:9: 'margin-top'
+            // InternalReportDSL.g:55:7: ( 'padding-right' )
+            // InternalReportDSL.g:55:9: 'padding-right'
             {
-            match("margin-top"); 
+            match("padding-right"); 
 
 
             }
@@ -1252,10 +1243,10 @@
         try {
             int _type = T__58;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalReportDSL.g:56:7: ( 'margin-bottom' )
-            // InternalReportDSL.g:56:9: 'margin-bottom'
+            // InternalReportDSL.g:56:7: ( 'margin-top' )
+            // InternalReportDSL.g:56:9: 'margin-top'
             {
-            match("margin-bottom"); 
+            match("margin-top"); 
 
 
             }
@@ -1273,10 +1264,10 @@
         try {
             int _type = T__59;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalReportDSL.g:57:7: ( 'margin-left' )
-            // InternalReportDSL.g:57:9: 'margin-left'
+            // InternalReportDSL.g:57:7: ( 'margin-bottom' )
+            // InternalReportDSL.g:57:9: 'margin-bottom'
             {
-            match("margin-left"); 
+            match("margin-bottom"); 
 
 
             }
@@ -1294,10 +1285,10 @@
         try {
             int _type = T__60;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalReportDSL.g:58:7: ( 'margin-right' )
-            // InternalReportDSL.g:58:9: 'margin-right'
+            // InternalReportDSL.g:58:7: ( 'margin-left' )
+            // InternalReportDSL.g:58:9: 'margin-left'
             {
-            match("margin-right"); 
+            match("margin-left"); 
 
 
             }
@@ -1315,10 +1306,10 @@
         try {
             int _type = T__61;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalReportDSL.g:59:7: ( 'uomo' )
-            // InternalReportDSL.g:59:9: 'uomo'
+            // InternalReportDSL.g:59:7: ( 'margin-right' )
+            // InternalReportDSL.g:59:9: 'margin-right'
             {
-            match("uomo"); 
+            match("margin-right"); 
 
 
             }
@@ -1336,10 +1327,10 @@
         try {
             int _type = T__62;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalReportDSL.g:60:7: ( 'ui' )
-            // InternalReportDSL.g:60:9: 'ui'
+            // InternalReportDSL.g:60:7: ( 'uomo' )
+            // InternalReportDSL.g:60:9: 'uomo'
             {
-            match("ui"); 
+            match("uomo"); 
 
 
             }
@@ -1357,10 +1348,10 @@
         try {
             int _type = T__63;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalReportDSL.g:61:7: ( 'report' )
-            // InternalReportDSL.g:61:9: 'report'
+            // InternalReportDSL.g:61:7: ( 'ui' )
+            // InternalReportDSL.g:61:9: 'ui'
             {
-            match("report"); 
+            match("ui"); 
 
 
             }
@@ -1378,10 +1369,10 @@
         try {
             int _type = T__64;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalReportDSL.g:62:7: ( 'number' )
-            // InternalReportDSL.g:62:9: 'number'
+            // InternalReportDSL.g:62:7: ( 'report' )
+            // InternalReportDSL.g:62:9: 'report'
             {
-            match("number"); 
+            match("report"); 
 
 
             }
@@ -1399,10 +1390,10 @@
         try {
             int _type = T__65;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalReportDSL.g:63:7: ( 'currency' )
-            // InternalReportDSL.g:63:9: 'currency'
+            // InternalReportDSL.g:63:7: ( 'number' )
+            // InternalReportDSL.g:63:9: 'number'
             {
-            match("currency"); 
+            match("number"); 
 
 
             }
@@ -1420,10 +1411,10 @@
         try {
             int _type = T__66;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalReportDSL.g:64:7: ( 'date' )
-            // InternalReportDSL.g:64:9: 'date'
+            // InternalReportDSL.g:64:7: ( 'currency' )
+            // InternalReportDSL.g:64:9: 'currency'
             {
-            match("date"); 
+            match("currency"); 
 
 
             }
@@ -1441,10 +1432,10 @@
         try {
             int _type = T__67;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalReportDSL.g:65:7: ( 'date+time' )
-            // InternalReportDSL.g:65:9: 'date+time'
+            // InternalReportDSL.g:65:7: ( 'date' )
+            // InternalReportDSL.g:65:9: 'date'
             {
-            match("date+time"); 
+            match("date"); 
 
 
             }
@@ -1462,10 +1453,10 @@
         try {
             int _type = T__68;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalReportDSL.g:66:7: ( 'time' )
-            // InternalReportDSL.g:66:9: 'time'
+            // InternalReportDSL.g:66:7: ( 'date+time' )
+            // InternalReportDSL.g:66:9: 'date+time'
             {
-            match("time"); 
+            match("date+time"); 
 
 
             }
@@ -1483,10 +1474,10 @@
         try {
             int _type = T__69;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalReportDSL.g:67:7: ( 'describedBy' )
-            // InternalReportDSL.g:67:9: 'describedBy'
+            // InternalReportDSL.g:67:7: ( 'time' )
+            // InternalReportDSL.g:67:9: 'time'
             {
-            match("describedBy"); 
+            match("time"); 
 
 
             }
@@ -1504,10 +1495,10 @@
         try {
             int _type = T__70;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalReportDSL.g:68:7: ( 'toolbar' )
-            // InternalReportDSL.g:68:9: 'toolbar'
+            // InternalReportDSL.g:68:7: ( 'describedBy' )
+            // InternalReportDSL.g:68:9: 'describedBy'
             {
-            match("toolbar"); 
+            match("describedBy"); 
 
 
             }
@@ -1525,10 +1516,10 @@
         try {
             int _type = T__71;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalReportDSL.g:69:7: ( 'datamart' )
-            // InternalReportDSL.g:69:9: 'datamart'
+            // InternalReportDSL.g:69:7: ( 'toolbar' )
+            // InternalReportDSL.g:69:9: 'toolbar'
             {
-            match("datamart"); 
+            match("toolbar"); 
 
 
             }
@@ -1546,10 +1537,10 @@
         try {
             int _type = T__72;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalReportDSL.g:70:7: ( 'selectById' )
-            // InternalReportDSL.g:70:9: 'selectById'
+            // InternalReportDSL.g:70:7: ( 'datamart' )
+            // InternalReportDSL.g:70:9: 'datamart'
             {
-            match("selectById"); 
+            match("datamart"); 
 
 
             }
@@ -1567,10 +1558,10 @@
         try {
             int _type = T__73;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalReportDSL.g:71:7: ( 'rendering' )
-            // InternalReportDSL.g:71:9: 'rendering'
+            // InternalReportDSL.g:71:7: ( 'selectById' )
+            // InternalReportDSL.g:71:9: 'selectById'
             {
-            match("rendering"); 
+            match("selectById"); 
 
 
             }
@@ -1588,10 +1579,10 @@
         try {
             int _type = T__74;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalReportDSL.g:72:7: ( 'defaultUnit' )
-            // InternalReportDSL.g:72:9: 'defaultUnit'
+            // InternalReportDSL.g:72:7: ( 'rendering' )
+            // InternalReportDSL.g:72:9: 'rendering'
             {
-            match("defaultUnit"); 
+            match("rendering"); 
 
 
             }
@@ -1609,10 +1600,10 @@
         try {
             int _type = T__75;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalReportDSL.g:73:7: ( 'file' )
-            // InternalReportDSL.g:73:9: 'file'
+            // InternalReportDSL.g:73:7: ( 'defaultUnit' )
+            // InternalReportDSL.g:73:9: 'defaultUnit'
             {
-            match("file"); 
+            match("defaultUnit"); 
 
 
             }
@@ -1630,10 +1621,10 @@
         try {
             int _type = T__76;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalReportDSL.g:74:7: ( 'template' )
-            // InternalReportDSL.g:74:9: 'template'
+            // InternalReportDSL.g:74:7: ( 'file' )
+            // InternalReportDSL.g:74:9: 'file'
             {
-            match("template"); 
+            match("file"); 
 
 
             }
@@ -1651,10 +1642,10 @@
         try {
             int _type = T__77;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalReportDSL.g:75:7: ( 'header' )
-            // InternalReportDSL.g:75:9: 'header'
+            // InternalReportDSL.g:75:7: ( 'template' )
+            // InternalReportDSL.g:75:9: 'template'
             {
-            match("header"); 
+            match("template"); 
 
 
             }
@@ -1672,10 +1663,10 @@
         try {
             int _type = T__78;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalReportDSL.g:76:7: ( 'showOnFirst' )
-            // InternalReportDSL.g:76:9: 'showOnFirst'
+            // InternalReportDSL.g:76:7: ( 'header' )
+            // InternalReportDSL.g:76:9: 'header'
             {
-            match("showOnFirst"); 
+            match("header"); 
 
 
             }
@@ -1693,10 +1684,10 @@
         try {
             int _type = T__79;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalReportDSL.g:77:7: ( 'height' )
-            // InternalReportDSL.g:77:9: 'height'
+            // InternalReportDSL.g:77:7: ( 'showOnFirst' )
+            // InternalReportDSL.g:77:9: 'showOnFirst'
             {
-            match("height"); 
+            match("showOnFirst"); 
 
 
             }
@@ -1714,10 +1705,10 @@
         try {
             int _type = T__80;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalReportDSL.g:78:7: ( 'detail' )
-            // InternalReportDSL.g:78:9: 'detail'
+            // InternalReportDSL.g:78:7: ( 'height' )
+            // InternalReportDSL.g:78:9: 'height'
             {
-            match("detail"); 
+            match("height"); 
 
 
             }
@@ -1735,10 +1726,10 @@
         try {
             int _type = T__81;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalReportDSL.g:79:7: ( 'footer' )
-            // InternalReportDSL.g:79:9: 'footer'
+            // InternalReportDSL.g:79:7: ( 'detail' )
+            // InternalReportDSL.g:79:9: 'detail'
             {
-            match("footer"); 
+            match("detail"); 
 
 
             }
@@ -1756,10 +1747,10 @@
         try {
             int _type = T__82;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalReportDSL.g:80:7: ( 'showOnLast' )
-            // InternalReportDSL.g:80:9: 'showOnLast'
+            // InternalReportDSL.g:80:7: ( 'footer' )
+            // InternalReportDSL.g:80:9: 'footer'
             {
-            match("showOnLast"); 
+            match("footer"); 
 
 
             }
@@ -1777,10 +1768,10 @@
         try {
             int _type = T__83;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalReportDSL.g:81:7: ( 'grid' )
-            // InternalReportDSL.g:81:9: 'grid'
+            // InternalReportDSL.g:81:7: ( 'showOnLast' )
+            // InternalReportDSL.g:81:9: 'showOnLast'
             {
-            match("grid"); 
+            match("showOnLast"); 
 
 
             }
@@ -1798,10 +1789,10 @@
         try {
             int _type = T__84;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalReportDSL.g:82:7: ( 'as' )
-            // InternalReportDSL.g:82:9: 'as'
+            // InternalReportDSL.g:82:7: ( 'grid' )
+            // InternalReportDSL.g:82:9: 'grid'
             {
-            match("as"); 
+            match("grid"); 
 
 
             }
@@ -1819,10 +1810,10 @@
         try {
             int _type = T__85;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalReportDSL.g:83:7: ( 'width' )
-            // InternalReportDSL.g:83:9: 'width'
+            // InternalReportDSL.g:83:7: ( 'as' )
+            // InternalReportDSL.g:83:9: 'as'
             {
-            match("width"); 
+            match("as"); 
 
 
             }
@@ -1840,10 +1831,10 @@
         try {
             int _type = T__86;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalReportDSL.g:84:7: ( 'row' )
-            // InternalReportDSL.g:84:9: 'row'
+            // InternalReportDSL.g:84:7: ( 'width' )
+            // InternalReportDSL.g:84:9: 'width'
             {
-            match("row"); 
+            match("width"); 
 
 
             }
@@ -1861,10 +1852,10 @@
         try {
             int _type = T__87;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalReportDSL.g:85:7: ( 'cell' )
-            // InternalReportDSL.g:85:9: 'cell'
+            // InternalReportDSL.g:85:7: ( 'row' )
+            // InternalReportDSL.g:85:9: 'row'
             {
-            match("cell"); 
+            match("row"); 
 
 
             }
@@ -1882,10 +1873,10 @@
         try {
             int _type = T__88;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalReportDSL.g:86:7: ( 'columnspan' )
-            // InternalReportDSL.g:86:9: 'columnspan'
+            // InternalReportDSL.g:86:7: ( 'cell' )
+            // InternalReportDSL.g:86:9: 'cell'
             {
-            match("columnspan"); 
+            match("cell"); 
 
 
             }
@@ -1903,10 +1894,10 @@
         try {
             int _type = T__89;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalReportDSL.g:87:7: ( 'table' )
-            // InternalReportDSL.g:87:9: 'table'
+            // InternalReportDSL.g:87:7: ( 'columnspan' )
+            // InternalReportDSL.g:87:9: 'columnspan'
             {
-            match("table"); 
+            match("columnspan"); 
 
 
             }
@@ -1924,10 +1915,10 @@
         try {
             int _type = T__90;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalReportDSL.g:88:7: ( 'detailheader' )
-            // InternalReportDSL.g:88:9: 'detailheader'
+            // InternalReportDSL.g:88:7: ( 'table' )
+            // InternalReportDSL.g:88:9: 'table'
             {
-            match("detailheader"); 
+            match("table"); 
 
 
             }
@@ -1945,10 +1936,10 @@
         try {
             int _type = T__91;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalReportDSL.g:89:7: ( 'detailfooter' )
-            // InternalReportDSL.g:89:9: 'detailfooter'
+            // InternalReportDSL.g:89:7: ( 'group' )
+            // InternalReportDSL.g:89:9: 'group'
             {
-            match("detailfooter"); 
+            match("group"); 
 
 
             }
@@ -1966,10 +1957,10 @@
         try {
             int _type = T__92;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalReportDSL.g:90:7: ( 'group' )
-            // InternalReportDSL.g:90:9: 'group'
+            // InternalReportDSL.g:90:7: ( 'by' )
+            // InternalReportDSL.g:90:9: 'by'
             {
-            match("group"); 
+            match("by"); 
 
 
             }
@@ -1987,10 +1978,10 @@
         try {
             int _type = T__93;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalReportDSL.g:91:7: ( 'by' )
-            // InternalReportDSL.g:91:9: 'by'
+            // InternalReportDSL.g:91:7: ( 'details' )
+            // InternalReportDSL.g:91:9: 'details'
             {
-            match("by"); 
+            match("details"); 
 
 
             }
@@ -2008,10 +1999,10 @@
         try {
             int _type = T__94;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalReportDSL.g:92:7: ( 'details' )
-            // InternalReportDSL.g:92:9: 'details'
+            // InternalReportDSL.g:92:7: ( 'all' )
+            // InternalReportDSL.g:92:9: 'all'
             {
-            match("details"); 
+            match("all"); 
 
 
             }
@@ -2029,10 +2020,10 @@
         try {
             int _type = T__95;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalReportDSL.g:93:7: ( 'all' )
-            // InternalReportDSL.g:93:9: 'all'
+            // InternalReportDSL.g:93:7: ( 'intervals' )
+            // InternalReportDSL.g:93:9: 'intervals'
             {
-            match("all"); 
+            match("intervals"); 
 
 
             }
@@ -2050,10 +2041,10 @@
         try {
             int _type = T__96;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalReportDSL.g:94:7: ( 'intervals' )
-            // InternalReportDSL.g:94:9: 'intervals'
+            // InternalReportDSL.g:94:7: ( 'hidelabel' )
+            // InternalReportDSL.g:94:9: 'hidelabel'
             {
-            match("intervals"); 
+            match("hidelabel"); 
 
 
             }
@@ -2071,10 +2062,10 @@
         try {
             int _type = T__97;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalReportDSL.g:95:7: ( 'hidelabel' )
-            // InternalReportDSL.g:95:9: 'hidelabel'
+            // InternalReportDSL.g:95:7: ( 'lookups' )
+            // InternalReportDSL.g:95:9: 'lookups'
             {
-            match("hidelabel"); 
+            match("lookups"); 
 
 
             }
@@ -2092,10 +2083,10 @@
         try {
             int _type = T__98;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalReportDSL.g:96:7: ( 'lookups' )
-            // InternalReportDSL.g:96:9: 'lookups'
+            // InternalReportDSL.g:96:7: ( 'attribute' )
+            // InternalReportDSL.g:96:9: 'attribute'
             {
-            match("lookups"); 
+            match("attribute"); 
 
 
             }
@@ -2113,10 +2104,10 @@
         try {
             int _type = T__99;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalReportDSL.g:97:7: ( 'attribute' )
-            // InternalReportDSL.g:97:9: 'attribute'
+            // InternalReportDSL.g:97:7: ( 'aggregate' )
+            // InternalReportDSL.g:97:9: 'aggregate'
             {
-            match("attribute"); 
+            match("aggregate"); 
 
 
             }
@@ -2134,10 +2125,10 @@
         try {
             int _type = T__100;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalReportDSL.g:98:8: ( 'aggregate' )
-            // InternalReportDSL.g:98:10: 'aggregate'
+            // InternalReportDSL.g:98:8: ( 'on-group' )
+            // InternalReportDSL.g:98:10: 'on-group'
             {
-            match("aggregate"); 
+            match("on-group"); 
 
 
             }
@@ -2155,10 +2146,10 @@
         try {
             int _type = T__101;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalReportDSL.g:99:8: ( 'on-group' )
-            // InternalReportDSL.g:99:10: 'on-group'
+            // InternalReportDSL.g:99:8: ( 'title' )
+            // InternalReportDSL.g:99:10: 'title'
             {
-            match("on-group"); 
+            match("title"); 
 
 
             }
@@ -2176,11 +2167,10 @@
         try {
             int _type = T__102;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalReportDSL.g:100:8: ( 'title' )
-            // InternalReportDSL.g:100:10: 'title'
+            // InternalReportDSL.g:100:8: ( '(' )
+            // InternalReportDSL.g:100:10: '('
             {
-            match("title"); 
-
+            match('('); 
 
             }
 
@@ -2197,10 +2187,10 @@
         try {
             int _type = T__103;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalReportDSL.g:101:8: ( '(' )
-            // InternalReportDSL.g:101:10: '('
+            // InternalReportDSL.g:101:8: ( ')' )
+            // InternalReportDSL.g:101:10: ')'
             {
-            match('('); 
+            match(')'); 
 
             }
 
@@ -2217,10 +2207,11 @@
         try {
             int _type = T__104;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalReportDSL.g:102:8: ( ')' )
-            // InternalReportDSL.g:102:10: ')'
+            // InternalReportDSL.g:102:8: ( 'translatable' )
+            // InternalReportDSL.g:102:10: 'translatable'
             {
-            match(')'); 
+            match("translatable"); 
+
 
             }
 
@@ -2237,10 +2228,10 @@
         try {
             int _type = T__105;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalReportDSL.g:103:8: ( 'translatable' )
-            // InternalReportDSL.g:103:10: 'translatable'
+            // InternalReportDSL.g:103:8: ( 'nontranslatable' )
+            // InternalReportDSL.g:103:10: 'nontranslatable'
             {
-            match("translatable"); 
+            match("nontranslatable"); 
 
 
             }
@@ -2258,10 +2249,10 @@
         try {
             int _type = T__106;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalReportDSL.g:104:8: ( 'nontranslatable' )
-            // InternalReportDSL.g:104:10: 'nontranslatable'
+            // InternalReportDSL.g:104:8: ( 'stringBinder' )
+            // InternalReportDSL.g:104:10: 'stringBinder'
             {
-            match("nontranslatable"); 
+            match("stringBinder"); 
 
 
             }
@@ -2279,10 +2270,10 @@
         try {
             int _type = T__107;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalReportDSL.g:105:8: ( 'stringBinder' )
-            // InternalReportDSL.g:105:10: 'stringBinder'
+            // InternalReportDSL.g:105:8: ( 'pageBreak' )
+            // InternalReportDSL.g:105:10: 'pageBreak'
             {
-            match("stringBinder"); 
+            match("pageBreak"); 
 
 
             }
@@ -2300,10 +2291,10 @@
         try {
             int _type = T__108;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalReportDSL.g:106:8: ( 'pageBreak' )
-            // InternalReportDSL.g:106:10: 'pageBreak'
+            // InternalReportDSL.g:106:8: ( 'before' )
+            // InternalReportDSL.g:106:10: 'before'
             {
-            match("pageBreak"); 
+            match("before"); 
 
 
             }
@@ -2321,10 +2312,10 @@
         try {
             int _type = T__109;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalReportDSL.g:107:8: ( 'before' )
-            // InternalReportDSL.g:107:10: 'before'
+            // InternalReportDSL.g:107:8: ( 'after' )
+            // InternalReportDSL.g:107:10: 'after'
             {
-            match("before"); 
+            match("after"); 
 
 
             }
@@ -2342,10 +2333,10 @@
         try {
             int _type = T__110;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalReportDSL.g:108:8: ( 'after' )
-            // InternalReportDSL.g:108:10: 'after'
+            // InternalReportDSL.g:108:8: ( 'inside' )
+            // InternalReportDSL.g:108:10: 'inside'
             {
-            match("after"); 
+            match("inside"); 
 
 
             }
@@ -2363,10 +2354,10 @@
         try {
             int _type = T__111;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalReportDSL.g:109:8: ( 'inside' )
-            // InternalReportDSL.g:109:10: 'inside'
+            // InternalReportDSL.g:109:8: ( 'upTo' )
+            // InternalReportDSL.g:109:10: 'upTo'
             {
-            match("inside"); 
+            match("upTo"); 
 
 
             }
@@ -2384,10 +2375,10 @@
         try {
             int _type = T__112;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalReportDSL.g:110:8: ( 'upTo' )
-            // InternalReportDSL.g:110:10: 'upTo'
+            // InternalReportDSL.g:110:8: ( 'daysInPast' )
+            // InternalReportDSL.g:110:10: 'daysInPast'
             {
-            match("upTo"); 
+            match("daysInPast"); 
 
 
             }
@@ -2405,10 +2396,10 @@
         try {
             int _type = T__113;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalReportDSL.g:111:8: ( 'daysInPast' )
-            // InternalReportDSL.g:111:10: 'daysInPast'
+            // InternalReportDSL.g:111:8: ( 'string' )
+            // InternalReportDSL.g:111:10: 'string'
             {
-            match("daysInPast"); 
+            match("string"); 
 
 
             }
@@ -2426,10 +2417,10 @@
         try {
             int _type = T__114;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalReportDSL.g:112:8: ( 'string' )
-            // InternalReportDSL.g:112:10: 'string'
+            // InternalReportDSL.g:112:8: ( 'visibility' )
+            // InternalReportDSL.g:112:10: 'visibility'
             {
-            match("string"); 
+            match("visibility"); 
 
 
             }
@@ -2447,11 +2438,10 @@
         try {
             int _type = T__115;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalReportDSL.g:113:8: ( 'visibility' )
-            // InternalReportDSL.g:113:10: 'visibility'
+            // InternalReportDSL.g:113:8: ( '-' )
+            // InternalReportDSL.g:113:10: '-'
             {
-            match("visibility"); 
-
+            match('-'); 
 
             }
 
@@ -2468,10 +2458,11 @@
         try {
             int _type = T__116;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalReportDSL.g:114:8: ( '-' )
-            // InternalReportDSL.g:114:10: '-'
+            // InternalReportDSL.g:114:8: ( 'cellcolor' )
+            // InternalReportDSL.g:114:10: 'cellcolor'
             {
-            match('-'); 
+            match("cellcolor"); 
+
 
             }
 
@@ -2488,10 +2479,10 @@
         try {
             int _type = T__117;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalReportDSL.g:115:8: ( 'cellcolor' )
-            // InternalReportDSL.g:115:10: 'cellcolor'
+            // InternalReportDSL.g:115:8: ( 'icon' )
+            // InternalReportDSL.g:115:10: 'icon'
             {
-            match("cellcolor"); 
+            match("icon"); 
 
 
             }
@@ -2509,10 +2500,10 @@
         try {
             int _type = T__118;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalReportDSL.g:116:8: ( 'icon' )
-            // InternalReportDSL.g:116:10: 'icon'
+            // InternalReportDSL.g:116:8: ( 'trend' )
+            // InternalReportDSL.g:116:10: 'trend'
             {
-            match("icon"); 
+            match("trend"); 
 
 
             }
@@ -2530,10 +2521,10 @@
         try {
             int _type = T__119;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalReportDSL.g:117:8: ( 'trend' )
-            // InternalReportDSL.g:117:10: 'trend'
+            // InternalReportDSL.g:117:8: ( 'subtitle' )
+            // InternalReportDSL.g:117:10: 'subtitle'
             {
-            match("trend"); 
+            match("subtitle"); 
 
 
             }
@@ -2551,10 +2542,10 @@
         try {
             int _type = T__120;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalReportDSL.g:118:8: ( 'subtitle' )
-            // InternalReportDSL.g:118:10: 'subtitle'
+            // InternalReportDSL.g:118:8: ( 'subsubtitle' )
+            // InternalReportDSL.g:118:10: 'subsubtitle'
             {
-            match("subtitle"); 
+            match("subsubtitle"); 
 
 
             }
@@ -2572,10 +2563,10 @@
         try {
             int _type = T__121;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalReportDSL.g:119:8: ( 'subsubtitle' )
-            // InternalReportDSL.g:119:10: 'subsubtitle'
+            // InternalReportDSL.g:119:8: ( 'label' )
+            // InternalReportDSL.g:119:10: 'label'
             {
-            match("subsubtitle"); 
+            match("label"); 
 
 
             }
@@ -2593,10 +2584,10 @@
         try {
             int _type = T__122;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalReportDSL.g:120:8: ( 'label' )
-            // InternalReportDSL.g:120:10: 'label'
+            // InternalReportDSL.g:120:8: ( 'text' )
+            // InternalReportDSL.g:120:10: 'text'
             {
-            match("label"); 
+            match("text"); 
 
 
             }
@@ -2614,10 +2605,10 @@
         try {
             int _type = T__123;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalReportDSL.g:121:8: ( 'text' )
-            // InternalReportDSL.g:121:10: 'text'
+            // InternalReportDSL.g:121:8: ( 'autotext' )
+            // InternalReportDSL.g:121:10: 'autotext'
             {
-            match("text"); 
+            match("autotext"); 
 
 
             }
@@ -2635,10 +2626,10 @@
         try {
             int _type = T__124;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalReportDSL.g:122:8: ( 'autotext' )
-            // InternalReportDSL.g:122:10: 'autotext'
+            // InternalReportDSL.g:122:8: ( 'image' )
+            // InternalReportDSL.g:122:10: 'image'
             {
-            match("autotext"); 
+            match("image"); 
 
 
             }
@@ -2656,10 +2647,10 @@
         try {
             int _type = T__125;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalReportDSL.g:123:8: ( 'image' )
-            // InternalReportDSL.g:123:10: 'image'
+            // InternalReportDSL.g:123:8: ( 'scale' )
+            // InternalReportDSL.g:123:10: 'scale'
             {
-            match("image"); 
+            match("scale"); 
 
 
             }
@@ -2677,10 +2668,10 @@
         try {
             int _type = T__126;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalReportDSL.g:124:8: ( 'scale' )
-            // InternalReportDSL.g:124:10: 'scale'
+            // InternalReportDSL.g:124:8: ( 'import' )
+            // InternalReportDSL.g:124:10: 'import'
             {
-            match("scale"); 
+            match("import"); 
 
 
             }
@@ -2698,10 +2689,10 @@
         try {
             int _type = T__127;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalReportDSL.g:125:8: ( 'import' )
-            // InternalReportDSL.g:125:10: 'import'
+            // InternalReportDSL.g:125:8: ( 'static' )
+            // InternalReportDSL.g:125:10: 'static'
             {
-            match("import"); 
+            match("static"); 
 
 
             }
@@ -2719,10 +2710,10 @@
         try {
             int _type = T__128;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalReportDSL.g:126:8: ( 'static' )
-            // InternalReportDSL.g:126:10: 'static'
+            // InternalReportDSL.g:126:8: ( 'extension' )
+            // InternalReportDSL.g:126:10: 'extension'
             {
-            match("static"); 
+            match("extension"); 
 
 
             }
@@ -2740,11 +2731,10 @@
         try {
             int _type = T__129;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalReportDSL.g:127:8: ( 'extension' )
-            // InternalReportDSL.g:127:10: 'extension'
+            // InternalReportDSL.g:127:8: ( '*' )
+            // InternalReportDSL.g:127:10: '*'
             {
-            match("extension"); 
-
+            match('*'); 
 
             }
 
@@ -2761,10 +2751,11 @@
         try {
             int _type = T__130;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalReportDSL.g:128:8: ( '*' )
-            // InternalReportDSL.g:128:10: '*'
+            // InternalReportDSL.g:128:8: ( 'ns' )
+            // InternalReportDSL.g:128:10: 'ns'
             {
-            match('*'); 
+            match("ns"); 
+
 
             }
 
@@ -2781,11 +2772,10 @@
         try {
             int _type = T__131;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalReportDSL.g:129:8: ( 'ns' )
-            // InternalReportDSL.g:129:10: 'ns'
+            // InternalReportDSL.g:129:8: ( ';' )
+            // InternalReportDSL.g:129:10: ';'
             {
-            match("ns"); 
-
+            match(';'); 
 
             }
 
@@ -2802,10 +2792,10 @@
         try {
             int _type = T__132;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalReportDSL.g:130:8: ( ';' )
-            // InternalReportDSL.g:130:10: ';'
+            // InternalReportDSL.g:130:8: ( '@' )
+            // InternalReportDSL.g:130:10: '@'
             {
-            match(';'); 
+            match('@'); 
 
             }
 
@@ -2822,10 +2812,10 @@
         try {
             int _type = T__133;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalReportDSL.g:131:8: ( '@' )
-            // InternalReportDSL.g:131:10: '@'
+            // InternalReportDSL.g:131:8: ( ',' )
+            // InternalReportDSL.g:131:10: ','
             {
-            match('@'); 
+            match(','); 
 
             }
 
@@ -2842,10 +2832,10 @@
         try {
             int _type = T__134;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalReportDSL.g:132:8: ( ',' )
-            // InternalReportDSL.g:132:10: ','
+            // InternalReportDSL.g:132:8: ( '=' )
+            // InternalReportDSL.g:132:10: '='
             {
-            match(','); 
+            match('='); 
 
             }
 
@@ -2862,10 +2852,10 @@
         try {
             int _type = T__135;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalReportDSL.g:133:8: ( '=' )
-            // InternalReportDSL.g:133:10: '='
+            // InternalReportDSL.g:133:8: ( '#' )
+            // InternalReportDSL.g:133:10: '#'
             {
-            match('='); 
+            match('#'); 
 
             }
 
@@ -2882,10 +2872,10 @@
         try {
             int _type = T__136;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalReportDSL.g:134:8: ( '#' )
-            // InternalReportDSL.g:134:10: '#'
+            // InternalReportDSL.g:134:8: ( '[' )
+            // InternalReportDSL.g:134:10: '['
             {
-            match('#'); 
+            match('['); 
 
             }
 
@@ -2902,10 +2892,10 @@
         try {
             int _type = T__137;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalReportDSL.g:135:8: ( '[' )
-            // InternalReportDSL.g:135:10: '['
+            // InternalReportDSL.g:135:8: ( ']' )
+            // InternalReportDSL.g:135:10: ']'
             {
-            match('['); 
+            match(']'); 
 
             }
 
@@ -2922,10 +2912,11 @@
         try {
             int _type = T__138;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalReportDSL.g:136:8: ( ']' )
-            // InternalReportDSL.g:136:10: ']'
+            // InternalReportDSL.g:136:8: ( '+=' )
+            // InternalReportDSL.g:136:10: '+='
             {
-            match(']'); 
+            match("+="); 
+
 
             }
 
@@ -2942,10 +2933,10 @@
         try {
             int _type = T__139;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalReportDSL.g:137:8: ( '+=' )
-            // InternalReportDSL.g:137:10: '+='
+            // InternalReportDSL.g:137:8: ( '-=' )
+            // InternalReportDSL.g:137:10: '-='
             {
-            match("+="); 
+            match("-="); 
 
 
             }
@@ -2963,10 +2954,10 @@
         try {
             int _type = T__140;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalReportDSL.g:138:8: ( '-=' )
-            // InternalReportDSL.g:138:10: '-='
+            // InternalReportDSL.g:138:8: ( '*=' )
+            // InternalReportDSL.g:138:10: '*='
             {
-            match("-="); 
+            match("*="); 
 
 
             }
@@ -2984,10 +2975,10 @@
         try {
             int _type = T__141;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalReportDSL.g:139:8: ( '*=' )
-            // InternalReportDSL.g:139:10: '*='
+            // InternalReportDSL.g:139:8: ( '/=' )
+            // InternalReportDSL.g:139:10: '/='
             {
-            match("*="); 
+            match("/="); 
 
 
             }
@@ -3005,10 +2996,10 @@
         try {
             int _type = T__142;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalReportDSL.g:140:8: ( '/=' )
-            // InternalReportDSL.g:140:10: '/='
+            // InternalReportDSL.g:140:8: ( '%=' )
+            // InternalReportDSL.g:140:10: '%='
             {
-            match("/="); 
+            match("%="); 
 
 
             }
@@ -3026,11 +3017,10 @@
         try {
             int _type = T__143;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalReportDSL.g:141:8: ( '%=' )
-            // InternalReportDSL.g:141:10: '%='
+            // InternalReportDSL.g:141:8: ( '<' )
+            // InternalReportDSL.g:141:10: '<'
             {
-            match("%="); 
-
+            match('<'); 
 
             }
 
@@ -3047,10 +3037,10 @@
         try {
             int _type = T__144;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalReportDSL.g:142:8: ( '<' )
-            // InternalReportDSL.g:142:10: '<'
+            // InternalReportDSL.g:142:8: ( '>' )
+            // InternalReportDSL.g:142:10: '>'
             {
-            match('<'); 
+            match('>'); 
 
             }
 
@@ -3067,10 +3057,11 @@
         try {
             int _type = T__145;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalReportDSL.g:143:8: ( '>' )
-            // InternalReportDSL.g:143:10: '>'
+            // InternalReportDSL.g:143:8: ( '>=' )
+            // InternalReportDSL.g:143:10: '>='
             {
-            match('>'); 
+            match(">="); 
+
 
             }
 
@@ -3087,10 +3078,10 @@
         try {
             int _type = T__146;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalReportDSL.g:144:8: ( '>=' )
-            // InternalReportDSL.g:144:10: '>='
+            // InternalReportDSL.g:144:8: ( '||' )
+            // InternalReportDSL.g:144:10: '||'
             {
-            match(">="); 
+            match("||"); 
 
 
             }
@@ -3108,10 +3099,10 @@
         try {
             int _type = T__147;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalReportDSL.g:145:8: ( '||' )
-            // InternalReportDSL.g:145:10: '||'
+            // InternalReportDSL.g:145:8: ( '&&' )
+            // InternalReportDSL.g:145:10: '&&'
             {
-            match("||"); 
+            match("&&"); 
 
 
             }
@@ -3129,10 +3120,10 @@
         try {
             int _type = T__148;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalReportDSL.g:146:8: ( '&&' )
-            // InternalReportDSL.g:146:10: '&&'
+            // InternalReportDSL.g:146:8: ( '==' )
+            // InternalReportDSL.g:146:10: '=='
             {
-            match("&&"); 
+            match("=="); 
 
 
             }
@@ -3150,10 +3141,10 @@
         try {
             int _type = T__149;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalReportDSL.g:147:8: ( '==' )
-            // InternalReportDSL.g:147:10: '=='
+            // InternalReportDSL.g:147:8: ( '!=' )
+            // InternalReportDSL.g:147:10: '!='
             {
-            match("=="); 
+            match("!="); 
 
 
             }
@@ -3171,10 +3162,10 @@
         try {
             int _type = T__150;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalReportDSL.g:148:8: ( '!=' )
-            // InternalReportDSL.g:148:10: '!='
+            // InternalReportDSL.g:148:8: ( '===' )
+            // InternalReportDSL.g:148:10: '==='
             {
-            match("!="); 
+            match("==="); 
 
 
             }
@@ -3192,10 +3183,10 @@
         try {
             int _type = T__151;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalReportDSL.g:149:8: ( '===' )
-            // InternalReportDSL.g:149:10: '==='
+            // InternalReportDSL.g:149:8: ( '!==' )
+            // InternalReportDSL.g:149:10: '!=='
             {
-            match("==="); 
+            match("!=="); 
 
 
             }
@@ -3213,10 +3204,10 @@
         try {
             int _type = T__152;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalReportDSL.g:150:8: ( '!==' )
-            // InternalReportDSL.g:150:10: '!=='
+            // InternalReportDSL.g:150:8: ( 'instanceof' )
+            // InternalReportDSL.g:150:10: 'instanceof'
             {
-            match("!=="); 
+            match("instanceof"); 
 
 
             }
@@ -3234,10 +3225,10 @@
         try {
             int _type = T__153;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalReportDSL.g:151:8: ( 'instanceof' )
-            // InternalReportDSL.g:151:10: 'instanceof'
+            // InternalReportDSL.g:151:8: ( '->' )
+            // InternalReportDSL.g:151:10: '->'
             {
-            match("instanceof"); 
+            match("->"); 
 
 
             }
@@ -3255,10 +3246,10 @@
         try {
             int _type = T__154;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalReportDSL.g:152:8: ( '->' )
-            // InternalReportDSL.g:152:10: '->'
+            // InternalReportDSL.g:152:8: ( '..<' )
+            // InternalReportDSL.g:152:10: '..<'
             {
-            match("->"); 
+            match("..<"); 
 
 
             }
@@ -3276,10 +3267,10 @@
         try {
             int _type = T__155;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalReportDSL.g:153:8: ( '..<' )
-            // InternalReportDSL.g:153:10: '..<'
+            // InternalReportDSL.g:153:8: ( '..' )
+            // InternalReportDSL.g:153:10: '..'
             {
-            match("..<"); 
+            match(".."); 
 
 
             }
@@ -3297,10 +3288,10 @@
         try {
             int _type = T__156;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalReportDSL.g:154:8: ( '..' )
-            // InternalReportDSL.g:154:10: '..'
+            // InternalReportDSL.g:154:8: ( '=>' )
+            // InternalReportDSL.g:154:10: '=>'
             {
-            match(".."); 
+            match("=>"); 
 
 
             }
@@ -3318,10 +3309,10 @@
         try {
             int _type = T__157;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalReportDSL.g:155:8: ( '=>' )
-            // InternalReportDSL.g:155:10: '=>'
+            // InternalReportDSL.g:155:8: ( '<>' )
+            // InternalReportDSL.g:155:10: '<>'
             {
-            match("=>"); 
+            match("<>"); 
 
 
             }
@@ -3339,10 +3330,10 @@
         try {
             int _type = T__158;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalReportDSL.g:156:8: ( '<>' )
-            // InternalReportDSL.g:156:10: '<>'
+            // InternalReportDSL.g:156:8: ( '?:' )
+            // InternalReportDSL.g:156:10: '?:'
             {
-            match("<>"); 
+            match("?:"); 
 
 
             }
@@ -3360,11 +3351,10 @@
         try {
             int _type = T__159;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalReportDSL.g:157:8: ( '?:' )
-            // InternalReportDSL.g:157:10: '?:'
+            // InternalReportDSL.g:157:8: ( '+' )
+            // InternalReportDSL.g:157:10: '+'
             {
-            match("?:"); 
-
+            match('+'); 
 
             }
 
@@ -3381,10 +3371,11 @@
         try {
             int _type = T__160;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalReportDSL.g:158:8: ( '+' )
-            // InternalReportDSL.g:158:10: '+'
+            // InternalReportDSL.g:158:8: ( '**' )
+            // InternalReportDSL.g:158:10: '**'
             {
-            match('+'); 
+            match("**"); 
+
 
             }
 
@@ -3401,11 +3392,10 @@
         try {
             int _type = T__161;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalReportDSL.g:159:8: ( '**' )
-            // InternalReportDSL.g:159:10: '**'
+            // InternalReportDSL.g:159:8: ( '/' )
+            // InternalReportDSL.g:159:10: '/'
             {
-            match("**"); 
-
+            match('/'); 
 
             }
 
@@ -3422,10 +3412,10 @@
         try {
             int _type = T__162;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalReportDSL.g:160:8: ( '/' )
-            // InternalReportDSL.g:160:10: '/'
+            // InternalReportDSL.g:160:8: ( '%' )
+            // InternalReportDSL.g:160:10: '%'
             {
-            match('/'); 
+            match('%'); 
 
             }
 
@@ -3442,10 +3432,10 @@
         try {
             int _type = T__163;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalReportDSL.g:161:8: ( '%' )
-            // InternalReportDSL.g:161:10: '%'
+            // InternalReportDSL.g:161:8: ( '!' )
+            // InternalReportDSL.g:161:10: '!'
             {
-            match('%'); 
+            match('!'); 
 
             }
 
@@ -3462,10 +3452,11 @@
         try {
             int _type = T__164;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalReportDSL.g:162:8: ( '!' )
-            // InternalReportDSL.g:162:10: '!'
+            // InternalReportDSL.g:162:8: ( '++' )
+            // InternalReportDSL.g:162:10: '++'
             {
-            match('!'); 
+            match("++"); 
+
 
             }
 
@@ -3482,10 +3473,10 @@
         try {
             int _type = T__165;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalReportDSL.g:163:8: ( '++' )
-            // InternalReportDSL.g:163:10: '++'
+            // InternalReportDSL.g:163:8: ( '--' )
+            // InternalReportDSL.g:163:10: '--'
             {
-            match("++"); 
+            match("--"); 
 
 
             }
@@ -3503,11 +3494,10 @@
         try {
             int _type = T__166;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalReportDSL.g:164:8: ( '--' )
-            // InternalReportDSL.g:164:10: '--'
+            // InternalReportDSL.g:164:8: ( '.' )
+            // InternalReportDSL.g:164:10: '.'
             {
-            match("--"); 
-
+            match('.'); 
 
             }
 
@@ -3524,10 +3514,11 @@
         try {
             int _type = T__167;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalReportDSL.g:165:8: ( '.' )
-            // InternalReportDSL.g:165:10: '.'
+            // InternalReportDSL.g:165:8: ( '::' )
+            // InternalReportDSL.g:165:10: '::'
             {
-            match('.'); 
+            match("::"); 
+
 
             }
 
@@ -3544,10 +3535,10 @@
         try {
             int _type = T__168;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalReportDSL.g:166:8: ( '::' )
-            // InternalReportDSL.g:166:10: '::'
+            // InternalReportDSL.g:166:8: ( '?.' )
+            // InternalReportDSL.g:166:10: '?.'
             {
-            match("::"); 
+            match("?."); 
 
 
             }
@@ -3565,11 +3556,10 @@
         try {
             int _type = T__169;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalReportDSL.g:167:8: ( '?.' )
-            // InternalReportDSL.g:167:10: '?.'
+            // InternalReportDSL.g:167:8: ( '|' )
+            // InternalReportDSL.g:167:10: '|'
             {
-            match("?."); 
-
+            match('|'); 
 
             }
 
@@ -3586,10 +3576,11 @@
         try {
             int _type = T__170;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalReportDSL.g:168:8: ( '|' )
-            // InternalReportDSL.g:168:10: '|'
+            // InternalReportDSL.g:168:8: ( 'if' )
+            // InternalReportDSL.g:168:10: 'if'
             {
-            match('|'); 
+            match("if"); 
+
 
             }
 
@@ -3606,10 +3597,10 @@
         try {
             int _type = T__171;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalReportDSL.g:169:8: ( 'if' )
-            // InternalReportDSL.g:169:10: 'if'
+            // InternalReportDSL.g:169:8: ( 'else' )
+            // InternalReportDSL.g:169:10: 'else'
             {
-            match("if"); 
+            match("else"); 
 
 
             }
@@ -3627,10 +3618,10 @@
         try {
             int _type = T__172;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalReportDSL.g:170:8: ( 'else' )
-            // InternalReportDSL.g:170:10: 'else'
+            // InternalReportDSL.g:170:8: ( 'switch' )
+            // InternalReportDSL.g:170:10: 'switch'
             {
-            match("else"); 
+            match("switch"); 
 
 
             }
@@ -3648,11 +3639,10 @@
         try {
             int _type = T__173;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalReportDSL.g:171:8: ( 'switch' )
-            // InternalReportDSL.g:171:10: 'switch'
+            // InternalReportDSL.g:171:8: ( ':' )
+            // InternalReportDSL.g:171:10: ':'
             {
-            match("switch"); 
-
+            match(':'); 
 
             }
 
@@ -3669,10 +3659,11 @@
         try {
             int _type = T__174;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalReportDSL.g:172:8: ( ':' )
-            // InternalReportDSL.g:172:10: ':'
+            // InternalReportDSL.g:172:8: ( 'default' )
+            // InternalReportDSL.g:172:10: 'default'
             {
-            match(':'); 
+            match("default"); 
+
 
             }
 
@@ -3689,10 +3680,10 @@
         try {
             int _type = T__175;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalReportDSL.g:173:8: ( 'default' )
-            // InternalReportDSL.g:173:10: 'default'
+            // InternalReportDSL.g:173:8: ( 'case' )
+            // InternalReportDSL.g:173:10: 'case'
             {
-            match("default"); 
+            match("case"); 
 
 
             }
@@ -3710,10 +3701,10 @@
         try {
             int _type = T__176;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalReportDSL.g:174:8: ( 'case' )
-            // InternalReportDSL.g:174:10: 'case'
+            // InternalReportDSL.g:174:8: ( 'for' )
+            // InternalReportDSL.g:174:10: 'for'
             {
-            match("case"); 
+            match("for"); 
 
 
             }
@@ -3731,10 +3722,10 @@
         try {
             int _type = T__177;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalReportDSL.g:175:8: ( 'for' )
-            // InternalReportDSL.g:175:10: 'for'
+            // InternalReportDSL.g:175:8: ( 'while' )
+            // InternalReportDSL.g:175:10: 'while'
             {
-            match("for"); 
+            match("while"); 
 
 
             }
@@ -3752,10 +3743,10 @@
         try {
             int _type = T__178;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalReportDSL.g:176:8: ( 'while' )
-            // InternalReportDSL.g:176:10: 'while'
+            // InternalReportDSL.g:176:8: ( 'do' )
+            // InternalReportDSL.g:176:10: 'do'
             {
-            match("while"); 
+            match("do"); 
 
 
             }
@@ -3773,10 +3764,10 @@
         try {
             int _type = T__179;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalReportDSL.g:177:8: ( 'do' )
-            // InternalReportDSL.g:177:10: 'do'
+            // InternalReportDSL.g:177:8: ( 'var' )
+            // InternalReportDSL.g:177:10: 'var'
             {
-            match("do"); 
+            match("var"); 
 
 
             }
@@ -3794,10 +3785,10 @@
         try {
             int _type = T__180;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalReportDSL.g:178:8: ( 'var' )
-            // InternalReportDSL.g:178:10: 'var'
+            // InternalReportDSL.g:178:8: ( 'val' )
+            // InternalReportDSL.g:178:10: 'val'
             {
-            match("var"); 
+            match("val"); 
 
 
             }
@@ -3815,10 +3806,10 @@
         try {
             int _type = T__181;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalReportDSL.g:179:8: ( 'val' )
-            // InternalReportDSL.g:179:10: 'val'
+            // InternalReportDSL.g:179:8: ( 'super' )
+            // InternalReportDSL.g:179:10: 'super'
             {
-            match("val"); 
+            match("super"); 
 
 
             }
@@ -3836,10 +3827,10 @@
         try {
             int _type = T__182;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalReportDSL.g:180:8: ( 'super' )
-            // InternalReportDSL.g:180:10: 'super'
+            // InternalReportDSL.g:180:8: ( 'new' )
+            // InternalReportDSL.g:180:10: 'new'
             {
-            match("super"); 
+            match("new"); 
 
 
             }
@@ -3857,10 +3848,10 @@
         try {
             int _type = T__183;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalReportDSL.g:181:8: ( 'new' )
-            // InternalReportDSL.g:181:10: 'new'
+            // InternalReportDSL.g:181:8: ( 'false' )
+            // InternalReportDSL.g:181:10: 'false'
             {
-            match("new"); 
+            match("false"); 
 
 
             }
@@ -3878,10 +3869,10 @@
         try {
             int _type = T__184;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalReportDSL.g:182:8: ( 'false' )
-            // InternalReportDSL.g:182:10: 'false'
+            // InternalReportDSL.g:182:8: ( 'true' )
+            // InternalReportDSL.g:182:10: 'true'
             {
-            match("false"); 
+            match("true"); 
 
 
             }
@@ -3899,10 +3890,10 @@
         try {
             int _type = T__185;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalReportDSL.g:183:8: ( 'true' )
-            // InternalReportDSL.g:183:10: 'true'
+            // InternalReportDSL.g:183:8: ( 'null' )
+            // InternalReportDSL.g:183:10: 'null'
             {
-            match("true"); 
+            match("null"); 
 
 
             }
@@ -3920,10 +3911,10 @@
         try {
             int _type = T__186;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalReportDSL.g:184:8: ( 'null' )
-            // InternalReportDSL.g:184:10: 'null'
+            // InternalReportDSL.g:184:8: ( 'typeof' )
+            // InternalReportDSL.g:184:10: 'typeof'
             {
-            match("null"); 
+            match("typeof"); 
 
 
             }
@@ -3941,10 +3932,10 @@
         try {
             int _type = T__187;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalReportDSL.g:185:8: ( 'typeof' )
-            // InternalReportDSL.g:185:10: 'typeof'
+            // InternalReportDSL.g:185:8: ( 'throw' )
+            // InternalReportDSL.g:185:10: 'throw'
             {
-            match("typeof"); 
+            match("throw"); 
 
 
             }
@@ -3962,10 +3953,10 @@
         try {
             int _type = T__188;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalReportDSL.g:186:8: ( 'throw' )
-            // InternalReportDSL.g:186:10: 'throw'
+            // InternalReportDSL.g:186:8: ( 'return' )
+            // InternalReportDSL.g:186:10: 'return'
             {
-            match("throw"); 
+            match("return"); 
 
 
             }
@@ -3983,10 +3974,10 @@
         try {
             int _type = T__189;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalReportDSL.g:187:8: ( 'return' )
-            // InternalReportDSL.g:187:10: 'return'
+            // InternalReportDSL.g:187:8: ( 'try' )
+            // InternalReportDSL.g:187:10: 'try'
             {
-            match("return"); 
+            match("try"); 
 
 
             }
@@ -4004,10 +3995,10 @@
         try {
             int _type = T__190;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalReportDSL.g:188:8: ( 'try' )
-            // InternalReportDSL.g:188:10: 'try'
+            // InternalReportDSL.g:188:8: ( 'finally' )
+            // InternalReportDSL.g:188:10: 'finally'
             {
-            match("try"); 
+            match("finally"); 
 
 
             }
@@ -4025,10 +4016,10 @@
         try {
             int _type = T__191;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalReportDSL.g:189:8: ( 'finally' )
-            // InternalReportDSL.g:189:10: 'finally'
+            // InternalReportDSL.g:189:8: ( 'synchronized' )
+            // InternalReportDSL.g:189:10: 'synchronized'
             {
-            match("finally"); 
+            match("synchronized"); 
 
 
             }
@@ -4046,10 +4037,10 @@
         try {
             int _type = T__192;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalReportDSL.g:190:8: ( 'synchronized' )
-            // InternalReportDSL.g:190:10: 'synchronized'
+            // InternalReportDSL.g:190:8: ( 'catch' )
+            // InternalReportDSL.g:190:10: 'catch'
             {
-            match("synchronized"); 
+            match("catch"); 
 
 
             }
@@ -4067,11 +4058,10 @@
         try {
             int _type = T__193;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalReportDSL.g:191:8: ( 'catch' )
-            // InternalReportDSL.g:191:10: 'catch'
+            // InternalReportDSL.g:191:8: ( '?' )
+            // InternalReportDSL.g:191:10: '?'
             {
-            match("catch"); 
-
+            match('?'); 
 
             }
 
@@ -4088,10 +4078,10 @@
         try {
             int _type = T__194;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalReportDSL.g:192:8: ( '?' )
-            // InternalReportDSL.g:192:10: '?'
+            // InternalReportDSL.g:192:8: ( '&' )
+            // InternalReportDSL.g:192:10: '&'
             {
-            match('?'); 
+            match('&'); 
 
             }
 
@@ -4108,10 +4098,11 @@
         try {
             int _type = T__195;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalReportDSL.g:193:8: ( '&' )
-            // InternalReportDSL.g:193:10: '&'
+            // InternalReportDSL.g:193:8: ( 'mm' )
+            // InternalReportDSL.g:193:10: 'mm'
             {
-            match('&'); 
+            match("mm"); 
+
 
             }
 
@@ -4128,10 +4119,10 @@
         try {
             int _type = T__196;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalReportDSL.g:194:8: ( 'mm' )
-            // InternalReportDSL.g:194:10: 'mm'
+            // InternalReportDSL.g:194:8: ( 'cm' )
+            // InternalReportDSL.g:194:10: 'cm'
             {
-            match("mm"); 
+            match("cm"); 
 
 
             }
@@ -4149,10 +4140,10 @@
         try {
             int _type = T__197;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalReportDSL.g:195:8: ( 'cm' )
-            // InternalReportDSL.g:195:10: 'cm'
+            // InternalReportDSL.g:195:8: ( 'pt' )
+            // InternalReportDSL.g:195:10: 'pt'
             {
-            match("cm"); 
+            match("pt"); 
 
 
             }
@@ -4170,10 +4161,10 @@
         try {
             int _type = T__198;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalReportDSL.g:196:8: ( 'pt' )
-            // InternalReportDSL.g:196:10: 'pt'
+            // InternalReportDSL.g:196:8: ( 'inch' )
+            // InternalReportDSL.g:196:10: 'inch'
             {
-            match("pt"); 
+            match("inch"); 
 
 
             }
@@ -4191,10 +4182,10 @@
         try {
             int _type = T__199;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalReportDSL.g:197:8: ( 'inch' )
-            // InternalReportDSL.g:197:10: 'inch'
+            // InternalReportDSL.g:197:8: ( 'pc' )
+            // InternalReportDSL.g:197:10: 'pc'
             {
-            match("inch"); 
+            match("pc"); 
 
 
             }
@@ -4212,10 +4203,10 @@
         try {
             int _type = T__200;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalReportDSL.g:198:8: ( 'pc' )
-            // InternalReportDSL.g:198:10: 'pc'
+            // InternalReportDSL.g:198:8: ( 'em' )
+            // InternalReportDSL.g:198:10: 'em'
             {
-            match("pc"); 
+            match("em"); 
 
 
             }
@@ -4233,10 +4224,10 @@
         try {
             int _type = T__201;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalReportDSL.g:199:8: ( 'em' )
-            // InternalReportDSL.g:199:10: 'em'
+            // InternalReportDSL.g:199:8: ( 'ex' )
+            // InternalReportDSL.g:199:10: 'ex'
             {
-            match("em"); 
+            match("ex"); 
 
 
             }
@@ -4254,10 +4245,10 @@
         try {
             int _type = T__202;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalReportDSL.g:200:8: ( 'ex' )
-            // InternalReportDSL.g:200:10: 'ex'
+            // InternalReportDSL.g:200:8: ( 'px' )
+            // InternalReportDSL.g:200:10: 'px'
             {
-            match("ex"); 
+            match("px"); 
 
 
             }
@@ -4275,10 +4266,10 @@
         try {
             int _type = T__203;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalReportDSL.g:201:8: ( 'px' )
-            // InternalReportDSL.g:201:10: 'px'
+            // InternalReportDSL.g:201:8: ( 'a4' )
+            // InternalReportDSL.g:201:10: 'a4'
             {
-            match("px"); 
+            match("a4"); 
 
 
             }
@@ -4296,10 +4287,10 @@
         try {
             int _type = T__204;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalReportDSL.g:202:8: ( 'a4' )
-            // InternalReportDSL.g:202:10: 'a4'
+            // InternalReportDSL.g:202:8: ( 'a3' )
+            // InternalReportDSL.g:202:10: 'a3'
             {
-            match("a4"); 
+            match("a3"); 
 
 
             }
@@ -4317,10 +4308,10 @@
         try {
             int _type = T__205;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalReportDSL.g:203:8: ( 'a3' )
-            // InternalReportDSL.g:203:10: 'a3'
+            // InternalReportDSL.g:203:8: ( 'a5' )
+            // InternalReportDSL.g:203:10: 'a5'
             {
-            match("a3"); 
+            match("a5"); 
 
 
             }
@@ -4338,10 +4329,10 @@
         try {
             int _type = T__206;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalReportDSL.g:204:8: ( 'a5' )
-            // InternalReportDSL.g:204:10: 'a5'
+            // InternalReportDSL.g:204:8: ( 'us-letter' )
+            // InternalReportDSL.g:204:10: 'us-letter'
             {
-            match("a5"); 
+            match("us-letter"); 
 
 
             }
@@ -4359,10 +4350,10 @@
         try {
             int _type = T__207;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalReportDSL.g:205:8: ( 'us-letter' )
-            // InternalReportDSL.g:205:10: 'us-letter'
+            // InternalReportDSL.g:205:8: ( 'us-legal' )
+            // InternalReportDSL.g:205:10: 'us-legal'
             {
-            match("us-letter"); 
+            match("us-legal"); 
 
 
             }
@@ -4380,10 +4371,10 @@
         try {
             int _type = T__208;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalReportDSL.g:206:8: ( 'us-legal' )
-            // InternalReportDSL.g:206:10: 'us-legal'
+            // InternalReportDSL.g:206:8: ( 'us-ledger' )
+            // InternalReportDSL.g:206:10: 'us-ledger'
             {
-            match("us-legal"); 
+            match("us-ledger"); 
 
 
             }
@@ -4401,10 +4392,10 @@
         try {
             int _type = T__209;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalReportDSL.g:207:8: ( 'us-ledger' )
-            // InternalReportDSL.g:207:10: 'us-ledger'
+            // InternalReportDSL.g:207:8: ( 'us-super-b' )
+            // InternalReportDSL.g:207:10: 'us-super-b'
             {
-            match("us-ledger"); 
+            match("us-super-b"); 
 
 
             }
@@ -4422,10 +4413,10 @@
         try {
             int _type = T__210;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalReportDSL.g:208:8: ( 'us-super-b' )
-            // InternalReportDSL.g:208:10: 'us-super-b'
+            // InternalReportDSL.g:208:8: ( 'portrait' )
+            // InternalReportDSL.g:208:10: 'portrait'
             {
-            match("us-super-b"); 
+            match("portrait"); 
 
 
             }
@@ -4443,10 +4434,10 @@
         try {
             int _type = T__211;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalReportDSL.g:209:8: ( 'portrait' )
-            // InternalReportDSL.g:209:10: 'portrait'
+            // InternalReportDSL.g:209:8: ( 'landscape' )
+            // InternalReportDSL.g:209:10: 'landscape'
             {
-            match("portrait"); 
+            match("landscape"); 
 
 
             }
@@ -4464,10 +4455,10 @@
         try {
             int _type = T__212;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalReportDSL.g:210:8: ( 'landscape' )
-            // InternalReportDSL.g:210:10: 'landscape'
+            // InternalReportDSL.g:210:8: ( 'normal' )
+            // InternalReportDSL.g:210:10: 'normal'
             {
-            match("landscape"); 
+            match("normal"); 
 
 
             }
@@ -4485,10 +4476,10 @@
         try {
             int _type = T__213;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalReportDSL.g:211:8: ( 'normal' )
-            // InternalReportDSL.g:211:10: 'normal'
+            // InternalReportDSL.g:211:8: ( 'italic' )
+            // InternalReportDSL.g:211:10: 'italic'
             {
-            match("normal"); 
+            match("italic"); 
 
 
             }
@@ -4506,10 +4497,10 @@
         try {
             int _type = T__214;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalReportDSL.g:212:8: ( 'italic' )
-            // InternalReportDSL.g:212:10: 'italic'
+            // InternalReportDSL.g:212:8: ( 'oblique' )
+            // InternalReportDSL.g:212:10: 'oblique'
             {
-            match("italic"); 
+            match("oblique"); 
 
 
             }
@@ -4527,10 +4518,10 @@
         try {
             int _type = T__215;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalReportDSL.g:213:8: ( 'oblique' )
-            // InternalReportDSL.g:213:10: 'oblique'
+            // InternalReportDSL.g:213:8: ( 'monospace' )
+            // InternalReportDSL.g:213:10: 'monospace'
             {
-            match("oblique"); 
+            match("monospace"); 
 
 
             }
@@ -4548,10 +4539,10 @@
         try {
             int _type = T__216;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalReportDSL.g:214:8: ( 'monospace' )
-            // InternalReportDSL.g:214:10: 'monospace'
+            // InternalReportDSL.g:214:8: ( 'sans-serif' )
+            // InternalReportDSL.g:214:10: 'sans-serif'
             {
-            match("monospace"); 
+            match("sans-serif"); 
 
 
             }
@@ -4569,10 +4560,10 @@
         try {
             int _type = T__217;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalReportDSL.g:215:8: ( 'sans-serif' )
-            // InternalReportDSL.g:215:10: 'sans-serif'
+            // InternalReportDSL.g:215:8: ( 'serif' )
+            // InternalReportDSL.g:215:10: 'serif'
             {
-            match("sans-serif"); 
+            match("serif"); 
 
 
             }
@@ -4590,10 +4581,10 @@
         try {
             int _type = T__218;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalReportDSL.g:216:8: ( 'serif' )
-            // InternalReportDSL.g:216:10: 'serif'
+            // InternalReportDSL.g:216:8: ( 'left' )
+            // InternalReportDSL.g:216:10: 'left'
             {
-            match("serif"); 
+            match("left"); 
 
 
             }
@@ -4611,10 +4602,10 @@
         try {
             int _type = T__219;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalReportDSL.g:217:8: ( 'left' )
-            // InternalReportDSL.g:217:10: 'left'
+            // InternalReportDSL.g:217:8: ( 'center' )
+            // InternalReportDSL.g:217:10: 'center'
             {
-            match("left"); 
+            match("center"); 
 
 
             }
@@ -4632,10 +4623,10 @@
         try {
             int _type = T__220;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalReportDSL.g:218:8: ( 'center' )
-            // InternalReportDSL.g:218:10: 'center'
+            // InternalReportDSL.g:218:8: ( 'right' )
+            // InternalReportDSL.g:218:10: 'right'
             {
-            match("center"); 
+            match("right"); 
 
 
             }
@@ -4653,10 +4644,10 @@
         try {
             int _type = T__221;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalReportDSL.g:219:8: ( 'right' )
-            // InternalReportDSL.g:219:10: 'right'
+            // InternalReportDSL.g:219:8: ( 'bottom' )
+            // InternalReportDSL.g:219:10: 'bottom'
             {
-            match("right"); 
+            match("bottom"); 
 
 
             }
@@ -4674,10 +4665,10 @@
         try {
             int _type = T__222;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalReportDSL.g:220:8: ( 'unformatted' )
-            // InternalReportDSL.g:220:10: 'unformatted'
+            // InternalReportDSL.g:220:8: ( 'middle' )
+            // InternalReportDSL.g:220:10: 'middle'
             {
-            match("unformatted"); 
+            match("middle"); 
 
 
             }
@@ -4695,10 +4686,10 @@
         try {
             int _type = T__223;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalReportDSL.g:221:8: ( 'general-number' )
-            // InternalReportDSL.g:221:10: 'general-number'
+            // InternalReportDSL.g:221:8: ( 'top' )
+            // InternalReportDSL.g:221:10: 'top'
             {
-            match("general-number"); 
+            match("top"); 
 
 
             }
@@ -4716,10 +4707,10 @@
         try {
             int _type = T__224;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalReportDSL.g:222:8: ( 'fixed' )
-            // InternalReportDSL.g:222:10: 'fixed'
+            // InternalReportDSL.g:222:8: ( 'unformatted' )
+            // InternalReportDSL.g:222:10: 'unformatted'
             {
-            match("fixed"); 
+            match("unformatted"); 
 
 
             }
@@ -4737,10 +4728,10 @@
         try {
             int _type = T__225;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalReportDSL.g:223:8: ( 'percent' )
-            // InternalReportDSL.g:223:10: 'percent'
+            // InternalReportDSL.g:223:8: ( 'general-number' )
+            // InternalReportDSL.g:223:10: 'general-number'
             {
-            match("percent"); 
+            match("general-number"); 
 
 
             }
@@ -4758,10 +4749,10 @@
         try {
             int _type = T__226;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalReportDSL.g:224:8: ( 'scientific' )
-            // InternalReportDSL.g:224:10: 'scientific'
+            // InternalReportDSL.g:224:8: ( 'fixed' )
+            // InternalReportDSL.g:224:10: 'fixed'
             {
-            match("scientific"); 
+            match("fixed"); 
 
 
             }
@@ -4779,10 +4770,10 @@
         try {
             int _type = T__227;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalReportDSL.g:225:8: ( 'custom' )
-            // InternalReportDSL.g:225:10: 'custom'
+            // InternalReportDSL.g:225:8: ( 'percent' )
+            // InternalReportDSL.g:225:10: 'percent'
             {
-            match("custom"); 
+            match("percent"); 
 
 
             }
@@ -4800,10 +4791,10 @@
         try {
             int _type = T__228;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalReportDSL.g:226:8: ( 'html' )
-            // InternalReportDSL.g:226:10: 'html'
+            // InternalReportDSL.g:226:8: ( 'scientific' )
+            // InternalReportDSL.g:226:10: 'scientific'
             {
-            match("html"); 
+            match("scientific"); 
 
 
             }
@@ -4821,10 +4812,10 @@
         try {
             int _type = T__229;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalReportDSL.g:227:8: ( 'pdf' )
-            // InternalReportDSL.g:227:10: 'pdf'
+            // InternalReportDSL.g:227:8: ( 'custom' )
+            // InternalReportDSL.g:227:10: 'custom'
             {
-            match("pdf"); 
+            match("custom"); 
 
 
             }
@@ -4842,10 +4833,10 @@
         try {
             int _type = T__230;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalReportDSL.g:228:8: ( 'count' )
-            // InternalReportDSL.g:228:10: 'count'
+            // InternalReportDSL.g:228:8: ( 'html' )
+            // InternalReportDSL.g:228:10: 'html'
             {
-            match("count"); 
+            match("html"); 
 
 
             }
@@ -4863,10 +4854,10 @@
         try {
             int _type = T__231;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalReportDSL.g:229:8: ( 'running-count' )
-            // InternalReportDSL.g:229:10: 'running-count'
+            // InternalReportDSL.g:229:8: ( 'pdf' )
+            // InternalReportDSL.g:229:10: 'pdf'
             {
-            match("running-count"); 
+            match("pdf"); 
 
 
             }
@@ -4884,10 +4875,10 @@
         try {
             int _type = T__232;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalReportDSL.g:230:8: ( 'sum' )
-            // InternalReportDSL.g:230:10: 'sum'
+            // InternalReportDSL.g:230:8: ( 'count' )
+            // InternalReportDSL.g:230:10: 'count'
             {
-            match("sum"); 
+            match("count"); 
 
 
             }
@@ -4905,10 +4896,10 @@
         try {
             int _type = T__233;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalReportDSL.g:231:8: ( 'average' )
-            // InternalReportDSL.g:231:10: 'average'
+            // InternalReportDSL.g:231:8: ( 'running-count' )
+            // InternalReportDSL.g:231:10: 'running-count'
             {
-            match("average"); 
+            match("running-count"); 
 
 
             }
@@ -4926,10 +4917,10 @@
         try {
             int _type = T__234;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalReportDSL.g:232:8: ( 'minimum' )
-            // InternalReportDSL.g:232:10: 'minimum'
+            // InternalReportDSL.g:232:8: ( 'sum' )
+            // InternalReportDSL.g:232:10: 'sum'
             {
-            match("minimum"); 
+            match("sum"); 
 
 
             }
@@ -4947,10 +4938,10 @@
         try {
             int _type = T__235;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalReportDSL.g:233:8: ( 'maximum' )
-            // InternalReportDSL.g:233:10: 'maximum'
+            // InternalReportDSL.g:233:8: ( 'average' )
+            // InternalReportDSL.g:233:10: 'average'
             {
-            match("maximum"); 
+            match("average"); 
 
 
             }
@@ -4968,10 +4959,10 @@
         try {
             int _type = T__236;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalReportDSL.g:234:8: ( 'running-sum' )
-            // InternalReportDSL.g:234:10: 'running-sum'
+            // InternalReportDSL.g:234:8: ( 'minimum' )
+            // InternalReportDSL.g:234:10: 'minimum'
             {
-            match("running-sum"); 
+            match("minimum"); 
 
 
             }
@@ -4989,10 +4980,10 @@
         try {
             int _type = T__237;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalReportDSL.g:235:8: ( 'divide' )
-            // InternalReportDSL.g:235:10: 'divide'
+            // InternalReportDSL.g:235:8: ( 'maximum' )
+            // InternalReportDSL.g:235:10: 'maximum'
             {
-            match("divide"); 
+            match("maximum"); 
 
 
             }
@@ -5010,10 +5001,10 @@
         try {
             int _type = T__238;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalReportDSL.g:236:8: ( 'concat' )
-            // InternalReportDSL.g:236:10: 'concat'
+            // InternalReportDSL.g:236:8: ( 'running-sum' )
+            // InternalReportDSL.g:236:10: 'running-sum'
             {
-            match("concat"); 
+            match("running-sum"); 
 
 
             }
@@ -5031,10 +5022,10 @@
         try {
             int _type = T__239;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalReportDSL.g:237:8: ( 'auto' )
-            // InternalReportDSL.g:237:10: 'auto'
+            // InternalReportDSL.g:237:8: ( 'divide' )
+            // InternalReportDSL.g:237:10: 'divide'
             {
-            match("auto"); 
+            match("divide"); 
 
 
             }
@@ -5052,10 +5043,10 @@
         try {
             int _type = T__240;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalReportDSL.g:238:8: ( 'always' )
-            // InternalReportDSL.g:238:10: 'always'
+            // InternalReportDSL.g:238:8: ( 'concat' )
+            // InternalReportDSL.g:238:10: 'concat'
             {
-            match("always"); 
+            match("concat"); 
 
 
             }
@@ -5073,10 +5064,10 @@
         try {
             int _type = T__241;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalReportDSL.g:239:8: ( 'avoid' )
-            // InternalReportDSL.g:239:10: 'avoid'
+            // InternalReportDSL.g:239:8: ( 'auto' )
+            // InternalReportDSL.g:239:10: 'auto'
             {
-            match("avoid"); 
+            match("auto"); 
 
 
             }
@@ -5094,10 +5085,10 @@
         try {
             int _type = T__242;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalReportDSL.g:240:8: ( 'rising' )
-            // InternalReportDSL.g:240:10: 'rising'
+            // InternalReportDSL.g:240:8: ( 'always' )
+            // InternalReportDSL.g:240:10: 'always'
             {
-            match("rising"); 
+            match("always"); 
 
 
             }
@@ -5115,10 +5106,10 @@
         try {
             int _type = T__243;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalReportDSL.g:241:8: ( 'bad-rising' )
-            // InternalReportDSL.g:241:10: 'bad-rising'
+            // InternalReportDSL.g:241:8: ( 'avoid' )
+            // InternalReportDSL.g:241:10: 'avoid'
             {
-            match("bad-rising"); 
+            match("avoid"); 
 
 
             }
@@ -5136,10 +5127,10 @@
         try {
             int _type = T__244;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalReportDSL.g:242:8: ( 'sloping' )
-            // InternalReportDSL.g:242:10: 'sloping'
+            // InternalReportDSL.g:242:8: ( 'rising' )
+            // InternalReportDSL.g:242:10: 'rising'
             {
-            match("sloping"); 
+            match("rising"); 
 
 
             }
@@ -5157,10 +5148,10 @@
         try {
             int _type = T__245;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalReportDSL.g:243:8: ( 'good-sloping' )
-            // InternalReportDSL.g:243:10: 'good-sloping'
+            // InternalReportDSL.g:243:8: ( 'bad-rising' )
+            // InternalReportDSL.g:243:10: 'bad-rising'
             {
-            match("good-sloping"); 
+            match("bad-rising"); 
 
 
             }
@@ -5178,10 +5169,10 @@
         try {
             int _type = T__246;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalReportDSL.g:244:8: ( 'stagnating' )
-            // InternalReportDSL.g:244:10: 'stagnating'
+            // InternalReportDSL.g:244:8: ( 'sloping' )
+            // InternalReportDSL.g:244:10: 'sloping'
             {
-            match("stagnating"); 
+            match("sloping"); 
 
 
             }
@@ -5199,10 +5190,10 @@
         try {
             int _type = T__247;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalReportDSL.g:245:8: ( 'none' )
-            // InternalReportDSL.g:245:10: 'none'
+            // InternalReportDSL.g:245:8: ( 'good-sloping' )
+            // InternalReportDSL.g:245:10: 'good-sloping'
             {
-            match("none"); 
+            match("good-sloping"); 
 
 
             }
@@ -5220,10 +5211,10 @@
         try {
             int _type = T__248;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalReportDSL.g:246:8: ( 'solid' )
-            // InternalReportDSL.g:246:10: 'solid'
+            // InternalReportDSL.g:246:8: ( 'stagnating' )
+            // InternalReportDSL.g:246:10: 'stagnating'
             {
-            match("solid"); 
+            match("stagnating"); 
 
 
             }
@@ -5241,10 +5232,10 @@
         try {
             int _type = T__249;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalReportDSL.g:247:8: ( 'dotted' )
-            // InternalReportDSL.g:247:10: 'dotted'
+            // InternalReportDSL.g:247:8: ( 'none' )
+            // InternalReportDSL.g:247:10: 'none'
             {
-            match("dotted"); 
+            match("none"); 
 
 
             }
@@ -5262,10 +5253,10 @@
         try {
             int _type = T__250;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalReportDSL.g:248:8: ( 'dashed' )
-            // InternalReportDSL.g:248:10: 'dashed'
+            // InternalReportDSL.g:248:8: ( 'solid' )
+            // InternalReportDSL.g:248:10: 'solid'
             {
-            match("dashed"); 
+            match("solid"); 
 
 
             }
@@ -5283,10 +5274,10 @@
         try {
             int _type = T__251;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalReportDSL.g:249:8: ( 'double' )
-            // InternalReportDSL.g:249:10: 'double'
+            // InternalReportDSL.g:249:8: ( 'dotted' )
+            // InternalReportDSL.g:249:10: 'dotted'
             {
-            match("double"); 
+            match("dotted"); 
 
 
             }
@@ -5304,10 +5295,10 @@
         try {
             int _type = T__252;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalReportDSL.g:250:8: ( 'groove' )
-            // InternalReportDSL.g:250:10: 'groove'
+            // InternalReportDSL.g:250:8: ( 'dashed' )
+            // InternalReportDSL.g:250:10: 'dashed'
             {
-            match("groove"); 
+            match("dashed"); 
 
 
             }
@@ -5325,10 +5316,10 @@
         try {
             int _type = T__253;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalReportDSL.g:251:8: ( 'ridge' )
-            // InternalReportDSL.g:251:10: 'ridge'
+            // InternalReportDSL.g:251:8: ( 'double' )
+            // InternalReportDSL.g:251:10: 'double'
             {
-            match("ridge"); 
+            match("double"); 
 
 
             }
@@ -5346,10 +5337,10 @@
         try {
             int _type = T__254;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalReportDSL.g:252:8: ( 'inset' )
-            // InternalReportDSL.g:252:10: 'inset'
+            // InternalReportDSL.g:252:8: ( 'groove' )
+            // InternalReportDSL.g:252:10: 'groove'
             {
-            match("inset"); 
+            match("groove"); 
 
 
             }
@@ -5367,10 +5358,10 @@
         try {
             int _type = T__255;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalReportDSL.g:253:8: ( 'outset' )
-            // InternalReportDSL.g:253:10: 'outset'
+            // InternalReportDSL.g:253:8: ( 'ridge' )
+            // InternalReportDSL.g:253:10: 'ridge'
             {
-            match("outset"); 
+            match("ridge"); 
 
 
             }
@@ -5388,10 +5379,10 @@
         try {
             int _type = T__256;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalReportDSL.g:254:8: ( 'page-number' )
-            // InternalReportDSL.g:254:10: 'page-number'
+            // InternalReportDSL.g:254:8: ( 'inset' )
+            // InternalReportDSL.g:254:10: 'inset'
             {
-            match("page-number"); 
+            match("inset"); 
 
 
             }
@@ -5409,10 +5400,10 @@
         try {
             int _type = T__257;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalReportDSL.g:255:8: ( 'total-page' )
-            // InternalReportDSL.g:255:10: 'total-page'
+            // InternalReportDSL.g:255:8: ( 'outset' )
+            // InternalReportDSL.g:255:10: 'outset'
             {
-            match("total-page"); 
+            match("outset"); 
 
 
             }
@@ -5430,10 +5421,10 @@
         try {
             int _type = T__258;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalReportDSL.g:256:8: ( 'page-number-unfiltered' )
-            // InternalReportDSL.g:256:10: 'page-number-unfiltered'
+            // InternalReportDSL.g:256:8: ( 'page-number' )
+            // InternalReportDSL.g:256:10: 'page-number'
             {
-            match("page-number-unfiltered"); 
+            match("page-number"); 
 
 
             }
@@ -5451,10 +5442,10 @@
         try {
             int _type = T__259;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalReportDSL.g:257:8: ( 'total-page-unfiltered' )
-            // InternalReportDSL.g:257:10: 'total-page-unfiltered'
+            // InternalReportDSL.g:257:8: ( 'total-page' )
+            // InternalReportDSL.g:257:10: 'total-page'
             {
-            match("total-page-unfiltered"); 
+            match("total-page"); 
 
 
             }
@@ -5472,10 +5463,10 @@
         try {
             int _type = T__260;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalReportDSL.g:258:8: ( 'page-variable' )
-            // InternalReportDSL.g:258:10: 'page-variable'
+            // InternalReportDSL.g:258:8: ( 'page-number-unfiltered' )
+            // InternalReportDSL.g:258:10: 'page-number-unfiltered'
             {
-            match("page-variable"); 
+            match("page-number-unfiltered"); 
 
 
             }
@@ -5493,10 +5484,10 @@
         try {
             int _type = T__261;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalReportDSL.g:259:8: ( 'size-to-image' )
-            // InternalReportDSL.g:259:10: 'size-to-image'
+            // InternalReportDSL.g:259:8: ( 'total-page-unfiltered' )
+            // InternalReportDSL.g:259:10: 'total-page-unfiltered'
             {
-            match("size-to-image"); 
+            match("total-page-unfiltered"); 
 
 
             }
@@ -5514,10 +5505,10 @@
         try {
             int _type = T__262;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalReportDSL.g:260:8: ( 'scale-to-item' )
-            // InternalReportDSL.g:260:10: 'scale-to-item'
+            // InternalReportDSL.g:260:8: ( 'page-variable' )
+            // InternalReportDSL.g:260:10: 'page-variable'
             {
-            match("scale-to-item"); 
+            match("page-variable"); 
 
 
             }
@@ -5535,10 +5526,10 @@
         try {
             int _type = T__263;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalReportDSL.g:261:8: ( 'clip' )
-            // InternalReportDSL.g:261:10: 'clip'
+            // InternalReportDSL.g:261:8: ( 'actual-date' )
+            // InternalReportDSL.g:261:10: 'actual-date'
             {
-            match("clip"); 
+            match("actual-date"); 
 
 
             }
@@ -5556,10 +5547,10 @@
         try {
             int _type = T__264;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalReportDSL.g:262:8: ( 'url' )
-            // InternalReportDSL.g:262:10: 'url'
+            // InternalReportDSL.g:262:8: ( 'actual-time' )
+            // InternalReportDSL.g:262:10: 'actual-time'
             {
-            match("url"); 
+            match("actual-time"); 
 
 
             }
@@ -5577,10 +5568,10 @@
         try {
             int _type = T__265;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalReportDSL.g:263:8: ( 'embed' )
-            // InternalReportDSL.g:263:10: 'embed'
+            // InternalReportDSL.g:263:8: ( 'report-name' )
+            // InternalReportDSL.g:263:10: 'report-name'
             {
-            match("embed"); 
+            match("report-name"); 
 
 
             }
@@ -5598,10 +5589,10 @@
         try {
             int _type = T__266;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalReportDSL.g:264:8: ( 'plain' )
-            // InternalReportDSL.g:264:10: 'plain'
+            // InternalReportDSL.g:264:8: ( 'size-to-image' )
+            // InternalReportDSL.g:264:10: 'size-to-image'
             {
-            match("plain"); 
+            match("size-to-image"); 
 
 
             }
@@ -5614,15 +5605,120 @@
     }
     // $ANTLR end "T__266"
 
+    // $ANTLR start "T__267"
+    public final void mT__267() throws RecognitionException {
+        try {
+            int _type = T__267;
+            int _channel = DEFAULT_TOKEN_CHANNEL;
+            // InternalReportDSL.g:265:8: ( 'scale-to-item' )
+            // InternalReportDSL.g:265:10: 'scale-to-item'
+            {
+            match("scale-to-item"); 
+
+
+            }
+
+            state.type = _type;
+            state.channel = _channel;
+        }
+        finally {
+        }
+    }
+    // $ANTLR end "T__267"
+
+    // $ANTLR start "T__268"
+    public final void mT__268() throws RecognitionException {
+        try {
+            int _type = T__268;
+            int _channel = DEFAULT_TOKEN_CHANNEL;
+            // InternalReportDSL.g:266:8: ( 'clip' )
+            // InternalReportDSL.g:266:10: 'clip'
+            {
+            match("clip"); 
+
+
+            }
+
+            state.type = _type;
+            state.channel = _channel;
+        }
+        finally {
+        }
+    }
+    // $ANTLR end "T__268"
+
+    // $ANTLR start "T__269"
+    public final void mT__269() throws RecognitionException {
+        try {
+            int _type = T__269;
+            int _channel = DEFAULT_TOKEN_CHANNEL;
+            // InternalReportDSL.g:267:8: ( 'url' )
+            // InternalReportDSL.g:267:10: 'url'
+            {
+            match("url"); 
+
+
+            }
+
+            state.type = _type;
+            state.channel = _channel;
+        }
+        finally {
+        }
+    }
+    // $ANTLR end "T__269"
+
+    // $ANTLR start "T__270"
+    public final void mT__270() throws RecognitionException {
+        try {
+            int _type = T__270;
+            int _channel = DEFAULT_TOKEN_CHANNEL;
+            // InternalReportDSL.g:268:8: ( 'embed' )
+            // InternalReportDSL.g:268:10: 'embed'
+            {
+            match("embed"); 
+
+
+            }
+
+            state.type = _type;
+            state.channel = _channel;
+        }
+        finally {
+        }
+    }
+    // $ANTLR end "T__270"
+
+    // $ANTLR start "T__271"
+    public final void mT__271() throws RecognitionException {
+        try {
+            int _type = T__271;
+            int _channel = DEFAULT_TOKEN_CHANNEL;
+            // InternalReportDSL.g:269:8: ( 'plain' )
+            // InternalReportDSL.g:269:10: 'plain'
+            {
+            match("plain"); 
+
+
+            }
+
+            state.type = _type;
+            state.channel = _channel;
+        }
+        finally {
+        }
+    }
+    // $ANTLR end "T__271"
+
     // $ANTLR start "RULE_HEX"
     public final void mRULE_HEX() throws RecognitionException {
         try {
             int _type = RULE_HEX;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalReportDSL.g:15843:10: ( ( '0x' | '0X' ) ( '0' .. '9' | 'a' .. 'f' | 'A' .. 'F' | '_' )+ ( '#' ( ( 'b' | 'B' ) ( 'i' | 'I' ) | ( 'l' | 'L' ) ) )? )
-            // InternalReportDSL.g:15843:12: ( '0x' | '0X' ) ( '0' .. '9' | 'a' .. 'f' | 'A' .. 'F' | '_' )+ ( '#' ( ( 'b' | 'B' ) ( 'i' | 'I' ) | ( 'l' | 'L' ) ) )?
+            // InternalReportDSL.g:16211:10: ( ( '0x' | '0X' ) ( '0' .. '9' | 'a' .. 'f' | 'A' .. 'F' | '_' )+ ( '#' ( ( 'b' | 'B' ) ( 'i' | 'I' ) | ( 'l' | 'L' ) ) )? )
+            // InternalReportDSL.g:16211:12: ( '0x' | '0X' ) ( '0' .. '9' | 'a' .. 'f' | 'A' .. 'F' | '_' )+ ( '#' ( ( 'b' | 'B' ) ( 'i' | 'I' ) | ( 'l' | 'L' ) ) )?
             {
-            // InternalReportDSL.g:15843:12: ( '0x' | '0X' )
+            // InternalReportDSL.g:16211:12: ( '0x' | '0X' )
             int alt1=2;
             int LA1_0 = input.LA(1);
 
@@ -5650,7 +5746,7 @@
             }
             switch (alt1) {
                 case 1 :
-                    // InternalReportDSL.g:15843:13: '0x'
+                    // InternalReportDSL.g:16211:13: '0x'
                     {
                     match("0x"); 
 
@@ -5658,7 +5754,7 @@
                     }
                     break;
                 case 2 :
-                    // InternalReportDSL.g:15843:18: '0X'
+                    // InternalReportDSL.g:16211:18: '0X'
                     {
                     match("0X"); 
 
@@ -5668,7 +5764,7 @@
 
             }
 
-            // InternalReportDSL.g:15843:24: ( '0' .. '9' | 'a' .. 'f' | 'A' .. 'F' | '_' )+
+            // InternalReportDSL.g:16211:24: ( '0' .. '9' | 'a' .. 'f' | 'A' .. 'F' | '_' )+
             int cnt2=0;
             loop2:
             do {
@@ -5706,7 +5802,7 @@
                 cnt2++;
             } while (true);
 
-            // InternalReportDSL.g:15843:58: ( '#' ( ( 'b' | 'B' ) ( 'i' | 'I' ) | ( 'l' | 'L' ) ) )?
+            // InternalReportDSL.g:16211:58: ( '#' ( ( 'b' | 'B' ) ( 'i' | 'I' ) | ( 'l' | 'L' ) ) )?
             int alt4=2;
             int LA4_0 = input.LA(1);
 
@@ -5715,10 +5811,10 @@
             }
             switch (alt4) {
                 case 1 :
-                    // InternalReportDSL.g:15843:59: '#' ( ( 'b' | 'B' ) ( 'i' | 'I' ) | ( 'l' | 'L' ) )
+                    // InternalReportDSL.g:16211:59: '#' ( ( 'b' | 'B' ) ( 'i' | 'I' ) | ( 'l' | 'L' ) )
                     {
                     match('#'); 
-                    // InternalReportDSL.g:15843:63: ( ( 'b' | 'B' ) ( 'i' | 'I' ) | ( 'l' | 'L' ) )
+                    // InternalReportDSL.g:16211:63: ( ( 'b' | 'B' ) ( 'i' | 'I' ) | ( 'l' | 'L' ) )
                     int alt3=2;
                     int LA3_0 = input.LA(1);
 
@@ -5736,7 +5832,7 @@
                     }
                     switch (alt3) {
                         case 1 :
-                            // InternalReportDSL.g:15843:64: ( 'b' | 'B' ) ( 'i' | 'I' )
+                            // InternalReportDSL.g:16211:64: ( 'b' | 'B' ) ( 'i' | 'I' )
                             {
                             if ( input.LA(1)=='B'||input.LA(1)=='b' ) {
                                 input.consume();
@@ -5760,7 +5856,7 @@
                             }
                             break;
                         case 2 :
-                            // InternalReportDSL.g:15843:84: ( 'l' | 'L' )
+                            // InternalReportDSL.g:16211:84: ( 'l' | 'L' )
                             {
                             if ( input.LA(1)=='L'||input.LA(1)=='l' ) {
                                 input.consume();
@@ -5799,11 +5895,11 @@
         try {
             int _type = RULE_INT;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalReportDSL.g:15845:10: ( '0' .. '9' ( '0' .. '9' | '_' )* )
-            // InternalReportDSL.g:15845:12: '0' .. '9' ( '0' .. '9' | '_' )*
+            // InternalReportDSL.g:16213:10: ( '0' .. '9' ( '0' .. '9' | '_' )* )
+            // InternalReportDSL.g:16213:12: '0' .. '9' ( '0' .. '9' | '_' )*
             {
             matchRange('0','9'); 
-            // InternalReportDSL.g:15845:21: ( '0' .. '9' | '_' )*
+            // InternalReportDSL.g:16213:21: ( '0' .. '9' | '_' )*
             loop5:
             do {
                 int alt5=2;
@@ -5852,11 +5948,11 @@
         try {
             int _type = RULE_DECIMAL;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalReportDSL.g:15847:14: ( RULE_INT ( ( 'e' | 'E' ) ( '+' | '-' )? RULE_INT )? ( ( 'b' | 'B' ) ( 'i' | 'I' | 'd' | 'D' ) | ( 'l' | 'L' | 'd' | 'D' | 'f' | 'F' ) )? )
-            // InternalReportDSL.g:15847:16: RULE_INT ( ( 'e' | 'E' ) ( '+' | '-' )? RULE_INT )? ( ( 'b' | 'B' ) ( 'i' | 'I' | 'd' | 'D' ) | ( 'l' | 'L' | 'd' | 'D' | 'f' | 'F' ) )?
+            // InternalReportDSL.g:16215:14: ( RULE_INT ( ( 'e' | 'E' ) ( '+' | '-' )? RULE_INT )? ( ( 'b' | 'B' ) ( 'i' | 'I' | 'd' | 'D' ) | ( 'l' | 'L' | 'd' | 'D' | 'f' | 'F' ) )? )
+            // InternalReportDSL.g:16215:16: RULE_INT ( ( 'e' | 'E' ) ( '+' | '-' )? RULE_INT )? ( ( 'b' | 'B' ) ( 'i' | 'I' | 'd' | 'D' ) | ( 'l' | 'L' | 'd' | 'D' | 'f' | 'F' ) )?
             {
             mRULE_INT(); 
-            // InternalReportDSL.g:15847:25: ( ( 'e' | 'E' ) ( '+' | '-' )? RULE_INT )?
+            // InternalReportDSL.g:16215:25: ( ( 'e' | 'E' ) ( '+' | '-' )? RULE_INT )?
             int alt7=2;
             int LA7_0 = input.LA(1);
 
@@ -5865,7 +5961,7 @@
             }
             switch (alt7) {
                 case 1 :
-                    // InternalReportDSL.g:15847:26: ( 'e' | 'E' ) ( '+' | '-' )? RULE_INT
+                    // InternalReportDSL.g:16215:26: ( 'e' | 'E' ) ( '+' | '-' )? RULE_INT
                     {
                     if ( input.LA(1)=='E'||input.LA(1)=='e' ) {
                         input.consume();
@@ -5876,7 +5972,7 @@
                         recover(mse);
                         throw mse;}
 
-                    // InternalReportDSL.g:15847:36: ( '+' | '-' )?
+                    // InternalReportDSL.g:16215:36: ( '+' | '-' )?
                     int alt6=2;
                     int LA6_0 = input.LA(1);
 
@@ -5909,7 +6005,7 @@
 
             }
 
-            // InternalReportDSL.g:15847:58: ( ( 'b' | 'B' ) ( 'i' | 'I' | 'd' | 'D' ) | ( 'l' | 'L' | 'd' | 'D' | 'f' | 'F' ) )?
+            // InternalReportDSL.g:16215:58: ( ( 'b' | 'B' ) ( 'i' | 'I' | 'd' | 'D' ) | ( 'l' | 'L' | 'd' | 'D' | 'f' | 'F' ) )?
             int alt8=3;
             int LA8_0 = input.LA(1);
 
@@ -5921,7 +6017,7 @@
             }
             switch (alt8) {
                 case 1 :
-                    // InternalReportDSL.g:15847:59: ( 'b' | 'B' ) ( 'i' | 'I' | 'd' | 'D' )
+                    // InternalReportDSL.g:16215:59: ( 'b' | 'B' ) ( 'i' | 'I' | 'd' | 'D' )
                     {
                     if ( input.LA(1)=='B'||input.LA(1)=='b' ) {
                         input.consume();
@@ -5945,7 +6041,7 @@
                     }
                     break;
                 case 2 :
-                    // InternalReportDSL.g:15847:87: ( 'l' | 'L' | 'd' | 'D' | 'f' | 'F' )
+                    // InternalReportDSL.g:16215:87: ( 'l' | 'L' | 'd' | 'D' | 'f' | 'F' )
                     {
                     if ( input.LA(1)=='D'||input.LA(1)=='F'||input.LA(1)=='L'||input.LA(1)=='d'||input.LA(1)=='f'||input.LA(1)=='l' ) {
                         input.consume();
@@ -5978,10 +6074,10 @@
         try {
             int _type = RULE_ID;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalReportDSL.g:15849:9: ( ( '^' )? ( 'a' .. 'z' | 'A' .. 'Z' | '$' | '_' ) ( 'a' .. 'z' | 'A' .. 'Z' | '$' | '_' | '0' .. '9' )* )
-            // InternalReportDSL.g:15849:11: ( '^' )? ( 'a' .. 'z' | 'A' .. 'Z' | '$' | '_' ) ( 'a' .. 'z' | 'A' .. 'Z' | '$' | '_' | '0' .. '9' )*
+            // InternalReportDSL.g:16217:9: ( ( '^' )? ( 'a' .. 'z' | 'A' .. 'Z' | '$' | '_' ) ( 'a' .. 'z' | 'A' .. 'Z' | '$' | '_' | '0' .. '9' )* )
+            // InternalReportDSL.g:16217:11: ( '^' )? ( 'a' .. 'z' | 'A' .. 'Z' | '$' | '_' ) ( 'a' .. 'z' | 'A' .. 'Z' | '$' | '_' | '0' .. '9' )*
             {
-            // InternalReportDSL.g:15849:11: ( '^' )?
+            // InternalReportDSL.g:16217:11: ( '^' )?
             int alt9=2;
             int LA9_0 = input.LA(1);
 
@@ -5990,7 +6086,7 @@
             }
             switch (alt9) {
                 case 1 :
-                    // InternalReportDSL.g:15849:11: '^'
+                    // InternalReportDSL.g:16217:11: '^'
                     {
                     match('^'); 
 
@@ -6008,7 +6104,7 @@
                 recover(mse);
                 throw mse;}
 
-            // InternalReportDSL.g:15849:44: ( 'a' .. 'z' | 'A' .. 'Z' | '$' | '_' | '0' .. '9' )*
+            // InternalReportDSL.g:16217:44: ( 'a' .. 'z' | 'A' .. 'Z' | '$' | '_' | '0' .. '9' )*
             loop10:
             do {
                 int alt10=2;
@@ -6057,10 +6153,10 @@
         try {
             int _type = RULE_STRING;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalReportDSL.g:15851:13: ( ( '\"' ( '\\\\' . | ~ ( ( '\\\\' | '\"' ) ) )* ( '\"' )? | '\\'' ( '\\\\' . | ~ ( ( '\\\\' | '\\'' ) ) )* ( '\\'' )? ) )
-            // InternalReportDSL.g:15851:15: ( '\"' ( '\\\\' . | ~ ( ( '\\\\' | '\"' ) ) )* ( '\"' )? | '\\'' ( '\\\\' . | ~ ( ( '\\\\' | '\\'' ) ) )* ( '\\'' )? )
+            // InternalReportDSL.g:16219:13: ( ( '\"' ( '\\\\' . | ~ ( ( '\\\\' | '\"' ) ) )* ( '\"' )? | '\\'' ( '\\\\' . | ~ ( ( '\\\\' | '\\'' ) ) )* ( '\\'' )? ) )
+            // InternalReportDSL.g:16219:15: ( '\"' ( '\\\\' . | ~ ( ( '\\\\' | '\"' ) ) )* ( '\"' )? | '\\'' ( '\\\\' . | ~ ( ( '\\\\' | '\\'' ) ) )* ( '\\'' )? )
             {
-            // InternalReportDSL.g:15851:15: ( '\"' ( '\\\\' . | ~ ( ( '\\\\' | '\"' ) ) )* ( '\"' )? | '\\'' ( '\\\\' . | ~ ( ( '\\\\' | '\\'' ) ) )* ( '\\'' )? )
+            // InternalReportDSL.g:16219:15: ( '\"' ( '\\\\' . | ~ ( ( '\\\\' | '\"' ) ) )* ( '\"' )? | '\\'' ( '\\\\' . | ~ ( ( '\\\\' | '\\'' ) ) )* ( '\\'' )? )
             int alt15=2;
             int LA15_0 = input.LA(1);
 
@@ -6078,10 +6174,10 @@
             }
             switch (alt15) {
                 case 1 :
-                    // InternalReportDSL.g:15851:16: '\"' ( '\\\\' . | ~ ( ( '\\\\' | '\"' ) ) )* ( '\"' )?
+                    // InternalReportDSL.g:16219:16: '\"' ( '\\\\' . | ~ ( ( '\\\\' | '\"' ) ) )* ( '\"' )?
                     {
                     match('\"'); 
-                    // InternalReportDSL.g:15851:20: ( '\\\\' . | ~ ( ( '\\\\' | '\"' ) ) )*
+                    // InternalReportDSL.g:16219:20: ( '\\\\' . | ~ ( ( '\\\\' | '\"' ) ) )*
                     loop11:
                     do {
                         int alt11=3;
@@ -6097,7 +6193,7 @@
 
                         switch (alt11) {
                     	case 1 :
-                    	    // InternalReportDSL.g:15851:21: '\\\\' .
+                    	    // InternalReportDSL.g:16219:21: '\\\\' .
                     	    {
                     	    match('\\'); 
                     	    matchAny(); 
@@ -6105,7 +6201,7 @@
                     	    }
                     	    break;
                     	case 2 :
-                    	    // InternalReportDSL.g:15851:28: ~ ( ( '\\\\' | '\"' ) )
+                    	    // InternalReportDSL.g:16219:28: ~ ( ( '\\\\' | '\"' ) )
                     	    {
                     	    if ( (input.LA(1)>='\u0000' && input.LA(1)<='!')||(input.LA(1)>='#' && input.LA(1)<='[')||(input.LA(1)>=']' && input.LA(1)<='\uFFFF') ) {
                     	        input.consume();
@@ -6125,7 +6221,7 @@
                         }
                     } while (true);
 
-                    // InternalReportDSL.g:15851:44: ( '\"' )?
+                    // InternalReportDSL.g:16219:44: ( '\"' )?
                     int alt12=2;
                     int LA12_0 = input.LA(1);
 
@@ -6134,7 +6230,7 @@
                     }
                     switch (alt12) {
                         case 1 :
-                            // InternalReportDSL.g:15851:44: '\"'
+                            // InternalReportDSL.g:16219:44: '\"'
                             {
                             match('\"'); 
 
@@ -6147,10 +6243,10 @@
                     }
                     break;
                 case 2 :
-                    // InternalReportDSL.g:15851:49: '\\'' ( '\\\\' . | ~ ( ( '\\\\' | '\\'' ) ) )* ( '\\'' )?
+                    // InternalReportDSL.g:16219:49: '\\'' ( '\\\\' . | ~ ( ( '\\\\' | '\\'' ) ) )* ( '\\'' )?
                     {
                     match('\''); 
-                    // InternalReportDSL.g:15851:54: ( '\\\\' . | ~ ( ( '\\\\' | '\\'' ) ) )*
+                    // InternalReportDSL.g:16219:54: ( '\\\\' . | ~ ( ( '\\\\' | '\\'' ) ) )*
                     loop13:
                     do {
                         int alt13=3;
@@ -6166,7 +6262,7 @@
 
                         switch (alt13) {
                     	case 1 :
-                    	    // InternalReportDSL.g:15851:55: '\\\\' .
+                    	    // InternalReportDSL.g:16219:55: '\\\\' .
                     	    {
                     	    match('\\'); 
                     	    matchAny(); 
@@ -6174,7 +6270,7 @@
                     	    }
                     	    break;
                     	case 2 :
-                    	    // InternalReportDSL.g:15851:62: ~ ( ( '\\\\' | '\\'' ) )
+                    	    // InternalReportDSL.g:16219:62: ~ ( ( '\\\\' | '\\'' ) )
                     	    {
                     	    if ( (input.LA(1)>='\u0000' && input.LA(1)<='&')||(input.LA(1)>='(' && input.LA(1)<='[')||(input.LA(1)>=']' && input.LA(1)<='\uFFFF') ) {
                     	        input.consume();
@@ -6194,7 +6290,7 @@
                         }
                     } while (true);
 
-                    // InternalReportDSL.g:15851:79: ( '\\'' )?
+                    // InternalReportDSL.g:16219:79: ( '\\'' )?
                     int alt14=2;
                     int LA14_0 = input.LA(1);
 
@@ -6203,7 +6299,7 @@
                     }
                     switch (alt14) {
                         case 1 :
-                            // InternalReportDSL.g:15851:79: '\\''
+                            // InternalReportDSL.g:16219:79: '\\''
                             {
                             match('\''); 
 
@@ -6234,12 +6330,12 @@
         try {
             int _type = RULE_ML_COMMENT;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalReportDSL.g:15853:17: ( '/*' ( options {greedy=false; } : . )* '*/' )
-            // InternalReportDSL.g:15853:19: '/*' ( options {greedy=false; } : . )* '*/'
+            // InternalReportDSL.g:16221:17: ( '/*' ( options {greedy=false; } : . )* '*/' )
+            // InternalReportDSL.g:16221:19: '/*' ( options {greedy=false; } : . )* '*/'
             {
             match("/*"); 
 
-            // InternalReportDSL.g:15853:24: ( options {greedy=false; } : . )*
+            // InternalReportDSL.g:16221:24: ( options {greedy=false; } : . )*
             loop16:
             do {
                 int alt16=2;
@@ -6264,7 +6360,7 @@
 
                 switch (alt16) {
             	case 1 :
-            	    // InternalReportDSL.g:15853:52: .
+            	    // InternalReportDSL.g:16221:52: .
             	    {
             	    matchAny(); 
 
@@ -6294,12 +6390,12 @@
         try {
             int _type = RULE_SL_COMMENT;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalReportDSL.g:15855:17: ( '//' (~ ( ( '\\n' | '\\r' ) ) )* ( ( '\\r' )? '\\n' )? )
-            // InternalReportDSL.g:15855:19: '//' (~ ( ( '\\n' | '\\r' ) ) )* ( ( '\\r' )? '\\n' )?
+            // InternalReportDSL.g:16223:17: ( '//' (~ ( ( '\\n' | '\\r' ) ) )* ( ( '\\r' )? '\\n' )? )
+            // InternalReportDSL.g:16223:19: '//' (~ ( ( '\\n' | '\\r' ) ) )* ( ( '\\r' )? '\\n' )?
             {
             match("//"); 
 
-            // InternalReportDSL.g:15855:24: (~ ( ( '\\n' | '\\r' ) ) )*
+            // InternalReportDSL.g:16223:24: (~ ( ( '\\n' | '\\r' ) ) )*
             loop17:
             do {
                 int alt17=2;
@@ -6312,7 +6408,7 @@
 
                 switch (alt17) {
             	case 1 :
-            	    // InternalReportDSL.g:15855:24: ~ ( ( '\\n' | '\\r' ) )
+            	    // InternalReportDSL.g:16223:24: ~ ( ( '\\n' | '\\r' ) )
             	    {
             	    if ( (input.LA(1)>='\u0000' && input.LA(1)<='\t')||(input.LA(1)>='\u000B' && input.LA(1)<='\f')||(input.LA(1)>='\u000E' && input.LA(1)<='\uFFFF') ) {
             	        input.consume();
@@ -6332,7 +6428,7 @@
                 }
             } while (true);
 
-            // InternalReportDSL.g:15855:40: ( ( '\\r' )? '\\n' )?
+            // InternalReportDSL.g:16223:40: ( ( '\\r' )? '\\n' )?
             int alt19=2;
             int LA19_0 = input.LA(1);
 
@@ -6341,9 +6437,9 @@
             }
             switch (alt19) {
                 case 1 :
-                    // InternalReportDSL.g:15855:41: ( '\\r' )? '\\n'
+                    // InternalReportDSL.g:16223:41: ( '\\r' )? '\\n'
                     {
-                    // InternalReportDSL.g:15855:41: ( '\\r' )?
+                    // InternalReportDSL.g:16223:41: ( '\\r' )?
                     int alt18=2;
                     int LA18_0 = input.LA(1);
 
@@ -6352,7 +6448,7 @@
                     }
                     switch (alt18) {
                         case 1 :
-                            // InternalReportDSL.g:15855:41: '\\r'
+                            // InternalReportDSL.g:16223:41: '\\r'
                             {
                             match('\r'); 
 
@@ -6384,10 +6480,10 @@
         try {
             int _type = RULE_WS;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalReportDSL.g:15857:9: ( ( ' ' | '\\t' | '\\r' | '\\n' )+ )
-            // InternalReportDSL.g:15857:11: ( ' ' | '\\t' | '\\r' | '\\n' )+
+            // InternalReportDSL.g:16225:9: ( ( ' ' | '\\t' | '\\r' | '\\n' )+ )
+            // InternalReportDSL.g:16225:11: ( ' ' | '\\t' | '\\r' | '\\n' )+
             {
-            // InternalReportDSL.g:15857:11: ( ' ' | '\\t' | '\\r' | '\\n' )+
+            // InternalReportDSL.g:16225:11: ( ' ' | '\\t' | '\\r' | '\\n' )+
             int cnt20=0;
             loop20:
             do {
@@ -6441,8 +6537,8 @@
         try {
             int _type = RULE_ANY_OTHER;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalReportDSL.g:15859:16: ( . )
-            // InternalReportDSL.g:15859:18: .
+            // InternalReportDSL.g:16227:16: ( . )
+            // InternalReportDSL.g:16227:18: .
             {
             matchAny(); 
 
@@ -6457,8 +6553,8 @@
     // $ANTLR end "RULE_ANY_OTHER"
 
     public void mTokens() throws RecognitionException {
-        // InternalReportDSL.g:1:8: ( T__13 | T__14 | T__15 | T__16 | T__17 | T__18 | T__19 | T__20 | T__21 | T__22 | T__23 | T__24 | T__25 | T__26 | T__27 | T__28 | T__29 | T__30 | T__31 | T__32 | T__33 | T__34 | T__35 | T__36 | T__37 | T__38 | T__39 | T__40 | T__41 | T__42 | T__43 | T__44 | T__45 | T__46 | T__47 | T__48 | T__49 | T__50 | T__51 | T__52 | T__53 | T__54 | T__55 | T__56 | T__57 | T__58 | T__59 | T__60 | T__61 | T__62 | T__63 | T__64 | T__65 | T__66 | T__67 | T__68 | T__69 | T__70 | T__71 | T__72 | T__73 | T__74 | T__75 | T__76 | T__77 | T__78 | T__79 | T__80 | T__81 | T__82 | T__83 | T__84 | T__85 | T__86 | T__87 | T__88 | T__89 | T__90 | T__91 | T__92 | T__93 | T__94 | T__95 | T__96 | T__97 | T__98 | T__99 | T__100 | T__101 | T__102 | T__103 | T__104 | T__105 | T__106 | T__107 | T__108 | T__109 | T__110 | T__111 | T__112 | T__113 | T__114 | T__115 | T__116 | T__117 | T__118 | T__119 | T__120 | T__121 | T__122 | T__123 | T__124 | T__125 | T__126 | T__127 | T__128 | T__129 | T__130 | T__131 | T__132 | T__133 | T__134 | T__135 | T__136 | T__137 | T__138 | T__139 | T__140 | T__141 | T__142 | T__143 | T__144 | T__145 | T__146 | T__147 | T__148 | T__149 | T__150 | T__151 | T__152 | T__153 | T__154 | T__155 | T__156 | T__157 | T__158 | T__159 | T__160 | T__161 | T__162 | T__163 | T__164 | T__165 | T__166 | T__167 | T__168 | T__169 | T__170 | T__171 | T__172 | T__173 | T__174 | T__175 | T__176 | T__177 | T__178 | T__179 | T__180 | T__181 | T__182 | T__183 | T__184 | T__185 | T__186 | T__187 | T__188 | T__189 | T__190 | T__191 | T__192 | T__193 | T__194 | T__195 | T__196 | T__197 | T__198 | T__199 | T__200 | T__201 | T__202 | T__203 | T__204 | T__205 | T__206 | T__207 | T__208 | T__209 | T__210 | T__211 | T__212 | T__213 | T__214 | T__215 | T__216 | T__217 | T__218 | T__219 | T__220 | T__221 | T__222 | T__223 | T__224 | T__225 | T__226 | T__227 | T__228 | T__229 | T__230 | T__231 | T__232 | T__233 | T__234 | T__235 | T__236 | T__237 | T__238 | T__239 | T__240 | T__241 | T__242 | T__243 | T__244 | T__245 | T__246 | T__247 | T__248 | T__249 | T__250 | T__251 | T__252 | T__253 | T__254 | T__255 | T__256 | T__257 | T__258 | T__259 | T__260 | T__261 | T__262 | T__263 | T__264 | T__265 | T__266 | RULE_HEX | RULE_INT | RULE_DECIMAL | RULE_ID | RULE_STRING | RULE_ML_COMMENT | RULE_SL_COMMENT | RULE_WS | RULE_ANY_OTHER )
-        int alt21=263;
+        // InternalReportDSL.g:1:8: ( T__13 | T__14 | T__15 | T__16 | T__17 | T__18 | T__19 | T__20 | T__21 | T__22 | T__23 | T__24 | T__25 | T__26 | T__27 | T__28 | T__29 | T__30 | T__31 | T__32 | T__33 | T__34 | T__35 | T__36 | T__37 | T__38 | T__39 | T__40 | T__41 | T__42 | T__43 | T__44 | T__45 | T__46 | T__47 | T__48 | T__49 | T__50 | T__51 | T__52 | T__53 | T__54 | T__55 | T__56 | T__57 | T__58 | T__59 | T__60 | T__61 | T__62 | T__63 | T__64 | T__65 | T__66 | T__67 | T__68 | T__69 | T__70 | T__71 | T__72 | T__73 | T__74 | T__75 | T__76 | T__77 | T__78 | T__79 | T__80 | T__81 | T__82 | T__83 | T__84 | T__85 | T__86 | T__87 | T__88 | T__89 | T__90 | T__91 | T__92 | T__93 | T__94 | T__95 | T__96 | T__97 | T__98 | T__99 | T__100 | T__101 | T__102 | T__103 | T__104 | T__105 | T__106 | T__107 | T__108 | T__109 | T__110 | T__111 | T__112 | T__113 | T__114 | T__115 | T__116 | T__117 | T__118 | T__119 | T__120 | T__121 | T__122 | T__123 | T__124 | T__125 | T__126 | T__127 | T__128 | T__129 | T__130 | T__131 | T__132 | T__133 | T__134 | T__135 | T__136 | T__137 | T__138 | T__139 | T__140 | T__141 | T__142 | T__143 | T__144 | T__145 | T__146 | T__147 | T__148 | T__149 | T__150 | T__151 | T__152 | T__153 | T__154 | T__155 | T__156 | T__157 | T__158 | T__159 | T__160 | T__161 | T__162 | T__163 | T__164 | T__165 | T__166 | T__167 | T__168 | T__169 | T__170 | T__171 | T__172 | T__173 | T__174 | T__175 | T__176 | T__177 | T__178 | T__179 | T__180 | T__181 | T__182 | T__183 | T__184 | T__185 | T__186 | T__187 | T__188 | T__189 | T__190 | T__191 | T__192 | T__193 | T__194 | T__195 | T__196 | T__197 | T__198 | T__199 | T__200 | T__201 | T__202 | T__203 | T__204 | T__205 | T__206 | T__207 | T__208 | T__209 | T__210 | T__211 | T__212 | T__213 | T__214 | T__215 | T__216 | T__217 | T__218 | T__219 | T__220 | T__221 | T__222 | T__223 | T__224 | T__225 | T__226 | T__227 | T__228 | T__229 | T__230 | T__231 | T__232 | T__233 | T__234 | T__235 | T__236 | T__237 | T__238 | T__239 | T__240 | T__241 | T__242 | T__243 | T__244 | T__245 | T__246 | T__247 | T__248 | T__249 | T__250 | T__251 | T__252 | T__253 | T__254 | T__255 | T__256 | T__257 | T__258 | T__259 | T__260 | T__261 | T__262 | T__263 | T__264 | T__265 | T__266 | T__267 | T__268 | T__269 | T__270 | T__271 | RULE_HEX | RULE_INT | RULE_DECIMAL | RULE_ID | RULE_STRING | RULE_ML_COMMENT | RULE_SL_COMMENT | RULE_WS | RULE_ANY_OTHER )
+        int alt21=268;
         alt21 = dfa21.predict(input);
         switch (alt21) {
             case 1 :
@@ -8240,63 +8336,98 @@
                 }
                 break;
             case 255 :
-                // InternalReportDSL.g:1:1701: RULE_HEX
+                // InternalReportDSL.g:1:1701: T__267
+                {
+                mT__267(); 
+
+                }
+                break;
+            case 256 :
+                // InternalReportDSL.g:1:1708: T__268
+                {
+                mT__268(); 
+
+                }
+                break;
+            case 257 :
+                // InternalReportDSL.g:1:1715: T__269
+                {
+                mT__269(); 
+
+                }
+                break;
+            case 258 :
+                // InternalReportDSL.g:1:1722: T__270
+                {
+                mT__270(); 
+
+                }
+                break;
+            case 259 :
+                // InternalReportDSL.g:1:1729: T__271
+                {
+                mT__271(); 
+
+                }
+                break;
+            case 260 :
+                // InternalReportDSL.g:1:1736: RULE_HEX
                 {
                 mRULE_HEX(); 
 
                 }
                 break;
-            case 256 :
-                // InternalReportDSL.g:1:1710: RULE_INT
+            case 261 :
+                // InternalReportDSL.g:1:1745: RULE_INT
                 {
                 mRULE_INT(); 
 
                 }
                 break;
-            case 257 :
-                // InternalReportDSL.g:1:1719: RULE_DECIMAL
+            case 262 :
+                // InternalReportDSL.g:1:1754: RULE_DECIMAL
                 {
                 mRULE_DECIMAL(); 
 
                 }
                 break;
-            case 258 :
-                // InternalReportDSL.g:1:1732: RULE_ID
+            case 263 :
+                // InternalReportDSL.g:1:1767: RULE_ID
                 {
                 mRULE_ID(); 
 
                 }
                 break;
-            case 259 :
-                // InternalReportDSL.g:1:1740: RULE_STRING
+            case 264 :
+                // InternalReportDSL.g:1:1775: RULE_STRING
                 {
                 mRULE_STRING(); 
 
                 }
                 break;
-            case 260 :
-                // InternalReportDSL.g:1:1752: RULE_ML_COMMENT
+            case 265 :
+                // InternalReportDSL.g:1:1787: RULE_ML_COMMENT
                 {
                 mRULE_ML_COMMENT(); 
 
                 }
                 break;
-            case 261 :
-                // InternalReportDSL.g:1:1768: RULE_SL_COMMENT
+            case 266 :
+                // InternalReportDSL.g:1:1803: RULE_SL_COMMENT
                 {
                 mRULE_SL_COMMENT(); 
 
                 }
                 break;
-            case 262 :
-                // InternalReportDSL.g:1:1784: RULE_WS
+            case 267 :
+                // InternalReportDSL.g:1:1819: RULE_WS
                 {
                 mRULE_WS(); 
 
                 }
                 break;
-            case 263 :
-                // InternalReportDSL.g:1:1792: RULE_ANY_OTHER
+            case 268 :
+                // InternalReportDSL.g:1:1827: RULE_ANY_OTHER
                 {
                 mRULE_ANY_OTHER(); 
 
@@ -8310,19 +8441,19 @@
 
     protected DFA21 dfa21 = new DFA21(this);
     static final String DFA21_eotS =
-        "\1\uffff\1\75\1\uffff\3\75\1\uffff\17\75\2\uffff\1\75\1\u00a0\1\u00a3\3\uffff\1\u00a9\3\uffff\1\u00af\1\u00b3\1\u00b5\1\u00b7\1\u00b9\1\u00bb\1\u00bd\1\u00bf\1\u00c1\1\u00c4\1\u00c6\2\u00c9\1\64\5\uffff\1\75\1\u00d0\1\u00d1\1\u00d2\4\75\2\uffff\4\75\1\u00de\1\75\1\u00e1\4\75\1\uffff\4\75\1\u00f4\3\75\1\u00f9\31\75\1\u0124\10\75\1\u0139\2\75\1\u013e\4\75\1\u0143\1\u0144\1\u0145\2\75\1\u0149\6\75\1\u0152\14\75\1\u0164\1\75\2\uffff\2\75\12\uffff\1\u016a\26\uffff\1\u016c\1\uffff\1\u016e\7\uffff\1\u00c9\4\uffff\3\75\3\uffff\2\75\1\u0174\10\75\1\uffff\2\75\1\uffff\1\75\1\u0181\20\75\1\uffff\4\75\1\uffff\13\75\1\u01a4\17\75\1\u01b4\7\75\1\uffff\5\75\2\uffff\11\75\1\u01ca\12\75\1\uffff\2\75\1\u01d8\1\75\1\uffff\4\75\3\uffff\3\75\1\uffff\1\75\1\uffff\1\75\1\u01e5\4\75\1\uffff\1\u01eb\20\75\1\uffff\2\75\1\u0201\1\u0202\6\uffff\5\75\1\uffff\4\75\1\u020f\3\75\1\u0214\3\75\1\uffff\1\u0219\3\75\1\u021d\10\75\1\u0227\1\75\1\u0229\1\75\1\u022b\11\75\1\u0236\6\75\1\uffff\7\75\1\u0245\6\75\1\u024c\1\uffff\1\u024f\1\75\1\u0251\7\75\1\u0259\2\75\1\uffff\7\75\1\uffff\2\75\1\u0266\12\75\1\uffff\4\75\1\u0276\2\75\1\u0279\1\u027a\2\uffff\1\75\1\uffff\1\75\1\u027e\1\75\1\u0280\1\75\1\uffff\3\75\1\u0285\1\u0286\12\75\1\u0291\1\u0292\4\75\2\uffff\3\75\1\uffff\3\75\1\u029f\1\75\1\u02a1\2\75\1\uffff\4\75\1\uffff\1\u02a9\2\75\1\u02ac\1\uffff\2\75\1\u02af\1\uffff\1\75\1\u02b1\1\u02b3\1\75\1\u02b5\4\75\1\uffff\1\75\1\uffff\1\u02bb\1\uffff\1\u02bd\4\75\1\u02c3\3\75\2\uffff\1\75\1\u02c8\3\75\1\u02cc\1\u02ce\3\75\1\uffff\1\75\1\u02d3\1\75\1\uffff\5\75\1\u02db\1\uffff\2\75\1\uffff\1\75\1\uffff\1\u02df\1\u02e0\1\u02e1\4\75\1\uffff\3\75\1\u02ea\1\75\1\u02ec\5\75\2\uffff\15\75\1\u02ff\1\75\1\uffff\1\75\1\u0302\3\uffff\2\75\1\uffff\1\75\1\uffff\4\75\2\uffff\1\u030d\2\75\1\uffff\1\u0310\1\u0311\3\75\1\u0315\2\uffff\1\u0316\6\75\2\uffff\3\75\1\uffff\1\75\1\uffff\7\75\1\uffff\2\75\1\uffff\1\u032b\1\u032c\1\uffff\1\75\1\uffff\1\u032e\1\uffff\1\75\1\uffff\1\u0330\1\75\1\u0332\1\75\1\u0334\1\uffff\1\u0335\1\uffff\4\75\1\u033a\1\uffff\1\u033c\1\u033d\2\75\1\uffff\3\75\3\uffff\1\75\1\u0345\2\75\1\uffff\1\u0348\3\75\1\uffff\2\75\1\uffff\3\75\3\uffff\2\75\1\u0354\3\75\1\u0358\1\75\1\uffff\1\u035a\1\uffff\1\u035b\1\75\1\u035d\4\75\1\u0362\2\75\1\u0368\1\u0369\1\u036a\1\u036b\1\75\1\u036d\2\75\1\uffff\2\75\4\uffff\1\75\1\u0373\1\75\1\u0375\1\u0376\1\u0377\1\75\1\uffff\1\u0379\1\75\2\uffff\1\75\1\u037c\1\75\2\uffff\1\u037e\1\u037f\1\75\1\u0381\2\75\1\uffff\2\75\1\u0387\1\uffff\3\75\1\u038b\1\75\1\u038d\3\75\2\uffff\1\u0391\1\uffff\1\75\1\uffff\1\75\1\uffff\1\75\3\uffff\1\u0399\1\75\1\u039b\1\uffff\1\75\2\uffff\7\75\1\uffff\1\75\1\u03a5\1\uffff\1\75\1\u03a7\1\u03a8\1\uffff\6\75\1\u03b0\1\uffff\1\75\1\uffff\1\75\1\uffff\1\75\2\uffff\1\75\1\uffff\1\75\1\u03ba\2\75\1\uffff\1\75\1\u03bf\2\75\1\u03c2\4\uffff\1\75\1\uffff\3\75\1\u03c7\1\75\1\uffff\1\75\3\uffff\1\75\1\uffff\2\75\1\uffff\1\75\2\uffff\1\75\1\uffff\2\75\2\uffff\1\u03d6\1\uffff\2\75\1\u03d9\1\uffff\1\75\1\uffff\3\75\1\uffff\1\75\1\u03df\1\75\5\uffff\1\75\1\uffff\5\75\1\u03e7\3\75\1\uffff\1\75\3\uffff\4\75\1\u03f1\1\75\1\uffff\1\75\4\uffff\3\75\2\uffff\1\u03f9\3\75\1\uffff\2\75\1\uffff\3\75\1\u0402\1\uffff\3\75\1\uffff\4\75\1\u040a\6\uffff\1\u040c\1\75\1\uffff\1\75\1\u040f\1\75\1\u0412\1\75\1\uffff\1\u0414\1\u0415\5\75\1\uffff\3\75\1\u041e\1\uffff\2\75\1\u0422\1\u0423\1\uffff\4\75\1\u0428\3\uffff\5\75\1\u042e\1\u042f\1\u0430\1\uffff\2\75\1\u0433\1\u0434\3\75\3\uffff\1\u0439\1\75\1\uffff\1\u043b\1\u043c\1\uffff\1\u043d\2\uffff\1\75\1\u043f\1\u0440\1\75\1\u0442\1\75\1\u0444\1\75\1\uffff\1\u0447\1\u0448\1\75\2\uffff\4\75\1\uffff\1\u044e\4\75\3\uffff\2\75\2\uffff\1\u0455\1\u0456\1\75\1\u0459\1\uffff\1\75\3\uffff\1\75\2\uffff\1\u045c\1\uffff\1\u045d\1\uffff\1\75\3\uffff\1\75\1\u0460\2\75\1\u0463\1\uffff\1\u0464\1\u0465\2\75\1\u0468\1\75\2\uffff\1\u046a\2\uffff\1\75\1\u046c\2\uffff\1\u046d\1\u046e\1\uffff\1\u046f\1\75\3\uffff\1\u0471\1\u0472\1\uffff\1\75\1\uffff\1\75\4\uffff\1\75\2\uffff\1\75\1\u0477\2\75\1\uffff\1\u047a\1\u047b\2\uffff";
+        "\1\uffff\1\75\1\uffff\3\75\1\uffff\20\75\2\uffff\1\u00a2\1\u00a5\3\uffff\1\u00ab\3\uffff\1\u00b1\1\u00b5\1\u00b7\1\u00b9\1\u00bb\1\u00bd\1\u00bf\1\u00c1\1\u00c3\1\u00c6\1\u00c8\2\u00cb\1\64\5\uffff\1\75\1\u00d2\1\u00d3\1\u00d4\4\75\2\uffff\4\75\1\u00e0\1\75\1\u00e3\4\75\1\uffff\4\75\1\u00f6\3\75\1\u00fb\31\75\1\u0127\10\75\1\u013c\2\75\1\u0141\4\75\1\u0146\1\u0147\1\u0148\6\75\1\u0151\6\75\1\u015a\14\75\1\u016c\1\75\14\uffff\1\u016f\26\uffff\1\u0171\1\uffff\1\u0173\7\uffff\1\u00cb\4\uffff\3\75\3\uffff\2\75\1\u0179\10\75\1\uffff\2\75\1\uffff\1\75\1\u0186\20\75\1\uffff\4\75\1\uffff\14\75\1\u01aa\10\75\1\u01b4\6\75\1\u01bb\7\75\1\uffff\5\75\2\uffff\11\75\1\u01d1\12\75\1\uffff\2\75\1\u01df\1\75\1\uffff\4\75\3\uffff\5\75\1\u01ea\1\u01eb\1\75\1\uffff\1\75\1\uffff\1\75\1\u01f1\4\75\1\uffff\1\u01f7\20\75\1\uffff\1\75\6\uffff\5\75\1\uffff\4\75\1\u0218\3\75\1\u021d\3\75\1\uffff\1\u0222\3\75\1\u0226\10\75\1\u0230\1\75\1\u0232\1\75\1\u0234\12\75\1\u0240\6\75\1\uffff\7\75\1\u024f\1\75\1\uffff\5\75\1\u0256\1\uffff\1\u0259\1\75\1\u025b\7\75\1\u0263\2\75\1\uffff\7\75\1\uffff\2\75\1\u0270\12\75\1\uffff\4\75\1\u0280\5\75\2\uffff\1\u0286\1\u0287\2\uffff\1\75\1\uffff\1\75\1\u028b\1\75\1\u028d\1\75\1\uffff\3\75\1\u0292\1\u0293\12\75\1\u029e\1\u029f\6\75\1\uffff\3\75\1\u02ab\1\75\1\u02ad\2\75\1\uffff\4\75\1\uffff\1\u02b5\2\75\1\u02b8\1\uffff\2\75\1\u02bb\1\uffff\1\75\1\u02bd\1\u02bf\1\75\1\u02c1\4\75\1\uffff\1\75\1\uffff\1\u02c7\1\uffff\1\u02c9\5\75\1\u02d0\3\75\2\uffff\1\75\1\u02d5\3\75\1\u02d9\1\u02db\3\75\1\uffff\1\75\1\u02e0\1\75\1\uffff\5\75\1\u02e8\1\uffff\2\75\1\uffff\1\75\1\uffff\1\u02ec\1\u02ed\1\u02ee\4\75\1\uffff\3\75\1\u02f7\1\75\1\u02f9\5\75\2\uffff\15\75\1\u030c\1\75\1\uffff\1\75\1\u030f\3\75\3\uffff\2\75\1\uffff\1\75\1\uffff\4\75\2\uffff\1\u031d\2\75\1\uffff\1\u0320\1\u0321\3\75\1\u0325\2\uffff\1\u0326\5\75\2\uffff\3\75\1\uffff\1\75\1\uffff\7\75\1\uffff\2\75\1\uffff\1\u033a\1\u033b\1\uffff\1\75\1\uffff\1\u033d\1\uffff\1\75\1\uffff\1\u033f\1\75\1\u0341\1\75\1\u0343\1\uffff\1\u0344\1\uffff\3\75\1\u0348\1\75\1\u034a\1\uffff\1\u034c\1\u034d\2\75\1\uffff\3\75\3\uffff\1\75\1\u0355\2\75\1\uffff\1\u0358\3\75\1\uffff\2\75\1\uffff\3\75\3\uffff\2\75\1\u0364\1\u0366\2\75\1\u0369\1\75\1\uffff\1\u036b\1\uffff\1\u036d\1\75\1\u036f\4\75\1\u0374\2\75\1\u0378\1\u0379\1\u037a\1\u037b\1\75\1\u037d\2\75\1\uffff\2\75\1\uffff\3\75\3\uffff\1\75\1\u0386\1\75\1\u0388\1\u0389\1\u038a\1\75\1\uffff\1\u038c\1\75\2\uffff\1\75\1\u038f\1\75\2\uffff\1\u0391\1\u0392\1\u0393\2\75\1\uffff\2\75\1\u0399\1\uffff\3\75\1\u039d\1\75\1\u039f\3\75\2\uffff\1\u03a3\1\uffff\1\75\1\uffff\1\75\1\uffff\1\75\3\uffff\1\u03ab\1\75\1\uffff\1\u03ad\1\uffff\1\75\2\uffff\7\75\1\uffff\1\75\1\u03b7\1\uffff\1\75\1\u03b9\1\u03ba\1\uffff\6\75\1\u03c2\1\uffff\1\75\2\uffff\1\75\1\uffff\1\75\3\uffff\1\75\1\uffff\1\75\1\u03cc\2\75\1\uffff\1\75\1\u03d1\1\u03d2\4\uffff\1\75\1\uffff\3\75\1\u03d7\1\uffff\3\75\1\uffff\1\75\3\uffff\1\75\1\uffff\2\75\1\uffff\1\75\3\uffff\2\75\2\uffff\1\u03e9\1\uffff\2\75\1\u03ec\1\uffff\1\75\1\uffff\3\75\1\uffff\1\75\1\u03f2\1\75\5\uffff\1\75\1\uffff\5\75\1\u03fa\3\75\1\uffff\1\75\3\uffff\4\75\1\u0404\1\75\1\uffff\1\75\4\uffff\3\75\2\uffff\1\u040c\3\75\2\uffff\3\75\1\u0413\3\uffff\5\75\1\uffff\3\75\1\u041c\6\uffff\1\u041e\1\75\1\uffff\1\75\1\u0421\1\75\1\u0424\1\75\1\uffff\1\u0426\1\u0427\5\75\1\uffff\3\75\1\u0430\1\uffff\2\75\1\u0434\1\u0435\1\uffff\4\75\1\u043a\3\uffff\3\75\1\u043e\1\u043f\1\u0440\1\uffff\4\75\1\u0445\1\u0446\2\75\3\uffff\1\u044a\1\75\1\uffff\1\u044c\1\u044d\1\uffff\1\u044e\2\uffff\1\75\1\u0450\1\u0451\1\75\1\u0453\1\75\1\u0455\1\75\1\uffff\1\u0458\1\u0459\1\75\2\uffff\4\75\1\uffff\1\u045f\2\75\3\uffff\1\75\1\u0463\2\75\2\uffff\1\u0466\1\75\1\u0469\1\uffff\1\75\3\uffff\1\75\2\uffff\1\u046c\1\uffff\1\u046d\1\uffff\1\75\3\uffff\1\75\1\u0470\2\75\1\u0473\1\uffff\1\u0474\1\u0475\1\75\1\uffff\1\u0477\1\75\1\uffff\1\u0479\2\uffff\1\75\1\u047b\2\uffff\1\u047c\1\u047d\1\uffff\1\u047e\1\75\3\uffff\1\75\1\uffff\1\75\1\uffff\1\75\4\uffff\1\75\1\u0484\1\75\1\u0486\1\75\1\uffff\1\75\1\uffff\1\u0489\1\u048a\2\uffff";
     static final String DFA21_eofS =
-        "\u047c\uffff";
+        "\u048b\uffff";
     static final String DFA21_minS =
-        "\1\0\1\141\1\uffff\1\141\1\154\1\141\1\uffff\4\141\1\142\1\141\1\145\1\141\1\63\1\151\3\145\1\150\1\143\2\uffff\1\141\1\55\1\52\3\uffff\1\75\3\uffff\1\53\1\52\1\75\1\76\1\75\1\174\1\46\1\75\2\56\1\72\2\60\1\44\5\uffff\1\143\3\44\2\162\1\146\1\141\2\uffff\1\142\1\146\1\147\1\157\1\44\1\163\1\44\1\157\1\156\2\154\1\uffff\1\154\1\162\1\154\1\163\1\44\1\151\1\144\1\162\1\44\2\156\1\141\1\172\1\154\1\157\1\142\1\141\1\151\2\156\1\157\1\154\1\160\1\157\1\141\2\155\1\142\1\162\1\151\1\55\1\154\1\164\1\154\1\44\1\143\1\146\1\144\1\156\1\167\1\156\1\162\1\146\1\44\1\166\1\154\1\44\1\164\1\147\2\164\3\44\1\145\1\155\1\44\1\124\1\55\1\146\2\154\1\156\1\44\1\167\1\141\1\144\1\155\1\151\1\156\1\157\1\144\1\151\1\143\1\157\1\141\1\44\1\141\2\uffff\1\163\1\154\12\uffff\1\75\26\uffff\1\75\1\uffff\1\74\7\uffff\1\60\4\uffff\1\153\1\145\1\144\3\uffff\1\164\1\143\1\44\1\151\1\157\1\145\1\144\1\164\1\150\1\153\1\145\1\uffff\2\145\1\uffff\1\155\1\44\2\164\1\151\1\163\1\145\1\141\1\145\1\157\1\156\1\143\1\162\1\164\1\154\1\164\1\145\1\143\1\uffff\1\160\1\151\1\147\1\151\1\uffff\1\157\1\151\1\154\1\151\1\147\2\145\1\151\1\167\1\163\1\145\1\44\1\154\1\145\1\164\1\143\1\163\1\160\1\151\1\145\1\155\1\141\1\154\1\141\2\156\1\145\1\44\1\164\1\160\1\145\2\154\1\157\1\145\1\uffff\1\151\1\163\1\164\2\144\2\uffff\1\153\1\55\1\157\1\150\1\151\1\147\1\157\1\144\1\165\1\44\1\156\1\153\1\141\1\163\1\150\1\143\2\141\1\164\1\142\1\uffff\1\151\1\145\1\44\1\141\1\uffff\2\162\1\145\1\157\3\uffff\1\162\1\151\1\157\1\uffff\1\157\1\154\1\157\1\44\1\142\1\154\1\145\1\155\1\uffff\1\44\1\144\1\147\1\145\1\154\1\144\1\157\1\145\1\144\1\164\1\154\2\145\1\150\1\156\1\147\1\157\1\uffff\1\154\1\151\2\44\6\uffff\1\141\1\55\1\151\1\162\1\145\1\uffff\1\156\1\165\1\154\1\163\1\44\1\164\1\165\1\156\1\44\1\144\1\102\1\141\1\uffff\1\44\1\145\1\154\1\145\1\44\1\154\1\144\1\162\1\155\1\164\1\141\1\145\1\157\1\44\1\145\1\44\1\150\1\44\1\141\1\151\1\155\1\163\1\155\1\145\1\156\1\151\1\156\1\44\1\143\1\146\1\117\1\151\1\165\1\162\1\uffff\1\145\1\156\1\143\1\150\1\55\1\151\1\144\1\44\1\141\1\162\1\142\1\154\1\163\1\144\1\44\1\uffff\1\44\1\154\1\44\2\145\1\167\1\156\1\161\1\145\1\157\1\44\1\145\1\147\1\uffff\1\162\1\164\1\156\1\145\1\162\1\145\1\162\1\uffff\1\151\1\145\1\44\1\155\1\111\1\145\1\162\1\165\1\151\1\145\1\154\1\144\1\162\1\uffff\1\171\1\151\1\145\1\162\1\44\1\141\1\144\2\44\1\145\1\uffff\1\162\1\uffff\1\145\1\44\1\162\1\44\1\141\1\uffff\1\145\1\150\1\154\2\44\1\160\1\166\1\162\1\55\1\150\1\145\1\162\1\144\1\141\1\164\2\44\1\145\1\162\1\151\1\142\2\uffff\1\147\1\145\1\162\2\156\1\141\1\156\1\44\1\164\1\44\1\143\1\141\1\uffff\1\145\1\160\1\156\1\144\1\uffff\1\44\1\165\1\164\1\44\1\uffff\1\162\1\171\1\44\1\uffff\1\154\2\44\1\156\1\44\1\164\1\156\1\155\1\157\1\uffff\1\162\1\uffff\1\44\1\uffff\1\44\1\156\1\165\1\160\1\165\1\44\1\147\1\143\1\141\2\uffff\1\164\1\44\1\156\1\164\1\142\2\44\1\164\1\150\1\162\1\uffff\1\156\1\44\1\146\1\uffff\1\162\1\144\1\141\1\55\1\146\1\44\1\uffff\1\157\1\154\1\uffff\1\141\1\uffff\3\44\1\164\1\165\1\164\1\155\1\uffff\2\162\1\145\1\44\1\147\1\44\1\164\1\162\3\156\2\uffff\1\141\1\156\1\144\1\151\2\154\1\144\2\145\1\156\1\163\1\142\1\147\1\44\1\145\1\uffff\1\147\1\44\2\uffff\1\144\1\155\1\162\1\uffff\1\141\1\uffff\1\154\1\162\1\164\1\141\2\uffff\1\44\1\145\1\141\1\uffff\2\44\1\166\1\145\1\156\1\44\2\uffff\1\44\1\164\1\143\1\151\1\145\1\155\1\145\1\165\1\uffff\1\147\1\151\1\164\1\uffff\1\55\1\uffff\1\141\1\162\1\156\1\163\1\141\1\163\1\151\1\uffff\1\156\1\164\1\uffff\2\44\1\uffff\1\171\1\uffff\1\44\1\uffff\1\163\1\uffff\1\44\1\143\1\44\1\154\1\44\1\uffff\1\44\1\uffff\1\55\1\155\1\141\1\155\1\44\1\uffff\2\44\1\164\1\102\1\uffff\1\106\1\154\1\164\3\uffff\1\151\1\44\1\157\1\147\1\uffff\1\44\1\147\1\163\1\162\1\160\1\157\1\141\1\uffff\1\154\1\151\1\164\3\uffff\1\141\1\145\1\44\1\155\1\55\1\157\1\44\1\141\1\uffff\1\44\1\uffff\1\44\1\151\1\44\1\147\1\163\1\162\1\120\1\44\1\142\1\164\4\44\1\141\1\44\1\165\1\141\1\uffff\1\170\1\145\4\uffff\1\141\1\44\1\156\3\44\1\142\1\uffff\1\44\1\154\2\uffff\1\141\1\44\1\143\2\uffff\2\44\1\154\1\44\1\160\1\141\1\155\1\55\1\164\1\44\1\uffff\1\160\1\147\1\163\1\44\1\154\1\44\1\157\1\144\1\145\2\uffff\1\44\1\uffff\1\160\1\uffff\1\171\1\uffff\1\157\2\uffff\1\142\1\44\1\143\1\44\1\uffff\1\151\2\uffff\1\151\1\171\1\151\1\141\1\145\1\151\1\146\1\uffff\1\156\1\44\1\uffff\1\151\2\44\1\141\1\162\1\164\1\157\1\147\1\145\1\164\1\44\1\uffff\1\141\1\142\1\165\1\uffff\1\162\2\uffff\1\156\1\uffff\1\55\1\44\1\164\1\141\1\uffff\1\145\1\44\1\145\1\157\1\44\4\uffff\1\164\1\uffff\3\164\1\44\1\164\1\uffff\1\163\3\uffff\1\145\1\uffff\1\55\1\154\1\uffff\1\145\2\uffff\1\151\1\uffff\1\154\1\153\2\142\1\44\1\uffff\1\145\1\151\1\44\1\uffff\1\103\1\uffff\1\156\1\154\1\162\1\uffff\1\141\1\44\1\162\5\uffff\1\145\1\uffff\2\156\1\111\1\162\1\163\1\44\1\164\2\151\1\uffff\1\156\2\uffff\1\147\1\155\1\141\1\162\1\156\1\44\1\151\1\uffff\1\162\4\uffff\1\156\2\147\1\143\1\uffff\1\44\1\163\1\144\1\156\1\uffff\1\141\1\157\1\uffff\3\145\1\44\1\uffff\1\164\2\154\1\uffff\1\163\1\157\1\164\1\141\1\44\1\145\5\uffff\1\44\1\156\1\uffff\1\163\1\44\1\145\1\44\1\156\1\uffff\2\44\1\144\1\147\1\144\1\163\1\164\1\uffff\1\154\1\143\1\172\1\44\1\145\1\163\1\142\2\44\1\uffff\1\157\1\147\1\144\1\151\1\44\3\uffff\1\164\1\102\1\151\1\144\1\164\3\44\1\uffff\1\145\1\141\2\44\1\146\1\171\1\164\1\uffff\1\162\1\uffff\1\44\1\163\1\uffff\2\44\1\uffff\1\44\2\uffff\1\145\2\44\1\164\1\44\1\145\1\44\1\145\1\uffff\1\55\1\44\1\154\2\uffff\1\156\1\151\1\143\1\156\1\uffff\1\44\1\171\1\164\2\145\3\uffff\1\144\1\164\2\uffff\2\44\1\145\1\55\1\uffff\1\125\3\uffff\1\162\2\uffff\1\44\1\uffff\1\44\1\uffff\1\144\3\uffff\1\145\1\44\1\156\1\157\1\44\1\uffff\2\44\2\162\1\44\1\141\2\uffff\1\44\2\uffff\1\122\1\44\2\uffff\2\44\1\uffff\1\44\1\154\3\uffff\2\44\1\uffff\1\142\1\uffff\1\111\4\uffff\1\157\2\uffff\1\154\1\44\1\162\1\145\1\uffff\2\44\2\uffff";
+        "\1\0\1\141\1\uffff\1\141\1\154\1\141\1\uffff\4\141\1\142\1\141\1\145\1\141\1\63\1\141\1\151\3\145\1\150\1\143\2\uffff\1\55\1\52\3\uffff\1\75\3\uffff\1\53\1\52\1\75\1\76\1\75\1\174\1\46\1\75\2\56\1\72\2\60\1\44\5\uffff\1\143\3\44\2\162\1\146\1\141\2\uffff\1\142\1\146\1\147\1\157\1\44\1\163\1\44\1\157\1\156\2\154\1\uffff\1\154\1\162\1\154\1\163\1\44\1\151\1\144\1\162\1\44\1\156\1\144\1\141\1\172\1\154\1\157\1\142\1\141\1\151\2\156\1\157\1\154\1\160\1\157\1\141\2\155\1\142\1\162\1\151\1\55\1\154\1\164\1\154\1\44\1\143\1\146\1\144\1\156\1\167\1\156\1\162\1\146\1\44\1\166\1\154\1\44\1\164\1\147\2\164\3\44\1\145\1\164\1\162\1\163\1\154\1\155\1\44\1\124\1\55\1\146\2\154\1\156\1\44\1\167\1\141\1\144\1\155\1\151\1\156\1\157\1\144\1\151\1\143\1\157\1\141\1\44\1\141\14\uffff\1\75\26\uffff\1\75\1\uffff\1\74\7\uffff\1\60\4\uffff\1\153\1\145\1\144\3\uffff\1\164\1\143\1\44\1\151\1\157\1\145\1\144\1\164\1\150\1\153\1\145\1\uffff\2\145\1\uffff\1\155\1\44\2\164\1\151\1\163\1\145\1\141\1\145\1\157\1\156\1\143\1\162\1\164\1\154\1\164\1\145\1\143\1\uffff\1\160\1\151\1\147\1\151\1\uffff\1\157\1\144\1\151\1\154\1\151\1\147\2\145\1\151\1\167\1\163\1\145\1\44\1\154\1\145\1\164\1\143\1\163\1\160\1\151\1\145\1\44\1\141\1\154\1\141\2\156\1\145\1\44\1\164\1\160\1\145\2\154\1\157\1\145\1\uffff\1\151\1\163\1\164\2\144\2\uffff\1\153\1\55\1\157\1\150\1\151\1\147\1\157\1\144\1\165\1\44\1\156\1\153\1\141\1\163\1\150\1\143\2\141\1\164\1\142\1\uffff\1\151\1\145\1\44\1\141\1\uffff\2\162\1\145\1\157\3\uffff\1\162\1\151\1\165\1\164\1\151\2\44\1\157\1\uffff\1\157\1\154\1\157\1\44\1\142\1\154\1\145\1\155\1\uffff\1\44\1\144\1\147\1\145\1\154\1\144\1\157\1\145\1\144\1\164\1\154\2\145\1\150\1\156\1\147\1\157\1\uffff\1\154\6\uffff\1\141\1\55\1\151\1\162\1\145\1\uffff\1\156\1\165\1\154\1\163\1\44\1\164\1\165\1\156\1\44\1\144\1\102\1\141\1\uffff\1\44\1\145\1\154\1\145\1\44\1\154\1\144\1\162\1\155\1\164\1\141\1\145\1\157\1\44\1\145\1\44\1\150\1\44\1\141\1\151\1\155\1\163\1\154\1\155\1\145\1\156\1\151\1\156\1\44\1\143\1\146\1\117\1\151\1\165\1\162\1\uffff\1\145\1\156\1\143\1\150\1\55\1\151\1\144\1\44\1\141\1\uffff\1\162\1\142\1\154\1\163\1\144\1\44\1\uffff\1\44\1\154\1\44\2\145\1\167\1\156\1\161\1\145\1\157\1\44\1\145\1\147\1\uffff\1\162\1\164\1\156\1\145\1\162\1\145\1\162\1\uffff\1\151\1\145\1\44\1\155\1\111\1\145\1\162\1\165\1\151\1\145\1\154\1\144\1\162\1\uffff\1\171\1\151\1\145\1\162\1\44\1\141\1\144\1\141\1\151\1\142\2\uffff\2\44\1\145\1\uffff\1\162\1\uffff\1\145\1\44\1\162\1\44\1\141\1\uffff\1\145\1\150\1\154\2\44\1\160\1\166\1\162\1\55\1\150\1\145\1\162\1\144\1\141\1\164\2\44\1\145\1\162\1\151\1\147\1\145\1\162\2\156\1\141\1\156\1\44\1\164\1\44\1\143\1\141\1\uffff\1\145\1\160\1\156\1\144\1\uffff\1\44\1\165\1\164\1\44\1\uffff\1\162\1\171\1\44\1\uffff\1\154\2\44\1\156\1\44\1\164\1\156\1\155\1\157\1\uffff\1\162\1\uffff\1\44\1\uffff\1\44\1\156\1\165\1\160\1\145\1\165\1\44\1\147\1\143\1\141\2\uffff\1\164\1\44\1\156\1\164\1\142\2\44\1\164\1\150\1\162\1\uffff\1\156\1\44\1\146\1\uffff\1\162\1\144\1\141\1\55\1\146\1\44\1\uffff\1\157\1\154\1\uffff\1\141\1\uffff\3\44\1\164\1\165\1\164\1\155\1\uffff\2\162\1\145\1\44\1\147\1\44\1\164\1\162\3\156\2\uffff\1\141\1\156\1\144\1\151\2\154\1\144\2\145\1\156\1\163\1\142\1\147\1\44\1\145\1\uffff\1\147\1\44\1\154\1\143\1\151\2\uffff\1\144\1\155\1\162\1\uffff\1\141\1\uffff\1\154\1\162\1\164\1\141\2\uffff\1\44\1\145\1\141\1\uffff\2\44\1\166\1\145\1\156\1\44\2\uffff\1\44\1\164\1\143\1\145\1\155\1\145\1\165\1\uffff\1\147\1\151\1\164\1\uffff\1\55\1\uffff\1\141\1\162\1\156\1\163\1\141\1\163\1\151\1\uffff\1\156\1\164\1\uffff\2\44\1\uffff\1\171\1\uffff\1\44\1\uffff\1\163\1\uffff\1\44\1\143\1\44\1\154\1\44\1\uffff\1\44\1\uffff\1\55\1\155\1\141\1\44\1\155\1\44\1\uffff\2\44\1\164\1\102\1\uffff\1\106\1\154\1\164\3\uffff\1\151\1\44\1\157\1\147\1\uffff\1\44\1\147\1\163\1\162\1\160\1\157\1\141\1\uffff\1\154\1\151\1\164\3\uffff\1\141\1\145\2\44\1\55\1\157\1\44\1\141\1\uffff\1\44\1\uffff\1\44\1\151\1\44\1\147\1\163\1\162\1\120\1\44\1\142\1\164\4\44\1\141\1\44\1\165\1\141\1\uffff\1\170\1\145\1\uffff\1\55\1\141\1\154\3\uffff\1\141\1\44\1\156\3\44\1\142\1\uffff\1\44\1\154\2\uffff\1\141\1\44\1\143\2\uffff\3\44\1\160\1\141\1\155\1\55\1\164\1\44\1\uffff\1\160\1\147\1\163\1\44\1\154\1\44\1\157\1\144\1\145\2\uffff\1\44\1\uffff\1\160\1\uffff\1\171\1\uffff\1\157\2\uffff\1\142\1\44\1\143\1\uffff\1\44\1\uffff\1\151\2\uffff\1\151\1\171\1\151\1\141\1\145\1\151\1\146\1\uffff\1\156\1\44\1\uffff\1\151\2\44\1\141\1\162\1\164\1\157\1\147\1\145\1\164\1\44\1\uffff\1\141\1\uffff\1\142\1\165\1\uffff\1\162\3\uffff\1\156\1\uffff\1\55\1\44\1\164\1\141\1\uffff\1\145\2\44\4\uffff\1\164\1\uffff\3\164\1\44\1\144\1\154\1\151\1\164\1\uffff\1\163\3\uffff\1\145\1\uffff\1\55\1\154\1\uffff\1\145\3\uffff\1\154\1\153\2\142\1\44\1\uffff\1\145\1\151\1\44\1\uffff\1\103\1\uffff\1\156\1\154\1\162\1\uffff\1\141\1\44\1\162\5\uffff\1\145\1\uffff\2\156\1\111\1\162\1\163\1\44\1\164\2\151\1\uffff\1\156\2\uffff\1\147\1\155\1\141\1\162\1\156\1\44\1\151\1\uffff\1\162\4\uffff\1\156\2\147\1\143\1\uffff\1\44\1\163\1\144\1\156\2\uffff\3\145\1\44\3\uffff\1\141\2\164\2\154\1\uffff\1\163\1\157\1\141\1\44\1\145\5\uffff\1\44\1\156\1\uffff\1\163\1\44\1\145\1\44\1\156\1\uffff\2\44\1\144\1\147\1\144\1\163\1\164\1\uffff\1\154\1\143\1\172\1\44\1\145\1\163\1\142\2\44\1\uffff\1\157\1\147\1\144\1\151\1\44\3\uffff\1\164\1\102\1\151\3\44\1\uffff\1\154\1\171\1\145\1\141\2\44\1\146\1\164\1\uffff\1\162\1\uffff\1\44\1\163\1\uffff\2\44\1\uffff\1\44\2\uffff\1\145\2\44\1\164\1\44\1\145\1\44\1\145\1\uffff\1\55\1\44\1\154\2\uffff\1\156\1\151\1\143\1\156\1\uffff\1\44\1\171\1\164\3\uffff\1\151\1\44\1\144\1\164\2\uffff\1\44\1\145\1\55\1\uffff\1\125\3\uffff\1\162\2\uffff\1\44\1\uffff\1\44\1\uffff\1\144\3\uffff\1\145\1\44\1\156\1\157\1\44\1\uffff\2\44\1\147\1\uffff\1\44\1\141\1\uffff\1\44\2\uffff\1\122\1\44\2\uffff\2\44\1\uffff\1\44\1\154\3\uffff\1\156\1\uffff\1\142\1\uffff\1\111\4\uffff\1\157\1\44\1\154\1\44\1\162\1\uffff\1\145\1\uffff\2\44\2\uffff";
     static final String DFA21_maxS =
-        "\1\uffff\1\170\1\uffff\1\157\1\170\1\162\1\uffff\1\165\1\157\2\171\1\165\1\171\1\165\1\157\1\166\1\163\1\165\1\164\1\162\1\151\1\164\2\uffff\1\151\1\76\1\75\3\uffff\1\76\3\uffff\3\75\1\76\1\75\1\174\1\46\1\75\1\56\2\72\1\170\1\154\1\172\5\uffff\1\147\3\172\2\162\1\146\1\141\2\uffff\1\171\1\146\1\147\1\157\1\172\1\163\1\172\1\157\1\162\1\155\1\170\1\uffff\1\165\1\163\1\156\1\164\1\172\1\151\1\144\1\170\1\172\2\156\1\171\1\172\1\162\1\157\1\160\2\151\2\156\1\157\1\154\1\160\1\167\1\171\1\170\1\164\1\142\1\162\1\151\1\55\1\154\2\164\1\172\1\144\1\146\1\163\1\164\1\167\1\156\1\171\1\164\1\172\1\166\1\167\1\172\1\164\1\147\2\164\3\172\1\157\1\155\1\172\1\124\1\55\1\146\1\154\1\155\1\162\1\172\1\167\1\151\1\144\1\155\1\157\1\156\1\157\1\144\1\151\1\164\1\157\1\160\1\172\1\141\2\uffff\1\163\1\162\12\uffff\1\75\26\uffff\1\75\1\uffff\1\74\7\uffff\1\154\4\uffff\1\153\1\145\1\144\3\uffff\1\164\1\143\1\172\1\151\1\157\1\145\1\144\1\164\1\150\1\153\1\145\1\uffff\2\145\1\uffff\1\155\1\172\2\164\1\151\1\163\1\145\1\141\1\145\1\165\1\156\1\143\1\162\1\164\1\154\1\164\1\145\1\143\1\uffff\1\160\1\151\1\147\1\151\1\uffff\1\157\1\151\1\154\1\151\1\164\2\145\1\151\1\167\1\164\1\145\1\172\1\154\1\145\1\164\1\143\1\163\1\160\1\151\1\145\1\155\1\141\1\154\1\141\2\156\1\145\1\172\1\164\1\160\1\145\2\154\1\157\1\145\1\uffff\1\151\1\163\1\164\2\144\2\uffff\1\153\1\55\1\157\1\150\1\151\1\147\1\157\1\144\1\165\1\172\1\156\1\153\1\145\1\163\1\150\1\143\2\141\1\164\1\142\1\uffff\1\151\1\145\1\172\1\141\1\uffff\2\162\1\145\1\157\3\uffff\1\162\1\151\1\157\1\uffff\1\157\1\163\1\157\1\172\1\142\1\154\1\164\1\155\1\uffff\1\172\1\144\1\147\1\145\1\154\1\144\1\165\1\145\1\144\1\164\1\154\1\145\1\164\1\150\1\156\1\147\1\157\1\uffff\1\154\1\151\2\172\6\uffff\1\141\1\164\1\151\1\162\1\145\1\uffff\1\156\1\165\1\154\1\163\1\172\1\164\1\165\1\162\1\172\1\144\1\102\1\141\1\uffff\1\172\1\145\1\154\1\145\1\172\1\154\1\144\1\162\1\155\1\164\1\141\1\145\1\157\1\172\1\145\1\172\1\150\1\172\1\141\1\151\1\155\1\163\1\155\1\145\1\156\1\151\1\156\1\172\1\143\1\146\1\117\1\151\1\165\1\162\1\uffff\1\145\1\156\1\143\1\150\1\55\1\151\1\144\1\172\1\141\1\162\1\142\1\154\1\163\1\144\1\172\1\uffff\1\172\1\154\1\172\2\145\1\167\1\156\1\161\1\145\1\157\1\172\1\145\1\147\1\uffff\1\162\1\164\1\156\1\145\1\162\1\145\1\162\1\uffff\1\151\1\145\1\172\1\155\1\111\1\145\1\162\1\165\1\151\1\145\1\154\1\144\1\162\1\uffff\1\171\1\151\1\145\1\162\1\172\1\141\1\144\2\172\1\145\1\uffff\1\162\1\uffff\1\145\1\172\1\162\1\172\1\141\1\uffff\1\145\1\150\1\154\2\172\1\160\1\166\1\162\1\55\1\150\1\145\1\162\1\144\1\141\1\164\2\172\1\145\1\162\1\151\1\142\2\uffff\1\147\1\145\1\162\1\166\1\156\1\141\1\156\1\172\1\164\1\172\1\143\1\141\1\uffff\1\145\1\160\1\156\1\163\1\uffff\1\172\1\165\1\164\1\172\1\uffff\1\162\1\171\1\172\1\uffff\1\154\2\172\1\156\1\172\1\164\1\156\1\155\1\157\1\uffff\1\162\1\uffff\1\172\1\uffff\1\172\1\156\1\165\1\160\1\165\1\172\1\147\1\143\1\141\2\uffff\1\164\1\172\1\156\1\164\1\142\2\172\1\164\1\150\1\162\1\uffff\1\156\1\172\1\146\1\uffff\1\162\1\144\1\141\1\55\1\154\1\172\1\uffff\1\157\1\154\1\uffff\1\141\1\uffff\3\172\1\164\1\165\1\164\1\155\1\uffff\2\162\1\145\1\172\1\147\1\172\1\164\1\162\3\156\2\uffff\1\141\1\156\1\144\1\151\2\154\1\144\2\145\1\156\1\163\1\142\1\147\1\172\1\145\1\uffff\1\147\1\172\2\uffff\1\164\1\155\1\162\1\uffff\1\141\1\uffff\1\154\1\162\1\164\1\141\2\uffff\1\172\1\145\1\141\1\uffff\2\172\1\166\1\145\1\156\1\172\2\uffff\1\172\1\164\1\143\1\151\1\145\1\155\1\145\1\165\1\uffff\1\147\1\151\1\164\1\uffff\1\55\1\uffff\1\141\1\162\1\156\1\163\1\141\1\163\1\151\1\uffff\1\156\1\164\1\uffff\2\172\1\uffff\1\171\1\uffff\1\172\1\uffff\1\163\1\uffff\1\172\1\143\1\172\1\154\1\172\1\uffff\1\172\1\uffff\1\55\1\155\1\141\1\155\1\172\1\uffff\2\172\1\164\1\102\1\uffff\1\114\1\154\1\164\3\uffff\1\151\1\172\1\157\1\147\1\uffff\1\172\1\147\1\163\1\162\1\160\1\157\1\141\1\uffff\1\154\1\151\1\164\3\uffff\1\141\1\145\1\172\1\155\1\55\1\157\1\172\1\141\1\uffff\1\172\1\uffff\1\172\1\151\1\172\1\147\1\163\1\162\1\120\1\172\1\142\1\164\4\172\1\141\1\172\1\165\1\141\1\uffff\1\170\1\145\4\uffff\1\141\1\172\1\156\3\172\1\142\1\uffff\1\172\1\154\2\uffff\1\141\1\172\1\143\2\uffff\2\172\1\154\1\172\1\160\1\141\1\155\1\55\1\164\1\172\1\uffff\1\160\1\147\1\163\1\172\1\154\1\172\1\157\1\144\1\145\2\uffff\1\172\1\uffff\1\160\1\uffff\1\171\1\uffff\1\157\2\uffff\1\164\1\172\1\143\1\172\1\uffff\1\151\2\uffff\1\151\1\171\1\151\1\141\1\145\1\151\1\146\1\uffff\1\156\1\172\1\uffff\1\151\2\172\1\141\1\162\1\164\1\157\1\147\1\145\1\164\1\172\1\uffff\1\141\1\164\1\165\1\uffff\1\162\2\uffff\1\156\1\uffff\1\55\1\172\1\164\1\141\1\uffff\1\145\1\172\1\145\1\157\1\172\4\uffff\1\164\1\uffff\3\164\1\172\1\164\1\uffff\1\163\3\uffff\1\145\1\uffff\1\55\1\154\1\uffff\1\145\2\uffff\1\151\1\uffff\1\154\1\153\1\142\1\164\1\172\1\uffff\1\145\1\151\1\172\1\uffff\1\103\1\uffff\1\156\1\154\1\162\1\uffff\1\141\1\172\1\162\5\uffff\1\145\1\uffff\2\156\1\111\1\162\1\163\1\172\1\164\2\151\1\uffff\1\156\2\uffff\1\147\1\155\1\141\1\162\1\156\1\172\1\151\1\uffff\1\162\4\uffff\1\156\2\147\1\163\1\uffff\1\172\1\163\1\144\1\156\1\uffff\1\141\1\157\1\uffff\3\145\1\172\1\uffff\1\164\2\154\1\uffff\1\163\1\157\1\164\1\141\1\172\1\145\5\uffff\1\172\1\156\1\uffff\1\163\1\172\1\145\1\172\1\156\1\uffff\2\172\1\144\1\147\1\144\1\163\1\164\1\uffff\1\154\1\143\2\172\1\145\1\163\1\142\2\172\1\uffff\1\157\1\147\1\144\1\151\1\172\3\uffff\1\164\1\102\1\151\1\144\1\164\3\172\1\uffff\1\145\1\141\2\172\1\146\1\171\1\164\1\uffff\1\162\1\uffff\1\172\1\163\1\uffff\2\172\1\uffff\1\172\2\uffff\1\145\2\172\1\164\1\172\1\145\1\172\1\145\1\uffff\1\55\1\172\1\154\2\uffff\1\156\1\151\1\143\1\156\1\uffff\1\172\1\171\1\164\2\145\3\uffff\1\144\1\164\2\uffff\2\172\1\145\1\55\1\uffff\1\125\3\uffff\1\162\2\uffff\1\172\1\uffff\1\172\1\uffff\1\144\3\uffff\1\145\1\172\1\156\1\157\1\172\1\uffff\2\172\2\162\1\172\1\141\2\uffff\1\172\2\uffff\1\122\1\172\2\uffff\2\172\1\uffff\1\172\1\154\3\uffff\2\172\1\uffff\1\142\1\uffff\1\111\4\uffff\1\157\2\uffff\1\154\1\172\1\162\1\145\1\uffff\2\172\2\uffff";
+        "\1\uffff\1\170\1\uffff\1\157\1\170\1\162\1\uffff\1\165\1\157\2\171\1\165\1\171\1\165\1\157\1\166\1\151\1\163\1\165\1\164\1\162\1\151\1\164\2\uffff\1\76\1\75\3\uffff\1\76\3\uffff\3\75\1\76\1\75\1\174\1\46\1\75\1\56\2\72\1\170\1\154\1\172\5\uffff\1\147\3\172\2\162\1\146\1\141\2\uffff\1\171\1\146\1\147\1\157\1\172\1\163\1\172\1\157\1\162\1\155\1\170\1\uffff\1\165\1\163\1\156\1\164\1\172\1\151\1\144\1\170\1\172\2\156\1\171\1\172\1\162\1\157\1\160\2\151\2\156\1\157\1\154\1\160\1\167\1\171\1\170\1\164\1\142\1\162\1\151\1\55\1\154\2\164\1\172\1\144\1\146\1\163\1\164\1\167\1\156\1\171\1\164\1\172\1\166\1\167\1\172\1\164\1\147\2\164\3\172\1\157\1\164\1\162\1\163\1\162\1\155\1\172\1\124\1\55\1\146\1\154\1\155\1\162\1\172\1\167\1\151\1\144\1\155\1\157\1\156\1\157\1\144\1\151\1\164\1\157\1\160\1\172\1\141\14\uffff\1\75\26\uffff\1\75\1\uffff\1\74\7\uffff\1\154\4\uffff\1\153\1\145\1\144\3\uffff\1\164\1\143\1\172\1\151\1\157\1\145\1\144\1\164\1\150\1\153\1\145\1\uffff\2\145\1\uffff\1\155\1\172\2\164\1\151\1\163\1\145\1\141\1\145\1\165\1\156\1\143\1\162\1\164\1\154\1\164\1\145\1\143\1\uffff\1\160\1\151\1\147\1\151\1\uffff\1\157\1\144\1\151\1\154\1\151\1\164\2\145\1\151\1\167\1\164\1\145\1\172\1\154\1\145\1\164\1\143\1\163\1\160\1\151\1\145\1\172\1\141\1\154\1\141\2\156\1\145\1\172\1\164\1\160\1\145\2\154\1\157\1\145\1\uffff\1\151\1\163\1\164\2\144\2\uffff\1\153\1\55\1\157\1\150\1\151\1\147\1\157\1\144\1\165\1\172\1\156\1\153\1\145\1\163\1\150\1\143\2\141\1\164\1\142\1\uffff\1\151\1\145\1\172\1\141\1\uffff\2\162\1\145\1\157\3\uffff\1\162\1\151\1\165\1\164\1\151\2\172\1\157\1\uffff\1\157\1\163\1\157\1\172\1\142\1\154\1\164\1\155\1\uffff\1\172\1\144\1\147\1\145\1\154\1\144\1\165\1\145\1\144\1\164\1\154\1\145\1\164\1\150\1\156\1\147\1\157\1\uffff\1\154\6\uffff\1\141\1\164\1\151\1\162\1\145\1\uffff\1\156\1\165\1\154\1\163\1\172\1\164\1\165\1\162\1\172\1\144\1\102\1\141\1\uffff\1\172\1\145\1\154\1\145\1\172\1\154\1\144\1\162\1\155\1\164\1\141\1\145\1\157\1\172\1\145\1\172\1\150\1\172\1\141\1\151\1\155\1\163\1\154\1\155\1\145\1\156\1\151\1\156\1\172\1\143\1\146\1\117\1\151\1\165\1\162\1\uffff\1\145\1\156\1\143\1\150\1\55\1\151\1\144\1\172\1\141\1\uffff\1\162\1\142\1\154\1\163\1\144\1\172\1\uffff\1\172\1\154\1\172\2\145\1\167\1\156\1\161\1\145\1\157\1\172\1\145\1\147\1\uffff\1\162\1\164\1\156\1\145\1\162\1\145\1\162\1\uffff\1\151\1\145\1\172\1\155\1\111\1\145\1\162\1\165\1\151\1\145\1\154\1\144\1\162\1\uffff\1\171\1\151\1\145\1\162\1\172\1\141\1\144\1\141\1\151\1\142\2\uffff\2\172\1\145\1\uffff\1\162\1\uffff\1\145\1\172\1\162\1\172\1\141\1\uffff\1\145\1\150\1\154\2\172\1\160\1\166\1\162\1\55\1\150\1\145\1\162\1\144\1\141\1\164\2\172\1\145\1\162\1\151\1\147\1\145\1\162\1\166\1\156\1\141\1\156\1\172\1\164\1\172\1\143\1\141\1\uffff\1\145\1\160\1\156\1\163\1\uffff\1\172\1\165\1\164\1\172\1\uffff\1\162\1\171\1\172\1\uffff\1\154\2\172\1\156\1\172\1\164\1\156\1\155\1\157\1\uffff\1\162\1\uffff\1\172\1\uffff\1\172\1\156\1\165\1\160\1\145\1\165\1\172\1\147\1\143\1\141\2\uffff\1\164\1\172\1\156\1\164\1\142\2\172\1\164\1\150\1\162\1\uffff\1\156\1\172\1\146\1\uffff\1\162\1\144\1\141\1\55\1\154\1\172\1\uffff\1\157\1\154\1\uffff\1\141\1\uffff\3\172\1\164\1\165\1\164\1\155\1\uffff\2\162\1\145\1\172\1\147\1\172\1\164\1\162\3\156\2\uffff\1\141\1\156\1\144\1\151\2\154\1\144\2\145\1\156\1\163\1\142\1\147\1\172\1\145\1\uffff\1\147\1\172\1\154\1\143\1\151\2\uffff\1\164\1\155\1\162\1\uffff\1\141\1\uffff\1\154\1\162\1\164\1\141\2\uffff\1\172\1\145\1\141\1\uffff\2\172\1\166\1\145\1\156\1\172\2\uffff\1\172\1\164\1\143\1\145\1\155\1\145\1\165\1\uffff\1\147\1\151\1\164\1\uffff\1\55\1\uffff\1\141\1\162\1\156\1\163\1\141\1\163\1\151\1\uffff\1\156\1\164\1\uffff\2\172\1\uffff\1\171\1\uffff\1\172\1\uffff\1\163\1\uffff\1\172\1\143\1\172\1\154\1\172\1\uffff\1\172\1\uffff\1\55\1\155\1\141\1\172\1\155\1\172\1\uffff\2\172\1\164\1\102\1\uffff\1\114\1\154\1\164\3\uffff\1\151\1\172\1\157\1\147\1\uffff\1\172\1\147\1\163\1\162\1\160\1\157\1\141\1\uffff\1\154\1\151\1\164\3\uffff\1\141\1\145\2\172\1\55\1\157\1\172\1\141\1\uffff\1\172\1\uffff\1\172\1\151\1\172\1\147\1\163\1\162\1\120\1\172\1\142\1\164\4\172\1\141\1\172\1\165\1\141\1\uffff\1\170\1\145\1\uffff\1\55\1\141\1\154\3\uffff\1\141\1\172\1\156\3\172\1\142\1\uffff\1\172\1\154\2\uffff\1\141\1\172\1\143\2\uffff\3\172\1\160\1\141\1\155\1\55\1\164\1\172\1\uffff\1\160\1\147\1\163\1\172\1\154\1\172\1\157\1\144\1\145\2\uffff\1\172\1\uffff\1\160\1\uffff\1\171\1\uffff\1\157\2\uffff\1\164\1\172\1\143\1\uffff\1\172\1\uffff\1\151\2\uffff\1\151\1\171\1\151\1\141\1\145\1\151\1\146\1\uffff\1\156\1\172\1\uffff\1\151\2\172\1\141\1\162\1\164\1\157\1\147\1\145\1\164\1\172\1\uffff\1\141\1\uffff\1\164\1\165\1\uffff\1\162\3\uffff\1\156\1\uffff\1\55\1\172\1\164\1\141\1\uffff\1\145\2\172\4\uffff\1\164\1\uffff\3\164\1\172\1\164\1\154\1\151\1\164\1\uffff\1\163\3\uffff\1\145\1\uffff\1\55\1\154\1\uffff\1\145\3\uffff\1\154\1\153\1\142\1\164\1\172\1\uffff\1\145\1\151\1\172\1\uffff\1\103\1\uffff\1\156\1\154\1\162\1\uffff\1\141\1\172\1\162\5\uffff\1\145\1\uffff\2\156\1\111\1\162\1\163\1\172\1\164\2\151\1\uffff\1\156\2\uffff\1\147\1\155\1\141\1\162\1\156\1\172\1\151\1\uffff\1\162\4\uffff\1\156\2\147\1\163\1\uffff\1\172\1\163\1\144\1\156\2\uffff\3\145\1\172\3\uffff\1\141\2\164\2\154\1\uffff\1\163\1\157\1\141\1\172\1\145\5\uffff\1\172\1\156\1\uffff\1\163\1\172\1\145\1\172\1\156\1\uffff\2\172\1\144\1\147\1\144\1\163\1\164\1\uffff\1\154\1\143\2\172\1\145\1\163\1\142\2\172\1\uffff\1\157\1\147\1\144\1\151\1\172\3\uffff\1\164\1\102\1\151\3\172\1\uffff\1\154\1\171\1\145\1\141\2\172\1\146\1\164\1\uffff\1\162\1\uffff\1\172\1\163\1\uffff\2\172\1\uffff\1\172\2\uffff\1\145\2\172\1\164\1\172\1\145\1\172\1\145\1\uffff\1\55\1\172\1\154\2\uffff\1\156\1\151\1\143\1\156\1\uffff\1\172\1\171\1\164\3\uffff\1\151\1\172\1\144\1\164\2\uffff\1\172\1\145\1\55\1\uffff\1\125\3\uffff\1\162\2\uffff\1\172\1\uffff\1\172\1\uffff\1\144\3\uffff\1\145\1\172\1\156\1\157\1\172\1\uffff\2\172\1\147\1\uffff\1\172\1\141\1\uffff\1\172\2\uffff\1\122\1\172\2\uffff\2\172\1\uffff\1\172\1\154\3\uffff\1\156\1\uffff\1\142\1\uffff\1\111\4\uffff\1\157\1\172\1\154\1\172\1\162\1\uffff\1\145\1\uffff\2\172\2\uffff";
     static final String DFA21_acceptS =
-        "\2\uffff\1\2\3\uffff\1\6\17\uffff\1\133\1\134\3\uffff\1\170\1\171\1\172\1\uffff\1\174\1\175\1\176\16\uffff\1\u0102\2\u0103\1\u0106\1\u0107\10\uffff\1\u0102\1\2\13\uffff\1\6\116\uffff\1\133\1\134\2\uffff\1\u0080\1\u008e\1\u009a\1\150\1\u0081\1\u0095\1\166\1\170\1\171\1\172\1\uffff\1\u0091\1\173\1\174\1\175\1\176\1\177\1\u0099\1\u0094\1\u0082\1\u0104\1\u0105\1\u0096\1\u0083\1\u0097\1\u0092\1\u0084\1\u0086\1\u0085\1\u0087\1\u009e\1\u0088\1\u00b7\1\uffff\1\u0098\1\uffff\1\u009b\1\u0093\1\u009d\1\u00b6\1\u009c\1\u00a2\1\u00ff\1\uffff\1\u0100\1\u0101\1\u0103\1\u0106\3\uffff\1\u00ba\1\u00bc\1\u00bf\13\uffff\1\u00be\2\uffff\1\u00bd\22\uffff\1\u00b9\4\uffff\1\u00b8\43\uffff\1\131\5\uffff\1\26\1\121\24\uffff\1\u00a7\4\uffff\1\110\4\uffff\1\u00c0\1\u00c1\1\u00c2\3\uffff\1\62\10\uffff\1\167\21\uffff\1\u009f\4\uffff\1\u008b\1\u0089\1\u008c\1\u008a\1\u008f\1\u0090\5\uffff\1\u00d9\14\uffff\1\u00a5\42\uffff\1\u00dc\17\uffff\1\u00b2\15\uffff\1\u00e7\7\uffff\1\112\15\uffff\1\123\12\uffff\1\u00c6\1\uffff\1\u00fc\5\uffff\1\u00ab\25\uffff\1\u00a8\1\u00a9\14\uffff\1\u00cf\4\uffff\1\u00a0\4\uffff\1\32\3\uffff\1\77\11\uffff\1\113\1\uffff\1\u00a4\1\uffff\1\u00fb\11\uffff\1\u00f9\1\36\12\uffff\1\u00cd\3\uffff\1\16\6\uffff\1\u00ad\2\uffff\1\157\1\uffff\1\70\7\uffff\1\35\13\uffff\1\67\1\66\17\uffff\1\u00e3\2\uffff\1\61\1\144\3\uffff\1\u00ae\1\uffff\1\u00eb\4\uffff\1\u00d8\1\107\3\uffff\1\u00e9\6\uffff\1\u00bb\1\152\10\uffff\1\u00f8\3\uffff\1\u00fe\1\uffff\1\156\7\uffff\1\u00fd\2\uffff\1\11\2\uffff\1\u00ac\1\uffff\1\u00d4\1\uffff\1\24\1\uffff\1\u00da\5\uffff\1\u00b5\1\uffff\1\13\5\uffff\1\37\4\uffff\1\u00ce\3\uffff\1\u00aa\1\u00fa\1\162\4\uffff\1\u00ec\7\uffff\1\153\3\uffff\1\132\1\115\1\u00b0\10\uffff\1\u00d1\1\uffff\1\u00f1\22\uffff\1\142\2\uffff\1\u00e5\1\u00c3\1\u00c4\1\u00c5\7\uffff\1\120\2\uffff\1\111\1\u00a6\3\uffff\1\u00f2\1\161\12\uffff\1\3\11\uffff\1\105\1\34\1\uffff\1\10\1\uffff\1\u00e2\1\uffff\1\u00d7\1\uffff\1\u00d0\1\12\4\uffff\1\14\1\uffff\1\146\1\164\7\uffff\1\u00a1\2\uffff\1\u00af\13\uffff\1\u00f3\3\uffff\1\141\1\uffff\1\u00e6\1\63\1\uffff\1\u00b1\4\uffff\1\u00ee\5\uffff\1\104\1\u00ed\1\u00ef\1\u00e1\1\uffff\1\u00e4\5\uffff\1\64\1\uffff\1\u00c9\1\101\1\103\1\uffff\1\u00f0\2\uffff\1\143\1\uffff\1\163\1\u00ca\1\uffff\1\1\5\uffff\1\u00d5\3\uffff\1\126\1\uffff\1\33\3\uffff\1\u00b3\3\uffff\1\55\1\56\1\57\1\60\1\u00df\1\uffff\1\u00de\11\uffff\1\u00e8\1\uffff\1\31\1\72\7\uffff\1\u00cb\1\uffff\1\45\1\46\1\47\1\50\4\uffff\1\25\4\uffff\1\u00a3\2\uffff\1\122\4\uffff\1\u00dd\3\uffff\1\u00d3\6\uffff\1\51\1\52\1\53\1\54\1\u00c7\2\uffff\1\27\5\uffff\1\65\7\uffff\1\154\11\uffff\1\100\5\uffff\1\u00db\1\u00e0\1\73\10\uffff\1\160\7\uffff\1\140\1\uffff\1\u00c8\2\uffff\1\165\2\uffff\1\40\1\uffff\1\151\1\u00cc\10\uffff\1\20\3\uffff\1\43\1\44\4\uffff\1\75\5\uffff\1\42\1\127\1\130\2\uffff\1\125\1\124\4\uffff\1\21\1\uffff\1\5\1\7\1\114\1\uffff\1\u00ea\1\74\1\uffff\1\106\1\uffff\1\u00d6\1\uffff\1\u00f7\1\u00f5\1\30\5\uffff\1\145\6\uffff\1\u008d\1\147\1\uffff\1\u00f6\1\u00f4\2\uffff\1\102\1\155\2\uffff\1\17\2\uffff\1\23\1\71\1\76\2\uffff\1\u00d2\1\uffff\1\15\1\uffff\1\137\1\u00b4\1\135\1\22\1\uffff\1\116\1\117\4\uffff\1\4\2\uffff\1\41\1\136";
+        "\2\uffff\1\2\3\uffff\1\6\20\uffff\1\132\1\133\2\uffff\1\167\1\170\1\171\1\uffff\1\173\1\174\1\175\16\uffff\1\u0107\2\u0108\1\u010b\1\u010c\10\uffff\1\u0107\1\2\13\uffff\1\6\122\uffff\1\132\1\133\1\177\1\u008d\1\u0099\1\147\1\u0080\1\u0094\1\165\1\167\1\170\1\171\1\uffff\1\u0090\1\172\1\173\1\174\1\175\1\176\1\u0098\1\u0093\1\u0081\1\u0109\1\u010a\1\u0095\1\u0082\1\u0096\1\u0091\1\u0083\1\u0085\1\u0084\1\u0086\1\u009d\1\u0087\1\u00b6\1\uffff\1\u0097\1\uffff\1\u009a\1\u0092\1\u009c\1\u00b5\1\u009b\1\u00a1\1\u0104\1\uffff\1\u0105\1\u0106\1\u0108\1\u010b\3\uffff\1\u00b9\1\u00bb\1\u00be\13\uffff\1\u00bd\2\uffff\1\u00bc\22\uffff\1\u00b8\4\uffff\1\u00b7\44\uffff\1\130\5\uffff\1\26\1\120\24\uffff\1\u00a6\4\uffff\1\111\4\uffff\1\u00bf\1\u00c0\1\u00c1\10\uffff\1\63\10\uffff\1\166\21\uffff\1\u009e\1\uffff\1\u008a\1\u0088\1\u008b\1\u0089\1\u008e\1\u008f\5\uffff\1\u00db\14\uffff\1\u00a4\43\uffff\1\u00de\11\uffff\1\u00d3\6\uffff\1\u00b1\15\uffff\1\u00e9\7\uffff\1\113\15\uffff\1\122\12\uffff\1\u00a7\1\u00a8\3\uffff\1\u00c5\1\uffff\1\u0101\5\uffff\1\u00aa\40\uffff\1\u00ce\4\uffff\1\u009f\4\uffff\1\32\3\uffff\1\100\11\uffff\1\114\1\uffff\1\u00a3\1\uffff\1\u0100\12\uffff\1\u00fe\1\36\12\uffff\1\u00cc\3\uffff\1\16\6\uffff\1\u00ac\2\uffff\1\156\1\uffff\1\71\7\uffff\1\35\13\uffff\1\70\1\67\17\uffff\1\u00e5\5\uffff\1\62\1\143\3\uffff\1\u00ad\1\uffff\1\u00ed\4\uffff\1\u00da\1\110\3\uffff\1\u00eb\6\uffff\1\u00ba\1\151\7\uffff\1\u00fa\3\uffff\1\u0103\1\uffff\1\155\7\uffff\1\u0102\2\uffff\1\11\2\uffff\1\u00ab\1\uffff\1\u00d6\1\uffff\1\24\1\uffff\1\u00dc\5\uffff\1\u00b4\1\uffff\1\13\6\uffff\1\37\4\uffff\1\u00cd\3\uffff\1\u00a9\1\u00ff\1\161\4\uffff\1\u00ee\7\uffff\1\152\3\uffff\1\131\1\116\1\u00af\10\uffff\1\u00d0\1\uffff\1\u00f3\22\uffff\1\141\2\uffff\1\u00e7\3\uffff\1\u00c2\1\u00c3\1\u00c4\7\uffff\1\117\2\uffff\1\112\1\u00a5\3\uffff\1\u00f4\1\160\11\uffff\1\3\11\uffff\1\106\1\34\1\uffff\1\10\1\uffff\1\u00e4\1\uffff\1\u00d9\1\uffff\1\u00cf\1\12\3\uffff\1\u00d2\1\uffff\1\14\1\uffff\1\145\1\163\7\uffff\1\u00a0\2\uffff\1\u00ae\13\uffff\1\u00f5\1\uffff\1\u00d1\2\uffff\1\140\1\uffff\1\u00e8\1\u00fd\1\64\1\uffff\1\u00b0\4\uffff\1\u00f0\3\uffff\1\105\1\u00ef\1\u00f1\1\u00e3\1\uffff\1\u00e6\10\uffff\1\65\1\uffff\1\u00c8\1\102\1\104\1\uffff\1\u00f2\2\uffff\1\142\1\uffff\1\162\1\u00c9\1\1\5\uffff\1\u00d7\3\uffff\1\125\1\uffff\1\33\3\uffff\1\u00b2\3\uffff\1\56\1\57\1\60\1\61\1\u00e1\1\uffff\1\u00e0\11\uffff\1\u00ea\1\uffff\1\31\1\73\7\uffff\1\u00ca\1\uffff\1\46\1\47\1\50\1\51\4\uffff\1\25\4\uffff\1\u00a2\1\121\4\uffff\1\u00df\1\u00fb\1\u00fc\5\uffff\1\u00d5\5\uffff\1\52\1\53\1\54\1\55\1\u00c6\2\uffff\1\27\5\uffff\1\66\7\uffff\1\153\11\uffff\1\101\5\uffff\1\u00dd\1\u00e2\1\74\6\uffff\1\157\10\uffff\1\137\1\uffff\1\u00c7\2\uffff\1\164\2\uffff\1\40\1\uffff\1\150\1\u00cb\10\uffff\1\20\3\uffff\1\43\1\44\4\uffff\1\76\3\uffff\1\42\1\126\1\127\4\uffff\1\124\1\123\3\uffff\1\21\1\uffff\1\5\1\7\1\115\1\uffff\1\u00ec\1\75\1\uffff\1\107\1\uffff\1\u00d8\1\uffff\1\u00f9\1\u00f7\1\30\5\uffff\1\144\3\uffff\1\146\2\uffff\1\u008c\1\uffff\1\u00f8\1\u00f6\2\uffff\1\103\1\154\2\uffff\1\17\2\uffff\1\23\1\72\1\77\1\uffff\1\u00d4\1\uffff\1\15\1\uffff\1\136\1\u00b3\1\134\1\22\5\uffff\1\45\1\uffff\1\4\2\uffff\1\41\1\135";
     static final String DFA21_specialS =
-        "\1\0\u047b\uffff}>";
+        "\1\0\u048a\uffff}>";
     static final String[] DFA21_transitionS = {
-            "\11\64\2\63\2\64\1\63\22\64\1\63\1\51\1\61\1\37\1\60\1\44\1\50\1\62\1\26\1\27\1\32\1\42\1\35\1\31\1\52\1\43\1\55\11\56\1\54\1\33\1\45\1\36\1\46\1\53\1\34\32\60\1\40\1\64\1\41\1\57\1\60\1\64\1\17\1\14\1\7\1\16\1\4\1\5\1\23\1\22\1\25\2\60\1\3\1\10\1\21\1\13\1\1\1\60\1\15\1\11\1\12\1\20\1\30\1\24\3\60\1\2\1\47\1\6\uff82\64",
+            "\11\64\2\63\2\64\1\63\22\64\1\63\1\51\1\61\1\37\1\60\1\44\1\50\1\62\1\27\1\30\1\32\1\42\1\35\1\31\1\52\1\43\1\55\11\56\1\54\1\33\1\45\1\36\1\46\1\53\1\34\32\60\1\40\1\64\1\41\1\57\1\60\1\64\1\17\1\14\1\7\1\16\1\4\1\5\1\24\1\23\1\26\2\60\1\3\1\10\1\22\1\13\1\1\1\60\1\15\1\11\1\12\1\21\1\20\1\25\3\60\1\2\1\47\1\6\uff82\64",
             "\1\65\1\uffff\1\67\1\73\1\72\6\uffff\1\74\2\uffff\1\71\4\uffff\1\66\3\uffff\1\70",
             "",
             "\1\77\3\uffff\1\100\3\uffff\1\101\5\uffff\1\102",
@@ -8337,183 +8468,147 @@
             "\1\156\3\uffff\1\157\11\uffff\1\154\11\uffff\1\155",
             "\1\161\3\uffff\1\160\5\uffff\1\162\5\uffff\1\163",
             "\1\164\3\uffff\1\165\3\uffff\1\167\5\uffff\1\166",
-            "\1\177\1\176\1\u0080\60\uffff\1\174\1\173\4\uffff\1\170\6\uffff\1\171\1\172\1\175\1\u0081",
-            "\1\u0083\4\uffff\1\u0086\1\u0082\1\u0084\1\uffff\1\u0087\1\u0085",
-            "\1\u008b\11\uffff\1\u0089\3\uffff\1\u008a\1\uffff\1\u0088",
-            "\1\u008c\3\uffff\1\u008d\12\uffff\1\u008e",
-            "\1\u0090\11\uffff\1\u0091\2\uffff\1\u008f",
-            "\1\u0093\1\u0092",
-            "\1\u0095\2\uffff\1\u0097\6\uffff\1\u0096\1\u0094\5\uffff\1\u0098",
+            "\1\177\1\176\1\u0080\55\uffff\1\u0082\2\uffff\1\174\1\173\4\uffff\1\170\6\uffff\1\171\1\172\1\175\1\u0081",
+            "\1\u0085\3\uffff\1\u0083\3\uffff\1\u0084",
+            "\1\u0087\4\uffff\1\u008a\1\u0086\1\u0088\1\uffff\1\u008b\1\u0089",
+            "\1\u008f\11\uffff\1\u008d\3\uffff\1\u008e\1\uffff\1\u008c",
+            "\1\u0090\3\uffff\1\u0091\12\uffff\1\u0092",
+            "\1\u0094\11\uffff\1\u0095\2\uffff\1\u0093",
+            "\1\u0097\1\u0096",
+            "\1\u0099\2\uffff\1\u009b\6\uffff\1\u009a\1\u0098\5\uffff\1\u009c",
             "",
             "",
-            "\1\u009c\7\uffff\1\u009b",
-            "\1\u009f\17\uffff\1\u009d\1\u009e",
-            "\1\u00a2\22\uffff\1\u00a1",
+            "\1\u00a1\17\uffff\1\u009f\1\u00a0",
+            "\1\u00a4\22\uffff\1\u00a3",
             "",
             "",
             "",
-            "\1\u00a7\1\u00a8",
+            "\1\u00a9\1\u00aa",
             "",
             "",
             "",
-            "\1\u00ae\21\uffff\1\u00ad",
-            "\1\u00b1\4\uffff\1\u00b2\15\uffff\1\u00b0",
-            "\1\u00b4",
+            "\1\u00b0\21\uffff\1\u00af",
+            "\1\u00b3\4\uffff\1\u00b4\15\uffff\1\u00b2",
             "\1\u00b6",
             "\1\u00b8",
             "\1\u00ba",
             "\1\u00bc",
             "\1\u00be",
             "\1\u00c0",
-            "\1\u00c3\13\uffff\1\u00c2",
-            "\1\u00c5",
-            "\12\u00c8\10\uffff\1\u00ca\1\uffff\3\u00ca\5\uffff\1\u00ca\13\uffff\1\u00c7\6\uffff\1\u00c8\2\uffff\1\u00ca\1\uffff\3\u00ca\5\uffff\1\u00ca\13\uffff\1\u00c7",
-            "\12\u00c8\10\uffff\1\u00ca\1\uffff\3\u00ca\5\uffff\1\u00ca\22\uffff\1\u00c8\2\uffff\1\u00ca\1\uffff\3\u00ca\5\uffff\1\u00ca",
+            "\1\u00c2",
+            "\1\u00c5\13\uffff\1\u00c4",
+            "\1\u00c7",
+            "\12\u00ca\10\uffff\1\u00cc\1\uffff\3\u00cc\5\uffff\1\u00cc\13\uffff\1\u00c9\6\uffff\1\u00ca\2\uffff\1\u00cc\1\uffff\3\u00cc\5\uffff\1\u00cc\13\uffff\1\u00c9",
+            "\12\u00ca\10\uffff\1\u00cc\1\uffff\3\u00cc\5\uffff\1\u00cc\22\uffff\1\u00ca\2\uffff\1\u00cc\1\uffff\3\u00cc\5\uffff\1\u00cc",
             "\1\75\34\uffff\32\75\4\uffff\1\75\1\uffff\32\75",
             "",
             "",
             "",
             "",
             "",
-            "\1\u00cd\1\u00cf\2\uffff\1\u00ce",
+            "\1\u00cf\1\u00d1\2\uffff\1\u00d0",
             "\1\75\13\uffff\12\75\7\uffff\32\75\4\uffff\1\75\1\uffff\32\75",
             "\1\75\13\uffff\12\75\7\uffff\32\75\4\uffff\1\75\1\uffff\32\75",
             "\1\75\13\uffff\12\75\7\uffff\32\75\4\uffff\1\75\1\uffff\32\75",
-            "\1\u00d3",
-            "\1\u00d4",
             "\1\u00d5",
             "\1\u00d6",
+            "\1\u00d7",
+            "\1\u00d8",
             "",
             "",
-            "\1\u00d8\13\uffff\1\u00d9\12\uffff\1\u00d7",
-            "\1\u00da",
-            "\1\u00db",
+            "\1\u00da\13\uffff\1\u00db\12\uffff\1\u00d9",
             "\1\u00dc",
-            "\1\75\13\uffff\12\75\7\uffff\32\75\4\uffff\1\75\1\uffff\23\75\1\u00dd\6\75",
-            "\1\u00df",
-            "\1\75\13\uffff\12\75\7\uffff\32\75\4\uffff\1\75\1\uffff\1\75\1\u00e0\30\75",
-            "\1\u00e2",
-            "\1\u00e4\1\u00e5\2\uffff\1\u00e3",
-            "\1\u00e7\1\u00e6",
-            "\1\u00e8\1\uffff\1\u00e9\11\uffff\1\u00ea",
+            "\1\u00dd",
+            "\1\u00de",
+            "\1\75\13\uffff\12\75\7\uffff\32\75\4\uffff\1\75\1\uffff\23\75\1\u00df\6\75",
+            "\1\u00e1",
+            "\1\75\13\uffff\12\75\7\uffff\32\75\4\uffff\1\75\1\uffff\1\75\1\u00e2\30\75",
+            "\1\u00e4",
+            "\1\u00e6\1\u00e7\2\uffff\1\u00e5",
+            "\1\u00e9\1\u00e8",
+            "\1\u00ea\1\uffff\1\u00eb\11\uffff\1\u00ec",
             "",
-            "\1\u00eb\1\uffff\1\u00ed\6\uffff\1\u00ec",
-            "\1\u00ee\1\u00ef",
-            "\1\u00f0\1\uffff\1\u00f1",
-            "\1\u00f2\1\u00f3",
+            "\1\u00ed\1\uffff\1\u00ef\6\uffff\1\u00ee",
+            "\1\u00f0\1\u00f1",
+            "\1\u00f2\1\uffff\1\u00f3",
+            "\1\u00f4\1\u00f5",
             "\1\75\13\uffff\12\75\7\uffff\32\75\4\uffff\1\75\1\uffff\32\75",
-            "\1\u00f5",
-            "\1\u00f6",
-            "\1\u00f7\5\uffff\1\u00f8",
+            "\1\u00f7",
+            "\1\u00f8",
+            "\1\u00f9\5\uffff\1\u00fa",
             "\1\75\13\uffff\12\75\7\uffff\32\75\4\uffff\1\75\1\uffff\32\75",
-            "\1\u00fa",
-            "\1\u00fb",
-            "\1\u00fe\20\uffff\1\u00fd\6\uffff\1\u00fc",
-            "\1\u00ff",
-            "\1\u0100\5\uffff\1\u0101",
+            "\1\u00fc",
+            "\1\u00fd\11\uffff\1\u00fe",
+            "\1\u0101\20\uffff\1\u0100\6\uffff\1\u00ff",
             "\1\u0102",
-            "\1\u0103\12\uffff\1\u0105\2\uffff\1\u0104",
-            "\1\u0106\7\uffff\1\u0107",
-            "\1\u0108",
-            "\1\u0109",
-            "\1\u010a",
+            "\1\u0103\5\uffff\1\u0104",
+            "\1\u0105",
+            "\1\u0106\12\uffff\1\u0108\2\uffff\1\u0107",
+            "\1\u0109\7\uffff\1\u010a",
             "\1\u010b",
             "\1\u010c",
             "\1\u010d",
-            "\1\u0110\1\u010e\3\uffff\1\u0111\2\uffff\1\u010f",
-            "\1\u0112\3\uffff\1\u0113\17\uffff\1\u0114\3\uffff\1\u0115",
-            "\1\u0117\12\uffff\1\u0116",
-            "\1\u0118\6\uffff\1\u0119",
-            "\1\u011a",
-            "\1\u011b",
-            "\1\u011c",
+            "\1\u010e",
+            "\1\u010f",
+            "\1\u0110",
+            "\1\u0113\1\u0111\3\uffff\1\u0114\2\uffff\1\u0112",
+            "\1\u0115\3\uffff\1\u0116\17\uffff\1\u0117\3\uffff\1\u0118",
+            "\1\u011a\12\uffff\1\u0119",
+            "\1\u011b\6\uffff\1\u011c",
             "\1\u011d",
             "\1\u011e",
             "\1\u011f",
-            "\1\u0121\5\uffff\1\u0122\1\uffff\1\u0120",
-            "\1\75\10\uffff\1\u0123\2\uffff\12\75\7\uffff\32\75\4\uffff\1\75\1\uffff\32\75",
-            "\1\u0125\1\u0126",
-            "\1\u0127",
-            "\1\u012a\2\uffff\1\u0128\13\uffff\1\u0129",
-            "\1\u012c\1\uffff\1\u012b\3\uffff\1\u012d",
-            "\1\u012e",
-            "\1\u012f",
-            "\1\u0130\1\u0133\1\u0131\4\uffff\1\u0132",
-            "\1\u0135\14\uffff\1\u0134\1\u0136",
-            "\1\75\13\uffff\12\75\7\uffff\32\75\4\uffff\1\75\1\uffff\23\75\1\u0137\1\u0138\5\75",
-            "\1\u013a",
-            "\1\u013c\7\uffff\1\u013b\2\uffff\1\u013d",
+            "\1\u0120",
+            "\1\u0121",
+            "\1\u0122",
+            "\1\u0124\5\uffff\1\u0125\1\uffff\1\u0123",
+            "\1\75\10\uffff\1\u0126\2\uffff\12\75\7\uffff\32\75\4\uffff\1\75\1\uffff\32\75",
+            "\1\u0128\1\u0129",
+            "\1\u012a",
+            "\1\u012d\2\uffff\1\u012b\13\uffff\1\u012c",
+            "\1\u012f\1\uffff\1\u012e\3\uffff\1\u0130",
+            "\1\u0131",
+            "\1\u0132",
+            "\1\u0133\1\u0136\1\u0134\4\uffff\1\u0135",
+            "\1\u0138\14\uffff\1\u0137\1\u0139",
+            "\1\75\13\uffff\12\75\7\uffff\32\75\4\uffff\1\75\1\uffff\23\75\1\u013a\1\u013b\5\75",
+            "\1\u013d",
+            "\1\u013f\7\uffff\1\u013e\2\uffff\1\u0140",
             "\1\75\13\uffff\12\75\7\uffff\32\75\4\uffff\1\75\1\uffff\32\75",
-            "\1\u013f",
-            "\1\u0140",
-            "\1\u0141",
             "\1\u0142",
+            "\1\u0143",
+            "\1\u0144",
+            "\1\u0145",
             "\1\75\13\uffff\12\75\7\uffff\32\75\4\uffff\1\75\1\uffff\32\75",
             "\1\75\13\uffff\12\75\7\uffff\32\75\4\uffff\1\75\1\uffff\32\75",
             "\1\75\13\uffff\12\75\7\uffff\32\75\4\uffff\1\75\1\uffff\32\75",
-            "\1\u0146\11\uffff\1\u0147",
-            "\1\u0148",
-            "\1\75\13\uffff\12\75\7\uffff\32\75\4\uffff\1\75\1\uffff\32\75",
-            "\1\u014a",
+            "\1\u0149\11\uffff\1\u014a",
             "\1\u014b",
             "\1\u014c",
             "\1\u014d",
-            "\1\u014f\1\u014e",
-            "\1\u0150\3\uffff\1\u0151",
+            "\1\u014f\5\uffff\1\u014e",
+            "\1\u0150",
             "\1\75\13\uffff\12\75\7\uffff\32\75\4\uffff\1\75\1\uffff\32\75",
+            "\1\u0152",
             "\1\u0153",
-            "\1\u0154\7\uffff\1\u0155",
-            "\1\u0156",
-            "\1\u0157",
-            "\1\u0158\5\uffff\1\u0159",
-            "\1\u015a",
-            "\1\u015b",
-            "\1\u015c",
-            "\1\u015d",
-            "\1\u0160\17\uffff\1\u015f\1\u015e",
-            "\1\u0161",
-            "\1\u0162\16\uffff\1\u0163",
+            "\1\u0154",
+            "\1\u0155",
+            "\1\u0157\1\u0156",
+            "\1\u0158\3\uffff\1\u0159",
             "\1\75\13\uffff\12\75\7\uffff\32\75\4\uffff\1\75\1\uffff\32\75",
+            "\1\u015b",
+            "\1\u015c\7\uffff\1\u015d",
+            "\1\u015e",
+            "\1\u015f",
+            "\1\u0160\5\uffff\1\u0161",
+            "\1\u0162",
+            "\1\u0163",
+            "\1\u0164",
             "\1\u0165",
-            "",
-            "",
-            "\1\u0166",
-            "\1\u0168\5\uffff\1\u0167",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
+            "\1\u0168\17\uffff\1\u0167\1\u0166",
             "\1\u0169",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "\1\u016b",
-            "",
+            "\1\u016a\16\uffff\1\u016b",
+            "\1\75\13\uffff\12\75\7\uffff\32\75\4\uffff\1\75\1\uffff\32\75",
             "\1\u016d",
             "",
             "",
@@ -8522,74 +8617,107 @@
             "",
             "",
             "",
-            "\12\u00c8\10\uffff\1\u00ca\1\uffff\3\u00ca\5\uffff\1\u00ca\22\uffff\1\u00c8\2\uffff\1\u00ca\1\uffff\3\u00ca\5\uffff\1\u00ca",
             "",
             "",
             "",
             "",
-            "\1\u016f",
+            "",
+            "\1\u016e",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
             "\1\u0170",
-            "\1\u0171",
-            "",
-            "",
             "",
             "\1\u0172",
-            "\1\u0173",
-            "\1\75\13\uffff\12\75\7\uffff\32\75\4\uffff\1\75\1\uffff\32\75",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "\12\u00ca\10\uffff\1\u00cc\1\uffff\3\u00cc\5\uffff\1\u00cc\22\uffff\1\u00ca\2\uffff\1\u00cc\1\uffff\3\u00cc\5\uffff\1\u00cc",
+            "",
+            "",
+            "",
+            "",
+            "\1\u0174",
             "\1\u0175",
             "\1\u0176",
+            "",
+            "",
+            "",
             "\1\u0177",
             "\1\u0178",
-            "\1\u0179",
+            "\1\75\13\uffff\12\75\7\uffff\32\75\4\uffff\1\75\1\uffff\32\75",
             "\1\u017a",
             "\1\u017b",
             "\1\u017c",
-            "",
             "\1\u017d",
             "\1\u017e",
-            "",
             "\1\u017f",
-            "\1\75\13\uffff\12\75\7\uffff\32\75\4\uffff\1\75\1\uffff\14\75\1\u0180\15\75",
+            "\1\u0180",
+            "\1\u0181",
+            "",
             "\1\u0182",
             "\1\u0183",
+            "",
             "\1\u0184",
-            "\1\u0185",
-            "\1\u0186",
+            "\1\75\13\uffff\12\75\7\uffff\32\75\4\uffff\1\75\1\uffff\14\75\1\u0185\15\75",
             "\1\u0187",
             "\1\u0188",
-            "\1\u0189\5\uffff\1\u018a",
+            "\1\u0189",
+            "\1\u018a",
             "\1\u018b",
             "\1\u018c",
             "\1\u018d",
-            "\1\u018e",
-            "\1\u018f",
+            "\1\u018e\5\uffff\1\u018f",
             "\1\u0190",
             "\1\u0191",
             "\1\u0192",
-            "",
             "\1\u0193",
             "\1\u0194",
             "\1\u0195",
             "\1\u0196",
-            "",
             "\1\u0197",
+            "",
             "\1\u0198",
             "\1\u0199",
             "\1\u019a",
-            "\1\u019c\14\uffff\1\u019b",
+            "\1\u019b",
+            "",
+            "\1\u019c",
             "\1\u019d",
             "\1\u019e",
             "\1\u019f",
             "\1\u01a0",
-            "\1\u01a2\1\u01a1",
+            "\1\u01a2\14\uffff\1\u01a1",
             "\1\u01a3",
-            "\1\75\13\uffff\12\75\7\uffff\32\75\4\uffff\1\75\1\uffff\32\75",
+            "\1\u01a4",
             "\1\u01a5",
             "\1\u01a6",
-            "\1\u01a7",
-            "\1\u01a8",
+            "\1\u01a8\1\u01a7",
             "\1\u01a9",
-            "\1\u01aa",
+            "\1\75\13\uffff\12\75\7\uffff\32\75\4\uffff\1\75\1\uffff\32\75",
             "\1\u01ab",
             "\1\u01ac",
             "\1\u01ad",
@@ -8598,181 +8726,180 @@
             "\1\u01b0",
             "\1\u01b1",
             "\1\u01b2",
-            "\1\u01b3",
-            "\1\75\13\uffff\12\75\7\uffff\32\75\4\uffff\1\75\1\uffff\32\75",
+            "\1\75\13\uffff\12\75\7\uffff\32\75\4\uffff\1\75\1\uffff\14\75\1\u01b3\15\75",
             "\1\u01b5",
             "\1\u01b6",
             "\1\u01b7",
             "\1\u01b8",
             "\1\u01b9",
             "\1\u01ba",
-            "\1\u01bb",
-            "",
+            "\1\75\13\uffff\12\75\7\uffff\32\75\4\uffff\1\75\1\uffff\32\75",
             "\1\u01bc",
             "\1\u01bd",
             "\1\u01be",
             "\1\u01bf",
             "\1\u01c0",
-            "",
-            "",
             "\1\u01c1",
             "\1\u01c2",
+            "",
             "\1\u01c3",
             "\1\u01c4",
             "\1\u01c5",
             "\1\u01c6",
             "\1\u01c7",
+            "",
+            "",
             "\1\u01c8",
             "\1\u01c9",
-            "\1\75\13\uffff\12\75\7\uffff\32\75\4\uffff\1\75\1\uffff\32\75",
+            "\1\u01ca",
             "\1\u01cb",
             "\1\u01cc",
-            "\1\u01ce\3\uffff\1\u01cd",
+            "\1\u01cd",
+            "\1\u01ce",
             "\1\u01cf",
             "\1\u01d0",
-            "\1\u01d1",
+            "\1\75\13\uffff\12\75\7\uffff\32\75\4\uffff\1\75\1\uffff\32\75",
             "\1\u01d2",
             "\1\u01d3",
-            "\1\u01d4",
-            "\1\u01d5",
-            "",
+            "\1\u01d5\3\uffff\1\u01d4",
             "\1\u01d6",
             "\1\u01d7",
-            "\1\75\13\uffff\12\75\7\uffff\32\75\4\uffff\1\75\1\uffff\32\75",
+            "\1\u01d8",
             "\1\u01d9",
-            "",
             "\1\u01da",
             "\1\u01db",
             "\1\u01dc",
+            "",
             "\1\u01dd",
-            "",
-            "",
-            "",
             "\1\u01de",
-            "\1\u01df",
+            "\1\75\13\uffff\12\75\7\uffff\32\75\4\uffff\1\75\1\uffff\32\75",
             "\1\u01e0",
             "",
             "\1\u01e1",
-            "\1\u01e2\6\uffff\1\u01e3",
+            "\1\u01e2",
+            "\1\u01e3",
             "\1\u01e4",
-            "\1\75\13\uffff\12\75\7\uffff\32\75\4\uffff\1\75\1\uffff\32\75",
+            "",
+            "",
+            "",
+            "\1\u01e5",
             "\1\u01e6",
             "\1\u01e7",
-            "\1\u01e9\16\uffff\1\u01e8",
-            "\1\u01ea",
-            "",
+            "\1\u01e8",
+            "\1\u01e9",
+            "\1\75\13\uffff\12\75\7\uffff\32\75\4\uffff\1\75\1\uffff\32\75",
             "\1\75\13\uffff\12\75\7\uffff\32\75\4\uffff\1\75\1\uffff\32\75",
             "\1\u01ec",
+            "",
             "\1\u01ed",
-            "\1\u01ee",
-            "\1\u01ef",
+            "\1\u01ee\6\uffff\1\u01ef",
             "\1\u01f0",
-            "\1\u01f2\5\uffff\1\u01f1",
+            "\1\75\13\uffff\12\75\7\uffff\32\75\4\uffff\1\75\1\uffff\32\75",
+            "\1\u01f2",
             "\1\u01f3",
-            "\1\u01f4",
-            "\1\u01f5",
+            "\1\u01f5\16\uffff\1\u01f4",
             "\1\u01f6",
-            "\1\u01f7",
-            "\1\u01fa\3\uffff\1\u01f8\12\uffff\1\u01f9",
+            "",
+            "\1\75\13\uffff\12\75\7\uffff\32\75\4\uffff\1\75\1\uffff\32\75",
+            "\1\u01f8",
+            "\1\u01f9",
+            "\1\u01fa",
             "\1\u01fb",
             "\1\u01fc",
-            "\1\u01fd",
-            "\1\u01fe",
-            "",
+            "\1\u01fe\5\uffff\1\u01fd",
             "\1\u01ff",
             "\1\u0200",
-            "\1\75\13\uffff\12\75\7\uffff\32\75\4\uffff\1\75\1\uffff\32\75",
-            "\1\75\13\uffff\12\75\7\uffff\32\75\4\uffff\1\75\1\uffff\32\75",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
+            "\1\u0201",
+            "\1\u0202",
             "\1\u0203",
-            "\1\u0206\24\uffff\1\u0205\61\uffff\1\u0204",
+            "\1\u0206\3\uffff\1\u0204\12\uffff\1\u0205",
             "\1\u0207",
             "\1\u0208",
             "\1\u0209",
-            "",
             "\1\u020a",
+            "",
             "\1\u020b",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
             "\1\u020c",
-            "\1\u020d",
-            "\1\75\13\uffff\12\75\7\uffff\32\75\4\uffff\1\75\1\uffff\14\75\1\u020e\15\75",
+            "\1\u020f\24\uffff\1\u020e\61\uffff\1\u020d",
             "\1\u0210",
             "\1\u0211",
-            "\1\u0213\3\uffff\1\u0212",
-            "\1\75\13\uffff\12\75\7\uffff\32\75\4\uffff\1\75\1\uffff\32\75",
+            "\1\u0212",
+            "",
+            "\1\u0213",
+            "\1\u0214",
             "\1\u0215",
             "\1\u0216",
-            "\1\u0217",
-            "",
-            "\1\75\13\uffff\12\75\7\uffff\32\75\4\uffff\1\75\1\uffff\22\75\1\u0218\7\75",
+            "\1\75\13\uffff\12\75\7\uffff\32\75\4\uffff\1\75\1\uffff\14\75\1\u0217\15\75",
+            "\1\u0219",
             "\1\u021a",
-            "\1\u021b",
-            "\1\u021c",
+            "\1\u021c\3\uffff\1\u021b",
             "\1\75\13\uffff\12\75\7\uffff\32\75\4\uffff\1\75\1\uffff\32\75",
             "\1\u021e",
             "\1\u021f",
             "\1\u0220",
-            "\1\u0221",
-            "\1\u0222",
+            "",
+            "\1\75\13\uffff\12\75\7\uffff\32\75\4\uffff\1\75\1\uffff\22\75\1\u0221\7\75",
             "\1\u0223",
             "\1\u0224",
             "\1\u0225",
-            "\1\75\13\uffff\12\75\7\uffff\32\75\4\uffff\1\75\1\uffff\2\75\1\u0226\27\75",
+            "\1\75\13\uffff\12\75\7\uffff\32\75\4\uffff\1\75\1\uffff\32\75",
+            "\1\u0227",
             "\1\u0228",
-            "\1\75\13\uffff\12\75\7\uffff\32\75\4\uffff\1\75\1\uffff\32\75",
+            "\1\u0229",
             "\1\u022a",
-            "\1\75\13\uffff\12\75\7\uffff\32\75\4\uffff\1\75\1\uffff\32\75",
+            "\1\u022b",
             "\1\u022c",
             "\1\u022d",
             "\1\u022e",
-            "\1\u022f",
-            "\1\u0230",
+            "\1\75\13\uffff\12\75\7\uffff\32\75\4\uffff\1\75\1\uffff\2\75\1\u022f\27\75",
             "\1\u0231",
-            "\1\u0232",
+            "\1\75\13\uffff\12\75\7\uffff\32\75\4\uffff\1\75\1\uffff\32\75",
             "\1\u0233",
-            "\1\u0234",
-            "\1\75\10\uffff\1\u0235\2\uffff\12\75\7\uffff\32\75\4\uffff\1\75\1\uffff\32\75",
+            "\1\75\13\uffff\12\75\7\uffff\32\75\4\uffff\1\75\1\uffff\32\75",
+            "\1\u0235",
+            "\1\u0236",
             "\1\u0237",
             "\1\u0238",
             "\1\u0239",
             "\1\u023a",
             "\1\u023b",
             "\1\u023c",
-            "",
             "\1\u023d",
             "\1\u023e",
-            "\1\u023f",
-            "\1\u0240",
+            "\1\75\10\uffff\1\u023f\2\uffff\12\75\7\uffff\32\75\4\uffff\1\75\1\uffff\32\75",
             "\1\u0241",
             "\1\u0242",
             "\1\u0243",
-            "\1\75\13\uffff\12\75\7\uffff\32\75\4\uffff\1\75\1\uffff\16\75\1\u0244\13\75",
+            "\1\u0244",
+            "\1\u0245",
             "\1\u0246",
+            "",
             "\1\u0247",
             "\1\u0248",
             "\1\u0249",
             "\1\u024a",
             "\1\u024b",
-            "\1\75\13\uffff\12\75\7\uffff\32\75\4\uffff\1\75\1\uffff\32\75",
-            "",
-            "\1\75\13\uffff\12\75\7\uffff\32\75\4\uffff\1\75\1\uffff\1\u024e\1\75\1\u024d\27\75",
+            "\1\u024c",
+            "\1\u024d",
+            "\1\75\13\uffff\12\75\7\uffff\32\75\4\uffff\1\75\1\uffff\16\75\1\u024e\13\75",
             "\1\u0250",
-            "\1\75\13\uffff\12\75\7\uffff\32\75\4\uffff\1\75\1\uffff\32\75",
+            "",
+            "\1\u0251",
             "\1\u0252",
             "\1\u0253",
             "\1\u0254",
             "\1\u0255",
-            "\1\u0256",
-            "\1\u0257",
-            "\1\u0258",
             "\1\75\13\uffff\12\75\7\uffff\32\75\4\uffff\1\75\1\uffff\32\75",
-            "\1\u025a",
-            "\1\u025b",
             "",
+            "\1\75\13\uffff\12\75\7\uffff\32\75\4\uffff\1\75\1\uffff\1\u0258\1\75\1\u0257\27\75",
+            "\1\u025a",
+            "\1\75\13\uffff\12\75\7\uffff\32\75\4\uffff\1\75\1\uffff\32\75",
             "\1\u025c",
             "\1\u025d",
             "\1\u025e",
@@ -8780,430 +8907,424 @@
             "\1\u0260",
             "\1\u0261",
             "\1\u0262",
-            "",
-            "\1\u0263",
+            "\1\75\13\uffff\12\75\7\uffff\32\75\4\uffff\1\75\1\uffff\32\75",
             "\1\u0264",
-            "\1\75\6\uffff\1\u0265\4\uffff\12\75\7\uffff\32\75\4\uffff\1\75\1\uffff\32\75",
+            "\1\u0265",
+            "",
+            "\1\u0266",
             "\1\u0267",
             "\1\u0268",
             "\1\u0269",
             "\1\u026a",
             "\1\u026b",
             "\1\u026c",
+            "",
             "\1\u026d",
             "\1\u026e",
-            "\1\u026f",
-            "\1\u0270",
-            "",
+            "\1\75\6\uffff\1\u026f\4\uffff\12\75\7\uffff\32\75\4\uffff\1\75\1\uffff\32\75",
             "\1\u0271",
             "\1\u0272",
             "\1\u0273",
             "\1\u0274",
-            "\1\75\13\uffff\12\75\7\uffff\32\75\4\uffff\1\75\1\uffff\23\75\1\u0275\6\75",
+            "\1\u0275",
+            "\1\u0276",
             "\1\u0277",
             "\1\u0278",
-            "\1\75\13\uffff\12\75\7\uffff\32\75\4\uffff\1\75\1\uffff\32\75",
-            "\1\75\13\uffff\12\75\7\uffff\32\75\4\uffff\1\75\1\uffff\32\75",
+            "\1\u0279",
+            "\1\u027a",
+            "",
             "\1\u027b",
-            "",
             "\1\u027c",
-            "",
             "\1\u027d",
-            "\1\75\13\uffff\12\75\7\uffff\32\75\4\uffff\1\75\1\uffff\32\75",
-            "\1\u027f",
-            "\1\75\13\uffff\12\75\7\uffff\32\75\4\uffff\1\75\1\uffff\32\75",
+            "\1\u027e",
+            "\1\75\13\uffff\12\75\7\uffff\32\75\4\uffff\1\75\1\uffff\23\75\1\u027f\6\75",
             "\1\u0281",
-            "",
             "\1\u0282",
             "\1\u0283",
             "\1\u0284",
+            "\1\u0285",
+            "",
+            "",
             "\1\75\13\uffff\12\75\7\uffff\32\75\4\uffff\1\75\1\uffff\32\75",
             "\1\75\13\uffff\12\75\7\uffff\32\75\4\uffff\1\75\1\uffff\32\75",
-            "\1\u0287",
             "\1\u0288",
+            "",
             "\1\u0289",
+            "",
             "\1\u028a",
-            "\1\u028b",
+            "\1\75\13\uffff\12\75\7\uffff\32\75\4\uffff\1\75\1\uffff\32\75",
             "\1\u028c",
-            "\1\u028d",
+            "\1\75\13\uffff\12\75\7\uffff\32\75\4\uffff\1\75\1\uffff\32\75",
             "\1\u028e",
+            "",
             "\1\u028f",
             "\1\u0290",
+            "\1\u0291",
             "\1\75\13\uffff\12\75\7\uffff\32\75\4\uffff\1\75\1\uffff\32\75",
             "\1\75\13\uffff\12\75\7\uffff\32\75\4\uffff\1\75\1\uffff\32\75",
-            "\1\u0293",
             "\1\u0294",
             "\1\u0295",
             "\1\u0296",
-            "",
-            "",
             "\1\u0297",
             "\1\u0298",
             "\1\u0299",
-            "\1\u029a\7\uffff\1\u029b",
+            "\1\u029a",
+            "\1\u029b",
             "\1\u029c",
             "\1\u029d",
-            "\1\u029e",
+            "\1\75\13\uffff\12\75\7\uffff\32\75\4\uffff\1\75\1\uffff\32\75",
             "\1\75\13\uffff\12\75\7\uffff\32\75\4\uffff\1\75\1\uffff\32\75",
             "\1\u02a0",
-            "\1\75\13\uffff\12\75\7\uffff\32\75\4\uffff\1\75\1\uffff\32\75",
+            "\1\u02a1",
             "\1\u02a2",
             "\1\u02a3",
-            "",
             "\1\u02a4",
             "\1\u02a5",
-            "\1\u02a6",
-            "\1\u02a7\16\uffff\1\u02a8",
-            "",
-            "\1\75\13\uffff\12\75\7\uffff\32\75\4\uffff\1\75\1\uffff\32\75",
+            "\1\u02a6\7\uffff\1\u02a7",
+            "\1\u02a8",
+            "\1\u02a9",
             "\1\u02aa",
-            "\1\u02ab",
             "\1\75\13\uffff\12\75\7\uffff\32\75\4\uffff\1\75\1\uffff\32\75",
-            "",
-            "\1\u02ad",
+            "\1\u02ac",
+            "\1\75\13\uffff\12\75\7\uffff\32\75\4\uffff\1\75\1\uffff\32\75",
             "\1\u02ae",
-            "\1\75\13\uffff\12\75\7\uffff\32\75\4\uffff\1\75\1\uffff\32\75",
+            "\1\u02af",
             "",
             "\1\u02b0",
-            "\1\75\13\uffff\12\75\7\uffff\32\75\4\uffff\1\75\1\uffff\32\75",
-            "\1\75\13\uffff\12\75\7\uffff\32\75\4\uffff\1\75\1\uffff\22\75\1\u02b2\7\75",
-            "\1\u02b4",
+            "\1\u02b1",
+            "\1\u02b2",
+            "\1\u02b3\16\uffff\1\u02b4",
+            "",
             "\1\75\13\uffff\12\75\7\uffff\32\75\4\uffff\1\75\1\uffff\32\75",
             "\1\u02b6",
             "\1\u02b7",
-            "\1\u02b8",
-            "\1\u02b9",
-            "",
-            "\1\u02ba",
-            "",
             "\1\75\13\uffff\12\75\7\uffff\32\75\4\uffff\1\75\1\uffff\32\75",
             "",
-            "\1\75\13\uffff\12\75\7\uffff\32\75\4\uffff\1\75\1\uffff\22\75\1\u02bc\7\75",
-            "\1\u02be",
-            "\1\u02bf",
+            "\1\u02b9",
+            "\1\u02ba",
+            "\1\75\13\uffff\12\75\7\uffff\32\75\4\uffff\1\75\1\uffff\32\75",
+            "",
+            "\1\u02bc",
+            "\1\75\13\uffff\12\75\7\uffff\32\75\4\uffff\1\75\1\uffff\32\75",
+            "\1\75\13\uffff\12\75\7\uffff\32\75\4\uffff\1\75\1\uffff\22\75\1\u02be\7\75",
             "\1\u02c0",
-            "\1\u02c1",
-            "\1\75\13\uffff\12\75\7\uffff\32\75\4\uffff\1\75\1\uffff\22\75\1\u02c2\7\75",
+            "\1\75\13\uffff\12\75\7\uffff\32\75\4\uffff\1\75\1\uffff\32\75",
+            "\1\u02c2",
+            "\1\u02c3",
             "\1\u02c4",
             "\1\u02c5",
+            "",
             "\1\u02c6",
             "",
-            "",
-            "\1\u02c7",
             "\1\75\13\uffff\12\75\7\uffff\32\75\4\uffff\1\75\1\uffff\32\75",
-            "\1\u02c9",
+            "",
+            "\1\75\13\uffff\12\75\7\uffff\32\75\4\uffff\1\75\1\uffff\22\75\1\u02c8\7\75",
             "\1\u02ca",
             "\1\u02cb",
-            "\1\75\13\uffff\12\75\7\uffff\32\75\4\uffff\1\75\1\uffff\32\75",
-            "\1\75\10\uffff\1\u02cd\2\uffff\12\75\7\uffff\32\75\4\uffff\1\75\1\uffff\32\75",
-            "\1\u02cf",
-            "\1\u02d0",
+            "\1\u02cc",
+            "\1\u02cd",
+            "\1\u02ce",
+            "\1\75\13\uffff\12\75\7\uffff\32\75\4\uffff\1\75\1\uffff\22\75\1\u02cf\7\75",
             "\1\u02d1",
-            "",
             "\1\u02d2",
-            "\1\75\13\uffff\12\75\7\uffff\32\75\4\uffff\1\75\1\uffff\32\75",
-            "\1\u02d4",
+            "\1\u02d3",
             "",
-            "\1\u02d5",
+            "",
+            "\1\u02d4",
+            "\1\75\13\uffff\12\75\7\uffff\32\75\4\uffff\1\75\1\uffff\32\75",
             "\1\u02d6",
             "\1\u02d7",
             "\1\u02d8",
-            "\1\u02d9\5\uffff\1\u02da",
             "\1\75\13\uffff\12\75\7\uffff\32\75\4\uffff\1\75\1\uffff\32\75",
-            "",
+            "\1\75\10\uffff\1\u02da\2\uffff\12\75\7\uffff\32\75\4\uffff\1\75\1\uffff\32\75",
             "\1\u02dc",
             "\1\u02dd",
-            "",
             "\1\u02de",
             "",
+            "\1\u02df",
             "\1\75\13\uffff\12\75\7\uffff\32\75\4\uffff\1\75\1\uffff\32\75",
-            "\1\75\13\uffff\12\75\7\uffff\32\75\4\uffff\1\75\1\uffff\32\75",
-            "\1\75\13\uffff\12\75\7\uffff\32\75\4\uffff\1\75\1\uffff\32\75",
+            "\1\u02e1",
+            "",
             "\1\u02e2",
             "\1\u02e3",
             "\1\u02e4",
             "\1\u02e5",
-            "",
-            "\1\u02e6",
-            "\1\u02e7",
-            "\1\u02e8",
-            "\1\75\13\uffff\12\75\7\uffff\32\75\4\uffff\1\75\1\uffff\14\75\1\u02e9\15\75",
-            "\1\u02eb",
+            "\1\u02e6\5\uffff\1\u02e7",
             "\1\75\13\uffff\12\75\7\uffff\32\75\4\uffff\1\75\1\uffff\32\75",
-            "\1\u02ed",
-            "\1\u02ee",
+            "",
+            "\1\u02e9",
+            "\1\u02ea",
+            "",
+            "\1\u02eb",
+            "",
+            "\1\75\13\uffff\12\75\7\uffff\32\75\4\uffff\1\75\1\uffff\32\75",
+            "\1\75\13\uffff\12\75\7\uffff\32\75\4\uffff\1\75\1\uffff\32\75",
+            "\1\75\13\uffff\12\75\7\uffff\32\75\4\uffff\1\75\1\uffff\32\75",
             "\1\u02ef",
             "\1\u02f0",
             "\1\u02f1",
-            "",
-            "",
             "\1\u02f2",
+            "",
             "\1\u02f3",
             "\1\u02f4",
             "\1\u02f5",
-            "\1\u02f6",
-            "\1\u02f7",
+            "\1\75\13\uffff\12\75\7\uffff\32\75\4\uffff\1\75\1\uffff\14\75\1\u02f6\15\75",
             "\1\u02f8",
-            "\1\u02f9",
+            "\1\75\13\uffff\12\75\7\uffff\32\75\4\uffff\1\75\1\uffff\32\75",
             "\1\u02fa",
             "\1\u02fb",
             "\1\u02fc",
             "\1\u02fd",
             "\1\u02fe",
-            "\1\75\13\uffff\12\75\7\uffff\32\75\4\uffff\1\75\1\uffff\32\75",
+            "",
+            "",
+            "\1\u02ff",
             "\1\u0300",
-            "",
             "\1\u0301",
-            "\1\75\13\uffff\12\75\7\uffff\32\75\4\uffff\1\75\1\uffff\32\75",
-            "",
-            "",
-            "\1\u0305\2\uffff\1\u0304\14\uffff\1\u0303",
+            "\1\u0302",
+            "\1\u0303",
+            "\1\u0304",
+            "\1\u0305",
             "\1\u0306",
             "\1\u0307",
-            "",
             "\1\u0308",
-            "",
             "\1\u0309",
             "\1\u030a",
             "\1\u030b",
-            "\1\u030c",
-            "",
-            "",
             "\1\75\13\uffff\12\75\7\uffff\32\75\4\uffff\1\75\1\uffff\32\75",
+            "\1\u030d",
+            "",
             "\1\u030e",
-            "\1\u030f",
-            "",
             "\1\75\13\uffff\12\75\7\uffff\32\75\4\uffff\1\75\1\uffff\32\75",
-            "\1\75\13\uffff\12\75\7\uffff\32\75\4\uffff\1\75\1\uffff\32\75",
+            "\1\u0310",
+            "\1\u0311",
             "\1\u0312",
-            "\1\u0313",
-            "\1\u0314",
-            "\1\75\13\uffff\12\75\7\uffff\32\75\4\uffff\1\75\1\uffff\32\75",
             "",
             "",
-            "\1\75\13\uffff\12\75\7\uffff\32\75\4\uffff\1\75\1\uffff\32\75",
+            "\1\u0315\2\uffff\1\u0314\14\uffff\1\u0313",
+            "\1\u0316",
             "\1\u0317",
+            "",
             "\1\u0318",
+            "",
             "\1\u0319",
             "\1\u031a",
             "\1\u031b",
             "\1\u031c",
-            "\1\u031d",
             "",
+            "",
+            "\1\75\13\uffff\12\75\7\uffff\32\75\4\uffff\1\75\1\uffff\32\75",
             "\1\u031e",
             "\1\u031f",
-            "\1\u0320",
             "",
-            "\1\u0321",
-            "",
+            "\1\75\13\uffff\12\75\7\uffff\32\75\4\uffff\1\75\1\uffff\32\75",
+            "\1\75\13\uffff\12\75\7\uffff\32\75\4\uffff\1\75\1\uffff\32\75",
             "\1\u0322",
             "\1\u0323",
             "\1\u0324",
-            "\1\u0325",
-            "\1\u0326",
+            "\1\75\13\uffff\12\75\7\uffff\32\75\4\uffff\1\75\1\uffff\32\75",
+            "",
+            "",
+            "\1\75\13\uffff\12\75\7\uffff\32\75\4\uffff\1\75\1\uffff\32\75",
             "\1\u0327",
             "\1\u0328",
-            "",
             "\1\u0329",
             "\1\u032a",
-            "",
-            "\1\75\13\uffff\12\75\7\uffff\32\75\4\uffff\1\75\1\uffff\32\75",
-            "\1\75\13\uffff\12\75\7\uffff\32\75\4\uffff\1\75\1\uffff\32\75",
+            "\1\u032b",
+            "\1\u032c",
             "",
             "\1\u032d",
-            "",
-            "\1\75\13\uffff\12\75\7\uffff\32\75\4\uffff\1\75\1\uffff\32\75",
-            "",
+            "\1\u032e",
             "\1\u032f",
             "",
-            "\1\75\13\uffff\12\75\7\uffff\32\75\4\uffff\1\75\1\uffff\32\75",
+            "\1\u0330",
+            "",
             "\1\u0331",
-            "\1\75\13\uffff\12\75\7\uffff\32\75\4\uffff\1\75\1\uffff\32\75",
+            "\1\u0332",
             "\1\u0333",
-            "\1\75\13\uffff\12\75\7\uffff\32\75\4\uffff\1\75\1\uffff\32\75",
-            "",
-            "\1\75\13\uffff\12\75\7\uffff\32\75\4\uffff\1\75\1\uffff\32\75",
-            "",
+            "\1\u0334",
+            "\1\u0335",
             "\1\u0336",
             "\1\u0337",
+            "",
             "\1\u0338",
             "\1\u0339",
+            "",
+            "\1\75\13\uffff\12\75\7\uffff\32\75\4\uffff\1\75\1\uffff\32\75",
             "\1\75\13\uffff\12\75\7\uffff\32\75\4\uffff\1\75\1\uffff\32\75",
             "",
-            "\1\75\13\uffff\12\75\7\uffff\1\75\1\u033b\30\75\4\uffff\1\75\1\uffff\32\75",
+            "\1\u033c",
+            "",
             "\1\75\13\uffff\12\75\7\uffff\32\75\4\uffff\1\75\1\uffff\32\75",
+            "",
             "\1\u033e",
-            "\1\u033f",
             "",
-            "\1\u0340\5\uffff\1\u0341",
-            "\1\u0342",
-            "\1\u0343",
-            "",
-            "",
-            "",
-            "\1\u0344",
             "\1\75\13\uffff\12\75\7\uffff\32\75\4\uffff\1\75\1\uffff\32\75",
+            "\1\u0340",
+            "\1\75\13\uffff\12\75\7\uffff\32\75\4\uffff\1\75\1\uffff\32\75",
+            "\1\u0342",
+            "\1\75\13\uffff\12\75\7\uffff\32\75\4\uffff\1\75\1\uffff\32\75",
+            "",
+            "\1\75\13\uffff\12\75\7\uffff\32\75\4\uffff\1\75\1\uffff\32\75",
+            "",
+            "\1\u0345",
             "\1\u0346",
             "\1\u0347",
-            "",
             "\1\75\13\uffff\12\75\7\uffff\32\75\4\uffff\1\75\1\uffff\32\75",
             "\1\u0349",
-            "\1\u034a",
-            "\1\u034b",
-            "\1\u034c",
-            "\1\u034d",
+            "\1\75\13\uffff\12\75\7\uffff\32\75\4\uffff\1\75\1\uffff\32\75",
+            "",
+            "\1\75\13\uffff\12\75\7\uffff\1\75\1\u034b\30\75\4\uffff\1\75\1\uffff\32\75",
+            "\1\75\13\uffff\12\75\7\uffff\32\75\4\uffff\1\75\1\uffff\32\75",
             "\1\u034e",
-            "",
             "\1\u034f",
-            "\1\u0350",
-            "\1\u0351",
             "",
-            "",
-            "",
+            "\1\u0350\5\uffff\1\u0351",
             "\1\u0352",
             "\1\u0353",
+            "",
+            "",
+            "",
+            "\1\u0354",
             "\1\75\13\uffff\12\75\7\uffff\32\75\4\uffff\1\75\1\uffff\32\75",
-            "\1\u0355",
             "\1\u0356",
             "\1\u0357",
+            "",
             "\1\75\13\uffff\12\75\7\uffff\32\75\4\uffff\1\75\1\uffff\32\75",
             "\1\u0359",
-            "",
-            "\1\75\13\uffff\12\75\7\uffff\32\75\4\uffff\1\75\1\uffff\32\75",
-            "",
-            "\1\75\13\uffff\12\75\7\uffff\32\75\4\uffff\1\75\1\uffff\32\75",
+            "\1\u035a",
+            "\1\u035b",
             "\1\u035c",
-            "\1\75\13\uffff\12\75\7\uffff\32\75\4\uffff\1\75\1\uffff\32\75",
+            "\1\u035d",
             "\1\u035e",
+            "",
             "\1\u035f",
             "\1\u0360",
             "\1\u0361",
-            "\1\75\13\uffff\12\75\7\uffff\32\75\4\uffff\1\75\1\uffff\32\75",
-            "\1\u0363",
-            "\1\u0364",
-            "\1\75\13\uffff\12\75\7\uffff\32\75\4\uffff\1\75\1\uffff\5\75\1\u0366\1\75\1\u0365\12\75\1\u0367\7\75",
-            "\1\75\13\uffff\12\75\7\uffff\32\75\4\uffff\1\75\1\uffff\32\75",
-            "\1\75\13\uffff\12\75\7\uffff\32\75\4\uffff\1\75\1\uffff\32\75",
-            "\1\75\13\uffff\12\75\7\uffff\32\75\4\uffff\1\75\1\uffff\32\75",
-            "\1\u036c",
-            "\1\75\13\uffff\12\75\7\uffff\32\75\4\uffff\1\75\1\uffff\32\75",
-            "\1\u036e",
-            "\1\u036f",
             "",
+            "",
+            "",
+            "\1\u0362",
+            "\1\u0363",
+            "\1\75\13\uffff\12\75\7\uffff\32\75\4\uffff\1\75\1\uffff\32\75",
+            "\1\75\13\uffff\12\75\7\uffff\32\75\4\uffff\1\75\1\uffff\14\75\1\u0365\15\75",
+            "\1\u0367",
+            "\1\u0368",
+            "\1\75\13\uffff\12\75\7\uffff\32\75\4\uffff\1\75\1\uffff\32\75",
+            "\1\u036a",
+            "",
+            "\1\75\13\uffff\12\75\7\uffff\32\75\4\uffff\1\75\1\uffff\32\75",
+            "",
+            "\1\75\10\uffff\1\u036c\2\uffff\12\75\7\uffff\32\75\4\uffff\1\75\1\uffff\32\75",
+            "\1\u036e",
+            "\1\75\13\uffff\12\75\7\uffff\32\75\4\uffff\1\75\1\uffff\32\75",
             "\1\u0370",
             "\1\u0371",
-            "",
-            "",
-            "",
-            "",
             "\1\u0372",
+            "\1\u0373",
             "\1\75\13\uffff\12\75\7\uffff\32\75\4\uffff\1\75\1\uffff\32\75",
-            "\1\u0374",
+            "\1\u0375",
+            "\1\u0376",
+            "\1\75\13\uffff\12\75\7\uffff\32\75\4\uffff\1\75\1\uffff\22\75\1\u0377\7\75",
             "\1\75\13\uffff\12\75\7\uffff\32\75\4\uffff\1\75\1\uffff\32\75",
             "\1\75\13\uffff\12\75\7\uffff\32\75\4\uffff\1\75\1\uffff\32\75",
             "\1\75\13\uffff\12\75\7\uffff\32\75\4\uffff\1\75\1\uffff\32\75",
-            "\1\u0378",
+            "\1\u037c",
+            "\1\75\13\uffff\12\75\7\uffff\32\75\4\uffff\1\75\1\uffff\32\75",
+            "\1\u037e",
+            "\1\u037f",
             "",
-            "\1\75\13\uffff\12\75\7\uffff\32\75\4\uffff\1\75\1\uffff\32\75",
-            "\1\u037a",
-            "",
-            "",
-            "\1\u037b",
-            "\1\75\13\uffff\12\75\7\uffff\32\75\4\uffff\1\75\1\uffff\32\75",
-            "\1\u037d",
-            "",
-            "",
-            "\1\75\13\uffff\12\75\7\uffff\32\75\4\uffff\1\75\1\uffff\32\75",
-            "\1\75\13\uffff\12\75\7\uffff\32\75\4\uffff\1\75\1\uffff\32\75",
             "\1\u0380",
-            "\1\75\13\uffff\12\75\7\uffff\32\75\4\uffff\1\75\1\uffff\32\75",
+            "\1\u0381",
+            "",
             "\1\u0382",
             "\1\u0383",
             "\1\u0384",
-            "\1\u0385",
-            "\1\u0386",
-            "\1\75\13\uffff\12\75\7\uffff\32\75\4\uffff\1\75\1\uffff\32\75",
             "",
-            "\1\u0388",
-            "\1\u0389",
-            "\1\u038a",
+            "",
+            "",
+            "\1\u0385",
             "\1\75\13\uffff\12\75\7\uffff\32\75\4\uffff\1\75\1\uffff\32\75",
-            "\1\u038c",
+            "\1\u0387",
             "\1\75\13\uffff\12\75\7\uffff\32\75\4\uffff\1\75\1\uffff\32\75",
+            "\1\75\13\uffff\12\75\7\uffff\32\75\4\uffff\1\75\1\uffff\32\75",
+            "\1\75\13\uffff\12\75\7\uffff\32\75\4\uffff\1\75\1\uffff\32\75",
+            "\1\u038b",
+            "",
+            "\1\75\13\uffff\12\75\7\uffff\32\75\4\uffff\1\75\1\uffff\32\75",
+            "\1\u038d",
+            "",
+            "",
             "\1\u038e",
-            "\1\u038f",
+            "\1\75\13\uffff\12\75\7\uffff\32\75\4\uffff\1\75\1\uffff\32\75",
             "\1\u0390",
             "",
             "",
             "\1\75\13\uffff\12\75\7\uffff\32\75\4\uffff\1\75\1\uffff\32\75",
-            "",
-            "\1\u0392",
-            "",
-            "\1\u0393",
-            "",
+            "\1\75\13\uffff\12\75\7\uffff\32\75\4\uffff\1\75\1\uffff\32\75",
+            "\1\75\13\uffff\12\75\7\uffff\32\75\4\uffff\1\75\1\uffff\32\75",
             "\1\u0394",
-            "",
-            "",
-            "\1\u0396\11\uffff\1\u0397\5\uffff\1\u0398\1\uffff\1\u0395",
+            "\1\u0395",
+            "\1\u0396",
+            "\1\u0397",
+            "\1\u0398",
             "\1\75\13\uffff\12\75\7\uffff\32\75\4\uffff\1\75\1\uffff\32\75",
+            "",
             "\1\u039a",
-            "\1\75\13\uffff\12\75\7\uffff\32\75\4\uffff\1\75\1\uffff\32\75",
-            "",
+            "\1\u039b",
             "\1\u039c",
-            "",
-            "",
-            "\1\u039d",
+            "\1\75\13\uffff\12\75\7\uffff\32\75\4\uffff\1\75\1\uffff\32\75",
             "\1\u039e",
-            "\1\u039f",
+            "\1\75\13\uffff\12\75\7\uffff\32\75\4\uffff\1\75\1\uffff\32\75",
             "\1\u03a0",
             "\1\u03a1",
             "\1\u03a2",
-            "\1\u03a3",
+            "",
+            "",
+            "\1\75\13\uffff\12\75\7\uffff\32\75\4\uffff\1\75\1\uffff\32\75",
             "",
             "\1\u03a4",
-            "\1\75\13\uffff\12\75\7\uffff\32\75\4\uffff\1\75\1\uffff\32\75",
+            "",
+            "\1\u03a5",
             "",
             "\1\u03a6",
+            "",
+            "",
+            "\1\u03a8\11\uffff\1\u03a9\5\uffff\1\u03aa\1\uffff\1\u03a7",
             "\1\75\13\uffff\12\75\7\uffff\32\75\4\uffff\1\75\1\uffff\32\75",
-            "\1\75\13\uffff\12\75\7\uffff\32\75\4\uffff\1\75\1\uffff\32\75",
-            "\1\u03a9",
-            "\1\u03aa",
-            "\1\u03ab",
             "\1\u03ac",
-            "\1\u03ad",
-            "\1\u03ae",
-            "\1\u03af",
+            "",
             "\1\75\13\uffff\12\75\7\uffff\32\75\4\uffff\1\75\1\uffff\32\75",
             "",
+            "\1\u03ae",
+            "",
+            "",
+            "\1\u03af",
+            "\1\u03b0",
             "\1\u03b1",
-            "\1\u03b3\11\uffff\1\u03b4\5\uffff\1\u03b5\1\uffff\1\u03b2",
+            "\1\u03b2",
+            "\1\u03b3",
+            "\1\u03b4",
+            "\1\u03b5",
+            "",
             "\1\u03b6",
-            "",
-            "\1\u03b7",
-            "",
+            "\1\75\13\uffff\12\75\7\uffff\32\75\4\uffff\1\75\1\uffff\32\75",
             "",
             "\1\u03b8",
-            "",
-            "\1\u03b9",
+            "\1\75\13\uffff\12\75\7\uffff\32\75\4\uffff\1\75\1\uffff\32\75",
             "\1\75\13\uffff\12\75\7\uffff\32\75\4\uffff\1\75\1\uffff\32\75",
             "\1\u03bb",
             "\1\u03bc",
-            "",
             "\1\u03bd",
-            "\1\75\13\uffff\12\75\7\uffff\24\75\1\u03be\5\75\4\uffff\1\75\1\uffff\32\75",
+            "\1\u03be",
+            "\1\u03bf",
             "\1\u03c0",
             "\1\u03c1",
             "\1\75\13\uffff\12\75\7\uffff\32\75\4\uffff\1\75\1\uffff\32\75",
             "",
-            "",
-            "",
-            "",
             "\1\u03c3",
             "",
-            "\1\u03c4",
-            "\1\u03c5",
-            "\1\u03c6",
-            "\1\75\13\uffff\12\75\7\uffff\32\75\4\uffff\1\75\1\uffff\32\75",
+            "\1\u03c5\11\uffff\1\u03c6\5\uffff\1\u03c7\1\uffff\1\u03c4",
             "\1\u03c8",
             "",
             "\1\u03c9",
@@ -9213,258 +9334,283 @@
             "\1\u03ca",
             "",
             "\1\u03cb",
-            "\1\u03cc",
-            "",
+            "\1\75\13\uffff\12\75\7\uffff\32\75\4\uffff\1\75\1\uffff\32\75",
             "\1\u03cd",
-            "",
-            "",
             "\1\u03ce",
             "",
             "\1\u03cf",
-            "\1\u03d0",
-            "\1\u03d1",
-            "\1\u03d3\11\uffff\1\u03d4\5\uffff\1\u03d5\1\uffff\1\u03d2",
+            "\1\75\13\uffff\12\75\7\uffff\24\75\1\u03d0\5\75\4\uffff\1\75\1\uffff\32\75",
             "\1\75\13\uffff\12\75\7\uffff\32\75\4\uffff\1\75\1\uffff\32\75",
             "",
-            "\1\u03d7",
-            "\1\u03d8",
-            "\1\75\13\uffff\12\75\7\uffff\32\75\4\uffff\1\75\1\uffff\32\75",
             "",
+            "",
+            "",
+            "\1\u03d3",
+            "",
+            "\1\u03d4",
+            "\1\u03d5",
+            "\1\u03d6",
+            "\1\75\13\uffff\12\75\7\uffff\32\75\4\uffff\1\75\1\uffff\32\75",
+            "\1\u03d8\17\uffff\1\u03d9",
             "\1\u03da",
-            "",
             "\1\u03db",
             "\1\u03dc",
+            "",
             "\1\u03dd",
             "",
+            "",
+            "",
             "\1\u03de",
-            "\1\75\13\uffff\12\75\7\uffff\32\75\4\uffff\1\75\1\uffff\32\75",
+            "",
+            "\1\u03df",
             "\1\u03e0",
             "",
-            "",
-            "",
-            "",
-            "",
             "\1\u03e1",
             "",
+            "",
+            "",
             "\1\u03e2",
             "\1\u03e3",
             "\1\u03e4",
-            "\1\u03e5",
-            "\1\u03e6",
+            "\1\u03e6\11\uffff\1\u03e7\5\uffff\1\u03e8\1\uffff\1\u03e5",
             "\1\75\13\uffff\12\75\7\uffff\32\75\4\uffff\1\75\1\uffff\32\75",
-            "\1\u03e8",
-            "\1\u03e9",
+            "",
             "\1\u03ea",
-            "",
             "\1\u03eb",
+            "\1\75\13\uffff\12\75\7\uffff\32\75\4\uffff\1\75\1\uffff\32\75",
             "",
-            "",
-            "\1\u03ec",
             "\1\u03ed",
+            "",
             "\1\u03ee",
             "\1\u03ef",
             "\1\u03f0",
-            "\1\75\13\uffff\12\75\7\uffff\32\75\4\uffff\1\75\1\uffff\32\75",
-            "\1\u03f2",
             "",
+            "\1\u03f1",
+            "\1\75\13\uffff\12\75\7\uffff\32\75\4\uffff\1\75\1\uffff\32\75",
             "\1\u03f3",
             "",
             "",
             "",
             "",
+            "",
             "\1\u03f4",
+            "",
             "\1\u03f5",
             "\1\u03f6",
-            "\1\u03f7\17\uffff\1\u03f8",
-            "",
+            "\1\u03f7",
+            "\1\u03f8",
+            "\1\u03f9",
             "\1\75\13\uffff\12\75\7\uffff\32\75\4\uffff\1\75\1\uffff\32\75",
-            "\1\u03fa",
             "\1\u03fb",
             "\1\u03fc",
-            "",
             "\1\u03fd",
+            "",
             "\1\u03fe",
             "",
+            "",
             "\1\u03ff",
             "\1\u0400",
             "\1\u0401",
-            "\1\75\13\uffff\12\75\7\uffff\32\75\4\uffff\1\75\1\uffff\32\75",
-            "",
+            "\1\u0402",
             "\1\u0403",
-            "\1\u0404",
+            "\1\75\13\uffff\12\75\7\uffff\32\75\4\uffff\1\75\1\uffff\32\75",
             "\1\u0405",
             "",
             "\1\u0406",
+            "",
+            "",
+            "",
+            "",
             "\1\u0407",
             "\1\u0408",
             "\1\u0409",
-            "\1\75\13\uffff\12\75\7\uffff\32\75\4\uffff\1\75\1\uffff\32\75",
-            "\1\u040b",
-            "",
-            "",
-            "",
-            "",
+            "\1\u040a\17\uffff\1\u040b",
             "",
             "\1\75\13\uffff\12\75\7\uffff\32\75\4\uffff\1\75\1\uffff\32\75",
             "\1\u040d",
-            "",
             "\1\u040e",
-            "\1\75\13\uffff\12\75\7\uffff\32\75\4\uffff\1\75\1\uffff\32\75",
-            "\1\u0410",
-            "\1\75\13\uffff\12\75\7\uffff\32\75\4\uffff\1\75\1\uffff\22\75\1\u0411\7\75",
-            "\1\u0413",
+            "\1\u040f",
             "",
+            "",
+            "\1\u0410",
+            "\1\u0411",
+            "\1\u0412",
             "\1\75\13\uffff\12\75\7\uffff\32\75\4\uffff\1\75\1\uffff\32\75",
-            "\1\75\13\uffff\12\75\7\uffff\32\75\4\uffff\1\75\1\uffff\32\75",
+            "",
+            "",
+            "",
+            "\1\u0414",
+            "\1\u0415",
             "\1\u0416",
             "\1\u0417",
             "\1\u0418",
+            "",
             "\1\u0419",
             "\1\u041a",
-            "",
             "\1\u041b",
-            "\1\u041c",
+            "\1\75\13\uffff\12\75\7\uffff\32\75\4\uffff\1\75\1\uffff\32\75",
             "\1\u041d",
+            "",
+            "",
+            "",
+            "",
+            "",
             "\1\75\13\uffff\12\75\7\uffff\32\75\4\uffff\1\75\1\uffff\32\75",
             "\1\u041f",
+            "",
             "\1\u0420",
-            "\1\u0421",
             "\1\75\13\uffff\12\75\7\uffff\32\75\4\uffff\1\75\1\uffff\32\75",
-            "\1\75\13\uffff\12\75\7\uffff\32\75\4\uffff\1\75\1\uffff\32\75",
-            "",
-            "\1\u0424",
+            "\1\u0422",
+            "\1\75\13\uffff\12\75\7\uffff\32\75\4\uffff\1\75\1\uffff\22\75\1\u0423\7\75",
             "\1\u0425",
-            "\1\u0426",
-            "\1\u0427",
+            "",
             "\1\75\13\uffff\12\75\7\uffff\32\75\4\uffff\1\75\1\uffff\32\75",
-            "",
-            "",
-            "",
+            "\1\75\13\uffff\12\75\7\uffff\32\75\4\uffff\1\75\1\uffff\32\75",
+            "\1\u0428",
             "\1\u0429",
             "\1\u042a",
             "\1\u042b",
             "\1\u042c",
-            "\1\u042d",
-            "\1\75\13\uffff\12\75\7\uffff\32\75\4\uffff\1\75\1\uffff\32\75",
-            "\1\75\13\uffff\12\75\7\uffff\32\75\4\uffff\1\75\1\uffff\32\75",
-            "\1\75\13\uffff\12\75\7\uffff\32\75\4\uffff\1\75\1\uffff\32\75",
             "",
+            "\1\u042d",
+            "\1\u042e",
+            "\1\u042f",
+            "\1\75\13\uffff\12\75\7\uffff\32\75\4\uffff\1\75\1\uffff\32\75",
             "\1\u0431",
             "\1\u0432",
+            "\1\u0433",
             "\1\75\13\uffff\12\75\7\uffff\32\75\4\uffff\1\75\1\uffff\32\75",
             "\1\75\13\uffff\12\75\7\uffff\32\75\4\uffff\1\75\1\uffff\32\75",
-            "\1\u0435",
+            "",
             "\1\u0436",
             "\1\u0437",
-            "",
             "\1\u0438",
-            "",
-            "\1\75\13\uffff\12\75\7\uffff\32\75\4\uffff\1\75\1\uffff\32\75",
-            "\1\u043a",
-            "",
-            "\1\75\13\uffff\12\75\7\uffff\32\75\4\uffff\1\75\1\uffff\32\75",
-            "\1\75\13\uffff\12\75\7\uffff\32\75\4\uffff\1\75\1\uffff\32\75",
-            "",
+            "\1\u0439",
             "\1\75\13\uffff\12\75\7\uffff\32\75\4\uffff\1\75\1\uffff\32\75",
             "",
             "",
-            "\1\u043e",
+            "",
+            "\1\u043b",
+            "\1\u043c",
+            "\1\u043d",
             "\1\75\13\uffff\12\75\7\uffff\32\75\4\uffff\1\75\1\uffff\32\75",
             "\1\75\13\uffff\12\75\7\uffff\32\75\4\uffff\1\75\1\uffff\32\75",
+            "\1\75\13\uffff\12\75\7\uffff\32\75\4\uffff\1\75\1\uffff\32\75",
+            "",
             "\1\u0441",
-            "\1\75\13\uffff\12\75\7\uffff\32\75\4\uffff\1\75\1\uffff\32\75",
+            "\1\u0442",
             "\1\u0443",
+            "\1\u0444",
             "\1\75\13\uffff\12\75\7\uffff\32\75\4\uffff\1\75\1\uffff\32\75",
-            "\1\u0445",
+            "\1\75\13\uffff\12\75\7\uffff\32\75\4\uffff\1\75\1\uffff\32\75",
+            "\1\u0447",
+            "\1\u0448",
             "",
-            "\1\u0446",
-            "\1\75\13\uffff\12\75\7\uffff\32\75\4\uffff\1\75\1\uffff\32\75",
             "\1\u0449",
             "",
-            "",
-            "\1\u044a",
+            "\1\75\13\uffff\12\75\7\uffff\32\75\4\uffff\1\75\1\uffff\32\75",
             "\1\u044b",
-            "\1\u044c",
-            "\1\u044d",
             "",
             "\1\75\13\uffff\12\75\7\uffff\32\75\4\uffff\1\75\1\uffff\32\75",
+            "\1\75\13\uffff\12\75\7\uffff\32\75\4\uffff\1\75\1\uffff\32\75",
+            "",
+            "\1\75\13\uffff\12\75\7\uffff\32\75\4\uffff\1\75\1\uffff\32\75",
+            "",
+            "",
             "\1\u044f",
-            "\1\u0450",
-            "\1\u0451",
+            "\1\75\13\uffff\12\75\7\uffff\32\75\4\uffff\1\75\1\uffff\32\75",
+            "\1\75\13\uffff\12\75\7\uffff\32\75\4\uffff\1\75\1\uffff\32\75",
             "\1\u0452",
-            "",
-            "",
-            "",
-            "\1\u0453",
+            "\1\75\13\uffff\12\75\7\uffff\32\75\4\uffff\1\75\1\uffff\32\75",
             "\1\u0454",
-            "",
-            "",
             "\1\75\13\uffff\12\75\7\uffff\32\75\4\uffff\1\75\1\uffff\32\75",
-            "\1\75\13\uffff\12\75\7\uffff\32\75\4\uffff\1\75\1\uffff\32\75",
+            "\1\u0456",
+            "",
             "\1\u0457",
-            "\1\u0458",
-            "",
+            "\1\75\13\uffff\12\75\7\uffff\32\75\4\uffff\1\75\1\uffff\32\75",
             "\1\u045a",
             "",
             "",
-            "",
             "\1\u045b",
-            "",
-            "",
-            "\1\75\13\uffff\12\75\7\uffff\32\75\4\uffff\1\75\1\uffff\32\75",
-            "",
-            "\1\75\13\uffff\12\75\7\uffff\32\75\4\uffff\1\75\1\uffff\32\75",
-            "",
+            "\1\u045c",
+            "\1\u045d",
             "\1\u045e",
             "",
-            "",
-            "",
-            "\1\u045f",
             "\1\75\13\uffff\12\75\7\uffff\32\75\4\uffff\1\75\1\uffff\32\75",
+            "\1\u0460",
             "\1\u0461",
+            "",
+            "",
+            "",
             "\1\u0462",
             "\1\75\13\uffff\12\75\7\uffff\32\75\4\uffff\1\75\1\uffff\32\75",
+            "\1\u0464",
+            "\1\u0465",
+            "",
             "",
             "\1\75\13\uffff\12\75\7\uffff\32\75\4\uffff\1\75\1\uffff\32\75",
-            "\1\75\13\uffff\12\75\7\uffff\32\75\4\uffff\1\75\1\uffff\32\75",
-            "\1\u0466",
             "\1\u0467",
-            "\1\75\13\uffff\12\75\7\uffff\32\75\4\uffff\1\75\1\uffff\32\75",
-            "\1\u0469",
+            "\1\u0468",
             "",
+            "\1\u046a",
             "",
-            "\1\75\13\uffff\12\75\7\uffff\32\75\4\uffff\1\75\1\uffff\32\75",
             "",
             "",
             "\1\u046b",
-            "\1\75\13\uffff\12\75\7\uffff\32\75\4\uffff\1\75\1\uffff\32\75",
             "",
             "",
             "\1\75\13\uffff\12\75\7\uffff\32\75\4\uffff\1\75\1\uffff\32\75",
+            "",
+            "\1\75\13\uffff\12\75\7\uffff\32\75\4\uffff\1\75\1\uffff\32\75",
+            "",
+            "\1\u046e",
+            "",
+            "",
+            "",
+            "\1\u046f",
+            "\1\75\13\uffff\12\75\7\uffff\32\75\4\uffff\1\75\1\uffff\32\75",
+            "\1\u0471",
+            "\1\u0472",
             "\1\75\13\uffff\12\75\7\uffff\32\75\4\uffff\1\75\1\uffff\32\75",
             "",
             "\1\75\13\uffff\12\75\7\uffff\32\75\4\uffff\1\75\1\uffff\32\75",
-            "\1\u0470",
-            "",
-            "",
-            "",
             "\1\75\13\uffff\12\75\7\uffff\32\75\4\uffff\1\75\1\uffff\32\75",
-            "\1\75\13\uffff\12\75\7\uffff\32\75\4\uffff\1\75\1\uffff\32\75",
-            "",
-            "\1\u0473",
-            "",
-            "\1\u0474",
-            "",
-            "",
-            "",
-            "",
-            "\1\u0475",
-            "",
-            "",
             "\1\u0476",
+            "",
             "\1\75\13\uffff\12\75\7\uffff\32\75\4\uffff\1\75\1\uffff\32\75",
             "\1\u0478",
-            "\1\u0479",
+            "",
+            "\1\75\13\uffff\12\75\7\uffff\32\75\4\uffff\1\75\1\uffff\32\75",
+            "",
+            "",
+            "\1\u047a",
+            "\1\75\13\uffff\12\75\7\uffff\32\75\4\uffff\1\75\1\uffff\32\75",
+            "",
+            "",
+            "\1\75\13\uffff\12\75\7\uffff\32\75\4\uffff\1\75\1\uffff\32\75",
+            "\1\75\13\uffff\12\75\7\uffff\32\75\4\uffff\1\75\1\uffff\32\75",
+            "",
+            "\1\75\13\uffff\12\75\7\uffff\32\75\4\uffff\1\75\1\uffff\32\75",
+            "\1\u047f",
+            "",
+            "",
+            "",
+            "\1\u0480",
+            "",
+            "\1\u0481",
+            "",
+            "\1\u0482",
+            "",
+            "",
+            "",
+            "",
+            "\1\u0483",
+            "\1\75\13\uffff\12\75\7\uffff\32\75\4\uffff\1\75\1\uffff\32\75",
+            "\1\u0485",
+            "\1\75\13\uffff\12\75\7\uffff\32\75\4\uffff\1\75\1\uffff\32\75",
+            "\1\u0487",
+            "",
+            "\1\u0488",
             "",
             "\1\75\13\uffff\12\75\7\uffff\32\75\4\uffff\1\75\1\uffff\32\75",
             "\1\75\13\uffff\12\75\7\uffff\32\75\4\uffff\1\75\1\uffff\32\75",
@@ -9502,7 +9648,7 @@
             this.transition = DFA21_transition;
         }
         public String getDescription() {
-            return "1:1: Tokens : ( T__13 | T__14 | T__15 | T__16 | T__17 | T__18 | T__19 | T__20 | T__21 | T__22 | T__23 | T__24 | T__25 | T__26 | T__27 | T__28 | T__29 | T__30 | T__31 | T__32 | T__33 | T__34 | T__35 | T__36 | T__37 | T__38 | T__39 | T__40 | T__41 | T__42 | T__43 | T__44 | T__45 | T__46 | T__47 | T__48 | T__49 | T__50 | T__51 | T__52 | T__53 | T__54 | T__55 | T__56 | T__57 | T__58 | T__59 | T__60 | T__61 | T__62 | T__63 | T__64 | T__65 | T__66 | T__67 | T__68 | T__69 | T__70 | T__71 | T__72 | T__73 | T__74 | T__75 | T__76 | T__77 | T__78 | T__79 | T__80 | T__81 | T__82 | T__83 | T__84 | T__85 | T__86 | T__87 | T__88 | T__89 | T__90 | T__91 | T__92 | T__93 | T__94 | T__95 | T__96 | T__97 | T__98 | T__99 | T__100 | T__101 | T__102 | T__103 | T__104 | T__105 | T__106 | T__107 | T__108 | T__109 | T__110 | T__111 | T__112 | T__113 | T__114 | T__115 | T__116 | T__117 | T__118 | T__119 | T__120 | T__121 | T__122 | T__123 | T__124 | T__125 | T__126 | T__127 | T__128 | T__129 | T__130 | T__131 | T__132 | T__133 | T__134 | T__135 | T__136 | T__137 | T__138 | T__139 | T__140 | T__141 | T__142 | T__143 | T__144 | T__145 | T__146 | T__147 | T__148 | T__149 | T__150 | T__151 | T__152 | T__153 | T__154 | T__155 | T__156 | T__157 | T__158 | T__159 | T__160 | T__161 | T__162 | T__163 | T__164 | T__165 | T__166 | T__167 | T__168 | T__169 | T__170 | T__171 | T__172 | T__173 | T__174 | T__175 | T__176 | T__177 | T__178 | T__179 | T__180 | T__181 | T__182 | T__183 | T__184 | T__185 | T__186 | T__187 | T__188 | T__189 | T__190 | T__191 | T__192 | T__193 | T__194 | T__195 | T__196 | T__197 | T__198 | T__199 | T__200 | T__201 | T__202 | T__203 | T__204 | T__205 | T__206 | T__207 | T__208 | T__209 | T__210 | T__211 | T__212 | T__213 | T__214 | T__215 | T__216 | T__217 | T__218 | T__219 | T__220 | T__221 | T__222 | T__223 | T__224 | T__225 | T__226 | T__227 | T__228 | T__229 | T__230 | T__231 | T__232 | T__233 | T__234 | T__235 | T__236 | T__237 | T__238 | T__239 | T__240 | T__241 | T__242 | T__243 | T__244 | T__245 | T__246 | T__247 | T__248 | T__249 | T__250 | T__251 | T__252 | T__253 | T__254 | T__255 | T__256 | T__257 | T__258 | T__259 | T__260 | T__261 | T__262 | T__263 | T__264 | T__265 | T__266 | RULE_HEX | RULE_INT | RULE_DECIMAL | RULE_ID | RULE_STRING | RULE_ML_COMMENT | RULE_SL_COMMENT | RULE_WS | RULE_ANY_OTHER );";
+            return "1:1: Tokens : ( T__13 | T__14 | T__15 | T__16 | T__17 | T__18 | T__19 | T__20 | T__21 | T__22 | T__23 | T__24 | T__25 | T__26 | T__27 | T__28 | T__29 | T__30 | T__31 | T__32 | T__33 | T__34 | T__35 | T__36 | T__37 | T__38 | T__39 | T__40 | T__41 | T__42 | T__43 | T__44 | T__45 | T__46 | T__47 | T__48 | T__49 | T__50 | T__51 | T__52 | T__53 | T__54 | T__55 | T__56 | T__57 | T__58 | T__59 | T__60 | T__61 | T__62 | T__63 | T__64 | T__65 | T__66 | T__67 | T__68 | T__69 | T__70 | T__71 | T__72 | T__73 | T__74 | T__75 | T__76 | T__77 | T__78 | T__79 | T__80 | T__81 | T__82 | T__83 | T__84 | T__85 | T__86 | T__87 | T__88 | T__89 | T__90 | T__91 | T__92 | T__93 | T__94 | T__95 | T__96 | T__97 | T__98 | T__99 | T__100 | T__101 | T__102 | T__103 | T__104 | T__105 | T__106 | T__107 | T__108 | T__109 | T__110 | T__111 | T__112 | T__113 | T__114 | T__115 | T__116 | T__117 | T__118 | T__119 | T__120 | T__121 | T__122 | T__123 | T__124 | T__125 | T__126 | T__127 | T__128 | T__129 | T__130 | T__131 | T__132 | T__133 | T__134 | T__135 | T__136 | T__137 | T__138 | T__139 | T__140 | T__141 | T__142 | T__143 | T__144 | T__145 | T__146 | T__147 | T__148 | T__149 | T__150 | T__151 | T__152 | T__153 | T__154 | T__155 | T__156 | T__157 | T__158 | T__159 | T__160 | T__161 | T__162 | T__163 | T__164 | T__165 | T__166 | T__167 | T__168 | T__169 | T__170 | T__171 | T__172 | T__173 | T__174 | T__175 | T__176 | T__177 | T__178 | T__179 | T__180 | T__181 | T__182 | T__183 | T__184 | T__185 | T__186 | T__187 | T__188 | T__189 | T__190 | T__191 | T__192 | T__193 | T__194 | T__195 | T__196 | T__197 | T__198 | T__199 | T__200 | T__201 | T__202 | T__203 | T__204 | T__205 | T__206 | T__207 | T__208 | T__209 | T__210 | T__211 | T__212 | T__213 | T__214 | T__215 | T__216 | T__217 | T__218 | T__219 | T__220 | T__221 | T__222 | T__223 | T__224 | T__225 | T__226 | T__227 | T__228 | T__229 | T__230 | T__231 | T__232 | T__233 | T__234 | T__235 | T__236 | T__237 | T__238 | T__239 | T__240 | T__241 | T__242 | T__243 | T__244 | T__245 | T__246 | T__247 | T__248 | T__249 | T__250 | T__251 | T__252 | T__253 | T__254 | T__255 | T__256 | T__257 | T__258 | T__259 | T__260 | T__261 | T__262 | T__263 | T__264 | T__265 | T__266 | T__267 | T__268 | T__269 | T__270 | T__271 | RULE_HEX | RULE_INT | RULE_DECIMAL | RULE_ID | RULE_STRING | RULE_ML_COMMENT | RULE_SL_COMMENT | RULE_WS | RULE_ANY_OTHER );";
         }
         public int specialStateTransition(int s, IntStream _input) throws NoViableAltException {
             IntStream input = _input;
@@ -9542,23 +9688,23 @@
 
                         else if ( (LA21_0=='a') ) {s = 15;}
 
-                        else if ( (LA21_0=='u') ) {s = 16;}
+                        else if ( (LA21_0=='v') ) {s = 16;}
 
-                        else if ( (LA21_0=='n') ) {s = 17;}
+                        else if ( (LA21_0=='u') ) {s = 17;}
 
-                        else if ( (LA21_0=='h') ) {s = 18;}
+                        else if ( (LA21_0=='n') ) {s = 18;}
 
-                        else if ( (LA21_0=='g') ) {s = 19;}
+                        else if ( (LA21_0=='h') ) {s = 19;}
 
-                        else if ( (LA21_0=='w') ) {s = 20;}
+                        else if ( (LA21_0=='g') ) {s = 20;}
 
-                        else if ( (LA21_0=='i') ) {s = 21;}
+                        else if ( (LA21_0=='w') ) {s = 21;}
 
-                        else if ( (LA21_0=='(') ) {s = 22;}
+                        else if ( (LA21_0=='i') ) {s = 22;}
 
-                        else if ( (LA21_0==')') ) {s = 23;}
+                        else if ( (LA21_0=='(') ) {s = 23;}
 
-                        else if ( (LA21_0=='v') ) {s = 24;}
+                        else if ( (LA21_0==')') ) {s = 24;}
 
                         else if ( (LA21_0=='-') ) {s = 25;}
 
@@ -9627,4 +9773,4 @@
     }
  
 
-}
+}
\ No newline at end of file
diff --git a/org.eclipse.osbp.xtext.reportdsl/src-gen/org/eclipse/osbp/xtext/reportdsl/parser/antlr/internal/InternalReportDSLParser.java b/org.eclipse.osbp.xtext.reportdsl/src-gen/org/eclipse/osbp/xtext/reportdsl/parser/antlr/internal/InternalReportDSLParser.java
index b63597b..0571bcd 100644
--- a/org.eclipse.osbp.xtext.reportdsl/src-gen/org/eclipse/osbp/xtext/reportdsl/parser/antlr/internal/InternalReportDSLParser.java
+++ b/org.eclipse.osbp.xtext.reportdsl/src-gen/org/eclipse/osbp/xtext/reportdsl/parser/antlr/internal/InternalReportDSLParser.java
@@ -23,13 +23,14 @@
 @SuppressWarnings("all")
 public class InternalReportDSLParser extends AbstractInternalAntlrParser {
     public static final String[] tokenNames = new String[] {
-        "<invalid>", "<EOR>", "<DOWN>", "<UP>", "RULE_STRING", "RULE_ID", "RULE_INT", "RULE_HEX", "RULE_DECIMAL", "RULE_ML_COMMENT", "RULE_SL_COMMENT", "RULE_WS", "RULE_ANY_OTHER", "'package'", "'{'", "'layout-data'", "'externalCssURI'", "'fromBundle'", "'}'", "'formatters'", "'colors'", "'fonts'", "'medias'", "'media'", "'styles'", "'pagetemplate'", "'type'", "'orientation'", "'topmargin'", "'leftmargin'", "'bottommargin'", "'rightmargin'", "'color'", "'darkens'", "'by-percent'", "'lightens'", "'transforms'", "'towards'", "'font'", "'extends'", "'family'", "'bold'", "'size'", "'style'", "'formatter'", "'backgroundcolor'", "'alternate'", "'textcolor'", "'textalign'", "'border-top'", "'border-bottom'", "'border-left'", "'border-right'", "'padding-top'", "'padding-bottom'", "'padding-left'", "'padding-right'", "'margin-top'", "'margin-bottom'", "'margin-left'", "'margin-right'", "'uomo'", "'ui'", "'report'", "'number'", "'currency'", "'date'", "'date+time'", "'time'", "'describedBy'", "'toolbar'", "'datamart'", "'selectById'", "'rendering'", "'defaultUnit'", "'file'", "'template'", "'header'", "'showOnFirst'", "'height'", "'detail'", "'footer'", "'showOnLast'", "'grid'", "'as'", "'width'", "'row'", "'cell'", "'columnspan'", "'table'", "'detailheader'", "'detailfooter'", "'group'", "'by'", "'details'", "'all'", "'intervals'", "'hidelabel'", "'lookups'", "'attribute'", "'aggregate'", "'on-group'", "'title'", "'('", "')'", "'translatable'", "'nontranslatable'", "'stringBinder'", "'pageBreak'", "'before'", "'after'", "'inside'", "'upTo'", "'daysInPast'", "'string'", "'visibility'", "'-'", "'cellcolor'", "'icon'", "'trend'", "'subtitle'", "'subsubtitle'", "'label'", "'text'", "'autotext'", "'image'", "'scale'", "'import'", "'static'", "'extension'", "'*'", "'ns'", "';'", "'@'", "','", "'='", "'#'", "'['", "']'", "'+='", "'-='", "'*='", "'/='", "'%='", "'<'", "'>'", "'>='", "'||'", "'&&'", "'=='", "'!='", "'==='", "'!=='", "'instanceof'", "'->'", "'..<'", "'..'", "'=>'", "'<>'", "'?:'", "'+'", "'**'", "'/'", "'%'", "'!'", "'++'", "'--'", "'.'", "'::'", "'?.'", "'|'", "'if'", "'else'", "'switch'", "':'", "'default'", "'case'", "'for'", "'while'", "'do'", "'var'", "'val'", "'super'", "'new'", "'false'", "'true'", "'null'", "'typeof'", "'throw'", "'return'", "'try'", "'finally'", "'synchronized'", "'catch'", "'?'", "'&'", "'mm'", "'cm'", "'pt'", "'inch'", "'pc'", "'em'", "'ex'", "'px'", "'a4'", "'a3'", "'a5'", "'us-letter'", "'us-legal'", "'us-ledger'", "'us-super-b'", "'portrait'", "'landscape'", "'normal'", "'italic'", "'oblique'", "'monospace'", "'sans-serif'", "'serif'", "'left'", "'center'", "'right'", "'unformatted'", "'general-number'", "'fixed'", "'percent'", "'scientific'", "'custom'", "'html'", "'pdf'", "'count'", "'running-count'", "'sum'", "'average'", "'minimum'", "'maximum'", "'running-sum'", "'divide'", "'concat'", "'auto'", "'always'", "'avoid'", "'rising'", "'bad-rising'", "'sloping'", "'good-sloping'", "'stagnating'", "'none'", "'solid'", "'dotted'", "'dashed'", "'double'", "'groove'", "'ridge'", "'inset'", "'outset'", "'page-number'", "'total-page'", "'page-number-unfiltered'", "'total-page-unfiltered'", "'page-variable'", "'size-to-image'", "'scale-to-item'", "'clip'", "'url'", "'embed'", "'plain'"
+        "<invalid>", "<EOR>", "<DOWN>", "<UP>", "RULE_STRING", "RULE_ID", "RULE_INT", "RULE_HEX", "RULE_DECIMAL", "RULE_ML_COMMENT", "RULE_SL_COMMENT", "RULE_WS", "RULE_ANY_OTHER", "'package'", "'{'", "'layout-data'", "'externalCssURI'", "'fromBundle'", "'}'", "'formatters'", "'colors'", "'fonts'", "'medias'", "'media'", "'styles'", "'pagetemplate'", "'type'", "'orientation'", "'topmargin'", "'leftmargin'", "'bottommargin'", "'rightmargin'", "'color'", "'darkens'", "'by-percent'", "'lightens'", "'transforms'", "'towards'", "'font'", "'extends'", "'family'", "'bold'", "'size'", "'style'", "'formatter'", "'backgroundcolor'", "'alternate'", "'textcolor'", "'textalign'", "'verticalalign'", "'border-top'", "'border-bottom'", "'border-left'", "'border-right'", "'padding-top'", "'padding-bottom'", "'padding-left'", "'padding-right'", "'margin-top'", "'margin-bottom'", "'margin-left'", "'margin-right'", "'uomo'", "'ui'", "'report'", "'number'", "'currency'", "'date'", "'date+time'", "'time'", "'describedBy'", "'toolbar'", "'datamart'", "'selectById'", "'rendering'", "'defaultUnit'", "'file'", "'template'", "'header'", "'showOnFirst'", "'height'", "'detail'", "'footer'", "'showOnLast'", "'grid'", "'as'", "'width'", "'row'", "'cell'", "'columnspan'", "'table'", "'group'", "'by'", "'details'", "'all'", "'intervals'", "'hidelabel'", "'lookups'", "'attribute'", "'aggregate'", "'on-group'", "'title'", "'('", "')'", "'translatable'", "'nontranslatable'", "'stringBinder'", "'pageBreak'", "'before'", "'after'", "'inside'", "'upTo'", "'daysInPast'", "'string'", "'visibility'", "'-'", "'cellcolor'", "'icon'", "'trend'", "'subtitle'", "'subsubtitle'", "'label'", "'text'", "'autotext'", "'image'", "'scale'", "'import'", "'static'", "'extension'", "'*'", "'ns'", "';'", "'@'", "','", "'='", "'#'", "'['", "']'", "'+='", "'-='", "'*='", "'/='", "'%='", "'<'", "'>'", "'>='", "'||'", "'&&'", "'=='", "'!='", "'==='", "'!=='", "'instanceof'", "'->'", "'..<'", "'..'", "'=>'", "'<>'", "'?:'", "'+'", "'**'", "'/'", "'%'", "'!'", "'++'", "'--'", "'.'", "'::'", "'?.'", "'|'", "'if'", "'else'", "'switch'", "':'", "'default'", "'case'", "'for'", "'while'", "'do'", "'var'", "'val'", "'super'", "'new'", "'false'", "'true'", "'null'", "'typeof'", "'throw'", "'return'", "'try'", "'finally'", "'synchronized'", "'catch'", "'?'", "'&'", "'mm'", "'cm'", "'pt'", "'inch'", "'pc'", "'em'", "'ex'", "'px'", "'a4'", "'a3'", "'a5'", "'us-letter'", "'us-legal'", "'us-ledger'", "'us-super-b'", "'portrait'", "'landscape'", "'normal'", "'italic'", "'oblique'", "'monospace'", "'sans-serif'", "'serif'", "'left'", "'center'", "'right'", "'bottom'", "'middle'", "'top'", "'unformatted'", "'general-number'", "'fixed'", "'percent'", "'scientific'", "'custom'", "'html'", "'pdf'", "'count'", "'running-count'", "'sum'", "'average'", "'minimum'", "'maximum'", "'running-sum'", "'divide'", "'concat'", "'auto'", "'always'", "'avoid'", "'rising'", "'bad-rising'", "'sloping'", "'good-sloping'", "'stagnating'", "'none'", "'solid'", "'dotted'", "'dashed'", "'double'", "'groove'", "'ridge'", "'inset'", "'outset'", "'page-number'", "'total-page'", "'page-number-unfiltered'", "'total-page-unfiltered'", "'page-variable'", "'actual-date'", "'actual-time'", "'report-name'", "'size-to-image'", "'scale-to-item'", "'clip'", "'url'", "'embed'", "'plain'"
     };
     public static final int T__144=144;
     public static final int T__265=265;
     public static final int T__143=143;
     public static final int T__264=264;
     public static final int T__146=146;
+    public static final int T__267=267;
     public static final int T__50=50;
     public static final int T__145=145;
     public static final int T__266=266;
@@ -117,8 +118,10 @@
     public static final int T__156=156;
     public static final int T__151=151;
     public static final int T__150=150;
+    public static final int T__271=271;
     public static final int T__153=153;
     public static final int T__152=152;
+    public static final int T__270=270;
     public static final int T__48=48;
     public static final int T__49=49;
     public static final int T__44=44;
@@ -127,8 +130,10 @@
     public static final int T__47=47;
     public static final int T__40=40;
     public static final int T__148=148;
+    public static final int T__269=269;
     public static final int T__41=41;
     public static final int T__147=147;
+    public static final int T__268=268;
     public static final int T__42=42;
     public static final int T__43=43;
     public static final int T__149=149;
@@ -393,7 +398,7 @@
             int alt1=2;
             int LA1_0 = input.LA(1);
 
-            if ( (LA1_0==127) ) {
+            if ( (LA1_0==126) ) {
                 alt1=1;
             }
             switch (alt1) {
@@ -1011,7 +1016,7 @@
                 int alt6=2;
                 int LA6_0 = input.LA(1);
 
-                if ( (LA6_0==63) ) {
+                if ( (LA6_0==64) ) {
                     alt6=1;
                 }
 
@@ -1328,7 +1333,7 @@
                 int alt8=2;
                 int LA8_0 = input.LA(1);
 
-                if ( (LA8_0==61||(LA8_0>=64 && LA8_0<=68)) ) {
+                if ( (LA8_0==62||(LA8_0>=65 && LA8_0<=69)) ) {
                     alt8=1;
                 }
 
@@ -2573,7 +2578,7 @@
             int alt13=2;
             int LA13_0 = input.LA(1);
 
-            if ( (LA13_0==77) ) {
+            if ( (LA13_0==78) ) {
                 alt13=1;
             }
             switch (alt13) {
@@ -2619,7 +2624,7 @@
             int alt14=2;
             int LA14_0 = input.LA(1);
 
-            if ( (LA14_0==81) ) {
+            if ( (LA14_0==82) ) {
                 alt14=1;
             }
             switch (alt14) {
@@ -3441,7 +3446,7 @@
                 if ( LA17_0 == 40 && getUnorderedGroupHelper().canSelect(grammarAccess.getFontAccess().getUnorderedGroup_4(), 0) ) {
                     alt17=1;
                 }
-                else if ( LA17_0 >= 213 && LA17_0 <= 215 && getUnorderedGroupHelper().canSelect(grammarAccess.getFontAccess().getUnorderedGroup_4(), 1) ) {
+                else if ( LA17_0 >= 212 && LA17_0 <= 214 && getUnorderedGroupHelper().canSelect(grammarAccess.getFontAccess().getUnorderedGroup_4(), 1) ) {
                     alt17=2;
                 }
                 else if ( LA17_0 == 41 && getUnorderedGroupHelper().canSelect(grammarAccess.getFontAccess().getUnorderedGroup_4(), 2) ) {
@@ -3886,7 +3891,7 @@
             int alt18=2;
             int LA18_0 = input.LA(1);
 
-            if ( ((LA18_0>=216 && LA18_0<=218)) ) {
+            if ( ((LA18_0>=215 && LA18_0<=217)) ) {
                 alt18=1;
             }
             else if ( (LA18_0==RULE_STRING) ) {
@@ -4225,7 +4230,7 @@
 
 
     // $ANTLR start "ruleBorderStyle"
-    // InternalReportDSL.g:1535:1: ruleBorderStyle returns [EObject current=null] : ( ( (lv_type_0_0= ruleBorderTypeEnum ) ) ( (lv_widthValue_1_0= ruleUnsignedNumber ) ) ( (otherlv_2= RULE_ID ) ) ) ;
+    // InternalReportDSL.g:1535:1: ruleBorderStyle returns [EObject current=null] : ( ( (lv_type_0_0= ruleBorderTypeEnum ) ) ( (lv_widthValue_1_0= ruleUnsignedNumber ) ) ( (otherlv_2= RULE_ID ) )? ) ;
     public final EObject ruleBorderStyle() throws RecognitionException {
         EObject current = null;
 
@@ -4239,11 +4244,11 @@
         	enterRule();
 
         try {
-            // InternalReportDSL.g:1541:2: ( ( ( (lv_type_0_0= ruleBorderTypeEnum ) ) ( (lv_widthValue_1_0= ruleUnsignedNumber ) ) ( (otherlv_2= RULE_ID ) ) ) )
-            // InternalReportDSL.g:1542:2: ( ( (lv_type_0_0= ruleBorderTypeEnum ) ) ( (lv_widthValue_1_0= ruleUnsignedNumber ) ) ( (otherlv_2= RULE_ID ) ) )
+            // InternalReportDSL.g:1541:2: ( ( ( (lv_type_0_0= ruleBorderTypeEnum ) ) ( (lv_widthValue_1_0= ruleUnsignedNumber ) ) ( (otherlv_2= RULE_ID ) )? ) )
+            // InternalReportDSL.g:1542:2: ( ( (lv_type_0_0= ruleBorderTypeEnum ) ) ( (lv_widthValue_1_0= ruleUnsignedNumber ) ) ( (otherlv_2= RULE_ID ) )? )
             {
-            // InternalReportDSL.g:1542:2: ( ( (lv_type_0_0= ruleBorderTypeEnum ) ) ( (lv_widthValue_1_0= ruleUnsignedNumber ) ) ( (otherlv_2= RULE_ID ) ) )
-            // InternalReportDSL.g:1543:3: ( (lv_type_0_0= ruleBorderTypeEnum ) ) ( (lv_widthValue_1_0= ruleUnsignedNumber ) ) ( (otherlv_2= RULE_ID ) )
+            // InternalReportDSL.g:1542:2: ( ( (lv_type_0_0= ruleBorderTypeEnum ) ) ( (lv_widthValue_1_0= ruleUnsignedNumber ) ) ( (otherlv_2= RULE_ID ) )? )
+            // InternalReportDSL.g:1543:3: ( (lv_type_0_0= ruleBorderTypeEnum ) ) ( (lv_widthValue_1_0= ruleUnsignedNumber ) ) ( (otherlv_2= RULE_ID ) )?
             {
             // InternalReportDSL.g:1543:3: ( (lv_type_0_0= ruleBorderTypeEnum ) )
             // InternalReportDSL.g:1544:4: (lv_type_0_0= ruleBorderTypeEnum )
@@ -4291,7 +4296,7 @@
               					newCompositeNode(grammarAccess.getBorderStyleAccess().getWidthValueUnsignedNumberParserRuleCall_1_0());
               				
             }
-            pushFollow(FOLLOW_4);
+            pushFollow(FOLLOW_42);
             lv_widthValue_1_0=ruleUnsignedNumber();
 
             state._fsp--;
@@ -4315,28 +4320,39 @@
 
             }
 
-            // InternalReportDSL.g:1581:3: ( (otherlv_2= RULE_ID ) )
-            // InternalReportDSL.g:1582:4: (otherlv_2= RULE_ID )
-            {
-            // InternalReportDSL.g:1582:4: (otherlv_2= RULE_ID )
-            // InternalReportDSL.g:1583:5: otherlv_2= RULE_ID
-            {
-            if ( state.backtracking==0 ) {
+            // InternalReportDSL.g:1581:3: ( (otherlv_2= RULE_ID ) )?
+            int alt19=2;
+            int LA19_0 = input.LA(1);
 
-              					if (current==null) {
-              						current = createModelElement(grammarAccess.getBorderStyleRule());
-              					}
-              				
+            if ( (LA19_0==RULE_ID) ) {
+                alt19=1;
             }
-            otherlv_2=(Token)match(input,RULE_ID,FOLLOW_2); if (state.failed) return current;
-            if ( state.backtracking==0 ) {
+            switch (alt19) {
+                case 1 :
+                    // InternalReportDSL.g:1582:4: (otherlv_2= RULE_ID )
+                    {
+                    // InternalReportDSL.g:1582:4: (otherlv_2= RULE_ID )
+                    // InternalReportDSL.g:1583:5: otherlv_2= RULE_ID
+                    {
+                    if ( state.backtracking==0 ) {
 
-              					newLeafNode(otherlv_2, grammarAccess.getBorderStyleAccess().getColorColorCrossReference_2_0());
-              				
-            }
+                      					if (current==null) {
+                      						current = createModelElement(grammarAccess.getBorderStyleRule());
+                      					}
+                      				
+                    }
+                    otherlv_2=(Token)match(input,RULE_ID,FOLLOW_2); if (state.failed) return current;
+                    if ( state.backtracking==0 ) {
 
-            }
+                      					newLeafNode(otherlv_2, grammarAccess.getBorderStyleAccess().getColorColorCrossReference_2_0());
+                      				
+                    }
 
+                    }
+
+
+                    }
+                    break;
 
             }
 
@@ -4405,7 +4421,7 @@
 
 
     // $ANTLR start "ruleStyle"
-    // InternalReportDSL.g:1605:1: ruleStyle returns [EObject current=null] : (otherlv_0= 'style' ( (lv_name_1_0= RULE_ID ) ) otherlv_2= '{' (otherlv_3= 'extends' ( (otherlv_4= RULE_ID ) ) )? ( ( ( ( ({...}? => ( ({...}? => (otherlv_6= 'formatter' ( (otherlv_7= RULE_ID ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_8= 'font' ( (otherlv_9= RULE_ID ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_10= 'backgroundcolor' ( (otherlv_11= RULE_ID ) ) (otherlv_12= 'alternate' ( (otherlv_13= RULE_ID ) ) )? ) ) ) ) | ({...}? => ( ({...}? => (otherlv_14= 'textcolor' ( (otherlv_15= RULE_ID ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_16= 'textalign' ( (lv_textalign_17_0= ruleTextAlignEnum ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_18= 'border-top' ( (lv_borderTop_19_0= ruleBorderStyle ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_20= 'border-bottom' ( (lv_borderBottom_21_0= ruleBorderStyle ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_22= 'border-left' ( (lv_borderLeft_23_0= ruleBorderStyle ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_24= 'border-right' ( (lv_borderRight_25_0= ruleBorderStyle ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_26= 'padding-top' ( (lv_paddingTopValue_27_0= ruleUnsignedNumber ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_28= 'padding-bottom' ( (lv_paddingBottomValue_29_0= ruleUnsignedNumber ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_30= 'padding-left' ( (lv_paddingLeftValue_31_0= ruleUnsignedNumber ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_32= 'padding-right' ( (lv_paddingRightValue_33_0= ruleUnsignedNumber ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_34= 'margin-top' ( (lv_marginTopValue_35_0= ruleUnsignedNumber ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_36= 'margin-bottom' ( (lv_marginBottomValue_37_0= ruleUnsignedNumber ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_38= 'margin-left' ( (lv_marginLeftValue_39_0= ruleUnsignedNumber ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_40= 'margin-right' ( (lv_marginRightValue_41_0= ruleUnsignedNumber ) ) ) ) ) ) )* ) ) ) ( (lv_mediastyles_42_0= ruleMediaStyle ) )* otherlv_43= '}' ) ;
+    // InternalReportDSL.g:1605:1: ruleStyle returns [EObject current=null] : (otherlv_0= 'style' ( (lv_name_1_0= RULE_ID ) ) otherlv_2= '{' (otherlv_3= 'extends' ( (otherlv_4= RULE_ID ) ) )? ( ( ( ( ({...}? => ( ({...}? => (otherlv_6= 'formatter' ( (otherlv_7= RULE_ID ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_8= 'font' ( (otherlv_9= RULE_ID ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_10= 'backgroundcolor' ( (otherlv_11= RULE_ID ) ) (otherlv_12= 'alternate' ( (otherlv_13= RULE_ID ) ) )? ) ) ) ) | ({...}? => ( ({...}? => (otherlv_14= 'textcolor' ( (otherlv_15= RULE_ID ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_16= 'textalign' ( (lv_textalign_17_0= ruleTextAlignEnum ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_18= 'verticalalign' ( (lv_verticalalign_19_0= ruleVerticalTextAlignEnum ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_20= 'border-top' ( (lv_borderTop_21_0= ruleBorderStyle ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_22= 'border-bottom' ( (lv_borderBottom_23_0= ruleBorderStyle ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_24= 'border-left' ( (lv_borderLeft_25_0= ruleBorderStyle ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_26= 'border-right' ( (lv_borderRight_27_0= ruleBorderStyle ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_28= 'padding-top' ( (lv_paddingTopValue_29_0= ruleUnsignedNumber ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_30= 'padding-bottom' ( (lv_paddingBottomValue_31_0= ruleUnsignedNumber ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_32= 'padding-left' ( (lv_paddingLeftValue_33_0= ruleUnsignedNumber ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_34= 'padding-right' ( (lv_paddingRightValue_35_0= ruleUnsignedNumber ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_36= 'margin-top' ( (lv_marginTopValue_37_0= ruleUnsignedNumber ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_38= 'margin-bottom' ( (lv_marginBottomValue_39_0= ruleUnsignedNumber ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_40= 'margin-left' ( (lv_marginLeftValue_41_0= ruleUnsignedNumber ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_42= 'margin-right' ( (lv_marginRightValue_43_0= ruleUnsignedNumber ) ) ) ) ) ) )* ) ) ) ( (lv_mediastyles_44_0= ruleMediaStyle ) )* otherlv_45= '}' ) ;
     public final EObject ruleStyle() throws RecognitionException {
         EObject current = null;
 
@@ -4437,45 +4453,48 @@
         Token otherlv_36=null;
         Token otherlv_38=null;
         Token otherlv_40=null;
-        Token otherlv_43=null;
+        Token otherlv_42=null;
+        Token otherlv_45=null;
         Enumerator lv_textalign_17_0 = null;
 
-        EObject lv_borderTop_19_0 = null;
+        Enumerator lv_verticalalign_19_0 = null;
 
-        EObject lv_borderBottom_21_0 = null;
+        EObject lv_borderTop_21_0 = null;
 
-        EObject lv_borderLeft_23_0 = null;
+        EObject lv_borderBottom_23_0 = null;
 
-        EObject lv_borderRight_25_0 = null;
+        EObject lv_borderLeft_25_0 = null;
 
-        AntlrDatatypeRuleToken lv_paddingTopValue_27_0 = null;
+        EObject lv_borderRight_27_0 = null;
 
-        AntlrDatatypeRuleToken lv_paddingBottomValue_29_0 = null;
+        AntlrDatatypeRuleToken lv_paddingTopValue_29_0 = null;
 
-        AntlrDatatypeRuleToken lv_paddingLeftValue_31_0 = null;
+        AntlrDatatypeRuleToken lv_paddingBottomValue_31_0 = null;
 
-        AntlrDatatypeRuleToken lv_paddingRightValue_33_0 = null;
+        AntlrDatatypeRuleToken lv_paddingLeftValue_33_0 = null;
 
-        AntlrDatatypeRuleToken lv_marginTopValue_35_0 = null;
+        AntlrDatatypeRuleToken lv_paddingRightValue_35_0 = null;
 
-        AntlrDatatypeRuleToken lv_marginBottomValue_37_0 = null;
+        AntlrDatatypeRuleToken lv_marginTopValue_37_0 = null;
 
-        AntlrDatatypeRuleToken lv_marginLeftValue_39_0 = null;
+        AntlrDatatypeRuleToken lv_marginBottomValue_39_0 = null;
 
-        AntlrDatatypeRuleToken lv_marginRightValue_41_0 = null;
+        AntlrDatatypeRuleToken lv_marginLeftValue_41_0 = null;
 
-        EObject lv_mediastyles_42_0 = null;
+        AntlrDatatypeRuleToken lv_marginRightValue_43_0 = null;
+
+        EObject lv_mediastyles_44_0 = null;
 
 
 
         	enterRule();
 
         try {
-            // InternalReportDSL.g:1611:2: ( (otherlv_0= 'style' ( (lv_name_1_0= RULE_ID ) ) otherlv_2= '{' (otherlv_3= 'extends' ( (otherlv_4= RULE_ID ) ) )? ( ( ( ( ({...}? => ( ({...}? => (otherlv_6= 'formatter' ( (otherlv_7= RULE_ID ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_8= 'font' ( (otherlv_9= RULE_ID ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_10= 'backgroundcolor' ( (otherlv_11= RULE_ID ) ) (otherlv_12= 'alternate' ( (otherlv_13= RULE_ID ) ) )? ) ) ) ) | ({...}? => ( ({...}? => (otherlv_14= 'textcolor' ( (otherlv_15= RULE_ID ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_16= 'textalign' ( (lv_textalign_17_0= ruleTextAlignEnum ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_18= 'border-top' ( (lv_borderTop_19_0= ruleBorderStyle ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_20= 'border-bottom' ( (lv_borderBottom_21_0= ruleBorderStyle ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_22= 'border-left' ( (lv_borderLeft_23_0= ruleBorderStyle ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_24= 'border-right' ( (lv_borderRight_25_0= ruleBorderStyle ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_26= 'padding-top' ( (lv_paddingTopValue_27_0= ruleUnsignedNumber ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_28= 'padding-bottom' ( (lv_paddingBottomValue_29_0= ruleUnsignedNumber ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_30= 'padding-left' ( (lv_paddingLeftValue_31_0= ruleUnsignedNumber ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_32= 'padding-right' ( (lv_paddingRightValue_33_0= ruleUnsignedNumber ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_34= 'margin-top' ( (lv_marginTopValue_35_0= ruleUnsignedNumber ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_36= 'margin-bottom' ( (lv_marginBottomValue_37_0= ruleUnsignedNumber ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_38= 'margin-left' ( (lv_marginLeftValue_39_0= ruleUnsignedNumber ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_40= 'margin-right' ( (lv_marginRightValue_41_0= ruleUnsignedNumber ) ) ) ) ) ) )* ) ) ) ( (lv_mediastyles_42_0= ruleMediaStyle ) )* otherlv_43= '}' ) )
-            // InternalReportDSL.g:1612:2: (otherlv_0= 'style' ( (lv_name_1_0= RULE_ID ) ) otherlv_2= '{' (otherlv_3= 'extends' ( (otherlv_4= RULE_ID ) ) )? ( ( ( ( ({...}? => ( ({...}? => (otherlv_6= 'formatter' ( (otherlv_7= RULE_ID ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_8= 'font' ( (otherlv_9= RULE_ID ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_10= 'backgroundcolor' ( (otherlv_11= RULE_ID ) ) (otherlv_12= 'alternate' ( (otherlv_13= RULE_ID ) ) )? ) ) ) ) | ({...}? => ( ({...}? => (otherlv_14= 'textcolor' ( (otherlv_15= RULE_ID ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_16= 'textalign' ( (lv_textalign_17_0= ruleTextAlignEnum ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_18= 'border-top' ( (lv_borderTop_19_0= ruleBorderStyle ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_20= 'border-bottom' ( (lv_borderBottom_21_0= ruleBorderStyle ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_22= 'border-left' ( (lv_borderLeft_23_0= ruleBorderStyle ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_24= 'border-right' ( (lv_borderRight_25_0= ruleBorderStyle ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_26= 'padding-top' ( (lv_paddingTopValue_27_0= ruleUnsignedNumber ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_28= 'padding-bottom' ( (lv_paddingBottomValue_29_0= ruleUnsignedNumber ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_30= 'padding-left' ( (lv_paddingLeftValue_31_0= ruleUnsignedNumber ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_32= 'padding-right' ( (lv_paddingRightValue_33_0= ruleUnsignedNumber ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_34= 'margin-top' ( (lv_marginTopValue_35_0= ruleUnsignedNumber ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_36= 'margin-bottom' ( (lv_marginBottomValue_37_0= ruleUnsignedNumber ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_38= 'margin-left' ( (lv_marginLeftValue_39_0= ruleUnsignedNumber ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_40= 'margin-right' ( (lv_marginRightValue_41_0= ruleUnsignedNumber ) ) ) ) ) ) )* ) ) ) ( (lv_mediastyles_42_0= ruleMediaStyle ) )* otherlv_43= '}' )
+            // InternalReportDSL.g:1611:2: ( (otherlv_0= 'style' ( (lv_name_1_0= RULE_ID ) ) otherlv_2= '{' (otherlv_3= 'extends' ( (otherlv_4= RULE_ID ) ) )? ( ( ( ( ({...}? => ( ({...}? => (otherlv_6= 'formatter' ( (otherlv_7= RULE_ID ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_8= 'font' ( (otherlv_9= RULE_ID ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_10= 'backgroundcolor' ( (otherlv_11= RULE_ID ) ) (otherlv_12= 'alternate' ( (otherlv_13= RULE_ID ) ) )? ) ) ) ) | ({...}? => ( ({...}? => (otherlv_14= 'textcolor' ( (otherlv_15= RULE_ID ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_16= 'textalign' ( (lv_textalign_17_0= ruleTextAlignEnum ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_18= 'verticalalign' ( (lv_verticalalign_19_0= ruleVerticalTextAlignEnum ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_20= 'border-top' ( (lv_borderTop_21_0= ruleBorderStyle ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_22= 'border-bottom' ( (lv_borderBottom_23_0= ruleBorderStyle ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_24= 'border-left' ( (lv_borderLeft_25_0= ruleBorderStyle ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_26= 'border-right' ( (lv_borderRight_27_0= ruleBorderStyle ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_28= 'padding-top' ( (lv_paddingTopValue_29_0= ruleUnsignedNumber ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_30= 'padding-bottom' ( (lv_paddingBottomValue_31_0= ruleUnsignedNumber ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_32= 'padding-left' ( (lv_paddingLeftValue_33_0= ruleUnsignedNumber ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_34= 'padding-right' ( (lv_paddingRightValue_35_0= ruleUnsignedNumber ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_36= 'margin-top' ( (lv_marginTopValue_37_0= ruleUnsignedNumber ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_38= 'margin-bottom' ( (lv_marginBottomValue_39_0= ruleUnsignedNumber ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_40= 'margin-left' ( (lv_marginLeftValue_41_0= ruleUnsignedNumber ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_42= 'margin-right' ( (lv_marginRightValue_43_0= ruleUnsignedNumber ) ) ) ) ) ) )* ) ) ) ( (lv_mediastyles_44_0= ruleMediaStyle ) )* otherlv_45= '}' ) )
+            // InternalReportDSL.g:1612:2: (otherlv_0= 'style' ( (lv_name_1_0= RULE_ID ) ) otherlv_2= '{' (otherlv_3= 'extends' ( (otherlv_4= RULE_ID ) ) )? ( ( ( ( ({...}? => ( ({...}? => (otherlv_6= 'formatter' ( (otherlv_7= RULE_ID ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_8= 'font' ( (otherlv_9= RULE_ID ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_10= 'backgroundcolor' ( (otherlv_11= RULE_ID ) ) (otherlv_12= 'alternate' ( (otherlv_13= RULE_ID ) ) )? ) ) ) ) | ({...}? => ( ({...}? => (otherlv_14= 'textcolor' ( (otherlv_15= RULE_ID ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_16= 'textalign' ( (lv_textalign_17_0= ruleTextAlignEnum ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_18= 'verticalalign' ( (lv_verticalalign_19_0= ruleVerticalTextAlignEnum ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_20= 'border-top' ( (lv_borderTop_21_0= ruleBorderStyle ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_22= 'border-bottom' ( (lv_borderBottom_23_0= ruleBorderStyle ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_24= 'border-left' ( (lv_borderLeft_25_0= ruleBorderStyle ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_26= 'border-right' ( (lv_borderRight_27_0= ruleBorderStyle ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_28= 'padding-top' ( (lv_paddingTopValue_29_0= ruleUnsignedNumber ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_30= 'padding-bottom' ( (lv_paddingBottomValue_31_0= ruleUnsignedNumber ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_32= 'padding-left' ( (lv_paddingLeftValue_33_0= ruleUnsignedNumber ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_34= 'padding-right' ( (lv_paddingRightValue_35_0= ruleUnsignedNumber ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_36= 'margin-top' ( (lv_marginTopValue_37_0= ruleUnsignedNumber ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_38= 'margin-bottom' ( (lv_marginBottomValue_39_0= ruleUnsignedNumber ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_40= 'margin-left' ( (lv_marginLeftValue_41_0= ruleUnsignedNumber ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_42= 'margin-right' ( (lv_marginRightValue_43_0= ruleUnsignedNumber ) ) ) ) ) ) )* ) ) ) ( (lv_mediastyles_44_0= ruleMediaStyle ) )* otherlv_45= '}' )
             {
-            // InternalReportDSL.g:1612:2: (otherlv_0= 'style' ( (lv_name_1_0= RULE_ID ) ) otherlv_2= '{' (otherlv_3= 'extends' ( (otherlv_4= RULE_ID ) ) )? ( ( ( ( ({...}? => ( ({...}? => (otherlv_6= 'formatter' ( (otherlv_7= RULE_ID ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_8= 'font' ( (otherlv_9= RULE_ID ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_10= 'backgroundcolor' ( (otherlv_11= RULE_ID ) ) (otherlv_12= 'alternate' ( (otherlv_13= RULE_ID ) ) )? ) ) ) ) | ({...}? => ( ({...}? => (otherlv_14= 'textcolor' ( (otherlv_15= RULE_ID ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_16= 'textalign' ( (lv_textalign_17_0= ruleTextAlignEnum ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_18= 'border-top' ( (lv_borderTop_19_0= ruleBorderStyle ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_20= 'border-bottom' ( (lv_borderBottom_21_0= ruleBorderStyle ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_22= 'border-left' ( (lv_borderLeft_23_0= ruleBorderStyle ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_24= 'border-right' ( (lv_borderRight_25_0= ruleBorderStyle ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_26= 'padding-top' ( (lv_paddingTopValue_27_0= ruleUnsignedNumber ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_28= 'padding-bottom' ( (lv_paddingBottomValue_29_0= ruleUnsignedNumber ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_30= 'padding-left' ( (lv_paddingLeftValue_31_0= ruleUnsignedNumber ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_32= 'padding-right' ( (lv_paddingRightValue_33_0= ruleUnsignedNumber ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_34= 'margin-top' ( (lv_marginTopValue_35_0= ruleUnsignedNumber ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_36= 'margin-bottom' ( (lv_marginBottomValue_37_0= ruleUnsignedNumber ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_38= 'margin-left' ( (lv_marginLeftValue_39_0= ruleUnsignedNumber ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_40= 'margin-right' ( (lv_marginRightValue_41_0= ruleUnsignedNumber ) ) ) ) ) ) )* ) ) ) ( (lv_mediastyles_42_0= ruleMediaStyle ) )* otherlv_43= '}' )
-            // InternalReportDSL.g:1613:3: otherlv_0= 'style' ( (lv_name_1_0= RULE_ID ) ) otherlv_2= '{' (otherlv_3= 'extends' ( (otherlv_4= RULE_ID ) ) )? ( ( ( ( ({...}? => ( ({...}? => (otherlv_6= 'formatter' ( (otherlv_7= RULE_ID ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_8= 'font' ( (otherlv_9= RULE_ID ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_10= 'backgroundcolor' ( (otherlv_11= RULE_ID ) ) (otherlv_12= 'alternate' ( (otherlv_13= RULE_ID ) ) )? ) ) ) ) | ({...}? => ( ({...}? => (otherlv_14= 'textcolor' ( (otherlv_15= RULE_ID ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_16= 'textalign' ( (lv_textalign_17_0= ruleTextAlignEnum ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_18= 'border-top' ( (lv_borderTop_19_0= ruleBorderStyle ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_20= 'border-bottom' ( (lv_borderBottom_21_0= ruleBorderStyle ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_22= 'border-left' ( (lv_borderLeft_23_0= ruleBorderStyle ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_24= 'border-right' ( (lv_borderRight_25_0= ruleBorderStyle ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_26= 'padding-top' ( (lv_paddingTopValue_27_0= ruleUnsignedNumber ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_28= 'padding-bottom' ( (lv_paddingBottomValue_29_0= ruleUnsignedNumber ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_30= 'padding-left' ( (lv_paddingLeftValue_31_0= ruleUnsignedNumber ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_32= 'padding-right' ( (lv_paddingRightValue_33_0= ruleUnsignedNumber ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_34= 'margin-top' ( (lv_marginTopValue_35_0= ruleUnsignedNumber ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_36= 'margin-bottom' ( (lv_marginBottomValue_37_0= ruleUnsignedNumber ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_38= 'margin-left' ( (lv_marginLeftValue_39_0= ruleUnsignedNumber ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_40= 'margin-right' ( (lv_marginRightValue_41_0= ruleUnsignedNumber ) ) ) ) ) ) )* ) ) ) ( (lv_mediastyles_42_0= ruleMediaStyle ) )* otherlv_43= '}'
+            // InternalReportDSL.g:1612:2: (otherlv_0= 'style' ( (lv_name_1_0= RULE_ID ) ) otherlv_2= '{' (otherlv_3= 'extends' ( (otherlv_4= RULE_ID ) ) )? ( ( ( ( ({...}? => ( ({...}? => (otherlv_6= 'formatter' ( (otherlv_7= RULE_ID ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_8= 'font' ( (otherlv_9= RULE_ID ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_10= 'backgroundcolor' ( (otherlv_11= RULE_ID ) ) (otherlv_12= 'alternate' ( (otherlv_13= RULE_ID ) ) )? ) ) ) ) | ({...}? => ( ({...}? => (otherlv_14= 'textcolor' ( (otherlv_15= RULE_ID ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_16= 'textalign' ( (lv_textalign_17_0= ruleTextAlignEnum ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_18= 'verticalalign' ( (lv_verticalalign_19_0= ruleVerticalTextAlignEnum ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_20= 'border-top' ( (lv_borderTop_21_0= ruleBorderStyle ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_22= 'border-bottom' ( (lv_borderBottom_23_0= ruleBorderStyle ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_24= 'border-left' ( (lv_borderLeft_25_0= ruleBorderStyle ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_26= 'border-right' ( (lv_borderRight_27_0= ruleBorderStyle ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_28= 'padding-top' ( (lv_paddingTopValue_29_0= ruleUnsignedNumber ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_30= 'padding-bottom' ( (lv_paddingBottomValue_31_0= ruleUnsignedNumber ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_32= 'padding-left' ( (lv_paddingLeftValue_33_0= ruleUnsignedNumber ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_34= 'padding-right' ( (lv_paddingRightValue_35_0= ruleUnsignedNumber ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_36= 'margin-top' ( (lv_marginTopValue_37_0= ruleUnsignedNumber ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_38= 'margin-bottom' ( (lv_marginBottomValue_39_0= ruleUnsignedNumber ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_40= 'margin-left' ( (lv_marginLeftValue_41_0= ruleUnsignedNumber ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_42= 'margin-right' ( (lv_marginRightValue_43_0= ruleUnsignedNumber ) ) ) ) ) ) )* ) ) ) ( (lv_mediastyles_44_0= ruleMediaStyle ) )* otherlv_45= '}' )
+            // InternalReportDSL.g:1613:3: otherlv_0= 'style' ( (lv_name_1_0= RULE_ID ) ) otherlv_2= '{' (otherlv_3= 'extends' ( (otherlv_4= RULE_ID ) ) )? ( ( ( ( ({...}? => ( ({...}? => (otherlv_6= 'formatter' ( (otherlv_7= RULE_ID ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_8= 'font' ( (otherlv_9= RULE_ID ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_10= 'backgroundcolor' ( (otherlv_11= RULE_ID ) ) (otherlv_12= 'alternate' ( (otherlv_13= RULE_ID ) ) )? ) ) ) ) | ({...}? => ( ({...}? => (otherlv_14= 'textcolor' ( (otherlv_15= RULE_ID ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_16= 'textalign' ( (lv_textalign_17_0= ruleTextAlignEnum ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_18= 'verticalalign' ( (lv_verticalalign_19_0= ruleVerticalTextAlignEnum ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_20= 'border-top' ( (lv_borderTop_21_0= ruleBorderStyle ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_22= 'border-bottom' ( (lv_borderBottom_23_0= ruleBorderStyle ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_24= 'border-left' ( (lv_borderLeft_25_0= ruleBorderStyle ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_26= 'border-right' ( (lv_borderRight_27_0= ruleBorderStyle ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_28= 'padding-top' ( (lv_paddingTopValue_29_0= ruleUnsignedNumber ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_30= 'padding-bottom' ( (lv_paddingBottomValue_31_0= ruleUnsignedNumber ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_32= 'padding-left' ( (lv_paddingLeftValue_33_0= ruleUnsignedNumber ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_34= 'padding-right' ( (lv_paddingRightValue_35_0= ruleUnsignedNumber ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_36= 'margin-top' ( (lv_marginTopValue_37_0= ruleUnsignedNumber ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_38= 'margin-bottom' ( (lv_marginBottomValue_39_0= ruleUnsignedNumber ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_40= 'margin-left' ( (lv_marginLeftValue_41_0= ruleUnsignedNumber ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_42= 'margin-right' ( (lv_marginRightValue_43_0= ruleUnsignedNumber ) ) ) ) ) ) )* ) ) ) ( (lv_mediastyles_44_0= ruleMediaStyle ) )* otherlv_45= '}'
             {
             otherlv_0=(Token)match(input,43,FOLLOW_4); if (state.failed) return current;
             if ( state.backtracking==0 ) {
@@ -4513,20 +4532,20 @@
 
             }
 
-            otherlv_2=(Token)match(input,14,FOLLOW_42); if (state.failed) return current;
+            otherlv_2=(Token)match(input,14,FOLLOW_43); if (state.failed) return current;
             if ( state.backtracking==0 ) {
 
               			newLeafNode(otherlv_2, grammarAccess.getStyleAccess().getLeftCurlyBracketKeyword_2());
               		
             }
             // InternalReportDSL.g:1639:3: (otherlv_3= 'extends' ( (otherlv_4= RULE_ID ) ) )?
-            int alt19=2;
-            int LA19_0 = input.LA(1);
+            int alt20=2;
+            int LA20_0 = input.LA(1);
 
-            if ( (LA19_0==39) ) {
-                alt19=1;
+            if ( (LA20_0==39) ) {
+                alt20=1;
             }
-            switch (alt19) {
+            switch (alt20) {
                 case 1 :
                     // InternalReportDSL.g:1640:4: otherlv_3= 'extends' ( (otherlv_4= RULE_ID ) )
                     {
@@ -4549,7 +4568,7 @@
                       						}
                       					
                     }
-                    otherlv_4=(Token)match(input,RULE_ID,FOLLOW_43); if (state.failed) return current;
+                    otherlv_4=(Token)match(input,RULE_ID,FOLLOW_44); if (state.failed) return current;
                     if ( state.backtracking==0 ) {
 
                       						newLeafNode(otherlv_4, grammarAccess.getStyleAccess().getExtendsStyleCrossReference_3_1_0());
@@ -4567,22 +4586,22 @@
 
             }
 
-            // InternalReportDSL.g:1658:3: ( ( ( ( ({...}? => ( ({...}? => (otherlv_6= 'formatter' ( (otherlv_7= RULE_ID ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_8= 'font' ( (otherlv_9= RULE_ID ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_10= 'backgroundcolor' ( (otherlv_11= RULE_ID ) ) (otherlv_12= 'alternate' ( (otherlv_13= RULE_ID ) ) )? ) ) ) ) | ({...}? => ( ({...}? => (otherlv_14= 'textcolor' ( (otherlv_15= RULE_ID ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_16= 'textalign' ( (lv_textalign_17_0= ruleTextAlignEnum ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_18= 'border-top' ( (lv_borderTop_19_0= ruleBorderStyle ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_20= 'border-bottom' ( (lv_borderBottom_21_0= ruleBorderStyle ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_22= 'border-left' ( (lv_borderLeft_23_0= ruleBorderStyle ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_24= 'border-right' ( (lv_borderRight_25_0= ruleBorderStyle ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_26= 'padding-top' ( (lv_paddingTopValue_27_0= ruleUnsignedNumber ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_28= 'padding-bottom' ( (lv_paddingBottomValue_29_0= ruleUnsignedNumber ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_30= 'padding-left' ( (lv_paddingLeftValue_31_0= ruleUnsignedNumber ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_32= 'padding-right' ( (lv_paddingRightValue_33_0= ruleUnsignedNumber ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_34= 'margin-top' ( (lv_marginTopValue_35_0= ruleUnsignedNumber ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_36= 'margin-bottom' ( (lv_marginBottomValue_37_0= ruleUnsignedNumber ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_38= 'margin-left' ( (lv_marginLeftValue_39_0= ruleUnsignedNumber ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_40= 'margin-right' ( (lv_marginRightValue_41_0= ruleUnsignedNumber ) ) ) ) ) ) )* ) ) )
-            // InternalReportDSL.g:1659:4: ( ( ( ({...}? => ( ({...}? => (otherlv_6= 'formatter' ( (otherlv_7= RULE_ID ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_8= 'font' ( (otherlv_9= RULE_ID ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_10= 'backgroundcolor' ( (otherlv_11= RULE_ID ) ) (otherlv_12= 'alternate' ( (otherlv_13= RULE_ID ) ) )? ) ) ) ) | ({...}? => ( ({...}? => (otherlv_14= 'textcolor' ( (otherlv_15= RULE_ID ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_16= 'textalign' ( (lv_textalign_17_0= ruleTextAlignEnum ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_18= 'border-top' ( (lv_borderTop_19_0= ruleBorderStyle ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_20= 'border-bottom' ( (lv_borderBottom_21_0= ruleBorderStyle ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_22= 'border-left' ( (lv_borderLeft_23_0= ruleBorderStyle ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_24= 'border-right' ( (lv_borderRight_25_0= ruleBorderStyle ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_26= 'padding-top' ( (lv_paddingTopValue_27_0= ruleUnsignedNumber ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_28= 'padding-bottom' ( (lv_paddingBottomValue_29_0= ruleUnsignedNumber ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_30= 'padding-left' ( (lv_paddingLeftValue_31_0= ruleUnsignedNumber ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_32= 'padding-right' ( (lv_paddingRightValue_33_0= ruleUnsignedNumber ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_34= 'margin-top' ( (lv_marginTopValue_35_0= ruleUnsignedNumber ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_36= 'margin-bottom' ( (lv_marginBottomValue_37_0= ruleUnsignedNumber ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_38= 'margin-left' ( (lv_marginLeftValue_39_0= ruleUnsignedNumber ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_40= 'margin-right' ( (lv_marginRightValue_41_0= ruleUnsignedNumber ) ) ) ) ) ) )* ) )
+            // InternalReportDSL.g:1658:3: ( ( ( ( ({...}? => ( ({...}? => (otherlv_6= 'formatter' ( (otherlv_7= RULE_ID ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_8= 'font' ( (otherlv_9= RULE_ID ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_10= 'backgroundcolor' ( (otherlv_11= RULE_ID ) ) (otherlv_12= 'alternate' ( (otherlv_13= RULE_ID ) ) )? ) ) ) ) | ({...}? => ( ({...}? => (otherlv_14= 'textcolor' ( (otherlv_15= RULE_ID ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_16= 'textalign' ( (lv_textalign_17_0= ruleTextAlignEnum ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_18= 'verticalalign' ( (lv_verticalalign_19_0= ruleVerticalTextAlignEnum ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_20= 'border-top' ( (lv_borderTop_21_0= ruleBorderStyle ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_22= 'border-bottom' ( (lv_borderBottom_23_0= ruleBorderStyle ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_24= 'border-left' ( (lv_borderLeft_25_0= ruleBorderStyle ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_26= 'border-right' ( (lv_borderRight_27_0= ruleBorderStyle ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_28= 'padding-top' ( (lv_paddingTopValue_29_0= ruleUnsignedNumber ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_30= 'padding-bottom' ( (lv_paddingBottomValue_31_0= ruleUnsignedNumber ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_32= 'padding-left' ( (lv_paddingLeftValue_33_0= ruleUnsignedNumber ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_34= 'padding-right' ( (lv_paddingRightValue_35_0= ruleUnsignedNumber ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_36= 'margin-top' ( (lv_marginTopValue_37_0= ruleUnsignedNumber ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_38= 'margin-bottom' ( (lv_marginBottomValue_39_0= ruleUnsignedNumber ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_40= 'margin-left' ( (lv_marginLeftValue_41_0= ruleUnsignedNumber ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_42= 'margin-right' ( (lv_marginRightValue_43_0= ruleUnsignedNumber ) ) ) ) ) ) )* ) ) )
+            // InternalReportDSL.g:1659:4: ( ( ( ({...}? => ( ({...}? => (otherlv_6= 'formatter' ( (otherlv_7= RULE_ID ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_8= 'font' ( (otherlv_9= RULE_ID ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_10= 'backgroundcolor' ( (otherlv_11= RULE_ID ) ) (otherlv_12= 'alternate' ( (otherlv_13= RULE_ID ) ) )? ) ) ) ) | ({...}? => ( ({...}? => (otherlv_14= 'textcolor' ( (otherlv_15= RULE_ID ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_16= 'textalign' ( (lv_textalign_17_0= ruleTextAlignEnum ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_18= 'verticalalign' ( (lv_verticalalign_19_0= ruleVerticalTextAlignEnum ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_20= 'border-top' ( (lv_borderTop_21_0= ruleBorderStyle ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_22= 'border-bottom' ( (lv_borderBottom_23_0= ruleBorderStyle ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_24= 'border-left' ( (lv_borderLeft_25_0= ruleBorderStyle ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_26= 'border-right' ( (lv_borderRight_27_0= ruleBorderStyle ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_28= 'padding-top' ( (lv_paddingTopValue_29_0= ruleUnsignedNumber ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_30= 'padding-bottom' ( (lv_paddingBottomValue_31_0= ruleUnsignedNumber ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_32= 'padding-left' ( (lv_paddingLeftValue_33_0= ruleUnsignedNumber ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_34= 'padding-right' ( (lv_paddingRightValue_35_0= ruleUnsignedNumber ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_36= 'margin-top' ( (lv_marginTopValue_37_0= ruleUnsignedNumber ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_38= 'margin-bottom' ( (lv_marginBottomValue_39_0= ruleUnsignedNumber ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_40= 'margin-left' ( (lv_marginLeftValue_41_0= ruleUnsignedNumber ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_42= 'margin-right' ( (lv_marginRightValue_43_0= ruleUnsignedNumber ) ) ) ) ) ) )* ) )
             {
-            // InternalReportDSL.g:1659:4: ( ( ( ({...}? => ( ({...}? => (otherlv_6= 'formatter' ( (otherlv_7= RULE_ID ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_8= 'font' ( (otherlv_9= RULE_ID ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_10= 'backgroundcolor' ( (otherlv_11= RULE_ID ) ) (otherlv_12= 'alternate' ( (otherlv_13= RULE_ID ) ) )? ) ) ) ) | ({...}? => ( ({...}? => (otherlv_14= 'textcolor' ( (otherlv_15= RULE_ID ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_16= 'textalign' ( (lv_textalign_17_0= ruleTextAlignEnum ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_18= 'border-top' ( (lv_borderTop_19_0= ruleBorderStyle ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_20= 'border-bottom' ( (lv_borderBottom_21_0= ruleBorderStyle ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_22= 'border-left' ( (lv_borderLeft_23_0= ruleBorderStyle ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_24= 'border-right' ( (lv_borderRight_25_0= ruleBorderStyle ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_26= 'padding-top' ( (lv_paddingTopValue_27_0= ruleUnsignedNumber ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_28= 'padding-bottom' ( (lv_paddingBottomValue_29_0= ruleUnsignedNumber ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_30= 'padding-left' ( (lv_paddingLeftValue_31_0= ruleUnsignedNumber ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_32= 'padding-right' ( (lv_paddingRightValue_33_0= ruleUnsignedNumber ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_34= 'margin-top' ( (lv_marginTopValue_35_0= ruleUnsignedNumber ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_36= 'margin-bottom' ( (lv_marginBottomValue_37_0= ruleUnsignedNumber ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_38= 'margin-left' ( (lv_marginLeftValue_39_0= ruleUnsignedNumber ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_40= 'margin-right' ( (lv_marginRightValue_41_0= ruleUnsignedNumber ) ) ) ) ) ) )* ) )
-            // InternalReportDSL.g:1660:5: ( ( ({...}? => ( ({...}? => (otherlv_6= 'formatter' ( (otherlv_7= RULE_ID ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_8= 'font' ( (otherlv_9= RULE_ID ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_10= 'backgroundcolor' ( (otherlv_11= RULE_ID ) ) (otherlv_12= 'alternate' ( (otherlv_13= RULE_ID ) ) )? ) ) ) ) | ({...}? => ( ({...}? => (otherlv_14= 'textcolor' ( (otherlv_15= RULE_ID ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_16= 'textalign' ( (lv_textalign_17_0= ruleTextAlignEnum ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_18= 'border-top' ( (lv_borderTop_19_0= ruleBorderStyle ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_20= 'border-bottom' ( (lv_borderBottom_21_0= ruleBorderStyle ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_22= 'border-left' ( (lv_borderLeft_23_0= ruleBorderStyle ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_24= 'border-right' ( (lv_borderRight_25_0= ruleBorderStyle ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_26= 'padding-top' ( (lv_paddingTopValue_27_0= ruleUnsignedNumber ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_28= 'padding-bottom' ( (lv_paddingBottomValue_29_0= ruleUnsignedNumber ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_30= 'padding-left' ( (lv_paddingLeftValue_31_0= ruleUnsignedNumber ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_32= 'padding-right' ( (lv_paddingRightValue_33_0= ruleUnsignedNumber ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_34= 'margin-top' ( (lv_marginTopValue_35_0= ruleUnsignedNumber ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_36= 'margin-bottom' ( (lv_marginBottomValue_37_0= ruleUnsignedNumber ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_38= 'margin-left' ( (lv_marginLeftValue_39_0= ruleUnsignedNumber ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_40= 'margin-right' ( (lv_marginRightValue_41_0= ruleUnsignedNumber ) ) ) ) ) ) )* )
+            // InternalReportDSL.g:1659:4: ( ( ( ({...}? => ( ({...}? => (otherlv_6= 'formatter' ( (otherlv_7= RULE_ID ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_8= 'font' ( (otherlv_9= RULE_ID ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_10= 'backgroundcolor' ( (otherlv_11= RULE_ID ) ) (otherlv_12= 'alternate' ( (otherlv_13= RULE_ID ) ) )? ) ) ) ) | ({...}? => ( ({...}? => (otherlv_14= 'textcolor' ( (otherlv_15= RULE_ID ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_16= 'textalign' ( (lv_textalign_17_0= ruleTextAlignEnum ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_18= 'verticalalign' ( (lv_verticalalign_19_0= ruleVerticalTextAlignEnum ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_20= 'border-top' ( (lv_borderTop_21_0= ruleBorderStyle ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_22= 'border-bottom' ( (lv_borderBottom_23_0= ruleBorderStyle ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_24= 'border-left' ( (lv_borderLeft_25_0= ruleBorderStyle ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_26= 'border-right' ( (lv_borderRight_27_0= ruleBorderStyle ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_28= 'padding-top' ( (lv_paddingTopValue_29_0= ruleUnsignedNumber ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_30= 'padding-bottom' ( (lv_paddingBottomValue_31_0= ruleUnsignedNumber ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_32= 'padding-left' ( (lv_paddingLeftValue_33_0= ruleUnsignedNumber ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_34= 'padding-right' ( (lv_paddingRightValue_35_0= ruleUnsignedNumber ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_36= 'margin-top' ( (lv_marginTopValue_37_0= ruleUnsignedNumber ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_38= 'margin-bottom' ( (lv_marginBottomValue_39_0= ruleUnsignedNumber ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_40= 'margin-left' ( (lv_marginLeftValue_41_0= ruleUnsignedNumber ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_42= 'margin-right' ( (lv_marginRightValue_43_0= ruleUnsignedNumber ) ) ) ) ) ) )* ) )
+            // InternalReportDSL.g:1660:5: ( ( ({...}? => ( ({...}? => (otherlv_6= 'formatter' ( (otherlv_7= RULE_ID ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_8= 'font' ( (otherlv_9= RULE_ID ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_10= 'backgroundcolor' ( (otherlv_11= RULE_ID ) ) (otherlv_12= 'alternate' ( (otherlv_13= RULE_ID ) ) )? ) ) ) ) | ({...}? => ( ({...}? => (otherlv_14= 'textcolor' ( (otherlv_15= RULE_ID ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_16= 'textalign' ( (lv_textalign_17_0= ruleTextAlignEnum ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_18= 'verticalalign' ( (lv_verticalalign_19_0= ruleVerticalTextAlignEnum ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_20= 'border-top' ( (lv_borderTop_21_0= ruleBorderStyle ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_22= 'border-bottom' ( (lv_borderBottom_23_0= ruleBorderStyle ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_24= 'border-left' ( (lv_borderLeft_25_0= ruleBorderStyle ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_26= 'border-right' ( (lv_borderRight_27_0= ruleBorderStyle ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_28= 'padding-top' ( (lv_paddingTopValue_29_0= ruleUnsignedNumber ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_30= 'padding-bottom' ( (lv_paddingBottomValue_31_0= ruleUnsignedNumber ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_32= 'padding-left' ( (lv_paddingLeftValue_33_0= ruleUnsignedNumber ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_34= 'padding-right' ( (lv_paddingRightValue_35_0= ruleUnsignedNumber ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_36= 'margin-top' ( (lv_marginTopValue_37_0= ruleUnsignedNumber ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_38= 'margin-bottom' ( (lv_marginBottomValue_39_0= ruleUnsignedNumber ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_40= 'margin-left' ( (lv_marginLeftValue_41_0= ruleUnsignedNumber ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_42= 'margin-right' ( (lv_marginRightValue_43_0= ruleUnsignedNumber ) ) ) ) ) ) )* )
             {
             getUnorderedGroupHelper().enter(grammarAccess.getStyleAccess().getUnorderedGroup_4());
-            // InternalReportDSL.g:1663:5: ( ( ({...}? => ( ({...}? => (otherlv_6= 'formatter' ( (otherlv_7= RULE_ID ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_8= 'font' ( (otherlv_9= RULE_ID ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_10= 'backgroundcolor' ( (otherlv_11= RULE_ID ) ) (otherlv_12= 'alternate' ( (otherlv_13= RULE_ID ) ) )? ) ) ) ) | ({...}? => ( ({...}? => (otherlv_14= 'textcolor' ( (otherlv_15= RULE_ID ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_16= 'textalign' ( (lv_textalign_17_0= ruleTextAlignEnum ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_18= 'border-top' ( (lv_borderTop_19_0= ruleBorderStyle ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_20= 'border-bottom' ( (lv_borderBottom_21_0= ruleBorderStyle ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_22= 'border-left' ( (lv_borderLeft_23_0= ruleBorderStyle ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_24= 'border-right' ( (lv_borderRight_25_0= ruleBorderStyle ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_26= 'padding-top' ( (lv_paddingTopValue_27_0= ruleUnsignedNumber ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_28= 'padding-bottom' ( (lv_paddingBottomValue_29_0= ruleUnsignedNumber ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_30= 'padding-left' ( (lv_paddingLeftValue_31_0= ruleUnsignedNumber ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_32= 'padding-right' ( (lv_paddingRightValue_33_0= ruleUnsignedNumber ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_34= 'margin-top' ( (lv_marginTopValue_35_0= ruleUnsignedNumber ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_36= 'margin-bottom' ( (lv_marginBottomValue_37_0= ruleUnsignedNumber ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_38= 'margin-left' ( (lv_marginLeftValue_39_0= ruleUnsignedNumber ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_40= 'margin-right' ( (lv_marginRightValue_41_0= ruleUnsignedNumber ) ) ) ) ) ) )* )
-            // InternalReportDSL.g:1664:6: ( ({...}? => ( ({...}? => (otherlv_6= 'formatter' ( (otherlv_7= RULE_ID ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_8= 'font' ( (otherlv_9= RULE_ID ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_10= 'backgroundcolor' ( (otherlv_11= RULE_ID ) ) (otherlv_12= 'alternate' ( (otherlv_13= RULE_ID ) ) )? ) ) ) ) | ({...}? => ( ({...}? => (otherlv_14= 'textcolor' ( (otherlv_15= RULE_ID ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_16= 'textalign' ( (lv_textalign_17_0= ruleTextAlignEnum ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_18= 'border-top' ( (lv_borderTop_19_0= ruleBorderStyle ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_20= 'border-bottom' ( (lv_borderBottom_21_0= ruleBorderStyle ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_22= 'border-left' ( (lv_borderLeft_23_0= ruleBorderStyle ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_24= 'border-right' ( (lv_borderRight_25_0= ruleBorderStyle ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_26= 'padding-top' ( (lv_paddingTopValue_27_0= ruleUnsignedNumber ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_28= 'padding-bottom' ( (lv_paddingBottomValue_29_0= ruleUnsignedNumber ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_30= 'padding-left' ( (lv_paddingLeftValue_31_0= ruleUnsignedNumber ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_32= 'padding-right' ( (lv_paddingRightValue_33_0= ruleUnsignedNumber ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_34= 'margin-top' ( (lv_marginTopValue_35_0= ruleUnsignedNumber ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_36= 'margin-bottom' ( (lv_marginBottomValue_37_0= ruleUnsignedNumber ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_38= 'margin-left' ( (lv_marginLeftValue_39_0= ruleUnsignedNumber ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_40= 'margin-right' ( (lv_marginRightValue_41_0= ruleUnsignedNumber ) ) ) ) ) ) )*
+            // InternalReportDSL.g:1663:5: ( ( ({...}? => ( ({...}? => (otherlv_6= 'formatter' ( (otherlv_7= RULE_ID ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_8= 'font' ( (otherlv_9= RULE_ID ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_10= 'backgroundcolor' ( (otherlv_11= RULE_ID ) ) (otherlv_12= 'alternate' ( (otherlv_13= RULE_ID ) ) )? ) ) ) ) | ({...}? => ( ({...}? => (otherlv_14= 'textcolor' ( (otherlv_15= RULE_ID ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_16= 'textalign' ( (lv_textalign_17_0= ruleTextAlignEnum ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_18= 'verticalalign' ( (lv_verticalalign_19_0= ruleVerticalTextAlignEnum ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_20= 'border-top' ( (lv_borderTop_21_0= ruleBorderStyle ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_22= 'border-bottom' ( (lv_borderBottom_23_0= ruleBorderStyle ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_24= 'border-left' ( (lv_borderLeft_25_0= ruleBorderStyle ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_26= 'border-right' ( (lv_borderRight_27_0= ruleBorderStyle ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_28= 'padding-top' ( (lv_paddingTopValue_29_0= ruleUnsignedNumber ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_30= 'padding-bottom' ( (lv_paddingBottomValue_31_0= ruleUnsignedNumber ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_32= 'padding-left' ( (lv_paddingLeftValue_33_0= ruleUnsignedNumber ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_34= 'padding-right' ( (lv_paddingRightValue_35_0= ruleUnsignedNumber ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_36= 'margin-top' ( (lv_marginTopValue_37_0= ruleUnsignedNumber ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_38= 'margin-bottom' ( (lv_marginBottomValue_39_0= ruleUnsignedNumber ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_40= 'margin-left' ( (lv_marginLeftValue_41_0= ruleUnsignedNumber ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_42= 'margin-right' ( (lv_marginRightValue_43_0= ruleUnsignedNumber ) ) ) ) ) ) )* )
+            // InternalReportDSL.g:1664:6: ( ({...}? => ( ({...}? => (otherlv_6= 'formatter' ( (otherlv_7= RULE_ID ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_8= 'font' ( (otherlv_9= RULE_ID ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_10= 'backgroundcolor' ( (otherlv_11= RULE_ID ) ) (otherlv_12= 'alternate' ( (otherlv_13= RULE_ID ) ) )? ) ) ) ) | ({...}? => ( ({...}? => (otherlv_14= 'textcolor' ( (otherlv_15= RULE_ID ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_16= 'textalign' ( (lv_textalign_17_0= ruleTextAlignEnum ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_18= 'verticalalign' ( (lv_verticalalign_19_0= ruleVerticalTextAlignEnum ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_20= 'border-top' ( (lv_borderTop_21_0= ruleBorderStyle ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_22= 'border-bottom' ( (lv_borderBottom_23_0= ruleBorderStyle ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_24= 'border-left' ( (lv_borderLeft_25_0= ruleBorderStyle ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_26= 'border-right' ( (lv_borderRight_27_0= ruleBorderStyle ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_28= 'padding-top' ( (lv_paddingTopValue_29_0= ruleUnsignedNumber ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_30= 'padding-bottom' ( (lv_paddingBottomValue_31_0= ruleUnsignedNumber ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_32= 'padding-left' ( (lv_paddingLeftValue_33_0= ruleUnsignedNumber ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_34= 'padding-right' ( (lv_paddingRightValue_35_0= ruleUnsignedNumber ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_36= 'margin-top' ( (lv_marginTopValue_37_0= ruleUnsignedNumber ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_38= 'margin-bottom' ( (lv_marginBottomValue_39_0= ruleUnsignedNumber ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_40= 'margin-left' ( (lv_marginLeftValue_41_0= ruleUnsignedNumber ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_42= 'margin-right' ( (lv_marginRightValue_43_0= ruleUnsignedNumber ) ) ) ) ) ) )*
             {
-            // InternalReportDSL.g:1664:6: ( ({...}? => ( ({...}? => (otherlv_6= 'formatter' ( (otherlv_7= RULE_ID ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_8= 'font' ( (otherlv_9= RULE_ID ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_10= 'backgroundcolor' ( (otherlv_11= RULE_ID ) ) (otherlv_12= 'alternate' ( (otherlv_13= RULE_ID ) ) )? ) ) ) ) | ({...}? => ( ({...}? => (otherlv_14= 'textcolor' ( (otherlv_15= RULE_ID ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_16= 'textalign' ( (lv_textalign_17_0= ruleTextAlignEnum ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_18= 'border-top' ( (lv_borderTop_19_0= ruleBorderStyle ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_20= 'border-bottom' ( (lv_borderBottom_21_0= ruleBorderStyle ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_22= 'border-left' ( (lv_borderLeft_23_0= ruleBorderStyle ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_24= 'border-right' ( (lv_borderRight_25_0= ruleBorderStyle ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_26= 'padding-top' ( (lv_paddingTopValue_27_0= ruleUnsignedNumber ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_28= 'padding-bottom' ( (lv_paddingBottomValue_29_0= ruleUnsignedNumber ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_30= 'padding-left' ( (lv_paddingLeftValue_31_0= ruleUnsignedNumber ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_32= 'padding-right' ( (lv_paddingRightValue_33_0= ruleUnsignedNumber ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_34= 'margin-top' ( (lv_marginTopValue_35_0= ruleUnsignedNumber ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_36= 'margin-bottom' ( (lv_marginBottomValue_37_0= ruleUnsignedNumber ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_38= 'margin-left' ( (lv_marginLeftValue_39_0= ruleUnsignedNumber ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_40= 'margin-right' ( (lv_marginRightValue_41_0= ruleUnsignedNumber ) ) ) ) ) ) )*
-            loop21:
+            // InternalReportDSL.g:1664:6: ( ({...}? => ( ({...}? => (otherlv_6= 'formatter' ( (otherlv_7= RULE_ID ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_8= 'font' ( (otherlv_9= RULE_ID ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_10= 'backgroundcolor' ( (otherlv_11= RULE_ID ) ) (otherlv_12= 'alternate' ( (otherlv_13= RULE_ID ) ) )? ) ) ) ) | ({...}? => ( ({...}? => (otherlv_14= 'textcolor' ( (otherlv_15= RULE_ID ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_16= 'textalign' ( (lv_textalign_17_0= ruleTextAlignEnum ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_18= 'verticalalign' ( (lv_verticalalign_19_0= ruleVerticalTextAlignEnum ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_20= 'border-top' ( (lv_borderTop_21_0= ruleBorderStyle ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_22= 'border-bottom' ( (lv_borderBottom_23_0= ruleBorderStyle ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_24= 'border-left' ( (lv_borderLeft_25_0= ruleBorderStyle ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_26= 'border-right' ( (lv_borderRight_27_0= ruleBorderStyle ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_28= 'padding-top' ( (lv_paddingTopValue_29_0= ruleUnsignedNumber ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_30= 'padding-bottom' ( (lv_paddingBottomValue_31_0= ruleUnsignedNumber ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_32= 'padding-left' ( (lv_paddingLeftValue_33_0= ruleUnsignedNumber ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_34= 'padding-right' ( (lv_paddingRightValue_35_0= ruleUnsignedNumber ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_36= 'margin-top' ( (lv_marginTopValue_37_0= ruleUnsignedNumber ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_38= 'margin-bottom' ( (lv_marginBottomValue_39_0= ruleUnsignedNumber ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_40= 'margin-left' ( (lv_marginLeftValue_41_0= ruleUnsignedNumber ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_42= 'margin-right' ( (lv_marginRightValue_43_0= ruleUnsignedNumber ) ) ) ) ) ) )*
+            loop22:
             do {
-                int alt21=18;
-                alt21 = dfa21.predict(input);
-                switch (alt21) {
+                int alt22=19;
+                alt22 = dfa22.predict(input);
+                switch (alt22) {
             	case 1 :
             	    // InternalReportDSL.g:1665:4: ({...}? => ( ({...}? => (otherlv_6= 'formatter' ( (otherlv_7= RULE_ID ) ) ) ) ) )
             	    {
@@ -4626,7 +4645,7 @@
             	      											}
             	      										
             	    }
-            	    otherlv_7=(Token)match(input,RULE_ID,FOLLOW_43); if (state.failed) return current;
+            	    otherlv_7=(Token)match(input,RULE_ID,FOLLOW_44); if (state.failed) return current;
             	    if ( state.backtracking==0 ) {
 
             	      											newLeafNode(otherlv_7, grammarAccess.getStyleAccess().getFormatSomeFormatCrossReference_4_0_1_0());
@@ -4697,7 +4716,7 @@
             	      											}
             	      										
             	    }
-            	    otherlv_9=(Token)match(input,RULE_ID,FOLLOW_43); if (state.failed) return current;
+            	    otherlv_9=(Token)match(input,RULE_ID,FOLLOW_44); if (state.failed) return current;
             	    if ( state.backtracking==0 ) {
 
             	      											newLeafNode(otherlv_9, grammarAccess.getStyleAccess().getFontFontCrossReference_4_1_1_0());
@@ -4768,7 +4787,7 @@
             	      											}
             	      										
             	    }
-            	    otherlv_11=(Token)match(input,RULE_ID,FOLLOW_44); if (state.failed) return current;
+            	    otherlv_11=(Token)match(input,RULE_ID,FOLLOW_45); if (state.failed) return current;
             	    if ( state.backtracking==0 ) {
 
             	      											newLeafNode(otherlv_11, grammarAccess.getStyleAccess().getBackgroundcolorColorCrossReference_4_2_1_0());
@@ -4781,13 +4800,13 @@
             	    }
 
             	    // InternalReportDSL.g:1743:9: (otherlv_12= 'alternate' ( (otherlv_13= RULE_ID ) ) )?
-            	    int alt20=2;
-            	    int LA20_0 = input.LA(1);
+            	    int alt21=2;
+            	    int LA21_0 = input.LA(1);
 
-            	    if ( (LA20_0==46) ) {
-            	        alt20=1;
+            	    if ( (LA21_0==46) ) {
+            	        alt21=1;
             	    }
-            	    switch (alt20) {
+            	    switch (alt21) {
             	        case 1 :
             	            // InternalReportDSL.g:1744:10: otherlv_12= 'alternate' ( (otherlv_13= RULE_ID ) )
             	            {
@@ -4810,7 +4829,7 @@
             	              												}
             	              											
             	            }
-            	            otherlv_13=(Token)match(input,RULE_ID,FOLLOW_43); if (state.failed) return current;
+            	            otherlv_13=(Token)match(input,RULE_ID,FOLLOW_44); if (state.failed) return current;
             	            if ( state.backtracking==0 ) {
 
             	              												newLeafNode(otherlv_13, grammarAccess.getStyleAccess().getBackgroundcolor_alternateColorCrossReference_4_2_2_1_0());
@@ -4887,7 +4906,7 @@
             	      											}
             	      										
             	    }
-            	    otherlv_15=(Token)match(input,RULE_ID,FOLLOW_43); if (state.failed) return current;
+            	    otherlv_15=(Token)match(input,RULE_ID,FOLLOW_44); if (state.failed) return current;
             	    if ( state.backtracking==0 ) {
 
             	      											newLeafNode(otherlv_15, grammarAccess.getStyleAccess().getTextcolorColorCrossReference_4_3_1_0());
@@ -4939,7 +4958,7 @@
             	    // InternalReportDSL.g:1801:19: (otherlv_16= 'textalign' ( (lv_textalign_17_0= ruleTextAlignEnum ) ) )
             	    // InternalReportDSL.g:1801:20: otherlv_16= 'textalign' ( (lv_textalign_17_0= ruleTextAlignEnum ) )
             	    {
-            	    otherlv_16=(Token)match(input,48,FOLLOW_45); if (state.failed) return current;
+            	    otherlv_16=(Token)match(input,48,FOLLOW_46); if (state.failed) return current;
             	    if ( state.backtracking==0 ) {
 
             	      									newLeafNode(otherlv_16, grammarAccess.getStyleAccess().getTextalignKeyword_4_4_0());
@@ -4956,7 +4975,7 @@
             	      											newCompositeNode(grammarAccess.getStyleAccess().getTextalignTextAlignEnumEnumRuleCall_4_4_1_0());
             	      										
             	    }
-            	    pushFollow(FOLLOW_43);
+            	    pushFollow(FOLLOW_44);
             	    lv_textalign_17_0=ruleTextAlignEnum();
 
             	    state._fsp--;
@@ -4997,48 +5016,48 @@
             	    }
             	    break;
             	case 6 :
-            	    // InternalReportDSL.g:1830:4: ({...}? => ( ({...}? => (otherlv_18= 'border-top' ( (lv_borderTop_19_0= ruleBorderStyle ) ) ) ) ) )
+            	    // InternalReportDSL.g:1830:4: ({...}? => ( ({...}? => (otherlv_18= 'verticalalign' ( (lv_verticalalign_19_0= ruleVerticalTextAlignEnum ) ) ) ) ) )
             	    {
-            	    // InternalReportDSL.g:1830:4: ({...}? => ( ({...}? => (otherlv_18= 'border-top' ( (lv_borderTop_19_0= ruleBorderStyle ) ) ) ) ) )
-            	    // InternalReportDSL.g:1831:5: {...}? => ( ({...}? => (otherlv_18= 'border-top' ( (lv_borderTop_19_0= ruleBorderStyle ) ) ) ) )
+            	    // InternalReportDSL.g:1830:4: ({...}? => ( ({...}? => (otherlv_18= 'verticalalign' ( (lv_verticalalign_19_0= ruleVerticalTextAlignEnum ) ) ) ) ) )
+            	    // InternalReportDSL.g:1831:5: {...}? => ( ({...}? => (otherlv_18= 'verticalalign' ( (lv_verticalalign_19_0= ruleVerticalTextAlignEnum ) ) ) ) )
             	    {
             	    if ( ! getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 5) ) {
             	        if (state.backtracking>0) {state.failed=true; return current;}
             	        throw new FailedPredicateException(input, "ruleStyle", "getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 5)");
             	    }
-            	    // InternalReportDSL.g:1831:102: ( ({...}? => (otherlv_18= 'border-top' ( (lv_borderTop_19_0= ruleBorderStyle ) ) ) ) )
-            	    // InternalReportDSL.g:1832:6: ({...}? => (otherlv_18= 'border-top' ( (lv_borderTop_19_0= ruleBorderStyle ) ) ) )
+            	    // InternalReportDSL.g:1831:102: ( ({...}? => (otherlv_18= 'verticalalign' ( (lv_verticalalign_19_0= ruleVerticalTextAlignEnum ) ) ) ) )
+            	    // InternalReportDSL.g:1832:6: ({...}? => (otherlv_18= 'verticalalign' ( (lv_verticalalign_19_0= ruleVerticalTextAlignEnum ) ) ) )
             	    {
             	    getUnorderedGroupHelper().select(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 5);
-            	    // InternalReportDSL.g:1835:9: ({...}? => (otherlv_18= 'border-top' ( (lv_borderTop_19_0= ruleBorderStyle ) ) ) )
-            	    // InternalReportDSL.g:1835:10: {...}? => (otherlv_18= 'border-top' ( (lv_borderTop_19_0= ruleBorderStyle ) ) )
+            	    // InternalReportDSL.g:1835:9: ({...}? => (otherlv_18= 'verticalalign' ( (lv_verticalalign_19_0= ruleVerticalTextAlignEnum ) ) ) )
+            	    // InternalReportDSL.g:1835:10: {...}? => (otherlv_18= 'verticalalign' ( (lv_verticalalign_19_0= ruleVerticalTextAlignEnum ) ) )
             	    {
             	    if ( !((true)) ) {
             	        if (state.backtracking>0) {state.failed=true; return current;}
             	        throw new FailedPredicateException(input, "ruleStyle", "true");
             	    }
-            	    // InternalReportDSL.g:1835:19: (otherlv_18= 'border-top' ( (lv_borderTop_19_0= ruleBorderStyle ) ) )
-            	    // InternalReportDSL.g:1835:20: otherlv_18= 'border-top' ( (lv_borderTop_19_0= ruleBorderStyle ) )
+            	    // InternalReportDSL.g:1835:19: (otherlv_18= 'verticalalign' ( (lv_verticalalign_19_0= ruleVerticalTextAlignEnum ) ) )
+            	    // InternalReportDSL.g:1835:20: otherlv_18= 'verticalalign' ( (lv_verticalalign_19_0= ruleVerticalTextAlignEnum ) )
             	    {
-            	    otherlv_18=(Token)match(input,49,FOLLOW_46); if (state.failed) return current;
+            	    otherlv_18=(Token)match(input,49,FOLLOW_47); if (state.failed) return current;
             	    if ( state.backtracking==0 ) {
 
-            	      									newLeafNode(otherlv_18, grammarAccess.getStyleAccess().getBorderTopKeyword_4_5_0());
+            	      									newLeafNode(otherlv_18, grammarAccess.getStyleAccess().getVerticalalignKeyword_4_5_0());
             	      								
             	    }
-            	    // InternalReportDSL.g:1839:9: ( (lv_borderTop_19_0= ruleBorderStyle ) )
-            	    // InternalReportDSL.g:1840:10: (lv_borderTop_19_0= ruleBorderStyle )
+            	    // InternalReportDSL.g:1839:9: ( (lv_verticalalign_19_0= ruleVerticalTextAlignEnum ) )
+            	    // InternalReportDSL.g:1840:10: (lv_verticalalign_19_0= ruleVerticalTextAlignEnum )
             	    {
-            	    // InternalReportDSL.g:1840:10: (lv_borderTop_19_0= ruleBorderStyle )
-            	    // InternalReportDSL.g:1841:11: lv_borderTop_19_0= ruleBorderStyle
+            	    // InternalReportDSL.g:1840:10: (lv_verticalalign_19_0= ruleVerticalTextAlignEnum )
+            	    // InternalReportDSL.g:1841:11: lv_verticalalign_19_0= ruleVerticalTextAlignEnum
             	    {
             	    if ( state.backtracking==0 ) {
 
-            	      											newCompositeNode(grammarAccess.getStyleAccess().getBorderTopBorderStyleParserRuleCall_4_5_1_0());
+            	      											newCompositeNode(grammarAccess.getStyleAccess().getVerticalalignVerticalTextAlignEnumEnumRuleCall_4_5_1_0());
             	      										
             	    }
-            	    pushFollow(FOLLOW_43);
-            	    lv_borderTop_19_0=ruleBorderStyle();
+            	    pushFollow(FOLLOW_44);
+            	    lv_verticalalign_19_0=ruleVerticalTextAlignEnum();
 
             	    state._fsp--;
             	    if (state.failed) return current;
@@ -5049,9 +5068,9 @@
             	      											}
             	      											set(
             	      												current,
-            	      												"borderTop",
-            	      												lv_borderTop_19_0,
-            	      												"org.eclipse.osbp.xtext.reportdsl.ReportDSL.BorderStyle");
+            	      												"verticalalign",
+            	      												lv_verticalalign_19_0,
+            	      												"org.eclipse.osbp.xtext.reportdsl.ReportDSL.VerticalTextAlignEnum");
             	      											afterParserOrEnumRuleCall();
             	      										
             	    }
@@ -5078,48 +5097,48 @@
             	    }
             	    break;
             	case 7 :
-            	    // InternalReportDSL.g:1864:4: ({...}? => ( ({...}? => (otherlv_20= 'border-bottom' ( (lv_borderBottom_21_0= ruleBorderStyle ) ) ) ) ) )
+            	    // InternalReportDSL.g:1864:4: ({...}? => ( ({...}? => (otherlv_20= 'border-top' ( (lv_borderTop_21_0= ruleBorderStyle ) ) ) ) ) )
             	    {
-            	    // InternalReportDSL.g:1864:4: ({...}? => ( ({...}? => (otherlv_20= 'border-bottom' ( (lv_borderBottom_21_0= ruleBorderStyle ) ) ) ) ) )
-            	    // InternalReportDSL.g:1865:5: {...}? => ( ({...}? => (otherlv_20= 'border-bottom' ( (lv_borderBottom_21_0= ruleBorderStyle ) ) ) ) )
+            	    // InternalReportDSL.g:1864:4: ({...}? => ( ({...}? => (otherlv_20= 'border-top' ( (lv_borderTop_21_0= ruleBorderStyle ) ) ) ) ) )
+            	    // InternalReportDSL.g:1865:5: {...}? => ( ({...}? => (otherlv_20= 'border-top' ( (lv_borderTop_21_0= ruleBorderStyle ) ) ) ) )
             	    {
             	    if ( ! getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 6) ) {
             	        if (state.backtracking>0) {state.failed=true; return current;}
             	        throw new FailedPredicateException(input, "ruleStyle", "getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 6)");
             	    }
-            	    // InternalReportDSL.g:1865:102: ( ({...}? => (otherlv_20= 'border-bottom' ( (lv_borderBottom_21_0= ruleBorderStyle ) ) ) ) )
-            	    // InternalReportDSL.g:1866:6: ({...}? => (otherlv_20= 'border-bottom' ( (lv_borderBottom_21_0= ruleBorderStyle ) ) ) )
+            	    // InternalReportDSL.g:1865:102: ( ({...}? => (otherlv_20= 'border-top' ( (lv_borderTop_21_0= ruleBorderStyle ) ) ) ) )
+            	    // InternalReportDSL.g:1866:6: ({...}? => (otherlv_20= 'border-top' ( (lv_borderTop_21_0= ruleBorderStyle ) ) ) )
             	    {
             	    getUnorderedGroupHelper().select(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 6);
-            	    // InternalReportDSL.g:1869:9: ({...}? => (otherlv_20= 'border-bottom' ( (lv_borderBottom_21_0= ruleBorderStyle ) ) ) )
-            	    // InternalReportDSL.g:1869:10: {...}? => (otherlv_20= 'border-bottom' ( (lv_borderBottom_21_0= ruleBorderStyle ) ) )
+            	    // InternalReportDSL.g:1869:9: ({...}? => (otherlv_20= 'border-top' ( (lv_borderTop_21_0= ruleBorderStyle ) ) ) )
+            	    // InternalReportDSL.g:1869:10: {...}? => (otherlv_20= 'border-top' ( (lv_borderTop_21_0= ruleBorderStyle ) ) )
             	    {
             	    if ( !((true)) ) {
             	        if (state.backtracking>0) {state.failed=true; return current;}
             	        throw new FailedPredicateException(input, "ruleStyle", "true");
             	    }
-            	    // InternalReportDSL.g:1869:19: (otherlv_20= 'border-bottom' ( (lv_borderBottom_21_0= ruleBorderStyle ) ) )
-            	    // InternalReportDSL.g:1869:20: otherlv_20= 'border-bottom' ( (lv_borderBottom_21_0= ruleBorderStyle ) )
+            	    // InternalReportDSL.g:1869:19: (otherlv_20= 'border-top' ( (lv_borderTop_21_0= ruleBorderStyle ) ) )
+            	    // InternalReportDSL.g:1869:20: otherlv_20= 'border-top' ( (lv_borderTop_21_0= ruleBorderStyle ) )
             	    {
-            	    otherlv_20=(Token)match(input,50,FOLLOW_46); if (state.failed) return current;
+            	    otherlv_20=(Token)match(input,50,FOLLOW_48); if (state.failed) return current;
             	    if ( state.backtracking==0 ) {
 
-            	      									newLeafNode(otherlv_20, grammarAccess.getStyleAccess().getBorderBottomKeyword_4_6_0());
+            	      									newLeafNode(otherlv_20, grammarAccess.getStyleAccess().getBorderTopKeyword_4_6_0());
             	      								
             	    }
-            	    // InternalReportDSL.g:1873:9: ( (lv_borderBottom_21_0= ruleBorderStyle ) )
-            	    // InternalReportDSL.g:1874:10: (lv_borderBottom_21_0= ruleBorderStyle )
+            	    // InternalReportDSL.g:1873:9: ( (lv_borderTop_21_0= ruleBorderStyle ) )
+            	    // InternalReportDSL.g:1874:10: (lv_borderTop_21_0= ruleBorderStyle )
             	    {
-            	    // InternalReportDSL.g:1874:10: (lv_borderBottom_21_0= ruleBorderStyle )
-            	    // InternalReportDSL.g:1875:11: lv_borderBottom_21_0= ruleBorderStyle
+            	    // InternalReportDSL.g:1874:10: (lv_borderTop_21_0= ruleBorderStyle )
+            	    // InternalReportDSL.g:1875:11: lv_borderTop_21_0= ruleBorderStyle
             	    {
             	    if ( state.backtracking==0 ) {
 
-            	      											newCompositeNode(grammarAccess.getStyleAccess().getBorderBottomBorderStyleParserRuleCall_4_6_1_0());
+            	      											newCompositeNode(grammarAccess.getStyleAccess().getBorderTopBorderStyleParserRuleCall_4_6_1_0());
             	      										
             	    }
-            	    pushFollow(FOLLOW_43);
-            	    lv_borderBottom_21_0=ruleBorderStyle();
+            	    pushFollow(FOLLOW_44);
+            	    lv_borderTop_21_0=ruleBorderStyle();
 
             	    state._fsp--;
             	    if (state.failed) return current;
@@ -5130,8 +5149,8 @@
             	      											}
             	      											set(
             	      												current,
-            	      												"borderBottom",
-            	      												lv_borderBottom_21_0,
+            	      												"borderTop",
+            	      												lv_borderTop_21_0,
             	      												"org.eclipse.osbp.xtext.reportdsl.ReportDSL.BorderStyle");
             	      											afterParserOrEnumRuleCall();
             	      										
@@ -5159,48 +5178,48 @@
             	    }
             	    break;
             	case 8 :
-            	    // InternalReportDSL.g:1898:4: ({...}? => ( ({...}? => (otherlv_22= 'border-left' ( (lv_borderLeft_23_0= ruleBorderStyle ) ) ) ) ) )
+            	    // InternalReportDSL.g:1898:4: ({...}? => ( ({...}? => (otherlv_22= 'border-bottom' ( (lv_borderBottom_23_0= ruleBorderStyle ) ) ) ) ) )
             	    {
-            	    // InternalReportDSL.g:1898:4: ({...}? => ( ({...}? => (otherlv_22= 'border-left' ( (lv_borderLeft_23_0= ruleBorderStyle ) ) ) ) ) )
-            	    // InternalReportDSL.g:1899:5: {...}? => ( ({...}? => (otherlv_22= 'border-left' ( (lv_borderLeft_23_0= ruleBorderStyle ) ) ) ) )
+            	    // InternalReportDSL.g:1898:4: ({...}? => ( ({...}? => (otherlv_22= 'border-bottom' ( (lv_borderBottom_23_0= ruleBorderStyle ) ) ) ) ) )
+            	    // InternalReportDSL.g:1899:5: {...}? => ( ({...}? => (otherlv_22= 'border-bottom' ( (lv_borderBottom_23_0= ruleBorderStyle ) ) ) ) )
             	    {
             	    if ( ! getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 7) ) {
             	        if (state.backtracking>0) {state.failed=true; return current;}
             	        throw new FailedPredicateException(input, "ruleStyle", "getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 7)");
             	    }
-            	    // InternalReportDSL.g:1899:102: ( ({...}? => (otherlv_22= 'border-left' ( (lv_borderLeft_23_0= ruleBorderStyle ) ) ) ) )
-            	    // InternalReportDSL.g:1900:6: ({...}? => (otherlv_22= 'border-left' ( (lv_borderLeft_23_0= ruleBorderStyle ) ) ) )
+            	    // InternalReportDSL.g:1899:102: ( ({...}? => (otherlv_22= 'border-bottom' ( (lv_borderBottom_23_0= ruleBorderStyle ) ) ) ) )
+            	    // InternalReportDSL.g:1900:6: ({...}? => (otherlv_22= 'border-bottom' ( (lv_borderBottom_23_0= ruleBorderStyle ) ) ) )
             	    {
             	    getUnorderedGroupHelper().select(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 7);
-            	    // InternalReportDSL.g:1903:9: ({...}? => (otherlv_22= 'border-left' ( (lv_borderLeft_23_0= ruleBorderStyle ) ) ) )
-            	    // InternalReportDSL.g:1903:10: {...}? => (otherlv_22= 'border-left' ( (lv_borderLeft_23_0= ruleBorderStyle ) ) )
+            	    // InternalReportDSL.g:1903:9: ({...}? => (otherlv_22= 'border-bottom' ( (lv_borderBottom_23_0= ruleBorderStyle ) ) ) )
+            	    // InternalReportDSL.g:1903:10: {...}? => (otherlv_22= 'border-bottom' ( (lv_borderBottom_23_0= ruleBorderStyle ) ) )
             	    {
             	    if ( !((true)) ) {
             	        if (state.backtracking>0) {state.failed=true; return current;}
             	        throw new FailedPredicateException(input, "ruleStyle", "true");
             	    }
-            	    // InternalReportDSL.g:1903:19: (otherlv_22= 'border-left' ( (lv_borderLeft_23_0= ruleBorderStyle ) ) )
-            	    // InternalReportDSL.g:1903:20: otherlv_22= 'border-left' ( (lv_borderLeft_23_0= ruleBorderStyle ) )
+            	    // InternalReportDSL.g:1903:19: (otherlv_22= 'border-bottom' ( (lv_borderBottom_23_0= ruleBorderStyle ) ) )
+            	    // InternalReportDSL.g:1903:20: otherlv_22= 'border-bottom' ( (lv_borderBottom_23_0= ruleBorderStyle ) )
             	    {
-            	    otherlv_22=(Token)match(input,51,FOLLOW_46); if (state.failed) return current;
+            	    otherlv_22=(Token)match(input,51,FOLLOW_48); if (state.failed) return current;
             	    if ( state.backtracking==0 ) {
 
-            	      									newLeafNode(otherlv_22, grammarAccess.getStyleAccess().getBorderLeftKeyword_4_7_0());
+            	      									newLeafNode(otherlv_22, grammarAccess.getStyleAccess().getBorderBottomKeyword_4_7_0());
             	      								
             	    }
-            	    // InternalReportDSL.g:1907:9: ( (lv_borderLeft_23_0= ruleBorderStyle ) )
-            	    // InternalReportDSL.g:1908:10: (lv_borderLeft_23_0= ruleBorderStyle )
+            	    // InternalReportDSL.g:1907:9: ( (lv_borderBottom_23_0= ruleBorderStyle ) )
+            	    // InternalReportDSL.g:1908:10: (lv_borderBottom_23_0= ruleBorderStyle )
             	    {
-            	    // InternalReportDSL.g:1908:10: (lv_borderLeft_23_0= ruleBorderStyle )
-            	    // InternalReportDSL.g:1909:11: lv_borderLeft_23_0= ruleBorderStyle
+            	    // InternalReportDSL.g:1908:10: (lv_borderBottom_23_0= ruleBorderStyle )
+            	    // InternalReportDSL.g:1909:11: lv_borderBottom_23_0= ruleBorderStyle
             	    {
             	    if ( state.backtracking==0 ) {
 
-            	      											newCompositeNode(grammarAccess.getStyleAccess().getBorderLeftBorderStyleParserRuleCall_4_7_1_0());
+            	      											newCompositeNode(grammarAccess.getStyleAccess().getBorderBottomBorderStyleParserRuleCall_4_7_1_0());
             	      										
             	    }
-            	    pushFollow(FOLLOW_43);
-            	    lv_borderLeft_23_0=ruleBorderStyle();
+            	    pushFollow(FOLLOW_44);
+            	    lv_borderBottom_23_0=ruleBorderStyle();
 
             	    state._fsp--;
             	    if (state.failed) return current;
@@ -5211,8 +5230,8 @@
             	      											}
             	      											set(
             	      												current,
-            	      												"borderLeft",
-            	      												lv_borderLeft_23_0,
+            	      												"borderBottom",
+            	      												lv_borderBottom_23_0,
             	      												"org.eclipse.osbp.xtext.reportdsl.ReportDSL.BorderStyle");
             	      											afterParserOrEnumRuleCall();
             	      										
@@ -5240,48 +5259,48 @@
             	    }
             	    break;
             	case 9 :
-            	    // InternalReportDSL.g:1932:4: ({...}? => ( ({...}? => (otherlv_24= 'border-right' ( (lv_borderRight_25_0= ruleBorderStyle ) ) ) ) ) )
+            	    // InternalReportDSL.g:1932:4: ({...}? => ( ({...}? => (otherlv_24= 'border-left' ( (lv_borderLeft_25_0= ruleBorderStyle ) ) ) ) ) )
             	    {
-            	    // InternalReportDSL.g:1932:4: ({...}? => ( ({...}? => (otherlv_24= 'border-right' ( (lv_borderRight_25_0= ruleBorderStyle ) ) ) ) ) )
-            	    // InternalReportDSL.g:1933:5: {...}? => ( ({...}? => (otherlv_24= 'border-right' ( (lv_borderRight_25_0= ruleBorderStyle ) ) ) ) )
+            	    // InternalReportDSL.g:1932:4: ({...}? => ( ({...}? => (otherlv_24= 'border-left' ( (lv_borderLeft_25_0= ruleBorderStyle ) ) ) ) ) )
+            	    // InternalReportDSL.g:1933:5: {...}? => ( ({...}? => (otherlv_24= 'border-left' ( (lv_borderLeft_25_0= ruleBorderStyle ) ) ) ) )
             	    {
             	    if ( ! getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 8) ) {
             	        if (state.backtracking>0) {state.failed=true; return current;}
             	        throw new FailedPredicateException(input, "ruleStyle", "getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 8)");
             	    }
-            	    // InternalReportDSL.g:1933:102: ( ({...}? => (otherlv_24= 'border-right' ( (lv_borderRight_25_0= ruleBorderStyle ) ) ) ) )
-            	    // InternalReportDSL.g:1934:6: ({...}? => (otherlv_24= 'border-right' ( (lv_borderRight_25_0= ruleBorderStyle ) ) ) )
+            	    // InternalReportDSL.g:1933:102: ( ({...}? => (otherlv_24= 'border-left' ( (lv_borderLeft_25_0= ruleBorderStyle ) ) ) ) )
+            	    // InternalReportDSL.g:1934:6: ({...}? => (otherlv_24= 'border-left' ( (lv_borderLeft_25_0= ruleBorderStyle ) ) ) )
             	    {
             	    getUnorderedGroupHelper().select(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 8);
-            	    // InternalReportDSL.g:1937:9: ({...}? => (otherlv_24= 'border-right' ( (lv_borderRight_25_0= ruleBorderStyle ) ) ) )
-            	    // InternalReportDSL.g:1937:10: {...}? => (otherlv_24= 'border-right' ( (lv_borderRight_25_0= ruleBorderStyle ) ) )
+            	    // InternalReportDSL.g:1937:9: ({...}? => (otherlv_24= 'border-left' ( (lv_borderLeft_25_0= ruleBorderStyle ) ) ) )
+            	    // InternalReportDSL.g:1937:10: {...}? => (otherlv_24= 'border-left' ( (lv_borderLeft_25_0= ruleBorderStyle ) ) )
             	    {
             	    if ( !((true)) ) {
             	        if (state.backtracking>0) {state.failed=true; return current;}
             	        throw new FailedPredicateException(input, "ruleStyle", "true");
             	    }
-            	    // InternalReportDSL.g:1937:19: (otherlv_24= 'border-right' ( (lv_borderRight_25_0= ruleBorderStyle ) ) )
-            	    // InternalReportDSL.g:1937:20: otherlv_24= 'border-right' ( (lv_borderRight_25_0= ruleBorderStyle ) )
+            	    // InternalReportDSL.g:1937:19: (otherlv_24= 'border-left' ( (lv_borderLeft_25_0= ruleBorderStyle ) ) )
+            	    // InternalReportDSL.g:1937:20: otherlv_24= 'border-left' ( (lv_borderLeft_25_0= ruleBorderStyle ) )
             	    {
-            	    otherlv_24=(Token)match(input,52,FOLLOW_46); if (state.failed) return current;
+            	    otherlv_24=(Token)match(input,52,FOLLOW_48); if (state.failed) return current;
             	    if ( state.backtracking==0 ) {
 
-            	      									newLeafNode(otherlv_24, grammarAccess.getStyleAccess().getBorderRightKeyword_4_8_0());
+            	      									newLeafNode(otherlv_24, grammarAccess.getStyleAccess().getBorderLeftKeyword_4_8_0());
             	      								
             	    }
-            	    // InternalReportDSL.g:1941:9: ( (lv_borderRight_25_0= ruleBorderStyle ) )
-            	    // InternalReportDSL.g:1942:10: (lv_borderRight_25_0= ruleBorderStyle )
+            	    // InternalReportDSL.g:1941:9: ( (lv_borderLeft_25_0= ruleBorderStyle ) )
+            	    // InternalReportDSL.g:1942:10: (lv_borderLeft_25_0= ruleBorderStyle )
             	    {
-            	    // InternalReportDSL.g:1942:10: (lv_borderRight_25_0= ruleBorderStyle )
-            	    // InternalReportDSL.g:1943:11: lv_borderRight_25_0= ruleBorderStyle
+            	    // InternalReportDSL.g:1942:10: (lv_borderLeft_25_0= ruleBorderStyle )
+            	    // InternalReportDSL.g:1943:11: lv_borderLeft_25_0= ruleBorderStyle
             	    {
             	    if ( state.backtracking==0 ) {
 
-            	      											newCompositeNode(grammarAccess.getStyleAccess().getBorderRightBorderStyleParserRuleCall_4_8_1_0());
+            	      											newCompositeNode(grammarAccess.getStyleAccess().getBorderLeftBorderStyleParserRuleCall_4_8_1_0());
             	      										
             	    }
-            	    pushFollow(FOLLOW_43);
-            	    lv_borderRight_25_0=ruleBorderStyle();
+            	    pushFollow(FOLLOW_44);
+            	    lv_borderLeft_25_0=ruleBorderStyle();
 
             	    state._fsp--;
             	    if (state.failed) return current;
@@ -5292,8 +5311,8 @@
             	      											}
             	      											set(
             	      												current,
-            	      												"borderRight",
-            	      												lv_borderRight_25_0,
+            	      												"borderLeft",
+            	      												lv_borderLeft_25_0,
             	      												"org.eclipse.osbp.xtext.reportdsl.ReportDSL.BorderStyle");
             	      											afterParserOrEnumRuleCall();
             	      										
@@ -5321,48 +5340,48 @@
             	    }
             	    break;
             	case 10 :
-            	    // InternalReportDSL.g:1966:4: ({...}? => ( ({...}? => (otherlv_26= 'padding-top' ( (lv_paddingTopValue_27_0= ruleUnsignedNumber ) ) ) ) ) )
+            	    // InternalReportDSL.g:1966:4: ({...}? => ( ({...}? => (otherlv_26= 'border-right' ( (lv_borderRight_27_0= ruleBorderStyle ) ) ) ) ) )
             	    {
-            	    // InternalReportDSL.g:1966:4: ({...}? => ( ({...}? => (otherlv_26= 'padding-top' ( (lv_paddingTopValue_27_0= ruleUnsignedNumber ) ) ) ) ) )
-            	    // InternalReportDSL.g:1967:5: {...}? => ( ({...}? => (otherlv_26= 'padding-top' ( (lv_paddingTopValue_27_0= ruleUnsignedNumber ) ) ) ) )
+            	    // InternalReportDSL.g:1966:4: ({...}? => ( ({...}? => (otherlv_26= 'border-right' ( (lv_borderRight_27_0= ruleBorderStyle ) ) ) ) ) )
+            	    // InternalReportDSL.g:1967:5: {...}? => ( ({...}? => (otherlv_26= 'border-right' ( (lv_borderRight_27_0= ruleBorderStyle ) ) ) ) )
             	    {
             	    if ( ! getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 9) ) {
             	        if (state.backtracking>0) {state.failed=true; return current;}
             	        throw new FailedPredicateException(input, "ruleStyle", "getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 9)");
             	    }
-            	    // InternalReportDSL.g:1967:102: ( ({...}? => (otherlv_26= 'padding-top' ( (lv_paddingTopValue_27_0= ruleUnsignedNumber ) ) ) ) )
-            	    // InternalReportDSL.g:1968:6: ({...}? => (otherlv_26= 'padding-top' ( (lv_paddingTopValue_27_0= ruleUnsignedNumber ) ) ) )
+            	    // InternalReportDSL.g:1967:102: ( ({...}? => (otherlv_26= 'border-right' ( (lv_borderRight_27_0= ruleBorderStyle ) ) ) ) )
+            	    // InternalReportDSL.g:1968:6: ({...}? => (otherlv_26= 'border-right' ( (lv_borderRight_27_0= ruleBorderStyle ) ) ) )
             	    {
             	    getUnorderedGroupHelper().select(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 9);
-            	    // InternalReportDSL.g:1971:9: ({...}? => (otherlv_26= 'padding-top' ( (lv_paddingTopValue_27_0= ruleUnsignedNumber ) ) ) )
-            	    // InternalReportDSL.g:1971:10: {...}? => (otherlv_26= 'padding-top' ( (lv_paddingTopValue_27_0= ruleUnsignedNumber ) ) )
+            	    // InternalReportDSL.g:1971:9: ({...}? => (otherlv_26= 'border-right' ( (lv_borderRight_27_0= ruleBorderStyle ) ) ) )
+            	    // InternalReportDSL.g:1971:10: {...}? => (otherlv_26= 'border-right' ( (lv_borderRight_27_0= ruleBorderStyle ) ) )
             	    {
             	    if ( !((true)) ) {
             	        if (state.backtracking>0) {state.failed=true; return current;}
             	        throw new FailedPredicateException(input, "ruleStyle", "true");
             	    }
-            	    // InternalReportDSL.g:1971:19: (otherlv_26= 'padding-top' ( (lv_paddingTopValue_27_0= ruleUnsignedNumber ) ) )
-            	    // InternalReportDSL.g:1971:20: otherlv_26= 'padding-top' ( (lv_paddingTopValue_27_0= ruleUnsignedNumber ) )
+            	    // InternalReportDSL.g:1971:19: (otherlv_26= 'border-right' ( (lv_borderRight_27_0= ruleBorderStyle ) ) )
+            	    // InternalReportDSL.g:1971:20: otherlv_26= 'border-right' ( (lv_borderRight_27_0= ruleBorderStyle ) )
             	    {
-            	    otherlv_26=(Token)match(input,53,FOLLOW_28); if (state.failed) return current;
+            	    otherlv_26=(Token)match(input,53,FOLLOW_48); if (state.failed) return current;
             	    if ( state.backtracking==0 ) {
 
-            	      									newLeafNode(otherlv_26, grammarAccess.getStyleAccess().getPaddingTopKeyword_4_9_0());
+            	      									newLeafNode(otherlv_26, grammarAccess.getStyleAccess().getBorderRightKeyword_4_9_0());
             	      								
             	    }
-            	    // InternalReportDSL.g:1975:9: ( (lv_paddingTopValue_27_0= ruleUnsignedNumber ) )
-            	    // InternalReportDSL.g:1976:10: (lv_paddingTopValue_27_0= ruleUnsignedNumber )
+            	    // InternalReportDSL.g:1975:9: ( (lv_borderRight_27_0= ruleBorderStyle ) )
+            	    // InternalReportDSL.g:1976:10: (lv_borderRight_27_0= ruleBorderStyle )
             	    {
-            	    // InternalReportDSL.g:1976:10: (lv_paddingTopValue_27_0= ruleUnsignedNumber )
-            	    // InternalReportDSL.g:1977:11: lv_paddingTopValue_27_0= ruleUnsignedNumber
+            	    // InternalReportDSL.g:1976:10: (lv_borderRight_27_0= ruleBorderStyle )
+            	    // InternalReportDSL.g:1977:11: lv_borderRight_27_0= ruleBorderStyle
             	    {
             	    if ( state.backtracking==0 ) {
 
-            	      											newCompositeNode(grammarAccess.getStyleAccess().getPaddingTopValueUnsignedNumberParserRuleCall_4_9_1_0());
+            	      											newCompositeNode(grammarAccess.getStyleAccess().getBorderRightBorderStyleParserRuleCall_4_9_1_0());
             	      										
             	    }
-            	    pushFollow(FOLLOW_43);
-            	    lv_paddingTopValue_27_0=ruleUnsignedNumber();
+            	    pushFollow(FOLLOW_44);
+            	    lv_borderRight_27_0=ruleBorderStyle();
 
             	    state._fsp--;
             	    if (state.failed) return current;
@@ -5373,9 +5392,9 @@
             	      											}
             	      											set(
             	      												current,
-            	      												"paddingTopValue",
-            	      												lv_paddingTopValue_27_0,
-            	      												"org.eclipse.osbp.xtext.reportdsl.ReportDSL.UnsignedNumber");
+            	      												"borderRight",
+            	      												lv_borderRight_27_0,
+            	      												"org.eclipse.osbp.xtext.reportdsl.ReportDSL.BorderStyle");
             	      											afterParserOrEnumRuleCall();
             	      										
             	    }
@@ -5402,48 +5421,48 @@
             	    }
             	    break;
             	case 11 :
-            	    // InternalReportDSL.g:2000:4: ({...}? => ( ({...}? => (otherlv_28= 'padding-bottom' ( (lv_paddingBottomValue_29_0= ruleUnsignedNumber ) ) ) ) ) )
+            	    // InternalReportDSL.g:2000:4: ({...}? => ( ({...}? => (otherlv_28= 'padding-top' ( (lv_paddingTopValue_29_0= ruleUnsignedNumber ) ) ) ) ) )
             	    {
-            	    // InternalReportDSL.g:2000:4: ({...}? => ( ({...}? => (otherlv_28= 'padding-bottom' ( (lv_paddingBottomValue_29_0= ruleUnsignedNumber ) ) ) ) ) )
-            	    // InternalReportDSL.g:2001:5: {...}? => ( ({...}? => (otherlv_28= 'padding-bottom' ( (lv_paddingBottomValue_29_0= ruleUnsignedNumber ) ) ) ) )
+            	    // InternalReportDSL.g:2000:4: ({...}? => ( ({...}? => (otherlv_28= 'padding-top' ( (lv_paddingTopValue_29_0= ruleUnsignedNumber ) ) ) ) ) )
+            	    // InternalReportDSL.g:2001:5: {...}? => ( ({...}? => (otherlv_28= 'padding-top' ( (lv_paddingTopValue_29_0= ruleUnsignedNumber ) ) ) ) )
             	    {
             	    if ( ! getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 10) ) {
             	        if (state.backtracking>0) {state.failed=true; return current;}
             	        throw new FailedPredicateException(input, "ruleStyle", "getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 10)");
             	    }
-            	    // InternalReportDSL.g:2001:103: ( ({...}? => (otherlv_28= 'padding-bottom' ( (lv_paddingBottomValue_29_0= ruleUnsignedNumber ) ) ) ) )
-            	    // InternalReportDSL.g:2002:6: ({...}? => (otherlv_28= 'padding-bottom' ( (lv_paddingBottomValue_29_0= ruleUnsignedNumber ) ) ) )
+            	    // InternalReportDSL.g:2001:103: ( ({...}? => (otherlv_28= 'padding-top' ( (lv_paddingTopValue_29_0= ruleUnsignedNumber ) ) ) ) )
+            	    // InternalReportDSL.g:2002:6: ({...}? => (otherlv_28= 'padding-top' ( (lv_paddingTopValue_29_0= ruleUnsignedNumber ) ) ) )
             	    {
             	    getUnorderedGroupHelper().select(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 10);
-            	    // InternalReportDSL.g:2005:9: ({...}? => (otherlv_28= 'padding-bottom' ( (lv_paddingBottomValue_29_0= ruleUnsignedNumber ) ) ) )
-            	    // InternalReportDSL.g:2005:10: {...}? => (otherlv_28= 'padding-bottom' ( (lv_paddingBottomValue_29_0= ruleUnsignedNumber ) ) )
+            	    // InternalReportDSL.g:2005:9: ({...}? => (otherlv_28= 'padding-top' ( (lv_paddingTopValue_29_0= ruleUnsignedNumber ) ) ) )
+            	    // InternalReportDSL.g:2005:10: {...}? => (otherlv_28= 'padding-top' ( (lv_paddingTopValue_29_0= ruleUnsignedNumber ) ) )
             	    {
             	    if ( !((true)) ) {
             	        if (state.backtracking>0) {state.failed=true; return current;}
             	        throw new FailedPredicateException(input, "ruleStyle", "true");
             	    }
-            	    // InternalReportDSL.g:2005:19: (otherlv_28= 'padding-bottom' ( (lv_paddingBottomValue_29_0= ruleUnsignedNumber ) ) )
-            	    // InternalReportDSL.g:2005:20: otherlv_28= 'padding-bottom' ( (lv_paddingBottomValue_29_0= ruleUnsignedNumber ) )
+            	    // InternalReportDSL.g:2005:19: (otherlv_28= 'padding-top' ( (lv_paddingTopValue_29_0= ruleUnsignedNumber ) ) )
+            	    // InternalReportDSL.g:2005:20: otherlv_28= 'padding-top' ( (lv_paddingTopValue_29_0= ruleUnsignedNumber ) )
             	    {
             	    otherlv_28=(Token)match(input,54,FOLLOW_28); if (state.failed) return current;
             	    if ( state.backtracking==0 ) {
 
-            	      									newLeafNode(otherlv_28, grammarAccess.getStyleAccess().getPaddingBottomKeyword_4_10_0());
+            	      									newLeafNode(otherlv_28, grammarAccess.getStyleAccess().getPaddingTopKeyword_4_10_0());
             	      								
             	    }
-            	    // InternalReportDSL.g:2009:9: ( (lv_paddingBottomValue_29_0= ruleUnsignedNumber ) )
-            	    // InternalReportDSL.g:2010:10: (lv_paddingBottomValue_29_0= ruleUnsignedNumber )
+            	    // InternalReportDSL.g:2009:9: ( (lv_paddingTopValue_29_0= ruleUnsignedNumber ) )
+            	    // InternalReportDSL.g:2010:10: (lv_paddingTopValue_29_0= ruleUnsignedNumber )
             	    {
-            	    // InternalReportDSL.g:2010:10: (lv_paddingBottomValue_29_0= ruleUnsignedNumber )
-            	    // InternalReportDSL.g:2011:11: lv_paddingBottomValue_29_0= ruleUnsignedNumber
+            	    // InternalReportDSL.g:2010:10: (lv_paddingTopValue_29_0= ruleUnsignedNumber )
+            	    // InternalReportDSL.g:2011:11: lv_paddingTopValue_29_0= ruleUnsignedNumber
             	    {
             	    if ( state.backtracking==0 ) {
 
-            	      											newCompositeNode(grammarAccess.getStyleAccess().getPaddingBottomValueUnsignedNumberParserRuleCall_4_10_1_0());
+            	      											newCompositeNode(grammarAccess.getStyleAccess().getPaddingTopValueUnsignedNumberParserRuleCall_4_10_1_0());
             	      										
             	    }
-            	    pushFollow(FOLLOW_43);
-            	    lv_paddingBottomValue_29_0=ruleUnsignedNumber();
+            	    pushFollow(FOLLOW_44);
+            	    lv_paddingTopValue_29_0=ruleUnsignedNumber();
 
             	    state._fsp--;
             	    if (state.failed) return current;
@@ -5454,8 +5473,8 @@
             	      											}
             	      											set(
             	      												current,
-            	      												"paddingBottomValue",
-            	      												lv_paddingBottomValue_29_0,
+            	      												"paddingTopValue",
+            	      												lv_paddingTopValue_29_0,
             	      												"org.eclipse.osbp.xtext.reportdsl.ReportDSL.UnsignedNumber");
             	      											afterParserOrEnumRuleCall();
             	      										
@@ -5483,48 +5502,48 @@
             	    }
             	    break;
             	case 12 :
-            	    // InternalReportDSL.g:2034:4: ({...}? => ( ({...}? => (otherlv_30= 'padding-left' ( (lv_paddingLeftValue_31_0= ruleUnsignedNumber ) ) ) ) ) )
+            	    // InternalReportDSL.g:2034:4: ({...}? => ( ({...}? => (otherlv_30= 'padding-bottom' ( (lv_paddingBottomValue_31_0= ruleUnsignedNumber ) ) ) ) ) )
             	    {
-            	    // InternalReportDSL.g:2034:4: ({...}? => ( ({...}? => (otherlv_30= 'padding-left' ( (lv_paddingLeftValue_31_0= ruleUnsignedNumber ) ) ) ) ) )
-            	    // InternalReportDSL.g:2035:5: {...}? => ( ({...}? => (otherlv_30= 'padding-left' ( (lv_paddingLeftValue_31_0= ruleUnsignedNumber ) ) ) ) )
+            	    // InternalReportDSL.g:2034:4: ({...}? => ( ({...}? => (otherlv_30= 'padding-bottom' ( (lv_paddingBottomValue_31_0= ruleUnsignedNumber ) ) ) ) ) )
+            	    // InternalReportDSL.g:2035:5: {...}? => ( ({...}? => (otherlv_30= 'padding-bottom' ( (lv_paddingBottomValue_31_0= ruleUnsignedNumber ) ) ) ) )
             	    {
             	    if ( ! getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 11) ) {
             	        if (state.backtracking>0) {state.failed=true; return current;}
             	        throw new FailedPredicateException(input, "ruleStyle", "getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 11)");
             	    }
-            	    // InternalReportDSL.g:2035:103: ( ({...}? => (otherlv_30= 'padding-left' ( (lv_paddingLeftValue_31_0= ruleUnsignedNumber ) ) ) ) )
-            	    // InternalReportDSL.g:2036:6: ({...}? => (otherlv_30= 'padding-left' ( (lv_paddingLeftValue_31_0= ruleUnsignedNumber ) ) ) )
+            	    // InternalReportDSL.g:2035:103: ( ({...}? => (otherlv_30= 'padding-bottom' ( (lv_paddingBottomValue_31_0= ruleUnsignedNumber ) ) ) ) )
+            	    // InternalReportDSL.g:2036:6: ({...}? => (otherlv_30= 'padding-bottom' ( (lv_paddingBottomValue_31_0= ruleUnsignedNumber ) ) ) )
             	    {
             	    getUnorderedGroupHelper().select(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 11);
-            	    // InternalReportDSL.g:2039:9: ({...}? => (otherlv_30= 'padding-left' ( (lv_paddingLeftValue_31_0= ruleUnsignedNumber ) ) ) )
-            	    // InternalReportDSL.g:2039:10: {...}? => (otherlv_30= 'padding-left' ( (lv_paddingLeftValue_31_0= ruleUnsignedNumber ) ) )
+            	    // InternalReportDSL.g:2039:9: ({...}? => (otherlv_30= 'padding-bottom' ( (lv_paddingBottomValue_31_0= ruleUnsignedNumber ) ) ) )
+            	    // InternalReportDSL.g:2039:10: {...}? => (otherlv_30= 'padding-bottom' ( (lv_paddingBottomValue_31_0= ruleUnsignedNumber ) ) )
             	    {
             	    if ( !((true)) ) {
             	        if (state.backtracking>0) {state.failed=true; return current;}
             	        throw new FailedPredicateException(input, "ruleStyle", "true");
             	    }
-            	    // InternalReportDSL.g:2039:19: (otherlv_30= 'padding-left' ( (lv_paddingLeftValue_31_0= ruleUnsignedNumber ) ) )
-            	    // InternalReportDSL.g:2039:20: otherlv_30= 'padding-left' ( (lv_paddingLeftValue_31_0= ruleUnsignedNumber ) )
+            	    // InternalReportDSL.g:2039:19: (otherlv_30= 'padding-bottom' ( (lv_paddingBottomValue_31_0= ruleUnsignedNumber ) ) )
+            	    // InternalReportDSL.g:2039:20: otherlv_30= 'padding-bottom' ( (lv_paddingBottomValue_31_0= ruleUnsignedNumber ) )
             	    {
             	    otherlv_30=(Token)match(input,55,FOLLOW_28); if (state.failed) return current;
             	    if ( state.backtracking==0 ) {
 
-            	      									newLeafNode(otherlv_30, grammarAccess.getStyleAccess().getPaddingLeftKeyword_4_11_0());
+            	      									newLeafNode(otherlv_30, grammarAccess.getStyleAccess().getPaddingBottomKeyword_4_11_0());
             	      								
             	    }
-            	    // InternalReportDSL.g:2043:9: ( (lv_paddingLeftValue_31_0= ruleUnsignedNumber ) )
-            	    // InternalReportDSL.g:2044:10: (lv_paddingLeftValue_31_0= ruleUnsignedNumber )
+            	    // InternalReportDSL.g:2043:9: ( (lv_paddingBottomValue_31_0= ruleUnsignedNumber ) )
+            	    // InternalReportDSL.g:2044:10: (lv_paddingBottomValue_31_0= ruleUnsignedNumber )
             	    {
-            	    // InternalReportDSL.g:2044:10: (lv_paddingLeftValue_31_0= ruleUnsignedNumber )
-            	    // InternalReportDSL.g:2045:11: lv_paddingLeftValue_31_0= ruleUnsignedNumber
+            	    // InternalReportDSL.g:2044:10: (lv_paddingBottomValue_31_0= ruleUnsignedNumber )
+            	    // InternalReportDSL.g:2045:11: lv_paddingBottomValue_31_0= ruleUnsignedNumber
             	    {
             	    if ( state.backtracking==0 ) {
 
-            	      											newCompositeNode(grammarAccess.getStyleAccess().getPaddingLeftValueUnsignedNumberParserRuleCall_4_11_1_0());
+            	      											newCompositeNode(grammarAccess.getStyleAccess().getPaddingBottomValueUnsignedNumberParserRuleCall_4_11_1_0());
             	      										
             	    }
-            	    pushFollow(FOLLOW_43);
-            	    lv_paddingLeftValue_31_0=ruleUnsignedNumber();
+            	    pushFollow(FOLLOW_44);
+            	    lv_paddingBottomValue_31_0=ruleUnsignedNumber();
 
             	    state._fsp--;
             	    if (state.failed) return current;
@@ -5535,8 +5554,8 @@
             	      											}
             	      											set(
             	      												current,
-            	      												"paddingLeftValue",
-            	      												lv_paddingLeftValue_31_0,
+            	      												"paddingBottomValue",
+            	      												lv_paddingBottomValue_31_0,
             	      												"org.eclipse.osbp.xtext.reportdsl.ReportDSL.UnsignedNumber");
             	      											afterParserOrEnumRuleCall();
             	      										
@@ -5564,48 +5583,48 @@
             	    }
             	    break;
             	case 13 :
-            	    // InternalReportDSL.g:2068:4: ({...}? => ( ({...}? => (otherlv_32= 'padding-right' ( (lv_paddingRightValue_33_0= ruleUnsignedNumber ) ) ) ) ) )
+            	    // InternalReportDSL.g:2068:4: ({...}? => ( ({...}? => (otherlv_32= 'padding-left' ( (lv_paddingLeftValue_33_0= ruleUnsignedNumber ) ) ) ) ) )
             	    {
-            	    // InternalReportDSL.g:2068:4: ({...}? => ( ({...}? => (otherlv_32= 'padding-right' ( (lv_paddingRightValue_33_0= ruleUnsignedNumber ) ) ) ) ) )
-            	    // InternalReportDSL.g:2069:5: {...}? => ( ({...}? => (otherlv_32= 'padding-right' ( (lv_paddingRightValue_33_0= ruleUnsignedNumber ) ) ) ) )
+            	    // InternalReportDSL.g:2068:4: ({...}? => ( ({...}? => (otherlv_32= 'padding-left' ( (lv_paddingLeftValue_33_0= ruleUnsignedNumber ) ) ) ) ) )
+            	    // InternalReportDSL.g:2069:5: {...}? => ( ({...}? => (otherlv_32= 'padding-left' ( (lv_paddingLeftValue_33_0= ruleUnsignedNumber ) ) ) ) )
             	    {
             	    if ( ! getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 12) ) {
             	        if (state.backtracking>0) {state.failed=true; return current;}
             	        throw new FailedPredicateException(input, "ruleStyle", "getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 12)");
             	    }
-            	    // InternalReportDSL.g:2069:103: ( ({...}? => (otherlv_32= 'padding-right' ( (lv_paddingRightValue_33_0= ruleUnsignedNumber ) ) ) ) )
-            	    // InternalReportDSL.g:2070:6: ({...}? => (otherlv_32= 'padding-right' ( (lv_paddingRightValue_33_0= ruleUnsignedNumber ) ) ) )
+            	    // InternalReportDSL.g:2069:103: ( ({...}? => (otherlv_32= 'padding-left' ( (lv_paddingLeftValue_33_0= ruleUnsignedNumber ) ) ) ) )
+            	    // InternalReportDSL.g:2070:6: ({...}? => (otherlv_32= 'padding-left' ( (lv_paddingLeftValue_33_0= ruleUnsignedNumber ) ) ) )
             	    {
             	    getUnorderedGroupHelper().select(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 12);
-            	    // InternalReportDSL.g:2073:9: ({...}? => (otherlv_32= 'padding-right' ( (lv_paddingRightValue_33_0= ruleUnsignedNumber ) ) ) )
-            	    // InternalReportDSL.g:2073:10: {...}? => (otherlv_32= 'padding-right' ( (lv_paddingRightValue_33_0= ruleUnsignedNumber ) ) )
+            	    // InternalReportDSL.g:2073:9: ({...}? => (otherlv_32= 'padding-left' ( (lv_paddingLeftValue_33_0= ruleUnsignedNumber ) ) ) )
+            	    // InternalReportDSL.g:2073:10: {...}? => (otherlv_32= 'padding-left' ( (lv_paddingLeftValue_33_0= ruleUnsignedNumber ) ) )
             	    {
             	    if ( !((true)) ) {
             	        if (state.backtracking>0) {state.failed=true; return current;}
             	        throw new FailedPredicateException(input, "ruleStyle", "true");
             	    }
-            	    // InternalReportDSL.g:2073:19: (otherlv_32= 'padding-right' ( (lv_paddingRightValue_33_0= ruleUnsignedNumber ) ) )
-            	    // InternalReportDSL.g:2073:20: otherlv_32= 'padding-right' ( (lv_paddingRightValue_33_0= ruleUnsignedNumber ) )
+            	    // InternalReportDSL.g:2073:19: (otherlv_32= 'padding-left' ( (lv_paddingLeftValue_33_0= ruleUnsignedNumber ) ) )
+            	    // InternalReportDSL.g:2073:20: otherlv_32= 'padding-left' ( (lv_paddingLeftValue_33_0= ruleUnsignedNumber ) )
             	    {
             	    otherlv_32=(Token)match(input,56,FOLLOW_28); if (state.failed) return current;
             	    if ( state.backtracking==0 ) {
 
-            	      									newLeafNode(otherlv_32, grammarAccess.getStyleAccess().getPaddingRightKeyword_4_12_0());
+            	      									newLeafNode(otherlv_32, grammarAccess.getStyleAccess().getPaddingLeftKeyword_4_12_0());
             	      								
             	    }
-            	    // InternalReportDSL.g:2077:9: ( (lv_paddingRightValue_33_0= ruleUnsignedNumber ) )
-            	    // InternalReportDSL.g:2078:10: (lv_paddingRightValue_33_0= ruleUnsignedNumber )
+            	    // InternalReportDSL.g:2077:9: ( (lv_paddingLeftValue_33_0= ruleUnsignedNumber ) )
+            	    // InternalReportDSL.g:2078:10: (lv_paddingLeftValue_33_0= ruleUnsignedNumber )
             	    {
-            	    // InternalReportDSL.g:2078:10: (lv_paddingRightValue_33_0= ruleUnsignedNumber )
-            	    // InternalReportDSL.g:2079:11: lv_paddingRightValue_33_0= ruleUnsignedNumber
+            	    // InternalReportDSL.g:2078:10: (lv_paddingLeftValue_33_0= ruleUnsignedNumber )
+            	    // InternalReportDSL.g:2079:11: lv_paddingLeftValue_33_0= ruleUnsignedNumber
             	    {
             	    if ( state.backtracking==0 ) {
 
-            	      											newCompositeNode(grammarAccess.getStyleAccess().getPaddingRightValueUnsignedNumberParserRuleCall_4_12_1_0());
+            	      											newCompositeNode(grammarAccess.getStyleAccess().getPaddingLeftValueUnsignedNumberParserRuleCall_4_12_1_0());
             	      										
             	    }
-            	    pushFollow(FOLLOW_43);
-            	    lv_paddingRightValue_33_0=ruleUnsignedNumber();
+            	    pushFollow(FOLLOW_44);
+            	    lv_paddingLeftValue_33_0=ruleUnsignedNumber();
 
             	    state._fsp--;
             	    if (state.failed) return current;
@@ -5616,8 +5635,8 @@
             	      											}
             	      											set(
             	      												current,
-            	      												"paddingRightValue",
-            	      												lv_paddingRightValue_33_0,
+            	      												"paddingLeftValue",
+            	      												lv_paddingLeftValue_33_0,
             	      												"org.eclipse.osbp.xtext.reportdsl.ReportDSL.UnsignedNumber");
             	      											afterParserOrEnumRuleCall();
             	      										
@@ -5645,48 +5664,48 @@
             	    }
             	    break;
             	case 14 :
-            	    // InternalReportDSL.g:2102:4: ({...}? => ( ({...}? => (otherlv_34= 'margin-top' ( (lv_marginTopValue_35_0= ruleUnsignedNumber ) ) ) ) ) )
+            	    // InternalReportDSL.g:2102:4: ({...}? => ( ({...}? => (otherlv_34= 'padding-right' ( (lv_paddingRightValue_35_0= ruleUnsignedNumber ) ) ) ) ) )
             	    {
-            	    // InternalReportDSL.g:2102:4: ({...}? => ( ({...}? => (otherlv_34= 'margin-top' ( (lv_marginTopValue_35_0= ruleUnsignedNumber ) ) ) ) ) )
-            	    // InternalReportDSL.g:2103:5: {...}? => ( ({...}? => (otherlv_34= 'margin-top' ( (lv_marginTopValue_35_0= ruleUnsignedNumber ) ) ) ) )
+            	    // InternalReportDSL.g:2102:4: ({...}? => ( ({...}? => (otherlv_34= 'padding-right' ( (lv_paddingRightValue_35_0= ruleUnsignedNumber ) ) ) ) ) )
+            	    // InternalReportDSL.g:2103:5: {...}? => ( ({...}? => (otherlv_34= 'padding-right' ( (lv_paddingRightValue_35_0= ruleUnsignedNumber ) ) ) ) )
             	    {
             	    if ( ! getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 13) ) {
             	        if (state.backtracking>0) {state.failed=true; return current;}
             	        throw new FailedPredicateException(input, "ruleStyle", "getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 13)");
             	    }
-            	    // InternalReportDSL.g:2103:103: ( ({...}? => (otherlv_34= 'margin-top' ( (lv_marginTopValue_35_0= ruleUnsignedNumber ) ) ) ) )
-            	    // InternalReportDSL.g:2104:6: ({...}? => (otherlv_34= 'margin-top' ( (lv_marginTopValue_35_0= ruleUnsignedNumber ) ) ) )
+            	    // InternalReportDSL.g:2103:103: ( ({...}? => (otherlv_34= 'padding-right' ( (lv_paddingRightValue_35_0= ruleUnsignedNumber ) ) ) ) )
+            	    // InternalReportDSL.g:2104:6: ({...}? => (otherlv_34= 'padding-right' ( (lv_paddingRightValue_35_0= ruleUnsignedNumber ) ) ) )
             	    {
             	    getUnorderedGroupHelper().select(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 13);
-            	    // InternalReportDSL.g:2107:9: ({...}? => (otherlv_34= 'margin-top' ( (lv_marginTopValue_35_0= ruleUnsignedNumber ) ) ) )
-            	    // InternalReportDSL.g:2107:10: {...}? => (otherlv_34= 'margin-top' ( (lv_marginTopValue_35_0= ruleUnsignedNumber ) ) )
+            	    // InternalReportDSL.g:2107:9: ({...}? => (otherlv_34= 'padding-right' ( (lv_paddingRightValue_35_0= ruleUnsignedNumber ) ) ) )
+            	    // InternalReportDSL.g:2107:10: {...}? => (otherlv_34= 'padding-right' ( (lv_paddingRightValue_35_0= ruleUnsignedNumber ) ) )
             	    {
             	    if ( !((true)) ) {
             	        if (state.backtracking>0) {state.failed=true; return current;}
             	        throw new FailedPredicateException(input, "ruleStyle", "true");
             	    }
-            	    // InternalReportDSL.g:2107:19: (otherlv_34= 'margin-top' ( (lv_marginTopValue_35_0= ruleUnsignedNumber ) ) )
-            	    // InternalReportDSL.g:2107:20: otherlv_34= 'margin-top' ( (lv_marginTopValue_35_0= ruleUnsignedNumber ) )
+            	    // InternalReportDSL.g:2107:19: (otherlv_34= 'padding-right' ( (lv_paddingRightValue_35_0= ruleUnsignedNumber ) ) )
+            	    // InternalReportDSL.g:2107:20: otherlv_34= 'padding-right' ( (lv_paddingRightValue_35_0= ruleUnsignedNumber ) )
             	    {
             	    otherlv_34=(Token)match(input,57,FOLLOW_28); if (state.failed) return current;
             	    if ( state.backtracking==0 ) {
 
-            	      									newLeafNode(otherlv_34, grammarAccess.getStyleAccess().getMarginTopKeyword_4_13_0());
+            	      									newLeafNode(otherlv_34, grammarAccess.getStyleAccess().getPaddingRightKeyword_4_13_0());
             	      								
             	    }
-            	    // InternalReportDSL.g:2111:9: ( (lv_marginTopValue_35_0= ruleUnsignedNumber ) )
-            	    // InternalReportDSL.g:2112:10: (lv_marginTopValue_35_0= ruleUnsignedNumber )
+            	    // InternalReportDSL.g:2111:9: ( (lv_paddingRightValue_35_0= ruleUnsignedNumber ) )
+            	    // InternalReportDSL.g:2112:10: (lv_paddingRightValue_35_0= ruleUnsignedNumber )
             	    {
-            	    // InternalReportDSL.g:2112:10: (lv_marginTopValue_35_0= ruleUnsignedNumber )
-            	    // InternalReportDSL.g:2113:11: lv_marginTopValue_35_0= ruleUnsignedNumber
+            	    // InternalReportDSL.g:2112:10: (lv_paddingRightValue_35_0= ruleUnsignedNumber )
+            	    // InternalReportDSL.g:2113:11: lv_paddingRightValue_35_0= ruleUnsignedNumber
             	    {
             	    if ( state.backtracking==0 ) {
 
-            	      											newCompositeNode(grammarAccess.getStyleAccess().getMarginTopValueUnsignedNumberParserRuleCall_4_13_1_0());
+            	      											newCompositeNode(grammarAccess.getStyleAccess().getPaddingRightValueUnsignedNumberParserRuleCall_4_13_1_0());
             	      										
             	    }
-            	    pushFollow(FOLLOW_43);
-            	    lv_marginTopValue_35_0=ruleUnsignedNumber();
+            	    pushFollow(FOLLOW_44);
+            	    lv_paddingRightValue_35_0=ruleUnsignedNumber();
 
             	    state._fsp--;
             	    if (state.failed) return current;
@@ -5697,8 +5716,8 @@
             	      											}
             	      											set(
             	      												current,
-            	      												"marginTopValue",
-            	      												lv_marginTopValue_35_0,
+            	      												"paddingRightValue",
+            	      												lv_paddingRightValue_35_0,
             	      												"org.eclipse.osbp.xtext.reportdsl.ReportDSL.UnsignedNumber");
             	      											afterParserOrEnumRuleCall();
             	      										
@@ -5726,48 +5745,48 @@
             	    }
             	    break;
             	case 15 :
-            	    // InternalReportDSL.g:2136:4: ({...}? => ( ({...}? => (otherlv_36= 'margin-bottom' ( (lv_marginBottomValue_37_0= ruleUnsignedNumber ) ) ) ) ) )
+            	    // InternalReportDSL.g:2136:4: ({...}? => ( ({...}? => (otherlv_36= 'margin-top' ( (lv_marginTopValue_37_0= ruleUnsignedNumber ) ) ) ) ) )
             	    {
-            	    // InternalReportDSL.g:2136:4: ({...}? => ( ({...}? => (otherlv_36= 'margin-bottom' ( (lv_marginBottomValue_37_0= ruleUnsignedNumber ) ) ) ) ) )
-            	    // InternalReportDSL.g:2137:5: {...}? => ( ({...}? => (otherlv_36= 'margin-bottom' ( (lv_marginBottomValue_37_0= ruleUnsignedNumber ) ) ) ) )
+            	    // InternalReportDSL.g:2136:4: ({...}? => ( ({...}? => (otherlv_36= 'margin-top' ( (lv_marginTopValue_37_0= ruleUnsignedNumber ) ) ) ) ) )
+            	    // InternalReportDSL.g:2137:5: {...}? => ( ({...}? => (otherlv_36= 'margin-top' ( (lv_marginTopValue_37_0= ruleUnsignedNumber ) ) ) ) )
             	    {
             	    if ( ! getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 14) ) {
             	        if (state.backtracking>0) {state.failed=true; return current;}
             	        throw new FailedPredicateException(input, "ruleStyle", "getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 14)");
             	    }
-            	    // InternalReportDSL.g:2137:103: ( ({...}? => (otherlv_36= 'margin-bottom' ( (lv_marginBottomValue_37_0= ruleUnsignedNumber ) ) ) ) )
-            	    // InternalReportDSL.g:2138:6: ({...}? => (otherlv_36= 'margin-bottom' ( (lv_marginBottomValue_37_0= ruleUnsignedNumber ) ) ) )
+            	    // InternalReportDSL.g:2137:103: ( ({...}? => (otherlv_36= 'margin-top' ( (lv_marginTopValue_37_0= ruleUnsignedNumber ) ) ) ) )
+            	    // InternalReportDSL.g:2138:6: ({...}? => (otherlv_36= 'margin-top' ( (lv_marginTopValue_37_0= ruleUnsignedNumber ) ) ) )
             	    {
             	    getUnorderedGroupHelper().select(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 14);
-            	    // InternalReportDSL.g:2141:9: ({...}? => (otherlv_36= 'margin-bottom' ( (lv_marginBottomValue_37_0= ruleUnsignedNumber ) ) ) )
-            	    // InternalReportDSL.g:2141:10: {...}? => (otherlv_36= 'margin-bottom' ( (lv_marginBottomValue_37_0= ruleUnsignedNumber ) ) )
+            	    // InternalReportDSL.g:2141:9: ({...}? => (otherlv_36= 'margin-top' ( (lv_marginTopValue_37_0= ruleUnsignedNumber ) ) ) )
+            	    // InternalReportDSL.g:2141:10: {...}? => (otherlv_36= 'margin-top' ( (lv_marginTopValue_37_0= ruleUnsignedNumber ) ) )
             	    {
             	    if ( !((true)) ) {
             	        if (state.backtracking>0) {state.failed=true; return current;}
             	        throw new FailedPredicateException(input, "ruleStyle", "true");
             	    }
-            	    // InternalReportDSL.g:2141:19: (otherlv_36= 'margin-bottom' ( (lv_marginBottomValue_37_0= ruleUnsignedNumber ) ) )
-            	    // InternalReportDSL.g:2141:20: otherlv_36= 'margin-bottom' ( (lv_marginBottomValue_37_0= ruleUnsignedNumber ) )
+            	    // InternalReportDSL.g:2141:19: (otherlv_36= 'margin-top' ( (lv_marginTopValue_37_0= ruleUnsignedNumber ) ) )
+            	    // InternalReportDSL.g:2141:20: otherlv_36= 'margin-top' ( (lv_marginTopValue_37_0= ruleUnsignedNumber ) )
             	    {
             	    otherlv_36=(Token)match(input,58,FOLLOW_28); if (state.failed) return current;
             	    if ( state.backtracking==0 ) {
 
-            	      									newLeafNode(otherlv_36, grammarAccess.getStyleAccess().getMarginBottomKeyword_4_14_0());
+            	      									newLeafNode(otherlv_36, grammarAccess.getStyleAccess().getMarginTopKeyword_4_14_0());
             	      								
             	    }
-            	    // InternalReportDSL.g:2145:9: ( (lv_marginBottomValue_37_0= ruleUnsignedNumber ) )
-            	    // InternalReportDSL.g:2146:10: (lv_marginBottomValue_37_0= ruleUnsignedNumber )
+            	    // InternalReportDSL.g:2145:9: ( (lv_marginTopValue_37_0= ruleUnsignedNumber ) )
+            	    // InternalReportDSL.g:2146:10: (lv_marginTopValue_37_0= ruleUnsignedNumber )
             	    {
-            	    // InternalReportDSL.g:2146:10: (lv_marginBottomValue_37_0= ruleUnsignedNumber )
-            	    // InternalReportDSL.g:2147:11: lv_marginBottomValue_37_0= ruleUnsignedNumber
+            	    // InternalReportDSL.g:2146:10: (lv_marginTopValue_37_0= ruleUnsignedNumber )
+            	    // InternalReportDSL.g:2147:11: lv_marginTopValue_37_0= ruleUnsignedNumber
             	    {
             	    if ( state.backtracking==0 ) {
 
-            	      											newCompositeNode(grammarAccess.getStyleAccess().getMarginBottomValueUnsignedNumberParserRuleCall_4_14_1_0());
+            	      											newCompositeNode(grammarAccess.getStyleAccess().getMarginTopValueUnsignedNumberParserRuleCall_4_14_1_0());
             	      										
             	    }
-            	    pushFollow(FOLLOW_43);
-            	    lv_marginBottomValue_37_0=ruleUnsignedNumber();
+            	    pushFollow(FOLLOW_44);
+            	    lv_marginTopValue_37_0=ruleUnsignedNumber();
 
             	    state._fsp--;
             	    if (state.failed) return current;
@@ -5778,8 +5797,8 @@
             	      											}
             	      											set(
             	      												current,
-            	      												"marginBottomValue",
-            	      												lv_marginBottomValue_37_0,
+            	      												"marginTopValue",
+            	      												lv_marginTopValue_37_0,
             	      												"org.eclipse.osbp.xtext.reportdsl.ReportDSL.UnsignedNumber");
             	      											afterParserOrEnumRuleCall();
             	      										
@@ -5807,48 +5826,48 @@
             	    }
             	    break;
             	case 16 :
-            	    // InternalReportDSL.g:2170:4: ({...}? => ( ({...}? => (otherlv_38= 'margin-left' ( (lv_marginLeftValue_39_0= ruleUnsignedNumber ) ) ) ) ) )
+            	    // InternalReportDSL.g:2170:4: ({...}? => ( ({...}? => (otherlv_38= 'margin-bottom' ( (lv_marginBottomValue_39_0= ruleUnsignedNumber ) ) ) ) ) )
             	    {
-            	    // InternalReportDSL.g:2170:4: ({...}? => ( ({...}? => (otherlv_38= 'margin-left' ( (lv_marginLeftValue_39_0= ruleUnsignedNumber ) ) ) ) ) )
-            	    // InternalReportDSL.g:2171:5: {...}? => ( ({...}? => (otherlv_38= 'margin-left' ( (lv_marginLeftValue_39_0= ruleUnsignedNumber ) ) ) ) )
+            	    // InternalReportDSL.g:2170:4: ({...}? => ( ({...}? => (otherlv_38= 'margin-bottom' ( (lv_marginBottomValue_39_0= ruleUnsignedNumber ) ) ) ) ) )
+            	    // InternalReportDSL.g:2171:5: {...}? => ( ({...}? => (otherlv_38= 'margin-bottom' ( (lv_marginBottomValue_39_0= ruleUnsignedNumber ) ) ) ) )
             	    {
             	    if ( ! getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 15) ) {
             	        if (state.backtracking>0) {state.failed=true; return current;}
             	        throw new FailedPredicateException(input, "ruleStyle", "getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 15)");
             	    }
-            	    // InternalReportDSL.g:2171:103: ( ({...}? => (otherlv_38= 'margin-left' ( (lv_marginLeftValue_39_0= ruleUnsignedNumber ) ) ) ) )
-            	    // InternalReportDSL.g:2172:6: ({...}? => (otherlv_38= 'margin-left' ( (lv_marginLeftValue_39_0= ruleUnsignedNumber ) ) ) )
+            	    // InternalReportDSL.g:2171:103: ( ({...}? => (otherlv_38= 'margin-bottom' ( (lv_marginBottomValue_39_0= ruleUnsignedNumber ) ) ) ) )
+            	    // InternalReportDSL.g:2172:6: ({...}? => (otherlv_38= 'margin-bottom' ( (lv_marginBottomValue_39_0= ruleUnsignedNumber ) ) ) )
             	    {
             	    getUnorderedGroupHelper().select(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 15);
-            	    // InternalReportDSL.g:2175:9: ({...}? => (otherlv_38= 'margin-left' ( (lv_marginLeftValue_39_0= ruleUnsignedNumber ) ) ) )
-            	    // InternalReportDSL.g:2175:10: {...}? => (otherlv_38= 'margin-left' ( (lv_marginLeftValue_39_0= ruleUnsignedNumber ) ) )
+            	    // InternalReportDSL.g:2175:9: ({...}? => (otherlv_38= 'margin-bottom' ( (lv_marginBottomValue_39_0= ruleUnsignedNumber ) ) ) )
+            	    // InternalReportDSL.g:2175:10: {...}? => (otherlv_38= 'margin-bottom' ( (lv_marginBottomValue_39_0= ruleUnsignedNumber ) ) )
             	    {
             	    if ( !((true)) ) {
             	        if (state.backtracking>0) {state.failed=true; return current;}
             	        throw new FailedPredicateException(input, "ruleStyle", "true");
             	    }
-            	    // InternalReportDSL.g:2175:19: (otherlv_38= 'margin-left' ( (lv_marginLeftValue_39_0= ruleUnsignedNumber ) ) )
-            	    // InternalReportDSL.g:2175:20: otherlv_38= 'margin-left' ( (lv_marginLeftValue_39_0= ruleUnsignedNumber ) )
+            	    // InternalReportDSL.g:2175:19: (otherlv_38= 'margin-bottom' ( (lv_marginBottomValue_39_0= ruleUnsignedNumber ) ) )
+            	    // InternalReportDSL.g:2175:20: otherlv_38= 'margin-bottom' ( (lv_marginBottomValue_39_0= ruleUnsignedNumber ) )
             	    {
             	    otherlv_38=(Token)match(input,59,FOLLOW_28); if (state.failed) return current;
             	    if ( state.backtracking==0 ) {
 
-            	      									newLeafNode(otherlv_38, grammarAccess.getStyleAccess().getMarginLeftKeyword_4_15_0());
+            	      									newLeafNode(otherlv_38, grammarAccess.getStyleAccess().getMarginBottomKeyword_4_15_0());
             	      								
             	    }
-            	    // InternalReportDSL.g:2179:9: ( (lv_marginLeftValue_39_0= ruleUnsignedNumber ) )
-            	    // InternalReportDSL.g:2180:10: (lv_marginLeftValue_39_0= ruleUnsignedNumber )
+            	    // InternalReportDSL.g:2179:9: ( (lv_marginBottomValue_39_0= ruleUnsignedNumber ) )
+            	    // InternalReportDSL.g:2180:10: (lv_marginBottomValue_39_0= ruleUnsignedNumber )
             	    {
-            	    // InternalReportDSL.g:2180:10: (lv_marginLeftValue_39_0= ruleUnsignedNumber )
-            	    // InternalReportDSL.g:2181:11: lv_marginLeftValue_39_0= ruleUnsignedNumber
+            	    // InternalReportDSL.g:2180:10: (lv_marginBottomValue_39_0= ruleUnsignedNumber )
+            	    // InternalReportDSL.g:2181:11: lv_marginBottomValue_39_0= ruleUnsignedNumber
             	    {
             	    if ( state.backtracking==0 ) {
 
-            	      											newCompositeNode(grammarAccess.getStyleAccess().getMarginLeftValueUnsignedNumberParserRuleCall_4_15_1_0());
+            	      											newCompositeNode(grammarAccess.getStyleAccess().getMarginBottomValueUnsignedNumberParserRuleCall_4_15_1_0());
             	      										
             	    }
-            	    pushFollow(FOLLOW_43);
-            	    lv_marginLeftValue_39_0=ruleUnsignedNumber();
+            	    pushFollow(FOLLOW_44);
+            	    lv_marginBottomValue_39_0=ruleUnsignedNumber();
 
             	    state._fsp--;
             	    if (state.failed) return current;
@@ -5859,8 +5878,8 @@
             	      											}
             	      											set(
             	      												current,
-            	      												"marginLeftValue",
-            	      												lv_marginLeftValue_39_0,
+            	      												"marginBottomValue",
+            	      												lv_marginBottomValue_39_0,
             	      												"org.eclipse.osbp.xtext.reportdsl.ReportDSL.UnsignedNumber");
             	      											afterParserOrEnumRuleCall();
             	      										
@@ -5888,48 +5907,129 @@
             	    }
             	    break;
             	case 17 :
-            	    // InternalReportDSL.g:2204:4: ({...}? => ( ({...}? => (otherlv_40= 'margin-right' ( (lv_marginRightValue_41_0= ruleUnsignedNumber ) ) ) ) ) )
+            	    // InternalReportDSL.g:2204:4: ({...}? => ( ({...}? => (otherlv_40= 'margin-left' ( (lv_marginLeftValue_41_0= ruleUnsignedNumber ) ) ) ) ) )
             	    {
-            	    // InternalReportDSL.g:2204:4: ({...}? => ( ({...}? => (otherlv_40= 'margin-right' ( (lv_marginRightValue_41_0= ruleUnsignedNumber ) ) ) ) ) )
-            	    // InternalReportDSL.g:2205:5: {...}? => ( ({...}? => (otherlv_40= 'margin-right' ( (lv_marginRightValue_41_0= ruleUnsignedNumber ) ) ) ) )
+            	    // InternalReportDSL.g:2204:4: ({...}? => ( ({...}? => (otherlv_40= 'margin-left' ( (lv_marginLeftValue_41_0= ruleUnsignedNumber ) ) ) ) ) )
+            	    // InternalReportDSL.g:2205:5: {...}? => ( ({...}? => (otherlv_40= 'margin-left' ( (lv_marginLeftValue_41_0= ruleUnsignedNumber ) ) ) ) )
             	    {
             	    if ( ! getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 16) ) {
             	        if (state.backtracking>0) {state.failed=true; return current;}
             	        throw new FailedPredicateException(input, "ruleStyle", "getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 16)");
             	    }
-            	    // InternalReportDSL.g:2205:103: ( ({...}? => (otherlv_40= 'margin-right' ( (lv_marginRightValue_41_0= ruleUnsignedNumber ) ) ) ) )
-            	    // InternalReportDSL.g:2206:6: ({...}? => (otherlv_40= 'margin-right' ( (lv_marginRightValue_41_0= ruleUnsignedNumber ) ) ) )
+            	    // InternalReportDSL.g:2205:103: ( ({...}? => (otherlv_40= 'margin-left' ( (lv_marginLeftValue_41_0= ruleUnsignedNumber ) ) ) ) )
+            	    // InternalReportDSL.g:2206:6: ({...}? => (otherlv_40= 'margin-left' ( (lv_marginLeftValue_41_0= ruleUnsignedNumber ) ) ) )
             	    {
             	    getUnorderedGroupHelper().select(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 16);
-            	    // InternalReportDSL.g:2209:9: ({...}? => (otherlv_40= 'margin-right' ( (lv_marginRightValue_41_0= ruleUnsignedNumber ) ) ) )
-            	    // InternalReportDSL.g:2209:10: {...}? => (otherlv_40= 'margin-right' ( (lv_marginRightValue_41_0= ruleUnsignedNumber ) ) )
+            	    // InternalReportDSL.g:2209:9: ({...}? => (otherlv_40= 'margin-left' ( (lv_marginLeftValue_41_0= ruleUnsignedNumber ) ) ) )
+            	    // InternalReportDSL.g:2209:10: {...}? => (otherlv_40= 'margin-left' ( (lv_marginLeftValue_41_0= ruleUnsignedNumber ) ) )
             	    {
             	    if ( !((true)) ) {
             	        if (state.backtracking>0) {state.failed=true; return current;}
             	        throw new FailedPredicateException(input, "ruleStyle", "true");
             	    }
-            	    // InternalReportDSL.g:2209:19: (otherlv_40= 'margin-right' ( (lv_marginRightValue_41_0= ruleUnsignedNumber ) ) )
-            	    // InternalReportDSL.g:2209:20: otherlv_40= 'margin-right' ( (lv_marginRightValue_41_0= ruleUnsignedNumber ) )
+            	    // InternalReportDSL.g:2209:19: (otherlv_40= 'margin-left' ( (lv_marginLeftValue_41_0= ruleUnsignedNumber ) ) )
+            	    // InternalReportDSL.g:2209:20: otherlv_40= 'margin-left' ( (lv_marginLeftValue_41_0= ruleUnsignedNumber ) )
             	    {
             	    otherlv_40=(Token)match(input,60,FOLLOW_28); if (state.failed) return current;
             	    if ( state.backtracking==0 ) {
 
-            	      									newLeafNode(otherlv_40, grammarAccess.getStyleAccess().getMarginRightKeyword_4_16_0());
+            	      									newLeafNode(otherlv_40, grammarAccess.getStyleAccess().getMarginLeftKeyword_4_16_0());
             	      								
             	    }
-            	    // InternalReportDSL.g:2213:9: ( (lv_marginRightValue_41_0= ruleUnsignedNumber ) )
-            	    // InternalReportDSL.g:2214:10: (lv_marginRightValue_41_0= ruleUnsignedNumber )
+            	    // InternalReportDSL.g:2213:9: ( (lv_marginLeftValue_41_0= ruleUnsignedNumber ) )
+            	    // InternalReportDSL.g:2214:10: (lv_marginLeftValue_41_0= ruleUnsignedNumber )
             	    {
-            	    // InternalReportDSL.g:2214:10: (lv_marginRightValue_41_0= ruleUnsignedNumber )
-            	    // InternalReportDSL.g:2215:11: lv_marginRightValue_41_0= ruleUnsignedNumber
+            	    // InternalReportDSL.g:2214:10: (lv_marginLeftValue_41_0= ruleUnsignedNumber )
+            	    // InternalReportDSL.g:2215:11: lv_marginLeftValue_41_0= ruleUnsignedNumber
             	    {
             	    if ( state.backtracking==0 ) {
 
-            	      											newCompositeNode(grammarAccess.getStyleAccess().getMarginRightValueUnsignedNumberParserRuleCall_4_16_1_0());
+            	      											newCompositeNode(grammarAccess.getStyleAccess().getMarginLeftValueUnsignedNumberParserRuleCall_4_16_1_0());
             	      										
             	    }
-            	    pushFollow(FOLLOW_43);
-            	    lv_marginRightValue_41_0=ruleUnsignedNumber();
+            	    pushFollow(FOLLOW_44);
+            	    lv_marginLeftValue_41_0=ruleUnsignedNumber();
+
+            	    state._fsp--;
+            	    if (state.failed) return current;
+            	    if ( state.backtracking==0 ) {
+
+            	      											if (current==null) {
+            	      												current = createModelElementForParent(grammarAccess.getStyleRule());
+            	      											}
+            	      											set(
+            	      												current,
+            	      												"marginLeftValue",
+            	      												lv_marginLeftValue_41_0,
+            	      												"org.eclipse.osbp.xtext.reportdsl.ReportDSL.UnsignedNumber");
+            	      											afterParserOrEnumRuleCall();
+            	      										
+            	    }
+
+            	    }
+
+
+            	    }
+
+
+            	    }
+
+
+            	    }
+
+            	    getUnorderedGroupHelper().returnFromSelection(grammarAccess.getStyleAccess().getUnorderedGroup_4());
+
+            	    }
+
+
+            	    }
+
+
+            	    }
+            	    break;
+            	case 18 :
+            	    // InternalReportDSL.g:2238:4: ({...}? => ( ({...}? => (otherlv_42= 'margin-right' ( (lv_marginRightValue_43_0= ruleUnsignedNumber ) ) ) ) ) )
+            	    {
+            	    // InternalReportDSL.g:2238:4: ({...}? => ( ({...}? => (otherlv_42= 'margin-right' ( (lv_marginRightValue_43_0= ruleUnsignedNumber ) ) ) ) ) )
+            	    // InternalReportDSL.g:2239:5: {...}? => ( ({...}? => (otherlv_42= 'margin-right' ( (lv_marginRightValue_43_0= ruleUnsignedNumber ) ) ) ) )
+            	    {
+            	    if ( ! getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 17) ) {
+            	        if (state.backtracking>0) {state.failed=true; return current;}
+            	        throw new FailedPredicateException(input, "ruleStyle", "getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 17)");
+            	    }
+            	    // InternalReportDSL.g:2239:103: ( ({...}? => (otherlv_42= 'margin-right' ( (lv_marginRightValue_43_0= ruleUnsignedNumber ) ) ) ) )
+            	    // InternalReportDSL.g:2240:6: ({...}? => (otherlv_42= 'margin-right' ( (lv_marginRightValue_43_0= ruleUnsignedNumber ) ) ) )
+            	    {
+            	    getUnorderedGroupHelper().select(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 17);
+            	    // InternalReportDSL.g:2243:9: ({...}? => (otherlv_42= 'margin-right' ( (lv_marginRightValue_43_0= ruleUnsignedNumber ) ) ) )
+            	    // InternalReportDSL.g:2243:10: {...}? => (otherlv_42= 'margin-right' ( (lv_marginRightValue_43_0= ruleUnsignedNumber ) ) )
+            	    {
+            	    if ( !((true)) ) {
+            	        if (state.backtracking>0) {state.failed=true; return current;}
+            	        throw new FailedPredicateException(input, "ruleStyle", "true");
+            	    }
+            	    // InternalReportDSL.g:2243:19: (otherlv_42= 'margin-right' ( (lv_marginRightValue_43_0= ruleUnsignedNumber ) ) )
+            	    // InternalReportDSL.g:2243:20: otherlv_42= 'margin-right' ( (lv_marginRightValue_43_0= ruleUnsignedNumber ) )
+            	    {
+            	    otherlv_42=(Token)match(input,61,FOLLOW_28); if (state.failed) return current;
+            	    if ( state.backtracking==0 ) {
+
+            	      									newLeafNode(otherlv_42, grammarAccess.getStyleAccess().getMarginRightKeyword_4_17_0());
+            	      								
+            	    }
+            	    // InternalReportDSL.g:2247:9: ( (lv_marginRightValue_43_0= ruleUnsignedNumber ) )
+            	    // InternalReportDSL.g:2248:10: (lv_marginRightValue_43_0= ruleUnsignedNumber )
+            	    {
+            	    // InternalReportDSL.g:2248:10: (lv_marginRightValue_43_0= ruleUnsignedNumber )
+            	    // InternalReportDSL.g:2249:11: lv_marginRightValue_43_0= ruleUnsignedNumber
+            	    {
+            	    if ( state.backtracking==0 ) {
+
+            	      											newCompositeNode(grammarAccess.getStyleAccess().getMarginRightValueUnsignedNumberParserRuleCall_4_17_1_0());
+            	      										
+            	    }
+            	    pushFollow(FOLLOW_44);
+            	    lv_marginRightValue_43_0=ruleUnsignedNumber();
 
             	    state._fsp--;
             	    if (state.failed) return current;
@@ -5941,7 +6041,7 @@
             	      											set(
             	      												current,
             	      												"marginRightValue",
-            	      												lv_marginRightValue_41_0,
+            	      												lv_marginRightValue_43_0,
             	      												"org.eclipse.osbp.xtext.reportdsl.ReportDSL.UnsignedNumber");
             	      											afterParserOrEnumRuleCall();
             	      										
@@ -5970,7 +6070,7 @@
             	    break;
 
             	default :
-            	    break loop21;
+            	    break loop22;
                 }
             } while (true);
 
@@ -5984,23 +6084,23 @@
 
             }
 
-            // InternalReportDSL.g:2245:3: ( (lv_mediastyles_42_0= ruleMediaStyle ) )*
-            loop22:
+            // InternalReportDSL.g:2279:3: ( (lv_mediastyles_44_0= ruleMediaStyle ) )*
+            loop23:
             do {
-                int alt22=2;
-                int LA22_0 = input.LA(1);
+                int alt23=2;
+                int LA23_0 = input.LA(1);
 
-                if ( (LA22_0==23) ) {
-                    alt22=1;
+                if ( (LA23_0==23) ) {
+                    alt23=1;
                 }
 
 
-                switch (alt22) {
+                switch (alt23) {
             	case 1 :
-            	    // InternalReportDSL.g:2246:4: (lv_mediastyles_42_0= ruleMediaStyle )
+            	    // InternalReportDSL.g:2280:4: (lv_mediastyles_44_0= ruleMediaStyle )
             	    {
-            	    // InternalReportDSL.g:2246:4: (lv_mediastyles_42_0= ruleMediaStyle )
-            	    // InternalReportDSL.g:2247:5: lv_mediastyles_42_0= ruleMediaStyle
+            	    // InternalReportDSL.g:2280:4: (lv_mediastyles_44_0= ruleMediaStyle )
+            	    // InternalReportDSL.g:2281:5: lv_mediastyles_44_0= ruleMediaStyle
             	    {
             	    if ( state.backtracking==0 ) {
 
@@ -6008,7 +6108,7 @@
             	      				
             	    }
             	    pushFollow(FOLLOW_21);
-            	    lv_mediastyles_42_0=ruleMediaStyle();
+            	    lv_mediastyles_44_0=ruleMediaStyle();
 
             	    state._fsp--;
             	    if (state.failed) return current;
@@ -6020,7 +6120,7 @@
             	      					add(
             	      						current,
             	      						"mediastyles",
-            	      						lv_mediastyles_42_0,
+            	      						lv_mediastyles_44_0,
             	      						"org.eclipse.osbp.xtext.reportdsl.ReportDSL.MediaStyle");
             	      					afterParserOrEnumRuleCall();
             	      				
@@ -6033,14 +6133,14 @@
             	    break;
 
             	default :
-            	    break loop22;
+            	    break loop23;
                 }
             } while (true);
 
-            otherlv_43=(Token)match(input,18,FOLLOW_2); if (state.failed) return current;
+            otherlv_45=(Token)match(input,18,FOLLOW_2); if (state.failed) return current;
             if ( state.backtracking==0 ) {
 
-              			newLeafNode(otherlv_43, grammarAccess.getStyleAccess().getRightCurlyBracketKeyword_6());
+              			newLeafNode(otherlv_45, grammarAccess.getStyleAccess().getRightCurlyBracketKeyword_6());
               		
             }
 
@@ -6068,7 +6168,7 @@
 
 
     // $ANTLR start "entryRuleMediaStyle"
-    // InternalReportDSL.g:2272:1: entryRuleMediaStyle returns [EObject current=null] : iv_ruleMediaStyle= ruleMediaStyle EOF ;
+    // InternalReportDSL.g:2306:1: entryRuleMediaStyle returns [EObject current=null] : iv_ruleMediaStyle= ruleMediaStyle EOF ;
     public final EObject entryRuleMediaStyle() throws RecognitionException {
         EObject current = null;
 
@@ -6076,8 +6176,8 @@
 
 
         try {
-            // InternalReportDSL.g:2272:51: (iv_ruleMediaStyle= ruleMediaStyle EOF )
-            // InternalReportDSL.g:2273:2: iv_ruleMediaStyle= ruleMediaStyle EOF
+            // InternalReportDSL.g:2306:51: (iv_ruleMediaStyle= ruleMediaStyle EOF )
+            // InternalReportDSL.g:2307:2: iv_ruleMediaStyle= ruleMediaStyle EOF
             {
             if ( state.backtracking==0 ) {
                newCompositeNode(grammarAccess.getMediaStyleRule()); 
@@ -6108,7 +6208,7 @@
 
 
     // $ANTLR start "ruleMediaStyle"
-    // InternalReportDSL.g:2279:1: ruleMediaStyle returns [EObject current=null] : (otherlv_0= 'media' ( (otherlv_1= RULE_ID ) ) otherlv_2= '{' ( ( ( ( ({...}? => ( ({...}? => (otherlv_4= 'formatter' ( (otherlv_5= RULE_ID ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_6= 'font' ( (otherlv_7= RULE_ID ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_8= 'backgroundcolor' ( (otherlv_9= RULE_ID ) ) (otherlv_10= 'alternate' ( (otherlv_11= RULE_ID ) ) )? ) ) ) ) | ({...}? => ( ({...}? => (otherlv_12= 'textcolor' ( (otherlv_13= RULE_ID ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_14= 'textalign' ( (lv_textalign_15_0= ruleTextAlignEnum ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_16= 'border-top' ( (lv_borderTop_17_0= ruleBorderStyle ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_18= 'border-bottom' ( (lv_borderBottom_19_0= ruleBorderStyle ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_20= 'border-left' ( (lv_borderLeft_21_0= ruleBorderStyle ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_22= 'border-right' ( (lv_borderRight_23_0= ruleBorderStyle ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_24= 'padding-top' ( (lv_paddingTopValue_25_0= ruleUnsignedNumber ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_26= 'padding-bottom' ( (lv_paddingBottomValue_27_0= ruleUnsignedNumber ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_28= 'padding-left' ( (lv_paddingLeftValue_29_0= ruleUnsignedNumber ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_30= 'padding-right' ( (lv_paddingRightValue_31_0= ruleUnsignedNumber ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_32= 'margin-top' ( (lv_marginTopValue_33_0= ruleUnsignedNumber ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_34= 'margin-bottom' ( (lv_marginBottomValue_35_0= ruleUnsignedNumber ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_36= 'margin-left' ( (lv_marginLeftValue_37_0= ruleUnsignedNumber ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_38= 'margin-right' ( (lv_marginRightValue_39_0= ruleUnsignedNumber ) ) ) ) ) ) )* ) ) ) otherlv_40= '}' ) ;
+    // InternalReportDSL.g:2313:1: ruleMediaStyle returns [EObject current=null] : (otherlv_0= 'media' ( (otherlv_1= RULE_ID ) ) otherlv_2= '{' ( ( ( ( ({...}? => ( ({...}? => (otherlv_4= 'formatter' ( (otherlv_5= RULE_ID ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_6= 'font' ( (otherlv_7= RULE_ID ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_8= 'backgroundcolor' ( (otherlv_9= RULE_ID ) ) (otherlv_10= 'alternate' ( (otherlv_11= RULE_ID ) ) )? ) ) ) ) | ({...}? => ( ({...}? => (otherlv_12= 'textcolor' ( (otherlv_13= RULE_ID ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_14= 'textalign' ( (lv_textalign_15_0= ruleTextAlignEnum ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_16= 'verticalalign' ( (lv_verticalalign_17_0= ruleVerticalTextAlignEnum ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_18= 'border-top' ( (lv_borderTop_19_0= ruleBorderStyle ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_20= 'border-bottom' ( (lv_borderBottom_21_0= ruleBorderStyle ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_22= 'border-left' ( (lv_borderLeft_23_0= ruleBorderStyle ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_24= 'border-right' ( (lv_borderRight_25_0= ruleBorderStyle ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_26= 'padding-top' ( (lv_paddingTopValue_27_0= ruleUnsignedNumber ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_28= 'padding-bottom' ( (lv_paddingBottomValue_29_0= ruleUnsignedNumber ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_30= 'padding-left' ( (lv_paddingLeftValue_31_0= ruleUnsignedNumber ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_32= 'padding-right' ( (lv_paddingRightValue_33_0= ruleUnsignedNumber ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_34= 'margin-top' ( (lv_marginTopValue_35_0= ruleUnsignedNumber ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_36= 'margin-bottom' ( (lv_marginBottomValue_37_0= ruleUnsignedNumber ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_38= 'margin-left' ( (lv_marginLeftValue_39_0= ruleUnsignedNumber ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_40= 'margin-right' ( (lv_marginRightValue_41_0= ruleUnsignedNumber ) ) ) ) ) ) )* ) ) ) otherlv_42= '}' ) ;
     public final EObject ruleMediaStyle() throws RecognitionException {
         EObject current = null;
 
@@ -6139,42 +6239,45 @@
         Token otherlv_36=null;
         Token otherlv_38=null;
         Token otherlv_40=null;
+        Token otherlv_42=null;
         Enumerator lv_textalign_15_0 = null;
 
-        EObject lv_borderTop_17_0 = null;
+        Enumerator lv_verticalalign_17_0 = null;
 
-        EObject lv_borderBottom_19_0 = null;
+        EObject lv_borderTop_19_0 = null;
 
-        EObject lv_borderLeft_21_0 = null;
+        EObject lv_borderBottom_21_0 = null;
 
-        EObject lv_borderRight_23_0 = null;
+        EObject lv_borderLeft_23_0 = null;
 
-        AntlrDatatypeRuleToken lv_paddingTopValue_25_0 = null;
+        EObject lv_borderRight_25_0 = null;
 
-        AntlrDatatypeRuleToken lv_paddingBottomValue_27_0 = null;
+        AntlrDatatypeRuleToken lv_paddingTopValue_27_0 = null;
 
-        AntlrDatatypeRuleToken lv_paddingLeftValue_29_0 = null;
+        AntlrDatatypeRuleToken lv_paddingBottomValue_29_0 = null;
 
-        AntlrDatatypeRuleToken lv_paddingRightValue_31_0 = null;
+        AntlrDatatypeRuleToken lv_paddingLeftValue_31_0 = null;
 
-        AntlrDatatypeRuleToken lv_marginTopValue_33_0 = null;
+        AntlrDatatypeRuleToken lv_paddingRightValue_33_0 = null;
 
-        AntlrDatatypeRuleToken lv_marginBottomValue_35_0 = null;
+        AntlrDatatypeRuleToken lv_marginTopValue_35_0 = null;
 
-        AntlrDatatypeRuleToken lv_marginLeftValue_37_0 = null;
+        AntlrDatatypeRuleToken lv_marginBottomValue_37_0 = null;
 
-        AntlrDatatypeRuleToken lv_marginRightValue_39_0 = null;
+        AntlrDatatypeRuleToken lv_marginLeftValue_39_0 = null;
+
+        AntlrDatatypeRuleToken lv_marginRightValue_41_0 = null;
 
 
 
         	enterRule();
 
         try {
-            // InternalReportDSL.g:2285:2: ( (otherlv_0= 'media' ( (otherlv_1= RULE_ID ) ) otherlv_2= '{' ( ( ( ( ({...}? => ( ({...}? => (otherlv_4= 'formatter' ( (otherlv_5= RULE_ID ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_6= 'font' ( (otherlv_7= RULE_ID ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_8= 'backgroundcolor' ( (otherlv_9= RULE_ID ) ) (otherlv_10= 'alternate' ( (otherlv_11= RULE_ID ) ) )? ) ) ) ) | ({...}? => ( ({...}? => (otherlv_12= 'textcolor' ( (otherlv_13= RULE_ID ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_14= 'textalign' ( (lv_textalign_15_0= ruleTextAlignEnum ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_16= 'border-top' ( (lv_borderTop_17_0= ruleBorderStyle ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_18= 'border-bottom' ( (lv_borderBottom_19_0= ruleBorderStyle ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_20= 'border-left' ( (lv_borderLeft_21_0= ruleBorderStyle ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_22= 'border-right' ( (lv_borderRight_23_0= ruleBorderStyle ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_24= 'padding-top' ( (lv_paddingTopValue_25_0= ruleUnsignedNumber ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_26= 'padding-bottom' ( (lv_paddingBottomValue_27_0= ruleUnsignedNumber ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_28= 'padding-left' ( (lv_paddingLeftValue_29_0= ruleUnsignedNumber ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_30= 'padding-right' ( (lv_paddingRightValue_31_0= ruleUnsignedNumber ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_32= 'margin-top' ( (lv_marginTopValue_33_0= ruleUnsignedNumber ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_34= 'margin-bottom' ( (lv_marginBottomValue_35_0= ruleUnsignedNumber ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_36= 'margin-left' ( (lv_marginLeftValue_37_0= ruleUnsignedNumber ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_38= 'margin-right' ( (lv_marginRightValue_39_0= ruleUnsignedNumber ) ) ) ) ) ) )* ) ) ) otherlv_40= '}' ) )
-            // InternalReportDSL.g:2286:2: (otherlv_0= 'media' ( (otherlv_1= RULE_ID ) ) otherlv_2= '{' ( ( ( ( ({...}? => ( ({...}? => (otherlv_4= 'formatter' ( (otherlv_5= RULE_ID ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_6= 'font' ( (otherlv_7= RULE_ID ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_8= 'backgroundcolor' ( (otherlv_9= RULE_ID ) ) (otherlv_10= 'alternate' ( (otherlv_11= RULE_ID ) ) )? ) ) ) ) | ({...}? => ( ({...}? => (otherlv_12= 'textcolor' ( (otherlv_13= RULE_ID ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_14= 'textalign' ( (lv_textalign_15_0= ruleTextAlignEnum ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_16= 'border-top' ( (lv_borderTop_17_0= ruleBorderStyle ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_18= 'border-bottom' ( (lv_borderBottom_19_0= ruleBorderStyle ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_20= 'border-left' ( (lv_borderLeft_21_0= ruleBorderStyle ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_22= 'border-right' ( (lv_borderRight_23_0= ruleBorderStyle ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_24= 'padding-top' ( (lv_paddingTopValue_25_0= ruleUnsignedNumber ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_26= 'padding-bottom' ( (lv_paddingBottomValue_27_0= ruleUnsignedNumber ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_28= 'padding-left' ( (lv_paddingLeftValue_29_0= ruleUnsignedNumber ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_30= 'padding-right' ( (lv_paddingRightValue_31_0= ruleUnsignedNumber ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_32= 'margin-top' ( (lv_marginTopValue_33_0= ruleUnsignedNumber ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_34= 'margin-bottom' ( (lv_marginBottomValue_35_0= ruleUnsignedNumber ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_36= 'margin-left' ( (lv_marginLeftValue_37_0= ruleUnsignedNumber ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_38= 'margin-right' ( (lv_marginRightValue_39_0= ruleUnsignedNumber ) ) ) ) ) ) )* ) ) ) otherlv_40= '}' )
+            // InternalReportDSL.g:2319:2: ( (otherlv_0= 'media' ( (otherlv_1= RULE_ID ) ) otherlv_2= '{' ( ( ( ( ({...}? => ( ({...}? => (otherlv_4= 'formatter' ( (otherlv_5= RULE_ID ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_6= 'font' ( (otherlv_7= RULE_ID ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_8= 'backgroundcolor' ( (otherlv_9= RULE_ID ) ) (otherlv_10= 'alternate' ( (otherlv_11= RULE_ID ) ) )? ) ) ) ) | ({...}? => ( ({...}? => (otherlv_12= 'textcolor' ( (otherlv_13= RULE_ID ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_14= 'textalign' ( (lv_textalign_15_0= ruleTextAlignEnum ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_16= 'verticalalign' ( (lv_verticalalign_17_0= ruleVerticalTextAlignEnum ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_18= 'border-top' ( (lv_borderTop_19_0= ruleBorderStyle ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_20= 'border-bottom' ( (lv_borderBottom_21_0= ruleBorderStyle ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_22= 'border-left' ( (lv_borderLeft_23_0= ruleBorderStyle ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_24= 'border-right' ( (lv_borderRight_25_0= ruleBorderStyle ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_26= 'padding-top' ( (lv_paddingTopValue_27_0= ruleUnsignedNumber ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_28= 'padding-bottom' ( (lv_paddingBottomValue_29_0= ruleUnsignedNumber ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_30= 'padding-left' ( (lv_paddingLeftValue_31_0= ruleUnsignedNumber ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_32= 'padding-right' ( (lv_paddingRightValue_33_0= ruleUnsignedNumber ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_34= 'margin-top' ( (lv_marginTopValue_35_0= ruleUnsignedNumber ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_36= 'margin-bottom' ( (lv_marginBottomValue_37_0= ruleUnsignedNumber ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_38= 'margin-left' ( (lv_marginLeftValue_39_0= ruleUnsignedNumber ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_40= 'margin-right' ( (lv_marginRightValue_41_0= ruleUnsignedNumber ) ) ) ) ) ) )* ) ) ) otherlv_42= '}' ) )
+            // InternalReportDSL.g:2320:2: (otherlv_0= 'media' ( (otherlv_1= RULE_ID ) ) otherlv_2= '{' ( ( ( ( ({...}? => ( ({...}? => (otherlv_4= 'formatter' ( (otherlv_5= RULE_ID ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_6= 'font' ( (otherlv_7= RULE_ID ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_8= 'backgroundcolor' ( (otherlv_9= RULE_ID ) ) (otherlv_10= 'alternate' ( (otherlv_11= RULE_ID ) ) )? ) ) ) ) | ({...}? => ( ({...}? => (otherlv_12= 'textcolor' ( (otherlv_13= RULE_ID ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_14= 'textalign' ( (lv_textalign_15_0= ruleTextAlignEnum ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_16= 'verticalalign' ( (lv_verticalalign_17_0= ruleVerticalTextAlignEnum ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_18= 'border-top' ( (lv_borderTop_19_0= ruleBorderStyle ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_20= 'border-bottom' ( (lv_borderBottom_21_0= ruleBorderStyle ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_22= 'border-left' ( (lv_borderLeft_23_0= ruleBorderStyle ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_24= 'border-right' ( (lv_borderRight_25_0= ruleBorderStyle ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_26= 'padding-top' ( (lv_paddingTopValue_27_0= ruleUnsignedNumber ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_28= 'padding-bottom' ( (lv_paddingBottomValue_29_0= ruleUnsignedNumber ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_30= 'padding-left' ( (lv_paddingLeftValue_31_0= ruleUnsignedNumber ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_32= 'padding-right' ( (lv_paddingRightValue_33_0= ruleUnsignedNumber ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_34= 'margin-top' ( (lv_marginTopValue_35_0= ruleUnsignedNumber ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_36= 'margin-bottom' ( (lv_marginBottomValue_37_0= ruleUnsignedNumber ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_38= 'margin-left' ( (lv_marginLeftValue_39_0= ruleUnsignedNumber ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_40= 'margin-right' ( (lv_marginRightValue_41_0= ruleUnsignedNumber ) ) ) ) ) ) )* ) ) ) otherlv_42= '}' )
             {
-            // InternalReportDSL.g:2286:2: (otherlv_0= 'media' ( (otherlv_1= RULE_ID ) ) otherlv_2= '{' ( ( ( ( ({...}? => ( ({...}? => (otherlv_4= 'formatter' ( (otherlv_5= RULE_ID ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_6= 'font' ( (otherlv_7= RULE_ID ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_8= 'backgroundcolor' ( (otherlv_9= RULE_ID ) ) (otherlv_10= 'alternate' ( (otherlv_11= RULE_ID ) ) )? ) ) ) ) | ({...}? => ( ({...}? => (otherlv_12= 'textcolor' ( (otherlv_13= RULE_ID ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_14= 'textalign' ( (lv_textalign_15_0= ruleTextAlignEnum ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_16= 'border-top' ( (lv_borderTop_17_0= ruleBorderStyle ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_18= 'border-bottom' ( (lv_borderBottom_19_0= ruleBorderStyle ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_20= 'border-left' ( (lv_borderLeft_21_0= ruleBorderStyle ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_22= 'border-right' ( (lv_borderRight_23_0= ruleBorderStyle ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_24= 'padding-top' ( (lv_paddingTopValue_25_0= ruleUnsignedNumber ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_26= 'padding-bottom' ( (lv_paddingBottomValue_27_0= ruleUnsignedNumber ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_28= 'padding-left' ( (lv_paddingLeftValue_29_0= ruleUnsignedNumber ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_30= 'padding-right' ( (lv_paddingRightValue_31_0= ruleUnsignedNumber ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_32= 'margin-top' ( (lv_marginTopValue_33_0= ruleUnsignedNumber ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_34= 'margin-bottom' ( (lv_marginBottomValue_35_0= ruleUnsignedNumber ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_36= 'margin-left' ( (lv_marginLeftValue_37_0= ruleUnsignedNumber ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_38= 'margin-right' ( (lv_marginRightValue_39_0= ruleUnsignedNumber ) ) ) ) ) ) )* ) ) ) otherlv_40= '}' )
-            // InternalReportDSL.g:2287:3: otherlv_0= 'media' ( (otherlv_1= RULE_ID ) ) otherlv_2= '{' ( ( ( ( ({...}? => ( ({...}? => (otherlv_4= 'formatter' ( (otherlv_5= RULE_ID ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_6= 'font' ( (otherlv_7= RULE_ID ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_8= 'backgroundcolor' ( (otherlv_9= RULE_ID ) ) (otherlv_10= 'alternate' ( (otherlv_11= RULE_ID ) ) )? ) ) ) ) | ({...}? => ( ({...}? => (otherlv_12= 'textcolor' ( (otherlv_13= RULE_ID ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_14= 'textalign' ( (lv_textalign_15_0= ruleTextAlignEnum ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_16= 'border-top' ( (lv_borderTop_17_0= ruleBorderStyle ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_18= 'border-bottom' ( (lv_borderBottom_19_0= ruleBorderStyle ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_20= 'border-left' ( (lv_borderLeft_21_0= ruleBorderStyle ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_22= 'border-right' ( (lv_borderRight_23_0= ruleBorderStyle ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_24= 'padding-top' ( (lv_paddingTopValue_25_0= ruleUnsignedNumber ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_26= 'padding-bottom' ( (lv_paddingBottomValue_27_0= ruleUnsignedNumber ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_28= 'padding-left' ( (lv_paddingLeftValue_29_0= ruleUnsignedNumber ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_30= 'padding-right' ( (lv_paddingRightValue_31_0= ruleUnsignedNumber ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_32= 'margin-top' ( (lv_marginTopValue_33_0= ruleUnsignedNumber ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_34= 'margin-bottom' ( (lv_marginBottomValue_35_0= ruleUnsignedNumber ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_36= 'margin-left' ( (lv_marginLeftValue_37_0= ruleUnsignedNumber ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_38= 'margin-right' ( (lv_marginRightValue_39_0= ruleUnsignedNumber ) ) ) ) ) ) )* ) ) ) otherlv_40= '}'
+            // InternalReportDSL.g:2320:2: (otherlv_0= 'media' ( (otherlv_1= RULE_ID ) ) otherlv_2= '{' ( ( ( ( ({...}? => ( ({...}? => (otherlv_4= 'formatter' ( (otherlv_5= RULE_ID ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_6= 'font' ( (otherlv_7= RULE_ID ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_8= 'backgroundcolor' ( (otherlv_9= RULE_ID ) ) (otherlv_10= 'alternate' ( (otherlv_11= RULE_ID ) ) )? ) ) ) ) | ({...}? => ( ({...}? => (otherlv_12= 'textcolor' ( (otherlv_13= RULE_ID ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_14= 'textalign' ( (lv_textalign_15_0= ruleTextAlignEnum ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_16= 'verticalalign' ( (lv_verticalalign_17_0= ruleVerticalTextAlignEnum ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_18= 'border-top' ( (lv_borderTop_19_0= ruleBorderStyle ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_20= 'border-bottom' ( (lv_borderBottom_21_0= ruleBorderStyle ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_22= 'border-left' ( (lv_borderLeft_23_0= ruleBorderStyle ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_24= 'border-right' ( (lv_borderRight_25_0= ruleBorderStyle ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_26= 'padding-top' ( (lv_paddingTopValue_27_0= ruleUnsignedNumber ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_28= 'padding-bottom' ( (lv_paddingBottomValue_29_0= ruleUnsignedNumber ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_30= 'padding-left' ( (lv_paddingLeftValue_31_0= ruleUnsignedNumber ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_32= 'padding-right' ( (lv_paddingRightValue_33_0= ruleUnsignedNumber ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_34= 'margin-top' ( (lv_marginTopValue_35_0= ruleUnsignedNumber ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_36= 'margin-bottom' ( (lv_marginBottomValue_37_0= ruleUnsignedNumber ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_38= 'margin-left' ( (lv_marginLeftValue_39_0= ruleUnsignedNumber ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_40= 'margin-right' ( (lv_marginRightValue_41_0= ruleUnsignedNumber ) ) ) ) ) ) )* ) ) ) otherlv_42= '}' )
+            // InternalReportDSL.g:2321:3: otherlv_0= 'media' ( (otherlv_1= RULE_ID ) ) otherlv_2= '{' ( ( ( ( ({...}? => ( ({...}? => (otherlv_4= 'formatter' ( (otherlv_5= RULE_ID ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_6= 'font' ( (otherlv_7= RULE_ID ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_8= 'backgroundcolor' ( (otherlv_9= RULE_ID ) ) (otherlv_10= 'alternate' ( (otherlv_11= RULE_ID ) ) )? ) ) ) ) | ({...}? => ( ({...}? => (otherlv_12= 'textcolor' ( (otherlv_13= RULE_ID ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_14= 'textalign' ( (lv_textalign_15_0= ruleTextAlignEnum ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_16= 'verticalalign' ( (lv_verticalalign_17_0= ruleVerticalTextAlignEnum ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_18= 'border-top' ( (lv_borderTop_19_0= ruleBorderStyle ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_20= 'border-bottom' ( (lv_borderBottom_21_0= ruleBorderStyle ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_22= 'border-left' ( (lv_borderLeft_23_0= ruleBorderStyle ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_24= 'border-right' ( (lv_borderRight_25_0= ruleBorderStyle ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_26= 'padding-top' ( (lv_paddingTopValue_27_0= ruleUnsignedNumber ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_28= 'padding-bottom' ( (lv_paddingBottomValue_29_0= ruleUnsignedNumber ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_30= 'padding-left' ( (lv_paddingLeftValue_31_0= ruleUnsignedNumber ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_32= 'padding-right' ( (lv_paddingRightValue_33_0= ruleUnsignedNumber ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_34= 'margin-top' ( (lv_marginTopValue_35_0= ruleUnsignedNumber ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_36= 'margin-bottom' ( (lv_marginBottomValue_37_0= ruleUnsignedNumber ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_38= 'margin-left' ( (lv_marginLeftValue_39_0= ruleUnsignedNumber ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_40= 'margin-right' ( (lv_marginRightValue_41_0= ruleUnsignedNumber ) ) ) ) ) ) )* ) ) ) otherlv_42= '}'
             {
             otherlv_0=(Token)match(input,23,FOLLOW_4); if (state.failed) return current;
             if ( state.backtracking==0 ) {
@@ -6182,11 +6285,11 @@
               			newLeafNode(otherlv_0, grammarAccess.getMediaStyleAccess().getMediaKeyword_0());
               		
             }
-            // InternalReportDSL.g:2291:3: ( (otherlv_1= RULE_ID ) )
-            // InternalReportDSL.g:2292:4: (otherlv_1= RULE_ID )
+            // InternalReportDSL.g:2325:3: ( (otherlv_1= RULE_ID ) )
+            // InternalReportDSL.g:2326:4: (otherlv_1= RULE_ID )
             {
-            // InternalReportDSL.g:2292:4: (otherlv_1= RULE_ID )
-            // InternalReportDSL.g:2293:5: otherlv_1= RULE_ID
+            // InternalReportDSL.g:2326:4: (otherlv_1= RULE_ID )
+            // InternalReportDSL.g:2327:5: otherlv_1= RULE_ID
             {
             if ( state.backtracking==0 ) {
 
@@ -6207,51 +6310,51 @@
 
             }
 
-            otherlv_2=(Token)match(input,14,FOLLOW_47); if (state.failed) return current;
+            otherlv_2=(Token)match(input,14,FOLLOW_49); if (state.failed) return current;
             if ( state.backtracking==0 ) {
 
               			newLeafNode(otherlv_2, grammarAccess.getMediaStyleAccess().getLeftCurlyBracketKeyword_2());
               		
             }
-            // InternalReportDSL.g:2308:3: ( ( ( ( ({...}? => ( ({...}? => (otherlv_4= 'formatter' ( (otherlv_5= RULE_ID ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_6= 'font' ( (otherlv_7= RULE_ID ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_8= 'backgroundcolor' ( (otherlv_9= RULE_ID ) ) (otherlv_10= 'alternate' ( (otherlv_11= RULE_ID ) ) )? ) ) ) ) | ({...}? => ( ({...}? => (otherlv_12= 'textcolor' ( (otherlv_13= RULE_ID ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_14= 'textalign' ( (lv_textalign_15_0= ruleTextAlignEnum ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_16= 'border-top' ( (lv_borderTop_17_0= ruleBorderStyle ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_18= 'border-bottom' ( (lv_borderBottom_19_0= ruleBorderStyle ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_20= 'border-left' ( (lv_borderLeft_21_0= ruleBorderStyle ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_22= 'border-right' ( (lv_borderRight_23_0= ruleBorderStyle ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_24= 'padding-top' ( (lv_paddingTopValue_25_0= ruleUnsignedNumber ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_26= 'padding-bottom' ( (lv_paddingBottomValue_27_0= ruleUnsignedNumber ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_28= 'padding-left' ( (lv_paddingLeftValue_29_0= ruleUnsignedNumber ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_30= 'padding-right' ( (lv_paddingRightValue_31_0= ruleUnsignedNumber ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_32= 'margin-top' ( (lv_marginTopValue_33_0= ruleUnsignedNumber ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_34= 'margin-bottom' ( (lv_marginBottomValue_35_0= ruleUnsignedNumber ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_36= 'margin-left' ( (lv_marginLeftValue_37_0= ruleUnsignedNumber ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_38= 'margin-right' ( (lv_marginRightValue_39_0= ruleUnsignedNumber ) ) ) ) ) ) )* ) ) )
-            // InternalReportDSL.g:2309:4: ( ( ( ({...}? => ( ({...}? => (otherlv_4= 'formatter' ( (otherlv_5= RULE_ID ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_6= 'font' ( (otherlv_7= RULE_ID ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_8= 'backgroundcolor' ( (otherlv_9= RULE_ID ) ) (otherlv_10= 'alternate' ( (otherlv_11= RULE_ID ) ) )? ) ) ) ) | ({...}? => ( ({...}? => (otherlv_12= 'textcolor' ( (otherlv_13= RULE_ID ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_14= 'textalign' ( (lv_textalign_15_0= ruleTextAlignEnum ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_16= 'border-top' ( (lv_borderTop_17_0= ruleBorderStyle ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_18= 'border-bottom' ( (lv_borderBottom_19_0= ruleBorderStyle ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_20= 'border-left' ( (lv_borderLeft_21_0= ruleBorderStyle ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_22= 'border-right' ( (lv_borderRight_23_0= ruleBorderStyle ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_24= 'padding-top' ( (lv_paddingTopValue_25_0= ruleUnsignedNumber ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_26= 'padding-bottom' ( (lv_paddingBottomValue_27_0= ruleUnsignedNumber ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_28= 'padding-left' ( (lv_paddingLeftValue_29_0= ruleUnsignedNumber ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_30= 'padding-right' ( (lv_paddingRightValue_31_0= ruleUnsignedNumber ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_32= 'margin-top' ( (lv_marginTopValue_33_0= ruleUnsignedNumber ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_34= 'margin-bottom' ( (lv_marginBottomValue_35_0= ruleUnsignedNumber ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_36= 'margin-left' ( (lv_marginLeftValue_37_0= ruleUnsignedNumber ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_38= 'margin-right' ( (lv_marginRightValue_39_0= ruleUnsignedNumber ) ) ) ) ) ) )* ) )
+            // InternalReportDSL.g:2342:3: ( ( ( ( ({...}? => ( ({...}? => (otherlv_4= 'formatter' ( (otherlv_5= RULE_ID ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_6= 'font' ( (otherlv_7= RULE_ID ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_8= 'backgroundcolor' ( (otherlv_9= RULE_ID ) ) (otherlv_10= 'alternate' ( (otherlv_11= RULE_ID ) ) )? ) ) ) ) | ({...}? => ( ({...}? => (otherlv_12= 'textcolor' ( (otherlv_13= RULE_ID ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_14= 'textalign' ( (lv_textalign_15_0= ruleTextAlignEnum ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_16= 'verticalalign' ( (lv_verticalalign_17_0= ruleVerticalTextAlignEnum ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_18= 'border-top' ( (lv_borderTop_19_0= ruleBorderStyle ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_20= 'border-bottom' ( (lv_borderBottom_21_0= ruleBorderStyle ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_22= 'border-left' ( (lv_borderLeft_23_0= ruleBorderStyle ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_24= 'border-right' ( (lv_borderRight_25_0= ruleBorderStyle ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_26= 'padding-top' ( (lv_paddingTopValue_27_0= ruleUnsignedNumber ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_28= 'padding-bottom' ( (lv_paddingBottomValue_29_0= ruleUnsignedNumber ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_30= 'padding-left' ( (lv_paddingLeftValue_31_0= ruleUnsignedNumber ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_32= 'padding-right' ( (lv_paddingRightValue_33_0= ruleUnsignedNumber ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_34= 'margin-top' ( (lv_marginTopValue_35_0= ruleUnsignedNumber ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_36= 'margin-bottom' ( (lv_marginBottomValue_37_0= ruleUnsignedNumber ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_38= 'margin-left' ( (lv_marginLeftValue_39_0= ruleUnsignedNumber ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_40= 'margin-right' ( (lv_marginRightValue_41_0= ruleUnsignedNumber ) ) ) ) ) ) )* ) ) )
+            // InternalReportDSL.g:2343:4: ( ( ( ({...}? => ( ({...}? => (otherlv_4= 'formatter' ( (otherlv_5= RULE_ID ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_6= 'font' ( (otherlv_7= RULE_ID ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_8= 'backgroundcolor' ( (otherlv_9= RULE_ID ) ) (otherlv_10= 'alternate' ( (otherlv_11= RULE_ID ) ) )? ) ) ) ) | ({...}? => ( ({...}? => (otherlv_12= 'textcolor' ( (otherlv_13= RULE_ID ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_14= 'textalign' ( (lv_textalign_15_0= ruleTextAlignEnum ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_16= 'verticalalign' ( (lv_verticalalign_17_0= ruleVerticalTextAlignEnum ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_18= 'border-top' ( (lv_borderTop_19_0= ruleBorderStyle ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_20= 'border-bottom' ( (lv_borderBottom_21_0= ruleBorderStyle ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_22= 'border-left' ( (lv_borderLeft_23_0= ruleBorderStyle ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_24= 'border-right' ( (lv_borderRight_25_0= ruleBorderStyle ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_26= 'padding-top' ( (lv_paddingTopValue_27_0= ruleUnsignedNumber ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_28= 'padding-bottom' ( (lv_paddingBottomValue_29_0= ruleUnsignedNumber ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_30= 'padding-left' ( (lv_paddingLeftValue_31_0= ruleUnsignedNumber ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_32= 'padding-right' ( (lv_paddingRightValue_33_0= ruleUnsignedNumber ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_34= 'margin-top' ( (lv_marginTopValue_35_0= ruleUnsignedNumber ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_36= 'margin-bottom' ( (lv_marginBottomValue_37_0= ruleUnsignedNumber ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_38= 'margin-left' ( (lv_marginLeftValue_39_0= ruleUnsignedNumber ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_40= 'margin-right' ( (lv_marginRightValue_41_0= ruleUnsignedNumber ) ) ) ) ) ) )* ) )
             {
-            // InternalReportDSL.g:2309:4: ( ( ( ({...}? => ( ({...}? => (otherlv_4= 'formatter' ( (otherlv_5= RULE_ID ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_6= 'font' ( (otherlv_7= RULE_ID ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_8= 'backgroundcolor' ( (otherlv_9= RULE_ID ) ) (otherlv_10= 'alternate' ( (otherlv_11= RULE_ID ) ) )? ) ) ) ) | ({...}? => ( ({...}? => (otherlv_12= 'textcolor' ( (otherlv_13= RULE_ID ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_14= 'textalign' ( (lv_textalign_15_0= ruleTextAlignEnum ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_16= 'border-top' ( (lv_borderTop_17_0= ruleBorderStyle ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_18= 'border-bottom' ( (lv_borderBottom_19_0= ruleBorderStyle ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_20= 'border-left' ( (lv_borderLeft_21_0= ruleBorderStyle ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_22= 'border-right' ( (lv_borderRight_23_0= ruleBorderStyle ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_24= 'padding-top' ( (lv_paddingTopValue_25_0= ruleUnsignedNumber ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_26= 'padding-bottom' ( (lv_paddingBottomValue_27_0= ruleUnsignedNumber ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_28= 'padding-left' ( (lv_paddingLeftValue_29_0= ruleUnsignedNumber ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_30= 'padding-right' ( (lv_paddingRightValue_31_0= ruleUnsignedNumber ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_32= 'margin-top' ( (lv_marginTopValue_33_0= ruleUnsignedNumber ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_34= 'margin-bottom' ( (lv_marginBottomValue_35_0= ruleUnsignedNumber ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_36= 'margin-left' ( (lv_marginLeftValue_37_0= ruleUnsignedNumber ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_38= 'margin-right' ( (lv_marginRightValue_39_0= ruleUnsignedNumber ) ) ) ) ) ) )* ) )
-            // InternalReportDSL.g:2310:5: ( ( ({...}? => ( ({...}? => (otherlv_4= 'formatter' ( (otherlv_5= RULE_ID ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_6= 'font' ( (otherlv_7= RULE_ID ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_8= 'backgroundcolor' ( (otherlv_9= RULE_ID ) ) (otherlv_10= 'alternate' ( (otherlv_11= RULE_ID ) ) )? ) ) ) ) | ({...}? => ( ({...}? => (otherlv_12= 'textcolor' ( (otherlv_13= RULE_ID ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_14= 'textalign' ( (lv_textalign_15_0= ruleTextAlignEnum ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_16= 'border-top' ( (lv_borderTop_17_0= ruleBorderStyle ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_18= 'border-bottom' ( (lv_borderBottom_19_0= ruleBorderStyle ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_20= 'border-left' ( (lv_borderLeft_21_0= ruleBorderStyle ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_22= 'border-right' ( (lv_borderRight_23_0= ruleBorderStyle ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_24= 'padding-top' ( (lv_paddingTopValue_25_0= ruleUnsignedNumber ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_26= 'padding-bottom' ( (lv_paddingBottomValue_27_0= ruleUnsignedNumber ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_28= 'padding-left' ( (lv_paddingLeftValue_29_0= ruleUnsignedNumber ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_30= 'padding-right' ( (lv_paddingRightValue_31_0= ruleUnsignedNumber ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_32= 'margin-top' ( (lv_marginTopValue_33_0= ruleUnsignedNumber ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_34= 'margin-bottom' ( (lv_marginBottomValue_35_0= ruleUnsignedNumber ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_36= 'margin-left' ( (lv_marginLeftValue_37_0= ruleUnsignedNumber ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_38= 'margin-right' ( (lv_marginRightValue_39_0= ruleUnsignedNumber ) ) ) ) ) ) )* )
+            // InternalReportDSL.g:2343:4: ( ( ( ({...}? => ( ({...}? => (otherlv_4= 'formatter' ( (otherlv_5= RULE_ID ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_6= 'font' ( (otherlv_7= RULE_ID ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_8= 'backgroundcolor' ( (otherlv_9= RULE_ID ) ) (otherlv_10= 'alternate' ( (otherlv_11= RULE_ID ) ) )? ) ) ) ) | ({...}? => ( ({...}? => (otherlv_12= 'textcolor' ( (otherlv_13= RULE_ID ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_14= 'textalign' ( (lv_textalign_15_0= ruleTextAlignEnum ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_16= 'verticalalign' ( (lv_verticalalign_17_0= ruleVerticalTextAlignEnum ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_18= 'border-top' ( (lv_borderTop_19_0= ruleBorderStyle ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_20= 'border-bottom' ( (lv_borderBottom_21_0= ruleBorderStyle ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_22= 'border-left' ( (lv_borderLeft_23_0= ruleBorderStyle ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_24= 'border-right' ( (lv_borderRight_25_0= ruleBorderStyle ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_26= 'padding-top' ( (lv_paddingTopValue_27_0= ruleUnsignedNumber ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_28= 'padding-bottom' ( (lv_paddingBottomValue_29_0= ruleUnsignedNumber ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_30= 'padding-left' ( (lv_paddingLeftValue_31_0= ruleUnsignedNumber ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_32= 'padding-right' ( (lv_paddingRightValue_33_0= ruleUnsignedNumber ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_34= 'margin-top' ( (lv_marginTopValue_35_0= ruleUnsignedNumber ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_36= 'margin-bottom' ( (lv_marginBottomValue_37_0= ruleUnsignedNumber ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_38= 'margin-left' ( (lv_marginLeftValue_39_0= ruleUnsignedNumber ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_40= 'margin-right' ( (lv_marginRightValue_41_0= ruleUnsignedNumber ) ) ) ) ) ) )* ) )
+            // InternalReportDSL.g:2344:5: ( ( ({...}? => ( ({...}? => (otherlv_4= 'formatter' ( (otherlv_5= RULE_ID ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_6= 'font' ( (otherlv_7= RULE_ID ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_8= 'backgroundcolor' ( (otherlv_9= RULE_ID ) ) (otherlv_10= 'alternate' ( (otherlv_11= RULE_ID ) ) )? ) ) ) ) | ({...}? => ( ({...}? => (otherlv_12= 'textcolor' ( (otherlv_13= RULE_ID ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_14= 'textalign' ( (lv_textalign_15_0= ruleTextAlignEnum ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_16= 'verticalalign' ( (lv_verticalalign_17_0= ruleVerticalTextAlignEnum ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_18= 'border-top' ( (lv_borderTop_19_0= ruleBorderStyle ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_20= 'border-bottom' ( (lv_borderBottom_21_0= ruleBorderStyle ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_22= 'border-left' ( (lv_borderLeft_23_0= ruleBorderStyle ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_24= 'border-right' ( (lv_borderRight_25_0= ruleBorderStyle ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_26= 'padding-top' ( (lv_paddingTopValue_27_0= ruleUnsignedNumber ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_28= 'padding-bottom' ( (lv_paddingBottomValue_29_0= ruleUnsignedNumber ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_30= 'padding-left' ( (lv_paddingLeftValue_31_0= ruleUnsignedNumber ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_32= 'padding-right' ( (lv_paddingRightValue_33_0= ruleUnsignedNumber ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_34= 'margin-top' ( (lv_marginTopValue_35_0= ruleUnsignedNumber ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_36= 'margin-bottom' ( (lv_marginBottomValue_37_0= ruleUnsignedNumber ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_38= 'margin-left' ( (lv_marginLeftValue_39_0= ruleUnsignedNumber ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_40= 'margin-right' ( (lv_marginRightValue_41_0= ruleUnsignedNumber ) ) ) ) ) ) )* )
             {
             getUnorderedGroupHelper().enter(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3());
-            // InternalReportDSL.g:2313:5: ( ( ({...}? => ( ({...}? => (otherlv_4= 'formatter' ( (otherlv_5= RULE_ID ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_6= 'font' ( (otherlv_7= RULE_ID ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_8= 'backgroundcolor' ( (otherlv_9= RULE_ID ) ) (otherlv_10= 'alternate' ( (otherlv_11= RULE_ID ) ) )? ) ) ) ) | ({...}? => ( ({...}? => (otherlv_12= 'textcolor' ( (otherlv_13= RULE_ID ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_14= 'textalign' ( (lv_textalign_15_0= ruleTextAlignEnum ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_16= 'border-top' ( (lv_borderTop_17_0= ruleBorderStyle ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_18= 'border-bottom' ( (lv_borderBottom_19_0= ruleBorderStyle ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_20= 'border-left' ( (lv_borderLeft_21_0= ruleBorderStyle ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_22= 'border-right' ( (lv_borderRight_23_0= ruleBorderStyle ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_24= 'padding-top' ( (lv_paddingTopValue_25_0= ruleUnsignedNumber ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_26= 'padding-bottom' ( (lv_paddingBottomValue_27_0= ruleUnsignedNumber ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_28= 'padding-left' ( (lv_paddingLeftValue_29_0= ruleUnsignedNumber ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_30= 'padding-right' ( (lv_paddingRightValue_31_0= ruleUnsignedNumber ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_32= 'margin-top' ( (lv_marginTopValue_33_0= ruleUnsignedNumber ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_34= 'margin-bottom' ( (lv_marginBottomValue_35_0= ruleUnsignedNumber ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_36= 'margin-left' ( (lv_marginLeftValue_37_0= ruleUnsignedNumber ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_38= 'margin-right' ( (lv_marginRightValue_39_0= ruleUnsignedNumber ) ) ) ) ) ) )* )
-            // InternalReportDSL.g:2314:6: ( ({...}? => ( ({...}? => (otherlv_4= 'formatter' ( (otherlv_5= RULE_ID ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_6= 'font' ( (otherlv_7= RULE_ID ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_8= 'backgroundcolor' ( (otherlv_9= RULE_ID ) ) (otherlv_10= 'alternate' ( (otherlv_11= RULE_ID ) ) )? ) ) ) ) | ({...}? => ( ({...}? => (otherlv_12= 'textcolor' ( (otherlv_13= RULE_ID ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_14= 'textalign' ( (lv_textalign_15_0= ruleTextAlignEnum ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_16= 'border-top' ( (lv_borderTop_17_0= ruleBorderStyle ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_18= 'border-bottom' ( (lv_borderBottom_19_0= ruleBorderStyle ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_20= 'border-left' ( (lv_borderLeft_21_0= ruleBorderStyle ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_22= 'border-right' ( (lv_borderRight_23_0= ruleBorderStyle ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_24= 'padding-top' ( (lv_paddingTopValue_25_0= ruleUnsignedNumber ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_26= 'padding-bottom' ( (lv_paddingBottomValue_27_0= ruleUnsignedNumber ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_28= 'padding-left' ( (lv_paddingLeftValue_29_0= ruleUnsignedNumber ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_30= 'padding-right' ( (lv_paddingRightValue_31_0= ruleUnsignedNumber ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_32= 'margin-top' ( (lv_marginTopValue_33_0= ruleUnsignedNumber ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_34= 'margin-bottom' ( (lv_marginBottomValue_35_0= ruleUnsignedNumber ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_36= 'margin-left' ( (lv_marginLeftValue_37_0= ruleUnsignedNumber ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_38= 'margin-right' ( (lv_marginRightValue_39_0= ruleUnsignedNumber ) ) ) ) ) ) )*
+            // InternalReportDSL.g:2347:5: ( ( ({...}? => ( ({...}? => (otherlv_4= 'formatter' ( (otherlv_5= RULE_ID ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_6= 'font' ( (otherlv_7= RULE_ID ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_8= 'backgroundcolor' ( (otherlv_9= RULE_ID ) ) (otherlv_10= 'alternate' ( (otherlv_11= RULE_ID ) ) )? ) ) ) ) | ({...}? => ( ({...}? => (otherlv_12= 'textcolor' ( (otherlv_13= RULE_ID ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_14= 'textalign' ( (lv_textalign_15_0= ruleTextAlignEnum ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_16= 'verticalalign' ( (lv_verticalalign_17_0= ruleVerticalTextAlignEnum ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_18= 'border-top' ( (lv_borderTop_19_0= ruleBorderStyle ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_20= 'border-bottom' ( (lv_borderBottom_21_0= ruleBorderStyle ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_22= 'border-left' ( (lv_borderLeft_23_0= ruleBorderStyle ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_24= 'border-right' ( (lv_borderRight_25_0= ruleBorderStyle ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_26= 'padding-top' ( (lv_paddingTopValue_27_0= ruleUnsignedNumber ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_28= 'padding-bottom' ( (lv_paddingBottomValue_29_0= ruleUnsignedNumber ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_30= 'padding-left' ( (lv_paddingLeftValue_31_0= ruleUnsignedNumber ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_32= 'padding-right' ( (lv_paddingRightValue_33_0= ruleUnsignedNumber ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_34= 'margin-top' ( (lv_marginTopValue_35_0= ruleUnsignedNumber ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_36= 'margin-bottom' ( (lv_marginBottomValue_37_0= ruleUnsignedNumber ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_38= 'margin-left' ( (lv_marginLeftValue_39_0= ruleUnsignedNumber ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_40= 'margin-right' ( (lv_marginRightValue_41_0= ruleUnsignedNumber ) ) ) ) ) ) )* )
+            // InternalReportDSL.g:2348:6: ( ({...}? => ( ({...}? => (otherlv_4= 'formatter' ( (otherlv_5= RULE_ID ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_6= 'font' ( (otherlv_7= RULE_ID ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_8= 'backgroundcolor' ( (otherlv_9= RULE_ID ) ) (otherlv_10= 'alternate' ( (otherlv_11= RULE_ID ) ) )? ) ) ) ) | ({...}? => ( ({...}? => (otherlv_12= 'textcolor' ( (otherlv_13= RULE_ID ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_14= 'textalign' ( (lv_textalign_15_0= ruleTextAlignEnum ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_16= 'verticalalign' ( (lv_verticalalign_17_0= ruleVerticalTextAlignEnum ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_18= 'border-top' ( (lv_borderTop_19_0= ruleBorderStyle ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_20= 'border-bottom' ( (lv_borderBottom_21_0= ruleBorderStyle ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_22= 'border-left' ( (lv_borderLeft_23_0= ruleBorderStyle ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_24= 'border-right' ( (lv_borderRight_25_0= ruleBorderStyle ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_26= 'padding-top' ( (lv_paddingTopValue_27_0= ruleUnsignedNumber ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_28= 'padding-bottom' ( (lv_paddingBottomValue_29_0= ruleUnsignedNumber ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_30= 'padding-left' ( (lv_paddingLeftValue_31_0= ruleUnsignedNumber ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_32= 'padding-right' ( (lv_paddingRightValue_33_0= ruleUnsignedNumber ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_34= 'margin-top' ( (lv_marginTopValue_35_0= ruleUnsignedNumber ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_36= 'margin-bottom' ( (lv_marginBottomValue_37_0= ruleUnsignedNumber ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_38= 'margin-left' ( (lv_marginLeftValue_39_0= ruleUnsignedNumber ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_40= 'margin-right' ( (lv_marginRightValue_41_0= ruleUnsignedNumber ) ) ) ) ) ) )*
             {
-            // InternalReportDSL.g:2314:6: ( ({...}? => ( ({...}? => (otherlv_4= 'formatter' ( (otherlv_5= RULE_ID ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_6= 'font' ( (otherlv_7= RULE_ID ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_8= 'backgroundcolor' ( (otherlv_9= RULE_ID ) ) (otherlv_10= 'alternate' ( (otherlv_11= RULE_ID ) ) )? ) ) ) ) | ({...}? => ( ({...}? => (otherlv_12= 'textcolor' ( (otherlv_13= RULE_ID ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_14= 'textalign' ( (lv_textalign_15_0= ruleTextAlignEnum ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_16= 'border-top' ( (lv_borderTop_17_0= ruleBorderStyle ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_18= 'border-bottom' ( (lv_borderBottom_19_0= ruleBorderStyle ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_20= 'border-left' ( (lv_borderLeft_21_0= ruleBorderStyle ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_22= 'border-right' ( (lv_borderRight_23_0= ruleBorderStyle ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_24= 'padding-top' ( (lv_paddingTopValue_25_0= ruleUnsignedNumber ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_26= 'padding-bottom' ( (lv_paddingBottomValue_27_0= ruleUnsignedNumber ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_28= 'padding-left' ( (lv_paddingLeftValue_29_0= ruleUnsignedNumber ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_30= 'padding-right' ( (lv_paddingRightValue_31_0= ruleUnsignedNumber ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_32= 'margin-top' ( (lv_marginTopValue_33_0= ruleUnsignedNumber ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_34= 'margin-bottom' ( (lv_marginBottomValue_35_0= ruleUnsignedNumber ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_36= 'margin-left' ( (lv_marginLeftValue_37_0= ruleUnsignedNumber ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_38= 'margin-right' ( (lv_marginRightValue_39_0= ruleUnsignedNumber ) ) ) ) ) ) )*
-            loop24:
+            // InternalReportDSL.g:2348:6: ( ({...}? => ( ({...}? => (otherlv_4= 'formatter' ( (otherlv_5= RULE_ID ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_6= 'font' ( (otherlv_7= RULE_ID ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_8= 'backgroundcolor' ( (otherlv_9= RULE_ID ) ) (otherlv_10= 'alternate' ( (otherlv_11= RULE_ID ) ) )? ) ) ) ) | ({...}? => ( ({...}? => (otherlv_12= 'textcolor' ( (otherlv_13= RULE_ID ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_14= 'textalign' ( (lv_textalign_15_0= ruleTextAlignEnum ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_16= 'verticalalign' ( (lv_verticalalign_17_0= ruleVerticalTextAlignEnum ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_18= 'border-top' ( (lv_borderTop_19_0= ruleBorderStyle ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_20= 'border-bottom' ( (lv_borderBottom_21_0= ruleBorderStyle ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_22= 'border-left' ( (lv_borderLeft_23_0= ruleBorderStyle ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_24= 'border-right' ( (lv_borderRight_25_0= ruleBorderStyle ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_26= 'padding-top' ( (lv_paddingTopValue_27_0= ruleUnsignedNumber ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_28= 'padding-bottom' ( (lv_paddingBottomValue_29_0= ruleUnsignedNumber ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_30= 'padding-left' ( (lv_paddingLeftValue_31_0= ruleUnsignedNumber ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_32= 'padding-right' ( (lv_paddingRightValue_33_0= ruleUnsignedNumber ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_34= 'margin-top' ( (lv_marginTopValue_35_0= ruleUnsignedNumber ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_36= 'margin-bottom' ( (lv_marginBottomValue_37_0= ruleUnsignedNumber ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_38= 'margin-left' ( (lv_marginLeftValue_39_0= ruleUnsignedNumber ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_40= 'margin-right' ( (lv_marginRightValue_41_0= ruleUnsignedNumber ) ) ) ) ) ) )*
+            loop25:
             do {
-                int alt24=18;
-                alt24 = dfa24.predict(input);
-                switch (alt24) {
+                int alt25=19;
+                alt25 = dfa25.predict(input);
+                switch (alt25) {
             	case 1 :
-            	    // InternalReportDSL.g:2315:4: ({...}? => ( ({...}? => (otherlv_4= 'formatter' ( (otherlv_5= RULE_ID ) ) ) ) ) )
+            	    // InternalReportDSL.g:2349:4: ({...}? => ( ({...}? => (otherlv_4= 'formatter' ( (otherlv_5= RULE_ID ) ) ) ) ) )
             	    {
-            	    // InternalReportDSL.g:2315:4: ({...}? => ( ({...}? => (otherlv_4= 'formatter' ( (otherlv_5= RULE_ID ) ) ) ) ) )
-            	    // InternalReportDSL.g:2316:5: {...}? => ( ({...}? => (otherlv_4= 'formatter' ( (otherlv_5= RULE_ID ) ) ) ) )
+            	    // InternalReportDSL.g:2349:4: ({...}? => ( ({...}? => (otherlv_4= 'formatter' ( (otherlv_5= RULE_ID ) ) ) ) ) )
+            	    // InternalReportDSL.g:2350:5: {...}? => ( ({...}? => (otherlv_4= 'formatter' ( (otherlv_5= RULE_ID ) ) ) ) )
             	    {
             	    if ( ! getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 0) ) {
             	        if (state.backtracking>0) {state.failed=true; return current;}
             	        throw new FailedPredicateException(input, "ruleMediaStyle", "getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 0)");
             	    }
-            	    // InternalReportDSL.g:2316:107: ( ({...}? => (otherlv_4= 'formatter' ( (otherlv_5= RULE_ID ) ) ) ) )
-            	    // InternalReportDSL.g:2317:6: ({...}? => (otherlv_4= 'formatter' ( (otherlv_5= RULE_ID ) ) ) )
+            	    // InternalReportDSL.g:2350:107: ( ({...}? => (otherlv_4= 'formatter' ( (otherlv_5= RULE_ID ) ) ) ) )
+            	    // InternalReportDSL.g:2351:6: ({...}? => (otherlv_4= 'formatter' ( (otherlv_5= RULE_ID ) ) ) )
             	    {
             	    getUnorderedGroupHelper().select(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 0);
-            	    // InternalReportDSL.g:2320:9: ({...}? => (otherlv_4= 'formatter' ( (otherlv_5= RULE_ID ) ) ) )
-            	    // InternalReportDSL.g:2320:10: {...}? => (otherlv_4= 'formatter' ( (otherlv_5= RULE_ID ) ) )
+            	    // InternalReportDSL.g:2354:9: ({...}? => (otherlv_4= 'formatter' ( (otherlv_5= RULE_ID ) ) ) )
+            	    // InternalReportDSL.g:2354:10: {...}? => (otherlv_4= 'formatter' ( (otherlv_5= RULE_ID ) ) )
             	    {
             	    if ( !((true)) ) {
             	        if (state.backtracking>0) {state.failed=true; return current;}
             	        throw new FailedPredicateException(input, "ruleMediaStyle", "true");
             	    }
-            	    // InternalReportDSL.g:2320:19: (otherlv_4= 'formatter' ( (otherlv_5= RULE_ID ) ) )
-            	    // InternalReportDSL.g:2320:20: otherlv_4= 'formatter' ( (otherlv_5= RULE_ID ) )
+            	    // InternalReportDSL.g:2354:19: (otherlv_4= 'formatter' ( (otherlv_5= RULE_ID ) ) )
+            	    // InternalReportDSL.g:2354:20: otherlv_4= 'formatter' ( (otherlv_5= RULE_ID ) )
             	    {
             	    otherlv_4=(Token)match(input,44,FOLLOW_4); if (state.failed) return current;
             	    if ( state.backtracking==0 ) {
@@ -6259,11 +6362,11 @@
             	      									newLeafNode(otherlv_4, grammarAccess.getMediaStyleAccess().getFormatterKeyword_3_0_0());
             	      								
             	    }
-            	    // InternalReportDSL.g:2324:9: ( (otherlv_5= RULE_ID ) )
-            	    // InternalReportDSL.g:2325:10: (otherlv_5= RULE_ID )
+            	    // InternalReportDSL.g:2358:9: ( (otherlv_5= RULE_ID ) )
+            	    // InternalReportDSL.g:2359:10: (otherlv_5= RULE_ID )
             	    {
-            	    // InternalReportDSL.g:2325:10: (otherlv_5= RULE_ID )
-            	    // InternalReportDSL.g:2326:11: otherlv_5= RULE_ID
+            	    // InternalReportDSL.g:2359:10: (otherlv_5= RULE_ID )
+            	    // InternalReportDSL.g:2360:11: otherlv_5= RULE_ID
             	    {
             	    if ( state.backtracking==0 ) {
 
@@ -6272,7 +6375,7 @@
             	      											}
             	      										
             	    }
-            	    otherlv_5=(Token)match(input,RULE_ID,FOLLOW_47); if (state.failed) return current;
+            	    otherlv_5=(Token)match(input,RULE_ID,FOLLOW_49); if (state.failed) return current;
             	    if ( state.backtracking==0 ) {
 
             	      											newLeafNode(otherlv_5, grammarAccess.getMediaStyleAccess().getFormatSomeFormatCrossReference_3_0_1_0());
@@ -6301,28 +6404,28 @@
             	    }
             	    break;
             	case 2 :
-            	    // InternalReportDSL.g:2343:4: ({...}? => ( ({...}? => (otherlv_6= 'font' ( (otherlv_7= RULE_ID ) ) ) ) ) )
+            	    // InternalReportDSL.g:2377:4: ({...}? => ( ({...}? => (otherlv_6= 'font' ( (otherlv_7= RULE_ID ) ) ) ) ) )
             	    {
-            	    // InternalReportDSL.g:2343:4: ({...}? => ( ({...}? => (otherlv_6= 'font' ( (otherlv_7= RULE_ID ) ) ) ) ) )
-            	    // InternalReportDSL.g:2344:5: {...}? => ( ({...}? => (otherlv_6= 'font' ( (otherlv_7= RULE_ID ) ) ) ) )
+            	    // InternalReportDSL.g:2377:4: ({...}? => ( ({...}? => (otherlv_6= 'font' ( (otherlv_7= RULE_ID ) ) ) ) ) )
+            	    // InternalReportDSL.g:2378:5: {...}? => ( ({...}? => (otherlv_6= 'font' ( (otherlv_7= RULE_ID ) ) ) ) )
             	    {
             	    if ( ! getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 1) ) {
             	        if (state.backtracking>0) {state.failed=true; return current;}
             	        throw new FailedPredicateException(input, "ruleMediaStyle", "getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 1)");
             	    }
-            	    // InternalReportDSL.g:2344:107: ( ({...}? => (otherlv_6= 'font' ( (otherlv_7= RULE_ID ) ) ) ) )
-            	    // InternalReportDSL.g:2345:6: ({...}? => (otherlv_6= 'font' ( (otherlv_7= RULE_ID ) ) ) )
+            	    // InternalReportDSL.g:2378:107: ( ({...}? => (otherlv_6= 'font' ( (otherlv_7= RULE_ID ) ) ) ) )
+            	    // InternalReportDSL.g:2379:6: ({...}? => (otherlv_6= 'font' ( (otherlv_7= RULE_ID ) ) ) )
             	    {
             	    getUnorderedGroupHelper().select(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 1);
-            	    // InternalReportDSL.g:2348:9: ({...}? => (otherlv_6= 'font' ( (otherlv_7= RULE_ID ) ) ) )
-            	    // InternalReportDSL.g:2348:10: {...}? => (otherlv_6= 'font' ( (otherlv_7= RULE_ID ) ) )
+            	    // InternalReportDSL.g:2382:9: ({...}? => (otherlv_6= 'font' ( (otherlv_7= RULE_ID ) ) ) )
+            	    // InternalReportDSL.g:2382:10: {...}? => (otherlv_6= 'font' ( (otherlv_7= RULE_ID ) ) )
             	    {
             	    if ( !((true)) ) {
             	        if (state.backtracking>0) {state.failed=true; return current;}
             	        throw new FailedPredicateException(input, "ruleMediaStyle", "true");
             	    }
-            	    // InternalReportDSL.g:2348:19: (otherlv_6= 'font' ( (otherlv_7= RULE_ID ) ) )
-            	    // InternalReportDSL.g:2348:20: otherlv_6= 'font' ( (otherlv_7= RULE_ID ) )
+            	    // InternalReportDSL.g:2382:19: (otherlv_6= 'font' ( (otherlv_7= RULE_ID ) ) )
+            	    // InternalReportDSL.g:2382:20: otherlv_6= 'font' ( (otherlv_7= RULE_ID ) )
             	    {
             	    otherlv_6=(Token)match(input,38,FOLLOW_4); if (state.failed) return current;
             	    if ( state.backtracking==0 ) {
@@ -6330,11 +6433,11 @@
             	      									newLeafNode(otherlv_6, grammarAccess.getMediaStyleAccess().getFontKeyword_3_1_0());
             	      								
             	    }
-            	    // InternalReportDSL.g:2352:9: ( (otherlv_7= RULE_ID ) )
-            	    // InternalReportDSL.g:2353:10: (otherlv_7= RULE_ID )
+            	    // InternalReportDSL.g:2386:9: ( (otherlv_7= RULE_ID ) )
+            	    // InternalReportDSL.g:2387:10: (otherlv_7= RULE_ID )
             	    {
-            	    // InternalReportDSL.g:2353:10: (otherlv_7= RULE_ID )
-            	    // InternalReportDSL.g:2354:11: otherlv_7= RULE_ID
+            	    // InternalReportDSL.g:2387:10: (otherlv_7= RULE_ID )
+            	    // InternalReportDSL.g:2388:11: otherlv_7= RULE_ID
             	    {
             	    if ( state.backtracking==0 ) {
 
@@ -6343,7 +6446,7 @@
             	      											}
             	      										
             	    }
-            	    otherlv_7=(Token)match(input,RULE_ID,FOLLOW_47); if (state.failed) return current;
+            	    otherlv_7=(Token)match(input,RULE_ID,FOLLOW_49); if (state.failed) return current;
             	    if ( state.backtracking==0 ) {
 
             	      											newLeafNode(otherlv_7, grammarAccess.getMediaStyleAccess().getFontFontCrossReference_3_1_1_0());
@@ -6372,28 +6475,28 @@
             	    }
             	    break;
             	case 3 :
-            	    // InternalReportDSL.g:2371:4: ({...}? => ( ({...}? => (otherlv_8= 'backgroundcolor' ( (otherlv_9= RULE_ID ) ) (otherlv_10= 'alternate' ( (otherlv_11= RULE_ID ) ) )? ) ) ) )
+            	    // InternalReportDSL.g:2405:4: ({...}? => ( ({...}? => (otherlv_8= 'backgroundcolor' ( (otherlv_9= RULE_ID ) ) (otherlv_10= 'alternate' ( (otherlv_11= RULE_ID ) ) )? ) ) ) )
             	    {
-            	    // InternalReportDSL.g:2371:4: ({...}? => ( ({...}? => (otherlv_8= 'backgroundcolor' ( (otherlv_9= RULE_ID ) ) (otherlv_10= 'alternate' ( (otherlv_11= RULE_ID ) ) )? ) ) ) )
-            	    // InternalReportDSL.g:2372:5: {...}? => ( ({...}? => (otherlv_8= 'backgroundcolor' ( (otherlv_9= RULE_ID ) ) (otherlv_10= 'alternate' ( (otherlv_11= RULE_ID ) ) )? ) ) )
+            	    // InternalReportDSL.g:2405:4: ({...}? => ( ({...}? => (otherlv_8= 'backgroundcolor' ( (otherlv_9= RULE_ID ) ) (otherlv_10= 'alternate' ( (otherlv_11= RULE_ID ) ) )? ) ) ) )
+            	    // InternalReportDSL.g:2406:5: {...}? => ( ({...}? => (otherlv_8= 'backgroundcolor' ( (otherlv_9= RULE_ID ) ) (otherlv_10= 'alternate' ( (otherlv_11= RULE_ID ) ) )? ) ) )
             	    {
             	    if ( ! getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 2) ) {
             	        if (state.backtracking>0) {state.failed=true; return current;}
             	        throw new FailedPredicateException(input, "ruleMediaStyle", "getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 2)");
             	    }
-            	    // InternalReportDSL.g:2372:107: ( ({...}? => (otherlv_8= 'backgroundcolor' ( (otherlv_9= RULE_ID ) ) (otherlv_10= 'alternate' ( (otherlv_11= RULE_ID ) ) )? ) ) )
-            	    // InternalReportDSL.g:2373:6: ({...}? => (otherlv_8= 'backgroundcolor' ( (otherlv_9= RULE_ID ) ) (otherlv_10= 'alternate' ( (otherlv_11= RULE_ID ) ) )? ) )
+            	    // InternalReportDSL.g:2406:107: ( ({...}? => (otherlv_8= 'backgroundcolor' ( (otherlv_9= RULE_ID ) ) (otherlv_10= 'alternate' ( (otherlv_11= RULE_ID ) ) )? ) ) )
+            	    // InternalReportDSL.g:2407:6: ({...}? => (otherlv_8= 'backgroundcolor' ( (otherlv_9= RULE_ID ) ) (otherlv_10= 'alternate' ( (otherlv_11= RULE_ID ) ) )? ) )
             	    {
             	    getUnorderedGroupHelper().select(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 2);
-            	    // InternalReportDSL.g:2376:9: ({...}? => (otherlv_8= 'backgroundcolor' ( (otherlv_9= RULE_ID ) ) (otherlv_10= 'alternate' ( (otherlv_11= RULE_ID ) ) )? ) )
-            	    // InternalReportDSL.g:2376:10: {...}? => (otherlv_8= 'backgroundcolor' ( (otherlv_9= RULE_ID ) ) (otherlv_10= 'alternate' ( (otherlv_11= RULE_ID ) ) )? )
+            	    // InternalReportDSL.g:2410:9: ({...}? => (otherlv_8= 'backgroundcolor' ( (otherlv_9= RULE_ID ) ) (otherlv_10= 'alternate' ( (otherlv_11= RULE_ID ) ) )? ) )
+            	    // InternalReportDSL.g:2410:10: {...}? => (otherlv_8= 'backgroundcolor' ( (otherlv_9= RULE_ID ) ) (otherlv_10= 'alternate' ( (otherlv_11= RULE_ID ) ) )? )
             	    {
             	    if ( !((true)) ) {
             	        if (state.backtracking>0) {state.failed=true; return current;}
             	        throw new FailedPredicateException(input, "ruleMediaStyle", "true");
             	    }
-            	    // InternalReportDSL.g:2376:19: (otherlv_8= 'backgroundcolor' ( (otherlv_9= RULE_ID ) ) (otherlv_10= 'alternate' ( (otherlv_11= RULE_ID ) ) )? )
-            	    // InternalReportDSL.g:2376:20: otherlv_8= 'backgroundcolor' ( (otherlv_9= RULE_ID ) ) (otherlv_10= 'alternate' ( (otherlv_11= RULE_ID ) ) )?
+            	    // InternalReportDSL.g:2410:19: (otherlv_8= 'backgroundcolor' ( (otherlv_9= RULE_ID ) ) (otherlv_10= 'alternate' ( (otherlv_11= RULE_ID ) ) )? )
+            	    // InternalReportDSL.g:2410:20: otherlv_8= 'backgroundcolor' ( (otherlv_9= RULE_ID ) ) (otherlv_10= 'alternate' ( (otherlv_11= RULE_ID ) ) )?
             	    {
             	    otherlv_8=(Token)match(input,45,FOLLOW_4); if (state.failed) return current;
             	    if ( state.backtracking==0 ) {
@@ -6401,11 +6504,11 @@
             	      									newLeafNode(otherlv_8, grammarAccess.getMediaStyleAccess().getBackgroundcolorKeyword_3_2_0());
             	      								
             	    }
-            	    // InternalReportDSL.g:2380:9: ( (otherlv_9= RULE_ID ) )
-            	    // InternalReportDSL.g:2381:10: (otherlv_9= RULE_ID )
+            	    // InternalReportDSL.g:2414:9: ( (otherlv_9= RULE_ID ) )
+            	    // InternalReportDSL.g:2415:10: (otherlv_9= RULE_ID )
             	    {
-            	    // InternalReportDSL.g:2381:10: (otherlv_9= RULE_ID )
-            	    // InternalReportDSL.g:2382:11: otherlv_9= RULE_ID
+            	    // InternalReportDSL.g:2415:10: (otherlv_9= RULE_ID )
+            	    // InternalReportDSL.g:2416:11: otherlv_9= RULE_ID
             	    {
             	    if ( state.backtracking==0 ) {
 
@@ -6414,7 +6517,7 @@
             	      											}
             	      										
             	    }
-            	    otherlv_9=(Token)match(input,RULE_ID,FOLLOW_48); if (state.failed) return current;
+            	    otherlv_9=(Token)match(input,RULE_ID,FOLLOW_50); if (state.failed) return current;
             	    if ( state.backtracking==0 ) {
 
             	      											newLeafNode(otherlv_9, grammarAccess.getMediaStyleAccess().getBackgroundcolorColorCrossReference_3_2_1_0());
@@ -6426,16 +6529,16 @@
 
             	    }
 
-            	    // InternalReportDSL.g:2393:9: (otherlv_10= 'alternate' ( (otherlv_11= RULE_ID ) ) )?
-            	    int alt23=2;
-            	    int LA23_0 = input.LA(1);
+            	    // InternalReportDSL.g:2427:9: (otherlv_10= 'alternate' ( (otherlv_11= RULE_ID ) ) )?
+            	    int alt24=2;
+            	    int LA24_0 = input.LA(1);
 
-            	    if ( (LA23_0==46) ) {
-            	        alt23=1;
+            	    if ( (LA24_0==46) ) {
+            	        alt24=1;
             	    }
-            	    switch (alt23) {
+            	    switch (alt24) {
             	        case 1 :
-            	            // InternalReportDSL.g:2394:10: otherlv_10= 'alternate' ( (otherlv_11= RULE_ID ) )
+            	            // InternalReportDSL.g:2428:10: otherlv_10= 'alternate' ( (otherlv_11= RULE_ID ) )
             	            {
             	            otherlv_10=(Token)match(input,46,FOLLOW_4); if (state.failed) return current;
             	            if ( state.backtracking==0 ) {
@@ -6443,11 +6546,11 @@
             	              										newLeafNode(otherlv_10, grammarAccess.getMediaStyleAccess().getAlternateKeyword_3_2_2_0());
             	              									
             	            }
-            	            // InternalReportDSL.g:2398:10: ( (otherlv_11= RULE_ID ) )
-            	            // InternalReportDSL.g:2399:11: (otherlv_11= RULE_ID )
+            	            // InternalReportDSL.g:2432:10: ( (otherlv_11= RULE_ID ) )
+            	            // InternalReportDSL.g:2433:11: (otherlv_11= RULE_ID )
             	            {
-            	            // InternalReportDSL.g:2399:11: (otherlv_11= RULE_ID )
-            	            // InternalReportDSL.g:2400:12: otherlv_11= RULE_ID
+            	            // InternalReportDSL.g:2433:11: (otherlv_11= RULE_ID )
+            	            // InternalReportDSL.g:2434:12: otherlv_11= RULE_ID
             	            {
             	            if ( state.backtracking==0 ) {
 
@@ -6456,7 +6559,7 @@
             	              												}
             	              											
             	            }
-            	            otherlv_11=(Token)match(input,RULE_ID,FOLLOW_47); if (state.failed) return current;
+            	            otherlv_11=(Token)match(input,RULE_ID,FOLLOW_49); if (state.failed) return current;
             	            if ( state.backtracking==0 ) {
 
             	              												newLeafNode(otherlv_11, grammarAccess.getMediaStyleAccess().getBackgroundcolor_alternateColorCrossReference_3_2_2_1_0());
@@ -6491,28 +6594,28 @@
             	    }
             	    break;
             	case 4 :
-            	    // InternalReportDSL.g:2418:4: ({...}? => ( ({...}? => (otherlv_12= 'textcolor' ( (otherlv_13= RULE_ID ) ) ) ) ) )
+            	    // InternalReportDSL.g:2452:4: ({...}? => ( ({...}? => (otherlv_12= 'textcolor' ( (otherlv_13= RULE_ID ) ) ) ) ) )
             	    {
-            	    // InternalReportDSL.g:2418:4: ({...}? => ( ({...}? => (otherlv_12= 'textcolor' ( (otherlv_13= RULE_ID ) ) ) ) ) )
-            	    // InternalReportDSL.g:2419:5: {...}? => ( ({...}? => (otherlv_12= 'textcolor' ( (otherlv_13= RULE_ID ) ) ) ) )
+            	    // InternalReportDSL.g:2452:4: ({...}? => ( ({...}? => (otherlv_12= 'textcolor' ( (otherlv_13= RULE_ID ) ) ) ) ) )
+            	    // InternalReportDSL.g:2453:5: {...}? => ( ({...}? => (otherlv_12= 'textcolor' ( (otherlv_13= RULE_ID ) ) ) ) )
             	    {
             	    if ( ! getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 3) ) {
             	        if (state.backtracking>0) {state.failed=true; return current;}
             	        throw new FailedPredicateException(input, "ruleMediaStyle", "getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 3)");
             	    }
-            	    // InternalReportDSL.g:2419:107: ( ({...}? => (otherlv_12= 'textcolor' ( (otherlv_13= RULE_ID ) ) ) ) )
-            	    // InternalReportDSL.g:2420:6: ({...}? => (otherlv_12= 'textcolor' ( (otherlv_13= RULE_ID ) ) ) )
+            	    // InternalReportDSL.g:2453:107: ( ({...}? => (otherlv_12= 'textcolor' ( (otherlv_13= RULE_ID ) ) ) ) )
+            	    // InternalReportDSL.g:2454:6: ({...}? => (otherlv_12= 'textcolor' ( (otherlv_13= RULE_ID ) ) ) )
             	    {
             	    getUnorderedGroupHelper().select(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 3);
-            	    // InternalReportDSL.g:2423:9: ({...}? => (otherlv_12= 'textcolor' ( (otherlv_13= RULE_ID ) ) ) )
-            	    // InternalReportDSL.g:2423:10: {...}? => (otherlv_12= 'textcolor' ( (otherlv_13= RULE_ID ) ) )
+            	    // InternalReportDSL.g:2457:9: ({...}? => (otherlv_12= 'textcolor' ( (otherlv_13= RULE_ID ) ) ) )
+            	    // InternalReportDSL.g:2457:10: {...}? => (otherlv_12= 'textcolor' ( (otherlv_13= RULE_ID ) ) )
             	    {
             	    if ( !((true)) ) {
             	        if (state.backtracking>0) {state.failed=true; return current;}
             	        throw new FailedPredicateException(input, "ruleMediaStyle", "true");
             	    }
-            	    // InternalReportDSL.g:2423:19: (otherlv_12= 'textcolor' ( (otherlv_13= RULE_ID ) ) )
-            	    // InternalReportDSL.g:2423:20: otherlv_12= 'textcolor' ( (otherlv_13= RULE_ID ) )
+            	    // InternalReportDSL.g:2457:19: (otherlv_12= 'textcolor' ( (otherlv_13= RULE_ID ) ) )
+            	    // InternalReportDSL.g:2457:20: otherlv_12= 'textcolor' ( (otherlv_13= RULE_ID ) )
             	    {
             	    otherlv_12=(Token)match(input,47,FOLLOW_4); if (state.failed) return current;
             	    if ( state.backtracking==0 ) {
@@ -6520,11 +6623,11 @@
             	      									newLeafNode(otherlv_12, grammarAccess.getMediaStyleAccess().getTextcolorKeyword_3_3_0());
             	      								
             	    }
-            	    // InternalReportDSL.g:2427:9: ( (otherlv_13= RULE_ID ) )
-            	    // InternalReportDSL.g:2428:10: (otherlv_13= RULE_ID )
+            	    // InternalReportDSL.g:2461:9: ( (otherlv_13= RULE_ID ) )
+            	    // InternalReportDSL.g:2462:10: (otherlv_13= RULE_ID )
             	    {
-            	    // InternalReportDSL.g:2428:10: (otherlv_13= RULE_ID )
-            	    // InternalReportDSL.g:2429:11: otherlv_13= RULE_ID
+            	    // InternalReportDSL.g:2462:10: (otherlv_13= RULE_ID )
+            	    // InternalReportDSL.g:2463:11: otherlv_13= RULE_ID
             	    {
             	    if ( state.backtracking==0 ) {
 
@@ -6533,7 +6636,7 @@
             	      											}
             	      										
             	    }
-            	    otherlv_13=(Token)match(input,RULE_ID,FOLLOW_47); if (state.failed) return current;
+            	    otherlv_13=(Token)match(input,RULE_ID,FOLLOW_49); if (state.failed) return current;
             	    if ( state.backtracking==0 ) {
 
             	      											newLeafNode(otherlv_13, grammarAccess.getMediaStyleAccess().getTextcolorColorCrossReference_3_3_1_0());
@@ -6562,47 +6665,47 @@
             	    }
             	    break;
             	case 5 :
-            	    // InternalReportDSL.g:2446:4: ({...}? => ( ({...}? => (otherlv_14= 'textalign' ( (lv_textalign_15_0= ruleTextAlignEnum ) ) ) ) ) )
+            	    // InternalReportDSL.g:2480:4: ({...}? => ( ({...}? => (otherlv_14= 'textalign' ( (lv_textalign_15_0= ruleTextAlignEnum ) ) ) ) ) )
             	    {
-            	    // InternalReportDSL.g:2446:4: ({...}? => ( ({...}? => (otherlv_14= 'textalign' ( (lv_textalign_15_0= ruleTextAlignEnum ) ) ) ) ) )
-            	    // InternalReportDSL.g:2447:5: {...}? => ( ({...}? => (otherlv_14= 'textalign' ( (lv_textalign_15_0= ruleTextAlignEnum ) ) ) ) )
+            	    // InternalReportDSL.g:2480:4: ({...}? => ( ({...}? => (otherlv_14= 'textalign' ( (lv_textalign_15_0= ruleTextAlignEnum ) ) ) ) ) )
+            	    // InternalReportDSL.g:2481:5: {...}? => ( ({...}? => (otherlv_14= 'textalign' ( (lv_textalign_15_0= ruleTextAlignEnum ) ) ) ) )
             	    {
             	    if ( ! getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 4) ) {
             	        if (state.backtracking>0) {state.failed=true; return current;}
             	        throw new FailedPredicateException(input, "ruleMediaStyle", "getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 4)");
             	    }
-            	    // InternalReportDSL.g:2447:107: ( ({...}? => (otherlv_14= 'textalign' ( (lv_textalign_15_0= ruleTextAlignEnum ) ) ) ) )
-            	    // InternalReportDSL.g:2448:6: ({...}? => (otherlv_14= 'textalign' ( (lv_textalign_15_0= ruleTextAlignEnum ) ) ) )
+            	    // InternalReportDSL.g:2481:107: ( ({...}? => (otherlv_14= 'textalign' ( (lv_textalign_15_0= ruleTextAlignEnum ) ) ) ) )
+            	    // InternalReportDSL.g:2482:6: ({...}? => (otherlv_14= 'textalign' ( (lv_textalign_15_0= ruleTextAlignEnum ) ) ) )
             	    {
             	    getUnorderedGroupHelper().select(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 4);
-            	    // InternalReportDSL.g:2451:9: ({...}? => (otherlv_14= 'textalign' ( (lv_textalign_15_0= ruleTextAlignEnum ) ) ) )
-            	    // InternalReportDSL.g:2451:10: {...}? => (otherlv_14= 'textalign' ( (lv_textalign_15_0= ruleTextAlignEnum ) ) )
+            	    // InternalReportDSL.g:2485:9: ({...}? => (otherlv_14= 'textalign' ( (lv_textalign_15_0= ruleTextAlignEnum ) ) ) )
+            	    // InternalReportDSL.g:2485:10: {...}? => (otherlv_14= 'textalign' ( (lv_textalign_15_0= ruleTextAlignEnum ) ) )
             	    {
             	    if ( !((true)) ) {
             	        if (state.backtracking>0) {state.failed=true; return current;}
             	        throw new FailedPredicateException(input, "ruleMediaStyle", "true");
             	    }
-            	    // InternalReportDSL.g:2451:19: (otherlv_14= 'textalign' ( (lv_textalign_15_0= ruleTextAlignEnum ) ) )
-            	    // InternalReportDSL.g:2451:20: otherlv_14= 'textalign' ( (lv_textalign_15_0= ruleTextAlignEnum ) )
+            	    // InternalReportDSL.g:2485:19: (otherlv_14= 'textalign' ( (lv_textalign_15_0= ruleTextAlignEnum ) ) )
+            	    // InternalReportDSL.g:2485:20: otherlv_14= 'textalign' ( (lv_textalign_15_0= ruleTextAlignEnum ) )
             	    {
-            	    otherlv_14=(Token)match(input,48,FOLLOW_45); if (state.failed) return current;
+            	    otherlv_14=(Token)match(input,48,FOLLOW_46); if (state.failed) return current;
             	    if ( state.backtracking==0 ) {
 
             	      									newLeafNode(otherlv_14, grammarAccess.getMediaStyleAccess().getTextalignKeyword_3_4_0());
             	      								
             	    }
-            	    // InternalReportDSL.g:2455:9: ( (lv_textalign_15_0= ruleTextAlignEnum ) )
-            	    // InternalReportDSL.g:2456:10: (lv_textalign_15_0= ruleTextAlignEnum )
+            	    // InternalReportDSL.g:2489:9: ( (lv_textalign_15_0= ruleTextAlignEnum ) )
+            	    // InternalReportDSL.g:2490:10: (lv_textalign_15_0= ruleTextAlignEnum )
             	    {
-            	    // InternalReportDSL.g:2456:10: (lv_textalign_15_0= ruleTextAlignEnum )
-            	    // InternalReportDSL.g:2457:11: lv_textalign_15_0= ruleTextAlignEnum
+            	    // InternalReportDSL.g:2490:10: (lv_textalign_15_0= ruleTextAlignEnum )
+            	    // InternalReportDSL.g:2491:11: lv_textalign_15_0= ruleTextAlignEnum
             	    {
             	    if ( state.backtracking==0 ) {
 
             	      											newCompositeNode(grammarAccess.getMediaStyleAccess().getTextalignTextAlignEnumEnumRuleCall_3_4_1_0());
             	      										
             	    }
-            	    pushFollow(FOLLOW_47);
+            	    pushFollow(FOLLOW_49);
             	    lv_textalign_15_0=ruleTextAlignEnum();
 
             	    state._fsp--;
@@ -6643,48 +6746,48 @@
             	    }
             	    break;
             	case 6 :
-            	    // InternalReportDSL.g:2480:4: ({...}? => ( ({...}? => (otherlv_16= 'border-top' ( (lv_borderTop_17_0= ruleBorderStyle ) ) ) ) ) )
+            	    // InternalReportDSL.g:2514:4: ({...}? => ( ({...}? => (otherlv_16= 'verticalalign' ( (lv_verticalalign_17_0= ruleVerticalTextAlignEnum ) ) ) ) ) )
             	    {
-            	    // InternalReportDSL.g:2480:4: ({...}? => ( ({...}? => (otherlv_16= 'border-top' ( (lv_borderTop_17_0= ruleBorderStyle ) ) ) ) ) )
-            	    // InternalReportDSL.g:2481:5: {...}? => ( ({...}? => (otherlv_16= 'border-top' ( (lv_borderTop_17_0= ruleBorderStyle ) ) ) ) )
+            	    // InternalReportDSL.g:2514:4: ({...}? => ( ({...}? => (otherlv_16= 'verticalalign' ( (lv_verticalalign_17_0= ruleVerticalTextAlignEnum ) ) ) ) ) )
+            	    // InternalReportDSL.g:2515:5: {...}? => ( ({...}? => (otherlv_16= 'verticalalign' ( (lv_verticalalign_17_0= ruleVerticalTextAlignEnum ) ) ) ) )
             	    {
             	    if ( ! getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 5) ) {
             	        if (state.backtracking>0) {state.failed=true; return current;}
             	        throw new FailedPredicateException(input, "ruleMediaStyle", "getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 5)");
             	    }
-            	    // InternalReportDSL.g:2481:107: ( ({...}? => (otherlv_16= 'border-top' ( (lv_borderTop_17_0= ruleBorderStyle ) ) ) ) )
-            	    // InternalReportDSL.g:2482:6: ({...}? => (otherlv_16= 'border-top' ( (lv_borderTop_17_0= ruleBorderStyle ) ) ) )
+            	    // InternalReportDSL.g:2515:107: ( ({...}? => (otherlv_16= 'verticalalign' ( (lv_verticalalign_17_0= ruleVerticalTextAlignEnum ) ) ) ) )
+            	    // InternalReportDSL.g:2516:6: ({...}? => (otherlv_16= 'verticalalign' ( (lv_verticalalign_17_0= ruleVerticalTextAlignEnum ) ) ) )
             	    {
             	    getUnorderedGroupHelper().select(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 5);
-            	    // InternalReportDSL.g:2485:9: ({...}? => (otherlv_16= 'border-top' ( (lv_borderTop_17_0= ruleBorderStyle ) ) ) )
-            	    // InternalReportDSL.g:2485:10: {...}? => (otherlv_16= 'border-top' ( (lv_borderTop_17_0= ruleBorderStyle ) ) )
+            	    // InternalReportDSL.g:2519:9: ({...}? => (otherlv_16= 'verticalalign' ( (lv_verticalalign_17_0= ruleVerticalTextAlignEnum ) ) ) )
+            	    // InternalReportDSL.g:2519:10: {...}? => (otherlv_16= 'verticalalign' ( (lv_verticalalign_17_0= ruleVerticalTextAlignEnum ) ) )
             	    {
             	    if ( !((true)) ) {
             	        if (state.backtracking>0) {state.failed=true; return current;}
             	        throw new FailedPredicateException(input, "ruleMediaStyle", "true");
             	    }
-            	    // InternalReportDSL.g:2485:19: (otherlv_16= 'border-top' ( (lv_borderTop_17_0= ruleBorderStyle ) ) )
-            	    // InternalReportDSL.g:2485:20: otherlv_16= 'border-top' ( (lv_borderTop_17_0= ruleBorderStyle ) )
+            	    // InternalReportDSL.g:2519:19: (otherlv_16= 'verticalalign' ( (lv_verticalalign_17_0= ruleVerticalTextAlignEnum ) ) )
+            	    // InternalReportDSL.g:2519:20: otherlv_16= 'verticalalign' ( (lv_verticalalign_17_0= ruleVerticalTextAlignEnum ) )
             	    {
-            	    otherlv_16=(Token)match(input,49,FOLLOW_46); if (state.failed) return current;
+            	    otherlv_16=(Token)match(input,49,FOLLOW_47); if (state.failed) return current;
             	    if ( state.backtracking==0 ) {
 
-            	      									newLeafNode(otherlv_16, grammarAccess.getMediaStyleAccess().getBorderTopKeyword_3_5_0());
+            	      									newLeafNode(otherlv_16, grammarAccess.getMediaStyleAccess().getVerticalalignKeyword_3_5_0());
             	      								
             	    }
-            	    // InternalReportDSL.g:2489:9: ( (lv_borderTop_17_0= ruleBorderStyle ) )
-            	    // InternalReportDSL.g:2490:10: (lv_borderTop_17_0= ruleBorderStyle )
+            	    // InternalReportDSL.g:2523:9: ( (lv_verticalalign_17_0= ruleVerticalTextAlignEnum ) )
+            	    // InternalReportDSL.g:2524:10: (lv_verticalalign_17_0= ruleVerticalTextAlignEnum )
             	    {
-            	    // InternalReportDSL.g:2490:10: (lv_borderTop_17_0= ruleBorderStyle )
-            	    // InternalReportDSL.g:2491:11: lv_borderTop_17_0= ruleBorderStyle
+            	    // InternalReportDSL.g:2524:10: (lv_verticalalign_17_0= ruleVerticalTextAlignEnum )
+            	    // InternalReportDSL.g:2525:11: lv_verticalalign_17_0= ruleVerticalTextAlignEnum
             	    {
             	    if ( state.backtracking==0 ) {
 
-            	      											newCompositeNode(grammarAccess.getMediaStyleAccess().getBorderTopBorderStyleParserRuleCall_3_5_1_0());
+            	      											newCompositeNode(grammarAccess.getMediaStyleAccess().getVerticalalignVerticalTextAlignEnumEnumRuleCall_3_5_1_0());
             	      										
             	    }
-            	    pushFollow(FOLLOW_47);
-            	    lv_borderTop_17_0=ruleBorderStyle();
+            	    pushFollow(FOLLOW_49);
+            	    lv_verticalalign_17_0=ruleVerticalTextAlignEnum();
 
             	    state._fsp--;
             	    if (state.failed) return current;
@@ -6695,9 +6798,9 @@
             	      											}
             	      											set(
             	      												current,
-            	      												"borderTop",
-            	      												lv_borderTop_17_0,
-            	      												"org.eclipse.osbp.xtext.reportdsl.ReportDSL.BorderStyle");
+            	      												"verticalalign",
+            	      												lv_verticalalign_17_0,
+            	      												"org.eclipse.osbp.xtext.reportdsl.ReportDSL.VerticalTextAlignEnum");
             	      											afterParserOrEnumRuleCall();
             	      										
             	    }
@@ -6724,48 +6827,48 @@
             	    }
             	    break;
             	case 7 :
-            	    // InternalReportDSL.g:2514:4: ({...}? => ( ({...}? => (otherlv_18= 'border-bottom' ( (lv_borderBottom_19_0= ruleBorderStyle ) ) ) ) ) )
+            	    // InternalReportDSL.g:2548:4: ({...}? => ( ({...}? => (otherlv_18= 'border-top' ( (lv_borderTop_19_0= ruleBorderStyle ) ) ) ) ) )
             	    {
-            	    // InternalReportDSL.g:2514:4: ({...}? => ( ({...}? => (otherlv_18= 'border-bottom' ( (lv_borderBottom_19_0= ruleBorderStyle ) ) ) ) ) )
-            	    // InternalReportDSL.g:2515:5: {...}? => ( ({...}? => (otherlv_18= 'border-bottom' ( (lv_borderBottom_19_0= ruleBorderStyle ) ) ) ) )
+            	    // InternalReportDSL.g:2548:4: ({...}? => ( ({...}? => (otherlv_18= 'border-top' ( (lv_borderTop_19_0= ruleBorderStyle ) ) ) ) ) )
+            	    // InternalReportDSL.g:2549:5: {...}? => ( ({...}? => (otherlv_18= 'border-top' ( (lv_borderTop_19_0= ruleBorderStyle ) ) ) ) )
             	    {
             	    if ( ! getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 6) ) {
             	        if (state.backtracking>0) {state.failed=true; return current;}
             	        throw new FailedPredicateException(input, "ruleMediaStyle", "getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 6)");
             	    }
-            	    // InternalReportDSL.g:2515:107: ( ({...}? => (otherlv_18= 'border-bottom' ( (lv_borderBottom_19_0= ruleBorderStyle ) ) ) ) )
-            	    // InternalReportDSL.g:2516:6: ({...}? => (otherlv_18= 'border-bottom' ( (lv_borderBottom_19_0= ruleBorderStyle ) ) ) )
+            	    // InternalReportDSL.g:2549:107: ( ({...}? => (otherlv_18= 'border-top' ( (lv_borderTop_19_0= ruleBorderStyle ) ) ) ) )
+            	    // InternalReportDSL.g:2550:6: ({...}? => (otherlv_18= 'border-top' ( (lv_borderTop_19_0= ruleBorderStyle ) ) ) )
             	    {
             	    getUnorderedGroupHelper().select(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 6);
-            	    // InternalReportDSL.g:2519:9: ({...}? => (otherlv_18= 'border-bottom' ( (lv_borderBottom_19_0= ruleBorderStyle ) ) ) )
-            	    // InternalReportDSL.g:2519:10: {...}? => (otherlv_18= 'border-bottom' ( (lv_borderBottom_19_0= ruleBorderStyle ) ) )
+            	    // InternalReportDSL.g:2553:9: ({...}? => (otherlv_18= 'border-top' ( (lv_borderTop_19_0= ruleBorderStyle ) ) ) )
+            	    // InternalReportDSL.g:2553:10: {...}? => (otherlv_18= 'border-top' ( (lv_borderTop_19_0= ruleBorderStyle ) ) )
             	    {
             	    if ( !((true)) ) {
             	        if (state.backtracking>0) {state.failed=true; return current;}
             	        throw new FailedPredicateException(input, "ruleMediaStyle", "true");
             	    }
-            	    // InternalReportDSL.g:2519:19: (otherlv_18= 'border-bottom' ( (lv_borderBottom_19_0= ruleBorderStyle ) ) )
-            	    // InternalReportDSL.g:2519:20: otherlv_18= 'border-bottom' ( (lv_borderBottom_19_0= ruleBorderStyle ) )
+            	    // InternalReportDSL.g:2553:19: (otherlv_18= 'border-top' ( (lv_borderTop_19_0= ruleBorderStyle ) ) )
+            	    // InternalReportDSL.g:2553:20: otherlv_18= 'border-top' ( (lv_borderTop_19_0= ruleBorderStyle ) )
             	    {
-            	    otherlv_18=(Token)match(input,50,FOLLOW_46); if (state.failed) return current;
+            	    otherlv_18=(Token)match(input,50,FOLLOW_48); if (state.failed) return current;
             	    if ( state.backtracking==0 ) {
 
-            	      									newLeafNode(otherlv_18, grammarAccess.getMediaStyleAccess().getBorderBottomKeyword_3_6_0());
+            	      									newLeafNode(otherlv_18, grammarAccess.getMediaStyleAccess().getBorderTopKeyword_3_6_0());
             	      								
             	    }
-            	    // InternalReportDSL.g:2523:9: ( (lv_borderBottom_19_0= ruleBorderStyle ) )
-            	    // InternalReportDSL.g:2524:10: (lv_borderBottom_19_0= ruleBorderStyle )
+            	    // InternalReportDSL.g:2557:9: ( (lv_borderTop_19_0= ruleBorderStyle ) )
+            	    // InternalReportDSL.g:2558:10: (lv_borderTop_19_0= ruleBorderStyle )
             	    {
-            	    // InternalReportDSL.g:2524:10: (lv_borderBottom_19_0= ruleBorderStyle )
-            	    // InternalReportDSL.g:2525:11: lv_borderBottom_19_0= ruleBorderStyle
+            	    // InternalReportDSL.g:2558:10: (lv_borderTop_19_0= ruleBorderStyle )
+            	    // InternalReportDSL.g:2559:11: lv_borderTop_19_0= ruleBorderStyle
             	    {
             	    if ( state.backtracking==0 ) {
 
-            	      											newCompositeNode(grammarAccess.getMediaStyleAccess().getBorderBottomBorderStyleParserRuleCall_3_6_1_0());
+            	      											newCompositeNode(grammarAccess.getMediaStyleAccess().getBorderTopBorderStyleParserRuleCall_3_6_1_0());
             	      										
             	    }
-            	    pushFollow(FOLLOW_47);
-            	    lv_borderBottom_19_0=ruleBorderStyle();
+            	    pushFollow(FOLLOW_49);
+            	    lv_borderTop_19_0=ruleBorderStyle();
 
             	    state._fsp--;
             	    if (state.failed) return current;
@@ -6776,8 +6879,8 @@
             	      											}
             	      											set(
             	      												current,
-            	      												"borderBottom",
-            	      												lv_borderBottom_19_0,
+            	      												"borderTop",
+            	      												lv_borderTop_19_0,
             	      												"org.eclipse.osbp.xtext.reportdsl.ReportDSL.BorderStyle");
             	      											afterParserOrEnumRuleCall();
             	      										
@@ -6805,48 +6908,48 @@
             	    }
             	    break;
             	case 8 :
-            	    // InternalReportDSL.g:2548:4: ({...}? => ( ({...}? => (otherlv_20= 'border-left' ( (lv_borderLeft_21_0= ruleBorderStyle ) ) ) ) ) )
+            	    // InternalReportDSL.g:2582:4: ({...}? => ( ({...}? => (otherlv_20= 'border-bottom' ( (lv_borderBottom_21_0= ruleBorderStyle ) ) ) ) ) )
             	    {
-            	    // InternalReportDSL.g:2548:4: ({...}? => ( ({...}? => (otherlv_20= 'border-left' ( (lv_borderLeft_21_0= ruleBorderStyle ) ) ) ) ) )
-            	    // InternalReportDSL.g:2549:5: {...}? => ( ({...}? => (otherlv_20= 'border-left' ( (lv_borderLeft_21_0= ruleBorderStyle ) ) ) ) )
+            	    // InternalReportDSL.g:2582:4: ({...}? => ( ({...}? => (otherlv_20= 'border-bottom' ( (lv_borderBottom_21_0= ruleBorderStyle ) ) ) ) ) )
+            	    // InternalReportDSL.g:2583:5: {...}? => ( ({...}? => (otherlv_20= 'border-bottom' ( (lv_borderBottom_21_0= ruleBorderStyle ) ) ) ) )
             	    {
             	    if ( ! getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 7) ) {
             	        if (state.backtracking>0) {state.failed=true; return current;}
             	        throw new FailedPredicateException(input, "ruleMediaStyle", "getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 7)");
             	    }
-            	    // InternalReportDSL.g:2549:107: ( ({...}? => (otherlv_20= 'border-left' ( (lv_borderLeft_21_0= ruleBorderStyle ) ) ) ) )
-            	    // InternalReportDSL.g:2550:6: ({...}? => (otherlv_20= 'border-left' ( (lv_borderLeft_21_0= ruleBorderStyle ) ) ) )
+            	    // InternalReportDSL.g:2583:107: ( ({...}? => (otherlv_20= 'border-bottom' ( (lv_borderBottom_21_0= ruleBorderStyle ) ) ) ) )
+            	    // InternalReportDSL.g:2584:6: ({...}? => (otherlv_20= 'border-bottom' ( (lv_borderBottom_21_0= ruleBorderStyle ) ) ) )
             	    {
             	    getUnorderedGroupHelper().select(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 7);
-            	    // InternalReportDSL.g:2553:9: ({...}? => (otherlv_20= 'border-left' ( (lv_borderLeft_21_0= ruleBorderStyle ) ) ) )
-            	    // InternalReportDSL.g:2553:10: {...}? => (otherlv_20= 'border-left' ( (lv_borderLeft_21_0= ruleBorderStyle ) ) )
+            	    // InternalReportDSL.g:2587:9: ({...}? => (otherlv_20= 'border-bottom' ( (lv_borderBottom_21_0= ruleBorderStyle ) ) ) )
+            	    // InternalReportDSL.g:2587:10: {...}? => (otherlv_20= 'border-bottom' ( (lv_borderBottom_21_0= ruleBorderStyle ) ) )
             	    {
             	    if ( !((true)) ) {
             	        if (state.backtracking>0) {state.failed=true; return current;}
             	        throw new FailedPredicateException(input, "ruleMediaStyle", "true");
             	    }
-            	    // InternalReportDSL.g:2553:19: (otherlv_20= 'border-left' ( (lv_borderLeft_21_0= ruleBorderStyle ) ) )
-            	    // InternalReportDSL.g:2553:20: otherlv_20= 'border-left' ( (lv_borderLeft_21_0= ruleBorderStyle ) )
+            	    // InternalReportDSL.g:2587:19: (otherlv_20= 'border-bottom' ( (lv_borderBottom_21_0= ruleBorderStyle ) ) )
+            	    // InternalReportDSL.g:2587:20: otherlv_20= 'border-bottom' ( (lv_borderBottom_21_0= ruleBorderStyle ) )
             	    {
-            	    otherlv_20=(Token)match(input,51,FOLLOW_46); if (state.failed) return current;
+            	    otherlv_20=(Token)match(input,51,FOLLOW_48); if (state.failed) return current;
             	    if ( state.backtracking==0 ) {
 
-            	      									newLeafNode(otherlv_20, grammarAccess.getMediaStyleAccess().getBorderLeftKeyword_3_7_0());
+            	      									newLeafNode(otherlv_20, grammarAccess.getMediaStyleAccess().getBorderBottomKeyword_3_7_0());
             	      								
             	    }
-            	    // InternalReportDSL.g:2557:9: ( (lv_borderLeft_21_0= ruleBorderStyle ) )
-            	    // InternalReportDSL.g:2558:10: (lv_borderLeft_21_0= ruleBorderStyle )
+            	    // InternalReportDSL.g:2591:9: ( (lv_borderBottom_21_0= ruleBorderStyle ) )
+            	    // InternalReportDSL.g:2592:10: (lv_borderBottom_21_0= ruleBorderStyle )
             	    {
-            	    // InternalReportDSL.g:2558:10: (lv_borderLeft_21_0= ruleBorderStyle )
-            	    // InternalReportDSL.g:2559:11: lv_borderLeft_21_0= ruleBorderStyle
+            	    // InternalReportDSL.g:2592:10: (lv_borderBottom_21_0= ruleBorderStyle )
+            	    // InternalReportDSL.g:2593:11: lv_borderBottom_21_0= ruleBorderStyle
             	    {
             	    if ( state.backtracking==0 ) {
 
-            	      											newCompositeNode(grammarAccess.getMediaStyleAccess().getBorderLeftBorderStyleParserRuleCall_3_7_1_0());
+            	      											newCompositeNode(grammarAccess.getMediaStyleAccess().getBorderBottomBorderStyleParserRuleCall_3_7_1_0());
             	      										
             	    }
-            	    pushFollow(FOLLOW_47);
-            	    lv_borderLeft_21_0=ruleBorderStyle();
+            	    pushFollow(FOLLOW_49);
+            	    lv_borderBottom_21_0=ruleBorderStyle();
 
             	    state._fsp--;
             	    if (state.failed) return current;
@@ -6857,8 +6960,8 @@
             	      											}
             	      											set(
             	      												current,
-            	      												"borderLeft",
-            	      												lv_borderLeft_21_0,
+            	      												"borderBottom",
+            	      												lv_borderBottom_21_0,
             	      												"org.eclipse.osbp.xtext.reportdsl.ReportDSL.BorderStyle");
             	      											afterParserOrEnumRuleCall();
             	      										
@@ -6886,48 +6989,48 @@
             	    }
             	    break;
             	case 9 :
-            	    // InternalReportDSL.g:2582:4: ({...}? => ( ({...}? => (otherlv_22= 'border-right' ( (lv_borderRight_23_0= ruleBorderStyle ) ) ) ) ) )
+            	    // InternalReportDSL.g:2616:4: ({...}? => ( ({...}? => (otherlv_22= 'border-left' ( (lv_borderLeft_23_0= ruleBorderStyle ) ) ) ) ) )
             	    {
-            	    // InternalReportDSL.g:2582:4: ({...}? => ( ({...}? => (otherlv_22= 'border-right' ( (lv_borderRight_23_0= ruleBorderStyle ) ) ) ) ) )
-            	    // InternalReportDSL.g:2583:5: {...}? => ( ({...}? => (otherlv_22= 'border-right' ( (lv_borderRight_23_0= ruleBorderStyle ) ) ) ) )
+            	    // InternalReportDSL.g:2616:4: ({...}? => ( ({...}? => (otherlv_22= 'border-left' ( (lv_borderLeft_23_0= ruleBorderStyle ) ) ) ) ) )
+            	    // InternalReportDSL.g:2617:5: {...}? => ( ({...}? => (otherlv_22= 'border-left' ( (lv_borderLeft_23_0= ruleBorderStyle ) ) ) ) )
             	    {
             	    if ( ! getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 8) ) {
             	        if (state.backtracking>0) {state.failed=true; return current;}
             	        throw new FailedPredicateException(input, "ruleMediaStyle", "getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 8)");
             	    }
-            	    // InternalReportDSL.g:2583:107: ( ({...}? => (otherlv_22= 'border-right' ( (lv_borderRight_23_0= ruleBorderStyle ) ) ) ) )
-            	    // InternalReportDSL.g:2584:6: ({...}? => (otherlv_22= 'border-right' ( (lv_borderRight_23_0= ruleBorderStyle ) ) ) )
+            	    // InternalReportDSL.g:2617:107: ( ({...}? => (otherlv_22= 'border-left' ( (lv_borderLeft_23_0= ruleBorderStyle ) ) ) ) )
+            	    // InternalReportDSL.g:2618:6: ({...}? => (otherlv_22= 'border-left' ( (lv_borderLeft_23_0= ruleBorderStyle ) ) ) )
             	    {
             	    getUnorderedGroupHelper().select(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 8);
-            	    // InternalReportDSL.g:2587:9: ({...}? => (otherlv_22= 'border-right' ( (lv_borderRight_23_0= ruleBorderStyle ) ) ) )
-            	    // InternalReportDSL.g:2587:10: {...}? => (otherlv_22= 'border-right' ( (lv_borderRight_23_0= ruleBorderStyle ) ) )
+            	    // InternalReportDSL.g:2621:9: ({...}? => (otherlv_22= 'border-left' ( (lv_borderLeft_23_0= ruleBorderStyle ) ) ) )
+            	    // InternalReportDSL.g:2621:10: {...}? => (otherlv_22= 'border-left' ( (lv_borderLeft_23_0= ruleBorderStyle ) ) )
             	    {
             	    if ( !((true)) ) {
             	        if (state.backtracking>0) {state.failed=true; return current;}
             	        throw new FailedPredicateException(input, "ruleMediaStyle", "true");
             	    }
-            	    // InternalReportDSL.g:2587:19: (otherlv_22= 'border-right' ( (lv_borderRight_23_0= ruleBorderStyle ) ) )
-            	    // InternalReportDSL.g:2587:20: otherlv_22= 'border-right' ( (lv_borderRight_23_0= ruleBorderStyle ) )
+            	    // InternalReportDSL.g:2621:19: (otherlv_22= 'border-left' ( (lv_borderLeft_23_0= ruleBorderStyle ) ) )
+            	    // InternalReportDSL.g:2621:20: otherlv_22= 'border-left' ( (lv_borderLeft_23_0= ruleBorderStyle ) )
             	    {
-            	    otherlv_22=(Token)match(input,52,FOLLOW_46); if (state.failed) return current;
+            	    otherlv_22=(Token)match(input,52,FOLLOW_48); if (state.failed) return current;
             	    if ( state.backtracking==0 ) {
 
-            	      									newLeafNode(otherlv_22, grammarAccess.getMediaStyleAccess().getBorderRightKeyword_3_8_0());
+            	      									newLeafNode(otherlv_22, grammarAccess.getMediaStyleAccess().getBorderLeftKeyword_3_8_0());
             	      								
             	    }
-            	    // InternalReportDSL.g:2591:9: ( (lv_borderRight_23_0= ruleBorderStyle ) )
-            	    // InternalReportDSL.g:2592:10: (lv_borderRight_23_0= ruleBorderStyle )
+            	    // InternalReportDSL.g:2625:9: ( (lv_borderLeft_23_0= ruleBorderStyle ) )
+            	    // InternalReportDSL.g:2626:10: (lv_borderLeft_23_0= ruleBorderStyle )
             	    {
-            	    // InternalReportDSL.g:2592:10: (lv_borderRight_23_0= ruleBorderStyle )
-            	    // InternalReportDSL.g:2593:11: lv_borderRight_23_0= ruleBorderStyle
+            	    // InternalReportDSL.g:2626:10: (lv_borderLeft_23_0= ruleBorderStyle )
+            	    // InternalReportDSL.g:2627:11: lv_borderLeft_23_0= ruleBorderStyle
             	    {
             	    if ( state.backtracking==0 ) {
 
-            	      											newCompositeNode(grammarAccess.getMediaStyleAccess().getBorderRightBorderStyleParserRuleCall_3_8_1_0());
+            	      											newCompositeNode(grammarAccess.getMediaStyleAccess().getBorderLeftBorderStyleParserRuleCall_3_8_1_0());
             	      										
             	    }
-            	    pushFollow(FOLLOW_47);
-            	    lv_borderRight_23_0=ruleBorderStyle();
+            	    pushFollow(FOLLOW_49);
+            	    lv_borderLeft_23_0=ruleBorderStyle();
 
             	    state._fsp--;
             	    if (state.failed) return current;
@@ -6938,8 +7041,8 @@
             	      											}
             	      											set(
             	      												current,
-            	      												"borderRight",
-            	      												lv_borderRight_23_0,
+            	      												"borderLeft",
+            	      												lv_borderLeft_23_0,
             	      												"org.eclipse.osbp.xtext.reportdsl.ReportDSL.BorderStyle");
             	      											afterParserOrEnumRuleCall();
             	      										
@@ -6967,48 +7070,48 @@
             	    }
             	    break;
             	case 10 :
-            	    // InternalReportDSL.g:2616:4: ({...}? => ( ({...}? => (otherlv_24= 'padding-top' ( (lv_paddingTopValue_25_0= ruleUnsignedNumber ) ) ) ) ) )
+            	    // InternalReportDSL.g:2650:4: ({...}? => ( ({...}? => (otherlv_24= 'border-right' ( (lv_borderRight_25_0= ruleBorderStyle ) ) ) ) ) )
             	    {
-            	    // InternalReportDSL.g:2616:4: ({...}? => ( ({...}? => (otherlv_24= 'padding-top' ( (lv_paddingTopValue_25_0= ruleUnsignedNumber ) ) ) ) ) )
-            	    // InternalReportDSL.g:2617:5: {...}? => ( ({...}? => (otherlv_24= 'padding-top' ( (lv_paddingTopValue_25_0= ruleUnsignedNumber ) ) ) ) )
+            	    // InternalReportDSL.g:2650:4: ({...}? => ( ({...}? => (otherlv_24= 'border-right' ( (lv_borderRight_25_0= ruleBorderStyle ) ) ) ) ) )
+            	    // InternalReportDSL.g:2651:5: {...}? => ( ({...}? => (otherlv_24= 'border-right' ( (lv_borderRight_25_0= ruleBorderStyle ) ) ) ) )
             	    {
             	    if ( ! getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 9) ) {
             	        if (state.backtracking>0) {state.failed=true; return current;}
             	        throw new FailedPredicateException(input, "ruleMediaStyle", "getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 9)");
             	    }
-            	    // InternalReportDSL.g:2617:107: ( ({...}? => (otherlv_24= 'padding-top' ( (lv_paddingTopValue_25_0= ruleUnsignedNumber ) ) ) ) )
-            	    // InternalReportDSL.g:2618:6: ({...}? => (otherlv_24= 'padding-top' ( (lv_paddingTopValue_25_0= ruleUnsignedNumber ) ) ) )
+            	    // InternalReportDSL.g:2651:107: ( ({...}? => (otherlv_24= 'border-right' ( (lv_borderRight_25_0= ruleBorderStyle ) ) ) ) )
+            	    // InternalReportDSL.g:2652:6: ({...}? => (otherlv_24= 'border-right' ( (lv_borderRight_25_0= ruleBorderStyle ) ) ) )
             	    {
             	    getUnorderedGroupHelper().select(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 9);
-            	    // InternalReportDSL.g:2621:9: ({...}? => (otherlv_24= 'padding-top' ( (lv_paddingTopValue_25_0= ruleUnsignedNumber ) ) ) )
-            	    // InternalReportDSL.g:2621:10: {...}? => (otherlv_24= 'padding-top' ( (lv_paddingTopValue_25_0= ruleUnsignedNumber ) ) )
+            	    // InternalReportDSL.g:2655:9: ({...}? => (otherlv_24= 'border-right' ( (lv_borderRight_25_0= ruleBorderStyle ) ) ) )
+            	    // InternalReportDSL.g:2655:10: {...}? => (otherlv_24= 'border-right' ( (lv_borderRight_25_0= ruleBorderStyle ) ) )
             	    {
             	    if ( !((true)) ) {
             	        if (state.backtracking>0) {state.failed=true; return current;}
             	        throw new FailedPredicateException(input, "ruleMediaStyle", "true");
             	    }
-            	    // InternalReportDSL.g:2621:19: (otherlv_24= 'padding-top' ( (lv_paddingTopValue_25_0= ruleUnsignedNumber ) ) )
-            	    // InternalReportDSL.g:2621:20: otherlv_24= 'padding-top' ( (lv_paddingTopValue_25_0= ruleUnsignedNumber ) )
+            	    // InternalReportDSL.g:2655:19: (otherlv_24= 'border-right' ( (lv_borderRight_25_0= ruleBorderStyle ) ) )
+            	    // InternalReportDSL.g:2655:20: otherlv_24= 'border-right' ( (lv_borderRight_25_0= ruleBorderStyle ) )
             	    {
-            	    otherlv_24=(Token)match(input,53,FOLLOW_28); if (state.failed) return current;
+            	    otherlv_24=(Token)match(input,53,FOLLOW_48); if (state.failed) return current;
             	    if ( state.backtracking==0 ) {
 
-            	      									newLeafNode(otherlv_24, grammarAccess.getMediaStyleAccess().getPaddingTopKeyword_3_9_0());
+            	      									newLeafNode(otherlv_24, grammarAccess.getMediaStyleAccess().getBorderRightKeyword_3_9_0());
             	      								
             	    }
-            	    // InternalReportDSL.g:2625:9: ( (lv_paddingTopValue_25_0= ruleUnsignedNumber ) )
-            	    // InternalReportDSL.g:2626:10: (lv_paddingTopValue_25_0= ruleUnsignedNumber )
+            	    // InternalReportDSL.g:2659:9: ( (lv_borderRight_25_0= ruleBorderStyle ) )
+            	    // InternalReportDSL.g:2660:10: (lv_borderRight_25_0= ruleBorderStyle )
             	    {
-            	    // InternalReportDSL.g:2626:10: (lv_paddingTopValue_25_0= ruleUnsignedNumber )
-            	    // InternalReportDSL.g:2627:11: lv_paddingTopValue_25_0= ruleUnsignedNumber
+            	    // InternalReportDSL.g:2660:10: (lv_borderRight_25_0= ruleBorderStyle )
+            	    // InternalReportDSL.g:2661:11: lv_borderRight_25_0= ruleBorderStyle
             	    {
             	    if ( state.backtracking==0 ) {
 
-            	      											newCompositeNode(grammarAccess.getMediaStyleAccess().getPaddingTopValueUnsignedNumberParserRuleCall_3_9_1_0());
+            	      											newCompositeNode(grammarAccess.getMediaStyleAccess().getBorderRightBorderStyleParserRuleCall_3_9_1_0());
             	      										
             	    }
-            	    pushFollow(FOLLOW_47);
-            	    lv_paddingTopValue_25_0=ruleUnsignedNumber();
+            	    pushFollow(FOLLOW_49);
+            	    lv_borderRight_25_0=ruleBorderStyle();
 
             	    state._fsp--;
             	    if (state.failed) return current;
@@ -7019,9 +7122,9 @@
             	      											}
             	      											set(
             	      												current,
-            	      												"paddingTopValue",
-            	      												lv_paddingTopValue_25_0,
-            	      												"org.eclipse.osbp.xtext.reportdsl.ReportDSL.UnsignedNumber");
+            	      												"borderRight",
+            	      												lv_borderRight_25_0,
+            	      												"org.eclipse.osbp.xtext.reportdsl.ReportDSL.BorderStyle");
             	      											afterParserOrEnumRuleCall();
             	      										
             	    }
@@ -7048,48 +7151,48 @@
             	    }
             	    break;
             	case 11 :
-            	    // InternalReportDSL.g:2650:4: ({...}? => ( ({...}? => (otherlv_26= 'padding-bottom' ( (lv_paddingBottomValue_27_0= ruleUnsignedNumber ) ) ) ) ) )
+            	    // InternalReportDSL.g:2684:4: ({...}? => ( ({...}? => (otherlv_26= 'padding-top' ( (lv_paddingTopValue_27_0= ruleUnsignedNumber ) ) ) ) ) )
             	    {
-            	    // InternalReportDSL.g:2650:4: ({...}? => ( ({...}? => (otherlv_26= 'padding-bottom' ( (lv_paddingBottomValue_27_0= ruleUnsignedNumber ) ) ) ) ) )
-            	    // InternalReportDSL.g:2651:5: {...}? => ( ({...}? => (otherlv_26= 'padding-bottom' ( (lv_paddingBottomValue_27_0= ruleUnsignedNumber ) ) ) ) )
+            	    // InternalReportDSL.g:2684:4: ({...}? => ( ({...}? => (otherlv_26= 'padding-top' ( (lv_paddingTopValue_27_0= ruleUnsignedNumber ) ) ) ) ) )
+            	    // InternalReportDSL.g:2685:5: {...}? => ( ({...}? => (otherlv_26= 'padding-top' ( (lv_paddingTopValue_27_0= ruleUnsignedNumber ) ) ) ) )
             	    {
             	    if ( ! getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 10) ) {
             	        if (state.backtracking>0) {state.failed=true; return current;}
             	        throw new FailedPredicateException(input, "ruleMediaStyle", "getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 10)");
             	    }
-            	    // InternalReportDSL.g:2651:108: ( ({...}? => (otherlv_26= 'padding-bottom' ( (lv_paddingBottomValue_27_0= ruleUnsignedNumber ) ) ) ) )
-            	    // InternalReportDSL.g:2652:6: ({...}? => (otherlv_26= 'padding-bottom' ( (lv_paddingBottomValue_27_0= ruleUnsignedNumber ) ) ) )
+            	    // InternalReportDSL.g:2685:108: ( ({...}? => (otherlv_26= 'padding-top' ( (lv_paddingTopValue_27_0= ruleUnsignedNumber ) ) ) ) )
+            	    // InternalReportDSL.g:2686:6: ({...}? => (otherlv_26= 'padding-top' ( (lv_paddingTopValue_27_0= ruleUnsignedNumber ) ) ) )
             	    {
             	    getUnorderedGroupHelper().select(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 10);
-            	    // InternalReportDSL.g:2655:9: ({...}? => (otherlv_26= 'padding-bottom' ( (lv_paddingBottomValue_27_0= ruleUnsignedNumber ) ) ) )
-            	    // InternalReportDSL.g:2655:10: {...}? => (otherlv_26= 'padding-bottom' ( (lv_paddingBottomValue_27_0= ruleUnsignedNumber ) ) )
+            	    // InternalReportDSL.g:2689:9: ({...}? => (otherlv_26= 'padding-top' ( (lv_paddingTopValue_27_0= ruleUnsignedNumber ) ) ) )
+            	    // InternalReportDSL.g:2689:10: {...}? => (otherlv_26= 'padding-top' ( (lv_paddingTopValue_27_0= ruleUnsignedNumber ) ) )
             	    {
             	    if ( !((true)) ) {
             	        if (state.backtracking>0) {state.failed=true; return current;}
             	        throw new FailedPredicateException(input, "ruleMediaStyle", "true");
             	    }
-            	    // InternalReportDSL.g:2655:19: (otherlv_26= 'padding-bottom' ( (lv_paddingBottomValue_27_0= ruleUnsignedNumber ) ) )
-            	    // InternalReportDSL.g:2655:20: otherlv_26= 'padding-bottom' ( (lv_paddingBottomValue_27_0= ruleUnsignedNumber ) )
+            	    // InternalReportDSL.g:2689:19: (otherlv_26= 'padding-top' ( (lv_paddingTopValue_27_0= ruleUnsignedNumber ) ) )
+            	    // InternalReportDSL.g:2689:20: otherlv_26= 'padding-top' ( (lv_paddingTopValue_27_0= ruleUnsignedNumber ) )
             	    {
             	    otherlv_26=(Token)match(input,54,FOLLOW_28); if (state.failed) return current;
             	    if ( state.backtracking==0 ) {
 
-            	      									newLeafNode(otherlv_26, grammarAccess.getMediaStyleAccess().getPaddingBottomKeyword_3_10_0());
+            	      									newLeafNode(otherlv_26, grammarAccess.getMediaStyleAccess().getPaddingTopKeyword_3_10_0());
             	      								
             	    }
-            	    // InternalReportDSL.g:2659:9: ( (lv_paddingBottomValue_27_0= ruleUnsignedNumber ) )
-            	    // InternalReportDSL.g:2660:10: (lv_paddingBottomValue_27_0= ruleUnsignedNumber )
+            	    // InternalReportDSL.g:2693:9: ( (lv_paddingTopValue_27_0= ruleUnsignedNumber ) )
+            	    // InternalReportDSL.g:2694:10: (lv_paddingTopValue_27_0= ruleUnsignedNumber )
             	    {
-            	    // InternalReportDSL.g:2660:10: (lv_paddingBottomValue_27_0= ruleUnsignedNumber )
-            	    // InternalReportDSL.g:2661:11: lv_paddingBottomValue_27_0= ruleUnsignedNumber
+            	    // InternalReportDSL.g:2694:10: (lv_paddingTopValue_27_0= ruleUnsignedNumber )
+            	    // InternalReportDSL.g:2695:11: lv_paddingTopValue_27_0= ruleUnsignedNumber
             	    {
             	    if ( state.backtracking==0 ) {
 
-            	      											newCompositeNode(grammarAccess.getMediaStyleAccess().getPaddingBottomValueUnsignedNumberParserRuleCall_3_10_1_0());
+            	      											newCompositeNode(grammarAccess.getMediaStyleAccess().getPaddingTopValueUnsignedNumberParserRuleCall_3_10_1_0());
             	      										
             	    }
-            	    pushFollow(FOLLOW_47);
-            	    lv_paddingBottomValue_27_0=ruleUnsignedNumber();
+            	    pushFollow(FOLLOW_49);
+            	    lv_paddingTopValue_27_0=ruleUnsignedNumber();
 
             	    state._fsp--;
             	    if (state.failed) return current;
@@ -7100,8 +7203,8 @@
             	      											}
             	      											set(
             	      												current,
-            	      												"paddingBottomValue",
-            	      												lv_paddingBottomValue_27_0,
+            	      												"paddingTopValue",
+            	      												lv_paddingTopValue_27_0,
             	      												"org.eclipse.osbp.xtext.reportdsl.ReportDSL.UnsignedNumber");
             	      											afterParserOrEnumRuleCall();
             	      										
@@ -7129,48 +7232,48 @@
             	    }
             	    break;
             	case 12 :
-            	    // InternalReportDSL.g:2684:4: ({...}? => ( ({...}? => (otherlv_28= 'padding-left' ( (lv_paddingLeftValue_29_0= ruleUnsignedNumber ) ) ) ) ) )
+            	    // InternalReportDSL.g:2718:4: ({...}? => ( ({...}? => (otherlv_28= 'padding-bottom' ( (lv_paddingBottomValue_29_0= ruleUnsignedNumber ) ) ) ) ) )
             	    {
-            	    // InternalReportDSL.g:2684:4: ({...}? => ( ({...}? => (otherlv_28= 'padding-left' ( (lv_paddingLeftValue_29_0= ruleUnsignedNumber ) ) ) ) ) )
-            	    // InternalReportDSL.g:2685:5: {...}? => ( ({...}? => (otherlv_28= 'padding-left' ( (lv_paddingLeftValue_29_0= ruleUnsignedNumber ) ) ) ) )
+            	    // InternalReportDSL.g:2718:4: ({...}? => ( ({...}? => (otherlv_28= 'padding-bottom' ( (lv_paddingBottomValue_29_0= ruleUnsignedNumber ) ) ) ) ) )
+            	    // InternalReportDSL.g:2719:5: {...}? => ( ({...}? => (otherlv_28= 'padding-bottom' ( (lv_paddingBottomValue_29_0= ruleUnsignedNumber ) ) ) ) )
             	    {
             	    if ( ! getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 11) ) {
             	        if (state.backtracking>0) {state.failed=true; return current;}
             	        throw new FailedPredicateException(input, "ruleMediaStyle", "getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 11)");
             	    }
-            	    // InternalReportDSL.g:2685:108: ( ({...}? => (otherlv_28= 'padding-left' ( (lv_paddingLeftValue_29_0= ruleUnsignedNumber ) ) ) ) )
-            	    // InternalReportDSL.g:2686:6: ({...}? => (otherlv_28= 'padding-left' ( (lv_paddingLeftValue_29_0= ruleUnsignedNumber ) ) ) )
+            	    // InternalReportDSL.g:2719:108: ( ({...}? => (otherlv_28= 'padding-bottom' ( (lv_paddingBottomValue_29_0= ruleUnsignedNumber ) ) ) ) )
+            	    // InternalReportDSL.g:2720:6: ({...}? => (otherlv_28= 'padding-bottom' ( (lv_paddingBottomValue_29_0= ruleUnsignedNumber ) ) ) )
             	    {
             	    getUnorderedGroupHelper().select(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 11);
-            	    // InternalReportDSL.g:2689:9: ({...}? => (otherlv_28= 'padding-left' ( (lv_paddingLeftValue_29_0= ruleUnsignedNumber ) ) ) )
-            	    // InternalReportDSL.g:2689:10: {...}? => (otherlv_28= 'padding-left' ( (lv_paddingLeftValue_29_0= ruleUnsignedNumber ) ) )
+            	    // InternalReportDSL.g:2723:9: ({...}? => (otherlv_28= 'padding-bottom' ( (lv_paddingBottomValue_29_0= ruleUnsignedNumber ) ) ) )
+            	    // InternalReportDSL.g:2723:10: {...}? => (otherlv_28= 'padding-bottom' ( (lv_paddingBottomValue_29_0= ruleUnsignedNumber ) ) )
             	    {
             	    if ( !((true)) ) {
             	        if (state.backtracking>0) {state.failed=true; return current;}
             	        throw new FailedPredicateException(input, "ruleMediaStyle", "true");
             	    }
-            	    // InternalReportDSL.g:2689:19: (otherlv_28= 'padding-left' ( (lv_paddingLeftValue_29_0= ruleUnsignedNumber ) ) )
-            	    // InternalReportDSL.g:2689:20: otherlv_28= 'padding-left' ( (lv_paddingLeftValue_29_0= ruleUnsignedNumber ) )
+            	    // InternalReportDSL.g:2723:19: (otherlv_28= 'padding-bottom' ( (lv_paddingBottomValue_29_0= ruleUnsignedNumber ) ) )
+            	    // InternalReportDSL.g:2723:20: otherlv_28= 'padding-bottom' ( (lv_paddingBottomValue_29_0= ruleUnsignedNumber ) )
             	    {
             	    otherlv_28=(Token)match(input,55,FOLLOW_28); if (state.failed) return current;
             	    if ( state.backtracking==0 ) {
 
-            	      									newLeafNode(otherlv_28, grammarAccess.getMediaStyleAccess().getPaddingLeftKeyword_3_11_0());
+            	      									newLeafNode(otherlv_28, grammarAccess.getMediaStyleAccess().getPaddingBottomKeyword_3_11_0());
             	      								
             	    }
-            	    // InternalReportDSL.g:2693:9: ( (lv_paddingLeftValue_29_0= ruleUnsignedNumber ) )
-            	    // InternalReportDSL.g:2694:10: (lv_paddingLeftValue_29_0= ruleUnsignedNumber )
+            	    // InternalReportDSL.g:2727:9: ( (lv_paddingBottomValue_29_0= ruleUnsignedNumber ) )
+            	    // InternalReportDSL.g:2728:10: (lv_paddingBottomValue_29_0= ruleUnsignedNumber )
             	    {
-            	    // InternalReportDSL.g:2694:10: (lv_paddingLeftValue_29_0= ruleUnsignedNumber )
-            	    // InternalReportDSL.g:2695:11: lv_paddingLeftValue_29_0= ruleUnsignedNumber
+            	    // InternalReportDSL.g:2728:10: (lv_paddingBottomValue_29_0= ruleUnsignedNumber )
+            	    // InternalReportDSL.g:2729:11: lv_paddingBottomValue_29_0= ruleUnsignedNumber
             	    {
             	    if ( state.backtracking==0 ) {
 
-            	      											newCompositeNode(grammarAccess.getMediaStyleAccess().getPaddingLeftValueUnsignedNumberParserRuleCall_3_11_1_0());
+            	      											newCompositeNode(grammarAccess.getMediaStyleAccess().getPaddingBottomValueUnsignedNumberParserRuleCall_3_11_1_0());
             	      										
             	    }
-            	    pushFollow(FOLLOW_47);
-            	    lv_paddingLeftValue_29_0=ruleUnsignedNumber();
+            	    pushFollow(FOLLOW_49);
+            	    lv_paddingBottomValue_29_0=ruleUnsignedNumber();
 
             	    state._fsp--;
             	    if (state.failed) return current;
@@ -7181,8 +7284,8 @@
             	      											}
             	      											set(
             	      												current,
-            	      												"paddingLeftValue",
-            	      												lv_paddingLeftValue_29_0,
+            	      												"paddingBottomValue",
+            	      												lv_paddingBottomValue_29_0,
             	      												"org.eclipse.osbp.xtext.reportdsl.ReportDSL.UnsignedNumber");
             	      											afterParserOrEnumRuleCall();
             	      										
@@ -7210,48 +7313,48 @@
             	    }
             	    break;
             	case 13 :
-            	    // InternalReportDSL.g:2718:4: ({...}? => ( ({...}? => (otherlv_30= 'padding-right' ( (lv_paddingRightValue_31_0= ruleUnsignedNumber ) ) ) ) ) )
+            	    // InternalReportDSL.g:2752:4: ({...}? => ( ({...}? => (otherlv_30= 'padding-left' ( (lv_paddingLeftValue_31_0= ruleUnsignedNumber ) ) ) ) ) )
             	    {
-            	    // InternalReportDSL.g:2718:4: ({...}? => ( ({...}? => (otherlv_30= 'padding-right' ( (lv_paddingRightValue_31_0= ruleUnsignedNumber ) ) ) ) ) )
-            	    // InternalReportDSL.g:2719:5: {...}? => ( ({...}? => (otherlv_30= 'padding-right' ( (lv_paddingRightValue_31_0= ruleUnsignedNumber ) ) ) ) )
+            	    // InternalReportDSL.g:2752:4: ({...}? => ( ({...}? => (otherlv_30= 'padding-left' ( (lv_paddingLeftValue_31_0= ruleUnsignedNumber ) ) ) ) ) )
+            	    // InternalReportDSL.g:2753:5: {...}? => ( ({...}? => (otherlv_30= 'padding-left' ( (lv_paddingLeftValue_31_0= ruleUnsignedNumber ) ) ) ) )
             	    {
             	    if ( ! getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 12) ) {
             	        if (state.backtracking>0) {state.failed=true; return current;}
             	        throw new FailedPredicateException(input, "ruleMediaStyle", "getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 12)");
             	    }
-            	    // InternalReportDSL.g:2719:108: ( ({...}? => (otherlv_30= 'padding-right' ( (lv_paddingRightValue_31_0= ruleUnsignedNumber ) ) ) ) )
-            	    // InternalReportDSL.g:2720:6: ({...}? => (otherlv_30= 'padding-right' ( (lv_paddingRightValue_31_0= ruleUnsignedNumber ) ) ) )
+            	    // InternalReportDSL.g:2753:108: ( ({...}? => (otherlv_30= 'padding-left' ( (lv_paddingLeftValue_31_0= ruleUnsignedNumber ) ) ) ) )
+            	    // InternalReportDSL.g:2754:6: ({...}? => (otherlv_30= 'padding-left' ( (lv_paddingLeftValue_31_0= ruleUnsignedNumber ) ) ) )
             	    {
             	    getUnorderedGroupHelper().select(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 12);
-            	    // InternalReportDSL.g:2723:9: ({...}? => (otherlv_30= 'padding-right' ( (lv_paddingRightValue_31_0= ruleUnsignedNumber ) ) ) )
-            	    // InternalReportDSL.g:2723:10: {...}? => (otherlv_30= 'padding-right' ( (lv_paddingRightValue_31_0= ruleUnsignedNumber ) ) )
+            	    // InternalReportDSL.g:2757:9: ({...}? => (otherlv_30= 'padding-left' ( (lv_paddingLeftValue_31_0= ruleUnsignedNumber ) ) ) )
+            	    // InternalReportDSL.g:2757:10: {...}? => (otherlv_30= 'padding-left' ( (lv_paddingLeftValue_31_0= ruleUnsignedNumber ) ) )
             	    {
             	    if ( !((true)) ) {
             	        if (state.backtracking>0) {state.failed=true; return current;}
             	        throw new FailedPredicateException(input, "ruleMediaStyle", "true");
             	    }
-            	    // InternalReportDSL.g:2723:19: (otherlv_30= 'padding-right' ( (lv_paddingRightValue_31_0= ruleUnsignedNumber ) ) )
-            	    // InternalReportDSL.g:2723:20: otherlv_30= 'padding-right' ( (lv_paddingRightValue_31_0= ruleUnsignedNumber ) )
+            	    // InternalReportDSL.g:2757:19: (otherlv_30= 'padding-left' ( (lv_paddingLeftValue_31_0= ruleUnsignedNumber ) ) )
+            	    // InternalReportDSL.g:2757:20: otherlv_30= 'padding-left' ( (lv_paddingLeftValue_31_0= ruleUnsignedNumber ) )
             	    {
             	    otherlv_30=(Token)match(input,56,FOLLOW_28); if (state.failed) return current;
             	    if ( state.backtracking==0 ) {
 
-            	      									newLeafNode(otherlv_30, grammarAccess.getMediaStyleAccess().getPaddingRightKeyword_3_12_0());
+            	      									newLeafNode(otherlv_30, grammarAccess.getMediaStyleAccess().getPaddingLeftKeyword_3_12_0());
             	      								
             	    }
-            	    // InternalReportDSL.g:2727:9: ( (lv_paddingRightValue_31_0= ruleUnsignedNumber ) )
-            	    // InternalReportDSL.g:2728:10: (lv_paddingRightValue_31_0= ruleUnsignedNumber )
+            	    // InternalReportDSL.g:2761:9: ( (lv_paddingLeftValue_31_0= ruleUnsignedNumber ) )
+            	    // InternalReportDSL.g:2762:10: (lv_paddingLeftValue_31_0= ruleUnsignedNumber )
             	    {
-            	    // InternalReportDSL.g:2728:10: (lv_paddingRightValue_31_0= ruleUnsignedNumber )
-            	    // InternalReportDSL.g:2729:11: lv_paddingRightValue_31_0= ruleUnsignedNumber
+            	    // InternalReportDSL.g:2762:10: (lv_paddingLeftValue_31_0= ruleUnsignedNumber )
+            	    // InternalReportDSL.g:2763:11: lv_paddingLeftValue_31_0= ruleUnsignedNumber
             	    {
             	    if ( state.backtracking==0 ) {
 
-            	      											newCompositeNode(grammarAccess.getMediaStyleAccess().getPaddingRightValueUnsignedNumberParserRuleCall_3_12_1_0());
+            	      											newCompositeNode(grammarAccess.getMediaStyleAccess().getPaddingLeftValueUnsignedNumberParserRuleCall_3_12_1_0());
             	      										
             	    }
-            	    pushFollow(FOLLOW_47);
-            	    lv_paddingRightValue_31_0=ruleUnsignedNumber();
+            	    pushFollow(FOLLOW_49);
+            	    lv_paddingLeftValue_31_0=ruleUnsignedNumber();
 
             	    state._fsp--;
             	    if (state.failed) return current;
@@ -7262,8 +7365,8 @@
             	      											}
             	      											set(
             	      												current,
-            	      												"paddingRightValue",
-            	      												lv_paddingRightValue_31_0,
+            	      												"paddingLeftValue",
+            	      												lv_paddingLeftValue_31_0,
             	      												"org.eclipse.osbp.xtext.reportdsl.ReportDSL.UnsignedNumber");
             	      											afterParserOrEnumRuleCall();
             	      										
@@ -7291,48 +7394,48 @@
             	    }
             	    break;
             	case 14 :
-            	    // InternalReportDSL.g:2752:4: ({...}? => ( ({...}? => (otherlv_32= 'margin-top' ( (lv_marginTopValue_33_0= ruleUnsignedNumber ) ) ) ) ) )
+            	    // InternalReportDSL.g:2786:4: ({...}? => ( ({...}? => (otherlv_32= 'padding-right' ( (lv_paddingRightValue_33_0= ruleUnsignedNumber ) ) ) ) ) )
             	    {
-            	    // InternalReportDSL.g:2752:4: ({...}? => ( ({...}? => (otherlv_32= 'margin-top' ( (lv_marginTopValue_33_0= ruleUnsignedNumber ) ) ) ) ) )
-            	    // InternalReportDSL.g:2753:5: {...}? => ( ({...}? => (otherlv_32= 'margin-top' ( (lv_marginTopValue_33_0= ruleUnsignedNumber ) ) ) ) )
+            	    // InternalReportDSL.g:2786:4: ({...}? => ( ({...}? => (otherlv_32= 'padding-right' ( (lv_paddingRightValue_33_0= ruleUnsignedNumber ) ) ) ) ) )
+            	    // InternalReportDSL.g:2787:5: {...}? => ( ({...}? => (otherlv_32= 'padding-right' ( (lv_paddingRightValue_33_0= ruleUnsignedNumber ) ) ) ) )
             	    {
             	    if ( ! getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 13) ) {
             	        if (state.backtracking>0) {state.failed=true; return current;}
             	        throw new FailedPredicateException(input, "ruleMediaStyle", "getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 13)");
             	    }
-            	    // InternalReportDSL.g:2753:108: ( ({...}? => (otherlv_32= 'margin-top' ( (lv_marginTopValue_33_0= ruleUnsignedNumber ) ) ) ) )
-            	    // InternalReportDSL.g:2754:6: ({...}? => (otherlv_32= 'margin-top' ( (lv_marginTopValue_33_0= ruleUnsignedNumber ) ) ) )
+            	    // InternalReportDSL.g:2787:108: ( ({...}? => (otherlv_32= 'padding-right' ( (lv_paddingRightValue_33_0= ruleUnsignedNumber ) ) ) ) )
+            	    // InternalReportDSL.g:2788:6: ({...}? => (otherlv_32= 'padding-right' ( (lv_paddingRightValue_33_0= ruleUnsignedNumber ) ) ) )
             	    {
             	    getUnorderedGroupHelper().select(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 13);
-            	    // InternalReportDSL.g:2757:9: ({...}? => (otherlv_32= 'margin-top' ( (lv_marginTopValue_33_0= ruleUnsignedNumber ) ) ) )
-            	    // InternalReportDSL.g:2757:10: {...}? => (otherlv_32= 'margin-top' ( (lv_marginTopValue_33_0= ruleUnsignedNumber ) ) )
+            	    // InternalReportDSL.g:2791:9: ({...}? => (otherlv_32= 'padding-right' ( (lv_paddingRightValue_33_0= ruleUnsignedNumber ) ) ) )
+            	    // InternalReportDSL.g:2791:10: {...}? => (otherlv_32= 'padding-right' ( (lv_paddingRightValue_33_0= ruleUnsignedNumber ) ) )
             	    {
             	    if ( !((true)) ) {
             	        if (state.backtracking>0) {state.failed=true; return current;}
             	        throw new FailedPredicateException(input, "ruleMediaStyle", "true");
             	    }
-            	    // InternalReportDSL.g:2757:19: (otherlv_32= 'margin-top' ( (lv_marginTopValue_33_0= ruleUnsignedNumber ) ) )
-            	    // InternalReportDSL.g:2757:20: otherlv_32= 'margin-top' ( (lv_marginTopValue_33_0= ruleUnsignedNumber ) )
+            	    // InternalReportDSL.g:2791:19: (otherlv_32= 'padding-right' ( (lv_paddingRightValue_33_0= ruleUnsignedNumber ) ) )
+            	    // InternalReportDSL.g:2791:20: otherlv_32= 'padding-right' ( (lv_paddingRightValue_33_0= ruleUnsignedNumber ) )
             	    {
             	    otherlv_32=(Token)match(input,57,FOLLOW_28); if (state.failed) return current;
             	    if ( state.backtracking==0 ) {
 
-            	      									newLeafNode(otherlv_32, grammarAccess.getMediaStyleAccess().getMarginTopKeyword_3_13_0());
+            	      									newLeafNode(otherlv_32, grammarAccess.getMediaStyleAccess().getPaddingRightKeyword_3_13_0());
             	      								
             	    }
-            	    // InternalReportDSL.g:2761:9: ( (lv_marginTopValue_33_0= ruleUnsignedNumber ) )
-            	    // InternalReportDSL.g:2762:10: (lv_marginTopValue_33_0= ruleUnsignedNumber )
+            	    // InternalReportDSL.g:2795:9: ( (lv_paddingRightValue_33_0= ruleUnsignedNumber ) )
+            	    // InternalReportDSL.g:2796:10: (lv_paddingRightValue_33_0= ruleUnsignedNumber )
             	    {
-            	    // InternalReportDSL.g:2762:10: (lv_marginTopValue_33_0= ruleUnsignedNumber )
-            	    // InternalReportDSL.g:2763:11: lv_marginTopValue_33_0= ruleUnsignedNumber
+            	    // InternalReportDSL.g:2796:10: (lv_paddingRightValue_33_0= ruleUnsignedNumber )
+            	    // InternalReportDSL.g:2797:11: lv_paddingRightValue_33_0= ruleUnsignedNumber
             	    {
             	    if ( state.backtracking==0 ) {
 
-            	      											newCompositeNode(grammarAccess.getMediaStyleAccess().getMarginTopValueUnsignedNumberParserRuleCall_3_13_1_0());
+            	      											newCompositeNode(grammarAccess.getMediaStyleAccess().getPaddingRightValueUnsignedNumberParserRuleCall_3_13_1_0());
             	      										
             	    }
-            	    pushFollow(FOLLOW_47);
-            	    lv_marginTopValue_33_0=ruleUnsignedNumber();
+            	    pushFollow(FOLLOW_49);
+            	    lv_paddingRightValue_33_0=ruleUnsignedNumber();
 
             	    state._fsp--;
             	    if (state.failed) return current;
@@ -7343,8 +7446,8 @@
             	      											}
             	      											set(
             	      												current,
-            	      												"marginTopValue",
-            	      												lv_marginTopValue_33_0,
+            	      												"paddingRightValue",
+            	      												lv_paddingRightValue_33_0,
             	      												"org.eclipse.osbp.xtext.reportdsl.ReportDSL.UnsignedNumber");
             	      											afterParserOrEnumRuleCall();
             	      										
@@ -7372,48 +7475,48 @@
             	    }
             	    break;
             	case 15 :
-            	    // InternalReportDSL.g:2786:4: ({...}? => ( ({...}? => (otherlv_34= 'margin-bottom' ( (lv_marginBottomValue_35_0= ruleUnsignedNumber ) ) ) ) ) )
+            	    // InternalReportDSL.g:2820:4: ({...}? => ( ({...}? => (otherlv_34= 'margin-top' ( (lv_marginTopValue_35_0= ruleUnsignedNumber ) ) ) ) ) )
             	    {
-            	    // InternalReportDSL.g:2786:4: ({...}? => ( ({...}? => (otherlv_34= 'margin-bottom' ( (lv_marginBottomValue_35_0= ruleUnsignedNumber ) ) ) ) ) )
-            	    // InternalReportDSL.g:2787:5: {...}? => ( ({...}? => (otherlv_34= 'margin-bottom' ( (lv_marginBottomValue_35_0= ruleUnsignedNumber ) ) ) ) )
+            	    // InternalReportDSL.g:2820:4: ({...}? => ( ({...}? => (otherlv_34= 'margin-top' ( (lv_marginTopValue_35_0= ruleUnsignedNumber ) ) ) ) ) )
+            	    // InternalReportDSL.g:2821:5: {...}? => ( ({...}? => (otherlv_34= 'margin-top' ( (lv_marginTopValue_35_0= ruleUnsignedNumber ) ) ) ) )
             	    {
             	    if ( ! getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 14) ) {
             	        if (state.backtracking>0) {state.failed=true; return current;}
             	        throw new FailedPredicateException(input, "ruleMediaStyle", "getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 14)");
             	    }
-            	    // InternalReportDSL.g:2787:108: ( ({...}? => (otherlv_34= 'margin-bottom' ( (lv_marginBottomValue_35_0= ruleUnsignedNumber ) ) ) ) )
-            	    // InternalReportDSL.g:2788:6: ({...}? => (otherlv_34= 'margin-bottom' ( (lv_marginBottomValue_35_0= ruleUnsignedNumber ) ) ) )
+            	    // InternalReportDSL.g:2821:108: ( ({...}? => (otherlv_34= 'margin-top' ( (lv_marginTopValue_35_0= ruleUnsignedNumber ) ) ) ) )
+            	    // InternalReportDSL.g:2822:6: ({...}? => (otherlv_34= 'margin-top' ( (lv_marginTopValue_35_0= ruleUnsignedNumber ) ) ) )
             	    {
             	    getUnorderedGroupHelper().select(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 14);
-            	    // InternalReportDSL.g:2791:9: ({...}? => (otherlv_34= 'margin-bottom' ( (lv_marginBottomValue_35_0= ruleUnsignedNumber ) ) ) )
-            	    // InternalReportDSL.g:2791:10: {...}? => (otherlv_34= 'margin-bottom' ( (lv_marginBottomValue_35_0= ruleUnsignedNumber ) ) )
+            	    // InternalReportDSL.g:2825:9: ({...}? => (otherlv_34= 'margin-top' ( (lv_marginTopValue_35_0= ruleUnsignedNumber ) ) ) )
+            	    // InternalReportDSL.g:2825:10: {...}? => (otherlv_34= 'margin-top' ( (lv_marginTopValue_35_0= ruleUnsignedNumber ) ) )
             	    {
             	    if ( !((true)) ) {
             	        if (state.backtracking>0) {state.failed=true; return current;}
             	        throw new FailedPredicateException(input, "ruleMediaStyle", "true");
             	    }
-            	    // InternalReportDSL.g:2791:19: (otherlv_34= 'margin-bottom' ( (lv_marginBottomValue_35_0= ruleUnsignedNumber ) ) )
-            	    // InternalReportDSL.g:2791:20: otherlv_34= 'margin-bottom' ( (lv_marginBottomValue_35_0= ruleUnsignedNumber ) )
+            	    // InternalReportDSL.g:2825:19: (otherlv_34= 'margin-top' ( (lv_marginTopValue_35_0= ruleUnsignedNumber ) ) )
+            	    // InternalReportDSL.g:2825:20: otherlv_34= 'margin-top' ( (lv_marginTopValue_35_0= ruleUnsignedNumber ) )
             	    {
             	    otherlv_34=(Token)match(input,58,FOLLOW_28); if (state.failed) return current;
             	    if ( state.backtracking==0 ) {
 
-            	      									newLeafNode(otherlv_34, grammarAccess.getMediaStyleAccess().getMarginBottomKeyword_3_14_0());
+            	      									newLeafNode(otherlv_34, grammarAccess.getMediaStyleAccess().getMarginTopKeyword_3_14_0());
             	      								
             	    }
-            	    // InternalReportDSL.g:2795:9: ( (lv_marginBottomValue_35_0= ruleUnsignedNumber ) )
-            	    // InternalReportDSL.g:2796:10: (lv_marginBottomValue_35_0= ruleUnsignedNumber )
+            	    // InternalReportDSL.g:2829:9: ( (lv_marginTopValue_35_0= ruleUnsignedNumber ) )
+            	    // InternalReportDSL.g:2830:10: (lv_marginTopValue_35_0= ruleUnsignedNumber )
             	    {
-            	    // InternalReportDSL.g:2796:10: (lv_marginBottomValue_35_0= ruleUnsignedNumber )
-            	    // InternalReportDSL.g:2797:11: lv_marginBottomValue_35_0= ruleUnsignedNumber
+            	    // InternalReportDSL.g:2830:10: (lv_marginTopValue_35_0= ruleUnsignedNumber )
+            	    // InternalReportDSL.g:2831:11: lv_marginTopValue_35_0= ruleUnsignedNumber
             	    {
             	    if ( state.backtracking==0 ) {
 
-            	      											newCompositeNode(grammarAccess.getMediaStyleAccess().getMarginBottomValueUnsignedNumberParserRuleCall_3_14_1_0());
+            	      											newCompositeNode(grammarAccess.getMediaStyleAccess().getMarginTopValueUnsignedNumberParserRuleCall_3_14_1_0());
             	      										
             	    }
-            	    pushFollow(FOLLOW_47);
-            	    lv_marginBottomValue_35_0=ruleUnsignedNumber();
+            	    pushFollow(FOLLOW_49);
+            	    lv_marginTopValue_35_0=ruleUnsignedNumber();
 
             	    state._fsp--;
             	    if (state.failed) return current;
@@ -7424,8 +7527,8 @@
             	      											}
             	      											set(
             	      												current,
-            	      												"marginBottomValue",
-            	      												lv_marginBottomValue_35_0,
+            	      												"marginTopValue",
+            	      												lv_marginTopValue_35_0,
             	      												"org.eclipse.osbp.xtext.reportdsl.ReportDSL.UnsignedNumber");
             	      											afterParserOrEnumRuleCall();
             	      										
@@ -7453,48 +7556,48 @@
             	    }
             	    break;
             	case 16 :
-            	    // InternalReportDSL.g:2820:4: ({...}? => ( ({...}? => (otherlv_36= 'margin-left' ( (lv_marginLeftValue_37_0= ruleUnsignedNumber ) ) ) ) ) )
+            	    // InternalReportDSL.g:2854:4: ({...}? => ( ({...}? => (otherlv_36= 'margin-bottom' ( (lv_marginBottomValue_37_0= ruleUnsignedNumber ) ) ) ) ) )
             	    {
-            	    // InternalReportDSL.g:2820:4: ({...}? => ( ({...}? => (otherlv_36= 'margin-left' ( (lv_marginLeftValue_37_0= ruleUnsignedNumber ) ) ) ) ) )
-            	    // InternalReportDSL.g:2821:5: {...}? => ( ({...}? => (otherlv_36= 'margin-left' ( (lv_marginLeftValue_37_0= ruleUnsignedNumber ) ) ) ) )
+            	    // InternalReportDSL.g:2854:4: ({...}? => ( ({...}? => (otherlv_36= 'margin-bottom' ( (lv_marginBottomValue_37_0= ruleUnsignedNumber ) ) ) ) ) )
+            	    // InternalReportDSL.g:2855:5: {...}? => ( ({...}? => (otherlv_36= 'margin-bottom' ( (lv_marginBottomValue_37_0= ruleUnsignedNumber ) ) ) ) )
             	    {
             	    if ( ! getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 15) ) {
             	        if (state.backtracking>0) {state.failed=true; return current;}
             	        throw new FailedPredicateException(input, "ruleMediaStyle", "getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 15)");
             	    }
-            	    // InternalReportDSL.g:2821:108: ( ({...}? => (otherlv_36= 'margin-left' ( (lv_marginLeftValue_37_0= ruleUnsignedNumber ) ) ) ) )
-            	    // InternalReportDSL.g:2822:6: ({...}? => (otherlv_36= 'margin-left' ( (lv_marginLeftValue_37_0= ruleUnsignedNumber ) ) ) )
+            	    // InternalReportDSL.g:2855:108: ( ({...}? => (otherlv_36= 'margin-bottom' ( (lv_marginBottomValue_37_0= ruleUnsignedNumber ) ) ) ) )
+            	    // InternalReportDSL.g:2856:6: ({...}? => (otherlv_36= 'margin-bottom' ( (lv_marginBottomValue_37_0= ruleUnsignedNumber ) ) ) )
             	    {
             	    getUnorderedGroupHelper().select(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 15);
-            	    // InternalReportDSL.g:2825:9: ({...}? => (otherlv_36= 'margin-left' ( (lv_marginLeftValue_37_0= ruleUnsignedNumber ) ) ) )
-            	    // InternalReportDSL.g:2825:10: {...}? => (otherlv_36= 'margin-left' ( (lv_marginLeftValue_37_0= ruleUnsignedNumber ) ) )
+            	    // InternalReportDSL.g:2859:9: ({...}? => (otherlv_36= 'margin-bottom' ( (lv_marginBottomValue_37_0= ruleUnsignedNumber ) ) ) )
+            	    // InternalReportDSL.g:2859:10: {...}? => (otherlv_36= 'margin-bottom' ( (lv_marginBottomValue_37_0= ruleUnsignedNumber ) ) )
             	    {
             	    if ( !((true)) ) {
             	        if (state.backtracking>0) {state.failed=true; return current;}
             	        throw new FailedPredicateException(input, "ruleMediaStyle", "true");
             	    }
-            	    // InternalReportDSL.g:2825:19: (otherlv_36= 'margin-left' ( (lv_marginLeftValue_37_0= ruleUnsignedNumber ) ) )
-            	    // InternalReportDSL.g:2825:20: otherlv_36= 'margin-left' ( (lv_marginLeftValue_37_0= ruleUnsignedNumber ) )
+            	    // InternalReportDSL.g:2859:19: (otherlv_36= 'margin-bottom' ( (lv_marginBottomValue_37_0= ruleUnsignedNumber ) ) )
+            	    // InternalReportDSL.g:2859:20: otherlv_36= 'margin-bottom' ( (lv_marginBottomValue_37_0= ruleUnsignedNumber ) )
             	    {
             	    otherlv_36=(Token)match(input,59,FOLLOW_28); if (state.failed) return current;
             	    if ( state.backtracking==0 ) {
 
-            	      									newLeafNode(otherlv_36, grammarAccess.getMediaStyleAccess().getMarginLeftKeyword_3_15_0());
+            	      									newLeafNode(otherlv_36, grammarAccess.getMediaStyleAccess().getMarginBottomKeyword_3_15_0());
             	      								
             	    }
-            	    // InternalReportDSL.g:2829:9: ( (lv_marginLeftValue_37_0= ruleUnsignedNumber ) )
-            	    // InternalReportDSL.g:2830:10: (lv_marginLeftValue_37_0= ruleUnsignedNumber )
+            	    // InternalReportDSL.g:2863:9: ( (lv_marginBottomValue_37_0= ruleUnsignedNumber ) )
+            	    // InternalReportDSL.g:2864:10: (lv_marginBottomValue_37_0= ruleUnsignedNumber )
             	    {
-            	    // InternalReportDSL.g:2830:10: (lv_marginLeftValue_37_0= ruleUnsignedNumber )
-            	    // InternalReportDSL.g:2831:11: lv_marginLeftValue_37_0= ruleUnsignedNumber
+            	    // InternalReportDSL.g:2864:10: (lv_marginBottomValue_37_0= ruleUnsignedNumber )
+            	    // InternalReportDSL.g:2865:11: lv_marginBottomValue_37_0= ruleUnsignedNumber
             	    {
             	    if ( state.backtracking==0 ) {
 
-            	      											newCompositeNode(grammarAccess.getMediaStyleAccess().getMarginLeftValueUnsignedNumberParserRuleCall_3_15_1_0());
+            	      											newCompositeNode(grammarAccess.getMediaStyleAccess().getMarginBottomValueUnsignedNumberParserRuleCall_3_15_1_0());
             	      										
             	    }
-            	    pushFollow(FOLLOW_47);
-            	    lv_marginLeftValue_37_0=ruleUnsignedNumber();
+            	    pushFollow(FOLLOW_49);
+            	    lv_marginBottomValue_37_0=ruleUnsignedNumber();
 
             	    state._fsp--;
             	    if (state.failed) return current;
@@ -7505,8 +7608,8 @@
             	      											}
             	      											set(
             	      												current,
-            	      												"marginLeftValue",
-            	      												lv_marginLeftValue_37_0,
+            	      												"marginBottomValue",
+            	      												lv_marginBottomValue_37_0,
             	      												"org.eclipse.osbp.xtext.reportdsl.ReportDSL.UnsignedNumber");
             	      											afterParserOrEnumRuleCall();
             	      										
@@ -7534,48 +7637,129 @@
             	    }
             	    break;
             	case 17 :
-            	    // InternalReportDSL.g:2854:4: ({...}? => ( ({...}? => (otherlv_38= 'margin-right' ( (lv_marginRightValue_39_0= ruleUnsignedNumber ) ) ) ) ) )
+            	    // InternalReportDSL.g:2888:4: ({...}? => ( ({...}? => (otherlv_38= 'margin-left' ( (lv_marginLeftValue_39_0= ruleUnsignedNumber ) ) ) ) ) )
             	    {
-            	    // InternalReportDSL.g:2854:4: ({...}? => ( ({...}? => (otherlv_38= 'margin-right' ( (lv_marginRightValue_39_0= ruleUnsignedNumber ) ) ) ) ) )
-            	    // InternalReportDSL.g:2855:5: {...}? => ( ({...}? => (otherlv_38= 'margin-right' ( (lv_marginRightValue_39_0= ruleUnsignedNumber ) ) ) ) )
+            	    // InternalReportDSL.g:2888:4: ({...}? => ( ({...}? => (otherlv_38= 'margin-left' ( (lv_marginLeftValue_39_0= ruleUnsignedNumber ) ) ) ) ) )
+            	    // InternalReportDSL.g:2889:5: {...}? => ( ({...}? => (otherlv_38= 'margin-left' ( (lv_marginLeftValue_39_0= ruleUnsignedNumber ) ) ) ) )
             	    {
             	    if ( ! getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 16) ) {
             	        if (state.backtracking>0) {state.failed=true; return current;}
             	        throw new FailedPredicateException(input, "ruleMediaStyle", "getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 16)");
             	    }
-            	    // InternalReportDSL.g:2855:108: ( ({...}? => (otherlv_38= 'margin-right' ( (lv_marginRightValue_39_0= ruleUnsignedNumber ) ) ) ) )
-            	    // InternalReportDSL.g:2856:6: ({...}? => (otherlv_38= 'margin-right' ( (lv_marginRightValue_39_0= ruleUnsignedNumber ) ) ) )
+            	    // InternalReportDSL.g:2889:108: ( ({...}? => (otherlv_38= 'margin-left' ( (lv_marginLeftValue_39_0= ruleUnsignedNumber ) ) ) ) )
+            	    // InternalReportDSL.g:2890:6: ({...}? => (otherlv_38= 'margin-left' ( (lv_marginLeftValue_39_0= ruleUnsignedNumber ) ) ) )
             	    {
             	    getUnorderedGroupHelper().select(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 16);
-            	    // InternalReportDSL.g:2859:9: ({...}? => (otherlv_38= 'margin-right' ( (lv_marginRightValue_39_0= ruleUnsignedNumber ) ) ) )
-            	    // InternalReportDSL.g:2859:10: {...}? => (otherlv_38= 'margin-right' ( (lv_marginRightValue_39_0= ruleUnsignedNumber ) ) )
+            	    // InternalReportDSL.g:2893:9: ({...}? => (otherlv_38= 'margin-left' ( (lv_marginLeftValue_39_0= ruleUnsignedNumber ) ) ) )
+            	    // InternalReportDSL.g:2893:10: {...}? => (otherlv_38= 'margin-left' ( (lv_marginLeftValue_39_0= ruleUnsignedNumber ) ) )
             	    {
             	    if ( !((true)) ) {
             	        if (state.backtracking>0) {state.failed=true; return current;}
             	        throw new FailedPredicateException(input, "ruleMediaStyle", "true");
             	    }
-            	    // InternalReportDSL.g:2859:19: (otherlv_38= 'margin-right' ( (lv_marginRightValue_39_0= ruleUnsignedNumber ) ) )
-            	    // InternalReportDSL.g:2859:20: otherlv_38= 'margin-right' ( (lv_marginRightValue_39_0= ruleUnsignedNumber ) )
+            	    // InternalReportDSL.g:2893:19: (otherlv_38= 'margin-left' ( (lv_marginLeftValue_39_0= ruleUnsignedNumber ) ) )
+            	    // InternalReportDSL.g:2893:20: otherlv_38= 'margin-left' ( (lv_marginLeftValue_39_0= ruleUnsignedNumber ) )
             	    {
             	    otherlv_38=(Token)match(input,60,FOLLOW_28); if (state.failed) return current;
             	    if ( state.backtracking==0 ) {
 
-            	      									newLeafNode(otherlv_38, grammarAccess.getMediaStyleAccess().getMarginRightKeyword_3_16_0());
+            	      									newLeafNode(otherlv_38, grammarAccess.getMediaStyleAccess().getMarginLeftKeyword_3_16_0());
             	      								
             	    }
-            	    // InternalReportDSL.g:2863:9: ( (lv_marginRightValue_39_0= ruleUnsignedNumber ) )
-            	    // InternalReportDSL.g:2864:10: (lv_marginRightValue_39_0= ruleUnsignedNumber )
+            	    // InternalReportDSL.g:2897:9: ( (lv_marginLeftValue_39_0= ruleUnsignedNumber ) )
+            	    // InternalReportDSL.g:2898:10: (lv_marginLeftValue_39_0= ruleUnsignedNumber )
             	    {
-            	    // InternalReportDSL.g:2864:10: (lv_marginRightValue_39_0= ruleUnsignedNumber )
-            	    // InternalReportDSL.g:2865:11: lv_marginRightValue_39_0= ruleUnsignedNumber
+            	    // InternalReportDSL.g:2898:10: (lv_marginLeftValue_39_0= ruleUnsignedNumber )
+            	    // InternalReportDSL.g:2899:11: lv_marginLeftValue_39_0= ruleUnsignedNumber
             	    {
             	    if ( state.backtracking==0 ) {
 
-            	      											newCompositeNode(grammarAccess.getMediaStyleAccess().getMarginRightValueUnsignedNumberParserRuleCall_3_16_1_0());
+            	      											newCompositeNode(grammarAccess.getMediaStyleAccess().getMarginLeftValueUnsignedNumberParserRuleCall_3_16_1_0());
             	      										
             	    }
-            	    pushFollow(FOLLOW_47);
-            	    lv_marginRightValue_39_0=ruleUnsignedNumber();
+            	    pushFollow(FOLLOW_49);
+            	    lv_marginLeftValue_39_0=ruleUnsignedNumber();
+
+            	    state._fsp--;
+            	    if (state.failed) return current;
+            	    if ( state.backtracking==0 ) {
+
+            	      											if (current==null) {
+            	      												current = createModelElementForParent(grammarAccess.getMediaStyleRule());
+            	      											}
+            	      											set(
+            	      												current,
+            	      												"marginLeftValue",
+            	      												lv_marginLeftValue_39_0,
+            	      												"org.eclipse.osbp.xtext.reportdsl.ReportDSL.UnsignedNumber");
+            	      											afterParserOrEnumRuleCall();
+            	      										
+            	    }
+
+            	    }
+
+
+            	    }
+
+
+            	    }
+
+
+            	    }
+
+            	    getUnorderedGroupHelper().returnFromSelection(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3());
+
+            	    }
+
+
+            	    }
+
+
+            	    }
+            	    break;
+            	case 18 :
+            	    // InternalReportDSL.g:2922:4: ({...}? => ( ({...}? => (otherlv_40= 'margin-right' ( (lv_marginRightValue_41_0= ruleUnsignedNumber ) ) ) ) ) )
+            	    {
+            	    // InternalReportDSL.g:2922:4: ({...}? => ( ({...}? => (otherlv_40= 'margin-right' ( (lv_marginRightValue_41_0= ruleUnsignedNumber ) ) ) ) ) )
+            	    // InternalReportDSL.g:2923:5: {...}? => ( ({...}? => (otherlv_40= 'margin-right' ( (lv_marginRightValue_41_0= ruleUnsignedNumber ) ) ) ) )
+            	    {
+            	    if ( ! getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 17) ) {
+            	        if (state.backtracking>0) {state.failed=true; return current;}
+            	        throw new FailedPredicateException(input, "ruleMediaStyle", "getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 17)");
+            	    }
+            	    // InternalReportDSL.g:2923:108: ( ({...}? => (otherlv_40= 'margin-right' ( (lv_marginRightValue_41_0= ruleUnsignedNumber ) ) ) ) )
+            	    // InternalReportDSL.g:2924:6: ({...}? => (otherlv_40= 'margin-right' ( (lv_marginRightValue_41_0= ruleUnsignedNumber ) ) ) )
+            	    {
+            	    getUnorderedGroupHelper().select(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 17);
+            	    // InternalReportDSL.g:2927:9: ({...}? => (otherlv_40= 'margin-right' ( (lv_marginRightValue_41_0= ruleUnsignedNumber ) ) ) )
+            	    // InternalReportDSL.g:2927:10: {...}? => (otherlv_40= 'margin-right' ( (lv_marginRightValue_41_0= ruleUnsignedNumber ) ) )
+            	    {
+            	    if ( !((true)) ) {
+            	        if (state.backtracking>0) {state.failed=true; return current;}
+            	        throw new FailedPredicateException(input, "ruleMediaStyle", "true");
+            	    }
+            	    // InternalReportDSL.g:2927:19: (otherlv_40= 'margin-right' ( (lv_marginRightValue_41_0= ruleUnsignedNumber ) ) )
+            	    // InternalReportDSL.g:2927:20: otherlv_40= 'margin-right' ( (lv_marginRightValue_41_0= ruleUnsignedNumber ) )
+            	    {
+            	    otherlv_40=(Token)match(input,61,FOLLOW_28); if (state.failed) return current;
+            	    if ( state.backtracking==0 ) {
+
+            	      									newLeafNode(otherlv_40, grammarAccess.getMediaStyleAccess().getMarginRightKeyword_3_17_0());
+            	      								
+            	    }
+            	    // InternalReportDSL.g:2931:9: ( (lv_marginRightValue_41_0= ruleUnsignedNumber ) )
+            	    // InternalReportDSL.g:2932:10: (lv_marginRightValue_41_0= ruleUnsignedNumber )
+            	    {
+            	    // InternalReportDSL.g:2932:10: (lv_marginRightValue_41_0= ruleUnsignedNumber )
+            	    // InternalReportDSL.g:2933:11: lv_marginRightValue_41_0= ruleUnsignedNumber
+            	    {
+            	    if ( state.backtracking==0 ) {
+
+            	      											newCompositeNode(grammarAccess.getMediaStyleAccess().getMarginRightValueUnsignedNumberParserRuleCall_3_17_1_0());
+            	      										
+            	    }
+            	    pushFollow(FOLLOW_49);
+            	    lv_marginRightValue_41_0=ruleUnsignedNumber();
 
             	    state._fsp--;
             	    if (state.failed) return current;
@@ -7587,7 +7771,7 @@
             	      											set(
             	      												current,
             	      												"marginRightValue",
-            	      												lv_marginRightValue_39_0,
+            	      												lv_marginRightValue_41_0,
             	      												"org.eclipse.osbp.xtext.reportdsl.ReportDSL.UnsignedNumber");
             	      											afterParserOrEnumRuleCall();
             	      										
@@ -7616,7 +7800,7 @@
             	    break;
 
             	default :
-            	    break loop24;
+            	    break loop25;
                 }
             } while (true);
 
@@ -7630,10 +7814,10 @@
 
             }
 
-            otherlv_40=(Token)match(input,18,FOLLOW_2); if (state.failed) return current;
+            otherlv_42=(Token)match(input,18,FOLLOW_2); if (state.failed) return current;
             if ( state.backtracking==0 ) {
 
-              			newLeafNode(otherlv_40, grammarAccess.getMediaStyleAccess().getRightCurlyBracketKeyword_4());
+              			newLeafNode(otherlv_42, grammarAccess.getMediaStyleAccess().getRightCurlyBracketKeyword_4());
               		
             }
 
@@ -7661,7 +7845,7 @@
 
 
     // $ANTLR start "entryRuleSomeFormat"
-    // InternalReportDSL.g:2903:1: entryRuleSomeFormat returns [EObject current=null] : iv_ruleSomeFormat= ruleSomeFormat EOF ;
+    // InternalReportDSL.g:2971:1: entryRuleSomeFormat returns [EObject current=null] : iv_ruleSomeFormat= ruleSomeFormat EOF ;
     public final EObject entryRuleSomeFormat() throws RecognitionException {
         EObject current = null;
 
@@ -7669,8 +7853,8 @@
 
 
         try {
-            // InternalReportDSL.g:2903:51: (iv_ruleSomeFormat= ruleSomeFormat EOF )
-            // InternalReportDSL.g:2904:2: iv_ruleSomeFormat= ruleSomeFormat EOF
+            // InternalReportDSL.g:2971:51: (iv_ruleSomeFormat= ruleSomeFormat EOF )
+            // InternalReportDSL.g:2972:2: iv_ruleSomeFormat= ruleSomeFormat EOF
             {
             if ( state.backtracking==0 ) {
                newCompositeNode(grammarAccess.getSomeFormatRule()); 
@@ -7701,7 +7885,7 @@
 
 
     // $ANTLR start "ruleSomeFormat"
-    // InternalReportDSL.g:2910:1: ruleSomeFormat returns [EObject current=null] : (this_UomoFormat_0= ruleUomoFormat | this_NumberFormat_1= ruleNumberFormat | this_CurrencyFormat_2= ruleCurrencyFormat | this_DateFormat_3= ruleDateFormat | this_DateTimeFormat_4= ruleDateTimeFormat | this_TimeFormat_5= ruleTimeFormat ) ;
+    // InternalReportDSL.g:2978:1: ruleSomeFormat returns [EObject current=null] : (this_UomoFormat_0= ruleUomoFormat | this_NumberFormat_1= ruleNumberFormat | this_CurrencyFormat_2= ruleCurrencyFormat | this_DateFormat_3= ruleDateFormat | this_DateTimeFormat_4= ruleDateTimeFormat | this_TimeFormat_5= ruleTimeFormat ) ;
     public final EObject ruleSomeFormat() throws RecognitionException {
         EObject current = null;
 
@@ -7722,53 +7906,53 @@
         	enterRule();
 
         try {
-            // InternalReportDSL.g:2916:2: ( (this_UomoFormat_0= ruleUomoFormat | this_NumberFormat_1= ruleNumberFormat | this_CurrencyFormat_2= ruleCurrencyFormat | this_DateFormat_3= ruleDateFormat | this_DateTimeFormat_4= ruleDateTimeFormat | this_TimeFormat_5= ruleTimeFormat ) )
-            // InternalReportDSL.g:2917:2: (this_UomoFormat_0= ruleUomoFormat | this_NumberFormat_1= ruleNumberFormat | this_CurrencyFormat_2= ruleCurrencyFormat | this_DateFormat_3= ruleDateFormat | this_DateTimeFormat_4= ruleDateTimeFormat | this_TimeFormat_5= ruleTimeFormat )
+            // InternalReportDSL.g:2984:2: ( (this_UomoFormat_0= ruleUomoFormat | this_NumberFormat_1= ruleNumberFormat | this_CurrencyFormat_2= ruleCurrencyFormat | this_DateFormat_3= ruleDateFormat | this_DateTimeFormat_4= ruleDateTimeFormat | this_TimeFormat_5= ruleTimeFormat ) )
+            // InternalReportDSL.g:2985:2: (this_UomoFormat_0= ruleUomoFormat | this_NumberFormat_1= ruleNumberFormat | this_CurrencyFormat_2= ruleCurrencyFormat | this_DateFormat_3= ruleDateFormat | this_DateTimeFormat_4= ruleDateTimeFormat | this_TimeFormat_5= ruleTimeFormat )
             {
-            // InternalReportDSL.g:2917:2: (this_UomoFormat_0= ruleUomoFormat | this_NumberFormat_1= ruleNumberFormat | this_CurrencyFormat_2= ruleCurrencyFormat | this_DateFormat_3= ruleDateFormat | this_DateTimeFormat_4= ruleDateTimeFormat | this_TimeFormat_5= ruleTimeFormat )
-            int alt25=6;
+            // InternalReportDSL.g:2985:2: (this_UomoFormat_0= ruleUomoFormat | this_NumberFormat_1= ruleNumberFormat | this_CurrencyFormat_2= ruleCurrencyFormat | this_DateFormat_3= ruleDateFormat | this_DateTimeFormat_4= ruleDateTimeFormat | this_TimeFormat_5= ruleTimeFormat )
+            int alt26=6;
             switch ( input.LA(1) ) {
-            case 61:
+            case 62:
                 {
-                alt25=1;
-                }
-                break;
-            case 64:
-                {
-                alt25=2;
+                alt26=1;
                 }
                 break;
             case 65:
                 {
-                alt25=3;
+                alt26=2;
                 }
                 break;
             case 66:
                 {
-                alt25=4;
+                alt26=3;
                 }
                 break;
             case 67:
                 {
-                alt25=5;
+                alt26=4;
                 }
                 break;
             case 68:
                 {
-                alt25=6;
+                alt26=5;
+                }
+                break;
+            case 69:
+                {
+                alt26=6;
                 }
                 break;
             default:
                 if (state.backtracking>0) {state.failed=true; return current;}
                 NoViableAltException nvae =
-                    new NoViableAltException("", 25, 0, input);
+                    new NoViableAltException("", 26, 0, input);
 
                 throw nvae;
             }
 
-            switch (alt25) {
+            switch (alt26) {
                 case 1 :
-                    // InternalReportDSL.g:2918:3: this_UomoFormat_0= ruleUomoFormat
+                    // InternalReportDSL.g:2986:3: this_UomoFormat_0= ruleUomoFormat
                     {
                     if ( state.backtracking==0 ) {
 
@@ -7790,7 +7974,7 @@
                     }
                     break;
                 case 2 :
-                    // InternalReportDSL.g:2927:3: this_NumberFormat_1= ruleNumberFormat
+                    // InternalReportDSL.g:2995:3: this_NumberFormat_1= ruleNumberFormat
                     {
                     if ( state.backtracking==0 ) {
 
@@ -7812,7 +7996,7 @@
                     }
                     break;
                 case 3 :
-                    // InternalReportDSL.g:2936:3: this_CurrencyFormat_2= ruleCurrencyFormat
+                    // InternalReportDSL.g:3004:3: this_CurrencyFormat_2= ruleCurrencyFormat
                     {
                     if ( state.backtracking==0 ) {
 
@@ -7834,7 +8018,7 @@
                     }
                     break;
                 case 4 :
-                    // InternalReportDSL.g:2945:3: this_DateFormat_3= ruleDateFormat
+                    // InternalReportDSL.g:3013:3: this_DateFormat_3= ruleDateFormat
                     {
                     if ( state.backtracking==0 ) {
 
@@ -7856,7 +8040,7 @@
                     }
                     break;
                 case 5 :
-                    // InternalReportDSL.g:2954:3: this_DateTimeFormat_4= ruleDateTimeFormat
+                    // InternalReportDSL.g:3022:3: this_DateTimeFormat_4= ruleDateTimeFormat
                     {
                     if ( state.backtracking==0 ) {
 
@@ -7878,7 +8062,7 @@
                     }
                     break;
                 case 6 :
-                    // InternalReportDSL.g:2963:3: this_TimeFormat_5= ruleTimeFormat
+                    // InternalReportDSL.g:3031:3: this_TimeFormat_5= ruleTimeFormat
                     {
                     if ( state.backtracking==0 ) {
 
@@ -7924,7 +8108,7 @@
 
 
     // $ANTLR start "entryRuleUomoFormat"
-    // InternalReportDSL.g:2975:1: entryRuleUomoFormat returns [EObject current=null] : iv_ruleUomoFormat= ruleUomoFormat EOF ;
+    // InternalReportDSL.g:3043:1: entryRuleUomoFormat returns [EObject current=null] : iv_ruleUomoFormat= ruleUomoFormat EOF ;
     public final EObject entryRuleUomoFormat() throws RecognitionException {
         EObject current = null;
 
@@ -7932,8 +8116,8 @@
 
 
         try {
-            // InternalReportDSL.g:2975:51: (iv_ruleUomoFormat= ruleUomoFormat EOF )
-            // InternalReportDSL.g:2976:2: iv_ruleUomoFormat= ruleUomoFormat EOF
+            // InternalReportDSL.g:3043:51: (iv_ruleUomoFormat= ruleUomoFormat EOF )
+            // InternalReportDSL.g:3044:2: iv_ruleUomoFormat= ruleUomoFormat EOF
             {
             if ( state.backtracking==0 ) {
                newCompositeNode(grammarAccess.getUomoFormatRule()); 
@@ -7964,7 +8148,7 @@
 
 
     // $ANTLR start "ruleUomoFormat"
-    // InternalReportDSL.g:2982:1: ruleUomoFormat returns [EObject current=null] : (otherlv_0= 'uomo' ( (lv_name_1_0= RULE_ID ) ) otherlv_2= '{' otherlv_3= 'ui' ( (lv_ui_pattern_4_0= RULE_STRING ) ) otherlv_5= 'report' ( (lv_report_pattern_6_0= RULE_STRING ) ) otherlv_7= 'textalign' ( (lv_textalign_8_0= ruleTextAlignEnum ) ) otherlv_9= '}' ) ;
+    // InternalReportDSL.g:3050:1: ruleUomoFormat returns [EObject current=null] : (otherlv_0= 'uomo' ( (lv_name_1_0= RULE_ID ) ) otherlv_2= '{' otherlv_3= 'ui' ( (lv_ui_pattern_4_0= RULE_STRING ) ) otherlv_5= 'report' ( (lv_report_pattern_6_0= RULE_STRING ) ) otherlv_7= 'textalign' ( (lv_textalign_8_0= ruleTextAlignEnum ) ) otherlv_9= '}' ) ;
     public final EObject ruleUomoFormat() throws RecognitionException {
         EObject current = null;
 
@@ -7984,23 +8168,23 @@
         	enterRule();
 
         try {
-            // InternalReportDSL.g:2988:2: ( (otherlv_0= 'uomo' ( (lv_name_1_0= RULE_ID ) ) otherlv_2= '{' otherlv_3= 'ui' ( (lv_ui_pattern_4_0= RULE_STRING ) ) otherlv_5= 'report' ( (lv_report_pattern_6_0= RULE_STRING ) ) otherlv_7= 'textalign' ( (lv_textalign_8_0= ruleTextAlignEnum ) ) otherlv_9= '}' ) )
-            // InternalReportDSL.g:2989:2: (otherlv_0= 'uomo' ( (lv_name_1_0= RULE_ID ) ) otherlv_2= '{' otherlv_3= 'ui' ( (lv_ui_pattern_4_0= RULE_STRING ) ) otherlv_5= 'report' ( (lv_report_pattern_6_0= RULE_STRING ) ) otherlv_7= 'textalign' ( (lv_textalign_8_0= ruleTextAlignEnum ) ) otherlv_9= '}' )
+            // InternalReportDSL.g:3056:2: ( (otherlv_0= 'uomo' ( (lv_name_1_0= RULE_ID ) ) otherlv_2= '{' otherlv_3= 'ui' ( (lv_ui_pattern_4_0= RULE_STRING ) ) otherlv_5= 'report' ( (lv_report_pattern_6_0= RULE_STRING ) ) otherlv_7= 'textalign' ( (lv_textalign_8_0= ruleTextAlignEnum ) ) otherlv_9= '}' ) )
+            // InternalReportDSL.g:3057:2: (otherlv_0= 'uomo' ( (lv_name_1_0= RULE_ID ) ) otherlv_2= '{' otherlv_3= 'ui' ( (lv_ui_pattern_4_0= RULE_STRING ) ) otherlv_5= 'report' ( (lv_report_pattern_6_0= RULE_STRING ) ) otherlv_7= 'textalign' ( (lv_textalign_8_0= ruleTextAlignEnum ) ) otherlv_9= '}' )
             {
-            // InternalReportDSL.g:2989:2: (otherlv_0= 'uomo' ( (lv_name_1_0= RULE_ID ) ) otherlv_2= '{' otherlv_3= 'ui' ( (lv_ui_pattern_4_0= RULE_STRING ) ) otherlv_5= 'report' ( (lv_report_pattern_6_0= RULE_STRING ) ) otherlv_7= 'textalign' ( (lv_textalign_8_0= ruleTextAlignEnum ) ) otherlv_9= '}' )
-            // InternalReportDSL.g:2990:3: otherlv_0= 'uomo' ( (lv_name_1_0= RULE_ID ) ) otherlv_2= '{' otherlv_3= 'ui' ( (lv_ui_pattern_4_0= RULE_STRING ) ) otherlv_5= 'report' ( (lv_report_pattern_6_0= RULE_STRING ) ) otherlv_7= 'textalign' ( (lv_textalign_8_0= ruleTextAlignEnum ) ) otherlv_9= '}'
+            // InternalReportDSL.g:3057:2: (otherlv_0= 'uomo' ( (lv_name_1_0= RULE_ID ) ) otherlv_2= '{' otherlv_3= 'ui' ( (lv_ui_pattern_4_0= RULE_STRING ) ) otherlv_5= 'report' ( (lv_report_pattern_6_0= RULE_STRING ) ) otherlv_7= 'textalign' ( (lv_textalign_8_0= ruleTextAlignEnum ) ) otherlv_9= '}' )
+            // InternalReportDSL.g:3058:3: otherlv_0= 'uomo' ( (lv_name_1_0= RULE_ID ) ) otherlv_2= '{' otherlv_3= 'ui' ( (lv_ui_pattern_4_0= RULE_STRING ) ) otherlv_5= 'report' ( (lv_report_pattern_6_0= RULE_STRING ) ) otherlv_7= 'textalign' ( (lv_textalign_8_0= ruleTextAlignEnum ) ) otherlv_9= '}'
             {
-            otherlv_0=(Token)match(input,61,FOLLOW_4); if (state.failed) return current;
+            otherlv_0=(Token)match(input,62,FOLLOW_4); if (state.failed) return current;
             if ( state.backtracking==0 ) {
 
               			newLeafNode(otherlv_0, grammarAccess.getUomoFormatAccess().getUomoKeyword_0());
               		
             }
-            // InternalReportDSL.g:2994:3: ( (lv_name_1_0= RULE_ID ) )
-            // InternalReportDSL.g:2995:4: (lv_name_1_0= RULE_ID )
+            // InternalReportDSL.g:3062:3: ( (lv_name_1_0= RULE_ID ) )
+            // InternalReportDSL.g:3063:4: (lv_name_1_0= RULE_ID )
             {
-            // InternalReportDSL.g:2995:4: (lv_name_1_0= RULE_ID )
-            // InternalReportDSL.g:2996:5: lv_name_1_0= RULE_ID
+            // InternalReportDSL.g:3063:4: (lv_name_1_0= RULE_ID )
+            // InternalReportDSL.g:3064:5: lv_name_1_0= RULE_ID
             {
             lv_name_1_0=(Token)match(input,RULE_ID,FOLLOW_5); if (state.failed) return current;
             if ( state.backtracking==0 ) {
@@ -8026,25 +8210,25 @@
 
             }
 
-            otherlv_2=(Token)match(input,14,FOLLOW_49); if (state.failed) return current;
+            otherlv_2=(Token)match(input,14,FOLLOW_51); if (state.failed) return current;
             if ( state.backtracking==0 ) {
 
               			newLeafNode(otherlv_2, grammarAccess.getUomoFormatAccess().getLeftCurlyBracketKeyword_2());
               		
             }
-            otherlv_3=(Token)match(input,62,FOLLOW_8); if (state.failed) return current;
+            otherlv_3=(Token)match(input,63,FOLLOW_8); if (state.failed) return current;
             if ( state.backtracking==0 ) {
 
               			newLeafNode(otherlv_3, grammarAccess.getUomoFormatAccess().getUiKeyword_3());
               		
             }
-            // InternalReportDSL.g:3020:3: ( (lv_ui_pattern_4_0= RULE_STRING ) )
-            // InternalReportDSL.g:3021:4: (lv_ui_pattern_4_0= RULE_STRING )
+            // InternalReportDSL.g:3088:3: ( (lv_ui_pattern_4_0= RULE_STRING ) )
+            // InternalReportDSL.g:3089:4: (lv_ui_pattern_4_0= RULE_STRING )
             {
-            // InternalReportDSL.g:3021:4: (lv_ui_pattern_4_0= RULE_STRING )
-            // InternalReportDSL.g:3022:5: lv_ui_pattern_4_0= RULE_STRING
+            // InternalReportDSL.g:3089:4: (lv_ui_pattern_4_0= RULE_STRING )
+            // InternalReportDSL.g:3090:5: lv_ui_pattern_4_0= RULE_STRING
             {
-            lv_ui_pattern_4_0=(Token)match(input,RULE_STRING,FOLLOW_50); if (state.failed) return current;
+            lv_ui_pattern_4_0=(Token)match(input,RULE_STRING,FOLLOW_52); if (state.failed) return current;
             if ( state.backtracking==0 ) {
 
               					newLeafNode(lv_ui_pattern_4_0, grammarAccess.getUomoFormatAccess().getUi_patternSTRINGTerminalRuleCall_4_0());
@@ -8068,19 +8252,19 @@
 
             }
 
-            otherlv_5=(Token)match(input,63,FOLLOW_8); if (state.failed) return current;
+            otherlv_5=(Token)match(input,64,FOLLOW_8); if (state.failed) return current;
             if ( state.backtracking==0 ) {
 
               			newLeafNode(otherlv_5, grammarAccess.getUomoFormatAccess().getReportKeyword_5());
               		
             }
-            // InternalReportDSL.g:3042:3: ( (lv_report_pattern_6_0= RULE_STRING ) )
-            // InternalReportDSL.g:3043:4: (lv_report_pattern_6_0= RULE_STRING )
+            // InternalReportDSL.g:3110:3: ( (lv_report_pattern_6_0= RULE_STRING ) )
+            // InternalReportDSL.g:3111:4: (lv_report_pattern_6_0= RULE_STRING )
             {
-            // InternalReportDSL.g:3043:4: (lv_report_pattern_6_0= RULE_STRING )
-            // InternalReportDSL.g:3044:5: lv_report_pattern_6_0= RULE_STRING
+            // InternalReportDSL.g:3111:4: (lv_report_pattern_6_0= RULE_STRING )
+            // InternalReportDSL.g:3112:5: lv_report_pattern_6_0= RULE_STRING
             {
-            lv_report_pattern_6_0=(Token)match(input,RULE_STRING,FOLLOW_51); if (state.failed) return current;
+            lv_report_pattern_6_0=(Token)match(input,RULE_STRING,FOLLOW_53); if (state.failed) return current;
             if ( state.backtracking==0 ) {
 
               					newLeafNode(lv_report_pattern_6_0, grammarAccess.getUomoFormatAccess().getReport_patternSTRINGTerminalRuleCall_6_0());
@@ -8104,17 +8288,17 @@
 
             }
 
-            otherlv_7=(Token)match(input,48,FOLLOW_45); if (state.failed) return current;
+            otherlv_7=(Token)match(input,48,FOLLOW_46); if (state.failed) return current;
             if ( state.backtracking==0 ) {
 
               			newLeafNode(otherlv_7, grammarAccess.getUomoFormatAccess().getTextalignKeyword_7());
               		
             }
-            // InternalReportDSL.g:3064:3: ( (lv_textalign_8_0= ruleTextAlignEnum ) )
-            // InternalReportDSL.g:3065:4: (lv_textalign_8_0= ruleTextAlignEnum )
+            // InternalReportDSL.g:3132:3: ( (lv_textalign_8_0= ruleTextAlignEnum ) )
+            // InternalReportDSL.g:3133:4: (lv_textalign_8_0= ruleTextAlignEnum )
             {
-            // InternalReportDSL.g:3065:4: (lv_textalign_8_0= ruleTextAlignEnum )
-            // InternalReportDSL.g:3066:5: lv_textalign_8_0= ruleTextAlignEnum
+            // InternalReportDSL.g:3133:4: (lv_textalign_8_0= ruleTextAlignEnum )
+            // InternalReportDSL.g:3134:5: lv_textalign_8_0= ruleTextAlignEnum
             {
             if ( state.backtracking==0 ) {
 
@@ -8176,7 +8360,7 @@
 
 
     // $ANTLR start "entryRuleNumberFormat"
-    // InternalReportDSL.g:3091:1: entryRuleNumberFormat returns [EObject current=null] : iv_ruleNumberFormat= ruleNumberFormat EOF ;
+    // InternalReportDSL.g:3159:1: entryRuleNumberFormat returns [EObject current=null] : iv_ruleNumberFormat= ruleNumberFormat EOF ;
     public final EObject entryRuleNumberFormat() throws RecognitionException {
         EObject current = null;
 
@@ -8184,8 +8368,8 @@
 
 
         try {
-            // InternalReportDSL.g:3091:53: (iv_ruleNumberFormat= ruleNumberFormat EOF )
-            // InternalReportDSL.g:3092:2: iv_ruleNumberFormat= ruleNumberFormat EOF
+            // InternalReportDSL.g:3159:53: (iv_ruleNumberFormat= ruleNumberFormat EOF )
+            // InternalReportDSL.g:3160:2: iv_ruleNumberFormat= ruleNumberFormat EOF
             {
             if ( state.backtracking==0 ) {
                newCompositeNode(grammarAccess.getNumberFormatRule()); 
@@ -8216,7 +8400,7 @@
 
 
     // $ANTLR start "ruleNumberFormat"
-    // InternalReportDSL.g:3098:1: ruleNumberFormat returns [EObject current=null] : (otherlv_0= 'number' ( (lv_name_1_0= RULE_ID ) ) otherlv_2= '{' otherlv_3= 'ui' ( (lv_ui_pattern_4_0= RULE_STRING ) ) otherlv_5= 'report' ( (lv_report_category_6_0= ruleNumberFormatCategoryEnum ) ) ( (lv_report_pattern_7_0= RULE_STRING ) ) otherlv_8= 'textalign' ( (lv_textalign_9_0= ruleTextAlignEnum ) ) otherlv_10= '}' ) ;
+    // InternalReportDSL.g:3166:1: ruleNumberFormat returns [EObject current=null] : (otherlv_0= 'number' ( (lv_name_1_0= RULE_ID ) ) otherlv_2= '{' otherlv_3= 'ui' ( (lv_ui_pattern_4_0= RULE_STRING ) ) otherlv_5= 'report' ( (lv_report_category_6_0= ruleNumberFormatCategoryEnum ) ) ( (lv_report_pattern_7_0= RULE_STRING ) ) otherlv_8= 'textalign' ( (lv_textalign_9_0= ruleTextAlignEnum ) ) otherlv_10= '}' ) ;
     public final EObject ruleNumberFormat() throws RecognitionException {
         EObject current = null;
 
@@ -8238,23 +8422,23 @@
         	enterRule();
 
         try {
-            // InternalReportDSL.g:3104:2: ( (otherlv_0= 'number' ( (lv_name_1_0= RULE_ID ) ) otherlv_2= '{' otherlv_3= 'ui' ( (lv_ui_pattern_4_0= RULE_STRING ) ) otherlv_5= 'report' ( (lv_report_category_6_0= ruleNumberFormatCategoryEnum ) ) ( (lv_report_pattern_7_0= RULE_STRING ) ) otherlv_8= 'textalign' ( (lv_textalign_9_0= ruleTextAlignEnum ) ) otherlv_10= '}' ) )
-            // InternalReportDSL.g:3105:2: (otherlv_0= 'number' ( (lv_name_1_0= RULE_ID ) ) otherlv_2= '{' otherlv_3= 'ui' ( (lv_ui_pattern_4_0= RULE_STRING ) ) otherlv_5= 'report' ( (lv_report_category_6_0= ruleNumberFormatCategoryEnum ) ) ( (lv_report_pattern_7_0= RULE_STRING ) ) otherlv_8= 'textalign' ( (lv_textalign_9_0= ruleTextAlignEnum ) ) otherlv_10= '}' )
+            // InternalReportDSL.g:3172:2: ( (otherlv_0= 'number' ( (lv_name_1_0= RULE_ID ) ) otherlv_2= '{' otherlv_3= 'ui' ( (lv_ui_pattern_4_0= RULE_STRING ) ) otherlv_5= 'report' ( (lv_report_category_6_0= ruleNumberFormatCategoryEnum ) ) ( (lv_report_pattern_7_0= RULE_STRING ) ) otherlv_8= 'textalign' ( (lv_textalign_9_0= ruleTextAlignEnum ) ) otherlv_10= '}' ) )
+            // InternalReportDSL.g:3173:2: (otherlv_0= 'number' ( (lv_name_1_0= RULE_ID ) ) otherlv_2= '{' otherlv_3= 'ui' ( (lv_ui_pattern_4_0= RULE_STRING ) ) otherlv_5= 'report' ( (lv_report_category_6_0= ruleNumberFormatCategoryEnum ) ) ( (lv_report_pattern_7_0= RULE_STRING ) ) otherlv_8= 'textalign' ( (lv_textalign_9_0= ruleTextAlignEnum ) ) otherlv_10= '}' )
             {
-            // InternalReportDSL.g:3105:2: (otherlv_0= 'number' ( (lv_name_1_0= RULE_ID ) ) otherlv_2= '{' otherlv_3= 'ui' ( (lv_ui_pattern_4_0= RULE_STRING ) ) otherlv_5= 'report' ( (lv_report_category_6_0= ruleNumberFormatCategoryEnum ) ) ( (lv_report_pattern_7_0= RULE_STRING ) ) otherlv_8= 'textalign' ( (lv_textalign_9_0= ruleTextAlignEnum ) ) otherlv_10= '}' )
-            // InternalReportDSL.g:3106:3: otherlv_0= 'number' ( (lv_name_1_0= RULE_ID ) ) otherlv_2= '{' otherlv_3= 'ui' ( (lv_ui_pattern_4_0= RULE_STRING ) ) otherlv_5= 'report' ( (lv_report_category_6_0= ruleNumberFormatCategoryEnum ) ) ( (lv_report_pattern_7_0= RULE_STRING ) ) otherlv_8= 'textalign' ( (lv_textalign_9_0= ruleTextAlignEnum ) ) otherlv_10= '}'
+            // InternalReportDSL.g:3173:2: (otherlv_0= 'number' ( (lv_name_1_0= RULE_ID ) ) otherlv_2= '{' otherlv_3= 'ui' ( (lv_ui_pattern_4_0= RULE_STRING ) ) otherlv_5= 'report' ( (lv_report_category_6_0= ruleNumberFormatCategoryEnum ) ) ( (lv_report_pattern_7_0= RULE_STRING ) ) otherlv_8= 'textalign' ( (lv_textalign_9_0= ruleTextAlignEnum ) ) otherlv_10= '}' )
+            // InternalReportDSL.g:3174:3: otherlv_0= 'number' ( (lv_name_1_0= RULE_ID ) ) otherlv_2= '{' otherlv_3= 'ui' ( (lv_ui_pattern_4_0= RULE_STRING ) ) otherlv_5= 'report' ( (lv_report_category_6_0= ruleNumberFormatCategoryEnum ) ) ( (lv_report_pattern_7_0= RULE_STRING ) ) otherlv_8= 'textalign' ( (lv_textalign_9_0= ruleTextAlignEnum ) ) otherlv_10= '}'
             {
-            otherlv_0=(Token)match(input,64,FOLLOW_4); if (state.failed) return current;
+            otherlv_0=(Token)match(input,65,FOLLOW_4); if (state.failed) return current;
             if ( state.backtracking==0 ) {
 
               			newLeafNode(otherlv_0, grammarAccess.getNumberFormatAccess().getNumberKeyword_0());
               		
             }
-            // InternalReportDSL.g:3110:3: ( (lv_name_1_0= RULE_ID ) )
-            // InternalReportDSL.g:3111:4: (lv_name_1_0= RULE_ID )
+            // InternalReportDSL.g:3178:3: ( (lv_name_1_0= RULE_ID ) )
+            // InternalReportDSL.g:3179:4: (lv_name_1_0= RULE_ID )
             {
-            // InternalReportDSL.g:3111:4: (lv_name_1_0= RULE_ID )
-            // InternalReportDSL.g:3112:5: lv_name_1_0= RULE_ID
+            // InternalReportDSL.g:3179:4: (lv_name_1_0= RULE_ID )
+            // InternalReportDSL.g:3180:5: lv_name_1_0= RULE_ID
             {
             lv_name_1_0=(Token)match(input,RULE_ID,FOLLOW_5); if (state.failed) return current;
             if ( state.backtracking==0 ) {
@@ -8280,25 +8464,25 @@
 
             }
 
-            otherlv_2=(Token)match(input,14,FOLLOW_49); if (state.failed) return current;
+            otherlv_2=(Token)match(input,14,FOLLOW_51); if (state.failed) return current;
             if ( state.backtracking==0 ) {
 
               			newLeafNode(otherlv_2, grammarAccess.getNumberFormatAccess().getLeftCurlyBracketKeyword_2());
               		
             }
-            otherlv_3=(Token)match(input,62,FOLLOW_8); if (state.failed) return current;
+            otherlv_3=(Token)match(input,63,FOLLOW_8); if (state.failed) return current;
             if ( state.backtracking==0 ) {
 
               			newLeafNode(otherlv_3, grammarAccess.getNumberFormatAccess().getUiKeyword_3());
               		
             }
-            // InternalReportDSL.g:3136:3: ( (lv_ui_pattern_4_0= RULE_STRING ) )
-            // InternalReportDSL.g:3137:4: (lv_ui_pattern_4_0= RULE_STRING )
+            // InternalReportDSL.g:3204:3: ( (lv_ui_pattern_4_0= RULE_STRING ) )
+            // InternalReportDSL.g:3205:4: (lv_ui_pattern_4_0= RULE_STRING )
             {
-            // InternalReportDSL.g:3137:4: (lv_ui_pattern_4_0= RULE_STRING )
-            // InternalReportDSL.g:3138:5: lv_ui_pattern_4_0= RULE_STRING
+            // InternalReportDSL.g:3205:4: (lv_ui_pattern_4_0= RULE_STRING )
+            // InternalReportDSL.g:3206:5: lv_ui_pattern_4_0= RULE_STRING
             {
-            lv_ui_pattern_4_0=(Token)match(input,RULE_STRING,FOLLOW_50); if (state.failed) return current;
+            lv_ui_pattern_4_0=(Token)match(input,RULE_STRING,FOLLOW_52); if (state.failed) return current;
             if ( state.backtracking==0 ) {
 
               					newLeafNode(lv_ui_pattern_4_0, grammarAccess.getNumberFormatAccess().getUi_patternSTRINGTerminalRuleCall_4_0());
@@ -8322,17 +8506,17 @@
 
             }
 
-            otherlv_5=(Token)match(input,63,FOLLOW_52); if (state.failed) return current;
+            otherlv_5=(Token)match(input,64,FOLLOW_54); if (state.failed) return current;
             if ( state.backtracking==0 ) {
 
               			newLeafNode(otherlv_5, grammarAccess.getNumberFormatAccess().getReportKeyword_5());
               		
             }
-            // InternalReportDSL.g:3158:3: ( (lv_report_category_6_0= ruleNumberFormatCategoryEnum ) )
-            // InternalReportDSL.g:3159:4: (lv_report_category_6_0= ruleNumberFormatCategoryEnum )
+            // InternalReportDSL.g:3226:3: ( (lv_report_category_6_0= ruleNumberFormatCategoryEnum ) )
+            // InternalReportDSL.g:3227:4: (lv_report_category_6_0= ruleNumberFormatCategoryEnum )
             {
-            // InternalReportDSL.g:3159:4: (lv_report_category_6_0= ruleNumberFormatCategoryEnum )
-            // InternalReportDSL.g:3160:5: lv_report_category_6_0= ruleNumberFormatCategoryEnum
+            // InternalReportDSL.g:3227:4: (lv_report_category_6_0= ruleNumberFormatCategoryEnum )
+            // InternalReportDSL.g:3228:5: lv_report_category_6_0= ruleNumberFormatCategoryEnum
             {
             if ( state.backtracking==0 ) {
 
@@ -8363,13 +8547,13 @@
 
             }
 
-            // InternalReportDSL.g:3177:3: ( (lv_report_pattern_7_0= RULE_STRING ) )
-            // InternalReportDSL.g:3178:4: (lv_report_pattern_7_0= RULE_STRING )
+            // InternalReportDSL.g:3245:3: ( (lv_report_pattern_7_0= RULE_STRING ) )
+            // InternalReportDSL.g:3246:4: (lv_report_pattern_7_0= RULE_STRING )
             {
-            // InternalReportDSL.g:3178:4: (lv_report_pattern_7_0= RULE_STRING )
-            // InternalReportDSL.g:3179:5: lv_report_pattern_7_0= RULE_STRING
+            // InternalReportDSL.g:3246:4: (lv_report_pattern_7_0= RULE_STRING )
+            // InternalReportDSL.g:3247:5: lv_report_pattern_7_0= RULE_STRING
             {
-            lv_report_pattern_7_0=(Token)match(input,RULE_STRING,FOLLOW_51); if (state.failed) return current;
+            lv_report_pattern_7_0=(Token)match(input,RULE_STRING,FOLLOW_53); if (state.failed) return current;
             if ( state.backtracking==0 ) {
 
               					newLeafNode(lv_report_pattern_7_0, grammarAccess.getNumberFormatAccess().getReport_patternSTRINGTerminalRuleCall_7_0());
@@ -8393,17 +8577,17 @@
 
             }
 
-            otherlv_8=(Token)match(input,48,FOLLOW_45); if (state.failed) return current;
+            otherlv_8=(Token)match(input,48,FOLLOW_46); if (state.failed) return current;
             if ( state.backtracking==0 ) {
 
               			newLeafNode(otherlv_8, grammarAccess.getNumberFormatAccess().getTextalignKeyword_8());
               		
             }
-            // InternalReportDSL.g:3199:3: ( (lv_textalign_9_0= ruleTextAlignEnum ) )
-            // InternalReportDSL.g:3200:4: (lv_textalign_9_0= ruleTextAlignEnum )
+            // InternalReportDSL.g:3267:3: ( (lv_textalign_9_0= ruleTextAlignEnum ) )
+            // InternalReportDSL.g:3268:4: (lv_textalign_9_0= ruleTextAlignEnum )
             {
-            // InternalReportDSL.g:3200:4: (lv_textalign_9_0= ruleTextAlignEnum )
-            // InternalReportDSL.g:3201:5: lv_textalign_9_0= ruleTextAlignEnum
+            // InternalReportDSL.g:3268:4: (lv_textalign_9_0= ruleTextAlignEnum )
+            // InternalReportDSL.g:3269:5: lv_textalign_9_0= ruleTextAlignEnum
             {
             if ( state.backtracking==0 ) {
 
@@ -8465,7 +8649,7 @@
 
 
     // $ANTLR start "entryRuleCurrencyFormat"
-    // InternalReportDSL.g:3226:1: entryRuleCurrencyFormat returns [EObject current=null] : iv_ruleCurrencyFormat= ruleCurrencyFormat EOF ;
+    // InternalReportDSL.g:3294:1: entryRuleCurrencyFormat returns [EObject current=null] : iv_ruleCurrencyFormat= ruleCurrencyFormat EOF ;
     public final EObject entryRuleCurrencyFormat() throws RecognitionException {
         EObject current = null;
 
@@ -8473,8 +8657,8 @@
 
 
         try {
-            // InternalReportDSL.g:3226:55: (iv_ruleCurrencyFormat= ruleCurrencyFormat EOF )
-            // InternalReportDSL.g:3227:2: iv_ruleCurrencyFormat= ruleCurrencyFormat EOF
+            // InternalReportDSL.g:3294:55: (iv_ruleCurrencyFormat= ruleCurrencyFormat EOF )
+            // InternalReportDSL.g:3295:2: iv_ruleCurrencyFormat= ruleCurrencyFormat EOF
             {
             if ( state.backtracking==0 ) {
                newCompositeNode(grammarAccess.getCurrencyFormatRule()); 
@@ -8505,7 +8689,7 @@
 
 
     // $ANTLR start "ruleCurrencyFormat"
-    // InternalReportDSL.g:3233:1: ruleCurrencyFormat returns [EObject current=null] : (otherlv_0= 'currency' ( (lv_name_1_0= RULE_ID ) ) otherlv_2= '{' otherlv_3= 'ui' ( (lv_ui_pattern_4_0= RULE_STRING ) ) otherlv_5= 'report' ( (lv_report_category_6_0= ruleCurrencyFormatCategoryEnum ) ) ( (lv_report_pattern_7_0= RULE_STRING ) ) otherlv_8= 'textalign' ( (lv_textalign_9_0= ruleTextAlignEnum ) ) otherlv_10= '}' ) ;
+    // InternalReportDSL.g:3301:1: ruleCurrencyFormat returns [EObject current=null] : (otherlv_0= 'currency' ( (lv_name_1_0= RULE_ID ) ) otherlv_2= '{' otherlv_3= 'ui' ( (lv_ui_pattern_4_0= RULE_STRING ) ) otherlv_5= 'report' ( (lv_report_category_6_0= ruleCurrencyFormatCategoryEnum ) ) ( (lv_report_pattern_7_0= RULE_STRING ) ) otherlv_8= 'textalign' ( (lv_textalign_9_0= ruleTextAlignEnum ) ) otherlv_10= '}' ) ;
     public final EObject ruleCurrencyFormat() throws RecognitionException {
         EObject current = null;
 
@@ -8527,23 +8711,23 @@
         	enterRule();
 
         try {
-            // InternalReportDSL.g:3239:2: ( (otherlv_0= 'currency' ( (lv_name_1_0= RULE_ID ) ) otherlv_2= '{' otherlv_3= 'ui' ( (lv_ui_pattern_4_0= RULE_STRING ) ) otherlv_5= 'report' ( (lv_report_category_6_0= ruleCurrencyFormatCategoryEnum ) ) ( (lv_report_pattern_7_0= RULE_STRING ) ) otherlv_8= 'textalign' ( (lv_textalign_9_0= ruleTextAlignEnum ) ) otherlv_10= '}' ) )
-            // InternalReportDSL.g:3240:2: (otherlv_0= 'currency' ( (lv_name_1_0= RULE_ID ) ) otherlv_2= '{' otherlv_3= 'ui' ( (lv_ui_pattern_4_0= RULE_STRING ) ) otherlv_5= 'report' ( (lv_report_category_6_0= ruleCurrencyFormatCategoryEnum ) ) ( (lv_report_pattern_7_0= RULE_STRING ) ) otherlv_8= 'textalign' ( (lv_textalign_9_0= ruleTextAlignEnum ) ) otherlv_10= '}' )
+            // InternalReportDSL.g:3307:2: ( (otherlv_0= 'currency' ( (lv_name_1_0= RULE_ID ) ) otherlv_2= '{' otherlv_3= 'ui' ( (lv_ui_pattern_4_0= RULE_STRING ) ) otherlv_5= 'report' ( (lv_report_category_6_0= ruleCurrencyFormatCategoryEnum ) ) ( (lv_report_pattern_7_0= RULE_STRING ) ) otherlv_8= 'textalign' ( (lv_textalign_9_0= ruleTextAlignEnum ) ) otherlv_10= '}' ) )
+            // InternalReportDSL.g:3308:2: (otherlv_0= 'currency' ( (lv_name_1_0= RULE_ID ) ) otherlv_2= '{' otherlv_3= 'ui' ( (lv_ui_pattern_4_0= RULE_STRING ) ) otherlv_5= 'report' ( (lv_report_category_6_0= ruleCurrencyFormatCategoryEnum ) ) ( (lv_report_pattern_7_0= RULE_STRING ) ) otherlv_8= 'textalign' ( (lv_textalign_9_0= ruleTextAlignEnum ) ) otherlv_10= '}' )
             {
-            // InternalReportDSL.g:3240:2: (otherlv_0= 'currency' ( (lv_name_1_0= RULE_ID ) ) otherlv_2= '{' otherlv_3= 'ui' ( (lv_ui_pattern_4_0= RULE_STRING ) ) otherlv_5= 'report' ( (lv_report_category_6_0= ruleCurrencyFormatCategoryEnum ) ) ( (lv_report_pattern_7_0= RULE_STRING ) ) otherlv_8= 'textalign' ( (lv_textalign_9_0= ruleTextAlignEnum ) ) otherlv_10= '}' )
-            // InternalReportDSL.g:3241:3: otherlv_0= 'currency' ( (lv_name_1_0= RULE_ID ) ) otherlv_2= '{' otherlv_3= 'ui' ( (lv_ui_pattern_4_0= RULE_STRING ) ) otherlv_5= 'report' ( (lv_report_category_6_0= ruleCurrencyFormatCategoryEnum ) ) ( (lv_report_pattern_7_0= RULE_STRING ) ) otherlv_8= 'textalign' ( (lv_textalign_9_0= ruleTextAlignEnum ) ) otherlv_10= '}'
+            // InternalReportDSL.g:3308:2: (otherlv_0= 'currency' ( (lv_name_1_0= RULE_ID ) ) otherlv_2= '{' otherlv_3= 'ui' ( (lv_ui_pattern_4_0= RULE_STRING ) ) otherlv_5= 'report' ( (lv_report_category_6_0= ruleCurrencyFormatCategoryEnum ) ) ( (lv_report_pattern_7_0= RULE_STRING ) ) otherlv_8= 'textalign' ( (lv_textalign_9_0= ruleTextAlignEnum ) ) otherlv_10= '}' )
+            // InternalReportDSL.g:3309:3: otherlv_0= 'currency' ( (lv_name_1_0= RULE_ID ) ) otherlv_2= '{' otherlv_3= 'ui' ( (lv_ui_pattern_4_0= RULE_STRING ) ) otherlv_5= 'report' ( (lv_report_category_6_0= ruleCurrencyFormatCategoryEnum ) ) ( (lv_report_pattern_7_0= RULE_STRING ) ) otherlv_8= 'textalign' ( (lv_textalign_9_0= ruleTextAlignEnum ) ) otherlv_10= '}'
             {
-            otherlv_0=(Token)match(input,65,FOLLOW_4); if (state.failed) return current;
+            otherlv_0=(Token)match(input,66,FOLLOW_4); if (state.failed) return current;
             if ( state.backtracking==0 ) {
 
               			newLeafNode(otherlv_0, grammarAccess.getCurrencyFormatAccess().getCurrencyKeyword_0());
               		
             }
-            // InternalReportDSL.g:3245:3: ( (lv_name_1_0= RULE_ID ) )
-            // InternalReportDSL.g:3246:4: (lv_name_1_0= RULE_ID )
+            // InternalReportDSL.g:3313:3: ( (lv_name_1_0= RULE_ID ) )
+            // InternalReportDSL.g:3314:4: (lv_name_1_0= RULE_ID )
             {
-            // InternalReportDSL.g:3246:4: (lv_name_1_0= RULE_ID )
-            // InternalReportDSL.g:3247:5: lv_name_1_0= RULE_ID
+            // InternalReportDSL.g:3314:4: (lv_name_1_0= RULE_ID )
+            // InternalReportDSL.g:3315:5: lv_name_1_0= RULE_ID
             {
             lv_name_1_0=(Token)match(input,RULE_ID,FOLLOW_5); if (state.failed) return current;
             if ( state.backtracking==0 ) {
@@ -8569,25 +8753,25 @@
 
             }
 
-            otherlv_2=(Token)match(input,14,FOLLOW_49); if (state.failed) return current;
+            otherlv_2=(Token)match(input,14,FOLLOW_51); if (state.failed) return current;
             if ( state.backtracking==0 ) {
 
               			newLeafNode(otherlv_2, grammarAccess.getCurrencyFormatAccess().getLeftCurlyBracketKeyword_2());
               		
             }
-            otherlv_3=(Token)match(input,62,FOLLOW_8); if (state.failed) return current;
+            otherlv_3=(Token)match(input,63,FOLLOW_8); if (state.failed) return current;
             if ( state.backtracking==0 ) {
 
               			newLeafNode(otherlv_3, grammarAccess.getCurrencyFormatAccess().getUiKeyword_3());
               		
             }
-            // InternalReportDSL.g:3271:3: ( (lv_ui_pattern_4_0= RULE_STRING ) )
-            // InternalReportDSL.g:3272:4: (lv_ui_pattern_4_0= RULE_STRING )
+            // InternalReportDSL.g:3339:3: ( (lv_ui_pattern_4_0= RULE_STRING ) )
+            // InternalReportDSL.g:3340:4: (lv_ui_pattern_4_0= RULE_STRING )
             {
-            // InternalReportDSL.g:3272:4: (lv_ui_pattern_4_0= RULE_STRING )
-            // InternalReportDSL.g:3273:5: lv_ui_pattern_4_0= RULE_STRING
+            // InternalReportDSL.g:3340:4: (lv_ui_pattern_4_0= RULE_STRING )
+            // InternalReportDSL.g:3341:5: lv_ui_pattern_4_0= RULE_STRING
             {
-            lv_ui_pattern_4_0=(Token)match(input,RULE_STRING,FOLLOW_50); if (state.failed) return current;
+            lv_ui_pattern_4_0=(Token)match(input,RULE_STRING,FOLLOW_52); if (state.failed) return current;
             if ( state.backtracking==0 ) {
 
               					newLeafNode(lv_ui_pattern_4_0, grammarAccess.getCurrencyFormatAccess().getUi_patternSTRINGTerminalRuleCall_4_0());
@@ -8611,17 +8795,17 @@
 
             }
 
-            otherlv_5=(Token)match(input,63,FOLLOW_53); if (state.failed) return current;
+            otherlv_5=(Token)match(input,64,FOLLOW_55); if (state.failed) return current;
             if ( state.backtracking==0 ) {
 
               			newLeafNode(otherlv_5, grammarAccess.getCurrencyFormatAccess().getReportKeyword_5());
               		
             }
-            // InternalReportDSL.g:3293:3: ( (lv_report_category_6_0= ruleCurrencyFormatCategoryEnum ) )
-            // InternalReportDSL.g:3294:4: (lv_report_category_6_0= ruleCurrencyFormatCategoryEnum )
+            // InternalReportDSL.g:3361:3: ( (lv_report_category_6_0= ruleCurrencyFormatCategoryEnum ) )
+            // InternalReportDSL.g:3362:4: (lv_report_category_6_0= ruleCurrencyFormatCategoryEnum )
             {
-            // InternalReportDSL.g:3294:4: (lv_report_category_6_0= ruleCurrencyFormatCategoryEnum )
-            // InternalReportDSL.g:3295:5: lv_report_category_6_0= ruleCurrencyFormatCategoryEnum
+            // InternalReportDSL.g:3362:4: (lv_report_category_6_0= ruleCurrencyFormatCategoryEnum )
+            // InternalReportDSL.g:3363:5: lv_report_category_6_0= ruleCurrencyFormatCategoryEnum
             {
             if ( state.backtracking==0 ) {
 
@@ -8652,13 +8836,13 @@
 
             }
 
-            // InternalReportDSL.g:3312:3: ( (lv_report_pattern_7_0= RULE_STRING ) )
-            // InternalReportDSL.g:3313:4: (lv_report_pattern_7_0= RULE_STRING )
+            // InternalReportDSL.g:3380:3: ( (lv_report_pattern_7_0= RULE_STRING ) )
+            // InternalReportDSL.g:3381:4: (lv_report_pattern_7_0= RULE_STRING )
             {
-            // InternalReportDSL.g:3313:4: (lv_report_pattern_7_0= RULE_STRING )
-            // InternalReportDSL.g:3314:5: lv_report_pattern_7_0= RULE_STRING
+            // InternalReportDSL.g:3381:4: (lv_report_pattern_7_0= RULE_STRING )
+            // InternalReportDSL.g:3382:5: lv_report_pattern_7_0= RULE_STRING
             {
-            lv_report_pattern_7_0=(Token)match(input,RULE_STRING,FOLLOW_51); if (state.failed) return current;
+            lv_report_pattern_7_0=(Token)match(input,RULE_STRING,FOLLOW_53); if (state.failed) return current;
             if ( state.backtracking==0 ) {
 
               					newLeafNode(lv_report_pattern_7_0, grammarAccess.getCurrencyFormatAccess().getReport_patternSTRINGTerminalRuleCall_7_0());
@@ -8682,17 +8866,17 @@
 
             }
 
-            otherlv_8=(Token)match(input,48,FOLLOW_45); if (state.failed) return current;
+            otherlv_8=(Token)match(input,48,FOLLOW_46); if (state.failed) return current;
             if ( state.backtracking==0 ) {
 
               			newLeafNode(otherlv_8, grammarAccess.getCurrencyFormatAccess().getTextalignKeyword_8());
               		
             }
-            // InternalReportDSL.g:3334:3: ( (lv_textalign_9_0= ruleTextAlignEnum ) )
-            // InternalReportDSL.g:3335:4: (lv_textalign_9_0= ruleTextAlignEnum )
+            // InternalReportDSL.g:3402:3: ( (lv_textalign_9_0= ruleTextAlignEnum ) )
+            // InternalReportDSL.g:3403:4: (lv_textalign_9_0= ruleTextAlignEnum )
             {
-            // InternalReportDSL.g:3335:4: (lv_textalign_9_0= ruleTextAlignEnum )
-            // InternalReportDSL.g:3336:5: lv_textalign_9_0= ruleTextAlignEnum
+            // InternalReportDSL.g:3403:4: (lv_textalign_9_0= ruleTextAlignEnum )
+            // InternalReportDSL.g:3404:5: lv_textalign_9_0= ruleTextAlignEnum
             {
             if ( state.backtracking==0 ) {
 
@@ -8754,7 +8938,7 @@
 
 
     // $ANTLR start "entryRuleDateFormat"
-    // InternalReportDSL.g:3361:1: entryRuleDateFormat returns [EObject current=null] : iv_ruleDateFormat= ruleDateFormat EOF ;
+    // InternalReportDSL.g:3429:1: entryRuleDateFormat returns [EObject current=null] : iv_ruleDateFormat= ruleDateFormat EOF ;
     public final EObject entryRuleDateFormat() throws RecognitionException {
         EObject current = null;
 
@@ -8762,8 +8946,8 @@
 
 
         try {
-            // InternalReportDSL.g:3361:51: (iv_ruleDateFormat= ruleDateFormat EOF )
-            // InternalReportDSL.g:3362:2: iv_ruleDateFormat= ruleDateFormat EOF
+            // InternalReportDSL.g:3429:51: (iv_ruleDateFormat= ruleDateFormat EOF )
+            // InternalReportDSL.g:3430:2: iv_ruleDateFormat= ruleDateFormat EOF
             {
             if ( state.backtracking==0 ) {
                newCompositeNode(grammarAccess.getDateFormatRule()); 
@@ -8794,7 +8978,7 @@
 
 
     // $ANTLR start "ruleDateFormat"
-    // InternalReportDSL.g:3368:1: ruleDateFormat returns [EObject current=null] : (otherlv_0= 'date' ( (lv_name_1_0= RULE_ID ) ) otherlv_2= '{' otherlv_3= 'ui' ( (lv_ui_pattern_4_0= RULE_STRING ) ) otherlv_5= 'report' ( (lv_report_category_6_0= ruleDateFormatCategoryEnum ) ) ( (lv_report_pattern_7_0= RULE_STRING ) ) otherlv_8= 'textalign' ( (lv_textalign_9_0= ruleTextAlignEnum ) ) otherlv_10= '}' ) ;
+    // InternalReportDSL.g:3436:1: ruleDateFormat returns [EObject current=null] : (otherlv_0= 'date' ( (lv_name_1_0= RULE_ID ) ) otherlv_2= '{' otherlv_3= 'ui' ( (lv_ui_pattern_4_0= RULE_STRING ) ) otherlv_5= 'report' ( (lv_report_category_6_0= ruleDateFormatCategoryEnum ) ) ( (lv_report_pattern_7_0= RULE_STRING ) ) otherlv_8= 'textalign' ( (lv_textalign_9_0= ruleTextAlignEnum ) ) otherlv_10= '}' ) ;
     public final EObject ruleDateFormat() throws RecognitionException {
         EObject current = null;
 
@@ -8816,23 +9000,23 @@
         	enterRule();
 
         try {
-            // InternalReportDSL.g:3374:2: ( (otherlv_0= 'date' ( (lv_name_1_0= RULE_ID ) ) otherlv_2= '{' otherlv_3= 'ui' ( (lv_ui_pattern_4_0= RULE_STRING ) ) otherlv_5= 'report' ( (lv_report_category_6_0= ruleDateFormatCategoryEnum ) ) ( (lv_report_pattern_7_0= RULE_STRING ) ) otherlv_8= 'textalign' ( (lv_textalign_9_0= ruleTextAlignEnum ) ) otherlv_10= '}' ) )
-            // InternalReportDSL.g:3375:2: (otherlv_0= 'date' ( (lv_name_1_0= RULE_ID ) ) otherlv_2= '{' otherlv_3= 'ui' ( (lv_ui_pattern_4_0= RULE_STRING ) ) otherlv_5= 'report' ( (lv_report_category_6_0= ruleDateFormatCategoryEnum ) ) ( (lv_report_pattern_7_0= RULE_STRING ) ) otherlv_8= 'textalign' ( (lv_textalign_9_0= ruleTextAlignEnum ) ) otherlv_10= '}' )
+            // InternalReportDSL.g:3442:2: ( (otherlv_0= 'date' ( (lv_name_1_0= RULE_ID ) ) otherlv_2= '{' otherlv_3= 'ui' ( (lv_ui_pattern_4_0= RULE_STRING ) ) otherlv_5= 'report' ( (lv_report_category_6_0= ruleDateFormatCategoryEnum ) ) ( (lv_report_pattern_7_0= RULE_STRING ) ) otherlv_8= 'textalign' ( (lv_textalign_9_0= ruleTextAlignEnum ) ) otherlv_10= '}' ) )
+            // InternalReportDSL.g:3443:2: (otherlv_0= 'date' ( (lv_name_1_0= RULE_ID ) ) otherlv_2= '{' otherlv_3= 'ui' ( (lv_ui_pattern_4_0= RULE_STRING ) ) otherlv_5= 'report' ( (lv_report_category_6_0= ruleDateFormatCategoryEnum ) ) ( (lv_report_pattern_7_0= RULE_STRING ) ) otherlv_8= 'textalign' ( (lv_textalign_9_0= ruleTextAlignEnum ) ) otherlv_10= '}' )
             {
-            // InternalReportDSL.g:3375:2: (otherlv_0= 'date' ( (lv_name_1_0= RULE_ID ) ) otherlv_2= '{' otherlv_3= 'ui' ( (lv_ui_pattern_4_0= RULE_STRING ) ) otherlv_5= 'report' ( (lv_report_category_6_0= ruleDateFormatCategoryEnum ) ) ( (lv_report_pattern_7_0= RULE_STRING ) ) otherlv_8= 'textalign' ( (lv_textalign_9_0= ruleTextAlignEnum ) ) otherlv_10= '}' )
-            // InternalReportDSL.g:3376:3: otherlv_0= 'date' ( (lv_name_1_0= RULE_ID ) ) otherlv_2= '{' otherlv_3= 'ui' ( (lv_ui_pattern_4_0= RULE_STRING ) ) otherlv_5= 'report' ( (lv_report_category_6_0= ruleDateFormatCategoryEnum ) ) ( (lv_report_pattern_7_0= RULE_STRING ) ) otherlv_8= 'textalign' ( (lv_textalign_9_0= ruleTextAlignEnum ) ) otherlv_10= '}'
+            // InternalReportDSL.g:3443:2: (otherlv_0= 'date' ( (lv_name_1_0= RULE_ID ) ) otherlv_2= '{' otherlv_3= 'ui' ( (lv_ui_pattern_4_0= RULE_STRING ) ) otherlv_5= 'report' ( (lv_report_category_6_0= ruleDateFormatCategoryEnum ) ) ( (lv_report_pattern_7_0= RULE_STRING ) ) otherlv_8= 'textalign' ( (lv_textalign_9_0= ruleTextAlignEnum ) ) otherlv_10= '}' )
+            // InternalReportDSL.g:3444:3: otherlv_0= 'date' ( (lv_name_1_0= RULE_ID ) ) otherlv_2= '{' otherlv_3= 'ui' ( (lv_ui_pattern_4_0= RULE_STRING ) ) otherlv_5= 'report' ( (lv_report_category_6_0= ruleDateFormatCategoryEnum ) ) ( (lv_report_pattern_7_0= RULE_STRING ) ) otherlv_8= 'textalign' ( (lv_textalign_9_0= ruleTextAlignEnum ) ) otherlv_10= '}'
             {
-            otherlv_0=(Token)match(input,66,FOLLOW_4); if (state.failed) return current;
+            otherlv_0=(Token)match(input,67,FOLLOW_4); if (state.failed) return current;
             if ( state.backtracking==0 ) {
 
               			newLeafNode(otherlv_0, grammarAccess.getDateFormatAccess().getDateKeyword_0());
               		
             }
-            // InternalReportDSL.g:3380:3: ( (lv_name_1_0= RULE_ID ) )
-            // InternalReportDSL.g:3381:4: (lv_name_1_0= RULE_ID )
+            // InternalReportDSL.g:3448:3: ( (lv_name_1_0= RULE_ID ) )
+            // InternalReportDSL.g:3449:4: (lv_name_1_0= RULE_ID )
             {
-            // InternalReportDSL.g:3381:4: (lv_name_1_0= RULE_ID )
-            // InternalReportDSL.g:3382:5: lv_name_1_0= RULE_ID
+            // InternalReportDSL.g:3449:4: (lv_name_1_0= RULE_ID )
+            // InternalReportDSL.g:3450:5: lv_name_1_0= RULE_ID
             {
             lv_name_1_0=(Token)match(input,RULE_ID,FOLLOW_5); if (state.failed) return current;
             if ( state.backtracking==0 ) {
@@ -8858,25 +9042,25 @@
 
             }
 
-            otherlv_2=(Token)match(input,14,FOLLOW_49); if (state.failed) return current;
+            otherlv_2=(Token)match(input,14,FOLLOW_51); if (state.failed) return current;
             if ( state.backtracking==0 ) {
 
               			newLeafNode(otherlv_2, grammarAccess.getDateFormatAccess().getLeftCurlyBracketKeyword_2());
               		
             }
-            otherlv_3=(Token)match(input,62,FOLLOW_8); if (state.failed) return current;
+            otherlv_3=(Token)match(input,63,FOLLOW_8); if (state.failed) return current;
             if ( state.backtracking==0 ) {
 
               			newLeafNode(otherlv_3, grammarAccess.getDateFormatAccess().getUiKeyword_3());
               		
             }
-            // InternalReportDSL.g:3406:3: ( (lv_ui_pattern_4_0= RULE_STRING ) )
-            // InternalReportDSL.g:3407:4: (lv_ui_pattern_4_0= RULE_STRING )
+            // InternalReportDSL.g:3474:3: ( (lv_ui_pattern_4_0= RULE_STRING ) )
+            // InternalReportDSL.g:3475:4: (lv_ui_pattern_4_0= RULE_STRING )
             {
-            // InternalReportDSL.g:3407:4: (lv_ui_pattern_4_0= RULE_STRING )
-            // InternalReportDSL.g:3408:5: lv_ui_pattern_4_0= RULE_STRING
+            // InternalReportDSL.g:3475:4: (lv_ui_pattern_4_0= RULE_STRING )
+            // InternalReportDSL.g:3476:5: lv_ui_pattern_4_0= RULE_STRING
             {
-            lv_ui_pattern_4_0=(Token)match(input,RULE_STRING,FOLLOW_50); if (state.failed) return current;
+            lv_ui_pattern_4_0=(Token)match(input,RULE_STRING,FOLLOW_52); if (state.failed) return current;
             if ( state.backtracking==0 ) {
 
               					newLeafNode(lv_ui_pattern_4_0, grammarAccess.getDateFormatAccess().getUi_patternSTRINGTerminalRuleCall_4_0());
@@ -8900,17 +9084,17 @@
 
             }
 
-            otherlv_5=(Token)match(input,63,FOLLOW_54); if (state.failed) return current;
+            otherlv_5=(Token)match(input,64,FOLLOW_56); if (state.failed) return current;
             if ( state.backtracking==0 ) {
 
               			newLeafNode(otherlv_5, grammarAccess.getDateFormatAccess().getReportKeyword_5());
               		
             }
-            // InternalReportDSL.g:3428:3: ( (lv_report_category_6_0= ruleDateFormatCategoryEnum ) )
-            // InternalReportDSL.g:3429:4: (lv_report_category_6_0= ruleDateFormatCategoryEnum )
+            // InternalReportDSL.g:3496:3: ( (lv_report_category_6_0= ruleDateFormatCategoryEnum ) )
+            // InternalReportDSL.g:3497:4: (lv_report_category_6_0= ruleDateFormatCategoryEnum )
             {
-            // InternalReportDSL.g:3429:4: (lv_report_category_6_0= ruleDateFormatCategoryEnum )
-            // InternalReportDSL.g:3430:5: lv_report_category_6_0= ruleDateFormatCategoryEnum
+            // InternalReportDSL.g:3497:4: (lv_report_category_6_0= ruleDateFormatCategoryEnum )
+            // InternalReportDSL.g:3498:5: lv_report_category_6_0= ruleDateFormatCategoryEnum
             {
             if ( state.backtracking==0 ) {
 
@@ -8941,13 +9125,13 @@
 
             }
 
-            // InternalReportDSL.g:3447:3: ( (lv_report_pattern_7_0= RULE_STRING ) )
-            // InternalReportDSL.g:3448:4: (lv_report_pattern_7_0= RULE_STRING )
+            // InternalReportDSL.g:3515:3: ( (lv_report_pattern_7_0= RULE_STRING ) )
+            // InternalReportDSL.g:3516:4: (lv_report_pattern_7_0= RULE_STRING )
             {
-            // InternalReportDSL.g:3448:4: (lv_report_pattern_7_0= RULE_STRING )
-            // InternalReportDSL.g:3449:5: lv_report_pattern_7_0= RULE_STRING
+            // InternalReportDSL.g:3516:4: (lv_report_pattern_7_0= RULE_STRING )
+            // InternalReportDSL.g:3517:5: lv_report_pattern_7_0= RULE_STRING
             {
-            lv_report_pattern_7_0=(Token)match(input,RULE_STRING,FOLLOW_51); if (state.failed) return current;
+            lv_report_pattern_7_0=(Token)match(input,RULE_STRING,FOLLOW_53); if (state.failed) return current;
             if ( state.backtracking==0 ) {
 
               					newLeafNode(lv_report_pattern_7_0, grammarAccess.getDateFormatAccess().getReport_patternSTRINGTerminalRuleCall_7_0());
@@ -8971,17 +9155,17 @@
 
             }
 
-            otherlv_8=(Token)match(input,48,FOLLOW_45); if (state.failed) return current;
+            otherlv_8=(Token)match(input,48,FOLLOW_46); if (state.failed) return current;
             if ( state.backtracking==0 ) {
 
               			newLeafNode(otherlv_8, grammarAccess.getDateFormatAccess().getTextalignKeyword_8());
               		
             }
-            // InternalReportDSL.g:3469:3: ( (lv_textalign_9_0= ruleTextAlignEnum ) )
-            // InternalReportDSL.g:3470:4: (lv_textalign_9_0= ruleTextAlignEnum )
+            // InternalReportDSL.g:3537:3: ( (lv_textalign_9_0= ruleTextAlignEnum ) )
+            // InternalReportDSL.g:3538:4: (lv_textalign_9_0= ruleTextAlignEnum )
             {
-            // InternalReportDSL.g:3470:4: (lv_textalign_9_0= ruleTextAlignEnum )
-            // InternalReportDSL.g:3471:5: lv_textalign_9_0= ruleTextAlignEnum
+            // InternalReportDSL.g:3538:4: (lv_textalign_9_0= ruleTextAlignEnum )
+            // InternalReportDSL.g:3539:5: lv_textalign_9_0= ruleTextAlignEnum
             {
             if ( state.backtracking==0 ) {
 
@@ -9043,7 +9227,7 @@
 
 
     // $ANTLR start "entryRuleDateTimeFormat"
-    // InternalReportDSL.g:3496:1: entryRuleDateTimeFormat returns [EObject current=null] : iv_ruleDateTimeFormat= ruleDateTimeFormat EOF ;
+    // InternalReportDSL.g:3564:1: entryRuleDateTimeFormat returns [EObject current=null] : iv_ruleDateTimeFormat= ruleDateTimeFormat EOF ;
     public final EObject entryRuleDateTimeFormat() throws RecognitionException {
         EObject current = null;
 
@@ -9051,8 +9235,8 @@
 
 
         try {
-            // InternalReportDSL.g:3496:55: (iv_ruleDateTimeFormat= ruleDateTimeFormat EOF )
-            // InternalReportDSL.g:3497:2: iv_ruleDateTimeFormat= ruleDateTimeFormat EOF
+            // InternalReportDSL.g:3564:55: (iv_ruleDateTimeFormat= ruleDateTimeFormat EOF )
+            // InternalReportDSL.g:3565:2: iv_ruleDateTimeFormat= ruleDateTimeFormat EOF
             {
             if ( state.backtracking==0 ) {
                newCompositeNode(grammarAccess.getDateTimeFormatRule()); 
@@ -9083,7 +9267,7 @@
 
 
     // $ANTLR start "ruleDateTimeFormat"
-    // InternalReportDSL.g:3503:1: ruleDateTimeFormat returns [EObject current=null] : (otherlv_0= 'date+time' ( (lv_name_1_0= RULE_ID ) ) otherlv_2= '{' otherlv_3= 'ui' ( (lv_ui_pattern_4_0= RULE_STRING ) ) otherlv_5= 'report' ( (lv_report_category_6_0= ruleDateTimeFormatCategoryEnum ) ) ( (lv_report_pattern_7_0= RULE_STRING ) ) otherlv_8= 'textalign' ( (lv_textalign_9_0= ruleTextAlignEnum ) ) otherlv_10= '}' ) ;
+    // InternalReportDSL.g:3571:1: ruleDateTimeFormat returns [EObject current=null] : (otherlv_0= 'date+time' ( (lv_name_1_0= RULE_ID ) ) otherlv_2= '{' otherlv_3= 'ui' ( (lv_ui_pattern_4_0= RULE_STRING ) ) otherlv_5= 'report' ( (lv_report_category_6_0= ruleDateTimeFormatCategoryEnum ) ) ( (lv_report_pattern_7_0= RULE_STRING ) ) otherlv_8= 'textalign' ( (lv_textalign_9_0= ruleTextAlignEnum ) ) otherlv_10= '}' ) ;
     public final EObject ruleDateTimeFormat() throws RecognitionException {
         EObject current = null;
 
@@ -9105,23 +9289,23 @@
         	enterRule();
 
         try {
-            // InternalReportDSL.g:3509:2: ( (otherlv_0= 'date+time' ( (lv_name_1_0= RULE_ID ) ) otherlv_2= '{' otherlv_3= 'ui' ( (lv_ui_pattern_4_0= RULE_STRING ) ) otherlv_5= 'report' ( (lv_report_category_6_0= ruleDateTimeFormatCategoryEnum ) ) ( (lv_report_pattern_7_0= RULE_STRING ) ) otherlv_8= 'textalign' ( (lv_textalign_9_0= ruleTextAlignEnum ) ) otherlv_10= '}' ) )
-            // InternalReportDSL.g:3510:2: (otherlv_0= 'date+time' ( (lv_name_1_0= RULE_ID ) ) otherlv_2= '{' otherlv_3= 'ui' ( (lv_ui_pattern_4_0= RULE_STRING ) ) otherlv_5= 'report' ( (lv_report_category_6_0= ruleDateTimeFormatCategoryEnum ) ) ( (lv_report_pattern_7_0= RULE_STRING ) ) otherlv_8= 'textalign' ( (lv_textalign_9_0= ruleTextAlignEnum ) ) otherlv_10= '}' )
+            // InternalReportDSL.g:3577:2: ( (otherlv_0= 'date+time' ( (lv_name_1_0= RULE_ID ) ) otherlv_2= '{' otherlv_3= 'ui' ( (lv_ui_pattern_4_0= RULE_STRING ) ) otherlv_5= 'report' ( (lv_report_category_6_0= ruleDateTimeFormatCategoryEnum ) ) ( (lv_report_pattern_7_0= RULE_STRING ) ) otherlv_8= 'textalign' ( (lv_textalign_9_0= ruleTextAlignEnum ) ) otherlv_10= '}' ) )
+            // InternalReportDSL.g:3578:2: (otherlv_0= 'date+time' ( (lv_name_1_0= RULE_ID ) ) otherlv_2= '{' otherlv_3= 'ui' ( (lv_ui_pattern_4_0= RULE_STRING ) ) otherlv_5= 'report' ( (lv_report_category_6_0= ruleDateTimeFormatCategoryEnum ) ) ( (lv_report_pattern_7_0= RULE_STRING ) ) otherlv_8= 'textalign' ( (lv_textalign_9_0= ruleTextAlignEnum ) ) otherlv_10= '}' )
             {
-            // InternalReportDSL.g:3510:2: (otherlv_0= 'date+time' ( (lv_name_1_0= RULE_ID ) ) otherlv_2= '{' otherlv_3= 'ui' ( (lv_ui_pattern_4_0= RULE_STRING ) ) otherlv_5= 'report' ( (lv_report_category_6_0= ruleDateTimeFormatCategoryEnum ) ) ( (lv_report_pattern_7_0= RULE_STRING ) ) otherlv_8= 'textalign' ( (lv_textalign_9_0= ruleTextAlignEnum ) ) otherlv_10= '}' )
-            // InternalReportDSL.g:3511:3: otherlv_0= 'date+time' ( (lv_name_1_0= RULE_ID ) ) otherlv_2= '{' otherlv_3= 'ui' ( (lv_ui_pattern_4_0= RULE_STRING ) ) otherlv_5= 'report' ( (lv_report_category_6_0= ruleDateTimeFormatCategoryEnum ) ) ( (lv_report_pattern_7_0= RULE_STRING ) ) otherlv_8= 'textalign' ( (lv_textalign_9_0= ruleTextAlignEnum ) ) otherlv_10= '}'
+            // InternalReportDSL.g:3578:2: (otherlv_0= 'date+time' ( (lv_name_1_0= RULE_ID ) ) otherlv_2= '{' otherlv_3= 'ui' ( (lv_ui_pattern_4_0= RULE_STRING ) ) otherlv_5= 'report' ( (lv_report_category_6_0= ruleDateTimeFormatCategoryEnum ) ) ( (lv_report_pattern_7_0= RULE_STRING ) ) otherlv_8= 'textalign' ( (lv_textalign_9_0= ruleTextAlignEnum ) ) otherlv_10= '}' )
+            // InternalReportDSL.g:3579:3: otherlv_0= 'date+time' ( (lv_name_1_0= RULE_ID ) ) otherlv_2= '{' otherlv_3= 'ui' ( (lv_ui_pattern_4_0= RULE_STRING ) ) otherlv_5= 'report' ( (lv_report_category_6_0= ruleDateTimeFormatCategoryEnum ) ) ( (lv_report_pattern_7_0= RULE_STRING ) ) otherlv_8= 'textalign' ( (lv_textalign_9_0= ruleTextAlignEnum ) ) otherlv_10= '}'
             {
-            otherlv_0=(Token)match(input,67,FOLLOW_4); if (state.failed) return current;
+            otherlv_0=(Token)match(input,68,FOLLOW_4); if (state.failed) return current;
             if ( state.backtracking==0 ) {
 
               			newLeafNode(otherlv_0, grammarAccess.getDateTimeFormatAccess().getDateTimeKeyword_0());
               		
             }
-            // InternalReportDSL.g:3515:3: ( (lv_name_1_0= RULE_ID ) )
-            // InternalReportDSL.g:3516:4: (lv_name_1_0= RULE_ID )
+            // InternalReportDSL.g:3583:3: ( (lv_name_1_0= RULE_ID ) )
+            // InternalReportDSL.g:3584:4: (lv_name_1_0= RULE_ID )
             {
-            // InternalReportDSL.g:3516:4: (lv_name_1_0= RULE_ID )
-            // InternalReportDSL.g:3517:5: lv_name_1_0= RULE_ID
+            // InternalReportDSL.g:3584:4: (lv_name_1_0= RULE_ID )
+            // InternalReportDSL.g:3585:5: lv_name_1_0= RULE_ID
             {
             lv_name_1_0=(Token)match(input,RULE_ID,FOLLOW_5); if (state.failed) return current;
             if ( state.backtracking==0 ) {
@@ -9147,25 +9331,25 @@
 
             }
 
-            otherlv_2=(Token)match(input,14,FOLLOW_49); if (state.failed) return current;
+            otherlv_2=(Token)match(input,14,FOLLOW_51); if (state.failed) return current;
             if ( state.backtracking==0 ) {
 
               			newLeafNode(otherlv_2, grammarAccess.getDateTimeFormatAccess().getLeftCurlyBracketKeyword_2());
               		
             }
-            otherlv_3=(Token)match(input,62,FOLLOW_8); if (state.failed) return current;
+            otherlv_3=(Token)match(input,63,FOLLOW_8); if (state.failed) return current;
             if ( state.backtracking==0 ) {
 
               			newLeafNode(otherlv_3, grammarAccess.getDateTimeFormatAccess().getUiKeyword_3());
               		
             }
-            // InternalReportDSL.g:3541:3: ( (lv_ui_pattern_4_0= RULE_STRING ) )
-            // InternalReportDSL.g:3542:4: (lv_ui_pattern_4_0= RULE_STRING )
+            // InternalReportDSL.g:3609:3: ( (lv_ui_pattern_4_0= RULE_STRING ) )
+            // InternalReportDSL.g:3610:4: (lv_ui_pattern_4_0= RULE_STRING )
             {
-            // InternalReportDSL.g:3542:4: (lv_ui_pattern_4_0= RULE_STRING )
-            // InternalReportDSL.g:3543:5: lv_ui_pattern_4_0= RULE_STRING
+            // InternalReportDSL.g:3610:4: (lv_ui_pattern_4_0= RULE_STRING )
+            // InternalReportDSL.g:3611:5: lv_ui_pattern_4_0= RULE_STRING
             {
-            lv_ui_pattern_4_0=(Token)match(input,RULE_STRING,FOLLOW_50); if (state.failed) return current;
+            lv_ui_pattern_4_0=(Token)match(input,RULE_STRING,FOLLOW_52); if (state.failed) return current;
             if ( state.backtracking==0 ) {
 
               					newLeafNode(lv_ui_pattern_4_0, grammarAccess.getDateTimeFormatAccess().getUi_patternSTRINGTerminalRuleCall_4_0());
@@ -9189,17 +9373,17 @@
 
             }
 
-            otherlv_5=(Token)match(input,63,FOLLOW_54); if (state.failed) return current;
+            otherlv_5=(Token)match(input,64,FOLLOW_56); if (state.failed) return current;
             if ( state.backtracking==0 ) {
 
               			newLeafNode(otherlv_5, grammarAccess.getDateTimeFormatAccess().getReportKeyword_5());
               		
             }
-            // InternalReportDSL.g:3563:3: ( (lv_report_category_6_0= ruleDateTimeFormatCategoryEnum ) )
-            // InternalReportDSL.g:3564:4: (lv_report_category_6_0= ruleDateTimeFormatCategoryEnum )
+            // InternalReportDSL.g:3631:3: ( (lv_report_category_6_0= ruleDateTimeFormatCategoryEnum ) )
+            // InternalReportDSL.g:3632:4: (lv_report_category_6_0= ruleDateTimeFormatCategoryEnum )
             {
-            // InternalReportDSL.g:3564:4: (lv_report_category_6_0= ruleDateTimeFormatCategoryEnum )
-            // InternalReportDSL.g:3565:5: lv_report_category_6_0= ruleDateTimeFormatCategoryEnum
+            // InternalReportDSL.g:3632:4: (lv_report_category_6_0= ruleDateTimeFormatCategoryEnum )
+            // InternalReportDSL.g:3633:5: lv_report_category_6_0= ruleDateTimeFormatCategoryEnum
             {
             if ( state.backtracking==0 ) {
 
@@ -9230,13 +9414,13 @@
 
             }
 
-            // InternalReportDSL.g:3582:3: ( (lv_report_pattern_7_0= RULE_STRING ) )
-            // InternalReportDSL.g:3583:4: (lv_report_pattern_7_0= RULE_STRING )
+            // InternalReportDSL.g:3650:3: ( (lv_report_pattern_7_0= RULE_STRING ) )
+            // InternalReportDSL.g:3651:4: (lv_report_pattern_7_0= RULE_STRING )
             {
-            // InternalReportDSL.g:3583:4: (lv_report_pattern_7_0= RULE_STRING )
-            // InternalReportDSL.g:3584:5: lv_report_pattern_7_0= RULE_STRING
+            // InternalReportDSL.g:3651:4: (lv_report_pattern_7_0= RULE_STRING )
+            // InternalReportDSL.g:3652:5: lv_report_pattern_7_0= RULE_STRING
             {
-            lv_report_pattern_7_0=(Token)match(input,RULE_STRING,FOLLOW_51); if (state.failed) return current;
+            lv_report_pattern_7_0=(Token)match(input,RULE_STRING,FOLLOW_53); if (state.failed) return current;
             if ( state.backtracking==0 ) {
 
               					newLeafNode(lv_report_pattern_7_0, grammarAccess.getDateTimeFormatAccess().getReport_patternSTRINGTerminalRuleCall_7_0());
@@ -9260,17 +9444,17 @@
 
             }
 
-            otherlv_8=(Token)match(input,48,FOLLOW_45); if (state.failed) return current;
+            otherlv_8=(Token)match(input,48,FOLLOW_46); if (state.failed) return current;
             if ( state.backtracking==0 ) {
 
               			newLeafNode(otherlv_8, grammarAccess.getDateTimeFormatAccess().getTextalignKeyword_8());
               		
             }
-            // InternalReportDSL.g:3604:3: ( (lv_textalign_9_0= ruleTextAlignEnum ) )
-            // InternalReportDSL.g:3605:4: (lv_textalign_9_0= ruleTextAlignEnum )
+            // InternalReportDSL.g:3672:3: ( (lv_textalign_9_0= ruleTextAlignEnum ) )
+            // InternalReportDSL.g:3673:4: (lv_textalign_9_0= ruleTextAlignEnum )
             {
-            // InternalReportDSL.g:3605:4: (lv_textalign_9_0= ruleTextAlignEnum )
-            // InternalReportDSL.g:3606:5: lv_textalign_9_0= ruleTextAlignEnum
+            // InternalReportDSL.g:3673:4: (lv_textalign_9_0= ruleTextAlignEnum )
+            // InternalReportDSL.g:3674:5: lv_textalign_9_0= ruleTextAlignEnum
             {
             if ( state.backtracking==0 ) {
 
@@ -9332,7 +9516,7 @@
 
 
     // $ANTLR start "entryRuleTimeFormat"
-    // InternalReportDSL.g:3631:1: entryRuleTimeFormat returns [EObject current=null] : iv_ruleTimeFormat= ruleTimeFormat EOF ;
+    // InternalReportDSL.g:3699:1: entryRuleTimeFormat returns [EObject current=null] : iv_ruleTimeFormat= ruleTimeFormat EOF ;
     public final EObject entryRuleTimeFormat() throws RecognitionException {
         EObject current = null;
 
@@ -9340,8 +9524,8 @@
 
 
         try {
-            // InternalReportDSL.g:3631:51: (iv_ruleTimeFormat= ruleTimeFormat EOF )
-            // InternalReportDSL.g:3632:2: iv_ruleTimeFormat= ruleTimeFormat EOF
+            // InternalReportDSL.g:3699:51: (iv_ruleTimeFormat= ruleTimeFormat EOF )
+            // InternalReportDSL.g:3700:2: iv_ruleTimeFormat= ruleTimeFormat EOF
             {
             if ( state.backtracking==0 ) {
                newCompositeNode(grammarAccess.getTimeFormatRule()); 
@@ -9372,7 +9556,7 @@
 
 
     // $ANTLR start "ruleTimeFormat"
-    // InternalReportDSL.g:3638:1: ruleTimeFormat returns [EObject current=null] : (otherlv_0= 'time' ( (lv_name_1_0= RULE_ID ) ) otherlv_2= '{' otherlv_3= 'ui' ( (lv_ui_pattern_4_0= RULE_STRING ) ) otherlv_5= 'report' ( (lv_report_category_6_0= ruleTimeFormatCategoryEnum ) ) ( (lv_report_pattern_7_0= RULE_STRING ) ) otherlv_8= 'textalign' ( (lv_textalign_9_0= ruleTextAlignEnum ) ) otherlv_10= '}' ) ;
+    // InternalReportDSL.g:3706:1: ruleTimeFormat returns [EObject current=null] : (otherlv_0= 'time' ( (lv_name_1_0= RULE_ID ) ) otherlv_2= '{' otherlv_3= 'ui' ( (lv_ui_pattern_4_0= RULE_STRING ) ) otherlv_5= 'report' ( (lv_report_category_6_0= ruleTimeFormatCategoryEnum ) ) ( (lv_report_pattern_7_0= RULE_STRING ) ) otherlv_8= 'textalign' ( (lv_textalign_9_0= ruleTextAlignEnum ) ) otherlv_10= '}' ) ;
     public final EObject ruleTimeFormat() throws RecognitionException {
         EObject current = null;
 
@@ -9394,23 +9578,23 @@
         	enterRule();
 
         try {
-            // InternalReportDSL.g:3644:2: ( (otherlv_0= 'time' ( (lv_name_1_0= RULE_ID ) ) otherlv_2= '{' otherlv_3= 'ui' ( (lv_ui_pattern_4_0= RULE_STRING ) ) otherlv_5= 'report' ( (lv_report_category_6_0= ruleTimeFormatCategoryEnum ) ) ( (lv_report_pattern_7_0= RULE_STRING ) ) otherlv_8= 'textalign' ( (lv_textalign_9_0= ruleTextAlignEnum ) ) otherlv_10= '}' ) )
-            // InternalReportDSL.g:3645:2: (otherlv_0= 'time' ( (lv_name_1_0= RULE_ID ) ) otherlv_2= '{' otherlv_3= 'ui' ( (lv_ui_pattern_4_0= RULE_STRING ) ) otherlv_5= 'report' ( (lv_report_category_6_0= ruleTimeFormatCategoryEnum ) ) ( (lv_report_pattern_7_0= RULE_STRING ) ) otherlv_8= 'textalign' ( (lv_textalign_9_0= ruleTextAlignEnum ) ) otherlv_10= '}' )
+            // InternalReportDSL.g:3712:2: ( (otherlv_0= 'time' ( (lv_name_1_0= RULE_ID ) ) otherlv_2= '{' otherlv_3= 'ui' ( (lv_ui_pattern_4_0= RULE_STRING ) ) otherlv_5= 'report' ( (lv_report_category_6_0= ruleTimeFormatCategoryEnum ) ) ( (lv_report_pattern_7_0= RULE_STRING ) ) otherlv_8= 'textalign' ( (lv_textalign_9_0= ruleTextAlignEnum ) ) otherlv_10= '}' ) )
+            // InternalReportDSL.g:3713:2: (otherlv_0= 'time' ( (lv_name_1_0= RULE_ID ) ) otherlv_2= '{' otherlv_3= 'ui' ( (lv_ui_pattern_4_0= RULE_STRING ) ) otherlv_5= 'report' ( (lv_report_category_6_0= ruleTimeFormatCategoryEnum ) ) ( (lv_report_pattern_7_0= RULE_STRING ) ) otherlv_8= 'textalign' ( (lv_textalign_9_0= ruleTextAlignEnum ) ) otherlv_10= '}' )
             {
-            // InternalReportDSL.g:3645:2: (otherlv_0= 'time' ( (lv_name_1_0= RULE_ID ) ) otherlv_2= '{' otherlv_3= 'ui' ( (lv_ui_pattern_4_0= RULE_STRING ) ) otherlv_5= 'report' ( (lv_report_category_6_0= ruleTimeFormatCategoryEnum ) ) ( (lv_report_pattern_7_0= RULE_STRING ) ) otherlv_8= 'textalign' ( (lv_textalign_9_0= ruleTextAlignEnum ) ) otherlv_10= '}' )
-            // InternalReportDSL.g:3646:3: otherlv_0= 'time' ( (lv_name_1_0= RULE_ID ) ) otherlv_2= '{' otherlv_3= 'ui' ( (lv_ui_pattern_4_0= RULE_STRING ) ) otherlv_5= 'report' ( (lv_report_category_6_0= ruleTimeFormatCategoryEnum ) ) ( (lv_report_pattern_7_0= RULE_STRING ) ) otherlv_8= 'textalign' ( (lv_textalign_9_0= ruleTextAlignEnum ) ) otherlv_10= '}'
+            // InternalReportDSL.g:3713:2: (otherlv_0= 'time' ( (lv_name_1_0= RULE_ID ) ) otherlv_2= '{' otherlv_3= 'ui' ( (lv_ui_pattern_4_0= RULE_STRING ) ) otherlv_5= 'report' ( (lv_report_category_6_0= ruleTimeFormatCategoryEnum ) ) ( (lv_report_pattern_7_0= RULE_STRING ) ) otherlv_8= 'textalign' ( (lv_textalign_9_0= ruleTextAlignEnum ) ) otherlv_10= '}' )
+            // InternalReportDSL.g:3714:3: otherlv_0= 'time' ( (lv_name_1_0= RULE_ID ) ) otherlv_2= '{' otherlv_3= 'ui' ( (lv_ui_pattern_4_0= RULE_STRING ) ) otherlv_5= 'report' ( (lv_report_category_6_0= ruleTimeFormatCategoryEnum ) ) ( (lv_report_pattern_7_0= RULE_STRING ) ) otherlv_8= 'textalign' ( (lv_textalign_9_0= ruleTextAlignEnum ) ) otherlv_10= '}'
             {
-            otherlv_0=(Token)match(input,68,FOLLOW_4); if (state.failed) return current;
+            otherlv_0=(Token)match(input,69,FOLLOW_4); if (state.failed) return current;
             if ( state.backtracking==0 ) {
 
               			newLeafNode(otherlv_0, grammarAccess.getTimeFormatAccess().getTimeKeyword_0());
               		
             }
-            // InternalReportDSL.g:3650:3: ( (lv_name_1_0= RULE_ID ) )
-            // InternalReportDSL.g:3651:4: (lv_name_1_0= RULE_ID )
+            // InternalReportDSL.g:3718:3: ( (lv_name_1_0= RULE_ID ) )
+            // InternalReportDSL.g:3719:4: (lv_name_1_0= RULE_ID )
             {
-            // InternalReportDSL.g:3651:4: (lv_name_1_0= RULE_ID )
-            // InternalReportDSL.g:3652:5: lv_name_1_0= RULE_ID
+            // InternalReportDSL.g:3719:4: (lv_name_1_0= RULE_ID )
+            // InternalReportDSL.g:3720:5: lv_name_1_0= RULE_ID
             {
             lv_name_1_0=(Token)match(input,RULE_ID,FOLLOW_5); if (state.failed) return current;
             if ( state.backtracking==0 ) {
@@ -9436,25 +9620,25 @@
 
             }
 
-            otherlv_2=(Token)match(input,14,FOLLOW_49); if (state.failed) return current;
+            otherlv_2=(Token)match(input,14,FOLLOW_51); if (state.failed) return current;
             if ( state.backtracking==0 ) {
 
               			newLeafNode(otherlv_2, grammarAccess.getTimeFormatAccess().getLeftCurlyBracketKeyword_2());
               		
             }
-            otherlv_3=(Token)match(input,62,FOLLOW_8); if (state.failed) return current;
+            otherlv_3=(Token)match(input,63,FOLLOW_8); if (state.failed) return current;
             if ( state.backtracking==0 ) {
 
               			newLeafNode(otherlv_3, grammarAccess.getTimeFormatAccess().getUiKeyword_3());
               		
             }
-            // InternalReportDSL.g:3676:3: ( (lv_ui_pattern_4_0= RULE_STRING ) )
-            // InternalReportDSL.g:3677:4: (lv_ui_pattern_4_0= RULE_STRING )
+            // InternalReportDSL.g:3744:3: ( (lv_ui_pattern_4_0= RULE_STRING ) )
+            // InternalReportDSL.g:3745:4: (lv_ui_pattern_4_0= RULE_STRING )
             {
-            // InternalReportDSL.g:3677:4: (lv_ui_pattern_4_0= RULE_STRING )
-            // InternalReportDSL.g:3678:5: lv_ui_pattern_4_0= RULE_STRING
+            // InternalReportDSL.g:3745:4: (lv_ui_pattern_4_0= RULE_STRING )
+            // InternalReportDSL.g:3746:5: lv_ui_pattern_4_0= RULE_STRING
             {
-            lv_ui_pattern_4_0=(Token)match(input,RULE_STRING,FOLLOW_50); if (state.failed) return current;
+            lv_ui_pattern_4_0=(Token)match(input,RULE_STRING,FOLLOW_52); if (state.failed) return current;
             if ( state.backtracking==0 ) {
 
               					newLeafNode(lv_ui_pattern_4_0, grammarAccess.getTimeFormatAccess().getUi_patternSTRINGTerminalRuleCall_4_0());
@@ -9478,17 +9662,17 @@
 
             }
 
-            otherlv_5=(Token)match(input,63,FOLLOW_54); if (state.failed) return current;
+            otherlv_5=(Token)match(input,64,FOLLOW_56); if (state.failed) return current;
             if ( state.backtracking==0 ) {
 
               			newLeafNode(otherlv_5, grammarAccess.getTimeFormatAccess().getReportKeyword_5());
               		
             }
-            // InternalReportDSL.g:3698:3: ( (lv_report_category_6_0= ruleTimeFormatCategoryEnum ) )
-            // InternalReportDSL.g:3699:4: (lv_report_category_6_0= ruleTimeFormatCategoryEnum )
+            // InternalReportDSL.g:3766:3: ( (lv_report_category_6_0= ruleTimeFormatCategoryEnum ) )
+            // InternalReportDSL.g:3767:4: (lv_report_category_6_0= ruleTimeFormatCategoryEnum )
             {
-            // InternalReportDSL.g:3699:4: (lv_report_category_6_0= ruleTimeFormatCategoryEnum )
-            // InternalReportDSL.g:3700:5: lv_report_category_6_0= ruleTimeFormatCategoryEnum
+            // InternalReportDSL.g:3767:4: (lv_report_category_6_0= ruleTimeFormatCategoryEnum )
+            // InternalReportDSL.g:3768:5: lv_report_category_6_0= ruleTimeFormatCategoryEnum
             {
             if ( state.backtracking==0 ) {
 
@@ -9519,13 +9703,13 @@
 
             }
 
-            // InternalReportDSL.g:3717:3: ( (lv_report_pattern_7_0= RULE_STRING ) )
-            // InternalReportDSL.g:3718:4: (lv_report_pattern_7_0= RULE_STRING )
+            // InternalReportDSL.g:3785:3: ( (lv_report_pattern_7_0= RULE_STRING ) )
+            // InternalReportDSL.g:3786:4: (lv_report_pattern_7_0= RULE_STRING )
             {
-            // InternalReportDSL.g:3718:4: (lv_report_pattern_7_0= RULE_STRING )
-            // InternalReportDSL.g:3719:5: lv_report_pattern_7_0= RULE_STRING
+            // InternalReportDSL.g:3786:4: (lv_report_pattern_7_0= RULE_STRING )
+            // InternalReportDSL.g:3787:5: lv_report_pattern_7_0= RULE_STRING
             {
-            lv_report_pattern_7_0=(Token)match(input,RULE_STRING,FOLLOW_51); if (state.failed) return current;
+            lv_report_pattern_7_0=(Token)match(input,RULE_STRING,FOLLOW_53); if (state.failed) return current;
             if ( state.backtracking==0 ) {
 
               					newLeafNode(lv_report_pattern_7_0, grammarAccess.getTimeFormatAccess().getReport_patternSTRINGTerminalRuleCall_7_0());
@@ -9549,17 +9733,17 @@
 
             }
 
-            otherlv_8=(Token)match(input,48,FOLLOW_45); if (state.failed) return current;
+            otherlv_8=(Token)match(input,48,FOLLOW_46); if (state.failed) return current;
             if ( state.backtracking==0 ) {
 
               			newLeafNode(otherlv_8, grammarAccess.getTimeFormatAccess().getTextalignKeyword_8());
               		
             }
-            // InternalReportDSL.g:3739:3: ( (lv_textalign_9_0= ruleTextAlignEnum ) )
-            // InternalReportDSL.g:3740:4: (lv_textalign_9_0= ruleTextAlignEnum )
+            // InternalReportDSL.g:3807:3: ( (lv_textalign_9_0= ruleTextAlignEnum ) )
+            // InternalReportDSL.g:3808:4: (lv_textalign_9_0= ruleTextAlignEnum )
             {
-            // InternalReportDSL.g:3740:4: (lv_textalign_9_0= ruleTextAlignEnum )
-            // InternalReportDSL.g:3741:5: lv_textalign_9_0= ruleTextAlignEnum
+            // InternalReportDSL.g:3808:4: (lv_textalign_9_0= ruleTextAlignEnum )
+            // InternalReportDSL.g:3809:5: lv_textalign_9_0= ruleTextAlignEnum
             {
             if ( state.backtracking==0 ) {
 
@@ -9621,7 +9805,7 @@
 
 
     // $ANTLR start "entryRuleReport"
-    // InternalReportDSL.g:3766:1: entryRuleReport returns [EObject current=null] : iv_ruleReport= ruleReport EOF ;
+    // InternalReportDSL.g:3834:1: entryRuleReport returns [EObject current=null] : iv_ruleReport= ruleReport EOF ;
     public final EObject entryRuleReport() throws RecognitionException {
         EObject current = null;
 
@@ -9629,8 +9813,8 @@
 
 
         try {
-            // InternalReportDSL.g:3766:47: (iv_ruleReport= ruleReport EOF )
-            // InternalReportDSL.g:3767:2: iv_ruleReport= ruleReport EOF
+            // InternalReportDSL.g:3834:47: (iv_ruleReport= ruleReport EOF )
+            // InternalReportDSL.g:3835:2: iv_ruleReport= ruleReport EOF
             {
             if ( state.backtracking==0 ) {
                newCompositeNode(grammarAccess.getReportRule()); 
@@ -9661,7 +9845,7 @@
 
 
     // $ANTLR start "ruleReport"
-    // InternalReportDSL.g:3773:1: ruleReport returns [EObject current=null] : (otherlv_0= 'report' ( (lv_name_1_0= RULE_ID ) ) ( ( (lv_description_2_0= 'describedBy' ) ) ( (lv_descriptionValue_3_0= ruleTRANSLATABLESTRING ) ) )? (otherlv_4= 'toolbar' ( (otherlv_5= RULE_ID ) ) )? otherlv_6= '{' otherlv_7= 'datamart' ( (otherlv_8= RULE_ID ) ) ( (lv_selectById_9_0= 'selectById' ) )? otherlv_10= 'rendering' ( (lv_rendering_11_0= ruleRenderingEnum ) ) (otherlv_12= 'externalCssURI' ( (lv_externalCssURI_13_0= RULE_STRING ) ) (otherlv_14= 'fromBundle' ( (lv_externalCssURIBundle_15_0= RULE_STRING ) ) )? )? (otherlv_16= 'defaultUnit' ( (lv_defaultUnit_17_0= ruleUnitEnum ) ) )? otherlv_18= 'pagetemplate' ( (otherlv_19= RULE_ID ) ) otherlv_20= 'media' ( (otherlv_21= RULE_ID ) ) ( (lv_design_22_0= ruleReportDesign ) ) otherlv_23= '}' ) ;
+    // InternalReportDSL.g:3841:1: ruleReport returns [EObject current=null] : (otherlv_0= 'report' ( (lv_name_1_0= RULE_ID ) ) ( ( (lv_description_2_0= 'describedBy' ) ) ( (lv_descriptionValue_3_0= ruleTRANSLATABLESTRING ) ) )? (otherlv_4= 'toolbar' ( (otherlv_5= RULE_ID ) ) )? otherlv_6= '{' otherlv_7= 'datamart' ( (otherlv_8= RULE_ID ) ) ( (lv_selectById_9_0= 'selectById' ) )? otherlv_10= 'rendering' ( (lv_rendering_11_0= ruleRenderingEnum ) ) (otherlv_12= 'externalCssURI' ( (lv_externalCssURI_13_0= RULE_STRING ) ) (otherlv_14= 'fromBundle' ( (lv_externalCssURIBundle_15_0= RULE_STRING ) ) )? )? (otherlv_16= 'defaultUnit' ( (lv_defaultUnit_17_0= ruleUnitEnum ) ) )? otherlv_18= 'pagetemplate' ( (otherlv_19= RULE_ID ) ) otherlv_20= 'media' ( (otherlv_21= RULE_ID ) ) ( (lv_design_22_0= ruleReportDesign ) ) otherlv_23= '}' ) ;
     public final EObject ruleReport() throws RecognitionException {
         EObject current = null;
 
@@ -9698,25 +9882,25 @@
         	enterRule();
 
         try {
-            // InternalReportDSL.g:3779:2: ( (otherlv_0= 'report' ( (lv_name_1_0= RULE_ID ) ) ( ( (lv_description_2_0= 'describedBy' ) ) ( (lv_descriptionValue_3_0= ruleTRANSLATABLESTRING ) ) )? (otherlv_4= 'toolbar' ( (otherlv_5= RULE_ID ) ) )? otherlv_6= '{' otherlv_7= 'datamart' ( (otherlv_8= RULE_ID ) ) ( (lv_selectById_9_0= 'selectById' ) )? otherlv_10= 'rendering' ( (lv_rendering_11_0= ruleRenderingEnum ) ) (otherlv_12= 'externalCssURI' ( (lv_externalCssURI_13_0= RULE_STRING ) ) (otherlv_14= 'fromBundle' ( (lv_externalCssURIBundle_15_0= RULE_STRING ) ) )? )? (otherlv_16= 'defaultUnit' ( (lv_defaultUnit_17_0= ruleUnitEnum ) ) )? otherlv_18= 'pagetemplate' ( (otherlv_19= RULE_ID ) ) otherlv_20= 'media' ( (otherlv_21= RULE_ID ) ) ( (lv_design_22_0= ruleReportDesign ) ) otherlv_23= '}' ) )
-            // InternalReportDSL.g:3780:2: (otherlv_0= 'report' ( (lv_name_1_0= RULE_ID ) ) ( ( (lv_description_2_0= 'describedBy' ) ) ( (lv_descriptionValue_3_0= ruleTRANSLATABLESTRING ) ) )? (otherlv_4= 'toolbar' ( (otherlv_5= RULE_ID ) ) )? otherlv_6= '{' otherlv_7= 'datamart' ( (otherlv_8= RULE_ID ) ) ( (lv_selectById_9_0= 'selectById' ) )? otherlv_10= 'rendering' ( (lv_rendering_11_0= ruleRenderingEnum ) ) (otherlv_12= 'externalCssURI' ( (lv_externalCssURI_13_0= RULE_STRING ) ) (otherlv_14= 'fromBundle' ( (lv_externalCssURIBundle_15_0= RULE_STRING ) ) )? )? (otherlv_16= 'defaultUnit' ( (lv_defaultUnit_17_0= ruleUnitEnum ) ) )? otherlv_18= 'pagetemplate' ( (otherlv_19= RULE_ID ) ) otherlv_20= 'media' ( (otherlv_21= RULE_ID ) ) ( (lv_design_22_0= ruleReportDesign ) ) otherlv_23= '}' )
+            // InternalReportDSL.g:3847:2: ( (otherlv_0= 'report' ( (lv_name_1_0= RULE_ID ) ) ( ( (lv_description_2_0= 'describedBy' ) ) ( (lv_descriptionValue_3_0= ruleTRANSLATABLESTRING ) ) )? (otherlv_4= 'toolbar' ( (otherlv_5= RULE_ID ) ) )? otherlv_6= '{' otherlv_7= 'datamart' ( (otherlv_8= RULE_ID ) ) ( (lv_selectById_9_0= 'selectById' ) )? otherlv_10= 'rendering' ( (lv_rendering_11_0= ruleRenderingEnum ) ) (otherlv_12= 'externalCssURI' ( (lv_externalCssURI_13_0= RULE_STRING ) ) (otherlv_14= 'fromBundle' ( (lv_externalCssURIBundle_15_0= RULE_STRING ) ) )? )? (otherlv_16= 'defaultUnit' ( (lv_defaultUnit_17_0= ruleUnitEnum ) ) )? otherlv_18= 'pagetemplate' ( (otherlv_19= RULE_ID ) ) otherlv_20= 'media' ( (otherlv_21= RULE_ID ) ) ( (lv_design_22_0= ruleReportDesign ) ) otherlv_23= '}' ) )
+            // InternalReportDSL.g:3848:2: (otherlv_0= 'report' ( (lv_name_1_0= RULE_ID ) ) ( ( (lv_description_2_0= 'describedBy' ) ) ( (lv_descriptionValue_3_0= ruleTRANSLATABLESTRING ) ) )? (otherlv_4= 'toolbar' ( (otherlv_5= RULE_ID ) ) )? otherlv_6= '{' otherlv_7= 'datamart' ( (otherlv_8= RULE_ID ) ) ( (lv_selectById_9_0= 'selectById' ) )? otherlv_10= 'rendering' ( (lv_rendering_11_0= ruleRenderingEnum ) ) (otherlv_12= 'externalCssURI' ( (lv_externalCssURI_13_0= RULE_STRING ) ) (otherlv_14= 'fromBundle' ( (lv_externalCssURIBundle_15_0= RULE_STRING ) ) )? )? (otherlv_16= 'defaultUnit' ( (lv_defaultUnit_17_0= ruleUnitEnum ) ) )? otherlv_18= 'pagetemplate' ( (otherlv_19= RULE_ID ) ) otherlv_20= 'media' ( (otherlv_21= RULE_ID ) ) ( (lv_design_22_0= ruleReportDesign ) ) otherlv_23= '}' )
             {
-            // InternalReportDSL.g:3780:2: (otherlv_0= 'report' ( (lv_name_1_0= RULE_ID ) ) ( ( (lv_description_2_0= 'describedBy' ) ) ( (lv_descriptionValue_3_0= ruleTRANSLATABLESTRING ) ) )? (otherlv_4= 'toolbar' ( (otherlv_5= RULE_ID ) ) )? otherlv_6= '{' otherlv_7= 'datamart' ( (otherlv_8= RULE_ID ) ) ( (lv_selectById_9_0= 'selectById' ) )? otherlv_10= 'rendering' ( (lv_rendering_11_0= ruleRenderingEnum ) ) (otherlv_12= 'externalCssURI' ( (lv_externalCssURI_13_0= RULE_STRING ) ) (otherlv_14= 'fromBundle' ( (lv_externalCssURIBundle_15_0= RULE_STRING ) ) )? )? (otherlv_16= 'defaultUnit' ( (lv_defaultUnit_17_0= ruleUnitEnum ) ) )? otherlv_18= 'pagetemplate' ( (otherlv_19= RULE_ID ) ) otherlv_20= 'media' ( (otherlv_21= RULE_ID ) ) ( (lv_design_22_0= ruleReportDesign ) ) otherlv_23= '}' )
-            // InternalReportDSL.g:3781:3: otherlv_0= 'report' ( (lv_name_1_0= RULE_ID ) ) ( ( (lv_description_2_0= 'describedBy' ) ) ( (lv_descriptionValue_3_0= ruleTRANSLATABLESTRING ) ) )? (otherlv_4= 'toolbar' ( (otherlv_5= RULE_ID ) ) )? otherlv_6= '{' otherlv_7= 'datamart' ( (otherlv_8= RULE_ID ) ) ( (lv_selectById_9_0= 'selectById' ) )? otherlv_10= 'rendering' ( (lv_rendering_11_0= ruleRenderingEnum ) ) (otherlv_12= 'externalCssURI' ( (lv_externalCssURI_13_0= RULE_STRING ) ) (otherlv_14= 'fromBundle' ( (lv_externalCssURIBundle_15_0= RULE_STRING ) ) )? )? (otherlv_16= 'defaultUnit' ( (lv_defaultUnit_17_0= ruleUnitEnum ) ) )? otherlv_18= 'pagetemplate' ( (otherlv_19= RULE_ID ) ) otherlv_20= 'media' ( (otherlv_21= RULE_ID ) ) ( (lv_design_22_0= ruleReportDesign ) ) otherlv_23= '}'
+            // InternalReportDSL.g:3848:2: (otherlv_0= 'report' ( (lv_name_1_0= RULE_ID ) ) ( ( (lv_description_2_0= 'describedBy' ) ) ( (lv_descriptionValue_3_0= ruleTRANSLATABLESTRING ) ) )? (otherlv_4= 'toolbar' ( (otherlv_5= RULE_ID ) ) )? otherlv_6= '{' otherlv_7= 'datamart' ( (otherlv_8= RULE_ID ) ) ( (lv_selectById_9_0= 'selectById' ) )? otherlv_10= 'rendering' ( (lv_rendering_11_0= ruleRenderingEnum ) ) (otherlv_12= 'externalCssURI' ( (lv_externalCssURI_13_0= RULE_STRING ) ) (otherlv_14= 'fromBundle' ( (lv_externalCssURIBundle_15_0= RULE_STRING ) ) )? )? (otherlv_16= 'defaultUnit' ( (lv_defaultUnit_17_0= ruleUnitEnum ) ) )? otherlv_18= 'pagetemplate' ( (otherlv_19= RULE_ID ) ) otherlv_20= 'media' ( (otherlv_21= RULE_ID ) ) ( (lv_design_22_0= ruleReportDesign ) ) otherlv_23= '}' )
+            // InternalReportDSL.g:3849:3: otherlv_0= 'report' ( (lv_name_1_0= RULE_ID ) ) ( ( (lv_description_2_0= 'describedBy' ) ) ( (lv_descriptionValue_3_0= ruleTRANSLATABLESTRING ) ) )? (otherlv_4= 'toolbar' ( (otherlv_5= RULE_ID ) ) )? otherlv_6= '{' otherlv_7= 'datamart' ( (otherlv_8= RULE_ID ) ) ( (lv_selectById_9_0= 'selectById' ) )? otherlv_10= 'rendering' ( (lv_rendering_11_0= ruleRenderingEnum ) ) (otherlv_12= 'externalCssURI' ( (lv_externalCssURI_13_0= RULE_STRING ) ) (otherlv_14= 'fromBundle' ( (lv_externalCssURIBundle_15_0= RULE_STRING ) ) )? )? (otherlv_16= 'defaultUnit' ( (lv_defaultUnit_17_0= ruleUnitEnum ) ) )? otherlv_18= 'pagetemplate' ( (otherlv_19= RULE_ID ) ) otherlv_20= 'media' ( (otherlv_21= RULE_ID ) ) ( (lv_design_22_0= ruleReportDesign ) ) otherlv_23= '}'
             {
-            otherlv_0=(Token)match(input,63,FOLLOW_4); if (state.failed) return current;
+            otherlv_0=(Token)match(input,64,FOLLOW_4); if (state.failed) return current;
             if ( state.backtracking==0 ) {
 
               			newLeafNode(otherlv_0, grammarAccess.getReportAccess().getReportKeyword_0());
               		
             }
-            // InternalReportDSL.g:3785:3: ( (lv_name_1_0= RULE_ID ) )
-            // InternalReportDSL.g:3786:4: (lv_name_1_0= RULE_ID )
+            // InternalReportDSL.g:3853:3: ( (lv_name_1_0= RULE_ID ) )
+            // InternalReportDSL.g:3854:4: (lv_name_1_0= RULE_ID )
             {
-            // InternalReportDSL.g:3786:4: (lv_name_1_0= RULE_ID )
-            // InternalReportDSL.g:3787:5: lv_name_1_0= RULE_ID
+            // InternalReportDSL.g:3854:4: (lv_name_1_0= RULE_ID )
+            // InternalReportDSL.g:3855:5: lv_name_1_0= RULE_ID
             {
-            lv_name_1_0=(Token)match(input,RULE_ID,FOLLOW_55); if (state.failed) return current;
+            lv_name_1_0=(Token)match(input,RULE_ID,FOLLOW_57); if (state.failed) return current;
             if ( state.backtracking==0 ) {
 
               					newLeafNode(lv_name_1_0, grammarAccess.getReportAccess().getNameIDTerminalRuleCall_1_0());
@@ -9740,24 +9924,24 @@
 
             }
 
-            // InternalReportDSL.g:3803:3: ( ( (lv_description_2_0= 'describedBy' ) ) ( (lv_descriptionValue_3_0= ruleTRANSLATABLESTRING ) ) )?
-            int alt26=2;
-            int LA26_0 = input.LA(1);
+            // InternalReportDSL.g:3871:3: ( ( (lv_description_2_0= 'describedBy' ) ) ( (lv_descriptionValue_3_0= ruleTRANSLATABLESTRING ) ) )?
+            int alt27=2;
+            int LA27_0 = input.LA(1);
 
-            if ( (LA26_0==69) ) {
-                alt26=1;
+            if ( (LA27_0==70) ) {
+                alt27=1;
             }
-            switch (alt26) {
+            switch (alt27) {
                 case 1 :
-                    // InternalReportDSL.g:3804:4: ( (lv_description_2_0= 'describedBy' ) ) ( (lv_descriptionValue_3_0= ruleTRANSLATABLESTRING ) )
+                    // InternalReportDSL.g:3872:4: ( (lv_description_2_0= 'describedBy' ) ) ( (lv_descriptionValue_3_0= ruleTRANSLATABLESTRING ) )
                     {
-                    // InternalReportDSL.g:3804:4: ( (lv_description_2_0= 'describedBy' ) )
-                    // InternalReportDSL.g:3805:5: (lv_description_2_0= 'describedBy' )
+                    // InternalReportDSL.g:3872:4: ( (lv_description_2_0= 'describedBy' ) )
+                    // InternalReportDSL.g:3873:5: (lv_description_2_0= 'describedBy' )
                     {
-                    // InternalReportDSL.g:3805:5: (lv_description_2_0= 'describedBy' )
-                    // InternalReportDSL.g:3806:6: lv_description_2_0= 'describedBy'
+                    // InternalReportDSL.g:3873:5: (lv_description_2_0= 'describedBy' )
+                    // InternalReportDSL.g:3874:6: lv_description_2_0= 'describedBy'
                     {
-                    lv_description_2_0=(Token)match(input,69,FOLLOW_8); if (state.failed) return current;
+                    lv_description_2_0=(Token)match(input,70,FOLLOW_8); if (state.failed) return current;
                     if ( state.backtracking==0 ) {
 
                       						newLeafNode(lv_description_2_0, grammarAccess.getReportAccess().getDescriptionDescribedByKeyword_2_0_0());
@@ -9777,18 +9961,18 @@
 
                     }
 
-                    // InternalReportDSL.g:3818:4: ( (lv_descriptionValue_3_0= ruleTRANSLATABLESTRING ) )
-                    // InternalReportDSL.g:3819:5: (lv_descriptionValue_3_0= ruleTRANSLATABLESTRING )
+                    // InternalReportDSL.g:3886:4: ( (lv_descriptionValue_3_0= ruleTRANSLATABLESTRING ) )
+                    // InternalReportDSL.g:3887:5: (lv_descriptionValue_3_0= ruleTRANSLATABLESTRING )
                     {
-                    // InternalReportDSL.g:3819:5: (lv_descriptionValue_3_0= ruleTRANSLATABLESTRING )
-                    // InternalReportDSL.g:3820:6: lv_descriptionValue_3_0= ruleTRANSLATABLESTRING
+                    // InternalReportDSL.g:3887:5: (lv_descriptionValue_3_0= ruleTRANSLATABLESTRING )
+                    // InternalReportDSL.g:3888:6: lv_descriptionValue_3_0= ruleTRANSLATABLESTRING
                     {
                     if ( state.backtracking==0 ) {
 
                       						newCompositeNode(grammarAccess.getReportAccess().getDescriptionValueTRANSLATABLESTRINGParserRuleCall_2_1_0());
                       					
                     }
-                    pushFollow(FOLLOW_56);
+                    pushFollow(FOLLOW_58);
                     lv_descriptionValue_3_0=ruleTRANSLATABLESTRING();
 
                     state._fsp--;
@@ -9818,28 +10002,28 @@
 
             }
 
-            // InternalReportDSL.g:3838:3: (otherlv_4= 'toolbar' ( (otherlv_5= RULE_ID ) ) )?
-            int alt27=2;
-            int LA27_0 = input.LA(1);
+            // InternalReportDSL.g:3906:3: (otherlv_4= 'toolbar' ( (otherlv_5= RULE_ID ) ) )?
+            int alt28=2;
+            int LA28_0 = input.LA(1);
 
-            if ( (LA27_0==70) ) {
-                alt27=1;
+            if ( (LA28_0==71) ) {
+                alt28=1;
             }
-            switch (alt27) {
+            switch (alt28) {
                 case 1 :
-                    // InternalReportDSL.g:3839:4: otherlv_4= 'toolbar' ( (otherlv_5= RULE_ID ) )
+                    // InternalReportDSL.g:3907:4: otherlv_4= 'toolbar' ( (otherlv_5= RULE_ID ) )
                     {
-                    otherlv_4=(Token)match(input,70,FOLLOW_4); if (state.failed) return current;
+                    otherlv_4=(Token)match(input,71,FOLLOW_4); if (state.failed) return current;
                     if ( state.backtracking==0 ) {
 
                       				newLeafNode(otherlv_4, grammarAccess.getReportAccess().getToolbarKeyword_3_0());
                       			
                     }
-                    // InternalReportDSL.g:3843:4: ( (otherlv_5= RULE_ID ) )
-                    // InternalReportDSL.g:3844:5: (otherlv_5= RULE_ID )
+                    // InternalReportDSL.g:3911:4: ( (otherlv_5= RULE_ID ) )
+                    // InternalReportDSL.g:3912:5: (otherlv_5= RULE_ID )
                     {
-                    // InternalReportDSL.g:3844:5: (otherlv_5= RULE_ID )
-                    // InternalReportDSL.g:3845:6: otherlv_5= RULE_ID
+                    // InternalReportDSL.g:3912:5: (otherlv_5= RULE_ID )
+                    // InternalReportDSL.g:3913:6: otherlv_5= RULE_ID
                     {
                     if ( state.backtracking==0 ) {
 
@@ -9866,23 +10050,23 @@
 
             }
 
-            otherlv_6=(Token)match(input,14,FOLLOW_57); if (state.failed) return current;
+            otherlv_6=(Token)match(input,14,FOLLOW_59); if (state.failed) return current;
             if ( state.backtracking==0 ) {
 
               			newLeafNode(otherlv_6, grammarAccess.getReportAccess().getLeftCurlyBracketKeyword_4());
               		
             }
-            otherlv_7=(Token)match(input,71,FOLLOW_4); if (state.failed) return current;
+            otherlv_7=(Token)match(input,72,FOLLOW_4); if (state.failed) return current;
             if ( state.backtracking==0 ) {
 
               			newLeafNode(otherlv_7, grammarAccess.getReportAccess().getDatamartKeyword_5());
               		
             }
-            // InternalReportDSL.g:3865:3: ( (otherlv_8= RULE_ID ) )
-            // InternalReportDSL.g:3866:4: (otherlv_8= RULE_ID )
+            // InternalReportDSL.g:3933:3: ( (otherlv_8= RULE_ID ) )
+            // InternalReportDSL.g:3934:4: (otherlv_8= RULE_ID )
             {
-            // InternalReportDSL.g:3866:4: (otherlv_8= RULE_ID )
-            // InternalReportDSL.g:3867:5: otherlv_8= RULE_ID
+            // InternalReportDSL.g:3934:4: (otherlv_8= RULE_ID )
+            // InternalReportDSL.g:3935:5: otherlv_8= RULE_ID
             {
             if ( state.backtracking==0 ) {
 
@@ -9891,7 +10075,7 @@
               					}
               				
             }
-            otherlv_8=(Token)match(input,RULE_ID,FOLLOW_58); if (state.failed) return current;
+            otherlv_8=(Token)match(input,RULE_ID,FOLLOW_60); if (state.failed) return current;
             if ( state.backtracking==0 ) {
 
               					newLeafNode(otherlv_8, grammarAccess.getReportAccess().getDatamartRefDatamartDefinitionCrossReference_6_0());
@@ -9903,21 +10087,21 @@
 
             }
 
-            // InternalReportDSL.g:3878:3: ( (lv_selectById_9_0= 'selectById' ) )?
-            int alt28=2;
-            int LA28_0 = input.LA(1);
+            // InternalReportDSL.g:3946:3: ( (lv_selectById_9_0= 'selectById' ) )?
+            int alt29=2;
+            int LA29_0 = input.LA(1);
 
-            if ( (LA28_0==72) ) {
-                alt28=1;
+            if ( (LA29_0==73) ) {
+                alt29=1;
             }
-            switch (alt28) {
+            switch (alt29) {
                 case 1 :
-                    // InternalReportDSL.g:3879:4: (lv_selectById_9_0= 'selectById' )
+                    // InternalReportDSL.g:3947:4: (lv_selectById_9_0= 'selectById' )
                     {
-                    // InternalReportDSL.g:3879:4: (lv_selectById_9_0= 'selectById' )
-                    // InternalReportDSL.g:3880:5: lv_selectById_9_0= 'selectById'
+                    // InternalReportDSL.g:3947:4: (lv_selectById_9_0= 'selectById' )
+                    // InternalReportDSL.g:3948:5: lv_selectById_9_0= 'selectById'
                     {
-                    lv_selectById_9_0=(Token)match(input,72,FOLLOW_59); if (state.failed) return current;
+                    lv_selectById_9_0=(Token)match(input,73,FOLLOW_61); if (state.failed) return current;
                     if ( state.backtracking==0 ) {
 
                       					newLeafNode(lv_selectById_9_0, grammarAccess.getReportAccess().getSelectByIdSelectByIdKeyword_7_0());
@@ -9940,24 +10124,24 @@
 
             }
 
-            otherlv_10=(Token)match(input,73,FOLLOW_60); if (state.failed) return current;
+            otherlv_10=(Token)match(input,74,FOLLOW_62); if (state.failed) return current;
             if ( state.backtracking==0 ) {
 
               			newLeafNode(otherlv_10, grammarAccess.getReportAccess().getRenderingKeyword_8());
               		
             }
-            // InternalReportDSL.g:3896:3: ( (lv_rendering_11_0= ruleRenderingEnum ) )
-            // InternalReportDSL.g:3897:4: (lv_rendering_11_0= ruleRenderingEnum )
+            // InternalReportDSL.g:3964:3: ( (lv_rendering_11_0= ruleRenderingEnum ) )
+            // InternalReportDSL.g:3965:4: (lv_rendering_11_0= ruleRenderingEnum )
             {
-            // InternalReportDSL.g:3897:4: (lv_rendering_11_0= ruleRenderingEnum )
-            // InternalReportDSL.g:3898:5: lv_rendering_11_0= ruleRenderingEnum
+            // InternalReportDSL.g:3965:4: (lv_rendering_11_0= ruleRenderingEnum )
+            // InternalReportDSL.g:3966:5: lv_rendering_11_0= ruleRenderingEnum
             {
             if ( state.backtracking==0 ) {
 
               					newCompositeNode(grammarAccess.getReportAccess().getRenderingRenderingEnumEnumRuleCall_9_0());
               				
             }
-            pushFollow(FOLLOW_61);
+            pushFollow(FOLLOW_63);
             lv_rendering_11_0=ruleRenderingEnum();
 
             state._fsp--;
@@ -9981,16 +10165,16 @@
 
             }
 
-            // InternalReportDSL.g:3915:3: (otherlv_12= 'externalCssURI' ( (lv_externalCssURI_13_0= RULE_STRING ) ) (otherlv_14= 'fromBundle' ( (lv_externalCssURIBundle_15_0= RULE_STRING ) ) )? )?
-            int alt30=2;
-            int LA30_0 = input.LA(1);
+            // InternalReportDSL.g:3983:3: (otherlv_12= 'externalCssURI' ( (lv_externalCssURI_13_0= RULE_STRING ) ) (otherlv_14= 'fromBundle' ( (lv_externalCssURIBundle_15_0= RULE_STRING ) ) )? )?
+            int alt31=2;
+            int LA31_0 = input.LA(1);
 
-            if ( (LA30_0==16) ) {
-                alt30=1;
+            if ( (LA31_0==16) ) {
+                alt31=1;
             }
-            switch (alt30) {
+            switch (alt31) {
                 case 1 :
-                    // InternalReportDSL.g:3916:4: otherlv_12= 'externalCssURI' ( (lv_externalCssURI_13_0= RULE_STRING ) ) (otherlv_14= 'fromBundle' ( (lv_externalCssURIBundle_15_0= RULE_STRING ) ) )?
+                    // InternalReportDSL.g:3984:4: otherlv_12= 'externalCssURI' ( (lv_externalCssURI_13_0= RULE_STRING ) ) (otherlv_14= 'fromBundle' ( (lv_externalCssURIBundle_15_0= RULE_STRING ) ) )?
                     {
                     otherlv_12=(Token)match(input,16,FOLLOW_8); if (state.failed) return current;
                     if ( state.backtracking==0 ) {
@@ -9998,13 +10182,13 @@
                       				newLeafNode(otherlv_12, grammarAccess.getReportAccess().getExternalCssURIKeyword_10_0());
                       			
                     }
-                    // InternalReportDSL.g:3920:4: ( (lv_externalCssURI_13_0= RULE_STRING ) )
-                    // InternalReportDSL.g:3921:5: (lv_externalCssURI_13_0= RULE_STRING )
+                    // InternalReportDSL.g:3988:4: ( (lv_externalCssURI_13_0= RULE_STRING ) )
+                    // InternalReportDSL.g:3989:5: (lv_externalCssURI_13_0= RULE_STRING )
                     {
-                    // InternalReportDSL.g:3921:5: (lv_externalCssURI_13_0= RULE_STRING )
-                    // InternalReportDSL.g:3922:6: lv_externalCssURI_13_0= RULE_STRING
+                    // InternalReportDSL.g:3989:5: (lv_externalCssURI_13_0= RULE_STRING )
+                    // InternalReportDSL.g:3990:6: lv_externalCssURI_13_0= RULE_STRING
                     {
-                    lv_externalCssURI_13_0=(Token)match(input,RULE_STRING,FOLLOW_62); if (state.failed) return current;
+                    lv_externalCssURI_13_0=(Token)match(input,RULE_STRING,FOLLOW_64); if (state.failed) return current;
                     if ( state.backtracking==0 ) {
 
                       						newLeafNode(lv_externalCssURI_13_0, grammarAccess.getReportAccess().getExternalCssURISTRINGTerminalRuleCall_10_1_0());
@@ -10028,16 +10212,16 @@
 
                     }
 
-                    // InternalReportDSL.g:3938:4: (otherlv_14= 'fromBundle' ( (lv_externalCssURIBundle_15_0= RULE_STRING ) ) )?
-                    int alt29=2;
-                    int LA29_0 = input.LA(1);
+                    // InternalReportDSL.g:4006:4: (otherlv_14= 'fromBundle' ( (lv_externalCssURIBundle_15_0= RULE_STRING ) ) )?
+                    int alt30=2;
+                    int LA30_0 = input.LA(1);
 
-                    if ( (LA29_0==17) ) {
-                        alt29=1;
+                    if ( (LA30_0==17) ) {
+                        alt30=1;
                     }
-                    switch (alt29) {
+                    switch (alt30) {
                         case 1 :
-                            // InternalReportDSL.g:3939:5: otherlv_14= 'fromBundle' ( (lv_externalCssURIBundle_15_0= RULE_STRING ) )
+                            // InternalReportDSL.g:4007:5: otherlv_14= 'fromBundle' ( (lv_externalCssURIBundle_15_0= RULE_STRING ) )
                             {
                             otherlv_14=(Token)match(input,17,FOLLOW_8); if (state.failed) return current;
                             if ( state.backtracking==0 ) {
@@ -10045,13 +10229,13 @@
                               					newLeafNode(otherlv_14, grammarAccess.getReportAccess().getFromBundleKeyword_10_2_0());
                               				
                             }
-                            // InternalReportDSL.g:3943:5: ( (lv_externalCssURIBundle_15_0= RULE_STRING ) )
-                            // InternalReportDSL.g:3944:6: (lv_externalCssURIBundle_15_0= RULE_STRING )
+                            // InternalReportDSL.g:4011:5: ( (lv_externalCssURIBundle_15_0= RULE_STRING ) )
+                            // InternalReportDSL.g:4012:6: (lv_externalCssURIBundle_15_0= RULE_STRING )
                             {
-                            // InternalReportDSL.g:3944:6: (lv_externalCssURIBundle_15_0= RULE_STRING )
-                            // InternalReportDSL.g:3945:7: lv_externalCssURIBundle_15_0= RULE_STRING
+                            // InternalReportDSL.g:4012:6: (lv_externalCssURIBundle_15_0= RULE_STRING )
+                            // InternalReportDSL.g:4013:7: lv_externalCssURIBundle_15_0= RULE_STRING
                             {
-                            lv_externalCssURIBundle_15_0=(Token)match(input,RULE_STRING,FOLLOW_63); if (state.failed) return current;
+                            lv_externalCssURIBundle_15_0=(Token)match(input,RULE_STRING,FOLLOW_65); if (state.failed) return current;
                             if ( state.backtracking==0 ) {
 
                               							newLeafNode(lv_externalCssURIBundle_15_0, grammarAccess.getReportAccess().getExternalCssURIBundleSTRINGTerminalRuleCall_10_2_1_0());
@@ -10087,35 +10271,35 @@
 
             }
 
-            // InternalReportDSL.g:3963:3: (otherlv_16= 'defaultUnit' ( (lv_defaultUnit_17_0= ruleUnitEnum ) ) )?
-            int alt31=2;
-            int LA31_0 = input.LA(1);
+            // InternalReportDSL.g:4031:3: (otherlv_16= 'defaultUnit' ( (lv_defaultUnit_17_0= ruleUnitEnum ) ) )?
+            int alt32=2;
+            int LA32_0 = input.LA(1);
 
-            if ( (LA31_0==74) ) {
-                alt31=1;
+            if ( (LA32_0==75) ) {
+                alt32=1;
             }
-            switch (alt31) {
+            switch (alt32) {
                 case 1 :
-                    // InternalReportDSL.g:3964:4: otherlv_16= 'defaultUnit' ( (lv_defaultUnit_17_0= ruleUnitEnum ) )
+                    // InternalReportDSL.g:4032:4: otherlv_16= 'defaultUnit' ( (lv_defaultUnit_17_0= ruleUnitEnum ) )
                     {
-                    otherlv_16=(Token)match(input,74,FOLLOW_41); if (state.failed) return current;
+                    otherlv_16=(Token)match(input,75,FOLLOW_41); if (state.failed) return current;
                     if ( state.backtracking==0 ) {
 
                       				newLeafNode(otherlv_16, grammarAccess.getReportAccess().getDefaultUnitKeyword_11_0());
                       			
                     }
-                    // InternalReportDSL.g:3968:4: ( (lv_defaultUnit_17_0= ruleUnitEnum ) )
-                    // InternalReportDSL.g:3969:5: (lv_defaultUnit_17_0= ruleUnitEnum )
+                    // InternalReportDSL.g:4036:4: ( (lv_defaultUnit_17_0= ruleUnitEnum ) )
+                    // InternalReportDSL.g:4037:5: (lv_defaultUnit_17_0= ruleUnitEnum )
                     {
-                    // InternalReportDSL.g:3969:5: (lv_defaultUnit_17_0= ruleUnitEnum )
-                    // InternalReportDSL.g:3970:6: lv_defaultUnit_17_0= ruleUnitEnum
+                    // InternalReportDSL.g:4037:5: (lv_defaultUnit_17_0= ruleUnitEnum )
+                    // InternalReportDSL.g:4038:6: lv_defaultUnit_17_0= ruleUnitEnum
                     {
                     if ( state.backtracking==0 ) {
 
                       						newCompositeNode(grammarAccess.getReportAccess().getDefaultUnitUnitEnumEnumRuleCall_11_1_0());
                       					
                     }
-                    pushFollow(FOLLOW_64);
+                    pushFollow(FOLLOW_66);
                     lv_defaultUnit_17_0=ruleUnitEnum();
 
                     state._fsp--;
@@ -10151,11 +10335,11 @@
               			newLeafNode(otherlv_18, grammarAccess.getReportAccess().getPagetemplateKeyword_12());
               		
             }
-            // InternalReportDSL.g:3992:3: ( (otherlv_19= RULE_ID ) )
-            // InternalReportDSL.g:3993:4: (otherlv_19= RULE_ID )
+            // InternalReportDSL.g:4060:3: ( (otherlv_19= RULE_ID ) )
+            // InternalReportDSL.g:4061:4: (otherlv_19= RULE_ID )
             {
-            // InternalReportDSL.g:3993:4: (otherlv_19= RULE_ID )
-            // InternalReportDSL.g:3994:5: otherlv_19= RULE_ID
+            // InternalReportDSL.g:4061:4: (otherlv_19= RULE_ID )
+            // InternalReportDSL.g:4062:5: otherlv_19= RULE_ID
             {
             if ( state.backtracking==0 ) {
 
@@ -10164,7 +10348,7 @@
               					}
               				
             }
-            otherlv_19=(Token)match(input,RULE_ID,FOLLOW_65); if (state.failed) return current;
+            otherlv_19=(Token)match(input,RULE_ID,FOLLOW_67); if (state.failed) return current;
             if ( state.backtracking==0 ) {
 
               					newLeafNode(otherlv_19, grammarAccess.getReportAccess().getPageTemplatePageTemplateCrossReference_13_0());
@@ -10182,11 +10366,11 @@
               			newLeafNode(otherlv_20, grammarAccess.getReportAccess().getMediaKeyword_14());
               		
             }
-            // InternalReportDSL.g:4009:3: ( (otherlv_21= RULE_ID ) )
-            // InternalReportDSL.g:4010:4: (otherlv_21= RULE_ID )
+            // InternalReportDSL.g:4077:3: ( (otherlv_21= RULE_ID ) )
+            // InternalReportDSL.g:4078:4: (otherlv_21= RULE_ID )
             {
-            // InternalReportDSL.g:4010:4: (otherlv_21= RULE_ID )
-            // InternalReportDSL.g:4011:5: otherlv_21= RULE_ID
+            // InternalReportDSL.g:4078:4: (otherlv_21= RULE_ID )
+            // InternalReportDSL.g:4079:5: otherlv_21= RULE_ID
             {
             if ( state.backtracking==0 ) {
 
@@ -10195,7 +10379,7 @@
               					}
               				
             }
-            otherlv_21=(Token)match(input,RULE_ID,FOLLOW_66); if (state.failed) return current;
+            otherlv_21=(Token)match(input,RULE_ID,FOLLOW_68); if (state.failed) return current;
             if ( state.backtracking==0 ) {
 
               					newLeafNode(otherlv_21, grammarAccess.getReportAccess().getMediaMediaCrossReference_15_0());
@@ -10207,11 +10391,11 @@
 
             }
 
-            // InternalReportDSL.g:4022:3: ( (lv_design_22_0= ruleReportDesign ) )
-            // InternalReportDSL.g:4023:4: (lv_design_22_0= ruleReportDesign )
+            // InternalReportDSL.g:4090:3: ( (lv_design_22_0= ruleReportDesign ) )
+            // InternalReportDSL.g:4091:4: (lv_design_22_0= ruleReportDesign )
             {
-            // InternalReportDSL.g:4023:4: (lv_design_22_0= ruleReportDesign )
-            // InternalReportDSL.g:4024:5: lv_design_22_0= ruleReportDesign
+            // InternalReportDSL.g:4091:4: (lv_design_22_0= ruleReportDesign )
+            // InternalReportDSL.g:4092:5: lv_design_22_0= ruleReportDesign
             {
             if ( state.backtracking==0 ) {
 
@@ -10273,7 +10457,7 @@
 
 
     // $ANTLR start "entryRuleReportDesign"
-    // InternalReportDSL.g:4049:1: entryRuleReportDesign returns [EObject current=null] : iv_ruleReportDesign= ruleReportDesign EOF ;
+    // InternalReportDSL.g:4117:1: entryRuleReportDesign returns [EObject current=null] : iv_ruleReportDesign= ruleReportDesign EOF ;
     public final EObject entryRuleReportDesign() throws RecognitionException {
         EObject current = null;
 
@@ -10281,8 +10465,8 @@
 
 
         try {
-            // InternalReportDSL.g:4049:53: (iv_ruleReportDesign= ruleReportDesign EOF )
-            // InternalReportDSL.g:4050:2: iv_ruleReportDesign= ruleReportDesign EOF
+            // InternalReportDSL.g:4117:53: (iv_ruleReportDesign= ruleReportDesign EOF )
+            // InternalReportDSL.g:4118:2: iv_ruleReportDesign= ruleReportDesign EOF
             {
             if ( state.backtracking==0 ) {
                newCompositeNode(grammarAccess.getReportDesignRule()); 
@@ -10313,7 +10497,7 @@
 
 
     // $ANTLR start "ruleReportDesign"
-    // InternalReportDSL.g:4056:1: ruleReportDesign returns [EObject current=null] : (this_ReportDesignFile_0= ruleReportDesignFile | this_ReportDesignTemplate_1= ruleReportDesignTemplate ) ;
+    // InternalReportDSL.g:4124:1: ruleReportDesign returns [EObject current=null] : (this_ReportDesignFile_0= ruleReportDesignFile | this_ReportDesignTemplate_1= ruleReportDesignTemplate ) ;
     public final EObject ruleReportDesign() throws RecognitionException {
         EObject current = null;
 
@@ -10326,29 +10510,29 @@
         	enterRule();
 
         try {
-            // InternalReportDSL.g:4062:2: ( (this_ReportDesignFile_0= ruleReportDesignFile | this_ReportDesignTemplate_1= ruleReportDesignTemplate ) )
-            // InternalReportDSL.g:4063:2: (this_ReportDesignFile_0= ruleReportDesignFile | this_ReportDesignTemplate_1= ruleReportDesignTemplate )
+            // InternalReportDSL.g:4130:2: ( (this_ReportDesignFile_0= ruleReportDesignFile | this_ReportDesignTemplate_1= ruleReportDesignTemplate ) )
+            // InternalReportDSL.g:4131:2: (this_ReportDesignFile_0= ruleReportDesignFile | this_ReportDesignTemplate_1= ruleReportDesignTemplate )
             {
-            // InternalReportDSL.g:4063:2: (this_ReportDesignFile_0= ruleReportDesignFile | this_ReportDesignTemplate_1= ruleReportDesignTemplate )
-            int alt32=2;
-            int LA32_0 = input.LA(1);
+            // InternalReportDSL.g:4131:2: (this_ReportDesignFile_0= ruleReportDesignFile | this_ReportDesignTemplate_1= ruleReportDesignTemplate )
+            int alt33=2;
+            int LA33_0 = input.LA(1);
 
-            if ( (LA32_0==75) ) {
-                alt32=1;
+            if ( (LA33_0==76) ) {
+                alt33=1;
             }
-            else if ( (LA32_0==76) ) {
-                alt32=2;
+            else if ( (LA33_0==77) ) {
+                alt33=2;
             }
             else {
                 if (state.backtracking>0) {state.failed=true; return current;}
                 NoViableAltException nvae =
-                    new NoViableAltException("", 32, 0, input);
+                    new NoViableAltException("", 33, 0, input);
 
                 throw nvae;
             }
-            switch (alt32) {
+            switch (alt33) {
                 case 1 :
-                    // InternalReportDSL.g:4064:3: this_ReportDesignFile_0= ruleReportDesignFile
+                    // InternalReportDSL.g:4132:3: this_ReportDesignFile_0= ruleReportDesignFile
                     {
                     if ( state.backtracking==0 ) {
 
@@ -10370,7 +10554,7 @@
                     }
                     break;
                 case 2 :
-                    // InternalReportDSL.g:4073:3: this_ReportDesignTemplate_1= ruleReportDesignTemplate
+                    // InternalReportDSL.g:4141:3: this_ReportDesignTemplate_1= ruleReportDesignTemplate
                     {
                     if ( state.backtracking==0 ) {
 
@@ -10416,7 +10600,7 @@
 
 
     // $ANTLR start "entryRuleReportDesignFile"
-    // InternalReportDSL.g:4085:1: entryRuleReportDesignFile returns [EObject current=null] : iv_ruleReportDesignFile= ruleReportDesignFile EOF ;
+    // InternalReportDSL.g:4153:1: entryRuleReportDesignFile returns [EObject current=null] : iv_ruleReportDesignFile= ruleReportDesignFile EOF ;
     public final EObject entryRuleReportDesignFile() throws RecognitionException {
         EObject current = null;
 
@@ -10424,8 +10608,8 @@
 
 
         try {
-            // InternalReportDSL.g:4085:57: (iv_ruleReportDesignFile= ruleReportDesignFile EOF )
-            // InternalReportDSL.g:4086:2: iv_ruleReportDesignFile= ruleReportDesignFile EOF
+            // InternalReportDSL.g:4153:57: (iv_ruleReportDesignFile= ruleReportDesignFile EOF )
+            // InternalReportDSL.g:4154:2: iv_ruleReportDesignFile= ruleReportDesignFile EOF
             {
             if ( state.backtracking==0 ) {
                newCompositeNode(grammarAccess.getReportDesignFileRule()); 
@@ -10456,7 +10640,7 @@
 
 
     // $ANTLR start "ruleReportDesignFile"
-    // InternalReportDSL.g:4092:1: ruleReportDesignFile returns [EObject current=null] : (otherlv_0= 'file' ( (lv_name_1_0= RULE_STRING ) ) ) ;
+    // InternalReportDSL.g:4160:1: ruleReportDesignFile returns [EObject current=null] : (otherlv_0= 'file' ( (lv_name_1_0= RULE_STRING ) ) ) ;
     public final EObject ruleReportDesignFile() throws RecognitionException {
         EObject current = null;
 
@@ -10467,23 +10651,23 @@
         	enterRule();
 
         try {
-            // InternalReportDSL.g:4098:2: ( (otherlv_0= 'file' ( (lv_name_1_0= RULE_STRING ) ) ) )
-            // InternalReportDSL.g:4099:2: (otherlv_0= 'file' ( (lv_name_1_0= RULE_STRING ) ) )
+            // InternalReportDSL.g:4166:2: ( (otherlv_0= 'file' ( (lv_name_1_0= RULE_STRING ) ) ) )
+            // InternalReportDSL.g:4167:2: (otherlv_0= 'file' ( (lv_name_1_0= RULE_STRING ) ) )
             {
-            // InternalReportDSL.g:4099:2: (otherlv_0= 'file' ( (lv_name_1_0= RULE_STRING ) ) )
-            // InternalReportDSL.g:4100:3: otherlv_0= 'file' ( (lv_name_1_0= RULE_STRING ) )
+            // InternalReportDSL.g:4167:2: (otherlv_0= 'file' ( (lv_name_1_0= RULE_STRING ) ) )
+            // InternalReportDSL.g:4168:3: otherlv_0= 'file' ( (lv_name_1_0= RULE_STRING ) )
             {
-            otherlv_0=(Token)match(input,75,FOLLOW_8); if (state.failed) return current;
+            otherlv_0=(Token)match(input,76,FOLLOW_8); if (state.failed) return current;
             if ( state.backtracking==0 ) {
 
               			newLeafNode(otherlv_0, grammarAccess.getReportDesignFileAccess().getFileKeyword_0());
               		
             }
-            // InternalReportDSL.g:4104:3: ( (lv_name_1_0= RULE_STRING ) )
-            // InternalReportDSL.g:4105:4: (lv_name_1_0= RULE_STRING )
+            // InternalReportDSL.g:4172:3: ( (lv_name_1_0= RULE_STRING ) )
+            // InternalReportDSL.g:4173:4: (lv_name_1_0= RULE_STRING )
             {
-            // InternalReportDSL.g:4105:4: (lv_name_1_0= RULE_STRING )
-            // InternalReportDSL.g:4106:5: lv_name_1_0= RULE_STRING
+            // InternalReportDSL.g:4173:4: (lv_name_1_0= RULE_STRING )
+            // InternalReportDSL.g:4174:5: lv_name_1_0= RULE_STRING
             {
             lv_name_1_0=(Token)match(input,RULE_STRING,FOLLOW_2); if (state.failed) return current;
             if ( state.backtracking==0 ) {
@@ -10534,7 +10718,7 @@
 
 
     // $ANTLR start "entryRuleReportDesignTemplate"
-    // InternalReportDSL.g:4126:1: entryRuleReportDesignTemplate returns [EObject current=null] : iv_ruleReportDesignTemplate= ruleReportDesignTemplate EOF ;
+    // InternalReportDSL.g:4194:1: entryRuleReportDesignTemplate returns [EObject current=null] : iv_ruleReportDesignTemplate= ruleReportDesignTemplate EOF ;
     public final EObject entryRuleReportDesignTemplate() throws RecognitionException {
         EObject current = null;
 
@@ -10542,8 +10726,8 @@
 
 
         try {
-            // InternalReportDSL.g:4126:61: (iv_ruleReportDesignTemplate= ruleReportDesignTemplate EOF )
-            // InternalReportDSL.g:4127:2: iv_ruleReportDesignTemplate= ruleReportDesignTemplate EOF
+            // InternalReportDSL.g:4194:61: (iv_ruleReportDesignTemplate= ruleReportDesignTemplate EOF )
+            // InternalReportDSL.g:4195:2: iv_ruleReportDesignTemplate= ruleReportDesignTemplate EOF
             {
             if ( state.backtracking==0 ) {
                newCompositeNode(grammarAccess.getReportDesignTemplateRule()); 
@@ -10574,7 +10758,7 @@
 
 
     // $ANTLR start "ruleReportDesignTemplate"
-    // InternalReportDSL.g:4133:1: ruleReportDesignTemplate returns [EObject current=null] : (otherlv_0= 'template' otherlv_1= '{' (otherlv_2= 'describedBy' ( (lv_description_3_0= RULE_STRING ) ) )? ( (lv_header_4_0= rulePageHeader ) )? ( (lv_detail_5_0= rulePageDetail ) ) ( (lv_footer_6_0= rulePageFooter ) )? otherlv_7= '}' ) ;
+    // InternalReportDSL.g:4201:1: ruleReportDesignTemplate returns [EObject current=null] : (otherlv_0= 'template' otherlv_1= '{' (otherlv_2= 'describedBy' ( (lv_description_3_0= RULE_STRING ) ) )? ( (lv_header_4_0= rulePageHeader ) )? ( (lv_detail_5_0= rulePageDetail ) ) ( (lv_footer_6_0= rulePageFooter ) )? otherlv_7= '}' ) ;
     public final EObject ruleReportDesignTemplate() throws RecognitionException {
         EObject current = null;
 
@@ -10594,48 +10778,48 @@
         	enterRule();
 
         try {
-            // InternalReportDSL.g:4139:2: ( (otherlv_0= 'template' otherlv_1= '{' (otherlv_2= 'describedBy' ( (lv_description_3_0= RULE_STRING ) ) )? ( (lv_header_4_0= rulePageHeader ) )? ( (lv_detail_5_0= rulePageDetail ) ) ( (lv_footer_6_0= rulePageFooter ) )? otherlv_7= '}' ) )
-            // InternalReportDSL.g:4140:2: (otherlv_0= 'template' otherlv_1= '{' (otherlv_2= 'describedBy' ( (lv_description_3_0= RULE_STRING ) ) )? ( (lv_header_4_0= rulePageHeader ) )? ( (lv_detail_5_0= rulePageDetail ) ) ( (lv_footer_6_0= rulePageFooter ) )? otherlv_7= '}' )
+            // InternalReportDSL.g:4207:2: ( (otherlv_0= 'template' otherlv_1= '{' (otherlv_2= 'describedBy' ( (lv_description_3_0= RULE_STRING ) ) )? ( (lv_header_4_0= rulePageHeader ) )? ( (lv_detail_5_0= rulePageDetail ) ) ( (lv_footer_6_0= rulePageFooter ) )? otherlv_7= '}' ) )
+            // InternalReportDSL.g:4208:2: (otherlv_0= 'template' otherlv_1= '{' (otherlv_2= 'describedBy' ( (lv_description_3_0= RULE_STRING ) ) )? ( (lv_header_4_0= rulePageHeader ) )? ( (lv_detail_5_0= rulePageDetail ) ) ( (lv_footer_6_0= rulePageFooter ) )? otherlv_7= '}' )
             {
-            // InternalReportDSL.g:4140:2: (otherlv_0= 'template' otherlv_1= '{' (otherlv_2= 'describedBy' ( (lv_description_3_0= RULE_STRING ) ) )? ( (lv_header_4_0= rulePageHeader ) )? ( (lv_detail_5_0= rulePageDetail ) ) ( (lv_footer_6_0= rulePageFooter ) )? otherlv_7= '}' )
-            // InternalReportDSL.g:4141:3: otherlv_0= 'template' otherlv_1= '{' (otherlv_2= 'describedBy' ( (lv_description_3_0= RULE_STRING ) ) )? ( (lv_header_4_0= rulePageHeader ) )? ( (lv_detail_5_0= rulePageDetail ) ) ( (lv_footer_6_0= rulePageFooter ) )? otherlv_7= '}'
+            // InternalReportDSL.g:4208:2: (otherlv_0= 'template' otherlv_1= '{' (otherlv_2= 'describedBy' ( (lv_description_3_0= RULE_STRING ) ) )? ( (lv_header_4_0= rulePageHeader ) )? ( (lv_detail_5_0= rulePageDetail ) ) ( (lv_footer_6_0= rulePageFooter ) )? otherlv_7= '}' )
+            // InternalReportDSL.g:4209:3: otherlv_0= 'template' otherlv_1= '{' (otherlv_2= 'describedBy' ( (lv_description_3_0= RULE_STRING ) ) )? ( (lv_header_4_0= rulePageHeader ) )? ( (lv_detail_5_0= rulePageDetail ) ) ( (lv_footer_6_0= rulePageFooter ) )? otherlv_7= '}'
             {
-            otherlv_0=(Token)match(input,76,FOLLOW_5); if (state.failed) return current;
+            otherlv_0=(Token)match(input,77,FOLLOW_5); if (state.failed) return current;
             if ( state.backtracking==0 ) {
 
               			newLeafNode(otherlv_0, grammarAccess.getReportDesignTemplateAccess().getTemplateKeyword_0());
               		
             }
-            otherlv_1=(Token)match(input,14,FOLLOW_67); if (state.failed) return current;
+            otherlv_1=(Token)match(input,14,FOLLOW_69); if (state.failed) return current;
             if ( state.backtracking==0 ) {
 
               			newLeafNode(otherlv_1, grammarAccess.getReportDesignTemplateAccess().getLeftCurlyBracketKeyword_1());
               		
             }
-            // InternalReportDSL.g:4149:3: (otherlv_2= 'describedBy' ( (lv_description_3_0= RULE_STRING ) ) )?
-            int alt33=2;
-            int LA33_0 = input.LA(1);
+            // InternalReportDSL.g:4217:3: (otherlv_2= 'describedBy' ( (lv_description_3_0= RULE_STRING ) ) )?
+            int alt34=2;
+            int LA34_0 = input.LA(1);
 
-            if ( (LA33_0==69) ) {
-                alt33=1;
+            if ( (LA34_0==70) ) {
+                alt34=1;
             }
-            switch (alt33) {
+            switch (alt34) {
                 case 1 :
-                    // InternalReportDSL.g:4150:4: otherlv_2= 'describedBy' ( (lv_description_3_0= RULE_STRING ) )
+                    // InternalReportDSL.g:4218:4: otherlv_2= 'describedBy' ( (lv_description_3_0= RULE_STRING ) )
                     {
-                    otherlv_2=(Token)match(input,69,FOLLOW_8); if (state.failed) return current;
+                    otherlv_2=(Token)match(input,70,FOLLOW_8); if (state.failed) return current;
                     if ( state.backtracking==0 ) {
 
                       				newLeafNode(otherlv_2, grammarAccess.getReportDesignTemplateAccess().getDescribedByKeyword_2_0());
                       			
                     }
-                    // InternalReportDSL.g:4154:4: ( (lv_description_3_0= RULE_STRING ) )
-                    // InternalReportDSL.g:4155:5: (lv_description_3_0= RULE_STRING )
+                    // InternalReportDSL.g:4222:4: ( (lv_description_3_0= RULE_STRING ) )
+                    // InternalReportDSL.g:4223:5: (lv_description_3_0= RULE_STRING )
                     {
-                    // InternalReportDSL.g:4155:5: (lv_description_3_0= RULE_STRING )
-                    // InternalReportDSL.g:4156:6: lv_description_3_0= RULE_STRING
+                    // InternalReportDSL.g:4223:5: (lv_description_3_0= RULE_STRING )
+                    // InternalReportDSL.g:4224:6: lv_description_3_0= RULE_STRING
                     {
-                    lv_description_3_0=(Token)match(input,RULE_STRING,FOLLOW_67); if (state.failed) return current;
+                    lv_description_3_0=(Token)match(input,RULE_STRING,FOLLOW_69); if (state.failed) return current;
                     if ( state.backtracking==0 ) {
 
                       						newLeafNode(lv_description_3_0, grammarAccess.getReportDesignTemplateAccess().getDescriptionSTRINGTerminalRuleCall_2_1_0());
@@ -10665,26 +10849,26 @@
 
             }
 
-            // InternalReportDSL.g:4173:3: ( (lv_header_4_0= rulePageHeader ) )?
-            int alt34=2;
-            int LA34_0 = input.LA(1);
+            // InternalReportDSL.g:4241:3: ( (lv_header_4_0= rulePageHeader ) )?
+            int alt35=2;
+            int LA35_0 = input.LA(1);
 
-            if ( (LA34_0==77) ) {
-                alt34=1;
+            if ( (LA35_0==78) ) {
+                alt35=1;
             }
-            switch (alt34) {
+            switch (alt35) {
                 case 1 :
-                    // InternalReportDSL.g:4174:4: (lv_header_4_0= rulePageHeader )
+                    // InternalReportDSL.g:4242:4: (lv_header_4_0= rulePageHeader )
                     {
-                    // InternalReportDSL.g:4174:4: (lv_header_4_0= rulePageHeader )
-                    // InternalReportDSL.g:4175:5: lv_header_4_0= rulePageHeader
+                    // InternalReportDSL.g:4242:4: (lv_header_4_0= rulePageHeader )
+                    // InternalReportDSL.g:4243:5: lv_header_4_0= rulePageHeader
                     {
                     if ( state.backtracking==0 ) {
 
                       					newCompositeNode(grammarAccess.getReportDesignTemplateAccess().getHeaderPageHeaderParserRuleCall_3_0());
                       				
                     }
-                    pushFollow(FOLLOW_67);
+                    pushFollow(FOLLOW_69);
                     lv_header_4_0=rulePageHeader();
 
                     state._fsp--;
@@ -10711,11 +10895,11 @@
 
             }
 
-            // InternalReportDSL.g:4192:3: ( (lv_detail_5_0= rulePageDetail ) )
-            // InternalReportDSL.g:4193:4: (lv_detail_5_0= rulePageDetail )
+            // InternalReportDSL.g:4260:3: ( (lv_detail_5_0= rulePageDetail ) )
+            // InternalReportDSL.g:4261:4: (lv_detail_5_0= rulePageDetail )
             {
-            // InternalReportDSL.g:4193:4: (lv_detail_5_0= rulePageDetail )
-            // InternalReportDSL.g:4194:5: lv_detail_5_0= rulePageDetail
+            // InternalReportDSL.g:4261:4: (lv_detail_5_0= rulePageDetail )
+            // InternalReportDSL.g:4262:5: lv_detail_5_0= rulePageDetail
             {
             if ( state.backtracking==0 ) {
 
@@ -10746,19 +10930,19 @@
 
             }
 
-            // InternalReportDSL.g:4211:3: ( (lv_footer_6_0= rulePageFooter ) )?
-            int alt35=2;
-            int LA35_0 = input.LA(1);
+            // InternalReportDSL.g:4279:3: ( (lv_footer_6_0= rulePageFooter ) )?
+            int alt36=2;
+            int LA36_0 = input.LA(1);
 
-            if ( (LA35_0==81) ) {
-                alt35=1;
+            if ( (LA36_0==82) ) {
+                alt36=1;
             }
-            switch (alt35) {
+            switch (alt36) {
                 case 1 :
-                    // InternalReportDSL.g:4212:4: (lv_footer_6_0= rulePageFooter )
+                    // InternalReportDSL.g:4280:4: (lv_footer_6_0= rulePageFooter )
                     {
-                    // InternalReportDSL.g:4212:4: (lv_footer_6_0= rulePageFooter )
-                    // InternalReportDSL.g:4213:5: lv_footer_6_0= rulePageFooter
+                    // InternalReportDSL.g:4280:4: (lv_footer_6_0= rulePageFooter )
+                    // InternalReportDSL.g:4281:5: lv_footer_6_0= rulePageFooter
                     {
                     if ( state.backtracking==0 ) {
 
@@ -10823,7 +11007,7 @@
 
 
     // $ANTLR start "entryRulePageHeader"
-    // InternalReportDSL.g:4238:1: entryRulePageHeader returns [EObject current=null] : iv_rulePageHeader= rulePageHeader EOF ;
+    // InternalReportDSL.g:4306:1: entryRulePageHeader returns [EObject current=null] : iv_rulePageHeader= rulePageHeader EOF ;
     public final EObject entryRulePageHeader() throws RecognitionException {
         EObject current = null;
 
@@ -10831,8 +11015,8 @@
 
 
         try {
-            // InternalReportDSL.g:4238:51: (iv_rulePageHeader= rulePageHeader EOF )
-            // InternalReportDSL.g:4239:2: iv_rulePageHeader= rulePageHeader EOF
+            // InternalReportDSL.g:4306:51: (iv_rulePageHeader= rulePageHeader EOF )
+            // InternalReportDSL.g:4307:2: iv_rulePageHeader= rulePageHeader EOF
             {
             if ( state.backtracking==0 ) {
                newCompositeNode(grammarAccess.getPageHeaderRule()); 
@@ -10863,7 +11047,7 @@
 
 
     // $ANTLR start "rulePageHeader"
-    // InternalReportDSL.g:4245:1: rulePageHeader returns [EObject current=null] : ( () otherlv_1= 'header' otherlv_2= '{' ( (lv_showOnFirst_3_0= 'showOnFirst' ) )? otherlv_4= 'height' ( (lv_heightValue_5_0= ruleUnsignedNumber ) ) ( (lv_elements_6_0= ruleElement ) ) otherlv_7= '}' ) ;
+    // InternalReportDSL.g:4313:1: rulePageHeader returns [EObject current=null] : ( () otherlv_1= 'header' otherlv_2= '{' ( (lv_showOnFirst_3_0= 'showOnFirst' ) )? otherlv_4= 'height' ( (lv_heightValue_5_0= ruleUnsignedNumber ) ) ( (lv_elements_6_0= ruleElement ) ) otherlv_7= '}' ) ;
     public final EObject rulePageHeader() throws RecognitionException {
         EObject current = null;
 
@@ -10881,14 +11065,14 @@
         	enterRule();
 
         try {
-            // InternalReportDSL.g:4251:2: ( ( () otherlv_1= 'header' otherlv_2= '{' ( (lv_showOnFirst_3_0= 'showOnFirst' ) )? otherlv_4= 'height' ( (lv_heightValue_5_0= ruleUnsignedNumber ) ) ( (lv_elements_6_0= ruleElement ) ) otherlv_7= '}' ) )
-            // InternalReportDSL.g:4252:2: ( () otherlv_1= 'header' otherlv_2= '{' ( (lv_showOnFirst_3_0= 'showOnFirst' ) )? otherlv_4= 'height' ( (lv_heightValue_5_0= ruleUnsignedNumber ) ) ( (lv_elements_6_0= ruleElement ) ) otherlv_7= '}' )
+            // InternalReportDSL.g:4319:2: ( ( () otherlv_1= 'header' otherlv_2= '{' ( (lv_showOnFirst_3_0= 'showOnFirst' ) )? otherlv_4= 'height' ( (lv_heightValue_5_0= ruleUnsignedNumber ) ) ( (lv_elements_6_0= ruleElement ) ) otherlv_7= '}' ) )
+            // InternalReportDSL.g:4320:2: ( () otherlv_1= 'header' otherlv_2= '{' ( (lv_showOnFirst_3_0= 'showOnFirst' ) )? otherlv_4= 'height' ( (lv_heightValue_5_0= ruleUnsignedNumber ) ) ( (lv_elements_6_0= ruleElement ) ) otherlv_7= '}' )
             {
-            // InternalReportDSL.g:4252:2: ( () otherlv_1= 'header' otherlv_2= '{' ( (lv_showOnFirst_3_0= 'showOnFirst' ) )? otherlv_4= 'height' ( (lv_heightValue_5_0= ruleUnsignedNumber ) ) ( (lv_elements_6_0= ruleElement ) ) otherlv_7= '}' )
-            // InternalReportDSL.g:4253:3: () otherlv_1= 'header' otherlv_2= '{' ( (lv_showOnFirst_3_0= 'showOnFirst' ) )? otherlv_4= 'height' ( (lv_heightValue_5_0= ruleUnsignedNumber ) ) ( (lv_elements_6_0= ruleElement ) ) otherlv_7= '}'
+            // InternalReportDSL.g:4320:2: ( () otherlv_1= 'header' otherlv_2= '{' ( (lv_showOnFirst_3_0= 'showOnFirst' ) )? otherlv_4= 'height' ( (lv_heightValue_5_0= ruleUnsignedNumber ) ) ( (lv_elements_6_0= ruleElement ) ) otherlv_7= '}' )
+            // InternalReportDSL.g:4321:3: () otherlv_1= 'header' otherlv_2= '{' ( (lv_showOnFirst_3_0= 'showOnFirst' ) )? otherlv_4= 'height' ( (lv_heightValue_5_0= ruleUnsignedNumber ) ) ( (lv_elements_6_0= ruleElement ) ) otherlv_7= '}'
             {
-            // InternalReportDSL.g:4253:3: ()
-            // InternalReportDSL.g:4254:4: 
+            // InternalReportDSL.g:4321:3: ()
+            // InternalReportDSL.g:4322:4: 
             {
             if ( state.backtracking==0 ) {
 
@@ -10900,33 +11084,33 @@
 
             }
 
-            otherlv_1=(Token)match(input,77,FOLLOW_5); if (state.failed) return current;
+            otherlv_1=(Token)match(input,78,FOLLOW_5); if (state.failed) return current;
             if ( state.backtracking==0 ) {
 
               			newLeafNode(otherlv_1, grammarAccess.getPageHeaderAccess().getHeaderKeyword_1());
               		
             }
-            otherlv_2=(Token)match(input,14,FOLLOW_68); if (state.failed) return current;
+            otherlv_2=(Token)match(input,14,FOLLOW_70); if (state.failed) return current;
             if ( state.backtracking==0 ) {
 
               			newLeafNode(otherlv_2, grammarAccess.getPageHeaderAccess().getLeftCurlyBracketKeyword_2());
               		
             }
-            // InternalReportDSL.g:4268:3: ( (lv_showOnFirst_3_0= 'showOnFirst' ) )?
-            int alt36=2;
-            int LA36_0 = input.LA(1);
+            // InternalReportDSL.g:4336:3: ( (lv_showOnFirst_3_0= 'showOnFirst' ) )?
+            int alt37=2;
+            int LA37_0 = input.LA(1);
 
-            if ( (LA36_0==78) ) {
-                alt36=1;
+            if ( (LA37_0==79) ) {
+                alt37=1;
             }
-            switch (alt36) {
+            switch (alt37) {
                 case 1 :
-                    // InternalReportDSL.g:4269:4: (lv_showOnFirst_3_0= 'showOnFirst' )
+                    // InternalReportDSL.g:4337:4: (lv_showOnFirst_3_0= 'showOnFirst' )
                     {
-                    // InternalReportDSL.g:4269:4: (lv_showOnFirst_3_0= 'showOnFirst' )
-                    // InternalReportDSL.g:4270:5: lv_showOnFirst_3_0= 'showOnFirst'
+                    // InternalReportDSL.g:4337:4: (lv_showOnFirst_3_0= 'showOnFirst' )
+                    // InternalReportDSL.g:4338:5: lv_showOnFirst_3_0= 'showOnFirst'
                     {
-                    lv_showOnFirst_3_0=(Token)match(input,78,FOLLOW_69); if (state.failed) return current;
+                    lv_showOnFirst_3_0=(Token)match(input,79,FOLLOW_71); if (state.failed) return current;
                     if ( state.backtracking==0 ) {
 
                       					newLeafNode(lv_showOnFirst_3_0, grammarAccess.getPageHeaderAccess().getShowOnFirstShowOnFirstKeyword_3_0());
@@ -10949,24 +11133,24 @@
 
             }
 
-            otherlv_4=(Token)match(input,79,FOLLOW_28); if (state.failed) return current;
+            otherlv_4=(Token)match(input,80,FOLLOW_28); if (state.failed) return current;
             if ( state.backtracking==0 ) {
 
               			newLeafNode(otherlv_4, grammarAccess.getPageHeaderAccess().getHeightKeyword_4());
               		
             }
-            // InternalReportDSL.g:4286:3: ( (lv_heightValue_5_0= ruleUnsignedNumber ) )
-            // InternalReportDSL.g:4287:4: (lv_heightValue_5_0= ruleUnsignedNumber )
+            // InternalReportDSL.g:4354:3: ( (lv_heightValue_5_0= ruleUnsignedNumber ) )
+            // InternalReportDSL.g:4355:4: (lv_heightValue_5_0= ruleUnsignedNumber )
             {
-            // InternalReportDSL.g:4287:4: (lv_heightValue_5_0= ruleUnsignedNumber )
-            // InternalReportDSL.g:4288:5: lv_heightValue_5_0= ruleUnsignedNumber
+            // InternalReportDSL.g:4355:4: (lv_heightValue_5_0= ruleUnsignedNumber )
+            // InternalReportDSL.g:4356:5: lv_heightValue_5_0= ruleUnsignedNumber
             {
             if ( state.backtracking==0 ) {
 
               					newCompositeNode(grammarAccess.getPageHeaderAccess().getHeightValueUnsignedNumberParserRuleCall_5_0());
               				
             }
-            pushFollow(FOLLOW_70);
+            pushFollow(FOLLOW_72);
             lv_heightValue_5_0=ruleUnsignedNumber();
 
             state._fsp--;
@@ -10990,11 +11174,11 @@
 
             }
 
-            // InternalReportDSL.g:4305:3: ( (lv_elements_6_0= ruleElement ) )
-            // InternalReportDSL.g:4306:4: (lv_elements_6_0= ruleElement )
+            // InternalReportDSL.g:4373:3: ( (lv_elements_6_0= ruleElement ) )
+            // InternalReportDSL.g:4374:4: (lv_elements_6_0= ruleElement )
             {
-            // InternalReportDSL.g:4306:4: (lv_elements_6_0= ruleElement )
-            // InternalReportDSL.g:4307:5: lv_elements_6_0= ruleElement
+            // InternalReportDSL.g:4374:4: (lv_elements_6_0= ruleElement )
+            // InternalReportDSL.g:4375:5: lv_elements_6_0= ruleElement
             {
             if ( state.backtracking==0 ) {
 
@@ -11056,7 +11240,7 @@
 
 
     // $ANTLR start "entryRulePageDetail"
-    // InternalReportDSL.g:4332:1: entryRulePageDetail returns [EObject current=null] : iv_rulePageDetail= rulePageDetail EOF ;
+    // InternalReportDSL.g:4400:1: entryRulePageDetail returns [EObject current=null] : iv_rulePageDetail= rulePageDetail EOF ;
     public final EObject entryRulePageDetail() throws RecognitionException {
         EObject current = null;
 
@@ -11064,8 +11248,8 @@
 
 
         try {
-            // InternalReportDSL.g:4332:51: (iv_rulePageDetail= rulePageDetail EOF )
-            // InternalReportDSL.g:4333:2: iv_rulePageDetail= rulePageDetail EOF
+            // InternalReportDSL.g:4400:51: (iv_rulePageDetail= rulePageDetail EOF )
+            // InternalReportDSL.g:4401:2: iv_rulePageDetail= rulePageDetail EOF
             {
             if ( state.backtracking==0 ) {
                newCompositeNode(grammarAccess.getPageDetailRule()); 
@@ -11096,7 +11280,7 @@
 
 
     // $ANTLR start "rulePageDetail"
-    // InternalReportDSL.g:4339:1: rulePageDetail returns [EObject current=null] : ( () otherlv_1= 'detail' otherlv_2= '{' ( (lv_elements_3_0= ruleElement ) )* otherlv_4= '}' ) ;
+    // InternalReportDSL.g:4407:1: rulePageDetail returns [EObject current=null] : ( () otherlv_1= 'detail' otherlv_2= '{' ( (lv_elements_3_0= ruleElement ) )* otherlv_4= '}' ) ;
     public final EObject rulePageDetail() throws RecognitionException {
         EObject current = null;
 
@@ -11110,14 +11294,14 @@
         	enterRule();
 
         try {
-            // InternalReportDSL.g:4345:2: ( ( () otherlv_1= 'detail' otherlv_2= '{' ( (lv_elements_3_0= ruleElement ) )* otherlv_4= '}' ) )
-            // InternalReportDSL.g:4346:2: ( () otherlv_1= 'detail' otherlv_2= '{' ( (lv_elements_3_0= ruleElement ) )* otherlv_4= '}' )
+            // InternalReportDSL.g:4413:2: ( ( () otherlv_1= 'detail' otherlv_2= '{' ( (lv_elements_3_0= ruleElement ) )* otherlv_4= '}' ) )
+            // InternalReportDSL.g:4414:2: ( () otherlv_1= 'detail' otherlv_2= '{' ( (lv_elements_3_0= ruleElement ) )* otherlv_4= '}' )
             {
-            // InternalReportDSL.g:4346:2: ( () otherlv_1= 'detail' otherlv_2= '{' ( (lv_elements_3_0= ruleElement ) )* otherlv_4= '}' )
-            // InternalReportDSL.g:4347:3: () otherlv_1= 'detail' otherlv_2= '{' ( (lv_elements_3_0= ruleElement ) )* otherlv_4= '}'
+            // InternalReportDSL.g:4414:2: ( () otherlv_1= 'detail' otherlv_2= '{' ( (lv_elements_3_0= ruleElement ) )* otherlv_4= '}' )
+            // InternalReportDSL.g:4415:3: () otherlv_1= 'detail' otherlv_2= '{' ( (lv_elements_3_0= ruleElement ) )* otherlv_4= '}'
             {
-            // InternalReportDSL.g:4347:3: ()
-            // InternalReportDSL.g:4348:4: 
+            // InternalReportDSL.g:4415:3: ()
+            // InternalReportDSL.g:4416:4: 
             {
             if ( state.backtracking==0 ) {
 
@@ -11129,42 +11313,42 @@
 
             }
 
-            otherlv_1=(Token)match(input,80,FOLLOW_5); if (state.failed) return current;
+            otherlv_1=(Token)match(input,81,FOLLOW_5); if (state.failed) return current;
             if ( state.backtracking==0 ) {
 
               			newLeafNode(otherlv_1, grammarAccess.getPageDetailAccess().getDetailKeyword_1());
               		
             }
-            otherlv_2=(Token)match(input,14,FOLLOW_71); if (state.failed) return current;
+            otherlv_2=(Token)match(input,14,FOLLOW_73); if (state.failed) return current;
             if ( state.backtracking==0 ) {
 
               			newLeafNode(otherlv_2, grammarAccess.getPageDetailAccess().getLeftCurlyBracketKeyword_2());
               		
             }
-            // InternalReportDSL.g:4362:3: ( (lv_elements_3_0= ruleElement ) )*
-            loop37:
+            // InternalReportDSL.g:4430:3: ( (lv_elements_3_0= ruleElement ) )*
+            loop38:
             do {
-                int alt37=2;
-                int LA37_0 = input.LA(1);
+                int alt38=2;
+                int LA38_0 = input.LA(1);
 
-                if ( (LA37_0==83||LA37_0==89||(LA37_0>=99 && LA37_0<=100)||LA37_0==102||(LA37_0>=106 && LA37_0<=107)||(LA37_0>=120 && LA37_0<=125)) ) {
-                    alt37=1;
+                if ( (LA38_0==84||LA38_0==90||(LA38_0>=98 && LA38_0<=99)||LA38_0==101||(LA38_0>=105 && LA38_0<=106)||(LA38_0>=119 && LA38_0<=124)) ) {
+                    alt38=1;
                 }
 
 
-                switch (alt37) {
+                switch (alt38) {
             	case 1 :
-            	    // InternalReportDSL.g:4363:4: (lv_elements_3_0= ruleElement )
+            	    // InternalReportDSL.g:4431:4: (lv_elements_3_0= ruleElement )
             	    {
-            	    // InternalReportDSL.g:4363:4: (lv_elements_3_0= ruleElement )
-            	    // InternalReportDSL.g:4364:5: lv_elements_3_0= ruleElement
+            	    // InternalReportDSL.g:4431:4: (lv_elements_3_0= ruleElement )
+            	    // InternalReportDSL.g:4432:5: lv_elements_3_0= ruleElement
             	    {
             	    if ( state.backtracking==0 ) {
 
             	      					newCompositeNode(grammarAccess.getPageDetailAccess().getElementsElementParserRuleCall_3_0());
             	      				
             	    }
-            	    pushFollow(FOLLOW_71);
+            	    pushFollow(FOLLOW_73);
             	    lv_elements_3_0=ruleElement();
 
             	    state._fsp--;
@@ -11190,7 +11374,7 @@
             	    break;
 
             	default :
-            	    break loop37;
+            	    break loop38;
                 }
             } while (true);
 
@@ -11225,7 +11409,7 @@
 
 
     // $ANTLR start "entryRulePageFooter"
-    // InternalReportDSL.g:4389:1: entryRulePageFooter returns [EObject current=null] : iv_rulePageFooter= rulePageFooter EOF ;
+    // InternalReportDSL.g:4457:1: entryRulePageFooter returns [EObject current=null] : iv_rulePageFooter= rulePageFooter EOF ;
     public final EObject entryRulePageFooter() throws RecognitionException {
         EObject current = null;
 
@@ -11233,8 +11417,8 @@
 
 
         try {
-            // InternalReportDSL.g:4389:51: (iv_rulePageFooter= rulePageFooter EOF )
-            // InternalReportDSL.g:4390:2: iv_rulePageFooter= rulePageFooter EOF
+            // InternalReportDSL.g:4457:51: (iv_rulePageFooter= rulePageFooter EOF )
+            // InternalReportDSL.g:4458:2: iv_rulePageFooter= rulePageFooter EOF
             {
             if ( state.backtracking==0 ) {
                newCompositeNode(grammarAccess.getPageFooterRule()); 
@@ -11265,7 +11449,7 @@
 
 
     // $ANTLR start "rulePageFooter"
-    // InternalReportDSL.g:4396:1: rulePageFooter returns [EObject current=null] : ( () otherlv_1= 'footer' otherlv_2= '{' ( (lv_showOnLast_3_0= 'showOnLast' ) )? otherlv_4= 'height' ( (lv_heightValue_5_0= ruleUnsignedNumber ) ) ( (lv_elements_6_0= ruleElement ) ) otherlv_7= '}' ) ;
+    // InternalReportDSL.g:4464:1: rulePageFooter returns [EObject current=null] : ( () otherlv_1= 'footer' otherlv_2= '{' ( (lv_showOnLast_3_0= 'showOnLast' ) )? otherlv_4= 'height' ( (lv_heightValue_5_0= ruleUnsignedNumber ) ) ( (lv_elements_6_0= ruleElement ) ) otherlv_7= '}' ) ;
     public final EObject rulePageFooter() throws RecognitionException {
         EObject current = null;
 
@@ -11283,14 +11467,14 @@
         	enterRule();
 
         try {
-            // InternalReportDSL.g:4402:2: ( ( () otherlv_1= 'footer' otherlv_2= '{' ( (lv_showOnLast_3_0= 'showOnLast' ) )? otherlv_4= 'height' ( (lv_heightValue_5_0= ruleUnsignedNumber ) ) ( (lv_elements_6_0= ruleElement ) ) otherlv_7= '}' ) )
-            // InternalReportDSL.g:4403:2: ( () otherlv_1= 'footer' otherlv_2= '{' ( (lv_showOnLast_3_0= 'showOnLast' ) )? otherlv_4= 'height' ( (lv_heightValue_5_0= ruleUnsignedNumber ) ) ( (lv_elements_6_0= ruleElement ) ) otherlv_7= '}' )
+            // InternalReportDSL.g:4470:2: ( ( () otherlv_1= 'footer' otherlv_2= '{' ( (lv_showOnLast_3_0= 'showOnLast' ) )? otherlv_4= 'height' ( (lv_heightValue_5_0= ruleUnsignedNumber ) ) ( (lv_elements_6_0= ruleElement ) ) otherlv_7= '}' ) )
+            // InternalReportDSL.g:4471:2: ( () otherlv_1= 'footer' otherlv_2= '{' ( (lv_showOnLast_3_0= 'showOnLast' ) )? otherlv_4= 'height' ( (lv_heightValue_5_0= ruleUnsignedNumber ) ) ( (lv_elements_6_0= ruleElement ) ) otherlv_7= '}' )
             {
-            // InternalReportDSL.g:4403:2: ( () otherlv_1= 'footer' otherlv_2= '{' ( (lv_showOnLast_3_0= 'showOnLast' ) )? otherlv_4= 'height' ( (lv_heightValue_5_0= ruleUnsignedNumber ) ) ( (lv_elements_6_0= ruleElement ) ) otherlv_7= '}' )
-            // InternalReportDSL.g:4404:3: () otherlv_1= 'footer' otherlv_2= '{' ( (lv_showOnLast_3_0= 'showOnLast' ) )? otherlv_4= 'height' ( (lv_heightValue_5_0= ruleUnsignedNumber ) ) ( (lv_elements_6_0= ruleElement ) ) otherlv_7= '}'
+            // InternalReportDSL.g:4471:2: ( () otherlv_1= 'footer' otherlv_2= '{' ( (lv_showOnLast_3_0= 'showOnLast' ) )? otherlv_4= 'height' ( (lv_heightValue_5_0= ruleUnsignedNumber ) ) ( (lv_elements_6_0= ruleElement ) ) otherlv_7= '}' )
+            // InternalReportDSL.g:4472:3: () otherlv_1= 'footer' otherlv_2= '{' ( (lv_showOnLast_3_0= 'showOnLast' ) )? otherlv_4= 'height' ( (lv_heightValue_5_0= ruleUnsignedNumber ) ) ( (lv_elements_6_0= ruleElement ) ) otherlv_7= '}'
             {
-            // InternalReportDSL.g:4404:3: ()
-            // InternalReportDSL.g:4405:4: 
+            // InternalReportDSL.g:4472:3: ()
+            // InternalReportDSL.g:4473:4: 
             {
             if ( state.backtracking==0 ) {
 
@@ -11302,33 +11486,33 @@
 
             }
 
-            otherlv_1=(Token)match(input,81,FOLLOW_5); if (state.failed) return current;
+            otherlv_1=(Token)match(input,82,FOLLOW_5); if (state.failed) return current;
             if ( state.backtracking==0 ) {
 
               			newLeafNode(otherlv_1, grammarAccess.getPageFooterAccess().getFooterKeyword_1());
               		
             }
-            otherlv_2=(Token)match(input,14,FOLLOW_72); if (state.failed) return current;
+            otherlv_2=(Token)match(input,14,FOLLOW_74); if (state.failed) return current;
             if ( state.backtracking==0 ) {
 
               			newLeafNode(otherlv_2, grammarAccess.getPageFooterAccess().getLeftCurlyBracketKeyword_2());
               		
             }
-            // InternalReportDSL.g:4419:3: ( (lv_showOnLast_3_0= 'showOnLast' ) )?
-            int alt38=2;
-            int LA38_0 = input.LA(1);
+            // InternalReportDSL.g:4487:3: ( (lv_showOnLast_3_0= 'showOnLast' ) )?
+            int alt39=2;
+            int LA39_0 = input.LA(1);
 
-            if ( (LA38_0==82) ) {
-                alt38=1;
+            if ( (LA39_0==83) ) {
+                alt39=1;
             }
-            switch (alt38) {
+            switch (alt39) {
                 case 1 :
-                    // InternalReportDSL.g:4420:4: (lv_showOnLast_3_0= 'showOnLast' )
+                    // InternalReportDSL.g:4488:4: (lv_showOnLast_3_0= 'showOnLast' )
                     {
-                    // InternalReportDSL.g:4420:4: (lv_showOnLast_3_0= 'showOnLast' )
-                    // InternalReportDSL.g:4421:5: lv_showOnLast_3_0= 'showOnLast'
+                    // InternalReportDSL.g:4488:4: (lv_showOnLast_3_0= 'showOnLast' )
+                    // InternalReportDSL.g:4489:5: lv_showOnLast_3_0= 'showOnLast'
                     {
-                    lv_showOnLast_3_0=(Token)match(input,82,FOLLOW_69); if (state.failed) return current;
+                    lv_showOnLast_3_0=(Token)match(input,83,FOLLOW_71); if (state.failed) return current;
                     if ( state.backtracking==0 ) {
 
                       					newLeafNode(lv_showOnLast_3_0, grammarAccess.getPageFooterAccess().getShowOnLastShowOnLastKeyword_3_0());
@@ -11351,24 +11535,24 @@
 
             }
 
-            otherlv_4=(Token)match(input,79,FOLLOW_28); if (state.failed) return current;
+            otherlv_4=(Token)match(input,80,FOLLOW_28); if (state.failed) return current;
             if ( state.backtracking==0 ) {
 
               			newLeafNode(otherlv_4, grammarAccess.getPageFooterAccess().getHeightKeyword_4());
               		
             }
-            // InternalReportDSL.g:4437:3: ( (lv_heightValue_5_0= ruleUnsignedNumber ) )
-            // InternalReportDSL.g:4438:4: (lv_heightValue_5_0= ruleUnsignedNumber )
+            // InternalReportDSL.g:4505:3: ( (lv_heightValue_5_0= ruleUnsignedNumber ) )
+            // InternalReportDSL.g:4506:4: (lv_heightValue_5_0= ruleUnsignedNumber )
             {
-            // InternalReportDSL.g:4438:4: (lv_heightValue_5_0= ruleUnsignedNumber )
-            // InternalReportDSL.g:4439:5: lv_heightValue_5_0= ruleUnsignedNumber
+            // InternalReportDSL.g:4506:4: (lv_heightValue_5_0= ruleUnsignedNumber )
+            // InternalReportDSL.g:4507:5: lv_heightValue_5_0= ruleUnsignedNumber
             {
             if ( state.backtracking==0 ) {
 
               					newCompositeNode(grammarAccess.getPageFooterAccess().getHeightValueUnsignedNumberParserRuleCall_5_0());
               				
             }
-            pushFollow(FOLLOW_70);
+            pushFollow(FOLLOW_72);
             lv_heightValue_5_0=ruleUnsignedNumber();
 
             state._fsp--;
@@ -11392,11 +11576,11 @@
 
             }
 
-            // InternalReportDSL.g:4456:3: ( (lv_elements_6_0= ruleElement ) )
-            // InternalReportDSL.g:4457:4: (lv_elements_6_0= ruleElement )
+            // InternalReportDSL.g:4524:3: ( (lv_elements_6_0= ruleElement ) )
+            // InternalReportDSL.g:4525:4: (lv_elements_6_0= ruleElement )
             {
-            // InternalReportDSL.g:4457:4: (lv_elements_6_0= ruleElement )
-            // InternalReportDSL.g:4458:5: lv_elements_6_0= ruleElement
+            // InternalReportDSL.g:4525:4: (lv_elements_6_0= ruleElement )
+            // InternalReportDSL.g:4526:5: lv_elements_6_0= ruleElement
             {
             if ( state.backtracking==0 ) {
 
@@ -11458,7 +11642,7 @@
 
 
     // $ANTLR start "entryRuleElement"
-    // InternalReportDSL.g:4483:1: entryRuleElement returns [EObject current=null] : iv_ruleElement= ruleElement EOF ;
+    // InternalReportDSL.g:4551:1: entryRuleElement returns [EObject current=null] : iv_ruleElement= ruleElement EOF ;
     public final EObject entryRuleElement() throws RecognitionException {
         EObject current = null;
 
@@ -11466,8 +11650,8 @@
 
 
         try {
-            // InternalReportDSL.g:4483:48: (iv_ruleElement= ruleElement EOF )
-            // InternalReportDSL.g:4484:2: iv_ruleElement= ruleElement EOF
+            // InternalReportDSL.g:4551:48: (iv_ruleElement= ruleElement EOF )
+            // InternalReportDSL.g:4552:2: iv_ruleElement= ruleElement EOF
             {
             if ( state.backtracking==0 ) {
                newCompositeNode(grammarAccess.getElementRule()); 
@@ -11498,7 +11682,7 @@
 
 
     // $ANTLR start "ruleElement"
-    // InternalReportDSL.g:4490:1: ruleElement returns [EObject current=null] : (this_Title_0= ruleTitle | this_SubTitle_1= ruleSubTitle | this_SubSubTitle_2= ruleSubSubTitle | this_Label_3= ruleLabel | this_Text_4= ruleText | this_NonTranslatableText_5= ruleNonTranslatableText | this_AutoText_6= ruleAutoText | this_StringBinder_7= ruleStringBinder | this_Image_8= ruleImage | this_DatamartTable_9= ruleDatamartTable | this_DatamartTableAttribute_10= ruleDatamartTableAttribute | this_Grid_11= ruleGrid ) ;
+    // InternalReportDSL.g:4558:1: ruleElement returns [EObject current=null] : (this_Title_0= ruleTitle | this_SubTitle_1= ruleSubTitle | this_SubSubTitle_2= ruleSubSubTitle | this_Label_3= ruleLabel | this_Text_4= ruleText | this_NonTranslatableText_5= ruleNonTranslatableText | this_AutoText_6= ruleAutoText | this_StringBinder_7= ruleStringBinder | this_Image_8= ruleImage | this_DatamartTable_9= ruleDatamartTable | this_DatamartTableAttribute_10= ruleDatamartTableAttribute | this_Grid_11= ruleGrid ) ;
     public final EObject ruleElement() throws RecognitionException {
         EObject current = null;
 
@@ -11531,84 +11715,84 @@
         	enterRule();
 
         try {
-            // InternalReportDSL.g:4496:2: ( (this_Title_0= ruleTitle | this_SubTitle_1= ruleSubTitle | this_SubSubTitle_2= ruleSubSubTitle | this_Label_3= ruleLabel | this_Text_4= ruleText | this_NonTranslatableText_5= ruleNonTranslatableText | this_AutoText_6= ruleAutoText | this_StringBinder_7= ruleStringBinder | this_Image_8= ruleImage | this_DatamartTable_9= ruleDatamartTable | this_DatamartTableAttribute_10= ruleDatamartTableAttribute | this_Grid_11= ruleGrid ) )
-            // InternalReportDSL.g:4497:2: (this_Title_0= ruleTitle | this_SubTitle_1= ruleSubTitle | this_SubSubTitle_2= ruleSubSubTitle | this_Label_3= ruleLabel | this_Text_4= ruleText | this_NonTranslatableText_5= ruleNonTranslatableText | this_AutoText_6= ruleAutoText | this_StringBinder_7= ruleStringBinder | this_Image_8= ruleImage | this_DatamartTable_9= ruleDatamartTable | this_DatamartTableAttribute_10= ruleDatamartTableAttribute | this_Grid_11= ruleGrid )
+            // InternalReportDSL.g:4564:2: ( (this_Title_0= ruleTitle | this_SubTitle_1= ruleSubTitle | this_SubSubTitle_2= ruleSubSubTitle | this_Label_3= ruleLabel | this_Text_4= ruleText | this_NonTranslatableText_5= ruleNonTranslatableText | this_AutoText_6= ruleAutoText | this_StringBinder_7= ruleStringBinder | this_Image_8= ruleImage | this_DatamartTable_9= ruleDatamartTable | this_DatamartTableAttribute_10= ruleDatamartTableAttribute | this_Grid_11= ruleGrid ) )
+            // InternalReportDSL.g:4565:2: (this_Title_0= ruleTitle | this_SubTitle_1= ruleSubTitle | this_SubSubTitle_2= ruleSubSubTitle | this_Label_3= ruleLabel | this_Text_4= ruleText | this_NonTranslatableText_5= ruleNonTranslatableText | this_AutoText_6= ruleAutoText | this_StringBinder_7= ruleStringBinder | this_Image_8= ruleImage | this_DatamartTable_9= ruleDatamartTable | this_DatamartTableAttribute_10= ruleDatamartTableAttribute | this_Grid_11= ruleGrid )
             {
-            // InternalReportDSL.g:4497:2: (this_Title_0= ruleTitle | this_SubTitle_1= ruleSubTitle | this_SubSubTitle_2= ruleSubSubTitle | this_Label_3= ruleLabel | this_Text_4= ruleText | this_NonTranslatableText_5= ruleNonTranslatableText | this_AutoText_6= ruleAutoText | this_StringBinder_7= ruleStringBinder | this_Image_8= ruleImage | this_DatamartTable_9= ruleDatamartTable | this_DatamartTableAttribute_10= ruleDatamartTableAttribute | this_Grid_11= ruleGrid )
-            int alt39=12;
+            // InternalReportDSL.g:4565:2: (this_Title_0= ruleTitle | this_SubTitle_1= ruleSubTitle | this_SubSubTitle_2= ruleSubSubTitle | this_Label_3= ruleLabel | this_Text_4= ruleText | this_NonTranslatableText_5= ruleNonTranslatableText | this_AutoText_6= ruleAutoText | this_StringBinder_7= ruleStringBinder | this_Image_8= ruleImage | this_DatamartTable_9= ruleDatamartTable | this_DatamartTableAttribute_10= ruleDatamartTableAttribute | this_Grid_11= ruleGrid )
+            int alt40=12;
             switch ( input.LA(1) ) {
-            case 102:
+            case 101:
                 {
-                alt39=1;
+                alt40=1;
+                }
+                break;
+            case 119:
+                {
+                alt40=2;
                 }
                 break;
             case 120:
                 {
-                alt39=2;
+                alt40=3;
                 }
                 break;
             case 121:
                 {
-                alt39=3;
+                alt40=4;
                 }
                 break;
             case 122:
                 {
-                alt39=4;
+                alt40=5;
+                }
+                break;
+            case 105:
+                {
+                alt40=6;
                 }
                 break;
             case 123:
                 {
-                alt39=5;
+                alt40=7;
                 }
                 break;
             case 106:
                 {
-                alt39=6;
+                alt40=8;
                 }
                 break;
             case 124:
                 {
-                alt39=7;
+                alt40=9;
                 }
                 break;
-            case 107:
+            case 90:
                 {
-                alt39=8;
+                alt40=10;
                 }
                 break;
-            case 125:
-                {
-                alt39=9;
-                }
-                break;
-            case 89:
-                {
-                alt39=10;
-                }
-                break;
+            case 98:
             case 99:
-            case 100:
                 {
-                alt39=11;
+                alt40=11;
                 }
                 break;
-            case 83:
+            case 84:
                 {
-                alt39=12;
+                alt40=12;
                 }
                 break;
             default:
                 if (state.backtracking>0) {state.failed=true; return current;}
                 NoViableAltException nvae =
-                    new NoViableAltException("", 39, 0, input);
+                    new NoViableAltException("", 40, 0, input);
 
                 throw nvae;
             }
 
-            switch (alt39) {
+            switch (alt40) {
                 case 1 :
-                    // InternalReportDSL.g:4498:3: this_Title_0= ruleTitle
+                    // InternalReportDSL.g:4566:3: this_Title_0= ruleTitle
                     {
                     if ( state.backtracking==0 ) {
 
@@ -11630,7 +11814,7 @@
                     }
                     break;
                 case 2 :
-                    // InternalReportDSL.g:4507:3: this_SubTitle_1= ruleSubTitle
+                    // InternalReportDSL.g:4575:3: this_SubTitle_1= ruleSubTitle
                     {
                     if ( state.backtracking==0 ) {
 
@@ -11652,7 +11836,7 @@
                     }
                     break;
                 case 3 :
-                    // InternalReportDSL.g:4516:3: this_SubSubTitle_2= ruleSubSubTitle
+                    // InternalReportDSL.g:4584:3: this_SubSubTitle_2= ruleSubSubTitle
                     {
                     if ( state.backtracking==0 ) {
 
@@ -11674,7 +11858,7 @@
                     }
                     break;
                 case 4 :
-                    // InternalReportDSL.g:4525:3: this_Label_3= ruleLabel
+                    // InternalReportDSL.g:4593:3: this_Label_3= ruleLabel
                     {
                     if ( state.backtracking==0 ) {
 
@@ -11696,7 +11880,7 @@
                     }
                     break;
                 case 5 :
-                    // InternalReportDSL.g:4534:3: this_Text_4= ruleText
+                    // InternalReportDSL.g:4602:3: this_Text_4= ruleText
                     {
                     if ( state.backtracking==0 ) {
 
@@ -11718,7 +11902,7 @@
                     }
                     break;
                 case 6 :
-                    // InternalReportDSL.g:4543:3: this_NonTranslatableText_5= ruleNonTranslatableText
+                    // InternalReportDSL.g:4611:3: this_NonTranslatableText_5= ruleNonTranslatableText
                     {
                     if ( state.backtracking==0 ) {
 
@@ -11740,7 +11924,7 @@
                     }
                     break;
                 case 7 :
-                    // InternalReportDSL.g:4552:3: this_AutoText_6= ruleAutoText
+                    // InternalReportDSL.g:4620:3: this_AutoText_6= ruleAutoText
                     {
                     if ( state.backtracking==0 ) {
 
@@ -11762,7 +11946,7 @@
                     }
                     break;
                 case 8 :
-                    // InternalReportDSL.g:4561:3: this_StringBinder_7= ruleStringBinder
+                    // InternalReportDSL.g:4629:3: this_StringBinder_7= ruleStringBinder
                     {
                     if ( state.backtracking==0 ) {
 
@@ -11784,7 +11968,7 @@
                     }
                     break;
                 case 9 :
-                    // InternalReportDSL.g:4570:3: this_Image_8= ruleImage
+                    // InternalReportDSL.g:4638:3: this_Image_8= ruleImage
                     {
                     if ( state.backtracking==0 ) {
 
@@ -11806,7 +11990,7 @@
                     }
                     break;
                 case 10 :
-                    // InternalReportDSL.g:4579:3: this_DatamartTable_9= ruleDatamartTable
+                    // InternalReportDSL.g:4647:3: this_DatamartTable_9= ruleDatamartTable
                     {
                     if ( state.backtracking==0 ) {
 
@@ -11828,7 +12012,7 @@
                     }
                     break;
                 case 11 :
-                    // InternalReportDSL.g:4588:3: this_DatamartTableAttribute_10= ruleDatamartTableAttribute
+                    // InternalReportDSL.g:4656:3: this_DatamartTableAttribute_10= ruleDatamartTableAttribute
                     {
                     if ( state.backtracking==0 ) {
 
@@ -11850,7 +12034,7 @@
                     }
                     break;
                 case 12 :
-                    // InternalReportDSL.g:4597:3: this_Grid_11= ruleGrid
+                    // InternalReportDSL.g:4665:3: this_Grid_11= ruleGrid
                     {
                     if ( state.backtracking==0 ) {
 
@@ -11896,7 +12080,7 @@
 
 
     // $ANTLR start "entryRuleGrid"
-    // InternalReportDSL.g:4609:1: entryRuleGrid returns [EObject current=null] : iv_ruleGrid= ruleGrid EOF ;
+    // InternalReportDSL.g:4677:1: entryRuleGrid returns [EObject current=null] : iv_ruleGrid= ruleGrid EOF ;
     public final EObject entryRuleGrid() throws RecognitionException {
         EObject current = null;
 
@@ -11904,8 +12088,8 @@
 
 
         try {
-            // InternalReportDSL.g:4609:45: (iv_ruleGrid= ruleGrid EOF )
-            // InternalReportDSL.g:4610:2: iv_ruleGrid= ruleGrid EOF
+            // InternalReportDSL.g:4677:45: (iv_ruleGrid= ruleGrid EOF )
+            // InternalReportDSL.g:4678:2: iv_ruleGrid= ruleGrid EOF
             {
             if ( state.backtracking==0 ) {
                newCompositeNode(grammarAccess.getGridRule()); 
@@ -11936,35 +12120,37 @@
 
 
     // $ANTLR start "ruleGrid"
-    // InternalReportDSL.g:4616:1: ruleGrid returns [EObject current=null] : ( () otherlv_1= 'grid' (otherlv_2= 'as' ( (lv_name_3_0= RULE_ID ) ) )? (otherlv_4= 'width' ( (lv_widthValue_5_0= ruleUnsignedNumber ) ) )? ( (lv_visibilityItem_6_0= ruleVisibility ) )? otherlv_7= '{' ( (lv_rows_8_0= ruleGridRow ) )* otherlv_9= '}' ) ;
+    // InternalReportDSL.g:4684:1: ruleGrid returns [EObject current=null] : ( () otherlv_1= 'grid' (otherlv_2= 'as' ( (lv_name_3_0= RULE_ID ) ) )? ( ( ( ( ({...}? => ( ({...}? => (otherlv_5= 'style' ( (otherlv_6= RULE_ID ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_7= 'width' ( (lv_widthValue_8_0= ruleUnsignedNumber ) ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_visibilityItem_9_0= ruleVisibility ) ) ) ) ) )* ) ) ) otherlv_10= '{' ( (lv_rows_11_0= ruleGridRow ) )* otherlv_12= '}' ) ;
     public final EObject ruleGrid() throws RecognitionException {
         EObject current = null;
 
         Token otherlv_1=null;
         Token otherlv_2=null;
         Token lv_name_3_0=null;
-        Token otherlv_4=null;
+        Token otherlv_5=null;
+        Token otherlv_6=null;
         Token otherlv_7=null;
-        Token otherlv_9=null;
-        AntlrDatatypeRuleToken lv_widthValue_5_0 = null;
+        Token otherlv_10=null;
+        Token otherlv_12=null;
+        AntlrDatatypeRuleToken lv_widthValue_8_0 = null;
 
-        EObject lv_visibilityItem_6_0 = null;
+        EObject lv_visibilityItem_9_0 = null;
 
-        EObject lv_rows_8_0 = null;
+        EObject lv_rows_11_0 = null;
 
 
 
         	enterRule();
 
         try {
-            // InternalReportDSL.g:4622:2: ( ( () otherlv_1= 'grid' (otherlv_2= 'as' ( (lv_name_3_0= RULE_ID ) ) )? (otherlv_4= 'width' ( (lv_widthValue_5_0= ruleUnsignedNumber ) ) )? ( (lv_visibilityItem_6_0= ruleVisibility ) )? otherlv_7= '{' ( (lv_rows_8_0= ruleGridRow ) )* otherlv_9= '}' ) )
-            // InternalReportDSL.g:4623:2: ( () otherlv_1= 'grid' (otherlv_2= 'as' ( (lv_name_3_0= RULE_ID ) ) )? (otherlv_4= 'width' ( (lv_widthValue_5_0= ruleUnsignedNumber ) ) )? ( (lv_visibilityItem_6_0= ruleVisibility ) )? otherlv_7= '{' ( (lv_rows_8_0= ruleGridRow ) )* otherlv_9= '}' )
+            // InternalReportDSL.g:4690:2: ( ( () otherlv_1= 'grid' (otherlv_2= 'as' ( (lv_name_3_0= RULE_ID ) ) )? ( ( ( ( ({...}? => ( ({...}? => (otherlv_5= 'style' ( (otherlv_6= RULE_ID ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_7= 'width' ( (lv_widthValue_8_0= ruleUnsignedNumber ) ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_visibilityItem_9_0= ruleVisibility ) ) ) ) ) )* ) ) ) otherlv_10= '{' ( (lv_rows_11_0= ruleGridRow ) )* otherlv_12= '}' ) )
+            // InternalReportDSL.g:4691:2: ( () otherlv_1= 'grid' (otherlv_2= 'as' ( (lv_name_3_0= RULE_ID ) ) )? ( ( ( ( ({...}? => ( ({...}? => (otherlv_5= 'style' ( (otherlv_6= RULE_ID ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_7= 'width' ( (lv_widthValue_8_0= ruleUnsignedNumber ) ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_visibilityItem_9_0= ruleVisibility ) ) ) ) ) )* ) ) ) otherlv_10= '{' ( (lv_rows_11_0= ruleGridRow ) )* otherlv_12= '}' )
             {
-            // InternalReportDSL.g:4623:2: ( () otherlv_1= 'grid' (otherlv_2= 'as' ( (lv_name_3_0= RULE_ID ) ) )? (otherlv_4= 'width' ( (lv_widthValue_5_0= ruleUnsignedNumber ) ) )? ( (lv_visibilityItem_6_0= ruleVisibility ) )? otherlv_7= '{' ( (lv_rows_8_0= ruleGridRow ) )* otherlv_9= '}' )
-            // InternalReportDSL.g:4624:3: () otherlv_1= 'grid' (otherlv_2= 'as' ( (lv_name_3_0= RULE_ID ) ) )? (otherlv_4= 'width' ( (lv_widthValue_5_0= ruleUnsignedNumber ) ) )? ( (lv_visibilityItem_6_0= ruleVisibility ) )? otherlv_7= '{' ( (lv_rows_8_0= ruleGridRow ) )* otherlv_9= '}'
+            // InternalReportDSL.g:4691:2: ( () otherlv_1= 'grid' (otherlv_2= 'as' ( (lv_name_3_0= RULE_ID ) ) )? ( ( ( ( ({...}? => ( ({...}? => (otherlv_5= 'style' ( (otherlv_6= RULE_ID ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_7= 'width' ( (lv_widthValue_8_0= ruleUnsignedNumber ) ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_visibilityItem_9_0= ruleVisibility ) ) ) ) ) )* ) ) ) otherlv_10= '{' ( (lv_rows_11_0= ruleGridRow ) )* otherlv_12= '}' )
+            // InternalReportDSL.g:4692:3: () otherlv_1= 'grid' (otherlv_2= 'as' ( (lv_name_3_0= RULE_ID ) ) )? ( ( ( ( ({...}? => ( ({...}? => (otherlv_5= 'style' ( (otherlv_6= RULE_ID ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_7= 'width' ( (lv_widthValue_8_0= ruleUnsignedNumber ) ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_visibilityItem_9_0= ruleVisibility ) ) ) ) ) )* ) ) ) otherlv_10= '{' ( (lv_rows_11_0= ruleGridRow ) )* otherlv_12= '}'
             {
-            // InternalReportDSL.g:4624:3: ()
-            // InternalReportDSL.g:4625:4: 
+            // InternalReportDSL.g:4692:3: ()
+            // InternalReportDSL.g:4693:4: 
             {
             if ( state.backtracking==0 ) {
 
@@ -11976,36 +12162,36 @@
 
             }
 
-            otherlv_1=(Token)match(input,83,FOLLOW_73); if (state.failed) return current;
+            otherlv_1=(Token)match(input,84,FOLLOW_75); if (state.failed) return current;
             if ( state.backtracking==0 ) {
 
               			newLeafNode(otherlv_1, grammarAccess.getGridAccess().getGridKeyword_1());
               		
             }
-            // InternalReportDSL.g:4635:3: (otherlv_2= 'as' ( (lv_name_3_0= RULE_ID ) ) )?
-            int alt40=2;
-            int LA40_0 = input.LA(1);
+            // InternalReportDSL.g:4703:3: (otherlv_2= 'as' ( (lv_name_3_0= RULE_ID ) ) )?
+            int alt41=2;
+            int LA41_0 = input.LA(1);
 
-            if ( (LA40_0==84) ) {
-                alt40=1;
+            if ( (LA41_0==85) ) {
+                alt41=1;
             }
-            switch (alt40) {
+            switch (alt41) {
                 case 1 :
-                    // InternalReportDSL.g:4636:4: otherlv_2= 'as' ( (lv_name_3_0= RULE_ID ) )
+                    // InternalReportDSL.g:4704:4: otherlv_2= 'as' ( (lv_name_3_0= RULE_ID ) )
                     {
-                    otherlv_2=(Token)match(input,84,FOLLOW_4); if (state.failed) return current;
+                    otherlv_2=(Token)match(input,85,FOLLOW_4); if (state.failed) return current;
                     if ( state.backtracking==0 ) {
 
                       				newLeafNode(otherlv_2, grammarAccess.getGridAccess().getAsKeyword_2_0());
                       			
                     }
-                    // InternalReportDSL.g:4640:4: ( (lv_name_3_0= RULE_ID ) )
-                    // InternalReportDSL.g:4641:5: (lv_name_3_0= RULE_ID )
+                    // InternalReportDSL.g:4708:4: ( (lv_name_3_0= RULE_ID ) )
+                    // InternalReportDSL.g:4709:5: (lv_name_3_0= RULE_ID )
                     {
-                    // InternalReportDSL.g:4641:5: (lv_name_3_0= RULE_ID )
-                    // InternalReportDSL.g:4642:6: lv_name_3_0= RULE_ID
+                    // InternalReportDSL.g:4709:5: (lv_name_3_0= RULE_ID )
+                    // InternalReportDSL.g:4710:6: lv_name_3_0= RULE_ID
                     {
-                    lv_name_3_0=(Token)match(input,RULE_ID,FOLLOW_74); if (state.failed) return current;
+                    lv_name_3_0=(Token)match(input,RULE_ID,FOLLOW_76); if (state.failed) return current;
                     if ( state.backtracking==0 ) {
 
                       						newLeafNode(lv_name_3_0, grammarAccess.getGridAccess().getNameIDTerminalRuleCall_2_1_0());
@@ -12035,141 +12221,302 @@
 
             }
 
-            // InternalReportDSL.g:4659:3: (otherlv_4= 'width' ( (lv_widthValue_5_0= ruleUnsignedNumber ) ) )?
-            int alt41=2;
-            int LA41_0 = input.LA(1);
+            // InternalReportDSL.g:4727:3: ( ( ( ( ({...}? => ( ({...}? => (otherlv_5= 'style' ( (otherlv_6= RULE_ID ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_7= 'width' ( (lv_widthValue_8_0= ruleUnsignedNumber ) ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_visibilityItem_9_0= ruleVisibility ) ) ) ) ) )* ) ) )
+            // InternalReportDSL.g:4728:4: ( ( ( ({...}? => ( ({...}? => (otherlv_5= 'style' ( (otherlv_6= RULE_ID ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_7= 'width' ( (lv_widthValue_8_0= ruleUnsignedNumber ) ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_visibilityItem_9_0= ruleVisibility ) ) ) ) ) )* ) )
+            {
+            // InternalReportDSL.g:4728:4: ( ( ( ({...}? => ( ({...}? => (otherlv_5= 'style' ( (otherlv_6= RULE_ID ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_7= 'width' ( (lv_widthValue_8_0= ruleUnsignedNumber ) ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_visibilityItem_9_0= ruleVisibility ) ) ) ) ) )* ) )
+            // InternalReportDSL.g:4729:5: ( ( ({...}? => ( ({...}? => (otherlv_5= 'style' ( (otherlv_6= RULE_ID ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_7= 'width' ( (lv_widthValue_8_0= ruleUnsignedNumber ) ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_visibilityItem_9_0= ruleVisibility ) ) ) ) ) )* )
+            {
+            getUnorderedGroupHelper().enter(grammarAccess.getGridAccess().getUnorderedGroup_3());
+            // InternalReportDSL.g:4732:5: ( ( ({...}? => ( ({...}? => (otherlv_5= 'style' ( (otherlv_6= RULE_ID ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_7= 'width' ( (lv_widthValue_8_0= ruleUnsignedNumber ) ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_visibilityItem_9_0= ruleVisibility ) ) ) ) ) )* )
+            // InternalReportDSL.g:4733:6: ( ({...}? => ( ({...}? => (otherlv_5= 'style' ( (otherlv_6= RULE_ID ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_7= 'width' ( (lv_widthValue_8_0= ruleUnsignedNumber ) ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_visibilityItem_9_0= ruleVisibility ) ) ) ) ) )*
+            {
+            // InternalReportDSL.g:4733:6: ( ({...}? => ( ({...}? => (otherlv_5= 'style' ( (otherlv_6= RULE_ID ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_7= 'width' ( (lv_widthValue_8_0= ruleUnsignedNumber ) ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_visibilityItem_9_0= ruleVisibility ) ) ) ) ) )*
+            loop42:
+            do {
+                int alt42=4;
+                int LA42_0 = input.LA(1);
 
-            if ( (LA41_0==85) ) {
-                alt41=1;
-            }
-            switch (alt41) {
-                case 1 :
-                    // InternalReportDSL.g:4660:4: otherlv_4= 'width' ( (lv_widthValue_5_0= ruleUnsignedNumber ) )
-                    {
-                    otherlv_4=(Token)match(input,85,FOLLOW_28); if (state.failed) return current;
-                    if ( state.backtracking==0 ) {
-
-                      				newLeafNode(otherlv_4, grammarAccess.getGridAccess().getWidthKeyword_3_0());
-                      			
-                    }
-                    // InternalReportDSL.g:4664:4: ( (lv_widthValue_5_0= ruleUnsignedNumber ) )
-                    // InternalReportDSL.g:4665:5: (lv_widthValue_5_0= ruleUnsignedNumber )
-                    {
-                    // InternalReportDSL.g:4665:5: (lv_widthValue_5_0= ruleUnsignedNumber )
-                    // InternalReportDSL.g:4666:6: lv_widthValue_5_0= ruleUnsignedNumber
-                    {
-                    if ( state.backtracking==0 ) {
-
-                      						newCompositeNode(grammarAccess.getGridAccess().getWidthValueUnsignedNumberParserRuleCall_3_1_0());
-                      					
-                    }
-                    pushFollow(FOLLOW_75);
-                    lv_widthValue_5_0=ruleUnsignedNumber();
-
-                    state._fsp--;
-                    if (state.failed) return current;
-                    if ( state.backtracking==0 ) {
-
-                      						if (current==null) {
-                      							current = createModelElementForParent(grammarAccess.getGridRule());
-                      						}
-                      						set(
-                      							current,
-                      							"widthValue",
-                      							lv_widthValue_5_0,
-                      							"org.eclipse.osbp.xtext.reportdsl.ReportDSL.UnsignedNumber");
-                      						afterParserOrEnumRuleCall();
-                      					
-                    }
-
-                    }
+                if ( LA42_0 == 43 && getUnorderedGroupHelper().canSelect(grammarAccess.getGridAccess().getUnorderedGroup_3(), 0) ) {
+                    alt42=1;
+                }
+                else if ( LA42_0 == 86 && getUnorderedGroupHelper().canSelect(grammarAccess.getGridAccess().getUnorderedGroup_3(), 1) ) {
+                    alt42=2;
+                }
+                else if ( LA42_0 == 114 && getUnorderedGroupHelper().canSelect(grammarAccess.getGridAccess().getUnorderedGroup_3(), 2) ) {
+                    alt42=3;
+                }
 
 
-                    }
+                switch (alt42) {
+            	case 1 :
+            	    // InternalReportDSL.g:4734:4: ({...}? => ( ({...}? => (otherlv_5= 'style' ( (otherlv_6= RULE_ID ) ) ) ) ) )
+            	    {
+            	    // InternalReportDSL.g:4734:4: ({...}? => ( ({...}? => (otherlv_5= 'style' ( (otherlv_6= RULE_ID ) ) ) ) ) )
+            	    // InternalReportDSL.g:4735:5: {...}? => ( ({...}? => (otherlv_5= 'style' ( (otherlv_6= RULE_ID ) ) ) ) )
+            	    {
+            	    if ( ! getUnorderedGroupHelper().canSelect(grammarAccess.getGridAccess().getUnorderedGroup_3(), 0) ) {
+            	        if (state.backtracking>0) {state.failed=true; return current;}
+            	        throw new FailedPredicateException(input, "ruleGrid", "getUnorderedGroupHelper().canSelect(grammarAccess.getGridAccess().getUnorderedGroup_3(), 0)");
+            	    }
+            	    // InternalReportDSL.g:4735:101: ( ({...}? => (otherlv_5= 'style' ( (otherlv_6= RULE_ID ) ) ) ) )
+            	    // InternalReportDSL.g:4736:6: ({...}? => (otherlv_5= 'style' ( (otherlv_6= RULE_ID ) ) ) )
+            	    {
+            	    getUnorderedGroupHelper().select(grammarAccess.getGridAccess().getUnorderedGroup_3(), 0);
+            	    // InternalReportDSL.g:4739:9: ({...}? => (otherlv_5= 'style' ( (otherlv_6= RULE_ID ) ) ) )
+            	    // InternalReportDSL.g:4739:10: {...}? => (otherlv_5= 'style' ( (otherlv_6= RULE_ID ) ) )
+            	    {
+            	    if ( !((true)) ) {
+            	        if (state.backtracking>0) {state.failed=true; return current;}
+            	        throw new FailedPredicateException(input, "ruleGrid", "true");
+            	    }
+            	    // InternalReportDSL.g:4739:19: (otherlv_5= 'style' ( (otherlv_6= RULE_ID ) ) )
+            	    // InternalReportDSL.g:4739:20: otherlv_5= 'style' ( (otherlv_6= RULE_ID ) )
+            	    {
+            	    otherlv_5=(Token)match(input,43,FOLLOW_4); if (state.failed) return current;
+            	    if ( state.backtracking==0 ) {
+
+            	      									newLeafNode(otherlv_5, grammarAccess.getGridAccess().getStyleKeyword_3_0_0());
+            	      								
+            	    }
+            	    // InternalReportDSL.g:4743:9: ( (otherlv_6= RULE_ID ) )
+            	    // InternalReportDSL.g:4744:10: (otherlv_6= RULE_ID )
+            	    {
+            	    // InternalReportDSL.g:4744:10: (otherlv_6= RULE_ID )
+            	    // InternalReportDSL.g:4745:11: otherlv_6= RULE_ID
+            	    {
+            	    if ( state.backtracking==0 ) {
+
+            	      											if (current==null) {
+            	      												current = createModelElement(grammarAccess.getGridRule());
+            	      											}
+            	      										
+            	    }
+            	    otherlv_6=(Token)match(input,RULE_ID,FOLLOW_76); if (state.failed) return current;
+            	    if ( state.backtracking==0 ) {
+
+            	      											newLeafNode(otherlv_6, grammarAccess.getGridAccess().getStyleStyleCrossReference_3_0_1_0());
+            	      										
+            	    }
+
+            	    }
 
 
-                    }
-                    break;
+            	    }
+
+
+            	    }
+
+
+            	    }
+
+            	    getUnorderedGroupHelper().returnFromSelection(grammarAccess.getGridAccess().getUnorderedGroup_3());
+
+            	    }
+
+
+            	    }
+
+
+            	    }
+            	    break;
+            	case 2 :
+            	    // InternalReportDSL.g:4762:4: ({...}? => ( ({...}? => (otherlv_7= 'width' ( (lv_widthValue_8_0= ruleUnsignedNumber ) ) ) ) ) )
+            	    {
+            	    // InternalReportDSL.g:4762:4: ({...}? => ( ({...}? => (otherlv_7= 'width' ( (lv_widthValue_8_0= ruleUnsignedNumber ) ) ) ) ) )
+            	    // InternalReportDSL.g:4763:5: {...}? => ( ({...}? => (otherlv_7= 'width' ( (lv_widthValue_8_0= ruleUnsignedNumber ) ) ) ) )
+            	    {
+            	    if ( ! getUnorderedGroupHelper().canSelect(grammarAccess.getGridAccess().getUnorderedGroup_3(), 1) ) {
+            	        if (state.backtracking>0) {state.failed=true; return current;}
+            	        throw new FailedPredicateException(input, "ruleGrid", "getUnorderedGroupHelper().canSelect(grammarAccess.getGridAccess().getUnorderedGroup_3(), 1)");
+            	    }
+            	    // InternalReportDSL.g:4763:101: ( ({...}? => (otherlv_7= 'width' ( (lv_widthValue_8_0= ruleUnsignedNumber ) ) ) ) )
+            	    // InternalReportDSL.g:4764:6: ({...}? => (otherlv_7= 'width' ( (lv_widthValue_8_0= ruleUnsignedNumber ) ) ) )
+            	    {
+            	    getUnorderedGroupHelper().select(grammarAccess.getGridAccess().getUnorderedGroup_3(), 1);
+            	    // InternalReportDSL.g:4767:9: ({...}? => (otherlv_7= 'width' ( (lv_widthValue_8_0= ruleUnsignedNumber ) ) ) )
+            	    // InternalReportDSL.g:4767:10: {...}? => (otherlv_7= 'width' ( (lv_widthValue_8_0= ruleUnsignedNumber ) ) )
+            	    {
+            	    if ( !((true)) ) {
+            	        if (state.backtracking>0) {state.failed=true; return current;}
+            	        throw new FailedPredicateException(input, "ruleGrid", "true");
+            	    }
+            	    // InternalReportDSL.g:4767:19: (otherlv_7= 'width' ( (lv_widthValue_8_0= ruleUnsignedNumber ) ) )
+            	    // InternalReportDSL.g:4767:20: otherlv_7= 'width' ( (lv_widthValue_8_0= ruleUnsignedNumber ) )
+            	    {
+            	    otherlv_7=(Token)match(input,86,FOLLOW_28); if (state.failed) return current;
+            	    if ( state.backtracking==0 ) {
+
+            	      									newLeafNode(otherlv_7, grammarAccess.getGridAccess().getWidthKeyword_3_1_0());
+            	      								
+            	    }
+            	    // InternalReportDSL.g:4771:9: ( (lv_widthValue_8_0= ruleUnsignedNumber ) )
+            	    // InternalReportDSL.g:4772:10: (lv_widthValue_8_0= ruleUnsignedNumber )
+            	    {
+            	    // InternalReportDSL.g:4772:10: (lv_widthValue_8_0= ruleUnsignedNumber )
+            	    // InternalReportDSL.g:4773:11: lv_widthValue_8_0= ruleUnsignedNumber
+            	    {
+            	    if ( state.backtracking==0 ) {
+
+            	      											newCompositeNode(grammarAccess.getGridAccess().getWidthValueUnsignedNumberParserRuleCall_3_1_1_0());
+            	      										
+            	    }
+            	    pushFollow(FOLLOW_76);
+            	    lv_widthValue_8_0=ruleUnsignedNumber();
+
+            	    state._fsp--;
+            	    if (state.failed) return current;
+            	    if ( state.backtracking==0 ) {
+
+            	      											if (current==null) {
+            	      												current = createModelElementForParent(grammarAccess.getGridRule());
+            	      											}
+            	      											set(
+            	      												current,
+            	      												"widthValue",
+            	      												lv_widthValue_8_0,
+            	      												"org.eclipse.osbp.xtext.reportdsl.ReportDSL.UnsignedNumber");
+            	      											afterParserOrEnumRuleCall();
+            	      										
+            	    }
+
+            	    }
+
+
+            	    }
+
+
+            	    }
+
+
+            	    }
+
+            	    getUnorderedGroupHelper().returnFromSelection(grammarAccess.getGridAccess().getUnorderedGroup_3());
+
+            	    }
+
+
+            	    }
+
+
+            	    }
+            	    break;
+            	case 3 :
+            	    // InternalReportDSL.g:4796:4: ({...}? => ( ({...}? => ( (lv_visibilityItem_9_0= ruleVisibility ) ) ) ) )
+            	    {
+            	    // InternalReportDSL.g:4796:4: ({...}? => ( ({...}? => ( (lv_visibilityItem_9_0= ruleVisibility ) ) ) ) )
+            	    // InternalReportDSL.g:4797:5: {...}? => ( ({...}? => ( (lv_visibilityItem_9_0= ruleVisibility ) ) ) )
+            	    {
+            	    if ( ! getUnorderedGroupHelper().canSelect(grammarAccess.getGridAccess().getUnorderedGroup_3(), 2) ) {
+            	        if (state.backtracking>0) {state.failed=true; return current;}
+            	        throw new FailedPredicateException(input, "ruleGrid", "getUnorderedGroupHelper().canSelect(grammarAccess.getGridAccess().getUnorderedGroup_3(), 2)");
+            	    }
+            	    // InternalReportDSL.g:4797:101: ( ({...}? => ( (lv_visibilityItem_9_0= ruleVisibility ) ) ) )
+            	    // InternalReportDSL.g:4798:6: ({...}? => ( (lv_visibilityItem_9_0= ruleVisibility ) ) )
+            	    {
+            	    getUnorderedGroupHelper().select(grammarAccess.getGridAccess().getUnorderedGroup_3(), 2);
+            	    // InternalReportDSL.g:4801:9: ({...}? => ( (lv_visibilityItem_9_0= ruleVisibility ) ) )
+            	    // InternalReportDSL.g:4801:10: {...}? => ( (lv_visibilityItem_9_0= ruleVisibility ) )
+            	    {
+            	    if ( !((true)) ) {
+            	        if (state.backtracking>0) {state.failed=true; return current;}
+            	        throw new FailedPredicateException(input, "ruleGrid", "true");
+            	    }
+            	    // InternalReportDSL.g:4801:19: ( (lv_visibilityItem_9_0= ruleVisibility ) )
+            	    // InternalReportDSL.g:4801:20: (lv_visibilityItem_9_0= ruleVisibility )
+            	    {
+            	    // InternalReportDSL.g:4801:20: (lv_visibilityItem_9_0= ruleVisibility )
+            	    // InternalReportDSL.g:4802:10: lv_visibilityItem_9_0= ruleVisibility
+            	    {
+            	    if ( state.backtracking==0 ) {
+
+            	      										newCompositeNode(grammarAccess.getGridAccess().getVisibilityItemVisibilityParserRuleCall_3_2_0());
+            	      									
+            	    }
+            	    pushFollow(FOLLOW_76);
+            	    lv_visibilityItem_9_0=ruleVisibility();
+
+            	    state._fsp--;
+            	    if (state.failed) return current;
+            	    if ( state.backtracking==0 ) {
+
+            	      										if (current==null) {
+            	      											current = createModelElementForParent(grammarAccess.getGridRule());
+            	      										}
+            	      										set(
+            	      											current,
+            	      											"visibilityItem",
+            	      											lv_visibilityItem_9_0,
+            	      											"org.eclipse.osbp.xtext.reportdsl.ReportDSL.Visibility");
+            	      										afterParserOrEnumRuleCall();
+            	      									
+            	    }
+
+            	    }
+
+
+            	    }
+
+
+            	    }
+
+            	    getUnorderedGroupHelper().returnFromSelection(grammarAccess.getGridAccess().getUnorderedGroup_3());
+
+            	    }
+
+
+            	    }
+
+
+            	    }
+            	    break;
+
+            	default :
+            	    break loop42;
+                }
+            } while (true);
+
 
             }
 
-            // InternalReportDSL.g:4684:3: ( (lv_visibilityItem_6_0= ruleVisibility ) )?
-            int alt42=2;
-            int LA42_0 = input.LA(1);
-
-            if ( (LA42_0==115) ) {
-                alt42=1;
-            }
-            switch (alt42) {
-                case 1 :
-                    // InternalReportDSL.g:4685:4: (lv_visibilityItem_6_0= ruleVisibility )
-                    {
-                    // InternalReportDSL.g:4685:4: (lv_visibilityItem_6_0= ruleVisibility )
-                    // InternalReportDSL.g:4686:5: lv_visibilityItem_6_0= ruleVisibility
-                    {
-                    if ( state.backtracking==0 ) {
-
-                      					newCompositeNode(grammarAccess.getGridAccess().getVisibilityItemVisibilityParserRuleCall_4_0());
-                      				
-                    }
-                    pushFollow(FOLLOW_5);
-                    lv_visibilityItem_6_0=ruleVisibility();
-
-                    state._fsp--;
-                    if (state.failed) return current;
-                    if ( state.backtracking==0 ) {
-
-                      					if (current==null) {
-                      						current = createModelElementForParent(grammarAccess.getGridRule());
-                      					}
-                      					set(
-                      						current,
-                      						"visibilityItem",
-                      						lv_visibilityItem_6_0,
-                      						"org.eclipse.osbp.xtext.reportdsl.ReportDSL.Visibility");
-                      					afterParserOrEnumRuleCall();
-                      				
-                    }
-
-                    }
-
-
-                    }
-                    break;
 
             }
 
-            otherlv_7=(Token)match(input,14,FOLLOW_76); if (state.failed) return current;
+            getUnorderedGroupHelper().leave(grammarAccess.getGridAccess().getUnorderedGroup_3());
+
+            }
+
+            otherlv_10=(Token)match(input,14,FOLLOW_77); if (state.failed) return current;
             if ( state.backtracking==0 ) {
 
-              			newLeafNode(otherlv_7, grammarAccess.getGridAccess().getLeftCurlyBracketKeyword_5());
+              			newLeafNode(otherlv_10, grammarAccess.getGridAccess().getLeftCurlyBracketKeyword_4());
               		
             }
-            // InternalReportDSL.g:4707:3: ( (lv_rows_8_0= ruleGridRow ) )*
+            // InternalReportDSL.g:4835:3: ( (lv_rows_11_0= ruleGridRow ) )*
             loop43:
             do {
                 int alt43=2;
                 int LA43_0 = input.LA(1);
 
-                if ( (LA43_0==86) ) {
+                if ( (LA43_0==87) ) {
                     alt43=1;
                 }
 
 
                 switch (alt43) {
             	case 1 :
-            	    // InternalReportDSL.g:4708:4: (lv_rows_8_0= ruleGridRow )
+            	    // InternalReportDSL.g:4836:4: (lv_rows_11_0= ruleGridRow )
             	    {
-            	    // InternalReportDSL.g:4708:4: (lv_rows_8_0= ruleGridRow )
-            	    // InternalReportDSL.g:4709:5: lv_rows_8_0= ruleGridRow
+            	    // InternalReportDSL.g:4836:4: (lv_rows_11_0= ruleGridRow )
+            	    // InternalReportDSL.g:4837:5: lv_rows_11_0= ruleGridRow
             	    {
             	    if ( state.backtracking==0 ) {
 
-            	      					newCompositeNode(grammarAccess.getGridAccess().getRowsGridRowParserRuleCall_6_0());
+            	      					newCompositeNode(grammarAccess.getGridAccess().getRowsGridRowParserRuleCall_5_0());
             	      				
             	    }
-            	    pushFollow(FOLLOW_76);
-            	    lv_rows_8_0=ruleGridRow();
+            	    pushFollow(FOLLOW_77);
+            	    lv_rows_11_0=ruleGridRow();
 
             	    state._fsp--;
             	    if (state.failed) return current;
@@ -12181,7 +12528,7 @@
             	      					add(
             	      						current,
             	      						"rows",
-            	      						lv_rows_8_0,
+            	      						lv_rows_11_0,
             	      						"org.eclipse.osbp.xtext.reportdsl.ReportDSL.GridRow");
             	      					afterParserOrEnumRuleCall();
             	      				
@@ -12198,10 +12545,10 @@
                 }
             } while (true);
 
-            otherlv_9=(Token)match(input,18,FOLLOW_2); if (state.failed) return current;
+            otherlv_12=(Token)match(input,18,FOLLOW_2); if (state.failed) return current;
             if ( state.backtracking==0 ) {
 
-              			newLeafNode(otherlv_9, grammarAccess.getGridAccess().getRightCurlyBracketKeyword_7());
+              			newLeafNode(otherlv_12, grammarAccess.getGridAccess().getRightCurlyBracketKeyword_6());
               		
             }
 
@@ -12229,7 +12576,7 @@
 
 
     // $ANTLR start "entryRuleGridRow"
-    // InternalReportDSL.g:4734:1: entryRuleGridRow returns [EObject current=null] : iv_ruleGridRow= ruleGridRow EOF ;
+    // InternalReportDSL.g:4862:1: entryRuleGridRow returns [EObject current=null] : iv_ruleGridRow= ruleGridRow EOF ;
     public final EObject entryRuleGridRow() throws RecognitionException {
         EObject current = null;
 
@@ -12237,8 +12584,8 @@
 
 
         try {
-            // InternalReportDSL.g:4734:48: (iv_ruleGridRow= ruleGridRow EOF )
-            // InternalReportDSL.g:4735:2: iv_ruleGridRow= ruleGridRow EOF
+            // InternalReportDSL.g:4862:48: (iv_ruleGridRow= ruleGridRow EOF )
+            // InternalReportDSL.g:4863:2: iv_ruleGridRow= ruleGridRow EOF
             {
             if ( state.backtracking==0 ) {
                newCompositeNode(grammarAccess.getGridRowRule()); 
@@ -12269,37 +12616,37 @@
 
 
     // $ANTLR start "ruleGridRow"
-    // InternalReportDSL.g:4741:1: ruleGridRow returns [EObject current=null] : ( () otherlv_1= 'row' (otherlv_2= 'as' ( (lv_name_3_0= RULE_ID ) ) )? (otherlv_4= 'style' ( (otherlv_5= RULE_ID ) ) )? (otherlv_6= 'height' ( (lv_heightValue_7_0= ruleUnsignedNumber ) ) )? ( (lv_visibilityItem_8_0= ruleVisibility ) )? otherlv_9= '{' ( (lv_cells_10_0= ruleGridCell ) )* otherlv_11= '}' ) ;
+    // InternalReportDSL.g:4869:1: ruleGridRow returns [EObject current=null] : ( () otherlv_1= 'row' (otherlv_2= 'as' ( (lv_name_3_0= RULE_ID ) ) )? ( ( ( ( ({...}? => ( ({...}? => (otherlv_5= 'style' ( (otherlv_6= RULE_ID ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_7= 'height' ( (lv_heightValue_8_0= ruleUnsignedNumber ) ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_visibilityItem_9_0= ruleVisibility ) ) ) ) ) )* ) ) ) otherlv_10= '{' ( (lv_cells_11_0= ruleGridCell ) )* otherlv_12= '}' ) ;
     public final EObject ruleGridRow() throws RecognitionException {
         EObject current = null;
 
         Token otherlv_1=null;
         Token otherlv_2=null;
         Token lv_name_3_0=null;
-        Token otherlv_4=null;
         Token otherlv_5=null;
         Token otherlv_6=null;
-        Token otherlv_9=null;
-        Token otherlv_11=null;
-        AntlrDatatypeRuleToken lv_heightValue_7_0 = null;
+        Token otherlv_7=null;
+        Token otherlv_10=null;
+        Token otherlv_12=null;
+        AntlrDatatypeRuleToken lv_heightValue_8_0 = null;
 
-        EObject lv_visibilityItem_8_0 = null;
+        EObject lv_visibilityItem_9_0 = null;
 
-        EObject lv_cells_10_0 = null;
+        EObject lv_cells_11_0 = null;
 
 
 
         	enterRule();
 
         try {
-            // InternalReportDSL.g:4747:2: ( ( () otherlv_1= 'row' (otherlv_2= 'as' ( (lv_name_3_0= RULE_ID ) ) )? (otherlv_4= 'style' ( (otherlv_5= RULE_ID ) ) )? (otherlv_6= 'height' ( (lv_heightValue_7_0= ruleUnsignedNumber ) ) )? ( (lv_visibilityItem_8_0= ruleVisibility ) )? otherlv_9= '{' ( (lv_cells_10_0= ruleGridCell ) )* otherlv_11= '}' ) )
-            // InternalReportDSL.g:4748:2: ( () otherlv_1= 'row' (otherlv_2= 'as' ( (lv_name_3_0= RULE_ID ) ) )? (otherlv_4= 'style' ( (otherlv_5= RULE_ID ) ) )? (otherlv_6= 'height' ( (lv_heightValue_7_0= ruleUnsignedNumber ) ) )? ( (lv_visibilityItem_8_0= ruleVisibility ) )? otherlv_9= '{' ( (lv_cells_10_0= ruleGridCell ) )* otherlv_11= '}' )
+            // InternalReportDSL.g:4875:2: ( ( () otherlv_1= 'row' (otherlv_2= 'as' ( (lv_name_3_0= RULE_ID ) ) )? ( ( ( ( ({...}? => ( ({...}? => (otherlv_5= 'style' ( (otherlv_6= RULE_ID ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_7= 'height' ( (lv_heightValue_8_0= ruleUnsignedNumber ) ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_visibilityItem_9_0= ruleVisibility ) ) ) ) ) )* ) ) ) otherlv_10= '{' ( (lv_cells_11_0= ruleGridCell ) )* otherlv_12= '}' ) )
+            // InternalReportDSL.g:4876:2: ( () otherlv_1= 'row' (otherlv_2= 'as' ( (lv_name_3_0= RULE_ID ) ) )? ( ( ( ( ({...}? => ( ({...}? => (otherlv_5= 'style' ( (otherlv_6= RULE_ID ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_7= 'height' ( (lv_heightValue_8_0= ruleUnsignedNumber ) ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_visibilityItem_9_0= ruleVisibility ) ) ) ) ) )* ) ) ) otherlv_10= '{' ( (lv_cells_11_0= ruleGridCell ) )* otherlv_12= '}' )
             {
-            // InternalReportDSL.g:4748:2: ( () otherlv_1= 'row' (otherlv_2= 'as' ( (lv_name_3_0= RULE_ID ) ) )? (otherlv_4= 'style' ( (otherlv_5= RULE_ID ) ) )? (otherlv_6= 'height' ( (lv_heightValue_7_0= ruleUnsignedNumber ) ) )? ( (lv_visibilityItem_8_0= ruleVisibility ) )? otherlv_9= '{' ( (lv_cells_10_0= ruleGridCell ) )* otherlv_11= '}' )
-            // InternalReportDSL.g:4749:3: () otherlv_1= 'row' (otherlv_2= 'as' ( (lv_name_3_0= RULE_ID ) ) )? (otherlv_4= 'style' ( (otherlv_5= RULE_ID ) ) )? (otherlv_6= 'height' ( (lv_heightValue_7_0= ruleUnsignedNumber ) ) )? ( (lv_visibilityItem_8_0= ruleVisibility ) )? otherlv_9= '{' ( (lv_cells_10_0= ruleGridCell ) )* otherlv_11= '}'
+            // InternalReportDSL.g:4876:2: ( () otherlv_1= 'row' (otherlv_2= 'as' ( (lv_name_3_0= RULE_ID ) ) )? ( ( ( ( ({...}? => ( ({...}? => (otherlv_5= 'style' ( (otherlv_6= RULE_ID ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_7= 'height' ( (lv_heightValue_8_0= ruleUnsignedNumber ) ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_visibilityItem_9_0= ruleVisibility ) ) ) ) ) )* ) ) ) otherlv_10= '{' ( (lv_cells_11_0= ruleGridCell ) )* otherlv_12= '}' )
+            // InternalReportDSL.g:4877:3: () otherlv_1= 'row' (otherlv_2= 'as' ( (lv_name_3_0= RULE_ID ) ) )? ( ( ( ( ({...}? => ( ({...}? => (otherlv_5= 'style' ( (otherlv_6= RULE_ID ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_7= 'height' ( (lv_heightValue_8_0= ruleUnsignedNumber ) ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_visibilityItem_9_0= ruleVisibility ) ) ) ) ) )* ) ) ) otherlv_10= '{' ( (lv_cells_11_0= ruleGridCell ) )* otherlv_12= '}'
             {
-            // InternalReportDSL.g:4749:3: ()
-            // InternalReportDSL.g:4750:4: 
+            // InternalReportDSL.g:4877:3: ()
+            // InternalReportDSL.g:4878:4: 
             {
             if ( state.backtracking==0 ) {
 
@@ -12311,36 +12658,36 @@
 
             }
 
-            otherlv_1=(Token)match(input,86,FOLLOW_77); if (state.failed) return current;
+            otherlv_1=(Token)match(input,87,FOLLOW_78); if (state.failed) return current;
             if ( state.backtracking==0 ) {
 
               			newLeafNode(otherlv_1, grammarAccess.getGridRowAccess().getRowKeyword_1());
               		
             }
-            // InternalReportDSL.g:4760:3: (otherlv_2= 'as' ( (lv_name_3_0= RULE_ID ) ) )?
+            // InternalReportDSL.g:4888:3: (otherlv_2= 'as' ( (lv_name_3_0= RULE_ID ) ) )?
             int alt44=2;
             int LA44_0 = input.LA(1);
 
-            if ( (LA44_0==84) ) {
+            if ( (LA44_0==85) ) {
                 alt44=1;
             }
             switch (alt44) {
                 case 1 :
-                    // InternalReportDSL.g:4761:4: otherlv_2= 'as' ( (lv_name_3_0= RULE_ID ) )
+                    // InternalReportDSL.g:4889:4: otherlv_2= 'as' ( (lv_name_3_0= RULE_ID ) )
                     {
-                    otherlv_2=(Token)match(input,84,FOLLOW_4); if (state.failed) return current;
+                    otherlv_2=(Token)match(input,85,FOLLOW_4); if (state.failed) return current;
                     if ( state.backtracking==0 ) {
 
                       				newLeafNode(otherlv_2, grammarAccess.getGridRowAccess().getAsKeyword_2_0());
                       			
                     }
-                    // InternalReportDSL.g:4765:4: ( (lv_name_3_0= RULE_ID ) )
-                    // InternalReportDSL.g:4766:5: (lv_name_3_0= RULE_ID )
+                    // InternalReportDSL.g:4893:4: ( (lv_name_3_0= RULE_ID ) )
+                    // InternalReportDSL.g:4894:5: (lv_name_3_0= RULE_ID )
                     {
-                    // InternalReportDSL.g:4766:5: (lv_name_3_0= RULE_ID )
-                    // InternalReportDSL.g:4767:6: lv_name_3_0= RULE_ID
+                    // InternalReportDSL.g:4894:5: (lv_name_3_0= RULE_ID )
+                    // InternalReportDSL.g:4895:6: lv_name_3_0= RULE_ID
                     {
-                    lv_name_3_0=(Token)match(input,RULE_ID,FOLLOW_78); if (state.failed) return current;
+                    lv_name_3_0=(Token)match(input,RULE_ID,FOLLOW_79); if (state.failed) return current;
                     if ( state.backtracking==0 ) {
 
                       						newLeafNode(lv_name_3_0, grammarAccess.getGridRowAccess().getNameIDTerminalRuleCall_2_1_0());
@@ -12370,189 +12717,302 @@
 
             }
 
-            // InternalReportDSL.g:4784:3: (otherlv_4= 'style' ( (otherlv_5= RULE_ID ) ) )?
-            int alt45=2;
-            int LA45_0 = input.LA(1);
-
-            if ( (LA45_0==43) ) {
-                alt45=1;
-            }
-            switch (alt45) {
-                case 1 :
-                    // InternalReportDSL.g:4785:4: otherlv_4= 'style' ( (otherlv_5= RULE_ID ) )
-                    {
-                    otherlv_4=(Token)match(input,43,FOLLOW_4); if (state.failed) return current;
-                    if ( state.backtracking==0 ) {
-
-                      				newLeafNode(otherlv_4, grammarAccess.getGridRowAccess().getStyleKeyword_3_0());
-                      			
-                    }
-                    // InternalReportDSL.g:4789:4: ( (otherlv_5= RULE_ID ) )
-                    // InternalReportDSL.g:4790:5: (otherlv_5= RULE_ID )
-                    {
-                    // InternalReportDSL.g:4790:5: (otherlv_5= RULE_ID )
-                    // InternalReportDSL.g:4791:6: otherlv_5= RULE_ID
-                    {
-                    if ( state.backtracking==0 ) {
-
-                      						if (current==null) {
-                      							current = createModelElement(grammarAccess.getGridRowRule());
-                      						}
-                      					
-                    }
-                    otherlv_5=(Token)match(input,RULE_ID,FOLLOW_79); if (state.failed) return current;
-                    if ( state.backtracking==0 ) {
-
-                      						newLeafNode(otherlv_5, grammarAccess.getGridRowAccess().getStyleStyleCrossReference_3_1_0());
-                      					
-                    }
-
-                    }
-
-
-                    }
-
-
-                    }
-                    break;
-
-            }
-
-            // InternalReportDSL.g:4803:3: (otherlv_6= 'height' ( (lv_heightValue_7_0= ruleUnsignedNumber ) ) )?
-            int alt46=2;
-            int LA46_0 = input.LA(1);
-
-            if ( (LA46_0==79) ) {
-                alt46=1;
-            }
-            switch (alt46) {
-                case 1 :
-                    // InternalReportDSL.g:4804:4: otherlv_6= 'height' ( (lv_heightValue_7_0= ruleUnsignedNumber ) )
-                    {
-                    otherlv_6=(Token)match(input,79,FOLLOW_28); if (state.failed) return current;
-                    if ( state.backtracking==0 ) {
-
-                      				newLeafNode(otherlv_6, grammarAccess.getGridRowAccess().getHeightKeyword_4_0());
-                      			
-                    }
-                    // InternalReportDSL.g:4808:4: ( (lv_heightValue_7_0= ruleUnsignedNumber ) )
-                    // InternalReportDSL.g:4809:5: (lv_heightValue_7_0= ruleUnsignedNumber )
-                    {
-                    // InternalReportDSL.g:4809:5: (lv_heightValue_7_0= ruleUnsignedNumber )
-                    // InternalReportDSL.g:4810:6: lv_heightValue_7_0= ruleUnsignedNumber
-                    {
-                    if ( state.backtracking==0 ) {
-
-                      						newCompositeNode(grammarAccess.getGridRowAccess().getHeightValueUnsignedNumberParserRuleCall_4_1_0());
-                      					
-                    }
-                    pushFollow(FOLLOW_75);
-                    lv_heightValue_7_0=ruleUnsignedNumber();
-
-                    state._fsp--;
-                    if (state.failed) return current;
-                    if ( state.backtracking==0 ) {
-
-                      						if (current==null) {
-                      							current = createModelElementForParent(grammarAccess.getGridRowRule());
-                      						}
-                      						set(
-                      							current,
-                      							"heightValue",
-                      							lv_heightValue_7_0,
-                      							"org.eclipse.osbp.xtext.reportdsl.ReportDSL.UnsignedNumber");
-                      						afterParserOrEnumRuleCall();
-                      					
-                    }
-
-                    }
-
-
-                    }
-
-
-                    }
-                    break;
-
-            }
-
-            // InternalReportDSL.g:4828:3: ( (lv_visibilityItem_8_0= ruleVisibility ) )?
-            int alt47=2;
-            int LA47_0 = input.LA(1);
-
-            if ( (LA47_0==115) ) {
-                alt47=1;
-            }
-            switch (alt47) {
-                case 1 :
-                    // InternalReportDSL.g:4829:4: (lv_visibilityItem_8_0= ruleVisibility )
-                    {
-                    // InternalReportDSL.g:4829:4: (lv_visibilityItem_8_0= ruleVisibility )
-                    // InternalReportDSL.g:4830:5: lv_visibilityItem_8_0= ruleVisibility
-                    {
-                    if ( state.backtracking==0 ) {
-
-                      					newCompositeNode(grammarAccess.getGridRowAccess().getVisibilityItemVisibilityParserRuleCall_5_0());
-                      				
-                    }
-                    pushFollow(FOLLOW_5);
-                    lv_visibilityItem_8_0=ruleVisibility();
-
-                    state._fsp--;
-                    if (state.failed) return current;
-                    if ( state.backtracking==0 ) {
-
-                      					if (current==null) {
-                      						current = createModelElementForParent(grammarAccess.getGridRowRule());
-                      					}
-                      					set(
-                      						current,
-                      						"visibilityItem",
-                      						lv_visibilityItem_8_0,
-                      						"org.eclipse.osbp.xtext.reportdsl.ReportDSL.Visibility");
-                      					afterParserOrEnumRuleCall();
-                      				
-                    }
-
-                    }
-
-
-                    }
-                    break;
-
-            }
-
-            otherlv_9=(Token)match(input,14,FOLLOW_80); if (state.failed) return current;
-            if ( state.backtracking==0 ) {
-
-              			newLeafNode(otherlv_9, grammarAccess.getGridRowAccess().getLeftCurlyBracketKeyword_6());
-              		
-            }
-            // InternalReportDSL.g:4851:3: ( (lv_cells_10_0= ruleGridCell ) )*
-            loop48:
+            // InternalReportDSL.g:4912:3: ( ( ( ( ({...}? => ( ({...}? => (otherlv_5= 'style' ( (otherlv_6= RULE_ID ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_7= 'height' ( (lv_heightValue_8_0= ruleUnsignedNumber ) ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_visibilityItem_9_0= ruleVisibility ) ) ) ) ) )* ) ) )
+            // InternalReportDSL.g:4913:4: ( ( ( ({...}? => ( ({...}? => (otherlv_5= 'style' ( (otherlv_6= RULE_ID ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_7= 'height' ( (lv_heightValue_8_0= ruleUnsignedNumber ) ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_visibilityItem_9_0= ruleVisibility ) ) ) ) ) )* ) )
+            {
+            // InternalReportDSL.g:4913:4: ( ( ( ({...}? => ( ({...}? => (otherlv_5= 'style' ( (otherlv_6= RULE_ID ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_7= 'height' ( (lv_heightValue_8_0= ruleUnsignedNumber ) ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_visibilityItem_9_0= ruleVisibility ) ) ) ) ) )* ) )
+            // InternalReportDSL.g:4914:5: ( ( ({...}? => ( ({...}? => (otherlv_5= 'style' ( (otherlv_6= RULE_ID ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_7= 'height' ( (lv_heightValue_8_0= ruleUnsignedNumber ) ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_visibilityItem_9_0= ruleVisibility ) ) ) ) ) )* )
+            {
+            getUnorderedGroupHelper().enter(grammarAccess.getGridRowAccess().getUnorderedGroup_3());
+            // InternalReportDSL.g:4917:5: ( ( ({...}? => ( ({...}? => (otherlv_5= 'style' ( (otherlv_6= RULE_ID ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_7= 'height' ( (lv_heightValue_8_0= ruleUnsignedNumber ) ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_visibilityItem_9_0= ruleVisibility ) ) ) ) ) )* )
+            // InternalReportDSL.g:4918:6: ( ({...}? => ( ({...}? => (otherlv_5= 'style' ( (otherlv_6= RULE_ID ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_7= 'height' ( (lv_heightValue_8_0= ruleUnsignedNumber ) ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_visibilityItem_9_0= ruleVisibility ) ) ) ) ) )*
+            {
+            // InternalReportDSL.g:4918:6: ( ({...}? => ( ({...}? => (otherlv_5= 'style' ( (otherlv_6= RULE_ID ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_7= 'height' ( (lv_heightValue_8_0= ruleUnsignedNumber ) ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_visibilityItem_9_0= ruleVisibility ) ) ) ) ) )*
+            loop45:
             do {
-                int alt48=2;
-                int LA48_0 = input.LA(1);
+                int alt45=4;
+                int LA45_0 = input.LA(1);
 
-                if ( (LA48_0==87) ) {
-                    alt48=1;
+                if ( LA45_0 == 43 && getUnorderedGroupHelper().canSelect(grammarAccess.getGridRowAccess().getUnorderedGroup_3(), 0) ) {
+                    alt45=1;
+                }
+                else if ( LA45_0 == 80 && getUnorderedGroupHelper().canSelect(grammarAccess.getGridRowAccess().getUnorderedGroup_3(), 1) ) {
+                    alt45=2;
+                }
+                else if ( LA45_0 == 114 && getUnorderedGroupHelper().canSelect(grammarAccess.getGridRowAccess().getUnorderedGroup_3(), 2) ) {
+                    alt45=3;
                 }
 
 
-                switch (alt48) {
+                switch (alt45) {
             	case 1 :
-            	    // InternalReportDSL.g:4852:4: (lv_cells_10_0= ruleGridCell )
+            	    // InternalReportDSL.g:4919:4: ({...}? => ( ({...}? => (otherlv_5= 'style' ( (otherlv_6= RULE_ID ) ) ) ) ) )
             	    {
-            	    // InternalReportDSL.g:4852:4: (lv_cells_10_0= ruleGridCell )
-            	    // InternalReportDSL.g:4853:5: lv_cells_10_0= ruleGridCell
+            	    // InternalReportDSL.g:4919:4: ({...}? => ( ({...}? => (otherlv_5= 'style' ( (otherlv_6= RULE_ID ) ) ) ) ) )
+            	    // InternalReportDSL.g:4920:5: {...}? => ( ({...}? => (otherlv_5= 'style' ( (otherlv_6= RULE_ID ) ) ) ) )
+            	    {
+            	    if ( ! getUnorderedGroupHelper().canSelect(grammarAccess.getGridRowAccess().getUnorderedGroup_3(), 0) ) {
+            	        if (state.backtracking>0) {state.failed=true; return current;}
+            	        throw new FailedPredicateException(input, "ruleGridRow", "getUnorderedGroupHelper().canSelect(grammarAccess.getGridRowAccess().getUnorderedGroup_3(), 0)");
+            	    }
+            	    // InternalReportDSL.g:4920:104: ( ({...}? => (otherlv_5= 'style' ( (otherlv_6= RULE_ID ) ) ) ) )
+            	    // InternalReportDSL.g:4921:6: ({...}? => (otherlv_5= 'style' ( (otherlv_6= RULE_ID ) ) ) )
+            	    {
+            	    getUnorderedGroupHelper().select(grammarAccess.getGridRowAccess().getUnorderedGroup_3(), 0);
+            	    // InternalReportDSL.g:4924:9: ({...}? => (otherlv_5= 'style' ( (otherlv_6= RULE_ID ) ) ) )
+            	    // InternalReportDSL.g:4924:10: {...}? => (otherlv_5= 'style' ( (otherlv_6= RULE_ID ) ) )
+            	    {
+            	    if ( !((true)) ) {
+            	        if (state.backtracking>0) {state.failed=true; return current;}
+            	        throw new FailedPredicateException(input, "ruleGridRow", "true");
+            	    }
+            	    // InternalReportDSL.g:4924:19: (otherlv_5= 'style' ( (otherlv_6= RULE_ID ) ) )
+            	    // InternalReportDSL.g:4924:20: otherlv_5= 'style' ( (otherlv_6= RULE_ID ) )
+            	    {
+            	    otherlv_5=(Token)match(input,43,FOLLOW_4); if (state.failed) return current;
+            	    if ( state.backtracking==0 ) {
+
+            	      									newLeafNode(otherlv_5, grammarAccess.getGridRowAccess().getStyleKeyword_3_0_0());
+            	      								
+            	    }
+            	    // InternalReportDSL.g:4928:9: ( (otherlv_6= RULE_ID ) )
+            	    // InternalReportDSL.g:4929:10: (otherlv_6= RULE_ID )
+            	    {
+            	    // InternalReportDSL.g:4929:10: (otherlv_6= RULE_ID )
+            	    // InternalReportDSL.g:4930:11: otherlv_6= RULE_ID
             	    {
             	    if ( state.backtracking==0 ) {
 
-            	      					newCompositeNode(grammarAccess.getGridRowAccess().getCellsGridCellParserRuleCall_7_0());
+            	      											if (current==null) {
+            	      												current = createModelElement(grammarAccess.getGridRowRule());
+            	      											}
+            	      										
+            	    }
+            	    otherlv_6=(Token)match(input,RULE_ID,FOLLOW_79); if (state.failed) return current;
+            	    if ( state.backtracking==0 ) {
+
+            	      											newLeafNode(otherlv_6, grammarAccess.getGridRowAccess().getStyleStyleCrossReference_3_0_1_0());
+            	      										
+            	    }
+
+            	    }
+
+
+            	    }
+
+
+            	    }
+
+
+            	    }
+
+            	    getUnorderedGroupHelper().returnFromSelection(grammarAccess.getGridRowAccess().getUnorderedGroup_3());
+
+            	    }
+
+
+            	    }
+
+
+            	    }
+            	    break;
+            	case 2 :
+            	    // InternalReportDSL.g:4947:4: ({...}? => ( ({...}? => (otherlv_7= 'height' ( (lv_heightValue_8_0= ruleUnsignedNumber ) ) ) ) ) )
+            	    {
+            	    // InternalReportDSL.g:4947:4: ({...}? => ( ({...}? => (otherlv_7= 'height' ( (lv_heightValue_8_0= ruleUnsignedNumber ) ) ) ) ) )
+            	    // InternalReportDSL.g:4948:5: {...}? => ( ({...}? => (otherlv_7= 'height' ( (lv_heightValue_8_0= ruleUnsignedNumber ) ) ) ) )
+            	    {
+            	    if ( ! getUnorderedGroupHelper().canSelect(grammarAccess.getGridRowAccess().getUnorderedGroup_3(), 1) ) {
+            	        if (state.backtracking>0) {state.failed=true; return current;}
+            	        throw new FailedPredicateException(input, "ruleGridRow", "getUnorderedGroupHelper().canSelect(grammarAccess.getGridRowAccess().getUnorderedGroup_3(), 1)");
+            	    }
+            	    // InternalReportDSL.g:4948:104: ( ({...}? => (otherlv_7= 'height' ( (lv_heightValue_8_0= ruleUnsignedNumber ) ) ) ) )
+            	    // InternalReportDSL.g:4949:6: ({...}? => (otherlv_7= 'height' ( (lv_heightValue_8_0= ruleUnsignedNumber ) ) ) )
+            	    {
+            	    getUnorderedGroupHelper().select(grammarAccess.getGridRowAccess().getUnorderedGroup_3(), 1);
+            	    // InternalReportDSL.g:4952:9: ({...}? => (otherlv_7= 'height' ( (lv_heightValue_8_0= ruleUnsignedNumber ) ) ) )
+            	    // InternalReportDSL.g:4952:10: {...}? => (otherlv_7= 'height' ( (lv_heightValue_8_0= ruleUnsignedNumber ) ) )
+            	    {
+            	    if ( !((true)) ) {
+            	        if (state.backtracking>0) {state.failed=true; return current;}
+            	        throw new FailedPredicateException(input, "ruleGridRow", "true");
+            	    }
+            	    // InternalReportDSL.g:4952:19: (otherlv_7= 'height' ( (lv_heightValue_8_0= ruleUnsignedNumber ) ) )
+            	    // InternalReportDSL.g:4952:20: otherlv_7= 'height' ( (lv_heightValue_8_0= ruleUnsignedNumber ) )
+            	    {
+            	    otherlv_7=(Token)match(input,80,FOLLOW_28); if (state.failed) return current;
+            	    if ( state.backtracking==0 ) {
+
+            	      									newLeafNode(otherlv_7, grammarAccess.getGridRowAccess().getHeightKeyword_3_1_0());
+            	      								
+            	    }
+            	    // InternalReportDSL.g:4956:9: ( (lv_heightValue_8_0= ruleUnsignedNumber ) )
+            	    // InternalReportDSL.g:4957:10: (lv_heightValue_8_0= ruleUnsignedNumber )
+            	    {
+            	    // InternalReportDSL.g:4957:10: (lv_heightValue_8_0= ruleUnsignedNumber )
+            	    // InternalReportDSL.g:4958:11: lv_heightValue_8_0= ruleUnsignedNumber
+            	    {
+            	    if ( state.backtracking==0 ) {
+
+            	      											newCompositeNode(grammarAccess.getGridRowAccess().getHeightValueUnsignedNumberParserRuleCall_3_1_1_0());
+            	      										
+            	    }
+            	    pushFollow(FOLLOW_79);
+            	    lv_heightValue_8_0=ruleUnsignedNumber();
+
+            	    state._fsp--;
+            	    if (state.failed) return current;
+            	    if ( state.backtracking==0 ) {
+
+            	      											if (current==null) {
+            	      												current = createModelElementForParent(grammarAccess.getGridRowRule());
+            	      											}
+            	      											set(
+            	      												current,
+            	      												"heightValue",
+            	      												lv_heightValue_8_0,
+            	      												"org.eclipse.osbp.xtext.reportdsl.ReportDSL.UnsignedNumber");
+            	      											afterParserOrEnumRuleCall();
+            	      										
+            	    }
+
+            	    }
+
+
+            	    }
+
+
+            	    }
+
+
+            	    }
+
+            	    getUnorderedGroupHelper().returnFromSelection(grammarAccess.getGridRowAccess().getUnorderedGroup_3());
+
+            	    }
+
+
+            	    }
+
+
+            	    }
+            	    break;
+            	case 3 :
+            	    // InternalReportDSL.g:4981:4: ({...}? => ( ({...}? => ( (lv_visibilityItem_9_0= ruleVisibility ) ) ) ) )
+            	    {
+            	    // InternalReportDSL.g:4981:4: ({...}? => ( ({...}? => ( (lv_visibilityItem_9_0= ruleVisibility ) ) ) ) )
+            	    // InternalReportDSL.g:4982:5: {...}? => ( ({...}? => ( (lv_visibilityItem_9_0= ruleVisibility ) ) ) )
+            	    {
+            	    if ( ! getUnorderedGroupHelper().canSelect(grammarAccess.getGridRowAccess().getUnorderedGroup_3(), 2) ) {
+            	        if (state.backtracking>0) {state.failed=true; return current;}
+            	        throw new FailedPredicateException(input, "ruleGridRow", "getUnorderedGroupHelper().canSelect(grammarAccess.getGridRowAccess().getUnorderedGroup_3(), 2)");
+            	    }
+            	    // InternalReportDSL.g:4982:104: ( ({...}? => ( (lv_visibilityItem_9_0= ruleVisibility ) ) ) )
+            	    // InternalReportDSL.g:4983:6: ({...}? => ( (lv_visibilityItem_9_0= ruleVisibility ) ) )
+            	    {
+            	    getUnorderedGroupHelper().select(grammarAccess.getGridRowAccess().getUnorderedGroup_3(), 2);
+            	    // InternalReportDSL.g:4986:9: ({...}? => ( (lv_visibilityItem_9_0= ruleVisibility ) ) )
+            	    // InternalReportDSL.g:4986:10: {...}? => ( (lv_visibilityItem_9_0= ruleVisibility ) )
+            	    {
+            	    if ( !((true)) ) {
+            	        if (state.backtracking>0) {state.failed=true; return current;}
+            	        throw new FailedPredicateException(input, "ruleGridRow", "true");
+            	    }
+            	    // InternalReportDSL.g:4986:19: ( (lv_visibilityItem_9_0= ruleVisibility ) )
+            	    // InternalReportDSL.g:4986:20: (lv_visibilityItem_9_0= ruleVisibility )
+            	    {
+            	    // InternalReportDSL.g:4986:20: (lv_visibilityItem_9_0= ruleVisibility )
+            	    // InternalReportDSL.g:4987:10: lv_visibilityItem_9_0= ruleVisibility
+            	    {
+            	    if ( state.backtracking==0 ) {
+
+            	      										newCompositeNode(grammarAccess.getGridRowAccess().getVisibilityItemVisibilityParserRuleCall_3_2_0());
+            	      									
+            	    }
+            	    pushFollow(FOLLOW_79);
+            	    lv_visibilityItem_9_0=ruleVisibility();
+
+            	    state._fsp--;
+            	    if (state.failed) return current;
+            	    if ( state.backtracking==0 ) {
+
+            	      										if (current==null) {
+            	      											current = createModelElementForParent(grammarAccess.getGridRowRule());
+            	      										}
+            	      										set(
+            	      											current,
+            	      											"visibilityItem",
+            	      											lv_visibilityItem_9_0,
+            	      											"org.eclipse.osbp.xtext.reportdsl.ReportDSL.Visibility");
+            	      										afterParserOrEnumRuleCall();
+            	      									
+            	    }
+
+            	    }
+
+
+            	    }
+
+
+            	    }
+
+            	    getUnorderedGroupHelper().returnFromSelection(grammarAccess.getGridRowAccess().getUnorderedGroup_3());
+
+            	    }
+
+
+            	    }
+
+
+            	    }
+            	    break;
+
+            	default :
+            	    break loop45;
+                }
+            } while (true);
+
+
+            }
+
+
+            }
+
+            getUnorderedGroupHelper().leave(grammarAccess.getGridRowAccess().getUnorderedGroup_3());
+
+            }
+
+            otherlv_10=(Token)match(input,14,FOLLOW_80); if (state.failed) return current;
+            if ( state.backtracking==0 ) {
+
+              			newLeafNode(otherlv_10, grammarAccess.getGridRowAccess().getLeftCurlyBracketKeyword_4());
+              		
+            }
+            // InternalReportDSL.g:5020:3: ( (lv_cells_11_0= ruleGridCell ) )*
+            loop46:
+            do {
+                int alt46=2;
+                int LA46_0 = input.LA(1);
+
+                if ( (LA46_0==88) ) {
+                    alt46=1;
+                }
+
+
+                switch (alt46) {
+            	case 1 :
+            	    // InternalReportDSL.g:5021:4: (lv_cells_11_0= ruleGridCell )
+            	    {
+            	    // InternalReportDSL.g:5021:4: (lv_cells_11_0= ruleGridCell )
+            	    // InternalReportDSL.g:5022:5: lv_cells_11_0= ruleGridCell
+            	    {
+            	    if ( state.backtracking==0 ) {
+
+            	      					newCompositeNode(grammarAccess.getGridRowAccess().getCellsGridCellParserRuleCall_5_0());
             	      				
             	    }
             	    pushFollow(FOLLOW_80);
-            	    lv_cells_10_0=ruleGridCell();
+            	    lv_cells_11_0=ruleGridCell();
 
             	    state._fsp--;
             	    if (state.failed) return current;
@@ -12564,7 +13024,7 @@
             	      					add(
             	      						current,
             	      						"cells",
-            	      						lv_cells_10_0,
+            	      						lv_cells_11_0,
             	      						"org.eclipse.osbp.xtext.reportdsl.ReportDSL.GridCell");
             	      					afterParserOrEnumRuleCall();
             	      				
@@ -12577,14 +13037,14 @@
             	    break;
 
             	default :
-            	    break loop48;
+            	    break loop46;
                 }
             } while (true);
 
-            otherlv_11=(Token)match(input,18,FOLLOW_2); if (state.failed) return current;
+            otherlv_12=(Token)match(input,18,FOLLOW_2); if (state.failed) return current;
             if ( state.backtracking==0 ) {
 
-              			newLeafNode(otherlv_11, grammarAccess.getGridRowAccess().getRightCurlyBracketKeyword_8());
+              			newLeafNode(otherlv_12, grammarAccess.getGridRowAccess().getRightCurlyBracketKeyword_6());
               		
             }
 
@@ -12612,7 +13072,7 @@
 
 
     // $ANTLR start "entryRuleGridCell"
-    // InternalReportDSL.g:4878:1: entryRuleGridCell returns [EObject current=null] : iv_ruleGridCell= ruleGridCell EOF ;
+    // InternalReportDSL.g:5047:1: entryRuleGridCell returns [EObject current=null] : iv_ruleGridCell= ruleGridCell EOF ;
     public final EObject entryRuleGridCell() throws RecognitionException {
         EObject current = null;
 
@@ -12620,8 +13080,8 @@
 
 
         try {
-            // InternalReportDSL.g:4878:49: (iv_ruleGridCell= ruleGridCell EOF )
-            // InternalReportDSL.g:4879:2: iv_ruleGridCell= ruleGridCell EOF
+            // InternalReportDSL.g:5047:49: (iv_ruleGridCell= ruleGridCell EOF )
+            // InternalReportDSL.g:5048:2: iv_ruleGridCell= ruleGridCell EOF
             {
             if ( state.backtracking==0 ) {
                newCompositeNode(grammarAccess.getGridCellRule()); 
@@ -12652,39 +13112,39 @@
 
 
     // $ANTLR start "ruleGridCell"
-    // InternalReportDSL.g:4885:1: ruleGridCell returns [EObject current=null] : ( () otherlv_1= 'cell' (otherlv_2= 'as' ( (lv_name_3_0= RULE_ID ) ) )? (otherlv_4= 'style' ( (otherlv_5= RULE_ID ) ) )? (otherlv_6= 'width' ( (lv_widthValue_7_0= ruleUnsignedNumber ) ) )? (otherlv_8= 'columnspan' ( (lv_columnspan_9_0= RULE_INT ) ) )? ( (lv_visibilityItem_10_0= ruleVisibility ) )? otherlv_11= '{' ( (lv_elements_12_0= ruleElement ) )* otherlv_13= '}' ) ;
+    // InternalReportDSL.g:5054:1: ruleGridCell returns [EObject current=null] : ( () otherlv_1= 'cell' (otherlv_2= 'as' ( (lv_name_3_0= RULE_ID ) ) )? ( ( ( ( ({...}? => ( ({...}? => (otherlv_5= 'style' ( (otherlv_6= RULE_ID ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_7= 'width' ( (lv_widthValue_8_0= ruleUnsignedNumber ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_9= 'columnspan' ( (lv_columnspan_10_0= RULE_INT ) ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_visibilityItem_11_0= ruleVisibility ) ) ) ) ) )* ) ) ) otherlv_12= '{' ( (lv_elements_13_0= ruleElement ) )* otherlv_14= '}' ) ;
     public final EObject ruleGridCell() throws RecognitionException {
         EObject current = null;
 
         Token otherlv_1=null;
         Token otherlv_2=null;
         Token lv_name_3_0=null;
-        Token otherlv_4=null;
         Token otherlv_5=null;
         Token otherlv_6=null;
-        Token otherlv_8=null;
-        Token lv_columnspan_9_0=null;
-        Token otherlv_11=null;
-        Token otherlv_13=null;
-        AntlrDatatypeRuleToken lv_widthValue_7_0 = null;
+        Token otherlv_7=null;
+        Token otherlv_9=null;
+        Token lv_columnspan_10_0=null;
+        Token otherlv_12=null;
+        Token otherlv_14=null;
+        AntlrDatatypeRuleToken lv_widthValue_8_0 = null;
 
-        EObject lv_visibilityItem_10_0 = null;
+        EObject lv_visibilityItem_11_0 = null;
 
-        EObject lv_elements_12_0 = null;
+        EObject lv_elements_13_0 = null;
 
 
 
         	enterRule();
 
         try {
-            // InternalReportDSL.g:4891:2: ( ( () otherlv_1= 'cell' (otherlv_2= 'as' ( (lv_name_3_0= RULE_ID ) ) )? (otherlv_4= 'style' ( (otherlv_5= RULE_ID ) ) )? (otherlv_6= 'width' ( (lv_widthValue_7_0= ruleUnsignedNumber ) ) )? (otherlv_8= 'columnspan' ( (lv_columnspan_9_0= RULE_INT ) ) )? ( (lv_visibilityItem_10_0= ruleVisibility ) )? otherlv_11= '{' ( (lv_elements_12_0= ruleElement ) )* otherlv_13= '}' ) )
-            // InternalReportDSL.g:4892:2: ( () otherlv_1= 'cell' (otherlv_2= 'as' ( (lv_name_3_0= RULE_ID ) ) )? (otherlv_4= 'style' ( (otherlv_5= RULE_ID ) ) )? (otherlv_6= 'width' ( (lv_widthValue_7_0= ruleUnsignedNumber ) ) )? (otherlv_8= 'columnspan' ( (lv_columnspan_9_0= RULE_INT ) ) )? ( (lv_visibilityItem_10_0= ruleVisibility ) )? otherlv_11= '{' ( (lv_elements_12_0= ruleElement ) )* otherlv_13= '}' )
+            // InternalReportDSL.g:5060:2: ( ( () otherlv_1= 'cell' (otherlv_2= 'as' ( (lv_name_3_0= RULE_ID ) ) )? ( ( ( ( ({...}? => ( ({...}? => (otherlv_5= 'style' ( (otherlv_6= RULE_ID ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_7= 'width' ( (lv_widthValue_8_0= ruleUnsignedNumber ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_9= 'columnspan' ( (lv_columnspan_10_0= RULE_INT ) ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_visibilityItem_11_0= ruleVisibility ) ) ) ) ) )* ) ) ) otherlv_12= '{' ( (lv_elements_13_0= ruleElement ) )* otherlv_14= '}' ) )
+            // InternalReportDSL.g:5061:2: ( () otherlv_1= 'cell' (otherlv_2= 'as' ( (lv_name_3_0= RULE_ID ) ) )? ( ( ( ( ({...}? => ( ({...}? => (otherlv_5= 'style' ( (otherlv_6= RULE_ID ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_7= 'width' ( (lv_widthValue_8_0= ruleUnsignedNumber ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_9= 'columnspan' ( (lv_columnspan_10_0= RULE_INT ) ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_visibilityItem_11_0= ruleVisibility ) ) ) ) ) )* ) ) ) otherlv_12= '{' ( (lv_elements_13_0= ruleElement ) )* otherlv_14= '}' )
             {
-            // InternalReportDSL.g:4892:2: ( () otherlv_1= 'cell' (otherlv_2= 'as' ( (lv_name_3_0= RULE_ID ) ) )? (otherlv_4= 'style' ( (otherlv_5= RULE_ID ) ) )? (otherlv_6= 'width' ( (lv_widthValue_7_0= ruleUnsignedNumber ) ) )? (otherlv_8= 'columnspan' ( (lv_columnspan_9_0= RULE_INT ) ) )? ( (lv_visibilityItem_10_0= ruleVisibility ) )? otherlv_11= '{' ( (lv_elements_12_0= ruleElement ) )* otherlv_13= '}' )
-            // InternalReportDSL.g:4893:3: () otherlv_1= 'cell' (otherlv_2= 'as' ( (lv_name_3_0= RULE_ID ) ) )? (otherlv_4= 'style' ( (otherlv_5= RULE_ID ) ) )? (otherlv_6= 'width' ( (lv_widthValue_7_0= ruleUnsignedNumber ) ) )? (otherlv_8= 'columnspan' ( (lv_columnspan_9_0= RULE_INT ) ) )? ( (lv_visibilityItem_10_0= ruleVisibility ) )? otherlv_11= '{' ( (lv_elements_12_0= ruleElement ) )* otherlv_13= '}'
+            // InternalReportDSL.g:5061:2: ( () otherlv_1= 'cell' (otherlv_2= 'as' ( (lv_name_3_0= RULE_ID ) ) )? ( ( ( ( ({...}? => ( ({...}? => (otherlv_5= 'style' ( (otherlv_6= RULE_ID ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_7= 'width' ( (lv_widthValue_8_0= ruleUnsignedNumber ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_9= 'columnspan' ( (lv_columnspan_10_0= RULE_INT ) ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_visibilityItem_11_0= ruleVisibility ) ) ) ) ) )* ) ) ) otherlv_12= '{' ( (lv_elements_13_0= ruleElement ) )* otherlv_14= '}' )
+            // InternalReportDSL.g:5062:3: () otherlv_1= 'cell' (otherlv_2= 'as' ( (lv_name_3_0= RULE_ID ) ) )? ( ( ( ( ({...}? => ( ({...}? => (otherlv_5= 'style' ( (otherlv_6= RULE_ID ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_7= 'width' ( (lv_widthValue_8_0= ruleUnsignedNumber ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_9= 'columnspan' ( (lv_columnspan_10_0= RULE_INT ) ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_visibilityItem_11_0= ruleVisibility ) ) ) ) ) )* ) ) ) otherlv_12= '{' ( (lv_elements_13_0= ruleElement ) )* otherlv_14= '}'
             {
-            // InternalReportDSL.g:4893:3: ()
-            // InternalReportDSL.g:4894:4: 
+            // InternalReportDSL.g:5062:3: ()
+            // InternalReportDSL.g:5063:4: 
             {
             if ( state.backtracking==0 ) {
 
@@ -12696,34 +13156,34 @@
 
             }
 
-            otherlv_1=(Token)match(input,87,FOLLOW_81); if (state.failed) return current;
+            otherlv_1=(Token)match(input,88,FOLLOW_81); if (state.failed) return current;
             if ( state.backtracking==0 ) {
 
               			newLeafNode(otherlv_1, grammarAccess.getGridCellAccess().getCellKeyword_1());
               		
             }
-            // InternalReportDSL.g:4904:3: (otherlv_2= 'as' ( (lv_name_3_0= RULE_ID ) ) )?
-            int alt49=2;
-            int LA49_0 = input.LA(1);
+            // InternalReportDSL.g:5073:3: (otherlv_2= 'as' ( (lv_name_3_0= RULE_ID ) ) )?
+            int alt47=2;
+            int LA47_0 = input.LA(1);
 
-            if ( (LA49_0==84) ) {
-                alt49=1;
+            if ( (LA47_0==85) ) {
+                alt47=1;
             }
-            switch (alt49) {
+            switch (alt47) {
                 case 1 :
-                    // InternalReportDSL.g:4905:4: otherlv_2= 'as' ( (lv_name_3_0= RULE_ID ) )
+                    // InternalReportDSL.g:5074:4: otherlv_2= 'as' ( (lv_name_3_0= RULE_ID ) )
                     {
-                    otherlv_2=(Token)match(input,84,FOLLOW_4); if (state.failed) return current;
+                    otherlv_2=(Token)match(input,85,FOLLOW_4); if (state.failed) return current;
                     if ( state.backtracking==0 ) {
 
                       				newLeafNode(otherlv_2, grammarAccess.getGridCellAccess().getAsKeyword_2_0());
                       			
                     }
-                    // InternalReportDSL.g:4909:4: ( (lv_name_3_0= RULE_ID ) )
-                    // InternalReportDSL.g:4910:5: (lv_name_3_0= RULE_ID )
+                    // InternalReportDSL.g:5078:4: ( (lv_name_3_0= RULE_ID ) )
+                    // InternalReportDSL.g:5079:5: (lv_name_3_0= RULE_ID )
                     {
-                    // InternalReportDSL.g:4910:5: (lv_name_3_0= RULE_ID )
-                    // InternalReportDSL.g:4911:6: lv_name_3_0= RULE_ID
+                    // InternalReportDSL.g:5079:5: (lv_name_3_0= RULE_ID )
+                    // InternalReportDSL.g:5080:6: lv_name_3_0= RULE_ID
                     {
                     lv_name_3_0=(Token)match(input,RULE_ID,FOLLOW_82); if (state.failed) return current;
                     if ( state.backtracking==0 ) {
@@ -12755,242 +13215,381 @@
 
             }
 
-            // InternalReportDSL.g:4928:3: (otherlv_4= 'style' ( (otherlv_5= RULE_ID ) ) )?
-            int alt50=2;
-            int LA50_0 = input.LA(1);
-
-            if ( (LA50_0==43) ) {
-                alt50=1;
-            }
-            switch (alt50) {
-                case 1 :
-                    // InternalReportDSL.g:4929:4: otherlv_4= 'style' ( (otherlv_5= RULE_ID ) )
-                    {
-                    otherlv_4=(Token)match(input,43,FOLLOW_4); if (state.failed) return current;
-                    if ( state.backtracking==0 ) {
-
-                      				newLeafNode(otherlv_4, grammarAccess.getGridCellAccess().getStyleKeyword_3_0());
-                      			
-                    }
-                    // InternalReportDSL.g:4933:4: ( (otherlv_5= RULE_ID ) )
-                    // InternalReportDSL.g:4934:5: (otherlv_5= RULE_ID )
-                    {
-                    // InternalReportDSL.g:4934:5: (otherlv_5= RULE_ID )
-                    // InternalReportDSL.g:4935:6: otherlv_5= RULE_ID
-                    {
-                    if ( state.backtracking==0 ) {
-
-                      						if (current==null) {
-                      							current = createModelElement(grammarAccess.getGridCellRule());
-                      						}
-                      					
-                    }
-                    otherlv_5=(Token)match(input,RULE_ID,FOLLOW_83); if (state.failed) return current;
-                    if ( state.backtracking==0 ) {
-
-                      						newLeafNode(otherlv_5, grammarAccess.getGridCellAccess().getStyleStyleCrossReference_3_1_0());
-                      					
-                    }
-
-                    }
-
-
-                    }
-
-
-                    }
-                    break;
-
-            }
-
-            // InternalReportDSL.g:4947:3: (otherlv_6= 'width' ( (lv_widthValue_7_0= ruleUnsignedNumber ) ) )?
-            int alt51=2;
-            int LA51_0 = input.LA(1);
-
-            if ( (LA51_0==85) ) {
-                alt51=1;
-            }
-            switch (alt51) {
-                case 1 :
-                    // InternalReportDSL.g:4948:4: otherlv_6= 'width' ( (lv_widthValue_7_0= ruleUnsignedNumber ) )
-                    {
-                    otherlv_6=(Token)match(input,85,FOLLOW_28); if (state.failed) return current;
-                    if ( state.backtracking==0 ) {
-
-                      				newLeafNode(otherlv_6, grammarAccess.getGridCellAccess().getWidthKeyword_4_0());
-                      			
-                    }
-                    // InternalReportDSL.g:4952:4: ( (lv_widthValue_7_0= ruleUnsignedNumber ) )
-                    // InternalReportDSL.g:4953:5: (lv_widthValue_7_0= ruleUnsignedNumber )
-                    {
-                    // InternalReportDSL.g:4953:5: (lv_widthValue_7_0= ruleUnsignedNumber )
-                    // InternalReportDSL.g:4954:6: lv_widthValue_7_0= ruleUnsignedNumber
-                    {
-                    if ( state.backtracking==0 ) {
-
-                      						newCompositeNode(grammarAccess.getGridCellAccess().getWidthValueUnsignedNumberParserRuleCall_4_1_0());
-                      					
-                    }
-                    pushFollow(FOLLOW_84);
-                    lv_widthValue_7_0=ruleUnsignedNumber();
-
-                    state._fsp--;
-                    if (state.failed) return current;
-                    if ( state.backtracking==0 ) {
-
-                      						if (current==null) {
-                      							current = createModelElementForParent(grammarAccess.getGridCellRule());
-                      						}
-                      						set(
-                      							current,
-                      							"widthValue",
-                      							lv_widthValue_7_0,
-                      							"org.eclipse.osbp.xtext.reportdsl.ReportDSL.UnsignedNumber");
-                      						afterParserOrEnumRuleCall();
-                      					
-                    }
-
-                    }
-
-
-                    }
-
-
-                    }
-                    break;
-
-            }
-
-            // InternalReportDSL.g:4972:3: (otherlv_8= 'columnspan' ( (lv_columnspan_9_0= RULE_INT ) ) )?
-            int alt52=2;
-            int LA52_0 = input.LA(1);
-
-            if ( (LA52_0==88) ) {
-                alt52=1;
-            }
-            switch (alt52) {
-                case 1 :
-                    // InternalReportDSL.g:4973:4: otherlv_8= 'columnspan' ( (lv_columnspan_9_0= RULE_INT ) )
-                    {
-                    otherlv_8=(Token)match(input,88,FOLLOW_36); if (state.failed) return current;
-                    if ( state.backtracking==0 ) {
-
-                      				newLeafNode(otherlv_8, grammarAccess.getGridCellAccess().getColumnspanKeyword_5_0());
-                      			
-                    }
-                    // InternalReportDSL.g:4977:4: ( (lv_columnspan_9_0= RULE_INT ) )
-                    // InternalReportDSL.g:4978:5: (lv_columnspan_9_0= RULE_INT )
-                    {
-                    // InternalReportDSL.g:4978:5: (lv_columnspan_9_0= RULE_INT )
-                    // InternalReportDSL.g:4979:6: lv_columnspan_9_0= RULE_INT
-                    {
-                    lv_columnspan_9_0=(Token)match(input,RULE_INT,FOLLOW_75); if (state.failed) return current;
-                    if ( state.backtracking==0 ) {
-
-                      						newLeafNode(lv_columnspan_9_0, grammarAccess.getGridCellAccess().getColumnspanINTTerminalRuleCall_5_1_0());
-                      					
-                    }
-                    if ( state.backtracking==0 ) {
-
-                      						if (current==null) {
-                      							current = createModelElement(grammarAccess.getGridCellRule());
-                      						}
-                      						setWithLastConsumed(
-                      							current,
-                      							"columnspan",
-                      							lv_columnspan_9_0,
-                      							"org.eclipse.xtext.xbase.Xbase.INT");
-                      					
-                    }
-
-                    }
-
-
-                    }
-
-
-                    }
-                    break;
-
-            }
-
-            // InternalReportDSL.g:4996:3: ( (lv_visibilityItem_10_0= ruleVisibility ) )?
-            int alt53=2;
-            int LA53_0 = input.LA(1);
-
-            if ( (LA53_0==115) ) {
-                alt53=1;
-            }
-            switch (alt53) {
-                case 1 :
-                    // InternalReportDSL.g:4997:4: (lv_visibilityItem_10_0= ruleVisibility )
-                    {
-                    // InternalReportDSL.g:4997:4: (lv_visibilityItem_10_0= ruleVisibility )
-                    // InternalReportDSL.g:4998:5: lv_visibilityItem_10_0= ruleVisibility
-                    {
-                    if ( state.backtracking==0 ) {
-
-                      					newCompositeNode(grammarAccess.getGridCellAccess().getVisibilityItemVisibilityParserRuleCall_6_0());
-                      				
-                    }
-                    pushFollow(FOLLOW_5);
-                    lv_visibilityItem_10_0=ruleVisibility();
-
-                    state._fsp--;
-                    if (state.failed) return current;
-                    if ( state.backtracking==0 ) {
-
-                      					if (current==null) {
-                      						current = createModelElementForParent(grammarAccess.getGridCellRule());
-                      					}
-                      					set(
-                      						current,
-                      						"visibilityItem",
-                      						lv_visibilityItem_10_0,
-                      						"org.eclipse.osbp.xtext.reportdsl.ReportDSL.Visibility");
-                      					afterParserOrEnumRuleCall();
-                      				
-                    }
-
-                    }
-
-
-                    }
-                    break;
-
-            }
-
-            otherlv_11=(Token)match(input,14,FOLLOW_71); if (state.failed) return current;
-            if ( state.backtracking==0 ) {
-
-              			newLeafNode(otherlv_11, grammarAccess.getGridCellAccess().getLeftCurlyBracketKeyword_7());
-              		
-            }
-            // InternalReportDSL.g:5019:3: ( (lv_elements_12_0= ruleElement ) )*
-            loop54:
+            // InternalReportDSL.g:5097:3: ( ( ( ( ({...}? => ( ({...}? => (otherlv_5= 'style' ( (otherlv_6= RULE_ID ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_7= 'width' ( (lv_widthValue_8_0= ruleUnsignedNumber ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_9= 'columnspan' ( (lv_columnspan_10_0= RULE_INT ) ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_visibilityItem_11_0= ruleVisibility ) ) ) ) ) )* ) ) )
+            // InternalReportDSL.g:5098:4: ( ( ( ({...}? => ( ({...}? => (otherlv_5= 'style' ( (otherlv_6= RULE_ID ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_7= 'width' ( (lv_widthValue_8_0= ruleUnsignedNumber ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_9= 'columnspan' ( (lv_columnspan_10_0= RULE_INT ) ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_visibilityItem_11_0= ruleVisibility ) ) ) ) ) )* ) )
+            {
+            // InternalReportDSL.g:5098:4: ( ( ( ({...}? => ( ({...}? => (otherlv_5= 'style' ( (otherlv_6= RULE_ID ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_7= 'width' ( (lv_widthValue_8_0= ruleUnsignedNumber ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_9= 'columnspan' ( (lv_columnspan_10_0= RULE_INT ) ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_visibilityItem_11_0= ruleVisibility ) ) ) ) ) )* ) )
+            // InternalReportDSL.g:5099:5: ( ( ({...}? => ( ({...}? => (otherlv_5= 'style' ( (otherlv_6= RULE_ID ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_7= 'width' ( (lv_widthValue_8_0= ruleUnsignedNumber ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_9= 'columnspan' ( (lv_columnspan_10_0= RULE_INT ) ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_visibilityItem_11_0= ruleVisibility ) ) ) ) ) )* )
+            {
+            getUnorderedGroupHelper().enter(grammarAccess.getGridCellAccess().getUnorderedGroup_3());
+            // InternalReportDSL.g:5102:5: ( ( ({...}? => ( ({...}? => (otherlv_5= 'style' ( (otherlv_6= RULE_ID ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_7= 'width' ( (lv_widthValue_8_0= ruleUnsignedNumber ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_9= 'columnspan' ( (lv_columnspan_10_0= RULE_INT ) ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_visibilityItem_11_0= ruleVisibility ) ) ) ) ) )* )
+            // InternalReportDSL.g:5103:6: ( ({...}? => ( ({...}? => (otherlv_5= 'style' ( (otherlv_6= RULE_ID ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_7= 'width' ( (lv_widthValue_8_0= ruleUnsignedNumber ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_9= 'columnspan' ( (lv_columnspan_10_0= RULE_INT ) ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_visibilityItem_11_0= ruleVisibility ) ) ) ) ) )*
+            {
+            // InternalReportDSL.g:5103:6: ( ({...}? => ( ({...}? => (otherlv_5= 'style' ( (otherlv_6= RULE_ID ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_7= 'width' ( (lv_widthValue_8_0= ruleUnsignedNumber ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_9= 'columnspan' ( (lv_columnspan_10_0= RULE_INT ) ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_visibilityItem_11_0= ruleVisibility ) ) ) ) ) )*
+            loop48:
             do {
-                int alt54=2;
-                int LA54_0 = input.LA(1);
+                int alt48=5;
+                int LA48_0 = input.LA(1);
 
-                if ( (LA54_0==83||LA54_0==89||(LA54_0>=99 && LA54_0<=100)||LA54_0==102||(LA54_0>=106 && LA54_0<=107)||(LA54_0>=120 && LA54_0<=125)) ) {
-                    alt54=1;
+                if ( LA48_0 == 43 && getUnorderedGroupHelper().canSelect(grammarAccess.getGridCellAccess().getUnorderedGroup_3(), 0) ) {
+                    alt48=1;
+                }
+                else if ( LA48_0 == 86 && getUnorderedGroupHelper().canSelect(grammarAccess.getGridCellAccess().getUnorderedGroup_3(), 1) ) {
+                    alt48=2;
+                }
+                else if ( LA48_0 == 89 && getUnorderedGroupHelper().canSelect(grammarAccess.getGridCellAccess().getUnorderedGroup_3(), 2) ) {
+                    alt48=3;
+                }
+                else if ( LA48_0 == 114 && getUnorderedGroupHelper().canSelect(grammarAccess.getGridCellAccess().getUnorderedGroup_3(), 3) ) {
+                    alt48=4;
                 }
 
 
-                switch (alt54) {
+                switch (alt48) {
             	case 1 :
-            	    // InternalReportDSL.g:5020:4: (lv_elements_12_0= ruleElement )
+            	    // InternalReportDSL.g:5104:4: ({...}? => ( ({...}? => (otherlv_5= 'style' ( (otherlv_6= RULE_ID ) ) ) ) ) )
             	    {
-            	    // InternalReportDSL.g:5020:4: (lv_elements_12_0= ruleElement )
-            	    // InternalReportDSL.g:5021:5: lv_elements_12_0= ruleElement
+            	    // InternalReportDSL.g:5104:4: ({...}? => ( ({...}? => (otherlv_5= 'style' ( (otherlv_6= RULE_ID ) ) ) ) ) )
+            	    // InternalReportDSL.g:5105:5: {...}? => ( ({...}? => (otherlv_5= 'style' ( (otherlv_6= RULE_ID ) ) ) ) )
+            	    {
+            	    if ( ! getUnorderedGroupHelper().canSelect(grammarAccess.getGridCellAccess().getUnorderedGroup_3(), 0) ) {
+            	        if (state.backtracking>0) {state.failed=true; return current;}
+            	        throw new FailedPredicateException(input, "ruleGridCell", "getUnorderedGroupHelper().canSelect(grammarAccess.getGridCellAccess().getUnorderedGroup_3(), 0)");
+            	    }
+            	    // InternalReportDSL.g:5105:105: ( ({...}? => (otherlv_5= 'style' ( (otherlv_6= RULE_ID ) ) ) ) )
+            	    // InternalReportDSL.g:5106:6: ({...}? => (otherlv_5= 'style' ( (otherlv_6= RULE_ID ) ) ) )
+            	    {
+            	    getUnorderedGroupHelper().select(grammarAccess.getGridCellAccess().getUnorderedGroup_3(), 0);
+            	    // InternalReportDSL.g:5109:9: ({...}? => (otherlv_5= 'style' ( (otherlv_6= RULE_ID ) ) ) )
+            	    // InternalReportDSL.g:5109:10: {...}? => (otherlv_5= 'style' ( (otherlv_6= RULE_ID ) ) )
+            	    {
+            	    if ( !((true)) ) {
+            	        if (state.backtracking>0) {state.failed=true; return current;}
+            	        throw new FailedPredicateException(input, "ruleGridCell", "true");
+            	    }
+            	    // InternalReportDSL.g:5109:19: (otherlv_5= 'style' ( (otherlv_6= RULE_ID ) ) )
+            	    // InternalReportDSL.g:5109:20: otherlv_5= 'style' ( (otherlv_6= RULE_ID ) )
+            	    {
+            	    otherlv_5=(Token)match(input,43,FOLLOW_4); if (state.failed) return current;
+            	    if ( state.backtracking==0 ) {
+
+            	      									newLeafNode(otherlv_5, grammarAccess.getGridCellAccess().getStyleKeyword_3_0_0());
+            	      								
+            	    }
+            	    // InternalReportDSL.g:5113:9: ( (otherlv_6= RULE_ID ) )
+            	    // InternalReportDSL.g:5114:10: (otherlv_6= RULE_ID )
+            	    {
+            	    // InternalReportDSL.g:5114:10: (otherlv_6= RULE_ID )
+            	    // InternalReportDSL.g:5115:11: otherlv_6= RULE_ID
             	    {
             	    if ( state.backtracking==0 ) {
 
-            	      					newCompositeNode(grammarAccess.getGridCellAccess().getElementsElementParserRuleCall_8_0());
+            	      											if (current==null) {
+            	      												current = createModelElement(grammarAccess.getGridCellRule());
+            	      											}
+            	      										
+            	    }
+            	    otherlv_6=(Token)match(input,RULE_ID,FOLLOW_82); if (state.failed) return current;
+            	    if ( state.backtracking==0 ) {
+
+            	      											newLeafNode(otherlv_6, grammarAccess.getGridCellAccess().getStyleStyleCrossReference_3_0_1_0());
+            	      										
+            	    }
+
+            	    }
+
+
+            	    }
+
+
+            	    }
+
+
+            	    }
+
+            	    getUnorderedGroupHelper().returnFromSelection(grammarAccess.getGridCellAccess().getUnorderedGroup_3());
+
+            	    }
+
+
+            	    }
+
+
+            	    }
+            	    break;
+            	case 2 :
+            	    // InternalReportDSL.g:5132:4: ({...}? => ( ({...}? => (otherlv_7= 'width' ( (lv_widthValue_8_0= ruleUnsignedNumber ) ) ) ) ) )
+            	    {
+            	    // InternalReportDSL.g:5132:4: ({...}? => ( ({...}? => (otherlv_7= 'width' ( (lv_widthValue_8_0= ruleUnsignedNumber ) ) ) ) ) )
+            	    // InternalReportDSL.g:5133:5: {...}? => ( ({...}? => (otherlv_7= 'width' ( (lv_widthValue_8_0= ruleUnsignedNumber ) ) ) ) )
+            	    {
+            	    if ( ! getUnorderedGroupHelper().canSelect(grammarAccess.getGridCellAccess().getUnorderedGroup_3(), 1) ) {
+            	        if (state.backtracking>0) {state.failed=true; return current;}
+            	        throw new FailedPredicateException(input, "ruleGridCell", "getUnorderedGroupHelper().canSelect(grammarAccess.getGridCellAccess().getUnorderedGroup_3(), 1)");
+            	    }
+            	    // InternalReportDSL.g:5133:105: ( ({...}? => (otherlv_7= 'width' ( (lv_widthValue_8_0= ruleUnsignedNumber ) ) ) ) )
+            	    // InternalReportDSL.g:5134:6: ({...}? => (otherlv_7= 'width' ( (lv_widthValue_8_0= ruleUnsignedNumber ) ) ) )
+            	    {
+            	    getUnorderedGroupHelper().select(grammarAccess.getGridCellAccess().getUnorderedGroup_3(), 1);
+            	    // InternalReportDSL.g:5137:9: ({...}? => (otherlv_7= 'width' ( (lv_widthValue_8_0= ruleUnsignedNumber ) ) ) )
+            	    // InternalReportDSL.g:5137:10: {...}? => (otherlv_7= 'width' ( (lv_widthValue_8_0= ruleUnsignedNumber ) ) )
+            	    {
+            	    if ( !((true)) ) {
+            	        if (state.backtracking>0) {state.failed=true; return current;}
+            	        throw new FailedPredicateException(input, "ruleGridCell", "true");
+            	    }
+            	    // InternalReportDSL.g:5137:19: (otherlv_7= 'width' ( (lv_widthValue_8_0= ruleUnsignedNumber ) ) )
+            	    // InternalReportDSL.g:5137:20: otherlv_7= 'width' ( (lv_widthValue_8_0= ruleUnsignedNumber ) )
+            	    {
+            	    otherlv_7=(Token)match(input,86,FOLLOW_28); if (state.failed) return current;
+            	    if ( state.backtracking==0 ) {
+
+            	      									newLeafNode(otherlv_7, grammarAccess.getGridCellAccess().getWidthKeyword_3_1_0());
+            	      								
+            	    }
+            	    // InternalReportDSL.g:5141:9: ( (lv_widthValue_8_0= ruleUnsignedNumber ) )
+            	    // InternalReportDSL.g:5142:10: (lv_widthValue_8_0= ruleUnsignedNumber )
+            	    {
+            	    // InternalReportDSL.g:5142:10: (lv_widthValue_8_0= ruleUnsignedNumber )
+            	    // InternalReportDSL.g:5143:11: lv_widthValue_8_0= ruleUnsignedNumber
+            	    {
+            	    if ( state.backtracking==0 ) {
+
+            	      											newCompositeNode(grammarAccess.getGridCellAccess().getWidthValueUnsignedNumberParserRuleCall_3_1_1_0());
+            	      										
+            	    }
+            	    pushFollow(FOLLOW_82);
+            	    lv_widthValue_8_0=ruleUnsignedNumber();
+
+            	    state._fsp--;
+            	    if (state.failed) return current;
+            	    if ( state.backtracking==0 ) {
+
+            	      											if (current==null) {
+            	      												current = createModelElementForParent(grammarAccess.getGridCellRule());
+            	      											}
+            	      											set(
+            	      												current,
+            	      												"widthValue",
+            	      												lv_widthValue_8_0,
+            	      												"org.eclipse.osbp.xtext.reportdsl.ReportDSL.UnsignedNumber");
+            	      											afterParserOrEnumRuleCall();
+            	      										
+            	    }
+
+            	    }
+
+
+            	    }
+
+
+            	    }
+
+
+            	    }
+
+            	    getUnorderedGroupHelper().returnFromSelection(grammarAccess.getGridCellAccess().getUnorderedGroup_3());
+
+            	    }
+
+
+            	    }
+
+
+            	    }
+            	    break;
+            	case 3 :
+            	    // InternalReportDSL.g:5166:4: ({...}? => ( ({...}? => (otherlv_9= 'columnspan' ( (lv_columnspan_10_0= RULE_INT ) ) ) ) ) )
+            	    {
+            	    // InternalReportDSL.g:5166:4: ({...}? => ( ({...}? => (otherlv_9= 'columnspan' ( (lv_columnspan_10_0= RULE_INT ) ) ) ) ) )
+            	    // InternalReportDSL.g:5167:5: {...}? => ( ({...}? => (otherlv_9= 'columnspan' ( (lv_columnspan_10_0= RULE_INT ) ) ) ) )
+            	    {
+            	    if ( ! getUnorderedGroupHelper().canSelect(grammarAccess.getGridCellAccess().getUnorderedGroup_3(), 2) ) {
+            	        if (state.backtracking>0) {state.failed=true; return current;}
+            	        throw new FailedPredicateException(input, "ruleGridCell", "getUnorderedGroupHelper().canSelect(grammarAccess.getGridCellAccess().getUnorderedGroup_3(), 2)");
+            	    }
+            	    // InternalReportDSL.g:5167:105: ( ({...}? => (otherlv_9= 'columnspan' ( (lv_columnspan_10_0= RULE_INT ) ) ) ) )
+            	    // InternalReportDSL.g:5168:6: ({...}? => (otherlv_9= 'columnspan' ( (lv_columnspan_10_0= RULE_INT ) ) ) )
+            	    {
+            	    getUnorderedGroupHelper().select(grammarAccess.getGridCellAccess().getUnorderedGroup_3(), 2);
+            	    // InternalReportDSL.g:5171:9: ({...}? => (otherlv_9= 'columnspan' ( (lv_columnspan_10_0= RULE_INT ) ) ) )
+            	    // InternalReportDSL.g:5171:10: {...}? => (otherlv_9= 'columnspan' ( (lv_columnspan_10_0= RULE_INT ) ) )
+            	    {
+            	    if ( !((true)) ) {
+            	        if (state.backtracking>0) {state.failed=true; return current;}
+            	        throw new FailedPredicateException(input, "ruleGridCell", "true");
+            	    }
+            	    // InternalReportDSL.g:5171:19: (otherlv_9= 'columnspan' ( (lv_columnspan_10_0= RULE_INT ) ) )
+            	    // InternalReportDSL.g:5171:20: otherlv_9= 'columnspan' ( (lv_columnspan_10_0= RULE_INT ) )
+            	    {
+            	    otherlv_9=(Token)match(input,89,FOLLOW_36); if (state.failed) return current;
+            	    if ( state.backtracking==0 ) {
+
+            	      									newLeafNode(otherlv_9, grammarAccess.getGridCellAccess().getColumnspanKeyword_3_2_0());
+            	      								
+            	    }
+            	    // InternalReportDSL.g:5175:9: ( (lv_columnspan_10_0= RULE_INT ) )
+            	    // InternalReportDSL.g:5176:10: (lv_columnspan_10_0= RULE_INT )
+            	    {
+            	    // InternalReportDSL.g:5176:10: (lv_columnspan_10_0= RULE_INT )
+            	    // InternalReportDSL.g:5177:11: lv_columnspan_10_0= RULE_INT
+            	    {
+            	    lv_columnspan_10_0=(Token)match(input,RULE_INT,FOLLOW_82); if (state.failed) return current;
+            	    if ( state.backtracking==0 ) {
+
+            	      											newLeafNode(lv_columnspan_10_0, grammarAccess.getGridCellAccess().getColumnspanINTTerminalRuleCall_3_2_1_0());
+            	      										
+            	    }
+            	    if ( state.backtracking==0 ) {
+
+            	      											if (current==null) {
+            	      												current = createModelElement(grammarAccess.getGridCellRule());
+            	      											}
+            	      											setWithLastConsumed(
+            	      												current,
+            	      												"columnspan",
+            	      												lv_columnspan_10_0,
+            	      												"org.eclipse.xtext.xbase.Xbase.INT");
+            	      										
+            	    }
+
+            	    }
+
+
+            	    }
+
+
+            	    }
+
+
+            	    }
+
+            	    getUnorderedGroupHelper().returnFromSelection(grammarAccess.getGridCellAccess().getUnorderedGroup_3());
+
+            	    }
+
+
+            	    }
+
+
+            	    }
+            	    break;
+            	case 4 :
+            	    // InternalReportDSL.g:5199:4: ({...}? => ( ({...}? => ( (lv_visibilityItem_11_0= ruleVisibility ) ) ) ) )
+            	    {
+            	    // InternalReportDSL.g:5199:4: ({...}? => ( ({...}? => ( (lv_visibilityItem_11_0= ruleVisibility ) ) ) ) )
+            	    // InternalReportDSL.g:5200:5: {...}? => ( ({...}? => ( (lv_visibilityItem_11_0= ruleVisibility ) ) ) )
+            	    {
+            	    if ( ! getUnorderedGroupHelper().canSelect(grammarAccess.getGridCellAccess().getUnorderedGroup_3(), 3) ) {
+            	        if (state.backtracking>0) {state.failed=true; return current;}
+            	        throw new FailedPredicateException(input, "ruleGridCell", "getUnorderedGroupHelper().canSelect(grammarAccess.getGridCellAccess().getUnorderedGroup_3(), 3)");
+            	    }
+            	    // InternalReportDSL.g:5200:105: ( ({...}? => ( (lv_visibilityItem_11_0= ruleVisibility ) ) ) )
+            	    // InternalReportDSL.g:5201:6: ({...}? => ( (lv_visibilityItem_11_0= ruleVisibility ) ) )
+            	    {
+            	    getUnorderedGroupHelper().select(grammarAccess.getGridCellAccess().getUnorderedGroup_3(), 3);
+            	    // InternalReportDSL.g:5204:9: ({...}? => ( (lv_visibilityItem_11_0= ruleVisibility ) ) )
+            	    // InternalReportDSL.g:5204:10: {...}? => ( (lv_visibilityItem_11_0= ruleVisibility ) )
+            	    {
+            	    if ( !((true)) ) {
+            	        if (state.backtracking>0) {state.failed=true; return current;}
+            	        throw new FailedPredicateException(input, "ruleGridCell", "true");
+            	    }
+            	    // InternalReportDSL.g:5204:19: ( (lv_visibilityItem_11_0= ruleVisibility ) )
+            	    // InternalReportDSL.g:5204:20: (lv_visibilityItem_11_0= ruleVisibility )
+            	    {
+            	    // InternalReportDSL.g:5204:20: (lv_visibilityItem_11_0= ruleVisibility )
+            	    // InternalReportDSL.g:5205:10: lv_visibilityItem_11_0= ruleVisibility
+            	    {
+            	    if ( state.backtracking==0 ) {
+
+            	      										newCompositeNode(grammarAccess.getGridCellAccess().getVisibilityItemVisibilityParserRuleCall_3_3_0());
+            	      									
+            	    }
+            	    pushFollow(FOLLOW_82);
+            	    lv_visibilityItem_11_0=ruleVisibility();
+
+            	    state._fsp--;
+            	    if (state.failed) return current;
+            	    if ( state.backtracking==0 ) {
+
+            	      										if (current==null) {
+            	      											current = createModelElementForParent(grammarAccess.getGridCellRule());
+            	      										}
+            	      										set(
+            	      											current,
+            	      											"visibilityItem",
+            	      											lv_visibilityItem_11_0,
+            	      											"org.eclipse.osbp.xtext.reportdsl.ReportDSL.Visibility");
+            	      										afterParserOrEnumRuleCall();
+            	      									
+            	    }
+
+            	    }
+
+
+            	    }
+
+
+            	    }
+
+            	    getUnorderedGroupHelper().returnFromSelection(grammarAccess.getGridCellAccess().getUnorderedGroup_3());
+
+            	    }
+
+
+            	    }
+
+
+            	    }
+            	    break;
+
+            	default :
+            	    break loop48;
+                }
+            } while (true);
+
+
+            }
+
+
+            }
+
+            getUnorderedGroupHelper().leave(grammarAccess.getGridCellAccess().getUnorderedGroup_3());
+
+            }
+
+            otherlv_12=(Token)match(input,14,FOLLOW_73); if (state.failed) return current;
+            if ( state.backtracking==0 ) {
+
+              			newLeafNode(otherlv_12, grammarAccess.getGridCellAccess().getLeftCurlyBracketKeyword_4());
+              		
+            }
+            // InternalReportDSL.g:5238:3: ( (lv_elements_13_0= ruleElement ) )*
+            loop49:
+            do {
+                int alt49=2;
+                int LA49_0 = input.LA(1);
+
+                if ( (LA49_0==84||LA49_0==90||(LA49_0>=98 && LA49_0<=99)||LA49_0==101||(LA49_0>=105 && LA49_0<=106)||(LA49_0>=119 && LA49_0<=124)) ) {
+                    alt49=1;
+                }
+
+
+                switch (alt49) {
+            	case 1 :
+            	    // InternalReportDSL.g:5239:4: (lv_elements_13_0= ruleElement )
+            	    {
+            	    // InternalReportDSL.g:5239:4: (lv_elements_13_0= ruleElement )
+            	    // InternalReportDSL.g:5240:5: lv_elements_13_0= ruleElement
+            	    {
+            	    if ( state.backtracking==0 ) {
+
+            	      					newCompositeNode(grammarAccess.getGridCellAccess().getElementsElementParserRuleCall_5_0());
             	      				
             	    }
-            	    pushFollow(FOLLOW_71);
-            	    lv_elements_12_0=ruleElement();
+            	    pushFollow(FOLLOW_73);
+            	    lv_elements_13_0=ruleElement();
 
             	    state._fsp--;
             	    if (state.failed) return current;
@@ -13002,7 +13601,7 @@
             	      					add(
             	      						current,
             	      						"elements",
-            	      						lv_elements_12_0,
+            	      						lv_elements_13_0,
             	      						"org.eclipse.osbp.xtext.reportdsl.ReportDSL.Element");
             	      					afterParserOrEnumRuleCall();
             	      				
@@ -13015,14 +13614,14 @@
             	    break;
 
             	default :
-            	    break loop54;
+            	    break loop49;
                 }
             } while (true);
 
-            otherlv_13=(Token)match(input,18,FOLLOW_2); if (state.failed) return current;
+            otherlv_14=(Token)match(input,18,FOLLOW_2); if (state.failed) return current;
             if ( state.backtracking==0 ) {
 
-              			newLeafNode(otherlv_13, grammarAccess.getGridCellAccess().getRightCurlyBracketKeyword_9());
+              			newLeafNode(otherlv_14, grammarAccess.getGridCellAccess().getRightCurlyBracketKeyword_6());
               		
             }
 
@@ -13050,7 +13649,7 @@
 
 
     // $ANTLR start "entryRuleDatamartTable"
-    // InternalReportDSL.g:5046:1: entryRuleDatamartTable returns [EObject current=null] : iv_ruleDatamartTable= ruleDatamartTable EOF ;
+    // InternalReportDSL.g:5265:1: entryRuleDatamartTable returns [EObject current=null] : iv_ruleDatamartTable= ruleDatamartTable EOF ;
     public final EObject entryRuleDatamartTable() throws RecognitionException {
         EObject current = null;
 
@@ -13058,8 +13657,8 @@
 
 
         try {
-            // InternalReportDSL.g:5046:54: (iv_ruleDatamartTable= ruleDatamartTable EOF )
-            // InternalReportDSL.g:5047:2: iv_ruleDatamartTable= ruleDatamartTable EOF
+            // InternalReportDSL.g:5265:54: (iv_ruleDatamartTable= ruleDatamartTable EOF )
+            // InternalReportDSL.g:5266:2: iv_ruleDatamartTable= ruleDatamartTable EOF
             {
             if ( state.backtracking==0 ) {
                newCompositeNode(grammarAccess.getDatamartTableRule()); 
@@ -13090,68 +13689,70 @@
 
 
     // $ANTLR start "ruleDatamartTable"
-    // InternalReportDSL.g:5053:1: ruleDatamartTable returns [EObject current=null] : (otherlv_0= 'table' (otherlv_1= 'style' ( (otherlv_2= RULE_ID ) ) )? ( (lv_visibilityItem_3_0= ruleVisibility ) )? ( (lv_pageBreak_4_0= rulePageBreak ) )? otherlv_5= '{' ( ( (lv_detailheader_6_0= 'detailheader' ) ) (otherlv_7= 'style' ( (otherlv_8= RULE_ID ) ) )? )? ( ( (lv_detailfooter_9_0= 'detailfooter' ) ) (otherlv_10= 'style' ( (otherlv_11= RULE_ID ) ) )? )? ( (lv_groups_12_0= ruleDatamartTableGroup ) )* ( (lv_detail_13_0= ruleDatamartTableDetail ) ) otherlv_14= '}' ) ;
+    // InternalReportDSL.g:5272:1: ruleDatamartTable returns [EObject current=null] : (otherlv_0= 'table' (otherlv_1= 'datamart' ( (otherlv_2= RULE_ID ) ) (otherlv_3= 'as' ( (lv_name_4_0= RULE_ID ) ) )? )? ( ( ( ( ({...}? => ( ({...}? => (otherlv_6= 'style' ( (otherlv_7= RULE_ID ) ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_visibilityItem_8_0= ruleVisibility ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_pageBreak_9_0= rulePageBreak ) ) ) ) ) )* ) ) ) otherlv_10= '{' ( (lv_header_11_0= ruleDatamartTableHeader ) )? ( (lv_groups_12_0= ruleDatamartTableGroup ) )* ( (lv_detail_13_0= ruleDatamartTableDetail ) ) ( (lv_footer_14_0= ruleDatamartTableFooter ) )? otherlv_15= '}' ) ;
     public final EObject ruleDatamartTable() throws RecognitionException {
         EObject current = null;
 
         Token otherlv_0=null;
         Token otherlv_1=null;
         Token otherlv_2=null;
-        Token otherlv_5=null;
-        Token lv_detailheader_6_0=null;
+        Token otherlv_3=null;
+        Token lv_name_4_0=null;
+        Token otherlv_6=null;
         Token otherlv_7=null;
-        Token otherlv_8=null;
-        Token lv_detailfooter_9_0=null;
         Token otherlv_10=null;
-        Token otherlv_11=null;
-        Token otherlv_14=null;
-        EObject lv_visibilityItem_3_0 = null;
+        Token otherlv_15=null;
+        EObject lv_visibilityItem_8_0 = null;
 
-        EObject lv_pageBreak_4_0 = null;
+        EObject lv_pageBreak_9_0 = null;
+
+        EObject lv_header_11_0 = null;
 
         EObject lv_groups_12_0 = null;
 
         EObject lv_detail_13_0 = null;
 
+        EObject lv_footer_14_0 = null;
+
 
 
         	enterRule();
 
         try {
-            // InternalReportDSL.g:5059:2: ( (otherlv_0= 'table' (otherlv_1= 'style' ( (otherlv_2= RULE_ID ) ) )? ( (lv_visibilityItem_3_0= ruleVisibility ) )? ( (lv_pageBreak_4_0= rulePageBreak ) )? otherlv_5= '{' ( ( (lv_detailheader_6_0= 'detailheader' ) ) (otherlv_7= 'style' ( (otherlv_8= RULE_ID ) ) )? )? ( ( (lv_detailfooter_9_0= 'detailfooter' ) ) (otherlv_10= 'style' ( (otherlv_11= RULE_ID ) ) )? )? ( (lv_groups_12_0= ruleDatamartTableGroup ) )* ( (lv_detail_13_0= ruleDatamartTableDetail ) ) otherlv_14= '}' ) )
-            // InternalReportDSL.g:5060:2: (otherlv_0= 'table' (otherlv_1= 'style' ( (otherlv_2= RULE_ID ) ) )? ( (lv_visibilityItem_3_0= ruleVisibility ) )? ( (lv_pageBreak_4_0= rulePageBreak ) )? otherlv_5= '{' ( ( (lv_detailheader_6_0= 'detailheader' ) ) (otherlv_7= 'style' ( (otherlv_8= RULE_ID ) ) )? )? ( ( (lv_detailfooter_9_0= 'detailfooter' ) ) (otherlv_10= 'style' ( (otherlv_11= RULE_ID ) ) )? )? ( (lv_groups_12_0= ruleDatamartTableGroup ) )* ( (lv_detail_13_0= ruleDatamartTableDetail ) ) otherlv_14= '}' )
+            // InternalReportDSL.g:5278:2: ( (otherlv_0= 'table' (otherlv_1= 'datamart' ( (otherlv_2= RULE_ID ) ) (otherlv_3= 'as' ( (lv_name_4_0= RULE_ID ) ) )? )? ( ( ( ( ({...}? => ( ({...}? => (otherlv_6= 'style' ( (otherlv_7= RULE_ID ) ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_visibilityItem_8_0= ruleVisibility ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_pageBreak_9_0= rulePageBreak ) ) ) ) ) )* ) ) ) otherlv_10= '{' ( (lv_header_11_0= ruleDatamartTableHeader ) )? ( (lv_groups_12_0= ruleDatamartTableGroup ) )* ( (lv_detail_13_0= ruleDatamartTableDetail ) ) ( (lv_footer_14_0= ruleDatamartTableFooter ) )? otherlv_15= '}' ) )
+            // InternalReportDSL.g:5279:2: (otherlv_0= 'table' (otherlv_1= 'datamart' ( (otherlv_2= RULE_ID ) ) (otherlv_3= 'as' ( (lv_name_4_0= RULE_ID ) ) )? )? ( ( ( ( ({...}? => ( ({...}? => (otherlv_6= 'style' ( (otherlv_7= RULE_ID ) ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_visibilityItem_8_0= ruleVisibility ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_pageBreak_9_0= rulePageBreak ) ) ) ) ) )* ) ) ) otherlv_10= '{' ( (lv_header_11_0= ruleDatamartTableHeader ) )? ( (lv_groups_12_0= ruleDatamartTableGroup ) )* ( (lv_detail_13_0= ruleDatamartTableDetail ) ) ( (lv_footer_14_0= ruleDatamartTableFooter ) )? otherlv_15= '}' )
             {
-            // InternalReportDSL.g:5060:2: (otherlv_0= 'table' (otherlv_1= 'style' ( (otherlv_2= RULE_ID ) ) )? ( (lv_visibilityItem_3_0= ruleVisibility ) )? ( (lv_pageBreak_4_0= rulePageBreak ) )? otherlv_5= '{' ( ( (lv_detailheader_6_0= 'detailheader' ) ) (otherlv_7= 'style' ( (otherlv_8= RULE_ID ) ) )? )? ( ( (lv_detailfooter_9_0= 'detailfooter' ) ) (otherlv_10= 'style' ( (otherlv_11= RULE_ID ) ) )? )? ( (lv_groups_12_0= ruleDatamartTableGroup ) )* ( (lv_detail_13_0= ruleDatamartTableDetail ) ) otherlv_14= '}' )
-            // InternalReportDSL.g:5061:3: otherlv_0= 'table' (otherlv_1= 'style' ( (otherlv_2= RULE_ID ) ) )? ( (lv_visibilityItem_3_0= ruleVisibility ) )? ( (lv_pageBreak_4_0= rulePageBreak ) )? otherlv_5= '{' ( ( (lv_detailheader_6_0= 'detailheader' ) ) (otherlv_7= 'style' ( (otherlv_8= RULE_ID ) ) )? )? ( ( (lv_detailfooter_9_0= 'detailfooter' ) ) (otherlv_10= 'style' ( (otherlv_11= RULE_ID ) ) )? )? ( (lv_groups_12_0= ruleDatamartTableGroup ) )* ( (lv_detail_13_0= ruleDatamartTableDetail ) ) otherlv_14= '}'
+            // InternalReportDSL.g:5279:2: (otherlv_0= 'table' (otherlv_1= 'datamart' ( (otherlv_2= RULE_ID ) ) (otherlv_3= 'as' ( (lv_name_4_0= RULE_ID ) ) )? )? ( ( ( ( ({...}? => ( ({...}? => (otherlv_6= 'style' ( (otherlv_7= RULE_ID ) ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_visibilityItem_8_0= ruleVisibility ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_pageBreak_9_0= rulePageBreak ) ) ) ) ) )* ) ) ) otherlv_10= '{' ( (lv_header_11_0= ruleDatamartTableHeader ) )? ( (lv_groups_12_0= ruleDatamartTableGroup ) )* ( (lv_detail_13_0= ruleDatamartTableDetail ) ) ( (lv_footer_14_0= ruleDatamartTableFooter ) )? otherlv_15= '}' )
+            // InternalReportDSL.g:5280:3: otherlv_0= 'table' (otherlv_1= 'datamart' ( (otherlv_2= RULE_ID ) ) (otherlv_3= 'as' ( (lv_name_4_0= RULE_ID ) ) )? )? ( ( ( ( ({...}? => ( ({...}? => (otherlv_6= 'style' ( (otherlv_7= RULE_ID ) ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_visibilityItem_8_0= ruleVisibility ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_pageBreak_9_0= rulePageBreak ) ) ) ) ) )* ) ) ) otherlv_10= '{' ( (lv_header_11_0= ruleDatamartTableHeader ) )? ( (lv_groups_12_0= ruleDatamartTableGroup ) )* ( (lv_detail_13_0= ruleDatamartTableDetail ) ) ( (lv_footer_14_0= ruleDatamartTableFooter ) )? otherlv_15= '}'
             {
-            otherlv_0=(Token)match(input,89,FOLLOW_85); if (state.failed) return current;
+            otherlv_0=(Token)match(input,90,FOLLOW_83); if (state.failed) return current;
             if ( state.backtracking==0 ) {
 
               			newLeafNode(otherlv_0, grammarAccess.getDatamartTableAccess().getTableKeyword_0());
               		
             }
-            // InternalReportDSL.g:5065:3: (otherlv_1= 'style' ( (otherlv_2= RULE_ID ) ) )?
-            int alt55=2;
-            int LA55_0 = input.LA(1);
+            // InternalReportDSL.g:5284:3: (otherlv_1= 'datamart' ( (otherlv_2= RULE_ID ) ) (otherlv_3= 'as' ( (lv_name_4_0= RULE_ID ) ) )? )?
+            int alt51=2;
+            int LA51_0 = input.LA(1);
 
-            if ( (LA55_0==43) ) {
-                alt55=1;
+            if ( (LA51_0==72) ) {
+                alt51=1;
             }
-            switch (alt55) {
+            switch (alt51) {
                 case 1 :
-                    // InternalReportDSL.g:5066:4: otherlv_1= 'style' ( (otherlv_2= RULE_ID ) )
+                    // InternalReportDSL.g:5285:4: otherlv_1= 'datamart' ( (otherlv_2= RULE_ID ) ) (otherlv_3= 'as' ( (lv_name_4_0= RULE_ID ) ) )?
                     {
-                    otherlv_1=(Token)match(input,43,FOLLOW_4); if (state.failed) return current;
+                    otherlv_1=(Token)match(input,72,FOLLOW_4); if (state.failed) return current;
                     if ( state.backtracking==0 ) {
 
-                      				newLeafNode(otherlv_1, grammarAccess.getDatamartTableAccess().getStyleKeyword_1_0());
+                      				newLeafNode(otherlv_1, grammarAccess.getDatamartTableAccess().getDatamartKeyword_1_0());
                       			
                     }
-                    // InternalReportDSL.g:5070:4: ( (otherlv_2= RULE_ID ) )
-                    // InternalReportDSL.g:5071:5: (otherlv_2= RULE_ID )
+                    // InternalReportDSL.g:5289:4: ( (otherlv_2= RULE_ID ) )
+                    // InternalReportDSL.g:5290:5: (otherlv_2= RULE_ID )
                     {
-                    // InternalReportDSL.g:5071:5: (otherlv_2= RULE_ID )
-                    // InternalReportDSL.g:5072:6: otherlv_2= RULE_ID
+                    // InternalReportDSL.g:5290:5: (otherlv_2= RULE_ID )
+                    // InternalReportDSL.g:5291:6: otherlv_2= RULE_ID
                     {
                     if ( state.backtracking==0 ) {
 
@@ -13160,10 +13761,10 @@
                       						}
                       					
                     }
-                    otherlv_2=(Token)match(input,RULE_ID,FOLLOW_86); if (state.failed) return current;
+                    otherlv_2=(Token)match(input,RULE_ID,FOLLOW_84); if (state.failed) return current;
                     if ( state.backtracking==0 ) {
 
-                      						newLeafNode(otherlv_2, grammarAccess.getDatamartTableAccess().getStyleStyleCrossReference_1_1_0());
+                      						newLeafNode(otherlv_2, grammarAccess.getDatamartTableAccess().getDatamartRefDatamartDefinitionCrossReference_1_1_0());
                       					
                     }
 
@@ -13172,181 +13773,45 @@
 
                     }
 
+                    // InternalReportDSL.g:5302:4: (otherlv_3= 'as' ( (lv_name_4_0= RULE_ID ) ) )?
+                    int alt50=2;
+                    int LA50_0 = input.LA(1);
 
+                    if ( (LA50_0==85) ) {
+                        alt50=1;
                     }
-                    break;
-
-            }
-
-            // InternalReportDSL.g:5084:3: ( (lv_visibilityItem_3_0= ruleVisibility ) )?
-            int alt56=2;
-            int LA56_0 = input.LA(1);
-
-            if ( (LA56_0==115) ) {
-                alt56=1;
-            }
-            switch (alt56) {
-                case 1 :
-                    // InternalReportDSL.g:5085:4: (lv_visibilityItem_3_0= ruleVisibility )
-                    {
-                    // InternalReportDSL.g:5085:4: (lv_visibilityItem_3_0= ruleVisibility )
-                    // InternalReportDSL.g:5086:5: lv_visibilityItem_3_0= ruleVisibility
-                    {
-                    if ( state.backtracking==0 ) {
-
-                      					newCompositeNode(grammarAccess.getDatamartTableAccess().getVisibilityItemVisibilityParserRuleCall_2_0());
-                      				
-                    }
-                    pushFollow(FOLLOW_87);
-                    lv_visibilityItem_3_0=ruleVisibility();
-
-                    state._fsp--;
-                    if (state.failed) return current;
-                    if ( state.backtracking==0 ) {
-
-                      					if (current==null) {
-                      						current = createModelElementForParent(grammarAccess.getDatamartTableRule());
-                      					}
-                      					set(
-                      						current,
-                      						"visibilityItem",
-                      						lv_visibilityItem_3_0,
-                      						"org.eclipse.osbp.xtext.reportdsl.ReportDSL.Visibility");
-                      					afterParserOrEnumRuleCall();
-                      				
-                    }
-
-                    }
-
-
-                    }
-                    break;
-
-            }
-
-            // InternalReportDSL.g:5103:3: ( (lv_pageBreak_4_0= rulePageBreak ) )?
-            int alt57=2;
-            int LA57_0 = input.LA(1);
-
-            if ( (LA57_0==108) ) {
-                alt57=1;
-            }
-            switch (alt57) {
-                case 1 :
-                    // InternalReportDSL.g:5104:4: (lv_pageBreak_4_0= rulePageBreak )
-                    {
-                    // InternalReportDSL.g:5104:4: (lv_pageBreak_4_0= rulePageBreak )
-                    // InternalReportDSL.g:5105:5: lv_pageBreak_4_0= rulePageBreak
-                    {
-                    if ( state.backtracking==0 ) {
-
-                      					newCompositeNode(grammarAccess.getDatamartTableAccess().getPageBreakPageBreakParserRuleCall_3_0());
-                      				
-                    }
-                    pushFollow(FOLLOW_5);
-                    lv_pageBreak_4_0=rulePageBreak();
-
-                    state._fsp--;
-                    if (state.failed) return current;
-                    if ( state.backtracking==0 ) {
-
-                      					if (current==null) {
-                      						current = createModelElementForParent(grammarAccess.getDatamartTableRule());
-                      					}
-                      					set(
-                      						current,
-                      						"pageBreak",
-                      						lv_pageBreak_4_0,
-                      						"org.eclipse.osbp.xtext.reportdsl.ReportDSL.PageBreak");
-                      					afterParserOrEnumRuleCall();
-                      				
-                    }
-
-                    }
-
-
-                    }
-                    break;
-
-            }
-
-            otherlv_5=(Token)match(input,14,FOLLOW_88); if (state.failed) return current;
-            if ( state.backtracking==0 ) {
-
-              			newLeafNode(otherlv_5, grammarAccess.getDatamartTableAccess().getLeftCurlyBracketKeyword_4());
-              		
-            }
-            // InternalReportDSL.g:5126:3: ( ( (lv_detailheader_6_0= 'detailheader' ) ) (otherlv_7= 'style' ( (otherlv_8= RULE_ID ) ) )? )?
-            int alt59=2;
-            int LA59_0 = input.LA(1);
-
-            if ( (LA59_0==90) ) {
-                alt59=1;
-            }
-            switch (alt59) {
-                case 1 :
-                    // InternalReportDSL.g:5127:4: ( (lv_detailheader_6_0= 'detailheader' ) ) (otherlv_7= 'style' ( (otherlv_8= RULE_ID ) ) )?
-                    {
-                    // InternalReportDSL.g:5127:4: ( (lv_detailheader_6_0= 'detailheader' ) )
-                    // InternalReportDSL.g:5128:5: (lv_detailheader_6_0= 'detailheader' )
-                    {
-                    // InternalReportDSL.g:5128:5: (lv_detailheader_6_0= 'detailheader' )
-                    // InternalReportDSL.g:5129:6: lv_detailheader_6_0= 'detailheader'
-                    {
-                    lv_detailheader_6_0=(Token)match(input,90,FOLLOW_89); if (state.failed) return current;
-                    if ( state.backtracking==0 ) {
-
-                      						newLeafNode(lv_detailheader_6_0, grammarAccess.getDatamartTableAccess().getDetailheaderDetailheaderKeyword_5_0_0());
-                      					
-                    }
-                    if ( state.backtracking==0 ) {
-
-                      						if (current==null) {
-                      							current = createModelElement(grammarAccess.getDatamartTableRule());
-                      						}
-                      						setWithLastConsumed(current, "detailheader", true, "detailheader");
-                      					
-                    }
-
-                    }
-
-
-                    }
-
-                    // InternalReportDSL.g:5141:4: (otherlv_7= 'style' ( (otherlv_8= RULE_ID ) ) )?
-                    int alt58=2;
-                    int LA58_0 = input.LA(1);
-
-                    if ( (LA58_0==43) ) {
-                        alt58=1;
-                    }
-                    switch (alt58) {
+                    switch (alt50) {
                         case 1 :
-                            // InternalReportDSL.g:5142:5: otherlv_7= 'style' ( (otherlv_8= RULE_ID ) )
+                            // InternalReportDSL.g:5303:5: otherlv_3= 'as' ( (lv_name_4_0= RULE_ID ) )
                             {
-                            otherlv_7=(Token)match(input,43,FOLLOW_4); if (state.failed) return current;
+                            otherlv_3=(Token)match(input,85,FOLLOW_4); if (state.failed) return current;
                             if ( state.backtracking==0 ) {
 
-                              					newLeafNode(otherlv_7, grammarAccess.getDatamartTableAccess().getStyleKeyword_5_1_0());
+                              					newLeafNode(otherlv_3, grammarAccess.getDatamartTableAccess().getAsKeyword_1_2_0());
                               				
                             }
-                            // InternalReportDSL.g:5146:5: ( (otherlv_8= RULE_ID ) )
-                            // InternalReportDSL.g:5147:6: (otherlv_8= RULE_ID )
+                            // InternalReportDSL.g:5307:5: ( (lv_name_4_0= RULE_ID ) )
+                            // InternalReportDSL.g:5308:6: (lv_name_4_0= RULE_ID )
                             {
-                            // InternalReportDSL.g:5147:6: (otherlv_8= RULE_ID )
-                            // InternalReportDSL.g:5148:7: otherlv_8= RULE_ID
+                            // InternalReportDSL.g:5308:6: (lv_name_4_0= RULE_ID )
+                            // InternalReportDSL.g:5309:7: lv_name_4_0= RULE_ID
                             {
+                            lv_name_4_0=(Token)match(input,RULE_ID,FOLLOW_85); if (state.failed) return current;
+                            if ( state.backtracking==0 ) {
+
+                              							newLeafNode(lv_name_4_0, grammarAccess.getDatamartTableAccess().getNameIDTerminalRuleCall_1_2_1_0());
+                              						
+                            }
                             if ( state.backtracking==0 ) {
 
                               							if (current==null) {
                               								current = createModelElement(grammarAccess.getDatamartTableRule());
                               							}
-                              						
-                            }
-                            otherlv_8=(Token)match(input,RULE_ID,FOLLOW_88); if (state.failed) return current;
-                            if ( state.backtracking==0 ) {
-
-                              							newLeafNode(otherlv_8, grammarAccess.getDatamartTableAccess().getHeaderstyleStyleCrossReference_5_1_1_0());
+                              							setWithLastConsumed(
+                              								current,
+                              								"name",
+                              								lv_name_4_0,
+                              								"org.eclipse.xtext.xbase.Xtype.ID");
                               						
                             }
 
@@ -13367,121 +13832,335 @@
 
             }
 
-            // InternalReportDSL.g:5161:3: ( ( (lv_detailfooter_9_0= 'detailfooter' ) ) (otherlv_10= 'style' ( (otherlv_11= RULE_ID ) ) )? )?
-            int alt61=2;
-            int LA61_0 = input.LA(1);
-
-            if ( (LA61_0==91) ) {
-                alt61=1;
-            }
-            switch (alt61) {
-                case 1 :
-                    // InternalReportDSL.g:5162:4: ( (lv_detailfooter_9_0= 'detailfooter' ) ) (otherlv_10= 'style' ( (otherlv_11= RULE_ID ) ) )?
-                    {
-                    // InternalReportDSL.g:5162:4: ( (lv_detailfooter_9_0= 'detailfooter' ) )
-                    // InternalReportDSL.g:5163:5: (lv_detailfooter_9_0= 'detailfooter' )
-                    {
-                    // InternalReportDSL.g:5163:5: (lv_detailfooter_9_0= 'detailfooter' )
-                    // InternalReportDSL.g:5164:6: lv_detailfooter_9_0= 'detailfooter'
-                    {
-                    lv_detailfooter_9_0=(Token)match(input,91,FOLLOW_89); if (state.failed) return current;
-                    if ( state.backtracking==0 ) {
-
-                      						newLeafNode(lv_detailfooter_9_0, grammarAccess.getDatamartTableAccess().getDetailfooterDetailfooterKeyword_6_0_0());
-                      					
-                    }
-                    if ( state.backtracking==0 ) {
-
-                      						if (current==null) {
-                      							current = createModelElement(grammarAccess.getDatamartTableRule());
-                      						}
-                      						setWithLastConsumed(current, "detailfooter", true, "detailfooter");
-                      					
-                    }
-
-                    }
-
-
-                    }
-
-                    // InternalReportDSL.g:5176:4: (otherlv_10= 'style' ( (otherlv_11= RULE_ID ) ) )?
-                    int alt60=2;
-                    int LA60_0 = input.LA(1);
-
-                    if ( (LA60_0==43) ) {
-                        alt60=1;
-                    }
-                    switch (alt60) {
-                        case 1 :
-                            // InternalReportDSL.g:5177:5: otherlv_10= 'style' ( (otherlv_11= RULE_ID ) )
-                            {
-                            otherlv_10=(Token)match(input,43,FOLLOW_4); if (state.failed) return current;
-                            if ( state.backtracking==0 ) {
-
-                              					newLeafNode(otherlv_10, grammarAccess.getDatamartTableAccess().getStyleKeyword_6_1_0());
-                              				
-                            }
-                            // InternalReportDSL.g:5181:5: ( (otherlv_11= RULE_ID ) )
-                            // InternalReportDSL.g:5182:6: (otherlv_11= RULE_ID )
-                            {
-                            // InternalReportDSL.g:5182:6: (otherlv_11= RULE_ID )
-                            // InternalReportDSL.g:5183:7: otherlv_11= RULE_ID
-                            {
-                            if ( state.backtracking==0 ) {
-
-                              							if (current==null) {
-                              								current = createModelElement(grammarAccess.getDatamartTableRule());
-                              							}
-                              						
-                            }
-                            otherlv_11=(Token)match(input,RULE_ID,FOLLOW_88); if (state.failed) return current;
-                            if ( state.backtracking==0 ) {
-
-                              							newLeafNode(otherlv_11, grammarAccess.getDatamartTableAccess().getFooterstyleStyleCrossReference_6_1_1_0());
-                              						
-                            }
-
-                            }
-
-
-                            }
-
-
-                            }
-                            break;
-
-                    }
-
-
-                    }
-                    break;
-
-            }
-
-            // InternalReportDSL.g:5196:3: ( (lv_groups_12_0= ruleDatamartTableGroup ) )*
-            loop62:
+            // InternalReportDSL.g:5327:3: ( ( ( ( ({...}? => ( ({...}? => (otherlv_6= 'style' ( (otherlv_7= RULE_ID ) ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_visibilityItem_8_0= ruleVisibility ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_pageBreak_9_0= rulePageBreak ) ) ) ) ) )* ) ) )
+            // InternalReportDSL.g:5328:4: ( ( ( ({...}? => ( ({...}? => (otherlv_6= 'style' ( (otherlv_7= RULE_ID ) ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_visibilityItem_8_0= ruleVisibility ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_pageBreak_9_0= rulePageBreak ) ) ) ) ) )* ) )
+            {
+            // InternalReportDSL.g:5328:4: ( ( ( ({...}? => ( ({...}? => (otherlv_6= 'style' ( (otherlv_7= RULE_ID ) ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_visibilityItem_8_0= ruleVisibility ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_pageBreak_9_0= rulePageBreak ) ) ) ) ) )* ) )
+            // InternalReportDSL.g:5329:5: ( ( ({...}? => ( ({...}? => (otherlv_6= 'style' ( (otherlv_7= RULE_ID ) ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_visibilityItem_8_0= ruleVisibility ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_pageBreak_9_0= rulePageBreak ) ) ) ) ) )* )
+            {
+            getUnorderedGroupHelper().enter(grammarAccess.getDatamartTableAccess().getUnorderedGroup_2());
+            // InternalReportDSL.g:5332:5: ( ( ({...}? => ( ({...}? => (otherlv_6= 'style' ( (otherlv_7= RULE_ID ) ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_visibilityItem_8_0= ruleVisibility ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_pageBreak_9_0= rulePageBreak ) ) ) ) ) )* )
+            // InternalReportDSL.g:5333:6: ( ({...}? => ( ({...}? => (otherlv_6= 'style' ( (otherlv_7= RULE_ID ) ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_visibilityItem_8_0= ruleVisibility ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_pageBreak_9_0= rulePageBreak ) ) ) ) ) )*
+            {
+            // InternalReportDSL.g:5333:6: ( ({...}? => ( ({...}? => (otherlv_6= 'style' ( (otherlv_7= RULE_ID ) ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_visibilityItem_8_0= ruleVisibility ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_pageBreak_9_0= rulePageBreak ) ) ) ) ) )*
+            loop52:
             do {
-                int alt62=2;
-                int LA62_0 = input.LA(1);
+                int alt52=4;
+                int LA52_0 = input.LA(1);
 
-                if ( (LA62_0==92) ) {
-                    alt62=1;
+                if ( LA52_0 == 43 && getUnorderedGroupHelper().canSelect(grammarAccess.getDatamartTableAccess().getUnorderedGroup_2(), 0) ) {
+                    alt52=1;
+                }
+                else if ( LA52_0 == 114 && getUnorderedGroupHelper().canSelect(grammarAccess.getDatamartTableAccess().getUnorderedGroup_2(), 1) ) {
+                    alt52=2;
+                }
+                else if ( LA52_0 == 107 && getUnorderedGroupHelper().canSelect(grammarAccess.getDatamartTableAccess().getUnorderedGroup_2(), 2) ) {
+                    alt52=3;
                 }
 
 
-                switch (alt62) {
+                switch (alt52) {
             	case 1 :
-            	    // InternalReportDSL.g:5197:4: (lv_groups_12_0= ruleDatamartTableGroup )
+            	    // InternalReportDSL.g:5334:4: ({...}? => ( ({...}? => (otherlv_6= 'style' ( (otherlv_7= RULE_ID ) ) ) ) ) )
             	    {
-            	    // InternalReportDSL.g:5197:4: (lv_groups_12_0= ruleDatamartTableGroup )
-            	    // InternalReportDSL.g:5198:5: lv_groups_12_0= ruleDatamartTableGroup
+            	    // InternalReportDSL.g:5334:4: ({...}? => ( ({...}? => (otherlv_6= 'style' ( (otherlv_7= RULE_ID ) ) ) ) ) )
+            	    // InternalReportDSL.g:5335:5: {...}? => ( ({...}? => (otherlv_6= 'style' ( (otherlv_7= RULE_ID ) ) ) ) )
+            	    {
+            	    if ( ! getUnorderedGroupHelper().canSelect(grammarAccess.getDatamartTableAccess().getUnorderedGroup_2(), 0) ) {
+            	        if (state.backtracking>0) {state.failed=true; return current;}
+            	        throw new FailedPredicateException(input, "ruleDatamartTable", "getUnorderedGroupHelper().canSelect(grammarAccess.getDatamartTableAccess().getUnorderedGroup_2(), 0)");
+            	    }
+            	    // InternalReportDSL.g:5335:110: ( ({...}? => (otherlv_6= 'style' ( (otherlv_7= RULE_ID ) ) ) ) )
+            	    // InternalReportDSL.g:5336:6: ({...}? => (otherlv_6= 'style' ( (otherlv_7= RULE_ID ) ) ) )
+            	    {
+            	    getUnorderedGroupHelper().select(grammarAccess.getDatamartTableAccess().getUnorderedGroup_2(), 0);
+            	    // InternalReportDSL.g:5339:9: ({...}? => (otherlv_6= 'style' ( (otherlv_7= RULE_ID ) ) ) )
+            	    // InternalReportDSL.g:5339:10: {...}? => (otherlv_6= 'style' ( (otherlv_7= RULE_ID ) ) )
+            	    {
+            	    if ( !((true)) ) {
+            	        if (state.backtracking>0) {state.failed=true; return current;}
+            	        throw new FailedPredicateException(input, "ruleDatamartTable", "true");
+            	    }
+            	    // InternalReportDSL.g:5339:19: (otherlv_6= 'style' ( (otherlv_7= RULE_ID ) ) )
+            	    // InternalReportDSL.g:5339:20: otherlv_6= 'style' ( (otherlv_7= RULE_ID ) )
+            	    {
+            	    otherlv_6=(Token)match(input,43,FOLLOW_4); if (state.failed) return current;
+            	    if ( state.backtracking==0 ) {
+
+            	      									newLeafNode(otherlv_6, grammarAccess.getDatamartTableAccess().getStyleKeyword_2_0_0());
+            	      								
+            	    }
+            	    // InternalReportDSL.g:5343:9: ( (otherlv_7= RULE_ID ) )
+            	    // InternalReportDSL.g:5344:10: (otherlv_7= RULE_ID )
+            	    {
+            	    // InternalReportDSL.g:5344:10: (otherlv_7= RULE_ID )
+            	    // InternalReportDSL.g:5345:11: otherlv_7= RULE_ID
             	    {
             	    if ( state.backtracking==0 ) {
 
-            	      					newCompositeNode(grammarAccess.getDatamartTableAccess().getGroupsDatamartTableGroupParserRuleCall_7_0());
+            	      											if (current==null) {
+            	      												current = createModelElement(grammarAccess.getDatamartTableRule());
+            	      											}
+            	      										
+            	    }
+            	    otherlv_7=(Token)match(input,RULE_ID,FOLLOW_85); if (state.failed) return current;
+            	    if ( state.backtracking==0 ) {
+
+            	      											newLeafNode(otherlv_7, grammarAccess.getDatamartTableAccess().getStyleStyleCrossReference_2_0_1_0());
+            	      										
+            	    }
+
+            	    }
+
+
+            	    }
+
+
+            	    }
+
+
+            	    }
+
+            	    getUnorderedGroupHelper().returnFromSelection(grammarAccess.getDatamartTableAccess().getUnorderedGroup_2());
+
+            	    }
+
+
+            	    }
+
+
+            	    }
+            	    break;
+            	case 2 :
+            	    // InternalReportDSL.g:5362:4: ({...}? => ( ({...}? => ( (lv_visibilityItem_8_0= ruleVisibility ) ) ) ) )
+            	    {
+            	    // InternalReportDSL.g:5362:4: ({...}? => ( ({...}? => ( (lv_visibilityItem_8_0= ruleVisibility ) ) ) ) )
+            	    // InternalReportDSL.g:5363:5: {...}? => ( ({...}? => ( (lv_visibilityItem_8_0= ruleVisibility ) ) ) )
+            	    {
+            	    if ( ! getUnorderedGroupHelper().canSelect(grammarAccess.getDatamartTableAccess().getUnorderedGroup_2(), 1) ) {
+            	        if (state.backtracking>0) {state.failed=true; return current;}
+            	        throw new FailedPredicateException(input, "ruleDatamartTable", "getUnorderedGroupHelper().canSelect(grammarAccess.getDatamartTableAccess().getUnorderedGroup_2(), 1)");
+            	    }
+            	    // InternalReportDSL.g:5363:110: ( ({...}? => ( (lv_visibilityItem_8_0= ruleVisibility ) ) ) )
+            	    // InternalReportDSL.g:5364:6: ({...}? => ( (lv_visibilityItem_8_0= ruleVisibility ) ) )
+            	    {
+            	    getUnorderedGroupHelper().select(grammarAccess.getDatamartTableAccess().getUnorderedGroup_2(), 1);
+            	    // InternalReportDSL.g:5367:9: ({...}? => ( (lv_visibilityItem_8_0= ruleVisibility ) ) )
+            	    // InternalReportDSL.g:5367:10: {...}? => ( (lv_visibilityItem_8_0= ruleVisibility ) )
+            	    {
+            	    if ( !((true)) ) {
+            	        if (state.backtracking>0) {state.failed=true; return current;}
+            	        throw new FailedPredicateException(input, "ruleDatamartTable", "true");
+            	    }
+            	    // InternalReportDSL.g:5367:19: ( (lv_visibilityItem_8_0= ruleVisibility ) )
+            	    // InternalReportDSL.g:5367:20: (lv_visibilityItem_8_0= ruleVisibility )
+            	    {
+            	    // InternalReportDSL.g:5367:20: (lv_visibilityItem_8_0= ruleVisibility )
+            	    // InternalReportDSL.g:5368:10: lv_visibilityItem_8_0= ruleVisibility
+            	    {
+            	    if ( state.backtracking==0 ) {
+
+            	      										newCompositeNode(grammarAccess.getDatamartTableAccess().getVisibilityItemVisibilityParserRuleCall_2_1_0());
+            	      									
+            	    }
+            	    pushFollow(FOLLOW_85);
+            	    lv_visibilityItem_8_0=ruleVisibility();
+
+            	    state._fsp--;
+            	    if (state.failed) return current;
+            	    if ( state.backtracking==0 ) {
+
+            	      										if (current==null) {
+            	      											current = createModelElementForParent(grammarAccess.getDatamartTableRule());
+            	      										}
+            	      										set(
+            	      											current,
+            	      											"visibilityItem",
+            	      											lv_visibilityItem_8_0,
+            	      											"org.eclipse.osbp.xtext.reportdsl.ReportDSL.Visibility");
+            	      										afterParserOrEnumRuleCall();
+            	      									
+            	    }
+
+            	    }
+
+
+            	    }
+
+
+            	    }
+
+            	    getUnorderedGroupHelper().returnFromSelection(grammarAccess.getDatamartTableAccess().getUnorderedGroup_2());
+
+            	    }
+
+
+            	    }
+
+
+            	    }
+            	    break;
+            	case 3 :
+            	    // InternalReportDSL.g:5390:4: ({...}? => ( ({...}? => ( (lv_pageBreak_9_0= rulePageBreak ) ) ) ) )
+            	    {
+            	    // InternalReportDSL.g:5390:4: ({...}? => ( ({...}? => ( (lv_pageBreak_9_0= rulePageBreak ) ) ) ) )
+            	    // InternalReportDSL.g:5391:5: {...}? => ( ({...}? => ( (lv_pageBreak_9_0= rulePageBreak ) ) ) )
+            	    {
+            	    if ( ! getUnorderedGroupHelper().canSelect(grammarAccess.getDatamartTableAccess().getUnorderedGroup_2(), 2) ) {
+            	        if (state.backtracking>0) {state.failed=true; return current;}
+            	        throw new FailedPredicateException(input, "ruleDatamartTable", "getUnorderedGroupHelper().canSelect(grammarAccess.getDatamartTableAccess().getUnorderedGroup_2(), 2)");
+            	    }
+            	    // InternalReportDSL.g:5391:110: ( ({...}? => ( (lv_pageBreak_9_0= rulePageBreak ) ) ) )
+            	    // InternalReportDSL.g:5392:6: ({...}? => ( (lv_pageBreak_9_0= rulePageBreak ) ) )
+            	    {
+            	    getUnorderedGroupHelper().select(grammarAccess.getDatamartTableAccess().getUnorderedGroup_2(), 2);
+            	    // InternalReportDSL.g:5395:9: ({...}? => ( (lv_pageBreak_9_0= rulePageBreak ) ) )
+            	    // InternalReportDSL.g:5395:10: {...}? => ( (lv_pageBreak_9_0= rulePageBreak ) )
+            	    {
+            	    if ( !((true)) ) {
+            	        if (state.backtracking>0) {state.failed=true; return current;}
+            	        throw new FailedPredicateException(input, "ruleDatamartTable", "true");
+            	    }
+            	    // InternalReportDSL.g:5395:19: ( (lv_pageBreak_9_0= rulePageBreak ) )
+            	    // InternalReportDSL.g:5395:20: (lv_pageBreak_9_0= rulePageBreak )
+            	    {
+            	    // InternalReportDSL.g:5395:20: (lv_pageBreak_9_0= rulePageBreak )
+            	    // InternalReportDSL.g:5396:10: lv_pageBreak_9_0= rulePageBreak
+            	    {
+            	    if ( state.backtracking==0 ) {
+
+            	      										newCompositeNode(grammarAccess.getDatamartTableAccess().getPageBreakPageBreakParserRuleCall_2_2_0());
+            	      									
+            	    }
+            	    pushFollow(FOLLOW_85);
+            	    lv_pageBreak_9_0=rulePageBreak();
+
+            	    state._fsp--;
+            	    if (state.failed) return current;
+            	    if ( state.backtracking==0 ) {
+
+            	      										if (current==null) {
+            	      											current = createModelElementForParent(grammarAccess.getDatamartTableRule());
+            	      										}
+            	      										set(
+            	      											current,
+            	      											"pageBreak",
+            	      											lv_pageBreak_9_0,
+            	      											"org.eclipse.osbp.xtext.reportdsl.ReportDSL.PageBreak");
+            	      										afterParserOrEnumRuleCall();
+            	      									
+            	    }
+
+            	    }
+
+
+            	    }
+
+
+            	    }
+
+            	    getUnorderedGroupHelper().returnFromSelection(grammarAccess.getDatamartTableAccess().getUnorderedGroup_2());
+
+            	    }
+
+
+            	    }
+
+
+            	    }
+            	    break;
+
+            	default :
+            	    break loop52;
+                }
+            } while (true);
+
+
+            }
+
+
+            }
+
+            getUnorderedGroupHelper().leave(grammarAccess.getDatamartTableAccess().getUnorderedGroup_2());
+
+            }
+
+            otherlv_10=(Token)match(input,14,FOLLOW_86); if (state.failed) return current;
+            if ( state.backtracking==0 ) {
+
+              			newLeafNode(otherlv_10, grammarAccess.getDatamartTableAccess().getLeftCurlyBracketKeyword_3());
+              		
+            }
+            // InternalReportDSL.g:5429:3: ( (lv_header_11_0= ruleDatamartTableHeader ) )?
+            int alt53=2;
+            int LA53_0 = input.LA(1);
+
+            if ( (LA53_0==78) ) {
+                alt53=1;
+            }
+            switch (alt53) {
+                case 1 :
+                    // InternalReportDSL.g:5430:4: (lv_header_11_0= ruleDatamartTableHeader )
+                    {
+                    // InternalReportDSL.g:5430:4: (lv_header_11_0= ruleDatamartTableHeader )
+                    // InternalReportDSL.g:5431:5: lv_header_11_0= ruleDatamartTableHeader
+                    {
+                    if ( state.backtracking==0 ) {
+
+                      					newCompositeNode(grammarAccess.getDatamartTableAccess().getHeaderDatamartTableHeaderParserRuleCall_4_0());
+                      				
+                    }
+                    pushFollow(FOLLOW_86);
+                    lv_header_11_0=ruleDatamartTableHeader();
+
+                    state._fsp--;
+                    if (state.failed) return current;
+                    if ( state.backtracking==0 ) {
+
+                      					if (current==null) {
+                      						current = createModelElementForParent(grammarAccess.getDatamartTableRule());
+                      					}
+                      					set(
+                      						current,
+                      						"header",
+                      						lv_header_11_0,
+                      						"org.eclipse.osbp.xtext.reportdsl.ReportDSL.DatamartTableHeader");
+                      					afterParserOrEnumRuleCall();
+                      				
+                    }
+
+                    }
+
+
+                    }
+                    break;
+
+            }
+
+            // InternalReportDSL.g:5448:3: ( (lv_groups_12_0= ruleDatamartTableGroup ) )*
+            loop54:
+            do {
+                int alt54=2;
+                int LA54_0 = input.LA(1);
+
+                if ( (LA54_0==91) ) {
+                    alt54=1;
+                }
+
+
+                switch (alt54) {
+            	case 1 :
+            	    // InternalReportDSL.g:5449:4: (lv_groups_12_0= ruleDatamartTableGroup )
+            	    {
+            	    // InternalReportDSL.g:5449:4: (lv_groups_12_0= ruleDatamartTableGroup )
+            	    // InternalReportDSL.g:5450:5: lv_groups_12_0= ruleDatamartTableGroup
+            	    {
+            	    if ( state.backtracking==0 ) {
+
+            	      					newCompositeNode(grammarAccess.getDatamartTableAccess().getGroupsDatamartTableGroupParserRuleCall_5_0());
             	      				
             	    }
-            	    pushFollow(FOLLOW_88);
+            	    pushFollow(FOLLOW_86);
             	    lv_groups_12_0=ruleDatamartTableGroup();
 
             	    state._fsp--;
@@ -13507,22 +14186,22 @@
             	    break;
 
             	default :
-            	    break loop62;
+            	    break loop54;
                 }
             } while (true);
 
-            // InternalReportDSL.g:5215:3: ( (lv_detail_13_0= ruleDatamartTableDetail ) )
-            // InternalReportDSL.g:5216:4: (lv_detail_13_0= ruleDatamartTableDetail )
+            // InternalReportDSL.g:5467:3: ( (lv_detail_13_0= ruleDatamartTableDetail ) )
+            // InternalReportDSL.g:5468:4: (lv_detail_13_0= ruleDatamartTableDetail )
             {
-            // InternalReportDSL.g:5216:4: (lv_detail_13_0= ruleDatamartTableDetail )
-            // InternalReportDSL.g:5217:5: lv_detail_13_0= ruleDatamartTableDetail
+            // InternalReportDSL.g:5468:4: (lv_detail_13_0= ruleDatamartTableDetail )
+            // InternalReportDSL.g:5469:5: lv_detail_13_0= ruleDatamartTableDetail
             {
             if ( state.backtracking==0 ) {
 
-              					newCompositeNode(grammarAccess.getDatamartTableAccess().getDetailDatamartTableDetailParserRuleCall_8_0());
+              					newCompositeNode(grammarAccess.getDatamartTableAccess().getDetailDatamartTableDetailParserRuleCall_6_0());
               				
             }
-            pushFollow(FOLLOW_15);
+            pushFollow(FOLLOW_33);
             lv_detail_13_0=ruleDatamartTableDetail();
 
             state._fsp--;
@@ -13546,10 +14225,56 @@
 
             }
 
-            otherlv_14=(Token)match(input,18,FOLLOW_2); if (state.failed) return current;
+            // InternalReportDSL.g:5486:3: ( (lv_footer_14_0= ruleDatamartTableFooter ) )?
+            int alt55=2;
+            int LA55_0 = input.LA(1);
+
+            if ( (LA55_0==82) ) {
+                alt55=1;
+            }
+            switch (alt55) {
+                case 1 :
+                    // InternalReportDSL.g:5487:4: (lv_footer_14_0= ruleDatamartTableFooter )
+                    {
+                    // InternalReportDSL.g:5487:4: (lv_footer_14_0= ruleDatamartTableFooter )
+                    // InternalReportDSL.g:5488:5: lv_footer_14_0= ruleDatamartTableFooter
+                    {
+                    if ( state.backtracking==0 ) {
+
+                      					newCompositeNode(grammarAccess.getDatamartTableAccess().getFooterDatamartTableFooterParserRuleCall_7_0());
+                      				
+                    }
+                    pushFollow(FOLLOW_15);
+                    lv_footer_14_0=ruleDatamartTableFooter();
+
+                    state._fsp--;
+                    if (state.failed) return current;
+                    if ( state.backtracking==0 ) {
+
+                      					if (current==null) {
+                      						current = createModelElementForParent(grammarAccess.getDatamartTableRule());
+                      					}
+                      					set(
+                      						current,
+                      						"footer",
+                      						lv_footer_14_0,
+                      						"org.eclipse.osbp.xtext.reportdsl.ReportDSL.DatamartTableFooter");
+                      					afterParserOrEnumRuleCall();
+                      				
+                    }
+
+                    }
+
+
+                    }
+                    break;
+
+            }
+
+            otherlv_15=(Token)match(input,18,FOLLOW_2); if (state.failed) return current;
             if ( state.backtracking==0 ) {
 
-              			newLeafNode(otherlv_14, grammarAccess.getDatamartTableAccess().getRightCurlyBracketKeyword_9());
+              			newLeafNode(otherlv_15, grammarAccess.getDatamartTableAccess().getRightCurlyBracketKeyword_8());
               		
             }
 
@@ -13577,7 +14302,7 @@
 
 
     // $ANTLR start "entryRuleDatamartTableGroup"
-    // InternalReportDSL.g:5242:1: entryRuleDatamartTableGroup returns [EObject current=null] : iv_ruleDatamartTableGroup= ruleDatamartTableGroup EOF ;
+    // InternalReportDSL.g:5513:1: entryRuleDatamartTableGroup returns [EObject current=null] : iv_ruleDatamartTableGroup= ruleDatamartTableGroup EOF ;
     public final EObject entryRuleDatamartTableGroup() throws RecognitionException {
         EObject current = null;
 
@@ -13585,8 +14310,8 @@
 
 
         try {
-            // InternalReportDSL.g:5242:59: (iv_ruleDatamartTableGroup= ruleDatamartTableGroup EOF )
-            // InternalReportDSL.g:5243:2: iv_ruleDatamartTableGroup= ruleDatamartTableGroup EOF
+            // InternalReportDSL.g:5513:59: (iv_ruleDatamartTableGroup= ruleDatamartTableGroup EOF )
+            // InternalReportDSL.g:5514:2: iv_ruleDatamartTableGroup= ruleDatamartTableGroup EOF
             {
             if ( state.backtracking==0 ) {
                newCompositeNode(grammarAccess.getDatamartTableGroupRule()); 
@@ -13617,7 +14342,7 @@
 
 
     // $ANTLR start "ruleDatamartTableGroup"
-    // InternalReportDSL.g:5249:1: ruleDatamartTableGroup returns [EObject current=null] : (otherlv_0= 'group' ( (lv_name_1_0= RULE_ID ) ) otherlv_2= 'by' ( (otherlv_3= RULE_ID ) ) ( (lv_visibilityItem_4_0= ruleVisibility ) )? ( (lv_pageBreak_5_0= rulePageBreak ) )? otherlv_6= '{' ( (lv_header_7_0= ruleDatamartTableGroupHeader ) )? ( ( (lv_detailheader_8_0= 'detailheader' ) ) (otherlv_9= 'style' ( (otherlv_10= RULE_ID ) ) )? )? ( ( (lv_detailfooter_11_0= 'detailfooter' ) ) (otherlv_12= 'style' ( (otherlv_13= RULE_ID ) ) )? )? ( (lv_footer_14_0= ruleDatamartTableGroupFooter ) )? otherlv_15= '}' ) ;
+    // InternalReportDSL.g:5520:1: ruleDatamartTableGroup returns [EObject current=null] : (otherlv_0= 'group' ( (lv_name_1_0= RULE_ID ) ) otherlv_2= 'by' ( (otherlv_3= RULE_ID ) ) ( ( ( ( ({...}? => ( ({...}? => ( (lv_visibilityItem_5_0= ruleVisibility ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_pageBreak_6_0= rulePageBreak ) ) ) ) ) )* ) ) ) otherlv_7= '{' ( (lv_header_8_0= ruleDatamartTableHeader ) )? ( (lv_footer_9_0= ruleDatamartTableFooter ) )? otherlv_10= '}' ) ;
     public final EObject ruleDatamartTableGroup() throws RecognitionException {
         EObject current = null;
 
@@ -13625,46 +14350,40 @@
         Token lv_name_1_0=null;
         Token otherlv_2=null;
         Token otherlv_3=null;
-        Token otherlv_6=null;
-        Token lv_detailheader_8_0=null;
-        Token otherlv_9=null;
+        Token otherlv_7=null;
         Token otherlv_10=null;
-        Token lv_detailfooter_11_0=null;
-        Token otherlv_12=null;
-        Token otherlv_13=null;
-        Token otherlv_15=null;
-        EObject lv_visibilityItem_4_0 = null;
+        EObject lv_visibilityItem_5_0 = null;
 
-        EObject lv_pageBreak_5_0 = null;
+        EObject lv_pageBreak_6_0 = null;
 
-        EObject lv_header_7_0 = null;
+        EObject lv_header_8_0 = null;
 
-        EObject lv_footer_14_0 = null;
+        EObject lv_footer_9_0 = null;
 
 
 
         	enterRule();
 
         try {
-            // InternalReportDSL.g:5255:2: ( (otherlv_0= 'group' ( (lv_name_1_0= RULE_ID ) ) otherlv_2= 'by' ( (otherlv_3= RULE_ID ) ) ( (lv_visibilityItem_4_0= ruleVisibility ) )? ( (lv_pageBreak_5_0= rulePageBreak ) )? otherlv_6= '{' ( (lv_header_7_0= ruleDatamartTableGroupHeader ) )? ( ( (lv_detailheader_8_0= 'detailheader' ) ) (otherlv_9= 'style' ( (otherlv_10= RULE_ID ) ) )? )? ( ( (lv_detailfooter_11_0= 'detailfooter' ) ) (otherlv_12= 'style' ( (otherlv_13= RULE_ID ) ) )? )? ( (lv_footer_14_0= ruleDatamartTableGroupFooter ) )? otherlv_15= '}' ) )
-            // InternalReportDSL.g:5256:2: (otherlv_0= 'group' ( (lv_name_1_0= RULE_ID ) ) otherlv_2= 'by' ( (otherlv_3= RULE_ID ) ) ( (lv_visibilityItem_4_0= ruleVisibility ) )? ( (lv_pageBreak_5_0= rulePageBreak ) )? otherlv_6= '{' ( (lv_header_7_0= ruleDatamartTableGroupHeader ) )? ( ( (lv_detailheader_8_0= 'detailheader' ) ) (otherlv_9= 'style' ( (otherlv_10= RULE_ID ) ) )? )? ( ( (lv_detailfooter_11_0= 'detailfooter' ) ) (otherlv_12= 'style' ( (otherlv_13= RULE_ID ) ) )? )? ( (lv_footer_14_0= ruleDatamartTableGroupFooter ) )? otherlv_15= '}' )
+            // InternalReportDSL.g:5526:2: ( (otherlv_0= 'group' ( (lv_name_1_0= RULE_ID ) ) otherlv_2= 'by' ( (otherlv_3= RULE_ID ) ) ( ( ( ( ({...}? => ( ({...}? => ( (lv_visibilityItem_5_0= ruleVisibility ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_pageBreak_6_0= rulePageBreak ) ) ) ) ) )* ) ) ) otherlv_7= '{' ( (lv_header_8_0= ruleDatamartTableHeader ) )? ( (lv_footer_9_0= ruleDatamartTableFooter ) )? otherlv_10= '}' ) )
+            // InternalReportDSL.g:5527:2: (otherlv_0= 'group' ( (lv_name_1_0= RULE_ID ) ) otherlv_2= 'by' ( (otherlv_3= RULE_ID ) ) ( ( ( ( ({...}? => ( ({...}? => ( (lv_visibilityItem_5_0= ruleVisibility ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_pageBreak_6_0= rulePageBreak ) ) ) ) ) )* ) ) ) otherlv_7= '{' ( (lv_header_8_0= ruleDatamartTableHeader ) )? ( (lv_footer_9_0= ruleDatamartTableFooter ) )? otherlv_10= '}' )
             {
-            // InternalReportDSL.g:5256:2: (otherlv_0= 'group' ( (lv_name_1_0= RULE_ID ) ) otherlv_2= 'by' ( (otherlv_3= RULE_ID ) ) ( (lv_visibilityItem_4_0= ruleVisibility ) )? ( (lv_pageBreak_5_0= rulePageBreak ) )? otherlv_6= '{' ( (lv_header_7_0= ruleDatamartTableGroupHeader ) )? ( ( (lv_detailheader_8_0= 'detailheader' ) ) (otherlv_9= 'style' ( (otherlv_10= RULE_ID ) ) )? )? ( ( (lv_detailfooter_11_0= 'detailfooter' ) ) (otherlv_12= 'style' ( (otherlv_13= RULE_ID ) ) )? )? ( (lv_footer_14_0= ruleDatamartTableGroupFooter ) )? otherlv_15= '}' )
-            // InternalReportDSL.g:5257:3: otherlv_0= 'group' ( (lv_name_1_0= RULE_ID ) ) otherlv_2= 'by' ( (otherlv_3= RULE_ID ) ) ( (lv_visibilityItem_4_0= ruleVisibility ) )? ( (lv_pageBreak_5_0= rulePageBreak ) )? otherlv_6= '{' ( (lv_header_7_0= ruleDatamartTableGroupHeader ) )? ( ( (lv_detailheader_8_0= 'detailheader' ) ) (otherlv_9= 'style' ( (otherlv_10= RULE_ID ) ) )? )? ( ( (lv_detailfooter_11_0= 'detailfooter' ) ) (otherlv_12= 'style' ( (otherlv_13= RULE_ID ) ) )? )? ( (lv_footer_14_0= ruleDatamartTableGroupFooter ) )? otherlv_15= '}'
+            // InternalReportDSL.g:5527:2: (otherlv_0= 'group' ( (lv_name_1_0= RULE_ID ) ) otherlv_2= 'by' ( (otherlv_3= RULE_ID ) ) ( ( ( ( ({...}? => ( ({...}? => ( (lv_visibilityItem_5_0= ruleVisibility ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_pageBreak_6_0= rulePageBreak ) ) ) ) ) )* ) ) ) otherlv_7= '{' ( (lv_header_8_0= ruleDatamartTableHeader ) )? ( (lv_footer_9_0= ruleDatamartTableFooter ) )? otherlv_10= '}' )
+            // InternalReportDSL.g:5528:3: otherlv_0= 'group' ( (lv_name_1_0= RULE_ID ) ) otherlv_2= 'by' ( (otherlv_3= RULE_ID ) ) ( ( ( ( ({...}? => ( ({...}? => ( (lv_visibilityItem_5_0= ruleVisibility ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_pageBreak_6_0= rulePageBreak ) ) ) ) ) )* ) ) ) otherlv_7= '{' ( (lv_header_8_0= ruleDatamartTableHeader ) )? ( (lv_footer_9_0= ruleDatamartTableFooter ) )? otherlv_10= '}'
             {
-            otherlv_0=(Token)match(input,92,FOLLOW_4); if (state.failed) return current;
+            otherlv_0=(Token)match(input,91,FOLLOW_4); if (state.failed) return current;
             if ( state.backtracking==0 ) {
 
               			newLeafNode(otherlv_0, grammarAccess.getDatamartTableGroupAccess().getGroupKeyword_0());
               		
             }
-            // InternalReportDSL.g:5261:3: ( (lv_name_1_0= RULE_ID ) )
-            // InternalReportDSL.g:5262:4: (lv_name_1_0= RULE_ID )
+            // InternalReportDSL.g:5532:3: ( (lv_name_1_0= RULE_ID ) )
+            // InternalReportDSL.g:5533:4: (lv_name_1_0= RULE_ID )
             {
-            // InternalReportDSL.g:5262:4: (lv_name_1_0= RULE_ID )
-            // InternalReportDSL.g:5263:5: lv_name_1_0= RULE_ID
+            // InternalReportDSL.g:5533:4: (lv_name_1_0= RULE_ID )
+            // InternalReportDSL.g:5534:5: lv_name_1_0= RULE_ID
             {
-            lv_name_1_0=(Token)match(input,RULE_ID,FOLLOW_90); if (state.failed) return current;
+            lv_name_1_0=(Token)match(input,RULE_ID,FOLLOW_87); if (state.failed) return current;
             if ( state.backtracking==0 ) {
 
               					newLeafNode(lv_name_1_0, grammarAccess.getDatamartTableGroupAccess().getNameIDTerminalRuleCall_1_0());
@@ -13688,17 +14407,17 @@
 
             }
 
-            otherlv_2=(Token)match(input,93,FOLLOW_4); if (state.failed) return current;
+            otherlv_2=(Token)match(input,92,FOLLOW_4); if (state.failed) return current;
             if ( state.backtracking==0 ) {
 
               			newLeafNode(otherlv_2, grammarAccess.getDatamartTableGroupAccess().getByKeyword_2());
               		
             }
-            // InternalReportDSL.g:5283:3: ( (otherlv_3= RULE_ID ) )
-            // InternalReportDSL.g:5284:4: (otherlv_3= RULE_ID )
+            // InternalReportDSL.g:5554:3: ( (otherlv_3= RULE_ID ) )
+            // InternalReportDSL.g:5555:4: (otherlv_3= RULE_ID )
             {
-            // InternalReportDSL.g:5284:4: (otherlv_3= RULE_ID )
-            // InternalReportDSL.g:5285:5: otherlv_3= RULE_ID
+            // InternalReportDSL.g:5555:4: (otherlv_3= RULE_ID )
+            // InternalReportDSL.g:5556:5: otherlv_3= RULE_ID
             {
             if ( state.backtracking==0 ) {
 
@@ -13707,7 +14426,7 @@
               					}
               				
             }
-            otherlv_3=(Token)match(input,RULE_ID,FOLLOW_86); if (state.failed) return current;
+            otherlv_3=(Token)match(input,RULE_ID,FOLLOW_85); if (state.failed) return current;
             if ( state.backtracking==0 ) {
 
               					newLeafNode(otherlv_3, grammarAccess.getDatamartTableGroupAccess().getGroupingRefDatamartAttributeCrossReference_3_0());
@@ -13719,125 +14438,212 @@
 
             }
 
-            // InternalReportDSL.g:5296:3: ( (lv_visibilityItem_4_0= ruleVisibility ) )?
-            int alt63=2;
-            int LA63_0 = input.LA(1);
+            // InternalReportDSL.g:5567:3: ( ( ( ( ({...}? => ( ({...}? => ( (lv_visibilityItem_5_0= ruleVisibility ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_pageBreak_6_0= rulePageBreak ) ) ) ) ) )* ) ) )
+            // InternalReportDSL.g:5568:4: ( ( ( ({...}? => ( ({...}? => ( (lv_visibilityItem_5_0= ruleVisibility ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_pageBreak_6_0= rulePageBreak ) ) ) ) ) )* ) )
+            {
+            // InternalReportDSL.g:5568:4: ( ( ( ({...}? => ( ({...}? => ( (lv_visibilityItem_5_0= ruleVisibility ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_pageBreak_6_0= rulePageBreak ) ) ) ) ) )* ) )
+            // InternalReportDSL.g:5569:5: ( ( ({...}? => ( ({...}? => ( (lv_visibilityItem_5_0= ruleVisibility ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_pageBreak_6_0= rulePageBreak ) ) ) ) ) )* )
+            {
+            getUnorderedGroupHelper().enter(grammarAccess.getDatamartTableGroupAccess().getUnorderedGroup_4());
+            // InternalReportDSL.g:5572:5: ( ( ({...}? => ( ({...}? => ( (lv_visibilityItem_5_0= ruleVisibility ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_pageBreak_6_0= rulePageBreak ) ) ) ) ) )* )
+            // InternalReportDSL.g:5573:6: ( ({...}? => ( ({...}? => ( (lv_visibilityItem_5_0= ruleVisibility ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_pageBreak_6_0= rulePageBreak ) ) ) ) ) )*
+            {
+            // InternalReportDSL.g:5573:6: ( ({...}? => ( ({...}? => ( (lv_visibilityItem_5_0= ruleVisibility ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_pageBreak_6_0= rulePageBreak ) ) ) ) ) )*
+            loop56:
+            do {
+                int alt56=3;
+                int LA56_0 = input.LA(1);
 
-            if ( (LA63_0==115) ) {
-                alt63=1;
-            }
-            switch (alt63) {
-                case 1 :
-                    // InternalReportDSL.g:5297:4: (lv_visibilityItem_4_0= ruleVisibility )
-                    {
-                    // InternalReportDSL.g:5297:4: (lv_visibilityItem_4_0= ruleVisibility )
-                    // InternalReportDSL.g:5298:5: lv_visibilityItem_4_0= ruleVisibility
-                    {
-                    if ( state.backtracking==0 ) {
-
-                      					newCompositeNode(grammarAccess.getDatamartTableGroupAccess().getVisibilityItemVisibilityParserRuleCall_4_0());
-                      				
-                    }
-                    pushFollow(FOLLOW_87);
-                    lv_visibilityItem_4_0=ruleVisibility();
-
-                    state._fsp--;
-                    if (state.failed) return current;
-                    if ( state.backtracking==0 ) {
-
-                      					if (current==null) {
-                      						current = createModelElementForParent(grammarAccess.getDatamartTableGroupRule());
-                      					}
-                      					set(
-                      						current,
-                      						"visibilityItem",
-                      						lv_visibilityItem_4_0,
-                      						"org.eclipse.osbp.xtext.reportdsl.ReportDSL.Visibility");
-                      					afterParserOrEnumRuleCall();
-                      				
-                    }
-
-                    }
+                if ( LA56_0 == 114 && getUnorderedGroupHelper().canSelect(grammarAccess.getDatamartTableGroupAccess().getUnorderedGroup_4(), 0) ) {
+                    alt56=1;
+                }
+                else if ( LA56_0 == 107 && getUnorderedGroupHelper().canSelect(grammarAccess.getDatamartTableGroupAccess().getUnorderedGroup_4(), 1) ) {
+                    alt56=2;
+                }
 
 
-                    }
-                    break;
+                switch (alt56) {
+            	case 1 :
+            	    // InternalReportDSL.g:5574:4: ({...}? => ( ({...}? => ( (lv_visibilityItem_5_0= ruleVisibility ) ) ) ) )
+            	    {
+            	    // InternalReportDSL.g:5574:4: ({...}? => ( ({...}? => ( (lv_visibilityItem_5_0= ruleVisibility ) ) ) ) )
+            	    // InternalReportDSL.g:5575:5: {...}? => ( ({...}? => ( (lv_visibilityItem_5_0= ruleVisibility ) ) ) )
+            	    {
+            	    if ( ! getUnorderedGroupHelper().canSelect(grammarAccess.getDatamartTableGroupAccess().getUnorderedGroup_4(), 0) ) {
+            	        if (state.backtracking>0) {state.failed=true; return current;}
+            	        throw new FailedPredicateException(input, "ruleDatamartTableGroup", "getUnorderedGroupHelper().canSelect(grammarAccess.getDatamartTableGroupAccess().getUnorderedGroup_4(), 0)");
+            	    }
+            	    // InternalReportDSL.g:5575:115: ( ({...}? => ( (lv_visibilityItem_5_0= ruleVisibility ) ) ) )
+            	    // InternalReportDSL.g:5576:6: ({...}? => ( (lv_visibilityItem_5_0= ruleVisibility ) ) )
+            	    {
+            	    getUnorderedGroupHelper().select(grammarAccess.getDatamartTableGroupAccess().getUnorderedGroup_4(), 0);
+            	    // InternalReportDSL.g:5579:9: ({...}? => ( (lv_visibilityItem_5_0= ruleVisibility ) ) )
+            	    // InternalReportDSL.g:5579:10: {...}? => ( (lv_visibilityItem_5_0= ruleVisibility ) )
+            	    {
+            	    if ( !((true)) ) {
+            	        if (state.backtracking>0) {state.failed=true; return current;}
+            	        throw new FailedPredicateException(input, "ruleDatamartTableGroup", "true");
+            	    }
+            	    // InternalReportDSL.g:5579:19: ( (lv_visibilityItem_5_0= ruleVisibility ) )
+            	    // InternalReportDSL.g:5579:20: (lv_visibilityItem_5_0= ruleVisibility )
+            	    {
+            	    // InternalReportDSL.g:5579:20: (lv_visibilityItem_5_0= ruleVisibility )
+            	    // InternalReportDSL.g:5580:10: lv_visibilityItem_5_0= ruleVisibility
+            	    {
+            	    if ( state.backtracking==0 ) {
+
+            	      										newCompositeNode(grammarAccess.getDatamartTableGroupAccess().getVisibilityItemVisibilityParserRuleCall_4_0_0());
+            	      									
+            	    }
+            	    pushFollow(FOLLOW_85);
+            	    lv_visibilityItem_5_0=ruleVisibility();
+
+            	    state._fsp--;
+            	    if (state.failed) return current;
+            	    if ( state.backtracking==0 ) {
+
+            	      										if (current==null) {
+            	      											current = createModelElementForParent(grammarAccess.getDatamartTableGroupRule());
+            	      										}
+            	      										set(
+            	      											current,
+            	      											"visibilityItem",
+            	      											lv_visibilityItem_5_0,
+            	      											"org.eclipse.osbp.xtext.reportdsl.ReportDSL.Visibility");
+            	      										afterParserOrEnumRuleCall();
+            	      									
+            	    }
+
+            	    }
+
+
+            	    }
+
+
+            	    }
+
+            	    getUnorderedGroupHelper().returnFromSelection(grammarAccess.getDatamartTableGroupAccess().getUnorderedGroup_4());
+
+            	    }
+
+
+            	    }
+
+
+            	    }
+            	    break;
+            	case 2 :
+            	    // InternalReportDSL.g:5602:4: ({...}? => ( ({...}? => ( (lv_pageBreak_6_0= rulePageBreak ) ) ) ) )
+            	    {
+            	    // InternalReportDSL.g:5602:4: ({...}? => ( ({...}? => ( (lv_pageBreak_6_0= rulePageBreak ) ) ) ) )
+            	    // InternalReportDSL.g:5603:5: {...}? => ( ({...}? => ( (lv_pageBreak_6_0= rulePageBreak ) ) ) )
+            	    {
+            	    if ( ! getUnorderedGroupHelper().canSelect(grammarAccess.getDatamartTableGroupAccess().getUnorderedGroup_4(), 1) ) {
+            	        if (state.backtracking>0) {state.failed=true; return current;}
+            	        throw new FailedPredicateException(input, "ruleDatamartTableGroup", "getUnorderedGroupHelper().canSelect(grammarAccess.getDatamartTableGroupAccess().getUnorderedGroup_4(), 1)");
+            	    }
+            	    // InternalReportDSL.g:5603:115: ( ({...}? => ( (lv_pageBreak_6_0= rulePageBreak ) ) ) )
+            	    // InternalReportDSL.g:5604:6: ({...}? => ( (lv_pageBreak_6_0= rulePageBreak ) ) )
+            	    {
+            	    getUnorderedGroupHelper().select(grammarAccess.getDatamartTableGroupAccess().getUnorderedGroup_4(), 1);
+            	    // InternalReportDSL.g:5607:9: ({...}? => ( (lv_pageBreak_6_0= rulePageBreak ) ) )
+            	    // InternalReportDSL.g:5607:10: {...}? => ( (lv_pageBreak_6_0= rulePageBreak ) )
+            	    {
+            	    if ( !((true)) ) {
+            	        if (state.backtracking>0) {state.failed=true; return current;}
+            	        throw new FailedPredicateException(input, "ruleDatamartTableGroup", "true");
+            	    }
+            	    // InternalReportDSL.g:5607:19: ( (lv_pageBreak_6_0= rulePageBreak ) )
+            	    // InternalReportDSL.g:5607:20: (lv_pageBreak_6_0= rulePageBreak )
+            	    {
+            	    // InternalReportDSL.g:5607:20: (lv_pageBreak_6_0= rulePageBreak )
+            	    // InternalReportDSL.g:5608:10: lv_pageBreak_6_0= rulePageBreak
+            	    {
+            	    if ( state.backtracking==0 ) {
+
+            	      										newCompositeNode(grammarAccess.getDatamartTableGroupAccess().getPageBreakPageBreakParserRuleCall_4_1_0());
+            	      									
+            	    }
+            	    pushFollow(FOLLOW_85);
+            	    lv_pageBreak_6_0=rulePageBreak();
+
+            	    state._fsp--;
+            	    if (state.failed) return current;
+            	    if ( state.backtracking==0 ) {
+
+            	      										if (current==null) {
+            	      											current = createModelElementForParent(grammarAccess.getDatamartTableGroupRule());
+            	      										}
+            	      										set(
+            	      											current,
+            	      											"pageBreak",
+            	      											lv_pageBreak_6_0,
+            	      											"org.eclipse.osbp.xtext.reportdsl.ReportDSL.PageBreak");
+            	      										afterParserOrEnumRuleCall();
+            	      									
+            	    }
+
+            	    }
+
+
+            	    }
+
+
+            	    }
+
+            	    getUnorderedGroupHelper().returnFromSelection(grammarAccess.getDatamartTableGroupAccess().getUnorderedGroup_4());
+
+            	    }
+
+
+            	    }
+
+
+            	    }
+            	    break;
+
+            	default :
+            	    break loop56;
+                }
+            } while (true);
+
 
             }
 
-            // InternalReportDSL.g:5315:3: ( (lv_pageBreak_5_0= rulePageBreak ) )?
-            int alt64=2;
-            int LA64_0 = input.LA(1);
-
-            if ( (LA64_0==108) ) {
-                alt64=1;
-            }
-            switch (alt64) {
-                case 1 :
-                    // InternalReportDSL.g:5316:4: (lv_pageBreak_5_0= rulePageBreak )
-                    {
-                    // InternalReportDSL.g:5316:4: (lv_pageBreak_5_0= rulePageBreak )
-                    // InternalReportDSL.g:5317:5: lv_pageBreak_5_0= rulePageBreak
-                    {
-                    if ( state.backtracking==0 ) {
-
-                      					newCompositeNode(grammarAccess.getDatamartTableGroupAccess().getPageBreakPageBreakParserRuleCall_5_0());
-                      				
-                    }
-                    pushFollow(FOLLOW_5);
-                    lv_pageBreak_5_0=rulePageBreak();
-
-                    state._fsp--;
-                    if (state.failed) return current;
-                    if ( state.backtracking==0 ) {
-
-                      					if (current==null) {
-                      						current = createModelElementForParent(grammarAccess.getDatamartTableGroupRule());
-                      					}
-                      					set(
-                      						current,
-                      						"pageBreak",
-                      						lv_pageBreak_5_0,
-                      						"org.eclipse.osbp.xtext.reportdsl.ReportDSL.PageBreak");
-                      					afterParserOrEnumRuleCall();
-                      				
-                    }
-
-                    }
-
-
-                    }
-                    break;
 
             }
 
-            otherlv_6=(Token)match(input,14,FOLLOW_91); if (state.failed) return current;
+            getUnorderedGroupHelper().leave(grammarAccess.getDatamartTableGroupAccess().getUnorderedGroup_4());
+
+            }
+
+            otherlv_7=(Token)match(input,14,FOLLOW_32); if (state.failed) return current;
             if ( state.backtracking==0 ) {
 
-              			newLeafNode(otherlv_6, grammarAccess.getDatamartTableGroupAccess().getLeftCurlyBracketKeyword_6());
+              			newLeafNode(otherlv_7, grammarAccess.getDatamartTableGroupAccess().getLeftCurlyBracketKeyword_5());
               		
             }
-            // InternalReportDSL.g:5338:3: ( (lv_header_7_0= ruleDatamartTableGroupHeader ) )?
-            int alt65=2;
-            int LA65_0 = input.LA(1);
+            // InternalReportDSL.g:5641:3: ( (lv_header_8_0= ruleDatamartTableHeader ) )?
+            int alt57=2;
+            int LA57_0 = input.LA(1);
 
-            if ( (LA65_0==77) ) {
-                alt65=1;
+            if ( (LA57_0==78) ) {
+                alt57=1;
             }
-            switch (alt65) {
+            switch (alt57) {
                 case 1 :
-                    // InternalReportDSL.g:5339:4: (lv_header_7_0= ruleDatamartTableGroupHeader )
+                    // InternalReportDSL.g:5642:4: (lv_header_8_0= ruleDatamartTableHeader )
                     {
-                    // InternalReportDSL.g:5339:4: (lv_header_7_0= ruleDatamartTableGroupHeader )
-                    // InternalReportDSL.g:5340:5: lv_header_7_0= ruleDatamartTableGroupHeader
+                    // InternalReportDSL.g:5642:4: (lv_header_8_0= ruleDatamartTableHeader )
+                    // InternalReportDSL.g:5643:5: lv_header_8_0= ruleDatamartTableHeader
                     {
                     if ( state.backtracking==0 ) {
 
-                      					newCompositeNode(grammarAccess.getDatamartTableGroupAccess().getHeaderDatamartTableGroupHeaderParserRuleCall_7_0());
+                      					newCompositeNode(grammarAccess.getDatamartTableGroupAccess().getHeaderDatamartTableHeaderParserRuleCall_6_0());
                       				
                     }
-                    pushFollow(FOLLOW_92);
-                    lv_header_7_0=ruleDatamartTableGroupHeader();
+                    pushFollow(FOLLOW_33);
+                    lv_header_8_0=ruleDatamartTableHeader();
 
                     state._fsp--;
                     if (state.failed) return current;
@@ -13849,8 +14655,8 @@
                       					set(
                       						current,
                       						"header",
-                      						lv_header_7_0,
-                      						"org.eclipse.osbp.xtext.reportdsl.ReportDSL.DatamartTableGroupHeader");
+                      						lv_header_8_0,
+                      						"org.eclipse.osbp.xtext.reportdsl.ReportDSL.DatamartTableHeader");
                       					afterParserOrEnumRuleCall();
                       				
                     }
@@ -13863,209 +14669,27 @@
 
             }
 
-            // InternalReportDSL.g:5357:3: ( ( (lv_detailheader_8_0= 'detailheader' ) ) (otherlv_9= 'style' ( (otherlv_10= RULE_ID ) ) )? )?
-            int alt67=2;
-            int LA67_0 = input.LA(1);
+            // InternalReportDSL.g:5660:3: ( (lv_footer_9_0= ruleDatamartTableFooter ) )?
+            int alt58=2;
+            int LA58_0 = input.LA(1);
 
-            if ( (LA67_0==90) ) {
-                alt67=1;
+            if ( (LA58_0==82) ) {
+                alt58=1;
             }
-            switch (alt67) {
+            switch (alt58) {
                 case 1 :
-                    // InternalReportDSL.g:5358:4: ( (lv_detailheader_8_0= 'detailheader' ) ) (otherlv_9= 'style' ( (otherlv_10= RULE_ID ) ) )?
+                    // InternalReportDSL.g:5661:4: (lv_footer_9_0= ruleDatamartTableFooter )
                     {
-                    // InternalReportDSL.g:5358:4: ( (lv_detailheader_8_0= 'detailheader' ) )
-                    // InternalReportDSL.g:5359:5: (lv_detailheader_8_0= 'detailheader' )
-                    {
-                    // InternalReportDSL.g:5359:5: (lv_detailheader_8_0= 'detailheader' )
-                    // InternalReportDSL.g:5360:6: lv_detailheader_8_0= 'detailheader'
-                    {
-                    lv_detailheader_8_0=(Token)match(input,90,FOLLOW_93); if (state.failed) return current;
-                    if ( state.backtracking==0 ) {
-
-                      						newLeafNode(lv_detailheader_8_0, grammarAccess.getDatamartTableGroupAccess().getDetailheaderDetailheaderKeyword_8_0_0());
-                      					
-                    }
-                    if ( state.backtracking==0 ) {
-
-                      						if (current==null) {
-                      							current = createModelElement(grammarAccess.getDatamartTableGroupRule());
-                      						}
-                      						setWithLastConsumed(current, "detailheader", true, "detailheader");
-                      					
-                    }
-
-                    }
-
-
-                    }
-
-                    // InternalReportDSL.g:5372:4: (otherlv_9= 'style' ( (otherlv_10= RULE_ID ) ) )?
-                    int alt66=2;
-                    int LA66_0 = input.LA(1);
-
-                    if ( (LA66_0==43) ) {
-                        alt66=1;
-                    }
-                    switch (alt66) {
-                        case 1 :
-                            // InternalReportDSL.g:5373:5: otherlv_9= 'style' ( (otherlv_10= RULE_ID ) )
-                            {
-                            otherlv_9=(Token)match(input,43,FOLLOW_4); if (state.failed) return current;
-                            if ( state.backtracking==0 ) {
-
-                              					newLeafNode(otherlv_9, grammarAccess.getDatamartTableGroupAccess().getStyleKeyword_8_1_0());
-                              				
-                            }
-                            // InternalReportDSL.g:5377:5: ( (otherlv_10= RULE_ID ) )
-                            // InternalReportDSL.g:5378:6: (otherlv_10= RULE_ID )
-                            {
-                            // InternalReportDSL.g:5378:6: (otherlv_10= RULE_ID )
-                            // InternalReportDSL.g:5379:7: otherlv_10= RULE_ID
-                            {
-                            if ( state.backtracking==0 ) {
-
-                              							if (current==null) {
-                              								current = createModelElement(grammarAccess.getDatamartTableGroupRule());
-                              							}
-                              						
-                            }
-                            otherlv_10=(Token)match(input,RULE_ID,FOLLOW_94); if (state.failed) return current;
-                            if ( state.backtracking==0 ) {
-
-                              							newLeafNode(otherlv_10, grammarAccess.getDatamartTableGroupAccess().getHeaderstyleStyleCrossReference_8_1_1_0());
-                              						
-                            }
-
-                            }
-
-
-                            }
-
-
-                            }
-                            break;
-
-                    }
-
-
-                    }
-                    break;
-
-            }
-
-            // InternalReportDSL.g:5392:3: ( ( (lv_detailfooter_11_0= 'detailfooter' ) ) (otherlv_12= 'style' ( (otherlv_13= RULE_ID ) ) )? )?
-            int alt69=2;
-            int LA69_0 = input.LA(1);
-
-            if ( (LA69_0==91) ) {
-                alt69=1;
-            }
-            switch (alt69) {
-                case 1 :
-                    // InternalReportDSL.g:5393:4: ( (lv_detailfooter_11_0= 'detailfooter' ) ) (otherlv_12= 'style' ( (otherlv_13= RULE_ID ) ) )?
-                    {
-                    // InternalReportDSL.g:5393:4: ( (lv_detailfooter_11_0= 'detailfooter' ) )
-                    // InternalReportDSL.g:5394:5: (lv_detailfooter_11_0= 'detailfooter' )
-                    {
-                    // InternalReportDSL.g:5394:5: (lv_detailfooter_11_0= 'detailfooter' )
-                    // InternalReportDSL.g:5395:6: lv_detailfooter_11_0= 'detailfooter'
-                    {
-                    lv_detailfooter_11_0=(Token)match(input,91,FOLLOW_95); if (state.failed) return current;
-                    if ( state.backtracking==0 ) {
-
-                      						newLeafNode(lv_detailfooter_11_0, grammarAccess.getDatamartTableGroupAccess().getDetailfooterDetailfooterKeyword_9_0_0());
-                      					
-                    }
-                    if ( state.backtracking==0 ) {
-
-                      						if (current==null) {
-                      							current = createModelElement(grammarAccess.getDatamartTableGroupRule());
-                      						}
-                      						setWithLastConsumed(current, "detailfooter", true, "detailfooter");
-                      					
-                    }
-
-                    }
-
-
-                    }
-
-                    // InternalReportDSL.g:5407:4: (otherlv_12= 'style' ( (otherlv_13= RULE_ID ) ) )?
-                    int alt68=2;
-                    int LA68_0 = input.LA(1);
-
-                    if ( (LA68_0==43) ) {
-                        alt68=1;
-                    }
-                    switch (alt68) {
-                        case 1 :
-                            // InternalReportDSL.g:5408:5: otherlv_12= 'style' ( (otherlv_13= RULE_ID ) )
-                            {
-                            otherlv_12=(Token)match(input,43,FOLLOW_4); if (state.failed) return current;
-                            if ( state.backtracking==0 ) {
-
-                              					newLeafNode(otherlv_12, grammarAccess.getDatamartTableGroupAccess().getStyleKeyword_9_1_0());
-                              				
-                            }
-                            // InternalReportDSL.g:5412:5: ( (otherlv_13= RULE_ID ) )
-                            // InternalReportDSL.g:5413:6: (otherlv_13= RULE_ID )
-                            {
-                            // InternalReportDSL.g:5413:6: (otherlv_13= RULE_ID )
-                            // InternalReportDSL.g:5414:7: otherlv_13= RULE_ID
-                            {
-                            if ( state.backtracking==0 ) {
-
-                              							if (current==null) {
-                              								current = createModelElement(grammarAccess.getDatamartTableGroupRule());
-                              							}
-                              						
-                            }
-                            otherlv_13=(Token)match(input,RULE_ID,FOLLOW_33); if (state.failed) return current;
-                            if ( state.backtracking==0 ) {
-
-                              							newLeafNode(otherlv_13, grammarAccess.getDatamartTableGroupAccess().getFooterstyleStyleCrossReference_9_1_1_0());
-                              						
-                            }
-
-                            }
-
-
-                            }
-
-
-                            }
-                            break;
-
-                    }
-
-
-                    }
-                    break;
-
-            }
-
-            // InternalReportDSL.g:5427:3: ( (lv_footer_14_0= ruleDatamartTableGroupFooter ) )?
-            int alt70=2;
-            int LA70_0 = input.LA(1);
-
-            if ( (LA70_0==81) ) {
-                alt70=1;
-            }
-            switch (alt70) {
-                case 1 :
-                    // InternalReportDSL.g:5428:4: (lv_footer_14_0= ruleDatamartTableGroupFooter )
-                    {
-                    // InternalReportDSL.g:5428:4: (lv_footer_14_0= ruleDatamartTableGroupFooter )
-                    // InternalReportDSL.g:5429:5: lv_footer_14_0= ruleDatamartTableGroupFooter
+                    // InternalReportDSL.g:5661:4: (lv_footer_9_0= ruleDatamartTableFooter )
+                    // InternalReportDSL.g:5662:5: lv_footer_9_0= ruleDatamartTableFooter
                     {
                     if ( state.backtracking==0 ) {
 
-                      					newCompositeNode(grammarAccess.getDatamartTableGroupAccess().getFooterDatamartTableGroupFooterParserRuleCall_10_0());
+                      					newCompositeNode(grammarAccess.getDatamartTableGroupAccess().getFooterDatamartTableFooterParserRuleCall_7_0());
                       				
                     }
                     pushFollow(FOLLOW_15);
-                    lv_footer_14_0=ruleDatamartTableGroupFooter();
+                    lv_footer_9_0=ruleDatamartTableFooter();
 
                     state._fsp--;
                     if (state.failed) return current;
@@ -14077,8 +14701,8 @@
                       					set(
                       						current,
                       						"footer",
-                      						lv_footer_14_0,
-                      						"org.eclipse.osbp.xtext.reportdsl.ReportDSL.DatamartTableGroupFooter");
+                      						lv_footer_9_0,
+                      						"org.eclipse.osbp.xtext.reportdsl.ReportDSL.DatamartTableFooter");
                       					afterParserOrEnumRuleCall();
                       				
                     }
@@ -14091,10 +14715,10 @@
 
             }
 
-            otherlv_15=(Token)match(input,18,FOLLOW_2); if (state.failed) return current;
+            otherlv_10=(Token)match(input,18,FOLLOW_2); if (state.failed) return current;
             if ( state.backtracking==0 ) {
 
-              			newLeafNode(otherlv_15, grammarAccess.getDatamartTableGroupAccess().getRightCurlyBracketKeyword_11());
+              			newLeafNode(otherlv_10, grammarAccess.getDatamartTableGroupAccess().getRightCurlyBracketKeyword_8());
               		
             }
 
@@ -14121,28 +14745,28 @@
     // $ANTLR end "ruleDatamartTableGroup"
 
 
-    // $ANTLR start "entryRuleDatamartTableGroupHeader"
-    // InternalReportDSL.g:5454:1: entryRuleDatamartTableGroupHeader returns [EObject current=null] : iv_ruleDatamartTableGroupHeader= ruleDatamartTableGroupHeader EOF ;
-    public final EObject entryRuleDatamartTableGroupHeader() throws RecognitionException {
+    // $ANTLR start "entryRuleDatamartTableHeader"
+    // InternalReportDSL.g:5687:1: entryRuleDatamartTableHeader returns [EObject current=null] : iv_ruleDatamartTableHeader= ruleDatamartTableHeader EOF ;
+    public final EObject entryRuleDatamartTableHeader() throws RecognitionException {
         EObject current = null;
 
-        EObject iv_ruleDatamartTableGroupHeader = null;
+        EObject iv_ruleDatamartTableHeader = null;
 
 
         try {
-            // InternalReportDSL.g:5454:65: (iv_ruleDatamartTableGroupHeader= ruleDatamartTableGroupHeader EOF )
-            // InternalReportDSL.g:5455:2: iv_ruleDatamartTableGroupHeader= ruleDatamartTableGroupHeader EOF
+            // InternalReportDSL.g:5687:60: (iv_ruleDatamartTableHeader= ruleDatamartTableHeader EOF )
+            // InternalReportDSL.g:5688:2: iv_ruleDatamartTableHeader= ruleDatamartTableHeader EOF
             {
             if ( state.backtracking==0 ) {
-               newCompositeNode(grammarAccess.getDatamartTableGroupHeaderRule()); 
+               newCompositeNode(grammarAccess.getDatamartTableHeaderRule()); 
             }
             pushFollow(FOLLOW_1);
-            iv_ruleDatamartTableGroupHeader=ruleDatamartTableGroupHeader();
+            iv_ruleDatamartTableHeader=ruleDatamartTableHeader();
 
             state._fsp--;
             if (state.failed) return current;
             if ( state.backtracking==0 ) {
-               current =iv_ruleDatamartTableGroupHeader; 
+               current =iv_ruleDatamartTableHeader; 
             }
             match(input,EOF,FOLLOW_2); if (state.failed) return current;
 
@@ -14158,213 +14782,317 @@
         }
         return current;
     }
-    // $ANTLR end "entryRuleDatamartTableGroupHeader"
+    // $ANTLR end "entryRuleDatamartTableHeader"
 
 
-    // $ANTLR start "ruleDatamartTableGroupHeader"
-    // InternalReportDSL.g:5461:1: ruleDatamartTableGroupHeader returns [EObject current=null] : ( () otherlv_1= 'header' (otherlv_2= 'style' ( (otherlv_3= RULE_ID ) ) )? ( (lv_pageBreak_4_0= rulePageBreak ) )? otherlv_5= '{' ( (lv_rows_6_0= ruleGridRow ) )* otherlv_7= '}' ) ;
-    public final EObject ruleDatamartTableGroupHeader() throws RecognitionException {
+    // $ANTLR start "ruleDatamartTableHeader"
+    // InternalReportDSL.g:5694:1: ruleDatamartTableHeader returns [EObject current=null] : ( () otherlv_1= 'header' ( ( ( ( ({...}? => ( ({...}? => (otherlv_3= 'style' ( (otherlv_4= RULE_ID ) ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_pageBreak_5_0= rulePageBreak ) ) ) ) ) )* ) ) ) (otherlv_6= '{' ( (lv_rows_7_0= ruleGridRow ) )* otherlv_8= '}' )? ) ;
+    public final EObject ruleDatamartTableHeader() throws RecognitionException {
         EObject current = null;
 
         Token otherlv_1=null;
-        Token otherlv_2=null;
         Token otherlv_3=null;
-        Token otherlv_5=null;
-        Token otherlv_7=null;
-        EObject lv_pageBreak_4_0 = null;
+        Token otherlv_4=null;
+        Token otherlv_6=null;
+        Token otherlv_8=null;
+        EObject lv_pageBreak_5_0 = null;
 
-        EObject lv_rows_6_0 = null;
+        EObject lv_rows_7_0 = null;
 
 
 
         	enterRule();
 
         try {
-            // InternalReportDSL.g:5467:2: ( ( () otherlv_1= 'header' (otherlv_2= 'style' ( (otherlv_3= RULE_ID ) ) )? ( (lv_pageBreak_4_0= rulePageBreak ) )? otherlv_5= '{' ( (lv_rows_6_0= ruleGridRow ) )* otherlv_7= '}' ) )
-            // InternalReportDSL.g:5468:2: ( () otherlv_1= 'header' (otherlv_2= 'style' ( (otherlv_3= RULE_ID ) ) )? ( (lv_pageBreak_4_0= rulePageBreak ) )? otherlv_5= '{' ( (lv_rows_6_0= ruleGridRow ) )* otherlv_7= '}' )
+            // InternalReportDSL.g:5700:2: ( ( () otherlv_1= 'header' ( ( ( ( ({...}? => ( ({...}? => (otherlv_3= 'style' ( (otherlv_4= RULE_ID ) ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_pageBreak_5_0= rulePageBreak ) ) ) ) ) )* ) ) ) (otherlv_6= '{' ( (lv_rows_7_0= ruleGridRow ) )* otherlv_8= '}' )? ) )
+            // InternalReportDSL.g:5701:2: ( () otherlv_1= 'header' ( ( ( ( ({...}? => ( ({...}? => (otherlv_3= 'style' ( (otherlv_4= RULE_ID ) ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_pageBreak_5_0= rulePageBreak ) ) ) ) ) )* ) ) ) (otherlv_6= '{' ( (lv_rows_7_0= ruleGridRow ) )* otherlv_8= '}' )? )
             {
-            // InternalReportDSL.g:5468:2: ( () otherlv_1= 'header' (otherlv_2= 'style' ( (otherlv_3= RULE_ID ) ) )? ( (lv_pageBreak_4_0= rulePageBreak ) )? otherlv_5= '{' ( (lv_rows_6_0= ruleGridRow ) )* otherlv_7= '}' )
-            // InternalReportDSL.g:5469:3: () otherlv_1= 'header' (otherlv_2= 'style' ( (otherlv_3= RULE_ID ) ) )? ( (lv_pageBreak_4_0= rulePageBreak ) )? otherlv_5= '{' ( (lv_rows_6_0= ruleGridRow ) )* otherlv_7= '}'
+            // InternalReportDSL.g:5701:2: ( () otherlv_1= 'header' ( ( ( ( ({...}? => ( ({...}? => (otherlv_3= 'style' ( (otherlv_4= RULE_ID ) ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_pageBreak_5_0= rulePageBreak ) ) ) ) ) )* ) ) ) (otherlv_6= '{' ( (lv_rows_7_0= ruleGridRow ) )* otherlv_8= '}' )? )
+            // InternalReportDSL.g:5702:3: () otherlv_1= 'header' ( ( ( ( ({...}? => ( ({...}? => (otherlv_3= 'style' ( (otherlv_4= RULE_ID ) ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_pageBreak_5_0= rulePageBreak ) ) ) ) ) )* ) ) ) (otherlv_6= '{' ( (lv_rows_7_0= ruleGridRow ) )* otherlv_8= '}' )?
             {
-            // InternalReportDSL.g:5469:3: ()
-            // InternalReportDSL.g:5470:4: 
+            // InternalReportDSL.g:5702:3: ()
+            // InternalReportDSL.g:5703:4: 
             {
             if ( state.backtracking==0 ) {
 
               				current = forceCreateModelElement(
-              					grammarAccess.getDatamartTableGroupHeaderAccess().getDatamartTableGroupHeaderAction_0(),
+              					grammarAccess.getDatamartTableHeaderAccess().getDatamartTableHeaderAction_0(),
               					current);
               			
             }
 
             }
 
-            otherlv_1=(Token)match(input,77,FOLLOW_96); if (state.failed) return current;
+            otherlv_1=(Token)match(input,78,FOLLOW_88); if (state.failed) return current;
             if ( state.backtracking==0 ) {
 
-              			newLeafNode(otherlv_1, grammarAccess.getDatamartTableGroupHeaderAccess().getHeaderKeyword_1());
+              			newLeafNode(otherlv_1, grammarAccess.getDatamartTableHeaderAccess().getHeaderKeyword_1());
               		
             }
-            // InternalReportDSL.g:5480:3: (otherlv_2= 'style' ( (otherlv_3= RULE_ID ) ) )?
-            int alt71=2;
-            int LA71_0 = input.LA(1);
-
-            if ( (LA71_0==43) ) {
-                alt71=1;
-            }
-            switch (alt71) {
-                case 1 :
-                    // InternalReportDSL.g:5481:4: otherlv_2= 'style' ( (otherlv_3= RULE_ID ) )
-                    {
-                    otherlv_2=(Token)match(input,43,FOLLOW_4); if (state.failed) return current;
-                    if ( state.backtracking==0 ) {
-
-                      				newLeafNode(otherlv_2, grammarAccess.getDatamartTableGroupHeaderAccess().getStyleKeyword_2_0());
-                      			
-                    }
-                    // InternalReportDSL.g:5485:4: ( (otherlv_3= RULE_ID ) )
-                    // InternalReportDSL.g:5486:5: (otherlv_3= RULE_ID )
-                    {
-                    // InternalReportDSL.g:5486:5: (otherlv_3= RULE_ID )
-                    // InternalReportDSL.g:5487:6: otherlv_3= RULE_ID
-                    {
-                    if ( state.backtracking==0 ) {
-
-                      						if (current==null) {
-                      							current = createModelElement(grammarAccess.getDatamartTableGroupHeaderRule());
-                      						}
-                      					
-                    }
-                    otherlv_3=(Token)match(input,RULE_ID,FOLLOW_87); if (state.failed) return current;
-                    if ( state.backtracking==0 ) {
-
-                      						newLeafNode(otherlv_3, grammarAccess.getDatamartTableGroupHeaderAccess().getStyleStyleCrossReference_2_1_0());
-                      					
-                    }
-
-                    }
-
-
-                    }
-
-
-                    }
-                    break;
-
-            }
-
-            // InternalReportDSL.g:5499:3: ( (lv_pageBreak_4_0= rulePageBreak ) )?
-            int alt72=2;
-            int LA72_0 = input.LA(1);
-
-            if ( (LA72_0==108) ) {
-                alt72=1;
-            }
-            switch (alt72) {
-                case 1 :
-                    // InternalReportDSL.g:5500:4: (lv_pageBreak_4_0= rulePageBreak )
-                    {
-                    // InternalReportDSL.g:5500:4: (lv_pageBreak_4_0= rulePageBreak )
-                    // InternalReportDSL.g:5501:5: lv_pageBreak_4_0= rulePageBreak
-                    {
-                    if ( state.backtracking==0 ) {
-
-                      					newCompositeNode(grammarAccess.getDatamartTableGroupHeaderAccess().getPageBreakPageBreakParserRuleCall_3_0());
-                      				
-                    }
-                    pushFollow(FOLLOW_5);
-                    lv_pageBreak_4_0=rulePageBreak();
-
-                    state._fsp--;
-                    if (state.failed) return current;
-                    if ( state.backtracking==0 ) {
-
-                      					if (current==null) {
-                      						current = createModelElementForParent(grammarAccess.getDatamartTableGroupHeaderRule());
-                      					}
-                      					set(
-                      						current,
-                      						"pageBreak",
-                      						lv_pageBreak_4_0,
-                      						"org.eclipse.osbp.xtext.reportdsl.ReportDSL.PageBreak");
-                      					afterParserOrEnumRuleCall();
-                      				
-                    }
-
-                    }
-
-
-                    }
-                    break;
-
-            }
-
-            otherlv_5=(Token)match(input,14,FOLLOW_76); if (state.failed) return current;
-            if ( state.backtracking==0 ) {
-
-              			newLeafNode(otherlv_5, grammarAccess.getDatamartTableGroupHeaderAccess().getLeftCurlyBracketKeyword_4());
-              		
-            }
-            // InternalReportDSL.g:5522:3: ( (lv_rows_6_0= ruleGridRow ) )*
-            loop73:
+            // InternalReportDSL.g:5713:3: ( ( ( ( ({...}? => ( ({...}? => (otherlv_3= 'style' ( (otherlv_4= RULE_ID ) ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_pageBreak_5_0= rulePageBreak ) ) ) ) ) )* ) ) )
+            // InternalReportDSL.g:5714:4: ( ( ( ({...}? => ( ({...}? => (otherlv_3= 'style' ( (otherlv_4= RULE_ID ) ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_pageBreak_5_0= rulePageBreak ) ) ) ) ) )* ) )
+            {
+            // InternalReportDSL.g:5714:4: ( ( ( ({...}? => ( ({...}? => (otherlv_3= 'style' ( (otherlv_4= RULE_ID ) ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_pageBreak_5_0= rulePageBreak ) ) ) ) ) )* ) )
+            // InternalReportDSL.g:5715:5: ( ( ({...}? => ( ({...}? => (otherlv_3= 'style' ( (otherlv_4= RULE_ID ) ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_pageBreak_5_0= rulePageBreak ) ) ) ) ) )* )
+            {
+            getUnorderedGroupHelper().enter(grammarAccess.getDatamartTableHeaderAccess().getUnorderedGroup_2());
+            // InternalReportDSL.g:5718:5: ( ( ({...}? => ( ({...}? => (otherlv_3= 'style' ( (otherlv_4= RULE_ID ) ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_pageBreak_5_0= rulePageBreak ) ) ) ) ) )* )
+            // InternalReportDSL.g:5719:6: ( ({...}? => ( ({...}? => (otherlv_3= 'style' ( (otherlv_4= RULE_ID ) ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_pageBreak_5_0= rulePageBreak ) ) ) ) ) )*
+            {
+            // InternalReportDSL.g:5719:6: ( ({...}? => ( ({...}? => (otherlv_3= 'style' ( (otherlv_4= RULE_ID ) ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_pageBreak_5_0= rulePageBreak ) ) ) ) ) )*
+            loop59:
             do {
-                int alt73=2;
-                int LA73_0 = input.LA(1);
+                int alt59=3;
+                int LA59_0 = input.LA(1);
 
-                if ( (LA73_0==86) ) {
-                    alt73=1;
+                if ( LA59_0 == 43 && getUnorderedGroupHelper().canSelect(grammarAccess.getDatamartTableHeaderAccess().getUnorderedGroup_2(), 0) ) {
+                    alt59=1;
+                }
+                else if ( LA59_0 == 107 && getUnorderedGroupHelper().canSelect(grammarAccess.getDatamartTableHeaderAccess().getUnorderedGroup_2(), 1) ) {
+                    alt59=2;
                 }
 
 
-                switch (alt73) {
+                switch (alt59) {
             	case 1 :
-            	    // InternalReportDSL.g:5523:4: (lv_rows_6_0= ruleGridRow )
+            	    // InternalReportDSL.g:5720:4: ({...}? => ( ({...}? => (otherlv_3= 'style' ( (otherlv_4= RULE_ID ) ) ) ) ) )
             	    {
-            	    // InternalReportDSL.g:5523:4: (lv_rows_6_0= ruleGridRow )
-            	    // InternalReportDSL.g:5524:5: lv_rows_6_0= ruleGridRow
+            	    // InternalReportDSL.g:5720:4: ({...}? => ( ({...}? => (otherlv_3= 'style' ( (otherlv_4= RULE_ID ) ) ) ) ) )
+            	    // InternalReportDSL.g:5721:5: {...}? => ( ({...}? => (otherlv_3= 'style' ( (otherlv_4= RULE_ID ) ) ) ) )
+            	    {
+            	    if ( ! getUnorderedGroupHelper().canSelect(grammarAccess.getDatamartTableHeaderAccess().getUnorderedGroup_2(), 0) ) {
+            	        if (state.backtracking>0) {state.failed=true; return current;}
+            	        throw new FailedPredicateException(input, "ruleDatamartTableHeader", "getUnorderedGroupHelper().canSelect(grammarAccess.getDatamartTableHeaderAccess().getUnorderedGroup_2(), 0)");
+            	    }
+            	    // InternalReportDSL.g:5721:116: ( ({...}? => (otherlv_3= 'style' ( (otherlv_4= RULE_ID ) ) ) ) )
+            	    // InternalReportDSL.g:5722:6: ({...}? => (otherlv_3= 'style' ( (otherlv_4= RULE_ID ) ) ) )
+            	    {
+            	    getUnorderedGroupHelper().select(grammarAccess.getDatamartTableHeaderAccess().getUnorderedGroup_2(), 0);
+            	    // InternalReportDSL.g:5725:9: ({...}? => (otherlv_3= 'style' ( (otherlv_4= RULE_ID ) ) ) )
+            	    // InternalReportDSL.g:5725:10: {...}? => (otherlv_3= 'style' ( (otherlv_4= RULE_ID ) ) )
+            	    {
+            	    if ( !((true)) ) {
+            	        if (state.backtracking>0) {state.failed=true; return current;}
+            	        throw new FailedPredicateException(input, "ruleDatamartTableHeader", "true");
+            	    }
+            	    // InternalReportDSL.g:5725:19: (otherlv_3= 'style' ( (otherlv_4= RULE_ID ) ) )
+            	    // InternalReportDSL.g:5725:20: otherlv_3= 'style' ( (otherlv_4= RULE_ID ) )
+            	    {
+            	    otherlv_3=(Token)match(input,43,FOLLOW_4); if (state.failed) return current;
+            	    if ( state.backtracking==0 ) {
+
+            	      									newLeafNode(otherlv_3, grammarAccess.getDatamartTableHeaderAccess().getStyleKeyword_2_0_0());
+            	      								
+            	    }
+            	    // InternalReportDSL.g:5729:9: ( (otherlv_4= RULE_ID ) )
+            	    // InternalReportDSL.g:5730:10: (otherlv_4= RULE_ID )
+            	    {
+            	    // InternalReportDSL.g:5730:10: (otherlv_4= RULE_ID )
+            	    // InternalReportDSL.g:5731:11: otherlv_4= RULE_ID
             	    {
             	    if ( state.backtracking==0 ) {
 
-            	      					newCompositeNode(grammarAccess.getDatamartTableGroupHeaderAccess().getRowsGridRowParserRuleCall_5_0());
-            	      				
+            	      											if (current==null) {
+            	      												current = createModelElement(grammarAccess.getDatamartTableHeaderRule());
+            	      											}
+            	      										
             	    }
-            	    pushFollow(FOLLOW_76);
-            	    lv_rows_6_0=ruleGridRow();
+            	    otherlv_4=(Token)match(input,RULE_ID,FOLLOW_88); if (state.failed) return current;
+            	    if ( state.backtracking==0 ) {
+
+            	      											newLeafNode(otherlv_4, grammarAccess.getDatamartTableHeaderAccess().getStyleStyleCrossReference_2_0_1_0());
+            	      										
+            	    }
+
+            	    }
+
+
+            	    }
+
+
+            	    }
+
+
+            	    }
+
+            	    getUnorderedGroupHelper().returnFromSelection(grammarAccess.getDatamartTableHeaderAccess().getUnorderedGroup_2());
+
+            	    }
+
+
+            	    }
+
+
+            	    }
+            	    break;
+            	case 2 :
+            	    // InternalReportDSL.g:5748:4: ({...}? => ( ({...}? => ( (lv_pageBreak_5_0= rulePageBreak ) ) ) ) )
+            	    {
+            	    // InternalReportDSL.g:5748:4: ({...}? => ( ({...}? => ( (lv_pageBreak_5_0= rulePageBreak ) ) ) ) )
+            	    // InternalReportDSL.g:5749:5: {...}? => ( ({...}? => ( (lv_pageBreak_5_0= rulePageBreak ) ) ) )
+            	    {
+            	    if ( ! getUnorderedGroupHelper().canSelect(grammarAccess.getDatamartTableHeaderAccess().getUnorderedGroup_2(), 1) ) {
+            	        if (state.backtracking>0) {state.failed=true; return current;}
+            	        throw new FailedPredicateException(input, "ruleDatamartTableHeader", "getUnorderedGroupHelper().canSelect(grammarAccess.getDatamartTableHeaderAccess().getUnorderedGroup_2(), 1)");
+            	    }
+            	    // InternalReportDSL.g:5749:116: ( ({...}? => ( (lv_pageBreak_5_0= rulePageBreak ) ) ) )
+            	    // InternalReportDSL.g:5750:6: ({...}? => ( (lv_pageBreak_5_0= rulePageBreak ) ) )
+            	    {
+            	    getUnorderedGroupHelper().select(grammarAccess.getDatamartTableHeaderAccess().getUnorderedGroup_2(), 1);
+            	    // InternalReportDSL.g:5753:9: ({...}? => ( (lv_pageBreak_5_0= rulePageBreak ) ) )
+            	    // InternalReportDSL.g:5753:10: {...}? => ( (lv_pageBreak_5_0= rulePageBreak ) )
+            	    {
+            	    if ( !((true)) ) {
+            	        if (state.backtracking>0) {state.failed=true; return current;}
+            	        throw new FailedPredicateException(input, "ruleDatamartTableHeader", "true");
+            	    }
+            	    // InternalReportDSL.g:5753:19: ( (lv_pageBreak_5_0= rulePageBreak ) )
+            	    // InternalReportDSL.g:5753:20: (lv_pageBreak_5_0= rulePageBreak )
+            	    {
+            	    // InternalReportDSL.g:5753:20: (lv_pageBreak_5_0= rulePageBreak )
+            	    // InternalReportDSL.g:5754:10: lv_pageBreak_5_0= rulePageBreak
+            	    {
+            	    if ( state.backtracking==0 ) {
+
+            	      										newCompositeNode(grammarAccess.getDatamartTableHeaderAccess().getPageBreakPageBreakParserRuleCall_2_1_0());
+            	      									
+            	    }
+            	    pushFollow(FOLLOW_88);
+            	    lv_pageBreak_5_0=rulePageBreak();
 
             	    state._fsp--;
             	    if (state.failed) return current;
             	    if ( state.backtracking==0 ) {
 
-            	      					if (current==null) {
-            	      						current = createModelElementForParent(grammarAccess.getDatamartTableGroupHeaderRule());
-            	      					}
-            	      					add(
-            	      						current,
-            	      						"rows",
-            	      						lv_rows_6_0,
-            	      						"org.eclipse.osbp.xtext.reportdsl.ReportDSL.GridRow");
-            	      					afterParserOrEnumRuleCall();
-            	      				
+            	      										if (current==null) {
+            	      											current = createModelElementForParent(grammarAccess.getDatamartTableHeaderRule());
+            	      										}
+            	      										set(
+            	      											current,
+            	      											"pageBreak",
+            	      											lv_pageBreak_5_0,
+            	      											"org.eclipse.osbp.xtext.reportdsl.ReportDSL.PageBreak");
+            	      										afterParserOrEnumRuleCall();
+            	      									
             	    }
 
             	    }
 
 
             	    }
+
+
+            	    }
+
+            	    getUnorderedGroupHelper().returnFromSelection(grammarAccess.getDatamartTableHeaderAccess().getUnorderedGroup_2());
+
+            	    }
+
+
+            	    }
+
+
+            	    }
             	    break;
 
             	default :
-            	    break loop73;
+            	    break loop59;
                 }
             } while (true);
 
-            otherlv_7=(Token)match(input,18,FOLLOW_2); if (state.failed) return current;
-            if ( state.backtracking==0 ) {
 
-              			newLeafNode(otherlv_7, grammarAccess.getDatamartTableGroupHeaderAccess().getRightCurlyBracketKeyword_6());
-              		
             }
 
+
+            }
+
+            getUnorderedGroupHelper().leave(grammarAccess.getDatamartTableHeaderAccess().getUnorderedGroup_2());
+
+            }
+
+            // InternalReportDSL.g:5783:3: (otherlv_6= '{' ( (lv_rows_7_0= ruleGridRow ) )* otherlv_8= '}' )?
+            int alt61=2;
+            int LA61_0 = input.LA(1);
+
+            if ( (LA61_0==14) ) {
+                alt61=1;
+            }
+            switch (alt61) {
+                case 1 :
+                    // InternalReportDSL.g:5784:4: otherlv_6= '{' ( (lv_rows_7_0= ruleGridRow ) )* otherlv_8= '}'
+                    {
+                    otherlv_6=(Token)match(input,14,FOLLOW_77); if (state.failed) return current;
+                    if ( state.backtracking==0 ) {
+
+                      				newLeafNode(otherlv_6, grammarAccess.getDatamartTableHeaderAccess().getLeftCurlyBracketKeyword_3_0());
+                      			
+                    }
+                    // InternalReportDSL.g:5788:4: ( (lv_rows_7_0= ruleGridRow ) )*
+                    loop60:
+                    do {
+                        int alt60=2;
+                        int LA60_0 = input.LA(1);
+
+                        if ( (LA60_0==87) ) {
+                            alt60=1;
+                        }
+
+
+                        switch (alt60) {
+                    	case 1 :
+                    	    // InternalReportDSL.g:5789:5: (lv_rows_7_0= ruleGridRow )
+                    	    {
+                    	    // InternalReportDSL.g:5789:5: (lv_rows_7_0= ruleGridRow )
+                    	    // InternalReportDSL.g:5790:6: lv_rows_7_0= ruleGridRow
+                    	    {
+                    	    if ( state.backtracking==0 ) {
+
+                    	      						newCompositeNode(grammarAccess.getDatamartTableHeaderAccess().getRowsGridRowParserRuleCall_3_1_0());
+                    	      					
+                    	    }
+                    	    pushFollow(FOLLOW_77);
+                    	    lv_rows_7_0=ruleGridRow();
+
+                    	    state._fsp--;
+                    	    if (state.failed) return current;
+                    	    if ( state.backtracking==0 ) {
+
+                    	      						if (current==null) {
+                    	      							current = createModelElementForParent(grammarAccess.getDatamartTableHeaderRule());
+                    	      						}
+                    	      						add(
+                    	      							current,
+                    	      							"rows",
+                    	      							lv_rows_7_0,
+                    	      							"org.eclipse.osbp.xtext.reportdsl.ReportDSL.GridRow");
+                    	      						afterParserOrEnumRuleCall();
+                    	      					
+                    	    }
+
+                    	    }
+
+
+                    	    }
+                    	    break;
+
+                    	default :
+                    	    break loop60;
+                        }
+                    } while (true);
+
+                    otherlv_8=(Token)match(input,18,FOLLOW_2); if (state.failed) return current;
+                    if ( state.backtracking==0 ) {
+
+                      				newLeafNode(otherlv_8, grammarAccess.getDatamartTableHeaderAccess().getRightCurlyBracketKeyword_3_2());
+                      			
+                    }
+
+                    }
+                    break;
+
+            }
+
+
             }
 
 
@@ -14385,31 +15113,31 @@
         }
         return current;
     }
-    // $ANTLR end "ruleDatamartTableGroupHeader"
+    // $ANTLR end "ruleDatamartTableHeader"
 
 
-    // $ANTLR start "entryRuleDatamartTableGroupFooter"
-    // InternalReportDSL.g:5549:1: entryRuleDatamartTableGroupFooter returns [EObject current=null] : iv_ruleDatamartTableGroupFooter= ruleDatamartTableGroupFooter EOF ;
-    public final EObject entryRuleDatamartTableGroupFooter() throws RecognitionException {
+    // $ANTLR start "entryRuleDatamartTableFooter"
+    // InternalReportDSL.g:5816:1: entryRuleDatamartTableFooter returns [EObject current=null] : iv_ruleDatamartTableFooter= ruleDatamartTableFooter EOF ;
+    public final EObject entryRuleDatamartTableFooter() throws RecognitionException {
         EObject current = null;
 
-        EObject iv_ruleDatamartTableGroupFooter = null;
+        EObject iv_ruleDatamartTableFooter = null;
 
 
         try {
-            // InternalReportDSL.g:5549:65: (iv_ruleDatamartTableGroupFooter= ruleDatamartTableGroupFooter EOF )
-            // InternalReportDSL.g:5550:2: iv_ruleDatamartTableGroupFooter= ruleDatamartTableGroupFooter EOF
+            // InternalReportDSL.g:5816:60: (iv_ruleDatamartTableFooter= ruleDatamartTableFooter EOF )
+            // InternalReportDSL.g:5817:2: iv_ruleDatamartTableFooter= ruleDatamartTableFooter EOF
             {
             if ( state.backtracking==0 ) {
-               newCompositeNode(grammarAccess.getDatamartTableGroupFooterRule()); 
+               newCompositeNode(grammarAccess.getDatamartTableFooterRule()); 
             }
             pushFollow(FOLLOW_1);
-            iv_ruleDatamartTableGroupFooter=ruleDatamartTableGroupFooter();
+            iv_ruleDatamartTableFooter=ruleDatamartTableFooter();
 
             state._fsp--;
             if (state.failed) return current;
             if ( state.backtracking==0 ) {
-               current =iv_ruleDatamartTableGroupFooter; 
+               current =iv_ruleDatamartTableFooter; 
             }
             match(input,EOF,FOLLOW_2); if (state.failed) return current;
 
@@ -14425,213 +15153,317 @@
         }
         return current;
     }
-    // $ANTLR end "entryRuleDatamartTableGroupFooter"
+    // $ANTLR end "entryRuleDatamartTableFooter"
 
 
-    // $ANTLR start "ruleDatamartTableGroupFooter"
-    // InternalReportDSL.g:5556:1: ruleDatamartTableGroupFooter returns [EObject current=null] : ( () otherlv_1= 'footer' (otherlv_2= 'style' ( (otherlv_3= RULE_ID ) ) )? ( (lv_pageBreak_4_0= rulePageBreak ) )? otherlv_5= '{' ( (lv_rows_6_0= ruleGridRow ) )* otherlv_7= '}' ) ;
-    public final EObject ruleDatamartTableGroupFooter() throws RecognitionException {
+    // $ANTLR start "ruleDatamartTableFooter"
+    // InternalReportDSL.g:5823:1: ruleDatamartTableFooter returns [EObject current=null] : ( () otherlv_1= 'footer' ( ( ( ( ({...}? => ( ({...}? => (otherlv_3= 'style' ( (otherlv_4= RULE_ID ) ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_pageBreak_5_0= rulePageBreak ) ) ) ) ) )* ) ) ) (otherlv_6= '{' ( (lv_rows_7_0= ruleGridRow ) )* otherlv_8= '}' )? ) ;
+    public final EObject ruleDatamartTableFooter() throws RecognitionException {
         EObject current = null;
 
         Token otherlv_1=null;
-        Token otherlv_2=null;
         Token otherlv_3=null;
-        Token otherlv_5=null;
-        Token otherlv_7=null;
-        EObject lv_pageBreak_4_0 = null;
+        Token otherlv_4=null;
+        Token otherlv_6=null;
+        Token otherlv_8=null;
+        EObject lv_pageBreak_5_0 = null;
 
-        EObject lv_rows_6_0 = null;
+        EObject lv_rows_7_0 = null;
 
 
 
         	enterRule();
 
         try {
-            // InternalReportDSL.g:5562:2: ( ( () otherlv_1= 'footer' (otherlv_2= 'style' ( (otherlv_3= RULE_ID ) ) )? ( (lv_pageBreak_4_0= rulePageBreak ) )? otherlv_5= '{' ( (lv_rows_6_0= ruleGridRow ) )* otherlv_7= '}' ) )
-            // InternalReportDSL.g:5563:2: ( () otherlv_1= 'footer' (otherlv_2= 'style' ( (otherlv_3= RULE_ID ) ) )? ( (lv_pageBreak_4_0= rulePageBreak ) )? otherlv_5= '{' ( (lv_rows_6_0= ruleGridRow ) )* otherlv_7= '}' )
+            // InternalReportDSL.g:5829:2: ( ( () otherlv_1= 'footer' ( ( ( ( ({...}? => ( ({...}? => (otherlv_3= 'style' ( (otherlv_4= RULE_ID ) ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_pageBreak_5_0= rulePageBreak ) ) ) ) ) )* ) ) ) (otherlv_6= '{' ( (lv_rows_7_0= ruleGridRow ) )* otherlv_8= '}' )? ) )
+            // InternalReportDSL.g:5830:2: ( () otherlv_1= 'footer' ( ( ( ( ({...}? => ( ({...}? => (otherlv_3= 'style' ( (otherlv_4= RULE_ID ) ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_pageBreak_5_0= rulePageBreak ) ) ) ) ) )* ) ) ) (otherlv_6= '{' ( (lv_rows_7_0= ruleGridRow ) )* otherlv_8= '}' )? )
             {
-            // InternalReportDSL.g:5563:2: ( () otherlv_1= 'footer' (otherlv_2= 'style' ( (otherlv_3= RULE_ID ) ) )? ( (lv_pageBreak_4_0= rulePageBreak ) )? otherlv_5= '{' ( (lv_rows_6_0= ruleGridRow ) )* otherlv_7= '}' )
-            // InternalReportDSL.g:5564:3: () otherlv_1= 'footer' (otherlv_2= 'style' ( (otherlv_3= RULE_ID ) ) )? ( (lv_pageBreak_4_0= rulePageBreak ) )? otherlv_5= '{' ( (lv_rows_6_0= ruleGridRow ) )* otherlv_7= '}'
+            // InternalReportDSL.g:5830:2: ( () otherlv_1= 'footer' ( ( ( ( ({...}? => ( ({...}? => (otherlv_3= 'style' ( (otherlv_4= RULE_ID ) ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_pageBreak_5_0= rulePageBreak ) ) ) ) ) )* ) ) ) (otherlv_6= '{' ( (lv_rows_7_0= ruleGridRow ) )* otherlv_8= '}' )? )
+            // InternalReportDSL.g:5831:3: () otherlv_1= 'footer' ( ( ( ( ({...}? => ( ({...}? => (otherlv_3= 'style' ( (otherlv_4= RULE_ID ) ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_pageBreak_5_0= rulePageBreak ) ) ) ) ) )* ) ) ) (otherlv_6= '{' ( (lv_rows_7_0= ruleGridRow ) )* otherlv_8= '}' )?
             {
-            // InternalReportDSL.g:5564:3: ()
-            // InternalReportDSL.g:5565:4: 
+            // InternalReportDSL.g:5831:3: ()
+            // InternalReportDSL.g:5832:4: 
             {
             if ( state.backtracking==0 ) {
 
               				current = forceCreateModelElement(
-              					grammarAccess.getDatamartTableGroupFooterAccess().getDatamartTableGroupFooterAction_0(),
+              					grammarAccess.getDatamartTableFooterAccess().getDatamartTableFooterAction_0(),
               					current);
               			
             }
 
             }
 
-            otherlv_1=(Token)match(input,81,FOLLOW_96); if (state.failed) return current;
+            otherlv_1=(Token)match(input,82,FOLLOW_88); if (state.failed) return current;
             if ( state.backtracking==0 ) {
 
-              			newLeafNode(otherlv_1, grammarAccess.getDatamartTableGroupFooterAccess().getFooterKeyword_1());
+              			newLeafNode(otherlv_1, grammarAccess.getDatamartTableFooterAccess().getFooterKeyword_1());
               		
             }
-            // InternalReportDSL.g:5575:3: (otherlv_2= 'style' ( (otherlv_3= RULE_ID ) ) )?
-            int alt74=2;
-            int LA74_0 = input.LA(1);
-
-            if ( (LA74_0==43) ) {
-                alt74=1;
-            }
-            switch (alt74) {
-                case 1 :
-                    // InternalReportDSL.g:5576:4: otherlv_2= 'style' ( (otherlv_3= RULE_ID ) )
-                    {
-                    otherlv_2=(Token)match(input,43,FOLLOW_4); if (state.failed) return current;
-                    if ( state.backtracking==0 ) {
-
-                      				newLeafNode(otherlv_2, grammarAccess.getDatamartTableGroupFooterAccess().getStyleKeyword_2_0());
-                      			
-                    }
-                    // InternalReportDSL.g:5580:4: ( (otherlv_3= RULE_ID ) )
-                    // InternalReportDSL.g:5581:5: (otherlv_3= RULE_ID )
-                    {
-                    // InternalReportDSL.g:5581:5: (otherlv_3= RULE_ID )
-                    // InternalReportDSL.g:5582:6: otherlv_3= RULE_ID
-                    {
-                    if ( state.backtracking==0 ) {
-
-                      						if (current==null) {
-                      							current = createModelElement(grammarAccess.getDatamartTableGroupFooterRule());
-                      						}
-                      					
-                    }
-                    otherlv_3=(Token)match(input,RULE_ID,FOLLOW_87); if (state.failed) return current;
-                    if ( state.backtracking==0 ) {
-
-                      						newLeafNode(otherlv_3, grammarAccess.getDatamartTableGroupFooterAccess().getStyleStyleCrossReference_2_1_0());
-                      					
-                    }
-
-                    }
-
-
-                    }
-
-
-                    }
-                    break;
-
-            }
-
-            // InternalReportDSL.g:5594:3: ( (lv_pageBreak_4_0= rulePageBreak ) )?
-            int alt75=2;
-            int LA75_0 = input.LA(1);
-
-            if ( (LA75_0==108) ) {
-                alt75=1;
-            }
-            switch (alt75) {
-                case 1 :
-                    // InternalReportDSL.g:5595:4: (lv_pageBreak_4_0= rulePageBreak )
-                    {
-                    // InternalReportDSL.g:5595:4: (lv_pageBreak_4_0= rulePageBreak )
-                    // InternalReportDSL.g:5596:5: lv_pageBreak_4_0= rulePageBreak
-                    {
-                    if ( state.backtracking==0 ) {
-
-                      					newCompositeNode(grammarAccess.getDatamartTableGroupFooterAccess().getPageBreakPageBreakParserRuleCall_3_0());
-                      				
-                    }
-                    pushFollow(FOLLOW_5);
-                    lv_pageBreak_4_0=rulePageBreak();
-
-                    state._fsp--;
-                    if (state.failed) return current;
-                    if ( state.backtracking==0 ) {
-
-                      					if (current==null) {
-                      						current = createModelElementForParent(grammarAccess.getDatamartTableGroupFooterRule());
-                      					}
-                      					set(
-                      						current,
-                      						"pageBreak",
-                      						lv_pageBreak_4_0,
-                      						"org.eclipse.osbp.xtext.reportdsl.ReportDSL.PageBreak");
-                      					afterParserOrEnumRuleCall();
-                      				
-                    }
-
-                    }
-
-
-                    }
-                    break;
-
-            }
-
-            otherlv_5=(Token)match(input,14,FOLLOW_76); if (state.failed) return current;
-            if ( state.backtracking==0 ) {
-
-              			newLeafNode(otherlv_5, grammarAccess.getDatamartTableGroupFooterAccess().getLeftCurlyBracketKeyword_4());
-              		
-            }
-            // InternalReportDSL.g:5617:3: ( (lv_rows_6_0= ruleGridRow ) )*
-            loop76:
+            // InternalReportDSL.g:5842:3: ( ( ( ( ({...}? => ( ({...}? => (otherlv_3= 'style' ( (otherlv_4= RULE_ID ) ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_pageBreak_5_0= rulePageBreak ) ) ) ) ) )* ) ) )
+            // InternalReportDSL.g:5843:4: ( ( ( ({...}? => ( ({...}? => (otherlv_3= 'style' ( (otherlv_4= RULE_ID ) ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_pageBreak_5_0= rulePageBreak ) ) ) ) ) )* ) )
+            {
+            // InternalReportDSL.g:5843:4: ( ( ( ({...}? => ( ({...}? => (otherlv_3= 'style' ( (otherlv_4= RULE_ID ) ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_pageBreak_5_0= rulePageBreak ) ) ) ) ) )* ) )
+            // InternalReportDSL.g:5844:5: ( ( ({...}? => ( ({...}? => (otherlv_3= 'style' ( (otherlv_4= RULE_ID ) ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_pageBreak_5_0= rulePageBreak ) ) ) ) ) )* )
+            {
+            getUnorderedGroupHelper().enter(grammarAccess.getDatamartTableFooterAccess().getUnorderedGroup_2());
+            // InternalReportDSL.g:5847:5: ( ( ({...}? => ( ({...}? => (otherlv_3= 'style' ( (otherlv_4= RULE_ID ) ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_pageBreak_5_0= rulePageBreak ) ) ) ) ) )* )
+            // InternalReportDSL.g:5848:6: ( ({...}? => ( ({...}? => (otherlv_3= 'style' ( (otherlv_4= RULE_ID ) ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_pageBreak_5_0= rulePageBreak ) ) ) ) ) )*
+            {
+            // InternalReportDSL.g:5848:6: ( ({...}? => ( ({...}? => (otherlv_3= 'style' ( (otherlv_4= RULE_ID ) ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_pageBreak_5_0= rulePageBreak ) ) ) ) ) )*
+            loop62:
             do {
-                int alt76=2;
-                int LA76_0 = input.LA(1);
+                int alt62=3;
+                int LA62_0 = input.LA(1);
 
-                if ( (LA76_0==86) ) {
-                    alt76=1;
+                if ( LA62_0 == 43 && getUnorderedGroupHelper().canSelect(grammarAccess.getDatamartTableFooterAccess().getUnorderedGroup_2(), 0) ) {
+                    alt62=1;
+                }
+                else if ( LA62_0 == 107 && getUnorderedGroupHelper().canSelect(grammarAccess.getDatamartTableFooterAccess().getUnorderedGroup_2(), 1) ) {
+                    alt62=2;
                 }
 
 
-                switch (alt76) {
+                switch (alt62) {
             	case 1 :
-            	    // InternalReportDSL.g:5618:4: (lv_rows_6_0= ruleGridRow )
+            	    // InternalReportDSL.g:5849:4: ({...}? => ( ({...}? => (otherlv_3= 'style' ( (otherlv_4= RULE_ID ) ) ) ) ) )
             	    {
-            	    // InternalReportDSL.g:5618:4: (lv_rows_6_0= ruleGridRow )
-            	    // InternalReportDSL.g:5619:5: lv_rows_6_0= ruleGridRow
+            	    // InternalReportDSL.g:5849:4: ({...}? => ( ({...}? => (otherlv_3= 'style' ( (otherlv_4= RULE_ID ) ) ) ) ) )
+            	    // InternalReportDSL.g:5850:5: {...}? => ( ({...}? => (otherlv_3= 'style' ( (otherlv_4= RULE_ID ) ) ) ) )
+            	    {
+            	    if ( ! getUnorderedGroupHelper().canSelect(grammarAccess.getDatamartTableFooterAccess().getUnorderedGroup_2(), 0) ) {
+            	        if (state.backtracking>0) {state.failed=true; return current;}
+            	        throw new FailedPredicateException(input, "ruleDatamartTableFooter", "getUnorderedGroupHelper().canSelect(grammarAccess.getDatamartTableFooterAccess().getUnorderedGroup_2(), 0)");
+            	    }
+            	    // InternalReportDSL.g:5850:116: ( ({...}? => (otherlv_3= 'style' ( (otherlv_4= RULE_ID ) ) ) ) )
+            	    // InternalReportDSL.g:5851:6: ({...}? => (otherlv_3= 'style' ( (otherlv_4= RULE_ID ) ) ) )
+            	    {
+            	    getUnorderedGroupHelper().select(grammarAccess.getDatamartTableFooterAccess().getUnorderedGroup_2(), 0);
+            	    // InternalReportDSL.g:5854:9: ({...}? => (otherlv_3= 'style' ( (otherlv_4= RULE_ID ) ) ) )
+            	    // InternalReportDSL.g:5854:10: {...}? => (otherlv_3= 'style' ( (otherlv_4= RULE_ID ) ) )
+            	    {
+            	    if ( !((true)) ) {
+            	        if (state.backtracking>0) {state.failed=true; return current;}
+            	        throw new FailedPredicateException(input, "ruleDatamartTableFooter", "true");
+            	    }
+            	    // InternalReportDSL.g:5854:19: (otherlv_3= 'style' ( (otherlv_4= RULE_ID ) ) )
+            	    // InternalReportDSL.g:5854:20: otherlv_3= 'style' ( (otherlv_4= RULE_ID ) )
+            	    {
+            	    otherlv_3=(Token)match(input,43,FOLLOW_4); if (state.failed) return current;
+            	    if ( state.backtracking==0 ) {
+
+            	      									newLeafNode(otherlv_3, grammarAccess.getDatamartTableFooterAccess().getStyleKeyword_2_0_0());
+            	      								
+            	    }
+            	    // InternalReportDSL.g:5858:9: ( (otherlv_4= RULE_ID ) )
+            	    // InternalReportDSL.g:5859:10: (otherlv_4= RULE_ID )
+            	    {
+            	    // InternalReportDSL.g:5859:10: (otherlv_4= RULE_ID )
+            	    // InternalReportDSL.g:5860:11: otherlv_4= RULE_ID
             	    {
             	    if ( state.backtracking==0 ) {
 
-            	      					newCompositeNode(grammarAccess.getDatamartTableGroupFooterAccess().getRowsGridRowParserRuleCall_5_0());
-            	      				
+            	      											if (current==null) {
+            	      												current = createModelElement(grammarAccess.getDatamartTableFooterRule());
+            	      											}
+            	      										
             	    }
-            	    pushFollow(FOLLOW_76);
-            	    lv_rows_6_0=ruleGridRow();
+            	    otherlv_4=(Token)match(input,RULE_ID,FOLLOW_88); if (state.failed) return current;
+            	    if ( state.backtracking==0 ) {
+
+            	      											newLeafNode(otherlv_4, grammarAccess.getDatamartTableFooterAccess().getStyleStyleCrossReference_2_0_1_0());
+            	      										
+            	    }
+
+            	    }
+
+
+            	    }
+
+
+            	    }
+
+
+            	    }
+
+            	    getUnorderedGroupHelper().returnFromSelection(grammarAccess.getDatamartTableFooterAccess().getUnorderedGroup_2());
+
+            	    }
+
+
+            	    }
+
+
+            	    }
+            	    break;
+            	case 2 :
+            	    // InternalReportDSL.g:5877:4: ({...}? => ( ({...}? => ( (lv_pageBreak_5_0= rulePageBreak ) ) ) ) )
+            	    {
+            	    // InternalReportDSL.g:5877:4: ({...}? => ( ({...}? => ( (lv_pageBreak_5_0= rulePageBreak ) ) ) ) )
+            	    // InternalReportDSL.g:5878:5: {...}? => ( ({...}? => ( (lv_pageBreak_5_0= rulePageBreak ) ) ) )
+            	    {
+            	    if ( ! getUnorderedGroupHelper().canSelect(grammarAccess.getDatamartTableFooterAccess().getUnorderedGroup_2(), 1) ) {
+            	        if (state.backtracking>0) {state.failed=true; return current;}
+            	        throw new FailedPredicateException(input, "ruleDatamartTableFooter", "getUnorderedGroupHelper().canSelect(grammarAccess.getDatamartTableFooterAccess().getUnorderedGroup_2(), 1)");
+            	    }
+            	    // InternalReportDSL.g:5878:116: ( ({...}? => ( (lv_pageBreak_5_0= rulePageBreak ) ) ) )
+            	    // InternalReportDSL.g:5879:6: ({...}? => ( (lv_pageBreak_5_0= rulePageBreak ) ) )
+            	    {
+            	    getUnorderedGroupHelper().select(grammarAccess.getDatamartTableFooterAccess().getUnorderedGroup_2(), 1);
+            	    // InternalReportDSL.g:5882:9: ({...}? => ( (lv_pageBreak_5_0= rulePageBreak ) ) )
+            	    // InternalReportDSL.g:5882:10: {...}? => ( (lv_pageBreak_5_0= rulePageBreak ) )
+            	    {
+            	    if ( !((true)) ) {
+            	        if (state.backtracking>0) {state.failed=true; return current;}
+            	        throw new FailedPredicateException(input, "ruleDatamartTableFooter", "true");
+            	    }
+            	    // InternalReportDSL.g:5882:19: ( (lv_pageBreak_5_0= rulePageBreak ) )
+            	    // InternalReportDSL.g:5882:20: (lv_pageBreak_5_0= rulePageBreak )
+            	    {
+            	    // InternalReportDSL.g:5882:20: (lv_pageBreak_5_0= rulePageBreak )
+            	    // InternalReportDSL.g:5883:10: lv_pageBreak_5_0= rulePageBreak
+            	    {
+            	    if ( state.backtracking==0 ) {
+
+            	      										newCompositeNode(grammarAccess.getDatamartTableFooterAccess().getPageBreakPageBreakParserRuleCall_2_1_0());
+            	      									
+            	    }
+            	    pushFollow(FOLLOW_88);
+            	    lv_pageBreak_5_0=rulePageBreak();
 
             	    state._fsp--;
             	    if (state.failed) return current;
             	    if ( state.backtracking==0 ) {
 
-            	      					if (current==null) {
-            	      						current = createModelElementForParent(grammarAccess.getDatamartTableGroupFooterRule());
-            	      					}
-            	      					add(
-            	      						current,
-            	      						"rows",
-            	      						lv_rows_6_0,
-            	      						"org.eclipse.osbp.xtext.reportdsl.ReportDSL.GridRow");
-            	      					afterParserOrEnumRuleCall();
-            	      				
+            	      										if (current==null) {
+            	      											current = createModelElementForParent(grammarAccess.getDatamartTableFooterRule());
+            	      										}
+            	      										set(
+            	      											current,
+            	      											"pageBreak",
+            	      											lv_pageBreak_5_0,
+            	      											"org.eclipse.osbp.xtext.reportdsl.ReportDSL.PageBreak");
+            	      										afterParserOrEnumRuleCall();
+            	      									
             	    }
 
             	    }
 
 
             	    }
+
+
+            	    }
+
+            	    getUnorderedGroupHelper().returnFromSelection(grammarAccess.getDatamartTableFooterAccess().getUnorderedGroup_2());
+
+            	    }
+
+
+            	    }
+
+
+            	    }
             	    break;
 
             	default :
-            	    break loop76;
+            	    break loop62;
                 }
             } while (true);
 
-            otherlv_7=(Token)match(input,18,FOLLOW_2); if (state.failed) return current;
-            if ( state.backtracking==0 ) {
 
-              			newLeafNode(otherlv_7, grammarAccess.getDatamartTableGroupFooterAccess().getRightCurlyBracketKeyword_6());
-              		
             }
 
+
+            }
+
+            getUnorderedGroupHelper().leave(grammarAccess.getDatamartTableFooterAccess().getUnorderedGroup_2());
+
+            }
+
+            // InternalReportDSL.g:5912:3: (otherlv_6= '{' ( (lv_rows_7_0= ruleGridRow ) )* otherlv_8= '}' )?
+            int alt64=2;
+            int LA64_0 = input.LA(1);
+
+            if ( (LA64_0==14) ) {
+                alt64=1;
+            }
+            switch (alt64) {
+                case 1 :
+                    // InternalReportDSL.g:5913:4: otherlv_6= '{' ( (lv_rows_7_0= ruleGridRow ) )* otherlv_8= '}'
+                    {
+                    otherlv_6=(Token)match(input,14,FOLLOW_77); if (state.failed) return current;
+                    if ( state.backtracking==0 ) {
+
+                      				newLeafNode(otherlv_6, grammarAccess.getDatamartTableFooterAccess().getLeftCurlyBracketKeyword_3_0());
+                      			
+                    }
+                    // InternalReportDSL.g:5917:4: ( (lv_rows_7_0= ruleGridRow ) )*
+                    loop63:
+                    do {
+                        int alt63=2;
+                        int LA63_0 = input.LA(1);
+
+                        if ( (LA63_0==87) ) {
+                            alt63=1;
+                        }
+
+
+                        switch (alt63) {
+                    	case 1 :
+                    	    // InternalReportDSL.g:5918:5: (lv_rows_7_0= ruleGridRow )
+                    	    {
+                    	    // InternalReportDSL.g:5918:5: (lv_rows_7_0= ruleGridRow )
+                    	    // InternalReportDSL.g:5919:6: lv_rows_7_0= ruleGridRow
+                    	    {
+                    	    if ( state.backtracking==0 ) {
+
+                    	      						newCompositeNode(grammarAccess.getDatamartTableFooterAccess().getRowsGridRowParserRuleCall_3_1_0());
+                    	      					
+                    	    }
+                    	    pushFollow(FOLLOW_77);
+                    	    lv_rows_7_0=ruleGridRow();
+
+                    	    state._fsp--;
+                    	    if (state.failed) return current;
+                    	    if ( state.backtracking==0 ) {
+
+                    	      						if (current==null) {
+                    	      							current = createModelElementForParent(grammarAccess.getDatamartTableFooterRule());
+                    	      						}
+                    	      						add(
+                    	      							current,
+                    	      							"rows",
+                    	      							lv_rows_7_0,
+                    	      							"org.eclipse.osbp.xtext.reportdsl.ReportDSL.GridRow");
+                    	      						afterParserOrEnumRuleCall();
+                    	      					
+                    	    }
+
+                    	    }
+
+
+                    	    }
+                    	    break;
+
+                    	default :
+                    	    break loop63;
+                        }
+                    } while (true);
+
+                    otherlv_8=(Token)match(input,18,FOLLOW_2); if (state.failed) return current;
+                    if ( state.backtracking==0 ) {
+
+                      				newLeafNode(otherlv_8, grammarAccess.getDatamartTableFooterAccess().getRightCurlyBracketKeyword_3_2());
+                      			
+                    }
+
+                    }
+                    break;
+
+            }
+
+
             }
 
 
@@ -14652,11 +15484,11 @@
         }
         return current;
     }
-    // $ANTLR end "ruleDatamartTableGroupFooter"
+    // $ANTLR end "ruleDatamartTableFooter"
 
 
     // $ANTLR start "entryRuleDatamartTableDetail"
-    // InternalReportDSL.g:5644:1: entryRuleDatamartTableDetail returns [EObject current=null] : iv_ruleDatamartTableDetail= ruleDatamartTableDetail EOF ;
+    // InternalReportDSL.g:5945:1: entryRuleDatamartTableDetail returns [EObject current=null] : iv_ruleDatamartTableDetail= ruleDatamartTableDetail EOF ;
     public final EObject entryRuleDatamartTableDetail() throws RecognitionException {
         EObject current = null;
 
@@ -14664,8 +15496,8 @@
 
 
         try {
-            // InternalReportDSL.g:5644:60: (iv_ruleDatamartTableDetail= ruleDatamartTableDetail EOF )
-            // InternalReportDSL.g:5645:2: iv_ruleDatamartTableDetail= ruleDatamartTableDetail EOF
+            // InternalReportDSL.g:5945:60: (iv_ruleDatamartTableDetail= ruleDatamartTableDetail EOF )
+            // InternalReportDSL.g:5946:2: iv_ruleDatamartTableDetail= ruleDatamartTableDetail EOF
             {
             if ( state.backtracking==0 ) {
                newCompositeNode(grammarAccess.getDatamartTableDetailRule()); 
@@ -14696,7 +15528,7 @@
 
 
     // $ANTLR start "ruleDatamartTableDetail"
-    // InternalReportDSL.g:5651:1: ruleDatamartTableDetail returns [EObject current=null] : ( () otherlv_1= 'details' (otherlv_2= 'style' ( (otherlv_3= RULE_ID ) ) )? (otherlv_4= 'all' | (otherlv_5= '{' ( (lv_columnFormatters_6_0= ruleDatamartTableAttribute ) )* otherlv_7= '}' ) ) ) ;
+    // InternalReportDSL.g:5952:1: ruleDatamartTableDetail returns [EObject current=null] : ( () otherlv_1= 'details' (otherlv_2= 'style' ( (otherlv_3= RULE_ID ) ) )? (otherlv_4= 'all' | (otherlv_5= '{' ( (lv_columnFormatters_6_0= ruleDatamartTableAttribute ) )* otherlv_7= '}' ) ) ) ;
     public final EObject ruleDatamartTableDetail() throws RecognitionException {
         EObject current = null;
 
@@ -14713,14 +15545,14 @@
         	enterRule();
 
         try {
-            // InternalReportDSL.g:5657:2: ( ( () otherlv_1= 'details' (otherlv_2= 'style' ( (otherlv_3= RULE_ID ) ) )? (otherlv_4= 'all' | (otherlv_5= '{' ( (lv_columnFormatters_6_0= ruleDatamartTableAttribute ) )* otherlv_7= '}' ) ) ) )
-            // InternalReportDSL.g:5658:2: ( () otherlv_1= 'details' (otherlv_2= 'style' ( (otherlv_3= RULE_ID ) ) )? (otherlv_4= 'all' | (otherlv_5= '{' ( (lv_columnFormatters_6_0= ruleDatamartTableAttribute ) )* otherlv_7= '}' ) ) )
+            // InternalReportDSL.g:5958:2: ( ( () otherlv_1= 'details' (otherlv_2= 'style' ( (otherlv_3= RULE_ID ) ) )? (otherlv_4= 'all' | (otherlv_5= '{' ( (lv_columnFormatters_6_0= ruleDatamartTableAttribute ) )* otherlv_7= '}' ) ) ) )
+            // InternalReportDSL.g:5959:2: ( () otherlv_1= 'details' (otherlv_2= 'style' ( (otherlv_3= RULE_ID ) ) )? (otherlv_4= 'all' | (otherlv_5= '{' ( (lv_columnFormatters_6_0= ruleDatamartTableAttribute ) )* otherlv_7= '}' ) ) )
             {
-            // InternalReportDSL.g:5658:2: ( () otherlv_1= 'details' (otherlv_2= 'style' ( (otherlv_3= RULE_ID ) ) )? (otherlv_4= 'all' | (otherlv_5= '{' ( (lv_columnFormatters_6_0= ruleDatamartTableAttribute ) )* otherlv_7= '}' ) ) )
-            // InternalReportDSL.g:5659:3: () otherlv_1= 'details' (otherlv_2= 'style' ( (otherlv_3= RULE_ID ) ) )? (otherlv_4= 'all' | (otherlv_5= '{' ( (lv_columnFormatters_6_0= ruleDatamartTableAttribute ) )* otherlv_7= '}' ) )
+            // InternalReportDSL.g:5959:2: ( () otherlv_1= 'details' (otherlv_2= 'style' ( (otherlv_3= RULE_ID ) ) )? (otherlv_4= 'all' | (otherlv_5= '{' ( (lv_columnFormatters_6_0= ruleDatamartTableAttribute ) )* otherlv_7= '}' ) ) )
+            // InternalReportDSL.g:5960:3: () otherlv_1= 'details' (otherlv_2= 'style' ( (otherlv_3= RULE_ID ) ) )? (otherlv_4= 'all' | (otherlv_5= '{' ( (lv_columnFormatters_6_0= ruleDatamartTableAttribute ) )* otherlv_7= '}' ) )
             {
-            // InternalReportDSL.g:5659:3: ()
-            // InternalReportDSL.g:5660:4: 
+            // InternalReportDSL.g:5960:3: ()
+            // InternalReportDSL.g:5961:4: 
             {
             if ( state.backtracking==0 ) {
 
@@ -14732,22 +15564,22 @@
 
             }
 
-            otherlv_1=(Token)match(input,94,FOLLOW_97); if (state.failed) return current;
+            otherlv_1=(Token)match(input,93,FOLLOW_89); if (state.failed) return current;
             if ( state.backtracking==0 ) {
 
               			newLeafNode(otherlv_1, grammarAccess.getDatamartTableDetailAccess().getDetailsKeyword_1());
               		
             }
-            // InternalReportDSL.g:5670:3: (otherlv_2= 'style' ( (otherlv_3= RULE_ID ) ) )?
-            int alt77=2;
-            int LA77_0 = input.LA(1);
+            // InternalReportDSL.g:5971:3: (otherlv_2= 'style' ( (otherlv_3= RULE_ID ) ) )?
+            int alt65=2;
+            int LA65_0 = input.LA(1);
 
-            if ( (LA77_0==43) ) {
-                alt77=1;
+            if ( (LA65_0==43) ) {
+                alt65=1;
             }
-            switch (alt77) {
+            switch (alt65) {
                 case 1 :
-                    // InternalReportDSL.g:5671:4: otherlv_2= 'style' ( (otherlv_3= RULE_ID ) )
+                    // InternalReportDSL.g:5972:4: otherlv_2= 'style' ( (otherlv_3= RULE_ID ) )
                     {
                     otherlv_2=(Token)match(input,43,FOLLOW_4); if (state.failed) return current;
                     if ( state.backtracking==0 ) {
@@ -14755,11 +15587,11 @@
                       				newLeafNode(otherlv_2, grammarAccess.getDatamartTableDetailAccess().getStyleKeyword_2_0());
                       			
                     }
-                    // InternalReportDSL.g:5675:4: ( (otherlv_3= RULE_ID ) )
-                    // InternalReportDSL.g:5676:5: (otherlv_3= RULE_ID )
+                    // InternalReportDSL.g:5976:4: ( (otherlv_3= RULE_ID ) )
+                    // InternalReportDSL.g:5977:5: (otherlv_3= RULE_ID )
                     {
-                    // InternalReportDSL.g:5676:5: (otherlv_3= RULE_ID )
-                    // InternalReportDSL.g:5677:6: otherlv_3= RULE_ID
+                    // InternalReportDSL.g:5977:5: (otherlv_3= RULE_ID )
+                    // InternalReportDSL.g:5978:6: otherlv_3= RULE_ID
                     {
                     if ( state.backtracking==0 ) {
 
@@ -14768,7 +15600,7 @@
                       						}
                       					
                     }
-                    otherlv_3=(Token)match(input,RULE_ID,FOLLOW_98); if (state.failed) return current;
+                    otherlv_3=(Token)match(input,RULE_ID,FOLLOW_90); if (state.failed) return current;
                     if ( state.backtracking==0 ) {
 
                       						newLeafNode(otherlv_3, grammarAccess.getDatamartTableDetailAccess().getStyleStyleCrossReference_2_1_0());
@@ -14786,28 +15618,28 @@
 
             }
 
-            // InternalReportDSL.g:5689:3: (otherlv_4= 'all' | (otherlv_5= '{' ( (lv_columnFormatters_6_0= ruleDatamartTableAttribute ) )* otherlv_7= '}' ) )
-            int alt79=2;
-            int LA79_0 = input.LA(1);
+            // InternalReportDSL.g:5990:3: (otherlv_4= 'all' | (otherlv_5= '{' ( (lv_columnFormatters_6_0= ruleDatamartTableAttribute ) )* otherlv_7= '}' ) )
+            int alt67=2;
+            int LA67_0 = input.LA(1);
 
-            if ( (LA79_0==95) ) {
-                alt79=1;
+            if ( (LA67_0==94) ) {
+                alt67=1;
             }
-            else if ( (LA79_0==14) ) {
-                alt79=2;
+            else if ( (LA67_0==14) ) {
+                alt67=2;
             }
             else {
                 if (state.backtracking>0) {state.failed=true; return current;}
                 NoViableAltException nvae =
-                    new NoViableAltException("", 79, 0, input);
+                    new NoViableAltException("", 67, 0, input);
 
                 throw nvae;
             }
-            switch (alt79) {
+            switch (alt67) {
                 case 1 :
-                    // InternalReportDSL.g:5690:4: otherlv_4= 'all'
+                    // InternalReportDSL.g:5991:4: otherlv_4= 'all'
                     {
-                    otherlv_4=(Token)match(input,95,FOLLOW_2); if (state.failed) return current;
+                    otherlv_4=(Token)match(input,94,FOLLOW_2); if (state.failed) return current;
                     if ( state.backtracking==0 ) {
 
                       				newLeafNode(otherlv_4, grammarAccess.getDatamartTableDetailAccess().getAllKeyword_3_0());
@@ -14817,41 +15649,41 @@
                     }
                     break;
                 case 2 :
-                    // InternalReportDSL.g:5695:4: (otherlv_5= '{' ( (lv_columnFormatters_6_0= ruleDatamartTableAttribute ) )* otherlv_7= '}' )
+                    // InternalReportDSL.g:5996:4: (otherlv_5= '{' ( (lv_columnFormatters_6_0= ruleDatamartTableAttribute ) )* otherlv_7= '}' )
                     {
-                    // InternalReportDSL.g:5695:4: (otherlv_5= '{' ( (lv_columnFormatters_6_0= ruleDatamartTableAttribute ) )* otherlv_7= '}' )
-                    // InternalReportDSL.g:5696:5: otherlv_5= '{' ( (lv_columnFormatters_6_0= ruleDatamartTableAttribute ) )* otherlv_7= '}'
+                    // InternalReportDSL.g:5996:4: (otherlv_5= '{' ( (lv_columnFormatters_6_0= ruleDatamartTableAttribute ) )* otherlv_7= '}' )
+                    // InternalReportDSL.g:5997:5: otherlv_5= '{' ( (lv_columnFormatters_6_0= ruleDatamartTableAttribute ) )* otherlv_7= '}'
                     {
-                    otherlv_5=(Token)match(input,14,FOLLOW_99); if (state.failed) return current;
+                    otherlv_5=(Token)match(input,14,FOLLOW_91); if (state.failed) return current;
                     if ( state.backtracking==0 ) {
 
                       					newLeafNode(otherlv_5, grammarAccess.getDatamartTableDetailAccess().getLeftCurlyBracketKeyword_3_1_0());
                       				
                     }
-                    // InternalReportDSL.g:5700:5: ( (lv_columnFormatters_6_0= ruleDatamartTableAttribute ) )*
-                    loop78:
+                    // InternalReportDSL.g:6001:5: ( (lv_columnFormatters_6_0= ruleDatamartTableAttribute ) )*
+                    loop66:
                     do {
-                        int alt78=2;
-                        int LA78_0 = input.LA(1);
+                        int alt66=2;
+                        int LA66_0 = input.LA(1);
 
-                        if ( ((LA78_0>=99 && LA78_0<=100)) ) {
-                            alt78=1;
+                        if ( ((LA66_0>=98 && LA66_0<=99)) ) {
+                            alt66=1;
                         }
 
 
-                        switch (alt78) {
+                        switch (alt66) {
                     	case 1 :
-                    	    // InternalReportDSL.g:5701:6: (lv_columnFormatters_6_0= ruleDatamartTableAttribute )
+                    	    // InternalReportDSL.g:6002:6: (lv_columnFormatters_6_0= ruleDatamartTableAttribute )
                     	    {
-                    	    // InternalReportDSL.g:5701:6: (lv_columnFormatters_6_0= ruleDatamartTableAttribute )
-                    	    // InternalReportDSL.g:5702:7: lv_columnFormatters_6_0= ruleDatamartTableAttribute
+                    	    // InternalReportDSL.g:6002:6: (lv_columnFormatters_6_0= ruleDatamartTableAttribute )
+                    	    // InternalReportDSL.g:6003:7: lv_columnFormatters_6_0= ruleDatamartTableAttribute
                     	    {
                     	    if ( state.backtracking==0 ) {
 
                     	      							newCompositeNode(grammarAccess.getDatamartTableDetailAccess().getColumnFormattersDatamartTableAttributeParserRuleCall_3_1_1_0());
                     	      						
                     	    }
-                    	    pushFollow(FOLLOW_99);
+                    	    pushFollow(FOLLOW_91);
                     	    lv_columnFormatters_6_0=ruleDatamartTableAttribute();
 
                     	    state._fsp--;
@@ -14877,7 +15709,7 @@
                     	    break;
 
                     	default :
-                    	    break loop78;
+                    	    break loop66;
                         }
                     } while (true);
 
@@ -14921,7 +15753,7 @@
 
 
     // $ANTLR start "entryRuleDatamartTableAttribute"
-    // InternalReportDSL.g:5729:1: entryRuleDatamartTableAttribute returns [EObject current=null] : iv_ruleDatamartTableAttribute= ruleDatamartTableAttribute EOF ;
+    // InternalReportDSL.g:6030:1: entryRuleDatamartTableAttribute returns [EObject current=null] : iv_ruleDatamartTableAttribute= ruleDatamartTableAttribute EOF ;
     public final EObject entryRuleDatamartTableAttribute() throws RecognitionException {
         EObject current = null;
 
@@ -14929,8 +15761,8 @@
 
 
         try {
-            // InternalReportDSL.g:5729:63: (iv_ruleDatamartTableAttribute= ruleDatamartTableAttribute EOF )
-            // InternalReportDSL.g:5730:2: iv_ruleDatamartTableAttribute= ruleDatamartTableAttribute EOF
+            // InternalReportDSL.g:6030:63: (iv_ruleDatamartTableAttribute= ruleDatamartTableAttribute EOF )
+            // InternalReportDSL.g:6031:2: iv_ruleDatamartTableAttribute= ruleDatamartTableAttribute EOF
             {
             if ( state.backtracking==0 ) {
                newCompositeNode(grammarAccess.getDatamartTableAttributeRule()); 
@@ -14961,7 +15793,7 @@
 
 
     // $ANTLR start "ruleDatamartTableAttribute"
-    // InternalReportDSL.g:5736:1: ruleDatamartTableAttribute returns [EObject current=null] : ( ( (lv_column_0_0= ruleTableValueElement ) ) ( ( ( ( ({...}? => ( ({...}? => (otherlv_2= 'width' ( (lv_widthValue_3_0= ruleUnsignedNumber ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_4= 'style' ( (otherlv_5= RULE_ID ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_6= 'intervals' ( (lv_hideLabelInterval_7_0= 'hidelabel' ) )? otherlv_8= '{' ( (lv_intervals_9_0= ruleTableInterval ) )* otherlv_10= '}' ) ) ) ) | ({...}? => ( ({...}? => (otherlv_11= 'lookups' ( (lv_hideLabelLookup_12_0= 'hidelabel' ) )? otherlv_13= '{' ( (lv_lookups_14_0= ruleTableLookup ) )* otherlv_15= '}' ) ) ) ) )* ) ) ) ) ;
+    // InternalReportDSL.g:6037:1: ruleDatamartTableAttribute returns [EObject current=null] : ( ( (lv_column_0_0= ruleTableValueElement ) ) ( ( ( ( ({...}? => ( ({...}? => (otherlv_2= 'width' ( (lv_widthValue_3_0= ruleUnsignedNumber ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_4= 'style' ( (otherlv_5= RULE_ID ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_6= 'intervals' ( (lv_hideLabelInterval_7_0= 'hidelabel' ) )? otherlv_8= '{' ( (lv_intervals_9_0= ruleTableInterval ) )* otherlv_10= '}' ) ) ) ) | ({...}? => ( ({...}? => (otherlv_11= 'lookups' ( (lv_hideLabelLookup_12_0= 'hidelabel' ) )? otherlv_13= '{' ( (lv_lookups_14_0= ruleTableLookup ) )* otherlv_15= '}' ) ) ) ) )* ) ) ) ) ;
     public final EObject ruleDatamartTableAttribute() throws RecognitionException {
         EObject current = null;
 
@@ -14989,24 +15821,24 @@
         	enterRule();
 
         try {
-            // InternalReportDSL.g:5742:2: ( ( ( (lv_column_0_0= ruleTableValueElement ) ) ( ( ( ( ({...}? => ( ({...}? => (otherlv_2= 'width' ( (lv_widthValue_3_0= ruleUnsignedNumber ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_4= 'style' ( (otherlv_5= RULE_ID ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_6= 'intervals' ( (lv_hideLabelInterval_7_0= 'hidelabel' ) )? otherlv_8= '{' ( (lv_intervals_9_0= ruleTableInterval ) )* otherlv_10= '}' ) ) ) ) | ({...}? => ( ({...}? => (otherlv_11= 'lookups' ( (lv_hideLabelLookup_12_0= 'hidelabel' ) )? otherlv_13= '{' ( (lv_lookups_14_0= ruleTableLookup ) )* otherlv_15= '}' ) ) ) ) )* ) ) ) ) )
-            // InternalReportDSL.g:5743:2: ( ( (lv_column_0_0= ruleTableValueElement ) ) ( ( ( ( ({...}? => ( ({...}? => (otherlv_2= 'width' ( (lv_widthValue_3_0= ruleUnsignedNumber ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_4= 'style' ( (otherlv_5= RULE_ID ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_6= 'intervals' ( (lv_hideLabelInterval_7_0= 'hidelabel' ) )? otherlv_8= '{' ( (lv_intervals_9_0= ruleTableInterval ) )* otherlv_10= '}' ) ) ) ) | ({...}? => ( ({...}? => (otherlv_11= 'lookups' ( (lv_hideLabelLookup_12_0= 'hidelabel' ) )? otherlv_13= '{' ( (lv_lookups_14_0= ruleTableLookup ) )* otherlv_15= '}' ) ) ) ) )* ) ) ) )
+            // InternalReportDSL.g:6043:2: ( ( ( (lv_column_0_0= ruleTableValueElement ) ) ( ( ( ( ({...}? => ( ({...}? => (otherlv_2= 'width' ( (lv_widthValue_3_0= ruleUnsignedNumber ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_4= 'style' ( (otherlv_5= RULE_ID ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_6= 'intervals' ( (lv_hideLabelInterval_7_0= 'hidelabel' ) )? otherlv_8= '{' ( (lv_intervals_9_0= ruleTableInterval ) )* otherlv_10= '}' ) ) ) ) | ({...}? => ( ({...}? => (otherlv_11= 'lookups' ( (lv_hideLabelLookup_12_0= 'hidelabel' ) )? otherlv_13= '{' ( (lv_lookups_14_0= ruleTableLookup ) )* otherlv_15= '}' ) ) ) ) )* ) ) ) ) )
+            // InternalReportDSL.g:6044:2: ( ( (lv_column_0_0= ruleTableValueElement ) ) ( ( ( ( ({...}? => ( ({...}? => (otherlv_2= 'width' ( (lv_widthValue_3_0= ruleUnsignedNumber ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_4= 'style' ( (otherlv_5= RULE_ID ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_6= 'intervals' ( (lv_hideLabelInterval_7_0= 'hidelabel' ) )? otherlv_8= '{' ( (lv_intervals_9_0= ruleTableInterval ) )* otherlv_10= '}' ) ) ) ) | ({...}? => ( ({...}? => (otherlv_11= 'lookups' ( (lv_hideLabelLookup_12_0= 'hidelabel' ) )? otherlv_13= '{' ( (lv_lookups_14_0= ruleTableLookup ) )* otherlv_15= '}' ) ) ) ) )* ) ) ) )
             {
-            // InternalReportDSL.g:5743:2: ( ( (lv_column_0_0= ruleTableValueElement ) ) ( ( ( ( ({...}? => ( ({...}? => (otherlv_2= 'width' ( (lv_widthValue_3_0= ruleUnsignedNumber ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_4= 'style' ( (otherlv_5= RULE_ID ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_6= 'intervals' ( (lv_hideLabelInterval_7_0= 'hidelabel' ) )? otherlv_8= '{' ( (lv_intervals_9_0= ruleTableInterval ) )* otherlv_10= '}' ) ) ) ) | ({...}? => ( ({...}? => (otherlv_11= 'lookups' ( (lv_hideLabelLookup_12_0= 'hidelabel' ) )? otherlv_13= '{' ( (lv_lookups_14_0= ruleTableLookup ) )* otherlv_15= '}' ) ) ) ) )* ) ) ) )
-            // InternalReportDSL.g:5744:3: ( (lv_column_0_0= ruleTableValueElement ) ) ( ( ( ( ({...}? => ( ({...}? => (otherlv_2= 'width' ( (lv_widthValue_3_0= ruleUnsignedNumber ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_4= 'style' ( (otherlv_5= RULE_ID ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_6= 'intervals' ( (lv_hideLabelInterval_7_0= 'hidelabel' ) )? otherlv_8= '{' ( (lv_intervals_9_0= ruleTableInterval ) )* otherlv_10= '}' ) ) ) ) | ({...}? => ( ({...}? => (otherlv_11= 'lookups' ( (lv_hideLabelLookup_12_0= 'hidelabel' ) )? otherlv_13= '{' ( (lv_lookups_14_0= ruleTableLookup ) )* otherlv_15= '}' ) ) ) ) )* ) ) )
+            // InternalReportDSL.g:6044:2: ( ( (lv_column_0_0= ruleTableValueElement ) ) ( ( ( ( ({...}? => ( ({...}? => (otherlv_2= 'width' ( (lv_widthValue_3_0= ruleUnsignedNumber ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_4= 'style' ( (otherlv_5= RULE_ID ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_6= 'intervals' ( (lv_hideLabelInterval_7_0= 'hidelabel' ) )? otherlv_8= '{' ( (lv_intervals_9_0= ruleTableInterval ) )* otherlv_10= '}' ) ) ) ) | ({...}? => ( ({...}? => (otherlv_11= 'lookups' ( (lv_hideLabelLookup_12_0= 'hidelabel' ) )? otherlv_13= '{' ( (lv_lookups_14_0= ruleTableLookup ) )* otherlv_15= '}' ) ) ) ) )* ) ) ) )
+            // InternalReportDSL.g:6045:3: ( (lv_column_0_0= ruleTableValueElement ) ) ( ( ( ( ({...}? => ( ({...}? => (otherlv_2= 'width' ( (lv_widthValue_3_0= ruleUnsignedNumber ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_4= 'style' ( (otherlv_5= RULE_ID ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_6= 'intervals' ( (lv_hideLabelInterval_7_0= 'hidelabel' ) )? otherlv_8= '{' ( (lv_intervals_9_0= ruleTableInterval ) )* otherlv_10= '}' ) ) ) ) | ({...}? => ( ({...}? => (otherlv_11= 'lookups' ( (lv_hideLabelLookup_12_0= 'hidelabel' ) )? otherlv_13= '{' ( (lv_lookups_14_0= ruleTableLookup ) )* otherlv_15= '}' ) ) ) ) )* ) ) )
             {
-            // InternalReportDSL.g:5744:3: ( (lv_column_0_0= ruleTableValueElement ) )
-            // InternalReportDSL.g:5745:4: (lv_column_0_0= ruleTableValueElement )
+            // InternalReportDSL.g:6045:3: ( (lv_column_0_0= ruleTableValueElement ) )
+            // InternalReportDSL.g:6046:4: (lv_column_0_0= ruleTableValueElement )
             {
-            // InternalReportDSL.g:5745:4: (lv_column_0_0= ruleTableValueElement )
-            // InternalReportDSL.g:5746:5: lv_column_0_0= ruleTableValueElement
+            // InternalReportDSL.g:6046:4: (lv_column_0_0= ruleTableValueElement )
+            // InternalReportDSL.g:6047:5: lv_column_0_0= ruleTableValueElement
             {
             if ( state.backtracking==0 ) {
 
               					newCompositeNode(grammarAccess.getDatamartTableAttributeAccess().getColumnTableValueElementParserRuleCall_0_0());
               				
             }
-            pushFollow(FOLLOW_100);
+            pushFollow(FOLLOW_92);
             lv_column_0_0=ruleTableValueElement();
 
             state._fsp--;
@@ -15030,79 +15862,79 @@
 
             }
 
-            // InternalReportDSL.g:5763:3: ( ( ( ( ({...}? => ( ({...}? => (otherlv_2= 'width' ( (lv_widthValue_3_0= ruleUnsignedNumber ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_4= 'style' ( (otherlv_5= RULE_ID ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_6= 'intervals' ( (lv_hideLabelInterval_7_0= 'hidelabel' ) )? otherlv_8= '{' ( (lv_intervals_9_0= ruleTableInterval ) )* otherlv_10= '}' ) ) ) ) | ({...}? => ( ({...}? => (otherlv_11= 'lookups' ( (lv_hideLabelLookup_12_0= 'hidelabel' ) )? otherlv_13= '{' ( (lv_lookups_14_0= ruleTableLookup ) )* otherlv_15= '}' ) ) ) ) )* ) ) )
-            // InternalReportDSL.g:5764:4: ( ( ( ({...}? => ( ({...}? => (otherlv_2= 'width' ( (lv_widthValue_3_0= ruleUnsignedNumber ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_4= 'style' ( (otherlv_5= RULE_ID ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_6= 'intervals' ( (lv_hideLabelInterval_7_0= 'hidelabel' ) )? otherlv_8= '{' ( (lv_intervals_9_0= ruleTableInterval ) )* otherlv_10= '}' ) ) ) ) | ({...}? => ( ({...}? => (otherlv_11= 'lookups' ( (lv_hideLabelLookup_12_0= 'hidelabel' ) )? otherlv_13= '{' ( (lv_lookups_14_0= ruleTableLookup ) )* otherlv_15= '}' ) ) ) ) )* ) )
+            // InternalReportDSL.g:6064:3: ( ( ( ( ({...}? => ( ({...}? => (otherlv_2= 'width' ( (lv_widthValue_3_0= ruleUnsignedNumber ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_4= 'style' ( (otherlv_5= RULE_ID ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_6= 'intervals' ( (lv_hideLabelInterval_7_0= 'hidelabel' ) )? otherlv_8= '{' ( (lv_intervals_9_0= ruleTableInterval ) )* otherlv_10= '}' ) ) ) ) | ({...}? => ( ({...}? => (otherlv_11= 'lookups' ( (lv_hideLabelLookup_12_0= 'hidelabel' ) )? otherlv_13= '{' ( (lv_lookups_14_0= ruleTableLookup ) )* otherlv_15= '}' ) ) ) ) )* ) ) )
+            // InternalReportDSL.g:6065:4: ( ( ( ({...}? => ( ({...}? => (otherlv_2= 'width' ( (lv_widthValue_3_0= ruleUnsignedNumber ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_4= 'style' ( (otherlv_5= RULE_ID ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_6= 'intervals' ( (lv_hideLabelInterval_7_0= 'hidelabel' ) )? otherlv_8= '{' ( (lv_intervals_9_0= ruleTableInterval ) )* otherlv_10= '}' ) ) ) ) | ({...}? => ( ({...}? => (otherlv_11= 'lookups' ( (lv_hideLabelLookup_12_0= 'hidelabel' ) )? otherlv_13= '{' ( (lv_lookups_14_0= ruleTableLookup ) )* otherlv_15= '}' ) ) ) ) )* ) )
             {
-            // InternalReportDSL.g:5764:4: ( ( ( ({...}? => ( ({...}? => (otherlv_2= 'width' ( (lv_widthValue_3_0= ruleUnsignedNumber ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_4= 'style' ( (otherlv_5= RULE_ID ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_6= 'intervals' ( (lv_hideLabelInterval_7_0= 'hidelabel' ) )? otherlv_8= '{' ( (lv_intervals_9_0= ruleTableInterval ) )* otherlv_10= '}' ) ) ) ) | ({...}? => ( ({...}? => (otherlv_11= 'lookups' ( (lv_hideLabelLookup_12_0= 'hidelabel' ) )? otherlv_13= '{' ( (lv_lookups_14_0= ruleTableLookup ) )* otherlv_15= '}' ) ) ) ) )* ) )
-            // InternalReportDSL.g:5765:5: ( ( ({...}? => ( ({...}? => (otherlv_2= 'width' ( (lv_widthValue_3_0= ruleUnsignedNumber ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_4= 'style' ( (otherlv_5= RULE_ID ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_6= 'intervals' ( (lv_hideLabelInterval_7_0= 'hidelabel' ) )? otherlv_8= '{' ( (lv_intervals_9_0= ruleTableInterval ) )* otherlv_10= '}' ) ) ) ) | ({...}? => ( ({...}? => (otherlv_11= 'lookups' ( (lv_hideLabelLookup_12_0= 'hidelabel' ) )? otherlv_13= '{' ( (lv_lookups_14_0= ruleTableLookup ) )* otherlv_15= '}' ) ) ) ) )* )
+            // InternalReportDSL.g:6065:4: ( ( ( ({...}? => ( ({...}? => (otherlv_2= 'width' ( (lv_widthValue_3_0= ruleUnsignedNumber ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_4= 'style' ( (otherlv_5= RULE_ID ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_6= 'intervals' ( (lv_hideLabelInterval_7_0= 'hidelabel' ) )? otherlv_8= '{' ( (lv_intervals_9_0= ruleTableInterval ) )* otherlv_10= '}' ) ) ) ) | ({...}? => ( ({...}? => (otherlv_11= 'lookups' ( (lv_hideLabelLookup_12_0= 'hidelabel' ) )? otherlv_13= '{' ( (lv_lookups_14_0= ruleTableLookup ) )* otherlv_15= '}' ) ) ) ) )* ) )
+            // InternalReportDSL.g:6066:5: ( ( ({...}? => ( ({...}? => (otherlv_2= 'width' ( (lv_widthValue_3_0= ruleUnsignedNumber ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_4= 'style' ( (otherlv_5= RULE_ID ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_6= 'intervals' ( (lv_hideLabelInterval_7_0= 'hidelabel' ) )? otherlv_8= '{' ( (lv_intervals_9_0= ruleTableInterval ) )* otherlv_10= '}' ) ) ) ) | ({...}? => ( ({...}? => (otherlv_11= 'lookups' ( (lv_hideLabelLookup_12_0= 'hidelabel' ) )? otherlv_13= '{' ( (lv_lookups_14_0= ruleTableLookup ) )* otherlv_15= '}' ) ) ) ) )* )
             {
             getUnorderedGroupHelper().enter(grammarAccess.getDatamartTableAttributeAccess().getUnorderedGroup_1());
-            // InternalReportDSL.g:5768:5: ( ( ({...}? => ( ({...}? => (otherlv_2= 'width' ( (lv_widthValue_3_0= ruleUnsignedNumber ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_4= 'style' ( (otherlv_5= RULE_ID ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_6= 'intervals' ( (lv_hideLabelInterval_7_0= 'hidelabel' ) )? otherlv_8= '{' ( (lv_intervals_9_0= ruleTableInterval ) )* otherlv_10= '}' ) ) ) ) | ({...}? => ( ({...}? => (otherlv_11= 'lookups' ( (lv_hideLabelLookup_12_0= 'hidelabel' ) )? otherlv_13= '{' ( (lv_lookups_14_0= ruleTableLookup ) )* otherlv_15= '}' ) ) ) ) )* )
-            // InternalReportDSL.g:5769:6: ( ({...}? => ( ({...}? => (otherlv_2= 'width' ( (lv_widthValue_3_0= ruleUnsignedNumber ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_4= 'style' ( (otherlv_5= RULE_ID ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_6= 'intervals' ( (lv_hideLabelInterval_7_0= 'hidelabel' ) )? otherlv_8= '{' ( (lv_intervals_9_0= ruleTableInterval ) )* otherlv_10= '}' ) ) ) ) | ({...}? => ( ({...}? => (otherlv_11= 'lookups' ( (lv_hideLabelLookup_12_0= 'hidelabel' ) )? otherlv_13= '{' ( (lv_lookups_14_0= ruleTableLookup ) )* otherlv_15= '}' ) ) ) ) )*
+            // InternalReportDSL.g:6069:5: ( ( ({...}? => ( ({...}? => (otherlv_2= 'width' ( (lv_widthValue_3_0= ruleUnsignedNumber ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_4= 'style' ( (otherlv_5= RULE_ID ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_6= 'intervals' ( (lv_hideLabelInterval_7_0= 'hidelabel' ) )? otherlv_8= '{' ( (lv_intervals_9_0= ruleTableInterval ) )* otherlv_10= '}' ) ) ) ) | ({...}? => ( ({...}? => (otherlv_11= 'lookups' ( (lv_hideLabelLookup_12_0= 'hidelabel' ) )? otherlv_13= '{' ( (lv_lookups_14_0= ruleTableLookup ) )* otherlv_15= '}' ) ) ) ) )* )
+            // InternalReportDSL.g:6070:6: ( ({...}? => ( ({...}? => (otherlv_2= 'width' ( (lv_widthValue_3_0= ruleUnsignedNumber ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_4= 'style' ( (otherlv_5= RULE_ID ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_6= 'intervals' ( (lv_hideLabelInterval_7_0= 'hidelabel' ) )? otherlv_8= '{' ( (lv_intervals_9_0= ruleTableInterval ) )* otherlv_10= '}' ) ) ) ) | ({...}? => ( ({...}? => (otherlv_11= 'lookups' ( (lv_hideLabelLookup_12_0= 'hidelabel' ) )? otherlv_13= '{' ( (lv_lookups_14_0= ruleTableLookup ) )* otherlv_15= '}' ) ) ) ) )*
             {
-            // InternalReportDSL.g:5769:6: ( ({...}? => ( ({...}? => (otherlv_2= 'width' ( (lv_widthValue_3_0= ruleUnsignedNumber ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_4= 'style' ( (otherlv_5= RULE_ID ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_6= 'intervals' ( (lv_hideLabelInterval_7_0= 'hidelabel' ) )? otherlv_8= '{' ( (lv_intervals_9_0= ruleTableInterval ) )* otherlv_10= '}' ) ) ) ) | ({...}? => ( ({...}? => (otherlv_11= 'lookups' ( (lv_hideLabelLookup_12_0= 'hidelabel' ) )? otherlv_13= '{' ( (lv_lookups_14_0= ruleTableLookup ) )* otherlv_15= '}' ) ) ) ) )*
-            loop84:
+            // InternalReportDSL.g:6070:6: ( ({...}? => ( ({...}? => (otherlv_2= 'width' ( (lv_widthValue_3_0= ruleUnsignedNumber ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_4= 'style' ( (otherlv_5= RULE_ID ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_6= 'intervals' ( (lv_hideLabelInterval_7_0= 'hidelabel' ) )? otherlv_8= '{' ( (lv_intervals_9_0= ruleTableInterval ) )* otherlv_10= '}' ) ) ) ) | ({...}? => ( ({...}? => (otherlv_11= 'lookups' ( (lv_hideLabelLookup_12_0= 'hidelabel' ) )? otherlv_13= '{' ( (lv_lookups_14_0= ruleTableLookup ) )* otherlv_15= '}' ) ) ) ) )*
+            loop72:
             do {
-                int alt84=5;
-                int LA84_0 = input.LA(1);
+                int alt72=5;
+                int LA72_0 = input.LA(1);
 
-                if ( LA84_0 == 85 && getUnorderedGroupHelper().canSelect(grammarAccess.getDatamartTableAttributeAccess().getUnorderedGroup_1(), 0) ) {
-                    alt84=1;
+                if ( LA72_0 == 86 && getUnorderedGroupHelper().canSelect(grammarAccess.getDatamartTableAttributeAccess().getUnorderedGroup_1(), 0) ) {
+                    alt72=1;
                 }
-                else if ( LA84_0 == 43 && getUnorderedGroupHelper().canSelect(grammarAccess.getDatamartTableAttributeAccess().getUnorderedGroup_1(), 1) ) {
-                    alt84=2;
+                else if ( LA72_0 == 43 && getUnorderedGroupHelper().canSelect(grammarAccess.getDatamartTableAttributeAccess().getUnorderedGroup_1(), 1) ) {
+                    alt72=2;
                 }
-                else if ( LA84_0 == 96 && getUnorderedGroupHelper().canSelect(grammarAccess.getDatamartTableAttributeAccess().getUnorderedGroup_1(), 2) ) {
-                    alt84=3;
+                else if ( LA72_0 == 95 && getUnorderedGroupHelper().canSelect(grammarAccess.getDatamartTableAttributeAccess().getUnorderedGroup_1(), 2) ) {
+                    alt72=3;
                 }
-                else if ( LA84_0 == 98 && getUnorderedGroupHelper().canSelect(grammarAccess.getDatamartTableAttributeAccess().getUnorderedGroup_1(), 3) ) {
-                    alt84=4;
+                else if ( LA72_0 == 97 && getUnorderedGroupHelper().canSelect(grammarAccess.getDatamartTableAttributeAccess().getUnorderedGroup_1(), 3) ) {
+                    alt72=4;
                 }
 
 
-                switch (alt84) {
+                switch (alt72) {
             	case 1 :
-            	    // InternalReportDSL.g:5770:4: ({...}? => ( ({...}? => (otherlv_2= 'width' ( (lv_widthValue_3_0= ruleUnsignedNumber ) ) ) ) ) )
+            	    // InternalReportDSL.g:6071:4: ({...}? => ( ({...}? => (otherlv_2= 'width' ( (lv_widthValue_3_0= ruleUnsignedNumber ) ) ) ) ) )
             	    {
-            	    // InternalReportDSL.g:5770:4: ({...}? => ( ({...}? => (otherlv_2= 'width' ( (lv_widthValue_3_0= ruleUnsignedNumber ) ) ) ) ) )
-            	    // InternalReportDSL.g:5771:5: {...}? => ( ({...}? => (otherlv_2= 'width' ( (lv_widthValue_3_0= ruleUnsignedNumber ) ) ) ) )
+            	    // InternalReportDSL.g:6071:4: ({...}? => ( ({...}? => (otherlv_2= 'width' ( (lv_widthValue_3_0= ruleUnsignedNumber ) ) ) ) ) )
+            	    // InternalReportDSL.g:6072:5: {...}? => ( ({...}? => (otherlv_2= 'width' ( (lv_widthValue_3_0= ruleUnsignedNumber ) ) ) ) )
             	    {
             	    if ( ! getUnorderedGroupHelper().canSelect(grammarAccess.getDatamartTableAttributeAccess().getUnorderedGroup_1(), 0) ) {
             	        if (state.backtracking>0) {state.failed=true; return current;}
             	        throw new FailedPredicateException(input, "ruleDatamartTableAttribute", "getUnorderedGroupHelper().canSelect(grammarAccess.getDatamartTableAttributeAccess().getUnorderedGroup_1(), 0)");
             	    }
-            	    // InternalReportDSL.g:5771:119: ( ({...}? => (otherlv_2= 'width' ( (lv_widthValue_3_0= ruleUnsignedNumber ) ) ) ) )
-            	    // InternalReportDSL.g:5772:6: ({...}? => (otherlv_2= 'width' ( (lv_widthValue_3_0= ruleUnsignedNumber ) ) ) )
+            	    // InternalReportDSL.g:6072:119: ( ({...}? => (otherlv_2= 'width' ( (lv_widthValue_3_0= ruleUnsignedNumber ) ) ) ) )
+            	    // InternalReportDSL.g:6073:6: ({...}? => (otherlv_2= 'width' ( (lv_widthValue_3_0= ruleUnsignedNumber ) ) ) )
             	    {
             	    getUnorderedGroupHelper().select(grammarAccess.getDatamartTableAttributeAccess().getUnorderedGroup_1(), 0);
-            	    // InternalReportDSL.g:5775:9: ({...}? => (otherlv_2= 'width' ( (lv_widthValue_3_0= ruleUnsignedNumber ) ) ) )
-            	    // InternalReportDSL.g:5775:10: {...}? => (otherlv_2= 'width' ( (lv_widthValue_3_0= ruleUnsignedNumber ) ) )
+            	    // InternalReportDSL.g:6076:9: ({...}? => (otherlv_2= 'width' ( (lv_widthValue_3_0= ruleUnsignedNumber ) ) ) )
+            	    // InternalReportDSL.g:6076:10: {...}? => (otherlv_2= 'width' ( (lv_widthValue_3_0= ruleUnsignedNumber ) ) )
             	    {
             	    if ( !((true)) ) {
             	        if (state.backtracking>0) {state.failed=true; return current;}
             	        throw new FailedPredicateException(input, "ruleDatamartTableAttribute", "true");
             	    }
-            	    // InternalReportDSL.g:5775:19: (otherlv_2= 'width' ( (lv_widthValue_3_0= ruleUnsignedNumber ) ) )
-            	    // InternalReportDSL.g:5775:20: otherlv_2= 'width' ( (lv_widthValue_3_0= ruleUnsignedNumber ) )
+            	    // InternalReportDSL.g:6076:19: (otherlv_2= 'width' ( (lv_widthValue_3_0= ruleUnsignedNumber ) ) )
+            	    // InternalReportDSL.g:6076:20: otherlv_2= 'width' ( (lv_widthValue_3_0= ruleUnsignedNumber ) )
             	    {
-            	    otherlv_2=(Token)match(input,85,FOLLOW_28); if (state.failed) return current;
+            	    otherlv_2=(Token)match(input,86,FOLLOW_28); if (state.failed) return current;
             	    if ( state.backtracking==0 ) {
 
             	      									newLeafNode(otherlv_2, grammarAccess.getDatamartTableAttributeAccess().getWidthKeyword_1_0_0());
             	      								
             	    }
-            	    // InternalReportDSL.g:5779:9: ( (lv_widthValue_3_0= ruleUnsignedNumber ) )
-            	    // InternalReportDSL.g:5780:10: (lv_widthValue_3_0= ruleUnsignedNumber )
+            	    // InternalReportDSL.g:6080:9: ( (lv_widthValue_3_0= ruleUnsignedNumber ) )
+            	    // InternalReportDSL.g:6081:10: (lv_widthValue_3_0= ruleUnsignedNumber )
             	    {
-            	    // InternalReportDSL.g:5780:10: (lv_widthValue_3_0= ruleUnsignedNumber )
-            	    // InternalReportDSL.g:5781:11: lv_widthValue_3_0= ruleUnsignedNumber
+            	    // InternalReportDSL.g:6081:10: (lv_widthValue_3_0= ruleUnsignedNumber )
+            	    // InternalReportDSL.g:6082:11: lv_widthValue_3_0= ruleUnsignedNumber
             	    {
             	    if ( state.backtracking==0 ) {
 
             	      											newCompositeNode(grammarAccess.getDatamartTableAttributeAccess().getWidthValueUnsignedNumberParserRuleCall_1_0_1_0());
             	      										
             	    }
-            	    pushFollow(FOLLOW_100);
+            	    pushFollow(FOLLOW_92);
             	    lv_widthValue_3_0=ruleUnsignedNumber();
 
             	    state._fsp--;
@@ -15143,28 +15975,28 @@
             	    }
             	    break;
             	case 2 :
-            	    // InternalReportDSL.g:5804:4: ({...}? => ( ({...}? => (otherlv_4= 'style' ( (otherlv_5= RULE_ID ) ) ) ) ) )
+            	    // InternalReportDSL.g:6105:4: ({...}? => ( ({...}? => (otherlv_4= 'style' ( (otherlv_5= RULE_ID ) ) ) ) ) )
             	    {
-            	    // InternalReportDSL.g:5804:4: ({...}? => ( ({...}? => (otherlv_4= 'style' ( (otherlv_5= RULE_ID ) ) ) ) ) )
-            	    // InternalReportDSL.g:5805:5: {...}? => ( ({...}? => (otherlv_4= 'style' ( (otherlv_5= RULE_ID ) ) ) ) )
+            	    // InternalReportDSL.g:6105:4: ({...}? => ( ({...}? => (otherlv_4= 'style' ( (otherlv_5= RULE_ID ) ) ) ) ) )
+            	    // InternalReportDSL.g:6106:5: {...}? => ( ({...}? => (otherlv_4= 'style' ( (otherlv_5= RULE_ID ) ) ) ) )
             	    {
             	    if ( ! getUnorderedGroupHelper().canSelect(grammarAccess.getDatamartTableAttributeAccess().getUnorderedGroup_1(), 1) ) {
             	        if (state.backtracking>0) {state.failed=true; return current;}
             	        throw new FailedPredicateException(input, "ruleDatamartTableAttribute", "getUnorderedGroupHelper().canSelect(grammarAccess.getDatamartTableAttributeAccess().getUnorderedGroup_1(), 1)");
             	    }
-            	    // InternalReportDSL.g:5805:119: ( ({...}? => (otherlv_4= 'style' ( (otherlv_5= RULE_ID ) ) ) ) )
-            	    // InternalReportDSL.g:5806:6: ({...}? => (otherlv_4= 'style' ( (otherlv_5= RULE_ID ) ) ) )
+            	    // InternalReportDSL.g:6106:119: ( ({...}? => (otherlv_4= 'style' ( (otherlv_5= RULE_ID ) ) ) ) )
+            	    // InternalReportDSL.g:6107:6: ({...}? => (otherlv_4= 'style' ( (otherlv_5= RULE_ID ) ) ) )
             	    {
             	    getUnorderedGroupHelper().select(grammarAccess.getDatamartTableAttributeAccess().getUnorderedGroup_1(), 1);
-            	    // InternalReportDSL.g:5809:9: ({...}? => (otherlv_4= 'style' ( (otherlv_5= RULE_ID ) ) ) )
-            	    // InternalReportDSL.g:5809:10: {...}? => (otherlv_4= 'style' ( (otherlv_5= RULE_ID ) ) )
+            	    // InternalReportDSL.g:6110:9: ({...}? => (otherlv_4= 'style' ( (otherlv_5= RULE_ID ) ) ) )
+            	    // InternalReportDSL.g:6110:10: {...}? => (otherlv_4= 'style' ( (otherlv_5= RULE_ID ) ) )
             	    {
             	    if ( !((true)) ) {
             	        if (state.backtracking>0) {state.failed=true; return current;}
             	        throw new FailedPredicateException(input, "ruleDatamartTableAttribute", "true");
             	    }
-            	    // InternalReportDSL.g:5809:19: (otherlv_4= 'style' ( (otherlv_5= RULE_ID ) ) )
-            	    // InternalReportDSL.g:5809:20: otherlv_4= 'style' ( (otherlv_5= RULE_ID ) )
+            	    // InternalReportDSL.g:6110:19: (otherlv_4= 'style' ( (otherlv_5= RULE_ID ) ) )
+            	    // InternalReportDSL.g:6110:20: otherlv_4= 'style' ( (otherlv_5= RULE_ID ) )
             	    {
             	    otherlv_4=(Token)match(input,43,FOLLOW_4); if (state.failed) return current;
             	    if ( state.backtracking==0 ) {
@@ -15172,11 +16004,11 @@
             	      									newLeafNode(otherlv_4, grammarAccess.getDatamartTableAttributeAccess().getStyleKeyword_1_1_0());
             	      								
             	    }
-            	    // InternalReportDSL.g:5813:9: ( (otherlv_5= RULE_ID ) )
-            	    // InternalReportDSL.g:5814:10: (otherlv_5= RULE_ID )
+            	    // InternalReportDSL.g:6114:9: ( (otherlv_5= RULE_ID ) )
+            	    // InternalReportDSL.g:6115:10: (otherlv_5= RULE_ID )
             	    {
-            	    // InternalReportDSL.g:5814:10: (otherlv_5= RULE_ID )
-            	    // InternalReportDSL.g:5815:11: otherlv_5= RULE_ID
+            	    // InternalReportDSL.g:6115:10: (otherlv_5= RULE_ID )
+            	    // InternalReportDSL.g:6116:11: otherlv_5= RULE_ID
             	    {
             	    if ( state.backtracking==0 ) {
 
@@ -15185,7 +16017,7 @@
             	      											}
             	      										
             	    }
-            	    otherlv_5=(Token)match(input,RULE_ID,FOLLOW_100); if (state.failed) return current;
+            	    otherlv_5=(Token)match(input,RULE_ID,FOLLOW_92); if (state.failed) return current;
             	    if ( state.backtracking==0 ) {
 
             	      											newLeafNode(otherlv_5, grammarAccess.getDatamartTableAttributeAccess().getStyleStyleCrossReference_1_1_1_0());
@@ -15214,50 +16046,50 @@
             	    }
             	    break;
             	case 3 :
-            	    // InternalReportDSL.g:5832:4: ({...}? => ( ({...}? => (otherlv_6= 'intervals' ( (lv_hideLabelInterval_7_0= 'hidelabel' ) )? otherlv_8= '{' ( (lv_intervals_9_0= ruleTableInterval ) )* otherlv_10= '}' ) ) ) )
+            	    // InternalReportDSL.g:6133:4: ({...}? => ( ({...}? => (otherlv_6= 'intervals' ( (lv_hideLabelInterval_7_0= 'hidelabel' ) )? otherlv_8= '{' ( (lv_intervals_9_0= ruleTableInterval ) )* otherlv_10= '}' ) ) ) )
             	    {
-            	    // InternalReportDSL.g:5832:4: ({...}? => ( ({...}? => (otherlv_6= 'intervals' ( (lv_hideLabelInterval_7_0= 'hidelabel' ) )? otherlv_8= '{' ( (lv_intervals_9_0= ruleTableInterval ) )* otherlv_10= '}' ) ) ) )
-            	    // InternalReportDSL.g:5833:5: {...}? => ( ({...}? => (otherlv_6= 'intervals' ( (lv_hideLabelInterval_7_0= 'hidelabel' ) )? otherlv_8= '{' ( (lv_intervals_9_0= ruleTableInterval ) )* otherlv_10= '}' ) ) )
+            	    // InternalReportDSL.g:6133:4: ({...}? => ( ({...}? => (otherlv_6= 'intervals' ( (lv_hideLabelInterval_7_0= 'hidelabel' ) )? otherlv_8= '{' ( (lv_intervals_9_0= ruleTableInterval ) )* otherlv_10= '}' ) ) ) )
+            	    // InternalReportDSL.g:6134:5: {...}? => ( ({...}? => (otherlv_6= 'intervals' ( (lv_hideLabelInterval_7_0= 'hidelabel' ) )? otherlv_8= '{' ( (lv_intervals_9_0= ruleTableInterval ) )* otherlv_10= '}' ) ) )
             	    {
             	    if ( ! getUnorderedGroupHelper().canSelect(grammarAccess.getDatamartTableAttributeAccess().getUnorderedGroup_1(), 2) ) {
             	        if (state.backtracking>0) {state.failed=true; return current;}
             	        throw new FailedPredicateException(input, "ruleDatamartTableAttribute", "getUnorderedGroupHelper().canSelect(grammarAccess.getDatamartTableAttributeAccess().getUnorderedGroup_1(), 2)");
             	    }
-            	    // InternalReportDSL.g:5833:119: ( ({...}? => (otherlv_6= 'intervals' ( (lv_hideLabelInterval_7_0= 'hidelabel' ) )? otherlv_8= '{' ( (lv_intervals_9_0= ruleTableInterval ) )* otherlv_10= '}' ) ) )
-            	    // InternalReportDSL.g:5834:6: ({...}? => (otherlv_6= 'intervals' ( (lv_hideLabelInterval_7_0= 'hidelabel' ) )? otherlv_8= '{' ( (lv_intervals_9_0= ruleTableInterval ) )* otherlv_10= '}' ) )
+            	    // InternalReportDSL.g:6134:119: ( ({...}? => (otherlv_6= 'intervals' ( (lv_hideLabelInterval_7_0= 'hidelabel' ) )? otherlv_8= '{' ( (lv_intervals_9_0= ruleTableInterval ) )* otherlv_10= '}' ) ) )
+            	    // InternalReportDSL.g:6135:6: ({...}? => (otherlv_6= 'intervals' ( (lv_hideLabelInterval_7_0= 'hidelabel' ) )? otherlv_8= '{' ( (lv_intervals_9_0= ruleTableInterval ) )* otherlv_10= '}' ) )
             	    {
             	    getUnorderedGroupHelper().select(grammarAccess.getDatamartTableAttributeAccess().getUnorderedGroup_1(), 2);
-            	    // InternalReportDSL.g:5837:9: ({...}? => (otherlv_6= 'intervals' ( (lv_hideLabelInterval_7_0= 'hidelabel' ) )? otherlv_8= '{' ( (lv_intervals_9_0= ruleTableInterval ) )* otherlv_10= '}' ) )
-            	    // InternalReportDSL.g:5837:10: {...}? => (otherlv_6= 'intervals' ( (lv_hideLabelInterval_7_0= 'hidelabel' ) )? otherlv_8= '{' ( (lv_intervals_9_0= ruleTableInterval ) )* otherlv_10= '}' )
+            	    // InternalReportDSL.g:6138:9: ({...}? => (otherlv_6= 'intervals' ( (lv_hideLabelInterval_7_0= 'hidelabel' ) )? otherlv_8= '{' ( (lv_intervals_9_0= ruleTableInterval ) )* otherlv_10= '}' ) )
+            	    // InternalReportDSL.g:6138:10: {...}? => (otherlv_6= 'intervals' ( (lv_hideLabelInterval_7_0= 'hidelabel' ) )? otherlv_8= '{' ( (lv_intervals_9_0= ruleTableInterval ) )* otherlv_10= '}' )
             	    {
             	    if ( !((true)) ) {
             	        if (state.backtracking>0) {state.failed=true; return current;}
             	        throw new FailedPredicateException(input, "ruleDatamartTableAttribute", "true");
             	    }
-            	    // InternalReportDSL.g:5837:19: (otherlv_6= 'intervals' ( (lv_hideLabelInterval_7_0= 'hidelabel' ) )? otherlv_8= '{' ( (lv_intervals_9_0= ruleTableInterval ) )* otherlv_10= '}' )
-            	    // InternalReportDSL.g:5837:20: otherlv_6= 'intervals' ( (lv_hideLabelInterval_7_0= 'hidelabel' ) )? otherlv_8= '{' ( (lv_intervals_9_0= ruleTableInterval ) )* otherlv_10= '}'
+            	    // InternalReportDSL.g:6138:19: (otherlv_6= 'intervals' ( (lv_hideLabelInterval_7_0= 'hidelabel' ) )? otherlv_8= '{' ( (lv_intervals_9_0= ruleTableInterval ) )* otherlv_10= '}' )
+            	    // InternalReportDSL.g:6138:20: otherlv_6= 'intervals' ( (lv_hideLabelInterval_7_0= 'hidelabel' ) )? otherlv_8= '{' ( (lv_intervals_9_0= ruleTableInterval ) )* otherlv_10= '}'
             	    {
-            	    otherlv_6=(Token)match(input,96,FOLLOW_101); if (state.failed) return current;
+            	    otherlv_6=(Token)match(input,95,FOLLOW_93); if (state.failed) return current;
             	    if ( state.backtracking==0 ) {
 
             	      									newLeafNode(otherlv_6, grammarAccess.getDatamartTableAttributeAccess().getIntervalsKeyword_1_2_0());
             	      								
             	    }
-            	    // InternalReportDSL.g:5841:9: ( (lv_hideLabelInterval_7_0= 'hidelabel' ) )?
-            	    int alt80=2;
-            	    int LA80_0 = input.LA(1);
+            	    // InternalReportDSL.g:6142:9: ( (lv_hideLabelInterval_7_0= 'hidelabel' ) )?
+            	    int alt68=2;
+            	    int LA68_0 = input.LA(1);
 
-            	    if ( (LA80_0==97) ) {
-            	        alt80=1;
+            	    if ( (LA68_0==96) ) {
+            	        alt68=1;
             	    }
-            	    switch (alt80) {
+            	    switch (alt68) {
             	        case 1 :
-            	            // InternalReportDSL.g:5842:10: (lv_hideLabelInterval_7_0= 'hidelabel' )
+            	            // InternalReportDSL.g:6143:10: (lv_hideLabelInterval_7_0= 'hidelabel' )
             	            {
-            	            // InternalReportDSL.g:5842:10: (lv_hideLabelInterval_7_0= 'hidelabel' )
-            	            // InternalReportDSL.g:5843:11: lv_hideLabelInterval_7_0= 'hidelabel'
+            	            // InternalReportDSL.g:6143:10: (lv_hideLabelInterval_7_0= 'hidelabel' )
+            	            // InternalReportDSL.g:6144:11: lv_hideLabelInterval_7_0= 'hidelabel'
             	            {
-            	            lv_hideLabelInterval_7_0=(Token)match(input,97,FOLLOW_5); if (state.failed) return current;
+            	            lv_hideLabelInterval_7_0=(Token)match(input,96,FOLLOW_5); if (state.failed) return current;
             	            if ( state.backtracking==0 ) {
 
             	              											newLeafNode(lv_hideLabelInterval_7_0, grammarAccess.getDatamartTableAttributeAccess().getHideLabelIntervalHidelabelKeyword_1_2_1_0());
@@ -15280,36 +16112,36 @@
 
             	    }
 
-            	    otherlv_8=(Token)match(input,14,FOLLOW_102); if (state.failed) return current;
+            	    otherlv_8=(Token)match(input,14,FOLLOW_94); if (state.failed) return current;
             	    if ( state.backtracking==0 ) {
 
             	      									newLeafNode(otherlv_8, grammarAccess.getDatamartTableAttributeAccess().getLeftCurlyBracketKeyword_1_2_2());
             	      								
             	    }
-            	    // InternalReportDSL.g:5859:9: ( (lv_intervals_9_0= ruleTableInterval ) )*
-            	    loop81:
+            	    // InternalReportDSL.g:6160:9: ( (lv_intervals_9_0= ruleTableInterval ) )*
+            	    loop69:
             	    do {
-            	        int alt81=2;
-            	        int LA81_0 = input.LA(1);
+            	        int alt69=2;
+            	        int LA69_0 = input.LA(1);
 
-            	        if ( ((LA81_0>=112 && LA81_0<=113)) ) {
-            	            alt81=1;
+            	        if ( ((LA69_0>=111 && LA69_0<=112)) ) {
+            	            alt69=1;
             	        }
 
 
-            	        switch (alt81) {
+            	        switch (alt69) {
             	    	case 1 :
-            	    	    // InternalReportDSL.g:5860:10: (lv_intervals_9_0= ruleTableInterval )
+            	    	    // InternalReportDSL.g:6161:10: (lv_intervals_9_0= ruleTableInterval )
             	    	    {
-            	    	    // InternalReportDSL.g:5860:10: (lv_intervals_9_0= ruleTableInterval )
-            	    	    // InternalReportDSL.g:5861:11: lv_intervals_9_0= ruleTableInterval
+            	    	    // InternalReportDSL.g:6161:10: (lv_intervals_9_0= ruleTableInterval )
+            	    	    // InternalReportDSL.g:6162:11: lv_intervals_9_0= ruleTableInterval
             	    	    {
             	    	    if ( state.backtracking==0 ) {
 
             	    	      											newCompositeNode(grammarAccess.getDatamartTableAttributeAccess().getIntervalsTableIntervalParserRuleCall_1_2_3_0());
             	    	      										
             	    	    }
-            	    	    pushFollow(FOLLOW_102);
+            	    	    pushFollow(FOLLOW_94);
             	    	    lv_intervals_9_0=ruleTableInterval();
 
             	    	    state._fsp--;
@@ -15335,11 +16167,11 @@
             	    	    break;
 
             	    	default :
-            	    	    break loop81;
+            	    	    break loop69;
             	        }
             	    } while (true);
 
-            	    otherlv_10=(Token)match(input,18,FOLLOW_100); if (state.failed) return current;
+            	    otherlv_10=(Token)match(input,18,FOLLOW_92); if (state.failed) return current;
             	    if ( state.backtracking==0 ) {
 
             	      									newLeafNode(otherlv_10, grammarAccess.getDatamartTableAttributeAccess().getRightCurlyBracketKeyword_1_2_4());
@@ -15362,50 +16194,50 @@
             	    }
             	    break;
             	case 4 :
-            	    // InternalReportDSL.g:5888:4: ({...}? => ( ({...}? => (otherlv_11= 'lookups' ( (lv_hideLabelLookup_12_0= 'hidelabel' ) )? otherlv_13= '{' ( (lv_lookups_14_0= ruleTableLookup ) )* otherlv_15= '}' ) ) ) )
+            	    // InternalReportDSL.g:6189:4: ({...}? => ( ({...}? => (otherlv_11= 'lookups' ( (lv_hideLabelLookup_12_0= 'hidelabel' ) )? otherlv_13= '{' ( (lv_lookups_14_0= ruleTableLookup ) )* otherlv_15= '}' ) ) ) )
             	    {
-            	    // InternalReportDSL.g:5888:4: ({...}? => ( ({...}? => (otherlv_11= 'lookups' ( (lv_hideLabelLookup_12_0= 'hidelabel' ) )? otherlv_13= '{' ( (lv_lookups_14_0= ruleTableLookup ) )* otherlv_15= '}' ) ) ) )
-            	    // InternalReportDSL.g:5889:5: {...}? => ( ({...}? => (otherlv_11= 'lookups' ( (lv_hideLabelLookup_12_0= 'hidelabel' ) )? otherlv_13= '{' ( (lv_lookups_14_0= ruleTableLookup ) )* otherlv_15= '}' ) ) )
+            	    // InternalReportDSL.g:6189:4: ({...}? => ( ({...}? => (otherlv_11= 'lookups' ( (lv_hideLabelLookup_12_0= 'hidelabel' ) )? otherlv_13= '{' ( (lv_lookups_14_0= ruleTableLookup ) )* otherlv_15= '}' ) ) ) )
+            	    // InternalReportDSL.g:6190:5: {...}? => ( ({...}? => (otherlv_11= 'lookups' ( (lv_hideLabelLookup_12_0= 'hidelabel' ) )? otherlv_13= '{' ( (lv_lookups_14_0= ruleTableLookup ) )* otherlv_15= '}' ) ) )
             	    {
             	    if ( ! getUnorderedGroupHelper().canSelect(grammarAccess.getDatamartTableAttributeAccess().getUnorderedGroup_1(), 3) ) {
             	        if (state.backtracking>0) {state.failed=true; return current;}
             	        throw new FailedPredicateException(input, "ruleDatamartTableAttribute", "getUnorderedGroupHelper().canSelect(grammarAccess.getDatamartTableAttributeAccess().getUnorderedGroup_1(), 3)");
             	    }
-            	    // InternalReportDSL.g:5889:119: ( ({...}? => (otherlv_11= 'lookups' ( (lv_hideLabelLookup_12_0= 'hidelabel' ) )? otherlv_13= '{' ( (lv_lookups_14_0= ruleTableLookup ) )* otherlv_15= '}' ) ) )
-            	    // InternalReportDSL.g:5890:6: ({...}? => (otherlv_11= 'lookups' ( (lv_hideLabelLookup_12_0= 'hidelabel' ) )? otherlv_13= '{' ( (lv_lookups_14_0= ruleTableLookup ) )* otherlv_15= '}' ) )
+            	    // InternalReportDSL.g:6190:119: ( ({...}? => (otherlv_11= 'lookups' ( (lv_hideLabelLookup_12_0= 'hidelabel' ) )? otherlv_13= '{' ( (lv_lookups_14_0= ruleTableLookup ) )* otherlv_15= '}' ) ) )
+            	    // InternalReportDSL.g:6191:6: ({...}? => (otherlv_11= 'lookups' ( (lv_hideLabelLookup_12_0= 'hidelabel' ) )? otherlv_13= '{' ( (lv_lookups_14_0= ruleTableLookup ) )* otherlv_15= '}' ) )
             	    {
             	    getUnorderedGroupHelper().select(grammarAccess.getDatamartTableAttributeAccess().getUnorderedGroup_1(), 3);
-            	    // InternalReportDSL.g:5893:9: ({...}? => (otherlv_11= 'lookups' ( (lv_hideLabelLookup_12_0= 'hidelabel' ) )? otherlv_13= '{' ( (lv_lookups_14_0= ruleTableLookup ) )* otherlv_15= '}' ) )
-            	    // InternalReportDSL.g:5893:10: {...}? => (otherlv_11= 'lookups' ( (lv_hideLabelLookup_12_0= 'hidelabel' ) )? otherlv_13= '{' ( (lv_lookups_14_0= ruleTableLookup ) )* otherlv_15= '}' )
+            	    // InternalReportDSL.g:6194:9: ({...}? => (otherlv_11= 'lookups' ( (lv_hideLabelLookup_12_0= 'hidelabel' ) )? otherlv_13= '{' ( (lv_lookups_14_0= ruleTableLookup ) )* otherlv_15= '}' ) )
+            	    // InternalReportDSL.g:6194:10: {...}? => (otherlv_11= 'lookups' ( (lv_hideLabelLookup_12_0= 'hidelabel' ) )? otherlv_13= '{' ( (lv_lookups_14_0= ruleTableLookup ) )* otherlv_15= '}' )
             	    {
             	    if ( !((true)) ) {
             	        if (state.backtracking>0) {state.failed=true; return current;}
             	        throw new FailedPredicateException(input, "ruleDatamartTableAttribute", "true");
             	    }
-            	    // InternalReportDSL.g:5893:19: (otherlv_11= 'lookups' ( (lv_hideLabelLookup_12_0= 'hidelabel' ) )? otherlv_13= '{' ( (lv_lookups_14_0= ruleTableLookup ) )* otherlv_15= '}' )
-            	    // InternalReportDSL.g:5893:20: otherlv_11= 'lookups' ( (lv_hideLabelLookup_12_0= 'hidelabel' ) )? otherlv_13= '{' ( (lv_lookups_14_0= ruleTableLookup ) )* otherlv_15= '}'
+            	    // InternalReportDSL.g:6194:19: (otherlv_11= 'lookups' ( (lv_hideLabelLookup_12_0= 'hidelabel' ) )? otherlv_13= '{' ( (lv_lookups_14_0= ruleTableLookup ) )* otherlv_15= '}' )
+            	    // InternalReportDSL.g:6194:20: otherlv_11= 'lookups' ( (lv_hideLabelLookup_12_0= 'hidelabel' ) )? otherlv_13= '{' ( (lv_lookups_14_0= ruleTableLookup ) )* otherlv_15= '}'
             	    {
-            	    otherlv_11=(Token)match(input,98,FOLLOW_101); if (state.failed) return current;
+            	    otherlv_11=(Token)match(input,97,FOLLOW_93); if (state.failed) return current;
             	    if ( state.backtracking==0 ) {
 
             	      									newLeafNode(otherlv_11, grammarAccess.getDatamartTableAttributeAccess().getLookupsKeyword_1_3_0());
             	      								
             	    }
-            	    // InternalReportDSL.g:5897:9: ( (lv_hideLabelLookup_12_0= 'hidelabel' ) )?
-            	    int alt82=2;
-            	    int LA82_0 = input.LA(1);
+            	    // InternalReportDSL.g:6198:9: ( (lv_hideLabelLookup_12_0= 'hidelabel' ) )?
+            	    int alt70=2;
+            	    int LA70_0 = input.LA(1);
 
-            	    if ( (LA82_0==97) ) {
-            	        alt82=1;
+            	    if ( (LA70_0==96) ) {
+            	        alt70=1;
             	    }
-            	    switch (alt82) {
+            	    switch (alt70) {
             	        case 1 :
-            	            // InternalReportDSL.g:5898:10: (lv_hideLabelLookup_12_0= 'hidelabel' )
+            	            // InternalReportDSL.g:6199:10: (lv_hideLabelLookup_12_0= 'hidelabel' )
             	            {
-            	            // InternalReportDSL.g:5898:10: (lv_hideLabelLookup_12_0= 'hidelabel' )
-            	            // InternalReportDSL.g:5899:11: lv_hideLabelLookup_12_0= 'hidelabel'
+            	            // InternalReportDSL.g:6199:10: (lv_hideLabelLookup_12_0= 'hidelabel' )
+            	            // InternalReportDSL.g:6200:11: lv_hideLabelLookup_12_0= 'hidelabel'
             	            {
-            	            lv_hideLabelLookup_12_0=(Token)match(input,97,FOLLOW_5); if (state.failed) return current;
+            	            lv_hideLabelLookup_12_0=(Token)match(input,96,FOLLOW_5); if (state.failed) return current;
             	            if ( state.backtracking==0 ) {
 
             	              											newLeafNode(lv_hideLabelLookup_12_0, grammarAccess.getDatamartTableAttributeAccess().getHideLabelLookupHidelabelKeyword_1_3_1_0());
@@ -15428,36 +16260,36 @@
 
             	    }
 
-            	    otherlv_13=(Token)match(input,14,FOLLOW_103); if (state.failed) return current;
+            	    otherlv_13=(Token)match(input,14,FOLLOW_95); if (state.failed) return current;
             	    if ( state.backtracking==0 ) {
 
             	      									newLeafNode(otherlv_13, grammarAccess.getDatamartTableAttributeAccess().getLeftCurlyBracketKeyword_1_3_2());
             	      								
             	    }
-            	    // InternalReportDSL.g:5915:9: ( (lv_lookups_14_0= ruleTableLookup ) )*
-            	    loop83:
+            	    // InternalReportDSL.g:6216:9: ( (lv_lookups_14_0= ruleTableLookup ) )*
+            	    loop71:
             	    do {
-            	        int alt83=2;
-            	        int LA83_0 = input.LA(1);
+            	        int alt71=2;
+            	        int LA71_0 = input.LA(1);
 
-            	        if ( (LA83_0==64||(LA83_0>=113 && LA83_0<=114)) ) {
-            	            alt83=1;
+            	        if ( (LA71_0==65||(LA71_0>=112 && LA71_0<=113)) ) {
+            	            alt71=1;
             	        }
 
 
-            	        switch (alt83) {
+            	        switch (alt71) {
             	    	case 1 :
-            	    	    // InternalReportDSL.g:5916:10: (lv_lookups_14_0= ruleTableLookup )
+            	    	    // InternalReportDSL.g:6217:10: (lv_lookups_14_0= ruleTableLookup )
             	    	    {
-            	    	    // InternalReportDSL.g:5916:10: (lv_lookups_14_0= ruleTableLookup )
-            	    	    // InternalReportDSL.g:5917:11: lv_lookups_14_0= ruleTableLookup
+            	    	    // InternalReportDSL.g:6217:10: (lv_lookups_14_0= ruleTableLookup )
+            	    	    // InternalReportDSL.g:6218:11: lv_lookups_14_0= ruleTableLookup
             	    	    {
             	    	    if ( state.backtracking==0 ) {
 
             	    	      											newCompositeNode(grammarAccess.getDatamartTableAttributeAccess().getLookupsTableLookupParserRuleCall_1_3_3_0());
             	    	      										
             	    	    }
-            	    	    pushFollow(FOLLOW_103);
+            	    	    pushFollow(FOLLOW_95);
             	    	    lv_lookups_14_0=ruleTableLookup();
 
             	    	    state._fsp--;
@@ -15483,11 +16315,11 @@
             	    	    break;
 
             	    	default :
-            	    	    break loop83;
+            	    	    break loop71;
             	        }
             	    } while (true);
 
-            	    otherlv_15=(Token)match(input,18,FOLLOW_100); if (state.failed) return current;
+            	    otherlv_15=(Token)match(input,18,FOLLOW_92); if (state.failed) return current;
             	    if ( state.backtracking==0 ) {
 
             	      									newLeafNode(otherlv_15, grammarAccess.getDatamartTableAttributeAccess().getRightCurlyBracketKeyword_1_3_4());
@@ -15511,7 +16343,7 @@
             	    break;
 
             	default :
-            	    break loop84;
+            	    break loop72;
                 }
             } while (true);
 
@@ -15550,7 +16382,7 @@
 
 
     // $ANTLR start "entryRuleTableValueElement"
-    // InternalReportDSL.g:5955:1: entryRuleTableValueElement returns [EObject current=null] : iv_ruleTableValueElement= ruleTableValueElement EOF ;
+    // InternalReportDSL.g:6256:1: entryRuleTableValueElement returns [EObject current=null] : iv_ruleTableValueElement= ruleTableValueElement EOF ;
     public final EObject entryRuleTableValueElement() throws RecognitionException {
         EObject current = null;
 
@@ -15558,8 +16390,8 @@
 
 
         try {
-            // InternalReportDSL.g:5955:58: (iv_ruleTableValueElement= ruleTableValueElement EOF )
-            // InternalReportDSL.g:5956:2: iv_ruleTableValueElement= ruleTableValueElement EOF
+            // InternalReportDSL.g:6256:58: (iv_ruleTableValueElement= ruleTableValueElement EOF )
+            // InternalReportDSL.g:6257:2: iv_ruleTableValueElement= ruleTableValueElement EOF
             {
             if ( state.backtracking==0 ) {
                newCompositeNode(grammarAccess.getTableValueElementRule()); 
@@ -15590,7 +16422,7 @@
 
 
     // $ANTLR start "ruleTableValueElement"
-    // InternalReportDSL.g:5962:1: ruleTableValueElement returns [EObject current=null] : (this_TableAttribute_0= ruleTableAttribute | this_TableAggregation_1= ruleTableAggregation ) ;
+    // InternalReportDSL.g:6263:1: ruleTableValueElement returns [EObject current=null] : (this_TableAttribute_0= ruleTableAttribute | this_TableAggregation_1= ruleTableAggregation ) ;
     public final EObject ruleTableValueElement() throws RecognitionException {
         EObject current = null;
 
@@ -15603,29 +16435,29 @@
         	enterRule();
 
         try {
-            // InternalReportDSL.g:5968:2: ( (this_TableAttribute_0= ruleTableAttribute | this_TableAggregation_1= ruleTableAggregation ) )
-            // InternalReportDSL.g:5969:2: (this_TableAttribute_0= ruleTableAttribute | this_TableAggregation_1= ruleTableAggregation )
+            // InternalReportDSL.g:6269:2: ( (this_TableAttribute_0= ruleTableAttribute | this_TableAggregation_1= ruleTableAggregation ) )
+            // InternalReportDSL.g:6270:2: (this_TableAttribute_0= ruleTableAttribute | this_TableAggregation_1= ruleTableAggregation )
             {
-            // InternalReportDSL.g:5969:2: (this_TableAttribute_0= ruleTableAttribute | this_TableAggregation_1= ruleTableAggregation )
-            int alt85=2;
-            int LA85_0 = input.LA(1);
+            // InternalReportDSL.g:6270:2: (this_TableAttribute_0= ruleTableAttribute | this_TableAggregation_1= ruleTableAggregation )
+            int alt73=2;
+            int LA73_0 = input.LA(1);
 
-            if ( (LA85_0==99) ) {
-                alt85=1;
+            if ( (LA73_0==98) ) {
+                alt73=1;
             }
-            else if ( (LA85_0==100) ) {
-                alt85=2;
+            else if ( (LA73_0==99) ) {
+                alt73=2;
             }
             else {
                 if (state.backtracking>0) {state.failed=true; return current;}
                 NoViableAltException nvae =
-                    new NoViableAltException("", 85, 0, input);
+                    new NoViableAltException("", 73, 0, input);
 
                 throw nvae;
             }
-            switch (alt85) {
+            switch (alt73) {
                 case 1 :
-                    // InternalReportDSL.g:5970:3: this_TableAttribute_0= ruleTableAttribute
+                    // InternalReportDSL.g:6271:3: this_TableAttribute_0= ruleTableAttribute
                     {
                     if ( state.backtracking==0 ) {
 
@@ -15647,7 +16479,7 @@
                     }
                     break;
                 case 2 :
-                    // InternalReportDSL.g:5979:3: this_TableAggregation_1= ruleTableAggregation
+                    // InternalReportDSL.g:6280:3: this_TableAggregation_1= ruleTableAggregation
                     {
                     if ( state.backtracking==0 ) {
 
@@ -15693,7 +16525,7 @@
 
 
     // $ANTLR start "entryRuleTableAttribute"
-    // InternalReportDSL.g:5991:1: entryRuleTableAttribute returns [EObject current=null] : iv_ruleTableAttribute= ruleTableAttribute EOF ;
+    // InternalReportDSL.g:6292:1: entryRuleTableAttribute returns [EObject current=null] : iv_ruleTableAttribute= ruleTableAttribute EOF ;
     public final EObject entryRuleTableAttribute() throws RecognitionException {
         EObject current = null;
 
@@ -15701,8 +16533,8 @@
 
 
         try {
-            // InternalReportDSL.g:5991:55: (iv_ruleTableAttribute= ruleTableAttribute EOF )
-            // InternalReportDSL.g:5992:2: iv_ruleTableAttribute= ruleTableAttribute EOF
+            // InternalReportDSL.g:6292:55: (iv_ruleTableAttribute= ruleTableAttribute EOF )
+            // InternalReportDSL.g:6293:2: iv_ruleTableAttribute= ruleTableAttribute EOF
             {
             if ( state.backtracking==0 ) {
                newCompositeNode(grammarAccess.getTableAttributeRule()); 
@@ -15733,7 +16565,7 @@
 
 
     // $ANTLR start "ruleTableAttribute"
-    // InternalReportDSL.g:5998:1: ruleTableAttribute returns [EObject current=null] : (otherlv_0= 'attribute' ( (otherlv_1= RULE_ID ) ) ) ;
+    // InternalReportDSL.g:6299:1: ruleTableAttribute returns [EObject current=null] : (otherlv_0= 'attribute' ( (otherlv_1= RULE_ID ) ) ) ;
     public final EObject ruleTableAttribute() throws RecognitionException {
         EObject current = null;
 
@@ -15744,23 +16576,23 @@
         	enterRule();
 
         try {
-            // InternalReportDSL.g:6004:2: ( (otherlv_0= 'attribute' ( (otherlv_1= RULE_ID ) ) ) )
-            // InternalReportDSL.g:6005:2: (otherlv_0= 'attribute' ( (otherlv_1= RULE_ID ) ) )
+            // InternalReportDSL.g:6305:2: ( (otherlv_0= 'attribute' ( (otherlv_1= RULE_ID ) ) ) )
+            // InternalReportDSL.g:6306:2: (otherlv_0= 'attribute' ( (otherlv_1= RULE_ID ) ) )
             {
-            // InternalReportDSL.g:6005:2: (otherlv_0= 'attribute' ( (otherlv_1= RULE_ID ) ) )
-            // InternalReportDSL.g:6006:3: otherlv_0= 'attribute' ( (otherlv_1= RULE_ID ) )
+            // InternalReportDSL.g:6306:2: (otherlv_0= 'attribute' ( (otherlv_1= RULE_ID ) ) )
+            // InternalReportDSL.g:6307:3: otherlv_0= 'attribute' ( (otherlv_1= RULE_ID ) )
             {
-            otherlv_0=(Token)match(input,99,FOLLOW_4); if (state.failed) return current;
+            otherlv_0=(Token)match(input,98,FOLLOW_4); if (state.failed) return current;
             if ( state.backtracking==0 ) {
 
               			newLeafNode(otherlv_0, grammarAccess.getTableAttributeAccess().getAttributeKeyword_0());
               		
             }
-            // InternalReportDSL.g:6010:3: ( (otherlv_1= RULE_ID ) )
-            // InternalReportDSL.g:6011:4: (otherlv_1= RULE_ID )
+            // InternalReportDSL.g:6311:3: ( (otherlv_1= RULE_ID ) )
+            // InternalReportDSL.g:6312:4: (otherlv_1= RULE_ID )
             {
-            // InternalReportDSL.g:6011:4: (otherlv_1= RULE_ID )
-            // InternalReportDSL.g:6012:5: otherlv_1= RULE_ID
+            // InternalReportDSL.g:6312:4: (otherlv_1= RULE_ID )
+            // InternalReportDSL.g:6313:5: otherlv_1= RULE_ID
             {
             if ( state.backtracking==0 ) {
 
@@ -15806,7 +16638,7 @@
 
 
     // $ANTLR start "entryRuleTableAggregation"
-    // InternalReportDSL.g:6027:1: entryRuleTableAggregation returns [EObject current=null] : iv_ruleTableAggregation= ruleTableAggregation EOF ;
+    // InternalReportDSL.g:6328:1: entryRuleTableAggregation returns [EObject current=null] : iv_ruleTableAggregation= ruleTableAggregation EOF ;
     public final EObject entryRuleTableAggregation() throws RecognitionException {
         EObject current = null;
 
@@ -15814,8 +16646,8 @@
 
 
         try {
-            // InternalReportDSL.g:6027:57: (iv_ruleTableAggregation= ruleTableAggregation EOF )
-            // InternalReportDSL.g:6028:2: iv_ruleTableAggregation= ruleTableAggregation EOF
+            // InternalReportDSL.g:6328:57: (iv_ruleTableAggregation= ruleTableAggregation EOF )
+            // InternalReportDSL.g:6329:2: iv_ruleTableAggregation= ruleTableAggregation EOF
             {
             if ( state.backtracking==0 ) {
                newCompositeNode(grammarAccess.getTableAggregationRule()); 
@@ -15846,7 +16678,7 @@
 
 
     // $ANTLR start "ruleTableAggregation"
-    // InternalReportDSL.g:6034:1: ruleTableAggregation returns [EObject current=null] : (otherlv_0= 'aggregate' ( (lv_aggregation_1_0= ruleTableBaseAggregation ) ) ( ( ( ( ({...}? => ( ({...}? => (otherlv_3= 'on-group' ( (otherlv_4= RULE_ID ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_5= 'title' ( (lv_text_6_0= ruleTRANSLATABLESTRING ) ) ) ) ) ) )* ) ) ) ) ;
+    // InternalReportDSL.g:6335:1: ruleTableAggregation returns [EObject current=null] : (otherlv_0= 'aggregate' ( (lv_aggregation_1_0= ruleTableBaseAggregation ) ) ( ( ( ( ({...}? => ( ({...}? => (otherlv_3= 'on-group' ( (otherlv_4= RULE_ID ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_5= 'title' ( (lv_text_6_0= ruleTRANSLATABLESTRING ) ) ) ) ) ) )* ) ) ) ) ;
     public final EObject ruleTableAggregation() throws RecognitionException {
         EObject current = null;
 
@@ -15863,30 +16695,30 @@
         	enterRule();
 
         try {
-            // InternalReportDSL.g:6040:2: ( (otherlv_0= 'aggregate' ( (lv_aggregation_1_0= ruleTableBaseAggregation ) ) ( ( ( ( ({...}? => ( ({...}? => (otherlv_3= 'on-group' ( (otherlv_4= RULE_ID ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_5= 'title' ( (lv_text_6_0= ruleTRANSLATABLESTRING ) ) ) ) ) ) )* ) ) ) ) )
-            // InternalReportDSL.g:6041:2: (otherlv_0= 'aggregate' ( (lv_aggregation_1_0= ruleTableBaseAggregation ) ) ( ( ( ( ({...}? => ( ({...}? => (otherlv_3= 'on-group' ( (otherlv_4= RULE_ID ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_5= 'title' ( (lv_text_6_0= ruleTRANSLATABLESTRING ) ) ) ) ) ) )* ) ) ) )
+            // InternalReportDSL.g:6341:2: ( (otherlv_0= 'aggregate' ( (lv_aggregation_1_0= ruleTableBaseAggregation ) ) ( ( ( ( ({...}? => ( ({...}? => (otherlv_3= 'on-group' ( (otherlv_4= RULE_ID ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_5= 'title' ( (lv_text_6_0= ruleTRANSLATABLESTRING ) ) ) ) ) ) )* ) ) ) ) )
+            // InternalReportDSL.g:6342:2: (otherlv_0= 'aggregate' ( (lv_aggregation_1_0= ruleTableBaseAggregation ) ) ( ( ( ( ({...}? => ( ({...}? => (otherlv_3= 'on-group' ( (otherlv_4= RULE_ID ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_5= 'title' ( (lv_text_6_0= ruleTRANSLATABLESTRING ) ) ) ) ) ) )* ) ) ) )
             {
-            // InternalReportDSL.g:6041:2: (otherlv_0= 'aggregate' ( (lv_aggregation_1_0= ruleTableBaseAggregation ) ) ( ( ( ( ({...}? => ( ({...}? => (otherlv_3= 'on-group' ( (otherlv_4= RULE_ID ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_5= 'title' ( (lv_text_6_0= ruleTRANSLATABLESTRING ) ) ) ) ) ) )* ) ) ) )
-            // InternalReportDSL.g:6042:3: otherlv_0= 'aggregate' ( (lv_aggregation_1_0= ruleTableBaseAggregation ) ) ( ( ( ( ({...}? => ( ({...}? => (otherlv_3= 'on-group' ( (otherlv_4= RULE_ID ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_5= 'title' ( (lv_text_6_0= ruleTRANSLATABLESTRING ) ) ) ) ) ) )* ) ) )
+            // InternalReportDSL.g:6342:2: (otherlv_0= 'aggregate' ( (lv_aggregation_1_0= ruleTableBaseAggregation ) ) ( ( ( ( ({...}? => ( ({...}? => (otherlv_3= 'on-group' ( (otherlv_4= RULE_ID ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_5= 'title' ( (lv_text_6_0= ruleTRANSLATABLESTRING ) ) ) ) ) ) )* ) ) ) )
+            // InternalReportDSL.g:6343:3: otherlv_0= 'aggregate' ( (lv_aggregation_1_0= ruleTableBaseAggregation ) ) ( ( ( ( ({...}? => ( ({...}? => (otherlv_3= 'on-group' ( (otherlv_4= RULE_ID ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_5= 'title' ( (lv_text_6_0= ruleTRANSLATABLESTRING ) ) ) ) ) ) )* ) ) )
             {
-            otherlv_0=(Token)match(input,100,FOLLOW_104); if (state.failed) return current;
+            otherlv_0=(Token)match(input,99,FOLLOW_96); if (state.failed) return current;
             if ( state.backtracking==0 ) {
 
               			newLeafNode(otherlv_0, grammarAccess.getTableAggregationAccess().getAggregateKeyword_0());
               		
             }
-            // InternalReportDSL.g:6046:3: ( (lv_aggregation_1_0= ruleTableBaseAggregation ) )
-            // InternalReportDSL.g:6047:4: (lv_aggregation_1_0= ruleTableBaseAggregation )
+            // InternalReportDSL.g:6347:3: ( (lv_aggregation_1_0= ruleTableBaseAggregation ) )
+            // InternalReportDSL.g:6348:4: (lv_aggregation_1_0= ruleTableBaseAggregation )
             {
-            // InternalReportDSL.g:6047:4: (lv_aggregation_1_0= ruleTableBaseAggregation )
-            // InternalReportDSL.g:6048:5: lv_aggregation_1_0= ruleTableBaseAggregation
+            // InternalReportDSL.g:6348:4: (lv_aggregation_1_0= ruleTableBaseAggregation )
+            // InternalReportDSL.g:6349:5: lv_aggregation_1_0= ruleTableBaseAggregation
             {
             if ( state.backtracking==0 ) {
 
               					newCompositeNode(grammarAccess.getTableAggregationAccess().getAggregationTableBaseAggregationParserRuleCall_1_0());
               				
             }
-            pushFollow(FOLLOW_105);
+            pushFollow(FOLLOW_97);
             lv_aggregation_1_0=ruleTableBaseAggregation();
 
             state._fsp--;
@@ -15910,30 +16742,30 @@
 
             }
 
-            // InternalReportDSL.g:6065:3: ( ( ( ( ({...}? => ( ({...}? => (otherlv_3= 'on-group' ( (otherlv_4= RULE_ID ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_5= 'title' ( (lv_text_6_0= ruleTRANSLATABLESTRING ) ) ) ) ) ) )* ) ) )
-            // InternalReportDSL.g:6066:4: ( ( ( ({...}? => ( ({...}? => (otherlv_3= 'on-group' ( (otherlv_4= RULE_ID ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_5= 'title' ( (lv_text_6_0= ruleTRANSLATABLESTRING ) ) ) ) ) ) )* ) )
+            // InternalReportDSL.g:6366:3: ( ( ( ( ({...}? => ( ({...}? => (otherlv_3= 'on-group' ( (otherlv_4= RULE_ID ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_5= 'title' ( (lv_text_6_0= ruleTRANSLATABLESTRING ) ) ) ) ) ) )* ) ) )
+            // InternalReportDSL.g:6367:4: ( ( ( ({...}? => ( ({...}? => (otherlv_3= 'on-group' ( (otherlv_4= RULE_ID ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_5= 'title' ( (lv_text_6_0= ruleTRANSLATABLESTRING ) ) ) ) ) ) )* ) )
             {
-            // InternalReportDSL.g:6066:4: ( ( ( ({...}? => ( ({...}? => (otherlv_3= 'on-group' ( (otherlv_4= RULE_ID ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_5= 'title' ( (lv_text_6_0= ruleTRANSLATABLESTRING ) ) ) ) ) ) )* ) )
-            // InternalReportDSL.g:6067:5: ( ( ({...}? => ( ({...}? => (otherlv_3= 'on-group' ( (otherlv_4= RULE_ID ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_5= 'title' ( (lv_text_6_0= ruleTRANSLATABLESTRING ) ) ) ) ) ) )* )
+            // InternalReportDSL.g:6367:4: ( ( ( ({...}? => ( ({...}? => (otherlv_3= 'on-group' ( (otherlv_4= RULE_ID ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_5= 'title' ( (lv_text_6_0= ruleTRANSLATABLESTRING ) ) ) ) ) ) )* ) )
+            // InternalReportDSL.g:6368:5: ( ( ({...}? => ( ({...}? => (otherlv_3= 'on-group' ( (otherlv_4= RULE_ID ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_5= 'title' ( (lv_text_6_0= ruleTRANSLATABLESTRING ) ) ) ) ) ) )* )
             {
             getUnorderedGroupHelper().enter(grammarAccess.getTableAggregationAccess().getUnorderedGroup_2());
-            // InternalReportDSL.g:6070:5: ( ( ({...}? => ( ({...}? => (otherlv_3= 'on-group' ( (otherlv_4= RULE_ID ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_5= 'title' ( (lv_text_6_0= ruleTRANSLATABLESTRING ) ) ) ) ) ) )* )
-            // InternalReportDSL.g:6071:6: ( ({...}? => ( ({...}? => (otherlv_3= 'on-group' ( (otherlv_4= RULE_ID ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_5= 'title' ( (lv_text_6_0= ruleTRANSLATABLESTRING ) ) ) ) ) ) )*
+            // InternalReportDSL.g:6371:5: ( ( ({...}? => ( ({...}? => (otherlv_3= 'on-group' ( (otherlv_4= RULE_ID ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_5= 'title' ( (lv_text_6_0= ruleTRANSLATABLESTRING ) ) ) ) ) ) )* )
+            // InternalReportDSL.g:6372:6: ( ({...}? => ( ({...}? => (otherlv_3= 'on-group' ( (otherlv_4= RULE_ID ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_5= 'title' ( (lv_text_6_0= ruleTRANSLATABLESTRING ) ) ) ) ) ) )*
             {
-            // InternalReportDSL.g:6071:6: ( ({...}? => ( ({...}? => (otherlv_3= 'on-group' ( (otherlv_4= RULE_ID ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_5= 'title' ( (lv_text_6_0= ruleTRANSLATABLESTRING ) ) ) ) ) ) )*
-            loop86:
+            // InternalReportDSL.g:6372:6: ( ({...}? => ( ({...}? => (otherlv_3= 'on-group' ( (otherlv_4= RULE_ID ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_5= 'title' ( (lv_text_6_0= ruleTRANSLATABLESTRING ) ) ) ) ) ) )*
+            loop74:
             do {
-                int alt86=3;
-                int LA86_0 = input.LA(1);
+                int alt74=3;
+                int LA74_0 = input.LA(1);
 
-                if ( (LA86_0==102) ) {
-                    int LA86_2 = input.LA(2);
+                if ( (LA74_0==101) ) {
+                    int LA74_2 = input.LA(2);
 
-                    if ( (LA86_2==RULE_STRING) ) {
-                        int LA86_4 = input.LA(3);
+                    if ( (LA74_2==RULE_STRING) ) {
+                        int LA74_4 = input.LA(3);
 
                         if ( getUnorderedGroupHelper().canSelect(grammarAccess.getTableAggregationAccess().getUnorderedGroup_2(), 1) ) {
-                            alt86=2;
+                            alt74=2;
                         }
 
 
@@ -15941,47 +16773,47 @@
 
 
                 }
-                else if ( LA86_0 == 101 && getUnorderedGroupHelper().canSelect(grammarAccess.getTableAggregationAccess().getUnorderedGroup_2(), 0) ) {
-                    alt86=1;
+                else if ( LA74_0 == 100 && getUnorderedGroupHelper().canSelect(grammarAccess.getTableAggregationAccess().getUnorderedGroup_2(), 0) ) {
+                    alt74=1;
                 }
 
 
-                switch (alt86) {
+                switch (alt74) {
             	case 1 :
-            	    // InternalReportDSL.g:6072:4: ({...}? => ( ({...}? => (otherlv_3= 'on-group' ( (otherlv_4= RULE_ID ) ) ) ) ) )
+            	    // InternalReportDSL.g:6373:4: ({...}? => ( ({...}? => (otherlv_3= 'on-group' ( (otherlv_4= RULE_ID ) ) ) ) ) )
             	    {
-            	    // InternalReportDSL.g:6072:4: ({...}? => ( ({...}? => (otherlv_3= 'on-group' ( (otherlv_4= RULE_ID ) ) ) ) ) )
-            	    // InternalReportDSL.g:6073:5: {...}? => ( ({...}? => (otherlv_3= 'on-group' ( (otherlv_4= RULE_ID ) ) ) ) )
+            	    // InternalReportDSL.g:6373:4: ({...}? => ( ({...}? => (otherlv_3= 'on-group' ( (otherlv_4= RULE_ID ) ) ) ) ) )
+            	    // InternalReportDSL.g:6374:5: {...}? => ( ({...}? => (otherlv_3= 'on-group' ( (otherlv_4= RULE_ID ) ) ) ) )
             	    {
             	    if ( ! getUnorderedGroupHelper().canSelect(grammarAccess.getTableAggregationAccess().getUnorderedGroup_2(), 0) ) {
             	        if (state.backtracking>0) {state.failed=true; return current;}
             	        throw new FailedPredicateException(input, "ruleTableAggregation", "getUnorderedGroupHelper().canSelect(grammarAccess.getTableAggregationAccess().getUnorderedGroup_2(), 0)");
             	    }
-            	    // InternalReportDSL.g:6073:113: ( ({...}? => (otherlv_3= 'on-group' ( (otherlv_4= RULE_ID ) ) ) ) )
-            	    // InternalReportDSL.g:6074:6: ({...}? => (otherlv_3= 'on-group' ( (otherlv_4= RULE_ID ) ) ) )
+            	    // InternalReportDSL.g:6374:113: ( ({...}? => (otherlv_3= 'on-group' ( (otherlv_4= RULE_ID ) ) ) ) )
+            	    // InternalReportDSL.g:6375:6: ({...}? => (otherlv_3= 'on-group' ( (otherlv_4= RULE_ID ) ) ) )
             	    {
             	    getUnorderedGroupHelper().select(grammarAccess.getTableAggregationAccess().getUnorderedGroup_2(), 0);
-            	    // InternalReportDSL.g:6077:9: ({...}? => (otherlv_3= 'on-group' ( (otherlv_4= RULE_ID ) ) ) )
-            	    // InternalReportDSL.g:6077:10: {...}? => (otherlv_3= 'on-group' ( (otherlv_4= RULE_ID ) ) )
+            	    // InternalReportDSL.g:6378:9: ({...}? => (otherlv_3= 'on-group' ( (otherlv_4= RULE_ID ) ) ) )
+            	    // InternalReportDSL.g:6378:10: {...}? => (otherlv_3= 'on-group' ( (otherlv_4= RULE_ID ) ) )
             	    {
             	    if ( !((true)) ) {
             	        if (state.backtracking>0) {state.failed=true; return current;}
             	        throw new FailedPredicateException(input, "ruleTableAggregation", "true");
             	    }
-            	    // InternalReportDSL.g:6077:19: (otherlv_3= 'on-group' ( (otherlv_4= RULE_ID ) ) )
-            	    // InternalReportDSL.g:6077:20: otherlv_3= 'on-group' ( (otherlv_4= RULE_ID ) )
+            	    // InternalReportDSL.g:6378:19: (otherlv_3= 'on-group' ( (otherlv_4= RULE_ID ) ) )
+            	    // InternalReportDSL.g:6378:20: otherlv_3= 'on-group' ( (otherlv_4= RULE_ID ) )
             	    {
-            	    otherlv_3=(Token)match(input,101,FOLLOW_4); if (state.failed) return current;
+            	    otherlv_3=(Token)match(input,100,FOLLOW_4); if (state.failed) return current;
             	    if ( state.backtracking==0 ) {
 
             	      									newLeafNode(otherlv_3, grammarAccess.getTableAggregationAccess().getOnGroupKeyword_2_0_0());
             	      								
             	    }
-            	    // InternalReportDSL.g:6081:9: ( (otherlv_4= RULE_ID ) )
-            	    // InternalReportDSL.g:6082:10: (otherlv_4= RULE_ID )
+            	    // InternalReportDSL.g:6382:9: ( (otherlv_4= RULE_ID ) )
+            	    // InternalReportDSL.g:6383:10: (otherlv_4= RULE_ID )
             	    {
-            	    // InternalReportDSL.g:6082:10: (otherlv_4= RULE_ID )
-            	    // InternalReportDSL.g:6083:11: otherlv_4= RULE_ID
+            	    // InternalReportDSL.g:6383:10: (otherlv_4= RULE_ID )
+            	    // InternalReportDSL.g:6384:11: otherlv_4= RULE_ID
             	    {
             	    if ( state.backtracking==0 ) {
 
@@ -15990,7 +16822,7 @@
             	      											}
             	      										
             	    }
-            	    otherlv_4=(Token)match(input,RULE_ID,FOLLOW_105); if (state.failed) return current;
+            	    otherlv_4=(Token)match(input,RULE_ID,FOLLOW_97); if (state.failed) return current;
             	    if ( state.backtracking==0 ) {
 
             	      											newLeafNode(otherlv_4, grammarAccess.getTableAggregationAccess().getOnGroupDatamartTableGroupCrossReference_2_0_1_0());
@@ -16019,47 +16851,47 @@
             	    }
             	    break;
             	case 2 :
-            	    // InternalReportDSL.g:6100:4: ({...}? => ( ({...}? => (otherlv_5= 'title' ( (lv_text_6_0= ruleTRANSLATABLESTRING ) ) ) ) ) )
+            	    // InternalReportDSL.g:6401:4: ({...}? => ( ({...}? => (otherlv_5= 'title' ( (lv_text_6_0= ruleTRANSLATABLESTRING ) ) ) ) ) )
             	    {
-            	    // InternalReportDSL.g:6100:4: ({...}? => ( ({...}? => (otherlv_5= 'title' ( (lv_text_6_0= ruleTRANSLATABLESTRING ) ) ) ) ) )
-            	    // InternalReportDSL.g:6101:5: {...}? => ( ({...}? => (otherlv_5= 'title' ( (lv_text_6_0= ruleTRANSLATABLESTRING ) ) ) ) )
+            	    // InternalReportDSL.g:6401:4: ({...}? => ( ({...}? => (otherlv_5= 'title' ( (lv_text_6_0= ruleTRANSLATABLESTRING ) ) ) ) ) )
+            	    // InternalReportDSL.g:6402:5: {...}? => ( ({...}? => (otherlv_5= 'title' ( (lv_text_6_0= ruleTRANSLATABLESTRING ) ) ) ) )
             	    {
             	    if ( ! getUnorderedGroupHelper().canSelect(grammarAccess.getTableAggregationAccess().getUnorderedGroup_2(), 1) ) {
             	        if (state.backtracking>0) {state.failed=true; return current;}
             	        throw new FailedPredicateException(input, "ruleTableAggregation", "getUnorderedGroupHelper().canSelect(grammarAccess.getTableAggregationAccess().getUnorderedGroup_2(), 1)");
             	    }
-            	    // InternalReportDSL.g:6101:113: ( ({...}? => (otherlv_5= 'title' ( (lv_text_6_0= ruleTRANSLATABLESTRING ) ) ) ) )
-            	    // InternalReportDSL.g:6102:6: ({...}? => (otherlv_5= 'title' ( (lv_text_6_0= ruleTRANSLATABLESTRING ) ) ) )
+            	    // InternalReportDSL.g:6402:113: ( ({...}? => (otherlv_5= 'title' ( (lv_text_6_0= ruleTRANSLATABLESTRING ) ) ) ) )
+            	    // InternalReportDSL.g:6403:6: ({...}? => (otherlv_5= 'title' ( (lv_text_6_0= ruleTRANSLATABLESTRING ) ) ) )
             	    {
             	    getUnorderedGroupHelper().select(grammarAccess.getTableAggregationAccess().getUnorderedGroup_2(), 1);
-            	    // InternalReportDSL.g:6105:9: ({...}? => (otherlv_5= 'title' ( (lv_text_6_0= ruleTRANSLATABLESTRING ) ) ) )
-            	    // InternalReportDSL.g:6105:10: {...}? => (otherlv_5= 'title' ( (lv_text_6_0= ruleTRANSLATABLESTRING ) ) )
+            	    // InternalReportDSL.g:6406:9: ({...}? => (otherlv_5= 'title' ( (lv_text_6_0= ruleTRANSLATABLESTRING ) ) ) )
+            	    // InternalReportDSL.g:6406:10: {...}? => (otherlv_5= 'title' ( (lv_text_6_0= ruleTRANSLATABLESTRING ) ) )
             	    {
             	    if ( !((true)) ) {
             	        if (state.backtracking>0) {state.failed=true; return current;}
             	        throw new FailedPredicateException(input, "ruleTableAggregation", "true");
             	    }
-            	    // InternalReportDSL.g:6105:19: (otherlv_5= 'title' ( (lv_text_6_0= ruleTRANSLATABLESTRING ) ) )
-            	    // InternalReportDSL.g:6105:20: otherlv_5= 'title' ( (lv_text_6_0= ruleTRANSLATABLESTRING ) )
+            	    // InternalReportDSL.g:6406:19: (otherlv_5= 'title' ( (lv_text_6_0= ruleTRANSLATABLESTRING ) ) )
+            	    // InternalReportDSL.g:6406:20: otherlv_5= 'title' ( (lv_text_6_0= ruleTRANSLATABLESTRING ) )
             	    {
-            	    otherlv_5=(Token)match(input,102,FOLLOW_8); if (state.failed) return current;
+            	    otherlv_5=(Token)match(input,101,FOLLOW_8); if (state.failed) return current;
             	    if ( state.backtracking==0 ) {
 
             	      									newLeafNode(otherlv_5, grammarAccess.getTableAggregationAccess().getTitleKeyword_2_1_0());
             	      								
             	    }
-            	    // InternalReportDSL.g:6109:9: ( (lv_text_6_0= ruleTRANSLATABLESTRING ) )
-            	    // InternalReportDSL.g:6110:10: (lv_text_6_0= ruleTRANSLATABLESTRING )
+            	    // InternalReportDSL.g:6410:9: ( (lv_text_6_0= ruleTRANSLATABLESTRING ) )
+            	    // InternalReportDSL.g:6411:10: (lv_text_6_0= ruleTRANSLATABLESTRING )
             	    {
-            	    // InternalReportDSL.g:6110:10: (lv_text_6_0= ruleTRANSLATABLESTRING )
-            	    // InternalReportDSL.g:6111:11: lv_text_6_0= ruleTRANSLATABLESTRING
+            	    // InternalReportDSL.g:6411:10: (lv_text_6_0= ruleTRANSLATABLESTRING )
+            	    // InternalReportDSL.g:6412:11: lv_text_6_0= ruleTRANSLATABLESTRING
             	    {
             	    if ( state.backtracking==0 ) {
 
             	      											newCompositeNode(grammarAccess.getTableAggregationAccess().getTextTRANSLATABLESTRINGParserRuleCall_2_1_1_0());
             	      										
             	    }
-            	    pushFollow(FOLLOW_105);
+            	    pushFollow(FOLLOW_97);
             	    lv_text_6_0=ruleTRANSLATABLESTRING();
 
             	    state._fsp--;
@@ -16101,7 +16933,7 @@
             	    break;
 
             	default :
-            	    break loop86;
+            	    break loop74;
                 }
             } while (true);
 
@@ -16140,7 +16972,7 @@
 
 
     // $ANTLR start "entryRuleTableBaseAggregation"
-    // InternalReportDSL.g:6145:1: entryRuleTableBaseAggregation returns [EObject current=null] : iv_ruleTableBaseAggregation= ruleTableBaseAggregation EOF ;
+    // InternalReportDSL.g:6446:1: entryRuleTableBaseAggregation returns [EObject current=null] : iv_ruleTableBaseAggregation= ruleTableBaseAggregation EOF ;
     public final EObject entryRuleTableBaseAggregation() throws RecognitionException {
         EObject current = null;
 
@@ -16148,8 +16980,8 @@
 
 
         try {
-            // InternalReportDSL.g:6145:61: (iv_ruleTableBaseAggregation= ruleTableBaseAggregation EOF )
-            // InternalReportDSL.g:6146:2: iv_ruleTableBaseAggregation= ruleTableBaseAggregation EOF
+            // InternalReportDSL.g:6446:61: (iv_ruleTableBaseAggregation= ruleTableBaseAggregation EOF )
+            // InternalReportDSL.g:6447:2: iv_ruleTableBaseAggregation= ruleTableBaseAggregation EOF
             {
             if ( state.backtracking==0 ) {
                newCompositeNode(grammarAccess.getTableBaseAggregationRule()); 
@@ -16180,7 +17012,7 @@
 
 
     // $ANTLR start "ruleTableBaseAggregation"
-    // InternalReportDSL.g:6152:1: ruleTableBaseAggregation returns [EObject current=null] : (this_TablePureAggregation_0= ruleTablePureAggregation | this_TableUnaryAggregation_1= ruleTableUnaryAggregation | this_TableMultipleAggregation_2= ruleTableMultipleAggregation | this_TableBinaryAggregation_3= ruleTableBinaryAggregation ) ;
+    // InternalReportDSL.g:6453:1: ruleTableBaseAggregation returns [EObject current=null] : (this_TablePureAggregation_0= ruleTablePureAggregation | this_TableUnaryAggregation_1= ruleTableUnaryAggregation | this_TableMultipleAggregation_2= ruleTableMultipleAggregation | this_TableBinaryAggregation_3= ruleTableBinaryAggregation ) ;
     public final EObject ruleTableBaseAggregation() throws RecognitionException {
         EObject current = null;
 
@@ -16197,48 +17029,48 @@
         	enterRule();
 
         try {
-            // InternalReportDSL.g:6158:2: ( (this_TablePureAggregation_0= ruleTablePureAggregation | this_TableUnaryAggregation_1= ruleTableUnaryAggregation | this_TableMultipleAggregation_2= ruleTableMultipleAggregation | this_TableBinaryAggregation_3= ruleTableBinaryAggregation ) )
-            // InternalReportDSL.g:6159:2: (this_TablePureAggregation_0= ruleTablePureAggregation | this_TableUnaryAggregation_1= ruleTableUnaryAggregation | this_TableMultipleAggregation_2= ruleTableMultipleAggregation | this_TableBinaryAggregation_3= ruleTableBinaryAggregation )
+            // InternalReportDSL.g:6459:2: ( (this_TablePureAggregation_0= ruleTablePureAggregation | this_TableUnaryAggregation_1= ruleTableUnaryAggregation | this_TableMultipleAggregation_2= ruleTableMultipleAggregation | this_TableBinaryAggregation_3= ruleTableBinaryAggregation ) )
+            // InternalReportDSL.g:6460:2: (this_TablePureAggregation_0= ruleTablePureAggregation | this_TableUnaryAggregation_1= ruleTableUnaryAggregation | this_TableMultipleAggregation_2= ruleTableMultipleAggregation | this_TableBinaryAggregation_3= ruleTableBinaryAggregation )
             {
-            // InternalReportDSL.g:6159:2: (this_TablePureAggregation_0= ruleTablePureAggregation | this_TableUnaryAggregation_1= ruleTableUnaryAggregation | this_TableMultipleAggregation_2= ruleTableMultipleAggregation | this_TableBinaryAggregation_3= ruleTableBinaryAggregation )
-            int alt87=4;
+            // InternalReportDSL.g:6460:2: (this_TablePureAggregation_0= ruleTablePureAggregation | this_TableUnaryAggregation_1= ruleTableUnaryAggregation | this_TableMultipleAggregation_2= ruleTableMultipleAggregation | this_TableBinaryAggregation_3= ruleTableBinaryAggregation )
+            int alt75=4;
             switch ( input.LA(1) ) {
-            case 230:
-            case 231:
-                {
-                alt87=1;
-                }
-                break;
             case 232:
             case 233:
+                {
+                alt75=1;
+                }
+                break;
             case 234:
             case 235:
             case 236:
-                {
-                alt87=2;
-                }
-                break;
+            case 237:
             case 238:
                 {
-                alt87=3;
+                alt75=2;
                 }
                 break;
-            case 237:
+            case 240:
                 {
-                alt87=4;
+                alt75=3;
+                }
+                break;
+            case 239:
+                {
+                alt75=4;
                 }
                 break;
             default:
                 if (state.backtracking>0) {state.failed=true; return current;}
                 NoViableAltException nvae =
-                    new NoViableAltException("", 87, 0, input);
+                    new NoViableAltException("", 75, 0, input);
 
                 throw nvae;
             }
 
-            switch (alt87) {
+            switch (alt75) {
                 case 1 :
-                    // InternalReportDSL.g:6160:3: this_TablePureAggregation_0= ruleTablePureAggregation
+                    // InternalReportDSL.g:6461:3: this_TablePureAggregation_0= ruleTablePureAggregation
                     {
                     if ( state.backtracking==0 ) {
 
@@ -16260,7 +17092,7 @@
                     }
                     break;
                 case 2 :
-                    // InternalReportDSL.g:6169:3: this_TableUnaryAggregation_1= ruleTableUnaryAggregation
+                    // InternalReportDSL.g:6470:3: this_TableUnaryAggregation_1= ruleTableUnaryAggregation
                     {
                     if ( state.backtracking==0 ) {
 
@@ -16282,7 +17114,7 @@
                     }
                     break;
                 case 3 :
-                    // InternalReportDSL.g:6178:3: this_TableMultipleAggregation_2= ruleTableMultipleAggregation
+                    // InternalReportDSL.g:6479:3: this_TableMultipleAggregation_2= ruleTableMultipleAggregation
                     {
                     if ( state.backtracking==0 ) {
 
@@ -16304,7 +17136,7 @@
                     }
                     break;
                 case 4 :
-                    // InternalReportDSL.g:6187:3: this_TableBinaryAggregation_3= ruleTableBinaryAggregation
+                    // InternalReportDSL.g:6488:3: this_TableBinaryAggregation_3= ruleTableBinaryAggregation
                     {
                     if ( state.backtracking==0 ) {
 
@@ -16350,7 +17182,7 @@
 
 
     // $ANTLR start "entryRuleTablePureAggregation"
-    // InternalReportDSL.g:6199:1: entryRuleTablePureAggregation returns [EObject current=null] : iv_ruleTablePureAggregation= ruleTablePureAggregation EOF ;
+    // InternalReportDSL.g:6500:1: entryRuleTablePureAggregation returns [EObject current=null] : iv_ruleTablePureAggregation= ruleTablePureAggregation EOF ;
     public final EObject entryRuleTablePureAggregation() throws RecognitionException {
         EObject current = null;
 
@@ -16358,8 +17190,8 @@
 
 
         try {
-            // InternalReportDSL.g:6199:61: (iv_ruleTablePureAggregation= ruleTablePureAggregation EOF )
-            // InternalReportDSL.g:6200:2: iv_ruleTablePureAggregation= ruleTablePureAggregation EOF
+            // InternalReportDSL.g:6500:61: (iv_ruleTablePureAggregation= ruleTablePureAggregation EOF )
+            // InternalReportDSL.g:6501:2: iv_ruleTablePureAggregation= ruleTablePureAggregation EOF
             {
             if ( state.backtracking==0 ) {
                newCompositeNode(grammarAccess.getTablePureAggregationRule()); 
@@ -16390,7 +17222,7 @@
 
 
     // $ANTLR start "ruleTablePureAggregation"
-    // InternalReportDSL.g:6206:1: ruleTablePureAggregation returns [EObject current=null] : ( (lv_aggregation_0_0= rulePureAggregationTypeEnum ) ) ;
+    // InternalReportDSL.g:6507:1: ruleTablePureAggregation returns [EObject current=null] : ( (lv_aggregation_0_0= rulePureAggregationTypeEnum ) ) ;
     public final EObject ruleTablePureAggregation() throws RecognitionException {
         EObject current = null;
 
@@ -16401,14 +17233,14 @@
         	enterRule();
 
         try {
-            // InternalReportDSL.g:6212:2: ( ( (lv_aggregation_0_0= rulePureAggregationTypeEnum ) ) )
-            // InternalReportDSL.g:6213:2: ( (lv_aggregation_0_0= rulePureAggregationTypeEnum ) )
+            // InternalReportDSL.g:6513:2: ( ( (lv_aggregation_0_0= rulePureAggregationTypeEnum ) ) )
+            // InternalReportDSL.g:6514:2: ( (lv_aggregation_0_0= rulePureAggregationTypeEnum ) )
             {
-            // InternalReportDSL.g:6213:2: ( (lv_aggregation_0_0= rulePureAggregationTypeEnum ) )
-            // InternalReportDSL.g:6214:3: (lv_aggregation_0_0= rulePureAggregationTypeEnum )
+            // InternalReportDSL.g:6514:2: ( (lv_aggregation_0_0= rulePureAggregationTypeEnum ) )
+            // InternalReportDSL.g:6515:3: (lv_aggregation_0_0= rulePureAggregationTypeEnum )
             {
-            // InternalReportDSL.g:6214:3: (lv_aggregation_0_0= rulePureAggregationTypeEnum )
-            // InternalReportDSL.g:6215:4: lv_aggregation_0_0= rulePureAggregationTypeEnum
+            // InternalReportDSL.g:6515:3: (lv_aggregation_0_0= rulePureAggregationTypeEnum )
+            // InternalReportDSL.g:6516:4: lv_aggregation_0_0= rulePureAggregationTypeEnum
             {
             if ( state.backtracking==0 ) {
 
@@ -16461,7 +17293,7 @@
 
 
     // $ANTLR start "entryRuleTableUnaryAggregation"
-    // InternalReportDSL.g:6235:1: entryRuleTableUnaryAggregation returns [EObject current=null] : iv_ruleTableUnaryAggregation= ruleTableUnaryAggregation EOF ;
+    // InternalReportDSL.g:6536:1: entryRuleTableUnaryAggregation returns [EObject current=null] : iv_ruleTableUnaryAggregation= ruleTableUnaryAggregation EOF ;
     public final EObject entryRuleTableUnaryAggregation() throws RecognitionException {
         EObject current = null;
 
@@ -16469,8 +17301,8 @@
 
 
         try {
-            // InternalReportDSL.g:6235:62: (iv_ruleTableUnaryAggregation= ruleTableUnaryAggregation EOF )
-            // InternalReportDSL.g:6236:2: iv_ruleTableUnaryAggregation= ruleTableUnaryAggregation EOF
+            // InternalReportDSL.g:6536:62: (iv_ruleTableUnaryAggregation= ruleTableUnaryAggregation EOF )
+            // InternalReportDSL.g:6537:2: iv_ruleTableUnaryAggregation= ruleTableUnaryAggregation EOF
             {
             if ( state.backtracking==0 ) {
                newCompositeNode(grammarAccess.getTableUnaryAggregationRule()); 
@@ -16501,7 +17333,7 @@
 
 
     // $ANTLR start "ruleTableUnaryAggregation"
-    // InternalReportDSL.g:6242:1: ruleTableUnaryAggregation returns [EObject current=null] : ( ( (lv_aggregation_0_0= ruleUnaryAggregationTypeEnum ) ) ( (otherlv_1= RULE_ID ) ) ) ;
+    // InternalReportDSL.g:6543:1: ruleTableUnaryAggregation returns [EObject current=null] : ( ( (lv_aggregation_0_0= ruleUnaryAggregationTypeEnum ) ) ( (otherlv_1= RULE_ID ) ) ) ;
     public final EObject ruleTableUnaryAggregation() throws RecognitionException {
         EObject current = null;
 
@@ -16513,17 +17345,17 @@
         	enterRule();
 
         try {
-            // InternalReportDSL.g:6248:2: ( ( ( (lv_aggregation_0_0= ruleUnaryAggregationTypeEnum ) ) ( (otherlv_1= RULE_ID ) ) ) )
-            // InternalReportDSL.g:6249:2: ( ( (lv_aggregation_0_0= ruleUnaryAggregationTypeEnum ) ) ( (otherlv_1= RULE_ID ) ) )
+            // InternalReportDSL.g:6549:2: ( ( ( (lv_aggregation_0_0= ruleUnaryAggregationTypeEnum ) ) ( (otherlv_1= RULE_ID ) ) ) )
+            // InternalReportDSL.g:6550:2: ( ( (lv_aggregation_0_0= ruleUnaryAggregationTypeEnum ) ) ( (otherlv_1= RULE_ID ) ) )
             {
-            // InternalReportDSL.g:6249:2: ( ( (lv_aggregation_0_0= ruleUnaryAggregationTypeEnum ) ) ( (otherlv_1= RULE_ID ) ) )
-            // InternalReportDSL.g:6250:3: ( (lv_aggregation_0_0= ruleUnaryAggregationTypeEnum ) ) ( (otherlv_1= RULE_ID ) )
+            // InternalReportDSL.g:6550:2: ( ( (lv_aggregation_0_0= ruleUnaryAggregationTypeEnum ) ) ( (otherlv_1= RULE_ID ) ) )
+            // InternalReportDSL.g:6551:3: ( (lv_aggregation_0_0= ruleUnaryAggregationTypeEnum ) ) ( (otherlv_1= RULE_ID ) )
             {
-            // InternalReportDSL.g:6250:3: ( (lv_aggregation_0_0= ruleUnaryAggregationTypeEnum ) )
-            // InternalReportDSL.g:6251:4: (lv_aggregation_0_0= ruleUnaryAggregationTypeEnum )
+            // InternalReportDSL.g:6551:3: ( (lv_aggregation_0_0= ruleUnaryAggregationTypeEnum ) )
+            // InternalReportDSL.g:6552:4: (lv_aggregation_0_0= ruleUnaryAggregationTypeEnum )
             {
-            // InternalReportDSL.g:6251:4: (lv_aggregation_0_0= ruleUnaryAggregationTypeEnum )
-            // InternalReportDSL.g:6252:5: lv_aggregation_0_0= ruleUnaryAggregationTypeEnum
+            // InternalReportDSL.g:6552:4: (lv_aggregation_0_0= ruleUnaryAggregationTypeEnum )
+            // InternalReportDSL.g:6553:5: lv_aggregation_0_0= ruleUnaryAggregationTypeEnum
             {
             if ( state.backtracking==0 ) {
 
@@ -16554,11 +17386,11 @@
 
             }
 
-            // InternalReportDSL.g:6269:3: ( (otherlv_1= RULE_ID ) )
-            // InternalReportDSL.g:6270:4: (otherlv_1= RULE_ID )
+            // InternalReportDSL.g:6570:3: ( (otherlv_1= RULE_ID ) )
+            // InternalReportDSL.g:6571:4: (otherlv_1= RULE_ID )
             {
-            // InternalReportDSL.g:6270:4: (otherlv_1= RULE_ID )
-            // InternalReportDSL.g:6271:5: otherlv_1= RULE_ID
+            // InternalReportDSL.g:6571:4: (otherlv_1= RULE_ID )
+            // InternalReportDSL.g:6572:5: otherlv_1= RULE_ID
             {
             if ( state.backtracking==0 ) {
 
@@ -16604,7 +17436,7 @@
 
 
     // $ANTLR start "entryRuleTableMultipleAggregation"
-    // InternalReportDSL.g:6286:1: entryRuleTableMultipleAggregation returns [EObject current=null] : iv_ruleTableMultipleAggregation= ruleTableMultipleAggregation EOF ;
+    // InternalReportDSL.g:6587:1: entryRuleTableMultipleAggregation returns [EObject current=null] : iv_ruleTableMultipleAggregation= ruleTableMultipleAggregation EOF ;
     public final EObject entryRuleTableMultipleAggregation() throws RecognitionException {
         EObject current = null;
 
@@ -16612,8 +17444,8 @@
 
 
         try {
-            // InternalReportDSL.g:6286:65: (iv_ruleTableMultipleAggregation= ruleTableMultipleAggregation EOF )
-            // InternalReportDSL.g:6287:2: iv_ruleTableMultipleAggregation= ruleTableMultipleAggregation EOF
+            // InternalReportDSL.g:6587:65: (iv_ruleTableMultipleAggregation= ruleTableMultipleAggregation EOF )
+            // InternalReportDSL.g:6588:2: iv_ruleTableMultipleAggregation= ruleTableMultipleAggregation EOF
             {
             if ( state.backtracking==0 ) {
                newCompositeNode(grammarAccess.getTableMultipleAggregationRule()); 
@@ -16644,7 +17476,7 @@
 
 
     // $ANTLR start "ruleTableMultipleAggregation"
-    // InternalReportDSL.g:6293:1: ruleTableMultipleAggregation returns [EObject current=null] : ( ( (lv_aggregation_0_0= ruleMultipleAggregationTypeEnum ) ) otherlv_1= '(' ( (otherlv_2= RULE_ID ) )* otherlv_3= ')' ) ;
+    // InternalReportDSL.g:6594:1: ruleTableMultipleAggregation returns [EObject current=null] : ( ( (lv_aggregation_0_0= ruleMultipleAggregationTypeEnum ) ) otherlv_1= '(' ( (otherlv_2= RULE_ID ) )* otherlv_3= ')' ) ;
     public final EObject ruleTableMultipleAggregation() throws RecognitionException {
         EObject current = null;
 
@@ -16658,24 +17490,24 @@
         	enterRule();
 
         try {
-            // InternalReportDSL.g:6299:2: ( ( ( (lv_aggregation_0_0= ruleMultipleAggregationTypeEnum ) ) otherlv_1= '(' ( (otherlv_2= RULE_ID ) )* otherlv_3= ')' ) )
-            // InternalReportDSL.g:6300:2: ( ( (lv_aggregation_0_0= ruleMultipleAggregationTypeEnum ) ) otherlv_1= '(' ( (otherlv_2= RULE_ID ) )* otherlv_3= ')' )
+            // InternalReportDSL.g:6600:2: ( ( ( (lv_aggregation_0_0= ruleMultipleAggregationTypeEnum ) ) otherlv_1= '(' ( (otherlv_2= RULE_ID ) )* otherlv_3= ')' ) )
+            // InternalReportDSL.g:6601:2: ( ( (lv_aggregation_0_0= ruleMultipleAggregationTypeEnum ) ) otherlv_1= '(' ( (otherlv_2= RULE_ID ) )* otherlv_3= ')' )
             {
-            // InternalReportDSL.g:6300:2: ( ( (lv_aggregation_0_0= ruleMultipleAggregationTypeEnum ) ) otherlv_1= '(' ( (otherlv_2= RULE_ID ) )* otherlv_3= ')' )
-            // InternalReportDSL.g:6301:3: ( (lv_aggregation_0_0= ruleMultipleAggregationTypeEnum ) ) otherlv_1= '(' ( (otherlv_2= RULE_ID ) )* otherlv_3= ')'
+            // InternalReportDSL.g:6601:2: ( ( (lv_aggregation_0_0= ruleMultipleAggregationTypeEnum ) ) otherlv_1= '(' ( (otherlv_2= RULE_ID ) )* otherlv_3= ')' )
+            // InternalReportDSL.g:6602:3: ( (lv_aggregation_0_0= ruleMultipleAggregationTypeEnum ) ) otherlv_1= '(' ( (otherlv_2= RULE_ID ) )* otherlv_3= ')'
             {
-            // InternalReportDSL.g:6301:3: ( (lv_aggregation_0_0= ruleMultipleAggregationTypeEnum ) )
-            // InternalReportDSL.g:6302:4: (lv_aggregation_0_0= ruleMultipleAggregationTypeEnum )
+            // InternalReportDSL.g:6602:3: ( (lv_aggregation_0_0= ruleMultipleAggregationTypeEnum ) )
+            // InternalReportDSL.g:6603:4: (lv_aggregation_0_0= ruleMultipleAggregationTypeEnum )
             {
-            // InternalReportDSL.g:6302:4: (lv_aggregation_0_0= ruleMultipleAggregationTypeEnum )
-            // InternalReportDSL.g:6303:5: lv_aggregation_0_0= ruleMultipleAggregationTypeEnum
+            // InternalReportDSL.g:6603:4: (lv_aggregation_0_0= ruleMultipleAggregationTypeEnum )
+            // InternalReportDSL.g:6604:5: lv_aggregation_0_0= ruleMultipleAggregationTypeEnum
             {
             if ( state.backtracking==0 ) {
 
               					newCompositeNode(grammarAccess.getTableMultipleAggregationAccess().getAggregationMultipleAggregationTypeEnumEnumRuleCall_0_0());
               				
             }
-            pushFollow(FOLLOW_106);
+            pushFollow(FOLLOW_98);
             lv_aggregation_0_0=ruleMultipleAggregationTypeEnum();
 
             state._fsp--;
@@ -16699,29 +17531,29 @@
 
             }
 
-            otherlv_1=(Token)match(input,103,FOLLOW_107); if (state.failed) return current;
+            otherlv_1=(Token)match(input,102,FOLLOW_99); if (state.failed) return current;
             if ( state.backtracking==0 ) {
 
               			newLeafNode(otherlv_1, grammarAccess.getTableMultipleAggregationAccess().getLeftParenthesisKeyword_1());
               		
             }
-            // InternalReportDSL.g:6324:3: ( (otherlv_2= RULE_ID ) )*
-            loop88:
+            // InternalReportDSL.g:6625:3: ( (otherlv_2= RULE_ID ) )*
+            loop76:
             do {
-                int alt88=2;
-                int LA88_0 = input.LA(1);
+                int alt76=2;
+                int LA76_0 = input.LA(1);
 
-                if ( (LA88_0==RULE_ID) ) {
-                    alt88=1;
+                if ( (LA76_0==RULE_ID) ) {
+                    alt76=1;
                 }
 
 
-                switch (alt88) {
+                switch (alt76) {
             	case 1 :
-            	    // InternalReportDSL.g:6325:4: (otherlv_2= RULE_ID )
+            	    // InternalReportDSL.g:6626:4: (otherlv_2= RULE_ID )
             	    {
-            	    // InternalReportDSL.g:6325:4: (otherlv_2= RULE_ID )
-            	    // InternalReportDSL.g:6326:5: otherlv_2= RULE_ID
+            	    // InternalReportDSL.g:6626:4: (otherlv_2= RULE_ID )
+            	    // InternalReportDSL.g:6627:5: otherlv_2= RULE_ID
             	    {
             	    if ( state.backtracking==0 ) {
 
@@ -16730,7 +17562,7 @@
             	      					}
             	      				
             	    }
-            	    otherlv_2=(Token)match(input,RULE_ID,FOLLOW_107); if (state.failed) return current;
+            	    otherlv_2=(Token)match(input,RULE_ID,FOLLOW_99); if (state.failed) return current;
             	    if ( state.backtracking==0 ) {
 
             	      					newLeafNode(otherlv_2, grammarAccess.getTableMultipleAggregationAccess().getValueRefsDatamartAttributeCrossReference_2_0());
@@ -16744,11 +17576,11 @@
             	    break;
 
             	default :
-            	    break loop88;
+            	    break loop76;
                 }
             } while (true);
 
-            otherlv_3=(Token)match(input,104,FOLLOW_2); if (state.failed) return current;
+            otherlv_3=(Token)match(input,103,FOLLOW_2); if (state.failed) return current;
             if ( state.backtracking==0 ) {
 
               			newLeafNode(otherlv_3, grammarAccess.getTableMultipleAggregationAccess().getRightParenthesisKeyword_3());
@@ -16779,7 +17611,7 @@
 
 
     // $ANTLR start "entryRuleStringBinderValue"
-    // InternalReportDSL.g:6345:1: entryRuleStringBinderValue returns [EObject current=null] : iv_ruleStringBinderValue= ruleStringBinderValue EOF ;
+    // InternalReportDSL.g:6646:1: entryRuleStringBinderValue returns [EObject current=null] : iv_ruleStringBinderValue= ruleStringBinderValue EOF ;
     public final EObject entryRuleStringBinderValue() throws RecognitionException {
         EObject current = null;
 
@@ -16787,8 +17619,8 @@
 
 
         try {
-            // InternalReportDSL.g:6345:58: (iv_ruleStringBinderValue= ruleStringBinderValue EOF )
-            // InternalReportDSL.g:6346:2: iv_ruleStringBinderValue= ruleStringBinderValue EOF
+            // InternalReportDSL.g:6646:58: (iv_ruleStringBinderValue= ruleStringBinderValue EOF )
+            // InternalReportDSL.g:6647:2: iv_ruleStringBinderValue= ruleStringBinderValue EOF
             {
             if ( state.backtracking==0 ) {
                newCompositeNode(grammarAccess.getStringBinderValueRule()); 
@@ -16819,7 +17651,7 @@
 
 
     // $ANTLR start "ruleStringBinderValue"
-    // InternalReportDSL.g:6352:1: ruleStringBinderValue returns [EObject current=null] : (this_TableAttribute_0= ruleTableAttribute | this_TranslatableText_1= ruleTranslatableText | this_NonTranslatableText_2= ruleNonTranslatableText ) ;
+    // InternalReportDSL.g:6653:1: ruleStringBinderValue returns [EObject current=null] : (this_TableAttribute_0= ruleTableAttribute | this_TranslatableText_1= ruleTranslatableText | this_NonTranslatableText_2= ruleNonTranslatableText ) ;
     public final EObject ruleStringBinderValue() throws RecognitionException {
         EObject current = null;
 
@@ -16834,38 +17666,38 @@
         	enterRule();
 
         try {
-            // InternalReportDSL.g:6358:2: ( (this_TableAttribute_0= ruleTableAttribute | this_TranslatableText_1= ruleTranslatableText | this_NonTranslatableText_2= ruleNonTranslatableText ) )
-            // InternalReportDSL.g:6359:2: (this_TableAttribute_0= ruleTableAttribute | this_TranslatableText_1= ruleTranslatableText | this_NonTranslatableText_2= ruleNonTranslatableText )
+            // InternalReportDSL.g:6659:2: ( (this_TableAttribute_0= ruleTableAttribute | this_TranslatableText_1= ruleTranslatableText | this_NonTranslatableText_2= ruleNonTranslatableText ) )
+            // InternalReportDSL.g:6660:2: (this_TableAttribute_0= ruleTableAttribute | this_TranslatableText_1= ruleTranslatableText | this_NonTranslatableText_2= ruleNonTranslatableText )
             {
-            // InternalReportDSL.g:6359:2: (this_TableAttribute_0= ruleTableAttribute | this_TranslatableText_1= ruleTranslatableText | this_NonTranslatableText_2= ruleNonTranslatableText )
-            int alt89=3;
+            // InternalReportDSL.g:6660:2: (this_TableAttribute_0= ruleTableAttribute | this_TranslatableText_1= ruleTranslatableText | this_NonTranslatableText_2= ruleNonTranslatableText )
+            int alt77=3;
             switch ( input.LA(1) ) {
-            case 99:
+            case 98:
                 {
-                alt89=1;
+                alt77=1;
+                }
+                break;
+            case 104:
+                {
+                alt77=2;
                 }
                 break;
             case 105:
                 {
-                alt89=2;
-                }
-                break;
-            case 106:
-                {
-                alt89=3;
+                alt77=3;
                 }
                 break;
             default:
                 if (state.backtracking>0) {state.failed=true; return current;}
                 NoViableAltException nvae =
-                    new NoViableAltException("", 89, 0, input);
+                    new NoViableAltException("", 77, 0, input);
 
                 throw nvae;
             }
 
-            switch (alt89) {
+            switch (alt77) {
                 case 1 :
-                    // InternalReportDSL.g:6360:3: this_TableAttribute_0= ruleTableAttribute
+                    // InternalReportDSL.g:6661:3: this_TableAttribute_0= ruleTableAttribute
                     {
                     if ( state.backtracking==0 ) {
 
@@ -16887,7 +17719,7 @@
                     }
                     break;
                 case 2 :
-                    // InternalReportDSL.g:6369:3: this_TranslatableText_1= ruleTranslatableText
+                    // InternalReportDSL.g:6670:3: this_TranslatableText_1= ruleTranslatableText
                     {
                     if ( state.backtracking==0 ) {
 
@@ -16909,7 +17741,7 @@
                     }
                     break;
                 case 3 :
-                    // InternalReportDSL.g:6378:3: this_NonTranslatableText_2= ruleNonTranslatableText
+                    // InternalReportDSL.g:6679:3: this_NonTranslatableText_2= ruleNonTranslatableText
                     {
                     if ( state.backtracking==0 ) {
 
@@ -16955,7 +17787,7 @@
 
 
     // $ANTLR start "entryRuleTranslatableText"
-    // InternalReportDSL.g:6390:1: entryRuleTranslatableText returns [EObject current=null] : iv_ruleTranslatableText= ruleTranslatableText EOF ;
+    // InternalReportDSL.g:6691:1: entryRuleTranslatableText returns [EObject current=null] : iv_ruleTranslatableText= ruleTranslatableText EOF ;
     public final EObject entryRuleTranslatableText() throws RecognitionException {
         EObject current = null;
 
@@ -16963,8 +17795,8 @@
 
 
         try {
-            // InternalReportDSL.g:6390:57: (iv_ruleTranslatableText= ruleTranslatableText EOF )
-            // InternalReportDSL.g:6391:2: iv_ruleTranslatableText= ruleTranslatableText EOF
+            // InternalReportDSL.g:6691:57: (iv_ruleTranslatableText= ruleTranslatableText EOF )
+            // InternalReportDSL.g:6692:2: iv_ruleTranslatableText= ruleTranslatableText EOF
             {
             if ( state.backtracking==0 ) {
                newCompositeNode(grammarAccess.getTranslatableTextRule()); 
@@ -16995,7 +17827,7 @@
 
 
     // $ANTLR start "ruleTranslatableText"
-    // InternalReportDSL.g:6397:1: ruleTranslatableText returns [EObject current=null] : (otherlv_0= 'translatable' ( (lv_value_1_0= ruleTRANSLATABLESTRING ) ) ) ;
+    // InternalReportDSL.g:6698:1: ruleTranslatableText returns [EObject current=null] : (otherlv_0= 'translatable' ( (lv_value_1_0= ruleTRANSLATABLESTRING ) ) ) ;
     public final EObject ruleTranslatableText() throws RecognitionException {
         EObject current = null;
 
@@ -17007,23 +17839,23 @@
         	enterRule();
 
         try {
-            // InternalReportDSL.g:6403:2: ( (otherlv_0= 'translatable' ( (lv_value_1_0= ruleTRANSLATABLESTRING ) ) ) )
-            // InternalReportDSL.g:6404:2: (otherlv_0= 'translatable' ( (lv_value_1_0= ruleTRANSLATABLESTRING ) ) )
+            // InternalReportDSL.g:6704:2: ( (otherlv_0= 'translatable' ( (lv_value_1_0= ruleTRANSLATABLESTRING ) ) ) )
+            // InternalReportDSL.g:6705:2: (otherlv_0= 'translatable' ( (lv_value_1_0= ruleTRANSLATABLESTRING ) ) )
             {
-            // InternalReportDSL.g:6404:2: (otherlv_0= 'translatable' ( (lv_value_1_0= ruleTRANSLATABLESTRING ) ) )
-            // InternalReportDSL.g:6405:3: otherlv_0= 'translatable' ( (lv_value_1_0= ruleTRANSLATABLESTRING ) )
+            // InternalReportDSL.g:6705:2: (otherlv_0= 'translatable' ( (lv_value_1_0= ruleTRANSLATABLESTRING ) ) )
+            // InternalReportDSL.g:6706:3: otherlv_0= 'translatable' ( (lv_value_1_0= ruleTRANSLATABLESTRING ) )
             {
-            otherlv_0=(Token)match(input,105,FOLLOW_8); if (state.failed) return current;
+            otherlv_0=(Token)match(input,104,FOLLOW_8); if (state.failed) return current;
             if ( state.backtracking==0 ) {
 
               			newLeafNode(otherlv_0, grammarAccess.getTranslatableTextAccess().getTranslatableKeyword_0());
               		
             }
-            // InternalReportDSL.g:6409:3: ( (lv_value_1_0= ruleTRANSLATABLESTRING ) )
-            // InternalReportDSL.g:6410:4: (lv_value_1_0= ruleTRANSLATABLESTRING )
+            // InternalReportDSL.g:6710:3: ( (lv_value_1_0= ruleTRANSLATABLESTRING ) )
+            // InternalReportDSL.g:6711:4: (lv_value_1_0= ruleTRANSLATABLESTRING )
             {
-            // InternalReportDSL.g:6410:4: (lv_value_1_0= ruleTRANSLATABLESTRING )
-            // InternalReportDSL.g:6411:5: lv_value_1_0= ruleTRANSLATABLESTRING
+            // InternalReportDSL.g:6711:4: (lv_value_1_0= ruleTRANSLATABLESTRING )
+            // InternalReportDSL.g:6712:5: lv_value_1_0= ruleTRANSLATABLESTRING
             {
             if ( state.backtracking==0 ) {
 
@@ -17079,7 +17911,7 @@
 
 
     // $ANTLR start "entryRuleNonTranslatableText"
-    // InternalReportDSL.g:6432:1: entryRuleNonTranslatableText returns [EObject current=null] : iv_ruleNonTranslatableText= ruleNonTranslatableText EOF ;
+    // InternalReportDSL.g:6733:1: entryRuleNonTranslatableText returns [EObject current=null] : iv_ruleNonTranslatableText= ruleNonTranslatableText EOF ;
     public final EObject entryRuleNonTranslatableText() throws RecognitionException {
         EObject current = null;
 
@@ -17087,8 +17919,8 @@
 
 
         try {
-            // InternalReportDSL.g:6432:60: (iv_ruleNonTranslatableText= ruleNonTranslatableText EOF )
-            // InternalReportDSL.g:6433:2: iv_ruleNonTranslatableText= ruleNonTranslatableText EOF
+            // InternalReportDSL.g:6733:60: (iv_ruleNonTranslatableText= ruleNonTranslatableText EOF )
+            // InternalReportDSL.g:6734:2: iv_ruleNonTranslatableText= ruleNonTranslatableText EOF
             {
             if ( state.backtracking==0 ) {
                newCompositeNode(grammarAccess.getNonTranslatableTextRule()); 
@@ -17119,7 +17951,7 @@
 
 
     // $ANTLR start "ruleNonTranslatableText"
-    // InternalReportDSL.g:6439:1: ruleNonTranslatableText returns [EObject current=null] : (otherlv_0= 'nontranslatable' ( (lv_value_1_0= RULE_STRING ) ) ) ;
+    // InternalReportDSL.g:6740:1: ruleNonTranslatableText returns [EObject current=null] : (otherlv_0= 'nontranslatable' ( (lv_value_1_0= RULE_STRING ) ) ) ;
     public final EObject ruleNonTranslatableText() throws RecognitionException {
         EObject current = null;
 
@@ -17130,23 +17962,23 @@
         	enterRule();
 
         try {
-            // InternalReportDSL.g:6445:2: ( (otherlv_0= 'nontranslatable' ( (lv_value_1_0= RULE_STRING ) ) ) )
-            // InternalReportDSL.g:6446:2: (otherlv_0= 'nontranslatable' ( (lv_value_1_0= RULE_STRING ) ) )
+            // InternalReportDSL.g:6746:2: ( (otherlv_0= 'nontranslatable' ( (lv_value_1_0= RULE_STRING ) ) ) )
+            // InternalReportDSL.g:6747:2: (otherlv_0= 'nontranslatable' ( (lv_value_1_0= RULE_STRING ) ) )
             {
-            // InternalReportDSL.g:6446:2: (otherlv_0= 'nontranslatable' ( (lv_value_1_0= RULE_STRING ) ) )
-            // InternalReportDSL.g:6447:3: otherlv_0= 'nontranslatable' ( (lv_value_1_0= RULE_STRING ) )
+            // InternalReportDSL.g:6747:2: (otherlv_0= 'nontranslatable' ( (lv_value_1_0= RULE_STRING ) ) )
+            // InternalReportDSL.g:6748:3: otherlv_0= 'nontranslatable' ( (lv_value_1_0= RULE_STRING ) )
             {
-            otherlv_0=(Token)match(input,106,FOLLOW_8); if (state.failed) return current;
+            otherlv_0=(Token)match(input,105,FOLLOW_8); if (state.failed) return current;
             if ( state.backtracking==0 ) {
 
               			newLeafNode(otherlv_0, grammarAccess.getNonTranslatableTextAccess().getNontranslatableKeyword_0());
               		
             }
-            // InternalReportDSL.g:6451:3: ( (lv_value_1_0= RULE_STRING ) )
-            // InternalReportDSL.g:6452:4: (lv_value_1_0= RULE_STRING )
+            // InternalReportDSL.g:6752:3: ( (lv_value_1_0= RULE_STRING ) )
+            // InternalReportDSL.g:6753:4: (lv_value_1_0= RULE_STRING )
             {
-            // InternalReportDSL.g:6452:4: (lv_value_1_0= RULE_STRING )
-            // InternalReportDSL.g:6453:5: lv_value_1_0= RULE_STRING
+            // InternalReportDSL.g:6753:4: (lv_value_1_0= RULE_STRING )
+            // InternalReportDSL.g:6754:5: lv_value_1_0= RULE_STRING
             {
             lv_value_1_0=(Token)match(input,RULE_STRING,FOLLOW_2); if (state.failed) return current;
             if ( state.backtracking==0 ) {
@@ -17197,7 +18029,7 @@
 
 
     // $ANTLR start "entryRuleStringBinder"
-    // InternalReportDSL.g:6473:1: entryRuleStringBinder returns [EObject current=null] : iv_ruleStringBinder= ruleStringBinder EOF ;
+    // InternalReportDSL.g:6774:1: entryRuleStringBinder returns [EObject current=null] : iv_ruleStringBinder= ruleStringBinder EOF ;
     public final EObject entryRuleStringBinder() throws RecognitionException {
         EObject current = null;
 
@@ -17205,8 +18037,8 @@
 
 
         try {
-            // InternalReportDSL.g:6473:53: (iv_ruleStringBinder= ruleStringBinder EOF )
-            // InternalReportDSL.g:6474:2: iv_ruleStringBinder= ruleStringBinder EOF
+            // InternalReportDSL.g:6774:53: (iv_ruleStringBinder= ruleStringBinder EOF )
+            // InternalReportDSL.g:6775:2: iv_ruleStringBinder= ruleStringBinder EOF
             {
             if ( state.backtracking==0 ) {
                newCompositeNode(grammarAccess.getStringBinderRule()); 
@@ -17237,7 +18069,7 @@
 
 
     // $ANTLR start "ruleStringBinder"
-    // InternalReportDSL.g:6480:1: ruleStringBinder returns [EObject current=null] : ( () otherlv_1= 'stringBinder' otherlv_2= '(' ( (lv_elements_3_0= ruleStringBinderValue ) )* otherlv_4= ')' (otherlv_5= 'style' ( (otherlv_6= RULE_ID ) ) )? ) ;
+    // InternalReportDSL.g:6781:1: ruleStringBinder returns [EObject current=null] : ( () otherlv_1= 'stringBinder' otherlv_2= '(' ( (lv_elements_3_0= ruleStringBinderValue ) )* otherlv_4= ')' (otherlv_5= 'style' ( (otherlv_6= RULE_ID ) ) )? ) ;
     public final EObject ruleStringBinder() throws RecognitionException {
         EObject current = null;
 
@@ -17253,14 +18085,14 @@
         	enterRule();
 
         try {
-            // InternalReportDSL.g:6486:2: ( ( () otherlv_1= 'stringBinder' otherlv_2= '(' ( (lv_elements_3_0= ruleStringBinderValue ) )* otherlv_4= ')' (otherlv_5= 'style' ( (otherlv_6= RULE_ID ) ) )? ) )
-            // InternalReportDSL.g:6487:2: ( () otherlv_1= 'stringBinder' otherlv_2= '(' ( (lv_elements_3_0= ruleStringBinderValue ) )* otherlv_4= ')' (otherlv_5= 'style' ( (otherlv_6= RULE_ID ) ) )? )
+            // InternalReportDSL.g:6787:2: ( ( () otherlv_1= 'stringBinder' otherlv_2= '(' ( (lv_elements_3_0= ruleStringBinderValue ) )* otherlv_4= ')' (otherlv_5= 'style' ( (otherlv_6= RULE_ID ) ) )? ) )
+            // InternalReportDSL.g:6788:2: ( () otherlv_1= 'stringBinder' otherlv_2= '(' ( (lv_elements_3_0= ruleStringBinderValue ) )* otherlv_4= ')' (otherlv_5= 'style' ( (otherlv_6= RULE_ID ) ) )? )
             {
-            // InternalReportDSL.g:6487:2: ( () otherlv_1= 'stringBinder' otherlv_2= '(' ( (lv_elements_3_0= ruleStringBinderValue ) )* otherlv_4= ')' (otherlv_5= 'style' ( (otherlv_6= RULE_ID ) ) )? )
-            // InternalReportDSL.g:6488:3: () otherlv_1= 'stringBinder' otherlv_2= '(' ( (lv_elements_3_0= ruleStringBinderValue ) )* otherlv_4= ')' (otherlv_5= 'style' ( (otherlv_6= RULE_ID ) ) )?
+            // InternalReportDSL.g:6788:2: ( () otherlv_1= 'stringBinder' otherlv_2= '(' ( (lv_elements_3_0= ruleStringBinderValue ) )* otherlv_4= ')' (otherlv_5= 'style' ( (otherlv_6= RULE_ID ) ) )? )
+            // InternalReportDSL.g:6789:3: () otherlv_1= 'stringBinder' otherlv_2= '(' ( (lv_elements_3_0= ruleStringBinderValue ) )* otherlv_4= ')' (otherlv_5= 'style' ( (otherlv_6= RULE_ID ) ) )?
             {
-            // InternalReportDSL.g:6488:3: ()
-            // InternalReportDSL.g:6489:4: 
+            // InternalReportDSL.g:6789:3: ()
+            // InternalReportDSL.g:6790:4: 
             {
             if ( state.backtracking==0 ) {
 
@@ -17272,42 +18104,42 @@
 
             }
 
-            otherlv_1=(Token)match(input,107,FOLLOW_106); if (state.failed) return current;
+            otherlv_1=(Token)match(input,106,FOLLOW_98); if (state.failed) return current;
             if ( state.backtracking==0 ) {
 
               			newLeafNode(otherlv_1, grammarAccess.getStringBinderAccess().getStringBinderKeyword_1());
               		
             }
-            otherlv_2=(Token)match(input,103,FOLLOW_108); if (state.failed) return current;
+            otherlv_2=(Token)match(input,102,FOLLOW_100); if (state.failed) return current;
             if ( state.backtracking==0 ) {
 
               			newLeafNode(otherlv_2, grammarAccess.getStringBinderAccess().getLeftParenthesisKeyword_2());
               		
             }
-            // InternalReportDSL.g:6503:3: ( (lv_elements_3_0= ruleStringBinderValue ) )*
-            loop90:
+            // InternalReportDSL.g:6804:3: ( (lv_elements_3_0= ruleStringBinderValue ) )*
+            loop78:
             do {
-                int alt90=2;
-                int LA90_0 = input.LA(1);
+                int alt78=2;
+                int LA78_0 = input.LA(1);
 
-                if ( (LA90_0==99||(LA90_0>=105 && LA90_0<=106)) ) {
-                    alt90=1;
+                if ( (LA78_0==98||(LA78_0>=104 && LA78_0<=105)) ) {
+                    alt78=1;
                 }
 
 
-                switch (alt90) {
+                switch (alt78) {
             	case 1 :
-            	    // InternalReportDSL.g:6504:4: (lv_elements_3_0= ruleStringBinderValue )
+            	    // InternalReportDSL.g:6805:4: (lv_elements_3_0= ruleStringBinderValue )
             	    {
-            	    // InternalReportDSL.g:6504:4: (lv_elements_3_0= ruleStringBinderValue )
-            	    // InternalReportDSL.g:6505:5: lv_elements_3_0= ruleStringBinderValue
+            	    // InternalReportDSL.g:6805:4: (lv_elements_3_0= ruleStringBinderValue )
+            	    // InternalReportDSL.g:6806:5: lv_elements_3_0= ruleStringBinderValue
             	    {
             	    if ( state.backtracking==0 ) {
 
             	      					newCompositeNode(grammarAccess.getStringBinderAccess().getElementsStringBinderValueParserRuleCall_3_0());
             	      				
             	    }
-            	    pushFollow(FOLLOW_108);
+            	    pushFollow(FOLLOW_100);
             	    lv_elements_3_0=ruleStringBinderValue();
 
             	    state._fsp--;
@@ -17333,26 +18165,26 @@
             	    break;
 
             	default :
-            	    break loop90;
+            	    break loop78;
                 }
             } while (true);
 
-            otherlv_4=(Token)match(input,104,FOLLOW_109); if (state.failed) return current;
+            otherlv_4=(Token)match(input,103,FOLLOW_101); if (state.failed) return current;
             if ( state.backtracking==0 ) {
 
               			newLeafNode(otherlv_4, grammarAccess.getStringBinderAccess().getRightParenthesisKeyword_4());
               		
             }
-            // InternalReportDSL.g:6526:3: (otherlv_5= 'style' ( (otherlv_6= RULE_ID ) ) )?
-            int alt91=2;
-            int LA91_0 = input.LA(1);
+            // InternalReportDSL.g:6827:3: (otherlv_5= 'style' ( (otherlv_6= RULE_ID ) ) )?
+            int alt79=2;
+            int LA79_0 = input.LA(1);
 
-            if ( (LA91_0==43) ) {
-                alt91=1;
+            if ( (LA79_0==43) ) {
+                alt79=1;
             }
-            switch (alt91) {
+            switch (alt79) {
                 case 1 :
-                    // InternalReportDSL.g:6527:4: otherlv_5= 'style' ( (otherlv_6= RULE_ID ) )
+                    // InternalReportDSL.g:6828:4: otherlv_5= 'style' ( (otherlv_6= RULE_ID ) )
                     {
                     otherlv_5=(Token)match(input,43,FOLLOW_4); if (state.failed) return current;
                     if ( state.backtracking==0 ) {
@@ -17360,11 +18192,11 @@
                       				newLeafNode(otherlv_5, grammarAccess.getStringBinderAccess().getStyleKeyword_5_0());
                       			
                     }
-                    // InternalReportDSL.g:6531:4: ( (otherlv_6= RULE_ID ) )
-                    // InternalReportDSL.g:6532:5: (otherlv_6= RULE_ID )
+                    // InternalReportDSL.g:6832:4: ( (otherlv_6= RULE_ID ) )
+                    // InternalReportDSL.g:6833:5: (otherlv_6= RULE_ID )
                     {
-                    // InternalReportDSL.g:6532:5: (otherlv_6= RULE_ID )
-                    // InternalReportDSL.g:6533:6: otherlv_6= RULE_ID
+                    // InternalReportDSL.g:6833:5: (otherlv_6= RULE_ID )
+                    // InternalReportDSL.g:6834:6: otherlv_6= RULE_ID
                     {
                     if ( state.backtracking==0 ) {
 
@@ -17416,7 +18248,7 @@
 
 
     // $ANTLR start "entryRulePageBreak"
-    // InternalReportDSL.g:6549:1: entryRulePageBreak returns [EObject current=null] : iv_rulePageBreak= rulePageBreak EOF ;
+    // InternalReportDSL.g:6850:1: entryRulePageBreak returns [EObject current=null] : iv_rulePageBreak= rulePageBreak EOF ;
     public final EObject entryRulePageBreak() throws RecognitionException {
         EObject current = null;
 
@@ -17424,8 +18256,8 @@
 
 
         try {
-            // InternalReportDSL.g:6549:50: (iv_rulePageBreak= rulePageBreak EOF )
-            // InternalReportDSL.g:6550:2: iv_rulePageBreak= rulePageBreak EOF
+            // InternalReportDSL.g:6850:50: (iv_rulePageBreak= rulePageBreak EOF )
+            // InternalReportDSL.g:6851:2: iv_rulePageBreak= rulePageBreak EOF
             {
             if ( state.backtracking==0 ) {
                newCompositeNode(grammarAccess.getPageBreakRule()); 
@@ -17456,33 +18288,35 @@
 
 
     // $ANTLR start "rulePageBreak"
-    // InternalReportDSL.g:6556:1: rulePageBreak returns [EObject current=null] : ( () otherlv_1= 'pageBreak' (otherlv_2= 'before' ( (lv_beforePageBreak_3_0= ruleBeforeAfterPageBreakEnum ) ) )? (otherlv_4= 'after' ( (lv_afterPageBreak_5_0= ruleBeforeAfterPageBreakEnum ) ) )? (otherlv_6= 'inside' ( (lv_insidePageBreak_7_0= ruleInsidePageBreakEnum ) ) )? ) ;
+    // InternalReportDSL.g:6857:1: rulePageBreak returns [EObject current=null] : ( () otherlv_1= 'pageBreak' otherlv_2= '(' (otherlv_3= 'before' ( (lv_beforePageBreak_4_0= ruleBeforeAfterPageBreakEnum ) ) )? (otherlv_5= 'after' ( (lv_afterPageBreak_6_0= ruleBeforeAfterPageBreakEnum ) ) )? (otherlv_7= 'inside' ( (lv_insidePageBreak_8_0= ruleInsidePageBreakEnum ) ) )? otherlv_9= ')' ) ;
     public final EObject rulePageBreak() throws RecognitionException {
         EObject current = null;
 
         Token otherlv_1=null;
         Token otherlv_2=null;
-        Token otherlv_4=null;
-        Token otherlv_6=null;
-        Enumerator lv_beforePageBreak_3_0 = null;
+        Token otherlv_3=null;
+        Token otherlv_5=null;
+        Token otherlv_7=null;
+        Token otherlv_9=null;
+        Enumerator lv_beforePageBreak_4_0 = null;
 
-        Enumerator lv_afterPageBreak_5_0 = null;
+        Enumerator lv_afterPageBreak_6_0 = null;
 
-        Enumerator lv_insidePageBreak_7_0 = null;
+        Enumerator lv_insidePageBreak_8_0 = null;
 
 
 
         	enterRule();
 
         try {
-            // InternalReportDSL.g:6562:2: ( ( () otherlv_1= 'pageBreak' (otherlv_2= 'before' ( (lv_beforePageBreak_3_0= ruleBeforeAfterPageBreakEnum ) ) )? (otherlv_4= 'after' ( (lv_afterPageBreak_5_0= ruleBeforeAfterPageBreakEnum ) ) )? (otherlv_6= 'inside' ( (lv_insidePageBreak_7_0= ruleInsidePageBreakEnum ) ) )? ) )
-            // InternalReportDSL.g:6563:2: ( () otherlv_1= 'pageBreak' (otherlv_2= 'before' ( (lv_beforePageBreak_3_0= ruleBeforeAfterPageBreakEnum ) ) )? (otherlv_4= 'after' ( (lv_afterPageBreak_5_0= ruleBeforeAfterPageBreakEnum ) ) )? (otherlv_6= 'inside' ( (lv_insidePageBreak_7_0= ruleInsidePageBreakEnum ) ) )? )
+            // InternalReportDSL.g:6863:2: ( ( () otherlv_1= 'pageBreak' otherlv_2= '(' (otherlv_3= 'before' ( (lv_beforePageBreak_4_0= ruleBeforeAfterPageBreakEnum ) ) )? (otherlv_5= 'after' ( (lv_afterPageBreak_6_0= ruleBeforeAfterPageBreakEnum ) ) )? (otherlv_7= 'inside' ( (lv_insidePageBreak_8_0= ruleInsidePageBreakEnum ) ) )? otherlv_9= ')' ) )
+            // InternalReportDSL.g:6864:2: ( () otherlv_1= 'pageBreak' otherlv_2= '(' (otherlv_3= 'before' ( (lv_beforePageBreak_4_0= ruleBeforeAfterPageBreakEnum ) ) )? (otherlv_5= 'after' ( (lv_afterPageBreak_6_0= ruleBeforeAfterPageBreakEnum ) ) )? (otherlv_7= 'inside' ( (lv_insidePageBreak_8_0= ruleInsidePageBreakEnum ) ) )? otherlv_9= ')' )
             {
-            // InternalReportDSL.g:6563:2: ( () otherlv_1= 'pageBreak' (otherlv_2= 'before' ( (lv_beforePageBreak_3_0= ruleBeforeAfterPageBreakEnum ) ) )? (otherlv_4= 'after' ( (lv_afterPageBreak_5_0= ruleBeforeAfterPageBreakEnum ) ) )? (otherlv_6= 'inside' ( (lv_insidePageBreak_7_0= ruleInsidePageBreakEnum ) ) )? )
-            // InternalReportDSL.g:6564:3: () otherlv_1= 'pageBreak' (otherlv_2= 'before' ( (lv_beforePageBreak_3_0= ruleBeforeAfterPageBreakEnum ) ) )? (otherlv_4= 'after' ( (lv_afterPageBreak_5_0= ruleBeforeAfterPageBreakEnum ) ) )? (otherlv_6= 'inside' ( (lv_insidePageBreak_7_0= ruleInsidePageBreakEnum ) ) )?
+            // InternalReportDSL.g:6864:2: ( () otherlv_1= 'pageBreak' otherlv_2= '(' (otherlv_3= 'before' ( (lv_beforePageBreak_4_0= ruleBeforeAfterPageBreakEnum ) ) )? (otherlv_5= 'after' ( (lv_afterPageBreak_6_0= ruleBeforeAfterPageBreakEnum ) ) )? (otherlv_7= 'inside' ( (lv_insidePageBreak_8_0= ruleInsidePageBreakEnum ) ) )? otherlv_9= ')' )
+            // InternalReportDSL.g:6865:3: () otherlv_1= 'pageBreak' otherlv_2= '(' (otherlv_3= 'before' ( (lv_beforePageBreak_4_0= ruleBeforeAfterPageBreakEnum ) ) )? (otherlv_5= 'after' ( (lv_afterPageBreak_6_0= ruleBeforeAfterPageBreakEnum ) ) )? (otherlv_7= 'inside' ( (lv_insidePageBreak_8_0= ruleInsidePageBreakEnum ) ) )? otherlv_9= ')'
             {
-            // InternalReportDSL.g:6564:3: ()
-            // InternalReportDSL.g:6565:4: 
+            // InternalReportDSL.g:6865:3: ()
+            // InternalReportDSL.g:6866:4: 
             {
             if ( state.backtracking==0 ) {
 
@@ -17494,42 +18328,48 @@
 
             }
 
-            otherlv_1=(Token)match(input,108,FOLLOW_110); if (state.failed) return current;
+            otherlv_1=(Token)match(input,107,FOLLOW_98); if (state.failed) return current;
             if ( state.backtracking==0 ) {
 
               			newLeafNode(otherlv_1, grammarAccess.getPageBreakAccess().getPageBreakKeyword_1());
               		
             }
-            // InternalReportDSL.g:6575:3: (otherlv_2= 'before' ( (lv_beforePageBreak_3_0= ruleBeforeAfterPageBreakEnum ) ) )?
-            int alt92=2;
-            int LA92_0 = input.LA(1);
+            otherlv_2=(Token)match(input,102,FOLLOW_102); if (state.failed) return current;
+            if ( state.backtracking==0 ) {
 
-            if ( (LA92_0==109) ) {
-                alt92=1;
+              			newLeafNode(otherlv_2, grammarAccess.getPageBreakAccess().getLeftParenthesisKeyword_2());
+              		
             }
-            switch (alt92) {
+            // InternalReportDSL.g:6880:3: (otherlv_3= 'before' ( (lv_beforePageBreak_4_0= ruleBeforeAfterPageBreakEnum ) ) )?
+            int alt80=2;
+            int LA80_0 = input.LA(1);
+
+            if ( (LA80_0==108) ) {
+                alt80=1;
+            }
+            switch (alt80) {
                 case 1 :
-                    // InternalReportDSL.g:6576:4: otherlv_2= 'before' ( (lv_beforePageBreak_3_0= ruleBeforeAfterPageBreakEnum ) )
+                    // InternalReportDSL.g:6881:4: otherlv_3= 'before' ( (lv_beforePageBreak_4_0= ruleBeforeAfterPageBreakEnum ) )
                     {
-                    otherlv_2=(Token)match(input,109,FOLLOW_111); if (state.failed) return current;
+                    otherlv_3=(Token)match(input,108,FOLLOW_103); if (state.failed) return current;
                     if ( state.backtracking==0 ) {
 
-                      				newLeafNode(otherlv_2, grammarAccess.getPageBreakAccess().getBeforeKeyword_2_0());
+                      				newLeafNode(otherlv_3, grammarAccess.getPageBreakAccess().getBeforeKeyword_3_0());
                       			
                     }
-                    // InternalReportDSL.g:6580:4: ( (lv_beforePageBreak_3_0= ruleBeforeAfterPageBreakEnum ) )
-                    // InternalReportDSL.g:6581:5: (lv_beforePageBreak_3_0= ruleBeforeAfterPageBreakEnum )
+                    // InternalReportDSL.g:6885:4: ( (lv_beforePageBreak_4_0= ruleBeforeAfterPageBreakEnum ) )
+                    // InternalReportDSL.g:6886:5: (lv_beforePageBreak_4_0= ruleBeforeAfterPageBreakEnum )
                     {
-                    // InternalReportDSL.g:6581:5: (lv_beforePageBreak_3_0= ruleBeforeAfterPageBreakEnum )
-                    // InternalReportDSL.g:6582:6: lv_beforePageBreak_3_0= ruleBeforeAfterPageBreakEnum
+                    // InternalReportDSL.g:6886:5: (lv_beforePageBreak_4_0= ruleBeforeAfterPageBreakEnum )
+                    // InternalReportDSL.g:6887:6: lv_beforePageBreak_4_0= ruleBeforeAfterPageBreakEnum
                     {
                     if ( state.backtracking==0 ) {
 
-                      						newCompositeNode(grammarAccess.getPageBreakAccess().getBeforePageBreakBeforeAfterPageBreakEnumEnumRuleCall_2_1_0());
+                      						newCompositeNode(grammarAccess.getPageBreakAccess().getBeforePageBreakBeforeAfterPageBreakEnumEnumRuleCall_3_1_0());
                       					
                     }
-                    pushFollow(FOLLOW_112);
-                    lv_beforePageBreak_3_0=ruleBeforeAfterPageBreakEnum();
+                    pushFollow(FOLLOW_104);
+                    lv_beforePageBreak_4_0=ruleBeforeAfterPageBreakEnum();
 
                     state._fsp--;
                     if (state.failed) return current;
@@ -17541,7 +18381,7 @@
                       						set(
                       							current,
                       							"beforePageBreak",
-                      							lv_beforePageBreak_3_0,
+                      							lv_beforePageBreak_4_0,
                       							"org.eclipse.osbp.xtext.reportdsl.ReportDSL.BeforeAfterPageBreakEnum");
                       						afterParserOrEnumRuleCall();
                       					
@@ -17558,36 +18398,36 @@
 
             }
 
-            // InternalReportDSL.g:6600:3: (otherlv_4= 'after' ( (lv_afterPageBreak_5_0= ruleBeforeAfterPageBreakEnum ) ) )?
-            int alt93=2;
-            int LA93_0 = input.LA(1);
+            // InternalReportDSL.g:6905:3: (otherlv_5= 'after' ( (lv_afterPageBreak_6_0= ruleBeforeAfterPageBreakEnum ) ) )?
+            int alt81=2;
+            int LA81_0 = input.LA(1);
 
-            if ( (LA93_0==110) ) {
-                alt93=1;
+            if ( (LA81_0==109) ) {
+                alt81=1;
             }
-            switch (alt93) {
+            switch (alt81) {
                 case 1 :
-                    // InternalReportDSL.g:6601:4: otherlv_4= 'after' ( (lv_afterPageBreak_5_0= ruleBeforeAfterPageBreakEnum ) )
+                    // InternalReportDSL.g:6906:4: otherlv_5= 'after' ( (lv_afterPageBreak_6_0= ruleBeforeAfterPageBreakEnum ) )
                     {
-                    otherlv_4=(Token)match(input,110,FOLLOW_111); if (state.failed) return current;
+                    otherlv_5=(Token)match(input,109,FOLLOW_103); if (state.failed) return current;
                     if ( state.backtracking==0 ) {
 
-                      				newLeafNode(otherlv_4, grammarAccess.getPageBreakAccess().getAfterKeyword_3_0());
+                      				newLeafNode(otherlv_5, grammarAccess.getPageBreakAccess().getAfterKeyword_4_0());
                       			
                     }
-                    // InternalReportDSL.g:6605:4: ( (lv_afterPageBreak_5_0= ruleBeforeAfterPageBreakEnum ) )
-                    // InternalReportDSL.g:6606:5: (lv_afterPageBreak_5_0= ruleBeforeAfterPageBreakEnum )
+                    // InternalReportDSL.g:6910:4: ( (lv_afterPageBreak_6_0= ruleBeforeAfterPageBreakEnum ) )
+                    // InternalReportDSL.g:6911:5: (lv_afterPageBreak_6_0= ruleBeforeAfterPageBreakEnum )
                     {
-                    // InternalReportDSL.g:6606:5: (lv_afterPageBreak_5_0= ruleBeforeAfterPageBreakEnum )
-                    // InternalReportDSL.g:6607:6: lv_afterPageBreak_5_0= ruleBeforeAfterPageBreakEnum
+                    // InternalReportDSL.g:6911:5: (lv_afterPageBreak_6_0= ruleBeforeAfterPageBreakEnum )
+                    // InternalReportDSL.g:6912:6: lv_afterPageBreak_6_0= ruleBeforeAfterPageBreakEnum
                     {
                     if ( state.backtracking==0 ) {
 
-                      						newCompositeNode(grammarAccess.getPageBreakAccess().getAfterPageBreakBeforeAfterPageBreakEnumEnumRuleCall_3_1_0());
+                      						newCompositeNode(grammarAccess.getPageBreakAccess().getAfterPageBreakBeforeAfterPageBreakEnumEnumRuleCall_4_1_0());
                       					
                     }
-                    pushFollow(FOLLOW_113);
-                    lv_afterPageBreak_5_0=ruleBeforeAfterPageBreakEnum();
+                    pushFollow(FOLLOW_105);
+                    lv_afterPageBreak_6_0=ruleBeforeAfterPageBreakEnum();
 
                     state._fsp--;
                     if (state.failed) return current;
@@ -17599,7 +18439,7 @@
                       						set(
                       							current,
                       							"afterPageBreak",
-                      							lv_afterPageBreak_5_0,
+                      							lv_afterPageBreak_6_0,
                       							"org.eclipse.osbp.xtext.reportdsl.ReportDSL.BeforeAfterPageBreakEnum");
                       						afterParserOrEnumRuleCall();
                       					
@@ -17616,36 +18456,36 @@
 
             }
 
-            // InternalReportDSL.g:6625:3: (otherlv_6= 'inside' ( (lv_insidePageBreak_7_0= ruleInsidePageBreakEnum ) ) )?
-            int alt94=2;
-            int LA94_0 = input.LA(1);
+            // InternalReportDSL.g:6930:3: (otherlv_7= 'inside' ( (lv_insidePageBreak_8_0= ruleInsidePageBreakEnum ) ) )?
+            int alt82=2;
+            int LA82_0 = input.LA(1);
 
-            if ( (LA94_0==111) ) {
-                alt94=1;
+            if ( (LA82_0==110) ) {
+                alt82=1;
             }
-            switch (alt94) {
+            switch (alt82) {
                 case 1 :
-                    // InternalReportDSL.g:6626:4: otherlv_6= 'inside' ( (lv_insidePageBreak_7_0= ruleInsidePageBreakEnum ) )
+                    // InternalReportDSL.g:6931:4: otherlv_7= 'inside' ( (lv_insidePageBreak_8_0= ruleInsidePageBreakEnum ) )
                     {
-                    otherlv_6=(Token)match(input,111,FOLLOW_114); if (state.failed) return current;
+                    otherlv_7=(Token)match(input,110,FOLLOW_106); if (state.failed) return current;
                     if ( state.backtracking==0 ) {
 
-                      				newLeafNode(otherlv_6, grammarAccess.getPageBreakAccess().getInsideKeyword_4_0());
+                      				newLeafNode(otherlv_7, grammarAccess.getPageBreakAccess().getInsideKeyword_5_0());
                       			
                     }
-                    // InternalReportDSL.g:6630:4: ( (lv_insidePageBreak_7_0= ruleInsidePageBreakEnum ) )
-                    // InternalReportDSL.g:6631:5: (lv_insidePageBreak_7_0= ruleInsidePageBreakEnum )
+                    // InternalReportDSL.g:6935:4: ( (lv_insidePageBreak_8_0= ruleInsidePageBreakEnum ) )
+                    // InternalReportDSL.g:6936:5: (lv_insidePageBreak_8_0= ruleInsidePageBreakEnum )
                     {
-                    // InternalReportDSL.g:6631:5: (lv_insidePageBreak_7_0= ruleInsidePageBreakEnum )
-                    // InternalReportDSL.g:6632:6: lv_insidePageBreak_7_0= ruleInsidePageBreakEnum
+                    // InternalReportDSL.g:6936:5: (lv_insidePageBreak_8_0= ruleInsidePageBreakEnum )
+                    // InternalReportDSL.g:6937:6: lv_insidePageBreak_8_0= ruleInsidePageBreakEnum
                     {
                     if ( state.backtracking==0 ) {
 
-                      						newCompositeNode(grammarAccess.getPageBreakAccess().getInsidePageBreakInsidePageBreakEnumEnumRuleCall_4_1_0());
+                      						newCompositeNode(grammarAccess.getPageBreakAccess().getInsidePageBreakInsidePageBreakEnumEnumRuleCall_5_1_0());
                       					
                     }
-                    pushFollow(FOLLOW_2);
-                    lv_insidePageBreak_7_0=ruleInsidePageBreakEnum();
+                    pushFollow(FOLLOW_107);
+                    lv_insidePageBreak_8_0=ruleInsidePageBreakEnum();
 
                     state._fsp--;
                     if (state.failed) return current;
@@ -17657,7 +18497,7 @@
                       						set(
                       							current,
                       							"insidePageBreak",
-                      							lv_insidePageBreak_7_0,
+                      							lv_insidePageBreak_8_0,
                       							"org.eclipse.osbp.xtext.reportdsl.ReportDSL.InsidePageBreakEnum");
                       						afterParserOrEnumRuleCall();
                       					
@@ -17674,6 +18514,12 @@
 
             }
 
+            otherlv_9=(Token)match(input,103,FOLLOW_2); if (state.failed) return current;
+            if ( state.backtracking==0 ) {
+
+              			newLeafNode(otherlv_9, grammarAccess.getPageBreakAccess().getRightParenthesisKeyword_6());
+              		
+            }
 
             }
 
@@ -17699,7 +18545,7 @@
 
 
     // $ANTLR start "entryRuleTableBinaryAggregation"
-    // InternalReportDSL.g:6654:1: entryRuleTableBinaryAggregation returns [EObject current=null] : iv_ruleTableBinaryAggregation= ruleTableBinaryAggregation EOF ;
+    // InternalReportDSL.g:6963:1: entryRuleTableBinaryAggregation returns [EObject current=null] : iv_ruleTableBinaryAggregation= ruleTableBinaryAggregation EOF ;
     public final EObject entryRuleTableBinaryAggregation() throws RecognitionException {
         EObject current = null;
 
@@ -17707,8 +18553,8 @@
 
 
         try {
-            // InternalReportDSL.g:6654:63: (iv_ruleTableBinaryAggregation= ruleTableBinaryAggregation EOF )
-            // InternalReportDSL.g:6655:2: iv_ruleTableBinaryAggregation= ruleTableBinaryAggregation EOF
+            // InternalReportDSL.g:6963:63: (iv_ruleTableBinaryAggregation= ruleTableBinaryAggregation EOF )
+            // InternalReportDSL.g:6964:2: iv_ruleTableBinaryAggregation= ruleTableBinaryAggregation EOF
             {
             if ( state.backtracking==0 ) {
                newCompositeNode(grammarAccess.getTableBinaryAggregationRule()); 
@@ -17739,7 +18585,7 @@
 
 
     // $ANTLR start "ruleTableBinaryAggregation"
-    // InternalReportDSL.g:6661:1: ruleTableBinaryAggregation returns [EObject current=null] : ( ( (lv_aggregation_0_0= ruleBinaryAggregationTypeEnum ) ) otherlv_1= '(' ( (otherlv_2= RULE_ID ) ) ( (otherlv_3= RULE_ID ) ) otherlv_4= ')' ) ;
+    // InternalReportDSL.g:6970:1: ruleTableBinaryAggregation returns [EObject current=null] : ( ( (lv_aggregation_0_0= ruleBinaryAggregationTypeEnum ) ) otherlv_1= '(' ( (otherlv_2= RULE_ID ) ) ( (otherlv_3= RULE_ID ) ) otherlv_4= ')' ) ;
     public final EObject ruleTableBinaryAggregation() throws RecognitionException {
         EObject current = null;
 
@@ -17754,24 +18600,24 @@
         	enterRule();
 
         try {
-            // InternalReportDSL.g:6667:2: ( ( ( (lv_aggregation_0_0= ruleBinaryAggregationTypeEnum ) ) otherlv_1= '(' ( (otherlv_2= RULE_ID ) ) ( (otherlv_3= RULE_ID ) ) otherlv_4= ')' ) )
-            // InternalReportDSL.g:6668:2: ( ( (lv_aggregation_0_0= ruleBinaryAggregationTypeEnum ) ) otherlv_1= '(' ( (otherlv_2= RULE_ID ) ) ( (otherlv_3= RULE_ID ) ) otherlv_4= ')' )
+            // InternalReportDSL.g:6976:2: ( ( ( (lv_aggregation_0_0= ruleBinaryAggregationTypeEnum ) ) otherlv_1= '(' ( (otherlv_2= RULE_ID ) ) ( (otherlv_3= RULE_ID ) ) otherlv_4= ')' ) )
+            // InternalReportDSL.g:6977:2: ( ( (lv_aggregation_0_0= ruleBinaryAggregationTypeEnum ) ) otherlv_1= '(' ( (otherlv_2= RULE_ID ) ) ( (otherlv_3= RULE_ID ) ) otherlv_4= ')' )
             {
-            // InternalReportDSL.g:6668:2: ( ( (lv_aggregation_0_0= ruleBinaryAggregationTypeEnum ) ) otherlv_1= '(' ( (otherlv_2= RULE_ID ) ) ( (otherlv_3= RULE_ID ) ) otherlv_4= ')' )
-            // InternalReportDSL.g:6669:3: ( (lv_aggregation_0_0= ruleBinaryAggregationTypeEnum ) ) otherlv_1= '(' ( (otherlv_2= RULE_ID ) ) ( (otherlv_3= RULE_ID ) ) otherlv_4= ')'
+            // InternalReportDSL.g:6977:2: ( ( (lv_aggregation_0_0= ruleBinaryAggregationTypeEnum ) ) otherlv_1= '(' ( (otherlv_2= RULE_ID ) ) ( (otherlv_3= RULE_ID ) ) otherlv_4= ')' )
+            // InternalReportDSL.g:6978:3: ( (lv_aggregation_0_0= ruleBinaryAggregationTypeEnum ) ) otherlv_1= '(' ( (otherlv_2= RULE_ID ) ) ( (otherlv_3= RULE_ID ) ) otherlv_4= ')'
             {
-            // InternalReportDSL.g:6669:3: ( (lv_aggregation_0_0= ruleBinaryAggregationTypeEnum ) )
-            // InternalReportDSL.g:6670:4: (lv_aggregation_0_0= ruleBinaryAggregationTypeEnum )
+            // InternalReportDSL.g:6978:3: ( (lv_aggregation_0_0= ruleBinaryAggregationTypeEnum ) )
+            // InternalReportDSL.g:6979:4: (lv_aggregation_0_0= ruleBinaryAggregationTypeEnum )
             {
-            // InternalReportDSL.g:6670:4: (lv_aggregation_0_0= ruleBinaryAggregationTypeEnum )
-            // InternalReportDSL.g:6671:5: lv_aggregation_0_0= ruleBinaryAggregationTypeEnum
+            // InternalReportDSL.g:6979:4: (lv_aggregation_0_0= ruleBinaryAggregationTypeEnum )
+            // InternalReportDSL.g:6980:5: lv_aggregation_0_0= ruleBinaryAggregationTypeEnum
             {
             if ( state.backtracking==0 ) {
 
               					newCompositeNode(grammarAccess.getTableBinaryAggregationAccess().getAggregationBinaryAggregationTypeEnumEnumRuleCall_0_0());
               				
             }
-            pushFollow(FOLLOW_106);
+            pushFollow(FOLLOW_98);
             lv_aggregation_0_0=ruleBinaryAggregationTypeEnum();
 
             state._fsp--;
@@ -17795,17 +18641,17 @@
 
             }
 
-            otherlv_1=(Token)match(input,103,FOLLOW_4); if (state.failed) return current;
+            otherlv_1=(Token)match(input,102,FOLLOW_4); if (state.failed) return current;
             if ( state.backtracking==0 ) {
 
               			newLeafNode(otherlv_1, grammarAccess.getTableBinaryAggregationAccess().getLeftParenthesisKeyword_1());
               		
             }
-            // InternalReportDSL.g:6692:3: ( (otherlv_2= RULE_ID ) )
-            // InternalReportDSL.g:6693:4: (otherlv_2= RULE_ID )
+            // InternalReportDSL.g:7001:3: ( (otherlv_2= RULE_ID ) )
+            // InternalReportDSL.g:7002:4: (otherlv_2= RULE_ID )
             {
-            // InternalReportDSL.g:6693:4: (otherlv_2= RULE_ID )
-            // InternalReportDSL.g:6694:5: otherlv_2= RULE_ID
+            // InternalReportDSL.g:7002:4: (otherlv_2= RULE_ID )
+            // InternalReportDSL.g:7003:5: otherlv_2= RULE_ID
             {
             if ( state.backtracking==0 ) {
 
@@ -17826,11 +18672,11 @@
 
             }
 
-            // InternalReportDSL.g:6705:3: ( (otherlv_3= RULE_ID ) )
-            // InternalReportDSL.g:6706:4: (otherlv_3= RULE_ID )
+            // InternalReportDSL.g:7014:3: ( (otherlv_3= RULE_ID ) )
+            // InternalReportDSL.g:7015:4: (otherlv_3= RULE_ID )
             {
-            // InternalReportDSL.g:6706:4: (otherlv_3= RULE_ID )
-            // InternalReportDSL.g:6707:5: otherlv_3= RULE_ID
+            // InternalReportDSL.g:7015:4: (otherlv_3= RULE_ID )
+            // InternalReportDSL.g:7016:5: otherlv_3= RULE_ID
             {
             if ( state.backtracking==0 ) {
 
@@ -17839,7 +18685,7 @@
               					}
               				
             }
-            otherlv_3=(Token)match(input,RULE_ID,FOLLOW_115); if (state.failed) return current;
+            otherlv_3=(Token)match(input,RULE_ID,FOLLOW_107); if (state.failed) return current;
             if ( state.backtracking==0 ) {
 
               					newLeafNode(otherlv_3, grammarAccess.getTableBinaryAggregationAccess().getValueRefsDatamartAttributeCrossReference_3_0());
@@ -17851,7 +18697,7 @@
 
             }
 
-            otherlv_4=(Token)match(input,104,FOLLOW_2); if (state.failed) return current;
+            otherlv_4=(Token)match(input,103,FOLLOW_2); if (state.failed) return current;
             if ( state.backtracking==0 ) {
 
               			newLeafNode(otherlv_4, grammarAccess.getTableBinaryAggregationAccess().getRightParenthesisKeyword_4());
@@ -17882,7 +18728,7 @@
 
 
     // $ANTLR start "entryRuleTableInterval"
-    // InternalReportDSL.g:6726:1: entryRuleTableInterval returns [EObject current=null] : iv_ruleTableInterval= ruleTableInterval EOF ;
+    // InternalReportDSL.g:7035:1: entryRuleTableInterval returns [EObject current=null] : iv_ruleTableInterval= ruleTableInterval EOF ;
     public final EObject entryRuleTableInterval() throws RecognitionException {
         EObject current = null;
 
@@ -17890,8 +18736,8 @@
 
 
         try {
-            // InternalReportDSL.g:6726:54: (iv_ruleTableInterval= ruleTableInterval EOF )
-            // InternalReportDSL.g:6727:2: iv_ruleTableInterval= ruleTableInterval EOF
+            // InternalReportDSL.g:7035:54: (iv_ruleTableInterval= ruleTableInterval EOF )
+            // InternalReportDSL.g:7036:2: iv_ruleTableInterval= ruleTableInterval EOF
             {
             if ( state.backtracking==0 ) {
                newCompositeNode(grammarAccess.getTableIntervalRule()); 
@@ -17922,7 +18768,7 @@
 
 
     // $ANTLR start "ruleTableInterval"
-    // InternalReportDSL.g:6733:1: ruleTableInterval returns [EObject current=null] : (this_TableNumberInterval_0= ruleTableNumberInterval | this_TableDateDayInterval_1= ruleTableDateDayInterval ) ;
+    // InternalReportDSL.g:7042:1: ruleTableInterval returns [EObject current=null] : (this_TableNumberInterval_0= ruleTableNumberInterval | this_TableDateDayInterval_1= ruleTableDateDayInterval ) ;
     public final EObject ruleTableInterval() throws RecognitionException {
         EObject current = null;
 
@@ -17935,29 +18781,29 @@
         	enterRule();
 
         try {
-            // InternalReportDSL.g:6739:2: ( (this_TableNumberInterval_0= ruleTableNumberInterval | this_TableDateDayInterval_1= ruleTableDateDayInterval ) )
-            // InternalReportDSL.g:6740:2: (this_TableNumberInterval_0= ruleTableNumberInterval | this_TableDateDayInterval_1= ruleTableDateDayInterval )
+            // InternalReportDSL.g:7048:2: ( (this_TableNumberInterval_0= ruleTableNumberInterval | this_TableDateDayInterval_1= ruleTableDateDayInterval ) )
+            // InternalReportDSL.g:7049:2: (this_TableNumberInterval_0= ruleTableNumberInterval | this_TableDateDayInterval_1= ruleTableDateDayInterval )
             {
-            // InternalReportDSL.g:6740:2: (this_TableNumberInterval_0= ruleTableNumberInterval | this_TableDateDayInterval_1= ruleTableDateDayInterval )
-            int alt95=2;
-            int LA95_0 = input.LA(1);
+            // InternalReportDSL.g:7049:2: (this_TableNumberInterval_0= ruleTableNumberInterval | this_TableDateDayInterval_1= ruleTableDateDayInterval )
+            int alt83=2;
+            int LA83_0 = input.LA(1);
 
-            if ( (LA95_0==112) ) {
-                alt95=1;
+            if ( (LA83_0==111) ) {
+                alt83=1;
             }
-            else if ( (LA95_0==113) ) {
-                alt95=2;
+            else if ( (LA83_0==112) ) {
+                alt83=2;
             }
             else {
                 if (state.backtracking>0) {state.failed=true; return current;}
                 NoViableAltException nvae =
-                    new NoViableAltException("", 95, 0, input);
+                    new NoViableAltException("", 83, 0, input);
 
                 throw nvae;
             }
-            switch (alt95) {
+            switch (alt83) {
                 case 1 :
-                    // InternalReportDSL.g:6741:3: this_TableNumberInterval_0= ruleTableNumberInterval
+                    // InternalReportDSL.g:7050:3: this_TableNumberInterval_0= ruleTableNumberInterval
                     {
                     if ( state.backtracking==0 ) {
 
@@ -17979,7 +18825,7 @@
                     }
                     break;
                 case 2 :
-                    // InternalReportDSL.g:6750:3: this_TableDateDayInterval_1= ruleTableDateDayInterval
+                    // InternalReportDSL.g:7059:3: this_TableDateDayInterval_1= ruleTableDateDayInterval
                     {
                     if ( state.backtracking==0 ) {
 
@@ -18025,7 +18871,7 @@
 
 
     // $ANTLR start "entryRuleTableNumberInterval"
-    // InternalReportDSL.g:6762:1: entryRuleTableNumberInterval returns [EObject current=null] : iv_ruleTableNumberInterval= ruleTableNumberInterval EOF ;
+    // InternalReportDSL.g:7071:1: entryRuleTableNumberInterval returns [EObject current=null] : iv_ruleTableNumberInterval= ruleTableNumberInterval EOF ;
     public final EObject entryRuleTableNumberInterval() throws RecognitionException {
         EObject current = null;
 
@@ -18033,8 +18879,8 @@
 
 
         try {
-            // InternalReportDSL.g:6762:60: (iv_ruleTableNumberInterval= ruleTableNumberInterval EOF )
-            // InternalReportDSL.g:6763:2: iv_ruleTableNumberInterval= ruleTableNumberInterval EOF
+            // InternalReportDSL.g:7071:60: (iv_ruleTableNumberInterval= ruleTableNumberInterval EOF )
+            // InternalReportDSL.g:7072:2: iv_ruleTableNumberInterval= ruleTableNumberInterval EOF
             {
             if ( state.backtracking==0 ) {
                newCompositeNode(grammarAccess.getTableNumberIntervalRule()); 
@@ -18065,7 +18911,7 @@
 
 
     // $ANTLR start "ruleTableNumberInterval"
-    // InternalReportDSL.g:6769:1: ruleTableNumberInterval returns [EObject current=null] : ( () otherlv_1= 'upTo' ( (lv_numberIntervalValue_2_0= ruleSignedNumber ) ) ( (lv_numberRange_3_0= ruleTableRangeElement ) ) ) ;
+    // InternalReportDSL.g:7078:1: ruleTableNumberInterval returns [EObject current=null] : ( () otherlv_1= 'upTo' ( (lv_numberIntervalValue_2_0= ruleSignedNumber ) ) ( (lv_numberRange_3_0= ruleTableRangeElement ) ) ) ;
     public final EObject ruleTableNumberInterval() throws RecognitionException {
         EObject current = null;
 
@@ -18079,14 +18925,14 @@
         	enterRule();
 
         try {
-            // InternalReportDSL.g:6775:2: ( ( () otherlv_1= 'upTo' ( (lv_numberIntervalValue_2_0= ruleSignedNumber ) ) ( (lv_numberRange_3_0= ruleTableRangeElement ) ) ) )
-            // InternalReportDSL.g:6776:2: ( () otherlv_1= 'upTo' ( (lv_numberIntervalValue_2_0= ruleSignedNumber ) ) ( (lv_numberRange_3_0= ruleTableRangeElement ) ) )
+            // InternalReportDSL.g:7084:2: ( ( () otherlv_1= 'upTo' ( (lv_numberIntervalValue_2_0= ruleSignedNumber ) ) ( (lv_numberRange_3_0= ruleTableRangeElement ) ) ) )
+            // InternalReportDSL.g:7085:2: ( () otherlv_1= 'upTo' ( (lv_numberIntervalValue_2_0= ruleSignedNumber ) ) ( (lv_numberRange_3_0= ruleTableRangeElement ) ) )
             {
-            // InternalReportDSL.g:6776:2: ( () otherlv_1= 'upTo' ( (lv_numberIntervalValue_2_0= ruleSignedNumber ) ) ( (lv_numberRange_3_0= ruleTableRangeElement ) ) )
-            // InternalReportDSL.g:6777:3: () otherlv_1= 'upTo' ( (lv_numberIntervalValue_2_0= ruleSignedNumber ) ) ( (lv_numberRange_3_0= ruleTableRangeElement ) )
+            // InternalReportDSL.g:7085:2: ( () otherlv_1= 'upTo' ( (lv_numberIntervalValue_2_0= ruleSignedNumber ) ) ( (lv_numberRange_3_0= ruleTableRangeElement ) ) )
+            // InternalReportDSL.g:7086:3: () otherlv_1= 'upTo' ( (lv_numberIntervalValue_2_0= ruleSignedNumber ) ) ( (lv_numberRange_3_0= ruleTableRangeElement ) )
             {
-            // InternalReportDSL.g:6777:3: ()
-            // InternalReportDSL.g:6778:4: 
+            // InternalReportDSL.g:7086:3: ()
+            // InternalReportDSL.g:7087:4: 
             {
             if ( state.backtracking==0 ) {
 
@@ -18098,24 +18944,24 @@
 
             }
 
-            otherlv_1=(Token)match(input,112,FOLLOW_116); if (state.failed) return current;
+            otherlv_1=(Token)match(input,111,FOLLOW_108); if (state.failed) return current;
             if ( state.backtracking==0 ) {
 
               			newLeafNode(otherlv_1, grammarAccess.getTableNumberIntervalAccess().getUpToKeyword_1());
               		
             }
-            // InternalReportDSL.g:6788:3: ( (lv_numberIntervalValue_2_0= ruleSignedNumber ) )
-            // InternalReportDSL.g:6789:4: (lv_numberIntervalValue_2_0= ruleSignedNumber )
+            // InternalReportDSL.g:7097:3: ( (lv_numberIntervalValue_2_0= ruleSignedNumber ) )
+            // InternalReportDSL.g:7098:4: (lv_numberIntervalValue_2_0= ruleSignedNumber )
             {
-            // InternalReportDSL.g:6789:4: (lv_numberIntervalValue_2_0= ruleSignedNumber )
-            // InternalReportDSL.g:6790:5: lv_numberIntervalValue_2_0= ruleSignedNumber
+            // InternalReportDSL.g:7098:4: (lv_numberIntervalValue_2_0= ruleSignedNumber )
+            // InternalReportDSL.g:7099:5: lv_numberIntervalValue_2_0= ruleSignedNumber
             {
             if ( state.backtracking==0 ) {
 
               					newCompositeNode(grammarAccess.getTableNumberIntervalAccess().getNumberIntervalValueSignedNumberParserRuleCall_2_0());
               				
             }
-            pushFollow(FOLLOW_117);
+            pushFollow(FOLLOW_109);
             lv_numberIntervalValue_2_0=ruleSignedNumber();
 
             state._fsp--;
@@ -18139,11 +18985,11 @@
 
             }
 
-            // InternalReportDSL.g:6807:3: ( (lv_numberRange_3_0= ruleTableRangeElement ) )
-            // InternalReportDSL.g:6808:4: (lv_numberRange_3_0= ruleTableRangeElement )
+            // InternalReportDSL.g:7116:3: ( (lv_numberRange_3_0= ruleTableRangeElement ) )
+            // InternalReportDSL.g:7117:4: (lv_numberRange_3_0= ruleTableRangeElement )
             {
-            // InternalReportDSL.g:6808:4: (lv_numberRange_3_0= ruleTableRangeElement )
-            // InternalReportDSL.g:6809:5: lv_numberRange_3_0= ruleTableRangeElement
+            // InternalReportDSL.g:7117:4: (lv_numberRange_3_0= ruleTableRangeElement )
+            // InternalReportDSL.g:7118:5: lv_numberRange_3_0= ruleTableRangeElement
             {
             if ( state.backtracking==0 ) {
 
@@ -18199,7 +19045,7 @@
 
 
     // $ANTLR start "entryRuleTableDateDayInterval"
-    // InternalReportDSL.g:6830:1: entryRuleTableDateDayInterval returns [EObject current=null] : iv_ruleTableDateDayInterval= ruleTableDateDayInterval EOF ;
+    // InternalReportDSL.g:7139:1: entryRuleTableDateDayInterval returns [EObject current=null] : iv_ruleTableDateDayInterval= ruleTableDateDayInterval EOF ;
     public final EObject entryRuleTableDateDayInterval() throws RecognitionException {
         EObject current = null;
 
@@ -18207,8 +19053,8 @@
 
 
         try {
-            // InternalReportDSL.g:6830:61: (iv_ruleTableDateDayInterval= ruleTableDateDayInterval EOF )
-            // InternalReportDSL.g:6831:2: iv_ruleTableDateDayInterval= ruleTableDateDayInterval EOF
+            // InternalReportDSL.g:7139:61: (iv_ruleTableDateDayInterval= ruleTableDateDayInterval EOF )
+            // InternalReportDSL.g:7140:2: iv_ruleTableDateDayInterval= ruleTableDateDayInterval EOF
             {
             if ( state.backtracking==0 ) {
                newCompositeNode(grammarAccess.getTableDateDayIntervalRule()); 
@@ -18239,7 +19085,7 @@
 
 
     // $ANTLR start "ruleTableDateDayInterval"
-    // InternalReportDSL.g:6837:1: ruleTableDateDayInterval returns [EObject current=null] : ( () otherlv_1= 'daysInPast' ( (lv_dateIntervalValue_2_0= ruleSignedNumber ) ) ( (lv_dateRange_3_0= ruleTableRangeElement ) ) ) ;
+    // InternalReportDSL.g:7146:1: ruleTableDateDayInterval returns [EObject current=null] : ( () otherlv_1= 'daysInPast' ( (lv_dateIntervalValue_2_0= ruleSignedNumber ) ) ( (lv_dateRange_3_0= ruleTableRangeElement ) ) ) ;
     public final EObject ruleTableDateDayInterval() throws RecognitionException {
         EObject current = null;
 
@@ -18253,14 +19099,14 @@
         	enterRule();
 
         try {
-            // InternalReportDSL.g:6843:2: ( ( () otherlv_1= 'daysInPast' ( (lv_dateIntervalValue_2_0= ruleSignedNumber ) ) ( (lv_dateRange_3_0= ruleTableRangeElement ) ) ) )
-            // InternalReportDSL.g:6844:2: ( () otherlv_1= 'daysInPast' ( (lv_dateIntervalValue_2_0= ruleSignedNumber ) ) ( (lv_dateRange_3_0= ruleTableRangeElement ) ) )
+            // InternalReportDSL.g:7152:2: ( ( () otherlv_1= 'daysInPast' ( (lv_dateIntervalValue_2_0= ruleSignedNumber ) ) ( (lv_dateRange_3_0= ruleTableRangeElement ) ) ) )
+            // InternalReportDSL.g:7153:2: ( () otherlv_1= 'daysInPast' ( (lv_dateIntervalValue_2_0= ruleSignedNumber ) ) ( (lv_dateRange_3_0= ruleTableRangeElement ) ) )
             {
-            // InternalReportDSL.g:6844:2: ( () otherlv_1= 'daysInPast' ( (lv_dateIntervalValue_2_0= ruleSignedNumber ) ) ( (lv_dateRange_3_0= ruleTableRangeElement ) ) )
-            // InternalReportDSL.g:6845:3: () otherlv_1= 'daysInPast' ( (lv_dateIntervalValue_2_0= ruleSignedNumber ) ) ( (lv_dateRange_3_0= ruleTableRangeElement ) )
+            // InternalReportDSL.g:7153:2: ( () otherlv_1= 'daysInPast' ( (lv_dateIntervalValue_2_0= ruleSignedNumber ) ) ( (lv_dateRange_3_0= ruleTableRangeElement ) ) )
+            // InternalReportDSL.g:7154:3: () otherlv_1= 'daysInPast' ( (lv_dateIntervalValue_2_0= ruleSignedNumber ) ) ( (lv_dateRange_3_0= ruleTableRangeElement ) )
             {
-            // InternalReportDSL.g:6845:3: ()
-            // InternalReportDSL.g:6846:4: 
+            // InternalReportDSL.g:7154:3: ()
+            // InternalReportDSL.g:7155:4: 
             {
             if ( state.backtracking==0 ) {
 
@@ -18272,24 +19118,24 @@
 
             }
 
-            otherlv_1=(Token)match(input,113,FOLLOW_116); if (state.failed) return current;
+            otherlv_1=(Token)match(input,112,FOLLOW_108); if (state.failed) return current;
             if ( state.backtracking==0 ) {
 
               			newLeafNode(otherlv_1, grammarAccess.getTableDateDayIntervalAccess().getDaysInPastKeyword_1());
               		
             }
-            // InternalReportDSL.g:6856:3: ( (lv_dateIntervalValue_2_0= ruleSignedNumber ) )
-            // InternalReportDSL.g:6857:4: (lv_dateIntervalValue_2_0= ruleSignedNumber )
+            // InternalReportDSL.g:7165:3: ( (lv_dateIntervalValue_2_0= ruleSignedNumber ) )
+            // InternalReportDSL.g:7166:4: (lv_dateIntervalValue_2_0= ruleSignedNumber )
             {
-            // InternalReportDSL.g:6857:4: (lv_dateIntervalValue_2_0= ruleSignedNumber )
-            // InternalReportDSL.g:6858:5: lv_dateIntervalValue_2_0= ruleSignedNumber
+            // InternalReportDSL.g:7166:4: (lv_dateIntervalValue_2_0= ruleSignedNumber )
+            // InternalReportDSL.g:7167:5: lv_dateIntervalValue_2_0= ruleSignedNumber
             {
             if ( state.backtracking==0 ) {
 
               					newCompositeNode(grammarAccess.getTableDateDayIntervalAccess().getDateIntervalValueSignedNumberParserRuleCall_2_0());
               				
             }
-            pushFollow(FOLLOW_117);
+            pushFollow(FOLLOW_109);
             lv_dateIntervalValue_2_0=ruleSignedNumber();
 
             state._fsp--;
@@ -18313,11 +19159,11 @@
 
             }
 
-            // InternalReportDSL.g:6875:3: ( (lv_dateRange_3_0= ruleTableRangeElement ) )
-            // InternalReportDSL.g:6876:4: (lv_dateRange_3_0= ruleTableRangeElement )
+            // InternalReportDSL.g:7184:3: ( (lv_dateRange_3_0= ruleTableRangeElement ) )
+            // InternalReportDSL.g:7185:4: (lv_dateRange_3_0= ruleTableRangeElement )
             {
-            // InternalReportDSL.g:6876:4: (lv_dateRange_3_0= ruleTableRangeElement )
-            // InternalReportDSL.g:6877:5: lv_dateRange_3_0= ruleTableRangeElement
+            // InternalReportDSL.g:7185:4: (lv_dateRange_3_0= ruleTableRangeElement )
+            // InternalReportDSL.g:7186:5: lv_dateRange_3_0= ruleTableRangeElement
             {
             if ( state.backtracking==0 ) {
 
@@ -18373,7 +19219,7 @@
 
 
     // $ANTLR start "entryRuleTableLookup"
-    // InternalReportDSL.g:6898:1: entryRuleTableLookup returns [EObject current=null] : iv_ruleTableLookup= ruleTableLookup EOF ;
+    // InternalReportDSL.g:7207:1: entryRuleTableLookup returns [EObject current=null] : iv_ruleTableLookup= ruleTableLookup EOF ;
     public final EObject entryRuleTableLookup() throws RecognitionException {
         EObject current = null;
 
@@ -18381,8 +19227,8 @@
 
 
         try {
-            // InternalReportDSL.g:6898:52: (iv_ruleTableLookup= ruleTableLookup EOF )
-            // InternalReportDSL.g:6899:2: iv_ruleTableLookup= ruleTableLookup EOF
+            // InternalReportDSL.g:7207:52: (iv_ruleTableLookup= ruleTableLookup EOF )
+            // InternalReportDSL.g:7208:2: iv_ruleTableLookup= ruleTableLookup EOF
             {
             if ( state.backtracking==0 ) {
                newCompositeNode(grammarAccess.getTableLookupRule()); 
@@ -18413,7 +19259,7 @@
 
 
     // $ANTLR start "ruleTableLookup"
-    // InternalReportDSL.g:6905:1: ruleTableLookup returns [EObject current=null] : (this_TableNumberLookup_0= ruleTableNumberLookup | this_TableStringLookup_1= ruleTableStringLookup | this_TableDateDayLookup_2= ruleTableDateDayLookup ) ;
+    // InternalReportDSL.g:7214:1: ruleTableLookup returns [EObject current=null] : (this_TableNumberLookup_0= ruleTableNumberLookup | this_TableStringLookup_1= ruleTableStringLookup | this_TableDateDayLookup_2= ruleTableDateDayLookup ) ;
     public final EObject ruleTableLookup() throws RecognitionException {
         EObject current = null;
 
@@ -18428,38 +19274,38 @@
         	enterRule();
 
         try {
-            // InternalReportDSL.g:6911:2: ( (this_TableNumberLookup_0= ruleTableNumberLookup | this_TableStringLookup_1= ruleTableStringLookup | this_TableDateDayLookup_2= ruleTableDateDayLookup ) )
-            // InternalReportDSL.g:6912:2: (this_TableNumberLookup_0= ruleTableNumberLookup | this_TableStringLookup_1= ruleTableStringLookup | this_TableDateDayLookup_2= ruleTableDateDayLookup )
+            // InternalReportDSL.g:7220:2: ( (this_TableNumberLookup_0= ruleTableNumberLookup | this_TableStringLookup_1= ruleTableStringLookup | this_TableDateDayLookup_2= ruleTableDateDayLookup ) )
+            // InternalReportDSL.g:7221:2: (this_TableNumberLookup_0= ruleTableNumberLookup | this_TableStringLookup_1= ruleTableStringLookup | this_TableDateDayLookup_2= ruleTableDateDayLookup )
             {
-            // InternalReportDSL.g:6912:2: (this_TableNumberLookup_0= ruleTableNumberLookup | this_TableStringLookup_1= ruleTableStringLookup | this_TableDateDayLookup_2= ruleTableDateDayLookup )
-            int alt96=3;
+            // InternalReportDSL.g:7221:2: (this_TableNumberLookup_0= ruleTableNumberLookup | this_TableStringLookup_1= ruleTableStringLookup | this_TableDateDayLookup_2= ruleTableDateDayLookup )
+            int alt84=3;
             switch ( input.LA(1) ) {
-            case 64:
+            case 65:
                 {
-                alt96=1;
-                }
-                break;
-            case 114:
-                {
-                alt96=2;
+                alt84=1;
                 }
                 break;
             case 113:
                 {
-                alt96=3;
+                alt84=2;
+                }
+                break;
+            case 112:
+                {
+                alt84=3;
                 }
                 break;
             default:
                 if (state.backtracking>0) {state.failed=true; return current;}
                 NoViableAltException nvae =
-                    new NoViableAltException("", 96, 0, input);
+                    new NoViableAltException("", 84, 0, input);
 
                 throw nvae;
             }
 
-            switch (alt96) {
+            switch (alt84) {
                 case 1 :
-                    // InternalReportDSL.g:6913:3: this_TableNumberLookup_0= ruleTableNumberLookup
+                    // InternalReportDSL.g:7222:3: this_TableNumberLookup_0= ruleTableNumberLookup
                     {
                     if ( state.backtracking==0 ) {
 
@@ -18481,7 +19327,7 @@
                     }
                     break;
                 case 2 :
-                    // InternalReportDSL.g:6922:3: this_TableStringLookup_1= ruleTableStringLookup
+                    // InternalReportDSL.g:7231:3: this_TableStringLookup_1= ruleTableStringLookup
                     {
                     if ( state.backtracking==0 ) {
 
@@ -18503,7 +19349,7 @@
                     }
                     break;
                 case 3 :
-                    // InternalReportDSL.g:6931:3: this_TableDateDayLookup_2= ruleTableDateDayLookup
+                    // InternalReportDSL.g:7240:3: this_TableDateDayLookup_2= ruleTableDateDayLookup
                     {
                     if ( state.backtracking==0 ) {
 
@@ -18549,7 +19395,7 @@
 
 
     // $ANTLR start "entryRuleTableNumberLookup"
-    // InternalReportDSL.g:6943:1: entryRuleTableNumberLookup returns [EObject current=null] : iv_ruleTableNumberLookup= ruleTableNumberLookup EOF ;
+    // InternalReportDSL.g:7252:1: entryRuleTableNumberLookup returns [EObject current=null] : iv_ruleTableNumberLookup= ruleTableNumberLookup EOF ;
     public final EObject entryRuleTableNumberLookup() throws RecognitionException {
         EObject current = null;
 
@@ -18557,8 +19403,8 @@
 
 
         try {
-            // InternalReportDSL.g:6943:58: (iv_ruleTableNumberLookup= ruleTableNumberLookup EOF )
-            // InternalReportDSL.g:6944:2: iv_ruleTableNumberLookup= ruleTableNumberLookup EOF
+            // InternalReportDSL.g:7252:58: (iv_ruleTableNumberLookup= ruleTableNumberLookup EOF )
+            // InternalReportDSL.g:7253:2: iv_ruleTableNumberLookup= ruleTableNumberLookup EOF
             {
             if ( state.backtracking==0 ) {
                newCompositeNode(grammarAccess.getTableNumberLookupRule()); 
@@ -18589,7 +19435,7 @@
 
 
     // $ANTLR start "ruleTableNumberLookup"
-    // InternalReportDSL.g:6950:1: ruleTableNumberLookup returns [EObject current=null] : ( () otherlv_1= 'number' ( (lv_lookupValue_2_0= ruleSignedNumber ) ) ( (lv_discrete_3_0= ruleTableRangeElement ) ) ) ;
+    // InternalReportDSL.g:7259:1: ruleTableNumberLookup returns [EObject current=null] : ( () otherlv_1= 'number' ( (lv_lookupValue_2_0= ruleSignedNumber ) ) ( (lv_discrete_3_0= ruleTableRangeElement ) ) ) ;
     public final EObject ruleTableNumberLookup() throws RecognitionException {
         EObject current = null;
 
@@ -18603,14 +19449,14 @@
         	enterRule();
 
         try {
-            // InternalReportDSL.g:6956:2: ( ( () otherlv_1= 'number' ( (lv_lookupValue_2_0= ruleSignedNumber ) ) ( (lv_discrete_3_0= ruleTableRangeElement ) ) ) )
-            // InternalReportDSL.g:6957:2: ( () otherlv_1= 'number' ( (lv_lookupValue_2_0= ruleSignedNumber ) ) ( (lv_discrete_3_0= ruleTableRangeElement ) ) )
+            // InternalReportDSL.g:7265:2: ( ( () otherlv_1= 'number' ( (lv_lookupValue_2_0= ruleSignedNumber ) ) ( (lv_discrete_3_0= ruleTableRangeElement ) ) ) )
+            // InternalReportDSL.g:7266:2: ( () otherlv_1= 'number' ( (lv_lookupValue_2_0= ruleSignedNumber ) ) ( (lv_discrete_3_0= ruleTableRangeElement ) ) )
             {
-            // InternalReportDSL.g:6957:2: ( () otherlv_1= 'number' ( (lv_lookupValue_2_0= ruleSignedNumber ) ) ( (lv_discrete_3_0= ruleTableRangeElement ) ) )
-            // InternalReportDSL.g:6958:3: () otherlv_1= 'number' ( (lv_lookupValue_2_0= ruleSignedNumber ) ) ( (lv_discrete_3_0= ruleTableRangeElement ) )
+            // InternalReportDSL.g:7266:2: ( () otherlv_1= 'number' ( (lv_lookupValue_2_0= ruleSignedNumber ) ) ( (lv_discrete_3_0= ruleTableRangeElement ) ) )
+            // InternalReportDSL.g:7267:3: () otherlv_1= 'number' ( (lv_lookupValue_2_0= ruleSignedNumber ) ) ( (lv_discrete_3_0= ruleTableRangeElement ) )
             {
-            // InternalReportDSL.g:6958:3: ()
-            // InternalReportDSL.g:6959:4: 
+            // InternalReportDSL.g:7267:3: ()
+            // InternalReportDSL.g:7268:4: 
             {
             if ( state.backtracking==0 ) {
 
@@ -18622,24 +19468,24 @@
 
             }
 
-            otherlv_1=(Token)match(input,64,FOLLOW_116); if (state.failed) return current;
+            otherlv_1=(Token)match(input,65,FOLLOW_108); if (state.failed) return current;
             if ( state.backtracking==0 ) {
 
               			newLeafNode(otherlv_1, grammarAccess.getTableNumberLookupAccess().getNumberKeyword_1());
               		
             }
-            // InternalReportDSL.g:6969:3: ( (lv_lookupValue_2_0= ruleSignedNumber ) )
-            // InternalReportDSL.g:6970:4: (lv_lookupValue_2_0= ruleSignedNumber )
+            // InternalReportDSL.g:7278:3: ( (lv_lookupValue_2_0= ruleSignedNumber ) )
+            // InternalReportDSL.g:7279:4: (lv_lookupValue_2_0= ruleSignedNumber )
             {
-            // InternalReportDSL.g:6970:4: (lv_lookupValue_2_0= ruleSignedNumber )
-            // InternalReportDSL.g:6971:5: lv_lookupValue_2_0= ruleSignedNumber
+            // InternalReportDSL.g:7279:4: (lv_lookupValue_2_0= ruleSignedNumber )
+            // InternalReportDSL.g:7280:5: lv_lookupValue_2_0= ruleSignedNumber
             {
             if ( state.backtracking==0 ) {
 
               					newCompositeNode(grammarAccess.getTableNumberLookupAccess().getLookupValueSignedNumberParserRuleCall_2_0());
               				
             }
-            pushFollow(FOLLOW_117);
+            pushFollow(FOLLOW_109);
             lv_lookupValue_2_0=ruleSignedNumber();
 
             state._fsp--;
@@ -18663,11 +19509,11 @@
 
             }
 
-            // InternalReportDSL.g:6988:3: ( (lv_discrete_3_0= ruleTableRangeElement ) )
-            // InternalReportDSL.g:6989:4: (lv_discrete_3_0= ruleTableRangeElement )
+            // InternalReportDSL.g:7297:3: ( (lv_discrete_3_0= ruleTableRangeElement ) )
+            // InternalReportDSL.g:7298:4: (lv_discrete_3_0= ruleTableRangeElement )
             {
-            // InternalReportDSL.g:6989:4: (lv_discrete_3_0= ruleTableRangeElement )
-            // InternalReportDSL.g:6990:5: lv_discrete_3_0= ruleTableRangeElement
+            // InternalReportDSL.g:7298:4: (lv_discrete_3_0= ruleTableRangeElement )
+            // InternalReportDSL.g:7299:5: lv_discrete_3_0= ruleTableRangeElement
             {
             if ( state.backtracking==0 ) {
 
@@ -18723,7 +19569,7 @@
 
 
     // $ANTLR start "entryRuleTableStringLookup"
-    // InternalReportDSL.g:7011:1: entryRuleTableStringLookup returns [EObject current=null] : iv_ruleTableStringLookup= ruleTableStringLookup EOF ;
+    // InternalReportDSL.g:7320:1: entryRuleTableStringLookup returns [EObject current=null] : iv_ruleTableStringLookup= ruleTableStringLookup EOF ;
     public final EObject entryRuleTableStringLookup() throws RecognitionException {
         EObject current = null;
 
@@ -18731,8 +19577,8 @@
 
 
         try {
-            // InternalReportDSL.g:7011:58: (iv_ruleTableStringLookup= ruleTableStringLookup EOF )
-            // InternalReportDSL.g:7012:2: iv_ruleTableStringLookup= ruleTableStringLookup EOF
+            // InternalReportDSL.g:7320:58: (iv_ruleTableStringLookup= ruleTableStringLookup EOF )
+            // InternalReportDSL.g:7321:2: iv_ruleTableStringLookup= ruleTableStringLookup EOF
             {
             if ( state.backtracking==0 ) {
                newCompositeNode(grammarAccess.getTableStringLookupRule()); 
@@ -18763,7 +19609,7 @@
 
 
     // $ANTLR start "ruleTableStringLookup"
-    // InternalReportDSL.g:7018:1: ruleTableStringLookup returns [EObject current=null] : ( () otherlv_1= 'string' ( (lv_lookupValue_2_0= RULE_STRING ) ) ( (lv_discrete_3_0= ruleTableRangeElement ) ) ) ;
+    // InternalReportDSL.g:7327:1: ruleTableStringLookup returns [EObject current=null] : ( () otherlv_1= 'string' ( (lv_lookupValue_2_0= RULE_STRING ) ) ( (lv_discrete_3_0= ruleTableRangeElement ) ) ) ;
     public final EObject ruleTableStringLookup() throws RecognitionException {
         EObject current = null;
 
@@ -18776,14 +19622,14 @@
         	enterRule();
 
         try {
-            // InternalReportDSL.g:7024:2: ( ( () otherlv_1= 'string' ( (lv_lookupValue_2_0= RULE_STRING ) ) ( (lv_discrete_3_0= ruleTableRangeElement ) ) ) )
-            // InternalReportDSL.g:7025:2: ( () otherlv_1= 'string' ( (lv_lookupValue_2_0= RULE_STRING ) ) ( (lv_discrete_3_0= ruleTableRangeElement ) ) )
+            // InternalReportDSL.g:7333:2: ( ( () otherlv_1= 'string' ( (lv_lookupValue_2_0= RULE_STRING ) ) ( (lv_discrete_3_0= ruleTableRangeElement ) ) ) )
+            // InternalReportDSL.g:7334:2: ( () otherlv_1= 'string' ( (lv_lookupValue_2_0= RULE_STRING ) ) ( (lv_discrete_3_0= ruleTableRangeElement ) ) )
             {
-            // InternalReportDSL.g:7025:2: ( () otherlv_1= 'string' ( (lv_lookupValue_2_0= RULE_STRING ) ) ( (lv_discrete_3_0= ruleTableRangeElement ) ) )
-            // InternalReportDSL.g:7026:3: () otherlv_1= 'string' ( (lv_lookupValue_2_0= RULE_STRING ) ) ( (lv_discrete_3_0= ruleTableRangeElement ) )
+            // InternalReportDSL.g:7334:2: ( () otherlv_1= 'string' ( (lv_lookupValue_2_0= RULE_STRING ) ) ( (lv_discrete_3_0= ruleTableRangeElement ) ) )
+            // InternalReportDSL.g:7335:3: () otherlv_1= 'string' ( (lv_lookupValue_2_0= RULE_STRING ) ) ( (lv_discrete_3_0= ruleTableRangeElement ) )
             {
-            // InternalReportDSL.g:7026:3: ()
-            // InternalReportDSL.g:7027:4: 
+            // InternalReportDSL.g:7335:3: ()
+            // InternalReportDSL.g:7336:4: 
             {
             if ( state.backtracking==0 ) {
 
@@ -18795,19 +19641,19 @@
 
             }
 
-            otherlv_1=(Token)match(input,114,FOLLOW_8); if (state.failed) return current;
+            otherlv_1=(Token)match(input,113,FOLLOW_8); if (state.failed) return current;
             if ( state.backtracking==0 ) {
 
               			newLeafNode(otherlv_1, grammarAccess.getTableStringLookupAccess().getStringKeyword_1());
               		
             }
-            // InternalReportDSL.g:7037:3: ( (lv_lookupValue_2_0= RULE_STRING ) )
-            // InternalReportDSL.g:7038:4: (lv_lookupValue_2_0= RULE_STRING )
+            // InternalReportDSL.g:7346:3: ( (lv_lookupValue_2_0= RULE_STRING ) )
+            // InternalReportDSL.g:7347:4: (lv_lookupValue_2_0= RULE_STRING )
             {
-            // InternalReportDSL.g:7038:4: (lv_lookupValue_2_0= RULE_STRING )
-            // InternalReportDSL.g:7039:5: lv_lookupValue_2_0= RULE_STRING
+            // InternalReportDSL.g:7347:4: (lv_lookupValue_2_0= RULE_STRING )
+            // InternalReportDSL.g:7348:5: lv_lookupValue_2_0= RULE_STRING
             {
-            lv_lookupValue_2_0=(Token)match(input,RULE_STRING,FOLLOW_117); if (state.failed) return current;
+            lv_lookupValue_2_0=(Token)match(input,RULE_STRING,FOLLOW_109); if (state.failed) return current;
             if ( state.backtracking==0 ) {
 
               					newLeafNode(lv_lookupValue_2_0, grammarAccess.getTableStringLookupAccess().getLookupValueSTRINGTerminalRuleCall_2_0());
@@ -18831,11 +19677,11 @@
 
             }
 
-            // InternalReportDSL.g:7055:3: ( (lv_discrete_3_0= ruleTableRangeElement ) )
-            // InternalReportDSL.g:7056:4: (lv_discrete_3_0= ruleTableRangeElement )
+            // InternalReportDSL.g:7364:3: ( (lv_discrete_3_0= ruleTableRangeElement ) )
+            // InternalReportDSL.g:7365:4: (lv_discrete_3_0= ruleTableRangeElement )
             {
-            // InternalReportDSL.g:7056:4: (lv_discrete_3_0= ruleTableRangeElement )
-            // InternalReportDSL.g:7057:5: lv_discrete_3_0= ruleTableRangeElement
+            // InternalReportDSL.g:7365:4: (lv_discrete_3_0= ruleTableRangeElement )
+            // InternalReportDSL.g:7366:5: lv_discrete_3_0= ruleTableRangeElement
             {
             if ( state.backtracking==0 ) {
 
@@ -18891,7 +19737,7 @@
 
 
     // $ANTLR start "entryRuleTableDateDayLookup"
-    // InternalReportDSL.g:7078:1: entryRuleTableDateDayLookup returns [EObject current=null] : iv_ruleTableDateDayLookup= ruleTableDateDayLookup EOF ;
+    // InternalReportDSL.g:7387:1: entryRuleTableDateDayLookup returns [EObject current=null] : iv_ruleTableDateDayLookup= ruleTableDateDayLookup EOF ;
     public final EObject entryRuleTableDateDayLookup() throws RecognitionException {
         EObject current = null;
 
@@ -18899,8 +19745,8 @@
 
 
         try {
-            // InternalReportDSL.g:7078:59: (iv_ruleTableDateDayLookup= ruleTableDateDayLookup EOF )
-            // InternalReportDSL.g:7079:2: iv_ruleTableDateDayLookup= ruleTableDateDayLookup EOF
+            // InternalReportDSL.g:7387:59: (iv_ruleTableDateDayLookup= ruleTableDateDayLookup EOF )
+            // InternalReportDSL.g:7388:2: iv_ruleTableDateDayLookup= ruleTableDateDayLookup EOF
             {
             if ( state.backtracking==0 ) {
                newCompositeNode(grammarAccess.getTableDateDayLookupRule()); 
@@ -18931,7 +19777,7 @@
 
 
     // $ANTLR start "ruleTableDateDayLookup"
-    // InternalReportDSL.g:7085:1: ruleTableDateDayLookup returns [EObject current=null] : ( () otherlv_1= 'daysInPast' ( (lv_lookupValue_2_0= ruleSignedNumber ) ) ( (lv_discrete_3_0= ruleTableRangeElement ) ) ) ;
+    // InternalReportDSL.g:7394:1: ruleTableDateDayLookup returns [EObject current=null] : ( () otherlv_1= 'daysInPast' ( (lv_lookupValue_2_0= ruleSignedNumber ) ) ( (lv_discrete_3_0= ruleTableRangeElement ) ) ) ;
     public final EObject ruleTableDateDayLookup() throws RecognitionException {
         EObject current = null;
 
@@ -18945,14 +19791,14 @@
         	enterRule();
 
         try {
-            // InternalReportDSL.g:7091:2: ( ( () otherlv_1= 'daysInPast' ( (lv_lookupValue_2_0= ruleSignedNumber ) ) ( (lv_discrete_3_0= ruleTableRangeElement ) ) ) )
-            // InternalReportDSL.g:7092:2: ( () otherlv_1= 'daysInPast' ( (lv_lookupValue_2_0= ruleSignedNumber ) ) ( (lv_discrete_3_0= ruleTableRangeElement ) ) )
+            // InternalReportDSL.g:7400:2: ( ( () otherlv_1= 'daysInPast' ( (lv_lookupValue_2_0= ruleSignedNumber ) ) ( (lv_discrete_3_0= ruleTableRangeElement ) ) ) )
+            // InternalReportDSL.g:7401:2: ( () otherlv_1= 'daysInPast' ( (lv_lookupValue_2_0= ruleSignedNumber ) ) ( (lv_discrete_3_0= ruleTableRangeElement ) ) )
             {
-            // InternalReportDSL.g:7092:2: ( () otherlv_1= 'daysInPast' ( (lv_lookupValue_2_0= ruleSignedNumber ) ) ( (lv_discrete_3_0= ruleTableRangeElement ) ) )
-            // InternalReportDSL.g:7093:3: () otherlv_1= 'daysInPast' ( (lv_lookupValue_2_0= ruleSignedNumber ) ) ( (lv_discrete_3_0= ruleTableRangeElement ) )
+            // InternalReportDSL.g:7401:2: ( () otherlv_1= 'daysInPast' ( (lv_lookupValue_2_0= ruleSignedNumber ) ) ( (lv_discrete_3_0= ruleTableRangeElement ) ) )
+            // InternalReportDSL.g:7402:3: () otherlv_1= 'daysInPast' ( (lv_lookupValue_2_0= ruleSignedNumber ) ) ( (lv_discrete_3_0= ruleTableRangeElement ) )
             {
-            // InternalReportDSL.g:7093:3: ()
-            // InternalReportDSL.g:7094:4: 
+            // InternalReportDSL.g:7402:3: ()
+            // InternalReportDSL.g:7403:4: 
             {
             if ( state.backtracking==0 ) {
 
@@ -18964,24 +19810,24 @@
 
             }
 
-            otherlv_1=(Token)match(input,113,FOLLOW_116); if (state.failed) return current;
+            otherlv_1=(Token)match(input,112,FOLLOW_108); if (state.failed) return current;
             if ( state.backtracking==0 ) {
 
               			newLeafNode(otherlv_1, grammarAccess.getTableDateDayLookupAccess().getDaysInPastKeyword_1());
               		
             }
-            // InternalReportDSL.g:7104:3: ( (lv_lookupValue_2_0= ruleSignedNumber ) )
-            // InternalReportDSL.g:7105:4: (lv_lookupValue_2_0= ruleSignedNumber )
+            // InternalReportDSL.g:7413:3: ( (lv_lookupValue_2_0= ruleSignedNumber ) )
+            // InternalReportDSL.g:7414:4: (lv_lookupValue_2_0= ruleSignedNumber )
             {
-            // InternalReportDSL.g:7105:4: (lv_lookupValue_2_0= ruleSignedNumber )
-            // InternalReportDSL.g:7106:5: lv_lookupValue_2_0= ruleSignedNumber
+            // InternalReportDSL.g:7414:4: (lv_lookupValue_2_0= ruleSignedNumber )
+            // InternalReportDSL.g:7415:5: lv_lookupValue_2_0= ruleSignedNumber
             {
             if ( state.backtracking==0 ) {
 
               					newCompositeNode(grammarAccess.getTableDateDayLookupAccess().getLookupValueSignedNumberParserRuleCall_2_0());
               				
             }
-            pushFollow(FOLLOW_117);
+            pushFollow(FOLLOW_109);
             lv_lookupValue_2_0=ruleSignedNumber();
 
             state._fsp--;
@@ -19005,11 +19851,11 @@
 
             }
 
-            // InternalReportDSL.g:7123:3: ( (lv_discrete_3_0= ruleTableRangeElement ) )
-            // InternalReportDSL.g:7124:4: (lv_discrete_3_0= ruleTableRangeElement )
+            // InternalReportDSL.g:7432:3: ( (lv_discrete_3_0= ruleTableRangeElement ) )
+            // InternalReportDSL.g:7433:4: (lv_discrete_3_0= ruleTableRangeElement )
             {
-            // InternalReportDSL.g:7124:4: (lv_discrete_3_0= ruleTableRangeElement )
-            // InternalReportDSL.g:7125:5: lv_discrete_3_0= ruleTableRangeElement
+            // InternalReportDSL.g:7433:4: (lv_discrete_3_0= ruleTableRangeElement )
+            // InternalReportDSL.g:7434:5: lv_discrete_3_0= ruleTableRangeElement
             {
             if ( state.backtracking==0 ) {
 
@@ -19065,7 +19911,7 @@
 
 
     // $ANTLR start "entryRuleTableRangeElement"
-    // InternalReportDSL.g:7146:1: entryRuleTableRangeElement returns [EObject current=null] : iv_ruleTableRangeElement= ruleTableRangeElement EOF ;
+    // InternalReportDSL.g:7455:1: entryRuleTableRangeElement returns [EObject current=null] : iv_ruleTableRangeElement= ruleTableRangeElement EOF ;
     public final EObject entryRuleTableRangeElement() throws RecognitionException {
         EObject current = null;
 
@@ -19073,8 +19919,8 @@
 
 
         try {
-            // InternalReportDSL.g:7146:58: (iv_ruleTableRangeElement= ruleTableRangeElement EOF )
-            // InternalReportDSL.g:7147:2: iv_ruleTableRangeElement= ruleTableRangeElement EOF
+            // InternalReportDSL.g:7455:58: (iv_ruleTableRangeElement= ruleTableRangeElement EOF )
+            // InternalReportDSL.g:7456:2: iv_ruleTableRangeElement= ruleTableRangeElement EOF
             {
             if ( state.backtracking==0 ) {
                newCompositeNode(grammarAccess.getTableRangeElementRule()); 
@@ -19105,7 +19951,7 @@
 
 
     // $ANTLR start "ruleTableRangeElement"
-    // InternalReportDSL.g:7153:1: ruleTableRangeElement returns [EObject current=null] : (this_TableTextColor_0= ruleTableTextColor | this_TableCellColor_1= ruleTableCellColor | this_TableIcon_2= ruleTableIcon | this_TableTrend_3= ruleTableTrend ) ;
+    // InternalReportDSL.g:7462:1: ruleTableRangeElement returns [EObject current=null] : (this_TableTextColor_0= ruleTableTextColor | this_TableCellColor_1= ruleTableCellColor | this_TableIcon_2= ruleTableIcon | this_TableTrend_3= ruleTableTrend ) ;
     public final EObject ruleTableRangeElement() throws RecognitionException {
         EObject current = null;
 
@@ -19122,43 +19968,43 @@
         	enterRule();
 
         try {
-            // InternalReportDSL.g:7159:2: ( (this_TableTextColor_0= ruleTableTextColor | this_TableCellColor_1= ruleTableCellColor | this_TableIcon_2= ruleTableIcon | this_TableTrend_3= ruleTableTrend ) )
-            // InternalReportDSL.g:7160:2: (this_TableTextColor_0= ruleTableTextColor | this_TableCellColor_1= ruleTableCellColor | this_TableIcon_2= ruleTableIcon | this_TableTrend_3= ruleTableTrend )
+            // InternalReportDSL.g:7468:2: ( (this_TableTextColor_0= ruleTableTextColor | this_TableCellColor_1= ruleTableCellColor | this_TableIcon_2= ruleTableIcon | this_TableTrend_3= ruleTableTrend ) )
+            // InternalReportDSL.g:7469:2: (this_TableTextColor_0= ruleTableTextColor | this_TableCellColor_1= ruleTableCellColor | this_TableIcon_2= ruleTableIcon | this_TableTrend_3= ruleTableTrend )
             {
-            // InternalReportDSL.g:7160:2: (this_TableTextColor_0= ruleTableTextColor | this_TableCellColor_1= ruleTableCellColor | this_TableIcon_2= ruleTableIcon | this_TableTrend_3= ruleTableTrend )
-            int alt97=4;
+            // InternalReportDSL.g:7469:2: (this_TableTextColor_0= ruleTableTextColor | this_TableCellColor_1= ruleTableCellColor | this_TableIcon_2= ruleTableIcon | this_TableTrend_3= ruleTableTrend )
+            int alt85=4;
             switch ( input.LA(1) ) {
             case 47:
                 {
-                alt97=1;
+                alt85=1;
+                }
+                break;
+            case 116:
+                {
+                alt85=2;
                 }
                 break;
             case 117:
                 {
-                alt97=2;
+                alt85=3;
                 }
                 break;
             case 118:
                 {
-                alt97=3;
-                }
-                break;
-            case 119:
-                {
-                alt97=4;
+                alt85=4;
                 }
                 break;
             default:
                 if (state.backtracking>0) {state.failed=true; return current;}
                 NoViableAltException nvae =
-                    new NoViableAltException("", 97, 0, input);
+                    new NoViableAltException("", 85, 0, input);
 
                 throw nvae;
             }
 
-            switch (alt97) {
+            switch (alt85) {
                 case 1 :
-                    // InternalReportDSL.g:7161:3: this_TableTextColor_0= ruleTableTextColor
+                    // InternalReportDSL.g:7470:3: this_TableTextColor_0= ruleTableTextColor
                     {
                     if ( state.backtracking==0 ) {
 
@@ -19180,7 +20026,7 @@
                     }
                     break;
                 case 2 :
-                    // InternalReportDSL.g:7170:3: this_TableCellColor_1= ruleTableCellColor
+                    // InternalReportDSL.g:7479:3: this_TableCellColor_1= ruleTableCellColor
                     {
                     if ( state.backtracking==0 ) {
 
@@ -19202,7 +20048,7 @@
                     }
                     break;
                 case 3 :
-                    // InternalReportDSL.g:7179:3: this_TableIcon_2= ruleTableIcon
+                    // InternalReportDSL.g:7488:3: this_TableIcon_2= ruleTableIcon
                     {
                     if ( state.backtracking==0 ) {
 
@@ -19224,7 +20070,7 @@
                     }
                     break;
                 case 4 :
-                    // InternalReportDSL.g:7188:3: this_TableTrend_3= ruleTableTrend
+                    // InternalReportDSL.g:7497:3: this_TableTrend_3= ruleTableTrend
                     {
                     if ( state.backtracking==0 ) {
 
@@ -19270,7 +20116,7 @@
 
 
     // $ANTLR start "entryRuleVisibility"
-    // InternalReportDSL.g:7200:1: entryRuleVisibility returns [EObject current=null] : iv_ruleVisibility= ruleVisibility EOF ;
+    // InternalReportDSL.g:7509:1: entryRuleVisibility returns [EObject current=null] : iv_ruleVisibility= ruleVisibility EOF ;
     public final EObject entryRuleVisibility() throws RecognitionException {
         EObject current = null;
 
@@ -19278,8 +20124,8 @@
 
 
         try {
-            // InternalReportDSL.g:7200:51: (iv_ruleVisibility= ruleVisibility EOF )
-            // InternalReportDSL.g:7201:2: iv_ruleVisibility= ruleVisibility EOF
+            // InternalReportDSL.g:7509:51: (iv_ruleVisibility= ruleVisibility EOF )
+            // InternalReportDSL.g:7510:2: iv_ruleVisibility= ruleVisibility EOF
             {
             if ( state.backtracking==0 ) {
                newCompositeNode(grammarAccess.getVisibilityRule()); 
@@ -19310,7 +20156,7 @@
 
 
     // $ANTLR start "ruleVisibility"
-    // InternalReportDSL.g:7207:1: ruleVisibility returns [EObject current=null] : ( ( (lv_visibility_0_0= 'visibility' ) ) ( (otherlv_1= RULE_ID ) ) ) ;
+    // InternalReportDSL.g:7516:1: ruleVisibility returns [EObject current=null] : ( ( (lv_visibility_0_0= 'visibility' ) ) ( (otherlv_1= RULE_ID ) ) ) ;
     public final EObject ruleVisibility() throws RecognitionException {
         EObject current = null;
 
@@ -19321,19 +20167,19 @@
         	enterRule();
 
         try {
-            // InternalReportDSL.g:7213:2: ( ( ( (lv_visibility_0_0= 'visibility' ) ) ( (otherlv_1= RULE_ID ) ) ) )
-            // InternalReportDSL.g:7214:2: ( ( (lv_visibility_0_0= 'visibility' ) ) ( (otherlv_1= RULE_ID ) ) )
+            // InternalReportDSL.g:7522:2: ( ( ( (lv_visibility_0_0= 'visibility' ) ) ( (otherlv_1= RULE_ID ) ) ) )
+            // InternalReportDSL.g:7523:2: ( ( (lv_visibility_0_0= 'visibility' ) ) ( (otherlv_1= RULE_ID ) ) )
             {
-            // InternalReportDSL.g:7214:2: ( ( (lv_visibility_0_0= 'visibility' ) ) ( (otherlv_1= RULE_ID ) ) )
-            // InternalReportDSL.g:7215:3: ( (lv_visibility_0_0= 'visibility' ) ) ( (otherlv_1= RULE_ID ) )
+            // InternalReportDSL.g:7523:2: ( ( (lv_visibility_0_0= 'visibility' ) ) ( (otherlv_1= RULE_ID ) ) )
+            // InternalReportDSL.g:7524:3: ( (lv_visibility_0_0= 'visibility' ) ) ( (otherlv_1= RULE_ID ) )
             {
-            // InternalReportDSL.g:7215:3: ( (lv_visibility_0_0= 'visibility' ) )
-            // InternalReportDSL.g:7216:4: (lv_visibility_0_0= 'visibility' )
+            // InternalReportDSL.g:7524:3: ( (lv_visibility_0_0= 'visibility' ) )
+            // InternalReportDSL.g:7525:4: (lv_visibility_0_0= 'visibility' )
             {
-            // InternalReportDSL.g:7216:4: (lv_visibility_0_0= 'visibility' )
-            // InternalReportDSL.g:7217:5: lv_visibility_0_0= 'visibility'
+            // InternalReportDSL.g:7525:4: (lv_visibility_0_0= 'visibility' )
+            // InternalReportDSL.g:7526:5: lv_visibility_0_0= 'visibility'
             {
-            lv_visibility_0_0=(Token)match(input,115,FOLLOW_4); if (state.failed) return current;
+            lv_visibility_0_0=(Token)match(input,114,FOLLOW_4); if (state.failed) return current;
             if ( state.backtracking==0 ) {
 
               					newLeafNode(lv_visibility_0_0, grammarAccess.getVisibilityAccess().getVisibilityVisibilityKeyword_0_0());
@@ -19353,11 +20199,11 @@
 
             }
 
-            // InternalReportDSL.g:7229:3: ( (otherlv_1= RULE_ID ) )
-            // InternalReportDSL.g:7230:4: (otherlv_1= RULE_ID )
+            // InternalReportDSL.g:7538:3: ( (otherlv_1= RULE_ID ) )
+            // InternalReportDSL.g:7539:4: (otherlv_1= RULE_ID )
             {
-            // InternalReportDSL.g:7230:4: (otherlv_1= RULE_ID )
-            // InternalReportDSL.g:7231:5: otherlv_1= RULE_ID
+            // InternalReportDSL.g:7539:4: (otherlv_1= RULE_ID )
+            // InternalReportDSL.g:7540:5: otherlv_1= RULE_ID
             {
             if ( state.backtracking==0 ) {
 
@@ -19403,7 +20249,7 @@
 
 
     // $ANTLR start "entryRuleSignedNumber"
-    // InternalReportDSL.g:7246:1: entryRuleSignedNumber returns [String current=null] : iv_ruleSignedNumber= ruleSignedNumber EOF ;
+    // InternalReportDSL.g:7555:1: entryRuleSignedNumber returns [String current=null] : iv_ruleSignedNumber= ruleSignedNumber EOF ;
     public final String entryRuleSignedNumber() throws RecognitionException {
         String current = null;
 
@@ -19411,8 +20257,8 @@
 
 
         try {
-            // InternalReportDSL.g:7246:52: (iv_ruleSignedNumber= ruleSignedNumber EOF )
-            // InternalReportDSL.g:7247:2: iv_ruleSignedNumber= ruleSignedNumber EOF
+            // InternalReportDSL.g:7555:52: (iv_ruleSignedNumber= ruleSignedNumber EOF )
+            // InternalReportDSL.g:7556:2: iv_ruleSignedNumber= ruleSignedNumber EOF
             {
             if ( state.backtracking==0 ) {
                newCompositeNode(grammarAccess.getSignedNumberRule()); 
@@ -19443,7 +20289,7 @@
 
 
     // $ANTLR start "ruleSignedNumber"
-    // InternalReportDSL.g:7253:1: ruleSignedNumber returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : ( (kw= '-' )? this_Number_1= ruleNumber ) ;
+    // InternalReportDSL.g:7562:1: ruleSignedNumber returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : ( (kw= '-' )? this_Number_1= ruleNumber ) ;
     public final AntlrDatatypeRuleToken ruleSignedNumber() throws RecognitionException {
         AntlrDatatypeRuleToken current = new AntlrDatatypeRuleToken();
 
@@ -19455,24 +20301,24 @@
         	enterRule();
 
         try {
-            // InternalReportDSL.g:7259:2: ( ( (kw= '-' )? this_Number_1= ruleNumber ) )
-            // InternalReportDSL.g:7260:2: ( (kw= '-' )? this_Number_1= ruleNumber )
+            // InternalReportDSL.g:7568:2: ( ( (kw= '-' )? this_Number_1= ruleNumber ) )
+            // InternalReportDSL.g:7569:2: ( (kw= '-' )? this_Number_1= ruleNumber )
             {
-            // InternalReportDSL.g:7260:2: ( (kw= '-' )? this_Number_1= ruleNumber )
-            // InternalReportDSL.g:7261:3: (kw= '-' )? this_Number_1= ruleNumber
+            // InternalReportDSL.g:7569:2: ( (kw= '-' )? this_Number_1= ruleNumber )
+            // InternalReportDSL.g:7570:3: (kw= '-' )? this_Number_1= ruleNumber
             {
-            // InternalReportDSL.g:7261:3: (kw= '-' )?
-            int alt98=2;
-            int LA98_0 = input.LA(1);
+            // InternalReportDSL.g:7570:3: (kw= '-' )?
+            int alt86=2;
+            int LA86_0 = input.LA(1);
 
-            if ( (LA98_0==116) ) {
-                alt98=1;
+            if ( (LA86_0==115) ) {
+                alt86=1;
             }
-            switch (alt98) {
+            switch (alt86) {
                 case 1 :
-                    // InternalReportDSL.g:7262:4: kw= '-'
+                    // InternalReportDSL.g:7571:4: kw= '-'
                     {
-                    kw=(Token)match(input,116,FOLLOW_28); if (state.failed) return current;
+                    kw=(Token)match(input,115,FOLLOW_28); if (state.failed) return current;
                     if ( state.backtracking==0 ) {
 
                       				current.merge(kw);
@@ -19530,7 +20376,7 @@
 
 
     // $ANTLR start "entryRuleTableTextColor"
-    // InternalReportDSL.g:7282:1: entryRuleTableTextColor returns [EObject current=null] : iv_ruleTableTextColor= ruleTableTextColor EOF ;
+    // InternalReportDSL.g:7591:1: entryRuleTableTextColor returns [EObject current=null] : iv_ruleTableTextColor= ruleTableTextColor EOF ;
     public final EObject entryRuleTableTextColor() throws RecognitionException {
         EObject current = null;
 
@@ -19538,8 +20384,8 @@
 
 
         try {
-            // InternalReportDSL.g:7282:55: (iv_ruleTableTextColor= ruleTableTextColor EOF )
-            // InternalReportDSL.g:7283:2: iv_ruleTableTextColor= ruleTableTextColor EOF
+            // InternalReportDSL.g:7591:55: (iv_ruleTableTextColor= ruleTableTextColor EOF )
+            // InternalReportDSL.g:7592:2: iv_ruleTableTextColor= ruleTableTextColor EOF
             {
             if ( state.backtracking==0 ) {
                newCompositeNode(grammarAccess.getTableTextColorRule()); 
@@ -19570,7 +20416,7 @@
 
 
     // $ANTLR start "ruleTableTextColor"
-    // InternalReportDSL.g:7289:1: ruleTableTextColor returns [EObject current=null] : (otherlv_0= 'textcolor' ( (otherlv_1= RULE_ID ) ) ) ;
+    // InternalReportDSL.g:7598:1: ruleTableTextColor returns [EObject current=null] : (otherlv_0= 'textcolor' ( (otherlv_1= RULE_ID ) ) ) ;
     public final EObject ruleTableTextColor() throws RecognitionException {
         EObject current = null;
 
@@ -19581,11 +20427,11 @@
         	enterRule();
 
         try {
-            // InternalReportDSL.g:7295:2: ( (otherlv_0= 'textcolor' ( (otherlv_1= RULE_ID ) ) ) )
-            // InternalReportDSL.g:7296:2: (otherlv_0= 'textcolor' ( (otherlv_1= RULE_ID ) ) )
+            // InternalReportDSL.g:7604:2: ( (otherlv_0= 'textcolor' ( (otherlv_1= RULE_ID ) ) ) )
+            // InternalReportDSL.g:7605:2: (otherlv_0= 'textcolor' ( (otherlv_1= RULE_ID ) ) )
             {
-            // InternalReportDSL.g:7296:2: (otherlv_0= 'textcolor' ( (otherlv_1= RULE_ID ) ) )
-            // InternalReportDSL.g:7297:3: otherlv_0= 'textcolor' ( (otherlv_1= RULE_ID ) )
+            // InternalReportDSL.g:7605:2: (otherlv_0= 'textcolor' ( (otherlv_1= RULE_ID ) ) )
+            // InternalReportDSL.g:7606:3: otherlv_0= 'textcolor' ( (otherlv_1= RULE_ID ) )
             {
             otherlv_0=(Token)match(input,47,FOLLOW_4); if (state.failed) return current;
             if ( state.backtracking==0 ) {
@@ -19593,11 +20439,11 @@
               			newLeafNode(otherlv_0, grammarAccess.getTableTextColorAccess().getTextcolorKeyword_0());
               		
             }
-            // InternalReportDSL.g:7301:3: ( (otherlv_1= RULE_ID ) )
-            // InternalReportDSL.g:7302:4: (otherlv_1= RULE_ID )
+            // InternalReportDSL.g:7610:3: ( (otherlv_1= RULE_ID ) )
+            // InternalReportDSL.g:7611:4: (otherlv_1= RULE_ID )
             {
-            // InternalReportDSL.g:7302:4: (otherlv_1= RULE_ID )
-            // InternalReportDSL.g:7303:5: otherlv_1= RULE_ID
+            // InternalReportDSL.g:7611:4: (otherlv_1= RULE_ID )
+            // InternalReportDSL.g:7612:5: otherlv_1= RULE_ID
             {
             if ( state.backtracking==0 ) {
 
@@ -19643,7 +20489,7 @@
 
 
     // $ANTLR start "entryRuleTableCellColor"
-    // InternalReportDSL.g:7318:1: entryRuleTableCellColor returns [EObject current=null] : iv_ruleTableCellColor= ruleTableCellColor EOF ;
+    // InternalReportDSL.g:7627:1: entryRuleTableCellColor returns [EObject current=null] : iv_ruleTableCellColor= ruleTableCellColor EOF ;
     public final EObject entryRuleTableCellColor() throws RecognitionException {
         EObject current = null;
 
@@ -19651,8 +20497,8 @@
 
 
         try {
-            // InternalReportDSL.g:7318:55: (iv_ruleTableCellColor= ruleTableCellColor EOF )
-            // InternalReportDSL.g:7319:2: iv_ruleTableCellColor= ruleTableCellColor EOF
+            // InternalReportDSL.g:7627:55: (iv_ruleTableCellColor= ruleTableCellColor EOF )
+            // InternalReportDSL.g:7628:2: iv_ruleTableCellColor= ruleTableCellColor EOF
             {
             if ( state.backtracking==0 ) {
                newCompositeNode(grammarAccess.getTableCellColorRule()); 
@@ -19683,7 +20529,7 @@
 
 
     // $ANTLR start "ruleTableCellColor"
-    // InternalReportDSL.g:7325:1: ruleTableCellColor returns [EObject current=null] : (otherlv_0= 'cellcolor' ( (otherlv_1= RULE_ID ) ) ) ;
+    // InternalReportDSL.g:7634:1: ruleTableCellColor returns [EObject current=null] : (otherlv_0= 'cellcolor' ( (otherlv_1= RULE_ID ) ) ) ;
     public final EObject ruleTableCellColor() throws RecognitionException {
         EObject current = null;
 
@@ -19694,23 +20540,23 @@
         	enterRule();
 
         try {
-            // InternalReportDSL.g:7331:2: ( (otherlv_0= 'cellcolor' ( (otherlv_1= RULE_ID ) ) ) )
-            // InternalReportDSL.g:7332:2: (otherlv_0= 'cellcolor' ( (otherlv_1= RULE_ID ) ) )
+            // InternalReportDSL.g:7640:2: ( (otherlv_0= 'cellcolor' ( (otherlv_1= RULE_ID ) ) ) )
+            // InternalReportDSL.g:7641:2: (otherlv_0= 'cellcolor' ( (otherlv_1= RULE_ID ) ) )
             {
-            // InternalReportDSL.g:7332:2: (otherlv_0= 'cellcolor' ( (otherlv_1= RULE_ID ) ) )
-            // InternalReportDSL.g:7333:3: otherlv_0= 'cellcolor' ( (otherlv_1= RULE_ID ) )
+            // InternalReportDSL.g:7641:2: (otherlv_0= 'cellcolor' ( (otherlv_1= RULE_ID ) ) )
+            // InternalReportDSL.g:7642:3: otherlv_0= 'cellcolor' ( (otherlv_1= RULE_ID ) )
             {
-            otherlv_0=(Token)match(input,117,FOLLOW_4); if (state.failed) return current;
+            otherlv_0=(Token)match(input,116,FOLLOW_4); if (state.failed) return current;
             if ( state.backtracking==0 ) {
 
               			newLeafNode(otherlv_0, grammarAccess.getTableCellColorAccess().getCellcolorKeyword_0());
               		
             }
-            // InternalReportDSL.g:7337:3: ( (otherlv_1= RULE_ID ) )
-            // InternalReportDSL.g:7338:4: (otherlv_1= RULE_ID )
+            // InternalReportDSL.g:7646:3: ( (otherlv_1= RULE_ID ) )
+            // InternalReportDSL.g:7647:4: (otherlv_1= RULE_ID )
             {
-            // InternalReportDSL.g:7338:4: (otherlv_1= RULE_ID )
-            // InternalReportDSL.g:7339:5: otherlv_1= RULE_ID
+            // InternalReportDSL.g:7647:4: (otherlv_1= RULE_ID )
+            // InternalReportDSL.g:7648:5: otherlv_1= RULE_ID
             {
             if ( state.backtracking==0 ) {
 
@@ -19756,7 +20602,7 @@
 
 
     // $ANTLR start "entryRuleTableIcon"
-    // InternalReportDSL.g:7354:1: entryRuleTableIcon returns [EObject current=null] : iv_ruleTableIcon= ruleTableIcon EOF ;
+    // InternalReportDSL.g:7663:1: entryRuleTableIcon returns [EObject current=null] : iv_ruleTableIcon= ruleTableIcon EOF ;
     public final EObject entryRuleTableIcon() throws RecognitionException {
         EObject current = null;
 
@@ -19764,8 +20610,8 @@
 
 
         try {
-            // InternalReportDSL.g:7354:50: (iv_ruleTableIcon= ruleTableIcon EOF )
-            // InternalReportDSL.g:7355:2: iv_ruleTableIcon= ruleTableIcon EOF
+            // InternalReportDSL.g:7663:50: (iv_ruleTableIcon= ruleTableIcon EOF )
+            // InternalReportDSL.g:7664:2: iv_ruleTableIcon= ruleTableIcon EOF
             {
             if ( state.backtracking==0 ) {
                newCompositeNode(grammarAccess.getTableIconRule()); 
@@ -19796,7 +20642,7 @@
 
 
     // $ANTLR start "ruleTableIcon"
-    // InternalReportDSL.g:7361:1: ruleTableIcon returns [EObject current=null] : (otherlv_0= 'icon' ( (lv_icon_1_0= RULE_STRING ) ) ) ;
+    // InternalReportDSL.g:7670:1: ruleTableIcon returns [EObject current=null] : (otherlv_0= 'icon' ( (lv_icon_1_0= RULE_STRING ) ) ) ;
     public final EObject ruleTableIcon() throws RecognitionException {
         EObject current = null;
 
@@ -19807,23 +20653,23 @@
         	enterRule();
 
         try {
-            // InternalReportDSL.g:7367:2: ( (otherlv_0= 'icon' ( (lv_icon_1_0= RULE_STRING ) ) ) )
-            // InternalReportDSL.g:7368:2: (otherlv_0= 'icon' ( (lv_icon_1_0= RULE_STRING ) ) )
+            // InternalReportDSL.g:7676:2: ( (otherlv_0= 'icon' ( (lv_icon_1_0= RULE_STRING ) ) ) )
+            // InternalReportDSL.g:7677:2: (otherlv_0= 'icon' ( (lv_icon_1_0= RULE_STRING ) ) )
             {
-            // InternalReportDSL.g:7368:2: (otherlv_0= 'icon' ( (lv_icon_1_0= RULE_STRING ) ) )
-            // InternalReportDSL.g:7369:3: otherlv_0= 'icon' ( (lv_icon_1_0= RULE_STRING ) )
+            // InternalReportDSL.g:7677:2: (otherlv_0= 'icon' ( (lv_icon_1_0= RULE_STRING ) ) )
+            // InternalReportDSL.g:7678:3: otherlv_0= 'icon' ( (lv_icon_1_0= RULE_STRING ) )
             {
-            otherlv_0=(Token)match(input,118,FOLLOW_8); if (state.failed) return current;
+            otherlv_0=(Token)match(input,117,FOLLOW_8); if (state.failed) return current;
             if ( state.backtracking==0 ) {
 
               			newLeafNode(otherlv_0, grammarAccess.getTableIconAccess().getIconKeyword_0());
               		
             }
-            // InternalReportDSL.g:7373:3: ( (lv_icon_1_0= RULE_STRING ) )
-            // InternalReportDSL.g:7374:4: (lv_icon_1_0= RULE_STRING )
+            // InternalReportDSL.g:7682:3: ( (lv_icon_1_0= RULE_STRING ) )
+            // InternalReportDSL.g:7683:4: (lv_icon_1_0= RULE_STRING )
             {
-            // InternalReportDSL.g:7374:4: (lv_icon_1_0= RULE_STRING )
-            // InternalReportDSL.g:7375:5: lv_icon_1_0= RULE_STRING
+            // InternalReportDSL.g:7683:4: (lv_icon_1_0= RULE_STRING )
+            // InternalReportDSL.g:7684:5: lv_icon_1_0= RULE_STRING
             {
             lv_icon_1_0=(Token)match(input,RULE_STRING,FOLLOW_2); if (state.failed) return current;
             if ( state.backtracking==0 ) {
@@ -19874,7 +20720,7 @@
 
 
     // $ANTLR start "entryRuleTableTrend"
-    // InternalReportDSL.g:7395:1: entryRuleTableTrend returns [EObject current=null] : iv_ruleTableTrend= ruleTableTrend EOF ;
+    // InternalReportDSL.g:7704:1: entryRuleTableTrend returns [EObject current=null] : iv_ruleTableTrend= ruleTableTrend EOF ;
     public final EObject entryRuleTableTrend() throws RecognitionException {
         EObject current = null;
 
@@ -19882,8 +20728,8 @@
 
 
         try {
-            // InternalReportDSL.g:7395:51: (iv_ruleTableTrend= ruleTableTrend EOF )
-            // InternalReportDSL.g:7396:2: iv_ruleTableTrend= ruleTableTrend EOF
+            // InternalReportDSL.g:7704:51: (iv_ruleTableTrend= ruleTableTrend EOF )
+            // InternalReportDSL.g:7705:2: iv_ruleTableTrend= ruleTableTrend EOF
             {
             if ( state.backtracking==0 ) {
                newCompositeNode(grammarAccess.getTableTrendRule()); 
@@ -19914,7 +20760,7 @@
 
 
     // $ANTLR start "ruleTableTrend"
-    // InternalReportDSL.g:7402:1: ruleTableTrend returns [EObject current=null] : (otherlv_0= 'trend' ( (lv_icon_1_0= ruleTrendIconEnum ) ) ) ;
+    // InternalReportDSL.g:7711:1: ruleTableTrend returns [EObject current=null] : (otherlv_0= 'trend' ( (lv_icon_1_0= ruleTrendIconEnum ) ) ) ;
     public final EObject ruleTableTrend() throws RecognitionException {
         EObject current = null;
 
@@ -19926,23 +20772,23 @@
         	enterRule();
 
         try {
-            // InternalReportDSL.g:7408:2: ( (otherlv_0= 'trend' ( (lv_icon_1_0= ruleTrendIconEnum ) ) ) )
-            // InternalReportDSL.g:7409:2: (otherlv_0= 'trend' ( (lv_icon_1_0= ruleTrendIconEnum ) ) )
+            // InternalReportDSL.g:7717:2: ( (otherlv_0= 'trend' ( (lv_icon_1_0= ruleTrendIconEnum ) ) ) )
+            // InternalReportDSL.g:7718:2: (otherlv_0= 'trend' ( (lv_icon_1_0= ruleTrendIconEnum ) ) )
             {
-            // InternalReportDSL.g:7409:2: (otherlv_0= 'trend' ( (lv_icon_1_0= ruleTrendIconEnum ) ) )
-            // InternalReportDSL.g:7410:3: otherlv_0= 'trend' ( (lv_icon_1_0= ruleTrendIconEnum ) )
+            // InternalReportDSL.g:7718:2: (otherlv_0= 'trend' ( (lv_icon_1_0= ruleTrendIconEnum ) ) )
+            // InternalReportDSL.g:7719:3: otherlv_0= 'trend' ( (lv_icon_1_0= ruleTrendIconEnum ) )
             {
-            otherlv_0=(Token)match(input,119,FOLLOW_118); if (state.failed) return current;
+            otherlv_0=(Token)match(input,118,FOLLOW_110); if (state.failed) return current;
             if ( state.backtracking==0 ) {
 
               			newLeafNode(otherlv_0, grammarAccess.getTableTrendAccess().getTrendKeyword_0());
               		
             }
-            // InternalReportDSL.g:7414:3: ( (lv_icon_1_0= ruleTrendIconEnum ) )
-            // InternalReportDSL.g:7415:4: (lv_icon_1_0= ruleTrendIconEnum )
+            // InternalReportDSL.g:7723:3: ( (lv_icon_1_0= ruleTrendIconEnum ) )
+            // InternalReportDSL.g:7724:4: (lv_icon_1_0= ruleTrendIconEnum )
             {
-            // InternalReportDSL.g:7415:4: (lv_icon_1_0= ruleTrendIconEnum )
-            // InternalReportDSL.g:7416:5: lv_icon_1_0= ruleTrendIconEnum
+            // InternalReportDSL.g:7724:4: (lv_icon_1_0= ruleTrendIconEnum )
+            // InternalReportDSL.g:7725:5: lv_icon_1_0= ruleTrendIconEnum
             {
             if ( state.backtracking==0 ) {
 
@@ -19998,7 +20844,7 @@
 
 
     // $ANTLR start "entryRuleTitle"
-    // InternalReportDSL.g:7437:1: entryRuleTitle returns [EObject current=null] : iv_ruleTitle= ruleTitle EOF ;
+    // InternalReportDSL.g:7746:1: entryRuleTitle returns [EObject current=null] : iv_ruleTitle= ruleTitle EOF ;
     public final EObject entryRuleTitle() throws RecognitionException {
         EObject current = null;
 
@@ -20006,8 +20852,8 @@
 
 
         try {
-            // InternalReportDSL.g:7437:46: (iv_ruleTitle= ruleTitle EOF )
-            // InternalReportDSL.g:7438:2: iv_ruleTitle= ruleTitle EOF
+            // InternalReportDSL.g:7746:46: (iv_ruleTitle= ruleTitle EOF )
+            // InternalReportDSL.g:7747:2: iv_ruleTitle= ruleTitle EOF
             {
             if ( state.backtracking==0 ) {
                newCompositeNode(grammarAccess.getTitleRule()); 
@@ -20038,7 +20884,7 @@
 
 
     // $ANTLR start "ruleTitle"
-    // InternalReportDSL.g:7444:1: ruleTitle returns [EObject current=null] : ( () otherlv_1= 'title' ( (lv_text_2_0= ruleTRANSLATABLESTRING ) ) (otherlv_3= 'style' ( (otherlv_4= RULE_ID ) ) )? ) ;
+    // InternalReportDSL.g:7753:1: ruleTitle returns [EObject current=null] : ( () otherlv_1= 'title' ( (lv_text_2_0= ruleTRANSLATABLESTRING ) ) (otherlv_3= 'style' ( (otherlv_4= RULE_ID ) ) )? ) ;
     public final EObject ruleTitle() throws RecognitionException {
         EObject current = null;
 
@@ -20052,14 +20898,14 @@
         	enterRule();
 
         try {
-            // InternalReportDSL.g:7450:2: ( ( () otherlv_1= 'title' ( (lv_text_2_0= ruleTRANSLATABLESTRING ) ) (otherlv_3= 'style' ( (otherlv_4= RULE_ID ) ) )? ) )
-            // InternalReportDSL.g:7451:2: ( () otherlv_1= 'title' ( (lv_text_2_0= ruleTRANSLATABLESTRING ) ) (otherlv_3= 'style' ( (otherlv_4= RULE_ID ) ) )? )
+            // InternalReportDSL.g:7759:2: ( ( () otherlv_1= 'title' ( (lv_text_2_0= ruleTRANSLATABLESTRING ) ) (otherlv_3= 'style' ( (otherlv_4= RULE_ID ) ) )? ) )
+            // InternalReportDSL.g:7760:2: ( () otherlv_1= 'title' ( (lv_text_2_0= ruleTRANSLATABLESTRING ) ) (otherlv_3= 'style' ( (otherlv_4= RULE_ID ) ) )? )
             {
-            // InternalReportDSL.g:7451:2: ( () otherlv_1= 'title' ( (lv_text_2_0= ruleTRANSLATABLESTRING ) ) (otherlv_3= 'style' ( (otherlv_4= RULE_ID ) ) )? )
-            // InternalReportDSL.g:7452:3: () otherlv_1= 'title' ( (lv_text_2_0= ruleTRANSLATABLESTRING ) ) (otherlv_3= 'style' ( (otherlv_4= RULE_ID ) ) )?
+            // InternalReportDSL.g:7760:2: ( () otherlv_1= 'title' ( (lv_text_2_0= ruleTRANSLATABLESTRING ) ) (otherlv_3= 'style' ( (otherlv_4= RULE_ID ) ) )? )
+            // InternalReportDSL.g:7761:3: () otherlv_1= 'title' ( (lv_text_2_0= ruleTRANSLATABLESTRING ) ) (otherlv_3= 'style' ( (otherlv_4= RULE_ID ) ) )?
             {
-            // InternalReportDSL.g:7452:3: ()
-            // InternalReportDSL.g:7453:4: 
+            // InternalReportDSL.g:7761:3: ()
+            // InternalReportDSL.g:7762:4: 
             {
             if ( state.backtracking==0 ) {
 
@@ -20071,24 +20917,24 @@
 
             }
 
-            otherlv_1=(Token)match(input,102,FOLLOW_8); if (state.failed) return current;
+            otherlv_1=(Token)match(input,101,FOLLOW_8); if (state.failed) return current;
             if ( state.backtracking==0 ) {
 
               			newLeafNode(otherlv_1, grammarAccess.getTitleAccess().getTitleKeyword_1());
               		
             }
-            // InternalReportDSL.g:7463:3: ( (lv_text_2_0= ruleTRANSLATABLESTRING ) )
-            // InternalReportDSL.g:7464:4: (lv_text_2_0= ruleTRANSLATABLESTRING )
+            // InternalReportDSL.g:7772:3: ( (lv_text_2_0= ruleTRANSLATABLESTRING ) )
+            // InternalReportDSL.g:7773:4: (lv_text_2_0= ruleTRANSLATABLESTRING )
             {
-            // InternalReportDSL.g:7464:4: (lv_text_2_0= ruleTRANSLATABLESTRING )
-            // InternalReportDSL.g:7465:5: lv_text_2_0= ruleTRANSLATABLESTRING
+            // InternalReportDSL.g:7773:4: (lv_text_2_0= ruleTRANSLATABLESTRING )
+            // InternalReportDSL.g:7774:5: lv_text_2_0= ruleTRANSLATABLESTRING
             {
             if ( state.backtracking==0 ) {
 
               					newCompositeNode(grammarAccess.getTitleAccess().getTextTRANSLATABLESTRINGParserRuleCall_2_0());
               				
             }
-            pushFollow(FOLLOW_109);
+            pushFollow(FOLLOW_101);
             lv_text_2_0=ruleTRANSLATABLESTRING();
 
             state._fsp--;
@@ -20112,16 +20958,16 @@
 
             }
 
-            // InternalReportDSL.g:7482:3: (otherlv_3= 'style' ( (otherlv_4= RULE_ID ) ) )?
-            int alt99=2;
-            int LA99_0 = input.LA(1);
+            // InternalReportDSL.g:7791:3: (otherlv_3= 'style' ( (otherlv_4= RULE_ID ) ) )?
+            int alt87=2;
+            int LA87_0 = input.LA(1);
 
-            if ( (LA99_0==43) ) {
-                alt99=1;
+            if ( (LA87_0==43) ) {
+                alt87=1;
             }
-            switch (alt99) {
+            switch (alt87) {
                 case 1 :
-                    // InternalReportDSL.g:7483:4: otherlv_3= 'style' ( (otherlv_4= RULE_ID ) )
+                    // InternalReportDSL.g:7792:4: otherlv_3= 'style' ( (otherlv_4= RULE_ID ) )
                     {
                     otherlv_3=(Token)match(input,43,FOLLOW_4); if (state.failed) return current;
                     if ( state.backtracking==0 ) {
@@ -20129,11 +20975,11 @@
                       				newLeafNode(otherlv_3, grammarAccess.getTitleAccess().getStyleKeyword_3_0());
                       			
                     }
-                    // InternalReportDSL.g:7487:4: ( (otherlv_4= RULE_ID ) )
-                    // InternalReportDSL.g:7488:5: (otherlv_4= RULE_ID )
+                    // InternalReportDSL.g:7796:4: ( (otherlv_4= RULE_ID ) )
+                    // InternalReportDSL.g:7797:5: (otherlv_4= RULE_ID )
                     {
-                    // InternalReportDSL.g:7488:5: (otherlv_4= RULE_ID )
-                    // InternalReportDSL.g:7489:6: otherlv_4= RULE_ID
+                    // InternalReportDSL.g:7797:5: (otherlv_4= RULE_ID )
+                    // InternalReportDSL.g:7798:6: otherlv_4= RULE_ID
                     {
                     if ( state.backtracking==0 ) {
 
@@ -20185,7 +21031,7 @@
 
 
     // $ANTLR start "entryRuleSubTitle"
-    // InternalReportDSL.g:7505:1: entryRuleSubTitle returns [EObject current=null] : iv_ruleSubTitle= ruleSubTitle EOF ;
+    // InternalReportDSL.g:7814:1: entryRuleSubTitle returns [EObject current=null] : iv_ruleSubTitle= ruleSubTitle EOF ;
     public final EObject entryRuleSubTitle() throws RecognitionException {
         EObject current = null;
 
@@ -20193,8 +21039,8 @@
 
 
         try {
-            // InternalReportDSL.g:7505:49: (iv_ruleSubTitle= ruleSubTitle EOF )
-            // InternalReportDSL.g:7506:2: iv_ruleSubTitle= ruleSubTitle EOF
+            // InternalReportDSL.g:7814:49: (iv_ruleSubTitle= ruleSubTitle EOF )
+            // InternalReportDSL.g:7815:2: iv_ruleSubTitle= ruleSubTitle EOF
             {
             if ( state.backtracking==0 ) {
                newCompositeNode(grammarAccess.getSubTitleRule()); 
@@ -20225,7 +21071,7 @@
 
 
     // $ANTLR start "ruleSubTitle"
-    // InternalReportDSL.g:7512:1: ruleSubTitle returns [EObject current=null] : ( () otherlv_1= 'subtitle' ( (lv_text_2_0= ruleTRANSLATABLESTRING ) ) (otherlv_3= 'style' ( (otherlv_4= RULE_ID ) ) )? ) ;
+    // InternalReportDSL.g:7821:1: ruleSubTitle returns [EObject current=null] : ( () otherlv_1= 'subtitle' ( (lv_text_2_0= ruleTRANSLATABLESTRING ) ) (otherlv_3= 'style' ( (otherlv_4= RULE_ID ) ) )? ) ;
     public final EObject ruleSubTitle() throws RecognitionException {
         EObject current = null;
 
@@ -20239,14 +21085,14 @@
         	enterRule();
 
         try {
-            // InternalReportDSL.g:7518:2: ( ( () otherlv_1= 'subtitle' ( (lv_text_2_0= ruleTRANSLATABLESTRING ) ) (otherlv_3= 'style' ( (otherlv_4= RULE_ID ) ) )? ) )
-            // InternalReportDSL.g:7519:2: ( () otherlv_1= 'subtitle' ( (lv_text_2_0= ruleTRANSLATABLESTRING ) ) (otherlv_3= 'style' ( (otherlv_4= RULE_ID ) ) )? )
+            // InternalReportDSL.g:7827:2: ( ( () otherlv_1= 'subtitle' ( (lv_text_2_0= ruleTRANSLATABLESTRING ) ) (otherlv_3= 'style' ( (otherlv_4= RULE_ID ) ) )? ) )
+            // InternalReportDSL.g:7828:2: ( () otherlv_1= 'subtitle' ( (lv_text_2_0= ruleTRANSLATABLESTRING ) ) (otherlv_3= 'style' ( (otherlv_4= RULE_ID ) ) )? )
             {
-            // InternalReportDSL.g:7519:2: ( () otherlv_1= 'subtitle' ( (lv_text_2_0= ruleTRANSLATABLESTRING ) ) (otherlv_3= 'style' ( (otherlv_4= RULE_ID ) ) )? )
-            // InternalReportDSL.g:7520:3: () otherlv_1= 'subtitle' ( (lv_text_2_0= ruleTRANSLATABLESTRING ) ) (otherlv_3= 'style' ( (otherlv_4= RULE_ID ) ) )?
+            // InternalReportDSL.g:7828:2: ( () otherlv_1= 'subtitle' ( (lv_text_2_0= ruleTRANSLATABLESTRING ) ) (otherlv_3= 'style' ( (otherlv_4= RULE_ID ) ) )? )
+            // InternalReportDSL.g:7829:3: () otherlv_1= 'subtitle' ( (lv_text_2_0= ruleTRANSLATABLESTRING ) ) (otherlv_3= 'style' ( (otherlv_4= RULE_ID ) ) )?
             {
-            // InternalReportDSL.g:7520:3: ()
-            // InternalReportDSL.g:7521:4: 
+            // InternalReportDSL.g:7829:3: ()
+            // InternalReportDSL.g:7830:4: 
             {
             if ( state.backtracking==0 ) {
 
@@ -20258,24 +21104,24 @@
 
             }
 
-            otherlv_1=(Token)match(input,120,FOLLOW_8); if (state.failed) return current;
+            otherlv_1=(Token)match(input,119,FOLLOW_8); if (state.failed) return current;
             if ( state.backtracking==0 ) {
 
               			newLeafNode(otherlv_1, grammarAccess.getSubTitleAccess().getSubtitleKeyword_1());
               		
             }
-            // InternalReportDSL.g:7531:3: ( (lv_text_2_0= ruleTRANSLATABLESTRING ) )
-            // InternalReportDSL.g:7532:4: (lv_text_2_0= ruleTRANSLATABLESTRING )
+            // InternalReportDSL.g:7840:3: ( (lv_text_2_0= ruleTRANSLATABLESTRING ) )
+            // InternalReportDSL.g:7841:4: (lv_text_2_0= ruleTRANSLATABLESTRING )
             {
-            // InternalReportDSL.g:7532:4: (lv_text_2_0= ruleTRANSLATABLESTRING )
-            // InternalReportDSL.g:7533:5: lv_text_2_0= ruleTRANSLATABLESTRING
+            // InternalReportDSL.g:7841:4: (lv_text_2_0= ruleTRANSLATABLESTRING )
+            // InternalReportDSL.g:7842:5: lv_text_2_0= ruleTRANSLATABLESTRING
             {
             if ( state.backtracking==0 ) {
 
               					newCompositeNode(grammarAccess.getSubTitleAccess().getTextTRANSLATABLESTRINGParserRuleCall_2_0());
               				
             }
-            pushFollow(FOLLOW_109);
+            pushFollow(FOLLOW_101);
             lv_text_2_0=ruleTRANSLATABLESTRING();
 
             state._fsp--;
@@ -20299,16 +21145,16 @@
 
             }
 
-            // InternalReportDSL.g:7550:3: (otherlv_3= 'style' ( (otherlv_4= RULE_ID ) ) )?
-            int alt100=2;
-            int LA100_0 = input.LA(1);
+            // InternalReportDSL.g:7859:3: (otherlv_3= 'style' ( (otherlv_4= RULE_ID ) ) )?
+            int alt88=2;
+            int LA88_0 = input.LA(1);
 
-            if ( (LA100_0==43) ) {
-                alt100=1;
+            if ( (LA88_0==43) ) {
+                alt88=1;
             }
-            switch (alt100) {
+            switch (alt88) {
                 case 1 :
-                    // InternalReportDSL.g:7551:4: otherlv_3= 'style' ( (otherlv_4= RULE_ID ) )
+                    // InternalReportDSL.g:7860:4: otherlv_3= 'style' ( (otherlv_4= RULE_ID ) )
                     {
                     otherlv_3=(Token)match(input,43,FOLLOW_4); if (state.failed) return current;
                     if ( state.backtracking==0 ) {
@@ -20316,11 +21162,11 @@
                       				newLeafNode(otherlv_3, grammarAccess.getSubTitleAccess().getStyleKeyword_3_0());
                       			
                     }
-                    // InternalReportDSL.g:7555:4: ( (otherlv_4= RULE_ID ) )
-                    // InternalReportDSL.g:7556:5: (otherlv_4= RULE_ID )
+                    // InternalReportDSL.g:7864:4: ( (otherlv_4= RULE_ID ) )
+                    // InternalReportDSL.g:7865:5: (otherlv_4= RULE_ID )
                     {
-                    // InternalReportDSL.g:7556:5: (otherlv_4= RULE_ID )
-                    // InternalReportDSL.g:7557:6: otherlv_4= RULE_ID
+                    // InternalReportDSL.g:7865:5: (otherlv_4= RULE_ID )
+                    // InternalReportDSL.g:7866:6: otherlv_4= RULE_ID
                     {
                     if ( state.backtracking==0 ) {
 
@@ -20372,7 +21218,7 @@
 
 
     // $ANTLR start "entryRuleSubSubTitle"
-    // InternalReportDSL.g:7573:1: entryRuleSubSubTitle returns [EObject current=null] : iv_ruleSubSubTitle= ruleSubSubTitle EOF ;
+    // InternalReportDSL.g:7882:1: entryRuleSubSubTitle returns [EObject current=null] : iv_ruleSubSubTitle= ruleSubSubTitle EOF ;
     public final EObject entryRuleSubSubTitle() throws RecognitionException {
         EObject current = null;
 
@@ -20380,8 +21226,8 @@
 
 
         try {
-            // InternalReportDSL.g:7573:52: (iv_ruleSubSubTitle= ruleSubSubTitle EOF )
-            // InternalReportDSL.g:7574:2: iv_ruleSubSubTitle= ruleSubSubTitle EOF
+            // InternalReportDSL.g:7882:52: (iv_ruleSubSubTitle= ruleSubSubTitle EOF )
+            // InternalReportDSL.g:7883:2: iv_ruleSubSubTitle= ruleSubSubTitle EOF
             {
             if ( state.backtracking==0 ) {
                newCompositeNode(grammarAccess.getSubSubTitleRule()); 
@@ -20412,7 +21258,7 @@
 
 
     // $ANTLR start "ruleSubSubTitle"
-    // InternalReportDSL.g:7580:1: ruleSubSubTitle returns [EObject current=null] : ( () otherlv_1= 'subsubtitle' ( (lv_text_2_0= ruleTRANSLATABLESTRING ) ) (otherlv_3= 'style' ( (otherlv_4= RULE_ID ) ) )? ) ;
+    // InternalReportDSL.g:7889:1: ruleSubSubTitle returns [EObject current=null] : ( () otherlv_1= 'subsubtitle' ( (lv_text_2_0= ruleTRANSLATABLESTRING ) ) (otherlv_3= 'style' ( (otherlv_4= RULE_ID ) ) )? ) ;
     public final EObject ruleSubSubTitle() throws RecognitionException {
         EObject current = null;
 
@@ -20426,14 +21272,14 @@
         	enterRule();
 
         try {
-            // InternalReportDSL.g:7586:2: ( ( () otherlv_1= 'subsubtitle' ( (lv_text_2_0= ruleTRANSLATABLESTRING ) ) (otherlv_3= 'style' ( (otherlv_4= RULE_ID ) ) )? ) )
-            // InternalReportDSL.g:7587:2: ( () otherlv_1= 'subsubtitle' ( (lv_text_2_0= ruleTRANSLATABLESTRING ) ) (otherlv_3= 'style' ( (otherlv_4= RULE_ID ) ) )? )
+            // InternalReportDSL.g:7895:2: ( ( () otherlv_1= 'subsubtitle' ( (lv_text_2_0= ruleTRANSLATABLESTRING ) ) (otherlv_3= 'style' ( (otherlv_4= RULE_ID ) ) )? ) )
+            // InternalReportDSL.g:7896:2: ( () otherlv_1= 'subsubtitle' ( (lv_text_2_0= ruleTRANSLATABLESTRING ) ) (otherlv_3= 'style' ( (otherlv_4= RULE_ID ) ) )? )
             {
-            // InternalReportDSL.g:7587:2: ( () otherlv_1= 'subsubtitle' ( (lv_text_2_0= ruleTRANSLATABLESTRING ) ) (otherlv_3= 'style' ( (otherlv_4= RULE_ID ) ) )? )
-            // InternalReportDSL.g:7588:3: () otherlv_1= 'subsubtitle' ( (lv_text_2_0= ruleTRANSLATABLESTRING ) ) (otherlv_3= 'style' ( (otherlv_4= RULE_ID ) ) )?
+            // InternalReportDSL.g:7896:2: ( () otherlv_1= 'subsubtitle' ( (lv_text_2_0= ruleTRANSLATABLESTRING ) ) (otherlv_3= 'style' ( (otherlv_4= RULE_ID ) ) )? )
+            // InternalReportDSL.g:7897:3: () otherlv_1= 'subsubtitle' ( (lv_text_2_0= ruleTRANSLATABLESTRING ) ) (otherlv_3= 'style' ( (otherlv_4= RULE_ID ) ) )?
             {
-            // InternalReportDSL.g:7588:3: ()
-            // InternalReportDSL.g:7589:4: 
+            // InternalReportDSL.g:7897:3: ()
+            // InternalReportDSL.g:7898:4: 
             {
             if ( state.backtracking==0 ) {
 
@@ -20445,24 +21291,24 @@
 
             }
 
-            otherlv_1=(Token)match(input,121,FOLLOW_8); if (state.failed) return current;
+            otherlv_1=(Token)match(input,120,FOLLOW_8); if (state.failed) return current;
             if ( state.backtracking==0 ) {
 
               			newLeafNode(otherlv_1, grammarAccess.getSubSubTitleAccess().getSubsubtitleKeyword_1());
               		
             }
-            // InternalReportDSL.g:7599:3: ( (lv_text_2_0= ruleTRANSLATABLESTRING ) )
-            // InternalReportDSL.g:7600:4: (lv_text_2_0= ruleTRANSLATABLESTRING )
+            // InternalReportDSL.g:7908:3: ( (lv_text_2_0= ruleTRANSLATABLESTRING ) )
+            // InternalReportDSL.g:7909:4: (lv_text_2_0= ruleTRANSLATABLESTRING )
             {
-            // InternalReportDSL.g:7600:4: (lv_text_2_0= ruleTRANSLATABLESTRING )
-            // InternalReportDSL.g:7601:5: lv_text_2_0= ruleTRANSLATABLESTRING
+            // InternalReportDSL.g:7909:4: (lv_text_2_0= ruleTRANSLATABLESTRING )
+            // InternalReportDSL.g:7910:5: lv_text_2_0= ruleTRANSLATABLESTRING
             {
             if ( state.backtracking==0 ) {
 
               					newCompositeNode(grammarAccess.getSubSubTitleAccess().getTextTRANSLATABLESTRINGParserRuleCall_2_0());
               				
             }
-            pushFollow(FOLLOW_109);
+            pushFollow(FOLLOW_101);
             lv_text_2_0=ruleTRANSLATABLESTRING();
 
             state._fsp--;
@@ -20486,16 +21332,16 @@
 
             }
 
-            // InternalReportDSL.g:7618:3: (otherlv_3= 'style' ( (otherlv_4= RULE_ID ) ) )?
-            int alt101=2;
-            int LA101_0 = input.LA(1);
+            // InternalReportDSL.g:7927:3: (otherlv_3= 'style' ( (otherlv_4= RULE_ID ) ) )?
+            int alt89=2;
+            int LA89_0 = input.LA(1);
 
-            if ( (LA101_0==43) ) {
-                alt101=1;
+            if ( (LA89_0==43) ) {
+                alt89=1;
             }
-            switch (alt101) {
+            switch (alt89) {
                 case 1 :
-                    // InternalReportDSL.g:7619:4: otherlv_3= 'style' ( (otherlv_4= RULE_ID ) )
+                    // InternalReportDSL.g:7928:4: otherlv_3= 'style' ( (otherlv_4= RULE_ID ) )
                     {
                     otherlv_3=(Token)match(input,43,FOLLOW_4); if (state.failed) return current;
                     if ( state.backtracking==0 ) {
@@ -20503,11 +21349,11 @@
                       				newLeafNode(otherlv_3, grammarAccess.getSubSubTitleAccess().getStyleKeyword_3_0());
                       			
                     }
-                    // InternalReportDSL.g:7623:4: ( (otherlv_4= RULE_ID ) )
-                    // InternalReportDSL.g:7624:5: (otherlv_4= RULE_ID )
+                    // InternalReportDSL.g:7932:4: ( (otherlv_4= RULE_ID ) )
+                    // InternalReportDSL.g:7933:5: (otherlv_4= RULE_ID )
                     {
-                    // InternalReportDSL.g:7624:5: (otherlv_4= RULE_ID )
-                    // InternalReportDSL.g:7625:6: otherlv_4= RULE_ID
+                    // InternalReportDSL.g:7933:5: (otherlv_4= RULE_ID )
+                    // InternalReportDSL.g:7934:6: otherlv_4= RULE_ID
                     {
                     if ( state.backtracking==0 ) {
 
@@ -20559,7 +21405,7 @@
 
 
     // $ANTLR start "entryRuleLabel"
-    // InternalReportDSL.g:7641:1: entryRuleLabel returns [EObject current=null] : iv_ruleLabel= ruleLabel EOF ;
+    // InternalReportDSL.g:7950:1: entryRuleLabel returns [EObject current=null] : iv_ruleLabel= ruleLabel EOF ;
     public final EObject entryRuleLabel() throws RecognitionException {
         EObject current = null;
 
@@ -20567,8 +21413,8 @@
 
 
         try {
-            // InternalReportDSL.g:7641:46: (iv_ruleLabel= ruleLabel EOF )
-            // InternalReportDSL.g:7642:2: iv_ruleLabel= ruleLabel EOF
+            // InternalReportDSL.g:7950:46: (iv_ruleLabel= ruleLabel EOF )
+            // InternalReportDSL.g:7951:2: iv_ruleLabel= ruleLabel EOF
             {
             if ( state.backtracking==0 ) {
                newCompositeNode(grammarAccess.getLabelRule()); 
@@ -20599,7 +21445,7 @@
 
 
     // $ANTLR start "ruleLabel"
-    // InternalReportDSL.g:7648:1: ruleLabel returns [EObject current=null] : ( () otherlv_1= 'label' ( (lv_text_2_0= ruleTRANSLATABLESTRING ) ) (otherlv_3= 'style' ( (otherlv_4= RULE_ID ) ) )? ) ;
+    // InternalReportDSL.g:7957:1: ruleLabel returns [EObject current=null] : ( () otherlv_1= 'label' ( (lv_text_2_0= ruleTRANSLATABLESTRING ) ) (otherlv_3= 'style' ( (otherlv_4= RULE_ID ) ) )? ) ;
     public final EObject ruleLabel() throws RecognitionException {
         EObject current = null;
 
@@ -20613,14 +21459,14 @@
         	enterRule();
 
         try {
-            // InternalReportDSL.g:7654:2: ( ( () otherlv_1= 'label' ( (lv_text_2_0= ruleTRANSLATABLESTRING ) ) (otherlv_3= 'style' ( (otherlv_4= RULE_ID ) ) )? ) )
-            // InternalReportDSL.g:7655:2: ( () otherlv_1= 'label' ( (lv_text_2_0= ruleTRANSLATABLESTRING ) ) (otherlv_3= 'style' ( (otherlv_4= RULE_ID ) ) )? )
+            // InternalReportDSL.g:7963:2: ( ( () otherlv_1= 'label' ( (lv_text_2_0= ruleTRANSLATABLESTRING ) ) (otherlv_3= 'style' ( (otherlv_4= RULE_ID ) ) )? ) )
+            // InternalReportDSL.g:7964:2: ( () otherlv_1= 'label' ( (lv_text_2_0= ruleTRANSLATABLESTRING ) ) (otherlv_3= 'style' ( (otherlv_4= RULE_ID ) ) )? )
             {
-            // InternalReportDSL.g:7655:2: ( () otherlv_1= 'label' ( (lv_text_2_0= ruleTRANSLATABLESTRING ) ) (otherlv_3= 'style' ( (otherlv_4= RULE_ID ) ) )? )
-            // InternalReportDSL.g:7656:3: () otherlv_1= 'label' ( (lv_text_2_0= ruleTRANSLATABLESTRING ) ) (otherlv_3= 'style' ( (otherlv_4= RULE_ID ) ) )?
+            // InternalReportDSL.g:7964:2: ( () otherlv_1= 'label' ( (lv_text_2_0= ruleTRANSLATABLESTRING ) ) (otherlv_3= 'style' ( (otherlv_4= RULE_ID ) ) )? )
+            // InternalReportDSL.g:7965:3: () otherlv_1= 'label' ( (lv_text_2_0= ruleTRANSLATABLESTRING ) ) (otherlv_3= 'style' ( (otherlv_4= RULE_ID ) ) )?
             {
-            // InternalReportDSL.g:7656:3: ()
-            // InternalReportDSL.g:7657:4: 
+            // InternalReportDSL.g:7965:3: ()
+            // InternalReportDSL.g:7966:4: 
             {
             if ( state.backtracking==0 ) {
 
@@ -20632,24 +21478,24 @@
 
             }
 
-            otherlv_1=(Token)match(input,122,FOLLOW_8); if (state.failed) return current;
+            otherlv_1=(Token)match(input,121,FOLLOW_8); if (state.failed) return current;
             if ( state.backtracking==0 ) {
 
               			newLeafNode(otherlv_1, grammarAccess.getLabelAccess().getLabelKeyword_1());
               		
             }
-            // InternalReportDSL.g:7667:3: ( (lv_text_2_0= ruleTRANSLATABLESTRING ) )
-            // InternalReportDSL.g:7668:4: (lv_text_2_0= ruleTRANSLATABLESTRING )
+            // InternalReportDSL.g:7976:3: ( (lv_text_2_0= ruleTRANSLATABLESTRING ) )
+            // InternalReportDSL.g:7977:4: (lv_text_2_0= ruleTRANSLATABLESTRING )
             {
-            // InternalReportDSL.g:7668:4: (lv_text_2_0= ruleTRANSLATABLESTRING )
-            // InternalReportDSL.g:7669:5: lv_text_2_0= ruleTRANSLATABLESTRING
+            // InternalReportDSL.g:7977:4: (lv_text_2_0= ruleTRANSLATABLESTRING )
+            // InternalReportDSL.g:7978:5: lv_text_2_0= ruleTRANSLATABLESTRING
             {
             if ( state.backtracking==0 ) {
 
               					newCompositeNode(grammarAccess.getLabelAccess().getTextTRANSLATABLESTRINGParserRuleCall_2_0());
               				
             }
-            pushFollow(FOLLOW_109);
+            pushFollow(FOLLOW_101);
             lv_text_2_0=ruleTRANSLATABLESTRING();
 
             state._fsp--;
@@ -20673,16 +21519,16 @@
 
             }
 
-            // InternalReportDSL.g:7686:3: (otherlv_3= 'style' ( (otherlv_4= RULE_ID ) ) )?
-            int alt102=2;
-            int LA102_0 = input.LA(1);
+            // InternalReportDSL.g:7995:3: (otherlv_3= 'style' ( (otherlv_4= RULE_ID ) ) )?
+            int alt90=2;
+            int LA90_0 = input.LA(1);
 
-            if ( (LA102_0==43) ) {
-                alt102=1;
+            if ( (LA90_0==43) ) {
+                alt90=1;
             }
-            switch (alt102) {
+            switch (alt90) {
                 case 1 :
-                    // InternalReportDSL.g:7687:4: otherlv_3= 'style' ( (otherlv_4= RULE_ID ) )
+                    // InternalReportDSL.g:7996:4: otherlv_3= 'style' ( (otherlv_4= RULE_ID ) )
                     {
                     otherlv_3=(Token)match(input,43,FOLLOW_4); if (state.failed) return current;
                     if ( state.backtracking==0 ) {
@@ -20690,11 +21536,11 @@
                       				newLeafNode(otherlv_3, grammarAccess.getLabelAccess().getStyleKeyword_3_0());
                       			
                     }
-                    // InternalReportDSL.g:7691:4: ( (otherlv_4= RULE_ID ) )
-                    // InternalReportDSL.g:7692:5: (otherlv_4= RULE_ID )
+                    // InternalReportDSL.g:8000:4: ( (otherlv_4= RULE_ID ) )
+                    // InternalReportDSL.g:8001:5: (otherlv_4= RULE_ID )
                     {
-                    // InternalReportDSL.g:7692:5: (otherlv_4= RULE_ID )
-                    // InternalReportDSL.g:7693:6: otherlv_4= RULE_ID
+                    // InternalReportDSL.g:8001:5: (otherlv_4= RULE_ID )
+                    // InternalReportDSL.g:8002:6: otherlv_4= RULE_ID
                     {
                     if ( state.backtracking==0 ) {
 
@@ -20746,7 +21592,7 @@
 
 
     // $ANTLR start "entryRuleText"
-    // InternalReportDSL.g:7709:1: entryRuleText returns [EObject current=null] : iv_ruleText= ruleText EOF ;
+    // InternalReportDSL.g:8018:1: entryRuleText returns [EObject current=null] : iv_ruleText= ruleText EOF ;
     public final EObject entryRuleText() throws RecognitionException {
         EObject current = null;
 
@@ -20754,8 +21600,8 @@
 
 
         try {
-            // InternalReportDSL.g:7709:45: (iv_ruleText= ruleText EOF )
-            // InternalReportDSL.g:7710:2: iv_ruleText= ruleText EOF
+            // InternalReportDSL.g:8018:45: (iv_ruleText= ruleText EOF )
+            // InternalReportDSL.g:8019:2: iv_ruleText= ruleText EOF
             {
             if ( state.backtracking==0 ) {
                newCompositeNode(grammarAccess.getTextRule()); 
@@ -20786,7 +21632,7 @@
 
 
     // $ANTLR start "ruleText"
-    // InternalReportDSL.g:7716:1: ruleText returns [EObject current=null] : ( () otherlv_1= 'text' ( (lv_textContentType_2_0= ruleTextContentTypeEnum ) )? ( (lv_text_3_0= ruleTRANSLATABLESTRING ) ) (otherlv_4= 'style' ( (otherlv_5= RULE_ID ) ) )? ) ;
+    // InternalReportDSL.g:8025:1: ruleText returns [EObject current=null] : ( () otherlv_1= 'text' ( (lv_textContentType_2_0= ruleTextContentTypeEnum ) )? ( (lv_text_3_0= ruleTRANSLATABLESTRING ) ) (otherlv_4= 'style' ( (otherlv_5= RULE_ID ) ) )? ) ;
     public final EObject ruleText() throws RecognitionException {
         EObject current = null;
 
@@ -20802,14 +21648,14 @@
         	enterRule();
 
         try {
-            // InternalReportDSL.g:7722:2: ( ( () otherlv_1= 'text' ( (lv_textContentType_2_0= ruleTextContentTypeEnum ) )? ( (lv_text_3_0= ruleTRANSLATABLESTRING ) ) (otherlv_4= 'style' ( (otherlv_5= RULE_ID ) ) )? ) )
-            // InternalReportDSL.g:7723:2: ( () otherlv_1= 'text' ( (lv_textContentType_2_0= ruleTextContentTypeEnum ) )? ( (lv_text_3_0= ruleTRANSLATABLESTRING ) ) (otherlv_4= 'style' ( (otherlv_5= RULE_ID ) ) )? )
+            // InternalReportDSL.g:8031:2: ( ( () otherlv_1= 'text' ( (lv_textContentType_2_0= ruleTextContentTypeEnum ) )? ( (lv_text_3_0= ruleTRANSLATABLESTRING ) ) (otherlv_4= 'style' ( (otherlv_5= RULE_ID ) ) )? ) )
+            // InternalReportDSL.g:8032:2: ( () otherlv_1= 'text' ( (lv_textContentType_2_0= ruleTextContentTypeEnum ) )? ( (lv_text_3_0= ruleTRANSLATABLESTRING ) ) (otherlv_4= 'style' ( (otherlv_5= RULE_ID ) ) )? )
             {
-            // InternalReportDSL.g:7723:2: ( () otherlv_1= 'text' ( (lv_textContentType_2_0= ruleTextContentTypeEnum ) )? ( (lv_text_3_0= ruleTRANSLATABLESTRING ) ) (otherlv_4= 'style' ( (otherlv_5= RULE_ID ) ) )? )
-            // InternalReportDSL.g:7724:3: () otherlv_1= 'text' ( (lv_textContentType_2_0= ruleTextContentTypeEnum ) )? ( (lv_text_3_0= ruleTRANSLATABLESTRING ) ) (otherlv_4= 'style' ( (otherlv_5= RULE_ID ) ) )?
+            // InternalReportDSL.g:8032:2: ( () otherlv_1= 'text' ( (lv_textContentType_2_0= ruleTextContentTypeEnum ) )? ( (lv_text_3_0= ruleTRANSLATABLESTRING ) ) (otherlv_4= 'style' ( (otherlv_5= RULE_ID ) ) )? )
+            // InternalReportDSL.g:8033:3: () otherlv_1= 'text' ( (lv_textContentType_2_0= ruleTextContentTypeEnum ) )? ( (lv_text_3_0= ruleTRANSLATABLESTRING ) ) (otherlv_4= 'style' ( (otherlv_5= RULE_ID ) ) )?
             {
-            // InternalReportDSL.g:7724:3: ()
-            // InternalReportDSL.g:7725:4: 
+            // InternalReportDSL.g:8033:3: ()
+            // InternalReportDSL.g:8034:4: 
             {
             if ( state.backtracking==0 ) {
 
@@ -20821,25 +21667,25 @@
 
             }
 
-            otherlv_1=(Token)match(input,123,FOLLOW_119); if (state.failed) return current;
+            otherlv_1=(Token)match(input,122,FOLLOW_111); if (state.failed) return current;
             if ( state.backtracking==0 ) {
 
               			newLeafNode(otherlv_1, grammarAccess.getTextAccess().getTextKeyword_1());
               		
             }
-            // InternalReportDSL.g:7735:3: ( (lv_textContentType_2_0= ruleTextContentTypeEnum ) )?
-            int alt103=2;
-            int LA103_0 = input.LA(1);
+            // InternalReportDSL.g:8044:3: ( (lv_textContentType_2_0= ruleTextContentTypeEnum ) )?
+            int alt91=2;
+            int LA91_0 = input.LA(1);
 
-            if ( (LA103_0==228||LA103_0==239||LA103_0==266) ) {
-                alt103=1;
+            if ( (LA91_0==230||LA91_0==241||LA91_0==271) ) {
+                alt91=1;
             }
-            switch (alt103) {
+            switch (alt91) {
                 case 1 :
-                    // InternalReportDSL.g:7736:4: (lv_textContentType_2_0= ruleTextContentTypeEnum )
+                    // InternalReportDSL.g:8045:4: (lv_textContentType_2_0= ruleTextContentTypeEnum )
                     {
-                    // InternalReportDSL.g:7736:4: (lv_textContentType_2_0= ruleTextContentTypeEnum )
-                    // InternalReportDSL.g:7737:5: lv_textContentType_2_0= ruleTextContentTypeEnum
+                    // InternalReportDSL.g:8045:4: (lv_textContentType_2_0= ruleTextContentTypeEnum )
+                    // InternalReportDSL.g:8046:5: lv_textContentType_2_0= ruleTextContentTypeEnum
                     {
                     if ( state.backtracking==0 ) {
 
@@ -20873,18 +21719,18 @@
 
             }
 
-            // InternalReportDSL.g:7754:3: ( (lv_text_3_0= ruleTRANSLATABLESTRING ) )
-            // InternalReportDSL.g:7755:4: (lv_text_3_0= ruleTRANSLATABLESTRING )
+            // InternalReportDSL.g:8063:3: ( (lv_text_3_0= ruleTRANSLATABLESTRING ) )
+            // InternalReportDSL.g:8064:4: (lv_text_3_0= ruleTRANSLATABLESTRING )
             {
-            // InternalReportDSL.g:7755:4: (lv_text_3_0= ruleTRANSLATABLESTRING )
-            // InternalReportDSL.g:7756:5: lv_text_3_0= ruleTRANSLATABLESTRING
+            // InternalReportDSL.g:8064:4: (lv_text_3_0= ruleTRANSLATABLESTRING )
+            // InternalReportDSL.g:8065:5: lv_text_3_0= ruleTRANSLATABLESTRING
             {
             if ( state.backtracking==0 ) {
 
               					newCompositeNode(grammarAccess.getTextAccess().getTextTRANSLATABLESTRINGParserRuleCall_3_0());
               				
             }
-            pushFollow(FOLLOW_109);
+            pushFollow(FOLLOW_101);
             lv_text_3_0=ruleTRANSLATABLESTRING();
 
             state._fsp--;
@@ -20908,16 +21754,16 @@
 
             }
 
-            // InternalReportDSL.g:7773:3: (otherlv_4= 'style' ( (otherlv_5= RULE_ID ) ) )?
-            int alt104=2;
-            int LA104_0 = input.LA(1);
+            // InternalReportDSL.g:8082:3: (otherlv_4= 'style' ( (otherlv_5= RULE_ID ) ) )?
+            int alt92=2;
+            int LA92_0 = input.LA(1);
 
-            if ( (LA104_0==43) ) {
-                alt104=1;
+            if ( (LA92_0==43) ) {
+                alt92=1;
             }
-            switch (alt104) {
+            switch (alt92) {
                 case 1 :
-                    // InternalReportDSL.g:7774:4: otherlv_4= 'style' ( (otherlv_5= RULE_ID ) )
+                    // InternalReportDSL.g:8083:4: otherlv_4= 'style' ( (otherlv_5= RULE_ID ) )
                     {
                     otherlv_4=(Token)match(input,43,FOLLOW_4); if (state.failed) return current;
                     if ( state.backtracking==0 ) {
@@ -20925,11 +21771,11 @@
                       				newLeafNode(otherlv_4, grammarAccess.getTextAccess().getStyleKeyword_4_0());
                       			
                     }
-                    // InternalReportDSL.g:7778:4: ( (otherlv_5= RULE_ID ) )
-                    // InternalReportDSL.g:7779:5: (otherlv_5= RULE_ID )
+                    // InternalReportDSL.g:8087:4: ( (otherlv_5= RULE_ID ) )
+                    // InternalReportDSL.g:8088:5: (otherlv_5= RULE_ID )
                     {
-                    // InternalReportDSL.g:7779:5: (otherlv_5= RULE_ID )
-                    // InternalReportDSL.g:7780:6: otherlv_5= RULE_ID
+                    // InternalReportDSL.g:8088:5: (otherlv_5= RULE_ID )
+                    // InternalReportDSL.g:8089:6: otherlv_5= RULE_ID
                     {
                     if ( state.backtracking==0 ) {
 
@@ -20981,7 +21827,7 @@
 
 
     // $ANTLR start "entryRuleAutoText"
-    // InternalReportDSL.g:7796:1: entryRuleAutoText returns [EObject current=null] : iv_ruleAutoText= ruleAutoText EOF ;
+    // InternalReportDSL.g:8105:1: entryRuleAutoText returns [EObject current=null] : iv_ruleAutoText= ruleAutoText EOF ;
     public final EObject entryRuleAutoText() throws RecognitionException {
         EObject current = null;
 
@@ -20989,8 +21835,8 @@
 
 
         try {
-            // InternalReportDSL.g:7796:49: (iv_ruleAutoText= ruleAutoText EOF )
-            // InternalReportDSL.g:7797:2: iv_ruleAutoText= ruleAutoText EOF
+            // InternalReportDSL.g:8105:49: (iv_ruleAutoText= ruleAutoText EOF )
+            // InternalReportDSL.g:8106:2: iv_ruleAutoText= ruleAutoText EOF
             {
             if ( state.backtracking==0 ) {
                newCompositeNode(grammarAccess.getAutoTextRule()); 
@@ -21021,7 +21867,7 @@
 
 
     // $ANTLR start "ruleAutoText"
-    // InternalReportDSL.g:7803:1: ruleAutoText returns [EObject current=null] : (otherlv_0= 'autotext' ( (lv_type_1_0= ruleAutoTextEnum ) ) (otherlv_2= 'style' ( (otherlv_3= RULE_ID ) ) )? ) ;
+    // InternalReportDSL.g:8112:1: ruleAutoText returns [EObject current=null] : (otherlv_0= 'autotext' ( (lv_type_1_0= ruleAutoTextEnum ) ) (otherlv_2= 'style' ( (otherlv_3= RULE_ID ) ) )? ) ;
     public final EObject ruleAutoText() throws RecognitionException {
         EObject current = null;
 
@@ -21035,30 +21881,30 @@
         	enterRule();
 
         try {
-            // InternalReportDSL.g:7809:2: ( (otherlv_0= 'autotext' ( (lv_type_1_0= ruleAutoTextEnum ) ) (otherlv_2= 'style' ( (otherlv_3= RULE_ID ) ) )? ) )
-            // InternalReportDSL.g:7810:2: (otherlv_0= 'autotext' ( (lv_type_1_0= ruleAutoTextEnum ) ) (otherlv_2= 'style' ( (otherlv_3= RULE_ID ) ) )? )
+            // InternalReportDSL.g:8118:2: ( (otherlv_0= 'autotext' ( (lv_type_1_0= ruleAutoTextEnum ) ) (otherlv_2= 'style' ( (otherlv_3= RULE_ID ) ) )? ) )
+            // InternalReportDSL.g:8119:2: (otherlv_0= 'autotext' ( (lv_type_1_0= ruleAutoTextEnum ) ) (otherlv_2= 'style' ( (otherlv_3= RULE_ID ) ) )? )
             {
-            // InternalReportDSL.g:7810:2: (otherlv_0= 'autotext' ( (lv_type_1_0= ruleAutoTextEnum ) ) (otherlv_2= 'style' ( (otherlv_3= RULE_ID ) ) )? )
-            // InternalReportDSL.g:7811:3: otherlv_0= 'autotext' ( (lv_type_1_0= ruleAutoTextEnum ) ) (otherlv_2= 'style' ( (otherlv_3= RULE_ID ) ) )?
+            // InternalReportDSL.g:8119:2: (otherlv_0= 'autotext' ( (lv_type_1_0= ruleAutoTextEnum ) ) (otherlv_2= 'style' ( (otherlv_3= RULE_ID ) ) )? )
+            // InternalReportDSL.g:8120:3: otherlv_0= 'autotext' ( (lv_type_1_0= ruleAutoTextEnum ) ) (otherlv_2= 'style' ( (otherlv_3= RULE_ID ) ) )?
             {
-            otherlv_0=(Token)match(input,124,FOLLOW_120); if (state.failed) return current;
+            otherlv_0=(Token)match(input,123,FOLLOW_112); if (state.failed) return current;
             if ( state.backtracking==0 ) {
 
               			newLeafNode(otherlv_0, grammarAccess.getAutoTextAccess().getAutotextKeyword_0());
               		
             }
-            // InternalReportDSL.g:7815:3: ( (lv_type_1_0= ruleAutoTextEnum ) )
-            // InternalReportDSL.g:7816:4: (lv_type_1_0= ruleAutoTextEnum )
+            // InternalReportDSL.g:8124:3: ( (lv_type_1_0= ruleAutoTextEnum ) )
+            // InternalReportDSL.g:8125:4: (lv_type_1_0= ruleAutoTextEnum )
             {
-            // InternalReportDSL.g:7816:4: (lv_type_1_0= ruleAutoTextEnum )
-            // InternalReportDSL.g:7817:5: lv_type_1_0= ruleAutoTextEnum
+            // InternalReportDSL.g:8125:4: (lv_type_1_0= ruleAutoTextEnum )
+            // InternalReportDSL.g:8126:5: lv_type_1_0= ruleAutoTextEnum
             {
             if ( state.backtracking==0 ) {
 
               					newCompositeNode(grammarAccess.getAutoTextAccess().getTypeAutoTextEnumEnumRuleCall_1_0());
               				
             }
-            pushFollow(FOLLOW_109);
+            pushFollow(FOLLOW_101);
             lv_type_1_0=ruleAutoTextEnum();
 
             state._fsp--;
@@ -21082,16 +21928,16 @@
 
             }
 
-            // InternalReportDSL.g:7834:3: (otherlv_2= 'style' ( (otherlv_3= RULE_ID ) ) )?
-            int alt105=2;
-            int LA105_0 = input.LA(1);
+            // InternalReportDSL.g:8143:3: (otherlv_2= 'style' ( (otherlv_3= RULE_ID ) ) )?
+            int alt93=2;
+            int LA93_0 = input.LA(1);
 
-            if ( (LA105_0==43) ) {
-                alt105=1;
+            if ( (LA93_0==43) ) {
+                alt93=1;
             }
-            switch (alt105) {
+            switch (alt93) {
                 case 1 :
-                    // InternalReportDSL.g:7835:4: otherlv_2= 'style' ( (otherlv_3= RULE_ID ) )
+                    // InternalReportDSL.g:8144:4: otherlv_2= 'style' ( (otherlv_3= RULE_ID ) )
                     {
                     otherlv_2=(Token)match(input,43,FOLLOW_4); if (state.failed) return current;
                     if ( state.backtracking==0 ) {
@@ -21099,11 +21945,11 @@
                       				newLeafNode(otherlv_2, grammarAccess.getAutoTextAccess().getStyleKeyword_2_0());
                       			
                     }
-                    // InternalReportDSL.g:7839:4: ( (otherlv_3= RULE_ID ) )
-                    // InternalReportDSL.g:7840:5: (otherlv_3= RULE_ID )
+                    // InternalReportDSL.g:8148:4: ( (otherlv_3= RULE_ID ) )
+                    // InternalReportDSL.g:8149:5: (otherlv_3= RULE_ID )
                     {
-                    // InternalReportDSL.g:7840:5: (otherlv_3= RULE_ID )
-                    // InternalReportDSL.g:7841:6: otherlv_3= RULE_ID
+                    // InternalReportDSL.g:8149:5: (otherlv_3= RULE_ID )
+                    // InternalReportDSL.g:8150:6: otherlv_3= RULE_ID
                     {
                     if ( state.backtracking==0 ) {
 
@@ -21155,7 +22001,7 @@
 
 
     // $ANTLR start "entryRuleImage"
-    // InternalReportDSL.g:7857:1: entryRuleImage returns [EObject current=null] : iv_ruleImage= ruleImage EOF ;
+    // InternalReportDSL.g:8166:1: entryRuleImage returns [EObject current=null] : iv_ruleImage= ruleImage EOF ;
     public final EObject entryRuleImage() throws RecognitionException {
         EObject current = null;
 
@@ -21163,8 +22009,8 @@
 
 
         try {
-            // InternalReportDSL.g:7857:46: (iv_ruleImage= ruleImage EOF )
-            // InternalReportDSL.g:7858:2: iv_ruleImage= ruleImage EOF
+            // InternalReportDSL.g:8166:46: (iv_ruleImage= ruleImage EOF )
+            // InternalReportDSL.g:8167:2: iv_ruleImage= ruleImage EOF
             {
             if ( state.backtracking==0 ) {
                newCompositeNode(grammarAccess.getImageRule()); 
@@ -21195,7 +22041,7 @@
 
 
     // $ANTLR start "ruleImage"
-    // InternalReportDSL.g:7864:1: ruleImage returns [EObject current=null] : (otherlv_0= 'image' ( (lv_size_1_0= ruleImageSizeEnum ) )? (otherlv_2= 'scale' ( (lv_scale_3_0= ruleUnsignedNumber ) ) )? (otherlv_4= 'height' ( (lv_heightValue_5_0= ruleUnsignedNumber ) ) ( (lv_heightUnit_6_0= ruleUnitEnum ) ) )? (otherlv_7= 'width' ( (lv_widthValue_8_0= ruleUnsignedNumber ) ) ( (lv_widthUnit_9_0= ruleUnitEnum ) ) )? ( (lv_sourceType_10_0= ruleImageSourceEnum ) ) ( (lv_filename_11_0= RULE_STRING ) ) ) ;
+    // InternalReportDSL.g:8173:1: ruleImage returns [EObject current=null] : (otherlv_0= 'image' ( (lv_size_1_0= ruleImageSizeEnum ) )? (otherlv_2= 'scale' ( (lv_scale_3_0= ruleUnsignedNumber ) ) )? (otherlv_4= 'height' ( (lv_heightValue_5_0= ruleUnsignedNumber ) ) ( (lv_heightUnit_6_0= ruleUnitEnum ) ) )? (otherlv_7= 'width' ( (lv_widthValue_8_0= ruleUnsignedNumber ) ) ( (lv_widthUnit_9_0= ruleUnitEnum ) ) )? ( (lv_sourceType_10_0= ruleImageSourceEnum ) ) ( (lv_filename_11_0= RULE_STRING ) ) ) ;
     public final EObject ruleImage() throws RecognitionException {
         EObject current = null;
 
@@ -21223,38 +22069,38 @@
         	enterRule();
 
         try {
-            // InternalReportDSL.g:7870:2: ( (otherlv_0= 'image' ( (lv_size_1_0= ruleImageSizeEnum ) )? (otherlv_2= 'scale' ( (lv_scale_3_0= ruleUnsignedNumber ) ) )? (otherlv_4= 'height' ( (lv_heightValue_5_0= ruleUnsignedNumber ) ) ( (lv_heightUnit_6_0= ruleUnitEnum ) ) )? (otherlv_7= 'width' ( (lv_widthValue_8_0= ruleUnsignedNumber ) ) ( (lv_widthUnit_9_0= ruleUnitEnum ) ) )? ( (lv_sourceType_10_0= ruleImageSourceEnum ) ) ( (lv_filename_11_0= RULE_STRING ) ) ) )
-            // InternalReportDSL.g:7871:2: (otherlv_0= 'image' ( (lv_size_1_0= ruleImageSizeEnum ) )? (otherlv_2= 'scale' ( (lv_scale_3_0= ruleUnsignedNumber ) ) )? (otherlv_4= 'height' ( (lv_heightValue_5_0= ruleUnsignedNumber ) ) ( (lv_heightUnit_6_0= ruleUnitEnum ) ) )? (otherlv_7= 'width' ( (lv_widthValue_8_0= ruleUnsignedNumber ) ) ( (lv_widthUnit_9_0= ruleUnitEnum ) ) )? ( (lv_sourceType_10_0= ruleImageSourceEnum ) ) ( (lv_filename_11_0= RULE_STRING ) ) )
+            // InternalReportDSL.g:8179:2: ( (otherlv_0= 'image' ( (lv_size_1_0= ruleImageSizeEnum ) )? (otherlv_2= 'scale' ( (lv_scale_3_0= ruleUnsignedNumber ) ) )? (otherlv_4= 'height' ( (lv_heightValue_5_0= ruleUnsignedNumber ) ) ( (lv_heightUnit_6_0= ruleUnitEnum ) ) )? (otherlv_7= 'width' ( (lv_widthValue_8_0= ruleUnsignedNumber ) ) ( (lv_widthUnit_9_0= ruleUnitEnum ) ) )? ( (lv_sourceType_10_0= ruleImageSourceEnum ) ) ( (lv_filename_11_0= RULE_STRING ) ) ) )
+            // InternalReportDSL.g:8180:2: (otherlv_0= 'image' ( (lv_size_1_0= ruleImageSizeEnum ) )? (otherlv_2= 'scale' ( (lv_scale_3_0= ruleUnsignedNumber ) ) )? (otherlv_4= 'height' ( (lv_heightValue_5_0= ruleUnsignedNumber ) ) ( (lv_heightUnit_6_0= ruleUnitEnum ) ) )? (otherlv_7= 'width' ( (lv_widthValue_8_0= ruleUnsignedNumber ) ) ( (lv_widthUnit_9_0= ruleUnitEnum ) ) )? ( (lv_sourceType_10_0= ruleImageSourceEnum ) ) ( (lv_filename_11_0= RULE_STRING ) ) )
             {
-            // InternalReportDSL.g:7871:2: (otherlv_0= 'image' ( (lv_size_1_0= ruleImageSizeEnum ) )? (otherlv_2= 'scale' ( (lv_scale_3_0= ruleUnsignedNumber ) ) )? (otherlv_4= 'height' ( (lv_heightValue_5_0= ruleUnsignedNumber ) ) ( (lv_heightUnit_6_0= ruleUnitEnum ) ) )? (otherlv_7= 'width' ( (lv_widthValue_8_0= ruleUnsignedNumber ) ) ( (lv_widthUnit_9_0= ruleUnitEnum ) ) )? ( (lv_sourceType_10_0= ruleImageSourceEnum ) ) ( (lv_filename_11_0= RULE_STRING ) ) )
-            // InternalReportDSL.g:7872:3: otherlv_0= 'image' ( (lv_size_1_0= ruleImageSizeEnum ) )? (otherlv_2= 'scale' ( (lv_scale_3_0= ruleUnsignedNumber ) ) )? (otherlv_4= 'height' ( (lv_heightValue_5_0= ruleUnsignedNumber ) ) ( (lv_heightUnit_6_0= ruleUnitEnum ) ) )? (otherlv_7= 'width' ( (lv_widthValue_8_0= ruleUnsignedNumber ) ) ( (lv_widthUnit_9_0= ruleUnitEnum ) ) )? ( (lv_sourceType_10_0= ruleImageSourceEnum ) ) ( (lv_filename_11_0= RULE_STRING ) )
+            // InternalReportDSL.g:8180:2: (otherlv_0= 'image' ( (lv_size_1_0= ruleImageSizeEnum ) )? (otherlv_2= 'scale' ( (lv_scale_3_0= ruleUnsignedNumber ) ) )? (otherlv_4= 'height' ( (lv_heightValue_5_0= ruleUnsignedNumber ) ) ( (lv_heightUnit_6_0= ruleUnitEnum ) ) )? (otherlv_7= 'width' ( (lv_widthValue_8_0= ruleUnsignedNumber ) ) ( (lv_widthUnit_9_0= ruleUnitEnum ) ) )? ( (lv_sourceType_10_0= ruleImageSourceEnum ) ) ( (lv_filename_11_0= RULE_STRING ) ) )
+            // InternalReportDSL.g:8181:3: otherlv_0= 'image' ( (lv_size_1_0= ruleImageSizeEnum ) )? (otherlv_2= 'scale' ( (lv_scale_3_0= ruleUnsignedNumber ) ) )? (otherlv_4= 'height' ( (lv_heightValue_5_0= ruleUnsignedNumber ) ) ( (lv_heightUnit_6_0= ruleUnitEnum ) ) )? (otherlv_7= 'width' ( (lv_widthValue_8_0= ruleUnsignedNumber ) ) ( (lv_widthUnit_9_0= ruleUnitEnum ) ) )? ( (lv_sourceType_10_0= ruleImageSourceEnum ) ) ( (lv_filename_11_0= RULE_STRING ) )
             {
-            otherlv_0=(Token)match(input,125,FOLLOW_121); if (state.failed) return current;
+            otherlv_0=(Token)match(input,124,FOLLOW_113); if (state.failed) return current;
             if ( state.backtracking==0 ) {
 
               			newLeafNode(otherlv_0, grammarAccess.getImageAccess().getImageKeyword_0());
               		
             }
-            // InternalReportDSL.g:7876:3: ( (lv_size_1_0= ruleImageSizeEnum ) )?
-            int alt106=2;
-            int LA106_0 = input.LA(1);
+            // InternalReportDSL.g:8185:3: ( (lv_size_1_0= ruleImageSizeEnum ) )?
+            int alt94=2;
+            int LA94_0 = input.LA(1);
 
-            if ( ((LA106_0>=261 && LA106_0<=263)) ) {
-                alt106=1;
+            if ( ((LA94_0>=266 && LA94_0<=268)) ) {
+                alt94=1;
             }
-            switch (alt106) {
+            switch (alt94) {
                 case 1 :
-                    // InternalReportDSL.g:7877:4: (lv_size_1_0= ruleImageSizeEnum )
+                    // InternalReportDSL.g:8186:4: (lv_size_1_0= ruleImageSizeEnum )
                     {
-                    // InternalReportDSL.g:7877:4: (lv_size_1_0= ruleImageSizeEnum )
-                    // InternalReportDSL.g:7878:5: lv_size_1_0= ruleImageSizeEnum
+                    // InternalReportDSL.g:8186:4: (lv_size_1_0= ruleImageSizeEnum )
+                    // InternalReportDSL.g:8187:5: lv_size_1_0= ruleImageSizeEnum
                     {
                     if ( state.backtracking==0 ) {
 
                       					newCompositeNode(grammarAccess.getImageAccess().getSizeImageSizeEnumEnumRuleCall_1_0());
                       				
                     }
-                    pushFollow(FOLLOW_121);
+                    pushFollow(FOLLOW_113);
                     lv_size_1_0=ruleImageSizeEnum();
 
                     state._fsp--;
@@ -21281,35 +22127,35 @@
 
             }
 
-            // InternalReportDSL.g:7895:3: (otherlv_2= 'scale' ( (lv_scale_3_0= ruleUnsignedNumber ) ) )?
-            int alt107=2;
-            int LA107_0 = input.LA(1);
+            // InternalReportDSL.g:8204:3: (otherlv_2= 'scale' ( (lv_scale_3_0= ruleUnsignedNumber ) ) )?
+            int alt95=2;
+            int LA95_0 = input.LA(1);
 
-            if ( (LA107_0==126) ) {
-                alt107=1;
+            if ( (LA95_0==125) ) {
+                alt95=1;
             }
-            switch (alt107) {
+            switch (alt95) {
                 case 1 :
-                    // InternalReportDSL.g:7896:4: otherlv_2= 'scale' ( (lv_scale_3_0= ruleUnsignedNumber ) )
+                    // InternalReportDSL.g:8205:4: otherlv_2= 'scale' ( (lv_scale_3_0= ruleUnsignedNumber ) )
                     {
-                    otherlv_2=(Token)match(input,126,FOLLOW_28); if (state.failed) return current;
+                    otherlv_2=(Token)match(input,125,FOLLOW_28); if (state.failed) return current;
                     if ( state.backtracking==0 ) {
 
                       				newLeafNode(otherlv_2, grammarAccess.getImageAccess().getScaleKeyword_2_0());
                       			
                     }
-                    // InternalReportDSL.g:7900:4: ( (lv_scale_3_0= ruleUnsignedNumber ) )
-                    // InternalReportDSL.g:7901:5: (lv_scale_3_0= ruleUnsignedNumber )
+                    // InternalReportDSL.g:8209:4: ( (lv_scale_3_0= ruleUnsignedNumber ) )
+                    // InternalReportDSL.g:8210:5: (lv_scale_3_0= ruleUnsignedNumber )
                     {
-                    // InternalReportDSL.g:7901:5: (lv_scale_3_0= ruleUnsignedNumber )
-                    // InternalReportDSL.g:7902:6: lv_scale_3_0= ruleUnsignedNumber
+                    // InternalReportDSL.g:8210:5: (lv_scale_3_0= ruleUnsignedNumber )
+                    // InternalReportDSL.g:8211:6: lv_scale_3_0= ruleUnsignedNumber
                     {
                     if ( state.backtracking==0 ) {
 
                       						newCompositeNode(grammarAccess.getImageAccess().getScaleUnsignedNumberParserRuleCall_2_1_0());
                       					
                     }
-                    pushFollow(FOLLOW_121);
+                    pushFollow(FOLLOW_113);
                     lv_scale_3_0=ruleUnsignedNumber();
 
                     state._fsp--;
@@ -21339,28 +22185,28 @@
 
             }
 
-            // InternalReportDSL.g:7920:3: (otherlv_4= 'height' ( (lv_heightValue_5_0= ruleUnsignedNumber ) ) ( (lv_heightUnit_6_0= ruleUnitEnum ) ) )?
-            int alt108=2;
-            int LA108_0 = input.LA(1);
+            // InternalReportDSL.g:8229:3: (otherlv_4= 'height' ( (lv_heightValue_5_0= ruleUnsignedNumber ) ) ( (lv_heightUnit_6_0= ruleUnitEnum ) ) )?
+            int alt96=2;
+            int LA96_0 = input.LA(1);
 
-            if ( (LA108_0==79) ) {
-                alt108=1;
+            if ( (LA96_0==80) ) {
+                alt96=1;
             }
-            switch (alt108) {
+            switch (alt96) {
                 case 1 :
-                    // InternalReportDSL.g:7921:4: otherlv_4= 'height' ( (lv_heightValue_5_0= ruleUnsignedNumber ) ) ( (lv_heightUnit_6_0= ruleUnitEnum ) )
+                    // InternalReportDSL.g:8230:4: otherlv_4= 'height' ( (lv_heightValue_5_0= ruleUnsignedNumber ) ) ( (lv_heightUnit_6_0= ruleUnitEnum ) )
                     {
-                    otherlv_4=(Token)match(input,79,FOLLOW_28); if (state.failed) return current;
+                    otherlv_4=(Token)match(input,80,FOLLOW_28); if (state.failed) return current;
                     if ( state.backtracking==0 ) {
 
                       				newLeafNode(otherlv_4, grammarAccess.getImageAccess().getHeightKeyword_3_0());
                       			
                     }
-                    // InternalReportDSL.g:7925:4: ( (lv_heightValue_5_0= ruleUnsignedNumber ) )
-                    // InternalReportDSL.g:7926:5: (lv_heightValue_5_0= ruleUnsignedNumber )
+                    // InternalReportDSL.g:8234:4: ( (lv_heightValue_5_0= ruleUnsignedNumber ) )
+                    // InternalReportDSL.g:8235:5: (lv_heightValue_5_0= ruleUnsignedNumber )
                     {
-                    // InternalReportDSL.g:7926:5: (lv_heightValue_5_0= ruleUnsignedNumber )
-                    // InternalReportDSL.g:7927:6: lv_heightValue_5_0= ruleUnsignedNumber
+                    // InternalReportDSL.g:8235:5: (lv_heightValue_5_0= ruleUnsignedNumber )
+                    // InternalReportDSL.g:8236:6: lv_heightValue_5_0= ruleUnsignedNumber
                     {
                     if ( state.backtracking==0 ) {
 
@@ -21391,18 +22237,18 @@
 
                     }
 
-                    // InternalReportDSL.g:7944:4: ( (lv_heightUnit_6_0= ruleUnitEnum ) )
-                    // InternalReportDSL.g:7945:5: (lv_heightUnit_6_0= ruleUnitEnum )
+                    // InternalReportDSL.g:8253:4: ( (lv_heightUnit_6_0= ruleUnitEnum ) )
+                    // InternalReportDSL.g:8254:5: (lv_heightUnit_6_0= ruleUnitEnum )
                     {
-                    // InternalReportDSL.g:7945:5: (lv_heightUnit_6_0= ruleUnitEnum )
-                    // InternalReportDSL.g:7946:6: lv_heightUnit_6_0= ruleUnitEnum
+                    // InternalReportDSL.g:8254:5: (lv_heightUnit_6_0= ruleUnitEnum )
+                    // InternalReportDSL.g:8255:6: lv_heightUnit_6_0= ruleUnitEnum
                     {
                     if ( state.backtracking==0 ) {
 
                       						newCompositeNode(grammarAccess.getImageAccess().getHeightUnitUnitEnumEnumRuleCall_3_2_0());
                       					
                     }
-                    pushFollow(FOLLOW_121);
+                    pushFollow(FOLLOW_113);
                     lv_heightUnit_6_0=ruleUnitEnum();
 
                     state._fsp--;
@@ -21432,28 +22278,28 @@
 
             }
 
-            // InternalReportDSL.g:7964:3: (otherlv_7= 'width' ( (lv_widthValue_8_0= ruleUnsignedNumber ) ) ( (lv_widthUnit_9_0= ruleUnitEnum ) ) )?
-            int alt109=2;
-            int LA109_0 = input.LA(1);
+            // InternalReportDSL.g:8273:3: (otherlv_7= 'width' ( (lv_widthValue_8_0= ruleUnsignedNumber ) ) ( (lv_widthUnit_9_0= ruleUnitEnum ) ) )?
+            int alt97=2;
+            int LA97_0 = input.LA(1);
 
-            if ( (LA109_0==85) ) {
-                alt109=1;
+            if ( (LA97_0==86) ) {
+                alt97=1;
             }
-            switch (alt109) {
+            switch (alt97) {
                 case 1 :
-                    // InternalReportDSL.g:7965:4: otherlv_7= 'width' ( (lv_widthValue_8_0= ruleUnsignedNumber ) ) ( (lv_widthUnit_9_0= ruleUnitEnum ) )
+                    // InternalReportDSL.g:8274:4: otherlv_7= 'width' ( (lv_widthValue_8_0= ruleUnsignedNumber ) ) ( (lv_widthUnit_9_0= ruleUnitEnum ) )
                     {
-                    otherlv_7=(Token)match(input,85,FOLLOW_28); if (state.failed) return current;
+                    otherlv_7=(Token)match(input,86,FOLLOW_28); if (state.failed) return current;
                     if ( state.backtracking==0 ) {
 
                       				newLeafNode(otherlv_7, grammarAccess.getImageAccess().getWidthKeyword_4_0());
                       			
                     }
-                    // InternalReportDSL.g:7969:4: ( (lv_widthValue_8_0= ruleUnsignedNumber ) )
-                    // InternalReportDSL.g:7970:5: (lv_widthValue_8_0= ruleUnsignedNumber )
+                    // InternalReportDSL.g:8278:4: ( (lv_widthValue_8_0= ruleUnsignedNumber ) )
+                    // InternalReportDSL.g:8279:5: (lv_widthValue_8_0= ruleUnsignedNumber )
                     {
-                    // InternalReportDSL.g:7970:5: (lv_widthValue_8_0= ruleUnsignedNumber )
-                    // InternalReportDSL.g:7971:6: lv_widthValue_8_0= ruleUnsignedNumber
+                    // InternalReportDSL.g:8279:5: (lv_widthValue_8_0= ruleUnsignedNumber )
+                    // InternalReportDSL.g:8280:6: lv_widthValue_8_0= ruleUnsignedNumber
                     {
                     if ( state.backtracking==0 ) {
 
@@ -21484,18 +22330,18 @@
 
                     }
 
-                    // InternalReportDSL.g:7988:4: ( (lv_widthUnit_9_0= ruleUnitEnum ) )
-                    // InternalReportDSL.g:7989:5: (lv_widthUnit_9_0= ruleUnitEnum )
+                    // InternalReportDSL.g:8297:4: ( (lv_widthUnit_9_0= ruleUnitEnum ) )
+                    // InternalReportDSL.g:8298:5: (lv_widthUnit_9_0= ruleUnitEnum )
                     {
-                    // InternalReportDSL.g:7989:5: (lv_widthUnit_9_0= ruleUnitEnum )
-                    // InternalReportDSL.g:7990:6: lv_widthUnit_9_0= ruleUnitEnum
+                    // InternalReportDSL.g:8298:5: (lv_widthUnit_9_0= ruleUnitEnum )
+                    // InternalReportDSL.g:8299:6: lv_widthUnit_9_0= ruleUnitEnum
                     {
                     if ( state.backtracking==0 ) {
 
                       						newCompositeNode(grammarAccess.getImageAccess().getWidthUnitUnitEnumEnumRuleCall_4_2_0());
                       					
                     }
-                    pushFollow(FOLLOW_121);
+                    pushFollow(FOLLOW_113);
                     lv_widthUnit_9_0=ruleUnitEnum();
 
                     state._fsp--;
@@ -21525,11 +22371,11 @@
 
             }
 
-            // InternalReportDSL.g:8008:3: ( (lv_sourceType_10_0= ruleImageSourceEnum ) )
-            // InternalReportDSL.g:8009:4: (lv_sourceType_10_0= ruleImageSourceEnum )
+            // InternalReportDSL.g:8317:3: ( (lv_sourceType_10_0= ruleImageSourceEnum ) )
+            // InternalReportDSL.g:8318:4: (lv_sourceType_10_0= ruleImageSourceEnum )
             {
-            // InternalReportDSL.g:8009:4: (lv_sourceType_10_0= ruleImageSourceEnum )
-            // InternalReportDSL.g:8010:5: lv_sourceType_10_0= ruleImageSourceEnum
+            // InternalReportDSL.g:8318:4: (lv_sourceType_10_0= ruleImageSourceEnum )
+            // InternalReportDSL.g:8319:5: lv_sourceType_10_0= ruleImageSourceEnum
             {
             if ( state.backtracking==0 ) {
 
@@ -21560,11 +22406,11 @@
 
             }
 
-            // InternalReportDSL.g:8027:3: ( (lv_filename_11_0= RULE_STRING ) )
-            // InternalReportDSL.g:8028:4: (lv_filename_11_0= RULE_STRING )
+            // InternalReportDSL.g:8336:3: ( (lv_filename_11_0= RULE_STRING ) )
+            // InternalReportDSL.g:8337:4: (lv_filename_11_0= RULE_STRING )
             {
-            // InternalReportDSL.g:8028:4: (lv_filename_11_0= RULE_STRING )
-            // InternalReportDSL.g:8029:5: lv_filename_11_0= RULE_STRING
+            // InternalReportDSL.g:8337:4: (lv_filename_11_0= RULE_STRING )
+            // InternalReportDSL.g:8338:5: lv_filename_11_0= RULE_STRING
             {
             lv_filename_11_0=(Token)match(input,RULE_STRING,FOLLOW_2); if (state.failed) return current;
             if ( state.backtracking==0 ) {
@@ -21615,7 +22461,7 @@
 
 
     // $ANTLR start "entryRuleTRANSLATABLESTRING"
-    // InternalReportDSL.g:8049:1: entryRuleTRANSLATABLESTRING returns [String current=null] : iv_ruleTRANSLATABLESTRING= ruleTRANSLATABLESTRING EOF ;
+    // InternalReportDSL.g:8358:1: entryRuleTRANSLATABLESTRING returns [String current=null] : iv_ruleTRANSLATABLESTRING= ruleTRANSLATABLESTRING EOF ;
     public final String entryRuleTRANSLATABLESTRING() throws RecognitionException {
         String current = null;
 
@@ -21623,8 +22469,8 @@
 
 
         try {
-            // InternalReportDSL.g:8049:58: (iv_ruleTRANSLATABLESTRING= ruleTRANSLATABLESTRING EOF )
-            // InternalReportDSL.g:8050:2: iv_ruleTRANSLATABLESTRING= ruleTRANSLATABLESTRING EOF
+            // InternalReportDSL.g:8358:58: (iv_ruleTRANSLATABLESTRING= ruleTRANSLATABLESTRING EOF )
+            // InternalReportDSL.g:8359:2: iv_ruleTRANSLATABLESTRING= ruleTRANSLATABLESTRING EOF
             {
             if ( state.backtracking==0 ) {
                newCompositeNode(grammarAccess.getTRANSLATABLESTRINGRule()); 
@@ -21655,7 +22501,7 @@
 
 
     // $ANTLR start "ruleTRANSLATABLESTRING"
-    // InternalReportDSL.g:8056:1: ruleTRANSLATABLESTRING returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : this_STRING_0= RULE_STRING ;
+    // InternalReportDSL.g:8365:1: ruleTRANSLATABLESTRING returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : this_STRING_0= RULE_STRING ;
     public final AntlrDatatypeRuleToken ruleTRANSLATABLESTRING() throws RecognitionException {
         AntlrDatatypeRuleToken current = new AntlrDatatypeRuleToken();
 
@@ -21665,8 +22511,8 @@
         	enterRule();
 
         try {
-            // InternalReportDSL.g:8062:2: (this_STRING_0= RULE_STRING )
-            // InternalReportDSL.g:8063:2: this_STRING_0= RULE_STRING
+            // InternalReportDSL.g:8371:2: (this_STRING_0= RULE_STRING )
+            // InternalReportDSL.g:8372:2: this_STRING_0= RULE_STRING
             {
             this_STRING_0=(Token)match(input,RULE_STRING,FOLLOW_2); if (state.failed) return current;
             if ( state.backtracking==0 ) {
@@ -21701,7 +22547,7 @@
 
 
     // $ANTLR start "entryRuleXImportDeclaration"
-    // InternalReportDSL.g:8073:1: entryRuleXImportDeclaration returns [EObject current=null] : iv_ruleXImportDeclaration= ruleXImportDeclaration EOF ;
+    // InternalReportDSL.g:8382:1: entryRuleXImportDeclaration returns [EObject current=null] : iv_ruleXImportDeclaration= ruleXImportDeclaration EOF ;
     public final EObject entryRuleXImportDeclaration() throws RecognitionException {
         EObject current = null;
 
@@ -21709,8 +22555,8 @@
 
 
         try {
-            // InternalReportDSL.g:8073:59: (iv_ruleXImportDeclaration= ruleXImportDeclaration EOF )
-            // InternalReportDSL.g:8074:2: iv_ruleXImportDeclaration= ruleXImportDeclaration EOF
+            // InternalReportDSL.g:8382:59: (iv_ruleXImportDeclaration= ruleXImportDeclaration EOF )
+            // InternalReportDSL.g:8383:2: iv_ruleXImportDeclaration= ruleXImportDeclaration EOF
             {
             if ( state.backtracking==0 ) {
                newCompositeNode(grammarAccess.getXImportDeclarationRule()); 
@@ -21741,7 +22587,7 @@
 
 
     // $ANTLR start "ruleXImportDeclaration"
-    // InternalReportDSL.g:8080:1: ruleXImportDeclaration returns [EObject current=null] : ( () otherlv_1= 'import' ( ( ( (lv_static_2_0= 'static' ) ) ( (lv_extension_3_0= 'extension' ) )? ( ( ruleQualifiedNameInStaticImport ) ) ( ( (lv_wildcard_5_0= '*' ) ) | ( (lv_memberName_6_0= ruleValidID ) ) ) ) | ( ( ruleQualifiedName ) ) | ( (lv_importedNamespace_8_0= ruleQualifiedNameWithWildcard ) ) | ( ( (lv_fqnImport_9_0= 'ns' ) ) ( (lv_importedFullyQualifiedName_10_0= ruleQualifiedName ) ) ) ) (otherlv_11= ';' )? ) ;
+    // InternalReportDSL.g:8389:1: ruleXImportDeclaration returns [EObject current=null] : ( () otherlv_1= 'import' ( ( ( (lv_static_2_0= 'static' ) ) ( (lv_extension_3_0= 'extension' ) )? ( ( ruleQualifiedNameInStaticImport ) ) ( ( (lv_wildcard_5_0= '*' ) ) | ( (lv_memberName_6_0= ruleValidID ) ) ) ) | ( ( ruleQualifiedName ) ) | ( (lv_importedNamespace_8_0= ruleQualifiedNameWithWildcard ) ) | ( ( (lv_fqnImport_9_0= 'ns' ) ) ( (lv_importedFullyQualifiedName_10_0= ruleQualifiedName ) ) ) ) (otherlv_11= ';' )? ) ;
     public final EObject ruleXImportDeclaration() throws RecognitionException {
         EObject current = null;
 
@@ -21762,14 +22608,14 @@
         	enterRule();
 
         try {
-            // InternalReportDSL.g:8086:2: ( ( () otherlv_1= 'import' ( ( ( (lv_static_2_0= 'static' ) ) ( (lv_extension_3_0= 'extension' ) )? ( ( ruleQualifiedNameInStaticImport ) ) ( ( (lv_wildcard_5_0= '*' ) ) | ( (lv_memberName_6_0= ruleValidID ) ) ) ) | ( ( ruleQualifiedName ) ) | ( (lv_importedNamespace_8_0= ruleQualifiedNameWithWildcard ) ) | ( ( (lv_fqnImport_9_0= 'ns' ) ) ( (lv_importedFullyQualifiedName_10_0= ruleQualifiedName ) ) ) ) (otherlv_11= ';' )? ) )
-            // InternalReportDSL.g:8087:2: ( () otherlv_1= 'import' ( ( ( (lv_static_2_0= 'static' ) ) ( (lv_extension_3_0= 'extension' ) )? ( ( ruleQualifiedNameInStaticImport ) ) ( ( (lv_wildcard_5_0= '*' ) ) | ( (lv_memberName_6_0= ruleValidID ) ) ) ) | ( ( ruleQualifiedName ) ) | ( (lv_importedNamespace_8_0= ruleQualifiedNameWithWildcard ) ) | ( ( (lv_fqnImport_9_0= 'ns' ) ) ( (lv_importedFullyQualifiedName_10_0= ruleQualifiedName ) ) ) ) (otherlv_11= ';' )? )
+            // InternalReportDSL.g:8395:2: ( ( () otherlv_1= 'import' ( ( ( (lv_static_2_0= 'static' ) ) ( (lv_extension_3_0= 'extension' ) )? ( ( ruleQualifiedNameInStaticImport ) ) ( ( (lv_wildcard_5_0= '*' ) ) | ( (lv_memberName_6_0= ruleValidID ) ) ) ) | ( ( ruleQualifiedName ) ) | ( (lv_importedNamespace_8_0= ruleQualifiedNameWithWildcard ) ) | ( ( (lv_fqnImport_9_0= 'ns' ) ) ( (lv_importedFullyQualifiedName_10_0= ruleQualifiedName ) ) ) ) (otherlv_11= ';' )? ) )
+            // InternalReportDSL.g:8396:2: ( () otherlv_1= 'import' ( ( ( (lv_static_2_0= 'static' ) ) ( (lv_extension_3_0= 'extension' ) )? ( ( ruleQualifiedNameInStaticImport ) ) ( ( (lv_wildcard_5_0= '*' ) ) | ( (lv_memberName_6_0= ruleValidID ) ) ) ) | ( ( ruleQualifiedName ) ) | ( (lv_importedNamespace_8_0= ruleQualifiedNameWithWildcard ) ) | ( ( (lv_fqnImport_9_0= 'ns' ) ) ( (lv_importedFullyQualifiedName_10_0= ruleQualifiedName ) ) ) ) (otherlv_11= ';' )? )
             {
-            // InternalReportDSL.g:8087:2: ( () otherlv_1= 'import' ( ( ( (lv_static_2_0= 'static' ) ) ( (lv_extension_3_0= 'extension' ) )? ( ( ruleQualifiedNameInStaticImport ) ) ( ( (lv_wildcard_5_0= '*' ) ) | ( (lv_memberName_6_0= ruleValidID ) ) ) ) | ( ( ruleQualifiedName ) ) | ( (lv_importedNamespace_8_0= ruleQualifiedNameWithWildcard ) ) | ( ( (lv_fqnImport_9_0= 'ns' ) ) ( (lv_importedFullyQualifiedName_10_0= ruleQualifiedName ) ) ) ) (otherlv_11= ';' )? )
-            // InternalReportDSL.g:8088:3: () otherlv_1= 'import' ( ( ( (lv_static_2_0= 'static' ) ) ( (lv_extension_3_0= 'extension' ) )? ( ( ruleQualifiedNameInStaticImport ) ) ( ( (lv_wildcard_5_0= '*' ) ) | ( (lv_memberName_6_0= ruleValidID ) ) ) ) | ( ( ruleQualifiedName ) ) | ( (lv_importedNamespace_8_0= ruleQualifiedNameWithWildcard ) ) | ( ( (lv_fqnImport_9_0= 'ns' ) ) ( (lv_importedFullyQualifiedName_10_0= ruleQualifiedName ) ) ) ) (otherlv_11= ';' )?
+            // InternalReportDSL.g:8396:2: ( () otherlv_1= 'import' ( ( ( (lv_static_2_0= 'static' ) ) ( (lv_extension_3_0= 'extension' ) )? ( ( ruleQualifiedNameInStaticImport ) ) ( ( (lv_wildcard_5_0= '*' ) ) | ( (lv_memberName_6_0= ruleValidID ) ) ) ) | ( ( ruleQualifiedName ) ) | ( (lv_importedNamespace_8_0= ruleQualifiedNameWithWildcard ) ) | ( ( (lv_fqnImport_9_0= 'ns' ) ) ( (lv_importedFullyQualifiedName_10_0= ruleQualifiedName ) ) ) ) (otherlv_11= ';' )? )
+            // InternalReportDSL.g:8397:3: () otherlv_1= 'import' ( ( ( (lv_static_2_0= 'static' ) ) ( (lv_extension_3_0= 'extension' ) )? ( ( ruleQualifiedNameInStaticImport ) ) ( ( (lv_wildcard_5_0= '*' ) ) | ( (lv_memberName_6_0= ruleValidID ) ) ) ) | ( ( ruleQualifiedName ) ) | ( (lv_importedNamespace_8_0= ruleQualifiedNameWithWildcard ) ) | ( ( (lv_fqnImport_9_0= 'ns' ) ) ( (lv_importedFullyQualifiedName_10_0= ruleQualifiedName ) ) ) ) (otherlv_11= ';' )?
             {
-            // InternalReportDSL.g:8088:3: ()
-            // InternalReportDSL.g:8089:4: 
+            // InternalReportDSL.g:8397:3: ()
+            // InternalReportDSL.g:8398:4: 
             {
             if ( state.backtracking==0 ) {
 
@@ -21781,29 +22627,29 @@
 
             }
 
-            otherlv_1=(Token)match(input,127,FOLLOW_122); if (state.failed) return current;
+            otherlv_1=(Token)match(input,126,FOLLOW_114); if (state.failed) return current;
             if ( state.backtracking==0 ) {
 
               			newLeafNode(otherlv_1, grammarAccess.getXImportDeclarationAccess().getImportKeyword_1());
               		
             }
-            // InternalReportDSL.g:8099:3: ( ( ( (lv_static_2_0= 'static' ) ) ( (lv_extension_3_0= 'extension' ) )? ( ( ruleQualifiedNameInStaticImport ) ) ( ( (lv_wildcard_5_0= '*' ) ) | ( (lv_memberName_6_0= ruleValidID ) ) ) ) | ( ( ruleQualifiedName ) ) | ( (lv_importedNamespace_8_0= ruleQualifiedNameWithWildcard ) ) | ( ( (lv_fqnImport_9_0= 'ns' ) ) ( (lv_importedFullyQualifiedName_10_0= ruleQualifiedName ) ) ) )
-            int alt112=4;
-            alt112 = dfa112.predict(input);
-            switch (alt112) {
+            // InternalReportDSL.g:8408:3: ( ( ( (lv_static_2_0= 'static' ) ) ( (lv_extension_3_0= 'extension' ) )? ( ( ruleQualifiedNameInStaticImport ) ) ( ( (lv_wildcard_5_0= '*' ) ) | ( (lv_memberName_6_0= ruleValidID ) ) ) ) | ( ( ruleQualifiedName ) ) | ( (lv_importedNamespace_8_0= ruleQualifiedNameWithWildcard ) ) | ( ( (lv_fqnImport_9_0= 'ns' ) ) ( (lv_importedFullyQualifiedName_10_0= ruleQualifiedName ) ) ) )
+            int alt100=4;
+            alt100 = dfa100.predict(input);
+            switch (alt100) {
                 case 1 :
-                    // InternalReportDSL.g:8100:4: ( ( (lv_static_2_0= 'static' ) ) ( (lv_extension_3_0= 'extension' ) )? ( ( ruleQualifiedNameInStaticImport ) ) ( ( (lv_wildcard_5_0= '*' ) ) | ( (lv_memberName_6_0= ruleValidID ) ) ) )
+                    // InternalReportDSL.g:8409:4: ( ( (lv_static_2_0= 'static' ) ) ( (lv_extension_3_0= 'extension' ) )? ( ( ruleQualifiedNameInStaticImport ) ) ( ( (lv_wildcard_5_0= '*' ) ) | ( (lv_memberName_6_0= ruleValidID ) ) ) )
                     {
-                    // InternalReportDSL.g:8100:4: ( ( (lv_static_2_0= 'static' ) ) ( (lv_extension_3_0= 'extension' ) )? ( ( ruleQualifiedNameInStaticImport ) ) ( ( (lv_wildcard_5_0= '*' ) ) | ( (lv_memberName_6_0= ruleValidID ) ) ) )
-                    // InternalReportDSL.g:8101:5: ( (lv_static_2_0= 'static' ) ) ( (lv_extension_3_0= 'extension' ) )? ( ( ruleQualifiedNameInStaticImport ) ) ( ( (lv_wildcard_5_0= '*' ) ) | ( (lv_memberName_6_0= ruleValidID ) ) )
+                    // InternalReportDSL.g:8409:4: ( ( (lv_static_2_0= 'static' ) ) ( (lv_extension_3_0= 'extension' ) )? ( ( ruleQualifiedNameInStaticImport ) ) ( ( (lv_wildcard_5_0= '*' ) ) | ( (lv_memberName_6_0= ruleValidID ) ) ) )
+                    // InternalReportDSL.g:8410:5: ( (lv_static_2_0= 'static' ) ) ( (lv_extension_3_0= 'extension' ) )? ( ( ruleQualifiedNameInStaticImport ) ) ( ( (lv_wildcard_5_0= '*' ) ) | ( (lv_memberName_6_0= ruleValidID ) ) )
                     {
-                    // InternalReportDSL.g:8101:5: ( (lv_static_2_0= 'static' ) )
-                    // InternalReportDSL.g:8102:6: (lv_static_2_0= 'static' )
+                    // InternalReportDSL.g:8410:5: ( (lv_static_2_0= 'static' ) )
+                    // InternalReportDSL.g:8411:6: (lv_static_2_0= 'static' )
                     {
-                    // InternalReportDSL.g:8102:6: (lv_static_2_0= 'static' )
-                    // InternalReportDSL.g:8103:7: lv_static_2_0= 'static'
+                    // InternalReportDSL.g:8411:6: (lv_static_2_0= 'static' )
+                    // InternalReportDSL.g:8412:7: lv_static_2_0= 'static'
                     {
-                    lv_static_2_0=(Token)match(input,128,FOLLOW_123); if (state.failed) return current;
+                    lv_static_2_0=(Token)match(input,127,FOLLOW_115); if (state.failed) return current;
                     if ( state.backtracking==0 ) {
 
                       							newLeafNode(lv_static_2_0, grammarAccess.getXImportDeclarationAccess().getStaticStaticKeyword_2_0_0_0());
@@ -21823,21 +22669,21 @@
 
                     }
 
-                    // InternalReportDSL.g:8115:5: ( (lv_extension_3_0= 'extension' ) )?
-                    int alt110=2;
-                    int LA110_0 = input.LA(1);
+                    // InternalReportDSL.g:8424:5: ( (lv_extension_3_0= 'extension' ) )?
+                    int alt98=2;
+                    int LA98_0 = input.LA(1);
 
-                    if ( (LA110_0==129) ) {
-                        alt110=1;
+                    if ( (LA98_0==128) ) {
+                        alt98=1;
                     }
-                    switch (alt110) {
+                    switch (alt98) {
                         case 1 :
-                            // InternalReportDSL.g:8116:6: (lv_extension_3_0= 'extension' )
+                            // InternalReportDSL.g:8425:6: (lv_extension_3_0= 'extension' )
                             {
-                            // InternalReportDSL.g:8116:6: (lv_extension_3_0= 'extension' )
-                            // InternalReportDSL.g:8117:7: lv_extension_3_0= 'extension'
+                            // InternalReportDSL.g:8425:6: (lv_extension_3_0= 'extension' )
+                            // InternalReportDSL.g:8426:7: lv_extension_3_0= 'extension'
                             {
-                            lv_extension_3_0=(Token)match(input,129,FOLLOW_123); if (state.failed) return current;
+                            lv_extension_3_0=(Token)match(input,128,FOLLOW_115); if (state.failed) return current;
                             if ( state.backtracking==0 ) {
 
                               							newLeafNode(lv_extension_3_0, grammarAccess.getXImportDeclarationAccess().getExtensionExtensionKeyword_2_0_1_0());
@@ -21860,11 +22706,11 @@
 
                     }
 
-                    // InternalReportDSL.g:8129:5: ( ( ruleQualifiedNameInStaticImport ) )
-                    // InternalReportDSL.g:8130:6: ( ruleQualifiedNameInStaticImport )
+                    // InternalReportDSL.g:8438:5: ( ( ruleQualifiedNameInStaticImport ) )
+                    // InternalReportDSL.g:8439:6: ( ruleQualifiedNameInStaticImport )
                     {
-                    // InternalReportDSL.g:8130:6: ( ruleQualifiedNameInStaticImport )
-                    // InternalReportDSL.g:8131:7: ruleQualifiedNameInStaticImport
+                    // InternalReportDSL.g:8439:6: ( ruleQualifiedNameInStaticImport )
+                    // InternalReportDSL.g:8440:7: ruleQualifiedNameInStaticImport
                     {
                     if ( state.backtracking==0 ) {
 
@@ -21878,7 +22724,7 @@
                       							newCompositeNode(grammarAccess.getXImportDeclarationAccess().getImportedTypeJvmDeclaredTypeCrossReference_2_0_2_0());
                       						
                     }
-                    pushFollow(FOLLOW_124);
+                    pushFollow(FOLLOW_116);
                     ruleQualifiedNameInStaticImport();
 
                     state._fsp--;
@@ -21894,34 +22740,34 @@
 
                     }
 
-                    // InternalReportDSL.g:8145:5: ( ( (lv_wildcard_5_0= '*' ) ) | ( (lv_memberName_6_0= ruleValidID ) ) )
-                    int alt111=2;
-                    int LA111_0 = input.LA(1);
+                    // InternalReportDSL.g:8454:5: ( ( (lv_wildcard_5_0= '*' ) ) | ( (lv_memberName_6_0= ruleValidID ) ) )
+                    int alt99=2;
+                    int LA99_0 = input.LA(1);
 
-                    if ( (LA111_0==130) ) {
-                        alt111=1;
+                    if ( (LA99_0==129) ) {
+                        alt99=1;
                     }
-                    else if ( (LA111_0==RULE_ID) ) {
-                        alt111=2;
+                    else if ( (LA99_0==RULE_ID) ) {
+                        alt99=2;
                     }
                     else {
                         if (state.backtracking>0) {state.failed=true; return current;}
                         NoViableAltException nvae =
-                            new NoViableAltException("", 111, 0, input);
+                            new NoViableAltException("", 99, 0, input);
 
                         throw nvae;
                     }
-                    switch (alt111) {
+                    switch (alt99) {
                         case 1 :
-                            // InternalReportDSL.g:8146:6: ( (lv_wildcard_5_0= '*' ) )
+                            // InternalReportDSL.g:8455:6: ( (lv_wildcard_5_0= '*' ) )
                             {
-                            // InternalReportDSL.g:8146:6: ( (lv_wildcard_5_0= '*' ) )
-                            // InternalReportDSL.g:8147:7: (lv_wildcard_5_0= '*' )
+                            // InternalReportDSL.g:8455:6: ( (lv_wildcard_5_0= '*' ) )
+                            // InternalReportDSL.g:8456:7: (lv_wildcard_5_0= '*' )
                             {
-                            // InternalReportDSL.g:8147:7: (lv_wildcard_5_0= '*' )
-                            // InternalReportDSL.g:8148:8: lv_wildcard_5_0= '*'
+                            // InternalReportDSL.g:8456:7: (lv_wildcard_5_0= '*' )
+                            // InternalReportDSL.g:8457:8: lv_wildcard_5_0= '*'
                             {
-                            lv_wildcard_5_0=(Token)match(input,130,FOLLOW_125); if (state.failed) return current;
+                            lv_wildcard_5_0=(Token)match(input,129,FOLLOW_117); if (state.failed) return current;
                             if ( state.backtracking==0 ) {
 
                               								newLeafNode(lv_wildcard_5_0, grammarAccess.getXImportDeclarationAccess().getWildcardAsteriskKeyword_2_0_3_0_0());
@@ -21945,20 +22791,20 @@
                             }
                             break;
                         case 2 :
-                            // InternalReportDSL.g:8161:6: ( (lv_memberName_6_0= ruleValidID ) )
+                            // InternalReportDSL.g:8470:6: ( (lv_memberName_6_0= ruleValidID ) )
                             {
-                            // InternalReportDSL.g:8161:6: ( (lv_memberName_6_0= ruleValidID ) )
-                            // InternalReportDSL.g:8162:7: (lv_memberName_6_0= ruleValidID )
+                            // InternalReportDSL.g:8470:6: ( (lv_memberName_6_0= ruleValidID ) )
+                            // InternalReportDSL.g:8471:7: (lv_memberName_6_0= ruleValidID )
                             {
-                            // InternalReportDSL.g:8162:7: (lv_memberName_6_0= ruleValidID )
-                            // InternalReportDSL.g:8163:8: lv_memberName_6_0= ruleValidID
+                            // InternalReportDSL.g:8471:7: (lv_memberName_6_0= ruleValidID )
+                            // InternalReportDSL.g:8472:8: lv_memberName_6_0= ruleValidID
                             {
                             if ( state.backtracking==0 ) {
 
                               								newCompositeNode(grammarAccess.getXImportDeclarationAccess().getMemberNameValidIDParserRuleCall_2_0_3_1_0());
                               							
                             }
-                            pushFollow(FOLLOW_125);
+                            pushFollow(FOLLOW_117);
                             lv_memberName_6_0=ruleValidID();
 
                             state._fsp--;
@@ -21995,13 +22841,13 @@
                     }
                     break;
                 case 2 :
-                    // InternalReportDSL.g:8183:4: ( ( ruleQualifiedName ) )
+                    // InternalReportDSL.g:8492:4: ( ( ruleQualifiedName ) )
                     {
-                    // InternalReportDSL.g:8183:4: ( ( ruleQualifiedName ) )
-                    // InternalReportDSL.g:8184:5: ( ruleQualifiedName )
+                    // InternalReportDSL.g:8492:4: ( ( ruleQualifiedName ) )
+                    // InternalReportDSL.g:8493:5: ( ruleQualifiedName )
                     {
-                    // InternalReportDSL.g:8184:5: ( ruleQualifiedName )
-                    // InternalReportDSL.g:8185:6: ruleQualifiedName
+                    // InternalReportDSL.g:8493:5: ( ruleQualifiedName )
+                    // InternalReportDSL.g:8494:6: ruleQualifiedName
                     {
                     if ( state.backtracking==0 ) {
 
@@ -22015,7 +22861,7 @@
                       						newCompositeNode(grammarAccess.getXImportDeclarationAccess().getImportedTypeJvmDeclaredTypeCrossReference_2_1_0());
                       					
                     }
-                    pushFollow(FOLLOW_125);
+                    pushFollow(FOLLOW_117);
                     ruleQualifiedName();
 
                     state._fsp--;
@@ -22035,20 +22881,20 @@
                     }
                     break;
                 case 3 :
-                    // InternalReportDSL.g:8200:4: ( (lv_importedNamespace_8_0= ruleQualifiedNameWithWildcard ) )
+                    // InternalReportDSL.g:8509:4: ( (lv_importedNamespace_8_0= ruleQualifiedNameWithWildcard ) )
                     {
-                    // InternalReportDSL.g:8200:4: ( (lv_importedNamespace_8_0= ruleQualifiedNameWithWildcard ) )
-                    // InternalReportDSL.g:8201:5: (lv_importedNamespace_8_0= ruleQualifiedNameWithWildcard )
+                    // InternalReportDSL.g:8509:4: ( (lv_importedNamespace_8_0= ruleQualifiedNameWithWildcard ) )
+                    // InternalReportDSL.g:8510:5: (lv_importedNamespace_8_0= ruleQualifiedNameWithWildcard )
                     {
-                    // InternalReportDSL.g:8201:5: (lv_importedNamespace_8_0= ruleQualifiedNameWithWildcard )
-                    // InternalReportDSL.g:8202:6: lv_importedNamespace_8_0= ruleQualifiedNameWithWildcard
+                    // InternalReportDSL.g:8510:5: (lv_importedNamespace_8_0= ruleQualifiedNameWithWildcard )
+                    // InternalReportDSL.g:8511:6: lv_importedNamespace_8_0= ruleQualifiedNameWithWildcard
                     {
                     if ( state.backtracking==0 ) {
 
                       						newCompositeNode(grammarAccess.getXImportDeclarationAccess().getImportedNamespaceQualifiedNameWithWildcardParserRuleCall_2_2_0());
                       					
                     }
-                    pushFollow(FOLLOW_125);
+                    pushFollow(FOLLOW_117);
                     lv_importedNamespace_8_0=ruleQualifiedNameWithWildcard();
 
                     state._fsp--;
@@ -22076,18 +22922,18 @@
                     }
                     break;
                 case 4 :
-                    // InternalReportDSL.g:8220:4: ( ( (lv_fqnImport_9_0= 'ns' ) ) ( (lv_importedFullyQualifiedName_10_0= ruleQualifiedName ) ) )
+                    // InternalReportDSL.g:8529:4: ( ( (lv_fqnImport_9_0= 'ns' ) ) ( (lv_importedFullyQualifiedName_10_0= ruleQualifiedName ) ) )
                     {
-                    // InternalReportDSL.g:8220:4: ( ( (lv_fqnImport_9_0= 'ns' ) ) ( (lv_importedFullyQualifiedName_10_0= ruleQualifiedName ) ) )
-                    // InternalReportDSL.g:8221:5: ( (lv_fqnImport_9_0= 'ns' ) ) ( (lv_importedFullyQualifiedName_10_0= ruleQualifiedName ) )
+                    // InternalReportDSL.g:8529:4: ( ( (lv_fqnImport_9_0= 'ns' ) ) ( (lv_importedFullyQualifiedName_10_0= ruleQualifiedName ) ) )
+                    // InternalReportDSL.g:8530:5: ( (lv_fqnImport_9_0= 'ns' ) ) ( (lv_importedFullyQualifiedName_10_0= ruleQualifiedName ) )
                     {
-                    // InternalReportDSL.g:8221:5: ( (lv_fqnImport_9_0= 'ns' ) )
-                    // InternalReportDSL.g:8222:6: (lv_fqnImport_9_0= 'ns' )
+                    // InternalReportDSL.g:8530:5: ( (lv_fqnImport_9_0= 'ns' ) )
+                    // InternalReportDSL.g:8531:6: (lv_fqnImport_9_0= 'ns' )
                     {
-                    // InternalReportDSL.g:8222:6: (lv_fqnImport_9_0= 'ns' )
-                    // InternalReportDSL.g:8223:7: lv_fqnImport_9_0= 'ns'
+                    // InternalReportDSL.g:8531:6: (lv_fqnImport_9_0= 'ns' )
+                    // InternalReportDSL.g:8532:7: lv_fqnImport_9_0= 'ns'
                     {
-                    lv_fqnImport_9_0=(Token)match(input,131,FOLLOW_4); if (state.failed) return current;
+                    lv_fqnImport_9_0=(Token)match(input,130,FOLLOW_4); if (state.failed) return current;
                     if ( state.backtracking==0 ) {
 
                       							newLeafNode(lv_fqnImport_9_0, grammarAccess.getXImportDeclarationAccess().getFqnImportNsKeyword_2_3_0_0());
@@ -22107,18 +22953,18 @@
 
                     }
 
-                    // InternalReportDSL.g:8235:5: ( (lv_importedFullyQualifiedName_10_0= ruleQualifiedName ) )
-                    // InternalReportDSL.g:8236:6: (lv_importedFullyQualifiedName_10_0= ruleQualifiedName )
+                    // InternalReportDSL.g:8544:5: ( (lv_importedFullyQualifiedName_10_0= ruleQualifiedName ) )
+                    // InternalReportDSL.g:8545:6: (lv_importedFullyQualifiedName_10_0= ruleQualifiedName )
                     {
-                    // InternalReportDSL.g:8236:6: (lv_importedFullyQualifiedName_10_0= ruleQualifiedName )
-                    // InternalReportDSL.g:8237:7: lv_importedFullyQualifiedName_10_0= ruleQualifiedName
+                    // InternalReportDSL.g:8545:6: (lv_importedFullyQualifiedName_10_0= ruleQualifiedName )
+                    // InternalReportDSL.g:8546:7: lv_importedFullyQualifiedName_10_0= ruleQualifiedName
                     {
                     if ( state.backtracking==0 ) {
 
                       							newCompositeNode(grammarAccess.getXImportDeclarationAccess().getImportedFullyQualifiedNameQualifiedNameParserRuleCall_2_3_1_0());
                       						
                     }
-                    pushFollow(FOLLOW_125);
+                    pushFollow(FOLLOW_117);
                     lv_importedFullyQualifiedName_10_0=ruleQualifiedName();
 
                     state._fsp--;
@@ -22151,18 +22997,18 @@
 
             }
 
-            // InternalReportDSL.g:8256:3: (otherlv_11= ';' )?
-            int alt113=2;
-            int LA113_0 = input.LA(1);
+            // InternalReportDSL.g:8565:3: (otherlv_11= ';' )?
+            int alt101=2;
+            int LA101_0 = input.LA(1);
 
-            if ( (LA113_0==132) ) {
-                alt113=1;
+            if ( (LA101_0==131) ) {
+                alt101=1;
             }
-            switch (alt113) {
+            switch (alt101) {
                 case 1 :
-                    // InternalReportDSL.g:8257:4: otherlv_11= ';'
+                    // InternalReportDSL.g:8566:4: otherlv_11= ';'
                     {
-                    otherlv_11=(Token)match(input,132,FOLLOW_2); if (state.failed) return current;
+                    otherlv_11=(Token)match(input,131,FOLLOW_2); if (state.failed) return current;
                     if ( state.backtracking==0 ) {
 
                       				newLeafNode(otherlv_11, grammarAccess.getXImportDeclarationAccess().getSemicolonKeyword_3());
@@ -22199,7 +23045,7 @@
 
 
     // $ANTLR start "entryRuleXAnnotation"
-    // InternalReportDSL.g:8266:1: entryRuleXAnnotation returns [EObject current=null] : iv_ruleXAnnotation= ruleXAnnotation EOF ;
+    // InternalReportDSL.g:8575:1: entryRuleXAnnotation returns [EObject current=null] : iv_ruleXAnnotation= ruleXAnnotation EOF ;
     public final EObject entryRuleXAnnotation() throws RecognitionException {
         EObject current = null;
 
@@ -22207,8 +23053,8 @@
 
 
         try {
-            // InternalReportDSL.g:8266:52: (iv_ruleXAnnotation= ruleXAnnotation EOF )
-            // InternalReportDSL.g:8267:2: iv_ruleXAnnotation= ruleXAnnotation EOF
+            // InternalReportDSL.g:8575:52: (iv_ruleXAnnotation= ruleXAnnotation EOF )
+            // InternalReportDSL.g:8576:2: iv_ruleXAnnotation= ruleXAnnotation EOF
             {
             if ( state.backtracking==0 ) {
                newCompositeNode(grammarAccess.getXAnnotationRule()); 
@@ -22239,7 +23085,7 @@
 
 
     // $ANTLR start "ruleXAnnotation"
-    // InternalReportDSL.g:8273:1: ruleXAnnotation returns [EObject current=null] : ( () otherlv_1= '@' ( ( ruleQualifiedName ) ) ( ( ( '(' )=>otherlv_3= '(' ) ( ( ( ( ( ( ( ruleValidID ) ) '=' ) )=> (lv_elementValuePairs_4_0= ruleXAnnotationElementValuePair ) ) (otherlv_5= ',' ( ( ( ( ( ruleValidID ) ) '=' ) )=> (lv_elementValuePairs_6_0= ruleXAnnotationElementValuePair ) ) )* ) | ( (lv_value_7_0= ruleXAnnotationElementValueOrCommaList ) ) )? otherlv_8= ')' )? ) ;
+    // InternalReportDSL.g:8582:1: ruleXAnnotation returns [EObject current=null] : ( () otherlv_1= '@' ( ( ruleQualifiedName ) ) ( ( ( '(' )=>otherlv_3= '(' ) ( ( ( ( ( ( ( ruleValidID ) ) '=' ) )=> (lv_elementValuePairs_4_0= ruleXAnnotationElementValuePair ) ) (otherlv_5= ',' ( ( ( ( ( ruleValidID ) ) '=' ) )=> (lv_elementValuePairs_6_0= ruleXAnnotationElementValuePair ) ) )* ) | ( (lv_value_7_0= ruleXAnnotationElementValueOrCommaList ) ) )? otherlv_8= ')' )? ) ;
     public final EObject ruleXAnnotation() throws RecognitionException {
         EObject current = null;
 
@@ -22258,14 +23104,14 @@
         	enterRule();
 
         try {
-            // InternalReportDSL.g:8279:2: ( ( () otherlv_1= '@' ( ( ruleQualifiedName ) ) ( ( ( '(' )=>otherlv_3= '(' ) ( ( ( ( ( ( ( ruleValidID ) ) '=' ) )=> (lv_elementValuePairs_4_0= ruleXAnnotationElementValuePair ) ) (otherlv_5= ',' ( ( ( ( ( ruleValidID ) ) '=' ) )=> (lv_elementValuePairs_6_0= ruleXAnnotationElementValuePair ) ) )* ) | ( (lv_value_7_0= ruleXAnnotationElementValueOrCommaList ) ) )? otherlv_8= ')' )? ) )
-            // InternalReportDSL.g:8280:2: ( () otherlv_1= '@' ( ( ruleQualifiedName ) ) ( ( ( '(' )=>otherlv_3= '(' ) ( ( ( ( ( ( ( ruleValidID ) ) '=' ) )=> (lv_elementValuePairs_4_0= ruleXAnnotationElementValuePair ) ) (otherlv_5= ',' ( ( ( ( ( ruleValidID ) ) '=' ) )=> (lv_elementValuePairs_6_0= ruleXAnnotationElementValuePair ) ) )* ) | ( (lv_value_7_0= ruleXAnnotationElementValueOrCommaList ) ) )? otherlv_8= ')' )? )
+            // InternalReportDSL.g:8588:2: ( ( () otherlv_1= '@' ( ( ruleQualifiedName ) ) ( ( ( '(' )=>otherlv_3= '(' ) ( ( ( ( ( ( ( ruleValidID ) ) '=' ) )=> (lv_elementValuePairs_4_0= ruleXAnnotationElementValuePair ) ) (otherlv_5= ',' ( ( ( ( ( ruleValidID ) ) '=' ) )=> (lv_elementValuePairs_6_0= ruleXAnnotationElementValuePair ) ) )* ) | ( (lv_value_7_0= ruleXAnnotationElementValueOrCommaList ) ) )? otherlv_8= ')' )? ) )
+            // InternalReportDSL.g:8589:2: ( () otherlv_1= '@' ( ( ruleQualifiedName ) ) ( ( ( '(' )=>otherlv_3= '(' ) ( ( ( ( ( ( ( ruleValidID ) ) '=' ) )=> (lv_elementValuePairs_4_0= ruleXAnnotationElementValuePair ) ) (otherlv_5= ',' ( ( ( ( ( ruleValidID ) ) '=' ) )=> (lv_elementValuePairs_6_0= ruleXAnnotationElementValuePair ) ) )* ) | ( (lv_value_7_0= ruleXAnnotationElementValueOrCommaList ) ) )? otherlv_8= ')' )? )
             {
-            // InternalReportDSL.g:8280:2: ( () otherlv_1= '@' ( ( ruleQualifiedName ) ) ( ( ( '(' )=>otherlv_3= '(' ) ( ( ( ( ( ( ( ruleValidID ) ) '=' ) )=> (lv_elementValuePairs_4_0= ruleXAnnotationElementValuePair ) ) (otherlv_5= ',' ( ( ( ( ( ruleValidID ) ) '=' ) )=> (lv_elementValuePairs_6_0= ruleXAnnotationElementValuePair ) ) )* ) | ( (lv_value_7_0= ruleXAnnotationElementValueOrCommaList ) ) )? otherlv_8= ')' )? )
-            // InternalReportDSL.g:8281:3: () otherlv_1= '@' ( ( ruleQualifiedName ) ) ( ( ( '(' )=>otherlv_3= '(' ) ( ( ( ( ( ( ( ruleValidID ) ) '=' ) )=> (lv_elementValuePairs_4_0= ruleXAnnotationElementValuePair ) ) (otherlv_5= ',' ( ( ( ( ( ruleValidID ) ) '=' ) )=> (lv_elementValuePairs_6_0= ruleXAnnotationElementValuePair ) ) )* ) | ( (lv_value_7_0= ruleXAnnotationElementValueOrCommaList ) ) )? otherlv_8= ')' )?
+            // InternalReportDSL.g:8589:2: ( () otherlv_1= '@' ( ( ruleQualifiedName ) ) ( ( ( '(' )=>otherlv_3= '(' ) ( ( ( ( ( ( ( ruleValidID ) ) '=' ) )=> (lv_elementValuePairs_4_0= ruleXAnnotationElementValuePair ) ) (otherlv_5= ',' ( ( ( ( ( ruleValidID ) ) '=' ) )=> (lv_elementValuePairs_6_0= ruleXAnnotationElementValuePair ) ) )* ) | ( (lv_value_7_0= ruleXAnnotationElementValueOrCommaList ) ) )? otherlv_8= ')' )? )
+            // InternalReportDSL.g:8590:3: () otherlv_1= '@' ( ( ruleQualifiedName ) ) ( ( ( '(' )=>otherlv_3= '(' ) ( ( ( ( ( ( ( ruleValidID ) ) '=' ) )=> (lv_elementValuePairs_4_0= ruleXAnnotationElementValuePair ) ) (otherlv_5= ',' ( ( ( ( ( ruleValidID ) ) '=' ) )=> (lv_elementValuePairs_6_0= ruleXAnnotationElementValuePair ) ) )* ) | ( (lv_value_7_0= ruleXAnnotationElementValueOrCommaList ) ) )? otherlv_8= ')' )?
             {
-            // InternalReportDSL.g:8281:3: ()
-            // InternalReportDSL.g:8282:4: 
+            // InternalReportDSL.g:8590:3: ()
+            // InternalReportDSL.g:8591:4: 
             {
             if ( state.backtracking==0 ) {
 
@@ -22277,17 +23123,17 @@
 
             }
 
-            otherlv_1=(Token)match(input,133,FOLLOW_4); if (state.failed) return current;
+            otherlv_1=(Token)match(input,132,FOLLOW_4); if (state.failed) return current;
             if ( state.backtracking==0 ) {
 
               			newLeafNode(otherlv_1, grammarAccess.getXAnnotationAccess().getCommercialAtKeyword_1());
               		
             }
-            // InternalReportDSL.g:8292:3: ( ( ruleQualifiedName ) )
-            // InternalReportDSL.g:8293:4: ( ruleQualifiedName )
+            // InternalReportDSL.g:8601:3: ( ( ruleQualifiedName ) )
+            // InternalReportDSL.g:8602:4: ( ruleQualifiedName )
             {
-            // InternalReportDSL.g:8293:4: ( ruleQualifiedName )
-            // InternalReportDSL.g:8294:5: ruleQualifiedName
+            // InternalReportDSL.g:8602:4: ( ruleQualifiedName )
+            // InternalReportDSL.g:8603:5: ruleQualifiedName
             {
             if ( state.backtracking==0 ) {
 
@@ -22301,7 +23147,7 @@
               					newCompositeNode(grammarAccess.getXAnnotationAccess().getAnnotationTypeJvmAnnotationTypeCrossReference_2_0());
               				
             }
-            pushFollow(FOLLOW_126);
+            pushFollow(FOLLOW_118);
             ruleQualifiedName();
 
             state._fsp--;
@@ -22317,21 +23163,21 @@
 
             }
 
-            // InternalReportDSL.g:8308:3: ( ( ( '(' )=>otherlv_3= '(' ) ( ( ( ( ( ( ( ruleValidID ) ) '=' ) )=> (lv_elementValuePairs_4_0= ruleXAnnotationElementValuePair ) ) (otherlv_5= ',' ( ( ( ( ( ruleValidID ) ) '=' ) )=> (lv_elementValuePairs_6_0= ruleXAnnotationElementValuePair ) ) )* ) | ( (lv_value_7_0= ruleXAnnotationElementValueOrCommaList ) ) )? otherlv_8= ')' )?
-            int alt116=2;
-            int LA116_0 = input.LA(1);
+            // InternalReportDSL.g:8617:3: ( ( ( '(' )=>otherlv_3= '(' ) ( ( ( ( ( ( ( ruleValidID ) ) '=' ) )=> (lv_elementValuePairs_4_0= ruleXAnnotationElementValuePair ) ) (otherlv_5= ',' ( ( ( ( ( ruleValidID ) ) '=' ) )=> (lv_elementValuePairs_6_0= ruleXAnnotationElementValuePair ) ) )* ) | ( (lv_value_7_0= ruleXAnnotationElementValueOrCommaList ) ) )? otherlv_8= ')' )?
+            int alt104=2;
+            int LA104_0 = input.LA(1);
 
-            if ( (LA116_0==103) && (synpred1_InternalReportDSL())) {
-                alt116=1;
+            if ( (LA104_0==102) && (synpred1_InternalReportDSL())) {
+                alt104=1;
             }
-            switch (alt116) {
+            switch (alt104) {
                 case 1 :
-                    // InternalReportDSL.g:8309:4: ( ( '(' )=>otherlv_3= '(' ) ( ( ( ( ( ( ( ruleValidID ) ) '=' ) )=> (lv_elementValuePairs_4_0= ruleXAnnotationElementValuePair ) ) (otherlv_5= ',' ( ( ( ( ( ruleValidID ) ) '=' ) )=> (lv_elementValuePairs_6_0= ruleXAnnotationElementValuePair ) ) )* ) | ( (lv_value_7_0= ruleXAnnotationElementValueOrCommaList ) ) )? otherlv_8= ')'
+                    // InternalReportDSL.g:8618:4: ( ( '(' )=>otherlv_3= '(' ) ( ( ( ( ( ( ( ruleValidID ) ) '=' ) )=> (lv_elementValuePairs_4_0= ruleXAnnotationElementValuePair ) ) (otherlv_5= ',' ( ( ( ( ( ruleValidID ) ) '=' ) )=> (lv_elementValuePairs_6_0= ruleXAnnotationElementValuePair ) ) )* ) | ( (lv_value_7_0= ruleXAnnotationElementValueOrCommaList ) ) )? otherlv_8= ')'
                     {
-                    // InternalReportDSL.g:8309:4: ( ( '(' )=>otherlv_3= '(' )
-                    // InternalReportDSL.g:8310:5: ( '(' )=>otherlv_3= '('
+                    // InternalReportDSL.g:8618:4: ( ( '(' )=>otherlv_3= '(' )
+                    // InternalReportDSL.g:8619:5: ( '(' )=>otherlv_3= '('
                     {
-                    otherlv_3=(Token)match(input,103,FOLLOW_127); if (state.failed) return current;
+                    otherlv_3=(Token)match(input,102,FOLLOW_119); if (state.failed) return current;
                     if ( state.backtracking==0 ) {
 
                       					newLeafNode(otherlv_3, grammarAccess.getXAnnotationAccess().getLeftParenthesisKeyword_3_0());
@@ -22340,28 +23186,28 @@
 
                     }
 
-                    // InternalReportDSL.g:8316:4: ( ( ( ( ( ( ( ruleValidID ) ) '=' ) )=> (lv_elementValuePairs_4_0= ruleXAnnotationElementValuePair ) ) (otherlv_5= ',' ( ( ( ( ( ruleValidID ) ) '=' ) )=> (lv_elementValuePairs_6_0= ruleXAnnotationElementValuePair ) ) )* ) | ( (lv_value_7_0= ruleXAnnotationElementValueOrCommaList ) ) )?
-                    int alt115=3;
-                    alt115 = dfa115.predict(input);
-                    switch (alt115) {
+                    // InternalReportDSL.g:8625:4: ( ( ( ( ( ( ( ruleValidID ) ) '=' ) )=> (lv_elementValuePairs_4_0= ruleXAnnotationElementValuePair ) ) (otherlv_5= ',' ( ( ( ( ( ruleValidID ) ) '=' ) )=> (lv_elementValuePairs_6_0= ruleXAnnotationElementValuePair ) ) )* ) | ( (lv_value_7_0= ruleXAnnotationElementValueOrCommaList ) ) )?
+                    int alt103=3;
+                    alt103 = dfa103.predict(input);
+                    switch (alt103) {
                         case 1 :
-                            // InternalReportDSL.g:8317:5: ( ( ( ( ( ( ruleValidID ) ) '=' ) )=> (lv_elementValuePairs_4_0= ruleXAnnotationElementValuePair ) ) (otherlv_5= ',' ( ( ( ( ( ruleValidID ) ) '=' ) )=> (lv_elementValuePairs_6_0= ruleXAnnotationElementValuePair ) ) )* )
+                            // InternalReportDSL.g:8626:5: ( ( ( ( ( ( ruleValidID ) ) '=' ) )=> (lv_elementValuePairs_4_0= ruleXAnnotationElementValuePair ) ) (otherlv_5= ',' ( ( ( ( ( ruleValidID ) ) '=' ) )=> (lv_elementValuePairs_6_0= ruleXAnnotationElementValuePair ) ) )* )
                             {
-                            // InternalReportDSL.g:8317:5: ( ( ( ( ( ( ruleValidID ) ) '=' ) )=> (lv_elementValuePairs_4_0= ruleXAnnotationElementValuePair ) ) (otherlv_5= ',' ( ( ( ( ( ruleValidID ) ) '=' ) )=> (lv_elementValuePairs_6_0= ruleXAnnotationElementValuePair ) ) )* )
-                            // InternalReportDSL.g:8318:6: ( ( ( ( ( ruleValidID ) ) '=' ) )=> (lv_elementValuePairs_4_0= ruleXAnnotationElementValuePair ) ) (otherlv_5= ',' ( ( ( ( ( ruleValidID ) ) '=' ) )=> (lv_elementValuePairs_6_0= ruleXAnnotationElementValuePair ) ) )*
+                            // InternalReportDSL.g:8626:5: ( ( ( ( ( ( ruleValidID ) ) '=' ) )=> (lv_elementValuePairs_4_0= ruleXAnnotationElementValuePair ) ) (otherlv_5= ',' ( ( ( ( ( ruleValidID ) ) '=' ) )=> (lv_elementValuePairs_6_0= ruleXAnnotationElementValuePair ) ) )* )
+                            // InternalReportDSL.g:8627:6: ( ( ( ( ( ruleValidID ) ) '=' ) )=> (lv_elementValuePairs_4_0= ruleXAnnotationElementValuePair ) ) (otherlv_5= ',' ( ( ( ( ( ruleValidID ) ) '=' ) )=> (lv_elementValuePairs_6_0= ruleXAnnotationElementValuePair ) ) )*
                             {
-                            // InternalReportDSL.g:8318:6: ( ( ( ( ( ruleValidID ) ) '=' ) )=> (lv_elementValuePairs_4_0= ruleXAnnotationElementValuePair ) )
-                            // InternalReportDSL.g:8319:7: ( ( ( ( ruleValidID ) ) '=' ) )=> (lv_elementValuePairs_4_0= ruleXAnnotationElementValuePair )
+                            // InternalReportDSL.g:8627:6: ( ( ( ( ( ruleValidID ) ) '=' ) )=> (lv_elementValuePairs_4_0= ruleXAnnotationElementValuePair ) )
+                            // InternalReportDSL.g:8628:7: ( ( ( ( ruleValidID ) ) '=' ) )=> (lv_elementValuePairs_4_0= ruleXAnnotationElementValuePair )
                             {
-                            // InternalReportDSL.g:8328:7: (lv_elementValuePairs_4_0= ruleXAnnotationElementValuePair )
-                            // InternalReportDSL.g:8329:8: lv_elementValuePairs_4_0= ruleXAnnotationElementValuePair
+                            // InternalReportDSL.g:8637:7: (lv_elementValuePairs_4_0= ruleXAnnotationElementValuePair )
+                            // InternalReportDSL.g:8638:8: lv_elementValuePairs_4_0= ruleXAnnotationElementValuePair
                             {
                             if ( state.backtracking==0 ) {
 
                               								newCompositeNode(grammarAccess.getXAnnotationAccess().getElementValuePairsXAnnotationElementValuePairParserRuleCall_3_1_0_0_0());
                               							
                             }
-                            pushFollow(FOLLOW_128);
+                            pushFollow(FOLLOW_120);
                             lv_elementValuePairs_4_0=ruleXAnnotationElementValuePair();
 
                             state._fsp--;
@@ -22385,39 +23231,39 @@
 
                             }
 
-                            // InternalReportDSL.g:8346:6: (otherlv_5= ',' ( ( ( ( ( ruleValidID ) ) '=' ) )=> (lv_elementValuePairs_6_0= ruleXAnnotationElementValuePair ) ) )*
-                            loop114:
+                            // InternalReportDSL.g:8655:6: (otherlv_5= ',' ( ( ( ( ( ruleValidID ) ) '=' ) )=> (lv_elementValuePairs_6_0= ruleXAnnotationElementValuePair ) ) )*
+                            loop102:
                             do {
-                                int alt114=2;
-                                int LA114_0 = input.LA(1);
+                                int alt102=2;
+                                int LA102_0 = input.LA(1);
 
-                                if ( (LA114_0==134) ) {
-                                    alt114=1;
+                                if ( (LA102_0==133) ) {
+                                    alt102=1;
                                 }
 
 
-                                switch (alt114) {
+                                switch (alt102) {
                             	case 1 :
-                            	    // InternalReportDSL.g:8347:7: otherlv_5= ',' ( ( ( ( ( ruleValidID ) ) '=' ) )=> (lv_elementValuePairs_6_0= ruleXAnnotationElementValuePair ) )
+                            	    // InternalReportDSL.g:8656:7: otherlv_5= ',' ( ( ( ( ( ruleValidID ) ) '=' ) )=> (lv_elementValuePairs_6_0= ruleXAnnotationElementValuePair ) )
                             	    {
-                            	    otherlv_5=(Token)match(input,134,FOLLOW_4); if (state.failed) return current;
+                            	    otherlv_5=(Token)match(input,133,FOLLOW_4); if (state.failed) return current;
                             	    if ( state.backtracking==0 ) {
 
                             	      							newLeafNode(otherlv_5, grammarAccess.getXAnnotationAccess().getCommaKeyword_3_1_0_1_0());
                             	      						
                             	    }
-                            	    // InternalReportDSL.g:8351:7: ( ( ( ( ( ruleValidID ) ) '=' ) )=> (lv_elementValuePairs_6_0= ruleXAnnotationElementValuePair ) )
-                            	    // InternalReportDSL.g:8352:8: ( ( ( ( ruleValidID ) ) '=' ) )=> (lv_elementValuePairs_6_0= ruleXAnnotationElementValuePair )
+                            	    // InternalReportDSL.g:8660:7: ( ( ( ( ( ruleValidID ) ) '=' ) )=> (lv_elementValuePairs_6_0= ruleXAnnotationElementValuePair ) )
+                            	    // InternalReportDSL.g:8661:8: ( ( ( ( ruleValidID ) ) '=' ) )=> (lv_elementValuePairs_6_0= ruleXAnnotationElementValuePair )
                             	    {
-                            	    // InternalReportDSL.g:8361:8: (lv_elementValuePairs_6_0= ruleXAnnotationElementValuePair )
-                            	    // InternalReportDSL.g:8362:9: lv_elementValuePairs_6_0= ruleXAnnotationElementValuePair
+                            	    // InternalReportDSL.g:8670:8: (lv_elementValuePairs_6_0= ruleXAnnotationElementValuePair )
+                            	    // InternalReportDSL.g:8671:9: lv_elementValuePairs_6_0= ruleXAnnotationElementValuePair
                             	    {
                             	    if ( state.backtracking==0 ) {
 
                             	      									newCompositeNode(grammarAccess.getXAnnotationAccess().getElementValuePairsXAnnotationElementValuePairParserRuleCall_3_1_0_1_1_0());
                             	      								
                             	    }
-                            	    pushFollow(FOLLOW_128);
+                            	    pushFollow(FOLLOW_120);
                             	    lv_elementValuePairs_6_0=ruleXAnnotationElementValuePair();
 
                             	    state._fsp--;
@@ -22446,7 +23292,7 @@
                             	    break;
 
                             	default :
-                            	    break loop114;
+                            	    break loop102;
                                 }
                             } while (true);
 
@@ -22457,20 +23303,20 @@
                             }
                             break;
                         case 2 :
-                            // InternalReportDSL.g:8382:5: ( (lv_value_7_0= ruleXAnnotationElementValueOrCommaList ) )
+                            // InternalReportDSL.g:8691:5: ( (lv_value_7_0= ruleXAnnotationElementValueOrCommaList ) )
                             {
-                            // InternalReportDSL.g:8382:5: ( (lv_value_7_0= ruleXAnnotationElementValueOrCommaList ) )
-                            // InternalReportDSL.g:8383:6: (lv_value_7_0= ruleXAnnotationElementValueOrCommaList )
+                            // InternalReportDSL.g:8691:5: ( (lv_value_7_0= ruleXAnnotationElementValueOrCommaList ) )
+                            // InternalReportDSL.g:8692:6: (lv_value_7_0= ruleXAnnotationElementValueOrCommaList )
                             {
-                            // InternalReportDSL.g:8383:6: (lv_value_7_0= ruleXAnnotationElementValueOrCommaList )
-                            // InternalReportDSL.g:8384:7: lv_value_7_0= ruleXAnnotationElementValueOrCommaList
+                            // InternalReportDSL.g:8692:6: (lv_value_7_0= ruleXAnnotationElementValueOrCommaList )
+                            // InternalReportDSL.g:8693:7: lv_value_7_0= ruleXAnnotationElementValueOrCommaList
                             {
                             if ( state.backtracking==0 ) {
 
                               							newCompositeNode(grammarAccess.getXAnnotationAccess().getValueXAnnotationElementValueOrCommaListParserRuleCall_3_1_1_0());
                               						
                             }
-                            pushFollow(FOLLOW_115);
+                            pushFollow(FOLLOW_107);
                             lv_value_7_0=ruleXAnnotationElementValueOrCommaList();
 
                             state._fsp--;
@@ -22500,7 +23346,7 @@
 
                     }
 
-                    otherlv_8=(Token)match(input,104,FOLLOW_2); if (state.failed) return current;
+                    otherlv_8=(Token)match(input,103,FOLLOW_2); if (state.failed) return current;
                     if ( state.backtracking==0 ) {
 
                       				newLeafNode(otherlv_8, grammarAccess.getXAnnotationAccess().getRightParenthesisKeyword_3_2());
@@ -22537,7 +23383,7 @@
 
 
     // $ANTLR start "entryRuleXAnnotationElementValuePair"
-    // InternalReportDSL.g:8411:1: entryRuleXAnnotationElementValuePair returns [EObject current=null] : iv_ruleXAnnotationElementValuePair= ruleXAnnotationElementValuePair EOF ;
+    // InternalReportDSL.g:8720:1: entryRuleXAnnotationElementValuePair returns [EObject current=null] : iv_ruleXAnnotationElementValuePair= ruleXAnnotationElementValuePair EOF ;
     public final EObject entryRuleXAnnotationElementValuePair() throws RecognitionException {
         EObject current = null;
 
@@ -22545,8 +23391,8 @@
 
 
         try {
-            // InternalReportDSL.g:8411:68: (iv_ruleXAnnotationElementValuePair= ruleXAnnotationElementValuePair EOF )
-            // InternalReportDSL.g:8412:2: iv_ruleXAnnotationElementValuePair= ruleXAnnotationElementValuePair EOF
+            // InternalReportDSL.g:8720:68: (iv_ruleXAnnotationElementValuePair= ruleXAnnotationElementValuePair EOF )
+            // InternalReportDSL.g:8721:2: iv_ruleXAnnotationElementValuePair= ruleXAnnotationElementValuePair EOF
             {
             if ( state.backtracking==0 ) {
                newCompositeNode(grammarAccess.getXAnnotationElementValuePairRule()); 
@@ -22577,7 +23423,7 @@
 
 
     // $ANTLR start "ruleXAnnotationElementValuePair"
-    // InternalReportDSL.g:8418:1: ruleXAnnotationElementValuePair returns [EObject current=null] : ( ( ( ( ( ( ruleValidID ) ) '=' ) )=> ( ( ( ruleValidID ) ) otherlv_1= '=' ) ) ( (lv_value_2_0= ruleXAnnotationElementValue ) ) ) ;
+    // InternalReportDSL.g:8727:1: ruleXAnnotationElementValuePair returns [EObject current=null] : ( ( ( ( ( ( ruleValidID ) ) '=' ) )=> ( ( ( ruleValidID ) ) otherlv_1= '=' ) ) ( (lv_value_2_0= ruleXAnnotationElementValue ) ) ) ;
     public final EObject ruleXAnnotationElementValuePair() throws RecognitionException {
         EObject current = null;
 
@@ -22589,23 +23435,23 @@
         	enterRule();
 
         try {
-            // InternalReportDSL.g:8424:2: ( ( ( ( ( ( ( ruleValidID ) ) '=' ) )=> ( ( ( ruleValidID ) ) otherlv_1= '=' ) ) ( (lv_value_2_0= ruleXAnnotationElementValue ) ) ) )
-            // InternalReportDSL.g:8425:2: ( ( ( ( ( ( ruleValidID ) ) '=' ) )=> ( ( ( ruleValidID ) ) otherlv_1= '=' ) ) ( (lv_value_2_0= ruleXAnnotationElementValue ) ) )
+            // InternalReportDSL.g:8733:2: ( ( ( ( ( ( ( ruleValidID ) ) '=' ) )=> ( ( ( ruleValidID ) ) otherlv_1= '=' ) ) ( (lv_value_2_0= ruleXAnnotationElementValue ) ) ) )
+            // InternalReportDSL.g:8734:2: ( ( ( ( ( ( ruleValidID ) ) '=' ) )=> ( ( ( ruleValidID ) ) otherlv_1= '=' ) ) ( (lv_value_2_0= ruleXAnnotationElementValue ) ) )
             {
-            // InternalReportDSL.g:8425:2: ( ( ( ( ( ( ruleValidID ) ) '=' ) )=> ( ( ( ruleValidID ) ) otherlv_1= '=' ) ) ( (lv_value_2_0= ruleXAnnotationElementValue ) ) )
-            // InternalReportDSL.g:8426:3: ( ( ( ( ( ruleValidID ) ) '=' ) )=> ( ( ( ruleValidID ) ) otherlv_1= '=' ) ) ( (lv_value_2_0= ruleXAnnotationElementValue ) )
+            // InternalReportDSL.g:8734:2: ( ( ( ( ( ( ruleValidID ) ) '=' ) )=> ( ( ( ruleValidID ) ) otherlv_1= '=' ) ) ( (lv_value_2_0= ruleXAnnotationElementValue ) ) )
+            // InternalReportDSL.g:8735:3: ( ( ( ( ( ruleValidID ) ) '=' ) )=> ( ( ( ruleValidID ) ) otherlv_1= '=' ) ) ( (lv_value_2_0= ruleXAnnotationElementValue ) )
             {
-            // InternalReportDSL.g:8426:3: ( ( ( ( ( ruleValidID ) ) '=' ) )=> ( ( ( ruleValidID ) ) otherlv_1= '=' ) )
-            // InternalReportDSL.g:8427:4: ( ( ( ( ruleValidID ) ) '=' ) )=> ( ( ( ruleValidID ) ) otherlv_1= '=' )
+            // InternalReportDSL.g:8735:3: ( ( ( ( ( ruleValidID ) ) '=' ) )=> ( ( ( ruleValidID ) ) otherlv_1= '=' ) )
+            // InternalReportDSL.g:8736:4: ( ( ( ( ruleValidID ) ) '=' ) )=> ( ( ( ruleValidID ) ) otherlv_1= '=' )
             {
-            // InternalReportDSL.g:8436:4: ( ( ( ruleValidID ) ) otherlv_1= '=' )
-            // InternalReportDSL.g:8437:5: ( ( ruleValidID ) ) otherlv_1= '='
+            // InternalReportDSL.g:8745:4: ( ( ( ruleValidID ) ) otherlv_1= '=' )
+            // InternalReportDSL.g:8746:5: ( ( ruleValidID ) ) otherlv_1= '='
             {
-            // InternalReportDSL.g:8437:5: ( ( ruleValidID ) )
-            // InternalReportDSL.g:8438:6: ( ruleValidID )
+            // InternalReportDSL.g:8746:5: ( ( ruleValidID ) )
+            // InternalReportDSL.g:8747:6: ( ruleValidID )
             {
-            // InternalReportDSL.g:8438:6: ( ruleValidID )
-            // InternalReportDSL.g:8439:7: ruleValidID
+            // InternalReportDSL.g:8747:6: ( ruleValidID )
+            // InternalReportDSL.g:8748:7: ruleValidID
             {
             if ( state.backtracking==0 ) {
 
@@ -22619,7 +23465,7 @@
               							newCompositeNode(grammarAccess.getXAnnotationElementValuePairAccess().getElementJvmOperationCrossReference_0_0_0_0());
               						
             }
-            pushFollow(FOLLOW_129);
+            pushFollow(FOLLOW_121);
             ruleValidID();
 
             state._fsp--;
@@ -22635,7 +23481,7 @@
 
             }
 
-            otherlv_1=(Token)match(input,135,FOLLOW_130); if (state.failed) return current;
+            otherlv_1=(Token)match(input,134,FOLLOW_122); if (state.failed) return current;
             if ( state.backtracking==0 ) {
 
               					newLeafNode(otherlv_1, grammarAccess.getXAnnotationElementValuePairAccess().getEqualsSignKeyword_0_0_1());
@@ -22647,11 +23493,11 @@
 
             }
 
-            // InternalReportDSL.g:8459:3: ( (lv_value_2_0= ruleXAnnotationElementValue ) )
-            // InternalReportDSL.g:8460:4: (lv_value_2_0= ruleXAnnotationElementValue )
+            // InternalReportDSL.g:8768:3: ( (lv_value_2_0= ruleXAnnotationElementValue ) )
+            // InternalReportDSL.g:8769:4: (lv_value_2_0= ruleXAnnotationElementValue )
             {
-            // InternalReportDSL.g:8460:4: (lv_value_2_0= ruleXAnnotationElementValue )
-            // InternalReportDSL.g:8461:5: lv_value_2_0= ruleXAnnotationElementValue
+            // InternalReportDSL.g:8769:4: (lv_value_2_0= ruleXAnnotationElementValue )
+            // InternalReportDSL.g:8770:5: lv_value_2_0= ruleXAnnotationElementValue
             {
             if ( state.backtracking==0 ) {
 
@@ -22707,7 +23553,7 @@
 
 
     // $ANTLR start "entryRuleXAnnotationElementValueOrCommaList"
-    // InternalReportDSL.g:8482:1: entryRuleXAnnotationElementValueOrCommaList returns [EObject current=null] : iv_ruleXAnnotationElementValueOrCommaList= ruleXAnnotationElementValueOrCommaList EOF ;
+    // InternalReportDSL.g:8791:1: entryRuleXAnnotationElementValueOrCommaList returns [EObject current=null] : iv_ruleXAnnotationElementValueOrCommaList= ruleXAnnotationElementValueOrCommaList EOF ;
     public final EObject entryRuleXAnnotationElementValueOrCommaList() throws RecognitionException {
         EObject current = null;
 
@@ -22715,8 +23561,8 @@
 
 
         try {
-            // InternalReportDSL.g:8482:75: (iv_ruleXAnnotationElementValueOrCommaList= ruleXAnnotationElementValueOrCommaList EOF )
-            // InternalReportDSL.g:8483:2: iv_ruleXAnnotationElementValueOrCommaList= ruleXAnnotationElementValueOrCommaList EOF
+            // InternalReportDSL.g:8791:75: (iv_ruleXAnnotationElementValueOrCommaList= ruleXAnnotationElementValueOrCommaList EOF )
+            // InternalReportDSL.g:8792:2: iv_ruleXAnnotationElementValueOrCommaList= ruleXAnnotationElementValueOrCommaList EOF
             {
             if ( state.backtracking==0 ) {
                newCompositeNode(grammarAccess.getXAnnotationElementValueOrCommaListRule()); 
@@ -22747,7 +23593,7 @@
 
 
     // $ANTLR start "ruleXAnnotationElementValueOrCommaList"
-    // InternalReportDSL.g:8489:1: ruleXAnnotationElementValueOrCommaList returns [EObject current=null] : ( ( ( ( ( () '#' '[' ) )=> ( () otherlv_1= '#' otherlv_2= '[' ) ) ( ( (lv_elements_3_0= ruleXAnnotationOrExpression ) ) (otherlv_4= ',' ( (lv_elements_5_0= ruleXAnnotationOrExpression ) ) )* )? otherlv_6= ']' ) | (this_XAnnotationOrExpression_7= ruleXAnnotationOrExpression ( () (otherlv_9= ',' ( (lv_elements_10_0= ruleXAnnotationOrExpression ) ) )+ )? ) ) ;
+    // InternalReportDSL.g:8798:1: ruleXAnnotationElementValueOrCommaList returns [EObject current=null] : ( ( ( ( ( () '#' '[' ) )=> ( () otherlv_1= '#' otherlv_2= '[' ) ) ( ( (lv_elements_3_0= ruleXAnnotationOrExpression ) ) (otherlv_4= ',' ( (lv_elements_5_0= ruleXAnnotationOrExpression ) ) )* )? otherlv_6= ']' ) | (this_XAnnotationOrExpression_7= ruleXAnnotationOrExpression ( () (otherlv_9= ',' ( (lv_elements_10_0= ruleXAnnotationOrExpression ) ) )+ )? ) ) ;
     public final EObject ruleXAnnotationElementValueOrCommaList() throws RecognitionException {
         EObject current = null;
 
@@ -22769,27 +23615,27 @@
         	enterRule();
 
         try {
-            // InternalReportDSL.g:8495:2: ( ( ( ( ( ( () '#' '[' ) )=> ( () otherlv_1= '#' otherlv_2= '[' ) ) ( ( (lv_elements_3_0= ruleXAnnotationOrExpression ) ) (otherlv_4= ',' ( (lv_elements_5_0= ruleXAnnotationOrExpression ) ) )* )? otherlv_6= ']' ) | (this_XAnnotationOrExpression_7= ruleXAnnotationOrExpression ( () (otherlv_9= ',' ( (lv_elements_10_0= ruleXAnnotationOrExpression ) ) )+ )? ) ) )
-            // InternalReportDSL.g:8496:2: ( ( ( ( ( () '#' '[' ) )=> ( () otherlv_1= '#' otherlv_2= '[' ) ) ( ( (lv_elements_3_0= ruleXAnnotationOrExpression ) ) (otherlv_4= ',' ( (lv_elements_5_0= ruleXAnnotationOrExpression ) ) )* )? otherlv_6= ']' ) | (this_XAnnotationOrExpression_7= ruleXAnnotationOrExpression ( () (otherlv_9= ',' ( (lv_elements_10_0= ruleXAnnotationOrExpression ) ) )+ )? ) )
+            // InternalReportDSL.g:8804:2: ( ( ( ( ( ( () '#' '[' ) )=> ( () otherlv_1= '#' otherlv_2= '[' ) ) ( ( (lv_elements_3_0= ruleXAnnotationOrExpression ) ) (otherlv_4= ',' ( (lv_elements_5_0= ruleXAnnotationOrExpression ) ) )* )? otherlv_6= ']' ) | (this_XAnnotationOrExpression_7= ruleXAnnotationOrExpression ( () (otherlv_9= ',' ( (lv_elements_10_0= ruleXAnnotationOrExpression ) ) )+ )? ) ) )
+            // InternalReportDSL.g:8805:2: ( ( ( ( ( () '#' '[' ) )=> ( () otherlv_1= '#' otherlv_2= '[' ) ) ( ( (lv_elements_3_0= ruleXAnnotationOrExpression ) ) (otherlv_4= ',' ( (lv_elements_5_0= ruleXAnnotationOrExpression ) ) )* )? otherlv_6= ']' ) | (this_XAnnotationOrExpression_7= ruleXAnnotationOrExpression ( () (otherlv_9= ',' ( (lv_elements_10_0= ruleXAnnotationOrExpression ) ) )+ )? ) )
             {
-            // InternalReportDSL.g:8496:2: ( ( ( ( ( () '#' '[' ) )=> ( () otherlv_1= '#' otherlv_2= '[' ) ) ( ( (lv_elements_3_0= ruleXAnnotationOrExpression ) ) (otherlv_4= ',' ( (lv_elements_5_0= ruleXAnnotationOrExpression ) ) )* )? otherlv_6= ']' ) | (this_XAnnotationOrExpression_7= ruleXAnnotationOrExpression ( () (otherlv_9= ',' ( (lv_elements_10_0= ruleXAnnotationOrExpression ) ) )+ )? ) )
-            int alt121=2;
-            alt121 = dfa121.predict(input);
-            switch (alt121) {
+            // InternalReportDSL.g:8805:2: ( ( ( ( ( () '#' '[' ) )=> ( () otherlv_1= '#' otherlv_2= '[' ) ) ( ( (lv_elements_3_0= ruleXAnnotationOrExpression ) ) (otherlv_4= ',' ( (lv_elements_5_0= ruleXAnnotationOrExpression ) ) )* )? otherlv_6= ']' ) | (this_XAnnotationOrExpression_7= ruleXAnnotationOrExpression ( () (otherlv_9= ',' ( (lv_elements_10_0= ruleXAnnotationOrExpression ) ) )+ )? ) )
+            int alt109=2;
+            alt109 = dfa109.predict(input);
+            switch (alt109) {
                 case 1 :
-                    // InternalReportDSL.g:8497:3: ( ( ( ( () '#' '[' ) )=> ( () otherlv_1= '#' otherlv_2= '[' ) ) ( ( (lv_elements_3_0= ruleXAnnotationOrExpression ) ) (otherlv_4= ',' ( (lv_elements_5_0= ruleXAnnotationOrExpression ) ) )* )? otherlv_6= ']' )
+                    // InternalReportDSL.g:8806:3: ( ( ( ( () '#' '[' ) )=> ( () otherlv_1= '#' otherlv_2= '[' ) ) ( ( (lv_elements_3_0= ruleXAnnotationOrExpression ) ) (otherlv_4= ',' ( (lv_elements_5_0= ruleXAnnotationOrExpression ) ) )* )? otherlv_6= ']' )
                     {
-                    // InternalReportDSL.g:8497:3: ( ( ( ( () '#' '[' ) )=> ( () otherlv_1= '#' otherlv_2= '[' ) ) ( ( (lv_elements_3_0= ruleXAnnotationOrExpression ) ) (otherlv_4= ',' ( (lv_elements_5_0= ruleXAnnotationOrExpression ) ) )* )? otherlv_6= ']' )
-                    // InternalReportDSL.g:8498:4: ( ( ( () '#' '[' ) )=> ( () otherlv_1= '#' otherlv_2= '[' ) ) ( ( (lv_elements_3_0= ruleXAnnotationOrExpression ) ) (otherlv_4= ',' ( (lv_elements_5_0= ruleXAnnotationOrExpression ) ) )* )? otherlv_6= ']'
+                    // InternalReportDSL.g:8806:3: ( ( ( ( () '#' '[' ) )=> ( () otherlv_1= '#' otherlv_2= '[' ) ) ( ( (lv_elements_3_0= ruleXAnnotationOrExpression ) ) (otherlv_4= ',' ( (lv_elements_5_0= ruleXAnnotationOrExpression ) ) )* )? otherlv_6= ']' )
+                    // InternalReportDSL.g:8807:4: ( ( ( () '#' '[' ) )=> ( () otherlv_1= '#' otherlv_2= '[' ) ) ( ( (lv_elements_3_0= ruleXAnnotationOrExpression ) ) (otherlv_4= ',' ( (lv_elements_5_0= ruleXAnnotationOrExpression ) ) )* )? otherlv_6= ']'
                     {
-                    // InternalReportDSL.g:8498:4: ( ( ( () '#' '[' ) )=> ( () otherlv_1= '#' otherlv_2= '[' ) )
-                    // InternalReportDSL.g:8499:5: ( ( () '#' '[' ) )=> ( () otherlv_1= '#' otherlv_2= '[' )
+                    // InternalReportDSL.g:8807:4: ( ( ( () '#' '[' ) )=> ( () otherlv_1= '#' otherlv_2= '[' ) )
+                    // InternalReportDSL.g:8808:5: ( ( () '#' '[' ) )=> ( () otherlv_1= '#' otherlv_2= '[' )
                     {
-                    // InternalReportDSL.g:8506:5: ( () otherlv_1= '#' otherlv_2= '[' )
-                    // InternalReportDSL.g:8507:6: () otherlv_1= '#' otherlv_2= '['
+                    // InternalReportDSL.g:8815:5: ( () otherlv_1= '#' otherlv_2= '[' )
+                    // InternalReportDSL.g:8816:6: () otherlv_1= '#' otherlv_2= '['
                     {
-                    // InternalReportDSL.g:8507:6: ()
-                    // InternalReportDSL.g:8508:7: 
+                    // InternalReportDSL.g:8816:6: ()
+                    // InternalReportDSL.g:8817:7: 
                     {
                     if ( state.backtracking==0 ) {
 
@@ -22801,13 +23647,13 @@
 
                     }
 
-                    otherlv_1=(Token)match(input,136,FOLLOW_131); if (state.failed) return current;
+                    otherlv_1=(Token)match(input,135,FOLLOW_123); if (state.failed) return current;
                     if ( state.backtracking==0 ) {
 
                       						newLeafNode(otherlv_1, grammarAccess.getXAnnotationElementValueOrCommaListAccess().getNumberSignKeyword_0_0_0_1());
                       					
                     }
-                    otherlv_2=(Token)match(input,137,FOLLOW_132); if (state.failed) return current;
+                    otherlv_2=(Token)match(input,136,FOLLOW_124); if (state.failed) return current;
                     if ( state.backtracking==0 ) {
 
                       						newLeafNode(otherlv_2, grammarAccess.getXAnnotationElementValueOrCommaListAccess().getLeftSquareBracketKeyword_0_0_0_2());
@@ -22819,29 +23665,29 @@
 
                     }
 
-                    // InternalReportDSL.g:8524:4: ( ( (lv_elements_3_0= ruleXAnnotationOrExpression ) ) (otherlv_4= ',' ( (lv_elements_5_0= ruleXAnnotationOrExpression ) ) )* )?
-                    int alt118=2;
-                    int LA118_0 = input.LA(1);
+                    // InternalReportDSL.g:8833:4: ( ( (lv_elements_3_0= ruleXAnnotationOrExpression ) ) (otherlv_4= ',' ( (lv_elements_5_0= ruleXAnnotationOrExpression ) ) )* )?
+                    int alt106=2;
+                    int LA106_0 = input.LA(1);
 
-                    if ( ((LA118_0>=RULE_STRING && LA118_0<=RULE_DECIMAL)||LA118_0==14||LA118_0==39||LA118_0==103||LA118_0==116||(LA118_0>=127 && LA118_0<=129)||LA118_0==133||(LA118_0>=136 && LA118_0<=137)||LA118_0==144||LA118_0==160||LA118_0==164||LA118_0==171||LA118_0==173||(LA118_0>=177 && LA118_0<=179)||(LA118_0>=182 && LA118_0<=190)||LA118_0==192) ) {
-                        alt118=1;
+                    if ( ((LA106_0>=RULE_STRING && LA106_0<=RULE_DECIMAL)||LA106_0==14||LA106_0==39||LA106_0==102||LA106_0==115||(LA106_0>=126 && LA106_0<=128)||LA106_0==132||(LA106_0>=135 && LA106_0<=136)||LA106_0==143||LA106_0==159||LA106_0==163||LA106_0==170||LA106_0==172||(LA106_0>=176 && LA106_0<=178)||(LA106_0>=181 && LA106_0<=189)||LA106_0==191) ) {
+                        alt106=1;
                     }
-                    switch (alt118) {
+                    switch (alt106) {
                         case 1 :
-                            // InternalReportDSL.g:8525:5: ( (lv_elements_3_0= ruleXAnnotationOrExpression ) ) (otherlv_4= ',' ( (lv_elements_5_0= ruleXAnnotationOrExpression ) ) )*
+                            // InternalReportDSL.g:8834:5: ( (lv_elements_3_0= ruleXAnnotationOrExpression ) ) (otherlv_4= ',' ( (lv_elements_5_0= ruleXAnnotationOrExpression ) ) )*
                             {
-                            // InternalReportDSL.g:8525:5: ( (lv_elements_3_0= ruleXAnnotationOrExpression ) )
-                            // InternalReportDSL.g:8526:6: (lv_elements_3_0= ruleXAnnotationOrExpression )
+                            // InternalReportDSL.g:8834:5: ( (lv_elements_3_0= ruleXAnnotationOrExpression ) )
+                            // InternalReportDSL.g:8835:6: (lv_elements_3_0= ruleXAnnotationOrExpression )
                             {
-                            // InternalReportDSL.g:8526:6: (lv_elements_3_0= ruleXAnnotationOrExpression )
-                            // InternalReportDSL.g:8527:7: lv_elements_3_0= ruleXAnnotationOrExpression
+                            // InternalReportDSL.g:8835:6: (lv_elements_3_0= ruleXAnnotationOrExpression )
+                            // InternalReportDSL.g:8836:7: lv_elements_3_0= ruleXAnnotationOrExpression
                             {
                             if ( state.backtracking==0 ) {
 
                               							newCompositeNode(grammarAccess.getXAnnotationElementValueOrCommaListAccess().getElementsXAnnotationOrExpressionParserRuleCall_0_1_0_0());
                               						
                             }
-                            pushFollow(FOLLOW_133);
+                            pushFollow(FOLLOW_125);
                             lv_elements_3_0=ruleXAnnotationOrExpression();
 
                             state._fsp--;
@@ -22865,39 +23711,39 @@
 
                             }
 
-                            // InternalReportDSL.g:8544:5: (otherlv_4= ',' ( (lv_elements_5_0= ruleXAnnotationOrExpression ) ) )*
-                            loop117:
+                            // InternalReportDSL.g:8853:5: (otherlv_4= ',' ( (lv_elements_5_0= ruleXAnnotationOrExpression ) ) )*
+                            loop105:
                             do {
-                                int alt117=2;
-                                int LA117_0 = input.LA(1);
+                                int alt105=2;
+                                int LA105_0 = input.LA(1);
 
-                                if ( (LA117_0==134) ) {
-                                    alt117=1;
+                                if ( (LA105_0==133) ) {
+                                    alt105=1;
                                 }
 
 
-                                switch (alt117) {
+                                switch (alt105) {
                             	case 1 :
-                            	    // InternalReportDSL.g:8545:6: otherlv_4= ',' ( (lv_elements_5_0= ruleXAnnotationOrExpression ) )
+                            	    // InternalReportDSL.g:8854:6: otherlv_4= ',' ( (lv_elements_5_0= ruleXAnnotationOrExpression ) )
                             	    {
-                            	    otherlv_4=(Token)match(input,134,FOLLOW_130); if (state.failed) return current;
+                            	    otherlv_4=(Token)match(input,133,FOLLOW_122); if (state.failed) return current;
                             	    if ( state.backtracking==0 ) {
 
                             	      						newLeafNode(otherlv_4, grammarAccess.getXAnnotationElementValueOrCommaListAccess().getCommaKeyword_0_1_1_0());
                             	      					
                             	    }
-                            	    // InternalReportDSL.g:8549:6: ( (lv_elements_5_0= ruleXAnnotationOrExpression ) )
-                            	    // InternalReportDSL.g:8550:7: (lv_elements_5_0= ruleXAnnotationOrExpression )
+                            	    // InternalReportDSL.g:8858:6: ( (lv_elements_5_0= ruleXAnnotationOrExpression ) )
+                            	    // InternalReportDSL.g:8859:7: (lv_elements_5_0= ruleXAnnotationOrExpression )
                             	    {
-                            	    // InternalReportDSL.g:8550:7: (lv_elements_5_0= ruleXAnnotationOrExpression )
-                            	    // InternalReportDSL.g:8551:8: lv_elements_5_0= ruleXAnnotationOrExpression
+                            	    // InternalReportDSL.g:8859:7: (lv_elements_5_0= ruleXAnnotationOrExpression )
+                            	    // InternalReportDSL.g:8860:8: lv_elements_5_0= ruleXAnnotationOrExpression
                             	    {
                             	    if ( state.backtracking==0 ) {
 
                             	      								newCompositeNode(grammarAccess.getXAnnotationElementValueOrCommaListAccess().getElementsXAnnotationOrExpressionParserRuleCall_0_1_1_1_0());
                             	      							
                             	    }
-                            	    pushFollow(FOLLOW_133);
+                            	    pushFollow(FOLLOW_125);
                             	    lv_elements_5_0=ruleXAnnotationOrExpression();
 
                             	    state._fsp--;
@@ -22926,7 +23772,7 @@
                             	    break;
 
                             	default :
-                            	    break loop117;
+                            	    break loop105;
                                 }
                             } while (true);
 
@@ -22936,7 +23782,7 @@
 
                     }
 
-                    otherlv_6=(Token)match(input,138,FOLLOW_2); if (state.failed) return current;
+                    otherlv_6=(Token)match(input,137,FOLLOW_2); if (state.failed) return current;
                     if ( state.backtracking==0 ) {
 
                       				newLeafNode(otherlv_6, grammarAccess.getXAnnotationElementValueOrCommaListAccess().getRightSquareBracketKeyword_0_2());
@@ -22949,17 +23795,17 @@
                     }
                     break;
                 case 2 :
-                    // InternalReportDSL.g:8576:3: (this_XAnnotationOrExpression_7= ruleXAnnotationOrExpression ( () (otherlv_9= ',' ( (lv_elements_10_0= ruleXAnnotationOrExpression ) ) )+ )? )
+                    // InternalReportDSL.g:8885:3: (this_XAnnotationOrExpression_7= ruleXAnnotationOrExpression ( () (otherlv_9= ',' ( (lv_elements_10_0= ruleXAnnotationOrExpression ) ) )+ )? )
                     {
-                    // InternalReportDSL.g:8576:3: (this_XAnnotationOrExpression_7= ruleXAnnotationOrExpression ( () (otherlv_9= ',' ( (lv_elements_10_0= ruleXAnnotationOrExpression ) ) )+ )? )
-                    // InternalReportDSL.g:8577:4: this_XAnnotationOrExpression_7= ruleXAnnotationOrExpression ( () (otherlv_9= ',' ( (lv_elements_10_0= ruleXAnnotationOrExpression ) ) )+ )?
+                    // InternalReportDSL.g:8885:3: (this_XAnnotationOrExpression_7= ruleXAnnotationOrExpression ( () (otherlv_9= ',' ( (lv_elements_10_0= ruleXAnnotationOrExpression ) ) )+ )? )
+                    // InternalReportDSL.g:8886:4: this_XAnnotationOrExpression_7= ruleXAnnotationOrExpression ( () (otherlv_9= ',' ( (lv_elements_10_0= ruleXAnnotationOrExpression ) ) )+ )?
                     {
                     if ( state.backtracking==0 ) {
 
                       				newCompositeNode(grammarAccess.getXAnnotationElementValueOrCommaListAccess().getXAnnotationOrExpressionParserRuleCall_1_0());
                       			
                     }
-                    pushFollow(FOLLOW_134);
+                    pushFollow(FOLLOW_126);
                     this_XAnnotationOrExpression_7=ruleXAnnotationOrExpression();
 
                     state._fsp--;
@@ -22970,19 +23816,19 @@
                       				afterParserOrEnumRuleCall();
                       			
                     }
-                    // InternalReportDSL.g:8585:4: ( () (otherlv_9= ',' ( (lv_elements_10_0= ruleXAnnotationOrExpression ) ) )+ )?
-                    int alt120=2;
-                    int LA120_0 = input.LA(1);
+                    // InternalReportDSL.g:8894:4: ( () (otherlv_9= ',' ( (lv_elements_10_0= ruleXAnnotationOrExpression ) ) )+ )?
+                    int alt108=2;
+                    int LA108_0 = input.LA(1);
 
-                    if ( (LA120_0==134) ) {
-                        alt120=1;
+                    if ( (LA108_0==133) ) {
+                        alt108=1;
                     }
-                    switch (alt120) {
+                    switch (alt108) {
                         case 1 :
-                            // InternalReportDSL.g:8586:5: () (otherlv_9= ',' ( (lv_elements_10_0= ruleXAnnotationOrExpression ) ) )+
+                            // InternalReportDSL.g:8895:5: () (otherlv_9= ',' ( (lv_elements_10_0= ruleXAnnotationOrExpression ) ) )+
                             {
-                            // InternalReportDSL.g:8586:5: ()
-                            // InternalReportDSL.g:8587:6: 
+                            // InternalReportDSL.g:8895:5: ()
+                            // InternalReportDSL.g:8896:6: 
                             {
                             if ( state.backtracking==0 ) {
 
@@ -22994,40 +23840,40 @@
 
                             }
 
-                            // InternalReportDSL.g:8593:5: (otherlv_9= ',' ( (lv_elements_10_0= ruleXAnnotationOrExpression ) ) )+
-                            int cnt119=0;
-                            loop119:
+                            // InternalReportDSL.g:8902:5: (otherlv_9= ',' ( (lv_elements_10_0= ruleXAnnotationOrExpression ) ) )+
+                            int cnt107=0;
+                            loop107:
                             do {
-                                int alt119=2;
-                                int LA119_0 = input.LA(1);
+                                int alt107=2;
+                                int LA107_0 = input.LA(1);
 
-                                if ( (LA119_0==134) ) {
-                                    alt119=1;
+                                if ( (LA107_0==133) ) {
+                                    alt107=1;
                                 }
 
 
-                                switch (alt119) {
+                                switch (alt107) {
                             	case 1 :
-                            	    // InternalReportDSL.g:8594:6: otherlv_9= ',' ( (lv_elements_10_0= ruleXAnnotationOrExpression ) )
+                            	    // InternalReportDSL.g:8903:6: otherlv_9= ',' ( (lv_elements_10_0= ruleXAnnotationOrExpression ) )
                             	    {
-                            	    otherlv_9=(Token)match(input,134,FOLLOW_130); if (state.failed) return current;
+                            	    otherlv_9=(Token)match(input,133,FOLLOW_122); if (state.failed) return current;
                             	    if ( state.backtracking==0 ) {
 
                             	      						newLeafNode(otherlv_9, grammarAccess.getXAnnotationElementValueOrCommaListAccess().getCommaKeyword_1_1_1_0());
                             	      					
                             	    }
-                            	    // InternalReportDSL.g:8598:6: ( (lv_elements_10_0= ruleXAnnotationOrExpression ) )
-                            	    // InternalReportDSL.g:8599:7: (lv_elements_10_0= ruleXAnnotationOrExpression )
+                            	    // InternalReportDSL.g:8907:6: ( (lv_elements_10_0= ruleXAnnotationOrExpression ) )
+                            	    // InternalReportDSL.g:8908:7: (lv_elements_10_0= ruleXAnnotationOrExpression )
                             	    {
-                            	    // InternalReportDSL.g:8599:7: (lv_elements_10_0= ruleXAnnotationOrExpression )
-                            	    // InternalReportDSL.g:8600:8: lv_elements_10_0= ruleXAnnotationOrExpression
+                            	    // InternalReportDSL.g:8908:7: (lv_elements_10_0= ruleXAnnotationOrExpression )
+                            	    // InternalReportDSL.g:8909:8: lv_elements_10_0= ruleXAnnotationOrExpression
                             	    {
                             	    if ( state.backtracking==0 ) {
 
                             	      								newCompositeNode(grammarAccess.getXAnnotationElementValueOrCommaListAccess().getElementsXAnnotationOrExpressionParserRuleCall_1_1_1_1_0());
                             	      							
                             	    }
-                            	    pushFollow(FOLLOW_134);
+                            	    pushFollow(FOLLOW_126);
                             	    lv_elements_10_0=ruleXAnnotationOrExpression();
 
                             	    state._fsp--;
@@ -23056,13 +23902,13 @@
                             	    break;
 
                             	default :
-                            	    if ( cnt119 >= 1 ) break loop119;
+                            	    if ( cnt107 >= 1 ) break loop107;
                             	    if (state.backtracking>0) {state.failed=true; return current;}
                                         EarlyExitException eee =
-                                            new EarlyExitException(119, input);
+                                            new EarlyExitException(107, input);
                                         throw eee;
                                 }
-                                cnt119++;
+                                cnt107++;
                             } while (true);
 
 
@@ -23102,7 +23948,7 @@
 
 
     // $ANTLR start "entryRuleXAnnotationElementValue"
-    // InternalReportDSL.g:8624:1: entryRuleXAnnotationElementValue returns [EObject current=null] : iv_ruleXAnnotationElementValue= ruleXAnnotationElementValue EOF ;
+    // InternalReportDSL.g:8933:1: entryRuleXAnnotationElementValue returns [EObject current=null] : iv_ruleXAnnotationElementValue= ruleXAnnotationElementValue EOF ;
     public final EObject entryRuleXAnnotationElementValue() throws RecognitionException {
         EObject current = null;
 
@@ -23110,8 +23956,8 @@
 
 
         try {
-            // InternalReportDSL.g:8624:64: (iv_ruleXAnnotationElementValue= ruleXAnnotationElementValue EOF )
-            // InternalReportDSL.g:8625:2: iv_ruleXAnnotationElementValue= ruleXAnnotationElementValue EOF
+            // InternalReportDSL.g:8933:64: (iv_ruleXAnnotationElementValue= ruleXAnnotationElementValue EOF )
+            // InternalReportDSL.g:8934:2: iv_ruleXAnnotationElementValue= ruleXAnnotationElementValue EOF
             {
             if ( state.backtracking==0 ) {
                newCompositeNode(grammarAccess.getXAnnotationElementValueRule()); 
@@ -23142,7 +23988,7 @@
 
 
     // $ANTLR start "ruleXAnnotationElementValue"
-    // InternalReportDSL.g:8631:1: ruleXAnnotationElementValue returns [EObject current=null] : ( ( ( ( ( () '#' '[' ) )=> ( () otherlv_1= '#' otherlv_2= '[' ) ) ( ( (lv_elements_3_0= ruleXAnnotationOrExpression ) ) (otherlv_4= ',' ( (lv_elements_5_0= ruleXAnnotationOrExpression ) ) )* )? otherlv_6= ']' ) | this_XAnnotationOrExpression_7= ruleXAnnotationOrExpression ) ;
+    // InternalReportDSL.g:8940:1: ruleXAnnotationElementValue returns [EObject current=null] : ( ( ( ( ( () '#' '[' ) )=> ( () otherlv_1= '#' otherlv_2= '[' ) ) ( ( (lv_elements_3_0= ruleXAnnotationOrExpression ) ) (otherlv_4= ',' ( (lv_elements_5_0= ruleXAnnotationOrExpression ) ) )* )? otherlv_6= ']' ) | this_XAnnotationOrExpression_7= ruleXAnnotationOrExpression ) ;
     public final EObject ruleXAnnotationElementValue() throws RecognitionException {
         EObject current = null;
 
@@ -23161,27 +24007,27 @@
         	enterRule();
 
         try {
-            // InternalReportDSL.g:8637:2: ( ( ( ( ( ( () '#' '[' ) )=> ( () otherlv_1= '#' otherlv_2= '[' ) ) ( ( (lv_elements_3_0= ruleXAnnotationOrExpression ) ) (otherlv_4= ',' ( (lv_elements_5_0= ruleXAnnotationOrExpression ) ) )* )? otherlv_6= ']' ) | this_XAnnotationOrExpression_7= ruleXAnnotationOrExpression ) )
-            // InternalReportDSL.g:8638:2: ( ( ( ( ( () '#' '[' ) )=> ( () otherlv_1= '#' otherlv_2= '[' ) ) ( ( (lv_elements_3_0= ruleXAnnotationOrExpression ) ) (otherlv_4= ',' ( (lv_elements_5_0= ruleXAnnotationOrExpression ) ) )* )? otherlv_6= ']' ) | this_XAnnotationOrExpression_7= ruleXAnnotationOrExpression )
+            // InternalReportDSL.g:8946:2: ( ( ( ( ( ( () '#' '[' ) )=> ( () otherlv_1= '#' otherlv_2= '[' ) ) ( ( (lv_elements_3_0= ruleXAnnotationOrExpression ) ) (otherlv_4= ',' ( (lv_elements_5_0= ruleXAnnotationOrExpression ) ) )* )? otherlv_6= ']' ) | this_XAnnotationOrExpression_7= ruleXAnnotationOrExpression ) )
+            // InternalReportDSL.g:8947:2: ( ( ( ( ( () '#' '[' ) )=> ( () otherlv_1= '#' otherlv_2= '[' ) ) ( ( (lv_elements_3_0= ruleXAnnotationOrExpression ) ) (otherlv_4= ',' ( (lv_elements_5_0= ruleXAnnotationOrExpression ) ) )* )? otherlv_6= ']' ) | this_XAnnotationOrExpression_7= ruleXAnnotationOrExpression )
             {
-            // InternalReportDSL.g:8638:2: ( ( ( ( ( () '#' '[' ) )=> ( () otherlv_1= '#' otherlv_2= '[' ) ) ( ( (lv_elements_3_0= ruleXAnnotationOrExpression ) ) (otherlv_4= ',' ( (lv_elements_5_0= ruleXAnnotationOrExpression ) ) )* )? otherlv_6= ']' ) | this_XAnnotationOrExpression_7= ruleXAnnotationOrExpression )
-            int alt124=2;
-            alt124 = dfa124.predict(input);
-            switch (alt124) {
+            // InternalReportDSL.g:8947:2: ( ( ( ( ( () '#' '[' ) )=> ( () otherlv_1= '#' otherlv_2= '[' ) ) ( ( (lv_elements_3_0= ruleXAnnotationOrExpression ) ) (otherlv_4= ',' ( (lv_elements_5_0= ruleXAnnotationOrExpression ) ) )* )? otherlv_6= ']' ) | this_XAnnotationOrExpression_7= ruleXAnnotationOrExpression )
+            int alt112=2;
+            alt112 = dfa112.predict(input);
+            switch (alt112) {
                 case 1 :
-                    // InternalReportDSL.g:8639:3: ( ( ( ( () '#' '[' ) )=> ( () otherlv_1= '#' otherlv_2= '[' ) ) ( ( (lv_elements_3_0= ruleXAnnotationOrExpression ) ) (otherlv_4= ',' ( (lv_elements_5_0= ruleXAnnotationOrExpression ) ) )* )? otherlv_6= ']' )
+                    // InternalReportDSL.g:8948:3: ( ( ( ( () '#' '[' ) )=> ( () otherlv_1= '#' otherlv_2= '[' ) ) ( ( (lv_elements_3_0= ruleXAnnotationOrExpression ) ) (otherlv_4= ',' ( (lv_elements_5_0= ruleXAnnotationOrExpression ) ) )* )? otherlv_6= ']' )
                     {
-                    // InternalReportDSL.g:8639:3: ( ( ( ( () '#' '[' ) )=> ( () otherlv_1= '#' otherlv_2= '[' ) ) ( ( (lv_elements_3_0= ruleXAnnotationOrExpression ) ) (otherlv_4= ',' ( (lv_elements_5_0= ruleXAnnotationOrExpression ) ) )* )? otherlv_6= ']' )
-                    // InternalReportDSL.g:8640:4: ( ( ( () '#' '[' ) )=> ( () otherlv_1= '#' otherlv_2= '[' ) ) ( ( (lv_elements_3_0= ruleXAnnotationOrExpression ) ) (otherlv_4= ',' ( (lv_elements_5_0= ruleXAnnotationOrExpression ) ) )* )? otherlv_6= ']'
+                    // InternalReportDSL.g:8948:3: ( ( ( ( () '#' '[' ) )=> ( () otherlv_1= '#' otherlv_2= '[' ) ) ( ( (lv_elements_3_0= ruleXAnnotationOrExpression ) ) (otherlv_4= ',' ( (lv_elements_5_0= ruleXAnnotationOrExpression ) ) )* )? otherlv_6= ']' )
+                    // InternalReportDSL.g:8949:4: ( ( ( () '#' '[' ) )=> ( () otherlv_1= '#' otherlv_2= '[' ) ) ( ( (lv_elements_3_0= ruleXAnnotationOrExpression ) ) (otherlv_4= ',' ( (lv_elements_5_0= ruleXAnnotationOrExpression ) ) )* )? otherlv_6= ']'
                     {
-                    // InternalReportDSL.g:8640:4: ( ( ( () '#' '[' ) )=> ( () otherlv_1= '#' otherlv_2= '[' ) )
-                    // InternalReportDSL.g:8641:5: ( ( () '#' '[' ) )=> ( () otherlv_1= '#' otherlv_2= '[' )
+                    // InternalReportDSL.g:8949:4: ( ( ( () '#' '[' ) )=> ( () otherlv_1= '#' otherlv_2= '[' ) )
+                    // InternalReportDSL.g:8950:5: ( ( () '#' '[' ) )=> ( () otherlv_1= '#' otherlv_2= '[' )
                     {
-                    // InternalReportDSL.g:8648:5: ( () otherlv_1= '#' otherlv_2= '[' )
-                    // InternalReportDSL.g:8649:6: () otherlv_1= '#' otherlv_2= '['
+                    // InternalReportDSL.g:8957:5: ( () otherlv_1= '#' otherlv_2= '[' )
+                    // InternalReportDSL.g:8958:6: () otherlv_1= '#' otherlv_2= '['
                     {
-                    // InternalReportDSL.g:8649:6: ()
-                    // InternalReportDSL.g:8650:7: 
+                    // InternalReportDSL.g:8958:6: ()
+                    // InternalReportDSL.g:8959:7: 
                     {
                     if ( state.backtracking==0 ) {
 
@@ -23193,13 +24039,13 @@
 
                     }
 
-                    otherlv_1=(Token)match(input,136,FOLLOW_131); if (state.failed) return current;
+                    otherlv_1=(Token)match(input,135,FOLLOW_123); if (state.failed) return current;
                     if ( state.backtracking==0 ) {
 
                       						newLeafNode(otherlv_1, grammarAccess.getXAnnotationElementValueAccess().getNumberSignKeyword_0_0_0_1());
                       					
                     }
-                    otherlv_2=(Token)match(input,137,FOLLOW_132); if (state.failed) return current;
+                    otherlv_2=(Token)match(input,136,FOLLOW_124); if (state.failed) return current;
                     if ( state.backtracking==0 ) {
 
                       						newLeafNode(otherlv_2, grammarAccess.getXAnnotationElementValueAccess().getLeftSquareBracketKeyword_0_0_0_2());
@@ -23211,29 +24057,29 @@
 
                     }
 
-                    // InternalReportDSL.g:8666:4: ( ( (lv_elements_3_0= ruleXAnnotationOrExpression ) ) (otherlv_4= ',' ( (lv_elements_5_0= ruleXAnnotationOrExpression ) ) )* )?
-                    int alt123=2;
-                    int LA123_0 = input.LA(1);
+                    // InternalReportDSL.g:8975:4: ( ( (lv_elements_3_0= ruleXAnnotationOrExpression ) ) (otherlv_4= ',' ( (lv_elements_5_0= ruleXAnnotationOrExpression ) ) )* )?
+                    int alt111=2;
+                    int LA111_0 = input.LA(1);
 
-                    if ( ((LA123_0>=RULE_STRING && LA123_0<=RULE_DECIMAL)||LA123_0==14||LA123_0==39||LA123_0==103||LA123_0==116||(LA123_0>=127 && LA123_0<=129)||LA123_0==133||(LA123_0>=136 && LA123_0<=137)||LA123_0==144||LA123_0==160||LA123_0==164||LA123_0==171||LA123_0==173||(LA123_0>=177 && LA123_0<=179)||(LA123_0>=182 && LA123_0<=190)||LA123_0==192) ) {
-                        alt123=1;
+                    if ( ((LA111_0>=RULE_STRING && LA111_0<=RULE_DECIMAL)||LA111_0==14||LA111_0==39||LA111_0==102||LA111_0==115||(LA111_0>=126 && LA111_0<=128)||LA111_0==132||(LA111_0>=135 && LA111_0<=136)||LA111_0==143||LA111_0==159||LA111_0==163||LA111_0==170||LA111_0==172||(LA111_0>=176 && LA111_0<=178)||(LA111_0>=181 && LA111_0<=189)||LA111_0==191) ) {
+                        alt111=1;
                     }
-                    switch (alt123) {
+                    switch (alt111) {
                         case 1 :
-                            // InternalReportDSL.g:8667:5: ( (lv_elements_3_0= ruleXAnnotationOrExpression ) ) (otherlv_4= ',' ( (lv_elements_5_0= ruleXAnnotationOrExpression ) ) )*
+                            // InternalReportDSL.g:8976:5: ( (lv_elements_3_0= ruleXAnnotationOrExpression ) ) (otherlv_4= ',' ( (lv_elements_5_0= ruleXAnnotationOrExpression ) ) )*
                             {
-                            // InternalReportDSL.g:8667:5: ( (lv_elements_3_0= ruleXAnnotationOrExpression ) )
-                            // InternalReportDSL.g:8668:6: (lv_elements_3_0= ruleXAnnotationOrExpression )
+                            // InternalReportDSL.g:8976:5: ( (lv_elements_3_0= ruleXAnnotationOrExpression ) )
+                            // InternalReportDSL.g:8977:6: (lv_elements_3_0= ruleXAnnotationOrExpression )
                             {
-                            // InternalReportDSL.g:8668:6: (lv_elements_3_0= ruleXAnnotationOrExpression )
-                            // InternalReportDSL.g:8669:7: lv_elements_3_0= ruleXAnnotationOrExpression
+                            // InternalReportDSL.g:8977:6: (lv_elements_3_0= ruleXAnnotationOrExpression )
+                            // InternalReportDSL.g:8978:7: lv_elements_3_0= ruleXAnnotationOrExpression
                             {
                             if ( state.backtracking==0 ) {
 
                               							newCompositeNode(grammarAccess.getXAnnotationElementValueAccess().getElementsXAnnotationOrExpressionParserRuleCall_0_1_0_0());
                               						
                             }
-                            pushFollow(FOLLOW_133);
+                            pushFollow(FOLLOW_125);
                             lv_elements_3_0=ruleXAnnotationOrExpression();
 
                             state._fsp--;
@@ -23257,39 +24103,39 @@
 
                             }
 
-                            // InternalReportDSL.g:8686:5: (otherlv_4= ',' ( (lv_elements_5_0= ruleXAnnotationOrExpression ) ) )*
-                            loop122:
+                            // InternalReportDSL.g:8995:5: (otherlv_4= ',' ( (lv_elements_5_0= ruleXAnnotationOrExpression ) ) )*
+                            loop110:
                             do {
-                                int alt122=2;
-                                int LA122_0 = input.LA(1);
+                                int alt110=2;
+                                int LA110_0 = input.LA(1);
 
-                                if ( (LA122_0==134) ) {
-                                    alt122=1;
+                                if ( (LA110_0==133) ) {
+                                    alt110=1;
                                 }
 
 
-                                switch (alt122) {
+                                switch (alt110) {
                             	case 1 :
-                            	    // InternalReportDSL.g:8687:6: otherlv_4= ',' ( (lv_elements_5_0= ruleXAnnotationOrExpression ) )
+                            	    // InternalReportDSL.g:8996:6: otherlv_4= ',' ( (lv_elements_5_0= ruleXAnnotationOrExpression ) )
                             	    {
-                            	    otherlv_4=(Token)match(input,134,FOLLOW_130); if (state.failed) return current;
+                            	    otherlv_4=(Token)match(input,133,FOLLOW_122); if (state.failed) return current;
                             	    if ( state.backtracking==0 ) {
 
                             	      						newLeafNode(otherlv_4, grammarAccess.getXAnnotationElementValueAccess().getCommaKeyword_0_1_1_0());
                             	      					
                             	    }
-                            	    // InternalReportDSL.g:8691:6: ( (lv_elements_5_0= ruleXAnnotationOrExpression ) )
-                            	    // InternalReportDSL.g:8692:7: (lv_elements_5_0= ruleXAnnotationOrExpression )
+                            	    // InternalReportDSL.g:9000:6: ( (lv_elements_5_0= ruleXAnnotationOrExpression ) )
+                            	    // InternalReportDSL.g:9001:7: (lv_elements_5_0= ruleXAnnotationOrExpression )
                             	    {
-                            	    // InternalReportDSL.g:8692:7: (lv_elements_5_0= ruleXAnnotationOrExpression )
-                            	    // InternalReportDSL.g:8693:8: lv_elements_5_0= ruleXAnnotationOrExpression
+                            	    // InternalReportDSL.g:9001:7: (lv_elements_5_0= ruleXAnnotationOrExpression )
+                            	    // InternalReportDSL.g:9002:8: lv_elements_5_0= ruleXAnnotationOrExpression
                             	    {
                             	    if ( state.backtracking==0 ) {
 
                             	      								newCompositeNode(grammarAccess.getXAnnotationElementValueAccess().getElementsXAnnotationOrExpressionParserRuleCall_0_1_1_1_0());
                             	      							
                             	    }
-                            	    pushFollow(FOLLOW_133);
+                            	    pushFollow(FOLLOW_125);
                             	    lv_elements_5_0=ruleXAnnotationOrExpression();
 
                             	    state._fsp--;
@@ -23318,7 +24164,7 @@
                             	    break;
 
                             	default :
-                            	    break loop122;
+                            	    break loop110;
                                 }
                             } while (true);
 
@@ -23328,7 +24174,7 @@
 
                     }
 
-                    otherlv_6=(Token)match(input,138,FOLLOW_2); if (state.failed) return current;
+                    otherlv_6=(Token)match(input,137,FOLLOW_2); if (state.failed) return current;
                     if ( state.backtracking==0 ) {
 
                       				newLeafNode(otherlv_6, grammarAccess.getXAnnotationElementValueAccess().getRightSquareBracketKeyword_0_2());
@@ -23341,7 +24187,7 @@
                     }
                     break;
                 case 2 :
-                    // InternalReportDSL.g:8718:3: this_XAnnotationOrExpression_7= ruleXAnnotationOrExpression
+                    // InternalReportDSL.g:9027:3: this_XAnnotationOrExpression_7= ruleXAnnotationOrExpression
                     {
                     if ( state.backtracking==0 ) {
 
@@ -23387,7 +24233,7 @@
 
 
     // $ANTLR start "entryRuleXAnnotationOrExpression"
-    // InternalReportDSL.g:8730:1: entryRuleXAnnotationOrExpression returns [EObject current=null] : iv_ruleXAnnotationOrExpression= ruleXAnnotationOrExpression EOF ;
+    // InternalReportDSL.g:9039:1: entryRuleXAnnotationOrExpression returns [EObject current=null] : iv_ruleXAnnotationOrExpression= ruleXAnnotationOrExpression EOF ;
     public final EObject entryRuleXAnnotationOrExpression() throws RecognitionException {
         EObject current = null;
 
@@ -23395,8 +24241,8 @@
 
 
         try {
-            // InternalReportDSL.g:8730:64: (iv_ruleXAnnotationOrExpression= ruleXAnnotationOrExpression EOF )
-            // InternalReportDSL.g:8731:2: iv_ruleXAnnotationOrExpression= ruleXAnnotationOrExpression EOF
+            // InternalReportDSL.g:9039:64: (iv_ruleXAnnotationOrExpression= ruleXAnnotationOrExpression EOF )
+            // InternalReportDSL.g:9040:2: iv_ruleXAnnotationOrExpression= ruleXAnnotationOrExpression EOF
             {
             if ( state.backtracking==0 ) {
                newCompositeNode(grammarAccess.getXAnnotationOrExpressionRule()); 
@@ -23427,7 +24273,7 @@
 
 
     // $ANTLR start "ruleXAnnotationOrExpression"
-    // InternalReportDSL.g:8737:1: ruleXAnnotationOrExpression returns [EObject current=null] : (this_XAnnotation_0= ruleXAnnotation | this_XExpression_1= ruleXExpression ) ;
+    // InternalReportDSL.g:9046:1: ruleXAnnotationOrExpression returns [EObject current=null] : (this_XAnnotation_0= ruleXAnnotation | this_XExpression_1= ruleXExpression ) ;
     public final EObject ruleXAnnotationOrExpression() throws RecognitionException {
         EObject current = null;
 
@@ -23440,29 +24286,29 @@
         	enterRule();
 
         try {
-            // InternalReportDSL.g:8743:2: ( (this_XAnnotation_0= ruleXAnnotation | this_XExpression_1= ruleXExpression ) )
-            // InternalReportDSL.g:8744:2: (this_XAnnotation_0= ruleXAnnotation | this_XExpression_1= ruleXExpression )
+            // InternalReportDSL.g:9052:2: ( (this_XAnnotation_0= ruleXAnnotation | this_XExpression_1= ruleXExpression ) )
+            // InternalReportDSL.g:9053:2: (this_XAnnotation_0= ruleXAnnotation | this_XExpression_1= ruleXExpression )
             {
-            // InternalReportDSL.g:8744:2: (this_XAnnotation_0= ruleXAnnotation | this_XExpression_1= ruleXExpression )
-            int alt125=2;
-            int LA125_0 = input.LA(1);
+            // InternalReportDSL.g:9053:2: (this_XAnnotation_0= ruleXAnnotation | this_XExpression_1= ruleXExpression )
+            int alt113=2;
+            int LA113_0 = input.LA(1);
 
-            if ( (LA125_0==133) ) {
-                alt125=1;
+            if ( (LA113_0==132) ) {
+                alt113=1;
             }
-            else if ( ((LA125_0>=RULE_STRING && LA125_0<=RULE_DECIMAL)||LA125_0==14||LA125_0==39||LA125_0==103||LA125_0==116||(LA125_0>=127 && LA125_0<=129)||(LA125_0>=136 && LA125_0<=137)||LA125_0==144||LA125_0==160||LA125_0==164||LA125_0==171||LA125_0==173||(LA125_0>=177 && LA125_0<=179)||(LA125_0>=182 && LA125_0<=190)||LA125_0==192) ) {
-                alt125=2;
+            else if ( ((LA113_0>=RULE_STRING && LA113_0<=RULE_DECIMAL)||LA113_0==14||LA113_0==39||LA113_0==102||LA113_0==115||(LA113_0>=126 && LA113_0<=128)||(LA113_0>=135 && LA113_0<=136)||LA113_0==143||LA113_0==159||LA113_0==163||LA113_0==170||LA113_0==172||(LA113_0>=176 && LA113_0<=178)||(LA113_0>=181 && LA113_0<=189)||LA113_0==191) ) {
+                alt113=2;
             }
             else {
                 if (state.backtracking>0) {state.failed=true; return current;}
                 NoViableAltException nvae =
-                    new NoViableAltException("", 125, 0, input);
+                    new NoViableAltException("", 113, 0, input);
 
                 throw nvae;
             }
-            switch (alt125) {
+            switch (alt113) {
                 case 1 :
-                    // InternalReportDSL.g:8745:3: this_XAnnotation_0= ruleXAnnotation
+                    // InternalReportDSL.g:9054:3: this_XAnnotation_0= ruleXAnnotation
                     {
                     if ( state.backtracking==0 ) {
 
@@ -23484,7 +24330,7 @@
                     }
                     break;
                 case 2 :
-                    // InternalReportDSL.g:8754:3: this_XExpression_1= ruleXExpression
+                    // InternalReportDSL.g:9063:3: this_XExpression_1= ruleXExpression
                     {
                     if ( state.backtracking==0 ) {
 
@@ -23530,7 +24376,7 @@
 
 
     // $ANTLR start "entryRuleXExpression"
-    // InternalReportDSL.g:8766:1: entryRuleXExpression returns [EObject current=null] : iv_ruleXExpression= ruleXExpression EOF ;
+    // InternalReportDSL.g:9075:1: entryRuleXExpression returns [EObject current=null] : iv_ruleXExpression= ruleXExpression EOF ;
     public final EObject entryRuleXExpression() throws RecognitionException {
         EObject current = null;
 
@@ -23538,8 +24384,8 @@
 
 
         try {
-            // InternalReportDSL.g:8766:52: (iv_ruleXExpression= ruleXExpression EOF )
-            // InternalReportDSL.g:8767:2: iv_ruleXExpression= ruleXExpression EOF
+            // InternalReportDSL.g:9075:52: (iv_ruleXExpression= ruleXExpression EOF )
+            // InternalReportDSL.g:9076:2: iv_ruleXExpression= ruleXExpression EOF
             {
             if ( state.backtracking==0 ) {
                newCompositeNode(grammarAccess.getXExpressionRule()); 
@@ -23570,7 +24416,7 @@
 
 
     // $ANTLR start "ruleXExpression"
-    // InternalReportDSL.g:8773:1: ruleXExpression returns [EObject current=null] : this_XAssignment_0= ruleXAssignment ;
+    // InternalReportDSL.g:9082:1: ruleXExpression returns [EObject current=null] : this_XAssignment_0= ruleXAssignment ;
     public final EObject ruleXExpression() throws RecognitionException {
         EObject current = null;
 
@@ -23581,8 +24427,8 @@
         	enterRule();
 
         try {
-            // InternalReportDSL.g:8779:2: (this_XAssignment_0= ruleXAssignment )
-            // InternalReportDSL.g:8780:2: this_XAssignment_0= ruleXAssignment
+            // InternalReportDSL.g:9088:2: (this_XAssignment_0= ruleXAssignment )
+            // InternalReportDSL.g:9089:2: this_XAssignment_0= ruleXAssignment
             {
             if ( state.backtracking==0 ) {
 
@@ -23622,7 +24468,7 @@
 
 
     // $ANTLR start "entryRuleXAssignment"
-    // InternalReportDSL.g:8791:1: entryRuleXAssignment returns [EObject current=null] : iv_ruleXAssignment= ruleXAssignment EOF ;
+    // InternalReportDSL.g:9100:1: entryRuleXAssignment returns [EObject current=null] : iv_ruleXAssignment= ruleXAssignment EOF ;
     public final EObject entryRuleXAssignment() throws RecognitionException {
         EObject current = null;
 
@@ -23630,8 +24476,8 @@
 
 
         try {
-            // InternalReportDSL.g:8791:52: (iv_ruleXAssignment= ruleXAssignment EOF )
-            // InternalReportDSL.g:8792:2: iv_ruleXAssignment= ruleXAssignment EOF
+            // InternalReportDSL.g:9100:52: (iv_ruleXAssignment= ruleXAssignment EOF )
+            // InternalReportDSL.g:9101:2: iv_ruleXAssignment= ruleXAssignment EOF
             {
             if ( state.backtracking==0 ) {
                newCompositeNode(grammarAccess.getXAssignmentRule()); 
@@ -23662,7 +24508,7 @@
 
 
     // $ANTLR start "ruleXAssignment"
-    // InternalReportDSL.g:8798:1: ruleXAssignment returns [EObject current=null] : ( ( () ( ( ruleFeatureCallID ) ) ruleOpSingleAssign ( (lv_value_3_0= ruleXAssignment ) ) ) | (this_XOrExpression_4= ruleXOrExpression ( ( ( ( () ( ( ruleOpMultiAssign ) ) ) )=> ( () ( ( ruleOpMultiAssign ) ) ) ) ( (lv_rightOperand_7_0= ruleXAssignment ) ) )? ) ) ;
+    // InternalReportDSL.g:9107:1: ruleXAssignment returns [EObject current=null] : ( ( () ( ( ruleFeatureCallID ) ) ruleOpSingleAssign ( (lv_value_3_0= ruleXAssignment ) ) ) | (this_XOrExpression_4= ruleXOrExpression ( ( ( ( () ( ( ruleOpMultiAssign ) ) ) )=> ( () ( ( ruleOpMultiAssign ) ) ) ) ( (lv_rightOperand_7_0= ruleXAssignment ) ) )? ) ) ;
     public final EObject ruleXAssignment() throws RecognitionException {
         EObject current = null;
 
@@ -23677,26 +24523,26 @@
         	enterRule();
 
         try {
-            // InternalReportDSL.g:8804:2: ( ( ( () ( ( ruleFeatureCallID ) ) ruleOpSingleAssign ( (lv_value_3_0= ruleXAssignment ) ) ) | (this_XOrExpression_4= ruleXOrExpression ( ( ( ( () ( ( ruleOpMultiAssign ) ) ) )=> ( () ( ( ruleOpMultiAssign ) ) ) ) ( (lv_rightOperand_7_0= ruleXAssignment ) ) )? ) ) )
-            // InternalReportDSL.g:8805:2: ( ( () ( ( ruleFeatureCallID ) ) ruleOpSingleAssign ( (lv_value_3_0= ruleXAssignment ) ) ) | (this_XOrExpression_4= ruleXOrExpression ( ( ( ( () ( ( ruleOpMultiAssign ) ) ) )=> ( () ( ( ruleOpMultiAssign ) ) ) ) ( (lv_rightOperand_7_0= ruleXAssignment ) ) )? ) )
+            // InternalReportDSL.g:9113:2: ( ( ( () ( ( ruleFeatureCallID ) ) ruleOpSingleAssign ( (lv_value_3_0= ruleXAssignment ) ) ) | (this_XOrExpression_4= ruleXOrExpression ( ( ( ( () ( ( ruleOpMultiAssign ) ) ) )=> ( () ( ( ruleOpMultiAssign ) ) ) ) ( (lv_rightOperand_7_0= ruleXAssignment ) ) )? ) ) )
+            // InternalReportDSL.g:9114:2: ( ( () ( ( ruleFeatureCallID ) ) ruleOpSingleAssign ( (lv_value_3_0= ruleXAssignment ) ) ) | (this_XOrExpression_4= ruleXOrExpression ( ( ( ( () ( ( ruleOpMultiAssign ) ) ) )=> ( () ( ( ruleOpMultiAssign ) ) ) ) ( (lv_rightOperand_7_0= ruleXAssignment ) ) )? ) )
             {
-            // InternalReportDSL.g:8805:2: ( ( () ( ( ruleFeatureCallID ) ) ruleOpSingleAssign ( (lv_value_3_0= ruleXAssignment ) ) ) | (this_XOrExpression_4= ruleXOrExpression ( ( ( ( () ( ( ruleOpMultiAssign ) ) ) )=> ( () ( ( ruleOpMultiAssign ) ) ) ) ( (lv_rightOperand_7_0= ruleXAssignment ) ) )? ) )
-            int alt127=2;
+            // InternalReportDSL.g:9114:2: ( ( () ( ( ruleFeatureCallID ) ) ruleOpSingleAssign ( (lv_value_3_0= ruleXAssignment ) ) ) | (this_XOrExpression_4= ruleXOrExpression ( ( ( ( () ( ( ruleOpMultiAssign ) ) ) )=> ( () ( ( ruleOpMultiAssign ) ) ) ) ( (lv_rightOperand_7_0= ruleXAssignment ) ) )? ) )
+            int alt115=2;
             switch ( input.LA(1) ) {
             case RULE_ID:
                 {
-                int LA127_1 = input.LA(2);
+                int LA115_1 = input.LA(2);
 
-                if ( (LA127_1==135) ) {
-                    alt127=1;
+                if ( (LA115_1==134) ) {
+                    alt115=1;
                 }
-                else if ( (LA127_1==EOF||(LA127_1>=RULE_STRING && LA127_1<=RULE_DECIMAL)||LA127_1==14||LA127_1==18||LA127_1==39||LA127_1==84||(LA127_1>=103 && LA127_1<=104)||LA127_1==116||(LA127_1>=127 && LA127_1<=130)||LA127_1==132||LA127_1==134||(LA127_1>=136 && LA127_1<=169)||(LA127_1>=171 && LA127_1<=193)) ) {
-                    alt127=2;
+                else if ( (LA115_1==EOF||(LA115_1>=RULE_STRING && LA115_1<=RULE_DECIMAL)||LA115_1==14||LA115_1==18||LA115_1==39||LA115_1==85||(LA115_1>=102 && LA115_1<=103)||LA115_1==115||(LA115_1>=126 && LA115_1<=129)||LA115_1==131||LA115_1==133||(LA115_1>=135 && LA115_1<=168)||(LA115_1>=170 && LA115_1<=192)) ) {
+                    alt115=2;
                 }
                 else {
                     if (state.backtracking>0) {state.failed=true; return current;}
                     NoViableAltException nvae =
-                        new NoViableAltException("", 127, 1, input);
+                        new NoViableAltException("", 115, 1, input);
 
                     throw nvae;
                 }
@@ -23704,37 +24550,18 @@
                 break;
             case 39:
                 {
-                int LA127_2 = input.LA(2);
+                int LA115_2 = input.LA(2);
 
-                if ( (LA127_2==135) ) {
-                    alt127=1;
+                if ( (LA115_2==EOF||(LA115_2>=RULE_STRING && LA115_2<=RULE_DECIMAL)||LA115_2==14||LA115_2==18||LA115_2==39||LA115_2==85||(LA115_2>=102 && LA115_2<=103)||LA115_2==115||(LA115_2>=126 && LA115_2<=129)||LA115_2==131||LA115_2==133||(LA115_2>=135 && LA115_2<=168)||(LA115_2>=170 && LA115_2<=192)) ) {
+                    alt115=2;
                 }
-                else if ( (LA127_2==EOF||(LA127_2>=RULE_STRING && LA127_2<=RULE_DECIMAL)||LA127_2==14||LA127_2==18||LA127_2==39||LA127_2==84||(LA127_2>=103 && LA127_2<=104)||LA127_2==116||(LA127_2>=127 && LA127_2<=130)||LA127_2==132||LA127_2==134||(LA127_2>=136 && LA127_2<=169)||(LA127_2>=171 && LA127_2<=193)) ) {
-                    alt127=2;
+                else if ( (LA115_2==134) ) {
+                    alt115=1;
                 }
                 else {
                     if (state.backtracking>0) {state.failed=true; return current;}
                     NoViableAltException nvae =
-                        new NoViableAltException("", 127, 2, input);
-
-                    throw nvae;
-                }
-                }
-                break;
-            case 128:
-                {
-                int LA127_3 = input.LA(2);
-
-                if ( (LA127_3==135) ) {
-                    alt127=1;
-                }
-                else if ( (LA127_3==EOF||(LA127_3>=RULE_STRING && LA127_3<=RULE_DECIMAL)||LA127_3==14||LA127_3==18||LA127_3==39||LA127_3==84||(LA127_3>=103 && LA127_3<=104)||LA127_3==116||(LA127_3>=127 && LA127_3<=130)||LA127_3==132||LA127_3==134||(LA127_3>=136 && LA127_3<=169)||(LA127_3>=171 && LA127_3<=193)) ) {
-                    alt127=2;
-                }
-                else {
-                    if (state.backtracking>0) {state.failed=true; return current;}
-                    NoViableAltException nvae =
-                        new NoViableAltException("", 127, 3, input);
+                        new NoViableAltException("", 115, 2, input);
 
                     throw nvae;
                 }
@@ -23742,37 +24569,56 @@
                 break;
             case 127:
                 {
-                int LA127_4 = input.LA(2);
+                int LA115_3 = input.LA(2);
 
-                if ( (LA127_4==135) ) {
-                    alt127=1;
+                if ( (LA115_3==EOF||(LA115_3>=RULE_STRING && LA115_3<=RULE_DECIMAL)||LA115_3==14||LA115_3==18||LA115_3==39||LA115_3==85||(LA115_3>=102 && LA115_3<=103)||LA115_3==115||(LA115_3>=126 && LA115_3<=129)||LA115_3==131||LA115_3==133||(LA115_3>=135 && LA115_3<=168)||(LA115_3>=170 && LA115_3<=192)) ) {
+                    alt115=2;
                 }
-                else if ( (LA127_4==EOF||(LA127_4>=RULE_STRING && LA127_4<=RULE_DECIMAL)||LA127_4==14||LA127_4==18||LA127_4==39||LA127_4==84||(LA127_4>=103 && LA127_4<=104)||LA127_4==116||(LA127_4>=127 && LA127_4<=130)||LA127_4==132||LA127_4==134||(LA127_4>=136 && LA127_4<=169)||(LA127_4>=171 && LA127_4<=193)) ) {
-                    alt127=2;
+                else if ( (LA115_3==134) ) {
+                    alt115=1;
                 }
                 else {
                     if (state.backtracking>0) {state.failed=true; return current;}
                     NoViableAltException nvae =
-                        new NoViableAltException("", 127, 4, input);
+                        new NoViableAltException("", 115, 3, input);
 
                     throw nvae;
                 }
                 }
                 break;
-            case 129:
+            case 126:
                 {
-                int LA127_5 = input.LA(2);
+                int LA115_4 = input.LA(2);
 
-                if ( (LA127_5==EOF||(LA127_5>=RULE_STRING && LA127_5<=RULE_DECIMAL)||LA127_5==14||LA127_5==18||LA127_5==39||LA127_5==84||(LA127_5>=103 && LA127_5<=104)||LA127_5==116||(LA127_5>=127 && LA127_5<=130)||LA127_5==132||LA127_5==134||(LA127_5>=136 && LA127_5<=169)||(LA127_5>=171 && LA127_5<=193)) ) {
-                    alt127=2;
+                if ( (LA115_4==134) ) {
+                    alt115=1;
                 }
-                else if ( (LA127_5==135) ) {
-                    alt127=1;
+                else if ( (LA115_4==EOF||(LA115_4>=RULE_STRING && LA115_4<=RULE_DECIMAL)||LA115_4==14||LA115_4==18||LA115_4==39||LA115_4==85||(LA115_4>=102 && LA115_4<=103)||LA115_4==115||(LA115_4>=126 && LA115_4<=129)||LA115_4==131||LA115_4==133||(LA115_4>=135 && LA115_4<=168)||(LA115_4>=170 && LA115_4<=192)) ) {
+                    alt115=2;
                 }
                 else {
                     if (state.backtracking>0) {state.failed=true; return current;}
                     NoViableAltException nvae =
-                        new NoViableAltException("", 127, 5, input);
+                        new NoViableAltException("", 115, 4, input);
+
+                    throw nvae;
+                }
+                }
+                break;
+            case 128:
+                {
+                int LA115_5 = input.LA(2);
+
+                if ( (LA115_5==EOF||(LA115_5>=RULE_STRING && LA115_5<=RULE_DECIMAL)||LA115_5==14||LA115_5==18||LA115_5==39||LA115_5==85||(LA115_5>=102 && LA115_5<=103)||LA115_5==115||(LA115_5>=126 && LA115_5<=129)||LA115_5==131||LA115_5==133||(LA115_5>=135 && LA115_5<=168)||(LA115_5>=170 && LA115_5<=192)) ) {
+                    alt115=2;
+                }
+                else if ( (LA115_5==134) ) {
+                    alt115=1;
+                }
+                else {
+                    if (state.backtracking>0) {state.failed=true; return current;}
+                    NoViableAltException nvae =
+                        new NoViableAltException("", 115, 5, input);
 
                     throw nvae;
                 }
@@ -23783,18 +24629,19 @@
             case RULE_HEX:
             case RULE_DECIMAL:
             case 14:
-            case 103:
-            case 116:
+            case 102:
+            case 115:
+            case 135:
             case 136:
-            case 137:
-            case 144:
-            case 160:
-            case 164:
-            case 171:
-            case 173:
+            case 143:
+            case 159:
+            case 163:
+            case 170:
+            case 172:
+            case 176:
             case 177:
             case 178:
-            case 179:
+            case 181:
             case 182:
             case 183:
             case 184:
@@ -23803,29 +24650,28 @@
             case 187:
             case 188:
             case 189:
-            case 190:
-            case 192:
+            case 191:
                 {
-                alt127=2;
+                alt115=2;
                 }
                 break;
             default:
                 if (state.backtracking>0) {state.failed=true; return current;}
                 NoViableAltException nvae =
-                    new NoViableAltException("", 127, 0, input);
+                    new NoViableAltException("", 115, 0, input);
 
                 throw nvae;
             }
 
-            switch (alt127) {
+            switch (alt115) {
                 case 1 :
-                    // InternalReportDSL.g:8806:3: ( () ( ( ruleFeatureCallID ) ) ruleOpSingleAssign ( (lv_value_3_0= ruleXAssignment ) ) )
+                    // InternalReportDSL.g:9115:3: ( () ( ( ruleFeatureCallID ) ) ruleOpSingleAssign ( (lv_value_3_0= ruleXAssignment ) ) )
                     {
-                    // InternalReportDSL.g:8806:3: ( () ( ( ruleFeatureCallID ) ) ruleOpSingleAssign ( (lv_value_3_0= ruleXAssignment ) ) )
-                    // InternalReportDSL.g:8807:4: () ( ( ruleFeatureCallID ) ) ruleOpSingleAssign ( (lv_value_3_0= ruleXAssignment ) )
+                    // InternalReportDSL.g:9115:3: ( () ( ( ruleFeatureCallID ) ) ruleOpSingleAssign ( (lv_value_3_0= ruleXAssignment ) ) )
+                    // InternalReportDSL.g:9116:4: () ( ( ruleFeatureCallID ) ) ruleOpSingleAssign ( (lv_value_3_0= ruleXAssignment ) )
                     {
-                    // InternalReportDSL.g:8807:4: ()
-                    // InternalReportDSL.g:8808:5: 
+                    // InternalReportDSL.g:9116:4: ()
+                    // InternalReportDSL.g:9117:5: 
                     {
                     if ( state.backtracking==0 ) {
 
@@ -23837,11 +24683,11 @@
 
                     }
 
-                    // InternalReportDSL.g:8814:4: ( ( ruleFeatureCallID ) )
-                    // InternalReportDSL.g:8815:5: ( ruleFeatureCallID )
+                    // InternalReportDSL.g:9123:4: ( ( ruleFeatureCallID ) )
+                    // InternalReportDSL.g:9124:5: ( ruleFeatureCallID )
                     {
-                    // InternalReportDSL.g:8815:5: ( ruleFeatureCallID )
-                    // InternalReportDSL.g:8816:6: ruleFeatureCallID
+                    // InternalReportDSL.g:9124:5: ( ruleFeatureCallID )
+                    // InternalReportDSL.g:9125:6: ruleFeatureCallID
                     {
                     if ( state.backtracking==0 ) {
 
@@ -23855,7 +24701,7 @@
                       						newCompositeNode(grammarAccess.getXAssignmentAccess().getFeatureJvmIdentifiableElementCrossReference_0_1_0());
                       					
                     }
-                    pushFollow(FOLLOW_129);
+                    pushFollow(FOLLOW_121);
                     ruleFeatureCallID();
 
                     state._fsp--;
@@ -23876,7 +24722,7 @@
                       				newCompositeNode(grammarAccess.getXAssignmentAccess().getOpSingleAssignParserRuleCall_0_2());
                       			
                     }
-                    pushFollow(FOLLOW_130);
+                    pushFollow(FOLLOW_122);
                     ruleOpSingleAssign();
 
                     state._fsp--;
@@ -23886,11 +24732,11 @@
                       				afterParserOrEnumRuleCall();
                       			
                     }
-                    // InternalReportDSL.g:8837:4: ( (lv_value_3_0= ruleXAssignment ) )
-                    // InternalReportDSL.g:8838:5: (lv_value_3_0= ruleXAssignment )
+                    // InternalReportDSL.g:9146:4: ( (lv_value_3_0= ruleXAssignment ) )
+                    // InternalReportDSL.g:9147:5: (lv_value_3_0= ruleXAssignment )
                     {
-                    // InternalReportDSL.g:8838:5: (lv_value_3_0= ruleXAssignment )
-                    // InternalReportDSL.g:8839:6: lv_value_3_0= ruleXAssignment
+                    // InternalReportDSL.g:9147:5: (lv_value_3_0= ruleXAssignment )
+                    // InternalReportDSL.g:9148:6: lv_value_3_0= ruleXAssignment
                     {
                     if ( state.backtracking==0 ) {
 
@@ -23928,17 +24774,17 @@
                     }
                     break;
                 case 2 :
-                    // InternalReportDSL.g:8858:3: (this_XOrExpression_4= ruleXOrExpression ( ( ( ( () ( ( ruleOpMultiAssign ) ) ) )=> ( () ( ( ruleOpMultiAssign ) ) ) ) ( (lv_rightOperand_7_0= ruleXAssignment ) ) )? )
+                    // InternalReportDSL.g:9167:3: (this_XOrExpression_4= ruleXOrExpression ( ( ( ( () ( ( ruleOpMultiAssign ) ) ) )=> ( () ( ( ruleOpMultiAssign ) ) ) ) ( (lv_rightOperand_7_0= ruleXAssignment ) ) )? )
                     {
-                    // InternalReportDSL.g:8858:3: (this_XOrExpression_4= ruleXOrExpression ( ( ( ( () ( ( ruleOpMultiAssign ) ) ) )=> ( () ( ( ruleOpMultiAssign ) ) ) ) ( (lv_rightOperand_7_0= ruleXAssignment ) ) )? )
-                    // InternalReportDSL.g:8859:4: this_XOrExpression_4= ruleXOrExpression ( ( ( ( () ( ( ruleOpMultiAssign ) ) ) )=> ( () ( ( ruleOpMultiAssign ) ) ) ) ( (lv_rightOperand_7_0= ruleXAssignment ) ) )?
+                    // InternalReportDSL.g:9167:3: (this_XOrExpression_4= ruleXOrExpression ( ( ( ( () ( ( ruleOpMultiAssign ) ) ) )=> ( () ( ( ruleOpMultiAssign ) ) ) ) ( (lv_rightOperand_7_0= ruleXAssignment ) ) )? )
+                    // InternalReportDSL.g:9168:4: this_XOrExpression_4= ruleXOrExpression ( ( ( ( () ( ( ruleOpMultiAssign ) ) ) )=> ( () ( ( ruleOpMultiAssign ) ) ) ) ( (lv_rightOperand_7_0= ruleXAssignment ) ) )?
                     {
                     if ( state.backtracking==0 ) {
 
                       				newCompositeNode(grammarAccess.getXAssignmentAccess().getXOrExpressionParserRuleCall_1_0());
                       			
                     }
-                    pushFollow(FOLLOW_135);
+                    pushFollow(FOLLOW_127);
                     this_XOrExpression_4=ruleXOrExpression();
 
                     state._fsp--;
@@ -23949,21 +24795,21 @@
                       				afterParserOrEnumRuleCall();
                       			
                     }
-                    // InternalReportDSL.g:8867:4: ( ( ( ( () ( ( ruleOpMultiAssign ) ) ) )=> ( () ( ( ruleOpMultiAssign ) ) ) ) ( (lv_rightOperand_7_0= ruleXAssignment ) ) )?
-                    int alt126=2;
-                    alt126 = dfa126.predict(input);
-                    switch (alt126) {
+                    // InternalReportDSL.g:9176:4: ( ( ( ( () ( ( ruleOpMultiAssign ) ) ) )=> ( () ( ( ruleOpMultiAssign ) ) ) ) ( (lv_rightOperand_7_0= ruleXAssignment ) ) )?
+                    int alt114=2;
+                    alt114 = dfa114.predict(input);
+                    switch (alt114) {
                         case 1 :
-                            // InternalReportDSL.g:8868:5: ( ( ( () ( ( ruleOpMultiAssign ) ) ) )=> ( () ( ( ruleOpMultiAssign ) ) ) ) ( (lv_rightOperand_7_0= ruleXAssignment ) )
+                            // InternalReportDSL.g:9177:5: ( ( ( () ( ( ruleOpMultiAssign ) ) ) )=> ( () ( ( ruleOpMultiAssign ) ) ) ) ( (lv_rightOperand_7_0= ruleXAssignment ) )
                             {
-                            // InternalReportDSL.g:8868:5: ( ( ( () ( ( ruleOpMultiAssign ) ) ) )=> ( () ( ( ruleOpMultiAssign ) ) ) )
-                            // InternalReportDSL.g:8869:6: ( ( () ( ( ruleOpMultiAssign ) ) ) )=> ( () ( ( ruleOpMultiAssign ) ) )
+                            // InternalReportDSL.g:9177:5: ( ( ( () ( ( ruleOpMultiAssign ) ) ) )=> ( () ( ( ruleOpMultiAssign ) ) ) )
+                            // InternalReportDSL.g:9178:6: ( ( () ( ( ruleOpMultiAssign ) ) ) )=> ( () ( ( ruleOpMultiAssign ) ) )
                             {
-                            // InternalReportDSL.g:8879:6: ( () ( ( ruleOpMultiAssign ) ) )
-                            // InternalReportDSL.g:8880:7: () ( ( ruleOpMultiAssign ) )
+                            // InternalReportDSL.g:9188:6: ( () ( ( ruleOpMultiAssign ) ) )
+                            // InternalReportDSL.g:9189:7: () ( ( ruleOpMultiAssign ) )
                             {
-                            // InternalReportDSL.g:8880:7: ()
-                            // InternalReportDSL.g:8881:8: 
+                            // InternalReportDSL.g:9189:7: ()
+                            // InternalReportDSL.g:9190:8: 
                             {
                             if ( state.backtracking==0 ) {
 
@@ -23975,11 +24821,11 @@
 
                             }
 
-                            // InternalReportDSL.g:8887:7: ( ( ruleOpMultiAssign ) )
-                            // InternalReportDSL.g:8888:8: ( ruleOpMultiAssign )
+                            // InternalReportDSL.g:9196:7: ( ( ruleOpMultiAssign ) )
+                            // InternalReportDSL.g:9197:8: ( ruleOpMultiAssign )
                             {
-                            // InternalReportDSL.g:8888:8: ( ruleOpMultiAssign )
-                            // InternalReportDSL.g:8889:9: ruleOpMultiAssign
+                            // InternalReportDSL.g:9197:8: ( ruleOpMultiAssign )
+                            // InternalReportDSL.g:9198:9: ruleOpMultiAssign
                             {
                             if ( state.backtracking==0 ) {
 
@@ -23993,7 +24839,7 @@
                               									newCompositeNode(grammarAccess.getXAssignmentAccess().getFeatureJvmIdentifiableElementCrossReference_1_1_0_0_1_0());
                               								
                             }
-                            pushFollow(FOLLOW_130);
+                            pushFollow(FOLLOW_122);
                             ruleOpMultiAssign();
 
                             state._fsp--;
@@ -24015,11 +24861,11 @@
 
                             }
 
-                            // InternalReportDSL.g:8905:5: ( (lv_rightOperand_7_0= ruleXAssignment ) )
-                            // InternalReportDSL.g:8906:6: (lv_rightOperand_7_0= ruleXAssignment )
+                            // InternalReportDSL.g:9214:5: ( (lv_rightOperand_7_0= ruleXAssignment ) )
+                            // InternalReportDSL.g:9215:6: (lv_rightOperand_7_0= ruleXAssignment )
                             {
-                            // InternalReportDSL.g:8906:6: (lv_rightOperand_7_0= ruleXAssignment )
-                            // InternalReportDSL.g:8907:7: lv_rightOperand_7_0= ruleXAssignment
+                            // InternalReportDSL.g:9215:6: (lv_rightOperand_7_0= ruleXAssignment )
+                            // InternalReportDSL.g:9216:7: lv_rightOperand_7_0= ruleXAssignment
                             {
                             if ( state.backtracking==0 ) {
 
@@ -24087,7 +24933,7 @@
 
 
     // $ANTLR start "entryRuleOpSingleAssign"
-    // InternalReportDSL.g:8930:1: entryRuleOpSingleAssign returns [String current=null] : iv_ruleOpSingleAssign= ruleOpSingleAssign EOF ;
+    // InternalReportDSL.g:9239:1: entryRuleOpSingleAssign returns [String current=null] : iv_ruleOpSingleAssign= ruleOpSingleAssign EOF ;
     public final String entryRuleOpSingleAssign() throws RecognitionException {
         String current = null;
 
@@ -24095,8 +24941,8 @@
 
 
         try {
-            // InternalReportDSL.g:8930:54: (iv_ruleOpSingleAssign= ruleOpSingleAssign EOF )
-            // InternalReportDSL.g:8931:2: iv_ruleOpSingleAssign= ruleOpSingleAssign EOF
+            // InternalReportDSL.g:9239:54: (iv_ruleOpSingleAssign= ruleOpSingleAssign EOF )
+            // InternalReportDSL.g:9240:2: iv_ruleOpSingleAssign= ruleOpSingleAssign EOF
             {
             if ( state.backtracking==0 ) {
                newCompositeNode(grammarAccess.getOpSingleAssignRule()); 
@@ -24127,7 +24973,7 @@
 
 
     // $ANTLR start "ruleOpSingleAssign"
-    // InternalReportDSL.g:8937:1: ruleOpSingleAssign returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : kw= '=' ;
+    // InternalReportDSL.g:9246:1: ruleOpSingleAssign returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : kw= '=' ;
     public final AntlrDatatypeRuleToken ruleOpSingleAssign() throws RecognitionException {
         AntlrDatatypeRuleToken current = new AntlrDatatypeRuleToken();
 
@@ -24137,10 +24983,10 @@
         	enterRule();
 
         try {
-            // InternalReportDSL.g:8943:2: (kw= '=' )
-            // InternalReportDSL.g:8944:2: kw= '='
+            // InternalReportDSL.g:9252:2: (kw= '=' )
+            // InternalReportDSL.g:9253:2: kw= '='
             {
-            kw=(Token)match(input,135,FOLLOW_2); if (state.failed) return current;
+            kw=(Token)match(input,134,FOLLOW_2); if (state.failed) return current;
             if ( state.backtracking==0 ) {
 
               		current.merge(kw);
@@ -24169,7 +25015,7 @@
 
 
     // $ANTLR start "entryRuleOpMultiAssign"
-    // InternalReportDSL.g:8952:1: entryRuleOpMultiAssign returns [String current=null] : iv_ruleOpMultiAssign= ruleOpMultiAssign EOF ;
+    // InternalReportDSL.g:9261:1: entryRuleOpMultiAssign returns [String current=null] : iv_ruleOpMultiAssign= ruleOpMultiAssign EOF ;
     public final String entryRuleOpMultiAssign() throws RecognitionException {
         String current = null;
 
@@ -24177,8 +25023,8 @@
 
 
         try {
-            // InternalReportDSL.g:8952:53: (iv_ruleOpMultiAssign= ruleOpMultiAssign EOF )
-            // InternalReportDSL.g:8953:2: iv_ruleOpMultiAssign= ruleOpMultiAssign EOF
+            // InternalReportDSL.g:9261:53: (iv_ruleOpMultiAssign= ruleOpMultiAssign EOF )
+            // InternalReportDSL.g:9262:2: iv_ruleOpMultiAssign= ruleOpMultiAssign EOF
             {
             if ( state.backtracking==0 ) {
                newCompositeNode(grammarAccess.getOpMultiAssignRule()); 
@@ -24209,7 +25055,7 @@
 
 
     // $ANTLR start "ruleOpMultiAssign"
-    // InternalReportDSL.g:8959:1: ruleOpMultiAssign returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : (kw= '+=' | kw= '-=' | kw= '*=' | kw= '/=' | kw= '%=' | (kw= '<' kw= '<' kw= '=' ) | (kw= '>' (kw= '>' )? kw= '>=' ) ) ;
+    // InternalReportDSL.g:9268:1: ruleOpMultiAssign returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : (kw= '+=' | kw= '-=' | kw= '*=' | kw= '/=' | kw= '%=' | (kw= '<' kw= '<' kw= '=' ) | (kw= '>' (kw= '>' )? kw= '>=' ) ) ;
     public final AntlrDatatypeRuleToken ruleOpMultiAssign() throws RecognitionException {
         AntlrDatatypeRuleToken current = new AntlrDatatypeRuleToken();
 
@@ -24219,60 +25065,60 @@
         	enterRule();
 
         try {
-            // InternalReportDSL.g:8965:2: ( (kw= '+=' | kw= '-=' | kw= '*=' | kw= '/=' | kw= '%=' | (kw= '<' kw= '<' kw= '=' ) | (kw= '>' (kw= '>' )? kw= '>=' ) ) )
-            // InternalReportDSL.g:8966:2: (kw= '+=' | kw= '-=' | kw= '*=' | kw= '/=' | kw= '%=' | (kw= '<' kw= '<' kw= '=' ) | (kw= '>' (kw= '>' )? kw= '>=' ) )
+            // InternalReportDSL.g:9274:2: ( (kw= '+=' | kw= '-=' | kw= '*=' | kw= '/=' | kw= '%=' | (kw= '<' kw= '<' kw= '=' ) | (kw= '>' (kw= '>' )? kw= '>=' ) ) )
+            // InternalReportDSL.g:9275:2: (kw= '+=' | kw= '-=' | kw= '*=' | kw= '/=' | kw= '%=' | (kw= '<' kw= '<' kw= '=' ) | (kw= '>' (kw= '>' )? kw= '>=' ) )
             {
-            // InternalReportDSL.g:8966:2: (kw= '+=' | kw= '-=' | kw= '*=' | kw= '/=' | kw= '%=' | (kw= '<' kw= '<' kw= '=' ) | (kw= '>' (kw= '>' )? kw= '>=' ) )
-            int alt129=7;
+            // InternalReportDSL.g:9275:2: (kw= '+=' | kw= '-=' | kw= '*=' | kw= '/=' | kw= '%=' | (kw= '<' kw= '<' kw= '=' ) | (kw= '>' (kw= '>' )? kw= '>=' ) )
+            int alt117=7;
             switch ( input.LA(1) ) {
+            case 138:
+                {
+                alt117=1;
+                }
+                break;
             case 139:
                 {
-                alt129=1;
+                alt117=2;
                 }
                 break;
             case 140:
                 {
-                alt129=2;
+                alt117=3;
                 }
                 break;
             case 141:
                 {
-                alt129=3;
+                alt117=4;
                 }
                 break;
             case 142:
                 {
-                alt129=4;
+                alt117=5;
                 }
                 break;
             case 143:
                 {
-                alt129=5;
+                alt117=6;
                 }
                 break;
             case 144:
                 {
-                alt129=6;
-                }
-                break;
-            case 145:
-                {
-                alt129=7;
+                alt117=7;
                 }
                 break;
             default:
                 if (state.backtracking>0) {state.failed=true; return current;}
                 NoViableAltException nvae =
-                    new NoViableAltException("", 129, 0, input);
+                    new NoViableAltException("", 117, 0, input);
 
                 throw nvae;
             }
 
-            switch (alt129) {
+            switch (alt117) {
                 case 1 :
-                    // InternalReportDSL.g:8967:3: kw= '+='
+                    // InternalReportDSL.g:9276:3: kw= '+='
                     {
-                    kw=(Token)match(input,139,FOLLOW_2); if (state.failed) return current;
+                    kw=(Token)match(input,138,FOLLOW_2); if (state.failed) return current;
                     if ( state.backtracking==0 ) {
 
                       			current.merge(kw);
@@ -24283,9 +25129,9 @@
                     }
                     break;
                 case 2 :
-                    // InternalReportDSL.g:8973:3: kw= '-='
+                    // InternalReportDSL.g:9282:3: kw= '-='
                     {
-                    kw=(Token)match(input,140,FOLLOW_2); if (state.failed) return current;
+                    kw=(Token)match(input,139,FOLLOW_2); if (state.failed) return current;
                     if ( state.backtracking==0 ) {
 
                       			current.merge(kw);
@@ -24296,9 +25142,9 @@
                     }
                     break;
                 case 3 :
-                    // InternalReportDSL.g:8979:3: kw= '*='
+                    // InternalReportDSL.g:9288:3: kw= '*='
                     {
-                    kw=(Token)match(input,141,FOLLOW_2); if (state.failed) return current;
+                    kw=(Token)match(input,140,FOLLOW_2); if (state.failed) return current;
                     if ( state.backtracking==0 ) {
 
                       			current.merge(kw);
@@ -24309,9 +25155,9 @@
                     }
                     break;
                 case 4 :
-                    // InternalReportDSL.g:8985:3: kw= '/='
+                    // InternalReportDSL.g:9294:3: kw= '/='
                     {
-                    kw=(Token)match(input,142,FOLLOW_2); if (state.failed) return current;
+                    kw=(Token)match(input,141,FOLLOW_2); if (state.failed) return current;
                     if ( state.backtracking==0 ) {
 
                       			current.merge(kw);
@@ -24322,9 +25168,9 @@
                     }
                     break;
                 case 5 :
-                    // InternalReportDSL.g:8991:3: kw= '%='
+                    // InternalReportDSL.g:9300:3: kw= '%='
                     {
-                    kw=(Token)match(input,143,FOLLOW_2); if (state.failed) return current;
+                    kw=(Token)match(input,142,FOLLOW_2); if (state.failed) return current;
                     if ( state.backtracking==0 ) {
 
                       			current.merge(kw);
@@ -24335,26 +25181,26 @@
                     }
                     break;
                 case 6 :
-                    // InternalReportDSL.g:8997:3: (kw= '<' kw= '<' kw= '=' )
+                    // InternalReportDSL.g:9306:3: (kw= '<' kw= '<' kw= '=' )
                     {
-                    // InternalReportDSL.g:8997:3: (kw= '<' kw= '<' kw= '=' )
-                    // InternalReportDSL.g:8998:4: kw= '<' kw= '<' kw= '='
+                    // InternalReportDSL.g:9306:3: (kw= '<' kw= '<' kw= '=' )
+                    // InternalReportDSL.g:9307:4: kw= '<' kw= '<' kw= '='
                     {
-                    kw=(Token)match(input,144,FOLLOW_136); if (state.failed) return current;
+                    kw=(Token)match(input,143,FOLLOW_128); if (state.failed) return current;
                     if ( state.backtracking==0 ) {
 
                       				current.merge(kw);
                       				newLeafNode(kw, grammarAccess.getOpMultiAssignAccess().getLessThanSignKeyword_5_0());
                       			
                     }
-                    kw=(Token)match(input,144,FOLLOW_129); if (state.failed) return current;
+                    kw=(Token)match(input,143,FOLLOW_121); if (state.failed) return current;
                     if ( state.backtracking==0 ) {
 
                       				current.merge(kw);
                       				newLeafNode(kw, grammarAccess.getOpMultiAssignAccess().getLessThanSignKeyword_5_1());
                       			
                     }
-                    kw=(Token)match(input,135,FOLLOW_2); if (state.failed) return current;
+                    kw=(Token)match(input,134,FOLLOW_2); if (state.failed) return current;
                     if ( state.backtracking==0 ) {
 
                       				current.merge(kw);
@@ -24368,30 +25214,30 @@
                     }
                     break;
                 case 7 :
-                    // InternalReportDSL.g:9015:3: (kw= '>' (kw= '>' )? kw= '>=' )
+                    // InternalReportDSL.g:9324:3: (kw= '>' (kw= '>' )? kw= '>=' )
                     {
-                    // InternalReportDSL.g:9015:3: (kw= '>' (kw= '>' )? kw= '>=' )
-                    // InternalReportDSL.g:9016:4: kw= '>' (kw= '>' )? kw= '>='
+                    // InternalReportDSL.g:9324:3: (kw= '>' (kw= '>' )? kw= '>=' )
+                    // InternalReportDSL.g:9325:4: kw= '>' (kw= '>' )? kw= '>='
                     {
-                    kw=(Token)match(input,145,FOLLOW_137); if (state.failed) return current;
+                    kw=(Token)match(input,144,FOLLOW_129); if (state.failed) return current;
                     if ( state.backtracking==0 ) {
 
                       				current.merge(kw);
                       				newLeafNode(kw, grammarAccess.getOpMultiAssignAccess().getGreaterThanSignKeyword_6_0());
                       			
                     }
-                    // InternalReportDSL.g:9021:4: (kw= '>' )?
-                    int alt128=2;
-                    int LA128_0 = input.LA(1);
+                    // InternalReportDSL.g:9330:4: (kw= '>' )?
+                    int alt116=2;
+                    int LA116_0 = input.LA(1);
 
-                    if ( (LA128_0==145) ) {
-                        alt128=1;
+                    if ( (LA116_0==144) ) {
+                        alt116=1;
                     }
-                    switch (alt128) {
+                    switch (alt116) {
                         case 1 :
-                            // InternalReportDSL.g:9022:5: kw= '>'
+                            // InternalReportDSL.g:9331:5: kw= '>'
                             {
-                            kw=(Token)match(input,145,FOLLOW_138); if (state.failed) return current;
+                            kw=(Token)match(input,144,FOLLOW_130); if (state.failed) return current;
                             if ( state.backtracking==0 ) {
 
                               					current.merge(kw);
@@ -24404,7 +25250,7 @@
 
                     }
 
-                    kw=(Token)match(input,146,FOLLOW_2); if (state.failed) return current;
+                    kw=(Token)match(input,145,FOLLOW_2); if (state.failed) return current;
                     if ( state.backtracking==0 ) {
 
                       				current.merge(kw);
@@ -24442,7 +25288,7 @@
 
 
     // $ANTLR start "entryRuleXOrExpression"
-    // InternalReportDSL.g:9038:1: entryRuleXOrExpression returns [EObject current=null] : iv_ruleXOrExpression= ruleXOrExpression EOF ;
+    // InternalReportDSL.g:9347:1: entryRuleXOrExpression returns [EObject current=null] : iv_ruleXOrExpression= ruleXOrExpression EOF ;
     public final EObject entryRuleXOrExpression() throws RecognitionException {
         EObject current = null;
 
@@ -24450,8 +25296,8 @@
 
 
         try {
-            // InternalReportDSL.g:9038:54: (iv_ruleXOrExpression= ruleXOrExpression EOF )
-            // InternalReportDSL.g:9039:2: iv_ruleXOrExpression= ruleXOrExpression EOF
+            // InternalReportDSL.g:9347:54: (iv_ruleXOrExpression= ruleXOrExpression EOF )
+            // InternalReportDSL.g:9348:2: iv_ruleXOrExpression= ruleXOrExpression EOF
             {
             if ( state.backtracking==0 ) {
                newCompositeNode(grammarAccess.getXOrExpressionRule()); 
@@ -24482,7 +25328,7 @@
 
 
     // $ANTLR start "ruleXOrExpression"
-    // InternalReportDSL.g:9045:1: ruleXOrExpression returns [EObject current=null] : (this_XAndExpression_0= ruleXAndExpression ( ( ( ( () ( ( ruleOpOr ) ) ) )=> ( () ( ( ruleOpOr ) ) ) ) ( (lv_rightOperand_3_0= ruleXAndExpression ) ) )* ) ;
+    // InternalReportDSL.g:9354:1: ruleXOrExpression returns [EObject current=null] : (this_XAndExpression_0= ruleXAndExpression ( ( ( ( () ( ( ruleOpOr ) ) ) )=> ( () ( ( ruleOpOr ) ) ) ) ( (lv_rightOperand_3_0= ruleXAndExpression ) ) )* ) ;
     public final EObject ruleXOrExpression() throws RecognitionException {
         EObject current = null;
 
@@ -24495,18 +25341,18 @@
         	enterRule();
 
         try {
-            // InternalReportDSL.g:9051:2: ( (this_XAndExpression_0= ruleXAndExpression ( ( ( ( () ( ( ruleOpOr ) ) ) )=> ( () ( ( ruleOpOr ) ) ) ) ( (lv_rightOperand_3_0= ruleXAndExpression ) ) )* ) )
-            // InternalReportDSL.g:9052:2: (this_XAndExpression_0= ruleXAndExpression ( ( ( ( () ( ( ruleOpOr ) ) ) )=> ( () ( ( ruleOpOr ) ) ) ) ( (lv_rightOperand_3_0= ruleXAndExpression ) ) )* )
+            // InternalReportDSL.g:9360:2: ( (this_XAndExpression_0= ruleXAndExpression ( ( ( ( () ( ( ruleOpOr ) ) ) )=> ( () ( ( ruleOpOr ) ) ) ) ( (lv_rightOperand_3_0= ruleXAndExpression ) ) )* ) )
+            // InternalReportDSL.g:9361:2: (this_XAndExpression_0= ruleXAndExpression ( ( ( ( () ( ( ruleOpOr ) ) ) )=> ( () ( ( ruleOpOr ) ) ) ) ( (lv_rightOperand_3_0= ruleXAndExpression ) ) )* )
             {
-            // InternalReportDSL.g:9052:2: (this_XAndExpression_0= ruleXAndExpression ( ( ( ( () ( ( ruleOpOr ) ) ) )=> ( () ( ( ruleOpOr ) ) ) ) ( (lv_rightOperand_3_0= ruleXAndExpression ) ) )* )
-            // InternalReportDSL.g:9053:3: this_XAndExpression_0= ruleXAndExpression ( ( ( ( () ( ( ruleOpOr ) ) ) )=> ( () ( ( ruleOpOr ) ) ) ) ( (lv_rightOperand_3_0= ruleXAndExpression ) ) )*
+            // InternalReportDSL.g:9361:2: (this_XAndExpression_0= ruleXAndExpression ( ( ( ( () ( ( ruleOpOr ) ) ) )=> ( () ( ( ruleOpOr ) ) ) ) ( (lv_rightOperand_3_0= ruleXAndExpression ) ) )* )
+            // InternalReportDSL.g:9362:3: this_XAndExpression_0= ruleXAndExpression ( ( ( ( () ( ( ruleOpOr ) ) ) )=> ( () ( ( ruleOpOr ) ) ) ) ( (lv_rightOperand_3_0= ruleXAndExpression ) ) )*
             {
             if ( state.backtracking==0 ) {
 
               			newCompositeNode(grammarAccess.getXOrExpressionAccess().getXAndExpressionParserRuleCall_0());
               		
             }
-            pushFollow(FOLLOW_139);
+            pushFollow(FOLLOW_131);
             this_XAndExpression_0=ruleXAndExpression();
 
             state._fsp--;
@@ -24517,35 +25363,35 @@
               			afterParserOrEnumRuleCall();
               		
             }
-            // InternalReportDSL.g:9061:3: ( ( ( ( () ( ( ruleOpOr ) ) ) )=> ( () ( ( ruleOpOr ) ) ) ) ( (lv_rightOperand_3_0= ruleXAndExpression ) ) )*
-            loop130:
+            // InternalReportDSL.g:9370:3: ( ( ( ( () ( ( ruleOpOr ) ) ) )=> ( () ( ( ruleOpOr ) ) ) ) ( (lv_rightOperand_3_0= ruleXAndExpression ) ) )*
+            loop118:
             do {
-                int alt130=2;
-                int LA130_0 = input.LA(1);
+                int alt118=2;
+                int LA118_0 = input.LA(1);
 
-                if ( (LA130_0==147) ) {
-                    int LA130_2 = input.LA(2);
+                if ( (LA118_0==146) ) {
+                    int LA118_2 = input.LA(2);
 
                     if ( (synpred8_InternalReportDSL()) ) {
-                        alt130=1;
+                        alt118=1;
                     }
 
 
                 }
 
 
-                switch (alt130) {
+                switch (alt118) {
             	case 1 :
-            	    // InternalReportDSL.g:9062:4: ( ( ( () ( ( ruleOpOr ) ) ) )=> ( () ( ( ruleOpOr ) ) ) ) ( (lv_rightOperand_3_0= ruleXAndExpression ) )
+            	    // InternalReportDSL.g:9371:4: ( ( ( () ( ( ruleOpOr ) ) ) )=> ( () ( ( ruleOpOr ) ) ) ) ( (lv_rightOperand_3_0= ruleXAndExpression ) )
             	    {
-            	    // InternalReportDSL.g:9062:4: ( ( ( () ( ( ruleOpOr ) ) ) )=> ( () ( ( ruleOpOr ) ) ) )
-            	    // InternalReportDSL.g:9063:5: ( ( () ( ( ruleOpOr ) ) ) )=> ( () ( ( ruleOpOr ) ) )
+            	    // InternalReportDSL.g:9371:4: ( ( ( () ( ( ruleOpOr ) ) ) )=> ( () ( ( ruleOpOr ) ) ) )
+            	    // InternalReportDSL.g:9372:5: ( ( () ( ( ruleOpOr ) ) ) )=> ( () ( ( ruleOpOr ) ) )
             	    {
-            	    // InternalReportDSL.g:9073:5: ( () ( ( ruleOpOr ) ) )
-            	    // InternalReportDSL.g:9074:6: () ( ( ruleOpOr ) )
+            	    // InternalReportDSL.g:9382:5: ( () ( ( ruleOpOr ) ) )
+            	    // InternalReportDSL.g:9383:6: () ( ( ruleOpOr ) )
             	    {
-            	    // InternalReportDSL.g:9074:6: ()
-            	    // InternalReportDSL.g:9075:7: 
+            	    // InternalReportDSL.g:9383:6: ()
+            	    // InternalReportDSL.g:9384:7: 
             	    {
             	    if ( state.backtracking==0 ) {
 
@@ -24557,11 +25403,11 @@
 
             	    }
 
-            	    // InternalReportDSL.g:9081:6: ( ( ruleOpOr ) )
-            	    // InternalReportDSL.g:9082:7: ( ruleOpOr )
+            	    // InternalReportDSL.g:9390:6: ( ( ruleOpOr ) )
+            	    // InternalReportDSL.g:9391:7: ( ruleOpOr )
             	    {
-            	    // InternalReportDSL.g:9082:7: ( ruleOpOr )
-            	    // InternalReportDSL.g:9083:8: ruleOpOr
+            	    // InternalReportDSL.g:9391:7: ( ruleOpOr )
+            	    // InternalReportDSL.g:9392:8: ruleOpOr
             	    {
             	    if ( state.backtracking==0 ) {
 
@@ -24575,7 +25421,7 @@
             	      								newCompositeNode(grammarAccess.getXOrExpressionAccess().getFeatureJvmIdentifiableElementCrossReference_1_0_0_1_0());
             	      							
             	    }
-            	    pushFollow(FOLLOW_130);
+            	    pushFollow(FOLLOW_122);
             	    ruleOpOr();
 
             	    state._fsp--;
@@ -24597,18 +25443,18 @@
 
             	    }
 
-            	    // InternalReportDSL.g:9099:4: ( (lv_rightOperand_3_0= ruleXAndExpression ) )
-            	    // InternalReportDSL.g:9100:5: (lv_rightOperand_3_0= ruleXAndExpression )
+            	    // InternalReportDSL.g:9408:4: ( (lv_rightOperand_3_0= ruleXAndExpression ) )
+            	    // InternalReportDSL.g:9409:5: (lv_rightOperand_3_0= ruleXAndExpression )
             	    {
-            	    // InternalReportDSL.g:9100:5: (lv_rightOperand_3_0= ruleXAndExpression )
-            	    // InternalReportDSL.g:9101:6: lv_rightOperand_3_0= ruleXAndExpression
+            	    // InternalReportDSL.g:9409:5: (lv_rightOperand_3_0= ruleXAndExpression )
+            	    // InternalReportDSL.g:9410:6: lv_rightOperand_3_0= ruleXAndExpression
             	    {
             	    if ( state.backtracking==0 ) {
 
             	      						newCompositeNode(grammarAccess.getXOrExpressionAccess().getRightOperandXAndExpressionParserRuleCall_1_1_0());
             	      					
             	    }
-            	    pushFollow(FOLLOW_139);
+            	    pushFollow(FOLLOW_131);
             	    lv_rightOperand_3_0=ruleXAndExpression();
 
             	    state._fsp--;
@@ -24637,6 +25483,2565 @@
             	    break;
 
             	default :
+            	    break loop118;
+                }
+            } while (true);
+
+
+            }
+
+
+            }
+
+            if ( state.backtracking==0 ) {
+
+              	leaveRule();
+
+            }
+        }
+
+            catch (RecognitionException re) {
+                recover(input,re);
+                appendSkippedTokens();
+            }
+        finally {
+        }
+        return current;
+    }
+    // $ANTLR end "ruleXOrExpression"
+
+
+    // $ANTLR start "entryRuleOpOr"
+    // InternalReportDSL.g:9432:1: entryRuleOpOr returns [String current=null] : iv_ruleOpOr= ruleOpOr EOF ;
+    public final String entryRuleOpOr() throws RecognitionException {
+        String current = null;
+
+        AntlrDatatypeRuleToken iv_ruleOpOr = null;
+
+
+        try {
+            // InternalReportDSL.g:9432:44: (iv_ruleOpOr= ruleOpOr EOF )
+            // InternalReportDSL.g:9433:2: iv_ruleOpOr= ruleOpOr EOF
+            {
+            if ( state.backtracking==0 ) {
+               newCompositeNode(grammarAccess.getOpOrRule()); 
+            }
+            pushFollow(FOLLOW_1);
+            iv_ruleOpOr=ruleOpOr();
+
+            state._fsp--;
+            if (state.failed) return current;
+            if ( state.backtracking==0 ) {
+               current =iv_ruleOpOr.getText(); 
+            }
+            match(input,EOF,FOLLOW_2); if (state.failed) return current;
+
+            }
+
+        }
+
+            catch (RecognitionException re) {
+                recover(input,re);
+                appendSkippedTokens();
+            }
+        finally {
+        }
+        return current;
+    }
+    // $ANTLR end "entryRuleOpOr"
+
+
+    // $ANTLR start "ruleOpOr"
+    // InternalReportDSL.g:9439:1: ruleOpOr returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : kw= '||' ;
+    public final AntlrDatatypeRuleToken ruleOpOr() throws RecognitionException {
+        AntlrDatatypeRuleToken current = new AntlrDatatypeRuleToken();
+
+        Token kw=null;
+
+
+        	enterRule();
+
+        try {
+            // InternalReportDSL.g:9445:2: (kw= '||' )
+            // InternalReportDSL.g:9446:2: kw= '||'
+            {
+            kw=(Token)match(input,146,FOLLOW_2); if (state.failed) return current;
+            if ( state.backtracking==0 ) {
+
+              		current.merge(kw);
+              		newLeafNode(kw, grammarAccess.getOpOrAccess().getVerticalLineVerticalLineKeyword());
+              	
+            }
+
+            }
+
+            if ( state.backtracking==0 ) {
+
+              	leaveRule();
+
+            }
+        }
+
+            catch (RecognitionException re) {
+                recover(input,re);
+                appendSkippedTokens();
+            }
+        finally {
+        }
+        return current;
+    }
+    // $ANTLR end "ruleOpOr"
+
+
+    // $ANTLR start "entryRuleXAndExpression"
+    // InternalReportDSL.g:9454:1: entryRuleXAndExpression returns [EObject current=null] : iv_ruleXAndExpression= ruleXAndExpression EOF ;
+    public final EObject entryRuleXAndExpression() throws RecognitionException {
+        EObject current = null;
+
+        EObject iv_ruleXAndExpression = null;
+
+
+        try {
+            // InternalReportDSL.g:9454:55: (iv_ruleXAndExpression= ruleXAndExpression EOF )
+            // InternalReportDSL.g:9455:2: iv_ruleXAndExpression= ruleXAndExpression EOF
+            {
+            if ( state.backtracking==0 ) {
+               newCompositeNode(grammarAccess.getXAndExpressionRule()); 
+            }
+            pushFollow(FOLLOW_1);
+            iv_ruleXAndExpression=ruleXAndExpression();
+
+            state._fsp--;
+            if (state.failed) return current;
+            if ( state.backtracking==0 ) {
+               current =iv_ruleXAndExpression; 
+            }
+            match(input,EOF,FOLLOW_2); if (state.failed) return current;
+
+            }
+
+        }
+
+            catch (RecognitionException re) {
+                recover(input,re);
+                appendSkippedTokens();
+            }
+        finally {
+        }
+        return current;
+    }
+    // $ANTLR end "entryRuleXAndExpression"
+
+
+    // $ANTLR start "ruleXAndExpression"
+    // InternalReportDSL.g:9461:1: ruleXAndExpression returns [EObject current=null] : (this_XEqualityExpression_0= ruleXEqualityExpression ( ( ( ( () ( ( ruleOpAnd ) ) ) )=> ( () ( ( ruleOpAnd ) ) ) ) ( (lv_rightOperand_3_0= ruleXEqualityExpression ) ) )* ) ;
+    public final EObject ruleXAndExpression() throws RecognitionException {
+        EObject current = null;
+
+        EObject this_XEqualityExpression_0 = null;
+
+        EObject lv_rightOperand_3_0 = null;
+
+
+
+        	enterRule();
+
+        try {
+            // InternalReportDSL.g:9467:2: ( (this_XEqualityExpression_0= ruleXEqualityExpression ( ( ( ( () ( ( ruleOpAnd ) ) ) )=> ( () ( ( ruleOpAnd ) ) ) ) ( (lv_rightOperand_3_0= ruleXEqualityExpression ) ) )* ) )
+            // InternalReportDSL.g:9468:2: (this_XEqualityExpression_0= ruleXEqualityExpression ( ( ( ( () ( ( ruleOpAnd ) ) ) )=> ( () ( ( ruleOpAnd ) ) ) ) ( (lv_rightOperand_3_0= ruleXEqualityExpression ) ) )* )
+            {
+            // InternalReportDSL.g:9468:2: (this_XEqualityExpression_0= ruleXEqualityExpression ( ( ( ( () ( ( ruleOpAnd ) ) ) )=> ( () ( ( ruleOpAnd ) ) ) ) ( (lv_rightOperand_3_0= ruleXEqualityExpression ) ) )* )
+            // InternalReportDSL.g:9469:3: this_XEqualityExpression_0= ruleXEqualityExpression ( ( ( ( () ( ( ruleOpAnd ) ) ) )=> ( () ( ( ruleOpAnd ) ) ) ) ( (lv_rightOperand_3_0= ruleXEqualityExpression ) ) )*
+            {
+            if ( state.backtracking==0 ) {
+
+              			newCompositeNode(grammarAccess.getXAndExpressionAccess().getXEqualityExpressionParserRuleCall_0());
+              		
+            }
+            pushFollow(FOLLOW_132);
+            this_XEqualityExpression_0=ruleXEqualityExpression();
+
+            state._fsp--;
+            if (state.failed) return current;
+            if ( state.backtracking==0 ) {
+
+              			current = this_XEqualityExpression_0;
+              			afterParserOrEnumRuleCall();
+              		
+            }
+            // InternalReportDSL.g:9477:3: ( ( ( ( () ( ( ruleOpAnd ) ) ) )=> ( () ( ( ruleOpAnd ) ) ) ) ( (lv_rightOperand_3_0= ruleXEqualityExpression ) ) )*
+            loop119:
+            do {
+                int alt119=2;
+                int LA119_0 = input.LA(1);
+
+                if ( (LA119_0==147) ) {
+                    int LA119_2 = input.LA(2);
+
+                    if ( (synpred9_InternalReportDSL()) ) {
+                        alt119=1;
+                    }
+
+
+                }
+
+
+                switch (alt119) {
+            	case 1 :
+            	    // InternalReportDSL.g:9478:4: ( ( ( () ( ( ruleOpAnd ) ) ) )=> ( () ( ( ruleOpAnd ) ) ) ) ( (lv_rightOperand_3_0= ruleXEqualityExpression ) )
+            	    {
+            	    // InternalReportDSL.g:9478:4: ( ( ( () ( ( ruleOpAnd ) ) ) )=> ( () ( ( ruleOpAnd ) ) ) )
+            	    // InternalReportDSL.g:9479:5: ( ( () ( ( ruleOpAnd ) ) ) )=> ( () ( ( ruleOpAnd ) ) )
+            	    {
+            	    // InternalReportDSL.g:9489:5: ( () ( ( ruleOpAnd ) ) )
+            	    // InternalReportDSL.g:9490:6: () ( ( ruleOpAnd ) )
+            	    {
+            	    // InternalReportDSL.g:9490:6: ()
+            	    // InternalReportDSL.g:9491:7: 
+            	    {
+            	    if ( state.backtracking==0 ) {
+
+            	      							current = forceCreateModelElementAndSet(
+            	      								grammarAccess.getXAndExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0(),
+            	      								current);
+            	      						
+            	    }
+
+            	    }
+
+            	    // InternalReportDSL.g:9497:6: ( ( ruleOpAnd ) )
+            	    // InternalReportDSL.g:9498:7: ( ruleOpAnd )
+            	    {
+            	    // InternalReportDSL.g:9498:7: ( ruleOpAnd )
+            	    // InternalReportDSL.g:9499:8: ruleOpAnd
+            	    {
+            	    if ( state.backtracking==0 ) {
+
+            	      								if (current==null) {
+            	      									current = createModelElement(grammarAccess.getXAndExpressionRule());
+            	      								}
+            	      							
+            	    }
+            	    if ( state.backtracking==0 ) {
+
+            	      								newCompositeNode(grammarAccess.getXAndExpressionAccess().getFeatureJvmIdentifiableElementCrossReference_1_0_0_1_0());
+            	      							
+            	    }
+            	    pushFollow(FOLLOW_122);
+            	    ruleOpAnd();
+
+            	    state._fsp--;
+            	    if (state.failed) return current;
+            	    if ( state.backtracking==0 ) {
+
+            	      								afterParserOrEnumRuleCall();
+            	      							
+            	    }
+
+            	    }
+
+
+            	    }
+
+
+            	    }
+
+
+            	    }
+
+            	    // InternalReportDSL.g:9515:4: ( (lv_rightOperand_3_0= ruleXEqualityExpression ) )
+            	    // InternalReportDSL.g:9516:5: (lv_rightOperand_3_0= ruleXEqualityExpression )
+            	    {
+            	    // InternalReportDSL.g:9516:5: (lv_rightOperand_3_0= ruleXEqualityExpression )
+            	    // InternalReportDSL.g:9517:6: lv_rightOperand_3_0= ruleXEqualityExpression
+            	    {
+            	    if ( state.backtracking==0 ) {
+
+            	      						newCompositeNode(grammarAccess.getXAndExpressionAccess().getRightOperandXEqualityExpressionParserRuleCall_1_1_0());
+            	      					
+            	    }
+            	    pushFollow(FOLLOW_132);
+            	    lv_rightOperand_3_0=ruleXEqualityExpression();
+
+            	    state._fsp--;
+            	    if (state.failed) return current;
+            	    if ( state.backtracking==0 ) {
+
+            	      						if (current==null) {
+            	      							current = createModelElementForParent(grammarAccess.getXAndExpressionRule());
+            	      						}
+            	      						set(
+            	      							current,
+            	      							"rightOperand",
+            	      							lv_rightOperand_3_0,
+            	      							"org.eclipse.xtext.xbase.Xbase.XEqualityExpression");
+            	      						afterParserOrEnumRuleCall();
+            	      					
+            	    }
+
+            	    }
+
+
+            	    }
+
+
+            	    }
+            	    break;
+
+            	default :
+            	    break loop119;
+                }
+            } while (true);
+
+
+            }
+
+
+            }
+
+            if ( state.backtracking==0 ) {
+
+              	leaveRule();
+
+            }
+        }
+
+            catch (RecognitionException re) {
+                recover(input,re);
+                appendSkippedTokens();
+            }
+        finally {
+        }
+        return current;
+    }
+    // $ANTLR end "ruleXAndExpression"
+
+
+    // $ANTLR start "entryRuleOpAnd"
+    // InternalReportDSL.g:9539:1: entryRuleOpAnd returns [String current=null] : iv_ruleOpAnd= ruleOpAnd EOF ;
+    public final String entryRuleOpAnd() throws RecognitionException {
+        String current = null;
+
+        AntlrDatatypeRuleToken iv_ruleOpAnd = null;
+
+
+        try {
+            // InternalReportDSL.g:9539:45: (iv_ruleOpAnd= ruleOpAnd EOF )
+            // InternalReportDSL.g:9540:2: iv_ruleOpAnd= ruleOpAnd EOF
+            {
+            if ( state.backtracking==0 ) {
+               newCompositeNode(grammarAccess.getOpAndRule()); 
+            }
+            pushFollow(FOLLOW_1);
+            iv_ruleOpAnd=ruleOpAnd();
+
+            state._fsp--;
+            if (state.failed) return current;
+            if ( state.backtracking==0 ) {
+               current =iv_ruleOpAnd.getText(); 
+            }
+            match(input,EOF,FOLLOW_2); if (state.failed) return current;
+
+            }
+
+        }
+
+            catch (RecognitionException re) {
+                recover(input,re);
+                appendSkippedTokens();
+            }
+        finally {
+        }
+        return current;
+    }
+    // $ANTLR end "entryRuleOpAnd"
+
+
+    // $ANTLR start "ruleOpAnd"
+    // InternalReportDSL.g:9546:1: ruleOpAnd returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : kw= '&&' ;
+    public final AntlrDatatypeRuleToken ruleOpAnd() throws RecognitionException {
+        AntlrDatatypeRuleToken current = new AntlrDatatypeRuleToken();
+
+        Token kw=null;
+
+
+        	enterRule();
+
+        try {
+            // InternalReportDSL.g:9552:2: (kw= '&&' )
+            // InternalReportDSL.g:9553:2: kw= '&&'
+            {
+            kw=(Token)match(input,147,FOLLOW_2); if (state.failed) return current;
+            if ( state.backtracking==0 ) {
+
+              		current.merge(kw);
+              		newLeafNode(kw, grammarAccess.getOpAndAccess().getAmpersandAmpersandKeyword());
+              	
+            }
+
+            }
+
+            if ( state.backtracking==0 ) {
+
+              	leaveRule();
+
+            }
+        }
+
+            catch (RecognitionException re) {
+                recover(input,re);
+                appendSkippedTokens();
+            }
+        finally {
+        }
+        return current;
+    }
+    // $ANTLR end "ruleOpAnd"
+
+
+    // $ANTLR start "entryRuleXEqualityExpression"
+    // InternalReportDSL.g:9561:1: entryRuleXEqualityExpression returns [EObject current=null] : iv_ruleXEqualityExpression= ruleXEqualityExpression EOF ;
+    public final EObject entryRuleXEqualityExpression() throws RecognitionException {
+        EObject current = null;
+
+        EObject iv_ruleXEqualityExpression = null;
+
+
+        try {
+            // InternalReportDSL.g:9561:60: (iv_ruleXEqualityExpression= ruleXEqualityExpression EOF )
+            // InternalReportDSL.g:9562:2: iv_ruleXEqualityExpression= ruleXEqualityExpression EOF
+            {
+            if ( state.backtracking==0 ) {
+               newCompositeNode(grammarAccess.getXEqualityExpressionRule()); 
+            }
+            pushFollow(FOLLOW_1);
+            iv_ruleXEqualityExpression=ruleXEqualityExpression();
+
+            state._fsp--;
+            if (state.failed) return current;
+            if ( state.backtracking==0 ) {
+               current =iv_ruleXEqualityExpression; 
+            }
+            match(input,EOF,FOLLOW_2); if (state.failed) return current;
+
+            }
+
+        }
+
+            catch (RecognitionException re) {
+                recover(input,re);
+                appendSkippedTokens();
+            }
+        finally {
+        }
+        return current;
+    }
+    // $ANTLR end "entryRuleXEqualityExpression"
+
+
+    // $ANTLR start "ruleXEqualityExpression"
+    // InternalReportDSL.g:9568:1: ruleXEqualityExpression returns [EObject current=null] : (this_XRelationalExpression_0= ruleXRelationalExpression ( ( ( ( () ( ( ruleOpEquality ) ) ) )=> ( () ( ( ruleOpEquality ) ) ) ) ( (lv_rightOperand_3_0= ruleXRelationalExpression ) ) )* ) ;
+    public final EObject ruleXEqualityExpression() throws RecognitionException {
+        EObject current = null;
+
+        EObject this_XRelationalExpression_0 = null;
+
+        EObject lv_rightOperand_3_0 = null;
+
+
+
+        	enterRule();
+
+        try {
+            // InternalReportDSL.g:9574:2: ( (this_XRelationalExpression_0= ruleXRelationalExpression ( ( ( ( () ( ( ruleOpEquality ) ) ) )=> ( () ( ( ruleOpEquality ) ) ) ) ( (lv_rightOperand_3_0= ruleXRelationalExpression ) ) )* ) )
+            // InternalReportDSL.g:9575:2: (this_XRelationalExpression_0= ruleXRelationalExpression ( ( ( ( () ( ( ruleOpEquality ) ) ) )=> ( () ( ( ruleOpEquality ) ) ) ) ( (lv_rightOperand_3_0= ruleXRelationalExpression ) ) )* )
+            {
+            // InternalReportDSL.g:9575:2: (this_XRelationalExpression_0= ruleXRelationalExpression ( ( ( ( () ( ( ruleOpEquality ) ) ) )=> ( () ( ( ruleOpEquality ) ) ) ) ( (lv_rightOperand_3_0= ruleXRelationalExpression ) ) )* )
+            // InternalReportDSL.g:9576:3: this_XRelationalExpression_0= ruleXRelationalExpression ( ( ( ( () ( ( ruleOpEquality ) ) ) )=> ( () ( ( ruleOpEquality ) ) ) ) ( (lv_rightOperand_3_0= ruleXRelationalExpression ) ) )*
+            {
+            if ( state.backtracking==0 ) {
+
+              			newCompositeNode(grammarAccess.getXEqualityExpressionAccess().getXRelationalExpressionParserRuleCall_0());
+              		
+            }
+            pushFollow(FOLLOW_133);
+            this_XRelationalExpression_0=ruleXRelationalExpression();
+
+            state._fsp--;
+            if (state.failed) return current;
+            if ( state.backtracking==0 ) {
+
+              			current = this_XRelationalExpression_0;
+              			afterParserOrEnumRuleCall();
+              		
+            }
+            // InternalReportDSL.g:9584:3: ( ( ( ( () ( ( ruleOpEquality ) ) ) )=> ( () ( ( ruleOpEquality ) ) ) ) ( (lv_rightOperand_3_0= ruleXRelationalExpression ) ) )*
+            loop120:
+            do {
+                int alt120=2;
+                switch ( input.LA(1) ) {
+                case 148:
+                    {
+                    int LA120_2 = input.LA(2);
+
+                    if ( (synpred10_InternalReportDSL()) ) {
+                        alt120=1;
+                    }
+
+
+                    }
+                    break;
+                case 149:
+                    {
+                    int LA120_3 = input.LA(2);
+
+                    if ( (synpred10_InternalReportDSL()) ) {
+                        alt120=1;
+                    }
+
+
+                    }
+                    break;
+                case 150:
+                    {
+                    int LA120_4 = input.LA(2);
+
+                    if ( (synpred10_InternalReportDSL()) ) {
+                        alt120=1;
+                    }
+
+
+                    }
+                    break;
+                case 151:
+                    {
+                    int LA120_5 = input.LA(2);
+
+                    if ( (synpred10_InternalReportDSL()) ) {
+                        alt120=1;
+                    }
+
+
+                    }
+                    break;
+
+                }
+
+                switch (alt120) {
+            	case 1 :
+            	    // InternalReportDSL.g:9585:4: ( ( ( () ( ( ruleOpEquality ) ) ) )=> ( () ( ( ruleOpEquality ) ) ) ) ( (lv_rightOperand_3_0= ruleXRelationalExpression ) )
+            	    {
+            	    // InternalReportDSL.g:9585:4: ( ( ( () ( ( ruleOpEquality ) ) ) )=> ( () ( ( ruleOpEquality ) ) ) )
+            	    // InternalReportDSL.g:9586:5: ( ( () ( ( ruleOpEquality ) ) ) )=> ( () ( ( ruleOpEquality ) ) )
+            	    {
+            	    // InternalReportDSL.g:9596:5: ( () ( ( ruleOpEquality ) ) )
+            	    // InternalReportDSL.g:9597:6: () ( ( ruleOpEquality ) )
+            	    {
+            	    // InternalReportDSL.g:9597:6: ()
+            	    // InternalReportDSL.g:9598:7: 
+            	    {
+            	    if ( state.backtracking==0 ) {
+
+            	      							current = forceCreateModelElementAndSet(
+            	      								grammarAccess.getXEqualityExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0(),
+            	      								current);
+            	      						
+            	    }
+
+            	    }
+
+            	    // InternalReportDSL.g:9604:6: ( ( ruleOpEquality ) )
+            	    // InternalReportDSL.g:9605:7: ( ruleOpEquality )
+            	    {
+            	    // InternalReportDSL.g:9605:7: ( ruleOpEquality )
+            	    // InternalReportDSL.g:9606:8: ruleOpEquality
+            	    {
+            	    if ( state.backtracking==0 ) {
+
+            	      								if (current==null) {
+            	      									current = createModelElement(grammarAccess.getXEqualityExpressionRule());
+            	      								}
+            	      							
+            	    }
+            	    if ( state.backtracking==0 ) {
+
+            	      								newCompositeNode(grammarAccess.getXEqualityExpressionAccess().getFeatureJvmIdentifiableElementCrossReference_1_0_0_1_0());
+            	      							
+            	    }
+            	    pushFollow(FOLLOW_122);
+            	    ruleOpEquality();
+
+            	    state._fsp--;
+            	    if (state.failed) return current;
+            	    if ( state.backtracking==0 ) {
+
+            	      								afterParserOrEnumRuleCall();
+            	      							
+            	    }
+
+            	    }
+
+
+            	    }
+
+
+            	    }
+
+
+            	    }
+
+            	    // InternalReportDSL.g:9622:4: ( (lv_rightOperand_3_0= ruleXRelationalExpression ) )
+            	    // InternalReportDSL.g:9623:5: (lv_rightOperand_3_0= ruleXRelationalExpression )
+            	    {
+            	    // InternalReportDSL.g:9623:5: (lv_rightOperand_3_0= ruleXRelationalExpression )
+            	    // InternalReportDSL.g:9624:6: lv_rightOperand_3_0= ruleXRelationalExpression
+            	    {
+            	    if ( state.backtracking==0 ) {
+
+            	      						newCompositeNode(grammarAccess.getXEqualityExpressionAccess().getRightOperandXRelationalExpressionParserRuleCall_1_1_0());
+            	      					
+            	    }
+            	    pushFollow(FOLLOW_133);
+            	    lv_rightOperand_3_0=ruleXRelationalExpression();
+
+            	    state._fsp--;
+            	    if (state.failed) return current;
+            	    if ( state.backtracking==0 ) {
+
+            	      						if (current==null) {
+            	      							current = createModelElementForParent(grammarAccess.getXEqualityExpressionRule());
+            	      						}
+            	      						set(
+            	      							current,
+            	      							"rightOperand",
+            	      							lv_rightOperand_3_0,
+            	      							"org.eclipse.xtext.xbase.Xbase.XRelationalExpression");
+            	      						afterParserOrEnumRuleCall();
+            	      					
+            	    }
+
+            	    }
+
+
+            	    }
+
+
+            	    }
+            	    break;
+
+            	default :
+            	    break loop120;
+                }
+            } while (true);
+
+
+            }
+
+
+            }
+
+            if ( state.backtracking==0 ) {
+
+              	leaveRule();
+
+            }
+        }
+
+            catch (RecognitionException re) {
+                recover(input,re);
+                appendSkippedTokens();
+            }
+        finally {
+        }
+        return current;
+    }
+    // $ANTLR end "ruleXEqualityExpression"
+
+
+    // $ANTLR start "entryRuleOpEquality"
+    // InternalReportDSL.g:9646:1: entryRuleOpEquality returns [String current=null] : iv_ruleOpEquality= ruleOpEquality EOF ;
+    public final String entryRuleOpEquality() throws RecognitionException {
+        String current = null;
+
+        AntlrDatatypeRuleToken iv_ruleOpEquality = null;
+
+
+        try {
+            // InternalReportDSL.g:9646:50: (iv_ruleOpEquality= ruleOpEquality EOF )
+            // InternalReportDSL.g:9647:2: iv_ruleOpEquality= ruleOpEquality EOF
+            {
+            if ( state.backtracking==0 ) {
+               newCompositeNode(grammarAccess.getOpEqualityRule()); 
+            }
+            pushFollow(FOLLOW_1);
+            iv_ruleOpEquality=ruleOpEquality();
+
+            state._fsp--;
+            if (state.failed) return current;
+            if ( state.backtracking==0 ) {
+               current =iv_ruleOpEquality.getText(); 
+            }
+            match(input,EOF,FOLLOW_2); if (state.failed) return current;
+
+            }
+
+        }
+
+            catch (RecognitionException re) {
+                recover(input,re);
+                appendSkippedTokens();
+            }
+        finally {
+        }
+        return current;
+    }
+    // $ANTLR end "entryRuleOpEquality"
+
+
+    // $ANTLR start "ruleOpEquality"
+    // InternalReportDSL.g:9653:1: ruleOpEquality returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : (kw= '==' | kw= '!=' | kw= '===' | kw= '!==' ) ;
+    public final AntlrDatatypeRuleToken ruleOpEquality() throws RecognitionException {
+        AntlrDatatypeRuleToken current = new AntlrDatatypeRuleToken();
+
+        Token kw=null;
+
+
+        	enterRule();
+
+        try {
+            // InternalReportDSL.g:9659:2: ( (kw= '==' | kw= '!=' | kw= '===' | kw= '!==' ) )
+            // InternalReportDSL.g:9660:2: (kw= '==' | kw= '!=' | kw= '===' | kw= '!==' )
+            {
+            // InternalReportDSL.g:9660:2: (kw= '==' | kw= '!=' | kw= '===' | kw= '!==' )
+            int alt121=4;
+            switch ( input.LA(1) ) {
+            case 148:
+                {
+                alt121=1;
+                }
+                break;
+            case 149:
+                {
+                alt121=2;
+                }
+                break;
+            case 150:
+                {
+                alt121=3;
+                }
+                break;
+            case 151:
+                {
+                alt121=4;
+                }
+                break;
+            default:
+                if (state.backtracking>0) {state.failed=true; return current;}
+                NoViableAltException nvae =
+                    new NoViableAltException("", 121, 0, input);
+
+                throw nvae;
+            }
+
+            switch (alt121) {
+                case 1 :
+                    // InternalReportDSL.g:9661:3: kw= '=='
+                    {
+                    kw=(Token)match(input,148,FOLLOW_2); if (state.failed) return current;
+                    if ( state.backtracking==0 ) {
+
+                      			current.merge(kw);
+                      			newLeafNode(kw, grammarAccess.getOpEqualityAccess().getEqualsSignEqualsSignKeyword_0());
+                      		
+                    }
+
+                    }
+                    break;
+                case 2 :
+                    // InternalReportDSL.g:9667:3: kw= '!='
+                    {
+                    kw=(Token)match(input,149,FOLLOW_2); if (state.failed) return current;
+                    if ( state.backtracking==0 ) {
+
+                      			current.merge(kw);
+                      			newLeafNode(kw, grammarAccess.getOpEqualityAccess().getExclamationMarkEqualsSignKeyword_1());
+                      		
+                    }
+
+                    }
+                    break;
+                case 3 :
+                    // InternalReportDSL.g:9673:3: kw= '==='
+                    {
+                    kw=(Token)match(input,150,FOLLOW_2); if (state.failed) return current;
+                    if ( state.backtracking==0 ) {
+
+                      			current.merge(kw);
+                      			newLeafNode(kw, grammarAccess.getOpEqualityAccess().getEqualsSignEqualsSignEqualsSignKeyword_2());
+                      		
+                    }
+
+                    }
+                    break;
+                case 4 :
+                    // InternalReportDSL.g:9679:3: kw= '!=='
+                    {
+                    kw=(Token)match(input,151,FOLLOW_2); if (state.failed) return current;
+                    if ( state.backtracking==0 ) {
+
+                      			current.merge(kw);
+                      			newLeafNode(kw, grammarAccess.getOpEqualityAccess().getExclamationMarkEqualsSignEqualsSignKeyword_3());
+                      		
+                    }
+
+                    }
+                    break;
+
+            }
+
+
+            }
+
+            if ( state.backtracking==0 ) {
+
+              	leaveRule();
+
+            }
+        }
+
+            catch (RecognitionException re) {
+                recover(input,re);
+                appendSkippedTokens();
+            }
+        finally {
+        }
+        return current;
+    }
+    // $ANTLR end "ruleOpEquality"
+
+
+    // $ANTLR start "entryRuleXRelationalExpression"
+    // InternalReportDSL.g:9688:1: entryRuleXRelationalExpression returns [EObject current=null] : iv_ruleXRelationalExpression= ruleXRelationalExpression EOF ;
+    public final EObject entryRuleXRelationalExpression() throws RecognitionException {
+        EObject current = null;
+
+        EObject iv_ruleXRelationalExpression = null;
+
+
+        try {
+            // InternalReportDSL.g:9688:62: (iv_ruleXRelationalExpression= ruleXRelationalExpression EOF )
+            // InternalReportDSL.g:9689:2: iv_ruleXRelationalExpression= ruleXRelationalExpression EOF
+            {
+            if ( state.backtracking==0 ) {
+               newCompositeNode(grammarAccess.getXRelationalExpressionRule()); 
+            }
+            pushFollow(FOLLOW_1);
+            iv_ruleXRelationalExpression=ruleXRelationalExpression();
+
+            state._fsp--;
+            if (state.failed) return current;
+            if ( state.backtracking==0 ) {
+               current =iv_ruleXRelationalExpression; 
+            }
+            match(input,EOF,FOLLOW_2); if (state.failed) return current;
+
+            }
+
+        }
+
+            catch (RecognitionException re) {
+                recover(input,re);
+                appendSkippedTokens();
+            }
+        finally {
+        }
+        return current;
+    }
+    // $ANTLR end "entryRuleXRelationalExpression"
+
+
+    // $ANTLR start "ruleXRelationalExpression"
+    // InternalReportDSL.g:9695:1: ruleXRelationalExpression returns [EObject current=null] : (this_XOtherOperatorExpression_0= ruleXOtherOperatorExpression ( ( ( ( ( () 'instanceof' ) )=> ( () otherlv_2= 'instanceof' ) ) ( (lv_type_3_0= ruleJvmTypeReference ) ) ) | ( ( ( ( () ( ( ruleOpCompare ) ) ) )=> ( () ( ( ruleOpCompare ) ) ) ) ( (lv_rightOperand_6_0= ruleXOtherOperatorExpression ) ) ) )* ) ;
+    public final EObject ruleXRelationalExpression() throws RecognitionException {
+        EObject current = null;
+
+        Token otherlv_2=null;
+        EObject this_XOtherOperatorExpression_0 = null;
+
+        EObject lv_type_3_0 = null;
+
+        EObject lv_rightOperand_6_0 = null;
+
+
+
+        	enterRule();
+
+        try {
+            // InternalReportDSL.g:9701:2: ( (this_XOtherOperatorExpression_0= ruleXOtherOperatorExpression ( ( ( ( ( () 'instanceof' ) )=> ( () otherlv_2= 'instanceof' ) ) ( (lv_type_3_0= ruleJvmTypeReference ) ) ) | ( ( ( ( () ( ( ruleOpCompare ) ) ) )=> ( () ( ( ruleOpCompare ) ) ) ) ( (lv_rightOperand_6_0= ruleXOtherOperatorExpression ) ) ) )* ) )
+            // InternalReportDSL.g:9702:2: (this_XOtherOperatorExpression_0= ruleXOtherOperatorExpression ( ( ( ( ( () 'instanceof' ) )=> ( () otherlv_2= 'instanceof' ) ) ( (lv_type_3_0= ruleJvmTypeReference ) ) ) | ( ( ( ( () ( ( ruleOpCompare ) ) ) )=> ( () ( ( ruleOpCompare ) ) ) ) ( (lv_rightOperand_6_0= ruleXOtherOperatorExpression ) ) ) )* )
+            {
+            // InternalReportDSL.g:9702:2: (this_XOtherOperatorExpression_0= ruleXOtherOperatorExpression ( ( ( ( ( () 'instanceof' ) )=> ( () otherlv_2= 'instanceof' ) ) ( (lv_type_3_0= ruleJvmTypeReference ) ) ) | ( ( ( ( () ( ( ruleOpCompare ) ) ) )=> ( () ( ( ruleOpCompare ) ) ) ) ( (lv_rightOperand_6_0= ruleXOtherOperatorExpression ) ) ) )* )
+            // InternalReportDSL.g:9703:3: this_XOtherOperatorExpression_0= ruleXOtherOperatorExpression ( ( ( ( ( () 'instanceof' ) )=> ( () otherlv_2= 'instanceof' ) ) ( (lv_type_3_0= ruleJvmTypeReference ) ) ) | ( ( ( ( () ( ( ruleOpCompare ) ) ) )=> ( () ( ( ruleOpCompare ) ) ) ) ( (lv_rightOperand_6_0= ruleXOtherOperatorExpression ) ) ) )*
+            {
+            if ( state.backtracking==0 ) {
+
+              			newCompositeNode(grammarAccess.getXRelationalExpressionAccess().getXOtherOperatorExpressionParserRuleCall_0());
+              		
+            }
+            pushFollow(FOLLOW_134);
+            this_XOtherOperatorExpression_0=ruleXOtherOperatorExpression();
+
+            state._fsp--;
+            if (state.failed) return current;
+            if ( state.backtracking==0 ) {
+
+              			current = this_XOtherOperatorExpression_0;
+              			afterParserOrEnumRuleCall();
+              		
+            }
+            // InternalReportDSL.g:9711:3: ( ( ( ( ( () 'instanceof' ) )=> ( () otherlv_2= 'instanceof' ) ) ( (lv_type_3_0= ruleJvmTypeReference ) ) ) | ( ( ( ( () ( ( ruleOpCompare ) ) ) )=> ( () ( ( ruleOpCompare ) ) ) ) ( (lv_rightOperand_6_0= ruleXOtherOperatorExpression ) ) ) )*
+            loop122:
+            do {
+                int alt122=3;
+                switch ( input.LA(1) ) {
+                case 143:
+                    {
+                    int LA122_2 = input.LA(2);
+
+                    if ( (synpred12_InternalReportDSL()) ) {
+                        alt122=2;
+                    }
+
+
+                    }
+                    break;
+                case 144:
+                    {
+                    int LA122_3 = input.LA(2);
+
+                    if ( (synpred12_InternalReportDSL()) ) {
+                        alt122=2;
+                    }
+
+
+                    }
+                    break;
+                case 152:
+                    {
+                    int LA122_4 = input.LA(2);
+
+                    if ( (synpred11_InternalReportDSL()) ) {
+                        alt122=1;
+                    }
+
+
+                    }
+                    break;
+                case 145:
+                    {
+                    int LA122_5 = input.LA(2);
+
+                    if ( (synpred12_InternalReportDSL()) ) {
+                        alt122=2;
+                    }
+
+
+                    }
+                    break;
+
+                }
+
+                switch (alt122) {
+            	case 1 :
+            	    // InternalReportDSL.g:9712:4: ( ( ( ( () 'instanceof' ) )=> ( () otherlv_2= 'instanceof' ) ) ( (lv_type_3_0= ruleJvmTypeReference ) ) )
+            	    {
+            	    // InternalReportDSL.g:9712:4: ( ( ( ( () 'instanceof' ) )=> ( () otherlv_2= 'instanceof' ) ) ( (lv_type_3_0= ruleJvmTypeReference ) ) )
+            	    // InternalReportDSL.g:9713:5: ( ( ( () 'instanceof' ) )=> ( () otherlv_2= 'instanceof' ) ) ( (lv_type_3_0= ruleJvmTypeReference ) )
+            	    {
+            	    // InternalReportDSL.g:9713:5: ( ( ( () 'instanceof' ) )=> ( () otherlv_2= 'instanceof' ) )
+            	    // InternalReportDSL.g:9714:6: ( ( () 'instanceof' ) )=> ( () otherlv_2= 'instanceof' )
+            	    {
+            	    // InternalReportDSL.g:9720:6: ( () otherlv_2= 'instanceof' )
+            	    // InternalReportDSL.g:9721:7: () otherlv_2= 'instanceof'
+            	    {
+            	    // InternalReportDSL.g:9721:7: ()
+            	    // InternalReportDSL.g:9722:8: 
+            	    {
+            	    if ( state.backtracking==0 ) {
+
+            	      								current = forceCreateModelElementAndSet(
+            	      									grammarAccess.getXRelationalExpressionAccess().getXInstanceOfExpressionExpressionAction_1_0_0_0_0(),
+            	      									current);
+            	      							
+            	    }
+
+            	    }
+
+            	    otherlv_2=(Token)match(input,152,FOLLOW_135); if (state.failed) return current;
+            	    if ( state.backtracking==0 ) {
+
+            	      							newLeafNode(otherlv_2, grammarAccess.getXRelationalExpressionAccess().getInstanceofKeyword_1_0_0_0_1());
+            	      						
+            	    }
+
+            	    }
+
+
+            	    }
+
+            	    // InternalReportDSL.g:9734:5: ( (lv_type_3_0= ruleJvmTypeReference ) )
+            	    // InternalReportDSL.g:9735:6: (lv_type_3_0= ruleJvmTypeReference )
+            	    {
+            	    // InternalReportDSL.g:9735:6: (lv_type_3_0= ruleJvmTypeReference )
+            	    // InternalReportDSL.g:9736:7: lv_type_3_0= ruleJvmTypeReference
+            	    {
+            	    if ( state.backtracking==0 ) {
+
+            	      							newCompositeNode(grammarAccess.getXRelationalExpressionAccess().getTypeJvmTypeReferenceParserRuleCall_1_0_1_0());
+            	      						
+            	    }
+            	    pushFollow(FOLLOW_134);
+            	    lv_type_3_0=ruleJvmTypeReference();
+
+            	    state._fsp--;
+            	    if (state.failed) return current;
+            	    if ( state.backtracking==0 ) {
+
+            	      							if (current==null) {
+            	      								current = createModelElementForParent(grammarAccess.getXRelationalExpressionRule());
+            	      							}
+            	      							set(
+            	      								current,
+            	      								"type",
+            	      								lv_type_3_0,
+            	      								"org.eclipse.xtext.xbase.Xtype.JvmTypeReference");
+            	      							afterParserOrEnumRuleCall();
+            	      						
+            	    }
+
+            	    }
+
+
+            	    }
+
+
+            	    }
+
+
+            	    }
+            	    break;
+            	case 2 :
+            	    // InternalReportDSL.g:9755:4: ( ( ( ( () ( ( ruleOpCompare ) ) ) )=> ( () ( ( ruleOpCompare ) ) ) ) ( (lv_rightOperand_6_0= ruleXOtherOperatorExpression ) ) )
+            	    {
+            	    // InternalReportDSL.g:9755:4: ( ( ( ( () ( ( ruleOpCompare ) ) ) )=> ( () ( ( ruleOpCompare ) ) ) ) ( (lv_rightOperand_6_0= ruleXOtherOperatorExpression ) ) )
+            	    // InternalReportDSL.g:9756:5: ( ( ( () ( ( ruleOpCompare ) ) ) )=> ( () ( ( ruleOpCompare ) ) ) ) ( (lv_rightOperand_6_0= ruleXOtherOperatorExpression ) )
+            	    {
+            	    // InternalReportDSL.g:9756:5: ( ( ( () ( ( ruleOpCompare ) ) ) )=> ( () ( ( ruleOpCompare ) ) ) )
+            	    // InternalReportDSL.g:9757:6: ( ( () ( ( ruleOpCompare ) ) ) )=> ( () ( ( ruleOpCompare ) ) )
+            	    {
+            	    // InternalReportDSL.g:9767:6: ( () ( ( ruleOpCompare ) ) )
+            	    // InternalReportDSL.g:9768:7: () ( ( ruleOpCompare ) )
+            	    {
+            	    // InternalReportDSL.g:9768:7: ()
+            	    // InternalReportDSL.g:9769:8: 
+            	    {
+            	    if ( state.backtracking==0 ) {
+
+            	      								current = forceCreateModelElementAndSet(
+            	      									grammarAccess.getXRelationalExpressionAccess().getXBinaryOperationLeftOperandAction_1_1_0_0_0(),
+            	      									current);
+            	      							
+            	    }
+
+            	    }
+
+            	    // InternalReportDSL.g:9775:7: ( ( ruleOpCompare ) )
+            	    // InternalReportDSL.g:9776:8: ( ruleOpCompare )
+            	    {
+            	    // InternalReportDSL.g:9776:8: ( ruleOpCompare )
+            	    // InternalReportDSL.g:9777:9: ruleOpCompare
+            	    {
+            	    if ( state.backtracking==0 ) {
+
+            	      									if (current==null) {
+            	      										current = createModelElement(grammarAccess.getXRelationalExpressionRule());
+            	      									}
+            	      								
+            	    }
+            	    if ( state.backtracking==0 ) {
+
+            	      									newCompositeNode(grammarAccess.getXRelationalExpressionAccess().getFeatureJvmIdentifiableElementCrossReference_1_1_0_0_1_0());
+            	      								
+            	    }
+            	    pushFollow(FOLLOW_122);
+            	    ruleOpCompare();
+
+            	    state._fsp--;
+            	    if (state.failed) return current;
+            	    if ( state.backtracking==0 ) {
+
+            	      									afterParserOrEnumRuleCall();
+            	      								
+            	    }
+
+            	    }
+
+
+            	    }
+
+
+            	    }
+
+
+            	    }
+
+            	    // InternalReportDSL.g:9793:5: ( (lv_rightOperand_6_0= ruleXOtherOperatorExpression ) )
+            	    // InternalReportDSL.g:9794:6: (lv_rightOperand_6_0= ruleXOtherOperatorExpression )
+            	    {
+            	    // InternalReportDSL.g:9794:6: (lv_rightOperand_6_0= ruleXOtherOperatorExpression )
+            	    // InternalReportDSL.g:9795:7: lv_rightOperand_6_0= ruleXOtherOperatorExpression
+            	    {
+            	    if ( state.backtracking==0 ) {
+
+            	      							newCompositeNode(grammarAccess.getXRelationalExpressionAccess().getRightOperandXOtherOperatorExpressionParserRuleCall_1_1_1_0());
+            	      						
+            	    }
+            	    pushFollow(FOLLOW_134);
+            	    lv_rightOperand_6_0=ruleXOtherOperatorExpression();
+
+            	    state._fsp--;
+            	    if (state.failed) return current;
+            	    if ( state.backtracking==0 ) {
+
+            	      							if (current==null) {
+            	      								current = createModelElementForParent(grammarAccess.getXRelationalExpressionRule());
+            	      							}
+            	      							set(
+            	      								current,
+            	      								"rightOperand",
+            	      								lv_rightOperand_6_0,
+            	      								"org.eclipse.xtext.xbase.Xbase.XOtherOperatorExpression");
+            	      							afterParserOrEnumRuleCall();
+            	      						
+            	    }
+
+            	    }
+
+
+            	    }
+
+
+            	    }
+
+
+            	    }
+            	    break;
+
+            	default :
+            	    break loop122;
+                }
+            } while (true);
+
+
+            }
+
+
+            }
+
+            if ( state.backtracking==0 ) {
+
+              	leaveRule();
+
+            }
+        }
+
+            catch (RecognitionException re) {
+                recover(input,re);
+                appendSkippedTokens();
+            }
+        finally {
+        }
+        return current;
+    }
+    // $ANTLR end "ruleXRelationalExpression"
+
+
+    // $ANTLR start "entryRuleOpCompare"
+    // InternalReportDSL.g:9818:1: entryRuleOpCompare returns [String current=null] : iv_ruleOpCompare= ruleOpCompare EOF ;
+    public final String entryRuleOpCompare() throws RecognitionException {
+        String current = null;
+
+        AntlrDatatypeRuleToken iv_ruleOpCompare = null;
+
+
+        try {
+            // InternalReportDSL.g:9818:49: (iv_ruleOpCompare= ruleOpCompare EOF )
+            // InternalReportDSL.g:9819:2: iv_ruleOpCompare= ruleOpCompare EOF
+            {
+            if ( state.backtracking==0 ) {
+               newCompositeNode(grammarAccess.getOpCompareRule()); 
+            }
+            pushFollow(FOLLOW_1);
+            iv_ruleOpCompare=ruleOpCompare();
+
+            state._fsp--;
+            if (state.failed) return current;
+            if ( state.backtracking==0 ) {
+               current =iv_ruleOpCompare.getText(); 
+            }
+            match(input,EOF,FOLLOW_2); if (state.failed) return current;
+
+            }
+
+        }
+
+            catch (RecognitionException re) {
+                recover(input,re);
+                appendSkippedTokens();
+            }
+        finally {
+        }
+        return current;
+    }
+    // $ANTLR end "entryRuleOpCompare"
+
+
+    // $ANTLR start "ruleOpCompare"
+    // InternalReportDSL.g:9825:1: ruleOpCompare returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : (kw= '>=' | (kw= '<' kw= '=' ) | kw= '>' | kw= '<' ) ;
+    public final AntlrDatatypeRuleToken ruleOpCompare() throws RecognitionException {
+        AntlrDatatypeRuleToken current = new AntlrDatatypeRuleToken();
+
+        Token kw=null;
+
+
+        	enterRule();
+
+        try {
+            // InternalReportDSL.g:9831:2: ( (kw= '>=' | (kw= '<' kw= '=' ) | kw= '>' | kw= '<' ) )
+            // InternalReportDSL.g:9832:2: (kw= '>=' | (kw= '<' kw= '=' ) | kw= '>' | kw= '<' )
+            {
+            // InternalReportDSL.g:9832:2: (kw= '>=' | (kw= '<' kw= '=' ) | kw= '>' | kw= '<' )
+            int alt123=4;
+            switch ( input.LA(1) ) {
+            case 145:
+                {
+                alt123=1;
+                }
+                break;
+            case 143:
+                {
+                int LA123_2 = input.LA(2);
+
+                if ( (LA123_2==EOF||(LA123_2>=RULE_STRING && LA123_2<=RULE_DECIMAL)||LA123_2==14||LA123_2==39||LA123_2==102||LA123_2==115||(LA123_2>=126 && LA123_2<=128)||(LA123_2>=135 && LA123_2<=136)||LA123_2==143||LA123_2==159||LA123_2==163||LA123_2==170||LA123_2==172||(LA123_2>=176 && LA123_2<=178)||(LA123_2>=181 && LA123_2<=189)||LA123_2==191) ) {
+                    alt123=4;
+                }
+                else if ( (LA123_2==134) ) {
+                    alt123=2;
+                }
+                else {
+                    if (state.backtracking>0) {state.failed=true; return current;}
+                    NoViableAltException nvae =
+                        new NoViableAltException("", 123, 2, input);
+
+                    throw nvae;
+                }
+                }
+                break;
+            case 144:
+                {
+                alt123=3;
+                }
+                break;
+            default:
+                if (state.backtracking>0) {state.failed=true; return current;}
+                NoViableAltException nvae =
+                    new NoViableAltException("", 123, 0, input);
+
+                throw nvae;
+            }
+
+            switch (alt123) {
+                case 1 :
+                    // InternalReportDSL.g:9833:3: kw= '>='
+                    {
+                    kw=(Token)match(input,145,FOLLOW_2); if (state.failed) return current;
+                    if ( state.backtracking==0 ) {
+
+                      			current.merge(kw);
+                      			newLeafNode(kw, grammarAccess.getOpCompareAccess().getGreaterThanSignEqualsSignKeyword_0());
+                      		
+                    }
+
+                    }
+                    break;
+                case 2 :
+                    // InternalReportDSL.g:9839:3: (kw= '<' kw= '=' )
+                    {
+                    // InternalReportDSL.g:9839:3: (kw= '<' kw= '=' )
+                    // InternalReportDSL.g:9840:4: kw= '<' kw= '='
+                    {
+                    kw=(Token)match(input,143,FOLLOW_121); if (state.failed) return current;
+                    if ( state.backtracking==0 ) {
+
+                      				current.merge(kw);
+                      				newLeafNode(kw, grammarAccess.getOpCompareAccess().getLessThanSignKeyword_1_0());
+                      			
+                    }
+                    kw=(Token)match(input,134,FOLLOW_2); if (state.failed) return current;
+                    if ( state.backtracking==0 ) {
+
+                      				current.merge(kw);
+                      				newLeafNode(kw, grammarAccess.getOpCompareAccess().getEqualsSignKeyword_1_1());
+                      			
+                    }
+
+                    }
+
+
+                    }
+                    break;
+                case 3 :
+                    // InternalReportDSL.g:9852:3: kw= '>'
+                    {
+                    kw=(Token)match(input,144,FOLLOW_2); if (state.failed) return current;
+                    if ( state.backtracking==0 ) {
+
+                      			current.merge(kw);
+                      			newLeafNode(kw, grammarAccess.getOpCompareAccess().getGreaterThanSignKeyword_2());
+                      		
+                    }
+
+                    }
+                    break;
+                case 4 :
+                    // InternalReportDSL.g:9858:3: kw= '<'
+                    {
+                    kw=(Token)match(input,143,FOLLOW_2); if (state.failed) return current;
+                    if ( state.backtracking==0 ) {
+
+                      			current.merge(kw);
+                      			newLeafNode(kw, grammarAccess.getOpCompareAccess().getLessThanSignKeyword_3());
+                      		
+                    }
+
+                    }
+                    break;
+
+            }
+
+
+            }
+
+            if ( state.backtracking==0 ) {
+
+              	leaveRule();
+
+            }
+        }
+
+            catch (RecognitionException re) {
+                recover(input,re);
+                appendSkippedTokens();
+            }
+        finally {
+        }
+        return current;
+    }
+    // $ANTLR end "ruleOpCompare"
+
+
+    // $ANTLR start "entryRuleXOtherOperatorExpression"
+    // InternalReportDSL.g:9867:1: entryRuleXOtherOperatorExpression returns [EObject current=null] : iv_ruleXOtherOperatorExpression= ruleXOtherOperatorExpression EOF ;
+    public final EObject entryRuleXOtherOperatorExpression() throws RecognitionException {
+        EObject current = null;
+
+        EObject iv_ruleXOtherOperatorExpression = null;
+
+
+        try {
+            // InternalReportDSL.g:9867:65: (iv_ruleXOtherOperatorExpression= ruleXOtherOperatorExpression EOF )
+            // InternalReportDSL.g:9868:2: iv_ruleXOtherOperatorExpression= ruleXOtherOperatorExpression EOF
+            {
+            if ( state.backtracking==0 ) {
+               newCompositeNode(grammarAccess.getXOtherOperatorExpressionRule()); 
+            }
+            pushFollow(FOLLOW_1);
+            iv_ruleXOtherOperatorExpression=ruleXOtherOperatorExpression();
+
+            state._fsp--;
+            if (state.failed) return current;
+            if ( state.backtracking==0 ) {
+               current =iv_ruleXOtherOperatorExpression; 
+            }
+            match(input,EOF,FOLLOW_2); if (state.failed) return current;
+
+            }
+
+        }
+
+            catch (RecognitionException re) {
+                recover(input,re);
+                appendSkippedTokens();
+            }
+        finally {
+        }
+        return current;
+    }
+    // $ANTLR end "entryRuleXOtherOperatorExpression"
+
+
+    // $ANTLR start "ruleXOtherOperatorExpression"
+    // InternalReportDSL.g:9874:1: ruleXOtherOperatorExpression returns [EObject current=null] : (this_XAdditiveExpression_0= ruleXAdditiveExpression ( ( ( ( () ( ( ruleOpOther ) ) ) )=> ( () ( ( ruleOpOther ) ) ) ) ( (lv_rightOperand_3_0= ruleXAdditiveExpression ) ) )* ) ;
+    public final EObject ruleXOtherOperatorExpression() throws RecognitionException {
+        EObject current = null;
+
+        EObject this_XAdditiveExpression_0 = null;
+
+        EObject lv_rightOperand_3_0 = null;
+
+
+
+        	enterRule();
+
+        try {
+            // InternalReportDSL.g:9880:2: ( (this_XAdditiveExpression_0= ruleXAdditiveExpression ( ( ( ( () ( ( ruleOpOther ) ) ) )=> ( () ( ( ruleOpOther ) ) ) ) ( (lv_rightOperand_3_0= ruleXAdditiveExpression ) ) )* ) )
+            // InternalReportDSL.g:9881:2: (this_XAdditiveExpression_0= ruleXAdditiveExpression ( ( ( ( () ( ( ruleOpOther ) ) ) )=> ( () ( ( ruleOpOther ) ) ) ) ( (lv_rightOperand_3_0= ruleXAdditiveExpression ) ) )* )
+            {
+            // InternalReportDSL.g:9881:2: (this_XAdditiveExpression_0= ruleXAdditiveExpression ( ( ( ( () ( ( ruleOpOther ) ) ) )=> ( () ( ( ruleOpOther ) ) ) ) ( (lv_rightOperand_3_0= ruleXAdditiveExpression ) ) )* )
+            // InternalReportDSL.g:9882:3: this_XAdditiveExpression_0= ruleXAdditiveExpression ( ( ( ( () ( ( ruleOpOther ) ) ) )=> ( () ( ( ruleOpOther ) ) ) ) ( (lv_rightOperand_3_0= ruleXAdditiveExpression ) ) )*
+            {
+            if ( state.backtracking==0 ) {
+
+              			newCompositeNode(grammarAccess.getXOtherOperatorExpressionAccess().getXAdditiveExpressionParserRuleCall_0());
+              		
+            }
+            pushFollow(FOLLOW_136);
+            this_XAdditiveExpression_0=ruleXAdditiveExpression();
+
+            state._fsp--;
+            if (state.failed) return current;
+            if ( state.backtracking==0 ) {
+
+              			current = this_XAdditiveExpression_0;
+              			afterParserOrEnumRuleCall();
+              		
+            }
+            // InternalReportDSL.g:9890:3: ( ( ( ( () ( ( ruleOpOther ) ) ) )=> ( () ( ( ruleOpOther ) ) ) ) ( (lv_rightOperand_3_0= ruleXAdditiveExpression ) ) )*
+            loop124:
+            do {
+                int alt124=2;
+                alt124 = dfa124.predict(input);
+                switch (alt124) {
+            	case 1 :
+            	    // InternalReportDSL.g:9891:4: ( ( ( () ( ( ruleOpOther ) ) ) )=> ( () ( ( ruleOpOther ) ) ) ) ( (lv_rightOperand_3_0= ruleXAdditiveExpression ) )
+            	    {
+            	    // InternalReportDSL.g:9891:4: ( ( ( () ( ( ruleOpOther ) ) ) )=> ( () ( ( ruleOpOther ) ) ) )
+            	    // InternalReportDSL.g:9892:5: ( ( () ( ( ruleOpOther ) ) ) )=> ( () ( ( ruleOpOther ) ) )
+            	    {
+            	    // InternalReportDSL.g:9902:5: ( () ( ( ruleOpOther ) ) )
+            	    // InternalReportDSL.g:9903:6: () ( ( ruleOpOther ) )
+            	    {
+            	    // InternalReportDSL.g:9903:6: ()
+            	    // InternalReportDSL.g:9904:7: 
+            	    {
+            	    if ( state.backtracking==0 ) {
+
+            	      							current = forceCreateModelElementAndSet(
+            	      								grammarAccess.getXOtherOperatorExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0(),
+            	      								current);
+            	      						
+            	    }
+
+            	    }
+
+            	    // InternalReportDSL.g:9910:6: ( ( ruleOpOther ) )
+            	    // InternalReportDSL.g:9911:7: ( ruleOpOther )
+            	    {
+            	    // InternalReportDSL.g:9911:7: ( ruleOpOther )
+            	    // InternalReportDSL.g:9912:8: ruleOpOther
+            	    {
+            	    if ( state.backtracking==0 ) {
+
+            	      								if (current==null) {
+            	      									current = createModelElement(grammarAccess.getXOtherOperatorExpressionRule());
+            	      								}
+            	      							
+            	    }
+            	    if ( state.backtracking==0 ) {
+
+            	      								newCompositeNode(grammarAccess.getXOtherOperatorExpressionAccess().getFeatureJvmIdentifiableElementCrossReference_1_0_0_1_0());
+            	      							
+            	    }
+            	    pushFollow(FOLLOW_122);
+            	    ruleOpOther();
+
+            	    state._fsp--;
+            	    if (state.failed) return current;
+            	    if ( state.backtracking==0 ) {
+
+            	      								afterParserOrEnumRuleCall();
+            	      							
+            	    }
+
+            	    }
+
+
+            	    }
+
+
+            	    }
+
+
+            	    }
+
+            	    // InternalReportDSL.g:9928:4: ( (lv_rightOperand_3_0= ruleXAdditiveExpression ) )
+            	    // InternalReportDSL.g:9929:5: (lv_rightOperand_3_0= ruleXAdditiveExpression )
+            	    {
+            	    // InternalReportDSL.g:9929:5: (lv_rightOperand_3_0= ruleXAdditiveExpression )
+            	    // InternalReportDSL.g:9930:6: lv_rightOperand_3_0= ruleXAdditiveExpression
+            	    {
+            	    if ( state.backtracking==0 ) {
+
+            	      						newCompositeNode(grammarAccess.getXOtherOperatorExpressionAccess().getRightOperandXAdditiveExpressionParserRuleCall_1_1_0());
+            	      					
+            	    }
+            	    pushFollow(FOLLOW_136);
+            	    lv_rightOperand_3_0=ruleXAdditiveExpression();
+
+            	    state._fsp--;
+            	    if (state.failed) return current;
+            	    if ( state.backtracking==0 ) {
+
+            	      						if (current==null) {
+            	      							current = createModelElementForParent(grammarAccess.getXOtherOperatorExpressionRule());
+            	      						}
+            	      						set(
+            	      							current,
+            	      							"rightOperand",
+            	      							lv_rightOperand_3_0,
+            	      							"org.eclipse.xtext.xbase.Xbase.XAdditiveExpression");
+            	      						afterParserOrEnumRuleCall();
+            	      					
+            	    }
+
+            	    }
+
+
+            	    }
+
+
+            	    }
+            	    break;
+
+            	default :
+            	    break loop124;
+                }
+            } while (true);
+
+
+            }
+
+
+            }
+
+            if ( state.backtracking==0 ) {
+
+              	leaveRule();
+
+            }
+        }
+
+            catch (RecognitionException re) {
+                recover(input,re);
+                appendSkippedTokens();
+            }
+        finally {
+        }
+        return current;
+    }
+    // $ANTLR end "ruleXOtherOperatorExpression"
+
+
+    // $ANTLR start "entryRuleOpOther"
+    // InternalReportDSL.g:9952:1: entryRuleOpOther returns [String current=null] : iv_ruleOpOther= ruleOpOther EOF ;
+    public final String entryRuleOpOther() throws RecognitionException {
+        String current = null;
+
+        AntlrDatatypeRuleToken iv_ruleOpOther = null;
+
+
+        try {
+            // InternalReportDSL.g:9952:47: (iv_ruleOpOther= ruleOpOther EOF )
+            // InternalReportDSL.g:9953:2: iv_ruleOpOther= ruleOpOther EOF
+            {
+            if ( state.backtracking==0 ) {
+               newCompositeNode(grammarAccess.getOpOtherRule()); 
+            }
+            pushFollow(FOLLOW_1);
+            iv_ruleOpOther=ruleOpOther();
+
+            state._fsp--;
+            if (state.failed) return current;
+            if ( state.backtracking==0 ) {
+               current =iv_ruleOpOther.getText(); 
+            }
+            match(input,EOF,FOLLOW_2); if (state.failed) return current;
+
+            }
+
+        }
+
+            catch (RecognitionException re) {
+                recover(input,re);
+                appendSkippedTokens();
+            }
+        finally {
+        }
+        return current;
+    }
+    // $ANTLR end "entryRuleOpOther"
+
+
+    // $ANTLR start "ruleOpOther"
+    // InternalReportDSL.g:9959:1: ruleOpOther returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : (kw= '->' | kw= '..<' | (kw= '>' kw= '..' ) | kw= '..' | kw= '=>' | (kw= '>' ( ( ( ( '>' '>' ) )=> (kw= '>' kw= '>' ) ) | kw= '>' ) ) | (kw= '<' ( ( ( ( '<' '<' ) )=> (kw= '<' kw= '<' ) ) | kw= '<' | kw= '=>' ) ) | kw= '<>' | kw= '?:' ) ;
+    public final AntlrDatatypeRuleToken ruleOpOther() throws RecognitionException {
+        AntlrDatatypeRuleToken current = new AntlrDatatypeRuleToken();
+
+        Token kw=null;
+
+
+        	enterRule();
+
+        try {
+            // InternalReportDSL.g:9965:2: ( (kw= '->' | kw= '..<' | (kw= '>' kw= '..' ) | kw= '..' | kw= '=>' | (kw= '>' ( ( ( ( '>' '>' ) )=> (kw= '>' kw= '>' ) ) | kw= '>' ) ) | (kw= '<' ( ( ( ( '<' '<' ) )=> (kw= '<' kw= '<' ) ) | kw= '<' | kw= '=>' ) ) | kw= '<>' | kw= '?:' ) )
+            // InternalReportDSL.g:9966:2: (kw= '->' | kw= '..<' | (kw= '>' kw= '..' ) | kw= '..' | kw= '=>' | (kw= '>' ( ( ( ( '>' '>' ) )=> (kw= '>' kw= '>' ) ) | kw= '>' ) ) | (kw= '<' ( ( ( ( '<' '<' ) )=> (kw= '<' kw= '<' ) ) | kw= '<' | kw= '=>' ) ) | kw= '<>' | kw= '?:' )
+            {
+            // InternalReportDSL.g:9966:2: (kw= '->' | kw= '..<' | (kw= '>' kw= '..' ) | kw= '..' | kw= '=>' | (kw= '>' ( ( ( ( '>' '>' ) )=> (kw= '>' kw= '>' ) ) | kw= '>' ) ) | (kw= '<' ( ( ( ( '<' '<' ) )=> (kw= '<' kw= '<' ) ) | kw= '<' | kw= '=>' ) ) | kw= '<>' | kw= '?:' )
+            int alt127=9;
+            alt127 = dfa127.predict(input);
+            switch (alt127) {
+                case 1 :
+                    // InternalReportDSL.g:9967:3: kw= '->'
+                    {
+                    kw=(Token)match(input,153,FOLLOW_2); if (state.failed) return current;
+                    if ( state.backtracking==0 ) {
+
+                      			current.merge(kw);
+                      			newLeafNode(kw, grammarAccess.getOpOtherAccess().getHyphenMinusGreaterThanSignKeyword_0());
+                      		
+                    }
+
+                    }
+                    break;
+                case 2 :
+                    // InternalReportDSL.g:9973:3: kw= '..<'
+                    {
+                    kw=(Token)match(input,154,FOLLOW_2); if (state.failed) return current;
+                    if ( state.backtracking==0 ) {
+
+                      			current.merge(kw);
+                      			newLeafNode(kw, grammarAccess.getOpOtherAccess().getFullStopFullStopLessThanSignKeyword_1());
+                      		
+                    }
+
+                    }
+                    break;
+                case 3 :
+                    // InternalReportDSL.g:9979:3: (kw= '>' kw= '..' )
+                    {
+                    // InternalReportDSL.g:9979:3: (kw= '>' kw= '..' )
+                    // InternalReportDSL.g:9980:4: kw= '>' kw= '..'
+                    {
+                    kw=(Token)match(input,144,FOLLOW_137); if (state.failed) return current;
+                    if ( state.backtracking==0 ) {
+
+                      				current.merge(kw);
+                      				newLeafNode(kw, grammarAccess.getOpOtherAccess().getGreaterThanSignKeyword_2_0());
+                      			
+                    }
+                    kw=(Token)match(input,155,FOLLOW_2); if (state.failed) return current;
+                    if ( state.backtracking==0 ) {
+
+                      				current.merge(kw);
+                      				newLeafNode(kw, grammarAccess.getOpOtherAccess().getFullStopFullStopKeyword_2_1());
+                      			
+                    }
+
+                    }
+
+
+                    }
+                    break;
+                case 4 :
+                    // InternalReportDSL.g:9992:3: kw= '..'
+                    {
+                    kw=(Token)match(input,155,FOLLOW_2); if (state.failed) return current;
+                    if ( state.backtracking==0 ) {
+
+                      			current.merge(kw);
+                      			newLeafNode(kw, grammarAccess.getOpOtherAccess().getFullStopFullStopKeyword_3());
+                      		
+                    }
+
+                    }
+                    break;
+                case 5 :
+                    // InternalReportDSL.g:9998:3: kw= '=>'
+                    {
+                    kw=(Token)match(input,156,FOLLOW_2); if (state.failed) return current;
+                    if ( state.backtracking==0 ) {
+
+                      			current.merge(kw);
+                      			newLeafNode(kw, grammarAccess.getOpOtherAccess().getEqualsSignGreaterThanSignKeyword_4());
+                      		
+                    }
+
+                    }
+                    break;
+                case 6 :
+                    // InternalReportDSL.g:10004:3: (kw= '>' ( ( ( ( '>' '>' ) )=> (kw= '>' kw= '>' ) ) | kw= '>' ) )
+                    {
+                    // InternalReportDSL.g:10004:3: (kw= '>' ( ( ( ( '>' '>' ) )=> (kw= '>' kw= '>' ) ) | kw= '>' ) )
+                    // InternalReportDSL.g:10005:4: kw= '>' ( ( ( ( '>' '>' ) )=> (kw= '>' kw= '>' ) ) | kw= '>' )
+                    {
+                    kw=(Token)match(input,144,FOLLOW_138); if (state.failed) return current;
+                    if ( state.backtracking==0 ) {
+
+                      				current.merge(kw);
+                      				newLeafNode(kw, grammarAccess.getOpOtherAccess().getGreaterThanSignKeyword_5_0());
+                      			
+                    }
+                    // InternalReportDSL.g:10010:4: ( ( ( ( '>' '>' ) )=> (kw= '>' kw= '>' ) ) | kw= '>' )
+                    int alt125=2;
+                    int LA125_0 = input.LA(1);
+
+                    if ( (LA125_0==144) ) {
+                        int LA125_1 = input.LA(2);
+
+                        if ( (LA125_1==144) && (synpred14_InternalReportDSL())) {
+                            alt125=1;
+                        }
+                        else if ( (LA125_1==EOF||(LA125_1>=RULE_STRING && LA125_1<=RULE_DECIMAL)||LA125_1==14||LA125_1==39||LA125_1==102||LA125_1==115||(LA125_1>=126 && LA125_1<=128)||(LA125_1>=135 && LA125_1<=136)||LA125_1==143||LA125_1==159||LA125_1==163||LA125_1==170||LA125_1==172||(LA125_1>=176 && LA125_1<=178)||(LA125_1>=181 && LA125_1<=189)||LA125_1==191) ) {
+                            alt125=2;
+                        }
+                        else {
+                            if (state.backtracking>0) {state.failed=true; return current;}
+                            NoViableAltException nvae =
+                                new NoViableAltException("", 125, 1, input);
+
+                            throw nvae;
+                        }
+                    }
+                    else {
+                        if (state.backtracking>0) {state.failed=true; return current;}
+                        NoViableAltException nvae =
+                            new NoViableAltException("", 125, 0, input);
+
+                        throw nvae;
+                    }
+                    switch (alt125) {
+                        case 1 :
+                            // InternalReportDSL.g:10011:5: ( ( ( '>' '>' ) )=> (kw= '>' kw= '>' ) )
+                            {
+                            // InternalReportDSL.g:10011:5: ( ( ( '>' '>' ) )=> (kw= '>' kw= '>' ) )
+                            // InternalReportDSL.g:10012:6: ( ( '>' '>' ) )=> (kw= '>' kw= '>' )
+                            {
+                            // InternalReportDSL.g:10017:6: (kw= '>' kw= '>' )
+                            // InternalReportDSL.g:10018:7: kw= '>' kw= '>'
+                            {
+                            kw=(Token)match(input,144,FOLLOW_138); if (state.failed) return current;
+                            if ( state.backtracking==0 ) {
+
+                              							current.merge(kw);
+                              							newLeafNode(kw, grammarAccess.getOpOtherAccess().getGreaterThanSignKeyword_5_1_0_0_0());
+                              						
+                            }
+                            kw=(Token)match(input,144,FOLLOW_2); if (state.failed) return current;
+                            if ( state.backtracking==0 ) {
+
+                              							current.merge(kw);
+                              							newLeafNode(kw, grammarAccess.getOpOtherAccess().getGreaterThanSignKeyword_5_1_0_0_1());
+                              						
+                            }
+
+                            }
+
+
+                            }
+
+
+                            }
+                            break;
+                        case 2 :
+                            // InternalReportDSL.g:10031:5: kw= '>'
+                            {
+                            kw=(Token)match(input,144,FOLLOW_2); if (state.failed) return current;
+                            if ( state.backtracking==0 ) {
+
+                              					current.merge(kw);
+                              					newLeafNode(kw, grammarAccess.getOpOtherAccess().getGreaterThanSignKeyword_5_1_1());
+                              				
+                            }
+
+                            }
+                            break;
+
+                    }
+
+
+                    }
+
+
+                    }
+                    break;
+                case 7 :
+                    // InternalReportDSL.g:10039:3: (kw= '<' ( ( ( ( '<' '<' ) )=> (kw= '<' kw= '<' ) ) | kw= '<' | kw= '=>' ) )
+                    {
+                    // InternalReportDSL.g:10039:3: (kw= '<' ( ( ( ( '<' '<' ) )=> (kw= '<' kw= '<' ) ) | kw= '<' | kw= '=>' ) )
+                    // InternalReportDSL.g:10040:4: kw= '<' ( ( ( ( '<' '<' ) )=> (kw= '<' kw= '<' ) ) | kw= '<' | kw= '=>' )
+                    {
+                    kw=(Token)match(input,143,FOLLOW_139); if (state.failed) return current;
+                    if ( state.backtracking==0 ) {
+
+                      				current.merge(kw);
+                      				newLeafNode(kw, grammarAccess.getOpOtherAccess().getLessThanSignKeyword_6_0());
+                      			
+                    }
+                    // InternalReportDSL.g:10045:4: ( ( ( ( '<' '<' ) )=> (kw= '<' kw= '<' ) ) | kw= '<' | kw= '=>' )
+                    int alt126=3;
+                    int LA126_0 = input.LA(1);
+
+                    if ( (LA126_0==143) ) {
+                        int LA126_1 = input.LA(2);
+
+                        if ( (synpred15_InternalReportDSL()) ) {
+                            alt126=1;
+                        }
+                        else if ( (true) ) {
+                            alt126=2;
+                        }
+                        else {
+                            if (state.backtracking>0) {state.failed=true; return current;}
+                            NoViableAltException nvae =
+                                new NoViableAltException("", 126, 1, input);
+
+                            throw nvae;
+                        }
+                    }
+                    else if ( (LA126_0==156) ) {
+                        alt126=3;
+                    }
+                    else {
+                        if (state.backtracking>0) {state.failed=true; return current;}
+                        NoViableAltException nvae =
+                            new NoViableAltException("", 126, 0, input);
+
+                        throw nvae;
+                    }
+                    switch (alt126) {
+                        case 1 :
+                            // InternalReportDSL.g:10046:5: ( ( ( '<' '<' ) )=> (kw= '<' kw= '<' ) )
+                            {
+                            // InternalReportDSL.g:10046:5: ( ( ( '<' '<' ) )=> (kw= '<' kw= '<' ) )
+                            // InternalReportDSL.g:10047:6: ( ( '<' '<' ) )=> (kw= '<' kw= '<' )
+                            {
+                            // InternalReportDSL.g:10052:6: (kw= '<' kw= '<' )
+                            // InternalReportDSL.g:10053:7: kw= '<' kw= '<'
+                            {
+                            kw=(Token)match(input,143,FOLLOW_128); if (state.failed) return current;
+                            if ( state.backtracking==0 ) {
+
+                              							current.merge(kw);
+                              							newLeafNode(kw, grammarAccess.getOpOtherAccess().getLessThanSignKeyword_6_1_0_0_0());
+                              						
+                            }
+                            kw=(Token)match(input,143,FOLLOW_2); if (state.failed) return current;
+                            if ( state.backtracking==0 ) {
+
+                              							current.merge(kw);
+                              							newLeafNode(kw, grammarAccess.getOpOtherAccess().getLessThanSignKeyword_6_1_0_0_1());
+                              						
+                            }
+
+                            }
+
+
+                            }
+
+
+                            }
+                            break;
+                        case 2 :
+                            // InternalReportDSL.g:10066:5: kw= '<'
+                            {
+                            kw=(Token)match(input,143,FOLLOW_2); if (state.failed) return current;
+                            if ( state.backtracking==0 ) {
+
+                              					current.merge(kw);
+                              					newLeafNode(kw, grammarAccess.getOpOtherAccess().getLessThanSignKeyword_6_1_1());
+                              				
+                            }
+
+                            }
+                            break;
+                        case 3 :
+                            // InternalReportDSL.g:10072:5: kw= '=>'
+                            {
+                            kw=(Token)match(input,156,FOLLOW_2); if (state.failed) return current;
+                            if ( state.backtracking==0 ) {
+
+                              					current.merge(kw);
+                              					newLeafNode(kw, grammarAccess.getOpOtherAccess().getEqualsSignGreaterThanSignKeyword_6_1_2());
+                              				
+                            }
+
+                            }
+                            break;
+
+                    }
+
+
+                    }
+
+
+                    }
+                    break;
+                case 8 :
+                    // InternalReportDSL.g:10080:3: kw= '<>'
+                    {
+                    kw=(Token)match(input,157,FOLLOW_2); if (state.failed) return current;
+                    if ( state.backtracking==0 ) {
+
+                      			current.merge(kw);
+                      			newLeafNode(kw, grammarAccess.getOpOtherAccess().getLessThanSignGreaterThanSignKeyword_7());
+                      		
+                    }
+
+                    }
+                    break;
+                case 9 :
+                    // InternalReportDSL.g:10086:3: kw= '?:'
+                    {
+                    kw=(Token)match(input,158,FOLLOW_2); if (state.failed) return current;
+                    if ( state.backtracking==0 ) {
+
+                      			current.merge(kw);
+                      			newLeafNode(kw, grammarAccess.getOpOtherAccess().getQuestionMarkColonKeyword_8());
+                      		
+                    }
+
+                    }
+                    break;
+
+            }
+
+
+            }
+
+            if ( state.backtracking==0 ) {
+
+              	leaveRule();
+
+            }
+        }
+
+            catch (RecognitionException re) {
+                recover(input,re);
+                appendSkippedTokens();
+            }
+        finally {
+        }
+        return current;
+    }
+    // $ANTLR end "ruleOpOther"
+
+
+    // $ANTLR start "entryRuleXAdditiveExpression"
+    // InternalReportDSL.g:10095:1: entryRuleXAdditiveExpression returns [EObject current=null] : iv_ruleXAdditiveExpression= ruleXAdditiveExpression EOF ;
+    public final EObject entryRuleXAdditiveExpression() throws RecognitionException {
+        EObject current = null;
+
+        EObject iv_ruleXAdditiveExpression = null;
+
+
+        try {
+            // InternalReportDSL.g:10095:60: (iv_ruleXAdditiveExpression= ruleXAdditiveExpression EOF )
+            // InternalReportDSL.g:10096:2: iv_ruleXAdditiveExpression= ruleXAdditiveExpression EOF
+            {
+            if ( state.backtracking==0 ) {
+               newCompositeNode(grammarAccess.getXAdditiveExpressionRule()); 
+            }
+            pushFollow(FOLLOW_1);
+            iv_ruleXAdditiveExpression=ruleXAdditiveExpression();
+
+            state._fsp--;
+            if (state.failed) return current;
+            if ( state.backtracking==0 ) {
+               current =iv_ruleXAdditiveExpression; 
+            }
+            match(input,EOF,FOLLOW_2); if (state.failed) return current;
+
+            }
+
+        }
+
+            catch (RecognitionException re) {
+                recover(input,re);
+                appendSkippedTokens();
+            }
+        finally {
+        }
+        return current;
+    }
+    // $ANTLR end "entryRuleXAdditiveExpression"
+
+
+    // $ANTLR start "ruleXAdditiveExpression"
+    // InternalReportDSL.g:10102:1: ruleXAdditiveExpression returns [EObject current=null] : (this_XMultiplicativeExpression_0= ruleXMultiplicativeExpression ( ( ( ( () ( ( ruleOpAdd ) ) ) )=> ( () ( ( ruleOpAdd ) ) ) ) ( (lv_rightOperand_3_0= ruleXMultiplicativeExpression ) ) )* ) ;
+    public final EObject ruleXAdditiveExpression() throws RecognitionException {
+        EObject current = null;
+
+        EObject this_XMultiplicativeExpression_0 = null;
+
+        EObject lv_rightOperand_3_0 = null;
+
+
+
+        	enterRule();
+
+        try {
+            // InternalReportDSL.g:10108:2: ( (this_XMultiplicativeExpression_0= ruleXMultiplicativeExpression ( ( ( ( () ( ( ruleOpAdd ) ) ) )=> ( () ( ( ruleOpAdd ) ) ) ) ( (lv_rightOperand_3_0= ruleXMultiplicativeExpression ) ) )* ) )
+            // InternalReportDSL.g:10109:2: (this_XMultiplicativeExpression_0= ruleXMultiplicativeExpression ( ( ( ( () ( ( ruleOpAdd ) ) ) )=> ( () ( ( ruleOpAdd ) ) ) ) ( (lv_rightOperand_3_0= ruleXMultiplicativeExpression ) ) )* )
+            {
+            // InternalReportDSL.g:10109:2: (this_XMultiplicativeExpression_0= ruleXMultiplicativeExpression ( ( ( ( () ( ( ruleOpAdd ) ) ) )=> ( () ( ( ruleOpAdd ) ) ) ) ( (lv_rightOperand_3_0= ruleXMultiplicativeExpression ) ) )* )
+            // InternalReportDSL.g:10110:3: this_XMultiplicativeExpression_0= ruleXMultiplicativeExpression ( ( ( ( () ( ( ruleOpAdd ) ) ) )=> ( () ( ( ruleOpAdd ) ) ) ) ( (lv_rightOperand_3_0= ruleXMultiplicativeExpression ) ) )*
+            {
+            if ( state.backtracking==0 ) {
+
+              			newCompositeNode(grammarAccess.getXAdditiveExpressionAccess().getXMultiplicativeExpressionParserRuleCall_0());
+              		
+            }
+            pushFollow(FOLLOW_140);
+            this_XMultiplicativeExpression_0=ruleXMultiplicativeExpression();
+
+            state._fsp--;
+            if (state.failed) return current;
+            if ( state.backtracking==0 ) {
+
+              			current = this_XMultiplicativeExpression_0;
+              			afterParserOrEnumRuleCall();
+              		
+            }
+            // InternalReportDSL.g:10118:3: ( ( ( ( () ( ( ruleOpAdd ) ) ) )=> ( () ( ( ruleOpAdd ) ) ) ) ( (lv_rightOperand_3_0= ruleXMultiplicativeExpression ) ) )*
+            loop128:
+            do {
+                int alt128=2;
+                int LA128_0 = input.LA(1);
+
+                if ( (LA128_0==159) ) {
+                    int LA128_2 = input.LA(2);
+
+                    if ( (synpred16_InternalReportDSL()) ) {
+                        alt128=1;
+                    }
+
+
+                }
+                else if ( (LA128_0==115) ) {
+                    int LA128_3 = input.LA(2);
+
+                    if ( (synpred16_InternalReportDSL()) ) {
+                        alt128=1;
+                    }
+
+
+                }
+
+
+                switch (alt128) {
+            	case 1 :
+            	    // InternalReportDSL.g:10119:4: ( ( ( () ( ( ruleOpAdd ) ) ) )=> ( () ( ( ruleOpAdd ) ) ) ) ( (lv_rightOperand_3_0= ruleXMultiplicativeExpression ) )
+            	    {
+            	    // InternalReportDSL.g:10119:4: ( ( ( () ( ( ruleOpAdd ) ) ) )=> ( () ( ( ruleOpAdd ) ) ) )
+            	    // InternalReportDSL.g:10120:5: ( ( () ( ( ruleOpAdd ) ) ) )=> ( () ( ( ruleOpAdd ) ) )
+            	    {
+            	    // InternalReportDSL.g:10130:5: ( () ( ( ruleOpAdd ) ) )
+            	    // InternalReportDSL.g:10131:6: () ( ( ruleOpAdd ) )
+            	    {
+            	    // InternalReportDSL.g:10131:6: ()
+            	    // InternalReportDSL.g:10132:7: 
+            	    {
+            	    if ( state.backtracking==0 ) {
+
+            	      							current = forceCreateModelElementAndSet(
+            	      								grammarAccess.getXAdditiveExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0(),
+            	      								current);
+            	      						
+            	    }
+
+            	    }
+
+            	    // InternalReportDSL.g:10138:6: ( ( ruleOpAdd ) )
+            	    // InternalReportDSL.g:10139:7: ( ruleOpAdd )
+            	    {
+            	    // InternalReportDSL.g:10139:7: ( ruleOpAdd )
+            	    // InternalReportDSL.g:10140:8: ruleOpAdd
+            	    {
+            	    if ( state.backtracking==0 ) {
+
+            	      								if (current==null) {
+            	      									current = createModelElement(grammarAccess.getXAdditiveExpressionRule());
+            	      								}
+            	      							
+            	    }
+            	    if ( state.backtracking==0 ) {
+
+            	      								newCompositeNode(grammarAccess.getXAdditiveExpressionAccess().getFeatureJvmIdentifiableElementCrossReference_1_0_0_1_0());
+            	      							
+            	    }
+            	    pushFollow(FOLLOW_122);
+            	    ruleOpAdd();
+
+            	    state._fsp--;
+            	    if (state.failed) return current;
+            	    if ( state.backtracking==0 ) {
+
+            	      								afterParserOrEnumRuleCall();
+            	      							
+            	    }
+
+            	    }
+
+
+            	    }
+
+
+            	    }
+
+
+            	    }
+
+            	    // InternalReportDSL.g:10156:4: ( (lv_rightOperand_3_0= ruleXMultiplicativeExpression ) )
+            	    // InternalReportDSL.g:10157:5: (lv_rightOperand_3_0= ruleXMultiplicativeExpression )
+            	    {
+            	    // InternalReportDSL.g:10157:5: (lv_rightOperand_3_0= ruleXMultiplicativeExpression )
+            	    // InternalReportDSL.g:10158:6: lv_rightOperand_3_0= ruleXMultiplicativeExpression
+            	    {
+            	    if ( state.backtracking==0 ) {
+
+            	      						newCompositeNode(grammarAccess.getXAdditiveExpressionAccess().getRightOperandXMultiplicativeExpressionParserRuleCall_1_1_0());
+            	      					
+            	    }
+            	    pushFollow(FOLLOW_140);
+            	    lv_rightOperand_3_0=ruleXMultiplicativeExpression();
+
+            	    state._fsp--;
+            	    if (state.failed) return current;
+            	    if ( state.backtracking==0 ) {
+
+            	      						if (current==null) {
+            	      							current = createModelElementForParent(grammarAccess.getXAdditiveExpressionRule());
+            	      						}
+            	      						set(
+            	      							current,
+            	      							"rightOperand",
+            	      							lv_rightOperand_3_0,
+            	      							"org.eclipse.xtext.xbase.Xbase.XMultiplicativeExpression");
+            	      						afterParserOrEnumRuleCall();
+            	      					
+            	    }
+
+            	    }
+
+
+            	    }
+
+
+            	    }
+            	    break;
+
+            	default :
+            	    break loop128;
+                }
+            } while (true);
+
+
+            }
+
+
+            }
+
+            if ( state.backtracking==0 ) {
+
+              	leaveRule();
+
+            }
+        }
+
+            catch (RecognitionException re) {
+                recover(input,re);
+                appendSkippedTokens();
+            }
+        finally {
+        }
+        return current;
+    }
+    // $ANTLR end "ruleXAdditiveExpression"
+
+
+    // $ANTLR start "entryRuleOpAdd"
+    // InternalReportDSL.g:10180:1: entryRuleOpAdd returns [String current=null] : iv_ruleOpAdd= ruleOpAdd EOF ;
+    public final String entryRuleOpAdd() throws RecognitionException {
+        String current = null;
+
+        AntlrDatatypeRuleToken iv_ruleOpAdd = null;
+
+
+        try {
+            // InternalReportDSL.g:10180:45: (iv_ruleOpAdd= ruleOpAdd EOF )
+            // InternalReportDSL.g:10181:2: iv_ruleOpAdd= ruleOpAdd EOF
+            {
+            if ( state.backtracking==0 ) {
+               newCompositeNode(grammarAccess.getOpAddRule()); 
+            }
+            pushFollow(FOLLOW_1);
+            iv_ruleOpAdd=ruleOpAdd();
+
+            state._fsp--;
+            if (state.failed) return current;
+            if ( state.backtracking==0 ) {
+               current =iv_ruleOpAdd.getText(); 
+            }
+            match(input,EOF,FOLLOW_2); if (state.failed) return current;
+
+            }
+
+        }
+
+            catch (RecognitionException re) {
+                recover(input,re);
+                appendSkippedTokens();
+            }
+        finally {
+        }
+        return current;
+    }
+    // $ANTLR end "entryRuleOpAdd"
+
+
+    // $ANTLR start "ruleOpAdd"
+    // InternalReportDSL.g:10187:1: ruleOpAdd returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : (kw= '+' | kw= '-' ) ;
+    public final AntlrDatatypeRuleToken ruleOpAdd() throws RecognitionException {
+        AntlrDatatypeRuleToken current = new AntlrDatatypeRuleToken();
+
+        Token kw=null;
+
+
+        	enterRule();
+
+        try {
+            // InternalReportDSL.g:10193:2: ( (kw= '+' | kw= '-' ) )
+            // InternalReportDSL.g:10194:2: (kw= '+' | kw= '-' )
+            {
+            // InternalReportDSL.g:10194:2: (kw= '+' | kw= '-' )
+            int alt129=2;
+            int LA129_0 = input.LA(1);
+
+            if ( (LA129_0==159) ) {
+                alt129=1;
+            }
+            else if ( (LA129_0==115) ) {
+                alt129=2;
+            }
+            else {
+                if (state.backtracking>0) {state.failed=true; return current;}
+                NoViableAltException nvae =
+                    new NoViableAltException("", 129, 0, input);
+
+                throw nvae;
+            }
+            switch (alt129) {
+                case 1 :
+                    // InternalReportDSL.g:10195:3: kw= '+'
+                    {
+                    kw=(Token)match(input,159,FOLLOW_2); if (state.failed) return current;
+                    if ( state.backtracking==0 ) {
+
+                      			current.merge(kw);
+                      			newLeafNode(kw, grammarAccess.getOpAddAccess().getPlusSignKeyword_0());
+                      		
+                    }
+
+                    }
+                    break;
+                case 2 :
+                    // InternalReportDSL.g:10201:3: kw= '-'
+                    {
+                    kw=(Token)match(input,115,FOLLOW_2); if (state.failed) return current;
+                    if ( state.backtracking==0 ) {
+
+                      			current.merge(kw);
+                      			newLeafNode(kw, grammarAccess.getOpAddAccess().getHyphenMinusKeyword_1());
+                      		
+                    }
+
+                    }
+                    break;
+
+            }
+
+
+            }
+
+            if ( state.backtracking==0 ) {
+
+              	leaveRule();
+
+            }
+        }
+
+            catch (RecognitionException re) {
+                recover(input,re);
+                appendSkippedTokens();
+            }
+        finally {
+        }
+        return current;
+    }
+    // $ANTLR end "ruleOpAdd"
+
+
+    // $ANTLR start "entryRuleXMultiplicativeExpression"
+    // InternalReportDSL.g:10210:1: entryRuleXMultiplicativeExpression returns [EObject current=null] : iv_ruleXMultiplicativeExpression= ruleXMultiplicativeExpression EOF ;
+    public final EObject entryRuleXMultiplicativeExpression() throws RecognitionException {
+        EObject current = null;
+
+        EObject iv_ruleXMultiplicativeExpression = null;
+
+
+        try {
+            // InternalReportDSL.g:10210:66: (iv_ruleXMultiplicativeExpression= ruleXMultiplicativeExpression EOF )
+            // InternalReportDSL.g:10211:2: iv_ruleXMultiplicativeExpression= ruleXMultiplicativeExpression EOF
+            {
+            if ( state.backtracking==0 ) {
+               newCompositeNode(grammarAccess.getXMultiplicativeExpressionRule()); 
+            }
+            pushFollow(FOLLOW_1);
+            iv_ruleXMultiplicativeExpression=ruleXMultiplicativeExpression();
+
+            state._fsp--;
+            if (state.failed) return current;
+            if ( state.backtracking==0 ) {
+               current =iv_ruleXMultiplicativeExpression; 
+            }
+            match(input,EOF,FOLLOW_2); if (state.failed) return current;
+
+            }
+
+        }
+
+            catch (RecognitionException re) {
+                recover(input,re);
+                appendSkippedTokens();
+            }
+        finally {
+        }
+        return current;
+    }
+    // $ANTLR end "entryRuleXMultiplicativeExpression"
+
+
+    // $ANTLR start "ruleXMultiplicativeExpression"
+    // InternalReportDSL.g:10217:1: ruleXMultiplicativeExpression returns [EObject current=null] : (this_XUnaryOperation_0= ruleXUnaryOperation ( ( ( ( () ( ( ruleOpMulti ) ) ) )=> ( () ( ( ruleOpMulti ) ) ) ) ( (lv_rightOperand_3_0= ruleXUnaryOperation ) ) )* ) ;
+    public final EObject ruleXMultiplicativeExpression() throws RecognitionException {
+        EObject current = null;
+
+        EObject this_XUnaryOperation_0 = null;
+
+        EObject lv_rightOperand_3_0 = null;
+
+
+
+        	enterRule();
+
+        try {
+            // InternalReportDSL.g:10223:2: ( (this_XUnaryOperation_0= ruleXUnaryOperation ( ( ( ( () ( ( ruleOpMulti ) ) ) )=> ( () ( ( ruleOpMulti ) ) ) ) ( (lv_rightOperand_3_0= ruleXUnaryOperation ) ) )* ) )
+            // InternalReportDSL.g:10224:2: (this_XUnaryOperation_0= ruleXUnaryOperation ( ( ( ( () ( ( ruleOpMulti ) ) ) )=> ( () ( ( ruleOpMulti ) ) ) ) ( (lv_rightOperand_3_0= ruleXUnaryOperation ) ) )* )
+            {
+            // InternalReportDSL.g:10224:2: (this_XUnaryOperation_0= ruleXUnaryOperation ( ( ( ( () ( ( ruleOpMulti ) ) ) )=> ( () ( ( ruleOpMulti ) ) ) ) ( (lv_rightOperand_3_0= ruleXUnaryOperation ) ) )* )
+            // InternalReportDSL.g:10225:3: this_XUnaryOperation_0= ruleXUnaryOperation ( ( ( ( () ( ( ruleOpMulti ) ) ) )=> ( () ( ( ruleOpMulti ) ) ) ) ( (lv_rightOperand_3_0= ruleXUnaryOperation ) ) )*
+            {
+            if ( state.backtracking==0 ) {
+
+              			newCompositeNode(grammarAccess.getXMultiplicativeExpressionAccess().getXUnaryOperationParserRuleCall_0());
+              		
+            }
+            pushFollow(FOLLOW_141);
+            this_XUnaryOperation_0=ruleXUnaryOperation();
+
+            state._fsp--;
+            if (state.failed) return current;
+            if ( state.backtracking==0 ) {
+
+              			current = this_XUnaryOperation_0;
+              			afterParserOrEnumRuleCall();
+              		
+            }
+            // InternalReportDSL.g:10233:3: ( ( ( ( () ( ( ruleOpMulti ) ) ) )=> ( () ( ( ruleOpMulti ) ) ) ) ( (lv_rightOperand_3_0= ruleXUnaryOperation ) ) )*
+            loop130:
+            do {
+                int alt130=2;
+                switch ( input.LA(1) ) {
+                case 129:
+                    {
+                    int LA130_2 = input.LA(2);
+
+                    if ( (synpred17_InternalReportDSL()) ) {
+                        alt130=1;
+                    }
+
+
+                    }
+                    break;
+                case 160:
+                    {
+                    int LA130_3 = input.LA(2);
+
+                    if ( (synpred17_InternalReportDSL()) ) {
+                        alt130=1;
+                    }
+
+
+                    }
+                    break;
+                case 161:
+                    {
+                    int LA130_4 = input.LA(2);
+
+                    if ( (synpred17_InternalReportDSL()) ) {
+                        alt130=1;
+                    }
+
+
+                    }
+                    break;
+                case 162:
+                    {
+                    int LA130_5 = input.LA(2);
+
+                    if ( (synpred17_InternalReportDSL()) ) {
+                        alt130=1;
+                    }
+
+
+                    }
+                    break;
+
+                }
+
+                switch (alt130) {
+            	case 1 :
+            	    // InternalReportDSL.g:10234:4: ( ( ( () ( ( ruleOpMulti ) ) ) )=> ( () ( ( ruleOpMulti ) ) ) ) ( (lv_rightOperand_3_0= ruleXUnaryOperation ) )
+            	    {
+            	    // InternalReportDSL.g:10234:4: ( ( ( () ( ( ruleOpMulti ) ) ) )=> ( () ( ( ruleOpMulti ) ) ) )
+            	    // InternalReportDSL.g:10235:5: ( ( () ( ( ruleOpMulti ) ) ) )=> ( () ( ( ruleOpMulti ) ) )
+            	    {
+            	    // InternalReportDSL.g:10245:5: ( () ( ( ruleOpMulti ) ) )
+            	    // InternalReportDSL.g:10246:6: () ( ( ruleOpMulti ) )
+            	    {
+            	    // InternalReportDSL.g:10246:6: ()
+            	    // InternalReportDSL.g:10247:7: 
+            	    {
+            	    if ( state.backtracking==0 ) {
+
+            	      							current = forceCreateModelElementAndSet(
+            	      								grammarAccess.getXMultiplicativeExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0(),
+            	      								current);
+            	      						
+            	    }
+
+            	    }
+
+            	    // InternalReportDSL.g:10253:6: ( ( ruleOpMulti ) )
+            	    // InternalReportDSL.g:10254:7: ( ruleOpMulti )
+            	    {
+            	    // InternalReportDSL.g:10254:7: ( ruleOpMulti )
+            	    // InternalReportDSL.g:10255:8: ruleOpMulti
+            	    {
+            	    if ( state.backtracking==0 ) {
+
+            	      								if (current==null) {
+            	      									current = createModelElement(grammarAccess.getXMultiplicativeExpressionRule());
+            	      								}
+            	      							
+            	    }
+            	    if ( state.backtracking==0 ) {
+
+            	      								newCompositeNode(grammarAccess.getXMultiplicativeExpressionAccess().getFeatureJvmIdentifiableElementCrossReference_1_0_0_1_0());
+            	      							
+            	    }
+            	    pushFollow(FOLLOW_122);
+            	    ruleOpMulti();
+
+            	    state._fsp--;
+            	    if (state.failed) return current;
+            	    if ( state.backtracking==0 ) {
+
+            	      								afterParserOrEnumRuleCall();
+            	      							
+            	    }
+
+            	    }
+
+
+            	    }
+
+
+            	    }
+
+
+            	    }
+
+            	    // InternalReportDSL.g:10271:4: ( (lv_rightOperand_3_0= ruleXUnaryOperation ) )
+            	    // InternalReportDSL.g:10272:5: (lv_rightOperand_3_0= ruleXUnaryOperation )
+            	    {
+            	    // InternalReportDSL.g:10272:5: (lv_rightOperand_3_0= ruleXUnaryOperation )
+            	    // InternalReportDSL.g:10273:6: lv_rightOperand_3_0= ruleXUnaryOperation
+            	    {
+            	    if ( state.backtracking==0 ) {
+
+            	      						newCompositeNode(grammarAccess.getXMultiplicativeExpressionAccess().getRightOperandXUnaryOperationParserRuleCall_1_1_0());
+            	      					
+            	    }
+            	    pushFollow(FOLLOW_141);
+            	    lv_rightOperand_3_0=ruleXUnaryOperation();
+
+            	    state._fsp--;
+            	    if (state.failed) return current;
+            	    if ( state.backtracking==0 ) {
+
+            	      						if (current==null) {
+            	      							current = createModelElementForParent(grammarAccess.getXMultiplicativeExpressionRule());
+            	      						}
+            	      						set(
+            	      							current,
+            	      							"rightOperand",
+            	      							lv_rightOperand_3_0,
+            	      							"org.eclipse.xtext.xbase.Xbase.XUnaryOperation");
+            	      						afterParserOrEnumRuleCall();
+            	      					
+            	    }
+
+            	    }
+
+
+            	    }
+
+
+            	    }
+            	    break;
+
+            	default :
             	    break loop130;
                 }
             } while (true);
@@ -24662,2570 +28067,11 @@
         }
         return current;
     }
-    // $ANTLR end "ruleXOrExpression"
-
-
-    // $ANTLR start "entryRuleOpOr"
-    // InternalReportDSL.g:9123:1: entryRuleOpOr returns [String current=null] : iv_ruleOpOr= ruleOpOr EOF ;
-    public final String entryRuleOpOr() throws RecognitionException {
-        String current = null;
-
-        AntlrDatatypeRuleToken iv_ruleOpOr = null;
-
-
-        try {
-            // InternalReportDSL.g:9123:44: (iv_ruleOpOr= ruleOpOr EOF )
-            // InternalReportDSL.g:9124:2: iv_ruleOpOr= ruleOpOr EOF
-            {
-            if ( state.backtracking==0 ) {
-               newCompositeNode(grammarAccess.getOpOrRule()); 
-            }
-            pushFollow(FOLLOW_1);
-            iv_ruleOpOr=ruleOpOr();
-
-            state._fsp--;
-            if (state.failed) return current;
-            if ( state.backtracking==0 ) {
-               current =iv_ruleOpOr.getText(); 
-            }
-            match(input,EOF,FOLLOW_2); if (state.failed) return current;
-
-            }
-
-        }
-
-            catch (RecognitionException re) {
-                recover(input,re);
-                appendSkippedTokens();
-            }
-        finally {
-        }
-        return current;
-    }
-    // $ANTLR end "entryRuleOpOr"
-
-
-    // $ANTLR start "ruleOpOr"
-    // InternalReportDSL.g:9130:1: ruleOpOr returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : kw= '||' ;
-    public final AntlrDatatypeRuleToken ruleOpOr() throws RecognitionException {
-        AntlrDatatypeRuleToken current = new AntlrDatatypeRuleToken();
-
-        Token kw=null;
-
-
-        	enterRule();
-
-        try {
-            // InternalReportDSL.g:9136:2: (kw= '||' )
-            // InternalReportDSL.g:9137:2: kw= '||'
-            {
-            kw=(Token)match(input,147,FOLLOW_2); if (state.failed) return current;
-            if ( state.backtracking==0 ) {
-
-              		current.merge(kw);
-              		newLeafNode(kw, grammarAccess.getOpOrAccess().getVerticalLineVerticalLineKeyword());
-              	
-            }
-
-            }
-
-            if ( state.backtracking==0 ) {
-
-              	leaveRule();
-
-            }
-        }
-
-            catch (RecognitionException re) {
-                recover(input,re);
-                appendSkippedTokens();
-            }
-        finally {
-        }
-        return current;
-    }
-    // $ANTLR end "ruleOpOr"
-
-
-    // $ANTLR start "entryRuleXAndExpression"
-    // InternalReportDSL.g:9145:1: entryRuleXAndExpression returns [EObject current=null] : iv_ruleXAndExpression= ruleXAndExpression EOF ;
-    public final EObject entryRuleXAndExpression() throws RecognitionException {
-        EObject current = null;
-
-        EObject iv_ruleXAndExpression = null;
-
-
-        try {
-            // InternalReportDSL.g:9145:55: (iv_ruleXAndExpression= ruleXAndExpression EOF )
-            // InternalReportDSL.g:9146:2: iv_ruleXAndExpression= ruleXAndExpression EOF
-            {
-            if ( state.backtracking==0 ) {
-               newCompositeNode(grammarAccess.getXAndExpressionRule()); 
-            }
-            pushFollow(FOLLOW_1);
-            iv_ruleXAndExpression=ruleXAndExpression();
-
-            state._fsp--;
-            if (state.failed) return current;
-            if ( state.backtracking==0 ) {
-               current =iv_ruleXAndExpression; 
-            }
-            match(input,EOF,FOLLOW_2); if (state.failed) return current;
-
-            }
-
-        }
-
-            catch (RecognitionException re) {
-                recover(input,re);
-                appendSkippedTokens();
-            }
-        finally {
-        }
-        return current;
-    }
-    // $ANTLR end "entryRuleXAndExpression"
-
-
-    // $ANTLR start "ruleXAndExpression"
-    // InternalReportDSL.g:9152:1: ruleXAndExpression returns [EObject current=null] : (this_XEqualityExpression_0= ruleXEqualityExpression ( ( ( ( () ( ( ruleOpAnd ) ) ) )=> ( () ( ( ruleOpAnd ) ) ) ) ( (lv_rightOperand_3_0= ruleXEqualityExpression ) ) )* ) ;
-    public final EObject ruleXAndExpression() throws RecognitionException {
-        EObject current = null;
-
-        EObject this_XEqualityExpression_0 = null;
-
-        EObject lv_rightOperand_3_0 = null;
-
-
-
-        	enterRule();
-
-        try {
-            // InternalReportDSL.g:9158:2: ( (this_XEqualityExpression_0= ruleXEqualityExpression ( ( ( ( () ( ( ruleOpAnd ) ) ) )=> ( () ( ( ruleOpAnd ) ) ) ) ( (lv_rightOperand_3_0= ruleXEqualityExpression ) ) )* ) )
-            // InternalReportDSL.g:9159:2: (this_XEqualityExpression_0= ruleXEqualityExpression ( ( ( ( () ( ( ruleOpAnd ) ) ) )=> ( () ( ( ruleOpAnd ) ) ) ) ( (lv_rightOperand_3_0= ruleXEqualityExpression ) ) )* )
-            {
-            // InternalReportDSL.g:9159:2: (this_XEqualityExpression_0= ruleXEqualityExpression ( ( ( ( () ( ( ruleOpAnd ) ) ) )=> ( () ( ( ruleOpAnd ) ) ) ) ( (lv_rightOperand_3_0= ruleXEqualityExpression ) ) )* )
-            // InternalReportDSL.g:9160:3: this_XEqualityExpression_0= ruleXEqualityExpression ( ( ( ( () ( ( ruleOpAnd ) ) ) )=> ( () ( ( ruleOpAnd ) ) ) ) ( (lv_rightOperand_3_0= ruleXEqualityExpression ) ) )*
-            {
-            if ( state.backtracking==0 ) {
-
-              			newCompositeNode(grammarAccess.getXAndExpressionAccess().getXEqualityExpressionParserRuleCall_0());
-              		
-            }
-            pushFollow(FOLLOW_140);
-            this_XEqualityExpression_0=ruleXEqualityExpression();
-
-            state._fsp--;
-            if (state.failed) return current;
-            if ( state.backtracking==0 ) {
-
-              			current = this_XEqualityExpression_0;
-              			afterParserOrEnumRuleCall();
-              		
-            }
-            // InternalReportDSL.g:9168:3: ( ( ( ( () ( ( ruleOpAnd ) ) ) )=> ( () ( ( ruleOpAnd ) ) ) ) ( (lv_rightOperand_3_0= ruleXEqualityExpression ) ) )*
-            loop131:
-            do {
-                int alt131=2;
-                int LA131_0 = input.LA(1);
-
-                if ( (LA131_0==148) ) {
-                    int LA131_2 = input.LA(2);
-
-                    if ( (synpred9_InternalReportDSL()) ) {
-                        alt131=1;
-                    }
-
-
-                }
-
-
-                switch (alt131) {
-            	case 1 :
-            	    // InternalReportDSL.g:9169:4: ( ( ( () ( ( ruleOpAnd ) ) ) )=> ( () ( ( ruleOpAnd ) ) ) ) ( (lv_rightOperand_3_0= ruleXEqualityExpression ) )
-            	    {
-            	    // InternalReportDSL.g:9169:4: ( ( ( () ( ( ruleOpAnd ) ) ) )=> ( () ( ( ruleOpAnd ) ) ) )
-            	    // InternalReportDSL.g:9170:5: ( ( () ( ( ruleOpAnd ) ) ) )=> ( () ( ( ruleOpAnd ) ) )
-            	    {
-            	    // InternalReportDSL.g:9180:5: ( () ( ( ruleOpAnd ) ) )
-            	    // InternalReportDSL.g:9181:6: () ( ( ruleOpAnd ) )
-            	    {
-            	    // InternalReportDSL.g:9181:6: ()
-            	    // InternalReportDSL.g:9182:7: 
-            	    {
-            	    if ( state.backtracking==0 ) {
-
-            	      							current = forceCreateModelElementAndSet(
-            	      								grammarAccess.getXAndExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0(),
-            	      								current);
-            	      						
-            	    }
-
-            	    }
-
-            	    // InternalReportDSL.g:9188:6: ( ( ruleOpAnd ) )
-            	    // InternalReportDSL.g:9189:7: ( ruleOpAnd )
-            	    {
-            	    // InternalReportDSL.g:9189:7: ( ruleOpAnd )
-            	    // InternalReportDSL.g:9190:8: ruleOpAnd
-            	    {
-            	    if ( state.backtracking==0 ) {
-
-            	      								if (current==null) {
-            	      									current = createModelElement(grammarAccess.getXAndExpressionRule());
-            	      								}
-            	      							
-            	    }
-            	    if ( state.backtracking==0 ) {
-
-            	      								newCompositeNode(grammarAccess.getXAndExpressionAccess().getFeatureJvmIdentifiableElementCrossReference_1_0_0_1_0());
-            	      							
-            	    }
-            	    pushFollow(FOLLOW_130);
-            	    ruleOpAnd();
-
-            	    state._fsp--;
-            	    if (state.failed) return current;
-            	    if ( state.backtracking==0 ) {
-
-            	      								afterParserOrEnumRuleCall();
-            	      							
-            	    }
-
-            	    }
-
-
-            	    }
-
-
-            	    }
-
-
-            	    }
-
-            	    // InternalReportDSL.g:9206:4: ( (lv_rightOperand_3_0= ruleXEqualityExpression ) )
-            	    // InternalReportDSL.g:9207:5: (lv_rightOperand_3_0= ruleXEqualityExpression )
-            	    {
-            	    // InternalReportDSL.g:9207:5: (lv_rightOperand_3_0= ruleXEqualityExpression )
-            	    // InternalReportDSL.g:9208:6: lv_rightOperand_3_0= ruleXEqualityExpression
-            	    {
-            	    if ( state.backtracking==0 ) {
-
-            	      						newCompositeNode(grammarAccess.getXAndExpressionAccess().getRightOperandXEqualityExpressionParserRuleCall_1_1_0());
-            	      					
-            	    }
-            	    pushFollow(FOLLOW_140);
-            	    lv_rightOperand_3_0=ruleXEqualityExpression();
-
-            	    state._fsp--;
-            	    if (state.failed) return current;
-            	    if ( state.backtracking==0 ) {
-
-            	      						if (current==null) {
-            	      							current = createModelElementForParent(grammarAccess.getXAndExpressionRule());
-            	      						}
-            	      						set(
-            	      							current,
-            	      							"rightOperand",
-            	      							lv_rightOperand_3_0,
-            	      							"org.eclipse.xtext.xbase.Xbase.XEqualityExpression");
-            	      						afterParserOrEnumRuleCall();
-            	      					
-            	    }
-
-            	    }
-
-
-            	    }
-
-
-            	    }
-            	    break;
-
-            	default :
-            	    break loop131;
-                }
-            } while (true);
-
-
-            }
-
-
-            }
-
-            if ( state.backtracking==0 ) {
-
-              	leaveRule();
-
-            }
-        }
-
-            catch (RecognitionException re) {
-                recover(input,re);
-                appendSkippedTokens();
-            }
-        finally {
-        }
-        return current;
-    }
-    // $ANTLR end "ruleXAndExpression"
-
-
-    // $ANTLR start "entryRuleOpAnd"
-    // InternalReportDSL.g:9230:1: entryRuleOpAnd returns [String current=null] : iv_ruleOpAnd= ruleOpAnd EOF ;
-    public final String entryRuleOpAnd() throws RecognitionException {
-        String current = null;
-
-        AntlrDatatypeRuleToken iv_ruleOpAnd = null;
-
-
-        try {
-            // InternalReportDSL.g:9230:45: (iv_ruleOpAnd= ruleOpAnd EOF )
-            // InternalReportDSL.g:9231:2: iv_ruleOpAnd= ruleOpAnd EOF
-            {
-            if ( state.backtracking==0 ) {
-               newCompositeNode(grammarAccess.getOpAndRule()); 
-            }
-            pushFollow(FOLLOW_1);
-            iv_ruleOpAnd=ruleOpAnd();
-
-            state._fsp--;
-            if (state.failed) return current;
-            if ( state.backtracking==0 ) {
-               current =iv_ruleOpAnd.getText(); 
-            }
-            match(input,EOF,FOLLOW_2); if (state.failed) return current;
-
-            }
-
-        }
-
-            catch (RecognitionException re) {
-                recover(input,re);
-                appendSkippedTokens();
-            }
-        finally {
-        }
-        return current;
-    }
-    // $ANTLR end "entryRuleOpAnd"
-
-
-    // $ANTLR start "ruleOpAnd"
-    // InternalReportDSL.g:9237:1: ruleOpAnd returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : kw= '&&' ;
-    public final AntlrDatatypeRuleToken ruleOpAnd() throws RecognitionException {
-        AntlrDatatypeRuleToken current = new AntlrDatatypeRuleToken();
-
-        Token kw=null;
-
-
-        	enterRule();
-
-        try {
-            // InternalReportDSL.g:9243:2: (kw= '&&' )
-            // InternalReportDSL.g:9244:2: kw= '&&'
-            {
-            kw=(Token)match(input,148,FOLLOW_2); if (state.failed) return current;
-            if ( state.backtracking==0 ) {
-
-              		current.merge(kw);
-              		newLeafNode(kw, grammarAccess.getOpAndAccess().getAmpersandAmpersandKeyword());
-              	
-            }
-
-            }
-
-            if ( state.backtracking==0 ) {
-
-              	leaveRule();
-
-            }
-        }
-
-            catch (RecognitionException re) {
-                recover(input,re);
-                appendSkippedTokens();
-            }
-        finally {
-        }
-        return current;
-    }
-    // $ANTLR end "ruleOpAnd"
-
-
-    // $ANTLR start "entryRuleXEqualityExpression"
-    // InternalReportDSL.g:9252:1: entryRuleXEqualityExpression returns [EObject current=null] : iv_ruleXEqualityExpression= ruleXEqualityExpression EOF ;
-    public final EObject entryRuleXEqualityExpression() throws RecognitionException {
-        EObject current = null;
-
-        EObject iv_ruleXEqualityExpression = null;
-
-
-        try {
-            // InternalReportDSL.g:9252:60: (iv_ruleXEqualityExpression= ruleXEqualityExpression EOF )
-            // InternalReportDSL.g:9253:2: iv_ruleXEqualityExpression= ruleXEqualityExpression EOF
-            {
-            if ( state.backtracking==0 ) {
-               newCompositeNode(grammarAccess.getXEqualityExpressionRule()); 
-            }
-            pushFollow(FOLLOW_1);
-            iv_ruleXEqualityExpression=ruleXEqualityExpression();
-
-            state._fsp--;
-            if (state.failed) return current;
-            if ( state.backtracking==0 ) {
-               current =iv_ruleXEqualityExpression; 
-            }
-            match(input,EOF,FOLLOW_2); if (state.failed) return current;
-
-            }
-
-        }
-
-            catch (RecognitionException re) {
-                recover(input,re);
-                appendSkippedTokens();
-            }
-        finally {
-        }
-        return current;
-    }
-    // $ANTLR end "entryRuleXEqualityExpression"
-
-
-    // $ANTLR start "ruleXEqualityExpression"
-    // InternalReportDSL.g:9259:1: ruleXEqualityExpression returns [EObject current=null] : (this_XRelationalExpression_0= ruleXRelationalExpression ( ( ( ( () ( ( ruleOpEquality ) ) ) )=> ( () ( ( ruleOpEquality ) ) ) ) ( (lv_rightOperand_3_0= ruleXRelationalExpression ) ) )* ) ;
-    public final EObject ruleXEqualityExpression() throws RecognitionException {
-        EObject current = null;
-
-        EObject this_XRelationalExpression_0 = null;
-
-        EObject lv_rightOperand_3_0 = null;
-
-
-
-        	enterRule();
-
-        try {
-            // InternalReportDSL.g:9265:2: ( (this_XRelationalExpression_0= ruleXRelationalExpression ( ( ( ( () ( ( ruleOpEquality ) ) ) )=> ( () ( ( ruleOpEquality ) ) ) ) ( (lv_rightOperand_3_0= ruleXRelationalExpression ) ) )* ) )
-            // InternalReportDSL.g:9266:2: (this_XRelationalExpression_0= ruleXRelationalExpression ( ( ( ( () ( ( ruleOpEquality ) ) ) )=> ( () ( ( ruleOpEquality ) ) ) ) ( (lv_rightOperand_3_0= ruleXRelationalExpression ) ) )* )
-            {
-            // InternalReportDSL.g:9266:2: (this_XRelationalExpression_0= ruleXRelationalExpression ( ( ( ( () ( ( ruleOpEquality ) ) ) )=> ( () ( ( ruleOpEquality ) ) ) ) ( (lv_rightOperand_3_0= ruleXRelationalExpression ) ) )* )
-            // InternalReportDSL.g:9267:3: this_XRelationalExpression_0= ruleXRelationalExpression ( ( ( ( () ( ( ruleOpEquality ) ) ) )=> ( () ( ( ruleOpEquality ) ) ) ) ( (lv_rightOperand_3_0= ruleXRelationalExpression ) ) )*
-            {
-            if ( state.backtracking==0 ) {
-
-              			newCompositeNode(grammarAccess.getXEqualityExpressionAccess().getXRelationalExpressionParserRuleCall_0());
-              		
-            }
-            pushFollow(FOLLOW_141);
-            this_XRelationalExpression_0=ruleXRelationalExpression();
-
-            state._fsp--;
-            if (state.failed) return current;
-            if ( state.backtracking==0 ) {
-
-              			current = this_XRelationalExpression_0;
-              			afterParserOrEnumRuleCall();
-              		
-            }
-            // InternalReportDSL.g:9275:3: ( ( ( ( () ( ( ruleOpEquality ) ) ) )=> ( () ( ( ruleOpEquality ) ) ) ) ( (lv_rightOperand_3_0= ruleXRelationalExpression ) ) )*
-            loop132:
-            do {
-                int alt132=2;
-                switch ( input.LA(1) ) {
-                case 149:
-                    {
-                    int LA132_2 = input.LA(2);
-
-                    if ( (synpred10_InternalReportDSL()) ) {
-                        alt132=1;
-                    }
-
-
-                    }
-                    break;
-                case 150:
-                    {
-                    int LA132_3 = input.LA(2);
-
-                    if ( (synpred10_InternalReportDSL()) ) {
-                        alt132=1;
-                    }
-
-
-                    }
-                    break;
-                case 151:
-                    {
-                    int LA132_4 = input.LA(2);
-
-                    if ( (synpred10_InternalReportDSL()) ) {
-                        alt132=1;
-                    }
-
-
-                    }
-                    break;
-                case 152:
-                    {
-                    int LA132_5 = input.LA(2);
-
-                    if ( (synpred10_InternalReportDSL()) ) {
-                        alt132=1;
-                    }
-
-
-                    }
-                    break;
-
-                }
-
-                switch (alt132) {
-            	case 1 :
-            	    // InternalReportDSL.g:9276:4: ( ( ( () ( ( ruleOpEquality ) ) ) )=> ( () ( ( ruleOpEquality ) ) ) ) ( (lv_rightOperand_3_0= ruleXRelationalExpression ) )
-            	    {
-            	    // InternalReportDSL.g:9276:4: ( ( ( () ( ( ruleOpEquality ) ) ) )=> ( () ( ( ruleOpEquality ) ) ) )
-            	    // InternalReportDSL.g:9277:5: ( ( () ( ( ruleOpEquality ) ) ) )=> ( () ( ( ruleOpEquality ) ) )
-            	    {
-            	    // InternalReportDSL.g:9287:5: ( () ( ( ruleOpEquality ) ) )
-            	    // InternalReportDSL.g:9288:6: () ( ( ruleOpEquality ) )
-            	    {
-            	    // InternalReportDSL.g:9288:6: ()
-            	    // InternalReportDSL.g:9289:7: 
-            	    {
-            	    if ( state.backtracking==0 ) {
-
-            	      							current = forceCreateModelElementAndSet(
-            	      								grammarAccess.getXEqualityExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0(),
-            	      								current);
-            	      						
-            	    }
-
-            	    }
-
-            	    // InternalReportDSL.g:9295:6: ( ( ruleOpEquality ) )
-            	    // InternalReportDSL.g:9296:7: ( ruleOpEquality )
-            	    {
-            	    // InternalReportDSL.g:9296:7: ( ruleOpEquality )
-            	    // InternalReportDSL.g:9297:8: ruleOpEquality
-            	    {
-            	    if ( state.backtracking==0 ) {
-
-            	      								if (current==null) {
-            	      									current = createModelElement(grammarAccess.getXEqualityExpressionRule());
-            	      								}
-            	      							
-            	    }
-            	    if ( state.backtracking==0 ) {
-
-            	      								newCompositeNode(grammarAccess.getXEqualityExpressionAccess().getFeatureJvmIdentifiableElementCrossReference_1_0_0_1_0());
-            	      							
-            	    }
-            	    pushFollow(FOLLOW_130);
-            	    ruleOpEquality();
-
-            	    state._fsp--;
-            	    if (state.failed) return current;
-            	    if ( state.backtracking==0 ) {
-
-            	      								afterParserOrEnumRuleCall();
-            	      							
-            	    }
-
-            	    }
-
-
-            	    }
-
-
-            	    }
-
-
-            	    }
-
-            	    // InternalReportDSL.g:9313:4: ( (lv_rightOperand_3_0= ruleXRelationalExpression ) )
-            	    // InternalReportDSL.g:9314:5: (lv_rightOperand_3_0= ruleXRelationalExpression )
-            	    {
-            	    // InternalReportDSL.g:9314:5: (lv_rightOperand_3_0= ruleXRelationalExpression )
-            	    // InternalReportDSL.g:9315:6: lv_rightOperand_3_0= ruleXRelationalExpression
-            	    {
-            	    if ( state.backtracking==0 ) {
-
-            	      						newCompositeNode(grammarAccess.getXEqualityExpressionAccess().getRightOperandXRelationalExpressionParserRuleCall_1_1_0());
-            	      					
-            	    }
-            	    pushFollow(FOLLOW_141);
-            	    lv_rightOperand_3_0=ruleXRelationalExpression();
-
-            	    state._fsp--;
-            	    if (state.failed) return current;
-            	    if ( state.backtracking==0 ) {
-
-            	      						if (current==null) {
-            	      							current = createModelElementForParent(grammarAccess.getXEqualityExpressionRule());
-            	      						}
-            	      						set(
-            	      							current,
-            	      							"rightOperand",
-            	      							lv_rightOperand_3_0,
-            	      							"org.eclipse.xtext.xbase.Xbase.XRelationalExpression");
-            	      						afterParserOrEnumRuleCall();
-            	      					
-            	    }
-
-            	    }
-
-
-            	    }
-
-
-            	    }
-            	    break;
-
-            	default :
-            	    break loop132;
-                }
-            } while (true);
-
-
-            }
-
-
-            }
-
-            if ( state.backtracking==0 ) {
-
-              	leaveRule();
-
-            }
-        }
-
-            catch (RecognitionException re) {
-                recover(input,re);
-                appendSkippedTokens();
-            }
-        finally {
-        }
-        return current;
-    }
-    // $ANTLR end "ruleXEqualityExpression"
-
-
-    // $ANTLR start "entryRuleOpEquality"
-    // InternalReportDSL.g:9337:1: entryRuleOpEquality returns [String current=null] : iv_ruleOpEquality= ruleOpEquality EOF ;
-    public final String entryRuleOpEquality() throws RecognitionException {
-        String current = null;
-
-        AntlrDatatypeRuleToken iv_ruleOpEquality = null;
-
-
-        try {
-            // InternalReportDSL.g:9337:50: (iv_ruleOpEquality= ruleOpEquality EOF )
-            // InternalReportDSL.g:9338:2: iv_ruleOpEquality= ruleOpEquality EOF
-            {
-            if ( state.backtracking==0 ) {
-               newCompositeNode(grammarAccess.getOpEqualityRule()); 
-            }
-            pushFollow(FOLLOW_1);
-            iv_ruleOpEquality=ruleOpEquality();
-
-            state._fsp--;
-            if (state.failed) return current;
-            if ( state.backtracking==0 ) {
-               current =iv_ruleOpEquality.getText(); 
-            }
-            match(input,EOF,FOLLOW_2); if (state.failed) return current;
-
-            }
-
-        }
-
-            catch (RecognitionException re) {
-                recover(input,re);
-                appendSkippedTokens();
-            }
-        finally {
-        }
-        return current;
-    }
-    // $ANTLR end "entryRuleOpEquality"
-
-
-    // $ANTLR start "ruleOpEquality"
-    // InternalReportDSL.g:9344:1: ruleOpEquality returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : (kw= '==' | kw= '!=' | kw= '===' | kw= '!==' ) ;
-    public final AntlrDatatypeRuleToken ruleOpEquality() throws RecognitionException {
-        AntlrDatatypeRuleToken current = new AntlrDatatypeRuleToken();
-
-        Token kw=null;
-
-
-        	enterRule();
-
-        try {
-            // InternalReportDSL.g:9350:2: ( (kw= '==' | kw= '!=' | kw= '===' | kw= '!==' ) )
-            // InternalReportDSL.g:9351:2: (kw= '==' | kw= '!=' | kw= '===' | kw= '!==' )
-            {
-            // InternalReportDSL.g:9351:2: (kw= '==' | kw= '!=' | kw= '===' | kw= '!==' )
-            int alt133=4;
-            switch ( input.LA(1) ) {
-            case 149:
-                {
-                alt133=1;
-                }
-                break;
-            case 150:
-                {
-                alt133=2;
-                }
-                break;
-            case 151:
-                {
-                alt133=3;
-                }
-                break;
-            case 152:
-                {
-                alt133=4;
-                }
-                break;
-            default:
-                if (state.backtracking>0) {state.failed=true; return current;}
-                NoViableAltException nvae =
-                    new NoViableAltException("", 133, 0, input);
-
-                throw nvae;
-            }
-
-            switch (alt133) {
-                case 1 :
-                    // InternalReportDSL.g:9352:3: kw= '=='
-                    {
-                    kw=(Token)match(input,149,FOLLOW_2); if (state.failed) return current;
-                    if ( state.backtracking==0 ) {
-
-                      			current.merge(kw);
-                      			newLeafNode(kw, grammarAccess.getOpEqualityAccess().getEqualsSignEqualsSignKeyword_0());
-                      		
-                    }
-
-                    }
-                    break;
-                case 2 :
-                    // InternalReportDSL.g:9358:3: kw= '!='
-                    {
-                    kw=(Token)match(input,150,FOLLOW_2); if (state.failed) return current;
-                    if ( state.backtracking==0 ) {
-
-                      			current.merge(kw);
-                      			newLeafNode(kw, grammarAccess.getOpEqualityAccess().getExclamationMarkEqualsSignKeyword_1());
-                      		
-                    }
-
-                    }
-                    break;
-                case 3 :
-                    // InternalReportDSL.g:9364:3: kw= '==='
-                    {
-                    kw=(Token)match(input,151,FOLLOW_2); if (state.failed) return current;
-                    if ( state.backtracking==0 ) {
-
-                      			current.merge(kw);
-                      			newLeafNode(kw, grammarAccess.getOpEqualityAccess().getEqualsSignEqualsSignEqualsSignKeyword_2());
-                      		
-                    }
-
-                    }
-                    break;
-                case 4 :
-                    // InternalReportDSL.g:9370:3: kw= '!=='
-                    {
-                    kw=(Token)match(input,152,FOLLOW_2); if (state.failed) return current;
-                    if ( state.backtracking==0 ) {
-
-                      			current.merge(kw);
-                      			newLeafNode(kw, grammarAccess.getOpEqualityAccess().getExclamationMarkEqualsSignEqualsSignKeyword_3());
-                      		
-                    }
-
-                    }
-                    break;
-
-            }
-
-
-            }
-
-            if ( state.backtracking==0 ) {
-
-              	leaveRule();
-
-            }
-        }
-
-            catch (RecognitionException re) {
-                recover(input,re);
-                appendSkippedTokens();
-            }
-        finally {
-        }
-        return current;
-    }
-    // $ANTLR end "ruleOpEquality"
-
-
-    // $ANTLR start "entryRuleXRelationalExpression"
-    // InternalReportDSL.g:9379:1: entryRuleXRelationalExpression returns [EObject current=null] : iv_ruleXRelationalExpression= ruleXRelationalExpression EOF ;
-    public final EObject entryRuleXRelationalExpression() throws RecognitionException {
-        EObject current = null;
-
-        EObject iv_ruleXRelationalExpression = null;
-
-
-        try {
-            // InternalReportDSL.g:9379:62: (iv_ruleXRelationalExpression= ruleXRelationalExpression EOF )
-            // InternalReportDSL.g:9380:2: iv_ruleXRelationalExpression= ruleXRelationalExpression EOF
-            {
-            if ( state.backtracking==0 ) {
-               newCompositeNode(grammarAccess.getXRelationalExpressionRule()); 
-            }
-            pushFollow(FOLLOW_1);
-            iv_ruleXRelationalExpression=ruleXRelationalExpression();
-
-            state._fsp--;
-            if (state.failed) return current;
-            if ( state.backtracking==0 ) {
-               current =iv_ruleXRelationalExpression; 
-            }
-            match(input,EOF,FOLLOW_2); if (state.failed) return current;
-
-            }
-
-        }
-
-            catch (RecognitionException re) {
-                recover(input,re);
-                appendSkippedTokens();
-            }
-        finally {
-        }
-        return current;
-    }
-    // $ANTLR end "entryRuleXRelationalExpression"
-
-
-    // $ANTLR start "ruleXRelationalExpression"
-    // InternalReportDSL.g:9386:1: ruleXRelationalExpression returns [EObject current=null] : (this_XOtherOperatorExpression_0= ruleXOtherOperatorExpression ( ( ( ( ( () 'instanceof' ) )=> ( () otherlv_2= 'instanceof' ) ) ( (lv_type_3_0= ruleJvmTypeReference ) ) ) | ( ( ( ( () ( ( ruleOpCompare ) ) ) )=> ( () ( ( ruleOpCompare ) ) ) ) ( (lv_rightOperand_6_0= ruleXOtherOperatorExpression ) ) ) )* ) ;
-    public final EObject ruleXRelationalExpression() throws RecognitionException {
-        EObject current = null;
-
-        Token otherlv_2=null;
-        EObject this_XOtherOperatorExpression_0 = null;
-
-        EObject lv_type_3_0 = null;
-
-        EObject lv_rightOperand_6_0 = null;
-
-
-
-        	enterRule();
-
-        try {
-            // InternalReportDSL.g:9392:2: ( (this_XOtherOperatorExpression_0= ruleXOtherOperatorExpression ( ( ( ( ( () 'instanceof' ) )=> ( () otherlv_2= 'instanceof' ) ) ( (lv_type_3_0= ruleJvmTypeReference ) ) ) | ( ( ( ( () ( ( ruleOpCompare ) ) ) )=> ( () ( ( ruleOpCompare ) ) ) ) ( (lv_rightOperand_6_0= ruleXOtherOperatorExpression ) ) ) )* ) )
-            // InternalReportDSL.g:9393:2: (this_XOtherOperatorExpression_0= ruleXOtherOperatorExpression ( ( ( ( ( () 'instanceof' ) )=> ( () otherlv_2= 'instanceof' ) ) ( (lv_type_3_0= ruleJvmTypeReference ) ) ) | ( ( ( ( () ( ( ruleOpCompare ) ) ) )=> ( () ( ( ruleOpCompare ) ) ) ) ( (lv_rightOperand_6_0= ruleXOtherOperatorExpression ) ) ) )* )
-            {
-            // InternalReportDSL.g:9393:2: (this_XOtherOperatorExpression_0= ruleXOtherOperatorExpression ( ( ( ( ( () 'instanceof' ) )=> ( () otherlv_2= 'instanceof' ) ) ( (lv_type_3_0= ruleJvmTypeReference ) ) ) | ( ( ( ( () ( ( ruleOpCompare ) ) ) )=> ( () ( ( ruleOpCompare ) ) ) ) ( (lv_rightOperand_6_0= ruleXOtherOperatorExpression ) ) ) )* )
-            // InternalReportDSL.g:9394:3: this_XOtherOperatorExpression_0= ruleXOtherOperatorExpression ( ( ( ( ( () 'instanceof' ) )=> ( () otherlv_2= 'instanceof' ) ) ( (lv_type_3_0= ruleJvmTypeReference ) ) ) | ( ( ( ( () ( ( ruleOpCompare ) ) ) )=> ( () ( ( ruleOpCompare ) ) ) ) ( (lv_rightOperand_6_0= ruleXOtherOperatorExpression ) ) ) )*
-            {
-            if ( state.backtracking==0 ) {
-
-              			newCompositeNode(grammarAccess.getXRelationalExpressionAccess().getXOtherOperatorExpressionParserRuleCall_0());
-              		
-            }
-            pushFollow(FOLLOW_142);
-            this_XOtherOperatorExpression_0=ruleXOtherOperatorExpression();
-
-            state._fsp--;
-            if (state.failed) return current;
-            if ( state.backtracking==0 ) {
-
-              			current = this_XOtherOperatorExpression_0;
-              			afterParserOrEnumRuleCall();
-              		
-            }
-            // InternalReportDSL.g:9402:3: ( ( ( ( ( () 'instanceof' ) )=> ( () otherlv_2= 'instanceof' ) ) ( (lv_type_3_0= ruleJvmTypeReference ) ) ) | ( ( ( ( () ( ( ruleOpCompare ) ) ) )=> ( () ( ( ruleOpCompare ) ) ) ) ( (lv_rightOperand_6_0= ruleXOtherOperatorExpression ) ) ) )*
-            loop134:
-            do {
-                int alt134=3;
-                switch ( input.LA(1) ) {
-                case 144:
-                    {
-                    int LA134_2 = input.LA(2);
-
-                    if ( (synpred12_InternalReportDSL()) ) {
-                        alt134=2;
-                    }
-
-
-                    }
-                    break;
-                case 145:
-                    {
-                    int LA134_3 = input.LA(2);
-
-                    if ( (synpred12_InternalReportDSL()) ) {
-                        alt134=2;
-                    }
-
-
-                    }
-                    break;
-                case 153:
-                    {
-                    int LA134_4 = input.LA(2);
-
-                    if ( (synpred11_InternalReportDSL()) ) {
-                        alt134=1;
-                    }
-
-
-                    }
-                    break;
-                case 146:
-                    {
-                    int LA134_5 = input.LA(2);
-
-                    if ( (synpred12_InternalReportDSL()) ) {
-                        alt134=2;
-                    }
-
-
-                    }
-                    break;
-
-                }
-
-                switch (alt134) {
-            	case 1 :
-            	    // InternalReportDSL.g:9403:4: ( ( ( ( () 'instanceof' ) )=> ( () otherlv_2= 'instanceof' ) ) ( (lv_type_3_0= ruleJvmTypeReference ) ) )
-            	    {
-            	    // InternalReportDSL.g:9403:4: ( ( ( ( () 'instanceof' ) )=> ( () otherlv_2= 'instanceof' ) ) ( (lv_type_3_0= ruleJvmTypeReference ) ) )
-            	    // InternalReportDSL.g:9404:5: ( ( ( () 'instanceof' ) )=> ( () otherlv_2= 'instanceof' ) ) ( (lv_type_3_0= ruleJvmTypeReference ) )
-            	    {
-            	    // InternalReportDSL.g:9404:5: ( ( ( () 'instanceof' ) )=> ( () otherlv_2= 'instanceof' ) )
-            	    // InternalReportDSL.g:9405:6: ( ( () 'instanceof' ) )=> ( () otherlv_2= 'instanceof' )
-            	    {
-            	    // InternalReportDSL.g:9411:6: ( () otherlv_2= 'instanceof' )
-            	    // InternalReportDSL.g:9412:7: () otherlv_2= 'instanceof'
-            	    {
-            	    // InternalReportDSL.g:9412:7: ()
-            	    // InternalReportDSL.g:9413:8: 
-            	    {
-            	    if ( state.backtracking==0 ) {
-
-            	      								current = forceCreateModelElementAndSet(
-            	      									grammarAccess.getXRelationalExpressionAccess().getXInstanceOfExpressionExpressionAction_1_0_0_0_0(),
-            	      									current);
-            	      							
-            	    }
-
-            	    }
-
-            	    otherlv_2=(Token)match(input,153,FOLLOW_143); if (state.failed) return current;
-            	    if ( state.backtracking==0 ) {
-
-            	      							newLeafNode(otherlv_2, grammarAccess.getXRelationalExpressionAccess().getInstanceofKeyword_1_0_0_0_1());
-            	      						
-            	    }
-
-            	    }
-
-
-            	    }
-
-            	    // InternalReportDSL.g:9425:5: ( (lv_type_3_0= ruleJvmTypeReference ) )
-            	    // InternalReportDSL.g:9426:6: (lv_type_3_0= ruleJvmTypeReference )
-            	    {
-            	    // InternalReportDSL.g:9426:6: (lv_type_3_0= ruleJvmTypeReference )
-            	    // InternalReportDSL.g:9427:7: lv_type_3_0= ruleJvmTypeReference
-            	    {
-            	    if ( state.backtracking==0 ) {
-
-            	      							newCompositeNode(grammarAccess.getXRelationalExpressionAccess().getTypeJvmTypeReferenceParserRuleCall_1_0_1_0());
-            	      						
-            	    }
-            	    pushFollow(FOLLOW_142);
-            	    lv_type_3_0=ruleJvmTypeReference();
-
-            	    state._fsp--;
-            	    if (state.failed) return current;
-            	    if ( state.backtracking==0 ) {
-
-            	      							if (current==null) {
-            	      								current = createModelElementForParent(grammarAccess.getXRelationalExpressionRule());
-            	      							}
-            	      							set(
-            	      								current,
-            	      								"type",
-            	      								lv_type_3_0,
-            	      								"org.eclipse.xtext.xbase.Xtype.JvmTypeReference");
-            	      							afterParserOrEnumRuleCall();
-            	      						
-            	    }
-
-            	    }
-
-
-            	    }
-
-
-            	    }
-
-
-            	    }
-            	    break;
-            	case 2 :
-            	    // InternalReportDSL.g:9446:4: ( ( ( ( () ( ( ruleOpCompare ) ) ) )=> ( () ( ( ruleOpCompare ) ) ) ) ( (lv_rightOperand_6_0= ruleXOtherOperatorExpression ) ) )
-            	    {
-            	    // InternalReportDSL.g:9446:4: ( ( ( ( () ( ( ruleOpCompare ) ) ) )=> ( () ( ( ruleOpCompare ) ) ) ) ( (lv_rightOperand_6_0= ruleXOtherOperatorExpression ) ) )
-            	    // InternalReportDSL.g:9447:5: ( ( ( () ( ( ruleOpCompare ) ) ) )=> ( () ( ( ruleOpCompare ) ) ) ) ( (lv_rightOperand_6_0= ruleXOtherOperatorExpression ) )
-            	    {
-            	    // InternalReportDSL.g:9447:5: ( ( ( () ( ( ruleOpCompare ) ) ) )=> ( () ( ( ruleOpCompare ) ) ) )
-            	    // InternalReportDSL.g:9448:6: ( ( () ( ( ruleOpCompare ) ) ) )=> ( () ( ( ruleOpCompare ) ) )
-            	    {
-            	    // InternalReportDSL.g:9458:6: ( () ( ( ruleOpCompare ) ) )
-            	    // InternalReportDSL.g:9459:7: () ( ( ruleOpCompare ) )
-            	    {
-            	    // InternalReportDSL.g:9459:7: ()
-            	    // InternalReportDSL.g:9460:8: 
-            	    {
-            	    if ( state.backtracking==0 ) {
-
-            	      								current = forceCreateModelElementAndSet(
-            	      									grammarAccess.getXRelationalExpressionAccess().getXBinaryOperationLeftOperandAction_1_1_0_0_0(),
-            	      									current);
-            	      							
-            	    }
-
-            	    }
-
-            	    // InternalReportDSL.g:9466:7: ( ( ruleOpCompare ) )
-            	    // InternalReportDSL.g:9467:8: ( ruleOpCompare )
-            	    {
-            	    // InternalReportDSL.g:9467:8: ( ruleOpCompare )
-            	    // InternalReportDSL.g:9468:9: ruleOpCompare
-            	    {
-            	    if ( state.backtracking==0 ) {
-
-            	      									if (current==null) {
-            	      										current = createModelElement(grammarAccess.getXRelationalExpressionRule());
-            	      									}
-            	      								
-            	    }
-            	    if ( state.backtracking==0 ) {
-
-            	      									newCompositeNode(grammarAccess.getXRelationalExpressionAccess().getFeatureJvmIdentifiableElementCrossReference_1_1_0_0_1_0());
-            	      								
-            	    }
-            	    pushFollow(FOLLOW_130);
-            	    ruleOpCompare();
-
-            	    state._fsp--;
-            	    if (state.failed) return current;
-            	    if ( state.backtracking==0 ) {
-
-            	      									afterParserOrEnumRuleCall();
-            	      								
-            	    }
-
-            	    }
-
-
-            	    }
-
-
-            	    }
-
-
-            	    }
-
-            	    // InternalReportDSL.g:9484:5: ( (lv_rightOperand_6_0= ruleXOtherOperatorExpression ) )
-            	    // InternalReportDSL.g:9485:6: (lv_rightOperand_6_0= ruleXOtherOperatorExpression )
-            	    {
-            	    // InternalReportDSL.g:9485:6: (lv_rightOperand_6_0= ruleXOtherOperatorExpression )
-            	    // InternalReportDSL.g:9486:7: lv_rightOperand_6_0= ruleXOtherOperatorExpression
-            	    {
-            	    if ( state.backtracking==0 ) {
-
-            	      							newCompositeNode(grammarAccess.getXRelationalExpressionAccess().getRightOperandXOtherOperatorExpressionParserRuleCall_1_1_1_0());
-            	      						
-            	    }
-            	    pushFollow(FOLLOW_142);
-            	    lv_rightOperand_6_0=ruleXOtherOperatorExpression();
-
-            	    state._fsp--;
-            	    if (state.failed) return current;
-            	    if ( state.backtracking==0 ) {
-
-            	      							if (current==null) {
-            	      								current = createModelElementForParent(grammarAccess.getXRelationalExpressionRule());
-            	      							}
-            	      							set(
-            	      								current,
-            	      								"rightOperand",
-            	      								lv_rightOperand_6_0,
-            	      								"org.eclipse.xtext.xbase.Xbase.XOtherOperatorExpression");
-            	      							afterParserOrEnumRuleCall();
-            	      						
-            	    }
-
-            	    }
-
-
-            	    }
-
-
-            	    }
-
-
-            	    }
-            	    break;
-
-            	default :
-            	    break loop134;
-                }
-            } while (true);
-
-
-            }
-
-
-            }
-
-            if ( state.backtracking==0 ) {
-
-              	leaveRule();
-
-            }
-        }
-
-            catch (RecognitionException re) {
-                recover(input,re);
-                appendSkippedTokens();
-            }
-        finally {
-        }
-        return current;
-    }
-    // $ANTLR end "ruleXRelationalExpression"
-
-
-    // $ANTLR start "entryRuleOpCompare"
-    // InternalReportDSL.g:9509:1: entryRuleOpCompare returns [String current=null] : iv_ruleOpCompare= ruleOpCompare EOF ;
-    public final String entryRuleOpCompare() throws RecognitionException {
-        String current = null;
-
-        AntlrDatatypeRuleToken iv_ruleOpCompare = null;
-
-
-        try {
-            // InternalReportDSL.g:9509:49: (iv_ruleOpCompare= ruleOpCompare EOF )
-            // InternalReportDSL.g:9510:2: iv_ruleOpCompare= ruleOpCompare EOF
-            {
-            if ( state.backtracking==0 ) {
-               newCompositeNode(grammarAccess.getOpCompareRule()); 
-            }
-            pushFollow(FOLLOW_1);
-            iv_ruleOpCompare=ruleOpCompare();
-
-            state._fsp--;
-            if (state.failed) return current;
-            if ( state.backtracking==0 ) {
-               current =iv_ruleOpCompare.getText(); 
-            }
-            match(input,EOF,FOLLOW_2); if (state.failed) return current;
-
-            }
-
-        }
-
-            catch (RecognitionException re) {
-                recover(input,re);
-                appendSkippedTokens();
-            }
-        finally {
-        }
-        return current;
-    }
-    // $ANTLR end "entryRuleOpCompare"
-
-
-    // $ANTLR start "ruleOpCompare"
-    // InternalReportDSL.g:9516:1: ruleOpCompare returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : (kw= '>=' | (kw= '<' kw= '=' ) | kw= '>' | kw= '<' ) ;
-    public final AntlrDatatypeRuleToken ruleOpCompare() throws RecognitionException {
-        AntlrDatatypeRuleToken current = new AntlrDatatypeRuleToken();
-
-        Token kw=null;
-
-
-        	enterRule();
-
-        try {
-            // InternalReportDSL.g:9522:2: ( (kw= '>=' | (kw= '<' kw= '=' ) | kw= '>' | kw= '<' ) )
-            // InternalReportDSL.g:9523:2: (kw= '>=' | (kw= '<' kw= '=' ) | kw= '>' | kw= '<' )
-            {
-            // InternalReportDSL.g:9523:2: (kw= '>=' | (kw= '<' kw= '=' ) | kw= '>' | kw= '<' )
-            int alt135=4;
-            switch ( input.LA(1) ) {
-            case 146:
-                {
-                alt135=1;
-                }
-                break;
-            case 144:
-                {
-                int LA135_2 = input.LA(2);
-
-                if ( (LA135_2==EOF||(LA135_2>=RULE_STRING && LA135_2<=RULE_DECIMAL)||LA135_2==14||LA135_2==39||LA135_2==103||LA135_2==116||(LA135_2>=127 && LA135_2<=129)||(LA135_2>=136 && LA135_2<=137)||LA135_2==144||LA135_2==160||LA135_2==164||LA135_2==171||LA135_2==173||(LA135_2>=177 && LA135_2<=179)||(LA135_2>=182 && LA135_2<=190)||LA135_2==192) ) {
-                    alt135=4;
-                }
-                else if ( (LA135_2==135) ) {
-                    alt135=2;
-                }
-                else {
-                    if (state.backtracking>0) {state.failed=true; return current;}
-                    NoViableAltException nvae =
-                        new NoViableAltException("", 135, 2, input);
-
-                    throw nvae;
-                }
-                }
-                break;
-            case 145:
-                {
-                alt135=3;
-                }
-                break;
-            default:
-                if (state.backtracking>0) {state.failed=true; return current;}
-                NoViableAltException nvae =
-                    new NoViableAltException("", 135, 0, input);
-
-                throw nvae;
-            }
-
-            switch (alt135) {
-                case 1 :
-                    // InternalReportDSL.g:9524:3: kw= '>='
-                    {
-                    kw=(Token)match(input,146,FOLLOW_2); if (state.failed) return current;
-                    if ( state.backtracking==0 ) {
-
-                      			current.merge(kw);
-                      			newLeafNode(kw, grammarAccess.getOpCompareAccess().getGreaterThanSignEqualsSignKeyword_0());
-                      		
-                    }
-
-                    }
-                    break;
-                case 2 :
-                    // InternalReportDSL.g:9530:3: (kw= '<' kw= '=' )
-                    {
-                    // InternalReportDSL.g:9530:3: (kw= '<' kw= '=' )
-                    // InternalReportDSL.g:9531:4: kw= '<' kw= '='
-                    {
-                    kw=(Token)match(input,144,FOLLOW_129); if (state.failed) return current;
-                    if ( state.backtracking==0 ) {
-
-                      				current.merge(kw);
-                      				newLeafNode(kw, grammarAccess.getOpCompareAccess().getLessThanSignKeyword_1_0());
-                      			
-                    }
-                    kw=(Token)match(input,135,FOLLOW_2); if (state.failed) return current;
-                    if ( state.backtracking==0 ) {
-
-                      				current.merge(kw);
-                      				newLeafNode(kw, grammarAccess.getOpCompareAccess().getEqualsSignKeyword_1_1());
-                      			
-                    }
-
-                    }
-
-
-                    }
-                    break;
-                case 3 :
-                    // InternalReportDSL.g:9543:3: kw= '>'
-                    {
-                    kw=(Token)match(input,145,FOLLOW_2); if (state.failed) return current;
-                    if ( state.backtracking==0 ) {
-
-                      			current.merge(kw);
-                      			newLeafNode(kw, grammarAccess.getOpCompareAccess().getGreaterThanSignKeyword_2());
-                      		
-                    }
-
-                    }
-                    break;
-                case 4 :
-                    // InternalReportDSL.g:9549:3: kw= '<'
-                    {
-                    kw=(Token)match(input,144,FOLLOW_2); if (state.failed) return current;
-                    if ( state.backtracking==0 ) {
-
-                      			current.merge(kw);
-                      			newLeafNode(kw, grammarAccess.getOpCompareAccess().getLessThanSignKeyword_3());
-                      		
-                    }
-
-                    }
-                    break;
-
-            }
-
-
-            }
-
-            if ( state.backtracking==0 ) {
-
-              	leaveRule();
-
-            }
-        }
-
-            catch (RecognitionException re) {
-                recover(input,re);
-                appendSkippedTokens();
-            }
-        finally {
-        }
-        return current;
-    }
-    // $ANTLR end "ruleOpCompare"
-
-
-    // $ANTLR start "entryRuleXOtherOperatorExpression"
-    // InternalReportDSL.g:9558:1: entryRuleXOtherOperatorExpression returns [EObject current=null] : iv_ruleXOtherOperatorExpression= ruleXOtherOperatorExpression EOF ;
-    public final EObject entryRuleXOtherOperatorExpression() throws RecognitionException {
-        EObject current = null;
-
-        EObject iv_ruleXOtherOperatorExpression = null;
-
-
-        try {
-            // InternalReportDSL.g:9558:65: (iv_ruleXOtherOperatorExpression= ruleXOtherOperatorExpression EOF )
-            // InternalReportDSL.g:9559:2: iv_ruleXOtherOperatorExpression= ruleXOtherOperatorExpression EOF
-            {
-            if ( state.backtracking==0 ) {
-               newCompositeNode(grammarAccess.getXOtherOperatorExpressionRule()); 
-            }
-            pushFollow(FOLLOW_1);
-            iv_ruleXOtherOperatorExpression=ruleXOtherOperatorExpression();
-
-            state._fsp--;
-            if (state.failed) return current;
-            if ( state.backtracking==0 ) {
-               current =iv_ruleXOtherOperatorExpression; 
-            }
-            match(input,EOF,FOLLOW_2); if (state.failed) return current;
-
-            }
-
-        }
-
-            catch (RecognitionException re) {
-                recover(input,re);
-                appendSkippedTokens();
-            }
-        finally {
-        }
-        return current;
-    }
-    // $ANTLR end "entryRuleXOtherOperatorExpression"
-
-
-    // $ANTLR start "ruleXOtherOperatorExpression"
-    // InternalReportDSL.g:9565:1: ruleXOtherOperatorExpression returns [EObject current=null] : (this_XAdditiveExpression_0= ruleXAdditiveExpression ( ( ( ( () ( ( ruleOpOther ) ) ) )=> ( () ( ( ruleOpOther ) ) ) ) ( (lv_rightOperand_3_0= ruleXAdditiveExpression ) ) )* ) ;
-    public final EObject ruleXOtherOperatorExpression() throws RecognitionException {
-        EObject current = null;
-
-        EObject this_XAdditiveExpression_0 = null;
-
-        EObject lv_rightOperand_3_0 = null;
-
-
-
-        	enterRule();
-
-        try {
-            // InternalReportDSL.g:9571:2: ( (this_XAdditiveExpression_0= ruleXAdditiveExpression ( ( ( ( () ( ( ruleOpOther ) ) ) )=> ( () ( ( ruleOpOther ) ) ) ) ( (lv_rightOperand_3_0= ruleXAdditiveExpression ) ) )* ) )
-            // InternalReportDSL.g:9572:2: (this_XAdditiveExpression_0= ruleXAdditiveExpression ( ( ( ( () ( ( ruleOpOther ) ) ) )=> ( () ( ( ruleOpOther ) ) ) ) ( (lv_rightOperand_3_0= ruleXAdditiveExpression ) ) )* )
-            {
-            // InternalReportDSL.g:9572:2: (this_XAdditiveExpression_0= ruleXAdditiveExpression ( ( ( ( () ( ( ruleOpOther ) ) ) )=> ( () ( ( ruleOpOther ) ) ) ) ( (lv_rightOperand_3_0= ruleXAdditiveExpression ) ) )* )
-            // InternalReportDSL.g:9573:3: this_XAdditiveExpression_0= ruleXAdditiveExpression ( ( ( ( () ( ( ruleOpOther ) ) ) )=> ( () ( ( ruleOpOther ) ) ) ) ( (lv_rightOperand_3_0= ruleXAdditiveExpression ) ) )*
-            {
-            if ( state.backtracking==0 ) {
-
-              			newCompositeNode(grammarAccess.getXOtherOperatorExpressionAccess().getXAdditiveExpressionParserRuleCall_0());
-              		
-            }
-            pushFollow(FOLLOW_144);
-            this_XAdditiveExpression_0=ruleXAdditiveExpression();
-
-            state._fsp--;
-            if (state.failed) return current;
-            if ( state.backtracking==0 ) {
-
-              			current = this_XAdditiveExpression_0;
-              			afterParserOrEnumRuleCall();
-              		
-            }
-            // InternalReportDSL.g:9581:3: ( ( ( ( () ( ( ruleOpOther ) ) ) )=> ( () ( ( ruleOpOther ) ) ) ) ( (lv_rightOperand_3_0= ruleXAdditiveExpression ) ) )*
-            loop136:
-            do {
-                int alt136=2;
-                alt136 = dfa136.predict(input);
-                switch (alt136) {
-            	case 1 :
-            	    // InternalReportDSL.g:9582:4: ( ( ( () ( ( ruleOpOther ) ) ) )=> ( () ( ( ruleOpOther ) ) ) ) ( (lv_rightOperand_3_0= ruleXAdditiveExpression ) )
-            	    {
-            	    // InternalReportDSL.g:9582:4: ( ( ( () ( ( ruleOpOther ) ) ) )=> ( () ( ( ruleOpOther ) ) ) )
-            	    // InternalReportDSL.g:9583:5: ( ( () ( ( ruleOpOther ) ) ) )=> ( () ( ( ruleOpOther ) ) )
-            	    {
-            	    // InternalReportDSL.g:9593:5: ( () ( ( ruleOpOther ) ) )
-            	    // InternalReportDSL.g:9594:6: () ( ( ruleOpOther ) )
-            	    {
-            	    // InternalReportDSL.g:9594:6: ()
-            	    // InternalReportDSL.g:9595:7: 
-            	    {
-            	    if ( state.backtracking==0 ) {
-
-            	      							current = forceCreateModelElementAndSet(
-            	      								grammarAccess.getXOtherOperatorExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0(),
-            	      								current);
-            	      						
-            	    }
-
-            	    }
-
-            	    // InternalReportDSL.g:9601:6: ( ( ruleOpOther ) )
-            	    // InternalReportDSL.g:9602:7: ( ruleOpOther )
-            	    {
-            	    // InternalReportDSL.g:9602:7: ( ruleOpOther )
-            	    // InternalReportDSL.g:9603:8: ruleOpOther
-            	    {
-            	    if ( state.backtracking==0 ) {
-
-            	      								if (current==null) {
-            	      									current = createModelElement(grammarAccess.getXOtherOperatorExpressionRule());
-            	      								}
-            	      							
-            	    }
-            	    if ( state.backtracking==0 ) {
-
-            	      								newCompositeNode(grammarAccess.getXOtherOperatorExpressionAccess().getFeatureJvmIdentifiableElementCrossReference_1_0_0_1_0());
-            	      							
-            	    }
-            	    pushFollow(FOLLOW_130);
-            	    ruleOpOther();
-
-            	    state._fsp--;
-            	    if (state.failed) return current;
-            	    if ( state.backtracking==0 ) {
-
-            	      								afterParserOrEnumRuleCall();
-            	      							
-            	    }
-
-            	    }
-
-
-            	    }
-
-
-            	    }
-
-
-            	    }
-
-            	    // InternalReportDSL.g:9619:4: ( (lv_rightOperand_3_0= ruleXAdditiveExpression ) )
-            	    // InternalReportDSL.g:9620:5: (lv_rightOperand_3_0= ruleXAdditiveExpression )
-            	    {
-            	    // InternalReportDSL.g:9620:5: (lv_rightOperand_3_0= ruleXAdditiveExpression )
-            	    // InternalReportDSL.g:9621:6: lv_rightOperand_3_0= ruleXAdditiveExpression
-            	    {
-            	    if ( state.backtracking==0 ) {
-
-            	      						newCompositeNode(grammarAccess.getXOtherOperatorExpressionAccess().getRightOperandXAdditiveExpressionParserRuleCall_1_1_0());
-            	      					
-            	    }
-            	    pushFollow(FOLLOW_144);
-            	    lv_rightOperand_3_0=ruleXAdditiveExpression();
-
-            	    state._fsp--;
-            	    if (state.failed) return current;
-            	    if ( state.backtracking==0 ) {
-
-            	      						if (current==null) {
-            	      							current = createModelElementForParent(grammarAccess.getXOtherOperatorExpressionRule());
-            	      						}
-            	      						set(
-            	      							current,
-            	      							"rightOperand",
-            	      							lv_rightOperand_3_0,
-            	      							"org.eclipse.xtext.xbase.Xbase.XAdditiveExpression");
-            	      						afterParserOrEnumRuleCall();
-            	      					
-            	    }
-
-            	    }
-
-
-            	    }
-
-
-            	    }
-            	    break;
-
-            	default :
-            	    break loop136;
-                }
-            } while (true);
-
-
-            }
-
-
-            }
-
-            if ( state.backtracking==0 ) {
-
-              	leaveRule();
-
-            }
-        }
-
-            catch (RecognitionException re) {
-                recover(input,re);
-                appendSkippedTokens();
-            }
-        finally {
-        }
-        return current;
-    }
-    // $ANTLR end "ruleXOtherOperatorExpression"
-
-
-    // $ANTLR start "entryRuleOpOther"
-    // InternalReportDSL.g:9643:1: entryRuleOpOther returns [String current=null] : iv_ruleOpOther= ruleOpOther EOF ;
-    public final String entryRuleOpOther() throws RecognitionException {
-        String current = null;
-
-        AntlrDatatypeRuleToken iv_ruleOpOther = null;
-
-
-        try {
-            // InternalReportDSL.g:9643:47: (iv_ruleOpOther= ruleOpOther EOF )
-            // InternalReportDSL.g:9644:2: iv_ruleOpOther= ruleOpOther EOF
-            {
-            if ( state.backtracking==0 ) {
-               newCompositeNode(grammarAccess.getOpOtherRule()); 
-            }
-            pushFollow(FOLLOW_1);
-            iv_ruleOpOther=ruleOpOther();
-
-            state._fsp--;
-            if (state.failed) return current;
-            if ( state.backtracking==0 ) {
-               current =iv_ruleOpOther.getText(); 
-            }
-            match(input,EOF,FOLLOW_2); if (state.failed) return current;
-
-            }
-
-        }
-
-            catch (RecognitionException re) {
-                recover(input,re);
-                appendSkippedTokens();
-            }
-        finally {
-        }
-        return current;
-    }
-    // $ANTLR end "entryRuleOpOther"
-
-
-    // $ANTLR start "ruleOpOther"
-    // InternalReportDSL.g:9650:1: ruleOpOther returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : (kw= '->' | kw= '..<' | (kw= '>' kw= '..' ) | kw= '..' | kw= '=>' | (kw= '>' ( ( ( ( '>' '>' ) )=> (kw= '>' kw= '>' ) ) | kw= '>' ) ) | (kw= '<' ( ( ( ( '<' '<' ) )=> (kw= '<' kw= '<' ) ) | kw= '<' | kw= '=>' ) ) | kw= '<>' | kw= '?:' ) ;
-    public final AntlrDatatypeRuleToken ruleOpOther() throws RecognitionException {
-        AntlrDatatypeRuleToken current = new AntlrDatatypeRuleToken();
-
-        Token kw=null;
-
-
-        	enterRule();
-
-        try {
-            // InternalReportDSL.g:9656:2: ( (kw= '->' | kw= '..<' | (kw= '>' kw= '..' ) | kw= '..' | kw= '=>' | (kw= '>' ( ( ( ( '>' '>' ) )=> (kw= '>' kw= '>' ) ) | kw= '>' ) ) | (kw= '<' ( ( ( ( '<' '<' ) )=> (kw= '<' kw= '<' ) ) | kw= '<' | kw= '=>' ) ) | kw= '<>' | kw= '?:' ) )
-            // InternalReportDSL.g:9657:2: (kw= '->' | kw= '..<' | (kw= '>' kw= '..' ) | kw= '..' | kw= '=>' | (kw= '>' ( ( ( ( '>' '>' ) )=> (kw= '>' kw= '>' ) ) | kw= '>' ) ) | (kw= '<' ( ( ( ( '<' '<' ) )=> (kw= '<' kw= '<' ) ) | kw= '<' | kw= '=>' ) ) | kw= '<>' | kw= '?:' )
-            {
-            // InternalReportDSL.g:9657:2: (kw= '->' | kw= '..<' | (kw= '>' kw= '..' ) | kw= '..' | kw= '=>' | (kw= '>' ( ( ( ( '>' '>' ) )=> (kw= '>' kw= '>' ) ) | kw= '>' ) ) | (kw= '<' ( ( ( ( '<' '<' ) )=> (kw= '<' kw= '<' ) ) | kw= '<' | kw= '=>' ) ) | kw= '<>' | kw= '?:' )
-            int alt139=9;
-            alt139 = dfa139.predict(input);
-            switch (alt139) {
-                case 1 :
-                    // InternalReportDSL.g:9658:3: kw= '->'
-                    {
-                    kw=(Token)match(input,154,FOLLOW_2); if (state.failed) return current;
-                    if ( state.backtracking==0 ) {
-
-                      			current.merge(kw);
-                      			newLeafNode(kw, grammarAccess.getOpOtherAccess().getHyphenMinusGreaterThanSignKeyword_0());
-                      		
-                    }
-
-                    }
-                    break;
-                case 2 :
-                    // InternalReportDSL.g:9664:3: kw= '..<'
-                    {
-                    kw=(Token)match(input,155,FOLLOW_2); if (state.failed) return current;
-                    if ( state.backtracking==0 ) {
-
-                      			current.merge(kw);
-                      			newLeafNode(kw, grammarAccess.getOpOtherAccess().getFullStopFullStopLessThanSignKeyword_1());
-                      		
-                    }
-
-                    }
-                    break;
-                case 3 :
-                    // InternalReportDSL.g:9670:3: (kw= '>' kw= '..' )
-                    {
-                    // InternalReportDSL.g:9670:3: (kw= '>' kw= '..' )
-                    // InternalReportDSL.g:9671:4: kw= '>' kw= '..'
-                    {
-                    kw=(Token)match(input,145,FOLLOW_145); if (state.failed) return current;
-                    if ( state.backtracking==0 ) {
-
-                      				current.merge(kw);
-                      				newLeafNode(kw, grammarAccess.getOpOtherAccess().getGreaterThanSignKeyword_2_0());
-                      			
-                    }
-                    kw=(Token)match(input,156,FOLLOW_2); if (state.failed) return current;
-                    if ( state.backtracking==0 ) {
-
-                      				current.merge(kw);
-                      				newLeafNode(kw, grammarAccess.getOpOtherAccess().getFullStopFullStopKeyword_2_1());
-                      			
-                    }
-
-                    }
-
-
-                    }
-                    break;
-                case 4 :
-                    // InternalReportDSL.g:9683:3: kw= '..'
-                    {
-                    kw=(Token)match(input,156,FOLLOW_2); if (state.failed) return current;
-                    if ( state.backtracking==0 ) {
-
-                      			current.merge(kw);
-                      			newLeafNode(kw, grammarAccess.getOpOtherAccess().getFullStopFullStopKeyword_3());
-                      		
-                    }
-
-                    }
-                    break;
-                case 5 :
-                    // InternalReportDSL.g:9689:3: kw= '=>'
-                    {
-                    kw=(Token)match(input,157,FOLLOW_2); if (state.failed) return current;
-                    if ( state.backtracking==0 ) {
-
-                      			current.merge(kw);
-                      			newLeafNode(kw, grammarAccess.getOpOtherAccess().getEqualsSignGreaterThanSignKeyword_4());
-                      		
-                    }
-
-                    }
-                    break;
-                case 6 :
-                    // InternalReportDSL.g:9695:3: (kw= '>' ( ( ( ( '>' '>' ) )=> (kw= '>' kw= '>' ) ) | kw= '>' ) )
-                    {
-                    // InternalReportDSL.g:9695:3: (kw= '>' ( ( ( ( '>' '>' ) )=> (kw= '>' kw= '>' ) ) | kw= '>' ) )
-                    // InternalReportDSL.g:9696:4: kw= '>' ( ( ( ( '>' '>' ) )=> (kw= '>' kw= '>' ) ) | kw= '>' )
-                    {
-                    kw=(Token)match(input,145,FOLLOW_146); if (state.failed) return current;
-                    if ( state.backtracking==0 ) {
-
-                      				current.merge(kw);
-                      				newLeafNode(kw, grammarAccess.getOpOtherAccess().getGreaterThanSignKeyword_5_0());
-                      			
-                    }
-                    // InternalReportDSL.g:9701:4: ( ( ( ( '>' '>' ) )=> (kw= '>' kw= '>' ) ) | kw= '>' )
-                    int alt137=2;
-                    int LA137_0 = input.LA(1);
-
-                    if ( (LA137_0==145) ) {
-                        int LA137_1 = input.LA(2);
-
-                        if ( (LA137_1==EOF||(LA137_1>=RULE_STRING && LA137_1<=RULE_DECIMAL)||LA137_1==14||LA137_1==39||LA137_1==103||LA137_1==116||(LA137_1>=127 && LA137_1<=129)||(LA137_1>=136 && LA137_1<=137)||LA137_1==144||LA137_1==160||LA137_1==164||LA137_1==171||LA137_1==173||(LA137_1>=177 && LA137_1<=179)||(LA137_1>=182 && LA137_1<=190)||LA137_1==192) ) {
-                            alt137=2;
-                        }
-                        else if ( (LA137_1==145) && (synpred14_InternalReportDSL())) {
-                            alt137=1;
-                        }
-                        else {
-                            if (state.backtracking>0) {state.failed=true; return current;}
-                            NoViableAltException nvae =
-                                new NoViableAltException("", 137, 1, input);
-
-                            throw nvae;
-                        }
-                    }
-                    else {
-                        if (state.backtracking>0) {state.failed=true; return current;}
-                        NoViableAltException nvae =
-                            new NoViableAltException("", 137, 0, input);
-
-                        throw nvae;
-                    }
-                    switch (alt137) {
-                        case 1 :
-                            // InternalReportDSL.g:9702:5: ( ( ( '>' '>' ) )=> (kw= '>' kw= '>' ) )
-                            {
-                            // InternalReportDSL.g:9702:5: ( ( ( '>' '>' ) )=> (kw= '>' kw= '>' ) )
-                            // InternalReportDSL.g:9703:6: ( ( '>' '>' ) )=> (kw= '>' kw= '>' )
-                            {
-                            // InternalReportDSL.g:9708:6: (kw= '>' kw= '>' )
-                            // InternalReportDSL.g:9709:7: kw= '>' kw= '>'
-                            {
-                            kw=(Token)match(input,145,FOLLOW_146); if (state.failed) return current;
-                            if ( state.backtracking==0 ) {
-
-                              							current.merge(kw);
-                              							newLeafNode(kw, grammarAccess.getOpOtherAccess().getGreaterThanSignKeyword_5_1_0_0_0());
-                              						
-                            }
-                            kw=(Token)match(input,145,FOLLOW_2); if (state.failed) return current;
-                            if ( state.backtracking==0 ) {
-
-                              							current.merge(kw);
-                              							newLeafNode(kw, grammarAccess.getOpOtherAccess().getGreaterThanSignKeyword_5_1_0_0_1());
-                              						
-                            }
-
-                            }
-
-
-                            }
-
-
-                            }
-                            break;
-                        case 2 :
-                            // InternalReportDSL.g:9722:5: kw= '>'
-                            {
-                            kw=(Token)match(input,145,FOLLOW_2); if (state.failed) return current;
-                            if ( state.backtracking==0 ) {
-
-                              					current.merge(kw);
-                              					newLeafNode(kw, grammarAccess.getOpOtherAccess().getGreaterThanSignKeyword_5_1_1());
-                              				
-                            }
-
-                            }
-                            break;
-
-                    }
-
-
-                    }
-
-
-                    }
-                    break;
-                case 7 :
-                    // InternalReportDSL.g:9730:3: (kw= '<' ( ( ( ( '<' '<' ) )=> (kw= '<' kw= '<' ) ) | kw= '<' | kw= '=>' ) )
-                    {
-                    // InternalReportDSL.g:9730:3: (kw= '<' ( ( ( ( '<' '<' ) )=> (kw= '<' kw= '<' ) ) | kw= '<' | kw= '=>' ) )
-                    // InternalReportDSL.g:9731:4: kw= '<' ( ( ( ( '<' '<' ) )=> (kw= '<' kw= '<' ) ) | kw= '<' | kw= '=>' )
-                    {
-                    kw=(Token)match(input,144,FOLLOW_147); if (state.failed) return current;
-                    if ( state.backtracking==0 ) {
-
-                      				current.merge(kw);
-                      				newLeafNode(kw, grammarAccess.getOpOtherAccess().getLessThanSignKeyword_6_0());
-                      			
-                    }
-                    // InternalReportDSL.g:9736:4: ( ( ( ( '<' '<' ) )=> (kw= '<' kw= '<' ) ) | kw= '<' | kw= '=>' )
-                    int alt138=3;
-                    int LA138_0 = input.LA(1);
-
-                    if ( (LA138_0==144) ) {
-                        int LA138_1 = input.LA(2);
-
-                        if ( (synpred15_InternalReportDSL()) ) {
-                            alt138=1;
-                        }
-                        else if ( (true) ) {
-                            alt138=2;
-                        }
-                        else {
-                            if (state.backtracking>0) {state.failed=true; return current;}
-                            NoViableAltException nvae =
-                                new NoViableAltException("", 138, 1, input);
-
-                            throw nvae;
-                        }
-                    }
-                    else if ( (LA138_0==157) ) {
-                        alt138=3;
-                    }
-                    else {
-                        if (state.backtracking>0) {state.failed=true; return current;}
-                        NoViableAltException nvae =
-                            new NoViableAltException("", 138, 0, input);
-
-                        throw nvae;
-                    }
-                    switch (alt138) {
-                        case 1 :
-                            // InternalReportDSL.g:9737:5: ( ( ( '<' '<' ) )=> (kw= '<' kw= '<' ) )
-                            {
-                            // InternalReportDSL.g:9737:5: ( ( ( '<' '<' ) )=> (kw= '<' kw= '<' ) )
-                            // InternalReportDSL.g:9738:6: ( ( '<' '<' ) )=> (kw= '<' kw= '<' )
-                            {
-                            // InternalReportDSL.g:9743:6: (kw= '<' kw= '<' )
-                            // InternalReportDSL.g:9744:7: kw= '<' kw= '<'
-                            {
-                            kw=(Token)match(input,144,FOLLOW_136); if (state.failed) return current;
-                            if ( state.backtracking==0 ) {
-
-                              							current.merge(kw);
-                              							newLeafNode(kw, grammarAccess.getOpOtherAccess().getLessThanSignKeyword_6_1_0_0_0());
-                              						
-                            }
-                            kw=(Token)match(input,144,FOLLOW_2); if (state.failed) return current;
-                            if ( state.backtracking==0 ) {
-
-                              							current.merge(kw);
-                              							newLeafNode(kw, grammarAccess.getOpOtherAccess().getLessThanSignKeyword_6_1_0_0_1());
-                              						
-                            }
-
-                            }
-
-
-                            }
-
-
-                            }
-                            break;
-                        case 2 :
-                            // InternalReportDSL.g:9757:5: kw= '<'
-                            {
-                            kw=(Token)match(input,144,FOLLOW_2); if (state.failed) return current;
-                            if ( state.backtracking==0 ) {
-
-                              					current.merge(kw);
-                              					newLeafNode(kw, grammarAccess.getOpOtherAccess().getLessThanSignKeyword_6_1_1());
-                              				
-                            }
-
-                            }
-                            break;
-                        case 3 :
-                            // InternalReportDSL.g:9763:5: kw= '=>'
-                            {
-                            kw=(Token)match(input,157,FOLLOW_2); if (state.failed) return current;
-                            if ( state.backtracking==0 ) {
-
-                              					current.merge(kw);
-                              					newLeafNode(kw, grammarAccess.getOpOtherAccess().getEqualsSignGreaterThanSignKeyword_6_1_2());
-                              				
-                            }
-
-                            }
-                            break;
-
-                    }
-
-
-                    }
-
-
-                    }
-                    break;
-                case 8 :
-                    // InternalReportDSL.g:9771:3: kw= '<>'
-                    {
-                    kw=(Token)match(input,158,FOLLOW_2); if (state.failed) return current;
-                    if ( state.backtracking==0 ) {
-
-                      			current.merge(kw);
-                      			newLeafNode(kw, grammarAccess.getOpOtherAccess().getLessThanSignGreaterThanSignKeyword_7());
-                      		
-                    }
-
-                    }
-                    break;
-                case 9 :
-                    // InternalReportDSL.g:9777:3: kw= '?:'
-                    {
-                    kw=(Token)match(input,159,FOLLOW_2); if (state.failed) return current;
-                    if ( state.backtracking==0 ) {
-
-                      			current.merge(kw);
-                      			newLeafNode(kw, grammarAccess.getOpOtherAccess().getQuestionMarkColonKeyword_8());
-                      		
-                    }
-
-                    }
-                    break;
-
-            }
-
-
-            }
-
-            if ( state.backtracking==0 ) {
-
-              	leaveRule();
-
-            }
-        }
-
-            catch (RecognitionException re) {
-                recover(input,re);
-                appendSkippedTokens();
-            }
-        finally {
-        }
-        return current;
-    }
-    // $ANTLR end "ruleOpOther"
-
-
-    // $ANTLR start "entryRuleXAdditiveExpression"
-    // InternalReportDSL.g:9786:1: entryRuleXAdditiveExpression returns [EObject current=null] : iv_ruleXAdditiveExpression= ruleXAdditiveExpression EOF ;
-    public final EObject entryRuleXAdditiveExpression() throws RecognitionException {
-        EObject current = null;
-
-        EObject iv_ruleXAdditiveExpression = null;
-
-
-        try {
-            // InternalReportDSL.g:9786:60: (iv_ruleXAdditiveExpression= ruleXAdditiveExpression EOF )
-            // InternalReportDSL.g:9787:2: iv_ruleXAdditiveExpression= ruleXAdditiveExpression EOF
-            {
-            if ( state.backtracking==0 ) {
-               newCompositeNode(grammarAccess.getXAdditiveExpressionRule()); 
-            }
-            pushFollow(FOLLOW_1);
-            iv_ruleXAdditiveExpression=ruleXAdditiveExpression();
-
-            state._fsp--;
-            if (state.failed) return current;
-            if ( state.backtracking==0 ) {
-               current =iv_ruleXAdditiveExpression; 
-            }
-            match(input,EOF,FOLLOW_2); if (state.failed) return current;
-
-            }
-
-        }
-
-            catch (RecognitionException re) {
-                recover(input,re);
-                appendSkippedTokens();
-            }
-        finally {
-        }
-        return current;
-    }
-    // $ANTLR end "entryRuleXAdditiveExpression"
-
-
-    // $ANTLR start "ruleXAdditiveExpression"
-    // InternalReportDSL.g:9793:1: ruleXAdditiveExpression returns [EObject current=null] : (this_XMultiplicativeExpression_0= ruleXMultiplicativeExpression ( ( ( ( () ( ( ruleOpAdd ) ) ) )=> ( () ( ( ruleOpAdd ) ) ) ) ( (lv_rightOperand_3_0= ruleXMultiplicativeExpression ) ) )* ) ;
-    public final EObject ruleXAdditiveExpression() throws RecognitionException {
-        EObject current = null;
-
-        EObject this_XMultiplicativeExpression_0 = null;
-
-        EObject lv_rightOperand_3_0 = null;
-
-
-
-        	enterRule();
-
-        try {
-            // InternalReportDSL.g:9799:2: ( (this_XMultiplicativeExpression_0= ruleXMultiplicativeExpression ( ( ( ( () ( ( ruleOpAdd ) ) ) )=> ( () ( ( ruleOpAdd ) ) ) ) ( (lv_rightOperand_3_0= ruleXMultiplicativeExpression ) ) )* ) )
-            // InternalReportDSL.g:9800:2: (this_XMultiplicativeExpression_0= ruleXMultiplicativeExpression ( ( ( ( () ( ( ruleOpAdd ) ) ) )=> ( () ( ( ruleOpAdd ) ) ) ) ( (lv_rightOperand_3_0= ruleXMultiplicativeExpression ) ) )* )
-            {
-            // InternalReportDSL.g:9800:2: (this_XMultiplicativeExpression_0= ruleXMultiplicativeExpression ( ( ( ( () ( ( ruleOpAdd ) ) ) )=> ( () ( ( ruleOpAdd ) ) ) ) ( (lv_rightOperand_3_0= ruleXMultiplicativeExpression ) ) )* )
-            // InternalReportDSL.g:9801:3: this_XMultiplicativeExpression_0= ruleXMultiplicativeExpression ( ( ( ( () ( ( ruleOpAdd ) ) ) )=> ( () ( ( ruleOpAdd ) ) ) ) ( (lv_rightOperand_3_0= ruleXMultiplicativeExpression ) ) )*
-            {
-            if ( state.backtracking==0 ) {
-
-              			newCompositeNode(grammarAccess.getXAdditiveExpressionAccess().getXMultiplicativeExpressionParserRuleCall_0());
-              		
-            }
-            pushFollow(FOLLOW_148);
-            this_XMultiplicativeExpression_0=ruleXMultiplicativeExpression();
-
-            state._fsp--;
-            if (state.failed) return current;
-            if ( state.backtracking==0 ) {
-
-              			current = this_XMultiplicativeExpression_0;
-              			afterParserOrEnumRuleCall();
-              		
-            }
-            // InternalReportDSL.g:9809:3: ( ( ( ( () ( ( ruleOpAdd ) ) ) )=> ( () ( ( ruleOpAdd ) ) ) ) ( (lv_rightOperand_3_0= ruleXMultiplicativeExpression ) ) )*
-            loop140:
-            do {
-                int alt140=2;
-                int LA140_0 = input.LA(1);
-
-                if ( (LA140_0==160) ) {
-                    int LA140_2 = input.LA(2);
-
-                    if ( (synpred16_InternalReportDSL()) ) {
-                        alt140=1;
-                    }
-
-
-                }
-                else if ( (LA140_0==116) ) {
-                    int LA140_3 = input.LA(2);
-
-                    if ( (synpred16_InternalReportDSL()) ) {
-                        alt140=1;
-                    }
-
-
-                }
-
-
-                switch (alt140) {
-            	case 1 :
-            	    // InternalReportDSL.g:9810:4: ( ( ( () ( ( ruleOpAdd ) ) ) )=> ( () ( ( ruleOpAdd ) ) ) ) ( (lv_rightOperand_3_0= ruleXMultiplicativeExpression ) )
-            	    {
-            	    // InternalReportDSL.g:9810:4: ( ( ( () ( ( ruleOpAdd ) ) ) )=> ( () ( ( ruleOpAdd ) ) ) )
-            	    // InternalReportDSL.g:9811:5: ( ( () ( ( ruleOpAdd ) ) ) )=> ( () ( ( ruleOpAdd ) ) )
-            	    {
-            	    // InternalReportDSL.g:9821:5: ( () ( ( ruleOpAdd ) ) )
-            	    // InternalReportDSL.g:9822:6: () ( ( ruleOpAdd ) )
-            	    {
-            	    // InternalReportDSL.g:9822:6: ()
-            	    // InternalReportDSL.g:9823:7: 
-            	    {
-            	    if ( state.backtracking==0 ) {
-
-            	      							current = forceCreateModelElementAndSet(
-            	      								grammarAccess.getXAdditiveExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0(),
-            	      								current);
-            	      						
-            	    }
-
-            	    }
-
-            	    // InternalReportDSL.g:9829:6: ( ( ruleOpAdd ) )
-            	    // InternalReportDSL.g:9830:7: ( ruleOpAdd )
-            	    {
-            	    // InternalReportDSL.g:9830:7: ( ruleOpAdd )
-            	    // InternalReportDSL.g:9831:8: ruleOpAdd
-            	    {
-            	    if ( state.backtracking==0 ) {
-
-            	      								if (current==null) {
-            	      									current = createModelElement(grammarAccess.getXAdditiveExpressionRule());
-            	      								}
-            	      							
-            	    }
-            	    if ( state.backtracking==0 ) {
-
-            	      								newCompositeNode(grammarAccess.getXAdditiveExpressionAccess().getFeatureJvmIdentifiableElementCrossReference_1_0_0_1_0());
-            	      							
-            	    }
-            	    pushFollow(FOLLOW_130);
-            	    ruleOpAdd();
-
-            	    state._fsp--;
-            	    if (state.failed) return current;
-            	    if ( state.backtracking==0 ) {
-
-            	      								afterParserOrEnumRuleCall();
-            	      							
-            	    }
-
-            	    }
-
-
-            	    }
-
-
-            	    }
-
-
-            	    }
-
-            	    // InternalReportDSL.g:9847:4: ( (lv_rightOperand_3_0= ruleXMultiplicativeExpression ) )
-            	    // InternalReportDSL.g:9848:5: (lv_rightOperand_3_0= ruleXMultiplicativeExpression )
-            	    {
-            	    // InternalReportDSL.g:9848:5: (lv_rightOperand_3_0= ruleXMultiplicativeExpression )
-            	    // InternalReportDSL.g:9849:6: lv_rightOperand_3_0= ruleXMultiplicativeExpression
-            	    {
-            	    if ( state.backtracking==0 ) {
-
-            	      						newCompositeNode(grammarAccess.getXAdditiveExpressionAccess().getRightOperandXMultiplicativeExpressionParserRuleCall_1_1_0());
-            	      					
-            	    }
-            	    pushFollow(FOLLOW_148);
-            	    lv_rightOperand_3_0=ruleXMultiplicativeExpression();
-
-            	    state._fsp--;
-            	    if (state.failed) return current;
-            	    if ( state.backtracking==0 ) {
-
-            	      						if (current==null) {
-            	      							current = createModelElementForParent(grammarAccess.getXAdditiveExpressionRule());
-            	      						}
-            	      						set(
-            	      							current,
-            	      							"rightOperand",
-            	      							lv_rightOperand_3_0,
-            	      							"org.eclipse.xtext.xbase.Xbase.XMultiplicativeExpression");
-            	      						afterParserOrEnumRuleCall();
-            	      					
-            	    }
-
-            	    }
-
-
-            	    }
-
-
-            	    }
-            	    break;
-
-            	default :
-            	    break loop140;
-                }
-            } while (true);
-
-
-            }
-
-
-            }
-
-            if ( state.backtracking==0 ) {
-
-              	leaveRule();
-
-            }
-        }
-
-            catch (RecognitionException re) {
-                recover(input,re);
-                appendSkippedTokens();
-            }
-        finally {
-        }
-        return current;
-    }
-    // $ANTLR end "ruleXAdditiveExpression"
-
-
-    // $ANTLR start "entryRuleOpAdd"
-    // InternalReportDSL.g:9871:1: entryRuleOpAdd returns [String current=null] : iv_ruleOpAdd= ruleOpAdd EOF ;
-    public final String entryRuleOpAdd() throws RecognitionException {
-        String current = null;
-
-        AntlrDatatypeRuleToken iv_ruleOpAdd = null;
-
-
-        try {
-            // InternalReportDSL.g:9871:45: (iv_ruleOpAdd= ruleOpAdd EOF )
-            // InternalReportDSL.g:9872:2: iv_ruleOpAdd= ruleOpAdd EOF
-            {
-            if ( state.backtracking==0 ) {
-               newCompositeNode(grammarAccess.getOpAddRule()); 
-            }
-            pushFollow(FOLLOW_1);
-            iv_ruleOpAdd=ruleOpAdd();
-
-            state._fsp--;
-            if (state.failed) return current;
-            if ( state.backtracking==0 ) {
-               current =iv_ruleOpAdd.getText(); 
-            }
-            match(input,EOF,FOLLOW_2); if (state.failed) return current;
-
-            }
-
-        }
-
-            catch (RecognitionException re) {
-                recover(input,re);
-                appendSkippedTokens();
-            }
-        finally {
-        }
-        return current;
-    }
-    // $ANTLR end "entryRuleOpAdd"
-
-
-    // $ANTLR start "ruleOpAdd"
-    // InternalReportDSL.g:9878:1: ruleOpAdd returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : (kw= '+' | kw= '-' ) ;
-    public final AntlrDatatypeRuleToken ruleOpAdd() throws RecognitionException {
-        AntlrDatatypeRuleToken current = new AntlrDatatypeRuleToken();
-
-        Token kw=null;
-
-
-        	enterRule();
-
-        try {
-            // InternalReportDSL.g:9884:2: ( (kw= '+' | kw= '-' ) )
-            // InternalReportDSL.g:9885:2: (kw= '+' | kw= '-' )
-            {
-            // InternalReportDSL.g:9885:2: (kw= '+' | kw= '-' )
-            int alt141=2;
-            int LA141_0 = input.LA(1);
-
-            if ( (LA141_0==160) ) {
-                alt141=1;
-            }
-            else if ( (LA141_0==116) ) {
-                alt141=2;
-            }
-            else {
-                if (state.backtracking>0) {state.failed=true; return current;}
-                NoViableAltException nvae =
-                    new NoViableAltException("", 141, 0, input);
-
-                throw nvae;
-            }
-            switch (alt141) {
-                case 1 :
-                    // InternalReportDSL.g:9886:3: kw= '+'
-                    {
-                    kw=(Token)match(input,160,FOLLOW_2); if (state.failed) return current;
-                    if ( state.backtracking==0 ) {
-
-                      			current.merge(kw);
-                      			newLeafNode(kw, grammarAccess.getOpAddAccess().getPlusSignKeyword_0());
-                      		
-                    }
-
-                    }
-                    break;
-                case 2 :
-                    // InternalReportDSL.g:9892:3: kw= '-'
-                    {
-                    kw=(Token)match(input,116,FOLLOW_2); if (state.failed) return current;
-                    if ( state.backtracking==0 ) {
-
-                      			current.merge(kw);
-                      			newLeafNode(kw, grammarAccess.getOpAddAccess().getHyphenMinusKeyword_1());
-                      		
-                    }
-
-                    }
-                    break;
-
-            }
-
-
-            }
-
-            if ( state.backtracking==0 ) {
-
-              	leaveRule();
-
-            }
-        }
-
-            catch (RecognitionException re) {
-                recover(input,re);
-                appendSkippedTokens();
-            }
-        finally {
-        }
-        return current;
-    }
-    // $ANTLR end "ruleOpAdd"
-
-
-    // $ANTLR start "entryRuleXMultiplicativeExpression"
-    // InternalReportDSL.g:9901:1: entryRuleXMultiplicativeExpression returns [EObject current=null] : iv_ruleXMultiplicativeExpression= ruleXMultiplicativeExpression EOF ;
-    public final EObject entryRuleXMultiplicativeExpression() throws RecognitionException {
-        EObject current = null;
-
-        EObject iv_ruleXMultiplicativeExpression = null;
-
-
-        try {
-            // InternalReportDSL.g:9901:66: (iv_ruleXMultiplicativeExpression= ruleXMultiplicativeExpression EOF )
-            // InternalReportDSL.g:9902:2: iv_ruleXMultiplicativeExpression= ruleXMultiplicativeExpression EOF
-            {
-            if ( state.backtracking==0 ) {
-               newCompositeNode(grammarAccess.getXMultiplicativeExpressionRule()); 
-            }
-            pushFollow(FOLLOW_1);
-            iv_ruleXMultiplicativeExpression=ruleXMultiplicativeExpression();
-
-            state._fsp--;
-            if (state.failed) return current;
-            if ( state.backtracking==0 ) {
-               current =iv_ruleXMultiplicativeExpression; 
-            }
-            match(input,EOF,FOLLOW_2); if (state.failed) return current;
-
-            }
-
-        }
-
-            catch (RecognitionException re) {
-                recover(input,re);
-                appendSkippedTokens();
-            }
-        finally {
-        }
-        return current;
-    }
-    // $ANTLR end "entryRuleXMultiplicativeExpression"
-
-
-    // $ANTLR start "ruleXMultiplicativeExpression"
-    // InternalReportDSL.g:9908:1: ruleXMultiplicativeExpression returns [EObject current=null] : (this_XUnaryOperation_0= ruleXUnaryOperation ( ( ( ( () ( ( ruleOpMulti ) ) ) )=> ( () ( ( ruleOpMulti ) ) ) ) ( (lv_rightOperand_3_0= ruleXUnaryOperation ) ) )* ) ;
-    public final EObject ruleXMultiplicativeExpression() throws RecognitionException {
-        EObject current = null;
-
-        EObject this_XUnaryOperation_0 = null;
-
-        EObject lv_rightOperand_3_0 = null;
-
-
-
-        	enterRule();
-
-        try {
-            // InternalReportDSL.g:9914:2: ( (this_XUnaryOperation_0= ruleXUnaryOperation ( ( ( ( () ( ( ruleOpMulti ) ) ) )=> ( () ( ( ruleOpMulti ) ) ) ) ( (lv_rightOperand_3_0= ruleXUnaryOperation ) ) )* ) )
-            // InternalReportDSL.g:9915:2: (this_XUnaryOperation_0= ruleXUnaryOperation ( ( ( ( () ( ( ruleOpMulti ) ) ) )=> ( () ( ( ruleOpMulti ) ) ) ) ( (lv_rightOperand_3_0= ruleXUnaryOperation ) ) )* )
-            {
-            // InternalReportDSL.g:9915:2: (this_XUnaryOperation_0= ruleXUnaryOperation ( ( ( ( () ( ( ruleOpMulti ) ) ) )=> ( () ( ( ruleOpMulti ) ) ) ) ( (lv_rightOperand_3_0= ruleXUnaryOperation ) ) )* )
-            // InternalReportDSL.g:9916:3: this_XUnaryOperation_0= ruleXUnaryOperation ( ( ( ( () ( ( ruleOpMulti ) ) ) )=> ( () ( ( ruleOpMulti ) ) ) ) ( (lv_rightOperand_3_0= ruleXUnaryOperation ) ) )*
-            {
-            if ( state.backtracking==0 ) {
-
-              			newCompositeNode(grammarAccess.getXMultiplicativeExpressionAccess().getXUnaryOperationParserRuleCall_0());
-              		
-            }
-            pushFollow(FOLLOW_149);
-            this_XUnaryOperation_0=ruleXUnaryOperation();
-
-            state._fsp--;
-            if (state.failed) return current;
-            if ( state.backtracking==0 ) {
-
-              			current = this_XUnaryOperation_0;
-              			afterParserOrEnumRuleCall();
-              		
-            }
-            // InternalReportDSL.g:9924:3: ( ( ( ( () ( ( ruleOpMulti ) ) ) )=> ( () ( ( ruleOpMulti ) ) ) ) ( (lv_rightOperand_3_0= ruleXUnaryOperation ) ) )*
-            loop142:
-            do {
-                int alt142=2;
-                switch ( input.LA(1) ) {
-                case 130:
-                    {
-                    int LA142_2 = input.LA(2);
-
-                    if ( (synpred17_InternalReportDSL()) ) {
-                        alt142=1;
-                    }
-
-
-                    }
-                    break;
-                case 161:
-                    {
-                    int LA142_3 = input.LA(2);
-
-                    if ( (synpred17_InternalReportDSL()) ) {
-                        alt142=1;
-                    }
-
-
-                    }
-                    break;
-                case 162:
-                    {
-                    int LA142_4 = input.LA(2);
-
-                    if ( (synpred17_InternalReportDSL()) ) {
-                        alt142=1;
-                    }
-
-
-                    }
-                    break;
-                case 163:
-                    {
-                    int LA142_5 = input.LA(2);
-
-                    if ( (synpred17_InternalReportDSL()) ) {
-                        alt142=1;
-                    }
-
-
-                    }
-                    break;
-
-                }
-
-                switch (alt142) {
-            	case 1 :
-            	    // InternalReportDSL.g:9925:4: ( ( ( () ( ( ruleOpMulti ) ) ) )=> ( () ( ( ruleOpMulti ) ) ) ) ( (lv_rightOperand_3_0= ruleXUnaryOperation ) )
-            	    {
-            	    // InternalReportDSL.g:9925:4: ( ( ( () ( ( ruleOpMulti ) ) ) )=> ( () ( ( ruleOpMulti ) ) ) )
-            	    // InternalReportDSL.g:9926:5: ( ( () ( ( ruleOpMulti ) ) ) )=> ( () ( ( ruleOpMulti ) ) )
-            	    {
-            	    // InternalReportDSL.g:9936:5: ( () ( ( ruleOpMulti ) ) )
-            	    // InternalReportDSL.g:9937:6: () ( ( ruleOpMulti ) )
-            	    {
-            	    // InternalReportDSL.g:9937:6: ()
-            	    // InternalReportDSL.g:9938:7: 
-            	    {
-            	    if ( state.backtracking==0 ) {
-
-            	      							current = forceCreateModelElementAndSet(
-            	      								grammarAccess.getXMultiplicativeExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0(),
-            	      								current);
-            	      						
-            	    }
-
-            	    }
-
-            	    // InternalReportDSL.g:9944:6: ( ( ruleOpMulti ) )
-            	    // InternalReportDSL.g:9945:7: ( ruleOpMulti )
-            	    {
-            	    // InternalReportDSL.g:9945:7: ( ruleOpMulti )
-            	    // InternalReportDSL.g:9946:8: ruleOpMulti
-            	    {
-            	    if ( state.backtracking==0 ) {
-
-            	      								if (current==null) {
-            	      									current = createModelElement(grammarAccess.getXMultiplicativeExpressionRule());
-            	      								}
-            	      							
-            	    }
-            	    if ( state.backtracking==0 ) {
-
-            	      								newCompositeNode(grammarAccess.getXMultiplicativeExpressionAccess().getFeatureJvmIdentifiableElementCrossReference_1_0_0_1_0());
-            	      							
-            	    }
-            	    pushFollow(FOLLOW_130);
-            	    ruleOpMulti();
-
-            	    state._fsp--;
-            	    if (state.failed) return current;
-            	    if ( state.backtracking==0 ) {
-
-            	      								afterParserOrEnumRuleCall();
-            	      							
-            	    }
-
-            	    }
-
-
-            	    }
-
-
-            	    }
-
-
-            	    }
-
-            	    // InternalReportDSL.g:9962:4: ( (lv_rightOperand_3_0= ruleXUnaryOperation ) )
-            	    // InternalReportDSL.g:9963:5: (lv_rightOperand_3_0= ruleXUnaryOperation )
-            	    {
-            	    // InternalReportDSL.g:9963:5: (lv_rightOperand_3_0= ruleXUnaryOperation )
-            	    // InternalReportDSL.g:9964:6: lv_rightOperand_3_0= ruleXUnaryOperation
-            	    {
-            	    if ( state.backtracking==0 ) {
-
-            	      						newCompositeNode(grammarAccess.getXMultiplicativeExpressionAccess().getRightOperandXUnaryOperationParserRuleCall_1_1_0());
-            	      					
-            	    }
-            	    pushFollow(FOLLOW_149);
-            	    lv_rightOperand_3_0=ruleXUnaryOperation();
-
-            	    state._fsp--;
-            	    if (state.failed) return current;
-            	    if ( state.backtracking==0 ) {
-
-            	      						if (current==null) {
-            	      							current = createModelElementForParent(grammarAccess.getXMultiplicativeExpressionRule());
-            	      						}
-            	      						set(
-            	      							current,
-            	      							"rightOperand",
-            	      							lv_rightOperand_3_0,
-            	      							"org.eclipse.xtext.xbase.Xbase.XUnaryOperation");
-            	      						afterParserOrEnumRuleCall();
-            	      					
-            	    }
-
-            	    }
-
-
-            	    }
-
-
-            	    }
-            	    break;
-
-            	default :
-            	    break loop142;
-                }
-            } while (true);
-
-
-            }
-
-
-            }
-
-            if ( state.backtracking==0 ) {
-
-              	leaveRule();
-
-            }
-        }
-
-            catch (RecognitionException re) {
-                recover(input,re);
-                appendSkippedTokens();
-            }
-        finally {
-        }
-        return current;
-    }
     // $ANTLR end "ruleXMultiplicativeExpression"
 
 
     // $ANTLR start "entryRuleOpMulti"
-    // InternalReportDSL.g:9986:1: entryRuleOpMulti returns [String current=null] : iv_ruleOpMulti= ruleOpMulti EOF ;
+    // InternalReportDSL.g:10295:1: entryRuleOpMulti returns [String current=null] : iv_ruleOpMulti= ruleOpMulti EOF ;
     public final String entryRuleOpMulti() throws RecognitionException {
         String current = null;
 
@@ -27233,8 +28079,8 @@
 
 
         try {
-            // InternalReportDSL.g:9986:47: (iv_ruleOpMulti= ruleOpMulti EOF )
-            // InternalReportDSL.g:9987:2: iv_ruleOpMulti= ruleOpMulti EOF
+            // InternalReportDSL.g:10295:47: (iv_ruleOpMulti= ruleOpMulti EOF )
+            // InternalReportDSL.g:10296:2: iv_ruleOpMulti= ruleOpMulti EOF
             {
             if ( state.backtracking==0 ) {
                newCompositeNode(grammarAccess.getOpMultiRule()); 
@@ -27265,7 +28111,7 @@
 
 
     // $ANTLR start "ruleOpMulti"
-    // InternalReportDSL.g:9993:1: ruleOpMulti returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : (kw= '*' | kw= '**' | kw= '/' | kw= '%' ) ;
+    // InternalReportDSL.g:10302:1: ruleOpMulti returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : (kw= '*' | kw= '**' | kw= '/' | kw= '%' ) ;
     public final AntlrDatatypeRuleToken ruleOpMulti() throws RecognitionException {
         AntlrDatatypeRuleToken current = new AntlrDatatypeRuleToken();
 
@@ -27275,45 +28121,45 @@
         	enterRule();
 
         try {
-            // InternalReportDSL.g:9999:2: ( (kw= '*' | kw= '**' | kw= '/' | kw= '%' ) )
-            // InternalReportDSL.g:10000:2: (kw= '*' | kw= '**' | kw= '/' | kw= '%' )
+            // InternalReportDSL.g:10308:2: ( (kw= '*' | kw= '**' | kw= '/' | kw= '%' ) )
+            // InternalReportDSL.g:10309:2: (kw= '*' | kw= '**' | kw= '/' | kw= '%' )
             {
-            // InternalReportDSL.g:10000:2: (kw= '*' | kw= '**' | kw= '/' | kw= '%' )
-            int alt143=4;
+            // InternalReportDSL.g:10309:2: (kw= '*' | kw= '**' | kw= '/' | kw= '%' )
+            int alt131=4;
             switch ( input.LA(1) ) {
-            case 130:
+            case 129:
                 {
-                alt143=1;
+                alt131=1;
+                }
+                break;
+            case 160:
+                {
+                alt131=2;
                 }
                 break;
             case 161:
                 {
-                alt143=2;
+                alt131=3;
                 }
                 break;
             case 162:
                 {
-                alt143=3;
-                }
-                break;
-            case 163:
-                {
-                alt143=4;
+                alt131=4;
                 }
                 break;
             default:
                 if (state.backtracking>0) {state.failed=true; return current;}
                 NoViableAltException nvae =
-                    new NoViableAltException("", 143, 0, input);
+                    new NoViableAltException("", 131, 0, input);
 
                 throw nvae;
             }
 
-            switch (alt143) {
+            switch (alt131) {
                 case 1 :
-                    // InternalReportDSL.g:10001:3: kw= '*'
+                    // InternalReportDSL.g:10310:3: kw= '*'
                     {
-                    kw=(Token)match(input,130,FOLLOW_2); if (state.failed) return current;
+                    kw=(Token)match(input,129,FOLLOW_2); if (state.failed) return current;
                     if ( state.backtracking==0 ) {
 
                       			current.merge(kw);
@@ -27324,9 +28170,9 @@
                     }
                     break;
                 case 2 :
-                    // InternalReportDSL.g:10007:3: kw= '**'
+                    // InternalReportDSL.g:10316:3: kw= '**'
                     {
-                    kw=(Token)match(input,161,FOLLOW_2); if (state.failed) return current;
+                    kw=(Token)match(input,160,FOLLOW_2); if (state.failed) return current;
                     if ( state.backtracking==0 ) {
 
                       			current.merge(kw);
@@ -27337,9 +28183,9 @@
                     }
                     break;
                 case 3 :
-                    // InternalReportDSL.g:10013:3: kw= '/'
+                    // InternalReportDSL.g:10322:3: kw= '/'
                     {
-                    kw=(Token)match(input,162,FOLLOW_2); if (state.failed) return current;
+                    kw=(Token)match(input,161,FOLLOW_2); if (state.failed) return current;
                     if ( state.backtracking==0 ) {
 
                       			current.merge(kw);
@@ -27350,9 +28196,9 @@
                     }
                     break;
                 case 4 :
-                    // InternalReportDSL.g:10019:3: kw= '%'
+                    // InternalReportDSL.g:10328:3: kw= '%'
                     {
-                    kw=(Token)match(input,163,FOLLOW_2); if (state.failed) return current;
+                    kw=(Token)match(input,162,FOLLOW_2); if (state.failed) return current;
                     if ( state.backtracking==0 ) {
 
                       			current.merge(kw);
@@ -27387,7 +28233,7 @@
 
 
     // $ANTLR start "entryRuleXUnaryOperation"
-    // InternalReportDSL.g:10028:1: entryRuleXUnaryOperation returns [EObject current=null] : iv_ruleXUnaryOperation= ruleXUnaryOperation EOF ;
+    // InternalReportDSL.g:10337:1: entryRuleXUnaryOperation returns [EObject current=null] : iv_ruleXUnaryOperation= ruleXUnaryOperation EOF ;
     public final EObject entryRuleXUnaryOperation() throws RecognitionException {
         EObject current = null;
 
@@ -27395,8 +28241,8 @@
 
 
         try {
-            // InternalReportDSL.g:10028:56: (iv_ruleXUnaryOperation= ruleXUnaryOperation EOF )
-            // InternalReportDSL.g:10029:2: iv_ruleXUnaryOperation= ruleXUnaryOperation EOF
+            // InternalReportDSL.g:10337:56: (iv_ruleXUnaryOperation= ruleXUnaryOperation EOF )
+            // InternalReportDSL.g:10338:2: iv_ruleXUnaryOperation= ruleXUnaryOperation EOF
             {
             if ( state.backtracking==0 ) {
                newCompositeNode(grammarAccess.getXUnaryOperationRule()); 
@@ -27427,7 +28273,7 @@
 
 
     // $ANTLR start "ruleXUnaryOperation"
-    // InternalReportDSL.g:10035:1: ruleXUnaryOperation returns [EObject current=null] : ( ( () ( ( ruleOpUnary ) ) ( (lv_operand_2_0= ruleXUnaryOperation ) ) ) | this_XCastedExpression_3= ruleXCastedExpression ) ;
+    // InternalReportDSL.g:10344:1: ruleXUnaryOperation returns [EObject current=null] : ( ( () ( ( ruleOpUnary ) ) ( (lv_operand_2_0= ruleXUnaryOperation ) ) ) | this_XCastedExpression_3= ruleXCastedExpression ) ;
     public final EObject ruleXUnaryOperation() throws RecognitionException {
         EObject current = null;
 
@@ -27440,35 +28286,35 @@
         	enterRule();
 
         try {
-            // InternalReportDSL.g:10041:2: ( ( ( () ( ( ruleOpUnary ) ) ( (lv_operand_2_0= ruleXUnaryOperation ) ) ) | this_XCastedExpression_3= ruleXCastedExpression ) )
-            // InternalReportDSL.g:10042:2: ( ( () ( ( ruleOpUnary ) ) ( (lv_operand_2_0= ruleXUnaryOperation ) ) ) | this_XCastedExpression_3= ruleXCastedExpression )
+            // InternalReportDSL.g:10350:2: ( ( ( () ( ( ruleOpUnary ) ) ( (lv_operand_2_0= ruleXUnaryOperation ) ) ) | this_XCastedExpression_3= ruleXCastedExpression ) )
+            // InternalReportDSL.g:10351:2: ( ( () ( ( ruleOpUnary ) ) ( (lv_operand_2_0= ruleXUnaryOperation ) ) ) | this_XCastedExpression_3= ruleXCastedExpression )
             {
-            // InternalReportDSL.g:10042:2: ( ( () ( ( ruleOpUnary ) ) ( (lv_operand_2_0= ruleXUnaryOperation ) ) ) | this_XCastedExpression_3= ruleXCastedExpression )
-            int alt144=2;
-            int LA144_0 = input.LA(1);
+            // InternalReportDSL.g:10351:2: ( ( () ( ( ruleOpUnary ) ) ( (lv_operand_2_0= ruleXUnaryOperation ) ) ) | this_XCastedExpression_3= ruleXCastedExpression )
+            int alt132=2;
+            int LA132_0 = input.LA(1);
 
-            if ( (LA144_0==116||LA144_0==160||LA144_0==164) ) {
-                alt144=1;
+            if ( (LA132_0==115||LA132_0==159||LA132_0==163) ) {
+                alt132=1;
             }
-            else if ( ((LA144_0>=RULE_STRING && LA144_0<=RULE_DECIMAL)||LA144_0==14||LA144_0==39||LA144_0==103||(LA144_0>=127 && LA144_0<=129)||(LA144_0>=136 && LA144_0<=137)||LA144_0==144||LA144_0==171||LA144_0==173||(LA144_0>=177 && LA144_0<=179)||(LA144_0>=182 && LA144_0<=190)||LA144_0==192) ) {
-                alt144=2;
+            else if ( ((LA132_0>=RULE_STRING && LA132_0<=RULE_DECIMAL)||LA132_0==14||LA132_0==39||LA132_0==102||(LA132_0>=126 && LA132_0<=128)||(LA132_0>=135 && LA132_0<=136)||LA132_0==143||LA132_0==170||LA132_0==172||(LA132_0>=176 && LA132_0<=178)||(LA132_0>=181 && LA132_0<=189)||LA132_0==191) ) {
+                alt132=2;
             }
             else {
                 if (state.backtracking>0) {state.failed=true; return current;}
                 NoViableAltException nvae =
-                    new NoViableAltException("", 144, 0, input);
+                    new NoViableAltException("", 132, 0, input);
 
                 throw nvae;
             }
-            switch (alt144) {
+            switch (alt132) {
                 case 1 :
-                    // InternalReportDSL.g:10043:3: ( () ( ( ruleOpUnary ) ) ( (lv_operand_2_0= ruleXUnaryOperation ) ) )
+                    // InternalReportDSL.g:10352:3: ( () ( ( ruleOpUnary ) ) ( (lv_operand_2_0= ruleXUnaryOperation ) ) )
                     {
-                    // InternalReportDSL.g:10043:3: ( () ( ( ruleOpUnary ) ) ( (lv_operand_2_0= ruleXUnaryOperation ) ) )
-                    // InternalReportDSL.g:10044:4: () ( ( ruleOpUnary ) ) ( (lv_operand_2_0= ruleXUnaryOperation ) )
+                    // InternalReportDSL.g:10352:3: ( () ( ( ruleOpUnary ) ) ( (lv_operand_2_0= ruleXUnaryOperation ) ) )
+                    // InternalReportDSL.g:10353:4: () ( ( ruleOpUnary ) ) ( (lv_operand_2_0= ruleXUnaryOperation ) )
                     {
-                    // InternalReportDSL.g:10044:4: ()
-                    // InternalReportDSL.g:10045:5: 
+                    // InternalReportDSL.g:10353:4: ()
+                    // InternalReportDSL.g:10354:5: 
                     {
                     if ( state.backtracking==0 ) {
 
@@ -27480,11 +28326,11 @@
 
                     }
 
-                    // InternalReportDSL.g:10051:4: ( ( ruleOpUnary ) )
-                    // InternalReportDSL.g:10052:5: ( ruleOpUnary )
+                    // InternalReportDSL.g:10360:4: ( ( ruleOpUnary ) )
+                    // InternalReportDSL.g:10361:5: ( ruleOpUnary )
                     {
-                    // InternalReportDSL.g:10052:5: ( ruleOpUnary )
-                    // InternalReportDSL.g:10053:6: ruleOpUnary
+                    // InternalReportDSL.g:10361:5: ( ruleOpUnary )
+                    // InternalReportDSL.g:10362:6: ruleOpUnary
                     {
                     if ( state.backtracking==0 ) {
 
@@ -27498,7 +28344,7 @@
                       						newCompositeNode(grammarAccess.getXUnaryOperationAccess().getFeatureJvmIdentifiableElementCrossReference_0_1_0());
                       					
                     }
-                    pushFollow(FOLLOW_130);
+                    pushFollow(FOLLOW_122);
                     ruleOpUnary();
 
                     state._fsp--;
@@ -27514,11 +28360,11 @@
 
                     }
 
-                    // InternalReportDSL.g:10067:4: ( (lv_operand_2_0= ruleXUnaryOperation ) )
-                    // InternalReportDSL.g:10068:5: (lv_operand_2_0= ruleXUnaryOperation )
+                    // InternalReportDSL.g:10376:4: ( (lv_operand_2_0= ruleXUnaryOperation ) )
+                    // InternalReportDSL.g:10377:5: (lv_operand_2_0= ruleXUnaryOperation )
                     {
-                    // InternalReportDSL.g:10068:5: (lv_operand_2_0= ruleXUnaryOperation )
-                    // InternalReportDSL.g:10069:6: lv_operand_2_0= ruleXUnaryOperation
+                    // InternalReportDSL.g:10377:5: (lv_operand_2_0= ruleXUnaryOperation )
+                    // InternalReportDSL.g:10378:6: lv_operand_2_0= ruleXUnaryOperation
                     {
                     if ( state.backtracking==0 ) {
 
@@ -27556,7 +28402,7 @@
                     }
                     break;
                 case 2 :
-                    // InternalReportDSL.g:10088:3: this_XCastedExpression_3= ruleXCastedExpression
+                    // InternalReportDSL.g:10397:3: this_XCastedExpression_3= ruleXCastedExpression
                     {
                     if ( state.backtracking==0 ) {
 
@@ -27602,7 +28448,7 @@
 
 
     // $ANTLR start "entryRuleOpUnary"
-    // InternalReportDSL.g:10100:1: entryRuleOpUnary returns [String current=null] : iv_ruleOpUnary= ruleOpUnary EOF ;
+    // InternalReportDSL.g:10409:1: entryRuleOpUnary returns [String current=null] : iv_ruleOpUnary= ruleOpUnary EOF ;
     public final String entryRuleOpUnary() throws RecognitionException {
         String current = null;
 
@@ -27610,8 +28456,8 @@
 
 
         try {
-            // InternalReportDSL.g:10100:47: (iv_ruleOpUnary= ruleOpUnary EOF )
-            // InternalReportDSL.g:10101:2: iv_ruleOpUnary= ruleOpUnary EOF
+            // InternalReportDSL.g:10409:47: (iv_ruleOpUnary= ruleOpUnary EOF )
+            // InternalReportDSL.g:10410:2: iv_ruleOpUnary= ruleOpUnary EOF
             {
             if ( state.backtracking==0 ) {
                newCompositeNode(grammarAccess.getOpUnaryRule()); 
@@ -27642,7 +28488,7 @@
 
 
     // $ANTLR start "ruleOpUnary"
-    // InternalReportDSL.g:10107:1: ruleOpUnary returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : (kw= '!' | kw= '-' | kw= '+' ) ;
+    // InternalReportDSL.g:10416:1: ruleOpUnary returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : (kw= '!' | kw= '-' | kw= '+' ) ;
     public final AntlrDatatypeRuleToken ruleOpUnary() throws RecognitionException {
         AntlrDatatypeRuleToken current = new AntlrDatatypeRuleToken();
 
@@ -27652,40 +28498,40 @@
         	enterRule();
 
         try {
-            // InternalReportDSL.g:10113:2: ( (kw= '!' | kw= '-' | kw= '+' ) )
-            // InternalReportDSL.g:10114:2: (kw= '!' | kw= '-' | kw= '+' )
+            // InternalReportDSL.g:10422:2: ( (kw= '!' | kw= '-' | kw= '+' ) )
+            // InternalReportDSL.g:10423:2: (kw= '!' | kw= '-' | kw= '+' )
             {
-            // InternalReportDSL.g:10114:2: (kw= '!' | kw= '-' | kw= '+' )
-            int alt145=3;
+            // InternalReportDSL.g:10423:2: (kw= '!' | kw= '-' | kw= '+' )
+            int alt133=3;
             switch ( input.LA(1) ) {
-            case 164:
+            case 163:
                 {
-                alt145=1;
+                alt133=1;
                 }
                 break;
-            case 116:
+            case 115:
                 {
-                alt145=2;
+                alt133=2;
                 }
                 break;
-            case 160:
+            case 159:
                 {
-                alt145=3;
+                alt133=3;
                 }
                 break;
             default:
                 if (state.backtracking>0) {state.failed=true; return current;}
                 NoViableAltException nvae =
-                    new NoViableAltException("", 145, 0, input);
+                    new NoViableAltException("", 133, 0, input);
 
                 throw nvae;
             }
 
-            switch (alt145) {
+            switch (alt133) {
                 case 1 :
-                    // InternalReportDSL.g:10115:3: kw= '!'
+                    // InternalReportDSL.g:10424:3: kw= '!'
                     {
-                    kw=(Token)match(input,164,FOLLOW_2); if (state.failed) return current;
+                    kw=(Token)match(input,163,FOLLOW_2); if (state.failed) return current;
                     if ( state.backtracking==0 ) {
 
                       			current.merge(kw);
@@ -27696,9 +28542,9 @@
                     }
                     break;
                 case 2 :
-                    // InternalReportDSL.g:10121:3: kw= '-'
+                    // InternalReportDSL.g:10430:3: kw= '-'
                     {
-                    kw=(Token)match(input,116,FOLLOW_2); if (state.failed) return current;
+                    kw=(Token)match(input,115,FOLLOW_2); if (state.failed) return current;
                     if ( state.backtracking==0 ) {
 
                       			current.merge(kw);
@@ -27709,9 +28555,9 @@
                     }
                     break;
                 case 3 :
-                    // InternalReportDSL.g:10127:3: kw= '+'
+                    // InternalReportDSL.g:10436:3: kw= '+'
                     {
-                    kw=(Token)match(input,160,FOLLOW_2); if (state.failed) return current;
+                    kw=(Token)match(input,159,FOLLOW_2); if (state.failed) return current;
                     if ( state.backtracking==0 ) {
 
                       			current.merge(kw);
@@ -27746,7 +28592,7 @@
 
 
     // $ANTLR start "entryRuleXCastedExpression"
-    // InternalReportDSL.g:10136:1: entryRuleXCastedExpression returns [EObject current=null] : iv_ruleXCastedExpression= ruleXCastedExpression EOF ;
+    // InternalReportDSL.g:10445:1: entryRuleXCastedExpression returns [EObject current=null] : iv_ruleXCastedExpression= ruleXCastedExpression EOF ;
     public final EObject entryRuleXCastedExpression() throws RecognitionException {
         EObject current = null;
 
@@ -27754,8 +28600,8 @@
 
 
         try {
-            // InternalReportDSL.g:10136:58: (iv_ruleXCastedExpression= ruleXCastedExpression EOF )
-            // InternalReportDSL.g:10137:2: iv_ruleXCastedExpression= ruleXCastedExpression EOF
+            // InternalReportDSL.g:10445:58: (iv_ruleXCastedExpression= ruleXCastedExpression EOF )
+            // InternalReportDSL.g:10446:2: iv_ruleXCastedExpression= ruleXCastedExpression EOF
             {
             if ( state.backtracking==0 ) {
                newCompositeNode(grammarAccess.getXCastedExpressionRule()); 
@@ -27786,7 +28632,7 @@
 
 
     // $ANTLR start "ruleXCastedExpression"
-    // InternalReportDSL.g:10143:1: ruleXCastedExpression returns [EObject current=null] : (this_XPostfixOperation_0= ruleXPostfixOperation ( ( ( ( () 'as' ) )=> ( () otherlv_2= 'as' ) ) ( (lv_type_3_0= ruleJvmTypeReference ) ) )* ) ;
+    // InternalReportDSL.g:10452:1: ruleXCastedExpression returns [EObject current=null] : (this_XPostfixOperation_0= ruleXPostfixOperation ( ( ( ( () 'as' ) )=> ( () otherlv_2= 'as' ) ) ( (lv_type_3_0= ruleJvmTypeReference ) ) )* ) ;
     public final EObject ruleXCastedExpression() throws RecognitionException {
         EObject current = null;
 
@@ -27800,18 +28646,18 @@
         	enterRule();
 
         try {
-            // InternalReportDSL.g:10149:2: ( (this_XPostfixOperation_0= ruleXPostfixOperation ( ( ( ( () 'as' ) )=> ( () otherlv_2= 'as' ) ) ( (lv_type_3_0= ruleJvmTypeReference ) ) )* ) )
-            // InternalReportDSL.g:10150:2: (this_XPostfixOperation_0= ruleXPostfixOperation ( ( ( ( () 'as' ) )=> ( () otherlv_2= 'as' ) ) ( (lv_type_3_0= ruleJvmTypeReference ) ) )* )
+            // InternalReportDSL.g:10458:2: ( (this_XPostfixOperation_0= ruleXPostfixOperation ( ( ( ( () 'as' ) )=> ( () otherlv_2= 'as' ) ) ( (lv_type_3_0= ruleJvmTypeReference ) ) )* ) )
+            // InternalReportDSL.g:10459:2: (this_XPostfixOperation_0= ruleXPostfixOperation ( ( ( ( () 'as' ) )=> ( () otherlv_2= 'as' ) ) ( (lv_type_3_0= ruleJvmTypeReference ) ) )* )
             {
-            // InternalReportDSL.g:10150:2: (this_XPostfixOperation_0= ruleXPostfixOperation ( ( ( ( () 'as' ) )=> ( () otherlv_2= 'as' ) ) ( (lv_type_3_0= ruleJvmTypeReference ) ) )* )
-            // InternalReportDSL.g:10151:3: this_XPostfixOperation_0= ruleXPostfixOperation ( ( ( ( () 'as' ) )=> ( () otherlv_2= 'as' ) ) ( (lv_type_3_0= ruleJvmTypeReference ) ) )*
+            // InternalReportDSL.g:10459:2: (this_XPostfixOperation_0= ruleXPostfixOperation ( ( ( ( () 'as' ) )=> ( () otherlv_2= 'as' ) ) ( (lv_type_3_0= ruleJvmTypeReference ) ) )* )
+            // InternalReportDSL.g:10460:3: this_XPostfixOperation_0= ruleXPostfixOperation ( ( ( ( () 'as' ) )=> ( () otherlv_2= 'as' ) ) ( (lv_type_3_0= ruleJvmTypeReference ) ) )*
             {
             if ( state.backtracking==0 ) {
 
               			newCompositeNode(grammarAccess.getXCastedExpressionAccess().getXPostfixOperationParserRuleCall_0());
               		
             }
-            pushFollow(FOLLOW_150);
+            pushFollow(FOLLOW_142);
             this_XPostfixOperation_0=ruleXPostfixOperation();
 
             state._fsp--;
@@ -27822,35 +28668,35 @@
               			afterParserOrEnumRuleCall();
               		
             }
-            // InternalReportDSL.g:10159:3: ( ( ( ( () 'as' ) )=> ( () otherlv_2= 'as' ) ) ( (lv_type_3_0= ruleJvmTypeReference ) ) )*
-            loop146:
+            // InternalReportDSL.g:10468:3: ( ( ( ( () 'as' ) )=> ( () otherlv_2= 'as' ) ) ( (lv_type_3_0= ruleJvmTypeReference ) ) )*
+            loop134:
             do {
-                int alt146=2;
-                int LA146_0 = input.LA(1);
+                int alt134=2;
+                int LA134_0 = input.LA(1);
 
-                if ( (LA146_0==84) ) {
-                    int LA146_2 = input.LA(2);
+                if ( (LA134_0==85) ) {
+                    int LA134_2 = input.LA(2);
 
                     if ( (synpred18_InternalReportDSL()) ) {
-                        alt146=1;
+                        alt134=1;
                     }
 
 
                 }
 
 
-                switch (alt146) {
+                switch (alt134) {
             	case 1 :
-            	    // InternalReportDSL.g:10160:4: ( ( ( () 'as' ) )=> ( () otherlv_2= 'as' ) ) ( (lv_type_3_0= ruleJvmTypeReference ) )
+            	    // InternalReportDSL.g:10469:4: ( ( ( () 'as' ) )=> ( () otherlv_2= 'as' ) ) ( (lv_type_3_0= ruleJvmTypeReference ) )
             	    {
-            	    // InternalReportDSL.g:10160:4: ( ( ( () 'as' ) )=> ( () otherlv_2= 'as' ) )
-            	    // InternalReportDSL.g:10161:5: ( ( () 'as' ) )=> ( () otherlv_2= 'as' )
+            	    // InternalReportDSL.g:10469:4: ( ( ( () 'as' ) )=> ( () otherlv_2= 'as' ) )
+            	    // InternalReportDSL.g:10470:5: ( ( () 'as' ) )=> ( () otherlv_2= 'as' )
             	    {
-            	    // InternalReportDSL.g:10167:5: ( () otherlv_2= 'as' )
-            	    // InternalReportDSL.g:10168:6: () otherlv_2= 'as'
+            	    // InternalReportDSL.g:10476:5: ( () otherlv_2= 'as' )
+            	    // InternalReportDSL.g:10477:6: () otherlv_2= 'as'
             	    {
-            	    // InternalReportDSL.g:10168:6: ()
-            	    // InternalReportDSL.g:10169:7: 
+            	    // InternalReportDSL.g:10477:6: ()
+            	    // InternalReportDSL.g:10478:7: 
             	    {
             	    if ( state.backtracking==0 ) {
 
@@ -27862,7 +28708,7 @@
 
             	    }
 
-            	    otherlv_2=(Token)match(input,84,FOLLOW_143); if (state.failed) return current;
+            	    otherlv_2=(Token)match(input,85,FOLLOW_135); if (state.failed) return current;
             	    if ( state.backtracking==0 ) {
 
             	      						newLeafNode(otherlv_2, grammarAccess.getXCastedExpressionAccess().getAsKeyword_1_0_0_1());
@@ -27874,18 +28720,18 @@
 
             	    }
 
-            	    // InternalReportDSL.g:10181:4: ( (lv_type_3_0= ruleJvmTypeReference ) )
-            	    // InternalReportDSL.g:10182:5: (lv_type_3_0= ruleJvmTypeReference )
+            	    // InternalReportDSL.g:10490:4: ( (lv_type_3_0= ruleJvmTypeReference ) )
+            	    // InternalReportDSL.g:10491:5: (lv_type_3_0= ruleJvmTypeReference )
             	    {
-            	    // InternalReportDSL.g:10182:5: (lv_type_3_0= ruleJvmTypeReference )
-            	    // InternalReportDSL.g:10183:6: lv_type_3_0= ruleJvmTypeReference
+            	    // InternalReportDSL.g:10491:5: (lv_type_3_0= ruleJvmTypeReference )
+            	    // InternalReportDSL.g:10492:6: lv_type_3_0= ruleJvmTypeReference
             	    {
             	    if ( state.backtracking==0 ) {
 
             	      						newCompositeNode(grammarAccess.getXCastedExpressionAccess().getTypeJvmTypeReferenceParserRuleCall_1_1_0());
             	      					
             	    }
-            	    pushFollow(FOLLOW_150);
+            	    pushFollow(FOLLOW_142);
             	    lv_type_3_0=ruleJvmTypeReference();
 
             	    state._fsp--;
@@ -27914,7 +28760,7 @@
             	    break;
 
             	default :
-            	    break loop146;
+            	    break loop134;
                 }
             } while (true);
 
@@ -27943,7 +28789,7 @@
 
 
     // $ANTLR start "entryRuleXPostfixOperation"
-    // InternalReportDSL.g:10205:1: entryRuleXPostfixOperation returns [EObject current=null] : iv_ruleXPostfixOperation= ruleXPostfixOperation EOF ;
+    // InternalReportDSL.g:10514:1: entryRuleXPostfixOperation returns [EObject current=null] : iv_ruleXPostfixOperation= ruleXPostfixOperation EOF ;
     public final EObject entryRuleXPostfixOperation() throws RecognitionException {
         EObject current = null;
 
@@ -27951,8 +28797,8 @@
 
 
         try {
-            // InternalReportDSL.g:10205:58: (iv_ruleXPostfixOperation= ruleXPostfixOperation EOF )
-            // InternalReportDSL.g:10206:2: iv_ruleXPostfixOperation= ruleXPostfixOperation EOF
+            // InternalReportDSL.g:10514:58: (iv_ruleXPostfixOperation= ruleXPostfixOperation EOF )
+            // InternalReportDSL.g:10515:2: iv_ruleXPostfixOperation= ruleXPostfixOperation EOF
             {
             if ( state.backtracking==0 ) {
                newCompositeNode(grammarAccess.getXPostfixOperationRule()); 
@@ -27983,7 +28829,7 @@
 
 
     // $ANTLR start "ruleXPostfixOperation"
-    // InternalReportDSL.g:10212:1: ruleXPostfixOperation returns [EObject current=null] : (this_XMemberFeatureCall_0= ruleXMemberFeatureCall ( ( ( () ( ( ruleOpPostfix ) ) ) )=> ( () ( ( ruleOpPostfix ) ) ) )? ) ;
+    // InternalReportDSL.g:10521:1: ruleXPostfixOperation returns [EObject current=null] : (this_XMemberFeatureCall_0= ruleXMemberFeatureCall ( ( ( () ( ( ruleOpPostfix ) ) ) )=> ( () ( ( ruleOpPostfix ) ) ) )? ) ;
     public final EObject ruleXPostfixOperation() throws RecognitionException {
         EObject current = null;
 
@@ -27994,18 +28840,18 @@
         	enterRule();
 
         try {
-            // InternalReportDSL.g:10218:2: ( (this_XMemberFeatureCall_0= ruleXMemberFeatureCall ( ( ( () ( ( ruleOpPostfix ) ) ) )=> ( () ( ( ruleOpPostfix ) ) ) )? ) )
-            // InternalReportDSL.g:10219:2: (this_XMemberFeatureCall_0= ruleXMemberFeatureCall ( ( ( () ( ( ruleOpPostfix ) ) ) )=> ( () ( ( ruleOpPostfix ) ) ) )? )
+            // InternalReportDSL.g:10527:2: ( (this_XMemberFeatureCall_0= ruleXMemberFeatureCall ( ( ( () ( ( ruleOpPostfix ) ) ) )=> ( () ( ( ruleOpPostfix ) ) ) )? ) )
+            // InternalReportDSL.g:10528:2: (this_XMemberFeatureCall_0= ruleXMemberFeatureCall ( ( ( () ( ( ruleOpPostfix ) ) ) )=> ( () ( ( ruleOpPostfix ) ) ) )? )
             {
-            // InternalReportDSL.g:10219:2: (this_XMemberFeatureCall_0= ruleXMemberFeatureCall ( ( ( () ( ( ruleOpPostfix ) ) ) )=> ( () ( ( ruleOpPostfix ) ) ) )? )
-            // InternalReportDSL.g:10220:3: this_XMemberFeatureCall_0= ruleXMemberFeatureCall ( ( ( () ( ( ruleOpPostfix ) ) ) )=> ( () ( ( ruleOpPostfix ) ) ) )?
+            // InternalReportDSL.g:10528:2: (this_XMemberFeatureCall_0= ruleXMemberFeatureCall ( ( ( () ( ( ruleOpPostfix ) ) ) )=> ( () ( ( ruleOpPostfix ) ) ) )? )
+            // InternalReportDSL.g:10529:3: this_XMemberFeatureCall_0= ruleXMemberFeatureCall ( ( ( () ( ( ruleOpPostfix ) ) ) )=> ( () ( ( ruleOpPostfix ) ) ) )?
             {
             if ( state.backtracking==0 ) {
 
               			newCompositeNode(grammarAccess.getXPostfixOperationAccess().getXMemberFeatureCallParserRuleCall_0());
               		
             }
-            pushFollow(FOLLOW_151);
+            pushFollow(FOLLOW_143);
             this_XMemberFeatureCall_0=ruleXMemberFeatureCall();
 
             state._fsp--;
@@ -28016,33 +28862,33 @@
               			afterParserOrEnumRuleCall();
               		
             }
-            // InternalReportDSL.g:10228:3: ( ( ( () ( ( ruleOpPostfix ) ) ) )=> ( () ( ( ruleOpPostfix ) ) ) )?
-            int alt147=2;
-            int LA147_0 = input.LA(1);
+            // InternalReportDSL.g:10537:3: ( ( ( () ( ( ruleOpPostfix ) ) ) )=> ( () ( ( ruleOpPostfix ) ) ) )?
+            int alt135=2;
+            int LA135_0 = input.LA(1);
 
-            if ( (LA147_0==165) ) {
-                int LA147_1 = input.LA(2);
+            if ( (LA135_0==164) ) {
+                int LA135_1 = input.LA(2);
 
                 if ( (synpred19_InternalReportDSL()) ) {
-                    alt147=1;
+                    alt135=1;
                 }
             }
-            else if ( (LA147_0==166) ) {
-                int LA147_2 = input.LA(2);
+            else if ( (LA135_0==165) ) {
+                int LA135_2 = input.LA(2);
 
                 if ( (synpred19_InternalReportDSL()) ) {
-                    alt147=1;
+                    alt135=1;
                 }
             }
-            switch (alt147) {
+            switch (alt135) {
                 case 1 :
-                    // InternalReportDSL.g:10229:4: ( ( () ( ( ruleOpPostfix ) ) ) )=> ( () ( ( ruleOpPostfix ) ) )
+                    // InternalReportDSL.g:10538:4: ( ( () ( ( ruleOpPostfix ) ) ) )=> ( () ( ( ruleOpPostfix ) ) )
                     {
-                    // InternalReportDSL.g:10239:4: ( () ( ( ruleOpPostfix ) ) )
-                    // InternalReportDSL.g:10240:5: () ( ( ruleOpPostfix ) )
+                    // InternalReportDSL.g:10548:4: ( () ( ( ruleOpPostfix ) ) )
+                    // InternalReportDSL.g:10549:5: () ( ( ruleOpPostfix ) )
                     {
-                    // InternalReportDSL.g:10240:5: ()
-                    // InternalReportDSL.g:10241:6: 
+                    // InternalReportDSL.g:10549:5: ()
+                    // InternalReportDSL.g:10550:6: 
                     {
                     if ( state.backtracking==0 ) {
 
@@ -28054,11 +28900,11 @@
 
                     }
 
-                    // InternalReportDSL.g:10247:5: ( ( ruleOpPostfix ) )
-                    // InternalReportDSL.g:10248:6: ( ruleOpPostfix )
+                    // InternalReportDSL.g:10556:5: ( ( ruleOpPostfix ) )
+                    // InternalReportDSL.g:10557:6: ( ruleOpPostfix )
                     {
-                    // InternalReportDSL.g:10248:6: ( ruleOpPostfix )
-                    // InternalReportDSL.g:10249:7: ruleOpPostfix
+                    // InternalReportDSL.g:10557:6: ( ruleOpPostfix )
+                    // InternalReportDSL.g:10558:7: ruleOpPostfix
                     {
                     if ( state.backtracking==0 ) {
 
@@ -28122,7 +28968,7 @@
 
 
     // $ANTLR start "entryRuleOpPostfix"
-    // InternalReportDSL.g:10269:1: entryRuleOpPostfix returns [String current=null] : iv_ruleOpPostfix= ruleOpPostfix EOF ;
+    // InternalReportDSL.g:10578:1: entryRuleOpPostfix returns [String current=null] : iv_ruleOpPostfix= ruleOpPostfix EOF ;
     public final String entryRuleOpPostfix() throws RecognitionException {
         String current = null;
 
@@ -28130,8 +28976,8 @@
 
 
         try {
-            // InternalReportDSL.g:10269:49: (iv_ruleOpPostfix= ruleOpPostfix EOF )
-            // InternalReportDSL.g:10270:2: iv_ruleOpPostfix= ruleOpPostfix EOF
+            // InternalReportDSL.g:10578:49: (iv_ruleOpPostfix= ruleOpPostfix EOF )
+            // InternalReportDSL.g:10579:2: iv_ruleOpPostfix= ruleOpPostfix EOF
             {
             if ( state.backtracking==0 ) {
                newCompositeNode(grammarAccess.getOpPostfixRule()); 
@@ -28162,7 +29008,7 @@
 
 
     // $ANTLR start "ruleOpPostfix"
-    // InternalReportDSL.g:10276:1: ruleOpPostfix returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : (kw= '++' | kw= '--' ) ;
+    // InternalReportDSL.g:10585:1: ruleOpPostfix returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : (kw= '++' | kw= '--' ) ;
     public final AntlrDatatypeRuleToken ruleOpPostfix() throws RecognitionException {
         AntlrDatatypeRuleToken current = new AntlrDatatypeRuleToken();
 
@@ -28172,31 +29018,31 @@
         	enterRule();
 
         try {
-            // InternalReportDSL.g:10282:2: ( (kw= '++' | kw= '--' ) )
-            // InternalReportDSL.g:10283:2: (kw= '++' | kw= '--' )
+            // InternalReportDSL.g:10591:2: ( (kw= '++' | kw= '--' ) )
+            // InternalReportDSL.g:10592:2: (kw= '++' | kw= '--' )
             {
-            // InternalReportDSL.g:10283:2: (kw= '++' | kw= '--' )
-            int alt148=2;
-            int LA148_0 = input.LA(1);
+            // InternalReportDSL.g:10592:2: (kw= '++' | kw= '--' )
+            int alt136=2;
+            int LA136_0 = input.LA(1);
 
-            if ( (LA148_0==165) ) {
-                alt148=1;
+            if ( (LA136_0==164) ) {
+                alt136=1;
             }
-            else if ( (LA148_0==166) ) {
-                alt148=2;
+            else if ( (LA136_0==165) ) {
+                alt136=2;
             }
             else {
                 if (state.backtracking>0) {state.failed=true; return current;}
                 NoViableAltException nvae =
-                    new NoViableAltException("", 148, 0, input);
+                    new NoViableAltException("", 136, 0, input);
 
                 throw nvae;
             }
-            switch (alt148) {
+            switch (alt136) {
                 case 1 :
-                    // InternalReportDSL.g:10284:3: kw= '++'
+                    // InternalReportDSL.g:10593:3: kw= '++'
                     {
-                    kw=(Token)match(input,165,FOLLOW_2); if (state.failed) return current;
+                    kw=(Token)match(input,164,FOLLOW_2); if (state.failed) return current;
                     if ( state.backtracking==0 ) {
 
                       			current.merge(kw);
@@ -28207,9 +29053,9 @@
                     }
                     break;
                 case 2 :
-                    // InternalReportDSL.g:10290:3: kw= '--'
+                    // InternalReportDSL.g:10599:3: kw= '--'
                     {
-                    kw=(Token)match(input,166,FOLLOW_2); if (state.failed) return current;
+                    kw=(Token)match(input,165,FOLLOW_2); if (state.failed) return current;
                     if ( state.backtracking==0 ) {
 
                       			current.merge(kw);
@@ -28244,7 +29090,7 @@
 
 
     // $ANTLR start "entryRuleXMemberFeatureCall"
-    // InternalReportDSL.g:10299:1: entryRuleXMemberFeatureCall returns [EObject current=null] : iv_ruleXMemberFeatureCall= ruleXMemberFeatureCall EOF ;
+    // InternalReportDSL.g:10608:1: entryRuleXMemberFeatureCall returns [EObject current=null] : iv_ruleXMemberFeatureCall= ruleXMemberFeatureCall EOF ;
     public final EObject entryRuleXMemberFeatureCall() throws RecognitionException {
         EObject current = null;
 
@@ -28252,8 +29098,8 @@
 
 
         try {
-            // InternalReportDSL.g:10299:59: (iv_ruleXMemberFeatureCall= ruleXMemberFeatureCall EOF )
-            // InternalReportDSL.g:10300:2: iv_ruleXMemberFeatureCall= ruleXMemberFeatureCall EOF
+            // InternalReportDSL.g:10608:59: (iv_ruleXMemberFeatureCall= ruleXMemberFeatureCall EOF )
+            // InternalReportDSL.g:10609:2: iv_ruleXMemberFeatureCall= ruleXMemberFeatureCall EOF
             {
             if ( state.backtracking==0 ) {
                newCompositeNode(grammarAccess.getXMemberFeatureCallRule()); 
@@ -28284,7 +29130,7 @@
 
 
     // $ANTLR start "ruleXMemberFeatureCall"
-    // InternalReportDSL.g:10306:1: ruleXMemberFeatureCall returns [EObject current=null] : (this_XPrimaryExpression_0= ruleXPrimaryExpression ( ( ( ( ( () ( '.' | ( ( '::' ) ) ) ( ( ruleFeatureCallID ) ) ruleOpSingleAssign ) )=> ( () (otherlv_2= '.' | ( (lv_explicitStatic_3_0= '::' ) ) ) ( ( ruleFeatureCallID ) ) ruleOpSingleAssign ) ) ( (lv_value_6_0= ruleXAssignment ) ) ) | ( ( ( ( () ( '.' | ( ( '?.' ) ) | ( ( '::' ) ) ) ) )=> ( () (otherlv_8= '.' | ( (lv_nullSafe_9_0= '?.' ) ) | ( (lv_explicitStatic_10_0= '::' ) ) ) ) ) (otherlv_11= '<' ( (lv_typeArguments_12_0= ruleJvmArgumentTypeReference ) ) (otherlv_13= ',' ( (lv_typeArguments_14_0= ruleJvmArgumentTypeReference ) ) )* otherlv_15= '>' )? ( ( ruleIdOrSuper ) ) ( ( ( ( '(' ) )=> (lv_explicitOperationCall_17_0= '(' ) ) ( ( ( ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> (lv_memberCallArguments_18_0= ruleXShortClosure ) ) | ( ( (lv_memberCallArguments_19_0= ruleXExpression ) ) (otherlv_20= ',' ( (lv_memberCallArguments_21_0= ruleXExpression ) ) )* ) )? otherlv_22= ')' )? ( ( ( () '[' ) )=> (lv_memberCallArguments_23_0= ruleXClosure ) )? ) )* ) ;
+    // InternalReportDSL.g:10615:1: ruleXMemberFeatureCall returns [EObject current=null] : (this_XPrimaryExpression_0= ruleXPrimaryExpression ( ( ( ( ( () ( '.' | ( ( '::' ) ) ) ( ( ruleFeatureCallID ) ) ruleOpSingleAssign ) )=> ( () (otherlv_2= '.' | ( (lv_explicitStatic_3_0= '::' ) ) ) ( ( ruleFeatureCallID ) ) ruleOpSingleAssign ) ) ( (lv_value_6_0= ruleXAssignment ) ) ) | ( ( ( ( () ( '.' | ( ( '?.' ) ) | ( ( '::' ) ) ) ) )=> ( () (otherlv_8= '.' | ( (lv_nullSafe_9_0= '?.' ) ) | ( (lv_explicitStatic_10_0= '::' ) ) ) ) ) (otherlv_11= '<' ( (lv_typeArguments_12_0= ruleJvmArgumentTypeReference ) ) (otherlv_13= ',' ( (lv_typeArguments_14_0= ruleJvmArgumentTypeReference ) ) )* otherlv_15= '>' )? ( ( ruleIdOrSuper ) ) ( ( ( ( '(' ) )=> (lv_explicitOperationCall_17_0= '(' ) ) ( ( ( ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> (lv_memberCallArguments_18_0= ruleXShortClosure ) ) | ( ( (lv_memberCallArguments_19_0= ruleXExpression ) ) (otherlv_20= ',' ( (lv_memberCallArguments_21_0= ruleXExpression ) ) )* ) )? otherlv_22= ')' )? ( ( ( () '[' ) )=> (lv_memberCallArguments_23_0= ruleXClosure ) )? ) )* ) ;
     public final EObject ruleXMemberFeatureCall() throws RecognitionException {
         EObject current = null;
 
@@ -28320,18 +29166,18 @@
         	enterRule();
 
         try {
-            // InternalReportDSL.g:10312:2: ( (this_XPrimaryExpression_0= ruleXPrimaryExpression ( ( ( ( ( () ( '.' | ( ( '::' ) ) ) ( ( ruleFeatureCallID ) ) ruleOpSingleAssign ) )=> ( () (otherlv_2= '.' | ( (lv_explicitStatic_3_0= '::' ) ) ) ( ( ruleFeatureCallID ) ) ruleOpSingleAssign ) ) ( (lv_value_6_0= ruleXAssignment ) ) ) | ( ( ( ( () ( '.' | ( ( '?.' ) ) | ( ( '::' ) ) ) ) )=> ( () (otherlv_8= '.' | ( (lv_nullSafe_9_0= '?.' ) ) | ( (lv_explicitStatic_10_0= '::' ) ) ) ) ) (otherlv_11= '<' ( (lv_typeArguments_12_0= ruleJvmArgumentTypeReference ) ) (otherlv_13= ',' ( (lv_typeArguments_14_0= ruleJvmArgumentTypeReference ) ) )* otherlv_15= '>' )? ( ( ruleIdOrSuper ) ) ( ( ( ( '(' ) )=> (lv_explicitOperationCall_17_0= '(' ) ) ( ( ( ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> (lv_memberCallArguments_18_0= ruleXShortClosure ) ) | ( ( (lv_memberCallArguments_19_0= ruleXExpression ) ) (otherlv_20= ',' ( (lv_memberCallArguments_21_0= ruleXExpression ) ) )* ) )? otherlv_22= ')' )? ( ( ( () '[' ) )=> (lv_memberCallArguments_23_0= ruleXClosure ) )? ) )* ) )
-            // InternalReportDSL.g:10313:2: (this_XPrimaryExpression_0= ruleXPrimaryExpression ( ( ( ( ( () ( '.' | ( ( '::' ) ) ) ( ( ruleFeatureCallID ) ) ruleOpSingleAssign ) )=> ( () (otherlv_2= '.' | ( (lv_explicitStatic_3_0= '::' ) ) ) ( ( ruleFeatureCallID ) ) ruleOpSingleAssign ) ) ( (lv_value_6_0= ruleXAssignment ) ) ) | ( ( ( ( () ( '.' | ( ( '?.' ) ) | ( ( '::' ) ) ) ) )=> ( () (otherlv_8= '.' | ( (lv_nullSafe_9_0= '?.' ) ) | ( (lv_explicitStatic_10_0= '::' ) ) ) ) ) (otherlv_11= '<' ( (lv_typeArguments_12_0= ruleJvmArgumentTypeReference ) ) (otherlv_13= ',' ( (lv_typeArguments_14_0= ruleJvmArgumentTypeReference ) ) )* otherlv_15= '>' )? ( ( ruleIdOrSuper ) ) ( ( ( ( '(' ) )=> (lv_explicitOperationCall_17_0= '(' ) ) ( ( ( ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> (lv_memberCallArguments_18_0= ruleXShortClosure ) ) | ( ( (lv_memberCallArguments_19_0= ruleXExpression ) ) (otherlv_20= ',' ( (lv_memberCallArguments_21_0= ruleXExpression ) ) )* ) )? otherlv_22= ')' )? ( ( ( () '[' ) )=> (lv_memberCallArguments_23_0= ruleXClosure ) )? ) )* )
+            // InternalReportDSL.g:10621:2: ( (this_XPrimaryExpression_0= ruleXPrimaryExpression ( ( ( ( ( () ( '.' | ( ( '::' ) ) ) ( ( ruleFeatureCallID ) ) ruleOpSingleAssign ) )=> ( () (otherlv_2= '.' | ( (lv_explicitStatic_3_0= '::' ) ) ) ( ( ruleFeatureCallID ) ) ruleOpSingleAssign ) ) ( (lv_value_6_0= ruleXAssignment ) ) ) | ( ( ( ( () ( '.' | ( ( '?.' ) ) | ( ( '::' ) ) ) ) )=> ( () (otherlv_8= '.' | ( (lv_nullSafe_9_0= '?.' ) ) | ( (lv_explicitStatic_10_0= '::' ) ) ) ) ) (otherlv_11= '<' ( (lv_typeArguments_12_0= ruleJvmArgumentTypeReference ) ) (otherlv_13= ',' ( (lv_typeArguments_14_0= ruleJvmArgumentTypeReference ) ) )* otherlv_15= '>' )? ( ( ruleIdOrSuper ) ) ( ( ( ( '(' ) )=> (lv_explicitOperationCall_17_0= '(' ) ) ( ( ( ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> (lv_memberCallArguments_18_0= ruleXShortClosure ) ) | ( ( (lv_memberCallArguments_19_0= ruleXExpression ) ) (otherlv_20= ',' ( (lv_memberCallArguments_21_0= ruleXExpression ) ) )* ) )? otherlv_22= ')' )? ( ( ( () '[' ) )=> (lv_memberCallArguments_23_0= ruleXClosure ) )? ) )* ) )
+            // InternalReportDSL.g:10622:2: (this_XPrimaryExpression_0= ruleXPrimaryExpression ( ( ( ( ( () ( '.' | ( ( '::' ) ) ) ( ( ruleFeatureCallID ) ) ruleOpSingleAssign ) )=> ( () (otherlv_2= '.' | ( (lv_explicitStatic_3_0= '::' ) ) ) ( ( ruleFeatureCallID ) ) ruleOpSingleAssign ) ) ( (lv_value_6_0= ruleXAssignment ) ) ) | ( ( ( ( () ( '.' | ( ( '?.' ) ) | ( ( '::' ) ) ) ) )=> ( () (otherlv_8= '.' | ( (lv_nullSafe_9_0= '?.' ) ) | ( (lv_explicitStatic_10_0= '::' ) ) ) ) ) (otherlv_11= '<' ( (lv_typeArguments_12_0= ruleJvmArgumentTypeReference ) ) (otherlv_13= ',' ( (lv_typeArguments_14_0= ruleJvmArgumentTypeReference ) ) )* otherlv_15= '>' )? ( ( ruleIdOrSuper ) ) ( ( ( ( '(' ) )=> (lv_explicitOperationCall_17_0= '(' ) ) ( ( ( ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> (lv_memberCallArguments_18_0= ruleXShortClosure ) ) | ( ( (lv_memberCallArguments_19_0= ruleXExpression ) ) (otherlv_20= ',' ( (lv_memberCallArguments_21_0= ruleXExpression ) ) )* ) )? otherlv_22= ')' )? ( ( ( () '[' ) )=> (lv_memberCallArguments_23_0= ruleXClosure ) )? ) )* )
             {
-            // InternalReportDSL.g:10313:2: (this_XPrimaryExpression_0= ruleXPrimaryExpression ( ( ( ( ( () ( '.' | ( ( '::' ) ) ) ( ( ruleFeatureCallID ) ) ruleOpSingleAssign ) )=> ( () (otherlv_2= '.' | ( (lv_explicitStatic_3_0= '::' ) ) ) ( ( ruleFeatureCallID ) ) ruleOpSingleAssign ) ) ( (lv_value_6_0= ruleXAssignment ) ) ) | ( ( ( ( () ( '.' | ( ( '?.' ) ) | ( ( '::' ) ) ) ) )=> ( () (otherlv_8= '.' | ( (lv_nullSafe_9_0= '?.' ) ) | ( (lv_explicitStatic_10_0= '::' ) ) ) ) ) (otherlv_11= '<' ( (lv_typeArguments_12_0= ruleJvmArgumentTypeReference ) ) (otherlv_13= ',' ( (lv_typeArguments_14_0= ruleJvmArgumentTypeReference ) ) )* otherlv_15= '>' )? ( ( ruleIdOrSuper ) ) ( ( ( ( '(' ) )=> (lv_explicitOperationCall_17_0= '(' ) ) ( ( ( ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> (lv_memberCallArguments_18_0= ruleXShortClosure ) ) | ( ( (lv_memberCallArguments_19_0= ruleXExpression ) ) (otherlv_20= ',' ( (lv_memberCallArguments_21_0= ruleXExpression ) ) )* ) )? otherlv_22= ')' )? ( ( ( () '[' ) )=> (lv_memberCallArguments_23_0= ruleXClosure ) )? ) )* )
-            // InternalReportDSL.g:10314:3: this_XPrimaryExpression_0= ruleXPrimaryExpression ( ( ( ( ( () ( '.' | ( ( '::' ) ) ) ( ( ruleFeatureCallID ) ) ruleOpSingleAssign ) )=> ( () (otherlv_2= '.' | ( (lv_explicitStatic_3_0= '::' ) ) ) ( ( ruleFeatureCallID ) ) ruleOpSingleAssign ) ) ( (lv_value_6_0= ruleXAssignment ) ) ) | ( ( ( ( () ( '.' | ( ( '?.' ) ) | ( ( '::' ) ) ) ) )=> ( () (otherlv_8= '.' | ( (lv_nullSafe_9_0= '?.' ) ) | ( (lv_explicitStatic_10_0= '::' ) ) ) ) ) (otherlv_11= '<' ( (lv_typeArguments_12_0= ruleJvmArgumentTypeReference ) ) (otherlv_13= ',' ( (lv_typeArguments_14_0= ruleJvmArgumentTypeReference ) ) )* otherlv_15= '>' )? ( ( ruleIdOrSuper ) ) ( ( ( ( '(' ) )=> (lv_explicitOperationCall_17_0= '(' ) ) ( ( ( ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> (lv_memberCallArguments_18_0= ruleXShortClosure ) ) | ( ( (lv_memberCallArguments_19_0= ruleXExpression ) ) (otherlv_20= ',' ( (lv_memberCallArguments_21_0= ruleXExpression ) ) )* ) )? otherlv_22= ')' )? ( ( ( () '[' ) )=> (lv_memberCallArguments_23_0= ruleXClosure ) )? ) )*
+            // InternalReportDSL.g:10622:2: (this_XPrimaryExpression_0= ruleXPrimaryExpression ( ( ( ( ( () ( '.' | ( ( '::' ) ) ) ( ( ruleFeatureCallID ) ) ruleOpSingleAssign ) )=> ( () (otherlv_2= '.' | ( (lv_explicitStatic_3_0= '::' ) ) ) ( ( ruleFeatureCallID ) ) ruleOpSingleAssign ) ) ( (lv_value_6_0= ruleXAssignment ) ) ) | ( ( ( ( () ( '.' | ( ( '?.' ) ) | ( ( '::' ) ) ) ) )=> ( () (otherlv_8= '.' | ( (lv_nullSafe_9_0= '?.' ) ) | ( (lv_explicitStatic_10_0= '::' ) ) ) ) ) (otherlv_11= '<' ( (lv_typeArguments_12_0= ruleJvmArgumentTypeReference ) ) (otherlv_13= ',' ( (lv_typeArguments_14_0= ruleJvmArgumentTypeReference ) ) )* otherlv_15= '>' )? ( ( ruleIdOrSuper ) ) ( ( ( ( '(' ) )=> (lv_explicitOperationCall_17_0= '(' ) ) ( ( ( ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> (lv_memberCallArguments_18_0= ruleXShortClosure ) ) | ( ( (lv_memberCallArguments_19_0= ruleXExpression ) ) (otherlv_20= ',' ( (lv_memberCallArguments_21_0= ruleXExpression ) ) )* ) )? otherlv_22= ')' )? ( ( ( () '[' ) )=> (lv_memberCallArguments_23_0= ruleXClosure ) )? ) )* )
+            // InternalReportDSL.g:10623:3: this_XPrimaryExpression_0= ruleXPrimaryExpression ( ( ( ( ( () ( '.' | ( ( '::' ) ) ) ( ( ruleFeatureCallID ) ) ruleOpSingleAssign ) )=> ( () (otherlv_2= '.' | ( (lv_explicitStatic_3_0= '::' ) ) ) ( ( ruleFeatureCallID ) ) ruleOpSingleAssign ) ) ( (lv_value_6_0= ruleXAssignment ) ) ) | ( ( ( ( () ( '.' | ( ( '?.' ) ) | ( ( '::' ) ) ) ) )=> ( () (otherlv_8= '.' | ( (lv_nullSafe_9_0= '?.' ) ) | ( (lv_explicitStatic_10_0= '::' ) ) ) ) ) (otherlv_11= '<' ( (lv_typeArguments_12_0= ruleJvmArgumentTypeReference ) ) (otherlv_13= ',' ( (lv_typeArguments_14_0= ruleJvmArgumentTypeReference ) ) )* otherlv_15= '>' )? ( ( ruleIdOrSuper ) ) ( ( ( ( '(' ) )=> (lv_explicitOperationCall_17_0= '(' ) ) ( ( ( ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> (lv_memberCallArguments_18_0= ruleXShortClosure ) ) | ( ( (lv_memberCallArguments_19_0= ruleXExpression ) ) (otherlv_20= ',' ( (lv_memberCallArguments_21_0= ruleXExpression ) ) )* ) )? otherlv_22= ')' )? ( ( ( () '[' ) )=> (lv_memberCallArguments_23_0= ruleXClosure ) )? ) )*
             {
             if ( state.backtracking==0 ) {
 
               			newCompositeNode(grammarAccess.getXMemberFeatureCallAccess().getXPrimaryExpressionParserRuleCall_0());
               		
             }
-            pushFollow(FOLLOW_152);
+            pushFollow(FOLLOW_144);
             this_XPrimaryExpression_0=ruleXPrimaryExpression();
 
             state._fsp--;
@@ -28342,20 +29188,34 @@
               			afterParserOrEnumRuleCall();
               		
             }
-            // InternalReportDSL.g:10322:3: ( ( ( ( ( () ( '.' | ( ( '::' ) ) ) ( ( ruleFeatureCallID ) ) ruleOpSingleAssign ) )=> ( () (otherlv_2= '.' | ( (lv_explicitStatic_3_0= '::' ) ) ) ( ( ruleFeatureCallID ) ) ruleOpSingleAssign ) ) ( (lv_value_6_0= ruleXAssignment ) ) ) | ( ( ( ( () ( '.' | ( ( '?.' ) ) | ( ( '::' ) ) ) ) )=> ( () (otherlv_8= '.' | ( (lv_nullSafe_9_0= '?.' ) ) | ( (lv_explicitStatic_10_0= '::' ) ) ) ) ) (otherlv_11= '<' ( (lv_typeArguments_12_0= ruleJvmArgumentTypeReference ) ) (otherlv_13= ',' ( (lv_typeArguments_14_0= ruleJvmArgumentTypeReference ) ) )* otherlv_15= '>' )? ( ( ruleIdOrSuper ) ) ( ( ( ( '(' ) )=> (lv_explicitOperationCall_17_0= '(' ) ) ( ( ( ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> (lv_memberCallArguments_18_0= ruleXShortClosure ) ) | ( ( (lv_memberCallArguments_19_0= ruleXExpression ) ) (otherlv_20= ',' ( (lv_memberCallArguments_21_0= ruleXExpression ) ) )* ) )? otherlv_22= ')' )? ( ( ( () '[' ) )=> (lv_memberCallArguments_23_0= ruleXClosure ) )? ) )*
-            loop157:
+            // InternalReportDSL.g:10631:3: ( ( ( ( ( () ( '.' | ( ( '::' ) ) ) ( ( ruleFeatureCallID ) ) ruleOpSingleAssign ) )=> ( () (otherlv_2= '.' | ( (lv_explicitStatic_3_0= '::' ) ) ) ( ( ruleFeatureCallID ) ) ruleOpSingleAssign ) ) ( (lv_value_6_0= ruleXAssignment ) ) ) | ( ( ( ( () ( '.' | ( ( '?.' ) ) | ( ( '::' ) ) ) ) )=> ( () (otherlv_8= '.' | ( (lv_nullSafe_9_0= '?.' ) ) | ( (lv_explicitStatic_10_0= '::' ) ) ) ) ) (otherlv_11= '<' ( (lv_typeArguments_12_0= ruleJvmArgumentTypeReference ) ) (otherlv_13= ',' ( (lv_typeArguments_14_0= ruleJvmArgumentTypeReference ) ) )* otherlv_15= '>' )? ( ( ruleIdOrSuper ) ) ( ( ( ( '(' ) )=> (lv_explicitOperationCall_17_0= '(' ) ) ( ( ( ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> (lv_memberCallArguments_18_0= ruleXShortClosure ) ) | ( ( (lv_memberCallArguments_19_0= ruleXExpression ) ) (otherlv_20= ',' ( (lv_memberCallArguments_21_0= ruleXExpression ) ) )* ) )? otherlv_22= ')' )? ( ( ( () '[' ) )=> (lv_memberCallArguments_23_0= ruleXClosure ) )? ) )*
+            loop145:
             do {
-                int alt157=3;
+                int alt145=3;
                 switch ( input.LA(1) ) {
-                case 167:
+                case 166:
                     {
-                    int LA157_2 = input.LA(2);
+                    int LA145_2 = input.LA(2);
 
                     if ( (synpred20_InternalReportDSL()) ) {
-                        alt157=1;
+                        alt145=1;
                     }
                     else if ( (synpred21_InternalReportDSL()) ) {
-                        alt157=2;
+                        alt145=2;
+                    }
+
+
+                    }
+                    break;
+                case 167:
+                    {
+                    int LA145_3 = input.LA(2);
+
+                    if ( (synpred20_InternalReportDSL()) ) {
+                        alt145=1;
+                    }
+                    else if ( (synpred21_InternalReportDSL()) ) {
+                        alt145=2;
                     }
 
 
@@ -28363,24 +29223,10 @@
                     break;
                 case 168:
                     {
-                    int LA157_3 = input.LA(2);
-
-                    if ( (synpred20_InternalReportDSL()) ) {
-                        alt157=1;
-                    }
-                    else if ( (synpred21_InternalReportDSL()) ) {
-                        alt157=2;
-                    }
-
-
-                    }
-                    break;
-                case 169:
-                    {
-                    int LA157_4 = input.LA(2);
+                    int LA145_4 = input.LA(2);
 
                     if ( (synpred21_InternalReportDSL()) ) {
-                        alt157=2;
+                        alt145=2;
                     }
 
 
@@ -28389,21 +29235,21 @@
 
                 }
 
-                switch (alt157) {
+                switch (alt145) {
             	case 1 :
-            	    // InternalReportDSL.g:10323:4: ( ( ( ( () ( '.' | ( ( '::' ) ) ) ( ( ruleFeatureCallID ) ) ruleOpSingleAssign ) )=> ( () (otherlv_2= '.' | ( (lv_explicitStatic_3_0= '::' ) ) ) ( ( ruleFeatureCallID ) ) ruleOpSingleAssign ) ) ( (lv_value_6_0= ruleXAssignment ) ) )
+            	    // InternalReportDSL.g:10632:4: ( ( ( ( () ( '.' | ( ( '::' ) ) ) ( ( ruleFeatureCallID ) ) ruleOpSingleAssign ) )=> ( () (otherlv_2= '.' | ( (lv_explicitStatic_3_0= '::' ) ) ) ( ( ruleFeatureCallID ) ) ruleOpSingleAssign ) ) ( (lv_value_6_0= ruleXAssignment ) ) )
             	    {
-            	    // InternalReportDSL.g:10323:4: ( ( ( ( () ( '.' | ( ( '::' ) ) ) ( ( ruleFeatureCallID ) ) ruleOpSingleAssign ) )=> ( () (otherlv_2= '.' | ( (lv_explicitStatic_3_0= '::' ) ) ) ( ( ruleFeatureCallID ) ) ruleOpSingleAssign ) ) ( (lv_value_6_0= ruleXAssignment ) ) )
-            	    // InternalReportDSL.g:10324:5: ( ( ( () ( '.' | ( ( '::' ) ) ) ( ( ruleFeatureCallID ) ) ruleOpSingleAssign ) )=> ( () (otherlv_2= '.' | ( (lv_explicitStatic_3_0= '::' ) ) ) ( ( ruleFeatureCallID ) ) ruleOpSingleAssign ) ) ( (lv_value_6_0= ruleXAssignment ) )
+            	    // InternalReportDSL.g:10632:4: ( ( ( ( () ( '.' | ( ( '::' ) ) ) ( ( ruleFeatureCallID ) ) ruleOpSingleAssign ) )=> ( () (otherlv_2= '.' | ( (lv_explicitStatic_3_0= '::' ) ) ) ( ( ruleFeatureCallID ) ) ruleOpSingleAssign ) ) ( (lv_value_6_0= ruleXAssignment ) ) )
+            	    // InternalReportDSL.g:10633:5: ( ( ( () ( '.' | ( ( '::' ) ) ) ( ( ruleFeatureCallID ) ) ruleOpSingleAssign ) )=> ( () (otherlv_2= '.' | ( (lv_explicitStatic_3_0= '::' ) ) ) ( ( ruleFeatureCallID ) ) ruleOpSingleAssign ) ) ( (lv_value_6_0= ruleXAssignment ) )
             	    {
-            	    // InternalReportDSL.g:10324:5: ( ( ( () ( '.' | ( ( '::' ) ) ) ( ( ruleFeatureCallID ) ) ruleOpSingleAssign ) )=> ( () (otherlv_2= '.' | ( (lv_explicitStatic_3_0= '::' ) ) ) ( ( ruleFeatureCallID ) ) ruleOpSingleAssign ) )
-            	    // InternalReportDSL.g:10325:6: ( ( () ( '.' | ( ( '::' ) ) ) ( ( ruleFeatureCallID ) ) ruleOpSingleAssign ) )=> ( () (otherlv_2= '.' | ( (lv_explicitStatic_3_0= '::' ) ) ) ( ( ruleFeatureCallID ) ) ruleOpSingleAssign )
+            	    // InternalReportDSL.g:10633:5: ( ( ( () ( '.' | ( ( '::' ) ) ) ( ( ruleFeatureCallID ) ) ruleOpSingleAssign ) )=> ( () (otherlv_2= '.' | ( (lv_explicitStatic_3_0= '::' ) ) ) ( ( ruleFeatureCallID ) ) ruleOpSingleAssign ) )
+            	    // InternalReportDSL.g:10634:6: ( ( () ( '.' | ( ( '::' ) ) ) ( ( ruleFeatureCallID ) ) ruleOpSingleAssign ) )=> ( () (otherlv_2= '.' | ( (lv_explicitStatic_3_0= '::' ) ) ) ( ( ruleFeatureCallID ) ) ruleOpSingleAssign )
             	    {
-            	    // InternalReportDSL.g:10345:6: ( () (otherlv_2= '.' | ( (lv_explicitStatic_3_0= '::' ) ) ) ( ( ruleFeatureCallID ) ) ruleOpSingleAssign )
-            	    // InternalReportDSL.g:10346:7: () (otherlv_2= '.' | ( (lv_explicitStatic_3_0= '::' ) ) ) ( ( ruleFeatureCallID ) ) ruleOpSingleAssign
+            	    // InternalReportDSL.g:10654:6: ( () (otherlv_2= '.' | ( (lv_explicitStatic_3_0= '::' ) ) ) ( ( ruleFeatureCallID ) ) ruleOpSingleAssign )
+            	    // InternalReportDSL.g:10655:7: () (otherlv_2= '.' | ( (lv_explicitStatic_3_0= '::' ) ) ) ( ( ruleFeatureCallID ) ) ruleOpSingleAssign
             	    {
-            	    // InternalReportDSL.g:10346:7: ()
-            	    // InternalReportDSL.g:10347:8: 
+            	    // InternalReportDSL.g:10655:7: ()
+            	    // InternalReportDSL.g:10656:8: 
             	    {
             	    if ( state.backtracking==0 ) {
 
@@ -28415,28 +29261,28 @@
 
             	    }
 
-            	    // InternalReportDSL.g:10353:7: (otherlv_2= '.' | ( (lv_explicitStatic_3_0= '::' ) ) )
-            	    int alt149=2;
-            	    int LA149_0 = input.LA(1);
+            	    // InternalReportDSL.g:10662:7: (otherlv_2= '.' | ( (lv_explicitStatic_3_0= '::' ) ) )
+            	    int alt137=2;
+            	    int LA137_0 = input.LA(1);
 
-            	    if ( (LA149_0==167) ) {
-            	        alt149=1;
+            	    if ( (LA137_0==166) ) {
+            	        alt137=1;
             	    }
-            	    else if ( (LA149_0==168) ) {
-            	        alt149=2;
+            	    else if ( (LA137_0==167) ) {
+            	        alt137=2;
             	    }
             	    else {
             	        if (state.backtracking>0) {state.failed=true; return current;}
             	        NoViableAltException nvae =
-            	            new NoViableAltException("", 149, 0, input);
+            	            new NoViableAltException("", 137, 0, input);
 
             	        throw nvae;
             	    }
-            	    switch (alt149) {
+            	    switch (alt137) {
             	        case 1 :
-            	            // InternalReportDSL.g:10354:8: otherlv_2= '.'
+            	            // InternalReportDSL.g:10663:8: otherlv_2= '.'
             	            {
-            	            otherlv_2=(Token)match(input,167,FOLLOW_153); if (state.failed) return current;
+            	            otherlv_2=(Token)match(input,166,FOLLOW_145); if (state.failed) return current;
             	            if ( state.backtracking==0 ) {
 
             	              								newLeafNode(otherlv_2, grammarAccess.getXMemberFeatureCallAccess().getFullStopKeyword_1_0_0_0_1_0());
@@ -28446,15 +29292,15 @@
             	            }
             	            break;
             	        case 2 :
-            	            // InternalReportDSL.g:10359:8: ( (lv_explicitStatic_3_0= '::' ) )
+            	            // InternalReportDSL.g:10668:8: ( (lv_explicitStatic_3_0= '::' ) )
             	            {
-            	            // InternalReportDSL.g:10359:8: ( (lv_explicitStatic_3_0= '::' ) )
-            	            // InternalReportDSL.g:10360:9: (lv_explicitStatic_3_0= '::' )
+            	            // InternalReportDSL.g:10668:8: ( (lv_explicitStatic_3_0= '::' ) )
+            	            // InternalReportDSL.g:10669:9: (lv_explicitStatic_3_0= '::' )
             	            {
-            	            // InternalReportDSL.g:10360:9: (lv_explicitStatic_3_0= '::' )
-            	            // InternalReportDSL.g:10361:10: lv_explicitStatic_3_0= '::'
+            	            // InternalReportDSL.g:10669:9: (lv_explicitStatic_3_0= '::' )
+            	            // InternalReportDSL.g:10670:10: lv_explicitStatic_3_0= '::'
             	            {
-            	            lv_explicitStatic_3_0=(Token)match(input,168,FOLLOW_153); if (state.failed) return current;
+            	            lv_explicitStatic_3_0=(Token)match(input,167,FOLLOW_145); if (state.failed) return current;
             	            if ( state.backtracking==0 ) {
 
             	              										newLeafNode(lv_explicitStatic_3_0, grammarAccess.getXMemberFeatureCallAccess().getExplicitStaticColonColonKeyword_1_0_0_0_1_1_0());
@@ -28480,11 +29326,11 @@
 
             	    }
 
-            	    // InternalReportDSL.g:10374:7: ( ( ruleFeatureCallID ) )
-            	    // InternalReportDSL.g:10375:8: ( ruleFeatureCallID )
+            	    // InternalReportDSL.g:10683:7: ( ( ruleFeatureCallID ) )
+            	    // InternalReportDSL.g:10684:8: ( ruleFeatureCallID )
             	    {
-            	    // InternalReportDSL.g:10375:8: ( ruleFeatureCallID )
-            	    // InternalReportDSL.g:10376:9: ruleFeatureCallID
+            	    // InternalReportDSL.g:10684:8: ( ruleFeatureCallID )
+            	    // InternalReportDSL.g:10685:9: ruleFeatureCallID
             	    {
             	    if ( state.backtracking==0 ) {
 
@@ -28498,7 +29344,7 @@
             	      									newCompositeNode(grammarAccess.getXMemberFeatureCallAccess().getFeatureJvmIdentifiableElementCrossReference_1_0_0_0_2_0());
             	      								
             	    }
-            	    pushFollow(FOLLOW_129);
+            	    pushFollow(FOLLOW_121);
             	    ruleFeatureCallID();
 
             	    state._fsp--;
@@ -28519,7 +29365,7 @@
             	      							newCompositeNode(grammarAccess.getXMemberFeatureCallAccess().getOpSingleAssignParserRuleCall_1_0_0_0_3());
             	      						
             	    }
-            	    pushFollow(FOLLOW_130);
+            	    pushFollow(FOLLOW_122);
             	    ruleOpSingleAssign();
 
             	    state._fsp--;
@@ -28535,18 +29381,18 @@
 
             	    }
 
-            	    // InternalReportDSL.g:10399:5: ( (lv_value_6_0= ruleXAssignment ) )
-            	    // InternalReportDSL.g:10400:6: (lv_value_6_0= ruleXAssignment )
+            	    // InternalReportDSL.g:10708:5: ( (lv_value_6_0= ruleXAssignment ) )
+            	    // InternalReportDSL.g:10709:6: (lv_value_6_0= ruleXAssignment )
             	    {
-            	    // InternalReportDSL.g:10400:6: (lv_value_6_0= ruleXAssignment )
-            	    // InternalReportDSL.g:10401:7: lv_value_6_0= ruleXAssignment
+            	    // InternalReportDSL.g:10709:6: (lv_value_6_0= ruleXAssignment )
+            	    // InternalReportDSL.g:10710:7: lv_value_6_0= ruleXAssignment
             	    {
             	    if ( state.backtracking==0 ) {
 
             	      							newCompositeNode(grammarAccess.getXMemberFeatureCallAccess().getValueXAssignmentParserRuleCall_1_0_1_0());
             	      						
             	    }
-            	    pushFollow(FOLLOW_152);
+            	    pushFollow(FOLLOW_144);
             	    lv_value_6_0=ruleXAssignment();
 
             	    state._fsp--;
@@ -28577,19 +29423,19 @@
             	    }
             	    break;
             	case 2 :
-            	    // InternalReportDSL.g:10420:4: ( ( ( ( () ( '.' | ( ( '?.' ) ) | ( ( '::' ) ) ) ) )=> ( () (otherlv_8= '.' | ( (lv_nullSafe_9_0= '?.' ) ) | ( (lv_explicitStatic_10_0= '::' ) ) ) ) ) (otherlv_11= '<' ( (lv_typeArguments_12_0= ruleJvmArgumentTypeReference ) ) (otherlv_13= ',' ( (lv_typeArguments_14_0= ruleJvmArgumentTypeReference ) ) )* otherlv_15= '>' )? ( ( ruleIdOrSuper ) ) ( ( ( ( '(' ) )=> (lv_explicitOperationCall_17_0= '(' ) ) ( ( ( ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> (lv_memberCallArguments_18_0= ruleXShortClosure ) ) | ( ( (lv_memberCallArguments_19_0= ruleXExpression ) ) (otherlv_20= ',' ( (lv_memberCallArguments_21_0= ruleXExpression ) ) )* ) )? otherlv_22= ')' )? ( ( ( () '[' ) )=> (lv_memberCallArguments_23_0= ruleXClosure ) )? )
+            	    // InternalReportDSL.g:10729:4: ( ( ( ( () ( '.' | ( ( '?.' ) ) | ( ( '::' ) ) ) ) )=> ( () (otherlv_8= '.' | ( (lv_nullSafe_9_0= '?.' ) ) | ( (lv_explicitStatic_10_0= '::' ) ) ) ) ) (otherlv_11= '<' ( (lv_typeArguments_12_0= ruleJvmArgumentTypeReference ) ) (otherlv_13= ',' ( (lv_typeArguments_14_0= ruleJvmArgumentTypeReference ) ) )* otherlv_15= '>' )? ( ( ruleIdOrSuper ) ) ( ( ( ( '(' ) )=> (lv_explicitOperationCall_17_0= '(' ) ) ( ( ( ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> (lv_memberCallArguments_18_0= ruleXShortClosure ) ) | ( ( (lv_memberCallArguments_19_0= ruleXExpression ) ) (otherlv_20= ',' ( (lv_memberCallArguments_21_0= ruleXExpression ) ) )* ) )? otherlv_22= ')' )? ( ( ( () '[' ) )=> (lv_memberCallArguments_23_0= ruleXClosure ) )? )
             	    {
-            	    // InternalReportDSL.g:10420:4: ( ( ( ( () ( '.' | ( ( '?.' ) ) | ( ( '::' ) ) ) ) )=> ( () (otherlv_8= '.' | ( (lv_nullSafe_9_0= '?.' ) ) | ( (lv_explicitStatic_10_0= '::' ) ) ) ) ) (otherlv_11= '<' ( (lv_typeArguments_12_0= ruleJvmArgumentTypeReference ) ) (otherlv_13= ',' ( (lv_typeArguments_14_0= ruleJvmArgumentTypeReference ) ) )* otherlv_15= '>' )? ( ( ruleIdOrSuper ) ) ( ( ( ( '(' ) )=> (lv_explicitOperationCall_17_0= '(' ) ) ( ( ( ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> (lv_memberCallArguments_18_0= ruleXShortClosure ) ) | ( ( (lv_memberCallArguments_19_0= ruleXExpression ) ) (otherlv_20= ',' ( (lv_memberCallArguments_21_0= ruleXExpression ) ) )* ) )? otherlv_22= ')' )? ( ( ( () '[' ) )=> (lv_memberCallArguments_23_0= ruleXClosure ) )? )
-            	    // InternalReportDSL.g:10421:5: ( ( ( () ( '.' | ( ( '?.' ) ) | ( ( '::' ) ) ) ) )=> ( () (otherlv_8= '.' | ( (lv_nullSafe_9_0= '?.' ) ) | ( (lv_explicitStatic_10_0= '::' ) ) ) ) ) (otherlv_11= '<' ( (lv_typeArguments_12_0= ruleJvmArgumentTypeReference ) ) (otherlv_13= ',' ( (lv_typeArguments_14_0= ruleJvmArgumentTypeReference ) ) )* otherlv_15= '>' )? ( ( ruleIdOrSuper ) ) ( ( ( ( '(' ) )=> (lv_explicitOperationCall_17_0= '(' ) ) ( ( ( ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> (lv_memberCallArguments_18_0= ruleXShortClosure ) ) | ( ( (lv_memberCallArguments_19_0= ruleXExpression ) ) (otherlv_20= ',' ( (lv_memberCallArguments_21_0= ruleXExpression ) ) )* ) )? otherlv_22= ')' )? ( ( ( () '[' ) )=> (lv_memberCallArguments_23_0= ruleXClosure ) )?
+            	    // InternalReportDSL.g:10729:4: ( ( ( ( () ( '.' | ( ( '?.' ) ) | ( ( '::' ) ) ) ) )=> ( () (otherlv_8= '.' | ( (lv_nullSafe_9_0= '?.' ) ) | ( (lv_explicitStatic_10_0= '::' ) ) ) ) ) (otherlv_11= '<' ( (lv_typeArguments_12_0= ruleJvmArgumentTypeReference ) ) (otherlv_13= ',' ( (lv_typeArguments_14_0= ruleJvmArgumentTypeReference ) ) )* otherlv_15= '>' )? ( ( ruleIdOrSuper ) ) ( ( ( ( '(' ) )=> (lv_explicitOperationCall_17_0= '(' ) ) ( ( ( ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> (lv_memberCallArguments_18_0= ruleXShortClosure ) ) | ( ( (lv_memberCallArguments_19_0= ruleXExpression ) ) (otherlv_20= ',' ( (lv_memberCallArguments_21_0= ruleXExpression ) ) )* ) )? otherlv_22= ')' )? ( ( ( () '[' ) )=> (lv_memberCallArguments_23_0= ruleXClosure ) )? )
+            	    // InternalReportDSL.g:10730:5: ( ( ( () ( '.' | ( ( '?.' ) ) | ( ( '::' ) ) ) ) )=> ( () (otherlv_8= '.' | ( (lv_nullSafe_9_0= '?.' ) ) | ( (lv_explicitStatic_10_0= '::' ) ) ) ) ) (otherlv_11= '<' ( (lv_typeArguments_12_0= ruleJvmArgumentTypeReference ) ) (otherlv_13= ',' ( (lv_typeArguments_14_0= ruleJvmArgumentTypeReference ) ) )* otherlv_15= '>' )? ( ( ruleIdOrSuper ) ) ( ( ( ( '(' ) )=> (lv_explicitOperationCall_17_0= '(' ) ) ( ( ( ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> (lv_memberCallArguments_18_0= ruleXShortClosure ) ) | ( ( (lv_memberCallArguments_19_0= ruleXExpression ) ) (otherlv_20= ',' ( (lv_memberCallArguments_21_0= ruleXExpression ) ) )* ) )? otherlv_22= ')' )? ( ( ( () '[' ) )=> (lv_memberCallArguments_23_0= ruleXClosure ) )?
             	    {
-            	    // InternalReportDSL.g:10421:5: ( ( ( () ( '.' | ( ( '?.' ) ) | ( ( '::' ) ) ) ) )=> ( () (otherlv_8= '.' | ( (lv_nullSafe_9_0= '?.' ) ) | ( (lv_explicitStatic_10_0= '::' ) ) ) ) )
-            	    // InternalReportDSL.g:10422:6: ( ( () ( '.' | ( ( '?.' ) ) | ( ( '::' ) ) ) ) )=> ( () (otherlv_8= '.' | ( (lv_nullSafe_9_0= '?.' ) ) | ( (lv_explicitStatic_10_0= '::' ) ) ) )
+            	    // InternalReportDSL.g:10730:5: ( ( ( () ( '.' | ( ( '?.' ) ) | ( ( '::' ) ) ) ) )=> ( () (otherlv_8= '.' | ( (lv_nullSafe_9_0= '?.' ) ) | ( (lv_explicitStatic_10_0= '::' ) ) ) ) )
+            	    // InternalReportDSL.g:10731:6: ( ( () ( '.' | ( ( '?.' ) ) | ( ( '::' ) ) ) ) )=> ( () (otherlv_8= '.' | ( (lv_nullSafe_9_0= '?.' ) ) | ( (lv_explicitStatic_10_0= '::' ) ) ) )
             	    {
-            	    // InternalReportDSL.g:10442:6: ( () (otherlv_8= '.' | ( (lv_nullSafe_9_0= '?.' ) ) | ( (lv_explicitStatic_10_0= '::' ) ) ) )
-            	    // InternalReportDSL.g:10443:7: () (otherlv_8= '.' | ( (lv_nullSafe_9_0= '?.' ) ) | ( (lv_explicitStatic_10_0= '::' ) ) )
+            	    // InternalReportDSL.g:10751:6: ( () (otherlv_8= '.' | ( (lv_nullSafe_9_0= '?.' ) ) | ( (lv_explicitStatic_10_0= '::' ) ) ) )
+            	    // InternalReportDSL.g:10752:7: () (otherlv_8= '.' | ( (lv_nullSafe_9_0= '?.' ) ) | ( (lv_explicitStatic_10_0= '::' ) ) )
             	    {
-            	    // InternalReportDSL.g:10443:7: ()
-            	    // InternalReportDSL.g:10444:8: 
+            	    // InternalReportDSL.g:10752:7: ()
+            	    // InternalReportDSL.g:10753:8: 
             	    {
             	    if ( state.backtracking==0 ) {
 
@@ -28601,37 +29447,37 @@
 
             	    }
 
-            	    // InternalReportDSL.g:10450:7: (otherlv_8= '.' | ( (lv_nullSafe_9_0= '?.' ) ) | ( (lv_explicitStatic_10_0= '::' ) ) )
-            	    int alt150=3;
+            	    // InternalReportDSL.g:10759:7: (otherlv_8= '.' | ( (lv_nullSafe_9_0= '?.' ) ) | ( (lv_explicitStatic_10_0= '::' ) ) )
+            	    int alt138=3;
             	    switch ( input.LA(1) ) {
-            	    case 167:
+            	    case 166:
             	        {
-            	        alt150=1;
-            	        }
-            	        break;
-            	    case 169:
-            	        {
-            	        alt150=2;
+            	        alt138=1;
             	        }
             	        break;
             	    case 168:
             	        {
-            	        alt150=3;
+            	        alt138=2;
+            	        }
+            	        break;
+            	    case 167:
+            	        {
+            	        alt138=3;
             	        }
             	        break;
             	    default:
             	        if (state.backtracking>0) {state.failed=true; return current;}
             	        NoViableAltException nvae =
-            	            new NoViableAltException("", 150, 0, input);
+            	            new NoViableAltException("", 138, 0, input);
 
             	        throw nvae;
             	    }
 
-            	    switch (alt150) {
+            	    switch (alt138) {
             	        case 1 :
-            	            // InternalReportDSL.g:10451:8: otherlv_8= '.'
+            	            // InternalReportDSL.g:10760:8: otherlv_8= '.'
             	            {
-            	            otherlv_8=(Token)match(input,167,FOLLOW_154); if (state.failed) return current;
+            	            otherlv_8=(Token)match(input,166,FOLLOW_146); if (state.failed) return current;
             	            if ( state.backtracking==0 ) {
 
             	              								newLeafNode(otherlv_8, grammarAccess.getXMemberFeatureCallAccess().getFullStopKeyword_1_1_0_0_1_0());
@@ -28641,15 +29487,15 @@
             	            }
             	            break;
             	        case 2 :
-            	            // InternalReportDSL.g:10456:8: ( (lv_nullSafe_9_0= '?.' ) )
+            	            // InternalReportDSL.g:10765:8: ( (lv_nullSafe_9_0= '?.' ) )
             	            {
-            	            // InternalReportDSL.g:10456:8: ( (lv_nullSafe_9_0= '?.' ) )
-            	            // InternalReportDSL.g:10457:9: (lv_nullSafe_9_0= '?.' )
+            	            // InternalReportDSL.g:10765:8: ( (lv_nullSafe_9_0= '?.' ) )
+            	            // InternalReportDSL.g:10766:9: (lv_nullSafe_9_0= '?.' )
             	            {
-            	            // InternalReportDSL.g:10457:9: (lv_nullSafe_9_0= '?.' )
-            	            // InternalReportDSL.g:10458:10: lv_nullSafe_9_0= '?.'
+            	            // InternalReportDSL.g:10766:9: (lv_nullSafe_9_0= '?.' )
+            	            // InternalReportDSL.g:10767:10: lv_nullSafe_9_0= '?.'
             	            {
-            	            lv_nullSafe_9_0=(Token)match(input,169,FOLLOW_154); if (state.failed) return current;
+            	            lv_nullSafe_9_0=(Token)match(input,168,FOLLOW_146); if (state.failed) return current;
             	            if ( state.backtracking==0 ) {
 
             	              										newLeafNode(lv_nullSafe_9_0, grammarAccess.getXMemberFeatureCallAccess().getNullSafeQuestionMarkFullStopKeyword_1_1_0_0_1_1_0());
@@ -28673,15 +29519,15 @@
             	            }
             	            break;
             	        case 3 :
-            	            // InternalReportDSL.g:10471:8: ( (lv_explicitStatic_10_0= '::' ) )
+            	            // InternalReportDSL.g:10780:8: ( (lv_explicitStatic_10_0= '::' ) )
             	            {
-            	            // InternalReportDSL.g:10471:8: ( (lv_explicitStatic_10_0= '::' ) )
-            	            // InternalReportDSL.g:10472:9: (lv_explicitStatic_10_0= '::' )
+            	            // InternalReportDSL.g:10780:8: ( (lv_explicitStatic_10_0= '::' ) )
+            	            // InternalReportDSL.g:10781:9: (lv_explicitStatic_10_0= '::' )
             	            {
-            	            // InternalReportDSL.g:10472:9: (lv_explicitStatic_10_0= '::' )
-            	            // InternalReportDSL.g:10473:10: lv_explicitStatic_10_0= '::'
+            	            // InternalReportDSL.g:10781:9: (lv_explicitStatic_10_0= '::' )
+            	            // InternalReportDSL.g:10782:10: lv_explicitStatic_10_0= '::'
             	            {
-            	            lv_explicitStatic_10_0=(Token)match(input,168,FOLLOW_154); if (state.failed) return current;
+            	            lv_explicitStatic_10_0=(Token)match(input,167,FOLLOW_146); if (state.failed) return current;
             	            if ( state.backtracking==0 ) {
 
             	              										newLeafNode(lv_explicitStatic_10_0, grammarAccess.getXMemberFeatureCallAccess().getExplicitStaticColonColonKeyword_1_1_0_0_1_2_0());
@@ -28713,35 +29559,35 @@
 
             	    }
 
-            	    // InternalReportDSL.g:10488:5: (otherlv_11= '<' ( (lv_typeArguments_12_0= ruleJvmArgumentTypeReference ) ) (otherlv_13= ',' ( (lv_typeArguments_14_0= ruleJvmArgumentTypeReference ) ) )* otherlv_15= '>' )?
-            	    int alt152=2;
-            	    int LA152_0 = input.LA(1);
+            	    // InternalReportDSL.g:10797:5: (otherlv_11= '<' ( (lv_typeArguments_12_0= ruleJvmArgumentTypeReference ) ) (otherlv_13= ',' ( (lv_typeArguments_14_0= ruleJvmArgumentTypeReference ) ) )* otherlv_15= '>' )?
+            	    int alt140=2;
+            	    int LA140_0 = input.LA(1);
 
-            	    if ( (LA152_0==144) ) {
-            	        alt152=1;
+            	    if ( (LA140_0==143) ) {
+            	        alt140=1;
             	    }
-            	    switch (alt152) {
+            	    switch (alt140) {
             	        case 1 :
-            	            // InternalReportDSL.g:10489:6: otherlv_11= '<' ( (lv_typeArguments_12_0= ruleJvmArgumentTypeReference ) ) (otherlv_13= ',' ( (lv_typeArguments_14_0= ruleJvmArgumentTypeReference ) ) )* otherlv_15= '>'
+            	            // InternalReportDSL.g:10798:6: otherlv_11= '<' ( (lv_typeArguments_12_0= ruleJvmArgumentTypeReference ) ) (otherlv_13= ',' ( (lv_typeArguments_14_0= ruleJvmArgumentTypeReference ) ) )* otherlv_15= '>'
             	            {
-            	            otherlv_11=(Token)match(input,144,FOLLOW_155); if (state.failed) return current;
+            	            otherlv_11=(Token)match(input,143,FOLLOW_147); if (state.failed) return current;
             	            if ( state.backtracking==0 ) {
 
             	              						newLeafNode(otherlv_11, grammarAccess.getXMemberFeatureCallAccess().getLessThanSignKeyword_1_1_1_0());
             	              					
             	            }
-            	            // InternalReportDSL.g:10493:6: ( (lv_typeArguments_12_0= ruleJvmArgumentTypeReference ) )
-            	            // InternalReportDSL.g:10494:7: (lv_typeArguments_12_0= ruleJvmArgumentTypeReference )
+            	            // InternalReportDSL.g:10802:6: ( (lv_typeArguments_12_0= ruleJvmArgumentTypeReference ) )
+            	            // InternalReportDSL.g:10803:7: (lv_typeArguments_12_0= ruleJvmArgumentTypeReference )
             	            {
-            	            // InternalReportDSL.g:10494:7: (lv_typeArguments_12_0= ruleJvmArgumentTypeReference )
-            	            // InternalReportDSL.g:10495:8: lv_typeArguments_12_0= ruleJvmArgumentTypeReference
+            	            // InternalReportDSL.g:10803:7: (lv_typeArguments_12_0= ruleJvmArgumentTypeReference )
+            	            // InternalReportDSL.g:10804:8: lv_typeArguments_12_0= ruleJvmArgumentTypeReference
             	            {
             	            if ( state.backtracking==0 ) {
 
             	              								newCompositeNode(grammarAccess.getXMemberFeatureCallAccess().getTypeArgumentsJvmArgumentTypeReferenceParserRuleCall_1_1_1_1_0());
             	              							
             	            }
-            	            pushFollow(FOLLOW_156);
+            	            pushFollow(FOLLOW_148);
             	            lv_typeArguments_12_0=ruleJvmArgumentTypeReference();
 
             	            state._fsp--;
@@ -28765,39 +29611,39 @@
 
             	            }
 
-            	            // InternalReportDSL.g:10512:6: (otherlv_13= ',' ( (lv_typeArguments_14_0= ruleJvmArgumentTypeReference ) ) )*
-            	            loop151:
+            	            // InternalReportDSL.g:10821:6: (otherlv_13= ',' ( (lv_typeArguments_14_0= ruleJvmArgumentTypeReference ) ) )*
+            	            loop139:
             	            do {
-            	                int alt151=2;
-            	                int LA151_0 = input.LA(1);
+            	                int alt139=2;
+            	                int LA139_0 = input.LA(1);
 
-            	                if ( (LA151_0==134) ) {
-            	                    alt151=1;
+            	                if ( (LA139_0==133) ) {
+            	                    alt139=1;
             	                }
 
 
-            	                switch (alt151) {
+            	                switch (alt139) {
             	            	case 1 :
-            	            	    // InternalReportDSL.g:10513:7: otherlv_13= ',' ( (lv_typeArguments_14_0= ruleJvmArgumentTypeReference ) )
+            	            	    // InternalReportDSL.g:10822:7: otherlv_13= ',' ( (lv_typeArguments_14_0= ruleJvmArgumentTypeReference ) )
             	            	    {
-            	            	    otherlv_13=(Token)match(input,134,FOLLOW_155); if (state.failed) return current;
+            	            	    otherlv_13=(Token)match(input,133,FOLLOW_147); if (state.failed) return current;
             	            	    if ( state.backtracking==0 ) {
 
             	            	      							newLeafNode(otherlv_13, grammarAccess.getXMemberFeatureCallAccess().getCommaKeyword_1_1_1_2_0());
             	            	      						
             	            	    }
-            	            	    // InternalReportDSL.g:10517:7: ( (lv_typeArguments_14_0= ruleJvmArgumentTypeReference ) )
-            	            	    // InternalReportDSL.g:10518:8: (lv_typeArguments_14_0= ruleJvmArgumentTypeReference )
+            	            	    // InternalReportDSL.g:10826:7: ( (lv_typeArguments_14_0= ruleJvmArgumentTypeReference ) )
+            	            	    // InternalReportDSL.g:10827:8: (lv_typeArguments_14_0= ruleJvmArgumentTypeReference )
             	            	    {
-            	            	    // InternalReportDSL.g:10518:8: (lv_typeArguments_14_0= ruleJvmArgumentTypeReference )
-            	            	    // InternalReportDSL.g:10519:9: lv_typeArguments_14_0= ruleJvmArgumentTypeReference
+            	            	    // InternalReportDSL.g:10827:8: (lv_typeArguments_14_0= ruleJvmArgumentTypeReference )
+            	            	    // InternalReportDSL.g:10828:9: lv_typeArguments_14_0= ruleJvmArgumentTypeReference
             	            	    {
             	            	    if ( state.backtracking==0 ) {
 
             	            	      									newCompositeNode(grammarAccess.getXMemberFeatureCallAccess().getTypeArgumentsJvmArgumentTypeReferenceParserRuleCall_1_1_1_2_1_0());
             	            	      								
             	            	    }
-            	            	    pushFollow(FOLLOW_156);
+            	            	    pushFollow(FOLLOW_148);
             	            	    lv_typeArguments_14_0=ruleJvmArgumentTypeReference();
 
             	            	    state._fsp--;
@@ -28826,11 +29672,11 @@
             	            	    break;
 
             	            	default :
-            	            	    break loop151;
+            	            	    break loop139;
             	                }
             	            } while (true);
 
-            	            otherlv_15=(Token)match(input,145,FOLLOW_154); if (state.failed) return current;
+            	            otherlv_15=(Token)match(input,144,FOLLOW_146); if (state.failed) return current;
             	            if ( state.backtracking==0 ) {
 
             	              						newLeafNode(otherlv_15, grammarAccess.getXMemberFeatureCallAccess().getGreaterThanSignKeyword_1_1_1_3());
@@ -28842,11 +29688,11 @@
 
             	    }
 
-            	    // InternalReportDSL.g:10542:5: ( ( ruleIdOrSuper ) )
-            	    // InternalReportDSL.g:10543:6: ( ruleIdOrSuper )
+            	    // InternalReportDSL.g:10851:5: ( ( ruleIdOrSuper ) )
+            	    // InternalReportDSL.g:10852:6: ( ruleIdOrSuper )
             	    {
-            	    // InternalReportDSL.g:10543:6: ( ruleIdOrSuper )
-            	    // InternalReportDSL.g:10544:7: ruleIdOrSuper
+            	    // InternalReportDSL.g:10852:6: ( ruleIdOrSuper )
+            	    // InternalReportDSL.g:10853:7: ruleIdOrSuper
             	    {
             	    if ( state.backtracking==0 ) {
 
@@ -28860,7 +29706,7 @@
             	      							newCompositeNode(grammarAccess.getXMemberFeatureCallAccess().getFeatureJvmIdentifiableElementCrossReference_1_1_2_0());
             	      						
             	    }
-            	    pushFollow(FOLLOW_157);
+            	    pushFollow(FOLLOW_149);
             	    ruleIdOrSuper();
 
             	    state._fsp--;
@@ -28876,20 +29722,20 @@
 
             	    }
 
-            	    // InternalReportDSL.g:10558:5: ( ( ( ( '(' ) )=> (lv_explicitOperationCall_17_0= '(' ) ) ( ( ( ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> (lv_memberCallArguments_18_0= ruleXShortClosure ) ) | ( ( (lv_memberCallArguments_19_0= ruleXExpression ) ) (otherlv_20= ',' ( (lv_memberCallArguments_21_0= ruleXExpression ) ) )* ) )? otherlv_22= ')' )?
-            	    int alt155=2;
-            	    alt155 = dfa155.predict(input);
-            	    switch (alt155) {
+            	    // InternalReportDSL.g:10867:5: ( ( ( ( '(' ) )=> (lv_explicitOperationCall_17_0= '(' ) ) ( ( ( ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> (lv_memberCallArguments_18_0= ruleXShortClosure ) ) | ( ( (lv_memberCallArguments_19_0= ruleXExpression ) ) (otherlv_20= ',' ( (lv_memberCallArguments_21_0= ruleXExpression ) ) )* ) )? otherlv_22= ')' )?
+            	    int alt143=2;
+            	    alt143 = dfa143.predict(input);
+            	    switch (alt143) {
             	        case 1 :
-            	            // InternalReportDSL.g:10559:6: ( ( ( '(' ) )=> (lv_explicitOperationCall_17_0= '(' ) ) ( ( ( ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> (lv_memberCallArguments_18_0= ruleXShortClosure ) ) | ( ( (lv_memberCallArguments_19_0= ruleXExpression ) ) (otherlv_20= ',' ( (lv_memberCallArguments_21_0= ruleXExpression ) ) )* ) )? otherlv_22= ')'
+            	            // InternalReportDSL.g:10868:6: ( ( ( '(' ) )=> (lv_explicitOperationCall_17_0= '(' ) ) ( ( ( ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> (lv_memberCallArguments_18_0= ruleXShortClosure ) ) | ( ( (lv_memberCallArguments_19_0= ruleXExpression ) ) (otherlv_20= ',' ( (lv_memberCallArguments_21_0= ruleXExpression ) ) )* ) )? otherlv_22= ')'
             	            {
-            	            // InternalReportDSL.g:10559:6: ( ( ( '(' ) )=> (lv_explicitOperationCall_17_0= '(' ) )
-            	            // InternalReportDSL.g:10560:7: ( ( '(' ) )=> (lv_explicitOperationCall_17_0= '(' )
+            	            // InternalReportDSL.g:10868:6: ( ( ( '(' ) )=> (lv_explicitOperationCall_17_0= '(' ) )
+            	            // InternalReportDSL.g:10869:7: ( ( '(' ) )=> (lv_explicitOperationCall_17_0= '(' )
             	            {
-            	            // InternalReportDSL.g:10564:7: (lv_explicitOperationCall_17_0= '(' )
-            	            // InternalReportDSL.g:10565:8: lv_explicitOperationCall_17_0= '('
+            	            // InternalReportDSL.g:10873:7: (lv_explicitOperationCall_17_0= '(' )
+            	            // InternalReportDSL.g:10874:8: lv_explicitOperationCall_17_0= '('
             	            {
-            	            lv_explicitOperationCall_17_0=(Token)match(input,103,FOLLOW_158); if (state.failed) return current;
+            	            lv_explicitOperationCall_17_0=(Token)match(input,102,FOLLOW_150); if (state.failed) return current;
             	            if ( state.backtracking==0 ) {
 
             	              								newLeafNode(lv_explicitOperationCall_17_0, grammarAccess.getXMemberFeatureCallAccess().getExplicitOperationCallLeftParenthesisKeyword_1_1_3_0_0());
@@ -28909,25 +29755,25 @@
 
             	            }
 
-            	            // InternalReportDSL.g:10577:6: ( ( ( ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> (lv_memberCallArguments_18_0= ruleXShortClosure ) ) | ( ( (lv_memberCallArguments_19_0= ruleXExpression ) ) (otherlv_20= ',' ( (lv_memberCallArguments_21_0= ruleXExpression ) ) )* ) )?
-            	            int alt154=3;
-            	            alt154 = dfa154.predict(input);
-            	            switch (alt154) {
+            	            // InternalReportDSL.g:10886:6: ( ( ( ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> (lv_memberCallArguments_18_0= ruleXShortClosure ) ) | ( ( (lv_memberCallArguments_19_0= ruleXExpression ) ) (otherlv_20= ',' ( (lv_memberCallArguments_21_0= ruleXExpression ) ) )* ) )?
+            	            int alt142=3;
+            	            alt142 = dfa142.predict(input);
+            	            switch (alt142) {
             	                case 1 :
-            	                    // InternalReportDSL.g:10578:7: ( ( ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> (lv_memberCallArguments_18_0= ruleXShortClosure ) )
+            	                    // InternalReportDSL.g:10887:7: ( ( ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> (lv_memberCallArguments_18_0= ruleXShortClosure ) )
             	                    {
-            	                    // InternalReportDSL.g:10578:7: ( ( ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> (lv_memberCallArguments_18_0= ruleXShortClosure ) )
-            	                    // InternalReportDSL.g:10579:8: ( ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> (lv_memberCallArguments_18_0= ruleXShortClosure )
+            	                    // InternalReportDSL.g:10887:7: ( ( ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> (lv_memberCallArguments_18_0= ruleXShortClosure ) )
+            	                    // InternalReportDSL.g:10888:8: ( ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> (lv_memberCallArguments_18_0= ruleXShortClosure )
             	                    {
-            	                    // InternalReportDSL.g:10604:8: (lv_memberCallArguments_18_0= ruleXShortClosure )
-            	                    // InternalReportDSL.g:10605:9: lv_memberCallArguments_18_0= ruleXShortClosure
+            	                    // InternalReportDSL.g:10913:8: (lv_memberCallArguments_18_0= ruleXShortClosure )
+            	                    // InternalReportDSL.g:10914:9: lv_memberCallArguments_18_0= ruleXShortClosure
             	                    {
             	                    if ( state.backtracking==0 ) {
 
             	                      									newCompositeNode(grammarAccess.getXMemberFeatureCallAccess().getMemberCallArgumentsXShortClosureParserRuleCall_1_1_3_1_0_0());
             	                      								
             	                    }
-            	                    pushFollow(FOLLOW_115);
+            	                    pushFollow(FOLLOW_107);
             	                    lv_memberCallArguments_18_0=ruleXShortClosure();
 
             	                    state._fsp--;
@@ -28955,23 +29801,23 @@
             	                    }
             	                    break;
             	                case 2 :
-            	                    // InternalReportDSL.g:10623:7: ( ( (lv_memberCallArguments_19_0= ruleXExpression ) ) (otherlv_20= ',' ( (lv_memberCallArguments_21_0= ruleXExpression ) ) )* )
+            	                    // InternalReportDSL.g:10932:7: ( ( (lv_memberCallArguments_19_0= ruleXExpression ) ) (otherlv_20= ',' ( (lv_memberCallArguments_21_0= ruleXExpression ) ) )* )
             	                    {
-            	                    // InternalReportDSL.g:10623:7: ( ( (lv_memberCallArguments_19_0= ruleXExpression ) ) (otherlv_20= ',' ( (lv_memberCallArguments_21_0= ruleXExpression ) ) )* )
-            	                    // InternalReportDSL.g:10624:8: ( (lv_memberCallArguments_19_0= ruleXExpression ) ) (otherlv_20= ',' ( (lv_memberCallArguments_21_0= ruleXExpression ) ) )*
+            	                    // InternalReportDSL.g:10932:7: ( ( (lv_memberCallArguments_19_0= ruleXExpression ) ) (otherlv_20= ',' ( (lv_memberCallArguments_21_0= ruleXExpression ) ) )* )
+            	                    // InternalReportDSL.g:10933:8: ( (lv_memberCallArguments_19_0= ruleXExpression ) ) (otherlv_20= ',' ( (lv_memberCallArguments_21_0= ruleXExpression ) ) )*
             	                    {
-            	                    // InternalReportDSL.g:10624:8: ( (lv_memberCallArguments_19_0= ruleXExpression ) )
-            	                    // InternalReportDSL.g:10625:9: (lv_memberCallArguments_19_0= ruleXExpression )
+            	                    // InternalReportDSL.g:10933:8: ( (lv_memberCallArguments_19_0= ruleXExpression ) )
+            	                    // InternalReportDSL.g:10934:9: (lv_memberCallArguments_19_0= ruleXExpression )
             	                    {
-            	                    // InternalReportDSL.g:10625:9: (lv_memberCallArguments_19_0= ruleXExpression )
-            	                    // InternalReportDSL.g:10626:10: lv_memberCallArguments_19_0= ruleXExpression
+            	                    // InternalReportDSL.g:10934:9: (lv_memberCallArguments_19_0= ruleXExpression )
+            	                    // InternalReportDSL.g:10935:10: lv_memberCallArguments_19_0= ruleXExpression
             	                    {
             	                    if ( state.backtracking==0 ) {
 
             	                      										newCompositeNode(grammarAccess.getXMemberFeatureCallAccess().getMemberCallArgumentsXExpressionParserRuleCall_1_1_3_1_1_0_0());
             	                      									
             	                    }
-            	                    pushFollow(FOLLOW_128);
+            	                    pushFollow(FOLLOW_120);
             	                    lv_memberCallArguments_19_0=ruleXExpression();
 
             	                    state._fsp--;
@@ -28995,39 +29841,39 @@
 
             	                    }
 
-            	                    // InternalReportDSL.g:10643:8: (otherlv_20= ',' ( (lv_memberCallArguments_21_0= ruleXExpression ) ) )*
-            	                    loop153:
+            	                    // InternalReportDSL.g:10952:8: (otherlv_20= ',' ( (lv_memberCallArguments_21_0= ruleXExpression ) ) )*
+            	                    loop141:
             	                    do {
-            	                        int alt153=2;
-            	                        int LA153_0 = input.LA(1);
+            	                        int alt141=2;
+            	                        int LA141_0 = input.LA(1);
 
-            	                        if ( (LA153_0==134) ) {
-            	                            alt153=1;
+            	                        if ( (LA141_0==133) ) {
+            	                            alt141=1;
             	                        }
 
 
-            	                        switch (alt153) {
+            	                        switch (alt141) {
             	                    	case 1 :
-            	                    	    // InternalReportDSL.g:10644:9: otherlv_20= ',' ( (lv_memberCallArguments_21_0= ruleXExpression ) )
+            	                    	    // InternalReportDSL.g:10953:9: otherlv_20= ',' ( (lv_memberCallArguments_21_0= ruleXExpression ) )
             	                    	    {
-            	                    	    otherlv_20=(Token)match(input,134,FOLLOW_130); if (state.failed) return current;
+            	                    	    otherlv_20=(Token)match(input,133,FOLLOW_122); if (state.failed) return current;
             	                    	    if ( state.backtracking==0 ) {
 
             	                    	      									newLeafNode(otherlv_20, grammarAccess.getXMemberFeatureCallAccess().getCommaKeyword_1_1_3_1_1_1_0());
             	                    	      								
             	                    	    }
-            	                    	    // InternalReportDSL.g:10648:9: ( (lv_memberCallArguments_21_0= ruleXExpression ) )
-            	                    	    // InternalReportDSL.g:10649:10: (lv_memberCallArguments_21_0= ruleXExpression )
+            	                    	    // InternalReportDSL.g:10957:9: ( (lv_memberCallArguments_21_0= ruleXExpression ) )
+            	                    	    // InternalReportDSL.g:10958:10: (lv_memberCallArguments_21_0= ruleXExpression )
             	                    	    {
-            	                    	    // InternalReportDSL.g:10649:10: (lv_memberCallArguments_21_0= ruleXExpression )
-            	                    	    // InternalReportDSL.g:10650:11: lv_memberCallArguments_21_0= ruleXExpression
+            	                    	    // InternalReportDSL.g:10958:10: (lv_memberCallArguments_21_0= ruleXExpression )
+            	                    	    // InternalReportDSL.g:10959:11: lv_memberCallArguments_21_0= ruleXExpression
             	                    	    {
             	                    	    if ( state.backtracking==0 ) {
 
             	                    	      											newCompositeNode(grammarAccess.getXMemberFeatureCallAccess().getMemberCallArgumentsXExpressionParserRuleCall_1_1_3_1_1_1_1_0());
             	                    	      										
             	                    	    }
-            	                    	    pushFollow(FOLLOW_128);
+            	                    	    pushFollow(FOLLOW_120);
             	                    	    lv_memberCallArguments_21_0=ruleXExpression();
 
             	                    	    state._fsp--;
@@ -29056,7 +29902,7 @@
             	                    	    break;
 
             	                    	default :
-            	                    	    break loop153;
+            	                    	    break loop141;
             	                        }
             	                    } while (true);
 
@@ -29069,7 +29915,7 @@
 
             	            }
 
-            	            otherlv_22=(Token)match(input,104,FOLLOW_159); if (state.failed) return current;
+            	            otherlv_22=(Token)match(input,103,FOLLOW_151); if (state.failed) return current;
             	            if ( state.backtracking==0 ) {
 
             	              						newLeafNode(otherlv_22, grammarAccess.getXMemberFeatureCallAccess().getRightParenthesisKeyword_1_1_3_2());
@@ -29081,22 +29927,22 @@
 
             	    }
 
-            	    // InternalReportDSL.g:10675:5: ( ( ( () '[' ) )=> (lv_memberCallArguments_23_0= ruleXClosure ) )?
-            	    int alt156=2;
-            	    alt156 = dfa156.predict(input);
-            	    switch (alt156) {
+            	    // InternalReportDSL.g:10984:5: ( ( ( () '[' ) )=> (lv_memberCallArguments_23_0= ruleXClosure ) )?
+            	    int alt144=2;
+            	    alt144 = dfa144.predict(input);
+            	    switch (alt144) {
             	        case 1 :
-            	            // InternalReportDSL.g:10676:6: ( ( () '[' ) )=> (lv_memberCallArguments_23_0= ruleXClosure )
+            	            // InternalReportDSL.g:10985:6: ( ( () '[' ) )=> (lv_memberCallArguments_23_0= ruleXClosure )
             	            {
-            	            // InternalReportDSL.g:10682:6: (lv_memberCallArguments_23_0= ruleXClosure )
-            	            // InternalReportDSL.g:10683:7: lv_memberCallArguments_23_0= ruleXClosure
+            	            // InternalReportDSL.g:10991:6: (lv_memberCallArguments_23_0= ruleXClosure )
+            	            // InternalReportDSL.g:10992:7: lv_memberCallArguments_23_0= ruleXClosure
             	            {
             	            if ( state.backtracking==0 ) {
 
             	              							newCompositeNode(grammarAccess.getXMemberFeatureCallAccess().getMemberCallArgumentsXClosureParserRuleCall_1_1_4_0());
             	              						
             	            }
-            	            pushFollow(FOLLOW_152);
+            	            pushFollow(FOLLOW_144);
             	            lv_memberCallArguments_23_0=ruleXClosure();
 
             	            state._fsp--;
@@ -29131,7 +29977,7 @@
             	    break;
 
             	default :
-            	    break loop157;
+            	    break loop145;
                 }
             } while (true);
 
@@ -29160,7 +30006,7 @@
 
 
     // $ANTLR start "entryRuleXPrimaryExpression"
-    // InternalReportDSL.g:10706:1: entryRuleXPrimaryExpression returns [EObject current=null] : iv_ruleXPrimaryExpression= ruleXPrimaryExpression EOF ;
+    // InternalReportDSL.g:11015:1: entryRuleXPrimaryExpression returns [EObject current=null] : iv_ruleXPrimaryExpression= ruleXPrimaryExpression EOF ;
     public final EObject entryRuleXPrimaryExpression() throws RecognitionException {
         EObject current = null;
 
@@ -29168,8 +30014,8 @@
 
 
         try {
-            // InternalReportDSL.g:10706:59: (iv_ruleXPrimaryExpression= ruleXPrimaryExpression EOF )
-            // InternalReportDSL.g:10707:2: iv_ruleXPrimaryExpression= ruleXPrimaryExpression EOF
+            // InternalReportDSL.g:11015:59: (iv_ruleXPrimaryExpression= ruleXPrimaryExpression EOF )
+            // InternalReportDSL.g:11016:2: iv_ruleXPrimaryExpression= ruleXPrimaryExpression EOF
             {
             if ( state.backtracking==0 ) {
                newCompositeNode(grammarAccess.getXPrimaryExpressionRule()); 
@@ -29200,7 +30046,7 @@
 
 
     // $ANTLR start "ruleXPrimaryExpression"
-    // InternalReportDSL.g:10713:1: ruleXPrimaryExpression returns [EObject current=null] : (this_XConstructorCall_0= ruleXConstructorCall | this_XBlockExpression_1= ruleXBlockExpression | this_XSwitchExpression_2= ruleXSwitchExpression | ( ( ( () 'synchronized' '(' ) )=>this_XSynchronizedExpression_3= ruleXSynchronizedExpression ) | this_XFeatureCall_4= ruleXFeatureCall | this_XLiteral_5= ruleXLiteral | this_XIfExpression_6= ruleXIfExpression | ( ( ( () 'for' '(' ( ( ruleJvmFormalParameter ) ) ':' ) )=>this_XForLoopExpression_7= ruleXForLoopExpression ) | this_XBasicForLoopExpression_8= ruleXBasicForLoopExpression | this_XWhileExpression_9= ruleXWhileExpression | this_XDoWhileExpression_10= ruleXDoWhileExpression | this_XThrowExpression_11= ruleXThrowExpression | this_XReturnExpression_12= ruleXReturnExpression | this_XTryCatchFinallyExpression_13= ruleXTryCatchFinallyExpression | this_XParenthesizedExpression_14= ruleXParenthesizedExpression ) ;
+    // InternalReportDSL.g:11022:1: ruleXPrimaryExpression returns [EObject current=null] : (this_XConstructorCall_0= ruleXConstructorCall | this_XBlockExpression_1= ruleXBlockExpression | this_XSwitchExpression_2= ruleXSwitchExpression | ( ( ( () 'synchronized' '(' ) )=>this_XSynchronizedExpression_3= ruleXSynchronizedExpression ) | this_XFeatureCall_4= ruleXFeatureCall | this_XLiteral_5= ruleXLiteral | this_XIfExpression_6= ruleXIfExpression | ( ( ( () 'for' '(' ( ( ruleJvmFormalParameter ) ) ':' ) )=>this_XForLoopExpression_7= ruleXForLoopExpression ) | this_XBasicForLoopExpression_8= ruleXBasicForLoopExpression | this_XWhileExpression_9= ruleXWhileExpression | this_XDoWhileExpression_10= ruleXDoWhileExpression | this_XThrowExpression_11= ruleXThrowExpression | this_XReturnExpression_12= ruleXReturnExpression | this_XTryCatchFinallyExpression_13= ruleXTryCatchFinallyExpression | this_XParenthesizedExpression_14= ruleXParenthesizedExpression ) ;
     public final EObject ruleXPrimaryExpression() throws RecognitionException {
         EObject current = null;
 
@@ -29239,15 +30085,15 @@
         	enterRule();
 
         try {
-            // InternalReportDSL.g:10719:2: ( (this_XConstructorCall_0= ruleXConstructorCall | this_XBlockExpression_1= ruleXBlockExpression | this_XSwitchExpression_2= ruleXSwitchExpression | ( ( ( () 'synchronized' '(' ) )=>this_XSynchronizedExpression_3= ruleXSynchronizedExpression ) | this_XFeatureCall_4= ruleXFeatureCall | this_XLiteral_5= ruleXLiteral | this_XIfExpression_6= ruleXIfExpression | ( ( ( () 'for' '(' ( ( ruleJvmFormalParameter ) ) ':' ) )=>this_XForLoopExpression_7= ruleXForLoopExpression ) | this_XBasicForLoopExpression_8= ruleXBasicForLoopExpression | this_XWhileExpression_9= ruleXWhileExpression | this_XDoWhileExpression_10= ruleXDoWhileExpression | this_XThrowExpression_11= ruleXThrowExpression | this_XReturnExpression_12= ruleXReturnExpression | this_XTryCatchFinallyExpression_13= ruleXTryCatchFinallyExpression | this_XParenthesizedExpression_14= ruleXParenthesizedExpression ) )
-            // InternalReportDSL.g:10720:2: (this_XConstructorCall_0= ruleXConstructorCall | this_XBlockExpression_1= ruleXBlockExpression | this_XSwitchExpression_2= ruleXSwitchExpression | ( ( ( () 'synchronized' '(' ) )=>this_XSynchronizedExpression_3= ruleXSynchronizedExpression ) | this_XFeatureCall_4= ruleXFeatureCall | this_XLiteral_5= ruleXLiteral | this_XIfExpression_6= ruleXIfExpression | ( ( ( () 'for' '(' ( ( ruleJvmFormalParameter ) ) ':' ) )=>this_XForLoopExpression_7= ruleXForLoopExpression ) | this_XBasicForLoopExpression_8= ruleXBasicForLoopExpression | this_XWhileExpression_9= ruleXWhileExpression | this_XDoWhileExpression_10= ruleXDoWhileExpression | this_XThrowExpression_11= ruleXThrowExpression | this_XReturnExpression_12= ruleXReturnExpression | this_XTryCatchFinallyExpression_13= ruleXTryCatchFinallyExpression | this_XParenthesizedExpression_14= ruleXParenthesizedExpression )
+            // InternalReportDSL.g:11028:2: ( (this_XConstructorCall_0= ruleXConstructorCall | this_XBlockExpression_1= ruleXBlockExpression | this_XSwitchExpression_2= ruleXSwitchExpression | ( ( ( () 'synchronized' '(' ) )=>this_XSynchronizedExpression_3= ruleXSynchronizedExpression ) | this_XFeatureCall_4= ruleXFeatureCall | this_XLiteral_5= ruleXLiteral | this_XIfExpression_6= ruleXIfExpression | ( ( ( () 'for' '(' ( ( ruleJvmFormalParameter ) ) ':' ) )=>this_XForLoopExpression_7= ruleXForLoopExpression ) | this_XBasicForLoopExpression_8= ruleXBasicForLoopExpression | this_XWhileExpression_9= ruleXWhileExpression | this_XDoWhileExpression_10= ruleXDoWhileExpression | this_XThrowExpression_11= ruleXThrowExpression | this_XReturnExpression_12= ruleXReturnExpression | this_XTryCatchFinallyExpression_13= ruleXTryCatchFinallyExpression | this_XParenthesizedExpression_14= ruleXParenthesizedExpression ) )
+            // InternalReportDSL.g:11029:2: (this_XConstructorCall_0= ruleXConstructorCall | this_XBlockExpression_1= ruleXBlockExpression | this_XSwitchExpression_2= ruleXSwitchExpression | ( ( ( () 'synchronized' '(' ) )=>this_XSynchronizedExpression_3= ruleXSynchronizedExpression ) | this_XFeatureCall_4= ruleXFeatureCall | this_XLiteral_5= ruleXLiteral | this_XIfExpression_6= ruleXIfExpression | ( ( ( () 'for' '(' ( ( ruleJvmFormalParameter ) ) ':' ) )=>this_XForLoopExpression_7= ruleXForLoopExpression ) | this_XBasicForLoopExpression_8= ruleXBasicForLoopExpression | this_XWhileExpression_9= ruleXWhileExpression | this_XDoWhileExpression_10= ruleXDoWhileExpression | this_XThrowExpression_11= ruleXThrowExpression | this_XReturnExpression_12= ruleXReturnExpression | this_XTryCatchFinallyExpression_13= ruleXTryCatchFinallyExpression | this_XParenthesizedExpression_14= ruleXParenthesizedExpression )
             {
-            // InternalReportDSL.g:10720:2: (this_XConstructorCall_0= ruleXConstructorCall | this_XBlockExpression_1= ruleXBlockExpression | this_XSwitchExpression_2= ruleXSwitchExpression | ( ( ( () 'synchronized' '(' ) )=>this_XSynchronizedExpression_3= ruleXSynchronizedExpression ) | this_XFeatureCall_4= ruleXFeatureCall | this_XLiteral_5= ruleXLiteral | this_XIfExpression_6= ruleXIfExpression | ( ( ( () 'for' '(' ( ( ruleJvmFormalParameter ) ) ':' ) )=>this_XForLoopExpression_7= ruleXForLoopExpression ) | this_XBasicForLoopExpression_8= ruleXBasicForLoopExpression | this_XWhileExpression_9= ruleXWhileExpression | this_XDoWhileExpression_10= ruleXDoWhileExpression | this_XThrowExpression_11= ruleXThrowExpression | this_XReturnExpression_12= ruleXReturnExpression | this_XTryCatchFinallyExpression_13= ruleXTryCatchFinallyExpression | this_XParenthesizedExpression_14= ruleXParenthesizedExpression )
-            int alt158=15;
-            alt158 = dfa158.predict(input);
-            switch (alt158) {
+            // InternalReportDSL.g:11029:2: (this_XConstructorCall_0= ruleXConstructorCall | this_XBlockExpression_1= ruleXBlockExpression | this_XSwitchExpression_2= ruleXSwitchExpression | ( ( ( () 'synchronized' '(' ) )=>this_XSynchronizedExpression_3= ruleXSynchronizedExpression ) | this_XFeatureCall_4= ruleXFeatureCall | this_XLiteral_5= ruleXLiteral | this_XIfExpression_6= ruleXIfExpression | ( ( ( () 'for' '(' ( ( ruleJvmFormalParameter ) ) ':' ) )=>this_XForLoopExpression_7= ruleXForLoopExpression ) | this_XBasicForLoopExpression_8= ruleXBasicForLoopExpression | this_XWhileExpression_9= ruleXWhileExpression | this_XDoWhileExpression_10= ruleXDoWhileExpression | this_XThrowExpression_11= ruleXThrowExpression | this_XReturnExpression_12= ruleXReturnExpression | this_XTryCatchFinallyExpression_13= ruleXTryCatchFinallyExpression | this_XParenthesizedExpression_14= ruleXParenthesizedExpression )
+            int alt146=15;
+            alt146 = dfa146.predict(input);
+            switch (alt146) {
                 case 1 :
-                    // InternalReportDSL.g:10721:3: this_XConstructorCall_0= ruleXConstructorCall
+                    // InternalReportDSL.g:11030:3: this_XConstructorCall_0= ruleXConstructorCall
                     {
                     if ( state.backtracking==0 ) {
 
@@ -29269,7 +30115,7 @@
                     }
                     break;
                 case 2 :
-                    // InternalReportDSL.g:10730:3: this_XBlockExpression_1= ruleXBlockExpression
+                    // InternalReportDSL.g:11039:3: this_XBlockExpression_1= ruleXBlockExpression
                     {
                     if ( state.backtracking==0 ) {
 
@@ -29291,7 +30137,7 @@
                     }
                     break;
                 case 3 :
-                    // InternalReportDSL.g:10739:3: this_XSwitchExpression_2= ruleXSwitchExpression
+                    // InternalReportDSL.g:11048:3: this_XSwitchExpression_2= ruleXSwitchExpression
                     {
                     if ( state.backtracking==0 ) {
 
@@ -29313,10 +30159,10 @@
                     }
                     break;
                 case 4 :
-                    // InternalReportDSL.g:10748:3: ( ( ( () 'synchronized' '(' ) )=>this_XSynchronizedExpression_3= ruleXSynchronizedExpression )
+                    // InternalReportDSL.g:11057:3: ( ( ( () 'synchronized' '(' ) )=>this_XSynchronizedExpression_3= ruleXSynchronizedExpression )
                     {
-                    // InternalReportDSL.g:10748:3: ( ( ( () 'synchronized' '(' ) )=>this_XSynchronizedExpression_3= ruleXSynchronizedExpression )
-                    // InternalReportDSL.g:10749:4: ( ( () 'synchronized' '(' ) )=>this_XSynchronizedExpression_3= ruleXSynchronizedExpression
+                    // InternalReportDSL.g:11057:3: ( ( ( () 'synchronized' '(' ) )=>this_XSynchronizedExpression_3= ruleXSynchronizedExpression )
+                    // InternalReportDSL.g:11058:4: ( ( () 'synchronized' '(' ) )=>this_XSynchronizedExpression_3= ruleXSynchronizedExpression
                     {
                     if ( state.backtracking==0 ) {
 
@@ -29341,7 +30187,7 @@
                     }
                     break;
                 case 5 :
-                    // InternalReportDSL.g:10766:3: this_XFeatureCall_4= ruleXFeatureCall
+                    // InternalReportDSL.g:11075:3: this_XFeatureCall_4= ruleXFeatureCall
                     {
                     if ( state.backtracking==0 ) {
 
@@ -29363,7 +30209,7 @@
                     }
                     break;
                 case 6 :
-                    // InternalReportDSL.g:10775:3: this_XLiteral_5= ruleXLiteral
+                    // InternalReportDSL.g:11084:3: this_XLiteral_5= ruleXLiteral
                     {
                     if ( state.backtracking==0 ) {
 
@@ -29385,7 +30231,7 @@
                     }
                     break;
                 case 7 :
-                    // InternalReportDSL.g:10784:3: this_XIfExpression_6= ruleXIfExpression
+                    // InternalReportDSL.g:11093:3: this_XIfExpression_6= ruleXIfExpression
                     {
                     if ( state.backtracking==0 ) {
 
@@ -29407,10 +30253,10 @@
                     }
                     break;
                 case 8 :
-                    // InternalReportDSL.g:10793:3: ( ( ( () 'for' '(' ( ( ruleJvmFormalParameter ) ) ':' ) )=>this_XForLoopExpression_7= ruleXForLoopExpression )
+                    // InternalReportDSL.g:11102:3: ( ( ( () 'for' '(' ( ( ruleJvmFormalParameter ) ) ':' ) )=>this_XForLoopExpression_7= ruleXForLoopExpression )
                     {
-                    // InternalReportDSL.g:10793:3: ( ( ( () 'for' '(' ( ( ruleJvmFormalParameter ) ) ':' ) )=>this_XForLoopExpression_7= ruleXForLoopExpression )
-                    // InternalReportDSL.g:10794:4: ( ( () 'for' '(' ( ( ruleJvmFormalParameter ) ) ':' ) )=>this_XForLoopExpression_7= ruleXForLoopExpression
+                    // InternalReportDSL.g:11102:3: ( ( ( () 'for' '(' ( ( ruleJvmFormalParameter ) ) ':' ) )=>this_XForLoopExpression_7= ruleXForLoopExpression )
+                    // InternalReportDSL.g:11103:4: ( ( () 'for' '(' ( ( ruleJvmFormalParameter ) ) ':' ) )=>this_XForLoopExpression_7= ruleXForLoopExpression
                     {
                     if ( state.backtracking==0 ) {
 
@@ -29435,7 +30281,7 @@
                     }
                     break;
                 case 9 :
-                    // InternalReportDSL.g:10817:3: this_XBasicForLoopExpression_8= ruleXBasicForLoopExpression
+                    // InternalReportDSL.g:11126:3: this_XBasicForLoopExpression_8= ruleXBasicForLoopExpression
                     {
                     if ( state.backtracking==0 ) {
 
@@ -29457,7 +30303,7 @@
                     }
                     break;
                 case 10 :
-                    // InternalReportDSL.g:10826:3: this_XWhileExpression_9= ruleXWhileExpression
+                    // InternalReportDSL.g:11135:3: this_XWhileExpression_9= ruleXWhileExpression
                     {
                     if ( state.backtracking==0 ) {
 
@@ -29479,7 +30325,7 @@
                     }
                     break;
                 case 11 :
-                    // InternalReportDSL.g:10835:3: this_XDoWhileExpression_10= ruleXDoWhileExpression
+                    // InternalReportDSL.g:11144:3: this_XDoWhileExpression_10= ruleXDoWhileExpression
                     {
                     if ( state.backtracking==0 ) {
 
@@ -29501,7 +30347,7 @@
                     }
                     break;
                 case 12 :
-                    // InternalReportDSL.g:10844:3: this_XThrowExpression_11= ruleXThrowExpression
+                    // InternalReportDSL.g:11153:3: this_XThrowExpression_11= ruleXThrowExpression
                     {
                     if ( state.backtracking==0 ) {
 
@@ -29523,7 +30369,7 @@
                     }
                     break;
                 case 13 :
-                    // InternalReportDSL.g:10853:3: this_XReturnExpression_12= ruleXReturnExpression
+                    // InternalReportDSL.g:11162:3: this_XReturnExpression_12= ruleXReturnExpression
                     {
                     if ( state.backtracking==0 ) {
 
@@ -29545,7 +30391,7 @@
                     }
                     break;
                 case 14 :
-                    // InternalReportDSL.g:10862:3: this_XTryCatchFinallyExpression_13= ruleXTryCatchFinallyExpression
+                    // InternalReportDSL.g:11171:3: this_XTryCatchFinallyExpression_13= ruleXTryCatchFinallyExpression
                     {
                     if ( state.backtracking==0 ) {
 
@@ -29567,7 +30413,7 @@
                     }
                     break;
                 case 15 :
-                    // InternalReportDSL.g:10871:3: this_XParenthesizedExpression_14= ruleXParenthesizedExpression
+                    // InternalReportDSL.g:11180:3: this_XParenthesizedExpression_14= ruleXParenthesizedExpression
                     {
                     if ( state.backtracking==0 ) {
 
@@ -29613,7 +30459,7 @@
 
 
     // $ANTLR start "entryRuleXLiteral"
-    // InternalReportDSL.g:10883:1: entryRuleXLiteral returns [EObject current=null] : iv_ruleXLiteral= ruleXLiteral EOF ;
+    // InternalReportDSL.g:11192:1: entryRuleXLiteral returns [EObject current=null] : iv_ruleXLiteral= ruleXLiteral EOF ;
     public final EObject entryRuleXLiteral() throws RecognitionException {
         EObject current = null;
 
@@ -29621,8 +30467,8 @@
 
 
         try {
-            // InternalReportDSL.g:10883:49: (iv_ruleXLiteral= ruleXLiteral EOF )
-            // InternalReportDSL.g:10884:2: iv_ruleXLiteral= ruleXLiteral EOF
+            // InternalReportDSL.g:11192:49: (iv_ruleXLiteral= ruleXLiteral EOF )
+            // InternalReportDSL.g:11193:2: iv_ruleXLiteral= ruleXLiteral EOF
             {
             if ( state.backtracking==0 ) {
                newCompositeNode(grammarAccess.getXLiteralRule()); 
@@ -29653,7 +30499,7 @@
 
 
     // $ANTLR start "ruleXLiteral"
-    // InternalReportDSL.g:10890:1: ruleXLiteral returns [EObject current=null] : (this_XCollectionLiteral_0= ruleXCollectionLiteral | ( ( ( () '[' ) )=>this_XClosure_1= ruleXClosure ) | this_XBooleanLiteral_2= ruleXBooleanLiteral | this_XNumberLiteral_3= ruleXNumberLiteral | this_XNullLiteral_4= ruleXNullLiteral | this_XStringLiteral_5= ruleXStringLiteral | this_XTypeLiteral_6= ruleXTypeLiteral ) ;
+    // InternalReportDSL.g:11199:1: ruleXLiteral returns [EObject current=null] : (this_XCollectionLiteral_0= ruleXCollectionLiteral | ( ( ( () '[' ) )=>this_XClosure_1= ruleXClosure ) | this_XBooleanLiteral_2= ruleXBooleanLiteral | this_XNumberLiteral_3= ruleXNumberLiteral | this_XNullLiteral_4= ruleXNullLiteral | this_XStringLiteral_5= ruleXStringLiteral | this_XTypeLiteral_6= ruleXTypeLiteral ) ;
     public final EObject ruleXLiteral() throws RecognitionException {
         EObject current = null;
 
@@ -29676,44 +30522,44 @@
         	enterRule();
 
         try {
-            // InternalReportDSL.g:10896:2: ( (this_XCollectionLiteral_0= ruleXCollectionLiteral | ( ( ( () '[' ) )=>this_XClosure_1= ruleXClosure ) | this_XBooleanLiteral_2= ruleXBooleanLiteral | this_XNumberLiteral_3= ruleXNumberLiteral | this_XNullLiteral_4= ruleXNullLiteral | this_XStringLiteral_5= ruleXStringLiteral | this_XTypeLiteral_6= ruleXTypeLiteral ) )
-            // InternalReportDSL.g:10897:2: (this_XCollectionLiteral_0= ruleXCollectionLiteral | ( ( ( () '[' ) )=>this_XClosure_1= ruleXClosure ) | this_XBooleanLiteral_2= ruleXBooleanLiteral | this_XNumberLiteral_3= ruleXNumberLiteral | this_XNullLiteral_4= ruleXNullLiteral | this_XStringLiteral_5= ruleXStringLiteral | this_XTypeLiteral_6= ruleXTypeLiteral )
+            // InternalReportDSL.g:11205:2: ( (this_XCollectionLiteral_0= ruleXCollectionLiteral | ( ( ( () '[' ) )=>this_XClosure_1= ruleXClosure ) | this_XBooleanLiteral_2= ruleXBooleanLiteral | this_XNumberLiteral_3= ruleXNumberLiteral | this_XNullLiteral_4= ruleXNullLiteral | this_XStringLiteral_5= ruleXStringLiteral | this_XTypeLiteral_6= ruleXTypeLiteral ) )
+            // InternalReportDSL.g:11206:2: (this_XCollectionLiteral_0= ruleXCollectionLiteral | ( ( ( () '[' ) )=>this_XClosure_1= ruleXClosure ) | this_XBooleanLiteral_2= ruleXBooleanLiteral | this_XNumberLiteral_3= ruleXNumberLiteral | this_XNullLiteral_4= ruleXNullLiteral | this_XStringLiteral_5= ruleXStringLiteral | this_XTypeLiteral_6= ruleXTypeLiteral )
             {
-            // InternalReportDSL.g:10897:2: (this_XCollectionLiteral_0= ruleXCollectionLiteral | ( ( ( () '[' ) )=>this_XClosure_1= ruleXClosure ) | this_XBooleanLiteral_2= ruleXBooleanLiteral | this_XNumberLiteral_3= ruleXNumberLiteral | this_XNullLiteral_4= ruleXNullLiteral | this_XStringLiteral_5= ruleXStringLiteral | this_XTypeLiteral_6= ruleXTypeLiteral )
-            int alt159=7;
-            int LA159_0 = input.LA(1);
+            // InternalReportDSL.g:11206:2: (this_XCollectionLiteral_0= ruleXCollectionLiteral | ( ( ( () '[' ) )=>this_XClosure_1= ruleXClosure ) | this_XBooleanLiteral_2= ruleXBooleanLiteral | this_XNumberLiteral_3= ruleXNumberLiteral | this_XNullLiteral_4= ruleXNullLiteral | this_XStringLiteral_5= ruleXStringLiteral | this_XTypeLiteral_6= ruleXTypeLiteral )
+            int alt147=7;
+            int LA147_0 = input.LA(1);
 
-            if ( (LA159_0==136) ) {
-                alt159=1;
+            if ( (LA147_0==135) ) {
+                alt147=1;
             }
-            else if ( (LA159_0==137) && (synpred27_InternalReportDSL())) {
-                alt159=2;
+            else if ( (LA147_0==136) && (synpred27_InternalReportDSL())) {
+                alt147=2;
             }
-            else if ( ((LA159_0>=184 && LA159_0<=185)) ) {
-                alt159=3;
+            else if ( ((LA147_0>=183 && LA147_0<=184)) ) {
+                alt147=3;
             }
-            else if ( ((LA159_0>=RULE_INT && LA159_0<=RULE_DECIMAL)) ) {
-                alt159=4;
+            else if ( ((LA147_0>=RULE_INT && LA147_0<=RULE_DECIMAL)) ) {
+                alt147=4;
             }
-            else if ( (LA159_0==186) ) {
-                alt159=5;
+            else if ( (LA147_0==185) ) {
+                alt147=5;
             }
-            else if ( (LA159_0==RULE_STRING) ) {
-                alt159=6;
+            else if ( (LA147_0==RULE_STRING) ) {
+                alt147=6;
             }
-            else if ( (LA159_0==187) ) {
-                alt159=7;
+            else if ( (LA147_0==186) ) {
+                alt147=7;
             }
             else {
                 if (state.backtracking>0) {state.failed=true; return current;}
                 NoViableAltException nvae =
-                    new NoViableAltException("", 159, 0, input);
+                    new NoViableAltException("", 147, 0, input);
 
                 throw nvae;
             }
-            switch (alt159) {
+            switch (alt147) {
                 case 1 :
-                    // InternalReportDSL.g:10898:3: this_XCollectionLiteral_0= ruleXCollectionLiteral
+                    // InternalReportDSL.g:11207:3: this_XCollectionLiteral_0= ruleXCollectionLiteral
                     {
                     if ( state.backtracking==0 ) {
 
@@ -29735,10 +30581,10 @@
                     }
                     break;
                 case 2 :
-                    // InternalReportDSL.g:10907:3: ( ( ( () '[' ) )=>this_XClosure_1= ruleXClosure )
+                    // InternalReportDSL.g:11216:3: ( ( ( () '[' ) )=>this_XClosure_1= ruleXClosure )
                     {
-                    // InternalReportDSL.g:10907:3: ( ( ( () '[' ) )=>this_XClosure_1= ruleXClosure )
-                    // InternalReportDSL.g:10908:4: ( ( () '[' ) )=>this_XClosure_1= ruleXClosure
+                    // InternalReportDSL.g:11216:3: ( ( ( () '[' ) )=>this_XClosure_1= ruleXClosure )
+                    // InternalReportDSL.g:11217:4: ( ( () '[' ) )=>this_XClosure_1= ruleXClosure
                     {
                     if ( state.backtracking==0 ) {
 
@@ -29763,7 +30609,7 @@
                     }
                     break;
                 case 3 :
-                    // InternalReportDSL.g:10924:3: this_XBooleanLiteral_2= ruleXBooleanLiteral
+                    // InternalReportDSL.g:11233:3: this_XBooleanLiteral_2= ruleXBooleanLiteral
                     {
                     if ( state.backtracking==0 ) {
 
@@ -29785,7 +30631,7 @@
                     }
                     break;
                 case 4 :
-                    // InternalReportDSL.g:10933:3: this_XNumberLiteral_3= ruleXNumberLiteral
+                    // InternalReportDSL.g:11242:3: this_XNumberLiteral_3= ruleXNumberLiteral
                     {
                     if ( state.backtracking==0 ) {
 
@@ -29807,7 +30653,7 @@
                     }
                     break;
                 case 5 :
-                    // InternalReportDSL.g:10942:3: this_XNullLiteral_4= ruleXNullLiteral
+                    // InternalReportDSL.g:11251:3: this_XNullLiteral_4= ruleXNullLiteral
                     {
                     if ( state.backtracking==0 ) {
 
@@ -29829,7 +30675,7 @@
                     }
                     break;
                 case 6 :
-                    // InternalReportDSL.g:10951:3: this_XStringLiteral_5= ruleXStringLiteral
+                    // InternalReportDSL.g:11260:3: this_XStringLiteral_5= ruleXStringLiteral
                     {
                     if ( state.backtracking==0 ) {
 
@@ -29851,7 +30697,7 @@
                     }
                     break;
                 case 7 :
-                    // InternalReportDSL.g:10960:3: this_XTypeLiteral_6= ruleXTypeLiteral
+                    // InternalReportDSL.g:11269:3: this_XTypeLiteral_6= ruleXTypeLiteral
                     {
                     if ( state.backtracking==0 ) {
 
@@ -29897,7 +30743,7 @@
 
 
     // $ANTLR start "entryRuleXCollectionLiteral"
-    // InternalReportDSL.g:10972:1: entryRuleXCollectionLiteral returns [EObject current=null] : iv_ruleXCollectionLiteral= ruleXCollectionLiteral EOF ;
+    // InternalReportDSL.g:11281:1: entryRuleXCollectionLiteral returns [EObject current=null] : iv_ruleXCollectionLiteral= ruleXCollectionLiteral EOF ;
     public final EObject entryRuleXCollectionLiteral() throws RecognitionException {
         EObject current = null;
 
@@ -29905,8 +30751,8 @@
 
 
         try {
-            // InternalReportDSL.g:10972:59: (iv_ruleXCollectionLiteral= ruleXCollectionLiteral EOF )
-            // InternalReportDSL.g:10973:2: iv_ruleXCollectionLiteral= ruleXCollectionLiteral EOF
+            // InternalReportDSL.g:11281:59: (iv_ruleXCollectionLiteral= ruleXCollectionLiteral EOF )
+            // InternalReportDSL.g:11282:2: iv_ruleXCollectionLiteral= ruleXCollectionLiteral EOF
             {
             if ( state.backtracking==0 ) {
                newCompositeNode(grammarAccess.getXCollectionLiteralRule()); 
@@ -29937,7 +30783,7 @@
 
 
     // $ANTLR start "ruleXCollectionLiteral"
-    // InternalReportDSL.g:10979:1: ruleXCollectionLiteral returns [EObject current=null] : (this_XSetLiteral_0= ruleXSetLiteral | this_XListLiteral_1= ruleXListLiteral ) ;
+    // InternalReportDSL.g:11288:1: ruleXCollectionLiteral returns [EObject current=null] : (this_XSetLiteral_0= ruleXSetLiteral | this_XListLiteral_1= ruleXListLiteral ) ;
     public final EObject ruleXCollectionLiteral() throws RecognitionException {
         EObject current = null;
 
@@ -29950,26 +30796,26 @@
         	enterRule();
 
         try {
-            // InternalReportDSL.g:10985:2: ( (this_XSetLiteral_0= ruleXSetLiteral | this_XListLiteral_1= ruleXListLiteral ) )
-            // InternalReportDSL.g:10986:2: (this_XSetLiteral_0= ruleXSetLiteral | this_XListLiteral_1= ruleXListLiteral )
+            // InternalReportDSL.g:11294:2: ( (this_XSetLiteral_0= ruleXSetLiteral | this_XListLiteral_1= ruleXListLiteral ) )
+            // InternalReportDSL.g:11295:2: (this_XSetLiteral_0= ruleXSetLiteral | this_XListLiteral_1= ruleXListLiteral )
             {
-            // InternalReportDSL.g:10986:2: (this_XSetLiteral_0= ruleXSetLiteral | this_XListLiteral_1= ruleXListLiteral )
-            int alt160=2;
-            int LA160_0 = input.LA(1);
+            // InternalReportDSL.g:11295:2: (this_XSetLiteral_0= ruleXSetLiteral | this_XListLiteral_1= ruleXListLiteral )
+            int alt148=2;
+            int LA148_0 = input.LA(1);
 
-            if ( (LA160_0==136) ) {
-                int LA160_1 = input.LA(2);
+            if ( (LA148_0==135) ) {
+                int LA148_1 = input.LA(2);
 
-                if ( (LA160_1==137) ) {
-                    alt160=2;
+                if ( (LA148_1==136) ) {
+                    alt148=2;
                 }
-                else if ( (LA160_1==14) ) {
-                    alt160=1;
+                else if ( (LA148_1==14) ) {
+                    alt148=1;
                 }
                 else {
                     if (state.backtracking>0) {state.failed=true; return current;}
                     NoViableAltException nvae =
-                        new NoViableAltException("", 160, 1, input);
+                        new NoViableAltException("", 148, 1, input);
 
                     throw nvae;
                 }
@@ -29977,13 +30823,13 @@
             else {
                 if (state.backtracking>0) {state.failed=true; return current;}
                 NoViableAltException nvae =
-                    new NoViableAltException("", 160, 0, input);
+                    new NoViableAltException("", 148, 0, input);
 
                 throw nvae;
             }
-            switch (alt160) {
+            switch (alt148) {
                 case 1 :
-                    // InternalReportDSL.g:10987:3: this_XSetLiteral_0= ruleXSetLiteral
+                    // InternalReportDSL.g:11296:3: this_XSetLiteral_0= ruleXSetLiteral
                     {
                     if ( state.backtracking==0 ) {
 
@@ -30005,7 +30851,7 @@
                     }
                     break;
                 case 2 :
-                    // InternalReportDSL.g:10996:3: this_XListLiteral_1= ruleXListLiteral
+                    // InternalReportDSL.g:11305:3: this_XListLiteral_1= ruleXListLiteral
                     {
                     if ( state.backtracking==0 ) {
 
@@ -30051,7 +30897,7 @@
 
 
     // $ANTLR start "entryRuleXSetLiteral"
-    // InternalReportDSL.g:11008:1: entryRuleXSetLiteral returns [EObject current=null] : iv_ruleXSetLiteral= ruleXSetLiteral EOF ;
+    // InternalReportDSL.g:11317:1: entryRuleXSetLiteral returns [EObject current=null] : iv_ruleXSetLiteral= ruleXSetLiteral EOF ;
     public final EObject entryRuleXSetLiteral() throws RecognitionException {
         EObject current = null;
 
@@ -30059,8 +30905,8 @@
 
 
         try {
-            // InternalReportDSL.g:11008:52: (iv_ruleXSetLiteral= ruleXSetLiteral EOF )
-            // InternalReportDSL.g:11009:2: iv_ruleXSetLiteral= ruleXSetLiteral EOF
+            // InternalReportDSL.g:11317:52: (iv_ruleXSetLiteral= ruleXSetLiteral EOF )
+            // InternalReportDSL.g:11318:2: iv_ruleXSetLiteral= ruleXSetLiteral EOF
             {
             if ( state.backtracking==0 ) {
                newCompositeNode(grammarAccess.getXSetLiteralRule()); 
@@ -30091,7 +30937,7 @@
 
 
     // $ANTLR start "ruleXSetLiteral"
-    // InternalReportDSL.g:11015:1: ruleXSetLiteral returns [EObject current=null] : ( () otherlv_1= '#' otherlv_2= '{' ( ( (lv_elements_3_0= ruleXExpression ) ) (otherlv_4= ',' ( (lv_elements_5_0= ruleXExpression ) ) )* )? otherlv_6= '}' ) ;
+    // InternalReportDSL.g:11324:1: ruleXSetLiteral returns [EObject current=null] : ( () otherlv_1= '#' otherlv_2= '{' ( ( (lv_elements_3_0= ruleXExpression ) ) (otherlv_4= ',' ( (lv_elements_5_0= ruleXExpression ) ) )* )? otherlv_6= '}' ) ;
     public final EObject ruleXSetLiteral() throws RecognitionException {
         EObject current = null;
 
@@ -30108,14 +30954,14 @@
         	enterRule();
 
         try {
-            // InternalReportDSL.g:11021:2: ( ( () otherlv_1= '#' otherlv_2= '{' ( ( (lv_elements_3_0= ruleXExpression ) ) (otherlv_4= ',' ( (lv_elements_5_0= ruleXExpression ) ) )* )? otherlv_6= '}' ) )
-            // InternalReportDSL.g:11022:2: ( () otherlv_1= '#' otherlv_2= '{' ( ( (lv_elements_3_0= ruleXExpression ) ) (otherlv_4= ',' ( (lv_elements_5_0= ruleXExpression ) ) )* )? otherlv_6= '}' )
+            // InternalReportDSL.g:11330:2: ( ( () otherlv_1= '#' otherlv_2= '{' ( ( (lv_elements_3_0= ruleXExpression ) ) (otherlv_4= ',' ( (lv_elements_5_0= ruleXExpression ) ) )* )? otherlv_6= '}' ) )
+            // InternalReportDSL.g:11331:2: ( () otherlv_1= '#' otherlv_2= '{' ( ( (lv_elements_3_0= ruleXExpression ) ) (otherlv_4= ',' ( (lv_elements_5_0= ruleXExpression ) ) )* )? otherlv_6= '}' )
             {
-            // InternalReportDSL.g:11022:2: ( () otherlv_1= '#' otherlv_2= '{' ( ( (lv_elements_3_0= ruleXExpression ) ) (otherlv_4= ',' ( (lv_elements_5_0= ruleXExpression ) ) )* )? otherlv_6= '}' )
-            // InternalReportDSL.g:11023:3: () otherlv_1= '#' otherlv_2= '{' ( ( (lv_elements_3_0= ruleXExpression ) ) (otherlv_4= ',' ( (lv_elements_5_0= ruleXExpression ) ) )* )? otherlv_6= '}'
+            // InternalReportDSL.g:11331:2: ( () otherlv_1= '#' otherlv_2= '{' ( ( (lv_elements_3_0= ruleXExpression ) ) (otherlv_4= ',' ( (lv_elements_5_0= ruleXExpression ) ) )* )? otherlv_6= '}' )
+            // InternalReportDSL.g:11332:3: () otherlv_1= '#' otherlv_2= '{' ( ( (lv_elements_3_0= ruleXExpression ) ) (otherlv_4= ',' ( (lv_elements_5_0= ruleXExpression ) ) )* )? otherlv_6= '}'
             {
-            // InternalReportDSL.g:11023:3: ()
-            // InternalReportDSL.g:11024:4: 
+            // InternalReportDSL.g:11332:3: ()
+            // InternalReportDSL.g:11333:4: 
             {
             if ( state.backtracking==0 ) {
 
@@ -30127,41 +30973,41 @@
 
             }
 
-            otherlv_1=(Token)match(input,136,FOLLOW_5); if (state.failed) return current;
+            otherlv_1=(Token)match(input,135,FOLLOW_5); if (state.failed) return current;
             if ( state.backtracking==0 ) {
 
               			newLeafNode(otherlv_1, grammarAccess.getXSetLiteralAccess().getNumberSignKeyword_1());
               		
             }
-            otherlv_2=(Token)match(input,14,FOLLOW_160); if (state.failed) return current;
+            otherlv_2=(Token)match(input,14,FOLLOW_152); if (state.failed) return current;
             if ( state.backtracking==0 ) {
 
               			newLeafNode(otherlv_2, grammarAccess.getXSetLiteralAccess().getLeftCurlyBracketKeyword_2());
               		
             }
-            // InternalReportDSL.g:11038:3: ( ( (lv_elements_3_0= ruleXExpression ) ) (otherlv_4= ',' ( (lv_elements_5_0= ruleXExpression ) ) )* )?
-            int alt162=2;
-            int LA162_0 = input.LA(1);
+            // InternalReportDSL.g:11347:3: ( ( (lv_elements_3_0= ruleXExpression ) ) (otherlv_4= ',' ( (lv_elements_5_0= ruleXExpression ) ) )* )?
+            int alt150=2;
+            int LA150_0 = input.LA(1);
 
-            if ( ((LA162_0>=RULE_STRING && LA162_0<=RULE_DECIMAL)||LA162_0==14||LA162_0==39||LA162_0==103||LA162_0==116||(LA162_0>=127 && LA162_0<=129)||(LA162_0>=136 && LA162_0<=137)||LA162_0==144||LA162_0==160||LA162_0==164||LA162_0==171||LA162_0==173||(LA162_0>=177 && LA162_0<=179)||(LA162_0>=182 && LA162_0<=190)||LA162_0==192) ) {
-                alt162=1;
+            if ( ((LA150_0>=RULE_STRING && LA150_0<=RULE_DECIMAL)||LA150_0==14||LA150_0==39||LA150_0==102||LA150_0==115||(LA150_0>=126 && LA150_0<=128)||(LA150_0>=135 && LA150_0<=136)||LA150_0==143||LA150_0==159||LA150_0==163||LA150_0==170||LA150_0==172||(LA150_0>=176 && LA150_0<=178)||(LA150_0>=181 && LA150_0<=189)||LA150_0==191) ) {
+                alt150=1;
             }
-            switch (alt162) {
+            switch (alt150) {
                 case 1 :
-                    // InternalReportDSL.g:11039:4: ( (lv_elements_3_0= ruleXExpression ) ) (otherlv_4= ',' ( (lv_elements_5_0= ruleXExpression ) ) )*
+                    // InternalReportDSL.g:11348:4: ( (lv_elements_3_0= ruleXExpression ) ) (otherlv_4= ',' ( (lv_elements_5_0= ruleXExpression ) ) )*
                     {
-                    // InternalReportDSL.g:11039:4: ( (lv_elements_3_0= ruleXExpression ) )
-                    // InternalReportDSL.g:11040:5: (lv_elements_3_0= ruleXExpression )
+                    // InternalReportDSL.g:11348:4: ( (lv_elements_3_0= ruleXExpression ) )
+                    // InternalReportDSL.g:11349:5: (lv_elements_3_0= ruleXExpression )
                     {
-                    // InternalReportDSL.g:11040:5: (lv_elements_3_0= ruleXExpression )
-                    // InternalReportDSL.g:11041:6: lv_elements_3_0= ruleXExpression
+                    // InternalReportDSL.g:11349:5: (lv_elements_3_0= ruleXExpression )
+                    // InternalReportDSL.g:11350:6: lv_elements_3_0= ruleXExpression
                     {
                     if ( state.backtracking==0 ) {
 
                       						newCompositeNode(grammarAccess.getXSetLiteralAccess().getElementsXExpressionParserRuleCall_3_0_0());
                       					
                     }
-                    pushFollow(FOLLOW_161);
+                    pushFollow(FOLLOW_153);
                     lv_elements_3_0=ruleXExpression();
 
                     state._fsp--;
@@ -30185,39 +31031,39 @@
 
                     }
 
-                    // InternalReportDSL.g:11058:4: (otherlv_4= ',' ( (lv_elements_5_0= ruleXExpression ) ) )*
-                    loop161:
+                    // InternalReportDSL.g:11367:4: (otherlv_4= ',' ( (lv_elements_5_0= ruleXExpression ) ) )*
+                    loop149:
                     do {
-                        int alt161=2;
-                        int LA161_0 = input.LA(1);
+                        int alt149=2;
+                        int LA149_0 = input.LA(1);
 
-                        if ( (LA161_0==134) ) {
-                            alt161=1;
+                        if ( (LA149_0==133) ) {
+                            alt149=1;
                         }
 
 
-                        switch (alt161) {
+                        switch (alt149) {
                     	case 1 :
-                    	    // InternalReportDSL.g:11059:5: otherlv_4= ',' ( (lv_elements_5_0= ruleXExpression ) )
+                    	    // InternalReportDSL.g:11368:5: otherlv_4= ',' ( (lv_elements_5_0= ruleXExpression ) )
                     	    {
-                    	    otherlv_4=(Token)match(input,134,FOLLOW_130); if (state.failed) return current;
+                    	    otherlv_4=(Token)match(input,133,FOLLOW_122); if (state.failed) return current;
                     	    if ( state.backtracking==0 ) {
 
                     	      					newLeafNode(otherlv_4, grammarAccess.getXSetLiteralAccess().getCommaKeyword_3_1_0());
                     	      				
                     	    }
-                    	    // InternalReportDSL.g:11063:5: ( (lv_elements_5_0= ruleXExpression ) )
-                    	    // InternalReportDSL.g:11064:6: (lv_elements_5_0= ruleXExpression )
+                    	    // InternalReportDSL.g:11372:5: ( (lv_elements_5_0= ruleXExpression ) )
+                    	    // InternalReportDSL.g:11373:6: (lv_elements_5_0= ruleXExpression )
                     	    {
-                    	    // InternalReportDSL.g:11064:6: (lv_elements_5_0= ruleXExpression )
-                    	    // InternalReportDSL.g:11065:7: lv_elements_5_0= ruleXExpression
+                    	    // InternalReportDSL.g:11373:6: (lv_elements_5_0= ruleXExpression )
+                    	    // InternalReportDSL.g:11374:7: lv_elements_5_0= ruleXExpression
                     	    {
                     	    if ( state.backtracking==0 ) {
 
                     	      							newCompositeNode(grammarAccess.getXSetLiteralAccess().getElementsXExpressionParserRuleCall_3_1_1_0());
                     	      						
                     	    }
-                    	    pushFollow(FOLLOW_161);
+                    	    pushFollow(FOLLOW_153);
                     	    lv_elements_5_0=ruleXExpression();
 
                     	    state._fsp--;
@@ -30246,7 +31092,7 @@
                     	    break;
 
                     	default :
-                    	    break loop161;
+                    	    break loop149;
                         }
                     } while (true);
 
@@ -30287,7 +31133,7 @@
 
 
     // $ANTLR start "entryRuleXListLiteral"
-    // InternalReportDSL.g:11092:1: entryRuleXListLiteral returns [EObject current=null] : iv_ruleXListLiteral= ruleXListLiteral EOF ;
+    // InternalReportDSL.g:11401:1: entryRuleXListLiteral returns [EObject current=null] : iv_ruleXListLiteral= ruleXListLiteral EOF ;
     public final EObject entryRuleXListLiteral() throws RecognitionException {
         EObject current = null;
 
@@ -30295,8 +31141,8 @@
 
 
         try {
-            // InternalReportDSL.g:11092:53: (iv_ruleXListLiteral= ruleXListLiteral EOF )
-            // InternalReportDSL.g:11093:2: iv_ruleXListLiteral= ruleXListLiteral EOF
+            // InternalReportDSL.g:11401:53: (iv_ruleXListLiteral= ruleXListLiteral EOF )
+            // InternalReportDSL.g:11402:2: iv_ruleXListLiteral= ruleXListLiteral EOF
             {
             if ( state.backtracking==0 ) {
                newCompositeNode(grammarAccess.getXListLiteralRule()); 
@@ -30327,7 +31173,7 @@
 
 
     // $ANTLR start "ruleXListLiteral"
-    // InternalReportDSL.g:11099:1: ruleXListLiteral returns [EObject current=null] : ( () otherlv_1= '#' otherlv_2= '[' ( ( (lv_elements_3_0= ruleXExpression ) ) (otherlv_4= ',' ( (lv_elements_5_0= ruleXExpression ) ) )* )? otherlv_6= ']' ) ;
+    // InternalReportDSL.g:11408:1: ruleXListLiteral returns [EObject current=null] : ( () otherlv_1= '#' otherlv_2= '[' ( ( (lv_elements_3_0= ruleXExpression ) ) (otherlv_4= ',' ( (lv_elements_5_0= ruleXExpression ) ) )* )? otherlv_6= ']' ) ;
     public final EObject ruleXListLiteral() throws RecognitionException {
         EObject current = null;
 
@@ -30344,14 +31190,14 @@
         	enterRule();
 
         try {
-            // InternalReportDSL.g:11105:2: ( ( () otherlv_1= '#' otherlv_2= '[' ( ( (lv_elements_3_0= ruleXExpression ) ) (otherlv_4= ',' ( (lv_elements_5_0= ruleXExpression ) ) )* )? otherlv_6= ']' ) )
-            // InternalReportDSL.g:11106:2: ( () otherlv_1= '#' otherlv_2= '[' ( ( (lv_elements_3_0= ruleXExpression ) ) (otherlv_4= ',' ( (lv_elements_5_0= ruleXExpression ) ) )* )? otherlv_6= ']' )
+            // InternalReportDSL.g:11414:2: ( ( () otherlv_1= '#' otherlv_2= '[' ( ( (lv_elements_3_0= ruleXExpression ) ) (otherlv_4= ',' ( (lv_elements_5_0= ruleXExpression ) ) )* )? otherlv_6= ']' ) )
+            // InternalReportDSL.g:11415:2: ( () otherlv_1= '#' otherlv_2= '[' ( ( (lv_elements_3_0= ruleXExpression ) ) (otherlv_4= ',' ( (lv_elements_5_0= ruleXExpression ) ) )* )? otherlv_6= ']' )
             {
-            // InternalReportDSL.g:11106:2: ( () otherlv_1= '#' otherlv_2= '[' ( ( (lv_elements_3_0= ruleXExpression ) ) (otherlv_4= ',' ( (lv_elements_5_0= ruleXExpression ) ) )* )? otherlv_6= ']' )
-            // InternalReportDSL.g:11107:3: () otherlv_1= '#' otherlv_2= '[' ( ( (lv_elements_3_0= ruleXExpression ) ) (otherlv_4= ',' ( (lv_elements_5_0= ruleXExpression ) ) )* )? otherlv_6= ']'
+            // InternalReportDSL.g:11415:2: ( () otherlv_1= '#' otherlv_2= '[' ( ( (lv_elements_3_0= ruleXExpression ) ) (otherlv_4= ',' ( (lv_elements_5_0= ruleXExpression ) ) )* )? otherlv_6= ']' )
+            // InternalReportDSL.g:11416:3: () otherlv_1= '#' otherlv_2= '[' ( ( (lv_elements_3_0= ruleXExpression ) ) (otherlv_4= ',' ( (lv_elements_5_0= ruleXExpression ) ) )* )? otherlv_6= ']'
             {
-            // InternalReportDSL.g:11107:3: ()
-            // InternalReportDSL.g:11108:4: 
+            // InternalReportDSL.g:11416:3: ()
+            // InternalReportDSL.g:11417:4: 
             {
             if ( state.backtracking==0 ) {
 
@@ -30363,41 +31209,41 @@
 
             }
 
-            otherlv_1=(Token)match(input,136,FOLLOW_131); if (state.failed) return current;
+            otherlv_1=(Token)match(input,135,FOLLOW_123); if (state.failed) return current;
             if ( state.backtracking==0 ) {
 
               			newLeafNode(otherlv_1, grammarAccess.getXListLiteralAccess().getNumberSignKeyword_1());
               		
             }
-            otherlv_2=(Token)match(input,137,FOLLOW_132); if (state.failed) return current;
+            otherlv_2=(Token)match(input,136,FOLLOW_124); if (state.failed) return current;
             if ( state.backtracking==0 ) {
 
               			newLeafNode(otherlv_2, grammarAccess.getXListLiteralAccess().getLeftSquareBracketKeyword_2());
               		
             }
-            // InternalReportDSL.g:11122:3: ( ( (lv_elements_3_0= ruleXExpression ) ) (otherlv_4= ',' ( (lv_elements_5_0= ruleXExpression ) ) )* )?
-            int alt164=2;
-            int LA164_0 = input.LA(1);
+            // InternalReportDSL.g:11431:3: ( ( (lv_elements_3_0= ruleXExpression ) ) (otherlv_4= ',' ( (lv_elements_5_0= ruleXExpression ) ) )* )?
+            int alt152=2;
+            int LA152_0 = input.LA(1);
 
-            if ( ((LA164_0>=RULE_STRING && LA164_0<=RULE_DECIMAL)||LA164_0==14||LA164_0==39||LA164_0==103||LA164_0==116||(LA164_0>=127 && LA164_0<=129)||(LA164_0>=136 && LA164_0<=137)||LA164_0==144||LA164_0==160||LA164_0==164||LA164_0==171||LA164_0==173||(LA164_0>=177 && LA164_0<=179)||(LA164_0>=182 && LA164_0<=190)||LA164_0==192) ) {
-                alt164=1;
+            if ( ((LA152_0>=RULE_STRING && LA152_0<=RULE_DECIMAL)||LA152_0==14||LA152_0==39||LA152_0==102||LA152_0==115||(LA152_0>=126 && LA152_0<=128)||(LA152_0>=135 && LA152_0<=136)||LA152_0==143||LA152_0==159||LA152_0==163||LA152_0==170||LA152_0==172||(LA152_0>=176 && LA152_0<=178)||(LA152_0>=181 && LA152_0<=189)||LA152_0==191) ) {
+                alt152=1;
             }
-            switch (alt164) {
+            switch (alt152) {
                 case 1 :
-                    // InternalReportDSL.g:11123:4: ( (lv_elements_3_0= ruleXExpression ) ) (otherlv_4= ',' ( (lv_elements_5_0= ruleXExpression ) ) )*
+                    // InternalReportDSL.g:11432:4: ( (lv_elements_3_0= ruleXExpression ) ) (otherlv_4= ',' ( (lv_elements_5_0= ruleXExpression ) ) )*
                     {
-                    // InternalReportDSL.g:11123:4: ( (lv_elements_3_0= ruleXExpression ) )
-                    // InternalReportDSL.g:11124:5: (lv_elements_3_0= ruleXExpression )
+                    // InternalReportDSL.g:11432:4: ( (lv_elements_3_0= ruleXExpression ) )
+                    // InternalReportDSL.g:11433:5: (lv_elements_3_0= ruleXExpression )
                     {
-                    // InternalReportDSL.g:11124:5: (lv_elements_3_0= ruleXExpression )
-                    // InternalReportDSL.g:11125:6: lv_elements_3_0= ruleXExpression
+                    // InternalReportDSL.g:11433:5: (lv_elements_3_0= ruleXExpression )
+                    // InternalReportDSL.g:11434:6: lv_elements_3_0= ruleXExpression
                     {
                     if ( state.backtracking==0 ) {
 
                       						newCompositeNode(grammarAccess.getXListLiteralAccess().getElementsXExpressionParserRuleCall_3_0_0());
                       					
                     }
-                    pushFollow(FOLLOW_133);
+                    pushFollow(FOLLOW_125);
                     lv_elements_3_0=ruleXExpression();
 
                     state._fsp--;
@@ -30421,39 +31267,39 @@
 
                     }
 
-                    // InternalReportDSL.g:11142:4: (otherlv_4= ',' ( (lv_elements_5_0= ruleXExpression ) ) )*
-                    loop163:
+                    // InternalReportDSL.g:11451:4: (otherlv_4= ',' ( (lv_elements_5_0= ruleXExpression ) ) )*
+                    loop151:
                     do {
-                        int alt163=2;
-                        int LA163_0 = input.LA(1);
+                        int alt151=2;
+                        int LA151_0 = input.LA(1);
 
-                        if ( (LA163_0==134) ) {
-                            alt163=1;
+                        if ( (LA151_0==133) ) {
+                            alt151=1;
                         }
 
 
-                        switch (alt163) {
+                        switch (alt151) {
                     	case 1 :
-                    	    // InternalReportDSL.g:11143:5: otherlv_4= ',' ( (lv_elements_5_0= ruleXExpression ) )
+                    	    // InternalReportDSL.g:11452:5: otherlv_4= ',' ( (lv_elements_5_0= ruleXExpression ) )
                     	    {
-                    	    otherlv_4=(Token)match(input,134,FOLLOW_130); if (state.failed) return current;
+                    	    otherlv_4=(Token)match(input,133,FOLLOW_122); if (state.failed) return current;
                     	    if ( state.backtracking==0 ) {
 
                     	      					newLeafNode(otherlv_4, grammarAccess.getXListLiteralAccess().getCommaKeyword_3_1_0());
                     	      				
                     	    }
-                    	    // InternalReportDSL.g:11147:5: ( (lv_elements_5_0= ruleXExpression ) )
-                    	    // InternalReportDSL.g:11148:6: (lv_elements_5_0= ruleXExpression )
+                    	    // InternalReportDSL.g:11456:5: ( (lv_elements_5_0= ruleXExpression ) )
+                    	    // InternalReportDSL.g:11457:6: (lv_elements_5_0= ruleXExpression )
                     	    {
-                    	    // InternalReportDSL.g:11148:6: (lv_elements_5_0= ruleXExpression )
-                    	    // InternalReportDSL.g:11149:7: lv_elements_5_0= ruleXExpression
+                    	    // InternalReportDSL.g:11457:6: (lv_elements_5_0= ruleXExpression )
+                    	    // InternalReportDSL.g:11458:7: lv_elements_5_0= ruleXExpression
                     	    {
                     	    if ( state.backtracking==0 ) {
 
                     	      							newCompositeNode(grammarAccess.getXListLiteralAccess().getElementsXExpressionParserRuleCall_3_1_1_0());
                     	      						
                     	    }
-                    	    pushFollow(FOLLOW_133);
+                    	    pushFollow(FOLLOW_125);
                     	    lv_elements_5_0=ruleXExpression();
 
                     	    state._fsp--;
@@ -30482,7 +31328,7 @@
                     	    break;
 
                     	default :
-                    	    break loop163;
+                    	    break loop151;
                         }
                     } while (true);
 
@@ -30492,7 +31338,7 @@
 
             }
 
-            otherlv_6=(Token)match(input,138,FOLLOW_2); if (state.failed) return current;
+            otherlv_6=(Token)match(input,137,FOLLOW_2); if (state.failed) return current;
             if ( state.backtracking==0 ) {
 
               			newLeafNode(otherlv_6, grammarAccess.getXListLiteralAccess().getRightSquareBracketKeyword_4());
@@ -30523,7 +31369,7 @@
 
 
     // $ANTLR start "entryRuleXClosure"
-    // InternalReportDSL.g:11176:1: entryRuleXClosure returns [EObject current=null] : iv_ruleXClosure= ruleXClosure EOF ;
+    // InternalReportDSL.g:11485:1: entryRuleXClosure returns [EObject current=null] : iv_ruleXClosure= ruleXClosure EOF ;
     public final EObject entryRuleXClosure() throws RecognitionException {
         EObject current = null;
 
@@ -30531,8 +31377,8 @@
 
 
         try {
-            // InternalReportDSL.g:11176:49: (iv_ruleXClosure= ruleXClosure EOF )
-            // InternalReportDSL.g:11177:2: iv_ruleXClosure= ruleXClosure EOF
+            // InternalReportDSL.g:11485:49: (iv_ruleXClosure= ruleXClosure EOF )
+            // InternalReportDSL.g:11486:2: iv_ruleXClosure= ruleXClosure EOF
             {
             if ( state.backtracking==0 ) {
                newCompositeNode(grammarAccess.getXClosureRule()); 
@@ -30563,7 +31409,7 @@
 
 
     // $ANTLR start "ruleXClosure"
-    // InternalReportDSL.g:11183:1: ruleXClosure returns [EObject current=null] : ( ( ( ( () '[' ) )=> ( () otherlv_1= '[' ) ) ( ( ( ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> ( ( ( (lv_declaredFormalParameters_2_0= ruleJvmFormalParameter ) ) (otherlv_3= ',' ( (lv_declaredFormalParameters_4_0= ruleJvmFormalParameter ) ) )* )? ( (lv_explicitSyntax_5_0= '|' ) ) ) )? ( (lv_expression_6_0= ruleXExpressionInClosure ) ) otherlv_7= ']' ) ;
+    // InternalReportDSL.g:11492:1: ruleXClosure returns [EObject current=null] : ( ( ( ( () '[' ) )=> ( () otherlv_1= '[' ) ) ( ( ( ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> ( ( ( (lv_declaredFormalParameters_2_0= ruleJvmFormalParameter ) ) (otherlv_3= ',' ( (lv_declaredFormalParameters_4_0= ruleJvmFormalParameter ) ) )* )? ( (lv_explicitSyntax_5_0= '|' ) ) ) )? ( (lv_expression_6_0= ruleXExpressionInClosure ) ) otherlv_7= ']' ) ;
     public final EObject ruleXClosure() throws RecognitionException {
         EObject current = null;
 
@@ -30582,20 +31428,20 @@
         	enterRule();
 
         try {
-            // InternalReportDSL.g:11189:2: ( ( ( ( ( () '[' ) )=> ( () otherlv_1= '[' ) ) ( ( ( ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> ( ( ( (lv_declaredFormalParameters_2_0= ruleJvmFormalParameter ) ) (otherlv_3= ',' ( (lv_declaredFormalParameters_4_0= ruleJvmFormalParameter ) ) )* )? ( (lv_explicitSyntax_5_0= '|' ) ) ) )? ( (lv_expression_6_0= ruleXExpressionInClosure ) ) otherlv_7= ']' ) )
-            // InternalReportDSL.g:11190:2: ( ( ( ( () '[' ) )=> ( () otherlv_1= '[' ) ) ( ( ( ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> ( ( ( (lv_declaredFormalParameters_2_0= ruleJvmFormalParameter ) ) (otherlv_3= ',' ( (lv_declaredFormalParameters_4_0= ruleJvmFormalParameter ) ) )* )? ( (lv_explicitSyntax_5_0= '|' ) ) ) )? ( (lv_expression_6_0= ruleXExpressionInClosure ) ) otherlv_7= ']' )
+            // InternalReportDSL.g:11498:2: ( ( ( ( ( () '[' ) )=> ( () otherlv_1= '[' ) ) ( ( ( ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> ( ( ( (lv_declaredFormalParameters_2_0= ruleJvmFormalParameter ) ) (otherlv_3= ',' ( (lv_declaredFormalParameters_4_0= ruleJvmFormalParameter ) ) )* )? ( (lv_explicitSyntax_5_0= '|' ) ) ) )? ( (lv_expression_6_0= ruleXExpressionInClosure ) ) otherlv_7= ']' ) )
+            // InternalReportDSL.g:11499:2: ( ( ( ( () '[' ) )=> ( () otherlv_1= '[' ) ) ( ( ( ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> ( ( ( (lv_declaredFormalParameters_2_0= ruleJvmFormalParameter ) ) (otherlv_3= ',' ( (lv_declaredFormalParameters_4_0= ruleJvmFormalParameter ) ) )* )? ( (lv_explicitSyntax_5_0= '|' ) ) ) )? ( (lv_expression_6_0= ruleXExpressionInClosure ) ) otherlv_7= ']' )
             {
-            // InternalReportDSL.g:11190:2: ( ( ( ( () '[' ) )=> ( () otherlv_1= '[' ) ) ( ( ( ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> ( ( ( (lv_declaredFormalParameters_2_0= ruleJvmFormalParameter ) ) (otherlv_3= ',' ( (lv_declaredFormalParameters_4_0= ruleJvmFormalParameter ) ) )* )? ( (lv_explicitSyntax_5_0= '|' ) ) ) )? ( (lv_expression_6_0= ruleXExpressionInClosure ) ) otherlv_7= ']' )
-            // InternalReportDSL.g:11191:3: ( ( ( () '[' ) )=> ( () otherlv_1= '[' ) ) ( ( ( ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> ( ( ( (lv_declaredFormalParameters_2_0= ruleJvmFormalParameter ) ) (otherlv_3= ',' ( (lv_declaredFormalParameters_4_0= ruleJvmFormalParameter ) ) )* )? ( (lv_explicitSyntax_5_0= '|' ) ) ) )? ( (lv_expression_6_0= ruleXExpressionInClosure ) ) otherlv_7= ']'
+            // InternalReportDSL.g:11499:2: ( ( ( ( () '[' ) )=> ( () otherlv_1= '[' ) ) ( ( ( ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> ( ( ( (lv_declaredFormalParameters_2_0= ruleJvmFormalParameter ) ) (otherlv_3= ',' ( (lv_declaredFormalParameters_4_0= ruleJvmFormalParameter ) ) )* )? ( (lv_explicitSyntax_5_0= '|' ) ) ) )? ( (lv_expression_6_0= ruleXExpressionInClosure ) ) otherlv_7= ']' )
+            // InternalReportDSL.g:11500:3: ( ( ( () '[' ) )=> ( () otherlv_1= '[' ) ) ( ( ( ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> ( ( ( (lv_declaredFormalParameters_2_0= ruleJvmFormalParameter ) ) (otherlv_3= ',' ( (lv_declaredFormalParameters_4_0= ruleJvmFormalParameter ) ) )* )? ( (lv_explicitSyntax_5_0= '|' ) ) ) )? ( (lv_expression_6_0= ruleXExpressionInClosure ) ) otherlv_7= ']'
             {
-            // InternalReportDSL.g:11191:3: ( ( ( () '[' ) )=> ( () otherlv_1= '[' ) )
-            // InternalReportDSL.g:11192:4: ( ( () '[' ) )=> ( () otherlv_1= '[' )
+            // InternalReportDSL.g:11500:3: ( ( ( () '[' ) )=> ( () otherlv_1= '[' ) )
+            // InternalReportDSL.g:11501:4: ( ( () '[' ) )=> ( () otherlv_1= '[' )
             {
-            // InternalReportDSL.g:11198:4: ( () otherlv_1= '[' )
-            // InternalReportDSL.g:11199:5: () otherlv_1= '['
+            // InternalReportDSL.g:11507:4: ( () otherlv_1= '[' )
+            // InternalReportDSL.g:11508:5: () otherlv_1= '['
             {
-            // InternalReportDSL.g:11199:5: ()
-            // InternalReportDSL.g:11200:6: 
+            // InternalReportDSL.g:11508:5: ()
+            // InternalReportDSL.g:11509:6: 
             {
             if ( state.backtracking==0 ) {
 
@@ -30607,7 +31453,7 @@
 
             }
 
-            otherlv_1=(Token)match(input,137,FOLLOW_162); if (state.failed) return current;
+            otherlv_1=(Token)match(input,136,FOLLOW_154); if (state.failed) return current;
             if ( state.backtracking==0 ) {
 
               					newLeafNode(otherlv_1, grammarAccess.getXClosureAccess().getLeftSquareBracketKeyword_0_0_1());
@@ -30619,39 +31465,39 @@
 
             }
 
-            // InternalReportDSL.g:11212:3: ( ( ( ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> ( ( ( (lv_declaredFormalParameters_2_0= ruleJvmFormalParameter ) ) (otherlv_3= ',' ( (lv_declaredFormalParameters_4_0= ruleJvmFormalParameter ) ) )* )? ( (lv_explicitSyntax_5_0= '|' ) ) ) )?
-            int alt167=2;
-            alt167 = dfa167.predict(input);
-            switch (alt167) {
+            // InternalReportDSL.g:11521:3: ( ( ( ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> ( ( ( (lv_declaredFormalParameters_2_0= ruleJvmFormalParameter ) ) (otherlv_3= ',' ( (lv_declaredFormalParameters_4_0= ruleJvmFormalParameter ) ) )* )? ( (lv_explicitSyntax_5_0= '|' ) ) ) )?
+            int alt155=2;
+            alt155 = dfa155.predict(input);
+            switch (alt155) {
                 case 1 :
-                    // InternalReportDSL.g:11213:4: ( ( ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> ( ( ( (lv_declaredFormalParameters_2_0= ruleJvmFormalParameter ) ) (otherlv_3= ',' ( (lv_declaredFormalParameters_4_0= ruleJvmFormalParameter ) ) )* )? ( (lv_explicitSyntax_5_0= '|' ) ) )
+                    // InternalReportDSL.g:11522:4: ( ( ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> ( ( ( (lv_declaredFormalParameters_2_0= ruleJvmFormalParameter ) ) (otherlv_3= ',' ( (lv_declaredFormalParameters_4_0= ruleJvmFormalParameter ) ) )* )? ( (lv_explicitSyntax_5_0= '|' ) ) )
                     {
-                    // InternalReportDSL.g:11236:4: ( ( ( (lv_declaredFormalParameters_2_0= ruleJvmFormalParameter ) ) (otherlv_3= ',' ( (lv_declaredFormalParameters_4_0= ruleJvmFormalParameter ) ) )* )? ( (lv_explicitSyntax_5_0= '|' ) ) )
-                    // InternalReportDSL.g:11237:5: ( ( (lv_declaredFormalParameters_2_0= ruleJvmFormalParameter ) ) (otherlv_3= ',' ( (lv_declaredFormalParameters_4_0= ruleJvmFormalParameter ) ) )* )? ( (lv_explicitSyntax_5_0= '|' ) )
+                    // InternalReportDSL.g:11545:4: ( ( ( (lv_declaredFormalParameters_2_0= ruleJvmFormalParameter ) ) (otherlv_3= ',' ( (lv_declaredFormalParameters_4_0= ruleJvmFormalParameter ) ) )* )? ( (lv_explicitSyntax_5_0= '|' ) ) )
+                    // InternalReportDSL.g:11546:5: ( ( (lv_declaredFormalParameters_2_0= ruleJvmFormalParameter ) ) (otherlv_3= ',' ( (lv_declaredFormalParameters_4_0= ruleJvmFormalParameter ) ) )* )? ( (lv_explicitSyntax_5_0= '|' ) )
                     {
-                    // InternalReportDSL.g:11237:5: ( ( (lv_declaredFormalParameters_2_0= ruleJvmFormalParameter ) ) (otherlv_3= ',' ( (lv_declaredFormalParameters_4_0= ruleJvmFormalParameter ) ) )* )?
-                    int alt166=2;
-                    int LA166_0 = input.LA(1);
+                    // InternalReportDSL.g:11546:5: ( ( (lv_declaredFormalParameters_2_0= ruleJvmFormalParameter ) ) (otherlv_3= ',' ( (lv_declaredFormalParameters_4_0= ruleJvmFormalParameter ) ) )* )?
+                    int alt154=2;
+                    int LA154_0 = input.LA(1);
 
-                    if ( (LA166_0==RULE_ID||LA166_0==103||LA166_0==157) ) {
-                        alt166=1;
+                    if ( (LA154_0==RULE_ID||LA154_0==102||LA154_0==156) ) {
+                        alt154=1;
                     }
-                    switch (alt166) {
+                    switch (alt154) {
                         case 1 :
-                            // InternalReportDSL.g:11238:6: ( (lv_declaredFormalParameters_2_0= ruleJvmFormalParameter ) ) (otherlv_3= ',' ( (lv_declaredFormalParameters_4_0= ruleJvmFormalParameter ) ) )*
+                            // InternalReportDSL.g:11547:6: ( (lv_declaredFormalParameters_2_0= ruleJvmFormalParameter ) ) (otherlv_3= ',' ( (lv_declaredFormalParameters_4_0= ruleJvmFormalParameter ) ) )*
                             {
-                            // InternalReportDSL.g:11238:6: ( (lv_declaredFormalParameters_2_0= ruleJvmFormalParameter ) )
-                            // InternalReportDSL.g:11239:7: (lv_declaredFormalParameters_2_0= ruleJvmFormalParameter )
+                            // InternalReportDSL.g:11547:6: ( (lv_declaredFormalParameters_2_0= ruleJvmFormalParameter ) )
+                            // InternalReportDSL.g:11548:7: (lv_declaredFormalParameters_2_0= ruleJvmFormalParameter )
                             {
-                            // InternalReportDSL.g:11239:7: (lv_declaredFormalParameters_2_0= ruleJvmFormalParameter )
-                            // InternalReportDSL.g:11240:8: lv_declaredFormalParameters_2_0= ruleJvmFormalParameter
+                            // InternalReportDSL.g:11548:7: (lv_declaredFormalParameters_2_0= ruleJvmFormalParameter )
+                            // InternalReportDSL.g:11549:8: lv_declaredFormalParameters_2_0= ruleJvmFormalParameter
                             {
                             if ( state.backtracking==0 ) {
 
                               								newCompositeNode(grammarAccess.getXClosureAccess().getDeclaredFormalParametersJvmFormalParameterParserRuleCall_1_0_0_0_0());
                               							
                             }
-                            pushFollow(FOLLOW_163);
+                            pushFollow(FOLLOW_155);
                             lv_declaredFormalParameters_2_0=ruleJvmFormalParameter();
 
                             state._fsp--;
@@ -30675,39 +31521,39 @@
 
                             }
 
-                            // InternalReportDSL.g:11257:6: (otherlv_3= ',' ( (lv_declaredFormalParameters_4_0= ruleJvmFormalParameter ) ) )*
-                            loop165:
+                            // InternalReportDSL.g:11566:6: (otherlv_3= ',' ( (lv_declaredFormalParameters_4_0= ruleJvmFormalParameter ) ) )*
+                            loop153:
                             do {
-                                int alt165=2;
-                                int LA165_0 = input.LA(1);
+                                int alt153=2;
+                                int LA153_0 = input.LA(1);
 
-                                if ( (LA165_0==134) ) {
-                                    alt165=1;
+                                if ( (LA153_0==133) ) {
+                                    alt153=1;
                                 }
 
 
-                                switch (alt165) {
+                                switch (alt153) {
                             	case 1 :
-                            	    // InternalReportDSL.g:11258:7: otherlv_3= ',' ( (lv_declaredFormalParameters_4_0= ruleJvmFormalParameter ) )
+                            	    // InternalReportDSL.g:11567:7: otherlv_3= ',' ( (lv_declaredFormalParameters_4_0= ruleJvmFormalParameter ) )
                             	    {
-                            	    otherlv_3=(Token)match(input,134,FOLLOW_143); if (state.failed) return current;
+                            	    otherlv_3=(Token)match(input,133,FOLLOW_135); if (state.failed) return current;
                             	    if ( state.backtracking==0 ) {
 
                             	      							newLeafNode(otherlv_3, grammarAccess.getXClosureAccess().getCommaKeyword_1_0_0_1_0());
                             	      						
                             	    }
-                            	    // InternalReportDSL.g:11262:7: ( (lv_declaredFormalParameters_4_0= ruleJvmFormalParameter ) )
-                            	    // InternalReportDSL.g:11263:8: (lv_declaredFormalParameters_4_0= ruleJvmFormalParameter )
+                            	    // InternalReportDSL.g:11571:7: ( (lv_declaredFormalParameters_4_0= ruleJvmFormalParameter ) )
+                            	    // InternalReportDSL.g:11572:8: (lv_declaredFormalParameters_4_0= ruleJvmFormalParameter )
                             	    {
-                            	    // InternalReportDSL.g:11263:8: (lv_declaredFormalParameters_4_0= ruleJvmFormalParameter )
-                            	    // InternalReportDSL.g:11264:9: lv_declaredFormalParameters_4_0= ruleJvmFormalParameter
+                            	    // InternalReportDSL.g:11572:8: (lv_declaredFormalParameters_4_0= ruleJvmFormalParameter )
+                            	    // InternalReportDSL.g:11573:9: lv_declaredFormalParameters_4_0= ruleJvmFormalParameter
                             	    {
                             	    if ( state.backtracking==0 ) {
 
                             	      									newCompositeNode(grammarAccess.getXClosureAccess().getDeclaredFormalParametersJvmFormalParameterParserRuleCall_1_0_0_1_1_0());
                             	      								
                             	    }
-                            	    pushFollow(FOLLOW_163);
+                            	    pushFollow(FOLLOW_155);
                             	    lv_declaredFormalParameters_4_0=ruleJvmFormalParameter();
 
                             	    state._fsp--;
@@ -30736,7 +31582,7 @@
                             	    break;
 
                             	default :
-                            	    break loop165;
+                            	    break loop153;
                                 }
                             } while (true);
 
@@ -30746,13 +31592,13 @@
 
                     }
 
-                    // InternalReportDSL.g:11283:5: ( (lv_explicitSyntax_5_0= '|' ) )
-                    // InternalReportDSL.g:11284:6: (lv_explicitSyntax_5_0= '|' )
+                    // InternalReportDSL.g:11592:5: ( (lv_explicitSyntax_5_0= '|' ) )
+                    // InternalReportDSL.g:11593:6: (lv_explicitSyntax_5_0= '|' )
                     {
-                    // InternalReportDSL.g:11284:6: (lv_explicitSyntax_5_0= '|' )
-                    // InternalReportDSL.g:11285:7: lv_explicitSyntax_5_0= '|'
+                    // InternalReportDSL.g:11593:6: (lv_explicitSyntax_5_0= '|' )
+                    // InternalReportDSL.g:11594:7: lv_explicitSyntax_5_0= '|'
                     {
-                    lv_explicitSyntax_5_0=(Token)match(input,170,FOLLOW_164); if (state.failed) return current;
+                    lv_explicitSyntax_5_0=(Token)match(input,169,FOLLOW_156); if (state.failed) return current;
                     if ( state.backtracking==0 ) {
 
                       							newLeafNode(lv_explicitSyntax_5_0, grammarAccess.getXClosureAccess().getExplicitSyntaxVerticalLineKeyword_1_0_1_0());
@@ -30781,18 +31627,18 @@
 
             }
 
-            // InternalReportDSL.g:11299:3: ( (lv_expression_6_0= ruleXExpressionInClosure ) )
-            // InternalReportDSL.g:11300:4: (lv_expression_6_0= ruleXExpressionInClosure )
+            // InternalReportDSL.g:11608:3: ( (lv_expression_6_0= ruleXExpressionInClosure ) )
+            // InternalReportDSL.g:11609:4: (lv_expression_6_0= ruleXExpressionInClosure )
             {
-            // InternalReportDSL.g:11300:4: (lv_expression_6_0= ruleXExpressionInClosure )
-            // InternalReportDSL.g:11301:5: lv_expression_6_0= ruleXExpressionInClosure
+            // InternalReportDSL.g:11609:4: (lv_expression_6_0= ruleXExpressionInClosure )
+            // InternalReportDSL.g:11610:5: lv_expression_6_0= ruleXExpressionInClosure
             {
             if ( state.backtracking==0 ) {
 
               					newCompositeNode(grammarAccess.getXClosureAccess().getExpressionXExpressionInClosureParserRuleCall_2_0());
               				
             }
-            pushFollow(FOLLOW_165);
+            pushFollow(FOLLOW_157);
             lv_expression_6_0=ruleXExpressionInClosure();
 
             state._fsp--;
@@ -30816,7 +31662,7 @@
 
             }
 
-            otherlv_7=(Token)match(input,138,FOLLOW_2); if (state.failed) return current;
+            otherlv_7=(Token)match(input,137,FOLLOW_2); if (state.failed) return current;
             if ( state.backtracking==0 ) {
 
               			newLeafNode(otherlv_7, grammarAccess.getXClosureAccess().getRightSquareBracketKeyword_3());
@@ -30847,7 +31693,7 @@
 
 
     // $ANTLR start "entryRuleXExpressionInClosure"
-    // InternalReportDSL.g:11326:1: entryRuleXExpressionInClosure returns [EObject current=null] : iv_ruleXExpressionInClosure= ruleXExpressionInClosure EOF ;
+    // InternalReportDSL.g:11635:1: entryRuleXExpressionInClosure returns [EObject current=null] : iv_ruleXExpressionInClosure= ruleXExpressionInClosure EOF ;
     public final EObject entryRuleXExpressionInClosure() throws RecognitionException {
         EObject current = null;
 
@@ -30855,8 +31701,8 @@
 
 
         try {
-            // InternalReportDSL.g:11326:61: (iv_ruleXExpressionInClosure= ruleXExpressionInClosure EOF )
-            // InternalReportDSL.g:11327:2: iv_ruleXExpressionInClosure= ruleXExpressionInClosure EOF
+            // InternalReportDSL.g:11635:61: (iv_ruleXExpressionInClosure= ruleXExpressionInClosure EOF )
+            // InternalReportDSL.g:11636:2: iv_ruleXExpressionInClosure= ruleXExpressionInClosure EOF
             {
             if ( state.backtracking==0 ) {
                newCompositeNode(grammarAccess.getXExpressionInClosureRule()); 
@@ -30887,7 +31733,7 @@
 
 
     // $ANTLR start "ruleXExpressionInClosure"
-    // InternalReportDSL.g:11333:1: ruleXExpressionInClosure returns [EObject current=null] : ( () ( ( (lv_expressions_1_0= ruleXExpressionOrVarDeclaration ) ) (otherlv_2= ';' )? )* ) ;
+    // InternalReportDSL.g:11642:1: ruleXExpressionInClosure returns [EObject current=null] : ( () ( ( (lv_expressions_1_0= ruleXExpressionOrVarDeclaration ) ) (otherlv_2= ';' )? )* ) ;
     public final EObject ruleXExpressionInClosure() throws RecognitionException {
         EObject current = null;
 
@@ -30899,14 +31745,14 @@
         	enterRule();
 
         try {
-            // InternalReportDSL.g:11339:2: ( ( () ( ( (lv_expressions_1_0= ruleXExpressionOrVarDeclaration ) ) (otherlv_2= ';' )? )* ) )
-            // InternalReportDSL.g:11340:2: ( () ( ( (lv_expressions_1_0= ruleXExpressionOrVarDeclaration ) ) (otherlv_2= ';' )? )* )
+            // InternalReportDSL.g:11648:2: ( ( () ( ( (lv_expressions_1_0= ruleXExpressionOrVarDeclaration ) ) (otherlv_2= ';' )? )* ) )
+            // InternalReportDSL.g:11649:2: ( () ( ( (lv_expressions_1_0= ruleXExpressionOrVarDeclaration ) ) (otherlv_2= ';' )? )* )
             {
-            // InternalReportDSL.g:11340:2: ( () ( ( (lv_expressions_1_0= ruleXExpressionOrVarDeclaration ) ) (otherlv_2= ';' )? )* )
-            // InternalReportDSL.g:11341:3: () ( ( (lv_expressions_1_0= ruleXExpressionOrVarDeclaration ) ) (otherlv_2= ';' )? )*
+            // InternalReportDSL.g:11649:2: ( () ( ( (lv_expressions_1_0= ruleXExpressionOrVarDeclaration ) ) (otherlv_2= ';' )? )* )
+            // InternalReportDSL.g:11650:3: () ( ( (lv_expressions_1_0= ruleXExpressionOrVarDeclaration ) ) (otherlv_2= ';' )? )*
             {
-            // InternalReportDSL.g:11341:3: ()
-            // InternalReportDSL.g:11342:4: 
+            // InternalReportDSL.g:11650:3: ()
+            // InternalReportDSL.g:11651:4: 
             {
             if ( state.backtracking==0 ) {
 
@@ -30918,33 +31764,33 @@
 
             }
 
-            // InternalReportDSL.g:11348:3: ( ( (lv_expressions_1_0= ruleXExpressionOrVarDeclaration ) ) (otherlv_2= ';' )? )*
-            loop169:
+            // InternalReportDSL.g:11657:3: ( ( (lv_expressions_1_0= ruleXExpressionOrVarDeclaration ) ) (otherlv_2= ';' )? )*
+            loop157:
             do {
-                int alt169=2;
-                int LA169_0 = input.LA(1);
+                int alt157=2;
+                int LA157_0 = input.LA(1);
 
-                if ( ((LA169_0>=RULE_STRING && LA169_0<=RULE_DECIMAL)||LA169_0==14||LA169_0==39||LA169_0==103||LA169_0==116||(LA169_0>=127 && LA169_0<=129)||(LA169_0>=136 && LA169_0<=137)||LA169_0==144||LA169_0==160||LA169_0==164||LA169_0==171||LA169_0==173||(LA169_0>=177 && LA169_0<=190)||LA169_0==192) ) {
-                    alt169=1;
+                if ( ((LA157_0>=RULE_STRING && LA157_0<=RULE_DECIMAL)||LA157_0==14||LA157_0==39||LA157_0==102||LA157_0==115||(LA157_0>=126 && LA157_0<=128)||(LA157_0>=135 && LA157_0<=136)||LA157_0==143||LA157_0==159||LA157_0==163||LA157_0==170||LA157_0==172||(LA157_0>=176 && LA157_0<=189)||LA157_0==191) ) {
+                    alt157=1;
                 }
 
 
-                switch (alt169) {
+                switch (alt157) {
             	case 1 :
-            	    // InternalReportDSL.g:11349:4: ( (lv_expressions_1_0= ruleXExpressionOrVarDeclaration ) ) (otherlv_2= ';' )?
+            	    // InternalReportDSL.g:11658:4: ( (lv_expressions_1_0= ruleXExpressionOrVarDeclaration ) ) (otherlv_2= ';' )?
             	    {
-            	    // InternalReportDSL.g:11349:4: ( (lv_expressions_1_0= ruleXExpressionOrVarDeclaration ) )
-            	    // InternalReportDSL.g:11350:5: (lv_expressions_1_0= ruleXExpressionOrVarDeclaration )
+            	    // InternalReportDSL.g:11658:4: ( (lv_expressions_1_0= ruleXExpressionOrVarDeclaration ) )
+            	    // InternalReportDSL.g:11659:5: (lv_expressions_1_0= ruleXExpressionOrVarDeclaration )
             	    {
-            	    // InternalReportDSL.g:11350:5: (lv_expressions_1_0= ruleXExpressionOrVarDeclaration )
-            	    // InternalReportDSL.g:11351:6: lv_expressions_1_0= ruleXExpressionOrVarDeclaration
+            	    // InternalReportDSL.g:11659:5: (lv_expressions_1_0= ruleXExpressionOrVarDeclaration )
+            	    // InternalReportDSL.g:11660:6: lv_expressions_1_0= ruleXExpressionOrVarDeclaration
             	    {
             	    if ( state.backtracking==0 ) {
 
             	      						newCompositeNode(grammarAccess.getXExpressionInClosureAccess().getExpressionsXExpressionOrVarDeclarationParserRuleCall_1_0_0());
             	      					
             	    }
-            	    pushFollow(FOLLOW_166);
+            	    pushFollow(FOLLOW_158);
             	    lv_expressions_1_0=ruleXExpressionOrVarDeclaration();
 
             	    state._fsp--;
@@ -30968,18 +31814,18 @@
 
             	    }
 
-            	    // InternalReportDSL.g:11368:4: (otherlv_2= ';' )?
-            	    int alt168=2;
-            	    int LA168_0 = input.LA(1);
+            	    // InternalReportDSL.g:11677:4: (otherlv_2= ';' )?
+            	    int alt156=2;
+            	    int LA156_0 = input.LA(1);
 
-            	    if ( (LA168_0==132) ) {
-            	        alt168=1;
+            	    if ( (LA156_0==131) ) {
+            	        alt156=1;
             	    }
-            	    switch (alt168) {
+            	    switch (alt156) {
             	        case 1 :
-            	            // InternalReportDSL.g:11369:5: otherlv_2= ';'
+            	            // InternalReportDSL.g:11678:5: otherlv_2= ';'
             	            {
-            	            otherlv_2=(Token)match(input,132,FOLLOW_167); if (state.failed) return current;
+            	            otherlv_2=(Token)match(input,131,FOLLOW_159); if (state.failed) return current;
             	            if ( state.backtracking==0 ) {
 
             	              					newLeafNode(otherlv_2, grammarAccess.getXExpressionInClosureAccess().getSemicolonKeyword_1_1());
@@ -30996,7 +31842,7 @@
             	    break;
 
             	default :
-            	    break loop169;
+            	    break loop157;
                 }
             } while (true);
 
@@ -31025,7 +31871,7 @@
 
 
     // $ANTLR start "entryRuleXShortClosure"
-    // InternalReportDSL.g:11379:1: entryRuleXShortClosure returns [EObject current=null] : iv_ruleXShortClosure= ruleXShortClosure EOF ;
+    // InternalReportDSL.g:11688:1: entryRuleXShortClosure returns [EObject current=null] : iv_ruleXShortClosure= ruleXShortClosure EOF ;
     public final EObject entryRuleXShortClosure() throws RecognitionException {
         EObject current = null;
 
@@ -31033,8 +31879,8 @@
 
 
         try {
-            // InternalReportDSL.g:11379:54: (iv_ruleXShortClosure= ruleXShortClosure EOF )
-            // InternalReportDSL.g:11380:2: iv_ruleXShortClosure= ruleXShortClosure EOF
+            // InternalReportDSL.g:11688:54: (iv_ruleXShortClosure= ruleXShortClosure EOF )
+            // InternalReportDSL.g:11689:2: iv_ruleXShortClosure= ruleXShortClosure EOF
             {
             if ( state.backtracking==0 ) {
                newCompositeNode(grammarAccess.getXShortClosureRule()); 
@@ -31065,7 +31911,7 @@
 
 
     // $ANTLR start "ruleXShortClosure"
-    // InternalReportDSL.g:11386:1: ruleXShortClosure returns [EObject current=null] : ( ( ( ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> ( () ( ( (lv_declaredFormalParameters_1_0= ruleJvmFormalParameter ) ) (otherlv_2= ',' ( (lv_declaredFormalParameters_3_0= ruleJvmFormalParameter ) ) )* )? ( (lv_explicitSyntax_4_0= '|' ) ) ) ) ( (lv_expression_5_0= ruleXExpression ) ) ) ;
+    // InternalReportDSL.g:11695:1: ruleXShortClosure returns [EObject current=null] : ( ( ( ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> ( () ( ( (lv_declaredFormalParameters_1_0= ruleJvmFormalParameter ) ) (otherlv_2= ',' ( (lv_declaredFormalParameters_3_0= ruleJvmFormalParameter ) ) )* )? ( (lv_explicitSyntax_4_0= '|' ) ) ) ) ( (lv_expression_5_0= ruleXExpression ) ) ) ;
     public final EObject ruleXShortClosure() throws RecognitionException {
         EObject current = null;
 
@@ -31082,20 +31928,20 @@
         	enterRule();
 
         try {
-            // InternalReportDSL.g:11392:2: ( ( ( ( ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> ( () ( ( (lv_declaredFormalParameters_1_0= ruleJvmFormalParameter ) ) (otherlv_2= ',' ( (lv_declaredFormalParameters_3_0= ruleJvmFormalParameter ) ) )* )? ( (lv_explicitSyntax_4_0= '|' ) ) ) ) ( (lv_expression_5_0= ruleXExpression ) ) ) )
-            // InternalReportDSL.g:11393:2: ( ( ( ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> ( () ( ( (lv_declaredFormalParameters_1_0= ruleJvmFormalParameter ) ) (otherlv_2= ',' ( (lv_declaredFormalParameters_3_0= ruleJvmFormalParameter ) ) )* )? ( (lv_explicitSyntax_4_0= '|' ) ) ) ) ( (lv_expression_5_0= ruleXExpression ) ) )
+            // InternalReportDSL.g:11701:2: ( ( ( ( ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> ( () ( ( (lv_declaredFormalParameters_1_0= ruleJvmFormalParameter ) ) (otherlv_2= ',' ( (lv_declaredFormalParameters_3_0= ruleJvmFormalParameter ) ) )* )? ( (lv_explicitSyntax_4_0= '|' ) ) ) ) ( (lv_expression_5_0= ruleXExpression ) ) ) )
+            // InternalReportDSL.g:11702:2: ( ( ( ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> ( () ( ( (lv_declaredFormalParameters_1_0= ruleJvmFormalParameter ) ) (otherlv_2= ',' ( (lv_declaredFormalParameters_3_0= ruleJvmFormalParameter ) ) )* )? ( (lv_explicitSyntax_4_0= '|' ) ) ) ) ( (lv_expression_5_0= ruleXExpression ) ) )
             {
-            // InternalReportDSL.g:11393:2: ( ( ( ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> ( () ( ( (lv_declaredFormalParameters_1_0= ruleJvmFormalParameter ) ) (otherlv_2= ',' ( (lv_declaredFormalParameters_3_0= ruleJvmFormalParameter ) ) )* )? ( (lv_explicitSyntax_4_0= '|' ) ) ) ) ( (lv_expression_5_0= ruleXExpression ) ) )
-            // InternalReportDSL.g:11394:3: ( ( ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> ( () ( ( (lv_declaredFormalParameters_1_0= ruleJvmFormalParameter ) ) (otherlv_2= ',' ( (lv_declaredFormalParameters_3_0= ruleJvmFormalParameter ) ) )* )? ( (lv_explicitSyntax_4_0= '|' ) ) ) ) ( (lv_expression_5_0= ruleXExpression ) )
+            // InternalReportDSL.g:11702:2: ( ( ( ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> ( () ( ( (lv_declaredFormalParameters_1_0= ruleJvmFormalParameter ) ) (otherlv_2= ',' ( (lv_declaredFormalParameters_3_0= ruleJvmFormalParameter ) ) )* )? ( (lv_explicitSyntax_4_0= '|' ) ) ) ) ( (lv_expression_5_0= ruleXExpression ) ) )
+            // InternalReportDSL.g:11703:3: ( ( ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> ( () ( ( (lv_declaredFormalParameters_1_0= ruleJvmFormalParameter ) ) (otherlv_2= ',' ( (lv_declaredFormalParameters_3_0= ruleJvmFormalParameter ) ) )* )? ( (lv_explicitSyntax_4_0= '|' ) ) ) ) ( (lv_expression_5_0= ruleXExpression ) )
             {
-            // InternalReportDSL.g:11394:3: ( ( ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> ( () ( ( (lv_declaredFormalParameters_1_0= ruleJvmFormalParameter ) ) (otherlv_2= ',' ( (lv_declaredFormalParameters_3_0= ruleJvmFormalParameter ) ) )* )? ( (lv_explicitSyntax_4_0= '|' ) ) ) )
-            // InternalReportDSL.g:11395:4: ( ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> ( () ( ( (lv_declaredFormalParameters_1_0= ruleJvmFormalParameter ) ) (otherlv_2= ',' ( (lv_declaredFormalParameters_3_0= ruleJvmFormalParameter ) ) )* )? ( (lv_explicitSyntax_4_0= '|' ) ) )
+            // InternalReportDSL.g:11703:3: ( ( ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> ( () ( ( (lv_declaredFormalParameters_1_0= ruleJvmFormalParameter ) ) (otherlv_2= ',' ( (lv_declaredFormalParameters_3_0= ruleJvmFormalParameter ) ) )* )? ( (lv_explicitSyntax_4_0= '|' ) ) ) )
+            // InternalReportDSL.g:11704:4: ( ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> ( () ( ( (lv_declaredFormalParameters_1_0= ruleJvmFormalParameter ) ) (otherlv_2= ',' ( (lv_declaredFormalParameters_3_0= ruleJvmFormalParameter ) ) )* )? ( (lv_explicitSyntax_4_0= '|' ) ) )
             {
-            // InternalReportDSL.g:11420:4: ( () ( ( (lv_declaredFormalParameters_1_0= ruleJvmFormalParameter ) ) (otherlv_2= ',' ( (lv_declaredFormalParameters_3_0= ruleJvmFormalParameter ) ) )* )? ( (lv_explicitSyntax_4_0= '|' ) ) )
-            // InternalReportDSL.g:11421:5: () ( ( (lv_declaredFormalParameters_1_0= ruleJvmFormalParameter ) ) (otherlv_2= ',' ( (lv_declaredFormalParameters_3_0= ruleJvmFormalParameter ) ) )* )? ( (lv_explicitSyntax_4_0= '|' ) )
+            // InternalReportDSL.g:11729:4: ( () ( ( (lv_declaredFormalParameters_1_0= ruleJvmFormalParameter ) ) (otherlv_2= ',' ( (lv_declaredFormalParameters_3_0= ruleJvmFormalParameter ) ) )* )? ( (lv_explicitSyntax_4_0= '|' ) ) )
+            // InternalReportDSL.g:11730:5: () ( ( (lv_declaredFormalParameters_1_0= ruleJvmFormalParameter ) ) (otherlv_2= ',' ( (lv_declaredFormalParameters_3_0= ruleJvmFormalParameter ) ) )* )? ( (lv_explicitSyntax_4_0= '|' ) )
             {
-            // InternalReportDSL.g:11421:5: ()
-            // InternalReportDSL.g:11422:6: 
+            // InternalReportDSL.g:11730:5: ()
+            // InternalReportDSL.g:11731:6: 
             {
             if ( state.backtracking==0 ) {
 
@@ -31107,29 +31953,29 @@
 
             }
 
-            // InternalReportDSL.g:11428:5: ( ( (lv_declaredFormalParameters_1_0= ruleJvmFormalParameter ) ) (otherlv_2= ',' ( (lv_declaredFormalParameters_3_0= ruleJvmFormalParameter ) ) )* )?
-            int alt171=2;
-            int LA171_0 = input.LA(1);
+            // InternalReportDSL.g:11737:5: ( ( (lv_declaredFormalParameters_1_0= ruleJvmFormalParameter ) ) (otherlv_2= ',' ( (lv_declaredFormalParameters_3_0= ruleJvmFormalParameter ) ) )* )?
+            int alt159=2;
+            int LA159_0 = input.LA(1);
 
-            if ( (LA171_0==RULE_ID||LA171_0==103||LA171_0==157) ) {
-                alt171=1;
+            if ( (LA159_0==RULE_ID||LA159_0==102||LA159_0==156) ) {
+                alt159=1;
             }
-            switch (alt171) {
+            switch (alt159) {
                 case 1 :
-                    // InternalReportDSL.g:11429:6: ( (lv_declaredFormalParameters_1_0= ruleJvmFormalParameter ) ) (otherlv_2= ',' ( (lv_declaredFormalParameters_3_0= ruleJvmFormalParameter ) ) )*
+                    // InternalReportDSL.g:11738:6: ( (lv_declaredFormalParameters_1_0= ruleJvmFormalParameter ) ) (otherlv_2= ',' ( (lv_declaredFormalParameters_3_0= ruleJvmFormalParameter ) ) )*
                     {
-                    // InternalReportDSL.g:11429:6: ( (lv_declaredFormalParameters_1_0= ruleJvmFormalParameter ) )
-                    // InternalReportDSL.g:11430:7: (lv_declaredFormalParameters_1_0= ruleJvmFormalParameter )
+                    // InternalReportDSL.g:11738:6: ( (lv_declaredFormalParameters_1_0= ruleJvmFormalParameter ) )
+                    // InternalReportDSL.g:11739:7: (lv_declaredFormalParameters_1_0= ruleJvmFormalParameter )
                     {
-                    // InternalReportDSL.g:11430:7: (lv_declaredFormalParameters_1_0= ruleJvmFormalParameter )
-                    // InternalReportDSL.g:11431:8: lv_declaredFormalParameters_1_0= ruleJvmFormalParameter
+                    // InternalReportDSL.g:11739:7: (lv_declaredFormalParameters_1_0= ruleJvmFormalParameter )
+                    // InternalReportDSL.g:11740:8: lv_declaredFormalParameters_1_0= ruleJvmFormalParameter
                     {
                     if ( state.backtracking==0 ) {
 
                       								newCompositeNode(grammarAccess.getXShortClosureAccess().getDeclaredFormalParametersJvmFormalParameterParserRuleCall_0_0_1_0_0());
                       							
                     }
-                    pushFollow(FOLLOW_163);
+                    pushFollow(FOLLOW_155);
                     lv_declaredFormalParameters_1_0=ruleJvmFormalParameter();
 
                     state._fsp--;
@@ -31153,39 +31999,39 @@
 
                     }
 
-                    // InternalReportDSL.g:11448:6: (otherlv_2= ',' ( (lv_declaredFormalParameters_3_0= ruleJvmFormalParameter ) ) )*
-                    loop170:
+                    // InternalReportDSL.g:11757:6: (otherlv_2= ',' ( (lv_declaredFormalParameters_3_0= ruleJvmFormalParameter ) ) )*
+                    loop158:
                     do {
-                        int alt170=2;
-                        int LA170_0 = input.LA(1);
+                        int alt158=2;
+                        int LA158_0 = input.LA(1);
 
-                        if ( (LA170_0==134) ) {
-                            alt170=1;
+                        if ( (LA158_0==133) ) {
+                            alt158=1;
                         }
 
 
-                        switch (alt170) {
+                        switch (alt158) {
                     	case 1 :
-                    	    // InternalReportDSL.g:11449:7: otherlv_2= ',' ( (lv_declaredFormalParameters_3_0= ruleJvmFormalParameter ) )
+                    	    // InternalReportDSL.g:11758:7: otherlv_2= ',' ( (lv_declaredFormalParameters_3_0= ruleJvmFormalParameter ) )
                     	    {
-                    	    otherlv_2=(Token)match(input,134,FOLLOW_143); if (state.failed) return current;
+                    	    otherlv_2=(Token)match(input,133,FOLLOW_135); if (state.failed) return current;
                     	    if ( state.backtracking==0 ) {
 
                     	      							newLeafNode(otherlv_2, grammarAccess.getXShortClosureAccess().getCommaKeyword_0_0_1_1_0());
                     	      						
                     	    }
-                    	    // InternalReportDSL.g:11453:7: ( (lv_declaredFormalParameters_3_0= ruleJvmFormalParameter ) )
-                    	    // InternalReportDSL.g:11454:8: (lv_declaredFormalParameters_3_0= ruleJvmFormalParameter )
+                    	    // InternalReportDSL.g:11762:7: ( (lv_declaredFormalParameters_3_0= ruleJvmFormalParameter ) )
+                    	    // InternalReportDSL.g:11763:8: (lv_declaredFormalParameters_3_0= ruleJvmFormalParameter )
                     	    {
-                    	    // InternalReportDSL.g:11454:8: (lv_declaredFormalParameters_3_0= ruleJvmFormalParameter )
-                    	    // InternalReportDSL.g:11455:9: lv_declaredFormalParameters_3_0= ruleJvmFormalParameter
+                    	    // InternalReportDSL.g:11763:8: (lv_declaredFormalParameters_3_0= ruleJvmFormalParameter )
+                    	    // InternalReportDSL.g:11764:9: lv_declaredFormalParameters_3_0= ruleJvmFormalParameter
                     	    {
                     	    if ( state.backtracking==0 ) {
 
                     	      									newCompositeNode(grammarAccess.getXShortClosureAccess().getDeclaredFormalParametersJvmFormalParameterParserRuleCall_0_0_1_1_1_0());
                     	      								
                     	    }
-                    	    pushFollow(FOLLOW_163);
+                    	    pushFollow(FOLLOW_155);
                     	    lv_declaredFormalParameters_3_0=ruleJvmFormalParameter();
 
                     	    state._fsp--;
@@ -31214,7 +32060,7 @@
                     	    break;
 
                     	default :
-                    	    break loop170;
+                    	    break loop158;
                         }
                     } while (true);
 
@@ -31224,13 +32070,13 @@
 
             }
 
-            // InternalReportDSL.g:11474:5: ( (lv_explicitSyntax_4_0= '|' ) )
-            // InternalReportDSL.g:11475:6: (lv_explicitSyntax_4_0= '|' )
+            // InternalReportDSL.g:11783:5: ( (lv_explicitSyntax_4_0= '|' ) )
+            // InternalReportDSL.g:11784:6: (lv_explicitSyntax_4_0= '|' )
             {
-            // InternalReportDSL.g:11475:6: (lv_explicitSyntax_4_0= '|' )
-            // InternalReportDSL.g:11476:7: lv_explicitSyntax_4_0= '|'
+            // InternalReportDSL.g:11784:6: (lv_explicitSyntax_4_0= '|' )
+            // InternalReportDSL.g:11785:7: lv_explicitSyntax_4_0= '|'
             {
-            lv_explicitSyntax_4_0=(Token)match(input,170,FOLLOW_130); if (state.failed) return current;
+            lv_explicitSyntax_4_0=(Token)match(input,169,FOLLOW_122); if (state.failed) return current;
             if ( state.backtracking==0 ) {
 
               							newLeafNode(lv_explicitSyntax_4_0, grammarAccess.getXShortClosureAccess().getExplicitSyntaxVerticalLineKeyword_0_0_2_0());
@@ -31256,11 +32102,11 @@
 
             }
 
-            // InternalReportDSL.g:11490:3: ( (lv_expression_5_0= ruleXExpression ) )
-            // InternalReportDSL.g:11491:4: (lv_expression_5_0= ruleXExpression )
+            // InternalReportDSL.g:11799:3: ( (lv_expression_5_0= ruleXExpression ) )
+            // InternalReportDSL.g:11800:4: (lv_expression_5_0= ruleXExpression )
             {
-            // InternalReportDSL.g:11491:4: (lv_expression_5_0= ruleXExpression )
-            // InternalReportDSL.g:11492:5: lv_expression_5_0= ruleXExpression
+            // InternalReportDSL.g:11800:4: (lv_expression_5_0= ruleXExpression )
+            // InternalReportDSL.g:11801:5: lv_expression_5_0= ruleXExpression
             {
             if ( state.backtracking==0 ) {
 
@@ -31316,7 +32162,7 @@
 
 
     // $ANTLR start "entryRuleXParenthesizedExpression"
-    // InternalReportDSL.g:11513:1: entryRuleXParenthesizedExpression returns [EObject current=null] : iv_ruleXParenthesizedExpression= ruleXParenthesizedExpression EOF ;
+    // InternalReportDSL.g:11822:1: entryRuleXParenthesizedExpression returns [EObject current=null] : iv_ruleXParenthesizedExpression= ruleXParenthesizedExpression EOF ;
     public final EObject entryRuleXParenthesizedExpression() throws RecognitionException {
         EObject current = null;
 
@@ -31324,8 +32170,8 @@
 
 
         try {
-            // InternalReportDSL.g:11513:65: (iv_ruleXParenthesizedExpression= ruleXParenthesizedExpression EOF )
-            // InternalReportDSL.g:11514:2: iv_ruleXParenthesizedExpression= ruleXParenthesizedExpression EOF
+            // InternalReportDSL.g:11822:65: (iv_ruleXParenthesizedExpression= ruleXParenthesizedExpression EOF )
+            // InternalReportDSL.g:11823:2: iv_ruleXParenthesizedExpression= ruleXParenthesizedExpression EOF
             {
             if ( state.backtracking==0 ) {
                newCompositeNode(grammarAccess.getXParenthesizedExpressionRule()); 
@@ -31356,7 +32202,7 @@
 
 
     // $ANTLR start "ruleXParenthesizedExpression"
-    // InternalReportDSL.g:11520:1: ruleXParenthesizedExpression returns [EObject current=null] : (otherlv_0= '(' this_XExpression_1= ruleXExpression otherlv_2= ')' ) ;
+    // InternalReportDSL.g:11829:1: ruleXParenthesizedExpression returns [EObject current=null] : (otherlv_0= '(' this_XExpression_1= ruleXExpression otherlv_2= ')' ) ;
     public final EObject ruleXParenthesizedExpression() throws RecognitionException {
         EObject current = null;
 
@@ -31369,13 +32215,13 @@
         	enterRule();
 
         try {
-            // InternalReportDSL.g:11526:2: ( (otherlv_0= '(' this_XExpression_1= ruleXExpression otherlv_2= ')' ) )
-            // InternalReportDSL.g:11527:2: (otherlv_0= '(' this_XExpression_1= ruleXExpression otherlv_2= ')' )
+            // InternalReportDSL.g:11835:2: ( (otherlv_0= '(' this_XExpression_1= ruleXExpression otherlv_2= ')' ) )
+            // InternalReportDSL.g:11836:2: (otherlv_0= '(' this_XExpression_1= ruleXExpression otherlv_2= ')' )
             {
-            // InternalReportDSL.g:11527:2: (otherlv_0= '(' this_XExpression_1= ruleXExpression otherlv_2= ')' )
-            // InternalReportDSL.g:11528:3: otherlv_0= '(' this_XExpression_1= ruleXExpression otherlv_2= ')'
+            // InternalReportDSL.g:11836:2: (otherlv_0= '(' this_XExpression_1= ruleXExpression otherlv_2= ')' )
+            // InternalReportDSL.g:11837:3: otherlv_0= '(' this_XExpression_1= ruleXExpression otherlv_2= ')'
             {
-            otherlv_0=(Token)match(input,103,FOLLOW_130); if (state.failed) return current;
+            otherlv_0=(Token)match(input,102,FOLLOW_122); if (state.failed) return current;
             if ( state.backtracking==0 ) {
 
               			newLeafNode(otherlv_0, grammarAccess.getXParenthesizedExpressionAccess().getLeftParenthesisKeyword_0());
@@ -31386,7 +32232,7 @@
               			newCompositeNode(grammarAccess.getXParenthesizedExpressionAccess().getXExpressionParserRuleCall_1());
               		
             }
-            pushFollow(FOLLOW_115);
+            pushFollow(FOLLOW_107);
             this_XExpression_1=ruleXExpression();
 
             state._fsp--;
@@ -31397,7 +32243,7 @@
               			afterParserOrEnumRuleCall();
               		
             }
-            otherlv_2=(Token)match(input,104,FOLLOW_2); if (state.failed) return current;
+            otherlv_2=(Token)match(input,103,FOLLOW_2); if (state.failed) return current;
             if ( state.backtracking==0 ) {
 
               			newLeafNode(otherlv_2, grammarAccess.getXParenthesizedExpressionAccess().getRightParenthesisKeyword_2());
@@ -31428,7 +32274,7 @@
 
 
     // $ANTLR start "entryRuleXIfExpression"
-    // InternalReportDSL.g:11548:1: entryRuleXIfExpression returns [EObject current=null] : iv_ruleXIfExpression= ruleXIfExpression EOF ;
+    // InternalReportDSL.g:11857:1: entryRuleXIfExpression returns [EObject current=null] : iv_ruleXIfExpression= ruleXIfExpression EOF ;
     public final EObject entryRuleXIfExpression() throws RecognitionException {
         EObject current = null;
 
@@ -31436,8 +32282,8 @@
 
 
         try {
-            // InternalReportDSL.g:11548:54: (iv_ruleXIfExpression= ruleXIfExpression EOF )
-            // InternalReportDSL.g:11549:2: iv_ruleXIfExpression= ruleXIfExpression EOF
+            // InternalReportDSL.g:11857:54: (iv_ruleXIfExpression= ruleXIfExpression EOF )
+            // InternalReportDSL.g:11858:2: iv_ruleXIfExpression= ruleXIfExpression EOF
             {
             if ( state.backtracking==0 ) {
                newCompositeNode(grammarAccess.getXIfExpressionRule()); 
@@ -31468,7 +32314,7 @@
 
 
     // $ANTLR start "ruleXIfExpression"
-    // InternalReportDSL.g:11555:1: ruleXIfExpression returns [EObject current=null] : ( () otherlv_1= 'if' otherlv_2= '(' ( (lv_if_3_0= ruleXExpression ) ) otherlv_4= ')' ( (lv_then_5_0= ruleXExpression ) ) ( ( ( 'else' )=>otherlv_6= 'else' ) ( (lv_else_7_0= ruleXExpression ) ) )? ) ;
+    // InternalReportDSL.g:11864:1: ruleXIfExpression returns [EObject current=null] : ( () otherlv_1= 'if' otherlv_2= '(' ( (lv_if_3_0= ruleXExpression ) ) otherlv_4= ')' ( (lv_then_5_0= ruleXExpression ) ) ( ( ( 'else' )=>otherlv_6= 'else' ) ( (lv_else_7_0= ruleXExpression ) ) )? ) ;
     public final EObject ruleXIfExpression() throws RecognitionException {
         EObject current = null;
 
@@ -31487,14 +32333,14 @@
         	enterRule();
 
         try {
-            // InternalReportDSL.g:11561:2: ( ( () otherlv_1= 'if' otherlv_2= '(' ( (lv_if_3_0= ruleXExpression ) ) otherlv_4= ')' ( (lv_then_5_0= ruleXExpression ) ) ( ( ( 'else' )=>otherlv_6= 'else' ) ( (lv_else_7_0= ruleXExpression ) ) )? ) )
-            // InternalReportDSL.g:11562:2: ( () otherlv_1= 'if' otherlv_2= '(' ( (lv_if_3_0= ruleXExpression ) ) otherlv_4= ')' ( (lv_then_5_0= ruleXExpression ) ) ( ( ( 'else' )=>otherlv_6= 'else' ) ( (lv_else_7_0= ruleXExpression ) ) )? )
+            // InternalReportDSL.g:11870:2: ( ( () otherlv_1= 'if' otherlv_2= '(' ( (lv_if_3_0= ruleXExpression ) ) otherlv_4= ')' ( (lv_then_5_0= ruleXExpression ) ) ( ( ( 'else' )=>otherlv_6= 'else' ) ( (lv_else_7_0= ruleXExpression ) ) )? ) )
+            // InternalReportDSL.g:11871:2: ( () otherlv_1= 'if' otherlv_2= '(' ( (lv_if_3_0= ruleXExpression ) ) otherlv_4= ')' ( (lv_then_5_0= ruleXExpression ) ) ( ( ( 'else' )=>otherlv_6= 'else' ) ( (lv_else_7_0= ruleXExpression ) ) )? )
             {
-            // InternalReportDSL.g:11562:2: ( () otherlv_1= 'if' otherlv_2= '(' ( (lv_if_3_0= ruleXExpression ) ) otherlv_4= ')' ( (lv_then_5_0= ruleXExpression ) ) ( ( ( 'else' )=>otherlv_6= 'else' ) ( (lv_else_7_0= ruleXExpression ) ) )? )
-            // InternalReportDSL.g:11563:3: () otherlv_1= 'if' otherlv_2= '(' ( (lv_if_3_0= ruleXExpression ) ) otherlv_4= ')' ( (lv_then_5_0= ruleXExpression ) ) ( ( ( 'else' )=>otherlv_6= 'else' ) ( (lv_else_7_0= ruleXExpression ) ) )?
+            // InternalReportDSL.g:11871:2: ( () otherlv_1= 'if' otherlv_2= '(' ( (lv_if_3_0= ruleXExpression ) ) otherlv_4= ')' ( (lv_then_5_0= ruleXExpression ) ) ( ( ( 'else' )=>otherlv_6= 'else' ) ( (lv_else_7_0= ruleXExpression ) ) )? )
+            // InternalReportDSL.g:11872:3: () otherlv_1= 'if' otherlv_2= '(' ( (lv_if_3_0= ruleXExpression ) ) otherlv_4= ')' ( (lv_then_5_0= ruleXExpression ) ) ( ( ( 'else' )=>otherlv_6= 'else' ) ( (lv_else_7_0= ruleXExpression ) ) )?
             {
-            // InternalReportDSL.g:11563:3: ()
-            // InternalReportDSL.g:11564:4: 
+            // InternalReportDSL.g:11872:3: ()
+            // InternalReportDSL.g:11873:4: 
             {
             if ( state.backtracking==0 ) {
 
@@ -31506,30 +32352,30 @@
 
             }
 
-            otherlv_1=(Token)match(input,171,FOLLOW_106); if (state.failed) return current;
+            otherlv_1=(Token)match(input,170,FOLLOW_98); if (state.failed) return current;
             if ( state.backtracking==0 ) {
 
               			newLeafNode(otherlv_1, grammarAccess.getXIfExpressionAccess().getIfKeyword_1());
               		
             }
-            otherlv_2=(Token)match(input,103,FOLLOW_130); if (state.failed) return current;
+            otherlv_2=(Token)match(input,102,FOLLOW_122); if (state.failed) return current;
             if ( state.backtracking==0 ) {
 
               			newLeafNode(otherlv_2, grammarAccess.getXIfExpressionAccess().getLeftParenthesisKeyword_2());
               		
             }
-            // InternalReportDSL.g:11578:3: ( (lv_if_3_0= ruleXExpression ) )
-            // InternalReportDSL.g:11579:4: (lv_if_3_0= ruleXExpression )
+            // InternalReportDSL.g:11887:3: ( (lv_if_3_0= ruleXExpression ) )
+            // InternalReportDSL.g:11888:4: (lv_if_3_0= ruleXExpression )
             {
-            // InternalReportDSL.g:11579:4: (lv_if_3_0= ruleXExpression )
-            // InternalReportDSL.g:11580:5: lv_if_3_0= ruleXExpression
+            // InternalReportDSL.g:11888:4: (lv_if_3_0= ruleXExpression )
+            // InternalReportDSL.g:11889:5: lv_if_3_0= ruleXExpression
             {
             if ( state.backtracking==0 ) {
 
               					newCompositeNode(grammarAccess.getXIfExpressionAccess().getIfXExpressionParserRuleCall_3_0());
               				
             }
-            pushFollow(FOLLOW_115);
+            pushFollow(FOLLOW_107);
             lv_if_3_0=ruleXExpression();
 
             state._fsp--;
@@ -31553,24 +32399,24 @@
 
             }
 
-            otherlv_4=(Token)match(input,104,FOLLOW_130); if (state.failed) return current;
+            otherlv_4=(Token)match(input,103,FOLLOW_122); if (state.failed) return current;
             if ( state.backtracking==0 ) {
 
               			newLeafNode(otherlv_4, grammarAccess.getXIfExpressionAccess().getRightParenthesisKeyword_4());
               		
             }
-            // InternalReportDSL.g:11601:3: ( (lv_then_5_0= ruleXExpression ) )
-            // InternalReportDSL.g:11602:4: (lv_then_5_0= ruleXExpression )
+            // InternalReportDSL.g:11910:3: ( (lv_then_5_0= ruleXExpression ) )
+            // InternalReportDSL.g:11911:4: (lv_then_5_0= ruleXExpression )
             {
-            // InternalReportDSL.g:11602:4: (lv_then_5_0= ruleXExpression )
-            // InternalReportDSL.g:11603:5: lv_then_5_0= ruleXExpression
+            // InternalReportDSL.g:11911:4: (lv_then_5_0= ruleXExpression )
+            // InternalReportDSL.g:11912:5: lv_then_5_0= ruleXExpression
             {
             if ( state.backtracking==0 ) {
 
               					newCompositeNode(grammarAccess.getXIfExpressionAccess().getThenXExpressionParserRuleCall_5_0());
               				
             }
-            pushFollow(FOLLOW_168);
+            pushFollow(FOLLOW_160);
             lv_then_5_0=ruleXExpression();
 
             state._fsp--;
@@ -31594,25 +32440,25 @@
 
             }
 
-            // InternalReportDSL.g:11620:3: ( ( ( 'else' )=>otherlv_6= 'else' ) ( (lv_else_7_0= ruleXExpression ) ) )?
-            int alt172=2;
-            int LA172_0 = input.LA(1);
+            // InternalReportDSL.g:11929:3: ( ( ( 'else' )=>otherlv_6= 'else' ) ( (lv_else_7_0= ruleXExpression ) ) )?
+            int alt160=2;
+            int LA160_0 = input.LA(1);
 
-            if ( (LA172_0==172) ) {
-                int LA172_1 = input.LA(2);
+            if ( (LA160_0==171) ) {
+                int LA160_1 = input.LA(2);
 
                 if ( (synpred31_InternalReportDSL()) ) {
-                    alt172=1;
+                    alt160=1;
                 }
             }
-            switch (alt172) {
+            switch (alt160) {
                 case 1 :
-                    // InternalReportDSL.g:11621:4: ( ( 'else' )=>otherlv_6= 'else' ) ( (lv_else_7_0= ruleXExpression ) )
+                    // InternalReportDSL.g:11930:4: ( ( 'else' )=>otherlv_6= 'else' ) ( (lv_else_7_0= ruleXExpression ) )
                     {
-                    // InternalReportDSL.g:11621:4: ( ( 'else' )=>otherlv_6= 'else' )
-                    // InternalReportDSL.g:11622:5: ( 'else' )=>otherlv_6= 'else'
+                    // InternalReportDSL.g:11930:4: ( ( 'else' )=>otherlv_6= 'else' )
+                    // InternalReportDSL.g:11931:5: ( 'else' )=>otherlv_6= 'else'
                     {
-                    otherlv_6=(Token)match(input,172,FOLLOW_130); if (state.failed) return current;
+                    otherlv_6=(Token)match(input,171,FOLLOW_122); if (state.failed) return current;
                     if ( state.backtracking==0 ) {
 
                       					newLeafNode(otherlv_6, grammarAccess.getXIfExpressionAccess().getElseKeyword_6_0());
@@ -31621,11 +32467,11 @@
 
                     }
 
-                    // InternalReportDSL.g:11628:4: ( (lv_else_7_0= ruleXExpression ) )
-                    // InternalReportDSL.g:11629:5: (lv_else_7_0= ruleXExpression )
+                    // InternalReportDSL.g:11937:4: ( (lv_else_7_0= ruleXExpression ) )
+                    // InternalReportDSL.g:11938:5: (lv_else_7_0= ruleXExpression )
                     {
-                    // InternalReportDSL.g:11629:5: (lv_else_7_0= ruleXExpression )
-                    // InternalReportDSL.g:11630:6: lv_else_7_0= ruleXExpression
+                    // InternalReportDSL.g:11938:5: (lv_else_7_0= ruleXExpression )
+                    // InternalReportDSL.g:11939:6: lv_else_7_0= ruleXExpression
                     {
                     if ( state.backtracking==0 ) {
 
@@ -31687,7 +32533,7 @@
 
 
     // $ANTLR start "entryRuleXSwitchExpression"
-    // InternalReportDSL.g:11652:1: entryRuleXSwitchExpression returns [EObject current=null] : iv_ruleXSwitchExpression= ruleXSwitchExpression EOF ;
+    // InternalReportDSL.g:11961:1: entryRuleXSwitchExpression returns [EObject current=null] : iv_ruleXSwitchExpression= ruleXSwitchExpression EOF ;
     public final EObject entryRuleXSwitchExpression() throws RecognitionException {
         EObject current = null;
 
@@ -31695,8 +32541,8 @@
 
 
         try {
-            // InternalReportDSL.g:11652:58: (iv_ruleXSwitchExpression= ruleXSwitchExpression EOF )
-            // InternalReportDSL.g:11653:2: iv_ruleXSwitchExpression= ruleXSwitchExpression EOF
+            // InternalReportDSL.g:11961:58: (iv_ruleXSwitchExpression= ruleXSwitchExpression EOF )
+            // InternalReportDSL.g:11962:2: iv_ruleXSwitchExpression= ruleXSwitchExpression EOF
             {
             if ( state.backtracking==0 ) {
                newCompositeNode(grammarAccess.getXSwitchExpressionRule()); 
@@ -31727,7 +32573,7 @@
 
 
     // $ANTLR start "ruleXSwitchExpression"
-    // InternalReportDSL.g:11659:1: ruleXSwitchExpression returns [EObject current=null] : ( () otherlv_1= 'switch' ( ( ( ( ( '(' ( ( ruleJvmFormalParameter ) ) ':' ) )=> (otherlv_2= '(' ( (lv_declaredParam_3_0= ruleJvmFormalParameter ) ) otherlv_4= ':' ) ) ( (lv_switch_5_0= ruleXExpression ) ) otherlv_6= ')' ) | ( ( ( ( ( ( ruleJvmFormalParameter ) ) ':' ) )=> ( ( (lv_declaredParam_7_0= ruleJvmFormalParameter ) ) otherlv_8= ':' ) )? ( (lv_switch_9_0= ruleXExpression ) ) ) ) otherlv_10= '{' ( (lv_cases_11_0= ruleXCasePart ) )* (otherlv_12= 'default' otherlv_13= ':' ( (lv_default_14_0= ruleXExpression ) ) )? otherlv_15= '}' ) ;
+    // InternalReportDSL.g:11968:1: ruleXSwitchExpression returns [EObject current=null] : ( () otherlv_1= 'switch' ( ( ( ( ( '(' ( ( ruleJvmFormalParameter ) ) ':' ) )=> (otherlv_2= '(' ( (lv_declaredParam_3_0= ruleJvmFormalParameter ) ) otherlv_4= ':' ) ) ( (lv_switch_5_0= ruleXExpression ) ) otherlv_6= ')' ) | ( ( ( ( ( ( ruleJvmFormalParameter ) ) ':' ) )=> ( ( (lv_declaredParam_7_0= ruleJvmFormalParameter ) ) otherlv_8= ':' ) )? ( (lv_switch_9_0= ruleXExpression ) ) ) ) otherlv_10= '{' ( (lv_cases_11_0= ruleXCasePart ) )* (otherlv_12= 'default' otherlv_13= ':' ( (lv_default_14_0= ruleXExpression ) ) )? otherlv_15= '}' ) ;
     public final EObject ruleXSwitchExpression() throws RecognitionException {
         EObject current = null;
 
@@ -31757,14 +32603,14 @@
         	enterRule();
 
         try {
-            // InternalReportDSL.g:11665:2: ( ( () otherlv_1= 'switch' ( ( ( ( ( '(' ( ( ruleJvmFormalParameter ) ) ':' ) )=> (otherlv_2= '(' ( (lv_declaredParam_3_0= ruleJvmFormalParameter ) ) otherlv_4= ':' ) ) ( (lv_switch_5_0= ruleXExpression ) ) otherlv_6= ')' ) | ( ( ( ( ( ( ruleJvmFormalParameter ) ) ':' ) )=> ( ( (lv_declaredParam_7_0= ruleJvmFormalParameter ) ) otherlv_8= ':' ) )? ( (lv_switch_9_0= ruleXExpression ) ) ) ) otherlv_10= '{' ( (lv_cases_11_0= ruleXCasePart ) )* (otherlv_12= 'default' otherlv_13= ':' ( (lv_default_14_0= ruleXExpression ) ) )? otherlv_15= '}' ) )
-            // InternalReportDSL.g:11666:2: ( () otherlv_1= 'switch' ( ( ( ( ( '(' ( ( ruleJvmFormalParameter ) ) ':' ) )=> (otherlv_2= '(' ( (lv_declaredParam_3_0= ruleJvmFormalParameter ) ) otherlv_4= ':' ) ) ( (lv_switch_5_0= ruleXExpression ) ) otherlv_6= ')' ) | ( ( ( ( ( ( ruleJvmFormalParameter ) ) ':' ) )=> ( ( (lv_declaredParam_7_0= ruleJvmFormalParameter ) ) otherlv_8= ':' ) )? ( (lv_switch_9_0= ruleXExpression ) ) ) ) otherlv_10= '{' ( (lv_cases_11_0= ruleXCasePart ) )* (otherlv_12= 'default' otherlv_13= ':' ( (lv_default_14_0= ruleXExpression ) ) )? otherlv_15= '}' )
+            // InternalReportDSL.g:11974:2: ( ( () otherlv_1= 'switch' ( ( ( ( ( '(' ( ( ruleJvmFormalParameter ) ) ':' ) )=> (otherlv_2= '(' ( (lv_declaredParam_3_0= ruleJvmFormalParameter ) ) otherlv_4= ':' ) ) ( (lv_switch_5_0= ruleXExpression ) ) otherlv_6= ')' ) | ( ( ( ( ( ( ruleJvmFormalParameter ) ) ':' ) )=> ( ( (lv_declaredParam_7_0= ruleJvmFormalParameter ) ) otherlv_8= ':' ) )? ( (lv_switch_9_0= ruleXExpression ) ) ) ) otherlv_10= '{' ( (lv_cases_11_0= ruleXCasePart ) )* (otherlv_12= 'default' otherlv_13= ':' ( (lv_default_14_0= ruleXExpression ) ) )? otherlv_15= '}' ) )
+            // InternalReportDSL.g:11975:2: ( () otherlv_1= 'switch' ( ( ( ( ( '(' ( ( ruleJvmFormalParameter ) ) ':' ) )=> (otherlv_2= '(' ( (lv_declaredParam_3_0= ruleJvmFormalParameter ) ) otherlv_4= ':' ) ) ( (lv_switch_5_0= ruleXExpression ) ) otherlv_6= ')' ) | ( ( ( ( ( ( ruleJvmFormalParameter ) ) ':' ) )=> ( ( (lv_declaredParam_7_0= ruleJvmFormalParameter ) ) otherlv_8= ':' ) )? ( (lv_switch_9_0= ruleXExpression ) ) ) ) otherlv_10= '{' ( (lv_cases_11_0= ruleXCasePart ) )* (otherlv_12= 'default' otherlv_13= ':' ( (lv_default_14_0= ruleXExpression ) ) )? otherlv_15= '}' )
             {
-            // InternalReportDSL.g:11666:2: ( () otherlv_1= 'switch' ( ( ( ( ( '(' ( ( ruleJvmFormalParameter ) ) ':' ) )=> (otherlv_2= '(' ( (lv_declaredParam_3_0= ruleJvmFormalParameter ) ) otherlv_4= ':' ) ) ( (lv_switch_5_0= ruleXExpression ) ) otherlv_6= ')' ) | ( ( ( ( ( ( ruleJvmFormalParameter ) ) ':' ) )=> ( ( (lv_declaredParam_7_0= ruleJvmFormalParameter ) ) otherlv_8= ':' ) )? ( (lv_switch_9_0= ruleXExpression ) ) ) ) otherlv_10= '{' ( (lv_cases_11_0= ruleXCasePart ) )* (otherlv_12= 'default' otherlv_13= ':' ( (lv_default_14_0= ruleXExpression ) ) )? otherlv_15= '}' )
-            // InternalReportDSL.g:11667:3: () otherlv_1= 'switch' ( ( ( ( ( '(' ( ( ruleJvmFormalParameter ) ) ':' ) )=> (otherlv_2= '(' ( (lv_declaredParam_3_0= ruleJvmFormalParameter ) ) otherlv_4= ':' ) ) ( (lv_switch_5_0= ruleXExpression ) ) otherlv_6= ')' ) | ( ( ( ( ( ( ruleJvmFormalParameter ) ) ':' ) )=> ( ( (lv_declaredParam_7_0= ruleJvmFormalParameter ) ) otherlv_8= ':' ) )? ( (lv_switch_9_0= ruleXExpression ) ) ) ) otherlv_10= '{' ( (lv_cases_11_0= ruleXCasePart ) )* (otherlv_12= 'default' otherlv_13= ':' ( (lv_default_14_0= ruleXExpression ) ) )? otherlv_15= '}'
+            // InternalReportDSL.g:11975:2: ( () otherlv_1= 'switch' ( ( ( ( ( '(' ( ( ruleJvmFormalParameter ) ) ':' ) )=> (otherlv_2= '(' ( (lv_declaredParam_3_0= ruleJvmFormalParameter ) ) otherlv_4= ':' ) ) ( (lv_switch_5_0= ruleXExpression ) ) otherlv_6= ')' ) | ( ( ( ( ( ( ruleJvmFormalParameter ) ) ':' ) )=> ( ( (lv_declaredParam_7_0= ruleJvmFormalParameter ) ) otherlv_8= ':' ) )? ( (lv_switch_9_0= ruleXExpression ) ) ) ) otherlv_10= '{' ( (lv_cases_11_0= ruleXCasePart ) )* (otherlv_12= 'default' otherlv_13= ':' ( (lv_default_14_0= ruleXExpression ) ) )? otherlv_15= '}' )
+            // InternalReportDSL.g:11976:3: () otherlv_1= 'switch' ( ( ( ( ( '(' ( ( ruleJvmFormalParameter ) ) ':' ) )=> (otherlv_2= '(' ( (lv_declaredParam_3_0= ruleJvmFormalParameter ) ) otherlv_4= ':' ) ) ( (lv_switch_5_0= ruleXExpression ) ) otherlv_6= ')' ) | ( ( ( ( ( ( ruleJvmFormalParameter ) ) ':' ) )=> ( ( (lv_declaredParam_7_0= ruleJvmFormalParameter ) ) otherlv_8= ':' ) )? ( (lv_switch_9_0= ruleXExpression ) ) ) ) otherlv_10= '{' ( (lv_cases_11_0= ruleXCasePart ) )* (otherlv_12= 'default' otherlv_13= ':' ( (lv_default_14_0= ruleXExpression ) ) )? otherlv_15= '}'
             {
-            // InternalReportDSL.g:11667:3: ()
-            // InternalReportDSL.g:11668:4: 
+            // InternalReportDSL.g:11976:3: ()
+            // InternalReportDSL.g:11977:4: 
             {
             if ( state.backtracking==0 ) {
 
@@ -31776,46 +32622,46 @@
 
             }
 
-            otherlv_1=(Token)match(input,173,FOLLOW_169); if (state.failed) return current;
+            otherlv_1=(Token)match(input,172,FOLLOW_161); if (state.failed) return current;
             if ( state.backtracking==0 ) {
 
               			newLeafNode(otherlv_1, grammarAccess.getXSwitchExpressionAccess().getSwitchKeyword_1());
               		
             }
-            // InternalReportDSL.g:11678:3: ( ( ( ( ( '(' ( ( ruleJvmFormalParameter ) ) ':' ) )=> (otherlv_2= '(' ( (lv_declaredParam_3_0= ruleJvmFormalParameter ) ) otherlv_4= ':' ) ) ( (lv_switch_5_0= ruleXExpression ) ) otherlv_6= ')' ) | ( ( ( ( ( ( ruleJvmFormalParameter ) ) ':' ) )=> ( ( (lv_declaredParam_7_0= ruleJvmFormalParameter ) ) otherlv_8= ':' ) )? ( (lv_switch_9_0= ruleXExpression ) ) ) )
-            int alt174=2;
-            alt174 = dfa174.predict(input);
-            switch (alt174) {
+            // InternalReportDSL.g:11987:3: ( ( ( ( ( '(' ( ( ruleJvmFormalParameter ) ) ':' ) )=> (otherlv_2= '(' ( (lv_declaredParam_3_0= ruleJvmFormalParameter ) ) otherlv_4= ':' ) ) ( (lv_switch_5_0= ruleXExpression ) ) otherlv_6= ')' ) | ( ( ( ( ( ( ruleJvmFormalParameter ) ) ':' ) )=> ( ( (lv_declaredParam_7_0= ruleJvmFormalParameter ) ) otherlv_8= ':' ) )? ( (lv_switch_9_0= ruleXExpression ) ) ) )
+            int alt162=2;
+            alt162 = dfa162.predict(input);
+            switch (alt162) {
                 case 1 :
-                    // InternalReportDSL.g:11679:4: ( ( ( ( '(' ( ( ruleJvmFormalParameter ) ) ':' ) )=> (otherlv_2= '(' ( (lv_declaredParam_3_0= ruleJvmFormalParameter ) ) otherlv_4= ':' ) ) ( (lv_switch_5_0= ruleXExpression ) ) otherlv_6= ')' )
+                    // InternalReportDSL.g:11988:4: ( ( ( ( '(' ( ( ruleJvmFormalParameter ) ) ':' ) )=> (otherlv_2= '(' ( (lv_declaredParam_3_0= ruleJvmFormalParameter ) ) otherlv_4= ':' ) ) ( (lv_switch_5_0= ruleXExpression ) ) otherlv_6= ')' )
                     {
-                    // InternalReportDSL.g:11679:4: ( ( ( ( '(' ( ( ruleJvmFormalParameter ) ) ':' ) )=> (otherlv_2= '(' ( (lv_declaredParam_3_0= ruleJvmFormalParameter ) ) otherlv_4= ':' ) ) ( (lv_switch_5_0= ruleXExpression ) ) otherlv_6= ')' )
-                    // InternalReportDSL.g:11680:5: ( ( ( '(' ( ( ruleJvmFormalParameter ) ) ':' ) )=> (otherlv_2= '(' ( (lv_declaredParam_3_0= ruleJvmFormalParameter ) ) otherlv_4= ':' ) ) ( (lv_switch_5_0= ruleXExpression ) ) otherlv_6= ')'
+                    // InternalReportDSL.g:11988:4: ( ( ( ( '(' ( ( ruleJvmFormalParameter ) ) ':' ) )=> (otherlv_2= '(' ( (lv_declaredParam_3_0= ruleJvmFormalParameter ) ) otherlv_4= ':' ) ) ( (lv_switch_5_0= ruleXExpression ) ) otherlv_6= ')' )
+                    // InternalReportDSL.g:11989:5: ( ( ( '(' ( ( ruleJvmFormalParameter ) ) ':' ) )=> (otherlv_2= '(' ( (lv_declaredParam_3_0= ruleJvmFormalParameter ) ) otherlv_4= ':' ) ) ( (lv_switch_5_0= ruleXExpression ) ) otherlv_6= ')'
                     {
-                    // InternalReportDSL.g:11680:5: ( ( ( '(' ( ( ruleJvmFormalParameter ) ) ':' ) )=> (otherlv_2= '(' ( (lv_declaredParam_3_0= ruleJvmFormalParameter ) ) otherlv_4= ':' ) )
-                    // InternalReportDSL.g:11681:6: ( ( '(' ( ( ruleJvmFormalParameter ) ) ':' ) )=> (otherlv_2= '(' ( (lv_declaredParam_3_0= ruleJvmFormalParameter ) ) otherlv_4= ':' )
+                    // InternalReportDSL.g:11989:5: ( ( ( '(' ( ( ruleJvmFormalParameter ) ) ':' ) )=> (otherlv_2= '(' ( (lv_declaredParam_3_0= ruleJvmFormalParameter ) ) otherlv_4= ':' ) )
+                    // InternalReportDSL.g:11990:6: ( ( '(' ( ( ruleJvmFormalParameter ) ) ':' ) )=> (otherlv_2= '(' ( (lv_declaredParam_3_0= ruleJvmFormalParameter ) ) otherlv_4= ':' )
                     {
-                    // InternalReportDSL.g:11691:6: (otherlv_2= '(' ( (lv_declaredParam_3_0= ruleJvmFormalParameter ) ) otherlv_4= ':' )
-                    // InternalReportDSL.g:11692:7: otherlv_2= '(' ( (lv_declaredParam_3_0= ruleJvmFormalParameter ) ) otherlv_4= ':'
+                    // InternalReportDSL.g:12000:6: (otherlv_2= '(' ( (lv_declaredParam_3_0= ruleJvmFormalParameter ) ) otherlv_4= ':' )
+                    // InternalReportDSL.g:12001:7: otherlv_2= '(' ( (lv_declaredParam_3_0= ruleJvmFormalParameter ) ) otherlv_4= ':'
                     {
-                    otherlv_2=(Token)match(input,103,FOLLOW_143); if (state.failed) return current;
+                    otherlv_2=(Token)match(input,102,FOLLOW_135); if (state.failed) return current;
                     if ( state.backtracking==0 ) {
 
                       							newLeafNode(otherlv_2, grammarAccess.getXSwitchExpressionAccess().getLeftParenthesisKeyword_2_0_0_0_0());
                       						
                     }
-                    // InternalReportDSL.g:11696:7: ( (lv_declaredParam_3_0= ruleJvmFormalParameter ) )
-                    // InternalReportDSL.g:11697:8: (lv_declaredParam_3_0= ruleJvmFormalParameter )
+                    // InternalReportDSL.g:12005:7: ( (lv_declaredParam_3_0= ruleJvmFormalParameter ) )
+                    // InternalReportDSL.g:12006:8: (lv_declaredParam_3_0= ruleJvmFormalParameter )
                     {
-                    // InternalReportDSL.g:11697:8: (lv_declaredParam_3_0= ruleJvmFormalParameter )
-                    // InternalReportDSL.g:11698:9: lv_declaredParam_3_0= ruleJvmFormalParameter
+                    // InternalReportDSL.g:12006:8: (lv_declaredParam_3_0= ruleJvmFormalParameter )
+                    // InternalReportDSL.g:12007:9: lv_declaredParam_3_0= ruleJvmFormalParameter
                     {
                     if ( state.backtracking==0 ) {
 
                       									newCompositeNode(grammarAccess.getXSwitchExpressionAccess().getDeclaredParamJvmFormalParameterParserRuleCall_2_0_0_0_1_0());
                       								
                     }
-                    pushFollow(FOLLOW_170);
+                    pushFollow(FOLLOW_162);
                     lv_declaredParam_3_0=ruleJvmFormalParameter();
 
                     state._fsp--;
@@ -31839,7 +32685,7 @@
 
                     }
 
-                    otherlv_4=(Token)match(input,174,FOLLOW_130); if (state.failed) return current;
+                    otherlv_4=(Token)match(input,173,FOLLOW_122); if (state.failed) return current;
                     if ( state.backtracking==0 ) {
 
                       							newLeafNode(otherlv_4, grammarAccess.getXSwitchExpressionAccess().getColonKeyword_2_0_0_0_2());
@@ -31851,18 +32697,18 @@
 
                     }
 
-                    // InternalReportDSL.g:11721:5: ( (lv_switch_5_0= ruleXExpression ) )
-                    // InternalReportDSL.g:11722:6: (lv_switch_5_0= ruleXExpression )
+                    // InternalReportDSL.g:12030:5: ( (lv_switch_5_0= ruleXExpression ) )
+                    // InternalReportDSL.g:12031:6: (lv_switch_5_0= ruleXExpression )
                     {
-                    // InternalReportDSL.g:11722:6: (lv_switch_5_0= ruleXExpression )
-                    // InternalReportDSL.g:11723:7: lv_switch_5_0= ruleXExpression
+                    // InternalReportDSL.g:12031:6: (lv_switch_5_0= ruleXExpression )
+                    // InternalReportDSL.g:12032:7: lv_switch_5_0= ruleXExpression
                     {
                     if ( state.backtracking==0 ) {
 
                       							newCompositeNode(grammarAccess.getXSwitchExpressionAccess().getSwitchXExpressionParserRuleCall_2_0_1_0());
                       						
                     }
-                    pushFollow(FOLLOW_115);
+                    pushFollow(FOLLOW_107);
                     lv_switch_5_0=ruleXExpression();
 
                     state._fsp--;
@@ -31886,7 +32732,7 @@
 
                     }
 
-                    otherlv_6=(Token)match(input,104,FOLLOW_5); if (state.failed) return current;
+                    otherlv_6=(Token)match(input,103,FOLLOW_5); if (state.failed) return current;
                     if ( state.backtracking==0 ) {
 
                       					newLeafNode(otherlv_6, grammarAccess.getXSwitchExpressionAccess().getRightParenthesisKeyword_2_0_2());
@@ -31899,33 +32745,33 @@
                     }
                     break;
                 case 2 :
-                    // InternalReportDSL.g:11746:4: ( ( ( ( ( ( ruleJvmFormalParameter ) ) ':' ) )=> ( ( (lv_declaredParam_7_0= ruleJvmFormalParameter ) ) otherlv_8= ':' ) )? ( (lv_switch_9_0= ruleXExpression ) ) )
+                    // InternalReportDSL.g:12055:4: ( ( ( ( ( ( ruleJvmFormalParameter ) ) ':' ) )=> ( ( (lv_declaredParam_7_0= ruleJvmFormalParameter ) ) otherlv_8= ':' ) )? ( (lv_switch_9_0= ruleXExpression ) ) )
                     {
-                    // InternalReportDSL.g:11746:4: ( ( ( ( ( ( ruleJvmFormalParameter ) ) ':' ) )=> ( ( (lv_declaredParam_7_0= ruleJvmFormalParameter ) ) otherlv_8= ':' ) )? ( (lv_switch_9_0= ruleXExpression ) ) )
-                    // InternalReportDSL.g:11747:5: ( ( ( ( ( ruleJvmFormalParameter ) ) ':' ) )=> ( ( (lv_declaredParam_7_0= ruleJvmFormalParameter ) ) otherlv_8= ':' ) )? ( (lv_switch_9_0= ruleXExpression ) )
+                    // InternalReportDSL.g:12055:4: ( ( ( ( ( ( ruleJvmFormalParameter ) ) ':' ) )=> ( ( (lv_declaredParam_7_0= ruleJvmFormalParameter ) ) otherlv_8= ':' ) )? ( (lv_switch_9_0= ruleXExpression ) ) )
+                    // InternalReportDSL.g:12056:5: ( ( ( ( ( ruleJvmFormalParameter ) ) ':' ) )=> ( ( (lv_declaredParam_7_0= ruleJvmFormalParameter ) ) otherlv_8= ':' ) )? ( (lv_switch_9_0= ruleXExpression ) )
                     {
-                    // InternalReportDSL.g:11747:5: ( ( ( ( ( ruleJvmFormalParameter ) ) ':' ) )=> ( ( (lv_declaredParam_7_0= ruleJvmFormalParameter ) ) otherlv_8= ':' ) )?
-                    int alt173=2;
-                    alt173 = dfa173.predict(input);
-                    switch (alt173) {
+                    // InternalReportDSL.g:12056:5: ( ( ( ( ( ruleJvmFormalParameter ) ) ':' ) )=> ( ( (lv_declaredParam_7_0= ruleJvmFormalParameter ) ) otherlv_8= ':' ) )?
+                    int alt161=2;
+                    alt161 = dfa161.predict(input);
+                    switch (alt161) {
                         case 1 :
-                            // InternalReportDSL.g:11748:6: ( ( ( ( ruleJvmFormalParameter ) ) ':' ) )=> ( ( (lv_declaredParam_7_0= ruleJvmFormalParameter ) ) otherlv_8= ':' )
+                            // InternalReportDSL.g:12057:6: ( ( ( ( ruleJvmFormalParameter ) ) ':' ) )=> ( ( (lv_declaredParam_7_0= ruleJvmFormalParameter ) ) otherlv_8= ':' )
                             {
-                            // InternalReportDSL.g:11757:6: ( ( (lv_declaredParam_7_0= ruleJvmFormalParameter ) ) otherlv_8= ':' )
-                            // InternalReportDSL.g:11758:7: ( (lv_declaredParam_7_0= ruleJvmFormalParameter ) ) otherlv_8= ':'
+                            // InternalReportDSL.g:12066:6: ( ( (lv_declaredParam_7_0= ruleJvmFormalParameter ) ) otherlv_8= ':' )
+                            // InternalReportDSL.g:12067:7: ( (lv_declaredParam_7_0= ruleJvmFormalParameter ) ) otherlv_8= ':'
                             {
-                            // InternalReportDSL.g:11758:7: ( (lv_declaredParam_7_0= ruleJvmFormalParameter ) )
-                            // InternalReportDSL.g:11759:8: (lv_declaredParam_7_0= ruleJvmFormalParameter )
+                            // InternalReportDSL.g:12067:7: ( (lv_declaredParam_7_0= ruleJvmFormalParameter ) )
+                            // InternalReportDSL.g:12068:8: (lv_declaredParam_7_0= ruleJvmFormalParameter )
                             {
-                            // InternalReportDSL.g:11759:8: (lv_declaredParam_7_0= ruleJvmFormalParameter )
-                            // InternalReportDSL.g:11760:9: lv_declaredParam_7_0= ruleJvmFormalParameter
+                            // InternalReportDSL.g:12068:8: (lv_declaredParam_7_0= ruleJvmFormalParameter )
+                            // InternalReportDSL.g:12069:9: lv_declaredParam_7_0= ruleJvmFormalParameter
                             {
                             if ( state.backtracking==0 ) {
 
                               									newCompositeNode(grammarAccess.getXSwitchExpressionAccess().getDeclaredParamJvmFormalParameterParserRuleCall_2_1_0_0_0_0());
                               								
                             }
-                            pushFollow(FOLLOW_170);
+                            pushFollow(FOLLOW_162);
                             lv_declaredParam_7_0=ruleJvmFormalParameter();
 
                             state._fsp--;
@@ -31949,7 +32795,7 @@
 
                             }
 
-                            otherlv_8=(Token)match(input,174,FOLLOW_130); if (state.failed) return current;
+                            otherlv_8=(Token)match(input,173,FOLLOW_122); if (state.failed) return current;
                             if ( state.backtracking==0 ) {
 
                               							newLeafNode(otherlv_8, grammarAccess.getXSwitchExpressionAccess().getColonKeyword_2_1_0_0_1());
@@ -31964,11 +32810,11 @@
 
                     }
 
-                    // InternalReportDSL.g:11783:5: ( (lv_switch_9_0= ruleXExpression ) )
-                    // InternalReportDSL.g:11784:6: (lv_switch_9_0= ruleXExpression )
+                    // InternalReportDSL.g:12092:5: ( (lv_switch_9_0= ruleXExpression ) )
+                    // InternalReportDSL.g:12093:6: (lv_switch_9_0= ruleXExpression )
                     {
-                    // InternalReportDSL.g:11784:6: (lv_switch_9_0= ruleXExpression )
-                    // InternalReportDSL.g:11785:7: lv_switch_9_0= ruleXExpression
+                    // InternalReportDSL.g:12093:6: (lv_switch_9_0= ruleXExpression )
+                    // InternalReportDSL.g:12094:7: lv_switch_9_0= ruleXExpression
                     {
                     if ( state.backtracking==0 ) {
 
@@ -32008,36 +32854,36 @@
 
             }
 
-            otherlv_10=(Token)match(input,14,FOLLOW_171); if (state.failed) return current;
+            otherlv_10=(Token)match(input,14,FOLLOW_163); if (state.failed) return current;
             if ( state.backtracking==0 ) {
 
               			newLeafNode(otherlv_10, grammarAccess.getXSwitchExpressionAccess().getLeftCurlyBracketKeyword_3());
               		
             }
-            // InternalReportDSL.g:11808:3: ( (lv_cases_11_0= ruleXCasePart ) )*
-            loop175:
+            // InternalReportDSL.g:12117:3: ( (lv_cases_11_0= ruleXCasePart ) )*
+            loop163:
             do {
-                int alt175=2;
-                int LA175_0 = input.LA(1);
+                int alt163=2;
+                int LA163_0 = input.LA(1);
 
-                if ( (LA175_0==RULE_ID||LA175_0==103||LA175_0==134||LA175_0==157||LA175_0==174||LA175_0==176) ) {
-                    alt175=1;
+                if ( (LA163_0==RULE_ID||LA163_0==102||LA163_0==133||LA163_0==156||LA163_0==173||LA163_0==175) ) {
+                    alt163=1;
                 }
 
 
-                switch (alt175) {
+                switch (alt163) {
             	case 1 :
-            	    // InternalReportDSL.g:11809:4: (lv_cases_11_0= ruleXCasePart )
+            	    // InternalReportDSL.g:12118:4: (lv_cases_11_0= ruleXCasePart )
             	    {
-            	    // InternalReportDSL.g:11809:4: (lv_cases_11_0= ruleXCasePart )
-            	    // InternalReportDSL.g:11810:5: lv_cases_11_0= ruleXCasePart
+            	    // InternalReportDSL.g:12118:4: (lv_cases_11_0= ruleXCasePart )
+            	    // InternalReportDSL.g:12119:5: lv_cases_11_0= ruleXCasePart
             	    {
             	    if ( state.backtracking==0 ) {
 
             	      					newCompositeNode(grammarAccess.getXSwitchExpressionAccess().getCasesXCasePartParserRuleCall_4_0());
             	      				
             	    }
-            	    pushFollow(FOLLOW_171);
+            	    pushFollow(FOLLOW_163);
             	    lv_cases_11_0=ruleXCasePart();
 
             	    state._fsp--;
@@ -32063,38 +32909,38 @@
             	    break;
 
             	default :
-            	    break loop175;
+            	    break loop163;
                 }
             } while (true);
 
-            // InternalReportDSL.g:11827:3: (otherlv_12= 'default' otherlv_13= ':' ( (lv_default_14_0= ruleXExpression ) ) )?
-            int alt176=2;
-            int LA176_0 = input.LA(1);
+            // InternalReportDSL.g:12136:3: (otherlv_12= 'default' otherlv_13= ':' ( (lv_default_14_0= ruleXExpression ) ) )?
+            int alt164=2;
+            int LA164_0 = input.LA(1);
 
-            if ( (LA176_0==175) ) {
-                alt176=1;
+            if ( (LA164_0==174) ) {
+                alt164=1;
             }
-            switch (alt176) {
+            switch (alt164) {
                 case 1 :
-                    // InternalReportDSL.g:11828:4: otherlv_12= 'default' otherlv_13= ':' ( (lv_default_14_0= ruleXExpression ) )
+                    // InternalReportDSL.g:12137:4: otherlv_12= 'default' otherlv_13= ':' ( (lv_default_14_0= ruleXExpression ) )
                     {
-                    otherlv_12=(Token)match(input,175,FOLLOW_170); if (state.failed) return current;
+                    otherlv_12=(Token)match(input,174,FOLLOW_162); if (state.failed) return current;
                     if ( state.backtracking==0 ) {
 
                       				newLeafNode(otherlv_12, grammarAccess.getXSwitchExpressionAccess().getDefaultKeyword_5_0());
                       			
                     }
-                    otherlv_13=(Token)match(input,174,FOLLOW_130); if (state.failed) return current;
+                    otherlv_13=(Token)match(input,173,FOLLOW_122); if (state.failed) return current;
                     if ( state.backtracking==0 ) {
 
                       				newLeafNode(otherlv_13, grammarAccess.getXSwitchExpressionAccess().getColonKeyword_5_1());
                       			
                     }
-                    // InternalReportDSL.g:11836:4: ( (lv_default_14_0= ruleXExpression ) )
-                    // InternalReportDSL.g:11837:5: (lv_default_14_0= ruleXExpression )
+                    // InternalReportDSL.g:12145:4: ( (lv_default_14_0= ruleXExpression ) )
+                    // InternalReportDSL.g:12146:5: (lv_default_14_0= ruleXExpression )
                     {
-                    // InternalReportDSL.g:11837:5: (lv_default_14_0= ruleXExpression )
-                    // InternalReportDSL.g:11838:6: lv_default_14_0= ruleXExpression
+                    // InternalReportDSL.g:12146:5: (lv_default_14_0= ruleXExpression )
+                    // InternalReportDSL.g:12147:6: lv_default_14_0= ruleXExpression
                     {
                     if ( state.backtracking==0 ) {
 
@@ -32162,7 +33008,7 @@
 
 
     // $ANTLR start "entryRuleXCasePart"
-    // InternalReportDSL.g:11864:1: entryRuleXCasePart returns [EObject current=null] : iv_ruleXCasePart= ruleXCasePart EOF ;
+    // InternalReportDSL.g:12173:1: entryRuleXCasePart returns [EObject current=null] : iv_ruleXCasePart= ruleXCasePart EOF ;
     public final EObject entryRuleXCasePart() throws RecognitionException {
         EObject current = null;
 
@@ -32170,8 +33016,8 @@
 
 
         try {
-            // InternalReportDSL.g:11864:50: (iv_ruleXCasePart= ruleXCasePart EOF )
-            // InternalReportDSL.g:11865:2: iv_ruleXCasePart= ruleXCasePart EOF
+            // InternalReportDSL.g:12173:50: (iv_ruleXCasePart= ruleXCasePart EOF )
+            // InternalReportDSL.g:12174:2: iv_ruleXCasePart= ruleXCasePart EOF
             {
             if ( state.backtracking==0 ) {
                newCompositeNode(grammarAccess.getXCasePartRule()); 
@@ -32202,7 +33048,7 @@
 
 
     // $ANTLR start "ruleXCasePart"
-    // InternalReportDSL.g:11871:1: ruleXCasePart returns [EObject current=null] : ( () ( (lv_typeGuard_1_0= ruleJvmTypeReference ) )? (otherlv_2= 'case' ( (lv_case_3_0= ruleXExpression ) ) )? ( (otherlv_4= ':' ( (lv_then_5_0= ruleXExpression ) ) ) | ( (lv_fallThrough_6_0= ',' ) ) ) ) ;
+    // InternalReportDSL.g:12180:1: ruleXCasePart returns [EObject current=null] : ( () ( (lv_typeGuard_1_0= ruleJvmTypeReference ) )? (otherlv_2= 'case' ( (lv_case_3_0= ruleXExpression ) ) )? ( (otherlv_4= ':' ( (lv_then_5_0= ruleXExpression ) ) ) | ( (lv_fallThrough_6_0= ',' ) ) ) ) ;
     public final EObject ruleXCasePart() throws RecognitionException {
         EObject current = null;
 
@@ -32220,14 +33066,14 @@
         	enterRule();
 
         try {
-            // InternalReportDSL.g:11877:2: ( ( () ( (lv_typeGuard_1_0= ruleJvmTypeReference ) )? (otherlv_2= 'case' ( (lv_case_3_0= ruleXExpression ) ) )? ( (otherlv_4= ':' ( (lv_then_5_0= ruleXExpression ) ) ) | ( (lv_fallThrough_6_0= ',' ) ) ) ) )
-            // InternalReportDSL.g:11878:2: ( () ( (lv_typeGuard_1_0= ruleJvmTypeReference ) )? (otherlv_2= 'case' ( (lv_case_3_0= ruleXExpression ) ) )? ( (otherlv_4= ':' ( (lv_then_5_0= ruleXExpression ) ) ) | ( (lv_fallThrough_6_0= ',' ) ) ) )
+            // InternalReportDSL.g:12186:2: ( ( () ( (lv_typeGuard_1_0= ruleJvmTypeReference ) )? (otherlv_2= 'case' ( (lv_case_3_0= ruleXExpression ) ) )? ( (otherlv_4= ':' ( (lv_then_5_0= ruleXExpression ) ) ) | ( (lv_fallThrough_6_0= ',' ) ) ) ) )
+            // InternalReportDSL.g:12187:2: ( () ( (lv_typeGuard_1_0= ruleJvmTypeReference ) )? (otherlv_2= 'case' ( (lv_case_3_0= ruleXExpression ) ) )? ( (otherlv_4= ':' ( (lv_then_5_0= ruleXExpression ) ) ) | ( (lv_fallThrough_6_0= ',' ) ) ) )
             {
-            // InternalReportDSL.g:11878:2: ( () ( (lv_typeGuard_1_0= ruleJvmTypeReference ) )? (otherlv_2= 'case' ( (lv_case_3_0= ruleXExpression ) ) )? ( (otherlv_4= ':' ( (lv_then_5_0= ruleXExpression ) ) ) | ( (lv_fallThrough_6_0= ',' ) ) ) )
-            // InternalReportDSL.g:11879:3: () ( (lv_typeGuard_1_0= ruleJvmTypeReference ) )? (otherlv_2= 'case' ( (lv_case_3_0= ruleXExpression ) ) )? ( (otherlv_4= ':' ( (lv_then_5_0= ruleXExpression ) ) ) | ( (lv_fallThrough_6_0= ',' ) ) )
+            // InternalReportDSL.g:12187:2: ( () ( (lv_typeGuard_1_0= ruleJvmTypeReference ) )? (otherlv_2= 'case' ( (lv_case_3_0= ruleXExpression ) ) )? ( (otherlv_4= ':' ( (lv_then_5_0= ruleXExpression ) ) ) | ( (lv_fallThrough_6_0= ',' ) ) ) )
+            // InternalReportDSL.g:12188:3: () ( (lv_typeGuard_1_0= ruleJvmTypeReference ) )? (otherlv_2= 'case' ( (lv_case_3_0= ruleXExpression ) ) )? ( (otherlv_4= ':' ( (lv_then_5_0= ruleXExpression ) ) ) | ( (lv_fallThrough_6_0= ',' ) ) )
             {
-            // InternalReportDSL.g:11879:3: ()
-            // InternalReportDSL.g:11880:4: 
+            // InternalReportDSL.g:12188:3: ()
+            // InternalReportDSL.g:12189:4: 
             {
             if ( state.backtracking==0 ) {
 
@@ -32239,26 +33085,26 @@
 
             }
 
-            // InternalReportDSL.g:11886:3: ( (lv_typeGuard_1_0= ruleJvmTypeReference ) )?
-            int alt177=2;
-            int LA177_0 = input.LA(1);
+            // InternalReportDSL.g:12195:3: ( (lv_typeGuard_1_0= ruleJvmTypeReference ) )?
+            int alt165=2;
+            int LA165_0 = input.LA(1);
 
-            if ( (LA177_0==RULE_ID||LA177_0==103||LA177_0==157) ) {
-                alt177=1;
+            if ( (LA165_0==RULE_ID||LA165_0==102||LA165_0==156) ) {
+                alt165=1;
             }
-            switch (alt177) {
+            switch (alt165) {
                 case 1 :
-                    // InternalReportDSL.g:11887:4: (lv_typeGuard_1_0= ruleJvmTypeReference )
+                    // InternalReportDSL.g:12196:4: (lv_typeGuard_1_0= ruleJvmTypeReference )
                     {
-                    // InternalReportDSL.g:11887:4: (lv_typeGuard_1_0= ruleJvmTypeReference )
-                    // InternalReportDSL.g:11888:5: lv_typeGuard_1_0= ruleJvmTypeReference
+                    // InternalReportDSL.g:12196:4: (lv_typeGuard_1_0= ruleJvmTypeReference )
+                    // InternalReportDSL.g:12197:5: lv_typeGuard_1_0= ruleJvmTypeReference
                     {
                     if ( state.backtracking==0 ) {
 
                       					newCompositeNode(grammarAccess.getXCasePartAccess().getTypeGuardJvmTypeReferenceParserRuleCall_1_0());
                       				
                     }
-                    pushFollow(FOLLOW_172);
+                    pushFollow(FOLLOW_164);
                     lv_typeGuard_1_0=ruleJvmTypeReference();
 
                     state._fsp--;
@@ -32285,35 +33131,35 @@
 
             }
 
-            // InternalReportDSL.g:11905:3: (otherlv_2= 'case' ( (lv_case_3_0= ruleXExpression ) ) )?
-            int alt178=2;
-            int LA178_0 = input.LA(1);
+            // InternalReportDSL.g:12214:3: (otherlv_2= 'case' ( (lv_case_3_0= ruleXExpression ) ) )?
+            int alt166=2;
+            int LA166_0 = input.LA(1);
 
-            if ( (LA178_0==176) ) {
-                alt178=1;
+            if ( (LA166_0==175) ) {
+                alt166=1;
             }
-            switch (alt178) {
+            switch (alt166) {
                 case 1 :
-                    // InternalReportDSL.g:11906:4: otherlv_2= 'case' ( (lv_case_3_0= ruleXExpression ) )
+                    // InternalReportDSL.g:12215:4: otherlv_2= 'case' ( (lv_case_3_0= ruleXExpression ) )
                     {
-                    otherlv_2=(Token)match(input,176,FOLLOW_130); if (state.failed) return current;
+                    otherlv_2=(Token)match(input,175,FOLLOW_122); if (state.failed) return current;
                     if ( state.backtracking==0 ) {
 
                       				newLeafNode(otherlv_2, grammarAccess.getXCasePartAccess().getCaseKeyword_2_0());
                       			
                     }
-                    // InternalReportDSL.g:11910:4: ( (lv_case_3_0= ruleXExpression ) )
-                    // InternalReportDSL.g:11911:5: (lv_case_3_0= ruleXExpression )
+                    // InternalReportDSL.g:12219:4: ( (lv_case_3_0= ruleXExpression ) )
+                    // InternalReportDSL.g:12220:5: (lv_case_3_0= ruleXExpression )
                     {
-                    // InternalReportDSL.g:11911:5: (lv_case_3_0= ruleXExpression )
-                    // InternalReportDSL.g:11912:6: lv_case_3_0= ruleXExpression
+                    // InternalReportDSL.g:12220:5: (lv_case_3_0= ruleXExpression )
+                    // InternalReportDSL.g:12221:6: lv_case_3_0= ruleXExpression
                     {
                     if ( state.backtracking==0 ) {
 
                       						newCompositeNode(grammarAccess.getXCasePartAccess().getCaseXExpressionParserRuleCall_2_1_0());
                       					
                     }
-                    pushFollow(FOLLOW_173);
+                    pushFollow(FOLLOW_165);
                     lv_case_3_0=ruleXExpression();
 
                     state._fsp--;
@@ -32343,41 +33189,41 @@
 
             }
 
-            // InternalReportDSL.g:11930:3: ( (otherlv_4= ':' ( (lv_then_5_0= ruleXExpression ) ) ) | ( (lv_fallThrough_6_0= ',' ) ) )
-            int alt179=2;
-            int LA179_0 = input.LA(1);
+            // InternalReportDSL.g:12239:3: ( (otherlv_4= ':' ( (lv_then_5_0= ruleXExpression ) ) ) | ( (lv_fallThrough_6_0= ',' ) ) )
+            int alt167=2;
+            int LA167_0 = input.LA(1);
 
-            if ( (LA179_0==174) ) {
-                alt179=1;
+            if ( (LA167_0==173) ) {
+                alt167=1;
             }
-            else if ( (LA179_0==134) ) {
-                alt179=2;
+            else if ( (LA167_0==133) ) {
+                alt167=2;
             }
             else {
                 if (state.backtracking>0) {state.failed=true; return current;}
                 NoViableAltException nvae =
-                    new NoViableAltException("", 179, 0, input);
+                    new NoViableAltException("", 167, 0, input);
 
                 throw nvae;
             }
-            switch (alt179) {
+            switch (alt167) {
                 case 1 :
-                    // InternalReportDSL.g:11931:4: (otherlv_4= ':' ( (lv_then_5_0= ruleXExpression ) ) )
+                    // InternalReportDSL.g:12240:4: (otherlv_4= ':' ( (lv_then_5_0= ruleXExpression ) ) )
                     {
-                    // InternalReportDSL.g:11931:4: (otherlv_4= ':' ( (lv_then_5_0= ruleXExpression ) ) )
-                    // InternalReportDSL.g:11932:5: otherlv_4= ':' ( (lv_then_5_0= ruleXExpression ) )
+                    // InternalReportDSL.g:12240:4: (otherlv_4= ':' ( (lv_then_5_0= ruleXExpression ) ) )
+                    // InternalReportDSL.g:12241:5: otherlv_4= ':' ( (lv_then_5_0= ruleXExpression ) )
                     {
-                    otherlv_4=(Token)match(input,174,FOLLOW_130); if (state.failed) return current;
+                    otherlv_4=(Token)match(input,173,FOLLOW_122); if (state.failed) return current;
                     if ( state.backtracking==0 ) {
 
                       					newLeafNode(otherlv_4, grammarAccess.getXCasePartAccess().getColonKeyword_3_0_0());
                       				
                     }
-                    // InternalReportDSL.g:11936:5: ( (lv_then_5_0= ruleXExpression ) )
-                    // InternalReportDSL.g:11937:6: (lv_then_5_0= ruleXExpression )
+                    // InternalReportDSL.g:12245:5: ( (lv_then_5_0= ruleXExpression ) )
+                    // InternalReportDSL.g:12246:6: (lv_then_5_0= ruleXExpression )
                     {
-                    // InternalReportDSL.g:11937:6: (lv_then_5_0= ruleXExpression )
-                    // InternalReportDSL.g:11938:7: lv_then_5_0= ruleXExpression
+                    // InternalReportDSL.g:12246:6: (lv_then_5_0= ruleXExpression )
+                    // InternalReportDSL.g:12247:7: lv_then_5_0= ruleXExpression
                     {
                     if ( state.backtracking==0 ) {
 
@@ -32415,15 +33261,15 @@
                     }
                     break;
                 case 2 :
-                    // InternalReportDSL.g:11957:4: ( (lv_fallThrough_6_0= ',' ) )
+                    // InternalReportDSL.g:12266:4: ( (lv_fallThrough_6_0= ',' ) )
                     {
-                    // InternalReportDSL.g:11957:4: ( (lv_fallThrough_6_0= ',' ) )
-                    // InternalReportDSL.g:11958:5: (lv_fallThrough_6_0= ',' )
+                    // InternalReportDSL.g:12266:4: ( (lv_fallThrough_6_0= ',' ) )
+                    // InternalReportDSL.g:12267:5: (lv_fallThrough_6_0= ',' )
                     {
-                    // InternalReportDSL.g:11958:5: (lv_fallThrough_6_0= ',' )
-                    // InternalReportDSL.g:11959:6: lv_fallThrough_6_0= ','
+                    // InternalReportDSL.g:12267:5: (lv_fallThrough_6_0= ',' )
+                    // InternalReportDSL.g:12268:6: lv_fallThrough_6_0= ','
                     {
-                    lv_fallThrough_6_0=(Token)match(input,134,FOLLOW_2); if (state.failed) return current;
+                    lv_fallThrough_6_0=(Token)match(input,133,FOLLOW_2); if (state.failed) return current;
                     if ( state.backtracking==0 ) {
 
                       						newLeafNode(lv_fallThrough_6_0, grammarAccess.getXCasePartAccess().getFallThroughCommaKeyword_3_1_0());
@@ -32474,7 +33320,7 @@
 
 
     // $ANTLR start "entryRuleXForLoopExpression"
-    // InternalReportDSL.g:11976:1: entryRuleXForLoopExpression returns [EObject current=null] : iv_ruleXForLoopExpression= ruleXForLoopExpression EOF ;
+    // InternalReportDSL.g:12285:1: entryRuleXForLoopExpression returns [EObject current=null] : iv_ruleXForLoopExpression= ruleXForLoopExpression EOF ;
     public final EObject entryRuleXForLoopExpression() throws RecognitionException {
         EObject current = null;
 
@@ -32482,8 +33328,8 @@
 
 
         try {
-            // InternalReportDSL.g:11976:59: (iv_ruleXForLoopExpression= ruleXForLoopExpression EOF )
-            // InternalReportDSL.g:11977:2: iv_ruleXForLoopExpression= ruleXForLoopExpression EOF
+            // InternalReportDSL.g:12285:59: (iv_ruleXForLoopExpression= ruleXForLoopExpression EOF )
+            // InternalReportDSL.g:12286:2: iv_ruleXForLoopExpression= ruleXForLoopExpression EOF
             {
             if ( state.backtracking==0 ) {
                newCompositeNode(grammarAccess.getXForLoopExpressionRule()); 
@@ -32514,7 +33360,7 @@
 
 
     // $ANTLR start "ruleXForLoopExpression"
-    // InternalReportDSL.g:11983:1: ruleXForLoopExpression returns [EObject current=null] : ( ( ( ( () 'for' '(' ( ( ruleJvmFormalParameter ) ) ':' ) )=> ( () otherlv_1= 'for' otherlv_2= '(' ( (lv_declaredParam_3_0= ruleJvmFormalParameter ) ) otherlv_4= ':' ) ) ( (lv_forExpression_5_0= ruleXExpression ) ) otherlv_6= ')' ( (lv_eachExpression_7_0= ruleXExpression ) ) ) ;
+    // InternalReportDSL.g:12292:1: ruleXForLoopExpression returns [EObject current=null] : ( ( ( ( () 'for' '(' ( ( ruleJvmFormalParameter ) ) ':' ) )=> ( () otherlv_1= 'for' otherlv_2= '(' ( (lv_declaredParam_3_0= ruleJvmFormalParameter ) ) otherlv_4= ':' ) ) ( (lv_forExpression_5_0= ruleXExpression ) ) otherlv_6= ')' ( (lv_eachExpression_7_0= ruleXExpression ) ) ) ;
     public final EObject ruleXForLoopExpression() throws RecognitionException {
         EObject current = null;
 
@@ -32533,20 +33379,20 @@
         	enterRule();
 
         try {
-            // InternalReportDSL.g:11989:2: ( ( ( ( ( () 'for' '(' ( ( ruleJvmFormalParameter ) ) ':' ) )=> ( () otherlv_1= 'for' otherlv_2= '(' ( (lv_declaredParam_3_0= ruleJvmFormalParameter ) ) otherlv_4= ':' ) ) ( (lv_forExpression_5_0= ruleXExpression ) ) otherlv_6= ')' ( (lv_eachExpression_7_0= ruleXExpression ) ) ) )
-            // InternalReportDSL.g:11990:2: ( ( ( ( () 'for' '(' ( ( ruleJvmFormalParameter ) ) ':' ) )=> ( () otherlv_1= 'for' otherlv_2= '(' ( (lv_declaredParam_3_0= ruleJvmFormalParameter ) ) otherlv_4= ':' ) ) ( (lv_forExpression_5_0= ruleXExpression ) ) otherlv_6= ')' ( (lv_eachExpression_7_0= ruleXExpression ) ) )
+            // InternalReportDSL.g:12298:2: ( ( ( ( ( () 'for' '(' ( ( ruleJvmFormalParameter ) ) ':' ) )=> ( () otherlv_1= 'for' otherlv_2= '(' ( (lv_declaredParam_3_0= ruleJvmFormalParameter ) ) otherlv_4= ':' ) ) ( (lv_forExpression_5_0= ruleXExpression ) ) otherlv_6= ')' ( (lv_eachExpression_7_0= ruleXExpression ) ) ) )
+            // InternalReportDSL.g:12299:2: ( ( ( ( () 'for' '(' ( ( ruleJvmFormalParameter ) ) ':' ) )=> ( () otherlv_1= 'for' otherlv_2= '(' ( (lv_declaredParam_3_0= ruleJvmFormalParameter ) ) otherlv_4= ':' ) ) ( (lv_forExpression_5_0= ruleXExpression ) ) otherlv_6= ')' ( (lv_eachExpression_7_0= ruleXExpression ) ) )
             {
-            // InternalReportDSL.g:11990:2: ( ( ( ( () 'for' '(' ( ( ruleJvmFormalParameter ) ) ':' ) )=> ( () otherlv_1= 'for' otherlv_2= '(' ( (lv_declaredParam_3_0= ruleJvmFormalParameter ) ) otherlv_4= ':' ) ) ( (lv_forExpression_5_0= ruleXExpression ) ) otherlv_6= ')' ( (lv_eachExpression_7_0= ruleXExpression ) ) )
-            // InternalReportDSL.g:11991:3: ( ( ( () 'for' '(' ( ( ruleJvmFormalParameter ) ) ':' ) )=> ( () otherlv_1= 'for' otherlv_2= '(' ( (lv_declaredParam_3_0= ruleJvmFormalParameter ) ) otherlv_4= ':' ) ) ( (lv_forExpression_5_0= ruleXExpression ) ) otherlv_6= ')' ( (lv_eachExpression_7_0= ruleXExpression ) )
+            // InternalReportDSL.g:12299:2: ( ( ( ( () 'for' '(' ( ( ruleJvmFormalParameter ) ) ':' ) )=> ( () otherlv_1= 'for' otherlv_2= '(' ( (lv_declaredParam_3_0= ruleJvmFormalParameter ) ) otherlv_4= ':' ) ) ( (lv_forExpression_5_0= ruleXExpression ) ) otherlv_6= ')' ( (lv_eachExpression_7_0= ruleXExpression ) ) )
+            // InternalReportDSL.g:12300:3: ( ( ( () 'for' '(' ( ( ruleJvmFormalParameter ) ) ':' ) )=> ( () otherlv_1= 'for' otherlv_2= '(' ( (lv_declaredParam_3_0= ruleJvmFormalParameter ) ) otherlv_4= ':' ) ) ( (lv_forExpression_5_0= ruleXExpression ) ) otherlv_6= ')' ( (lv_eachExpression_7_0= ruleXExpression ) )
             {
-            // InternalReportDSL.g:11991:3: ( ( ( () 'for' '(' ( ( ruleJvmFormalParameter ) ) ':' ) )=> ( () otherlv_1= 'for' otherlv_2= '(' ( (lv_declaredParam_3_0= ruleJvmFormalParameter ) ) otherlv_4= ':' ) )
-            // InternalReportDSL.g:11992:4: ( ( () 'for' '(' ( ( ruleJvmFormalParameter ) ) ':' ) )=> ( () otherlv_1= 'for' otherlv_2= '(' ( (lv_declaredParam_3_0= ruleJvmFormalParameter ) ) otherlv_4= ':' )
+            // InternalReportDSL.g:12300:3: ( ( ( () 'for' '(' ( ( ruleJvmFormalParameter ) ) ':' ) )=> ( () otherlv_1= 'for' otherlv_2= '(' ( (lv_declaredParam_3_0= ruleJvmFormalParameter ) ) otherlv_4= ':' ) )
+            // InternalReportDSL.g:12301:4: ( ( () 'for' '(' ( ( ruleJvmFormalParameter ) ) ':' ) )=> ( () otherlv_1= 'for' otherlv_2= '(' ( (lv_declaredParam_3_0= ruleJvmFormalParameter ) ) otherlv_4= ':' )
             {
-            // InternalReportDSL.g:12005:4: ( () otherlv_1= 'for' otherlv_2= '(' ( (lv_declaredParam_3_0= ruleJvmFormalParameter ) ) otherlv_4= ':' )
-            // InternalReportDSL.g:12006:5: () otherlv_1= 'for' otherlv_2= '(' ( (lv_declaredParam_3_0= ruleJvmFormalParameter ) ) otherlv_4= ':'
+            // InternalReportDSL.g:12314:4: ( () otherlv_1= 'for' otherlv_2= '(' ( (lv_declaredParam_3_0= ruleJvmFormalParameter ) ) otherlv_4= ':' )
+            // InternalReportDSL.g:12315:5: () otherlv_1= 'for' otherlv_2= '(' ( (lv_declaredParam_3_0= ruleJvmFormalParameter ) ) otherlv_4= ':'
             {
-            // InternalReportDSL.g:12006:5: ()
-            // InternalReportDSL.g:12007:6: 
+            // InternalReportDSL.g:12315:5: ()
+            // InternalReportDSL.g:12316:6: 
             {
             if ( state.backtracking==0 ) {
 
@@ -32558,30 +33404,30 @@
 
             }
 
-            otherlv_1=(Token)match(input,177,FOLLOW_106); if (state.failed) return current;
+            otherlv_1=(Token)match(input,176,FOLLOW_98); if (state.failed) return current;
             if ( state.backtracking==0 ) {
 
               					newLeafNode(otherlv_1, grammarAccess.getXForLoopExpressionAccess().getForKeyword_0_0_1());
               				
             }
-            otherlv_2=(Token)match(input,103,FOLLOW_143); if (state.failed) return current;
+            otherlv_2=(Token)match(input,102,FOLLOW_135); if (state.failed) return current;
             if ( state.backtracking==0 ) {
 
               					newLeafNode(otherlv_2, grammarAccess.getXForLoopExpressionAccess().getLeftParenthesisKeyword_0_0_2());
               				
             }
-            // InternalReportDSL.g:12021:5: ( (lv_declaredParam_3_0= ruleJvmFormalParameter ) )
-            // InternalReportDSL.g:12022:6: (lv_declaredParam_3_0= ruleJvmFormalParameter )
+            // InternalReportDSL.g:12330:5: ( (lv_declaredParam_3_0= ruleJvmFormalParameter ) )
+            // InternalReportDSL.g:12331:6: (lv_declaredParam_3_0= ruleJvmFormalParameter )
             {
-            // InternalReportDSL.g:12022:6: (lv_declaredParam_3_0= ruleJvmFormalParameter )
-            // InternalReportDSL.g:12023:7: lv_declaredParam_3_0= ruleJvmFormalParameter
+            // InternalReportDSL.g:12331:6: (lv_declaredParam_3_0= ruleJvmFormalParameter )
+            // InternalReportDSL.g:12332:7: lv_declaredParam_3_0= ruleJvmFormalParameter
             {
             if ( state.backtracking==0 ) {
 
               							newCompositeNode(grammarAccess.getXForLoopExpressionAccess().getDeclaredParamJvmFormalParameterParserRuleCall_0_0_3_0());
               						
             }
-            pushFollow(FOLLOW_170);
+            pushFollow(FOLLOW_162);
             lv_declaredParam_3_0=ruleJvmFormalParameter();
 
             state._fsp--;
@@ -32605,7 +33451,7 @@
 
             }
 
-            otherlv_4=(Token)match(input,174,FOLLOW_130); if (state.failed) return current;
+            otherlv_4=(Token)match(input,173,FOLLOW_122); if (state.failed) return current;
             if ( state.backtracking==0 ) {
 
               					newLeafNode(otherlv_4, grammarAccess.getXForLoopExpressionAccess().getColonKeyword_0_0_4());
@@ -32617,18 +33463,18 @@
 
             }
 
-            // InternalReportDSL.g:12046:3: ( (lv_forExpression_5_0= ruleXExpression ) )
-            // InternalReportDSL.g:12047:4: (lv_forExpression_5_0= ruleXExpression )
+            // InternalReportDSL.g:12355:3: ( (lv_forExpression_5_0= ruleXExpression ) )
+            // InternalReportDSL.g:12356:4: (lv_forExpression_5_0= ruleXExpression )
             {
-            // InternalReportDSL.g:12047:4: (lv_forExpression_5_0= ruleXExpression )
-            // InternalReportDSL.g:12048:5: lv_forExpression_5_0= ruleXExpression
+            // InternalReportDSL.g:12356:4: (lv_forExpression_5_0= ruleXExpression )
+            // InternalReportDSL.g:12357:5: lv_forExpression_5_0= ruleXExpression
             {
             if ( state.backtracking==0 ) {
 
               					newCompositeNode(grammarAccess.getXForLoopExpressionAccess().getForExpressionXExpressionParserRuleCall_1_0());
               				
             }
-            pushFollow(FOLLOW_115);
+            pushFollow(FOLLOW_107);
             lv_forExpression_5_0=ruleXExpression();
 
             state._fsp--;
@@ -32652,17 +33498,17 @@
 
             }
 
-            otherlv_6=(Token)match(input,104,FOLLOW_130); if (state.failed) return current;
+            otherlv_6=(Token)match(input,103,FOLLOW_122); if (state.failed) return current;
             if ( state.backtracking==0 ) {
 
               			newLeafNode(otherlv_6, grammarAccess.getXForLoopExpressionAccess().getRightParenthesisKeyword_2());
               		
             }
-            // InternalReportDSL.g:12069:3: ( (lv_eachExpression_7_0= ruleXExpression ) )
-            // InternalReportDSL.g:12070:4: (lv_eachExpression_7_0= ruleXExpression )
+            // InternalReportDSL.g:12378:3: ( (lv_eachExpression_7_0= ruleXExpression ) )
+            // InternalReportDSL.g:12379:4: (lv_eachExpression_7_0= ruleXExpression )
             {
-            // InternalReportDSL.g:12070:4: (lv_eachExpression_7_0= ruleXExpression )
-            // InternalReportDSL.g:12071:5: lv_eachExpression_7_0= ruleXExpression
+            // InternalReportDSL.g:12379:4: (lv_eachExpression_7_0= ruleXExpression )
+            // InternalReportDSL.g:12380:5: lv_eachExpression_7_0= ruleXExpression
             {
             if ( state.backtracking==0 ) {
 
@@ -32718,7 +33564,7 @@
 
 
     // $ANTLR start "entryRuleXBasicForLoopExpression"
-    // InternalReportDSL.g:12092:1: entryRuleXBasicForLoopExpression returns [EObject current=null] : iv_ruleXBasicForLoopExpression= ruleXBasicForLoopExpression EOF ;
+    // InternalReportDSL.g:12401:1: entryRuleXBasicForLoopExpression returns [EObject current=null] : iv_ruleXBasicForLoopExpression= ruleXBasicForLoopExpression EOF ;
     public final EObject entryRuleXBasicForLoopExpression() throws RecognitionException {
         EObject current = null;
 
@@ -32726,8 +33572,8 @@
 
 
         try {
-            // InternalReportDSL.g:12092:64: (iv_ruleXBasicForLoopExpression= ruleXBasicForLoopExpression EOF )
-            // InternalReportDSL.g:12093:2: iv_ruleXBasicForLoopExpression= ruleXBasicForLoopExpression EOF
+            // InternalReportDSL.g:12401:64: (iv_ruleXBasicForLoopExpression= ruleXBasicForLoopExpression EOF )
+            // InternalReportDSL.g:12402:2: iv_ruleXBasicForLoopExpression= ruleXBasicForLoopExpression EOF
             {
             if ( state.backtracking==0 ) {
                newCompositeNode(grammarAccess.getXBasicForLoopExpressionRule()); 
@@ -32758,7 +33604,7 @@
 
 
     // $ANTLR start "ruleXBasicForLoopExpression"
-    // InternalReportDSL.g:12099:1: ruleXBasicForLoopExpression returns [EObject current=null] : ( () otherlv_1= 'for' otherlv_2= '(' ( ( (lv_initExpressions_3_0= ruleXExpressionOrVarDeclaration ) ) (otherlv_4= ',' ( (lv_initExpressions_5_0= ruleXExpressionOrVarDeclaration ) ) )* )? otherlv_6= ';' ( (lv_expression_7_0= ruleXExpression ) )? otherlv_8= ';' ( ( (lv_updateExpressions_9_0= ruleXExpression ) ) (otherlv_10= ',' ( (lv_updateExpressions_11_0= ruleXExpression ) ) )* )? otherlv_12= ')' ( (lv_eachExpression_13_0= ruleXExpression ) ) ) ;
+    // InternalReportDSL.g:12408:1: ruleXBasicForLoopExpression returns [EObject current=null] : ( () otherlv_1= 'for' otherlv_2= '(' ( ( (lv_initExpressions_3_0= ruleXExpressionOrVarDeclaration ) ) (otherlv_4= ',' ( (lv_initExpressions_5_0= ruleXExpressionOrVarDeclaration ) ) )* )? otherlv_6= ';' ( (lv_expression_7_0= ruleXExpression ) )? otherlv_8= ';' ( ( (lv_updateExpressions_9_0= ruleXExpression ) ) (otherlv_10= ',' ( (lv_updateExpressions_11_0= ruleXExpression ) ) )* )? otherlv_12= ')' ( (lv_eachExpression_13_0= ruleXExpression ) ) ) ;
     public final EObject ruleXBasicForLoopExpression() throws RecognitionException {
         EObject current = null;
 
@@ -32786,14 +33632,14 @@
         	enterRule();
 
         try {
-            // InternalReportDSL.g:12105:2: ( ( () otherlv_1= 'for' otherlv_2= '(' ( ( (lv_initExpressions_3_0= ruleXExpressionOrVarDeclaration ) ) (otherlv_4= ',' ( (lv_initExpressions_5_0= ruleXExpressionOrVarDeclaration ) ) )* )? otherlv_6= ';' ( (lv_expression_7_0= ruleXExpression ) )? otherlv_8= ';' ( ( (lv_updateExpressions_9_0= ruleXExpression ) ) (otherlv_10= ',' ( (lv_updateExpressions_11_0= ruleXExpression ) ) )* )? otherlv_12= ')' ( (lv_eachExpression_13_0= ruleXExpression ) ) ) )
-            // InternalReportDSL.g:12106:2: ( () otherlv_1= 'for' otherlv_2= '(' ( ( (lv_initExpressions_3_0= ruleXExpressionOrVarDeclaration ) ) (otherlv_4= ',' ( (lv_initExpressions_5_0= ruleXExpressionOrVarDeclaration ) ) )* )? otherlv_6= ';' ( (lv_expression_7_0= ruleXExpression ) )? otherlv_8= ';' ( ( (lv_updateExpressions_9_0= ruleXExpression ) ) (otherlv_10= ',' ( (lv_updateExpressions_11_0= ruleXExpression ) ) )* )? otherlv_12= ')' ( (lv_eachExpression_13_0= ruleXExpression ) ) )
+            // InternalReportDSL.g:12414:2: ( ( () otherlv_1= 'for' otherlv_2= '(' ( ( (lv_initExpressions_3_0= ruleXExpressionOrVarDeclaration ) ) (otherlv_4= ',' ( (lv_initExpressions_5_0= ruleXExpressionOrVarDeclaration ) ) )* )? otherlv_6= ';' ( (lv_expression_7_0= ruleXExpression ) )? otherlv_8= ';' ( ( (lv_updateExpressions_9_0= ruleXExpression ) ) (otherlv_10= ',' ( (lv_updateExpressions_11_0= ruleXExpression ) ) )* )? otherlv_12= ')' ( (lv_eachExpression_13_0= ruleXExpression ) ) ) )
+            // InternalReportDSL.g:12415:2: ( () otherlv_1= 'for' otherlv_2= '(' ( ( (lv_initExpressions_3_0= ruleXExpressionOrVarDeclaration ) ) (otherlv_4= ',' ( (lv_initExpressions_5_0= ruleXExpressionOrVarDeclaration ) ) )* )? otherlv_6= ';' ( (lv_expression_7_0= ruleXExpression ) )? otherlv_8= ';' ( ( (lv_updateExpressions_9_0= ruleXExpression ) ) (otherlv_10= ',' ( (lv_updateExpressions_11_0= ruleXExpression ) ) )* )? otherlv_12= ')' ( (lv_eachExpression_13_0= ruleXExpression ) ) )
             {
-            // InternalReportDSL.g:12106:2: ( () otherlv_1= 'for' otherlv_2= '(' ( ( (lv_initExpressions_3_0= ruleXExpressionOrVarDeclaration ) ) (otherlv_4= ',' ( (lv_initExpressions_5_0= ruleXExpressionOrVarDeclaration ) ) )* )? otherlv_6= ';' ( (lv_expression_7_0= ruleXExpression ) )? otherlv_8= ';' ( ( (lv_updateExpressions_9_0= ruleXExpression ) ) (otherlv_10= ',' ( (lv_updateExpressions_11_0= ruleXExpression ) ) )* )? otherlv_12= ')' ( (lv_eachExpression_13_0= ruleXExpression ) ) )
-            // InternalReportDSL.g:12107:3: () otherlv_1= 'for' otherlv_2= '(' ( ( (lv_initExpressions_3_0= ruleXExpressionOrVarDeclaration ) ) (otherlv_4= ',' ( (lv_initExpressions_5_0= ruleXExpressionOrVarDeclaration ) ) )* )? otherlv_6= ';' ( (lv_expression_7_0= ruleXExpression ) )? otherlv_8= ';' ( ( (lv_updateExpressions_9_0= ruleXExpression ) ) (otherlv_10= ',' ( (lv_updateExpressions_11_0= ruleXExpression ) ) )* )? otherlv_12= ')' ( (lv_eachExpression_13_0= ruleXExpression ) )
+            // InternalReportDSL.g:12415:2: ( () otherlv_1= 'for' otherlv_2= '(' ( ( (lv_initExpressions_3_0= ruleXExpressionOrVarDeclaration ) ) (otherlv_4= ',' ( (lv_initExpressions_5_0= ruleXExpressionOrVarDeclaration ) ) )* )? otherlv_6= ';' ( (lv_expression_7_0= ruleXExpression ) )? otherlv_8= ';' ( ( (lv_updateExpressions_9_0= ruleXExpression ) ) (otherlv_10= ',' ( (lv_updateExpressions_11_0= ruleXExpression ) ) )* )? otherlv_12= ')' ( (lv_eachExpression_13_0= ruleXExpression ) ) )
+            // InternalReportDSL.g:12416:3: () otherlv_1= 'for' otherlv_2= '(' ( ( (lv_initExpressions_3_0= ruleXExpressionOrVarDeclaration ) ) (otherlv_4= ',' ( (lv_initExpressions_5_0= ruleXExpressionOrVarDeclaration ) ) )* )? otherlv_6= ';' ( (lv_expression_7_0= ruleXExpression ) )? otherlv_8= ';' ( ( (lv_updateExpressions_9_0= ruleXExpression ) ) (otherlv_10= ',' ( (lv_updateExpressions_11_0= ruleXExpression ) ) )* )? otherlv_12= ')' ( (lv_eachExpression_13_0= ruleXExpression ) )
             {
-            // InternalReportDSL.g:12107:3: ()
-            // InternalReportDSL.g:12108:4: 
+            // InternalReportDSL.g:12416:3: ()
+            // InternalReportDSL.g:12417:4: 
             {
             if ( state.backtracking==0 ) {
 
@@ -32805,41 +33651,41 @@
 
             }
 
-            otherlv_1=(Token)match(input,177,FOLLOW_106); if (state.failed) return current;
+            otherlv_1=(Token)match(input,176,FOLLOW_98); if (state.failed) return current;
             if ( state.backtracking==0 ) {
 
               			newLeafNode(otherlv_1, grammarAccess.getXBasicForLoopExpressionAccess().getForKeyword_1());
               		
             }
-            otherlv_2=(Token)match(input,103,FOLLOW_174); if (state.failed) return current;
+            otherlv_2=(Token)match(input,102,FOLLOW_166); if (state.failed) return current;
             if ( state.backtracking==0 ) {
 
               			newLeafNode(otherlv_2, grammarAccess.getXBasicForLoopExpressionAccess().getLeftParenthesisKeyword_2());
               		
             }
-            // InternalReportDSL.g:12122:3: ( ( (lv_initExpressions_3_0= ruleXExpressionOrVarDeclaration ) ) (otherlv_4= ',' ( (lv_initExpressions_5_0= ruleXExpressionOrVarDeclaration ) ) )* )?
-            int alt181=2;
-            int LA181_0 = input.LA(1);
+            // InternalReportDSL.g:12431:3: ( ( (lv_initExpressions_3_0= ruleXExpressionOrVarDeclaration ) ) (otherlv_4= ',' ( (lv_initExpressions_5_0= ruleXExpressionOrVarDeclaration ) ) )* )?
+            int alt169=2;
+            int LA169_0 = input.LA(1);
 
-            if ( ((LA181_0>=RULE_STRING && LA181_0<=RULE_DECIMAL)||LA181_0==14||LA181_0==39||LA181_0==103||LA181_0==116||(LA181_0>=127 && LA181_0<=129)||(LA181_0>=136 && LA181_0<=137)||LA181_0==144||LA181_0==160||LA181_0==164||LA181_0==171||LA181_0==173||(LA181_0>=177 && LA181_0<=190)||LA181_0==192) ) {
-                alt181=1;
+            if ( ((LA169_0>=RULE_STRING && LA169_0<=RULE_DECIMAL)||LA169_0==14||LA169_0==39||LA169_0==102||LA169_0==115||(LA169_0>=126 && LA169_0<=128)||(LA169_0>=135 && LA169_0<=136)||LA169_0==143||LA169_0==159||LA169_0==163||LA169_0==170||LA169_0==172||(LA169_0>=176 && LA169_0<=189)||LA169_0==191) ) {
+                alt169=1;
             }
-            switch (alt181) {
+            switch (alt169) {
                 case 1 :
-                    // InternalReportDSL.g:12123:4: ( (lv_initExpressions_3_0= ruleXExpressionOrVarDeclaration ) ) (otherlv_4= ',' ( (lv_initExpressions_5_0= ruleXExpressionOrVarDeclaration ) ) )*
+                    // InternalReportDSL.g:12432:4: ( (lv_initExpressions_3_0= ruleXExpressionOrVarDeclaration ) ) (otherlv_4= ',' ( (lv_initExpressions_5_0= ruleXExpressionOrVarDeclaration ) ) )*
                     {
-                    // InternalReportDSL.g:12123:4: ( (lv_initExpressions_3_0= ruleXExpressionOrVarDeclaration ) )
-                    // InternalReportDSL.g:12124:5: (lv_initExpressions_3_0= ruleXExpressionOrVarDeclaration )
+                    // InternalReportDSL.g:12432:4: ( (lv_initExpressions_3_0= ruleXExpressionOrVarDeclaration ) )
+                    // InternalReportDSL.g:12433:5: (lv_initExpressions_3_0= ruleXExpressionOrVarDeclaration )
                     {
-                    // InternalReportDSL.g:12124:5: (lv_initExpressions_3_0= ruleXExpressionOrVarDeclaration )
-                    // InternalReportDSL.g:12125:6: lv_initExpressions_3_0= ruleXExpressionOrVarDeclaration
+                    // InternalReportDSL.g:12433:5: (lv_initExpressions_3_0= ruleXExpressionOrVarDeclaration )
+                    // InternalReportDSL.g:12434:6: lv_initExpressions_3_0= ruleXExpressionOrVarDeclaration
                     {
                     if ( state.backtracking==0 ) {
 
                       						newCompositeNode(grammarAccess.getXBasicForLoopExpressionAccess().getInitExpressionsXExpressionOrVarDeclarationParserRuleCall_3_0_0());
                       					
                     }
-                    pushFollow(FOLLOW_175);
+                    pushFollow(FOLLOW_167);
                     lv_initExpressions_3_0=ruleXExpressionOrVarDeclaration();
 
                     state._fsp--;
@@ -32863,39 +33709,39 @@
 
                     }
 
-                    // InternalReportDSL.g:12142:4: (otherlv_4= ',' ( (lv_initExpressions_5_0= ruleXExpressionOrVarDeclaration ) ) )*
-                    loop180:
+                    // InternalReportDSL.g:12451:4: (otherlv_4= ',' ( (lv_initExpressions_5_0= ruleXExpressionOrVarDeclaration ) ) )*
+                    loop168:
                     do {
-                        int alt180=2;
-                        int LA180_0 = input.LA(1);
+                        int alt168=2;
+                        int LA168_0 = input.LA(1);
 
-                        if ( (LA180_0==134) ) {
-                            alt180=1;
+                        if ( (LA168_0==133) ) {
+                            alt168=1;
                         }
 
 
-                        switch (alt180) {
+                        switch (alt168) {
                     	case 1 :
-                    	    // InternalReportDSL.g:12143:5: otherlv_4= ',' ( (lv_initExpressions_5_0= ruleXExpressionOrVarDeclaration ) )
+                    	    // InternalReportDSL.g:12452:5: otherlv_4= ',' ( (lv_initExpressions_5_0= ruleXExpressionOrVarDeclaration ) )
                     	    {
-                    	    otherlv_4=(Token)match(input,134,FOLLOW_176); if (state.failed) return current;
+                    	    otherlv_4=(Token)match(input,133,FOLLOW_168); if (state.failed) return current;
                     	    if ( state.backtracking==0 ) {
 
                     	      					newLeafNode(otherlv_4, grammarAccess.getXBasicForLoopExpressionAccess().getCommaKeyword_3_1_0());
                     	      				
                     	    }
-                    	    // InternalReportDSL.g:12147:5: ( (lv_initExpressions_5_0= ruleXExpressionOrVarDeclaration ) )
-                    	    // InternalReportDSL.g:12148:6: (lv_initExpressions_5_0= ruleXExpressionOrVarDeclaration )
+                    	    // InternalReportDSL.g:12456:5: ( (lv_initExpressions_5_0= ruleXExpressionOrVarDeclaration ) )
+                    	    // InternalReportDSL.g:12457:6: (lv_initExpressions_5_0= ruleXExpressionOrVarDeclaration )
                     	    {
-                    	    // InternalReportDSL.g:12148:6: (lv_initExpressions_5_0= ruleXExpressionOrVarDeclaration )
-                    	    // InternalReportDSL.g:12149:7: lv_initExpressions_5_0= ruleXExpressionOrVarDeclaration
+                    	    // InternalReportDSL.g:12457:6: (lv_initExpressions_5_0= ruleXExpressionOrVarDeclaration )
+                    	    // InternalReportDSL.g:12458:7: lv_initExpressions_5_0= ruleXExpressionOrVarDeclaration
                     	    {
                     	    if ( state.backtracking==0 ) {
 
                     	      							newCompositeNode(grammarAccess.getXBasicForLoopExpressionAccess().getInitExpressionsXExpressionOrVarDeclarationParserRuleCall_3_1_1_0());
                     	      						
                     	    }
-                    	    pushFollow(FOLLOW_175);
+                    	    pushFollow(FOLLOW_167);
                     	    lv_initExpressions_5_0=ruleXExpressionOrVarDeclaration();
 
                     	    state._fsp--;
@@ -32924,7 +33770,7 @@
                     	    break;
 
                     	default :
-                    	    break loop180;
+                    	    break loop168;
                         }
                     } while (true);
 
@@ -32934,32 +33780,32 @@
 
             }
 
-            otherlv_6=(Token)match(input,132,FOLLOW_177); if (state.failed) return current;
+            otherlv_6=(Token)match(input,131,FOLLOW_169); if (state.failed) return current;
             if ( state.backtracking==0 ) {
 
               			newLeafNode(otherlv_6, grammarAccess.getXBasicForLoopExpressionAccess().getSemicolonKeyword_4());
               		
             }
-            // InternalReportDSL.g:12172:3: ( (lv_expression_7_0= ruleXExpression ) )?
-            int alt182=2;
-            int LA182_0 = input.LA(1);
+            // InternalReportDSL.g:12481:3: ( (lv_expression_7_0= ruleXExpression ) )?
+            int alt170=2;
+            int LA170_0 = input.LA(1);
 
-            if ( ((LA182_0>=RULE_STRING && LA182_0<=RULE_DECIMAL)||LA182_0==14||LA182_0==39||LA182_0==103||LA182_0==116||(LA182_0>=127 && LA182_0<=129)||(LA182_0>=136 && LA182_0<=137)||LA182_0==144||LA182_0==160||LA182_0==164||LA182_0==171||LA182_0==173||(LA182_0>=177 && LA182_0<=179)||(LA182_0>=182 && LA182_0<=190)||LA182_0==192) ) {
-                alt182=1;
+            if ( ((LA170_0>=RULE_STRING && LA170_0<=RULE_DECIMAL)||LA170_0==14||LA170_0==39||LA170_0==102||LA170_0==115||(LA170_0>=126 && LA170_0<=128)||(LA170_0>=135 && LA170_0<=136)||LA170_0==143||LA170_0==159||LA170_0==163||LA170_0==170||LA170_0==172||(LA170_0>=176 && LA170_0<=178)||(LA170_0>=181 && LA170_0<=189)||LA170_0==191) ) {
+                alt170=1;
             }
-            switch (alt182) {
+            switch (alt170) {
                 case 1 :
-                    // InternalReportDSL.g:12173:4: (lv_expression_7_0= ruleXExpression )
+                    // InternalReportDSL.g:12482:4: (lv_expression_7_0= ruleXExpression )
                     {
-                    // InternalReportDSL.g:12173:4: (lv_expression_7_0= ruleXExpression )
-                    // InternalReportDSL.g:12174:5: lv_expression_7_0= ruleXExpression
+                    // InternalReportDSL.g:12482:4: (lv_expression_7_0= ruleXExpression )
+                    // InternalReportDSL.g:12483:5: lv_expression_7_0= ruleXExpression
                     {
                     if ( state.backtracking==0 ) {
 
                       					newCompositeNode(grammarAccess.getXBasicForLoopExpressionAccess().getExpressionXExpressionParserRuleCall_5_0());
                       				
                     }
-                    pushFollow(FOLLOW_178);
+                    pushFollow(FOLLOW_170);
                     lv_expression_7_0=ruleXExpression();
 
                     state._fsp--;
@@ -32986,35 +33832,35 @@
 
             }
 
-            otherlv_8=(Token)match(input,132,FOLLOW_127); if (state.failed) return current;
+            otherlv_8=(Token)match(input,131,FOLLOW_119); if (state.failed) return current;
             if ( state.backtracking==0 ) {
 
               			newLeafNode(otherlv_8, grammarAccess.getXBasicForLoopExpressionAccess().getSemicolonKeyword_6());
               		
             }
-            // InternalReportDSL.g:12195:3: ( ( (lv_updateExpressions_9_0= ruleXExpression ) ) (otherlv_10= ',' ( (lv_updateExpressions_11_0= ruleXExpression ) ) )* )?
-            int alt184=2;
-            int LA184_0 = input.LA(1);
+            // InternalReportDSL.g:12504:3: ( ( (lv_updateExpressions_9_0= ruleXExpression ) ) (otherlv_10= ',' ( (lv_updateExpressions_11_0= ruleXExpression ) ) )* )?
+            int alt172=2;
+            int LA172_0 = input.LA(1);
 
-            if ( ((LA184_0>=RULE_STRING && LA184_0<=RULE_DECIMAL)||LA184_0==14||LA184_0==39||LA184_0==103||LA184_0==116||(LA184_0>=127 && LA184_0<=129)||(LA184_0>=136 && LA184_0<=137)||LA184_0==144||LA184_0==160||LA184_0==164||LA184_0==171||LA184_0==173||(LA184_0>=177 && LA184_0<=179)||(LA184_0>=182 && LA184_0<=190)||LA184_0==192) ) {
-                alt184=1;
+            if ( ((LA172_0>=RULE_STRING && LA172_0<=RULE_DECIMAL)||LA172_0==14||LA172_0==39||LA172_0==102||LA172_0==115||(LA172_0>=126 && LA172_0<=128)||(LA172_0>=135 && LA172_0<=136)||LA172_0==143||LA172_0==159||LA172_0==163||LA172_0==170||LA172_0==172||(LA172_0>=176 && LA172_0<=178)||(LA172_0>=181 && LA172_0<=189)||LA172_0==191) ) {
+                alt172=1;
             }
-            switch (alt184) {
+            switch (alt172) {
                 case 1 :
-                    // InternalReportDSL.g:12196:4: ( (lv_updateExpressions_9_0= ruleXExpression ) ) (otherlv_10= ',' ( (lv_updateExpressions_11_0= ruleXExpression ) ) )*
+                    // InternalReportDSL.g:12505:4: ( (lv_updateExpressions_9_0= ruleXExpression ) ) (otherlv_10= ',' ( (lv_updateExpressions_11_0= ruleXExpression ) ) )*
                     {
-                    // InternalReportDSL.g:12196:4: ( (lv_updateExpressions_9_0= ruleXExpression ) )
-                    // InternalReportDSL.g:12197:5: (lv_updateExpressions_9_0= ruleXExpression )
+                    // InternalReportDSL.g:12505:4: ( (lv_updateExpressions_9_0= ruleXExpression ) )
+                    // InternalReportDSL.g:12506:5: (lv_updateExpressions_9_0= ruleXExpression )
                     {
-                    // InternalReportDSL.g:12197:5: (lv_updateExpressions_9_0= ruleXExpression )
-                    // InternalReportDSL.g:12198:6: lv_updateExpressions_9_0= ruleXExpression
+                    // InternalReportDSL.g:12506:5: (lv_updateExpressions_9_0= ruleXExpression )
+                    // InternalReportDSL.g:12507:6: lv_updateExpressions_9_0= ruleXExpression
                     {
                     if ( state.backtracking==0 ) {
 
                       						newCompositeNode(grammarAccess.getXBasicForLoopExpressionAccess().getUpdateExpressionsXExpressionParserRuleCall_7_0_0());
                       					
                     }
-                    pushFollow(FOLLOW_128);
+                    pushFollow(FOLLOW_120);
                     lv_updateExpressions_9_0=ruleXExpression();
 
                     state._fsp--;
@@ -33038,39 +33884,39 @@
 
                     }
 
-                    // InternalReportDSL.g:12215:4: (otherlv_10= ',' ( (lv_updateExpressions_11_0= ruleXExpression ) ) )*
-                    loop183:
+                    // InternalReportDSL.g:12524:4: (otherlv_10= ',' ( (lv_updateExpressions_11_0= ruleXExpression ) ) )*
+                    loop171:
                     do {
-                        int alt183=2;
-                        int LA183_0 = input.LA(1);
+                        int alt171=2;
+                        int LA171_0 = input.LA(1);
 
-                        if ( (LA183_0==134) ) {
-                            alt183=1;
+                        if ( (LA171_0==133) ) {
+                            alt171=1;
                         }
 
 
-                        switch (alt183) {
+                        switch (alt171) {
                     	case 1 :
-                    	    // InternalReportDSL.g:12216:5: otherlv_10= ',' ( (lv_updateExpressions_11_0= ruleXExpression ) )
+                    	    // InternalReportDSL.g:12525:5: otherlv_10= ',' ( (lv_updateExpressions_11_0= ruleXExpression ) )
                     	    {
-                    	    otherlv_10=(Token)match(input,134,FOLLOW_130); if (state.failed) return current;
+                    	    otherlv_10=(Token)match(input,133,FOLLOW_122); if (state.failed) return current;
                     	    if ( state.backtracking==0 ) {
 
                     	      					newLeafNode(otherlv_10, grammarAccess.getXBasicForLoopExpressionAccess().getCommaKeyword_7_1_0());
                     	      				
                     	    }
-                    	    // InternalReportDSL.g:12220:5: ( (lv_updateExpressions_11_0= ruleXExpression ) )
-                    	    // InternalReportDSL.g:12221:6: (lv_updateExpressions_11_0= ruleXExpression )
+                    	    // InternalReportDSL.g:12529:5: ( (lv_updateExpressions_11_0= ruleXExpression ) )
+                    	    // InternalReportDSL.g:12530:6: (lv_updateExpressions_11_0= ruleXExpression )
                     	    {
-                    	    // InternalReportDSL.g:12221:6: (lv_updateExpressions_11_0= ruleXExpression )
-                    	    // InternalReportDSL.g:12222:7: lv_updateExpressions_11_0= ruleXExpression
+                    	    // InternalReportDSL.g:12530:6: (lv_updateExpressions_11_0= ruleXExpression )
+                    	    // InternalReportDSL.g:12531:7: lv_updateExpressions_11_0= ruleXExpression
                     	    {
                     	    if ( state.backtracking==0 ) {
 
                     	      							newCompositeNode(grammarAccess.getXBasicForLoopExpressionAccess().getUpdateExpressionsXExpressionParserRuleCall_7_1_1_0());
                     	      						
                     	    }
-                    	    pushFollow(FOLLOW_128);
+                    	    pushFollow(FOLLOW_120);
                     	    lv_updateExpressions_11_0=ruleXExpression();
 
                     	    state._fsp--;
@@ -33099,7 +33945,7 @@
                     	    break;
 
                     	default :
-                    	    break loop183;
+                    	    break loop171;
                         }
                     } while (true);
 
@@ -33109,17 +33955,17 @@
 
             }
 
-            otherlv_12=(Token)match(input,104,FOLLOW_130); if (state.failed) return current;
+            otherlv_12=(Token)match(input,103,FOLLOW_122); if (state.failed) return current;
             if ( state.backtracking==0 ) {
 
               			newLeafNode(otherlv_12, grammarAccess.getXBasicForLoopExpressionAccess().getRightParenthesisKeyword_8());
               		
             }
-            // InternalReportDSL.g:12245:3: ( (lv_eachExpression_13_0= ruleXExpression ) )
-            // InternalReportDSL.g:12246:4: (lv_eachExpression_13_0= ruleXExpression )
+            // InternalReportDSL.g:12554:3: ( (lv_eachExpression_13_0= ruleXExpression ) )
+            // InternalReportDSL.g:12555:4: (lv_eachExpression_13_0= ruleXExpression )
             {
-            // InternalReportDSL.g:12246:4: (lv_eachExpression_13_0= ruleXExpression )
-            // InternalReportDSL.g:12247:5: lv_eachExpression_13_0= ruleXExpression
+            // InternalReportDSL.g:12555:4: (lv_eachExpression_13_0= ruleXExpression )
+            // InternalReportDSL.g:12556:5: lv_eachExpression_13_0= ruleXExpression
             {
             if ( state.backtracking==0 ) {
 
@@ -33175,7 +34021,7 @@
 
 
     // $ANTLR start "entryRuleXWhileExpression"
-    // InternalReportDSL.g:12268:1: entryRuleXWhileExpression returns [EObject current=null] : iv_ruleXWhileExpression= ruleXWhileExpression EOF ;
+    // InternalReportDSL.g:12577:1: entryRuleXWhileExpression returns [EObject current=null] : iv_ruleXWhileExpression= ruleXWhileExpression EOF ;
     public final EObject entryRuleXWhileExpression() throws RecognitionException {
         EObject current = null;
 
@@ -33183,8 +34029,8 @@
 
 
         try {
-            // InternalReportDSL.g:12268:57: (iv_ruleXWhileExpression= ruleXWhileExpression EOF )
-            // InternalReportDSL.g:12269:2: iv_ruleXWhileExpression= ruleXWhileExpression EOF
+            // InternalReportDSL.g:12577:57: (iv_ruleXWhileExpression= ruleXWhileExpression EOF )
+            // InternalReportDSL.g:12578:2: iv_ruleXWhileExpression= ruleXWhileExpression EOF
             {
             if ( state.backtracking==0 ) {
                newCompositeNode(grammarAccess.getXWhileExpressionRule()); 
@@ -33215,7 +34061,7 @@
 
 
     // $ANTLR start "ruleXWhileExpression"
-    // InternalReportDSL.g:12275:1: ruleXWhileExpression returns [EObject current=null] : ( () otherlv_1= 'while' otherlv_2= '(' ( (lv_predicate_3_0= ruleXExpression ) ) otherlv_4= ')' ( (lv_body_5_0= ruleXExpression ) ) ) ;
+    // InternalReportDSL.g:12584:1: ruleXWhileExpression returns [EObject current=null] : ( () otherlv_1= 'while' otherlv_2= '(' ( (lv_predicate_3_0= ruleXExpression ) ) otherlv_4= ')' ( (lv_body_5_0= ruleXExpression ) ) ) ;
     public final EObject ruleXWhileExpression() throws RecognitionException {
         EObject current = null;
 
@@ -33231,14 +34077,14 @@
         	enterRule();
 
         try {
-            // InternalReportDSL.g:12281:2: ( ( () otherlv_1= 'while' otherlv_2= '(' ( (lv_predicate_3_0= ruleXExpression ) ) otherlv_4= ')' ( (lv_body_5_0= ruleXExpression ) ) ) )
-            // InternalReportDSL.g:12282:2: ( () otherlv_1= 'while' otherlv_2= '(' ( (lv_predicate_3_0= ruleXExpression ) ) otherlv_4= ')' ( (lv_body_5_0= ruleXExpression ) ) )
+            // InternalReportDSL.g:12590:2: ( ( () otherlv_1= 'while' otherlv_2= '(' ( (lv_predicate_3_0= ruleXExpression ) ) otherlv_4= ')' ( (lv_body_5_0= ruleXExpression ) ) ) )
+            // InternalReportDSL.g:12591:2: ( () otherlv_1= 'while' otherlv_2= '(' ( (lv_predicate_3_0= ruleXExpression ) ) otherlv_4= ')' ( (lv_body_5_0= ruleXExpression ) ) )
             {
-            // InternalReportDSL.g:12282:2: ( () otherlv_1= 'while' otherlv_2= '(' ( (lv_predicate_3_0= ruleXExpression ) ) otherlv_4= ')' ( (lv_body_5_0= ruleXExpression ) ) )
-            // InternalReportDSL.g:12283:3: () otherlv_1= 'while' otherlv_2= '(' ( (lv_predicate_3_0= ruleXExpression ) ) otherlv_4= ')' ( (lv_body_5_0= ruleXExpression ) )
+            // InternalReportDSL.g:12591:2: ( () otherlv_1= 'while' otherlv_2= '(' ( (lv_predicate_3_0= ruleXExpression ) ) otherlv_4= ')' ( (lv_body_5_0= ruleXExpression ) ) )
+            // InternalReportDSL.g:12592:3: () otherlv_1= 'while' otherlv_2= '(' ( (lv_predicate_3_0= ruleXExpression ) ) otherlv_4= ')' ( (lv_body_5_0= ruleXExpression ) )
             {
-            // InternalReportDSL.g:12283:3: ()
-            // InternalReportDSL.g:12284:4: 
+            // InternalReportDSL.g:12592:3: ()
+            // InternalReportDSL.g:12593:4: 
             {
             if ( state.backtracking==0 ) {
 
@@ -33250,30 +34096,30 @@
 
             }
 
-            otherlv_1=(Token)match(input,178,FOLLOW_106); if (state.failed) return current;
+            otherlv_1=(Token)match(input,177,FOLLOW_98); if (state.failed) return current;
             if ( state.backtracking==0 ) {
 
               			newLeafNode(otherlv_1, grammarAccess.getXWhileExpressionAccess().getWhileKeyword_1());
               		
             }
-            otherlv_2=(Token)match(input,103,FOLLOW_130); if (state.failed) return current;
+            otherlv_2=(Token)match(input,102,FOLLOW_122); if (state.failed) return current;
             if ( state.backtracking==0 ) {
 
               			newLeafNode(otherlv_2, grammarAccess.getXWhileExpressionAccess().getLeftParenthesisKeyword_2());
               		
             }
-            // InternalReportDSL.g:12298:3: ( (lv_predicate_3_0= ruleXExpression ) )
-            // InternalReportDSL.g:12299:4: (lv_predicate_3_0= ruleXExpression )
+            // InternalReportDSL.g:12607:3: ( (lv_predicate_3_0= ruleXExpression ) )
+            // InternalReportDSL.g:12608:4: (lv_predicate_3_0= ruleXExpression )
             {
-            // InternalReportDSL.g:12299:4: (lv_predicate_3_0= ruleXExpression )
-            // InternalReportDSL.g:12300:5: lv_predicate_3_0= ruleXExpression
+            // InternalReportDSL.g:12608:4: (lv_predicate_3_0= ruleXExpression )
+            // InternalReportDSL.g:12609:5: lv_predicate_3_0= ruleXExpression
             {
             if ( state.backtracking==0 ) {
 
               					newCompositeNode(grammarAccess.getXWhileExpressionAccess().getPredicateXExpressionParserRuleCall_3_0());
               				
             }
-            pushFollow(FOLLOW_115);
+            pushFollow(FOLLOW_107);
             lv_predicate_3_0=ruleXExpression();
 
             state._fsp--;
@@ -33297,17 +34143,17 @@
 
             }
 
-            otherlv_4=(Token)match(input,104,FOLLOW_130); if (state.failed) return current;
+            otherlv_4=(Token)match(input,103,FOLLOW_122); if (state.failed) return current;
             if ( state.backtracking==0 ) {
 
               			newLeafNode(otherlv_4, grammarAccess.getXWhileExpressionAccess().getRightParenthesisKeyword_4());
               		
             }
-            // InternalReportDSL.g:12321:3: ( (lv_body_5_0= ruleXExpression ) )
-            // InternalReportDSL.g:12322:4: (lv_body_5_0= ruleXExpression )
+            // InternalReportDSL.g:12630:3: ( (lv_body_5_0= ruleXExpression ) )
+            // InternalReportDSL.g:12631:4: (lv_body_5_0= ruleXExpression )
             {
-            // InternalReportDSL.g:12322:4: (lv_body_5_0= ruleXExpression )
-            // InternalReportDSL.g:12323:5: lv_body_5_0= ruleXExpression
+            // InternalReportDSL.g:12631:4: (lv_body_5_0= ruleXExpression )
+            // InternalReportDSL.g:12632:5: lv_body_5_0= ruleXExpression
             {
             if ( state.backtracking==0 ) {
 
@@ -33363,7 +34209,7 @@
 
 
     // $ANTLR start "entryRuleXDoWhileExpression"
-    // InternalReportDSL.g:12344:1: entryRuleXDoWhileExpression returns [EObject current=null] : iv_ruleXDoWhileExpression= ruleXDoWhileExpression EOF ;
+    // InternalReportDSL.g:12653:1: entryRuleXDoWhileExpression returns [EObject current=null] : iv_ruleXDoWhileExpression= ruleXDoWhileExpression EOF ;
     public final EObject entryRuleXDoWhileExpression() throws RecognitionException {
         EObject current = null;
 
@@ -33371,8 +34217,8 @@
 
 
         try {
-            // InternalReportDSL.g:12344:59: (iv_ruleXDoWhileExpression= ruleXDoWhileExpression EOF )
-            // InternalReportDSL.g:12345:2: iv_ruleXDoWhileExpression= ruleXDoWhileExpression EOF
+            // InternalReportDSL.g:12653:59: (iv_ruleXDoWhileExpression= ruleXDoWhileExpression EOF )
+            // InternalReportDSL.g:12654:2: iv_ruleXDoWhileExpression= ruleXDoWhileExpression EOF
             {
             if ( state.backtracking==0 ) {
                newCompositeNode(grammarAccess.getXDoWhileExpressionRule()); 
@@ -33403,7 +34249,7 @@
 
 
     // $ANTLR start "ruleXDoWhileExpression"
-    // InternalReportDSL.g:12351:1: ruleXDoWhileExpression returns [EObject current=null] : ( () otherlv_1= 'do' ( (lv_body_2_0= ruleXExpression ) ) otherlv_3= 'while' otherlv_4= '(' ( (lv_predicate_5_0= ruleXExpression ) ) otherlv_6= ')' ) ;
+    // InternalReportDSL.g:12660:1: ruleXDoWhileExpression returns [EObject current=null] : ( () otherlv_1= 'do' ( (lv_body_2_0= ruleXExpression ) ) otherlv_3= 'while' otherlv_4= '(' ( (lv_predicate_5_0= ruleXExpression ) ) otherlv_6= ')' ) ;
     public final EObject ruleXDoWhileExpression() throws RecognitionException {
         EObject current = null;
 
@@ -33420,14 +34266,14 @@
         	enterRule();
 
         try {
-            // InternalReportDSL.g:12357:2: ( ( () otherlv_1= 'do' ( (lv_body_2_0= ruleXExpression ) ) otherlv_3= 'while' otherlv_4= '(' ( (lv_predicate_5_0= ruleXExpression ) ) otherlv_6= ')' ) )
-            // InternalReportDSL.g:12358:2: ( () otherlv_1= 'do' ( (lv_body_2_0= ruleXExpression ) ) otherlv_3= 'while' otherlv_4= '(' ( (lv_predicate_5_0= ruleXExpression ) ) otherlv_6= ')' )
+            // InternalReportDSL.g:12666:2: ( ( () otherlv_1= 'do' ( (lv_body_2_0= ruleXExpression ) ) otherlv_3= 'while' otherlv_4= '(' ( (lv_predicate_5_0= ruleXExpression ) ) otherlv_6= ')' ) )
+            // InternalReportDSL.g:12667:2: ( () otherlv_1= 'do' ( (lv_body_2_0= ruleXExpression ) ) otherlv_3= 'while' otherlv_4= '(' ( (lv_predicate_5_0= ruleXExpression ) ) otherlv_6= ')' )
             {
-            // InternalReportDSL.g:12358:2: ( () otherlv_1= 'do' ( (lv_body_2_0= ruleXExpression ) ) otherlv_3= 'while' otherlv_4= '(' ( (lv_predicate_5_0= ruleXExpression ) ) otherlv_6= ')' )
-            // InternalReportDSL.g:12359:3: () otherlv_1= 'do' ( (lv_body_2_0= ruleXExpression ) ) otherlv_3= 'while' otherlv_4= '(' ( (lv_predicate_5_0= ruleXExpression ) ) otherlv_6= ')'
+            // InternalReportDSL.g:12667:2: ( () otherlv_1= 'do' ( (lv_body_2_0= ruleXExpression ) ) otherlv_3= 'while' otherlv_4= '(' ( (lv_predicate_5_0= ruleXExpression ) ) otherlv_6= ')' )
+            // InternalReportDSL.g:12668:3: () otherlv_1= 'do' ( (lv_body_2_0= ruleXExpression ) ) otherlv_3= 'while' otherlv_4= '(' ( (lv_predicate_5_0= ruleXExpression ) ) otherlv_6= ')'
             {
-            // InternalReportDSL.g:12359:3: ()
-            // InternalReportDSL.g:12360:4: 
+            // InternalReportDSL.g:12668:3: ()
+            // InternalReportDSL.g:12669:4: 
             {
             if ( state.backtracking==0 ) {
 
@@ -33439,24 +34285,24 @@
 
             }
 
-            otherlv_1=(Token)match(input,179,FOLLOW_130); if (state.failed) return current;
+            otherlv_1=(Token)match(input,178,FOLLOW_122); if (state.failed) return current;
             if ( state.backtracking==0 ) {
 
               			newLeafNode(otherlv_1, grammarAccess.getXDoWhileExpressionAccess().getDoKeyword_1());
               		
             }
-            // InternalReportDSL.g:12370:3: ( (lv_body_2_0= ruleXExpression ) )
-            // InternalReportDSL.g:12371:4: (lv_body_2_0= ruleXExpression )
+            // InternalReportDSL.g:12679:3: ( (lv_body_2_0= ruleXExpression ) )
+            // InternalReportDSL.g:12680:4: (lv_body_2_0= ruleXExpression )
             {
-            // InternalReportDSL.g:12371:4: (lv_body_2_0= ruleXExpression )
-            // InternalReportDSL.g:12372:5: lv_body_2_0= ruleXExpression
+            // InternalReportDSL.g:12680:4: (lv_body_2_0= ruleXExpression )
+            // InternalReportDSL.g:12681:5: lv_body_2_0= ruleXExpression
             {
             if ( state.backtracking==0 ) {
 
               					newCompositeNode(grammarAccess.getXDoWhileExpressionAccess().getBodyXExpressionParserRuleCall_2_0());
               				
             }
-            pushFollow(FOLLOW_179);
+            pushFollow(FOLLOW_171);
             lv_body_2_0=ruleXExpression();
 
             state._fsp--;
@@ -33480,30 +34326,30 @@
 
             }
 
-            otherlv_3=(Token)match(input,178,FOLLOW_106); if (state.failed) return current;
+            otherlv_3=(Token)match(input,177,FOLLOW_98); if (state.failed) return current;
             if ( state.backtracking==0 ) {
 
               			newLeafNode(otherlv_3, grammarAccess.getXDoWhileExpressionAccess().getWhileKeyword_3());
               		
             }
-            otherlv_4=(Token)match(input,103,FOLLOW_130); if (state.failed) return current;
+            otherlv_4=(Token)match(input,102,FOLLOW_122); if (state.failed) return current;
             if ( state.backtracking==0 ) {
 
               			newLeafNode(otherlv_4, grammarAccess.getXDoWhileExpressionAccess().getLeftParenthesisKeyword_4());
               		
             }
-            // InternalReportDSL.g:12397:3: ( (lv_predicate_5_0= ruleXExpression ) )
-            // InternalReportDSL.g:12398:4: (lv_predicate_5_0= ruleXExpression )
+            // InternalReportDSL.g:12706:3: ( (lv_predicate_5_0= ruleXExpression ) )
+            // InternalReportDSL.g:12707:4: (lv_predicate_5_0= ruleXExpression )
             {
-            // InternalReportDSL.g:12398:4: (lv_predicate_5_0= ruleXExpression )
-            // InternalReportDSL.g:12399:5: lv_predicate_5_0= ruleXExpression
+            // InternalReportDSL.g:12707:4: (lv_predicate_5_0= ruleXExpression )
+            // InternalReportDSL.g:12708:5: lv_predicate_5_0= ruleXExpression
             {
             if ( state.backtracking==0 ) {
 
               					newCompositeNode(grammarAccess.getXDoWhileExpressionAccess().getPredicateXExpressionParserRuleCall_5_0());
               				
             }
-            pushFollow(FOLLOW_115);
+            pushFollow(FOLLOW_107);
             lv_predicate_5_0=ruleXExpression();
 
             state._fsp--;
@@ -33527,7 +34373,7 @@
 
             }
 
-            otherlv_6=(Token)match(input,104,FOLLOW_2); if (state.failed) return current;
+            otherlv_6=(Token)match(input,103,FOLLOW_2); if (state.failed) return current;
             if ( state.backtracking==0 ) {
 
               			newLeafNode(otherlv_6, grammarAccess.getXDoWhileExpressionAccess().getRightParenthesisKeyword_6());
@@ -33558,7 +34404,7 @@
 
 
     // $ANTLR start "entryRuleXBlockExpression"
-    // InternalReportDSL.g:12424:1: entryRuleXBlockExpression returns [EObject current=null] : iv_ruleXBlockExpression= ruleXBlockExpression EOF ;
+    // InternalReportDSL.g:12733:1: entryRuleXBlockExpression returns [EObject current=null] : iv_ruleXBlockExpression= ruleXBlockExpression EOF ;
     public final EObject entryRuleXBlockExpression() throws RecognitionException {
         EObject current = null;
 
@@ -33566,8 +34412,8 @@
 
 
         try {
-            // InternalReportDSL.g:12424:57: (iv_ruleXBlockExpression= ruleXBlockExpression EOF )
-            // InternalReportDSL.g:12425:2: iv_ruleXBlockExpression= ruleXBlockExpression EOF
+            // InternalReportDSL.g:12733:57: (iv_ruleXBlockExpression= ruleXBlockExpression EOF )
+            // InternalReportDSL.g:12734:2: iv_ruleXBlockExpression= ruleXBlockExpression EOF
             {
             if ( state.backtracking==0 ) {
                newCompositeNode(grammarAccess.getXBlockExpressionRule()); 
@@ -33598,7 +34444,7 @@
 
 
     // $ANTLR start "ruleXBlockExpression"
-    // InternalReportDSL.g:12431:1: ruleXBlockExpression returns [EObject current=null] : ( () otherlv_1= '{' ( ( (lv_expressions_2_0= ruleXExpressionOrVarDeclaration ) ) (otherlv_3= ';' )? )* otherlv_4= '}' ) ;
+    // InternalReportDSL.g:12740:1: ruleXBlockExpression returns [EObject current=null] : ( () otherlv_1= '{' ( ( (lv_expressions_2_0= ruleXExpressionOrVarDeclaration ) ) (otherlv_3= ';' )? )* otherlv_4= '}' ) ;
     public final EObject ruleXBlockExpression() throws RecognitionException {
         EObject current = null;
 
@@ -33612,14 +34458,14 @@
         	enterRule();
 
         try {
-            // InternalReportDSL.g:12437:2: ( ( () otherlv_1= '{' ( ( (lv_expressions_2_0= ruleXExpressionOrVarDeclaration ) ) (otherlv_3= ';' )? )* otherlv_4= '}' ) )
-            // InternalReportDSL.g:12438:2: ( () otherlv_1= '{' ( ( (lv_expressions_2_0= ruleXExpressionOrVarDeclaration ) ) (otherlv_3= ';' )? )* otherlv_4= '}' )
+            // InternalReportDSL.g:12746:2: ( ( () otherlv_1= '{' ( ( (lv_expressions_2_0= ruleXExpressionOrVarDeclaration ) ) (otherlv_3= ';' )? )* otherlv_4= '}' ) )
+            // InternalReportDSL.g:12747:2: ( () otherlv_1= '{' ( ( (lv_expressions_2_0= ruleXExpressionOrVarDeclaration ) ) (otherlv_3= ';' )? )* otherlv_4= '}' )
             {
-            // InternalReportDSL.g:12438:2: ( () otherlv_1= '{' ( ( (lv_expressions_2_0= ruleXExpressionOrVarDeclaration ) ) (otherlv_3= ';' )? )* otherlv_4= '}' )
-            // InternalReportDSL.g:12439:3: () otherlv_1= '{' ( ( (lv_expressions_2_0= ruleXExpressionOrVarDeclaration ) ) (otherlv_3= ';' )? )* otherlv_4= '}'
+            // InternalReportDSL.g:12747:2: ( () otherlv_1= '{' ( ( (lv_expressions_2_0= ruleXExpressionOrVarDeclaration ) ) (otherlv_3= ';' )? )* otherlv_4= '}' )
+            // InternalReportDSL.g:12748:3: () otherlv_1= '{' ( ( (lv_expressions_2_0= ruleXExpressionOrVarDeclaration ) ) (otherlv_3= ';' )? )* otherlv_4= '}'
             {
-            // InternalReportDSL.g:12439:3: ()
-            // InternalReportDSL.g:12440:4: 
+            // InternalReportDSL.g:12748:3: ()
+            // InternalReportDSL.g:12749:4: 
             {
             if ( state.backtracking==0 ) {
 
@@ -33631,39 +34477,39 @@
 
             }
 
-            otherlv_1=(Token)match(input,14,FOLLOW_180); if (state.failed) return current;
+            otherlv_1=(Token)match(input,14,FOLLOW_172); if (state.failed) return current;
             if ( state.backtracking==0 ) {
 
               			newLeafNode(otherlv_1, grammarAccess.getXBlockExpressionAccess().getLeftCurlyBracketKeyword_1());
               		
             }
-            // InternalReportDSL.g:12450:3: ( ( (lv_expressions_2_0= ruleXExpressionOrVarDeclaration ) ) (otherlv_3= ';' )? )*
-            loop186:
+            // InternalReportDSL.g:12759:3: ( ( (lv_expressions_2_0= ruleXExpressionOrVarDeclaration ) ) (otherlv_3= ';' )? )*
+            loop174:
             do {
-                int alt186=2;
-                int LA186_0 = input.LA(1);
+                int alt174=2;
+                int LA174_0 = input.LA(1);
 
-                if ( ((LA186_0>=RULE_STRING && LA186_0<=RULE_DECIMAL)||LA186_0==14||LA186_0==39||LA186_0==103||LA186_0==116||(LA186_0>=127 && LA186_0<=129)||(LA186_0>=136 && LA186_0<=137)||LA186_0==144||LA186_0==160||LA186_0==164||LA186_0==171||LA186_0==173||(LA186_0>=177 && LA186_0<=190)||LA186_0==192) ) {
-                    alt186=1;
+                if ( ((LA174_0>=RULE_STRING && LA174_0<=RULE_DECIMAL)||LA174_0==14||LA174_0==39||LA174_0==102||LA174_0==115||(LA174_0>=126 && LA174_0<=128)||(LA174_0>=135 && LA174_0<=136)||LA174_0==143||LA174_0==159||LA174_0==163||LA174_0==170||LA174_0==172||(LA174_0>=176 && LA174_0<=189)||LA174_0==191) ) {
+                    alt174=1;
                 }
 
 
-                switch (alt186) {
+                switch (alt174) {
             	case 1 :
-            	    // InternalReportDSL.g:12451:4: ( (lv_expressions_2_0= ruleXExpressionOrVarDeclaration ) ) (otherlv_3= ';' )?
+            	    // InternalReportDSL.g:12760:4: ( (lv_expressions_2_0= ruleXExpressionOrVarDeclaration ) ) (otherlv_3= ';' )?
             	    {
-            	    // InternalReportDSL.g:12451:4: ( (lv_expressions_2_0= ruleXExpressionOrVarDeclaration ) )
-            	    // InternalReportDSL.g:12452:5: (lv_expressions_2_0= ruleXExpressionOrVarDeclaration )
+            	    // InternalReportDSL.g:12760:4: ( (lv_expressions_2_0= ruleXExpressionOrVarDeclaration ) )
+            	    // InternalReportDSL.g:12761:5: (lv_expressions_2_0= ruleXExpressionOrVarDeclaration )
             	    {
-            	    // InternalReportDSL.g:12452:5: (lv_expressions_2_0= ruleXExpressionOrVarDeclaration )
-            	    // InternalReportDSL.g:12453:6: lv_expressions_2_0= ruleXExpressionOrVarDeclaration
+            	    // InternalReportDSL.g:12761:5: (lv_expressions_2_0= ruleXExpressionOrVarDeclaration )
+            	    // InternalReportDSL.g:12762:6: lv_expressions_2_0= ruleXExpressionOrVarDeclaration
             	    {
             	    if ( state.backtracking==0 ) {
 
             	      						newCompositeNode(grammarAccess.getXBlockExpressionAccess().getExpressionsXExpressionOrVarDeclarationParserRuleCall_2_0_0());
             	      					
             	    }
-            	    pushFollow(FOLLOW_181);
+            	    pushFollow(FOLLOW_173);
             	    lv_expressions_2_0=ruleXExpressionOrVarDeclaration();
 
             	    state._fsp--;
@@ -33687,18 +34533,18 @@
 
             	    }
 
-            	    // InternalReportDSL.g:12470:4: (otherlv_3= ';' )?
-            	    int alt185=2;
-            	    int LA185_0 = input.LA(1);
+            	    // InternalReportDSL.g:12779:4: (otherlv_3= ';' )?
+            	    int alt173=2;
+            	    int LA173_0 = input.LA(1);
 
-            	    if ( (LA185_0==132) ) {
-            	        alt185=1;
+            	    if ( (LA173_0==131) ) {
+            	        alt173=1;
             	    }
-            	    switch (alt185) {
+            	    switch (alt173) {
             	        case 1 :
-            	            // InternalReportDSL.g:12471:5: otherlv_3= ';'
+            	            // InternalReportDSL.g:12780:5: otherlv_3= ';'
             	            {
-            	            otherlv_3=(Token)match(input,132,FOLLOW_180); if (state.failed) return current;
+            	            otherlv_3=(Token)match(input,131,FOLLOW_172); if (state.failed) return current;
             	            if ( state.backtracking==0 ) {
 
             	              					newLeafNode(otherlv_3, grammarAccess.getXBlockExpressionAccess().getSemicolonKeyword_2_1());
@@ -33715,7 +34561,7 @@
             	    break;
 
             	default :
-            	    break loop186;
+            	    break loop174;
                 }
             } while (true);
 
@@ -33750,7 +34596,7 @@
 
 
     // $ANTLR start "entryRuleXExpressionOrVarDeclaration"
-    // InternalReportDSL.g:12485:1: entryRuleXExpressionOrVarDeclaration returns [EObject current=null] : iv_ruleXExpressionOrVarDeclaration= ruleXExpressionOrVarDeclaration EOF ;
+    // InternalReportDSL.g:12794:1: entryRuleXExpressionOrVarDeclaration returns [EObject current=null] : iv_ruleXExpressionOrVarDeclaration= ruleXExpressionOrVarDeclaration EOF ;
     public final EObject entryRuleXExpressionOrVarDeclaration() throws RecognitionException {
         EObject current = null;
 
@@ -33758,8 +34604,8 @@
 
 
         try {
-            // InternalReportDSL.g:12485:68: (iv_ruleXExpressionOrVarDeclaration= ruleXExpressionOrVarDeclaration EOF )
-            // InternalReportDSL.g:12486:2: iv_ruleXExpressionOrVarDeclaration= ruleXExpressionOrVarDeclaration EOF
+            // InternalReportDSL.g:12794:68: (iv_ruleXExpressionOrVarDeclaration= ruleXExpressionOrVarDeclaration EOF )
+            // InternalReportDSL.g:12795:2: iv_ruleXExpressionOrVarDeclaration= ruleXExpressionOrVarDeclaration EOF
             {
             if ( state.backtracking==0 ) {
                newCompositeNode(grammarAccess.getXExpressionOrVarDeclarationRule()); 
@@ -33790,7 +34636,7 @@
 
 
     // $ANTLR start "ruleXExpressionOrVarDeclaration"
-    // InternalReportDSL.g:12492:1: ruleXExpressionOrVarDeclaration returns [EObject current=null] : (this_XVariableDeclaration_0= ruleXVariableDeclaration | this_XExpression_1= ruleXExpression ) ;
+    // InternalReportDSL.g:12801:1: ruleXExpressionOrVarDeclaration returns [EObject current=null] : (this_XVariableDeclaration_0= ruleXVariableDeclaration | this_XExpression_1= ruleXExpression ) ;
     public final EObject ruleXExpressionOrVarDeclaration() throws RecognitionException {
         EObject current = null;
 
@@ -33803,29 +34649,29 @@
         	enterRule();
 
         try {
-            // InternalReportDSL.g:12498:2: ( (this_XVariableDeclaration_0= ruleXVariableDeclaration | this_XExpression_1= ruleXExpression ) )
-            // InternalReportDSL.g:12499:2: (this_XVariableDeclaration_0= ruleXVariableDeclaration | this_XExpression_1= ruleXExpression )
+            // InternalReportDSL.g:12807:2: ( (this_XVariableDeclaration_0= ruleXVariableDeclaration | this_XExpression_1= ruleXExpression ) )
+            // InternalReportDSL.g:12808:2: (this_XVariableDeclaration_0= ruleXVariableDeclaration | this_XExpression_1= ruleXExpression )
             {
-            // InternalReportDSL.g:12499:2: (this_XVariableDeclaration_0= ruleXVariableDeclaration | this_XExpression_1= ruleXExpression )
-            int alt187=2;
-            int LA187_0 = input.LA(1);
+            // InternalReportDSL.g:12808:2: (this_XVariableDeclaration_0= ruleXVariableDeclaration | this_XExpression_1= ruleXExpression )
+            int alt175=2;
+            int LA175_0 = input.LA(1);
 
-            if ( ((LA187_0>=180 && LA187_0<=181)) ) {
-                alt187=1;
+            if ( ((LA175_0>=179 && LA175_0<=180)) ) {
+                alt175=1;
             }
-            else if ( ((LA187_0>=RULE_STRING && LA187_0<=RULE_DECIMAL)||LA187_0==14||LA187_0==39||LA187_0==103||LA187_0==116||(LA187_0>=127 && LA187_0<=129)||(LA187_0>=136 && LA187_0<=137)||LA187_0==144||LA187_0==160||LA187_0==164||LA187_0==171||LA187_0==173||(LA187_0>=177 && LA187_0<=179)||(LA187_0>=182 && LA187_0<=190)||LA187_0==192) ) {
-                alt187=2;
+            else if ( ((LA175_0>=RULE_STRING && LA175_0<=RULE_DECIMAL)||LA175_0==14||LA175_0==39||LA175_0==102||LA175_0==115||(LA175_0>=126 && LA175_0<=128)||(LA175_0>=135 && LA175_0<=136)||LA175_0==143||LA175_0==159||LA175_0==163||LA175_0==170||LA175_0==172||(LA175_0>=176 && LA175_0<=178)||(LA175_0>=181 && LA175_0<=189)||LA175_0==191) ) {
+                alt175=2;
             }
             else {
                 if (state.backtracking>0) {state.failed=true; return current;}
                 NoViableAltException nvae =
-                    new NoViableAltException("", 187, 0, input);
+                    new NoViableAltException("", 175, 0, input);
 
                 throw nvae;
             }
-            switch (alt187) {
+            switch (alt175) {
                 case 1 :
-                    // InternalReportDSL.g:12500:3: this_XVariableDeclaration_0= ruleXVariableDeclaration
+                    // InternalReportDSL.g:12809:3: this_XVariableDeclaration_0= ruleXVariableDeclaration
                     {
                     if ( state.backtracking==0 ) {
 
@@ -33847,7 +34693,7 @@
                     }
                     break;
                 case 2 :
-                    // InternalReportDSL.g:12509:3: this_XExpression_1= ruleXExpression
+                    // InternalReportDSL.g:12818:3: this_XExpression_1= ruleXExpression
                     {
                     if ( state.backtracking==0 ) {
 
@@ -33893,7 +34739,7 @@
 
 
     // $ANTLR start "entryRuleXVariableDeclaration"
-    // InternalReportDSL.g:12521:1: entryRuleXVariableDeclaration returns [EObject current=null] : iv_ruleXVariableDeclaration= ruleXVariableDeclaration EOF ;
+    // InternalReportDSL.g:12830:1: entryRuleXVariableDeclaration returns [EObject current=null] : iv_ruleXVariableDeclaration= ruleXVariableDeclaration EOF ;
     public final EObject entryRuleXVariableDeclaration() throws RecognitionException {
         EObject current = null;
 
@@ -33901,8 +34747,8 @@
 
 
         try {
-            // InternalReportDSL.g:12521:61: (iv_ruleXVariableDeclaration= ruleXVariableDeclaration EOF )
-            // InternalReportDSL.g:12522:2: iv_ruleXVariableDeclaration= ruleXVariableDeclaration EOF
+            // InternalReportDSL.g:12830:61: (iv_ruleXVariableDeclaration= ruleXVariableDeclaration EOF )
+            // InternalReportDSL.g:12831:2: iv_ruleXVariableDeclaration= ruleXVariableDeclaration EOF
             {
             if ( state.backtracking==0 ) {
                newCompositeNode(grammarAccess.getXVariableDeclarationRule()); 
@@ -33933,7 +34779,7 @@
 
 
     // $ANTLR start "ruleXVariableDeclaration"
-    // InternalReportDSL.g:12528:1: ruleXVariableDeclaration returns [EObject current=null] : ( () ( ( (lv_writeable_1_0= 'var' ) ) | otherlv_2= 'val' ) ( ( ( ( ( ( ruleJvmTypeReference ) ) ( ( ruleValidID ) ) ) )=> ( ( (lv_type_3_0= ruleJvmTypeReference ) ) ( (lv_name_4_0= ruleValidID ) ) ) ) | ( (lv_name_5_0= ruleValidID ) ) ) (otherlv_6= '=' ( (lv_right_7_0= ruleXExpression ) ) )? ) ;
+    // InternalReportDSL.g:12837:1: ruleXVariableDeclaration returns [EObject current=null] : ( () ( ( (lv_writeable_1_0= 'var' ) ) | otherlv_2= 'val' ) ( ( ( ( ( ( ruleJvmTypeReference ) ) ( ( ruleValidID ) ) ) )=> ( ( (lv_type_3_0= ruleJvmTypeReference ) ) ( (lv_name_4_0= ruleValidID ) ) ) ) | ( (lv_name_5_0= ruleValidID ) ) ) (otherlv_6= '=' ( (lv_right_7_0= ruleXExpression ) ) )? ) ;
     public final EObject ruleXVariableDeclaration() throws RecognitionException {
         EObject current = null;
 
@@ -33953,14 +34799,14 @@
         	enterRule();
 
         try {
-            // InternalReportDSL.g:12534:2: ( ( () ( ( (lv_writeable_1_0= 'var' ) ) | otherlv_2= 'val' ) ( ( ( ( ( ( ruleJvmTypeReference ) ) ( ( ruleValidID ) ) ) )=> ( ( (lv_type_3_0= ruleJvmTypeReference ) ) ( (lv_name_4_0= ruleValidID ) ) ) ) | ( (lv_name_5_0= ruleValidID ) ) ) (otherlv_6= '=' ( (lv_right_7_0= ruleXExpression ) ) )? ) )
-            // InternalReportDSL.g:12535:2: ( () ( ( (lv_writeable_1_0= 'var' ) ) | otherlv_2= 'val' ) ( ( ( ( ( ( ruleJvmTypeReference ) ) ( ( ruleValidID ) ) ) )=> ( ( (lv_type_3_0= ruleJvmTypeReference ) ) ( (lv_name_4_0= ruleValidID ) ) ) ) | ( (lv_name_5_0= ruleValidID ) ) ) (otherlv_6= '=' ( (lv_right_7_0= ruleXExpression ) ) )? )
+            // InternalReportDSL.g:12843:2: ( ( () ( ( (lv_writeable_1_0= 'var' ) ) | otherlv_2= 'val' ) ( ( ( ( ( ( ruleJvmTypeReference ) ) ( ( ruleValidID ) ) ) )=> ( ( (lv_type_3_0= ruleJvmTypeReference ) ) ( (lv_name_4_0= ruleValidID ) ) ) ) | ( (lv_name_5_0= ruleValidID ) ) ) (otherlv_6= '=' ( (lv_right_7_0= ruleXExpression ) ) )? ) )
+            // InternalReportDSL.g:12844:2: ( () ( ( (lv_writeable_1_0= 'var' ) ) | otherlv_2= 'val' ) ( ( ( ( ( ( ruleJvmTypeReference ) ) ( ( ruleValidID ) ) ) )=> ( ( (lv_type_3_0= ruleJvmTypeReference ) ) ( (lv_name_4_0= ruleValidID ) ) ) ) | ( (lv_name_5_0= ruleValidID ) ) ) (otherlv_6= '=' ( (lv_right_7_0= ruleXExpression ) ) )? )
             {
-            // InternalReportDSL.g:12535:2: ( () ( ( (lv_writeable_1_0= 'var' ) ) | otherlv_2= 'val' ) ( ( ( ( ( ( ruleJvmTypeReference ) ) ( ( ruleValidID ) ) ) )=> ( ( (lv_type_3_0= ruleJvmTypeReference ) ) ( (lv_name_4_0= ruleValidID ) ) ) ) | ( (lv_name_5_0= ruleValidID ) ) ) (otherlv_6= '=' ( (lv_right_7_0= ruleXExpression ) ) )? )
-            // InternalReportDSL.g:12536:3: () ( ( (lv_writeable_1_0= 'var' ) ) | otherlv_2= 'val' ) ( ( ( ( ( ( ruleJvmTypeReference ) ) ( ( ruleValidID ) ) ) )=> ( ( (lv_type_3_0= ruleJvmTypeReference ) ) ( (lv_name_4_0= ruleValidID ) ) ) ) | ( (lv_name_5_0= ruleValidID ) ) ) (otherlv_6= '=' ( (lv_right_7_0= ruleXExpression ) ) )?
+            // InternalReportDSL.g:12844:2: ( () ( ( (lv_writeable_1_0= 'var' ) ) | otherlv_2= 'val' ) ( ( ( ( ( ( ruleJvmTypeReference ) ) ( ( ruleValidID ) ) ) )=> ( ( (lv_type_3_0= ruleJvmTypeReference ) ) ( (lv_name_4_0= ruleValidID ) ) ) ) | ( (lv_name_5_0= ruleValidID ) ) ) (otherlv_6= '=' ( (lv_right_7_0= ruleXExpression ) ) )? )
+            // InternalReportDSL.g:12845:3: () ( ( (lv_writeable_1_0= 'var' ) ) | otherlv_2= 'val' ) ( ( ( ( ( ( ruleJvmTypeReference ) ) ( ( ruleValidID ) ) ) )=> ( ( (lv_type_3_0= ruleJvmTypeReference ) ) ( (lv_name_4_0= ruleValidID ) ) ) ) | ( (lv_name_5_0= ruleValidID ) ) ) (otherlv_6= '=' ( (lv_right_7_0= ruleXExpression ) ) )?
             {
-            // InternalReportDSL.g:12536:3: ()
-            // InternalReportDSL.g:12537:4: 
+            // InternalReportDSL.g:12845:3: ()
+            // InternalReportDSL.g:12846:4: 
             {
             if ( state.backtracking==0 ) {
 
@@ -33972,34 +34818,34 @@
 
             }
 
-            // InternalReportDSL.g:12543:3: ( ( (lv_writeable_1_0= 'var' ) ) | otherlv_2= 'val' )
-            int alt188=2;
-            int LA188_0 = input.LA(1);
+            // InternalReportDSL.g:12852:3: ( ( (lv_writeable_1_0= 'var' ) ) | otherlv_2= 'val' )
+            int alt176=2;
+            int LA176_0 = input.LA(1);
 
-            if ( (LA188_0==180) ) {
-                alt188=1;
+            if ( (LA176_0==179) ) {
+                alt176=1;
             }
-            else if ( (LA188_0==181) ) {
-                alt188=2;
+            else if ( (LA176_0==180) ) {
+                alt176=2;
             }
             else {
                 if (state.backtracking>0) {state.failed=true; return current;}
                 NoViableAltException nvae =
-                    new NoViableAltException("", 188, 0, input);
+                    new NoViableAltException("", 176, 0, input);
 
                 throw nvae;
             }
-            switch (alt188) {
+            switch (alt176) {
                 case 1 :
-                    // InternalReportDSL.g:12544:4: ( (lv_writeable_1_0= 'var' ) )
+                    // InternalReportDSL.g:12853:4: ( (lv_writeable_1_0= 'var' ) )
                     {
-                    // InternalReportDSL.g:12544:4: ( (lv_writeable_1_0= 'var' ) )
-                    // InternalReportDSL.g:12545:5: (lv_writeable_1_0= 'var' )
+                    // InternalReportDSL.g:12853:4: ( (lv_writeable_1_0= 'var' ) )
+                    // InternalReportDSL.g:12854:5: (lv_writeable_1_0= 'var' )
                     {
-                    // InternalReportDSL.g:12545:5: (lv_writeable_1_0= 'var' )
-                    // InternalReportDSL.g:12546:6: lv_writeable_1_0= 'var'
+                    // InternalReportDSL.g:12854:5: (lv_writeable_1_0= 'var' )
+                    // InternalReportDSL.g:12855:6: lv_writeable_1_0= 'var'
                     {
-                    lv_writeable_1_0=(Token)match(input,180,FOLLOW_143); if (state.failed) return current;
+                    lv_writeable_1_0=(Token)match(input,179,FOLLOW_135); if (state.failed) return current;
                     if ( state.backtracking==0 ) {
 
                       						newLeafNode(lv_writeable_1_0, grammarAccess.getXVariableDeclarationAccess().getWriteableVarKeyword_1_0_0());
@@ -34023,9 +34869,9 @@
                     }
                     break;
                 case 2 :
-                    // InternalReportDSL.g:12559:4: otherlv_2= 'val'
+                    // InternalReportDSL.g:12868:4: otherlv_2= 'val'
                     {
-                    otherlv_2=(Token)match(input,181,FOLLOW_143); if (state.failed) return current;
+                    otherlv_2=(Token)match(input,180,FOLLOW_135); if (state.failed) return current;
                     if ( state.backtracking==0 ) {
 
                       				newLeafNode(otherlv_2, grammarAccess.getXVariableDeclarationAccess().getValKeyword_1_1());
@@ -34037,55 +34883,55 @@
 
             }
 
-            // InternalReportDSL.g:12564:3: ( ( ( ( ( ( ruleJvmTypeReference ) ) ( ( ruleValidID ) ) ) )=> ( ( (lv_type_3_0= ruleJvmTypeReference ) ) ( (lv_name_4_0= ruleValidID ) ) ) ) | ( (lv_name_5_0= ruleValidID ) ) )
-            int alt189=2;
-            int LA189_0 = input.LA(1);
+            // InternalReportDSL.g:12873:3: ( ( ( ( ( ( ruleJvmTypeReference ) ) ( ( ruleValidID ) ) ) )=> ( ( (lv_type_3_0= ruleJvmTypeReference ) ) ( (lv_name_4_0= ruleValidID ) ) ) ) | ( (lv_name_5_0= ruleValidID ) ) )
+            int alt177=2;
+            int LA177_0 = input.LA(1);
 
-            if ( (LA189_0==RULE_ID) ) {
-                int LA189_1 = input.LA(2);
+            if ( (LA177_0==RULE_ID) ) {
+                int LA177_1 = input.LA(2);
 
                 if ( (synpred35_InternalReportDSL()) ) {
-                    alt189=1;
+                    alt177=1;
                 }
                 else if ( (true) ) {
-                    alt189=2;
+                    alt177=2;
                 }
                 else {
                     if (state.backtracking>0) {state.failed=true; return current;}
                     NoViableAltException nvae =
-                        new NoViableAltException("", 189, 1, input);
+                        new NoViableAltException("", 177, 1, input);
 
                     throw nvae;
                 }
             }
-            else if ( (LA189_0==103) && (synpred35_InternalReportDSL())) {
-                alt189=1;
+            else if ( (LA177_0==102) && (synpred35_InternalReportDSL())) {
+                alt177=1;
             }
-            else if ( (LA189_0==157) && (synpred35_InternalReportDSL())) {
-                alt189=1;
+            else if ( (LA177_0==156) && (synpred35_InternalReportDSL())) {
+                alt177=1;
             }
             else {
                 if (state.backtracking>0) {state.failed=true; return current;}
                 NoViableAltException nvae =
-                    new NoViableAltException("", 189, 0, input);
+                    new NoViableAltException("", 177, 0, input);
 
                 throw nvae;
             }
-            switch (alt189) {
+            switch (alt177) {
                 case 1 :
-                    // InternalReportDSL.g:12565:4: ( ( ( ( ( ruleJvmTypeReference ) ) ( ( ruleValidID ) ) ) )=> ( ( (lv_type_3_0= ruleJvmTypeReference ) ) ( (lv_name_4_0= ruleValidID ) ) ) )
+                    // InternalReportDSL.g:12874:4: ( ( ( ( ( ruleJvmTypeReference ) ) ( ( ruleValidID ) ) ) )=> ( ( (lv_type_3_0= ruleJvmTypeReference ) ) ( (lv_name_4_0= ruleValidID ) ) ) )
                     {
-                    // InternalReportDSL.g:12565:4: ( ( ( ( ( ruleJvmTypeReference ) ) ( ( ruleValidID ) ) ) )=> ( ( (lv_type_3_0= ruleJvmTypeReference ) ) ( (lv_name_4_0= ruleValidID ) ) ) )
-                    // InternalReportDSL.g:12566:5: ( ( ( ( ruleJvmTypeReference ) ) ( ( ruleValidID ) ) ) )=> ( ( (lv_type_3_0= ruleJvmTypeReference ) ) ( (lv_name_4_0= ruleValidID ) ) )
+                    // InternalReportDSL.g:12874:4: ( ( ( ( ( ruleJvmTypeReference ) ) ( ( ruleValidID ) ) ) )=> ( ( (lv_type_3_0= ruleJvmTypeReference ) ) ( (lv_name_4_0= ruleValidID ) ) ) )
+                    // InternalReportDSL.g:12875:5: ( ( ( ( ruleJvmTypeReference ) ) ( ( ruleValidID ) ) ) )=> ( ( (lv_type_3_0= ruleJvmTypeReference ) ) ( (lv_name_4_0= ruleValidID ) ) )
                     {
-                    // InternalReportDSL.g:12579:5: ( ( (lv_type_3_0= ruleJvmTypeReference ) ) ( (lv_name_4_0= ruleValidID ) ) )
-                    // InternalReportDSL.g:12580:6: ( (lv_type_3_0= ruleJvmTypeReference ) ) ( (lv_name_4_0= ruleValidID ) )
+                    // InternalReportDSL.g:12888:5: ( ( (lv_type_3_0= ruleJvmTypeReference ) ) ( (lv_name_4_0= ruleValidID ) ) )
+                    // InternalReportDSL.g:12889:6: ( (lv_type_3_0= ruleJvmTypeReference ) ) ( (lv_name_4_0= ruleValidID ) )
                     {
-                    // InternalReportDSL.g:12580:6: ( (lv_type_3_0= ruleJvmTypeReference ) )
-                    // InternalReportDSL.g:12581:7: (lv_type_3_0= ruleJvmTypeReference )
+                    // InternalReportDSL.g:12889:6: ( (lv_type_3_0= ruleJvmTypeReference ) )
+                    // InternalReportDSL.g:12890:7: (lv_type_3_0= ruleJvmTypeReference )
                     {
-                    // InternalReportDSL.g:12581:7: (lv_type_3_0= ruleJvmTypeReference )
-                    // InternalReportDSL.g:12582:8: lv_type_3_0= ruleJvmTypeReference
+                    // InternalReportDSL.g:12890:7: (lv_type_3_0= ruleJvmTypeReference )
+                    // InternalReportDSL.g:12891:8: lv_type_3_0= ruleJvmTypeReference
                     {
                     if ( state.backtracking==0 ) {
 
@@ -34116,18 +34962,18 @@
 
                     }
 
-                    // InternalReportDSL.g:12599:6: ( (lv_name_4_0= ruleValidID ) )
-                    // InternalReportDSL.g:12600:7: (lv_name_4_0= ruleValidID )
+                    // InternalReportDSL.g:12908:6: ( (lv_name_4_0= ruleValidID ) )
+                    // InternalReportDSL.g:12909:7: (lv_name_4_0= ruleValidID )
                     {
-                    // InternalReportDSL.g:12600:7: (lv_name_4_0= ruleValidID )
-                    // InternalReportDSL.g:12601:8: lv_name_4_0= ruleValidID
+                    // InternalReportDSL.g:12909:7: (lv_name_4_0= ruleValidID )
+                    // InternalReportDSL.g:12910:8: lv_name_4_0= ruleValidID
                     {
                     if ( state.backtracking==0 ) {
 
                       								newCompositeNode(grammarAccess.getXVariableDeclarationAccess().getNameValidIDParserRuleCall_2_0_0_1_0());
                       							
                     }
-                    pushFollow(FOLLOW_182);
+                    pushFollow(FOLLOW_174);
                     lv_name_4_0=ruleValidID();
 
                     state._fsp--;
@@ -34161,20 +35007,20 @@
                     }
                     break;
                 case 2 :
-                    // InternalReportDSL.g:12621:4: ( (lv_name_5_0= ruleValidID ) )
+                    // InternalReportDSL.g:12930:4: ( (lv_name_5_0= ruleValidID ) )
                     {
-                    // InternalReportDSL.g:12621:4: ( (lv_name_5_0= ruleValidID ) )
-                    // InternalReportDSL.g:12622:5: (lv_name_5_0= ruleValidID )
+                    // InternalReportDSL.g:12930:4: ( (lv_name_5_0= ruleValidID ) )
+                    // InternalReportDSL.g:12931:5: (lv_name_5_0= ruleValidID )
                     {
-                    // InternalReportDSL.g:12622:5: (lv_name_5_0= ruleValidID )
-                    // InternalReportDSL.g:12623:6: lv_name_5_0= ruleValidID
+                    // InternalReportDSL.g:12931:5: (lv_name_5_0= ruleValidID )
+                    // InternalReportDSL.g:12932:6: lv_name_5_0= ruleValidID
                     {
                     if ( state.backtracking==0 ) {
 
                       						newCompositeNode(grammarAccess.getXVariableDeclarationAccess().getNameValidIDParserRuleCall_2_1_0());
                       					
                     }
-                    pushFollow(FOLLOW_182);
+                    pushFollow(FOLLOW_174);
                     lv_name_5_0=ruleValidID();
 
                     state._fsp--;
@@ -34204,28 +35050,28 @@
 
             }
 
-            // InternalReportDSL.g:12641:3: (otherlv_6= '=' ( (lv_right_7_0= ruleXExpression ) ) )?
-            int alt190=2;
-            int LA190_0 = input.LA(1);
+            // InternalReportDSL.g:12950:3: (otherlv_6= '=' ( (lv_right_7_0= ruleXExpression ) ) )?
+            int alt178=2;
+            int LA178_0 = input.LA(1);
 
-            if ( (LA190_0==135) ) {
-                alt190=1;
+            if ( (LA178_0==134) ) {
+                alt178=1;
             }
-            switch (alt190) {
+            switch (alt178) {
                 case 1 :
-                    // InternalReportDSL.g:12642:4: otherlv_6= '=' ( (lv_right_7_0= ruleXExpression ) )
+                    // InternalReportDSL.g:12951:4: otherlv_6= '=' ( (lv_right_7_0= ruleXExpression ) )
                     {
-                    otherlv_6=(Token)match(input,135,FOLLOW_130); if (state.failed) return current;
+                    otherlv_6=(Token)match(input,134,FOLLOW_122); if (state.failed) return current;
                     if ( state.backtracking==0 ) {
 
                       				newLeafNode(otherlv_6, grammarAccess.getXVariableDeclarationAccess().getEqualsSignKeyword_3_0());
                       			
                     }
-                    // InternalReportDSL.g:12646:4: ( (lv_right_7_0= ruleXExpression ) )
-                    // InternalReportDSL.g:12647:5: (lv_right_7_0= ruleXExpression )
+                    // InternalReportDSL.g:12955:4: ( (lv_right_7_0= ruleXExpression ) )
+                    // InternalReportDSL.g:12956:5: (lv_right_7_0= ruleXExpression )
                     {
-                    // InternalReportDSL.g:12647:5: (lv_right_7_0= ruleXExpression )
-                    // InternalReportDSL.g:12648:6: lv_right_7_0= ruleXExpression
+                    // InternalReportDSL.g:12956:5: (lv_right_7_0= ruleXExpression )
+                    // InternalReportDSL.g:12957:6: lv_right_7_0= ruleXExpression
                     {
                     if ( state.backtracking==0 ) {
 
@@ -34287,7 +35133,7 @@
 
 
     // $ANTLR start "entryRuleJvmFormalParameter"
-    // InternalReportDSL.g:12670:1: entryRuleJvmFormalParameter returns [EObject current=null] : iv_ruleJvmFormalParameter= ruleJvmFormalParameter EOF ;
+    // InternalReportDSL.g:12979:1: entryRuleJvmFormalParameter returns [EObject current=null] : iv_ruleJvmFormalParameter= ruleJvmFormalParameter EOF ;
     public final EObject entryRuleJvmFormalParameter() throws RecognitionException {
         EObject current = null;
 
@@ -34295,8 +35141,8 @@
 
 
         try {
-            // InternalReportDSL.g:12670:59: (iv_ruleJvmFormalParameter= ruleJvmFormalParameter EOF )
-            // InternalReportDSL.g:12671:2: iv_ruleJvmFormalParameter= ruleJvmFormalParameter EOF
+            // InternalReportDSL.g:12979:59: (iv_ruleJvmFormalParameter= ruleJvmFormalParameter EOF )
+            // InternalReportDSL.g:12980:2: iv_ruleJvmFormalParameter= ruleJvmFormalParameter EOF
             {
             if ( state.backtracking==0 ) {
                newCompositeNode(grammarAccess.getJvmFormalParameterRule()); 
@@ -34327,7 +35173,7 @@
 
 
     // $ANTLR start "ruleJvmFormalParameter"
-    // InternalReportDSL.g:12677:1: ruleJvmFormalParameter returns [EObject current=null] : ( ( (lv_parameterType_0_0= ruleJvmTypeReference ) )? ( (lv_name_1_0= ruleValidID ) ) ) ;
+    // InternalReportDSL.g:12986:1: ruleJvmFormalParameter returns [EObject current=null] : ( ( (lv_parameterType_0_0= ruleJvmTypeReference ) )? ( (lv_name_1_0= ruleValidID ) ) ) ;
     public final EObject ruleJvmFormalParameter() throws RecognitionException {
         EObject current = null;
 
@@ -34340,32 +35186,32 @@
         	enterRule();
 
         try {
-            // InternalReportDSL.g:12683:2: ( ( ( (lv_parameterType_0_0= ruleJvmTypeReference ) )? ( (lv_name_1_0= ruleValidID ) ) ) )
-            // InternalReportDSL.g:12684:2: ( ( (lv_parameterType_0_0= ruleJvmTypeReference ) )? ( (lv_name_1_0= ruleValidID ) ) )
+            // InternalReportDSL.g:12992:2: ( ( ( (lv_parameterType_0_0= ruleJvmTypeReference ) )? ( (lv_name_1_0= ruleValidID ) ) ) )
+            // InternalReportDSL.g:12993:2: ( ( (lv_parameterType_0_0= ruleJvmTypeReference ) )? ( (lv_name_1_0= ruleValidID ) ) )
             {
-            // InternalReportDSL.g:12684:2: ( ( (lv_parameterType_0_0= ruleJvmTypeReference ) )? ( (lv_name_1_0= ruleValidID ) ) )
-            // InternalReportDSL.g:12685:3: ( (lv_parameterType_0_0= ruleJvmTypeReference ) )? ( (lv_name_1_0= ruleValidID ) )
+            // InternalReportDSL.g:12993:2: ( ( (lv_parameterType_0_0= ruleJvmTypeReference ) )? ( (lv_name_1_0= ruleValidID ) ) )
+            // InternalReportDSL.g:12994:3: ( (lv_parameterType_0_0= ruleJvmTypeReference ) )? ( (lv_name_1_0= ruleValidID ) )
             {
-            // InternalReportDSL.g:12685:3: ( (lv_parameterType_0_0= ruleJvmTypeReference ) )?
-            int alt191=2;
-            int LA191_0 = input.LA(1);
+            // InternalReportDSL.g:12994:3: ( (lv_parameterType_0_0= ruleJvmTypeReference ) )?
+            int alt179=2;
+            int LA179_0 = input.LA(1);
 
-            if ( (LA191_0==RULE_ID) ) {
-                int LA191_1 = input.LA(2);
+            if ( (LA179_0==RULE_ID) ) {
+                int LA179_1 = input.LA(2);
 
-                if ( (LA191_1==RULE_ID||LA191_1==137||LA191_1==144||LA191_1==167) ) {
-                    alt191=1;
+                if ( (LA179_1==RULE_ID||LA179_1==136||LA179_1==143||LA179_1==166) ) {
+                    alt179=1;
                 }
             }
-            else if ( (LA191_0==103||LA191_0==157) ) {
-                alt191=1;
+            else if ( (LA179_0==102||LA179_0==156) ) {
+                alt179=1;
             }
-            switch (alt191) {
+            switch (alt179) {
                 case 1 :
-                    // InternalReportDSL.g:12686:4: (lv_parameterType_0_0= ruleJvmTypeReference )
+                    // InternalReportDSL.g:12995:4: (lv_parameterType_0_0= ruleJvmTypeReference )
                     {
-                    // InternalReportDSL.g:12686:4: (lv_parameterType_0_0= ruleJvmTypeReference )
-                    // InternalReportDSL.g:12687:5: lv_parameterType_0_0= ruleJvmTypeReference
+                    // InternalReportDSL.g:12995:4: (lv_parameterType_0_0= ruleJvmTypeReference )
+                    // InternalReportDSL.g:12996:5: lv_parameterType_0_0= ruleJvmTypeReference
                     {
                     if ( state.backtracking==0 ) {
 
@@ -34399,11 +35245,11 @@
 
             }
 
-            // InternalReportDSL.g:12704:3: ( (lv_name_1_0= ruleValidID ) )
-            // InternalReportDSL.g:12705:4: (lv_name_1_0= ruleValidID )
+            // InternalReportDSL.g:13013:3: ( (lv_name_1_0= ruleValidID ) )
+            // InternalReportDSL.g:13014:4: (lv_name_1_0= ruleValidID )
             {
-            // InternalReportDSL.g:12705:4: (lv_name_1_0= ruleValidID )
-            // InternalReportDSL.g:12706:5: lv_name_1_0= ruleValidID
+            // InternalReportDSL.g:13014:4: (lv_name_1_0= ruleValidID )
+            // InternalReportDSL.g:13015:5: lv_name_1_0= ruleValidID
             {
             if ( state.backtracking==0 ) {
 
@@ -34459,7 +35305,7 @@
 
 
     // $ANTLR start "entryRuleFullJvmFormalParameter"
-    // InternalReportDSL.g:12727:1: entryRuleFullJvmFormalParameter returns [EObject current=null] : iv_ruleFullJvmFormalParameter= ruleFullJvmFormalParameter EOF ;
+    // InternalReportDSL.g:13036:1: entryRuleFullJvmFormalParameter returns [EObject current=null] : iv_ruleFullJvmFormalParameter= ruleFullJvmFormalParameter EOF ;
     public final EObject entryRuleFullJvmFormalParameter() throws RecognitionException {
         EObject current = null;
 
@@ -34467,8 +35313,8 @@
 
 
         try {
-            // InternalReportDSL.g:12727:63: (iv_ruleFullJvmFormalParameter= ruleFullJvmFormalParameter EOF )
-            // InternalReportDSL.g:12728:2: iv_ruleFullJvmFormalParameter= ruleFullJvmFormalParameter EOF
+            // InternalReportDSL.g:13036:63: (iv_ruleFullJvmFormalParameter= ruleFullJvmFormalParameter EOF )
+            // InternalReportDSL.g:13037:2: iv_ruleFullJvmFormalParameter= ruleFullJvmFormalParameter EOF
             {
             if ( state.backtracking==0 ) {
                newCompositeNode(grammarAccess.getFullJvmFormalParameterRule()); 
@@ -34499,7 +35345,7 @@
 
 
     // $ANTLR start "ruleFullJvmFormalParameter"
-    // InternalReportDSL.g:12734:1: ruleFullJvmFormalParameter returns [EObject current=null] : ( ( (lv_parameterType_0_0= ruleJvmTypeReference ) ) ( (lv_name_1_0= ruleValidID ) ) ) ;
+    // InternalReportDSL.g:13043:1: ruleFullJvmFormalParameter returns [EObject current=null] : ( ( (lv_parameterType_0_0= ruleJvmTypeReference ) ) ( (lv_name_1_0= ruleValidID ) ) ) ;
     public final EObject ruleFullJvmFormalParameter() throws RecognitionException {
         EObject current = null;
 
@@ -34512,17 +35358,17 @@
         	enterRule();
 
         try {
-            // InternalReportDSL.g:12740:2: ( ( ( (lv_parameterType_0_0= ruleJvmTypeReference ) ) ( (lv_name_1_0= ruleValidID ) ) ) )
-            // InternalReportDSL.g:12741:2: ( ( (lv_parameterType_0_0= ruleJvmTypeReference ) ) ( (lv_name_1_0= ruleValidID ) ) )
+            // InternalReportDSL.g:13049:2: ( ( ( (lv_parameterType_0_0= ruleJvmTypeReference ) ) ( (lv_name_1_0= ruleValidID ) ) ) )
+            // InternalReportDSL.g:13050:2: ( ( (lv_parameterType_0_0= ruleJvmTypeReference ) ) ( (lv_name_1_0= ruleValidID ) ) )
             {
-            // InternalReportDSL.g:12741:2: ( ( (lv_parameterType_0_0= ruleJvmTypeReference ) ) ( (lv_name_1_0= ruleValidID ) ) )
-            // InternalReportDSL.g:12742:3: ( (lv_parameterType_0_0= ruleJvmTypeReference ) ) ( (lv_name_1_0= ruleValidID ) )
+            // InternalReportDSL.g:13050:2: ( ( (lv_parameterType_0_0= ruleJvmTypeReference ) ) ( (lv_name_1_0= ruleValidID ) ) )
+            // InternalReportDSL.g:13051:3: ( (lv_parameterType_0_0= ruleJvmTypeReference ) ) ( (lv_name_1_0= ruleValidID ) )
             {
-            // InternalReportDSL.g:12742:3: ( (lv_parameterType_0_0= ruleJvmTypeReference ) )
-            // InternalReportDSL.g:12743:4: (lv_parameterType_0_0= ruleJvmTypeReference )
+            // InternalReportDSL.g:13051:3: ( (lv_parameterType_0_0= ruleJvmTypeReference ) )
+            // InternalReportDSL.g:13052:4: (lv_parameterType_0_0= ruleJvmTypeReference )
             {
-            // InternalReportDSL.g:12743:4: (lv_parameterType_0_0= ruleJvmTypeReference )
-            // InternalReportDSL.g:12744:5: lv_parameterType_0_0= ruleJvmTypeReference
+            // InternalReportDSL.g:13052:4: (lv_parameterType_0_0= ruleJvmTypeReference )
+            // InternalReportDSL.g:13053:5: lv_parameterType_0_0= ruleJvmTypeReference
             {
             if ( state.backtracking==0 ) {
 
@@ -34553,11 +35399,11 @@
 
             }
 
-            // InternalReportDSL.g:12761:3: ( (lv_name_1_0= ruleValidID ) )
-            // InternalReportDSL.g:12762:4: (lv_name_1_0= ruleValidID )
+            // InternalReportDSL.g:13070:3: ( (lv_name_1_0= ruleValidID ) )
+            // InternalReportDSL.g:13071:4: (lv_name_1_0= ruleValidID )
             {
-            // InternalReportDSL.g:12762:4: (lv_name_1_0= ruleValidID )
-            // InternalReportDSL.g:12763:5: lv_name_1_0= ruleValidID
+            // InternalReportDSL.g:13071:4: (lv_name_1_0= ruleValidID )
+            // InternalReportDSL.g:13072:5: lv_name_1_0= ruleValidID
             {
             if ( state.backtracking==0 ) {
 
@@ -34613,7 +35459,7 @@
 
 
     // $ANTLR start "entryRuleXFeatureCall"
-    // InternalReportDSL.g:12784:1: entryRuleXFeatureCall returns [EObject current=null] : iv_ruleXFeatureCall= ruleXFeatureCall EOF ;
+    // InternalReportDSL.g:13093:1: entryRuleXFeatureCall returns [EObject current=null] : iv_ruleXFeatureCall= ruleXFeatureCall EOF ;
     public final EObject entryRuleXFeatureCall() throws RecognitionException {
         EObject current = null;
 
@@ -34621,8 +35467,8 @@
 
 
         try {
-            // InternalReportDSL.g:12784:53: (iv_ruleXFeatureCall= ruleXFeatureCall EOF )
-            // InternalReportDSL.g:12785:2: iv_ruleXFeatureCall= ruleXFeatureCall EOF
+            // InternalReportDSL.g:13093:53: (iv_ruleXFeatureCall= ruleXFeatureCall EOF )
+            // InternalReportDSL.g:13094:2: iv_ruleXFeatureCall= ruleXFeatureCall EOF
             {
             if ( state.backtracking==0 ) {
                newCompositeNode(grammarAccess.getXFeatureCallRule()); 
@@ -34653,7 +35499,7 @@
 
 
     // $ANTLR start "ruleXFeatureCall"
-    // InternalReportDSL.g:12791:1: ruleXFeatureCall returns [EObject current=null] : ( () (otherlv_1= '<' ( (lv_typeArguments_2_0= ruleJvmArgumentTypeReference ) ) (otherlv_3= ',' ( (lv_typeArguments_4_0= ruleJvmArgumentTypeReference ) ) )* otherlv_5= '>' )? ( ( ruleIdOrSuper ) ) ( ( ( ( '(' ) )=> (lv_explicitOperationCall_7_0= '(' ) ) ( ( ( ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> (lv_featureCallArguments_8_0= ruleXShortClosure ) ) | ( ( (lv_featureCallArguments_9_0= ruleXExpression ) ) (otherlv_10= ',' ( (lv_featureCallArguments_11_0= ruleXExpression ) ) )* ) )? otherlv_12= ')' )? ( ( ( () '[' ) )=> (lv_featureCallArguments_13_0= ruleXClosure ) )? ) ;
+    // InternalReportDSL.g:13100:1: ruleXFeatureCall returns [EObject current=null] : ( () (otherlv_1= '<' ( (lv_typeArguments_2_0= ruleJvmArgumentTypeReference ) ) (otherlv_3= ',' ( (lv_typeArguments_4_0= ruleJvmArgumentTypeReference ) ) )* otherlv_5= '>' )? ( ( ruleIdOrSuper ) ) ( ( ( ( '(' ) )=> (lv_explicitOperationCall_7_0= '(' ) ) ( ( ( ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> (lv_featureCallArguments_8_0= ruleXShortClosure ) ) | ( ( (lv_featureCallArguments_9_0= ruleXExpression ) ) (otherlv_10= ',' ( (lv_featureCallArguments_11_0= ruleXExpression ) ) )* ) )? otherlv_12= ')' )? ( ( ( () '[' ) )=> (lv_featureCallArguments_13_0= ruleXClosure ) )? ) ;
     public final EObject ruleXFeatureCall() throws RecognitionException {
         EObject current = null;
 
@@ -34680,14 +35526,14 @@
         	enterRule();
 
         try {
-            // InternalReportDSL.g:12797:2: ( ( () (otherlv_1= '<' ( (lv_typeArguments_2_0= ruleJvmArgumentTypeReference ) ) (otherlv_3= ',' ( (lv_typeArguments_4_0= ruleJvmArgumentTypeReference ) ) )* otherlv_5= '>' )? ( ( ruleIdOrSuper ) ) ( ( ( ( '(' ) )=> (lv_explicitOperationCall_7_0= '(' ) ) ( ( ( ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> (lv_featureCallArguments_8_0= ruleXShortClosure ) ) | ( ( (lv_featureCallArguments_9_0= ruleXExpression ) ) (otherlv_10= ',' ( (lv_featureCallArguments_11_0= ruleXExpression ) ) )* ) )? otherlv_12= ')' )? ( ( ( () '[' ) )=> (lv_featureCallArguments_13_0= ruleXClosure ) )? ) )
-            // InternalReportDSL.g:12798:2: ( () (otherlv_1= '<' ( (lv_typeArguments_2_0= ruleJvmArgumentTypeReference ) ) (otherlv_3= ',' ( (lv_typeArguments_4_0= ruleJvmArgumentTypeReference ) ) )* otherlv_5= '>' )? ( ( ruleIdOrSuper ) ) ( ( ( ( '(' ) )=> (lv_explicitOperationCall_7_0= '(' ) ) ( ( ( ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> (lv_featureCallArguments_8_0= ruleXShortClosure ) ) | ( ( (lv_featureCallArguments_9_0= ruleXExpression ) ) (otherlv_10= ',' ( (lv_featureCallArguments_11_0= ruleXExpression ) ) )* ) )? otherlv_12= ')' )? ( ( ( () '[' ) )=> (lv_featureCallArguments_13_0= ruleXClosure ) )? )
+            // InternalReportDSL.g:13106:2: ( ( () (otherlv_1= '<' ( (lv_typeArguments_2_0= ruleJvmArgumentTypeReference ) ) (otherlv_3= ',' ( (lv_typeArguments_4_0= ruleJvmArgumentTypeReference ) ) )* otherlv_5= '>' )? ( ( ruleIdOrSuper ) ) ( ( ( ( '(' ) )=> (lv_explicitOperationCall_7_0= '(' ) ) ( ( ( ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> (lv_featureCallArguments_8_0= ruleXShortClosure ) ) | ( ( (lv_featureCallArguments_9_0= ruleXExpression ) ) (otherlv_10= ',' ( (lv_featureCallArguments_11_0= ruleXExpression ) ) )* ) )? otherlv_12= ')' )? ( ( ( () '[' ) )=> (lv_featureCallArguments_13_0= ruleXClosure ) )? ) )
+            // InternalReportDSL.g:13107:2: ( () (otherlv_1= '<' ( (lv_typeArguments_2_0= ruleJvmArgumentTypeReference ) ) (otherlv_3= ',' ( (lv_typeArguments_4_0= ruleJvmArgumentTypeReference ) ) )* otherlv_5= '>' )? ( ( ruleIdOrSuper ) ) ( ( ( ( '(' ) )=> (lv_explicitOperationCall_7_0= '(' ) ) ( ( ( ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> (lv_featureCallArguments_8_0= ruleXShortClosure ) ) | ( ( (lv_featureCallArguments_9_0= ruleXExpression ) ) (otherlv_10= ',' ( (lv_featureCallArguments_11_0= ruleXExpression ) ) )* ) )? otherlv_12= ')' )? ( ( ( () '[' ) )=> (lv_featureCallArguments_13_0= ruleXClosure ) )? )
             {
-            // InternalReportDSL.g:12798:2: ( () (otherlv_1= '<' ( (lv_typeArguments_2_0= ruleJvmArgumentTypeReference ) ) (otherlv_3= ',' ( (lv_typeArguments_4_0= ruleJvmArgumentTypeReference ) ) )* otherlv_5= '>' )? ( ( ruleIdOrSuper ) ) ( ( ( ( '(' ) )=> (lv_explicitOperationCall_7_0= '(' ) ) ( ( ( ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> (lv_featureCallArguments_8_0= ruleXShortClosure ) ) | ( ( (lv_featureCallArguments_9_0= ruleXExpression ) ) (otherlv_10= ',' ( (lv_featureCallArguments_11_0= ruleXExpression ) ) )* ) )? otherlv_12= ')' )? ( ( ( () '[' ) )=> (lv_featureCallArguments_13_0= ruleXClosure ) )? )
-            // InternalReportDSL.g:12799:3: () (otherlv_1= '<' ( (lv_typeArguments_2_0= ruleJvmArgumentTypeReference ) ) (otherlv_3= ',' ( (lv_typeArguments_4_0= ruleJvmArgumentTypeReference ) ) )* otherlv_5= '>' )? ( ( ruleIdOrSuper ) ) ( ( ( ( '(' ) )=> (lv_explicitOperationCall_7_0= '(' ) ) ( ( ( ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> (lv_featureCallArguments_8_0= ruleXShortClosure ) ) | ( ( (lv_featureCallArguments_9_0= ruleXExpression ) ) (otherlv_10= ',' ( (lv_featureCallArguments_11_0= ruleXExpression ) ) )* ) )? otherlv_12= ')' )? ( ( ( () '[' ) )=> (lv_featureCallArguments_13_0= ruleXClosure ) )?
+            // InternalReportDSL.g:13107:2: ( () (otherlv_1= '<' ( (lv_typeArguments_2_0= ruleJvmArgumentTypeReference ) ) (otherlv_3= ',' ( (lv_typeArguments_4_0= ruleJvmArgumentTypeReference ) ) )* otherlv_5= '>' )? ( ( ruleIdOrSuper ) ) ( ( ( ( '(' ) )=> (lv_explicitOperationCall_7_0= '(' ) ) ( ( ( ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> (lv_featureCallArguments_8_0= ruleXShortClosure ) ) | ( ( (lv_featureCallArguments_9_0= ruleXExpression ) ) (otherlv_10= ',' ( (lv_featureCallArguments_11_0= ruleXExpression ) ) )* ) )? otherlv_12= ')' )? ( ( ( () '[' ) )=> (lv_featureCallArguments_13_0= ruleXClosure ) )? )
+            // InternalReportDSL.g:13108:3: () (otherlv_1= '<' ( (lv_typeArguments_2_0= ruleJvmArgumentTypeReference ) ) (otherlv_3= ',' ( (lv_typeArguments_4_0= ruleJvmArgumentTypeReference ) ) )* otherlv_5= '>' )? ( ( ruleIdOrSuper ) ) ( ( ( ( '(' ) )=> (lv_explicitOperationCall_7_0= '(' ) ) ( ( ( ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> (lv_featureCallArguments_8_0= ruleXShortClosure ) ) | ( ( (lv_featureCallArguments_9_0= ruleXExpression ) ) (otherlv_10= ',' ( (lv_featureCallArguments_11_0= ruleXExpression ) ) )* ) )? otherlv_12= ')' )? ( ( ( () '[' ) )=> (lv_featureCallArguments_13_0= ruleXClosure ) )?
             {
-            // InternalReportDSL.g:12799:3: ()
-            // InternalReportDSL.g:12800:4: 
+            // InternalReportDSL.g:13108:3: ()
+            // InternalReportDSL.g:13109:4: 
             {
             if ( state.backtracking==0 ) {
 
@@ -34699,35 +35545,35 @@
 
             }
 
-            // InternalReportDSL.g:12806:3: (otherlv_1= '<' ( (lv_typeArguments_2_0= ruleJvmArgumentTypeReference ) ) (otherlv_3= ',' ( (lv_typeArguments_4_0= ruleJvmArgumentTypeReference ) ) )* otherlv_5= '>' )?
-            int alt193=2;
-            int LA193_0 = input.LA(1);
+            // InternalReportDSL.g:13115:3: (otherlv_1= '<' ( (lv_typeArguments_2_0= ruleJvmArgumentTypeReference ) ) (otherlv_3= ',' ( (lv_typeArguments_4_0= ruleJvmArgumentTypeReference ) ) )* otherlv_5= '>' )?
+            int alt181=2;
+            int LA181_0 = input.LA(1);
 
-            if ( (LA193_0==144) ) {
-                alt193=1;
+            if ( (LA181_0==143) ) {
+                alt181=1;
             }
-            switch (alt193) {
+            switch (alt181) {
                 case 1 :
-                    // InternalReportDSL.g:12807:4: otherlv_1= '<' ( (lv_typeArguments_2_0= ruleJvmArgumentTypeReference ) ) (otherlv_3= ',' ( (lv_typeArguments_4_0= ruleJvmArgumentTypeReference ) ) )* otherlv_5= '>'
+                    // InternalReportDSL.g:13116:4: otherlv_1= '<' ( (lv_typeArguments_2_0= ruleJvmArgumentTypeReference ) ) (otherlv_3= ',' ( (lv_typeArguments_4_0= ruleJvmArgumentTypeReference ) ) )* otherlv_5= '>'
                     {
-                    otherlv_1=(Token)match(input,144,FOLLOW_155); if (state.failed) return current;
+                    otherlv_1=(Token)match(input,143,FOLLOW_147); if (state.failed) return current;
                     if ( state.backtracking==0 ) {
 
                       				newLeafNode(otherlv_1, grammarAccess.getXFeatureCallAccess().getLessThanSignKeyword_1_0());
                       			
                     }
-                    // InternalReportDSL.g:12811:4: ( (lv_typeArguments_2_0= ruleJvmArgumentTypeReference ) )
-                    // InternalReportDSL.g:12812:5: (lv_typeArguments_2_0= ruleJvmArgumentTypeReference )
+                    // InternalReportDSL.g:13120:4: ( (lv_typeArguments_2_0= ruleJvmArgumentTypeReference ) )
+                    // InternalReportDSL.g:13121:5: (lv_typeArguments_2_0= ruleJvmArgumentTypeReference )
                     {
-                    // InternalReportDSL.g:12812:5: (lv_typeArguments_2_0= ruleJvmArgumentTypeReference )
-                    // InternalReportDSL.g:12813:6: lv_typeArguments_2_0= ruleJvmArgumentTypeReference
+                    // InternalReportDSL.g:13121:5: (lv_typeArguments_2_0= ruleJvmArgumentTypeReference )
+                    // InternalReportDSL.g:13122:6: lv_typeArguments_2_0= ruleJvmArgumentTypeReference
                     {
                     if ( state.backtracking==0 ) {
 
                       						newCompositeNode(grammarAccess.getXFeatureCallAccess().getTypeArgumentsJvmArgumentTypeReferenceParserRuleCall_1_1_0());
                       					
                     }
-                    pushFollow(FOLLOW_156);
+                    pushFollow(FOLLOW_148);
                     lv_typeArguments_2_0=ruleJvmArgumentTypeReference();
 
                     state._fsp--;
@@ -34751,39 +35597,39 @@
 
                     }
 
-                    // InternalReportDSL.g:12830:4: (otherlv_3= ',' ( (lv_typeArguments_4_0= ruleJvmArgumentTypeReference ) ) )*
-                    loop192:
+                    // InternalReportDSL.g:13139:4: (otherlv_3= ',' ( (lv_typeArguments_4_0= ruleJvmArgumentTypeReference ) ) )*
+                    loop180:
                     do {
-                        int alt192=2;
-                        int LA192_0 = input.LA(1);
+                        int alt180=2;
+                        int LA180_0 = input.LA(1);
 
-                        if ( (LA192_0==134) ) {
-                            alt192=1;
+                        if ( (LA180_0==133) ) {
+                            alt180=1;
                         }
 
 
-                        switch (alt192) {
+                        switch (alt180) {
                     	case 1 :
-                    	    // InternalReportDSL.g:12831:5: otherlv_3= ',' ( (lv_typeArguments_4_0= ruleJvmArgumentTypeReference ) )
+                    	    // InternalReportDSL.g:13140:5: otherlv_3= ',' ( (lv_typeArguments_4_0= ruleJvmArgumentTypeReference ) )
                     	    {
-                    	    otherlv_3=(Token)match(input,134,FOLLOW_155); if (state.failed) return current;
+                    	    otherlv_3=(Token)match(input,133,FOLLOW_147); if (state.failed) return current;
                     	    if ( state.backtracking==0 ) {
 
                     	      					newLeafNode(otherlv_3, grammarAccess.getXFeatureCallAccess().getCommaKeyword_1_2_0());
                     	      				
                     	    }
-                    	    // InternalReportDSL.g:12835:5: ( (lv_typeArguments_4_0= ruleJvmArgumentTypeReference ) )
-                    	    // InternalReportDSL.g:12836:6: (lv_typeArguments_4_0= ruleJvmArgumentTypeReference )
+                    	    // InternalReportDSL.g:13144:5: ( (lv_typeArguments_4_0= ruleJvmArgumentTypeReference ) )
+                    	    // InternalReportDSL.g:13145:6: (lv_typeArguments_4_0= ruleJvmArgumentTypeReference )
                     	    {
-                    	    // InternalReportDSL.g:12836:6: (lv_typeArguments_4_0= ruleJvmArgumentTypeReference )
-                    	    // InternalReportDSL.g:12837:7: lv_typeArguments_4_0= ruleJvmArgumentTypeReference
+                    	    // InternalReportDSL.g:13145:6: (lv_typeArguments_4_0= ruleJvmArgumentTypeReference )
+                    	    // InternalReportDSL.g:13146:7: lv_typeArguments_4_0= ruleJvmArgumentTypeReference
                     	    {
                     	    if ( state.backtracking==0 ) {
 
                     	      							newCompositeNode(grammarAccess.getXFeatureCallAccess().getTypeArgumentsJvmArgumentTypeReferenceParserRuleCall_1_2_1_0());
                     	      						
                     	    }
-                    	    pushFollow(FOLLOW_156);
+                    	    pushFollow(FOLLOW_148);
                     	    lv_typeArguments_4_0=ruleJvmArgumentTypeReference();
 
                     	    state._fsp--;
@@ -34812,11 +35658,11 @@
                     	    break;
 
                     	default :
-                    	    break loop192;
+                    	    break loop180;
                         }
                     } while (true);
 
-                    otherlv_5=(Token)match(input,145,FOLLOW_154); if (state.failed) return current;
+                    otherlv_5=(Token)match(input,144,FOLLOW_146); if (state.failed) return current;
                     if ( state.backtracking==0 ) {
 
                       				newLeafNode(otherlv_5, grammarAccess.getXFeatureCallAccess().getGreaterThanSignKeyword_1_3());
@@ -34828,11 +35674,11 @@
 
             }
 
-            // InternalReportDSL.g:12860:3: ( ( ruleIdOrSuper ) )
-            // InternalReportDSL.g:12861:4: ( ruleIdOrSuper )
+            // InternalReportDSL.g:13169:3: ( ( ruleIdOrSuper ) )
+            // InternalReportDSL.g:13170:4: ( ruleIdOrSuper )
             {
-            // InternalReportDSL.g:12861:4: ( ruleIdOrSuper )
-            // InternalReportDSL.g:12862:5: ruleIdOrSuper
+            // InternalReportDSL.g:13170:4: ( ruleIdOrSuper )
+            // InternalReportDSL.g:13171:5: ruleIdOrSuper
             {
             if ( state.backtracking==0 ) {
 
@@ -34846,7 +35692,7 @@
               					newCompositeNode(grammarAccess.getXFeatureCallAccess().getFeatureJvmIdentifiableElementCrossReference_2_0());
               				
             }
-            pushFollow(FOLLOW_183);
+            pushFollow(FOLLOW_175);
             ruleIdOrSuper();
 
             state._fsp--;
@@ -34862,20 +35708,20 @@
 
             }
 
-            // InternalReportDSL.g:12876:3: ( ( ( ( '(' ) )=> (lv_explicitOperationCall_7_0= '(' ) ) ( ( ( ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> (lv_featureCallArguments_8_0= ruleXShortClosure ) ) | ( ( (lv_featureCallArguments_9_0= ruleXExpression ) ) (otherlv_10= ',' ( (lv_featureCallArguments_11_0= ruleXExpression ) ) )* ) )? otherlv_12= ')' )?
-            int alt196=2;
-            alt196 = dfa196.predict(input);
-            switch (alt196) {
+            // InternalReportDSL.g:13185:3: ( ( ( ( '(' ) )=> (lv_explicitOperationCall_7_0= '(' ) ) ( ( ( ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> (lv_featureCallArguments_8_0= ruleXShortClosure ) ) | ( ( (lv_featureCallArguments_9_0= ruleXExpression ) ) (otherlv_10= ',' ( (lv_featureCallArguments_11_0= ruleXExpression ) ) )* ) )? otherlv_12= ')' )?
+            int alt184=2;
+            alt184 = dfa184.predict(input);
+            switch (alt184) {
                 case 1 :
-                    // InternalReportDSL.g:12877:4: ( ( ( '(' ) )=> (lv_explicitOperationCall_7_0= '(' ) ) ( ( ( ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> (lv_featureCallArguments_8_0= ruleXShortClosure ) ) | ( ( (lv_featureCallArguments_9_0= ruleXExpression ) ) (otherlv_10= ',' ( (lv_featureCallArguments_11_0= ruleXExpression ) ) )* ) )? otherlv_12= ')'
+                    // InternalReportDSL.g:13186:4: ( ( ( '(' ) )=> (lv_explicitOperationCall_7_0= '(' ) ) ( ( ( ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> (lv_featureCallArguments_8_0= ruleXShortClosure ) ) | ( ( (lv_featureCallArguments_9_0= ruleXExpression ) ) (otherlv_10= ',' ( (lv_featureCallArguments_11_0= ruleXExpression ) ) )* ) )? otherlv_12= ')'
                     {
-                    // InternalReportDSL.g:12877:4: ( ( ( '(' ) )=> (lv_explicitOperationCall_7_0= '(' ) )
-                    // InternalReportDSL.g:12878:5: ( ( '(' ) )=> (lv_explicitOperationCall_7_0= '(' )
+                    // InternalReportDSL.g:13186:4: ( ( ( '(' ) )=> (lv_explicitOperationCall_7_0= '(' ) )
+                    // InternalReportDSL.g:13187:5: ( ( '(' ) )=> (lv_explicitOperationCall_7_0= '(' )
                     {
-                    // InternalReportDSL.g:12882:5: (lv_explicitOperationCall_7_0= '(' )
-                    // InternalReportDSL.g:12883:6: lv_explicitOperationCall_7_0= '('
+                    // InternalReportDSL.g:13191:5: (lv_explicitOperationCall_7_0= '(' )
+                    // InternalReportDSL.g:13192:6: lv_explicitOperationCall_7_0= '('
                     {
-                    lv_explicitOperationCall_7_0=(Token)match(input,103,FOLLOW_158); if (state.failed) return current;
+                    lv_explicitOperationCall_7_0=(Token)match(input,102,FOLLOW_150); if (state.failed) return current;
                     if ( state.backtracking==0 ) {
 
                       						newLeafNode(lv_explicitOperationCall_7_0, grammarAccess.getXFeatureCallAccess().getExplicitOperationCallLeftParenthesisKeyword_3_0_0());
@@ -34895,25 +35741,25 @@
 
                     }
 
-                    // InternalReportDSL.g:12895:4: ( ( ( ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> (lv_featureCallArguments_8_0= ruleXShortClosure ) ) | ( ( (lv_featureCallArguments_9_0= ruleXExpression ) ) (otherlv_10= ',' ( (lv_featureCallArguments_11_0= ruleXExpression ) ) )* ) )?
-                    int alt195=3;
-                    alt195 = dfa195.predict(input);
-                    switch (alt195) {
+                    // InternalReportDSL.g:13204:4: ( ( ( ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> (lv_featureCallArguments_8_0= ruleXShortClosure ) ) | ( ( (lv_featureCallArguments_9_0= ruleXExpression ) ) (otherlv_10= ',' ( (lv_featureCallArguments_11_0= ruleXExpression ) ) )* ) )?
+                    int alt183=3;
+                    alt183 = dfa183.predict(input);
+                    switch (alt183) {
                         case 1 :
-                            // InternalReportDSL.g:12896:5: ( ( ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> (lv_featureCallArguments_8_0= ruleXShortClosure ) )
+                            // InternalReportDSL.g:13205:5: ( ( ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> (lv_featureCallArguments_8_0= ruleXShortClosure ) )
                             {
-                            // InternalReportDSL.g:12896:5: ( ( ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> (lv_featureCallArguments_8_0= ruleXShortClosure ) )
-                            // InternalReportDSL.g:12897:6: ( ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> (lv_featureCallArguments_8_0= ruleXShortClosure )
+                            // InternalReportDSL.g:13205:5: ( ( ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> (lv_featureCallArguments_8_0= ruleXShortClosure ) )
+                            // InternalReportDSL.g:13206:6: ( ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> (lv_featureCallArguments_8_0= ruleXShortClosure )
                             {
-                            // InternalReportDSL.g:12922:6: (lv_featureCallArguments_8_0= ruleXShortClosure )
-                            // InternalReportDSL.g:12923:7: lv_featureCallArguments_8_0= ruleXShortClosure
+                            // InternalReportDSL.g:13231:6: (lv_featureCallArguments_8_0= ruleXShortClosure )
+                            // InternalReportDSL.g:13232:7: lv_featureCallArguments_8_0= ruleXShortClosure
                             {
                             if ( state.backtracking==0 ) {
 
                               							newCompositeNode(grammarAccess.getXFeatureCallAccess().getFeatureCallArgumentsXShortClosureParserRuleCall_3_1_0_0());
                               						
                             }
-                            pushFollow(FOLLOW_115);
+                            pushFollow(FOLLOW_107);
                             lv_featureCallArguments_8_0=ruleXShortClosure();
 
                             state._fsp--;
@@ -34941,23 +35787,23 @@
                             }
                             break;
                         case 2 :
-                            // InternalReportDSL.g:12941:5: ( ( (lv_featureCallArguments_9_0= ruleXExpression ) ) (otherlv_10= ',' ( (lv_featureCallArguments_11_0= ruleXExpression ) ) )* )
+                            // InternalReportDSL.g:13250:5: ( ( (lv_featureCallArguments_9_0= ruleXExpression ) ) (otherlv_10= ',' ( (lv_featureCallArguments_11_0= ruleXExpression ) ) )* )
                             {
-                            // InternalReportDSL.g:12941:5: ( ( (lv_featureCallArguments_9_0= ruleXExpression ) ) (otherlv_10= ',' ( (lv_featureCallArguments_11_0= ruleXExpression ) ) )* )
-                            // InternalReportDSL.g:12942:6: ( (lv_featureCallArguments_9_0= ruleXExpression ) ) (otherlv_10= ',' ( (lv_featureCallArguments_11_0= ruleXExpression ) ) )*
+                            // InternalReportDSL.g:13250:5: ( ( (lv_featureCallArguments_9_0= ruleXExpression ) ) (otherlv_10= ',' ( (lv_featureCallArguments_11_0= ruleXExpression ) ) )* )
+                            // InternalReportDSL.g:13251:6: ( (lv_featureCallArguments_9_0= ruleXExpression ) ) (otherlv_10= ',' ( (lv_featureCallArguments_11_0= ruleXExpression ) ) )*
                             {
-                            // InternalReportDSL.g:12942:6: ( (lv_featureCallArguments_9_0= ruleXExpression ) )
-                            // InternalReportDSL.g:12943:7: (lv_featureCallArguments_9_0= ruleXExpression )
+                            // InternalReportDSL.g:13251:6: ( (lv_featureCallArguments_9_0= ruleXExpression ) )
+                            // InternalReportDSL.g:13252:7: (lv_featureCallArguments_9_0= ruleXExpression )
                             {
-                            // InternalReportDSL.g:12943:7: (lv_featureCallArguments_9_0= ruleXExpression )
-                            // InternalReportDSL.g:12944:8: lv_featureCallArguments_9_0= ruleXExpression
+                            // InternalReportDSL.g:13252:7: (lv_featureCallArguments_9_0= ruleXExpression )
+                            // InternalReportDSL.g:13253:8: lv_featureCallArguments_9_0= ruleXExpression
                             {
                             if ( state.backtracking==0 ) {
 
                               								newCompositeNode(grammarAccess.getXFeatureCallAccess().getFeatureCallArgumentsXExpressionParserRuleCall_3_1_1_0_0());
                               							
                             }
-                            pushFollow(FOLLOW_128);
+                            pushFollow(FOLLOW_120);
                             lv_featureCallArguments_9_0=ruleXExpression();
 
                             state._fsp--;
@@ -34981,39 +35827,39 @@
 
                             }
 
-                            // InternalReportDSL.g:12961:6: (otherlv_10= ',' ( (lv_featureCallArguments_11_0= ruleXExpression ) ) )*
-                            loop194:
+                            // InternalReportDSL.g:13270:6: (otherlv_10= ',' ( (lv_featureCallArguments_11_0= ruleXExpression ) ) )*
+                            loop182:
                             do {
-                                int alt194=2;
-                                int LA194_0 = input.LA(1);
+                                int alt182=2;
+                                int LA182_0 = input.LA(1);
 
-                                if ( (LA194_0==134) ) {
-                                    alt194=1;
+                                if ( (LA182_0==133) ) {
+                                    alt182=1;
                                 }
 
 
-                                switch (alt194) {
+                                switch (alt182) {
                             	case 1 :
-                            	    // InternalReportDSL.g:12962:7: otherlv_10= ',' ( (lv_featureCallArguments_11_0= ruleXExpression ) )
+                            	    // InternalReportDSL.g:13271:7: otherlv_10= ',' ( (lv_featureCallArguments_11_0= ruleXExpression ) )
                             	    {
-                            	    otherlv_10=(Token)match(input,134,FOLLOW_130); if (state.failed) return current;
+                            	    otherlv_10=(Token)match(input,133,FOLLOW_122); if (state.failed) return current;
                             	    if ( state.backtracking==0 ) {
 
                             	      							newLeafNode(otherlv_10, grammarAccess.getXFeatureCallAccess().getCommaKeyword_3_1_1_1_0());
                             	      						
                             	    }
-                            	    // InternalReportDSL.g:12966:7: ( (lv_featureCallArguments_11_0= ruleXExpression ) )
-                            	    // InternalReportDSL.g:12967:8: (lv_featureCallArguments_11_0= ruleXExpression )
+                            	    // InternalReportDSL.g:13275:7: ( (lv_featureCallArguments_11_0= ruleXExpression ) )
+                            	    // InternalReportDSL.g:13276:8: (lv_featureCallArguments_11_0= ruleXExpression )
                             	    {
-                            	    // InternalReportDSL.g:12967:8: (lv_featureCallArguments_11_0= ruleXExpression )
-                            	    // InternalReportDSL.g:12968:9: lv_featureCallArguments_11_0= ruleXExpression
+                            	    // InternalReportDSL.g:13276:8: (lv_featureCallArguments_11_0= ruleXExpression )
+                            	    // InternalReportDSL.g:13277:9: lv_featureCallArguments_11_0= ruleXExpression
                             	    {
                             	    if ( state.backtracking==0 ) {
 
                             	      									newCompositeNode(grammarAccess.getXFeatureCallAccess().getFeatureCallArgumentsXExpressionParserRuleCall_3_1_1_1_1_0());
                             	      								
                             	    }
-                            	    pushFollow(FOLLOW_128);
+                            	    pushFollow(FOLLOW_120);
                             	    lv_featureCallArguments_11_0=ruleXExpression();
 
                             	    state._fsp--;
@@ -35042,7 +35888,7 @@
                             	    break;
 
                             	default :
-                            	    break loop194;
+                            	    break loop182;
                                 }
                             } while (true);
 
@@ -35055,7 +35901,7 @@
 
                     }
 
-                    otherlv_12=(Token)match(input,104,FOLLOW_184); if (state.failed) return current;
+                    otherlv_12=(Token)match(input,103,FOLLOW_176); if (state.failed) return current;
                     if ( state.backtracking==0 ) {
 
                       				newLeafNode(otherlv_12, grammarAccess.getXFeatureCallAccess().getRightParenthesisKeyword_3_2());
@@ -35067,15 +35913,15 @@
 
             }
 
-            // InternalReportDSL.g:12993:3: ( ( ( () '[' ) )=> (lv_featureCallArguments_13_0= ruleXClosure ) )?
-            int alt197=2;
-            alt197 = dfa197.predict(input);
-            switch (alt197) {
+            // InternalReportDSL.g:13302:3: ( ( ( () '[' ) )=> (lv_featureCallArguments_13_0= ruleXClosure ) )?
+            int alt185=2;
+            alt185 = dfa185.predict(input);
+            switch (alt185) {
                 case 1 :
-                    // InternalReportDSL.g:12994:4: ( ( () '[' ) )=> (lv_featureCallArguments_13_0= ruleXClosure )
+                    // InternalReportDSL.g:13303:4: ( ( () '[' ) )=> (lv_featureCallArguments_13_0= ruleXClosure )
                     {
-                    // InternalReportDSL.g:13000:4: (lv_featureCallArguments_13_0= ruleXClosure )
-                    // InternalReportDSL.g:13001:5: lv_featureCallArguments_13_0= ruleXClosure
+                    // InternalReportDSL.g:13309:4: (lv_featureCallArguments_13_0= ruleXClosure )
+                    // InternalReportDSL.g:13310:5: lv_featureCallArguments_13_0= ruleXClosure
                     {
                     if ( state.backtracking==0 ) {
 
@@ -35134,7 +35980,7 @@
 
 
     // $ANTLR start "entryRuleFeatureCallID"
-    // InternalReportDSL.g:13022:1: entryRuleFeatureCallID returns [String current=null] : iv_ruleFeatureCallID= ruleFeatureCallID EOF ;
+    // InternalReportDSL.g:13331:1: entryRuleFeatureCallID returns [String current=null] : iv_ruleFeatureCallID= ruleFeatureCallID EOF ;
     public final String entryRuleFeatureCallID() throws RecognitionException {
         String current = null;
 
@@ -35142,8 +35988,8 @@
 
 
         try {
-            // InternalReportDSL.g:13022:53: (iv_ruleFeatureCallID= ruleFeatureCallID EOF )
-            // InternalReportDSL.g:13023:2: iv_ruleFeatureCallID= ruleFeatureCallID EOF
+            // InternalReportDSL.g:13331:53: (iv_ruleFeatureCallID= ruleFeatureCallID EOF )
+            // InternalReportDSL.g:13332:2: iv_ruleFeatureCallID= ruleFeatureCallID EOF
             {
             if ( state.backtracking==0 ) {
                newCompositeNode(grammarAccess.getFeatureCallIDRule()); 
@@ -35174,7 +36020,7 @@
 
 
     // $ANTLR start "ruleFeatureCallID"
-    // InternalReportDSL.g:13029:1: ruleFeatureCallID returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : (this_ValidID_0= ruleValidID | kw= 'extends' | kw= 'static' | kw= 'import' | kw= 'extension' ) ;
+    // InternalReportDSL.g:13338:1: ruleFeatureCallID returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : (this_ValidID_0= ruleValidID | kw= 'extends' | kw= 'static' | kw= 'import' | kw= 'extension' ) ;
     public final AntlrDatatypeRuleToken ruleFeatureCallID() throws RecognitionException {
         AntlrDatatypeRuleToken current = new AntlrDatatypeRuleToken();
 
@@ -35186,48 +36032,48 @@
         	enterRule();
 
         try {
-            // InternalReportDSL.g:13035:2: ( (this_ValidID_0= ruleValidID | kw= 'extends' | kw= 'static' | kw= 'import' | kw= 'extension' ) )
-            // InternalReportDSL.g:13036:2: (this_ValidID_0= ruleValidID | kw= 'extends' | kw= 'static' | kw= 'import' | kw= 'extension' )
+            // InternalReportDSL.g:13344:2: ( (this_ValidID_0= ruleValidID | kw= 'extends' | kw= 'static' | kw= 'import' | kw= 'extension' ) )
+            // InternalReportDSL.g:13345:2: (this_ValidID_0= ruleValidID | kw= 'extends' | kw= 'static' | kw= 'import' | kw= 'extension' )
             {
-            // InternalReportDSL.g:13036:2: (this_ValidID_0= ruleValidID | kw= 'extends' | kw= 'static' | kw= 'import' | kw= 'extension' )
-            int alt198=5;
+            // InternalReportDSL.g:13345:2: (this_ValidID_0= ruleValidID | kw= 'extends' | kw= 'static' | kw= 'import' | kw= 'extension' )
+            int alt186=5;
             switch ( input.LA(1) ) {
             case RULE_ID:
                 {
-                alt198=1;
+                alt186=1;
                 }
                 break;
             case 39:
                 {
-                alt198=2;
-                }
-                break;
-            case 128:
-                {
-                alt198=3;
+                alt186=2;
                 }
                 break;
             case 127:
                 {
-                alt198=4;
+                alt186=3;
                 }
                 break;
-            case 129:
+            case 126:
                 {
-                alt198=5;
+                alt186=4;
+                }
+                break;
+            case 128:
+                {
+                alt186=5;
                 }
                 break;
             default:
                 if (state.backtracking>0) {state.failed=true; return current;}
                 NoViableAltException nvae =
-                    new NoViableAltException("", 198, 0, input);
+                    new NoViableAltException("", 186, 0, input);
 
                 throw nvae;
             }
 
-            switch (alt198) {
+            switch (alt186) {
                 case 1 :
-                    // InternalReportDSL.g:13037:3: this_ValidID_0= ruleValidID
+                    // InternalReportDSL.g:13346:3: this_ValidID_0= ruleValidID
                     {
                     if ( state.backtracking==0 ) {
 
@@ -35253,7 +36099,7 @@
                     }
                     break;
                 case 2 :
-                    // InternalReportDSL.g:13048:3: kw= 'extends'
+                    // InternalReportDSL.g:13357:3: kw= 'extends'
                     {
                     kw=(Token)match(input,39,FOLLOW_2); if (state.failed) return current;
                     if ( state.backtracking==0 ) {
@@ -35266,9 +36112,9 @@
                     }
                     break;
                 case 3 :
-                    // InternalReportDSL.g:13054:3: kw= 'static'
+                    // InternalReportDSL.g:13363:3: kw= 'static'
                     {
-                    kw=(Token)match(input,128,FOLLOW_2); if (state.failed) return current;
+                    kw=(Token)match(input,127,FOLLOW_2); if (state.failed) return current;
                     if ( state.backtracking==0 ) {
 
                       			current.merge(kw);
@@ -35279,9 +36125,9 @@
                     }
                     break;
                 case 4 :
-                    // InternalReportDSL.g:13060:3: kw= 'import'
+                    // InternalReportDSL.g:13369:3: kw= 'import'
                     {
-                    kw=(Token)match(input,127,FOLLOW_2); if (state.failed) return current;
+                    kw=(Token)match(input,126,FOLLOW_2); if (state.failed) return current;
                     if ( state.backtracking==0 ) {
 
                       			current.merge(kw);
@@ -35292,9 +36138,9 @@
                     }
                     break;
                 case 5 :
-                    // InternalReportDSL.g:13066:3: kw= 'extension'
+                    // InternalReportDSL.g:13375:3: kw= 'extension'
                     {
-                    kw=(Token)match(input,129,FOLLOW_2); if (state.failed) return current;
+                    kw=(Token)match(input,128,FOLLOW_2); if (state.failed) return current;
                     if ( state.backtracking==0 ) {
 
                       			current.merge(kw);
@@ -35329,7 +36175,7 @@
 
 
     // $ANTLR start "entryRuleIdOrSuper"
-    // InternalReportDSL.g:13075:1: entryRuleIdOrSuper returns [String current=null] : iv_ruleIdOrSuper= ruleIdOrSuper EOF ;
+    // InternalReportDSL.g:13384:1: entryRuleIdOrSuper returns [String current=null] : iv_ruleIdOrSuper= ruleIdOrSuper EOF ;
     public final String entryRuleIdOrSuper() throws RecognitionException {
         String current = null;
 
@@ -35337,8 +36183,8 @@
 
 
         try {
-            // InternalReportDSL.g:13075:49: (iv_ruleIdOrSuper= ruleIdOrSuper EOF )
-            // InternalReportDSL.g:13076:2: iv_ruleIdOrSuper= ruleIdOrSuper EOF
+            // InternalReportDSL.g:13384:49: (iv_ruleIdOrSuper= ruleIdOrSuper EOF )
+            // InternalReportDSL.g:13385:2: iv_ruleIdOrSuper= ruleIdOrSuper EOF
             {
             if ( state.backtracking==0 ) {
                newCompositeNode(grammarAccess.getIdOrSuperRule()); 
@@ -35369,7 +36215,7 @@
 
 
     // $ANTLR start "ruleIdOrSuper"
-    // InternalReportDSL.g:13082:1: ruleIdOrSuper returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : (this_FeatureCallID_0= ruleFeatureCallID | kw= 'super' ) ;
+    // InternalReportDSL.g:13391:1: ruleIdOrSuper returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : (this_FeatureCallID_0= ruleFeatureCallID | kw= 'super' ) ;
     public final AntlrDatatypeRuleToken ruleIdOrSuper() throws RecognitionException {
         AntlrDatatypeRuleToken current = new AntlrDatatypeRuleToken();
 
@@ -35381,29 +36227,29 @@
         	enterRule();
 
         try {
-            // InternalReportDSL.g:13088:2: ( (this_FeatureCallID_0= ruleFeatureCallID | kw= 'super' ) )
-            // InternalReportDSL.g:13089:2: (this_FeatureCallID_0= ruleFeatureCallID | kw= 'super' )
+            // InternalReportDSL.g:13397:2: ( (this_FeatureCallID_0= ruleFeatureCallID | kw= 'super' ) )
+            // InternalReportDSL.g:13398:2: (this_FeatureCallID_0= ruleFeatureCallID | kw= 'super' )
             {
-            // InternalReportDSL.g:13089:2: (this_FeatureCallID_0= ruleFeatureCallID | kw= 'super' )
-            int alt199=2;
-            int LA199_0 = input.LA(1);
+            // InternalReportDSL.g:13398:2: (this_FeatureCallID_0= ruleFeatureCallID | kw= 'super' )
+            int alt187=2;
+            int LA187_0 = input.LA(1);
 
-            if ( (LA199_0==RULE_ID||LA199_0==39||(LA199_0>=127 && LA199_0<=129)) ) {
-                alt199=1;
+            if ( (LA187_0==RULE_ID||LA187_0==39||(LA187_0>=126 && LA187_0<=128)) ) {
+                alt187=1;
             }
-            else if ( (LA199_0==182) ) {
-                alt199=2;
+            else if ( (LA187_0==181) ) {
+                alt187=2;
             }
             else {
                 if (state.backtracking>0) {state.failed=true; return current;}
                 NoViableAltException nvae =
-                    new NoViableAltException("", 199, 0, input);
+                    new NoViableAltException("", 187, 0, input);
 
                 throw nvae;
             }
-            switch (alt199) {
+            switch (alt187) {
                 case 1 :
-                    // InternalReportDSL.g:13090:3: this_FeatureCallID_0= ruleFeatureCallID
+                    // InternalReportDSL.g:13399:3: this_FeatureCallID_0= ruleFeatureCallID
                     {
                     if ( state.backtracking==0 ) {
 
@@ -35429,9 +36275,9 @@
                     }
                     break;
                 case 2 :
-                    // InternalReportDSL.g:13101:3: kw= 'super'
+                    // InternalReportDSL.g:13410:3: kw= 'super'
                     {
-                    kw=(Token)match(input,182,FOLLOW_2); if (state.failed) return current;
+                    kw=(Token)match(input,181,FOLLOW_2); if (state.failed) return current;
                     if ( state.backtracking==0 ) {
 
                       			current.merge(kw);
@@ -35466,7 +36312,7 @@
 
 
     // $ANTLR start "entryRuleXConstructorCall"
-    // InternalReportDSL.g:13110:1: entryRuleXConstructorCall returns [EObject current=null] : iv_ruleXConstructorCall= ruleXConstructorCall EOF ;
+    // InternalReportDSL.g:13419:1: entryRuleXConstructorCall returns [EObject current=null] : iv_ruleXConstructorCall= ruleXConstructorCall EOF ;
     public final EObject entryRuleXConstructorCall() throws RecognitionException {
         EObject current = null;
 
@@ -35474,8 +36320,8 @@
 
 
         try {
-            // InternalReportDSL.g:13110:57: (iv_ruleXConstructorCall= ruleXConstructorCall EOF )
-            // InternalReportDSL.g:13111:2: iv_ruleXConstructorCall= ruleXConstructorCall EOF
+            // InternalReportDSL.g:13419:57: (iv_ruleXConstructorCall= ruleXConstructorCall EOF )
+            // InternalReportDSL.g:13420:2: iv_ruleXConstructorCall= ruleXConstructorCall EOF
             {
             if ( state.backtracking==0 ) {
                newCompositeNode(grammarAccess.getXConstructorCallRule()); 
@@ -35506,7 +36352,7 @@
 
 
     // $ANTLR start "ruleXConstructorCall"
-    // InternalReportDSL.g:13117:1: ruleXConstructorCall returns [EObject current=null] : ( () otherlv_1= 'new' ( ( ruleQualifiedName ) ) ( ( ( '<' )=>otherlv_3= '<' ) ( (lv_typeArguments_4_0= ruleJvmArgumentTypeReference ) ) (otherlv_5= ',' ( (lv_typeArguments_6_0= ruleJvmArgumentTypeReference ) ) )* otherlv_7= '>' )? ( ( ( ( '(' ) )=> (lv_explicitConstructorCall_8_0= '(' ) ) ( ( ( ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> (lv_arguments_9_0= ruleXShortClosure ) ) | ( ( (lv_arguments_10_0= ruleXExpression ) ) (otherlv_11= ',' ( (lv_arguments_12_0= ruleXExpression ) ) )* ) )? otherlv_13= ')' )? ( ( ( () '[' ) )=> (lv_arguments_14_0= ruleXClosure ) )? ) ;
+    // InternalReportDSL.g:13426:1: ruleXConstructorCall returns [EObject current=null] : ( () otherlv_1= 'new' ( ( ruleQualifiedName ) ) ( ( ( '<' )=>otherlv_3= '<' ) ( (lv_typeArguments_4_0= ruleJvmArgumentTypeReference ) ) (otherlv_5= ',' ( (lv_typeArguments_6_0= ruleJvmArgumentTypeReference ) ) )* otherlv_7= '>' )? ( ( ( ( '(' ) )=> (lv_explicitConstructorCall_8_0= '(' ) ) ( ( ( ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> (lv_arguments_9_0= ruleXShortClosure ) ) | ( ( (lv_arguments_10_0= ruleXExpression ) ) (otherlv_11= ',' ( (lv_arguments_12_0= ruleXExpression ) ) )* ) )? otherlv_13= ')' )? ( ( ( () '[' ) )=> (lv_arguments_14_0= ruleXClosure ) )? ) ;
     public final EObject ruleXConstructorCall() throws RecognitionException {
         EObject current = null;
 
@@ -35534,14 +36380,14 @@
         	enterRule();
 
         try {
-            // InternalReportDSL.g:13123:2: ( ( () otherlv_1= 'new' ( ( ruleQualifiedName ) ) ( ( ( '<' )=>otherlv_3= '<' ) ( (lv_typeArguments_4_0= ruleJvmArgumentTypeReference ) ) (otherlv_5= ',' ( (lv_typeArguments_6_0= ruleJvmArgumentTypeReference ) ) )* otherlv_7= '>' )? ( ( ( ( '(' ) )=> (lv_explicitConstructorCall_8_0= '(' ) ) ( ( ( ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> (lv_arguments_9_0= ruleXShortClosure ) ) | ( ( (lv_arguments_10_0= ruleXExpression ) ) (otherlv_11= ',' ( (lv_arguments_12_0= ruleXExpression ) ) )* ) )? otherlv_13= ')' )? ( ( ( () '[' ) )=> (lv_arguments_14_0= ruleXClosure ) )? ) )
-            // InternalReportDSL.g:13124:2: ( () otherlv_1= 'new' ( ( ruleQualifiedName ) ) ( ( ( '<' )=>otherlv_3= '<' ) ( (lv_typeArguments_4_0= ruleJvmArgumentTypeReference ) ) (otherlv_5= ',' ( (lv_typeArguments_6_0= ruleJvmArgumentTypeReference ) ) )* otherlv_7= '>' )? ( ( ( ( '(' ) )=> (lv_explicitConstructorCall_8_0= '(' ) ) ( ( ( ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> (lv_arguments_9_0= ruleXShortClosure ) ) | ( ( (lv_arguments_10_0= ruleXExpression ) ) (otherlv_11= ',' ( (lv_arguments_12_0= ruleXExpression ) ) )* ) )? otherlv_13= ')' )? ( ( ( () '[' ) )=> (lv_arguments_14_0= ruleXClosure ) )? )
+            // InternalReportDSL.g:13432:2: ( ( () otherlv_1= 'new' ( ( ruleQualifiedName ) ) ( ( ( '<' )=>otherlv_3= '<' ) ( (lv_typeArguments_4_0= ruleJvmArgumentTypeReference ) ) (otherlv_5= ',' ( (lv_typeArguments_6_0= ruleJvmArgumentTypeReference ) ) )* otherlv_7= '>' )? ( ( ( ( '(' ) )=> (lv_explicitConstructorCall_8_0= '(' ) ) ( ( ( ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> (lv_arguments_9_0= ruleXShortClosure ) ) | ( ( (lv_arguments_10_0= ruleXExpression ) ) (otherlv_11= ',' ( (lv_arguments_12_0= ruleXExpression ) ) )* ) )? otherlv_13= ')' )? ( ( ( () '[' ) )=> (lv_arguments_14_0= ruleXClosure ) )? ) )
+            // InternalReportDSL.g:13433:2: ( () otherlv_1= 'new' ( ( ruleQualifiedName ) ) ( ( ( '<' )=>otherlv_3= '<' ) ( (lv_typeArguments_4_0= ruleJvmArgumentTypeReference ) ) (otherlv_5= ',' ( (lv_typeArguments_6_0= ruleJvmArgumentTypeReference ) ) )* otherlv_7= '>' )? ( ( ( ( '(' ) )=> (lv_explicitConstructorCall_8_0= '(' ) ) ( ( ( ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> (lv_arguments_9_0= ruleXShortClosure ) ) | ( ( (lv_arguments_10_0= ruleXExpression ) ) (otherlv_11= ',' ( (lv_arguments_12_0= ruleXExpression ) ) )* ) )? otherlv_13= ')' )? ( ( ( () '[' ) )=> (lv_arguments_14_0= ruleXClosure ) )? )
             {
-            // InternalReportDSL.g:13124:2: ( () otherlv_1= 'new' ( ( ruleQualifiedName ) ) ( ( ( '<' )=>otherlv_3= '<' ) ( (lv_typeArguments_4_0= ruleJvmArgumentTypeReference ) ) (otherlv_5= ',' ( (lv_typeArguments_6_0= ruleJvmArgumentTypeReference ) ) )* otherlv_7= '>' )? ( ( ( ( '(' ) )=> (lv_explicitConstructorCall_8_0= '(' ) ) ( ( ( ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> (lv_arguments_9_0= ruleXShortClosure ) ) | ( ( (lv_arguments_10_0= ruleXExpression ) ) (otherlv_11= ',' ( (lv_arguments_12_0= ruleXExpression ) ) )* ) )? otherlv_13= ')' )? ( ( ( () '[' ) )=> (lv_arguments_14_0= ruleXClosure ) )? )
-            // InternalReportDSL.g:13125:3: () otherlv_1= 'new' ( ( ruleQualifiedName ) ) ( ( ( '<' )=>otherlv_3= '<' ) ( (lv_typeArguments_4_0= ruleJvmArgumentTypeReference ) ) (otherlv_5= ',' ( (lv_typeArguments_6_0= ruleJvmArgumentTypeReference ) ) )* otherlv_7= '>' )? ( ( ( ( '(' ) )=> (lv_explicitConstructorCall_8_0= '(' ) ) ( ( ( ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> (lv_arguments_9_0= ruleXShortClosure ) ) | ( ( (lv_arguments_10_0= ruleXExpression ) ) (otherlv_11= ',' ( (lv_arguments_12_0= ruleXExpression ) ) )* ) )? otherlv_13= ')' )? ( ( ( () '[' ) )=> (lv_arguments_14_0= ruleXClosure ) )?
+            // InternalReportDSL.g:13433:2: ( () otherlv_1= 'new' ( ( ruleQualifiedName ) ) ( ( ( '<' )=>otherlv_3= '<' ) ( (lv_typeArguments_4_0= ruleJvmArgumentTypeReference ) ) (otherlv_5= ',' ( (lv_typeArguments_6_0= ruleJvmArgumentTypeReference ) ) )* otherlv_7= '>' )? ( ( ( ( '(' ) )=> (lv_explicitConstructorCall_8_0= '(' ) ) ( ( ( ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> (lv_arguments_9_0= ruleXShortClosure ) ) | ( ( (lv_arguments_10_0= ruleXExpression ) ) (otherlv_11= ',' ( (lv_arguments_12_0= ruleXExpression ) ) )* ) )? otherlv_13= ')' )? ( ( ( () '[' ) )=> (lv_arguments_14_0= ruleXClosure ) )? )
+            // InternalReportDSL.g:13434:3: () otherlv_1= 'new' ( ( ruleQualifiedName ) ) ( ( ( '<' )=>otherlv_3= '<' ) ( (lv_typeArguments_4_0= ruleJvmArgumentTypeReference ) ) (otherlv_5= ',' ( (lv_typeArguments_6_0= ruleJvmArgumentTypeReference ) ) )* otherlv_7= '>' )? ( ( ( ( '(' ) )=> (lv_explicitConstructorCall_8_0= '(' ) ) ( ( ( ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> (lv_arguments_9_0= ruleXShortClosure ) ) | ( ( (lv_arguments_10_0= ruleXExpression ) ) (otherlv_11= ',' ( (lv_arguments_12_0= ruleXExpression ) ) )* ) )? otherlv_13= ')' )? ( ( ( () '[' ) )=> (lv_arguments_14_0= ruleXClosure ) )?
             {
-            // InternalReportDSL.g:13125:3: ()
-            // InternalReportDSL.g:13126:4: 
+            // InternalReportDSL.g:13434:3: ()
+            // InternalReportDSL.g:13435:4: 
             {
             if ( state.backtracking==0 ) {
 
@@ -35553,17 +36399,17 @@
 
             }
 
-            otherlv_1=(Token)match(input,183,FOLLOW_4); if (state.failed) return current;
+            otherlv_1=(Token)match(input,182,FOLLOW_4); if (state.failed) return current;
             if ( state.backtracking==0 ) {
 
               			newLeafNode(otherlv_1, grammarAccess.getXConstructorCallAccess().getNewKeyword_1());
               		
             }
-            // InternalReportDSL.g:13136:3: ( ( ruleQualifiedName ) )
-            // InternalReportDSL.g:13137:4: ( ruleQualifiedName )
+            // InternalReportDSL.g:13445:3: ( ( ruleQualifiedName ) )
+            // InternalReportDSL.g:13446:4: ( ruleQualifiedName )
             {
-            // InternalReportDSL.g:13137:4: ( ruleQualifiedName )
-            // InternalReportDSL.g:13138:5: ruleQualifiedName
+            // InternalReportDSL.g:13446:4: ( ruleQualifiedName )
+            // InternalReportDSL.g:13447:5: ruleQualifiedName
             {
             if ( state.backtracking==0 ) {
 
@@ -35577,7 +36423,7 @@
               					newCompositeNode(grammarAccess.getXConstructorCallAccess().getConstructorJvmConstructorCrossReference_2_0());
               				
             }
-            pushFollow(FOLLOW_185);
+            pushFollow(FOLLOW_177);
             ruleQualifiedName();
 
             state._fsp--;
@@ -35593,17 +36439,17 @@
 
             }
 
-            // InternalReportDSL.g:13152:3: ( ( ( '<' )=>otherlv_3= '<' ) ( (lv_typeArguments_4_0= ruleJvmArgumentTypeReference ) ) (otherlv_5= ',' ( (lv_typeArguments_6_0= ruleJvmArgumentTypeReference ) ) )* otherlv_7= '>' )?
-            int alt201=2;
-            alt201 = dfa201.predict(input);
-            switch (alt201) {
+            // InternalReportDSL.g:13461:3: ( ( ( '<' )=>otherlv_3= '<' ) ( (lv_typeArguments_4_0= ruleJvmArgumentTypeReference ) ) (otherlv_5= ',' ( (lv_typeArguments_6_0= ruleJvmArgumentTypeReference ) ) )* otherlv_7= '>' )?
+            int alt189=2;
+            alt189 = dfa189.predict(input);
+            switch (alt189) {
                 case 1 :
-                    // InternalReportDSL.g:13153:4: ( ( '<' )=>otherlv_3= '<' ) ( (lv_typeArguments_4_0= ruleJvmArgumentTypeReference ) ) (otherlv_5= ',' ( (lv_typeArguments_6_0= ruleJvmArgumentTypeReference ) ) )* otherlv_7= '>'
+                    // InternalReportDSL.g:13462:4: ( ( '<' )=>otherlv_3= '<' ) ( (lv_typeArguments_4_0= ruleJvmArgumentTypeReference ) ) (otherlv_5= ',' ( (lv_typeArguments_6_0= ruleJvmArgumentTypeReference ) ) )* otherlv_7= '>'
                     {
-                    // InternalReportDSL.g:13153:4: ( ( '<' )=>otherlv_3= '<' )
-                    // InternalReportDSL.g:13154:5: ( '<' )=>otherlv_3= '<'
+                    // InternalReportDSL.g:13462:4: ( ( '<' )=>otherlv_3= '<' )
+                    // InternalReportDSL.g:13463:5: ( '<' )=>otherlv_3= '<'
                     {
-                    otherlv_3=(Token)match(input,144,FOLLOW_155); if (state.failed) return current;
+                    otherlv_3=(Token)match(input,143,FOLLOW_147); if (state.failed) return current;
                     if ( state.backtracking==0 ) {
 
                       					newLeafNode(otherlv_3, grammarAccess.getXConstructorCallAccess().getLessThanSignKeyword_3_0());
@@ -35612,18 +36458,18 @@
 
                     }
 
-                    // InternalReportDSL.g:13160:4: ( (lv_typeArguments_4_0= ruleJvmArgumentTypeReference ) )
-                    // InternalReportDSL.g:13161:5: (lv_typeArguments_4_0= ruleJvmArgumentTypeReference )
+                    // InternalReportDSL.g:13469:4: ( (lv_typeArguments_4_0= ruleJvmArgumentTypeReference ) )
+                    // InternalReportDSL.g:13470:5: (lv_typeArguments_4_0= ruleJvmArgumentTypeReference )
                     {
-                    // InternalReportDSL.g:13161:5: (lv_typeArguments_4_0= ruleJvmArgumentTypeReference )
-                    // InternalReportDSL.g:13162:6: lv_typeArguments_4_0= ruleJvmArgumentTypeReference
+                    // InternalReportDSL.g:13470:5: (lv_typeArguments_4_0= ruleJvmArgumentTypeReference )
+                    // InternalReportDSL.g:13471:6: lv_typeArguments_4_0= ruleJvmArgumentTypeReference
                     {
                     if ( state.backtracking==0 ) {
 
                       						newCompositeNode(grammarAccess.getXConstructorCallAccess().getTypeArgumentsJvmArgumentTypeReferenceParserRuleCall_3_1_0());
                       					
                     }
-                    pushFollow(FOLLOW_156);
+                    pushFollow(FOLLOW_148);
                     lv_typeArguments_4_0=ruleJvmArgumentTypeReference();
 
                     state._fsp--;
@@ -35647,39 +36493,39 @@
 
                     }
 
-                    // InternalReportDSL.g:13179:4: (otherlv_5= ',' ( (lv_typeArguments_6_0= ruleJvmArgumentTypeReference ) ) )*
-                    loop200:
+                    // InternalReportDSL.g:13488:4: (otherlv_5= ',' ( (lv_typeArguments_6_0= ruleJvmArgumentTypeReference ) ) )*
+                    loop188:
                     do {
-                        int alt200=2;
-                        int LA200_0 = input.LA(1);
+                        int alt188=2;
+                        int LA188_0 = input.LA(1);
 
-                        if ( (LA200_0==134) ) {
-                            alt200=1;
+                        if ( (LA188_0==133) ) {
+                            alt188=1;
                         }
 
 
-                        switch (alt200) {
+                        switch (alt188) {
                     	case 1 :
-                    	    // InternalReportDSL.g:13180:5: otherlv_5= ',' ( (lv_typeArguments_6_0= ruleJvmArgumentTypeReference ) )
+                    	    // InternalReportDSL.g:13489:5: otherlv_5= ',' ( (lv_typeArguments_6_0= ruleJvmArgumentTypeReference ) )
                     	    {
-                    	    otherlv_5=(Token)match(input,134,FOLLOW_155); if (state.failed) return current;
+                    	    otherlv_5=(Token)match(input,133,FOLLOW_147); if (state.failed) return current;
                     	    if ( state.backtracking==0 ) {
 
                     	      					newLeafNode(otherlv_5, grammarAccess.getXConstructorCallAccess().getCommaKeyword_3_2_0());
                     	      				
                     	    }
-                    	    // InternalReportDSL.g:13184:5: ( (lv_typeArguments_6_0= ruleJvmArgumentTypeReference ) )
-                    	    // InternalReportDSL.g:13185:6: (lv_typeArguments_6_0= ruleJvmArgumentTypeReference )
+                    	    // InternalReportDSL.g:13493:5: ( (lv_typeArguments_6_0= ruleJvmArgumentTypeReference ) )
+                    	    // InternalReportDSL.g:13494:6: (lv_typeArguments_6_0= ruleJvmArgumentTypeReference )
                     	    {
-                    	    // InternalReportDSL.g:13185:6: (lv_typeArguments_6_0= ruleJvmArgumentTypeReference )
-                    	    // InternalReportDSL.g:13186:7: lv_typeArguments_6_0= ruleJvmArgumentTypeReference
+                    	    // InternalReportDSL.g:13494:6: (lv_typeArguments_6_0= ruleJvmArgumentTypeReference )
+                    	    // InternalReportDSL.g:13495:7: lv_typeArguments_6_0= ruleJvmArgumentTypeReference
                     	    {
                     	    if ( state.backtracking==0 ) {
 
                     	      							newCompositeNode(grammarAccess.getXConstructorCallAccess().getTypeArgumentsJvmArgumentTypeReferenceParserRuleCall_3_2_1_0());
                     	      						
                     	    }
-                    	    pushFollow(FOLLOW_156);
+                    	    pushFollow(FOLLOW_148);
                     	    lv_typeArguments_6_0=ruleJvmArgumentTypeReference();
 
                     	    state._fsp--;
@@ -35708,11 +36554,11 @@
                     	    break;
 
                     	default :
-                    	    break loop200;
+                    	    break loop188;
                         }
                     } while (true);
 
-                    otherlv_7=(Token)match(input,145,FOLLOW_183); if (state.failed) return current;
+                    otherlv_7=(Token)match(input,144,FOLLOW_175); if (state.failed) return current;
                     if ( state.backtracking==0 ) {
 
                       				newLeafNode(otherlv_7, grammarAccess.getXConstructorCallAccess().getGreaterThanSignKeyword_3_3());
@@ -35724,20 +36570,20 @@
 
             }
 
-            // InternalReportDSL.g:13209:3: ( ( ( ( '(' ) )=> (lv_explicitConstructorCall_8_0= '(' ) ) ( ( ( ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> (lv_arguments_9_0= ruleXShortClosure ) ) | ( ( (lv_arguments_10_0= ruleXExpression ) ) (otherlv_11= ',' ( (lv_arguments_12_0= ruleXExpression ) ) )* ) )? otherlv_13= ')' )?
-            int alt204=2;
-            alt204 = dfa204.predict(input);
-            switch (alt204) {
+            // InternalReportDSL.g:13518:3: ( ( ( ( '(' ) )=> (lv_explicitConstructorCall_8_0= '(' ) ) ( ( ( ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> (lv_arguments_9_0= ruleXShortClosure ) ) | ( ( (lv_arguments_10_0= ruleXExpression ) ) (otherlv_11= ',' ( (lv_arguments_12_0= ruleXExpression ) ) )* ) )? otherlv_13= ')' )?
+            int alt192=2;
+            alt192 = dfa192.predict(input);
+            switch (alt192) {
                 case 1 :
-                    // InternalReportDSL.g:13210:4: ( ( ( '(' ) )=> (lv_explicitConstructorCall_8_0= '(' ) ) ( ( ( ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> (lv_arguments_9_0= ruleXShortClosure ) ) | ( ( (lv_arguments_10_0= ruleXExpression ) ) (otherlv_11= ',' ( (lv_arguments_12_0= ruleXExpression ) ) )* ) )? otherlv_13= ')'
+                    // InternalReportDSL.g:13519:4: ( ( ( '(' ) )=> (lv_explicitConstructorCall_8_0= '(' ) ) ( ( ( ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> (lv_arguments_9_0= ruleXShortClosure ) ) | ( ( (lv_arguments_10_0= ruleXExpression ) ) (otherlv_11= ',' ( (lv_arguments_12_0= ruleXExpression ) ) )* ) )? otherlv_13= ')'
                     {
-                    // InternalReportDSL.g:13210:4: ( ( ( '(' ) )=> (lv_explicitConstructorCall_8_0= '(' ) )
-                    // InternalReportDSL.g:13211:5: ( ( '(' ) )=> (lv_explicitConstructorCall_8_0= '(' )
+                    // InternalReportDSL.g:13519:4: ( ( ( '(' ) )=> (lv_explicitConstructorCall_8_0= '(' ) )
+                    // InternalReportDSL.g:13520:5: ( ( '(' ) )=> (lv_explicitConstructorCall_8_0= '(' )
                     {
-                    // InternalReportDSL.g:13215:5: (lv_explicitConstructorCall_8_0= '(' )
-                    // InternalReportDSL.g:13216:6: lv_explicitConstructorCall_8_0= '('
+                    // InternalReportDSL.g:13524:5: (lv_explicitConstructorCall_8_0= '(' )
+                    // InternalReportDSL.g:13525:6: lv_explicitConstructorCall_8_0= '('
                     {
-                    lv_explicitConstructorCall_8_0=(Token)match(input,103,FOLLOW_158); if (state.failed) return current;
+                    lv_explicitConstructorCall_8_0=(Token)match(input,102,FOLLOW_150); if (state.failed) return current;
                     if ( state.backtracking==0 ) {
 
                       						newLeafNode(lv_explicitConstructorCall_8_0, grammarAccess.getXConstructorCallAccess().getExplicitConstructorCallLeftParenthesisKeyword_4_0_0());
@@ -35757,25 +36603,25 @@
 
                     }
 
-                    // InternalReportDSL.g:13228:4: ( ( ( ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> (lv_arguments_9_0= ruleXShortClosure ) ) | ( ( (lv_arguments_10_0= ruleXExpression ) ) (otherlv_11= ',' ( (lv_arguments_12_0= ruleXExpression ) ) )* ) )?
-                    int alt203=3;
-                    alt203 = dfa203.predict(input);
-                    switch (alt203) {
+                    // InternalReportDSL.g:13537:4: ( ( ( ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> (lv_arguments_9_0= ruleXShortClosure ) ) | ( ( (lv_arguments_10_0= ruleXExpression ) ) (otherlv_11= ',' ( (lv_arguments_12_0= ruleXExpression ) ) )* ) )?
+                    int alt191=3;
+                    alt191 = dfa191.predict(input);
+                    switch (alt191) {
                         case 1 :
-                            // InternalReportDSL.g:13229:5: ( ( ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> (lv_arguments_9_0= ruleXShortClosure ) )
+                            // InternalReportDSL.g:13538:5: ( ( ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> (lv_arguments_9_0= ruleXShortClosure ) )
                             {
-                            // InternalReportDSL.g:13229:5: ( ( ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> (lv_arguments_9_0= ruleXShortClosure ) )
-                            // InternalReportDSL.g:13230:6: ( ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> (lv_arguments_9_0= ruleXShortClosure )
+                            // InternalReportDSL.g:13538:5: ( ( ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> (lv_arguments_9_0= ruleXShortClosure ) )
+                            // InternalReportDSL.g:13539:6: ( ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> (lv_arguments_9_0= ruleXShortClosure )
                             {
-                            // InternalReportDSL.g:13255:6: (lv_arguments_9_0= ruleXShortClosure )
-                            // InternalReportDSL.g:13256:7: lv_arguments_9_0= ruleXShortClosure
+                            // InternalReportDSL.g:13564:6: (lv_arguments_9_0= ruleXShortClosure )
+                            // InternalReportDSL.g:13565:7: lv_arguments_9_0= ruleXShortClosure
                             {
                             if ( state.backtracking==0 ) {
 
                               							newCompositeNode(grammarAccess.getXConstructorCallAccess().getArgumentsXShortClosureParserRuleCall_4_1_0_0());
                               						
                             }
-                            pushFollow(FOLLOW_115);
+                            pushFollow(FOLLOW_107);
                             lv_arguments_9_0=ruleXShortClosure();
 
                             state._fsp--;
@@ -35803,23 +36649,23 @@
                             }
                             break;
                         case 2 :
-                            // InternalReportDSL.g:13274:5: ( ( (lv_arguments_10_0= ruleXExpression ) ) (otherlv_11= ',' ( (lv_arguments_12_0= ruleXExpression ) ) )* )
+                            // InternalReportDSL.g:13583:5: ( ( (lv_arguments_10_0= ruleXExpression ) ) (otherlv_11= ',' ( (lv_arguments_12_0= ruleXExpression ) ) )* )
                             {
-                            // InternalReportDSL.g:13274:5: ( ( (lv_arguments_10_0= ruleXExpression ) ) (otherlv_11= ',' ( (lv_arguments_12_0= ruleXExpression ) ) )* )
-                            // InternalReportDSL.g:13275:6: ( (lv_arguments_10_0= ruleXExpression ) ) (otherlv_11= ',' ( (lv_arguments_12_0= ruleXExpression ) ) )*
+                            // InternalReportDSL.g:13583:5: ( ( (lv_arguments_10_0= ruleXExpression ) ) (otherlv_11= ',' ( (lv_arguments_12_0= ruleXExpression ) ) )* )
+                            // InternalReportDSL.g:13584:6: ( (lv_arguments_10_0= ruleXExpression ) ) (otherlv_11= ',' ( (lv_arguments_12_0= ruleXExpression ) ) )*
                             {
-                            // InternalReportDSL.g:13275:6: ( (lv_arguments_10_0= ruleXExpression ) )
-                            // InternalReportDSL.g:13276:7: (lv_arguments_10_0= ruleXExpression )
+                            // InternalReportDSL.g:13584:6: ( (lv_arguments_10_0= ruleXExpression ) )
+                            // InternalReportDSL.g:13585:7: (lv_arguments_10_0= ruleXExpression )
                             {
-                            // InternalReportDSL.g:13276:7: (lv_arguments_10_0= ruleXExpression )
-                            // InternalReportDSL.g:13277:8: lv_arguments_10_0= ruleXExpression
+                            // InternalReportDSL.g:13585:7: (lv_arguments_10_0= ruleXExpression )
+                            // InternalReportDSL.g:13586:8: lv_arguments_10_0= ruleXExpression
                             {
                             if ( state.backtracking==0 ) {
 
                               								newCompositeNode(grammarAccess.getXConstructorCallAccess().getArgumentsXExpressionParserRuleCall_4_1_1_0_0());
                               							
                             }
-                            pushFollow(FOLLOW_128);
+                            pushFollow(FOLLOW_120);
                             lv_arguments_10_0=ruleXExpression();
 
                             state._fsp--;
@@ -35843,39 +36689,39 @@
 
                             }
 
-                            // InternalReportDSL.g:13294:6: (otherlv_11= ',' ( (lv_arguments_12_0= ruleXExpression ) ) )*
-                            loop202:
+                            // InternalReportDSL.g:13603:6: (otherlv_11= ',' ( (lv_arguments_12_0= ruleXExpression ) ) )*
+                            loop190:
                             do {
-                                int alt202=2;
-                                int LA202_0 = input.LA(1);
+                                int alt190=2;
+                                int LA190_0 = input.LA(1);
 
-                                if ( (LA202_0==134) ) {
-                                    alt202=1;
+                                if ( (LA190_0==133) ) {
+                                    alt190=1;
                                 }
 
 
-                                switch (alt202) {
+                                switch (alt190) {
                             	case 1 :
-                            	    // InternalReportDSL.g:13295:7: otherlv_11= ',' ( (lv_arguments_12_0= ruleXExpression ) )
+                            	    // InternalReportDSL.g:13604:7: otherlv_11= ',' ( (lv_arguments_12_0= ruleXExpression ) )
                             	    {
-                            	    otherlv_11=(Token)match(input,134,FOLLOW_130); if (state.failed) return current;
+                            	    otherlv_11=(Token)match(input,133,FOLLOW_122); if (state.failed) return current;
                             	    if ( state.backtracking==0 ) {
 
                             	      							newLeafNode(otherlv_11, grammarAccess.getXConstructorCallAccess().getCommaKeyword_4_1_1_1_0());
                             	      						
                             	    }
-                            	    // InternalReportDSL.g:13299:7: ( (lv_arguments_12_0= ruleXExpression ) )
-                            	    // InternalReportDSL.g:13300:8: (lv_arguments_12_0= ruleXExpression )
+                            	    // InternalReportDSL.g:13608:7: ( (lv_arguments_12_0= ruleXExpression ) )
+                            	    // InternalReportDSL.g:13609:8: (lv_arguments_12_0= ruleXExpression )
                             	    {
-                            	    // InternalReportDSL.g:13300:8: (lv_arguments_12_0= ruleXExpression )
-                            	    // InternalReportDSL.g:13301:9: lv_arguments_12_0= ruleXExpression
+                            	    // InternalReportDSL.g:13609:8: (lv_arguments_12_0= ruleXExpression )
+                            	    // InternalReportDSL.g:13610:9: lv_arguments_12_0= ruleXExpression
                             	    {
                             	    if ( state.backtracking==0 ) {
 
                             	      									newCompositeNode(grammarAccess.getXConstructorCallAccess().getArgumentsXExpressionParserRuleCall_4_1_1_1_1_0());
                             	      								
                             	    }
-                            	    pushFollow(FOLLOW_128);
+                            	    pushFollow(FOLLOW_120);
                             	    lv_arguments_12_0=ruleXExpression();
 
                             	    state._fsp--;
@@ -35904,7 +36750,7 @@
                             	    break;
 
                             	default :
-                            	    break loop202;
+                            	    break loop190;
                                 }
                             } while (true);
 
@@ -35917,7 +36763,7 @@
 
                     }
 
-                    otherlv_13=(Token)match(input,104,FOLLOW_184); if (state.failed) return current;
+                    otherlv_13=(Token)match(input,103,FOLLOW_176); if (state.failed) return current;
                     if ( state.backtracking==0 ) {
 
                       				newLeafNode(otherlv_13, grammarAccess.getXConstructorCallAccess().getRightParenthesisKeyword_4_2());
@@ -35929,15 +36775,15 @@
 
             }
 
-            // InternalReportDSL.g:13326:3: ( ( ( () '[' ) )=> (lv_arguments_14_0= ruleXClosure ) )?
-            int alt205=2;
-            alt205 = dfa205.predict(input);
-            switch (alt205) {
+            // InternalReportDSL.g:13635:3: ( ( ( () '[' ) )=> (lv_arguments_14_0= ruleXClosure ) )?
+            int alt193=2;
+            alt193 = dfa193.predict(input);
+            switch (alt193) {
                 case 1 :
-                    // InternalReportDSL.g:13327:4: ( ( () '[' ) )=> (lv_arguments_14_0= ruleXClosure )
+                    // InternalReportDSL.g:13636:4: ( ( () '[' ) )=> (lv_arguments_14_0= ruleXClosure )
                     {
-                    // InternalReportDSL.g:13333:4: (lv_arguments_14_0= ruleXClosure )
-                    // InternalReportDSL.g:13334:5: lv_arguments_14_0= ruleXClosure
+                    // InternalReportDSL.g:13642:4: (lv_arguments_14_0= ruleXClosure )
+                    // InternalReportDSL.g:13643:5: lv_arguments_14_0= ruleXClosure
                     {
                     if ( state.backtracking==0 ) {
 
@@ -35996,7 +36842,7 @@
 
 
     // $ANTLR start "entryRuleXBooleanLiteral"
-    // InternalReportDSL.g:13355:1: entryRuleXBooleanLiteral returns [EObject current=null] : iv_ruleXBooleanLiteral= ruleXBooleanLiteral EOF ;
+    // InternalReportDSL.g:13664:1: entryRuleXBooleanLiteral returns [EObject current=null] : iv_ruleXBooleanLiteral= ruleXBooleanLiteral EOF ;
     public final EObject entryRuleXBooleanLiteral() throws RecognitionException {
         EObject current = null;
 
@@ -36004,8 +36850,8 @@
 
 
         try {
-            // InternalReportDSL.g:13355:56: (iv_ruleXBooleanLiteral= ruleXBooleanLiteral EOF )
-            // InternalReportDSL.g:13356:2: iv_ruleXBooleanLiteral= ruleXBooleanLiteral EOF
+            // InternalReportDSL.g:13664:56: (iv_ruleXBooleanLiteral= ruleXBooleanLiteral EOF )
+            // InternalReportDSL.g:13665:2: iv_ruleXBooleanLiteral= ruleXBooleanLiteral EOF
             {
             if ( state.backtracking==0 ) {
                newCompositeNode(grammarAccess.getXBooleanLiteralRule()); 
@@ -36036,7 +36882,7 @@
 
 
     // $ANTLR start "ruleXBooleanLiteral"
-    // InternalReportDSL.g:13362:1: ruleXBooleanLiteral returns [EObject current=null] : ( () (otherlv_1= 'false' | ( (lv_isTrue_2_0= 'true' ) ) ) ) ;
+    // InternalReportDSL.g:13671:1: ruleXBooleanLiteral returns [EObject current=null] : ( () (otherlv_1= 'false' | ( (lv_isTrue_2_0= 'true' ) ) ) ) ;
     public final EObject ruleXBooleanLiteral() throws RecognitionException {
         EObject current = null;
 
@@ -36047,14 +36893,14 @@
         	enterRule();
 
         try {
-            // InternalReportDSL.g:13368:2: ( ( () (otherlv_1= 'false' | ( (lv_isTrue_2_0= 'true' ) ) ) ) )
-            // InternalReportDSL.g:13369:2: ( () (otherlv_1= 'false' | ( (lv_isTrue_2_0= 'true' ) ) ) )
+            // InternalReportDSL.g:13677:2: ( ( () (otherlv_1= 'false' | ( (lv_isTrue_2_0= 'true' ) ) ) ) )
+            // InternalReportDSL.g:13678:2: ( () (otherlv_1= 'false' | ( (lv_isTrue_2_0= 'true' ) ) ) )
             {
-            // InternalReportDSL.g:13369:2: ( () (otherlv_1= 'false' | ( (lv_isTrue_2_0= 'true' ) ) ) )
-            // InternalReportDSL.g:13370:3: () (otherlv_1= 'false' | ( (lv_isTrue_2_0= 'true' ) ) )
+            // InternalReportDSL.g:13678:2: ( () (otherlv_1= 'false' | ( (lv_isTrue_2_0= 'true' ) ) ) )
+            // InternalReportDSL.g:13679:3: () (otherlv_1= 'false' | ( (lv_isTrue_2_0= 'true' ) ) )
             {
-            // InternalReportDSL.g:13370:3: ()
-            // InternalReportDSL.g:13371:4: 
+            // InternalReportDSL.g:13679:3: ()
+            // InternalReportDSL.g:13680:4: 
             {
             if ( state.backtracking==0 ) {
 
@@ -36066,28 +36912,28 @@
 
             }
 
-            // InternalReportDSL.g:13377:3: (otherlv_1= 'false' | ( (lv_isTrue_2_0= 'true' ) ) )
-            int alt206=2;
-            int LA206_0 = input.LA(1);
+            // InternalReportDSL.g:13686:3: (otherlv_1= 'false' | ( (lv_isTrue_2_0= 'true' ) ) )
+            int alt194=2;
+            int LA194_0 = input.LA(1);
 
-            if ( (LA206_0==184) ) {
-                alt206=1;
+            if ( (LA194_0==183) ) {
+                alt194=1;
             }
-            else if ( (LA206_0==185) ) {
-                alt206=2;
+            else if ( (LA194_0==184) ) {
+                alt194=2;
             }
             else {
                 if (state.backtracking>0) {state.failed=true; return current;}
                 NoViableAltException nvae =
-                    new NoViableAltException("", 206, 0, input);
+                    new NoViableAltException("", 194, 0, input);
 
                 throw nvae;
             }
-            switch (alt206) {
+            switch (alt194) {
                 case 1 :
-                    // InternalReportDSL.g:13378:4: otherlv_1= 'false'
+                    // InternalReportDSL.g:13687:4: otherlv_1= 'false'
                     {
-                    otherlv_1=(Token)match(input,184,FOLLOW_2); if (state.failed) return current;
+                    otherlv_1=(Token)match(input,183,FOLLOW_2); if (state.failed) return current;
                     if ( state.backtracking==0 ) {
 
                       				newLeafNode(otherlv_1, grammarAccess.getXBooleanLiteralAccess().getFalseKeyword_1_0());
@@ -36097,15 +36943,15 @@
                     }
                     break;
                 case 2 :
-                    // InternalReportDSL.g:13383:4: ( (lv_isTrue_2_0= 'true' ) )
+                    // InternalReportDSL.g:13692:4: ( (lv_isTrue_2_0= 'true' ) )
                     {
-                    // InternalReportDSL.g:13383:4: ( (lv_isTrue_2_0= 'true' ) )
-                    // InternalReportDSL.g:13384:5: (lv_isTrue_2_0= 'true' )
+                    // InternalReportDSL.g:13692:4: ( (lv_isTrue_2_0= 'true' ) )
+                    // InternalReportDSL.g:13693:5: (lv_isTrue_2_0= 'true' )
                     {
-                    // InternalReportDSL.g:13384:5: (lv_isTrue_2_0= 'true' )
-                    // InternalReportDSL.g:13385:6: lv_isTrue_2_0= 'true'
+                    // InternalReportDSL.g:13693:5: (lv_isTrue_2_0= 'true' )
+                    // InternalReportDSL.g:13694:6: lv_isTrue_2_0= 'true'
                     {
-                    lv_isTrue_2_0=(Token)match(input,185,FOLLOW_2); if (state.failed) return current;
+                    lv_isTrue_2_0=(Token)match(input,184,FOLLOW_2); if (state.failed) return current;
                     if ( state.backtracking==0 ) {
 
                       						newLeafNode(lv_isTrue_2_0, grammarAccess.getXBooleanLiteralAccess().getIsTrueTrueKeyword_1_1_0());
@@ -36156,7 +37002,7 @@
 
 
     // $ANTLR start "entryRuleXNullLiteral"
-    // InternalReportDSL.g:13402:1: entryRuleXNullLiteral returns [EObject current=null] : iv_ruleXNullLiteral= ruleXNullLiteral EOF ;
+    // InternalReportDSL.g:13711:1: entryRuleXNullLiteral returns [EObject current=null] : iv_ruleXNullLiteral= ruleXNullLiteral EOF ;
     public final EObject entryRuleXNullLiteral() throws RecognitionException {
         EObject current = null;
 
@@ -36164,8 +37010,8 @@
 
 
         try {
-            // InternalReportDSL.g:13402:53: (iv_ruleXNullLiteral= ruleXNullLiteral EOF )
-            // InternalReportDSL.g:13403:2: iv_ruleXNullLiteral= ruleXNullLiteral EOF
+            // InternalReportDSL.g:13711:53: (iv_ruleXNullLiteral= ruleXNullLiteral EOF )
+            // InternalReportDSL.g:13712:2: iv_ruleXNullLiteral= ruleXNullLiteral EOF
             {
             if ( state.backtracking==0 ) {
                newCompositeNode(grammarAccess.getXNullLiteralRule()); 
@@ -36196,7 +37042,7 @@
 
 
     // $ANTLR start "ruleXNullLiteral"
-    // InternalReportDSL.g:13409:1: ruleXNullLiteral returns [EObject current=null] : ( () otherlv_1= 'null' ) ;
+    // InternalReportDSL.g:13718:1: ruleXNullLiteral returns [EObject current=null] : ( () otherlv_1= 'null' ) ;
     public final EObject ruleXNullLiteral() throws RecognitionException {
         EObject current = null;
 
@@ -36206,14 +37052,14 @@
         	enterRule();
 
         try {
-            // InternalReportDSL.g:13415:2: ( ( () otherlv_1= 'null' ) )
-            // InternalReportDSL.g:13416:2: ( () otherlv_1= 'null' )
+            // InternalReportDSL.g:13724:2: ( ( () otherlv_1= 'null' ) )
+            // InternalReportDSL.g:13725:2: ( () otherlv_1= 'null' )
             {
-            // InternalReportDSL.g:13416:2: ( () otherlv_1= 'null' )
-            // InternalReportDSL.g:13417:3: () otherlv_1= 'null'
+            // InternalReportDSL.g:13725:2: ( () otherlv_1= 'null' )
+            // InternalReportDSL.g:13726:3: () otherlv_1= 'null'
             {
-            // InternalReportDSL.g:13417:3: ()
-            // InternalReportDSL.g:13418:4: 
+            // InternalReportDSL.g:13726:3: ()
+            // InternalReportDSL.g:13727:4: 
             {
             if ( state.backtracking==0 ) {
 
@@ -36225,7 +37071,7 @@
 
             }
 
-            otherlv_1=(Token)match(input,186,FOLLOW_2); if (state.failed) return current;
+            otherlv_1=(Token)match(input,185,FOLLOW_2); if (state.failed) return current;
             if ( state.backtracking==0 ) {
 
               			newLeafNode(otherlv_1, grammarAccess.getXNullLiteralAccess().getNullKeyword_1());
@@ -36256,7 +37102,7 @@
 
 
     // $ANTLR start "entryRuleXNumberLiteral"
-    // InternalReportDSL.g:13432:1: entryRuleXNumberLiteral returns [EObject current=null] : iv_ruleXNumberLiteral= ruleXNumberLiteral EOF ;
+    // InternalReportDSL.g:13741:1: entryRuleXNumberLiteral returns [EObject current=null] : iv_ruleXNumberLiteral= ruleXNumberLiteral EOF ;
     public final EObject entryRuleXNumberLiteral() throws RecognitionException {
         EObject current = null;
 
@@ -36264,8 +37110,8 @@
 
 
         try {
-            // InternalReportDSL.g:13432:55: (iv_ruleXNumberLiteral= ruleXNumberLiteral EOF )
-            // InternalReportDSL.g:13433:2: iv_ruleXNumberLiteral= ruleXNumberLiteral EOF
+            // InternalReportDSL.g:13741:55: (iv_ruleXNumberLiteral= ruleXNumberLiteral EOF )
+            // InternalReportDSL.g:13742:2: iv_ruleXNumberLiteral= ruleXNumberLiteral EOF
             {
             if ( state.backtracking==0 ) {
                newCompositeNode(grammarAccess.getXNumberLiteralRule()); 
@@ -36296,7 +37142,7 @@
 
 
     // $ANTLR start "ruleXNumberLiteral"
-    // InternalReportDSL.g:13439:1: ruleXNumberLiteral returns [EObject current=null] : ( () ( (lv_value_1_0= ruleNumber ) ) ) ;
+    // InternalReportDSL.g:13748:1: ruleXNumberLiteral returns [EObject current=null] : ( () ( (lv_value_1_0= ruleNumber ) ) ) ;
     public final EObject ruleXNumberLiteral() throws RecognitionException {
         EObject current = null;
 
@@ -36307,14 +37153,14 @@
         	enterRule();
 
         try {
-            // InternalReportDSL.g:13445:2: ( ( () ( (lv_value_1_0= ruleNumber ) ) ) )
-            // InternalReportDSL.g:13446:2: ( () ( (lv_value_1_0= ruleNumber ) ) )
+            // InternalReportDSL.g:13754:2: ( ( () ( (lv_value_1_0= ruleNumber ) ) ) )
+            // InternalReportDSL.g:13755:2: ( () ( (lv_value_1_0= ruleNumber ) ) )
             {
-            // InternalReportDSL.g:13446:2: ( () ( (lv_value_1_0= ruleNumber ) ) )
-            // InternalReportDSL.g:13447:3: () ( (lv_value_1_0= ruleNumber ) )
+            // InternalReportDSL.g:13755:2: ( () ( (lv_value_1_0= ruleNumber ) ) )
+            // InternalReportDSL.g:13756:3: () ( (lv_value_1_0= ruleNumber ) )
             {
-            // InternalReportDSL.g:13447:3: ()
-            // InternalReportDSL.g:13448:4: 
+            // InternalReportDSL.g:13756:3: ()
+            // InternalReportDSL.g:13757:4: 
             {
             if ( state.backtracking==0 ) {
 
@@ -36326,11 +37172,11 @@
 
             }
 
-            // InternalReportDSL.g:13454:3: ( (lv_value_1_0= ruleNumber ) )
-            // InternalReportDSL.g:13455:4: (lv_value_1_0= ruleNumber )
+            // InternalReportDSL.g:13763:3: ( (lv_value_1_0= ruleNumber ) )
+            // InternalReportDSL.g:13764:4: (lv_value_1_0= ruleNumber )
             {
-            // InternalReportDSL.g:13455:4: (lv_value_1_0= ruleNumber )
-            // InternalReportDSL.g:13456:5: lv_value_1_0= ruleNumber
+            // InternalReportDSL.g:13764:4: (lv_value_1_0= ruleNumber )
+            // InternalReportDSL.g:13765:5: lv_value_1_0= ruleNumber
             {
             if ( state.backtracking==0 ) {
 
@@ -36386,7 +37232,7 @@
 
 
     // $ANTLR start "entryRuleXStringLiteral"
-    // InternalReportDSL.g:13477:1: entryRuleXStringLiteral returns [EObject current=null] : iv_ruleXStringLiteral= ruleXStringLiteral EOF ;
+    // InternalReportDSL.g:13786:1: entryRuleXStringLiteral returns [EObject current=null] : iv_ruleXStringLiteral= ruleXStringLiteral EOF ;
     public final EObject entryRuleXStringLiteral() throws RecognitionException {
         EObject current = null;
 
@@ -36394,8 +37240,8 @@
 
 
         try {
-            // InternalReportDSL.g:13477:55: (iv_ruleXStringLiteral= ruleXStringLiteral EOF )
-            // InternalReportDSL.g:13478:2: iv_ruleXStringLiteral= ruleXStringLiteral EOF
+            // InternalReportDSL.g:13786:55: (iv_ruleXStringLiteral= ruleXStringLiteral EOF )
+            // InternalReportDSL.g:13787:2: iv_ruleXStringLiteral= ruleXStringLiteral EOF
             {
             if ( state.backtracking==0 ) {
                newCompositeNode(grammarAccess.getXStringLiteralRule()); 
@@ -36426,7 +37272,7 @@
 
 
     // $ANTLR start "ruleXStringLiteral"
-    // InternalReportDSL.g:13484:1: ruleXStringLiteral returns [EObject current=null] : ( () ( (lv_value_1_0= RULE_STRING ) ) ) ;
+    // InternalReportDSL.g:13793:1: ruleXStringLiteral returns [EObject current=null] : ( () ( (lv_value_1_0= RULE_STRING ) ) ) ;
     public final EObject ruleXStringLiteral() throws RecognitionException {
         EObject current = null;
 
@@ -36436,14 +37282,14 @@
         	enterRule();
 
         try {
-            // InternalReportDSL.g:13490:2: ( ( () ( (lv_value_1_0= RULE_STRING ) ) ) )
-            // InternalReportDSL.g:13491:2: ( () ( (lv_value_1_0= RULE_STRING ) ) )
+            // InternalReportDSL.g:13799:2: ( ( () ( (lv_value_1_0= RULE_STRING ) ) ) )
+            // InternalReportDSL.g:13800:2: ( () ( (lv_value_1_0= RULE_STRING ) ) )
             {
-            // InternalReportDSL.g:13491:2: ( () ( (lv_value_1_0= RULE_STRING ) ) )
-            // InternalReportDSL.g:13492:3: () ( (lv_value_1_0= RULE_STRING ) )
+            // InternalReportDSL.g:13800:2: ( () ( (lv_value_1_0= RULE_STRING ) ) )
+            // InternalReportDSL.g:13801:3: () ( (lv_value_1_0= RULE_STRING ) )
             {
-            // InternalReportDSL.g:13492:3: ()
-            // InternalReportDSL.g:13493:4: 
+            // InternalReportDSL.g:13801:3: ()
+            // InternalReportDSL.g:13802:4: 
             {
             if ( state.backtracking==0 ) {
 
@@ -36455,11 +37301,11 @@
 
             }
 
-            // InternalReportDSL.g:13499:3: ( (lv_value_1_0= RULE_STRING ) )
-            // InternalReportDSL.g:13500:4: (lv_value_1_0= RULE_STRING )
+            // InternalReportDSL.g:13808:3: ( (lv_value_1_0= RULE_STRING ) )
+            // InternalReportDSL.g:13809:4: (lv_value_1_0= RULE_STRING )
             {
-            // InternalReportDSL.g:13500:4: (lv_value_1_0= RULE_STRING )
-            // InternalReportDSL.g:13501:5: lv_value_1_0= RULE_STRING
+            // InternalReportDSL.g:13809:4: (lv_value_1_0= RULE_STRING )
+            // InternalReportDSL.g:13810:5: lv_value_1_0= RULE_STRING
             {
             lv_value_1_0=(Token)match(input,RULE_STRING,FOLLOW_2); if (state.failed) return current;
             if ( state.backtracking==0 ) {
@@ -36510,7 +37356,7 @@
 
 
     // $ANTLR start "entryRuleXTypeLiteral"
-    // InternalReportDSL.g:13521:1: entryRuleXTypeLiteral returns [EObject current=null] : iv_ruleXTypeLiteral= ruleXTypeLiteral EOF ;
+    // InternalReportDSL.g:13830:1: entryRuleXTypeLiteral returns [EObject current=null] : iv_ruleXTypeLiteral= ruleXTypeLiteral EOF ;
     public final EObject entryRuleXTypeLiteral() throws RecognitionException {
         EObject current = null;
 
@@ -36518,8 +37364,8 @@
 
 
         try {
-            // InternalReportDSL.g:13521:53: (iv_ruleXTypeLiteral= ruleXTypeLiteral EOF )
-            // InternalReportDSL.g:13522:2: iv_ruleXTypeLiteral= ruleXTypeLiteral EOF
+            // InternalReportDSL.g:13830:53: (iv_ruleXTypeLiteral= ruleXTypeLiteral EOF )
+            // InternalReportDSL.g:13831:2: iv_ruleXTypeLiteral= ruleXTypeLiteral EOF
             {
             if ( state.backtracking==0 ) {
                newCompositeNode(grammarAccess.getXTypeLiteralRule()); 
@@ -36550,7 +37396,7 @@
 
 
     // $ANTLR start "ruleXTypeLiteral"
-    // InternalReportDSL.g:13528:1: ruleXTypeLiteral returns [EObject current=null] : ( () otherlv_1= 'typeof' otherlv_2= '(' ( ( ruleQualifiedName ) ) ( (lv_arrayDimensions_4_0= ruleArrayBrackets ) )* otherlv_5= ')' ) ;
+    // InternalReportDSL.g:13837:1: ruleXTypeLiteral returns [EObject current=null] : ( () otherlv_1= 'typeof' otherlv_2= '(' ( ( ruleQualifiedName ) ) ( (lv_arrayDimensions_4_0= ruleArrayBrackets ) )* otherlv_5= ')' ) ;
     public final EObject ruleXTypeLiteral() throws RecognitionException {
         EObject current = null;
 
@@ -36564,14 +37410,14 @@
         	enterRule();
 
         try {
-            // InternalReportDSL.g:13534:2: ( ( () otherlv_1= 'typeof' otherlv_2= '(' ( ( ruleQualifiedName ) ) ( (lv_arrayDimensions_4_0= ruleArrayBrackets ) )* otherlv_5= ')' ) )
-            // InternalReportDSL.g:13535:2: ( () otherlv_1= 'typeof' otherlv_2= '(' ( ( ruleQualifiedName ) ) ( (lv_arrayDimensions_4_0= ruleArrayBrackets ) )* otherlv_5= ')' )
+            // InternalReportDSL.g:13843:2: ( ( () otherlv_1= 'typeof' otherlv_2= '(' ( ( ruleQualifiedName ) ) ( (lv_arrayDimensions_4_0= ruleArrayBrackets ) )* otherlv_5= ')' ) )
+            // InternalReportDSL.g:13844:2: ( () otherlv_1= 'typeof' otherlv_2= '(' ( ( ruleQualifiedName ) ) ( (lv_arrayDimensions_4_0= ruleArrayBrackets ) )* otherlv_5= ')' )
             {
-            // InternalReportDSL.g:13535:2: ( () otherlv_1= 'typeof' otherlv_2= '(' ( ( ruleQualifiedName ) ) ( (lv_arrayDimensions_4_0= ruleArrayBrackets ) )* otherlv_5= ')' )
-            // InternalReportDSL.g:13536:3: () otherlv_1= 'typeof' otherlv_2= '(' ( ( ruleQualifiedName ) ) ( (lv_arrayDimensions_4_0= ruleArrayBrackets ) )* otherlv_5= ')'
+            // InternalReportDSL.g:13844:2: ( () otherlv_1= 'typeof' otherlv_2= '(' ( ( ruleQualifiedName ) ) ( (lv_arrayDimensions_4_0= ruleArrayBrackets ) )* otherlv_5= ')' )
+            // InternalReportDSL.g:13845:3: () otherlv_1= 'typeof' otherlv_2= '(' ( ( ruleQualifiedName ) ) ( (lv_arrayDimensions_4_0= ruleArrayBrackets ) )* otherlv_5= ')'
             {
-            // InternalReportDSL.g:13536:3: ()
-            // InternalReportDSL.g:13537:4: 
+            // InternalReportDSL.g:13845:3: ()
+            // InternalReportDSL.g:13846:4: 
             {
             if ( state.backtracking==0 ) {
 
@@ -36583,23 +37429,23 @@
 
             }
 
-            otherlv_1=(Token)match(input,187,FOLLOW_106); if (state.failed) return current;
+            otherlv_1=(Token)match(input,186,FOLLOW_98); if (state.failed) return current;
             if ( state.backtracking==0 ) {
 
               			newLeafNode(otherlv_1, grammarAccess.getXTypeLiteralAccess().getTypeofKeyword_1());
               		
             }
-            otherlv_2=(Token)match(input,103,FOLLOW_4); if (state.failed) return current;
+            otherlv_2=(Token)match(input,102,FOLLOW_4); if (state.failed) return current;
             if ( state.backtracking==0 ) {
 
               			newLeafNode(otherlv_2, grammarAccess.getXTypeLiteralAccess().getLeftParenthesisKeyword_2());
               		
             }
-            // InternalReportDSL.g:13551:3: ( ( ruleQualifiedName ) )
-            // InternalReportDSL.g:13552:4: ( ruleQualifiedName )
+            // InternalReportDSL.g:13860:3: ( ( ruleQualifiedName ) )
+            // InternalReportDSL.g:13861:4: ( ruleQualifiedName )
             {
-            // InternalReportDSL.g:13552:4: ( ruleQualifiedName )
-            // InternalReportDSL.g:13553:5: ruleQualifiedName
+            // InternalReportDSL.g:13861:4: ( ruleQualifiedName )
+            // InternalReportDSL.g:13862:5: ruleQualifiedName
             {
             if ( state.backtracking==0 ) {
 
@@ -36613,7 +37459,7 @@
               					newCompositeNode(grammarAccess.getXTypeLiteralAccess().getTypeJvmTypeCrossReference_3_0());
               				
             }
-            pushFollow(FOLLOW_186);
+            pushFollow(FOLLOW_178);
             ruleQualifiedName();
 
             state._fsp--;
@@ -36629,30 +37475,30 @@
 
             }
 
-            // InternalReportDSL.g:13567:3: ( (lv_arrayDimensions_4_0= ruleArrayBrackets ) )*
-            loop207:
+            // InternalReportDSL.g:13876:3: ( (lv_arrayDimensions_4_0= ruleArrayBrackets ) )*
+            loop195:
             do {
-                int alt207=2;
-                int LA207_0 = input.LA(1);
+                int alt195=2;
+                int LA195_0 = input.LA(1);
 
-                if ( (LA207_0==137) ) {
-                    alt207=1;
+                if ( (LA195_0==136) ) {
+                    alt195=1;
                 }
 
 
-                switch (alt207) {
+                switch (alt195) {
             	case 1 :
-            	    // InternalReportDSL.g:13568:4: (lv_arrayDimensions_4_0= ruleArrayBrackets )
+            	    // InternalReportDSL.g:13877:4: (lv_arrayDimensions_4_0= ruleArrayBrackets )
             	    {
-            	    // InternalReportDSL.g:13568:4: (lv_arrayDimensions_4_0= ruleArrayBrackets )
-            	    // InternalReportDSL.g:13569:5: lv_arrayDimensions_4_0= ruleArrayBrackets
+            	    // InternalReportDSL.g:13877:4: (lv_arrayDimensions_4_0= ruleArrayBrackets )
+            	    // InternalReportDSL.g:13878:5: lv_arrayDimensions_4_0= ruleArrayBrackets
             	    {
             	    if ( state.backtracking==0 ) {
 
             	      					newCompositeNode(grammarAccess.getXTypeLiteralAccess().getArrayDimensionsArrayBracketsParserRuleCall_4_0());
             	      				
             	    }
-            	    pushFollow(FOLLOW_186);
+            	    pushFollow(FOLLOW_178);
             	    lv_arrayDimensions_4_0=ruleArrayBrackets();
 
             	    state._fsp--;
@@ -36678,11 +37524,11 @@
             	    break;
 
             	default :
-            	    break loop207;
+            	    break loop195;
                 }
             } while (true);
 
-            otherlv_5=(Token)match(input,104,FOLLOW_2); if (state.failed) return current;
+            otherlv_5=(Token)match(input,103,FOLLOW_2); if (state.failed) return current;
             if ( state.backtracking==0 ) {
 
               			newLeafNode(otherlv_5, grammarAccess.getXTypeLiteralAccess().getRightParenthesisKeyword_5());
@@ -36713,7 +37559,7 @@
 
 
     // $ANTLR start "entryRuleXThrowExpression"
-    // InternalReportDSL.g:13594:1: entryRuleXThrowExpression returns [EObject current=null] : iv_ruleXThrowExpression= ruleXThrowExpression EOF ;
+    // InternalReportDSL.g:13903:1: entryRuleXThrowExpression returns [EObject current=null] : iv_ruleXThrowExpression= ruleXThrowExpression EOF ;
     public final EObject entryRuleXThrowExpression() throws RecognitionException {
         EObject current = null;
 
@@ -36721,8 +37567,8 @@
 
 
         try {
-            // InternalReportDSL.g:13594:57: (iv_ruleXThrowExpression= ruleXThrowExpression EOF )
-            // InternalReportDSL.g:13595:2: iv_ruleXThrowExpression= ruleXThrowExpression EOF
+            // InternalReportDSL.g:13903:57: (iv_ruleXThrowExpression= ruleXThrowExpression EOF )
+            // InternalReportDSL.g:13904:2: iv_ruleXThrowExpression= ruleXThrowExpression EOF
             {
             if ( state.backtracking==0 ) {
                newCompositeNode(grammarAccess.getXThrowExpressionRule()); 
@@ -36753,7 +37599,7 @@
 
 
     // $ANTLR start "ruleXThrowExpression"
-    // InternalReportDSL.g:13601:1: ruleXThrowExpression returns [EObject current=null] : ( () otherlv_1= 'throw' ( (lv_expression_2_0= ruleXExpression ) ) ) ;
+    // InternalReportDSL.g:13910:1: ruleXThrowExpression returns [EObject current=null] : ( () otherlv_1= 'throw' ( (lv_expression_2_0= ruleXExpression ) ) ) ;
     public final EObject ruleXThrowExpression() throws RecognitionException {
         EObject current = null;
 
@@ -36765,14 +37611,14 @@
         	enterRule();
 
         try {
-            // InternalReportDSL.g:13607:2: ( ( () otherlv_1= 'throw' ( (lv_expression_2_0= ruleXExpression ) ) ) )
-            // InternalReportDSL.g:13608:2: ( () otherlv_1= 'throw' ( (lv_expression_2_0= ruleXExpression ) ) )
+            // InternalReportDSL.g:13916:2: ( ( () otherlv_1= 'throw' ( (lv_expression_2_0= ruleXExpression ) ) ) )
+            // InternalReportDSL.g:13917:2: ( () otherlv_1= 'throw' ( (lv_expression_2_0= ruleXExpression ) ) )
             {
-            // InternalReportDSL.g:13608:2: ( () otherlv_1= 'throw' ( (lv_expression_2_0= ruleXExpression ) ) )
-            // InternalReportDSL.g:13609:3: () otherlv_1= 'throw' ( (lv_expression_2_0= ruleXExpression ) )
+            // InternalReportDSL.g:13917:2: ( () otherlv_1= 'throw' ( (lv_expression_2_0= ruleXExpression ) ) )
+            // InternalReportDSL.g:13918:3: () otherlv_1= 'throw' ( (lv_expression_2_0= ruleXExpression ) )
             {
-            // InternalReportDSL.g:13609:3: ()
-            // InternalReportDSL.g:13610:4: 
+            // InternalReportDSL.g:13918:3: ()
+            // InternalReportDSL.g:13919:4: 
             {
             if ( state.backtracking==0 ) {
 
@@ -36784,17 +37630,17 @@
 
             }
 
-            otherlv_1=(Token)match(input,188,FOLLOW_130); if (state.failed) return current;
+            otherlv_1=(Token)match(input,187,FOLLOW_122); if (state.failed) return current;
             if ( state.backtracking==0 ) {
 
               			newLeafNode(otherlv_1, grammarAccess.getXThrowExpressionAccess().getThrowKeyword_1());
               		
             }
-            // InternalReportDSL.g:13620:3: ( (lv_expression_2_0= ruleXExpression ) )
-            // InternalReportDSL.g:13621:4: (lv_expression_2_0= ruleXExpression )
+            // InternalReportDSL.g:13929:3: ( (lv_expression_2_0= ruleXExpression ) )
+            // InternalReportDSL.g:13930:4: (lv_expression_2_0= ruleXExpression )
             {
-            // InternalReportDSL.g:13621:4: (lv_expression_2_0= ruleXExpression )
-            // InternalReportDSL.g:13622:5: lv_expression_2_0= ruleXExpression
+            // InternalReportDSL.g:13930:4: (lv_expression_2_0= ruleXExpression )
+            // InternalReportDSL.g:13931:5: lv_expression_2_0= ruleXExpression
             {
             if ( state.backtracking==0 ) {
 
@@ -36850,7 +37696,7 @@
 
 
     // $ANTLR start "entryRuleXReturnExpression"
-    // InternalReportDSL.g:13643:1: entryRuleXReturnExpression returns [EObject current=null] : iv_ruleXReturnExpression= ruleXReturnExpression EOF ;
+    // InternalReportDSL.g:13952:1: entryRuleXReturnExpression returns [EObject current=null] : iv_ruleXReturnExpression= ruleXReturnExpression EOF ;
     public final EObject entryRuleXReturnExpression() throws RecognitionException {
         EObject current = null;
 
@@ -36858,8 +37704,8 @@
 
 
         try {
-            // InternalReportDSL.g:13643:58: (iv_ruleXReturnExpression= ruleXReturnExpression EOF )
-            // InternalReportDSL.g:13644:2: iv_ruleXReturnExpression= ruleXReturnExpression EOF
+            // InternalReportDSL.g:13952:58: (iv_ruleXReturnExpression= ruleXReturnExpression EOF )
+            // InternalReportDSL.g:13953:2: iv_ruleXReturnExpression= ruleXReturnExpression EOF
             {
             if ( state.backtracking==0 ) {
                newCompositeNode(grammarAccess.getXReturnExpressionRule()); 
@@ -36890,7 +37736,7 @@
 
 
     // $ANTLR start "ruleXReturnExpression"
-    // InternalReportDSL.g:13650:1: ruleXReturnExpression returns [EObject current=null] : ( () otherlv_1= 'return' ( ( 'extends' | 'static' | 'import' | 'extension' | '!' | '-' | '+' | 'new' | '{' | 'switch' | 'synchronized' | '<' | 'super' | '#' | '[' | 'false' | 'true' | 'null' | 'typeof' | 'if' | 'for' | 'while' | 'do' | 'throw' | 'return' | 'try' | '(' | RULE_ID | RULE_HEX | RULE_INT | RULE_DECIMAL | RULE_STRING )=> (lv_expression_2_0= ruleXExpression ) )? ) ;
+    // InternalReportDSL.g:13959:1: ruleXReturnExpression returns [EObject current=null] : ( () otherlv_1= 'return' ( ( 'extends' | 'static' | 'import' | 'extension' | '!' | '-' | '+' | 'new' | '{' | 'switch' | 'synchronized' | '<' | 'super' | '#' | '[' | 'false' | 'true' | 'null' | 'typeof' | 'if' | 'for' | 'while' | 'do' | 'throw' | 'return' | 'try' | '(' | RULE_ID | RULE_HEX | RULE_INT | RULE_DECIMAL | RULE_STRING )=> (lv_expression_2_0= ruleXExpression ) )? ) ;
     public final EObject ruleXReturnExpression() throws RecognitionException {
         EObject current = null;
 
@@ -36902,14 +37748,14 @@
         	enterRule();
 
         try {
-            // InternalReportDSL.g:13656:2: ( ( () otherlv_1= 'return' ( ( 'extends' | 'static' | 'import' | 'extension' | '!' | '-' | '+' | 'new' | '{' | 'switch' | 'synchronized' | '<' | 'super' | '#' | '[' | 'false' | 'true' | 'null' | 'typeof' | 'if' | 'for' | 'while' | 'do' | 'throw' | 'return' | 'try' | '(' | RULE_ID | RULE_HEX | RULE_INT | RULE_DECIMAL | RULE_STRING )=> (lv_expression_2_0= ruleXExpression ) )? ) )
-            // InternalReportDSL.g:13657:2: ( () otherlv_1= 'return' ( ( 'extends' | 'static' | 'import' | 'extension' | '!' | '-' | '+' | 'new' | '{' | 'switch' | 'synchronized' | '<' | 'super' | '#' | '[' | 'false' | 'true' | 'null' | 'typeof' | 'if' | 'for' | 'while' | 'do' | 'throw' | 'return' | 'try' | '(' | RULE_ID | RULE_HEX | RULE_INT | RULE_DECIMAL | RULE_STRING )=> (lv_expression_2_0= ruleXExpression ) )? )
+            // InternalReportDSL.g:13965:2: ( ( () otherlv_1= 'return' ( ( 'extends' | 'static' | 'import' | 'extension' | '!' | '-' | '+' | 'new' | '{' | 'switch' | 'synchronized' | '<' | 'super' | '#' | '[' | 'false' | 'true' | 'null' | 'typeof' | 'if' | 'for' | 'while' | 'do' | 'throw' | 'return' | 'try' | '(' | RULE_ID | RULE_HEX | RULE_INT | RULE_DECIMAL | RULE_STRING )=> (lv_expression_2_0= ruleXExpression ) )? ) )
+            // InternalReportDSL.g:13966:2: ( () otherlv_1= 'return' ( ( 'extends' | 'static' | 'import' | 'extension' | '!' | '-' | '+' | 'new' | '{' | 'switch' | 'synchronized' | '<' | 'super' | '#' | '[' | 'false' | 'true' | 'null' | 'typeof' | 'if' | 'for' | 'while' | 'do' | 'throw' | 'return' | 'try' | '(' | RULE_ID | RULE_HEX | RULE_INT | RULE_DECIMAL | RULE_STRING )=> (lv_expression_2_0= ruleXExpression ) )? )
             {
-            // InternalReportDSL.g:13657:2: ( () otherlv_1= 'return' ( ( 'extends' | 'static' | 'import' | 'extension' | '!' | '-' | '+' | 'new' | '{' | 'switch' | 'synchronized' | '<' | 'super' | '#' | '[' | 'false' | 'true' | 'null' | 'typeof' | 'if' | 'for' | 'while' | 'do' | 'throw' | 'return' | 'try' | '(' | RULE_ID | RULE_HEX | RULE_INT | RULE_DECIMAL | RULE_STRING )=> (lv_expression_2_0= ruleXExpression ) )? )
-            // InternalReportDSL.g:13658:3: () otherlv_1= 'return' ( ( 'extends' | 'static' | 'import' | 'extension' | '!' | '-' | '+' | 'new' | '{' | 'switch' | 'synchronized' | '<' | 'super' | '#' | '[' | 'false' | 'true' | 'null' | 'typeof' | 'if' | 'for' | 'while' | 'do' | 'throw' | 'return' | 'try' | '(' | RULE_ID | RULE_HEX | RULE_INT | RULE_DECIMAL | RULE_STRING )=> (lv_expression_2_0= ruleXExpression ) )?
+            // InternalReportDSL.g:13966:2: ( () otherlv_1= 'return' ( ( 'extends' | 'static' | 'import' | 'extension' | '!' | '-' | '+' | 'new' | '{' | 'switch' | 'synchronized' | '<' | 'super' | '#' | '[' | 'false' | 'true' | 'null' | 'typeof' | 'if' | 'for' | 'while' | 'do' | 'throw' | 'return' | 'try' | '(' | RULE_ID | RULE_HEX | RULE_INT | RULE_DECIMAL | RULE_STRING )=> (lv_expression_2_0= ruleXExpression ) )? )
+            // InternalReportDSL.g:13967:3: () otherlv_1= 'return' ( ( 'extends' | 'static' | 'import' | 'extension' | '!' | '-' | '+' | 'new' | '{' | 'switch' | 'synchronized' | '<' | 'super' | '#' | '[' | 'false' | 'true' | 'null' | 'typeof' | 'if' | 'for' | 'while' | 'do' | 'throw' | 'return' | 'try' | '(' | RULE_ID | RULE_HEX | RULE_INT | RULE_DECIMAL | RULE_STRING )=> (lv_expression_2_0= ruleXExpression ) )?
             {
-            // InternalReportDSL.g:13658:3: ()
-            // InternalReportDSL.g:13659:4: 
+            // InternalReportDSL.g:13967:3: ()
+            // InternalReportDSL.g:13968:4: 
             {
             if ( state.backtracking==0 ) {
 
@@ -36921,21 +37767,21 @@
 
             }
 
-            otherlv_1=(Token)match(input,189,FOLLOW_187); if (state.failed) return current;
+            otherlv_1=(Token)match(input,188,FOLLOW_179); if (state.failed) return current;
             if ( state.backtracking==0 ) {
 
               			newLeafNode(otherlv_1, grammarAccess.getXReturnExpressionAccess().getReturnKeyword_1());
               		
             }
-            // InternalReportDSL.g:13669:3: ( ( 'extends' | 'static' | 'import' | 'extension' | '!' | '-' | '+' | 'new' | '{' | 'switch' | 'synchronized' | '<' | 'super' | '#' | '[' | 'false' | 'true' | 'null' | 'typeof' | 'if' | 'for' | 'while' | 'do' | 'throw' | 'return' | 'try' | '(' | RULE_ID | RULE_HEX | RULE_INT | RULE_DECIMAL | RULE_STRING )=> (lv_expression_2_0= ruleXExpression ) )?
-            int alt208=2;
-            alt208 = dfa208.predict(input);
-            switch (alt208) {
+            // InternalReportDSL.g:13978:3: ( ( 'extends' | 'static' | 'import' | 'extension' | '!' | '-' | '+' | 'new' | '{' | 'switch' | 'synchronized' | '<' | 'super' | '#' | '[' | 'false' | 'true' | 'null' | 'typeof' | 'if' | 'for' | 'while' | 'do' | 'throw' | 'return' | 'try' | '(' | RULE_ID | RULE_HEX | RULE_INT | RULE_DECIMAL | RULE_STRING )=> (lv_expression_2_0= ruleXExpression ) )?
+            int alt196=2;
+            alt196 = dfa196.predict(input);
+            switch (alt196) {
                 case 1 :
-                    // InternalReportDSL.g:13670:4: ( 'extends' | 'static' | 'import' | 'extension' | '!' | '-' | '+' | 'new' | '{' | 'switch' | 'synchronized' | '<' | 'super' | '#' | '[' | 'false' | 'true' | 'null' | 'typeof' | 'if' | 'for' | 'while' | 'do' | 'throw' | 'return' | 'try' | '(' | RULE_ID | RULE_HEX | RULE_INT | RULE_DECIMAL | RULE_STRING )=> (lv_expression_2_0= ruleXExpression )
+                    // InternalReportDSL.g:13979:4: ( 'extends' | 'static' | 'import' | 'extension' | '!' | '-' | '+' | 'new' | '{' | 'switch' | 'synchronized' | '<' | 'super' | '#' | '[' | 'false' | 'true' | 'null' | 'typeof' | 'if' | 'for' | 'while' | 'do' | 'throw' | 'return' | 'try' | '(' | RULE_ID | RULE_HEX | RULE_INT | RULE_DECIMAL | RULE_STRING )=> (lv_expression_2_0= ruleXExpression )
                     {
-                    // InternalReportDSL.g:13671:4: (lv_expression_2_0= ruleXExpression )
-                    // InternalReportDSL.g:13672:5: lv_expression_2_0= ruleXExpression
+                    // InternalReportDSL.g:13980:4: (lv_expression_2_0= ruleXExpression )
+                    // InternalReportDSL.g:13981:5: lv_expression_2_0= ruleXExpression
                     {
                     if ( state.backtracking==0 ) {
 
@@ -36994,7 +37840,7 @@
 
 
     // $ANTLR start "entryRuleXTryCatchFinallyExpression"
-    // InternalReportDSL.g:13693:1: entryRuleXTryCatchFinallyExpression returns [EObject current=null] : iv_ruleXTryCatchFinallyExpression= ruleXTryCatchFinallyExpression EOF ;
+    // InternalReportDSL.g:14002:1: entryRuleXTryCatchFinallyExpression returns [EObject current=null] : iv_ruleXTryCatchFinallyExpression= ruleXTryCatchFinallyExpression EOF ;
     public final EObject entryRuleXTryCatchFinallyExpression() throws RecognitionException {
         EObject current = null;
 
@@ -37002,8 +37848,8 @@
 
 
         try {
-            // InternalReportDSL.g:13693:67: (iv_ruleXTryCatchFinallyExpression= ruleXTryCatchFinallyExpression EOF )
-            // InternalReportDSL.g:13694:2: iv_ruleXTryCatchFinallyExpression= ruleXTryCatchFinallyExpression EOF
+            // InternalReportDSL.g:14002:67: (iv_ruleXTryCatchFinallyExpression= ruleXTryCatchFinallyExpression EOF )
+            // InternalReportDSL.g:14003:2: iv_ruleXTryCatchFinallyExpression= ruleXTryCatchFinallyExpression EOF
             {
             if ( state.backtracking==0 ) {
                newCompositeNode(grammarAccess.getXTryCatchFinallyExpressionRule()); 
@@ -37034,7 +37880,7 @@
 
 
     // $ANTLR start "ruleXTryCatchFinallyExpression"
-    // InternalReportDSL.g:13700:1: ruleXTryCatchFinallyExpression returns [EObject current=null] : ( () otherlv_1= 'try' ( (lv_expression_2_0= ruleXExpression ) ) ( ( ( ( 'catch' )=> (lv_catchClauses_3_0= ruleXCatchClause ) )+ ( ( ( 'finally' )=>otherlv_4= 'finally' ) ( (lv_finallyExpression_5_0= ruleXExpression ) ) )? ) | (otherlv_6= 'finally' ( (lv_finallyExpression_7_0= ruleXExpression ) ) ) ) ) ;
+    // InternalReportDSL.g:14009:1: ruleXTryCatchFinallyExpression returns [EObject current=null] : ( () otherlv_1= 'try' ( (lv_expression_2_0= ruleXExpression ) ) ( ( ( ( 'catch' )=> (lv_catchClauses_3_0= ruleXCatchClause ) )+ ( ( ( 'finally' )=>otherlv_4= 'finally' ) ( (lv_finallyExpression_5_0= ruleXExpression ) ) )? ) | (otherlv_6= 'finally' ( (lv_finallyExpression_7_0= ruleXExpression ) ) ) ) ) ;
     public final EObject ruleXTryCatchFinallyExpression() throws RecognitionException {
         EObject current = null;
 
@@ -37054,14 +37900,14 @@
         	enterRule();
 
         try {
-            // InternalReportDSL.g:13706:2: ( ( () otherlv_1= 'try' ( (lv_expression_2_0= ruleXExpression ) ) ( ( ( ( 'catch' )=> (lv_catchClauses_3_0= ruleXCatchClause ) )+ ( ( ( 'finally' )=>otherlv_4= 'finally' ) ( (lv_finallyExpression_5_0= ruleXExpression ) ) )? ) | (otherlv_6= 'finally' ( (lv_finallyExpression_7_0= ruleXExpression ) ) ) ) ) )
-            // InternalReportDSL.g:13707:2: ( () otherlv_1= 'try' ( (lv_expression_2_0= ruleXExpression ) ) ( ( ( ( 'catch' )=> (lv_catchClauses_3_0= ruleXCatchClause ) )+ ( ( ( 'finally' )=>otherlv_4= 'finally' ) ( (lv_finallyExpression_5_0= ruleXExpression ) ) )? ) | (otherlv_6= 'finally' ( (lv_finallyExpression_7_0= ruleXExpression ) ) ) ) )
+            // InternalReportDSL.g:14015:2: ( ( () otherlv_1= 'try' ( (lv_expression_2_0= ruleXExpression ) ) ( ( ( ( 'catch' )=> (lv_catchClauses_3_0= ruleXCatchClause ) )+ ( ( ( 'finally' )=>otherlv_4= 'finally' ) ( (lv_finallyExpression_5_0= ruleXExpression ) ) )? ) | (otherlv_6= 'finally' ( (lv_finallyExpression_7_0= ruleXExpression ) ) ) ) ) )
+            // InternalReportDSL.g:14016:2: ( () otherlv_1= 'try' ( (lv_expression_2_0= ruleXExpression ) ) ( ( ( ( 'catch' )=> (lv_catchClauses_3_0= ruleXCatchClause ) )+ ( ( ( 'finally' )=>otherlv_4= 'finally' ) ( (lv_finallyExpression_5_0= ruleXExpression ) ) )? ) | (otherlv_6= 'finally' ( (lv_finallyExpression_7_0= ruleXExpression ) ) ) ) )
             {
-            // InternalReportDSL.g:13707:2: ( () otherlv_1= 'try' ( (lv_expression_2_0= ruleXExpression ) ) ( ( ( ( 'catch' )=> (lv_catchClauses_3_0= ruleXCatchClause ) )+ ( ( ( 'finally' )=>otherlv_4= 'finally' ) ( (lv_finallyExpression_5_0= ruleXExpression ) ) )? ) | (otherlv_6= 'finally' ( (lv_finallyExpression_7_0= ruleXExpression ) ) ) ) )
-            // InternalReportDSL.g:13708:3: () otherlv_1= 'try' ( (lv_expression_2_0= ruleXExpression ) ) ( ( ( ( 'catch' )=> (lv_catchClauses_3_0= ruleXCatchClause ) )+ ( ( ( 'finally' )=>otherlv_4= 'finally' ) ( (lv_finallyExpression_5_0= ruleXExpression ) ) )? ) | (otherlv_6= 'finally' ( (lv_finallyExpression_7_0= ruleXExpression ) ) ) )
+            // InternalReportDSL.g:14016:2: ( () otherlv_1= 'try' ( (lv_expression_2_0= ruleXExpression ) ) ( ( ( ( 'catch' )=> (lv_catchClauses_3_0= ruleXCatchClause ) )+ ( ( ( 'finally' )=>otherlv_4= 'finally' ) ( (lv_finallyExpression_5_0= ruleXExpression ) ) )? ) | (otherlv_6= 'finally' ( (lv_finallyExpression_7_0= ruleXExpression ) ) ) ) )
+            // InternalReportDSL.g:14017:3: () otherlv_1= 'try' ( (lv_expression_2_0= ruleXExpression ) ) ( ( ( ( 'catch' )=> (lv_catchClauses_3_0= ruleXCatchClause ) )+ ( ( ( 'finally' )=>otherlv_4= 'finally' ) ( (lv_finallyExpression_5_0= ruleXExpression ) ) )? ) | (otherlv_6= 'finally' ( (lv_finallyExpression_7_0= ruleXExpression ) ) ) )
             {
-            // InternalReportDSL.g:13708:3: ()
-            // InternalReportDSL.g:13709:4: 
+            // InternalReportDSL.g:14017:3: ()
+            // InternalReportDSL.g:14018:4: 
             {
             if ( state.backtracking==0 ) {
 
@@ -37073,24 +37919,24 @@
 
             }
 
-            otherlv_1=(Token)match(input,190,FOLLOW_130); if (state.failed) return current;
+            otherlv_1=(Token)match(input,189,FOLLOW_122); if (state.failed) return current;
             if ( state.backtracking==0 ) {
 
               			newLeafNode(otherlv_1, grammarAccess.getXTryCatchFinallyExpressionAccess().getTryKeyword_1());
               		
             }
-            // InternalReportDSL.g:13719:3: ( (lv_expression_2_0= ruleXExpression ) )
-            // InternalReportDSL.g:13720:4: (lv_expression_2_0= ruleXExpression )
+            // InternalReportDSL.g:14028:3: ( (lv_expression_2_0= ruleXExpression ) )
+            // InternalReportDSL.g:14029:4: (lv_expression_2_0= ruleXExpression )
             {
-            // InternalReportDSL.g:13720:4: (lv_expression_2_0= ruleXExpression )
-            // InternalReportDSL.g:13721:5: lv_expression_2_0= ruleXExpression
+            // InternalReportDSL.g:14029:4: (lv_expression_2_0= ruleXExpression )
+            // InternalReportDSL.g:14030:5: lv_expression_2_0= ruleXExpression
             {
             if ( state.backtracking==0 ) {
 
               					newCompositeNode(grammarAccess.getXTryCatchFinallyExpressionAccess().getExpressionXExpressionParserRuleCall_2_0());
               				
             }
-            pushFollow(FOLLOW_188);
+            pushFollow(FOLLOW_180);
             lv_expression_2_0=ruleXExpression();
 
             state._fsp--;
@@ -37114,61 +37960,61 @@
 
             }
 
-            // InternalReportDSL.g:13738:3: ( ( ( ( 'catch' )=> (lv_catchClauses_3_0= ruleXCatchClause ) )+ ( ( ( 'finally' )=>otherlv_4= 'finally' ) ( (lv_finallyExpression_5_0= ruleXExpression ) ) )? ) | (otherlv_6= 'finally' ( (lv_finallyExpression_7_0= ruleXExpression ) ) ) )
-            int alt211=2;
-            int LA211_0 = input.LA(1);
+            // InternalReportDSL.g:14047:3: ( ( ( ( 'catch' )=> (lv_catchClauses_3_0= ruleXCatchClause ) )+ ( ( ( 'finally' )=>otherlv_4= 'finally' ) ( (lv_finallyExpression_5_0= ruleXExpression ) ) )? ) | (otherlv_6= 'finally' ( (lv_finallyExpression_7_0= ruleXExpression ) ) ) )
+            int alt199=2;
+            int LA199_0 = input.LA(1);
 
-            if ( (LA211_0==193) ) {
-                alt211=1;
+            if ( (LA199_0==192) ) {
+                alt199=1;
             }
-            else if ( (LA211_0==191) ) {
-                alt211=2;
+            else if ( (LA199_0==190) ) {
+                alt199=2;
             }
             else {
                 if (state.backtracking>0) {state.failed=true; return current;}
                 NoViableAltException nvae =
-                    new NoViableAltException("", 211, 0, input);
+                    new NoViableAltException("", 199, 0, input);
 
                 throw nvae;
             }
-            switch (alt211) {
+            switch (alt199) {
                 case 1 :
-                    // InternalReportDSL.g:13739:4: ( ( ( 'catch' )=> (lv_catchClauses_3_0= ruleXCatchClause ) )+ ( ( ( 'finally' )=>otherlv_4= 'finally' ) ( (lv_finallyExpression_5_0= ruleXExpression ) ) )? )
+                    // InternalReportDSL.g:14048:4: ( ( ( 'catch' )=> (lv_catchClauses_3_0= ruleXCatchClause ) )+ ( ( ( 'finally' )=>otherlv_4= 'finally' ) ( (lv_finallyExpression_5_0= ruleXExpression ) ) )? )
                     {
-                    // InternalReportDSL.g:13739:4: ( ( ( 'catch' )=> (lv_catchClauses_3_0= ruleXCatchClause ) )+ ( ( ( 'finally' )=>otherlv_4= 'finally' ) ( (lv_finallyExpression_5_0= ruleXExpression ) ) )? )
-                    // InternalReportDSL.g:13740:5: ( ( 'catch' )=> (lv_catchClauses_3_0= ruleXCatchClause ) )+ ( ( ( 'finally' )=>otherlv_4= 'finally' ) ( (lv_finallyExpression_5_0= ruleXExpression ) ) )?
+                    // InternalReportDSL.g:14048:4: ( ( ( 'catch' )=> (lv_catchClauses_3_0= ruleXCatchClause ) )+ ( ( ( 'finally' )=>otherlv_4= 'finally' ) ( (lv_finallyExpression_5_0= ruleXExpression ) ) )? )
+                    // InternalReportDSL.g:14049:5: ( ( 'catch' )=> (lv_catchClauses_3_0= ruleXCatchClause ) )+ ( ( ( 'finally' )=>otherlv_4= 'finally' ) ( (lv_finallyExpression_5_0= ruleXExpression ) ) )?
                     {
-                    // InternalReportDSL.g:13740:5: ( ( 'catch' )=> (lv_catchClauses_3_0= ruleXCatchClause ) )+
-                    int cnt209=0;
-                    loop209:
+                    // InternalReportDSL.g:14049:5: ( ( 'catch' )=> (lv_catchClauses_3_0= ruleXCatchClause ) )+
+                    int cnt197=0;
+                    loop197:
                     do {
-                        int alt209=2;
-                        int LA209_0 = input.LA(1);
+                        int alt197=2;
+                        int LA197_0 = input.LA(1);
 
-                        if ( (LA209_0==193) ) {
-                            int LA209_2 = input.LA(2);
+                        if ( (LA197_0==192) ) {
+                            int LA197_2 = input.LA(2);
 
                             if ( (synpred44_InternalReportDSL()) ) {
-                                alt209=1;
+                                alt197=1;
                             }
 
 
                         }
 
 
-                        switch (alt209) {
+                        switch (alt197) {
                     	case 1 :
-                    	    // InternalReportDSL.g:13741:6: ( 'catch' )=> (lv_catchClauses_3_0= ruleXCatchClause )
+                    	    // InternalReportDSL.g:14050:6: ( 'catch' )=> (lv_catchClauses_3_0= ruleXCatchClause )
                     	    {
-                    	    // InternalReportDSL.g:13742:6: (lv_catchClauses_3_0= ruleXCatchClause )
-                    	    // InternalReportDSL.g:13743:7: lv_catchClauses_3_0= ruleXCatchClause
+                    	    // InternalReportDSL.g:14051:6: (lv_catchClauses_3_0= ruleXCatchClause )
+                    	    // InternalReportDSL.g:14052:7: lv_catchClauses_3_0= ruleXCatchClause
                     	    {
                     	    if ( state.backtracking==0 ) {
 
                     	      							newCompositeNode(grammarAccess.getXTryCatchFinallyExpressionAccess().getCatchClausesXCatchClauseParserRuleCall_3_0_0_0());
                     	      						
                     	    }
-                    	    pushFollow(FOLLOW_189);
+                    	    pushFollow(FOLLOW_181);
                     	    lv_catchClauses_3_0=ruleXCatchClause();
 
                     	    state._fsp--;
@@ -37194,34 +38040,34 @@
                     	    break;
 
                     	default :
-                    	    if ( cnt209 >= 1 ) break loop209;
+                    	    if ( cnt197 >= 1 ) break loop197;
                     	    if (state.backtracking>0) {state.failed=true; return current;}
                                 EarlyExitException eee =
-                                    new EarlyExitException(209, input);
+                                    new EarlyExitException(197, input);
                                 throw eee;
                         }
-                        cnt209++;
+                        cnt197++;
                     } while (true);
 
-                    // InternalReportDSL.g:13760:5: ( ( ( 'finally' )=>otherlv_4= 'finally' ) ( (lv_finallyExpression_5_0= ruleXExpression ) ) )?
-                    int alt210=2;
-                    int LA210_0 = input.LA(1);
+                    // InternalReportDSL.g:14069:5: ( ( ( 'finally' )=>otherlv_4= 'finally' ) ( (lv_finallyExpression_5_0= ruleXExpression ) ) )?
+                    int alt198=2;
+                    int LA198_0 = input.LA(1);
 
-                    if ( (LA210_0==191) ) {
-                        int LA210_1 = input.LA(2);
+                    if ( (LA198_0==190) ) {
+                        int LA198_1 = input.LA(2);
 
                         if ( (synpred45_InternalReportDSL()) ) {
-                            alt210=1;
+                            alt198=1;
                         }
                     }
-                    switch (alt210) {
+                    switch (alt198) {
                         case 1 :
-                            // InternalReportDSL.g:13761:6: ( ( 'finally' )=>otherlv_4= 'finally' ) ( (lv_finallyExpression_5_0= ruleXExpression ) )
+                            // InternalReportDSL.g:14070:6: ( ( 'finally' )=>otherlv_4= 'finally' ) ( (lv_finallyExpression_5_0= ruleXExpression ) )
                             {
-                            // InternalReportDSL.g:13761:6: ( ( 'finally' )=>otherlv_4= 'finally' )
-                            // InternalReportDSL.g:13762:7: ( 'finally' )=>otherlv_4= 'finally'
+                            // InternalReportDSL.g:14070:6: ( ( 'finally' )=>otherlv_4= 'finally' )
+                            // InternalReportDSL.g:14071:7: ( 'finally' )=>otherlv_4= 'finally'
                             {
-                            otherlv_4=(Token)match(input,191,FOLLOW_130); if (state.failed) return current;
+                            otherlv_4=(Token)match(input,190,FOLLOW_122); if (state.failed) return current;
                             if ( state.backtracking==0 ) {
 
                               							newLeafNode(otherlv_4, grammarAccess.getXTryCatchFinallyExpressionAccess().getFinallyKeyword_3_0_1_0());
@@ -37230,11 +38076,11 @@
 
                             }
 
-                            // InternalReportDSL.g:13768:6: ( (lv_finallyExpression_5_0= ruleXExpression ) )
-                            // InternalReportDSL.g:13769:7: (lv_finallyExpression_5_0= ruleXExpression )
+                            // InternalReportDSL.g:14077:6: ( (lv_finallyExpression_5_0= ruleXExpression ) )
+                            // InternalReportDSL.g:14078:7: (lv_finallyExpression_5_0= ruleXExpression )
                             {
-                            // InternalReportDSL.g:13769:7: (lv_finallyExpression_5_0= ruleXExpression )
-                            // InternalReportDSL.g:13770:8: lv_finallyExpression_5_0= ruleXExpression
+                            // InternalReportDSL.g:14078:7: (lv_finallyExpression_5_0= ruleXExpression )
+                            // InternalReportDSL.g:14079:8: lv_finallyExpression_5_0= ruleXExpression
                             {
                             if ( state.backtracking==0 ) {
 
@@ -37278,22 +38124,22 @@
                     }
                     break;
                 case 2 :
-                    // InternalReportDSL.g:13790:4: (otherlv_6= 'finally' ( (lv_finallyExpression_7_0= ruleXExpression ) ) )
+                    // InternalReportDSL.g:14099:4: (otherlv_6= 'finally' ( (lv_finallyExpression_7_0= ruleXExpression ) ) )
                     {
-                    // InternalReportDSL.g:13790:4: (otherlv_6= 'finally' ( (lv_finallyExpression_7_0= ruleXExpression ) ) )
-                    // InternalReportDSL.g:13791:5: otherlv_6= 'finally' ( (lv_finallyExpression_7_0= ruleXExpression ) )
+                    // InternalReportDSL.g:14099:4: (otherlv_6= 'finally' ( (lv_finallyExpression_7_0= ruleXExpression ) ) )
+                    // InternalReportDSL.g:14100:5: otherlv_6= 'finally' ( (lv_finallyExpression_7_0= ruleXExpression ) )
                     {
-                    otherlv_6=(Token)match(input,191,FOLLOW_130); if (state.failed) return current;
+                    otherlv_6=(Token)match(input,190,FOLLOW_122); if (state.failed) return current;
                     if ( state.backtracking==0 ) {
 
                       					newLeafNode(otherlv_6, grammarAccess.getXTryCatchFinallyExpressionAccess().getFinallyKeyword_3_1_0());
                       				
                     }
-                    // InternalReportDSL.g:13795:5: ( (lv_finallyExpression_7_0= ruleXExpression ) )
-                    // InternalReportDSL.g:13796:6: (lv_finallyExpression_7_0= ruleXExpression )
+                    // InternalReportDSL.g:14104:5: ( (lv_finallyExpression_7_0= ruleXExpression ) )
+                    // InternalReportDSL.g:14105:6: (lv_finallyExpression_7_0= ruleXExpression )
                     {
-                    // InternalReportDSL.g:13796:6: (lv_finallyExpression_7_0= ruleXExpression )
-                    // InternalReportDSL.g:13797:7: lv_finallyExpression_7_0= ruleXExpression
+                    // InternalReportDSL.g:14105:6: (lv_finallyExpression_7_0= ruleXExpression )
+                    // InternalReportDSL.g:14106:7: lv_finallyExpression_7_0= ruleXExpression
                     {
                     if ( state.backtracking==0 ) {
 
@@ -37358,7 +38204,7 @@
 
 
     // $ANTLR start "entryRuleXSynchronizedExpression"
-    // InternalReportDSL.g:13820:1: entryRuleXSynchronizedExpression returns [EObject current=null] : iv_ruleXSynchronizedExpression= ruleXSynchronizedExpression EOF ;
+    // InternalReportDSL.g:14129:1: entryRuleXSynchronizedExpression returns [EObject current=null] : iv_ruleXSynchronizedExpression= ruleXSynchronizedExpression EOF ;
     public final EObject entryRuleXSynchronizedExpression() throws RecognitionException {
         EObject current = null;
 
@@ -37366,8 +38212,8 @@
 
 
         try {
-            // InternalReportDSL.g:13820:64: (iv_ruleXSynchronizedExpression= ruleXSynchronizedExpression EOF )
-            // InternalReportDSL.g:13821:2: iv_ruleXSynchronizedExpression= ruleXSynchronizedExpression EOF
+            // InternalReportDSL.g:14129:64: (iv_ruleXSynchronizedExpression= ruleXSynchronizedExpression EOF )
+            // InternalReportDSL.g:14130:2: iv_ruleXSynchronizedExpression= ruleXSynchronizedExpression EOF
             {
             if ( state.backtracking==0 ) {
                newCompositeNode(grammarAccess.getXSynchronizedExpressionRule()); 
@@ -37398,7 +38244,7 @@
 
 
     // $ANTLR start "ruleXSynchronizedExpression"
-    // InternalReportDSL.g:13827:1: ruleXSynchronizedExpression returns [EObject current=null] : ( ( ( ( () 'synchronized' '(' ) )=> ( () otherlv_1= 'synchronized' otherlv_2= '(' ) ) ( (lv_param_3_0= ruleXExpression ) ) otherlv_4= ')' ( (lv_expression_5_0= ruleXExpression ) ) ) ;
+    // InternalReportDSL.g:14136:1: ruleXSynchronizedExpression returns [EObject current=null] : ( ( ( ( () 'synchronized' '(' ) )=> ( () otherlv_1= 'synchronized' otherlv_2= '(' ) ) ( (lv_param_3_0= ruleXExpression ) ) otherlv_4= ')' ( (lv_expression_5_0= ruleXExpression ) ) ) ;
     public final EObject ruleXSynchronizedExpression() throws RecognitionException {
         EObject current = null;
 
@@ -37414,20 +38260,20 @@
         	enterRule();
 
         try {
-            // InternalReportDSL.g:13833:2: ( ( ( ( ( () 'synchronized' '(' ) )=> ( () otherlv_1= 'synchronized' otherlv_2= '(' ) ) ( (lv_param_3_0= ruleXExpression ) ) otherlv_4= ')' ( (lv_expression_5_0= ruleXExpression ) ) ) )
-            // InternalReportDSL.g:13834:2: ( ( ( ( () 'synchronized' '(' ) )=> ( () otherlv_1= 'synchronized' otherlv_2= '(' ) ) ( (lv_param_3_0= ruleXExpression ) ) otherlv_4= ')' ( (lv_expression_5_0= ruleXExpression ) ) )
+            // InternalReportDSL.g:14142:2: ( ( ( ( ( () 'synchronized' '(' ) )=> ( () otherlv_1= 'synchronized' otherlv_2= '(' ) ) ( (lv_param_3_0= ruleXExpression ) ) otherlv_4= ')' ( (lv_expression_5_0= ruleXExpression ) ) ) )
+            // InternalReportDSL.g:14143:2: ( ( ( ( () 'synchronized' '(' ) )=> ( () otherlv_1= 'synchronized' otherlv_2= '(' ) ) ( (lv_param_3_0= ruleXExpression ) ) otherlv_4= ')' ( (lv_expression_5_0= ruleXExpression ) ) )
             {
-            // InternalReportDSL.g:13834:2: ( ( ( ( () 'synchronized' '(' ) )=> ( () otherlv_1= 'synchronized' otherlv_2= '(' ) ) ( (lv_param_3_0= ruleXExpression ) ) otherlv_4= ')' ( (lv_expression_5_0= ruleXExpression ) ) )
-            // InternalReportDSL.g:13835:3: ( ( ( () 'synchronized' '(' ) )=> ( () otherlv_1= 'synchronized' otherlv_2= '(' ) ) ( (lv_param_3_0= ruleXExpression ) ) otherlv_4= ')' ( (lv_expression_5_0= ruleXExpression ) )
+            // InternalReportDSL.g:14143:2: ( ( ( ( () 'synchronized' '(' ) )=> ( () otherlv_1= 'synchronized' otherlv_2= '(' ) ) ( (lv_param_3_0= ruleXExpression ) ) otherlv_4= ')' ( (lv_expression_5_0= ruleXExpression ) ) )
+            // InternalReportDSL.g:14144:3: ( ( ( () 'synchronized' '(' ) )=> ( () otherlv_1= 'synchronized' otherlv_2= '(' ) ) ( (lv_param_3_0= ruleXExpression ) ) otherlv_4= ')' ( (lv_expression_5_0= ruleXExpression ) )
             {
-            // InternalReportDSL.g:13835:3: ( ( ( () 'synchronized' '(' ) )=> ( () otherlv_1= 'synchronized' otherlv_2= '(' ) )
-            // InternalReportDSL.g:13836:4: ( ( () 'synchronized' '(' ) )=> ( () otherlv_1= 'synchronized' otherlv_2= '(' )
+            // InternalReportDSL.g:14144:3: ( ( ( () 'synchronized' '(' ) )=> ( () otherlv_1= 'synchronized' otherlv_2= '(' ) )
+            // InternalReportDSL.g:14145:4: ( ( () 'synchronized' '(' ) )=> ( () otherlv_1= 'synchronized' otherlv_2= '(' )
             {
-            // InternalReportDSL.g:13843:4: ( () otherlv_1= 'synchronized' otherlv_2= '(' )
-            // InternalReportDSL.g:13844:5: () otherlv_1= 'synchronized' otherlv_2= '('
+            // InternalReportDSL.g:14152:4: ( () otherlv_1= 'synchronized' otherlv_2= '(' )
+            // InternalReportDSL.g:14153:5: () otherlv_1= 'synchronized' otherlv_2= '('
             {
-            // InternalReportDSL.g:13844:5: ()
-            // InternalReportDSL.g:13845:6: 
+            // InternalReportDSL.g:14153:5: ()
+            // InternalReportDSL.g:14154:6: 
             {
             if ( state.backtracking==0 ) {
 
@@ -37439,13 +38285,13 @@
 
             }
 
-            otherlv_1=(Token)match(input,192,FOLLOW_106); if (state.failed) return current;
+            otherlv_1=(Token)match(input,191,FOLLOW_98); if (state.failed) return current;
             if ( state.backtracking==0 ) {
 
               					newLeafNode(otherlv_1, grammarAccess.getXSynchronizedExpressionAccess().getSynchronizedKeyword_0_0_1());
               				
             }
-            otherlv_2=(Token)match(input,103,FOLLOW_130); if (state.failed) return current;
+            otherlv_2=(Token)match(input,102,FOLLOW_122); if (state.failed) return current;
             if ( state.backtracking==0 ) {
 
               					newLeafNode(otherlv_2, grammarAccess.getXSynchronizedExpressionAccess().getLeftParenthesisKeyword_0_0_2());
@@ -37457,18 +38303,18 @@
 
             }
 
-            // InternalReportDSL.g:13861:3: ( (lv_param_3_0= ruleXExpression ) )
-            // InternalReportDSL.g:13862:4: (lv_param_3_0= ruleXExpression )
+            // InternalReportDSL.g:14170:3: ( (lv_param_3_0= ruleXExpression ) )
+            // InternalReportDSL.g:14171:4: (lv_param_3_0= ruleXExpression )
             {
-            // InternalReportDSL.g:13862:4: (lv_param_3_0= ruleXExpression )
-            // InternalReportDSL.g:13863:5: lv_param_3_0= ruleXExpression
+            // InternalReportDSL.g:14171:4: (lv_param_3_0= ruleXExpression )
+            // InternalReportDSL.g:14172:5: lv_param_3_0= ruleXExpression
             {
             if ( state.backtracking==0 ) {
 
               					newCompositeNode(grammarAccess.getXSynchronizedExpressionAccess().getParamXExpressionParserRuleCall_1_0());
               				
             }
-            pushFollow(FOLLOW_115);
+            pushFollow(FOLLOW_107);
             lv_param_3_0=ruleXExpression();
 
             state._fsp--;
@@ -37492,17 +38338,17 @@
 
             }
 
-            otherlv_4=(Token)match(input,104,FOLLOW_130); if (state.failed) return current;
+            otherlv_4=(Token)match(input,103,FOLLOW_122); if (state.failed) return current;
             if ( state.backtracking==0 ) {
 
               			newLeafNode(otherlv_4, grammarAccess.getXSynchronizedExpressionAccess().getRightParenthesisKeyword_2());
               		
             }
-            // InternalReportDSL.g:13884:3: ( (lv_expression_5_0= ruleXExpression ) )
-            // InternalReportDSL.g:13885:4: (lv_expression_5_0= ruleXExpression )
+            // InternalReportDSL.g:14193:3: ( (lv_expression_5_0= ruleXExpression ) )
+            // InternalReportDSL.g:14194:4: (lv_expression_5_0= ruleXExpression )
             {
-            // InternalReportDSL.g:13885:4: (lv_expression_5_0= ruleXExpression )
-            // InternalReportDSL.g:13886:5: lv_expression_5_0= ruleXExpression
+            // InternalReportDSL.g:14194:4: (lv_expression_5_0= ruleXExpression )
+            // InternalReportDSL.g:14195:5: lv_expression_5_0= ruleXExpression
             {
             if ( state.backtracking==0 ) {
 
@@ -37558,7 +38404,7 @@
 
 
     // $ANTLR start "entryRuleXCatchClause"
-    // InternalReportDSL.g:13907:1: entryRuleXCatchClause returns [EObject current=null] : iv_ruleXCatchClause= ruleXCatchClause EOF ;
+    // InternalReportDSL.g:14216:1: entryRuleXCatchClause returns [EObject current=null] : iv_ruleXCatchClause= ruleXCatchClause EOF ;
     public final EObject entryRuleXCatchClause() throws RecognitionException {
         EObject current = null;
 
@@ -37566,8 +38412,8 @@
 
 
         try {
-            // InternalReportDSL.g:13907:53: (iv_ruleXCatchClause= ruleXCatchClause EOF )
-            // InternalReportDSL.g:13908:2: iv_ruleXCatchClause= ruleXCatchClause EOF
+            // InternalReportDSL.g:14216:53: (iv_ruleXCatchClause= ruleXCatchClause EOF )
+            // InternalReportDSL.g:14217:2: iv_ruleXCatchClause= ruleXCatchClause EOF
             {
             if ( state.backtracking==0 ) {
                newCompositeNode(grammarAccess.getXCatchClauseRule()); 
@@ -37598,7 +38444,7 @@
 
 
     // $ANTLR start "ruleXCatchClause"
-    // InternalReportDSL.g:13914:1: ruleXCatchClause returns [EObject current=null] : ( ( ( 'catch' )=>otherlv_0= 'catch' ) otherlv_1= '(' ( (lv_declaredParam_2_0= ruleFullJvmFormalParameter ) ) otherlv_3= ')' ( (lv_expression_4_0= ruleXExpression ) ) ) ;
+    // InternalReportDSL.g:14223:1: ruleXCatchClause returns [EObject current=null] : ( ( ( 'catch' )=>otherlv_0= 'catch' ) otherlv_1= '(' ( (lv_declaredParam_2_0= ruleFullJvmFormalParameter ) ) otherlv_3= ')' ( (lv_expression_4_0= ruleXExpression ) ) ) ;
     public final EObject ruleXCatchClause() throws RecognitionException {
         EObject current = null;
 
@@ -37614,16 +38460,16 @@
         	enterRule();
 
         try {
-            // InternalReportDSL.g:13920:2: ( ( ( ( 'catch' )=>otherlv_0= 'catch' ) otherlv_1= '(' ( (lv_declaredParam_2_0= ruleFullJvmFormalParameter ) ) otherlv_3= ')' ( (lv_expression_4_0= ruleXExpression ) ) ) )
-            // InternalReportDSL.g:13921:2: ( ( ( 'catch' )=>otherlv_0= 'catch' ) otherlv_1= '(' ( (lv_declaredParam_2_0= ruleFullJvmFormalParameter ) ) otherlv_3= ')' ( (lv_expression_4_0= ruleXExpression ) ) )
+            // InternalReportDSL.g:14229:2: ( ( ( ( 'catch' )=>otherlv_0= 'catch' ) otherlv_1= '(' ( (lv_declaredParam_2_0= ruleFullJvmFormalParameter ) ) otherlv_3= ')' ( (lv_expression_4_0= ruleXExpression ) ) ) )
+            // InternalReportDSL.g:14230:2: ( ( ( 'catch' )=>otherlv_0= 'catch' ) otherlv_1= '(' ( (lv_declaredParam_2_0= ruleFullJvmFormalParameter ) ) otherlv_3= ')' ( (lv_expression_4_0= ruleXExpression ) ) )
             {
-            // InternalReportDSL.g:13921:2: ( ( ( 'catch' )=>otherlv_0= 'catch' ) otherlv_1= '(' ( (lv_declaredParam_2_0= ruleFullJvmFormalParameter ) ) otherlv_3= ')' ( (lv_expression_4_0= ruleXExpression ) ) )
-            // InternalReportDSL.g:13922:3: ( ( 'catch' )=>otherlv_0= 'catch' ) otherlv_1= '(' ( (lv_declaredParam_2_0= ruleFullJvmFormalParameter ) ) otherlv_3= ')' ( (lv_expression_4_0= ruleXExpression ) )
+            // InternalReportDSL.g:14230:2: ( ( ( 'catch' )=>otherlv_0= 'catch' ) otherlv_1= '(' ( (lv_declaredParam_2_0= ruleFullJvmFormalParameter ) ) otherlv_3= ')' ( (lv_expression_4_0= ruleXExpression ) ) )
+            // InternalReportDSL.g:14231:3: ( ( 'catch' )=>otherlv_0= 'catch' ) otherlv_1= '(' ( (lv_declaredParam_2_0= ruleFullJvmFormalParameter ) ) otherlv_3= ')' ( (lv_expression_4_0= ruleXExpression ) )
             {
-            // InternalReportDSL.g:13922:3: ( ( 'catch' )=>otherlv_0= 'catch' )
-            // InternalReportDSL.g:13923:4: ( 'catch' )=>otherlv_0= 'catch'
+            // InternalReportDSL.g:14231:3: ( ( 'catch' )=>otherlv_0= 'catch' )
+            // InternalReportDSL.g:14232:4: ( 'catch' )=>otherlv_0= 'catch'
             {
-            otherlv_0=(Token)match(input,193,FOLLOW_106); if (state.failed) return current;
+            otherlv_0=(Token)match(input,192,FOLLOW_98); if (state.failed) return current;
             if ( state.backtracking==0 ) {
 
               				newLeafNode(otherlv_0, grammarAccess.getXCatchClauseAccess().getCatchKeyword_0());
@@ -37632,24 +38478,24 @@
 
             }
 
-            otherlv_1=(Token)match(input,103,FOLLOW_143); if (state.failed) return current;
+            otherlv_1=(Token)match(input,102,FOLLOW_135); if (state.failed) return current;
             if ( state.backtracking==0 ) {
 
               			newLeafNode(otherlv_1, grammarAccess.getXCatchClauseAccess().getLeftParenthesisKeyword_1());
               		
             }
-            // InternalReportDSL.g:13933:3: ( (lv_declaredParam_2_0= ruleFullJvmFormalParameter ) )
-            // InternalReportDSL.g:13934:4: (lv_declaredParam_2_0= ruleFullJvmFormalParameter )
+            // InternalReportDSL.g:14242:3: ( (lv_declaredParam_2_0= ruleFullJvmFormalParameter ) )
+            // InternalReportDSL.g:14243:4: (lv_declaredParam_2_0= ruleFullJvmFormalParameter )
             {
-            // InternalReportDSL.g:13934:4: (lv_declaredParam_2_0= ruleFullJvmFormalParameter )
-            // InternalReportDSL.g:13935:5: lv_declaredParam_2_0= ruleFullJvmFormalParameter
+            // InternalReportDSL.g:14243:4: (lv_declaredParam_2_0= ruleFullJvmFormalParameter )
+            // InternalReportDSL.g:14244:5: lv_declaredParam_2_0= ruleFullJvmFormalParameter
             {
             if ( state.backtracking==0 ) {
 
               					newCompositeNode(grammarAccess.getXCatchClauseAccess().getDeclaredParamFullJvmFormalParameterParserRuleCall_2_0());
               				
             }
-            pushFollow(FOLLOW_115);
+            pushFollow(FOLLOW_107);
             lv_declaredParam_2_0=ruleFullJvmFormalParameter();
 
             state._fsp--;
@@ -37673,17 +38519,17 @@
 
             }
 
-            otherlv_3=(Token)match(input,104,FOLLOW_130); if (state.failed) return current;
+            otherlv_3=(Token)match(input,103,FOLLOW_122); if (state.failed) return current;
             if ( state.backtracking==0 ) {
 
               			newLeafNode(otherlv_3, grammarAccess.getXCatchClauseAccess().getRightParenthesisKeyword_3());
               		
             }
-            // InternalReportDSL.g:13956:3: ( (lv_expression_4_0= ruleXExpression ) )
-            // InternalReportDSL.g:13957:4: (lv_expression_4_0= ruleXExpression )
+            // InternalReportDSL.g:14265:3: ( (lv_expression_4_0= ruleXExpression ) )
+            // InternalReportDSL.g:14266:4: (lv_expression_4_0= ruleXExpression )
             {
-            // InternalReportDSL.g:13957:4: (lv_expression_4_0= ruleXExpression )
-            // InternalReportDSL.g:13958:5: lv_expression_4_0= ruleXExpression
+            // InternalReportDSL.g:14266:4: (lv_expression_4_0= ruleXExpression )
+            // InternalReportDSL.g:14267:5: lv_expression_4_0= ruleXExpression
             {
             if ( state.backtracking==0 ) {
 
@@ -37739,7 +38585,7 @@
 
 
     // $ANTLR start "entryRuleQualifiedName"
-    // InternalReportDSL.g:13979:1: entryRuleQualifiedName returns [String current=null] : iv_ruleQualifiedName= ruleQualifiedName EOF ;
+    // InternalReportDSL.g:14288:1: entryRuleQualifiedName returns [String current=null] : iv_ruleQualifiedName= ruleQualifiedName EOF ;
     public final String entryRuleQualifiedName() throws RecognitionException {
         String current = null;
 
@@ -37747,8 +38593,8 @@
 
 
         try {
-            // InternalReportDSL.g:13979:53: (iv_ruleQualifiedName= ruleQualifiedName EOF )
-            // InternalReportDSL.g:13980:2: iv_ruleQualifiedName= ruleQualifiedName EOF
+            // InternalReportDSL.g:14288:53: (iv_ruleQualifiedName= ruleQualifiedName EOF )
+            // InternalReportDSL.g:14289:2: iv_ruleQualifiedName= ruleQualifiedName EOF
             {
             if ( state.backtracking==0 ) {
                newCompositeNode(grammarAccess.getQualifiedNameRule()); 
@@ -37779,7 +38625,7 @@
 
 
     // $ANTLR start "ruleQualifiedName"
-    // InternalReportDSL.g:13986:1: ruleQualifiedName returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : (this_ValidID_0= ruleValidID ( ( ( '.' )=>kw= '.' ) this_ValidID_2= ruleValidID )* ) ;
+    // InternalReportDSL.g:14295:1: ruleQualifiedName returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : (this_ValidID_0= ruleValidID ( ( ( '.' )=>kw= '.' ) this_ValidID_2= ruleValidID )* ) ;
     public final AntlrDatatypeRuleToken ruleQualifiedName() throws RecognitionException {
         AntlrDatatypeRuleToken current = new AntlrDatatypeRuleToken();
 
@@ -37793,18 +38639,18 @@
         	enterRule();
 
         try {
-            // InternalReportDSL.g:13992:2: ( (this_ValidID_0= ruleValidID ( ( ( '.' )=>kw= '.' ) this_ValidID_2= ruleValidID )* ) )
-            // InternalReportDSL.g:13993:2: (this_ValidID_0= ruleValidID ( ( ( '.' )=>kw= '.' ) this_ValidID_2= ruleValidID )* )
+            // InternalReportDSL.g:14301:2: ( (this_ValidID_0= ruleValidID ( ( ( '.' )=>kw= '.' ) this_ValidID_2= ruleValidID )* ) )
+            // InternalReportDSL.g:14302:2: (this_ValidID_0= ruleValidID ( ( ( '.' )=>kw= '.' ) this_ValidID_2= ruleValidID )* )
             {
-            // InternalReportDSL.g:13993:2: (this_ValidID_0= ruleValidID ( ( ( '.' )=>kw= '.' ) this_ValidID_2= ruleValidID )* )
-            // InternalReportDSL.g:13994:3: this_ValidID_0= ruleValidID ( ( ( '.' )=>kw= '.' ) this_ValidID_2= ruleValidID )*
+            // InternalReportDSL.g:14302:2: (this_ValidID_0= ruleValidID ( ( ( '.' )=>kw= '.' ) this_ValidID_2= ruleValidID )* )
+            // InternalReportDSL.g:14303:3: this_ValidID_0= ruleValidID ( ( ( '.' )=>kw= '.' ) this_ValidID_2= ruleValidID )*
             {
             if ( state.backtracking==0 ) {
 
               			newCompositeNode(grammarAccess.getQualifiedNameAccess().getValidIDParserRuleCall_0());
               		
             }
-            pushFollow(FOLLOW_190);
+            pushFollow(FOLLOW_182);
             this_ValidID_0=ruleValidID();
 
             state._fsp--;
@@ -37819,20 +38665,20 @@
               			afterParserOrEnumRuleCall();
               		
             }
-            // InternalReportDSL.g:14004:3: ( ( ( '.' )=>kw= '.' ) this_ValidID_2= ruleValidID )*
-            loop212:
+            // InternalReportDSL.g:14313:3: ( ( ( '.' )=>kw= '.' ) this_ValidID_2= ruleValidID )*
+            loop200:
             do {
-                int alt212=2;
-                int LA212_0 = input.LA(1);
+                int alt200=2;
+                int LA200_0 = input.LA(1);
 
-                if ( (LA212_0==167) ) {
-                    int LA212_2 = input.LA(2);
+                if ( (LA200_0==166) ) {
+                    int LA200_2 = input.LA(2);
 
-                    if ( (LA212_2==RULE_ID) ) {
-                        int LA212_3 = input.LA(3);
+                    if ( (LA200_2==RULE_ID) ) {
+                        int LA200_3 = input.LA(3);
 
                         if ( (synpred48_InternalReportDSL()) ) {
-                            alt212=1;
+                            alt200=1;
                         }
 
 
@@ -37842,14 +38688,14 @@
                 }
 
 
-                switch (alt212) {
+                switch (alt200) {
             	case 1 :
-            	    // InternalReportDSL.g:14005:4: ( ( '.' )=>kw= '.' ) this_ValidID_2= ruleValidID
+            	    // InternalReportDSL.g:14314:4: ( ( '.' )=>kw= '.' ) this_ValidID_2= ruleValidID
             	    {
-            	    // InternalReportDSL.g:14005:4: ( ( '.' )=>kw= '.' )
-            	    // InternalReportDSL.g:14006:5: ( '.' )=>kw= '.'
+            	    // InternalReportDSL.g:14314:4: ( ( '.' )=>kw= '.' )
+            	    // InternalReportDSL.g:14315:5: ( '.' )=>kw= '.'
             	    {
-            	    kw=(Token)match(input,167,FOLLOW_4); if (state.failed) return current;
+            	    kw=(Token)match(input,166,FOLLOW_4); if (state.failed) return current;
             	    if ( state.backtracking==0 ) {
 
             	      					current.merge(kw);
@@ -37864,7 +38710,7 @@
             	      				newCompositeNode(grammarAccess.getQualifiedNameAccess().getValidIDParserRuleCall_1_1());
             	      			
             	    }
-            	    pushFollow(FOLLOW_190);
+            	    pushFollow(FOLLOW_182);
             	    this_ValidID_2=ruleValidID();
 
             	    state._fsp--;
@@ -37884,7 +38730,7 @@
             	    break;
 
             	default :
-            	    break loop212;
+            	    break loop200;
                 }
             } while (true);
 
@@ -37913,7 +38759,7 @@
 
 
     // $ANTLR start "entryRuleNumber"
-    // InternalReportDSL.g:14028:1: entryRuleNumber returns [String current=null] : iv_ruleNumber= ruleNumber EOF ;
+    // InternalReportDSL.g:14337:1: entryRuleNumber returns [String current=null] : iv_ruleNumber= ruleNumber EOF ;
     public final String entryRuleNumber() throws RecognitionException {
         String current = null;
 
@@ -37924,8 +38770,8 @@
         	HiddenTokens myHiddenTokenState = ((XtextTokenStream)input).setHiddenTokens();
 
         try {
-            // InternalReportDSL.g:14030:2: (iv_ruleNumber= ruleNumber EOF )
-            // InternalReportDSL.g:14031:2: iv_ruleNumber= ruleNumber EOF
+            // InternalReportDSL.g:14339:2: (iv_ruleNumber= ruleNumber EOF )
+            // InternalReportDSL.g:14340:2: iv_ruleNumber= ruleNumber EOF
             {
             if ( state.backtracking==0 ) {
                newCompositeNode(grammarAccess.getNumberRule()); 
@@ -37959,7 +38805,7 @@
 
 
     // $ANTLR start "ruleNumber"
-    // InternalReportDSL.g:14040:1: ruleNumber returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : (this_HEX_0= RULE_HEX | ( (this_INT_1= RULE_INT | this_DECIMAL_2= RULE_DECIMAL ) (kw= '.' (this_INT_4= RULE_INT | this_DECIMAL_5= RULE_DECIMAL ) )? ) ) ;
+    // InternalReportDSL.g:14349:1: ruleNumber returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : (this_HEX_0= RULE_HEX | ( (this_INT_1= RULE_INT | this_DECIMAL_2= RULE_DECIMAL ) (kw= '.' (this_INT_4= RULE_INT | this_DECIMAL_5= RULE_DECIMAL ) )? ) ) ;
     public final AntlrDatatypeRuleToken ruleNumber() throws RecognitionException {
         AntlrDatatypeRuleToken current = new AntlrDatatypeRuleToken();
 
@@ -37975,29 +38821,29 @@
         	HiddenTokens myHiddenTokenState = ((XtextTokenStream)input).setHiddenTokens();
 
         try {
-            // InternalReportDSL.g:14047:2: ( (this_HEX_0= RULE_HEX | ( (this_INT_1= RULE_INT | this_DECIMAL_2= RULE_DECIMAL ) (kw= '.' (this_INT_4= RULE_INT | this_DECIMAL_5= RULE_DECIMAL ) )? ) ) )
-            // InternalReportDSL.g:14048:2: (this_HEX_0= RULE_HEX | ( (this_INT_1= RULE_INT | this_DECIMAL_2= RULE_DECIMAL ) (kw= '.' (this_INT_4= RULE_INT | this_DECIMAL_5= RULE_DECIMAL ) )? ) )
+            // InternalReportDSL.g:14356:2: ( (this_HEX_0= RULE_HEX | ( (this_INT_1= RULE_INT | this_DECIMAL_2= RULE_DECIMAL ) (kw= '.' (this_INT_4= RULE_INT | this_DECIMAL_5= RULE_DECIMAL ) )? ) ) )
+            // InternalReportDSL.g:14357:2: (this_HEX_0= RULE_HEX | ( (this_INT_1= RULE_INT | this_DECIMAL_2= RULE_DECIMAL ) (kw= '.' (this_INT_4= RULE_INT | this_DECIMAL_5= RULE_DECIMAL ) )? ) )
             {
-            // InternalReportDSL.g:14048:2: (this_HEX_0= RULE_HEX | ( (this_INT_1= RULE_INT | this_DECIMAL_2= RULE_DECIMAL ) (kw= '.' (this_INT_4= RULE_INT | this_DECIMAL_5= RULE_DECIMAL ) )? ) )
-            int alt216=2;
-            int LA216_0 = input.LA(1);
+            // InternalReportDSL.g:14357:2: (this_HEX_0= RULE_HEX | ( (this_INT_1= RULE_INT | this_DECIMAL_2= RULE_DECIMAL ) (kw= '.' (this_INT_4= RULE_INT | this_DECIMAL_5= RULE_DECIMAL ) )? ) )
+            int alt204=2;
+            int LA204_0 = input.LA(1);
 
-            if ( (LA216_0==RULE_HEX) ) {
-                alt216=1;
+            if ( (LA204_0==RULE_HEX) ) {
+                alt204=1;
             }
-            else if ( (LA216_0==RULE_INT||LA216_0==RULE_DECIMAL) ) {
-                alt216=2;
+            else if ( (LA204_0==RULE_INT||LA204_0==RULE_DECIMAL) ) {
+                alt204=2;
             }
             else {
                 if (state.backtracking>0) {state.failed=true; return current;}
                 NoViableAltException nvae =
-                    new NoViableAltException("", 216, 0, input);
+                    new NoViableAltException("", 204, 0, input);
 
                 throw nvae;
             }
-            switch (alt216) {
+            switch (alt204) {
                 case 1 :
-                    // InternalReportDSL.g:14049:3: this_HEX_0= RULE_HEX
+                    // InternalReportDSL.g:14358:3: this_HEX_0= RULE_HEX
                     {
                     this_HEX_0=(Token)match(input,RULE_HEX,FOLLOW_2); if (state.failed) return current;
                     if ( state.backtracking==0 ) {
@@ -38014,33 +38860,33 @@
                     }
                     break;
                 case 2 :
-                    // InternalReportDSL.g:14057:3: ( (this_INT_1= RULE_INT | this_DECIMAL_2= RULE_DECIMAL ) (kw= '.' (this_INT_4= RULE_INT | this_DECIMAL_5= RULE_DECIMAL ) )? )
+                    // InternalReportDSL.g:14366:3: ( (this_INT_1= RULE_INT | this_DECIMAL_2= RULE_DECIMAL ) (kw= '.' (this_INT_4= RULE_INT | this_DECIMAL_5= RULE_DECIMAL ) )? )
                     {
-                    // InternalReportDSL.g:14057:3: ( (this_INT_1= RULE_INT | this_DECIMAL_2= RULE_DECIMAL ) (kw= '.' (this_INT_4= RULE_INT | this_DECIMAL_5= RULE_DECIMAL ) )? )
-                    // InternalReportDSL.g:14058:4: (this_INT_1= RULE_INT | this_DECIMAL_2= RULE_DECIMAL ) (kw= '.' (this_INT_4= RULE_INT | this_DECIMAL_5= RULE_DECIMAL ) )?
+                    // InternalReportDSL.g:14366:3: ( (this_INT_1= RULE_INT | this_DECIMAL_2= RULE_DECIMAL ) (kw= '.' (this_INT_4= RULE_INT | this_DECIMAL_5= RULE_DECIMAL ) )? )
+                    // InternalReportDSL.g:14367:4: (this_INT_1= RULE_INT | this_DECIMAL_2= RULE_DECIMAL ) (kw= '.' (this_INT_4= RULE_INT | this_DECIMAL_5= RULE_DECIMAL ) )?
                     {
-                    // InternalReportDSL.g:14058:4: (this_INT_1= RULE_INT | this_DECIMAL_2= RULE_DECIMAL )
-                    int alt213=2;
-                    int LA213_0 = input.LA(1);
+                    // InternalReportDSL.g:14367:4: (this_INT_1= RULE_INT | this_DECIMAL_2= RULE_DECIMAL )
+                    int alt201=2;
+                    int LA201_0 = input.LA(1);
 
-                    if ( (LA213_0==RULE_INT) ) {
-                        alt213=1;
+                    if ( (LA201_0==RULE_INT) ) {
+                        alt201=1;
                     }
-                    else if ( (LA213_0==RULE_DECIMAL) ) {
-                        alt213=2;
+                    else if ( (LA201_0==RULE_DECIMAL) ) {
+                        alt201=2;
                     }
                     else {
                         if (state.backtracking>0) {state.failed=true; return current;}
                         NoViableAltException nvae =
-                            new NoViableAltException("", 213, 0, input);
+                            new NoViableAltException("", 201, 0, input);
 
                         throw nvae;
                     }
-                    switch (alt213) {
+                    switch (alt201) {
                         case 1 :
-                            // InternalReportDSL.g:14059:5: this_INT_1= RULE_INT
+                            // InternalReportDSL.g:14368:5: this_INT_1= RULE_INT
                             {
-                            this_INT_1=(Token)match(input,RULE_INT,FOLLOW_190); if (state.failed) return current;
+                            this_INT_1=(Token)match(input,RULE_INT,FOLLOW_182); if (state.failed) return current;
                             if ( state.backtracking==0 ) {
 
                               					current.merge(this_INT_1);
@@ -38055,9 +38901,9 @@
                             }
                             break;
                         case 2 :
-                            // InternalReportDSL.g:14067:5: this_DECIMAL_2= RULE_DECIMAL
+                            // InternalReportDSL.g:14376:5: this_DECIMAL_2= RULE_DECIMAL
                             {
-                            this_DECIMAL_2=(Token)match(input,RULE_DECIMAL,FOLLOW_190); if (state.failed) return current;
+                            this_DECIMAL_2=(Token)match(input,RULE_DECIMAL,FOLLOW_182); if (state.failed) return current;
                             if ( state.backtracking==0 ) {
 
                               					current.merge(this_DECIMAL_2);
@@ -38074,48 +38920,48 @@
 
                     }
 
-                    // InternalReportDSL.g:14075:4: (kw= '.' (this_INT_4= RULE_INT | this_DECIMAL_5= RULE_DECIMAL ) )?
-                    int alt215=2;
-                    int LA215_0 = input.LA(1);
+                    // InternalReportDSL.g:14384:4: (kw= '.' (this_INT_4= RULE_INT | this_DECIMAL_5= RULE_DECIMAL ) )?
+                    int alt203=2;
+                    int LA203_0 = input.LA(1);
 
-                    if ( (LA215_0==167) ) {
-                        int LA215_1 = input.LA(2);
+                    if ( (LA203_0==166) ) {
+                        int LA203_1 = input.LA(2);
 
-                        if ( (LA215_1==RULE_INT||LA215_1==RULE_DECIMAL) ) {
-                            alt215=1;
+                        if ( (LA203_1==RULE_INT||LA203_1==RULE_DECIMAL) ) {
+                            alt203=1;
                         }
                     }
-                    switch (alt215) {
+                    switch (alt203) {
                         case 1 :
-                            // InternalReportDSL.g:14076:5: kw= '.' (this_INT_4= RULE_INT | this_DECIMAL_5= RULE_DECIMAL )
+                            // InternalReportDSL.g:14385:5: kw= '.' (this_INT_4= RULE_INT | this_DECIMAL_5= RULE_DECIMAL )
                             {
-                            kw=(Token)match(input,167,FOLLOW_191); if (state.failed) return current;
+                            kw=(Token)match(input,166,FOLLOW_183); if (state.failed) return current;
                             if ( state.backtracking==0 ) {
 
                               					current.merge(kw);
                               					newLeafNode(kw, grammarAccess.getNumberAccess().getFullStopKeyword_1_1_0());
                               				
                             }
-                            // InternalReportDSL.g:14081:5: (this_INT_4= RULE_INT | this_DECIMAL_5= RULE_DECIMAL )
-                            int alt214=2;
-                            int LA214_0 = input.LA(1);
+                            // InternalReportDSL.g:14390:5: (this_INT_4= RULE_INT | this_DECIMAL_5= RULE_DECIMAL )
+                            int alt202=2;
+                            int LA202_0 = input.LA(1);
 
-                            if ( (LA214_0==RULE_INT) ) {
-                                alt214=1;
+                            if ( (LA202_0==RULE_INT) ) {
+                                alt202=1;
                             }
-                            else if ( (LA214_0==RULE_DECIMAL) ) {
-                                alt214=2;
+                            else if ( (LA202_0==RULE_DECIMAL) ) {
+                                alt202=2;
                             }
                             else {
                                 if (state.backtracking>0) {state.failed=true; return current;}
                                 NoViableAltException nvae =
-                                    new NoViableAltException("", 214, 0, input);
+                                    new NoViableAltException("", 202, 0, input);
 
                                 throw nvae;
                             }
-                            switch (alt214) {
+                            switch (alt202) {
                                 case 1 :
-                                    // InternalReportDSL.g:14082:6: this_INT_4= RULE_INT
+                                    // InternalReportDSL.g:14391:6: this_INT_4= RULE_INT
                                     {
                                     this_INT_4=(Token)match(input,RULE_INT,FOLLOW_2); if (state.failed) return current;
                                     if ( state.backtracking==0 ) {
@@ -38132,7 +38978,7 @@
                                     }
                                     break;
                                 case 2 :
-                                    // InternalReportDSL.g:14090:6: this_DECIMAL_5= RULE_DECIMAL
+                                    // InternalReportDSL.g:14399:6: this_DECIMAL_5= RULE_DECIMAL
                                     {
                                     this_DECIMAL_5=(Token)match(input,RULE_DECIMAL,FOLLOW_2); if (state.failed) return current;
                                     if ( state.backtracking==0 ) {
@@ -38191,7 +39037,7 @@
 
 
     // $ANTLR start "entryRuleJvmTypeReference"
-    // InternalReportDSL.g:14107:1: entryRuleJvmTypeReference returns [EObject current=null] : iv_ruleJvmTypeReference= ruleJvmTypeReference EOF ;
+    // InternalReportDSL.g:14416:1: entryRuleJvmTypeReference returns [EObject current=null] : iv_ruleJvmTypeReference= ruleJvmTypeReference EOF ;
     public final EObject entryRuleJvmTypeReference() throws RecognitionException {
         EObject current = null;
 
@@ -38199,8 +39045,8 @@
 
 
         try {
-            // InternalReportDSL.g:14107:57: (iv_ruleJvmTypeReference= ruleJvmTypeReference EOF )
-            // InternalReportDSL.g:14108:2: iv_ruleJvmTypeReference= ruleJvmTypeReference EOF
+            // InternalReportDSL.g:14416:57: (iv_ruleJvmTypeReference= ruleJvmTypeReference EOF )
+            // InternalReportDSL.g:14417:2: iv_ruleJvmTypeReference= ruleJvmTypeReference EOF
             {
             if ( state.backtracking==0 ) {
                newCompositeNode(grammarAccess.getJvmTypeReferenceRule()); 
@@ -38231,7 +39077,7 @@
 
 
     // $ANTLR start "ruleJvmTypeReference"
-    // InternalReportDSL.g:14114:1: ruleJvmTypeReference returns [EObject current=null] : ( (this_JvmParameterizedTypeReference_0= ruleJvmParameterizedTypeReference ( ( ( () ruleArrayBrackets ) )=> ( () ruleArrayBrackets ) )* ) | this_XFunctionTypeRef_3= ruleXFunctionTypeRef ) ;
+    // InternalReportDSL.g:14423:1: ruleJvmTypeReference returns [EObject current=null] : ( (this_JvmParameterizedTypeReference_0= ruleJvmParameterizedTypeReference ( ( ( () ruleArrayBrackets ) )=> ( () ruleArrayBrackets ) )* ) | this_XFunctionTypeRef_3= ruleXFunctionTypeRef ) ;
     public final EObject ruleJvmTypeReference() throws RecognitionException {
         EObject current = null;
 
@@ -38244,39 +39090,39 @@
         	enterRule();
 
         try {
-            // InternalReportDSL.g:14120:2: ( ( (this_JvmParameterizedTypeReference_0= ruleJvmParameterizedTypeReference ( ( ( () ruleArrayBrackets ) )=> ( () ruleArrayBrackets ) )* ) | this_XFunctionTypeRef_3= ruleXFunctionTypeRef ) )
-            // InternalReportDSL.g:14121:2: ( (this_JvmParameterizedTypeReference_0= ruleJvmParameterizedTypeReference ( ( ( () ruleArrayBrackets ) )=> ( () ruleArrayBrackets ) )* ) | this_XFunctionTypeRef_3= ruleXFunctionTypeRef )
+            // InternalReportDSL.g:14429:2: ( ( (this_JvmParameterizedTypeReference_0= ruleJvmParameterizedTypeReference ( ( ( () ruleArrayBrackets ) )=> ( () ruleArrayBrackets ) )* ) | this_XFunctionTypeRef_3= ruleXFunctionTypeRef ) )
+            // InternalReportDSL.g:14430:2: ( (this_JvmParameterizedTypeReference_0= ruleJvmParameterizedTypeReference ( ( ( () ruleArrayBrackets ) )=> ( () ruleArrayBrackets ) )* ) | this_XFunctionTypeRef_3= ruleXFunctionTypeRef )
             {
-            // InternalReportDSL.g:14121:2: ( (this_JvmParameterizedTypeReference_0= ruleJvmParameterizedTypeReference ( ( ( () ruleArrayBrackets ) )=> ( () ruleArrayBrackets ) )* ) | this_XFunctionTypeRef_3= ruleXFunctionTypeRef )
-            int alt218=2;
-            int LA218_0 = input.LA(1);
+            // InternalReportDSL.g:14430:2: ( (this_JvmParameterizedTypeReference_0= ruleJvmParameterizedTypeReference ( ( ( () ruleArrayBrackets ) )=> ( () ruleArrayBrackets ) )* ) | this_XFunctionTypeRef_3= ruleXFunctionTypeRef )
+            int alt206=2;
+            int LA206_0 = input.LA(1);
 
-            if ( (LA218_0==RULE_ID) ) {
-                alt218=1;
+            if ( (LA206_0==RULE_ID) ) {
+                alt206=1;
             }
-            else if ( (LA218_0==103||LA218_0==157) ) {
-                alt218=2;
+            else if ( (LA206_0==102||LA206_0==156) ) {
+                alt206=2;
             }
             else {
                 if (state.backtracking>0) {state.failed=true; return current;}
                 NoViableAltException nvae =
-                    new NoViableAltException("", 218, 0, input);
+                    new NoViableAltException("", 206, 0, input);
 
                 throw nvae;
             }
-            switch (alt218) {
+            switch (alt206) {
                 case 1 :
-                    // InternalReportDSL.g:14122:3: (this_JvmParameterizedTypeReference_0= ruleJvmParameterizedTypeReference ( ( ( () ruleArrayBrackets ) )=> ( () ruleArrayBrackets ) )* )
+                    // InternalReportDSL.g:14431:3: (this_JvmParameterizedTypeReference_0= ruleJvmParameterizedTypeReference ( ( ( () ruleArrayBrackets ) )=> ( () ruleArrayBrackets ) )* )
                     {
-                    // InternalReportDSL.g:14122:3: (this_JvmParameterizedTypeReference_0= ruleJvmParameterizedTypeReference ( ( ( () ruleArrayBrackets ) )=> ( () ruleArrayBrackets ) )* )
-                    // InternalReportDSL.g:14123:4: this_JvmParameterizedTypeReference_0= ruleJvmParameterizedTypeReference ( ( ( () ruleArrayBrackets ) )=> ( () ruleArrayBrackets ) )*
+                    // InternalReportDSL.g:14431:3: (this_JvmParameterizedTypeReference_0= ruleJvmParameterizedTypeReference ( ( ( () ruleArrayBrackets ) )=> ( () ruleArrayBrackets ) )* )
+                    // InternalReportDSL.g:14432:4: this_JvmParameterizedTypeReference_0= ruleJvmParameterizedTypeReference ( ( ( () ruleArrayBrackets ) )=> ( () ruleArrayBrackets ) )*
                     {
                     if ( state.backtracking==0 ) {
 
                       				newCompositeNode(grammarAccess.getJvmTypeReferenceAccess().getJvmParameterizedTypeReferenceParserRuleCall_0_0());
                       			
                     }
-                    pushFollow(FOLLOW_184);
+                    pushFollow(FOLLOW_176);
                     this_JvmParameterizedTypeReference_0=ruleJvmParameterizedTypeReference();
 
                     state._fsp--;
@@ -38287,20 +39133,20 @@
                       				afterParserOrEnumRuleCall();
                       			
                     }
-                    // InternalReportDSL.g:14131:4: ( ( ( () ruleArrayBrackets ) )=> ( () ruleArrayBrackets ) )*
-                    loop217:
+                    // InternalReportDSL.g:14440:4: ( ( ( () ruleArrayBrackets ) )=> ( () ruleArrayBrackets ) )*
+                    loop205:
                     do {
-                        int alt217=2;
-                        int LA217_0 = input.LA(1);
+                        int alt205=2;
+                        int LA205_0 = input.LA(1);
 
-                        if ( (LA217_0==137) ) {
-                            int LA217_2 = input.LA(2);
+                        if ( (LA205_0==136) ) {
+                            int LA205_2 = input.LA(2);
 
-                            if ( (LA217_2==138) ) {
-                                int LA217_3 = input.LA(3);
+                            if ( (LA205_2==137) ) {
+                                int LA205_3 = input.LA(3);
 
                                 if ( (synpred49_InternalReportDSL()) ) {
-                                    alt217=1;
+                                    alt205=1;
                                 }
 
 
@@ -38310,15 +39156,15 @@
                         }
 
 
-                        switch (alt217) {
+                        switch (alt205) {
                     	case 1 :
-                    	    // InternalReportDSL.g:14132:5: ( ( () ruleArrayBrackets ) )=> ( () ruleArrayBrackets )
+                    	    // InternalReportDSL.g:14441:5: ( ( () ruleArrayBrackets ) )=> ( () ruleArrayBrackets )
                     	    {
-                    	    // InternalReportDSL.g:14138:5: ( () ruleArrayBrackets )
-                    	    // InternalReportDSL.g:14139:6: () ruleArrayBrackets
+                    	    // InternalReportDSL.g:14447:5: ( () ruleArrayBrackets )
+                    	    // InternalReportDSL.g:14448:6: () ruleArrayBrackets
                     	    {
-                    	    // InternalReportDSL.g:14139:6: ()
-                    	    // InternalReportDSL.g:14140:7: 
+                    	    // InternalReportDSL.g:14448:6: ()
+                    	    // InternalReportDSL.g:14449:7: 
                     	    {
                     	    if ( state.backtracking==0 ) {
 
@@ -38335,7 +39181,7 @@
                     	      						newCompositeNode(grammarAccess.getJvmTypeReferenceAccess().getArrayBracketsParserRuleCall_0_1_0_1());
                     	      					
                     	    }
-                    	    pushFollow(FOLLOW_184);
+                    	    pushFollow(FOLLOW_176);
                     	    ruleArrayBrackets();
 
                     	    state._fsp--;
@@ -38353,7 +39199,7 @@
                     	    break;
 
                     	default :
-                    	    break loop217;
+                    	    break loop205;
                         }
                     } while (true);
 
@@ -38364,7 +39210,7 @@
                     }
                     break;
                 case 2 :
-                    // InternalReportDSL.g:14157:3: this_XFunctionTypeRef_3= ruleXFunctionTypeRef
+                    // InternalReportDSL.g:14466:3: this_XFunctionTypeRef_3= ruleXFunctionTypeRef
                     {
                     if ( state.backtracking==0 ) {
 
@@ -38410,7 +39256,7 @@
 
 
     // $ANTLR start "entryRuleArrayBrackets"
-    // InternalReportDSL.g:14169:1: entryRuleArrayBrackets returns [String current=null] : iv_ruleArrayBrackets= ruleArrayBrackets EOF ;
+    // InternalReportDSL.g:14478:1: entryRuleArrayBrackets returns [String current=null] : iv_ruleArrayBrackets= ruleArrayBrackets EOF ;
     public final String entryRuleArrayBrackets() throws RecognitionException {
         String current = null;
 
@@ -38418,8 +39264,8 @@
 
 
         try {
-            // InternalReportDSL.g:14169:53: (iv_ruleArrayBrackets= ruleArrayBrackets EOF )
-            // InternalReportDSL.g:14170:2: iv_ruleArrayBrackets= ruleArrayBrackets EOF
+            // InternalReportDSL.g:14478:53: (iv_ruleArrayBrackets= ruleArrayBrackets EOF )
+            // InternalReportDSL.g:14479:2: iv_ruleArrayBrackets= ruleArrayBrackets EOF
             {
             if ( state.backtracking==0 ) {
                newCompositeNode(grammarAccess.getArrayBracketsRule()); 
@@ -38450,7 +39296,7 @@
 
 
     // $ANTLR start "ruleArrayBrackets"
-    // InternalReportDSL.g:14176:1: ruleArrayBrackets returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : (kw= '[' kw= ']' ) ;
+    // InternalReportDSL.g:14485:1: ruleArrayBrackets returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : (kw= '[' kw= ']' ) ;
     public final AntlrDatatypeRuleToken ruleArrayBrackets() throws RecognitionException {
         AntlrDatatypeRuleToken current = new AntlrDatatypeRuleToken();
 
@@ -38460,20 +39306,20 @@
         	enterRule();
 
         try {
-            // InternalReportDSL.g:14182:2: ( (kw= '[' kw= ']' ) )
-            // InternalReportDSL.g:14183:2: (kw= '[' kw= ']' )
+            // InternalReportDSL.g:14491:2: ( (kw= '[' kw= ']' ) )
+            // InternalReportDSL.g:14492:2: (kw= '[' kw= ']' )
             {
-            // InternalReportDSL.g:14183:2: (kw= '[' kw= ']' )
-            // InternalReportDSL.g:14184:3: kw= '[' kw= ']'
+            // InternalReportDSL.g:14492:2: (kw= '[' kw= ']' )
+            // InternalReportDSL.g:14493:3: kw= '[' kw= ']'
             {
-            kw=(Token)match(input,137,FOLLOW_165); if (state.failed) return current;
+            kw=(Token)match(input,136,FOLLOW_157); if (state.failed) return current;
             if ( state.backtracking==0 ) {
 
               			current.merge(kw);
               			newLeafNode(kw, grammarAccess.getArrayBracketsAccess().getLeftSquareBracketKeyword_0());
               		
             }
-            kw=(Token)match(input,138,FOLLOW_2); if (state.failed) return current;
+            kw=(Token)match(input,137,FOLLOW_2); if (state.failed) return current;
             if ( state.backtracking==0 ) {
 
               			current.merge(kw);
@@ -38505,7 +39351,7 @@
 
 
     // $ANTLR start "entryRuleXFunctionTypeRef"
-    // InternalReportDSL.g:14198:1: entryRuleXFunctionTypeRef returns [EObject current=null] : iv_ruleXFunctionTypeRef= ruleXFunctionTypeRef EOF ;
+    // InternalReportDSL.g:14507:1: entryRuleXFunctionTypeRef returns [EObject current=null] : iv_ruleXFunctionTypeRef= ruleXFunctionTypeRef EOF ;
     public final EObject entryRuleXFunctionTypeRef() throws RecognitionException {
         EObject current = null;
 
@@ -38513,8 +39359,8 @@
 
 
         try {
-            // InternalReportDSL.g:14198:57: (iv_ruleXFunctionTypeRef= ruleXFunctionTypeRef EOF )
-            // InternalReportDSL.g:14199:2: iv_ruleXFunctionTypeRef= ruleXFunctionTypeRef EOF
+            // InternalReportDSL.g:14507:57: (iv_ruleXFunctionTypeRef= ruleXFunctionTypeRef EOF )
+            // InternalReportDSL.g:14508:2: iv_ruleXFunctionTypeRef= ruleXFunctionTypeRef EOF
             {
             if ( state.backtracking==0 ) {
                newCompositeNode(grammarAccess.getXFunctionTypeRefRule()); 
@@ -38545,7 +39391,7 @@
 
 
     // $ANTLR start "ruleXFunctionTypeRef"
-    // InternalReportDSL.g:14205:1: ruleXFunctionTypeRef returns [EObject current=null] : ( (otherlv_0= '(' ( ( (lv_paramTypes_1_0= ruleJvmTypeReference ) ) (otherlv_2= ',' ( (lv_paramTypes_3_0= ruleJvmTypeReference ) ) )* )? otherlv_4= ')' )? otherlv_5= '=>' ( (lv_returnType_6_0= ruleJvmTypeReference ) ) ) ;
+    // InternalReportDSL.g:14514:1: ruleXFunctionTypeRef returns [EObject current=null] : ( (otherlv_0= '(' ( ( (lv_paramTypes_1_0= ruleJvmTypeReference ) ) (otherlv_2= ',' ( (lv_paramTypes_3_0= ruleJvmTypeReference ) ) )* )? otherlv_4= ')' )? otherlv_5= '=>' ( (lv_returnType_6_0= ruleJvmTypeReference ) ) ) ;
     public final EObject ruleXFunctionTypeRef() throws RecognitionException {
         EObject current = null;
 
@@ -38564,52 +39410,52 @@
         	enterRule();
 
         try {
-            // InternalReportDSL.g:14211:2: ( ( (otherlv_0= '(' ( ( (lv_paramTypes_1_0= ruleJvmTypeReference ) ) (otherlv_2= ',' ( (lv_paramTypes_3_0= ruleJvmTypeReference ) ) )* )? otherlv_4= ')' )? otherlv_5= '=>' ( (lv_returnType_6_0= ruleJvmTypeReference ) ) ) )
-            // InternalReportDSL.g:14212:2: ( (otherlv_0= '(' ( ( (lv_paramTypes_1_0= ruleJvmTypeReference ) ) (otherlv_2= ',' ( (lv_paramTypes_3_0= ruleJvmTypeReference ) ) )* )? otherlv_4= ')' )? otherlv_5= '=>' ( (lv_returnType_6_0= ruleJvmTypeReference ) ) )
+            // InternalReportDSL.g:14520:2: ( ( (otherlv_0= '(' ( ( (lv_paramTypes_1_0= ruleJvmTypeReference ) ) (otherlv_2= ',' ( (lv_paramTypes_3_0= ruleJvmTypeReference ) ) )* )? otherlv_4= ')' )? otherlv_5= '=>' ( (lv_returnType_6_0= ruleJvmTypeReference ) ) ) )
+            // InternalReportDSL.g:14521:2: ( (otherlv_0= '(' ( ( (lv_paramTypes_1_0= ruleJvmTypeReference ) ) (otherlv_2= ',' ( (lv_paramTypes_3_0= ruleJvmTypeReference ) ) )* )? otherlv_4= ')' )? otherlv_5= '=>' ( (lv_returnType_6_0= ruleJvmTypeReference ) ) )
             {
-            // InternalReportDSL.g:14212:2: ( (otherlv_0= '(' ( ( (lv_paramTypes_1_0= ruleJvmTypeReference ) ) (otherlv_2= ',' ( (lv_paramTypes_3_0= ruleJvmTypeReference ) ) )* )? otherlv_4= ')' )? otherlv_5= '=>' ( (lv_returnType_6_0= ruleJvmTypeReference ) ) )
-            // InternalReportDSL.g:14213:3: (otherlv_0= '(' ( ( (lv_paramTypes_1_0= ruleJvmTypeReference ) ) (otherlv_2= ',' ( (lv_paramTypes_3_0= ruleJvmTypeReference ) ) )* )? otherlv_4= ')' )? otherlv_5= '=>' ( (lv_returnType_6_0= ruleJvmTypeReference ) )
+            // InternalReportDSL.g:14521:2: ( (otherlv_0= '(' ( ( (lv_paramTypes_1_0= ruleJvmTypeReference ) ) (otherlv_2= ',' ( (lv_paramTypes_3_0= ruleJvmTypeReference ) ) )* )? otherlv_4= ')' )? otherlv_5= '=>' ( (lv_returnType_6_0= ruleJvmTypeReference ) ) )
+            // InternalReportDSL.g:14522:3: (otherlv_0= '(' ( ( (lv_paramTypes_1_0= ruleJvmTypeReference ) ) (otherlv_2= ',' ( (lv_paramTypes_3_0= ruleJvmTypeReference ) ) )* )? otherlv_4= ')' )? otherlv_5= '=>' ( (lv_returnType_6_0= ruleJvmTypeReference ) )
             {
-            // InternalReportDSL.g:14213:3: (otherlv_0= '(' ( ( (lv_paramTypes_1_0= ruleJvmTypeReference ) ) (otherlv_2= ',' ( (lv_paramTypes_3_0= ruleJvmTypeReference ) ) )* )? otherlv_4= ')' )?
-            int alt221=2;
-            int LA221_0 = input.LA(1);
+            // InternalReportDSL.g:14522:3: (otherlv_0= '(' ( ( (lv_paramTypes_1_0= ruleJvmTypeReference ) ) (otherlv_2= ',' ( (lv_paramTypes_3_0= ruleJvmTypeReference ) ) )* )? otherlv_4= ')' )?
+            int alt209=2;
+            int LA209_0 = input.LA(1);
 
-            if ( (LA221_0==103) ) {
-                alt221=1;
+            if ( (LA209_0==102) ) {
+                alt209=1;
             }
-            switch (alt221) {
+            switch (alt209) {
                 case 1 :
-                    // InternalReportDSL.g:14214:4: otherlv_0= '(' ( ( (lv_paramTypes_1_0= ruleJvmTypeReference ) ) (otherlv_2= ',' ( (lv_paramTypes_3_0= ruleJvmTypeReference ) ) )* )? otherlv_4= ')'
+                    // InternalReportDSL.g:14523:4: otherlv_0= '(' ( ( (lv_paramTypes_1_0= ruleJvmTypeReference ) ) (otherlv_2= ',' ( (lv_paramTypes_3_0= ruleJvmTypeReference ) ) )* )? otherlv_4= ')'
                     {
-                    otherlv_0=(Token)match(input,103,FOLLOW_192); if (state.failed) return current;
+                    otherlv_0=(Token)match(input,102,FOLLOW_184); if (state.failed) return current;
                     if ( state.backtracking==0 ) {
 
                       				newLeafNode(otherlv_0, grammarAccess.getXFunctionTypeRefAccess().getLeftParenthesisKeyword_0_0());
                       			
                     }
-                    // InternalReportDSL.g:14218:4: ( ( (lv_paramTypes_1_0= ruleJvmTypeReference ) ) (otherlv_2= ',' ( (lv_paramTypes_3_0= ruleJvmTypeReference ) ) )* )?
-                    int alt220=2;
-                    int LA220_0 = input.LA(1);
+                    // InternalReportDSL.g:14527:4: ( ( (lv_paramTypes_1_0= ruleJvmTypeReference ) ) (otherlv_2= ',' ( (lv_paramTypes_3_0= ruleJvmTypeReference ) ) )* )?
+                    int alt208=2;
+                    int LA208_0 = input.LA(1);
 
-                    if ( (LA220_0==RULE_ID||LA220_0==103||LA220_0==157) ) {
-                        alt220=1;
+                    if ( (LA208_0==RULE_ID||LA208_0==102||LA208_0==156) ) {
+                        alt208=1;
                     }
-                    switch (alt220) {
+                    switch (alt208) {
                         case 1 :
-                            // InternalReportDSL.g:14219:5: ( (lv_paramTypes_1_0= ruleJvmTypeReference ) ) (otherlv_2= ',' ( (lv_paramTypes_3_0= ruleJvmTypeReference ) ) )*
+                            // InternalReportDSL.g:14528:5: ( (lv_paramTypes_1_0= ruleJvmTypeReference ) ) (otherlv_2= ',' ( (lv_paramTypes_3_0= ruleJvmTypeReference ) ) )*
                             {
-                            // InternalReportDSL.g:14219:5: ( (lv_paramTypes_1_0= ruleJvmTypeReference ) )
-                            // InternalReportDSL.g:14220:6: (lv_paramTypes_1_0= ruleJvmTypeReference )
+                            // InternalReportDSL.g:14528:5: ( (lv_paramTypes_1_0= ruleJvmTypeReference ) )
+                            // InternalReportDSL.g:14529:6: (lv_paramTypes_1_0= ruleJvmTypeReference )
                             {
-                            // InternalReportDSL.g:14220:6: (lv_paramTypes_1_0= ruleJvmTypeReference )
-                            // InternalReportDSL.g:14221:7: lv_paramTypes_1_0= ruleJvmTypeReference
+                            // InternalReportDSL.g:14529:6: (lv_paramTypes_1_0= ruleJvmTypeReference )
+                            // InternalReportDSL.g:14530:7: lv_paramTypes_1_0= ruleJvmTypeReference
                             {
                             if ( state.backtracking==0 ) {
 
                               							newCompositeNode(grammarAccess.getXFunctionTypeRefAccess().getParamTypesJvmTypeReferenceParserRuleCall_0_1_0_0());
                               						
                             }
-                            pushFollow(FOLLOW_128);
+                            pushFollow(FOLLOW_120);
                             lv_paramTypes_1_0=ruleJvmTypeReference();
 
                             state._fsp--;
@@ -38633,39 +39479,39 @@
 
                             }
 
-                            // InternalReportDSL.g:14238:5: (otherlv_2= ',' ( (lv_paramTypes_3_0= ruleJvmTypeReference ) ) )*
-                            loop219:
+                            // InternalReportDSL.g:14547:5: (otherlv_2= ',' ( (lv_paramTypes_3_0= ruleJvmTypeReference ) ) )*
+                            loop207:
                             do {
-                                int alt219=2;
-                                int LA219_0 = input.LA(1);
+                                int alt207=2;
+                                int LA207_0 = input.LA(1);
 
-                                if ( (LA219_0==134) ) {
-                                    alt219=1;
+                                if ( (LA207_0==133) ) {
+                                    alt207=1;
                                 }
 
 
-                                switch (alt219) {
+                                switch (alt207) {
                             	case 1 :
-                            	    // InternalReportDSL.g:14239:6: otherlv_2= ',' ( (lv_paramTypes_3_0= ruleJvmTypeReference ) )
+                            	    // InternalReportDSL.g:14548:6: otherlv_2= ',' ( (lv_paramTypes_3_0= ruleJvmTypeReference ) )
                             	    {
-                            	    otherlv_2=(Token)match(input,134,FOLLOW_143); if (state.failed) return current;
+                            	    otherlv_2=(Token)match(input,133,FOLLOW_135); if (state.failed) return current;
                             	    if ( state.backtracking==0 ) {
 
                             	      						newLeafNode(otherlv_2, grammarAccess.getXFunctionTypeRefAccess().getCommaKeyword_0_1_1_0());
                             	      					
                             	    }
-                            	    // InternalReportDSL.g:14243:6: ( (lv_paramTypes_3_0= ruleJvmTypeReference ) )
-                            	    // InternalReportDSL.g:14244:7: (lv_paramTypes_3_0= ruleJvmTypeReference )
+                            	    // InternalReportDSL.g:14552:6: ( (lv_paramTypes_3_0= ruleJvmTypeReference ) )
+                            	    // InternalReportDSL.g:14553:7: (lv_paramTypes_3_0= ruleJvmTypeReference )
                             	    {
-                            	    // InternalReportDSL.g:14244:7: (lv_paramTypes_3_0= ruleJvmTypeReference )
-                            	    // InternalReportDSL.g:14245:8: lv_paramTypes_3_0= ruleJvmTypeReference
+                            	    // InternalReportDSL.g:14553:7: (lv_paramTypes_3_0= ruleJvmTypeReference )
+                            	    // InternalReportDSL.g:14554:8: lv_paramTypes_3_0= ruleJvmTypeReference
                             	    {
                             	    if ( state.backtracking==0 ) {
 
                             	      								newCompositeNode(grammarAccess.getXFunctionTypeRefAccess().getParamTypesJvmTypeReferenceParserRuleCall_0_1_1_1_0());
                             	      							
                             	    }
-                            	    pushFollow(FOLLOW_128);
+                            	    pushFollow(FOLLOW_120);
                             	    lv_paramTypes_3_0=ruleJvmTypeReference();
 
                             	    state._fsp--;
@@ -38694,7 +39540,7 @@
                             	    break;
 
                             	default :
-                            	    break loop219;
+                            	    break loop207;
                                 }
                             } while (true);
 
@@ -38704,7 +39550,7 @@
 
                     }
 
-                    otherlv_4=(Token)match(input,104,FOLLOW_193); if (state.failed) return current;
+                    otherlv_4=(Token)match(input,103,FOLLOW_185); if (state.failed) return current;
                     if ( state.backtracking==0 ) {
 
                       				newLeafNode(otherlv_4, grammarAccess.getXFunctionTypeRefAccess().getRightParenthesisKeyword_0_2());
@@ -38716,17 +39562,17 @@
 
             }
 
-            otherlv_5=(Token)match(input,157,FOLLOW_143); if (state.failed) return current;
+            otherlv_5=(Token)match(input,156,FOLLOW_135); if (state.failed) return current;
             if ( state.backtracking==0 ) {
 
               			newLeafNode(otherlv_5, grammarAccess.getXFunctionTypeRefAccess().getEqualsSignGreaterThanSignKeyword_1());
               		
             }
-            // InternalReportDSL.g:14273:3: ( (lv_returnType_6_0= ruleJvmTypeReference ) )
-            // InternalReportDSL.g:14274:4: (lv_returnType_6_0= ruleJvmTypeReference )
+            // InternalReportDSL.g:14582:3: ( (lv_returnType_6_0= ruleJvmTypeReference ) )
+            // InternalReportDSL.g:14583:4: (lv_returnType_6_0= ruleJvmTypeReference )
             {
-            // InternalReportDSL.g:14274:4: (lv_returnType_6_0= ruleJvmTypeReference )
-            // InternalReportDSL.g:14275:5: lv_returnType_6_0= ruleJvmTypeReference
+            // InternalReportDSL.g:14583:4: (lv_returnType_6_0= ruleJvmTypeReference )
+            // InternalReportDSL.g:14584:5: lv_returnType_6_0= ruleJvmTypeReference
             {
             if ( state.backtracking==0 ) {
 
@@ -38782,7 +39628,7 @@
 
 
     // $ANTLR start "entryRuleJvmParameterizedTypeReference"
-    // InternalReportDSL.g:14296:1: entryRuleJvmParameterizedTypeReference returns [EObject current=null] : iv_ruleJvmParameterizedTypeReference= ruleJvmParameterizedTypeReference EOF ;
+    // InternalReportDSL.g:14605:1: entryRuleJvmParameterizedTypeReference returns [EObject current=null] : iv_ruleJvmParameterizedTypeReference= ruleJvmParameterizedTypeReference EOF ;
     public final EObject entryRuleJvmParameterizedTypeReference() throws RecognitionException {
         EObject current = null;
 
@@ -38790,8 +39636,8 @@
 
 
         try {
-            // InternalReportDSL.g:14296:70: (iv_ruleJvmParameterizedTypeReference= ruleJvmParameterizedTypeReference EOF )
-            // InternalReportDSL.g:14297:2: iv_ruleJvmParameterizedTypeReference= ruleJvmParameterizedTypeReference EOF
+            // InternalReportDSL.g:14605:70: (iv_ruleJvmParameterizedTypeReference= ruleJvmParameterizedTypeReference EOF )
+            // InternalReportDSL.g:14606:2: iv_ruleJvmParameterizedTypeReference= ruleJvmParameterizedTypeReference EOF
             {
             if ( state.backtracking==0 ) {
                newCompositeNode(grammarAccess.getJvmParameterizedTypeReferenceRule()); 
@@ -38822,7 +39668,7 @@
 
 
     // $ANTLR start "ruleJvmParameterizedTypeReference"
-    // InternalReportDSL.g:14303:1: ruleJvmParameterizedTypeReference returns [EObject current=null] : ( ( ( ruleQualifiedName ) ) ( ( ( '<' )=>otherlv_1= '<' ) ( (lv_arguments_2_0= ruleJvmArgumentTypeReference ) ) (otherlv_3= ',' ( (lv_arguments_4_0= ruleJvmArgumentTypeReference ) ) )* otherlv_5= '>' ( ( ( ( () '.' ) )=> ( () otherlv_7= '.' ) ) ( ( ruleValidID ) ) ( ( ( '<' )=>otherlv_9= '<' ) ( (lv_arguments_10_0= ruleJvmArgumentTypeReference ) ) (otherlv_11= ',' ( (lv_arguments_12_0= ruleJvmArgumentTypeReference ) ) )* otherlv_13= '>' )? )* )? ) ;
+    // InternalReportDSL.g:14612:1: ruleJvmParameterizedTypeReference returns [EObject current=null] : ( ( ( ruleQualifiedName ) ) ( ( ( '<' )=>otherlv_1= '<' ) ( (lv_arguments_2_0= ruleJvmArgumentTypeReference ) ) (otherlv_3= ',' ( (lv_arguments_4_0= ruleJvmArgumentTypeReference ) ) )* otherlv_5= '>' ( ( ( ( () '.' ) )=> ( () otherlv_7= '.' ) ) ( ( ruleValidID ) ) ( ( ( '<' )=>otherlv_9= '<' ) ( (lv_arguments_10_0= ruleJvmArgumentTypeReference ) ) (otherlv_11= ',' ( (lv_arguments_12_0= ruleJvmArgumentTypeReference ) ) )* otherlv_13= '>' )? )* )? ) ;
     public final EObject ruleJvmParameterizedTypeReference() throws RecognitionException {
         EObject current = null;
 
@@ -38846,17 +39692,17 @@
         	enterRule();
 
         try {
-            // InternalReportDSL.g:14309:2: ( ( ( ( ruleQualifiedName ) ) ( ( ( '<' )=>otherlv_1= '<' ) ( (lv_arguments_2_0= ruleJvmArgumentTypeReference ) ) (otherlv_3= ',' ( (lv_arguments_4_0= ruleJvmArgumentTypeReference ) ) )* otherlv_5= '>' ( ( ( ( () '.' ) )=> ( () otherlv_7= '.' ) ) ( ( ruleValidID ) ) ( ( ( '<' )=>otherlv_9= '<' ) ( (lv_arguments_10_0= ruleJvmArgumentTypeReference ) ) (otherlv_11= ',' ( (lv_arguments_12_0= ruleJvmArgumentTypeReference ) ) )* otherlv_13= '>' )? )* )? ) )
-            // InternalReportDSL.g:14310:2: ( ( ( ruleQualifiedName ) ) ( ( ( '<' )=>otherlv_1= '<' ) ( (lv_arguments_2_0= ruleJvmArgumentTypeReference ) ) (otherlv_3= ',' ( (lv_arguments_4_0= ruleJvmArgumentTypeReference ) ) )* otherlv_5= '>' ( ( ( ( () '.' ) )=> ( () otherlv_7= '.' ) ) ( ( ruleValidID ) ) ( ( ( '<' )=>otherlv_9= '<' ) ( (lv_arguments_10_0= ruleJvmArgumentTypeReference ) ) (otherlv_11= ',' ( (lv_arguments_12_0= ruleJvmArgumentTypeReference ) ) )* otherlv_13= '>' )? )* )? )
+            // InternalReportDSL.g:14618:2: ( ( ( ( ruleQualifiedName ) ) ( ( ( '<' )=>otherlv_1= '<' ) ( (lv_arguments_2_0= ruleJvmArgumentTypeReference ) ) (otherlv_3= ',' ( (lv_arguments_4_0= ruleJvmArgumentTypeReference ) ) )* otherlv_5= '>' ( ( ( ( () '.' ) )=> ( () otherlv_7= '.' ) ) ( ( ruleValidID ) ) ( ( ( '<' )=>otherlv_9= '<' ) ( (lv_arguments_10_0= ruleJvmArgumentTypeReference ) ) (otherlv_11= ',' ( (lv_arguments_12_0= ruleJvmArgumentTypeReference ) ) )* otherlv_13= '>' )? )* )? ) )
+            // InternalReportDSL.g:14619:2: ( ( ( ruleQualifiedName ) ) ( ( ( '<' )=>otherlv_1= '<' ) ( (lv_arguments_2_0= ruleJvmArgumentTypeReference ) ) (otherlv_3= ',' ( (lv_arguments_4_0= ruleJvmArgumentTypeReference ) ) )* otherlv_5= '>' ( ( ( ( () '.' ) )=> ( () otherlv_7= '.' ) ) ( ( ruleValidID ) ) ( ( ( '<' )=>otherlv_9= '<' ) ( (lv_arguments_10_0= ruleJvmArgumentTypeReference ) ) (otherlv_11= ',' ( (lv_arguments_12_0= ruleJvmArgumentTypeReference ) ) )* otherlv_13= '>' )? )* )? )
             {
-            // InternalReportDSL.g:14310:2: ( ( ( ruleQualifiedName ) ) ( ( ( '<' )=>otherlv_1= '<' ) ( (lv_arguments_2_0= ruleJvmArgumentTypeReference ) ) (otherlv_3= ',' ( (lv_arguments_4_0= ruleJvmArgumentTypeReference ) ) )* otherlv_5= '>' ( ( ( ( () '.' ) )=> ( () otherlv_7= '.' ) ) ( ( ruleValidID ) ) ( ( ( '<' )=>otherlv_9= '<' ) ( (lv_arguments_10_0= ruleJvmArgumentTypeReference ) ) (otherlv_11= ',' ( (lv_arguments_12_0= ruleJvmArgumentTypeReference ) ) )* otherlv_13= '>' )? )* )? )
-            // InternalReportDSL.g:14311:3: ( ( ruleQualifiedName ) ) ( ( ( '<' )=>otherlv_1= '<' ) ( (lv_arguments_2_0= ruleJvmArgumentTypeReference ) ) (otherlv_3= ',' ( (lv_arguments_4_0= ruleJvmArgumentTypeReference ) ) )* otherlv_5= '>' ( ( ( ( () '.' ) )=> ( () otherlv_7= '.' ) ) ( ( ruleValidID ) ) ( ( ( '<' )=>otherlv_9= '<' ) ( (lv_arguments_10_0= ruleJvmArgumentTypeReference ) ) (otherlv_11= ',' ( (lv_arguments_12_0= ruleJvmArgumentTypeReference ) ) )* otherlv_13= '>' )? )* )?
+            // InternalReportDSL.g:14619:2: ( ( ( ruleQualifiedName ) ) ( ( ( '<' )=>otherlv_1= '<' ) ( (lv_arguments_2_0= ruleJvmArgumentTypeReference ) ) (otherlv_3= ',' ( (lv_arguments_4_0= ruleJvmArgumentTypeReference ) ) )* otherlv_5= '>' ( ( ( ( () '.' ) )=> ( () otherlv_7= '.' ) ) ( ( ruleValidID ) ) ( ( ( '<' )=>otherlv_9= '<' ) ( (lv_arguments_10_0= ruleJvmArgumentTypeReference ) ) (otherlv_11= ',' ( (lv_arguments_12_0= ruleJvmArgumentTypeReference ) ) )* otherlv_13= '>' )? )* )? )
+            // InternalReportDSL.g:14620:3: ( ( ruleQualifiedName ) ) ( ( ( '<' )=>otherlv_1= '<' ) ( (lv_arguments_2_0= ruleJvmArgumentTypeReference ) ) (otherlv_3= ',' ( (lv_arguments_4_0= ruleJvmArgumentTypeReference ) ) )* otherlv_5= '>' ( ( ( ( () '.' ) )=> ( () otherlv_7= '.' ) ) ( ( ruleValidID ) ) ( ( ( '<' )=>otherlv_9= '<' ) ( (lv_arguments_10_0= ruleJvmArgumentTypeReference ) ) (otherlv_11= ',' ( (lv_arguments_12_0= ruleJvmArgumentTypeReference ) ) )* otherlv_13= '>' )? )* )?
             {
-            // InternalReportDSL.g:14311:3: ( ( ruleQualifiedName ) )
-            // InternalReportDSL.g:14312:4: ( ruleQualifiedName )
+            // InternalReportDSL.g:14620:3: ( ( ruleQualifiedName ) )
+            // InternalReportDSL.g:14621:4: ( ruleQualifiedName )
             {
-            // InternalReportDSL.g:14312:4: ( ruleQualifiedName )
-            // InternalReportDSL.g:14313:5: ruleQualifiedName
+            // InternalReportDSL.g:14621:4: ( ruleQualifiedName )
+            // InternalReportDSL.g:14622:5: ruleQualifiedName
             {
             if ( state.backtracking==0 ) {
 
@@ -38870,7 +39716,7 @@
               					newCompositeNode(grammarAccess.getJvmParameterizedTypeReferenceAccess().getTypeJvmTypeCrossReference_0_0());
               				
             }
-            pushFollow(FOLLOW_194);
+            pushFollow(FOLLOW_186);
             ruleQualifiedName();
 
             state._fsp--;
@@ -38886,17 +39732,17 @@
 
             }
 
-            // InternalReportDSL.g:14327:3: ( ( ( '<' )=>otherlv_1= '<' ) ( (lv_arguments_2_0= ruleJvmArgumentTypeReference ) ) (otherlv_3= ',' ( (lv_arguments_4_0= ruleJvmArgumentTypeReference ) ) )* otherlv_5= '>' ( ( ( ( () '.' ) )=> ( () otherlv_7= '.' ) ) ( ( ruleValidID ) ) ( ( ( '<' )=>otherlv_9= '<' ) ( (lv_arguments_10_0= ruleJvmArgumentTypeReference ) ) (otherlv_11= ',' ( (lv_arguments_12_0= ruleJvmArgumentTypeReference ) ) )* otherlv_13= '>' )? )* )?
-            int alt226=2;
-            alt226 = dfa226.predict(input);
-            switch (alt226) {
+            // InternalReportDSL.g:14636:3: ( ( ( '<' )=>otherlv_1= '<' ) ( (lv_arguments_2_0= ruleJvmArgumentTypeReference ) ) (otherlv_3= ',' ( (lv_arguments_4_0= ruleJvmArgumentTypeReference ) ) )* otherlv_5= '>' ( ( ( ( () '.' ) )=> ( () otherlv_7= '.' ) ) ( ( ruleValidID ) ) ( ( ( '<' )=>otherlv_9= '<' ) ( (lv_arguments_10_0= ruleJvmArgumentTypeReference ) ) (otherlv_11= ',' ( (lv_arguments_12_0= ruleJvmArgumentTypeReference ) ) )* otherlv_13= '>' )? )* )?
+            int alt214=2;
+            alt214 = dfa214.predict(input);
+            switch (alt214) {
                 case 1 :
-                    // InternalReportDSL.g:14328:4: ( ( '<' )=>otherlv_1= '<' ) ( (lv_arguments_2_0= ruleJvmArgumentTypeReference ) ) (otherlv_3= ',' ( (lv_arguments_4_0= ruleJvmArgumentTypeReference ) ) )* otherlv_5= '>' ( ( ( ( () '.' ) )=> ( () otherlv_7= '.' ) ) ( ( ruleValidID ) ) ( ( ( '<' )=>otherlv_9= '<' ) ( (lv_arguments_10_0= ruleJvmArgumentTypeReference ) ) (otherlv_11= ',' ( (lv_arguments_12_0= ruleJvmArgumentTypeReference ) ) )* otherlv_13= '>' )? )*
+                    // InternalReportDSL.g:14637:4: ( ( '<' )=>otherlv_1= '<' ) ( (lv_arguments_2_0= ruleJvmArgumentTypeReference ) ) (otherlv_3= ',' ( (lv_arguments_4_0= ruleJvmArgumentTypeReference ) ) )* otherlv_5= '>' ( ( ( ( () '.' ) )=> ( () otherlv_7= '.' ) ) ( ( ruleValidID ) ) ( ( ( '<' )=>otherlv_9= '<' ) ( (lv_arguments_10_0= ruleJvmArgumentTypeReference ) ) (otherlv_11= ',' ( (lv_arguments_12_0= ruleJvmArgumentTypeReference ) ) )* otherlv_13= '>' )? )*
                     {
-                    // InternalReportDSL.g:14328:4: ( ( '<' )=>otherlv_1= '<' )
-                    // InternalReportDSL.g:14329:5: ( '<' )=>otherlv_1= '<'
+                    // InternalReportDSL.g:14637:4: ( ( '<' )=>otherlv_1= '<' )
+                    // InternalReportDSL.g:14638:5: ( '<' )=>otherlv_1= '<'
                     {
-                    otherlv_1=(Token)match(input,144,FOLLOW_155); if (state.failed) return current;
+                    otherlv_1=(Token)match(input,143,FOLLOW_147); if (state.failed) return current;
                     if ( state.backtracking==0 ) {
 
                       					newLeafNode(otherlv_1, grammarAccess.getJvmParameterizedTypeReferenceAccess().getLessThanSignKeyword_1_0());
@@ -38905,18 +39751,18 @@
 
                     }
 
-                    // InternalReportDSL.g:14335:4: ( (lv_arguments_2_0= ruleJvmArgumentTypeReference ) )
-                    // InternalReportDSL.g:14336:5: (lv_arguments_2_0= ruleJvmArgumentTypeReference )
+                    // InternalReportDSL.g:14644:4: ( (lv_arguments_2_0= ruleJvmArgumentTypeReference ) )
+                    // InternalReportDSL.g:14645:5: (lv_arguments_2_0= ruleJvmArgumentTypeReference )
                     {
-                    // InternalReportDSL.g:14336:5: (lv_arguments_2_0= ruleJvmArgumentTypeReference )
-                    // InternalReportDSL.g:14337:6: lv_arguments_2_0= ruleJvmArgumentTypeReference
+                    // InternalReportDSL.g:14645:5: (lv_arguments_2_0= ruleJvmArgumentTypeReference )
+                    // InternalReportDSL.g:14646:6: lv_arguments_2_0= ruleJvmArgumentTypeReference
                     {
                     if ( state.backtracking==0 ) {
 
                       						newCompositeNode(grammarAccess.getJvmParameterizedTypeReferenceAccess().getArgumentsJvmArgumentTypeReferenceParserRuleCall_1_1_0());
                       					
                     }
-                    pushFollow(FOLLOW_156);
+                    pushFollow(FOLLOW_148);
                     lv_arguments_2_0=ruleJvmArgumentTypeReference();
 
                     state._fsp--;
@@ -38940,39 +39786,39 @@
 
                     }
 
-                    // InternalReportDSL.g:14354:4: (otherlv_3= ',' ( (lv_arguments_4_0= ruleJvmArgumentTypeReference ) ) )*
-                    loop222:
+                    // InternalReportDSL.g:14663:4: (otherlv_3= ',' ( (lv_arguments_4_0= ruleJvmArgumentTypeReference ) ) )*
+                    loop210:
                     do {
-                        int alt222=2;
-                        int LA222_0 = input.LA(1);
+                        int alt210=2;
+                        int LA210_0 = input.LA(1);
 
-                        if ( (LA222_0==134) ) {
-                            alt222=1;
+                        if ( (LA210_0==133) ) {
+                            alt210=1;
                         }
 
 
-                        switch (alt222) {
+                        switch (alt210) {
                     	case 1 :
-                    	    // InternalReportDSL.g:14355:5: otherlv_3= ',' ( (lv_arguments_4_0= ruleJvmArgumentTypeReference ) )
+                    	    // InternalReportDSL.g:14664:5: otherlv_3= ',' ( (lv_arguments_4_0= ruleJvmArgumentTypeReference ) )
                     	    {
-                    	    otherlv_3=(Token)match(input,134,FOLLOW_155); if (state.failed) return current;
+                    	    otherlv_3=(Token)match(input,133,FOLLOW_147); if (state.failed) return current;
                     	    if ( state.backtracking==0 ) {
 
                     	      					newLeafNode(otherlv_3, grammarAccess.getJvmParameterizedTypeReferenceAccess().getCommaKeyword_1_2_0());
                     	      				
                     	    }
-                    	    // InternalReportDSL.g:14359:5: ( (lv_arguments_4_0= ruleJvmArgumentTypeReference ) )
-                    	    // InternalReportDSL.g:14360:6: (lv_arguments_4_0= ruleJvmArgumentTypeReference )
+                    	    // InternalReportDSL.g:14668:5: ( (lv_arguments_4_0= ruleJvmArgumentTypeReference ) )
+                    	    // InternalReportDSL.g:14669:6: (lv_arguments_4_0= ruleJvmArgumentTypeReference )
                     	    {
-                    	    // InternalReportDSL.g:14360:6: (lv_arguments_4_0= ruleJvmArgumentTypeReference )
-                    	    // InternalReportDSL.g:14361:7: lv_arguments_4_0= ruleJvmArgumentTypeReference
+                    	    // InternalReportDSL.g:14669:6: (lv_arguments_4_0= ruleJvmArgumentTypeReference )
+                    	    // InternalReportDSL.g:14670:7: lv_arguments_4_0= ruleJvmArgumentTypeReference
                     	    {
                     	    if ( state.backtracking==0 ) {
 
                     	      							newCompositeNode(grammarAccess.getJvmParameterizedTypeReferenceAccess().getArgumentsJvmArgumentTypeReferenceParserRuleCall_1_2_1_0());
                     	      						
                     	    }
-                    	    pushFollow(FOLLOW_156);
+                    	    pushFollow(FOLLOW_148);
                     	    lv_arguments_4_0=ruleJvmArgumentTypeReference();
 
                     	    state._fsp--;
@@ -39001,30 +39847,30 @@
                     	    break;
 
                     	default :
-                    	    break loop222;
+                    	    break loop210;
                         }
                     } while (true);
 
-                    otherlv_5=(Token)match(input,145,FOLLOW_190); if (state.failed) return current;
+                    otherlv_5=(Token)match(input,144,FOLLOW_182); if (state.failed) return current;
                     if ( state.backtracking==0 ) {
 
                       				newLeafNode(otherlv_5, grammarAccess.getJvmParameterizedTypeReferenceAccess().getGreaterThanSignKeyword_1_3());
                       			
                     }
-                    // InternalReportDSL.g:14383:4: ( ( ( ( () '.' ) )=> ( () otherlv_7= '.' ) ) ( ( ruleValidID ) ) ( ( ( '<' )=>otherlv_9= '<' ) ( (lv_arguments_10_0= ruleJvmArgumentTypeReference ) ) (otherlv_11= ',' ( (lv_arguments_12_0= ruleJvmArgumentTypeReference ) ) )* otherlv_13= '>' )? )*
-                    loop225:
+                    // InternalReportDSL.g:14692:4: ( ( ( ( () '.' ) )=> ( () otherlv_7= '.' ) ) ( ( ruleValidID ) ) ( ( ( '<' )=>otherlv_9= '<' ) ( (lv_arguments_10_0= ruleJvmArgumentTypeReference ) ) (otherlv_11= ',' ( (lv_arguments_12_0= ruleJvmArgumentTypeReference ) ) )* otherlv_13= '>' )? )*
+                    loop213:
                     do {
-                        int alt225=2;
-                        int LA225_0 = input.LA(1);
+                        int alt213=2;
+                        int LA213_0 = input.LA(1);
 
-                        if ( (LA225_0==167) ) {
-                            int LA225_2 = input.LA(2);
+                        if ( (LA213_0==166) ) {
+                            int LA213_2 = input.LA(2);
 
-                            if ( (LA225_2==RULE_ID) ) {
-                                int LA225_3 = input.LA(3);
+                            if ( (LA213_2==RULE_ID) ) {
+                                int LA213_3 = input.LA(3);
 
                                 if ( (synpred51_InternalReportDSL()) ) {
-                                    alt225=1;
+                                    alt213=1;
                                 }
 
 
@@ -39034,18 +39880,18 @@
                         }
 
 
-                        switch (alt225) {
+                        switch (alt213) {
                     	case 1 :
-                    	    // InternalReportDSL.g:14384:5: ( ( ( () '.' ) )=> ( () otherlv_7= '.' ) ) ( ( ruleValidID ) ) ( ( ( '<' )=>otherlv_9= '<' ) ( (lv_arguments_10_0= ruleJvmArgumentTypeReference ) ) (otherlv_11= ',' ( (lv_arguments_12_0= ruleJvmArgumentTypeReference ) ) )* otherlv_13= '>' )?
+                    	    // InternalReportDSL.g:14693:5: ( ( ( () '.' ) )=> ( () otherlv_7= '.' ) ) ( ( ruleValidID ) ) ( ( ( '<' )=>otherlv_9= '<' ) ( (lv_arguments_10_0= ruleJvmArgumentTypeReference ) ) (otherlv_11= ',' ( (lv_arguments_12_0= ruleJvmArgumentTypeReference ) ) )* otherlv_13= '>' )?
                     	    {
-                    	    // InternalReportDSL.g:14384:5: ( ( ( () '.' ) )=> ( () otherlv_7= '.' ) )
-                    	    // InternalReportDSL.g:14385:6: ( ( () '.' ) )=> ( () otherlv_7= '.' )
+                    	    // InternalReportDSL.g:14693:5: ( ( ( () '.' ) )=> ( () otherlv_7= '.' ) )
+                    	    // InternalReportDSL.g:14694:6: ( ( () '.' ) )=> ( () otherlv_7= '.' )
                     	    {
-                    	    // InternalReportDSL.g:14391:6: ( () otherlv_7= '.' )
-                    	    // InternalReportDSL.g:14392:7: () otherlv_7= '.'
+                    	    // InternalReportDSL.g:14700:6: ( () otherlv_7= '.' )
+                    	    // InternalReportDSL.g:14701:7: () otherlv_7= '.'
                     	    {
-                    	    // InternalReportDSL.g:14392:7: ()
-                    	    // InternalReportDSL.g:14393:8: 
+                    	    // InternalReportDSL.g:14701:7: ()
+                    	    // InternalReportDSL.g:14702:8: 
                     	    {
                     	    if ( state.backtracking==0 ) {
 
@@ -39057,7 +39903,7 @@
 
                     	    }
 
-                    	    otherlv_7=(Token)match(input,167,FOLLOW_4); if (state.failed) return current;
+                    	    otherlv_7=(Token)match(input,166,FOLLOW_4); if (state.failed) return current;
                     	    if ( state.backtracking==0 ) {
 
                     	      							newLeafNode(otherlv_7, grammarAccess.getJvmParameterizedTypeReferenceAccess().getFullStopKeyword_1_4_0_0_1());
@@ -39069,11 +39915,11 @@
 
                     	    }
 
-                    	    // InternalReportDSL.g:14405:5: ( ( ruleValidID ) )
-                    	    // InternalReportDSL.g:14406:6: ( ruleValidID )
+                    	    // InternalReportDSL.g:14714:5: ( ( ruleValidID ) )
+                    	    // InternalReportDSL.g:14715:6: ( ruleValidID )
                     	    {
-                    	    // InternalReportDSL.g:14406:6: ( ruleValidID )
-                    	    // InternalReportDSL.g:14407:7: ruleValidID
+                    	    // InternalReportDSL.g:14715:6: ( ruleValidID )
+                    	    // InternalReportDSL.g:14716:7: ruleValidID
                     	    {
                     	    if ( state.backtracking==0 ) {
 
@@ -39087,7 +39933,7 @@
                     	      							newCompositeNode(grammarAccess.getJvmParameterizedTypeReferenceAccess().getTypeJvmTypeCrossReference_1_4_1_0());
                     	      						
                     	    }
-                    	    pushFollow(FOLLOW_195);
+                    	    pushFollow(FOLLOW_187);
                     	    ruleValidID();
 
                     	    state._fsp--;
@@ -39103,17 +39949,17 @@
 
                     	    }
 
-                    	    // InternalReportDSL.g:14421:5: ( ( ( '<' )=>otherlv_9= '<' ) ( (lv_arguments_10_0= ruleJvmArgumentTypeReference ) ) (otherlv_11= ',' ( (lv_arguments_12_0= ruleJvmArgumentTypeReference ) ) )* otherlv_13= '>' )?
-                    	    int alt224=2;
-                    	    alt224 = dfa224.predict(input);
-                    	    switch (alt224) {
+                    	    // InternalReportDSL.g:14730:5: ( ( ( '<' )=>otherlv_9= '<' ) ( (lv_arguments_10_0= ruleJvmArgumentTypeReference ) ) (otherlv_11= ',' ( (lv_arguments_12_0= ruleJvmArgumentTypeReference ) ) )* otherlv_13= '>' )?
+                    	    int alt212=2;
+                    	    alt212 = dfa212.predict(input);
+                    	    switch (alt212) {
                     	        case 1 :
-                    	            // InternalReportDSL.g:14422:6: ( ( '<' )=>otherlv_9= '<' ) ( (lv_arguments_10_0= ruleJvmArgumentTypeReference ) ) (otherlv_11= ',' ( (lv_arguments_12_0= ruleJvmArgumentTypeReference ) ) )* otherlv_13= '>'
+                    	            // InternalReportDSL.g:14731:6: ( ( '<' )=>otherlv_9= '<' ) ( (lv_arguments_10_0= ruleJvmArgumentTypeReference ) ) (otherlv_11= ',' ( (lv_arguments_12_0= ruleJvmArgumentTypeReference ) ) )* otherlv_13= '>'
                     	            {
-                    	            // InternalReportDSL.g:14422:6: ( ( '<' )=>otherlv_9= '<' )
-                    	            // InternalReportDSL.g:14423:7: ( '<' )=>otherlv_9= '<'
+                    	            // InternalReportDSL.g:14731:6: ( ( '<' )=>otherlv_9= '<' )
+                    	            // InternalReportDSL.g:14732:7: ( '<' )=>otherlv_9= '<'
                     	            {
-                    	            otherlv_9=(Token)match(input,144,FOLLOW_155); if (state.failed) return current;
+                    	            otherlv_9=(Token)match(input,143,FOLLOW_147); if (state.failed) return current;
                     	            if ( state.backtracking==0 ) {
 
                     	              							newLeafNode(otherlv_9, grammarAccess.getJvmParameterizedTypeReferenceAccess().getLessThanSignKeyword_1_4_2_0());
@@ -39122,18 +39968,18 @@
 
                     	            }
 
-                    	            // InternalReportDSL.g:14429:6: ( (lv_arguments_10_0= ruleJvmArgumentTypeReference ) )
-                    	            // InternalReportDSL.g:14430:7: (lv_arguments_10_0= ruleJvmArgumentTypeReference )
+                    	            // InternalReportDSL.g:14738:6: ( (lv_arguments_10_0= ruleJvmArgumentTypeReference ) )
+                    	            // InternalReportDSL.g:14739:7: (lv_arguments_10_0= ruleJvmArgumentTypeReference )
                     	            {
-                    	            // InternalReportDSL.g:14430:7: (lv_arguments_10_0= ruleJvmArgumentTypeReference )
-                    	            // InternalReportDSL.g:14431:8: lv_arguments_10_0= ruleJvmArgumentTypeReference
+                    	            // InternalReportDSL.g:14739:7: (lv_arguments_10_0= ruleJvmArgumentTypeReference )
+                    	            // InternalReportDSL.g:14740:8: lv_arguments_10_0= ruleJvmArgumentTypeReference
                     	            {
                     	            if ( state.backtracking==0 ) {
 
                     	              								newCompositeNode(grammarAccess.getJvmParameterizedTypeReferenceAccess().getArgumentsJvmArgumentTypeReferenceParserRuleCall_1_4_2_1_0());
                     	              							
                     	            }
-                    	            pushFollow(FOLLOW_156);
+                    	            pushFollow(FOLLOW_148);
                     	            lv_arguments_10_0=ruleJvmArgumentTypeReference();
 
                     	            state._fsp--;
@@ -39157,39 +40003,39 @@
 
                     	            }
 
-                    	            // InternalReportDSL.g:14448:6: (otherlv_11= ',' ( (lv_arguments_12_0= ruleJvmArgumentTypeReference ) ) )*
-                    	            loop223:
+                    	            // InternalReportDSL.g:14757:6: (otherlv_11= ',' ( (lv_arguments_12_0= ruleJvmArgumentTypeReference ) ) )*
+                    	            loop211:
                     	            do {
-                    	                int alt223=2;
-                    	                int LA223_0 = input.LA(1);
+                    	                int alt211=2;
+                    	                int LA211_0 = input.LA(1);
 
-                    	                if ( (LA223_0==134) ) {
-                    	                    alt223=1;
+                    	                if ( (LA211_0==133) ) {
+                    	                    alt211=1;
                     	                }
 
 
-                    	                switch (alt223) {
+                    	                switch (alt211) {
                     	            	case 1 :
-                    	            	    // InternalReportDSL.g:14449:7: otherlv_11= ',' ( (lv_arguments_12_0= ruleJvmArgumentTypeReference ) )
+                    	            	    // InternalReportDSL.g:14758:7: otherlv_11= ',' ( (lv_arguments_12_0= ruleJvmArgumentTypeReference ) )
                     	            	    {
-                    	            	    otherlv_11=(Token)match(input,134,FOLLOW_155); if (state.failed) return current;
+                    	            	    otherlv_11=(Token)match(input,133,FOLLOW_147); if (state.failed) return current;
                     	            	    if ( state.backtracking==0 ) {
 
                     	            	      							newLeafNode(otherlv_11, grammarAccess.getJvmParameterizedTypeReferenceAccess().getCommaKeyword_1_4_2_2_0());
                     	            	      						
                     	            	    }
-                    	            	    // InternalReportDSL.g:14453:7: ( (lv_arguments_12_0= ruleJvmArgumentTypeReference ) )
-                    	            	    // InternalReportDSL.g:14454:8: (lv_arguments_12_0= ruleJvmArgumentTypeReference )
+                    	            	    // InternalReportDSL.g:14762:7: ( (lv_arguments_12_0= ruleJvmArgumentTypeReference ) )
+                    	            	    // InternalReportDSL.g:14763:8: (lv_arguments_12_0= ruleJvmArgumentTypeReference )
                     	            	    {
-                    	            	    // InternalReportDSL.g:14454:8: (lv_arguments_12_0= ruleJvmArgumentTypeReference )
-                    	            	    // InternalReportDSL.g:14455:9: lv_arguments_12_0= ruleJvmArgumentTypeReference
+                    	            	    // InternalReportDSL.g:14763:8: (lv_arguments_12_0= ruleJvmArgumentTypeReference )
+                    	            	    // InternalReportDSL.g:14764:9: lv_arguments_12_0= ruleJvmArgumentTypeReference
                     	            	    {
                     	            	    if ( state.backtracking==0 ) {
 
                     	            	      									newCompositeNode(grammarAccess.getJvmParameterizedTypeReferenceAccess().getArgumentsJvmArgumentTypeReferenceParserRuleCall_1_4_2_2_1_0());
                     	            	      								
                     	            	    }
-                    	            	    pushFollow(FOLLOW_156);
+                    	            	    pushFollow(FOLLOW_148);
                     	            	    lv_arguments_12_0=ruleJvmArgumentTypeReference();
 
                     	            	    state._fsp--;
@@ -39218,11 +40064,11 @@
                     	            	    break;
 
                     	            	default :
-                    	            	    break loop223;
+                    	            	    break loop211;
                     	                }
                     	            } while (true);
 
-                    	            otherlv_13=(Token)match(input,145,FOLLOW_190); if (state.failed) return current;
+                    	            otherlv_13=(Token)match(input,144,FOLLOW_182); if (state.failed) return current;
                     	            if ( state.backtracking==0 ) {
 
                     	              						newLeafNode(otherlv_13, grammarAccess.getJvmParameterizedTypeReferenceAccess().getGreaterThanSignKeyword_1_4_2_3());
@@ -39239,7 +40085,7 @@
                     	    break;
 
                     	default :
-                    	    break loop225;
+                    	    break loop213;
                         }
                     } while (true);
 
@@ -39274,7 +40120,7 @@
 
 
     // $ANTLR start "entryRuleJvmArgumentTypeReference"
-    // InternalReportDSL.g:14484:1: entryRuleJvmArgumentTypeReference returns [EObject current=null] : iv_ruleJvmArgumentTypeReference= ruleJvmArgumentTypeReference EOF ;
+    // InternalReportDSL.g:14793:1: entryRuleJvmArgumentTypeReference returns [EObject current=null] : iv_ruleJvmArgumentTypeReference= ruleJvmArgumentTypeReference EOF ;
     public final EObject entryRuleJvmArgumentTypeReference() throws RecognitionException {
         EObject current = null;
 
@@ -39282,8 +40128,8 @@
 
 
         try {
-            // InternalReportDSL.g:14484:65: (iv_ruleJvmArgumentTypeReference= ruleJvmArgumentTypeReference EOF )
-            // InternalReportDSL.g:14485:2: iv_ruleJvmArgumentTypeReference= ruleJvmArgumentTypeReference EOF
+            // InternalReportDSL.g:14793:65: (iv_ruleJvmArgumentTypeReference= ruleJvmArgumentTypeReference EOF )
+            // InternalReportDSL.g:14794:2: iv_ruleJvmArgumentTypeReference= ruleJvmArgumentTypeReference EOF
             {
             if ( state.backtracking==0 ) {
                newCompositeNode(grammarAccess.getJvmArgumentTypeReferenceRule()); 
@@ -39314,7 +40160,7 @@
 
 
     // $ANTLR start "ruleJvmArgumentTypeReference"
-    // InternalReportDSL.g:14491:1: ruleJvmArgumentTypeReference returns [EObject current=null] : (this_JvmTypeReference_0= ruleJvmTypeReference | this_JvmWildcardTypeReference_1= ruleJvmWildcardTypeReference ) ;
+    // InternalReportDSL.g:14800:1: ruleJvmArgumentTypeReference returns [EObject current=null] : (this_JvmTypeReference_0= ruleJvmTypeReference | this_JvmWildcardTypeReference_1= ruleJvmWildcardTypeReference ) ;
     public final EObject ruleJvmArgumentTypeReference() throws RecognitionException {
         EObject current = null;
 
@@ -39327,29 +40173,29 @@
         	enterRule();
 
         try {
-            // InternalReportDSL.g:14497:2: ( (this_JvmTypeReference_0= ruleJvmTypeReference | this_JvmWildcardTypeReference_1= ruleJvmWildcardTypeReference ) )
-            // InternalReportDSL.g:14498:2: (this_JvmTypeReference_0= ruleJvmTypeReference | this_JvmWildcardTypeReference_1= ruleJvmWildcardTypeReference )
+            // InternalReportDSL.g:14806:2: ( (this_JvmTypeReference_0= ruleJvmTypeReference | this_JvmWildcardTypeReference_1= ruleJvmWildcardTypeReference ) )
+            // InternalReportDSL.g:14807:2: (this_JvmTypeReference_0= ruleJvmTypeReference | this_JvmWildcardTypeReference_1= ruleJvmWildcardTypeReference )
             {
-            // InternalReportDSL.g:14498:2: (this_JvmTypeReference_0= ruleJvmTypeReference | this_JvmWildcardTypeReference_1= ruleJvmWildcardTypeReference )
-            int alt227=2;
-            int LA227_0 = input.LA(1);
+            // InternalReportDSL.g:14807:2: (this_JvmTypeReference_0= ruleJvmTypeReference | this_JvmWildcardTypeReference_1= ruleJvmWildcardTypeReference )
+            int alt215=2;
+            int LA215_0 = input.LA(1);
 
-            if ( (LA227_0==RULE_ID||LA227_0==103||LA227_0==157) ) {
-                alt227=1;
+            if ( (LA215_0==RULE_ID||LA215_0==102||LA215_0==156) ) {
+                alt215=1;
             }
-            else if ( (LA227_0==194) ) {
-                alt227=2;
+            else if ( (LA215_0==193) ) {
+                alt215=2;
             }
             else {
                 if (state.backtracking>0) {state.failed=true; return current;}
                 NoViableAltException nvae =
-                    new NoViableAltException("", 227, 0, input);
+                    new NoViableAltException("", 215, 0, input);
 
                 throw nvae;
             }
-            switch (alt227) {
+            switch (alt215) {
                 case 1 :
-                    // InternalReportDSL.g:14499:3: this_JvmTypeReference_0= ruleJvmTypeReference
+                    // InternalReportDSL.g:14808:3: this_JvmTypeReference_0= ruleJvmTypeReference
                     {
                     if ( state.backtracking==0 ) {
 
@@ -39371,7 +40217,7 @@
                     }
                     break;
                 case 2 :
-                    // InternalReportDSL.g:14508:3: this_JvmWildcardTypeReference_1= ruleJvmWildcardTypeReference
+                    // InternalReportDSL.g:14817:3: this_JvmWildcardTypeReference_1= ruleJvmWildcardTypeReference
                     {
                     if ( state.backtracking==0 ) {
 
@@ -39417,7 +40263,7 @@
 
 
     // $ANTLR start "entryRuleJvmWildcardTypeReference"
-    // InternalReportDSL.g:14520:1: entryRuleJvmWildcardTypeReference returns [EObject current=null] : iv_ruleJvmWildcardTypeReference= ruleJvmWildcardTypeReference EOF ;
+    // InternalReportDSL.g:14829:1: entryRuleJvmWildcardTypeReference returns [EObject current=null] : iv_ruleJvmWildcardTypeReference= ruleJvmWildcardTypeReference EOF ;
     public final EObject entryRuleJvmWildcardTypeReference() throws RecognitionException {
         EObject current = null;
 
@@ -39425,8 +40271,8 @@
 
 
         try {
-            // InternalReportDSL.g:14520:65: (iv_ruleJvmWildcardTypeReference= ruleJvmWildcardTypeReference EOF )
-            // InternalReportDSL.g:14521:2: iv_ruleJvmWildcardTypeReference= ruleJvmWildcardTypeReference EOF
+            // InternalReportDSL.g:14829:65: (iv_ruleJvmWildcardTypeReference= ruleJvmWildcardTypeReference EOF )
+            // InternalReportDSL.g:14830:2: iv_ruleJvmWildcardTypeReference= ruleJvmWildcardTypeReference EOF
             {
             if ( state.backtracking==0 ) {
                newCompositeNode(grammarAccess.getJvmWildcardTypeReferenceRule()); 
@@ -39457,7 +40303,7 @@
 
 
     // $ANTLR start "ruleJvmWildcardTypeReference"
-    // InternalReportDSL.g:14527:1: ruleJvmWildcardTypeReference returns [EObject current=null] : ( () otherlv_1= '?' ( ( ( (lv_constraints_2_0= ruleJvmUpperBound ) ) ( (lv_constraints_3_0= ruleJvmUpperBoundAnded ) )* ) | ( ( (lv_constraints_4_0= ruleJvmLowerBound ) ) ( (lv_constraints_5_0= ruleJvmLowerBoundAnded ) )* ) )? ) ;
+    // InternalReportDSL.g:14836:1: ruleJvmWildcardTypeReference returns [EObject current=null] : ( () otherlv_1= '?' ( ( ( (lv_constraints_2_0= ruleJvmUpperBound ) ) ( (lv_constraints_3_0= ruleJvmUpperBoundAnded ) )* ) | ( ( (lv_constraints_4_0= ruleJvmLowerBound ) ) ( (lv_constraints_5_0= ruleJvmLowerBoundAnded ) )* ) )? ) ;
     public final EObject ruleJvmWildcardTypeReference() throws RecognitionException {
         EObject current = null;
 
@@ -39475,14 +40321,14 @@
         	enterRule();
 
         try {
-            // InternalReportDSL.g:14533:2: ( ( () otherlv_1= '?' ( ( ( (lv_constraints_2_0= ruleJvmUpperBound ) ) ( (lv_constraints_3_0= ruleJvmUpperBoundAnded ) )* ) | ( ( (lv_constraints_4_0= ruleJvmLowerBound ) ) ( (lv_constraints_5_0= ruleJvmLowerBoundAnded ) )* ) )? ) )
-            // InternalReportDSL.g:14534:2: ( () otherlv_1= '?' ( ( ( (lv_constraints_2_0= ruleJvmUpperBound ) ) ( (lv_constraints_3_0= ruleJvmUpperBoundAnded ) )* ) | ( ( (lv_constraints_4_0= ruleJvmLowerBound ) ) ( (lv_constraints_5_0= ruleJvmLowerBoundAnded ) )* ) )? )
+            // InternalReportDSL.g:14842:2: ( ( () otherlv_1= '?' ( ( ( (lv_constraints_2_0= ruleJvmUpperBound ) ) ( (lv_constraints_3_0= ruleJvmUpperBoundAnded ) )* ) | ( ( (lv_constraints_4_0= ruleJvmLowerBound ) ) ( (lv_constraints_5_0= ruleJvmLowerBoundAnded ) )* ) )? ) )
+            // InternalReportDSL.g:14843:2: ( () otherlv_1= '?' ( ( ( (lv_constraints_2_0= ruleJvmUpperBound ) ) ( (lv_constraints_3_0= ruleJvmUpperBoundAnded ) )* ) | ( ( (lv_constraints_4_0= ruleJvmLowerBound ) ) ( (lv_constraints_5_0= ruleJvmLowerBoundAnded ) )* ) )? )
             {
-            // InternalReportDSL.g:14534:2: ( () otherlv_1= '?' ( ( ( (lv_constraints_2_0= ruleJvmUpperBound ) ) ( (lv_constraints_3_0= ruleJvmUpperBoundAnded ) )* ) | ( ( (lv_constraints_4_0= ruleJvmLowerBound ) ) ( (lv_constraints_5_0= ruleJvmLowerBoundAnded ) )* ) )? )
-            // InternalReportDSL.g:14535:3: () otherlv_1= '?' ( ( ( (lv_constraints_2_0= ruleJvmUpperBound ) ) ( (lv_constraints_3_0= ruleJvmUpperBoundAnded ) )* ) | ( ( (lv_constraints_4_0= ruleJvmLowerBound ) ) ( (lv_constraints_5_0= ruleJvmLowerBoundAnded ) )* ) )?
+            // InternalReportDSL.g:14843:2: ( () otherlv_1= '?' ( ( ( (lv_constraints_2_0= ruleJvmUpperBound ) ) ( (lv_constraints_3_0= ruleJvmUpperBoundAnded ) )* ) | ( ( (lv_constraints_4_0= ruleJvmLowerBound ) ) ( (lv_constraints_5_0= ruleJvmLowerBoundAnded ) )* ) )? )
+            // InternalReportDSL.g:14844:3: () otherlv_1= '?' ( ( ( (lv_constraints_2_0= ruleJvmUpperBound ) ) ( (lv_constraints_3_0= ruleJvmUpperBoundAnded ) )* ) | ( ( (lv_constraints_4_0= ruleJvmLowerBound ) ) ( (lv_constraints_5_0= ruleJvmLowerBoundAnded ) )* ) )?
             {
-            // InternalReportDSL.g:14535:3: ()
-            // InternalReportDSL.g:14536:4: 
+            // InternalReportDSL.g:14844:3: ()
+            // InternalReportDSL.g:14845:4: 
             {
             if ( state.backtracking==0 ) {
 
@@ -39494,41 +40340,41 @@
 
             }
 
-            otherlv_1=(Token)match(input,194,FOLLOW_196); if (state.failed) return current;
+            otherlv_1=(Token)match(input,193,FOLLOW_188); if (state.failed) return current;
             if ( state.backtracking==0 ) {
 
               			newLeafNode(otherlv_1, grammarAccess.getJvmWildcardTypeReferenceAccess().getQuestionMarkKeyword_1());
               		
             }
-            // InternalReportDSL.g:14546:3: ( ( ( (lv_constraints_2_0= ruleJvmUpperBound ) ) ( (lv_constraints_3_0= ruleJvmUpperBoundAnded ) )* ) | ( ( (lv_constraints_4_0= ruleJvmLowerBound ) ) ( (lv_constraints_5_0= ruleJvmLowerBoundAnded ) )* ) )?
-            int alt230=3;
-            int LA230_0 = input.LA(1);
+            // InternalReportDSL.g:14855:3: ( ( ( (lv_constraints_2_0= ruleJvmUpperBound ) ) ( (lv_constraints_3_0= ruleJvmUpperBoundAnded ) )* ) | ( ( (lv_constraints_4_0= ruleJvmLowerBound ) ) ( (lv_constraints_5_0= ruleJvmLowerBoundAnded ) )* ) )?
+            int alt218=3;
+            int LA218_0 = input.LA(1);
 
-            if ( (LA230_0==39) ) {
-                alt230=1;
+            if ( (LA218_0==39) ) {
+                alt218=1;
             }
-            else if ( (LA230_0==182) ) {
-                alt230=2;
+            else if ( (LA218_0==181) ) {
+                alt218=2;
             }
-            switch (alt230) {
+            switch (alt218) {
                 case 1 :
-                    // InternalReportDSL.g:14547:4: ( ( (lv_constraints_2_0= ruleJvmUpperBound ) ) ( (lv_constraints_3_0= ruleJvmUpperBoundAnded ) )* )
+                    // InternalReportDSL.g:14856:4: ( ( (lv_constraints_2_0= ruleJvmUpperBound ) ) ( (lv_constraints_3_0= ruleJvmUpperBoundAnded ) )* )
                     {
-                    // InternalReportDSL.g:14547:4: ( ( (lv_constraints_2_0= ruleJvmUpperBound ) ) ( (lv_constraints_3_0= ruleJvmUpperBoundAnded ) )* )
-                    // InternalReportDSL.g:14548:5: ( (lv_constraints_2_0= ruleJvmUpperBound ) ) ( (lv_constraints_3_0= ruleJvmUpperBoundAnded ) )*
+                    // InternalReportDSL.g:14856:4: ( ( (lv_constraints_2_0= ruleJvmUpperBound ) ) ( (lv_constraints_3_0= ruleJvmUpperBoundAnded ) )* )
+                    // InternalReportDSL.g:14857:5: ( (lv_constraints_2_0= ruleJvmUpperBound ) ) ( (lv_constraints_3_0= ruleJvmUpperBoundAnded ) )*
                     {
-                    // InternalReportDSL.g:14548:5: ( (lv_constraints_2_0= ruleJvmUpperBound ) )
-                    // InternalReportDSL.g:14549:6: (lv_constraints_2_0= ruleJvmUpperBound )
+                    // InternalReportDSL.g:14857:5: ( (lv_constraints_2_0= ruleJvmUpperBound ) )
+                    // InternalReportDSL.g:14858:6: (lv_constraints_2_0= ruleJvmUpperBound )
                     {
-                    // InternalReportDSL.g:14549:6: (lv_constraints_2_0= ruleJvmUpperBound )
-                    // InternalReportDSL.g:14550:7: lv_constraints_2_0= ruleJvmUpperBound
+                    // InternalReportDSL.g:14858:6: (lv_constraints_2_0= ruleJvmUpperBound )
+                    // InternalReportDSL.g:14859:7: lv_constraints_2_0= ruleJvmUpperBound
                     {
                     if ( state.backtracking==0 ) {
 
                       							newCompositeNode(grammarAccess.getJvmWildcardTypeReferenceAccess().getConstraintsJvmUpperBoundParserRuleCall_2_0_0_0());
                       						
                     }
-                    pushFollow(FOLLOW_197);
+                    pushFollow(FOLLOW_189);
                     lv_constraints_2_0=ruleJvmUpperBound();
 
                     state._fsp--;
@@ -39552,30 +40398,30 @@
 
                     }
 
-                    // InternalReportDSL.g:14567:5: ( (lv_constraints_3_0= ruleJvmUpperBoundAnded ) )*
-                    loop228:
+                    // InternalReportDSL.g:14876:5: ( (lv_constraints_3_0= ruleJvmUpperBoundAnded ) )*
+                    loop216:
                     do {
-                        int alt228=2;
-                        int LA228_0 = input.LA(1);
+                        int alt216=2;
+                        int LA216_0 = input.LA(1);
 
-                        if ( (LA228_0==195) ) {
-                            alt228=1;
+                        if ( (LA216_0==194) ) {
+                            alt216=1;
                         }
 
 
-                        switch (alt228) {
+                        switch (alt216) {
                     	case 1 :
-                    	    // InternalReportDSL.g:14568:6: (lv_constraints_3_0= ruleJvmUpperBoundAnded )
+                    	    // InternalReportDSL.g:14877:6: (lv_constraints_3_0= ruleJvmUpperBoundAnded )
                     	    {
-                    	    // InternalReportDSL.g:14568:6: (lv_constraints_3_0= ruleJvmUpperBoundAnded )
-                    	    // InternalReportDSL.g:14569:7: lv_constraints_3_0= ruleJvmUpperBoundAnded
+                    	    // InternalReportDSL.g:14877:6: (lv_constraints_3_0= ruleJvmUpperBoundAnded )
+                    	    // InternalReportDSL.g:14878:7: lv_constraints_3_0= ruleJvmUpperBoundAnded
                     	    {
                     	    if ( state.backtracking==0 ) {
 
                     	      							newCompositeNode(grammarAccess.getJvmWildcardTypeReferenceAccess().getConstraintsJvmUpperBoundAndedParserRuleCall_2_0_1_0());
                     	      						
                     	    }
-                    	    pushFollow(FOLLOW_197);
+                    	    pushFollow(FOLLOW_189);
                     	    lv_constraints_3_0=ruleJvmUpperBoundAnded();
 
                     	    state._fsp--;
@@ -39601,7 +40447,7 @@
                     	    break;
 
                     	default :
-                    	    break loop228;
+                    	    break loop216;
                         }
                     } while (true);
 
@@ -39612,23 +40458,23 @@
                     }
                     break;
                 case 2 :
-                    // InternalReportDSL.g:14588:4: ( ( (lv_constraints_4_0= ruleJvmLowerBound ) ) ( (lv_constraints_5_0= ruleJvmLowerBoundAnded ) )* )
+                    // InternalReportDSL.g:14897:4: ( ( (lv_constraints_4_0= ruleJvmLowerBound ) ) ( (lv_constraints_5_0= ruleJvmLowerBoundAnded ) )* )
                     {
-                    // InternalReportDSL.g:14588:4: ( ( (lv_constraints_4_0= ruleJvmLowerBound ) ) ( (lv_constraints_5_0= ruleJvmLowerBoundAnded ) )* )
-                    // InternalReportDSL.g:14589:5: ( (lv_constraints_4_0= ruleJvmLowerBound ) ) ( (lv_constraints_5_0= ruleJvmLowerBoundAnded ) )*
+                    // InternalReportDSL.g:14897:4: ( ( (lv_constraints_4_0= ruleJvmLowerBound ) ) ( (lv_constraints_5_0= ruleJvmLowerBoundAnded ) )* )
+                    // InternalReportDSL.g:14898:5: ( (lv_constraints_4_0= ruleJvmLowerBound ) ) ( (lv_constraints_5_0= ruleJvmLowerBoundAnded ) )*
                     {
-                    // InternalReportDSL.g:14589:5: ( (lv_constraints_4_0= ruleJvmLowerBound ) )
-                    // InternalReportDSL.g:14590:6: (lv_constraints_4_0= ruleJvmLowerBound )
+                    // InternalReportDSL.g:14898:5: ( (lv_constraints_4_0= ruleJvmLowerBound ) )
+                    // InternalReportDSL.g:14899:6: (lv_constraints_4_0= ruleJvmLowerBound )
                     {
-                    // InternalReportDSL.g:14590:6: (lv_constraints_4_0= ruleJvmLowerBound )
-                    // InternalReportDSL.g:14591:7: lv_constraints_4_0= ruleJvmLowerBound
+                    // InternalReportDSL.g:14899:6: (lv_constraints_4_0= ruleJvmLowerBound )
+                    // InternalReportDSL.g:14900:7: lv_constraints_4_0= ruleJvmLowerBound
                     {
                     if ( state.backtracking==0 ) {
 
                       							newCompositeNode(grammarAccess.getJvmWildcardTypeReferenceAccess().getConstraintsJvmLowerBoundParserRuleCall_2_1_0_0());
                       						
                     }
-                    pushFollow(FOLLOW_197);
+                    pushFollow(FOLLOW_189);
                     lv_constraints_4_0=ruleJvmLowerBound();
 
                     state._fsp--;
@@ -39652,30 +40498,30 @@
 
                     }
 
-                    // InternalReportDSL.g:14608:5: ( (lv_constraints_5_0= ruleJvmLowerBoundAnded ) )*
-                    loop229:
+                    // InternalReportDSL.g:14917:5: ( (lv_constraints_5_0= ruleJvmLowerBoundAnded ) )*
+                    loop217:
                     do {
-                        int alt229=2;
-                        int LA229_0 = input.LA(1);
+                        int alt217=2;
+                        int LA217_0 = input.LA(1);
 
-                        if ( (LA229_0==195) ) {
-                            alt229=1;
+                        if ( (LA217_0==194) ) {
+                            alt217=1;
                         }
 
 
-                        switch (alt229) {
+                        switch (alt217) {
                     	case 1 :
-                    	    // InternalReportDSL.g:14609:6: (lv_constraints_5_0= ruleJvmLowerBoundAnded )
+                    	    // InternalReportDSL.g:14918:6: (lv_constraints_5_0= ruleJvmLowerBoundAnded )
                     	    {
-                    	    // InternalReportDSL.g:14609:6: (lv_constraints_5_0= ruleJvmLowerBoundAnded )
-                    	    // InternalReportDSL.g:14610:7: lv_constraints_5_0= ruleJvmLowerBoundAnded
+                    	    // InternalReportDSL.g:14918:6: (lv_constraints_5_0= ruleJvmLowerBoundAnded )
+                    	    // InternalReportDSL.g:14919:7: lv_constraints_5_0= ruleJvmLowerBoundAnded
                     	    {
                     	    if ( state.backtracking==0 ) {
 
                     	      							newCompositeNode(grammarAccess.getJvmWildcardTypeReferenceAccess().getConstraintsJvmLowerBoundAndedParserRuleCall_2_1_1_0());
                     	      						
                     	    }
-                    	    pushFollow(FOLLOW_197);
+                    	    pushFollow(FOLLOW_189);
                     	    lv_constraints_5_0=ruleJvmLowerBoundAnded();
 
                     	    state._fsp--;
@@ -39701,7 +40547,7 @@
                     	    break;
 
                     	default :
-                    	    break loop229;
+                    	    break loop217;
                         }
                     } while (true);
 
@@ -39739,7 +40585,7 @@
 
 
     // $ANTLR start "entryRuleJvmUpperBound"
-    // InternalReportDSL.g:14633:1: entryRuleJvmUpperBound returns [EObject current=null] : iv_ruleJvmUpperBound= ruleJvmUpperBound EOF ;
+    // InternalReportDSL.g:14942:1: entryRuleJvmUpperBound returns [EObject current=null] : iv_ruleJvmUpperBound= ruleJvmUpperBound EOF ;
     public final EObject entryRuleJvmUpperBound() throws RecognitionException {
         EObject current = null;
 
@@ -39747,8 +40593,8 @@
 
 
         try {
-            // InternalReportDSL.g:14633:54: (iv_ruleJvmUpperBound= ruleJvmUpperBound EOF )
-            // InternalReportDSL.g:14634:2: iv_ruleJvmUpperBound= ruleJvmUpperBound EOF
+            // InternalReportDSL.g:14942:54: (iv_ruleJvmUpperBound= ruleJvmUpperBound EOF )
+            // InternalReportDSL.g:14943:2: iv_ruleJvmUpperBound= ruleJvmUpperBound EOF
             {
             if ( state.backtracking==0 ) {
                newCompositeNode(grammarAccess.getJvmUpperBoundRule()); 
@@ -39779,7 +40625,7 @@
 
 
     // $ANTLR start "ruleJvmUpperBound"
-    // InternalReportDSL.g:14640:1: ruleJvmUpperBound returns [EObject current=null] : (otherlv_0= 'extends' ( (lv_typeReference_1_0= ruleJvmTypeReference ) ) ) ;
+    // InternalReportDSL.g:14949:1: ruleJvmUpperBound returns [EObject current=null] : (otherlv_0= 'extends' ( (lv_typeReference_1_0= ruleJvmTypeReference ) ) ) ;
     public final EObject ruleJvmUpperBound() throws RecognitionException {
         EObject current = null;
 
@@ -39791,23 +40637,23 @@
         	enterRule();
 
         try {
-            // InternalReportDSL.g:14646:2: ( (otherlv_0= 'extends' ( (lv_typeReference_1_0= ruleJvmTypeReference ) ) ) )
-            // InternalReportDSL.g:14647:2: (otherlv_0= 'extends' ( (lv_typeReference_1_0= ruleJvmTypeReference ) ) )
+            // InternalReportDSL.g:14955:2: ( (otherlv_0= 'extends' ( (lv_typeReference_1_0= ruleJvmTypeReference ) ) ) )
+            // InternalReportDSL.g:14956:2: (otherlv_0= 'extends' ( (lv_typeReference_1_0= ruleJvmTypeReference ) ) )
             {
-            // InternalReportDSL.g:14647:2: (otherlv_0= 'extends' ( (lv_typeReference_1_0= ruleJvmTypeReference ) ) )
-            // InternalReportDSL.g:14648:3: otherlv_0= 'extends' ( (lv_typeReference_1_0= ruleJvmTypeReference ) )
+            // InternalReportDSL.g:14956:2: (otherlv_0= 'extends' ( (lv_typeReference_1_0= ruleJvmTypeReference ) ) )
+            // InternalReportDSL.g:14957:3: otherlv_0= 'extends' ( (lv_typeReference_1_0= ruleJvmTypeReference ) )
             {
-            otherlv_0=(Token)match(input,39,FOLLOW_143); if (state.failed) return current;
+            otherlv_0=(Token)match(input,39,FOLLOW_135); if (state.failed) return current;
             if ( state.backtracking==0 ) {
 
               			newLeafNode(otherlv_0, grammarAccess.getJvmUpperBoundAccess().getExtendsKeyword_0());
               		
             }
-            // InternalReportDSL.g:14652:3: ( (lv_typeReference_1_0= ruleJvmTypeReference ) )
-            // InternalReportDSL.g:14653:4: (lv_typeReference_1_0= ruleJvmTypeReference )
+            // InternalReportDSL.g:14961:3: ( (lv_typeReference_1_0= ruleJvmTypeReference ) )
+            // InternalReportDSL.g:14962:4: (lv_typeReference_1_0= ruleJvmTypeReference )
             {
-            // InternalReportDSL.g:14653:4: (lv_typeReference_1_0= ruleJvmTypeReference )
-            // InternalReportDSL.g:14654:5: lv_typeReference_1_0= ruleJvmTypeReference
+            // InternalReportDSL.g:14962:4: (lv_typeReference_1_0= ruleJvmTypeReference )
+            // InternalReportDSL.g:14963:5: lv_typeReference_1_0= ruleJvmTypeReference
             {
             if ( state.backtracking==0 ) {
 
@@ -39863,7 +40709,7 @@
 
 
     // $ANTLR start "entryRuleJvmUpperBoundAnded"
-    // InternalReportDSL.g:14675:1: entryRuleJvmUpperBoundAnded returns [EObject current=null] : iv_ruleJvmUpperBoundAnded= ruleJvmUpperBoundAnded EOF ;
+    // InternalReportDSL.g:14984:1: entryRuleJvmUpperBoundAnded returns [EObject current=null] : iv_ruleJvmUpperBoundAnded= ruleJvmUpperBoundAnded EOF ;
     public final EObject entryRuleJvmUpperBoundAnded() throws RecognitionException {
         EObject current = null;
 
@@ -39871,8 +40717,8 @@
 
 
         try {
-            // InternalReportDSL.g:14675:59: (iv_ruleJvmUpperBoundAnded= ruleJvmUpperBoundAnded EOF )
-            // InternalReportDSL.g:14676:2: iv_ruleJvmUpperBoundAnded= ruleJvmUpperBoundAnded EOF
+            // InternalReportDSL.g:14984:59: (iv_ruleJvmUpperBoundAnded= ruleJvmUpperBoundAnded EOF )
+            // InternalReportDSL.g:14985:2: iv_ruleJvmUpperBoundAnded= ruleJvmUpperBoundAnded EOF
             {
             if ( state.backtracking==0 ) {
                newCompositeNode(grammarAccess.getJvmUpperBoundAndedRule()); 
@@ -39903,7 +40749,7 @@
 
 
     // $ANTLR start "ruleJvmUpperBoundAnded"
-    // InternalReportDSL.g:14682:1: ruleJvmUpperBoundAnded returns [EObject current=null] : (otherlv_0= '&' ( (lv_typeReference_1_0= ruleJvmTypeReference ) ) ) ;
+    // InternalReportDSL.g:14991:1: ruleJvmUpperBoundAnded returns [EObject current=null] : (otherlv_0= '&' ( (lv_typeReference_1_0= ruleJvmTypeReference ) ) ) ;
     public final EObject ruleJvmUpperBoundAnded() throws RecognitionException {
         EObject current = null;
 
@@ -39915,23 +40761,23 @@
         	enterRule();
 
         try {
-            // InternalReportDSL.g:14688:2: ( (otherlv_0= '&' ( (lv_typeReference_1_0= ruleJvmTypeReference ) ) ) )
-            // InternalReportDSL.g:14689:2: (otherlv_0= '&' ( (lv_typeReference_1_0= ruleJvmTypeReference ) ) )
+            // InternalReportDSL.g:14997:2: ( (otherlv_0= '&' ( (lv_typeReference_1_0= ruleJvmTypeReference ) ) ) )
+            // InternalReportDSL.g:14998:2: (otherlv_0= '&' ( (lv_typeReference_1_0= ruleJvmTypeReference ) ) )
             {
-            // InternalReportDSL.g:14689:2: (otherlv_0= '&' ( (lv_typeReference_1_0= ruleJvmTypeReference ) ) )
-            // InternalReportDSL.g:14690:3: otherlv_0= '&' ( (lv_typeReference_1_0= ruleJvmTypeReference ) )
+            // InternalReportDSL.g:14998:2: (otherlv_0= '&' ( (lv_typeReference_1_0= ruleJvmTypeReference ) ) )
+            // InternalReportDSL.g:14999:3: otherlv_0= '&' ( (lv_typeReference_1_0= ruleJvmTypeReference ) )
             {
-            otherlv_0=(Token)match(input,195,FOLLOW_143); if (state.failed) return current;
+            otherlv_0=(Token)match(input,194,FOLLOW_135); if (state.failed) return current;
             if ( state.backtracking==0 ) {
 
               			newLeafNode(otherlv_0, grammarAccess.getJvmUpperBoundAndedAccess().getAmpersandKeyword_0());
               		
             }
-            // InternalReportDSL.g:14694:3: ( (lv_typeReference_1_0= ruleJvmTypeReference ) )
-            // InternalReportDSL.g:14695:4: (lv_typeReference_1_0= ruleJvmTypeReference )
+            // InternalReportDSL.g:15003:3: ( (lv_typeReference_1_0= ruleJvmTypeReference ) )
+            // InternalReportDSL.g:15004:4: (lv_typeReference_1_0= ruleJvmTypeReference )
             {
-            // InternalReportDSL.g:14695:4: (lv_typeReference_1_0= ruleJvmTypeReference )
-            // InternalReportDSL.g:14696:5: lv_typeReference_1_0= ruleJvmTypeReference
+            // InternalReportDSL.g:15004:4: (lv_typeReference_1_0= ruleJvmTypeReference )
+            // InternalReportDSL.g:15005:5: lv_typeReference_1_0= ruleJvmTypeReference
             {
             if ( state.backtracking==0 ) {
 
@@ -39987,7 +40833,7 @@
 
 
     // $ANTLR start "entryRuleJvmLowerBound"
-    // InternalReportDSL.g:14717:1: entryRuleJvmLowerBound returns [EObject current=null] : iv_ruleJvmLowerBound= ruleJvmLowerBound EOF ;
+    // InternalReportDSL.g:15026:1: entryRuleJvmLowerBound returns [EObject current=null] : iv_ruleJvmLowerBound= ruleJvmLowerBound EOF ;
     public final EObject entryRuleJvmLowerBound() throws RecognitionException {
         EObject current = null;
 
@@ -39995,8 +40841,8 @@
 
 
         try {
-            // InternalReportDSL.g:14717:54: (iv_ruleJvmLowerBound= ruleJvmLowerBound EOF )
-            // InternalReportDSL.g:14718:2: iv_ruleJvmLowerBound= ruleJvmLowerBound EOF
+            // InternalReportDSL.g:15026:54: (iv_ruleJvmLowerBound= ruleJvmLowerBound EOF )
+            // InternalReportDSL.g:15027:2: iv_ruleJvmLowerBound= ruleJvmLowerBound EOF
             {
             if ( state.backtracking==0 ) {
                newCompositeNode(grammarAccess.getJvmLowerBoundRule()); 
@@ -40027,7 +40873,7 @@
 
 
     // $ANTLR start "ruleJvmLowerBound"
-    // InternalReportDSL.g:14724:1: ruleJvmLowerBound returns [EObject current=null] : (otherlv_0= 'super' ( (lv_typeReference_1_0= ruleJvmTypeReference ) ) ) ;
+    // InternalReportDSL.g:15033:1: ruleJvmLowerBound returns [EObject current=null] : (otherlv_0= 'super' ( (lv_typeReference_1_0= ruleJvmTypeReference ) ) ) ;
     public final EObject ruleJvmLowerBound() throws RecognitionException {
         EObject current = null;
 
@@ -40039,23 +40885,23 @@
         	enterRule();
 
         try {
-            // InternalReportDSL.g:14730:2: ( (otherlv_0= 'super' ( (lv_typeReference_1_0= ruleJvmTypeReference ) ) ) )
-            // InternalReportDSL.g:14731:2: (otherlv_0= 'super' ( (lv_typeReference_1_0= ruleJvmTypeReference ) ) )
+            // InternalReportDSL.g:15039:2: ( (otherlv_0= 'super' ( (lv_typeReference_1_0= ruleJvmTypeReference ) ) ) )
+            // InternalReportDSL.g:15040:2: (otherlv_0= 'super' ( (lv_typeReference_1_0= ruleJvmTypeReference ) ) )
             {
-            // InternalReportDSL.g:14731:2: (otherlv_0= 'super' ( (lv_typeReference_1_0= ruleJvmTypeReference ) ) )
-            // InternalReportDSL.g:14732:3: otherlv_0= 'super' ( (lv_typeReference_1_0= ruleJvmTypeReference ) )
+            // InternalReportDSL.g:15040:2: (otherlv_0= 'super' ( (lv_typeReference_1_0= ruleJvmTypeReference ) ) )
+            // InternalReportDSL.g:15041:3: otherlv_0= 'super' ( (lv_typeReference_1_0= ruleJvmTypeReference ) )
             {
-            otherlv_0=(Token)match(input,182,FOLLOW_143); if (state.failed) return current;
+            otherlv_0=(Token)match(input,181,FOLLOW_135); if (state.failed) return current;
             if ( state.backtracking==0 ) {
 
               			newLeafNode(otherlv_0, grammarAccess.getJvmLowerBoundAccess().getSuperKeyword_0());
               		
             }
-            // InternalReportDSL.g:14736:3: ( (lv_typeReference_1_0= ruleJvmTypeReference ) )
-            // InternalReportDSL.g:14737:4: (lv_typeReference_1_0= ruleJvmTypeReference )
+            // InternalReportDSL.g:15045:3: ( (lv_typeReference_1_0= ruleJvmTypeReference ) )
+            // InternalReportDSL.g:15046:4: (lv_typeReference_1_0= ruleJvmTypeReference )
             {
-            // InternalReportDSL.g:14737:4: (lv_typeReference_1_0= ruleJvmTypeReference )
-            // InternalReportDSL.g:14738:5: lv_typeReference_1_0= ruleJvmTypeReference
+            // InternalReportDSL.g:15046:4: (lv_typeReference_1_0= ruleJvmTypeReference )
+            // InternalReportDSL.g:15047:5: lv_typeReference_1_0= ruleJvmTypeReference
             {
             if ( state.backtracking==0 ) {
 
@@ -40111,7 +40957,7 @@
 
 
     // $ANTLR start "entryRuleJvmLowerBoundAnded"
-    // InternalReportDSL.g:14759:1: entryRuleJvmLowerBoundAnded returns [EObject current=null] : iv_ruleJvmLowerBoundAnded= ruleJvmLowerBoundAnded EOF ;
+    // InternalReportDSL.g:15068:1: entryRuleJvmLowerBoundAnded returns [EObject current=null] : iv_ruleJvmLowerBoundAnded= ruleJvmLowerBoundAnded EOF ;
     public final EObject entryRuleJvmLowerBoundAnded() throws RecognitionException {
         EObject current = null;
 
@@ -40119,8 +40965,8 @@
 
 
         try {
-            // InternalReportDSL.g:14759:59: (iv_ruleJvmLowerBoundAnded= ruleJvmLowerBoundAnded EOF )
-            // InternalReportDSL.g:14760:2: iv_ruleJvmLowerBoundAnded= ruleJvmLowerBoundAnded EOF
+            // InternalReportDSL.g:15068:59: (iv_ruleJvmLowerBoundAnded= ruleJvmLowerBoundAnded EOF )
+            // InternalReportDSL.g:15069:2: iv_ruleJvmLowerBoundAnded= ruleJvmLowerBoundAnded EOF
             {
             if ( state.backtracking==0 ) {
                newCompositeNode(grammarAccess.getJvmLowerBoundAndedRule()); 
@@ -40151,7 +40997,7 @@
 
 
     // $ANTLR start "ruleJvmLowerBoundAnded"
-    // InternalReportDSL.g:14766:1: ruleJvmLowerBoundAnded returns [EObject current=null] : (otherlv_0= '&' ( (lv_typeReference_1_0= ruleJvmTypeReference ) ) ) ;
+    // InternalReportDSL.g:15075:1: ruleJvmLowerBoundAnded returns [EObject current=null] : (otherlv_0= '&' ( (lv_typeReference_1_0= ruleJvmTypeReference ) ) ) ;
     public final EObject ruleJvmLowerBoundAnded() throws RecognitionException {
         EObject current = null;
 
@@ -40163,23 +41009,23 @@
         	enterRule();
 
         try {
-            // InternalReportDSL.g:14772:2: ( (otherlv_0= '&' ( (lv_typeReference_1_0= ruleJvmTypeReference ) ) ) )
-            // InternalReportDSL.g:14773:2: (otherlv_0= '&' ( (lv_typeReference_1_0= ruleJvmTypeReference ) ) )
+            // InternalReportDSL.g:15081:2: ( (otherlv_0= '&' ( (lv_typeReference_1_0= ruleJvmTypeReference ) ) ) )
+            // InternalReportDSL.g:15082:2: (otherlv_0= '&' ( (lv_typeReference_1_0= ruleJvmTypeReference ) ) )
             {
-            // InternalReportDSL.g:14773:2: (otherlv_0= '&' ( (lv_typeReference_1_0= ruleJvmTypeReference ) ) )
-            // InternalReportDSL.g:14774:3: otherlv_0= '&' ( (lv_typeReference_1_0= ruleJvmTypeReference ) )
+            // InternalReportDSL.g:15082:2: (otherlv_0= '&' ( (lv_typeReference_1_0= ruleJvmTypeReference ) ) )
+            // InternalReportDSL.g:15083:3: otherlv_0= '&' ( (lv_typeReference_1_0= ruleJvmTypeReference ) )
             {
-            otherlv_0=(Token)match(input,195,FOLLOW_143); if (state.failed) return current;
+            otherlv_0=(Token)match(input,194,FOLLOW_135); if (state.failed) return current;
             if ( state.backtracking==0 ) {
 
               			newLeafNode(otherlv_0, grammarAccess.getJvmLowerBoundAndedAccess().getAmpersandKeyword_0());
               		
             }
-            // InternalReportDSL.g:14778:3: ( (lv_typeReference_1_0= ruleJvmTypeReference ) )
-            // InternalReportDSL.g:14779:4: (lv_typeReference_1_0= ruleJvmTypeReference )
+            // InternalReportDSL.g:15087:3: ( (lv_typeReference_1_0= ruleJvmTypeReference ) )
+            // InternalReportDSL.g:15088:4: (lv_typeReference_1_0= ruleJvmTypeReference )
             {
-            // InternalReportDSL.g:14779:4: (lv_typeReference_1_0= ruleJvmTypeReference )
-            // InternalReportDSL.g:14780:5: lv_typeReference_1_0= ruleJvmTypeReference
+            // InternalReportDSL.g:15088:4: (lv_typeReference_1_0= ruleJvmTypeReference )
+            // InternalReportDSL.g:15089:5: lv_typeReference_1_0= ruleJvmTypeReference
             {
             if ( state.backtracking==0 ) {
 
@@ -40235,7 +41081,7 @@
 
 
     // $ANTLR start "entryRuleQualifiedNameWithWildcard"
-    // InternalReportDSL.g:14801:1: entryRuleQualifiedNameWithWildcard returns [String current=null] : iv_ruleQualifiedNameWithWildcard= ruleQualifiedNameWithWildcard EOF ;
+    // InternalReportDSL.g:15110:1: entryRuleQualifiedNameWithWildcard returns [String current=null] : iv_ruleQualifiedNameWithWildcard= ruleQualifiedNameWithWildcard EOF ;
     public final String entryRuleQualifiedNameWithWildcard() throws RecognitionException {
         String current = null;
 
@@ -40243,8 +41089,8 @@
 
 
         try {
-            // InternalReportDSL.g:14801:65: (iv_ruleQualifiedNameWithWildcard= ruleQualifiedNameWithWildcard EOF )
-            // InternalReportDSL.g:14802:2: iv_ruleQualifiedNameWithWildcard= ruleQualifiedNameWithWildcard EOF
+            // InternalReportDSL.g:15110:65: (iv_ruleQualifiedNameWithWildcard= ruleQualifiedNameWithWildcard EOF )
+            // InternalReportDSL.g:15111:2: iv_ruleQualifiedNameWithWildcard= ruleQualifiedNameWithWildcard EOF
             {
             if ( state.backtracking==0 ) {
                newCompositeNode(grammarAccess.getQualifiedNameWithWildcardRule()); 
@@ -40275,7 +41121,7 @@
 
 
     // $ANTLR start "ruleQualifiedNameWithWildcard"
-    // InternalReportDSL.g:14808:1: ruleQualifiedNameWithWildcard returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : (this_QualifiedName_0= ruleQualifiedName kw= '.' kw= '*' ) ;
+    // InternalReportDSL.g:15117:1: ruleQualifiedNameWithWildcard returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : (this_QualifiedName_0= ruleQualifiedName kw= '.' kw= '*' ) ;
     public final AntlrDatatypeRuleToken ruleQualifiedNameWithWildcard() throws RecognitionException {
         AntlrDatatypeRuleToken current = new AntlrDatatypeRuleToken();
 
@@ -40287,18 +41133,18 @@
         	enterRule();
 
         try {
-            // InternalReportDSL.g:14814:2: ( (this_QualifiedName_0= ruleQualifiedName kw= '.' kw= '*' ) )
-            // InternalReportDSL.g:14815:2: (this_QualifiedName_0= ruleQualifiedName kw= '.' kw= '*' )
+            // InternalReportDSL.g:15123:2: ( (this_QualifiedName_0= ruleQualifiedName kw= '.' kw= '*' ) )
+            // InternalReportDSL.g:15124:2: (this_QualifiedName_0= ruleQualifiedName kw= '.' kw= '*' )
             {
-            // InternalReportDSL.g:14815:2: (this_QualifiedName_0= ruleQualifiedName kw= '.' kw= '*' )
-            // InternalReportDSL.g:14816:3: this_QualifiedName_0= ruleQualifiedName kw= '.' kw= '*'
+            // InternalReportDSL.g:15124:2: (this_QualifiedName_0= ruleQualifiedName kw= '.' kw= '*' )
+            // InternalReportDSL.g:15125:3: this_QualifiedName_0= ruleQualifiedName kw= '.' kw= '*'
             {
             if ( state.backtracking==0 ) {
 
               			newCompositeNode(grammarAccess.getQualifiedNameWithWildcardAccess().getQualifiedNameParserRuleCall_0());
               		
             }
-            pushFollow(FOLLOW_198);
+            pushFollow(FOLLOW_190);
             this_QualifiedName_0=ruleQualifiedName();
 
             state._fsp--;
@@ -40313,14 +41159,14 @@
               			afterParserOrEnumRuleCall();
               		
             }
-            kw=(Token)match(input,167,FOLLOW_199); if (state.failed) return current;
+            kw=(Token)match(input,166,FOLLOW_191); if (state.failed) return current;
             if ( state.backtracking==0 ) {
 
               			current.merge(kw);
               			newLeafNode(kw, grammarAccess.getQualifiedNameWithWildcardAccess().getFullStopKeyword_1());
               		
             }
-            kw=(Token)match(input,130,FOLLOW_2); if (state.failed) return current;
+            kw=(Token)match(input,129,FOLLOW_2); if (state.failed) return current;
             if ( state.backtracking==0 ) {
 
               			current.merge(kw);
@@ -40352,7 +41198,7 @@
 
 
     // $ANTLR start "entryRuleValidID"
-    // InternalReportDSL.g:14840:1: entryRuleValidID returns [String current=null] : iv_ruleValidID= ruleValidID EOF ;
+    // InternalReportDSL.g:15149:1: entryRuleValidID returns [String current=null] : iv_ruleValidID= ruleValidID EOF ;
     public final String entryRuleValidID() throws RecognitionException {
         String current = null;
 
@@ -40360,8 +41206,8 @@
 
 
         try {
-            // InternalReportDSL.g:14840:47: (iv_ruleValidID= ruleValidID EOF )
-            // InternalReportDSL.g:14841:2: iv_ruleValidID= ruleValidID EOF
+            // InternalReportDSL.g:15149:47: (iv_ruleValidID= ruleValidID EOF )
+            // InternalReportDSL.g:15150:2: iv_ruleValidID= ruleValidID EOF
             {
             if ( state.backtracking==0 ) {
                newCompositeNode(grammarAccess.getValidIDRule()); 
@@ -40392,7 +41238,7 @@
 
 
     // $ANTLR start "ruleValidID"
-    // InternalReportDSL.g:14847:1: ruleValidID returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : this_ID_0= RULE_ID ;
+    // InternalReportDSL.g:15156:1: ruleValidID returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : this_ID_0= RULE_ID ;
     public final AntlrDatatypeRuleToken ruleValidID() throws RecognitionException {
         AntlrDatatypeRuleToken current = new AntlrDatatypeRuleToken();
 
@@ -40402,8 +41248,8 @@
         	enterRule();
 
         try {
-            // InternalReportDSL.g:14853:2: (this_ID_0= RULE_ID )
-            // InternalReportDSL.g:14854:2: this_ID_0= RULE_ID
+            // InternalReportDSL.g:15162:2: (this_ID_0= RULE_ID )
+            // InternalReportDSL.g:15163:2: this_ID_0= RULE_ID
             {
             this_ID_0=(Token)match(input,RULE_ID,FOLLOW_2); if (state.failed) return current;
             if ( state.backtracking==0 ) {
@@ -40438,7 +41284,7 @@
 
 
     // $ANTLR start "entryRuleXImportSection"
-    // InternalReportDSL.g:14864:1: entryRuleXImportSection returns [EObject current=null] : iv_ruleXImportSection= ruleXImportSection EOF ;
+    // InternalReportDSL.g:15173:1: entryRuleXImportSection returns [EObject current=null] : iv_ruleXImportSection= ruleXImportSection EOF ;
     public final EObject entryRuleXImportSection() throws RecognitionException {
         EObject current = null;
 
@@ -40446,8 +41292,8 @@
 
 
         try {
-            // InternalReportDSL.g:14864:55: (iv_ruleXImportSection= ruleXImportSection EOF )
-            // InternalReportDSL.g:14865:2: iv_ruleXImportSection= ruleXImportSection EOF
+            // InternalReportDSL.g:15173:55: (iv_ruleXImportSection= ruleXImportSection EOF )
+            // InternalReportDSL.g:15174:2: iv_ruleXImportSection= ruleXImportSection EOF
             {
             if ( state.backtracking==0 ) {
                newCompositeNode(grammarAccess.getXImportSectionRule()); 
@@ -40478,7 +41324,7 @@
 
 
     // $ANTLR start "ruleXImportSection"
-    // InternalReportDSL.g:14871:1: ruleXImportSection returns [EObject current=null] : ( (lv_importDeclarations_0_0= ruleXImportDeclaration ) )+ ;
+    // InternalReportDSL.g:15180:1: ruleXImportSection returns [EObject current=null] : ( (lv_importDeclarations_0_0= ruleXImportDeclaration ) )+ ;
     public final EObject ruleXImportSection() throws RecognitionException {
         EObject current = null;
 
@@ -40489,34 +41335,34 @@
         	enterRule();
 
         try {
-            // InternalReportDSL.g:14877:2: ( ( (lv_importDeclarations_0_0= ruleXImportDeclaration ) )+ )
-            // InternalReportDSL.g:14878:2: ( (lv_importDeclarations_0_0= ruleXImportDeclaration ) )+
+            // InternalReportDSL.g:15186:2: ( ( (lv_importDeclarations_0_0= ruleXImportDeclaration ) )+ )
+            // InternalReportDSL.g:15187:2: ( (lv_importDeclarations_0_0= ruleXImportDeclaration ) )+
             {
-            // InternalReportDSL.g:14878:2: ( (lv_importDeclarations_0_0= ruleXImportDeclaration ) )+
-            int cnt231=0;
-            loop231:
+            // InternalReportDSL.g:15187:2: ( (lv_importDeclarations_0_0= ruleXImportDeclaration ) )+
+            int cnt219=0;
+            loop219:
             do {
-                int alt231=2;
-                int LA231_0 = input.LA(1);
+                int alt219=2;
+                int LA219_0 = input.LA(1);
 
-                if ( (LA231_0==127) ) {
-                    alt231=1;
+                if ( (LA219_0==126) ) {
+                    alt219=1;
                 }
 
 
-                switch (alt231) {
+                switch (alt219) {
             	case 1 :
-            	    // InternalReportDSL.g:14879:3: (lv_importDeclarations_0_0= ruleXImportDeclaration )
+            	    // InternalReportDSL.g:15188:3: (lv_importDeclarations_0_0= ruleXImportDeclaration )
             	    {
-            	    // InternalReportDSL.g:14879:3: (lv_importDeclarations_0_0= ruleXImportDeclaration )
-            	    // InternalReportDSL.g:14880:4: lv_importDeclarations_0_0= ruleXImportDeclaration
+            	    // InternalReportDSL.g:15188:3: (lv_importDeclarations_0_0= ruleXImportDeclaration )
+            	    // InternalReportDSL.g:15189:4: lv_importDeclarations_0_0= ruleXImportDeclaration
             	    {
             	    if ( state.backtracking==0 ) {
 
             	      				newCompositeNode(grammarAccess.getXImportSectionAccess().getImportDeclarationsXImportDeclarationParserRuleCall_0());
             	      			
             	    }
-            	    pushFollow(FOLLOW_200);
+            	    pushFollow(FOLLOW_192);
             	    lv_importDeclarations_0_0=ruleXImportDeclaration();
 
             	    state._fsp--;
@@ -40542,13 +41388,13 @@
             	    break;
 
             	default :
-            	    if ( cnt231 >= 1 ) break loop231;
+            	    if ( cnt219 >= 1 ) break loop219;
             	    if (state.backtracking>0) {state.failed=true; return current;}
                         EarlyExitException eee =
-                            new EarlyExitException(231, input);
+                            new EarlyExitException(219, input);
                         throw eee;
                 }
-                cnt231++;
+                cnt219++;
             } while (true);
 
 
@@ -40573,7 +41419,7 @@
 
 
     // $ANTLR start "entryRuleQualifiedNameInStaticImport"
-    // InternalReportDSL.g:14900:1: entryRuleQualifiedNameInStaticImport returns [String current=null] : iv_ruleQualifiedNameInStaticImport= ruleQualifiedNameInStaticImport EOF ;
+    // InternalReportDSL.g:15209:1: entryRuleQualifiedNameInStaticImport returns [String current=null] : iv_ruleQualifiedNameInStaticImport= ruleQualifiedNameInStaticImport EOF ;
     public final String entryRuleQualifiedNameInStaticImport() throws RecognitionException {
         String current = null;
 
@@ -40581,8 +41427,8 @@
 
 
         try {
-            // InternalReportDSL.g:14900:67: (iv_ruleQualifiedNameInStaticImport= ruleQualifiedNameInStaticImport EOF )
-            // InternalReportDSL.g:14901:2: iv_ruleQualifiedNameInStaticImport= ruleQualifiedNameInStaticImport EOF
+            // InternalReportDSL.g:15209:67: (iv_ruleQualifiedNameInStaticImport= ruleQualifiedNameInStaticImport EOF )
+            // InternalReportDSL.g:15210:2: iv_ruleQualifiedNameInStaticImport= ruleQualifiedNameInStaticImport EOF
             {
             if ( state.backtracking==0 ) {
                newCompositeNode(grammarAccess.getQualifiedNameInStaticImportRule()); 
@@ -40613,7 +41459,7 @@
 
 
     // $ANTLR start "ruleQualifiedNameInStaticImport"
-    // InternalReportDSL.g:14907:1: ruleQualifiedNameInStaticImport returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : (this_ValidID_0= ruleValidID kw= '.' )+ ;
+    // InternalReportDSL.g:15216:1: ruleQualifiedNameInStaticImport returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : (this_ValidID_0= ruleValidID kw= '.' )+ ;
     public final AntlrDatatypeRuleToken ruleQualifiedNameInStaticImport() throws RecognitionException {
         AntlrDatatypeRuleToken current = new AntlrDatatypeRuleToken();
 
@@ -40625,37 +41471,37 @@
         	enterRule();
 
         try {
-            // InternalReportDSL.g:14913:2: ( (this_ValidID_0= ruleValidID kw= '.' )+ )
-            // InternalReportDSL.g:14914:2: (this_ValidID_0= ruleValidID kw= '.' )+
+            // InternalReportDSL.g:15222:2: ( (this_ValidID_0= ruleValidID kw= '.' )+ )
+            // InternalReportDSL.g:15223:2: (this_ValidID_0= ruleValidID kw= '.' )+
             {
-            // InternalReportDSL.g:14914:2: (this_ValidID_0= ruleValidID kw= '.' )+
-            int cnt232=0;
-            loop232:
+            // InternalReportDSL.g:15223:2: (this_ValidID_0= ruleValidID kw= '.' )+
+            int cnt220=0;
+            loop220:
             do {
-                int alt232=2;
-                int LA232_0 = input.LA(1);
+                int alt220=2;
+                int LA220_0 = input.LA(1);
 
-                if ( (LA232_0==RULE_ID) ) {
-                    int LA232_2 = input.LA(2);
+                if ( (LA220_0==RULE_ID) ) {
+                    int LA220_2 = input.LA(2);
 
-                    if ( (LA232_2==167) ) {
-                        alt232=1;
+                    if ( (LA220_2==166) ) {
+                        alt220=1;
                     }
 
 
                 }
 
 
-                switch (alt232) {
+                switch (alt220) {
             	case 1 :
-            	    // InternalReportDSL.g:14915:3: this_ValidID_0= ruleValidID kw= '.'
+            	    // InternalReportDSL.g:15224:3: this_ValidID_0= ruleValidID kw= '.'
             	    {
             	    if ( state.backtracking==0 ) {
 
             	      			newCompositeNode(grammarAccess.getQualifiedNameInStaticImportAccess().getValidIDParserRuleCall_0());
             	      		
             	    }
-            	    pushFollow(FOLLOW_198);
+            	    pushFollow(FOLLOW_190);
             	    this_ValidID_0=ruleValidID();
 
             	    state._fsp--;
@@ -40670,7 +41516,7 @@
             	      			afterParserOrEnumRuleCall();
             	      		
             	    }
-            	    kw=(Token)match(input,167,FOLLOW_201); if (state.failed) return current;
+            	    kw=(Token)match(input,166,FOLLOW_42); if (state.failed) return current;
             	    if ( state.backtracking==0 ) {
 
             	      			current.merge(kw);
@@ -40682,13 +41528,13 @@
             	    break;
 
             	default :
-            	    if ( cnt232 >= 1 ) break loop232;
+            	    if ( cnt220 >= 1 ) break loop220;
             	    if (state.backtracking>0) {state.failed=true; return current;}
                         EarlyExitException eee =
-                            new EarlyExitException(232, input);
+                            new EarlyExitException(220, input);
                         throw eee;
                 }
-                cnt232++;
+                cnt220++;
             } while (true);
 
 
@@ -40713,7 +41559,7 @@
 
 
     // $ANTLR start "ruleUnitEnum"
-    // InternalReportDSL.g:14934:1: ruleUnitEnum returns [Enumerator current=null] : ( (enumLiteral_0= 'mm' ) | (enumLiteral_1= 'cm' ) | (enumLiteral_2= 'pt' ) | (enumLiteral_3= 'inch' ) | (enumLiteral_4= 'pc' ) | (enumLiteral_5= 'em' ) | (enumLiteral_6= 'ex' ) | (enumLiteral_7= 'px' ) | (enumLiteral_8= '%' ) ) ;
+    // InternalReportDSL.g:15243:1: ruleUnitEnum returns [Enumerator current=null] : ( (enumLiteral_0= 'mm' ) | (enumLiteral_1= 'cm' ) | (enumLiteral_2= 'pt' ) | (enumLiteral_3= 'inch' ) | (enumLiteral_4= 'pc' ) | (enumLiteral_5= 'em' ) | (enumLiteral_6= 'ex' ) | (enumLiteral_7= 'px' ) | (enumLiteral_8= '%' ) ) ;
     public final Enumerator ruleUnitEnum() throws RecognitionException {
         Enumerator current = null;
 
@@ -40731,73 +41577,73 @@
         	enterRule();
 
         try {
-            // InternalReportDSL.g:14940:2: ( ( (enumLiteral_0= 'mm' ) | (enumLiteral_1= 'cm' ) | (enumLiteral_2= 'pt' ) | (enumLiteral_3= 'inch' ) | (enumLiteral_4= 'pc' ) | (enumLiteral_5= 'em' ) | (enumLiteral_6= 'ex' ) | (enumLiteral_7= 'px' ) | (enumLiteral_8= '%' ) ) )
-            // InternalReportDSL.g:14941:2: ( (enumLiteral_0= 'mm' ) | (enumLiteral_1= 'cm' ) | (enumLiteral_2= 'pt' ) | (enumLiteral_3= 'inch' ) | (enumLiteral_4= 'pc' ) | (enumLiteral_5= 'em' ) | (enumLiteral_6= 'ex' ) | (enumLiteral_7= 'px' ) | (enumLiteral_8= '%' ) )
+            // InternalReportDSL.g:15249:2: ( ( (enumLiteral_0= 'mm' ) | (enumLiteral_1= 'cm' ) | (enumLiteral_2= 'pt' ) | (enumLiteral_3= 'inch' ) | (enumLiteral_4= 'pc' ) | (enumLiteral_5= 'em' ) | (enumLiteral_6= 'ex' ) | (enumLiteral_7= 'px' ) | (enumLiteral_8= '%' ) ) )
+            // InternalReportDSL.g:15250:2: ( (enumLiteral_0= 'mm' ) | (enumLiteral_1= 'cm' ) | (enumLiteral_2= 'pt' ) | (enumLiteral_3= 'inch' ) | (enumLiteral_4= 'pc' ) | (enumLiteral_5= 'em' ) | (enumLiteral_6= 'ex' ) | (enumLiteral_7= 'px' ) | (enumLiteral_8= '%' ) )
             {
-            // InternalReportDSL.g:14941:2: ( (enumLiteral_0= 'mm' ) | (enumLiteral_1= 'cm' ) | (enumLiteral_2= 'pt' ) | (enumLiteral_3= 'inch' ) | (enumLiteral_4= 'pc' ) | (enumLiteral_5= 'em' ) | (enumLiteral_6= 'ex' ) | (enumLiteral_7= 'px' ) | (enumLiteral_8= '%' ) )
-            int alt233=9;
+            // InternalReportDSL.g:15250:2: ( (enumLiteral_0= 'mm' ) | (enumLiteral_1= 'cm' ) | (enumLiteral_2= 'pt' ) | (enumLiteral_3= 'inch' ) | (enumLiteral_4= 'pc' ) | (enumLiteral_5= 'em' ) | (enumLiteral_6= 'ex' ) | (enumLiteral_7= 'px' ) | (enumLiteral_8= '%' ) )
+            int alt221=9;
             switch ( input.LA(1) ) {
+            case 195:
+                {
+                alt221=1;
+                }
+                break;
             case 196:
                 {
-                alt233=1;
+                alt221=2;
                 }
                 break;
             case 197:
                 {
-                alt233=2;
+                alt221=3;
                 }
                 break;
             case 198:
                 {
-                alt233=3;
+                alt221=4;
                 }
                 break;
             case 199:
                 {
-                alt233=4;
+                alt221=5;
                 }
                 break;
             case 200:
                 {
-                alt233=5;
+                alt221=6;
                 }
                 break;
             case 201:
                 {
-                alt233=6;
+                alt221=7;
                 }
                 break;
             case 202:
                 {
-                alt233=7;
+                alt221=8;
                 }
                 break;
-            case 203:
+            case 162:
                 {
-                alt233=8;
-                }
-                break;
-            case 163:
-                {
-                alt233=9;
+                alt221=9;
                 }
                 break;
             default:
                 if (state.backtracking>0) {state.failed=true; return current;}
                 NoViableAltException nvae =
-                    new NoViableAltException("", 233, 0, input);
+                    new NoViableAltException("", 221, 0, input);
 
                 throw nvae;
             }
 
-            switch (alt233) {
+            switch (alt221) {
                 case 1 :
-                    // InternalReportDSL.g:14942:3: (enumLiteral_0= 'mm' )
+                    // InternalReportDSL.g:15251:3: (enumLiteral_0= 'mm' )
                     {
-                    // InternalReportDSL.g:14942:3: (enumLiteral_0= 'mm' )
-                    // InternalReportDSL.g:14943:4: enumLiteral_0= 'mm'
+                    // InternalReportDSL.g:15251:3: (enumLiteral_0= 'mm' )
+                    // InternalReportDSL.g:15252:4: enumLiteral_0= 'mm'
                     {
-                    enumLiteral_0=(Token)match(input,196,FOLLOW_2); if (state.failed) return current;
+                    enumLiteral_0=(Token)match(input,195,FOLLOW_2); if (state.failed) return current;
                     if ( state.backtracking==0 ) {
 
                       				current = grammarAccess.getUnitEnumAccess().getMMEnumLiteralDeclaration_0().getEnumLiteral().getInstance();
@@ -40811,12 +41657,12 @@
                     }
                     break;
                 case 2 :
-                    // InternalReportDSL.g:14950:3: (enumLiteral_1= 'cm' )
+                    // InternalReportDSL.g:15259:3: (enumLiteral_1= 'cm' )
                     {
-                    // InternalReportDSL.g:14950:3: (enumLiteral_1= 'cm' )
-                    // InternalReportDSL.g:14951:4: enumLiteral_1= 'cm'
+                    // InternalReportDSL.g:15259:3: (enumLiteral_1= 'cm' )
+                    // InternalReportDSL.g:15260:4: enumLiteral_1= 'cm'
                     {
-                    enumLiteral_1=(Token)match(input,197,FOLLOW_2); if (state.failed) return current;
+                    enumLiteral_1=(Token)match(input,196,FOLLOW_2); if (state.failed) return current;
                     if ( state.backtracking==0 ) {
 
                       				current = grammarAccess.getUnitEnumAccess().getCMEnumLiteralDeclaration_1().getEnumLiteral().getInstance();
@@ -40830,12 +41676,12 @@
                     }
                     break;
                 case 3 :
-                    // InternalReportDSL.g:14958:3: (enumLiteral_2= 'pt' )
+                    // InternalReportDSL.g:15267:3: (enumLiteral_2= 'pt' )
                     {
-                    // InternalReportDSL.g:14958:3: (enumLiteral_2= 'pt' )
-                    // InternalReportDSL.g:14959:4: enumLiteral_2= 'pt'
+                    // InternalReportDSL.g:15267:3: (enumLiteral_2= 'pt' )
+                    // InternalReportDSL.g:15268:4: enumLiteral_2= 'pt'
                     {
-                    enumLiteral_2=(Token)match(input,198,FOLLOW_2); if (state.failed) return current;
+                    enumLiteral_2=(Token)match(input,197,FOLLOW_2); if (state.failed) return current;
                     if ( state.backtracking==0 ) {
 
                       				current = grammarAccess.getUnitEnumAccess().getPTEnumLiteralDeclaration_2().getEnumLiteral().getInstance();
@@ -40849,12 +41695,12 @@
                     }
                     break;
                 case 4 :
-                    // InternalReportDSL.g:14966:3: (enumLiteral_3= 'inch' )
+                    // InternalReportDSL.g:15275:3: (enumLiteral_3= 'inch' )
                     {
-                    // InternalReportDSL.g:14966:3: (enumLiteral_3= 'inch' )
-                    // InternalReportDSL.g:14967:4: enumLiteral_3= 'inch'
+                    // InternalReportDSL.g:15275:3: (enumLiteral_3= 'inch' )
+                    // InternalReportDSL.g:15276:4: enumLiteral_3= 'inch'
                     {
-                    enumLiteral_3=(Token)match(input,199,FOLLOW_2); if (state.failed) return current;
+                    enumLiteral_3=(Token)match(input,198,FOLLOW_2); if (state.failed) return current;
                     if ( state.backtracking==0 ) {
 
                       				current = grammarAccess.getUnitEnumAccess().getINEnumLiteralDeclaration_3().getEnumLiteral().getInstance();
@@ -40868,12 +41714,12 @@
                     }
                     break;
                 case 5 :
-                    // InternalReportDSL.g:14974:3: (enumLiteral_4= 'pc' )
+                    // InternalReportDSL.g:15283:3: (enumLiteral_4= 'pc' )
                     {
-                    // InternalReportDSL.g:14974:3: (enumLiteral_4= 'pc' )
-                    // InternalReportDSL.g:14975:4: enumLiteral_4= 'pc'
+                    // InternalReportDSL.g:15283:3: (enumLiteral_4= 'pc' )
+                    // InternalReportDSL.g:15284:4: enumLiteral_4= 'pc'
                     {
-                    enumLiteral_4=(Token)match(input,200,FOLLOW_2); if (state.failed) return current;
+                    enumLiteral_4=(Token)match(input,199,FOLLOW_2); if (state.failed) return current;
                     if ( state.backtracking==0 ) {
 
                       				current = grammarAccess.getUnitEnumAccess().getPCEnumLiteralDeclaration_4().getEnumLiteral().getInstance();
@@ -40887,12 +41733,12 @@
                     }
                     break;
                 case 6 :
-                    // InternalReportDSL.g:14982:3: (enumLiteral_5= 'em' )
+                    // InternalReportDSL.g:15291:3: (enumLiteral_5= 'em' )
                     {
-                    // InternalReportDSL.g:14982:3: (enumLiteral_5= 'em' )
-                    // InternalReportDSL.g:14983:4: enumLiteral_5= 'em'
+                    // InternalReportDSL.g:15291:3: (enumLiteral_5= 'em' )
+                    // InternalReportDSL.g:15292:4: enumLiteral_5= 'em'
                     {
-                    enumLiteral_5=(Token)match(input,201,FOLLOW_2); if (state.failed) return current;
+                    enumLiteral_5=(Token)match(input,200,FOLLOW_2); if (state.failed) return current;
                     if ( state.backtracking==0 ) {
 
                       				current = grammarAccess.getUnitEnumAccess().getEMEnumLiteralDeclaration_5().getEnumLiteral().getInstance();
@@ -40906,12 +41752,12 @@
                     }
                     break;
                 case 7 :
-                    // InternalReportDSL.g:14990:3: (enumLiteral_6= 'ex' )
+                    // InternalReportDSL.g:15299:3: (enumLiteral_6= 'ex' )
                     {
-                    // InternalReportDSL.g:14990:3: (enumLiteral_6= 'ex' )
-                    // InternalReportDSL.g:14991:4: enumLiteral_6= 'ex'
+                    // InternalReportDSL.g:15299:3: (enumLiteral_6= 'ex' )
+                    // InternalReportDSL.g:15300:4: enumLiteral_6= 'ex'
                     {
-                    enumLiteral_6=(Token)match(input,202,FOLLOW_2); if (state.failed) return current;
+                    enumLiteral_6=(Token)match(input,201,FOLLOW_2); if (state.failed) return current;
                     if ( state.backtracking==0 ) {
 
                       				current = grammarAccess.getUnitEnumAccess().getEXEnumLiteralDeclaration_6().getEnumLiteral().getInstance();
@@ -40925,12 +41771,12 @@
                     }
                     break;
                 case 8 :
-                    // InternalReportDSL.g:14998:3: (enumLiteral_7= 'px' )
+                    // InternalReportDSL.g:15307:3: (enumLiteral_7= 'px' )
                     {
-                    // InternalReportDSL.g:14998:3: (enumLiteral_7= 'px' )
-                    // InternalReportDSL.g:14999:4: enumLiteral_7= 'px'
+                    // InternalReportDSL.g:15307:3: (enumLiteral_7= 'px' )
+                    // InternalReportDSL.g:15308:4: enumLiteral_7= 'px'
                     {
-                    enumLiteral_7=(Token)match(input,203,FOLLOW_2); if (state.failed) return current;
+                    enumLiteral_7=(Token)match(input,202,FOLLOW_2); if (state.failed) return current;
                     if ( state.backtracking==0 ) {
 
                       				current = grammarAccess.getUnitEnumAccess().getPXEnumLiteralDeclaration_7().getEnumLiteral().getInstance();
@@ -40944,12 +41790,12 @@
                     }
                     break;
                 case 9 :
-                    // InternalReportDSL.g:15006:3: (enumLiteral_8= '%' )
+                    // InternalReportDSL.g:15315:3: (enumLiteral_8= '%' )
                     {
-                    // InternalReportDSL.g:15006:3: (enumLiteral_8= '%' )
-                    // InternalReportDSL.g:15007:4: enumLiteral_8= '%'
+                    // InternalReportDSL.g:15315:3: (enumLiteral_8= '%' )
+                    // InternalReportDSL.g:15316:4: enumLiteral_8= '%'
                     {
-                    enumLiteral_8=(Token)match(input,163,FOLLOW_2); if (state.failed) return current;
+                    enumLiteral_8=(Token)match(input,162,FOLLOW_2); if (state.failed) return current;
                     if ( state.backtracking==0 ) {
 
                       				current = grammarAccess.getUnitEnumAccess().getPERCENTAGEEnumLiteralDeclaration_8().getEnumLiteral().getInstance();
@@ -40987,7 +41833,7 @@
 
 
     // $ANTLR start "rulePageSizeEnum"
-    // InternalReportDSL.g:15017:1: rulePageSizeEnum returns [Enumerator current=null] : ( (enumLiteral_0= 'a4' ) | (enumLiteral_1= 'a3' ) | (enumLiteral_2= 'a5' ) | (enumLiteral_3= 'us-letter' ) | (enumLiteral_4= 'us-legal' ) | (enumLiteral_5= 'us-ledger' ) | (enumLiteral_6= 'us-super-b' ) ) ;
+    // InternalReportDSL.g:15326:1: rulePageSizeEnum returns [Enumerator current=null] : ( (enumLiteral_0= 'a4' ) | (enumLiteral_1= 'a3' ) | (enumLiteral_2= 'a5' ) | (enumLiteral_3= 'us-letter' ) | (enumLiteral_4= 'us-legal' ) | (enumLiteral_5= 'us-ledger' ) | (enumLiteral_6= 'us-super-b' ) ) ;
     public final Enumerator rulePageSizeEnum() throws RecognitionException {
         Enumerator current = null;
 
@@ -41003,63 +41849,63 @@
         	enterRule();
 
         try {
-            // InternalReportDSL.g:15023:2: ( ( (enumLiteral_0= 'a4' ) | (enumLiteral_1= 'a3' ) | (enumLiteral_2= 'a5' ) | (enumLiteral_3= 'us-letter' ) | (enumLiteral_4= 'us-legal' ) | (enumLiteral_5= 'us-ledger' ) | (enumLiteral_6= 'us-super-b' ) ) )
-            // InternalReportDSL.g:15024:2: ( (enumLiteral_0= 'a4' ) | (enumLiteral_1= 'a3' ) | (enumLiteral_2= 'a5' ) | (enumLiteral_3= 'us-letter' ) | (enumLiteral_4= 'us-legal' ) | (enumLiteral_5= 'us-ledger' ) | (enumLiteral_6= 'us-super-b' ) )
+            // InternalReportDSL.g:15332:2: ( ( (enumLiteral_0= 'a4' ) | (enumLiteral_1= 'a3' ) | (enumLiteral_2= 'a5' ) | (enumLiteral_3= 'us-letter' ) | (enumLiteral_4= 'us-legal' ) | (enumLiteral_5= 'us-ledger' ) | (enumLiteral_6= 'us-super-b' ) ) )
+            // InternalReportDSL.g:15333:2: ( (enumLiteral_0= 'a4' ) | (enumLiteral_1= 'a3' ) | (enumLiteral_2= 'a5' ) | (enumLiteral_3= 'us-letter' ) | (enumLiteral_4= 'us-legal' ) | (enumLiteral_5= 'us-ledger' ) | (enumLiteral_6= 'us-super-b' ) )
             {
-            // InternalReportDSL.g:15024:2: ( (enumLiteral_0= 'a4' ) | (enumLiteral_1= 'a3' ) | (enumLiteral_2= 'a5' ) | (enumLiteral_3= 'us-letter' ) | (enumLiteral_4= 'us-legal' ) | (enumLiteral_5= 'us-ledger' ) | (enumLiteral_6= 'us-super-b' ) )
-            int alt234=7;
+            // InternalReportDSL.g:15333:2: ( (enumLiteral_0= 'a4' ) | (enumLiteral_1= 'a3' ) | (enumLiteral_2= 'a5' ) | (enumLiteral_3= 'us-letter' ) | (enumLiteral_4= 'us-legal' ) | (enumLiteral_5= 'us-ledger' ) | (enumLiteral_6= 'us-super-b' ) )
+            int alt222=7;
             switch ( input.LA(1) ) {
+            case 203:
+                {
+                alt222=1;
+                }
+                break;
             case 204:
                 {
-                alt234=1;
+                alt222=2;
                 }
                 break;
             case 205:
                 {
-                alt234=2;
+                alt222=3;
                 }
                 break;
             case 206:
                 {
-                alt234=3;
+                alt222=4;
                 }
                 break;
             case 207:
                 {
-                alt234=4;
+                alt222=5;
                 }
                 break;
             case 208:
                 {
-                alt234=5;
+                alt222=6;
                 }
                 break;
             case 209:
                 {
-                alt234=6;
-                }
-                break;
-            case 210:
-                {
-                alt234=7;
+                alt222=7;
                 }
                 break;
             default:
                 if (state.backtracking>0) {state.failed=true; return current;}
                 NoViableAltException nvae =
-                    new NoViableAltException("", 234, 0, input);
+                    new NoViableAltException("", 222, 0, input);
 
                 throw nvae;
             }
 
-            switch (alt234) {
+            switch (alt222) {
                 case 1 :
-                    // InternalReportDSL.g:15025:3: (enumLiteral_0= 'a4' )
+                    // InternalReportDSL.g:15334:3: (enumLiteral_0= 'a4' )
                     {
-                    // InternalReportDSL.g:15025:3: (enumLiteral_0= 'a4' )
-                    // InternalReportDSL.g:15026:4: enumLiteral_0= 'a4'
+                    // InternalReportDSL.g:15334:3: (enumLiteral_0= 'a4' )
+                    // InternalReportDSL.g:15335:4: enumLiteral_0= 'a4'
                     {
-                    enumLiteral_0=(Token)match(input,204,FOLLOW_2); if (state.failed) return current;
+                    enumLiteral_0=(Token)match(input,203,FOLLOW_2); if (state.failed) return current;
                     if ( state.backtracking==0 ) {
 
                       				current = grammarAccess.getPageSizeEnumAccess().getA4EnumLiteralDeclaration_0().getEnumLiteral().getInstance();
@@ -41073,12 +41919,12 @@
                     }
                     break;
                 case 2 :
-                    // InternalReportDSL.g:15033:3: (enumLiteral_1= 'a3' )
+                    // InternalReportDSL.g:15342:3: (enumLiteral_1= 'a3' )
                     {
-                    // InternalReportDSL.g:15033:3: (enumLiteral_1= 'a3' )
-                    // InternalReportDSL.g:15034:4: enumLiteral_1= 'a3'
+                    // InternalReportDSL.g:15342:3: (enumLiteral_1= 'a3' )
+                    // InternalReportDSL.g:15343:4: enumLiteral_1= 'a3'
                     {
-                    enumLiteral_1=(Token)match(input,205,FOLLOW_2); if (state.failed) return current;
+                    enumLiteral_1=(Token)match(input,204,FOLLOW_2); if (state.failed) return current;
                     if ( state.backtracking==0 ) {
 
                       				current = grammarAccess.getPageSizeEnumAccess().getA3EnumLiteralDeclaration_1().getEnumLiteral().getInstance();
@@ -41092,12 +41938,12 @@
                     }
                     break;
                 case 3 :
-                    // InternalReportDSL.g:15041:3: (enumLiteral_2= 'a5' )
+                    // InternalReportDSL.g:15350:3: (enumLiteral_2= 'a5' )
                     {
-                    // InternalReportDSL.g:15041:3: (enumLiteral_2= 'a5' )
-                    // InternalReportDSL.g:15042:4: enumLiteral_2= 'a5'
+                    // InternalReportDSL.g:15350:3: (enumLiteral_2= 'a5' )
+                    // InternalReportDSL.g:15351:4: enumLiteral_2= 'a5'
                     {
-                    enumLiteral_2=(Token)match(input,206,FOLLOW_2); if (state.failed) return current;
+                    enumLiteral_2=(Token)match(input,205,FOLLOW_2); if (state.failed) return current;
                     if ( state.backtracking==0 ) {
 
                       				current = grammarAccess.getPageSizeEnumAccess().getA5EnumLiteralDeclaration_2().getEnumLiteral().getInstance();
@@ -41111,12 +41957,12 @@
                     }
                     break;
                 case 4 :
-                    // InternalReportDSL.g:15049:3: (enumLiteral_3= 'us-letter' )
+                    // InternalReportDSL.g:15358:3: (enumLiteral_3= 'us-letter' )
                     {
-                    // InternalReportDSL.g:15049:3: (enumLiteral_3= 'us-letter' )
-                    // InternalReportDSL.g:15050:4: enumLiteral_3= 'us-letter'
+                    // InternalReportDSL.g:15358:3: (enumLiteral_3= 'us-letter' )
+                    // InternalReportDSL.g:15359:4: enumLiteral_3= 'us-letter'
                     {
-                    enumLiteral_3=(Token)match(input,207,FOLLOW_2); if (state.failed) return current;
+                    enumLiteral_3=(Token)match(input,206,FOLLOW_2); if (state.failed) return current;
                     if ( state.backtracking==0 ) {
 
                       				current = grammarAccess.getPageSizeEnumAccess().getUS_LETTEREnumLiteralDeclaration_3().getEnumLiteral().getInstance();
@@ -41130,12 +41976,12 @@
                     }
                     break;
                 case 5 :
-                    // InternalReportDSL.g:15057:3: (enumLiteral_4= 'us-legal' )
+                    // InternalReportDSL.g:15366:3: (enumLiteral_4= 'us-legal' )
                     {
-                    // InternalReportDSL.g:15057:3: (enumLiteral_4= 'us-legal' )
-                    // InternalReportDSL.g:15058:4: enumLiteral_4= 'us-legal'
+                    // InternalReportDSL.g:15366:3: (enumLiteral_4= 'us-legal' )
+                    // InternalReportDSL.g:15367:4: enumLiteral_4= 'us-legal'
                     {
-                    enumLiteral_4=(Token)match(input,208,FOLLOW_2); if (state.failed) return current;
+                    enumLiteral_4=(Token)match(input,207,FOLLOW_2); if (state.failed) return current;
                     if ( state.backtracking==0 ) {
 
                       				current = grammarAccess.getPageSizeEnumAccess().getUS_LEGALEnumLiteralDeclaration_4().getEnumLiteral().getInstance();
@@ -41149,12 +41995,12 @@
                     }
                     break;
                 case 6 :
-                    // InternalReportDSL.g:15065:3: (enumLiteral_5= 'us-ledger' )
+                    // InternalReportDSL.g:15374:3: (enumLiteral_5= 'us-ledger' )
                     {
-                    // InternalReportDSL.g:15065:3: (enumLiteral_5= 'us-ledger' )
-                    // InternalReportDSL.g:15066:4: enumLiteral_5= 'us-ledger'
+                    // InternalReportDSL.g:15374:3: (enumLiteral_5= 'us-ledger' )
+                    // InternalReportDSL.g:15375:4: enumLiteral_5= 'us-ledger'
                     {
-                    enumLiteral_5=(Token)match(input,209,FOLLOW_2); if (state.failed) return current;
+                    enumLiteral_5=(Token)match(input,208,FOLLOW_2); if (state.failed) return current;
                     if ( state.backtracking==0 ) {
 
                       				current = grammarAccess.getPageSizeEnumAccess().getUS_LEDGEREnumLiteralDeclaration_5().getEnumLiteral().getInstance();
@@ -41168,12 +42014,12 @@
                     }
                     break;
                 case 7 :
-                    // InternalReportDSL.g:15073:3: (enumLiteral_6= 'us-super-b' )
+                    // InternalReportDSL.g:15382:3: (enumLiteral_6= 'us-super-b' )
                     {
-                    // InternalReportDSL.g:15073:3: (enumLiteral_6= 'us-super-b' )
-                    // InternalReportDSL.g:15074:4: enumLiteral_6= 'us-super-b'
+                    // InternalReportDSL.g:15382:3: (enumLiteral_6= 'us-super-b' )
+                    // InternalReportDSL.g:15383:4: enumLiteral_6= 'us-super-b'
                     {
-                    enumLiteral_6=(Token)match(input,210,FOLLOW_2); if (state.failed) return current;
+                    enumLiteral_6=(Token)match(input,209,FOLLOW_2); if (state.failed) return current;
                     if ( state.backtracking==0 ) {
 
                       				current = grammarAccess.getPageSizeEnumAccess().getUS_SUPER_BEnumLiteralDeclaration_6().getEnumLiteral().getInstance();
@@ -41211,7 +42057,7 @@
 
 
     // $ANTLR start "ruleOrientationEnum"
-    // InternalReportDSL.g:15084:1: ruleOrientationEnum returns [Enumerator current=null] : ( (enumLiteral_0= 'portrait' ) | (enumLiteral_1= 'landscape' ) ) ;
+    // InternalReportDSL.g:15393:1: ruleOrientationEnum returns [Enumerator current=null] : ( (enumLiteral_0= 'portrait' ) | (enumLiteral_1= 'landscape' ) ) ;
     public final Enumerator ruleOrientationEnum() throws RecognitionException {
         Enumerator current = null;
 
@@ -41222,34 +42068,34 @@
         	enterRule();
 
         try {
-            // InternalReportDSL.g:15090:2: ( ( (enumLiteral_0= 'portrait' ) | (enumLiteral_1= 'landscape' ) ) )
-            // InternalReportDSL.g:15091:2: ( (enumLiteral_0= 'portrait' ) | (enumLiteral_1= 'landscape' ) )
+            // InternalReportDSL.g:15399:2: ( ( (enumLiteral_0= 'portrait' ) | (enumLiteral_1= 'landscape' ) ) )
+            // InternalReportDSL.g:15400:2: ( (enumLiteral_0= 'portrait' ) | (enumLiteral_1= 'landscape' ) )
             {
-            // InternalReportDSL.g:15091:2: ( (enumLiteral_0= 'portrait' ) | (enumLiteral_1= 'landscape' ) )
-            int alt235=2;
-            int LA235_0 = input.LA(1);
+            // InternalReportDSL.g:15400:2: ( (enumLiteral_0= 'portrait' ) | (enumLiteral_1= 'landscape' ) )
+            int alt223=2;
+            int LA223_0 = input.LA(1);
 
-            if ( (LA235_0==211) ) {
-                alt235=1;
+            if ( (LA223_0==210) ) {
+                alt223=1;
             }
-            else if ( (LA235_0==212) ) {
-                alt235=2;
+            else if ( (LA223_0==211) ) {
+                alt223=2;
             }
             else {
                 if (state.backtracking>0) {state.failed=true; return current;}
                 NoViableAltException nvae =
-                    new NoViableAltException("", 235, 0, input);
+                    new NoViableAltException("", 223, 0, input);
 
                 throw nvae;
             }
-            switch (alt235) {
+            switch (alt223) {
                 case 1 :
-                    // InternalReportDSL.g:15092:3: (enumLiteral_0= 'portrait' )
+                    // InternalReportDSL.g:15401:3: (enumLiteral_0= 'portrait' )
                     {
-                    // InternalReportDSL.g:15092:3: (enumLiteral_0= 'portrait' )
-                    // InternalReportDSL.g:15093:4: enumLiteral_0= 'portrait'
+                    // InternalReportDSL.g:15401:3: (enumLiteral_0= 'portrait' )
+                    // InternalReportDSL.g:15402:4: enumLiteral_0= 'portrait'
                     {
-                    enumLiteral_0=(Token)match(input,211,FOLLOW_2); if (state.failed) return current;
+                    enumLiteral_0=(Token)match(input,210,FOLLOW_2); if (state.failed) return current;
                     if ( state.backtracking==0 ) {
 
                       				current = grammarAccess.getOrientationEnumAccess().getPORTRAITEnumLiteralDeclaration_0().getEnumLiteral().getInstance();
@@ -41263,12 +42109,12 @@
                     }
                     break;
                 case 2 :
-                    // InternalReportDSL.g:15100:3: (enumLiteral_1= 'landscape' )
+                    // InternalReportDSL.g:15409:3: (enumLiteral_1= 'landscape' )
                     {
-                    // InternalReportDSL.g:15100:3: (enumLiteral_1= 'landscape' )
-                    // InternalReportDSL.g:15101:4: enumLiteral_1= 'landscape'
+                    // InternalReportDSL.g:15409:3: (enumLiteral_1= 'landscape' )
+                    // InternalReportDSL.g:15410:4: enumLiteral_1= 'landscape'
                     {
-                    enumLiteral_1=(Token)match(input,212,FOLLOW_2); if (state.failed) return current;
+                    enumLiteral_1=(Token)match(input,211,FOLLOW_2); if (state.failed) return current;
                     if ( state.backtracking==0 ) {
 
                       				current = grammarAccess.getOrientationEnumAccess().getLANDSCAPEEnumLiteralDeclaration_1().getEnumLiteral().getInstance();
@@ -41306,7 +42152,7 @@
 
 
     // $ANTLR start "ruleFontStyleEnum"
-    // InternalReportDSL.g:15111:1: ruleFontStyleEnum returns [Enumerator current=null] : ( (enumLiteral_0= 'normal' ) | (enumLiteral_1= 'italic' ) | (enumLiteral_2= 'oblique' ) ) ;
+    // InternalReportDSL.g:15420:1: ruleFontStyleEnum returns [Enumerator current=null] : ( (enumLiteral_0= 'normal' ) | (enumLiteral_1= 'italic' ) | (enumLiteral_2= 'oblique' ) ) ;
     public final Enumerator ruleFontStyleEnum() throws RecognitionException {
         Enumerator current = null;
 
@@ -41318,43 +42164,43 @@
         	enterRule();
 
         try {
-            // InternalReportDSL.g:15117:2: ( ( (enumLiteral_0= 'normal' ) | (enumLiteral_1= 'italic' ) | (enumLiteral_2= 'oblique' ) ) )
-            // InternalReportDSL.g:15118:2: ( (enumLiteral_0= 'normal' ) | (enumLiteral_1= 'italic' ) | (enumLiteral_2= 'oblique' ) )
+            // InternalReportDSL.g:15426:2: ( ( (enumLiteral_0= 'normal' ) | (enumLiteral_1= 'italic' ) | (enumLiteral_2= 'oblique' ) ) )
+            // InternalReportDSL.g:15427:2: ( (enumLiteral_0= 'normal' ) | (enumLiteral_1= 'italic' ) | (enumLiteral_2= 'oblique' ) )
             {
-            // InternalReportDSL.g:15118:2: ( (enumLiteral_0= 'normal' ) | (enumLiteral_1= 'italic' ) | (enumLiteral_2= 'oblique' ) )
-            int alt236=3;
+            // InternalReportDSL.g:15427:2: ( (enumLiteral_0= 'normal' ) | (enumLiteral_1= 'italic' ) | (enumLiteral_2= 'oblique' ) )
+            int alt224=3;
             switch ( input.LA(1) ) {
+            case 212:
+                {
+                alt224=1;
+                }
+                break;
             case 213:
                 {
-                alt236=1;
+                alt224=2;
                 }
                 break;
             case 214:
                 {
-                alt236=2;
-                }
-                break;
-            case 215:
-                {
-                alt236=3;
+                alt224=3;
                 }
                 break;
             default:
                 if (state.backtracking>0) {state.failed=true; return current;}
                 NoViableAltException nvae =
-                    new NoViableAltException("", 236, 0, input);
+                    new NoViableAltException("", 224, 0, input);
 
                 throw nvae;
             }
 
-            switch (alt236) {
+            switch (alt224) {
                 case 1 :
-                    // InternalReportDSL.g:15119:3: (enumLiteral_0= 'normal' )
+                    // InternalReportDSL.g:15428:3: (enumLiteral_0= 'normal' )
                     {
-                    // InternalReportDSL.g:15119:3: (enumLiteral_0= 'normal' )
-                    // InternalReportDSL.g:15120:4: enumLiteral_0= 'normal'
+                    // InternalReportDSL.g:15428:3: (enumLiteral_0= 'normal' )
+                    // InternalReportDSL.g:15429:4: enumLiteral_0= 'normal'
                     {
-                    enumLiteral_0=(Token)match(input,213,FOLLOW_2); if (state.failed) return current;
+                    enumLiteral_0=(Token)match(input,212,FOLLOW_2); if (state.failed) return current;
                     if ( state.backtracking==0 ) {
 
                       				current = grammarAccess.getFontStyleEnumAccess().getNORMALEnumLiteralDeclaration_0().getEnumLiteral().getInstance();
@@ -41368,12 +42214,12 @@
                     }
                     break;
                 case 2 :
-                    // InternalReportDSL.g:15127:3: (enumLiteral_1= 'italic' )
+                    // InternalReportDSL.g:15436:3: (enumLiteral_1= 'italic' )
                     {
-                    // InternalReportDSL.g:15127:3: (enumLiteral_1= 'italic' )
-                    // InternalReportDSL.g:15128:4: enumLiteral_1= 'italic'
+                    // InternalReportDSL.g:15436:3: (enumLiteral_1= 'italic' )
+                    // InternalReportDSL.g:15437:4: enumLiteral_1= 'italic'
                     {
-                    enumLiteral_1=(Token)match(input,214,FOLLOW_2); if (state.failed) return current;
+                    enumLiteral_1=(Token)match(input,213,FOLLOW_2); if (state.failed) return current;
                     if ( state.backtracking==0 ) {
 
                       				current = grammarAccess.getFontStyleEnumAccess().getITALICEnumLiteralDeclaration_1().getEnumLiteral().getInstance();
@@ -41387,12 +42233,12 @@
                     }
                     break;
                 case 3 :
-                    // InternalReportDSL.g:15135:3: (enumLiteral_2= 'oblique' )
+                    // InternalReportDSL.g:15444:3: (enumLiteral_2= 'oblique' )
                     {
-                    // InternalReportDSL.g:15135:3: (enumLiteral_2= 'oblique' )
-                    // InternalReportDSL.g:15136:4: enumLiteral_2= 'oblique'
+                    // InternalReportDSL.g:15444:3: (enumLiteral_2= 'oblique' )
+                    // InternalReportDSL.g:15445:4: enumLiteral_2= 'oblique'
                     {
-                    enumLiteral_2=(Token)match(input,215,FOLLOW_2); if (state.failed) return current;
+                    enumLiteral_2=(Token)match(input,214,FOLLOW_2); if (state.failed) return current;
                     if ( state.backtracking==0 ) {
 
                       				current = grammarAccess.getFontStyleEnumAccess().getOBLIQUEEnumLiteralDeclaration_2().getEnumLiteral().getInstance();
@@ -41430,7 +42276,7 @@
 
 
     // $ANTLR start "ruleBuildInFontFamilyEnum"
-    // InternalReportDSL.g:15146:1: ruleBuildInFontFamilyEnum returns [Enumerator current=null] : ( (enumLiteral_0= 'monospace' ) | (enumLiteral_1= 'sans-serif' ) | (enumLiteral_2= 'serif' ) ) ;
+    // InternalReportDSL.g:15455:1: ruleBuildInFontFamilyEnum returns [Enumerator current=null] : ( (enumLiteral_0= 'monospace' ) | (enumLiteral_1= 'sans-serif' ) | (enumLiteral_2= 'serif' ) ) ;
     public final Enumerator ruleBuildInFontFamilyEnum() throws RecognitionException {
         Enumerator current = null;
 
@@ -41442,43 +42288,43 @@
         	enterRule();
 
         try {
-            // InternalReportDSL.g:15152:2: ( ( (enumLiteral_0= 'monospace' ) | (enumLiteral_1= 'sans-serif' ) | (enumLiteral_2= 'serif' ) ) )
-            // InternalReportDSL.g:15153:2: ( (enumLiteral_0= 'monospace' ) | (enumLiteral_1= 'sans-serif' ) | (enumLiteral_2= 'serif' ) )
+            // InternalReportDSL.g:15461:2: ( ( (enumLiteral_0= 'monospace' ) | (enumLiteral_1= 'sans-serif' ) | (enumLiteral_2= 'serif' ) ) )
+            // InternalReportDSL.g:15462:2: ( (enumLiteral_0= 'monospace' ) | (enumLiteral_1= 'sans-serif' ) | (enumLiteral_2= 'serif' ) )
             {
-            // InternalReportDSL.g:15153:2: ( (enumLiteral_0= 'monospace' ) | (enumLiteral_1= 'sans-serif' ) | (enumLiteral_2= 'serif' ) )
-            int alt237=3;
+            // InternalReportDSL.g:15462:2: ( (enumLiteral_0= 'monospace' ) | (enumLiteral_1= 'sans-serif' ) | (enumLiteral_2= 'serif' ) )
+            int alt225=3;
             switch ( input.LA(1) ) {
+            case 215:
+                {
+                alt225=1;
+                }
+                break;
             case 216:
                 {
-                alt237=1;
+                alt225=2;
                 }
                 break;
             case 217:
                 {
-                alt237=2;
-                }
-                break;
-            case 218:
-                {
-                alt237=3;
+                alt225=3;
                 }
                 break;
             default:
                 if (state.backtracking>0) {state.failed=true; return current;}
                 NoViableAltException nvae =
-                    new NoViableAltException("", 237, 0, input);
+                    new NoViableAltException("", 225, 0, input);
 
                 throw nvae;
             }
 
-            switch (alt237) {
+            switch (alt225) {
                 case 1 :
-                    // InternalReportDSL.g:15154:3: (enumLiteral_0= 'monospace' )
+                    // InternalReportDSL.g:15463:3: (enumLiteral_0= 'monospace' )
                     {
-                    // InternalReportDSL.g:15154:3: (enumLiteral_0= 'monospace' )
-                    // InternalReportDSL.g:15155:4: enumLiteral_0= 'monospace'
+                    // InternalReportDSL.g:15463:3: (enumLiteral_0= 'monospace' )
+                    // InternalReportDSL.g:15464:4: enumLiteral_0= 'monospace'
                     {
-                    enumLiteral_0=(Token)match(input,216,FOLLOW_2); if (state.failed) return current;
+                    enumLiteral_0=(Token)match(input,215,FOLLOW_2); if (state.failed) return current;
                     if ( state.backtracking==0 ) {
 
                       				current = grammarAccess.getBuildInFontFamilyEnumAccess().getMONOSPACEEnumLiteralDeclaration_0().getEnumLiteral().getInstance();
@@ -41492,12 +42338,12 @@
                     }
                     break;
                 case 2 :
-                    // InternalReportDSL.g:15162:3: (enumLiteral_1= 'sans-serif' )
+                    // InternalReportDSL.g:15471:3: (enumLiteral_1= 'sans-serif' )
                     {
-                    // InternalReportDSL.g:15162:3: (enumLiteral_1= 'sans-serif' )
-                    // InternalReportDSL.g:15163:4: enumLiteral_1= 'sans-serif'
+                    // InternalReportDSL.g:15471:3: (enumLiteral_1= 'sans-serif' )
+                    // InternalReportDSL.g:15472:4: enumLiteral_1= 'sans-serif'
                     {
-                    enumLiteral_1=(Token)match(input,217,FOLLOW_2); if (state.failed) return current;
+                    enumLiteral_1=(Token)match(input,216,FOLLOW_2); if (state.failed) return current;
                     if ( state.backtracking==0 ) {
 
                       				current = grammarAccess.getBuildInFontFamilyEnumAccess().getSANS_SERIFEnumLiteralDeclaration_1().getEnumLiteral().getInstance();
@@ -41511,12 +42357,12 @@
                     }
                     break;
                 case 3 :
-                    // InternalReportDSL.g:15170:3: (enumLiteral_2= 'serif' )
+                    // InternalReportDSL.g:15479:3: (enumLiteral_2= 'serif' )
                     {
-                    // InternalReportDSL.g:15170:3: (enumLiteral_2= 'serif' )
-                    // InternalReportDSL.g:15171:4: enumLiteral_2= 'serif'
+                    // InternalReportDSL.g:15479:3: (enumLiteral_2= 'serif' )
+                    // InternalReportDSL.g:15480:4: enumLiteral_2= 'serif'
                     {
-                    enumLiteral_2=(Token)match(input,218,FOLLOW_2); if (state.failed) return current;
+                    enumLiteral_2=(Token)match(input,217,FOLLOW_2); if (state.failed) return current;
                     if ( state.backtracking==0 ) {
 
                       				current = grammarAccess.getBuildInFontFamilyEnumAccess().getSERIFEnumLiteralDeclaration_2().getEnumLiteral().getInstance();
@@ -41554,7 +42400,7 @@
 
 
     // $ANTLR start "ruleTextAlignEnum"
-    // InternalReportDSL.g:15181:1: ruleTextAlignEnum returns [Enumerator current=null] : ( (enumLiteral_0= 'left' ) | (enumLiteral_1= 'center' ) | (enumLiteral_2= 'right' ) ) ;
+    // InternalReportDSL.g:15490:1: ruleTextAlignEnum returns [Enumerator current=null] : ( (enumLiteral_0= 'left' ) | (enumLiteral_1= 'center' ) | (enumLiteral_2= 'right' ) ) ;
     public final Enumerator ruleTextAlignEnum() throws RecognitionException {
         Enumerator current = null;
 
@@ -41566,43 +42412,43 @@
         	enterRule();
 
         try {
-            // InternalReportDSL.g:15187:2: ( ( (enumLiteral_0= 'left' ) | (enumLiteral_1= 'center' ) | (enumLiteral_2= 'right' ) ) )
-            // InternalReportDSL.g:15188:2: ( (enumLiteral_0= 'left' ) | (enumLiteral_1= 'center' ) | (enumLiteral_2= 'right' ) )
+            // InternalReportDSL.g:15496:2: ( ( (enumLiteral_0= 'left' ) | (enumLiteral_1= 'center' ) | (enumLiteral_2= 'right' ) ) )
+            // InternalReportDSL.g:15497:2: ( (enumLiteral_0= 'left' ) | (enumLiteral_1= 'center' ) | (enumLiteral_2= 'right' ) )
             {
-            // InternalReportDSL.g:15188:2: ( (enumLiteral_0= 'left' ) | (enumLiteral_1= 'center' ) | (enumLiteral_2= 'right' ) )
-            int alt238=3;
+            // InternalReportDSL.g:15497:2: ( (enumLiteral_0= 'left' ) | (enumLiteral_1= 'center' ) | (enumLiteral_2= 'right' ) )
+            int alt226=3;
             switch ( input.LA(1) ) {
+            case 218:
+                {
+                alt226=1;
+                }
+                break;
             case 219:
                 {
-                alt238=1;
+                alt226=2;
                 }
                 break;
             case 220:
                 {
-                alt238=2;
-                }
-                break;
-            case 221:
-                {
-                alt238=3;
+                alt226=3;
                 }
                 break;
             default:
                 if (state.backtracking>0) {state.failed=true; return current;}
                 NoViableAltException nvae =
-                    new NoViableAltException("", 238, 0, input);
+                    new NoViableAltException("", 226, 0, input);
 
                 throw nvae;
             }
 
-            switch (alt238) {
+            switch (alt226) {
                 case 1 :
-                    // InternalReportDSL.g:15189:3: (enumLiteral_0= 'left' )
+                    // InternalReportDSL.g:15498:3: (enumLiteral_0= 'left' )
                     {
-                    // InternalReportDSL.g:15189:3: (enumLiteral_0= 'left' )
-                    // InternalReportDSL.g:15190:4: enumLiteral_0= 'left'
+                    // InternalReportDSL.g:15498:3: (enumLiteral_0= 'left' )
+                    // InternalReportDSL.g:15499:4: enumLiteral_0= 'left'
                     {
-                    enumLiteral_0=(Token)match(input,219,FOLLOW_2); if (state.failed) return current;
+                    enumLiteral_0=(Token)match(input,218,FOLLOW_2); if (state.failed) return current;
                     if ( state.backtracking==0 ) {
 
                       				current = grammarAccess.getTextAlignEnumAccess().getLEFTEnumLiteralDeclaration_0().getEnumLiteral().getInstance();
@@ -41616,12 +42462,12 @@
                     }
                     break;
                 case 2 :
-                    // InternalReportDSL.g:15197:3: (enumLiteral_1= 'center' )
+                    // InternalReportDSL.g:15506:3: (enumLiteral_1= 'center' )
                     {
-                    // InternalReportDSL.g:15197:3: (enumLiteral_1= 'center' )
-                    // InternalReportDSL.g:15198:4: enumLiteral_1= 'center'
+                    // InternalReportDSL.g:15506:3: (enumLiteral_1= 'center' )
+                    // InternalReportDSL.g:15507:4: enumLiteral_1= 'center'
                     {
-                    enumLiteral_1=(Token)match(input,220,FOLLOW_2); if (state.failed) return current;
+                    enumLiteral_1=(Token)match(input,219,FOLLOW_2); if (state.failed) return current;
                     if ( state.backtracking==0 ) {
 
                       				current = grammarAccess.getTextAlignEnumAccess().getCENTEREnumLiteralDeclaration_1().getEnumLiteral().getInstance();
@@ -41635,12 +42481,12 @@
                     }
                     break;
                 case 3 :
-                    // InternalReportDSL.g:15205:3: (enumLiteral_2= 'right' )
+                    // InternalReportDSL.g:15514:3: (enumLiteral_2= 'right' )
                     {
-                    // InternalReportDSL.g:15205:3: (enumLiteral_2= 'right' )
-                    // InternalReportDSL.g:15206:4: enumLiteral_2= 'right'
+                    // InternalReportDSL.g:15514:3: (enumLiteral_2= 'right' )
+                    // InternalReportDSL.g:15515:4: enumLiteral_2= 'right'
                     {
-                    enumLiteral_2=(Token)match(input,221,FOLLOW_2); if (state.failed) return current;
+                    enumLiteral_2=(Token)match(input,220,FOLLOW_2); if (state.failed) return current;
                     if ( state.backtracking==0 ) {
 
                       				current = grammarAccess.getTextAlignEnumAccess().getRIGHTEnumLiteralDeclaration_2().getEnumLiteral().getInstance();
@@ -41677,8 +42523,132 @@
     // $ANTLR end "ruleTextAlignEnum"
 
 
+    // $ANTLR start "ruleVerticalTextAlignEnum"
+    // InternalReportDSL.g:15525:1: ruleVerticalTextAlignEnum returns [Enumerator current=null] : ( (enumLiteral_0= 'bottom' ) | (enumLiteral_1= 'middle' ) | (enumLiteral_2= 'top' ) ) ;
+    public final Enumerator ruleVerticalTextAlignEnum() throws RecognitionException {
+        Enumerator current = null;
+
+        Token enumLiteral_0=null;
+        Token enumLiteral_1=null;
+        Token enumLiteral_2=null;
+
+
+        	enterRule();
+
+        try {
+            // InternalReportDSL.g:15531:2: ( ( (enumLiteral_0= 'bottom' ) | (enumLiteral_1= 'middle' ) | (enumLiteral_2= 'top' ) ) )
+            // InternalReportDSL.g:15532:2: ( (enumLiteral_0= 'bottom' ) | (enumLiteral_1= 'middle' ) | (enumLiteral_2= 'top' ) )
+            {
+            // InternalReportDSL.g:15532:2: ( (enumLiteral_0= 'bottom' ) | (enumLiteral_1= 'middle' ) | (enumLiteral_2= 'top' ) )
+            int alt227=3;
+            switch ( input.LA(1) ) {
+            case 221:
+                {
+                alt227=1;
+                }
+                break;
+            case 222:
+                {
+                alt227=2;
+                }
+                break;
+            case 223:
+                {
+                alt227=3;
+                }
+                break;
+            default:
+                if (state.backtracking>0) {state.failed=true; return current;}
+                NoViableAltException nvae =
+                    new NoViableAltException("", 227, 0, input);
+
+                throw nvae;
+            }
+
+            switch (alt227) {
+                case 1 :
+                    // InternalReportDSL.g:15533:3: (enumLiteral_0= 'bottom' )
+                    {
+                    // InternalReportDSL.g:15533:3: (enumLiteral_0= 'bottom' )
+                    // InternalReportDSL.g:15534:4: enumLiteral_0= 'bottom'
+                    {
+                    enumLiteral_0=(Token)match(input,221,FOLLOW_2); if (state.failed) return current;
+                    if ( state.backtracking==0 ) {
+
+                      				current = grammarAccess.getVerticalTextAlignEnumAccess().getBOTTOMEnumLiteralDeclaration_0().getEnumLiteral().getInstance();
+                      				newLeafNode(enumLiteral_0, grammarAccess.getVerticalTextAlignEnumAccess().getBOTTOMEnumLiteralDeclaration_0());
+                      			
+                    }
+
+                    }
+
+
+                    }
+                    break;
+                case 2 :
+                    // InternalReportDSL.g:15541:3: (enumLiteral_1= 'middle' )
+                    {
+                    // InternalReportDSL.g:15541:3: (enumLiteral_1= 'middle' )
+                    // InternalReportDSL.g:15542:4: enumLiteral_1= 'middle'
+                    {
+                    enumLiteral_1=(Token)match(input,222,FOLLOW_2); if (state.failed) return current;
+                    if ( state.backtracking==0 ) {
+
+                      				current = grammarAccess.getVerticalTextAlignEnumAccess().getMIDDLEEnumLiteralDeclaration_1().getEnumLiteral().getInstance();
+                      				newLeafNode(enumLiteral_1, grammarAccess.getVerticalTextAlignEnumAccess().getMIDDLEEnumLiteralDeclaration_1());
+                      			
+                    }
+
+                    }
+
+
+                    }
+                    break;
+                case 3 :
+                    // InternalReportDSL.g:15549:3: (enumLiteral_2= 'top' )
+                    {
+                    // InternalReportDSL.g:15549:3: (enumLiteral_2= 'top' )
+                    // InternalReportDSL.g:15550:4: enumLiteral_2= 'top'
+                    {
+                    enumLiteral_2=(Token)match(input,223,FOLLOW_2); if (state.failed) return current;
+                    if ( state.backtracking==0 ) {
+
+                      				current = grammarAccess.getVerticalTextAlignEnumAccess().getTOPEnumLiteralDeclaration_2().getEnumLiteral().getInstance();
+                      				newLeafNode(enumLiteral_2, grammarAccess.getVerticalTextAlignEnumAccess().getTOPEnumLiteralDeclaration_2());
+                      			
+                    }
+
+                    }
+
+
+                    }
+                    break;
+
+            }
+
+
+            }
+
+            if ( state.backtracking==0 ) {
+
+              	leaveRule();
+
+            }
+        }
+
+            catch (RecognitionException re) {
+                recover(input,re);
+                appendSkippedTokens();
+            }
+        finally {
+        }
+        return current;
+    }
+    // $ANTLR end "ruleVerticalTextAlignEnum"
+
+
     // $ANTLR start "ruleNumberFormatCategoryEnum"
-    // InternalReportDSL.g:15216:1: ruleNumberFormatCategoryEnum returns [Enumerator current=null] : ( (enumLiteral_0= 'unformatted' ) | (enumLiteral_1= 'general-number' ) | (enumLiteral_2= 'fixed' ) | (enumLiteral_3= 'percent' ) | (enumLiteral_4= 'scientific' ) | (enumLiteral_5= 'custom' ) ) ;
+    // InternalReportDSL.g:15560:1: ruleNumberFormatCategoryEnum returns [Enumerator current=null] : ( (enumLiteral_0= 'unformatted' ) | (enumLiteral_1= 'general-number' ) | (enumLiteral_2= 'fixed' ) | (enumLiteral_3= 'percent' ) | (enumLiteral_4= 'scientific' ) | (enumLiteral_5= 'custom' ) ) ;
     public final Enumerator ruleNumberFormatCategoryEnum() throws RecognitionException {
         Enumerator current = null;
 
@@ -41693,58 +42663,58 @@
         	enterRule();
 
         try {
-            // InternalReportDSL.g:15222:2: ( ( (enumLiteral_0= 'unformatted' ) | (enumLiteral_1= 'general-number' ) | (enumLiteral_2= 'fixed' ) | (enumLiteral_3= 'percent' ) | (enumLiteral_4= 'scientific' ) | (enumLiteral_5= 'custom' ) ) )
-            // InternalReportDSL.g:15223:2: ( (enumLiteral_0= 'unformatted' ) | (enumLiteral_1= 'general-number' ) | (enumLiteral_2= 'fixed' ) | (enumLiteral_3= 'percent' ) | (enumLiteral_4= 'scientific' ) | (enumLiteral_5= 'custom' ) )
+            // InternalReportDSL.g:15566:2: ( ( (enumLiteral_0= 'unformatted' ) | (enumLiteral_1= 'general-number' ) | (enumLiteral_2= 'fixed' ) | (enumLiteral_3= 'percent' ) | (enumLiteral_4= 'scientific' ) | (enumLiteral_5= 'custom' ) ) )
+            // InternalReportDSL.g:15567:2: ( (enumLiteral_0= 'unformatted' ) | (enumLiteral_1= 'general-number' ) | (enumLiteral_2= 'fixed' ) | (enumLiteral_3= 'percent' ) | (enumLiteral_4= 'scientific' ) | (enumLiteral_5= 'custom' ) )
             {
-            // InternalReportDSL.g:15223:2: ( (enumLiteral_0= 'unformatted' ) | (enumLiteral_1= 'general-number' ) | (enumLiteral_2= 'fixed' ) | (enumLiteral_3= 'percent' ) | (enumLiteral_4= 'scientific' ) | (enumLiteral_5= 'custom' ) )
-            int alt239=6;
+            // InternalReportDSL.g:15567:2: ( (enumLiteral_0= 'unformatted' ) | (enumLiteral_1= 'general-number' ) | (enumLiteral_2= 'fixed' ) | (enumLiteral_3= 'percent' ) | (enumLiteral_4= 'scientific' ) | (enumLiteral_5= 'custom' ) )
+            int alt228=6;
             switch ( input.LA(1) ) {
-            case 222:
-                {
-                alt239=1;
-                }
-                break;
-            case 223:
-                {
-                alt239=2;
-                }
-                break;
             case 224:
                 {
-                alt239=3;
+                alt228=1;
                 }
                 break;
             case 225:
                 {
-                alt239=4;
+                alt228=2;
                 }
                 break;
             case 226:
                 {
-                alt239=5;
+                alt228=3;
                 }
                 break;
             case 227:
                 {
-                alt239=6;
+                alt228=4;
+                }
+                break;
+            case 228:
+                {
+                alt228=5;
+                }
+                break;
+            case 229:
+                {
+                alt228=6;
                 }
                 break;
             default:
                 if (state.backtracking>0) {state.failed=true; return current;}
                 NoViableAltException nvae =
-                    new NoViableAltException("", 239, 0, input);
+                    new NoViableAltException("", 228, 0, input);
 
                 throw nvae;
             }
 
-            switch (alt239) {
+            switch (alt228) {
                 case 1 :
-                    // InternalReportDSL.g:15224:3: (enumLiteral_0= 'unformatted' )
+                    // InternalReportDSL.g:15568:3: (enumLiteral_0= 'unformatted' )
                     {
-                    // InternalReportDSL.g:15224:3: (enumLiteral_0= 'unformatted' )
-                    // InternalReportDSL.g:15225:4: enumLiteral_0= 'unformatted'
+                    // InternalReportDSL.g:15568:3: (enumLiteral_0= 'unformatted' )
+                    // InternalReportDSL.g:15569:4: enumLiteral_0= 'unformatted'
                     {
-                    enumLiteral_0=(Token)match(input,222,FOLLOW_2); if (state.failed) return current;
+                    enumLiteral_0=(Token)match(input,224,FOLLOW_2); if (state.failed) return current;
                     if ( state.backtracking==0 ) {
 
                       				current = grammarAccess.getNumberFormatCategoryEnumAccess().getUNFORMATTEDEnumLiteralDeclaration_0().getEnumLiteral().getInstance();
@@ -41758,12 +42728,12 @@
                     }
                     break;
                 case 2 :
-                    // InternalReportDSL.g:15232:3: (enumLiteral_1= 'general-number' )
+                    // InternalReportDSL.g:15576:3: (enumLiteral_1= 'general-number' )
                     {
-                    // InternalReportDSL.g:15232:3: (enumLiteral_1= 'general-number' )
-                    // InternalReportDSL.g:15233:4: enumLiteral_1= 'general-number'
+                    // InternalReportDSL.g:15576:3: (enumLiteral_1= 'general-number' )
+                    // InternalReportDSL.g:15577:4: enumLiteral_1= 'general-number'
                     {
-                    enumLiteral_1=(Token)match(input,223,FOLLOW_2); if (state.failed) return current;
+                    enumLiteral_1=(Token)match(input,225,FOLLOW_2); if (state.failed) return current;
                     if ( state.backtracking==0 ) {
 
                       				current = grammarAccess.getNumberFormatCategoryEnumAccess().getGENERAL_NUMBEREnumLiteralDeclaration_1().getEnumLiteral().getInstance();
@@ -41777,12 +42747,12 @@
                     }
                     break;
                 case 3 :
-                    // InternalReportDSL.g:15240:3: (enumLiteral_2= 'fixed' )
+                    // InternalReportDSL.g:15584:3: (enumLiteral_2= 'fixed' )
                     {
-                    // InternalReportDSL.g:15240:3: (enumLiteral_2= 'fixed' )
-                    // InternalReportDSL.g:15241:4: enumLiteral_2= 'fixed'
+                    // InternalReportDSL.g:15584:3: (enumLiteral_2= 'fixed' )
+                    // InternalReportDSL.g:15585:4: enumLiteral_2= 'fixed'
                     {
-                    enumLiteral_2=(Token)match(input,224,FOLLOW_2); if (state.failed) return current;
+                    enumLiteral_2=(Token)match(input,226,FOLLOW_2); if (state.failed) return current;
                     if ( state.backtracking==0 ) {
 
                       				current = grammarAccess.getNumberFormatCategoryEnumAccess().getFIXEDEnumLiteralDeclaration_2().getEnumLiteral().getInstance();
@@ -41796,12 +42766,12 @@
                     }
                     break;
                 case 4 :
-                    // InternalReportDSL.g:15248:3: (enumLiteral_3= 'percent' )
+                    // InternalReportDSL.g:15592:3: (enumLiteral_3= 'percent' )
                     {
-                    // InternalReportDSL.g:15248:3: (enumLiteral_3= 'percent' )
-                    // InternalReportDSL.g:15249:4: enumLiteral_3= 'percent'
+                    // InternalReportDSL.g:15592:3: (enumLiteral_3= 'percent' )
+                    // InternalReportDSL.g:15593:4: enumLiteral_3= 'percent'
                     {
-                    enumLiteral_3=(Token)match(input,225,FOLLOW_2); if (state.failed) return current;
+                    enumLiteral_3=(Token)match(input,227,FOLLOW_2); if (state.failed) return current;
                     if ( state.backtracking==0 ) {
 
                       				current = grammarAccess.getNumberFormatCategoryEnumAccess().getPERCENTEnumLiteralDeclaration_3().getEnumLiteral().getInstance();
@@ -41815,12 +42785,12 @@
                     }
                     break;
                 case 5 :
-                    // InternalReportDSL.g:15256:3: (enumLiteral_4= 'scientific' )
+                    // InternalReportDSL.g:15600:3: (enumLiteral_4= 'scientific' )
                     {
-                    // InternalReportDSL.g:15256:3: (enumLiteral_4= 'scientific' )
-                    // InternalReportDSL.g:15257:4: enumLiteral_4= 'scientific'
+                    // InternalReportDSL.g:15600:3: (enumLiteral_4= 'scientific' )
+                    // InternalReportDSL.g:15601:4: enumLiteral_4= 'scientific'
                     {
-                    enumLiteral_4=(Token)match(input,226,FOLLOW_2); if (state.failed) return current;
+                    enumLiteral_4=(Token)match(input,228,FOLLOW_2); if (state.failed) return current;
                     if ( state.backtracking==0 ) {
 
                       				current = grammarAccess.getNumberFormatCategoryEnumAccess().getSCIENTIFICEnumLiteralDeclaration_4().getEnumLiteral().getInstance();
@@ -41834,12 +42804,12 @@
                     }
                     break;
                 case 6 :
-                    // InternalReportDSL.g:15264:3: (enumLiteral_5= 'custom' )
+                    // InternalReportDSL.g:15608:3: (enumLiteral_5= 'custom' )
                     {
-                    // InternalReportDSL.g:15264:3: (enumLiteral_5= 'custom' )
-                    // InternalReportDSL.g:15265:4: enumLiteral_5= 'custom'
+                    // InternalReportDSL.g:15608:3: (enumLiteral_5= 'custom' )
+                    // InternalReportDSL.g:15609:4: enumLiteral_5= 'custom'
                     {
-                    enumLiteral_5=(Token)match(input,227,FOLLOW_2); if (state.failed) return current;
+                    enumLiteral_5=(Token)match(input,229,FOLLOW_2); if (state.failed) return current;
                     if ( state.backtracking==0 ) {
 
                       				current = grammarAccess.getNumberFormatCategoryEnumAccess().getCUSTOMEnumLiteralDeclaration_5().getEnumLiteral().getInstance();
@@ -41877,7 +42847,7 @@
 
 
     // $ANTLR start "ruleCurrencyFormatCategoryEnum"
-    // InternalReportDSL.g:15275:1: ruleCurrencyFormatCategoryEnum returns [Enumerator current=null] : ( (enumLiteral_0= 'unformatted' ) | (enumLiteral_1= 'currency' ) | (enumLiteral_2= 'custom' ) ) ;
+    // InternalReportDSL.g:15619:1: ruleCurrencyFormatCategoryEnum returns [Enumerator current=null] : ( (enumLiteral_0= 'unformatted' ) | (enumLiteral_1= 'currency' ) | (enumLiteral_2= 'custom' ) ) ;
     public final Enumerator ruleCurrencyFormatCategoryEnum() throws RecognitionException {
         Enumerator current = null;
 
@@ -41889,43 +42859,43 @@
         	enterRule();
 
         try {
-            // InternalReportDSL.g:15281:2: ( ( (enumLiteral_0= 'unformatted' ) | (enumLiteral_1= 'currency' ) | (enumLiteral_2= 'custom' ) ) )
-            // InternalReportDSL.g:15282:2: ( (enumLiteral_0= 'unformatted' ) | (enumLiteral_1= 'currency' ) | (enumLiteral_2= 'custom' ) )
+            // InternalReportDSL.g:15625:2: ( ( (enumLiteral_0= 'unformatted' ) | (enumLiteral_1= 'currency' ) | (enumLiteral_2= 'custom' ) ) )
+            // InternalReportDSL.g:15626:2: ( (enumLiteral_0= 'unformatted' ) | (enumLiteral_1= 'currency' ) | (enumLiteral_2= 'custom' ) )
             {
-            // InternalReportDSL.g:15282:2: ( (enumLiteral_0= 'unformatted' ) | (enumLiteral_1= 'currency' ) | (enumLiteral_2= 'custom' ) )
-            int alt240=3;
+            // InternalReportDSL.g:15626:2: ( (enumLiteral_0= 'unformatted' ) | (enumLiteral_1= 'currency' ) | (enumLiteral_2= 'custom' ) )
+            int alt229=3;
             switch ( input.LA(1) ) {
-            case 222:
+            case 224:
                 {
-                alt240=1;
+                alt229=1;
                 }
                 break;
-            case 65:
+            case 66:
                 {
-                alt240=2;
+                alt229=2;
                 }
                 break;
-            case 227:
+            case 229:
                 {
-                alt240=3;
+                alt229=3;
                 }
                 break;
             default:
                 if (state.backtracking>0) {state.failed=true; return current;}
                 NoViableAltException nvae =
-                    new NoViableAltException("", 240, 0, input);
+                    new NoViableAltException("", 229, 0, input);
 
                 throw nvae;
             }
 
-            switch (alt240) {
+            switch (alt229) {
                 case 1 :
-                    // InternalReportDSL.g:15283:3: (enumLiteral_0= 'unformatted' )
+                    // InternalReportDSL.g:15627:3: (enumLiteral_0= 'unformatted' )
                     {
-                    // InternalReportDSL.g:15283:3: (enumLiteral_0= 'unformatted' )
-                    // InternalReportDSL.g:15284:4: enumLiteral_0= 'unformatted'
+                    // InternalReportDSL.g:15627:3: (enumLiteral_0= 'unformatted' )
+                    // InternalReportDSL.g:15628:4: enumLiteral_0= 'unformatted'
                     {
-                    enumLiteral_0=(Token)match(input,222,FOLLOW_2); if (state.failed) return current;
+                    enumLiteral_0=(Token)match(input,224,FOLLOW_2); if (state.failed) return current;
                     if ( state.backtracking==0 ) {
 
                       				current = grammarAccess.getCurrencyFormatCategoryEnumAccess().getUNFORMATTEDEnumLiteralDeclaration_0().getEnumLiteral().getInstance();
@@ -41939,12 +42909,12 @@
                     }
                     break;
                 case 2 :
-                    // InternalReportDSL.g:15291:3: (enumLiteral_1= 'currency' )
+                    // InternalReportDSL.g:15635:3: (enumLiteral_1= 'currency' )
                     {
-                    // InternalReportDSL.g:15291:3: (enumLiteral_1= 'currency' )
-                    // InternalReportDSL.g:15292:4: enumLiteral_1= 'currency'
+                    // InternalReportDSL.g:15635:3: (enumLiteral_1= 'currency' )
+                    // InternalReportDSL.g:15636:4: enumLiteral_1= 'currency'
                     {
-                    enumLiteral_1=(Token)match(input,65,FOLLOW_2); if (state.failed) return current;
+                    enumLiteral_1=(Token)match(input,66,FOLLOW_2); if (state.failed) return current;
                     if ( state.backtracking==0 ) {
 
                       				current = grammarAccess.getCurrencyFormatCategoryEnumAccess().getCURRENCYEnumLiteralDeclaration_1().getEnumLiteral().getInstance();
@@ -41958,12 +42928,12 @@
                     }
                     break;
                 case 3 :
-                    // InternalReportDSL.g:15299:3: (enumLiteral_2= 'custom' )
+                    // InternalReportDSL.g:15643:3: (enumLiteral_2= 'custom' )
                     {
-                    // InternalReportDSL.g:15299:3: (enumLiteral_2= 'custom' )
-                    // InternalReportDSL.g:15300:4: enumLiteral_2= 'custom'
+                    // InternalReportDSL.g:15643:3: (enumLiteral_2= 'custom' )
+                    // InternalReportDSL.g:15644:4: enumLiteral_2= 'custom'
                     {
-                    enumLiteral_2=(Token)match(input,227,FOLLOW_2); if (state.failed) return current;
+                    enumLiteral_2=(Token)match(input,229,FOLLOW_2); if (state.failed) return current;
                     if ( state.backtracking==0 ) {
 
                       				current = grammarAccess.getCurrencyFormatCategoryEnumAccess().getCUSTOMEnumLiteralDeclaration_2().getEnumLiteral().getInstance();
@@ -42001,7 +42971,7 @@
 
 
     // $ANTLR start "ruleDateFormatCategoryEnum"
-    // InternalReportDSL.g:15310:1: ruleDateFormatCategoryEnum returns [Enumerator current=null] : (enumLiteral_0= 'custom' ) ;
+    // InternalReportDSL.g:15654:1: ruleDateFormatCategoryEnum returns [Enumerator current=null] : (enumLiteral_0= 'custom' ) ;
     public final Enumerator ruleDateFormatCategoryEnum() throws RecognitionException {
         Enumerator current = null;
 
@@ -42011,13 +42981,13 @@
         	enterRule();
 
         try {
-            // InternalReportDSL.g:15316:2: ( (enumLiteral_0= 'custom' ) )
-            // InternalReportDSL.g:15317:2: (enumLiteral_0= 'custom' )
+            // InternalReportDSL.g:15660:2: ( (enumLiteral_0= 'custom' ) )
+            // InternalReportDSL.g:15661:2: (enumLiteral_0= 'custom' )
             {
-            // InternalReportDSL.g:15317:2: (enumLiteral_0= 'custom' )
-            // InternalReportDSL.g:15318:3: enumLiteral_0= 'custom'
+            // InternalReportDSL.g:15661:2: (enumLiteral_0= 'custom' )
+            // InternalReportDSL.g:15662:3: enumLiteral_0= 'custom'
             {
-            enumLiteral_0=(Token)match(input,227,FOLLOW_2); if (state.failed) return current;
+            enumLiteral_0=(Token)match(input,229,FOLLOW_2); if (state.failed) return current;
             if ( state.backtracking==0 ) {
 
               			current = grammarAccess.getDateFormatCategoryEnumAccess().getCUSTOMEnumLiteralDeclaration().getEnumLiteral().getInstance();
@@ -42049,7 +43019,7 @@
 
 
     // $ANTLR start "ruleDateTimeFormatCategoryEnum"
-    // InternalReportDSL.g:15327:1: ruleDateTimeFormatCategoryEnum returns [Enumerator current=null] : (enumLiteral_0= 'custom' ) ;
+    // InternalReportDSL.g:15671:1: ruleDateTimeFormatCategoryEnum returns [Enumerator current=null] : (enumLiteral_0= 'custom' ) ;
     public final Enumerator ruleDateTimeFormatCategoryEnum() throws RecognitionException {
         Enumerator current = null;
 
@@ -42059,13 +43029,13 @@
         	enterRule();
 
         try {
-            // InternalReportDSL.g:15333:2: ( (enumLiteral_0= 'custom' ) )
-            // InternalReportDSL.g:15334:2: (enumLiteral_0= 'custom' )
+            // InternalReportDSL.g:15677:2: ( (enumLiteral_0= 'custom' ) )
+            // InternalReportDSL.g:15678:2: (enumLiteral_0= 'custom' )
             {
-            // InternalReportDSL.g:15334:2: (enumLiteral_0= 'custom' )
-            // InternalReportDSL.g:15335:3: enumLiteral_0= 'custom'
+            // InternalReportDSL.g:15678:2: (enumLiteral_0= 'custom' )
+            // InternalReportDSL.g:15679:3: enumLiteral_0= 'custom'
             {
-            enumLiteral_0=(Token)match(input,227,FOLLOW_2); if (state.failed) return current;
+            enumLiteral_0=(Token)match(input,229,FOLLOW_2); if (state.failed) return current;
             if ( state.backtracking==0 ) {
 
               			current = grammarAccess.getDateTimeFormatCategoryEnumAccess().getCUSTOMEnumLiteralDeclaration().getEnumLiteral().getInstance();
@@ -42097,7 +43067,7 @@
 
 
     // $ANTLR start "ruleTimeFormatCategoryEnum"
-    // InternalReportDSL.g:15344:1: ruleTimeFormatCategoryEnum returns [Enumerator current=null] : (enumLiteral_0= 'custom' ) ;
+    // InternalReportDSL.g:15688:1: ruleTimeFormatCategoryEnum returns [Enumerator current=null] : (enumLiteral_0= 'custom' ) ;
     public final Enumerator ruleTimeFormatCategoryEnum() throws RecognitionException {
         Enumerator current = null;
 
@@ -42107,13 +43077,13 @@
         	enterRule();
 
         try {
-            // InternalReportDSL.g:15350:2: ( (enumLiteral_0= 'custom' ) )
-            // InternalReportDSL.g:15351:2: (enumLiteral_0= 'custom' )
+            // InternalReportDSL.g:15694:2: ( (enumLiteral_0= 'custom' ) )
+            // InternalReportDSL.g:15695:2: (enumLiteral_0= 'custom' )
             {
-            // InternalReportDSL.g:15351:2: (enumLiteral_0= 'custom' )
-            // InternalReportDSL.g:15352:3: enumLiteral_0= 'custom'
+            // InternalReportDSL.g:15695:2: (enumLiteral_0= 'custom' )
+            // InternalReportDSL.g:15696:3: enumLiteral_0= 'custom'
             {
-            enumLiteral_0=(Token)match(input,227,FOLLOW_2); if (state.failed) return current;
+            enumLiteral_0=(Token)match(input,229,FOLLOW_2); if (state.failed) return current;
             if ( state.backtracking==0 ) {
 
               			current = grammarAccess.getTimeFormatCategoryEnumAccess().getCUSTOMEnumLiteralDeclaration().getEnumLiteral().getInstance();
@@ -42145,7 +43115,7 @@
 
 
     // $ANTLR start "ruleRenderingEnum"
-    // InternalReportDSL.g:15361:1: ruleRenderingEnum returns [Enumerator current=null] : ( (enumLiteral_0= 'html' ) | (enumLiteral_1= 'pdf' ) ) ;
+    // InternalReportDSL.g:15705:1: ruleRenderingEnum returns [Enumerator current=null] : ( (enumLiteral_0= 'html' ) | (enumLiteral_1= 'pdf' ) ) ;
     public final Enumerator ruleRenderingEnum() throws RecognitionException {
         Enumerator current = null;
 
@@ -42156,34 +43126,34 @@
         	enterRule();
 
         try {
-            // InternalReportDSL.g:15367:2: ( ( (enumLiteral_0= 'html' ) | (enumLiteral_1= 'pdf' ) ) )
-            // InternalReportDSL.g:15368:2: ( (enumLiteral_0= 'html' ) | (enumLiteral_1= 'pdf' ) )
+            // InternalReportDSL.g:15711:2: ( ( (enumLiteral_0= 'html' ) | (enumLiteral_1= 'pdf' ) ) )
+            // InternalReportDSL.g:15712:2: ( (enumLiteral_0= 'html' ) | (enumLiteral_1= 'pdf' ) )
             {
-            // InternalReportDSL.g:15368:2: ( (enumLiteral_0= 'html' ) | (enumLiteral_1= 'pdf' ) )
-            int alt241=2;
-            int LA241_0 = input.LA(1);
+            // InternalReportDSL.g:15712:2: ( (enumLiteral_0= 'html' ) | (enumLiteral_1= 'pdf' ) )
+            int alt230=2;
+            int LA230_0 = input.LA(1);
 
-            if ( (LA241_0==228) ) {
-                alt241=1;
+            if ( (LA230_0==230) ) {
+                alt230=1;
             }
-            else if ( (LA241_0==229) ) {
-                alt241=2;
+            else if ( (LA230_0==231) ) {
+                alt230=2;
             }
             else {
                 if (state.backtracking>0) {state.failed=true; return current;}
                 NoViableAltException nvae =
-                    new NoViableAltException("", 241, 0, input);
+                    new NoViableAltException("", 230, 0, input);
 
                 throw nvae;
             }
-            switch (alt241) {
+            switch (alt230) {
                 case 1 :
-                    // InternalReportDSL.g:15369:3: (enumLiteral_0= 'html' )
+                    // InternalReportDSL.g:15713:3: (enumLiteral_0= 'html' )
                     {
-                    // InternalReportDSL.g:15369:3: (enumLiteral_0= 'html' )
-                    // InternalReportDSL.g:15370:4: enumLiteral_0= 'html'
+                    // InternalReportDSL.g:15713:3: (enumLiteral_0= 'html' )
+                    // InternalReportDSL.g:15714:4: enumLiteral_0= 'html'
                     {
-                    enumLiteral_0=(Token)match(input,228,FOLLOW_2); if (state.failed) return current;
+                    enumLiteral_0=(Token)match(input,230,FOLLOW_2); if (state.failed) return current;
                     if ( state.backtracking==0 ) {
 
                       				current = grammarAccess.getRenderingEnumAccess().getHTMLEnumLiteralDeclaration_0().getEnumLiteral().getInstance();
@@ -42197,12 +43167,12 @@
                     }
                     break;
                 case 2 :
-                    // InternalReportDSL.g:15377:3: (enumLiteral_1= 'pdf' )
+                    // InternalReportDSL.g:15721:3: (enumLiteral_1= 'pdf' )
                     {
-                    // InternalReportDSL.g:15377:3: (enumLiteral_1= 'pdf' )
-                    // InternalReportDSL.g:15378:4: enumLiteral_1= 'pdf'
+                    // InternalReportDSL.g:15721:3: (enumLiteral_1= 'pdf' )
+                    // InternalReportDSL.g:15722:4: enumLiteral_1= 'pdf'
                     {
-                    enumLiteral_1=(Token)match(input,229,FOLLOW_2); if (state.failed) return current;
+                    enumLiteral_1=(Token)match(input,231,FOLLOW_2); if (state.failed) return current;
                     if ( state.backtracking==0 ) {
 
                       				current = grammarAccess.getRenderingEnumAccess().getPDFEnumLiteralDeclaration_1().getEnumLiteral().getInstance();
@@ -42240,7 +43210,7 @@
 
 
     // $ANTLR start "rulePureAggregationTypeEnum"
-    // InternalReportDSL.g:15388:1: rulePureAggregationTypeEnum returns [Enumerator current=null] : ( (enumLiteral_0= 'count' ) | (enumLiteral_1= 'running-count' ) ) ;
+    // InternalReportDSL.g:15732:1: rulePureAggregationTypeEnum returns [Enumerator current=null] : ( (enumLiteral_0= 'count' ) | (enumLiteral_1= 'running-count' ) ) ;
     public final Enumerator rulePureAggregationTypeEnum() throws RecognitionException {
         Enumerator current = null;
 
@@ -42251,34 +43221,34 @@
         	enterRule();
 
         try {
-            // InternalReportDSL.g:15394:2: ( ( (enumLiteral_0= 'count' ) | (enumLiteral_1= 'running-count' ) ) )
-            // InternalReportDSL.g:15395:2: ( (enumLiteral_0= 'count' ) | (enumLiteral_1= 'running-count' ) )
+            // InternalReportDSL.g:15738:2: ( ( (enumLiteral_0= 'count' ) | (enumLiteral_1= 'running-count' ) ) )
+            // InternalReportDSL.g:15739:2: ( (enumLiteral_0= 'count' ) | (enumLiteral_1= 'running-count' ) )
             {
-            // InternalReportDSL.g:15395:2: ( (enumLiteral_0= 'count' ) | (enumLiteral_1= 'running-count' ) )
-            int alt242=2;
-            int LA242_0 = input.LA(1);
+            // InternalReportDSL.g:15739:2: ( (enumLiteral_0= 'count' ) | (enumLiteral_1= 'running-count' ) )
+            int alt231=2;
+            int LA231_0 = input.LA(1);
 
-            if ( (LA242_0==230) ) {
-                alt242=1;
+            if ( (LA231_0==232) ) {
+                alt231=1;
             }
-            else if ( (LA242_0==231) ) {
-                alt242=2;
+            else if ( (LA231_0==233) ) {
+                alt231=2;
             }
             else {
                 if (state.backtracking>0) {state.failed=true; return current;}
                 NoViableAltException nvae =
-                    new NoViableAltException("", 242, 0, input);
+                    new NoViableAltException("", 231, 0, input);
 
                 throw nvae;
             }
-            switch (alt242) {
+            switch (alt231) {
                 case 1 :
-                    // InternalReportDSL.g:15396:3: (enumLiteral_0= 'count' )
+                    // InternalReportDSL.g:15740:3: (enumLiteral_0= 'count' )
                     {
-                    // InternalReportDSL.g:15396:3: (enumLiteral_0= 'count' )
-                    // InternalReportDSL.g:15397:4: enumLiteral_0= 'count'
+                    // InternalReportDSL.g:15740:3: (enumLiteral_0= 'count' )
+                    // InternalReportDSL.g:15741:4: enumLiteral_0= 'count'
                     {
-                    enumLiteral_0=(Token)match(input,230,FOLLOW_2); if (state.failed) return current;
+                    enumLiteral_0=(Token)match(input,232,FOLLOW_2); if (state.failed) return current;
                     if ( state.backtracking==0 ) {
 
                       				current = grammarAccess.getPureAggregationTypeEnumAccess().getCOUNTEnumLiteralDeclaration_0().getEnumLiteral().getInstance();
@@ -42292,12 +43262,12 @@
                     }
                     break;
                 case 2 :
-                    // InternalReportDSL.g:15404:3: (enumLiteral_1= 'running-count' )
+                    // InternalReportDSL.g:15748:3: (enumLiteral_1= 'running-count' )
                     {
-                    // InternalReportDSL.g:15404:3: (enumLiteral_1= 'running-count' )
-                    // InternalReportDSL.g:15405:4: enumLiteral_1= 'running-count'
+                    // InternalReportDSL.g:15748:3: (enumLiteral_1= 'running-count' )
+                    // InternalReportDSL.g:15749:4: enumLiteral_1= 'running-count'
                     {
-                    enumLiteral_1=(Token)match(input,231,FOLLOW_2); if (state.failed) return current;
+                    enumLiteral_1=(Token)match(input,233,FOLLOW_2); if (state.failed) return current;
                     if ( state.backtracking==0 ) {
 
                       				current = grammarAccess.getPureAggregationTypeEnumAccess().getRUNNINGCOUNTEnumLiteralDeclaration_1().getEnumLiteral().getInstance();
@@ -42335,7 +43305,7 @@
 
 
     // $ANTLR start "ruleUnaryAggregationTypeEnum"
-    // InternalReportDSL.g:15415:1: ruleUnaryAggregationTypeEnum returns [Enumerator current=null] : ( (enumLiteral_0= 'sum' ) | (enumLiteral_1= 'average' ) | (enumLiteral_2= 'minimum' ) | (enumLiteral_3= 'maximum' ) | (enumLiteral_4= 'running-sum' ) ) ;
+    // InternalReportDSL.g:15759:1: ruleUnaryAggregationTypeEnum returns [Enumerator current=null] : ( (enumLiteral_0= 'sum' ) | (enumLiteral_1= 'average' ) | (enumLiteral_2= 'minimum' ) | (enumLiteral_3= 'maximum' ) | (enumLiteral_4= 'running-sum' ) ) ;
     public final Enumerator ruleUnaryAggregationTypeEnum() throws RecognitionException {
         Enumerator current = null;
 
@@ -42349,53 +43319,53 @@
         	enterRule();
 
         try {
-            // InternalReportDSL.g:15421:2: ( ( (enumLiteral_0= 'sum' ) | (enumLiteral_1= 'average' ) | (enumLiteral_2= 'minimum' ) | (enumLiteral_3= 'maximum' ) | (enumLiteral_4= 'running-sum' ) ) )
-            // InternalReportDSL.g:15422:2: ( (enumLiteral_0= 'sum' ) | (enumLiteral_1= 'average' ) | (enumLiteral_2= 'minimum' ) | (enumLiteral_3= 'maximum' ) | (enumLiteral_4= 'running-sum' ) )
+            // InternalReportDSL.g:15765:2: ( ( (enumLiteral_0= 'sum' ) | (enumLiteral_1= 'average' ) | (enumLiteral_2= 'minimum' ) | (enumLiteral_3= 'maximum' ) | (enumLiteral_4= 'running-sum' ) ) )
+            // InternalReportDSL.g:15766:2: ( (enumLiteral_0= 'sum' ) | (enumLiteral_1= 'average' ) | (enumLiteral_2= 'minimum' ) | (enumLiteral_3= 'maximum' ) | (enumLiteral_4= 'running-sum' ) )
             {
-            // InternalReportDSL.g:15422:2: ( (enumLiteral_0= 'sum' ) | (enumLiteral_1= 'average' ) | (enumLiteral_2= 'minimum' ) | (enumLiteral_3= 'maximum' ) | (enumLiteral_4= 'running-sum' ) )
-            int alt243=5;
+            // InternalReportDSL.g:15766:2: ( (enumLiteral_0= 'sum' ) | (enumLiteral_1= 'average' ) | (enumLiteral_2= 'minimum' ) | (enumLiteral_3= 'maximum' ) | (enumLiteral_4= 'running-sum' ) )
+            int alt232=5;
             switch ( input.LA(1) ) {
-            case 232:
-                {
-                alt243=1;
-                }
-                break;
-            case 233:
-                {
-                alt243=2;
-                }
-                break;
             case 234:
                 {
-                alt243=3;
+                alt232=1;
                 }
                 break;
             case 235:
                 {
-                alt243=4;
+                alt232=2;
                 }
                 break;
             case 236:
                 {
-                alt243=5;
+                alt232=3;
+                }
+                break;
+            case 237:
+                {
+                alt232=4;
+                }
+                break;
+            case 238:
+                {
+                alt232=5;
                 }
                 break;
             default:
                 if (state.backtracking>0) {state.failed=true; return current;}
                 NoViableAltException nvae =
-                    new NoViableAltException("", 243, 0, input);
+                    new NoViableAltException("", 232, 0, input);
 
                 throw nvae;
             }
 
-            switch (alt243) {
+            switch (alt232) {
                 case 1 :
-                    // InternalReportDSL.g:15423:3: (enumLiteral_0= 'sum' )
+                    // InternalReportDSL.g:15767:3: (enumLiteral_0= 'sum' )
                     {
-                    // InternalReportDSL.g:15423:3: (enumLiteral_0= 'sum' )
-                    // InternalReportDSL.g:15424:4: enumLiteral_0= 'sum'
+                    // InternalReportDSL.g:15767:3: (enumLiteral_0= 'sum' )
+                    // InternalReportDSL.g:15768:4: enumLiteral_0= 'sum'
                     {
-                    enumLiteral_0=(Token)match(input,232,FOLLOW_2); if (state.failed) return current;
+                    enumLiteral_0=(Token)match(input,234,FOLLOW_2); if (state.failed) return current;
                     if ( state.backtracking==0 ) {
 
                       				current = grammarAccess.getUnaryAggregationTypeEnumAccess().getSUMEnumLiteralDeclaration_0().getEnumLiteral().getInstance();
@@ -42409,12 +43379,12 @@
                     }
                     break;
                 case 2 :
-                    // InternalReportDSL.g:15431:3: (enumLiteral_1= 'average' )
+                    // InternalReportDSL.g:15775:3: (enumLiteral_1= 'average' )
                     {
-                    // InternalReportDSL.g:15431:3: (enumLiteral_1= 'average' )
-                    // InternalReportDSL.g:15432:4: enumLiteral_1= 'average'
+                    // InternalReportDSL.g:15775:3: (enumLiteral_1= 'average' )
+                    // InternalReportDSL.g:15776:4: enumLiteral_1= 'average'
                     {
-                    enumLiteral_1=(Token)match(input,233,FOLLOW_2); if (state.failed) return current;
+                    enumLiteral_1=(Token)match(input,235,FOLLOW_2); if (state.failed) return current;
                     if ( state.backtracking==0 ) {
 
                       				current = grammarAccess.getUnaryAggregationTypeEnumAccess().getAVEEnumLiteralDeclaration_1().getEnumLiteral().getInstance();
@@ -42428,12 +43398,12 @@
                     }
                     break;
                 case 3 :
-                    // InternalReportDSL.g:15439:3: (enumLiteral_2= 'minimum' )
+                    // InternalReportDSL.g:15783:3: (enumLiteral_2= 'minimum' )
                     {
-                    // InternalReportDSL.g:15439:3: (enumLiteral_2= 'minimum' )
-                    // InternalReportDSL.g:15440:4: enumLiteral_2= 'minimum'
+                    // InternalReportDSL.g:15783:3: (enumLiteral_2= 'minimum' )
+                    // InternalReportDSL.g:15784:4: enumLiteral_2= 'minimum'
                     {
-                    enumLiteral_2=(Token)match(input,234,FOLLOW_2); if (state.failed) return current;
+                    enumLiteral_2=(Token)match(input,236,FOLLOW_2); if (state.failed) return current;
                     if ( state.backtracking==0 ) {
 
                       				current = grammarAccess.getUnaryAggregationTypeEnumAccess().getMINEnumLiteralDeclaration_2().getEnumLiteral().getInstance();
@@ -42447,12 +43417,12 @@
                     }
                     break;
                 case 4 :
-                    // InternalReportDSL.g:15447:3: (enumLiteral_3= 'maximum' )
+                    // InternalReportDSL.g:15791:3: (enumLiteral_3= 'maximum' )
                     {
-                    // InternalReportDSL.g:15447:3: (enumLiteral_3= 'maximum' )
-                    // InternalReportDSL.g:15448:4: enumLiteral_3= 'maximum'
+                    // InternalReportDSL.g:15791:3: (enumLiteral_3= 'maximum' )
+                    // InternalReportDSL.g:15792:4: enumLiteral_3= 'maximum'
                     {
-                    enumLiteral_3=(Token)match(input,235,FOLLOW_2); if (state.failed) return current;
+                    enumLiteral_3=(Token)match(input,237,FOLLOW_2); if (state.failed) return current;
                     if ( state.backtracking==0 ) {
 
                       				current = grammarAccess.getUnaryAggregationTypeEnumAccess().getMAXEnumLiteralDeclaration_3().getEnumLiteral().getInstance();
@@ -42466,12 +43436,12 @@
                     }
                     break;
                 case 5 :
-                    // InternalReportDSL.g:15455:3: (enumLiteral_4= 'running-sum' )
+                    // InternalReportDSL.g:15799:3: (enumLiteral_4= 'running-sum' )
                     {
-                    // InternalReportDSL.g:15455:3: (enumLiteral_4= 'running-sum' )
-                    // InternalReportDSL.g:15456:4: enumLiteral_4= 'running-sum'
+                    // InternalReportDSL.g:15799:3: (enumLiteral_4= 'running-sum' )
+                    // InternalReportDSL.g:15800:4: enumLiteral_4= 'running-sum'
                     {
-                    enumLiteral_4=(Token)match(input,236,FOLLOW_2); if (state.failed) return current;
+                    enumLiteral_4=(Token)match(input,238,FOLLOW_2); if (state.failed) return current;
                     if ( state.backtracking==0 ) {
 
                       				current = grammarAccess.getUnaryAggregationTypeEnumAccess().getRUNNINGSUMEnumLiteralDeclaration_4().getEnumLiteral().getInstance();
@@ -42509,7 +43479,7 @@
 
 
     // $ANTLR start "ruleBinaryAggregationTypeEnum"
-    // InternalReportDSL.g:15466:1: ruleBinaryAggregationTypeEnum returns [Enumerator current=null] : (enumLiteral_0= 'divide' ) ;
+    // InternalReportDSL.g:15810:1: ruleBinaryAggregationTypeEnum returns [Enumerator current=null] : (enumLiteral_0= 'divide' ) ;
     public final Enumerator ruleBinaryAggregationTypeEnum() throws RecognitionException {
         Enumerator current = null;
 
@@ -42519,13 +43489,13 @@
         	enterRule();
 
         try {
-            // InternalReportDSL.g:15472:2: ( (enumLiteral_0= 'divide' ) )
-            // InternalReportDSL.g:15473:2: (enumLiteral_0= 'divide' )
+            // InternalReportDSL.g:15816:2: ( (enumLiteral_0= 'divide' ) )
+            // InternalReportDSL.g:15817:2: (enumLiteral_0= 'divide' )
             {
-            // InternalReportDSL.g:15473:2: (enumLiteral_0= 'divide' )
-            // InternalReportDSL.g:15474:3: enumLiteral_0= 'divide'
+            // InternalReportDSL.g:15817:2: (enumLiteral_0= 'divide' )
+            // InternalReportDSL.g:15818:3: enumLiteral_0= 'divide'
             {
-            enumLiteral_0=(Token)match(input,237,FOLLOW_2); if (state.failed) return current;
+            enumLiteral_0=(Token)match(input,239,FOLLOW_2); if (state.failed) return current;
             if ( state.backtracking==0 ) {
 
               			current = grammarAccess.getBinaryAggregationTypeEnumAccess().getDIVEnumLiteralDeclaration().getEnumLiteral().getInstance();
@@ -42557,7 +43527,7 @@
 
 
     // $ANTLR start "ruleMultipleAggregationTypeEnum"
-    // InternalReportDSL.g:15483:1: ruleMultipleAggregationTypeEnum returns [Enumerator current=null] : (enumLiteral_0= 'concat' ) ;
+    // InternalReportDSL.g:15827:1: ruleMultipleAggregationTypeEnum returns [Enumerator current=null] : (enumLiteral_0= 'concat' ) ;
     public final Enumerator ruleMultipleAggregationTypeEnum() throws RecognitionException {
         Enumerator current = null;
 
@@ -42567,13 +43537,13 @@
         	enterRule();
 
         try {
-            // InternalReportDSL.g:15489:2: ( (enumLiteral_0= 'concat' ) )
-            // InternalReportDSL.g:15490:2: (enumLiteral_0= 'concat' )
+            // InternalReportDSL.g:15833:2: ( (enumLiteral_0= 'concat' ) )
+            // InternalReportDSL.g:15834:2: (enumLiteral_0= 'concat' )
             {
-            // InternalReportDSL.g:15490:2: (enumLiteral_0= 'concat' )
-            // InternalReportDSL.g:15491:3: enumLiteral_0= 'concat'
+            // InternalReportDSL.g:15834:2: (enumLiteral_0= 'concat' )
+            // InternalReportDSL.g:15835:3: enumLiteral_0= 'concat'
             {
-            enumLiteral_0=(Token)match(input,238,FOLLOW_2); if (state.failed) return current;
+            enumLiteral_0=(Token)match(input,240,FOLLOW_2); if (state.failed) return current;
             if ( state.backtracking==0 ) {
 
               			current = grammarAccess.getMultipleAggregationTypeEnumAccess().getCONCATENATEEnumLiteralDeclaration().getEnumLiteral().getInstance();
@@ -42605,7 +43575,7 @@
 
 
     // $ANTLR start "ruleBeforeAfterPageBreakEnum"
-    // InternalReportDSL.g:15500:1: ruleBeforeAfterPageBreakEnum returns [Enumerator current=null] : ( (enumLiteral_0= 'auto' ) | (enumLiteral_1= 'always' ) | (enumLiteral_2= 'avoid' ) ) ;
+    // InternalReportDSL.g:15844:1: ruleBeforeAfterPageBreakEnum returns [Enumerator current=null] : ( (enumLiteral_0= 'auto' ) | (enumLiteral_1= 'always' ) | (enumLiteral_2= 'avoid' ) ) ;
     public final Enumerator ruleBeforeAfterPageBreakEnum() throws RecognitionException {
         Enumerator current = null;
 
@@ -42617,43 +43587,43 @@
         	enterRule();
 
         try {
-            // InternalReportDSL.g:15506:2: ( ( (enumLiteral_0= 'auto' ) | (enumLiteral_1= 'always' ) | (enumLiteral_2= 'avoid' ) ) )
-            // InternalReportDSL.g:15507:2: ( (enumLiteral_0= 'auto' ) | (enumLiteral_1= 'always' ) | (enumLiteral_2= 'avoid' ) )
+            // InternalReportDSL.g:15850:2: ( ( (enumLiteral_0= 'auto' ) | (enumLiteral_1= 'always' ) | (enumLiteral_2= 'avoid' ) ) )
+            // InternalReportDSL.g:15851:2: ( (enumLiteral_0= 'auto' ) | (enumLiteral_1= 'always' ) | (enumLiteral_2= 'avoid' ) )
             {
-            // InternalReportDSL.g:15507:2: ( (enumLiteral_0= 'auto' ) | (enumLiteral_1= 'always' ) | (enumLiteral_2= 'avoid' ) )
-            int alt244=3;
+            // InternalReportDSL.g:15851:2: ( (enumLiteral_0= 'auto' ) | (enumLiteral_1= 'always' ) | (enumLiteral_2= 'avoid' ) )
+            int alt233=3;
             switch ( input.LA(1) ) {
-            case 239:
-                {
-                alt244=1;
-                }
-                break;
-            case 240:
-                {
-                alt244=2;
-                }
-                break;
             case 241:
                 {
-                alt244=3;
+                alt233=1;
+                }
+                break;
+            case 242:
+                {
+                alt233=2;
+                }
+                break;
+            case 243:
+                {
+                alt233=3;
                 }
                 break;
             default:
                 if (state.backtracking>0) {state.failed=true; return current;}
                 NoViableAltException nvae =
-                    new NoViableAltException("", 244, 0, input);
+                    new NoViableAltException("", 233, 0, input);
 
                 throw nvae;
             }
 
-            switch (alt244) {
+            switch (alt233) {
                 case 1 :
-                    // InternalReportDSL.g:15508:3: (enumLiteral_0= 'auto' )
+                    // InternalReportDSL.g:15852:3: (enumLiteral_0= 'auto' )
                     {
-                    // InternalReportDSL.g:15508:3: (enumLiteral_0= 'auto' )
-                    // InternalReportDSL.g:15509:4: enumLiteral_0= 'auto'
+                    // InternalReportDSL.g:15852:3: (enumLiteral_0= 'auto' )
+                    // InternalReportDSL.g:15853:4: enumLiteral_0= 'auto'
                     {
-                    enumLiteral_0=(Token)match(input,239,FOLLOW_2); if (state.failed) return current;
+                    enumLiteral_0=(Token)match(input,241,FOLLOW_2); if (state.failed) return current;
                     if ( state.backtracking==0 ) {
 
                       				current = grammarAccess.getBeforeAfterPageBreakEnumAccess().getAUTOEnumLiteralDeclaration_0().getEnumLiteral().getInstance();
@@ -42667,12 +43637,12 @@
                     }
                     break;
                 case 2 :
-                    // InternalReportDSL.g:15516:3: (enumLiteral_1= 'always' )
+                    // InternalReportDSL.g:15860:3: (enumLiteral_1= 'always' )
                     {
-                    // InternalReportDSL.g:15516:3: (enumLiteral_1= 'always' )
-                    // InternalReportDSL.g:15517:4: enumLiteral_1= 'always'
+                    // InternalReportDSL.g:15860:3: (enumLiteral_1= 'always' )
+                    // InternalReportDSL.g:15861:4: enumLiteral_1= 'always'
                     {
-                    enumLiteral_1=(Token)match(input,240,FOLLOW_2); if (state.failed) return current;
+                    enumLiteral_1=(Token)match(input,242,FOLLOW_2); if (state.failed) return current;
                     if ( state.backtracking==0 ) {
 
                       				current = grammarAccess.getBeforeAfterPageBreakEnumAccess().getALWAYSEnumLiteralDeclaration_1().getEnumLiteral().getInstance();
@@ -42686,12 +43656,12 @@
                     }
                     break;
                 case 3 :
-                    // InternalReportDSL.g:15524:3: (enumLiteral_2= 'avoid' )
+                    // InternalReportDSL.g:15868:3: (enumLiteral_2= 'avoid' )
                     {
-                    // InternalReportDSL.g:15524:3: (enumLiteral_2= 'avoid' )
-                    // InternalReportDSL.g:15525:4: enumLiteral_2= 'avoid'
+                    // InternalReportDSL.g:15868:3: (enumLiteral_2= 'avoid' )
+                    // InternalReportDSL.g:15869:4: enumLiteral_2= 'avoid'
                     {
-                    enumLiteral_2=(Token)match(input,241,FOLLOW_2); if (state.failed) return current;
+                    enumLiteral_2=(Token)match(input,243,FOLLOW_2); if (state.failed) return current;
                     if ( state.backtracking==0 ) {
 
                       				current = grammarAccess.getBeforeAfterPageBreakEnumAccess().getAVOIDEnumLiteralDeclaration_2().getEnumLiteral().getInstance();
@@ -42729,7 +43699,7 @@
 
 
     // $ANTLR start "ruleInsidePageBreakEnum"
-    // InternalReportDSL.g:15535:1: ruleInsidePageBreakEnum returns [Enumerator current=null] : ( (enumLiteral_0= 'auto' ) | (enumLiteral_1= 'avoid' ) ) ;
+    // InternalReportDSL.g:15879:1: ruleInsidePageBreakEnum returns [Enumerator current=null] : ( (enumLiteral_0= 'auto' ) | (enumLiteral_1= 'avoid' ) ) ;
     public final Enumerator ruleInsidePageBreakEnum() throws RecognitionException {
         Enumerator current = null;
 
@@ -42740,34 +43710,34 @@
         	enterRule();
 
         try {
-            // InternalReportDSL.g:15541:2: ( ( (enumLiteral_0= 'auto' ) | (enumLiteral_1= 'avoid' ) ) )
-            // InternalReportDSL.g:15542:2: ( (enumLiteral_0= 'auto' ) | (enumLiteral_1= 'avoid' ) )
+            // InternalReportDSL.g:15885:2: ( ( (enumLiteral_0= 'auto' ) | (enumLiteral_1= 'avoid' ) ) )
+            // InternalReportDSL.g:15886:2: ( (enumLiteral_0= 'auto' ) | (enumLiteral_1= 'avoid' ) )
             {
-            // InternalReportDSL.g:15542:2: ( (enumLiteral_0= 'auto' ) | (enumLiteral_1= 'avoid' ) )
-            int alt245=2;
-            int LA245_0 = input.LA(1);
+            // InternalReportDSL.g:15886:2: ( (enumLiteral_0= 'auto' ) | (enumLiteral_1= 'avoid' ) )
+            int alt234=2;
+            int LA234_0 = input.LA(1);
 
-            if ( (LA245_0==239) ) {
-                alt245=1;
+            if ( (LA234_0==241) ) {
+                alt234=1;
             }
-            else if ( (LA245_0==241) ) {
-                alt245=2;
+            else if ( (LA234_0==243) ) {
+                alt234=2;
             }
             else {
                 if (state.backtracking>0) {state.failed=true; return current;}
                 NoViableAltException nvae =
-                    new NoViableAltException("", 245, 0, input);
+                    new NoViableAltException("", 234, 0, input);
 
                 throw nvae;
             }
-            switch (alt245) {
+            switch (alt234) {
                 case 1 :
-                    // InternalReportDSL.g:15543:3: (enumLiteral_0= 'auto' )
+                    // InternalReportDSL.g:15887:3: (enumLiteral_0= 'auto' )
                     {
-                    // InternalReportDSL.g:15543:3: (enumLiteral_0= 'auto' )
-                    // InternalReportDSL.g:15544:4: enumLiteral_0= 'auto'
+                    // InternalReportDSL.g:15887:3: (enumLiteral_0= 'auto' )
+                    // InternalReportDSL.g:15888:4: enumLiteral_0= 'auto'
                     {
-                    enumLiteral_0=(Token)match(input,239,FOLLOW_2); if (state.failed) return current;
+                    enumLiteral_0=(Token)match(input,241,FOLLOW_2); if (state.failed) return current;
                     if ( state.backtracking==0 ) {
 
                       				current = grammarAccess.getInsidePageBreakEnumAccess().getAUTOEnumLiteralDeclaration_0().getEnumLiteral().getInstance();
@@ -42781,12 +43751,12 @@
                     }
                     break;
                 case 2 :
-                    // InternalReportDSL.g:15551:3: (enumLiteral_1= 'avoid' )
+                    // InternalReportDSL.g:15895:3: (enumLiteral_1= 'avoid' )
                     {
-                    // InternalReportDSL.g:15551:3: (enumLiteral_1= 'avoid' )
-                    // InternalReportDSL.g:15552:4: enumLiteral_1= 'avoid'
+                    // InternalReportDSL.g:15895:3: (enumLiteral_1= 'avoid' )
+                    // InternalReportDSL.g:15896:4: enumLiteral_1= 'avoid'
                     {
-                    enumLiteral_1=(Token)match(input,241,FOLLOW_2); if (state.failed) return current;
+                    enumLiteral_1=(Token)match(input,243,FOLLOW_2); if (state.failed) return current;
                     if ( state.backtracking==0 ) {
 
                       				current = grammarAccess.getInsidePageBreakEnumAccess().getAVOIDEnumLiteralDeclaration_1().getEnumLiteral().getInstance();
@@ -42824,7 +43794,7 @@
 
 
     // $ANTLR start "ruleTrendIconEnum"
-    // InternalReportDSL.g:15562:1: ruleTrendIconEnum returns [Enumerator current=null] : ( (enumLiteral_0= 'rising' ) | (enumLiteral_1= 'bad-rising' ) | (enumLiteral_2= 'sloping' ) | (enumLiteral_3= 'good-sloping' ) | (enumLiteral_4= 'stagnating' ) ) ;
+    // InternalReportDSL.g:15906:1: ruleTrendIconEnum returns [Enumerator current=null] : ( (enumLiteral_0= 'rising' ) | (enumLiteral_1= 'bad-rising' ) | (enumLiteral_2= 'sloping' ) | (enumLiteral_3= 'good-sloping' ) | (enumLiteral_4= 'stagnating' ) ) ;
     public final Enumerator ruleTrendIconEnum() throws RecognitionException {
         Enumerator current = null;
 
@@ -42838,53 +43808,53 @@
         	enterRule();
 
         try {
-            // InternalReportDSL.g:15568:2: ( ( (enumLiteral_0= 'rising' ) | (enumLiteral_1= 'bad-rising' ) | (enumLiteral_2= 'sloping' ) | (enumLiteral_3= 'good-sloping' ) | (enumLiteral_4= 'stagnating' ) ) )
-            // InternalReportDSL.g:15569:2: ( (enumLiteral_0= 'rising' ) | (enumLiteral_1= 'bad-rising' ) | (enumLiteral_2= 'sloping' ) | (enumLiteral_3= 'good-sloping' ) | (enumLiteral_4= 'stagnating' ) )
+            // InternalReportDSL.g:15912:2: ( ( (enumLiteral_0= 'rising' ) | (enumLiteral_1= 'bad-rising' ) | (enumLiteral_2= 'sloping' ) | (enumLiteral_3= 'good-sloping' ) | (enumLiteral_4= 'stagnating' ) ) )
+            // InternalReportDSL.g:15913:2: ( (enumLiteral_0= 'rising' ) | (enumLiteral_1= 'bad-rising' ) | (enumLiteral_2= 'sloping' ) | (enumLiteral_3= 'good-sloping' ) | (enumLiteral_4= 'stagnating' ) )
             {
-            // InternalReportDSL.g:15569:2: ( (enumLiteral_0= 'rising' ) | (enumLiteral_1= 'bad-rising' ) | (enumLiteral_2= 'sloping' ) | (enumLiteral_3= 'good-sloping' ) | (enumLiteral_4= 'stagnating' ) )
-            int alt246=5;
+            // InternalReportDSL.g:15913:2: ( (enumLiteral_0= 'rising' ) | (enumLiteral_1= 'bad-rising' ) | (enumLiteral_2= 'sloping' ) | (enumLiteral_3= 'good-sloping' ) | (enumLiteral_4= 'stagnating' ) )
+            int alt235=5;
             switch ( input.LA(1) ) {
-            case 242:
-                {
-                alt246=1;
-                }
-                break;
-            case 243:
-                {
-                alt246=2;
-                }
-                break;
             case 244:
                 {
-                alt246=3;
+                alt235=1;
                 }
                 break;
             case 245:
                 {
-                alt246=4;
+                alt235=2;
                 }
                 break;
             case 246:
                 {
-                alt246=5;
+                alt235=3;
+                }
+                break;
+            case 247:
+                {
+                alt235=4;
+                }
+                break;
+            case 248:
+                {
+                alt235=5;
                 }
                 break;
             default:
                 if (state.backtracking>0) {state.failed=true; return current;}
                 NoViableAltException nvae =
-                    new NoViableAltException("", 246, 0, input);
+                    new NoViableAltException("", 235, 0, input);
 
                 throw nvae;
             }
 
-            switch (alt246) {
+            switch (alt235) {
                 case 1 :
-                    // InternalReportDSL.g:15570:3: (enumLiteral_0= 'rising' )
+                    // InternalReportDSL.g:15914:3: (enumLiteral_0= 'rising' )
                     {
-                    // InternalReportDSL.g:15570:3: (enumLiteral_0= 'rising' )
-                    // InternalReportDSL.g:15571:4: enumLiteral_0= 'rising'
+                    // InternalReportDSL.g:15914:3: (enumLiteral_0= 'rising' )
+                    // InternalReportDSL.g:15915:4: enumLiteral_0= 'rising'
                     {
-                    enumLiteral_0=(Token)match(input,242,FOLLOW_2); if (state.failed) return current;
+                    enumLiteral_0=(Token)match(input,244,FOLLOW_2); if (state.failed) return current;
                     if ( state.backtracking==0 ) {
 
                       				current = grammarAccess.getTrendIconEnumAccess().getRISINGEnumLiteralDeclaration_0().getEnumLiteral().getInstance();
@@ -42898,12 +43868,12 @@
                     }
                     break;
                 case 2 :
-                    // InternalReportDSL.g:15578:3: (enumLiteral_1= 'bad-rising' )
+                    // InternalReportDSL.g:15922:3: (enumLiteral_1= 'bad-rising' )
                     {
-                    // InternalReportDSL.g:15578:3: (enumLiteral_1= 'bad-rising' )
-                    // InternalReportDSL.g:15579:4: enumLiteral_1= 'bad-rising'
+                    // InternalReportDSL.g:15922:3: (enumLiteral_1= 'bad-rising' )
+                    // InternalReportDSL.g:15923:4: enumLiteral_1= 'bad-rising'
                     {
-                    enumLiteral_1=(Token)match(input,243,FOLLOW_2); if (state.failed) return current;
+                    enumLiteral_1=(Token)match(input,245,FOLLOW_2); if (state.failed) return current;
                     if ( state.backtracking==0 ) {
 
                       				current = grammarAccess.getTrendIconEnumAccess().getBADRISINGEnumLiteralDeclaration_1().getEnumLiteral().getInstance();
@@ -42917,12 +43887,12 @@
                     }
                     break;
                 case 3 :
-                    // InternalReportDSL.g:15586:3: (enumLiteral_2= 'sloping' )
+                    // InternalReportDSL.g:15930:3: (enumLiteral_2= 'sloping' )
                     {
-                    // InternalReportDSL.g:15586:3: (enumLiteral_2= 'sloping' )
-                    // InternalReportDSL.g:15587:4: enumLiteral_2= 'sloping'
+                    // InternalReportDSL.g:15930:3: (enumLiteral_2= 'sloping' )
+                    // InternalReportDSL.g:15931:4: enumLiteral_2= 'sloping'
                     {
-                    enumLiteral_2=(Token)match(input,244,FOLLOW_2); if (state.failed) return current;
+                    enumLiteral_2=(Token)match(input,246,FOLLOW_2); if (state.failed) return current;
                     if ( state.backtracking==0 ) {
 
                       				current = grammarAccess.getTrendIconEnumAccess().getSLOPINGEnumLiteralDeclaration_2().getEnumLiteral().getInstance();
@@ -42936,12 +43906,12 @@
                     }
                     break;
                 case 4 :
-                    // InternalReportDSL.g:15594:3: (enumLiteral_3= 'good-sloping' )
+                    // InternalReportDSL.g:15938:3: (enumLiteral_3= 'good-sloping' )
                     {
-                    // InternalReportDSL.g:15594:3: (enumLiteral_3= 'good-sloping' )
-                    // InternalReportDSL.g:15595:4: enumLiteral_3= 'good-sloping'
+                    // InternalReportDSL.g:15938:3: (enumLiteral_3= 'good-sloping' )
+                    // InternalReportDSL.g:15939:4: enumLiteral_3= 'good-sloping'
                     {
-                    enumLiteral_3=(Token)match(input,245,FOLLOW_2); if (state.failed) return current;
+                    enumLiteral_3=(Token)match(input,247,FOLLOW_2); if (state.failed) return current;
                     if ( state.backtracking==0 ) {
 
                       				current = grammarAccess.getTrendIconEnumAccess().getGOODSLOPINGEnumLiteralDeclaration_3().getEnumLiteral().getInstance();
@@ -42955,12 +43925,12 @@
                     }
                     break;
                 case 5 :
-                    // InternalReportDSL.g:15602:3: (enumLiteral_4= 'stagnating' )
+                    // InternalReportDSL.g:15946:3: (enumLiteral_4= 'stagnating' )
                     {
-                    // InternalReportDSL.g:15602:3: (enumLiteral_4= 'stagnating' )
-                    // InternalReportDSL.g:15603:4: enumLiteral_4= 'stagnating'
+                    // InternalReportDSL.g:15946:3: (enumLiteral_4= 'stagnating' )
+                    // InternalReportDSL.g:15947:4: enumLiteral_4= 'stagnating'
                     {
-                    enumLiteral_4=(Token)match(input,246,FOLLOW_2); if (state.failed) return current;
+                    enumLiteral_4=(Token)match(input,248,FOLLOW_2); if (state.failed) return current;
                     if ( state.backtracking==0 ) {
 
                       				current = grammarAccess.getTrendIconEnumAccess().getSTAGNATINGEnumLiteralDeclaration_4().getEnumLiteral().getInstance();
@@ -42998,7 +43968,7 @@
 
 
     // $ANTLR start "ruleBorderTypeEnum"
-    // InternalReportDSL.g:15613:1: ruleBorderTypeEnum returns [Enumerator current=null] : ( (enumLiteral_0= 'none' ) | (enumLiteral_1= 'solid' ) | (enumLiteral_2= 'dotted' ) | (enumLiteral_3= 'dashed' ) | (enumLiteral_4= 'double' ) | (enumLiteral_5= 'groove' ) | (enumLiteral_6= 'ridge' ) | (enumLiteral_7= 'inset' ) | (enumLiteral_8= 'outset' ) ) ;
+    // InternalReportDSL.g:15957:1: ruleBorderTypeEnum returns [Enumerator current=null] : ( (enumLiteral_0= 'none' ) | (enumLiteral_1= 'solid' ) | (enumLiteral_2= 'dotted' ) | (enumLiteral_3= 'dashed' ) | (enumLiteral_4= 'double' ) | (enumLiteral_5= 'groove' ) | (enumLiteral_6= 'ridge' ) | (enumLiteral_7= 'inset' ) | (enumLiteral_8= 'outset' ) ) ;
     public final Enumerator ruleBorderTypeEnum() throws RecognitionException {
         Enumerator current = null;
 
@@ -43016,73 +43986,73 @@
         	enterRule();
 
         try {
-            // InternalReportDSL.g:15619:2: ( ( (enumLiteral_0= 'none' ) | (enumLiteral_1= 'solid' ) | (enumLiteral_2= 'dotted' ) | (enumLiteral_3= 'dashed' ) | (enumLiteral_4= 'double' ) | (enumLiteral_5= 'groove' ) | (enumLiteral_6= 'ridge' ) | (enumLiteral_7= 'inset' ) | (enumLiteral_8= 'outset' ) ) )
-            // InternalReportDSL.g:15620:2: ( (enumLiteral_0= 'none' ) | (enumLiteral_1= 'solid' ) | (enumLiteral_2= 'dotted' ) | (enumLiteral_3= 'dashed' ) | (enumLiteral_4= 'double' ) | (enumLiteral_5= 'groove' ) | (enumLiteral_6= 'ridge' ) | (enumLiteral_7= 'inset' ) | (enumLiteral_8= 'outset' ) )
+            // InternalReportDSL.g:15963:2: ( ( (enumLiteral_0= 'none' ) | (enumLiteral_1= 'solid' ) | (enumLiteral_2= 'dotted' ) | (enumLiteral_3= 'dashed' ) | (enumLiteral_4= 'double' ) | (enumLiteral_5= 'groove' ) | (enumLiteral_6= 'ridge' ) | (enumLiteral_7= 'inset' ) | (enumLiteral_8= 'outset' ) ) )
+            // InternalReportDSL.g:15964:2: ( (enumLiteral_0= 'none' ) | (enumLiteral_1= 'solid' ) | (enumLiteral_2= 'dotted' ) | (enumLiteral_3= 'dashed' ) | (enumLiteral_4= 'double' ) | (enumLiteral_5= 'groove' ) | (enumLiteral_6= 'ridge' ) | (enumLiteral_7= 'inset' ) | (enumLiteral_8= 'outset' ) )
             {
-            // InternalReportDSL.g:15620:2: ( (enumLiteral_0= 'none' ) | (enumLiteral_1= 'solid' ) | (enumLiteral_2= 'dotted' ) | (enumLiteral_3= 'dashed' ) | (enumLiteral_4= 'double' ) | (enumLiteral_5= 'groove' ) | (enumLiteral_6= 'ridge' ) | (enumLiteral_7= 'inset' ) | (enumLiteral_8= 'outset' ) )
-            int alt247=9;
+            // InternalReportDSL.g:15964:2: ( (enumLiteral_0= 'none' ) | (enumLiteral_1= 'solid' ) | (enumLiteral_2= 'dotted' ) | (enumLiteral_3= 'dashed' ) | (enumLiteral_4= 'double' ) | (enumLiteral_5= 'groove' ) | (enumLiteral_6= 'ridge' ) | (enumLiteral_7= 'inset' ) | (enumLiteral_8= 'outset' ) )
+            int alt236=9;
             switch ( input.LA(1) ) {
-            case 247:
-                {
-                alt247=1;
-                }
-                break;
-            case 248:
-                {
-                alt247=2;
-                }
-                break;
             case 249:
                 {
-                alt247=3;
+                alt236=1;
                 }
                 break;
             case 250:
                 {
-                alt247=4;
+                alt236=2;
                 }
                 break;
             case 251:
                 {
-                alt247=5;
+                alt236=3;
                 }
                 break;
             case 252:
                 {
-                alt247=6;
+                alt236=4;
                 }
                 break;
             case 253:
                 {
-                alt247=7;
+                alt236=5;
                 }
                 break;
             case 254:
                 {
-                alt247=8;
+                alt236=6;
                 }
                 break;
             case 255:
                 {
-                alt247=9;
+                alt236=7;
+                }
+                break;
+            case 256:
+                {
+                alt236=8;
+                }
+                break;
+            case 257:
+                {
+                alt236=9;
                 }
                 break;
             default:
                 if (state.backtracking>0) {state.failed=true; return current;}
                 NoViableAltException nvae =
-                    new NoViableAltException("", 247, 0, input);
+                    new NoViableAltException("", 236, 0, input);
 
                 throw nvae;
             }
 
-            switch (alt247) {
+            switch (alt236) {
                 case 1 :
-                    // InternalReportDSL.g:15621:3: (enumLiteral_0= 'none' )
+                    // InternalReportDSL.g:15965:3: (enumLiteral_0= 'none' )
                     {
-                    // InternalReportDSL.g:15621:3: (enumLiteral_0= 'none' )
-                    // InternalReportDSL.g:15622:4: enumLiteral_0= 'none'
+                    // InternalReportDSL.g:15965:3: (enumLiteral_0= 'none' )
+                    // InternalReportDSL.g:15966:4: enumLiteral_0= 'none'
                     {
-                    enumLiteral_0=(Token)match(input,247,FOLLOW_2); if (state.failed) return current;
+                    enumLiteral_0=(Token)match(input,249,FOLLOW_2); if (state.failed) return current;
                     if ( state.backtracking==0 ) {
 
                       				current = grammarAccess.getBorderTypeEnumAccess().getNONEEnumLiteralDeclaration_0().getEnumLiteral().getInstance();
@@ -43096,12 +44066,12 @@
                     }
                     break;
                 case 2 :
-                    // InternalReportDSL.g:15629:3: (enumLiteral_1= 'solid' )
+                    // InternalReportDSL.g:15973:3: (enumLiteral_1= 'solid' )
                     {
-                    // InternalReportDSL.g:15629:3: (enumLiteral_1= 'solid' )
-                    // InternalReportDSL.g:15630:4: enumLiteral_1= 'solid'
+                    // InternalReportDSL.g:15973:3: (enumLiteral_1= 'solid' )
+                    // InternalReportDSL.g:15974:4: enumLiteral_1= 'solid'
                     {
-                    enumLiteral_1=(Token)match(input,248,FOLLOW_2); if (state.failed) return current;
+                    enumLiteral_1=(Token)match(input,250,FOLLOW_2); if (state.failed) return current;
                     if ( state.backtracking==0 ) {
 
                       				current = grammarAccess.getBorderTypeEnumAccess().getSOLIDEnumLiteralDeclaration_1().getEnumLiteral().getInstance();
@@ -43115,12 +44085,12 @@
                     }
                     break;
                 case 3 :
-                    // InternalReportDSL.g:15637:3: (enumLiteral_2= 'dotted' )
+                    // InternalReportDSL.g:15981:3: (enumLiteral_2= 'dotted' )
                     {
-                    // InternalReportDSL.g:15637:3: (enumLiteral_2= 'dotted' )
-                    // InternalReportDSL.g:15638:4: enumLiteral_2= 'dotted'
+                    // InternalReportDSL.g:15981:3: (enumLiteral_2= 'dotted' )
+                    // InternalReportDSL.g:15982:4: enumLiteral_2= 'dotted'
                     {
-                    enumLiteral_2=(Token)match(input,249,FOLLOW_2); if (state.failed) return current;
+                    enumLiteral_2=(Token)match(input,251,FOLLOW_2); if (state.failed) return current;
                     if ( state.backtracking==0 ) {
 
                       				current = grammarAccess.getBorderTypeEnumAccess().getDOTTEDEnumLiteralDeclaration_2().getEnumLiteral().getInstance();
@@ -43134,12 +44104,12 @@
                     }
                     break;
                 case 4 :
-                    // InternalReportDSL.g:15645:3: (enumLiteral_3= 'dashed' )
+                    // InternalReportDSL.g:15989:3: (enumLiteral_3= 'dashed' )
                     {
-                    // InternalReportDSL.g:15645:3: (enumLiteral_3= 'dashed' )
-                    // InternalReportDSL.g:15646:4: enumLiteral_3= 'dashed'
+                    // InternalReportDSL.g:15989:3: (enumLiteral_3= 'dashed' )
+                    // InternalReportDSL.g:15990:4: enumLiteral_3= 'dashed'
                     {
-                    enumLiteral_3=(Token)match(input,250,FOLLOW_2); if (state.failed) return current;
+                    enumLiteral_3=(Token)match(input,252,FOLLOW_2); if (state.failed) return current;
                     if ( state.backtracking==0 ) {
 
                       				current = grammarAccess.getBorderTypeEnumAccess().getDASHEDEnumLiteralDeclaration_3().getEnumLiteral().getInstance();
@@ -43153,12 +44123,12 @@
                     }
                     break;
                 case 5 :
-                    // InternalReportDSL.g:15653:3: (enumLiteral_4= 'double' )
+                    // InternalReportDSL.g:15997:3: (enumLiteral_4= 'double' )
                     {
-                    // InternalReportDSL.g:15653:3: (enumLiteral_4= 'double' )
-                    // InternalReportDSL.g:15654:4: enumLiteral_4= 'double'
+                    // InternalReportDSL.g:15997:3: (enumLiteral_4= 'double' )
+                    // InternalReportDSL.g:15998:4: enumLiteral_4= 'double'
                     {
-                    enumLiteral_4=(Token)match(input,251,FOLLOW_2); if (state.failed) return current;
+                    enumLiteral_4=(Token)match(input,253,FOLLOW_2); if (state.failed) return current;
                     if ( state.backtracking==0 ) {
 
                       				current = grammarAccess.getBorderTypeEnumAccess().getDOUBLEEnumLiteralDeclaration_4().getEnumLiteral().getInstance();
@@ -43172,12 +44142,12 @@
                     }
                     break;
                 case 6 :
-                    // InternalReportDSL.g:15661:3: (enumLiteral_5= 'groove' )
+                    // InternalReportDSL.g:16005:3: (enumLiteral_5= 'groove' )
                     {
-                    // InternalReportDSL.g:15661:3: (enumLiteral_5= 'groove' )
-                    // InternalReportDSL.g:15662:4: enumLiteral_5= 'groove'
+                    // InternalReportDSL.g:16005:3: (enumLiteral_5= 'groove' )
+                    // InternalReportDSL.g:16006:4: enumLiteral_5= 'groove'
                     {
-                    enumLiteral_5=(Token)match(input,252,FOLLOW_2); if (state.failed) return current;
+                    enumLiteral_5=(Token)match(input,254,FOLLOW_2); if (state.failed) return current;
                     if ( state.backtracking==0 ) {
 
                       				current = grammarAccess.getBorderTypeEnumAccess().getGROOVEEnumLiteralDeclaration_5().getEnumLiteral().getInstance();
@@ -43191,12 +44161,12 @@
                     }
                     break;
                 case 7 :
-                    // InternalReportDSL.g:15669:3: (enumLiteral_6= 'ridge' )
+                    // InternalReportDSL.g:16013:3: (enumLiteral_6= 'ridge' )
                     {
-                    // InternalReportDSL.g:15669:3: (enumLiteral_6= 'ridge' )
-                    // InternalReportDSL.g:15670:4: enumLiteral_6= 'ridge'
+                    // InternalReportDSL.g:16013:3: (enumLiteral_6= 'ridge' )
+                    // InternalReportDSL.g:16014:4: enumLiteral_6= 'ridge'
                     {
-                    enumLiteral_6=(Token)match(input,253,FOLLOW_2); if (state.failed) return current;
+                    enumLiteral_6=(Token)match(input,255,FOLLOW_2); if (state.failed) return current;
                     if ( state.backtracking==0 ) {
 
                       				current = grammarAccess.getBorderTypeEnumAccess().getRIDGEEnumLiteralDeclaration_6().getEnumLiteral().getInstance();
@@ -43210,12 +44180,12 @@
                     }
                     break;
                 case 8 :
-                    // InternalReportDSL.g:15677:3: (enumLiteral_7= 'inset' )
+                    // InternalReportDSL.g:16021:3: (enumLiteral_7= 'inset' )
                     {
-                    // InternalReportDSL.g:15677:3: (enumLiteral_7= 'inset' )
-                    // InternalReportDSL.g:15678:4: enumLiteral_7= 'inset'
+                    // InternalReportDSL.g:16021:3: (enumLiteral_7= 'inset' )
+                    // InternalReportDSL.g:16022:4: enumLiteral_7= 'inset'
                     {
-                    enumLiteral_7=(Token)match(input,254,FOLLOW_2); if (state.failed) return current;
+                    enumLiteral_7=(Token)match(input,256,FOLLOW_2); if (state.failed) return current;
                     if ( state.backtracking==0 ) {
 
                       				current = grammarAccess.getBorderTypeEnumAccess().getINSETEnumLiteralDeclaration_7().getEnumLiteral().getInstance();
@@ -43229,12 +44199,12 @@
                     }
                     break;
                 case 9 :
-                    // InternalReportDSL.g:15685:3: (enumLiteral_8= 'outset' )
+                    // InternalReportDSL.g:16029:3: (enumLiteral_8= 'outset' )
                     {
-                    // InternalReportDSL.g:15685:3: (enumLiteral_8= 'outset' )
-                    // InternalReportDSL.g:15686:4: enumLiteral_8= 'outset'
+                    // InternalReportDSL.g:16029:3: (enumLiteral_8= 'outset' )
+                    // InternalReportDSL.g:16030:4: enumLiteral_8= 'outset'
                     {
-                    enumLiteral_8=(Token)match(input,255,FOLLOW_2); if (state.failed) return current;
+                    enumLiteral_8=(Token)match(input,257,FOLLOW_2); if (state.failed) return current;
                     if ( state.backtracking==0 ) {
 
                       				current = grammarAccess.getBorderTypeEnumAccess().getOUTSETEnumLiteralDeclaration_8().getEnumLiteral().getInstance();
@@ -43272,7 +44242,7 @@
 
 
     // $ANTLR start "ruleAutoTextEnum"
-    // InternalReportDSL.g:15696:1: ruleAutoTextEnum returns [Enumerator current=null] : ( (enumLiteral_0= 'page-number' ) | (enumLiteral_1= 'total-page' ) | (enumLiteral_2= 'page-number-unfiltered' ) | (enumLiteral_3= 'total-page-unfiltered' ) | (enumLiteral_4= 'page-variable' ) ) ;
+    // InternalReportDSL.g:16040:1: ruleAutoTextEnum returns [Enumerator current=null] : ( (enumLiteral_0= 'page-number' ) | (enumLiteral_1= 'total-page' ) | (enumLiteral_2= 'page-number-unfiltered' ) | (enumLiteral_3= 'total-page-unfiltered' ) | (enumLiteral_4= 'page-variable' ) | (enumLiteral_5= 'actual-date' ) | (enumLiteral_6= 'actual-time' ) | (enumLiteral_7= 'report-name' ) ) ;
     public final Enumerator ruleAutoTextEnum() throws RecognitionException {
         Enumerator current = null;
 
@@ -43281,58 +44251,76 @@
         Token enumLiteral_2=null;
         Token enumLiteral_3=null;
         Token enumLiteral_4=null;
+        Token enumLiteral_5=null;
+        Token enumLiteral_6=null;
+        Token enumLiteral_7=null;
 
 
         	enterRule();
 
         try {
-            // InternalReportDSL.g:15702:2: ( ( (enumLiteral_0= 'page-number' ) | (enumLiteral_1= 'total-page' ) | (enumLiteral_2= 'page-number-unfiltered' ) | (enumLiteral_3= 'total-page-unfiltered' ) | (enumLiteral_4= 'page-variable' ) ) )
-            // InternalReportDSL.g:15703:2: ( (enumLiteral_0= 'page-number' ) | (enumLiteral_1= 'total-page' ) | (enumLiteral_2= 'page-number-unfiltered' ) | (enumLiteral_3= 'total-page-unfiltered' ) | (enumLiteral_4= 'page-variable' ) )
+            // InternalReportDSL.g:16046:2: ( ( (enumLiteral_0= 'page-number' ) | (enumLiteral_1= 'total-page' ) | (enumLiteral_2= 'page-number-unfiltered' ) | (enumLiteral_3= 'total-page-unfiltered' ) | (enumLiteral_4= 'page-variable' ) | (enumLiteral_5= 'actual-date' ) | (enumLiteral_6= 'actual-time' ) | (enumLiteral_7= 'report-name' ) ) )
+            // InternalReportDSL.g:16047:2: ( (enumLiteral_0= 'page-number' ) | (enumLiteral_1= 'total-page' ) | (enumLiteral_2= 'page-number-unfiltered' ) | (enumLiteral_3= 'total-page-unfiltered' ) | (enumLiteral_4= 'page-variable' ) | (enumLiteral_5= 'actual-date' ) | (enumLiteral_6= 'actual-time' ) | (enumLiteral_7= 'report-name' ) )
             {
-            // InternalReportDSL.g:15703:2: ( (enumLiteral_0= 'page-number' ) | (enumLiteral_1= 'total-page' ) | (enumLiteral_2= 'page-number-unfiltered' ) | (enumLiteral_3= 'total-page-unfiltered' ) | (enumLiteral_4= 'page-variable' ) )
-            int alt248=5;
+            // InternalReportDSL.g:16047:2: ( (enumLiteral_0= 'page-number' ) | (enumLiteral_1= 'total-page' ) | (enumLiteral_2= 'page-number-unfiltered' ) | (enumLiteral_3= 'total-page-unfiltered' ) | (enumLiteral_4= 'page-variable' ) | (enumLiteral_5= 'actual-date' ) | (enumLiteral_6= 'actual-time' ) | (enumLiteral_7= 'report-name' ) )
+            int alt237=8;
             switch ( input.LA(1) ) {
-            case 256:
-                {
-                alt248=1;
-                }
-                break;
-            case 257:
-                {
-                alt248=2;
-                }
-                break;
             case 258:
                 {
-                alt248=3;
+                alt237=1;
                 }
                 break;
             case 259:
                 {
-                alt248=4;
+                alt237=2;
                 }
                 break;
             case 260:
                 {
-                alt248=5;
+                alt237=3;
+                }
+                break;
+            case 261:
+                {
+                alt237=4;
+                }
+                break;
+            case 262:
+                {
+                alt237=5;
+                }
+                break;
+            case 263:
+                {
+                alt237=6;
+                }
+                break;
+            case 264:
+                {
+                alt237=7;
+                }
+                break;
+            case 265:
+                {
+                alt237=8;
                 }
                 break;
             default:
                 if (state.backtracking>0) {state.failed=true; return current;}
                 NoViableAltException nvae =
-                    new NoViableAltException("", 248, 0, input);
+                    new NoViableAltException("", 237, 0, input);
 
                 throw nvae;
             }
 
-            switch (alt248) {
+            switch (alt237) {
                 case 1 :
-                    // InternalReportDSL.g:15704:3: (enumLiteral_0= 'page-number' )
+                    // InternalReportDSL.g:16048:3: (enumLiteral_0= 'page-number' )
                     {
-                    // InternalReportDSL.g:15704:3: (enumLiteral_0= 'page-number' )
-                    // InternalReportDSL.g:15705:4: enumLiteral_0= 'page-number'
+                    // InternalReportDSL.g:16048:3: (enumLiteral_0= 'page-number' )
+                    // InternalReportDSL.g:16049:4: enumLiteral_0= 'page-number'
                     {
-                    enumLiteral_0=(Token)match(input,256,FOLLOW_2); if (state.failed) return current;
+                    enumLiteral_0=(Token)match(input,258,FOLLOW_2); if (state.failed) return current;
                     if ( state.backtracking==0 ) {
 
                       				current = grammarAccess.getAutoTextEnumAccess().getPAGE_NUMBEREnumLiteralDeclaration_0().getEnumLiteral().getInstance();
@@ -43346,12 +44334,12 @@
                     }
                     break;
                 case 2 :
-                    // InternalReportDSL.g:15712:3: (enumLiteral_1= 'total-page' )
+                    // InternalReportDSL.g:16056:3: (enumLiteral_1= 'total-page' )
                     {
-                    // InternalReportDSL.g:15712:3: (enumLiteral_1= 'total-page' )
-                    // InternalReportDSL.g:15713:4: enumLiteral_1= 'total-page'
+                    // InternalReportDSL.g:16056:3: (enumLiteral_1= 'total-page' )
+                    // InternalReportDSL.g:16057:4: enumLiteral_1= 'total-page'
                     {
-                    enumLiteral_1=(Token)match(input,257,FOLLOW_2); if (state.failed) return current;
+                    enumLiteral_1=(Token)match(input,259,FOLLOW_2); if (state.failed) return current;
                     if ( state.backtracking==0 ) {
 
                       				current = grammarAccess.getAutoTextEnumAccess().getTOTAL_PAGEEnumLiteralDeclaration_1().getEnumLiteral().getInstance();
@@ -43365,12 +44353,12 @@
                     }
                     break;
                 case 3 :
-                    // InternalReportDSL.g:15720:3: (enumLiteral_2= 'page-number-unfiltered' )
+                    // InternalReportDSL.g:16064:3: (enumLiteral_2= 'page-number-unfiltered' )
                     {
-                    // InternalReportDSL.g:15720:3: (enumLiteral_2= 'page-number-unfiltered' )
-                    // InternalReportDSL.g:15721:4: enumLiteral_2= 'page-number-unfiltered'
+                    // InternalReportDSL.g:16064:3: (enumLiteral_2= 'page-number-unfiltered' )
+                    // InternalReportDSL.g:16065:4: enumLiteral_2= 'page-number-unfiltered'
                     {
-                    enumLiteral_2=(Token)match(input,258,FOLLOW_2); if (state.failed) return current;
+                    enumLiteral_2=(Token)match(input,260,FOLLOW_2); if (state.failed) return current;
                     if ( state.backtracking==0 ) {
 
                       				current = grammarAccess.getAutoTextEnumAccess().getPAGE_NUMBER_UNFILTEREDEnumLiteralDeclaration_2().getEnumLiteral().getInstance();
@@ -43384,12 +44372,12 @@
                     }
                     break;
                 case 4 :
-                    // InternalReportDSL.g:15728:3: (enumLiteral_3= 'total-page-unfiltered' )
+                    // InternalReportDSL.g:16072:3: (enumLiteral_3= 'total-page-unfiltered' )
                     {
-                    // InternalReportDSL.g:15728:3: (enumLiteral_3= 'total-page-unfiltered' )
-                    // InternalReportDSL.g:15729:4: enumLiteral_3= 'total-page-unfiltered'
+                    // InternalReportDSL.g:16072:3: (enumLiteral_3= 'total-page-unfiltered' )
+                    // InternalReportDSL.g:16073:4: enumLiteral_3= 'total-page-unfiltered'
                     {
-                    enumLiteral_3=(Token)match(input,259,FOLLOW_2); if (state.failed) return current;
+                    enumLiteral_3=(Token)match(input,261,FOLLOW_2); if (state.failed) return current;
                     if ( state.backtracking==0 ) {
 
                       				current = grammarAccess.getAutoTextEnumAccess().getTOTAL_PAGE_UNFILTEREDEnumLiteralDeclaration_3().getEnumLiteral().getInstance();
@@ -43403,12 +44391,12 @@
                     }
                     break;
                 case 5 :
-                    // InternalReportDSL.g:15736:3: (enumLiteral_4= 'page-variable' )
+                    // InternalReportDSL.g:16080:3: (enumLiteral_4= 'page-variable' )
                     {
-                    // InternalReportDSL.g:15736:3: (enumLiteral_4= 'page-variable' )
-                    // InternalReportDSL.g:15737:4: enumLiteral_4= 'page-variable'
+                    // InternalReportDSL.g:16080:3: (enumLiteral_4= 'page-variable' )
+                    // InternalReportDSL.g:16081:4: enumLiteral_4= 'page-variable'
                     {
-                    enumLiteral_4=(Token)match(input,260,FOLLOW_2); if (state.failed) return current;
+                    enumLiteral_4=(Token)match(input,262,FOLLOW_2); if (state.failed) return current;
                     if ( state.backtracking==0 ) {
 
                       				current = grammarAccess.getAutoTextEnumAccess().getPAGE_VARIABLEEnumLiteralDeclaration_4().getEnumLiteral().getInstance();
@@ -43421,6 +44409,63 @@
 
                     }
                     break;
+                case 6 :
+                    // InternalReportDSL.g:16088:3: (enumLiteral_5= 'actual-date' )
+                    {
+                    // InternalReportDSL.g:16088:3: (enumLiteral_5= 'actual-date' )
+                    // InternalReportDSL.g:16089:4: enumLiteral_5= 'actual-date'
+                    {
+                    enumLiteral_5=(Token)match(input,263,FOLLOW_2); if (state.failed) return current;
+                    if ( state.backtracking==0 ) {
+
+                      				current = grammarAccess.getAutoTextEnumAccess().getACTUAL_DATEEnumLiteralDeclaration_5().getEnumLiteral().getInstance();
+                      				newLeafNode(enumLiteral_5, grammarAccess.getAutoTextEnumAccess().getACTUAL_DATEEnumLiteralDeclaration_5());
+                      			
+                    }
+
+                    }
+
+
+                    }
+                    break;
+                case 7 :
+                    // InternalReportDSL.g:16096:3: (enumLiteral_6= 'actual-time' )
+                    {
+                    // InternalReportDSL.g:16096:3: (enumLiteral_6= 'actual-time' )
+                    // InternalReportDSL.g:16097:4: enumLiteral_6= 'actual-time'
+                    {
+                    enumLiteral_6=(Token)match(input,264,FOLLOW_2); if (state.failed) return current;
+                    if ( state.backtracking==0 ) {
+
+                      				current = grammarAccess.getAutoTextEnumAccess().getACTUAL_TIMEEnumLiteralDeclaration_6().getEnumLiteral().getInstance();
+                      				newLeafNode(enumLiteral_6, grammarAccess.getAutoTextEnumAccess().getACTUAL_TIMEEnumLiteralDeclaration_6());
+                      			
+                    }
+
+                    }
+
+
+                    }
+                    break;
+                case 8 :
+                    // InternalReportDSL.g:16104:3: (enumLiteral_7= 'report-name' )
+                    {
+                    // InternalReportDSL.g:16104:3: (enumLiteral_7= 'report-name' )
+                    // InternalReportDSL.g:16105:4: enumLiteral_7= 'report-name'
+                    {
+                    enumLiteral_7=(Token)match(input,265,FOLLOW_2); if (state.failed) return current;
+                    if ( state.backtracking==0 ) {
+
+                      				current = grammarAccess.getAutoTextEnumAccess().getREPORT_NAMEEnumLiteralDeclaration_7().getEnumLiteral().getInstance();
+                      				newLeafNode(enumLiteral_7, grammarAccess.getAutoTextEnumAccess().getREPORT_NAMEEnumLiteralDeclaration_7());
+                      			
+                    }
+
+                    }
+
+
+                    }
+                    break;
 
             }
 
@@ -43446,7 +44491,7 @@
 
 
     // $ANTLR start "ruleImageSizeEnum"
-    // InternalReportDSL.g:15747:1: ruleImageSizeEnum returns [Enumerator current=null] : ( (enumLiteral_0= 'size-to-image' ) | (enumLiteral_1= 'scale-to-item' ) | (enumLiteral_2= 'clip' ) ) ;
+    // InternalReportDSL.g:16115:1: ruleImageSizeEnum returns [Enumerator current=null] : ( (enumLiteral_0= 'size-to-image' ) | (enumLiteral_1= 'scale-to-item' ) | (enumLiteral_2= 'clip' ) ) ;
     public final Enumerator ruleImageSizeEnum() throws RecognitionException {
         Enumerator current = null;
 
@@ -43458,43 +44503,43 @@
         	enterRule();
 
         try {
-            // InternalReportDSL.g:15753:2: ( ( (enumLiteral_0= 'size-to-image' ) | (enumLiteral_1= 'scale-to-item' ) | (enumLiteral_2= 'clip' ) ) )
-            // InternalReportDSL.g:15754:2: ( (enumLiteral_0= 'size-to-image' ) | (enumLiteral_1= 'scale-to-item' ) | (enumLiteral_2= 'clip' ) )
+            // InternalReportDSL.g:16121:2: ( ( (enumLiteral_0= 'size-to-image' ) | (enumLiteral_1= 'scale-to-item' ) | (enumLiteral_2= 'clip' ) ) )
+            // InternalReportDSL.g:16122:2: ( (enumLiteral_0= 'size-to-image' ) | (enumLiteral_1= 'scale-to-item' ) | (enumLiteral_2= 'clip' ) )
             {
-            // InternalReportDSL.g:15754:2: ( (enumLiteral_0= 'size-to-image' ) | (enumLiteral_1= 'scale-to-item' ) | (enumLiteral_2= 'clip' ) )
-            int alt249=3;
+            // InternalReportDSL.g:16122:2: ( (enumLiteral_0= 'size-to-image' ) | (enumLiteral_1= 'scale-to-item' ) | (enumLiteral_2= 'clip' ) )
+            int alt238=3;
             switch ( input.LA(1) ) {
-            case 261:
+            case 266:
                 {
-                alt249=1;
+                alt238=1;
                 }
                 break;
-            case 262:
+            case 267:
                 {
-                alt249=2;
+                alt238=2;
                 }
                 break;
-            case 263:
+            case 268:
                 {
-                alt249=3;
+                alt238=3;
                 }
                 break;
             default:
                 if (state.backtracking>0) {state.failed=true; return current;}
                 NoViableAltException nvae =
-                    new NoViableAltException("", 249, 0, input);
+                    new NoViableAltException("", 238, 0, input);
 
                 throw nvae;
             }
 
-            switch (alt249) {
+            switch (alt238) {
                 case 1 :
-                    // InternalReportDSL.g:15755:3: (enumLiteral_0= 'size-to-image' )
+                    // InternalReportDSL.g:16123:3: (enumLiteral_0= 'size-to-image' )
                     {
-                    // InternalReportDSL.g:15755:3: (enumLiteral_0= 'size-to-image' )
-                    // InternalReportDSL.g:15756:4: enumLiteral_0= 'size-to-image'
+                    // InternalReportDSL.g:16123:3: (enumLiteral_0= 'size-to-image' )
+                    // InternalReportDSL.g:16124:4: enumLiteral_0= 'size-to-image'
                     {
-                    enumLiteral_0=(Token)match(input,261,FOLLOW_2); if (state.failed) return current;
+                    enumLiteral_0=(Token)match(input,266,FOLLOW_2); if (state.failed) return current;
                     if ( state.backtracking==0 ) {
 
                       				current = grammarAccess.getImageSizeEnumAccess().getSIZE_TO_IMAGEEnumLiteralDeclaration_0().getEnumLiteral().getInstance();
@@ -43508,12 +44553,12 @@
                     }
                     break;
                 case 2 :
-                    // InternalReportDSL.g:15763:3: (enumLiteral_1= 'scale-to-item' )
+                    // InternalReportDSL.g:16131:3: (enumLiteral_1= 'scale-to-item' )
                     {
-                    // InternalReportDSL.g:15763:3: (enumLiteral_1= 'scale-to-item' )
-                    // InternalReportDSL.g:15764:4: enumLiteral_1= 'scale-to-item'
+                    // InternalReportDSL.g:16131:3: (enumLiteral_1= 'scale-to-item' )
+                    // InternalReportDSL.g:16132:4: enumLiteral_1= 'scale-to-item'
                     {
-                    enumLiteral_1=(Token)match(input,262,FOLLOW_2); if (state.failed) return current;
+                    enumLiteral_1=(Token)match(input,267,FOLLOW_2); if (state.failed) return current;
                     if ( state.backtracking==0 ) {
 
                       				current = grammarAccess.getImageSizeEnumAccess().getSCALE_TO_ITEMEnumLiteralDeclaration_1().getEnumLiteral().getInstance();
@@ -43527,12 +44572,12 @@
                     }
                     break;
                 case 3 :
-                    // InternalReportDSL.g:15771:3: (enumLiteral_2= 'clip' )
+                    // InternalReportDSL.g:16139:3: (enumLiteral_2= 'clip' )
                     {
-                    // InternalReportDSL.g:15771:3: (enumLiteral_2= 'clip' )
-                    // InternalReportDSL.g:15772:4: enumLiteral_2= 'clip'
+                    // InternalReportDSL.g:16139:3: (enumLiteral_2= 'clip' )
+                    // InternalReportDSL.g:16140:4: enumLiteral_2= 'clip'
                     {
-                    enumLiteral_2=(Token)match(input,263,FOLLOW_2); if (state.failed) return current;
+                    enumLiteral_2=(Token)match(input,268,FOLLOW_2); if (state.failed) return current;
                     if ( state.backtracking==0 ) {
 
                       				current = grammarAccess.getImageSizeEnumAccess().getCLIPEnumLiteralDeclaration_2().getEnumLiteral().getInstance();
@@ -43570,7 +44615,7 @@
 
 
     // $ANTLR start "ruleImageSourceEnum"
-    // InternalReportDSL.g:15782:1: ruleImageSourceEnum returns [Enumerator current=null] : ( (enumLiteral_0= 'url' ) | (enumLiteral_1= 'embed' ) ) ;
+    // InternalReportDSL.g:16150:1: ruleImageSourceEnum returns [Enumerator current=null] : ( (enumLiteral_0= 'url' ) | (enumLiteral_1= 'embed' ) ) ;
     public final Enumerator ruleImageSourceEnum() throws RecognitionException {
         Enumerator current = null;
 
@@ -43581,34 +44626,34 @@
         	enterRule();
 
         try {
-            // InternalReportDSL.g:15788:2: ( ( (enumLiteral_0= 'url' ) | (enumLiteral_1= 'embed' ) ) )
-            // InternalReportDSL.g:15789:2: ( (enumLiteral_0= 'url' ) | (enumLiteral_1= 'embed' ) )
+            // InternalReportDSL.g:16156:2: ( ( (enumLiteral_0= 'url' ) | (enumLiteral_1= 'embed' ) ) )
+            // InternalReportDSL.g:16157:2: ( (enumLiteral_0= 'url' ) | (enumLiteral_1= 'embed' ) )
             {
-            // InternalReportDSL.g:15789:2: ( (enumLiteral_0= 'url' ) | (enumLiteral_1= 'embed' ) )
-            int alt250=2;
-            int LA250_0 = input.LA(1);
+            // InternalReportDSL.g:16157:2: ( (enumLiteral_0= 'url' ) | (enumLiteral_1= 'embed' ) )
+            int alt239=2;
+            int LA239_0 = input.LA(1);
 
-            if ( (LA250_0==264) ) {
-                alt250=1;
+            if ( (LA239_0==269) ) {
+                alt239=1;
             }
-            else if ( (LA250_0==265) ) {
-                alt250=2;
+            else if ( (LA239_0==270) ) {
+                alt239=2;
             }
             else {
                 if (state.backtracking>0) {state.failed=true; return current;}
                 NoViableAltException nvae =
-                    new NoViableAltException("", 250, 0, input);
+                    new NoViableAltException("", 239, 0, input);
 
                 throw nvae;
             }
-            switch (alt250) {
+            switch (alt239) {
                 case 1 :
-                    // InternalReportDSL.g:15790:3: (enumLiteral_0= 'url' )
+                    // InternalReportDSL.g:16158:3: (enumLiteral_0= 'url' )
                     {
-                    // InternalReportDSL.g:15790:3: (enumLiteral_0= 'url' )
-                    // InternalReportDSL.g:15791:4: enumLiteral_0= 'url'
+                    // InternalReportDSL.g:16158:3: (enumLiteral_0= 'url' )
+                    // InternalReportDSL.g:16159:4: enumLiteral_0= 'url'
                     {
-                    enumLiteral_0=(Token)match(input,264,FOLLOW_2); if (state.failed) return current;
+                    enumLiteral_0=(Token)match(input,269,FOLLOW_2); if (state.failed) return current;
                     if ( state.backtracking==0 ) {
 
                       				current = grammarAccess.getImageSourceEnumAccess().getURLEnumLiteralDeclaration_0().getEnumLiteral().getInstance();
@@ -43622,12 +44667,12 @@
                     }
                     break;
                 case 2 :
-                    // InternalReportDSL.g:15798:3: (enumLiteral_1= 'embed' )
+                    // InternalReportDSL.g:16166:3: (enumLiteral_1= 'embed' )
                     {
-                    // InternalReportDSL.g:15798:3: (enumLiteral_1= 'embed' )
-                    // InternalReportDSL.g:15799:4: enumLiteral_1= 'embed'
+                    // InternalReportDSL.g:16166:3: (enumLiteral_1= 'embed' )
+                    // InternalReportDSL.g:16167:4: enumLiteral_1= 'embed'
                     {
-                    enumLiteral_1=(Token)match(input,265,FOLLOW_2); if (state.failed) return current;
+                    enumLiteral_1=(Token)match(input,270,FOLLOW_2); if (state.failed) return current;
                     if ( state.backtracking==0 ) {
 
                       				current = grammarAccess.getImageSourceEnumAccess().getEMBEDEnumLiteralDeclaration_1().getEnumLiteral().getInstance();
@@ -43665,7 +44710,7 @@
 
 
     // $ANTLR start "ruleTextContentTypeEnum"
-    // InternalReportDSL.g:15809:1: ruleTextContentTypeEnum returns [Enumerator current=null] : ( (enumLiteral_0= 'auto' ) | (enumLiteral_1= 'plain' ) | (enumLiteral_2= 'html' ) ) ;
+    // InternalReportDSL.g:16177:1: ruleTextContentTypeEnum returns [Enumerator current=null] : ( (enumLiteral_0= 'auto' ) | (enumLiteral_1= 'plain' ) | (enumLiteral_2= 'html' ) ) ;
     public final Enumerator ruleTextContentTypeEnum() throws RecognitionException {
         Enumerator current = null;
 
@@ -43677,43 +44722,43 @@
         	enterRule();
 
         try {
-            // InternalReportDSL.g:15815:2: ( ( (enumLiteral_0= 'auto' ) | (enumLiteral_1= 'plain' ) | (enumLiteral_2= 'html' ) ) )
-            // InternalReportDSL.g:15816:2: ( (enumLiteral_0= 'auto' ) | (enumLiteral_1= 'plain' ) | (enumLiteral_2= 'html' ) )
+            // InternalReportDSL.g:16183:2: ( ( (enumLiteral_0= 'auto' ) | (enumLiteral_1= 'plain' ) | (enumLiteral_2= 'html' ) ) )
+            // InternalReportDSL.g:16184:2: ( (enumLiteral_0= 'auto' ) | (enumLiteral_1= 'plain' ) | (enumLiteral_2= 'html' ) )
             {
-            // InternalReportDSL.g:15816:2: ( (enumLiteral_0= 'auto' ) | (enumLiteral_1= 'plain' ) | (enumLiteral_2= 'html' ) )
-            int alt251=3;
+            // InternalReportDSL.g:16184:2: ( (enumLiteral_0= 'auto' ) | (enumLiteral_1= 'plain' ) | (enumLiteral_2= 'html' ) )
+            int alt240=3;
             switch ( input.LA(1) ) {
-            case 239:
+            case 241:
                 {
-                alt251=1;
+                alt240=1;
                 }
                 break;
-            case 266:
+            case 271:
                 {
-                alt251=2;
+                alt240=2;
                 }
                 break;
-            case 228:
+            case 230:
                 {
-                alt251=3;
+                alt240=3;
                 }
                 break;
             default:
                 if (state.backtracking>0) {state.failed=true; return current;}
                 NoViableAltException nvae =
-                    new NoViableAltException("", 251, 0, input);
+                    new NoViableAltException("", 240, 0, input);
 
                 throw nvae;
             }
 
-            switch (alt251) {
+            switch (alt240) {
                 case 1 :
-                    // InternalReportDSL.g:15817:3: (enumLiteral_0= 'auto' )
+                    // InternalReportDSL.g:16185:3: (enumLiteral_0= 'auto' )
                     {
-                    // InternalReportDSL.g:15817:3: (enumLiteral_0= 'auto' )
-                    // InternalReportDSL.g:15818:4: enumLiteral_0= 'auto'
+                    // InternalReportDSL.g:16185:3: (enumLiteral_0= 'auto' )
+                    // InternalReportDSL.g:16186:4: enumLiteral_0= 'auto'
                     {
-                    enumLiteral_0=(Token)match(input,239,FOLLOW_2); if (state.failed) return current;
+                    enumLiteral_0=(Token)match(input,241,FOLLOW_2); if (state.failed) return current;
                     if ( state.backtracking==0 ) {
 
                       				current = grammarAccess.getTextContentTypeEnumAccess().getAUTOEnumLiteralDeclaration_0().getEnumLiteral().getInstance();
@@ -43727,12 +44772,12 @@
                     }
                     break;
                 case 2 :
-                    // InternalReportDSL.g:15825:3: (enumLiteral_1= 'plain' )
+                    // InternalReportDSL.g:16193:3: (enumLiteral_1= 'plain' )
                     {
-                    // InternalReportDSL.g:15825:3: (enumLiteral_1= 'plain' )
-                    // InternalReportDSL.g:15826:4: enumLiteral_1= 'plain'
+                    // InternalReportDSL.g:16193:3: (enumLiteral_1= 'plain' )
+                    // InternalReportDSL.g:16194:4: enumLiteral_1= 'plain'
                     {
-                    enumLiteral_1=(Token)match(input,266,FOLLOW_2); if (state.failed) return current;
+                    enumLiteral_1=(Token)match(input,271,FOLLOW_2); if (state.failed) return current;
                     if ( state.backtracking==0 ) {
 
                       				current = grammarAccess.getTextContentTypeEnumAccess().getPLAINEnumLiteralDeclaration_1().getEnumLiteral().getInstance();
@@ -43746,12 +44791,12 @@
                     }
                     break;
                 case 3 :
-                    // InternalReportDSL.g:15833:3: (enumLiteral_2= 'html' )
+                    // InternalReportDSL.g:16201:3: (enumLiteral_2= 'html' )
                     {
-                    // InternalReportDSL.g:15833:3: (enumLiteral_2= 'html' )
-                    // InternalReportDSL.g:15834:4: enumLiteral_2= 'html'
+                    // InternalReportDSL.g:16201:3: (enumLiteral_2= 'html' )
+                    // InternalReportDSL.g:16202:4: enumLiteral_2= 'html'
                     {
-                    enumLiteral_2=(Token)match(input,228,FOLLOW_2); if (state.failed) return current;
+                    enumLiteral_2=(Token)match(input,230,FOLLOW_2); if (state.failed) return current;
                     if ( state.backtracking==0 ) {
 
                       				current = grammarAccess.getTextContentTypeEnumAccess().getHTMLEnumLiteralDeclaration_2().getEnumLiteral().getInstance();
@@ -43789,10 +44834,10 @@
 
     // $ANTLR start synpred1_InternalReportDSL
     public final void synpred1_InternalReportDSL_fragment() throws RecognitionException {   
-        // InternalReportDSL.g:8310:5: ( '(' )
-        // InternalReportDSL.g:8310:6: '('
+        // InternalReportDSL.g:8619:5: ( '(' )
+        // InternalReportDSL.g:8619:6: '('
         {
-        match(input,103,FOLLOW_2); if (state.failed) return ;
+        match(input,102,FOLLOW_2); if (state.failed) return ;
 
         }
     }
@@ -43800,19 +44845,19 @@
 
     // $ANTLR start synpred2_InternalReportDSL
     public final void synpred2_InternalReportDSL_fragment() throws RecognitionException {   
-        // InternalReportDSL.g:8319:7: ( ( ( ( ruleValidID ) ) '=' ) )
-        // InternalReportDSL.g:8319:8: ( ( ( ruleValidID ) ) '=' )
+        // InternalReportDSL.g:8628:7: ( ( ( ( ruleValidID ) ) '=' ) )
+        // InternalReportDSL.g:8628:8: ( ( ( ruleValidID ) ) '=' )
         {
-        // InternalReportDSL.g:8319:8: ( ( ( ruleValidID ) ) '=' )
-        // InternalReportDSL.g:8320:8: ( ( ruleValidID ) ) '='
+        // InternalReportDSL.g:8628:8: ( ( ( ruleValidID ) ) '=' )
+        // InternalReportDSL.g:8629:8: ( ( ruleValidID ) ) '='
         {
-        // InternalReportDSL.g:8320:8: ( ( ruleValidID ) )
-        // InternalReportDSL.g:8321:9: ( ruleValidID )
+        // InternalReportDSL.g:8629:8: ( ( ruleValidID ) )
+        // InternalReportDSL.g:8630:9: ( ruleValidID )
         {
-        // InternalReportDSL.g:8321:9: ( ruleValidID )
-        // InternalReportDSL.g:8322:10: ruleValidID
+        // InternalReportDSL.g:8630:9: ( ruleValidID )
+        // InternalReportDSL.g:8631:10: ruleValidID
         {
-        pushFollow(FOLLOW_129);
+        pushFollow(FOLLOW_121);
         ruleValidID();
 
         state._fsp--;
@@ -43823,7 +44868,7 @@
 
         }
 
-        match(input,135,FOLLOW_2); if (state.failed) return ;
+        match(input,134,FOLLOW_2); if (state.failed) return ;
 
         }
 
@@ -43834,19 +44879,19 @@
 
     // $ANTLR start synpred5_InternalReportDSL
     public final void synpred5_InternalReportDSL_fragment() throws RecognitionException {   
-        // InternalReportDSL.g:8499:5: ( ( () '#' '[' ) )
-        // InternalReportDSL.g:8499:6: ( () '#' '[' )
+        // InternalReportDSL.g:8808:5: ( ( () '#' '[' ) )
+        // InternalReportDSL.g:8808:6: ( () '#' '[' )
         {
-        // InternalReportDSL.g:8499:6: ( () '#' '[' )
-        // InternalReportDSL.g:8500:6: () '#' '['
+        // InternalReportDSL.g:8808:6: ( () '#' '[' )
+        // InternalReportDSL.g:8809:6: () '#' '['
         {
-        // InternalReportDSL.g:8500:6: ()
-        // InternalReportDSL.g:8501:6: 
+        // InternalReportDSL.g:8809:6: ()
+        // InternalReportDSL.g:8810:6: 
         {
         }
 
-        match(input,136,FOLLOW_131); if (state.failed) return ;
-        match(input,137,FOLLOW_2); if (state.failed) return ;
+        match(input,135,FOLLOW_123); if (state.failed) return ;
+        match(input,136,FOLLOW_2); if (state.failed) return ;
 
         }
 
@@ -43857,19 +44902,19 @@
 
     // $ANTLR start synpred6_InternalReportDSL
     public final void synpred6_InternalReportDSL_fragment() throws RecognitionException {   
-        // InternalReportDSL.g:8641:5: ( ( () '#' '[' ) )
-        // InternalReportDSL.g:8641:6: ( () '#' '[' )
+        // InternalReportDSL.g:8950:5: ( ( () '#' '[' ) )
+        // InternalReportDSL.g:8950:6: ( () '#' '[' )
         {
-        // InternalReportDSL.g:8641:6: ( () '#' '[' )
-        // InternalReportDSL.g:8642:6: () '#' '['
+        // InternalReportDSL.g:8950:6: ( () '#' '[' )
+        // InternalReportDSL.g:8951:6: () '#' '['
         {
-        // InternalReportDSL.g:8642:6: ()
-        // InternalReportDSL.g:8643:6: 
+        // InternalReportDSL.g:8951:6: ()
+        // InternalReportDSL.g:8952:6: 
         {
         }
 
-        match(input,136,FOLLOW_131); if (state.failed) return ;
-        match(input,137,FOLLOW_2); if (state.failed) return ;
+        match(input,135,FOLLOW_123); if (state.failed) return ;
+        match(input,136,FOLLOW_2); if (state.failed) return ;
 
         }
 
@@ -43880,22 +44925,22 @@
 
     // $ANTLR start synpred7_InternalReportDSL
     public final void synpred7_InternalReportDSL_fragment() throws RecognitionException {   
-        // InternalReportDSL.g:8869:6: ( ( () ( ( ruleOpMultiAssign ) ) ) )
-        // InternalReportDSL.g:8869:7: ( () ( ( ruleOpMultiAssign ) ) )
+        // InternalReportDSL.g:9178:6: ( ( () ( ( ruleOpMultiAssign ) ) ) )
+        // InternalReportDSL.g:9178:7: ( () ( ( ruleOpMultiAssign ) ) )
         {
-        // InternalReportDSL.g:8869:7: ( () ( ( ruleOpMultiAssign ) ) )
-        // InternalReportDSL.g:8870:7: () ( ( ruleOpMultiAssign ) )
+        // InternalReportDSL.g:9178:7: ( () ( ( ruleOpMultiAssign ) ) )
+        // InternalReportDSL.g:9179:7: () ( ( ruleOpMultiAssign ) )
         {
-        // InternalReportDSL.g:8870:7: ()
-        // InternalReportDSL.g:8871:7: 
+        // InternalReportDSL.g:9179:7: ()
+        // InternalReportDSL.g:9180:7: 
         {
         }
 
-        // InternalReportDSL.g:8872:7: ( ( ruleOpMultiAssign ) )
-        // InternalReportDSL.g:8873:8: ( ruleOpMultiAssign )
+        // InternalReportDSL.g:9181:7: ( ( ruleOpMultiAssign ) )
+        // InternalReportDSL.g:9182:8: ( ruleOpMultiAssign )
         {
-        // InternalReportDSL.g:8873:8: ( ruleOpMultiAssign )
-        // InternalReportDSL.g:8874:9: ruleOpMultiAssign
+        // InternalReportDSL.g:9182:8: ( ruleOpMultiAssign )
+        // InternalReportDSL.g:9183:9: ruleOpMultiAssign
         {
         pushFollow(FOLLOW_2);
         ruleOpMultiAssign();
@@ -43918,22 +44963,22 @@
 
     // $ANTLR start synpred8_InternalReportDSL
     public final void synpred8_InternalReportDSL_fragment() throws RecognitionException {   
-        // InternalReportDSL.g:9063:5: ( ( () ( ( ruleOpOr ) ) ) )
-        // InternalReportDSL.g:9063:6: ( () ( ( ruleOpOr ) ) )
+        // InternalReportDSL.g:9372:5: ( ( () ( ( ruleOpOr ) ) ) )
+        // InternalReportDSL.g:9372:6: ( () ( ( ruleOpOr ) ) )
         {
-        // InternalReportDSL.g:9063:6: ( () ( ( ruleOpOr ) ) )
-        // InternalReportDSL.g:9064:6: () ( ( ruleOpOr ) )
+        // InternalReportDSL.g:9372:6: ( () ( ( ruleOpOr ) ) )
+        // InternalReportDSL.g:9373:6: () ( ( ruleOpOr ) )
         {
-        // InternalReportDSL.g:9064:6: ()
-        // InternalReportDSL.g:9065:6: 
+        // InternalReportDSL.g:9373:6: ()
+        // InternalReportDSL.g:9374:6: 
         {
         }
 
-        // InternalReportDSL.g:9066:6: ( ( ruleOpOr ) )
-        // InternalReportDSL.g:9067:7: ( ruleOpOr )
+        // InternalReportDSL.g:9375:6: ( ( ruleOpOr ) )
+        // InternalReportDSL.g:9376:7: ( ruleOpOr )
         {
-        // InternalReportDSL.g:9067:7: ( ruleOpOr )
-        // InternalReportDSL.g:9068:8: ruleOpOr
+        // InternalReportDSL.g:9376:7: ( ruleOpOr )
+        // InternalReportDSL.g:9377:8: ruleOpOr
         {
         pushFollow(FOLLOW_2);
         ruleOpOr();
@@ -43956,22 +45001,22 @@
 
     // $ANTLR start synpred9_InternalReportDSL
     public final void synpred9_InternalReportDSL_fragment() throws RecognitionException {   
-        // InternalReportDSL.g:9170:5: ( ( () ( ( ruleOpAnd ) ) ) )
-        // InternalReportDSL.g:9170:6: ( () ( ( ruleOpAnd ) ) )
+        // InternalReportDSL.g:9479:5: ( ( () ( ( ruleOpAnd ) ) ) )
+        // InternalReportDSL.g:9479:6: ( () ( ( ruleOpAnd ) ) )
         {
-        // InternalReportDSL.g:9170:6: ( () ( ( ruleOpAnd ) ) )
-        // InternalReportDSL.g:9171:6: () ( ( ruleOpAnd ) )
+        // InternalReportDSL.g:9479:6: ( () ( ( ruleOpAnd ) ) )
+        // InternalReportDSL.g:9480:6: () ( ( ruleOpAnd ) )
         {
-        // InternalReportDSL.g:9171:6: ()
-        // InternalReportDSL.g:9172:6: 
+        // InternalReportDSL.g:9480:6: ()
+        // InternalReportDSL.g:9481:6: 
         {
         }
 
-        // InternalReportDSL.g:9173:6: ( ( ruleOpAnd ) )
-        // InternalReportDSL.g:9174:7: ( ruleOpAnd )
+        // InternalReportDSL.g:9482:6: ( ( ruleOpAnd ) )
+        // InternalReportDSL.g:9483:7: ( ruleOpAnd )
         {
-        // InternalReportDSL.g:9174:7: ( ruleOpAnd )
-        // InternalReportDSL.g:9175:8: ruleOpAnd
+        // InternalReportDSL.g:9483:7: ( ruleOpAnd )
+        // InternalReportDSL.g:9484:8: ruleOpAnd
         {
         pushFollow(FOLLOW_2);
         ruleOpAnd();
@@ -43994,22 +45039,22 @@
 
     // $ANTLR start synpred10_InternalReportDSL
     public final void synpred10_InternalReportDSL_fragment() throws RecognitionException {   
-        // InternalReportDSL.g:9277:5: ( ( () ( ( ruleOpEquality ) ) ) )
-        // InternalReportDSL.g:9277:6: ( () ( ( ruleOpEquality ) ) )
+        // InternalReportDSL.g:9586:5: ( ( () ( ( ruleOpEquality ) ) ) )
+        // InternalReportDSL.g:9586:6: ( () ( ( ruleOpEquality ) ) )
         {
-        // InternalReportDSL.g:9277:6: ( () ( ( ruleOpEquality ) ) )
-        // InternalReportDSL.g:9278:6: () ( ( ruleOpEquality ) )
+        // InternalReportDSL.g:9586:6: ( () ( ( ruleOpEquality ) ) )
+        // InternalReportDSL.g:9587:6: () ( ( ruleOpEquality ) )
         {
-        // InternalReportDSL.g:9278:6: ()
-        // InternalReportDSL.g:9279:6: 
+        // InternalReportDSL.g:9587:6: ()
+        // InternalReportDSL.g:9588:6: 
         {
         }
 
-        // InternalReportDSL.g:9280:6: ( ( ruleOpEquality ) )
-        // InternalReportDSL.g:9281:7: ( ruleOpEquality )
+        // InternalReportDSL.g:9589:6: ( ( ruleOpEquality ) )
+        // InternalReportDSL.g:9590:7: ( ruleOpEquality )
         {
-        // InternalReportDSL.g:9281:7: ( ruleOpEquality )
-        // InternalReportDSL.g:9282:8: ruleOpEquality
+        // InternalReportDSL.g:9590:7: ( ruleOpEquality )
+        // InternalReportDSL.g:9591:8: ruleOpEquality
         {
         pushFollow(FOLLOW_2);
         ruleOpEquality();
@@ -44032,18 +45077,18 @@
 
     // $ANTLR start synpred11_InternalReportDSL
     public final void synpred11_InternalReportDSL_fragment() throws RecognitionException {   
-        // InternalReportDSL.g:9405:6: ( ( () 'instanceof' ) )
-        // InternalReportDSL.g:9405:7: ( () 'instanceof' )
+        // InternalReportDSL.g:9714:6: ( ( () 'instanceof' ) )
+        // InternalReportDSL.g:9714:7: ( () 'instanceof' )
         {
-        // InternalReportDSL.g:9405:7: ( () 'instanceof' )
-        // InternalReportDSL.g:9406:7: () 'instanceof'
+        // InternalReportDSL.g:9714:7: ( () 'instanceof' )
+        // InternalReportDSL.g:9715:7: () 'instanceof'
         {
-        // InternalReportDSL.g:9406:7: ()
-        // InternalReportDSL.g:9407:7: 
+        // InternalReportDSL.g:9715:7: ()
+        // InternalReportDSL.g:9716:7: 
         {
         }
 
-        match(input,153,FOLLOW_2); if (state.failed) return ;
+        match(input,152,FOLLOW_2); if (state.failed) return ;
 
         }
 
@@ -44054,22 +45099,22 @@
 
     // $ANTLR start synpred12_InternalReportDSL
     public final void synpred12_InternalReportDSL_fragment() throws RecognitionException {   
-        // InternalReportDSL.g:9448:6: ( ( () ( ( ruleOpCompare ) ) ) )
-        // InternalReportDSL.g:9448:7: ( () ( ( ruleOpCompare ) ) )
+        // InternalReportDSL.g:9757:6: ( ( () ( ( ruleOpCompare ) ) ) )
+        // InternalReportDSL.g:9757:7: ( () ( ( ruleOpCompare ) ) )
         {
-        // InternalReportDSL.g:9448:7: ( () ( ( ruleOpCompare ) ) )
-        // InternalReportDSL.g:9449:7: () ( ( ruleOpCompare ) )
+        // InternalReportDSL.g:9757:7: ( () ( ( ruleOpCompare ) ) )
+        // InternalReportDSL.g:9758:7: () ( ( ruleOpCompare ) )
         {
-        // InternalReportDSL.g:9449:7: ()
-        // InternalReportDSL.g:9450:7: 
+        // InternalReportDSL.g:9758:7: ()
+        // InternalReportDSL.g:9759:7: 
         {
         }
 
-        // InternalReportDSL.g:9451:7: ( ( ruleOpCompare ) )
-        // InternalReportDSL.g:9452:8: ( ruleOpCompare )
+        // InternalReportDSL.g:9760:7: ( ( ruleOpCompare ) )
+        // InternalReportDSL.g:9761:8: ( ruleOpCompare )
         {
-        // InternalReportDSL.g:9452:8: ( ruleOpCompare )
-        // InternalReportDSL.g:9453:9: ruleOpCompare
+        // InternalReportDSL.g:9761:8: ( ruleOpCompare )
+        // InternalReportDSL.g:9762:9: ruleOpCompare
         {
         pushFollow(FOLLOW_2);
         ruleOpCompare();
@@ -44092,22 +45137,22 @@
 
     // $ANTLR start synpred13_InternalReportDSL
     public final void synpred13_InternalReportDSL_fragment() throws RecognitionException {   
-        // InternalReportDSL.g:9583:5: ( ( () ( ( ruleOpOther ) ) ) )
-        // InternalReportDSL.g:9583:6: ( () ( ( ruleOpOther ) ) )
+        // InternalReportDSL.g:9892:5: ( ( () ( ( ruleOpOther ) ) ) )
+        // InternalReportDSL.g:9892:6: ( () ( ( ruleOpOther ) ) )
         {
-        // InternalReportDSL.g:9583:6: ( () ( ( ruleOpOther ) ) )
-        // InternalReportDSL.g:9584:6: () ( ( ruleOpOther ) )
+        // InternalReportDSL.g:9892:6: ( () ( ( ruleOpOther ) ) )
+        // InternalReportDSL.g:9893:6: () ( ( ruleOpOther ) )
         {
-        // InternalReportDSL.g:9584:6: ()
-        // InternalReportDSL.g:9585:6: 
+        // InternalReportDSL.g:9893:6: ()
+        // InternalReportDSL.g:9894:6: 
         {
         }
 
-        // InternalReportDSL.g:9586:6: ( ( ruleOpOther ) )
-        // InternalReportDSL.g:9587:7: ( ruleOpOther )
+        // InternalReportDSL.g:9895:6: ( ( ruleOpOther ) )
+        // InternalReportDSL.g:9896:7: ( ruleOpOther )
         {
-        // InternalReportDSL.g:9587:7: ( ruleOpOther )
-        // InternalReportDSL.g:9588:8: ruleOpOther
+        // InternalReportDSL.g:9896:7: ( ruleOpOther )
+        // InternalReportDSL.g:9897:8: ruleOpOther
         {
         pushFollow(FOLLOW_2);
         ruleOpOther();
@@ -44130,14 +45175,14 @@
 
     // $ANTLR start synpred14_InternalReportDSL
     public final void synpred14_InternalReportDSL_fragment() throws RecognitionException {   
-        // InternalReportDSL.g:9703:6: ( ( '>' '>' ) )
-        // InternalReportDSL.g:9703:7: ( '>' '>' )
+        // InternalReportDSL.g:10012:6: ( ( '>' '>' ) )
+        // InternalReportDSL.g:10012:7: ( '>' '>' )
         {
-        // InternalReportDSL.g:9703:7: ( '>' '>' )
-        // InternalReportDSL.g:9704:7: '>' '>'
+        // InternalReportDSL.g:10012:7: ( '>' '>' )
+        // InternalReportDSL.g:10013:7: '>' '>'
         {
-        match(input,145,FOLLOW_146); if (state.failed) return ;
-        match(input,145,FOLLOW_2); if (state.failed) return ;
+        match(input,144,FOLLOW_138); if (state.failed) return ;
+        match(input,144,FOLLOW_2); if (state.failed) return ;
 
         }
 
@@ -44148,14 +45193,14 @@
 
     // $ANTLR start synpred15_InternalReportDSL
     public final void synpred15_InternalReportDSL_fragment() throws RecognitionException {   
-        // InternalReportDSL.g:9738:6: ( ( '<' '<' ) )
-        // InternalReportDSL.g:9738:7: ( '<' '<' )
+        // InternalReportDSL.g:10047:6: ( ( '<' '<' ) )
+        // InternalReportDSL.g:10047:7: ( '<' '<' )
         {
-        // InternalReportDSL.g:9738:7: ( '<' '<' )
-        // InternalReportDSL.g:9739:7: '<' '<'
+        // InternalReportDSL.g:10047:7: ( '<' '<' )
+        // InternalReportDSL.g:10048:7: '<' '<'
         {
-        match(input,144,FOLLOW_136); if (state.failed) return ;
-        match(input,144,FOLLOW_2); if (state.failed) return ;
+        match(input,143,FOLLOW_128); if (state.failed) return ;
+        match(input,143,FOLLOW_2); if (state.failed) return ;
 
         }
 
@@ -44166,22 +45211,22 @@
 
     // $ANTLR start synpred16_InternalReportDSL
     public final void synpred16_InternalReportDSL_fragment() throws RecognitionException {   
-        // InternalReportDSL.g:9811:5: ( ( () ( ( ruleOpAdd ) ) ) )
-        // InternalReportDSL.g:9811:6: ( () ( ( ruleOpAdd ) ) )
+        // InternalReportDSL.g:10120:5: ( ( () ( ( ruleOpAdd ) ) ) )
+        // InternalReportDSL.g:10120:6: ( () ( ( ruleOpAdd ) ) )
         {
-        // InternalReportDSL.g:9811:6: ( () ( ( ruleOpAdd ) ) )
-        // InternalReportDSL.g:9812:6: () ( ( ruleOpAdd ) )
+        // InternalReportDSL.g:10120:6: ( () ( ( ruleOpAdd ) ) )
+        // InternalReportDSL.g:10121:6: () ( ( ruleOpAdd ) )
         {
-        // InternalReportDSL.g:9812:6: ()
-        // InternalReportDSL.g:9813:6: 
+        // InternalReportDSL.g:10121:6: ()
+        // InternalReportDSL.g:10122:6: 
         {
         }
 
-        // InternalReportDSL.g:9814:6: ( ( ruleOpAdd ) )
-        // InternalReportDSL.g:9815:7: ( ruleOpAdd )
+        // InternalReportDSL.g:10123:6: ( ( ruleOpAdd ) )
+        // InternalReportDSL.g:10124:7: ( ruleOpAdd )
         {
-        // InternalReportDSL.g:9815:7: ( ruleOpAdd )
-        // InternalReportDSL.g:9816:8: ruleOpAdd
+        // InternalReportDSL.g:10124:7: ( ruleOpAdd )
+        // InternalReportDSL.g:10125:8: ruleOpAdd
         {
         pushFollow(FOLLOW_2);
         ruleOpAdd();
@@ -44204,22 +45249,22 @@
 
     // $ANTLR start synpred17_InternalReportDSL
     public final void synpred17_InternalReportDSL_fragment() throws RecognitionException {   
-        // InternalReportDSL.g:9926:5: ( ( () ( ( ruleOpMulti ) ) ) )
-        // InternalReportDSL.g:9926:6: ( () ( ( ruleOpMulti ) ) )
+        // InternalReportDSL.g:10235:5: ( ( () ( ( ruleOpMulti ) ) ) )
+        // InternalReportDSL.g:10235:6: ( () ( ( ruleOpMulti ) ) )
         {
-        // InternalReportDSL.g:9926:6: ( () ( ( ruleOpMulti ) ) )
-        // InternalReportDSL.g:9927:6: () ( ( ruleOpMulti ) )
+        // InternalReportDSL.g:10235:6: ( () ( ( ruleOpMulti ) ) )
+        // InternalReportDSL.g:10236:6: () ( ( ruleOpMulti ) )
         {
-        // InternalReportDSL.g:9927:6: ()
-        // InternalReportDSL.g:9928:6: 
+        // InternalReportDSL.g:10236:6: ()
+        // InternalReportDSL.g:10237:6: 
         {
         }
 
-        // InternalReportDSL.g:9929:6: ( ( ruleOpMulti ) )
-        // InternalReportDSL.g:9930:7: ( ruleOpMulti )
+        // InternalReportDSL.g:10238:6: ( ( ruleOpMulti ) )
+        // InternalReportDSL.g:10239:7: ( ruleOpMulti )
         {
-        // InternalReportDSL.g:9930:7: ( ruleOpMulti )
-        // InternalReportDSL.g:9931:8: ruleOpMulti
+        // InternalReportDSL.g:10239:7: ( ruleOpMulti )
+        // InternalReportDSL.g:10240:8: ruleOpMulti
         {
         pushFollow(FOLLOW_2);
         ruleOpMulti();
@@ -44242,18 +45287,18 @@
 
     // $ANTLR start synpred18_InternalReportDSL
     public final void synpred18_InternalReportDSL_fragment() throws RecognitionException {   
-        // InternalReportDSL.g:10161:5: ( ( () 'as' ) )
-        // InternalReportDSL.g:10161:6: ( () 'as' )
+        // InternalReportDSL.g:10470:5: ( ( () 'as' ) )
+        // InternalReportDSL.g:10470:6: ( () 'as' )
         {
-        // InternalReportDSL.g:10161:6: ( () 'as' )
-        // InternalReportDSL.g:10162:6: () 'as'
+        // InternalReportDSL.g:10470:6: ( () 'as' )
+        // InternalReportDSL.g:10471:6: () 'as'
         {
-        // InternalReportDSL.g:10162:6: ()
-        // InternalReportDSL.g:10163:6: 
+        // InternalReportDSL.g:10471:6: ()
+        // InternalReportDSL.g:10472:6: 
         {
         }
 
-        match(input,84,FOLLOW_2); if (state.failed) return ;
+        match(input,85,FOLLOW_2); if (state.failed) return ;
 
         }
 
@@ -44264,22 +45309,22 @@
 
     // $ANTLR start synpred19_InternalReportDSL
     public final void synpred19_InternalReportDSL_fragment() throws RecognitionException {   
-        // InternalReportDSL.g:10229:4: ( ( () ( ( ruleOpPostfix ) ) ) )
-        // InternalReportDSL.g:10229:5: ( () ( ( ruleOpPostfix ) ) )
+        // InternalReportDSL.g:10538:4: ( ( () ( ( ruleOpPostfix ) ) ) )
+        // InternalReportDSL.g:10538:5: ( () ( ( ruleOpPostfix ) ) )
         {
-        // InternalReportDSL.g:10229:5: ( () ( ( ruleOpPostfix ) ) )
-        // InternalReportDSL.g:10230:5: () ( ( ruleOpPostfix ) )
+        // InternalReportDSL.g:10538:5: ( () ( ( ruleOpPostfix ) ) )
+        // InternalReportDSL.g:10539:5: () ( ( ruleOpPostfix ) )
         {
-        // InternalReportDSL.g:10230:5: ()
-        // InternalReportDSL.g:10231:5: 
+        // InternalReportDSL.g:10539:5: ()
+        // InternalReportDSL.g:10540:5: 
         {
         }
 
-        // InternalReportDSL.g:10232:5: ( ( ruleOpPostfix ) )
-        // InternalReportDSL.g:10233:6: ( ruleOpPostfix )
+        // InternalReportDSL.g:10541:5: ( ( ruleOpPostfix ) )
+        // InternalReportDSL.g:10542:6: ( ruleOpPostfix )
         {
-        // InternalReportDSL.g:10233:6: ( ruleOpPostfix )
-        // InternalReportDSL.g:10234:7: ruleOpPostfix
+        // InternalReportDSL.g:10542:6: ( ruleOpPostfix )
+        // InternalReportDSL.g:10543:7: ruleOpPostfix
         {
         pushFollow(FOLLOW_2);
         ruleOpPostfix();
@@ -44302,52 +45347,52 @@
 
     // $ANTLR start synpred20_InternalReportDSL
     public final void synpred20_InternalReportDSL_fragment() throws RecognitionException {   
-        // InternalReportDSL.g:10325:6: ( ( () ( '.' | ( ( '::' ) ) ) ( ( ruleFeatureCallID ) ) ruleOpSingleAssign ) )
-        // InternalReportDSL.g:10325:7: ( () ( '.' | ( ( '::' ) ) ) ( ( ruleFeatureCallID ) ) ruleOpSingleAssign )
+        // InternalReportDSL.g:10634:6: ( ( () ( '.' | ( ( '::' ) ) ) ( ( ruleFeatureCallID ) ) ruleOpSingleAssign ) )
+        // InternalReportDSL.g:10634:7: ( () ( '.' | ( ( '::' ) ) ) ( ( ruleFeatureCallID ) ) ruleOpSingleAssign )
         {
-        // InternalReportDSL.g:10325:7: ( () ( '.' | ( ( '::' ) ) ) ( ( ruleFeatureCallID ) ) ruleOpSingleAssign )
-        // InternalReportDSL.g:10326:7: () ( '.' | ( ( '::' ) ) ) ( ( ruleFeatureCallID ) ) ruleOpSingleAssign
+        // InternalReportDSL.g:10634:7: ( () ( '.' | ( ( '::' ) ) ) ( ( ruleFeatureCallID ) ) ruleOpSingleAssign )
+        // InternalReportDSL.g:10635:7: () ( '.' | ( ( '::' ) ) ) ( ( ruleFeatureCallID ) ) ruleOpSingleAssign
         {
-        // InternalReportDSL.g:10326:7: ()
-        // InternalReportDSL.g:10327:7: 
+        // InternalReportDSL.g:10635:7: ()
+        // InternalReportDSL.g:10636:7: 
         {
         }
 
-        // InternalReportDSL.g:10328:7: ( '.' | ( ( '::' ) ) )
-        int alt252=2;
-        int LA252_0 = input.LA(1);
+        // InternalReportDSL.g:10637:7: ( '.' | ( ( '::' ) ) )
+        int alt241=2;
+        int LA241_0 = input.LA(1);
 
-        if ( (LA252_0==167) ) {
-            alt252=1;
+        if ( (LA241_0==166) ) {
+            alt241=1;
         }
-        else if ( (LA252_0==168) ) {
-            alt252=2;
+        else if ( (LA241_0==167) ) {
+            alt241=2;
         }
         else {
             if (state.backtracking>0) {state.failed=true; return ;}
             NoViableAltException nvae =
-                new NoViableAltException("", 252, 0, input);
+                new NoViableAltException("", 241, 0, input);
 
             throw nvae;
         }
-        switch (alt252) {
+        switch (alt241) {
             case 1 :
-                // InternalReportDSL.g:10329:8: '.'
+                // InternalReportDSL.g:10638:8: '.'
                 {
-                match(input,167,FOLLOW_153); if (state.failed) return ;
+                match(input,166,FOLLOW_145); if (state.failed) return ;
 
                 }
                 break;
             case 2 :
-                // InternalReportDSL.g:10331:8: ( ( '::' ) )
+                // InternalReportDSL.g:10640:8: ( ( '::' ) )
                 {
-                // InternalReportDSL.g:10331:8: ( ( '::' ) )
-                // InternalReportDSL.g:10332:9: ( '::' )
+                // InternalReportDSL.g:10640:8: ( ( '::' ) )
+                // InternalReportDSL.g:10641:9: ( '::' )
                 {
-                // InternalReportDSL.g:10332:9: ( '::' )
-                // InternalReportDSL.g:10333:10: '::'
+                // InternalReportDSL.g:10641:9: ( '::' )
+                // InternalReportDSL.g:10642:10: '::'
                 {
-                match(input,168,FOLLOW_153); if (state.failed) return ;
+                match(input,167,FOLLOW_145); if (state.failed) return ;
 
                 }
 
@@ -44360,13 +45405,13 @@
 
         }
 
-        // InternalReportDSL.g:10337:7: ( ( ruleFeatureCallID ) )
-        // InternalReportDSL.g:10338:8: ( ruleFeatureCallID )
+        // InternalReportDSL.g:10646:7: ( ( ruleFeatureCallID ) )
+        // InternalReportDSL.g:10647:8: ( ruleFeatureCallID )
         {
-        // InternalReportDSL.g:10338:8: ( ruleFeatureCallID )
-        // InternalReportDSL.g:10339:9: ruleFeatureCallID
+        // InternalReportDSL.g:10647:8: ( ruleFeatureCallID )
+        // InternalReportDSL.g:10648:9: ruleFeatureCallID
         {
-        pushFollow(FOLLOW_129);
+        pushFollow(FOLLOW_121);
         ruleFeatureCallID();
 
         state._fsp--;
@@ -44392,61 +45437,61 @@
 
     // $ANTLR start synpred21_InternalReportDSL
     public final void synpred21_InternalReportDSL_fragment() throws RecognitionException {   
-        // InternalReportDSL.g:10422:6: ( ( () ( '.' | ( ( '?.' ) ) | ( ( '::' ) ) ) ) )
-        // InternalReportDSL.g:10422:7: ( () ( '.' | ( ( '?.' ) ) | ( ( '::' ) ) ) )
+        // InternalReportDSL.g:10731:6: ( ( () ( '.' | ( ( '?.' ) ) | ( ( '::' ) ) ) ) )
+        // InternalReportDSL.g:10731:7: ( () ( '.' | ( ( '?.' ) ) | ( ( '::' ) ) ) )
         {
-        // InternalReportDSL.g:10422:7: ( () ( '.' | ( ( '?.' ) ) | ( ( '::' ) ) ) )
-        // InternalReportDSL.g:10423:7: () ( '.' | ( ( '?.' ) ) | ( ( '::' ) ) )
+        // InternalReportDSL.g:10731:7: ( () ( '.' | ( ( '?.' ) ) | ( ( '::' ) ) ) )
+        // InternalReportDSL.g:10732:7: () ( '.' | ( ( '?.' ) ) | ( ( '::' ) ) )
         {
-        // InternalReportDSL.g:10423:7: ()
-        // InternalReportDSL.g:10424:7: 
+        // InternalReportDSL.g:10732:7: ()
+        // InternalReportDSL.g:10733:7: 
         {
         }
 
-        // InternalReportDSL.g:10425:7: ( '.' | ( ( '?.' ) ) | ( ( '::' ) ) )
-        int alt253=3;
+        // InternalReportDSL.g:10734:7: ( '.' | ( ( '?.' ) ) | ( ( '::' ) ) )
+        int alt242=3;
         switch ( input.LA(1) ) {
-        case 167:
+        case 166:
             {
-            alt253=1;
-            }
-            break;
-        case 169:
-            {
-            alt253=2;
+            alt242=1;
             }
             break;
         case 168:
             {
-            alt253=3;
+            alt242=2;
+            }
+            break;
+        case 167:
+            {
+            alt242=3;
             }
             break;
         default:
             if (state.backtracking>0) {state.failed=true; return ;}
             NoViableAltException nvae =
-                new NoViableAltException("", 253, 0, input);
+                new NoViableAltException("", 242, 0, input);
 
             throw nvae;
         }
 
-        switch (alt253) {
+        switch (alt242) {
             case 1 :
-                // InternalReportDSL.g:10426:8: '.'
+                // InternalReportDSL.g:10735:8: '.'
                 {
-                match(input,167,FOLLOW_2); if (state.failed) return ;
+                match(input,166,FOLLOW_2); if (state.failed) return ;
 
                 }
                 break;
             case 2 :
-                // InternalReportDSL.g:10428:8: ( ( '?.' ) )
+                // InternalReportDSL.g:10737:8: ( ( '?.' ) )
                 {
-                // InternalReportDSL.g:10428:8: ( ( '?.' ) )
-                // InternalReportDSL.g:10429:9: ( '?.' )
+                // InternalReportDSL.g:10737:8: ( ( '?.' ) )
+                // InternalReportDSL.g:10738:9: ( '?.' )
                 {
-                // InternalReportDSL.g:10429:9: ( '?.' )
-                // InternalReportDSL.g:10430:10: '?.'
+                // InternalReportDSL.g:10738:9: ( '?.' )
+                // InternalReportDSL.g:10739:10: '?.'
                 {
-                match(input,169,FOLLOW_2); if (state.failed) return ;
+                match(input,168,FOLLOW_2); if (state.failed) return ;
 
                 }
 
@@ -44457,15 +45502,15 @@
                 }
                 break;
             case 3 :
-                // InternalReportDSL.g:10434:8: ( ( '::' ) )
+                // InternalReportDSL.g:10743:8: ( ( '::' ) )
                 {
-                // InternalReportDSL.g:10434:8: ( ( '::' ) )
-                // InternalReportDSL.g:10435:9: ( '::' )
+                // InternalReportDSL.g:10743:8: ( ( '::' ) )
+                // InternalReportDSL.g:10744:9: ( '::' )
                 {
-                // InternalReportDSL.g:10435:9: ( '::' )
-                // InternalReportDSL.g:10436:10: '::'
+                // InternalReportDSL.g:10744:9: ( '::' )
+                // InternalReportDSL.g:10745:10: '::'
                 {
-                match(input,168,FOLLOW_2); if (state.failed) return ;
+                match(input,167,FOLLOW_2); if (state.failed) return ;
 
                 }
 
@@ -44488,13 +45533,13 @@
 
     // $ANTLR start synpred22_InternalReportDSL
     public final void synpred22_InternalReportDSL_fragment() throws RecognitionException {   
-        // InternalReportDSL.g:10560:7: ( ( '(' ) )
-        // InternalReportDSL.g:10560:8: ( '(' )
+        // InternalReportDSL.g:10869:7: ( ( '(' ) )
+        // InternalReportDSL.g:10869:8: ( '(' )
         {
-        // InternalReportDSL.g:10560:8: ( '(' )
-        // InternalReportDSL.g:10561:8: '('
+        // InternalReportDSL.g:10869:8: ( '(' )
+        // InternalReportDSL.g:10870:8: '('
         {
-        match(input,103,FOLLOW_2); if (state.failed) return ;
+        match(input,102,FOLLOW_2); if (state.failed) return ;
 
         }
 
@@ -44505,35 +45550,35 @@
 
     // $ANTLR start synpred23_InternalReportDSL
     public final void synpred23_InternalReportDSL_fragment() throws RecognitionException {   
-        // InternalReportDSL.g:10579:8: ( ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )
-        // InternalReportDSL.g:10579:9: ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) )
+        // InternalReportDSL.g:10888:8: ( ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )
+        // InternalReportDSL.g:10888:9: ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) )
         {
-        // InternalReportDSL.g:10579:9: ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) )
-        // InternalReportDSL.g:10580:9: () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) )
+        // InternalReportDSL.g:10888:9: ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) )
+        // InternalReportDSL.g:10889:9: () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) )
         {
-        // InternalReportDSL.g:10580:9: ()
-        // InternalReportDSL.g:10581:9: 
+        // InternalReportDSL.g:10889:9: ()
+        // InternalReportDSL.g:10890:9: 
         {
         }
 
-        // InternalReportDSL.g:10582:9: ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )?
-        int alt255=2;
-        int LA255_0 = input.LA(1);
+        // InternalReportDSL.g:10891:9: ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )?
+        int alt244=2;
+        int LA244_0 = input.LA(1);
 
-        if ( (LA255_0==RULE_ID||LA255_0==103||LA255_0==157) ) {
-            alt255=1;
+        if ( (LA244_0==RULE_ID||LA244_0==102||LA244_0==156) ) {
+            alt244=1;
         }
-        switch (alt255) {
+        switch (alt244) {
             case 1 :
-                // InternalReportDSL.g:10583:10: ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )*
+                // InternalReportDSL.g:10892:10: ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )*
                 {
-                // InternalReportDSL.g:10583:10: ( ( ruleJvmFormalParameter ) )
-                // InternalReportDSL.g:10584:11: ( ruleJvmFormalParameter )
+                // InternalReportDSL.g:10892:10: ( ( ruleJvmFormalParameter ) )
+                // InternalReportDSL.g:10893:11: ( ruleJvmFormalParameter )
                 {
-                // InternalReportDSL.g:10584:11: ( ruleJvmFormalParameter )
-                // InternalReportDSL.g:10585:12: ruleJvmFormalParameter
+                // InternalReportDSL.g:10893:11: ( ruleJvmFormalParameter )
+                // InternalReportDSL.g:10894:12: ruleJvmFormalParameter
                 {
-                pushFollow(FOLLOW_163);
+                pushFollow(FOLLOW_155);
                 ruleJvmFormalParameter();
 
                 state._fsp--;
@@ -44544,29 +45589,29 @@
 
                 }
 
-                // InternalReportDSL.g:10588:10: ( ',' ( ( ruleJvmFormalParameter ) ) )*
-                loop254:
+                // InternalReportDSL.g:10897:10: ( ',' ( ( ruleJvmFormalParameter ) ) )*
+                loop243:
                 do {
-                    int alt254=2;
-                    int LA254_0 = input.LA(1);
+                    int alt243=2;
+                    int LA243_0 = input.LA(1);
 
-                    if ( (LA254_0==134) ) {
-                        alt254=1;
+                    if ( (LA243_0==133) ) {
+                        alt243=1;
                     }
 
 
-                    switch (alt254) {
+                    switch (alt243) {
                 	case 1 :
-                	    // InternalReportDSL.g:10589:11: ',' ( ( ruleJvmFormalParameter ) )
+                	    // InternalReportDSL.g:10898:11: ',' ( ( ruleJvmFormalParameter ) )
                 	    {
-                	    match(input,134,FOLLOW_143); if (state.failed) return ;
-                	    // InternalReportDSL.g:10590:11: ( ( ruleJvmFormalParameter ) )
-                	    // InternalReportDSL.g:10591:12: ( ruleJvmFormalParameter )
+                	    match(input,133,FOLLOW_135); if (state.failed) return ;
+                	    // InternalReportDSL.g:10899:11: ( ( ruleJvmFormalParameter ) )
+                	    // InternalReportDSL.g:10900:12: ( ruleJvmFormalParameter )
                 	    {
-                	    // InternalReportDSL.g:10591:12: ( ruleJvmFormalParameter )
-                	    // InternalReportDSL.g:10592:13: ruleJvmFormalParameter
+                	    // InternalReportDSL.g:10900:12: ( ruleJvmFormalParameter )
+                	    // InternalReportDSL.g:10901:13: ruleJvmFormalParameter
                 	    {
-                	    pushFollow(FOLLOW_163);
+                	    pushFollow(FOLLOW_155);
                 	    ruleJvmFormalParameter();
 
                 	    state._fsp--;
@@ -44582,7 +45627,7 @@
                 	    break;
 
                 	default :
-                	    break loop254;
+                	    break loop243;
                     }
                 } while (true);
 
@@ -44592,13 +45637,13 @@
 
         }
 
-        // InternalReportDSL.g:10597:9: ( ( '|' ) )
-        // InternalReportDSL.g:10598:10: ( '|' )
+        // InternalReportDSL.g:10906:9: ( ( '|' ) )
+        // InternalReportDSL.g:10907:10: ( '|' )
         {
-        // InternalReportDSL.g:10598:10: ( '|' )
-        // InternalReportDSL.g:10599:11: '|'
+        // InternalReportDSL.g:10907:10: ( '|' )
+        // InternalReportDSL.g:10908:11: '|'
         {
-        match(input,170,FOLLOW_2); if (state.failed) return ;
+        match(input,169,FOLLOW_2); if (state.failed) return ;
 
         }
 
@@ -44615,18 +45660,18 @@
 
     // $ANTLR start synpred24_InternalReportDSL
     public final void synpred24_InternalReportDSL_fragment() throws RecognitionException {   
-        // InternalReportDSL.g:10676:6: ( ( () '[' ) )
-        // InternalReportDSL.g:10676:7: ( () '[' )
+        // InternalReportDSL.g:10985:6: ( ( () '[' ) )
+        // InternalReportDSL.g:10985:7: ( () '[' )
         {
-        // InternalReportDSL.g:10676:7: ( () '[' )
-        // InternalReportDSL.g:10677:7: () '['
+        // InternalReportDSL.g:10985:7: ( () '[' )
+        // InternalReportDSL.g:10986:7: () '['
         {
-        // InternalReportDSL.g:10677:7: ()
-        // InternalReportDSL.g:10678:7: 
+        // InternalReportDSL.g:10986:7: ()
+        // InternalReportDSL.g:10987:7: 
         {
         }
 
-        match(input,137,FOLLOW_2); if (state.failed) return ;
+        match(input,136,FOLLOW_2); if (state.failed) return ;
 
         }
 
@@ -44637,19 +45682,19 @@
 
     // $ANTLR start synpred25_InternalReportDSL
     public final void synpred25_InternalReportDSL_fragment() throws RecognitionException {   
-        // InternalReportDSL.g:10749:4: ( ( () 'synchronized' '(' ) )
-        // InternalReportDSL.g:10749:5: ( () 'synchronized' '(' )
+        // InternalReportDSL.g:11058:4: ( ( () 'synchronized' '(' ) )
+        // InternalReportDSL.g:11058:5: ( () 'synchronized' '(' )
         {
-        // InternalReportDSL.g:10749:5: ( () 'synchronized' '(' )
-        // InternalReportDSL.g:10750:5: () 'synchronized' '('
+        // InternalReportDSL.g:11058:5: ( () 'synchronized' '(' )
+        // InternalReportDSL.g:11059:5: () 'synchronized' '('
         {
-        // InternalReportDSL.g:10750:5: ()
-        // InternalReportDSL.g:10751:5: 
+        // InternalReportDSL.g:11059:5: ()
+        // InternalReportDSL.g:11060:5: 
         {
         }
 
-        match(input,192,FOLLOW_106); if (state.failed) return ;
-        match(input,103,FOLLOW_2); if (state.failed) return ;
+        match(input,191,FOLLOW_98); if (state.failed) return ;
+        match(input,102,FOLLOW_2); if (state.failed) return ;
 
         }
 
@@ -44660,26 +45705,26 @@
 
     // $ANTLR start synpred26_InternalReportDSL
     public final void synpred26_InternalReportDSL_fragment() throws RecognitionException {   
-        // InternalReportDSL.g:10794:4: ( ( () 'for' '(' ( ( ruleJvmFormalParameter ) ) ':' ) )
-        // InternalReportDSL.g:10794:5: ( () 'for' '(' ( ( ruleJvmFormalParameter ) ) ':' )
+        // InternalReportDSL.g:11103:4: ( ( () 'for' '(' ( ( ruleJvmFormalParameter ) ) ':' ) )
+        // InternalReportDSL.g:11103:5: ( () 'for' '(' ( ( ruleJvmFormalParameter ) ) ':' )
         {
-        // InternalReportDSL.g:10794:5: ( () 'for' '(' ( ( ruleJvmFormalParameter ) ) ':' )
-        // InternalReportDSL.g:10795:5: () 'for' '(' ( ( ruleJvmFormalParameter ) ) ':'
+        // InternalReportDSL.g:11103:5: ( () 'for' '(' ( ( ruleJvmFormalParameter ) ) ':' )
+        // InternalReportDSL.g:11104:5: () 'for' '(' ( ( ruleJvmFormalParameter ) ) ':'
         {
-        // InternalReportDSL.g:10795:5: ()
-        // InternalReportDSL.g:10796:5: 
+        // InternalReportDSL.g:11104:5: ()
+        // InternalReportDSL.g:11105:5: 
         {
         }
 
-        match(input,177,FOLLOW_106); if (state.failed) return ;
-        match(input,103,FOLLOW_143); if (state.failed) return ;
-        // InternalReportDSL.g:10799:5: ( ( ruleJvmFormalParameter ) )
-        // InternalReportDSL.g:10800:6: ( ruleJvmFormalParameter )
+        match(input,176,FOLLOW_98); if (state.failed) return ;
+        match(input,102,FOLLOW_135); if (state.failed) return ;
+        // InternalReportDSL.g:11108:5: ( ( ruleJvmFormalParameter ) )
+        // InternalReportDSL.g:11109:6: ( ruleJvmFormalParameter )
         {
-        // InternalReportDSL.g:10800:6: ( ruleJvmFormalParameter )
-        // InternalReportDSL.g:10801:7: ruleJvmFormalParameter
+        // InternalReportDSL.g:11109:6: ( ruleJvmFormalParameter )
+        // InternalReportDSL.g:11110:7: ruleJvmFormalParameter
         {
-        pushFollow(FOLLOW_170);
+        pushFollow(FOLLOW_162);
         ruleJvmFormalParameter();
 
         state._fsp--;
@@ -44690,7 +45735,7 @@
 
         }
 
-        match(input,174,FOLLOW_2); if (state.failed) return ;
+        match(input,173,FOLLOW_2); if (state.failed) return ;
 
         }
 
@@ -44701,18 +45746,18 @@
 
     // $ANTLR start synpred27_InternalReportDSL
     public final void synpred27_InternalReportDSL_fragment() throws RecognitionException {   
-        // InternalReportDSL.g:10908:4: ( ( () '[' ) )
-        // InternalReportDSL.g:10908:5: ( () '[' )
+        // InternalReportDSL.g:11217:4: ( ( () '[' ) )
+        // InternalReportDSL.g:11217:5: ( () '[' )
         {
-        // InternalReportDSL.g:10908:5: ( () '[' )
-        // InternalReportDSL.g:10909:5: () '['
+        // InternalReportDSL.g:11217:5: ( () '[' )
+        // InternalReportDSL.g:11218:5: () '['
         {
-        // InternalReportDSL.g:10909:5: ()
-        // InternalReportDSL.g:10910:5: 
+        // InternalReportDSL.g:11218:5: ()
+        // InternalReportDSL.g:11219:5: 
         {
         }
 
-        match(input,137,FOLLOW_2); if (state.failed) return ;
+        match(input,136,FOLLOW_2); if (state.failed) return ;
 
         }
 
@@ -44723,30 +45768,30 @@
 
     // $ANTLR start synpred29_InternalReportDSL
     public final void synpred29_InternalReportDSL_fragment() throws RecognitionException {   
-        // InternalReportDSL.g:11213:4: ( ( ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )
-        // InternalReportDSL.g:11213:5: ( ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) )
+        // InternalReportDSL.g:11522:4: ( ( ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )
+        // InternalReportDSL.g:11522:5: ( ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) )
         {
-        // InternalReportDSL.g:11213:5: ( ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) )
-        // InternalReportDSL.g:11214:5: ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) )
+        // InternalReportDSL.g:11522:5: ( ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) )
+        // InternalReportDSL.g:11523:5: ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) )
         {
-        // InternalReportDSL.g:11214:5: ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )?
-        int alt257=2;
-        int LA257_0 = input.LA(1);
+        // InternalReportDSL.g:11523:5: ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )?
+        int alt246=2;
+        int LA246_0 = input.LA(1);
 
-        if ( (LA257_0==RULE_ID||LA257_0==103||LA257_0==157) ) {
-            alt257=1;
+        if ( (LA246_0==RULE_ID||LA246_0==102||LA246_0==156) ) {
+            alt246=1;
         }
-        switch (alt257) {
+        switch (alt246) {
             case 1 :
-                // InternalReportDSL.g:11215:6: ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )*
+                // InternalReportDSL.g:11524:6: ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )*
                 {
-                // InternalReportDSL.g:11215:6: ( ( ruleJvmFormalParameter ) )
-                // InternalReportDSL.g:11216:7: ( ruleJvmFormalParameter )
+                // InternalReportDSL.g:11524:6: ( ( ruleJvmFormalParameter ) )
+                // InternalReportDSL.g:11525:7: ( ruleJvmFormalParameter )
                 {
-                // InternalReportDSL.g:11216:7: ( ruleJvmFormalParameter )
-                // InternalReportDSL.g:11217:8: ruleJvmFormalParameter
+                // InternalReportDSL.g:11525:7: ( ruleJvmFormalParameter )
+                // InternalReportDSL.g:11526:8: ruleJvmFormalParameter
                 {
-                pushFollow(FOLLOW_163);
+                pushFollow(FOLLOW_155);
                 ruleJvmFormalParameter();
 
                 state._fsp--;
@@ -44757,29 +45802,29 @@
 
                 }
 
-                // InternalReportDSL.g:11220:6: ( ',' ( ( ruleJvmFormalParameter ) ) )*
-                loop256:
+                // InternalReportDSL.g:11529:6: ( ',' ( ( ruleJvmFormalParameter ) ) )*
+                loop245:
                 do {
-                    int alt256=2;
-                    int LA256_0 = input.LA(1);
+                    int alt245=2;
+                    int LA245_0 = input.LA(1);
 
-                    if ( (LA256_0==134) ) {
-                        alt256=1;
+                    if ( (LA245_0==133) ) {
+                        alt245=1;
                     }
 
 
-                    switch (alt256) {
+                    switch (alt245) {
                 	case 1 :
-                	    // InternalReportDSL.g:11221:7: ',' ( ( ruleJvmFormalParameter ) )
+                	    // InternalReportDSL.g:11530:7: ',' ( ( ruleJvmFormalParameter ) )
                 	    {
-                	    match(input,134,FOLLOW_143); if (state.failed) return ;
-                	    // InternalReportDSL.g:11222:7: ( ( ruleJvmFormalParameter ) )
-                	    // InternalReportDSL.g:11223:8: ( ruleJvmFormalParameter )
+                	    match(input,133,FOLLOW_135); if (state.failed) return ;
+                	    // InternalReportDSL.g:11531:7: ( ( ruleJvmFormalParameter ) )
+                	    // InternalReportDSL.g:11532:8: ( ruleJvmFormalParameter )
                 	    {
-                	    // InternalReportDSL.g:11223:8: ( ruleJvmFormalParameter )
-                	    // InternalReportDSL.g:11224:9: ruleJvmFormalParameter
+                	    // InternalReportDSL.g:11532:8: ( ruleJvmFormalParameter )
+                	    // InternalReportDSL.g:11533:9: ruleJvmFormalParameter
                 	    {
-                	    pushFollow(FOLLOW_163);
+                	    pushFollow(FOLLOW_155);
                 	    ruleJvmFormalParameter();
 
                 	    state._fsp--;
@@ -44795,7 +45840,7 @@
                 	    break;
 
                 	default :
-                	    break loop256;
+                	    break loop245;
                     }
                 } while (true);
 
@@ -44805,13 +45850,13 @@
 
         }
 
-        // InternalReportDSL.g:11229:5: ( ( '|' ) )
-        // InternalReportDSL.g:11230:6: ( '|' )
+        // InternalReportDSL.g:11538:5: ( ( '|' ) )
+        // InternalReportDSL.g:11539:6: ( '|' )
         {
-        // InternalReportDSL.g:11230:6: ( '|' )
-        // InternalReportDSL.g:11231:7: '|'
+        // InternalReportDSL.g:11539:6: ( '|' )
+        // InternalReportDSL.g:11540:7: '|'
         {
-        match(input,170,FOLLOW_2); if (state.failed) return ;
+        match(input,169,FOLLOW_2); if (state.failed) return ;
 
         }
 
@@ -44828,10 +45873,10 @@
 
     // $ANTLR start synpred31_InternalReportDSL
     public final void synpred31_InternalReportDSL_fragment() throws RecognitionException {   
-        // InternalReportDSL.g:11622:5: ( 'else' )
-        // InternalReportDSL.g:11622:6: 'else'
+        // InternalReportDSL.g:11931:5: ( 'else' )
+        // InternalReportDSL.g:11931:6: 'else'
         {
-        match(input,172,FOLLOW_2); if (state.failed) return ;
+        match(input,171,FOLLOW_2); if (state.failed) return ;
 
         }
     }
@@ -44839,20 +45884,20 @@
 
     // $ANTLR start synpred32_InternalReportDSL
     public final void synpred32_InternalReportDSL_fragment() throws RecognitionException {   
-        // InternalReportDSL.g:11681:6: ( ( '(' ( ( ruleJvmFormalParameter ) ) ':' ) )
-        // InternalReportDSL.g:11681:7: ( '(' ( ( ruleJvmFormalParameter ) ) ':' )
+        // InternalReportDSL.g:11990:6: ( ( '(' ( ( ruleJvmFormalParameter ) ) ':' ) )
+        // InternalReportDSL.g:11990:7: ( '(' ( ( ruleJvmFormalParameter ) ) ':' )
         {
-        // InternalReportDSL.g:11681:7: ( '(' ( ( ruleJvmFormalParameter ) ) ':' )
-        // InternalReportDSL.g:11682:7: '(' ( ( ruleJvmFormalParameter ) ) ':'
+        // InternalReportDSL.g:11990:7: ( '(' ( ( ruleJvmFormalParameter ) ) ':' )
+        // InternalReportDSL.g:11991:7: '(' ( ( ruleJvmFormalParameter ) ) ':'
         {
-        match(input,103,FOLLOW_143); if (state.failed) return ;
-        // InternalReportDSL.g:11683:7: ( ( ruleJvmFormalParameter ) )
-        // InternalReportDSL.g:11684:8: ( ruleJvmFormalParameter )
+        match(input,102,FOLLOW_135); if (state.failed) return ;
+        // InternalReportDSL.g:11992:7: ( ( ruleJvmFormalParameter ) )
+        // InternalReportDSL.g:11993:8: ( ruleJvmFormalParameter )
         {
-        // InternalReportDSL.g:11684:8: ( ruleJvmFormalParameter )
-        // InternalReportDSL.g:11685:9: ruleJvmFormalParameter
+        // InternalReportDSL.g:11993:8: ( ruleJvmFormalParameter )
+        // InternalReportDSL.g:11994:9: ruleJvmFormalParameter
         {
-        pushFollow(FOLLOW_170);
+        pushFollow(FOLLOW_162);
         ruleJvmFormalParameter();
 
         state._fsp--;
@@ -44863,7 +45908,7 @@
 
         }
 
-        match(input,174,FOLLOW_2); if (state.failed) return ;
+        match(input,173,FOLLOW_2); if (state.failed) return ;
 
         }
 
@@ -44874,19 +45919,19 @@
 
     // $ANTLR start synpred33_InternalReportDSL
     public final void synpred33_InternalReportDSL_fragment() throws RecognitionException {   
-        // InternalReportDSL.g:11748:6: ( ( ( ( ruleJvmFormalParameter ) ) ':' ) )
-        // InternalReportDSL.g:11748:7: ( ( ( ruleJvmFormalParameter ) ) ':' )
+        // InternalReportDSL.g:12057:6: ( ( ( ( ruleJvmFormalParameter ) ) ':' ) )
+        // InternalReportDSL.g:12057:7: ( ( ( ruleJvmFormalParameter ) ) ':' )
         {
-        // InternalReportDSL.g:11748:7: ( ( ( ruleJvmFormalParameter ) ) ':' )
-        // InternalReportDSL.g:11749:7: ( ( ruleJvmFormalParameter ) ) ':'
+        // InternalReportDSL.g:12057:7: ( ( ( ruleJvmFormalParameter ) ) ':' )
+        // InternalReportDSL.g:12058:7: ( ( ruleJvmFormalParameter ) ) ':'
         {
-        // InternalReportDSL.g:11749:7: ( ( ruleJvmFormalParameter ) )
-        // InternalReportDSL.g:11750:8: ( ruleJvmFormalParameter )
+        // InternalReportDSL.g:12058:7: ( ( ruleJvmFormalParameter ) )
+        // InternalReportDSL.g:12059:8: ( ruleJvmFormalParameter )
         {
-        // InternalReportDSL.g:11750:8: ( ruleJvmFormalParameter )
-        // InternalReportDSL.g:11751:9: ruleJvmFormalParameter
+        // InternalReportDSL.g:12059:8: ( ruleJvmFormalParameter )
+        // InternalReportDSL.g:12060:9: ruleJvmFormalParameter
         {
-        pushFollow(FOLLOW_170);
+        pushFollow(FOLLOW_162);
         ruleJvmFormalParameter();
 
         state._fsp--;
@@ -44897,7 +45942,7 @@
 
         }
 
-        match(input,174,FOLLOW_2); if (state.failed) return ;
+        match(input,173,FOLLOW_2); if (state.failed) return ;
 
         }
 
@@ -44908,17 +45953,17 @@
 
     // $ANTLR start synpred35_InternalReportDSL
     public final void synpred35_InternalReportDSL_fragment() throws RecognitionException {   
-        // InternalReportDSL.g:12566:5: ( ( ( ( ruleJvmTypeReference ) ) ( ( ruleValidID ) ) ) )
-        // InternalReportDSL.g:12566:6: ( ( ( ruleJvmTypeReference ) ) ( ( ruleValidID ) ) )
+        // InternalReportDSL.g:12875:5: ( ( ( ( ruleJvmTypeReference ) ) ( ( ruleValidID ) ) ) )
+        // InternalReportDSL.g:12875:6: ( ( ( ruleJvmTypeReference ) ) ( ( ruleValidID ) ) )
         {
-        // InternalReportDSL.g:12566:6: ( ( ( ruleJvmTypeReference ) ) ( ( ruleValidID ) ) )
-        // InternalReportDSL.g:12567:6: ( ( ruleJvmTypeReference ) ) ( ( ruleValidID ) )
+        // InternalReportDSL.g:12875:6: ( ( ( ruleJvmTypeReference ) ) ( ( ruleValidID ) ) )
+        // InternalReportDSL.g:12876:6: ( ( ruleJvmTypeReference ) ) ( ( ruleValidID ) )
         {
-        // InternalReportDSL.g:12567:6: ( ( ruleJvmTypeReference ) )
-        // InternalReportDSL.g:12568:7: ( ruleJvmTypeReference )
+        // InternalReportDSL.g:12876:6: ( ( ruleJvmTypeReference ) )
+        // InternalReportDSL.g:12877:7: ( ruleJvmTypeReference )
         {
-        // InternalReportDSL.g:12568:7: ( ruleJvmTypeReference )
-        // InternalReportDSL.g:12569:8: ruleJvmTypeReference
+        // InternalReportDSL.g:12877:7: ( ruleJvmTypeReference )
+        // InternalReportDSL.g:12878:8: ruleJvmTypeReference
         {
         pushFollow(FOLLOW_4);
         ruleJvmTypeReference();
@@ -44931,11 +45976,11 @@
 
         }
 
-        // InternalReportDSL.g:12572:6: ( ( ruleValidID ) )
-        // InternalReportDSL.g:12573:7: ( ruleValidID )
+        // InternalReportDSL.g:12881:6: ( ( ruleValidID ) )
+        // InternalReportDSL.g:12882:7: ( ruleValidID )
         {
-        // InternalReportDSL.g:12573:7: ( ruleValidID )
-        // InternalReportDSL.g:12574:8: ruleValidID
+        // InternalReportDSL.g:12882:7: ( ruleValidID )
+        // InternalReportDSL.g:12883:8: ruleValidID
         {
         pushFollow(FOLLOW_2);
         ruleValidID();
@@ -44958,13 +46003,13 @@
 
     // $ANTLR start synpred36_InternalReportDSL
     public final void synpred36_InternalReportDSL_fragment() throws RecognitionException {   
-        // InternalReportDSL.g:12878:5: ( ( '(' ) )
-        // InternalReportDSL.g:12878:6: ( '(' )
+        // InternalReportDSL.g:13187:5: ( ( '(' ) )
+        // InternalReportDSL.g:13187:6: ( '(' )
         {
-        // InternalReportDSL.g:12878:6: ( '(' )
-        // InternalReportDSL.g:12879:6: '('
+        // InternalReportDSL.g:13187:6: ( '(' )
+        // InternalReportDSL.g:13188:6: '('
         {
-        match(input,103,FOLLOW_2); if (state.failed) return ;
+        match(input,102,FOLLOW_2); if (state.failed) return ;
 
         }
 
@@ -44975,35 +46020,35 @@
 
     // $ANTLR start synpred37_InternalReportDSL
     public final void synpred37_InternalReportDSL_fragment() throws RecognitionException {   
-        // InternalReportDSL.g:12897:6: ( ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )
-        // InternalReportDSL.g:12897:7: ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) )
+        // InternalReportDSL.g:13206:6: ( ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )
+        // InternalReportDSL.g:13206:7: ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) )
         {
-        // InternalReportDSL.g:12897:7: ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) )
-        // InternalReportDSL.g:12898:7: () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) )
+        // InternalReportDSL.g:13206:7: ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) )
+        // InternalReportDSL.g:13207:7: () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) )
         {
-        // InternalReportDSL.g:12898:7: ()
-        // InternalReportDSL.g:12899:7: 
+        // InternalReportDSL.g:13207:7: ()
+        // InternalReportDSL.g:13208:7: 
         {
         }
 
-        // InternalReportDSL.g:12900:7: ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )?
-        int alt261=2;
-        int LA261_0 = input.LA(1);
+        // InternalReportDSL.g:13209:7: ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )?
+        int alt250=2;
+        int LA250_0 = input.LA(1);
 
-        if ( (LA261_0==RULE_ID||LA261_0==103||LA261_0==157) ) {
-            alt261=1;
+        if ( (LA250_0==RULE_ID||LA250_0==102||LA250_0==156) ) {
+            alt250=1;
         }
-        switch (alt261) {
+        switch (alt250) {
             case 1 :
-                // InternalReportDSL.g:12901:8: ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )*
+                // InternalReportDSL.g:13210:8: ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )*
                 {
-                // InternalReportDSL.g:12901:8: ( ( ruleJvmFormalParameter ) )
-                // InternalReportDSL.g:12902:9: ( ruleJvmFormalParameter )
+                // InternalReportDSL.g:13210:8: ( ( ruleJvmFormalParameter ) )
+                // InternalReportDSL.g:13211:9: ( ruleJvmFormalParameter )
                 {
-                // InternalReportDSL.g:12902:9: ( ruleJvmFormalParameter )
-                // InternalReportDSL.g:12903:10: ruleJvmFormalParameter
+                // InternalReportDSL.g:13211:9: ( ruleJvmFormalParameter )
+                // InternalReportDSL.g:13212:10: ruleJvmFormalParameter
                 {
-                pushFollow(FOLLOW_163);
+                pushFollow(FOLLOW_155);
                 ruleJvmFormalParameter();
 
                 state._fsp--;
@@ -45014,29 +46059,29 @@
 
                 }
 
-                // InternalReportDSL.g:12906:8: ( ',' ( ( ruleJvmFormalParameter ) ) )*
-                loop260:
+                // InternalReportDSL.g:13215:8: ( ',' ( ( ruleJvmFormalParameter ) ) )*
+                loop249:
                 do {
-                    int alt260=2;
-                    int LA260_0 = input.LA(1);
+                    int alt249=2;
+                    int LA249_0 = input.LA(1);
 
-                    if ( (LA260_0==134) ) {
-                        alt260=1;
+                    if ( (LA249_0==133) ) {
+                        alt249=1;
                     }
 
 
-                    switch (alt260) {
+                    switch (alt249) {
                 	case 1 :
-                	    // InternalReportDSL.g:12907:9: ',' ( ( ruleJvmFormalParameter ) )
+                	    // InternalReportDSL.g:13216:9: ',' ( ( ruleJvmFormalParameter ) )
                 	    {
-                	    match(input,134,FOLLOW_143); if (state.failed) return ;
-                	    // InternalReportDSL.g:12908:9: ( ( ruleJvmFormalParameter ) )
-                	    // InternalReportDSL.g:12909:10: ( ruleJvmFormalParameter )
+                	    match(input,133,FOLLOW_135); if (state.failed) return ;
+                	    // InternalReportDSL.g:13217:9: ( ( ruleJvmFormalParameter ) )
+                	    // InternalReportDSL.g:13218:10: ( ruleJvmFormalParameter )
                 	    {
-                	    // InternalReportDSL.g:12909:10: ( ruleJvmFormalParameter )
-                	    // InternalReportDSL.g:12910:11: ruleJvmFormalParameter
+                	    // InternalReportDSL.g:13218:10: ( ruleJvmFormalParameter )
+                	    // InternalReportDSL.g:13219:11: ruleJvmFormalParameter
                 	    {
-                	    pushFollow(FOLLOW_163);
+                	    pushFollow(FOLLOW_155);
                 	    ruleJvmFormalParameter();
 
                 	    state._fsp--;
@@ -45052,7 +46097,7 @@
                 	    break;
 
                 	default :
-                	    break loop260;
+                	    break loop249;
                     }
                 } while (true);
 
@@ -45062,13 +46107,13 @@
 
         }
 
-        // InternalReportDSL.g:12915:7: ( ( '|' ) )
-        // InternalReportDSL.g:12916:8: ( '|' )
+        // InternalReportDSL.g:13224:7: ( ( '|' ) )
+        // InternalReportDSL.g:13225:8: ( '|' )
         {
-        // InternalReportDSL.g:12916:8: ( '|' )
-        // InternalReportDSL.g:12917:9: '|'
+        // InternalReportDSL.g:13225:8: ( '|' )
+        // InternalReportDSL.g:13226:9: '|'
         {
-        match(input,170,FOLLOW_2); if (state.failed) return ;
+        match(input,169,FOLLOW_2); if (state.failed) return ;
 
         }
 
@@ -45085,18 +46130,18 @@
 
     // $ANTLR start synpred38_InternalReportDSL
     public final void synpred38_InternalReportDSL_fragment() throws RecognitionException {   
-        // InternalReportDSL.g:12994:4: ( ( () '[' ) )
-        // InternalReportDSL.g:12994:5: ( () '[' )
+        // InternalReportDSL.g:13303:4: ( ( () '[' ) )
+        // InternalReportDSL.g:13303:5: ( () '[' )
         {
-        // InternalReportDSL.g:12994:5: ( () '[' )
-        // InternalReportDSL.g:12995:5: () '['
+        // InternalReportDSL.g:13303:5: ( () '[' )
+        // InternalReportDSL.g:13304:5: () '['
         {
-        // InternalReportDSL.g:12995:5: ()
-        // InternalReportDSL.g:12996:5: 
+        // InternalReportDSL.g:13304:5: ()
+        // InternalReportDSL.g:13305:5: 
         {
         }
 
-        match(input,137,FOLLOW_2); if (state.failed) return ;
+        match(input,136,FOLLOW_2); if (state.failed) return ;
 
         }
 
@@ -45107,10 +46152,10 @@
 
     // $ANTLR start synpred39_InternalReportDSL
     public final void synpred39_InternalReportDSL_fragment() throws RecognitionException {   
-        // InternalReportDSL.g:13154:5: ( '<' )
-        // InternalReportDSL.g:13154:6: '<'
+        // InternalReportDSL.g:13463:5: ( '<' )
+        // InternalReportDSL.g:13463:6: '<'
         {
-        match(input,144,FOLLOW_2); if (state.failed) return ;
+        match(input,143,FOLLOW_2); if (state.failed) return ;
 
         }
     }
@@ -45118,13 +46163,13 @@
 
     // $ANTLR start synpred40_InternalReportDSL
     public final void synpred40_InternalReportDSL_fragment() throws RecognitionException {   
-        // InternalReportDSL.g:13211:5: ( ( '(' ) )
-        // InternalReportDSL.g:13211:6: ( '(' )
+        // InternalReportDSL.g:13520:5: ( ( '(' ) )
+        // InternalReportDSL.g:13520:6: ( '(' )
         {
-        // InternalReportDSL.g:13211:6: ( '(' )
-        // InternalReportDSL.g:13212:6: '('
+        // InternalReportDSL.g:13520:6: ( '(' )
+        // InternalReportDSL.g:13521:6: '('
         {
-        match(input,103,FOLLOW_2); if (state.failed) return ;
+        match(input,102,FOLLOW_2); if (state.failed) return ;
 
         }
 
@@ -45135,35 +46180,35 @@
 
     // $ANTLR start synpred41_InternalReportDSL
     public final void synpred41_InternalReportDSL_fragment() throws RecognitionException {   
-        // InternalReportDSL.g:13230:6: ( ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )
-        // InternalReportDSL.g:13230:7: ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) )
+        // InternalReportDSL.g:13539:6: ( ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )
+        // InternalReportDSL.g:13539:7: ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) )
         {
-        // InternalReportDSL.g:13230:7: ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) )
-        // InternalReportDSL.g:13231:7: () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) )
+        // InternalReportDSL.g:13539:7: ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) )
+        // InternalReportDSL.g:13540:7: () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) )
         {
-        // InternalReportDSL.g:13231:7: ()
-        // InternalReportDSL.g:13232:7: 
+        // InternalReportDSL.g:13540:7: ()
+        // InternalReportDSL.g:13541:7: 
         {
         }
 
-        // InternalReportDSL.g:13233:7: ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )?
-        int alt263=2;
-        int LA263_0 = input.LA(1);
+        // InternalReportDSL.g:13542:7: ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )?
+        int alt252=2;
+        int LA252_0 = input.LA(1);
 
-        if ( (LA263_0==RULE_ID||LA263_0==103||LA263_0==157) ) {
-            alt263=1;
+        if ( (LA252_0==RULE_ID||LA252_0==102||LA252_0==156) ) {
+            alt252=1;
         }
-        switch (alt263) {
+        switch (alt252) {
             case 1 :
-                // InternalReportDSL.g:13234:8: ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )*
+                // InternalReportDSL.g:13543:8: ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )*
                 {
-                // InternalReportDSL.g:13234:8: ( ( ruleJvmFormalParameter ) )
-                // InternalReportDSL.g:13235:9: ( ruleJvmFormalParameter )
+                // InternalReportDSL.g:13543:8: ( ( ruleJvmFormalParameter ) )
+                // InternalReportDSL.g:13544:9: ( ruleJvmFormalParameter )
                 {
-                // InternalReportDSL.g:13235:9: ( ruleJvmFormalParameter )
-                // InternalReportDSL.g:13236:10: ruleJvmFormalParameter
+                // InternalReportDSL.g:13544:9: ( ruleJvmFormalParameter )
+                // InternalReportDSL.g:13545:10: ruleJvmFormalParameter
                 {
-                pushFollow(FOLLOW_163);
+                pushFollow(FOLLOW_155);
                 ruleJvmFormalParameter();
 
                 state._fsp--;
@@ -45174,29 +46219,29 @@
 
                 }
 
-                // InternalReportDSL.g:13239:8: ( ',' ( ( ruleJvmFormalParameter ) ) )*
-                loop262:
+                // InternalReportDSL.g:13548:8: ( ',' ( ( ruleJvmFormalParameter ) ) )*
+                loop251:
                 do {
-                    int alt262=2;
-                    int LA262_0 = input.LA(1);
+                    int alt251=2;
+                    int LA251_0 = input.LA(1);
 
-                    if ( (LA262_0==134) ) {
-                        alt262=1;
+                    if ( (LA251_0==133) ) {
+                        alt251=1;
                     }
 
 
-                    switch (alt262) {
+                    switch (alt251) {
                 	case 1 :
-                	    // InternalReportDSL.g:13240:9: ',' ( ( ruleJvmFormalParameter ) )
+                	    // InternalReportDSL.g:13549:9: ',' ( ( ruleJvmFormalParameter ) )
                 	    {
-                	    match(input,134,FOLLOW_143); if (state.failed) return ;
-                	    // InternalReportDSL.g:13241:9: ( ( ruleJvmFormalParameter ) )
-                	    // InternalReportDSL.g:13242:10: ( ruleJvmFormalParameter )
+                	    match(input,133,FOLLOW_135); if (state.failed) return ;
+                	    // InternalReportDSL.g:13550:9: ( ( ruleJvmFormalParameter ) )
+                	    // InternalReportDSL.g:13551:10: ( ruleJvmFormalParameter )
                 	    {
-                	    // InternalReportDSL.g:13242:10: ( ruleJvmFormalParameter )
-                	    // InternalReportDSL.g:13243:11: ruleJvmFormalParameter
+                	    // InternalReportDSL.g:13551:10: ( ruleJvmFormalParameter )
+                	    // InternalReportDSL.g:13552:11: ruleJvmFormalParameter
                 	    {
-                	    pushFollow(FOLLOW_163);
+                	    pushFollow(FOLLOW_155);
                 	    ruleJvmFormalParameter();
 
                 	    state._fsp--;
@@ -45212,7 +46257,7 @@
                 	    break;
 
                 	default :
-                	    break loop262;
+                	    break loop251;
                     }
                 } while (true);
 
@@ -45222,13 +46267,13 @@
 
         }
 
-        // InternalReportDSL.g:13248:7: ( ( '|' ) )
-        // InternalReportDSL.g:13249:8: ( '|' )
+        // InternalReportDSL.g:13557:7: ( ( '|' ) )
+        // InternalReportDSL.g:13558:8: ( '|' )
         {
-        // InternalReportDSL.g:13249:8: ( '|' )
-        // InternalReportDSL.g:13250:9: '|'
+        // InternalReportDSL.g:13558:8: ( '|' )
+        // InternalReportDSL.g:13559:9: '|'
         {
-        match(input,170,FOLLOW_2); if (state.failed) return ;
+        match(input,169,FOLLOW_2); if (state.failed) return ;
 
         }
 
@@ -45245,18 +46290,18 @@
 
     // $ANTLR start synpred42_InternalReportDSL
     public final void synpred42_InternalReportDSL_fragment() throws RecognitionException {   
-        // InternalReportDSL.g:13327:4: ( ( () '[' ) )
-        // InternalReportDSL.g:13327:5: ( () '[' )
+        // InternalReportDSL.g:13636:4: ( ( () '[' ) )
+        // InternalReportDSL.g:13636:5: ( () '[' )
         {
-        // InternalReportDSL.g:13327:5: ( () '[' )
-        // InternalReportDSL.g:13328:5: () '['
+        // InternalReportDSL.g:13636:5: ( () '[' )
+        // InternalReportDSL.g:13637:5: () '['
         {
-        // InternalReportDSL.g:13328:5: ()
-        // InternalReportDSL.g:13329:5: 
+        // InternalReportDSL.g:13637:5: ()
+        // InternalReportDSL.g:13638:5: 
         {
         }
 
-        match(input,137,FOLLOW_2); if (state.failed) return ;
+        match(input,136,FOLLOW_2); if (state.failed) return ;
 
         }
 
@@ -45267,10 +46312,10 @@
 
     // $ANTLR start synpred43_InternalReportDSL
     public final void synpred43_InternalReportDSL_fragment() throws RecognitionException {   
-        // InternalReportDSL.g:13670:4: ( 'extends' | 'static' | 'import' | 'extension' | '!' | '-' | '+' | 'new' | '{' | 'switch' | 'synchronized' | '<' | 'super' | '#' | '[' | 'false' | 'true' | 'null' | 'typeof' | 'if' | 'for' | 'while' | 'do' | 'throw' | 'return' | 'try' | '(' | RULE_ID | RULE_HEX | RULE_INT | RULE_DECIMAL | RULE_STRING )
+        // InternalReportDSL.g:13979:4: ( 'extends' | 'static' | 'import' | 'extension' | '!' | '-' | '+' | 'new' | '{' | 'switch' | 'synchronized' | '<' | 'super' | '#' | '[' | 'false' | 'true' | 'null' | 'typeof' | 'if' | 'for' | 'while' | 'do' | 'throw' | 'return' | 'try' | '(' | RULE_ID | RULE_HEX | RULE_INT | RULE_DECIMAL | RULE_STRING )
         // InternalReportDSL.g:
         {
-        if ( (input.LA(1)>=RULE_STRING && input.LA(1)<=RULE_DECIMAL)||input.LA(1)==14||input.LA(1)==39||input.LA(1)==103||input.LA(1)==116||(input.LA(1)>=127 && input.LA(1)<=129)||(input.LA(1)>=136 && input.LA(1)<=137)||input.LA(1)==144||input.LA(1)==160||input.LA(1)==164||input.LA(1)==171||input.LA(1)==173||(input.LA(1)>=177 && input.LA(1)<=179)||(input.LA(1)>=182 && input.LA(1)<=190)||input.LA(1)==192 ) {
+        if ( (input.LA(1)>=RULE_STRING && input.LA(1)<=RULE_DECIMAL)||input.LA(1)==14||input.LA(1)==39||input.LA(1)==102||input.LA(1)==115||(input.LA(1)>=126 && input.LA(1)<=128)||(input.LA(1)>=135 && input.LA(1)<=136)||input.LA(1)==143||input.LA(1)==159||input.LA(1)==163||input.LA(1)==170||input.LA(1)==172||(input.LA(1)>=176 && input.LA(1)<=178)||(input.LA(1)>=181 && input.LA(1)<=189)||input.LA(1)==191 ) {
             input.consume();
             state.errorRecovery=false;state.failed=false;
         }
@@ -45287,10 +46332,10 @@
 
     // $ANTLR start synpred44_InternalReportDSL
     public final void synpred44_InternalReportDSL_fragment() throws RecognitionException {   
-        // InternalReportDSL.g:13741:6: ( 'catch' )
-        // InternalReportDSL.g:13741:7: 'catch'
+        // InternalReportDSL.g:14050:6: ( 'catch' )
+        // InternalReportDSL.g:14050:7: 'catch'
         {
-        match(input,193,FOLLOW_2); if (state.failed) return ;
+        match(input,192,FOLLOW_2); if (state.failed) return ;
 
         }
     }
@@ -45298,10 +46343,10 @@
 
     // $ANTLR start synpred45_InternalReportDSL
     public final void synpred45_InternalReportDSL_fragment() throws RecognitionException {   
-        // InternalReportDSL.g:13762:7: ( 'finally' )
-        // InternalReportDSL.g:13762:8: 'finally'
+        // InternalReportDSL.g:14071:7: ( 'finally' )
+        // InternalReportDSL.g:14071:8: 'finally'
         {
-        match(input,191,FOLLOW_2); if (state.failed) return ;
+        match(input,190,FOLLOW_2); if (state.failed) return ;
 
         }
     }
@@ -45309,10 +46354,10 @@
 
     // $ANTLR start synpred48_InternalReportDSL
     public final void synpred48_InternalReportDSL_fragment() throws RecognitionException {   
-        // InternalReportDSL.g:14006:5: ( '.' )
-        // InternalReportDSL.g:14006:6: '.'
+        // InternalReportDSL.g:14315:5: ( '.' )
+        // InternalReportDSL.g:14315:6: '.'
         {
-        match(input,167,FOLLOW_2); if (state.failed) return ;
+        match(input,166,FOLLOW_2); if (state.failed) return ;
 
         }
     }
@@ -45320,14 +46365,14 @@
 
     // $ANTLR start synpred49_InternalReportDSL
     public final void synpred49_InternalReportDSL_fragment() throws RecognitionException {   
-        // InternalReportDSL.g:14132:5: ( ( () ruleArrayBrackets ) )
-        // InternalReportDSL.g:14132:6: ( () ruleArrayBrackets )
+        // InternalReportDSL.g:14441:5: ( ( () ruleArrayBrackets ) )
+        // InternalReportDSL.g:14441:6: ( () ruleArrayBrackets )
         {
-        // InternalReportDSL.g:14132:6: ( () ruleArrayBrackets )
-        // InternalReportDSL.g:14133:6: () ruleArrayBrackets
+        // InternalReportDSL.g:14441:6: ( () ruleArrayBrackets )
+        // InternalReportDSL.g:14442:6: () ruleArrayBrackets
         {
-        // InternalReportDSL.g:14133:6: ()
-        // InternalReportDSL.g:14134:6: 
+        // InternalReportDSL.g:14442:6: ()
+        // InternalReportDSL.g:14443:6: 
         {
         }
 
@@ -45346,10 +46391,10 @@
 
     // $ANTLR start synpred50_InternalReportDSL
     public final void synpred50_InternalReportDSL_fragment() throws RecognitionException {   
-        // InternalReportDSL.g:14329:5: ( '<' )
-        // InternalReportDSL.g:14329:6: '<'
+        // InternalReportDSL.g:14638:5: ( '<' )
+        // InternalReportDSL.g:14638:6: '<'
         {
-        match(input,144,FOLLOW_2); if (state.failed) return ;
+        match(input,143,FOLLOW_2); if (state.failed) return ;
 
         }
     }
@@ -45357,18 +46402,18 @@
 
     // $ANTLR start synpred51_InternalReportDSL
     public final void synpred51_InternalReportDSL_fragment() throws RecognitionException {   
-        // InternalReportDSL.g:14385:6: ( ( () '.' ) )
-        // InternalReportDSL.g:14385:7: ( () '.' )
+        // InternalReportDSL.g:14694:6: ( ( () '.' ) )
+        // InternalReportDSL.g:14694:7: ( () '.' )
         {
-        // InternalReportDSL.g:14385:7: ( () '.' )
-        // InternalReportDSL.g:14386:7: () '.'
+        // InternalReportDSL.g:14694:7: ( () '.' )
+        // InternalReportDSL.g:14695:7: () '.'
         {
-        // InternalReportDSL.g:14386:7: ()
-        // InternalReportDSL.g:14387:7: 
+        // InternalReportDSL.g:14695:7: ()
+        // InternalReportDSL.g:14696:7: 
         {
         }
 
-        match(input,167,FOLLOW_2); if (state.failed) return ;
+        match(input,166,FOLLOW_2); if (state.failed) return ;
 
         }
 
@@ -45379,10 +46424,10 @@
 
     // $ANTLR start synpred52_InternalReportDSL
     public final void synpred52_InternalReportDSL_fragment() throws RecognitionException {   
-        // InternalReportDSL.g:14423:7: ( '<' )
-        // InternalReportDSL.g:14423:8: '<'
+        // InternalReportDSL.g:14732:7: ( '<' )
+        // InternalReportDSL.g:14732:8: '<'
         {
-        match(input,144,FOLLOW_2); if (state.failed) return ;
+        match(input,143,FOLLOW_2); if (state.failed) return ;
 
         }
     }
@@ -46022,39 +47067,40 @@
     }
 
 
-    protected DFA21 dfa21 = new DFA21(this);
-    protected DFA24 dfa24 = new DFA24(this);
+    protected DFA22 dfa22 = new DFA22(this);
+    protected DFA25 dfa25 = new DFA25(this);
+    protected DFA100 dfa100 = new DFA100(this);
+    protected DFA103 dfa103 = new DFA103(this);
+    protected DFA109 dfa109 = new DFA109(this);
     protected DFA112 dfa112 = new DFA112(this);
-    protected DFA115 dfa115 = new DFA115(this);
-    protected DFA121 dfa121 = new DFA121(this);
+    protected DFA114 dfa114 = new DFA114(this);
     protected DFA124 dfa124 = new DFA124(this);
-    protected DFA126 dfa126 = new DFA126(this);
-    protected DFA136 dfa136 = new DFA136(this);
-    protected DFA139 dfa139 = new DFA139(this);
+    protected DFA127 dfa127 = new DFA127(this);
+    protected DFA143 dfa143 = new DFA143(this);
+    protected DFA142 dfa142 = new DFA142(this);
+    protected DFA144 dfa144 = new DFA144(this);
+    protected DFA146 dfa146 = new DFA146(this);
     protected DFA155 dfa155 = new DFA155(this);
-    protected DFA154 dfa154 = new DFA154(this);
-    protected DFA156 dfa156 = new DFA156(this);
-    protected DFA158 dfa158 = new DFA158(this);
-    protected DFA167 dfa167 = new DFA167(this);
-    protected DFA174 dfa174 = new DFA174(this);
-    protected DFA173 dfa173 = new DFA173(this);
+    protected DFA162 dfa162 = new DFA162(this);
+    protected DFA161 dfa161 = new DFA161(this);
+    protected DFA184 dfa184 = new DFA184(this);
+    protected DFA183 dfa183 = new DFA183(this);
+    protected DFA185 dfa185 = new DFA185(this);
+    protected DFA189 dfa189 = new DFA189(this);
+    protected DFA192 dfa192 = new DFA192(this);
+    protected DFA191 dfa191 = new DFA191(this);
+    protected DFA193 dfa193 = new DFA193(this);
     protected DFA196 dfa196 = new DFA196(this);
-    protected DFA195 dfa195 = new DFA195(this);
-    protected DFA197 dfa197 = new DFA197(this);
-    protected DFA201 dfa201 = new DFA201(this);
-    protected DFA204 dfa204 = new DFA204(this);
-    protected DFA203 dfa203 = new DFA203(this);
-    protected DFA205 dfa205 = new DFA205(this);
-    protected DFA208 dfa208 = new DFA208(this);
-    protected DFA226 dfa226 = new DFA226(this);
-    protected DFA224 dfa224 = new DFA224(this);
-    static final String dfa_1s = "\23\uffff";
-    static final String dfa_2s = "\1\22\22\uffff";
-    static final String dfa_3s = "\1\74\22\uffff";
-    static final String dfa_4s = "\1\uffff\1\22\1\1\1\2\1\3\1\4\1\5\1\6\1\7\1\10\1\11\1\12\1\13\1\14\1\15\1\16\1\17\1\20\1\21";
-    static final String dfa_5s = "\1\0\22\uffff}>";
+    protected DFA214 dfa214 = new DFA214(this);
+    protected DFA212 dfa212 = new DFA212(this);
+    static final String dfa_1s = "\24\uffff";
+    static final String dfa_2s = "\1\22\23\uffff";
+    static final String dfa_3s = "\1\75\23\uffff";
+    static final String dfa_4s = "\1\uffff\1\23\1\1\1\2\1\3\1\4\1\5\1\6\1\7\1\10\1\11\1\12\1\13\1\14\1\15\1\16\1\17\1\20\1\21\1\22";
+    static final String dfa_5s = "\1\0\23\uffff}>";
     static final String[] dfa_6s = {
-            "\1\1\4\uffff\1\1\16\uffff\1\3\5\uffff\1\2\1\4\1\uffff\1\5\1\6\1\7\1\10\1\11\1\12\1\13\1\14\1\15\1\16\1\17\1\20\1\21\1\22",
+            "\1\1\4\uffff\1\1\16\uffff\1\3\5\uffff\1\2\1\4\1\uffff\1\5\1\6\1\7\1\10\1\11\1\12\1\13\1\14\1\15\1\16\1\17\1\20\1\21\1\22\1\23",
+            "",
             "",
             "",
             "",
@@ -46082,11 +47128,11 @@
     static final short[] dfa_5 = DFA.unpackEncodedString(dfa_5s);
     static final short[][] dfa_6 = unpackEncodedStringArray(dfa_6s);
 
-    class DFA21 extends DFA {
+    class DFA22 extends DFA {
 
-        public DFA21(BaseRecognizer recognizer) {
+        public DFA22(BaseRecognizer recognizer) {
             this.recognizer = recognizer;
-            this.decisionNumber = 21;
+            this.decisionNumber = 22;
             this.eot = dfa_1;
             this.eof = dfa_1;
             this.min = dfa_2;
@@ -46096,69 +47142,72 @@
             this.transition = dfa_6;
         }
         public String getDescription() {
-            return "()* loopback of 1664:6: ( ({...}? => ( ({...}? => (otherlv_6= 'formatter' ( (otherlv_7= RULE_ID ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_8= 'font' ( (otherlv_9= RULE_ID ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_10= 'backgroundcolor' ( (otherlv_11= RULE_ID ) ) (otherlv_12= 'alternate' ( (otherlv_13= RULE_ID ) ) )? ) ) ) ) | ({...}? => ( ({...}? => (otherlv_14= 'textcolor' ( (otherlv_15= RULE_ID ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_16= 'textalign' ( (lv_textalign_17_0= ruleTextAlignEnum ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_18= 'border-top' ( (lv_borderTop_19_0= ruleBorderStyle ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_20= 'border-bottom' ( (lv_borderBottom_21_0= ruleBorderStyle ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_22= 'border-left' ( (lv_borderLeft_23_0= ruleBorderStyle ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_24= 'border-right' ( (lv_borderRight_25_0= ruleBorderStyle ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_26= 'padding-top' ( (lv_paddingTopValue_27_0= ruleUnsignedNumber ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_28= 'padding-bottom' ( (lv_paddingBottomValue_29_0= ruleUnsignedNumber ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_30= 'padding-left' ( (lv_paddingLeftValue_31_0= ruleUnsignedNumber ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_32= 'padding-right' ( (lv_paddingRightValue_33_0= ruleUnsignedNumber ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_34= 'margin-top' ( (lv_marginTopValue_35_0= ruleUnsignedNumber ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_36= 'margin-bottom' ( (lv_marginBottomValue_37_0= ruleUnsignedNumber ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_38= 'margin-left' ( (lv_marginLeftValue_39_0= ruleUnsignedNumber ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_40= 'margin-right' ( (lv_marginRightValue_41_0= ruleUnsignedNumber ) ) ) ) ) ) )*";
+            return "()* loopback of 1664:6: ( ({...}? => ( ({...}? => (otherlv_6= 'formatter' ( (otherlv_7= RULE_ID ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_8= 'font' ( (otherlv_9= RULE_ID ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_10= 'backgroundcolor' ( (otherlv_11= RULE_ID ) ) (otherlv_12= 'alternate' ( (otherlv_13= RULE_ID ) ) )? ) ) ) ) | ({...}? => ( ({...}? => (otherlv_14= 'textcolor' ( (otherlv_15= RULE_ID ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_16= 'textalign' ( (lv_textalign_17_0= ruleTextAlignEnum ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_18= 'verticalalign' ( (lv_verticalalign_19_0= ruleVerticalTextAlignEnum ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_20= 'border-top' ( (lv_borderTop_21_0= ruleBorderStyle ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_22= 'border-bottom' ( (lv_borderBottom_23_0= ruleBorderStyle ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_24= 'border-left' ( (lv_borderLeft_25_0= ruleBorderStyle ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_26= 'border-right' ( (lv_borderRight_27_0= ruleBorderStyle ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_28= 'padding-top' ( (lv_paddingTopValue_29_0= ruleUnsignedNumber ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_30= 'padding-bottom' ( (lv_paddingBottomValue_31_0= ruleUnsignedNumber ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_32= 'padding-left' ( (lv_paddingLeftValue_33_0= ruleUnsignedNumber ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_34= 'padding-right' ( (lv_paddingRightValue_35_0= ruleUnsignedNumber ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_36= 'margin-top' ( (lv_marginTopValue_37_0= ruleUnsignedNumber ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_38= 'margin-bottom' ( (lv_marginBottomValue_39_0= ruleUnsignedNumber ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_40= 'margin-left' ( (lv_marginLeftValue_41_0= ruleUnsignedNumber ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_42= 'margin-right' ( (lv_marginRightValue_43_0= ruleUnsignedNumber ) ) ) ) ) ) )*";
         }
         public int specialStateTransition(int s, IntStream _input) throws NoViableAltException {
             TokenStream input = (TokenStream)_input;
         	int _s = s;
             switch ( s ) {
                     case 0 : 
-                        int LA21_0 = input.LA(1);
+                        int LA22_0 = input.LA(1);
 
                          
-                        int index21_0 = input.index();
+                        int index22_0 = input.index();
                         input.rewind();
                         s = -1;
-                        if ( (LA21_0==18||LA21_0==23) ) {s = 1;}
+                        if ( (LA22_0==18||LA22_0==23) ) {s = 1;}
 
-                        else if ( LA21_0 == 44 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 0) ) {s = 2;}
+                        else if ( LA22_0 == 44 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 0) ) {s = 2;}
 
-                        else if ( LA21_0 == 38 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 1) ) {s = 3;}
+                        else if ( LA22_0 == 38 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 1) ) {s = 3;}
 
-                        else if ( LA21_0 == 45 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 2) ) {s = 4;}
+                        else if ( LA22_0 == 45 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 2) ) {s = 4;}
 
-                        else if ( LA21_0 == 47 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 3) ) {s = 5;}
+                        else if ( LA22_0 == 47 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 3) ) {s = 5;}
 
-                        else if ( LA21_0 == 48 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 4) ) {s = 6;}
+                        else if ( LA22_0 == 48 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 4) ) {s = 6;}
 
-                        else if ( LA21_0 == 49 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 5) ) {s = 7;}
+                        else if ( LA22_0 == 49 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 5) ) {s = 7;}
 
-                        else if ( LA21_0 == 50 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 6) ) {s = 8;}
+                        else if ( LA22_0 == 50 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 6) ) {s = 8;}
 
-                        else if ( LA21_0 == 51 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 7) ) {s = 9;}
+                        else if ( LA22_0 == 51 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 7) ) {s = 9;}
 
-                        else if ( LA21_0 == 52 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 8) ) {s = 10;}
+                        else if ( LA22_0 == 52 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 8) ) {s = 10;}
 
-                        else if ( LA21_0 == 53 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 9) ) {s = 11;}
+                        else if ( LA22_0 == 53 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 9) ) {s = 11;}
 
-                        else if ( LA21_0 == 54 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 10) ) {s = 12;}
+                        else if ( LA22_0 == 54 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 10) ) {s = 12;}
 
-                        else if ( LA21_0 == 55 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 11) ) {s = 13;}
+                        else if ( LA22_0 == 55 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 11) ) {s = 13;}
 
-                        else if ( LA21_0 == 56 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 12) ) {s = 14;}
+                        else if ( LA22_0 == 56 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 12) ) {s = 14;}
 
-                        else if ( LA21_0 == 57 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 13) ) {s = 15;}
+                        else if ( LA22_0 == 57 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 13) ) {s = 15;}
 
-                        else if ( LA21_0 == 58 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 14) ) {s = 16;}
+                        else if ( LA22_0 == 58 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 14) ) {s = 16;}
 
-                        else if ( LA21_0 == 59 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 15) ) {s = 17;}
+                        else if ( LA22_0 == 59 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 15) ) {s = 17;}
 
-                        else if ( LA21_0 == 60 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 16) ) {s = 18;}
+                        else if ( LA22_0 == 60 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 16) ) {s = 18;}
+
+                        else if ( LA22_0 == 61 && getUnorderedGroupHelper().canSelect(grammarAccess.getStyleAccess().getUnorderedGroup_4(), 17) ) {s = 19;}
 
                          
-                        input.seek(index21_0);
+                        input.seek(index22_0);
                         if ( s>=0 ) return s;
                         break;
             }
             if (state.backtracking>0) {state.failed=true; return -1;}
             NoViableAltException nvae =
-                new NoViableAltException(getDescription(), 21, _s, input);
+                new NoViableAltException(getDescription(), 22, _s, input);
             error(nvae);
             throw nvae;
         }
     }
     static final String[] dfa_7s = {
-            "\1\1\23\uffff\1\3\5\uffff\1\2\1\4\1\uffff\1\5\1\6\1\7\1\10\1\11\1\12\1\13\1\14\1\15\1\16\1\17\1\20\1\21\1\22",
+            "\1\1\23\uffff\1\3\5\uffff\1\2\1\4\1\uffff\1\5\1\6\1\7\1\10\1\11\1\12\1\13\1\14\1\15\1\16\1\17\1\20\1\21\1\22\1\23",
+            "",
             "",
             "",
             "",
@@ -46180,11 +47229,11 @@
     };
     static final short[][] dfa_7 = unpackEncodedStringArray(dfa_7s);
 
-    class DFA24 extends DFA {
+    class DFA25 extends DFA {
 
-        public DFA24(BaseRecognizer recognizer) {
+        public DFA25(BaseRecognizer recognizer) {
             this.recognizer = recognizer;
-            this.decisionNumber = 24;
+            this.decisionNumber = 25;
             this.eot = dfa_1;
             this.eof = dfa_1;
             this.min = dfa_2;
@@ -46194,63 +47243,65 @@
             this.transition = dfa_7;
         }
         public String getDescription() {
-            return "()* loopback of 2314:6: ( ({...}? => ( ({...}? => (otherlv_4= 'formatter' ( (otherlv_5= RULE_ID ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_6= 'font' ( (otherlv_7= RULE_ID ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_8= 'backgroundcolor' ( (otherlv_9= RULE_ID ) ) (otherlv_10= 'alternate' ( (otherlv_11= RULE_ID ) ) )? ) ) ) ) | ({...}? => ( ({...}? => (otherlv_12= 'textcolor' ( (otherlv_13= RULE_ID ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_14= 'textalign' ( (lv_textalign_15_0= ruleTextAlignEnum ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_16= 'border-top' ( (lv_borderTop_17_0= ruleBorderStyle ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_18= 'border-bottom' ( (lv_borderBottom_19_0= ruleBorderStyle ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_20= 'border-left' ( (lv_borderLeft_21_0= ruleBorderStyle ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_22= 'border-right' ( (lv_borderRight_23_0= ruleBorderStyle ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_24= 'padding-top' ( (lv_paddingTopValue_25_0= ruleUnsignedNumber ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_26= 'padding-bottom' ( (lv_paddingBottomValue_27_0= ruleUnsignedNumber ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_28= 'padding-left' ( (lv_paddingLeftValue_29_0= ruleUnsignedNumber ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_30= 'padding-right' ( (lv_paddingRightValue_31_0= ruleUnsignedNumber ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_32= 'margin-top' ( (lv_marginTopValue_33_0= ruleUnsignedNumber ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_34= 'margin-bottom' ( (lv_marginBottomValue_35_0= ruleUnsignedNumber ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_36= 'margin-left' ( (lv_marginLeftValue_37_0= ruleUnsignedNumber ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_38= 'margin-right' ( (lv_marginRightValue_39_0= ruleUnsignedNumber ) ) ) ) ) ) )*";
+            return "()* loopback of 2348:6: ( ({...}? => ( ({...}? => (otherlv_4= 'formatter' ( (otherlv_5= RULE_ID ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_6= 'font' ( (otherlv_7= RULE_ID ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_8= 'backgroundcolor' ( (otherlv_9= RULE_ID ) ) (otherlv_10= 'alternate' ( (otherlv_11= RULE_ID ) ) )? ) ) ) ) | ({...}? => ( ({...}? => (otherlv_12= 'textcolor' ( (otherlv_13= RULE_ID ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_14= 'textalign' ( (lv_textalign_15_0= ruleTextAlignEnum ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_16= 'verticalalign' ( (lv_verticalalign_17_0= ruleVerticalTextAlignEnum ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_18= 'border-top' ( (lv_borderTop_19_0= ruleBorderStyle ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_20= 'border-bottom' ( (lv_borderBottom_21_0= ruleBorderStyle ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_22= 'border-left' ( (lv_borderLeft_23_0= ruleBorderStyle ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_24= 'border-right' ( (lv_borderRight_25_0= ruleBorderStyle ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_26= 'padding-top' ( (lv_paddingTopValue_27_0= ruleUnsignedNumber ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_28= 'padding-bottom' ( (lv_paddingBottomValue_29_0= ruleUnsignedNumber ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_30= 'padding-left' ( (lv_paddingLeftValue_31_0= ruleUnsignedNumber ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_32= 'padding-right' ( (lv_paddingRightValue_33_0= ruleUnsignedNumber ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_34= 'margin-top' ( (lv_marginTopValue_35_0= ruleUnsignedNumber ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_36= 'margin-bottom' ( (lv_marginBottomValue_37_0= ruleUnsignedNumber ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_38= 'margin-left' ( (lv_marginLeftValue_39_0= ruleUnsignedNumber ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_40= 'margin-right' ( (lv_marginRightValue_41_0= ruleUnsignedNumber ) ) ) ) ) ) )*";
         }
         public int specialStateTransition(int s, IntStream _input) throws NoViableAltException {
             TokenStream input = (TokenStream)_input;
         	int _s = s;
             switch ( s ) {
                     case 0 : 
-                        int LA24_0 = input.LA(1);
+                        int LA25_0 = input.LA(1);
 
                          
-                        int index24_0 = input.index();
+                        int index25_0 = input.index();
                         input.rewind();
                         s = -1;
-                        if ( (LA24_0==18) ) {s = 1;}
+                        if ( (LA25_0==18) ) {s = 1;}
 
-                        else if ( LA24_0 == 44 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 0) ) {s = 2;}
+                        else if ( LA25_0 == 44 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 0) ) {s = 2;}
 
-                        else if ( LA24_0 == 38 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 1) ) {s = 3;}
+                        else if ( LA25_0 == 38 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 1) ) {s = 3;}
 
-                        else if ( LA24_0 == 45 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 2) ) {s = 4;}
+                        else if ( LA25_0 == 45 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 2) ) {s = 4;}
 
-                        else if ( LA24_0 == 47 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 3) ) {s = 5;}
+                        else if ( LA25_0 == 47 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 3) ) {s = 5;}
 
-                        else if ( LA24_0 == 48 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 4) ) {s = 6;}
+                        else if ( LA25_0 == 48 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 4) ) {s = 6;}
 
-                        else if ( LA24_0 == 49 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 5) ) {s = 7;}
+                        else if ( LA25_0 == 49 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 5) ) {s = 7;}
 
-                        else if ( LA24_0 == 50 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 6) ) {s = 8;}
+                        else if ( LA25_0 == 50 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 6) ) {s = 8;}
 
-                        else if ( LA24_0 == 51 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 7) ) {s = 9;}
+                        else if ( LA25_0 == 51 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 7) ) {s = 9;}
 
-                        else if ( LA24_0 == 52 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 8) ) {s = 10;}
+                        else if ( LA25_0 == 52 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 8) ) {s = 10;}
 
-                        else if ( LA24_0 == 53 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 9) ) {s = 11;}
+                        else if ( LA25_0 == 53 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 9) ) {s = 11;}
 
-                        else if ( LA24_0 == 54 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 10) ) {s = 12;}
+                        else if ( LA25_0 == 54 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 10) ) {s = 12;}
 
-                        else if ( LA24_0 == 55 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 11) ) {s = 13;}
+                        else if ( LA25_0 == 55 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 11) ) {s = 13;}
 
-                        else if ( LA24_0 == 56 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 12) ) {s = 14;}
+                        else if ( LA25_0 == 56 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 12) ) {s = 14;}
 
-                        else if ( LA24_0 == 57 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 13) ) {s = 15;}
+                        else if ( LA25_0 == 57 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 13) ) {s = 15;}
 
-                        else if ( LA24_0 == 58 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 14) ) {s = 16;}
+                        else if ( LA25_0 == 58 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 14) ) {s = 16;}
 
-                        else if ( LA24_0 == 59 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 15) ) {s = 17;}
+                        else if ( LA25_0 == 59 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 15) ) {s = 17;}
 
-                        else if ( LA24_0 == 60 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 16) ) {s = 18;}
+                        else if ( LA25_0 == 60 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 16) ) {s = 18;}
+
+                        else if ( LA25_0 == 61 && getUnorderedGroupHelper().canSelect(grammarAccess.getMediaStyleAccess().getUnorderedGroup_3(), 17) ) {s = 19;}
 
                          
-                        input.seek(index24_0);
+                        input.seek(index25_0);
                         if ( s>=0 ) return s;
                         break;
             }
             if (state.backtracking>0) {state.failed=true; return -1;}
             NoViableAltException nvae =
-                new NoViableAltException(getDescription(), 24, _s, input);
+                new NoViableAltException(getDescription(), 25, _s, input);
             error(nvae);
             throw nvae;
         }
@@ -46258,18 +47309,18 @@
     static final String dfa_8s = "\10\uffff";
     static final String dfa_9s = "\2\uffff\1\5\4\uffff\1\5";
     static final String dfa_10s = "\1\5\1\uffff\1\15\1\uffff\1\5\2\uffff\1\15";
-    static final String dfa_11s = "\1\u0083\1\uffff\1\u00a7\1\uffff\1\u0082\2\uffff\1\u00a7";
+    static final String dfa_11s = "\1\u0082\1\uffff\1\u00a6\1\uffff\1\u0081\2\uffff\1\u00a6";
     static final String dfa_12s = "\1\uffff\1\1\1\uffff\1\4\1\uffff\1\2\1\3\1\uffff";
     static final String dfa_13s = "\10\uffff}>";
     static final String[] dfa_14s = {
-            "\1\2\172\uffff\1\1\2\uffff\1\3",
+            "\1\2\171\uffff\1\1\2\uffff\1\3",
             "",
-            "\1\5\161\uffff\1\5\4\uffff\1\5\42\uffff\1\4",
+            "\1\5\160\uffff\1\5\4\uffff\1\5\42\uffff\1\4",
             "",
-            "\1\7\174\uffff\1\6",
+            "\1\7\173\uffff\1\6",
             "",
             "",
-            "\1\5\161\uffff\1\5\4\uffff\1\5\42\uffff\1\4"
+            "\1\5\160\uffff\1\5\4\uffff\1\5\42\uffff\1\4"
     };
 
     static final short[] dfa_8 = DFA.unpackEncodedString(dfa_8s);
@@ -46280,11 +47331,11 @@
     static final short[] dfa_13 = DFA.unpackEncodedString(dfa_13s);
     static final short[][] dfa_14 = unpackEncodedStringArray(dfa_14s);
 
-    class DFA112 extends DFA {
+    class DFA100 extends DFA {
 
-        public DFA112(BaseRecognizer recognizer) {
+        public DFA100(BaseRecognizer recognizer) {
             this.recognizer = recognizer;
-            this.decisionNumber = 112;
+            this.decisionNumber = 100;
             this.eot = dfa_8;
             this.eof = dfa_9;
             this.min = dfa_10;
@@ -46294,16 +47345,16 @@
             this.transition = dfa_14;
         }
         public String getDescription() {
-            return "8099:3: ( ( ( (lv_static_2_0= 'static' ) ) ( (lv_extension_3_0= 'extension' ) )? ( ( ruleQualifiedNameInStaticImport ) ) ( ( (lv_wildcard_5_0= '*' ) ) | ( (lv_memberName_6_0= ruleValidID ) ) ) ) | ( ( ruleQualifiedName ) ) | ( (lv_importedNamespace_8_0= ruleQualifiedNameWithWildcard ) ) | ( ( (lv_fqnImport_9_0= 'ns' ) ) ( (lv_importedFullyQualifiedName_10_0= ruleQualifiedName ) ) ) )";
+            return "8408:3: ( ( ( (lv_static_2_0= 'static' ) ) ( (lv_extension_3_0= 'extension' ) )? ( ( ruleQualifiedNameInStaticImport ) ) ( ( (lv_wildcard_5_0= '*' ) ) | ( (lv_memberName_6_0= ruleValidID ) ) ) ) | ( ( ruleQualifiedName ) ) | ( (lv_importedNamespace_8_0= ruleQualifiedNameWithWildcard ) ) | ( ( (lv_fqnImport_9_0= 'ns' ) ) ( (lv_importedFullyQualifiedName_10_0= ruleQualifiedName ) ) ) )";
         }
     }
     static final String dfa_15s = "\44\uffff";
     static final String dfa_16s = "\1\4\1\0\42\uffff";
-    static final String dfa_17s = "\1\u00c0\1\0\42\uffff";
+    static final String dfa_17s = "\1\u00bf\1\0\42\uffff";
     static final String dfa_18s = "\2\uffff\1\2\37\uffff\1\3\1\1";
     static final String dfa_19s = "\1\uffff\1\0\42\uffff}>";
     static final String[] dfa_20s = {
-            "\1\2\1\1\3\2\5\uffff\1\2\30\uffff\1\2\77\uffff\1\2\1\42\13\uffff\1\2\12\uffff\3\2\3\uffff\1\2\2\uffff\2\2\6\uffff\1\2\17\uffff\1\2\3\uffff\1\2\6\uffff\1\2\1\uffff\1\2\3\uffff\3\2\2\uffff\11\2\1\uffff\1\2",
+            "\1\2\1\1\3\2\5\uffff\1\2\30\uffff\1\2\76\uffff\1\2\1\42\13\uffff\1\2\12\uffff\3\2\3\uffff\1\2\2\uffff\2\2\6\uffff\1\2\17\uffff\1\2\3\uffff\1\2\6\uffff\1\2\1\uffff\1\2\3\uffff\3\2\2\uffff\11\2\1\uffff\1\2",
             "\1\uffff",
             "",
             "",
@@ -46348,11 +47399,11 @@
     static final short[] dfa_19 = DFA.unpackEncodedString(dfa_19s);
     static final short[][] dfa_20 = unpackEncodedStringArray(dfa_20s);
 
-    class DFA115 extends DFA {
+    class DFA103 extends DFA {
 
-        public DFA115(BaseRecognizer recognizer) {
+        public DFA103(BaseRecognizer recognizer) {
             this.recognizer = recognizer;
-            this.decisionNumber = 115;
+            this.decisionNumber = 103;
             this.eot = dfa_15;
             this.eof = dfa_15;
             this.min = dfa_16;
@@ -46362,17 +47413,17 @@
             this.transition = dfa_20;
         }
         public String getDescription() {
-            return "8316:4: ( ( ( ( ( ( ( ruleValidID ) ) '=' ) )=> (lv_elementValuePairs_4_0= ruleXAnnotationElementValuePair ) ) (otherlv_5= ',' ( ( ( ( ( ruleValidID ) ) '=' ) )=> (lv_elementValuePairs_6_0= ruleXAnnotationElementValuePair ) ) )* ) | ( (lv_value_7_0= ruleXAnnotationElementValueOrCommaList ) ) )?";
+            return "8625:4: ( ( ( ( ( ( ( ruleValidID ) ) '=' ) )=> (lv_elementValuePairs_4_0= ruleXAnnotationElementValuePair ) ) (otherlv_5= ',' ( ( ( ( ( ruleValidID ) ) '=' ) )=> (lv_elementValuePairs_6_0= ruleXAnnotationElementValuePair ) ) )* ) | ( (lv_value_7_0= ruleXAnnotationElementValueOrCommaList ) ) )?";
         }
         public int specialStateTransition(int s, IntStream _input) throws NoViableAltException {
             TokenStream input = (TokenStream)_input;
         	int _s = s;
             switch ( s ) {
                     case 0 : 
-                        int LA115_1 = input.LA(1);
+                        int LA103_1 = input.LA(1);
 
                          
-                        int index115_1 = input.index();
+                        int index103_1 = input.index();
                         input.rewind();
                         s = -1;
                         if ( (synpred2_InternalReportDSL()) ) {s = 35;}
@@ -46380,24 +47431,24 @@
                         else if ( (true) ) {s = 2;}
 
                          
-                        input.seek(index115_1);
+                        input.seek(index103_1);
                         if ( s>=0 ) return s;
                         break;
             }
             if (state.backtracking>0) {state.failed=true; return -1;}
             NoViableAltException nvae =
-                new NoViableAltException(getDescription(), 115, _s, input);
+                new NoViableAltException(getDescription(), 103, _s, input);
             error(nvae);
             throw nvae;
         }
     }
     static final String dfa_21s = "\43\uffff";
     static final String dfa_22s = "\1\4\1\0\41\uffff";
-    static final String dfa_23s = "\1\u00c0\1\0\41\uffff";
+    static final String dfa_23s = "\1\u00bf\1\0\41\uffff";
     static final String dfa_24s = "\2\uffff\1\2\37\uffff\1\1";
     static final String dfa_25s = "\1\uffff\1\0\41\uffff}>";
     static final String[] dfa_26s = {
-            "\5\2\5\uffff\1\2\30\uffff\1\2\77\uffff\1\2\14\uffff\1\2\12\uffff\3\2\3\uffff\1\2\2\uffff\1\1\1\2\6\uffff\1\2\17\uffff\1\2\3\uffff\1\2\6\uffff\1\2\1\uffff\1\2\3\uffff\3\2\2\uffff\11\2\1\uffff\1\2",
+            "\5\2\5\uffff\1\2\30\uffff\1\2\76\uffff\1\2\14\uffff\1\2\12\uffff\3\2\3\uffff\1\2\2\uffff\1\1\1\2\6\uffff\1\2\17\uffff\1\2\3\uffff\1\2\6\uffff\1\2\1\uffff\1\2\3\uffff\3\2\2\uffff\11\2\1\uffff\1\2",
             "\1\uffff",
             "",
             "",
@@ -46441,11 +47492,11 @@
     static final short[] dfa_25 = DFA.unpackEncodedString(dfa_25s);
     static final short[][] dfa_26 = unpackEncodedStringArray(dfa_26s);
 
-    class DFA121 extends DFA {
+    class DFA109 extends DFA {
 
-        public DFA121(BaseRecognizer recognizer) {
+        public DFA109(BaseRecognizer recognizer) {
             this.recognizer = recognizer;
-            this.decisionNumber = 121;
+            this.decisionNumber = 109;
             this.eot = dfa_21;
             this.eof = dfa_21;
             this.min = dfa_22;
@@ -46455,17 +47506,17 @@
             this.transition = dfa_26;
         }
         public String getDescription() {
-            return "8496:2: ( ( ( ( ( () '#' '[' ) )=> ( () otherlv_1= '#' otherlv_2= '[' ) ) ( ( (lv_elements_3_0= ruleXAnnotationOrExpression ) ) (otherlv_4= ',' ( (lv_elements_5_0= ruleXAnnotationOrExpression ) ) )* )? otherlv_6= ']' ) | (this_XAnnotationOrExpression_7= ruleXAnnotationOrExpression ( () (otherlv_9= ',' ( (lv_elements_10_0= ruleXAnnotationOrExpression ) ) )+ )? ) )";
+            return "8805:2: ( ( ( ( ( () '#' '[' ) )=> ( () otherlv_1= '#' otherlv_2= '[' ) ) ( ( (lv_elements_3_0= ruleXAnnotationOrExpression ) ) (otherlv_4= ',' ( (lv_elements_5_0= ruleXAnnotationOrExpression ) ) )* )? otherlv_6= ']' ) | (this_XAnnotationOrExpression_7= ruleXAnnotationOrExpression ( () (otherlv_9= ',' ( (lv_elements_10_0= ruleXAnnotationOrExpression ) ) )+ )? ) )";
         }
         public int specialStateTransition(int s, IntStream _input) throws NoViableAltException {
             TokenStream input = (TokenStream)_input;
         	int _s = s;
             switch ( s ) {
                     case 0 : 
-                        int LA121_1 = input.LA(1);
+                        int LA109_1 = input.LA(1);
 
                          
-                        int index121_1 = input.index();
+                        int index109_1 = input.index();
                         input.rewind();
                         s = -1;
                         if ( (synpred5_InternalReportDSL()) ) {s = 34;}
@@ -46473,23 +47524,23 @@
                         else if ( (true) ) {s = 2;}
 
                          
-                        input.seek(index121_1);
+                        input.seek(index109_1);
                         if ( s>=0 ) return s;
                         break;
             }
             if (state.backtracking>0) {state.failed=true; return -1;}
             NoViableAltException nvae =
-                new NoViableAltException(getDescription(), 121, _s, input);
+                new NoViableAltException(getDescription(), 109, _s, input);
             error(nvae);
             throw nvae;
         }
     }
 
-    class DFA124 extends DFA {
+    class DFA112 extends DFA {
 
-        public DFA124(BaseRecognizer recognizer) {
+        public DFA112(BaseRecognizer recognizer) {
             this.recognizer = recognizer;
-            this.decisionNumber = 124;
+            this.decisionNumber = 112;
             this.eot = dfa_21;
             this.eof = dfa_21;
             this.min = dfa_22;
@@ -46499,17 +47550,17 @@
             this.transition = dfa_26;
         }
         public String getDescription() {
-            return "8638:2: ( ( ( ( ( () '#' '[' ) )=> ( () otherlv_1= '#' otherlv_2= '[' ) ) ( ( (lv_elements_3_0= ruleXAnnotationOrExpression ) ) (otherlv_4= ',' ( (lv_elements_5_0= ruleXAnnotationOrExpression ) ) )* )? otherlv_6= ']' ) | this_XAnnotationOrExpression_7= ruleXAnnotationOrExpression )";
+            return "8947:2: ( ( ( ( ( () '#' '[' ) )=> ( () otherlv_1= '#' otherlv_2= '[' ) ) ( ( (lv_elements_3_0= ruleXAnnotationOrExpression ) ) (otherlv_4= ',' ( (lv_elements_5_0= ruleXAnnotationOrExpression ) ) )* )? otherlv_6= ']' ) | this_XAnnotationOrExpression_7= ruleXAnnotationOrExpression )";
         }
         public int specialStateTransition(int s, IntStream _input) throws NoViableAltException {
             TokenStream input = (TokenStream)_input;
         	int _s = s;
             switch ( s ) {
                     case 0 : 
-                        int LA124_1 = input.LA(1);
+                        int LA112_1 = input.LA(1);
 
                          
-                        int index124_1 = input.index();
+                        int index112_1 = input.index();
                         input.rewind();
                         s = -1;
                         if ( (synpred6_InternalReportDSL()) ) {s = 34;}
@@ -46517,13 +47568,13 @@
                         else if ( (true) ) {s = 2;}
 
                          
-                        input.seek(index124_1);
+                        input.seek(index112_1);
                         if ( s>=0 ) return s;
                         break;
             }
             if (state.backtracking>0) {state.failed=true; return -1;}
             NoViableAltException nvae =
-                new NoViableAltException(getDescription(), 124, _s, input);
+                new NoViableAltException(getDescription(), 112, _s, input);
             error(nvae);
             throw nvae;
         }
@@ -46531,11 +47582,11 @@
     static final String dfa_27s = "\12\uffff";
     static final String dfa_28s = "\1\10\11\uffff";
     static final String dfa_29s = "\1\4\7\0\2\uffff";
-    static final String dfa_30s = "\1\u00c1\7\0\2\uffff";
+    static final String dfa_30s = "\1\u00c0\7\0\2\uffff";
     static final String dfa_31s = "\10\uffff\1\2\1\1";
-    static final String dfa_32s = "\1\uffff\1\2\1\3\1\4\1\5\1\6\1\1\1\0\2\uffff}>";
+    static final String dfa_32s = "\1\uffff\1\0\1\1\1\2\1\3\1\4\1\6\1\5\2\uffff}>";
     static final String[] dfa_33s = {
-            "\5\10\5\uffff\1\10\3\uffff\1\10\24\uffff\1\10\54\uffff\1\10\22\uffff\2\10\13\uffff\1\10\12\uffff\4\10\1\uffff\1\10\1\uffff\1\10\1\uffff\3\10\1\1\1\2\1\3\1\4\1\5\1\6\1\7\30\10\1\uffff\27\10",
+            "\5\10\5\uffff\1\10\3\uffff\1\10\24\uffff\1\10\55\uffff\1\10\20\uffff\2\10\13\uffff\1\10\12\uffff\4\10\1\uffff\1\10\1\uffff\1\10\1\uffff\3\10\1\1\1\2\1\3\1\4\1\5\1\6\1\7\30\10\1\uffff\27\10",
             "\1\uffff",
             "\1\uffff",
             "\1\uffff",
@@ -46555,11 +47606,11 @@
     static final short[] dfa_32 = DFA.unpackEncodedString(dfa_32s);
     static final short[][] dfa_33 = unpackEncodedStringArray(dfa_33s);
 
-    class DFA126 extends DFA {
+    class DFA114 extends DFA {
 
-        public DFA126(BaseRecognizer recognizer) {
+        public DFA114(BaseRecognizer recognizer) {
             this.recognizer = recognizer;
-            this.decisionNumber = 126;
+            this.decisionNumber = 114;
             this.eot = dfa_27;
             this.eof = dfa_28;
             this.min = dfa_29;
@@ -46569,17 +47620,17 @@
             this.transition = dfa_33;
         }
         public String getDescription() {
-            return "8867:4: ( ( ( ( () ( ( ruleOpMultiAssign ) ) ) )=> ( () ( ( ruleOpMultiAssign ) ) ) ) ( (lv_rightOperand_7_0= ruleXAssignment ) ) )?";
+            return "9176:4: ( ( ( ( () ( ( ruleOpMultiAssign ) ) ) )=> ( () ( ( ruleOpMultiAssign ) ) ) ) ( (lv_rightOperand_7_0= ruleXAssignment ) ) )?";
         }
         public int specialStateTransition(int s, IntStream _input) throws NoViableAltException {
             TokenStream input = (TokenStream)_input;
         	int _s = s;
             switch ( s ) {
                     case 0 : 
-                        int LA126_7 = input.LA(1);
+                        int LA114_1 = input.LA(1);
 
                          
-                        int index126_7 = input.index();
+                        int index114_1 = input.index();
                         input.rewind();
                         s = -1;
                         if ( (synpred7_InternalReportDSL()) ) {s = 9;}
@@ -46587,14 +47638,14 @@
                         else if ( (true) ) {s = 8;}
 
                          
-                        input.seek(index126_7);
+                        input.seek(index114_1);
                         if ( s>=0 ) return s;
                         break;
                     case 1 : 
-                        int LA126_6 = input.LA(1);
+                        int LA114_2 = input.LA(1);
 
                          
-                        int index126_6 = input.index();
+                        int index114_2 = input.index();
                         input.rewind();
                         s = -1;
                         if ( (synpred7_InternalReportDSL()) ) {s = 9;}
@@ -46602,14 +47653,14 @@
                         else if ( (true) ) {s = 8;}
 
                          
-                        input.seek(index126_6);
+                        input.seek(index114_2);
                         if ( s>=0 ) return s;
                         break;
                     case 2 : 
-                        int LA126_1 = input.LA(1);
+                        int LA114_3 = input.LA(1);
 
                          
-                        int index126_1 = input.index();
+                        int index114_3 = input.index();
                         input.rewind();
                         s = -1;
                         if ( (synpred7_InternalReportDSL()) ) {s = 9;}
@@ -46617,14 +47668,14 @@
                         else if ( (true) ) {s = 8;}
 
                          
-                        input.seek(index126_1);
+                        input.seek(index114_3);
                         if ( s>=0 ) return s;
                         break;
                     case 3 : 
-                        int LA126_2 = input.LA(1);
+                        int LA114_4 = input.LA(1);
 
                          
-                        int index126_2 = input.index();
+                        int index114_4 = input.index();
                         input.rewind();
                         s = -1;
                         if ( (synpred7_InternalReportDSL()) ) {s = 9;}
@@ -46632,14 +47683,14 @@
                         else if ( (true) ) {s = 8;}
 
                          
-                        input.seek(index126_2);
+                        input.seek(index114_4);
                         if ( s>=0 ) return s;
                         break;
                     case 4 : 
-                        int LA126_3 = input.LA(1);
+                        int LA114_5 = input.LA(1);
 
                          
-                        int index126_3 = input.index();
+                        int index114_5 = input.index();
                         input.rewind();
                         s = -1;
                         if ( (synpred7_InternalReportDSL()) ) {s = 9;}
@@ -46647,14 +47698,14 @@
                         else if ( (true) ) {s = 8;}
 
                          
-                        input.seek(index126_3);
+                        input.seek(index114_5);
                         if ( s>=0 ) return s;
                         break;
                     case 5 : 
-                        int LA126_4 = input.LA(1);
+                        int LA114_7 = input.LA(1);
 
                          
-                        int index126_4 = input.index();
+                        int index114_7 = input.index();
                         input.rewind();
                         s = -1;
                         if ( (synpred7_InternalReportDSL()) ) {s = 9;}
@@ -46662,14 +47713,14 @@
                         else if ( (true) ) {s = 8;}
 
                          
-                        input.seek(index126_4);
+                        input.seek(index114_7);
                         if ( s>=0 ) return s;
                         break;
                     case 6 : 
-                        int LA126_5 = input.LA(1);
+                        int LA114_6 = input.LA(1);
 
                          
-                        int index126_5 = input.index();
+                        int index114_6 = input.index();
                         input.rewind();
                         s = -1;
                         if ( (synpred7_InternalReportDSL()) ) {s = 9;}
@@ -46677,13 +47728,13 @@
                         else if ( (true) ) {s = 8;}
 
                          
-                        input.seek(index126_5);
+                        input.seek(index114_6);
                         if ( s>=0 ) return s;
                         break;
             }
             if (state.backtracking>0) {state.failed=true; return -1;}
             NoViableAltException nvae =
-                new NoViableAltException(getDescription(), 126, _s, input);
+                new NoViableAltException(getDescription(), 114, _s, input);
             error(nvae);
             throw nvae;
         }
@@ -46691,11 +47742,11 @@
     static final String dfa_34s = "\13\uffff";
     static final String dfa_35s = "\1\1\12\uffff";
     static final String dfa_36s = "\1\4\1\uffff\10\0\1\uffff";
-    static final String dfa_37s = "\1\u00c1\1\uffff\10\0\1\uffff";
+    static final String dfa_37s = "\1\u00c0\1\uffff\10\0\1\uffff";
     static final String dfa_38s = "\1\uffff\1\2\10\uffff\1\1";
-    static final String dfa_39s = "\2\uffff\1\4\1\2\1\5\1\6\1\7\1\3\1\0\1\1\1\uffff}>";
+    static final String dfa_39s = "\2\uffff\1\3\1\6\1\4\1\5\1\7\1\2\1\0\1\1\1\uffff}>";
     static final String[] dfa_40s = {
-            "\5\1\5\uffff\1\1\3\uffff\1\1\24\uffff\1\1\54\uffff\1\1\22\uffff\2\1\13\uffff\1\1\12\uffff\4\1\1\uffff\1\1\1\uffff\1\1\1\uffff\10\1\1\2\1\3\10\1\1\4\1\5\1\6\1\7\1\10\1\11\12\1\1\uffff\27\1",
+            "\5\1\5\uffff\1\1\3\uffff\1\1\24\uffff\1\1\55\uffff\1\1\20\uffff\2\1\13\uffff\1\1\12\uffff\4\1\1\uffff\1\1\1\uffff\1\1\1\uffff\10\1\1\2\1\3\10\1\1\4\1\5\1\6\1\7\1\10\1\11\12\1\1\uffff\27\1",
             "",
             "\1\uffff",
             "\1\uffff",
@@ -46716,11 +47767,11 @@
     static final short[] dfa_39 = DFA.unpackEncodedString(dfa_39s);
     static final short[][] dfa_40 = unpackEncodedStringArray(dfa_40s);
 
-    class DFA136 extends DFA {
+    class DFA124 extends DFA {
 
-        public DFA136(BaseRecognizer recognizer) {
+        public DFA124(BaseRecognizer recognizer) {
             this.recognizer = recognizer;
-            this.decisionNumber = 136;
+            this.decisionNumber = 124;
             this.eot = dfa_34;
             this.eof = dfa_35;
             this.min = dfa_36;
@@ -46730,17 +47781,17 @@
             this.transition = dfa_40;
         }
         public String getDescription() {
-            return "()* loopback of 9581:3: ( ( ( ( () ( ( ruleOpOther ) ) ) )=> ( () ( ( ruleOpOther ) ) ) ) ( (lv_rightOperand_3_0= ruleXAdditiveExpression ) ) )*";
+            return "()* loopback of 9890:3: ( ( ( ( () ( ( ruleOpOther ) ) ) )=> ( () ( ( ruleOpOther ) ) ) ) ( (lv_rightOperand_3_0= ruleXAdditiveExpression ) ) )*";
         }
         public int specialStateTransition(int s, IntStream _input) throws NoViableAltException {
             TokenStream input = (TokenStream)_input;
         	int _s = s;
             switch ( s ) {
                     case 0 : 
-                        int LA136_8 = input.LA(1);
+                        int LA124_8 = input.LA(1);
 
                          
-                        int index136_8 = input.index();
+                        int index124_8 = input.index();
                         input.rewind();
                         s = -1;
                         if ( (synpred13_InternalReportDSL()) ) {s = 10;}
@@ -46748,14 +47799,14 @@
                         else if ( (true) ) {s = 1;}
 
                          
-                        input.seek(index136_8);
+                        input.seek(index124_8);
                         if ( s>=0 ) return s;
                         break;
                     case 1 : 
-                        int LA136_9 = input.LA(1);
+                        int LA124_9 = input.LA(1);
 
                          
-                        int index136_9 = input.index();
+                        int index124_9 = input.index();
                         input.rewind();
                         s = -1;
                         if ( (synpred13_InternalReportDSL()) ) {s = 10;}
@@ -46763,14 +47814,14 @@
                         else if ( (true) ) {s = 1;}
 
                          
-                        input.seek(index136_9);
+                        input.seek(index124_9);
                         if ( s>=0 ) return s;
                         break;
                     case 2 : 
-                        int LA136_3 = input.LA(1);
+                        int LA124_7 = input.LA(1);
 
                          
-                        int index136_3 = input.index();
+                        int index124_7 = input.index();
                         input.rewind();
                         s = -1;
                         if ( (synpred13_InternalReportDSL()) ) {s = 10;}
@@ -46778,14 +47829,14 @@
                         else if ( (true) ) {s = 1;}
 
                          
-                        input.seek(index136_3);
+                        input.seek(index124_7);
                         if ( s>=0 ) return s;
                         break;
                     case 3 : 
-                        int LA136_7 = input.LA(1);
+                        int LA124_2 = input.LA(1);
 
                          
-                        int index136_7 = input.index();
+                        int index124_2 = input.index();
                         input.rewind();
                         s = -1;
                         if ( (synpred13_InternalReportDSL()) ) {s = 10;}
@@ -46793,14 +47844,14 @@
                         else if ( (true) ) {s = 1;}
 
                          
-                        input.seek(index136_7);
+                        input.seek(index124_2);
                         if ( s>=0 ) return s;
                         break;
                     case 4 : 
-                        int LA136_2 = input.LA(1);
+                        int LA124_4 = input.LA(1);
 
                          
-                        int index136_2 = input.index();
+                        int index124_4 = input.index();
                         input.rewind();
                         s = -1;
                         if ( (synpred13_InternalReportDSL()) ) {s = 10;}
@@ -46808,14 +47859,14 @@
                         else if ( (true) ) {s = 1;}
 
                          
-                        input.seek(index136_2);
+                        input.seek(index124_4);
                         if ( s>=0 ) return s;
                         break;
                     case 5 : 
-                        int LA136_4 = input.LA(1);
+                        int LA124_5 = input.LA(1);
 
                          
-                        int index136_4 = input.index();
+                        int index124_5 = input.index();
                         input.rewind();
                         s = -1;
                         if ( (synpred13_InternalReportDSL()) ) {s = 10;}
@@ -46823,14 +47874,14 @@
                         else if ( (true) ) {s = 1;}
 
                          
-                        input.seek(index136_4);
+                        input.seek(index124_5);
                         if ( s>=0 ) return s;
                         break;
                     case 6 : 
-                        int LA136_5 = input.LA(1);
+                        int LA124_3 = input.LA(1);
 
                          
-                        int index136_5 = input.index();
+                        int index124_3 = input.index();
                         input.rewind();
                         s = -1;
                         if ( (synpred13_InternalReportDSL()) ) {s = 10;}
@@ -46838,14 +47889,14 @@
                         else if ( (true) ) {s = 1;}
 
                          
-                        input.seek(index136_5);
+                        input.seek(index124_3);
                         if ( s>=0 ) return s;
                         break;
                     case 7 : 
-                        int LA136_6 = input.LA(1);
+                        int LA124_6 = input.LA(1);
 
                          
-                        int index136_6 = input.index();
+                        int index124_6 = input.index();
                         input.rewind();
                         s = -1;
                         if ( (synpred13_InternalReportDSL()) ) {s = 10;}
@@ -46853,26 +47904,26 @@
                         else if ( (true) ) {s = 1;}
 
                          
-                        input.seek(index136_6);
+                        input.seek(index124_6);
                         if ( s>=0 ) return s;
                         break;
             }
             if (state.backtracking>0) {state.failed=true; return -1;}
             NoViableAltException nvae =
-                new NoViableAltException(getDescription(), 136, _s, input);
+                new NoViableAltException(getDescription(), 124, _s, input);
             error(nvae);
             throw nvae;
         }
     }
-    static final String dfa_41s = "\1\u0090\2\uffff\1\u0091\7\uffff";
-    static final String dfa_42s = "\1\u009f\2\uffff\1\u009c\7\uffff";
-    static final String dfa_43s = "\1\uffff\1\1\1\2\1\uffff\1\4\1\5\1\7\1\10\1\11\1\3\1\6";
+    static final String dfa_41s = "\1\u008f\2\uffff\1\u0090\7\uffff";
+    static final String dfa_42s = "\1\u009e\2\uffff\1\u009b\7\uffff";
+    static final String dfa_43s = "\1\uffff\1\1\1\2\1\uffff\1\4\1\5\1\7\1\10\1\11\1\6\1\3";
     static final String dfa_44s = "\13\uffff}>";
     static final String[] dfa_45s = {
             "\1\6\1\3\10\uffff\1\1\1\2\1\4\1\5\1\7\1\10",
             "",
             "",
-            "\1\12\12\uffff\1\11",
+            "\1\11\12\uffff\1\12",
             "",
             "",
             "",
@@ -46887,11 +47938,11 @@
     static final short[] dfa_44 = DFA.unpackEncodedString(dfa_44s);
     static final short[][] dfa_45 = unpackEncodedStringArray(dfa_45s);
 
-    class DFA139 extends DFA {
+    class DFA127 extends DFA {
 
-        public DFA139(BaseRecognizer recognizer) {
+        public DFA127(BaseRecognizer recognizer) {
             this.recognizer = recognizer;
-            this.decisionNumber = 139;
+            this.decisionNumber = 127;
             this.eot = dfa_34;
             this.eof = dfa_34;
             this.min = dfa_41;
@@ -46901,17 +47952,17 @@
             this.transition = dfa_45;
         }
         public String getDescription() {
-            return "9657:2: (kw= '->' | kw= '..<' | (kw= '>' kw= '..' ) | kw= '..' | kw= '=>' | (kw= '>' ( ( ( ( '>' '>' ) )=> (kw= '>' kw= '>' ) ) | kw= '>' ) ) | (kw= '<' ( ( ( ( '<' '<' ) )=> (kw= '<' kw= '<' ) ) | kw= '<' | kw= '=>' ) ) | kw= '<>' | kw= '?:' )";
+            return "9966:2: (kw= '->' | kw= '..<' | (kw= '>' kw= '..' ) | kw= '..' | kw= '=>' | (kw= '>' ( ( ( ( '>' '>' ) )=> (kw= '>' kw= '>' ) ) | kw= '>' ) ) | (kw= '<' ( ( ( ( '<' '<' ) )=> (kw= '<' kw= '<' ) ) | kw= '<' | kw= '=>' ) ) | kw= '<>' | kw= '?:' )";
         }
     }
     static final String dfa_46s = "\116\uffff";
     static final String dfa_47s = "\1\2\115\uffff";
     static final String dfa_48s = "\1\4\1\0\114\uffff";
-    static final String dfa_49s = "\1\u00c1\1\0\114\uffff";
+    static final String dfa_49s = "\1\u00c0\1\0\114\uffff";
     static final String dfa_50s = "\2\uffff\1\2\112\uffff\1\1";
     static final String dfa_51s = "\1\uffff\1\0\114\uffff}>";
     static final String[] dfa_52s = {
-            "\5\2\5\uffff\1\2\3\uffff\1\2\24\uffff\1\2\54\uffff\1\2\22\uffff\1\1\1\2\13\uffff\1\2\12\uffff\4\2\1\uffff\1\2\1\uffff\1\2\1\uffff\42\2\1\uffff\27\2",
+            "\5\2\5\uffff\1\2\3\uffff\1\2\24\uffff\1\2\55\uffff\1\2\20\uffff\1\1\1\2\13\uffff\1\2\12\uffff\4\2\1\uffff\1\2\1\uffff\1\2\1\uffff\42\2\1\uffff\27\2",
             "\1\uffff",
             "",
             "",
@@ -46999,11 +48050,11 @@
     static final short[] dfa_51 = DFA.unpackEncodedString(dfa_51s);
     static final short[][] dfa_52 = unpackEncodedStringArray(dfa_52s);
 
-    class DFA155 extends DFA {
+    class DFA143 extends DFA {
 
-        public DFA155(BaseRecognizer recognizer) {
+        public DFA143(BaseRecognizer recognizer) {
             this.recognizer = recognizer;
-            this.decisionNumber = 155;
+            this.decisionNumber = 143;
             this.eot = dfa_46;
             this.eof = dfa_47;
             this.min = dfa_48;
@@ -47013,17 +48064,17 @@
             this.transition = dfa_52;
         }
         public String getDescription() {
-            return "10558:5: ( ( ( ( '(' ) )=> (lv_explicitOperationCall_17_0= '(' ) ) ( ( ( ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> (lv_memberCallArguments_18_0= ruleXShortClosure ) ) | ( ( (lv_memberCallArguments_19_0= ruleXExpression ) ) (otherlv_20= ',' ( (lv_memberCallArguments_21_0= ruleXExpression ) ) )* ) )? otherlv_22= ')' )?";
+            return "10867:5: ( ( ( ( '(' ) )=> (lv_explicitOperationCall_17_0= '(' ) ) ( ( ( ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> (lv_memberCallArguments_18_0= ruleXShortClosure ) ) | ( ( (lv_memberCallArguments_19_0= ruleXExpression ) ) (otherlv_20= ',' ( (lv_memberCallArguments_21_0= ruleXExpression ) ) )* ) )? otherlv_22= ')' )?";
         }
         public int specialStateTransition(int s, IntStream _input) throws NoViableAltException {
             TokenStream input = (TokenStream)_input;
         	int _s = s;
             switch ( s ) {
                     case 0 : 
-                        int LA155_1 = input.LA(1);
+                        int LA143_1 = input.LA(1);
 
                          
-                        int index155_1 = input.index();
+                        int index143_1 = input.index();
                         input.rewind();
                         s = -1;
                         if ( (synpred22_InternalReportDSL()) ) {s = 77;}
@@ -47031,23 +48082,23 @@
                         else if ( (true) ) {s = 2;}
 
                          
-                        input.seek(index155_1);
+                        input.seek(index143_1);
                         if ( s>=0 ) return s;
                         break;
             }
             if (state.backtracking>0) {state.failed=true; return -1;}
             NoViableAltException nvae =
-                new NoViableAltException(getDescription(), 155, _s, input);
+                new NoViableAltException(getDescription(), 143, _s, input);
             error(nvae);
             throw nvae;
         }
     }
     static final String dfa_53s = "\1\4\2\0\41\uffff";
-    static final String dfa_54s = "\1\u00c0\2\0\41\uffff";
+    static final String dfa_54s = "\1\u00bf\2\0\41\uffff";
     static final String dfa_55s = "\3\uffff\2\1\1\2\35\uffff\1\3";
     static final String dfa_56s = "\1\0\1\1\1\2\41\uffff}>";
     static final String[] dfa_57s = {
-            "\1\5\1\1\3\5\5\uffff\1\5\30\uffff\1\5\77\uffff\1\2\1\43\13\uffff\1\5\12\uffff\3\5\6\uffff\2\5\6\uffff\1\5\14\uffff\1\3\2\uffff\1\5\3\uffff\1\5\5\uffff\1\4\1\5\1\uffff\1\5\3\uffff\3\5\2\uffff\11\5\1\uffff\1\5",
+            "\1\5\1\1\3\5\5\uffff\1\5\30\uffff\1\5\76\uffff\1\2\1\43\13\uffff\1\5\12\uffff\3\5\6\uffff\2\5\6\uffff\1\5\14\uffff\1\3\2\uffff\1\5\3\uffff\1\5\5\uffff\1\4\1\5\1\uffff\1\5\3\uffff\3\5\2\uffff\11\5\1\uffff\1\5",
             "\1\uffff",
             "\1\uffff",
             "",
@@ -47090,11 +48141,11 @@
     static final short[] dfa_56 = DFA.unpackEncodedString(dfa_56s);
     static final short[][] dfa_57 = unpackEncodedStringArray(dfa_57s);
 
-    class DFA154 extends DFA {
+    class DFA142 extends DFA {
 
-        public DFA154(BaseRecognizer recognizer) {
+        public DFA142(BaseRecognizer recognizer) {
             this.recognizer = recognizer;
-            this.decisionNumber = 154;
+            this.decisionNumber = 142;
             this.eot = dfa_15;
             this.eof = dfa_15;
             this.min = dfa_53;
@@ -47104,40 +48155,40 @@
             this.transition = dfa_57;
         }
         public String getDescription() {
-            return "10577:6: ( ( ( ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> (lv_memberCallArguments_18_0= ruleXShortClosure ) ) | ( ( (lv_memberCallArguments_19_0= ruleXExpression ) ) (otherlv_20= ',' ( (lv_memberCallArguments_21_0= ruleXExpression ) ) )* ) )?";
+            return "10886:6: ( ( ( ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> (lv_memberCallArguments_18_0= ruleXShortClosure ) ) | ( ( (lv_memberCallArguments_19_0= ruleXExpression ) ) (otherlv_20= ',' ( (lv_memberCallArguments_21_0= ruleXExpression ) ) )* ) )?";
         }
         public int specialStateTransition(int s, IntStream _input) throws NoViableAltException {
             TokenStream input = (TokenStream)_input;
         	int _s = s;
             switch ( s ) {
                     case 0 : 
-                        int LA154_0 = input.LA(1);
+                        int LA142_0 = input.LA(1);
 
                          
-                        int index154_0 = input.index();
+                        int index142_0 = input.index();
                         input.rewind();
                         s = -1;
-                        if ( (LA154_0==RULE_ID) ) {s = 1;}
+                        if ( (LA142_0==RULE_ID) ) {s = 1;}
 
-                        else if ( (LA154_0==103) ) {s = 2;}
+                        else if ( (LA142_0==102) ) {s = 2;}
 
-                        else if ( (LA154_0==157) && (synpred23_InternalReportDSL())) {s = 3;}
+                        else if ( (LA142_0==156) && (synpred23_InternalReportDSL())) {s = 3;}
 
-                        else if ( (LA154_0==170) && (synpred23_InternalReportDSL())) {s = 4;}
+                        else if ( (LA142_0==169) && (synpred23_InternalReportDSL())) {s = 4;}
 
-                        else if ( (LA154_0==RULE_STRING||(LA154_0>=RULE_INT && LA154_0<=RULE_DECIMAL)||LA154_0==14||LA154_0==39||LA154_0==116||(LA154_0>=127 && LA154_0<=129)||(LA154_0>=136 && LA154_0<=137)||LA154_0==144||LA154_0==160||LA154_0==164||LA154_0==171||LA154_0==173||(LA154_0>=177 && LA154_0<=179)||(LA154_0>=182 && LA154_0<=190)||LA154_0==192) ) {s = 5;}
+                        else if ( (LA142_0==RULE_STRING||(LA142_0>=RULE_INT && LA142_0<=RULE_DECIMAL)||LA142_0==14||LA142_0==39||LA142_0==115||(LA142_0>=126 && LA142_0<=128)||(LA142_0>=135 && LA142_0<=136)||LA142_0==143||LA142_0==159||LA142_0==163||LA142_0==170||LA142_0==172||(LA142_0>=176 && LA142_0<=178)||(LA142_0>=181 && LA142_0<=189)||LA142_0==191) ) {s = 5;}
 
-                        else if ( (LA154_0==104) ) {s = 35;}
+                        else if ( (LA142_0==103) ) {s = 35;}
 
                          
-                        input.seek(index154_0);
+                        input.seek(index142_0);
                         if ( s>=0 ) return s;
                         break;
                     case 1 : 
-                        int LA154_1 = input.LA(1);
+                        int LA142_1 = input.LA(1);
 
                          
-                        int index154_1 = input.index();
+                        int index142_1 = input.index();
                         input.rewind();
                         s = -1;
                         if ( (synpred23_InternalReportDSL()) ) {s = 4;}
@@ -47145,14 +48196,14 @@
                         else if ( (true) ) {s = 5;}
 
                          
-                        input.seek(index154_1);
+                        input.seek(index142_1);
                         if ( s>=0 ) return s;
                         break;
                     case 2 : 
-                        int LA154_2 = input.LA(1);
+                        int LA142_2 = input.LA(1);
 
                          
-                        int index154_2 = input.index();
+                        int index142_2 = input.index();
                         input.rewind();
                         s = -1;
                         if ( (synpred23_InternalReportDSL()) ) {s = 4;}
@@ -47160,19 +48211,19 @@
                         else if ( (true) ) {s = 5;}
 
                          
-                        input.seek(index154_2);
+                        input.seek(index142_2);
                         if ( s>=0 ) return s;
                         break;
             }
             if (state.backtracking>0) {state.failed=true; return -1;}
             NoViableAltException nvae =
-                new NoViableAltException(getDescription(), 154, _s, input);
+                new NoViableAltException(getDescription(), 142, _s, input);
             error(nvae);
             throw nvae;
         }
     }
     static final String[] dfa_58s = {
-            "\5\2\5\uffff\1\2\3\uffff\1\2\24\uffff\1\2\54\uffff\1\2\22\uffff\2\2\13\uffff\1\2\12\uffff\4\2\1\uffff\1\2\1\uffff\1\2\1\uffff\1\2\1\1\40\2\1\uffff\27\2",
+            "\5\2\5\uffff\1\2\3\uffff\1\2\24\uffff\1\2\55\uffff\1\2\20\uffff\2\2\13\uffff\1\2\12\uffff\4\2\1\uffff\1\2\1\uffff\1\2\1\uffff\1\2\1\1\40\2\1\uffff\27\2",
             "\1\uffff",
             "",
             "",
@@ -47253,11 +48304,11 @@
     };
     static final short[][] dfa_58 = unpackEncodedStringArray(dfa_58s);
 
-    class DFA156 extends DFA {
+    class DFA144 extends DFA {
 
-        public DFA156(BaseRecognizer recognizer) {
+        public DFA144(BaseRecognizer recognizer) {
             this.recognizer = recognizer;
-            this.decisionNumber = 156;
+            this.decisionNumber = 144;
             this.eot = dfa_46;
             this.eof = dfa_47;
             this.min = dfa_48;
@@ -47267,17 +48318,17 @@
             this.transition = dfa_58;
         }
         public String getDescription() {
-            return "10675:5: ( ( ( () '[' ) )=> (lv_memberCallArguments_23_0= ruleXClosure ) )?";
+            return "10984:5: ( ( ( () '[' ) )=> (lv_memberCallArguments_23_0= ruleXClosure ) )?";
         }
         public int specialStateTransition(int s, IntStream _input) throws NoViableAltException {
             TokenStream input = (TokenStream)_input;
         	int _s = s;
             switch ( s ) {
                     case 0 : 
-                        int LA156_1 = input.LA(1);
+                        int LA144_1 = input.LA(1);
 
                          
-                        int index156_1 = input.index();
+                        int index144_1 = input.index();
                         input.rewind();
                         s = -1;
                         if ( (synpred24_InternalReportDSL()) ) {s = 77;}
@@ -47285,24 +48336,24 @@
                         else if ( (true) ) {s = 2;}
 
                          
-                        input.seek(index156_1);
+                        input.seek(index144_1);
                         if ( s>=0 ) return s;
                         break;
             }
             if (state.backtracking>0) {state.failed=true; return -1;}
             NoViableAltException nvae =
-                new NoViableAltException(getDescription(), 156, _s, input);
+                new NoViableAltException(getDescription(), 144, _s, input);
             error(nvae);
             throw nvae;
         }
     }
     static final String dfa_59s = "\40\uffff";
     static final String dfa_60s = "\1\4\26\uffff\1\0\10\uffff";
-    static final String dfa_61s = "\1\u00c0\26\uffff\1\0\10\uffff";
+    static final String dfa_61s = "\1\u00bf\26\uffff\1\0\10\uffff";
     static final String dfa_62s = "\1\uffff\1\1\1\2\1\3\1\4\1\5\6\uffff\1\6\11\uffff\1\7\1\uffff\1\12\1\13\1\14\1\15\1\16\1\17\1\10\1\11";
     static final String dfa_63s = "\1\0\26\uffff\1\1\10\uffff}>";
     static final String[] dfa_64s = {
-            "\1\14\1\5\3\14\5\uffff\1\2\30\uffff\1\5\77\uffff\1\35\27\uffff\3\5\6\uffff\2\14\6\uffff\1\5\32\uffff\1\26\1\uffff\1\3\3\uffff\1\27\1\30\1\31\2\uffff\1\5\1\1\4\14\1\32\1\33\1\34\1\uffff\1\4",
+            "\1\14\1\5\3\14\5\uffff\1\2\30\uffff\1\5\76\uffff\1\35\27\uffff\3\5\6\uffff\2\14\6\uffff\1\5\32\uffff\1\26\1\uffff\1\3\3\uffff\1\27\1\30\1\31\2\uffff\1\5\1\1\4\14\1\32\1\33\1\34\1\uffff\1\4",
             "",
             "",
             "",
@@ -47343,11 +48394,11 @@
     static final short[] dfa_63 = DFA.unpackEncodedString(dfa_63s);
     static final short[][] dfa_64 = unpackEncodedStringArray(dfa_64s);
 
-    class DFA158 extends DFA {
+    class DFA146 extends DFA {
 
-        public DFA158(BaseRecognizer recognizer) {
+        public DFA146(BaseRecognizer recognizer) {
             this.recognizer = recognizer;
-            this.decisionNumber = 158;
+            this.decisionNumber = 146;
             this.eot = dfa_59;
             this.eof = dfa_59;
             this.min = dfa_60;
@@ -47357,56 +48408,56 @@
             this.transition = dfa_64;
         }
         public String getDescription() {
-            return "10720:2: (this_XConstructorCall_0= ruleXConstructorCall | this_XBlockExpression_1= ruleXBlockExpression | this_XSwitchExpression_2= ruleXSwitchExpression | ( ( ( () 'synchronized' '(' ) )=>this_XSynchronizedExpression_3= ruleXSynchronizedExpression ) | this_XFeatureCall_4= ruleXFeatureCall | this_XLiteral_5= ruleXLiteral | this_XIfExpression_6= ruleXIfExpression | ( ( ( () 'for' '(' ( ( ruleJvmFormalParameter ) ) ':' ) )=>this_XForLoopExpression_7= ruleXForLoopExpression ) | this_XBasicForLoopExpression_8= ruleXBasicForLoopExpression | this_XWhileExpression_9= ruleXWhileExpression | this_XDoWhileExpression_10= ruleXDoWhileExpression | this_XThrowExpression_11= ruleXThrowExpression | this_XReturnExpression_12= ruleXReturnExpression | this_XTryCatchFinallyExpression_13= ruleXTryCatchFinallyExpression | this_XParenthesizedExpression_14= ruleXParenthesizedExpression )";
+            return "11029:2: (this_XConstructorCall_0= ruleXConstructorCall | this_XBlockExpression_1= ruleXBlockExpression | this_XSwitchExpression_2= ruleXSwitchExpression | ( ( ( () 'synchronized' '(' ) )=>this_XSynchronizedExpression_3= ruleXSynchronizedExpression ) | this_XFeatureCall_4= ruleXFeatureCall | this_XLiteral_5= ruleXLiteral | this_XIfExpression_6= ruleXIfExpression | ( ( ( () 'for' '(' ( ( ruleJvmFormalParameter ) ) ':' ) )=>this_XForLoopExpression_7= ruleXForLoopExpression ) | this_XBasicForLoopExpression_8= ruleXBasicForLoopExpression | this_XWhileExpression_9= ruleXWhileExpression | this_XDoWhileExpression_10= ruleXDoWhileExpression | this_XThrowExpression_11= ruleXThrowExpression | this_XReturnExpression_12= ruleXReturnExpression | this_XTryCatchFinallyExpression_13= ruleXTryCatchFinallyExpression | this_XParenthesizedExpression_14= ruleXParenthesizedExpression )";
         }
         public int specialStateTransition(int s, IntStream _input) throws NoViableAltException {
             TokenStream input = (TokenStream)_input;
         	int _s = s;
             switch ( s ) {
                     case 0 : 
-                        int LA158_0 = input.LA(1);
+                        int LA146_0 = input.LA(1);
 
                          
-                        int index158_0 = input.index();
+                        int index146_0 = input.index();
                         input.rewind();
                         s = -1;
-                        if ( (LA158_0==183) ) {s = 1;}
+                        if ( (LA146_0==182) ) {s = 1;}
 
-                        else if ( (LA158_0==14) ) {s = 2;}
+                        else if ( (LA146_0==14) ) {s = 2;}
 
-                        else if ( (LA158_0==173) ) {s = 3;}
+                        else if ( (LA146_0==172) ) {s = 3;}
 
-                        else if ( (LA158_0==192) && (synpred25_InternalReportDSL())) {s = 4;}
+                        else if ( (LA146_0==191) && (synpred25_InternalReportDSL())) {s = 4;}
 
-                        else if ( (LA158_0==RULE_ID||LA158_0==39||(LA158_0>=127 && LA158_0<=129)||LA158_0==144||LA158_0==182) ) {s = 5;}
+                        else if ( (LA146_0==RULE_ID||LA146_0==39||(LA146_0>=126 && LA146_0<=128)||LA146_0==143||LA146_0==181) ) {s = 5;}
 
-                        else if ( (LA158_0==RULE_STRING||(LA158_0>=RULE_INT && LA158_0<=RULE_DECIMAL)||(LA158_0>=136 && LA158_0<=137)||(LA158_0>=184 && LA158_0<=187)) ) {s = 12;}
+                        else if ( (LA146_0==RULE_STRING||(LA146_0>=RULE_INT && LA146_0<=RULE_DECIMAL)||(LA146_0>=135 && LA146_0<=136)||(LA146_0>=183 && LA146_0<=186)) ) {s = 12;}
 
-                        else if ( (LA158_0==171) ) {s = 22;}
+                        else if ( (LA146_0==170) ) {s = 22;}
 
-                        else if ( (LA158_0==177) ) {s = 23;}
+                        else if ( (LA146_0==176) ) {s = 23;}
 
-                        else if ( (LA158_0==178) ) {s = 24;}
+                        else if ( (LA146_0==177) ) {s = 24;}
 
-                        else if ( (LA158_0==179) ) {s = 25;}
+                        else if ( (LA146_0==178) ) {s = 25;}
 
-                        else if ( (LA158_0==188) ) {s = 26;}
+                        else if ( (LA146_0==187) ) {s = 26;}
 
-                        else if ( (LA158_0==189) ) {s = 27;}
+                        else if ( (LA146_0==188) ) {s = 27;}
 
-                        else if ( (LA158_0==190) ) {s = 28;}
+                        else if ( (LA146_0==189) ) {s = 28;}
 
-                        else if ( (LA158_0==103) ) {s = 29;}
+                        else if ( (LA146_0==102) ) {s = 29;}
 
                          
-                        input.seek(index158_0);
+                        input.seek(index146_0);
                         if ( s>=0 ) return s;
                         break;
                     case 1 : 
-                        int LA158_23 = input.LA(1);
+                        int LA146_23 = input.LA(1);
 
                          
-                        int index158_23 = input.index();
+                        int index146_23 = input.index();
                         input.rewind();
                         s = -1;
                         if ( (synpred26_InternalReportDSL()) ) {s = 30;}
@@ -47414,24 +48465,24 @@
                         else if ( (true) ) {s = 31;}
 
                          
-                        input.seek(index158_23);
+                        input.seek(index146_23);
                         if ( s>=0 ) return s;
                         break;
             }
             if (state.backtracking>0) {state.failed=true; return -1;}
             NoViableAltException nvae =
-                new NoViableAltException(getDescription(), 158, _s, input);
+                new NoViableAltException(getDescription(), 146, _s, input);
             error(nvae);
             throw nvae;
         }
     }
     static final String dfa_65s = "\46\uffff";
     static final String dfa_66s = "\1\4\2\0\43\uffff";
-    static final String dfa_67s = "\1\u00c0\2\0\43\uffff";
+    static final String dfa_67s = "\1\u00bf\2\0\43\uffff";
     static final String dfa_68s = "\3\uffff\2\1\1\2\40\uffff";
     static final String dfa_69s = "\1\0\1\1\1\2\43\uffff}>";
     static final String[] dfa_70s = {
-            "\1\5\1\1\3\5\5\uffff\1\5\30\uffff\1\5\77\uffff\1\2\14\uffff\1\5\12\uffff\3\5\6\uffff\3\5\5\uffff\1\5\14\uffff\1\3\2\uffff\1\5\3\uffff\1\5\5\uffff\1\4\1\5\1\uffff\1\5\3\uffff\16\5\1\uffff\1\5",
+            "\1\5\1\1\3\5\5\uffff\1\5\30\uffff\1\5\76\uffff\1\2\14\uffff\1\5\12\uffff\3\5\6\uffff\3\5\5\uffff\1\5\14\uffff\1\3\2\uffff\1\5\3\uffff\1\5\5\uffff\1\4\1\5\1\uffff\1\5\3\uffff\16\5\1\uffff\1\5",
             "\1\uffff",
             "\1\uffff",
             "",
@@ -47478,11 +48529,11 @@
     static final short[] dfa_69 = DFA.unpackEncodedString(dfa_69s);
     static final short[][] dfa_70 = unpackEncodedStringArray(dfa_70s);
 
-    class DFA167 extends DFA {
+    class DFA155 extends DFA {
 
-        public DFA167(BaseRecognizer recognizer) {
+        public DFA155(BaseRecognizer recognizer) {
             this.recognizer = recognizer;
-            this.decisionNumber = 167;
+            this.decisionNumber = 155;
             this.eot = dfa_65;
             this.eof = dfa_65;
             this.min = dfa_66;
@@ -47492,38 +48543,38 @@
             this.transition = dfa_70;
         }
         public String getDescription() {
-            return "11212:3: ( ( ( ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> ( ( ( (lv_declaredFormalParameters_2_0= ruleJvmFormalParameter ) ) (otherlv_3= ',' ( (lv_declaredFormalParameters_4_0= ruleJvmFormalParameter ) ) )* )? ( (lv_explicitSyntax_5_0= '|' ) ) ) )?";
+            return "11521:3: ( ( ( ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> ( ( ( (lv_declaredFormalParameters_2_0= ruleJvmFormalParameter ) ) (otherlv_3= ',' ( (lv_declaredFormalParameters_4_0= ruleJvmFormalParameter ) ) )* )? ( (lv_explicitSyntax_5_0= '|' ) ) ) )?";
         }
         public int specialStateTransition(int s, IntStream _input) throws NoViableAltException {
             TokenStream input = (TokenStream)_input;
         	int _s = s;
             switch ( s ) {
                     case 0 : 
-                        int LA167_0 = input.LA(1);
+                        int LA155_0 = input.LA(1);
 
                          
-                        int index167_0 = input.index();
+                        int index155_0 = input.index();
                         input.rewind();
                         s = -1;
-                        if ( (LA167_0==RULE_ID) ) {s = 1;}
+                        if ( (LA155_0==RULE_ID) ) {s = 1;}
 
-                        else if ( (LA167_0==103) ) {s = 2;}
+                        else if ( (LA155_0==102) ) {s = 2;}
 
-                        else if ( (LA167_0==157) && (synpred29_InternalReportDSL())) {s = 3;}
+                        else if ( (LA155_0==156) && (synpred29_InternalReportDSL())) {s = 3;}
 
-                        else if ( (LA167_0==170) && (synpred29_InternalReportDSL())) {s = 4;}
+                        else if ( (LA155_0==169) && (synpred29_InternalReportDSL())) {s = 4;}
 
-                        else if ( (LA167_0==RULE_STRING||(LA167_0>=RULE_INT && LA167_0<=RULE_DECIMAL)||LA167_0==14||LA167_0==39||LA167_0==116||(LA167_0>=127 && LA167_0<=129)||(LA167_0>=136 && LA167_0<=138)||LA167_0==144||LA167_0==160||LA167_0==164||LA167_0==171||LA167_0==173||(LA167_0>=177 && LA167_0<=190)||LA167_0==192) ) {s = 5;}
+                        else if ( (LA155_0==RULE_STRING||(LA155_0>=RULE_INT && LA155_0<=RULE_DECIMAL)||LA155_0==14||LA155_0==39||LA155_0==115||(LA155_0>=126 && LA155_0<=128)||(LA155_0>=135 && LA155_0<=137)||LA155_0==143||LA155_0==159||LA155_0==163||LA155_0==170||LA155_0==172||(LA155_0>=176 && LA155_0<=189)||LA155_0==191) ) {s = 5;}
 
                          
-                        input.seek(index167_0);
+                        input.seek(index155_0);
                         if ( s>=0 ) return s;
                         break;
                     case 1 : 
-                        int LA167_1 = input.LA(1);
+                        int LA155_1 = input.LA(1);
 
                          
-                        int index167_1 = input.index();
+                        int index155_1 = input.index();
                         input.rewind();
                         s = -1;
                         if ( (synpred29_InternalReportDSL()) ) {s = 4;}
@@ -47531,14 +48582,14 @@
                         else if ( (true) ) {s = 5;}
 
                          
-                        input.seek(index167_1);
+                        input.seek(index155_1);
                         if ( s>=0 ) return s;
                         break;
                     case 2 : 
-                        int LA167_2 = input.LA(1);
+                        int LA155_2 = input.LA(1);
 
                          
-                        int index167_2 = input.index();
+                        int index155_2 = input.index();
                         input.rewind();
                         s = -1;
                         if ( (synpred29_InternalReportDSL()) ) {s = 4;}
@@ -47546,19 +48597,19 @@
                         else if ( (true) ) {s = 5;}
 
                          
-                        input.seek(index167_2);
+                        input.seek(index155_2);
                         if ( s>=0 ) return s;
                         break;
             }
             if (state.backtracking>0) {state.failed=true; return -1;}
             NoViableAltException nvae =
-                new NoViableAltException(getDescription(), 167, _s, input);
+                new NoViableAltException(getDescription(), 155, _s, input);
             error(nvae);
             throw nvae;
         }
     }
     static final String[] dfa_71s = {
-            "\5\2\5\uffff\1\2\30\uffff\1\2\77\uffff\1\1\14\uffff\1\2\12\uffff\3\2\6\uffff\2\2\6\uffff\1\2\14\uffff\1\2\2\uffff\1\2\3\uffff\1\2\6\uffff\1\2\1\uffff\1\2\3\uffff\3\2\2\uffff\11\2\1\uffff\1\2",
+            "\5\2\5\uffff\1\2\30\uffff\1\2\76\uffff\1\1\14\uffff\1\2\12\uffff\3\2\6\uffff\2\2\6\uffff\1\2\14\uffff\1\2\2\uffff\1\2\3\uffff\1\2\6\uffff\1\2\1\uffff\1\2\3\uffff\3\2\2\uffff\11\2\1\uffff\1\2",
             "\1\uffff",
             "",
             "",
@@ -47596,11 +48647,11 @@
     };
     static final short[][] dfa_71 = unpackEncodedStringArray(dfa_71s);
 
-    class DFA174 extends DFA {
+    class DFA162 extends DFA {
 
-        public DFA174(BaseRecognizer recognizer) {
+        public DFA162(BaseRecognizer recognizer) {
             this.recognizer = recognizer;
-            this.decisionNumber = 174;
+            this.decisionNumber = 162;
             this.eot = dfa_21;
             this.eof = dfa_21;
             this.min = dfa_22;
@@ -47610,17 +48661,17 @@
             this.transition = dfa_71;
         }
         public String getDescription() {
-            return "11678:3: ( ( ( ( ( '(' ( ( ruleJvmFormalParameter ) ) ':' ) )=> (otherlv_2= '(' ( (lv_declaredParam_3_0= ruleJvmFormalParameter ) ) otherlv_4= ':' ) ) ( (lv_switch_5_0= ruleXExpression ) ) otherlv_6= ')' ) | ( ( ( ( ( ( ruleJvmFormalParameter ) ) ':' ) )=> ( ( (lv_declaredParam_7_0= ruleJvmFormalParameter ) ) otherlv_8= ':' ) )? ( (lv_switch_9_0= ruleXExpression ) ) ) )";
+            return "11987:3: ( ( ( ( ( '(' ( ( ruleJvmFormalParameter ) ) ':' ) )=> (otherlv_2= '(' ( (lv_declaredParam_3_0= ruleJvmFormalParameter ) ) otherlv_4= ':' ) ) ( (lv_switch_5_0= ruleXExpression ) ) otherlv_6= ')' ) | ( ( ( ( ( ( ruleJvmFormalParameter ) ) ':' ) )=> ( ( (lv_declaredParam_7_0= ruleJvmFormalParameter ) ) otherlv_8= ':' ) )? ( (lv_switch_9_0= ruleXExpression ) ) ) )";
         }
         public int specialStateTransition(int s, IntStream _input) throws NoViableAltException {
             TokenStream input = (TokenStream)_input;
         	int _s = s;
             switch ( s ) {
                     case 0 : 
-                        int LA174_1 = input.LA(1);
+                        int LA162_1 = input.LA(1);
 
                          
-                        int index174_1 = input.index();
+                        int index162_1 = input.index();
                         input.rewind();
                         s = -1;
                         if ( (synpred32_InternalReportDSL()) ) {s = 34;}
@@ -47628,24 +48679,24 @@
                         else if ( (true) ) {s = 2;}
 
                          
-                        input.seek(index174_1);
+                        input.seek(index162_1);
                         if ( s>=0 ) return s;
                         break;
             }
             if (state.backtracking>0) {state.failed=true; return -1;}
             NoViableAltException nvae =
-                new NoViableAltException(getDescription(), 174, _s, input);
+                new NoViableAltException(getDescription(), 162, _s, input);
             error(nvae);
             throw nvae;
         }
     }
     static final String dfa_72s = "\42\uffff";
     static final String dfa_73s = "\1\4\2\0\37\uffff";
-    static final String dfa_74s = "\1\u00c0\2\0\37\uffff";
+    static final String dfa_74s = "\1\u00bf\2\0\37\uffff";
     static final String dfa_75s = "\3\uffff\1\1\1\2\35\uffff";
     static final String dfa_76s = "\1\0\1\1\1\2\37\uffff}>";
     static final String[] dfa_77s = {
-            "\1\4\1\1\3\4\5\uffff\1\4\30\uffff\1\4\77\uffff\1\2\14\uffff\1\4\12\uffff\3\4\6\uffff\2\4\6\uffff\1\4\14\uffff\1\3\2\uffff\1\4\3\uffff\1\4\6\uffff\1\4\1\uffff\1\4\3\uffff\3\4\2\uffff\11\4\1\uffff\1\4",
+            "\1\4\1\1\3\4\5\uffff\1\4\30\uffff\1\4\76\uffff\1\2\14\uffff\1\4\12\uffff\3\4\6\uffff\2\4\6\uffff\1\4\14\uffff\1\3\2\uffff\1\4\3\uffff\1\4\6\uffff\1\4\1\uffff\1\4\3\uffff\3\4\2\uffff\11\4\1\uffff\1\4",
             "\1\uffff",
             "\1\uffff",
             "",
@@ -47688,11 +48739,11 @@
     static final short[] dfa_76 = DFA.unpackEncodedString(dfa_76s);
     static final short[][] dfa_77 = unpackEncodedStringArray(dfa_77s);
 
-    class DFA173 extends DFA {
+    class DFA161 extends DFA {
 
-        public DFA173(BaseRecognizer recognizer) {
+        public DFA161(BaseRecognizer recognizer) {
             this.recognizer = recognizer;
-            this.decisionNumber = 173;
+            this.decisionNumber = 161;
             this.eot = dfa_72;
             this.eof = dfa_72;
             this.min = dfa_73;
@@ -47702,36 +48753,36 @@
             this.transition = dfa_77;
         }
         public String getDescription() {
-            return "11747:5: ( ( ( ( ( ruleJvmFormalParameter ) ) ':' ) )=> ( ( (lv_declaredParam_7_0= ruleJvmFormalParameter ) ) otherlv_8= ':' ) )?";
+            return "12056:5: ( ( ( ( ( ruleJvmFormalParameter ) ) ':' ) )=> ( ( (lv_declaredParam_7_0= ruleJvmFormalParameter ) ) otherlv_8= ':' ) )?";
         }
         public int specialStateTransition(int s, IntStream _input) throws NoViableAltException {
             TokenStream input = (TokenStream)_input;
         	int _s = s;
             switch ( s ) {
                     case 0 : 
-                        int LA173_0 = input.LA(1);
+                        int LA161_0 = input.LA(1);
 
                          
-                        int index173_0 = input.index();
+                        int index161_0 = input.index();
                         input.rewind();
                         s = -1;
-                        if ( (LA173_0==RULE_ID) ) {s = 1;}
+                        if ( (LA161_0==RULE_ID) ) {s = 1;}
 
-                        else if ( (LA173_0==103) ) {s = 2;}
+                        else if ( (LA161_0==102) ) {s = 2;}
 
-                        else if ( (LA173_0==157) && (synpred33_InternalReportDSL())) {s = 3;}
+                        else if ( (LA161_0==156) && (synpred33_InternalReportDSL())) {s = 3;}
 
-                        else if ( (LA173_0==RULE_STRING||(LA173_0>=RULE_INT && LA173_0<=RULE_DECIMAL)||LA173_0==14||LA173_0==39||LA173_0==116||(LA173_0>=127 && LA173_0<=129)||(LA173_0>=136 && LA173_0<=137)||LA173_0==144||LA173_0==160||LA173_0==164||LA173_0==171||LA173_0==173||(LA173_0>=177 && LA173_0<=179)||(LA173_0>=182 && LA173_0<=190)||LA173_0==192) ) {s = 4;}
+                        else if ( (LA161_0==RULE_STRING||(LA161_0>=RULE_INT && LA161_0<=RULE_DECIMAL)||LA161_0==14||LA161_0==39||LA161_0==115||(LA161_0>=126 && LA161_0<=128)||(LA161_0>=135 && LA161_0<=136)||LA161_0==143||LA161_0==159||LA161_0==163||LA161_0==170||LA161_0==172||(LA161_0>=176 && LA161_0<=178)||(LA161_0>=181 && LA161_0<=189)||LA161_0==191) ) {s = 4;}
 
                          
-                        input.seek(index173_0);
+                        input.seek(index161_0);
                         if ( s>=0 ) return s;
                         break;
                     case 1 : 
-                        int LA173_1 = input.LA(1);
+                        int LA161_1 = input.LA(1);
 
                          
-                        int index173_1 = input.index();
+                        int index161_1 = input.index();
                         input.rewind();
                         s = -1;
                         if ( (synpred33_InternalReportDSL()) ) {s = 3;}
@@ -47739,14 +48790,14 @@
                         else if ( (true) ) {s = 4;}
 
                          
-                        input.seek(index173_1);
+                        input.seek(index161_1);
                         if ( s>=0 ) return s;
                         break;
                     case 2 : 
-                        int LA173_2 = input.LA(1);
+                        int LA161_2 = input.LA(1);
 
                          
-                        int index173_2 = input.index();
+                        int index161_2 = input.index();
                         input.rewind();
                         s = -1;
                         if ( (synpred33_InternalReportDSL()) ) {s = 3;}
@@ -47754,23 +48805,23 @@
                         else if ( (true) ) {s = 4;}
 
                          
-                        input.seek(index173_2);
+                        input.seek(index161_2);
                         if ( s>=0 ) return s;
                         break;
             }
             if (state.backtracking>0) {state.failed=true; return -1;}
             NoViableAltException nvae =
-                new NoViableAltException(getDescription(), 173, _s, input);
+                new NoViableAltException(getDescription(), 161, _s, input);
             error(nvae);
             throw nvae;
         }
     }
 
-    class DFA196 extends DFA {
+    class DFA184 extends DFA {
 
-        public DFA196(BaseRecognizer recognizer) {
+        public DFA184(BaseRecognizer recognizer) {
             this.recognizer = recognizer;
-            this.decisionNumber = 196;
+            this.decisionNumber = 184;
             this.eot = dfa_46;
             this.eof = dfa_47;
             this.min = dfa_48;
@@ -47780,17 +48831,17 @@
             this.transition = dfa_52;
         }
         public String getDescription() {
-            return "12876:3: ( ( ( ( '(' ) )=> (lv_explicitOperationCall_7_0= '(' ) ) ( ( ( ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> (lv_featureCallArguments_8_0= ruleXShortClosure ) ) | ( ( (lv_featureCallArguments_9_0= ruleXExpression ) ) (otherlv_10= ',' ( (lv_featureCallArguments_11_0= ruleXExpression ) ) )* ) )? otherlv_12= ')' )?";
+            return "13185:3: ( ( ( ( '(' ) )=> (lv_explicitOperationCall_7_0= '(' ) ) ( ( ( ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> (lv_featureCallArguments_8_0= ruleXShortClosure ) ) | ( ( (lv_featureCallArguments_9_0= ruleXExpression ) ) (otherlv_10= ',' ( (lv_featureCallArguments_11_0= ruleXExpression ) ) )* ) )? otherlv_12= ')' )?";
         }
         public int specialStateTransition(int s, IntStream _input) throws NoViableAltException {
             TokenStream input = (TokenStream)_input;
         	int _s = s;
             switch ( s ) {
                     case 0 : 
-                        int LA196_1 = input.LA(1);
+                        int LA184_1 = input.LA(1);
 
                          
-                        int index196_1 = input.index();
+                        int index184_1 = input.index();
                         input.rewind();
                         s = -1;
                         if ( (synpred36_InternalReportDSL()) ) {s = 77;}
@@ -47798,23 +48849,23 @@
                         else if ( (true) ) {s = 2;}
 
                          
-                        input.seek(index196_1);
+                        input.seek(index184_1);
                         if ( s>=0 ) return s;
                         break;
             }
             if (state.backtracking>0) {state.failed=true; return -1;}
             NoViableAltException nvae =
-                new NoViableAltException(getDescription(), 196, _s, input);
+                new NoViableAltException(getDescription(), 184, _s, input);
             error(nvae);
             throw nvae;
         }
     }
 
-    class DFA195 extends DFA {
+    class DFA183 extends DFA {
 
-        public DFA195(BaseRecognizer recognizer) {
+        public DFA183(BaseRecognizer recognizer) {
             this.recognizer = recognizer;
-            this.decisionNumber = 195;
+            this.decisionNumber = 183;
             this.eot = dfa_15;
             this.eof = dfa_15;
             this.min = dfa_53;
@@ -47824,40 +48875,40 @@
             this.transition = dfa_57;
         }
         public String getDescription() {
-            return "12895:4: ( ( ( ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> (lv_featureCallArguments_8_0= ruleXShortClosure ) ) | ( ( (lv_featureCallArguments_9_0= ruleXExpression ) ) (otherlv_10= ',' ( (lv_featureCallArguments_11_0= ruleXExpression ) ) )* ) )?";
+            return "13204:4: ( ( ( ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> (lv_featureCallArguments_8_0= ruleXShortClosure ) ) | ( ( (lv_featureCallArguments_9_0= ruleXExpression ) ) (otherlv_10= ',' ( (lv_featureCallArguments_11_0= ruleXExpression ) ) )* ) )?";
         }
         public int specialStateTransition(int s, IntStream _input) throws NoViableAltException {
             TokenStream input = (TokenStream)_input;
         	int _s = s;
             switch ( s ) {
                     case 0 : 
-                        int LA195_0 = input.LA(1);
+                        int LA183_0 = input.LA(1);
 
                          
-                        int index195_0 = input.index();
+                        int index183_0 = input.index();
                         input.rewind();
                         s = -1;
-                        if ( (LA195_0==RULE_ID) ) {s = 1;}
+                        if ( (LA183_0==RULE_ID) ) {s = 1;}
 
-                        else if ( (LA195_0==103) ) {s = 2;}
+                        else if ( (LA183_0==102) ) {s = 2;}
 
-                        else if ( (LA195_0==157) && (synpred37_InternalReportDSL())) {s = 3;}
+                        else if ( (LA183_0==156) && (synpred37_InternalReportDSL())) {s = 3;}
 
-                        else if ( (LA195_0==170) && (synpred37_InternalReportDSL())) {s = 4;}
+                        else if ( (LA183_0==169) && (synpred37_InternalReportDSL())) {s = 4;}
 
-                        else if ( (LA195_0==RULE_STRING||(LA195_0>=RULE_INT && LA195_0<=RULE_DECIMAL)||LA195_0==14||LA195_0==39||LA195_0==116||(LA195_0>=127 && LA195_0<=129)||(LA195_0>=136 && LA195_0<=137)||LA195_0==144||LA195_0==160||LA195_0==164||LA195_0==171||LA195_0==173||(LA195_0>=177 && LA195_0<=179)||(LA195_0>=182 && LA195_0<=190)||LA195_0==192) ) {s = 5;}
+                        else if ( (LA183_0==RULE_STRING||(LA183_0>=RULE_INT && LA183_0<=RULE_DECIMAL)||LA183_0==14||LA183_0==39||LA183_0==115||(LA183_0>=126 && LA183_0<=128)||(LA183_0>=135 && LA183_0<=136)||LA183_0==143||LA183_0==159||LA183_0==163||LA183_0==170||LA183_0==172||(LA183_0>=176 && LA183_0<=178)||(LA183_0>=181 && LA183_0<=189)||LA183_0==191) ) {s = 5;}
 
-                        else if ( (LA195_0==104) ) {s = 35;}
+                        else if ( (LA183_0==103) ) {s = 35;}
 
                          
-                        input.seek(index195_0);
+                        input.seek(index183_0);
                         if ( s>=0 ) return s;
                         break;
                     case 1 : 
-                        int LA195_1 = input.LA(1);
+                        int LA183_1 = input.LA(1);
 
                          
-                        int index195_1 = input.index();
+                        int index183_1 = input.index();
                         input.rewind();
                         s = -1;
                         if ( (synpred37_InternalReportDSL()) ) {s = 4;}
@@ -47865,14 +48916,14 @@
                         else if ( (true) ) {s = 5;}
 
                          
-                        input.seek(index195_1);
+                        input.seek(index183_1);
                         if ( s>=0 ) return s;
                         break;
                     case 2 : 
-                        int LA195_2 = input.LA(1);
+                        int LA183_2 = input.LA(1);
 
                          
-                        int index195_2 = input.index();
+                        int index183_2 = input.index();
                         input.rewind();
                         s = -1;
                         if ( (synpred37_InternalReportDSL()) ) {s = 4;}
@@ -47880,23 +48931,23 @@
                         else if ( (true) ) {s = 5;}
 
                          
-                        input.seek(index195_2);
+                        input.seek(index183_2);
                         if ( s>=0 ) return s;
                         break;
             }
             if (state.backtracking>0) {state.failed=true; return -1;}
             NoViableAltException nvae =
-                new NoViableAltException(getDescription(), 195, _s, input);
+                new NoViableAltException(getDescription(), 183, _s, input);
             error(nvae);
             throw nvae;
         }
     }
 
-    class DFA197 extends DFA {
+    class DFA185 extends DFA {
 
-        public DFA197(BaseRecognizer recognizer) {
+        public DFA185(BaseRecognizer recognizer) {
             this.recognizer = recognizer;
-            this.decisionNumber = 197;
+            this.decisionNumber = 185;
             this.eot = dfa_46;
             this.eof = dfa_47;
             this.min = dfa_48;
@@ -47906,17 +48957,17 @@
             this.transition = dfa_58;
         }
         public String getDescription() {
-            return "12993:3: ( ( ( () '[' ) )=> (lv_featureCallArguments_13_0= ruleXClosure ) )?";
+            return "13302:3: ( ( ( () '[' ) )=> (lv_featureCallArguments_13_0= ruleXClosure ) )?";
         }
         public int specialStateTransition(int s, IntStream _input) throws NoViableAltException {
             TokenStream input = (TokenStream)_input;
         	int _s = s;
             switch ( s ) {
                     case 0 : 
-                        int LA197_1 = input.LA(1);
+                        int LA185_1 = input.LA(1);
 
                          
-                        int index197_1 = input.index();
+                        int index185_1 = input.index();
                         input.rewind();
                         s = -1;
                         if ( (synpred38_InternalReportDSL()) ) {s = 77;}
@@ -47924,19 +48975,19 @@
                         else if ( (true) ) {s = 2;}
 
                          
-                        input.seek(index197_1);
+                        input.seek(index185_1);
                         if ( s>=0 ) return s;
                         break;
             }
             if (state.backtracking>0) {state.failed=true; return -1;}
             NoViableAltException nvae =
-                new NoViableAltException(getDescription(), 197, _s, input);
+                new NoViableAltException(getDescription(), 185, _s, input);
             error(nvae);
             throw nvae;
         }
     }
     static final String[] dfa_78s = {
-            "\5\2\5\uffff\1\2\3\uffff\1\2\24\uffff\1\2\54\uffff\1\2\22\uffff\2\2\13\uffff\1\2\12\uffff\4\2\1\uffff\1\2\1\uffff\1\2\1\uffff\10\2\1\1\31\2\1\uffff\27\2",
+            "\5\2\5\uffff\1\2\3\uffff\1\2\24\uffff\1\2\55\uffff\1\2\20\uffff\2\2\13\uffff\1\2\12\uffff\4\2\1\uffff\1\2\1\uffff\1\2\1\uffff\10\2\1\1\31\2\1\uffff\27\2",
             "\1\uffff",
             "",
             "",
@@ -48017,11 +49068,11 @@
     };
     static final short[][] dfa_78 = unpackEncodedStringArray(dfa_78s);
 
-    class DFA201 extends DFA {
+    class DFA189 extends DFA {
 
-        public DFA201(BaseRecognizer recognizer) {
+        public DFA189(BaseRecognizer recognizer) {
             this.recognizer = recognizer;
-            this.decisionNumber = 201;
+            this.decisionNumber = 189;
             this.eot = dfa_46;
             this.eof = dfa_47;
             this.min = dfa_48;
@@ -48031,17 +49082,17 @@
             this.transition = dfa_78;
         }
         public String getDescription() {
-            return "13152:3: ( ( ( '<' )=>otherlv_3= '<' ) ( (lv_typeArguments_4_0= ruleJvmArgumentTypeReference ) ) (otherlv_5= ',' ( (lv_typeArguments_6_0= ruleJvmArgumentTypeReference ) ) )* otherlv_7= '>' )?";
+            return "13461:3: ( ( ( '<' )=>otherlv_3= '<' ) ( (lv_typeArguments_4_0= ruleJvmArgumentTypeReference ) ) (otherlv_5= ',' ( (lv_typeArguments_6_0= ruleJvmArgumentTypeReference ) ) )* otherlv_7= '>' )?";
         }
         public int specialStateTransition(int s, IntStream _input) throws NoViableAltException {
             TokenStream input = (TokenStream)_input;
         	int _s = s;
             switch ( s ) {
                     case 0 : 
-                        int LA201_1 = input.LA(1);
+                        int LA189_1 = input.LA(1);
 
                          
-                        int index201_1 = input.index();
+                        int index189_1 = input.index();
                         input.rewind();
                         s = -1;
                         if ( (synpred39_InternalReportDSL()) ) {s = 77;}
@@ -48049,23 +49100,23 @@
                         else if ( (true) ) {s = 2;}
 
                          
-                        input.seek(index201_1);
+                        input.seek(index189_1);
                         if ( s>=0 ) return s;
                         break;
             }
             if (state.backtracking>0) {state.failed=true; return -1;}
             NoViableAltException nvae =
-                new NoViableAltException(getDescription(), 201, _s, input);
+                new NoViableAltException(getDescription(), 189, _s, input);
             error(nvae);
             throw nvae;
         }
     }
 
-    class DFA204 extends DFA {
+    class DFA192 extends DFA {
 
-        public DFA204(BaseRecognizer recognizer) {
+        public DFA192(BaseRecognizer recognizer) {
             this.recognizer = recognizer;
-            this.decisionNumber = 204;
+            this.decisionNumber = 192;
             this.eot = dfa_46;
             this.eof = dfa_47;
             this.min = dfa_48;
@@ -48075,17 +49126,17 @@
             this.transition = dfa_52;
         }
         public String getDescription() {
-            return "13209:3: ( ( ( ( '(' ) )=> (lv_explicitConstructorCall_8_0= '(' ) ) ( ( ( ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> (lv_arguments_9_0= ruleXShortClosure ) ) | ( ( (lv_arguments_10_0= ruleXExpression ) ) (otherlv_11= ',' ( (lv_arguments_12_0= ruleXExpression ) ) )* ) )? otherlv_13= ')' )?";
+            return "13518:3: ( ( ( ( '(' ) )=> (lv_explicitConstructorCall_8_0= '(' ) ) ( ( ( ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> (lv_arguments_9_0= ruleXShortClosure ) ) | ( ( (lv_arguments_10_0= ruleXExpression ) ) (otherlv_11= ',' ( (lv_arguments_12_0= ruleXExpression ) ) )* ) )? otherlv_13= ')' )?";
         }
         public int specialStateTransition(int s, IntStream _input) throws NoViableAltException {
             TokenStream input = (TokenStream)_input;
         	int _s = s;
             switch ( s ) {
                     case 0 : 
-                        int LA204_1 = input.LA(1);
+                        int LA192_1 = input.LA(1);
 
                          
-                        int index204_1 = input.index();
+                        int index192_1 = input.index();
                         input.rewind();
                         s = -1;
                         if ( (synpred40_InternalReportDSL()) ) {s = 77;}
@@ -48093,23 +49144,23 @@
                         else if ( (true) ) {s = 2;}
 
                          
-                        input.seek(index204_1);
+                        input.seek(index192_1);
                         if ( s>=0 ) return s;
                         break;
             }
             if (state.backtracking>0) {state.failed=true; return -1;}
             NoViableAltException nvae =
-                new NoViableAltException(getDescription(), 204, _s, input);
+                new NoViableAltException(getDescription(), 192, _s, input);
             error(nvae);
             throw nvae;
         }
     }
 
-    class DFA203 extends DFA {
+    class DFA191 extends DFA {
 
-        public DFA203(BaseRecognizer recognizer) {
+        public DFA191(BaseRecognizer recognizer) {
             this.recognizer = recognizer;
-            this.decisionNumber = 203;
+            this.decisionNumber = 191;
             this.eot = dfa_15;
             this.eof = dfa_15;
             this.min = dfa_53;
@@ -48119,40 +49170,40 @@
             this.transition = dfa_57;
         }
         public String getDescription() {
-            return "13228:4: ( ( ( ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> (lv_arguments_9_0= ruleXShortClosure ) ) | ( ( (lv_arguments_10_0= ruleXExpression ) ) (otherlv_11= ',' ( (lv_arguments_12_0= ruleXExpression ) ) )* ) )?";
+            return "13537:4: ( ( ( ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> (lv_arguments_9_0= ruleXShortClosure ) ) | ( ( (lv_arguments_10_0= ruleXExpression ) ) (otherlv_11= ',' ( (lv_arguments_12_0= ruleXExpression ) ) )* ) )?";
         }
         public int specialStateTransition(int s, IntStream _input) throws NoViableAltException {
             TokenStream input = (TokenStream)_input;
         	int _s = s;
             switch ( s ) {
                     case 0 : 
-                        int LA203_0 = input.LA(1);
+                        int LA191_0 = input.LA(1);
 
                          
-                        int index203_0 = input.index();
+                        int index191_0 = input.index();
                         input.rewind();
                         s = -1;
-                        if ( (LA203_0==RULE_ID) ) {s = 1;}
+                        if ( (LA191_0==RULE_ID) ) {s = 1;}
 
-                        else if ( (LA203_0==103) ) {s = 2;}
+                        else if ( (LA191_0==102) ) {s = 2;}
 
-                        else if ( (LA203_0==157) && (synpred41_InternalReportDSL())) {s = 3;}
+                        else if ( (LA191_0==156) && (synpred41_InternalReportDSL())) {s = 3;}
 
-                        else if ( (LA203_0==170) && (synpred41_InternalReportDSL())) {s = 4;}
+                        else if ( (LA191_0==169) && (synpred41_InternalReportDSL())) {s = 4;}
 
-                        else if ( (LA203_0==RULE_STRING||(LA203_0>=RULE_INT && LA203_0<=RULE_DECIMAL)||LA203_0==14||LA203_0==39||LA203_0==116||(LA203_0>=127 && LA203_0<=129)||(LA203_0>=136 && LA203_0<=137)||LA203_0==144||LA203_0==160||LA203_0==164||LA203_0==171||LA203_0==173||(LA203_0>=177 && LA203_0<=179)||(LA203_0>=182 && LA203_0<=190)||LA203_0==192) ) {s = 5;}
+                        else if ( (LA191_0==RULE_STRING||(LA191_0>=RULE_INT && LA191_0<=RULE_DECIMAL)||LA191_0==14||LA191_0==39||LA191_0==115||(LA191_0>=126 && LA191_0<=128)||(LA191_0>=135 && LA191_0<=136)||LA191_0==143||LA191_0==159||LA191_0==163||LA191_0==170||LA191_0==172||(LA191_0>=176 && LA191_0<=178)||(LA191_0>=181 && LA191_0<=189)||LA191_0==191) ) {s = 5;}
 
-                        else if ( (LA203_0==104) ) {s = 35;}
+                        else if ( (LA191_0==103) ) {s = 35;}
 
                          
-                        input.seek(index203_0);
+                        input.seek(index191_0);
                         if ( s>=0 ) return s;
                         break;
                     case 1 : 
-                        int LA203_1 = input.LA(1);
+                        int LA191_1 = input.LA(1);
 
                          
-                        int index203_1 = input.index();
+                        int index191_1 = input.index();
                         input.rewind();
                         s = -1;
                         if ( (synpred41_InternalReportDSL()) ) {s = 4;}
@@ -48160,14 +49211,14 @@
                         else if ( (true) ) {s = 5;}
 
                          
-                        input.seek(index203_1);
+                        input.seek(index191_1);
                         if ( s>=0 ) return s;
                         break;
                     case 2 : 
-                        int LA203_2 = input.LA(1);
+                        int LA191_2 = input.LA(1);
 
                          
-                        int index203_2 = input.index();
+                        int index191_2 = input.index();
                         input.rewind();
                         s = -1;
                         if ( (synpred41_InternalReportDSL()) ) {s = 4;}
@@ -48175,23 +49226,23 @@
                         else if ( (true) ) {s = 5;}
 
                          
-                        input.seek(index203_2);
+                        input.seek(index191_2);
                         if ( s>=0 ) return s;
                         break;
             }
             if (state.backtracking>0) {state.failed=true; return -1;}
             NoViableAltException nvae =
-                new NoViableAltException(getDescription(), 203, _s, input);
+                new NoViableAltException(getDescription(), 191, _s, input);
             error(nvae);
             throw nvae;
         }
     }
 
-    class DFA205 extends DFA {
+    class DFA193 extends DFA {
 
-        public DFA205(BaseRecognizer recognizer) {
+        public DFA193(BaseRecognizer recognizer) {
             this.recognizer = recognizer;
-            this.decisionNumber = 205;
+            this.decisionNumber = 193;
             this.eot = dfa_46;
             this.eof = dfa_47;
             this.min = dfa_48;
@@ -48201,17 +49252,17 @@
             this.transition = dfa_58;
         }
         public String getDescription() {
-            return "13326:3: ( ( ( () '[' ) )=> (lv_arguments_14_0= ruleXClosure ) )?";
+            return "13635:3: ( ( ( () '[' ) )=> (lv_arguments_14_0= ruleXClosure ) )?";
         }
         public int specialStateTransition(int s, IntStream _input) throws NoViableAltException {
             TokenStream input = (TokenStream)_input;
         	int _s = s;
             switch ( s ) {
                     case 0 : 
-                        int LA205_1 = input.LA(1);
+                        int LA193_1 = input.LA(1);
 
                          
-                        int index205_1 = input.index();
+                        int index193_1 = input.index();
                         input.rewind();
                         s = -1;
                         if ( (synpred42_InternalReportDSL()) ) {s = 77;}
@@ -48219,24 +49270,24 @@
                         else if ( (true) ) {s = 2;}
 
                          
-                        input.seek(index205_1);
+                        input.seek(index193_1);
                         if ( s>=0 ) return s;
                         break;
             }
             if (state.backtracking>0) {state.failed=true; return -1;}
             NoViableAltException nvae =
-                new NoViableAltException(getDescription(), 205, _s, input);
+                new NoViableAltException(getDescription(), 193, _s, input);
             error(nvae);
             throw nvae;
         }
     }
     static final String dfa_79s = "\1\41\115\uffff";
     static final String dfa_80s = "\1\4\40\0\55\uffff";
-    static final String dfa_81s = "\1\u00c1\40\0\55\uffff";
+    static final String dfa_81s = "\1\u00c0\40\0\55\uffff";
     static final String dfa_82s = "\41\uffff\1\2\53\uffff\1\1";
     static final String dfa_83s = "\1\uffff\1\0\1\1\1\2\1\3\1\4\1\5\1\6\1\7\1\10\1\11\1\12\1\13\1\14\1\15\1\16\1\17\1\20\1\21\1\22\1\23\1\24\1\25\1\26\1\27\1\30\1\31\1\32\1\33\1\34\1\35\1\36\1\37\55\uffff}>";
     static final String[] dfa_84s = {
-            "\1\27\1\1\1\24\1\23\1\25\5\uffff\1\12\3\uffff\1\41\24\uffff\1\2\54\uffff\1\41\22\uffff\1\40\1\41\13\uffff\1\7\12\uffff\1\4\1\3\1\5\1\41\1\uffff\1\41\1\uffff\1\41\1\uffff\1\17\1\20\6\41\1\15\17\41\1\10\3\41\1\6\5\41\1\uffff\1\31\1\41\1\13\3\41\1\32\1\33\1\34\2\41\1\16\1\11\1\21\1\22\1\26\1\30\1\35\1\36\1\37\1\41\1\14\1\41",
+            "\1\27\1\1\1\24\1\23\1\25\5\uffff\1\12\3\uffff\1\41\24\uffff\1\2\55\uffff\1\41\20\uffff\1\40\1\41\13\uffff\1\7\12\uffff\1\4\1\3\1\5\1\41\1\uffff\1\41\1\uffff\1\41\1\uffff\1\17\1\20\6\41\1\15\17\41\1\10\3\41\1\6\5\41\1\uffff\1\31\1\41\1\13\3\41\1\32\1\33\1\34\2\41\1\16\1\11\1\21\1\22\1\26\1\30\1\35\1\36\1\37\1\41\1\14\1\41",
             "\1\uffff",
             "\1\uffff",
             "\1\uffff",
@@ -48322,11 +49373,11 @@
     static final short[] dfa_83 = DFA.unpackEncodedString(dfa_83s);
     static final short[][] dfa_84 = unpackEncodedStringArray(dfa_84s);
 
-    class DFA208 extends DFA {
+    class DFA196 extends DFA {
 
-        public DFA208(BaseRecognizer recognizer) {
+        public DFA196(BaseRecognizer recognizer) {
             this.recognizer = recognizer;
-            this.decisionNumber = 208;
+            this.decisionNumber = 196;
             this.eot = dfa_46;
             this.eof = dfa_79;
             this.min = dfa_80;
@@ -48336,17 +49387,17 @@
             this.transition = dfa_84;
         }
         public String getDescription() {
-            return "13669:3: ( ( 'extends' | 'static' | 'import' | 'extension' | '!' | '-' | '+' | 'new' | '{' | 'switch' | 'synchronized' | '<' | 'super' | '#' | '[' | 'false' | 'true' | 'null' | 'typeof' | 'if' | 'for' | 'while' | 'do' | 'throw' | 'return' | 'try' | '(' | RULE_ID | RULE_HEX | RULE_INT | RULE_DECIMAL | RULE_STRING )=> (lv_expression_2_0= ruleXExpression ) )?";
+            return "13978:3: ( ( 'extends' | 'static' | 'import' | 'extension' | '!' | '-' | '+' | 'new' | '{' | 'switch' | 'synchronized' | '<' | 'super' | '#' | '[' | 'false' | 'true' | 'null' | 'typeof' | 'if' | 'for' | 'while' | 'do' | 'throw' | 'return' | 'try' | '(' | RULE_ID | RULE_HEX | RULE_INT | RULE_DECIMAL | RULE_STRING )=> (lv_expression_2_0= ruleXExpression ) )?";
         }
         public int specialStateTransition(int s, IntStream _input) throws NoViableAltException {
             TokenStream input = (TokenStream)_input;
         	int _s = s;
             switch ( s ) {
                     case 0 : 
-                        int LA208_1 = input.LA(1);
+                        int LA196_1 = input.LA(1);
 
                          
-                        int index208_1 = input.index();
+                        int index196_1 = input.index();
                         input.rewind();
                         s = -1;
                         if ( (synpred43_InternalReportDSL()) ) {s = 77;}
@@ -48354,14 +49405,14 @@
                         else if ( (true) ) {s = 33;}
 
                          
-                        input.seek(index208_1);
+                        input.seek(index196_1);
                         if ( s>=0 ) return s;
                         break;
                     case 1 : 
-                        int LA208_2 = input.LA(1);
+                        int LA196_2 = input.LA(1);
 
                          
-                        int index208_2 = input.index();
+                        int index196_2 = input.index();
                         input.rewind();
                         s = -1;
                         if ( (synpred43_InternalReportDSL()) ) {s = 77;}
@@ -48369,14 +49420,14 @@
                         else if ( (true) ) {s = 33;}
 
                          
-                        input.seek(index208_2);
+                        input.seek(index196_2);
                         if ( s>=0 ) return s;
                         break;
                     case 2 : 
-                        int LA208_3 = input.LA(1);
+                        int LA196_3 = input.LA(1);
 
                          
-                        int index208_3 = input.index();
+                        int index196_3 = input.index();
                         input.rewind();
                         s = -1;
                         if ( (synpred43_InternalReportDSL()) ) {s = 77;}
@@ -48384,14 +49435,14 @@
                         else if ( (true) ) {s = 33;}
 
                          
-                        input.seek(index208_3);
+                        input.seek(index196_3);
                         if ( s>=0 ) return s;
                         break;
                     case 3 : 
-                        int LA208_4 = input.LA(1);
+                        int LA196_4 = input.LA(1);
 
                          
-                        int index208_4 = input.index();
+                        int index196_4 = input.index();
                         input.rewind();
                         s = -1;
                         if ( (synpred43_InternalReportDSL()) ) {s = 77;}
@@ -48399,14 +49450,14 @@
                         else if ( (true) ) {s = 33;}
 
                          
-                        input.seek(index208_4);
+                        input.seek(index196_4);
                         if ( s>=0 ) return s;
                         break;
                     case 4 : 
-                        int LA208_5 = input.LA(1);
+                        int LA196_5 = input.LA(1);
 
                          
-                        int index208_5 = input.index();
+                        int index196_5 = input.index();
                         input.rewind();
                         s = -1;
                         if ( (synpred43_InternalReportDSL()) ) {s = 77;}
@@ -48414,14 +49465,14 @@
                         else if ( (true) ) {s = 33;}
 
                          
-                        input.seek(index208_5);
+                        input.seek(index196_5);
                         if ( s>=0 ) return s;
                         break;
                     case 5 : 
-                        int LA208_6 = input.LA(1);
+                        int LA196_6 = input.LA(1);
 
                          
-                        int index208_6 = input.index();
+                        int index196_6 = input.index();
                         input.rewind();
                         s = -1;
                         if ( (synpred43_InternalReportDSL()) ) {s = 77;}
@@ -48429,14 +49480,14 @@
                         else if ( (true) ) {s = 33;}
 
                          
-                        input.seek(index208_6);
+                        input.seek(index196_6);
                         if ( s>=0 ) return s;
                         break;
                     case 6 : 
-                        int LA208_7 = input.LA(1);
+                        int LA196_7 = input.LA(1);
 
                          
-                        int index208_7 = input.index();
+                        int index196_7 = input.index();
                         input.rewind();
                         s = -1;
                         if ( (synpred43_InternalReportDSL()) ) {s = 77;}
@@ -48444,14 +49495,14 @@
                         else if ( (true) ) {s = 33;}
 
                          
-                        input.seek(index208_7);
+                        input.seek(index196_7);
                         if ( s>=0 ) return s;
                         break;
                     case 7 : 
-                        int LA208_8 = input.LA(1);
+                        int LA196_8 = input.LA(1);
 
                          
-                        int index208_8 = input.index();
+                        int index196_8 = input.index();
                         input.rewind();
                         s = -1;
                         if ( (synpred43_InternalReportDSL()) ) {s = 77;}
@@ -48459,14 +49510,14 @@
                         else if ( (true) ) {s = 33;}
 
                          
-                        input.seek(index208_8);
+                        input.seek(index196_8);
                         if ( s>=0 ) return s;
                         break;
                     case 8 : 
-                        int LA208_9 = input.LA(1);
+                        int LA196_9 = input.LA(1);
 
                          
-                        int index208_9 = input.index();
+                        int index196_9 = input.index();
                         input.rewind();
                         s = -1;
                         if ( (synpred43_InternalReportDSL()) ) {s = 77;}
@@ -48474,14 +49525,14 @@
                         else if ( (true) ) {s = 33;}
 
                          
-                        input.seek(index208_9);
+                        input.seek(index196_9);
                         if ( s>=0 ) return s;
                         break;
                     case 9 : 
-                        int LA208_10 = input.LA(1);
+                        int LA196_10 = input.LA(1);
 
                          
-                        int index208_10 = input.index();
+                        int index196_10 = input.index();
                         input.rewind();
                         s = -1;
                         if ( (synpred43_InternalReportDSL()) ) {s = 77;}
@@ -48489,14 +49540,14 @@
                         else if ( (true) ) {s = 33;}
 
                          
-                        input.seek(index208_10);
+                        input.seek(index196_10);
                         if ( s>=0 ) return s;
                         break;
                     case 10 : 
-                        int LA208_11 = input.LA(1);
+                        int LA196_11 = input.LA(1);
 
                          
-                        int index208_11 = input.index();
+                        int index196_11 = input.index();
                         input.rewind();
                         s = -1;
                         if ( (synpred43_InternalReportDSL()) ) {s = 77;}
@@ -48504,14 +49555,14 @@
                         else if ( (true) ) {s = 33;}
 
                          
-                        input.seek(index208_11);
+                        input.seek(index196_11);
                         if ( s>=0 ) return s;
                         break;
                     case 11 : 
-                        int LA208_12 = input.LA(1);
+                        int LA196_12 = input.LA(1);
 
                          
-                        int index208_12 = input.index();
+                        int index196_12 = input.index();
                         input.rewind();
                         s = -1;
                         if ( (synpred43_InternalReportDSL()) ) {s = 77;}
@@ -48519,14 +49570,14 @@
                         else if ( (true) ) {s = 33;}
 
                          
-                        input.seek(index208_12);
+                        input.seek(index196_12);
                         if ( s>=0 ) return s;
                         break;
                     case 12 : 
-                        int LA208_13 = input.LA(1);
+                        int LA196_13 = input.LA(1);
 
                          
-                        int index208_13 = input.index();
+                        int index196_13 = input.index();
                         input.rewind();
                         s = -1;
                         if ( (synpred43_InternalReportDSL()) ) {s = 77;}
@@ -48534,14 +49585,14 @@
                         else if ( (true) ) {s = 33;}
 
                          
-                        input.seek(index208_13);
+                        input.seek(index196_13);
                         if ( s>=0 ) return s;
                         break;
                     case 13 : 
-                        int LA208_14 = input.LA(1);
+                        int LA196_14 = input.LA(1);
 
                          
-                        int index208_14 = input.index();
+                        int index196_14 = input.index();
                         input.rewind();
                         s = -1;
                         if ( (synpred43_InternalReportDSL()) ) {s = 77;}
@@ -48549,14 +49600,14 @@
                         else if ( (true) ) {s = 33;}
 
                          
-                        input.seek(index208_14);
+                        input.seek(index196_14);
                         if ( s>=0 ) return s;
                         break;
                     case 14 : 
-                        int LA208_15 = input.LA(1);
+                        int LA196_15 = input.LA(1);
 
                          
-                        int index208_15 = input.index();
+                        int index196_15 = input.index();
                         input.rewind();
                         s = -1;
                         if ( (synpred43_InternalReportDSL()) ) {s = 77;}
@@ -48564,14 +49615,14 @@
                         else if ( (true) ) {s = 33;}
 
                          
-                        input.seek(index208_15);
+                        input.seek(index196_15);
                         if ( s>=0 ) return s;
                         break;
                     case 15 : 
-                        int LA208_16 = input.LA(1);
+                        int LA196_16 = input.LA(1);
 
                          
-                        int index208_16 = input.index();
+                        int index196_16 = input.index();
                         input.rewind();
                         s = -1;
                         if ( (synpred43_InternalReportDSL()) ) {s = 77;}
@@ -48579,14 +49630,14 @@
                         else if ( (true) ) {s = 33;}
 
                          
-                        input.seek(index208_16);
+                        input.seek(index196_16);
                         if ( s>=0 ) return s;
                         break;
                     case 16 : 
-                        int LA208_17 = input.LA(1);
+                        int LA196_17 = input.LA(1);
 
                          
-                        int index208_17 = input.index();
+                        int index196_17 = input.index();
                         input.rewind();
                         s = -1;
                         if ( (synpred43_InternalReportDSL()) ) {s = 77;}
@@ -48594,14 +49645,14 @@
                         else if ( (true) ) {s = 33;}
 
                          
-                        input.seek(index208_17);
+                        input.seek(index196_17);
                         if ( s>=0 ) return s;
                         break;
                     case 17 : 
-                        int LA208_18 = input.LA(1);
+                        int LA196_18 = input.LA(1);
 
                          
-                        int index208_18 = input.index();
+                        int index196_18 = input.index();
                         input.rewind();
                         s = -1;
                         if ( (synpred43_InternalReportDSL()) ) {s = 77;}
@@ -48609,14 +49660,14 @@
                         else if ( (true) ) {s = 33;}
 
                          
-                        input.seek(index208_18);
+                        input.seek(index196_18);
                         if ( s>=0 ) return s;
                         break;
                     case 18 : 
-                        int LA208_19 = input.LA(1);
+                        int LA196_19 = input.LA(1);
 
                          
-                        int index208_19 = input.index();
+                        int index196_19 = input.index();
                         input.rewind();
                         s = -1;
                         if ( (synpred43_InternalReportDSL()) ) {s = 77;}
@@ -48624,14 +49675,14 @@
                         else if ( (true) ) {s = 33;}
 
                          
-                        input.seek(index208_19);
+                        input.seek(index196_19);
                         if ( s>=0 ) return s;
                         break;
                     case 19 : 
-                        int LA208_20 = input.LA(1);
+                        int LA196_20 = input.LA(1);
 
                          
-                        int index208_20 = input.index();
+                        int index196_20 = input.index();
                         input.rewind();
                         s = -1;
                         if ( (synpred43_InternalReportDSL()) ) {s = 77;}
@@ -48639,14 +49690,14 @@
                         else if ( (true) ) {s = 33;}
 
                          
-                        input.seek(index208_20);
+                        input.seek(index196_20);
                         if ( s>=0 ) return s;
                         break;
                     case 20 : 
-                        int LA208_21 = input.LA(1);
+                        int LA196_21 = input.LA(1);
 
                          
-                        int index208_21 = input.index();
+                        int index196_21 = input.index();
                         input.rewind();
                         s = -1;
                         if ( (synpred43_InternalReportDSL()) ) {s = 77;}
@@ -48654,14 +49705,14 @@
                         else if ( (true) ) {s = 33;}
 
                          
-                        input.seek(index208_21);
+                        input.seek(index196_21);
                         if ( s>=0 ) return s;
                         break;
                     case 21 : 
-                        int LA208_22 = input.LA(1);
+                        int LA196_22 = input.LA(1);
 
                          
-                        int index208_22 = input.index();
+                        int index196_22 = input.index();
                         input.rewind();
                         s = -1;
                         if ( (synpred43_InternalReportDSL()) ) {s = 77;}
@@ -48669,14 +49720,14 @@
                         else if ( (true) ) {s = 33;}
 
                          
-                        input.seek(index208_22);
+                        input.seek(index196_22);
                         if ( s>=0 ) return s;
                         break;
                     case 22 : 
-                        int LA208_23 = input.LA(1);
+                        int LA196_23 = input.LA(1);
 
                          
-                        int index208_23 = input.index();
+                        int index196_23 = input.index();
                         input.rewind();
                         s = -1;
                         if ( (synpred43_InternalReportDSL()) ) {s = 77;}
@@ -48684,14 +49735,14 @@
                         else if ( (true) ) {s = 33;}
 
                          
-                        input.seek(index208_23);
+                        input.seek(index196_23);
                         if ( s>=0 ) return s;
                         break;
                     case 23 : 
-                        int LA208_24 = input.LA(1);
+                        int LA196_24 = input.LA(1);
 
                          
-                        int index208_24 = input.index();
+                        int index196_24 = input.index();
                         input.rewind();
                         s = -1;
                         if ( (synpred43_InternalReportDSL()) ) {s = 77;}
@@ -48699,14 +49750,14 @@
                         else if ( (true) ) {s = 33;}
 
                          
-                        input.seek(index208_24);
+                        input.seek(index196_24);
                         if ( s>=0 ) return s;
                         break;
                     case 24 : 
-                        int LA208_25 = input.LA(1);
+                        int LA196_25 = input.LA(1);
 
                          
-                        int index208_25 = input.index();
+                        int index196_25 = input.index();
                         input.rewind();
                         s = -1;
                         if ( (synpred43_InternalReportDSL()) ) {s = 77;}
@@ -48714,14 +49765,14 @@
                         else if ( (true) ) {s = 33;}
 
                          
-                        input.seek(index208_25);
+                        input.seek(index196_25);
                         if ( s>=0 ) return s;
                         break;
                     case 25 : 
-                        int LA208_26 = input.LA(1);
+                        int LA196_26 = input.LA(1);
 
                          
-                        int index208_26 = input.index();
+                        int index196_26 = input.index();
                         input.rewind();
                         s = -1;
                         if ( (synpred43_InternalReportDSL()) ) {s = 77;}
@@ -48729,14 +49780,14 @@
                         else if ( (true) ) {s = 33;}
 
                          
-                        input.seek(index208_26);
+                        input.seek(index196_26);
                         if ( s>=0 ) return s;
                         break;
                     case 26 : 
-                        int LA208_27 = input.LA(1);
+                        int LA196_27 = input.LA(1);
 
                          
-                        int index208_27 = input.index();
+                        int index196_27 = input.index();
                         input.rewind();
                         s = -1;
                         if ( (synpred43_InternalReportDSL()) ) {s = 77;}
@@ -48744,14 +49795,14 @@
                         else if ( (true) ) {s = 33;}
 
                          
-                        input.seek(index208_27);
+                        input.seek(index196_27);
                         if ( s>=0 ) return s;
                         break;
                     case 27 : 
-                        int LA208_28 = input.LA(1);
+                        int LA196_28 = input.LA(1);
 
                          
-                        int index208_28 = input.index();
+                        int index196_28 = input.index();
                         input.rewind();
                         s = -1;
                         if ( (synpred43_InternalReportDSL()) ) {s = 77;}
@@ -48759,14 +49810,14 @@
                         else if ( (true) ) {s = 33;}
 
                          
-                        input.seek(index208_28);
+                        input.seek(index196_28);
                         if ( s>=0 ) return s;
                         break;
                     case 28 : 
-                        int LA208_29 = input.LA(1);
+                        int LA196_29 = input.LA(1);
 
                          
-                        int index208_29 = input.index();
+                        int index196_29 = input.index();
                         input.rewind();
                         s = -1;
                         if ( (synpred43_InternalReportDSL()) ) {s = 77;}
@@ -48774,14 +49825,14 @@
                         else if ( (true) ) {s = 33;}
 
                          
-                        input.seek(index208_29);
+                        input.seek(index196_29);
                         if ( s>=0 ) return s;
                         break;
                     case 29 : 
-                        int LA208_30 = input.LA(1);
+                        int LA196_30 = input.LA(1);
 
                          
-                        int index208_30 = input.index();
+                        int index196_30 = input.index();
                         input.rewind();
                         s = -1;
                         if ( (synpred43_InternalReportDSL()) ) {s = 77;}
@@ -48789,14 +49840,14 @@
                         else if ( (true) ) {s = 33;}
 
                          
-                        input.seek(index208_30);
+                        input.seek(index196_30);
                         if ( s>=0 ) return s;
                         break;
                     case 30 : 
-                        int LA208_31 = input.LA(1);
+                        int LA196_31 = input.LA(1);
 
                          
-                        int index208_31 = input.index();
+                        int index196_31 = input.index();
                         input.rewind();
                         s = -1;
                         if ( (synpred43_InternalReportDSL()) ) {s = 77;}
@@ -48804,14 +49855,14 @@
                         else if ( (true) ) {s = 33;}
 
                          
-                        input.seek(index208_31);
+                        input.seek(index196_31);
                         if ( s>=0 ) return s;
                         break;
                     case 31 : 
-                        int LA208_32 = input.LA(1);
+                        int LA196_32 = input.LA(1);
 
                          
-                        int index208_32 = input.index();
+                        int index196_32 = input.index();
                         input.rewind();
                         s = -1;
                         if ( (synpred43_InternalReportDSL()) ) {s = 77;}
@@ -48819,13 +49870,13 @@
                         else if ( (true) ) {s = 33;}
 
                          
-                        input.seek(index208_32);
+                        input.seek(index196_32);
                         if ( s>=0 ) return s;
                         break;
             }
             if (state.backtracking>0) {state.failed=true; return -1;}
             NoViableAltException nvae =
-                new NoViableAltException(getDescription(), 208, _s, input);
+                new NoViableAltException(getDescription(), 196, _s, input);
             error(nvae);
             throw nvae;
         }
@@ -48833,11 +49884,11 @@
     static final String dfa_85s = "\117\uffff";
     static final String dfa_86s = "\1\2\116\uffff";
     static final String dfa_87s = "\1\4\1\0\115\uffff";
-    static final String dfa_88s = "\1\u00c3\1\0\115\uffff";
+    static final String dfa_88s = "\1\u00c2\1\0\115\uffff";
     static final String dfa_89s = "\2\uffff\1\2\113\uffff\1\1";
     static final String dfa_90s = "\1\uffff\1\0\115\uffff}>";
     static final String[] dfa_91s = {
-            "\5\2\5\uffff\1\2\3\uffff\1\2\24\uffff\1\2\54\uffff\1\2\22\uffff\2\2\13\uffff\1\2\12\uffff\4\2\1\uffff\1\2\1\uffff\1\2\1\uffff\10\2\1\1\31\2\1\uffff\27\2\1\uffff\1\2",
+            "\5\2\5\uffff\1\2\3\uffff\1\2\24\uffff\1\2\55\uffff\1\2\20\uffff\2\2\13\uffff\1\2\12\uffff\4\2\1\uffff\1\2\1\uffff\1\2\1\uffff\10\2\1\1\31\2\1\uffff\27\2\1\uffff\1\2",
             "\1\uffff",
             "",
             "",
@@ -48926,11 +49977,11 @@
     static final short[] dfa_90 = DFA.unpackEncodedString(dfa_90s);
     static final short[][] dfa_91 = unpackEncodedStringArray(dfa_91s);
 
-    class DFA226 extends DFA {
+    class DFA214 extends DFA {
 
-        public DFA226(BaseRecognizer recognizer) {
+        public DFA214(BaseRecognizer recognizer) {
             this.recognizer = recognizer;
-            this.decisionNumber = 226;
+            this.decisionNumber = 214;
             this.eot = dfa_85;
             this.eof = dfa_86;
             this.min = dfa_87;
@@ -48940,17 +49991,17 @@
             this.transition = dfa_91;
         }
         public String getDescription() {
-            return "14327:3: ( ( ( '<' )=>otherlv_1= '<' ) ( (lv_arguments_2_0= ruleJvmArgumentTypeReference ) ) (otherlv_3= ',' ( (lv_arguments_4_0= ruleJvmArgumentTypeReference ) ) )* otherlv_5= '>' ( ( ( ( () '.' ) )=> ( () otherlv_7= '.' ) ) ( ( ruleValidID ) ) ( ( ( '<' )=>otherlv_9= '<' ) ( (lv_arguments_10_0= ruleJvmArgumentTypeReference ) ) (otherlv_11= ',' ( (lv_arguments_12_0= ruleJvmArgumentTypeReference ) ) )* otherlv_13= '>' )? )* )?";
+            return "14636:3: ( ( ( '<' )=>otherlv_1= '<' ) ( (lv_arguments_2_0= ruleJvmArgumentTypeReference ) ) (otherlv_3= ',' ( (lv_arguments_4_0= ruleJvmArgumentTypeReference ) ) )* otherlv_5= '>' ( ( ( ( () '.' ) )=> ( () otherlv_7= '.' ) ) ( ( ruleValidID ) ) ( ( ( '<' )=>otherlv_9= '<' ) ( (lv_arguments_10_0= ruleJvmArgumentTypeReference ) ) (otherlv_11= ',' ( (lv_arguments_12_0= ruleJvmArgumentTypeReference ) ) )* otherlv_13= '>' )? )* )?";
         }
         public int specialStateTransition(int s, IntStream _input) throws NoViableAltException {
             TokenStream input = (TokenStream)_input;
         	int _s = s;
             switch ( s ) {
                     case 0 : 
-                        int LA226_1 = input.LA(1);
+                        int LA214_1 = input.LA(1);
 
                          
-                        int index226_1 = input.index();
+                        int index214_1 = input.index();
                         input.rewind();
                         s = -1;
                         if ( (synpred50_InternalReportDSL()) ) {s = 78;}
@@ -48958,23 +50009,23 @@
                         else if ( (true) ) {s = 2;}
 
                          
-                        input.seek(index226_1);
+                        input.seek(index214_1);
                         if ( s>=0 ) return s;
                         break;
             }
             if (state.backtracking>0) {state.failed=true; return -1;}
             NoViableAltException nvae =
-                new NoViableAltException(getDescription(), 226, _s, input);
+                new NoViableAltException(getDescription(), 214, _s, input);
             error(nvae);
             throw nvae;
         }
     }
 
-    class DFA224 extends DFA {
+    class DFA212 extends DFA {
 
-        public DFA224(BaseRecognizer recognizer) {
+        public DFA212(BaseRecognizer recognizer) {
             this.recognizer = recognizer;
-            this.decisionNumber = 224;
+            this.decisionNumber = 212;
             this.eot = dfa_85;
             this.eof = dfa_86;
             this.min = dfa_87;
@@ -48984,17 +50035,17 @@
             this.transition = dfa_91;
         }
         public String getDescription() {
-            return "14421:5: ( ( ( '<' )=>otherlv_9= '<' ) ( (lv_arguments_10_0= ruleJvmArgumentTypeReference ) ) (otherlv_11= ',' ( (lv_arguments_12_0= ruleJvmArgumentTypeReference ) ) )* otherlv_13= '>' )?";
+            return "14730:5: ( ( ( '<' )=>otherlv_9= '<' ) ( (lv_arguments_10_0= ruleJvmArgumentTypeReference ) ) (otherlv_11= ',' ( (lv_arguments_12_0= ruleJvmArgumentTypeReference ) ) )* otherlv_13= '>' )?";
         }
         public int specialStateTransition(int s, IntStream _input) throws NoViableAltException {
             TokenStream input = (TokenStream)_input;
         	int _s = s;
             switch ( s ) {
                     case 0 : 
-                        int LA224_1 = input.LA(1);
+                        int LA212_1 = input.LA(1);
 
                          
-                        int index224_1 = input.index();
+                        int index212_1 = input.index();
                         input.rewind();
                         s = -1;
                         if ( (synpred52_InternalReportDSL()) ) {s = 78;}
@@ -49002,13 +50053,13 @@
                         else if ( (true) ) {s = 2;}
 
                          
-                        input.seek(index224_1);
+                        input.seek(index212_1);
                         if ( s>=0 ) return s;
                         break;
             }
             if (state.backtracking>0) {state.failed=true; return -1;}
             NoViableAltException nvae =
-                new NoViableAltException(getDescription(), 224, _s, input);
+                new NoViableAltException(getDescription(), 212, _s, input);
             error(nvae);
             throw nvae;
         }
@@ -49020,7 +50071,7 @@
     public static final BitSet FOLLOW_3 = new BitSet(new long[]{0x0000000000002002L});
     public static final BitSet FOLLOW_4 = new BitSet(new long[]{0x0000000000000020L});
     public static final BitSet FOLLOW_5 = new BitSet(new long[]{0x0000000000004000L});
-    public static final BitSet FOLLOW_6 = new BitSet(new long[]{0x8000000000048000L});
+    public static final BitSet FOLLOW_6 = new BitSet(new long[]{0x0000000000048000L,0x0000000000000001L});
     public static final BitSet FOLLOW_7 = new BitSet(new long[]{0x0000000000090000L});
     public static final BitSet FOLLOW_8 = new BitSet(new long[]{0x0000000000000010L});
     public static final BitSet FOLLOW_9 = new BitSet(new long[]{0x00000000000B0000L});
@@ -49030,191 +50081,182 @@
     public static final BitSet FOLLOW_13 = new BitSet(new long[]{0x0000000001000000L});
     public static final BitSet FOLLOW_14 = new BitSet(new long[]{0x0000000002040000L});
     public static final BitSet FOLLOW_15 = new BitSet(new long[]{0x0000000000040000L});
-    public static final BitSet FOLLOW_16 = new BitSet(new long[]{0x8000000000040000L});
+    public static final BitSet FOLLOW_16 = new BitSet(new long[]{0x0000000000040000L,0x0000000000000001L});
     public static final BitSet FOLLOW_17 = new BitSet(new long[]{0x0000000002000002L});
-    public static final BitSet FOLLOW_18 = new BitSet(new long[]{0x2000000000040000L,0x000000000000001FL});
+    public static final BitSet FOLLOW_18 = new BitSet(new long[]{0x4000000000040000L,0x000000000000003EL});
     public static final BitSet FOLLOW_19 = new BitSet(new long[]{0x0000000100040000L});
     public static final BitSet FOLLOW_20 = new BitSet(new long[]{0x0000004000040000L});
     public static final BitSet FOLLOW_21 = new BitSet(new long[]{0x0000000000840000L});
     public static final BitSet FOLLOW_22 = new BitSet(new long[]{0x0000080000040000L});
     public static final BitSet FOLLOW_23 = new BitSet(new long[]{0x0000000004000000L});
-    public static final BitSet FOLLOW_24 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000000L,0x000000000007F000L});
+    public static final BitSet FOLLOW_24 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000000L,0x000000000003F800L});
     public static final BitSet FOLLOW_25 = new BitSet(new long[]{0x0000000008000000L});
-    public static final BitSet FOLLOW_26 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000000L,0x0000000000180000L});
+    public static final BitSet FOLLOW_26 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000000L,0x00000000000C0000L});
     public static final BitSet FOLLOW_27 = new BitSet(new long[]{0x0000000010000000L});
     public static final BitSet FOLLOW_28 = new BitSet(new long[]{0x00000000000001C0L});
     public static final BitSet FOLLOW_29 = new BitSet(new long[]{0x0000000020000000L});
     public static final BitSet FOLLOW_30 = new BitSet(new long[]{0x0000000040000000L});
     public static final BitSet FOLLOW_31 = new BitSet(new long[]{0x0000000080000000L});
-    public static final BitSet FOLLOW_32 = new BitSet(new long[]{0x0000000000040000L,0x0000000000022000L});
-    public static final BitSet FOLLOW_33 = new BitSet(new long[]{0x0000000000040000L,0x0000000000020000L});
+    public static final BitSet FOLLOW_32 = new BitSet(new long[]{0x0000000000040000L,0x0000000000044000L});
+    public static final BitSet FOLLOW_33 = new BitSet(new long[]{0x0000000000040000L,0x0000000000040000L});
     public static final BitSet FOLLOW_34 = new BitSet(new long[]{0x0000001A00000010L});
     public static final BitSet FOLLOW_35 = new BitSet(new long[]{0x0000000400000000L});
     public static final BitSet FOLLOW_36 = new BitSet(new long[]{0x0000000000000040L});
     public static final BitSet FOLLOW_37 = new BitSet(new long[]{0x0000002000000000L});
     public static final BitSet FOLLOW_38 = new BitSet(new long[]{0x0000008000004000L});
-    public static final BitSet FOLLOW_39 = new BitSet(new long[]{0x0000070000040000L,0x0000000000000000L,0x0000000000000000L,0x0000000000E00000L});
-    public static final BitSet FOLLOW_40 = new BitSet(new long[]{0x0000000000000010L,0x0000000000000000L,0x0000000000000000L,0x0000000007000000L});
-    public static final BitSet FOLLOW_41 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000800000000L,0x0000000000000FF0L});
-    public static final BitSet FOLLOW_42 = new BitSet(new long[]{0x1FFFB0C000840000L});
-    public static final BitSet FOLLOW_43 = new BitSet(new long[]{0x1FFFB04000840000L});
-    public static final BitSet FOLLOW_44 = new BitSet(new long[]{0x1FFFF04000840000L});
-    public static final BitSet FOLLOW_45 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000000L,0x0000000038000000L});
-    public static final BitSet FOLLOW_46 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000000L,0xFF80000000000000L});
-    public static final BitSet FOLLOW_47 = new BitSet(new long[]{0x1FFFB04000040000L});
-    public static final BitSet FOLLOW_48 = new BitSet(new long[]{0x1FFFF04000040000L});
-    public static final BitSet FOLLOW_49 = new BitSet(new long[]{0x4000000000000000L});
-    public static final BitSet FOLLOW_50 = new BitSet(new long[]{0x8000000000000000L});
-    public static final BitSet FOLLOW_51 = new BitSet(new long[]{0x0001000000000000L});
-    public static final BitSet FOLLOW_52 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000000L,0x0000000FC0000000L});
-    public static final BitSet FOLLOW_53 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000002L,0x0000000000000000L,0x0000000840000000L});
-    public static final BitSet FOLLOW_54 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000000L,0x0000000800000000L});
-    public static final BitSet FOLLOW_55 = new BitSet(new long[]{0x0000000000004000L,0x0000000000000060L});
-    public static final BitSet FOLLOW_56 = new BitSet(new long[]{0x0000000000004000L,0x0000000000000040L});
-    public static final BitSet FOLLOW_57 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000080L});
-    public static final BitSet FOLLOW_58 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000300L});
-    public static final BitSet FOLLOW_59 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000200L});
-    public static final BitSet FOLLOW_60 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000000L,0x0000003000000000L});
-    public static final BitSet FOLLOW_61 = new BitSet(new long[]{0x0000000002010000L,0x0000000000000400L});
-    public static final BitSet FOLLOW_62 = new BitSet(new long[]{0x0000000002020000L,0x0000000000000400L});
-    public static final BitSet FOLLOW_63 = new BitSet(new long[]{0x0000000002000000L,0x0000000000000400L});
-    public static final BitSet FOLLOW_64 = new BitSet(new long[]{0x0000000002000000L});
-    public static final BitSet FOLLOW_65 = new BitSet(new long[]{0x0000000000800000L});
-    public static final BitSet FOLLOW_66 = new BitSet(new long[]{0x0000000000000000L,0x0000000000001800L});
-    public static final BitSet FOLLOW_67 = new BitSet(new long[]{0x0000000000000000L,0x0000000000012020L});
-    public static final BitSet FOLLOW_68 = new BitSet(new long[]{0x0000000000000000L,0x000000000000C000L});
-    public static final BitSet FOLLOW_69 = new BitSet(new long[]{0x0000000000000000L,0x0000000000008000L});
-    public static final BitSet FOLLOW_70 = new BitSet(new long[]{0x0000000000000000L,0x3F000C5802080000L});
-    public static final BitSet FOLLOW_71 = new BitSet(new long[]{0x0000000000040000L,0x3F000C5802080000L});
-    public static final BitSet FOLLOW_72 = new BitSet(new long[]{0x0000000000000000L,0x0000000000048000L});
-    public static final BitSet FOLLOW_73 = new BitSet(new long[]{0x0000000000004000L,0x0008000000300000L});
-    public static final BitSet FOLLOW_74 = new BitSet(new long[]{0x0000000000004000L,0x0008000000200000L});
-    public static final BitSet FOLLOW_75 = new BitSet(new long[]{0x0000000000004000L,0x0008000000000000L});
-    public static final BitSet FOLLOW_76 = new BitSet(new long[]{0x0000000000040000L,0x0000000000400000L});
-    public static final BitSet FOLLOW_77 = new BitSet(new long[]{0x0000080000004000L,0x0008000000108000L});
-    public static final BitSet FOLLOW_78 = new BitSet(new long[]{0x0000080000004000L,0x0008000000008000L});
-    public static final BitSet FOLLOW_79 = new BitSet(new long[]{0x0000000000004000L,0x0008000000008000L});
-    public static final BitSet FOLLOW_80 = new BitSet(new long[]{0x0000000000040000L,0x0000000000800000L});
-    public static final BitSet FOLLOW_81 = new BitSet(new long[]{0x0000080000004000L,0x0008000001300000L});
-    public static final BitSet FOLLOW_82 = new BitSet(new long[]{0x0000080000004000L,0x0008000001200000L});
-    public static final BitSet FOLLOW_83 = new BitSet(new long[]{0x0000000000004000L,0x0008000001200000L});
-    public static final BitSet FOLLOW_84 = new BitSet(new long[]{0x0000000000004000L,0x0008000001000000L});
-    public static final BitSet FOLLOW_85 = new BitSet(new long[]{0x0000080000004000L,0x0008100000000000L});
-    public static final BitSet FOLLOW_86 = new BitSet(new long[]{0x0000000000004000L,0x0008100000000000L});
-    public static final BitSet FOLLOW_87 = new BitSet(new long[]{0x0000000000004000L,0x0000100000000000L});
-    public static final BitSet FOLLOW_88 = new BitSet(new long[]{0x0000000000000000L,0x000000005C000000L});
-    public static final BitSet FOLLOW_89 = new BitSet(new long[]{0x0000080000000000L,0x000000005C000000L});
-    public static final BitSet FOLLOW_90 = new BitSet(new long[]{0x0000000000000000L,0x0000000020000000L});
-    public static final BitSet FOLLOW_91 = new BitSet(new long[]{0x0000000000040000L,0x000000000C022000L});
-    public static final BitSet FOLLOW_92 = new BitSet(new long[]{0x0000000000040000L,0x000000000C020000L});
-    public static final BitSet FOLLOW_93 = new BitSet(new long[]{0x0000080000040000L,0x0000000008020000L});
-    public static final BitSet FOLLOW_94 = new BitSet(new long[]{0x0000000000040000L,0x0000000008020000L});
-    public static final BitSet FOLLOW_95 = new BitSet(new long[]{0x0000080000040000L,0x0000000000020000L});
-    public static final BitSet FOLLOW_96 = new BitSet(new long[]{0x0000080000004000L,0x0000100000000000L});
-    public static final BitSet FOLLOW_97 = new BitSet(new long[]{0x0000080000004000L,0x0000000080000000L});
-    public static final BitSet FOLLOW_98 = new BitSet(new long[]{0x0000000000004000L,0x0000000080000000L});
-    public static final BitSet FOLLOW_99 = new BitSet(new long[]{0x0000000000040000L,0x0000001800000000L});
-    public static final BitSet FOLLOW_100 = new BitSet(new long[]{0x0000080000000002L,0x0000000500200000L});
-    public static final BitSet FOLLOW_101 = new BitSet(new long[]{0x0000000000004000L,0x0000000200000000L});
-    public static final BitSet FOLLOW_102 = new BitSet(new long[]{0x0000000000040000L,0x0003000000000000L});
-    public static final BitSet FOLLOW_103 = new BitSet(new long[]{0x0000000000040000L,0x0006000000000001L});
-    public static final BitSet FOLLOW_104 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000000L,0x00007FC000000000L});
-    public static final BitSet FOLLOW_105 = new BitSet(new long[]{0x0000000000000002L,0x0000006000000000L});
-    public static final BitSet FOLLOW_106 = new BitSet(new long[]{0x0000000000000000L,0x0000008000000000L});
-    public static final BitSet FOLLOW_107 = new BitSet(new long[]{0x0000000000000020L,0x0000010000000000L});
-    public static final BitSet FOLLOW_108 = new BitSet(new long[]{0x0000000000000000L,0x0000070800000000L});
-    public static final BitSet FOLLOW_109 = new BitSet(new long[]{0x0000080000000002L});
-    public static final BitSet FOLLOW_110 = new BitSet(new long[]{0x0000000000000002L,0x0000E00000000000L});
-    public static final BitSet FOLLOW_111 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000000L,0x0003800000000000L});
-    public static final BitSet FOLLOW_112 = new BitSet(new long[]{0x0000000000000002L,0x0000C00000000000L});
-    public static final BitSet FOLLOW_113 = new BitSet(new long[]{0x0000000000000002L,0x0000800000000000L});
-    public static final BitSet FOLLOW_114 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000000L,0x0002800000000000L});
-    public static final BitSet FOLLOW_115 = new BitSet(new long[]{0x0000000000000000L,0x0000010000000000L});
-    public static final BitSet FOLLOW_116 = new BitSet(new long[]{0x00000000000001C0L,0x0010000000000000L});
-    public static final BitSet FOLLOW_117 = new BitSet(new long[]{0x0000800000000000L,0x00E0000000000000L});
-    public static final BitSet FOLLOW_118 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000000L,0x007C000000000000L});
-    public static final BitSet FOLLOW_119 = new BitSet(new long[]{0x0000000000000010L,0x0000000000000000L,0x0000000000000000L,0x0000801000000000L,0x0000000000000400L});
-    public static final BitSet FOLLOW_120 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000000L,0x0000000000000000L,0x000000000000001FL});
-    public static final BitSet FOLLOW_121 = new BitSet(new long[]{0x0000000000000000L,0x4000000000208000L,0x0000000000000000L,0x0000000000000000L,0x00000000000003E0L});
-    public static final BitSet FOLLOW_122 = new BitSet(new long[]{0x0000000000000020L,0x0000000000000000L,0x0000000000000009L});
-    public static final BitSet FOLLOW_123 = new BitSet(new long[]{0x0000000000000020L,0x0000000000000000L,0x0000000000000002L});
-    public static final BitSet FOLLOW_124 = new BitSet(new long[]{0x0000000000000020L,0x0000000000000000L,0x0000000000000004L});
-    public static final BitSet FOLLOW_125 = new BitSet(new long[]{0x0000000000000002L,0x0000000000000000L,0x0000000000000010L});
-    public static final BitSet FOLLOW_126 = new BitSet(new long[]{0x0000000000000002L,0x0000008000000000L});
-    public static final BitSet FOLLOW_127 = new BitSet(new long[]{0x00000080000041F0L,0x8010018000000000L,0x7FCE281100010323L,0x0000000000000001L});
-    public static final BitSet FOLLOW_128 = new BitSet(new long[]{0x0000000000000000L,0x0000010000000000L,0x0000000000000040L});
-    public static final BitSet FOLLOW_129 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000080L});
-    public static final BitSet FOLLOW_130 = new BitSet(new long[]{0x00000080000041F0L,0x8010008000000000L,0x7FCE281100010323L,0x0000000000000001L});
-    public static final BitSet FOLLOW_131 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000200L});
-    public static final BitSet FOLLOW_132 = new BitSet(new long[]{0x00000080000041F0L,0x8010008000000000L,0x7FCE281100010723L,0x0000000000000001L});
-    public static final BitSet FOLLOW_133 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000440L});
-    public static final BitSet FOLLOW_134 = new BitSet(new long[]{0x0000000000000002L,0x0000000000000000L,0x0000000000000040L});
-    public static final BitSet FOLLOW_135 = new BitSet(new long[]{0x0000000000000002L,0x0000000000000000L,0x000000000003F800L});
-    public static final BitSet FOLLOW_136 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000010000L});
-    public static final BitSet FOLLOW_137 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000060000L});
-    public static final BitSet FOLLOW_138 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000040000L});
-    public static final BitSet FOLLOW_139 = new BitSet(new long[]{0x0000000000000002L,0x0000000000000000L,0x0000000000080000L});
-    public static final BitSet FOLLOW_140 = new BitSet(new long[]{0x0000000000000002L,0x0000000000000000L,0x0000000000100000L});
-    public static final BitSet FOLLOW_141 = new BitSet(new long[]{0x0000000000000002L,0x0000000000000000L,0x0000000001E00000L});
-    public static final BitSet FOLLOW_142 = new BitSet(new long[]{0x0000000000000002L,0x0000000000000000L,0x0000000002070000L});
-    public static final BitSet FOLLOW_143 = new BitSet(new long[]{0x0000000000000020L,0x0000008000000000L,0x0000000020000000L});
-    public static final BitSet FOLLOW_144 = new BitSet(new long[]{0x0000000000000002L,0x0000000000000000L,0x00000000FC030000L});
-    public static final BitSet FOLLOW_145 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000010000000L});
-    public static final BitSet FOLLOW_146 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000020000L});
-    public static final BitSet FOLLOW_147 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000020010000L});
-    public static final BitSet FOLLOW_148 = new BitSet(new long[]{0x0000000000000002L,0x0010000000000000L,0x0000000100000000L});
-    public static final BitSet FOLLOW_149 = new BitSet(new long[]{0x0000000000000002L,0x0000000000000000L,0x0000000E00000004L});
-    public static final BitSet FOLLOW_150 = new BitSet(new long[]{0x0000000000000002L,0x0000000000100000L});
-    public static final BitSet FOLLOW_151 = new BitSet(new long[]{0x0000000000000002L,0x0000000000000000L,0x0000006000000000L});
-    public static final BitSet FOLLOW_152 = new BitSet(new long[]{0x0000000000000002L,0x0000000000000000L,0x0000038000000000L});
-    public static final BitSet FOLLOW_153 = new BitSet(new long[]{0x0000008000000020L,0x8000000000000000L,0x0000000000000003L});
-    public static final BitSet FOLLOW_154 = new BitSet(new long[]{0x0000008000000020L,0x8000000000000000L,0x0040000000010003L});
-    public static final BitSet FOLLOW_155 = new BitSet(new long[]{0x0000000000000020L,0x0000008000000000L,0x0000000020000000L,0x0000000000000004L});
-    public static final BitSet FOLLOW_156 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000020040L});
-    public static final BitSet FOLLOW_157 = new BitSet(new long[]{0x0000000000000002L,0x0000008000000000L,0x0000038000000200L});
-    public static final BitSet FOLLOW_158 = new BitSet(new long[]{0x00000080000041F0L,0x8010018000000000L,0x7FCE2C1120010323L,0x0000000000000001L});
-    public static final BitSet FOLLOW_159 = new BitSet(new long[]{0x0000000000000002L,0x0000000000000000L,0x0000038000000200L});
-    public static final BitSet FOLLOW_160 = new BitSet(new long[]{0x00000080000441F0L,0x8010008000000000L,0x7FCE281100010323L,0x0000000000000001L});
-    public static final BitSet FOLLOW_161 = new BitSet(new long[]{0x0000000000040000L,0x0000000000000000L,0x0000000000000040L});
-    public static final BitSet FOLLOW_162 = new BitSet(new long[]{0x00000080000041F0L,0x8010008000000000L,0x7FFE2C1120010723L,0x0000000000000001L});
-    public static final BitSet FOLLOW_163 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000040000000040L});
-    public static final BitSet FOLLOW_164 = new BitSet(new long[]{0x00000080000041F0L,0x8010008000000000L,0x7FFE281100010723L,0x0000000000000001L});
-    public static final BitSet FOLLOW_165 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000400L});
-    public static final BitSet FOLLOW_166 = new BitSet(new long[]{0x00000080000041F2L,0x8010008000000000L,0x7FFE281100010333L,0x0000000000000001L});
-    public static final BitSet FOLLOW_167 = new BitSet(new long[]{0x00000080000041F2L,0x8010008000000000L,0x7FFE281100010323L,0x0000000000000001L});
-    public static final BitSet FOLLOW_168 = new BitSet(new long[]{0x0000000000000002L,0x0000000000000000L,0x0000100000000000L});
-    public static final BitSet FOLLOW_169 = new BitSet(new long[]{0x00000080000041F0L,0x8010008000000000L,0x7FCE281120010323L,0x0000000000000001L});
-    public static final BitSet FOLLOW_170 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000400000000000L});
-    public static final BitSet FOLLOW_171 = new BitSet(new long[]{0x0000000000040020L,0x0000008000000000L,0x0001C00020000040L});
-    public static final BitSet FOLLOW_172 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0001400000000040L});
-    public static final BitSet FOLLOW_173 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000400000000040L});
-    public static final BitSet FOLLOW_174 = new BitSet(new long[]{0x00000080000041F0L,0x8010008000000000L,0x7FFE281100010333L,0x0000000000000001L});
-    public static final BitSet FOLLOW_175 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000050L});
-    public static final BitSet FOLLOW_176 = new BitSet(new long[]{0x00000080000041F0L,0x8010008000000000L,0x7FFE281100010323L,0x0000000000000001L});
-    public static final BitSet FOLLOW_177 = new BitSet(new long[]{0x00000080000041F0L,0x8010008000000000L,0x7FCE281100010333L,0x0000000000000001L});
-    public static final BitSet FOLLOW_178 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000010L});
-    public static final BitSet FOLLOW_179 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0004000000000000L});
-    public static final BitSet FOLLOW_180 = new BitSet(new long[]{0x00000080000441F0L,0x8010008000000000L,0x7FFE281100010323L,0x0000000000000001L});
-    public static final BitSet FOLLOW_181 = new BitSet(new long[]{0x00000080000441F0L,0x8010008000000000L,0x7FFE281100010333L,0x0000000000000001L});
-    public static final BitSet FOLLOW_182 = new BitSet(new long[]{0x0000000000000002L,0x0000000000000000L,0x0000000000000080L});
-    public static final BitSet FOLLOW_183 = new BitSet(new long[]{0x0000000000000002L,0x0000008000000000L,0x0000000000000200L});
-    public static final BitSet FOLLOW_184 = new BitSet(new long[]{0x0000000000000002L,0x0000000000000000L,0x0000000000000200L});
-    public static final BitSet FOLLOW_185 = new BitSet(new long[]{0x0000000000000002L,0x0000008000000000L,0x0000000000010200L});
-    public static final BitSet FOLLOW_186 = new BitSet(new long[]{0x0000000000000000L,0x0000010000000000L,0x0000000000000200L});
-    public static final BitSet FOLLOW_187 = new BitSet(new long[]{0x00000080000041F2L,0x8010008000000000L,0x7FCE281100010323L,0x0000000000000001L});
-    public static final BitSet FOLLOW_188 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x8000000000000000L,0x0000000000000002L});
-    public static final BitSet FOLLOW_189 = new BitSet(new long[]{0x0000000000000002L,0x0000000000000000L,0x8000000000000000L,0x0000000000000002L});
-    public static final BitSet FOLLOW_190 = new BitSet(new long[]{0x0000000000000002L,0x0000000000000000L,0x0000008000000000L});
-    public static final BitSet FOLLOW_191 = new BitSet(new long[]{0x0000000000000140L});
-    public static final BitSet FOLLOW_192 = new BitSet(new long[]{0x0000000000000020L,0x0000018000000000L,0x0000000020000000L});
-    public static final BitSet FOLLOW_193 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000020000000L});
-    public static final BitSet FOLLOW_194 = new BitSet(new long[]{0x0000000000000002L,0x0000000000000000L,0x0000000000010000L});
-    public static final BitSet FOLLOW_195 = new BitSet(new long[]{0x0000000000000002L,0x0000000000000000L,0x0000008000010000L});
-    public static final BitSet FOLLOW_196 = new BitSet(new long[]{0x0000008000000002L,0x0000000000000000L,0x0040000000000000L});
-    public static final BitSet FOLLOW_197 = new BitSet(new long[]{0x0000000000000002L,0x0000000000000000L,0x0000000000000000L,0x0000000000000008L});
-    public static final BitSet FOLLOW_198 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000008000000000L});
-    public static final BitSet FOLLOW_199 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000004L});
-    public static final BitSet FOLLOW_200 = new BitSet(new long[]{0x0000000000000002L,0x8000000000000000L});
-    public static final BitSet FOLLOW_201 = new BitSet(new long[]{0x0000000000000022L});
+    public static final BitSet FOLLOW_39 = new BitSet(new long[]{0x0000070000040000L,0x0000000000000000L,0x0000000000000000L,0x0000000000700000L});
+    public static final BitSet FOLLOW_40 = new BitSet(new long[]{0x0000000000000010L,0x0000000000000000L,0x0000000000000000L,0x0000000003800000L});
+    public static final BitSet FOLLOW_41 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000400000000L,0x00000000000007F8L});
+    public static final BitSet FOLLOW_42 = new BitSet(new long[]{0x0000000000000022L});
+    public static final BitSet FOLLOW_43 = new BitSet(new long[]{0x3FFFB0C000840000L});
+    public static final BitSet FOLLOW_44 = new BitSet(new long[]{0x3FFFB04000840000L});
+    public static final BitSet FOLLOW_45 = new BitSet(new long[]{0x3FFFF04000840000L});
+    public static final BitSet FOLLOW_46 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000000L,0x000000001C000000L});
+    public static final BitSet FOLLOW_47 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000000L,0x00000000E0000000L});
+    public static final BitSet FOLLOW_48 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000000L,0xFE00000000000000L,0x0000000000000003L});
+    public static final BitSet FOLLOW_49 = new BitSet(new long[]{0x3FFFB04000040000L});
+    public static final BitSet FOLLOW_50 = new BitSet(new long[]{0x3FFFF04000040000L});
+    public static final BitSet FOLLOW_51 = new BitSet(new long[]{0x8000000000000000L});
+    public static final BitSet FOLLOW_52 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000001L});
+    public static final BitSet FOLLOW_53 = new BitSet(new long[]{0x0001000000000000L});
+    public static final BitSet FOLLOW_54 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000000L,0x0000003F00000000L});
+    public static final BitSet FOLLOW_55 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000004L,0x0000000000000000L,0x0000002100000000L});
+    public static final BitSet FOLLOW_56 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000000L,0x0000002000000000L});
+    public static final BitSet FOLLOW_57 = new BitSet(new long[]{0x0000000000004000L,0x00000000000000C0L});
+    public static final BitSet FOLLOW_58 = new BitSet(new long[]{0x0000000000004000L,0x0000000000000080L});
+    public static final BitSet FOLLOW_59 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000100L});
+    public static final BitSet FOLLOW_60 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000600L});
+    public static final BitSet FOLLOW_61 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000400L});
+    public static final BitSet FOLLOW_62 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000000L,0x000000C000000000L});
+    public static final BitSet FOLLOW_63 = new BitSet(new long[]{0x0000000002010000L,0x0000000000000800L});
+    public static final BitSet FOLLOW_64 = new BitSet(new long[]{0x0000000002020000L,0x0000000000000800L});
+    public static final BitSet FOLLOW_65 = new BitSet(new long[]{0x0000000002000000L,0x0000000000000800L});
+    public static final BitSet FOLLOW_66 = new BitSet(new long[]{0x0000000002000000L});
+    public static final BitSet FOLLOW_67 = new BitSet(new long[]{0x0000000000800000L});
+    public static final BitSet FOLLOW_68 = new BitSet(new long[]{0x0000000000000000L,0x0000000000003000L});
+    public static final BitSet FOLLOW_69 = new BitSet(new long[]{0x0000000000000000L,0x0000000000024040L});
+    public static final BitSet FOLLOW_70 = new BitSet(new long[]{0x0000000000000000L,0x0000000000018000L});
+    public static final BitSet FOLLOW_71 = new BitSet(new long[]{0x0000000000000000L,0x0000000000010000L});
+    public static final BitSet FOLLOW_72 = new BitSet(new long[]{0x0000000000000000L,0x1F80062C04100000L});
+    public static final BitSet FOLLOW_73 = new BitSet(new long[]{0x0000000000040000L,0x1F80062C04100000L});
+    public static final BitSet FOLLOW_74 = new BitSet(new long[]{0x0000000000000000L,0x0000000000090000L});
+    public static final BitSet FOLLOW_75 = new BitSet(new long[]{0x0000080000004000L,0x0004000000600000L});
+    public static final BitSet FOLLOW_76 = new BitSet(new long[]{0x0000080000004000L,0x0004000000400000L});
+    public static final BitSet FOLLOW_77 = new BitSet(new long[]{0x0000000000040000L,0x0000000000800000L});
+    public static final BitSet FOLLOW_78 = new BitSet(new long[]{0x0000080000004000L,0x0004000000610000L});
+    public static final BitSet FOLLOW_79 = new BitSet(new long[]{0x0000080000004000L,0x0004000000410000L});
+    public static final BitSet FOLLOW_80 = new BitSet(new long[]{0x0000000000040000L,0x0000000001000000L});
+    public static final BitSet FOLLOW_81 = new BitSet(new long[]{0x0000080000004000L,0x0004000002600000L});
+    public static final BitSet FOLLOW_82 = new BitSet(new long[]{0x0000080000004000L,0x0004000002400000L});
+    public static final BitSet FOLLOW_83 = new BitSet(new long[]{0x0000080000004000L,0x0004080000400100L});
+    public static final BitSet FOLLOW_84 = new BitSet(new long[]{0x0000080000004000L,0x0004080000600000L});
+    public static final BitSet FOLLOW_85 = new BitSet(new long[]{0x0000080000004000L,0x0004080000400000L});
+    public static final BitSet FOLLOW_86 = new BitSet(new long[]{0x0000000000000000L,0x0000000028004000L});
+    public static final BitSet FOLLOW_87 = new BitSet(new long[]{0x0000000000000000L,0x0000000010000000L});
+    public static final BitSet FOLLOW_88 = new BitSet(new long[]{0x0000080000004002L,0x0004080000400000L});
+    public static final BitSet FOLLOW_89 = new BitSet(new long[]{0x0000080000004000L,0x0000000040000000L});
+    public static final BitSet FOLLOW_90 = new BitSet(new long[]{0x0000000000004000L,0x0000000040000000L});
+    public static final BitSet FOLLOW_91 = new BitSet(new long[]{0x0000000000040000L,0x0000000C00000000L});
+    public static final BitSet FOLLOW_92 = new BitSet(new long[]{0x0000080000000002L,0x0000000280400000L});
+    public static final BitSet FOLLOW_93 = new BitSet(new long[]{0x0000000000004000L,0x0000000100000000L});
+    public static final BitSet FOLLOW_94 = new BitSet(new long[]{0x0000000000040000L,0x0001800000000000L});
+    public static final BitSet FOLLOW_95 = new BitSet(new long[]{0x0000000000040000L,0x0003000000000002L});
+    public static final BitSet FOLLOW_96 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000000L,0x0001FF0000000000L});
+    public static final BitSet FOLLOW_97 = new BitSet(new long[]{0x0000000000000002L,0x0000003000000000L});
+    public static final BitSet FOLLOW_98 = new BitSet(new long[]{0x0000000000000000L,0x0000004000000000L});
+    public static final BitSet FOLLOW_99 = new BitSet(new long[]{0x0000000000000020L,0x0000008000000000L});
+    public static final BitSet FOLLOW_100 = new BitSet(new long[]{0x0000000000000000L,0x0000038400000000L});
+    public static final BitSet FOLLOW_101 = new BitSet(new long[]{0x0000080000000002L});
+    public static final BitSet FOLLOW_102 = new BitSet(new long[]{0x0000000000000000L,0x0000708000000000L});
+    public static final BitSet FOLLOW_103 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000000L,0x000E000000000000L});
+    public static final BitSet FOLLOW_104 = new BitSet(new long[]{0x0000000000000000L,0x0000608000000000L});
+    public static final BitSet FOLLOW_105 = new BitSet(new long[]{0x0000000000000000L,0x0000408000000000L});
+    public static final BitSet FOLLOW_106 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000000L,0x000A000000000000L});
+    public static final BitSet FOLLOW_107 = new BitSet(new long[]{0x0000000000000000L,0x0000008000000000L});
+    public static final BitSet FOLLOW_108 = new BitSet(new long[]{0x00000000000001C0L,0x0008000000000000L});
+    public static final BitSet FOLLOW_109 = new BitSet(new long[]{0x0000800000000000L,0x0070000000000000L});
+    public static final BitSet FOLLOW_110 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000000L,0x01F0000000000000L});
+    public static final BitSet FOLLOW_111 = new BitSet(new long[]{0x0000000000000010L,0x0000000000000000L,0x0000000000000000L,0x0002004000000000L,0x0000000000008000L});
+    public static final BitSet FOLLOW_112 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000000L,0x0000000000000000L,0x00000000000003FCL});
+    public static final BitSet FOLLOW_113 = new BitSet(new long[]{0x0000000000000000L,0x2000000000410000L,0x0000000000000000L,0x0000000000000000L,0x0000000000007C00L});
+    public static final BitSet FOLLOW_114 = new BitSet(new long[]{0x0000000000000020L,0x8000000000000000L,0x0000000000000004L});
+    public static final BitSet FOLLOW_115 = new BitSet(new long[]{0x0000000000000020L,0x0000000000000000L,0x0000000000000001L});
+    public static final BitSet FOLLOW_116 = new BitSet(new long[]{0x0000000000000020L,0x0000000000000000L,0x0000000000000002L});
+    public static final BitSet FOLLOW_117 = new BitSet(new long[]{0x0000000000000002L,0x0000000000000000L,0x0000000000000008L});
+    public static final BitSet FOLLOW_118 = new BitSet(new long[]{0x0000000000000002L,0x0000004000000000L});
+    public static final BitSet FOLLOW_119 = new BitSet(new long[]{0x00000080000041F0L,0xC00800C000000000L,0xBFE7140880008191L});
+    public static final BitSet FOLLOW_120 = new BitSet(new long[]{0x0000000000000000L,0x0000008000000000L,0x0000000000000020L});
+    public static final BitSet FOLLOW_121 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000040L});
+    public static final BitSet FOLLOW_122 = new BitSet(new long[]{0x00000080000041F0L,0xC008004000000000L,0xBFE7140880008191L});
+    public static final BitSet FOLLOW_123 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000100L});
+    public static final BitSet FOLLOW_124 = new BitSet(new long[]{0x00000080000041F0L,0xC008004000000000L,0xBFE7140880008391L});
+    public static final BitSet FOLLOW_125 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000220L});
+    public static final BitSet FOLLOW_126 = new BitSet(new long[]{0x0000000000000002L,0x0000000000000000L,0x0000000000000020L});
+    public static final BitSet FOLLOW_127 = new BitSet(new long[]{0x0000000000000002L,0x0000000000000000L,0x000000000001FC00L});
+    public static final BitSet FOLLOW_128 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000008000L});
+    public static final BitSet FOLLOW_129 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000030000L});
+    public static final BitSet FOLLOW_130 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000020000L});
+    public static final BitSet FOLLOW_131 = new BitSet(new long[]{0x0000000000000002L,0x0000000000000000L,0x0000000000040000L});
+    public static final BitSet FOLLOW_132 = new BitSet(new long[]{0x0000000000000002L,0x0000000000000000L,0x0000000000080000L});
+    public static final BitSet FOLLOW_133 = new BitSet(new long[]{0x0000000000000002L,0x0000000000000000L,0x0000000000F00000L});
+    public static final BitSet FOLLOW_134 = new BitSet(new long[]{0x0000000000000002L,0x0000000000000000L,0x0000000001038000L});
+    public static final BitSet FOLLOW_135 = new BitSet(new long[]{0x0000000000000020L,0x0000004000000000L,0x0000000010000000L});
+    public static final BitSet FOLLOW_136 = new BitSet(new long[]{0x0000000000000002L,0x0000000000000000L,0x000000007E018000L});
+    public static final BitSet FOLLOW_137 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000008000000L});
+    public static final BitSet FOLLOW_138 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000010000L});
+    public static final BitSet FOLLOW_139 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000010008000L});
+    public static final BitSet FOLLOW_140 = new BitSet(new long[]{0x0000000000000002L,0x0008000000000000L,0x0000000080000000L});
+    public static final BitSet FOLLOW_141 = new BitSet(new long[]{0x0000000000000002L,0x0000000000000000L,0x0000000700000002L});
+    public static final BitSet FOLLOW_142 = new BitSet(new long[]{0x0000000000000002L,0x0000000000200000L});
+    public static final BitSet FOLLOW_143 = new BitSet(new long[]{0x0000000000000002L,0x0000000000000000L,0x0000003000000000L});
+    public static final BitSet FOLLOW_144 = new BitSet(new long[]{0x0000000000000002L,0x0000000000000000L,0x000001C000000000L});
+    public static final BitSet FOLLOW_145 = new BitSet(new long[]{0x0000008000000020L,0xC000000000000000L,0x0000000000000001L});
+    public static final BitSet FOLLOW_146 = new BitSet(new long[]{0x0000008000000020L,0xC000000000000000L,0x0020000000008001L});
+    public static final BitSet FOLLOW_147 = new BitSet(new long[]{0x0000000000000020L,0x0000004000000000L,0x0000000010000000L,0x0000000000000002L});
+    public static final BitSet FOLLOW_148 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000010020L});
+    public static final BitSet FOLLOW_149 = new BitSet(new long[]{0x0000000000000002L,0x0000004000000000L,0x000001C000000100L});
+    public static final BitSet FOLLOW_150 = new BitSet(new long[]{0x00000080000041F0L,0xC00800C000000000L,0xBFE7160890008191L});
+    public static final BitSet FOLLOW_151 = new BitSet(new long[]{0x0000000000000002L,0x0000000000000000L,0x000001C000000100L});
+    public static final BitSet FOLLOW_152 = new BitSet(new long[]{0x00000080000441F0L,0xC008004000000000L,0xBFE7140880008191L});
+    public static final BitSet FOLLOW_153 = new BitSet(new long[]{0x0000000000040000L,0x0000000000000000L,0x0000000000000020L});
+    public static final BitSet FOLLOW_154 = new BitSet(new long[]{0x00000080000041F0L,0xC008004000000000L,0xBFFF160890008391L});
+    public static final BitSet FOLLOW_155 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000020000000020L});
+    public static final BitSet FOLLOW_156 = new BitSet(new long[]{0x00000080000041F0L,0xC008004000000000L,0xBFFF140880008391L});
+    public static final BitSet FOLLOW_157 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000200L});
+    public static final BitSet FOLLOW_158 = new BitSet(new long[]{0x00000080000041F2L,0xC008004000000000L,0xBFFF140880008199L});
+    public static final BitSet FOLLOW_159 = new BitSet(new long[]{0x00000080000041F2L,0xC008004000000000L,0xBFFF140880008191L});
+    public static final BitSet FOLLOW_160 = new BitSet(new long[]{0x0000000000000002L,0x0000000000000000L,0x0000080000000000L});
+    public static final BitSet FOLLOW_161 = new BitSet(new long[]{0x00000080000041F0L,0xC008004000000000L,0xBFE7140890008191L});
+    public static final BitSet FOLLOW_162 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000200000000000L});
+    public static final BitSet FOLLOW_163 = new BitSet(new long[]{0x0000000000040020L,0x0000004000000000L,0x0000E00010000020L});
+    public static final BitSet FOLLOW_164 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000A00000000020L});
+    public static final BitSet FOLLOW_165 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000200000000020L});
+    public static final BitSet FOLLOW_166 = new BitSet(new long[]{0x00000080000041F0L,0xC008004000000000L,0xBFFF140880008199L});
+    public static final BitSet FOLLOW_167 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000028L});
+    public static final BitSet FOLLOW_168 = new BitSet(new long[]{0x00000080000041F0L,0xC008004000000000L,0xBFFF140880008191L});
+    public static final BitSet FOLLOW_169 = new BitSet(new long[]{0x00000080000041F0L,0xC008004000000000L,0xBFE7140880008199L});
+    public static final BitSet FOLLOW_170 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000008L});
+    public static final BitSet FOLLOW_171 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0002000000000000L});
+    public static final BitSet FOLLOW_172 = new BitSet(new long[]{0x00000080000441F0L,0xC008004000000000L,0xBFFF140880008191L});
+    public static final BitSet FOLLOW_173 = new BitSet(new long[]{0x00000080000441F0L,0xC008004000000000L,0xBFFF140880008199L});
+    public static final BitSet FOLLOW_174 = new BitSet(new long[]{0x0000000000000002L,0x0000000000000000L,0x0000000000000040L});
+    public static final BitSet FOLLOW_175 = new BitSet(new long[]{0x0000000000000002L,0x0000004000000000L,0x0000000000000100L});
+    public static final BitSet FOLLOW_176 = new BitSet(new long[]{0x0000000000000002L,0x0000000000000000L,0x0000000000000100L});
+    public static final BitSet FOLLOW_177 = new BitSet(new long[]{0x0000000000000002L,0x0000004000000000L,0x0000000000008100L});
+    public static final BitSet FOLLOW_178 = new BitSet(new long[]{0x0000000000000000L,0x0000008000000000L,0x0000000000000100L});
+    public static final BitSet FOLLOW_179 = new BitSet(new long[]{0x00000080000041F2L,0xC008004000000000L,0xBFE7140880008191L});
+    public static final BitSet FOLLOW_180 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x4000000000000000L,0x0000000000000001L});
+    public static final BitSet FOLLOW_181 = new BitSet(new long[]{0x0000000000000002L,0x0000000000000000L,0x4000000000000000L,0x0000000000000001L});
+    public static final BitSet FOLLOW_182 = new BitSet(new long[]{0x0000000000000002L,0x0000000000000000L,0x0000004000000000L});
+    public static final BitSet FOLLOW_183 = new BitSet(new long[]{0x0000000000000140L});
+    public static final BitSet FOLLOW_184 = new BitSet(new long[]{0x0000000000000020L,0x000000C000000000L,0x0000000010000000L});
+    public static final BitSet FOLLOW_185 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000010000000L});
+    public static final BitSet FOLLOW_186 = new BitSet(new long[]{0x0000000000000002L,0x0000000000000000L,0x0000000000008000L});
+    public static final BitSet FOLLOW_187 = new BitSet(new long[]{0x0000000000000002L,0x0000000000000000L,0x0000004000008000L});
+    public static final BitSet FOLLOW_188 = new BitSet(new long[]{0x0000008000000002L,0x0000000000000000L,0x0020000000000000L});
+    public static final BitSet FOLLOW_189 = new BitSet(new long[]{0x0000000000000002L,0x0000000000000000L,0x0000000000000000L,0x0000000000000004L});
+    public static final BitSet FOLLOW_190 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000004000000000L});
+    public static final BitSet FOLLOW_191 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000002L});
+    public static final BitSet FOLLOW_192 = new BitSet(new long[]{0x0000000000000002L,0x4000000000000000L});
 
 }
diff --git a/org.eclipse.osbp.xtext.reportdsl/src-gen/org/eclipse/osbp/xtext/reportdsl/serializer/ReportDSLSemanticSequencer.java b/org.eclipse.osbp.xtext.reportdsl/src-gen/org/eclipse/osbp/xtext/reportdsl/serializer/ReportDSLSemanticSequencer.java
index 70ea59b..0fee24f 100644
--- a/org.eclipse.osbp.xtext.reportdsl/src-gen/org/eclipse/osbp/xtext/reportdsl/serializer/ReportDSLSemanticSequencer.java
+++ b/org.eclipse.osbp.xtext.reportdsl/src-gen/org/eclipse/osbp/xtext/reportdsl/serializer/ReportDSLSemanticSequencer.java
@@ -20,9 +20,9 @@
 import org.eclipse.osbp.xtext.reportdsl.DatamartTable;
 import org.eclipse.osbp.xtext.reportdsl.DatamartTableAttribute;
 import org.eclipse.osbp.xtext.reportdsl.DatamartTableDetail;
+import org.eclipse.osbp.xtext.reportdsl.DatamartTableFooter;
 import org.eclipse.osbp.xtext.reportdsl.DatamartTableGroup;
-import org.eclipse.osbp.xtext.reportdsl.DatamartTableGroupFooter;
-import org.eclipse.osbp.xtext.reportdsl.DatamartTableGroupHeader;
+import org.eclipse.osbp.xtext.reportdsl.DatamartTableHeader;
 import org.eclipse.osbp.xtext.reportdsl.DateFormat;
 import org.eclipse.osbp.xtext.reportdsl.DateTimeFormat;
 import org.eclipse.osbp.xtext.reportdsl.Font;
@@ -183,14 +183,14 @@
 			case ReportDSLPackage.DATAMART_TABLE_DETAIL:
 				sequence_DatamartTableDetail(context, (DatamartTableDetail) semanticObject); 
 				return; 
+			case ReportDSLPackage.DATAMART_TABLE_FOOTER:
+				sequence_DatamartTableFooter(context, (DatamartTableFooter) semanticObject); 
+				return; 
 			case ReportDSLPackage.DATAMART_TABLE_GROUP:
 				sequence_DatamartTableGroup(context, (DatamartTableGroup) semanticObject); 
 				return; 
-			case ReportDSLPackage.DATAMART_TABLE_GROUP_FOOTER:
-				sequence_DatamartTableGroupFooter(context, (DatamartTableGroupFooter) semanticObject); 
-				return; 
-			case ReportDSLPackage.DATAMART_TABLE_GROUP_HEADER:
-				sequence_DatamartTableGroupHeader(context, (DatamartTableGroupHeader) semanticObject); 
+			case ReportDSLPackage.DATAMART_TABLE_HEADER:
+				sequence_DatamartTableHeader(context, (DatamartTableHeader) semanticObject); 
 				return; 
 			case ReportDSLPackage.DATE_FORMAT:
 				sequence_DateFormat(context, (DateFormat) semanticObject); 
@@ -674,22 +674,10 @@
 	 *     BorderStyle returns BorderStyle
 	 *
 	 * Constraint:
-	 *     (type=BorderTypeEnum widthValue=UnsignedNumber color=[Color|ID])
+	 *     (type=BorderTypeEnum widthValue=UnsignedNumber color=[Color|ID]?)
 	 */
 	protected void sequence_BorderStyle(ISerializationContext context, BorderStyle semanticObject) {
-		if (errorAcceptor != null) {
-			if (transientValues.isValueTransient(semanticObject, ReportDSLPackage.Literals.BORDER_STYLE__TYPE) == ValueTransient.YES)
-				errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, ReportDSLPackage.Literals.BORDER_STYLE__TYPE));
-			if (transientValues.isValueTransient(semanticObject, ReportDSLPackage.Literals.BORDER_STYLE__WIDTH_VALUE) == ValueTransient.YES)
-				errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, ReportDSLPackage.Literals.BORDER_STYLE__WIDTH_VALUE));
-			if (transientValues.isValueTransient(semanticObject, ReportDSLPackage.Literals.BORDER_STYLE__COLOR) == ValueTransient.YES)
-				errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, ReportDSLPackage.Literals.BORDER_STYLE__COLOR));
-		}
-		SequenceFeeder feeder = createSequencerFeeder(context, semanticObject);
-		feeder.accept(grammarAccess.getBorderStyleAccess().getTypeBorderTypeEnumEnumRuleCall_0_0(), semanticObject.getType());
-		feeder.accept(grammarAccess.getBorderStyleAccess().getWidthValueUnsignedNumberParserRuleCall_1_0(), semanticObject.getWidthValue());
-		feeder.accept(grammarAccess.getBorderStyleAccess().getColorColorIDTerminalRuleCall_2_0_1(), semanticObject.eGet(ReportDSLPackage.Literals.BORDER_STYLE__COLOR, false));
-		feeder.finish();
+		genericSequencer.createSequence(context, semanticObject);
 	}
 	
 	
@@ -831,24 +819,12 @@
 	
 	/**
 	 * Contexts:
-	 *     DatamartTableGroupFooter returns DatamartTableGroupFooter
+	 *     DatamartTableFooter returns DatamartTableFooter
 	 *
 	 * Constraint:
-	 *     (style=[Style|ID]? pageBreak=PageBreak? rows+=GridRow*)
+	 *     ((style=[Style|ID] | pageBreak=PageBreak)* rows+=GridRow*)
 	 */
-	protected void sequence_DatamartTableGroupFooter(ISerializationContext context, DatamartTableGroupFooter semanticObject) {
-		genericSequencer.createSequence(context, semanticObject);
-	}
-	
-	
-	/**
-	 * Contexts:
-	 *     DatamartTableGroupHeader returns DatamartTableGroupHeader
-	 *
-	 * Constraint:
-	 *     (style=[Style|ID]? pageBreak=PageBreak? rows+=GridRow*)
-	 */
-	protected void sequence_DatamartTableGroupHeader(ISerializationContext context, DatamartTableGroupHeader semanticObject) {
+	protected void sequence_DatamartTableFooter(ISerializationContext context, DatamartTableFooter semanticObject) {
 		genericSequencer.createSequence(context, semanticObject);
 	}
 	
@@ -861,12 +837,9 @@
 	 *     (
 	 *         name=ID 
 	 *         groupingRef=[DatamartAttribute|ID] 
-	 *         visibilityItem=Visibility? 
-	 *         pageBreak=PageBreak? 
-	 *         header=DatamartTableGroupHeader? 
-	 *         (detailheader?='detailheader' headerstyle=[Style|ID]?)? 
-	 *         (detailfooter?='detailfooter' footerstyle=[Style|ID]?)? 
-	 *         footer=DatamartTableGroupFooter?
+	 *         (visibilityItem=Visibility | pageBreak=PageBreak)* 
+	 *         header=DatamartTableHeader? 
+	 *         footer=DatamartTableFooter?
 	 *     )
 	 */
 	protected void sequence_DatamartTableGroup(ISerializationContext context, DatamartTableGroup semanticObject) {
@@ -876,18 +849,29 @@
 	
 	/**
 	 * Contexts:
+	 *     DatamartTableHeader returns DatamartTableHeader
+	 *
+	 * Constraint:
+	 *     ((style=[Style|ID] | pageBreak=PageBreak)* rows+=GridRow*)
+	 */
+	protected void sequence_DatamartTableHeader(ISerializationContext context, DatamartTableHeader semanticObject) {
+		genericSequencer.createSequence(context, semanticObject);
+	}
+	
+	
+	/**
+	 * Contexts:
 	 *     Element returns DatamartTable
 	 *     DatamartTable returns DatamartTable
 	 *
 	 * Constraint:
 	 *     (
-	 *         style=[Style|ID]? 
-	 *         visibilityItem=Visibility? 
-	 *         pageBreak=PageBreak? 
-	 *         (detailheader?='detailheader' headerstyle=[Style|ID]?)? 
-	 *         (detailfooter?='detailfooter' footerstyle=[Style|ID]?)? 
+	 *         (datamartRef=[DatamartDefinition|ID] name=ID?)? 
+	 *         (style=[Style|ID] | visibilityItem=Visibility | pageBreak=PageBreak)* 
+	 *         header=DatamartTableHeader? 
 	 *         groups+=DatamartTableGroup* 
-	 *         detail=DatamartTableDetail
+	 *         detail=DatamartTableDetail 
+	 *         footer=DatamartTableFooter?
 	 *     )
 	 */
 	protected void sequence_DatamartTable(ISerializationContext context, DatamartTable semanticObject) {
@@ -987,14 +971,7 @@
 	 *     GridCell returns GridCell
 	 *
 	 * Constraint:
-	 *     (
-	 *         name=ID? 
-	 *         style=[Style|ID]? 
-	 *         widthValue=UnsignedNumber? 
-	 *         columnspan=INT? 
-	 *         visibilityItem=Visibility? 
-	 *         elements+=Element*
-	 *     )
+	 *     (name=ID? (style=[Style|ID] | widthValue=UnsignedNumber | columnspan=INT | visibilityItem=Visibility)* elements+=Element*)
 	 */
 	protected void sequence_GridCell(ISerializationContext context, GridCell semanticObject) {
 		genericSequencer.createSequence(context, semanticObject);
@@ -1006,7 +983,7 @@
 	 *     GridRow returns GridRow
 	 *
 	 * Constraint:
-	 *     (name=ID? style=[Style|ID]? heightValue=UnsignedNumber? visibilityItem=Visibility? cells+=GridCell*)
+	 *     (name=ID? (style=[Style|ID] | heightValue=UnsignedNumber | visibilityItem=Visibility)* cells+=GridCell*)
 	 */
 	protected void sequence_GridRow(ISerializationContext context, GridRow semanticObject) {
 		genericSequencer.createSequence(context, semanticObject);
@@ -1019,7 +996,7 @@
 	 *     Grid returns Grid
 	 *
 	 * Constraint:
-	 *     (name=ID? widthValue=UnsignedNumber? visibilityItem=Visibility? rows+=GridRow*)
+	 *     (name=ID? (style=[Style|ID] | widthValue=UnsignedNumber | visibilityItem=Visibility)* rows+=GridRow*)
 	 */
 	protected void sequence_Grid(ISerializationContext context, Grid semanticObject) {
 		genericSequencer.createSequence(context, semanticObject);
@@ -1072,6 +1049,7 @@
 	 *                 font=[Font|ID] | 
 	 *                 textcolor=[Color|ID] | 
 	 *                 textalign=TextAlignEnum | 
+	 *                 verticalalign=VerticalTextAlignEnum | 
 	 *                 borderTop=BorderStyle | 
 	 *                 borderBottom=BorderStyle | 
 	 *                 borderLeft=BorderStyle | 
@@ -1391,6 +1369,7 @@
 	 *                 font=[Font|ID] | 
 	 *                 textcolor=[Color|ID] | 
 	 *                 textalign=TextAlignEnum | 
+	 *                 verticalalign=VerticalTextAlignEnum | 
 	 *                 borderTop=BorderStyle | 
 	 *                 borderBottom=BorderStyle | 
 	 *                 borderLeft=BorderStyle | 
diff --git a/org.eclipse.osbp.xtext.reportdsl/src-gen/org/eclipse/osbp/xtext/reportdsl/serializer/ReportDSLSyntacticSequencer.java b/org.eclipse.osbp.xtext.reportdsl/src-gen/org/eclipse/osbp/xtext/reportdsl/serializer/ReportDSLSyntacticSequencer.java
index ba768dc..5aaa925 100644
--- a/org.eclipse.osbp.xtext.reportdsl/src-gen/org/eclipse/osbp/xtext/reportdsl/serializer/ReportDSLSyntacticSequencer.java
+++ b/org.eclipse.osbp.xtext.reportdsl/src-gen/org/eclipse/osbp/xtext/reportdsl/serializer/ReportDSLSyntacticSequencer.java
@@ -42,6 +42,8 @@
 	protected AbstractElementAlias match_DatamartTableAttribute_____IntervalsKeyword_1_2_0_LeftCurlyBracketKeyword_1_2_2_RightCurlyBracketKeyword_1_2_4__q___IntervalsKeyword_1_2_0_LeftCurlyBracketKeyword_1_2_2_RightCurlyBracketKeyword_1_2_4_LookupsKeyword_1_3_0_LeftCurlyBracketKeyword_1_3_2_RightCurlyBracketKeyword_1_3_4__q__p;
 	protected AbstractElementAlias match_DatamartTableAttribute_____LookupsKeyword_1_3_0_LeftCurlyBracketKeyword_1_3_2_RightCurlyBracketKeyword_1_3_4__q___LookupsKeyword_1_3_0_LeftCurlyBracketKeyword_1_3_2_RightCurlyBracketKeyword_1_3_4_IntervalsKeyword_1_2_0_LeftCurlyBracketKeyword_1_2_2_RightCurlyBracketKeyword_1_2_4__q__p;
 	protected AbstractElementAlias match_DatamartTableDetail_AllKeyword_3_0_or___LeftCurlyBracketKeyword_3_1_0_RightCurlyBracketKeyword_3_1_2__;
+	protected AbstractElementAlias match_DatamartTableFooter___LeftCurlyBracketKeyword_3_0_RightCurlyBracketKeyword_3_2__q;
+	protected AbstractElementAlias match_DatamartTableHeader___LeftCurlyBracketKeyword_3_0_RightCurlyBracketKeyword_3_2__q;
 	protected AbstractElementAlias match_XAnnotation___LeftParenthesisKeyword_3_0_RightParenthesisKeyword_3_2__q;
 	protected AbstractElementAlias match_XBlockExpression_SemicolonKeyword_2_1_q;
 	protected AbstractElementAlias match_XExpressionInClosure_SemicolonKeyword_1_1_q;
@@ -73,6 +75,8 @@
 		match_DatamartTableAttribute_____IntervalsKeyword_1_2_0_LeftCurlyBracketKeyword_1_2_2_RightCurlyBracketKeyword_1_2_4__q___IntervalsKeyword_1_2_0_LeftCurlyBracketKeyword_1_2_2_RightCurlyBracketKeyword_1_2_4_LookupsKeyword_1_3_0_LeftCurlyBracketKeyword_1_3_2_RightCurlyBracketKeyword_1_3_4__q__p = new GroupAlias(true, false, new GroupAlias(false, true, new TokenAlias(false, false, grammarAccess.getDatamartTableAttributeAccess().getIntervalsKeyword_1_2_0()), new TokenAlias(false, false, grammarAccess.getDatamartTableAttributeAccess().getLeftCurlyBracketKeyword_1_2_2()), new TokenAlias(false, false, grammarAccess.getDatamartTableAttributeAccess().getRightCurlyBracketKeyword_1_2_4())), new GroupAlias(false, true, new TokenAlias(false, false, grammarAccess.getDatamartTableAttributeAccess().getIntervalsKeyword_1_2_0()), new TokenAlias(false, false, grammarAccess.getDatamartTableAttributeAccess().getLeftCurlyBracketKeyword_1_2_2()), new TokenAlias(false, false, grammarAccess.getDatamartTableAttributeAccess().getRightCurlyBracketKeyword_1_2_4()), new TokenAlias(false, false, grammarAccess.getDatamartTableAttributeAccess().getLookupsKeyword_1_3_0()), new TokenAlias(false, false, grammarAccess.getDatamartTableAttributeAccess().getLeftCurlyBracketKeyword_1_3_2()), new TokenAlias(false, false, grammarAccess.getDatamartTableAttributeAccess().getRightCurlyBracketKeyword_1_3_4())));
 		match_DatamartTableAttribute_____LookupsKeyword_1_3_0_LeftCurlyBracketKeyword_1_3_2_RightCurlyBracketKeyword_1_3_4__q___LookupsKeyword_1_3_0_LeftCurlyBracketKeyword_1_3_2_RightCurlyBracketKeyword_1_3_4_IntervalsKeyword_1_2_0_LeftCurlyBracketKeyword_1_2_2_RightCurlyBracketKeyword_1_2_4__q__p = new GroupAlias(true, false, new GroupAlias(false, true, new TokenAlias(false, false, grammarAccess.getDatamartTableAttributeAccess().getLookupsKeyword_1_3_0()), new TokenAlias(false, false, grammarAccess.getDatamartTableAttributeAccess().getLeftCurlyBracketKeyword_1_3_2()), new TokenAlias(false, false, grammarAccess.getDatamartTableAttributeAccess().getRightCurlyBracketKeyword_1_3_4())), new GroupAlias(false, true, new TokenAlias(false, false, grammarAccess.getDatamartTableAttributeAccess().getLookupsKeyword_1_3_0()), new TokenAlias(false, false, grammarAccess.getDatamartTableAttributeAccess().getLeftCurlyBracketKeyword_1_3_2()), new TokenAlias(false, false, grammarAccess.getDatamartTableAttributeAccess().getRightCurlyBracketKeyword_1_3_4()), new TokenAlias(false, false, grammarAccess.getDatamartTableAttributeAccess().getIntervalsKeyword_1_2_0()), new TokenAlias(false, false, grammarAccess.getDatamartTableAttributeAccess().getLeftCurlyBracketKeyword_1_2_2()), new TokenAlias(false, false, grammarAccess.getDatamartTableAttributeAccess().getRightCurlyBracketKeyword_1_2_4())));
 		match_DatamartTableDetail_AllKeyword_3_0_or___LeftCurlyBracketKeyword_3_1_0_RightCurlyBracketKeyword_3_1_2__ = new AlternativeAlias(false, false, new GroupAlias(false, false, new TokenAlias(false, false, grammarAccess.getDatamartTableDetailAccess().getLeftCurlyBracketKeyword_3_1_0()), new TokenAlias(false, false, grammarAccess.getDatamartTableDetailAccess().getRightCurlyBracketKeyword_3_1_2())), new TokenAlias(false, false, grammarAccess.getDatamartTableDetailAccess().getAllKeyword_3_0()));
+		match_DatamartTableFooter___LeftCurlyBracketKeyword_3_0_RightCurlyBracketKeyword_3_2__q = new GroupAlias(false, true, new TokenAlias(false, false, grammarAccess.getDatamartTableFooterAccess().getLeftCurlyBracketKeyword_3_0()), new TokenAlias(false, false, grammarAccess.getDatamartTableFooterAccess().getRightCurlyBracketKeyword_3_2()));
+		match_DatamartTableHeader___LeftCurlyBracketKeyword_3_0_RightCurlyBracketKeyword_3_2__q = new GroupAlias(false, true, new TokenAlias(false, false, grammarAccess.getDatamartTableHeaderAccess().getLeftCurlyBracketKeyword_3_0()), new TokenAlias(false, false, grammarAccess.getDatamartTableHeaderAccess().getRightCurlyBracketKeyword_3_2()));
 		match_XAnnotation___LeftParenthesisKeyword_3_0_RightParenthesisKeyword_3_2__q = new GroupAlias(false, true, new TokenAlias(false, false, grammarAccess.getXAnnotationAccess().getLeftParenthesisKeyword_3_0()), new TokenAlias(false, false, grammarAccess.getXAnnotationAccess().getRightParenthesisKeyword_3_2()));
 		match_XBlockExpression_SemicolonKeyword_2_1_q = new TokenAlias(false, true, grammarAccess.getXBlockExpressionAccess().getSemicolonKeyword_2_1());
 		match_XExpressionInClosure_SemicolonKeyword_1_1_q = new TokenAlias(false, true, grammarAccess.getXExpressionInClosureAccess().getSemicolonKeyword_1_1());
@@ -159,6 +163,10 @@
 				emit_DatamartTableAttribute_____LookupsKeyword_1_3_0_LeftCurlyBracketKeyword_1_3_2_RightCurlyBracketKeyword_1_3_4__q___LookupsKeyword_1_3_0_LeftCurlyBracketKeyword_1_3_2_RightCurlyBracketKeyword_1_3_4_IntervalsKeyword_1_2_0_LeftCurlyBracketKeyword_1_2_2_RightCurlyBracketKeyword_1_2_4__q__p(semanticObject, getLastNavigableState(), syntaxNodes);
 			else if (match_DatamartTableDetail_AllKeyword_3_0_or___LeftCurlyBracketKeyword_3_1_0_RightCurlyBracketKeyword_3_1_2__.equals(syntax))
 				emit_DatamartTableDetail_AllKeyword_3_0_or___LeftCurlyBracketKeyword_3_1_0_RightCurlyBracketKeyword_3_1_2__(semanticObject, getLastNavigableState(), syntaxNodes);
+			else if (match_DatamartTableFooter___LeftCurlyBracketKeyword_3_0_RightCurlyBracketKeyword_3_2__q.equals(syntax))
+				emit_DatamartTableFooter___LeftCurlyBracketKeyword_3_0_RightCurlyBracketKeyword_3_2__q(semanticObject, getLastNavigableState(), syntaxNodes);
+			else if (match_DatamartTableHeader___LeftCurlyBracketKeyword_3_0_RightCurlyBracketKeyword_3_2__q.equals(syntax))
+				emit_DatamartTableHeader___LeftCurlyBracketKeyword_3_0_RightCurlyBracketKeyword_3_2__q(semanticObject, getLastNavigableState(), syntaxNodes);
 			else if (match_XAnnotation___LeftParenthesisKeyword_3_0_RightParenthesisKeyword_3_2__q.equals(syntax))
 				emit_XAnnotation___LeftParenthesisKeyword_3_0_RightParenthesisKeyword_3_2__q(semanticObject, getLastNavigableState(), syntaxNodes);
 			else if (match_XBlockExpression_SemicolonKeyword_2_1_q.equals(syntax))
@@ -606,7 +614,7 @@
 	
 	/**
 	 * Ambiguous syntax:
-	 *     (('intervals' '{' '}') | ('lookups' '{' '}'))*
+	 *     (('lookups' '{' '}') | ('intervals' '{' '}'))*
 	 *
 	 * This ambiguous syntax occurs at:
 	 *     column=TableValueElement (ambiguity) 'style' style=[Style|ID]
@@ -679,6 +687,32 @@
 	
 	/**
 	 * Ambiguous syntax:
+	 *     ('{' '}')?
+	 *
+	 * This ambiguous syntax occurs at:
+	 *     (rule start) 'footer' (ambiguity) (rule start)
+	 *     pageBreak=PageBreak (ambiguity) (rule end)
+	 *     style=[Style|ID] (ambiguity) (rule end)
+	 */
+	protected void emit_DatamartTableFooter___LeftCurlyBracketKeyword_3_0_RightCurlyBracketKeyword_3_2__q(EObject semanticObject, ISynNavigable transition, List<INode> nodes) {
+		acceptNodes(transition, nodes);
+	}
+	
+	/**
+	 * Ambiguous syntax:
+	 *     ('{' '}')?
+	 *
+	 * This ambiguous syntax occurs at:
+	 *     (rule start) 'header' (ambiguity) (rule start)
+	 *     pageBreak=PageBreak (ambiguity) (rule end)
+	 *     style=[Style|ID] (ambiguity) (rule end)
+	 */
+	protected void emit_DatamartTableHeader___LeftCurlyBracketKeyword_3_0_RightCurlyBracketKeyword_3_2__q(EObject semanticObject, ISynNavigable transition, List<INode> nodes) {
+		acceptNodes(transition, nodes);
+	}
+	
+	/**
+	 * Ambiguous syntax:
 	 *     ('(' ')')?
 	 *
 	 * This ambiguous syntax occurs at:
diff --git a/org.eclipse.osbp.xtext.reportdsl/src-gen/org/eclipse/osbp/xtext/reportdsl/services/ReportDSLGrammarAccess.java b/org.eclipse.osbp.xtext.reportdsl/src-gen/org/eclipse/osbp/xtext/reportdsl/services/ReportDSLGrammarAccess.java
index 769908f..6fd198f 100644
--- a/org.eclipse.osbp.xtext.reportdsl/src-gen/org/eclipse/osbp/xtext/reportdsl/services/ReportDSLGrammarAccess.java
+++ b/org.eclipse.osbp.xtext.reportdsl/src-gen/org/eclipse/osbp/xtext/reportdsl/services/ReportDSLGrammarAccess.java
@@ -913,10 +913,10 @@
 		//BorderStyle:
 		//	type=BorderTypeEnum
 		//	widthValue=UnsignedNumber
-		//	color=[Color];
+		//	color=[Color]?;
 		@Override public ParserRule getRule() { return rule; }
 		
-		//type=BorderTypeEnum widthValue=UnsignedNumber color=[Color]
+		//type=BorderTypeEnum widthValue=UnsignedNumber color=[Color]?
 		public Group getGroup() { return cGroup; }
 		
 		//type=BorderTypeEnum
@@ -931,7 +931,7 @@
 		//UnsignedNumber
 		public RuleCall getWidthValueUnsignedNumberParserRuleCall_1_0() { return cWidthValueUnsignedNumberParserRuleCall_1_0; }
 		
-		//color=[Color]
+		//color=[Color]?
 		public Assignment getColorAssignment_2() { return cColorAssignment_2; }
 		
 		//[Color]
@@ -983,53 +983,57 @@
 		private final Assignment cTextalignAssignment_4_4_1 = (Assignment)cGroup_4_4.eContents().get(1);
 		private final RuleCall cTextalignTextAlignEnumEnumRuleCall_4_4_1_0 = (RuleCall)cTextalignAssignment_4_4_1.eContents().get(0);
 		private final Group cGroup_4_5 = (Group)cUnorderedGroup_4.eContents().get(5);
-		private final Keyword cBorderTopKeyword_4_5_0 = (Keyword)cGroup_4_5.eContents().get(0);
-		private final Assignment cBorderTopAssignment_4_5_1 = (Assignment)cGroup_4_5.eContents().get(1);
-		private final RuleCall cBorderTopBorderStyleParserRuleCall_4_5_1_0 = (RuleCall)cBorderTopAssignment_4_5_1.eContents().get(0);
+		private final Keyword cVerticalalignKeyword_4_5_0 = (Keyword)cGroup_4_5.eContents().get(0);
+		private final Assignment cVerticalalignAssignment_4_5_1 = (Assignment)cGroup_4_5.eContents().get(1);
+		private final RuleCall cVerticalalignVerticalTextAlignEnumEnumRuleCall_4_5_1_0 = (RuleCall)cVerticalalignAssignment_4_5_1.eContents().get(0);
 		private final Group cGroup_4_6 = (Group)cUnorderedGroup_4.eContents().get(6);
-		private final Keyword cBorderBottomKeyword_4_6_0 = (Keyword)cGroup_4_6.eContents().get(0);
-		private final Assignment cBorderBottomAssignment_4_6_1 = (Assignment)cGroup_4_6.eContents().get(1);
-		private final RuleCall cBorderBottomBorderStyleParserRuleCall_4_6_1_0 = (RuleCall)cBorderBottomAssignment_4_6_1.eContents().get(0);
+		private final Keyword cBorderTopKeyword_4_6_0 = (Keyword)cGroup_4_6.eContents().get(0);
+		private final Assignment cBorderTopAssignment_4_6_1 = (Assignment)cGroup_4_6.eContents().get(1);
+		private final RuleCall cBorderTopBorderStyleParserRuleCall_4_6_1_0 = (RuleCall)cBorderTopAssignment_4_6_1.eContents().get(0);
 		private final Group cGroup_4_7 = (Group)cUnorderedGroup_4.eContents().get(7);
-		private final Keyword cBorderLeftKeyword_4_7_0 = (Keyword)cGroup_4_7.eContents().get(0);
-		private final Assignment cBorderLeftAssignment_4_7_1 = (Assignment)cGroup_4_7.eContents().get(1);
-		private final RuleCall cBorderLeftBorderStyleParserRuleCall_4_7_1_0 = (RuleCall)cBorderLeftAssignment_4_7_1.eContents().get(0);
+		private final Keyword cBorderBottomKeyword_4_7_0 = (Keyword)cGroup_4_7.eContents().get(0);
+		private final Assignment cBorderBottomAssignment_4_7_1 = (Assignment)cGroup_4_7.eContents().get(1);
+		private final RuleCall cBorderBottomBorderStyleParserRuleCall_4_7_1_0 = (RuleCall)cBorderBottomAssignment_4_7_1.eContents().get(0);
 		private final Group cGroup_4_8 = (Group)cUnorderedGroup_4.eContents().get(8);
-		private final Keyword cBorderRightKeyword_4_8_0 = (Keyword)cGroup_4_8.eContents().get(0);
-		private final Assignment cBorderRightAssignment_4_8_1 = (Assignment)cGroup_4_8.eContents().get(1);
-		private final RuleCall cBorderRightBorderStyleParserRuleCall_4_8_1_0 = (RuleCall)cBorderRightAssignment_4_8_1.eContents().get(0);
+		private final Keyword cBorderLeftKeyword_4_8_0 = (Keyword)cGroup_4_8.eContents().get(0);
+		private final Assignment cBorderLeftAssignment_4_8_1 = (Assignment)cGroup_4_8.eContents().get(1);
+		private final RuleCall cBorderLeftBorderStyleParserRuleCall_4_8_1_0 = (RuleCall)cBorderLeftAssignment_4_8_1.eContents().get(0);
 		private final Group cGroup_4_9 = (Group)cUnorderedGroup_4.eContents().get(9);
-		private final Keyword cPaddingTopKeyword_4_9_0 = (Keyword)cGroup_4_9.eContents().get(0);
-		private final Assignment cPaddingTopValueAssignment_4_9_1 = (Assignment)cGroup_4_9.eContents().get(1);
-		private final RuleCall cPaddingTopValueUnsignedNumberParserRuleCall_4_9_1_0 = (RuleCall)cPaddingTopValueAssignment_4_9_1.eContents().get(0);
+		private final Keyword cBorderRightKeyword_4_9_0 = (Keyword)cGroup_4_9.eContents().get(0);
+		private final Assignment cBorderRightAssignment_4_9_1 = (Assignment)cGroup_4_9.eContents().get(1);
+		private final RuleCall cBorderRightBorderStyleParserRuleCall_4_9_1_0 = (RuleCall)cBorderRightAssignment_4_9_1.eContents().get(0);
 		private final Group cGroup_4_10 = (Group)cUnorderedGroup_4.eContents().get(10);
-		private final Keyword cPaddingBottomKeyword_4_10_0 = (Keyword)cGroup_4_10.eContents().get(0);
-		private final Assignment cPaddingBottomValueAssignment_4_10_1 = (Assignment)cGroup_4_10.eContents().get(1);
-		private final RuleCall cPaddingBottomValueUnsignedNumberParserRuleCall_4_10_1_0 = (RuleCall)cPaddingBottomValueAssignment_4_10_1.eContents().get(0);
+		private final Keyword cPaddingTopKeyword_4_10_0 = (Keyword)cGroup_4_10.eContents().get(0);
+		private final Assignment cPaddingTopValueAssignment_4_10_1 = (Assignment)cGroup_4_10.eContents().get(1);
+		private final RuleCall cPaddingTopValueUnsignedNumberParserRuleCall_4_10_1_0 = (RuleCall)cPaddingTopValueAssignment_4_10_1.eContents().get(0);
 		private final Group cGroup_4_11 = (Group)cUnorderedGroup_4.eContents().get(11);
-		private final Keyword cPaddingLeftKeyword_4_11_0 = (Keyword)cGroup_4_11.eContents().get(0);
-		private final Assignment cPaddingLeftValueAssignment_4_11_1 = (Assignment)cGroup_4_11.eContents().get(1);
-		private final RuleCall cPaddingLeftValueUnsignedNumberParserRuleCall_4_11_1_0 = (RuleCall)cPaddingLeftValueAssignment_4_11_1.eContents().get(0);
+		private final Keyword cPaddingBottomKeyword_4_11_0 = (Keyword)cGroup_4_11.eContents().get(0);
+		private final Assignment cPaddingBottomValueAssignment_4_11_1 = (Assignment)cGroup_4_11.eContents().get(1);
+		private final RuleCall cPaddingBottomValueUnsignedNumberParserRuleCall_4_11_1_0 = (RuleCall)cPaddingBottomValueAssignment_4_11_1.eContents().get(0);
 		private final Group cGroup_4_12 = (Group)cUnorderedGroup_4.eContents().get(12);
-		private final Keyword cPaddingRightKeyword_4_12_0 = (Keyword)cGroup_4_12.eContents().get(0);
-		private final Assignment cPaddingRightValueAssignment_4_12_1 = (Assignment)cGroup_4_12.eContents().get(1);
-		private final RuleCall cPaddingRightValueUnsignedNumberParserRuleCall_4_12_1_0 = (RuleCall)cPaddingRightValueAssignment_4_12_1.eContents().get(0);
+		private final Keyword cPaddingLeftKeyword_4_12_0 = (Keyword)cGroup_4_12.eContents().get(0);
+		private final Assignment cPaddingLeftValueAssignment_4_12_1 = (Assignment)cGroup_4_12.eContents().get(1);
+		private final RuleCall cPaddingLeftValueUnsignedNumberParserRuleCall_4_12_1_0 = (RuleCall)cPaddingLeftValueAssignment_4_12_1.eContents().get(0);
 		private final Group cGroup_4_13 = (Group)cUnorderedGroup_4.eContents().get(13);
-		private final Keyword cMarginTopKeyword_4_13_0 = (Keyword)cGroup_4_13.eContents().get(0);
-		private final Assignment cMarginTopValueAssignment_4_13_1 = (Assignment)cGroup_4_13.eContents().get(1);
-		private final RuleCall cMarginTopValueUnsignedNumberParserRuleCall_4_13_1_0 = (RuleCall)cMarginTopValueAssignment_4_13_1.eContents().get(0);
+		private final Keyword cPaddingRightKeyword_4_13_0 = (Keyword)cGroup_4_13.eContents().get(0);
+		private final Assignment cPaddingRightValueAssignment_4_13_1 = (Assignment)cGroup_4_13.eContents().get(1);
+		private final RuleCall cPaddingRightValueUnsignedNumberParserRuleCall_4_13_1_0 = (RuleCall)cPaddingRightValueAssignment_4_13_1.eContents().get(0);
 		private final Group cGroup_4_14 = (Group)cUnorderedGroup_4.eContents().get(14);
-		private final Keyword cMarginBottomKeyword_4_14_0 = (Keyword)cGroup_4_14.eContents().get(0);
-		private final Assignment cMarginBottomValueAssignment_4_14_1 = (Assignment)cGroup_4_14.eContents().get(1);
-		private final RuleCall cMarginBottomValueUnsignedNumberParserRuleCall_4_14_1_0 = (RuleCall)cMarginBottomValueAssignment_4_14_1.eContents().get(0);
+		private final Keyword cMarginTopKeyword_4_14_0 = (Keyword)cGroup_4_14.eContents().get(0);
+		private final Assignment cMarginTopValueAssignment_4_14_1 = (Assignment)cGroup_4_14.eContents().get(1);
+		private final RuleCall cMarginTopValueUnsignedNumberParserRuleCall_4_14_1_0 = (RuleCall)cMarginTopValueAssignment_4_14_1.eContents().get(0);
 		private final Group cGroup_4_15 = (Group)cUnorderedGroup_4.eContents().get(15);
-		private final Keyword cMarginLeftKeyword_4_15_0 = (Keyword)cGroup_4_15.eContents().get(0);
-		private final Assignment cMarginLeftValueAssignment_4_15_1 = (Assignment)cGroup_4_15.eContents().get(1);
-		private final RuleCall cMarginLeftValueUnsignedNumberParserRuleCall_4_15_1_0 = (RuleCall)cMarginLeftValueAssignment_4_15_1.eContents().get(0);
+		private final Keyword cMarginBottomKeyword_4_15_0 = (Keyword)cGroup_4_15.eContents().get(0);
+		private final Assignment cMarginBottomValueAssignment_4_15_1 = (Assignment)cGroup_4_15.eContents().get(1);
+		private final RuleCall cMarginBottomValueUnsignedNumberParserRuleCall_4_15_1_0 = (RuleCall)cMarginBottomValueAssignment_4_15_1.eContents().get(0);
 		private final Group cGroup_4_16 = (Group)cUnorderedGroup_4.eContents().get(16);
-		private final Keyword cMarginRightKeyword_4_16_0 = (Keyword)cGroup_4_16.eContents().get(0);
-		private final Assignment cMarginRightValueAssignment_4_16_1 = (Assignment)cGroup_4_16.eContents().get(1);
-		private final RuleCall cMarginRightValueUnsignedNumberParserRuleCall_4_16_1_0 = (RuleCall)cMarginRightValueAssignment_4_16_1.eContents().get(0);
+		private final Keyword cMarginLeftKeyword_4_16_0 = (Keyword)cGroup_4_16.eContents().get(0);
+		private final Assignment cMarginLeftValueAssignment_4_16_1 = (Assignment)cGroup_4_16.eContents().get(1);
+		private final RuleCall cMarginLeftValueUnsignedNumberParserRuleCall_4_16_1_0 = (RuleCall)cMarginLeftValueAssignment_4_16_1.eContents().get(0);
+		private final Group cGroup_4_17 = (Group)cUnorderedGroup_4.eContents().get(17);
+		private final Keyword cMarginRightKeyword_4_17_0 = (Keyword)cGroup_4_17.eContents().get(0);
+		private final Assignment cMarginRightValueAssignment_4_17_1 = (Assignment)cGroup_4_17.eContents().get(1);
+		private final RuleCall cMarginRightValueUnsignedNumberParserRuleCall_4_17_1_0 = (RuleCall)cMarginRightValueAssignment_4_17_1.eContents().get(0);
 		private final Assignment cMediastylesAssignment_5 = (Assignment)cGroup.eContents().get(5);
 		private final RuleCall cMediastylesMediaStyleParserRuleCall_5_0 = (RuleCall)cMediastylesAssignment_5.eContents().get(0);
 		private final Keyword cRightCurlyBracketKeyword_6 = (Keyword)cGroup.eContents().get(6);
@@ -1037,11 +1041,11 @@
 		//Style:
 		//	'style' name=ID '{' ('extends' extends=[Style])? (('formatter' format=[SomeFormat])? & ('font' font=[Font])? &
 		//	('backgroundcolor' backgroundcolor=[Color] ('alternate' backgroundcolor_alternate=[Color])?)? & ('textcolor'
-		//	textcolor=[Color])? & ('textalign' textalign=TextAlignEnum)? & ('border-top' borderTop=BorderStyle)? &
-		//	('border-bottom' borderBottom=BorderStyle)? & ('border-left' borderLeft=BorderStyle)? & ('border-right'
-		//	borderRight=BorderStyle)? & ('padding-top' paddingTopValue=UnsignedNumber)? & ('padding-bottom'
-		//	paddingBottomValue=UnsignedNumber)? & ('padding-left' paddingLeftValue=UnsignedNumber)? & ('padding-right'
-		//	paddingRightValue=UnsignedNumber)? & ('margin-top' marginTopValue=UnsignedNumber)? & ('margin-bottom'
+		//	textcolor=[Color])? & ('textalign' textalign=TextAlignEnum)? & ('verticalalign' verticalalign=VerticalTextAlignEnum)?
+		//	& ('border-top' borderTop=BorderStyle)? & ('border-bottom' borderBottom=BorderStyle)? & ('border-left'
+		//	borderLeft=BorderStyle)? & ('border-right' borderRight=BorderStyle)? & ('padding-top' paddingTopValue=UnsignedNumber)?
+		//	& ('padding-bottom' paddingBottomValue=UnsignedNumber)? & ('padding-left' paddingLeftValue=UnsignedNumber)? &
+		//	('padding-right' paddingRightValue=UnsignedNumber)? & ('margin-top' marginTopValue=UnsignedNumber)? & ('margin-bottom'
 		//	marginBottomValue=UnsignedNumber)? & ('margin-left' marginLeftValue=UnsignedNumber)? & ('margin-right'
 		//	marginRightValue=UnsignedNumber)?) mediastyles+=MediaStyle*
 		//	'}';
@@ -1049,12 +1053,13 @@
 		
 		//'style' name=ID '{' ('extends' extends=[Style])? (('formatter' format=[SomeFormat])? & ('font' font=[Font])? &
 		//('backgroundcolor' backgroundcolor=[Color] ('alternate' backgroundcolor_alternate=[Color])?)? & ('textcolor'
-		//textcolor=[Color])? & ('textalign' textalign=TextAlignEnum)? & ('border-top' borderTop=BorderStyle)? & ('border-bottom'
-		//borderBottom=BorderStyle)? & ('border-left' borderLeft=BorderStyle)? & ('border-right' borderRight=BorderStyle)? &
-		//('padding-top' paddingTopValue=UnsignedNumber)? & ('padding-bottom' paddingBottomValue=UnsignedNumber)? &
-		//('padding-left' paddingLeftValue=UnsignedNumber)? & ('padding-right' paddingRightValue=UnsignedNumber)? & ('margin-top'
-		//marginTopValue=UnsignedNumber)? & ('margin-bottom' marginBottomValue=UnsignedNumber)? & ('margin-left'
-		//marginLeftValue=UnsignedNumber)? & ('margin-right' marginRightValue=UnsignedNumber)?) mediastyles+=MediaStyle* '}'
+		//textcolor=[Color])? & ('textalign' textalign=TextAlignEnum)? & ('verticalalign' verticalalign=VerticalTextAlignEnum)? &
+		//('border-top' borderTop=BorderStyle)? & ('border-bottom' borderBottom=BorderStyle)? & ('border-left'
+		//borderLeft=BorderStyle)? & ('border-right' borderRight=BorderStyle)? & ('padding-top' paddingTopValue=UnsignedNumber)?
+		//& ('padding-bottom' paddingBottomValue=UnsignedNumber)? & ('padding-left' paddingLeftValue=UnsignedNumber)? &
+		//('padding-right' paddingRightValue=UnsignedNumber)? & ('margin-top' marginTopValue=UnsignedNumber)? & ('margin-bottom'
+		//marginBottomValue=UnsignedNumber)? & ('margin-left' marginLeftValue=UnsignedNumber)? & ('margin-right'
+		//marginRightValue=UnsignedNumber)?) mediastyles+=MediaStyle* '}'
 		public Group getGroup() { return cGroup; }
 		
 		//'style'
@@ -1086,12 +1091,12 @@
 		
 		//('formatter' format=[SomeFormat])? & ('font' font=[Font])? & ('backgroundcolor' backgroundcolor=[Color] ('alternate'
 		//backgroundcolor_alternate=[Color])?)? & ('textcolor' textcolor=[Color])? & ('textalign' textalign=TextAlignEnum)? &
-		//('border-top' borderTop=BorderStyle)? & ('border-bottom' borderBottom=BorderStyle)? & ('border-left'
-		//borderLeft=BorderStyle)? & ('border-right' borderRight=BorderStyle)? & ('padding-top' paddingTopValue=UnsignedNumber)?
-		//& ('padding-bottom' paddingBottomValue=UnsignedNumber)? & ('padding-left' paddingLeftValue=UnsignedNumber)? &
-		//('padding-right' paddingRightValue=UnsignedNumber)? & ('margin-top' marginTopValue=UnsignedNumber)? & ('margin-bottom'
-		//marginBottomValue=UnsignedNumber)? & ('margin-left' marginLeftValue=UnsignedNumber)? & ('margin-right'
-		//marginRightValue=UnsignedNumber)?
+		//('verticalalign' verticalalign=VerticalTextAlignEnum)? & ('border-top' borderTop=BorderStyle)? & ('border-bottom'
+		//borderBottom=BorderStyle)? & ('border-left' borderLeft=BorderStyle)? & ('border-right' borderRight=BorderStyle)? &
+		//('padding-top' paddingTopValue=UnsignedNumber)? & ('padding-bottom' paddingBottomValue=UnsignedNumber)? &
+		//('padding-left' paddingLeftValue=UnsignedNumber)? & ('padding-right' paddingRightValue=UnsignedNumber)? & ('margin-top'
+		//marginTopValue=UnsignedNumber)? & ('margin-bottom' marginBottomValue=UnsignedNumber)? & ('margin-left'
+		//marginLeftValue=UnsignedNumber)? & ('margin-right' marginRightValue=UnsignedNumber)?
 		public UnorderedGroup getUnorderedGroup_4() { return cUnorderedGroup_4; }
 		
 		//('formatter' format=[SomeFormat])?
@@ -1181,149 +1186,161 @@
 		//TextAlignEnum
 		public RuleCall getTextalignTextAlignEnumEnumRuleCall_4_4_1_0() { return cTextalignTextAlignEnumEnumRuleCall_4_4_1_0; }
 		
-		//('border-top' borderTop=BorderStyle)?
+		//('verticalalign' verticalalign=VerticalTextAlignEnum)?
 		public Group getGroup_4_5() { return cGroup_4_5; }
 		
-		//'border-top'
-		public Keyword getBorderTopKeyword_4_5_0() { return cBorderTopKeyword_4_5_0; }
+		//'verticalalign'
+		public Keyword getVerticalalignKeyword_4_5_0() { return cVerticalalignKeyword_4_5_0; }
 		
-		//borderTop=BorderStyle
-		public Assignment getBorderTopAssignment_4_5_1() { return cBorderTopAssignment_4_5_1; }
+		//verticalalign=VerticalTextAlignEnum
+		public Assignment getVerticalalignAssignment_4_5_1() { return cVerticalalignAssignment_4_5_1; }
 		
-		//BorderStyle
-		public RuleCall getBorderTopBorderStyleParserRuleCall_4_5_1_0() { return cBorderTopBorderStyleParserRuleCall_4_5_1_0; }
+		//VerticalTextAlignEnum
+		public RuleCall getVerticalalignVerticalTextAlignEnumEnumRuleCall_4_5_1_0() { return cVerticalalignVerticalTextAlignEnumEnumRuleCall_4_5_1_0; }
 		
-		//('border-bottom' borderBottom=BorderStyle)?
+		//('border-top' borderTop=BorderStyle)?
 		public Group getGroup_4_6() { return cGroup_4_6; }
 		
-		//'border-bottom'
-		public Keyword getBorderBottomKeyword_4_6_0() { return cBorderBottomKeyword_4_6_0; }
+		//'border-top'
+		public Keyword getBorderTopKeyword_4_6_0() { return cBorderTopKeyword_4_6_0; }
 		
-		//borderBottom=BorderStyle
-		public Assignment getBorderBottomAssignment_4_6_1() { return cBorderBottomAssignment_4_6_1; }
+		//borderTop=BorderStyle
+		public Assignment getBorderTopAssignment_4_6_1() { return cBorderTopAssignment_4_6_1; }
 		
 		//BorderStyle
-		public RuleCall getBorderBottomBorderStyleParserRuleCall_4_6_1_0() { return cBorderBottomBorderStyleParserRuleCall_4_6_1_0; }
+		public RuleCall getBorderTopBorderStyleParserRuleCall_4_6_1_0() { return cBorderTopBorderStyleParserRuleCall_4_6_1_0; }
 		
-		//('border-left' borderLeft=BorderStyle)?
+		//('border-bottom' borderBottom=BorderStyle)?
 		public Group getGroup_4_7() { return cGroup_4_7; }
 		
-		//'border-left'
-		public Keyword getBorderLeftKeyword_4_7_0() { return cBorderLeftKeyword_4_7_0; }
+		//'border-bottom'
+		public Keyword getBorderBottomKeyword_4_7_0() { return cBorderBottomKeyword_4_7_0; }
 		
-		//borderLeft=BorderStyle
-		public Assignment getBorderLeftAssignment_4_7_1() { return cBorderLeftAssignment_4_7_1; }
+		//borderBottom=BorderStyle
+		public Assignment getBorderBottomAssignment_4_7_1() { return cBorderBottomAssignment_4_7_1; }
 		
 		//BorderStyle
-		public RuleCall getBorderLeftBorderStyleParserRuleCall_4_7_1_0() { return cBorderLeftBorderStyleParserRuleCall_4_7_1_0; }
+		public RuleCall getBorderBottomBorderStyleParserRuleCall_4_7_1_0() { return cBorderBottomBorderStyleParserRuleCall_4_7_1_0; }
 		
-		//('border-right' borderRight=BorderStyle)?
+		//('border-left' borderLeft=BorderStyle)?
 		public Group getGroup_4_8() { return cGroup_4_8; }
 		
-		//'border-right'
-		public Keyword getBorderRightKeyword_4_8_0() { return cBorderRightKeyword_4_8_0; }
+		//'border-left'
+		public Keyword getBorderLeftKeyword_4_8_0() { return cBorderLeftKeyword_4_8_0; }
 		
-		//borderRight=BorderStyle
-		public Assignment getBorderRightAssignment_4_8_1() { return cBorderRightAssignment_4_8_1; }
+		//borderLeft=BorderStyle
+		public Assignment getBorderLeftAssignment_4_8_1() { return cBorderLeftAssignment_4_8_1; }
 		
 		//BorderStyle
-		public RuleCall getBorderRightBorderStyleParserRuleCall_4_8_1_0() { return cBorderRightBorderStyleParserRuleCall_4_8_1_0; }
+		public RuleCall getBorderLeftBorderStyleParserRuleCall_4_8_1_0() { return cBorderLeftBorderStyleParserRuleCall_4_8_1_0; }
 		
-		//('padding-top' paddingTopValue=UnsignedNumber)?
+		//('border-right' borderRight=BorderStyle)?
 		public Group getGroup_4_9() { return cGroup_4_9; }
 		
-		//'padding-top'
-		public Keyword getPaddingTopKeyword_4_9_0() { return cPaddingTopKeyword_4_9_0; }
+		//'border-right'
+		public Keyword getBorderRightKeyword_4_9_0() { return cBorderRightKeyword_4_9_0; }
 		
-		//paddingTopValue=UnsignedNumber
-		public Assignment getPaddingTopValueAssignment_4_9_1() { return cPaddingTopValueAssignment_4_9_1; }
+		//borderRight=BorderStyle
+		public Assignment getBorderRightAssignment_4_9_1() { return cBorderRightAssignment_4_9_1; }
 		
-		//UnsignedNumber
-		public RuleCall getPaddingTopValueUnsignedNumberParserRuleCall_4_9_1_0() { return cPaddingTopValueUnsignedNumberParserRuleCall_4_9_1_0; }
+		//BorderStyle
+		public RuleCall getBorderRightBorderStyleParserRuleCall_4_9_1_0() { return cBorderRightBorderStyleParserRuleCall_4_9_1_0; }
 		
-		//('padding-bottom' paddingBottomValue=UnsignedNumber)?
+		//('padding-top' paddingTopValue=UnsignedNumber)?
 		public Group getGroup_4_10() { return cGroup_4_10; }
 		
-		//'padding-bottom'
-		public Keyword getPaddingBottomKeyword_4_10_0() { return cPaddingBottomKeyword_4_10_0; }
+		//'padding-top'
+		public Keyword getPaddingTopKeyword_4_10_0() { return cPaddingTopKeyword_4_10_0; }
 		
-		//paddingBottomValue=UnsignedNumber
-		public Assignment getPaddingBottomValueAssignment_4_10_1() { return cPaddingBottomValueAssignment_4_10_1; }
+		//paddingTopValue=UnsignedNumber
+		public Assignment getPaddingTopValueAssignment_4_10_1() { return cPaddingTopValueAssignment_4_10_1; }
 		
 		//UnsignedNumber
-		public RuleCall getPaddingBottomValueUnsignedNumberParserRuleCall_4_10_1_0() { return cPaddingBottomValueUnsignedNumberParserRuleCall_4_10_1_0; }
+		public RuleCall getPaddingTopValueUnsignedNumberParserRuleCall_4_10_1_0() { return cPaddingTopValueUnsignedNumberParserRuleCall_4_10_1_0; }
 		
-		//('padding-left' paddingLeftValue=UnsignedNumber)?
+		//('padding-bottom' paddingBottomValue=UnsignedNumber)?
 		public Group getGroup_4_11() { return cGroup_4_11; }
 		
-		//'padding-left'
-		public Keyword getPaddingLeftKeyword_4_11_0() { return cPaddingLeftKeyword_4_11_0; }
+		//'padding-bottom'
+		public Keyword getPaddingBottomKeyword_4_11_0() { return cPaddingBottomKeyword_4_11_0; }
 		
-		//paddingLeftValue=UnsignedNumber
-		public Assignment getPaddingLeftValueAssignment_4_11_1() { return cPaddingLeftValueAssignment_4_11_1; }
+		//paddingBottomValue=UnsignedNumber
+		public Assignment getPaddingBottomValueAssignment_4_11_1() { return cPaddingBottomValueAssignment_4_11_1; }
 		
 		//UnsignedNumber
-		public RuleCall getPaddingLeftValueUnsignedNumberParserRuleCall_4_11_1_0() { return cPaddingLeftValueUnsignedNumberParserRuleCall_4_11_1_0; }
+		public RuleCall getPaddingBottomValueUnsignedNumberParserRuleCall_4_11_1_0() { return cPaddingBottomValueUnsignedNumberParserRuleCall_4_11_1_0; }
 		
-		//('padding-right' paddingRightValue=UnsignedNumber)?
+		//('padding-left' paddingLeftValue=UnsignedNumber)?
 		public Group getGroup_4_12() { return cGroup_4_12; }
 		
-		//'padding-right'
-		public Keyword getPaddingRightKeyword_4_12_0() { return cPaddingRightKeyword_4_12_0; }
+		//'padding-left'
+		public Keyword getPaddingLeftKeyword_4_12_0() { return cPaddingLeftKeyword_4_12_0; }
 		
-		//paddingRightValue=UnsignedNumber
-		public Assignment getPaddingRightValueAssignment_4_12_1() { return cPaddingRightValueAssignment_4_12_1; }
+		//paddingLeftValue=UnsignedNumber
+		public Assignment getPaddingLeftValueAssignment_4_12_1() { return cPaddingLeftValueAssignment_4_12_1; }
 		
 		//UnsignedNumber
-		public RuleCall getPaddingRightValueUnsignedNumberParserRuleCall_4_12_1_0() { return cPaddingRightValueUnsignedNumberParserRuleCall_4_12_1_0; }
+		public RuleCall getPaddingLeftValueUnsignedNumberParserRuleCall_4_12_1_0() { return cPaddingLeftValueUnsignedNumberParserRuleCall_4_12_1_0; }
 		
-		//('margin-top' marginTopValue=UnsignedNumber)?
+		//('padding-right' paddingRightValue=UnsignedNumber)?
 		public Group getGroup_4_13() { return cGroup_4_13; }
 		
-		//'margin-top'
-		public Keyword getMarginTopKeyword_4_13_0() { return cMarginTopKeyword_4_13_0; }
+		//'padding-right'
+		public Keyword getPaddingRightKeyword_4_13_0() { return cPaddingRightKeyword_4_13_0; }
 		
-		//marginTopValue=UnsignedNumber
-		public Assignment getMarginTopValueAssignment_4_13_1() { return cMarginTopValueAssignment_4_13_1; }
+		//paddingRightValue=UnsignedNumber
+		public Assignment getPaddingRightValueAssignment_4_13_1() { return cPaddingRightValueAssignment_4_13_1; }
 		
 		//UnsignedNumber
-		public RuleCall getMarginTopValueUnsignedNumberParserRuleCall_4_13_1_0() { return cMarginTopValueUnsignedNumberParserRuleCall_4_13_1_0; }
+		public RuleCall getPaddingRightValueUnsignedNumberParserRuleCall_4_13_1_0() { return cPaddingRightValueUnsignedNumberParserRuleCall_4_13_1_0; }
 		
-		//('margin-bottom' marginBottomValue=UnsignedNumber)?
+		//('margin-top' marginTopValue=UnsignedNumber)?
 		public Group getGroup_4_14() { return cGroup_4_14; }
 		
-		//'margin-bottom'
-		public Keyword getMarginBottomKeyword_4_14_0() { return cMarginBottomKeyword_4_14_0; }
+		//'margin-top'
+		public Keyword getMarginTopKeyword_4_14_0() { return cMarginTopKeyword_4_14_0; }
 		
-		//marginBottomValue=UnsignedNumber
-		public Assignment getMarginBottomValueAssignment_4_14_1() { return cMarginBottomValueAssignment_4_14_1; }
+		//marginTopValue=UnsignedNumber
+		public Assignment getMarginTopValueAssignment_4_14_1() { return cMarginTopValueAssignment_4_14_1; }
 		
 		//UnsignedNumber
-		public RuleCall getMarginBottomValueUnsignedNumberParserRuleCall_4_14_1_0() { return cMarginBottomValueUnsignedNumberParserRuleCall_4_14_1_0; }
+		public RuleCall getMarginTopValueUnsignedNumberParserRuleCall_4_14_1_0() { return cMarginTopValueUnsignedNumberParserRuleCall_4_14_1_0; }
 		
-		//('margin-left' marginLeftValue=UnsignedNumber)?
+		//('margin-bottom' marginBottomValue=UnsignedNumber)?
 		public Group getGroup_4_15() { return cGroup_4_15; }
 		
-		//'margin-left'
-		public Keyword getMarginLeftKeyword_4_15_0() { return cMarginLeftKeyword_4_15_0; }
+		//'margin-bottom'
+		public Keyword getMarginBottomKeyword_4_15_0() { return cMarginBottomKeyword_4_15_0; }
 		
-		//marginLeftValue=UnsignedNumber
-		public Assignment getMarginLeftValueAssignment_4_15_1() { return cMarginLeftValueAssignment_4_15_1; }
+		//marginBottomValue=UnsignedNumber
+		public Assignment getMarginBottomValueAssignment_4_15_1() { return cMarginBottomValueAssignment_4_15_1; }
 		
 		//UnsignedNumber
-		public RuleCall getMarginLeftValueUnsignedNumberParserRuleCall_4_15_1_0() { return cMarginLeftValueUnsignedNumberParserRuleCall_4_15_1_0; }
+		public RuleCall getMarginBottomValueUnsignedNumberParserRuleCall_4_15_1_0() { return cMarginBottomValueUnsignedNumberParserRuleCall_4_15_1_0; }
 		
-		//('margin-right' marginRightValue=UnsignedNumber)?
+		//('margin-left' marginLeftValue=UnsignedNumber)?
 		public Group getGroup_4_16() { return cGroup_4_16; }
 		
-		//'margin-right'
-		public Keyword getMarginRightKeyword_4_16_0() { return cMarginRightKeyword_4_16_0; }
+		//'margin-left'
+		public Keyword getMarginLeftKeyword_4_16_0() { return cMarginLeftKeyword_4_16_0; }
 		
-		//marginRightValue=UnsignedNumber
-		public Assignment getMarginRightValueAssignment_4_16_1() { return cMarginRightValueAssignment_4_16_1; }
+		//marginLeftValue=UnsignedNumber
+		public Assignment getMarginLeftValueAssignment_4_16_1() { return cMarginLeftValueAssignment_4_16_1; }
 		
 		//UnsignedNumber
-		public RuleCall getMarginRightValueUnsignedNumberParserRuleCall_4_16_1_0() { return cMarginRightValueUnsignedNumberParserRuleCall_4_16_1_0; }
+		public RuleCall getMarginLeftValueUnsignedNumberParserRuleCall_4_16_1_0() { return cMarginLeftValueUnsignedNumberParserRuleCall_4_16_1_0; }
+		
+		//('margin-right' marginRightValue=UnsignedNumber)?
+		public Group getGroup_4_17() { return cGroup_4_17; }
+		
+		//'margin-right'
+		public Keyword getMarginRightKeyword_4_17_0() { return cMarginRightKeyword_4_17_0; }
+		
+		//marginRightValue=UnsignedNumber
+		public Assignment getMarginRightValueAssignment_4_17_1() { return cMarginRightValueAssignment_4_17_1; }
+		
+		//UnsignedNumber
+		public RuleCall getMarginRightValueUnsignedNumberParserRuleCall_4_17_1_0() { return cMarginRightValueUnsignedNumberParserRuleCall_4_17_1_0; }
 		
 		//mediastyles+=MediaStyle*
 		public Assignment getMediastylesAssignment_5() { return cMediastylesAssignment_5; }
@@ -1373,75 +1390,81 @@
 		private final Assignment cTextalignAssignment_3_4_1 = (Assignment)cGroup_3_4.eContents().get(1);
 		private final RuleCall cTextalignTextAlignEnumEnumRuleCall_3_4_1_0 = (RuleCall)cTextalignAssignment_3_4_1.eContents().get(0);
 		private final Group cGroup_3_5 = (Group)cUnorderedGroup_3.eContents().get(5);
-		private final Keyword cBorderTopKeyword_3_5_0 = (Keyword)cGroup_3_5.eContents().get(0);
-		private final Assignment cBorderTopAssignment_3_5_1 = (Assignment)cGroup_3_5.eContents().get(1);
-		private final RuleCall cBorderTopBorderStyleParserRuleCall_3_5_1_0 = (RuleCall)cBorderTopAssignment_3_5_1.eContents().get(0);
+		private final Keyword cVerticalalignKeyword_3_5_0 = (Keyword)cGroup_3_5.eContents().get(0);
+		private final Assignment cVerticalalignAssignment_3_5_1 = (Assignment)cGroup_3_5.eContents().get(1);
+		private final RuleCall cVerticalalignVerticalTextAlignEnumEnumRuleCall_3_5_1_0 = (RuleCall)cVerticalalignAssignment_3_5_1.eContents().get(0);
 		private final Group cGroup_3_6 = (Group)cUnorderedGroup_3.eContents().get(6);
-		private final Keyword cBorderBottomKeyword_3_6_0 = (Keyword)cGroup_3_6.eContents().get(0);
-		private final Assignment cBorderBottomAssignment_3_6_1 = (Assignment)cGroup_3_6.eContents().get(1);
-		private final RuleCall cBorderBottomBorderStyleParserRuleCall_3_6_1_0 = (RuleCall)cBorderBottomAssignment_3_6_1.eContents().get(0);
+		private final Keyword cBorderTopKeyword_3_6_0 = (Keyword)cGroup_3_6.eContents().get(0);
+		private final Assignment cBorderTopAssignment_3_6_1 = (Assignment)cGroup_3_6.eContents().get(1);
+		private final RuleCall cBorderTopBorderStyleParserRuleCall_3_6_1_0 = (RuleCall)cBorderTopAssignment_3_6_1.eContents().get(0);
 		private final Group cGroup_3_7 = (Group)cUnorderedGroup_3.eContents().get(7);
-		private final Keyword cBorderLeftKeyword_3_7_0 = (Keyword)cGroup_3_7.eContents().get(0);
-		private final Assignment cBorderLeftAssignment_3_7_1 = (Assignment)cGroup_3_7.eContents().get(1);
-		private final RuleCall cBorderLeftBorderStyleParserRuleCall_3_7_1_0 = (RuleCall)cBorderLeftAssignment_3_7_1.eContents().get(0);
+		private final Keyword cBorderBottomKeyword_3_7_0 = (Keyword)cGroup_3_7.eContents().get(0);
+		private final Assignment cBorderBottomAssignment_3_7_1 = (Assignment)cGroup_3_7.eContents().get(1);
+		private final RuleCall cBorderBottomBorderStyleParserRuleCall_3_7_1_0 = (RuleCall)cBorderBottomAssignment_3_7_1.eContents().get(0);
 		private final Group cGroup_3_8 = (Group)cUnorderedGroup_3.eContents().get(8);
-		private final Keyword cBorderRightKeyword_3_8_0 = (Keyword)cGroup_3_8.eContents().get(0);
-		private final Assignment cBorderRightAssignment_3_8_1 = (Assignment)cGroup_3_8.eContents().get(1);
-		private final RuleCall cBorderRightBorderStyleParserRuleCall_3_8_1_0 = (RuleCall)cBorderRightAssignment_3_8_1.eContents().get(0);
+		private final Keyword cBorderLeftKeyword_3_8_0 = (Keyword)cGroup_3_8.eContents().get(0);
+		private final Assignment cBorderLeftAssignment_3_8_1 = (Assignment)cGroup_3_8.eContents().get(1);
+		private final RuleCall cBorderLeftBorderStyleParserRuleCall_3_8_1_0 = (RuleCall)cBorderLeftAssignment_3_8_1.eContents().get(0);
 		private final Group cGroup_3_9 = (Group)cUnorderedGroup_3.eContents().get(9);
-		private final Keyword cPaddingTopKeyword_3_9_0 = (Keyword)cGroup_3_9.eContents().get(0);
-		private final Assignment cPaddingTopValueAssignment_3_9_1 = (Assignment)cGroup_3_9.eContents().get(1);
-		private final RuleCall cPaddingTopValueUnsignedNumberParserRuleCall_3_9_1_0 = (RuleCall)cPaddingTopValueAssignment_3_9_1.eContents().get(0);
+		private final Keyword cBorderRightKeyword_3_9_0 = (Keyword)cGroup_3_9.eContents().get(0);
+		private final Assignment cBorderRightAssignment_3_9_1 = (Assignment)cGroup_3_9.eContents().get(1);
+		private final RuleCall cBorderRightBorderStyleParserRuleCall_3_9_1_0 = (RuleCall)cBorderRightAssignment_3_9_1.eContents().get(0);
 		private final Group cGroup_3_10 = (Group)cUnorderedGroup_3.eContents().get(10);
-		private final Keyword cPaddingBottomKeyword_3_10_0 = (Keyword)cGroup_3_10.eContents().get(0);
-		private final Assignment cPaddingBottomValueAssignment_3_10_1 = (Assignment)cGroup_3_10.eContents().get(1);
-		private final RuleCall cPaddingBottomValueUnsignedNumberParserRuleCall_3_10_1_0 = (RuleCall)cPaddingBottomValueAssignment_3_10_1.eContents().get(0);
+		private final Keyword cPaddingTopKeyword_3_10_0 = (Keyword)cGroup_3_10.eContents().get(0);
+		private final Assignment cPaddingTopValueAssignment_3_10_1 = (Assignment)cGroup_3_10.eContents().get(1);
+		private final RuleCall cPaddingTopValueUnsignedNumberParserRuleCall_3_10_1_0 = (RuleCall)cPaddingTopValueAssignment_3_10_1.eContents().get(0);
 		private final Group cGroup_3_11 = (Group)cUnorderedGroup_3.eContents().get(11);
-		private final Keyword cPaddingLeftKeyword_3_11_0 = (Keyword)cGroup_3_11.eContents().get(0);
-		private final Assignment cPaddingLeftValueAssignment_3_11_1 = (Assignment)cGroup_3_11.eContents().get(1);
-		private final RuleCall cPaddingLeftValueUnsignedNumberParserRuleCall_3_11_1_0 = (RuleCall)cPaddingLeftValueAssignment_3_11_1.eContents().get(0);
+		private final Keyword cPaddingBottomKeyword_3_11_0 = (Keyword)cGroup_3_11.eContents().get(0);
+		private final Assignment cPaddingBottomValueAssignment_3_11_1 = (Assignment)cGroup_3_11.eContents().get(1);
+		private final RuleCall cPaddingBottomValueUnsignedNumberParserRuleCall_3_11_1_0 = (RuleCall)cPaddingBottomValueAssignment_3_11_1.eContents().get(0);
 		private final Group cGroup_3_12 = (Group)cUnorderedGroup_3.eContents().get(12);
-		private final Keyword cPaddingRightKeyword_3_12_0 = (Keyword)cGroup_3_12.eContents().get(0);
-		private final Assignment cPaddingRightValueAssignment_3_12_1 = (Assignment)cGroup_3_12.eContents().get(1);
-		private final RuleCall cPaddingRightValueUnsignedNumberParserRuleCall_3_12_1_0 = (RuleCall)cPaddingRightValueAssignment_3_12_1.eContents().get(0);
+		private final Keyword cPaddingLeftKeyword_3_12_0 = (Keyword)cGroup_3_12.eContents().get(0);
+		private final Assignment cPaddingLeftValueAssignment_3_12_1 = (Assignment)cGroup_3_12.eContents().get(1);
+		private final RuleCall cPaddingLeftValueUnsignedNumberParserRuleCall_3_12_1_0 = (RuleCall)cPaddingLeftValueAssignment_3_12_1.eContents().get(0);
 		private final Group cGroup_3_13 = (Group)cUnorderedGroup_3.eContents().get(13);
-		private final Keyword cMarginTopKeyword_3_13_0 = (Keyword)cGroup_3_13.eContents().get(0);
-		private final Assignment cMarginTopValueAssignment_3_13_1 = (Assignment)cGroup_3_13.eContents().get(1);
-		private final RuleCall cMarginTopValueUnsignedNumberParserRuleCall_3_13_1_0 = (RuleCall)cMarginTopValueAssignment_3_13_1.eContents().get(0);
+		private final Keyword cPaddingRightKeyword_3_13_0 = (Keyword)cGroup_3_13.eContents().get(0);
+		private final Assignment cPaddingRightValueAssignment_3_13_1 = (Assignment)cGroup_3_13.eContents().get(1);
+		private final RuleCall cPaddingRightValueUnsignedNumberParserRuleCall_3_13_1_0 = (RuleCall)cPaddingRightValueAssignment_3_13_1.eContents().get(0);
 		private final Group cGroup_3_14 = (Group)cUnorderedGroup_3.eContents().get(14);
-		private final Keyword cMarginBottomKeyword_3_14_0 = (Keyword)cGroup_3_14.eContents().get(0);
-		private final Assignment cMarginBottomValueAssignment_3_14_1 = (Assignment)cGroup_3_14.eContents().get(1);
-		private final RuleCall cMarginBottomValueUnsignedNumberParserRuleCall_3_14_1_0 = (RuleCall)cMarginBottomValueAssignment_3_14_1.eContents().get(0);
+		private final Keyword cMarginTopKeyword_3_14_0 = (Keyword)cGroup_3_14.eContents().get(0);
+		private final Assignment cMarginTopValueAssignment_3_14_1 = (Assignment)cGroup_3_14.eContents().get(1);
+		private final RuleCall cMarginTopValueUnsignedNumberParserRuleCall_3_14_1_0 = (RuleCall)cMarginTopValueAssignment_3_14_1.eContents().get(0);
 		private final Group cGroup_3_15 = (Group)cUnorderedGroup_3.eContents().get(15);
-		private final Keyword cMarginLeftKeyword_3_15_0 = (Keyword)cGroup_3_15.eContents().get(0);
-		private final Assignment cMarginLeftValueAssignment_3_15_1 = (Assignment)cGroup_3_15.eContents().get(1);
-		private final RuleCall cMarginLeftValueUnsignedNumberParserRuleCall_3_15_1_0 = (RuleCall)cMarginLeftValueAssignment_3_15_1.eContents().get(0);
+		private final Keyword cMarginBottomKeyword_3_15_0 = (Keyword)cGroup_3_15.eContents().get(0);
+		private final Assignment cMarginBottomValueAssignment_3_15_1 = (Assignment)cGroup_3_15.eContents().get(1);
+		private final RuleCall cMarginBottomValueUnsignedNumberParserRuleCall_3_15_1_0 = (RuleCall)cMarginBottomValueAssignment_3_15_1.eContents().get(0);
 		private final Group cGroup_3_16 = (Group)cUnorderedGroup_3.eContents().get(16);
-		private final Keyword cMarginRightKeyword_3_16_0 = (Keyword)cGroup_3_16.eContents().get(0);
-		private final Assignment cMarginRightValueAssignment_3_16_1 = (Assignment)cGroup_3_16.eContents().get(1);
-		private final RuleCall cMarginRightValueUnsignedNumberParserRuleCall_3_16_1_0 = (RuleCall)cMarginRightValueAssignment_3_16_1.eContents().get(0);
+		private final Keyword cMarginLeftKeyword_3_16_0 = (Keyword)cGroup_3_16.eContents().get(0);
+		private final Assignment cMarginLeftValueAssignment_3_16_1 = (Assignment)cGroup_3_16.eContents().get(1);
+		private final RuleCall cMarginLeftValueUnsignedNumberParserRuleCall_3_16_1_0 = (RuleCall)cMarginLeftValueAssignment_3_16_1.eContents().get(0);
+		private final Group cGroup_3_17 = (Group)cUnorderedGroup_3.eContents().get(17);
+		private final Keyword cMarginRightKeyword_3_17_0 = (Keyword)cGroup_3_17.eContents().get(0);
+		private final Assignment cMarginRightValueAssignment_3_17_1 = (Assignment)cGroup_3_17.eContents().get(1);
+		private final RuleCall cMarginRightValueUnsignedNumberParserRuleCall_3_17_1_0 = (RuleCall)cMarginRightValueAssignment_3_17_1.eContents().get(0);
 		private final Keyword cRightCurlyBracketKeyword_4 = (Keyword)cGroup.eContents().get(4);
 		
 		//MediaStyle:
 		//	'media' media=[Media] '{' (('formatter' format=[SomeFormat])? & ('font' font=[Font])? & ('backgroundcolor'
 		//	backgroundcolor=[Color] ('alternate' backgroundcolor_alternate=[Color])?)? & ('textcolor' textcolor=[Color])? &
-		//	('textalign' textalign=TextAlignEnum)? & ('border-top' borderTop=BorderStyle)? & ('border-bottom'
-		//	borderBottom=BorderStyle)? & ('border-left' borderLeft=BorderStyle)? & ('border-right' borderRight=BorderStyle)? &
-		//	('padding-top' paddingTopValue=UnsignedNumber)? & ('padding-bottom' paddingBottomValue=UnsignedNumber)? &
-		//	('padding-left' paddingLeftValue=UnsignedNumber)? & ('padding-right' paddingRightValue=UnsignedNumber)? &
-		//	('margin-top' marginTopValue=UnsignedNumber)? & ('margin-bottom' marginBottomValue=UnsignedNumber)? & ('margin-left'
-		//	marginLeftValue=UnsignedNumber)? & ('margin-right' marginRightValue=UnsignedNumber)?)
+		//	('textalign' textalign=TextAlignEnum)? & ('verticalalign' verticalalign=VerticalTextAlignEnum)? & ('border-top'
+		//	borderTop=BorderStyle)? & ('border-bottom' borderBottom=BorderStyle)? & ('border-left' borderLeft=BorderStyle)? &
+		//	('border-right' borderRight=BorderStyle)? & ('padding-top' paddingTopValue=UnsignedNumber)? & ('padding-bottom'
+		//	paddingBottomValue=UnsignedNumber)? & ('padding-left' paddingLeftValue=UnsignedNumber)? & ('padding-right'
+		//	paddingRightValue=UnsignedNumber)? & ('margin-top' marginTopValue=UnsignedNumber)? & ('margin-bottom'
+		//	marginBottomValue=UnsignedNumber)? & ('margin-left' marginLeftValue=UnsignedNumber)? & ('margin-right'
+		//	marginRightValue=UnsignedNumber)?)
 		//	'}';
 		@Override public ParserRule getRule() { return rule; }
 		
 		//'media' media=[Media] '{' (('formatter' format=[SomeFormat])? & ('font' font=[Font])? & ('backgroundcolor'
 		//backgroundcolor=[Color] ('alternate' backgroundcolor_alternate=[Color])?)? & ('textcolor' textcolor=[Color])? &
-		//('textalign' textalign=TextAlignEnum)? & ('border-top' borderTop=BorderStyle)? & ('border-bottom'
-		//borderBottom=BorderStyle)? & ('border-left' borderLeft=BorderStyle)? & ('border-right' borderRight=BorderStyle)? &
-		//('padding-top' paddingTopValue=UnsignedNumber)? & ('padding-bottom' paddingBottomValue=UnsignedNumber)? &
-		//('padding-left' paddingLeftValue=UnsignedNumber)? & ('padding-right' paddingRightValue=UnsignedNumber)? & ('margin-top'
-		//marginTopValue=UnsignedNumber)? & ('margin-bottom' marginBottomValue=UnsignedNumber)? & ('margin-left'
-		//marginLeftValue=UnsignedNumber)? & ('margin-right' marginRightValue=UnsignedNumber)?) '}'
+		//('textalign' textalign=TextAlignEnum)? & ('verticalalign' verticalalign=VerticalTextAlignEnum)? & ('border-top'
+		//borderTop=BorderStyle)? & ('border-bottom' borderBottom=BorderStyle)? & ('border-left' borderLeft=BorderStyle)? &
+		//('border-right' borderRight=BorderStyle)? & ('padding-top' paddingTopValue=UnsignedNumber)? & ('padding-bottom'
+		//paddingBottomValue=UnsignedNumber)? & ('padding-left' paddingLeftValue=UnsignedNumber)? & ('padding-right'
+		//paddingRightValue=UnsignedNumber)? & ('margin-top' marginTopValue=UnsignedNumber)? & ('margin-bottom'
+		//marginBottomValue=UnsignedNumber)? & ('margin-left' marginLeftValue=UnsignedNumber)? & ('margin-right'
+		//marginRightValue=UnsignedNumber)?) '}'
 		public Group getGroup() { return cGroup; }
 		
 		//'media'
@@ -1461,12 +1484,12 @@
 		
 		//('formatter' format=[SomeFormat])? & ('font' font=[Font])? & ('backgroundcolor' backgroundcolor=[Color] ('alternate'
 		//backgroundcolor_alternate=[Color])?)? & ('textcolor' textcolor=[Color])? & ('textalign' textalign=TextAlignEnum)? &
-		//('border-top' borderTop=BorderStyle)? & ('border-bottom' borderBottom=BorderStyle)? & ('border-left'
-		//borderLeft=BorderStyle)? & ('border-right' borderRight=BorderStyle)? & ('padding-top' paddingTopValue=UnsignedNumber)?
-		//& ('padding-bottom' paddingBottomValue=UnsignedNumber)? & ('padding-left' paddingLeftValue=UnsignedNumber)? &
-		//('padding-right' paddingRightValue=UnsignedNumber)? & ('margin-top' marginTopValue=UnsignedNumber)? & ('margin-bottom'
-		//marginBottomValue=UnsignedNumber)? & ('margin-left' marginLeftValue=UnsignedNumber)? & ('margin-right'
-		//marginRightValue=UnsignedNumber)?
+		//('verticalalign' verticalalign=VerticalTextAlignEnum)? & ('border-top' borderTop=BorderStyle)? & ('border-bottom'
+		//borderBottom=BorderStyle)? & ('border-left' borderLeft=BorderStyle)? & ('border-right' borderRight=BorderStyle)? &
+		//('padding-top' paddingTopValue=UnsignedNumber)? & ('padding-bottom' paddingBottomValue=UnsignedNumber)? &
+		//('padding-left' paddingLeftValue=UnsignedNumber)? & ('padding-right' paddingRightValue=UnsignedNumber)? & ('margin-top'
+		//marginTopValue=UnsignedNumber)? & ('margin-bottom' marginBottomValue=UnsignedNumber)? & ('margin-left'
+		//marginLeftValue=UnsignedNumber)? & ('margin-right' marginRightValue=UnsignedNumber)?
 		public UnorderedGroup getUnorderedGroup_3() { return cUnorderedGroup_3; }
 		
 		//('formatter' format=[SomeFormat])?
@@ -1556,149 +1579,161 @@
 		//TextAlignEnum
 		public RuleCall getTextalignTextAlignEnumEnumRuleCall_3_4_1_0() { return cTextalignTextAlignEnumEnumRuleCall_3_4_1_0; }
 		
-		//('border-top' borderTop=BorderStyle)?
+		//('verticalalign' verticalalign=VerticalTextAlignEnum)?
 		public Group getGroup_3_5() { return cGroup_3_5; }
 		
-		//'border-top'
-		public Keyword getBorderTopKeyword_3_5_0() { return cBorderTopKeyword_3_5_0; }
+		//'verticalalign'
+		public Keyword getVerticalalignKeyword_3_5_0() { return cVerticalalignKeyword_3_5_0; }
 		
-		//borderTop=BorderStyle
-		public Assignment getBorderTopAssignment_3_5_1() { return cBorderTopAssignment_3_5_1; }
+		//verticalalign=VerticalTextAlignEnum
+		public Assignment getVerticalalignAssignment_3_5_1() { return cVerticalalignAssignment_3_5_1; }
 		
-		//BorderStyle
-		public RuleCall getBorderTopBorderStyleParserRuleCall_3_5_1_0() { return cBorderTopBorderStyleParserRuleCall_3_5_1_0; }
+		//VerticalTextAlignEnum
+		public RuleCall getVerticalalignVerticalTextAlignEnumEnumRuleCall_3_5_1_0() { return cVerticalalignVerticalTextAlignEnumEnumRuleCall_3_5_1_0; }
 		
-		//('border-bottom' borderBottom=BorderStyle)?
+		//('border-top' borderTop=BorderStyle)?
 		public Group getGroup_3_6() { return cGroup_3_6; }
 		
-		//'border-bottom'
-		public Keyword getBorderBottomKeyword_3_6_0() { return cBorderBottomKeyword_3_6_0; }
+		//'border-top'
+		public Keyword getBorderTopKeyword_3_6_0() { return cBorderTopKeyword_3_6_0; }
 		
-		//borderBottom=BorderStyle
-		public Assignment getBorderBottomAssignment_3_6_1() { return cBorderBottomAssignment_3_6_1; }
+		//borderTop=BorderStyle
+		public Assignment getBorderTopAssignment_3_6_1() { return cBorderTopAssignment_3_6_1; }
 		
 		//BorderStyle
-		public RuleCall getBorderBottomBorderStyleParserRuleCall_3_6_1_0() { return cBorderBottomBorderStyleParserRuleCall_3_6_1_0; }
+		public RuleCall getBorderTopBorderStyleParserRuleCall_3_6_1_0() { return cBorderTopBorderStyleParserRuleCall_3_6_1_0; }
 		
-		//('border-left' borderLeft=BorderStyle)?
+		//('border-bottom' borderBottom=BorderStyle)?
 		public Group getGroup_3_7() { return cGroup_3_7; }
 		
-		//'border-left'
-		public Keyword getBorderLeftKeyword_3_7_0() { return cBorderLeftKeyword_3_7_0; }
+		//'border-bottom'
+		public Keyword getBorderBottomKeyword_3_7_0() { return cBorderBottomKeyword_3_7_0; }
 		
-		//borderLeft=BorderStyle
-		public Assignment getBorderLeftAssignment_3_7_1() { return cBorderLeftAssignment_3_7_1; }
+		//borderBottom=BorderStyle
+		public Assignment getBorderBottomAssignment_3_7_1() { return cBorderBottomAssignment_3_7_1; }
 		
 		//BorderStyle
-		public RuleCall getBorderLeftBorderStyleParserRuleCall_3_7_1_0() { return cBorderLeftBorderStyleParserRuleCall_3_7_1_0; }
+		public RuleCall getBorderBottomBorderStyleParserRuleCall_3_7_1_0() { return cBorderBottomBorderStyleParserRuleCall_3_7_1_0; }
 		
-		//('border-right' borderRight=BorderStyle)?
+		//('border-left' borderLeft=BorderStyle)?
 		public Group getGroup_3_8() { return cGroup_3_8; }
 		
-		//'border-right'
-		public Keyword getBorderRightKeyword_3_8_0() { return cBorderRightKeyword_3_8_0; }
+		//'border-left'
+		public Keyword getBorderLeftKeyword_3_8_0() { return cBorderLeftKeyword_3_8_0; }
 		
-		//borderRight=BorderStyle
-		public Assignment getBorderRightAssignment_3_8_1() { return cBorderRightAssignment_3_8_1; }
+		//borderLeft=BorderStyle
+		public Assignment getBorderLeftAssignment_3_8_1() { return cBorderLeftAssignment_3_8_1; }
 		
 		//BorderStyle
-		public RuleCall getBorderRightBorderStyleParserRuleCall_3_8_1_0() { return cBorderRightBorderStyleParserRuleCall_3_8_1_0; }
+		public RuleCall getBorderLeftBorderStyleParserRuleCall_3_8_1_0() { return cBorderLeftBorderStyleParserRuleCall_3_8_1_0; }
 		
-		//('padding-top' paddingTopValue=UnsignedNumber)?
+		//('border-right' borderRight=BorderStyle)?
 		public Group getGroup_3_9() { return cGroup_3_9; }
 		
-		//'padding-top'
-		public Keyword getPaddingTopKeyword_3_9_0() { return cPaddingTopKeyword_3_9_0; }
+		//'border-right'
+		public Keyword getBorderRightKeyword_3_9_0() { return cBorderRightKeyword_3_9_0; }
 		
-		//paddingTopValue=UnsignedNumber
-		public Assignment getPaddingTopValueAssignment_3_9_1() { return cPaddingTopValueAssignment_3_9_1; }
+		//borderRight=BorderStyle
+		public Assignment getBorderRightAssignment_3_9_1() { return cBorderRightAssignment_3_9_1; }
 		
-		//UnsignedNumber
-		public RuleCall getPaddingTopValueUnsignedNumberParserRuleCall_3_9_1_0() { return cPaddingTopValueUnsignedNumberParserRuleCall_3_9_1_0; }
+		//BorderStyle
+		public RuleCall getBorderRightBorderStyleParserRuleCall_3_9_1_0() { return cBorderRightBorderStyleParserRuleCall_3_9_1_0; }
 		
-		//('padding-bottom' paddingBottomValue=UnsignedNumber)?
+		//('padding-top' paddingTopValue=UnsignedNumber)?
 		public Group getGroup_3_10() { return cGroup_3_10; }
 		
-		//'padding-bottom'
-		public Keyword getPaddingBottomKeyword_3_10_0() { return cPaddingBottomKeyword_3_10_0; }
+		//'padding-top'
+		public Keyword getPaddingTopKeyword_3_10_0() { return cPaddingTopKeyword_3_10_0; }
 		
-		//paddingBottomValue=UnsignedNumber
-		public Assignment getPaddingBottomValueAssignment_3_10_1() { return cPaddingBottomValueAssignment_3_10_1; }
+		//paddingTopValue=UnsignedNumber
+		public Assignment getPaddingTopValueAssignment_3_10_1() { return cPaddingTopValueAssignment_3_10_1; }
 		
 		//UnsignedNumber
-		public RuleCall getPaddingBottomValueUnsignedNumberParserRuleCall_3_10_1_0() { return cPaddingBottomValueUnsignedNumberParserRuleCall_3_10_1_0; }
+		public RuleCall getPaddingTopValueUnsignedNumberParserRuleCall_3_10_1_0() { return cPaddingTopValueUnsignedNumberParserRuleCall_3_10_1_0; }
 		
-		//('padding-left' paddingLeftValue=UnsignedNumber)?
+		//('padding-bottom' paddingBottomValue=UnsignedNumber)?
 		public Group getGroup_3_11() { return cGroup_3_11; }
 		
-		//'padding-left'
-		public Keyword getPaddingLeftKeyword_3_11_0() { return cPaddingLeftKeyword_3_11_0; }
+		//'padding-bottom'
+		public Keyword getPaddingBottomKeyword_3_11_0() { return cPaddingBottomKeyword_3_11_0; }
 		
-		//paddingLeftValue=UnsignedNumber
-		public Assignment getPaddingLeftValueAssignment_3_11_1() { return cPaddingLeftValueAssignment_3_11_1; }
+		//paddingBottomValue=UnsignedNumber
+		public Assignment getPaddingBottomValueAssignment_3_11_1() { return cPaddingBottomValueAssignment_3_11_1; }
 		
 		//UnsignedNumber
-		public RuleCall getPaddingLeftValueUnsignedNumberParserRuleCall_3_11_1_0() { return cPaddingLeftValueUnsignedNumberParserRuleCall_3_11_1_0; }
+		public RuleCall getPaddingBottomValueUnsignedNumberParserRuleCall_3_11_1_0() { return cPaddingBottomValueUnsignedNumberParserRuleCall_3_11_1_0; }
 		
-		//('padding-right' paddingRightValue=UnsignedNumber)?
+		//('padding-left' paddingLeftValue=UnsignedNumber)?
 		public Group getGroup_3_12() { return cGroup_3_12; }
 		
-		//'padding-right'
-		public Keyword getPaddingRightKeyword_3_12_0() { return cPaddingRightKeyword_3_12_0; }
+		//'padding-left'
+		public Keyword getPaddingLeftKeyword_3_12_0() { return cPaddingLeftKeyword_3_12_0; }
 		
-		//paddingRightValue=UnsignedNumber
-		public Assignment getPaddingRightValueAssignment_3_12_1() { return cPaddingRightValueAssignment_3_12_1; }
+		//paddingLeftValue=UnsignedNumber
+		public Assignment getPaddingLeftValueAssignment_3_12_1() { return cPaddingLeftValueAssignment_3_12_1; }
 		
 		//UnsignedNumber
-		public RuleCall getPaddingRightValueUnsignedNumberParserRuleCall_3_12_1_0() { return cPaddingRightValueUnsignedNumberParserRuleCall_3_12_1_0; }
+		public RuleCall getPaddingLeftValueUnsignedNumberParserRuleCall_3_12_1_0() { return cPaddingLeftValueUnsignedNumberParserRuleCall_3_12_1_0; }
 		
-		//('margin-top' marginTopValue=UnsignedNumber)?
+		//('padding-right' paddingRightValue=UnsignedNumber)?
 		public Group getGroup_3_13() { return cGroup_3_13; }
 		
-		//'margin-top'
-		public Keyword getMarginTopKeyword_3_13_0() { return cMarginTopKeyword_3_13_0; }
+		//'padding-right'
+		public Keyword getPaddingRightKeyword_3_13_0() { return cPaddingRightKeyword_3_13_0; }
 		
-		//marginTopValue=UnsignedNumber
-		public Assignment getMarginTopValueAssignment_3_13_1() { return cMarginTopValueAssignment_3_13_1; }
+		//paddingRightValue=UnsignedNumber
+		public Assignment getPaddingRightValueAssignment_3_13_1() { return cPaddingRightValueAssignment_3_13_1; }
 		
 		//UnsignedNumber
-		public RuleCall getMarginTopValueUnsignedNumberParserRuleCall_3_13_1_0() { return cMarginTopValueUnsignedNumberParserRuleCall_3_13_1_0; }
+		public RuleCall getPaddingRightValueUnsignedNumberParserRuleCall_3_13_1_0() { return cPaddingRightValueUnsignedNumberParserRuleCall_3_13_1_0; }
 		
-		//('margin-bottom' marginBottomValue=UnsignedNumber)?
+		//('margin-top' marginTopValue=UnsignedNumber)?
 		public Group getGroup_3_14() { return cGroup_3_14; }
 		
-		//'margin-bottom'
-		public Keyword getMarginBottomKeyword_3_14_0() { return cMarginBottomKeyword_3_14_0; }
+		//'margin-top'
+		public Keyword getMarginTopKeyword_3_14_0() { return cMarginTopKeyword_3_14_0; }
 		
-		//marginBottomValue=UnsignedNumber
-		public Assignment getMarginBottomValueAssignment_3_14_1() { return cMarginBottomValueAssignment_3_14_1; }
+		//marginTopValue=UnsignedNumber
+		public Assignment getMarginTopValueAssignment_3_14_1() { return cMarginTopValueAssignment_3_14_1; }
 		
 		//UnsignedNumber
-		public RuleCall getMarginBottomValueUnsignedNumberParserRuleCall_3_14_1_0() { return cMarginBottomValueUnsignedNumberParserRuleCall_3_14_1_0; }
+		public RuleCall getMarginTopValueUnsignedNumberParserRuleCall_3_14_1_0() { return cMarginTopValueUnsignedNumberParserRuleCall_3_14_1_0; }
 		
-		//('margin-left' marginLeftValue=UnsignedNumber)?
+		//('margin-bottom' marginBottomValue=UnsignedNumber)?
 		public Group getGroup_3_15() { return cGroup_3_15; }
 		
-		//'margin-left'
-		public Keyword getMarginLeftKeyword_3_15_0() { return cMarginLeftKeyword_3_15_0; }
+		//'margin-bottom'
+		public Keyword getMarginBottomKeyword_3_15_0() { return cMarginBottomKeyword_3_15_0; }
 		
-		//marginLeftValue=UnsignedNumber
-		public Assignment getMarginLeftValueAssignment_3_15_1() { return cMarginLeftValueAssignment_3_15_1; }
+		//marginBottomValue=UnsignedNumber
+		public Assignment getMarginBottomValueAssignment_3_15_1() { return cMarginBottomValueAssignment_3_15_1; }
 		
 		//UnsignedNumber
-		public RuleCall getMarginLeftValueUnsignedNumberParserRuleCall_3_15_1_0() { return cMarginLeftValueUnsignedNumberParserRuleCall_3_15_1_0; }
+		public RuleCall getMarginBottomValueUnsignedNumberParserRuleCall_3_15_1_0() { return cMarginBottomValueUnsignedNumberParserRuleCall_3_15_1_0; }
 		
-		//('margin-right' marginRightValue=UnsignedNumber)?
+		//('margin-left' marginLeftValue=UnsignedNumber)?
 		public Group getGroup_3_16() { return cGroup_3_16; }
 		
-		//'margin-right'
-		public Keyword getMarginRightKeyword_3_16_0() { return cMarginRightKeyword_3_16_0; }
+		//'margin-left'
+		public Keyword getMarginLeftKeyword_3_16_0() { return cMarginLeftKeyword_3_16_0; }
 		
-		//marginRightValue=UnsignedNumber
-		public Assignment getMarginRightValueAssignment_3_16_1() { return cMarginRightValueAssignment_3_16_1; }
+		//marginLeftValue=UnsignedNumber
+		public Assignment getMarginLeftValueAssignment_3_16_1() { return cMarginLeftValueAssignment_3_16_1; }
 		
 		//UnsignedNumber
-		public RuleCall getMarginRightValueUnsignedNumberParserRuleCall_3_16_1_0() { return cMarginRightValueUnsignedNumberParserRuleCall_3_16_1_0; }
+		public RuleCall getMarginLeftValueUnsignedNumberParserRuleCall_3_16_1_0() { return cMarginLeftValueUnsignedNumberParserRuleCall_3_16_1_0; }
+		
+		//('margin-right' marginRightValue=UnsignedNumber)?
+		public Group getGroup_3_17() { return cGroup_3_17; }
+		
+		//'margin-right'
+		public Keyword getMarginRightKeyword_3_17_0() { return cMarginRightKeyword_3_17_0; }
+		
+		//marginRightValue=UnsignedNumber
+		public Assignment getMarginRightValueAssignment_3_17_1() { return cMarginRightValueAssignment_3_17_1; }
+		
+		//UnsignedNumber
+		public RuleCall getMarginRightValueUnsignedNumberParserRuleCall_3_17_1_0() { return cMarginRightValueUnsignedNumberParserRuleCall_3_17_1_0; }
 		
 		//'}'
 		public Keyword getRightCurlyBracketKeyword_4() { return cRightCurlyBracketKeyword_4; }
@@ -2756,22 +2791,30 @@
 		private final Keyword cAsKeyword_2_0 = (Keyword)cGroup_2.eContents().get(0);
 		private final Assignment cNameAssignment_2_1 = (Assignment)cGroup_2.eContents().get(1);
 		private final RuleCall cNameIDTerminalRuleCall_2_1_0 = (RuleCall)cNameAssignment_2_1.eContents().get(0);
-		private final Group cGroup_3 = (Group)cGroup.eContents().get(3);
-		private final Keyword cWidthKeyword_3_0 = (Keyword)cGroup_3.eContents().get(0);
-		private final Assignment cWidthValueAssignment_3_1 = (Assignment)cGroup_3.eContents().get(1);
-		private final RuleCall cWidthValueUnsignedNumberParserRuleCall_3_1_0 = (RuleCall)cWidthValueAssignment_3_1.eContents().get(0);
-		private final Assignment cVisibilityItemAssignment_4 = (Assignment)cGroup.eContents().get(4);
-		private final RuleCall cVisibilityItemVisibilityParserRuleCall_4_0 = (RuleCall)cVisibilityItemAssignment_4.eContents().get(0);
-		private final Keyword cLeftCurlyBracketKeyword_5 = (Keyword)cGroup.eContents().get(5);
-		private final Assignment cRowsAssignment_6 = (Assignment)cGroup.eContents().get(6);
-		private final RuleCall cRowsGridRowParserRuleCall_6_0 = (RuleCall)cRowsAssignment_6.eContents().get(0);
-		private final Keyword cRightCurlyBracketKeyword_7 = (Keyword)cGroup.eContents().get(7);
+		private final UnorderedGroup cUnorderedGroup_3 = (UnorderedGroup)cGroup.eContents().get(3);
+		private final Group cGroup_3_0 = (Group)cUnorderedGroup_3.eContents().get(0);
+		private final Keyword cStyleKeyword_3_0_0 = (Keyword)cGroup_3_0.eContents().get(0);
+		private final Assignment cStyleAssignment_3_0_1 = (Assignment)cGroup_3_0.eContents().get(1);
+		private final CrossReference cStyleStyleCrossReference_3_0_1_0 = (CrossReference)cStyleAssignment_3_0_1.eContents().get(0);
+		private final RuleCall cStyleStyleIDTerminalRuleCall_3_0_1_0_1 = (RuleCall)cStyleStyleCrossReference_3_0_1_0.eContents().get(1);
+		private final Group cGroup_3_1 = (Group)cUnorderedGroup_3.eContents().get(1);
+		private final Keyword cWidthKeyword_3_1_0 = (Keyword)cGroup_3_1.eContents().get(0);
+		private final Assignment cWidthValueAssignment_3_1_1 = (Assignment)cGroup_3_1.eContents().get(1);
+		private final RuleCall cWidthValueUnsignedNumberParserRuleCall_3_1_1_0 = (RuleCall)cWidthValueAssignment_3_1_1.eContents().get(0);
+		private final Assignment cVisibilityItemAssignment_3_2 = (Assignment)cUnorderedGroup_3.eContents().get(2);
+		private final RuleCall cVisibilityItemVisibilityParserRuleCall_3_2_0 = (RuleCall)cVisibilityItemAssignment_3_2.eContents().get(0);
+		private final Keyword cLeftCurlyBracketKeyword_4 = (Keyword)cGroup.eContents().get(4);
+		private final Assignment cRowsAssignment_5 = (Assignment)cGroup.eContents().get(5);
+		private final RuleCall cRowsGridRowParserRuleCall_5_0 = (RuleCall)cRowsAssignment_5.eContents().get(0);
+		private final Keyword cRightCurlyBracketKeyword_6 = (Keyword)cGroup.eContents().get(6);
 		
 		//Grid:
-		//	{Grid} 'grid' ('as' name=ID)? ('width' widthValue=UnsignedNumber)? visibilityItem=Visibility? '{' rows+=GridRow* '}';
+		//	{Grid} 'grid' ('as' name=ID)? (('style' style=[Style])? & ('width' widthValue=UnsignedNumber)? &
+		//	visibilityItem=Visibility?) '{' rows+=GridRow* '}';
 		@Override public ParserRule getRule() { return rule; }
 		
-		//{Grid} 'grid' ('as' name=ID)? ('width' widthValue=UnsignedNumber)? visibilityItem=Visibility? '{' rows+=GridRow* '}'
+		//{Grid} 'grid' ('as' name=ID)? (('style' style=[Style])? & ('width' widthValue=UnsignedNumber)? &
+		//visibilityItem=Visibility?) '{' rows+=GridRow* '}'
 		public Group getGroup() { return cGroup; }
 		
 		//{Grid}
@@ -2792,35 +2835,53 @@
 		//ID
 		public RuleCall getNameIDTerminalRuleCall_2_1_0() { return cNameIDTerminalRuleCall_2_1_0; }
 		
+		//('style' style=[Style])? & ('width' widthValue=UnsignedNumber)? & visibilityItem=Visibility?
+		public UnorderedGroup getUnorderedGroup_3() { return cUnorderedGroup_3; }
+		
+		//('style' style=[Style])?
+		public Group getGroup_3_0() { return cGroup_3_0; }
+		
+		//'style'
+		public Keyword getStyleKeyword_3_0_0() { return cStyleKeyword_3_0_0; }
+		
+		//style=[Style]
+		public Assignment getStyleAssignment_3_0_1() { return cStyleAssignment_3_0_1; }
+		
+		//[Style]
+		public CrossReference getStyleStyleCrossReference_3_0_1_0() { return cStyleStyleCrossReference_3_0_1_0; }
+		
+		//ID
+		public RuleCall getStyleStyleIDTerminalRuleCall_3_0_1_0_1() { return cStyleStyleIDTerminalRuleCall_3_0_1_0_1; }
+		
 		//('width' widthValue=UnsignedNumber)?
-		public Group getGroup_3() { return cGroup_3; }
+		public Group getGroup_3_1() { return cGroup_3_1; }
 		
 		//'width'
-		public Keyword getWidthKeyword_3_0() { return cWidthKeyword_3_0; }
+		public Keyword getWidthKeyword_3_1_0() { return cWidthKeyword_3_1_0; }
 		
 		//widthValue=UnsignedNumber
-		public Assignment getWidthValueAssignment_3_1() { return cWidthValueAssignment_3_1; }
+		public Assignment getWidthValueAssignment_3_1_1() { return cWidthValueAssignment_3_1_1; }
 		
 		//UnsignedNumber
-		public RuleCall getWidthValueUnsignedNumberParserRuleCall_3_1_0() { return cWidthValueUnsignedNumberParserRuleCall_3_1_0; }
+		public RuleCall getWidthValueUnsignedNumberParserRuleCall_3_1_1_0() { return cWidthValueUnsignedNumberParserRuleCall_3_1_1_0; }
 		
 		//visibilityItem=Visibility?
-		public Assignment getVisibilityItemAssignment_4() { return cVisibilityItemAssignment_4; }
+		public Assignment getVisibilityItemAssignment_3_2() { return cVisibilityItemAssignment_3_2; }
 		
 		//Visibility
-		public RuleCall getVisibilityItemVisibilityParserRuleCall_4_0() { return cVisibilityItemVisibilityParserRuleCall_4_0; }
+		public RuleCall getVisibilityItemVisibilityParserRuleCall_3_2_0() { return cVisibilityItemVisibilityParserRuleCall_3_2_0; }
 		
 		//'{'
-		public Keyword getLeftCurlyBracketKeyword_5() { return cLeftCurlyBracketKeyword_5; }
+		public Keyword getLeftCurlyBracketKeyword_4() { return cLeftCurlyBracketKeyword_4; }
 		
 		//rows+=GridRow*
-		public Assignment getRowsAssignment_6() { return cRowsAssignment_6; }
+		public Assignment getRowsAssignment_5() { return cRowsAssignment_5; }
 		
 		//GridRow
-		public RuleCall getRowsGridRowParserRuleCall_6_0() { return cRowsGridRowParserRuleCall_6_0; }
+		public RuleCall getRowsGridRowParserRuleCall_5_0() { return cRowsGridRowParserRuleCall_5_0; }
 		
 		//'}'
-		public Keyword getRightCurlyBracketKeyword_7() { return cRightCurlyBracketKeyword_7; }
+		public Keyword getRightCurlyBracketKeyword_6() { return cRightCurlyBracketKeyword_6; }
 	}
 	public class GridRowElements extends AbstractParserRuleElementFinder {
 		private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.osbp.xtext.reportdsl.ReportDSL.GridRow");
@@ -2831,29 +2892,30 @@
 		private final Keyword cAsKeyword_2_0 = (Keyword)cGroup_2.eContents().get(0);
 		private final Assignment cNameAssignment_2_1 = (Assignment)cGroup_2.eContents().get(1);
 		private final RuleCall cNameIDTerminalRuleCall_2_1_0 = (RuleCall)cNameAssignment_2_1.eContents().get(0);
-		private final Group cGroup_3 = (Group)cGroup.eContents().get(3);
-		private final Keyword cStyleKeyword_3_0 = (Keyword)cGroup_3.eContents().get(0);
-		private final Assignment cStyleAssignment_3_1 = (Assignment)cGroup_3.eContents().get(1);
-		private final CrossReference cStyleStyleCrossReference_3_1_0 = (CrossReference)cStyleAssignment_3_1.eContents().get(0);
-		private final RuleCall cStyleStyleIDTerminalRuleCall_3_1_0_1 = (RuleCall)cStyleStyleCrossReference_3_1_0.eContents().get(1);
-		private final Group cGroup_4 = (Group)cGroup.eContents().get(4);
-		private final Keyword cHeightKeyword_4_0 = (Keyword)cGroup_4.eContents().get(0);
-		private final Assignment cHeightValueAssignment_4_1 = (Assignment)cGroup_4.eContents().get(1);
-		private final RuleCall cHeightValueUnsignedNumberParserRuleCall_4_1_0 = (RuleCall)cHeightValueAssignment_4_1.eContents().get(0);
-		private final Assignment cVisibilityItemAssignment_5 = (Assignment)cGroup.eContents().get(5);
-		private final RuleCall cVisibilityItemVisibilityParserRuleCall_5_0 = (RuleCall)cVisibilityItemAssignment_5.eContents().get(0);
-		private final Keyword cLeftCurlyBracketKeyword_6 = (Keyword)cGroup.eContents().get(6);
-		private final Assignment cCellsAssignment_7 = (Assignment)cGroup.eContents().get(7);
-		private final RuleCall cCellsGridCellParserRuleCall_7_0 = (RuleCall)cCellsAssignment_7.eContents().get(0);
-		private final Keyword cRightCurlyBracketKeyword_8 = (Keyword)cGroup.eContents().get(8);
+		private final UnorderedGroup cUnorderedGroup_3 = (UnorderedGroup)cGroup.eContents().get(3);
+		private final Group cGroup_3_0 = (Group)cUnorderedGroup_3.eContents().get(0);
+		private final Keyword cStyleKeyword_3_0_0 = (Keyword)cGroup_3_0.eContents().get(0);
+		private final Assignment cStyleAssignment_3_0_1 = (Assignment)cGroup_3_0.eContents().get(1);
+		private final CrossReference cStyleStyleCrossReference_3_0_1_0 = (CrossReference)cStyleAssignment_3_0_1.eContents().get(0);
+		private final RuleCall cStyleStyleIDTerminalRuleCall_3_0_1_0_1 = (RuleCall)cStyleStyleCrossReference_3_0_1_0.eContents().get(1);
+		private final Group cGroup_3_1 = (Group)cUnorderedGroup_3.eContents().get(1);
+		private final Keyword cHeightKeyword_3_1_0 = (Keyword)cGroup_3_1.eContents().get(0);
+		private final Assignment cHeightValueAssignment_3_1_1 = (Assignment)cGroup_3_1.eContents().get(1);
+		private final RuleCall cHeightValueUnsignedNumberParserRuleCall_3_1_1_0 = (RuleCall)cHeightValueAssignment_3_1_1.eContents().get(0);
+		private final Assignment cVisibilityItemAssignment_3_2 = (Assignment)cUnorderedGroup_3.eContents().get(2);
+		private final RuleCall cVisibilityItemVisibilityParserRuleCall_3_2_0 = (RuleCall)cVisibilityItemAssignment_3_2.eContents().get(0);
+		private final Keyword cLeftCurlyBracketKeyword_4 = (Keyword)cGroup.eContents().get(4);
+		private final Assignment cCellsAssignment_5 = (Assignment)cGroup.eContents().get(5);
+		private final RuleCall cCellsGridCellParserRuleCall_5_0 = (RuleCall)cCellsAssignment_5.eContents().get(0);
+		private final Keyword cRightCurlyBracketKeyword_6 = (Keyword)cGroup.eContents().get(6);
 		
 		//GridRow:
-		//	{GridRow} 'row' ('as' name=ID)? ('style' style=[Style])? ('height' heightValue=UnsignedNumber)?
-		//	visibilityItem=Visibility? '{' cells+=GridCell* '}';
+		//	{GridRow} 'row' ('as' name=ID)? (('style' style=[Style])? & ('height' heightValue=UnsignedNumber)? &
+		//	visibilityItem=Visibility?) '{' cells+=GridCell* '}';
 		@Override public ParserRule getRule() { return rule; }
 		
-		//{GridRow} 'row' ('as' name=ID)? ('style' style=[Style])? ('height' heightValue=UnsignedNumber)?
-		//visibilityItem=Visibility? '{' cells+=GridCell* '}'
+		//{GridRow} 'row' ('as' name=ID)? (('style' style=[Style])? & ('height' heightValue=UnsignedNumber)? &
+		//visibilityItem=Visibility?) '{' cells+=GridCell* '}'
 		public Group getGroup() { return cGroup; }
 		
 		//{GridRow}
@@ -2874,50 +2936,53 @@
 		//ID
 		public RuleCall getNameIDTerminalRuleCall_2_1_0() { return cNameIDTerminalRuleCall_2_1_0; }
 		
+		//('style' style=[Style])? & ('height' heightValue=UnsignedNumber)? & visibilityItem=Visibility?
+		public UnorderedGroup getUnorderedGroup_3() { return cUnorderedGroup_3; }
+		
 		//('style' style=[Style])?
-		public Group getGroup_3() { return cGroup_3; }
+		public Group getGroup_3_0() { return cGroup_3_0; }
 		
 		//'style'
-		public Keyword getStyleKeyword_3_0() { return cStyleKeyword_3_0; }
+		public Keyword getStyleKeyword_3_0_0() { return cStyleKeyword_3_0_0; }
 		
 		//style=[Style]
-		public Assignment getStyleAssignment_3_1() { return cStyleAssignment_3_1; }
+		public Assignment getStyleAssignment_3_0_1() { return cStyleAssignment_3_0_1; }
 		
 		//[Style]
-		public CrossReference getStyleStyleCrossReference_3_1_0() { return cStyleStyleCrossReference_3_1_0; }
+		public CrossReference getStyleStyleCrossReference_3_0_1_0() { return cStyleStyleCrossReference_3_0_1_0; }
 		
 		//ID
-		public RuleCall getStyleStyleIDTerminalRuleCall_3_1_0_1() { return cStyleStyleIDTerminalRuleCall_3_1_0_1; }
+		public RuleCall getStyleStyleIDTerminalRuleCall_3_0_1_0_1() { return cStyleStyleIDTerminalRuleCall_3_0_1_0_1; }
 		
 		//('height' heightValue=UnsignedNumber)?
-		public Group getGroup_4() { return cGroup_4; }
+		public Group getGroup_3_1() { return cGroup_3_1; }
 		
 		//'height'
-		public Keyword getHeightKeyword_4_0() { return cHeightKeyword_4_0; }
+		public Keyword getHeightKeyword_3_1_0() { return cHeightKeyword_3_1_0; }
 		
 		//heightValue=UnsignedNumber
-		public Assignment getHeightValueAssignment_4_1() { return cHeightValueAssignment_4_1; }
+		public Assignment getHeightValueAssignment_3_1_1() { return cHeightValueAssignment_3_1_1; }
 		
 		//UnsignedNumber
-		public RuleCall getHeightValueUnsignedNumberParserRuleCall_4_1_0() { return cHeightValueUnsignedNumberParserRuleCall_4_1_0; }
+		public RuleCall getHeightValueUnsignedNumberParserRuleCall_3_1_1_0() { return cHeightValueUnsignedNumberParserRuleCall_3_1_1_0; }
 		
 		//visibilityItem=Visibility?
-		public Assignment getVisibilityItemAssignment_5() { return cVisibilityItemAssignment_5; }
+		public Assignment getVisibilityItemAssignment_3_2() { return cVisibilityItemAssignment_3_2; }
 		
 		//Visibility
-		public RuleCall getVisibilityItemVisibilityParserRuleCall_5_0() { return cVisibilityItemVisibilityParserRuleCall_5_0; }
+		public RuleCall getVisibilityItemVisibilityParserRuleCall_3_2_0() { return cVisibilityItemVisibilityParserRuleCall_3_2_0; }
 		
 		//'{'
-		public Keyword getLeftCurlyBracketKeyword_6() { return cLeftCurlyBracketKeyword_6; }
+		public Keyword getLeftCurlyBracketKeyword_4() { return cLeftCurlyBracketKeyword_4; }
 		
 		//cells+=GridCell*
-		public Assignment getCellsAssignment_7() { return cCellsAssignment_7; }
+		public Assignment getCellsAssignment_5() { return cCellsAssignment_5; }
 		
 		//GridCell
-		public RuleCall getCellsGridCellParserRuleCall_7_0() { return cCellsGridCellParserRuleCall_7_0; }
+		public RuleCall getCellsGridCellParserRuleCall_5_0() { return cCellsGridCellParserRuleCall_5_0; }
 		
 		//'}'
-		public Keyword getRightCurlyBracketKeyword_8() { return cRightCurlyBracketKeyword_8; }
+		public Keyword getRightCurlyBracketKeyword_6() { return cRightCurlyBracketKeyword_6; }
 	}
 	public class GridCellElements extends AbstractParserRuleElementFinder {
 		private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.osbp.xtext.reportdsl.ReportDSL.GridCell");
@@ -2928,33 +2993,34 @@
 		private final Keyword cAsKeyword_2_0 = (Keyword)cGroup_2.eContents().get(0);
 		private final Assignment cNameAssignment_2_1 = (Assignment)cGroup_2.eContents().get(1);
 		private final RuleCall cNameIDTerminalRuleCall_2_1_0 = (RuleCall)cNameAssignment_2_1.eContents().get(0);
-		private final Group cGroup_3 = (Group)cGroup.eContents().get(3);
-		private final Keyword cStyleKeyword_3_0 = (Keyword)cGroup_3.eContents().get(0);
-		private final Assignment cStyleAssignment_3_1 = (Assignment)cGroup_3.eContents().get(1);
-		private final CrossReference cStyleStyleCrossReference_3_1_0 = (CrossReference)cStyleAssignment_3_1.eContents().get(0);
-		private final RuleCall cStyleStyleIDTerminalRuleCall_3_1_0_1 = (RuleCall)cStyleStyleCrossReference_3_1_0.eContents().get(1);
-		private final Group cGroup_4 = (Group)cGroup.eContents().get(4);
-		private final Keyword cWidthKeyword_4_0 = (Keyword)cGroup_4.eContents().get(0);
-		private final Assignment cWidthValueAssignment_4_1 = (Assignment)cGroup_4.eContents().get(1);
-		private final RuleCall cWidthValueUnsignedNumberParserRuleCall_4_1_0 = (RuleCall)cWidthValueAssignment_4_1.eContents().get(0);
-		private final Group cGroup_5 = (Group)cGroup.eContents().get(5);
-		private final Keyword cColumnspanKeyword_5_0 = (Keyword)cGroup_5.eContents().get(0);
-		private final Assignment cColumnspanAssignment_5_1 = (Assignment)cGroup_5.eContents().get(1);
-		private final RuleCall cColumnspanINTTerminalRuleCall_5_1_0 = (RuleCall)cColumnspanAssignment_5_1.eContents().get(0);
-		private final Assignment cVisibilityItemAssignment_6 = (Assignment)cGroup.eContents().get(6);
-		private final RuleCall cVisibilityItemVisibilityParserRuleCall_6_0 = (RuleCall)cVisibilityItemAssignment_6.eContents().get(0);
-		private final Keyword cLeftCurlyBracketKeyword_7 = (Keyword)cGroup.eContents().get(7);
-		private final Assignment cElementsAssignment_8 = (Assignment)cGroup.eContents().get(8);
-		private final RuleCall cElementsElementParserRuleCall_8_0 = (RuleCall)cElementsAssignment_8.eContents().get(0);
-		private final Keyword cRightCurlyBracketKeyword_9 = (Keyword)cGroup.eContents().get(9);
+		private final UnorderedGroup cUnorderedGroup_3 = (UnorderedGroup)cGroup.eContents().get(3);
+		private final Group cGroup_3_0 = (Group)cUnorderedGroup_3.eContents().get(0);
+		private final Keyword cStyleKeyword_3_0_0 = (Keyword)cGroup_3_0.eContents().get(0);
+		private final Assignment cStyleAssignment_3_0_1 = (Assignment)cGroup_3_0.eContents().get(1);
+		private final CrossReference cStyleStyleCrossReference_3_0_1_0 = (CrossReference)cStyleAssignment_3_0_1.eContents().get(0);
+		private final RuleCall cStyleStyleIDTerminalRuleCall_3_0_1_0_1 = (RuleCall)cStyleStyleCrossReference_3_0_1_0.eContents().get(1);
+		private final Group cGroup_3_1 = (Group)cUnorderedGroup_3.eContents().get(1);
+		private final Keyword cWidthKeyword_3_1_0 = (Keyword)cGroup_3_1.eContents().get(0);
+		private final Assignment cWidthValueAssignment_3_1_1 = (Assignment)cGroup_3_1.eContents().get(1);
+		private final RuleCall cWidthValueUnsignedNumberParserRuleCall_3_1_1_0 = (RuleCall)cWidthValueAssignment_3_1_1.eContents().get(0);
+		private final Group cGroup_3_2 = (Group)cUnorderedGroup_3.eContents().get(2);
+		private final Keyword cColumnspanKeyword_3_2_0 = (Keyword)cGroup_3_2.eContents().get(0);
+		private final Assignment cColumnspanAssignment_3_2_1 = (Assignment)cGroup_3_2.eContents().get(1);
+		private final RuleCall cColumnspanINTTerminalRuleCall_3_2_1_0 = (RuleCall)cColumnspanAssignment_3_2_1.eContents().get(0);
+		private final Assignment cVisibilityItemAssignment_3_3 = (Assignment)cUnorderedGroup_3.eContents().get(3);
+		private final RuleCall cVisibilityItemVisibilityParserRuleCall_3_3_0 = (RuleCall)cVisibilityItemAssignment_3_3.eContents().get(0);
+		private final Keyword cLeftCurlyBracketKeyword_4 = (Keyword)cGroup.eContents().get(4);
+		private final Assignment cElementsAssignment_5 = (Assignment)cGroup.eContents().get(5);
+		private final RuleCall cElementsElementParserRuleCall_5_0 = (RuleCall)cElementsAssignment_5.eContents().get(0);
+		private final Keyword cRightCurlyBracketKeyword_6 = (Keyword)cGroup.eContents().get(6);
 		
 		//GridCell:
-		//	{GridCell} 'cell' ('as' name=ID)? ('style' style=[Style])? ('width' widthValue=UnsignedNumber)? ('columnspan'
-		//	columnspan=INT)? visibilityItem=Visibility? '{' elements+=Element* '}';
+		//	{GridCell} 'cell' ('as' name=ID)? (('style' style=[Style])? & ('width' widthValue=UnsignedNumber)? & ('columnspan'
+		//	columnspan=INT)? & visibilityItem=Visibility?) '{' elements+=Element* '}';
 		@Override public ParserRule getRule() { return rule; }
 		
-		//{GridCell} 'cell' ('as' name=ID)? ('style' style=[Style])? ('width' widthValue=UnsignedNumber)? ('columnspan'
-		//columnspan=INT)? visibilityItem=Visibility? '{' elements+=Element* '}'
+		//{GridCell} 'cell' ('as' name=ID)? (('style' style=[Style])? & ('width' widthValue=UnsignedNumber)? & ('columnspan'
+		//columnspan=INT)? & visibilityItem=Visibility?) '{' elements+=Element* '}'
 		public Group getGroup() { return cGroup; }
 		
 		//{GridCell}
@@ -2975,207 +3041,205 @@
 		//ID
 		public RuleCall getNameIDTerminalRuleCall_2_1_0() { return cNameIDTerminalRuleCall_2_1_0; }
 		
+		//('style' style=[Style])? & ('width' widthValue=UnsignedNumber)? & ('columnspan' columnspan=INT)? &
+		//visibilityItem=Visibility?
+		public UnorderedGroup getUnorderedGroup_3() { return cUnorderedGroup_3; }
+		
 		//('style' style=[Style])?
-		public Group getGroup_3() { return cGroup_3; }
+		public Group getGroup_3_0() { return cGroup_3_0; }
 		
 		//'style'
-		public Keyword getStyleKeyword_3_0() { return cStyleKeyword_3_0; }
+		public Keyword getStyleKeyword_3_0_0() { return cStyleKeyword_3_0_0; }
 		
 		//style=[Style]
-		public Assignment getStyleAssignment_3_1() { return cStyleAssignment_3_1; }
+		public Assignment getStyleAssignment_3_0_1() { return cStyleAssignment_3_0_1; }
 		
 		//[Style]
-		public CrossReference getStyleStyleCrossReference_3_1_0() { return cStyleStyleCrossReference_3_1_0; }
+		public CrossReference getStyleStyleCrossReference_3_0_1_0() { return cStyleStyleCrossReference_3_0_1_0; }
 		
 		//ID
-		public RuleCall getStyleStyleIDTerminalRuleCall_3_1_0_1() { return cStyleStyleIDTerminalRuleCall_3_1_0_1; }
+		public RuleCall getStyleStyleIDTerminalRuleCall_3_0_1_0_1() { return cStyleStyleIDTerminalRuleCall_3_0_1_0_1; }
 		
 		//('width' widthValue=UnsignedNumber)?
-		public Group getGroup_4() { return cGroup_4; }
+		public Group getGroup_3_1() { return cGroup_3_1; }
 		
 		//'width'
-		public Keyword getWidthKeyword_4_0() { return cWidthKeyword_4_0; }
+		public Keyword getWidthKeyword_3_1_0() { return cWidthKeyword_3_1_0; }
 		
 		//widthValue=UnsignedNumber
-		public Assignment getWidthValueAssignment_4_1() { return cWidthValueAssignment_4_1; }
+		public Assignment getWidthValueAssignment_3_1_1() { return cWidthValueAssignment_3_1_1; }
 		
 		//UnsignedNumber
-		public RuleCall getWidthValueUnsignedNumberParserRuleCall_4_1_0() { return cWidthValueUnsignedNumberParserRuleCall_4_1_0; }
+		public RuleCall getWidthValueUnsignedNumberParserRuleCall_3_1_1_0() { return cWidthValueUnsignedNumberParserRuleCall_3_1_1_0; }
 		
 		//('columnspan' columnspan=INT)?
-		public Group getGroup_5() { return cGroup_5; }
+		public Group getGroup_3_2() { return cGroup_3_2; }
 		
 		//'columnspan'
-		public Keyword getColumnspanKeyword_5_0() { return cColumnspanKeyword_5_0; }
+		public Keyword getColumnspanKeyword_3_2_0() { return cColumnspanKeyword_3_2_0; }
 		
 		//columnspan=INT
-		public Assignment getColumnspanAssignment_5_1() { return cColumnspanAssignment_5_1; }
+		public Assignment getColumnspanAssignment_3_2_1() { return cColumnspanAssignment_3_2_1; }
 		
 		//INT
-		public RuleCall getColumnspanINTTerminalRuleCall_5_1_0() { return cColumnspanINTTerminalRuleCall_5_1_0; }
+		public RuleCall getColumnspanINTTerminalRuleCall_3_2_1_0() { return cColumnspanINTTerminalRuleCall_3_2_1_0; }
 		
 		//visibilityItem=Visibility?
-		public Assignment getVisibilityItemAssignment_6() { return cVisibilityItemAssignment_6; }
+		public Assignment getVisibilityItemAssignment_3_3() { return cVisibilityItemAssignment_3_3; }
 		
 		//Visibility
-		public RuleCall getVisibilityItemVisibilityParserRuleCall_6_0() { return cVisibilityItemVisibilityParserRuleCall_6_0; }
+		public RuleCall getVisibilityItemVisibilityParserRuleCall_3_3_0() { return cVisibilityItemVisibilityParserRuleCall_3_3_0; }
 		
 		//'{'
-		public Keyword getLeftCurlyBracketKeyword_7() { return cLeftCurlyBracketKeyword_7; }
+		public Keyword getLeftCurlyBracketKeyword_4() { return cLeftCurlyBracketKeyword_4; }
 		
 		//elements+=Element*
-		public Assignment getElementsAssignment_8() { return cElementsAssignment_8; }
+		public Assignment getElementsAssignment_5() { return cElementsAssignment_5; }
 		
 		//Element
-		public RuleCall getElementsElementParserRuleCall_8_0() { return cElementsElementParserRuleCall_8_0; }
+		public RuleCall getElementsElementParserRuleCall_5_0() { return cElementsElementParserRuleCall_5_0; }
 		
 		//'}'
-		public Keyword getRightCurlyBracketKeyword_9() { return cRightCurlyBracketKeyword_9; }
+		public Keyword getRightCurlyBracketKeyword_6() { return cRightCurlyBracketKeyword_6; }
 	}
 	public class DatamartTableElements extends AbstractParserRuleElementFinder {
 		private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.osbp.xtext.reportdsl.ReportDSL.DatamartTable");
 		private final Group cGroup = (Group)rule.eContents().get(1);
 		private final Keyword cTableKeyword_0 = (Keyword)cGroup.eContents().get(0);
 		private final Group cGroup_1 = (Group)cGroup.eContents().get(1);
-		private final Keyword cStyleKeyword_1_0 = (Keyword)cGroup_1.eContents().get(0);
-		private final Assignment cStyleAssignment_1_1 = (Assignment)cGroup_1.eContents().get(1);
-		private final CrossReference cStyleStyleCrossReference_1_1_0 = (CrossReference)cStyleAssignment_1_1.eContents().get(0);
-		private final RuleCall cStyleStyleIDTerminalRuleCall_1_1_0_1 = (RuleCall)cStyleStyleCrossReference_1_1_0.eContents().get(1);
-		private final Assignment cVisibilityItemAssignment_2 = (Assignment)cGroup.eContents().get(2);
-		private final RuleCall cVisibilityItemVisibilityParserRuleCall_2_0 = (RuleCall)cVisibilityItemAssignment_2.eContents().get(0);
-		private final Assignment cPageBreakAssignment_3 = (Assignment)cGroup.eContents().get(3);
-		private final RuleCall cPageBreakPageBreakParserRuleCall_3_0 = (RuleCall)cPageBreakAssignment_3.eContents().get(0);
-		private final Keyword cLeftCurlyBracketKeyword_4 = (Keyword)cGroup.eContents().get(4);
-		private final Group cGroup_5 = (Group)cGroup.eContents().get(5);
-		private final Assignment cDetailheaderAssignment_5_0 = (Assignment)cGroup_5.eContents().get(0);
-		private final Keyword cDetailheaderDetailheaderKeyword_5_0_0 = (Keyword)cDetailheaderAssignment_5_0.eContents().get(0);
-		private final Group cGroup_5_1 = (Group)cGroup_5.eContents().get(1);
-		private final Keyword cStyleKeyword_5_1_0 = (Keyword)cGroup_5_1.eContents().get(0);
-		private final Assignment cHeaderstyleAssignment_5_1_1 = (Assignment)cGroup_5_1.eContents().get(1);
-		private final CrossReference cHeaderstyleStyleCrossReference_5_1_1_0 = (CrossReference)cHeaderstyleAssignment_5_1_1.eContents().get(0);
-		private final RuleCall cHeaderstyleStyleIDTerminalRuleCall_5_1_1_0_1 = (RuleCall)cHeaderstyleStyleCrossReference_5_1_1_0.eContents().get(1);
-		private final Group cGroup_6 = (Group)cGroup.eContents().get(6);
-		private final Assignment cDetailfooterAssignment_6_0 = (Assignment)cGroup_6.eContents().get(0);
-		private final Keyword cDetailfooterDetailfooterKeyword_6_0_0 = (Keyword)cDetailfooterAssignment_6_0.eContents().get(0);
-		private final Group cGroup_6_1 = (Group)cGroup_6.eContents().get(1);
-		private final Keyword cStyleKeyword_6_1_0 = (Keyword)cGroup_6_1.eContents().get(0);
-		private final Assignment cFooterstyleAssignment_6_1_1 = (Assignment)cGroup_6_1.eContents().get(1);
-		private final CrossReference cFooterstyleStyleCrossReference_6_1_1_0 = (CrossReference)cFooterstyleAssignment_6_1_1.eContents().get(0);
-		private final RuleCall cFooterstyleStyleIDTerminalRuleCall_6_1_1_0_1 = (RuleCall)cFooterstyleStyleCrossReference_6_1_1_0.eContents().get(1);
-		private final Assignment cGroupsAssignment_7 = (Assignment)cGroup.eContents().get(7);
-		private final RuleCall cGroupsDatamartTableGroupParserRuleCall_7_0 = (RuleCall)cGroupsAssignment_7.eContents().get(0);
-		private final Assignment cDetailAssignment_8 = (Assignment)cGroup.eContents().get(8);
-		private final RuleCall cDetailDatamartTableDetailParserRuleCall_8_0 = (RuleCall)cDetailAssignment_8.eContents().get(0);
-		private final Keyword cRightCurlyBracketKeyword_9 = (Keyword)cGroup.eContents().get(9);
+		private final Keyword cDatamartKeyword_1_0 = (Keyword)cGroup_1.eContents().get(0);
+		private final Assignment cDatamartRefAssignment_1_1 = (Assignment)cGroup_1.eContents().get(1);
+		private final CrossReference cDatamartRefDatamartDefinitionCrossReference_1_1_0 = (CrossReference)cDatamartRefAssignment_1_1.eContents().get(0);
+		private final RuleCall cDatamartRefDatamartDefinitionIDTerminalRuleCall_1_1_0_1 = (RuleCall)cDatamartRefDatamartDefinitionCrossReference_1_1_0.eContents().get(1);
+		private final Group cGroup_1_2 = (Group)cGroup_1.eContents().get(2);
+		private final Keyword cAsKeyword_1_2_0 = (Keyword)cGroup_1_2.eContents().get(0);
+		private final Assignment cNameAssignment_1_2_1 = (Assignment)cGroup_1_2.eContents().get(1);
+		private final RuleCall cNameIDTerminalRuleCall_1_2_1_0 = (RuleCall)cNameAssignment_1_2_1.eContents().get(0);
+		private final UnorderedGroup cUnorderedGroup_2 = (UnorderedGroup)cGroup.eContents().get(2);
+		private final Group cGroup_2_0 = (Group)cUnorderedGroup_2.eContents().get(0);
+		private final Keyword cStyleKeyword_2_0_0 = (Keyword)cGroup_2_0.eContents().get(0);
+		private final Assignment cStyleAssignment_2_0_1 = (Assignment)cGroup_2_0.eContents().get(1);
+		private final CrossReference cStyleStyleCrossReference_2_0_1_0 = (CrossReference)cStyleAssignment_2_0_1.eContents().get(0);
+		private final RuleCall cStyleStyleIDTerminalRuleCall_2_0_1_0_1 = (RuleCall)cStyleStyleCrossReference_2_0_1_0.eContents().get(1);
+		private final Assignment cVisibilityItemAssignment_2_1 = (Assignment)cUnorderedGroup_2.eContents().get(1);
+		private final RuleCall cVisibilityItemVisibilityParserRuleCall_2_1_0 = (RuleCall)cVisibilityItemAssignment_2_1.eContents().get(0);
+		private final Assignment cPageBreakAssignment_2_2 = (Assignment)cUnorderedGroup_2.eContents().get(2);
+		private final RuleCall cPageBreakPageBreakParserRuleCall_2_2_0 = (RuleCall)cPageBreakAssignment_2_2.eContents().get(0);
+		private final Keyword cLeftCurlyBracketKeyword_3 = (Keyword)cGroup.eContents().get(3);
+		private final Assignment cHeaderAssignment_4 = (Assignment)cGroup.eContents().get(4);
+		private final RuleCall cHeaderDatamartTableHeaderParserRuleCall_4_0 = (RuleCall)cHeaderAssignment_4.eContents().get(0);
+		private final Assignment cGroupsAssignment_5 = (Assignment)cGroup.eContents().get(5);
+		private final RuleCall cGroupsDatamartTableGroupParserRuleCall_5_0 = (RuleCall)cGroupsAssignment_5.eContents().get(0);
+		private final Assignment cDetailAssignment_6 = (Assignment)cGroup.eContents().get(6);
+		private final RuleCall cDetailDatamartTableDetailParserRuleCall_6_0 = (RuleCall)cDetailAssignment_6.eContents().get(0);
+		private final Assignment cFooterAssignment_7 = (Assignment)cGroup.eContents().get(7);
+		private final RuleCall cFooterDatamartTableFooterParserRuleCall_7_0 = (RuleCall)cFooterAssignment_7.eContents().get(0);
+		private final Keyword cRightCurlyBracketKeyword_8 = (Keyword)cGroup.eContents().get(8);
 		
 		//DatamartTable:
-		//	'table' ('style' style=[Style])? visibilityItem=Visibility? pageBreak=PageBreak? '{' (detailheader?='detailheader'
-		//	('style' headerstyle=[Style])?)? (detailfooter?='detailfooter' ('style' footerstyle=[Style])?)?
+		//	'table' ('datamart' datamartRef=[datamart::DatamartDefinition] ('as' name=ID)?)? (('style' style=[Style])? &
+		//	visibilityItem=Visibility? & pageBreak=PageBreak?) '{'
+		//	header=DatamartTableHeader?
 		//	groups+=DatamartTableGroup*
 		//	detail=DatamartTableDetail
+		//	footer=DatamartTableFooter?
 		//	'}';
 		@Override public ParserRule getRule() { return rule; }
 		
-		//'table' ('style' style=[Style])? visibilityItem=Visibility? pageBreak=PageBreak? '{' (detailheader?='detailheader'
-		//('style' headerstyle=[Style])?)? (detailfooter?='detailfooter' ('style' footerstyle=[Style])?)?
-		//groups+=DatamartTableGroup* detail=DatamartTableDetail '}'
+		//'table' ('datamart' datamartRef=[datamart::DatamartDefinition] ('as' name=ID)?)? (('style' style=[Style])? &
+		//visibilityItem=Visibility? & pageBreak=PageBreak?) '{' header=DatamartTableHeader? groups+=DatamartTableGroup*
+		//detail=DatamartTableDetail footer=DatamartTableFooter? '}'
 		public Group getGroup() { return cGroup; }
 		
 		//'table'
 		public Keyword getTableKeyword_0() { return cTableKeyword_0; }
 		
-		//('style' style=[Style])?
+		//('datamart' datamartRef=[datamart::DatamartDefinition] ('as' name=ID)?)?
 		public Group getGroup_1() { return cGroup_1; }
 		
+		//'datamart'
+		public Keyword getDatamartKeyword_1_0() { return cDatamartKeyword_1_0; }
+		
+		//datamartRef=[datamart::DatamartDefinition]
+		public Assignment getDatamartRefAssignment_1_1() { return cDatamartRefAssignment_1_1; }
+		
+		//[datamart::DatamartDefinition]
+		public CrossReference getDatamartRefDatamartDefinitionCrossReference_1_1_0() { return cDatamartRefDatamartDefinitionCrossReference_1_1_0; }
+		
+		//ID
+		public RuleCall getDatamartRefDatamartDefinitionIDTerminalRuleCall_1_1_0_1() { return cDatamartRefDatamartDefinitionIDTerminalRuleCall_1_1_0_1; }
+		
+		//('as' name=ID)?
+		public Group getGroup_1_2() { return cGroup_1_2; }
+		
+		//'as'
+		public Keyword getAsKeyword_1_2_0() { return cAsKeyword_1_2_0; }
+		
+		//name=ID
+		public Assignment getNameAssignment_1_2_1() { return cNameAssignment_1_2_1; }
+		
+		//ID
+		public RuleCall getNameIDTerminalRuleCall_1_2_1_0() { return cNameIDTerminalRuleCall_1_2_1_0; }
+		
+		//('style' style=[Style])? & visibilityItem=Visibility? & pageBreak=PageBreak?
+		public UnorderedGroup getUnorderedGroup_2() { return cUnorderedGroup_2; }
+		
+		//('style' style=[Style])?
+		public Group getGroup_2_0() { return cGroup_2_0; }
+		
 		//'style'
-		public Keyword getStyleKeyword_1_0() { return cStyleKeyword_1_0; }
+		public Keyword getStyleKeyword_2_0_0() { return cStyleKeyword_2_0_0; }
 		
 		//style=[Style]
-		public Assignment getStyleAssignment_1_1() { return cStyleAssignment_1_1; }
+		public Assignment getStyleAssignment_2_0_1() { return cStyleAssignment_2_0_1; }
 		
 		//[Style]
-		public CrossReference getStyleStyleCrossReference_1_1_0() { return cStyleStyleCrossReference_1_1_0; }
+		public CrossReference getStyleStyleCrossReference_2_0_1_0() { return cStyleStyleCrossReference_2_0_1_0; }
 		
 		//ID
-		public RuleCall getStyleStyleIDTerminalRuleCall_1_1_0_1() { return cStyleStyleIDTerminalRuleCall_1_1_0_1; }
+		public RuleCall getStyleStyleIDTerminalRuleCall_2_0_1_0_1() { return cStyleStyleIDTerminalRuleCall_2_0_1_0_1; }
 		
 		//visibilityItem=Visibility?
-		public Assignment getVisibilityItemAssignment_2() { return cVisibilityItemAssignment_2; }
+		public Assignment getVisibilityItemAssignment_2_1() { return cVisibilityItemAssignment_2_1; }
 		
 		//Visibility
-		public RuleCall getVisibilityItemVisibilityParserRuleCall_2_0() { return cVisibilityItemVisibilityParserRuleCall_2_0; }
+		public RuleCall getVisibilityItemVisibilityParserRuleCall_2_1_0() { return cVisibilityItemVisibilityParserRuleCall_2_1_0; }
 		
 		//pageBreak=PageBreak?
-		public Assignment getPageBreakAssignment_3() { return cPageBreakAssignment_3; }
+		public Assignment getPageBreakAssignment_2_2() { return cPageBreakAssignment_2_2; }
 		
 		//PageBreak
-		public RuleCall getPageBreakPageBreakParserRuleCall_3_0() { return cPageBreakPageBreakParserRuleCall_3_0; }
+		public RuleCall getPageBreakPageBreakParserRuleCall_2_2_0() { return cPageBreakPageBreakParserRuleCall_2_2_0; }
 		
 		//'{'
-		public Keyword getLeftCurlyBracketKeyword_4() { return cLeftCurlyBracketKeyword_4; }
+		public Keyword getLeftCurlyBracketKeyword_3() { return cLeftCurlyBracketKeyword_3; }
 		
-		//(detailheader?='detailheader' ('style' headerstyle=[Style])?)?
-		public Group getGroup_5() { return cGroup_5; }
+		//header=DatamartTableHeader?
+		public Assignment getHeaderAssignment_4() { return cHeaderAssignment_4; }
 		
-		//detailheader?='detailheader'
-		public Assignment getDetailheaderAssignment_5_0() { return cDetailheaderAssignment_5_0; }
-		
-		//'detailheader'
-		public Keyword getDetailheaderDetailheaderKeyword_5_0_0() { return cDetailheaderDetailheaderKeyword_5_0_0; }
-		
-		//('style' headerstyle=[Style])?
-		public Group getGroup_5_1() { return cGroup_5_1; }
-		
-		//'style'
-		public Keyword getStyleKeyword_5_1_0() { return cStyleKeyword_5_1_0; }
-		
-		//headerstyle=[Style]
-		public Assignment getHeaderstyleAssignment_5_1_1() { return cHeaderstyleAssignment_5_1_1; }
-		
-		//[Style]
-		public CrossReference getHeaderstyleStyleCrossReference_5_1_1_0() { return cHeaderstyleStyleCrossReference_5_1_1_0; }
-		
-		//ID
-		public RuleCall getHeaderstyleStyleIDTerminalRuleCall_5_1_1_0_1() { return cHeaderstyleStyleIDTerminalRuleCall_5_1_1_0_1; }
-		
-		//(detailfooter?='detailfooter' ('style' footerstyle=[Style])?)?
-		public Group getGroup_6() { return cGroup_6; }
-		
-		//detailfooter?='detailfooter'
-		public Assignment getDetailfooterAssignment_6_0() { return cDetailfooterAssignment_6_0; }
-		
-		//'detailfooter'
-		public Keyword getDetailfooterDetailfooterKeyword_6_0_0() { return cDetailfooterDetailfooterKeyword_6_0_0; }
-		
-		//('style' footerstyle=[Style])?
-		public Group getGroup_6_1() { return cGroup_6_1; }
-		
-		//'style'
-		public Keyword getStyleKeyword_6_1_0() { return cStyleKeyword_6_1_0; }
-		
-		//footerstyle=[Style]
-		public Assignment getFooterstyleAssignment_6_1_1() { return cFooterstyleAssignment_6_1_1; }
-		
-		//[Style]
-		public CrossReference getFooterstyleStyleCrossReference_6_1_1_0() { return cFooterstyleStyleCrossReference_6_1_1_0; }
-		
-		//ID
-		public RuleCall getFooterstyleStyleIDTerminalRuleCall_6_1_1_0_1() { return cFooterstyleStyleIDTerminalRuleCall_6_1_1_0_1; }
+		//DatamartTableHeader
+		public RuleCall getHeaderDatamartTableHeaderParserRuleCall_4_0() { return cHeaderDatamartTableHeaderParserRuleCall_4_0; }
 		
 		//groups+=DatamartTableGroup*
-		public Assignment getGroupsAssignment_7() { return cGroupsAssignment_7; }
+		public Assignment getGroupsAssignment_5() { return cGroupsAssignment_5; }
 		
 		//DatamartTableGroup
-		public RuleCall getGroupsDatamartTableGroupParserRuleCall_7_0() { return cGroupsDatamartTableGroupParserRuleCall_7_0; }
+		public RuleCall getGroupsDatamartTableGroupParserRuleCall_5_0() { return cGroupsDatamartTableGroupParserRuleCall_5_0; }
 		
 		//detail=DatamartTableDetail
-		public Assignment getDetailAssignment_8() { return cDetailAssignment_8; }
+		public Assignment getDetailAssignment_6() { return cDetailAssignment_6; }
 		
 		//DatamartTableDetail
-		public RuleCall getDetailDatamartTableDetailParserRuleCall_8_0() { return cDetailDatamartTableDetailParserRuleCall_8_0; }
+		public RuleCall getDetailDatamartTableDetailParserRuleCall_6_0() { return cDetailDatamartTableDetailParserRuleCall_6_0; }
+		
+		//footer=DatamartTableFooter?
+		public Assignment getFooterAssignment_7() { return cFooterAssignment_7; }
+		
+		//DatamartTableFooter
+		public RuleCall getFooterDatamartTableFooterParserRuleCall_7_0() { return cFooterDatamartTableFooterParserRuleCall_7_0; }
 		
 		//'}'
-		public Keyword getRightCurlyBracketKeyword_9() { return cRightCurlyBracketKeyword_9; }
+		public Keyword getRightCurlyBracketKeyword_8() { return cRightCurlyBracketKeyword_8; }
 	}
 	public class DatamartTableGroupElements extends AbstractParserRuleElementFinder {
 		private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.osbp.xtext.reportdsl.ReportDSL.DatamartTableGroup");
@@ -3187,44 +3251,27 @@
 		private final Assignment cGroupingRefAssignment_3 = (Assignment)cGroup.eContents().get(3);
 		private final CrossReference cGroupingRefDatamartAttributeCrossReference_3_0 = (CrossReference)cGroupingRefAssignment_3.eContents().get(0);
 		private final RuleCall cGroupingRefDatamartAttributeIDTerminalRuleCall_3_0_1 = (RuleCall)cGroupingRefDatamartAttributeCrossReference_3_0.eContents().get(1);
-		private final Assignment cVisibilityItemAssignment_4 = (Assignment)cGroup.eContents().get(4);
-		private final RuleCall cVisibilityItemVisibilityParserRuleCall_4_0 = (RuleCall)cVisibilityItemAssignment_4.eContents().get(0);
-		private final Assignment cPageBreakAssignment_5 = (Assignment)cGroup.eContents().get(5);
-		private final RuleCall cPageBreakPageBreakParserRuleCall_5_0 = (RuleCall)cPageBreakAssignment_5.eContents().get(0);
-		private final Keyword cLeftCurlyBracketKeyword_6 = (Keyword)cGroup.eContents().get(6);
-		private final Assignment cHeaderAssignment_7 = (Assignment)cGroup.eContents().get(7);
-		private final RuleCall cHeaderDatamartTableGroupHeaderParserRuleCall_7_0 = (RuleCall)cHeaderAssignment_7.eContents().get(0);
-		private final Group cGroup_8 = (Group)cGroup.eContents().get(8);
-		private final Assignment cDetailheaderAssignment_8_0 = (Assignment)cGroup_8.eContents().get(0);
-		private final Keyword cDetailheaderDetailheaderKeyword_8_0_0 = (Keyword)cDetailheaderAssignment_8_0.eContents().get(0);
-		private final Group cGroup_8_1 = (Group)cGroup_8.eContents().get(1);
-		private final Keyword cStyleKeyword_8_1_0 = (Keyword)cGroup_8_1.eContents().get(0);
-		private final Assignment cHeaderstyleAssignment_8_1_1 = (Assignment)cGroup_8_1.eContents().get(1);
-		private final CrossReference cHeaderstyleStyleCrossReference_8_1_1_0 = (CrossReference)cHeaderstyleAssignment_8_1_1.eContents().get(0);
-		private final RuleCall cHeaderstyleStyleIDTerminalRuleCall_8_1_1_0_1 = (RuleCall)cHeaderstyleStyleCrossReference_8_1_1_0.eContents().get(1);
-		private final Group cGroup_9 = (Group)cGroup.eContents().get(9);
-		private final Assignment cDetailfooterAssignment_9_0 = (Assignment)cGroup_9.eContents().get(0);
-		private final Keyword cDetailfooterDetailfooterKeyword_9_0_0 = (Keyword)cDetailfooterAssignment_9_0.eContents().get(0);
-		private final Group cGroup_9_1 = (Group)cGroup_9.eContents().get(1);
-		private final Keyword cStyleKeyword_9_1_0 = (Keyword)cGroup_9_1.eContents().get(0);
-		private final Assignment cFooterstyleAssignment_9_1_1 = (Assignment)cGroup_9_1.eContents().get(1);
-		private final CrossReference cFooterstyleStyleCrossReference_9_1_1_0 = (CrossReference)cFooterstyleAssignment_9_1_1.eContents().get(0);
-		private final RuleCall cFooterstyleStyleIDTerminalRuleCall_9_1_1_0_1 = (RuleCall)cFooterstyleStyleCrossReference_9_1_1_0.eContents().get(1);
-		private final Assignment cFooterAssignment_10 = (Assignment)cGroup.eContents().get(10);
-		private final RuleCall cFooterDatamartTableGroupFooterParserRuleCall_10_0 = (RuleCall)cFooterAssignment_10.eContents().get(0);
-		private final Keyword cRightCurlyBracketKeyword_11 = (Keyword)cGroup.eContents().get(11);
+		private final UnorderedGroup cUnorderedGroup_4 = (UnorderedGroup)cGroup.eContents().get(4);
+		private final Assignment cVisibilityItemAssignment_4_0 = (Assignment)cUnorderedGroup_4.eContents().get(0);
+		private final RuleCall cVisibilityItemVisibilityParserRuleCall_4_0_0 = (RuleCall)cVisibilityItemAssignment_4_0.eContents().get(0);
+		private final Assignment cPageBreakAssignment_4_1 = (Assignment)cUnorderedGroup_4.eContents().get(1);
+		private final RuleCall cPageBreakPageBreakParserRuleCall_4_1_0 = (RuleCall)cPageBreakAssignment_4_1.eContents().get(0);
+		private final Keyword cLeftCurlyBracketKeyword_5 = (Keyword)cGroup.eContents().get(5);
+		private final Assignment cHeaderAssignment_6 = (Assignment)cGroup.eContents().get(6);
+		private final RuleCall cHeaderDatamartTableHeaderParserRuleCall_6_0 = (RuleCall)cHeaderAssignment_6.eContents().get(0);
+		private final Assignment cFooterAssignment_7 = (Assignment)cGroup.eContents().get(7);
+		private final RuleCall cFooterDatamartTableFooterParserRuleCall_7_0 = (RuleCall)cFooterAssignment_7.eContents().get(0);
+		private final Keyword cRightCurlyBracketKeyword_8 = (Keyword)cGroup.eContents().get(8);
 		
 		//DatamartTableGroup:
-		//	'group' name=ID 'by' groupingRef=[datamart::DatamartAttribute] visibilityItem=Visibility? pageBreak=PageBreak? '{'
-		//	header=DatamartTableGroupHeader? (detailheader?='detailheader' ('style' headerstyle=[Style])?)?
-		//	(detailfooter?='detailfooter' ('style' footerstyle=[Style])?)?
-		//	footer=DatamartTableGroupFooter?
+		//	'group' name=ID 'by' groupingRef=[datamart::DatamartAttribute] (visibilityItem=Visibility? & pageBreak=PageBreak?) '{'
+		//	header=DatamartTableHeader?
+		//	footer=DatamartTableFooter?
 		//	'}';
 		@Override public ParserRule getRule() { return rule; }
 		
-		//'group' name=ID 'by' groupingRef=[datamart::DatamartAttribute] visibilityItem=Visibility? pageBreak=PageBreak? '{'
-		//header=DatamartTableGroupHeader? (detailheader?='detailheader' ('style' headerstyle=[Style])?)?
-		//(detailfooter?='detailfooter' ('style' footerstyle=[Style])?)? footer=DatamartTableGroupFooter? '}'
+		//'group' name=ID 'by' groupingRef=[datamart::DatamartAttribute] (visibilityItem=Visibility? & pageBreak=PageBreak?) '{'
+		//header=DatamartTableHeader? footer=DatamartTableFooter? '}'
 		public Group getGroup() { return cGroup; }
 		
 		//'group'
@@ -3248,209 +3295,180 @@
 		//ID
 		public RuleCall getGroupingRefDatamartAttributeIDTerminalRuleCall_3_0_1() { return cGroupingRefDatamartAttributeIDTerminalRuleCall_3_0_1; }
 		
+		//visibilityItem=Visibility? & pageBreak=PageBreak?
+		public UnorderedGroup getUnorderedGroup_4() { return cUnorderedGroup_4; }
+		
 		//visibilityItem=Visibility?
-		public Assignment getVisibilityItemAssignment_4() { return cVisibilityItemAssignment_4; }
+		public Assignment getVisibilityItemAssignment_4_0() { return cVisibilityItemAssignment_4_0; }
 		
 		//Visibility
-		public RuleCall getVisibilityItemVisibilityParserRuleCall_4_0() { return cVisibilityItemVisibilityParserRuleCall_4_0; }
+		public RuleCall getVisibilityItemVisibilityParserRuleCall_4_0_0() { return cVisibilityItemVisibilityParserRuleCall_4_0_0; }
 		
 		//pageBreak=PageBreak?
-		public Assignment getPageBreakAssignment_5() { return cPageBreakAssignment_5; }
+		public Assignment getPageBreakAssignment_4_1() { return cPageBreakAssignment_4_1; }
 		
 		//PageBreak
-		public RuleCall getPageBreakPageBreakParserRuleCall_5_0() { return cPageBreakPageBreakParserRuleCall_5_0; }
+		public RuleCall getPageBreakPageBreakParserRuleCall_4_1_0() { return cPageBreakPageBreakParserRuleCall_4_1_0; }
 		
 		//'{'
-		public Keyword getLeftCurlyBracketKeyword_6() { return cLeftCurlyBracketKeyword_6; }
+		public Keyword getLeftCurlyBracketKeyword_5() { return cLeftCurlyBracketKeyword_5; }
 		
-		//header=DatamartTableGroupHeader?
-		public Assignment getHeaderAssignment_7() { return cHeaderAssignment_7; }
+		//header=DatamartTableHeader?
+		public Assignment getHeaderAssignment_6() { return cHeaderAssignment_6; }
 		
-		//DatamartTableGroupHeader
-		public RuleCall getHeaderDatamartTableGroupHeaderParserRuleCall_7_0() { return cHeaderDatamartTableGroupHeaderParserRuleCall_7_0; }
+		//DatamartTableHeader
+		public RuleCall getHeaderDatamartTableHeaderParserRuleCall_6_0() { return cHeaderDatamartTableHeaderParserRuleCall_6_0; }
 		
-		//(detailheader?='detailheader' ('style' headerstyle=[Style])?)?
-		public Group getGroup_8() { return cGroup_8; }
+		//footer=DatamartTableFooter?
+		public Assignment getFooterAssignment_7() { return cFooterAssignment_7; }
 		
-		//detailheader?='detailheader'
-		public Assignment getDetailheaderAssignment_8_0() { return cDetailheaderAssignment_8_0; }
-		
-		//'detailheader'
-		public Keyword getDetailheaderDetailheaderKeyword_8_0_0() { return cDetailheaderDetailheaderKeyword_8_0_0; }
-		
-		//('style' headerstyle=[Style])?
-		public Group getGroup_8_1() { return cGroup_8_1; }
-		
-		//'style'
-		public Keyword getStyleKeyword_8_1_0() { return cStyleKeyword_8_1_0; }
-		
-		//headerstyle=[Style]
-		public Assignment getHeaderstyleAssignment_8_1_1() { return cHeaderstyleAssignment_8_1_1; }
-		
-		//[Style]
-		public CrossReference getHeaderstyleStyleCrossReference_8_1_1_0() { return cHeaderstyleStyleCrossReference_8_1_1_0; }
-		
-		//ID
-		public RuleCall getHeaderstyleStyleIDTerminalRuleCall_8_1_1_0_1() { return cHeaderstyleStyleIDTerminalRuleCall_8_1_1_0_1; }
-		
-		//(detailfooter?='detailfooter' ('style' footerstyle=[Style])?)?
-		public Group getGroup_9() { return cGroup_9; }
-		
-		//detailfooter?='detailfooter'
-		public Assignment getDetailfooterAssignment_9_0() { return cDetailfooterAssignment_9_0; }
-		
-		//'detailfooter'
-		public Keyword getDetailfooterDetailfooterKeyword_9_0_0() { return cDetailfooterDetailfooterKeyword_9_0_0; }
-		
-		//('style' footerstyle=[Style])?
-		public Group getGroup_9_1() { return cGroup_9_1; }
-		
-		//'style'
-		public Keyword getStyleKeyword_9_1_0() { return cStyleKeyword_9_1_0; }
-		
-		//footerstyle=[Style]
-		public Assignment getFooterstyleAssignment_9_1_1() { return cFooterstyleAssignment_9_1_1; }
-		
-		//[Style]
-		public CrossReference getFooterstyleStyleCrossReference_9_1_1_0() { return cFooterstyleStyleCrossReference_9_1_1_0; }
-		
-		//ID
-		public RuleCall getFooterstyleStyleIDTerminalRuleCall_9_1_1_0_1() { return cFooterstyleStyleIDTerminalRuleCall_9_1_1_0_1; }
-		
-		//footer=DatamartTableGroupFooter?
-		public Assignment getFooterAssignment_10() { return cFooterAssignment_10; }
-		
-		//DatamartTableGroupFooter
-		public RuleCall getFooterDatamartTableGroupFooterParserRuleCall_10_0() { return cFooterDatamartTableGroupFooterParserRuleCall_10_0; }
+		//DatamartTableFooter
+		public RuleCall getFooterDatamartTableFooterParserRuleCall_7_0() { return cFooterDatamartTableFooterParserRuleCall_7_0; }
 		
 		//'}'
-		public Keyword getRightCurlyBracketKeyword_11() { return cRightCurlyBracketKeyword_11; }
+		public Keyword getRightCurlyBracketKeyword_8() { return cRightCurlyBracketKeyword_8; }
 	}
-	public class DatamartTableGroupHeaderElements extends AbstractParserRuleElementFinder {
-		private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.osbp.xtext.reportdsl.ReportDSL.DatamartTableGroupHeader");
+	public class DatamartTableHeaderElements extends AbstractParserRuleElementFinder {
+		private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.osbp.xtext.reportdsl.ReportDSL.DatamartTableHeader");
 		private final Group cGroup = (Group)rule.eContents().get(1);
-		private final Action cDatamartTableGroupHeaderAction_0 = (Action)cGroup.eContents().get(0);
+		private final Action cDatamartTableHeaderAction_0 = (Action)cGroup.eContents().get(0);
 		private final Keyword cHeaderKeyword_1 = (Keyword)cGroup.eContents().get(1);
-		private final Group cGroup_2 = (Group)cGroup.eContents().get(2);
-		private final Keyword cStyleKeyword_2_0 = (Keyword)cGroup_2.eContents().get(0);
-		private final Assignment cStyleAssignment_2_1 = (Assignment)cGroup_2.eContents().get(1);
-		private final CrossReference cStyleStyleCrossReference_2_1_0 = (CrossReference)cStyleAssignment_2_1.eContents().get(0);
-		private final RuleCall cStyleStyleIDTerminalRuleCall_2_1_0_1 = (RuleCall)cStyleStyleCrossReference_2_1_0.eContents().get(1);
-		private final Assignment cPageBreakAssignment_3 = (Assignment)cGroup.eContents().get(3);
-		private final RuleCall cPageBreakPageBreakParserRuleCall_3_0 = (RuleCall)cPageBreakAssignment_3.eContents().get(0);
-		private final Keyword cLeftCurlyBracketKeyword_4 = (Keyword)cGroup.eContents().get(4);
-		private final Assignment cRowsAssignment_5 = (Assignment)cGroup.eContents().get(5);
-		private final RuleCall cRowsGridRowParserRuleCall_5_0 = (RuleCall)cRowsAssignment_5.eContents().get(0);
-		private final Keyword cRightCurlyBracketKeyword_6 = (Keyword)cGroup.eContents().get(6);
+		private final UnorderedGroup cUnorderedGroup_2 = (UnorderedGroup)cGroup.eContents().get(2);
+		private final Group cGroup_2_0 = (Group)cUnorderedGroup_2.eContents().get(0);
+		private final Keyword cStyleKeyword_2_0_0 = (Keyword)cGroup_2_0.eContents().get(0);
+		private final Assignment cStyleAssignment_2_0_1 = (Assignment)cGroup_2_0.eContents().get(1);
+		private final CrossReference cStyleStyleCrossReference_2_0_1_0 = (CrossReference)cStyleAssignment_2_0_1.eContents().get(0);
+		private final RuleCall cStyleStyleIDTerminalRuleCall_2_0_1_0_1 = (RuleCall)cStyleStyleCrossReference_2_0_1_0.eContents().get(1);
+		private final Assignment cPageBreakAssignment_2_1 = (Assignment)cUnorderedGroup_2.eContents().get(1);
+		private final RuleCall cPageBreakPageBreakParserRuleCall_2_1_0 = (RuleCall)cPageBreakAssignment_2_1.eContents().get(0);
+		private final Group cGroup_3 = (Group)cGroup.eContents().get(3);
+		private final Keyword cLeftCurlyBracketKeyword_3_0 = (Keyword)cGroup_3.eContents().get(0);
+		private final Assignment cRowsAssignment_3_1 = (Assignment)cGroup_3.eContents().get(1);
+		private final RuleCall cRowsGridRowParserRuleCall_3_1_0 = (RuleCall)cRowsAssignment_3_1.eContents().get(0);
+		private final Keyword cRightCurlyBracketKeyword_3_2 = (Keyword)cGroup_3.eContents().get(2);
 		
-		//DatamartTableGroupHeader:
-		//	{DatamartTableGroupHeader} 'header' ('style' style=[Style])? pageBreak=PageBreak? '{' rows+=GridRow* '}';
+		//DatamartTableHeader:
+		//	{DatamartTableHeader} 'header' (('style' style=[Style])? & pageBreak=PageBreak?) ('{' rows+=GridRow* '}')?;
 		@Override public ParserRule getRule() { return rule; }
 		
-		//{DatamartTableGroupHeader} 'header' ('style' style=[Style])? pageBreak=PageBreak? '{' rows+=GridRow* '}'
+		//{DatamartTableHeader} 'header' (('style' style=[Style])? & pageBreak=PageBreak?) ('{' rows+=GridRow* '}')?
 		public Group getGroup() { return cGroup; }
 		
-		//{DatamartTableGroupHeader}
-		public Action getDatamartTableGroupHeaderAction_0() { return cDatamartTableGroupHeaderAction_0; }
+		//{DatamartTableHeader}
+		public Action getDatamartTableHeaderAction_0() { return cDatamartTableHeaderAction_0; }
 		
 		//'header'
 		public Keyword getHeaderKeyword_1() { return cHeaderKeyword_1; }
 		
+		//('style' style=[Style])? & pageBreak=PageBreak?
+		public UnorderedGroup getUnorderedGroup_2() { return cUnorderedGroup_2; }
+		
 		//('style' style=[Style])?
-		public Group getGroup_2() { return cGroup_2; }
+		public Group getGroup_2_0() { return cGroup_2_0; }
 		
 		//'style'
-		public Keyword getStyleKeyword_2_0() { return cStyleKeyword_2_0; }
+		public Keyword getStyleKeyword_2_0_0() { return cStyleKeyword_2_0_0; }
 		
 		//style=[Style]
-		public Assignment getStyleAssignment_2_1() { return cStyleAssignment_2_1; }
+		public Assignment getStyleAssignment_2_0_1() { return cStyleAssignment_2_0_1; }
 		
 		//[Style]
-		public CrossReference getStyleStyleCrossReference_2_1_0() { return cStyleStyleCrossReference_2_1_0; }
+		public CrossReference getStyleStyleCrossReference_2_0_1_0() { return cStyleStyleCrossReference_2_0_1_0; }
 		
 		//ID
-		public RuleCall getStyleStyleIDTerminalRuleCall_2_1_0_1() { return cStyleStyleIDTerminalRuleCall_2_1_0_1; }
+		public RuleCall getStyleStyleIDTerminalRuleCall_2_0_1_0_1() { return cStyleStyleIDTerminalRuleCall_2_0_1_0_1; }
 		
 		//pageBreak=PageBreak?
-		public Assignment getPageBreakAssignment_3() { return cPageBreakAssignment_3; }
+		public Assignment getPageBreakAssignment_2_1() { return cPageBreakAssignment_2_1; }
 		
 		//PageBreak
-		public RuleCall getPageBreakPageBreakParserRuleCall_3_0() { return cPageBreakPageBreakParserRuleCall_3_0; }
+		public RuleCall getPageBreakPageBreakParserRuleCall_2_1_0() { return cPageBreakPageBreakParserRuleCall_2_1_0; }
+		
+		//('{' rows+=GridRow* '}')?
+		public Group getGroup_3() { return cGroup_3; }
 		
 		//'{'
-		public Keyword getLeftCurlyBracketKeyword_4() { return cLeftCurlyBracketKeyword_4; }
+		public Keyword getLeftCurlyBracketKeyword_3_0() { return cLeftCurlyBracketKeyword_3_0; }
 		
 		//rows+=GridRow*
-		public Assignment getRowsAssignment_5() { return cRowsAssignment_5; }
+		public Assignment getRowsAssignment_3_1() { return cRowsAssignment_3_1; }
 		
 		//GridRow
-		public RuleCall getRowsGridRowParserRuleCall_5_0() { return cRowsGridRowParserRuleCall_5_0; }
+		public RuleCall getRowsGridRowParserRuleCall_3_1_0() { return cRowsGridRowParserRuleCall_3_1_0; }
 		
 		//'}'
-		public Keyword getRightCurlyBracketKeyword_6() { return cRightCurlyBracketKeyword_6; }
+		public Keyword getRightCurlyBracketKeyword_3_2() { return cRightCurlyBracketKeyword_3_2; }
 	}
-	public class DatamartTableGroupFooterElements extends AbstractParserRuleElementFinder {
-		private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.osbp.xtext.reportdsl.ReportDSL.DatamartTableGroupFooter");
+	public class DatamartTableFooterElements extends AbstractParserRuleElementFinder {
+		private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.osbp.xtext.reportdsl.ReportDSL.DatamartTableFooter");
 		private final Group cGroup = (Group)rule.eContents().get(1);
-		private final Action cDatamartTableGroupFooterAction_0 = (Action)cGroup.eContents().get(0);
+		private final Action cDatamartTableFooterAction_0 = (Action)cGroup.eContents().get(0);
 		private final Keyword cFooterKeyword_1 = (Keyword)cGroup.eContents().get(1);
-		private final Group cGroup_2 = (Group)cGroup.eContents().get(2);
-		private final Keyword cStyleKeyword_2_0 = (Keyword)cGroup_2.eContents().get(0);
-		private final Assignment cStyleAssignment_2_1 = (Assignment)cGroup_2.eContents().get(1);
-		private final CrossReference cStyleStyleCrossReference_2_1_0 = (CrossReference)cStyleAssignment_2_1.eContents().get(0);
-		private final RuleCall cStyleStyleIDTerminalRuleCall_2_1_0_1 = (RuleCall)cStyleStyleCrossReference_2_1_0.eContents().get(1);
-		private final Assignment cPageBreakAssignment_3 = (Assignment)cGroup.eContents().get(3);
-		private final RuleCall cPageBreakPageBreakParserRuleCall_3_0 = (RuleCall)cPageBreakAssignment_3.eContents().get(0);
-		private final Keyword cLeftCurlyBracketKeyword_4 = (Keyword)cGroup.eContents().get(4);
-		private final Assignment cRowsAssignment_5 = (Assignment)cGroup.eContents().get(5);
-		private final RuleCall cRowsGridRowParserRuleCall_5_0 = (RuleCall)cRowsAssignment_5.eContents().get(0);
-		private final Keyword cRightCurlyBracketKeyword_6 = (Keyword)cGroup.eContents().get(6);
+		private final UnorderedGroup cUnorderedGroup_2 = (UnorderedGroup)cGroup.eContents().get(2);
+		private final Group cGroup_2_0 = (Group)cUnorderedGroup_2.eContents().get(0);
+		private final Keyword cStyleKeyword_2_0_0 = (Keyword)cGroup_2_0.eContents().get(0);
+		private final Assignment cStyleAssignment_2_0_1 = (Assignment)cGroup_2_0.eContents().get(1);
+		private final CrossReference cStyleStyleCrossReference_2_0_1_0 = (CrossReference)cStyleAssignment_2_0_1.eContents().get(0);
+		private final RuleCall cStyleStyleIDTerminalRuleCall_2_0_1_0_1 = (RuleCall)cStyleStyleCrossReference_2_0_1_0.eContents().get(1);
+		private final Assignment cPageBreakAssignment_2_1 = (Assignment)cUnorderedGroup_2.eContents().get(1);
+		private final RuleCall cPageBreakPageBreakParserRuleCall_2_1_0 = (RuleCall)cPageBreakAssignment_2_1.eContents().get(0);
+		private final Group cGroup_3 = (Group)cGroup.eContents().get(3);
+		private final Keyword cLeftCurlyBracketKeyword_3_0 = (Keyword)cGroup_3.eContents().get(0);
+		private final Assignment cRowsAssignment_3_1 = (Assignment)cGroup_3.eContents().get(1);
+		private final RuleCall cRowsGridRowParserRuleCall_3_1_0 = (RuleCall)cRowsAssignment_3_1.eContents().get(0);
+		private final Keyword cRightCurlyBracketKeyword_3_2 = (Keyword)cGroup_3.eContents().get(2);
 		
-		//DatamartTableGroupFooter:
-		//	{DatamartTableGroupFooter} 'footer' ('style' style=[Style])? pageBreak=PageBreak? '{' rows+=GridRow* '}';
+		//DatamartTableFooter:
+		//	{DatamartTableFooter} 'footer' (('style' style=[Style])? & pageBreak=PageBreak?) ('{' rows+=GridRow* '}')?;
 		@Override public ParserRule getRule() { return rule; }
 		
-		//{DatamartTableGroupFooter} 'footer' ('style' style=[Style])? pageBreak=PageBreak? '{' rows+=GridRow* '}'
+		//{DatamartTableFooter} 'footer' (('style' style=[Style])? & pageBreak=PageBreak?) ('{' rows+=GridRow* '}')?
 		public Group getGroup() { return cGroup; }
 		
-		//{DatamartTableGroupFooter}
-		public Action getDatamartTableGroupFooterAction_0() { return cDatamartTableGroupFooterAction_0; }
+		//{DatamartTableFooter}
+		public Action getDatamartTableFooterAction_0() { return cDatamartTableFooterAction_0; }
 		
 		//'footer'
 		public Keyword getFooterKeyword_1() { return cFooterKeyword_1; }
 		
+		//('style' style=[Style])? & pageBreak=PageBreak?
+		public UnorderedGroup getUnorderedGroup_2() { return cUnorderedGroup_2; }
+		
 		//('style' style=[Style])?
-		public Group getGroup_2() { return cGroup_2; }
+		public Group getGroup_2_0() { return cGroup_2_0; }
 		
 		//'style'
-		public Keyword getStyleKeyword_2_0() { return cStyleKeyword_2_0; }
+		public Keyword getStyleKeyword_2_0_0() { return cStyleKeyword_2_0_0; }
 		
 		//style=[Style]
-		public Assignment getStyleAssignment_2_1() { return cStyleAssignment_2_1; }
+		public Assignment getStyleAssignment_2_0_1() { return cStyleAssignment_2_0_1; }
 		
 		//[Style]
-		public CrossReference getStyleStyleCrossReference_2_1_0() { return cStyleStyleCrossReference_2_1_0; }
+		public CrossReference getStyleStyleCrossReference_2_0_1_0() { return cStyleStyleCrossReference_2_0_1_0; }
 		
 		//ID
-		public RuleCall getStyleStyleIDTerminalRuleCall_2_1_0_1() { return cStyleStyleIDTerminalRuleCall_2_1_0_1; }
+		public RuleCall getStyleStyleIDTerminalRuleCall_2_0_1_0_1() { return cStyleStyleIDTerminalRuleCall_2_0_1_0_1; }
 		
 		//pageBreak=PageBreak?
-		public Assignment getPageBreakAssignment_3() { return cPageBreakAssignment_3; }
+		public Assignment getPageBreakAssignment_2_1() { return cPageBreakAssignment_2_1; }
 		
 		//PageBreak
-		public RuleCall getPageBreakPageBreakParserRuleCall_3_0() { return cPageBreakPageBreakParserRuleCall_3_0; }
+		public RuleCall getPageBreakPageBreakParserRuleCall_2_1_0() { return cPageBreakPageBreakParserRuleCall_2_1_0; }
+		
+		//('{' rows+=GridRow* '}')?
+		public Group getGroup_3() { return cGroup_3; }
 		
 		//'{'
-		public Keyword getLeftCurlyBracketKeyword_4() { return cLeftCurlyBracketKeyword_4; }
+		public Keyword getLeftCurlyBracketKeyword_3_0() { return cLeftCurlyBracketKeyword_3_0; }
 		
 		//rows+=GridRow*
-		public Assignment getRowsAssignment_5() { return cRowsAssignment_5; }
+		public Assignment getRowsAssignment_3_1() { return cRowsAssignment_3_1; }
 		
 		//GridRow
-		public RuleCall getRowsGridRowParserRuleCall_5_0() { return cRowsGridRowParserRuleCall_5_0; }
+		public RuleCall getRowsGridRowParserRuleCall_3_1_0() { return cRowsGridRowParserRuleCall_3_1_0; }
 		
 		//'}'
-		public Keyword getRightCurlyBracketKeyword_6() { return cRightCurlyBracketKeyword_6; }
+		public Keyword getRightCurlyBracketKeyword_3_2() { return cRightCurlyBracketKeyword_3_2; }
 	}
 	public class DatamartTableDetailElements extends AbstractParserRuleElementFinder {
 		private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.osbp.xtext.reportdsl.ReportDSL.DatamartTableDetail");
@@ -4096,26 +4114,28 @@
 		private final Group cGroup = (Group)rule.eContents().get(1);
 		private final Action cPageBreakAction_0 = (Action)cGroup.eContents().get(0);
 		private final Keyword cPageBreakKeyword_1 = (Keyword)cGroup.eContents().get(1);
-		private final Group cGroup_2 = (Group)cGroup.eContents().get(2);
-		private final Keyword cBeforeKeyword_2_0 = (Keyword)cGroup_2.eContents().get(0);
-		private final Assignment cBeforePageBreakAssignment_2_1 = (Assignment)cGroup_2.eContents().get(1);
-		private final RuleCall cBeforePageBreakBeforeAfterPageBreakEnumEnumRuleCall_2_1_0 = (RuleCall)cBeforePageBreakAssignment_2_1.eContents().get(0);
+		private final Keyword cLeftParenthesisKeyword_2 = (Keyword)cGroup.eContents().get(2);
 		private final Group cGroup_3 = (Group)cGroup.eContents().get(3);
-		private final Keyword cAfterKeyword_3_0 = (Keyword)cGroup_3.eContents().get(0);
-		private final Assignment cAfterPageBreakAssignment_3_1 = (Assignment)cGroup_3.eContents().get(1);
-		private final RuleCall cAfterPageBreakBeforeAfterPageBreakEnumEnumRuleCall_3_1_0 = (RuleCall)cAfterPageBreakAssignment_3_1.eContents().get(0);
+		private final Keyword cBeforeKeyword_3_0 = (Keyword)cGroup_3.eContents().get(0);
+		private final Assignment cBeforePageBreakAssignment_3_1 = (Assignment)cGroup_3.eContents().get(1);
+		private final RuleCall cBeforePageBreakBeforeAfterPageBreakEnumEnumRuleCall_3_1_0 = (RuleCall)cBeforePageBreakAssignment_3_1.eContents().get(0);
 		private final Group cGroup_4 = (Group)cGroup.eContents().get(4);
-		private final Keyword cInsideKeyword_4_0 = (Keyword)cGroup_4.eContents().get(0);
-		private final Assignment cInsidePageBreakAssignment_4_1 = (Assignment)cGroup_4.eContents().get(1);
-		private final RuleCall cInsidePageBreakInsidePageBreakEnumEnumRuleCall_4_1_0 = (RuleCall)cInsidePageBreakAssignment_4_1.eContents().get(0);
+		private final Keyword cAfterKeyword_4_0 = (Keyword)cGroup_4.eContents().get(0);
+		private final Assignment cAfterPageBreakAssignment_4_1 = (Assignment)cGroup_4.eContents().get(1);
+		private final RuleCall cAfterPageBreakBeforeAfterPageBreakEnumEnumRuleCall_4_1_0 = (RuleCall)cAfterPageBreakAssignment_4_1.eContents().get(0);
+		private final Group cGroup_5 = (Group)cGroup.eContents().get(5);
+		private final Keyword cInsideKeyword_5_0 = (Keyword)cGroup_5.eContents().get(0);
+		private final Assignment cInsidePageBreakAssignment_5_1 = (Assignment)cGroup_5.eContents().get(1);
+		private final RuleCall cInsidePageBreakInsidePageBreakEnumEnumRuleCall_5_1_0 = (RuleCall)cInsidePageBreakAssignment_5_1.eContents().get(0);
+		private final Keyword cRightParenthesisKeyword_6 = (Keyword)cGroup.eContents().get(6);
 		
 		//PageBreak:
-		//	{PageBreak} 'pageBreak' ('before' beforePageBreak=BeforeAfterPageBreakEnum)? ('after'
-		//	afterPageBreak=BeforeAfterPageBreakEnum)? ('inside' insidePageBreak=InsidePageBreakEnum)?;
+		//	{PageBreak} 'pageBreak' '(' ('before' beforePageBreak=BeforeAfterPageBreakEnum)? ('after'
+		//	afterPageBreak=BeforeAfterPageBreakEnum)? ('inside' insidePageBreak=InsidePageBreakEnum)? ')';
 		@Override public ParserRule getRule() { return rule; }
 		
-		//{PageBreak} 'pageBreak' ('before' beforePageBreak=BeforeAfterPageBreakEnum)? ('after'
-		//afterPageBreak=BeforeAfterPageBreakEnum)? ('inside' insidePageBreak=InsidePageBreakEnum)?
+		//{PageBreak} 'pageBreak' '(' ('before' beforePageBreak=BeforeAfterPageBreakEnum)? ('after'
+		//afterPageBreak=BeforeAfterPageBreakEnum)? ('inside' insidePageBreak=InsidePageBreakEnum)? ')'
 		public Group getGroup() { return cGroup; }
 		
 		//{PageBreak}
@@ -4124,41 +4144,47 @@
 		//'pageBreak'
 		public Keyword getPageBreakKeyword_1() { return cPageBreakKeyword_1; }
 		
+		//'('
+		public Keyword getLeftParenthesisKeyword_2() { return cLeftParenthesisKeyword_2; }
+		
 		//('before' beforePageBreak=BeforeAfterPageBreakEnum)?
-		public Group getGroup_2() { return cGroup_2; }
-		
-		//'before'
-		public Keyword getBeforeKeyword_2_0() { return cBeforeKeyword_2_0; }
-		
-		//beforePageBreak=BeforeAfterPageBreakEnum
-		public Assignment getBeforePageBreakAssignment_2_1() { return cBeforePageBreakAssignment_2_1; }
-		
-		//BeforeAfterPageBreakEnum
-		public RuleCall getBeforePageBreakBeforeAfterPageBreakEnumEnumRuleCall_2_1_0() { return cBeforePageBreakBeforeAfterPageBreakEnumEnumRuleCall_2_1_0; }
-		
-		//('after' afterPageBreak=BeforeAfterPageBreakEnum)?
 		public Group getGroup_3() { return cGroup_3; }
 		
-		//'after'
-		public Keyword getAfterKeyword_3_0() { return cAfterKeyword_3_0; }
+		//'before'
+		public Keyword getBeforeKeyword_3_0() { return cBeforeKeyword_3_0; }
 		
-		//afterPageBreak=BeforeAfterPageBreakEnum
-		public Assignment getAfterPageBreakAssignment_3_1() { return cAfterPageBreakAssignment_3_1; }
+		//beforePageBreak=BeforeAfterPageBreakEnum
+		public Assignment getBeforePageBreakAssignment_3_1() { return cBeforePageBreakAssignment_3_1; }
 		
 		//BeforeAfterPageBreakEnum
-		public RuleCall getAfterPageBreakBeforeAfterPageBreakEnumEnumRuleCall_3_1_0() { return cAfterPageBreakBeforeAfterPageBreakEnumEnumRuleCall_3_1_0; }
+		public RuleCall getBeforePageBreakBeforeAfterPageBreakEnumEnumRuleCall_3_1_0() { return cBeforePageBreakBeforeAfterPageBreakEnumEnumRuleCall_3_1_0; }
 		
-		//('inside' insidePageBreak=InsidePageBreakEnum)?
+		//('after' afterPageBreak=BeforeAfterPageBreakEnum)?
 		public Group getGroup_4() { return cGroup_4; }
 		
+		//'after'
+		public Keyword getAfterKeyword_4_0() { return cAfterKeyword_4_0; }
+		
+		//afterPageBreak=BeforeAfterPageBreakEnum
+		public Assignment getAfterPageBreakAssignment_4_1() { return cAfterPageBreakAssignment_4_1; }
+		
+		//BeforeAfterPageBreakEnum
+		public RuleCall getAfterPageBreakBeforeAfterPageBreakEnumEnumRuleCall_4_1_0() { return cAfterPageBreakBeforeAfterPageBreakEnumEnumRuleCall_4_1_0; }
+		
+		//('inside' insidePageBreak=InsidePageBreakEnum)?
+		public Group getGroup_5() { return cGroup_5; }
+		
 		//'inside'
-		public Keyword getInsideKeyword_4_0() { return cInsideKeyword_4_0; }
+		public Keyword getInsideKeyword_5_0() { return cInsideKeyword_5_0; }
 		
 		//insidePageBreak=InsidePageBreakEnum
-		public Assignment getInsidePageBreakAssignment_4_1() { return cInsidePageBreakAssignment_4_1; }
+		public Assignment getInsidePageBreakAssignment_5_1() { return cInsidePageBreakAssignment_5_1; }
 		
 		//InsidePageBreakEnum
-		public RuleCall getInsidePageBreakInsidePageBreakEnumEnumRuleCall_4_1_0() { return cInsidePageBreakInsidePageBreakEnumEnumRuleCall_4_1_0; }
+		public RuleCall getInsidePageBreakInsidePageBreakEnumEnumRuleCall_5_1_0() { return cInsidePageBreakInsidePageBreakEnumEnumRuleCall_5_1_0; }
+		
+		//')'
+		public Keyword getRightParenthesisKeyword_6() { return cRightParenthesisKeyword_6; }
 	}
 	public class TableBinaryAggregationElements extends AbstractParserRuleElementFinder {
 		private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.osbp.xtext.reportdsl.ReportDSL.TableBinaryAggregation");
@@ -5294,6 +5320,41 @@
 		//'right'
 		public Keyword getRIGHTRightKeyword_2_0() { return cRIGHTRightKeyword_2_0; }
 	}
+	public class VerticalTextAlignEnumElements extends AbstractEnumRuleElementFinder {
+		private final EnumRule rule = (EnumRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.osbp.xtext.reportdsl.ReportDSL.VerticalTextAlignEnum");
+		private final Alternatives cAlternatives = (Alternatives)rule.eContents().get(1);
+		private final EnumLiteralDeclaration cBOTTOMEnumLiteralDeclaration_0 = (EnumLiteralDeclaration)cAlternatives.eContents().get(0);
+		private final Keyword cBOTTOMBottomKeyword_0_0 = (Keyword)cBOTTOMEnumLiteralDeclaration_0.eContents().get(0);
+		private final EnumLiteralDeclaration cMIDDLEEnumLiteralDeclaration_1 = (EnumLiteralDeclaration)cAlternatives.eContents().get(1);
+		private final Keyword cMIDDLEMiddleKeyword_1_0 = (Keyword)cMIDDLEEnumLiteralDeclaration_1.eContents().get(0);
+		private final EnumLiteralDeclaration cTOPEnumLiteralDeclaration_2 = (EnumLiteralDeclaration)cAlternatives.eContents().get(2);
+		private final Keyword cTOPTopKeyword_2_0 = (Keyword)cTOPEnumLiteralDeclaration_2.eContents().get(0);
+		
+		//enum VerticalTextAlignEnum:
+		//	BOTTOM='bottom' | MIDDLE='middle' | TOP='top';
+		public EnumRule getRule() { return rule; }
+		
+		//BOTTOM='bottom' | MIDDLE='middle' | TOP='top'
+		public Alternatives getAlternatives() { return cAlternatives; }
+		
+		//BOTTOM='bottom'
+		public EnumLiteralDeclaration getBOTTOMEnumLiteralDeclaration_0() { return cBOTTOMEnumLiteralDeclaration_0; }
+		
+		//'bottom'
+		public Keyword getBOTTOMBottomKeyword_0_0() { return cBOTTOMBottomKeyword_0_0; }
+		
+		//MIDDLE='middle'
+		public EnumLiteralDeclaration getMIDDLEEnumLiteralDeclaration_1() { return cMIDDLEEnumLiteralDeclaration_1; }
+		
+		//'middle'
+		public Keyword getMIDDLEMiddleKeyword_1_0() { return cMIDDLEMiddleKeyword_1_0; }
+		
+		//TOP='top'
+		public EnumLiteralDeclaration getTOPEnumLiteralDeclaration_2() { return cTOPEnumLiteralDeclaration_2; }
+		
+		//'top'
+		public Keyword getTOPTopKeyword_2_0() { return cTOPTopKeyword_2_0; }
+	}
 	public class NumberFormatCategoryEnumElements extends AbstractEnumRuleElementFinder {
 		private final EnumRule rule = (EnumRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.osbp.xtext.reportdsl.ReportDSL.NumberFormatCategoryEnum");
 		private final Alternatives cAlternatives = (Alternatives)rule.eContents().get(1);
@@ -5781,14 +5842,22 @@
 		private final Keyword cTOTAL_PAGE_UNFILTEREDTotalPageUnfilteredKeyword_3_0 = (Keyword)cTOTAL_PAGE_UNFILTEREDEnumLiteralDeclaration_3.eContents().get(0);
 		private final EnumLiteralDeclaration cPAGE_VARIABLEEnumLiteralDeclaration_4 = (EnumLiteralDeclaration)cAlternatives.eContents().get(4);
 		private final Keyword cPAGE_VARIABLEPageVariableKeyword_4_0 = (Keyword)cPAGE_VARIABLEEnumLiteralDeclaration_4.eContents().get(0);
+		private final EnumLiteralDeclaration cACTUAL_DATEEnumLiteralDeclaration_5 = (EnumLiteralDeclaration)cAlternatives.eContents().get(5);
+		private final Keyword cACTUAL_DATEActualDateKeyword_5_0 = (Keyword)cACTUAL_DATEEnumLiteralDeclaration_5.eContents().get(0);
+		private final EnumLiteralDeclaration cACTUAL_TIMEEnumLiteralDeclaration_6 = (EnumLiteralDeclaration)cAlternatives.eContents().get(6);
+		private final Keyword cACTUAL_TIMEActualTimeKeyword_6_0 = (Keyword)cACTUAL_TIMEEnumLiteralDeclaration_6.eContents().get(0);
+		private final EnumLiteralDeclaration cREPORT_NAMEEnumLiteralDeclaration_7 = (EnumLiteralDeclaration)cAlternatives.eContents().get(7);
+		private final Keyword cREPORT_NAMEReportNameKeyword_7_0 = (Keyword)cREPORT_NAMEEnumLiteralDeclaration_7.eContents().get(0);
 		
 		//enum AutoTextEnum:
 		//	PAGE_NUMBER="page-number" | TOTAL_PAGE="total-page" | PAGE_NUMBER_UNFILTERED="page-number-unfiltered" |
-		//	TOTAL_PAGE_UNFILTERED="total-page-unfiltered" | PAGE_VARIABLE="page-variable";
+		//	TOTAL_PAGE_UNFILTERED="total-page-unfiltered" | PAGE_VARIABLE="page-variable" | ACTUAL_DATE="actual-date" |
+		//	ACTUAL_TIME="actual-time" | REPORT_NAME="report-name";
 		public EnumRule getRule() { return rule; }
 		
 		//PAGE_NUMBER="page-number" | TOTAL_PAGE="total-page" | PAGE_NUMBER_UNFILTERED="page-number-unfiltered" |
-		//TOTAL_PAGE_UNFILTERED="total-page-unfiltered" | PAGE_VARIABLE="page-variable"
+		//TOTAL_PAGE_UNFILTERED="total-page-unfiltered" | PAGE_VARIABLE="page-variable" | ACTUAL_DATE="actual-date" |
+		//ACTUAL_TIME="actual-time" | REPORT_NAME="report-name"
 		public Alternatives getAlternatives() { return cAlternatives; }
 		
 		//PAGE_NUMBER="page-number"
@@ -5820,6 +5889,24 @@
 		
 		//"page-variable"
 		public Keyword getPAGE_VARIABLEPageVariableKeyword_4_0() { return cPAGE_VARIABLEPageVariableKeyword_4_0; }
+		
+		//ACTUAL_DATE="actual-date"
+		public EnumLiteralDeclaration getACTUAL_DATEEnumLiteralDeclaration_5() { return cACTUAL_DATEEnumLiteralDeclaration_5; }
+		
+		//"actual-date"
+		public Keyword getACTUAL_DATEActualDateKeyword_5_0() { return cACTUAL_DATEActualDateKeyword_5_0; }
+		
+		//ACTUAL_TIME="actual-time"
+		public EnumLiteralDeclaration getACTUAL_TIMEEnumLiteralDeclaration_6() { return cACTUAL_TIMEEnumLiteralDeclaration_6; }
+		
+		//"actual-time"
+		public Keyword getACTUAL_TIMEActualTimeKeyword_6_0() { return cACTUAL_TIMEActualTimeKeyword_6_0; }
+		
+		//REPORT_NAME="report-name"
+		public EnumLiteralDeclaration getREPORT_NAMEEnumLiteralDeclaration_7() { return cREPORT_NAMEEnumLiteralDeclaration_7; }
+		
+		//"report-name"
+		public Keyword getREPORT_NAMEReportNameKeyword_7_0() { return cREPORT_NAMEReportNameKeyword_7_0; }
 	}
 	public class ImageSizeEnumElements extends AbstractEnumRuleElementFinder {
 		private final EnumRule rule = (EnumRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.osbp.xtext.reportdsl.ReportDSL.ImageSizeEnum");
@@ -5943,6 +6030,7 @@
 	private final StyleElements pStyle;
 	private final MediaStyleElements pMediaStyle;
 	private final TextAlignEnumElements eTextAlignEnum;
+	private final VerticalTextAlignEnumElements eVerticalTextAlignEnum;
 	private final SomeFormatElements pSomeFormat;
 	private final UomoFormatElements pUomoFormat;
 	private final NumberFormatElements pNumberFormat;
@@ -5970,8 +6058,8 @@
 	private final GridCellElements pGridCell;
 	private final DatamartTableElements pDatamartTable;
 	private final DatamartTableGroupElements pDatamartTableGroup;
-	private final DatamartTableGroupHeaderElements pDatamartTableGroupHeader;
-	private final DatamartTableGroupFooterElements pDatamartTableGroupFooter;
+	private final DatamartTableHeaderElements pDatamartTableHeader;
+	private final DatamartTableFooterElements pDatamartTableFooter;
 	private final DatamartTableDetailElements pDatamartTableDetail;
 	private final DatamartTableAttributeElements pDatamartTableAttribute;
 	private final PureAggregationTypeEnumElements ePureAggregationTypeEnum;
@@ -6070,6 +6158,7 @@
 		this.pStyle = new StyleElements();
 		this.pMediaStyle = new MediaStyleElements();
 		this.eTextAlignEnum = new TextAlignEnumElements();
+		this.eVerticalTextAlignEnum = new VerticalTextAlignEnumElements();
 		this.pSomeFormat = new SomeFormatElements();
 		this.pUomoFormat = new UomoFormatElements();
 		this.pNumberFormat = new NumberFormatElements();
@@ -6097,8 +6186,8 @@
 		this.pGridCell = new GridCellElements();
 		this.pDatamartTable = new DatamartTableElements();
 		this.pDatamartTableGroup = new DatamartTableGroupElements();
-		this.pDatamartTableGroupHeader = new DatamartTableGroupHeaderElements();
-		this.pDatamartTableGroupFooter = new DatamartTableGroupFooterElements();
+		this.pDatamartTableHeader = new DatamartTableHeaderElements();
+		this.pDatamartTableFooter = new DatamartTableFooterElements();
 		this.pDatamartTableDetail = new DatamartTableDetailElements();
 		this.pDatamartTableAttribute = new DatamartTableAttributeElements();
 		this.ePureAggregationTypeEnum = new PureAggregationTypeEnumElements();
@@ -6438,7 +6527,7 @@
 	//BorderStyle:
 	//	type=BorderTypeEnum
 	//	widthValue=UnsignedNumber
-	//	color=[Color];
+	//	color=[Color]?;
 	public BorderStyleElements getBorderStyleAccess() {
 		return pBorderStyle;
 	}
@@ -6450,11 +6539,11 @@
 	//Style:
 	//	'style' name=ID '{' ('extends' extends=[Style])? (('formatter' format=[SomeFormat])? & ('font' font=[Font])? &
 	//	('backgroundcolor' backgroundcolor=[Color] ('alternate' backgroundcolor_alternate=[Color])?)? & ('textcolor'
-	//	textcolor=[Color])? & ('textalign' textalign=TextAlignEnum)? & ('border-top' borderTop=BorderStyle)? &
-	//	('border-bottom' borderBottom=BorderStyle)? & ('border-left' borderLeft=BorderStyle)? & ('border-right'
-	//	borderRight=BorderStyle)? & ('padding-top' paddingTopValue=UnsignedNumber)? & ('padding-bottom'
-	//	paddingBottomValue=UnsignedNumber)? & ('padding-left' paddingLeftValue=UnsignedNumber)? & ('padding-right'
-	//	paddingRightValue=UnsignedNumber)? & ('margin-top' marginTopValue=UnsignedNumber)? & ('margin-bottom'
+	//	textcolor=[Color])? & ('textalign' textalign=TextAlignEnum)? & ('verticalalign' verticalalign=VerticalTextAlignEnum)?
+	//	& ('border-top' borderTop=BorderStyle)? & ('border-bottom' borderBottom=BorderStyle)? & ('border-left'
+	//	borderLeft=BorderStyle)? & ('border-right' borderRight=BorderStyle)? & ('padding-top' paddingTopValue=UnsignedNumber)?
+	//	& ('padding-bottom' paddingBottomValue=UnsignedNumber)? & ('padding-left' paddingLeftValue=UnsignedNumber)? &
+	//	('padding-right' paddingRightValue=UnsignedNumber)? & ('margin-top' marginTopValue=UnsignedNumber)? & ('margin-bottom'
 	//	marginBottomValue=UnsignedNumber)? & ('margin-left' marginLeftValue=UnsignedNumber)? & ('margin-right'
 	//	marginRightValue=UnsignedNumber)?) mediastyles+=MediaStyle*
 	//	'}';
@@ -6469,12 +6558,13 @@
 	//MediaStyle:
 	//	'media' media=[Media] '{' (('formatter' format=[SomeFormat])? & ('font' font=[Font])? & ('backgroundcolor'
 	//	backgroundcolor=[Color] ('alternate' backgroundcolor_alternate=[Color])?)? & ('textcolor' textcolor=[Color])? &
-	//	('textalign' textalign=TextAlignEnum)? & ('border-top' borderTop=BorderStyle)? & ('border-bottom'
-	//	borderBottom=BorderStyle)? & ('border-left' borderLeft=BorderStyle)? & ('border-right' borderRight=BorderStyle)? &
-	//	('padding-top' paddingTopValue=UnsignedNumber)? & ('padding-bottom' paddingBottomValue=UnsignedNumber)? &
-	//	('padding-left' paddingLeftValue=UnsignedNumber)? & ('padding-right' paddingRightValue=UnsignedNumber)? &
-	//	('margin-top' marginTopValue=UnsignedNumber)? & ('margin-bottom' marginBottomValue=UnsignedNumber)? & ('margin-left'
-	//	marginLeftValue=UnsignedNumber)? & ('margin-right' marginRightValue=UnsignedNumber)?)
+	//	('textalign' textalign=TextAlignEnum)? & ('verticalalign' verticalalign=VerticalTextAlignEnum)? & ('border-top'
+	//	borderTop=BorderStyle)? & ('border-bottom' borderBottom=BorderStyle)? & ('border-left' borderLeft=BorderStyle)? &
+	//	('border-right' borderRight=BorderStyle)? & ('padding-top' paddingTopValue=UnsignedNumber)? & ('padding-bottom'
+	//	paddingBottomValue=UnsignedNumber)? & ('padding-left' paddingLeftValue=UnsignedNumber)? & ('padding-right'
+	//	paddingRightValue=UnsignedNumber)? & ('margin-top' marginTopValue=UnsignedNumber)? & ('margin-bottom'
+	//	marginBottomValue=UnsignedNumber)? & ('margin-left' marginLeftValue=UnsignedNumber)? & ('margin-right'
+	//	marginRightValue=UnsignedNumber)?)
 	//	'}';
 	public MediaStyleElements getMediaStyleAccess() {
 		return pMediaStyle;
@@ -6494,6 +6584,16 @@
 		return getTextAlignEnumAccess().getRule();
 	}
 	
+	//enum VerticalTextAlignEnum:
+	//	BOTTOM='bottom' | MIDDLE='middle' | TOP='top';
+	public VerticalTextAlignEnumElements getVerticalTextAlignEnumAccess() {
+		return eVerticalTextAlignEnum;
+	}
+	
+	public EnumRule getVerticalTextAlignEnumRule() {
+		return getVerticalTextAlignEnumAccess().getRule();
+	}
+	
 	//SomeFormat:
 	//	UomoFormat | NumberFormat | CurrencyFormat | DateFormat | DateTimeFormat | TimeFormat;
 	public SomeFormatElements getSomeFormatAccess() {
@@ -6742,7 +6842,8 @@
 	}
 	
 	//Grid:
-	//	{Grid} 'grid' ('as' name=ID)? ('width' widthValue=UnsignedNumber)? visibilityItem=Visibility? '{' rows+=GridRow* '}';
+	//	{Grid} 'grid' ('as' name=ID)? (('style' style=[Style])? & ('width' widthValue=UnsignedNumber)? &
+	//	visibilityItem=Visibility?) '{' rows+=GridRow* '}';
 	public GridElements getGridAccess() {
 		return pGrid;
 	}
@@ -6752,8 +6853,8 @@
 	}
 	
 	//GridRow:
-	//	{GridRow} 'row' ('as' name=ID)? ('style' style=[Style])? ('height' heightValue=UnsignedNumber)?
-	//	visibilityItem=Visibility? '{' cells+=GridCell* '}';
+	//	{GridRow} 'row' ('as' name=ID)? (('style' style=[Style])? & ('height' heightValue=UnsignedNumber)? &
+	//	visibilityItem=Visibility?) '{' cells+=GridCell* '}';
 	public GridRowElements getGridRowAccess() {
 		return pGridRow;
 	}
@@ -6763,8 +6864,8 @@
 	}
 	
 	//GridCell:
-	//	{GridCell} 'cell' ('as' name=ID)? ('style' style=[Style])? ('width' widthValue=UnsignedNumber)? ('columnspan'
-	//	columnspan=INT)? visibilityItem=Visibility? '{' elements+=Element* '}';
+	//	{GridCell} 'cell' ('as' name=ID)? (('style' style=[Style])? & ('width' widthValue=UnsignedNumber)? & ('columnspan'
+	//	columnspan=INT)? & visibilityItem=Visibility?) '{' elements+=Element* '}';
 	public GridCellElements getGridCellAccess() {
 		return pGridCell;
 	}
@@ -6774,10 +6875,12 @@
 	}
 	
 	//DatamartTable:
-	//	'table' ('style' style=[Style])? visibilityItem=Visibility? pageBreak=PageBreak? '{' (detailheader?='detailheader'
-	//	('style' headerstyle=[Style])?)? (detailfooter?='detailfooter' ('style' footerstyle=[Style])?)?
+	//	'table' ('datamart' datamartRef=[datamart::DatamartDefinition] ('as' name=ID)?)? (('style' style=[Style])? &
+	//	visibilityItem=Visibility? & pageBreak=PageBreak?) '{'
+	//	header=DatamartTableHeader?
 	//	groups+=DatamartTableGroup*
 	//	detail=DatamartTableDetail
+	//	footer=DatamartTableFooter?
 	//	'}';
 	public DatamartTableElements getDatamartTableAccess() {
 		return pDatamartTable;
@@ -6788,10 +6891,9 @@
 	}
 	
 	//DatamartTableGroup:
-	//	'group' name=ID 'by' groupingRef=[datamart::DatamartAttribute] visibilityItem=Visibility? pageBreak=PageBreak? '{'
-	//	header=DatamartTableGroupHeader? (detailheader?='detailheader' ('style' headerstyle=[Style])?)?
-	//	(detailfooter?='detailfooter' ('style' footerstyle=[Style])?)?
-	//	footer=DatamartTableGroupFooter?
+	//	'group' name=ID 'by' groupingRef=[datamart::DatamartAttribute] (visibilityItem=Visibility? & pageBreak=PageBreak?) '{'
+	//	header=DatamartTableHeader?
+	//	footer=DatamartTableFooter?
 	//	'}';
 	public DatamartTableGroupElements getDatamartTableGroupAccess() {
 		return pDatamartTableGroup;
@@ -6801,24 +6903,24 @@
 		return getDatamartTableGroupAccess().getRule();
 	}
 	
-	//DatamartTableGroupHeader:
-	//	{DatamartTableGroupHeader} 'header' ('style' style=[Style])? pageBreak=PageBreak? '{' rows+=GridRow* '}';
-	public DatamartTableGroupHeaderElements getDatamartTableGroupHeaderAccess() {
-		return pDatamartTableGroupHeader;
+	//DatamartTableHeader:
+	//	{DatamartTableHeader} 'header' (('style' style=[Style])? & pageBreak=PageBreak?) ('{' rows+=GridRow* '}')?;
+	public DatamartTableHeaderElements getDatamartTableHeaderAccess() {
+		return pDatamartTableHeader;
 	}
 	
-	public ParserRule getDatamartTableGroupHeaderRule() {
-		return getDatamartTableGroupHeaderAccess().getRule();
+	public ParserRule getDatamartTableHeaderRule() {
+		return getDatamartTableHeaderAccess().getRule();
 	}
 	
-	//DatamartTableGroupFooter:
-	//	{DatamartTableGroupFooter} 'footer' ('style' style=[Style])? pageBreak=PageBreak? '{' rows+=GridRow* '}';
-	public DatamartTableGroupFooterElements getDatamartTableGroupFooterAccess() {
-		return pDatamartTableGroupFooter;
+	//DatamartTableFooter:
+	//	{DatamartTableFooter} 'footer' (('style' style=[Style])? & pageBreak=PageBreak?) ('{' rows+=GridRow* '}')?;
+	public DatamartTableFooterElements getDatamartTableFooterAccess() {
+		return pDatamartTableFooter;
 	}
 	
-	public ParserRule getDatamartTableGroupFooterRule() {
-		return getDatamartTableGroupFooterAccess().getRule();
+	public ParserRule getDatamartTableFooterRule() {
+		return getDatamartTableFooterAccess().getRule();
 	}
 	
 	//DatamartTableDetail:
@@ -7017,8 +7119,8 @@
 	}
 	
 	//PageBreak:
-	//	{PageBreak} 'pageBreak' ('before' beforePageBreak=BeforeAfterPageBreakEnum)? ('after'
-	//	afterPageBreak=BeforeAfterPageBreakEnum)? ('inside' insidePageBreak=InsidePageBreakEnum)?;
+	//	{PageBreak} 'pageBreak' '(' ('before' beforePageBreak=BeforeAfterPageBreakEnum)? ('after'
+	//	afterPageBreak=BeforeAfterPageBreakEnum)? ('inside' insidePageBreak=InsidePageBreakEnum)? ')';
 	public PageBreakElements getPageBreakAccess() {
 		return pPageBreak;
 	}
@@ -7281,7 +7383,8 @@
 	
 	//enum AutoTextEnum:
 	//	PAGE_NUMBER="page-number" | TOTAL_PAGE="total-page" | PAGE_NUMBER_UNFILTERED="page-number-unfiltered" |
-	//	TOTAL_PAGE_UNFILTERED="total-page-unfiltered" | PAGE_VARIABLE="page-variable";
+	//	TOTAL_PAGE_UNFILTERED="total-page-unfiltered" | PAGE_VARIABLE="page-variable" | ACTUAL_DATE="actual-date" |
+	//	ACTUAL_TIME="actual-time" | REPORT_NAME="report-name";
 	public AutoTextEnumElements getAutoTextEnumAccess() {
 		return eAutoTextEnum;
 	}
diff --git a/org.eclipse.osbp.xtext.reportdsl/src/org/eclipse/osbp/xtext/reportdsl/ReportDSL.xtext b/org.eclipse.osbp.xtext.reportdsl/src/org/eclipse/osbp/xtext/reportdsl/ReportDSL.xtext
index 04ca92e..7624644 100644
--- a/org.eclipse.osbp.xtext.reportdsl/src/org/eclipse/osbp/xtext/reportdsl/ReportDSL.xtext
+++ b/org.eclipse.osbp.xtext.reportdsl/src/org/eclipse/osbp/xtext/reportdsl/ReportDSL.xtext
@@ -120,7 +120,7 @@
 BorderStyle:
 	type=BorderTypeEnum
 	widthValue=UnsignedNumber 
-	color=[Color]
+	(color=[Color])?
 	;
 
 Style:
@@ -132,6 +132,7 @@
 	('backgroundcolor' backgroundcolor=[Color] ('alternate' backgroundcolor_alternate=[Color])?)? &
 	('textcolor' textcolor=[Color])? &
 	('textalign' textalign=TextAlignEnum)? &
+	('verticalalign' verticalalign=VerticalTextAlignEnum)? &
 	('border-top' borderTop=BorderStyle)? &
 	('border-bottom' borderBottom=BorderStyle)? &
 	('border-left' borderLeft=BorderStyle)? &
@@ -156,6 +157,7 @@
 	('backgroundcolor' backgroundcolor=[Color] ('alternate' backgroundcolor_alternate=[Color])?)? &
 	('textcolor' textcolor=[Color])? &
 	('textalign' textalign=TextAlignEnum)? &
+	('verticalalign' verticalalign=VerticalTextAlignEnum)? &
 	('border-top' borderTop=BorderStyle)? &
 	('border-bottom' borderBottom=BorderStyle)? &
 	('border-left' borderLeft=BorderStyle)? &
@@ -174,6 +176,9 @@
 enum TextAlignEnum:
 	LEFT='left' | CENTER='center' | RIGHT='right';
 
+enum VerticalTextAlignEnum:
+	BOTTOM='bottom' | MIDDLE='middle' | TOP='top';
+
 SomeFormat:
 	UomoFormat | NumberFormat | CurrencyFormat | DateFormat | DateTimeFormat | TimeFormat;
 
@@ -266,35 +271,33 @@
 	Title | SubTitle | SubSubTitle | Label | Text | NonTranslatableText | AutoText | StringBinder | Image | DatamartTable | DatamartTableAttribute | Grid;
 
 Grid:
-	{Grid} 'grid' ('as' name=ID)? ('width' widthValue=UnsignedNumber)? (visibilityItem=Visibility)? '{' rows+=GridRow* '}';
+	{Grid} 'grid' ('as' name=ID)? (('style' style=[Style])? & ('width' widthValue=UnsignedNumber)? & (visibilityItem=Visibility)?) '{' rows+=GridRow* '}';
 
 GridRow:
-	{GridRow} 'row' ('as' name=ID)? ('style' style=[Style])? ('height' heightValue=UnsignedNumber)?  (visibilityItem=Visibility)? '{' cells+=GridCell* '}';
+	{GridRow} 'row' ('as' name=ID)? (('style' style=[Style])? & ('height' heightValue=UnsignedNumber)? & (visibilityItem=Visibility)?) '{' cells+=GridCell* '}';
 
 GridCell:
-	{GridCell} 'cell' ('as' name=ID)? ('style' style=[Style])? 	('width' widthValue=UnsignedNumber)? ('columnspan' columnspan=INT)? (visibilityItem=Visibility)? '{' elements+=Element* '}';
+	{GridCell} 'cell' ('as' name=ID)? (('style' style=[Style])? & ('width' widthValue=UnsignedNumber)? & ('columnspan' columnspan=INT)? & (visibilityItem=Visibility)?) '{' elements+=Element* '}';
 
 DatamartTable:
-	'table' /*datamartRef=[datamart::DatamartDefinition] ('as' name=ID)?*/ ('style' style=[Style])? (visibilityItem=Visibility)? (pageBreak=PageBreak)? '{'
-	(detailheader?='detailheader' ('style' headerstyle=[Style])?)?
-	(detailfooter?='detailfooter' ('style' footerstyle=[Style])?)?
+	'table' ('datamart' datamartRef=[datamart::DatamartDefinition] ('as' name=ID)?)? (('style' style=[Style])? & (visibilityItem=Visibility)? & (pageBreak=PageBreak)?) '{'
+	(header=DatamartTableHeader)?
 	(groups+=DatamartTableGroup)*
 	detail=DatamartTableDetail
+	(footer=DatamartTableFooter)?
 	'}';
 
 DatamartTableGroup:
-	'group' name=ID 'by' groupingRef=[datamart::DatamartAttribute] (visibilityItem=Visibility)? (pageBreak=PageBreak)? '{'
-	(header=DatamartTableGroupHeader)?
-	(detailheader?='detailheader' ('style' headerstyle=[Style])?)?
-	(detailfooter?='detailfooter' ('style' footerstyle=[Style])?)?
-	(footer=DatamartTableGroupFooter)?
+	'group' name=ID 'by' groupingRef=[datamart::DatamartAttribute] ((visibilityItem=Visibility)? & (pageBreak=PageBreak)?) '{'
+	(header=DatamartTableHeader)?
+	(footer=DatamartTableFooter)?
 	'}';
 
-DatamartTableGroupHeader:
-	{DatamartTableGroupHeader} 'header' ('style' style=[Style])? (pageBreak=PageBreak)? '{' rows+=GridRow* '}';
+DatamartTableHeader:
+	{DatamartTableHeader} 'header' (('style' style=[Style])? & (pageBreak=PageBreak)?) ('{' rows+=GridRow* '}')?;
 
-DatamartTableGroupFooter:
-	{DatamartTableGroupFooter} 'footer' ('style' style=[Style])? (pageBreak=PageBreak)? '{' rows+=GridRow* '}';
+DatamartTableFooter:
+	{DatamartTableFooter} 'footer' (('style' style=[Style])? & (pageBreak=PageBreak)?) ('{' rows+=GridRow* '}')?;
 
 DatamartTableDetail:
 	{DatamartTableDetail} 'details' ('style' style=[Style])? ('all' | ('{' columnFormatters+=DatamartTableAttribute* '}'));
@@ -364,7 +367,7 @@
 	{StringBinder} 'stringBinder' '(' (elements+=StringBinderValue)* ')' ('style' style=[Style])?;
 
 PageBreak:
-	{PageBreak} 'pageBreak' ('before' beforePageBreak=BeforeAfterPageBreakEnum)? ('after' afterPageBreak=BeforeAfterPageBreakEnum)? ('inside' insidePageBreak=InsidePageBreakEnum)?;
+	{PageBreak} 'pageBreak' '(' ('before' beforePageBreak=BeforeAfterPageBreakEnum)? ('after' afterPageBreak=BeforeAfterPageBreakEnum)? ('inside' insidePageBreak=InsidePageBreakEnum)? ')';
 
 enum BeforeAfterPageBreakEnum:
 	AUTO='auto' | ALWAYS='always' | AVOID = 'avoid';
@@ -442,7 +445,7 @@
 	NONE='none' | SOLID='solid' | DOTTED='dotted' | DASHED='dashed' | DOUBLE='double' | GROOVE='groove' | RIDGE='ridge' | INSET='inset' | OUTSET='outset';
 
 enum AutoTextEnum:
-	PAGE_NUMBER="page-number" | TOTAL_PAGE="total-page" | PAGE_NUMBER_UNFILTERED="page-number-unfiltered" | TOTAL_PAGE_UNFILTERED="total-page-unfiltered" | PAGE_VARIABLE="page-variable";
+	PAGE_NUMBER="page-number" | TOTAL_PAGE="total-page" | PAGE_NUMBER_UNFILTERED="page-number-unfiltered" | TOTAL_PAGE_UNFILTERED="total-page-unfiltered" | PAGE_VARIABLE="page-variable" | ACTUAL_DATE="actual-date" | ACTUAL_TIME="actual-time" | REPORT_NAME="report-name";
 
 Image:
 	'image' (size=ImageSizeEnum)? ('scale' scale=UnsignedNumber)?  ('height' heightValue=UnsignedNumber heightUnit=UnitEnum)? ('width' widthValue=UnsignedNumber widthUnit=UnitEnum)? sourceType=ImageSourceEnum filename=STRING;
diff --git a/org.eclipse.osbp.xtext.reportdsl/src/org/eclipse/osbp/xtext/reportdsl/common/BaseReport.java b/org.eclipse.osbp.xtext.reportdsl/src/org/eclipse/osbp/xtext/reportdsl/common/BaseReport.java
index c4d98ac..4fa3be5 100644
--- a/org.eclipse.osbp.xtext.reportdsl/src/org/eclipse/osbp/xtext/reportdsl/common/BaseReport.java
+++ b/org.eclipse.osbp.xtext.reportdsl/src/org/eclipse/osbp/xtext/reportdsl/common/BaseReport.java
@@ -14,7 +14,6 @@
 
 import java.io.ByteArrayInputStream;
 import java.io.IOException;
-import java.io.InputStream;
 import java.io.PrintWriter;
 import java.io.StringWriter;
 import java.net.URL;
@@ -24,8 +23,10 @@
 import java.util.List;
 import java.util.Locale;
 import java.util.Map;
+import java.util.Map.Entry;
 import java.util.Set;
 
+import javax.annotation.PostConstruct;
 import javax.annotation.PreDestroy;
 import javax.inject.Inject;
 
@@ -67,6 +68,7 @@
 import org.eclipse.osbp.xtext.action.ReportActionEnum;
 import org.eclipse.osbp.xtext.action.common.IToolbarAction;
 import org.eclipse.osbp.xtext.datamart.common.DatamartFilterGenerator;
+import org.eclipse.osbp.xtext.datamart.common.DatamartUiFilterFactory;
 import org.eclipse.osbp.xtext.datamartdsl.DatamartDSLPackage;
 import org.eclipse.osbp.xtext.datamartdsl.DatamartDefinition;
 import org.eclipse.osbp.xtext.datamartdsl.DatamartEntity;
@@ -78,7 +80,6 @@
 
 import com.ibm.icu.util.ULocale;
 import com.vaadin.data.Container.Filter;
-import com.vaadin.server.ClientConnector;
 import com.vaadin.server.DownloadStream;
 import com.vaadin.server.FileDownloader;
 import com.vaadin.server.StreamResource;
@@ -96,7 +97,7 @@
  */
 public abstract class BaseReport extends AbstractHybridVaaclipseView
 		implements StreamResource.StreamSource, IUser.UserLocaleListener, IDatamartFilterGenerator.FilterChangeListener,
-		IEventDispatcher.Receiver, ClientConnector.DetachListener, ClientConnector.AttachListener {
+		IEventDispatcher.Receiver {
 	private static final String BODY_HTML = "</body></html>";
 	private static final String HTML_BODY = "<html><body>";
 	private static final String RPTDESIGN = ".rptdesign";
@@ -108,13 +109,13 @@
 
 	protected transient IViewLayoutManager layoutManager;
 	protected transient BrowserFrame frame;
-	protected transient IDatamartFilterGenerator filterGenerator;
+	protected transient Map<String, IDatamartFilterGenerator> filterGeneratorMap = new HashMap<>();
 	protected transient BodyItem body;
 	protected transient Map<String, PropertyLookup> propertyLookupMapMap = new HashMap<>();
 	protected transient ReportGeneratorWorkSet workset;
 	protected Locale locale;
 	protected StreamResource reportResource;
-	protected transient IDataMart datamartInstance;
+	protected transient Map<String, IDataMart> datamartInstanceMap = new HashMap<>();
 
 	/** needs to be equivalent to the datamata ODA bundle symbolic name */
 	public static final String DATASOURCE_EXTENSION_ID = "org.eclipse.osbp.xtext.reportdsl.oda.datamart";
@@ -151,31 +152,26 @@
 		super(parent, context, app);
 		layoutManager = new ViewLayoutManager();
 		layoutManager.init(parent);
-		parent.addAttachListener(this);
-		parent.addDetachListener(this);
+		workset = new ReportGeneratorWorkSet();
 	}
 
-	@Override
-	public void attach(final ClientConnector.AttachEvent event) {
+	@PostConstruct
+	public void activate() {
 		user.addUserLocaleListener(this);
 		this.locale = user.getLocale();
-		filterGenerator.addFilterChangeListener(this);
+		for (IDatamartFilterGenerator filterGenerator : filterGeneratorMap.values()) {
+			filterGenerator.addFilterChangeListener(this);
+		}
 		eventDispatcher.addEventReceiver(this);
-
 	}
 
-	@Override
-	public void detach(final ClientConnector.DetachEvent event) {
+	@PreDestroy
+	public void deactivate() {
 		user.removeUserLocaleListener(this);
-		filterGenerator.removeFilterChangeListener(this);
+		for (IDatamartFilterGenerator filterGenerator : filterGeneratorMap.values()) {
+			filterGenerator.removeFilterChangeListener(this);
+		}
 		eventDispatcher.removeEventReceiver(this);
-
-	}
-
-	@Override
-	protected void preInit() {
-		workset = new ReportGeneratorWorkSet();
-		super.preInit();
 	}
 
 	public StreamResource getReportStreamResource() {
@@ -244,16 +240,23 @@
 	}
 
 	protected final void createFilter() {
-		datamartInstance = getDatamartInstance(user);
-		filterGenerator = new DatamartFilterGenerator(datamartInstance, dslMetadataService);
-		filterGenerator.createUIFilters(layoutManager);
+		datamartInstanceMap = getDatamartInstanceMap(user);
+		DatamartUiFilterFactory filterFactory = new DatamartUiFilterFactory();
+		for (Entry<String, IDataMart> datamartInstanceEntry : datamartInstanceMap.entrySet()) {
+			if (filterGeneratorMap.get(datamartInstanceEntry.getKey()) == null) {
+				DatamartFilterGenerator filterGenerator = new DatamartFilterGenerator(datamartInstanceEntry.getValue(),
+						dslMetadataService);
+				filterGenerator.createUIFilters(layoutManager, filterFactory);
+				filterGeneratorMap.put(datamartInstanceEntry.getKey(), filterGenerator);
+			}
+		}
 	}
 
-	public IDataMart getDatamartInstance() {
-		return datamartInstance;
+	public Map<String, IDataMart> getDatamartInstanceMap() {
+		return datamartInstanceMap;
 	}
 
-	protected abstract IDataMart getDatamartInstance(IUser user);
+	protected abstract Map<String, IDataMart> getDatamartInstanceMap(IUser user);
 
 	/**
 	 * @return the explicit given file name of the report design file
@@ -350,7 +353,7 @@
 
 		String filename = getReportFilename() + getFileExtension();
 		reportResource = new StreamResource(this, filename);
-        reportResource.setCacheTime(0);
+		reportResource.setCacheTime(0);
 		frame.setSource(reportResource);
 	}
 
@@ -567,14 +570,23 @@
 		switch (event.getCommand()) {
 		case SELECT:
 			if (!event.getSender().equals(getClass().getCanonicalName())) {
-				filterGenerator.selectItem(event, getSelectById());
+				for (IDatamartFilterGenerator filterGenerator : filterGeneratorMap.values()) {
+					if(filterGenerator.selectItem(event, getSelectById())) {
+						renderData();
+					}
+				}
 			}
 			break;
 		case REFRESH:
 			if (!event.getSender().equals(getClass().getCanonicalName())) {
+				for(Entry<String, IDataMart> entrySet:datamartInstanceMap.entrySet()) {
+					entrySet.getValue().clearCache();
+				}
 				renderData();
-				if(filterGenerator != null) {
-					filterGenerator.createUIFilters(layoutManager);
+				for (IDatamartFilterGenerator filterGenerator : filterGeneratorMap.values()) {
+					if (filterGenerator != null) {
+						filterGenerator.createUIFilters(layoutManager);
+					}
 				}
 			}
 			break;
@@ -595,13 +607,17 @@
 	@SuppressWarnings({ "rawtypes", "unchecked" })
 	private void detectDeletion(final EventDispatcherEvent event, LEntity entity, String entityName) {
 		if (entityName.equals(event.getTopic())) {
-			List<DatamartPrimary<?>> primaryKeys = datamartInstance.getPrimaryList();
-			for (DatamartPrimary key : primaryKeys) {
-				if (entity.getPrimaryKeyAttribute() != null && entity.getPrimaryKeyAttribute().isId()
-						&& key.contains(event.getData().get(EventDispatcherDataTag.ID))) {
-					renderData();
-					if(filterGenerator != null) {
-						filterGenerator.createUIFilters(layoutManager);
+			for (IDataMart datamartInstance : datamartInstanceMap.values()){
+				List<DatamartPrimary<?>> primaryKeys = datamartInstance.getPrimaryList();
+				for (DatamartPrimary key : primaryKeys) {
+					if (entity.getPrimaryKeyAttribute() != null && entity.getPrimaryKeyAttribute().isId()
+							&& key.contains(event.getData().get(EventDispatcherDataTag.ID))) {
+						renderData();
+						for (IDatamartFilterGenerator filterGenerator : filterGeneratorMap.values()) {
+							if (filterGenerator != null) {
+								filterGenerator.createUIFilters(layoutManager);
+							}
+						}
 					}
 				}
 			}
@@ -610,24 +626,30 @@
 
 	private Set<LEntity> getEntities() {
 		HashSet<LEntity> entities = new HashSet<>();
-		DatamartDefinition datamart = (DatamartDefinition) dslMetadataService.getMetadata(
-				datamartInstance.getClass().getCanonicalName().replace("Datamart", ""),
-				DatamartDSLPackage.Literals.DATAMART_DEFINITION);
-		if (datamart == null) {
-			LOGGER.error("datamart with id " + datamartInstance.getClass().getCanonicalName() + " not found");
-			return entities;
-		}
-		if (datamart.getSource() instanceof DatamartEntity) {
-			entities.add(((DatamartEntity) datamart.getSource()).getEntityRef());
-			for (DatamartNavigation navigation : ((DatamartEntity) datamart.getSource()).getNavigations()) {
-				entities.add(navigation.getDatamartEntity().getEntityRef());
+		for (IDataMart datamartInstance : datamartInstanceMap.values()){
+			DatamartDefinition datamart = (DatamartDefinition) dslMetadataService.getMetadata(
+					datamartInstance.getClass().getCanonicalName().replace("Datamart", ""),
+					DatamartDSLPackage.Literals.DATAMART_DEFINITION);
+			if (datamart == null) {
+				LOGGER.error("datamart with id " + datamartInstance.getClass().getCanonicalName() + " not found");
+				return entities;
+			}
+			if (datamart.getSource() instanceof DatamartEntity) {
+				entities.add(((DatamartEntity) datamart.getSource()).getEntityRef());
+				for (DatamartNavigation navigation : ((DatamartEntity) datamart.getSource()).getNavigations()) {
+					entities.add(navigation.getDatamartEntity().getEntityRef());
+				}
 			}
 		}
 		return entities;
 	}
 
 	public final void resetBean() {
-		filterGenerator = null;
+		filterGeneratorMap.clear();
+	}
+
+	public IBlobService getBlobService() {
+		return blobService;
 	}
 
 	protected abstract String getReportName();
@@ -635,23 +657,4 @@
 	public abstract void applyBeanFilter(Filter filter);
 
 	public abstract void applyBeanDto(Object dto);
-
-	@PreDestroy
-	@Override
-	public void preDestroy() {
-		user.removeUserLocaleListener(this);
-		eventDispatcher.removeEventReceiver(this);
-		layoutManager = null;
-		frame = null;
-		filterGenerator = null;
-		body = null;
-		propertyLookupMapMap = null;
-		workset = null;
-		reportResource = null;
-		super.preDestroy();
-	}
-
-	public IBlobService getBlobService() {
-		return blobService;
-	}
 }
diff --git a/org.eclipse.osbp.xtext.reportdsl/src/org/eclipse/osbp/xtext/reportdsl/common/BirtEngine.java b/org.eclipse.osbp.xtext.reportdsl/src/org/eclipse/osbp/xtext/reportdsl/common/BirtEngine.java
index 03930a1..d419b9e 100644
--- a/org.eclipse.osbp.xtext.reportdsl/src/org/eclipse/osbp/xtext/reportdsl/common/BirtEngine.java
+++ b/org.eclipse.osbp.xtext.reportdsl/src/org/eclipse/osbp/xtext/reportdsl/common/BirtEngine.java
@@ -30,8 +30,6 @@
 import org.eclipse.birt.report.engine.api.EngineConfig;
 import org.eclipse.birt.report.engine.api.EngineException;
 import org.eclipse.birt.report.engine.api.HTMLRenderOption;
-import org.eclipse.birt.report.engine.api.HTMLServerImageHandler;
-import org.eclipse.birt.report.engine.api.IImage;
 import org.eclipse.birt.report.engine.api.IRenderOption;
 import org.eclipse.birt.report.engine.api.IReportEngine;
 import org.eclipse.birt.report.engine.api.IReportEngineFactory;
@@ -43,11 +41,11 @@
 import org.eclipse.birt.report.model.api.IDesignEngineFactory;
 import org.eclipse.birt.report.model.api.ReportDesignHandle;
 import org.eclipse.birt.report.model.api.command.CustomMsgException;
+import org.eclipse.osbp.ui.api.datamart.IDataMart;
 import org.eclipse.osbp.ui.api.metadata.IDSLMetadataService;
 import org.eclipse.osbp.ui.api.report.IReportProvider;
 import org.eclipse.osbp.ui.api.report.IReportProvider.Rendering;
 import org.eclipse.osbp.utils.session.VaadinSessionAttributes;
-import org.eclipse.osbp.xtext.reportdsl.ImageSourceEnum;
 import org.eclipse.osbp.xtext.reportdsl.jvmmodel.ReportModelGenerator;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
@@ -59,6 +57,7 @@
 public class BirtEngine {
 
 	private static final Logger LOGGER = LoggerFactory.getLogger(BirtEngine.class);
+	 private static java.util.logging.Logger BIRT_LOGGER = java.util.logging.Logger.getLogger(BirtEngine.class.getName());
 	private final static String CONFIG_FILE = "BirtConfig.properties";
 	
 	private static Properties configProps = new Properties();
@@ -85,14 +84,32 @@
 	/**
 	 * <b>only callable by</b><ul>
 	 * <li>{@link #getReportEngine()}</li>
-	 * <li>{@link ReportModelGenerator#generateReportFile(org.eclipse.osbp.xtext.reportdsl.CCReportPackage, org.eclipse.osbp.xtext.reportdsl.CCReport, org.eclipse.xtext.generator.IFileSystemAccess)}</li>
+	 * <li>{@link ReportModelGenerator#generateReportFile(org.eclipse.osbp.xtext.reportdsl.ReportPackage, org.eclipse.osbp.xtext.reportdsl.Report, org.eclipse.xtext.generator.IFileSystemAccess)}</li>
 	 * </ul>
 	 */
 	public static IReportEngine createReportEngine(BaseReport report) {
 		start();
 		config.setResourcePath("i18n");
 		config.setResourceLocator(new ResourceLocator(report));
-		config.setLogConfig("log/birt.log",Level.FINE);
+		
+//		config.setLogConfig("log/birt.log",Level.FINE);
+		
+	  ClassLoader clzLoader = BirtEngine.class.getClassLoader();
+	  URL resource = clzLoader.getResource("resources/log4j.properties");
+	  String path = resource.getFile();
+	  System.setProperty("java.util.logging.config.file", path);
+	  config.setLogger(BIRT_LOGGER);
+	  String logbackConfig = System.getProperty("logback.configurationFile");
+	  if(logbackConfig != null) {
+		  // In case that a sub directory META-INF exists
+		  logbackConfig = logbackConfig.replace("META-INF/", "");
+		  // replacing the logback.xml with log
+		  config.setLogConfig(logbackConfig.replace("logback.xml", "log") , Level.FINE);
+		  config.setLogFile("birt.log");
+	  }
+		
+		
+		
 		IPlatformContext context = new PlatformFileContext();
 		config.setPlatformContext( context );
 		try {
@@ -128,7 +145,7 @@
 	/**
 	 * <b>only callable by</b><ul>
 	 * <li>{@link #getDesignEngine()}</li>
-	 * <li>{@link ReportModelGenerator#generateReportFile(org.eclipse.osbp.xtext.reportdsl.CCReportPackage, org.eclipse.osbp.xtext.reportdsl.CCReport, org.eclipse.xtext.generator.IFileSystemAccess)}</li>
+	 * <li>{@link ReportModelGenerator#generateReportFile(org.eclipse.osbp.xtext.reportdsl.ReportPackage, org.eclipse.osbp.xtext.reportdsl.Report, org.eclipse.xtext.generator.IFileSystemAccess)}</li>
 	 * </ul>
 	 */
 	public static IDesignEngine createDesignEngine() {
@@ -254,7 +271,7 @@
 		task.getAppContext().put(IReportProvider.APPCONTEXT_DSLMETADATASERVICE, report.getDslMetadataService());
 		task.getAppContext().put(IReportProvider.APPCONTEXT_BLOBSERVICE, report.getBlobService());
 		task.getAppContext().put(IReportProvider.APPCONTEXT_USER, report.getUser());
-		task.getAppContext().put(IReportProvider.APPCONTEXT_DATAMARTINSTANCE, report.getDatamartInstance());
+		task.getAppContext().put(IReportProvider.APPCONTEXT_DATAMARTINSTANCE, report.getDatamartInstanceMap());
 		task.getAppContext().put(IReportProvider.APPCONTEXT_PROPERTYLOOKUP, report.getPropertyLookupMap());
 		task.setLocale(report.getUser().getLocale());
 
@@ -283,6 +300,11 @@
 		task.setRenderOption(options);
 		// run report
 		task.run();
+		@SuppressWarnings("unchecked")
+		List<EngineException> errorList = task.getErrors();
+		for (EngineException error : errorList){
+			LOGGER.error(task.getClass().getName() + ": " + error.getLocalizedMessage());
+		}
 		
 		if (renderer.asStream()) {
 			if	(renderer.forPrinting() && (bos != null)) {
@@ -313,12 +335,14 @@
 			// version
 			if (!locale.contains("_")) {
 				for(String attributeName:report.getStaticData()) {
-					String value = report.getDatamartInstance().getResultAttribute(attributeName);
-					if(value != null) {
-						try {
-							reportDesignHandle.addTranslation(BaseReport.ATTRIBUTE_TRANSLATION_PREFIX+attributeName, locale, value);
-						} catch (CustomMsgException e) {
-							LOGGER.error("{}", e);
+					for (IDataMart datamartInstance : report.getDatamartInstanceMap().values()){
+						String value = datamartInstance.getResultAttribute(attributeName);
+						if(value != null) {
+							try {
+								reportDesignHandle.addTranslation(BaseReport.ATTRIBUTE_TRANSLATION_PREFIX+attributeName, locale, value);
+							} catch (CustomMsgException e) {
+								LOGGER.error("{}", e);
+							}
 						}
 					}
 				}
diff --git a/org.eclipse.osbp.xtext.reportdsl/src/org/eclipse/osbp/xtext/reportdsl/common/item/AContainerItem.java b/org.eclipse.osbp.xtext.reportdsl/src/org/eclipse/osbp/xtext/reportdsl/common/item/AContainerItem.java
index 5d7bd3c..6cea992 100644
--- a/org.eclipse.osbp.xtext.reportdsl/src/org/eclipse/osbp/xtext/reportdsl/common/item/AContainerItem.java
+++ b/org.eclipse.osbp.xtext.reportdsl/src/org/eclipse/osbp/xtext/reportdsl/common/item/AContainerItem.java
@@ -26,7 +26,6 @@
 import org.eclipse.birt.report.model.api.command.StyleException;
 import org.eclipse.birt.report.model.api.elements.DesignChoiceConstants;
 import org.eclipse.birt.report.model.api.elements.structures.HighlightRule;
-import org.eclipse.birt.report.model.api.metadata.DimensionValue;
 import org.eclipse.birt.report.model.elements.interfaces.IStyleModel;
 import org.eclipse.osbp.xtext.reportdsl.BaseStyle;
 import org.eclipse.osbp.xtext.reportdsl.BorderStyle;
@@ -289,6 +288,23 @@
 			}
 		}
 
+		if	(styleHandle.getVerticalAlign() == null) {
+			if	(!style.getVerticalalign().getLiteral().isEmpty()) {
+				try {
+					styleHandle.setVerticalAlign(style.getVerticalalign().getLiteral());
+				} catch (SemanticException e) {
+					LOGGER.error("{}", e);
+				}
+			}
+//			else if ((style.getFormat() != null) && (!style.getFormat().getVTextalign().getLiteral().isEmpty())) {
+//				try {
+//					styleHandle.setTextAlign(style.getFormat().getTextalign().getLiteral());
+//				} catch (SemanticException e) {
+//					LOGGER.error("{}", e);
+//				}
+//			}
+		}
+		
 		if	(style.getFont() != null) {
 			applyFont(styleHandle, style.getFont());
 		}
@@ -366,34 +382,30 @@
 	}
 
 	private void applyPadding(StyleHandle styleHandle, BaseStyle style) {	// NOSONAR
-		if	(!styleHandle.getPaddingTop().isSet() && style.getPaddingTopValue()!=0) {
+		if	(!styleHandle.getPaddingTop().isSet()) {
 			try {
-				DimensionValue dim = new DimensionValue(style.getPaddingTopValue(), fWorkset.getReport().getDefaultUnit().getLiteral());
-				styleHandle.setProperty(IStyleModel.PADDING_TOP_PROP, dim.toString());
+				styleHandle.setProperty(IStyleModel.PADDING_TOP_PROP, fWorkset.getLocalizedDoubleValue(styleHandle, style.getPaddingTopValue()));
 			} catch (SemanticException e) {
 				LOGGER.error("{}", e);
 			}
 		}
-		if	(!styleHandle.getPaddingBottom().isSet() && style.getPaddingBottomValue()!=0) {
+		if	(!styleHandle.getPaddingBottom().isSet()) {
 			try {
-				DimensionValue dim = new DimensionValue(style.getPaddingBottomValue(), fWorkset.getReport().getDefaultUnit().getLiteral());
-				styleHandle.setProperty(IStyleModel.PADDING_BOTTOM_PROP, dim.toString());
+				styleHandle.setProperty(IStyleModel.PADDING_BOTTOM_PROP, fWorkset.getLocalizedDoubleValue(styleHandle, style.getPaddingBottomValue()));
 			} catch (SemanticException e) {
 				LOGGER.error("{}", e);
 			}
 		}
-		if	(!styleHandle.getPaddingLeft().isSet() && style.getPaddingLeftValue()!=0) {
+		if	(!styleHandle.getPaddingLeft().isSet()) {
 			try {
-				DimensionValue dim = new DimensionValue(style.getPaddingLeftValue(), fWorkset.getReport().getDefaultUnit().getLiteral());
-				styleHandle.setProperty(IStyleModel.PADDING_LEFT_PROP, dim.toString());
+				styleHandle.setProperty(IStyleModel.PADDING_LEFT_PROP, fWorkset.getLocalizedDoubleValue(styleHandle, style.getPaddingLeftValue()));
 			} catch (SemanticException e) {
 				LOGGER.error("{}", e);
 			}
 		}
-		if	(!styleHandle.getPaddingRight().isSet() && style.getPaddingRightValue()!=0) {
+		if	(!styleHandle.getPaddingRight().isSet()) {
 			try {
-				DimensionValue dim = new DimensionValue(style.getPaddingRightValue(), fWorkset.getReport().getDefaultUnit().getLiteral());
-				styleHandle.setProperty(IStyleModel.PADDING_RIGHT_PROP, dim.toString());
+				styleHandle.setProperty(IStyleModel.PADDING_RIGHT_PROP, fWorkset.getLocalizedDoubleValue(styleHandle, style.getPaddingRightValue()));
 			} catch (SemanticException e) {
 				LOGGER.error("{}", e);
 			}
@@ -401,34 +413,30 @@
 	}
 
 	private void applyMargin(StyleHandle styleHandle, BaseStyle style) { // NOSONAR
-		if	(!styleHandle.getMarginTop().isSet() && style.getMarginTopValue()!=0) {
+		if	(!styleHandle.getMarginTop().isSet()) {
 			try {
-				DimensionValue dim = new DimensionValue(style.getMarginTopValue(), fWorkset.getReport().getDefaultUnit().getLiteral());
-				styleHandle.setProperty(IStyleModel.MARGIN_TOP_PROP, dim.toString());
+				styleHandle.setProperty(IStyleModel.MARGIN_TOP_PROP, fWorkset.getLocalizedDoubleValue(styleHandle, style.getMarginTopValue()));
 			} catch (SemanticException e) {
 				LOGGER.error("{}", e);
 			}
 		}
-		if	(!styleHandle.getMarginBottom().isSet() && style.getMarginBottomValue()!=0) {
+		if	(!styleHandle.getMarginBottom().isSet()) {
 			try {
-				DimensionValue dim = new DimensionValue(style.getMarginBottomValue(), fWorkset.getReport().getDefaultUnit().getLiteral());
-				styleHandle.setProperty(IStyleModel.MARGIN_BOTTOM_PROP, dim.toString());
+				styleHandle.setProperty(IStyleModel.MARGIN_BOTTOM_PROP, fWorkset.getLocalizedDoubleValue(styleHandle, style.getMarginBottomValue()));
 			} catch (SemanticException e) {
 				LOGGER.error("{}", e);
 			}
 		}
-		if	(!styleHandle.getMarginLeft().isSet() && style.getMarginLeftValue()!=0) {
+		if	(!styleHandle.getMarginLeft().isSet()) {
 			try {
-				DimensionValue dim = new DimensionValue(style.getMarginLeftValue(), fWorkset.getReport().getDefaultUnit().getLiteral());
-				styleHandle.setProperty(IStyleModel.MARGIN_LEFT_PROP, dim.toString());
+				styleHandle.setProperty(IStyleModel.MARGIN_LEFT_PROP, fWorkset.getLocalizedDoubleValue(styleHandle, style.getMarginLeftValue()));
 			} catch (SemanticException e) {
 				LOGGER.error("{}", e);
 			}
 		}
-		if	(!styleHandle.getMarginRight().isSet() && style.getMarginRightValue()!=0) {
+		if	(!styleHandle.getMarginRight().isSet()) {
 			try {
-				DimensionValue dim = new DimensionValue(style.getMarginRightValue(), fWorkset.getReport().getDefaultUnit().getLiteral());
-				styleHandle.setProperty(IStyleModel.MARGIN_RIGHT_PROP, dim.toString());
+				styleHandle.setProperty(IStyleModel.MARGIN_RIGHT_PROP, fWorkset.getLocalizedDoubleValue(styleHandle, style.getMarginRightValue()));
 			} catch (SemanticException e) {
 				LOGGER.error("{}", e);
 			}
@@ -443,8 +451,7 @@
 				LOGGER.error("{}", e);
 			}
 			try {
-				DimensionValue dim = new DimensionValue(border.getWidthValue(), fWorkset.getReport().getDefaultUnit().getLiteral());
-				styleHandle.setProperty(IStyleModel.BORDER_TOP_WIDTH_PROP, dim.toString());
+				styleHandle.setProperty(IStyleModel.BORDER_TOP_WIDTH_PROP, fWorkset.getLocalizedDoubleValue(styleHandle, border.getWidthValue()));
 			} catch (SemanticException e) {
 				LOGGER.error("{}", e);
 			}
@@ -464,8 +471,7 @@
 				LOGGER.error("{}", e);
 			}
 			try {
-				DimensionValue dim = new DimensionValue(border.getWidthValue(), fWorkset.getReport().getDefaultUnit().getLiteral());
-				styleHandle.setProperty(IStyleModel.BORDER_LEFT_WIDTH_PROP, dim.toString());
+				styleHandle.setProperty(IStyleModel.BORDER_LEFT_WIDTH_PROP, fWorkset.getLocalizedDoubleValue(styleHandle, border.getWidthValue()));
 			} catch (SemanticException e) {
 				LOGGER.error("{}", e);
 			}
@@ -485,8 +491,7 @@
 				LOGGER.error("{}", e);
 			}
 			try {
-				DimensionValue dim = new DimensionValue(border.getWidthValue(), fWorkset.getReport().getDefaultUnit().getLiteral());
-				styleHandle.setProperty(IStyleModel.BORDER_RIGHT_WIDTH_PROP, dim.toString());
+				styleHandle.setProperty(IStyleModel.BORDER_RIGHT_WIDTH_PROP, fWorkset.getLocalizedDoubleValue(styleHandle, border.getWidthValue()));
 			} catch (SemanticException e) {
 				LOGGER.error("{}", e);
 			}
@@ -506,8 +511,7 @@
 				LOGGER.error("{}", e);
 			}
 			try {
-				DimensionValue dim = new DimensionValue(border.getWidthValue(), fWorkset.getReport().getDefaultUnit().getLiteral());
-				styleHandle.setProperty(IStyleModel.BORDER_BOTTOM_WIDTH_PROP, dim.toString());
+				styleHandle.setProperty(IStyleModel.BORDER_BOTTOM_WIDTH_PROP, fWorkset.getLocalizedDoubleValue(styleHandle, border.getWidthValue()));
 			} catch (SemanticException e) {
 				LOGGER.error("{}", e);
 			}
@@ -535,8 +539,7 @@
 		}
 		if	(font.getSizeunit() != null && font.getSizevalue() > 0 && (styleHandle.getFontSize() == null || !styleHandle.getFontSize().isSet())) {
 			try {
-				DimensionValue dim = new DimensionValue(font.getSizevalue(), font.getSizeunit().name().toLowerCase());
-				styleHandle.setProperty(IStyleModel.FONT_SIZE_PROP, dim.toString());
+				styleHandle.setProperty(IStyleModel.FONT_SIZE_PROP, fWorkset.getLocalizedDoubleValue(styleHandle, font.getSizevalue(), font.getSizeunit()));
 			} catch (SemanticException e) {
 				LOGGER.error("{}", e);
 			}
diff --git a/org.eclipse.osbp.xtext.reportdsl/src/org/eclipse/osbp/xtext/reportdsl/common/item/ContainerItem.java b/org.eclipse.osbp.xtext.reportdsl/src/org/eclipse/osbp/xtext/reportdsl/common/item/ContainerItem.java
index 43bd6e6..5118de1 100644
--- a/org.eclipse.osbp.xtext.reportdsl/src/org/eclipse/osbp/xtext/reportdsl/common/item/ContainerItem.java
+++ b/org.eclipse.osbp.xtext.reportdsl/src/org/eclipse/osbp/xtext/reportdsl/common/item/ContainerItem.java
@@ -16,14 +16,21 @@
 
 import org.eclipse.birt.report.model.api.DataSetHandle;
 import org.eclipse.birt.report.model.api.activity.SemanticException;
+import org.eclipse.birt.report.model.api.elements.DesignChoiceConstants;
 import org.eclipse.birt.report.model.api.elements.structures.ComputedColumn;
+import org.eclipse.emf.ecore.EObject;
 import org.eclipse.osbp.xtext.datamartdsl.DatamartAttribute;
 import org.eclipse.osbp.xtext.datamartdsl.DatamartDefinition;
+import org.eclipse.osbp.xtext.reportdsl.AutoTextEnum;
 import org.eclipse.osbp.xtext.reportdsl.DatamartTableAttribute;
 import org.eclipse.osbp.xtext.reportdsl.DatamartTableGroup;
+import org.eclipse.osbp.xtext.reportdsl.GridCell;
+import org.eclipse.osbp.xtext.reportdsl.GridRow;
+import org.eclipse.osbp.xtext.reportdsl.Report;
 import org.eclipse.osbp.xtext.reportdsl.StringBinder;
 import org.eclipse.osbp.xtext.reportdsl.Style;
 import org.eclipse.osbp.xtext.reportdsl.TableMultipleAggregation;
+import org.eclipse.osbp.xtext.reportdsl.UnitEnum;
 import org.eclipse.osbp.xtext.reportdsl.WithHeaderFooter;
 import org.eclipse.osbp.xtext.reportdsl.common.attribute.Attribute;
 import org.eclipse.osbp.xtext.reportdsl.common.attribute.StyleName;
@@ -90,6 +97,13 @@
 				);
 	}
 	
+	public void addTextData(AutoTextEnum autoTextEnum, Style style) throws SemanticException {
+		add(
+				new TextDataItem(fWorkset, BaseItem.CONTENT_TYPE_HTML, autoTextEnum),
+				style
+				);
+	}
+	
 	public void addAutoText(String type, Style style) throws SemanticException {
 		add(
 			new AutoTextItem(fWorkset, type),
@@ -105,9 +119,9 @@
 		return new TableItem(fWorkset, columns);
 	}
 	
-	public void addTable(DataSetHandle dataSet, WithHeaderFooter withHeaderFooter, List<ComputedColumn> boundColumns, DatamartTableGroup[] groups, Style propertiesStyle, DatamartTableAttribute[] tableProperties, Style style, Attribute[] attributes) throws SemanticException {	// NOSONAR
+	public void addTable(DatamartDefinition datamart, DataSetHandle dataSet, WithHeaderFooter withHeaderFooter, List<ComputedColumn> boundColumns, DatamartTableGroup[] groups, Style propertiesStyle, DatamartTableAttribute[] tableProperties, Style style, Attribute[] attributes) throws SemanticException {	// NOSONAR
 		add(
-			new TableItem(fWorkset, dataSet, withHeaderFooter, boundColumns, groups, propertiesStyle, tableProperties),
+			new TableItem(datamart, fWorkset, dataSet, withHeaderFooter, boundColumns, groups, propertiesStyle, tableProperties),
 			style,
 			attributes
 		);
@@ -120,9 +134,41 @@
 		);
 	}
 		
-	public void addDataImage(DatamartTableAttribute tableAttribute, Style style) throws SemanticException {
+	public void addData(DatamartTableAttribute tableAttribute, DataSetHandle dataSet, String dataSetName, Style style) throws SemanticException {
 		add(
-				new ImageItem(fWorkset, tableAttribute),
+			new DataItem(fWorkset, dataSet, fWorkset.getComputedColumns(dataSetName), tableAttribute),
+			style
+		);
+	}
+	
+	public void addDataImage(DatamartTableAttribute tableAttribute, Style style) throws SemanticException {
+		double height = -1.0d;
+		double width = -1.0d;
+		UnitEnum defaultUnit = UnitEnum.MM;
+		if (tableAttribute.getWidthValue() > 0.0) {
+			width = tableAttribute.getWidthValue();
+		}
+		EObject eObj = tableAttribute.eContainer();
+		while (eObj != null && !(eObj instanceof GridCell)) {
+			eObj = eObj.eContainer();
+		}
+		if (eObj != null && ((GridCell)eObj).getWidthValue() > 0.0) {
+			width = ((GridCell)eObj).getWidthValue();
+		}
+		while (eObj != null && !(eObj instanceof GridRow)) {
+			eObj = eObj.eContainer();
+		}
+		if (eObj != null && ((GridRow)eObj).getHeightValue() > 0.0) {
+			height = ((GridRow)eObj).getHeightValue();
+		}
+		while (eObj != null && !(eObj instanceof Report)) {
+			eObj = eObj.eContainer();
+		}
+		if (eObj != null && ((Report)eObj).getDefaultUnit() != null) {
+			defaultUnit = ((Report)eObj).getDefaultUnit();
+		}
+		add(
+				new ImageItem(fWorkset, DataUtils.getAttributeName(tableAttribute), DesignChoiceConstants.IMAGE_SIZE_SIZE_TO_IMAGE, -1.0d, height, defaultUnit, width, defaultUnit, DesignChoiceConstants.IMAGE_REF_TYPE_EXPR, null),
 				style
 				);
 	}
diff --git a/org.eclipse.osbp.xtext.reportdsl/src/org/eclipse/osbp/xtext/reportdsl/common/item/DataItem.java b/org.eclipse.osbp.xtext.reportdsl/src/org/eclipse/osbp/xtext/reportdsl/common/item/DataItem.java
index 6430587..c985b58 100644
--- a/org.eclipse.osbp.xtext.reportdsl/src/org/eclipse/osbp/xtext/reportdsl/common/item/DataItem.java
+++ b/org.eclipse.osbp.xtext.reportdsl/src/org/eclipse/osbp/xtext/reportdsl/common/item/DataItem.java
@@ -14,11 +14,25 @@
 
 import java.io.PrintWriter;
 import java.io.StringWriter;
+import java.util.ArrayList;
+import java.util.List;
 
 import org.eclipse.birt.report.model.api.DataItemHandle;
+import org.eclipse.birt.report.model.api.DataSetHandle;
 import org.eclipse.birt.report.model.api.ReportItemHandle;
 import org.eclipse.birt.report.model.api.activity.SemanticException;
+import org.eclipse.birt.report.model.api.elements.structures.ComputedColumn;
+import org.eclipse.birt.report.model.elements.interfaces.IReportItemModel;
+import org.eclipse.osbp.xtext.datamartdsl.DatamartAttribute;
+import org.eclipse.osbp.xtext.datamartdsl.DatamartDefinition;
+import org.eclipse.osbp.xtext.datamartdsl.util.DatamartAttributeUtil;
 import org.eclipse.osbp.xtext.reportdsl.DatamartTableAttribute;
+import org.eclipse.osbp.xtext.reportdsl.GridCell;
+import org.eclipse.osbp.xtext.reportdsl.StringBinder;
+import org.eclipse.osbp.xtext.reportdsl.StringBinderValue;
+import org.eclipse.osbp.xtext.reportdsl.TableAggregation;
+import org.eclipse.osbp.xtext.reportdsl.TableAttribute;
+import org.eclipse.osbp.xtext.reportdsl.TableValueElement;
 import org.eclipse.osbp.xtext.reportdsl.jvmmodel.ReportGeneratorWorkSet;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
@@ -28,10 +42,19 @@
 	private static final Logger LOGGER = LoggerFactory.getLogger(DataItem.class);
 	private final DataItemHandle fItem;
 
-	public DataItem(ReportGeneratorWorkSet workset, DatamartTableAttribute tableAttribute) {
+	public DataItem(ReportGeneratorWorkSet workset, DataSetHandle dataSet, List<ComputedColumn> boundColumns, DatamartTableAttribute datamartTableAttribute) {
 		fItem = workset.newDataItem("");
+		// Using an datamart table attribute outside a grid requires a data set definition
+		if (!(datamartTableAttribute.eContainer() instanceof GridCell)) {
+			setDataSet(dataSet);
+			List<ComputedColumn> requiredBoundColumns = new ArrayList<>();
+			if (datamartTableAttribute.getColumn() instanceof TableAttribute){
+				addToRequiredBoundColumns(((TableAttribute)datamartTableAttribute.getColumn()).getValueRef(), boundColumns, requiredBoundColumns);
+			}
+			setBoundColumns(requiredBoundColumns, datamartTableAttribute.getColumn());
+		}
 		try {
-			fItem.setResultSetColumn(DataUtils.getAttributeName(tableAttribute));
+			fItem.setResultSetColumn(DataUtils.getAttributeName(datamartTableAttribute));
 		} catch (SemanticException e) {
 			StringWriter sw = new StringWriter();
 			e.printStackTrace(new PrintWriter(sw));
@@ -40,6 +63,64 @@
 		}
 	}
 	
+	public DataItem(ReportGeneratorWorkSet workset, DatamartTableAttribute datamartTableAttribute) {
+		fItem = workset.newDataItem("");
+		try {
+			fItem.setResultSetColumn(DataUtils.getAttributeName(datamartTableAttribute));
+		} catch (SemanticException e) {
+			StringWriter sw = new StringWriter();
+			e.printStackTrace(new PrintWriter(sw));
+			String exceptionDetails = sw.toString();
+			LOGGER.error("{}", exceptionDetails);
+		}
+	}
+	
+	public void setDataSet(DataSetHandle dataSet) {
+		try {
+			fItem.setDataSet(dataSet);
+		} catch (SemanticException e) {
+			LOGGER.error("{}", e);
+		}
+	}
+	
+	private void addToShowColumns(TableAttribute tableAttribute, List<ComputedColumn> boundColumns, List<ComputedColumn> shownColumns) {
+		for	(int columnNo=0; columnNo < boundColumns.size(); columnNo++) {
+			// attribute name modification as in org.eclipse.osbp.xtext.reportdsl.jvmmodel.ReportModelGenerator.addDatamartAttribute(...)
+			// see also DatamartDSLJvmInferrer
+			if	(boundColumns.get(columnNo).getName().equalsIgnoreCase(DatamartAttributeUtil.getAliasedAttributeName(tableAttribute.getValueRef()))) {
+				shownColumns.add(boundColumns.get(columnNo));
+				break;
+			}
+		}
+	}
+
+	public void setBoundColumns(List<ComputedColumn> boundColumns, TableValueElement tableValueElement) {	// NOSONAR
+		if	((boundColumns != null) && !boundColumns.isEmpty()) {
+			List<ComputedColumn> shownColumns = new ArrayList<>();
+			if	(tableValueElement instanceof TableAggregation) {
+				shownColumns.add(DataUtils.createComputedColumn((TableAggregation) tableValueElement));
+			} else if	(tableValueElement instanceof TableAttribute) {
+				addToShowColumns((TableAttribute)tableValueElement, boundColumns, shownColumns);
+			}
+			// --- set all bound elements ---
+			fItem.getElement().setProperty(IReportItemModel.BOUND_DATA_COLUMNS_PROP, shownColumns);
+		}
+	}
+
+	private void addToRequiredBoundColumns(DatamartAttribute datamartAttribute, List<ComputedColumn> boundColumns, List<ComputedColumn> requiredBoundColumns) {
+		try {
+			String tableAttributeName = DatamartAttributeUtil.getAliasedAttributeName(datamartAttribute);
+			for (ComputedColumn computedColumn : boundColumns) {
+				if (computedColumn.getName().equalsIgnoreCase(tableAttributeName)){
+					requiredBoundColumns.add(computedColumn);
+					break;
+				}
+			}
+		} catch (NullPointerException npe){
+			LOGGER.error("NullPointerException on getting DatamartAttribute name!");
+		}
+	}
+
 	@Override
 	public ReportItemHandle getHandle() {
 		return fItem;
diff --git a/org.eclipse.osbp.xtext.reportdsl/src/org/eclipse/osbp/xtext/reportdsl/common/item/GridItem.java b/org.eclipse.osbp.xtext.reportdsl/src/org/eclipse/osbp/xtext/reportdsl/common/item/GridItem.java
index a0605a1..f4d8dad 100644
--- a/org.eclipse.osbp.xtext.reportdsl/src/org/eclipse/osbp/xtext/reportdsl/common/item/GridItem.java
+++ b/org.eclipse.osbp.xtext.reportdsl/src/org/eclipse/osbp/xtext/reportdsl/common/item/GridItem.java
@@ -13,7 +13,9 @@
 package org.eclipse.osbp.xtext.reportdsl.common.item;
 
 import java.util.ArrayList;
+import java.util.HashSet;
 import java.util.List;
+import java.util.Set;
 
 import org.eclipse.birt.report.model.api.CellHandle;
 import org.eclipse.birt.report.model.api.DataSetHandle;
@@ -41,6 +43,7 @@
 import org.eclipse.osbp.xtext.reportdsl.Style;
 import org.eclipse.osbp.xtext.reportdsl.TableAggregation;
 import org.eclipse.osbp.xtext.reportdsl.TableAttribute;
+import org.eclipse.osbp.xtext.reportdsl.TableValueElement;
 import org.eclipse.osbp.xtext.reportdsl.UnitEnum;
 import org.eclipse.osbp.xtext.reportdsl.jvmmodel.ReportGeneratorWorkSet;
 import org.slf4j.Logger;
@@ -64,15 +67,29 @@
 		}
 		fItem = workset.getFactory().newGridItem(null, columnCount, rowCount);
 		List<Object> tableProperties = new ArrayList<>();
+		HashSet<String> tableAttributeNameSet = new HashSet<String>();
 		for (GridRow gridRow : grid.getRows()) {
 			for (GridCell gridCell : gridRow.getCells()) {
 				for (Element gridElement : gridCell.getElements()) {
 					if (gridElement instanceof DatamartTableAttribute){
-						tableProperties.add(((DatamartTableAttribute) gridElement).getColumn());
+						TableValueElement tableValueElement = ((DatamartTableAttribute) gridElement).getColumn();
+						if (tableValueElement instanceof TableAttribute){
+							String attributeName = DatamartAttributeUtil.getAliasedAttributeName(((TableAttribute) tableValueElement).getValueRef());
+							if (!tableAttributeNameSet.contains(attributeName)){
+								tableProperties.add(tableValueElement);
+								tableAttributeNameSet.add(attributeName);
+							}
+						} else {
+							tableProperties.add(tableValueElement);
+						}
 					} else if (gridElement instanceof StringBinder){
 						for (StringBinderValue element : ((StringBinder) gridElement).getElements()){
 							if (element instanceof TableAttribute){
-								tableProperties.add(element);
+								String attributeName = DatamartAttributeUtil.getAliasedAttributeName(((TableAttribute) element).getValueRef());
+								if (!tableAttributeNameSet.contains(attributeName)){
+									tableProperties.add(element);
+									tableAttributeNameSet.add(attributeName);
+								}
 							}
 						}
 					}
@@ -89,7 +106,7 @@
 					addToRequiredBoundColumns(tableAttribute, boundColumns, requiredBoundColumns);
 				}
 			}
-			setBoundColumns(workset.getReport().getDatamartRef(), requiredBoundColumns, tableProperties);
+			setBoundColumns(requiredBoundColumns, tableProperties);
 		}
 	}
 	
@@ -162,7 +179,7 @@
 		}
 	}
 
-	public void setBoundColumns(DatamartDefinition datamart, List<ComputedColumn> boundColumns, List<Object> tableProperties) {	// NOSONAR
+	public void setBoundColumns(List<ComputedColumn> boundColumns, List<Object> tableProperties) {	// NOSONAR
 		if	((boundColumns != null) && !boundColumns.isEmpty()) {
 			List<ComputedColumn> shownColumns;
 
diff --git a/org.eclipse.osbp.xtext.reportdsl/src/org/eclipse/osbp/xtext/reportdsl/common/item/ImageItem.java b/org.eclipse.osbp.xtext.reportdsl/src/org/eclipse/osbp/xtext/reportdsl/common/item/ImageItem.java
index 6769c22..1ef61fd 100644
--- a/org.eclipse.osbp.xtext.reportdsl/src/org/eclipse/osbp/xtext/reportdsl/common/item/ImageItem.java
+++ b/org.eclipse.osbp.xtext.reportdsl/src/org/eclipse/osbp/xtext/reportdsl/common/item/ImageItem.java
@@ -14,8 +14,6 @@
 
 import java.awt.image.BufferedImage;
 import java.io.ByteArrayOutputStream;
-import java.io.File;
-import java.io.FileInputStream;
 import java.io.InputStream;
 import java.io.PrintWriter;
 import java.io.StringWriter;
@@ -29,24 +27,18 @@
 import org.eclipse.birt.report.model.api.ImageHandle;
 import org.eclipse.birt.report.model.api.ReportItemHandle;
 import org.eclipse.birt.report.model.api.StructureFactory;
-import org.eclipse.birt.report.model.api.activity.SemanticException;
 import org.eclipse.birt.report.model.api.elements.DesignChoiceConstants;
 import org.eclipse.birt.report.model.api.elements.structures.EmbeddedImage;
-import org.eclipse.birt.report.model.api.util.StringUtil;
-import org.eclipse.birt.report.model.core.Module;
 import org.eclipse.birt.report.model.elements.interfaces.IImageItemModel;
-import org.eclipse.birt.report.model.i18n.ThreadResources;
 import org.eclipse.osbp.ui.api.themes.IThemeResourceService;
 import org.eclipse.osbp.ui.api.themes.IThemeResourceService.ThemeResourceType;
 import org.eclipse.osbp.xtext.reportdsl.DatamartTableAttribute;
-import org.eclipse.osbp.xtext.reportdsl.TableValueElement;
 import org.eclipse.osbp.xtext.reportdsl.UnitEnum;
 import org.eclipse.osbp.xtext.reportdsl.jvmmodel.ReportGeneratorWorkSet;
+import org.eclipse.xtext.generator.AbstractFileSystemAccess2;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
-import com.ibm.icu.util.ULocale;
-
 
 
 public class ImageItem implements BaseItem {
@@ -81,9 +73,6 @@
 				fItem.setScale(scale);
 				fItem.setProportionalScale(true);
 			}
-			Module module = fItem.getModule();
-			ULocale locale = module == null ? ThreadResources.getLocale( ) : module
-					.getLocale( );
 			if (height > 0.0) {
 				fItem.setHeight(workset.getLocalizedDoubleValue(fItem, height, heightUnit));
 			}
@@ -137,9 +126,13 @@
 				stream = themeResourceService.getThemeResourceInputStream(uri);
 				tokens = uri.split("\\.");
 			} else {
-				File file = new File(filename);
-				tokens = filename.split("\\.");
-				stream = new FileInputStream(file);
+				// get the image from the report grammar instance bundle specific icon path.
+				if (workset.getFsa() instanceof AbstractFileSystemAccess2){
+					AbstractFileSystemAccess2 fsa = (AbstractFileSystemAccess2) workset.getFsa();
+					java.nio.file.Path path = java.nio.file.Paths.get("..","resources", "report", "images", filename);
+					tokens = filename.split("\\.");
+					stream = fsa.readBinaryFile(path.toString());
+				}
 			}
 			String fileextension = tokens[tokens.length-1];
 			BufferedImage originalImage = ImageIO.read(stream);
diff --git a/org.eclipse.osbp.xtext.reportdsl/src/org/eclipse/osbp/xtext/reportdsl/common/item/TableItem.java b/org.eclipse.osbp.xtext.reportdsl/src/org/eclipse/osbp/xtext/reportdsl/common/item/TableItem.java
index 476254e..aebc3df 100644
--- a/org.eclipse.osbp.xtext.reportdsl/src/org/eclipse/osbp/xtext/reportdsl/common/item/TableItem.java
+++ b/org.eclipse.osbp.xtext.reportdsl/src/org/eclipse/osbp/xtext/reportdsl/common/item/TableItem.java
@@ -28,6 +28,7 @@
 import org.eclipse.birt.report.model.api.SlotHandle;
 import org.eclipse.birt.report.model.api.TableGroupHandle;
 import org.eclipse.birt.report.model.api.TableHandle;
+import org.eclipse.birt.report.model.api.TextDataHandle;
 import org.eclipse.birt.report.model.api.activity.SemanticException;
 import org.eclipse.birt.report.model.api.command.ContentException;
 import org.eclipse.birt.report.model.api.command.NameException;
@@ -36,6 +37,8 @@
 import org.eclipse.birt.report.model.elements.interfaces.IListingElementModel;
 import org.eclipse.birt.report.model.elements.interfaces.IReportItemModel;
 import org.eclipse.birt.report.model.util.CssPropertyConstants;
+import org.eclipse.osbp.dsl.semantic.common.types.LDataType;
+import org.eclipse.osbp.dsl.semantic.common.types.LKeyAndValue;
 import org.eclipse.osbp.xtext.datamartdsl.DatamartAttribute;
 import org.eclipse.osbp.xtext.datamartdsl.DatamartDefinition;
 import org.eclipse.osbp.xtext.datamartdsl.util.DatamartAttributeUtil;
@@ -43,9 +46,9 @@
 import org.eclipse.osbp.xtext.reportdsl.Container;
 import org.eclipse.osbp.xtext.reportdsl.DatamartTable;
 import org.eclipse.osbp.xtext.reportdsl.DatamartTableAttribute;
+import org.eclipse.osbp.xtext.reportdsl.DatamartTableFooter;
 import org.eclipse.osbp.xtext.reportdsl.DatamartTableGroup;
-import org.eclipse.osbp.xtext.reportdsl.DatamartTableGroupFooter;
-import org.eclipse.osbp.xtext.reportdsl.DatamartTableGroupHeader;
+import org.eclipse.osbp.xtext.reportdsl.DatamartTableHeader;
 import org.eclipse.osbp.xtext.reportdsl.Element;
 import org.eclipse.osbp.xtext.reportdsl.GridCell;
 import org.eclipse.osbp.xtext.reportdsl.GridRow;
@@ -55,6 +58,7 @@
 import org.eclipse.osbp.xtext.reportdsl.TableAggregation;
 import org.eclipse.osbp.xtext.reportdsl.TableAttribute;
 import org.eclipse.osbp.xtext.reportdsl.TableValueElement;
+import org.eclipse.osbp.xtext.reportdsl.TextElement;
 import org.eclipse.osbp.xtext.reportdsl.WithHeaderFooter;
 import org.eclipse.osbp.xtext.reportdsl.WithStyle;
 import org.eclipse.osbp.xtext.reportdsl.jvmmodel.ReportGeneratorWorkSet;
@@ -76,7 +80,7 @@
 		fItem = workset.getFactory().newTableItem(null, columns);
 	}
 	
-	public TableItem(ReportGeneratorWorkSet workset, DataSetHandle dataSet, WithHeaderFooter withHeaderFooter, List<ComputedColumn> boundColumns, DatamartTableGroup[] groups, Style propertiesStyle, DatamartTableAttribute[] tableProperties) throws SemanticException {
+	public TableItem(DatamartDefinition datamart, ReportGeneratorWorkSet workset, DataSetHandle dataSet, WithHeaderFooter withHeaderFooter, List<ComputedColumn> boundColumns, DatamartTableGroup[] groups, Style propertiesStyle, DatamartTableAttribute[] tableProperties) throws SemanticException {
 		super(workset);
 		if	((boundColumns != null) && !boundColumns.isEmpty()) {
 			fItem = workset.getFactory().newTableItem(null, tableProperties.length == 0 ? boundColumns.size() : tableProperties.length);
@@ -102,7 +106,7 @@
 			}
 		}
 
-		setBoundColumns(workset.getReport().getDatamartRef(), withHeaderFooter, boundColumns, groups, propertiesStyle, tableProperties);
+		setBoundColumns(datamart, withHeaderFooter, boundColumns, groups, propertiesStyle, tableProperties);
 	}
 
 	@Override
@@ -120,15 +124,16 @@
 	
 	public void setBoundColumns(DatamartDefinition datamart, WithHeaderFooter withHeaderFooter, List<ComputedColumn> boundColumns, DatamartTableGroup[] groups, Style propertiesStyle, DatamartTableAttribute[] tableProperties) throws SemanticException {	// NOSONAR
 		if	((boundColumns != null) && !boundColumns.isEmpty()) {
-			List<ComputedColumn> shownColumns;
+			List<ComputedColumn> shownColumns = new ArrayList<>();
 			int columnCount = 0;
 
 			// --- table details information: shown columns and maximum columns ---
 			if	(tableProperties.length == 0) {
-				shownColumns = boundColumns;
+				for (ComputedColumn computedColumn : boundColumns) {
+					shownColumns.add(computedColumn);
+				}
 			}
 			else {
-				shownColumns = new ArrayList<>();
 				for	(DatamartTableAttribute tableAttribute : tableProperties) {
 					if	(tableAttribute.getColumn() instanceof TableAggregation) {
 						shownColumns.add(DataUtils.createComputedColumn((TableAggregation) tableAttribute.getColumn()));
@@ -168,36 +173,36 @@
 					if (group.getPageBreak() != null) {
 						setPageBreaks(group.getPageBreak(), groupHandle); 
 					}
-					if	(group.getHeader() != null || group.isDetailheader()) {
+					if	(group.getHeader() != null /*|| group.isDetailheader()*/) {
 						groupHandle.setRepeatHeader(true);
-						DatamartTableGroupHeader header = group.getHeader();
+						DatamartTableHeader header = group.getHeader();
 						SlotHandle headerHandle = groupHandle.getHeader();
 						if	(header != null) {
-							addGroupHeaderFooter(datamart, headerHandle, header, columnCount);
-						}
-						if	(group.isDetailheader()) {
+							addHeaderFooter(datamart, headerHandle, header, columnCount);
+							if	(header.getRows().isEmpty()) {
 							headerHandle.add(
 									addColumnHeaders(
 										fWorkset.getFactory().newTableRow(columnCount),
-										group.getHeaderstyle(),
+										header.getStyle(),
 										shownColumns,
 										tableProperties));
+							}
 						}
 					}
 					
-					if	(group.getFooter() != null || group.isDetailfooter()) {
-						DatamartTableGroupFooter footer = group.getFooter();
+					if	(group.getFooter() != null) {
+						DatamartTableFooter footer = group.getFooter();
 						SlotHandle footerHandle = groupHandle.getFooter();
-						if	(group.isDetailfooter()) {
-							footerHandle.add(
-								addColumnHeaders(
-									fWorkset.getFactory().newTableRow(columnCount),
-									group.getFooterstyle(),
-									shownColumns,
-									tableProperties));
-						}
 						if	(footer != null) {
-							addGroupHeaderFooter(datamart, footerHandle, footer, columnCount);
+							addHeaderFooter(datamart, footerHandle, footer, columnCount);
+							if	(footer.getRows().isEmpty()) {
+								footerHandle.add(
+									addColumnHeaders(
+										fWorkset.getFactory().newTableRow(columnCount),
+										footer.getStyle(),
+										shownColumns,
+										tableProperties));
+							}
 						}
 					}
 					
@@ -211,12 +216,23 @@
 			// --- table details ---
 			// --- header ---
 			try {
-				if	(withHeaderFooter.isDetailheader()) {
+				if	(withHeaderFooter.getHeader()!=null) {
+					if (withHeaderFooter.getHeader().getRows().isEmpty()) {
 					addColumnHeaders(
 						(RowHandle)fItem.getHeader().get(0),
-						withHeaderFooter.getHeaderstyle(),
+						withHeaderFooter.getHeader().getStyle(),
 						shownColumns,
 						tableProperties);
+					} else {
+						int rowsSize = withHeaderFooter.getHeader().getRows().size();
+						for (int rowNo=0; rowNo < rowsSize; rowNo++) {
+							addColumnHeaders(
+									(RowHandle)fItem.getHeader().get(rowNo),
+									withHeaderFooter.getHeader().getStyle(),
+									withHeaderFooter.getHeader().getRows().get(rowNo),
+									tableProperties);
+						}
+					}
 				}
 				
 				// --- detail by data ---
@@ -225,34 +241,41 @@
 					applyStyle(null, tabledetail, propertiesStyle);
 				}
 				for (int columnNo=0; columnNo < shownColumns.size(); columnNo++ ) { 
-					CellHandle cell = (CellHandle) tabledetail.getCells().get(columnNo);
-					if("blob".equals(shownColumns.get(columnNo).getDataType())) {
+					CellHandle cellHandle = (CellHandle) tabledetail.getCells().get(columnNo);
+					if (DesignChoiceConstants.COLUMN_DATA_TYPE_BLOB.equals(shownColumns.get(columnNo).getDataType())) {
 						ImageHandle img = fWorkset.newImageItem("");
 						img.setSource("expr");
 						Expression expr = new Expression("row[\"" + shownColumns.get(columnNo).getName() + "\"]", null);
 						img.setExpressionProperty("valueExpr", expr);
-						cell.getContent( ).add(img);
+						cellHandle.getContent( ).add(img);
 						if	(propertiesStyle != null) {
+							applyStyle(null, cellHandle, propertiesStyle);
 							applyTableAttributeStyle(img, shownColumns.get(columnNo).getName(), tableProperties, propertiesStyle);
 						}
+					} else if (DesignChoiceConstants.COLUMN_DATA_TYPE_ANY.equals(shownColumns.get(columnNo).getDataType()) && existInShowColumnProperties(tableProperties, shownColumns.get(columnNo).getName(), "richtextarea")) {
+						TextDataHandle textData = fWorkset.newTextDataItem("");
+						Expression expr = new Expression("row[\"" + shownColumns.get(columnNo).getName() + "\"]", null);
+						textData.setExpressionProperty("valueExpr", expr);
+						textData.setContentType(CONTENT_TYPE_HTML);
+						cellHandle.getContent( ).add(textData);
+						if	(propertiesStyle != null) {
+							applyStyle(null, cellHandle, propertiesStyle);
+							applyTableAttributeStyle(textData, shownColumns.get(columnNo).getName(), tableProperties, propertiesStyle);
+						}
+						break;
 					} else {
 						DataItemHandle data = fWorkset.newDataItem("");
 						data.setResultSetColumn(shownColumns.get(columnNo).getName());
-						cell.getContent( ).add( data );
+						cellHandle.getContent( ).add( data );
 						if	(propertiesStyle != null) {
+							applyStyle(null, cellHandle, propertiesStyle);
+							applyTableAttributeStyle(data, shownColumns.get(columnNo).getName(), tableProperties, propertiesStyle);
+						} else {
 							applyTableAttributeStyle(data, shownColumns.get(columnNo).getName(), tableProperties, propertiesStyle);
 						}
 					}
 				}
 				
-				if	(withHeaderFooter.isDetailfooter()) {
-					addColumnHeaders(
-						(RowHandle)fItem.getFooter().get(0),
-						withHeaderFooter.getHeaderstyle(),
-						shownColumns,
-						tableProperties);
-					}
-
 				// --- add any aggregation columns ---
 				for	(DatamartTableGroup group : groups) {
 					if	(group.getHeader() != null) {
@@ -282,7 +305,31 @@
 		}
 	}
 
-	private void addGroupHeaderFooter(DatamartDefinition datamart, SlotHandle headerFooterHandle, Object headerFooter, int columnCount) throws SemanticException {	// NOSONAR
+	private boolean existInShowColumnProperties(DatamartTableAttribute[] tableTableAttributes, String columnName, String propValue) {
+		for (DatamartTableAttribute datamartTableAttribute : tableTableAttributes){
+			if	(datamartTableAttribute.getColumn() instanceof TableAttribute) {
+				DatamartAttribute datamartAttribute = ((TableAttribute)datamartTableAttribute.getColumn()).getValueRef();
+				if	(columnName.equalsIgnoreCase(DatamartAttributeUtil.getAliasedAttributeName(datamartAttribute))) {
+					for (LKeyAndValue prop : datamartAttribute.getAttributeRef().getProperties()){
+						if (prop.getValue().equalsIgnoreCase(propValue)){
+							return true;
+						}
+					}
+					if (datamartAttribute.getAttributeRef().getType() instanceof LDataType) {
+						LDataType dataType = (LDataType)datamartAttribute.getAttributeRef().getType();
+						for (LKeyAndValue prop : dataType.getProperties()){
+							if (prop.getValue().equalsIgnoreCase(propValue)){
+								return true;
+							}
+						}
+					}
+				}
+			}
+		}
+		return false;
+	}
+
+	private void addHeaderFooter(DatamartDefinition datamart, SlotHandle headerFooterHandle, Object headerFooter, int columnCount) throws SemanticException {	// NOSONAR
 		for	(GridRow row : ((SomeGrid)headerFooter).getRows()) {
 			Style rowStyle = null;
 			int rowColumns = columnCount;
@@ -301,9 +348,9 @@
 			if	(rowStyle != null) {
 				applyStyle(fItem.getModuleHandle(), rowHandle, rowStyle);
 			}
-			if (headerFooter instanceof DatamartTableGroupHeader) {
-				if (((DatamartTableGroupHeader)headerFooter).getPageBreak() != null) {
-					setPageBreaks(((DatamartTableGroupHeader)headerFooter).getPageBreak(), rowHandle);
+			if (headerFooter instanceof DatamartTableHeader) {
+				if (((DatamartTableHeader)headerFooter).getPageBreak() != null) {
+					setPageBreaks(((DatamartTableHeader)headerFooter).getPageBreak(), rowHandle);
 				}
 			}
 			
@@ -331,8 +378,9 @@
 				if	(tableAttribute.getColumn() instanceof TableAttribute && tableAttribute.getStyle() != null) {
 					DatamartAttribute datamartAttribute = ((TableAttribute)tableAttribute.getColumn()).getValueRef();
 					try {
-						if	(columnName.equalsIgnoreCase(datamartAttribute.getAttributeRef().getName())) {
+						if	(columnName.equalsIgnoreCase(DatamartAttributeUtil.getAliasedAttributeName(datamartAttribute))) {
 							elementStyle = tableAttribute.getStyle();
+							break;
 						}
 					}
 					catch (NullPointerException e) {
@@ -369,6 +417,38 @@
 		return rowHandle;
 	}
 	
+	private RowHandle addColumnHeaders(RowHandle rowHandle, Style style, GridRow row, DatamartTableAttribute[] tableProperties) throws SemanticException {
+		if	(style != null) {
+			applyStyle(fItem.getModuleHandle(), rowHandle, style);
+		}
+		int columnNo = 0;
+		for (GridCell rowGridCell : row.getCells()) {
+			LabelHandle label = fWorkset.getFactory().newLabel("");
+			Element rowGridCellElement = rowGridCell.getElements().get(0);
+			if (rowGridCellElement instanceof TextElement){
+				String displayName = ((TextElement) rowGridCellElement).getText();
+				if	(displayName.startsWith(DataUtils.DISPLAYNAME_AGGREGATION_PREFIX)) {
+					displayName = displayName.substring(DataUtils.DISPLAYNAME_AGGREGATION_PREFIX.length());
+					label.setTextKey(I18NKeyGenerator.key(displayName));
+				}
+				else {
+					label.setTextKey(I18NKeyGenerator.key(displayName));
+				}
+				label.setDisplayName(displayName);
+			}
+			//			applyTableAttributeStyle(label, column.getName(), tableProperties, style);
+			CellHandle cellHandle = (CellHandle) rowHandle.getCells().get(columnNo);
+			if(cellHandle != null) {
+				if ((rowGridCellElement instanceof WithStyle) && rowGridCell.getStyle() != null) {
+					applyStyle(fItem.getModuleHandle(), cellHandle, rowGridCell.getStyle());
+				}
+				cellHandle.getContent().add(label);
+			}
+			columnNo++;
+		}
+		return rowHandle;
+	}
+	
 	private void addResultSetColumn(List<ComputedColumn> list, Container container) {
 		for	(Element element : container.getElements()) {
 			if	(element instanceof Container) {
diff --git a/org.eclipse.osbp.xtext.reportdsl/src/org/eclipse/osbp/xtext/reportdsl/common/item/TextDataItem.java b/org.eclipse.osbp.xtext.reportdsl/src/org/eclipse/osbp/xtext/reportdsl/common/item/TextDataItem.java
index 4d078b4..cdd8c2b 100644
--- a/org.eclipse.osbp.xtext.reportdsl/src/org/eclipse/osbp/xtext/reportdsl/common/item/TextDataItem.java
+++ b/org.eclipse.osbp.xtext.reportdsl/src/org/eclipse/osbp/xtext/reportdsl/common/item/TextDataItem.java
@@ -29,6 +29,7 @@
 import org.eclipse.osbp.xtext.datamartdsl.DatamartAttribute;
 import org.eclipse.osbp.xtext.datamartdsl.DatamartDefinition;
 import org.eclipse.osbp.xtext.datamartdsl.util.DatamartAttributeUtil;
+import org.eclipse.osbp.xtext.reportdsl.AutoTextEnum;
 import org.eclipse.osbp.xtext.reportdsl.DatamartTableAttribute;
 import org.eclipse.osbp.xtext.reportdsl.StringBinder;
 import org.eclipse.osbp.xtext.reportdsl.StringBinderValue;
@@ -70,6 +71,7 @@
 			String dataSetName = Utilities.getDataSetName(alias, datamart);
 			OdaDataSetHandle dataSetHandle = workset.getDataSets().get(dataSetName);
 			if (dataSetHandle != null) {
+				fItem.setDataSet(dataSetHandle);
 				setContent(stringBinder);
 			}
 		} catch (SemanticException e) {
@@ -77,6 +79,16 @@
 		}
 	}
 	
+	public TextDataItem(ReportGeneratorWorkSet workset, String contentType, AutoTextEnum autoTextEnum) {
+		fItem = workset.getFactory().newTextItem(null);
+		try {
+			fItem.setContentType(contentType);
+			setContent(autoTextEnum);
+		} catch (SemanticException e) {
+			LOGGER.error("{}", e);
+		}
+	}
+	
 	@Override
 	public ReportItemHandle getHandle() {
 		return fItem;
@@ -144,7 +156,7 @@
 		}
 	}
 
-	private void setContent(StringBinder stringBinder) {	// NOSONAR
+	private void setContent(StringBinder stringBinder) throws SemanticException {	// NOSONAR
 		ArrayList<Object> contentElements = new ArrayList<>();
 		for	(StringBinderValue stringBinderValue : stringBinder.getElements()) {
 			if (stringBinderValue instanceof TableAttribute) {
@@ -154,11 +166,23 @@
 				contentElements.add(stringBinderValue);
 			}
 		}
-		try {
-			fItem.setContent(getContent(contentElements));
-		} catch (SemanticException e) {
-			LOGGER.error("{}", e);
-		}
+		fItem.setContent(getContent(contentElements));
+	}
+	
+	private void setContent(AutoTextEnum autoTextEnum) throws SemanticException {	// NOSONAR
+		String content;
+		switch (autoTextEnum) {
+		case ACTUAL_DATE:
+			content = "java.text.DateFormat.getDateInstance(3).format(new Date())";
+			fItem.setContent(getValueOfContent(content));
+			break;
+		case ACTUAL_TIME:
+			content = "java.text.DateFormat.getTimeInstance(3).format(new Date())";
+			fItem.setContent(getValueOfContent(content));
+			break;
+		default:
+			break;
+		} 
 	}
 	
 	private ComputedColumn createComputedColumn(DatamartAttribute datamartAttribute) {
diff --git a/org.eclipse.osbp.xtext.reportdsl/src/org/eclipse/osbp/xtext/reportdsl/jvmmodel/ReportDSLJvmModelInferrer.xtend b/org.eclipse.osbp.xtext.reportdsl/src/org/eclipse/osbp/xtext/reportdsl/jvmmodel/ReportDSLJvmModelInferrer.xtend
index 2f2db59..3c6934a 100644
--- a/org.eclipse.osbp.xtext.reportdsl/src/org/eclipse/osbp/xtext/reportdsl/jvmmodel/ReportDSLJvmModelInferrer.xtend
+++ b/org.eclipse.osbp.xtext.reportdsl/src/org/eclipse/osbp/xtext/reportdsl/jvmmodel/ReportDSLJvmModelInferrer.xtend
@@ -12,9 +12,9 @@
  * 
  * 
  *  This copyright notice shows up in the generated Java code
- *
+ * 
  */
- 
+
 package org.eclipse.osbp.xtext.reportdsl.jvmmodel
 
 import com.vaadin.data.Container.Filter
@@ -55,41 +55,43 @@
 import org.eclipse.xtext.xbase.jvmmodel.JvmTypesBuilder
 import org.eclipse.osbp.xtext.reportdsl.Container
 import org.eclipse.osbp.ui.api.e4.IE4Focusable
+import java.util.Map
+import org.eclipse.osbp.xtext.reportdsl.DatamartTable
 
 /**
  * <p>Infers a JVM model from the source model.</p> 
- *
+ * 
  * <p>The JVM model should contain all elements that would appear in the Java code 
  * which is generated from the source model. Other models link against the JVM model rather than the source model.</p>     
  */
 class ReportDSLJvmModelInferrer extends AbstractModelInferrer {
 
-    /**
-     * convenience API to build and initialize JVM types and their members.
-     */
+	/**
+	 * convenience API to build and initialize JVM types and their members.
+	 */
 	@Inject extension JvmTypesBuilder
 	@Inject extension IQualifiedNameProvider
 	@Inject extension DatamartDSLJvmModelInferrer
 
 	def dispatch void infer(ReportPackage pckg, IJvmDeclaredTypeAcceptor acceptor, boolean isPreIndexingPhase) {
-		pckg.reports.forEach[ report |
-			var cls = report.toClass(report.fullyQualifiedName+"Report")
-	   		acceptor.accept(cls, [
-	   			superTypes += _typeReferenceBuilder.typeRef(BaseReport)
-	   			superTypes += _typeReferenceBuilder.typeRef(IE4Focusable)
-		        it.fileHeader = pckg.documentation
-   				it.toConstructor(report)
-   				it.toOperations(pckg, report)
-   			])
+		pckg.reports.forEach [ report |
+			var cls = report.toClass(report.fullyQualifiedName + "Report")
+			acceptor.accept(cls, [
+				superTypes += _typeReferenceBuilder.typeRef(BaseReport)
+				superTypes += _typeReferenceBuilder.typeRef(IE4Focusable)
+				it.fileHeader = pckg.documentation
+				it.toConstructor(report)
+				it.toOperations(pckg, report)
+			])
 			cls.addReportBean(pckg, report, acceptor)
 		]
 	}
-	
+
 	def void addReportBean(JvmDeclaredType type, ReportPackage pckg, Report report, IJvmDeclaredTypeAcceptor acceptor) {
 		var beanCls = report.toClass("Bean")
-        type.members += beanCls
-   		acceptor.accept(beanCls, [
-	        getSuperTypes().add(_typeReferenceBuilder.typeRef(AbstractReportBean))
+		type.members += beanCls
+		acceptor.accept(beanCls, [
+			getSuperTypes().add(_typeReferenceBuilder.typeRef(AbstractReportBean))
 			static = true
 			it.members += report.toMethod("createReport", _typeReferenceBuilder.typeRef(BaseReport), [
 				visibility = JvmVisibility.PROTECTED
@@ -100,135 +102,150 @@
 			])
 		])
 	}
-	
+
 	def void toConstructor(JvmDeclaredType type, Report report) {
 		type.members += report.toConstructor([
 			documentation = report.documentation
 			annotations += _annotationTypesBuilder.annotationRef(Inject)
-   			parameters += report.toParameter("parent", _typeReferenceBuilder.typeRef(VerticalLayout))
-   			parameters += report.toParameter("context", _typeReferenceBuilder.typeRef(IEclipseContext))
-   			parameters += report.toParameter("app", _typeReferenceBuilder.typeRef(MApplication))
-			body = [ append('''super(parent,context,app);''')]
+			parameters += report.toParameter("parent", _typeReferenceBuilder.typeRef(VerticalLayout))
+			parameters += report.toParameter("context", _typeReferenceBuilder.typeRef(IEclipseContext))
+			parameters += report.toParameter("app", _typeReferenceBuilder.typeRef(MApplication))
+			body = [append('''super(parent,context,app);''')]
 		])
 	}
-	
+
 	def void toOperations(JvmDeclaredType type, ReportPackage pckg, Report report) {
-		type.members += report.toField("eventBroker", _typeReferenceBuilder.typeRef(IEventBroker)) [annotations += _annotationTypesBuilder.annotationRef(Inject)]
-		type.members += report.toField("renderingEngine", _typeReferenceBuilder.typeRef(IPresentationEngine))[
-			annotations += _annotationTypesBuilder.annotationRef(Inject)]
-		type.members += report.toField("themeResourceService", _typeReferenceBuilder.typeRef(IThemeResourceService))[
-			annotations += _annotationTypesBuilder.annotationRef(Inject)]
-		type.members += report.toField("staticData", _typeReferenceBuilder.typeRef(ArrayList, _typeReferenceBuilder.typeRef(String)))[initializer = [append(
+		type.members += report.toField("eventBroker", _typeReferenceBuilder.typeRef(IEventBroker)) [
+			annotations += _annotationTypesBuilder.annotationRef(Inject)
+		]
+		type.members += report.toField("renderingEngine", _typeReferenceBuilder.typeRef(IPresentationEngine)) [
+			annotations += _annotationTypesBuilder.annotationRef(Inject)
+		]
+		type.members += report.toField("themeResourceService", _typeReferenceBuilder.typeRef(IThemeResourceService)) [
+			annotations += _annotationTypesBuilder.annotationRef(Inject)
+		]
+		type.members +=
+			report.toField("staticData",
+				_typeReferenceBuilder.typeRef(ArrayList, _typeReferenceBuilder.typeRef(String))) [
+				initializer = [
+					append(
 		'''
-		new ArrayList() {{
-		«report.addStaticData»}}''')]]
-		type.members += report.toMethod("getStaticData", _typeReferenceBuilder.typeRef(List, _typeReferenceBuilder.typeRef(String)), [
-			annotations += _annotationTypesBuilder.annotationRef(Override)
-			body = [append('''
-			return staticData;''')]
-		])
-		if(report.toolbar !== null) {
+					new ArrayList() {{
+					«report.addStaticData»}}''')
+				]
+			]
+		type.members +=
+			report.toMethod("getStaticData",
+				_typeReferenceBuilder.typeRef(List, _typeReferenceBuilder.typeRef(String)), [
+					annotations += _annotationTypesBuilder.annotationRef(Override)
+					body = [
+						append('''
+						return staticData;''')
+					]
+				])
+		if (report.toolbar !== null) {
 			var packageName = (report.toolbar.eContainer as ActionPackage).fullyQualifiedName.toString
-			type.members += report.toField("toolbarClass", _typeReferenceBuilder.typeRef('''«packageName».«report.toolbar.name.toString.toFirstUpper»Toolbar'''))
-		}
-		
-   		// create view
-   		type.members += report.toMethod("createView", _typeReferenceBuilder.typeRef(Void::TYPE), [
-   			parameters += report.toParameter("parent", _typeReferenceBuilder.typeRef(VerticalLayout))
-   			body = [ append('''«report.createView»''')]
-   		])
-		type.members += report.toMethod("getRenderingAs", _typeReferenceBuilder.typeRef(IReportProvider.Rendering), [
-			visibility = JvmVisibility.PROTECTED
-			annotations += _annotationTypesBuilder.annotationRef(Override)
-			body = [
-				switch (report.rendering) {
-					case RenderingEnum.HTML:
-						append('''return Rendering.HTML_STREAM;''')
-					case RenderingEnum.PDF:
-						append('''return Rendering.PDF_STREAM;''')
+			type.members +=
+				report.toField("toolbarClass",
+					_typeReferenceBuilder.
+						typeRef('''«packageName».«report.toolbar.name.toString.toFirstUpper»Toolbar'''))
 				}
-			]
-		])
-		type.members += report.toMethod("getReportName", _typeReferenceBuilder.typeRef(String), [
-			visibility = JvmVisibility.PROTECTED
-			annotations += _annotationTypesBuilder.annotationRef(Override)
-			body = [append('''return "«report.name»";''')]
-		])
-		if	(pckg.externalCssURIBundle !== null || report.externalCssURIBundle !== null) {
-			type.members += report.toMethod("getExternalCssURIBundle", _typeReferenceBuilder.typeRef(String), [
-				visibility = JvmVisibility.PROTECTED
-				annotations += _annotationTypesBuilder.annotationRef(Override)
-				body = [
-					if	(report.externalCssURIBundle !== null) {
-						append('''return "«report.externalCssURIBundle»";''')
-					}
-					else {
-						append('''return "«pckg.externalCssURIBundle»";''')
-					}
-				]
-			])
-		}
-		if	(pckg.externalCssURI !== null || report.externalCssURI !== null) {
-			type.members += report.toMethod("getExternalCssURI", _typeReferenceBuilder.typeRef(String), [
-				visibility = JvmVisibility.PROTECTED
-				annotations += _annotationTypesBuilder.annotationRef(Override)
-				body = [
-					if	(report.externalCssURI !== null) {
-						append('''return "«report.externalCssURI»";''')
-					}
-					else {
-						append('''return "«pckg.externalCssURI»";''')
-					}
-				]
-			])
-		}
-		type.members += report.toMethod("getDatamartInstance", _typeReferenceBuilder.typeRef(IDataMart), [
-			documentation = report.datamartRef.documentation
-			visibility = JvmVisibility.PROTECTED
-			annotations += _annotationTypesBuilder.annotationRef(Override)
-   			parameters += report.toParameter("user", _typeReferenceBuilder.typeRef(IUser))
-			body = [
-				append('''
-				«report.datamartRef.fullyQualifiedName»Datamart «report.datamartRef.name.toFirstLower»Datamart = new «report.datamartRef.fullyQualifiedName»Datamart();
-				«report.datamartRef.name.toFirstLower»Datamart.setUser(user);
-				return «report.datamartRef.name.toFirstLower»Datamart;''')
-			]
-		])
-		type.members += report.toMethod("getSelectById", _typeReferenceBuilder.typeRef(boolean), [
-			documentation = report.datamartRef.documentation
-			visibility = JvmVisibility.PROTECTED
-			annotations += _annotationTypesBuilder.annotationRef(Override)
-			body = [
-				append('''
-				return «report.selectById.booleanValue»;''')
-			]
-		])
-		if	(report.design instanceof ReportDesignFile) {
-			type.members += report.toMethod("getReportDesignFilename", _typeReferenceBuilder.typeRef(String), [
-				documentation = report.design.documentation
-				visibility = JvmVisibility.PROTECTED
-				annotations += _annotationTypesBuilder.annotationRef(Override)
-				body = [
-					append('''return "«(report.design as ReportDesignFile).name»";''')
-				]
-			])
-		}
-		else if (report.design instanceof ReportDesignTemplate) {
-			type.members += report.toMethod("getReportDesignFilename", _typeReferenceBuilder.typeRef(String), [
-				visibility = JvmVisibility.PROTECTED
-				annotations += _annotationTypesBuilder.annotationRef(Override)
-				body = [
-					append('''return null;''')
-				]
-			])
-		}
-   		type.members += report.toMethod("applyBeanFilter", _typeReferenceBuilder.typeRef(Void::TYPE), [
-   			parameters += report.toParameter("filter", _typeReferenceBuilder.typeRef(Filter))
-   			body = [
+
+				// create view
+				type.members += report.toMethod("createView", _typeReferenceBuilder.typeRef(Void::TYPE), [
+					parameters += report.toParameter("parent", _typeReferenceBuilder.typeRef(VerticalLayout))
+					body = [append('''«report.createView»''')]
+				])
+				type.members +=
+					report.toMethod("getRenderingAs", _typeReferenceBuilder.typeRef(IReportProvider.Rendering), [
+						visibility = JvmVisibility.PROTECTED
+						annotations += _annotationTypesBuilder.annotationRef(Override)
+						body = [
+							switch (report.rendering) {
+								case RenderingEnum.HTML:
+									append('''return Rendering.HTML_STREAM;''')
+								case RenderingEnum.PDF:
+									append('''return Rendering.PDF_STREAM;''')
+							}
+						]
+					])
+				type.members += report.toMethod("getReportName", _typeReferenceBuilder.typeRef(String), [
+					visibility = JvmVisibility.PROTECTED
+					annotations += _annotationTypesBuilder.annotationRef(Override)
+					body = [append('''return "«report.name»";''')]
+				])
+				if (pckg.externalCssURIBundle !== null || report.externalCssURIBundle !== null) {
+					type.members += report.toMethod("getExternalCssURIBundle", _typeReferenceBuilder.typeRef(String), [
+						visibility = JvmVisibility.PROTECTED
+						annotations += _annotationTypesBuilder.annotationRef(Override)
+						body = [
+							if (report.externalCssURIBundle !== null) {
+								append('''return "«report.externalCssURIBundle»";''')
+							} else {
+								append('''return "«pckg.externalCssURIBundle»";''')
+							}
+						]
+					])
+				}
+				if (pckg.externalCssURI !== null || report.externalCssURI !== null) {
+					type.members += report.toMethod("getExternalCssURI", _typeReferenceBuilder.typeRef(String), [
+						visibility = JvmVisibility.PROTECTED
+						annotations += _annotationTypesBuilder.annotationRef(Override)
+						body = [
+							if (report.externalCssURI !== null) {
+								append('''return "«report.externalCssURI»";''')
+							} else {
+								append('''return "«pckg.externalCssURI»";''')
+							}
+						]
+					])
+				}
+				type.members +=
+					report.toMethod("getDatamartInstanceMap",
+						_typeReferenceBuilder.typeRef(Map, _typeReferenceBuilder.typeRef(String),
+							_typeReferenceBuilder.typeRef(IDataMart)), [
+							documentation = report.datamartRef.documentation
+							visibility = JvmVisibility.PROTECTED
+							annotations += _annotationTypesBuilder.annotationRef(Override)
+							parameters += report.toParameter("user", _typeReferenceBuilder.typeRef(IUser))
+							body = [
+								append('''«report.createDatamartInstanceMap»''')
+							]
+						])
+				type.members += report.toMethod("getSelectById", _typeReferenceBuilder.typeRef(boolean), [
+					documentation = report.datamartRef.documentation
+					visibility = JvmVisibility.PROTECTED
+					annotations += _annotationTypesBuilder.annotationRef(Override)
+					body = [
+						append('''
+						return «report.selectById.booleanValue»;''')
+					]
+				])
+				if (report.design instanceof ReportDesignFile) {
+					type.members += report.toMethod("getReportDesignFilename", _typeReferenceBuilder.typeRef(String), [
+						documentation = report.design.documentation
+						visibility = JvmVisibility.PROTECTED
+						annotations += _annotationTypesBuilder.annotationRef(Override)
+						body = [
+							append('''return "«(report.design as ReportDesignFile).name»";''')
+						]
+					])
+				} else if (report.design instanceof ReportDesignTemplate) {
+					type.members += report.toMethod("getReportDesignFilename", _typeReferenceBuilder.typeRef(String), [
+						visibility = JvmVisibility.PROTECTED
+						annotations += _annotationTypesBuilder.annotationRef(Override)
+						body = [
+							append('''return null;''')
+						]
+					])
+				}
+				type.members += report.toMethod("applyBeanFilter", _typeReferenceBuilder.typeRef(Void::TYPE), [
+					parameters += report.toParameter("filter", _typeReferenceBuilder.typeRef(Filter))
+					body = [
 //				if	(dtoQualifiedName == null) {
-	   				append('''
-	   					// !!! no datamart, entity and DTO found for the report --> nothing can be done in here !!!
-		   			''')
+						append('''
+							// !!! no datamart, entity and DTO found for the report --> nothing can be done in here !!!
+						''')
 //				}
 //				else {
 //	   				append('''
@@ -237,15 +254,15 @@
 //		   				}
 //		   			''')
 //	   			}
-	   		]
-   		])
-   		type.members += report.toMethod("applyBeanDto", _typeReferenceBuilder.typeRef(Void::TYPE), [
-   			parameters += report.toParameter("dto", _typeReferenceBuilder.typeRef(Object))
-   			body = [
+					]
+				])
+				type.members += report.toMethod("applyBeanDto", _typeReferenceBuilder.typeRef(Void::TYPE), [
+					parameters += report.toParameter("dto", _typeReferenceBuilder.typeRef(Object))
+					body = [
 //				if	(dtoQualifiedName == null) {
-	   				append('''
-	   					// !!! no datamart, entity and DTO found for the report --> nothing can be done in here !!!
-		   			''')
+						append('''
+							// !!! no datamart, entity and DTO found for the report --> nothing can be done in here !!!
+						''')
 //				}
 //				else {
 //	   				append('''
@@ -254,64 +271,93 @@
 //		   				}
 //		   			''')
 //				}
-	   		]
-   		])
-	}
-	
-	def addStaticData(Report report) {
-		if(report.design instanceof ReportDesignTemplate) {
-			if((report.design as ReportDesignTemplate).header !== null) {
-				return decodeContainer((report.design as ReportDesignTemplate).header)
+					]
+				])
 			}
-		}
-	}
-	
-	def String decodeContainer(Container container) {
-		var body = ""
-		for(element : container.elements) {
-			switch(element) {
-				Grid: {
-					for(row:element.rows) {
-						switch(row) {
-						GridRow:
-							for(cell:(row as GridRow).cells) {
-								body = body + decodeContainer(cell)								
+
+			def addStaticData(Report report) {
+				if (report.design instanceof ReportDesignTemplate) {
+					if ((report.design as ReportDesignTemplate).header !== null) {
+						return decodeContainer((report.design as ReportDesignTemplate).header)
+					}
+				}
+			}
+
+			def String decodeContainer(Container container) {
+				var body = ""
+				for (element : container.elements) {
+					switch (element) {
+						Grid: {
+							for (row : element.rows) {
+								switch (row) {
+									GridRow:
+										for (cell : (row as GridRow).cells) {
+											body = body + decodeContainer(cell)
+										}
+									GridCell:
+										body = body + decodeContainer(row as GridCell)
+								}
 							}
-						GridCell:
-							body = body + decodeContainer(row as GridCell)
+						}
+						DatamartTableAttribute: {
+							if ((element as DatamartTableAttribute).column instanceof TableAttribute) {
+								body = '''«body»add("«((element as DatamartTableAttribute).column as TableAttribute).valueRef.attributeRef.name»");
+								'''
+							}
 						}
 					}
 				}
-				DatamartTableAttribute: {
-					if((element as DatamartTableAttribute).column instanceof TableAttribute) {
-						body = '''«body»add("«((element as DatamartTableAttribute).column as TableAttribute).valueRef.attributeRef.name»");
-						'''
-					}
-				}
+				return body
 			}
-		}
-		return body
-	}
-	
-	/**
-	 * get a set of all entities used in the given report
-	 */
-	def Set<LEntity> findRequestedEntities(Report report) {
-		var entities = new HashSet<LEntity>()
-		entities.addAll(report.datamartRef.findAllEntities())
-		return entities
-	}
 
-	def createView(Report report) 
-		'''
-		super.createView(parent);
-		getContext().set(IE4Focusable.class, this);
-		workset = new ReportGeneratorWorkSet();
-		«IF report.toolbar !== null»
-		toolbarClass = new «report.toolbar.name.toString.toFirstUpper»Toolbar(UUID.randomUUID().toString());
-		toolbarClass.createToolbar(getContext(), renderingEngine, themeResourceService);
-		addPDFDownload(toolbarClass);
-		«ENDIF»
-		createFilter();
-		'''
+			/**
+			 * get a set of all entities used in the given report
+			 */
+			def Set<LEntity> findRequestedEntities(Report report) {
+				var entities = new HashSet<LEntity>()
+				entities.addAll(report.datamartRef.findAllEntities())
+				return entities
+			}
+
+			def createView(Report report) '''
+				super.createView(parent);
+				getContext().set(IE4Focusable.class, this);
+				workset = new ReportGeneratorWorkSet();
+				«IF report.toolbar !== null»
+					toolbarClass = new «report.toolbar.name.toString.toFirstUpper»Toolbar(UUID.randomUUID().toString());
+					toolbarClass.createToolbar(getContext(), renderingEngine, themeResourceService);
+					addPDFDownload(toolbarClass);
+				«ENDIF»
+				createFilter();
+			'''
+
+			def createDatamartInstanceMap(Report report) {
+				var dataSetName = Utilities.getDataSetName(null, report.datamartRef).toString
+				var text = '''
+				Map<String, IDataMart> datamartInstanceMap = new HashMap();
+				«report.datamartRef.fullyQualifiedName»Datamart «report.datamartRef.name.toFirstLower»Datamart = new «report.datamartRef.fullyQualifiedName»Datamart();
+				«report.datamartRef.name.toFirstLower»Datamart.setUser(user);
+				datamartInstanceMap.put("«dataSetName»", «report.datamartRef.name.toFirstLower»Datamart);'''
+				if (report.design instanceof ReportDesignTemplate){
+					for (detailElement : (report.design as ReportDesignTemplate).detail.elements){
+						if (detailElement instanceof DatamartTable){
+							var datamartDefinition = (detailElement as DatamartTable).datamartRef
+							if (datamartDefinition !== null) {
+								var alias = (detailElement as DatamartTable).name
+								dataSetName = Utilities.getDataSetName(alias, datamartDefinition).toString
+								text = '''
+								«text»
+								«datamartDefinition.fullyQualifiedName»Datamart «datamartDefinition.name.toFirstLower»Datamart = new «datamartDefinition.fullyQualifiedName»Datamart();
+								«datamartDefinition.name.toFirstLower»Datamart.setUser(user);
+								datamartInstanceMap.put("«dataSetName»", «datamartDefinition.name.toFirstLower»Datamart);'''
+							}
+						}
+					}
+					text = '''
+					«text»
+					return datamartInstanceMap;'''
+				}
+				return text
+			}
 }
+		
\ No newline at end of file
diff --git a/org.eclipse.osbp.xtext.reportdsl/src/org/eclipse/osbp/xtext/reportdsl/jvmmodel/ReportGeneratorWorkSet.java b/org.eclipse.osbp.xtext.reportdsl/src/org/eclipse/osbp/xtext/reportdsl/jvmmodel/ReportGeneratorWorkSet.java
index 3d8e8a8..82e6145 100644
--- a/org.eclipse.osbp.xtext.reportdsl/src/org/eclipse/osbp/xtext/reportdsl/jvmmodel/ReportGeneratorWorkSet.java
+++ b/org.eclipse.osbp.xtext.reportdsl/src/org/eclipse/osbp/xtext/reportdsl/jvmmodel/ReportGeneratorWorkSet.java
@@ -17,12 +17,15 @@
 import java.util.Map;
 
 import org.eclipse.birt.report.model.api.DataItemHandle;
+import org.eclipse.birt.report.model.api.DesignElementHandle;
 import org.eclipse.birt.report.model.api.ElementFactory;
+import org.eclipse.birt.report.model.api.Expression;
 import org.eclipse.birt.report.model.api.ImageHandle;
 import org.eclipse.birt.report.model.api.OdaDataSetHandle;
 import org.eclipse.birt.report.model.api.ReportDesignHandle;
 import org.eclipse.birt.report.model.api.ReportItemHandle;
 import org.eclipse.birt.report.model.api.SharedStyleHandle;
+import org.eclipse.birt.report.model.api.TextDataHandle;
 import org.eclipse.birt.report.model.api.elements.structures.ComputedColumn;
 import org.eclipse.birt.report.model.api.elements.structures.EmbeddedImage;
 import org.eclipse.birt.report.model.api.elements.structures.OdaResultSetColumn;
@@ -30,7 +33,9 @@
 import org.eclipse.birt.report.model.core.Module;
 import org.eclipse.birt.report.model.elements.DataItem;
 import org.eclipse.birt.report.model.elements.ImageItem;
+import org.eclipse.birt.report.model.elements.TextDataItem;
 import org.eclipse.birt.report.model.elements.interfaces.IDataItemModel;
+import org.eclipse.birt.report.model.elements.interfaces.ITextDataItemModel;
 import org.eclipse.birt.report.model.i18n.ThreadResources;
 import org.eclipse.birt.report.model.metadata.ElementPropertyDefn;
 import org.eclipse.osbp.xtext.datamartdsl.DatamartRole;
@@ -40,6 +45,7 @@
 import org.eclipse.osbp.xtext.reportdsl.Style;
 import org.eclipse.osbp.xtext.reportdsl.UnitEnum;
 import org.eclipse.osbp.xtext.reportdsl.common.item.AContainerItem;
+import org.eclipse.xtext.generator.IFileSystemAccess;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
@@ -61,6 +67,7 @@
 	private Map<String,EmbeddedImage> embeddedImages = new HashMap<>();
 	private Media requestedMedia;
 	private DatamartRole role;
+	private IFileSystemAccess fsa;
 	private static final Logger LOGGER = LoggerFactory.getLogger(ReportGeneratorWorkSet.class);
 	
 	public ReportModelGenerator getGenerator() {
@@ -151,6 +158,14 @@
 		this.role = role;
 	}
 
+	public IFileSystemAccess getFsa() {
+		return fsa;
+	}
+
+	public void setFsa(IFileSystemAccess fsa) {
+		this.fsa = fsa;
+	}
+
 	public Media getRequestedMedia() {
 		return requestedMedia;
 	}
@@ -199,6 +214,45 @@
 		}
 	}
 	
+	public class TextDataItemForDsl extends TextDataItem {	// NOSONAR
+		private String fResultSetColumn = null;
+		public TextDataItemForDsl(String name) {
+			super(name);
+		}
+		
+		@Override
+		public void setProperty(ElementPropertyDefn prop, Object value) {
+			if	(ITextDataItemModel.VALUE_EXPR_PROP.equals(prop.getName())) {
+				if	((fResultSetColumn == null)) {
+					if (value instanceof String) {
+						fResultSetColumn = (String) value;
+						super.setProperty(prop, value);
+					}
+					if (value instanceof Expression && (((Expression)value).getExpression() instanceof String)) {
+						fResultSetColumn = (String) ((Expression)value).getExpression();
+						super.setProperty(prop, value);
+					}
+				}
+				else if ((fResultSetColumn != null) && !fResultSetColumn.equals(value)) {
+					LOGGER.error("re-set? {} {} --> {}", ITextDataItemModel.VALUE_EXPR_PROP, fResultSetColumn, value);
+				}
+			}
+			else {
+				super.setProperty(prop, value);
+			}
+		}
+		
+		@Override
+		public boolean equals(Object obj) {
+			return super.equals(obj);
+		}
+		
+		@Override
+		public int hashCode() {
+			return super.hashCode();
+		}
+	}
+	
 	public boolean isRequestedMedia(Media checkMedia) {
 		if	(requestedMedia == null) {
 			return false;
@@ -213,6 +267,12 @@
 		return isRequestedMedia(checkMediaStyle.getMedia());
 	}
 	
+	public TextDataHandle newTextDataItem (String name) {
+		TextDataItemForDsl element = new TextDataItemForDsl(name);
+		design.getModule().makeUniqueName( element );
+		return element.handle(design.getModule());
+	}
+	
 	public DataItemHandle newDataItem (String name) {
 		DataItemForDsl element = new DataItemForDsl(name);
 		design.getModule().makeUniqueName( element );
@@ -258,11 +318,11 @@
 		return embeddedImages.get(imageId);
 	}
 	
-	public String getLocalizedDoubleValue(ReportItemHandle handle, double doubleValue) {
+	public String getLocalizedDoubleValue(DesignElementHandle handle, double doubleValue) {
 		return getLocalizedDoubleValue(handle, doubleValue, null);
 	}
 
-	public String getLocalizedDoubleValue(ReportItemHandle handle, double doubleValue, UnitEnum unit) {
+	public String getLocalizedDoubleValue(DesignElementHandle handle, double doubleValue, UnitEnum unit) {
 		Module module = handle.getModule();
 		ULocale locale = ThreadResources.getLocale();
 		if (module != null) {
diff --git a/org.eclipse.osbp.xtext.reportdsl/src/org/eclipse/osbp/xtext/reportdsl/jvmmodel/ReportModelGenerator.xtend b/org.eclipse.osbp.xtext.reportdsl/src/org/eclipse/osbp/xtext/reportdsl/jvmmodel/ReportModelGenerator.xtend
index f7c4376..ce68f27 100644
--- a/org.eclipse.osbp.xtext.reportdsl/src/org/eclipse/osbp/xtext/reportdsl/jvmmodel/ReportModelGenerator.xtend
+++ b/org.eclipse.osbp.xtext.reportdsl/src/org/eclipse/osbp/xtext/reportdsl/jvmmodel/ReportModelGenerator.xtend
@@ -120,6 +120,10 @@
 import org.eclipse.osbp.xtext.reportdsl.UnitEnum
 import org.eclipse.osbp.xtext.reportdsl.common.item.AContainerItem
 import org.eclipse.birt.report.model.api.ColumnHandle
+import org.eclipse.osbp.xtext.reportdsl.GridCell
+import java.util.HashMap
+import org.eclipse.osbp.xtext.reportdsl.AutoTextEnum
+import org.eclipse.osbp.dsl.semantic.entity.LEntityAttribute
 
 class ReportModelGenerator extends I18NModelGenerator {
 	@Inject extension IQualifiedNameProvider
@@ -166,6 +170,7 @@
 		workSet.generator = this
 		workSet.report = report
 		workSet.role = role
+		workSet.fsa = fsa
 		// --- generate full path name to the report design file to be generated ---
 		var template = report.design as ReportDesignTemplate
 		var pckgName = pckg.fullyQualifiedName.toString
@@ -337,21 +342,14 @@
 					]
 				}
 				// --- if no explicit attributes are set ---
-				if	(eObject.attributes.isEmpty) {
-					for	(datamartAttribute : eObject.attributes) {
-						var attribute = datamartAttribute.attributeRef
-						if	(!attribute.isId && !attribute.isUuid && !attribute.isVersion) {
-							if (datamartInferrer.isAuthorized(workSet.role, eObject.entityRef, attribute.name)) {
-								addDatamartAttribute(workSet, sd, cc, datamartAttribute)
-							}
-						}
-					}
+				if	(eObject.attributes.nullOrEmpty) {
+					DatamartAttributeUtil.fillEmptyAttributes(eObject)
 				}
-				// --- at last the "pure" data attributes ---
-				else {
-					for	(attribute : eObject.attributes) {
-						if (datamartInferrer.isAuthorized(workSet.role, eObject.entityRef, attribute.attributeRef.name)) {
-							addDatamartAttribute(workSet, sd, cc, attribute)
+				for	(datamartAttribute : eObject.attributes) {
+					var attribute = datamartAttribute.attributeRef
+					if	(!attribute.isId && !attribute.isUuid && !attribute.isVersion && !attribute.isTransient) {
+						if (datamartInferrer.isAuthorized(workSet.role, eObject.entityRef, attribute.name)) {
+							addDatamartAttribute(workSet, sd, cc, datamartAttribute)
 						}
 					}
 				}
@@ -414,9 +412,19 @@
 		cs1.setDisplayName(name);
 		cs1.setExpression("dataSetRow[\"".concat(name).concat("\"]"))
 		cs1.setDataType(dataType.getNativeOdaDataTypeName())
+		cs1.setProperties(attribute)
 		cc.add(cs1)
 	}
 	
+	private def setProperties(ComputedColumn column, LEntityAttribute attribute){
+		var lDataType = getLDataType(attribute)
+		if (lDataType !== null) {
+			for (prop : lDataType.properties) {
+				column.setProperty(prop.key, prop.value)
+			}
+		}
+	}
+	
 	private def getDatamartClassName(String alias, DatamartDefinition datamart) {
 		'''«(datamart.eContainer as LPackage).fullyQualifiedName».«datamart.name»Class'''
 	}
@@ -443,7 +451,14 @@
 						NonTranslatableText:
 							container.addText(element.value.replace("\"",""), null)
 						AutoText:
-							container.addAutoText(element.type.toString, element.style)
+							if (element.type.equals(AutoTextEnum.ACTUAL_DATE) || element.type.equals(AutoTextEnum.ACTUAL_TIME)){
+								container.addTextData(element.type, element.style)
+							} else if (element.type.equals(AutoTextEnum.REPORT_NAME)) {
+								var text = workSet.report.name
+								container.addLabel(text, text.replace("\"",""), element.style)
+							} else {
+								container.addAutoText(element.type.toString, element.style)
+							}
 						StringBinder:
 							container.addTextData(datamart, (element as StringBinder), element.style)
 						DatamartTableAttribute: {
@@ -469,8 +484,22 @@
 									if((element as DatamartTableAttribute).column instanceof TableAttribute &&
 										((element as DatamartTableAttribute).column as TableAttribute).valueRef.attributeRef.basicType == EType.BLOPMAPPING) {
 										container.addDataImage(element, element.style)
-									} else {
+									} else if (element.eContainer instanceof GridCell) {
 										container.addData(element, element.style)
+									} else {
+										// Being a DatamartAttribute outside of a grid 
+										// the dataSet and boundDataColumns are required
+										
+										// datamart alias do not exist on a grid
+										var datamartAlias = null
+										var hiddens = new ArrayList<DatamartAttribute>
+										var dataSetName = Utilities.getDataSetName(datamartAlias, datamart).toString
+										var dataSet = workSet.dataSets.get(dataSetName)
+										if	(dataSet === null) {
+											addDatamartSourceAndSet(datamart, workSet, datamartAlias, hiddens)
+											dataSet = workSet.dataSets.get(dataSetName)
+										}								
+										container.addData(element, dataSet, dataSetName, element.style)
 									}
 								}
 							}
@@ -484,7 +513,7 @@
 							)
 						Grid:
 							addGrid(datamart, 
-								workSet, container, element, null
+								workSet, container, element, element.style
 							)
 					}
 				}
@@ -499,15 +528,19 @@
 	}
 	
 	private def addDatamartTable(DatamartDefinition datamart, ReportGeneratorWorkSet workSet, ContainerItem container, DatamartTable datamartTable, Attribute... attributes) {
+		var newDatamart = datamart
+		if (datamartTable.datamartRef !== null) {
+			newDatamart = datamartTable.datamartRef
+		}
 		var hiddens = new ArrayList<DatamartAttribute>
 		var alias = datamartTable.name
-		var dataSetName = Utilities.getDataSetName(alias, datamart).toString
+		var dataSetName = Utilities.getDataSetName(alias, newDatamart).toString
 		var dataSet = workSet.dataSets.get(dataSetName)
 		if	(dataSet === null) {
-			addDatamartSourceAndSet(datamart, workSet, alias, hiddens)
+			addDatamartSourceAndSet(newDatamart, workSet, alias, hiddens)
 			dataSet = workSet.dataSets.get(dataSetName)
 		}
-		container.addTable(dataSet, datamartTable, workSet.getComputedColumns(dataSetName), datamartTable.groups, datamartTable.detail.style, datamartTable.detail.columnFormatters, datamartTable.style, attributes)
+		container.addTable(newDatamart, dataSet, datamartTable, workSet.getComputedColumns(dataSetName), datamartTable.groups, datamartTable.detail.style, datamartTable.detail.columnFormatters, datamartTable.style, attributes)
 	}
 	
 	private def addImage(ReportGeneratorWorkSet workSet, ContainerItem container, Image imageData, Style style, Attribute... attributes) {
@@ -627,7 +660,8 @@
 			, AbstractComponent
 			, UUID
 			, Filter
-			, IToolbarAction)
+			, IToolbarAction
+			, HashMap)
     	super.createAppendable(context, importManager, config)
 	}
 	
diff --git a/org.eclipse.osbp.xtext.reportdsl/src/org/eclipse/osbp/xtext/reportdsl/scoping/ReportDSLScopeProvider.xtend b/org.eclipse.osbp.xtext.reportdsl/src/org/eclipse/osbp/xtext/reportdsl/scoping/ReportDSLScopeProvider.xtend
index 42ddf27..3185457 100644
--- a/org.eclipse.osbp.xtext.reportdsl/src/org/eclipse/osbp/xtext/reportdsl/scoping/ReportDSLScopeProvider.xtend
+++ b/org.eclipse.osbp.xtext.reportdsl/src/org/eclipse/osbp/xtext/reportdsl/scoping/ReportDSLScopeProvider.xtend
@@ -17,9 +17,13 @@
 package org.eclipse.osbp.xtext.reportdsl.scoping
 
 import java.util.ArrayList
+import java.util.List
+import javax.inject.Inject
 import org.eclipse.emf.ecore.EObject
 import org.eclipse.emf.ecore.EReference
+import org.eclipse.osbp.dsl.dto.xtext.jvmmodel.TypeHelper
 import org.eclipse.osbp.dsl.semantic.common.types.LDataType
+import org.eclipse.osbp.utils.entityhelper.DataType
 import org.eclipse.osbp.xtext.datamartdsl.DatamartAttribute
 import org.eclipse.osbp.xtext.datamartdsl.DatamartEntity
 import org.eclipse.osbp.xtext.datamartdsl.DatamartMember
@@ -35,11 +39,8 @@
 import org.eclipse.xtext.resource.IEObjectDescription
 import org.eclipse.xtext.scoping.IScope
 import org.eclipse.xtext.scoping.impl.MapBasedScope
-import java.util.List
-import org.eclipse.osbp.dsl.semantic.entity.LEntityAttribute
-import org.eclipse.osbp.utils.entityhelper.DataType
-import javax.inject.Inject
-import org.eclipse.osbp.dsl.dto.xtext.jvmmodel.TypeHelper
+import org.eclipse.osbp.xtext.reportdsl.DatamartContainer
+import java.util.Collection
 
 /**
  * This class contains custom scoping description.
@@ -49,13 +50,15 @@
  * 
  */
 class ReportDSLScopeProvider extends AbstractReportDSLScopeProvider {
-	
+
 	@Inject extension DataType
 	@Inject extension TypeHelper
-	
+
 	override IScope getScope(EObject context, EReference reference) {
 		if (reference == ReportDSLPackage.Literals.DATAMART_TABLE_GROUP__GROUPING_REF) {
 			return context.getScope_DatamartProperty
+//		} else if (reference == ReportDSLPackage.Literals.DATAMART_TABLE__HEADER) {
+//			return context.getScope_DatamartProperty
 		} else if (reference == ReportDSLPackage.Literals.TABLE_ATTRIBUTE__VALUE_REF) {
 			return context.getScope_DatamartProperty
 		} else if (reference == ReportDSLPackage.Literals.VISIBILITY__VISIBILITY_ATTRIBUTE) {
@@ -65,7 +68,7 @@
 				return context.getScope_DatamartProperty.limitedScopeToSuperTypedNumber
 			}
 			return context.getScope_DatamartProperty
-			
+
 		}
 		super.getScope(context, reference)
 	}
@@ -92,18 +95,20 @@
 		return MapBasedScope.createScope(IScope.NULLSCOPE, result)
 	}
 
-	def List<IEObjectDescription> getDatamartPropertyResultList(EObject context) {
+	def ArrayList<IEObjectDescription> getDatamartPropertyResultList(EObject context) {
 		var result = <IEObjectDescription>newArrayList
 		var eObj = context
-		while ((eObj !== null) && !(eObj instanceof Report)) {
+		while ((eObj !== null) && !(eObj instanceof DatamartContainer)) {
 			eObj = eObj.eContainer
 		}
 		if (eObj !== null) {
-			var datamart = (eObj as Report).datamartRef
+			var datamart = (eObj as DatamartContainer).datamartRef
 			if (datamart !== null && datamart.source !== null) {
 				if (datamart.source instanceof DatamartEntity) {
 					getDatamartAttributes(datamart.source as DatamartEntity, result)
 				}
+			} else {
+				result = eObj.eContainer.datamartPropertyResultList
 			}
 		}
 		return result
@@ -116,9 +121,9 @@
 	def IScope getScope_BooleanDatamartProperty(EObject context) {
 		var resultBoolean = <IEObjectDescription>newArrayList
 		for (resultItem : context.datamartPropertyResultList) {
-			if (resultItem.EObjectOrProxy instanceof DatamartAttribute){
+			if (resultItem.EObjectOrProxy instanceof DatamartAttribute) {
 				var entityAttribute = (resultItem.EObjectOrProxy as DatamartAttribute).attributeRef
-				if (entityAttribute.jvmType.boolean){
+				if (entityAttribute.jvmType.boolean) {
 					resultBoolean.add(resultItem)
 				}
 			}
@@ -126,34 +131,39 @@
 		return MapBasedScope.createScope(IScope.NULLSCOPE, resultBoolean)
 	}
 
-	def void getDatamartAttributes(DatamartEntity entity, ArrayList<IEObjectDescription> result) {
-		for (navigation : entity.navigations) {
+	def void getDatamartAttributes(DatamartEntity datamartEntity, ArrayList<IEObjectDescription> result) {
+		for (navigation : datamartEntity.navigations) {
 			if (navigation instanceof DatamartMember) {
 				(navigation as DatamartMember).datamartEntity.getDatamartAttributes(result)
 				for (attribute : (navigation as DatamartMember).datamartEntity.attributes) {
-					result.add(EObjectDescription.create(DatamartAttributeUtil.getAliasedAttributeName(attribute), attribute))
+					result.add(
+						EObjectDescription.create(DatamartAttributeUtil.getAliasedAttributeName(attribute), attribute))
 				}
 			}
 			if (navigation instanceof DatamartOwner) {
 				(navigation as DatamartOwner).datamartEntity.getDatamartAttributes(result)
 				for (attribute : (navigation as DatamartOwner).datamartEntity.attributes) {
-					result.add(EObjectDescription.create(DatamartAttributeUtil.getAliasedAttributeName(attribute), attribute))
+					result.add(
+						EObjectDescription.create(DatamartAttributeUtil.getAliasedAttributeName(attribute), attribute))
 				}
 			}
 		}
-		for (attribute : entity.attributes) {
-			result.add(EObjectDescription.create(DatamartAttributeUtil.getAliasedAttributeName(attribute), attribute))
+		if (datamartEntity?.attributes.nullOrEmpty) {
+			DatamartAttributeUtil.fillEmptyAttributes(datamartEntity)
+		}
+		for (datamartAttribute : datamartEntity.attributes) {
+ 			result.add(
+				EObjectDescription.create(DatamartAttributeUtil.getAliasedAttributeName(datamartAttribute),
+					datamartAttribute))
 		}
 	}
-	
+
 	def boolean containsSuperType(JvmType type, Class clazz) {
-		if(!(type instanceof JvmDeclaredType)) {
+		if (!(type instanceof JvmDeclaredType)) {
 			return false
 		}
-		
+
 		return new RawSuperTypes().collectNames(type).contains(clazz.canonicalName)
-	} 
-	
-	
+	}
 
 }
diff --git a/org.eclipse.osbp.xtext.reportdsl/src/org/eclipse/osbp/xtext/reportdsl/validation/ReportDSLValidator.xtend b/org.eclipse.osbp.xtext.reportdsl/src/org/eclipse/osbp/xtext/reportdsl/validation/ReportDSLValidator.xtend
index ae6575a..55ec3d7 100644
--- a/org.eclipse.osbp.xtext.reportdsl/src/org/eclipse/osbp/xtext/reportdsl/validation/ReportDSLValidator.xtend
+++ b/org.eclipse.osbp.xtext.reportdsl/src/org/eclipse/osbp/xtext/reportdsl/validation/ReportDSLValidator.xtend
@@ -24,10 +24,12 @@
 import org.eclipse.emf.ecore.EObject
 import org.eclipse.osbp.dsl.semantic.entity.LEntityAttribute
 import org.eclipse.osbp.xtext.datamartdsl.DatamartAttribute
+import org.eclipse.osbp.xtext.reportdsl.AutoText
 import org.eclipse.osbp.xtext.reportdsl.DatamartTable
 import org.eclipse.osbp.xtext.reportdsl.DatamartTableAttribute
 import org.eclipse.osbp.xtext.reportdsl.DatamartTableDetail
 import org.eclipse.osbp.xtext.reportdsl.DatamartTableGroup
+import org.eclipse.osbp.xtext.reportdsl.DatamartTableHeader
 import org.eclipse.osbp.xtext.reportdsl.GridCell
 import org.eclipse.osbp.xtext.reportdsl.Image
 import org.eclipse.osbp.xtext.reportdsl.ImageSourceEnum
@@ -35,11 +37,15 @@
 import org.eclipse.osbp.xtext.reportdsl.PageHeader
 import org.eclipse.osbp.xtext.reportdsl.PageTemplate
 import org.eclipse.osbp.xtext.reportdsl.ReportDSLPackage
+import org.eclipse.osbp.xtext.reportdsl.SubSubTitle
+import org.eclipse.osbp.xtext.reportdsl.SubTitle
 import org.eclipse.osbp.xtext.reportdsl.TableAggregation
 import org.eclipse.osbp.xtext.reportdsl.TableAttribute
 import org.eclipse.osbp.xtext.reportdsl.TableBinaryAggregation
 import org.eclipse.osbp.xtext.reportdsl.TableMultipleAggregation
 import org.eclipse.osbp.xtext.reportdsl.TableUnaryAggregation
+import org.eclipse.osbp.xtext.reportdsl.Text
+import org.eclipse.osbp.xtext.reportdsl.Title
 import org.eclipse.xtext.validation.Check
 
 /**
@@ -52,13 +58,15 @@
 	@Check
 	def checkTableAttribute(TableAttribute tableAttribute) {
 		var eObj = tableAttribute.eContainer
-		if (tableAttribute.checkPageTemplateBelonging) {
+		val checkPageTemplateBelonging = tableAttribute.checkPageTemplateBelonging
+		val checkTableHeaderBelonging = tableAttribute.checkTableHeaderBelonging
+		if (checkPageTemplateBelonging || checkTableHeaderBelonging) {
 			while ((eObj !== null) && !(eObj instanceof DatamartTableAttribute)){
 				eObj = eObj.eContainer
 			}
 			if (eObj instanceof DatamartTableAttribute){
 				var datamartTableAttribute = eObj as DatamartTableAttribute
-				error('A table attribute is not allowed in a page template definition', datamartTableAttribute, ReportDSLPackage.Literals.DATAMART_TABLE_ATTRIBUTE__COLUMN)
+				error('''A table attribute is not allowed in a «IF checkPageTemplateBelonging»page template«ENDIF»«IF checkTableHeaderBelonging»table header«ENDIF» definition''', datamartTableAttribute, ReportDSLPackage.Literals.DATAMART_TABLE_ATTRIBUTE__COLUMN)
 			}
 		} else {
 			while ((eObj !== null) && !(eObj instanceof DatamartTableDetail)){
@@ -75,6 +83,21 @@
 	}
 	
 	@Check
+	def checkDatamartTableAttribute(DatamartTableAttribute attribute) {
+		var eObj = attribute.eContainer
+		while ((eObj !== null) && !(eObj instanceof DatamartTableDetail)){
+			eObj = eObj.eContainer
+		}
+		if (eObj instanceof DatamartTableDetail){
+			var datamartTableDetail = eObj as DatamartTableDetail
+			if (attribute?.style?.name.equals(datamartTableDetail?.style?.name)) {
+				error('Avoid the use of the same style in table attribute as in table detail.', datamartTableDetail, ReportDSLPackage.Literals.WITH_STYLE__STYLE)
+				error('Avoid the use of the same style in table attribute as in table detail.', attribute, ReportDSLPackage.Literals.WITH_STYLE__STYLE)
+			}
+		}
+	}
+	
+	@Check
 	def checkDatamartTableGroup(DatamartTableGroup datamartTableGroup) {
 		if (datamartTableGroup.checkPageTemplateBelonging) {
 			var eObj = datamartTableGroup.eContainer
@@ -132,11 +155,55 @@
 			}
 		} 
 	}
+		
+	@Check
+	def checkText(Text text) {
+		if (text.checkTableHeaderBelonging) {
+			error('''A text is not allowed in a table header definition''', text.eContainer, ReportDSLPackage.Literals.CONTAINER__ELEMENTS)
+		} 
+	}
+	
+	@Check
+	def checkAutoText(AutoText text) {
+		if (text.checkTableHeaderBelonging) {
+			error('''A auto text is not allowed in a table header definition''', text.eContainer, ReportDSLPackage.Literals.CONTAINER__ELEMENTS)
+		} 
+	}
+	
+	@Check
+	def checkTitle(Title title) {
+		if (title.checkTableHeaderBelonging) {
+			error('''A title is not allowed in a table header definition''', title.eContainer, ReportDSLPackage.Literals.CONTAINER__ELEMENTS)
+		} 
+	}
+	
+	@Check
+	def checkSubTitle(SubTitle title) {
+		if (title.checkTableHeaderBelonging) {
+			error('''A sub title is not allowed in a table header definition''', title.eContainer, ReportDSLPackage.Literals.CONTAINER__ELEMENTS)
+		} 
+	}
+	
+	@Check
+	def checkSubSubTitle(SubSubTitle title) {
+		if (title.checkTableHeaderBelonging) {
+			error('''A sub sub title is not allowed in a table header definition''', title.eContainer, ReportDSLPackage.Literals.CONTAINER__ELEMENTS)
+		} 
+	}
+	
+	@Check
+	def checkImage(Image image) {
+		if (image.checkTableHeaderBelonging) {
+			error('''A image is not allowed in a table header definition''', image.eContainer, ReportDSLPackage.Literals.CONTAINER__ELEMENTS)
+		} 
+	}
 	
 	@Check
 	def checkTableAggregation(TableAggregation aggregation) {
-		if (aggregation.checkPageTemplateBelonging) {
-			error('A table aggregation is not allowed in a page template definition', aggregation, ReportDSLPackage.Literals.TABLE_AGGREGATION__ON_GROUP)
+		val checkPageTemplateBelonging = aggregation.checkPageTemplateBelonging
+		val checkTableHeaderBelonging = aggregation.checkTableHeaderBelonging
+		if (checkPageTemplateBelonging || checkTableHeaderBelonging) {
+			error('''A table aggregation is not allowed in a «IF checkPageTemplateBelonging»page template«ENDIF»«IF checkTableHeaderBelonging»table header«ENDIF» definition''', aggregation, ReportDSLPackage.Literals.TABLE_AGGREGATION__ON_GROUP)
 		} 
 	}
 	
@@ -195,6 +262,17 @@
 		return false
 	}
 	
+	def private boolean checkTableHeaderBelonging(EObject attribute) {
+		var eObj = attribute.eContainer
+		while ((eObj!==null) && !(eObj instanceof DatamartTableHeader)){
+			eObj = eObj.eContainer
+		}
+		if ((eObj instanceof DatamartTableHeader)){
+			return (eObj.eContainer instanceof DatamartTable)
+		}
+		return false
+	}
+	
 	def private boolean checkPageHeaderBelonging(EObject attribute) {
 		var eObj = attribute.eContainer
 		while ((eObj!==null) && !(eObj instanceof PageHeader)){
diff --git a/org.eclipse.osbp.xtext.reportdsl/xtend-gen/org/eclipse/osbp/xtext/reportdsl/jvmmodel/ReportDSLJvmModelInferrer.java b/org.eclipse.osbp.xtext.reportdsl/xtend-gen/org/eclipse/osbp/xtext/reportdsl/jvmmodel/ReportDSLJvmModelInferrer.java
index 7f8becf..1da8b4c 100644
--- a/org.eclipse.osbp.xtext.reportdsl/xtend-gen/org/eclipse/osbp/xtext/reportdsl/jvmmodel/ReportDSLJvmModelInferrer.java
+++ b/org.eclipse.osbp.xtext.reportdsl/xtend-gen/org/eclipse/osbp/xtext/reportdsl/jvmmodel/ReportDSLJvmModelInferrer.java
@@ -20,6 +20,7 @@
 import java.util.Arrays;
 import java.util.HashSet;
 import java.util.List;
+import java.util.Map;
 import java.util.Set;
 import java.util.function.Consumer;
 import javax.inject.Inject;
@@ -37,7 +38,9 @@
 import org.eclipse.osbp.ui.api.user.IUser;
 import org.eclipse.osbp.xtext.action.ActionPackage;
 import org.eclipse.osbp.xtext.action.ActionToolbar;
+import org.eclipse.osbp.xtext.datamartdsl.DatamartDefinition;
 import org.eclipse.osbp.xtext.datamartdsl.jvmmodel.DatamartDSLJvmModelInferrer;
+import org.eclipse.osbp.xtext.reportdsl.DatamartTable;
 import org.eclipse.osbp.xtext.reportdsl.DatamartTableAttribute;
 import org.eclipse.osbp.xtext.reportdsl.Element;
 import org.eclipse.osbp.xtext.reportdsl.Grid;
@@ -54,6 +57,7 @@
 import org.eclipse.osbp.xtext.reportdsl.TableValueElement;
 import org.eclipse.osbp.xtext.reportdsl.common.AbstractReportBean;
 import org.eclipse.osbp.xtext.reportdsl.common.BaseReport;
+import org.eclipse.osbp.xtext.reportdsl.jvmmodel.Utilities;
 import org.eclipse.xtend2.lib.StringConcatenation;
 import org.eclipse.xtext.common.types.JvmAnnotationReference;
 import org.eclipse.xtext.common.types.JvmConstructor;
@@ -214,7 +218,8 @@
       };
       this._jvmTypesBuilder.setInitializer(it, _function_4);
     };
-    JvmField _field_3 = this._jvmTypesBuilder.toField(report, "staticData", this._typeReferenceBuilder.typeRef(ArrayList.class, this._typeReferenceBuilder.typeRef(String.class)), _function_3);
+    JvmField _field_3 = this._jvmTypesBuilder.toField(report, "staticData", 
+      this._typeReferenceBuilder.typeRef(ArrayList.class, this._typeReferenceBuilder.typeRef(String.class)), _function_3);
     this._jvmTypesBuilder.<JvmField>operator_add(_members_3, _field_3);
     EList<JvmMember> _members_4 = type.getMembers();
     final Procedure1<JvmOperation> _function_4 = (JvmOperation it) -> {
@@ -228,7 +233,8 @@
       };
       this._jvmTypesBuilder.setBody(it, _function_5);
     };
-    JvmOperation _method = this._jvmTypesBuilder.toMethod(report, "getStaticData", this._typeReferenceBuilder.typeRef(List.class, this._typeReferenceBuilder.typeRef(String.class)), _function_4);
+    JvmOperation _method = this._jvmTypesBuilder.toMethod(report, "getStaticData", 
+      this._typeReferenceBuilder.typeRef(List.class, this._typeReferenceBuilder.typeRef(String.class)), _function_4);
     this._jvmTypesBuilder.<JvmOperation>operator_add(_members_4, _method);
     ActionToolbar _toolbar = report.getToolbar();
     boolean _tripleNotEquals = (_toolbar != null);
@@ -242,7 +248,8 @@
       String _firstUpper = StringExtensions.toFirstUpper(report.getToolbar().getName().toString());
       _builder.append(_firstUpper);
       _builder.append("Toolbar");
-      JvmField _field_4 = this._jvmTypesBuilder.toField(report, "toolbarClass", this._typeReferenceBuilder.typeRef(_builder.toString()));
+      JvmField _field_4 = this._jvmTypesBuilder.toField(report, "toolbarClass", 
+        this._typeReferenceBuilder.typeRef(_builder.toString()));
       this._jvmTypesBuilder.<JvmField>operator_add(_members_5, _field_4);
     }
     EList<JvmMember> _members_6 = type.getMembers();
@@ -381,29 +388,15 @@
       this._jvmTypesBuilder.<JvmFormalParameter>operator_add(_parameters, _parameter);
       final Procedure1<ITreeAppendable> _function_11 = (ITreeAppendable it_1) -> {
         StringConcatenation _builder_1 = new StringConcatenation();
-        QualifiedName _fullyQualifiedName = this._iQualifiedNameProvider.getFullyQualifiedName(report.getDatamartRef());
-        _builder_1.append(_fullyQualifiedName);
-        _builder_1.append("Datamart ");
-        String _firstLower = StringExtensions.toFirstLower(report.getDatamartRef().getName());
-        _builder_1.append(_firstLower);
-        _builder_1.append("Datamart = new ");
-        QualifiedName _fullyQualifiedName_1 = this._iQualifiedNameProvider.getFullyQualifiedName(report.getDatamartRef());
-        _builder_1.append(_fullyQualifiedName_1);
-        _builder_1.append("Datamart();");
-        _builder_1.newLineIfNotEmpty();
-        String _firstLower_1 = StringExtensions.toFirstLower(report.getDatamartRef().getName());
-        _builder_1.append(_firstLower_1);
-        _builder_1.append("Datamart.setUser(user);");
-        _builder_1.newLineIfNotEmpty();
-        _builder_1.append("return ");
-        String _firstLower_2 = StringExtensions.toFirstLower(report.getDatamartRef().getName());
-        _builder_1.append(_firstLower_2);
-        _builder_1.append("Datamart;");
+        String _createDatamartInstanceMap = this.createDatamartInstanceMap(report);
+        _builder_1.append(_createDatamartInstanceMap);
         it_1.append(_builder_1);
       };
       this._jvmTypesBuilder.setBody(it, _function_11);
     };
-    JvmOperation _method_6 = this._jvmTypesBuilder.toMethod(report, "getDatamartInstance", this._typeReferenceBuilder.typeRef(IDataMart.class), _function_10);
+    JvmOperation _method_6 = this._jvmTypesBuilder.toMethod(report, "getDatamartInstanceMap", 
+      this._typeReferenceBuilder.typeRef(Map.class, this._typeReferenceBuilder.typeRef(String.class), 
+        this._typeReferenceBuilder.typeRef(IDataMart.class)), _function_10);
     this._jvmTypesBuilder.<JvmOperation>operator_add(_members_11, _method_6);
     EList<JvmMember> _members_12 = type.getMembers();
     final Procedure1<JvmOperation> _function_11 = (JvmOperation it) -> {
@@ -599,6 +592,78 @@
     return _builder;
   }
   
+  public String createDatamartInstanceMap(final Report report) {
+    String dataSetName = Utilities.getDataSetName(null, report.getDatamartRef()).toString();
+    StringConcatenation _builder = new StringConcatenation();
+    _builder.append("Map<String, IDataMart> datamartInstanceMap = new HashMap();");
+    _builder.newLine();
+    QualifiedName _fullyQualifiedName = this._iQualifiedNameProvider.getFullyQualifiedName(report.getDatamartRef());
+    _builder.append(_fullyQualifiedName);
+    _builder.append("Datamart ");
+    String _firstLower = StringExtensions.toFirstLower(report.getDatamartRef().getName());
+    _builder.append(_firstLower);
+    _builder.append("Datamart = new ");
+    QualifiedName _fullyQualifiedName_1 = this._iQualifiedNameProvider.getFullyQualifiedName(report.getDatamartRef());
+    _builder.append(_fullyQualifiedName_1);
+    _builder.append("Datamart();");
+    _builder.newLineIfNotEmpty();
+    String _firstLower_1 = StringExtensions.toFirstLower(report.getDatamartRef().getName());
+    _builder.append(_firstLower_1);
+    _builder.append("Datamart.setUser(user);");
+    _builder.newLineIfNotEmpty();
+    _builder.append("datamartInstanceMap.put(\"");
+    _builder.append(dataSetName);
+    _builder.append("\", ");
+    String _firstLower_2 = StringExtensions.toFirstLower(report.getDatamartRef().getName());
+    _builder.append(_firstLower_2);
+    _builder.append("Datamart);");
+    String text = _builder.toString();
+    ReportDesign _design = report.getDesign();
+    if ((_design instanceof ReportDesignTemplate)) {
+      ReportDesign _design_1 = report.getDesign();
+      EList<Element> _elements = ((ReportDesignTemplate) _design_1).getDetail().getElements();
+      for (final Element detailElement : _elements) {
+        if ((detailElement instanceof DatamartTable)) {
+          DatamartDefinition datamartDefinition = ((DatamartTable) detailElement).getDatamartRef();
+          if ((datamartDefinition != null)) {
+            String alias = ((DatamartTable) detailElement).getName();
+            dataSetName = Utilities.getDataSetName(alias, datamartDefinition).toString();
+            StringConcatenation _builder_1 = new StringConcatenation();
+            _builder_1.append(text);
+            _builder_1.newLineIfNotEmpty();
+            QualifiedName _fullyQualifiedName_2 = this._iQualifiedNameProvider.getFullyQualifiedName(datamartDefinition);
+            _builder_1.append(_fullyQualifiedName_2);
+            _builder_1.append("Datamart ");
+            String _firstLower_3 = StringExtensions.toFirstLower(datamartDefinition.getName());
+            _builder_1.append(_firstLower_3);
+            _builder_1.append("Datamart = new ");
+            QualifiedName _fullyQualifiedName_3 = this._iQualifiedNameProvider.getFullyQualifiedName(datamartDefinition);
+            _builder_1.append(_fullyQualifiedName_3);
+            _builder_1.append("Datamart();");
+            _builder_1.newLineIfNotEmpty();
+            String _firstLower_4 = StringExtensions.toFirstLower(datamartDefinition.getName());
+            _builder_1.append(_firstLower_4);
+            _builder_1.append("Datamart.setUser(user);");
+            _builder_1.newLineIfNotEmpty();
+            _builder_1.append("datamartInstanceMap.put(\"");
+            _builder_1.append(dataSetName);
+            _builder_1.append("\", ");
+            String _firstLower_5 = StringExtensions.toFirstLower(datamartDefinition.getName());
+            _builder_1.append(_firstLower_5);
+            _builder_1.append("Datamart);");
+            text = _builder_1.toString();
+          }
+        }
+      }
+      StringConcatenation _builder_2 = new StringConcatenation();
+      _builder_2.append(text);
+      _builder_2.newLineIfNotEmpty();
+      _builder_2.append("return datamartInstanceMap;");
+      text = _builder_2.toString();
+    }
+    return text;
+  }
+  
   public void infer(final EObject pckg, final IJvmDeclaredTypeAcceptor acceptor, final boolean isPreIndexingPhase) {
     if (pckg instanceof ReportPackage) {
       _infer((ReportPackage)pckg, acceptor, isPreIndexingPhase);
diff --git a/org.eclipse.osbp.xtext.reportdsl/xtend-gen/org/eclipse/osbp/xtext/reportdsl/jvmmodel/ReportModelGenerator.java b/org.eclipse.osbp.xtext.reportdsl/xtend-gen/org/eclipse/osbp/xtext/reportdsl/jvmmodel/ReportModelGenerator.java
index ec6e581..f264962 100644
--- a/org.eclipse.osbp.xtext.reportdsl/xtend-gen/org/eclipse/osbp/xtext/reportdsl/jvmmodel/ReportModelGenerator.java
+++ b/org.eclipse.osbp.xtext.reportdsl/xtend-gen/org/eclipse/osbp/xtext/reportdsl/jvmmodel/ReportModelGenerator.java
@@ -62,6 +62,8 @@
 import org.eclipse.emf.common.util.EList;
 import org.eclipse.emf.ecore.EObject;
 import org.eclipse.emf.ecore.resource.Resource;
+import org.eclipse.osbp.dsl.semantic.common.types.LDataType;
+import org.eclipse.osbp.dsl.semantic.common.types.LKeyAndValue;
 import org.eclipse.osbp.dsl.semantic.common.types.LPackage;
 import org.eclipse.osbp.dsl.semantic.entity.LEntityAttribute;
 import org.eclipse.osbp.eventbroker.EventBrokerMsg;
@@ -85,6 +87,7 @@
 import org.eclipse.osbp.xtext.i18n.I18NKeyGenerator;
 import org.eclipse.osbp.xtext.i18n.I18NModelGenerator;
 import org.eclipse.osbp.xtext.reportdsl.AutoText;
+import org.eclipse.osbp.xtext.reportdsl.AutoTextEnum;
 import org.eclipse.osbp.xtext.reportdsl.DatamartTable;
 import org.eclipse.osbp.xtext.reportdsl.DatamartTableAttribute;
 import org.eclipse.osbp.xtext.reportdsl.DatamartTableGroup;
@@ -141,6 +144,7 @@
 import org.eclipse.xtext.xbase.lib.Conversions;
 import org.eclipse.xtext.xbase.lib.Exceptions;
 import org.eclipse.xtext.xbase.lib.Extension;
+import org.eclipse.xtext.xbase.lib.IterableExtensions;
 import org.eclipse.xtext.xbase.lib.IteratorExtensions;
 import org.eclipse.xtext.xbase.lib.Procedures.Procedure1;
 import org.osgi.service.event.Event;
@@ -217,6 +221,7 @@
       workSet.setGenerator(this);
       workSet.setReport(report);
       workSet.setRole(role);
+      workSet.setFsa(fsa);
       ReportDesign _design = report.getDesign();
       ReportDesignTemplate template = ((ReportDesignTemplate) _design);
       String pckgName = this._iQualifiedNameProvider.getFullyQualifiedName(pckg).toString();
@@ -412,28 +417,21 @@
         };
         IteratorExtensions.<EObject>forEach(navigation.eAllContents(), _function);
       }
-      boolean _isEmpty = ((DatamartEntity)eObject).getAttributes().isEmpty();
-      if (_isEmpty) {
-        EList<DatamartAttribute> _attributes = ((DatamartEntity)eObject).getAttributes();
-        for (final DatamartAttribute datamartAttribute : _attributes) {
-          {
-            LEntityAttribute attribute = datamartAttribute.getAttributeRef();
-            if ((((!attribute.isId()) && (!attribute.isUuid())) && (!attribute.isVersion()))) {
-              boolean _isAuthorized = this.datamartInferrer.isAuthorized(workSet.getRole(), ((DatamartEntity)eObject).getEntityRef(), attribute.getName());
-              if (_isAuthorized) {
-                this.addDatamartAttribute(workSet, sd, cc, datamartAttribute);
-              }
+      boolean _isNullOrEmpty = IterableExtensions.isNullOrEmpty(((DatamartEntity)eObject).getAttributes());
+      if (_isNullOrEmpty) {
+        DatamartAttributeUtil.fillEmptyAttributes(((DatamartEntity)eObject));
+      }
+      EList<DatamartAttribute> _attributes = ((DatamartEntity)eObject).getAttributes();
+      for (final DatamartAttribute datamartAttribute : _attributes) {
+        {
+          LEntityAttribute attribute = datamartAttribute.getAttributeRef();
+          if (((((!attribute.isId()) && (!attribute.isUuid())) && (!attribute.isVersion())) && (!attribute.isTransient()))) {
+            boolean _isAuthorized = this.datamartInferrer.isAuthorized(workSet.getRole(), ((DatamartEntity)eObject).getEntityRef(), attribute.getName());
+            if (_isAuthorized) {
+              this.addDatamartAttribute(workSet, sd, cc, datamartAttribute);
             }
           }
         }
-      } else {
-        EList<DatamartAttribute> _attributes_1 = ((DatamartEntity)eObject).getAttributes();
-        for (final DatamartAttribute attribute : _attributes_1) {
-          boolean _isAuthorized = this.datamartInferrer.isAuthorized(workSet.getRole(), ((DatamartEntity)eObject).getEntityRef(), attribute.getAttributeRef().getName());
-          if (_isAuthorized) {
-            this.addDatamartAttribute(workSet, sd, cc, attribute);
-          }
-        }
       }
     }
   }
@@ -502,9 +500,20 @@
     cs1.setDisplayName(name);
     cs1.setExpression("dataSetRow[\"".concat(name).concat("\"]"));
     cs1.setDataType(dataType.getNativeOdaDataTypeName());
+    this.setProperties(cs1, attribute);
     cc.add(cs1);
   }
   
+  private void setProperties(final ComputedColumn column, final LEntityAttribute attribute) {
+    LDataType lDataType = this.dtType.getLDataType(attribute);
+    if ((lDataType != null)) {
+      EList<LKeyAndValue> _properties = lDataType.getProperties();
+      for (final LKeyAndValue prop : _properties) {
+        column.setProperty(prop.getKey(), prop.getValue());
+      }
+    }
+  }
+  
   private CharSequence getDatamartClassName(final String alias, final DatamartDefinition datamart) {
     StringConcatenation _builder = new StringConcatenation();
     EObject _eContainer = datamart.eContainer();
@@ -564,7 +573,17 @@
           if (!_matched) {
             if (element instanceof AutoText) {
               _matched=true;
-              container.addAutoText(((AutoText)element).getType().toString(), ((AutoText)element).getStyle());
+              if ((((AutoText)element).getType().equals(AutoTextEnum.ACTUAL_DATE) || ((AutoText)element).getType().equals(AutoTextEnum.ACTUAL_TIME))) {
+                container.addTextData(((AutoText)element).getType(), ((AutoText)element).getStyle());
+              } else {
+                boolean _equals = ((AutoText)element).getType().equals(AutoTextEnum.REPORT_NAME);
+                if (_equals) {
+                  String text = workSet.getReport().getName();
+                  container.addLabel(text, text.replace("\"", ""), ((AutoText)element).getStyle());
+                } else {
+                  container.addAutoText(((AutoText)element).getType().toString(), ((AutoText)element).getStyle());
+                }
+              }
             }
           }
           if (!_matched) {
@@ -604,7 +623,21 @@
                     Objects.equal(this.dtType.getBasicType(((TableAttribute) ((DatamartTableAttribute) element).getColumn()).getValueRef().getAttributeRef()), IDataMart.EType.BLOPMAPPING))) {
                     container.addDataImage(((DatamartTableAttribute)element), ((DatamartTableAttribute)element).getStyle());
                   } else {
-                    container.addData(((DatamartTableAttribute)element), ((DatamartTableAttribute)element).getStyle());
+                    EObject _eContainer = ((DatamartTableAttribute)element).eContainer();
+                    if ((_eContainer instanceof GridCell)) {
+                      container.addData(((DatamartTableAttribute)element), ((DatamartTableAttribute)element).getStyle());
+                    } else {
+                      Object datamartAlias = null;
+                      ArrayList<DatamartAttribute> hiddens = new ArrayList<DatamartAttribute>();
+                      String dataSetName = Utilities.getDataSetName(((String)datamartAlias), datamart).toString();
+                      OdaDataSetHandle dataSet = workSet.getDataSets().get(dataSetName);
+                      if ((dataSet == null)) {
+                        final ArrayList<DatamartAttribute> _converted_hiddens = (ArrayList<DatamartAttribute>)hiddens;
+                        this.addDatamartSourceAndSet(datamart, workSet, ((String)datamartAlias), ((DatamartAttribute[])Conversions.unwrapArray(_converted_hiddens, DatamartAttribute.class)));
+                        dataSet = workSet.getDataSets().get(dataSetName);
+                      }
+                      container.addData(((DatamartTableAttribute)element), dataSet, dataSetName, ((DatamartTableAttribute)element).getStyle());
+                    }
                   }
                 }
               }
@@ -626,7 +659,7 @@
           if (!_matched) {
             if (element instanceof Grid) {
               _matched=true;
-              this.addGrid(datamart, workSet, container, ((Grid)element), null);
+              this.addGrid(datamart, workSet, container, ((Grid)element), ((Grid)element).getStyle());
             }
           }
         } catch (final Throwable _t) {
@@ -646,16 +679,22 @@
   
   private void addDatamartTable(final DatamartDefinition datamart, final ReportGeneratorWorkSet workSet, final ContainerItem container, final DatamartTable datamartTable, final Attribute... attributes) {
     try {
+      DatamartDefinition newDatamart = datamart;
+      DatamartDefinition _datamartRef = datamartTable.getDatamartRef();
+      boolean _tripleNotEquals = (_datamartRef != null);
+      if (_tripleNotEquals) {
+        newDatamart = datamartTable.getDatamartRef();
+      }
       ArrayList<DatamartAttribute> hiddens = new ArrayList<DatamartAttribute>();
       String alias = datamartTable.getName();
-      String dataSetName = Utilities.getDataSetName(alias, datamart).toString();
+      String dataSetName = Utilities.getDataSetName(alias, newDatamart).toString();
       OdaDataSetHandle dataSet = workSet.getDataSets().get(dataSetName);
       if ((dataSet == null)) {
         final ArrayList<DatamartAttribute> _converted_hiddens = (ArrayList<DatamartAttribute>)hiddens;
-        this.addDatamartSourceAndSet(datamart, workSet, alias, ((DatamartAttribute[])Conversions.unwrapArray(_converted_hiddens, DatamartAttribute.class)));
+        this.addDatamartSourceAndSet(newDatamart, workSet, alias, ((DatamartAttribute[])Conversions.unwrapArray(_converted_hiddens, DatamartAttribute.class)));
         dataSet = workSet.getDataSets().get(dataSetName);
       }
-      container.addTable(dataSet, datamartTable, workSet.getComputedColumns(dataSetName), ((DatamartTableGroup[])Conversions.unwrapArray(datamartTable.getGroups(), DatamartTableGroup.class)), datamartTable.getDetail().getStyle(), ((DatamartTableAttribute[])Conversions.unwrapArray(datamartTable.getDetail().getColumnFormatters(), DatamartTableAttribute.class)), datamartTable.getStyle(), attributes);
+      container.addTable(newDatamart, dataSet, datamartTable, workSet.getComputedColumns(dataSetName), ((DatamartTableGroup[])Conversions.unwrapArray(datamartTable.getGroups(), DatamartTableGroup.class)), datamartTable.getDetail().getStyle(), ((DatamartTableAttribute[])Conversions.unwrapArray(datamartTable.getDetail().getColumnFormatters(), DatamartTableAttribute.class)), datamartTable.getStyle(), attributes);
     } catch (Throwable _e) {
       throw Exceptions.sneakyThrow(_e);
     }
@@ -785,7 +824,7 @@
     TreeAppendable _xblockexpression = null;
     {
       this.setBuilder(context.eResource());
-      this._basicDslGeneratorUtils.addImportFor(this, importManager, this._typeReferenceBuilder, ReportGeneratorWorkSet.class, HorizontalLayout.class, ViewLayoutManager.class, BrowserFrame.class, StreamResource.class, Sizeable.Unit.class, Button.class, com.vaadin.ui.Label.class, IEventBroker.class, EventHandler.class, Event.class, EventUtils.class, EventBrokerMsg.class, CustomMsgException.class, IReportProvider.Rendering.class, AbstractComponent.class, UUID.class, Container.Filter.class, IToolbarAction.class);
+      this._basicDslGeneratorUtils.addImportFor(this, importManager, this._typeReferenceBuilder, ReportGeneratorWorkSet.class, HorizontalLayout.class, ViewLayoutManager.class, BrowserFrame.class, StreamResource.class, Sizeable.Unit.class, Button.class, com.vaadin.ui.Label.class, IEventBroker.class, EventHandler.class, Event.class, EventUtils.class, EventBrokerMsg.class, CustomMsgException.class, IReportProvider.Rendering.class, AbstractComponent.class, UUID.class, Container.Filter.class, IToolbarAction.class, HashMap.class);
       _xblockexpression = super.createAppendable(context, importManager, config);
     }
     return _xblockexpression;
diff --git a/org.eclipse.osbp.xtext.reportdsl/xtend-gen/org/eclipse/osbp/xtext/reportdsl/scoping/ReportDSLScopeProvider.java b/org.eclipse.osbp.xtext.reportdsl/xtend-gen/org/eclipse/osbp/xtext/reportdsl/scoping/ReportDSLScopeProvider.java
index 68a894e..746e52c 100644
--- a/org.eclipse.osbp.xtext.reportdsl/xtend-gen/org/eclipse/osbp/xtext/reportdsl/scoping/ReportDSLScopeProvider.java
+++ b/org.eclipse.osbp.xtext.reportdsl/xtend-gen/org/eclipse/osbp/xtext/reportdsl/scoping/ReportDSLScopeProvider.java
@@ -16,7 +16,6 @@
 
 import com.google.common.base.Objects;
 import java.util.ArrayList;
-import java.util.List;
 import javax.inject.Inject;
 import org.eclipse.emf.common.util.EList;
 import org.eclipse.emf.ecore.EObject;
@@ -34,7 +33,7 @@
 import org.eclipse.osbp.xtext.datamartdsl.DatamartOwner;
 import org.eclipse.osbp.xtext.datamartdsl.DatamartSource;
 import org.eclipse.osbp.xtext.datamartdsl.util.DatamartAttributeUtil;
-import org.eclipse.osbp.xtext.reportdsl.Report;
+import org.eclipse.osbp.xtext.reportdsl.DatamartContainer;
 import org.eclipse.osbp.xtext.reportdsl.ReportDSLPackage;
 import org.eclipse.osbp.xtext.reportdsl.TableUnaryAggregation;
 import org.eclipse.osbp.xtext.reportdsl.scoping.AbstractReportDSLScopeProvider;
@@ -48,6 +47,7 @@
 import org.eclipse.xtext.scoping.impl.MapBasedScope;
 import org.eclipse.xtext.xbase.lib.CollectionLiterals;
 import org.eclipse.xtext.xbase.lib.Extension;
+import org.eclipse.xtext.xbase.lib.IterableExtensions;
 
 /**
  * This class contains custom scoping description.
@@ -125,20 +125,22 @@
     return MapBasedScope.createScope(IScope.NULLSCOPE, result);
   }
   
-  public List<IEObjectDescription> getDatamartPropertyResultList(final EObject context) {
+  public ArrayList<IEObjectDescription> getDatamartPropertyResultList(final EObject context) {
     ArrayList<IEObjectDescription> result = CollectionLiterals.<IEObjectDescription>newArrayList();
     EObject eObj = context;
-    while (((eObj != null) && (!(eObj instanceof Report)))) {
+    while (((eObj != null) && (!(eObj instanceof DatamartContainer)))) {
       eObj = eObj.eContainer();
     }
     if ((eObj != null)) {
-      DatamartDefinition datamart = ((Report) eObj).getDatamartRef();
+      DatamartDefinition datamart = ((DatamartContainer) eObj).getDatamartRef();
       if (((datamart != null) && (datamart.getSource() != null))) {
         DatamartSource _source = datamart.getSource();
         if ((_source instanceof DatamartEntity)) {
           DatamartSource _source_1 = datamart.getSource();
           this.getDatamartAttributes(((DatamartEntity) _source_1), result);
         }
+      } else {
+        result = this.getDatamartPropertyResultList(eObj.eContainer());
       }
     }
     return result;
@@ -150,7 +152,7 @@
   
   public IScope getScope_BooleanDatamartProperty(final EObject context) {
     ArrayList<IEObjectDescription> resultBoolean = CollectionLiterals.<IEObjectDescription>newArrayList();
-    List<IEObjectDescription> _datamartPropertyResultList = this.getDatamartPropertyResultList(context);
+    ArrayList<IEObjectDescription> _datamartPropertyResultList = this.getDatamartPropertyResultList(context);
     for (final IEObjectDescription resultItem : _datamartPropertyResultList) {
       EObject _eObjectOrProxy = resultItem.getEObjectOrProxy();
       if ((_eObjectOrProxy instanceof DatamartAttribute)) {
@@ -165,29 +167,40 @@
     return MapBasedScope.createScope(IScope.NULLSCOPE, resultBoolean);
   }
   
-  public void getDatamartAttributes(final DatamartEntity entity, final ArrayList<IEObjectDescription> result) {
-    EList<DatamartNavigation> _navigations = entity.getNavigations();
+  public void getDatamartAttributes(final DatamartEntity datamartEntity, final ArrayList<IEObjectDescription> result) {
+    EList<DatamartNavigation> _navigations = datamartEntity.getNavigations();
     for (final DatamartNavigation navigation : _navigations) {
       {
         if ((navigation instanceof DatamartMember)) {
           this.getDatamartAttributes(((DatamartMember) navigation).getDatamartEntity(), result);
           EList<DatamartAttribute> _attributes = ((DatamartMember) navigation).getDatamartEntity().getAttributes();
           for (final DatamartAttribute attribute : _attributes) {
-            result.add(EObjectDescription.create(DatamartAttributeUtil.getAliasedAttributeName(attribute), attribute));
+            result.add(
+              EObjectDescription.create(DatamartAttributeUtil.getAliasedAttributeName(attribute), attribute));
           }
         }
         if ((navigation instanceof DatamartOwner)) {
           this.getDatamartAttributes(((DatamartOwner) navigation).getDatamartEntity(), result);
           EList<DatamartAttribute> _attributes_1 = ((DatamartOwner) navigation).getDatamartEntity().getAttributes();
           for (final DatamartAttribute attribute_1 : _attributes_1) {
-            result.add(EObjectDescription.create(DatamartAttributeUtil.getAliasedAttributeName(attribute_1), attribute_1));
+            result.add(
+              EObjectDescription.create(DatamartAttributeUtil.getAliasedAttributeName(attribute_1), attribute_1));
           }
         }
       }
     }
-    EList<DatamartAttribute> _attributes = entity.getAttributes();
-    for (final DatamartAttribute attribute : _attributes) {
-      result.add(EObjectDescription.create(DatamartAttributeUtil.getAliasedAttributeName(attribute), attribute));
+    EList<DatamartAttribute> _attributes = null;
+    if (datamartEntity!=null) {
+      _attributes=datamartEntity.getAttributes();
+    }
+    boolean _isNullOrEmpty = IterableExtensions.isNullOrEmpty(_attributes);
+    if (_isNullOrEmpty) {
+      DatamartAttributeUtil.fillEmptyAttributes(datamartEntity);
+    }
+    EList<DatamartAttribute> _attributes_1 = datamartEntity.getAttributes();
+    for (final DatamartAttribute datamartAttribute : _attributes_1) {
+      result.add(
+        EObjectDescription.create(DatamartAttributeUtil.getAliasedAttributeName(datamartAttribute), datamartAttribute));
     }
   }
   
diff --git a/org.eclipse.osbp.xtext.reportdsl/xtend-gen/org/eclipse/osbp/xtext/reportdsl/validation/ReportDSLValidator.java b/org.eclipse.osbp.xtext.reportdsl/xtend-gen/org/eclipse/osbp/xtext/reportdsl/validation/ReportDSLValidator.java
index faa252d..a853519 100644
--- a/org.eclipse.osbp.xtext.reportdsl/xtend-gen/org/eclipse/osbp/xtext/reportdsl/validation/ReportDSLValidator.java
+++ b/org.eclipse.osbp.xtext.reportdsl/xtend-gen/org/eclipse/osbp/xtext/reportdsl/validation/ReportDSLValidator.java
@@ -21,10 +21,12 @@
 import org.eclipse.emf.ecore.EObject;
 import org.eclipse.osbp.dsl.semantic.entity.LEntityAttribute;
 import org.eclipse.osbp.xtext.datamartdsl.DatamartAttribute;
+import org.eclipse.osbp.xtext.reportdsl.AutoText;
 import org.eclipse.osbp.xtext.reportdsl.DatamartTable;
 import org.eclipse.osbp.xtext.reportdsl.DatamartTableAttribute;
 import org.eclipse.osbp.xtext.reportdsl.DatamartTableDetail;
 import org.eclipse.osbp.xtext.reportdsl.DatamartTableGroup;
+import org.eclipse.osbp.xtext.reportdsl.DatamartTableHeader;
 import org.eclipse.osbp.xtext.reportdsl.GridCell;
 import org.eclipse.osbp.xtext.reportdsl.Image;
 import org.eclipse.osbp.xtext.reportdsl.ImageSourceEnum;
@@ -32,12 +34,17 @@
 import org.eclipse.osbp.xtext.reportdsl.PageHeader;
 import org.eclipse.osbp.xtext.reportdsl.PageTemplate;
 import org.eclipse.osbp.xtext.reportdsl.ReportDSLPackage;
+import org.eclipse.osbp.xtext.reportdsl.Style;
+import org.eclipse.osbp.xtext.reportdsl.SubSubTitle;
+import org.eclipse.osbp.xtext.reportdsl.SubTitle;
 import org.eclipse.osbp.xtext.reportdsl.TableAggregation;
 import org.eclipse.osbp.xtext.reportdsl.TableAttribute;
 import org.eclipse.osbp.xtext.reportdsl.TableBinaryAggregation;
 import org.eclipse.osbp.xtext.reportdsl.TableMultipleAggregation;
 import org.eclipse.osbp.xtext.reportdsl.TableUnaryAggregation;
 import org.eclipse.osbp.xtext.reportdsl.TableValueElement;
+import org.eclipse.osbp.xtext.reportdsl.Text;
+import org.eclipse.osbp.xtext.reportdsl.Title;
 import org.eclipse.osbp.xtext.reportdsl.validation.AbstractReportDSLValidator;
 import org.eclipse.xtend2.lib.StringConcatenation;
 import org.eclipse.xtext.validation.Check;
@@ -53,14 +60,28 @@
   @Check
   public void checkTableAttribute(final TableAttribute tableAttribute) {
     EObject eObj = tableAttribute.eContainer();
-    boolean _checkPageTemplateBelonging = this.checkPageTemplateBelonging(tableAttribute);
-    if (_checkPageTemplateBelonging) {
+    final boolean checkPageTemplateBelonging = this.checkPageTemplateBelonging(tableAttribute);
+    final boolean checkTableHeaderBelonging = this.checkTableHeaderBelonging(tableAttribute);
+    if ((checkPageTemplateBelonging || checkTableHeaderBelonging)) {
       while (((eObj != null) && (!(eObj instanceof DatamartTableAttribute)))) {
         eObj = eObj.eContainer();
       }
       if ((eObj instanceof DatamartTableAttribute)) {
         DatamartTableAttribute datamartTableAttribute = ((DatamartTableAttribute) eObj);
-        this.error("A table attribute is not allowed in a page template definition", datamartTableAttribute, ReportDSLPackage.Literals.DATAMART_TABLE_ATTRIBUTE__COLUMN);
+        StringConcatenation _builder = new StringConcatenation();
+        _builder.append("A table attribute is not allowed in a ");
+        {
+          if (checkPageTemplateBelonging) {
+            _builder.append("page template");
+          }
+        }
+        {
+          if (checkTableHeaderBelonging) {
+            _builder.append("table header");
+          }
+        }
+        _builder.append(" definition");
+        this.error(_builder.toString(), datamartTableAttribute, ReportDSLPackage.Literals.DATAMART_TABLE_ATTRIBUTE__COLUMN);
       }
     } else {
       while (((eObj != null) && (!(eObj instanceof DatamartTableDetail)))) {
@@ -78,6 +99,38 @@
   }
   
   @Check
+  public void checkDatamartTableAttribute(final DatamartTableAttribute attribute) {
+    EObject eObj = attribute.eContainer();
+    while (((eObj != null) && (!(eObj instanceof DatamartTableDetail)))) {
+      eObj = eObj.eContainer();
+    }
+    if ((eObj instanceof DatamartTableDetail)) {
+      DatamartTableDetail datamartTableDetail = ((DatamartTableDetail) eObj);
+      Style _style = null;
+      if (attribute!=null) {
+        _style=attribute.getStyle();
+      }
+      String _name = null;
+      if (_style!=null) {
+        _name=_style.getName();
+      }
+      Style _style_1 = null;
+      if (datamartTableDetail!=null) {
+        _style_1=datamartTableDetail.getStyle();
+      }
+      String _name_1 = null;
+      if (_style_1!=null) {
+        _name_1=_style_1.getName();
+      }
+      boolean _equals = _name.equals(_name_1);
+      if (_equals) {
+        this.error("Avoid the use of the same style in table attribute as in table detail.", datamartTableDetail, ReportDSLPackage.Literals.WITH_STYLE__STYLE);
+        this.error("Avoid the use of the same style in table attribute as in table detail.", attribute, ReportDSLPackage.Literals.WITH_STYLE__STYLE);
+      }
+    }
+  }
+  
+  @Check
   public void checkDatamartTableGroup(final DatamartTableGroup datamartTableGroup) {
     boolean _checkPageTemplateBelonging = this.checkPageTemplateBelonging(datamartTableGroup);
     if (_checkPageTemplateBelonging) {
@@ -146,10 +199,84 @@
   }
   
   @Check
+  public void checkText(final Text text) {
+    boolean _checkTableHeaderBelonging = this.checkTableHeaderBelonging(text);
+    if (_checkTableHeaderBelonging) {
+      StringConcatenation _builder = new StringConcatenation();
+      _builder.append("A text is not allowed in a table header definition");
+      this.error(_builder.toString(), text.eContainer(), ReportDSLPackage.Literals.CONTAINER__ELEMENTS);
+    }
+  }
+  
+  @Check
+  public void checkAutoText(final AutoText text) {
+    boolean _checkTableHeaderBelonging = this.checkTableHeaderBelonging(text);
+    if (_checkTableHeaderBelonging) {
+      StringConcatenation _builder = new StringConcatenation();
+      _builder.append("A auto text is not allowed in a table header definition");
+      this.error(_builder.toString(), text.eContainer(), ReportDSLPackage.Literals.CONTAINER__ELEMENTS);
+    }
+  }
+  
+  @Check
+  public void checkTitle(final Title title) {
+    boolean _checkTableHeaderBelonging = this.checkTableHeaderBelonging(title);
+    if (_checkTableHeaderBelonging) {
+      StringConcatenation _builder = new StringConcatenation();
+      _builder.append("A title is not allowed in a table header definition");
+      this.error(_builder.toString(), title.eContainer(), ReportDSLPackage.Literals.CONTAINER__ELEMENTS);
+    }
+  }
+  
+  @Check
+  public void checkSubTitle(final SubTitle title) {
+    boolean _checkTableHeaderBelonging = this.checkTableHeaderBelonging(title);
+    if (_checkTableHeaderBelonging) {
+      StringConcatenation _builder = new StringConcatenation();
+      _builder.append("A sub title is not allowed in a table header definition");
+      this.error(_builder.toString(), title.eContainer(), ReportDSLPackage.Literals.CONTAINER__ELEMENTS);
+    }
+  }
+  
+  @Check
+  public void checkSubSubTitle(final SubSubTitle title) {
+    boolean _checkTableHeaderBelonging = this.checkTableHeaderBelonging(title);
+    if (_checkTableHeaderBelonging) {
+      StringConcatenation _builder = new StringConcatenation();
+      _builder.append("A sub sub title is not allowed in a table header definition");
+      this.error(_builder.toString(), title.eContainer(), ReportDSLPackage.Literals.CONTAINER__ELEMENTS);
+    }
+  }
+  
+  @Check
+  public void checkImage(final Image image) {
+    boolean _checkTableHeaderBelonging = this.checkTableHeaderBelonging(image);
+    if (_checkTableHeaderBelonging) {
+      StringConcatenation _builder = new StringConcatenation();
+      _builder.append("A image is not allowed in a table header definition");
+      this.error(_builder.toString(), image.eContainer(), ReportDSLPackage.Literals.CONTAINER__ELEMENTS);
+    }
+  }
+  
+  @Check
   public void checkTableAggregation(final TableAggregation aggregation) {
-    boolean _checkPageTemplateBelonging = this.checkPageTemplateBelonging(aggregation);
-    if (_checkPageTemplateBelonging) {
-      this.error("A table aggregation is not allowed in a page template definition", aggregation, ReportDSLPackage.Literals.TABLE_AGGREGATION__ON_GROUP);
+    final boolean checkPageTemplateBelonging = this.checkPageTemplateBelonging(aggregation);
+    final boolean checkTableHeaderBelonging = this.checkTableHeaderBelonging(aggregation);
+    if ((checkPageTemplateBelonging || checkTableHeaderBelonging)) {
+      StringConcatenation _builder = new StringConcatenation();
+      _builder.append("A table aggregation is not allowed in a ");
+      {
+        if (checkPageTemplateBelonging) {
+          _builder.append("page template");
+        }
+      }
+      {
+        if (checkTableHeaderBelonging) {
+          _builder.append("table header");
+        }
+      }
+      _builder.append(" definition");
+      this.error(_builder.toString(), aggregation, ReportDSLPackage.Literals.TABLE_AGGREGATION__ON_GROUP);
     }
   }
   
@@ -234,6 +361,18 @@
     return false;
   }
   
+  private boolean checkTableHeaderBelonging(final EObject attribute) {
+    EObject eObj = attribute.eContainer();
+    while (((eObj != null) && (!(eObj instanceof DatamartTableHeader)))) {
+      eObj = eObj.eContainer();
+    }
+    if ((eObj instanceof DatamartTableHeader)) {
+      EObject _eContainer = ((DatamartTableHeader)eObj).eContainer();
+      return (_eContainer instanceof DatamartTable);
+    }
+    return false;
+  }
+  
   private boolean checkPageHeaderBelonging(final EObject attribute) {
     EObject eObj = attribute.eContainer();
     while (((eObj != null) && (!(eObj instanceof PageHeader)))) {